📜  使用 Python-NLTK 创建一个基本的硬编码 ChatBot

📅  最后修改于: 2022-05-13 01:55:21.278000             🧑  作者: Mango

使用 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 方法来自动化聊天机器人。