常见词向量模型
矩阵分解
是种全局方法,非常耗时
矩阵的大小跟语料库的大小是一致的
非常依赖语料库,更新不方便,理论上还需要重新训练
可用于推荐算法上
SkipGram 模型
是种局部方法,非常高效,对文本特征把握好
原始目标函数是非常难优化
经常采用负采样 negative sampling 的方式来解决
SkipGram 同样可以应用在推荐系统中
Glove
Glove 是在矩阵分解与 SkipGram 的结合,拥有两者的优势
可以记录两个单词之间共同出现的频次,考虑全局,跟矩阵分解相似
可以设定窗口的大小,考虑局部,与 SkipGram 相似
使用加权的最小二乘误差
高斯嵌入
如果在语料库中有重复的单词
例如 S=["你", "吃饭", "好", "好", "好快"]
在这种情况下,出现次数多的单词的可靠性会更强,更稳定,出现次数少的单词的不确定性更高。因为高斯分布是通过标准差,方差来计算的。因此通过高斯嵌入不但可以得到词向量,还能知道可信性的高低。
静态词向量
以上采用的方法都是静态词向量 Static embedding,静态词向量意思是一个单词对应的是一个词向量,不论这个单词在句子中表达的是什么意思。
例如,“我昨天吃苹果了。” “我去年用的是苹果手机。”在这两个句子中的“苹果”,明显是代表着不同的含义。因此,在这种情况下,静态词向量会暴露出极大的劣势。
版权声明: 本文为 InfoQ 作者【Qien Z.】的原创文章。
原文链接:【http://xie.infoq.cn/article/e4f7b39b8dfddcc68367c0c88】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论