词嵌入
词嵌入的含义:它们是文本实值向量形式的数值表示。具有相似含义的词映射到相似的向量,因此具有相似的表示。这有助于机器学习不同单词的含义和背景。由于词嵌入是映射到单个单词的向量,因此只有在语料库上执行了标记化后才能生成词嵌入。
词嵌入包含多种用于创建学习的数值表示的技术,是表示文档词汇的最流行方式。词嵌入的好处在于,它们能够捕捉上下文、语义和句法的相似性,以及单词与其他单词的关系,从而有效地训练机器理解自然语言。这是词嵌入的主要目的——形成与具有相似含义的单词相对应的相似向量簇。
词嵌入的生成
单词转换成其实值向量的过程称为矢量化,是通过词嵌入技术完成的。
1.Word2Vec
Word2Vec是一个浅层神经网络,只有两层,因此不具备深度学习模型的资格。输入是一个文本语料库,它用来生成矢量作为输出。这些向量被称为输入语料库中单词的特征向量。它将语料库转换成可以被深层神经网络理解的数值数据。Word2Vec的目的是理解两个或更多单词一起出现的概率,从而将具有相似含义的单词组合在一起,在向量空间中形成一个聚类。像任何其他机器学习或深度学习模型一样,通过从过去的数据和过去出现的单词中学习,Word2Vec变得越来越有效。因此,如果有足够的数据和上下文,它可以根据过去的事件和上下文准确地猜测一个单词的意思,就像我们理解语言的方式一样
Word2Vec针对与输入语料库中的单词相邻的单词训练单词,有两种方法:
·连续单词袋(CBOW)
该方法基于上下文预测当前单词。因此,它将单词的周围单词作为输入来产生单词作为输出,并且它基于这个单词确实是句子的一部分的概率来选择这个单词。
·Skip-gram
这种方法通过将单词作为输入,理解单词的意思,并将其分配给上下文来预测单词周围的单词。
2.GloVe
GloVe是“全局向量(global vector)”的缩写,是斯坦福开发的一种词嵌入技术。这是一个无监督的学习算法,建立在Word2Vec的基础上。虽然Word2Vec在生成词嵌入方面相当成功,但它的问题是它有一个小窗口,通过这个窗口它可以聚焦于本地单词和局部上下文来预测单词。这意味着它无法从全局,即整个语料库中出现的词的频率中学习。GloVe,顾名思义,可以查看语料库中的所有单词。
Word2Vec是一种预测模型,学习向量来提高预测能力,而GloVe是一种基于计数的模型。