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连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
python uuid模块使用实例
Apr 08 Python
python实现bucket排序算法实例分析
May 04 Python
Python中的默认参数详解
Jun 24 Python
详解flask入门模板引擎
Jul 18 Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
如何基于Python批量下载音乐
Nov 11 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
windows上彻底删除jupyter notebook的实现
Apr 13 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Python移位密码、仿射变换解密实例代码
Pytest中conftest.py的用法
Python实现8种常用抽样方法
Python基于百度API识别并提取图片中文字
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
You might like
一些星际专用术语解释
2020/03/04 星际争霸
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
浅析php header 跳转
2013/06/17 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
php获取图片信息的方法详解
2015/12/10 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
在python中实现对list求和及求积
2018/11/14 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
应届生求职自荐信
2014/07/04 职场文书
孔繁森观后感
2015/06/10 职场文书
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers