赞
踩
背景
如何表示词语所包含的语义?
苹果?水果?Iphone?
苹果、梨子,这两个词相关吗?
语言的表示
符号主义:Bags-of-word,维度高、过于稀疏、缺乏语义、模型简单
分布式表示:Word Embedding,维度低、更为稠密、包含语义、训练复杂
Word Embedding
核心思想:语义相关的词语,具有相似的上下文环境,例如, 苹果和梨子
所做的事情:将每个词语训练成,词向量
实践
基于gensim包和中文维基语料
gensim:http://radimrehurek.com/gensim/models/word2vec.html
中文维基分词语料:链接 https://pan.baidu.com/s/1qXKIPp6 密码 kade
# 加载包
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence
# 训练模型
sentences = LineSentence('wiki.zh.word.text')
model = Word2Vec(sentences, size=128, window=5, min_count=5, workers=4)
# 保存模型
model.save('word_embedding_128')
# 加载模型
model = Word2Vec.load("word_embedding_128")
# 使用模型
items = model.most_similar(u'中国')
model.similarity(u'男人', u'女人')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。