Deep Q&A 聊天机器人基本框架的搭建

在这一篇博文里,我将会用中文写如何在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

$ git clone https://github.com/Conchylicultor/DeepQA

第二步:下载并安装tensorflow

推荐一个官方中文的tensorflow网址:https://www.tensorflow.org/
在安装之前:
<font color=#ff00>建议先检查一下自己的Python环境是否安装好,之后的命令都需要依赖Python,需要Python3+的版本<br/></font>

引用一下官方中文的安装方法:
(推荐使用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 版本,请输入以下命令:

C:\> pip3 install --upgrade tensorflow 

要安装 GPU 版本的 TensorFlow,请输入以下命令:

C:\> pip3 install --upgrade tensorflow-gpu

第三步:安装Deep Q&A相关的依赖

1.png
根据官方的README,作者已经写好了下载相关依赖的命令,在根目录的requirements.txt

如果你已经安装了tensorflow,请将requirements.txt中的tensorflow行删除再bash中键入如下指令
在Deep Q&A键入如下指令进行依赖的安装

pip3 install -r requirements.txt

由于我们还要引入数据,所以还需要安装NLTK
键入以下命令进行安装:

python -m nltk.downloader punkt

<font color=#ff00>至此,基本的Deep Q&A框架已经安装完成<br/></font>

第四步:Deep Q&A的文件结构

Deep Q&A文件结构如图所示:
4.png

为了方便引用一下返梳下鱼的博文:

数据集:

     数据集默认存储在项目中的data文件夹中

2.png

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 <name>指定**

<font color=#ff00>注:若需要使用中文数据集,只需修改testdata.py中的断词的地方,引入结巴即可<br/></font>

    将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>

<font color=#ff00>※接下来要进行的是:导入一个训练好的实例模型,进行测试<br/></font>

第五步:下载已经训练好的模型

官方库README里已经推荐了一些实例和方法,但作者给的测试实例是pretrainedv2模型,但在我的电脑上运行出现了问题,所以接下来我将用另外一个可用的模型。
1、打开作者给出的模型下载地址:https://drive.google.com/drive/folders/0Bw-phsNSkq23c29ZQ2N6X3lyc1U 请科学上网
2、然后,下载model-cornell.zip
3、将模型解压到SAVE文件夹中
4、在Deep Q&A根目录输入指令:

python main.py --modelTag cornell --test interactive

即可对模型进行问答测试了:
5.png

Last modification:January 24th, 2019 at 05:37 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment