本人运行环境为Python 3.5.2;

首先你需要导入chatterbot 的包,如果没有你先需要下载 使用命令 pip install chatterbot

 1 # -*- coding: utf-8 -*-
2 from chatterbot import ChatBot
3
4 bot = ChatBot(
5 'Norman',
6 storage_adapter='chatterbot.storage.SQLStorageAdapter',
7 input_adapter='chatterbot.input.TerminalAdapter',
8 output_adapter='chatterbot.output.TerminalAdapter',
9 logic_adapters=[
10 'chatterbot.logic.MathematicalEvaluation',
11 'chatterbot.logic.TimeLogicAdapter'
12 ],
13 database='./database.sqlite3'
14 )
15
16 while True:
17 try:
18 bot_input = bot.get_response(None)
19
20 except(KeyboardInterrupt, EOFError, SystemExit):
21 break

下面是简单测试的结果不过现在的Norman还是傻傻的.

E:\Pythons\python.exe F:/PhyWorkSpeace/bot/botTest.py
hi
hi
你好
The current time is 04:08 PM
^D Process finished with exit code 0

注意在的第一次执行时,会自动生成库.是系统带的简单的库.


storage_adapter='chatterbot.storage.SQLStorageAdapter',这是储存是储存适配器
input_adapter='chatterbot.input.TerminalAdapter',这是输入适配器
output_adapter='chatterbot.output.TerminalAdapter',这是输出适配器

logic_adapters=[
'chatterbot.logic.MathematicalEvaluation', 'chatterbot.logic.TimeLogicAdapter' ],

logic_adapters参数是逻辑适配器的列表。 在ChatterBot中,逻辑适配器是一个接受输入语句并返回该语句的响应的类。

您可以选择使用尽可能多的逻辑适配器。 在这个例子中,我们将使用两个逻辑适配器。 TimeLogicAdapter返回输入语句要求的当前时间。 MathematicalEvaluation适配器解决了使用基本操作的数学问题。

database='./database.sqlite3'#这是数据库

接下来,您将需要创建一个while循环让您的聊天机器人运行。当特定的异常被触发时,通过跳出循环,当用户进入ctrl + d/ctrl + c时,我们可以退出循环并停止程序。

while True:
try:
bot_input = bot.get_response(None) except(KeyboardInterrupt, EOFError, SystemExit):
break

这样就是一个简单的机器人出来了,关于如何训练,和使用外部数据库,请听下回分解.

最新文章

  1. 为Gradle添加tomcat插件,调试WEB应用
  2. hdu 1849 Rabbit and Grass 博弈论
  3. Penalty
  4. Redis缓存实现单点登录SSO
  5. 阅读<反欺骗的艺术>思考
  6. NOIP2015普及组第四题推销员
  7. android-------手写签名系统的设计与实现之实现画笔设置
  8. Java编程练习(四)——集合框架应用
  9. python 3 中的raw_input 报错
  10. volatile CAS
  11. swiper使用中一些点的总结
  12. ASP.Net上传文件
  13. 前端之css样式(选择器)。。。
  14. mysql Column count doesn't match value count at row 1
  15. Kubernetes1.91(K8s)安装部署过程(二)--证书kubeconfig文件创建
  16. Java快速排序和归并排序详解
  17. mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结
  18. binary tree
  19. Collection集合学习(一)———Set接口与具体实现
  20. Linux Nginx环境安装配置redmine3.1

热门文章

  1. [poj1644]放苹果
  2. Java基础总结--IO总结2
  3. jsp <input type="checkbox" name="fileId"> 是否选中
  4. 改变 font Awesome、Ionic 图标属性
  5. 主键乱序插入对Innodb性能的影响
  6. 4天精通arcgis
  7. ubuntu上安装adt时无法在线安装的问题
  8. sudo使用详细讲解
  9. D3.js使用过程中的常见问题(D3版本D3V4)
  10. JavaNIO阻塞IO