您的位置:首页 > 编程语言 > Python开发

[置顶] 【python 走进NLP】NLP WordEmbedding的概念和实现

2017-07-02 11:49 363 查看
背景

如何表示词语所包含的语义?

苹果?水果?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'女人')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: