Word2vec 技术专题简介-冯金伟博客园

简介

机器学习与数据挖掘问题分类聚类回归异常检测数据清洗自动机器学习关联规则强化学习结构预测(英语:Structured prediction)特征工程特征学习线上机器学习无监督学习半监督学习排序学习(英语:Learning to rank)语法归纳(英语:Grammar induction)监督式学习(分类 · 回归)决策树集成(装袋,提升,随机森林)k-NN线性回归朴素贝叶斯神经网络逻辑回归感知器支持向量机(SVM)相关向量机(RVM)聚类BIRCH层次k-平均期望最大化(EM)DBSCANOPTICS均值飘移(英语:Mean shift)降维因素分析CCAICALDANMF(英语:Non-negative matrix factorization)PCALASSOt-SNE(英语:t-distributed stochastic neighbor embedding)结构预测(英语:Structured prediction)概率图模型(贝叶斯网络,CRF, HMM)异常检测k-NN局部离群因子(英语:Local outlier factor)神经网络自编码深度学习多层感知机RNN受限玻尔兹曼机SOMCNNTransformer模型强化学习Q学习SARSA时序差分学习深度强化学习理论偏差/方差困境(英语:Bias–variance tradeoff)计算学习理论(英语:Computational learning theory)经验风险最小化PAC学习(英语:Probably approximately correct learning)统计学习VC理论研讨会NeurIPSICML(英语:International_Conference_on_Machine_Learning)ICLR查论编Word2vec是一群用来产生词向量的相关模型。这些模型为浅层双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可以把每个词映射到一个向量,来表示词与词之间的关系。该向量为神经网络的隐藏层。Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

Skip-grams和CBOW

CBOW把一个词从词窗剔除。在CBOW下给定.mw-parser-output .serif{font-family:Times,serif}n词围绕着词

w,word2vec预测一个句子中其中一个缺漏的词

c,即以几率 p ( c | w ) {displaystyle p(c|w)} 来表示。相反地,Skip-gram给定词窗中的文本,预测当前的词 p ( w | c ) {displaystyle p(w|c)} 。

延伸

Word2vec用来建构整份文件(而分独立的词)的延伸应用已被提出,该延伸称为paragraph2vec或doc2vec,并且用C、Python和 Java/Scala实做成工具(参考下方)。Java和Python也支援推断文件嵌入于未观测的文件。

分析

对word2vec框架为何做词嵌入如此成功知之甚少,约阿夫·哥德堡(Yoav Goldberg)和欧莫·列维(Omer Levy)指出word2vec的功能导致相似文本拥有相似的嵌入(用余弦相似性计算)并且和约翰·鲁伯特·弗斯的分布假说(英语:Distributional semantics)有关。

实作

C (页面存档备份,存于互联网档案馆)

Java/Scala

Python (页面存档备份,存于互联网档案馆)

Python (页面存档备份,存于互联网档案馆)