Word2vec 和 GloVe 都无法处理好词的变形问题,例如英文中的 study、studies 以及 studied 都表示一个意思,但是这两种方法都将这些相同意思不同形态的词当成不同的词,这就会带来信息的冗余或者丢失。
对此,Facebook 研究院提出了 FastText 的模型,目的就是对词的变形进行建模:
下面我们对 Word2vec、GloVe 以及 FastText 进行一个对比:
- 在 NLP 具体任务中应用的效果来看:效果最差的是 CBOW;其次是 Skip-gram(GloVe 跟 Skip-gram 差不多);效果最好的是 FastText。
- FastText 能很好地处理 OOV 问题,并能很好地对词的变形进行建模,对词变形非常丰富的德语、西班牙语等语言都非常有效;
- 从效率(训练时间)上来看:CBOW 的效率是最高的,其次是 GloVe;之后是 Skip-gram;而最低的是 FastText。