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正则表达式操作指南(re使用)
Sep 06 Python
python实现在pickling的时候压缩的方法
Sep 25 Python
python使用三角迭代计算圆周率PI的方法
Mar 20 Python
python判断windows系统是32位还是64位的方法
May 11 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
Pytorch入门之mnist分类实例
Apr 14 Python
Python骚操作之动态定义函数
Mar 26 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
Django 迁移、操作数据库的方法
Aug 02 Python
使用tqdm显示Python代码执行进度功能
Dec 08 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
Cakephp 执行主要流程
2010/03/24 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
dedecms中使用php语句指南
2014/11/13 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
JS函数定义方式的区别介绍
2016/03/22 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
Python3 log10()函数简单用法
2019/02/19 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python Shapely使用指南详解
2020/02/18 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
python db类用法说明
2020/07/07 Python
如何利用python进行时间序列分析
2020/08/04 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
迎国庆演讲稿
2014/09/15 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
酒店前台岗位职责
2015/04/16 职场文书
唐山大地震观后感
2015/06/05 职场文书
退休欢送会致辞
2015/07/31 职场文书
企业安全生产规章制度
2015/08/06 职场文书
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
springboot中的pom文件 project报错问题
2022/01/18 Java/Android