Word2Vec模型简介:
Word2Vec是从大量文本语料中以无监督的方式学习语义知识的一种模型,它被大量地用在自然语言处理(NLP)中。Word2Vec通过训练可以把对文本内容的处理简化为K维向量空间中的向量运算,通过学习文本来用词向量的方式表征词的语义信息。
向量空间上的相似度可以用来表示文本语义上的相似度,通过一个嵌入空间使得语义上相似的单词在该空间内距离很近。
因此,Word2Vec 输出的词向量可以被用来做很多NLP相关的工作,比如聚类、找同义词、词性分析等等。
Word2Vec模型有CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和 Skip-Gram 两种。
CBOW 模型: 能够根据输入词A周围n-1个词来预测出词A本身。CBOW模型的输入是某个词A周围的n个单词的词向量之和,输出是词A本身的词向量.
Skip-gram 模型: 能够根据词B本身来预测周围有哪些词,Skip-gram模型的输入是词B本身,输出是词B周围的n-1个单词的词向量.
下面以Word2Vec官方的数据text8为例,实现两个词的相似度,寻找词之间的对应关系,以及寻找不合群的词等。
import pandas as pd
from gensim.models import word2vec
# 加载语料
sentences = word2vec.Text8Corpus(u"../text8.txt")
model = word2vec.Word2Vec(sentences, size=200) # 训练skip-gram模型; 默认window=5
# 计算两个词的相似度/相关程度
w1 = model.wv.similarity("woman", "man")
print(u"woman和man的相似度为:", w1)
print("--------\n")
# 计算某个词的相关词列表
w2 = model.wv.most_similar("go

Word2Vec是用于自然语言处理的无监督学习模型,它通过词向量表示语义信息,使得相似单词在向量空间中接近。模型包括CBOW和Skip-gram,可用于聚类、找同义词等任务。程序示例展示了相似度计算和词汇关系推理。
最低0.47元/天 解锁文章
5310

被折叠的 条评论
为什么被折叠?



