聊天机器人对企业组织和客户都非常有帮助。 大多数人都喜欢直接从聊天室进行交谈,而不是致电服务中心。 Facebook发布的数据证明了机器人的价值。 每月在人与公司之间发送的消息超过20亿条。 HubSpot研究表明,有71%的人希望通过消息传递应用程序获得客户支持。 这是解决问题的快速方法,因此聊天机器人在组织中拥有光明的前景。
今天,我们将在Chatbot上构建一个令人兴奋的项目。 我们将从头开始实现一个聊天机器人,该聊天机器人将能够理解用户在说什么并给出适当的响应。
先决条件
为了实现聊天机器人,我们将使用深度学习库Keras,自然语言处理工具包NLTK和一些有用的库。 运行以下命令以确保所有库均已安装
pip install tensorflow keras pickle nltk
Python备忘单- 免费学习Python的主要指南 。
聊天机器人如何工作?
聊天机器人不过是一种智能软件,可以像人类一样与人互动和交流。 有趣吗? 现在让我们了解它们的实际工作原理。 所有聊天机器人都属于NLP(自然语言处理)概念。 NLP由两部分组成:
- NLU(自然语言理解):机器理解人类语言(如英语)的能力。
- NLG(自然语言生成):机器生成类似于人类书面句子的文本的能力。
向用户向聊天机器人提问的图像:“嘿,今天的新闻是什么? 聊天机器人会将用户句子分为两部分:意图和实体。 该句子的意图可能是get_news,因为它表示用户想要执行的操作。 实体会告知有关意图的详细信息,因此“今天”将是实体。 因此,使用这种机器学习模型来识别聊天的意图和实体。
项目文件结构
项目完成后,将剩下所有这些文件。 让我们快速浏览它们中的每一个,它将使您对项目的实施方式有一个了解。
- Train_chatbot.py-在此文件中,我们将构建和训练深度学习模型,该模型可以分类和识别用户对机器人的要求。
- Gui_Chatbot.py-该文件是我们将在其中建立图形用户界面以与我们训练有素的聊天机器人聊天的地方。
- Intents.json-Intents文件包含我们将用于训练模型的所有数据。 它包含标签的集合及其相应的模式和响应。
- Chatbot_model.h5-这是一个分层数据格式文件,我们在其中存储了经过训练的模型的权重和体系结构。
- Classes.pkl-泡菜文件可用于存储所有标签名称,以便在我们预测消息时进行分类。
- Words.pkl- words.pkl泡菜文件包含所有唯一单词,这些单词都是我们模型的词汇。
如何建立自己的聊天机器人?
我通过5个步骤简化了此聊天机器人的构建:
步骤1.导入库并加载数据 -创建一个新的python文件并将其命名为train_chatbot,然后我们将导入所有必需的模块。 之后,我们将在python程序中读取JSON数据文件。
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Activation, Dropout
from keras.optimizers import SGD
import random
import nltk
from nl