本公开总体上涉及聊天机器人系统,并且更具体地涉及用于在自然语言处理中训练聊天机器人系统的数据扩充技术。
背景技术:
1、为了获得即时反应,世界各地的许多用户使用即时消息传递或聊天平台。组织经常使用这些即时消息传递或聊天平台与客户(或最终用户)进行实时会话。然而,雇用服务人员与客户或最终用户进行实时交流对于组织来说会是非常昂贵的。已经开始开发聊天机器人或机器人来模拟与最终用户的会话,尤其是通过因特网。最终用户可以通过最终用户已经安装并使用的消息传递应用程序与机器人交流。智能机器人(通常通过人工智能(ai)提供动力)可以在实时会话中更智能地且根据上下文进行交流并且因此可以允许机器人与最终用户之间进行更加自然的会话以改善会话体验。不是最终用户去学习机器人知道如何作出回应的固定的一组关键词或命令,而是智能机器人可以能够基于自然语言的用户话语理解最终用户的意图并且相应地作出回应。
2、然而,聊天机器人很难构建,因为这些自动化解决方案需要某些领域中的特定知识和可能只在专业开发人员的能力范围内的某些技术的应用。作为构建这种聊天机器人的一部分,开发人员可以首先了解企业和最终用户的需求。开发人员然后可以分析并作出与例如以下各项有关的决策:选择要用于分析的数据集;准备用于分析的输入数据集(例如,在分析之前清理数据、提取、格式化和/或变换数据,执行数据特征工程等);识别用于执行分析的适当的(多种)机器学习(ml)技术或(多个)ml模型;以及改善技术或模型以基于反馈改善结果/效果。识别适当的模型的任务可以包括开发多个模型(可能并行地)、迭代地对这些模型进行测试和实验、之后识别特定的模型(或多个模型)以供使用。进一步地,基于监督式学习的解决方案通常涉及训练阶段、随后是应用(即,推理)阶段和介于训练阶段与应用阶段之间的迭代循环。开发人员可以负责仔细地实施并监测这些阶段,以实现最佳解决方案。例如,为了训练(多种)ml技术或(多个)模型,需要精确的训练数据以使算法能够理解和学习某些模式或特征(例如,对于聊天机器人——需要意图提取和仔细的句法分析,而不仅仅是原始语言处理),(这些)ml技术或模型将使用这些模式或特征来预测期望的结果(例如,从话语中推断出意图)。为了确保(多种)ml技术或(多个)模型正确学习这些模式和特征,开发人员可以负责针对(这些)ml技术或模型来选择、丰富和优化训练数据集。
技术实现思路
1、本公开涉及用于在自然语言处理中训练聊天机器人系统的数据扩充技术。
2、在各种实施例中,提供了一种方法,所述方法包括:由数据处理系统生成针对实体的要覆盖的值列表;由所述数据处理系统从具有所述实体的上下文的数据集中选择话语;由所述数据处理系统将所述话语转换为模板,其中,所述模板中的每个模板包括针对所述实体的映射到所述值列表的词槽;由所述数据处理系统从所述模板中选择模板;由所述数据处理系统基于所选模板内的词槽与针对所述实体的所述值列表之间的映射从所述值列表中选择值;以及由所述数据处理系统使用所述所选模板和所选值生成人工话语,其中,生成所述人工话语包括将所述所选值插入所述所选模板的所述词槽中。
3、在一些实施例中,所述方法进一步包括:在从所述数据集中选择话语之前,由所述数据处理系统使用训练数据集训练模型,其中,所述训练数据集是所述数据集或其子集;由所述数据处理系统使用测试数据集或验证数据集测试所述模型;由所述数据处理系统基于对所述模型的所述测试来评估所述模型的性能;以及由所述数据处理系统基于所述评估来识别所述实体。
4、在一些实施例中,所述方法进一步包括:由所述数据处理系统用所述人工话语扩充所述数据集或所述训练数据集,以生成已扩充的训练数据集;由所述数据处理系统使用所述已扩充的训练数据集来训练所述模型;由所述数据处理系统使用所述测试数据集或所述验证数据集或另一测试数据集或验证数据集重新测试所述模型;由所述数据处理系统基于对所述模型的所述重新测试来评估所述模型的性能;由所述数据处理系统确定所述模型的所述性能满足预定义标准;以及响应于所述模型满足所述预定义标准,将所述模型部署为聊天机器人系统的一部分。
5、在一些实施例中,所述方法进一步包括:由所述数据处理系统确定所述所选模板内的所述词槽包括映射到所述值列表的第一元素以及映射到函数的第二元素;由所述数据处理系统基于所述所选模板内的所述词槽与所述函数之间的映射来处理所述函数,以生成函数值;以及由所述数据处理系统将所述所选值与所述函数值进行组合以获得词槽值,其中,生成所述人工话语包括将所述词槽值插入所述所选模板的所述词槽中。
6、在一些实施例中,所述方法进一步包括:由所述数据处理系统确定所述所选模板映射到包括所述词槽和另一词槽的嵌套词槽映射集;由所述数据处理系统确定所述嵌套词槽映射集中的所述另一词槽映射到另一值列表;以及由所述数据处理系统基于所述所选模板内的另一词槽与所述另一值列表之间的映射从所述另一值列表中选择另一值,其中,生成所述人工话语包括将所述所选值插入所述所选模板的所述词槽中并将所选另一值插入所述所选模板中的所述另一词槽中。
7、在一些实施例中,所述方法进一步包括由所述数据处理系统用所述人工话语扩充所述数据集或训练数据集,以生成已扩充的训练数据集,用于训练模型以对包括所述实体的多个实体进行识别和分类。
8、在一些实施例中,所述模板是基于包括以下条件的启发式方法来选择的:(i)在具有多个实体分类的模板与具有单一实体分类的模板中做出选择;(ii)权衡模板种类与模板质量;(iii)根据上下文对模板进行归类;(iv)模型是否需要每个模板的最低出现次数/用户想要教导所述模型的独特上下文;或(v)以上各项的任何组合。
9、在各种实施例中,提供了一种系统,所述系统包括一个或多个数据处理器和包含指令的非暂态计算机可读存储介质,所述指令当在所述一个或多个数据处理器上执行时使所述一个或多个数据处理器执行本文所公开的一种或多种方法的部分或全部。
10、在各种实施例中,提供了一种计算机程序产品,所述计算机程序产品有形地体现在非暂态机器可读存储介质中并且包括被配置成使一个或多个数据处理器执行本文所公开的一种或多种方法的部分或全部的指令。
11、可以用多种方式并且在多种上下文中实施上文和下文所描述的技术。如下文更详细地描述的,参考以下附图提供了几种示例实施方式和上下文。然而,以下实施方式和上下文仅是许多实施方式和上下文中的一些。
1.一种方法,包括:
2.如权利要求1所述的方法,进一步包括:
3.如权利要求2所述的方法,进一步包括:
4.如权利要求1所述的方法,进一步包括:
5.如权利要求1所述的方法,进一步包括:
6.如权利要求1所述的方法,进一步包括由所述数据处理系统用所述人工话语扩充所述数据集或训练数据集,以生成已扩充的训练数据集,用于训练模型以对包括所述实体的多个实体进行识别和分类。
7.如权利要求1所述的方法,其中,所述模板是基于包括以下条件的启发式方法来选择的:(i)在具有多个实体分类的模板与具有单一实体分类的模板中做出选择;(ii)权衡模板种类与模板质量;(iii)根据上下文对模板进行归类;(iv)模型是否需要每个模板的最低出现次数/用户想要教导所述模型的独特上下文;或(v)以上各项的任何组合。
8.一种系统,包括:
9.如权利要求8所述的系统,其中,所述处理进一步包括:
10.如权利要求9所述的系统,其中,所述处理进一步包括:
11.如权利要求8所述的系统,其中,所述处理进一步包括:
12.如权利要求8所述的系统,其中,所述处理进一步包括:
13.如权利要求8所述的系统,其中,所述处理进一步包括用所述人工话语扩充所述数据集或训练数据集,以生成已扩充的训练数据集,用于训练模型以对包括所述实体的多个实体进行识别和分类。
14.如权利要求8所述的系统,其中,所述模板是基于包括以下条件的启发式方法来选择的:(i)在具有多个实体分类的模板与具有单一实体分类的模板中做出选择;(ii)权衡模板种类与模板质量;(iii)根据上下文对模板进行归类;(iv)模型是否需要每个模板的最低出现次数/用户想要教导所述模型的独特上下文;或(v)以上各项的任何组合。
15.一种非暂态计算机可读存储器,所述非暂态计算机可读存储器存储有能够由一个或多个处理器执行的多个指令,所述多个指令包括当由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下操作的处理的指令:
16.如权利要求15所述的非暂态计算机可读存储器,其中,所述处理进一步包括:
17.如权利要求16所述的非暂态计算机可读存储器,其中,所述处理进一步包括:
18.如权利要求15所述的非暂态计算机可读存储器,其中,所述处理进一步包括:
19.如权利要求15所述的非暂态计算机可读存储器,其中,所述处理进一步包括:
20.如权利要求15所述的非暂态计算机可读存储器,其中,所述处理进一步包括用所述人工话语扩充所述数据集或训练数据集,以生成已扩充的训练数据集,用于训练模型以对包括所述实体的多个实体进行识别和分类。