您的位置:首页 > 其它

用word2vec训练文本摘要的词向量模型

2017-02-15 23:48 417 查看
在记录这篇博文前,有个声明:

训练前疑问:

1、训练文本时是分过词的文本,词与词之间为空格。不同类别的文档要最终写成一个文本,该文本是训练集所有文档的集合。

2、训练文本摘要的词向量模型我现在不知道怎么训练?

是把训练集中的摘要和正文对齐一块训练,还是单独训练正文的 部分。

ok,下面是正文部分。

a、词向量是其他任务的前置任务。词向量是无监督学习出来的,后置任务直接用。所以我应该把中文和摘要做分词处理后并到一个文档。然后去做词向量。

未完待续 2017.02.15

b、查看数据集发现是xml格式的,但是之前没有接触过用python抽取想,xml的信息。

这是一个大坑,我用另一个博客来记录。

最后文件提取没有按照xml文件格式提取

——————————————————————————————————————————————————————

总结:(敲黑板)

环境:python 2.7.x

工具:gensim

参考文档

官方教程:http://radimrehurek.com/gensim/models/word2vec.html

参考1:http://blog.csdn.net/eastmount/article/details/50637476

参考2:http://blog.csdn.net/churximi/article/details/51472300

训练语料最后要求:语料最后是分过词的,每一行都是一个分好词的文档,词与词之间是空格,另外,并没有过滤停用词或标点。

这里贴张图



这就是我即将训练的文本集

训练时代码

# -*- coding: utf-8 -*-
# 训练词向量模型并保存
import gensim
from gensim.models import word2vec
sentences=word2vec.Text8Corpus(u'D:\\LCSTS\\DATA1\\PART_II_comb.txt')
model=gensim.models.Word2Vec(sentences, , size=200min_count=3,)
model.save('/**路径*/text.model1') #保存模型

print model.similarity(u"上海", u"朝鲜战争") 计算词之间相似度


加载训练好模型:当训练好模型并保存后,下次使用时可直接加载训练好的模型

# 加载训练好的模型text.model1
model1 = gensim.models.Word2Vec.load('/**路径*/text.model1')

# 从模型中找到与“市场最相关的20个词并输出到屏幕上”
y = model1.most_similar(u'市场', topn=20)
print u"和【市场】最相关的词有:\n"
for item in y:
print item[0],item[1]
print "——————\n"


未完待续2017.02.20….

————————————————————————————————————————————————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  word2vec 训练