词向量、词嵌入(word vector,word embedding)也称分布式表示(distributed representation),想必任何一个做NLP的研究者都不陌生。如今词向量已经被广泛应用于各自NLP任务中,研究者们也提出了不少产生词向量的模型并开发成实用的工具供大家使用。在使用这些工具产生词向量时,不同的训练数据,参数,模型等都会对产生的词向量有所影响,那么如何产生好的词向量对于工程来说很重要。中科院自动化所的来斯惟博士对此进行了详细的研究。本篇也是我阅读来博士发表的论文《How to Generate a Good Word Embedding?》和其博士论文的笔记,并结合自己平时实验的经验总结出来的,希望对大家在训练词向量时有所帮助。
1 词的表示技术
在来博士的博士论文中概述了现有的主要词表示技术,我在此也先简单进行介绍。
1.1 独热表示技术(早期传统的表示技术)
1.2 分布表示技术(与独热表示技术相对应,基于分布式假说[即上下文相似的词,其语义也相似],把信息分布式地存储在向量的各个维度中的表示方法,具有紧密低维,捕捉了句法、语义信息特点)
基于矩阵的分布表示
基于聚类的分布表示
通过聚类手段构建词与其上下文之间的关系。代表模型:布朗聚类(Brown clustering)。
基于神经网络的分布表示(这是我们下面要研究的主要方法,在此介绍几种代表性模型)
神经网络语言模型(NNLM)
Log双线性语言模型(LBL)
C&W模型
Continuous Bag-of-Words(CBOW) Skip-gram(SG)
Word2vec工具中的两个模型
Order模型
在上面CBOW模型的在输入层是直接进行求和,这样并没有考虑词之前的序列顺序,所以来博士把直接求和改为了词向量之间的顺序拼接来保存序列顺序信息。
模型理论比较
2各种模型的实验对比分析
整个实验是围绕下面几个问题进行的:
评价任务
词向量的语言学特性
词向量用作特征
词向量用作神经网络模型的初始值
实验结果(红色字体为博主自己总结,黑色字体为论文结论)
模型比较
语料影响
规模和领域的权衡
参数选择
迭代次数
词向量维度
3 总结
原文 https://www.cnblogs.com/robert-dlut/p/5617466.html