我的团队进行了大量的聊天机器人培训,我正在尝试提出一些工具来提高我们的工作质量。在聊天机器人训练中,训练具有不同表达方式的意图非常重要,这些表达方式以非常不同的方式表达相同的意图。理想情况下,集合中话语的语法几乎没有相似之处。
这是一个查询医疗保险范围的意图示例
坏话集
- 我女儿有保险吗?
- 我儿子有医疗保险吗?
- 我儿子有保险吗?
恰如其分的套话
我如何查看我们是否为整个家庭提供保险?
寻求有关医疗保险资格的详细信息
是否有文件详细说明我们的医疗保险政策保护的对象?
我希望能够获取与意图相关的所有话语并分析它们的相似性。我希望我的一组不好的话语具有较高的相似性分数,而我的一组体面的话语具有低的相似性分数。
我试过玩一些 doc2vec 教程,但我觉得我错过了一些东西。我一直看到这样的东西:
- 训练一组数据,然后测量一个新句子与您的一组数据的相似度
- 测量两个句子之间的相似度
我需要有一系列句子并了解它们彼此之间的相似程度。
关于实现这一目标的任何建议?
回答一些问题:
- 是什么让糟糕的话语变得糟糕?话语本身并不糟糕,只是它们之间缺乏多样性。如果大部分训练都像“坏”集,那么将无法正确识别更多种类的真实用户话语。
- 您是否正在尝试发现新的意图?不,这是为了预发布训练,试图提高它的有效性。
- 为什么不好的话语具有高相似度分数而良好话语具有低相似度分数?这是一个假设。我知道真实的用户话语有多么不同,而且我发现我的培训师在训练时陷入了困境,以同样的方式提出问题,并且没有看到良好的准确性结果。改善话语的多样性往往会导致更好的准确性。
- 我将如何处理这些信息?我将使用它来评估意图的训练质量,以确定是否可能需要更多的训练。将来,我们可能会构建实时工具,因为正在添加话语以让培训师知道它们是否过于重复。