使用 Python-NLTK 创建一个基本的硬编码 ChatBot
在 Jupyter Notebook 中使用Python创建一个基本的聊天机器人。该聊天机器人使用输入到Python代码中的硬编码输入和输出与用户进行交互。
要求:
您需要安装 NLTK(自然语言工具包),它为用Python编程语言编写的英语符号和统计自然语言处理提供库和程序。要安装此模块,请在终端中键入以下命令。
pip install nltk
下面是实现
from nltk.chat.util import Chat, reflections
pairs =[
['my name is (.*)', ['Hello ! % 1']],
['(hi|hello|hey|holla|hola)', ['Hey there !', 'Hi there !', 'Hey !']],
['(.*) your name ?', ['My name is Geeky']],
['(.*) do you do ?', ['We provide a platform for tech enthusiasts, a wide range of options !']],
['(.*) created you ?', ['Geeksforgeeks created me using python and NLTK']]
]
chat = Chat(pairs, reflections)
chat.converse()
输出:
上面代码的解释:
在第一行代码中,我们从 Natural Language Toolkit 的聊天机器人实用程序中导入了 Chat 类和 Reflections 字典。聊天类,它将处理用户和您的聊天机器人之间的对话。 Reflections 是一个字典,当正则表达式组中的值与字典中的键匹配时,它将输出响应中的值。因此,对于列表对的第一项,如果我们输入我的名字是 geeky,其中 geeky 对应于正则表达式“(.*)”,它将输出“Hello! Geeky”,即它用“Geeky”替换了响应“%1”的正则表达式,该正则表达式被称为“(.*)”。现在我们使用对和反射字典初始化聊天机器人。然后在初始化之后,我们调用 Chat 类的 converse 方法来自动化聊天机器人。