推广 热搜: 行业  设备    系统  参数  经纪    教师  机械  中国 

word2vec词向量中文语料处理(python gensim word2vec总结)

   日期:2024-11-10     作者:n19v1    caijiyuan   评论:0    移动:http://dh99988.xhstdz.com/mobile/news/6797.html
核心提示:目录 中文语料处理 法一:语料处理为列表 法二:语料是文件(处理为迭代器) 对一个目录下的所有文件生

目录

word2vec词向量中文语料处理(python gensim word2vec总结)

中文语料处理

法一:语料处理为列表

法二:语料是文件(处理为迭代器

对一个目录下的所有文件生效(法1

 对一个目录下的所有文件生效(法2

class : gensim.models.word2vec.PathLineSentences

对于单个文件语料,使用LineSentence

语料库获取语料

word2vec中文语料处理及模型训练实践


python gensim训练 word2vec的中文语料格式是什么样的呢?很多经验贴或是忽略了这个地方,或是没有详细说明,此博文详细说明及实践语料的处理方式,并汇总数种语料加载方式。

从文章word2vec词向量训练使用(python gensim)对word2vec的介绍,我们了解到Word2Vec第一个参数sentences要求是是预处理后的训练语料库,需要输入一个可迭代的列表,但是对于较大的语料库,可以考虑直接从磁盘/网络传输句子的迭代。

如果是句子,需要进行分词

如果是文件,需要将文件处理为每一行对应一个句子(已经分词,以空格隔开,实例处理过程见文末。

把Python内置列表当作输入很方便,但当输入量很大的时候,大会占用大量内存。

Gensim需要输入一个可迭代的列表,可以是迭代器,没有必要把一切东西都保存在内存中,提供一个语句,加载处理它,忘记它,加载另一个语句。

一般我们的语料是在文件中存放的,首先,需要保证语料文件内部每一行对应一个句子(已经分词,以空格隔开,方法见上。

对一个目录下的所有文件生效(法1

这些文件已经被分词好了,如果还需要进一步预处理文件中的单词,如移除数字,提取命名实体… 所有的这些都可以在MySentences 迭代器内进行,保证给work2vec的是处理好的迭代器。

 对一个目录下的所有文件生效(法2

class : gensim.models.word2vec.PathLineSentences

对于单个文件语料,使用LineSentence

class: gensim.models.word2vec.LineSentence

每一行对应一个句子(已经分词,以空格隔开,我们可以直接用LineSentence把txt文件转为所需要的格式。

LineSentence功能解释:Iterate over a file that contains sentences: one line = one sentence. Words must be already preprocessed and separated by whitespace(对包含句子的文件进行迭代:一行=一句话。单词必须经过预处理,并由空格分隔) 

gensim.models.word2vec.LineSentence(source, max_sentence_length=10000, limit=None) 预处理类,限制句子最大长度,文档最大行数 拿到了分词后的文件,在一般的NLP处理中,会需要去停用词。由于word2vec的算法依赖于上下文,而上下文有可能就是停词。因此对于word2vec,我们可以不用去停词。

语料库获取语料

class gensim.models.word2vec.Text8Corpus

(实践部分代码改编自链接)原始小说语料下载《人民的名义》

本文地址:http://dh99988.xhstdz.com/news/6797.html    物流园资讯网 http://dh99988.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号