step_sequence_onehot()
創建配方步驟的規範,該步驟將采用字符串並按位置對每個字符進行一次熱編碼。
用法
step_sequence_onehot(
recipe,
...,
role = "predictor",
trained = FALSE,
columns = NULL,
sequence_length = 100,
padding = "pre",
truncating = "pre",
vocabulary = NULL,
prefix = "seq1hot",
keep_original_cols = FALSE,
skip = FALSE,
id = rand_id("sequence_onehot")
)
來源
https://papers.nips.cc/paper/5782-character-level-convolutional-networks-for-text-classification.pdf
參數
- recipe
-
一個recipe 對象。該步驟將添加到此配方的操作序列中。
- ...
-
一個或多個選擇器函數用於選擇受該步驟影響的變量。有關更多詳細信息,請參閱
recipes::selections()
。 - role
-
對於此步驟創建的模型項,應為它們分配什麽分析角色?默認情況下,該函數假定由原始變量創建的新列將用作模型中的預測變量。
- trained
-
指示預處理數量是否已估計的邏輯。
- columns
-
將由
terms
參數(最終)填充的變量名稱字符串。在recipes::prep.recipe()
訓練該步驟之前,這是NULL
。 - sequence_length
-
一個數字,在丟棄之前要保留的字符數。默認為 100。
- padding
-
'pre' 或 'post',在每個序列之前或之後填充。默認為'pre'。
- truncating
-
'pre' 或'post',從序列開頭或結尾處刪除大於sequence_length 的值。默認值也是'pre'。
- vocabulary
-
字符向量,要映射到整數的字符。不在詞匯表中的字符將被編碼為 0。默認為
letters
。 - prefix
-
生成的列名稱的前綴,默認為"seq1hot"。
- keep_original_cols
-
將原始變量保留在輸出中的邏輯。默認為
FALSE
。 - skip
-
一個合乎邏輯的。當
recipes::bake.recipe()
烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在recipes::prep.recipe()
運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = FALSE
時應小心。 - id
-
該步驟特有的字符串,用於標識它。
細節
該字符串將由 sequence_length 參數限製,短於 sequence_length 的字符串將用空字符填充。編碼將為詞匯表中的每個字符分配一個整數,並進行相應的編碼。不在詞匯表中的字符將被編碼為 0。
整理
當您tidy()
此步驟時,會出現一個包含列terms
(所選選擇器或變量)、vocabulary
(索引)和token
(與索引對應的文本)的小標題。
也可以看看
來自字符的數字變量的其他步驟:step_dummy_hash()
、step_textfeature()
例子
library(recipes)
library(modeldata)
data(tate_text)
tate_rec <- recipe(~medium, data = tate_text) %>%
step_tokenize(medium) %>%
step_tokenfilter(medium) %>%
step_sequence_onehot(medium)
tate_obj <- tate_rec %>%
prep()
bake(tate_obj, new_data = NULL)
#> # A tibble: 4,284 × 100
#> seq1hot_medium_1 seq1hot_medium_2 seq1hot_medium_3 seq1hot_medium_4
#> <int> <int> <int> <int>
#> 1 0 0 0 0
#> 2 0 0 0 0
#> 3 0 0 0 0
#> 4 0 0 0 0
#> 5 0 0 0 0
#> 6 0 0 0 0
#> 7 0 0 0 0
#> 8 0 0 0 0
#> 9 0 0 0 0
#> 10 0 0 0 0
#> # ℹ 4,274 more rows
#> # ℹ 96 more variables: seq1hot_medium_5 <int>, seq1hot_medium_6 <int>,
#> # seq1hot_medium_7 <int>, seq1hot_medium_8 <int>,
#> # seq1hot_medium_9 <int>, seq1hot_medium_10 <int>,
#> # seq1hot_medium_11 <int>, seq1hot_medium_12 <int>,
#> # seq1hot_medium_13 <int>, seq1hot_medium_14 <int>,
#> # seq1hot_medium_15 <int>, seq1hot_medium_16 <int>, …
tidy(tate_rec, number = 3)
#> # A tibble: 1 × 4
#> terms vocabulary token id
#> <chr> <chr> <int> <chr>
#> 1 medium NA NA sequence_onehot_bH08q
tidy(tate_obj, number = 3)
#> # A tibble: 100 × 4
#> terms vocabulary token id
#> <chr> <int> <chr> <chr>
#> 1 medium 1 16 sequence_onehot_bH08q
#> 2 medium 2 2 sequence_onehot_bH08q
#> 3 medium 3 3 sequence_onehot_bH08q
#> 4 medium 4 35 sequence_onehot_bH08q
#> 5 medium 5 4 sequence_onehot_bH08q
#> 6 medium 6 5 sequence_onehot_bH08q
#> 7 medium 7 6 sequence_onehot_bH08q
#> 8 medium 8 8 sequence_onehot_bH08q
#> 9 medium 9 acrylic sequence_onehot_bH08q
#> 10 medium 10 aluminium sequence_onehot_bH08q
#> # ℹ 90 more rows
相關用法
- R textrecipes step_stem 令牌變量的詞幹
- R textrecipes step_stopwords 過濾標記變量的停用詞
- R textrecipes step_lemma 標記變量的詞形還原
- R textrecipes step_tokenize_wordpiece 字符變量的Wordpiece標記化
- R textrecipes step_tokenfilter 根據詞頻過濾標記
- R textrecipes step_text_normalization 字符變量的標準化
- R textrecipes step_clean_names 幹淨的變量名稱
- R textrecipes step_tokenize_sentencepiece 字符變量的句子標記化
- R textrecipes step_tokenmerge 將多個令牌變量合並為一個
- R textrecipes step_tf 代幣的使用頻率
- R textrecipes step_tokenize 字符變量的標記化
- R textrecipes step_tfidf 詞頻-令牌的逆文檔頻率
- R textrecipes step_word_embeddings 令牌的預訓練詞嵌入
- R textrecipes step_textfeature 計算文本特征集
- R textrecipes step_texthash 代幣的特征哈希
- R textrecipes step_ngram 從標記變量生成 n-gram
- R textrecipes step_pos_filter 令牌變量的語音過濾部分
- R textrecipes step_untokenize 令牌變量的取消令牌化
- R textrecipes step_lda 計算代幣的LDA維度估計
- R textrecipes step_tokenize_bpe 字符變量的 BPE 標記化
- R textrecipes step_clean_levels 清晰的分類級別
- R textrecipes step_dummy_hash 通過特征哈希的指示變量
- R textrecipes show_tokens 顯示配方的令牌輸出
- R textrecipes tokenlist 創建令牌對象
- R update_PACKAGES 更新現有的 PACKAGES 文件
注:本文由純淨天空篩選整理自等大神的英文原創作品 Positional One-Hot encoding of Tokens。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。