當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R textrecipes step_stopwords 過濾標記變量的停用詞


step_stopwords() 創建配方步驟的規範,該步驟將過濾 token 變量中的停用詞。

用法

step_stopwords(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  columns = NULL,
  language = "en",
  keep = FALSE,
  stopword_source = "snowball",
  custom_stopword_source = NULL,
  skip = FALSE,
  id = rand_id("stopwords")
)

參數

recipe

一個recipe 對象。該步驟將添加到此配方的操作序列中。

...

一個或多個選擇器函數用於選擇受該步驟影響的變量。有關更多詳細信息,請參閱recipes::selections()

role

由於沒有創建新變量,因此此步驟未使用。

trained

指示預處理數量是否已估計的邏輯。

columns

將由 terms 參數(最終)填充的變量名稱字符串。在 recipes::prep.recipe() 訓練該步驟之前,這是 NULL

language

根據 ISO 639-1 編碼方案指示停用詞語言的字符。

keep

一個合乎邏輯的。指定是保留停用詞還是丟棄它們。

stopword_source

指示停用詞源的字符,如 stopwords::stopwords_getsources 中列出的。

custom_stopword_source

一個字符向量,用於指示滿足用戶特定問題的自定義單詞列表。

skip

一個合乎邏輯的。當recipes::bake.recipe() 烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在 recipes::prep.recipe() 運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用 skip = FALSE 時應小心。

id

該步驟特有的字符串,用於標識它。

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

細節

停用詞是有時在自然語言處理任務之前被刪除的單詞。雖然停用詞通常是指該語言中最常見的單詞,但沒有通用的停用詞列表。

參數 custom_stopword_source 允許您傳遞字符向量進行過濾。使用 keep 參數,可以指定保留單詞而不是刪除單詞,從而允許您使用這兩個參數的組合來選擇單詞。

整理

當您tidy()此步驟時,會出現一個包含列terms(選擇的選擇器或變量)、value(停用詞列表名稱)和keep(是否刪除或保留停用詞)的小標題。

箱重

底層操作不允許使用案例權重。

也可以看看

step_tokenize() 將字符轉換為tokens

令牌修改的其他步驟: step_lemma()step_ngram()step_pos_filter()step_stem()step_tokenfilter()step_tokenmerge()

例子

library(recipes)
library(modeldata)
data(tate_text)
tate_rec <- recipe(~., data = tate_text) %>%
  step_tokenize(medium) %>%
  step_stopwords(medium)

tate_obj <- tate_rec %>%
  prep()

bake(tate_obj, new_data = NULL, medium) %>%
  slice(1:2)
#> # A tibble: 2 × 1
#>       medium
#>    <tknlist>
#> 1 [6 tokens]
#> 2 [2 tokens]

bake(tate_obj, new_data = NULL) %>%
  slice(2) %>%
  pull(medium)
#> <textrecipes_tokenlist[1]>
#> [1] [2 tokens]
#> # Unique Tokens: 2

tidy(tate_rec, number = 2)
#> # A tibble: 1 × 4
#>   terms  value keep  id             
#>   <chr>  <chr> <lgl> <chr>          
#> 1 medium NA    NA    stopwords_Mn2FO
tidy(tate_obj, number = 2)
#> # A tibble: 1 × 4
#>   terms  value    keep  id             
#>   <chr>  <chr>    <lgl> <chr>          
#> 1 medium snowball FALSE stopwords_Mn2FO

# With a custom stop words list

tate_rec <- recipe(~., data = tate_text) %>%
  step_tokenize(medium) %>%
  step_stopwords(medium, custom_stopword_source = c("twice", "upon"))
tate_obj <- tate_rec %>%
  prep(traimomg = tate_text)

bake(tate_obj, new_data = NULL) %>%
  slice(2) %>%
  pull(medium)
#> <textrecipes_tokenlist[1]>
#> [1] [3 tokens]
#> # Unique Tokens: 3
源代碼:R/stopwords.R

相關用法


注:本文由純淨天空篩選整理自大神的英文原創作品 Filtering of Stop Words for Tokens Variables。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。