全文共1065个字,5张图,预计阅读时间7分钟。
训练一个聊天机器人的很重要的一步是词向量训练,无论是生成式聊天机器人还是检索式聊天机器人,都需要将文字转化为词向量,时下最火的词向量训练模型是word2vec,所以,今天小编文文带你使用维基百科训练词向量。
训练数据下载
我们使用维基百科训练词向量,维基百科数据的下载地址为:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2。
下载后无需解压,中文维基百科的数据比较小,整个xml的压缩文件大约才1G
安装依赖库
下载数据之后,网上提供了现成的程序对xml进行解压,在网上找到了一个解析xml的py文件,命名为process_wiki.py。不过还需要对其进行修改,将原有的output = open(outp, 'w'),修改为output = open(outp, 'w',encoding='utf-8')
否则会报下图的错误:
在放完整的代码之前,我们需要安装一些依赖库,有numpy、scipy以及gensim,安装gensim依赖于scipy,安装scipy依赖于numpy。我们直接用pip安装numpy,在windows命令行下使用命令:
pip install numpy
成功安装numpy之后安装scipy,仍然使用命令pip install scipy,此时却发现报错了,其实,一般都会报错,正确的打开方式是去网站下载whl,再进行安装,去如下的网址下载scipy包:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
找到相应版本的:
下载好之后使用pip命令安装即可:
pip install scipy-0.19.0-cp35-cp35m-win_amd64.whl
接下来使用命令 pip install gensim 即可。
将xml的wiki数据转换为text格式
使用下面的代码对数据进行处理,命名为process_wiki.py,这个代码是python2和python3通用的:
使用如下的命令执行代码:
不过发现报错了:
这是因为我们的numpy版本不对,所以我们首先要使用pip卸载掉我们当前的numpy,然后去网站:http://www.lfd.uci.edu/~gohlke/pythonlibs/
下载对应的numpy版本并安装即可:
随后使用刚才的命令执行,发现执行成功:
好啦,今天的实验就先做到这里,明天咱们继续!
领取专属 10元无门槛券
私享最新 技术干货