本小节制作一个智能聊天机器人,数据集可以在网上下载或者自己生成,网上下载的数据集可以进行修改,数据集应该是一个或多个以换行符分隔的文本文件。对话的每一行都应以“>”开头,并以换行符结尾,并将文本文件放在项目的data目录下。
由于网络比较复杂且参数量较多,该网络在GPU版的TensorFlow下需要训练几天,所以可以直接运行预训练的模型。
将模型下载下来之后,解压缩到名为“reddit”的文件夹中,将该文件夹放入该项目的“models”目录中。
执行:
python chatbot.py
等待片刻,打印出以“>”开头的行,这时需要读者自己输入想说的话,没有“>”的行是聊天机器人的响应,对话结果如下。
Hi, how are you?
Hello there, I'm doing fine. What about you?
I'm very good.
Fair enough.
I love you.
I love you too.
I love you.
You're the best.
Where are you from?
I'm from the south.
Goodbye!
What do you mean?
Goodbye!
Goodbye!
很多时候,回答是不尽如人意的。这仅仅是一个对话的简单演示,感兴趣的读者可以将该数据集替换为中文,制作一个可以中文对话的智能聊天机器人。