当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R textrecipes step_text_normalization 字符变量的标准化


step_text_normalization() 创建将对字符变量执行 Unicode 规范化的配方步骤的规范。

用法

step_text_normalization(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  columns = NULL,
  normalization_form = "nfc",
  skip = FALSE,
  id = rand_id("text_normalization")
)

参数

recipe

一个recipe 对象。该步骤将添加到此配方的操作序列中。

...

一个或多个选择器函数用于选择受该步骤影响的变量。有关更多详细信息,请参阅recipes::selections()

role

由于没有创建新变量,因此此步骤未使用。

trained

指示预处理数量是否已估计的逻辑。

columns

将由 terms 参数(最终)填充的变量名称字符串。在 recipes::prep.recipe() 训练该步骤之前,这是 NULL

normalization_form

确定 Unicode 规范化的单个字符串。必须是 "nfc"、"nfd"、"nfkd"、"nfkc" 或 "nfkc_casefold" 之一。默认为"nfc"。有关更多详细信息,请参阅stringi::stri_trans_nfc()

skip

一个合乎逻辑的。当recipes::bake.recipe() 烘焙食谱时是否应该跳过此步骤?虽然所有操作都是在 recipes::prep.recipe() 运行时烘焙的,但某些操作可能无法对新数据进行(例如处理结果变量)。使用 skip = FALSE 时应小心。

id

该步骤特有的字符串,用于标识它。

recipe 的更新版本,其中新步骤添加到现有步骤(如果有)的序列中。

整理

当您tidy()此步骤时,会出现一个包含列terms(选择的选择器或变量)和normalization_form(规范化类型)的小标题。

箱重

底层操作不允许使用案例权重。

也可以看看

step_texthash() 用于特征哈希。

例子

library(recipes)

sample_data <- tibble(text = c("sch\U00f6n", "scho\U0308n"))

rec <- recipe(~., data = sample_data) %>%
  step_text_normalization(text)

prepped <- rec %>%
  prep()

bake(prepped, new_data = NULL, text) %>%
  slice(1:2)
#> # A tibble: 2 × 1
#>   text 
#>   <fct>
#> 1 schön
#> 2 schön

bake(prepped, new_data = NULL) %>%
  slice(2) %>%
  pull(text)
#> [1] schön
#> Levels: schön

tidy(rec, number = 1)
#> # A tibble: 1 × 3
#>   terms normalization_form id                      
#>   <chr> <chr>              <chr>                   
#> 1 text  NA                 text_normalization_j8gw4
tidy(prepped, number = 1)
#> # A tibble: 1 × 3
#>   terms normalization_form id                      
#>   <chr> <chr>              <chr>                   
#> 1 text  nfc                text_normalization_j8gw4

相关用法


注:本文由纯净天空筛选整理自大神的英文原创作品 Normalization of Character Variables。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。