Python实现生活常识解答机器人


Posted in Python onJune 28, 2021

一、问答平台

这个「生活常识解答」机器人采用的是:阿里达摩院发布的语言模型PLUG(最近刚发布的,目前是测试阶段),地址链接如下:

https://nlp.aliyun.com/portal#/BigText_chinese

Python实现生活常识解答机器人

该模型参数规模达270亿,采用1TB以上高质量中文文本训练数据,包括了新闻、小说、诗歌、常识问答等类型。

先来看一下原页面效果

Python实现生活常识解答机器人

这里是需要登录阿里云账号,登录之后可以在网页进行测试问答!

因此我们下面将通过抓包方式获取这个问答的请求链接,然后在python代码中requests发送post请求去进行提问,然后返回结果(答案)。

二、抓包

在浏览器里面F12,点击network,然后点击一下提问,获取链接。

首先是发送的参数(提问)

Python实现生活常识解答机器人

然后是返回的json数据

Python实现生活常识解答机器人

请求链接

https://nlp.aliyun.com/otherApi/yymx/cdgmwbsc

Python实现生活常识解答机器人

因此这个数据包的相关信息(请求链接,参数,返回结果)我们已经知道了,下面开始编写python代码

三、编写代码

首先是导入python库和请求头

 

import requests
import json
header={
    'content-type':'application/json',
    'cookie':'上面页面中你自己的cookie',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36',
}

经过测试,有用的请求头参数是上面三个(content-type、cookie、User-Agent),缺一不可。

参数(其中q是问题,length是返回答案长度,type是对应常识问题)

 

q = "程序员脱发用什么洗发水好?"
data = {
    'length':'128',
    'type':'2',
    'passage':q,
}

发送请求

 

url = "https://nlp.aliyun.com/otherApi/yymx/cdgmwbsc"
text = requests.post(url,data = json.dumps(data),headers=header).json()
print(text['res'])

返回结果

Python实现生活常识解答机器人

下面为了能够多轮提问,将请求部分代码放到循环中(如果输入是exit则退出循环)

Python实现生活常识解答机器人

四、小结

今天阿辰主要就教大家用Python爬虫去搭建一个「生活常识解答」机器人。

这个机器人主要是依托于“阿里达摩院发布的语言模型PLUG”,通过爬虫的方式,发送post请求(提问),然后返回json数据(回答)。轻松实现多轮提问。

到此这篇关于Python实现生活常识解答机器人的文章就介绍到这了,更多相关Python机器人内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python时间整形转标准格式的示例分享
Feb 14 Python
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
python使用7z解压apk包的方法
Apr 18 Python
Python自动调用IE打开某个网站的方法
Jun 03 Python
python简单图片操作:打开\显示\保存图像方法介绍
Nov 23 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
利用nohup来开启python文件的方法
Jan 14 Python
OpenCV 边缘检测
Jul 10 Python
python中open函数的基本用法示例
Sep 07 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
python按照list中字典的某key去重的示例代码
Oct 13 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
星际争霸任务指南——人族
2020/03/04 星际争霸
用PHP实现Ftp用户的在线管理的代码
2007/03/06 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
PHP微信分享开发详解
2017/01/14 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
Python实现Logger打印功能的方法详解
2017/09/01 Python
python实现矩阵打印
2019/03/02 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
python爬虫实现中英翻译词典
2019/06/25 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
.NET现在共支持多少种语言
2014/02/26 面试题
Hibernate持久层技术
2013/12/16 面试题
军人违纪检讨书
2014/02/04 职场文书
企业后勤岗位职责
2014/02/28 职场文书
2014年征兵标语
2014/06/20 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2015年个人思想总结
2015/03/09 职场文书
2016新年年会主持词
2015/07/06 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
小学教代会开幕词
2016/03/04 职场文书