一种系统回复质量的评价方法及装置与流程

文档序号:17131238发布日期:2019-03-16 01:15阅读:284来源:国知局
一种系统回复质量的评价方法及装置与流程

本申请涉及自然语言理解技术领域,尤其涉及一种系统回复质量的评价方法及装置。



背景技术:

聊天机器人作为人工智能技术的重要应用,已经广泛应用于各类智能终端设备,例如手机、可穿戴设备等。目前,聊天机器人按照用途可分为任务型和非任务型的闲聊机器人,不同用途的聊天机器人的实现技术不太相同。

任务型聊天机器人通过任务型对话系统与用户进行交互,从而完成相关任务,比如点餐任务、天气查询任务等,关于任务型对话系统的回复质量的评价,一般根据任务完成与否、以及完成该任务进行的对话轮数进行判断,通常以越少对话轮数完成任务的系统效果越好。任务型对话系统由于目标明确、领域专一,能够很好地进行回复质量的评价。

非任务型聊天机器人通过非任务型对话系统与用户进行交互,关于非任务型对话系统的回复质量的评价,一般采用检索和生成两种方法进行评价。其中,检索式的方法是从已有对话库中找出最合适的回复,检索式产生的回复是事先人工标注的,不会生成对话库以外的回复,对于检索系统回复质量的评估,可以使用检索的准确度进行判断,例如,判断检索得到的前k个句子中是否包含问题的最佳答案,因此,也能对检索系统的回复质量进行很好地评价;而生成式的方法一般是构建概率分布模型,在给定问句的前提下生成概率最大的回复,相比较检索式的方法,生成式的方法能产生已有语料中未出现的回复,灵活性强,但生成式的方法也可能产生不符合语法规则的回复、甚至与问句相关度较低的回复,因此,对于生成式的方法,对其回复质量的评价难度较大,较难准确地对其回复质量进行评价。



技术实现要素:

本申请实施例的主要目的在于提供一种系统回复质量的评价方法及装置,能够更准确地评价系统回复质量。

本申请实施例提供了一种系统回复质量的评价方法,包括:

生成目标对话系统的系统评价指标,所述系统评价指标包括第一评价指标、第二评价指标以及第三评价指标中的至少一个;

其中,所述第一评价指标是根据所述目标对话系统的每一选定回复与对应问题之间的主题相关度生成的;所述第二评价指标是根据所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度生成的;所述第三评价指标是根据所述目标对话系统的每一选定回复为通用回复的可能性生成的;

根据所述系统评价指标,确定所述目标对话系统的回复质量。

可选的,所述生成目标对话系统的第一评价指标,包括:

利用预先构建的主题相关度模型,确定所述目标对话系统的每一选定回复与对应问题之间的主题相关度;

根据每一选定回复对应的主题相关度,生成所述目标对话系统的第一评价指标。

可选的,所述确定所述目标对话系统的每一选定回复与对应问题之间的主题相关度,包括:

对于所述目标对话系统的每一选定回复,生成所述选定回复的回复表达结果,并生成所述选定回复的对应问题的问题表达结果;其中,所述回复表达结果和所述问题表达结果中携带了所述选定回复与所述对应问题之间的主题相关度信息;

根据所述回复表达结果和所述问题表达结果,生成所述选定回复与对应问题之间的主题相关度。

可选的,所述生成所述选定回复的回复表达结果,并生成所述选定回复的对应问题的问题表达结果,包括:

生成所述选定回复的第一语义表达结果,并生成所述选定回复的对应问题的第二语义表达结果;

确定所述第一语义表达结果的每一表达单元与所述第二语义表达结果之间的相关度,并根据所述第一语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的回复表达结果;

确定所述第二语义表达结果的每一表达单元与所述第一语义表达结果之间的相关度,并根据所述第二语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的对应问题的问题表达结果。

可选的,所述成目标对话系统的第二评价指标,包括:

利用预先构建的语义相似度模型,确定所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度;

根据每一选定回复对应的语义相似度,生成所述目标对话系统的第二评价指标。

可选的,所述确定所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度,包括:

对于所述目标对话系统的每一选定回复,生成所述选定回复的第三语义表达结果,并生成所述选定回复的对应人工回复的第四语义表达结果;

根据所述第三语义表达结果和所述第四语义表达结果,生成所述选定回复与对应人工回复之间的语义相似度。

可选的,所述生成目标对话系统的第三评价指标,包括:

利用预先构建的通用回复鉴别模型,确定所述目标对话系统的每一选定回复为通用回复的可能性;

根据每一选定回复对应的可能性,生成所述目标对话系统的第三评价指标。

可选的,所述确定所述目标对话系统的每一选定回复为通用回复的可能性,包括:

对于所述目标对话系统的每一选定回复,将所述选定回复的各个文本单元依次作为当前文本单元,并将所述当前文本单元之前的各个文本单元作为各个在前文本单元;

预测所述各个在前文本单元之后出现所述当前文本单元的可能性;

根据每一所述当前文本单元对应的出现可能性,确定所述选定回复为通用回复的可能性。

可选的,所述根据所述系统评价指标,确定所述目标对话系统的回复质量,包括:

对所述系统评价指标所包括的各个评价指标进行加权处理;

根据加权处理结果确定所述目标对话系统的回复质量。

可选的,所述方法还包括:

获取所述目标对话系统输出的待评价回复;

生成所述待评价回复的回复评价指标,所述回复评价指标包括第四评价指标和/或第五评价指标;

其中,所述第四评价指标是根据所述待评价回复与对应问题之间的主题相关度生成的;所述第五评价指标是根据所述待评价回复为通用回复的可能性生成的;

根据所述回复评价指标,确定所述待评价回复的回复质量。

本申请实施例还提供了一种系统回复质量的评价装置,包括:

系统评价指标生成单元,用于生成目标对话系统的系统评价指标,所述系统评价指标包括第一评价指标、第二评价指标以及第三评价指标中的至少一个;其中,所述第一评价指标是根据所述目标对话系统的每一选定回复与对应问题之间的主题相关度生成的;所述第二评价指标是根据所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度生成的;所述第三评价指标是根据所述目标对话系统的每一选定回复为通用回复的可能性生成的;

第一回复质量确定单元,用于根据所述系统评价指标,确定所述目标对话系统的回复质量。

可选的,所述系统评价指标生成单元包括:

相关度确定子单元,用于利用预先构建的主题相关度模型,确定所述目标对话系统的每一选定回复与对应问题之间的主题相关度;

第一指标生成子单元,用于根据每一选定回复对应的主题相关度,生成所述目标对话系统的第一评价指标。

可选的,所述相关度确定子单元包括:

结果生成子单元,用于对于所述目标对话系统的每一选定回复,生成所述选定回复的回复表达结果,并生成所述选定回复的对应问题的问题表达结果;其中,所述回复表达结果和所述问题表达结果中携带了所述选定回复与所述对应问题之间的主题相关度信息;

相关度生成子单元,用于根据所述回复表达结果和所述问题表达结果,生成所述选定回复与对应问题之间的主题相关度。

可选的,所述结果生成子单元包括:

第一语义结果生成子单元,用于生成所述选定回复的第一语义表达结果,并生成所述选定回复的对应问题的第二语义表达结果;

回复表达结果生成子单元,用于确定所述第一语义表达结果的每一表达单元与所述第二语义表达结果之间的相关度,并根据所述第一语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的回复表达结果;

问题表达结果生成子单元,用于确定所述第二语义表达结果的每一表达单元与所述第一语义表达结果之间的相关度,并根据所述第二语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的对应问题的问题表达结果。

可选的,所述系统评价指标生成单元包括:

相似度确定子单元,用于利用预先构建的语义相似度模型,确定所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度;

第二指标生成子单元,用于根据每一选定回复对应的语义相似度,生成所述目标对话系统的第二评价指标。

可选的,所述相似度确定子单元包括:

第二语义结果生成子单元,用于对于所述目标对话系统的每一选定回复,生成所述选定回复的第三语义表达结果,并生成所述选定回复的对应人工回复的第四语义表达结果;

语义相似度生成子单元,用于根据所述第三语义表达结果和所述第四语义表达结果,生成所述选定回复与对应人工回复之间的语义相似度。

可选的,所述系统评价指标生成单元包括:

通用回复确定子单元,用于利用预先构建的通用回复鉴别模型,确定所述目标对话系统的每一选定回复为通用回复的可能性;

第三指标生成子单元,用于根据每一选定回复对应的可能性,生成所述目标对话系统的第三评价指标。

可选的,所述通用回复确定子单元包括:

文本单元确定子单元,用于对于所述目标对话系统的每一选定回复,将所述选定回复的各个文本单元依次作为当前文本单元,并将所述当前文本单元之前的各个文本单元作为各个在前文本单元;

文本单元预测子单元,用于预测所述各个在前文本单元之后出现所述当前文本单元的可能性;

可能性确定子单元,用于根据每一所述当前文本单元对应的出现可能性,确定所述选定回复为通用回复的可能性。

可选的,所述第一回复质量确定单元包括:

指标加权子单元,用于对所述系统评价指标所包括的各个评价指标进行加权处理;

质量确定子单元,用于根据加权处理结果确定所述目标对话系统的回复质量。

可选的,所述装置还包括:

待评价回复获取单元,用于获取所述目标对话系统输出的待评价回复;

回复评价指标生成单元,用于生成所述待评价回复的回复评价指标,所述回复评价指标包括第四评价指标和/或第五评价指标;

其中,所述第四评价指标是根据所述待评价回复与对应问题之间的主题相关度生成的;所述第五评价指标是根据所述待评价回复为通用回复的可能性生成的;

第二回复质量确定单元,用于根据所述回复评价指标,确定所述待评价回复的回复质量。

本申请实施例还提供了一种系统回复质量的评价装置,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述系统回复质量的评价方法中的任意一种实现方式。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述系统回复质量的评价方法中的任意一种实现方式。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述系统回复质量的评价方法中的任意一种实现方式。

本申请实施例提供的一种系统回复质量的评价方法及装置,首先,生成目标对话系统的系统评价指标,其中,系统的评价指标可以包括根据目标对话系统的每一选定回复与对应问题之间的主题相关度生成的第一评价指标、根据目标对话系统的每一选定回复与对应人工回复之间的语义相似度生成的第二评价指标、以及根据目标对话系统的每一选定回复为通用回复的可能性生成的第三评价指标中的至少一个,然后,可以根据生成的系统评价指标,确定出目标对话系统的回复质量,可见,本申请实施例在对目标对话系统的回复质量进行评价时,考虑了系统回复与问题之间的主题相关度、系统回复与人工回复之间的语义相似度以及系统回复为通用回复的可能性,从而能够更准确地评价目标对话系统的回复质量。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种系统回复质量的评价方法的流程示意图;

图2为本申请实施例提供的生成目标对话系统的第一评价指标的流程示意图;

图3为本申请实施例提供的主题相关度模型的结构示意图;

图4为本申请实施例提供的生成目标对话系统的第二评价指标的流程示意图;

图5为本申请实施例提供的语义相似度模型的结构示意图;

图6为本申请实施例提供的生成目标对话系统的第三评价指标的流程示意图;

图7为本申请实施例提供的通用回复鉴别模型的结构示意图;

图8为本申请实施例提供的一种系统回复质量的评价装置的组成示意图。

具体实施方式

在一些系统回复质量的评价方法中,通常需要大量人力对系统回复质量进行人工评价,而难以对系统回复质量进行自动评价,即使是实现了对系统回复质量的自动评价,但由于现有的自动评价方法通常是采用困惑度(perplexity,简称ppl)值、bleu值等技术指标进行评价,这些技术指标通常具有很大的局限性,由于对话回复空间过大且当前技术指标不考虑回复的多样性、以及回复与问题的相关性,难以得到很好的评价效果。

其中,ppl值是通过语言模型计算得到的系统回复句子的混乱度,其值越大,说明该句子越混乱、回复质量越差,其值越小,说明该句子越通顺、回复质量越高,但ppl值只能用于评价回复句子本身的语句通顺度,不能用于衡量回复句子与问题的相关程度。而bleu值的计算是通过比较系统的回复与已有(人工)回复的重合度,具体是分别比较两类回复之间任一单位片段(n-gram)的重合度,其值越大,说明两类回复的重合度越高、回复质量越好,其值越小,说明两类回复的重合度越低、回复质量越差,单使用bleu值,只能从字面上评估系统回复与已有(人工)回复的相似性,并不能从语义角度进行评估,例如,“你真的很漂亮”和“你真的很不漂亮”在字面上很相似,则对应的bleu值很高,但是二者在语义上是完全相反的,又例如,“今天天气很好”和“天空真蓝”,对应的bleu值很小,但二者表示的语义很相近,能够用于回复同一问句“天气怎样?”。因此,利用当前技术指标来评价系统的回复质量不够准确。

另外,由于“是的”、“好的”等回复句子在对话系统(模型)的训练语料中大概率出现,因而训练得到的对话系统容易产生这些通用且没有意义的回复,而现有的技术指标无法对这类回复进行质量评价。

为解决上述缺陷,本申请实施例提供了一种系统回复质量的评价方法,在对目标对话系统的回复质量进行自动评价时,首先生成能够体现目标对话系统回复质量的系统评价指标,该系统评价指标可以包括体现目标对话系统的回复与对应问题之间的主题相关度的评价指标、体现目标对话系统的回复与对应人工回复之间的语义相似度的评价指标以及体现目标对话系统的回复为通用回复的可能性的评价指标中的至少一种评价指标,然后,再根据生成的系统评价指标,确定出目标对话系统的回复质量,可见,本申请实施例在对目标对话系统的回复质量进行评价时,考虑了系统回复与问题之间的主题相关度、系统回复与人工回复之间的语义相似度以及系统回复为通用回复的可能性,从而能够更准确地评价目标对话系统的回复质量。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

第一实施例

参见图1,为本实施例提供的一种系统回复质量的评价方法的流程示意图,该方法包括以下步骤:

s101:生成目标对话系统的系统评价指标。

在本实施例中,将采用本实施例实现回复质量评价的任一对话系统定义为目标对话系统,目标对话系统可以是利用生成式的方法构建概率分布模型,并用以作为非任务型的聊天系统(比如非任务型聊天机器人等),该系统通过生成式的方法,不仅能够产生已有语料库中未出现的回复,还可能产生不符合语法规则的回复、甚至产生与问题相关度较低的回复。

因此,在本实施例中,为了能够对目标对话系统的回复质量进行准确评价,首先需要生成目标对话系统的系统评价指标,该系统评价指标可以包括第一评价指标、第二评价指标以及第三评价指标中的至少一个,然后,可以利用该系统评价指标执行后续步骤s102,来对目标对话系统的回复质量进行评价。

下面对第一评价指标、第二评价指标以及第三评价指标进行依次介绍。

在本实施例中,第一评价指标指的是根据目标对话系统的每一选定回复与对应问题之间的主题相关度生成的评价指标。

其中,目标对话系统的每一选定回复指的是从目标对话系统生成的所有回复中选定的每一回复,且每一回复是针对向目标对话系统输入的相应问题而生成,当然,目标对话系统的每一选定回复也可以是从已有的候选回复集合中挑选出的回复;而向目标对话系统输入的问题可以是预先收集的大量的人与人之间的对话问答中的问题,可以将每一问题输入至目标对话系统中,供目标对话系统进行回复。例如,在收集对话问答时,可以预先从“百度知道”中获取大量问答数据,将其中的每个问题输入至目标对话系统中,这些问答数据一般是与特定主题相关的,比如输入的问题可以是“今天天气如何?”,则目标对话系统的回复可以为“今天天气特别好”,进而可以将该回复作为目标对话系统对于问题“今天天气如何?”的一个选定回复。

在生成第一评价指标时,可以将选出的每一选定回复,共同构成用于生成第一评价指标的选定回复集合,然后分别计算出该选定回复集合中每一选定回复与其对应问题之间的主题相关度,每一主题相关度通常采用一个表征其相关程度的数值来表示,然后再计算出各个数值的平均值,用p1表示,用以作为目标对话系统的第一评价指标。需要说明的是,可以利用预先构建的主题相关度模型,生成用于表征每一选定回复与对应问题之间的主题相关度的数值,其中,主题相关度模型的具体工作过程和构建过程可参见后续第二实施例的相关介绍。

在本实施例中,第二评价指标指的是根据目标对话系统的每一选定回复与对应人工回复之间的语义相似度生成的评价指标。

其中,目标对话系统的每一选定回复指的是从目标对话系统生成的所有回复中选定的每一回复,且每一回复是针对向目标对话系统输入的相应问题而生成,当然,目标对话系统的每一选定回复也可以是从已有的候选回复集合中挑选出的回复。比如,输入的问题仍可以是“今天天气如何?”,则目标对话系统的回复可以为“不呀,待会会下雨”,进而可以将该回复作为目标对话系统对于问题“今天天气如何?”的一个选定回复。

在生成第二评价指标时,可以将选出的每一选定回复,共同构成用于生成第二评价指标的选定回复集合,然后可以对选定回复集合中每一选定回复对应的问题进行人工回复,比如,对于选定回复“不呀,待会会下雨”对应的问题“今天天气如何?”,可以进行人工回复为“今天天气晴朗”等,接着,分别计算出该选定回复集合中每一选定回复与其对应人工回复之间的语义相似度,比如计算出“不呀,待会会下雨”与“今天天气晴朗”之间的语义相似度,每一语义相似度通常采用一个表征其相似程度的数值来表示,再计算出各个数值的平均值,用p2表示,用以作为目标对话系统的第二评价指标。需要说明的是,可以利用预先构建的语义相似度模型,生成用于表征每一系统回复与对应人工回复之间的语义相似度的数值,语义相似度模型的具体工作过程和构建过程可参见后续第三实施例的相关介绍。

在本实施例中,第三评价指标指的是根据目标对话系统的每一选定回复为通用回复的可能性生成的评价指标。

其中,通用回复指的是“是的”、“好的”、“我不知道”等通用的无意义的回复。目标对话系统的每一选定回复指的是从目标对话系统生成的所有回复中选定的每一回复,且每一回复是针对向目标对话系统输入的相应问题而生成,当然,目标对话系统的每一选定回复也可以是从已有的候选回复集合中挑选出的回复。

在生成第三评价指标时,可以将选出的每一选定回复,共同构成生成第三评价指标的选定回复集合,然后判断出该选定回复集合中每一选定回复作为通用回复时的可能性,通常由一个数值表征其可能性大小,再计算出各个数值的平均值,用p3表示,用以作为目标对话系统的第三评价指标。需要说明的是,可以利用预先构建的通用回复鉴别模型,生成用于表征每一选定回复作为通用回复时的可能性大小的数值,其中,通用回复鉴别模型的具体工作过程和构建过程可参见后续第四实施例的相关介绍。

还需要说明的是,在计算第一评价指标p1、第二评价指标p2以及第三评价指标p3时,分别使用的选定回复集合可以相同也可以不同,具体选定回复集合的内容,可根据实际情况进行选择,本实施例对此不进行限定。

s102:根据系统评价指标,确定目标对话系统的回复质量。

在本实施例中,通过步骤s101,生成目标对话系统的系统评价指标后,即,生成第一评价指标p1、第二评价指标p2以及第三评价指标p3中的至少一种后,可以进一步地对系统评价指标进行数据处理,并根据处理结果确定出目标对话系统的回复质量。

在本实施例的一种实现方式中,s102具体可以包括:对系统评价指标所包括的各个评价指标进行加权处理,并根据加权处理结果确定目标对话系统的回复质量。

在本实现方式中,通过步骤s101生成系统评价指标后,该系统评价指标可以包括第一评价指标p1、第二评价指标p2以及第三评价指标p3中的至少一个,为了确定出目标对话系统的回复质量,可以对系统评价指标所包括的各个评价指标进行加权处理。

具体来讲,当系统评价指标中包含有p1、p2以及p3三个评价指标时,可通过计算公式对其进行加权处理,具体的计算公式如下:

p=α*(p1+p2)-(1-α)*p3(1)

其中,p表示目标对话系统的回复质量,p值越大,表明目标对话系统的回复质量越高,反之亦然;α为一个超参数,α为p1、p2的权重值,(1-α)为p3的权重值,α的取值范围为(0,1)。

例如,一般情况下,为避免产生太多的通用回复,可取α=0.2,若能够接受目标对话系统产生较多的如“嗯”、“是的”等容易结束对话的通用回复,则可取α=0.5,但α取值也不能过大,以免p3所占权重过小,这是因为,当p3较小时,表明目标对话系统的回复越可能不通顺(具体原因请参见第四实施例),在这种情况下,如果p3所占权重过小,相当于在对目标对话系统的回复质量进行评价时,没有考虑回复不通顺的因素,从而导致回复质量的评价结果即p值不够准确。

当系统评价指标中包含有p1、p2以及p3中的两个指标时,可分别对其进行加权处理,并对公式(1)进行相应变更。

比如,当系统评价指标中包含有p1和p2时,则可将公式(1)变更为:

p=α*(p1+p2)(2)

当系统评价指标中包含有p1和p3时,则可将公式(1)变更为:

p=α*p1-(1-α)*p3(3)

当系统评价指标中包含有p2和p3时,则可将公式(1)变更为:

p=α*p2-(1-α)*p3(4)

而当系统评价指标中仅包含一个评价指标时,可以为该评价指标设置一个权重值,可以为1或是其它值。

进一步地,在本实施例中,还可以将目标对话系统输出的每一实际回复作为待评价回复,并对该待评价回复的回复质量进行评价,具体的实现过程可以包括下述步骤a-c:

步骤a:获取目标对话系统输出的待评价回复。

步骤b:生成待评价回复的回复评价指标,所述回复评价指标包括第四评价指标和/或第五评价指标。

通过步骤a获取到目标对话系统输出的待评价回复后,可以根据待评价回复与对应问题之间的主题相关度生成的第四评价指标,以及根据待评价回复为通用回复的可能性生成的第五评价指标,二者均可作为待评价回复的回复评价指标。需要说明的是,第四评价指标和第五评价指标的生成过程分别与第一评价指标p1和第三评价指标p3的生成方式类似,可以将上述选定回复替换为待评价回复,然后按照第一评价指标p1和第三评价指标p3的生成方式即可生成第四评价指标和第五评价指标。

步骤c:根据回复评价指标,确定待评价回复的回复质量。

通过步骤b生成待评价回复的回复评价指标后,即生成第四评价指标和/或第五评价指标后,可以据此分析出待评价回复与对应问题之间的主题相关度大小,以及待评价回复为通用回复的可能性大小,从而确定出待评价回复与其对应的问题是否能够组成一组合适的对话,即,确定出待评价回复的回复质量。

可以理解的是,当具有多个(例如5个)目标对话系统时,为了选择出回复质量最高的对话系统进行实际应用,可以通过上述步骤s101-s102,分别对多个目标对话系统的回复质量进行评价,得到表征各个目标对话系统的回复质量的数值p,取其中的最大p值对应的目标对话系统为最优对话系统。或者,可以预先设置一个质量阈值,判断各个目标对话系统是否可进行实际应用,比如,将质量阈值选为0.8,则当p值大于0.8时,即可表明其对应的目标对话系统的回复质量较高,可以作为实际应用的对话系统。

综上,本实施例提供的一种系统回复质量的评价方法,首先,生成目标对话系统的系统评价指标,其中,系统的评价指标可以包括根据目标对话系统的每一选定回复与对应问题之间的主题相关度生成的第一评价指标、根据目标对话系统的每一选定回复与对应人工回复之间的语义相似度生成的第二评价指标、以及根据目标对话系统的每一选定回复为通用回复的可能性生成的第三评价指标中的至少一个,然后,可以根据生成的系统评价指标,确定出目标对话系统的回复质量,可见,本申请实施例在对目标对话系统的回复质量进行评价时,考虑了系统回复与问题之间的主题相关度、系统回复与人工回复之间的语义相似度以及系统回复为通用回复的可能性,从而能够更准确地评价目标对话系统的回复质量。

第二实施例

本实施例将对主题相关度模型的具体工作过程和构建过程进行介绍,基于主题相关度模型的输出结果可以生成第一评价指标p1。

参见图2,其示出了本实施例提供的生成目标对话系统的第一评价指标的流程示意图,该流程包括以下步骤:

s201:利用预先构建的主题相关度模型,确定目标对话系统的每一选定回复与对应问题之间的主题相关度。

在本实施例中,图3为本实施例提供的主题相关度模型的结构示意图,该模型的结构为分层结构,具体可以分为句子表示层、交互层、汇聚层以及相关度计算层。

将用于生成第一评价指标的选定回复集合中的每个选定回复作为回复a,并将其对应的问题定义为问题q,如图3所示,将回复a与其对应问题q中的各个词语的词向量,输入至图3所示的主题相关度模型后,该模型会输出回复a与问题q之间的相关度,用p_predict表示,该p_predict越大,表明回复a作为问题q的回复就越合理,反之亦然。

在本实施例的一种实现方式中,s201中“确定目标对话系统的每一选定回复与对应问题之间的主题相关度”具体可以包括步骤s2011-s2012:

s2011:对于目标对话系统的每一选定回复,生成该选定回复的回复表达结果,并生成该选定回复的对应问题的问题表达结果,其中,回复表达结果和问题表达结果中携带了该选定回复与其对应问题之间的主题相关度信息。

在本实现方式中,对于用于生成第一评价指标的选定回复集合中的每一选定回复,首先,可以将每一选定回复及其对应的问题进行分词处理,得到每一选定回复及其对应问题包含的各个分词,并生成每一分词的词向量。例如,仍以回复a和问题q为例,则分别对a和q进行分词处理,以及对各个分词进行向量化后,可以得到a和q分别对应的词向量序列,比如,a的词向量序列可以为[a1,a2,…,am],其中,ai表示a中第i个词的词向量,q的词向量序列可以为[q1,q2,…,qn],其中,qi表示q中第i个词的词向量。

接下来,对于每一选定回复,可以将该选定回复及其对应问题包含的各个分词的词向量,输入图3所示的主题相关度模型,并通过模型输出携带有该选定回复与其对应问题之间的主题相关度信息以及表征二者语义信息的回复表达结果和问题表达结果。如图3所示,仍以回复a和问题q为例,可以将回复a的词向量序列[a1,a2,…,am]及其对应问题q的词向量序列[q1,q2,…,qn]分别输入至图3所示的主题相关度模型,该模型会通过句子表示层以及交互层,生成回复a的回复表达结果,以及对应问题q的问题表达结果,其中,回复a的回复表达结果中携带了回复a与问题q之间的主题相关度信息以及自己的语义信息,问题q的问题表达结果中携带了回复a与问题q之间的主题相关度信息以及自己的语义信息。

在本实施例的一种实现方式中,s2011中“生成所述选定回复的回复表达结果,并生成所述选定回复的对应问题的问题表达结果”的过程,具体可以包括步骤d-f:

步骤d:生成所述选定回复的第一语义表达结果,并生成所述选定回复的对应问题的第二语义表达结果。

在本实现方式中,将选定回复及其问题对应的词向量序列输入至图3所示的主题相关度模型的句子表示层后,可以生成该选定回复的第一语义表达结果以及对应问题的第二语义表达结果,其中,第一语义表达结果携带了该选定回复的语义信息,而第二语义表达结果则携带了该选定回复的对应问题的语义信息。

具体地,如图3所示,仍以回复a和问题q为例,将回复a的词向量序列[a1,a2,…,am]及其对应问题q的词向量序列[q1,q2,…,qn]输入至句子表示层,通过两个bilstm(模型参数不共享)可以分别生成回复a的第一语义表达结果ea以及问题q的第二语义表达结果eq,其中,第一语义表达结果ea携带了回复a的语义信息,可以表示为ea=[ha1,ha2,…,ham],其中,hai表示bilstm在词向量ai对应位置的隐层输出,其携带有回复a中第i(i=1,2,…,m)个词的语义信息以及该词与a中其他词在语义上的关联关系。而第二语义表达结果eq携带了问题q的语义信息,可以表示为eq=[hq1,hq2,…,hqn],其中,hqi表示bilstm在词向量qi对应位置的隐层输出,其携带有问题q中第i(i=1,2,…,n)个词的语义信息以及该词与q中其他词在语义上的关联关系。

步骤e:确定第一语义表达结果的每一表达单元与第二语义表达结果之间的相关度,并根据第一语义表达结果的每一表达单元与每一表达单元对应的相关度,生成该选定回复的回复表达结果。

在本实现方式中,通过句子表示层生成第一语义表达结果和第二语义表达结果后,可以在交互层,将第一表达结果中每一表达单元与第二语义表达结果进行交互,以得到第一语义表达结果的每一表达单元与第二语义表达结果之间的相关度,进而生成该选定回复的回复表达结果。其中,第一表达结果中的每一表达单元可以指该选定回复中每一分词的语义表达结果。

具体地,如图3所示,当在句子表示层得到回复a的第一语义表达结果ea以及问题q的第二语义表达结果eq,其中ea=[ha1,ha2,…,ham],而第一语义表达结果ea中的每一表达单元可以为hai。进而可以在交互层,将第一表达结果ea中每一表达单元hai与第二语义表达结果eq进行交互,以得到每一表达单元hai与eq之间的相关度,进而生成回复a的回复表达结果。

在进行交互时,交互计算公式如下:

其中,

c_hai表示第一表达结果ea中的第i个表达单元hai与第二语义表达结果eq进行交互后,输出的hai与eq之间的相关度大小;hqj表示第二表达结果eq中的第j个表达单元。

进而将回复a在各个时刻的向量特征(即各个c_hai)进行组合后,可得到回复a的句子向量特征,即可将其作为回复a的回复表达结果。

步骤f:确定第二语义表达结果的每一表达单元与第一语义表达结果之间的相关度,并根据第二语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的对应问题的问题表达结果。

在本实现方式中,通过句子表示层生成第一语义表达结果和第二语义表达结果后,可以在交互层,将第二表达结果中每一表达单元与第一语义表达结果进行交互,以得到第二语义表达结果的每一表达单元与所述第一语义表达结果之间的相关度,进而生成该选定回复的对应问题的问题表达结果。其中,第二表达结果中的每一表达单元可以指该选定回复的对应问题中每一分词的语义表达结果。

具体地,如图3所示,当在句子表示层得到回复a的第一语义表达结果ea以及问题q的第二语义表达结果eq,其中eq=[hq1,hq2,…,hqn],而第二语义表达结果eq中的每一表达单元可以为hqi。进而可以在交互层,将第二表达结果eq中每一表达单元hqi与第一语义表达结果ea进行交互,以得到每一表达单元hqi与ea之间的相关度,进而生成该选定回复的对应问题的问题表达结果。

在进行交互时,交互计算公式如下:

其中,

c_hqi表示第二表达结果eq中的第i个表达单元hqi与第一语义表达结果ea进行交互后,输出的hqi与ea之间的相关度大小;hai表示第一表达结果ea中的第j个表达单元。

进而将问题q在各个时刻的向量特征(即各个c_hqi)进行组合后,可得到问题q的句子向量特征,即可将其作为问题q的问题表达结果。

需要说明的是,本实施例对步骤e和步骤f的执行顺序不进行限定。

s2012:根据回复表达结果和问题表达结果,生成所述选定回复与对应问题之间的主题相关度。

在本实现方式中,通过步骤s2011生成了一个选定回复的回复表达结果以及对应问题的问题表达结果后,如图3所示,仍以回复a和问题q为例,可以在汇聚层,将二者进行拼接,并将拼接后的特征向量输入至一个具有s型阈值函数sigmoid的双层深层神经网络(deepneuralnetwork,简称dnn)中,进而得到表征该选定回复与其对应问题的主题相关度的数值p_predict,该p_predict越大,则表明回复a作为问题q的回复就越合理,反之亦然。

s202:根据每一选定回复对应的主题相关度,生成目标对话系统的第一评价指标。

在本实施例中,通过步骤s201确定出目标对话系统的每一选定回复与对应问题之间的主题相关度p_predict后,进一步可以将各个p_predict进行平均计算,将计算得到的平均值,作为目标对话系统的第一评价指标p1,用以体现目标对话系统的回复与问题之间的主题相关度。

接下来,本实施例将对图3所示的主题相关度模型的构建过程进行介绍,该流程包括以下步骤(1)-(3):

(1)预先收集大量问答数据,并对其进行处理得到模型训练数据。

在本实施例中,为了构建主题相关度模型,需要预先进行大量的准备工作,首先,可以收集大量人与人之间对话的问答数据,比如,可以预先从“百度知道”中获取大量问答数据。

进一步的,在收集到大量问答数据后,本实施例将由人工根据具体的实际情况,对数据进行整理、分类和标注,将这些样本数据分为不同的正例数据对以及不同的负例数据对,以构成模型训练数据。

其中,正例数据对包括第一样本问题与第一样本回复,而第一样本回复是第一样本问题对应的实际回复。负例数据对包括第二样本问题与第二样本回复,而第二样本回复不是第二样本问题对应的实际回复。需要说明的是,第一样本问题与第二样本问题可以相同也可以不同。

(2)构建主题相关度模型。

在本实施例中,可以预先构建一个初始的主题相关度模型,并初始化模型参数,在通过步骤(1)得到模型训练数据后,可通过后续步骤(3)利用预先收集的模型训练数据对初始构建的主题相关度模型进行训练。

(3)利用预先收集的模型训练数据,对主题相关度模型进行训练。

对于模型训练数据中的正例数据对,其包括第一样本回复与第一样本问题,应预先标注出表征二者主题相关度的数值p_ture,可以标注为1;对于模型训练数据中的负例数据对,其包括第二样本回复与第二样本问题,应预先标注出表征二者主题相关度的数值p_ture,可以标注为0。

在本实施例中,依次从模型训练数据中提取一组样本数据(可以是正例数据对或负例数据对),进行多轮模型训练,直到满足训练结束条件为止,此时,即训练得到主题相关度模型。

具体地,在进行本轮训练时,本轮训练使用的样本数据包括样本问题和样本回复,可以将上述实施例中的选定回复替换为该样本回复,并将该选定回复对应的问题替换为该样本问题,通过当前的主题相关度模型,按照上述步骤s201,便可以预测得到表征该样本回复与该样本问题的主题相关度的数值p_predict,该p_predict可以是区间[0,1]中的一个数值。然后,将预测结果p_predict与对应的p_ture进行比较,根据二者的差异对模型参数进行更新。

在训练过程中,使用的训练目标函数可以为最小化均方误差mse(p_predict,p_ture),根据该mse值的变化,对主题相关度模型的模型参数进行不断更新,直至其mse值达到最小值,则停止模型参数的更新。

综上,本实施例利用预先构建的主题相关度模型,预测每一选定回复与对应问题之间的主题相关度,用以生成目标对话系统的第一评价指标,这样,可以在对目标对话系统的回复质量进行评价时,考虑目标对话系统回复与对应问题之间的主题相关度,从而可以提高系统回复质量的评价结果的准确性。

第三实施例

本实施例将对语义相似度模型的具体工作过程和构建过程进行介绍,基于语义相似度模型的输出结果可以生成第二评价指标p2。

参见图4,其示出了本实施例提供的生成目标对话系统的第二评价指标的流程示意图,该流程包括以下步骤:

s401:利用预先构建的语义相似度模型,确定目标对话系统的每一选定回复与对应人工回复之间的语义相似度。

在本实施例中,图5为本实施例提供的语义相似度模型的结构示意图。

将用于生成第二评价指标的选定回复集合中的每个选定回复定义为回复a,并将其对应问题的人工回复定义为回复a’,如图5所示,将回复a与回复a’中的各个词语的词向量,输入至图5所示的主题相关度模型后,该模型会输出回复a与回复a’之间的语义相似度,用similar(a,a’)表示,该similar(a,a’)越大,则表明回复a与回复a’之间的语义越相似。

在本实施例的一种实现方式中,s401中“确定目标对话系统的每一选定回复与对应人工回复之间的语义相似度”的过程,具体可以包括步骤s4011-s4012:

s4011:对于目标对话系统的每一选定回复,生成所述选定回复的第三语义表达结果,并生成所述选定回复的对应人工回复的第四语义表达结果。

在本实现方式中,对于用于生成第二评价指标的选定回复集合中的每一选定回复,首先,可以将每一选定回复及其对应的人工回复进行分词处理,得到每一选定回复及其对应人工回复包含的各个分词,并生成每一分词的词向量。例如,仍以回复a和回复a’为例,则分别对a和a’进行分词处理,以及对各个分词进行向量化后,可以得到a和a’分别对应的词向量序列,比如,a的词向量序列可以为[a1,a2,…,am],其中,ai表示a中第i(i=1,2,…,m)个词的词向量,a’的词向量序列可以为[a1’,a2’,…,an’],其中,ai’表示a’中第i(i=1,2,…,n)个词的词向量。

接下来,对于每一选定回复,可以将该选定回复及其对应的人工回复包含的各个分词的词向量,输入图5所示的语义相似度模型,可以生成该选定回复的第三语义表达结果以及对应人工回复的第四语义表达结果,其中,第三语义表达结果携带了该选定回复的语义信息,而第四语义表达结果则携带了该选定回复对应的人工回复的语义信息。

具体地,如图5所示,仍以回复a和回复a’为例,首先将回复a的词向量序列[a1,a2,…,am]以及回复a’的词向量序列[a1’,a2’,…,an’]输入至图5所示的语义相似度模型中,通过同一个bilstm(模型参数共享)可以分别生成回复a的第三语义表达结果ea以及回复a’的第四语义表达结果ea’,其中,第三语义表达结果ea携带了回复a的语义信息,而第四语义表达结果ea’携带了回复a’的语义信息。

s4012:根据第三语义表达结果和第四语义表达结果,生成所述选定回复与对应人工回复之间的语义相似度。

在本实现方式中,通过步骤s4011,生成了目标对话系统的每一选定回复的第三语义表达结果,以及该选定回复对应的人工回复的第四语义表达结果后,如图5所示,仍以回复a和回复a’为例,可以通过双线性变化,利用参数矩阵m,计算出表征回复a的第三语义表达结果ea与回复a’的第四语义表达结果ea’之间的语义相似度的数值,用similar(a,a’)表示,通过一个具有s型阈值函数sigmoid将其输出,该similar(a,a’)越大,则表明回复a与回复a’之间的语义相似度越高,反之亦然。

similar(a,a’)的具体计算公式如下:

其中,表示第三语义表达结果ea的转置;m表示参数矩阵(大小为e×e,e为第三语义表达结果ea的维度)。

s402:根据每一选定回复对应的语义相似度,生成目标对话系统的第二评价指标。

在本实施例中,通过步骤s401确定出目标对话系统的每一选定回复与对应人工回复之间的主题相关度similar(a,a’)后,进一步可以将各个similar(a,a’)进行平均计算,将计算得到的平均值,作为目标对话系统的第二评价指标p2,用以体现目标对话系统的回复与人工回复之间的语义相似度。

接下来,本实施例将对图5所示的语义相似度模型的构建过程进行介绍,该流程包括以下步骤(1)-(3):

(1)预先收集大量不同主题数据,并对其进行处理得到模型训练数据。

在本实施例中,为了构建语义相似度模型,需要预先进行大量的准备工作,首先,可以从不同渠道收集回复数据,比如,可以从“微博”中收集每条广播(post)(一条广播相当于一个问题)对应的多条评论(一条评论相当于一个回复)。

进一步的,在收集到大量回复数据后,本实施例将由人工根据具体的实际情况,对数据进行整理、分类和标注,将这些样本数据分为不同的正例数据对以及不同的负例数据对,以构成模型训练数据。

具体地,可以选取相同广播(post)底下的不同回复两两构建成数据对(pair)作为正例数据对,选取不同广播(post)底下的回复两两组成数据对(pair)作为负例数据对,用于作为语义相似性模型的训练语料。

其中,正例数据对包括同一条广播(post)下面的两条不同评论。例如,假设一条广播为“中国女排夺冠啦!”,该广播下面的两条评论“女排姑娘们好样的!”与“女排棒棒哒!”可以构成一对正例数据对。

其中,负例数据对包括两条不同广播(post)下面的各一条评论。例如,假设一条广播为“中国女排夺冠啦!”,该广播下面的一条评论为“女排姑娘们好样的!”,另一条广播为“某某防晒霜效果怎么样?”,该广播下面的一条评论为“防晒效果很不错!”,则这两条评论可以构成一对负例数据对。

(2)构建语义相似度模型。

在本实施例中,可以预先构建一个初始的语义相似度模型,并初始化模型参数,在通过步骤(1)得到模型训练数据后,进而可通过后续步骤(3)利用预先收集的模型训练数据对初始构建的语义相似度模型进行训练。

(3)利用预先收集的模型训练数据,对语义相似度模型进行训练。

对于模型训练数据中的正例数据对,其包括两个样本回复,应预先标注出表征二者语义相似度的数值p_ture,可以标注为1;对于模型训练数据中的负例数据对,其也包括两个样本回复,应预先标注出表征二者语义相似度的数值p_ture,可以标注为0。

在本实施例中,依次从模型训练数据中提取一组样本数据(可以是正例数据对或负例数据对),进行多轮模型训练,直到满足训练结束条件为止,此时,即训练得到语义相似度模型。

具体地,在进行本轮训练时,由于本轮训练使用的样本数据包括两个不同的样本回复,可以将上述实施例中的选定回复替换为其中一个样本回复,并将该选定回复对应的人工回复替换为另一个样本回复,通过当前的语义相似度模型,按照上述步骤s401,便可以预测得到表征这两个样本回复之间的语义相似度的数值similar(a,a’),该similar(a,a’)可以是区间[0,1]中的一个数值。然后,将预测结果similar(a,a’)与对应的p_ture进行比较,根据二者的差异对模型参数进行更新。

在训练过程中,使用的训练目标函数可以为交叉熵概率,利用交叉熵概率计算方法,最大化模型训练数据中的正例数据对对应的语义相似度值similar(a,a’),同时,最小化模型训练数据中的负例数据对对应的语义相似度值similar(a,a’),再根据每轮训练结束后交叉熵概率值的变化,对语义相似度模型的模型参数进行更新,直至计算出的交叉熵概率值不再变化,则停止模型参数的更新。

综上,本实施例利用预先构建的语义相似度模型,预测每一选定回复与对应人工回复之间的语义相似度,用以生成目标对话系统的第二评价指标,这样,可以在对目标对话系统的回复质量进行评价时,考虑目标对话系统回复与对应人工回复之间的语义相似度,从而可以提高系统回复质量的评价结果的准确性。

第四实施例

需要说明的是,由于生成式问答系统是基于概率的模型,容易出现如“嗯”、“好的”、“我不知道”等通用回复,但这种类型的回复很容易终止用户与生成式问答系统之间的对话,降低用户的使用体验,因此,降低这类通用回复的产生概率,能够提高系统的回复质量。

为此,本实施例将对通用回复鉴别模型的具体工作过程和构建过程进行介绍,基于通用回复鉴别模型的输出结果可以生成第三评价指标p3,用以对比如上述生成式问答系统的回复质量进行评价。

参见图6,其示出了本实施例提供的生成目标对话系统的第三评价指标的流程示意图,该流程包括以下步骤:

s601:利用预先构建的通用回复鉴别模型,确定目标对话系统的每一选定回复为通用回复的可能性。

在本实施例中,可以用一个概率值p’,来表示一个选定回复为通用回复的可能性大小。

在本实施例的一种实现方式中,s601中“确定目标对话系统的每一选定回复为通用回复的可能性”的过程,具体可以包括步骤s6011-s6013:

s6011:对于目标对话系统的每一选定回复,将所述选定回复的各个文本单元依次作为当前文本单元,并将所述当前文本单元之前的各个文本单元作为各个在前文本单元。

在本实现方式中,对于用于生成第三评价指标的选定回复集合中的每一选定回复,可以将每一选定回复按字/词进行拆分处理,得到每一选定回复包含的各个文本单元,各个文本单元可以是每一选定回复包含的每个字或每个词语。

本实施例后续将以文本单元为词语为例进行说明,基于此,可将每一选定回复的各个词语依次作为当前词语,并将当前词语之前的各个词语作为各个在前词语。例如,以选定回复被定义为回复s时进行说明,对回复s进行分词处理后,可以得到回复s的词序列[w1,w2,…,wn],其中,wi表示回复s中的第i(i=1,2,…,n)个词语,n表示回复s的词语总数,在wi为当前词语时,w1…wi-1则为wi的各个在前词语。

s6012:预测各个在前文本单元之后出现当前文本单元的可能性。

在本实施例中,图7为本实施例提供的通用回复鉴别模型的结构示意图,当对回复s进行分词,并为回复s添加bos(begin-of-sentence)表示句首,以及添加eos(end-of-sentence)表示句尾之后,再将回复s的bos、eos以及各个分词的词向量输入至图7所示的通用回复鉴别模型,该模型会输出回复s的各个分词在s中相应位置出现的可能性大小,可以用概率值pt表示在回复s中的第t个分词之前的各个分词出现的前提下、出现该第t个分词的可能性大小,可以用概率值pt表示该可能性大小。

其中,图7所示的通用回复鉴别模型,可以是基于循环神经网络(recurrentneuralnetwork,简称rnn)的网络模型,具有可以是lstm网络,当将回复s按照阅读顺序依次作为当前文本单元后,即可预测出各个在前文本单元之后出现该当前文本单元的可能性大小。

具体来讲,假设回复s的词序列为[w1,w2,…,wn],以当前时刻为第t时刻、当前文本单元为wt为例,则模型可以在第t时刻,根据输入的wt-1、ht-1(其携带了词语wt-1及其之前各个在前词语的语义信息),通过长短期记忆网络单元lstmcell输出wt对应的概率值pt,pt的概率计算公式如下:

pt=softmax(ω*ht+b)(8)

其中,pt表示通用回复鉴别模型在第t时刻输出的词语wt对应的概率值,pt表征了wt-1之后出现wt的可能性大小(比如,p2表示的是词语w1之后出现词语w2的可能性大小),pt越大,表示wt-1之后出现wt的可能性越高,反之亦然;ω和b表示通用回复鉴别模型的模型参数;ht携带了词语wt及其之前各个在前词语的语义信息。

s6013:根据每一当前文本单元对应的出现可能性,确定所述选定回复为通用回复的可能性。

在本实现方式中,通过步骤s6012,确定出回复s的每一当前文本单元对应的出现概率pt后,可以再根据得到的所有pt值,计算出回复s为通用回复的可能性大小。

具体计算公式为:

p’=p1*p2*...*pn(9)

进一步地,还可以将公式(9)两边取对数,即:

可以将公式(9)或公式(10)的计算结果,来表示回复s为通用回复的可能性大小。

为更方便的理解步骤s6011-s6013,下面举例说明。

以回复s为“今天天气好”为例,对其进行分词处理后,得到的各个分词为“今天”、“天气”以及“好”,将“今天天气好”的首尾分别增加bos和eos后,将“今天”、“天气”、“好”以及bos和eos的词向量输入图7所示的通用回复鉴别模型。首先,bos对应的词向量通过第一个lstmcell后可以在第1时刻输出词语w1(今天)对应的概率值p1以及携带有w1的语义信息的h1;然后,将w1(今天)的词向量以及h1,通过第二个lstmcell后可以在第2时刻输出词语w2(天气)对应的概率值p2以及携带有w1和w2的语义信息的h2;再然后,将w2(天气)的词向量以及h2,通过第三个lstmcell后可以在第3时刻输出词语w3(好)对应的概率值p3以及携带有w1、w2以及w3的语义信息的h3;最后,将w3(好)的词向量以及h3,通过第四个lstmcell后可以在第4时刻输出eos对应的概率值p4。可以通过公式(9)或(10)计算出“今天天气好”为通用回复的可能性大小。其中,p1、p2、p3、p4的值可以根据公式(8)计算得到。

s602:根据每一选定回复对应的可能性,生成目标对话系统的第三评价指标。

在本实施例中,通过步骤s602确定出目标对话系统的每一选定回复为通用回复的可能性大小后,即通过公式(9)或(10)计算出的概率值,进一步可以将各个概率值进行平均计算,将计算得到的平均值,作为目标对话系统的第三评价指标p3。

接下来,本实施例将对图7所示的通用回复鉴别模型的构建过程进行介绍,该流程包括以下步骤(1)-(3):

(1)预先收集大量回复语句数据作为模型训练数据。

在本实施例中,为了构建通用回复鉴别模型,需要预先进行大量的准备工作,首先,可以从不同渠道收集回复数据,其中包括通用回复和非通用回复的数据,比如,可以从“微博评论”、“豆瓣评论”以及“百度知道”中获取大量回复数据,将每一回复数据作为样本数据,用以作为模型训练的训练语料。

(2)构建通用回复鉴别模型。

在本实施例中,可以预先构建一个初始的通用回复鉴别模型,并初始化模型参数,在通过步骤(1)得到模型训练数据后,进而可通过后续步骤(3)利用预先收集的模型训练数据对初始构建的通用回复鉴别模型进行训练。

(3)利用预先收集的模型训练数据,对通用回复鉴别模型进行训练。

在本实施例中,依次从模型训练数据中提取一条样本数据(一条回复语句),进行多轮模型训练,直到满足训练结束条件为止,此时,即训练得到通用回复鉴别模型。

具体地,在进行本轮训练时,本轮训练使用的样本数据为一条样本回复,可以将上述实施例中的选定回复替换为该样本回复,通过当前的通用回复鉴别模型,按照上述步骤s601,便可以预测得到表征该条样本回复为通用回复的可能性大小,该可能性大小采用公式(9)或公式(10)计算得到的概率值来表示。然后,若该条样本回复实际为通用回复,则将该概率值与其标注值1进行比较,根据二者的差异对模型参数进行更新;若该条样本回复实际为非通用回复,则将该概率值与其标注值0进行比较,根据二者的差异对模型参数进行更新。

在训练过程中,使用的训练目标函数可以为交叉熵概率,利用交叉熵概率计算方法,最大化模型训练数据中的样本数据对应的预测概率值,即公式(9)或公式(10)计算得到的概率值,再根据每轮训练结束后交叉熵概率值的变化,对通用回复鉴别模型的模型参数进行更新,直至计算出的交叉熵概率值不再变化,则停止模型参数的更新。

综上,本实施例利用预先构建的通用回复鉴别模型,预测每一选定回复为通用回复的可能性,用以生成目标对话系统的第三评价指标,这样,可以在对目标对话系统的回复质量进行评价时,考虑目标对话系统回复为通用回复的可能性,从而可以提高系统回复质量的评价结果的准确性。

第五实施例

本实施例将对一种系统回复质量的评价装置进行介绍,相关内容请参见上述方法实施例。

参见图8,为本实施例提供的一种系统回复质量的评价装置的组成示意图,该装置800包括:

系统评价指标生成单元801,用于生成目标对话系统的系统评价指标,所述系统评价指标包括第一评价指标、第二评价指标以及第三评价指标中的至少一个;其中,所述第一评价指标是根据所述目标对话系统的每一选定回复与对应问题之间的主题相关度生成的;所述第二评价指标是根据所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度生成的;所述第三评价指标是根据所述目标对话系统的每一选定回复为通用回复的可能性生成的;

第一回复质量确定单元802,用于根据所述系统评价指标,确定所述目标对话系统的回复质量。

在本实施例的一种实现方式中,所述系统评价指标生成单元801包括:

相关度确定子单元,用于利用预先构建的主题相关度模型,确定所述目标对话系统的每一选定回复与对应问题之间的主题相关度;

第一指标生成子单元,用于根据每一选定回复对应的主题相关度,生成所述目标对话系统的第一评价指标。

在本实施例的一种实现方式中,所述相关度确定子单元包括:

结果生成子单元,用于对于所述目标对话系统的每一选定回复,生成所述选定回复的回复表达结果,并生成所述选定回复的对应问题的问题表达结果;其中,所述回复表达结果和所述问题表达结果中携带了所述选定回复与所述对应问题之间的主题相关度信息;

相关度生成子单元,用于根据所述回复表达结果和所述问题表达结果,生成所述选定回复与对应问题之间的主题相关度。

在本实施例的一种实现方式中,所述结果生成子单元包括:

第一语义结果生成子单元,用于生成所述选定回复的第一语义表达结果,并生成所述选定回复的对应问题的第二语义表达结果;

回复表达结果生成子单元,用于确定所述第一语义表达结果的每一表达单元与所述第二语义表达结果之间的相关度,并根据所述第一语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的回复表达结果;

问题表达结果生成子单元,用于确定所述第二语义表达结果的每一表达单元与所述第一语义表达结果之间的相关度,并根据所述第二语义表达结果的每一表达单元与每一表达单元对应的相关度,生成所述选定回复的对应问题的问题表达结果。

在本实施例的一种实现方式中,所述系统评价指标生成单元801包括:

相似度确定子单元,用于利用预先构建的语义相似度模型,确定所述目标对话系统的每一选定回复与对应人工回复之间的语义相似度;

第二指标生成子单元,用于根据每一选定回复对应的语义相似度,生成所述目标对话系统的第二评价指标。

在本实施例的一种实现方式中,所述相似度确定子单元包括:

第二语义结果生成子单元,用于对于所述目标对话系统的每一选定回复,生成所述选定回复的第三语义表达结果,并生成所述选定回复的对应人工回复的第四语义表达结果;

语义相似度生成子单元,用于根据所述第三语义表达结果和所述第四语义表达结果,生成所述选定回复与对应人工回复之间的语义相似度。

在本实施例的一种实现方式中,所述系统评价指标生成单元801包括:

通用回复确定子单元,用于利用预先构建的通用回复鉴别模型,确定所述目标对话系统的每一选定回复为通用回复的可能性;

第三指标生成子单元,用于根据每一选定回复对应的可能性,生成所述目标对话系统的第三评价指标。

在本实施例的一种实现方式中,所述通用回复确定子单元包括:

文本单元确定子单元,用于对于所述目标对话系统的每一选定回复,将所述选定回复的各个文本单元依次作为当前文本单元,并将所述当前文本单元之前的各个文本单元作为各个在前文本单元;

文本单元预测子单元,用于预测所述各个在前文本单元之后出现所述当前文本单元的可能性;

可能性确定子单元,用于根据每一所述当前文本单元对应的出现可能性,确定所述选定回复为通用回复的可能性。

在本实施例的一种实现方式中,所述第一回复质量确定单元802包括:

指标加权子单元,用于对所述系统评价指标所包括的各个评价指标进行加权处理;

质量确定子单元,用于根据加权处理结果确定所述目标对话系统的回复质量。

在本实施例的一种实现方式中,所述装置还包括:

待评价回复获取单元,用于获取所述目标对话系统输出的待评价回复;

回复评价指标生成单元,用于生成所述待评价回复的回复评价指标,所述回复评价指标包括第四评价指标和/或第五评价指标;

其中,所述第四评价指标是根据所述待评价回复与对应问题之间的主题相关度生成的;所述第五评价指标是根据所述待评价回复为通用回复的可能性生成的;

第二回复质量确定单元,用于根据所述回复评价指标,确定所述待评价回复的回复质量。

进一步地,本申请实施例还提供了一种系统回复质量的评价装置,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述系统回复质量的评价方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述系统回复质量的评价方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述系统回复质量的评价方法的任一种实现方法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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