Python AI智能聊天

  • 首先项目需要的包
import urllib.request
import urllib.parse
from tkinter import *
import time
  • 函数部分

说明:调用服务器接口,实现非特定智能回复

def get_robot_replay(question):'''函数功能:对于特定的问题进行特定的回答,对于其他非特定的问题进行智能回复参数描述:question:聊天内容或者问题返回值:str,回复内容'''if "你叫什么名字"in question:answer ="我是游游"elif "你多少岁"in question:answer="18"elif "你是GG还是MM"in question:answer="MM"else:try:# 调用NLP接口实现智能回复params=urllib.parse.urlencode({'msg':question}).encode() #将str转换成字节类型,参数接口需要进行URL编码req = urllib.request.Request("http://api.itmojun.com/chat_robot",params,method="POST")#创建请求对象answer=urllib.request.urlopen(req).read().decode()#调用接口(向目标服务器发送HTTP请求)except Exception as e:answer="AI机器人出现故障!(原因:%s)" % ereturn answer
  • 回复格式方面以及界面设计
def msgsend():msg = '我' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n'txt_msglist.insert(END, msg, 'green')  # 添加时间txt_msglist.insert(END, txt_msgsend.get('0.0', END))  # 获取发送消息,添加文本到消息列表msg1 = '游游大宝贝' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n'txt_msglist.insert(END, msg1, 'green')  # 添加时间txt_msglist.insert(END,get_robot_replay(txt_msgsend.get('0.0', END)))txt_msgsend.delete('0.0', END)  # 清空发送消息def cancel():txt_msgsend.delete('0.0', END)  # 取消发送消息,即清空发送消息'''绑定up键'''def msgsendEvent(event):if event.keysym == 'Up':msgsend()
  • 聊天界面设计
tk = Tk()
tk.title('和游游大宝贝的秘聊')'''创建分区'''
f_msglist = Frame(height=300, width=300)  # 创建<消息列表分区 >
f_msgsend = Frame(height=300, width=300)  # 创建<发送消息分区 >
f_floor = Frame(height=100, width=300)  # 创建<按钮分区>
f_right = Frame(height=700, width=100)  # 创建<图片分区>'''创建控件'''
txt_msglist = Text(f_msglist)  # 消息列表分区中创建文本控件
txt_msglist.tag_config('green', foreground='blue')  # 消息列表分区中创建标签
txt_msgsend = Text(f_msgsend)  # 发送消息分区中创建文本控件
txt_msgsend.bind('<KeyPress-Up>', msgsendEvent)  # 发送消息分区中,绑定‘UP’键与消息发送。'''txt_right = Text(f_right) #图片显示分区创建文本控件'''
button_send = Button(f_floor, text='Sendz', command=msgsend)  # 按钮分区中创建按钮并绑定发送消息函数
button_cancel = Button(f_floor, text='Cancel', command=cancel)  # 分区中创建取消按钮并绑定取消函数
'''分区布局'''
f_msglist.grid(row=0, column=0)  # 消息列表分区
f_msgsend.grid(row=1, column=0)  # 发送消息分区
f_floor.grid(row=2, column=0)  # 按钮分区
f_right.grid(row=0, column=1, rowspan=3)  # 图片显示分区
txt_msglist.grid()  # 消息列表文本控件加载
txt_msgsend.grid()  # 消息发送文本控件加载
button_send.grid(row=0, column=0, sticky=W)  # 发送按钮控件加载
button_cancel.grid(row=0, column=1, sticky=W)  # 取消按钮控件加载tk.mainloop()
  • 运行截图

Python 智能聊天机器人的实现相关推荐

  1. python微信集成_Python微信公众号后台开发005:集成智能聊天机器人​

    ​给公众号集成一个智能聊天机器人 一.前述 ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei). 二.具 ...

  2. 机器人编程python代码_自己动手开发智能聊天机器人完全指南(附python完整源码)...

    一.前言 人工智能时代,开发一款自己的智能问答机器人,一方面提升自己的AI能力,另一方面作为转型AI的实战练习.在此把学习过程记录下来,算是自己的笔记. 二.正文 2.1 下载pyaiml 下载pya ...

  3. 基于“机器学习”的智能聊天机器人---python实现(1)

    本博文以自己课程设计为依托,介绍如何利用python语言编程实现基于"机器学习"的智能聊天机器人.由于本项目是自己首次接触python以及利用计算机编程实现小型项目,中途遇到诸多问 ...

  4. python web微信应用(三) 微信智能聊天机器人

    文章目录 前言 一.webwx 模块介绍 二.微信智能聊天 前言 本篇文章作为系列第三篇文章,将实现一个微信智能聊天机器人: 系列其它文章请参考: python web微信应用(一) 微信协议分析 p ...

  5. Python基于AIML智能聊天机器人实战(4)- 机器人自学习能力集成

    一.前言 本文是<Python基于AIML智能聊天机器人实战>第四篇:AIML自学习能力集成: AIML是智能对话机器人具有里程碑意义的开源项目,曾斩获多项国际大奖,是基于检索技术的闲聊式 ...

  6. 基于“机器学习”智能聊天机器人---python实现(2)

    本博文上接上一篇博文"基于"机器学习"智能聊天机器人---python实现(1)" 博文链接:https://blog.csdn.net/DALEONE/art ...

  7. Python基于AIML智能聊天机器人实战视频教程-张子良-专题视频课程

    Python基于AIML智能聊天机器人实战视频教程-244人已学习 课程介绍         Python基于AIML的智能聊天机器人开发实战课程,包括典型案例.基础理论.功能拓展.源码框架解读四个方 ...

  8. 使用 Python 实现一个简单的智能聊天机器人

    使用 Python 实现一个简单的智能聊天机器人 文章目录 使用 Python 实现一个简单的智能聊天机器人 简要说明 总体的思路 需要准备的环境 接收用户的语音输入, 并将其存为音频文件 调用百度A ...

  9. 好想学python机器人_【Python成长之路】从零学GUI -- 制作智能聊天机器人

    [写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...

最新文章

  1. 人形图案c语言程序_做游戏,学编程(C语言) 7 学习EasyX图形交互功能----flappy bird源代码...
  2. GGTalk ——C#开源即时通讯系统
  3. 2.14要来了,老司机教单身狗如何用VR过情人节
  4. MSB6006: “cmd.exe”已退出,代码为 3.
  5. 日志查看工具 linux,用 Logwatch 工具查看 Linux 系统 Log 日志
  6. mybatis使用if判断参数是否为空
  7. 设计模式六大原则 图
  8. java8 javafx_Java8中的外观(JavaFX8)
  9. Simulink步长
  10. maven创建java项目_使用maven命令行创建java项目
  11. JAVA从url中分离ip和port
  12. C4D OCtane渲染器大师之路笔记(四):使用OC灯光
  13. 北京筑龙出席安徽省《电子招标投标办法》修订意见研讨会并发言
  14. 基于BP神经网络PID控制+Simulink仿真
  15. win10虚拟机连接不上内网服务器,win10系统虚拟机无法连接网络的解决方法
  16. 天津大学计算机学院李晨曦,李晨曦-天津大学-生物医学光子成像实验室
  17. 六西格玛dfss_六西格玛设计DFSS概述
  18. Maya - 后缀为xgen文件导出到虚幻引擎
  19. springCloud alibaba: Sentinel--服务容错
  20. 我是如何把python爬虫获取到的数据写入Excel的?

热门文章

  1. Apple 公司的电影预告片网站
  2. 计算机清理垃圾文件丢失怎么恢复,如何恢复windows电脑垃圾箱中清除的文件
  3. 静态HTML网页设计作品——火影忍者(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  4. 【Week】No.177
  5. 吴恩达深度学习第一课--第二周神经网络基础作业上正反向传播推导
  6. 传说中的AutoCAD公司 - 欧特克(Autodesk)招聘开发顾问-上海或北京
  7. 实时股票数据获取方式
  8. 360PC权重 怎样查询网站的360PC权重
  9. 内网穿透的技术解决方案
  10. 如何判断网站使用的操作系统