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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
python django集成cas验证系统
Jul 14 Python
Python常用模块用法分析
Sep 08 Python
Python封装shell命令实例分析
May 05 Python
Python基于Tkinter实现的记事本实例
Jun 17 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
Mar 13 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
Python 实现数据结构-循环队列的操作方法
Jul 17 Python
django-crontab实现服务端的定时任务的示例代码
Feb 17 Python
Python定义函数实现累计求和操作
May 03 Python
win10安装python3.6的常见问题
Jul 01 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
Terran建筑一览
2020/03/14 星际争霸
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
python检测某个变量是否有定义的方法
2015/05/20 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
使用python计算三角形的斜边例子
2020/04/15 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
证婚人搞笑证婚词
2014/01/10 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
安全生产实施方案
2014/02/23 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
教师自我剖析材料
2014/09/29 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP