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实现购物系统(示例讲解)
Sep 13 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
wxPython实现窗口用图片做背景
Apr 25 Python
详解django自定义中间件处理
Nov 21 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
pyqt5使用按钮进行界面的跳转方法
Jun 19 Python
解决os.path.isdir() 判断文件夹却返回false的问题
Nov 29 Python
Python通过4种方式实现进程数据通信
Mar 12 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
文件上传程序的全部源码
2006/10/09 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
ext实现完整的登录代码
2008/08/08 Javascript
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
javascript常用函数(1)
2015/11/04 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
Python实现Const详解
2015/01/27 Python
Python 正则表达式的高级用法
2016/12/04 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python随机模块random使用方法详解
2020/02/14 Python
linux 下selenium chrome使用详解
2020/04/02 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
《梅兰芳学艺》教学反思
2014/02/24 职场文书
检举信的格式及范文
2014/04/04 职场文书
请假条怎么写
2014/04/10 职场文书
一帮一活动总结
2014/05/08 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
建筑安全责任书范本
2014/07/24 职场文书
企业党员岗位承诺书
2015/04/27 职场文书