文章目錄
- CS224n - Subword Model
-
- Character-Level Models
- Sub-word models
-
- Byte Pair Encoding
- Wordpiece/Sentencepiece model
- Character-level to build word-level
-
- Hybrid NMT
- FastText embeddings
CS224n - Subword Model
Character-Level Models
- 詞嵌入可以由字元嵌入組成
- 為未知單詞生成嵌入
- 相似的拼寫共享相似的嵌入
- 解決OOV問題
- 連續語言可以作為字元處理:即所有的語言處理均建立在字元序列上,不考慮 word-level
- 這兩種方法都被證明是非常成功的
Sub-word models
- 與word級模型相同的架構
- 但是使用更小的單元:“word pieces”
- 混合架構
- 主模型使用單詞,其他使用字元級
Byte Pair Encoding
- BPE 并未深度學習的有關算法,但已成為标準且成功表示 pieces of words 的方法,可以獲得一個 有限的詞典與無限且有效的詞彙表。
- 分詞算法 word segmentation
- 雖然做得很簡單,有點像是自下而上的短序列聚類
- 将資料中的所有的Unicode字元組成一個unigram的詞典
- 最常⻅的 ngram pairs 視為 一個新的 ngram
Wordpiece/Sentencepiece model
- 不使用字元的 n-gram count,而是使用貪心近似來最大化語言模型的對數似然函數值,選擇對應 的pieces
- 添加最大限度地減少困惑的n-gram
- Wordpiece模型标記内部單詞
- Sentencepiece模型使用原始文本
- 空格被保留為特殊标記(_),并正常分組
- 您可以通過将片段連接配接起來并将它們重新編碼到空格中,進而在末尾将内容反轉
- BERT 使用了 wordpiece 模型的一個變體
- (相對)在詞彙表中的常用詞
- 其他單詞由wordpieces組成
Character-level to build word-level
Hybrid NMT
- Abest-of-both-worlds architecture
- 翻譯大部分是單詞級别的
- 隻在需要的時候進入字元級别
- 使用一個複制機制,試圖填充罕⻅的單詞,産生了超過 2 BLEU的改進
FastText embeddings
用子單詞資訊豐富單詞向量
- 目标:下一代高效的類似于word2vecd的單詞表示庫,但更适合于具有大量形态學的罕⻅單詞和 語言
- 帶有字元n-grams的 w2v 的 skip-gram模型的擴充
- 将單詞表示為用邊界符号和整詞擴充的字元n-grams
- 字首、字尾和整個單詞都是特殊的
- 将word表示為這些表示的和。上下文單詞得分
- S ( w , c ) = ∑ g ∈ G ( w ) Z g T V C S(w,c) = \sum{g\in G(w)Z_g^TV_C} S(w,c)=∑g∈G(w)ZgTVC