python - 用python开发中文会话聊天机器人
问题描述
我想在 python 中开发一个用于中文的对话聊天机器人,就像用户说“你好”,这意味着中文中的“你好”和聊天机器人响应。我认为从头开始构建并为聊天机器人编写每个预期的响应将非常困难。我想找到一个开源库来连接我的 API,它能够响应用户并与用户一起进行保护。我已经知道微软开发的一个叫做“小兵”的聊天机器人,它是专门为中国人开发的,但我不知道他们是否为开发人员提供了 API。还有另一个 github 项目叫做 brobot( https://github .com/lizadaly/brobot/)但我不知道它是否提供中文支持。任何人在这里的任何建议或指导将不胜感激。
解决方案
看看ChatterBot Python 模块。它与语言无关。意味着您可以使用任何语言对其进行训练。样本片段来训练你的机器人。
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
chatbot = ChatBot("bot") # create an instance of ChatBot and name it.
chatbot.set_trainer(ListTrainer)
data = ["你好",
"我很高兴认识你"] # add data for training
chatbot.train(data) # train the bot
while True:
try:
user_input = input("you - ") # ask something to bot
bot_input = chatbot.get_response(user_input) # get curresponding output from bot
print("bot - ",bot_input)
except(KeyboardInterrupt, EOFError, SystemExit):
break
输出:
List Trainer: [####################] 100%
you - 你好
bot - 我很高兴认识你
你可以通过越来越多的对话来训练它。只需将这些对话添加到文本文件中并使用它进行训练。有关训练数据的更多信息,请参阅 ChatterBot 文档。
推荐阅读
- form-submit - 如果您在 javascript 中对包含多个提交选项的表单使用 submit() 函数会发生什么?
- gcc - 使用 GCC 在 VisualStudio 中编译 C++14 项目
- reactjs - 使用 Express 服务器将多个参数传递给 Next.js 自定义 URL
- sql - 提高删除查询的性能
- excel - 如何在运行以下 VBA 代码时删除对象“-Worksheet”的错误方法“范围”失败
- php - 为什么在 Laravel 5.6 中突出显示所有侧边栏菜单项?
- java - button.performclick() java.lang.NullPointerException
- c# - 我的 C# 代码的结构和我的思维方式是否正确?
- javascript - Javascript:如何调用数组数组中的不同对象?
- android - android.support.constraint.ConstraintLayout 不能转换为 android.widget.EditText