Word2Vector

Word2vec

词向量的概念

将 word映射到一个新的空间中,并以多维的连续实数向量进行表示叫做“Word Represention” 或 “Word Embedding”。自从21世纪以来,人们逐渐从原始的词向量稀疏表示法过渡到现在的低维空间中的密集表示。用稀疏表示法在解决实际问题时经常会遇到维数灾难,并且语义信息无法表示,无法揭示word之间的潜在联系。而采用低维空间表示法,不但解决了维数灾难问题,并且挖掘了word之间的关联属性,从而提高了向量语义上的准确度。

Word2Vector 模型

通过神经网络机器学习算法来训练N-gram 语言模型,并在训练过程中求出word所对应的vector的方法。

N元语言模型和 神经网络概率语言模型

N元语言模型

统计语言模型的一般形式直观、准确,n元模型中假设在不改变词语在上下文中的顺序前提下,距离相近的词语关系越近,距离较远的关联度越远,当距离足够远时,词语之间则没有关联度。

神经网络概率语言模型

神经网络概率语言模型通过学习训练语料获取词向量和概率密度函数,词向量是多维实数向量,向量中包含了自然语言中的语义和语法关系,词向量之间余弦距离的大小代表了词语之间关系的远近,词向量的加减运算则是计算机在"遣词造句"。

对比

1 前者没有考虑距离更远的词语与当前词的关系,即超出范围n的词被忽略了,而这两者很可能有关系的。

例如,“华盛顿是美国的首都”是当前语句,隔了大于n个词的地方又出现了“北京是中国的首都”,在n元模型中“华盛顿”和“北京”是没有关系的,然而这两个句子却隐含了语法及语义关系,即”华盛顿“和“北京”都是名词,并且分别是美国和中国的首都。

2 忽略了词语之间的相似性,即上述模型无法考虑词语的语法关系

例如,语料中的“鱼在水中游”应该能够帮助我们产生“马在草原上跑”这样的句子,因为两个句子中“鱼”和“马”、“水”和“草原”、“游”和“跑”、“中”和“上”具有相同的语法特性。
Word2Vec是一种用于将文本转换为向量表示的工具,它是通过训练一个神经网络模型来实现的。在Word2Vec的源码中,有几个主要的部分和过程。 首先,源码中包含了数据预处理的步骤。这个步骤包括将原始文本分割成单词,建立词汇表并为每个单词分配一个唯一的标识符。源码还负责将原始文本转换为训练样本,其中每个样本由一个输入单词和一个输出单词组成。 接下来,源码中定义了训练模型的结构和参数。该模型通常是一个两层的神经网络,其中包含一个隐藏层和一个输出层。隐藏层的节点数可以根据需求进行设置。训练模型中的参数包括学习率、迭代次数和训练样本的窗口大小等。 然后,源码中实现了模型的训练过程。训练过程基于输入和输出单词的样本对,通过对模型进行多次迭代来优化模型的参数。在每一次迭代的过程中,模型会根据当前输入单词预测输出单词,并计算预测结果与实际输出之间的误差。然后,模型会使用误差来更新参数,以提高模型的准确性。 最后,源码中还提供了用于将训练好的模型应用于新的文本数据的方法。通过载入训练好的模型参数,并使用这些参数来将新的文本转换为向量表示。 总的来说,Word2Vec的源码实现了一个能够将文本转为向量表示的工具,并通过训练神经网络模型来优化向量表示的准确性。通过了解源码,我们可以更好地理解Word2Vec的原理和实现过程,并且可以根据需要进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值