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 yield使用方法示例
Dec 04 Python
Python对象体系深入分析
Oct 28 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 Python
谈谈python中GUI的选择
Mar 01 Python
Python3分析处理声音数据的例子
Aug 27 Python
python学生信息管理系统实现代码
Dec 17 Python
python实现图片横向和纵向拼接
Mar 05 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
Python为何不支持switch语句原理详解
Oct 21 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
jquery实现显示已选用户
2014/07/21 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
vue filters的使用详解
2018/06/11 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python障碍式期权定价公式
2019/07/19 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
python实现的汉诺塔算法示例
2019/10/23 Python
Python中logging日志库实例详解
2020/02/19 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
使用Python实现音频双通道分离
2020/12/25 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
师说教学反思
2014/02/07 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
服务质量承诺书
2014/03/27 职场文书
二年级学生评语大全
2014/04/23 职场文书
广播节目策划方案
2014/05/23 职场文书
小学中队委竞选稿
2015/11/20 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
Python读取和写入Excel数据
2022/04/20 Python