Python 智能聊天机器人的实现
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 智能聊天机器人的实现相关推荐
- python微信集成_Python微信公众号后台开发005:集成智能聊天机器人
给公众号集成一个智能聊天机器人 一.前述 ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei). 二.具 ...
- 机器人编程python代码_自己动手开发智能聊天机器人完全指南(附python完整源码)...
一.前言 人工智能时代,开发一款自己的智能问答机器人,一方面提升自己的AI能力,另一方面作为转型AI的实战练习.在此把学习过程记录下来,算是自己的笔记. 二.正文 2.1 下载pyaiml 下载pya ...
- 基于“机器学习”的智能聊天机器人---python实现(1)
本博文以自己课程设计为依托,介绍如何利用python语言编程实现基于"机器学习"的智能聊天机器人.由于本项目是自己首次接触python以及利用计算机编程实现小型项目,中途遇到诸多问 ...
- python web微信应用(三) 微信智能聊天机器人
文章目录 前言 一.webwx 模块介绍 二.微信智能聊天 前言 本篇文章作为系列第三篇文章,将实现一个微信智能聊天机器人: 系列其它文章请参考: python web微信应用(一) 微信协议分析 p ...
- Python基于AIML智能聊天机器人实战(4)- 机器人自学习能力集成
一.前言 本文是<Python基于AIML智能聊天机器人实战>第四篇:AIML自学习能力集成: AIML是智能对话机器人具有里程碑意义的开源项目,曾斩获多项国际大奖,是基于检索技术的闲聊式 ...
- 基于“机器学习”智能聊天机器人---python实现(2)
本博文上接上一篇博文"基于"机器学习"智能聊天机器人---python实现(1)" 博文链接:https://blog.csdn.net/DALEONE/art ...
- Python基于AIML智能聊天机器人实战视频教程-张子良-专题视频课程
Python基于AIML智能聊天机器人实战视频教程-244人已学习 课程介绍 Python基于AIML的智能聊天机器人开发实战课程,包括典型案例.基础理论.功能拓展.源码框架解读四个方 ...
- 使用 Python 实现一个简单的智能聊天机器人
使用 Python 实现一个简单的智能聊天机器人 文章目录 使用 Python 实现一个简单的智能聊天机器人 简要说明 总体的思路 需要准备的环境 接收用户的语音输入, 并将其存为音频文件 调用百度A ...
- 好想学python机器人_【Python成长之路】从零学GUI -- 制作智能聊天机器人
[写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...
最新文章
- 人形图案c语言程序_做游戏,学编程(C语言) 7 学习EasyX图形交互功能----flappy bird源代码...
- GGTalk ——C#开源即时通讯系统
- 2.14要来了,老司机教单身狗如何用VR过情人节
- MSB6006: “cmd.exe”已退出,代码为 3.
- 日志查看工具 linux,用 Logwatch 工具查看 Linux 系统 Log 日志
- mybatis使用if判断参数是否为空
- 设计模式六大原则 图
- java8 javafx_Java8中的外观(JavaFX8)
- Simulink步长
- maven创建java项目_使用maven命令行创建java项目
- JAVA从url中分离ip和port
- C4D OCtane渲染器大师之路笔记(四):使用OC灯光
- 北京筑龙出席安徽省《电子招标投标办法》修订意见研讨会并发言
- 基于BP神经网络PID控制+Simulink仿真
- win10虚拟机连接不上内网服务器,win10系统虚拟机无法连接网络的解决方法
- 天津大学计算机学院李晨曦,李晨曦-天津大学-生物医学光子成像实验室
- 六西格玛dfss_六西格玛设计DFSS概述
- Maya - 后缀为xgen文件导出到虚幻引擎
- springCloud alibaba: Sentinel--服务容错
- 我是如何把python爬虫获取到的数据写入Excel的?
热门文章
- Apple 公司的电影预告片网站
- 计算机清理垃圾文件丢失怎么恢复,如何恢复windows电脑垃圾箱中清除的文件
- 静态HTML网页设计作品——火影忍者(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
- 【Week】No.177
- 吴恩达深度学习第一课--第二周神经网络基础作业上正反向传播推导
- 传说中的AutoCAD公司 - 欧特克(Autodesk)招聘开发顾问-上海或北京
- 实时股票数据获取方式
- 360PC权重 怎样查询网站的360PC权重
- 内网穿透的技术解决方案
- 如何判断网站使用的操作系统