使用gensim训练word2vec模型--中文维基百科语料
目录
文章简介:为了写论文,使用 gensim 训练 word2vec 模型,如下记录了进行训练的过程
准备
- 中文维基百科预料:zhwiki-latest-pages-articles.xml.bz2
- python3
- wiki_zh_word2vec
- 繁体转简体:opencc一定要下*-win32.7z,win64 的在我电脑上无法运行。如果使用我的wiki_zh_word2vec,则项目中包含可以直接使用的 opencc
TODO
依赖准备
- 下载中文维基百科预料
- git clone https://github.com/ExFly/wiki_zh_word2vec.git
- 将 zhwiki-latest-pages-articles.xml.bz2 放到 build 文件夹下
- cd path/to/wiki_zh_word2vec
- pip install pipenv
- pipenv install –dev
将 XML 的 Wiki 数据转换为 text 格式
- pipenv run python 1_process.py build/zhwiki-latest-pages-articles.xml.bz2 build/wiki.zh.txt
31 分钟运行完成 282855 篇文章,得到一个 931M 的 txt 文件
中文繁体替换成简体
- opencc-1.0.1-win32/opencc -i build/wiki.zh.txt -o build/wiki.zh.simp.txt -c opencc-1.0.1-win32/t2s.json
大约使用了 15 分钟
结巴分词
- pipenv run python 2_jieba_participle.py
大约使用了 30 分钟
Word2Vec 模型训练
- pipenv run python 3_train_word2vec_model.py
大约使用了 30 分钟,且全程 cpu 使用率达到 90%+
模型测试
- pipenv run python 4_model_match.py
|
|
查看结果
可以使用 linux 的 head 或者 tail 命令查看运行的结果。
- head -n 100 wiki.zh.simp.txt > wiki.zh.simp_head_100.txt,直接查看 wiki.zh.simp_head_100.txt 即可
- 没有 head 命令,可以安装gow,或者直接下载cmder,进入就可以使用 head 命令了
结果
- 至此,使用 python 对中文 wiki 语料的词向量建模就全部结束了,wiki.zh.text.vector 中是每个词对应的词向量,可以在此基础上作文本特征的提取以及分类。所有代码都已上传至本人 GitHub中,欢迎指教!
- 感谢AimeeLee77,其代码为 Python2,我的项目exfly/wiki_zh_word2vec已经完全迁移到 python3,并向AimeeLee77提交了 pull request
- wiki_zh_word2vec