ChatterBot人工智能,聊天机器人,无坑指南(安装,使用)(2.使用篇)
上一篇(安装):https://www.cnblogs.com/Ctrl-cCtrl-v/p/13220584.html
基础代码:
1 from chatterbot import ChatBot
2 from chatterbot.trainers import ListTrainer
3
4 chatbot = ChatBot("小土豆",
5 trainer='chatterbot.trainers.ListTrainer',
6 )
7
8
9
10 conversation = [
11 "你好",
12 "Hi~",
13 "你好啊!"
14 ]
15 chatbot.train(conversation)
16
17 conversation = [
18 "你好吗?",
19 "我很好,谢谢!"
20 ]
21 chatbot.train(conversation)
22
23 conversation = [
24 "你叫什么名字?",
25 "我叫小土豆"
26
27 ]
28 chatbot.train(conversation)
29
30 conversation = [
31 "你过得怎么样?",
32 "我很好,谢谢!"
33 ]
34 chatbot.train(conversation)
35
36 conversation = [
37 "哈哈",
38 "呵呵",
39 "呵呵哒"
40 ]
41 chatbot.train(conversation)
42
43
44 while True:
45 h=input("话:")
46 response = chatbot.get_response(h)
47 print(response)
小土豆是机器人名字没啥用
conversation列表是训练的话,一问一答
默认使用的Levenshtein distance算法能让引擎从问答对中选出一个相近的回答
你还可以在第4行代码上加上
1 logic_adapters=[
2 {
3 'import_path': 'chatterbot.logic.BestMatch'
4 },
5 {
6 'import_path': 'chatterbot.logic.LowConfidenceAdapter',
7 'threshold': 0.65, #匹配度
8 'default_response': 'I am sorry, but I do not understand.' #低于匹配度默认回答
9 }
10 ]
11
12 read_only=True #不学习用户输入的东西,建议关闭,他会乱学习,效果不好!
最终高级版:
1 from chatterbot import ChatBot
2 from chatterbot.trainers import ListTrainer
3
4 chatbot = ChatBot("小土豆",
5 trainer='chatterbot.trainers.ListTrainer',
6 read_only=True,
7 logic_adapters=[
8 {
9 "import_path": 'chatterbot.logic.BestMatch'#回话逻辑
10
11 },
12
13 {
14 'import_path': 'chatterbot.logic.LowConfidenceAdapter',#回话逻辑
15 'threshold': 0.65,#低于置信度,则默认回答
16 'default_response': '我还是个小孩子,不知道怎么回答'
17 }]
18 )
19
20
21
22 conversation = [
23 "你好",
24 "Hi~",
25 "你好啊!"
26 ]
27 chatbot.train(conversation)
28
29 conversation = [
30 "你好吗?",
31 "我很好,谢谢!"
32 ]
33 chatbot.train(conversation)
34
35 conversation = [
36 "你叫什么名字?",
37 "我叫小土豆"
38
39 ]
40 chatbot.train(conversation)
41
42 conversation = [
43 "你过得怎么样?",
44 "我很好,谢谢!"
45 ]
46 chatbot.train(conversation)
47
48 conversation = [
49 "哈哈",
50 "呵呵",
51 "呵呵哒"
52 ]
53 chatbot.train(conversation)
54
55
56 while True:
57 h=input("话:")
58 response = chatbot.get_response(h)
59 print(response)
ChatterBot人工智能,聊天机器人,无坑指南(安装,使用)(2.使用篇)的更多相关文章
- 用 AIML 开发人工智能聊天机器人
借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人.AIML 指的是 Artificial Intelligence Markup Language (人工智能标记语言),它不过是 ...
- 【翻译】用AIML实现的Python人工智能聊天机器人
前言 用python的AIML包很容易就能写一个人工智能聊天机器人. AIML是Artificial Intelligence Markup Language的简写, 但它只是一个简单的XML. 下面 ...
- 一个使用 Python 的人工智能聊天机器人框架
一个Python 的 AI Chatbot框架 建立一个聊天室可以听起来很棒,但它是完全可行的. IKY是一个内置于Python中的AI动力对话对话界面. 使用IKY,很容易创建自然语言会话场景,无需 ...
- 记录k8s:k8s1.8.4无坑离线安装
安装部署: 1. 使用vagrant 准备3太虚拟机,自己使用Vbox 准备3太也可以. 2. 按照 https://github.com/gjmzj/kubeasz 安装. 3. 使用letsenc ...
- QQ 聊天机器人API
QQ机器人是腾讯陆续推出的的人工智能聊天机器人的总称. 都说小Q妹妹聪明好学,我们能够教她说话.也能够请他帮忙查询邮编.手机号,或者解释成语.翻译成语,据说她还会查询手机号码归属地.应用科学计算器. ...
- 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)
在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...
- 人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_178 聊天机器人(ChatRobot)的概念我们并不陌生,也许你曾经在百无聊赖之下和Siri打情骂俏过,亦或是闲暇之余与小爱同学谈 ...
- 【自然语言处理篇】--Chatterbot聊天机器人
一.前述 ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei). 二.具体 1.安装 是的,安装超级简单, ...
- Rasa Stack:创建支持上下文的人工智能助理和聊天机器人教程
相关概念 Rasa Stack 是一组开放源码机器学习工具,供开发人员创建支持上下文的人工智能助理和聊天机器人: • Core = 聊天机器人框架包含基于机器学习的对话管理 • NLU = 用于自然语 ...
- ElasticSearch入坑指南之概述及安装
---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...
随机推荐
- 记录-C#给图片增加文字
业务需要动态给图片增加文字(书本的封面图片),修改字体大小.字体.颜色.控制位置 测试代码: 1 string path = @"E:\cover.png"; 2 3 Bitmap ...
- windows本地认证
windows本地认证 本地认证概述 本地认证最简单的例子就是我们的电脑上存储着自己的账号密码,无论电脑是否联网,只要能开机,就可以输入账号密码登录到电脑中,工作组就是采用本地认证. 那认证流程是什么 ...
- go 编译约束//go:build dev //+build
前言 在真实环境中,我们可能需要为不同的编译环境编写不同的 Go 代码,所以需要做构建约束. 比如:syscall.NewLazyDLL("test.dll") 加载 dll 的程 ...
- stat() "/root/xxx/index.html" failed (13: Permission denied)
前言 在 nginx 上部署静态网页报502,于是查看 nginx 错误日志 error_log /var/log/nginx/error.log;,却没有看到任何错误信息:访问 nginx活动日志 ...
- C++基础学习--随记
博客地址:https://www.cnblogs.com/zylyehuo/ 参考"C++基础与深度解析" 一.预备知识 // c++常用工具 /usr/bin/time //查看 ...
- 虚拟机使用ESXi主机物理硬盘的办法
虚拟机使用ESXi主机物理硬盘的办法 weixin_33928137 于 2018-06-19 15:22:06 发布 868 收藏 1文章标签: 运维版权 VMware Workstation的虚拟 ...
- 【Java】UDP套接字编程
服务器 udpserver.java package server; import java.net.DatagramPacket; import java.net.DatagramSocket; i ...
- 探秘Transformer系列之(21)--- MoE
探秘Transformer系列之(21)--- MoE 目录 探秘Transformer系列之(21)--- MoE 0x00 概要 0x01 前置知识 1.1 MoE出现的原因 1.1.1 神经网络 ...
- Nodejs与管道和信号
Nodejs与管道 Linux的其中一个设计哲学就是小而精,一个程序只做一件事情,然后通过管道将多个程序连接起来完成复杂的任务. 比如如下的命令: ps -ef | grep node cat aaa ...
- LinkedBlockingQueue的take方法底层源码
一.LinkedBlockingQueue的take方法底层源码 LinkedBlockingQueue 的 take 方法是其核心方法之一,用于从队列头部移除并返回元素.如果队列为空,调用 take ...