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列表推导式的使用方法
Nov 21 Python
python实现k均值算法示例(k均值聚类算法)
Mar 16 Python
从零学Python之hello world
May 21 Python
浅析Python中的序列化存储的方法
Apr 28 Python
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 Python
Python3 模块、包调用&路径详解
Oct 25 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
python3.4爬虫demo
Jan 22 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
深入理解python多线程编程
Apr 18 Python
分享几种python 变量合并方法
Mar 20 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
一个用于网络的工具函数库
2006/10/09 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
python基础教程之lambda表达式使用方法
2014/02/12 Python
基于Python实现文件大小输出
2016/01/11 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
单位成立周年感言
2014/01/26 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
经典商业广告词
2014/03/13 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
捐助倡议书
2015/01/19 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
幸福终点站观后感
2015/06/04 职场文书
十七岁的单车观后感
2015/06/12 职场文书
中学音乐课教学反思
2016/02/18 职场文书
Golang 遍历二叉树
2022/04/19 Golang