【笔记】使用Gensim模块训练词向量
1. 语料获取
参考 下载维基百科中文语料作为预训练数据集;
下载地址: zhWiki
选择一个时间段进行下载, 点进去,我们选择正文的语料,比如 zhwiki-20210120-pages-articles-multistream1.xml-p1p187712.bz2 ;
下载完得到一个压缩包,WikiPedia Extractor 工具可以帮助处理这个压缩包,提取正文语料;使用方法如下:当然你也可以自己写脚本处理;
下载WikiExtractor.py脚本,和下载 的语料放在同一级目录下,运行下面脚本命令;
python WikiExtractor.py -b 500M -o wik_00 zhwiki-20180320-pages-articles1.xml-p1p231819.bz2
#上面命令的的意思就是把从"zhwiki-20180320-pages-articles1.xml-p1p231819.bz2"压缩包中提取出来的正文文本定向输出到"wiki_00"文件中。
获取的语料为文章的正文; 一行为一个词条;可以发现这个词条中文繁体和简体混杂,不是正常的书写习惯,我们需要把它转换成全简体;使用opencc可以完成转换,我写了一个转换脚本,供参考;
# coding:utf-8
"""
@author: Finks
@time: 2021/5/7 11:22
"""
import opencc
import pyhanlp
import os
def tokenize(s):
"""分词, HanLP作为分词工具"""
return [i.word for i in pyhanlp.HanLP.segment(s)]
cc = opencc.OpenCC('t2s')
path = r'D:\Art\kg-2019-master (1)\kg-2019-master\wik_00\AA\wiki_00'
fw_path = os.path.join(os.path.dirname(path) ,'wiki.txt')
print(fw_path)
fw = open(fw_path, 'w+', encoding='utf8')
with open(path, 'r', encoding='utf8') as f:
for line in f:
word_list = tokenize(line.strip()<