前言 词向量技术是将自然语言中的词转化为稠密得到向量,语义相似的词会有相似的向量表示。生成词向量的方法从一开始基于统计学(共现矩阵、SVD分解)到基于神经网络的语言模型,这里总结一下比较经典的语言模型:word2vec、glove、ELMo、BERT。 其中BERT是Google2018年发表的模型,在11个经典的NLP任务中测试效果超越之前的最佳模型,并且为下游任务设计了简单至极的接口,改变了以前花哨的Attention、Stack等堆叠结构的玩法,应该属于NLP领域里里程碑式的贡献。
word2vec word2vec来源于2013年的论文《Efficient Estimation of Word Representation in Vector Space》,他的核心思想是通过词的上下文得到词的向量化表示,有两种方法:CBOW(通过附近词预测中心词)、Skip-gram(通过中心词预测附近的词):
glove word2vec只考虑了词的局部信息,没有考虑到词与局部窗口外词的联系,glove利用共现矩阵,同时考虑了局部信息和整体信息。来自论文《Glove:Global vectors for word representation》。
ELMo ELMo来自论文《Deep contextualized word representations》,它的官网有开源的工具:ELMo官网 word2vec和glove存在一个问题,词在不同的语境下其实有不同的含义,而这两个模型词在不同的语境下
|