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的__builtin__模块中的一些要点知识
May 02 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
浅谈Python traceback的优雅处理
Aug 31 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
pandas 数据结构之Series的使用方法
Jun 21 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
python3 配置logging日志类的操作
Apr 08 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
Apr 22 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
pytorch 中autograd.grad()函数的用法说明
May 12 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
js 调用百度分享功能
2017/02/27 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
JavaScript内置对象math,global功能与用法实例分析
2019/06/10 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Python实现简单HTML表格解析的方法
2015/06/15 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
使用python制作一个解压缩软件
2019/11/13 Python
django从后台返回html代码的实例
2020/03/11 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
工商管理应届生求职信
2013/10/07 职场文书
汽车销售顾问求职自荐信
2014/01/01 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
出生公证委托书
2014/04/03 职场文书
高中生评语大全
2014/04/25 职场文书
大学班级文化建设方案
2014/05/06 职场文书
一帮一活动总结
2014/05/08 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers