python - 如何使用 NLTK 制作更高级的响应聊天机器人?
问题描述
我已经对如何创建聊天机器人(响应部分)进行了大量研究,但是我找不到让它更先进的方法。例如,我不断看到 NLTK 反射,但我想知道 NLTK(或其他模块)中是否有更高级的方法可以让我创建学习机器人、智能机器人甚至 AI,但我在寻找模块、教程方面遇到困难或有助于开始和以这种方式进行的文档。反射并不总是像在上下文中响应那样工作得很好,除非您为内容预先编写了许多行代码,这些代码效率低下并且可能并不总是准确的。注意:我不想被勺子喂食,我只想指出我可以做和看的东西的正确方向。
一个解决方案是,例如用户问:“你最喜欢的演员是谁?”
机器人回复:“布拉德皮特”
(尽管是布拉德,因为有广告 xD)
下面是我试图远离的代码。
pairs = [
[
r"my name is (.*)",
["Hello %1, How are you today ?",]
],
[
r"what is your name ?",
["My name is Chatty and I'm a chatbot ?",]
],
[
r"how are you ?",
["I'm doing good\nHow about You ?",]
],
[
r"sorry (.*)",
["Its alright","Its OK, never mind",]
],
[
r"i'm (.*) doing good",
["Nice to hear that","Alright :)",]
]```
解决方案
推荐阅读
- doxygen - 将递归标记设置为 ON 不会搜索 .NET 项目的子文件夹
- python - 为什么我的计算银行利息的脚本返回 NONE?
- python - TypeError:method() 接受 1 个位置参数,但如果我注册了 api,则会给出 2 个
- go - 无法在golang中跳出外循环
- flutter - 颤振中的计数器小部件
- javascript - 生成密码时重置jquery加强
- node.js - react和express js之间无法建立socket通信
- python - 在 DynamoDB 中创建嵌套地图
- java - 带有 Android 10 的小米上 TextInputLayout 中的 NullPointerException
- unity3d - 移动和跳跃不能同时工作