中文维基百科训练Word2Vec模型

2018-11-15  本文已影响0人  lzhenboy

word2vec-Chinese

a tutorial for training Chinese-word2vec using Wiki corpus

word2vec词向量是NLP领域的基础,如何快速地训练出符合自己项目预期的词向量是必要的。

【注】:本项目主要目的在于快速的构建通用中文word2vec词向量,关于word2vec原理后期有时间再补充(nlp新手,文中不足之处欢迎各位大神批评指正,亦可共同交流学习)。

该文章同步在我的github,喜欢github阅读或需要代码的请直接移步:
【github】: https://github.com/lzhenboy/word2vec-Chinese

0. 环境要求

1. 获取中文语料库

想要训练好word2vec模型,一份高质量的中文语料库是必要的,目前常用质量较好的中文语料库为维基百科的中文语料库。

2. 中文语料库预处理

2.1 将xml的Wiki数据转换为text格式

python parse_zhwiki.py -i zhwiki-latest-pages-articles.xml.bz2 -o corpus.zhwiki.txt

2.2 中文简繁体转换

python chinese_t2s.py -i corpus.zhwiki.txt -o corpus.zhwiki.simplified.txt

2.3 去除英文和空格

python remove_en_blank.py -i corpus.zhwiki.simplified.txt -o corpus.zhwiki.simplified.done.txt

2.4 中文分词(jieba分词)

python corpus_zhwiki_seg.py -i corpus.zhwiki.simplified.done.txt -o corpus.zhwiki.segwithb.txt

3. word2vec模型训练

python word2vec_train.py -i corpus.zhwiki.segwithb.txt -m zhwiki.word2vec.model -v zhwiki.word2vec.vectors -s 400 -w 5 -n 5

4. word2vec模型测试

from gensim.models import Word2Vec
word2vec_model = Word2Vec.load(zhwiki.word2vec.model)
# 查看词向量
print('北京:', word2vec_model['北京'])
# 查看相似词
sim_words = word2vec_model.most_similar('北京')
for w in sim_words:
print(w)

参考与致谢

  1. https://github.com/zishuaiz/ChineseWord2Vec
  2. https://www.jianshu.com/p/ec27062bd453
  3. https://blog.csdn.net/jdbc/article/details/59483767

    ps:参考文献无法一一列举,如有问题请联系我添加!
上一篇 下一篇

猜你喜欢

热点阅读