文章目录
CS224n - Subword ModelCharacter-Level ModelsSub-word modelsByte Pair EncodingWordpiece/Sentencepiece model
Character-level to build word-levelHybrid 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