如何使用 Chatterbot 模块在Python中制作聊天机器人?
ChatBot基本上是一个计算机程序,它通过听觉或文本方法在用户和计算机之间进行对话。它可以作为现实世界的对话伙伴。
ChatterBot是Python中的一个库,它生成对用户输入的响应。它使用了许多机器学习算法来生成各种响应。它使用户可以更轻松地使用 chatterbot 库制作聊天机器人以获得更准确的响应。聊天机器人的设计允许机器人以多种语言进行交互,包括西班牙语、德语、英语和许多区域语言。机器学习算法还使机器人更容易根据用户输入自行改进。
如何使用Python分五步制作聊天机器人?
我们将采取循序渐进的方法,最终制作我们自己的聊天机器人。
让我们以最短的方式开始我们自己的聊天机器人之旅:-
步骤 1. 安装 Chatterbot 和 chatterbot_corpus 模块:
第一步也是最重要的一步是安装 chatterbot 库。您还需要安装 chatterbot_corpus 库。基本上,语料库意味着一堆单词。 Chatterbot 语料库包含一组包含在 chatterbot 模块中的数据。机器人使用语料库来训练自己。
在终端上运行以下pip命令进行安装:
pip install chatterbot
pip install chatterbot_corpus
步骤 2. 导入模块
我们必须导入两个类:来自 chatterbot 的 ChatBot 和来自 chatterbot.trainers 的 ListTrainer。
ListTrainer:允许使用字符串列表训练聊天机器人,其中列表表示对话。
Python3
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
Python3
bot = ChatBot('Bot')
Python3
chatbot = ChatBot(
'JARVIS',
logic_adapters=[
'chatterbot.logic.BestMatch',
'chatterbot.logic.TimeLogicAdapter'],
)
Python3
from chatterbot.trainers import ListTrainer
trainer = ListTrainer(bot)
trainer.train([
'Hi',
'Hello',
'I need roadmap for Competitive Programming',
'Just create an account on GFG and start',
'I have a query.',
'Please elaborate, your concern',
'How long it will take to become expert in Coding ?',
'It usually depends on the amount of practice.',
'Ok Thanks',
'No Problem! Have a Good Day!'
])
Python3
response = bot.get_response("Good morning!")
print(response)
Python3
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
from chatterbot.trainers import ListTrainer
bot = ChatBot('Bot')
trainer = ListTrainer(bot)
trainer.train([
'Hi',
'Hello',
'I need roadmap for Competitive Programming',
'Just create an account on GFG and start',
'I have a query.',
'Please elaborate, your concern',
'How long it will take to become expert in Coding ?',
'It usually depends on the amount of practice.',
'Ok Thanks',
'No Problem! Have a Good Day!'
])
while True:
request=input('you :')
if request == 'OK' or request == 'ok':
print('Bot: bye')
break
else:
response=bot.get_response(request)
print('Bot:', response)
第 3 步。为我们的聊天机器人命名:
现在,我们将为我们选择的聊天机器人命名。只需创建一个 Chatbot 对象。在这里,聊天机器人被称为“机器人”,只是为了使其易于理解。
蟒蛇3
bot = ChatBot('Bot')
步骤 4. 逻辑适配器的使用:
逻辑适配器调节聊天机器人背后的逻辑,也就是说,它为提供给它的任何输入选择响应。此参数包含所有逻辑运算符的列表。当使用多个逻辑适配器时,聊天机器人将计算置信度,计算出的置信度最高的响应将作为输出返回。
这里我们使用了两个逻辑适配器:
- BestMatch: BestMatchAdapter 帮助它从已经提供的响应列表中选择最佳匹配。
- TimeLogicAdapter: TimeLogicAdapter 标识在其中询问有关当前时间的问题的语句。如果检测到匹配的问题,则返回包含当前时间的响应。
蟒蛇3
chatbot = ChatBot(
'JARVIS',
logic_adapters=[
'chatterbot.logic.BestMatch',
'chatterbot.logic.TimeLogicAdapter'],
)
步骤 5. 培训、沟通和测试:
对于训练过程,您需要传入一个语句列表,其中每个语句的顺序基于其在给定对话中的位置。我们必须训练机器人以提高其性能,为此我们需要通过传递句子列表来调用train()方法。培训确保机器人有足够的知识来开始对特定输入的特定响应。训练后,让我们检查一下它的沟通技巧。最后一步是做测试
您现在必须执行以下命令:
蟒蛇3
from chatterbot.trainers import ListTrainer
trainer = ListTrainer(bot)
trainer.train([
'Hi',
'Hello',
'I need roadmap for Competitive Programming',
'Just create an account on GFG and start',
'I have a query.',
'Please elaborate, your concern',
'How long it will take to become expert in Coding ?',
'It usually depends on the amount of practice.',
'Ok Thanks',
'No Problem! Have a Good Day!'
])
现在让我们测试聊天机器人:
蟒蛇3
response = bot.get_response("Good morning!")
print(response)
输出:
Hello
下面是完整的实现:
蟒蛇3
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
from chatterbot.trainers import ListTrainer
bot = ChatBot('Bot')
trainer = ListTrainer(bot)
trainer.train([
'Hi',
'Hello',
'I need roadmap for Competitive Programming',
'Just create an account on GFG and start',
'I have a query.',
'Please elaborate, your concern',
'How long it will take to become expert in Coding ?',
'It usually depends on the amount of practice.',
'Ok Thanks',
'No Problem! Have a Good Day!'
])
while True:
request=input('you :')
if request == 'OK' or request == 'ok':
print('Bot: bye')
break
else:
response=bot.get_response(request)
print('Bot:', response)
输出: