Python技术栈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 410|回复: 10

[学习资料] Python 智能聊天机器人的实现

[复制链接]

12

主题

15

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2020-1-7 15:03:41 | 显示全部楼层 |阅读模式
本帖最后由 珍宝珠 于 2020-1-7 15:07 编辑

首先项目需要的包
[Python] 纯文本查看 复制代码
import urllib.request
import urllib.parse
from tkinter import *
import time

函数部分
说明:调用服务器接口,实现非特定智能回复
[Python] 纯文本查看 复制代码
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)" % e
    return answer
回复格式方面以及界面设计
[Python] 纯文本查看 复制代码
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()
聊天界面设计(原文获取源代码)

Python 总 群
回复

使用道具 举报

0

主题

5

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2020-1-7 15:03:42 | 显示全部楼层
求志同道合者一块学习python。只求交流。 互相督促。
Python 总 群
回复

使用道具 举报

0

主题

6

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2020-1-7 15:49:13 | 显示全部楼层
哪位兄弟手头有python3做数据分析的资料???
Python 总 群
回复

使用道具 举报

0

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2020-1-7 16:41:46 | 显示全部楼层
有用python 开发前端web的吗?
Python 总 群
回复

使用道具 举报

0

主题

7

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2020-1-7 17:25:22 | 显示全部楼层
想自学游戏开发和简单的应用程序开发,但不知道学些什么可以实现我的梦想,求指点
Python 总 群
回复

使用道具 举报

0

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2020-1-7 18:04:03 | 显示全部楼层
哪位兄弟手头有python3做数据分析的资料???
Python 总 群
回复

使用道具 举报

0

主题

9

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2020-1-7 18:08:58 | 显示全部楼层
Python学习真的是其乐无穷!
Python 总 群
回复

使用道具 举报

0

主题

9

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2020-1-7 19:46:04 | 显示全部楼层
Python与Java学习哪种语言好?
Python 总 群
回复

使用道具 举报

0

主题

5

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2020-1-7 21:13:52 | 显示全部楼层
python新人求脸熟...
Python 总 群
回复

使用道具 举报

0

主题

3

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2020-1-7 21:20:48 | 显示全部楼层
好漂亮的一个论坛啊!
Python 总 群
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


QQ|Archiver|手机版|小黑屋|Python.BBS ( 鲁ICP备18046958号 )

GMT+8, 2020-1-29 11:40 , Processed in 0.182701 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表