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可以实现近 ...
随机推荐
- 0基础的人关于C++多态产生的一系列疑问
之前在面试的时候被问过懂不懂C++,懂不懂"多态".我之前搞科研一直在用Python,不会C++.完全没听过"多态"这个词,只听说过"多模态" ...
- linux centos8 mirrorlist: No URLs in mirrorlist,更新yum源
前言 由于官方已经在2021/12/31停止了对CentOS 8的支持,所以需要更新 yum 源,才能使用 更新镜像源 这里用的是阿里的 yum 镜像源 将源文件备份 cd /etc/yum.repo ...
- BGP路由优选原则
0 丢弃下一跳不可达的路由 1 优选Preference_Value值最高的路由(本设备有效) Pref-Val:协议首选值 华为私有的属性,只具有本地(本设备)意义,缺省情况下为0,越大越优,0-6 ...
- substring( )的两种用法?
xx.substring()括号中带的参数不一样,效果就会有很大的区别 1.xx.substring(0,2)表示取第一个和第二个字符(0,1,2表示第一.二.三个字符,含头不含尾的原则就只包含第一. ...
- vite 引入element
import {fileURLToPath, URL} from 'node:url' import {defineConfig, loadEnv} from 'vite' import vue fr ...
- Static Timing Analysis Basics
Preface This note only introduce the essential concepts about Static Timing Analysis, which not cont ...
- sql server2005的死锁
select request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tra ...
- 大量数据topk-分桶+堆+多路并归解决方案
利用分桶.堆与多路归并解决 TopK 问题:结果处理阶段解析 在处理大规模数据时,TopK 问题是一个常见且具有挑战性的任务,即从海量数据中找出最大(或最小)的 K 个元素.为了高效地解决这个问题,我 ...
- zk基础—5.Curator的使用与剖析
大纲 1.基于Curator进行基本的zk数据操作 2.基于Curator实现集群元数据管理 3.基于Curator实现HA主备自动切换 4.基于Curator实现Leader选举 5.基于Curat ...
- kettle+report designer导出带样式的excel包含多个sheet页
场景介绍: 运用pentaho report designer报表设计器,查询数据库字典表生成带有样式的excel,通过kettle pentaho报表输出组件导出形成数据字典,最终形成的数据字典样式 ...