CN110688478B - 一种答案排序方法、装置及存储介质 - Google Patents
一种答案排序方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110688478B CN110688478B CN201910939362.XA CN201910939362A CN110688478B CN 110688478 B CN110688478 B CN 110688478B CN 201910939362 A CN201910939362 A CN 201910939362A CN 110688478 B CN110688478 B CN 110688478B
- Authority
- CN
- China
- Prior art keywords
- target
- information
- candidate
- answer
- sorting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开一种答案排序方法、装置及存储介质,方法包括:获取问题对应的多个候选答案;根据问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序得到预排序队列;根据预排序队列中每个候选答案的排序顺序,从预排序队列中确定当前需要参与重排序的目标候选答案;从历史候选答案的背景信息中提取目标证据信息,并根据目标证据信息和问题获取目标候选答案的目标正确性得分;根据目标正确性得分将目标候选答案***到目标排序队列中的相应位置;当预排序队列中所有候选答案均被***到目标排序队列时,输出目标排序队列。本方案能够提高判断候选答***性。
Description
技术领域
本申请实施例涉及互联网技术领域,尤其涉及一种答案排序方法、装置及存储介质。
背景技术
在搜索***中,一般会针对用户输入的问题给出多个答案以供用户选择,简称为答案选择。答案选择是将正确的候选答案排在错误答案的前面的一个排序过程。目前主要基于两类模型实现答案选择,一类是基于问题和候选答案之间的相似度匹配,问题是判断候选答案的唯一依据,不考虑利用其他的额外信息。一类是除了将问题作为依据外,还设法从额外的语料库或知识库中提取一些额外信息作为选择正确答案的依据。例如,采用应用循环神经网络或卷积神经网络等深层网络结构对问题和候选答案进行编码以及进一步进行相似度匹配。对候选答案而言,与问题匹配程度越高,越有可能为正确答案。这类模型可大致分为基于注意力机制(Attention mechanism)的模型和基于比较-聚合(Compare-Aggregate)机制的模型。
在对现有技术的研究和实践过程中,本申请实施例的发明人发现,由于问题与候选答案之间的匹配信息有限,一定程度上限制答案选择***的效果。从外部语料库或者知识库抽取一些与问题相关的信息作为额外信息来辅助判断候选答案的正误。使用的额外信息包括利用搜索***搜索出的与问题相关的文本,以及通过实体链接从知识库中抽取出的三元组,但是,这种抽取额外信息的方式需要借助第三方工具,所以耗时长且代价昂贵。这两种方式下判断候选答***性不高。
发明内容
本申请实施例提供了一种答案排序方法、装置及存储介质,能够提高判断候选答***性,无需借助第三方工具,以及提高整个答案选择的效率。
第一方面中,本申请实施例提供一种答案排序方法,所述方法包括:
获取问题对应的多个候选答案;
根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;
根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
根据预排序队列中每个候选答案的排序顺序,从所述预排序队列中确定当前需要参与重排序的目标候选答案;
从历史候选答案的背景信息中提取目标证据信息,并根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,其中,所述历史候选答案为历史参与重排序的候选答案;
根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置;
当所述预排序队列中所有候选答案均被***到所述目标排序队列时,输出所述目标排序队列。
一种可能的设计中,所述从历史候选答案的背景信息中提取目标证据信息之后,所述根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分之前,所述方法还包括:
获取所述目标证据信息与所述目标候选答案之间的匹配信息;
对所述问题与所述目标候选答案之间的匹配信息,以及所述目标证据信息与所述目标候选答案之间的匹配信息进行合成,得到目标匹配信息;
所述根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,包括:
根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分。
一种可能的设计中,所述从历史候选答案的背景信息中提取目标证据信息,包括:
获取所述历史候选答案的历史证据信息和历史正确性得分;
根据所述历史正确性得分,从所述历史证据信息中确定当前重排序所需的证据分量;
根据所述历史候选答案的背景信息、所述历史证据信息以及所述证据分量得到所述目标证据信息。
一种可能的设计中,所述根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分,包括:
根据所述目标证据信息预测并标记所述目标候选答案回答所述问题时所有可能的断言结果;
根据所述目标匹配信息计算所述目标候选答案回答所述问题时所有可能的断言结果的概率分布;
根据所述概率分布和多层感知参数得到所述目标正确性得分。
一种可能的设计中,所述从历史候选答案的背景信息中提取目标证据信息之前,所述方法还包括:
提取所述预排序队列中参与重排序的第一个候选答案的背景信息;
将所述第一个候选答案的背景信息初始化为信息向量,将所述信息向量作为所述预排序队列中参与下一次重排序的候选答案的证据信息。
一种可能的设计中,所述方法由神经网络模型实现;在所述将所述目标候选答案***到目标排序队列中的相应位置之后,所述当所述预排序队列中所有候选答案均被***到目标排序队列时,输出目标排序队列之前,所述方法还包括:
获取本次重排序中***候选答案后所述目标排序队列的当前排序精度、以及上一次重排序中***历史候选答案后所述目标排序队列的历史排序精度,其中,排序精度表示评估每次***答案后所述目标排序队列的评估参数;
计算所述当前排序精度与所述历史排序精度之间的差值;
根据所述差值对神经网络模型进行训练。
一种可能的设计中,所述根据所述差值对神经网络模型进行训练,包括:
计算所述差值的奖励值;
按照所述差值的奖励值最大化规则,对神经网络模型进行训练。
一种可能的设计中,所述方法还包括:
将所述目标排序队列存储至区块链。
第二方面中,本申请实施例提供一种答案排序装置,具有实现对应于上述第一方面提供的答案排序方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述装置包括:
输入输出模块,用于获取问题对应的多个候选答案;
处理模块,用于根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
所述处理模块还用于根据预排序队列中每个候选答案的排序顺序,从所述预排序队列中确定当前需要参与重排序的目标候选答案;从历史候选答案的背景信息中提取目标证据信息,并根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,其中,所述历史候选答案为历史参与重排序的候选答案;
所述处理模块还用于根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置;
所述输入输出模块还用于当所述预排序队列中所有候选答案均被***到所述目标排序队列时,输出所述目标排序队列。
一种可能的设计中,所述处理模块在从历史候选答案的背景信息中提取目标证据信息之后,根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分之前,还用于:
获取所述目标证据信息与所述目标候选答案之间的匹配信息;
对所述问题与所述目标候选答案之间的匹配信息,以及所述目标证据信息与所述目标候选答案之间的匹配信息进行合成,得到目标匹配信息;
所述根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,包括:
根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分。
一种可能的设计中,所述处理模块具体用于:
获取所述历史候选答案的历史证据信息和历史正确性得分;
根据所述历史正确性得分,从所述历史证据信息中确定当前重排序所需的证据分量;
根据所述历史候选答案的背景信息、所述历史证据信息以及所述证据分量得到所述目标证据信息。
一种可能的设计中,所述处理模块具体用于:
根据所述目标证据信息预测并标记所述目标候选答案回答所述问题时所有可能的断言结果;
根据所述目标匹配信息计算所述目标候选答案回答所述问题时所有可能的断言结果的概率分布;
根据所述概率分布和多层感知参数得到所述目标正确性得分。
一种可能的设计中,所述处理模块在从历史候选答案的背景信息中提取目标证据信息之前,还用于:
提取所述预排序队列中参与重排序的第一个候选答案的背景信息;
将所述第一个候选答案的背景信息初始化为信息向量,将所述信息向量作为所述预排序队列中参与下一次重排序的候选答案的证据信息。
一种可能的设计中,所述方法由神经网络模型实现;所述处理模块在所述将所述目标候选答案***到目标排序队列中的相应位置之后,所述当所述预排序队列中所有候选答案均被***到目标排序队列时,输出目标排序队列之前,还用于:
获取本次重排序中***候选答案后所述目标排序队列的当前排序精度、以及上一次重排序中***历史候选答案后所述目标排序队列的历史排序精度,其中,排序精度表示评估每次***答案后所述目标排序队列的评估参数;
计算所述当前排序精度与所述历史排序精度之间的差值;
根据所述差值对神经网络模型进行训练。
一种可能的设计中,所述处理模块具体用于:
计算所述差值的奖励值;
按照所述差值的奖励值最大化规则,对神经网络模型进行训练。
一种可能的设计中,所述装置还包括存储模块,所述存储模块用于将所述目标排序队列存储至区块链。
本申请实施例又一方面提供了一种计算机装置,其包括至少一个连接的处理器、存储器和输入输出单元,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的计算机程序来执行上述第一方面所述的方法。
本申请实施例又一方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
相较于现有技术,本申请实施例提供的方案中,根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列。可见,通过对候选答案进行预排序,能够对正确性得分较高的候选答案进行初略的排序,为后续对目标候选答案的重排序时计算目标正确性得分以及输出目标排序队列减少不必要的计算,从而提高排序效率,以及提高排序结果的准确性和合理性。此外,提取用于判断候选答案的正确性的目标证据信息;根据目标证据信息和问题确定目标正确性得分,通过引入目标证据信息去确定目标候选答案的正确性得分,能够进一步提高目标候选答案的正确性得分的精度、准确度和有效性,同时目标证据信息是历史候选答案本身的固有特征,所以无需额外借助第三方工具去获取辅助判断候选答案的正误的三元组,进而减少排序耗时和节约成本。
附图说明
图1a为本申请实施例中用于重排序的神经网络模型的一种结构示意图;
图1b为本申请实施例中用于重排序的神经网络模型的一种结构示意图;
图2为本申请实施例中答案排序的一种流程示意图;
图3a为本申请实施例中从历史候选答案中提取背景信息的一种示意图;
图3b为本申请实施例中区块链***的一种结构示意图;
图4为本申请实施例中用于对答案排序的装置的一种结构示意图;
图5为本申请实施例中执行答案排序方法的装置的一种结构示意图;
图6为本申请实施例中执行答案排序方法的服务器的一种结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。
本申请实施例供了一种答案排序方法、装置及存储介质,可用于服务器侧,该服务器侧可用于检索、搜索或查询等应用场景。服务器可为检索***、搜索引擎或查询***等。本申请实施例涉及人工智能(Artificial Intelligence,AI),人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例能够基于AI实现上述答案排序方法,具体通过如下实施例进行说明:
一些实施方式中,服务器侧可部署答案排序装置,答案排序装置可通过神经网络模型实现,在对各候选答案进行预排序后,基于该神经网络模型对各候选答案进行正确性得分计算和重排序,并输出排序结果。如图1a所示的服务器侧中部署的一种神经网络模型的结构示意图,基于该神经网络模型的结构可以实现本申请实施例中的答案排序方法中提及的功能。该神经网络模型可分为三个模块:基础模块、证据模块和推理模块。
基础模块:旨在获取问题与每个候选答案之间的匹配信息,基础模块包括编码层和注意力层。编码层用于:问题和当前候选答案经由双向门控循环单元网络(Bi-gatedrecurrent neural network,Bi-GRU)编码为向量。注意力层:采用双向注意流中的注意力机制来匹配问题和候选答案。
证据模块:旨在从历史候选答案本身的背景信息聚合成证据信息,并且获取证据信息与当前待重排序的候选答案之间的匹配信息。证据模块包括证据聚合器。证据模块也可称为证据信息模块,证据聚合器成为证据信息聚合器。本申请实施例不对此作限定。
推理模块:包括状态空间和动作空间,在第t个时间步(为便于表述,简称为t时间步,其它同理,不作赘述),获得问题与候选答案之间的问题与每个候选答案之间的匹配信息,以及证据信息与候选答案之间的目标证据信息与所述目标候选答案之间的匹配信息后,神经网络模型将问题与每个候选答案之间的匹配信息和目标证据信息与所述目标候选答案之间的匹配信息拼接起来作为t时间步的状态St。神经网络模型可根据状态St对映射到动作空间,判断候选答案是否能够回答当前的问题。
本申请实施例中,时间步为神经网络模型的超参数,是相对于神经网络模型的输入而言,即一次完整输入所需要的次数。例如将待输入神经网络模型的多个候选答案看作时间序列,那么神经网络模型的输入为多个序列(例如本申请实施例中的多个候选答案),每次输入神经网络模型的序列存在并行或先后顺序,则可以确定待输入神经网络模型的序列需要多个时间步。本申请实施例中的时间步也可称为时间步长,不对此作限定。例如,待输入神经网络模型的候选答案为100个,设置时间步长为20,那么,将第1-第20个候选答案作为第一个训练样本,将第21-第40个候选答案作为第二个训练样本,以此类推,共5个训练样本。按照顺序,分别先后5次将这5个训练样本输入神经网络模型,以对神经网络模型进行训练。
本申请实施例中,对候选答案进行排序包括预排序阶段和重排序阶段,重排序阶段可包括至少一次排序,每一次排序都基于历史重排序的排序结果。例如可基于上一次重排序的排序结果,也可以基于历史重排序的任意次重排序的排序结果。以当前重排序基于上一次重排序的排序结果为例,具体来说,重排序阶段的第一次排序基于预排序阶段的排序结果,重排序阶段的第二次排序基于重排序阶段的第二次排序结果,以此类推。如图1b所示的对候选答案进行排序的一种流程示意图。
其中,在预排序阶段,调用基础模块获取问题与候选答案之间的匹配信息,并将该问题与候选答案之间的匹配信息输入神经网络模型的多层感知机,由多层感知机输出对应的正确性得分,对各候选答案的正确性得分排序得到预排序结果,该预排序结果决定了这些候选答案重排序的顺序。重排序则一起调用上述三个模块利用强化学习对每一个候选答案依次进行重排序(如图1a所示)。
在重排序阶段,对于每一个候选答案,首先调用基础模块获取问题与当前候选答案Ct之间的匹配信息(图1a中的实心点方框)作为依据之一,再调用证据模块从前t-1时间步中重排序阶段得到的候选答案中聚合得到证据信息Et(对应图1a中的EvidenceExtractor),并进一步获得Et与Ct之间的匹配信息(例如图1a中的斜线方框)。最后调用推理模块将这两个匹配信息进行拼接,得到目标匹配信息St,将目标匹配信息St来计算出当前候选答案Ct的正确性得分。根据该正确性得分更新排序队列,然后计算差值,以指导整个模型不断的进行训练。
由于问题与候选答案之间的匹配信息有限,一定程度上限制答案选择***的效果,需要从外部语料库或者知识库抽取一些与问题相关的信息作为额外信息来辅助判断候选答案的正误。使用的额外信息包括利用搜索***搜索出的与问题相关的文本,以及通过实体链接从知识库中抽取出的三元组,但是,这种抽取额外信息的方式需要借助外部工具,所以耗时长且代价昂贵。这两种方式下判断候选答***性不高。为解决上述技术问题,本申请实施例主要提供以下技术方案:
将答案选择的过程分为预排序阶段和重排序阶段,将多个候选答案的背景信息作为判断候选答案正误的证据,然后利用预排序的结果和门机制聚合候选答案的背景信息得到证据信息,并利用证据信息对候选答案进行重排,以获得最终的排序结果。由于候选答案的背景信息是自然存在的,所以不需要借助任何的第三方工具、语料及知识库,进而方便有效。
需要说明的是,本申请实施例中的答案排序方法可用于对答案排序、选择答案、查询信息或选择策略等场景,例如候选答案可以替换为待选策略或候选策略,本申请实施例不对此作限定。本申请实施例仅以搜索***中对答案排序为例对本申请实施例中答案排序方法进行举例说明,关于基于答案排序方法来选择策略的实施例可参考对选择答案的实施例,不对选择的对象、选择对象所在的应用场景作限定。
参照图2,以下介绍本申请实施例所提供的一种答案排序方法,该方法可有答案选择装置执行,答案选择装置可以是搜索引擎本申请实施例包括:
201、获取问题对应的多个候选答案,根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分。
其中,所述问题与每个候选答案之间的匹配信息可以是概率或正确性得分,例如,所述问题与每个候选答案之间的匹配信息是候选答案成为所述问题的正确答案的概率,或者,所述问题与每个候选答案之间的匹配信息是将候选答案回答所述问题时给出的得分。
202、根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列。
其中,所述预排序队列包括多个候选答案,每个候选答案对应一个排序顺序。
在对多个候选答案进行预排序时,可以根据候选答案成为所述问题的正确答案的概率进行预排序,或者根据将候选答案回答所述问题时给出的正确性得分进行预排序,本申请实施例不对此作限定。
例如,输入的问题:人身保险包含哪些?
问题“人身保险包含哪些?”共有20个候选答案(即包括C1、C2、C3…C20):
C1:人身保险是被保险人(保险单持有者)与保险人之间的一个合同,合同中保险人承诺在被保险人死亡后将给指定受益人赔付一定数量的金额赔付给被保险人。
C2:基于合同,其他的事也可能触发合同约定的赔付,例如晚期疾病或者病危等事件。
C3:基于人身的合同倾向于两个主要大类。
C4:保护条款旨在于在特定事件中提供一些资金,尤其是肿瘤赔付。
C5:人身保险,是以人的寿命和身体为保险标的的保险。当人们遭受不幸事故或因疾病、年老以致丧失工作能力、伤残、死亡或年老退休时,根据保险合同的约定,保险人对被保险人或受益人给付保险金,以解决其因病、残、老、死所造成的经济困难。
C6:在人身保险中,保险人承担的是给付责任,不问损失与否与多少。为此,人身保险通常均为定额保险。
C7:人身保险包括人寿保险、伤害保险、健康保险三种。
C8:人身保险的特点之一就是其保险期限长。个别人身保险险种期限较短,有几天,甚至几分钟的,如旅客意外伤害保险和高空滑车保险,则另当别论。投保人身保险的人不愿将保险期限定得过短的一个原因是,人们对人身保险保障的需求具有长期性;另一个原因是,人身保险所需要的保险金额较高,一般要在长期内以分期缴付保险费方式才能取得。
……
C19:人身保险包括人寿保险、伤害保险、健康保险三种。
C20:人身保险的特点之一就是其保险期限长。个别人身保险险种期限较短,有几天,甚至几分钟的,如旅客意外伤害保险和高空滑车保险,则另当别论。投保人身保险的人不愿将保险期限定得过短的一个原因是,人们对人身保险保障的需求具有长期性;另一个原因是,人身保险所需要的保险金额较高,一般要在长期内以分期缴付保险费方式才能取得。
分别计算C1、C2、C3…、C19、C20回答问题“人身保险包含哪些?”时的概率,概率依次为:0.99、0.97、0.92、…0.69、0.80,那么,根据概率的大小对C1、C2、C3…、C19、C20进行预排序,得到预排序队列RL1。
RL1为:{C1、C2、C3、C5、C6、C9、C10、C12、C14、C20、C4、C8、C7、C11、C18、C17、C16、C13、C19、C15}。
一些实施方式中,由于候选答案数量可能存在很多,那么为减少重排序的次数以减少运算量和提高答案排序效率,还可以将概率值低于预设阈值的候选答案从预设队列中剔除,或者从预设队列中选择排前多少名的候选答案用于重排序。例如,可根据概率的大小从RL1中选择top10的候选答案,即得到RL1’,RL1’包括C1、C2、C3、C5、C6、C9、C10、C12、C14、C20。可见,通过这种方式能够有效地筛选出正确性得分较高的候选答案,为后续对候选答案的正确性得分计算以及得到目标排序队列过滤掉不必要的计算,减少针对参考价值较低的候选答案的重排序操作,进而提高重排序的效率以及提高排序结果的准确性和合理性。
在本申请实施例中,每一次对候选答案进行重排序都可看作实在一个时间步内完成,循环往复,最终在多个时间步内完成对上述多个参与重排序的候选答案的重排序。例如,对k个候选答案的重排序阶段需要在k个时间步内完成,所以,可将当前需要参与重排序的目标候选答案看作t时间步待进行重排序的候选答案Ct。每进行下一次重排序之前,都需要先从预排序队列中选择下一个候选答案。由于本申请实施例中的重排序阶段是一个迭代循环流程,每一轮迭代,都会对各候选答案进行一次重排序,若本申请实施例采用神经网络模型来实现这个循环迭代流程,那么对预设队列中的候选答案进行重排序可按照时间步的先后来分类,即每一次重排序都在一个时间步内完成,在每一个时间步都会将目标候选答案输入神经网络模型中,然后进入下一个时间步迭代循环。
204、从历史候选答案的背景信息中提取目标证据信息,并根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分。
其中,所述历史候选答案为历史参与重排序的候选答案。所述历史候选答案可以是上一次参与重排序的候选答案,也可以是当前重排序之前的任意次重排序候选答案,本申请实施例不对此做限定。例如,目标候选答案为Ct。,那么历史候选答案可为Ct-1;或者历史候选答案可为Ci,i=1、2、3…t-1,即历史候选答案可为C1、C2、…、Ct-1中的至少一个候选答案,t小于等于预设队列中候选答案的总数。Ct-1为t-1时间步参与重排序的候选答案,其它同理,不作赘述。
其中,目标证据信息也可称为辅助判断信息、辅助证据等类似名词,本申请实施例不对此作限定。
一些实施方式中,可采用下述操作从历史候选答案的背景信息中提取目标证据信息:
1、从历史候选答案的背景信息中提取目标证据信息。
其中,候选答案的背景信息是指基于候选答案的内容进行挖掘、衍生得到的信息。
例如图3a所示,输入的问题:人身保险包含哪些?
通过4个时间步的重排序得到4候选答案:C1、C2、C3和C4。
C1:人身保险是被保险人(保险单持有者)与保险人之间的一个合同,合同中保险人承诺在被保险人死亡后将给指定受益人赔付一定数量的金额赔付给被保险人。其中,下划线部分均为C1的背景信息。
C2:基于合同,其他的事也可能触发合同约定的赔付,例如晚期疾病或者病危等事件。其中,下划线部分均为C2的背景信息。
C3:基于人身的合同倾向于两个主要大类。
C4:保护条款旨在于在特定事件中提供一些资金,尤其是肿瘤赔付。其中,下划线部分均为C4的背景信息。
其中,C1、C2、C3、C4的标签依次为:真、真、假、真。
分别提取C1、C2、C4的背景信息,并将C1、C2、C4的背景信息作为证据信息聚合后,得到上述目标证据信息,将该目标证据信息作为在第5个时间步判断候选答案的依据。
2、将各历史候选答案的背景信息聚合,得到所述目标证据信息。
一些实施方式中,采用下述操作从历史候选答案的背景信息中提取目标证据信息:
获取所述历史候选答案的历史证据信息和历史正确性得分;
根据所述历史正确性得分,从所述历史证据信息中确定当前重排序所需的证据分量(即待添加到目标证据信息中的信息);
根据所述历史候选答案的背景信息、所述历史证据信息以及所述证据分量得到所述目标证据信息。
可选的,可基于门机制控制t-1时间步到t时间步的信息流来确定所述证据分量。
其中,所述目标正确性得分是指重排序时所述目标候选答案用于回答所述问题正确与否的概率。
一些实施方式中,所述根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,包括:
a、根据所述目标证据信息预测并标记所述目标候选答案回答所述问题时所有可能的断言结果。
可选的,可将所述目标证据信息作为神经网络模型在当前重排序的状态(例如神经网络模型在t时间步的状态)。
b、根据所述目标匹配信息计算所述目标候选答案回答所述问题时所有可能的断言结果的概率分布。
可选的,若将所述目标证据信息作为神经网络模型在当前重排序的状态,则根据所述状态确定所述目标候选答案回答所述问题时所有可能的断言结果的概率分布。
c、根据所述概率分布和多层感知参数得到所述目标正确性得分。
举例来说,在第t时间步,获得问题与每个候选答案之间的匹配信息和目标证据信息与所述目标候选答案之间的匹配信息后,神经网络模型将问题与每个候选答案之间的匹配信息和目标证据信息与所述目标候选答案之间的匹配信息进行拼接,并作为t时间步的状态St。神经网络模型根据状态St对执行一个动作at,即神经网络模型根据状态St去预测候选答案是否可用于回答问题。可以将“根据状态St对执行一个动作at”看作将“St映射到动作空间,得到at”,由于存在多个候选答案,所以将多个候选答案分别映射到动作空间后,就形成多个at,多个at形成一个概率分布,也可将“根据状态St对执行一个动作at”看作是对at进行采样。
在本申请实施例中,动作空间定义为{0,1},其中1表示当前候选答案可以回答问题(即当前的候选答案正确),0表示不能回答问题(即当前的候选答案错误)。具体而言,神经网络模型通过两层多层感知机(英文全称:multilayer perceptron,英文简称:MLP)将St映射到向量空间,得到St所有可能at的概率分布,如下所示:
f(st)=tanh(W1st+b1)
p(at|st)=softmax(W2f(st)+b2)
其中,W1、W2、b1、b2是MLP的多层感知参数,W1、W2、b1、b2通过对神经网络模型训练得到,St是神经网络模型在t时间步的状态。p(at|st)是第t个候选答案的正确性得分。
神经网络模型根据p(at|st)值的大小将当前的候选答案添加到目标排序队列RL2中,实现对当前候选答案的重排序。
当将当前的候选答案添加到目标排序队列RL2中时,可能会因为p(at|st)值的大小与目标排序队列RL2中其他候选答案之间存在差异,则会引起目标排序队列RL2的变化。本申请实施例中,还可以为目标排序队列RL2设置一个评价指标,这样便于知晓目标排序队列RL2的变化情况。例如可以用平均精度(英文全称:average precision,英文简称:AveP)来评价目标排序队列RL2在更新前后的变化。例如将t时间步的AveP表示为APt。
一些实施方式中,为了在重排序阶段进一步提高候选答***性,还可以考虑证据信息能够进一步判断候选答案用于回答问题的概率(即证据信息与候选答案之间的匹配信息)。具体来说,在从历史候选答案的背景信息中提取目标证据信息之后,所述根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分之前,所述方法还包括:
获取所述目标证据信息与所述目标候选答案之间的匹配信息;
对所述问题与所述目标候选答案之间的匹配信息,以及所述目标证据信息与所述目标候选答案之间的匹配信息进行合成,得到目标匹配信息;
相应的,根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分。
205、根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置。
其中,目标排序队列可以是在预设队列之后新创建的队列,也可以是在对预设队列中的候选答案进行重排序后变化的预设队列,例如可根据所述目标正确性得分将所述目标候选答案更新至排序队列中,本申请实施例不对此做限定。
其中,将所述目标候选答案***到目标排序队列中的相应位置,或者可将更新预排序队列的过程视为对各候选答案进行重排序的过程,这样就会将候选答案的推荐顺序更新的更合理,从而提高最终输出的排序结果,为用户提供更准确的候选答案。
可以理解的是,将所述目标候选答案***到目标排序队列中的相应位置是一个迭代循环过程,除了第一个参与重排序的候选答案之外,针对第一个参与重排序之后的每个候选答案都进行相同的迭代循环(即步骤203至步骤205)。
更新排序队列是一个迭代循环过程,除了第一个时间步之外,针对第二个时间步之后的每个时间步的候选答案都进行相同的迭代循环。
可选的,在本申请实施例的一些实施例中,所述方法由神经网络模型实现;所述将所述目标候选答案***到目标排序队列中的相应位置之后,所述当所述预排序队列中所有候选答案均被***到目标排序队列时,输出目标排序队列之前,所述方法还包括:
获取本次重排序中***候选答案后所述目标排序队列的当前排序精度、以及上一次重排序中***历史候选答案后所述目标排序队列的历史排序精度;其中,所述排序精度表示评估每次排序后所述目标排序队列的评估参数。所述排序精度也可称为平均精度;
计算所述当前排序精度与所述历史排序精度之间的差值;
根据所述差值对神经网络模型进行训练。
本申请实施例中的所述差值用于指示排序队列的排序指标,例如排序模型指标为归一化折损累计增益(英文全称:normalized discounted cumulative gain,英文全称:NDCG)。所述差值也可奖称为奖励。
一些实施方式中,为不断的提高神经网络模型预测问题答***性和合理性,还可以通过对神经网络模型进行强化学习(或称为优化),例如在强化学习的每个时间步,可以对所述差值的期望值进行最大化,以训练所述神经网络模型中的模型参数。具体来说,所述根据所述差值对神经网络模型进行训练,包括:
计算所述差值的奖励值;
按照所述差值的奖励值最大化规则,对神经网络模型进行训练。
例如,按照所述差值的奖励值最大化规则,对神经网络模型进行训练时,可采用策略梯度算法(policy-gradient)中的目标函数(Objective Function)对所述差值的奖励值进行最大化,进而神经网络模型采用最大化后的奖励值来对神经网络模型进行训练,从而达到对神经网络模型进行强化学习的目的。本申请实施例中,对所述差值的奖励值进行最大化得到的取值即为所述差值的期望值。
本申请实施例不限定一定对每个时间步的差值的奖励值进行最大化,只要可以对神经网络模型进行强化学习即可。
神经网络模型做出的动作at越准确,即神经网络模型对候选答案的正确性判断的越准确,那么该神经网络模型得到的奖励越高(即所述差值越大)。所以,可以通过不断的对所述差值的奖励值进行最大化来训练所述神经网络模型中的模型参数,就可以不断提高神经网络模型的准确性,进而提高输出的排序结果的准确性和合理性。
一些实施方式中,可将所述差值(例如奖励)设计为排序队列更新前后AveP的变化值。上述差值R(at)的一种计算方式如下:
其中,APt为所述目标排序队列在t时间步的平均精度,APt-1为所述目标排序队列在t-1时间步的平均精度,t和T均为正整数。
206、当所述预排序队列中所有候选答案均被***到所述目标排序队列时,输出所述目标排序队列。
一些实施方式中,输出的目标排序队列用于在前端页面呈现问题对应的答案的显示顺序,例如,根据预排序队列中各目标候选答案的目标正确性得分依次将C1、C2、C3…、C19、C20***所述目标排序队列后,得到目标排序队列RL2。
RL2为:{C2、C1、C3、C9、C6、C10、C5、C12、C14、C20、C4、C8、C7、C11、C18、C17、C16、C13、C19、C15}。
在前端页面,用户可按照呈现的候选答案的链接进行点击操作,即可查看该链接对应的候选答案回答该问题时的详情页面。
又例如图1b所示,重排序完成后,输出了一个向量,该向量表示所述排序结果,可以看出,C3、C4、C1和C2从左至右,按照从高至低排序,C3作为问题的最优答案。
与现有机制相比,本申请实施例中,一方面中,根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列。可见,通过对候选答案进行预排序,能够对正确性得分较高的候选答案进行初略的排序,为后续对目标候选答案的重排序时计算目标正确性得分以及输出目标排序队列减少;通过对候选答案进行选择,能够有效地筛选出正确性得分较高的候选答案,为后续对候选答案的正确性得分计算以及生成排序结果过滤掉不必要的计算,从而提高排序效率,以及提高排序结果的准确性和合理性。另一方面中,提取用于判断候选答案的正确性的目标证据信息,根据目标证据信息和问题确定目标候选答案的目标正确性得分,通过引入目标证据信息去确定目标候选答案的正确性得分,能够进一步提高目标候选答案的得分的精度、准确度和有效性,同时目标证据信息是历史候选答案本身的固有特征,所以无需额外借助第三方工具去获取辅助判断候选答案的正误的三元组,进而减少排序耗时和节约成本。
可选的,在本申请实施例的一些实施例中,可采用方式一聚合得到所述目标证据信息,以及采用方式二获取上述目标证据信息与所述目标候选答案之间的匹配信息。由于在第一个时间步计算第一个时间步的证据信息时没有可以参考的候选答案,所以需要单独设置第一个参与重排序阶段的候选答案的处理方式,以便于第一个时间步之后的时间步的候选答案在重排序阶段时可以迭代计算各个时间步的证据信息。
方式一:
基于门机制(gate mechanism)对历史候选答案的背景信息进行聚合(或称为合成、拼接等操作,不对此作限定)。
具体来说,从历史候选答案的背景信息中提取目标证据信息之前,本申请实施例还包括:
提取所述预排序队列中参与重排序的第一个候选答案的背景信息;
将所述第一个候选答案的背景信息初始化为信息向量,将所述信息向量作为所述预排序队列中参与下一次重排序的候选答案的证据信息。
具体来说,在重排序阶段的第一个时间步t1(为便于表述,可简称为t1时间步,其他同理,不作赘述)提取第一个候选答案C1的背景信息,将所述C1的背景信息初始化为信息向量E1,将所述信息向量C1作为所述预排序队列中在t2时间步参与重排序的候选答案的证据信息;在重排序阶段的t3时间步时,根据t2时间步参与重排序的候选答案和t2时间步t2对应的证据信息计算t3时间步对应的证据信息,以此类推,在重排序阶段的t2时间步以及t2时间步之后的每个时间步得到的证据信息都可通过递归计算得到。
一些实施方式中,可通过双向门控循环单元网络(Bi-GRU)将所述背景信息编码为信息向量,也可采用双向长短时记忆网络(英文全称:long short term memory,英文简称:Bi-LSTM)或者卷积神经网络(英文全称:convolutional neural network,英文简称:CNN)将所述背景信息编码为信息向量E1。
假设在预测候选答案Ct的正确性时,Ct所对应的目标证据信息Et是根据Ct-1和Ct-1对应的证据信息Et-1计算得到,Ct-1为第t时间步之前的t-1个时间步中参与重排序得到的候选答案。首先,将Ct-1编码到向量空间,得到
Ot-1=BiGRU(Ct-1,|Ct-1|)
其中,|Ct-1|表示Ct-1的序列长度,Ot-1是Bi-GRU的最后隐藏状态的拼接。pt-1是神经网络模型上一时间步预测的Ct-1的正确性得分,pt-1是强化学习在t-1步时根据当前状态做出的动作,即预测Ct-1的正确性,pt-1是一个大于0小于1概率值。那么,根据pt-1即可从Ct-1的Et-1中确定待添加到Ct的信息作为所述预排序队列中在t个时间步参与重排序的Ct的证据信息Et。将Et添加到Ct后,即可融合多个候选答案,从而提高候选答***性。
一些实施方式中,可基于门机制(gate mechanism)确定待添加到所述目标证据信息的信息。具体来说,通过下述公式计算Et。
其中,σ是一个sigmoid函数,Wr,Ur是参数,G是控制信息流的门(gate)。
一些实施方式中,还可以基于胶囊网络(Capsule Network)对问题与每个候选答案之间的匹配信息,和目标证据信息与所述目标候选答案之间的匹配信息进行拼接,得到上述目标匹配信息。
方式二:
在基于方式一得到目标证据信息后,可采用双向注意流中的注意力机制或者采用多头注意力机制(Multi-head attention)对目标证据信息和当前候选答案进行匹配。例如,采用注意力机制对Et和Ct进行匹配,得到上述目标证据信息与所述目标候选答案之间的匹配信息。由于Et表示为一个向量,将Et和每个候选答案的词匹配后进行池化,即可得到上述目标证据信息。
本申请实施例中当所述预排序队列中所有候选答案均被***到所述目标排序队列后,还可以将所述目标排序队列存储至区块链。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
本申请实施例中执行搜索方法的服务器(也可称作用于选择答案的装置)可以是区块链***中的节点。本申请实施例中的服务器可以是如图3b所示的一种区块链***中的节点。
图1a至图3b中任一项所对应的实施例中所提及的任一技术特征也同样适用于本申请实施例中的图4和图5所对应的实施例,后续类似之处不再赘述。
以上对本申请实施例中一种答案排序方法进行说明,以下对执行上述答案排序方法的装置进行介绍。
上面对本申请实施例中的一种答案排序方法进行了描述,下面对本申请实施例中的装置40进行描述。
参阅图4所示的一种答案排序装置40的结构示意图,其可应用于搜索***、查询***或检索***等,本申请实施例不对应用场景作限定。本申请实施例中的装置40能够实现对应于上述图1a所对应的实施例中所执行的答案排序方法的步骤。装置40实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述装置40可包括处理模块401和输入输出模块402(也可称为分离的输入模块和输出模块,或者称为收发模块),所述处理模块401还可分为选择模块、生成模块、提取模块和更新模块等,本申请实施例中的处理模块能够实现选择模块、生成模块、提取模块和更新模块所能实现的相同或相似的全部功能。所述处理模块401和所述输入输出模块402的功能实现可参考图1a所对应的实施例中所执行的选择计算正确性得分、提取背景信息和目标证据信息等操作,此处不作赘述。例如,所述处理模块401可用于控制所述输入输出模块402的输入输出、获取等操作。
一些实施方式中,所述输入输出模块402用于获取问题对应的多个候选答案;
所述处理模块401可用于根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
所述处理模块401还用于根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
所述处理模块401还用于根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置;
所述输入输出模块402可用于当所述预排序队列中所有候选答案均被***到所述目标排序队列时,输出所述目标排序队列。
与现有机制相比,本申请实施例中,一方面中,所述处理模块401根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列。可见,通过对候选答案进行预排序,能够对正确性得分较高的候选答案进行初略的排序,为后续对目标候选答案的重排序时计算目标正确性得分以及输出目标排序队列减少不必要的计算,从而提高排序效率,以及提高排序结果的准确性和合理性。另一方面中,所述处理模块401提取用于判断候选答案的正确性的目标证据信息;根据目标证据信息和问题确定目标正确性得分,通过引入目标证据信息去确定目标候选答案的正确性得分,能够进一步提高目标候选答案的正确性得分的精度、准确度和有效性,同时目标证据信息是历史候选答案本身的固有特征,所以无需额外借助第三方工具去获取辅助判断候选答案的正误的三元组,进而减少排序耗时和节约成本。
一些实施方式中,所述处理模块401在从历史候选答案的背景信息中提取目标证据信息之后,根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分之前,还用于:
获取所述目标证据信息与所述目标候选答案之间的匹配信息;
对所述问题与所述目标候选答案之间的匹配信息,以及所述目标证据信息与所述目标候选答案之间的匹配信息进行合成,得到目标匹配信息;
根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分。
一些实施方式中,所述处理模块401具体用于:
获取所述历史候选答案的历史证据信息和历史正确性得分;
根据所述历史正确性得分,从所述历史证据信息中确定当前重排序所需的证据分量;
根据所述历史候选答案的背景信息、所述历史证据信息以及所述证据分量得到所述目标证据信息。
一些实施方式中,所述处理模块401具体用于:
根据所述目标证据信息预测并标记所述目标候选答案回答所述问题时所有可能的断言结果;
根据所述目标匹配信息计算所述目标候选答案回答所述问题时所有可能的断言结果的概率分布;
根据所述概率分布和多层感知参数得到所述目标正确性得分。
一些实施方式中,所述处理模块401从历史候选答案的背景信息中提取目标证据信息之前,还用于:
提取所述预排序队列中参与重排序的第一个候选答案的背景信息;
提取所述第一个候选答案的背景信息;
将所述第一个候选答案的背景信息初始化为信息向量,将所述信息向量作为所述预排序队列中参与下一次重排序的候选答案的证据信息。
一些实施方式中,所述方法由神经网络模型实现;所述处理模块401在所述将所述目标候选答案***到目标排序队列中的相应位置之后,所述当所述预排序队列中所有候选答案均被***到目标排序队列时,输出目标排序队列之前,还用于:
获取本次重排序中***候选答案后所述目标排序队列的当前排序精度、以及上一次重排序中***历史候选答案后所述目标排序队列的历史排序精度,其中,排序精度表示评估每次***答案后所述目标排序队列的评估参数;
计算所述当前排序精度与所述历史排序精度之间的差值;
根据所述差值对神经网络模型进行训练。
一些实施方式中,所述处理模块401具体用于:
计算所述差值的奖励值;
按照所述差值的奖励值最大化规则,对神经网络模型进行训练。
一些实施方式中,所述装置40还包括存储模块(图4中未标示出),所述存储模块用于将所述目标排序队列存储至区块链。
上面从模块化功能实体的角度对本申请实施例中的答案排序装置进行了描述,下面从硬件处理的角度分别对本申请实施例中的网络认证服务器和终端设备进行描述。需要说明的是,在本申请实施例图6所示的实施例中的收发模块对应的实体设备可以为输入/输出单元,处理模块对应的实体设备可以为处理器,显示模块所对应的实体设备可以是显示屏等显示单元。图4所示的装置可以具有如图5所示的结构,当图4所示的装置具有如图5所示的结构时,图5中的处理器和输入输出单元能够实现前述对应该装置的装置实施例提供的处理模块401和输入输出模块402相同或相似的功能,图5中的中央存储器存储处理器执行上述答案排序方法时需要调用的计算机程序。在本申请实施例图4所示的实施例中的输入输出模块402所对应的实体设备可以为输入输出接口、输入输出单元、输入输出设备或者收发器,处理模块401对应的实体设备可以为处理器。
图6是本申请实施例提供的一种服务器结构示意图,该服务器620可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(英文全称:centralprocessing units,英文简称:CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器620上执行存储介质630中的一系列指令操作。
服务器620还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作***641,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由答案排序装置40所执行的步骤可以基于该图6所示的服务器620的结构。例如上述实施例中由图6所示的服务器620所执行的步骤可以基于该图6所示的服务器结构。例如,所述处理器622通过调用存储器632中的指令,执行以下操作:
通过所述输入输出接口658获取问题对应的多个候选答案;
处理模块,用于根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
根据预排序队列中每个候选答案的排序顺序,从所述预排序队列中确定当前需要参与重排序的目标候选答案;从历史候选答案的背景信息中提取目标证据信息,并根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,其中,所述历史候选答案为历史参与重排序的候选答案;
根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置;
当所述预排序队列中所有候选答案均被***到所述目标排序队列时,通过所述输入输出接口658输出所述目标排序队列。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (11)
1.一种答案排序方法,其特征在于,所述方法包括:
获取问题对应的多个候选答案;
根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;
根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
根据预排序队列中每个候选答案的排序顺序,从所述预排序队列中确定当前需要参与重排序的目标候选答案;
从历史候选答案的背景信息中提取目标证据信息,并根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,其中,所述历史候选答案为历史参与重排序的候选答案,所述历史参与重排序为当前重排序之前的任意一次重排序;
根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置;
当所述预排序队列中所有候选答案均被***到所述目标排序队列时,输出所述目标排序队列;
所述从历史候选答案的背景信息中提取目标证据信息,包括:在重排序阶段的第一个时间步提取第一个候选答案的背景信息,将所述第一个候选答案的背景信息初始化为信息向量,所述信息向量为预排序队列中在第二个时间步参与重排序的候选答案的证据信息;在所述重排序阶段的第二个时间步时,根据第二个时间步参与重排序的候选答案和第二个时间步对应的证据信息计算第三个时间步对应的证据信息;并以此类推,以获取所述第二个时间步以及所述第二个时间步之后的每个时间步得到的证据信息。
2.根据权利要求1所述的方法,其特征在于,所述从历史候选答案的背景信息中提取目标证据信息之后,所述根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分之前,所述方法还包括:
获取所述目标证据信息与所述目标候选答案之间的匹配信息;
对所述问题与所述目标候选答案之间的匹配信息,以及所述目标证据信息与所述目标候选答案之间的匹配信息进行合成,得到目标匹配信息;
所述根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,包括:
根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分。
3.根据权利要求2所述的方法,其特征在于,所述从历史候选答案的背景信息中提取目标证据信息,包括:
获取所述历史候选答案的历史证据信息和历史正确性得分;
根据所述历史正确性得分,从所述历史证据信息中确定当前重排序所需的证据分量;
根据所述历史候选答案的背景信息、所述历史证据信息以及所述证据分量得到所述目标证据信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标匹配信息,所述目标证据信息和所述问题获取所述目标正确性得分,包括:
根据所述目标证据信息预测并标记所述目标候选答案回答所述问题时所有可能的断言结果;
根据所述目标匹配信息计算所述目标候选答案回答所述问题时所有可能的断言结果的概率分布;
根据所述概率分布和多层感知参数得到所述目标正确性得分。
5.根据权利要求1所述的方法,其特征在于,所述从历史候选答案的背景信息中提取目标证据信息之前,所述方法还包括:
提取所述预排序队列中参与重排序的第一个候选答案的背景信息;
将所述第一个候选答案的背景信息初始化为信息向量,将所述信息向量作为所述预排序队列中参与下一次重排序的候选答案的证据信息。
6.根据权利要求2或3所述的方法,其特征在于,所述方法由神经网络模型实现;
在所述将所述目标候选答案***到目标排序队列中的相应位置之后,所述当所述预排序队列中所有候选答案均被***到目标排序队列时,输出目标排序队列之前,所述方法还包括:
获取本次重排序中***候选答案后所述目标排序队列的当前排序精度、以及上一次重排序中***历史候选答案后所述目标排序队列的历史排序精度,其中,排序精度表示评估每次***答案后所述目标排序队列的评估参数;
计算所述当前排序精度与所述历史排序精度之间的差值;
根据所述差值对神经网络模型进行训练。
7.根据权利要求6所述的方法,其特征在于,所述根据所述差值对神经网络模型进行训练,包括:
计算所述差值的奖励值;
按照所述差值的奖励值最大化规则,对神经网络模型进行训练。
8.根据权利要求1所述的方法,其特征在于,将所述目标排序队列存储至区块链。
9.一种答案排序装置,其特征在于,所述答案排序装置包括:
输入输出模块,用于获取问题对应的多个候选答案;
处理模块,用于根据所述问题与每个候选答案之间的匹配信息,计算每个候选答案为正确答案的正确性得分;根据每个候选答案的正确性得分,对候选答案进行预排序,得到预排序队列;
所述处理模块还用于根据预排序队列中每个候选答案的排序顺序,从所述预排序队列中确定当前需要参与重排序的目标候选答案;从历史候选答案的背景信息中提取目标证据信息,并根据所述目标证据信息和所述问题获取所述目标候选答案的目标正确性得分,其中,所述历史候选答案为历史参与重排序的候选答案,所述历史参与重排序为当前重排序之前的任意一次重排序;
所述从历史候选答案的背景信息中提取目标证据信息,包括:在重排序阶段的第一个时间步提取第一个候选答案的背景信息,将所述第一个候选答案的背景信息初始化为信息向量,所述信息向量为预排序队列中在第二个时间步参与重排序的候选答案的证据信息;在所述重排序阶段的第二个时间步时,根据第二个时间步参与重排序的候选答案和第二个时间步对应的证据信息计算第三个时间步对应的证据信息;并以此类推,以获取所述第二个时间步以及所述第二个时间步之后的每个时间步得到的证据信息;
所述处理模块还用于根据所述目标正确性得分,将所述目标候选答案***到目标排序队列中的相应位置;
所述输入输出模块还用于当所述预排序队列中所有候选答案均被***到所述目标排序队列时,输出所述目标排序队列。
10.一种计算机装置,其特征在于,所述计算机装置包括:
至少一个处理器、存储器和输入输出单元;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939362.XA CN110688478B (zh) | 2019-09-29 | 2019-09-29 | 一种答案排序方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939362.XA CN110688478B (zh) | 2019-09-29 | 2019-09-29 | 一种答案排序方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688478A CN110688478A (zh) | 2020-01-14 |
CN110688478B true CN110688478B (zh) | 2021-11-30 |
Family
ID=69111174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910939362.XA Active CN110688478B (zh) | 2019-09-29 | 2019-09-29 | 一种答案排序方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688478B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339281B (zh) * | 2020-03-24 | 2022-04-12 | 苏州大学 | 一种多视角融合的阅读理解选择题的答案选择方法 |
CN112231456B (zh) * | 2020-10-15 | 2024-02-23 | 泰康保险集团股份有限公司 | 问题生成方法、装置、存储介质和的电子设备 |
CN112749268A (zh) * | 2021-01-30 | 2021-05-04 | 云知声智能科技股份有限公司 | 基于混合策略的faq***排序方法、装置及*** |
CN113421020B (zh) * | 2021-07-13 | 2024-06-21 | 神策网络科技(北京)有限公司 | 一种多指标异常点重合度分析方法 |
CN115017200B (zh) * | 2022-06-02 | 2023-08-25 | 北京百度网讯科技有限公司 | 搜索结果的排序方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257970A (zh) * | 2014-12-18 | 2017-10-17 | 纽昂斯通讯公司 | 从结构化和非结构化数据源进行的问题回答 |
CN107944560A (zh) * | 2017-12-08 | 2018-04-20 | 神思电子技术股份有限公司 | 一种自然语言语义推理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421655B1 (en) * | 1999-06-04 | 2002-07-16 | Microsoft Corporation | Computer-based representations and reasoning methods for engaging users in goal-oriented conversations |
CN102411604A (zh) * | 2011-08-16 | 2012-04-11 | 清华大学 | 一种大规模协同知识处理方法和*** |
US9613317B2 (en) * | 2013-03-29 | 2017-04-04 | International Business Machines Corporation | Justifying passage machine learning for question and answer systems |
US10339168B2 (en) * | 2016-09-09 | 2019-07-02 | International Business Machines Corporation | System and method for generating full questions from natural language queries |
-
2019
- 2019-09-29 CN CN201910939362.XA patent/CN110688478B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257970A (zh) * | 2014-12-18 | 2017-10-17 | 纽昂斯通讯公司 | 从结构化和非结构化数据源进行的问题回答 |
CN107944560A (zh) * | 2017-12-08 | 2018-04-20 | 神思电子技术股份有限公司 | 一种自然语言语义推理方法 |
Non-Patent Citations (1)
Title |
---|
基于互联网的自动问答答案抽取的研究;孙宏;《中国博士学位论文全文数据库信息科技辑》;20160815;第I138-148页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110688478A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688478B (zh) | 一种答案排序方法、装置及存储介质 | |
CN109902222B (zh) | 一种推荐方法及装置 | |
CN112131383B (zh) | 特定目标的情感极性分类方法 | |
CN110163242B (zh) | 风险识别方法、装置及服务器 | |
CN109857846B (zh) | 用户问句与知识点的匹配方法和装置 | |
CN112017789B (zh) | 分诊数据处理方法、装置、设备及介质 | |
CN111368926B (zh) | 图像筛选方法、装置和计算机可读存储介质 | |
CN110534185A (zh) | 标注数据获取方法、分诊方法、装置、存储介质及设备 | |
CN113592605B (zh) | 基于相似产品的产品推荐方法、装置、设备及存储介质 | |
CN112634889B (zh) | 基于人工智能的电子病例录入方法、装置、终端及介质 | |
CN115204886A (zh) | 账户识别的方法、装置、电子设备和存储介质 | |
CN108038131A (zh) | 数据质量分析预处理方法及装置、存储介质、终端 | |
CN107368526A (zh) | 一种数据处理方法及装置 | |
CN113889262A (zh) | 基于模型的数据预测方法、装置、计算机设备和存储介质 | |
US11514815B1 (en) | System, method, and device for generating flight training scheme oriented to individual difference | |
CN112634017A (zh) | 远程开卡激活方法、装置、电子设备及计算机存储介质 | |
CN116956896A (zh) | 基于人工智能的文本分析方法、***、电子设备及介质 | |
CN112017742A (zh) | 分诊数据处理方法、装置、计算机设备及存储介质 | |
CN110704668B (zh) | 基于网格的协同注意力vqa方法和装置 | |
CN112364136B (zh) | 关键词生成方法、装置、设备及存储介质 | |
CN113486166B (zh) | 智能客服机器人的构建方法、装置、设备以及存储介质 | |
CN113821587A (zh) | 文本相关性确定方法、模型训练方法、装置及存储介质 | |
CN117312514A (zh) | 咨询答复方法、装置及计算机可读取存储介质 | |
CN111782774B (zh) | 一种问题推荐的方法及装置 | |
CN112966787B (zh) | 相似患者的识别方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020846 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |