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 多线程应用介绍
Dec 19 Python
python通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
python项目对接钉钉SDK的实现
Jul 15 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
对Tensorflow中Device实例的生成和管理详解
Feb 04 Python
python numpy实现rolling滚动案例
Jun 08 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
python 实现倒计时功能(gui界面)
Nov 11 Python
Python之qq自动发消息的示例代码
Feb 18 Python
Python实现生成bmp图像的方法
Jun 13 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
python操作mysql数据库
2017/03/05 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
企业安全生产标语
2014/06/06 职场文书
秋季运动会加油词
2015/07/18 职场文书
欢送领导祝酒词
2015/08/12 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
汉语拼音教学反思
2016/02/22 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python