一个非常简单的聊天机器人的数据量

数据挖掘 机器学习 nlp
2022-03-03 10:31:10

对于我大学的一个项目,我必须开发一个简单的聊天机器人。由于我是机器学习的新手,它应该非常简单并且像客户支持一样工作。聊天机器人必须识别与一些非常简单的主题相关的大约 10 个意图。例如,我认为它可以提供有关聚会的信息,所以问题会是“聚会在哪里?聚会什么时候开始?入场费是多少?”之类的问题。

聊天机器人应该对问题进行分类,并且在分类之外它应该给出准备好的答案。如果它不能将问题分配给 10 个意图之一,它应该什么也不做,或者只是回答它不理解这个问题。如果问题有拼写错误,也会发生同样的情况。

所以它应该非常简单,但要使用深度学习方法进行编程。

我的问题是,我应该拥有多少数据来训练这个机器人将问题分配给意图?如果我重新制定每个问题,让我说 20 种方式,我是否能够自己生成数据?或者我是否必须为算法提供大量数据,即使是这样简单的任务?

2个回答

众包您的结果。

您的问题与编写 Amazon Alexa 技能非常相似。为 Alexa 技能创建意图、话语和槽开发这部分 Alexa 技能的推荐方法之一是简单地询问您的朋友和同伴,他们将如何寻求给定的结果。众包你的输入会给你一些可靠的结果,因为其他人的想法可能与你完全不同。我建议跳入您所属的任何 Slack/Discord/聊天频道并在那里询问。此类信息可能有更正式的来源,但我并不直接知道它们。

您的问题涉及 10 个不同意图/类别中的问题分类。

在我看来,这取决于您是否使用哪种算法对数据进行分类。重要的一件事是在每个意图中均匀分布数据肯定会有所帮助。您可以尝试遵循 Python 库,这可能会帮助您进行意图分类(即使它支持实体提取)。 https://github.com/RasaHQ/rasa_nlu