天天看點

CS224n - Subword ModelCS224n - Subword Model

文章目錄

  • 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)ZgT​VC​