Python NLP开发之实现聊天机器人
作者:爱看书的小沐 发布时间:2021-12-21 18:04:48
标签:Python,聊天,机器人
1、简介
AI 聊天机器人使用自然语言处理 (NLP) 来帮助用户通过文本、图形或语音与 Web 服务或应用进行交互。聊天机器人可以理解自然人类语言、模拟人类对话并运行简单的自动化任务。此外,AI 聊天机器人还利用预测智能和分析技术来了解用户的偏好,并利用了解的这些信息来提供建议和预测需求
AI 聊天机器人用于各种渠道,例如消息传递应用、移动应用、网站、电话线路和支持语音的应用。它们可以针对不同目的而开发,无论是仅处理一些简单的命令,还是充当复杂的数字助理和交互式代理。AI 聊天机器人可以是大型应用程序的一部分,也可以完全独立存在
2、代码测试
2.1 open.drea.cc
import requests
import json
while True:
msg = input('我:')
sess = requests.get(
('https://open.drea.cc/bbsapi/chat/get?keyWord=' + msg + '&userName=type%3Dbbs'))
js = sess.text
js = json.loads(js)
print('微梦机器人:', js['data']['reply'])
2.2 api.ruyi.ai
import requests
import json
while True:
msg = input('我:')
sess = requests.get(('http://api.ruyi.ai/v1/message?app_key=your_key&user_id=test123&q=' + msg))
js = sess.text
js = json.loads(js)
js = js['result']['intents']
js = js[0]['result']['text']
print('海知机器人:', js)
2.3 route.showapi.com
import requests
import json
while True:
msg = input('我:')
sess = requests.get(
('http://route.showapi.com/60-27?&showapi_appid=102421&userid=userid&showapi_sign=your_key&info=' + msg))
js = sess.text
js = json.loads(js)
print('万维易源机器人:', js['showapi_res_body']['text'])
2.4 api.binstd.com
import requests
import json
while True:
msg = input('我:')
sess = requests.get(
('https://api.binstd.com/iqa/query?appkey=your_key&question=' + msg))
js = sess.text
js = json.loads(js)
print('进制机器人:', js['result']['content'])
2.5 api.jisuapi.com
import requests
import json
while True:
msg = input('我:')
sess = requests.get(('https://api.jisuapi.com/iqa/query?appkey=c0e4885a90566a7b&question=' + msg))
js = sess.text
js = json.loads(js)
print('极速机器人:', js['result']['content'])
2.6 api.fanyi.baidu.com
import requests
import string
import time
import hashlib
import json
#init
api_url = "http://api.fanyi.baidu.com/api/trans/vip/translate"
my_appid = 'your_key'
cyber = 'your_cyber '
lower_case = list(string.ascii_lowercase)
def requests_for_dst(word):
#init salt and final_sign
salt = str(time.time())[:10]
final_sign = str(my_appid)+word+salt+cyber
final_sign = hashlib.md5(final_sign.encode("utf-8")).hexdigest()
#区别en,zh构造请求参数
if list(word)[0] in lower_case:
paramas = {
'q': word,
'from': 'en',
'to': 'zh',
'appid': '%s' % my_appid,
'salt': '%s' % salt,
'sign': '%s' % final_sign
}
my_url = api_url+'?appid=' + \
str(my_appid)+'&q='+word+'&from='+'en'+'&to=' + \
'zh'+'&salt='+salt+'&sign='+final_sign
else:
paramas = {
'q': word,
'from': 'zh',
'to': 'en',
'appid': '%s' % my_appid,
'salt': '%s' % salt,
'sign': '%s' % final_sign
}
my_url = api_url+'?appid=' + \
str(my_appid)+'&q='+word+'&from='+'zh'+'&to=' + \
'en'+'&salt='+salt+'&sign='+final_sign
response = requests.get(api_url, params=paramas).content
content = str(response, encoding="utf-8")
json_reads = json.loads(content)
print('小度机器人:这句话翻译为中文是',json_reads['trans_result'][0]['dst'])
while True:
word = input("我: ")
requests_for_dst(word)
2.7 aiml
import aiml
import sys
import os
def get_module_dir(name):
print("module", sys.modules[name])
path = getattr(sys.modules[name], '__file__', None)
print(path)
if not path:
raise AttributeError('module %s has not attribute __file__' % name)
return os.path.dirname(os.path.abspath(path))
alice_path = get_module_dir('aiml') + '\\botdata\\alice'
os.chdir(alice_path)
alice = aiml.Kernel()
alice.learn("startup.xml")
alice.respond('LOAD ALICE')
while True:
message = input("我:")
if("exit" == message):
exit()
response = alice.respond(message)
print('AIML机器人:',response)
2.8 api.tianapi.com
import requests
import json
while True:
msg = input('我:')
sess = requests.get(('http://api.tianapi.com/txapi/robot/index?key=your_key&question=' + msg))
js = sess.text
js = json.loads(js)
print('天行机器人:', js['newslist'])
2.9 nlp.xiaoi.com
import urllib.request,re
while True:
msg = input("我:")
msg = urllib.parse.quote(msg)
link = urllib.request.urlopen(
"http://nlp.xiaoi.com/robot/webrobot?&callback=__webrobot_processMsg&data=%7B%22sessionId%22%3A%22ff725c236e5245a3ac825b2dd88a7501%22%2C%22robotId%22%3A%22webbot%22%2C%22userId%22%3A%227cd29df3450745fbbdcf1a462e6c58e6%22%2C%22body%22%3A%7B%22content%22%3A%22" + msg + "%22%7D%2C%22type%22%3A%22txt%22%7D")
html_doc = link.read().decode()
reply_list = re.findall(r'\"content\":\"(.+?)\\r\\n\"', html_doc)
print("小i机器人:" + reply_list[-1])
2.10 api.qingyunke.com
import requests,json
while True:
msg = input("我:")
js = requests.get("http://api.qingyunke.com/api.php",{'key': 'free', 'appid': 0, 'msg': msg})
js.encoding = 'utf8'
js = js.json()
print('青云客机器人:', js['content'])
2.11 api.ownthink.com
import requests,json
while True:
msg = input('我:')
sess = requests.get(('https://api.ownthink.com/bot?spoken=' + msg))
js = sess.text
js = json.loads(js)
print('思知机器人:', js['data']['info']['text'])
来源:https://blog.csdn.net/hhy321/article/details/130547183
0
投稿
猜你喜欢
- 废话不多说了,直接把我写的timeit函数分享给大家,具体内容如下:/** * Compute the delay to execute a
- Flask-Login 为 Flask 提供用户会话管理。它处理登录、注销和长时间记住用户会话等常见任务。Flask-Login 不绑定到任
- 本文为大家分享了python实现俄罗斯方块游戏,继上一篇的改进版,供大家参考,具体内容如下1.加了方块预览部分2.加了开始按钮在公司实习抽空
- 1.查找重复的行SELECT * FROM blog_user_relation a WHERE (a.account_instance_i
- 这篇文章主要介绍了python基于event实现线程间通信控制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 异常对象Python中遇到错误后,会引发异常。Python中使用异常对象来表示异常情况。如果异常对象未被处理或者捕捉,程序就会用所谓的回溯(
- --会员表 if object_id('userinfo','u') is not null drop ta
- 目录1.使用说明2.准备3.语法3.1 变量及赋值3.2 入参出参3.3 流程控制-判断3.4 流程控制-循环3.5 流程控制-退出、继续循
- 授权就是为某个用户赋予某些权限。例如,可以为新建的用户赋予查询所有数据库和表的权限。MySQL 提供了 GRANT 语句来为用户设置权限。在
- 工作中有时候需要对vgg进行定制化处理,比如有些时候需要借助于vgg的层结构,但是需要使用的是2 channels输入,等等需求,这时候可以
- 相信大家都做过九宫格的游戏,规则是要求填数字1-9在九个方格内,使横竖斜相加和相等。只填九个那可能有些简单,但是填25个,填49个,81个等
- 如下所示:#-*- coding: utf-8 -*-import pandas as pdimport numpy as npfrom p
- 常用Mysql查询语句记录一、授权1.授权本地用户对所有数据库具有所有权限> grant all privileges on
- $server->connections//server−>connections遍历所有websocket连接用户的fd,给所
- 在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境
- csscompressor 库使用在 Python 中可以使用多种方法来压缩 CSS 文件。其中一种流行的方法是使用 csscompress
- 今天我们就从这个问题说起:临时表有哪些特征,适合哪些场景?这里,我需要先帮你厘清一个容易误解的问题:有的人可能会认为,临时表就是内存表。但是
- 一、卷积神经网络卷积神经网络(ConvolutionalNeuralNetwork,CNN)最初是为解决图像识别等问题设计的,CNN现在的应
- sort 标准库Sort 标准库提供了对基本数据类型的切片和自定义类型的切片进行排序的函数,常用函数如下表所示:函数描述Ints(x []i
- 前言:Python函数之所以很好用,还有一点就的能传递参数实现不同场景的灵活使用,对于函数参数的类型小编总结了6种不同的形式。下面来一一学习