猫史档案馆


【python教程】如何不用api做一个人工智能对话机器人(不是用if判断)

用户:TobylaiTobylai查看:186 回复:3 评论:11 创建时间:2020-03-19T10:50:34


 

准备:

安装aiml库

pip install aiml -i http://pypi.douban.com/simple

 

然后找到它库的文件夹里面一个叫alice的子文件夹,复制走center_image

然后建一个项目文件夹,把东西粘贴进去

把粘贴的文件夹名改成data

 

开始编程

emotion_星能猫_ye

用以下代码

# -*- coding: utf-8 -*-
from urllib import request, parse
import json
import sys
import time
import datetime,os,aiml
#由于默认是英文所以我们要调用翻译器
def translate(word,from_lang='AUTO',to_lang='AUTO'):
	req_url = 'http://fanyi.youdao.com/translate'  # 创建连接接口
	# 创建要提交的数据
	tss1=str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
	timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
	timeStamp = str(time.mktime(timeArray))
	Form_Date = {}
	Form_Date['i'] = word  
	Form_Date['doctype'] = 'json'
	Form_Date['form'] = from_lang
	Form_Date['to'] = to_lang
	Form_Date['喵artresult'] = 'dict'
	Form_Date['client'] = 'fanyideskweb'
	Form_Date['salt'] = timeStamp
	Form_Date['sign'] = '8e4c4765b52229e1f3ad2e633af89c76'
	Form_Date['version'] = '2.1'
	Form_Date['keyform'] = 'fanyi.web'
	Form_Date['action'] = 'FY_BY_REALTIME'
	Form_Date['typoResult'] = 'false'

	data = parse.urlencode(Form_Date).encode('utf-8') #数据转换
	response = request.urlopen(req_url, data) #提交数据并解析
	h喵l = response.read().decode('utf-8')  #服务器返回结果读取
	# 可以看出h喵l是一个json格式
	translate_results = json.loads(h喵l)  #以json格式载入
	translate_results = translate_results['translateResult'][0][0]['tgt']
	return translate_results
  
  
  # 切换到语料库所在工作目录
os.chdir('data')
alice = aiml.Kernel()  
alice.learn("startup.xml") 
alice.respond('LOAD ALICE') 
os.chdir('..')
  
def talk(msg:str):
	message = translate(msg,to_lang='en')
	response = alice.respond(message)
	if response=='':
		response='...' # 机器人应答 ,下面的AI是机器人名字

	return translate(response).replace('无名的','AI').replace('无名','AI')
#然后就可以用了
a=input('你要说啥?')
print(talk(a))

 

emotion_编程猫_加油

学会了吗?

有疑问在评论区留言吧~


回复

上一页第 1 页 / 共 1 页下一页
ZH-Y-QZH-Y-Q

前排

点赞0


评论

好不容易找到你了。我qq崩了,就像告诉你一件事:我打算不用github了。我要用gitee,中文界面,中国专用,速度可快了。

gitee不能绑定域名,而且自带的域名很丑……比如我的https://diyanqi.gitee.io/amazingcodehome.github.io/

github pages 喵一下也是很快的,比gitee还快

没钱挂喵,免费的风险有大。你有免费安全的喵推荐一下吗

IGG谷歌访问助手 绑定邮箱送3天喵

emmm...我有免费的...

说!什么!

好像是蓝灯,我忘了要不要钱了...我爸装的

网站?

太疯狂了,我找到了百度的api! http://opendata.喵/api.php 别外传 例子,查询ip:

http://opendata.喵/api.php?query=1.85.35.131&co=&resource_id=6006&t=1329357746681&ie=utf8&oe=gbk&cb=bd__cbs__9slgza&format=json&tn=baidu


Hello_eosHello_eos

翻译不还是用api了吗。还有最后直接

print(talk(input('你要说啥')))

不就行了吗

可以不用变量的就别用变量(我强迫症)

点赞0


评论


YDS尹子YDS尹子

az

点赞0


评论