Machine learning 什么';手套和word2vec的主要区别是什么?

Machine learning 什么';手套和word2vec的主要区别是什么?,machine-learning,nlp,word2vec,word-embedding,glove,Machine Learning,Nlp,Word2vec,Word Embedding,Glove,word2vec和手套有什么区别? 这两种方法都可以训练单词嵌入吗?如果是,那么我们如何使用这两种方法呢?是的,它们都是训练单词嵌入的方法。它们都提供相同的核心输出:每个字一个向量,向量以有用的方式排列。也就是说,向量的相对距离/方向大致符合人类对整体词关联性的看法,甚至符合某些显著语义维度上的关联性 Word2Vec通过反复迭代训练语料库,对神经网络进行增量“稀疏”训练 手套工作,以适应向量模型一个巨大的单词共现矩阵建立从语料库 使用相同的语料库,创建相同维度的词向量,并对元优化给予同样的关注

word2vec和手套有什么区别?
这两种方法都可以训练单词嵌入吗?如果是,那么我们如何使用这两种方法呢?

是的,它们都是训练单词嵌入的方法。它们都提供相同的核心输出:每个字一个向量,向量以有用的方式排列。也就是说,向量的相对距离/方向大致符合人类对整体词关联性的看法,甚至符合某些显著语义维度上的关联性

Word2Vec通过反复迭代训练语料库,对神经网络进行增量“稀疏”训练

手套工作,以适应向量模型一个巨大的单词共现矩阵建立从语料库

使用相同的语料库,创建相同维度的词向量,并对元优化给予同样的关注,它们生成的词向量的质量将大致相似。(当我看到有人自信地宣称其中一种算法肯定更好时,他们经常将一种算法的一些调整/最佳情况使用与另一种算法的一些粗略/任意默认值进行比较。)

我更熟悉Word2Vec,我的印象是Word2Vec的训练可以更好地扩展到更大的词汇表,并且有更多可调整的设置,如果您有时间,可以根据您的特定应用程序调整您自己训练的单词向量。(例如,使用小窗口与大窗口参数会对单词的最近邻是“替换词”还是在同一主题中使用的更普遍的单词产生很大影响。不同的下游应用程序可能更喜欢以某种方式倾斜的单词向量。)

相反,手套的一些支持者吹嘘它在不需要元参数优化的情况下表现得相当好


除非将它们相互比较,否则您可能不会同时使用这两种方法,因为它们在单词向量的任何下游应用程序中都扮演着相同的角色。

Word2vec是一种预测模型:通过尝试预测给定上下文(方法)的目标单词或来自目标(方法)的上下文单词进行训练。它使用可训练的嵌入权重将单词映射到相应的嵌入项,用于帮助模型进行预测。训练模型的损失函数与模型预测的好坏有关,因此当模型训练以做出更好的预测时,它将导致更好的嵌入

手套基于单词上下文矩阵的矩阵分解技术。它首先构建一个包含(单词x上下文)共现信息的大型矩阵,即对于每个“单词”(行),您可以计算我们在大型语料库的某些“上下文”(列)中看到该单词的频率(矩阵值)。“上下文”的数量将是非常大的,因为它的大小基本上是组合的。所以我们将这个矩阵分解,得到一个低维(单词x特征)矩阵,其中每一行现在为每个单词生成一个向量表示。一般来说,这是通过最小化“重建损失”来实现的。这种损失试图找到能够解释高维数据中大部分差异的低维表示

在手套出现之前,单词表示的算法可以分为两大类:基于统计的(LDA)和基于学习的(Word2Vec)。LDA在共现矩阵上通过奇异值分解(SVD)生成低维词向量,而Word2Vec采用三层神经网络来完成中心上下文词对分类任务,其中词向量只是副产品

Word2Vec最令人惊讶的一点是,相似的单词都位于向量空间中,对单词向量的算术运算可以构成语义或句法关系,例如,“国王”-“男人”+“女人”->“女王”或“更好”-“好”+“坏”->“更糟”。然而,LDA不能在向量空间中保持这种线性关系

手套的动机是迫使模型明确地基于共现矩阵学习这种线性关系。本质上,手套是一个带有加权最小二乘目标的对数双线性模型。显然,它是一种基于统计矩阵的机器学习的混合方法,这是GloVe和Word2Vec的一般区别

如果我们深入研究手套中方程的推导过程,我们会发现直觉中固有的差异。GloVe观察到,单词共现概率的比率有可能编码某种形式的意义。以StordFordNLP()为例,从词汇中考虑目标词ICE和蒸汽的共现概率:

  • 正如人们所料,冰co在固体中比在固体中更频繁地出现 与气体相比,蒸汽co与气体发生的频率更高 它与固体有关
  • 这两个词经常和它们共有的属性water一起出现,而这两个词很少和不相关的单词fashion一起出现
  • 只有在概率比中,来自非歧视性词语(如水和时尚)的噪声才能抵消,因此大值(远大于1)与冰的特性相关,小值(远小于1)与蒸汽的特性相关
然而,Word2Vec使用纯共现概率,因此目标单词周围的单词成为上下文的概率最大

在实际应用中,为了加快训练过程,Word2Vec采用负采样,用对真实数据和噪声数据进行运算的sigmoid函数代替softmax函数。这使得单词在向量空间中聚类成一个圆锥体,而GloVe的单词向量的位置更加离散