掌桥专利:专业的专利平台
掌桥专利
首页

一种基于中心句自决定的对话式问题排序方法及系统

文献发布时间:2023-06-19 19:30:30


一种基于中心句自决定的对话式问题排序方法及系统

技术领域

本发明属于自然语言处理领域,尤其涉及一种基于中心句自决定的对话式问题排序方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

构建对话式信息获取系统(Conversational Information Seeking system,CIS)已经是一种新的趋势,最近几年得到了广泛关注。相对于传统的信息获取系统,例如搜索引擎,对话式信息获取系统的一个主要特征是混合驱动,即在用户意图不清晰时,通过主动询问用户明晰问题来帮助用户明晰意图。

现有的明晰问题生成工作分为两类:对话式问题生成(Conversational QuestionGeneration,CQG)和对话式问题排序(Conversational Question Ranking,CQR)。给定对话上下文,对话式问题生成通过自前往后生成问题中的每个单词来生成明晰问题。这种方式往往能生成非常灵活、流畅的问题。但是该类方法生成问题的质量往往得不到保证,而且很容易生成具有攻击性、冒犯性的问题。

对话式问题排序则在预定义的问题库中选择一个合适的问题作为明晰问题。问题选择的过程是通过对每个问题进行打分,并选出得分最高的作为最终选择。由于预定义问题库中的问题往往是人工给定或选择出的,其质量往往能够得到保证。因此该类方法广泛应用于商用对话系统中,例如微软小冰。

已有的对话式问题排序工作通过设计各种模型微调策略(Fine-tuning)来提升模型性能并取得了不错的效果。但是,这些工作在设计微调策略的过程中,往往对对话上下文中的句子进行随机操作,例如,随机删除对话上下文中句子来进行微调,这会破坏对话上下文与明晰问题间的一致性与连贯性,从而造成模型性能的下降。

发明内容

为了解决上述背景技术中存在的技术问题,本发明提供一种基于中心句自决定的对话式问题排序方法及系统,其能够保证对话上下文与明晰问题的一致性与连贯性。

为了实现上述目的,本发明采用如下技术方案:

本发明的第一个方面提供一种基于中心句自决定的对话式问题排序方法。

一种基于中心句自决定的对话式问题排序方法,包括:

获取对话上下文和问题库,采用已训练的问题排序模型,得到问题排序得分,选取得分最高的问题以及该问题作为目标问题时识别出的中心句;

所述问题排序模型的训练过程包括:采用训练集,结合损失函数训练问题排序模型,得到在验证集上表现最优的模型作为原始模型,表现次优的模型作为影子模型;其中,训练集和验证集均包括:对话上下文、问题库和问题相关性标签;采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取原始模型得到的对话上下文中得分最高的句子作为识别出中心句,选取影子模型得到的对话上下文中得分最高的句子作为识别出另一中心句;以识别出中心句和识别出另一中心句尽可能相同为原则,结合损失函数,优化权重因子,直到权重因子收敛;根据原始模型和收敛后的权重因子,采用训练集,设计微调任务训练原始模型,得到训练好的问题排序模型。

进一步地,在训练问题排序模型之前包括,构建问题排序模型的过程:

基于对话上下文矩阵和问题库矩阵,采用BERT编码器,得到对话上下文矩阵和问题库矩阵的聚合特征;

基于所述聚合特征,采用全连接层,得到每个问题的得分以及该问题作为目标问题时识别出的中心句。

进一步地,所述损失函数包括,二分类交叉熵损失函数:

其中,y

进一步地,所述采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取原始模型得到的对话上下文中得分最高的句子作为识别出中心句,选取影子模型得到的对话上下文中得分最高的句子作为识别出另一中心句的过程具体包括:

基于原始模型,采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取对话上下文中得分最高的句子作为识别出中心句;

基于影子模型,采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取对话上下文中得分最高的句子作为识别出另一中心句。

进一步地,所述启发式方法包括:

采用留一法,对于对话上下文中第j个句子,通过留出该句子,计算该句子对于问题排序中目标问题Q

其中,f

进一步地,所述启发式方法还包括:采用独立法,对于对话上下文中第j个句子,通过单独衡量该句子的作用,计算该句子对于问题排序中目标问题Q

这里对话上下文只包含第j个句子,f

进一步地,所述启发式方法还包括:采用上文法,对于对话上下文中第j个句子,通过衡量该句子在已知上文情况下的作用,计算该句子对于问题排序中目标问题Q

这里U

进一步地,所述启发式方法还包括:采用下文法,对于对话上下文中第j个句子,通过衡量该句子在已知下文情况下的作用,计算该句子对于问题排序中目标问题Q

这里U

进一步地,所述直到权重因子收敛的过程包括:

针对原始模型,基于给定的权重因子,计算对话上下文中每一个句子的得分,对于第j个句子的得分为:

并选择对话上下文中得分最高的句子作为识别出的中心句:

其中,c为识别出的中心句的索引,W为权重因子;

针对影子模型,基于给定的权重因子,计算对话上下文中每一个句子的另一得分,对于第j个句子的得分为:

并识别出另一中心句:

sc为识别出的另一中心句的索引;

以识别出中心句和识别出另一中心句尽可能相同为原则,优化权重因子W:

其中N为训练样本的个数,c

采用二分类交叉熵损失函数优化权重因子W:

其中,α为系数,保证

优化权重因子W,直到权重因子W收敛。

进一步地,所述根据原始模型和收敛后的权重因子,采用训练集,设计微调任务训练原始模型,得到已训练的问题排序模型的过程具体包括:

随机将训练集中训练样本的对话上下文中前k个句子删除来构造新样本(

采用新样本,结合二分类交叉熵损失函数训练原始模型;

其中,y

得到已训练的问题排序模型。

本发明的第二个方面提供一种基于中心句自决定的对话式问题排序系统。

一种基于中心句自决定的对话式问题排序系统,包括:

排序模块,其被配置为:获取对话上下文和问题库,采用已训练的问题排序模型,得到问题排序得分,选取得分最高的问题以及该问题作为目标问题时识别出的中心句;

问题排序模型训练模块,其被配置为:采用训练集,结合损失函数训练问题排序模型,得到在验证集上表现最优的模型作为原始模型,表现次优的模型作为影子模型;其中,训练集和验证集均包括:对话上下文、问题库和问题相关性标签;采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取原始模型得到的对话上下文中得分最高的句子作为识别出中心句,选取影子模型得到的对话上下文中得分最高的句子作为识别出另一中心句;以识别出中心句和识别出另一中心句尽可能相同为原则,结合损失函数,优化权重因子,直到权重因子收敛;根据原始模型和收敛后的权重因子,采用训练集,设计微调任务训练原始模型,得到训练好的问题排序模型。

本发明的第三个方面提供一种计算机可读存储介质。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的基于中心句自决定的对话式问题排序方法中的步骤。

本发明的第四个方面提供一种计算机设备。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的基于中心句自决定的对话式问题排序方法中的步骤。

与现有技术相比,本发明的有益效果是:

本发明在模型设计上,通过先识别能够保证一致性与连贯性的中心句,然后随机删除其他句子来进行微调;在模型训练上,采用一种无监督的学习策略,来优化中心句的识别。相比于已有的对话式问题排序方法,本发明的优势如下:

1.本发明提出识别对话上下文中的中心句,能够在微调中保证对话上下文与问题的一致性与连贯性,从而提高模型性能。

2.本发明设计了一种中心句识别的无监督训练策略,可以避免数据标注消耗人力物力,减少模型对于数据标注的依赖,提高该方法的应用能力。

3.本发明设计的模型可以识别出的中心句作为问题排序预测的参考,为模型提供可解释性。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1是本发明基于中心句自决定的对话式问题排序方法的流程图;

图2是本发明在权重因子优化以及识别中心句的示意图;

图3是本发明在模型应用时的示意图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。

实施例一

如图1所示,本实施例提供了一种基于中心句自决定的对话式问题排序方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本实施例中,该方法包括以下步骤:

获取对话上下文和问题库,采用已训练的问题排序模型,得到问题排序得分,选取得分最高的问题以及该问题作为目标问题时识别出的中心句;

所述问题排序模型的训练过程包括:采用训练集,结合损失函数训练问题排序模型,得到在验证集上表现最优的模型作为原始模型,表现次优的模型作为影子模型;其中,训练集和验证集均包括:对话上下文、问题库和问题相关性标签;采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取原始模型得到的对话上下文中得分最高的句子作为识别出中心句,选取影子模型得到的对话上下文中得分最高的句子作为识别出另一中心句;以识别出中心句和识别出另一中心句尽可能相同为原则,结合损失函数,优化权重因子,直到权重因子收敛;根据原始模型和收敛后的权重因子,采用训练集,设计微调任务训练原始模型,得到训练好的问题排序模型。

为了保证对话上下文与明晰问题的一致性与连贯性,本发明提出一种新的微调方案,在模型设计上,通过先识别能够保证一致性与连贯性的中心句,然后随机删除其他句子来进行微调;在模型训练上,采用一种无监督的学习策略,来优化中心句的识别。相较于现有的方法,识别出中心句并用于指导微调任务的设计,提升了微调过程中对话上下文与明晰问题的一致性与连贯性。对中心句预测任务无监督的训练方式,减少了数据标注的人力物力,使得该方法得以广泛应用。同时,识别出的中心句能够作为问题排序的参考,为模型提供可解释性。下面对于本发明进行详细说明,基于中心句自决定的对话式问题排序,如图1所示,具体包含了下面步骤:

步骤1:构建问题排序的模型。给定对话上下文U=[U

对于第i个问题Q

h

然后,通过一个全连接层Linear,预测该问题得分:

f(U,Q

这样,模型就能对每个问题预测一个的得分,从而具备问题排序的能力。

步骤2:识别对话上下文中的中心句。基于步骤1中的模型,采用无监督的方式识别对话上下文中的中心句。图2展示了本发明在权重因子优化以及识别中心句的示意图。

本步骤通过以下过程实现。

Step1:训练对话式问题排序模型。使用公开的对话式问题排序数据集,通过输入对话上下文,问题库,问题相关性标签,利用二分类交叉熵损失进行训练:

其中,y

Step2:识别中心句。

对于原始模型f

1)留一法:对于对话上下文中第j个句子,通过留出该句子,计算该句子对于问题排序中目标问题Q

/>

其中,f

2)独立法:对于对话上下文中第j个句子,通过单独衡量该句子的作用,计算该句子对于问题排序中目标问题Q

这里对话上下文只包含第j个句子。

3)上文法:对于对话上下文中第j个句子,通过衡量该句子在已知上文情况下的作用,计算该句子对于问题排序中目标问题Q

这里U

4)下文法:对于对话上下文中第j个句子,通过衡量该句子在已知下文情况下的作用,计算该句子对于问题排序中目标问题Q

这里U

最后,通过一个可训练参数W,计算对话上下文中每一个句子的得分。具体的,对于第j个句子:

并选择对话上下文中得分最高的句子作为识别出的中心句:

其中,c为识别出的中心句的索引。

Step3:优化Step2中的权重因子。基于影子模型f

并识别出另一个中心句:

通过促进原始模型f

其中N为训练样本的个数,c

同时,我们还采用二分类交叉熵损失优化权重因子W,使其尽可能参考全部四种方法计算的得分:

由于

我们设置α=0.001,从而保证

最终,在权重因子W的优化收敛后,对于原始模型,我们基于step2中的方法识别出各样本对话上下文中的中心句。

步骤3:设计微调任务并训练问题排序模型。

设计中心句保持的微调任务。随机将对话上下文中前k个句子删除来构造新的样本(

输入新的样本,利用与步骤1相同的二分类交叉熵损失训练问题排序模型:

步骤4:实际对话式信息获取应用。

训练完成后,权重因子和模型参数全部固定。此时,模型就可以应用到实际的对话式信息获取场景中去。

如图3所示,给定对话上下文及问题库,将该对话上下文以及候选问题逐次送入模型,可以预测得到一个得分。选择得分最大的问题作为模型最终的输出,同时输出该问题作为目标问题时识别出的中心句作为模型预测的参考。

实施例二

本实施例提供了一种基于中心句自决定的对话式问题排序系统。

一种基于中心句自决定的对话式问题排序系统,包括:

排序模块,其被配置为:获取对话上下文和问题库,采用已训练的问题排序模型,得到问题排序得分,选取得分最高的问题以及该问题作为目标问题时识别出的中心句;

问题排序模型训练模块,其被配置为:采用训练集,结合损失函数训练问题排序模型,得到在验证集上表现最优的模型作为原始模型,表现次优的模型作为影子模型;其中,训练集和验证集均包括:对话上下文、问题库和问题相关性标签;采用启发式方法,结合给定的权重因子,计算对话上下文中的每个句子得分,选取原始模型得到的对话上下文中得分最高的句子作为识别出中心句,选取影子模型得到的对话上下文中得分最高的句子作为识别出另一中心句;以识别出中心句和识别出另一中心句尽可能相同为原则,结合损失函数,优化权重因子,直到权重因子收敛;根据原始模型和收敛后的权重因子,采用训练集,设计微调任务训练原始模型,得到训练好的问题排序模型。

此处需要说明的是,上述排序模块和问题排序模型训练模块与实施例一中的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

实施例三

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的基于中心句自决定的对话式问题排序方法中的步骤。

实施例四

本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的基于中心句自决定的对话式问题排序方法中的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于用户行为分析的新闻热度排序方法及系统
  • 一种基于税务咨询问题的热句排序方法
  • 一种基于税务咨询问题的热句排序方法
技术分类

06120115929226