问答数据生成方法及装置、存储介质与流程

文档序号:18465019发布日期:2019-08-17 02:22阅读:162来源:国知局
问答数据生成方法及装置、存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种问答数据生成方法及装置、存储介质。



背景技术:

问答知识是以文本形式的知识为基础,通过语义分析、内容生成、语法梳理等过程得到的进一步结构化的知识。问答知识作为机器自动应答的基础,能够直接影响机器自动应答的准确程度。

目前,问答数据一般依赖于人工编辑的方式生成。也就是,由编辑人员阅读文件,并通过人工手动编写的方式,形成问答数据。但是,人工编辑问答数据带来大量的人力成本及时间成本的浪费,且受到编辑人员的主观影响较大,导致问答数据具备较严重的主观倾向,这导致以此为基础的机器问答存在应答准确度较低的问题。



技术实现要素:

本发明提供一种问答数据生成方法及装置、存储介质,用以降低主观因素对问答数据的影响,以期提高以此为基础的应答准确率,并且,用以节省生成问答数据的人力和时间成本。

第一方面,本发明提供一种问答数据生成方法,包括:

对初始数据进行关键词预处理,得到关键词组与问答模板;

利用已训练好的第一机器学习模型与第二机器学习模型分别对所述关键词组与问答模板组进行处理,得到第一结果集与第二结果集;所述第一结果集用于指示与各关键词组对应的候选问答模板,所述第二结果集用于指示与各问答模板对应的候选关键词组;

对所述第一结果集与所述第二结果集进行匹配互选,得到互选结果;

根据所述互选结果,生成问答数据。

第二方面,本发明提供一种问答数据生成装置,包括:

预处理模块,用于对初始数据进行关键词预处理,得到关键词组与问答模板;

处理模块,用于利用已训练好的第一机器学习模型与第二机器学习模型分别对所述关键词组与问答模板组进行处理,得到第一结果集与第二结果集;所述第一结果集用于指示与各关键词组对应的候选问答模板,所述第二结果集用于指示与各问答模板对应的候选关键词组;

匹配模块,用于对所述第一结果集与所述第二结果集进行匹配互选,得到互选结果;

生成模块,用于根据所述互选结果,生成问答数据。

第三方面,本发明提供一种问答数据生成装置,包括:

存储器;

处理器;以及

计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。

本发明提供的问答数据生成方法及装置、存储介质,通过训练好的机器学习模型对预处理后的关键词组与问答模板分别进行处理,得到各关键词组对应的候选问答模板与各问答模板对应的候选关键词组,从而,通过双向匹配的方式,得到互选结果并生成问答数据,在该过程中,通过对机器学习的结果进行双向匹配的方式,实现关键词组与问答模板的匹配,具备较高的准确率,既能够避免编辑人员人工干预带来的主观影响,又避免了二次处理的时长,节省了人力和时间成本。因此,本发明实施例所提供的技术方案能够降低主观因素对问答数据的影响,提高了以此为基础的应答准确率,并且,节省了生成问答数据的人力和时间成本。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本发明实施例提供的一种问答数据生成方法的流程示意图;

图2为本发明实施例提供的另一种问答数据生成方法的流程示意图;

图3为本发明实施例提供的另一种问答数据生成方法的流程示意图;

图4为本发明实施例提供的另一种问答数据生成方法的流程示意图;

图5为本发明实施例提供的一种问答数据生成装置的功能方块图;

图6为本发明实施例提供的一种问答数据生成装置的实体结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明具体的应用场景为问答数据的生成场景。可进一步具体为:机器自动问答前样本数据的生成场景。

在这种场景下,如前所述,问答数据一般依赖于人工编辑的方式实现,这就很容易受到人为主观因素的影响,导致问答数据难以统一,具有强烈的主观色彩,从而使得机器问答的准确率较低;并且,人工编辑还导致了人力成本和时间成本的浪费。

本发明提供的技术方案,旨在解决现有技术的如上技术问题,并提出如下解决思路:通过对问答数据进行关键词预处理,得到关键词组后,由两个机器学习模块分别单独处理槽位和特征关键词并相互选择,取相互均选中的问答模板和特征关键词生成问答知识,这样可以做到并发互选择,省去二次处理的时间,并且机器学习模块经过不断的对错误结果的训练,也提高了生成内容的准确性。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

实施例一

本发明实施例提供了一种问答数据生成方法。请参考图1,该方法包括如下步骤:

s102,对初始数据进行关键词预处理,得到关键词组与问答模板。

具体的,关键词预处理的方法可以包括但不限于:关键词提取与连词处理。

其中,关键词提取是指,利用预设的关键词提取算法,对初始数据进行关键词提取,以得到关键词。其中,关键词提取算法可用于获取数据中特征值高于预设阈值的关键词,也就是,该步骤获取到的关键词具备较高的特征值。此处,所谓的特征值用于描述与预设关键词的接近程度。其中,预设关键词可以根据实际场景自定义设置;例如,在针对通信运营商的自动问答系统中,该预设关键词可以为通信运营商相关的关键词。

在具体实现时,前述关键词提取算法可以为神经网络算法,或者,可以通过提取词与各预设关键词的相似度来得到特征值,进而提取出特征值较高的关键词。

而连词处理是指,对前述提取出的关键词进行连词,以形成关键词组。在执行该部分操作时,可以通过简单组合的方式,将至少两个关键词进行组合连词,以得到关键词组。或者,还可以通过预设的连词规则进行连词处理,连词规则可以自定义设置。例如,可以根据词性来限制关键词组中各词性的个数,又例如,还可以根据语义关系对任意连词后的关键词组进行二次筛选,以剔除语义矛盾和/或语义无联系的关键词组。

通过前述关键词预处理,能够快速将初始数据处理为可参与后续处理的关键词组,避免了现有技术中将初始数据进行预处理后再进行语料清理的繁琐步骤,有利于缩减处理时长,提高处理效率。

s104,利用已训练好的第一机器学习模型与第二机器学习模型分别对所述关键词组与问答模板组进行处理,得到第一结果集与第二结果集。

其中,第一机器学习模型用于对各关键词处理,以得到所述第一结果集,而所述第一结果集用于指示与各关键词组对应的候选问答模板。第一机器学习模型的输入数据为:至少一个关键词组与各问答模板,输出数据为:每个输入的关键词组匹配的候选问答模板,以及,每个关键词组分别与各候选问答模板的第一匹配程度。其中,每个关键词组对应的候选问答模板的数目无特别限定,可能为一个,也可能为多个,也可能没有匹配结果(也即匹配失败)。

而第二机器学习模型用于对各问答模板进行处理,以得到所述第二结果集,而所述第二结果集用于指示与各问答模板对应的候选关键词组。第二机器学习模型的输入数据为:至少一个问答模板与各关键词组,输出数据为:每个输入的问答模板各问答模板匹配的候选关键词组,以及,每个问答模板分别与各候选关键词组的第二匹配程度。其中,每个关键词组对应的候选问答模板的数目无特别限定,可能为一个,也可能为多个,也可能没有匹配结果。

此外,需要说明的是,问答模板来自于问答模板数据库。每个问答模板中包含至少一个槽位,将关键词填入槽位即可构成完整的问答语句。

s106,对所述第一结果集与所述第二结果集进行匹配互选,得到互选结果。

该步骤用于根据第一结果集中各关键词组的单向选择结果,与第二结果集中各问答模板的单向选择结果,进行匹配互选,以得到互选结果。也就是,通过双向并发互选的方式,得到互选结果,这种处理方式省去了二次处理的时间,具备较高的处理效率,并且,在一定程度上双向互选也有利于提高互选结果的准确率。

s108,根据所述互选结果,生成问答数据。

基于前述双向互选得到的互选结果,将关键词组中的各关键词,按照词性和/或语义关系,填充入问答模板中的各个槽位,即可得到问答数据。

在图1所示的方法中,通过对机器学习的结果进行双向匹配的方式,实现关键词组与问答模板的匹配,具备较高的准确率,既能够避免编辑人员人工干预带来的主观影响,又避免了二次处理的时长,节省了人力和时间成本。因此,本发明实施例所提供的技术方案能够降低主观因素对问答数据的影响,提高了以此为基础的应答准确率,并且,节省了生成问答数据的人力和时间成本。

以下,为了便于理解,对s106所述方法的实现方式进行具体说明。

请参考图2与图3所示流程,如图2所示,该步骤具体可通过如下方式实现:

s1062,在所述第一结果集与所述第二结果集中,获取双向匹配成功的至少一个第一候选组合。

如图3所示,第一结果集包含每个关键词组(编号1、2、3……仅用于区分)的多个候选问答模板(编号a、b、c……仅用于区分)以及每个候选问答模板与该关键词组的单向匹配程度;而第二结果集也包含每个问答模板的多个候选关键词组,以及,每个候选关键词组与该问答模板的单向匹配程度。在执行该步骤时,通过二者的互选,从中筛选出双向选中的部分第一候选组合。如图3所示的,关键词组1与问答模板b双向互选,关键词组2与问答模板b也双向互选。

s1064,获取各第一候选组合的双向匹配程度;

其中,双向匹配程度用于表征关键词组侧与问答模板侧之间的互选概率。

在具体实现时,本发明实施例至少提供如下方法:

第一种,在所述第一候选组合的集合(或简称之为第一组合集)中,获取各候选组合的第一匹配程度与第二匹配程度之和,以作为所述双向匹配程度。

以图3为例进行说明。例如,关键词组1与问答模板b双向互选,二者的双向匹配程度为二者的单向匹配程度之和,也就是,4+4为8。又例如,关键词组2与问答模板b也双向互选,二者的双向匹配程度为二者的单向匹配程度之和,也就是,1+2为3。

如上所述的实现方式能够直接以前述机器学习得到的结果集中的单向匹配程度为依据,实现方案简单便捷,有利于提高处理效率。

或者,

第二种,在所述第一候选组合的集合中,获取各候选组合的第一匹配程度与第二匹配程度之间的加权和,以作为所述双向匹配程度。

这种实现方式中,为第一匹配程度与第二匹配程度分别配置权重,并以其加权和作为双向匹配程度。如此,可以将更看重的问答模板(或关键词组)作为重点关注对象,实现最终的双向互选,具备更高的自由度与灵活性。

s1066,根据所述双向匹配程度,在各所述第一候选组合中确定所述互选结果。

一种具体的实现方式中,可以按照双向匹配程度,对各第一候选组合进行又高至低的排序,然后,获取排序靠前的一个或多个第一候选组合,以作为互选结果。

另一种可能的实现方式中,可以为每个关键词组以及问答模板各自进行双向匹配程度的比对,并获取每个关键词组对应的双向匹配程度最高的一组第一候选组合,以及,获取每个问答模板对应的双向匹配程度最高的一组第一候选组合,进行去重处理后,作为互选结果。

除双方互相能够匹配的情况之外,在前述第一结果集与第二结果集中还可能存在单向匹配的情况,针对这种情况,本发明实施例还进一步提供如下方案:

在一种可能的设计中,如图2或图3所示,该步骤还可以进一步包括如下步骤:

s1068,在所述第一结果集与所述第二结果集中,获取单向匹配成功但未双向匹配成功的第二候选组合;

也就是,仅获取单向匹配成功的组合,作为第二候选组合。例如,图3所示的第一结果集中的关键词组3能够匹配到问答模板a,但问答模板a则未匹配到关键词组3,此时,关键词组3-问答模板a即可作为一个第二候选组合。

s10610,将单向匹配程度大于或者等于预设匹配度阈值的第二候选组合,作为所述互选结果。

也就是,当单向匹配程度较大(大于或者等于预设匹配度阈值)时,说明该匹配结果是可信的,因此,可以将这种第二候选组合作为互选结果。此时,该第二候选组合中未成功匹配的另一侧,可能存在匹配失误的情况,因此,如图2所示,该方法还可以包括如下步骤:

s10612,将所述互选结果作为学习样本,对未匹配成功的机器学习模型进行训练。

此外,该步骤可执行于s108之前或之后,或同时,本发明实施例对该步骤与s108的执行顺序无特别限定。

以前述图3所示的“关键词组3-问答模板a”为例进行举例。此时,该第二候选组合的单向匹配程度为关键词组侧的第一匹配程度,也就是4,此时,若该单向匹配程度达到预设匹配度阈值(假设为3),则说明问答模板侧的第二机器学习模型可能存在误差,因此,可以将“关键词组3-问答模板a”作为第二机器学习模型的学习样本,对第二机器学习模型继续进行训练学习,以提高第二机器学习模型的准确率。

可知,若反之,问答模板侧的单向匹配成功情况与前述实现方式类似,将互选结果作为第一机器学习模型的学习样本,对第一机器学习模型继续进行训练学习即可,不再赘述。

此外,在具体的实现场景中,可能存在第一机器学习模型与第二机器学习模型都进行机器学习的场景,只是二者的学习样本不同。

除此之外,在前述设计中,可能还存在单向匹配程度未达到预设匹配度阈值的第二候选组合,针对这部分第二候选组合,由于单向匹配程度较低,这种单向匹配不足以作为双相匹配的依据,因此,这部分第二候选组合可以作为如图3所示的匹配失败集合中的一部分。

以及,此外,在一些可能的场景中,还可能存在另一种情况:单向匹配与双向匹配均失败的关键词组和/或问答模板,也就是,经过第一机器学习模块(或第二机器学习模型)的处理,未匹配到与其相对应的另一侧对象,导致未匹配成功的情况,这部分单向匹配与双向匹配均失败的关键词组和/或问答模板,也可以作为匹配失败集合中的一部分。

针对前述匹配失败集合中的各个对象(关键词组和/或问答模板),可以通过请求人工组合干预的方式实现互选。具体的,请参考图4,该方法还可以包括如下流程:

s10614,获取单向匹配程度未达到所述预设匹配度阈值的第二候选组合,以及,在所述第一结果集与所述第二结果集中,获取单向匹配与双向匹配均失败的关键词组和/或问答模板,以作为匹配失败集合。

s10616,输出所述匹配失败集合,以使得用户端所述匹配失败集合进行组合干预。

s10618,获取所述用户端的干预结果,以作为所述互选结果。

其中,所谓人工干预结果是指,维护人员可以根据输出的前述第二候选组合进行人工组合干预,从而,本方案中,可以将用户端组合完成的干预结果作为学习样本,对所述第一机器学习模型与所述第二机器学习模型进行学习训练。

在这种实现方式中,人工干预结果也可作为机器学习模型的学习样本,进行继续训练学习,以进一步提高机器学习模型的处理准确率。

此时,如图4所示,该方法还包括如下步骤:

s10620,将所述干预结果作为学习样本,对所述第一机器学习模型和/或所述第二机器学习模型进行训练。

此时,若匹配失败集合中仅包含未匹配成功的关键词组,则该步骤可仅对第一机器学习模型进行学习训练;或者,另一实现场景中,可执行双侧机器学习模型的训练。

反之,若匹配失败集合中仅包含未匹配成功的问答模板,则该步骤可仅对第二机器学习模型进行学习训练;或者,另一实现场景中,可执行双侧机器学习模型的训练。

以及,若匹配失败集合中既包含未匹配成功的关键词组,又包含未匹配成功的问答模板,则该步骤中,需要对第一机器学习模型与所述第二机器学习模型均进行学习训练。

经过前述处理,就可以生成问答数据。

一种实现场景中,可以将生成的问答数据进行存储,以作为问答数据库。进一步的,问答数据库中的问答数据可直接被利用以实现自动应答。

另一种实现场景中,还可以进一步将生成的问答数据作为自动应答机器模型的样本数据,实现自动应答机器模型的学习和训练。

可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。

实施例二

基于上述实施例一所提供的问答数据生成方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。

本发明实施例提供了一种问答数据生成装置,请参考图5,该问答数据生成装置500,包括:

预处理模块51,用于对初始数据进行关键词预处理,得到关键词组与问答模板;

处理模块52,用于利用已训练好的第一机器学习模型与第二机器学习模型分别对所述关键词组与问答模板组进行处理,得到第一结果集与第二结果集;所述第一结果集用于指示与各关键词组对应的候选问答模板,所述第二结果集用于指示与各问答模板对应的候选关键词组;

匹配模块53,用于对所述第一结果集与所述第二结果集进行匹配互选,得到互选结果;

生成模块54,用于根据所述互选结果,生成问答数据。

本发明实施例中,所述第一结果集包括:各关键词组匹配的候选问答模板,以及,每个关键词组分别与各候选问答模板的第一匹配程度;

所述第二结果集包括:各问答模板匹配的候选关键词组,以及,每个问答模板分别与各候选关键词组的第二匹配程度。

一种可能的设计中,匹配模块53,具体用于:

在所述第一结果集与所述第二结果集中,获取双向匹配成功的至少一个第一候选组合;

获取各第一候选组合的双向匹配程度;

根据所述双向匹配程度,在各所述第一候选组合中确定所述互选结果。

其中,匹配模块53,还具体用于:

在所述第一候选组合的集合中,获取各候选组合的第一匹配程度与第二匹配程度之和,以作为所述双向匹配程度;或者,

在所述第一候选组合的集合中,获取各候选组合的第一匹配程度与第二匹配程度之间的加权和,以作为所述双向匹配程度。

另一种可能的设计中,匹配模块53,具体用于:

在所述第一结果集与所述第二结果集中,获取单向匹配成功但未双向匹配成功的第二候选组合;

将单向匹配程度大于或者等于预设匹配度阈值的第二候选组合,作为所述互选结果。

此外,该问答数据生成装置500还可以包括:

训练模块(图5未示出),用于将所述互选结果作为学习样本,对未匹配成功的机器学习模型进行训练。

另一种可能的设计中,匹配模块53,还具体用于:

获取单向匹配程度未达到所述预设匹配度阈值的第二候选组合,以及,在所述第一结果集与所述第二结果集中,获取单向匹配与双向匹配均失败的关键词组和/或问答模板,以作为匹配失败集合;

输出所述匹配失败集合,以使得用户端所述匹配失败集合进行组合干预;

获取所述用户端的干预结果,以作为所述互选结果。

进一步的,问答数据生成装置500中的训练模块(图5未示出),还用于将所述干预结果作为学习样本,对所述第一机器学习模型和/或所述第二机器学习模型进行训练。

图5所示实施例的问答数据生成装置500可用于执行上述方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述,可选的,该问答数据生成装置500可以服务器或终端。

应理解以上图5所示问答数据生成装置500的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,匹配模块53可以为单独设立的处理元件,也可以集成在问答数据生成装置500中,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于问答数据生成装置500的存储器中,由问答数据生成装置500的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,asic),或,一个或多个微处理器(digitalsingnalprocessor,dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,fpga)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,cpu)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。

并且,本发明实施例提供了一种问答数据生成装置,请参考图6,该问答数据生成装置600,包括:

存储器610;

处理器620;以及

计算机程序;

其中,计算机程序存储在存储器610中,并被配置为由处理器620执行以实现如上述实施例所述的方法。

其中,问答数据生成装置600中处理器620的数目可以为一个或多个,处理器620也可以称为处理单元,可以实现一定的控制功能。所述处理器620可以是通用处理器或者专用处理器等。在一种可选地设计中,处理器620也可以存有指令,所述指令可以被所述处理器620运行,使得所述问答数据生成装置600执行上述方法实施例中描述的方法。

在又一种可能的设计中,问答数据生成装置600可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。

可选地,所述问答数据生成装置600中存储器610的数目可以为一个或多个,存储器610上存有指令或者中间数据,所述指令可在所述处理器620上被运行,使得所述问答数据生成装置600执行上述方法实施例中描述的方法。可选地,所述存储器610中还可以存储有其他相关数据。可选地处理器620中也可以存储指令和/或数据。所述处理器620和存储器610可以单独设置,也可以集成在一起。

此外,如图6所示,在该问答数据生成装置600中还设置有收发器630,其中,所述收发器630可以称为收发单元、收发机、收发电路、或者收发器等,用于与测试设备或其他终端设备进行数据传输或通信,在此不再赘述。

如图6所示,存储器610、处理器620与收发器630通过总线连接并通信。

若该问答数据生成装置600用于实现对应于图1中的方法时,处理器620用于完成相应的确定或者控制操作,可选的,还可以在存储器610中存储相应的指令。各个部件的具体的处理方式可以参考前述实施例的相关描述。

此外,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现如实施例一所述的方法。

由于本实施例中的各模块能够执行实施例一所示的方法,本实施例未详细描述的部分,可参考对实施例一的相关说明。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1