尝试用gensim来做word2vec,之后还会用glove和fasttext进行比较
获得wiki语料
前往维基百科:资料库下载, 点击中文版的下载,下载这份大的文件
同时安装好需要的gensim包
pip install --upgrade gensim
加载wikiCorpus
下载得到的*.bz2
文件可用gensim的WikiCorpus处理 , 能用 get_texts
迭代每一篇文章,return会tokens list ,用空白符将这些tokens连起来,输出到文件中
import jieba
from gensim.corpora import WikiCorpus
import logging
import gensim
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
import os
import opencc
import pandas as pd
wiki_corpus = WikiCorpus('zhwiki-20190301-pages-articles-multistream.xml.bz2',dictionary={
})
texts_num = 0
with open("wiki_texts.txt",'w',encoding='utf-8') as output:
for text in wiki_corpus.get_texts():
output.write(' '.join(text) + '\n')
texts_num += 1
if texts_num % 10000 == 0:
logging.info("已處理 %d 篇文章" % texts_num)
2019-03-05 16:09:33,270 : INFO : 已處理 10000 篇文章
2019-03-05 16:09:44,983 : INFO : 已處理 20000 篇文章
2019-03-05 16:09:55,364 : INFO : 已處理 30000 篇文章
2019-03-05 16:10:05,647 : INFO : 已處理 40000 篇文章
2019-03-05 16:10:16,333 : INFO : 已處理 50000 篇文章
2019-03-05 16:10:27,058 : INFO : 已處理 60000 篇文章
2019-03-05 16:10:37,406 : INFO : 已處理 70000 篇文章
2019-03-05 16:10:47,663 : INFO : 已處理 80000 篇文章
2019-03-05 16:10:57,842 : INFO : 已處理 90000 篇文章
2019-03-05 16:11:08,534 : INFO : 已處理 100000 篇文章
2019-03-05 16:11:23,814 : INFO : 已處理 110000 篇文章
2019-03-05 16:11:36,572 : INFO : 已處理 120000 篇文章
2019-03-05 16:11:48,758 : INFO : 已處理 130000 篇文章
2019-03-05 16:12:01,798 : INFO : 已處理 140000 篇文章
2019-03-05 16:12:14,960 : INFO : 已處理 150000 篇文章
2019-03-05 16:12:28,018 : INFO : 已處理 160000 篇文章
2019-