在这一篇博文里,我将会用中文写如何在windows系统下搭建Deep Q&A聊天机器人的基本框架,和示例模型的引入测试
参考:
Deep Q&A 仓库 :https://github.com/Conchylicultor/DeepQA
论文 :https://arxiv.org/pdf/1506.05869.pdf
第一步:将Deep Q&A下载到自己的硬盘
推荐直接clone到本地:
不知如何clone?请先学习Git的用法http://www.runoob.com/git/git-tutorial.html
1 | $ git clone https://github.com/Conchylicultor/DeepQA |
第二步:下载并安装tensorflow
推荐一个官方中文的tensorflow网址:https://www.tensorflow.org/
在安装之前:
引用一下官方中文的安装方法:
(推荐使用PIP进行安装)
确定如何安装 TensorFlow
您必须选择安装 TensorFlow 的方式。目前可支持如下几种方式:
“原生”pip
Anaconda
原生 pip 会直接在您的系统上安装 TensorFlow,而不是通过虚拟环境。原生 pip 安装并未隔离在单独的容器中进行,因此可能会干扰系统中其他基于Python 的安装。但是,如果您熟悉 pip 和您的 Python 环境,通常只需一条命令即可进行原生 pip 安装。此外,如果使用原生 pip 安装,用户可以从系>统上的任何目录运行 TensorFlow 程序。在 Anaconda 中,您可以使用 conda 来创建一个虚拟环境。但是,在 Anaconda 内部,我们建议使用 pip install 命令来安装 TensorFlow,而不要使用 conda install 命令。
注意:conda 软件包是由社区提供支持的,并没有任何官方支持。也就是说,TensorFlow 团队既不测试也不维护 conda 软件包。若使用该软件包,您需要自行承担相关风险。
使用原生 pip 进行安装
如果您的计算机上未安装以下某个 Python 版本,请立即安装:
来自 python.org 的 Python 3.5.x 64 位
来自 python.org 的 Python 3.6.x 64 位
在 Windows 上,TensorFlow 支持 Python 3.5.x 和 3.6.x。请注意,Python 3 附带有 pip3 软件包管理器,您需使用此程序来安装 TensorFlow。要安装 TensorFlow,请启动终端。然后在该终端中发出正确的 pip3 install 命令。要安装仅支持 CPU 的 TensorFlow 版本,请输入以下命令:
1 C:\> pip3 install --upgrade tensorflow要安装 GPU 版本的 TensorFlow,请输入以下命令:
1 C:\> pip3 install --upgrade tensorflow-gpu
第三步:安装Deep Q&A相关的依赖
根据官方的README,作者已经写好了下载相关依赖的命令,在根目录的requirements.txt
如果你已经安装了tensorflow,请将requirements.txt中的tensorflow行删除再bash中键入如下指令
在Deep Q&A键入如下指令进行依赖的安装1
pip3 install -r requirements.txt
由于我们还要引入数据,所以还需要安装NLTK
键入以下命令进行安装:1
python -m nltk.downloader punkt
第四步:Deep Q&A的文件结构
Deep Q&A文件结构如图所示:
为了方便引用一下返梳下鱼的博文:
数据集:
数据集默认存储在项目中的data文件夹中clone项目的的时候,Cornell Movie Dialog 是一起下载
其他的数据集:OpenSubtitles,Supreme Court Conversation Data,Ubuntu Dialogue Corpus 需要额外下载,使用时通过参数–corpus 指定
自定义的数据集,可根据既定的模式使用 https://github.com/Conchylicultor/DeepQA/tree/master/data/lightweight ,使用时通过参数–corpus lightweight –datasetTag指定 注:若需要使用中文数据集,只需修改testdata.py中的断词的地方,引入结巴即可
将tokens = nltk.word_tokenize(sentencesToken[i]) 换成tokens=list(jieba.cut(sentencesToken[i]))
Deep Q&A的训练模型文件是储存在save文件夹中直接引用模型要放在这里
第四步:Deep Q&A的使用方法
直接运行main.py会直接训练data数据库中的数据文件,并生成模型在save/model里
如需要进行模型结果的测试,或者运行实例需要在main.py加上一些参数
比如
-- main.py --test interactive -- main.py modelTag <name>
※接下来要进行的是:导入一个训练好的实例模型,进行测试
第五步:下载已经训练好的模型
官方库README里已经推荐了一些实例和方法,但作者给的测试实例是pretrainedv2模型,但在我的电脑上运行出现了问题,所以接下来我将用另外一个可用的模型。
1、打开作者给出的模型下载地址:https://drive.google.com/drive/folders/0Bw-phsNSkq23c29ZQ2N6X3lyc1U 请科学上网
2、然后,下载model-cornell.zip
3、将模型解压到SAVE文件夹中
4、在Deep Q&A根目录输入指令:1
python main.py --modelTag cornell --test interactive
即可对模型进行问答测试了: