Python 实验三 使用 TCP 实现智能聊天机器人
编写聊天程序的服务端代码和客户端代码。完成后,先启动服务端代码,然后启动客户端程序输人问题,服务端可以返回相应的答案。要求服务端代码具有一定的智能,能够根据不完整的问题识别客户端真正要问的问题。程序运行后界面如下图所示。
源代码:
服务端 Sever.py:
from os.path import commonprefix
from posixpath import split
import socket
#建立聊天回复字典
words={'how are you?':'Fine,thank you.','how old are you?':'18','what is your name?':'xiaoming','which subject do you like?':'computer science','bye':'Bye'}
s =socket.socket()
s.bind(('127.0.0.1',8000))
s.listen(1)
clientsocket,clientaddress= s.accept()
print('Connection from',clientaddress)
#开始聊天
while True:data=clientsocket.recv(1024).decode()if not data:breakprint('Received:',data)i=0key=''for k in words.keys():data=' '.join(data.split())if len(commonprefix([k,data]))>len(k)*0.75:key=kbreaklength=len(set(data.split())&set(k.split()))if length>i:i=lengthkey=kclientsocket.sendall(words.get(key,'Sorry,can\'t find the question').encode())
clientsocket.close()客户端 Client.py:
import socket
import sys
s =socket.socket()
try:s.connect(('127.0.0.1',8000))
except Exception as e:print('Can\'t find the Sever please try again')sys.exit()
while True:c=input('Input the content you want to send:')s.sendall(c.encode())data=s.recv(1024)data=data.decode()print('Received:',data)if c.lower()=='bye':break
s.close()测试用例:
how are you
how old are you
what’s your name
bye
Python 实验三 使用 TCP 实现智能聊天机器人相关推荐
- 机器人编程python代码_自己动手开发智能聊天机器人完全指南(附python完整源码)...
一.前言 人工智能时代,开发一款自己的智能问答机器人,一方面提升自己的AI能力,另一方面作为转型AI的实战练习.在此把学习过程记录下来,算是自己的笔记. 二.正文 2.1 下载pyaiml 下载pya ...
- python web微信应用(三) 微信智能聊天机器人
文章目录 前言 一.webwx 模块介绍 二.微信智能聊天 前言 本篇文章作为系列第三篇文章,将实现一个微信智能聊天机器人: 系列其它文章请参考: python web微信应用(一) 微信协议分析 p ...
- 基于“机器学习”的智能聊天机器人---python实现(1)
本博文以自己课程设计为依托,介绍如何利用python语言编程实现基于"机器学习"的智能聊天机器人.由于本项目是自己首次接触python以及利用计算机编程实现小型项目,中途遇到诸多问 ...
- 基于“机器学习”智能聊天机器人---python实现(2)
本博文上接上一篇博文"基于"机器学习"智能聊天机器人---python实现(1)" 博文链接:https://blog.csdn.net/DALEONE/art ...
- Python基于AIML智能聊天机器人实战(4)- 机器人自学习能力集成
一.前言 本文是<Python基于AIML智能聊天机器人实战>第四篇:AIML自学习能力集成: AIML是智能对话机器人具有里程碑意义的开源项目,曾斩获多项国际大奖,是基于检索技术的闲聊式 ...
- python微信集成_Python微信公众号后台开发005:集成智能聊天机器人
给公众号集成一个智能聊天机器人 一.前述 ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei). 二.具 ...
- Python基于AIML智能聊天机器人实战视频教程-张子良-专题视频课程
Python基于AIML智能聊天机器人实战视频教程-244人已学习 课程介绍 Python基于AIML的智能聊天机器人开发实战课程,包括典型案例.基础理论.功能拓展.源码框架解读四个方 ...
- 使用 Python 实现一个简单的智能聊天机器人
使用 Python 实现一个简单的智能聊天机器人 文章目录 使用 Python 实现一个简单的智能聊天机器人 简要说明 总体的思路 需要准备的环境 接收用户的语音输入, 并将其存为音频文件 调用百度A ...
- 好想学python机器人_【Python成长之路】从零学GUI -- 制作智能聊天机器人
[写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...
- 【Python成长之路】从零学GUI -- 制作智能聊天机器人
[写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...
最新文章
- angular指令ng-class巧用
- Datawhale组队学习周报(第040周)
- android-menudrawer 和SlidingMenu 用法
- 这门国产语言终于要发布 1.0 版本了
- 【CodeForces - 789D】Weird journey(思维,图的性质,tricks,有坑)
- python爬虫反爬 css 知乎 专栏_反反爬虫系列(四)
- Python3.x中set()集合的使用方法
- linux 触屏设备 无法处理touchevent_一次通讯干扰处理
- linux ss命令查看端口监听情况
- AfxGetMainWnd 函数
- 计算机专业及相关知识测试,计算机知识及测验考试.doc
- 继承中各代码块的执行顺序
- String Shifting(今日头条2017秋招真题)
- P9065 [yLOI2023] 云梦谣 题解
- GO语言-数据结构-栈
- vue中 div高度随另一个div的高度变化
- 真·富文本编辑器的演进之路-Span开胃菜
- 科大讯飞 前端 websocket 实时语音识别 代码_科大讯飞发布智能录音笔和智能TWS耳机,搭载核心AI转写能力...
- 中国黄芪注射液市场评估与投资战略报告(2022版)
- 【每日新闻】中国人工智能技术爆炸发展,美国开始落后?
热门文章
- 计算机电缆国家标准是什么,计算机电缆执行标准是什么
- 学习笔记(01):Linux操作系统入门培训_Linux/Unix基础培训教程视频课程-01.Linux入门培训之_软硬件平台介绍...
- 《请君入瓮——APT攻防指南之兵不厌诈》—第8章8.5节安全贵在未雨绸缪
- [QT] QT加载百度离线地图(二)
- ubuntu14.04 + dlib19.2+【 C++ 】+Face Landmark Detection
- 通过注册表永久禁用系统UAC功能
- 英语在线发音linux,英语单词在线发音
- html自动写对联,html左右对联代码
- 富士通750打印机驱动步骤_非网络激光打印机如何进行网络打印?
- Chromium OS Autotest 服务端测试