gensim训练词向量PathLineSentences基础用法

启文

NLP语言处理特别费劲,利用工具也不容易呀,自己写算法,要考虑很多因素,用别人的框架就要研究这个框架怎么用,下面介绍一下用gensim训练自然语言模型,当然是有大量文本的情况下训练,中文中有英文,标点符号,很可能出现内存溢出,需要考虑很多因素。我们用gensim来处理。

gensim梗概

参考文档官网:https://radimrehurek.com/gensim/auto_examples/index.html
在这里插入图片描述
可以看到有很多模型可以用,我们的目的是了解这些模型在gensim中是怎么用的,有什么样的处理都需要了解。

gensim模块

顾明思意就是将词转换为向量。
通过gensim你会发现有这些专有模块15个其中有 'logger’和 ‘logging’,可以不考虑,日志文件类。
‘_matutils’,
‘corpora’,
‘downloader’,
‘interfaces’,
‘logger’,
‘logging’,
‘matutils’,
‘models’,
‘parsing’,
‘scripts’,
‘similarities’,
‘summarization’,
‘test’,
‘topic_coherence’,
‘utils’

去官网了解吧不一个一个的介绍,主要要了解corpora、models、test和utils四个。corpora这个主要是用于词频统计,就是01化的意思。gensim.models这模块里面有很多模型,word2vec、fastText、LDA等等文本词嵌入模型、主题提取模型,确实很方便,当然这里面的算法是否和我们理解的一样这个需要自己写模型比较判断了。
特别推荐:先了解test,test有数据可以让你了解更快;utils自己探索。

gensim使用

我们默认gensim代码程序没有问题(只是不能证明有问题),gensim很方便训练和使用,首先,我们要知道一个问题,词向量化word2vec要想达到很高的精度必须要有大量的数据。假设50g好了,更多的话2T好了,通常情况下我们的电脑没办法一次读入这么多数据进入内存,尽管你这样做了会报出内存错误。

word2Vec

第一步:对数据进行分块,每块都是当前计算机内存能正常工作的的范畴;
第二步:文件中的文章数据每一行是一篇文章;
第三步:中文分词,默认按英文的分词的空格来的,分词方式很多不介绍,分词后保存进入原文件;
第四步:from gensim.models.word2vec import PathLineSentences通过这个引入PathLineSentences,这个类说明的是所有数据在同一个目录下,每个一文件是一个块,够内存运行;
第五步:sentences=PathLineSentences("<文件路径名>")
第六步:w2vModel=models.word2vec.Word2Vec(sentences,size = 128, window = 5, min_count = 1,workers=6,sg=1,hs=1)训练模型
第七步:保存模型w2vModel.save(“c:/word2Vec.model”)
第八步:载入模型w2vModel = models.word2vec.Word2Vec.load(“c:/word2Vec.model”)
第九步:print(w2vModel.similarity(‘气囊’, ‘遗传算法’))

最后说明:doc2vec没有多文件分块处理的这个功能;wmd词移距离用的是word2vec的向量,什么都不用做直接用,windows运行会有错,报pyemd模块不找不到的错误,这个需要到git上下载源码,然后python setup.py install 编译,编译缺啥安装啥网上找,编译后将built文件夹下的pyemd文件拷贝到python的包目录下,用python的不要告诉我不知道这个目录在哪!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值