FastText-考虑子词信息

 

本文为 A Visual Guide to FastText Word Embeddings (amitness.com)的翻译版

如何让你的词嵌入模型能理解这几个词abandon,-s,-ed,-ing的意思是类似的呢?

1. why 要提出FastText: Word2Vec的局限

不能处理训练中未出现的词(Out of Vocabulary, OOV)

​ 例如:tensor,flow 已在Word2Vec的词典出现过,但tensorflow未出现过→OOV error

无法处理形态相同的词(morphology),即词根相同的词

​ 对于具有相同词根(eat)的词,eaten,eating,eats,他们之间较难同时出现,不能实现参数共享,即语义类似。因为实际中把他们都当作独一无二的词进行训练

2. FastText的提出

直觉(intuition):借鉴n-gram的思想,考虑字符级别的信息

==使用单词的内部字符信息来改善Word2Vec的语义表示==

2.1 sub-word的产生

step1 给定一个词,在词的首尾加上<>表示开始与结束

step2 设定n-gram的滑动窗口大小n=3(可以为其它大小),对该词进行滑动

step3 得到该单词一系列n-grams

当n=,3,4,5,6时所得到的n-grams列表

问题:这样会存在大量的唯一的n-grams

2.2 skip-gram with negative sampling:

以一个案例来理解训练过程,假设有这样一句话:eating是中心词,am与food是周围词,给定中心词预测周围词

step1 获取中心词的embedding: 将中心词与其产生的sub-words向量相加(其它合并方式会不会好一点?)获得中心词的向量$w_{center}$

step2 获取实际周围词的嵌入(没有做sub-words生成)向量$w_{am},w_{food}$与$w_{center}$

step3 获取negative samples 词:随机采样,对于一个中心词,采样5个nagative samples,比如这里其中两个词为pairs,earth,即$w_{pairs},w_{earth}$

step4 根据loss更新参数:$NEG=(w_{am},w_{food}),POS=(w_{pairs},w_{earth})$与$w_{center}$做内积运算并sigmoid,使得NEG词与center词距离越来越远,POS与center距离越来越近

3. FastText的优劣势分析

  • 对于形态丰富的语言(如捷克语和德语),FastText显著提高了句法词类比任务的性能,特别是当训练语料库的规模较小时。
  • 与Word2Vec相比,FastText降低了语义类比任务的性能,随着训练语料库规模的增加,两者之间的差异越来越小。
  • FastText比常规的skipgram慢1.5倍,因为增加了n-grams的开销。
  • 在单词相似度任务中,使用带有字符ngrams的sub-word信息比CBOW和skip-gram基线具有更好的性能。用子词求和的方法表示OOD词比用空向量表示具有更好的性能

4. 思考

与字符级的命名实体识别任务思想上类似

FastText单词→字母

实体词→实体字

5.实践

训练自己的嵌入

可以使用官方CLI工具

https://fasttext.cc/docs/en/unsupervised-tutorial.html

或使用gensim的fasttext

https://radimrehurek.com/gensim/auto_examples/tutorials/run_fasttext.html

训练好的词向量

157种语言在Common Crawl和Wikipedia的预训练词向量:

https://fasttext.cc/docs/en/crawl-vectors.html,

英文词向量:

https://fasttext.cc/docs/en/english-vectors.html。

参考文献

[1] A Visual Guide to FastText Word Embeddings (amitness.com)

[2] FastText词嵌入的可视化指南 (qq.com)

[3] Bojanowski P, Grave E, Joulin A, et al. Enriching word vectors with subword information[J]. Transactions of the Association for Computational Linguistics, 2017, 5: 135-146.