CN114780707B - 基于多跳推理联合优化的多跳问题回答方法 - Google Patents

基于多跳推理联合优化的多跳问题回答方法 Download PDF

Info

Publication number
CN114780707B
CN114780707B CN202210703633.3A CN202210703633A CN114780707B CN 114780707 B CN114780707 B CN 114780707B CN 202210703633 A CN202210703633 A CN 202210703633A CN 114780707 B CN114780707 B CN 114780707B
Authority
CN
China
Prior art keywords
hop
question
answer
unified
jump
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
Application number
CN202210703633.3A
Other languages
English (en)
Other versions
CN114780707A (zh
Inventor
唐嘉成
杨象笋
王江华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tiandao Jinke Co ltd
Zhejiang Zhelixin Credit Reporting Co ltd
Original Assignee
Tiandao Jinke Co ltd
Zhejiang Zhelixin Credit Reporting Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tiandao Jinke Co ltd, Zhejiang Zhelixin Credit Reporting Co ltd filed Critical Tiandao Jinke Co ltd
Priority to CN202210703633.3A priority Critical patent/CN114780707B/zh
Publication of CN114780707A publication Critical patent/CN114780707A/zh
Application granted granted Critical
Publication of CN114780707B publication Critical patent/CN114780707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本发明公开了一种基于多跳推理联合优化的多跳问题回答方法,通过构建联合损失函数,以该联合损失函数去训练表示统一阅读器模型,使得统一阅读器模型不仅可用于中间跳的答案推理也可用于最终跳的答案推理,增加了统一阅读器模型的通用性,且不再需要采用单独的损失函数去训练独立的中间跳推理器和最终跳推理器,推理器的训练过程大幅简化,训练速度得以明显提升;通用的统一阅读器模型的训练样本包括每一步中间跳和最终跳的输入输出数据,考虑了每个推理步骤产生的数据对最终答案预测的影响,使得统一阅读器模型具有更高的答案预测准确度;每个中间跳推理步骤基于当前支持事实,产生了更准确的问题分解,使得整个多跳推理过程更精确、更稳健。

Description

基于多跳推理联合优化的多跳问题回答方法
技术领域
本发明涉及自然语言处理技术领域,具体涉及一种基于多跳推理联合优化的多跳问题回答方法。
背景技术
多跳问题(Multi-hop Questions)指的是那些需要知识图谱进行多跳推理才能回答的问题。例如,若要回答“成龙主演电影的导演是哪些人”这一问题,则需要多个三元组所形成的多跳推理路径<成龙,主演,新警察故事>,<新警察故事,导演,陈木胜>才能够回答。
多跳问题是近年来自然语言处理领域的一个热门任务,需要聚合多个文档的信息并执行多跳推理来推断出答案,目前采用的方法主要分为两类,第一类利用一步阅读器捕捉问题和相关上下文之间的交互,以预测答案和支持句(即通过预先训练的阅读器模型对输入的问题捕捉问题与相关上下文之间的交互关系,直接输出答案),这类方法的预测准确度不高。第二类为模拟可解释的多步推理过程,将多跳问题分解为多个简单的单跳问题并求解,但将问题分解的现有方法存在以下两个问题:
1、问题分解高度依赖人工标注或自动构造的伪监督,前者需要大量时间进行人工标注,后者则可能引入标签噪声;
2、单跳问题的生成仅基于原始问题,不考虑每个跳转推理步骤涉及的支持事实,这通常会导致错误引导的分解和不准确的解释,从而预测出不准确的问题答案。
另外,多跳问题答案推理通常分为中间跳和最终跳两个层级,在每个中间跳中通过预先训练的中间跳推理器将多跳问题分解为单跳问题并求解,最终跳推理器作为最后一跳的答案推理根据前面多跳的推理结果综合输出多跳问题对应的答案。但对于中间跳推理器和最终跳推理器若采用独立的损失函数进行推理器训练,训练过程非常繁琐,训练耗时也较长,且中间跳推理器和最终跳推理器无法通用,使用起来也不方便。
发明内容
本发明以简化统一阅读器模型
Figure DEST_PATH_IMAGE001
训练过程,提升多跳问题推理准确度为目的,提供了一种基于多跳推理联合优化的多跳问题问答方法。为达此目的,本发明采用以下技术方案:
提供一种基于多跳推理联合优化的多跳问题回答方法,步骤包括:
S1,构建训练统一阅读器模型
Figure 502529DEST_PATH_IMAGE001
的联合损失函数,所构建的所述联合损失函数通过以下公式(1)表达:
Figure DEST_PATH_IMAGE002
公式(1)中,
Figure DEST_PATH_IMAGE003
表示所述联合损失函数;
Figure DEST_PATH_IMAGE004
表示第
Figure DEST_PATH_IMAGE005
跳中间跳中的中间跳推理器采用的二元交叉熵损失函数;
Figure DEST_PATH_IMAGE006
表示最终第
Figure DEST_PATH_IMAGE007
跳中的最终跳推理器采用的二元交叉熵损失函数;
Figure 121467DEST_PATH_IMAGE007
表示推理原始问题
Figure DEST_PATH_IMAGE008
对应的多跳问题答案
Figure DEST_PATH_IMAGE009
所需的总跳数;
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
分别表示
Figure DEST_PATH_IMAGE012
Figure 573308DEST_PATH_IMAGE006
在参与构建所述联合损失函数时的加权超参数;
Figure DEST_PATH_IMAGE013
表示所述最终跳推理器对所述原始问题
Figure 591686DEST_PATH_IMAGE008
对应的所述多跳问题答案
Figure 593009DEST_PATH_IMAGE009
在相关上下文
Figure DEST_PATH_IMAGE014
中的起始位置和结束位置的预测损失;
S2,根据所构建的所述联合损失函数,并且以每个中间跳得到的子问题-答案对
Figure DEST_PATH_IMAGE015
、所述原始问题
Figure 369467DEST_PATH_IMAGE008
、所述相关上下文
Figure 370921DEST_PATH_IMAGE014
以及预设的答案类型为联合训练样本,联合训练得到表示所述中间跳推理器或所述最终跳推理器的所述统一阅读器模型
Figure 255307DEST_PATH_IMAGE001
S3,将所述原始问题
Figure 596289DEST_PATH_IMAGE008
、所述相关上下文
Figure 776604DEST_PATH_IMAGE014
输入到所述统一阅读器模型
Figure 468616DEST_PATH_IMAGE001
中进行中间跳和最终跳答案推理,最终输出所述原始问题
Figure 894044DEST_PATH_IMAGE008
对应的多跳问题答案
Figure 355112DEST_PATH_IMAGE009
和多跳支持句
Figure DEST_PATH_IMAGE016
作为优选,步骤S1中,
Figure 329497DEST_PATH_IMAGE004
Figure 243226DEST_PATH_IMAGE006
通过以下公式(2)表达:
Figure DEST_PATH_IMAGE017
公式(2)中,
Figure DEST_PATH_IMAGE018
表示优化第
Figure DEST_PATH_IMAGE019
跳中使用的所述统一阅读器模型
Figure 721612DEST_PATH_IMAGE001
所采用的所述二元交叉熵损失函数,
Figure DEST_PATH_IMAGE020
时表示当前跳为第
Figure DEST_PATH_IMAGE021
跳中间跳,
Figure DEST_PATH_IMAGE022
时表示当前跳为第
Figure DEST_PATH_IMAGE023
跳最终跳;
Figure DEST_PATH_IMAGE024
表示相关上下文
Figure 4564DEST_PATH_IMAGE014
中的第
Figure DEST_PATH_IMAGE025
段第
Figure DEST_PATH_IMAGE026
个句子
Figure DEST_PATH_IMAGE027
是否为第
Figure DEST_PATH_IMAGE028
跳支持事实的标签;
Figure DEST_PATH_IMAGE029
表示相关上下文
Figure 438866DEST_PATH_IMAGE014
中的句子总数。
作为优选,步骤S1中,
Figure DEST_PATH_IMAGE030
通过以下公式(3)表达:
Figure DEST_PATH_IMAGE031
公式(3中),
Figure DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE033
分别表示最终跳中从所述相关上下文
Figure 10531DEST_PATH_IMAGE014
中提取的标签内容作为所述原始问题
Figure DEST_PATH_IMAGE034
的多跳问题答案
Figure DEST_PATH_IMAGE035
的答案起始位置、答案结束位置的最大概率。
作为优选,步骤S3中,预测所述原始问题
Figure 167974DEST_PATH_IMAGE034
对应的所述多跳问题答案
Figure 259427DEST_PATH_IMAGE035
和和所述多跳支持句
Figure DEST_PATH_IMAGE036
的方法步骤包括:
S31,将原始问题
Figure 654242DEST_PATH_IMAGE034
输入到预先训练的段落排序模型中计算得到表征每个候选段落与解答所述原始问题
Figure 73722DEST_PATH_IMAGE034
具有的相关性的概率得分,然后选取得分排名前
Figure DEST_PATH_IMAGE037
的所述候选段落以及排名第一的所述候选段落链接的跳转段落作为解答所述原始问题
Figure 972539DEST_PATH_IMAGE034
的相关上下文,记为
Figure 918499DEST_PATH_IMAGE014
S32,将所述原始问题
Figure 546533DEST_PATH_IMAGE034
、相关上下文
Figure 656571DEST_PATH_IMAGE014
以及前一中间跳得到的子问题-答案对
Figure DEST_PATH_IMAGE038
输入到以每一跳的输入输出数据为训练样本迭代更新训练的统一阅读器模型
Figure 732980DEST_PATH_IMAGE001
中进行中间跳答案推理,输出当前中间跳对应的子问题-答案对
Figure 893966DEST_PATH_IMAGE038
和单跳支持句
Figure DEST_PATH_IMAGE039
S33,以最终跳的前一跳输出的子问题-答案对
Figure 804153DEST_PATH_IMAGE038
、所述原始问题
Figure 414869DEST_PATH_IMAGE034
、所述相关上下文
Figure 576860DEST_PATH_IMAGE014
以及预设的答案类型为所述统一阅读器模型
Figure 559729DEST_PATH_IMAGE001
的输入进行最终跳的答案推理,输出所述原始问题
Figure 781763DEST_PATH_IMAGE034
对应的多跳问题答案
Figure 882705DEST_PATH_IMAGE035
和多跳支持句
Figure 848387DEST_PATH_IMAGE036
作为优选,
Figure DEST_PATH_IMAGE040
作为优选,所述统一阅读器模型
Figure 154603DEST_PATH_IMAGE001
在每一步中间跳或最终跳中,通过以下方法步骤识别当前第
Figure DEST_PATH_IMAGE041
跳的所述单跳支持句
Figure DEST_PATH_IMAGE042
A1,将输入的所述原始问题
Figure 154396DEST_PATH_IMAGE034
、所述相关上下文
Figure 523060DEST_PATH_IMAGE014
和前一跳形成的所述子问题-答案对
Figure 980849DEST_PATH_IMAGE038
形成为如下表达式(1)表达的联接序列:
Figure DEST_PATH_IMAGE043
上述表达式中,
Figure DEST_PATH_IMAGE044
表示第
Figure DEST_PATH_IMAGE045
跳中输入到单跳支持句识别器的联接序列表征;
Figure DEST_PATH_IMAGE046
表示第
Figure 217271DEST_PATH_IMAGE045
跳;
Figure DEST_PATH_IMAGE047
表示某个候选段落在步骤S1中选定的相关上下文
Figure 203943DEST_PATH_IMAGE014
中的分隔符;
Figure 528745DEST_PATH_IMAGE034
表示原始输入的多跳问题;
Figure DEST_PATH_IMAGE048
表示第
Figure DEST_PATH_IMAGE049
跳生成的子问题;
Figure 100002_DEST_PATH_IMAGE050
表示解答第
Figure 193820DEST_PATH_IMAGE049
跳生成的子问题得到的答案;
Figure DEST_PATH_IMAGE051
表示候选段落中的第
Figure 100002_DEST_PATH_IMAGE052
个句子;
Figure DEST_PATH_IMAGE053
表示候选段落中的文本段落数;
Figure 100002_DEST_PATH_IMAGE054
表示候选段落中的第
Figure 386814DEST_PATH_IMAGE053
个文本段落中的句子数;
A2,基于每个句子
Figure 669022DEST_PATH_IMAGE051
的特殊标记
Figure DEST_PATH_IMAGE055
的表示,构建一个二元分类器来预测每个句子
Figure 136912DEST_PATH_IMAGE051
是当前第
Figure 248088DEST_PATH_IMAGE045
跳的支持事实的概率
Figure 100002_DEST_PATH_IMAGE056
,并根据
Figure 803310DEST_PATH_IMAGE056
概率值大于
Figure DEST_PATH_IMAGE057
的句子
Figure 131785DEST_PATH_IMAGE051
作为当前第
Figure 165600DEST_PATH_IMAGE045
跳的单跳支持句,构成
Figure 100002_DEST_PATH_IMAGE058
A3,通过最小化二元交叉熵损失函数,对所有跳使用的所述统一阅读器模型
Figure DEST_PATH_IMAGE059
进行优化,所述二元交叉熵损失函数通过以下公式(4)表达:
Figure 100002_DEST_PATH_IMAGE060
公式(4)中,
Figure DEST_PATH_IMAGE061
表示优化第
Figure 749641DEST_PATH_IMAGE045
跳中使用的所述统一阅读器模型
Figure 99982DEST_PATH_IMAGE059
所采用的所述二元交叉熵损失函数;
Figure 100002_DEST_PATH_IMAGE062
表示句子
Figure 504418DEST_PATH_IMAGE051
是否为第
Figure 773332DEST_PATH_IMAGE045
跳支持事实的标签;
Figure DEST_PATH_IMAGE063
表示所述相关上下文
Figure 100002_DEST_PATH_IMAGE064
中的句子总数。
作为优选,通过以下方法步骤生成当前第
Figure DEST_PATH_IMAGE065
跳的子问题:
B1,提取于当前第
Figure 711463DEST_PATH_IMAGE065
跳中识别到的所述单跳支持句
Figure 680425DEST_PATH_IMAGE058
和所述原始问题
Figure 100002_DEST_PATH_IMAGE066
的重叠单词;
B2,将所提取的各所述重叠单词添加到所述单跳支持句
Figure 551036DEST_PATH_IMAGE058
中;
B3,以添加了所述重叠单词的各所述单跳支持句
Figure 746394DEST_PATH_IMAGE058
为预先训练的单跳问题生成器的输入,由所述单跳问题生成器根据输入生成当前第
Figure 488216DEST_PATH_IMAGE045
跳分解的子问题
Figure DEST_PATH_IMAGE067
作为优选,以当前第
Figure 187051DEST_PATH_IMAGE065
跳中识别得到的所述单跳支持句
Figure 605394DEST_PATH_IMAGE058
和当前第
Figure 583321DEST_PATH_IMAGE065
跳中生成的单跳子问题
Figure 378101DEST_PATH_IMAGE067
为预先训练的单跳问答模型的输入,预测输出所述单跳子问题
Figure 931442DEST_PATH_IMAGE067
对应的单跳答案
Figure DEST_PATH_IMAGE068
,训练所述单跳问题模型的样本为每个中间跳产生的所述单跳子问题
Figure 209102DEST_PATH_IMAGE067
以及训练所述单跳问题生成器时使用的单跳问题数据集。
本发明具有以下有益效果:
1、通过构建联合损失函数,以该联合损失函数去训练表示所述中间跳推理器或所述最终跳推理器的统一阅读器模型
Figure DEST_PATH_IMAGE069
,使得统一阅读器模型
Figure 379052DEST_PATH_IMAGE069
不仅可用于中间跳的答案推理也可用于最终跳的答案推理,增加了统一阅读器模型
Figure 459748DEST_PATH_IMAGE069
的通用性。
2、通过构建的联合损失函数训练通用的统一阅读器模型
Figure 946224DEST_PATH_IMAGE069
,不再需要采用单独的损失函数去训练独立的中间跳推理器和最终跳推理器,推理器的训练过程大幅简化,训练速度得以明显提升。
3、通用的统一阅读器模型
Figure 486795DEST_PATH_IMAGE069
的训练样本包括每一步中间跳和最终跳的输入输出数据,考虑了每个推理步骤产生的数据对最终答案预测的影响,使得统一阅读器模型
Figure 691512DEST_PATH_IMAGE069
具有更高的答案预测准确度。
4、通过提供单跳支持句识别器识别每跳推理中的支持事实,使得每个中间跳推理步骤基于当前的支持事实,产生了更准确的问题分解,从而使得整个多跳推理过程更精确、更稳健。
5、通过提供单跳问题生成器,利用现成的单跳问题数据集来训练一个单跳问题生成器,直接以无监督的方式生成子问题,不再需要对问题分解进行人工标注,且避免了伪监督可能引入标签噪声的风险。
6、将用于训练单跳问题生成器的单跳问题数据集作为单跳问答模型训练的样本之一,使得单跳问答模型与单跳问题生成器所使用的数据更加一致,有利于提升单跳问答模型的预测性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的基于多跳推理联合优化的多跳问题回答方法的实现步骤图;
图2是现有的与本申请提供的将多跳问题分解为多个简单的单跳问题并求解的效果对比示例图;
图3是本发明一实施例提供基于多跳推理联合优化的多跳问题回答方法的逻辑推理图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供的基于多跳推理联合优化的多跳问题回答方法,如图1,包括4个步骤:
S1,构建统一阅读器模型
Figure 578827DEST_PATH_IMAGE069
(即中间跳推理中采用的中间跳推理器或最终跳推理中采用的最终跳推理器)的联合损失函数,构建的联合损失函数通过以下公式(1)表达:
Figure DEST_PATH_IMAGE070
公式(1)中,
Figure DEST_PATH_IMAGE071
表示联合损失函数;
Figure DEST_PATH_IMAGE072
表示第
Figure DEST_PATH_IMAGE073
跳中间跳中的中间跳推理器采用的二元交叉熵损失函数;
Figure DEST_PATH_IMAGE074
表示最终第
Figure DEST_PATH_IMAGE075
跳中的最终跳推理器采用的二元交叉熵损失函数;
Figure 949504DEST_PATH_IMAGE075
表示推理原始问题
Figure DEST_PATH_IMAGE076
对应的多跳问题答案
Figure DEST_PATH_IMAGE077
所需的总跳数;
Figure DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE079
分别表示
Figure DEST_PATH_IMAGE080
Figure 713558DEST_PATH_IMAGE074
在参与构建联合损失函数时的加权超参数;
Figure DEST_PATH_IMAGE081
表示最终跳推理器对原始问题
Figure 828407DEST_PATH_IMAGE076
对应的多跳问题答案
Figure 424474DEST_PATH_IMAGE077
在相关上下文
Figure DEST_PATH_IMAGE082
中的起始位置和结束位置的预测损失;
Figure 571028DEST_PATH_IMAGE072
Figure 672976DEST_PATH_IMAGE074
通过以下公式(2)表达:
Figure DEST_PATH_IMAGE083
公式(2)中,
Figure DEST_PATH_IMAGE084
表示优化第
Figure DEST_PATH_IMAGE085
跳中使用的统一阅读器模型
Figure DEST_PATH_IMAGE086
所采用的所述二元交叉熵损失函数,
Figure DEST_PATH_IMAGE087
时表示当前跳为第
Figure 6612DEST_PATH_IMAGE073
跳中间跳,
Figure DEST_PATH_IMAGE088
时表示当前跳为第
Figure 406369DEST_PATH_IMAGE075
跳最终跳;
Figure DEST_PATH_IMAGE089
表示相关上下文
Figure 675939DEST_PATH_IMAGE082
中的第
Figure DEST_PATH_IMAGE090
段第
Figure DEST_PATH_IMAGE091
个句子
Figure DEST_PATH_IMAGE092
是否为第
Figure 431012DEST_PATH_IMAGE085
跳支持事实的标签;
Figure DEST_PATH_IMAGE093
表示相关上下文
Figure 284567DEST_PATH_IMAGE082
中的句子总数。
Figure DEST_PATH_IMAGE094
通过以下公式(3)表达:
Figure DEST_PATH_IMAGE095
公式(3)中,
Figure DEST_PATH_IMAGE096
Figure DEST_PATH_IMAGE097
分别表示最终跳中从相关上下文
Figure DEST_PATH_IMAGE098
中提取的标签内容作为原始问题
Figure DEST_PATH_IMAGE099
的多跳问题答案
Figure DEST_PATH_IMAGE100
的答案起始位置、答案结束位置的最大概率。
S2,以联合损失函数作为训练统一阅读器模型
Figure DEST_PATH_IMAGE101
时采用的损失函数,并且以每个中间跳得到的子问题答案对
Figure DEST_PATH_IMAGE102
Figure DEST_PATH_IMAGE103
表示每个中间跳分解得到的子问题,
Figure DEST_PATH_IMAGE104
为每个中间跳预测得到的子问题
Figure DEST_PATH_IMAGE105
对应的答案)、原始问题
Figure 891610DEST_PATH_IMAGE099
、相关上下文
Figure 812424DEST_PATH_IMAGE098
以及预设的答案类型为联合训练样本,联合训练得到统一阅读器模型
Figure 911967DEST_PATH_IMAGE101
S3,将原始问题
Figure 65868DEST_PATH_IMAGE099
、相关上下文
Figure 633859DEST_PATH_IMAGE098
输入到统一阅读模型
Figure 455185DEST_PATH_IMAGE101
中进行中间跳和最终跳答案推理,最终输出原始问题
Figure 256787DEST_PATH_IMAGE099
对应的多跳问题答案
Figure 383138DEST_PATH_IMAGE100
和多跳支持句
Figure DEST_PATH_IMAGE106
步骤S3中,预测原始问题
Figure 662809DEST_PATH_IMAGE099
对应的多跳问题答案
Figure 338641DEST_PATH_IMAGE100
和和多跳支持句
Figure 340839DEST_PATH_IMAGE106
的方法步骤包括:
S31,将原始问题
Figure 453020DEST_PATH_IMAGE099
输入到预先训练的段落排序模型中以计算得到表征每个候选段落与解答原始问题
Figure 349432DEST_PATH_IMAGE099
具有相关性的概率得分,然后选取得分排名前
Figure DEST_PATH_IMAGE107
Figure 568186DEST_PATH_IMAGE107
优选等于3,
Figure DEST_PATH_IMAGE108
时,加上排名第一的候选段落所链接的跳转段落,即原始问题
Figure 711591DEST_PATH_IMAGE099
的相关上下文
Figure 833041DEST_PATH_IMAGE098
包含4个候选段落,由于本实施例在每个中间跳的推理步骤都是基于当前的支持事实,产生了更准确的问题分解,因此,相比较背景技术中交代的仅基于原始问题而未考虑每个分解步骤基于的当前支持事实的现有的单跳问题分解方法,
Figure 533144DEST_PATH_IMAGE107
的取值可以更小。经反复实验数据对比,当
Figure 573781DEST_PATH_IMAGE108
时对多跳问题回答的准确率几乎没有影响,但由于
Figure 717449DEST_PATH_IMAGE107
取值减小,而大幅提升了多跳问题回答的整体速度。另外,本申请将排名第一的候选段落所链接的跳转段落加入到原始问题
Figure 554955DEST_PATH_IMAGE099
的相关上下文
Figure 308016DEST_PATH_IMAGE098
中,考虑了与候选段落链接的跳转段落对问题分解以及问题解答的影响,有效确保了多跳问题回答的准确率)的候选段落以及排名第一的候选段落链接的跳转段落作为与解答原始问题
Figure 16209DEST_PATH_IMAGE099
具有相关性的上下文,记为
Figure 124586DEST_PATH_IMAGE098
S32,将原始问题
Figure 183809DEST_PATH_IMAGE099
和相关上下文
Figure 147086DEST_PATH_IMAGE098
输入到预先训练的统一阅读器模型
Figure 991676DEST_PATH_IMAGE101
(又称中间跳推理器)中进行中间跳答案推理,输出每个中间跳对应的子问题-答案对
Figure 726414DEST_PATH_IMAGE102
和单跳支持句
Figure DEST_PATH_IMAGE109
S33,以最终跳的前一跳输出的子问题-答案对
Figure 194305DEST_PATH_IMAGE102
、原始问题
Figure 53283DEST_PATH_IMAGE099
、相关上下文
Figure 798385DEST_PATH_IMAGE098
以及答案类型为统一阅读器模型
Figure 953292DEST_PATH_IMAGE101
的输入进行最终跳的答案推理,输出原始问题
Figure 721527DEST_PATH_IMAGE099
对应的多跳问题答案
Figure DEST_PATH_IMAGE110
和多跳支持句
Figure DEST_PATH_IMAGE111
以下结合图2、图3对本实施例提供的基于多跳推理联合优化的多跳问题回答方法的具体实现方式进行详细说明:
如图2所示,例如,对于“海军陆战队第28航空控制小组位于哪个城市”这个多跳问题(即原始问题
Figure 652705DEST_PATH_IMAGE099
),按照背景技术中交代的多跳问题分解方法,仅基于原始问题
Figure 203379DEST_PATH_IMAGE099
,而不考虑每个跳转推理步骤涉及的支持事实,该多跳问题可能被分解为Sub-Q1:哪个海军陆战队具有空中控制小组28号以及Sub-Q2:海军陆战队战术空中指挥中队28位于哪个城市两个子问题。而通过本申请提供的方法,将该多跳问题分解为Step1-Q:海军陆战队第28航空控制组的基地在哪以及Step2-Q:海军陆战队Cherry Point航空站位于哪个城市两个子问题,以及从候选段落中识别出作为生成Step1-Q、Step2-Q的依据的单跳支持句Step1-S、Step2-S。显然,Step1-Q、Step2-Q的生成由于有据可依(分别具有Step1-S、Step2-S的支持事实),更容易推断出正确的答案。
本实施例中,给定一个原始问题
Figure 279920DEST_PATH_IMAGE099
和一个包含多个候选段落的上下文,目标是识别出与解答该原始问题
Figure 50298DEST_PATH_IMAGE099
相关的上下文
Figure 34435DEST_PATH_IMAGE098
,预测出最终答案
Figure 708124DEST_PATH_IMAGE077
,并对答案
Figure 955566DEST_PATH_IMAGE077
用支持性句子
Figure DEST_PATH_IMAGE112
进行解释。
为了减少多跳推理过程中因候选段落数量过多对问题解答的干扰,并提高问题解答效率,本实施例中,首先从所有候选段落中筛选出与解答原始问题
Figure 150924DEST_PATH_IMAGE099
最相关的候选段落作为问题
Figure 889816DEST_PATH_IMAGE099
的相关上下文,记为
Figure 401700DEST_PATH_IMAGE098
。相关上下文
Figure 69311DEST_PATH_IMAGE098
的具体筛选方式为:给定多个候选段落为段落排序模型的训练样本,训练成形段落排序模型,段落排序模型由一个RoBERTa编码器和一个二元分类层构成,该模型将每个原始问题
Figure 456692DEST_PATH_IMAGE099
和每个候选段落作为输入,二元分类层中的sigmoid函数会输出每个候选段落与原始问题
Figure 48210DEST_PATH_IMAGE099
相关的概率分数,利用训练数据中正确的问题相关段落作为监督优化一个交叉熵损失函数即可训练出段落排序模型。然后采用两跳选择策略,对于第一跳,在包含与原始问题
Figure 929447DEST_PATH_IMAGE099
具有相同短语的候选段落中选择得分最高的候选段落,然后通过嵌入在得分最高的候选段落中的wiki超链接跳转到其链接的跳转段落中,最终将该跳转段落与概率得分由大到小排序前
Figure DEST_PATH_IMAGE113
Figure 938598DEST_PATH_IMAGE113
优选等于3)的候选段落作为解答该原始问题
Figure 921598DEST_PATH_IMAGE099
的上下文,记为
Figure 175862DEST_PATH_IMAGE098
这里需要强调的是,本申请提供的多跳问题回答方法的步骤S1,即寻找原始问题
Figure 413070DEST_PATH_IMAGE099
的上下文
Figure 438795DEST_PATH_IMAGE098
非常重要,后续中间跳推理以及最终跳推理中识别作为每一跳中子问题生成依据的单跳支持句、生成每一跳的子问题、预测每一跳的子问题对应的答案,以及输出最终的原始问题
Figure 892779DEST_PATH_IMAGE099
对应的答案都必须基于步骤S1得到的该上下文
Figure 498204DEST_PATH_IMAGE098
。由于本申请将得分最高的候选段落所链接的跳转段落纳入为原始问题
Figure 55831DEST_PATH_IMAGE099
对应的上下文
Figure 580353DEST_PATH_IMAGE098
中,中间跳的每一跳中的子问题生成和子问题对应的答案推理均考虑了第一跳中得分最高的候选段落所链接的第二跳段落(即跳转段落)对子问题生成和子问题解答的影响,使得子问题生成和子问题解答不容易偏离原始问题
Figure 193737DEST_PATH_IMAGE099
本身,且选取得分排名前
Figure 291268DEST_PATH_IMAGE113
的候选段落共同作为该原始问题
Figure 1604DEST_PATH_IMAGE099
的相关上下文
Figure 634711DEST_PATH_IMAGE098
,考虑了不同候选段落对子问题生成和子问题解答准确率的综合影响,且由于选取了有限数量的相关上下文
Figure 765084DEST_PATH_IMAGE098
,确保了子问题生成和子问题解答的效率,进而确保了多跳问题回答的效率。
此处另需说明的是,由于段落排序模型的具体训练过程并非本申请要求权利保护的范围,因此关于段落排序模型的具体训练过程在此不做具体说明。
筛选出原始问题
Figure 899262DEST_PATH_IMAGE099
的相关上下文
Figure 965570DEST_PATH_IMAGE098
后,本实施例提供的多跳问题回答方法转入中间跳推理过程。中间跳推理,即基于筛选后的相关上下文
Figure 503998DEST_PATH_IMAGE098
,一步一步地进行多跳推理。本实施例中,采用统一的阅读器模型
Figure DEST_PATH_IMAGE114
(即为中间跳推理器或最终跳推理器)来识别每一中间跳的单跳支持句
Figure DEST_PATH_IMAGE115
,然后根据识别到的单跳支持句
Figure 269739DEST_PATH_IMAGE115
生成并回答相应的单跳子问题,并将原始问题
Figure 207608DEST_PATH_IMAGE099
、相关上下文
Figure 128422DEST_PATH_IMAGE098
以及当前中间跳得到的子问题-答案对
Figure DEST_PATH_IMAGE116
传递给统一阅读器模型
Figure 759124DEST_PATH_IMAGE114
进行下一跳的问题解答推理。
本实施例采用的统一阅读器模型
Figure 709762DEST_PATH_IMAGE114
包括3个模型,分别为单跳支持句识别器、单跳问题生成器和单跳问答模型。
单跳支持句识别器以原始问题
Figure 277753DEST_PATH_IMAGE099
、相关上下文
Figure 771183DEST_PATH_IMAGE098
和前一跳形成的子问题-答案对
Figure 572785DEST_PATH_IMAGE116
为输入(前一跳为第一跳时,由于未生成子问题-答案对
Figure 230294DEST_PATH_IMAGE116
,只有原始问题
Figure 854173DEST_PATH_IMAGE099
,因此第二跳作为中间跳时,单跳支持句识别器的输入为原始问题
Figure 654639DEST_PATH_IMAGE099
和相关上下文
Figure 453575DEST_PATH_IMAGE098
),试图从相关上下文
Figure 113226DEST_PATH_IMAGE098
中找到用于作为生成当前跳的子问题以及解答所生成的子问题的依据的单跳支持句
Figure 462168DEST_PATH_IMAGE115
。具体而言,输入到单跳支持句识别器的原始问题
Figure 477659DEST_PATH_IMAGE099
、相关上下文
Figure 434114DEST_PATH_IMAGE098
和前一跳的子问题-答案对
Figure 768012DEST_PATH_IMAGE116
的联接序列通过以下表达式(4)表达:
Figure DEST_PATH_IMAGE117
表达式(4)中,
Figure DEST_PATH_IMAGE118
表示第
Figure DEST_PATH_IMAGE119
跳中输入到单跳支持句识别器的联接序列表征;
Figure DEST_PATH_IMAGE120
表示第
Figure 435492DEST_PATH_IMAGE119
跳;
Figure DEST_PATH_IMAGE121
表示某个候选段落在步骤S1中选定的相关上下文
Figure 476129DEST_PATH_IMAGE098
中的分隔符,
Figure 869064DEST_PATH_IMAGE121
后面表示的是一个段落,比如
Figure DEST_PATH_IMAGE122
构成相关上下文
Figure 392056DEST_PATH_IMAGE098
中的某个候选段落;
Figure 817221DEST_PATH_IMAGE099
表示原始输入的多跳问题;
Figure DEST_PATH_IMAGE123
表示第
Figure DEST_PATH_IMAGE124
跳生成的子问题;
Figure DEST_PATH_IMAGE125
表示解答第
Figure 338463DEST_PATH_IMAGE124
跳生成的子问题得到的答案;
Figure DEST_PATH_IMAGE126
表示候选段落中的第
Figure DEST_PATH_IMAGE127
段中的第
Figure DEST_PATH_IMAGE128
个句子;
Figure DEST_PATH_IMAGE129
表示候选段落中的文本段落数;
Figure DEST_PATH_IMAGE130
表示候选段落中的第
Figure 869677DEST_PATH_IMAGE129
个文本段落中的句子数。
然后基于每个句子
Figure 178167DEST_PATH_IMAGE126
的特殊标记
Figure DEST_PATH_IMAGE131
的表示,构建一个二元分类器来预测每个句子
Figure 171138DEST_PATH_IMAGE126
是当前跳支持事实的概率
Figure DEST_PATH_IMAGE132
。预测每个句子
Figure 124050DEST_PATH_IMAGE126
是当前跳支持事实的概率
Figure 609520DEST_PATH_IMAGE132
可以采用现有的支持事实预测方法,因此有关
Figure 890460DEST_PATH_IMAGE132
的具体计算方法在此不做阐述;
最后通过最小化二元交叉熵损失函数,对第
Figure DEST_PATH_IMAGE133
跳使用的统一阅读器模型
Figure DEST_PATH_IMAGE134
进行优化后作为第第
Figure DEST_PATH_IMAGE135
跳中使用的统一阅读器模型
Figure 201968DEST_PATH_IMAGE134
,该二元交叉熵损失函数通过以下公式(5)表达:
Figure DEST_PATH_IMAGE136
公式(5)中,
Figure DEST_PATH_IMAGE137
表示优化第
Figure 672305DEST_PATH_IMAGE133
跳中使用的统一阅读器模型
Figure 63098DEST_PATH_IMAGE134
所采用的二元交叉熵损失函数;
Figure DEST_PATH_IMAGE138
表示句子
Figure DEST_PATH_IMAGE139
是否为第
Figure 641453DEST_PATH_IMAGE133
跳支持事实的标签;
Figure DEST_PATH_IMAGE140
表示相关上下文
Figure DEST_PATH_IMAGE141
中的句子总数。
识别出当前第
Figure 369369DEST_PATH_IMAGE133
跳的单跳支持句
Figure DEST_PATH_IMAGE142
后,进入对第
Figure 624770DEST_PATH_IMAGE133
跳子问题的生成过程。本申请并不使用人工标注或伪监督方式来训练单跳问题生成模型,而是直接采用现成的单跳问题语料库预先训练一个单跳问题生成器,以根据当前跳中识别到的单跳支持句
Figure 183534DEST_PATH_IMAGE142
和原始问题
Figure DEST_PATH_IMAGE143
来生成当前跳的子问题
Figure DEST_PATH_IMAGE144
。具体而言,首先提取当前跳中识别到的单跳支持句
Figure 563699DEST_PATH_IMAGE142
和原始问题
Figure 564147DEST_PATH_IMAGE143
的重叠单词,然后将重叠单词添加到单跳支持句
Figure 487104DEST_PATH_IMAGE142
中(比如拼接在原始的单跳支持句
Figure 983813DEST_PATH_IMAGE142
的前面),然后以添加了重叠单词的单跳支持句
Figure 461062DEST_PATH_IMAGE142
为预先训练的单跳问题生成器的输入(该输入形式表达为[CLS]
Figure DEST_PATH_IMAGE145
[SEP]
Figure 137638DEST_PATH_IMAGE142
[SEP],例如图3中,
Figure 836472DEST_PATH_IMAGE143
是“海军陆战队第28航空控制小组位于哪个城市 ”,
Figure DEST_PATH_IMAGE146
是“海军陆战队战术空中指挥中队28是美国海军陆战队航空指挥和控制部队,总部设在海军陆战队Cherry Point空军站”,那么
Figure DEST_PATH_IMAGE147
是“海军陆战队28”,然后由单跳问题生成器根据输入生成当前第
Figure 864602DEST_PATH_IMAGE133
跳分解的子问题
Figure DEST_PATH_IMAGE148
此处需要说明的是,将重叠单词添加到单跳支持句
Figure 45792DEST_PATH_IMAGE142
中有利于引导子问题的生成更符合原始问题
Figure 371731DEST_PATH_IMAGE143
的推理目标。另需说明的是,由于单跳问题生成器的具体训练方法并非本申请请求权利保护的范围,因此具体训练过程不做说明。
生成当前第
Figure DEST_PATH_IMAGE149
跳的子问题
Figure 190651DEST_PATH_IMAGE148
后,本申请以单跳支持句
Figure 530628DEST_PATH_IMAGE142
和生成的单跳子问题
Figure 169420DEST_PATH_IMAGE148
为预先训练好的单跳问答模型的输入,预测输出单跳子问题
Figure 236733DEST_PATH_IMAGE148
对应的单跳答案
Figure DEST_PATH_IMAGE150
。这里需要说明的是,为了提升单跳问答模型预测单跳答案
Figure 674274DEST_PATH_IMAGE150
的准确率,在训练单跳问答模型时,采用的样本之一为训练单跳问题生成器时同样使用的单跳问题数据集。由于训练单跳问答模型和训练单跳问题生成器都采用了同个单跳问题数据集,保证了部分训练样本的数据一致性,减少了因引入样本不一致带来的噪声误差,预测准确度更高。
此处另需说明的是,以单跳支持句
Figure 683687DEST_PATH_IMAGE142
和单跳子问题
Figure 685141DEST_PATH_IMAGE148
为样本的单跳问答模型的训练可基于现有的训练方法训练而得,且由于单跳问答模型的具体训练过程并非本申请请求权利保护的范围,因此有关单跳问答模型的训练过程不做具体阐述。
完成若干步中间跳后进入最后一跳(最终跳
Figure DEST_PATH_IMAGE151
)的多跳问题答案生成和多跳支持句识别过程。具体地,如图3所示,在最终跳中,利用前一跳(即中间跳的最后一跳)的子问题-答案对
Figure DEST_PATH_IMAGE152
构建起中间跳和最终跳的桥梁,然后使用与中间跳推理过程中相同的统一阅读器模型
Figure DEST_PATH_IMAGE153
来预测原始问题
Figure DEST_PATH_IMAGE154
的最终答案
Figure DEST_PATH_IMAGE155
,同时提供作为解答原始问题
Figure 913735DEST_PATH_IMAGE154
依据的多跳支持句
Figure 254718DEST_PATH_IMAGE036
。如图3所示,输入到最终跳的统一阅读器模型
Figure 202076DEST_PATH_IMAGE153
中的联接序列表达为:
Figure DEST_PATH_IMAGE156
对比表达式(4)和表达式(6)可知,最终跳中,输入给统一阅读器模型
Figure 815460DEST_PATH_IMAGE153
的联接序列中在相关上下文
Figure DEST_PATH_IMAGE157
之前插入了两个额外的标记yes或no,用于答案预测。本实施例中,原始问题
Figure 972378DEST_PATH_IMAGE154
对应的答案类型有3种,分别为:yes、no,yes表示原始问题
Figure 433447DEST_PATH_IMAGE154
的答案类型为yes;no表示原始问题
Figure 456766DEST_PATH_IMAGE154
的答案类型为no,比如对于原始问题
Figure 386808DEST_PATH_IMAGE154
为“奥巴马是美国第一任黑人总统吗”,其答案类型为“yes”。
为了完成最后一跳推理,首先使用二元分类器来识别相关上下文
Figure 865193DEST_PATH_IMAGE157
中的每个句子是否为整个多跳问题(即原始问题
Figure 430036DEST_PATH_IMAGE154
)的支持事实,并通过损失函数
Figure DEST_PATH_IMAGE158
计算识别支持句的损失,然后进行最终答案片段的预测,预测方法为:在所有上下文表示上增加一个带有softmax函数的线性层(Softmax是一个计算概率的函数,可以在相关上下文
Figure 411809DEST_PATH_IMAGE157
中所有字符的表示上,计算出每个字符是答案起始位置或结束位置的概率),以获得每个
Figure DEST_PATH_IMAGE159
(即相关上下文
Figure 796522DEST_PATH_IMAGE157
中的第
Figure DEST_PATH_IMAGE160
个字符)作为答案起始位置的概率
Figure DEST_PATH_IMAGE161
或作为结束位置的概率
Figure DEST_PATH_IMAGE162
,并将作为答案起始位置和作为答案结束位置的最大概率分别记为
Figure DEST_PATH_IMAGE163
Figure DEST_PATH_IMAGE164
,然后获取
Figure DEST_PATH_IMAGE165
Figure 406495DEST_PATH_IMAGE164
所在位置及之间的内容作为最终预测输出的多跳问题答案
Figure 357003DEST_PATH_IMAGE155
对于多跳问题答案
Figure 17398DEST_PATH_IMAGE155
在相关上下文
Figure 640140DEST_PATH_IMAGE157
中的起始位置和结束位置的预测损失通过以下公式(7)计算而得:
Figure DEST_PATH_IMAGE166
以下以包含一步中间跳和一步最终跳为例,对步骤S2训练统一阅读模型
Figure DEST_PATH_IMAGE167
以及步骤S3预测原始问题
Figure 335695DEST_PATH_IMAGE154
对应的多跳问题答案
Figure DEST_PATH_IMAGE168
和多跳支持句
Figure DEST_PATH_IMAGE169
的过程进行详细阐述:
由于仅有2跳(即一步中间跳和一步最终跳),训练统一阅读器模型
Figure 170402DEST_PATH_IMAGE167
时采用的联合损失函数表达如下:
Figure DEST_PATH_IMAGE170
本示例中,由于只有一步中间跳,该中间跳的输入不包括前一中间跳得到的子问题-答案对
Figure DEST_PATH_IMAGE171
。若中间跳有两步及以上,则从第二步中间跳开始,中间跳的输入除了原始问题
Figure 175267DEST_PATH_IMAGE154
及其相关上下文
Figure 301617DEST_PATH_IMAGE157
,还包括前一中间跳得到的子问题-答案对
Figure DEST_PATH_IMAGE172
。而子问题的生成依赖于当前跳识别到的添加有重叠单词(为当前跳识别到的原始的单跳支持句
Figure DEST_PATH_IMAGE173
与原始问题
Figure 50131DEST_PATH_IMAGE154
之间的重叠单词)的单跳支持句
Figure 677028DEST_PATH_IMAGE173
,单跳答案
Figure DEST_PATH_IMAGE174
的生成又依赖于当前跳中识别到的单跳支持句
Figure 446269DEST_PATH_IMAGE173
和生成的单跳子问题
Figure DEST_PATH_IMAGE175
,当前跳的单跳支持句
Figure 997599DEST_PATH_IMAGE173
的识别又依赖于前一跳得到的子问题-答案对
Figure 80961DEST_PATH_IMAGE171
,因此在每个中间跳推理步骤中都考虑了前一中间跳得到的子问题-答案对
Figure 345720DEST_PATH_IMAGE171
对识别当前跳的支持事实的影响,减轻了级联故障,使得在后续跳中纠正了中间错误,产生了更准确的问题分解,从而使得整个多跳推理过程更精确、更稳健。
由于本申请是利用前一中间跳得到的子问题-答案对
Figure 784399DEST_PATH_IMAGE171
、原始问题
Figure 134609DEST_PATH_IMAGE154
及其相关上下文
Figure 349558DEST_PATH_IMAGE157
去识别当前跳中的单跳支持句
Figure 999982DEST_PATH_IMAGE173
,然后以识别到的单跳支持句
Figure 815754DEST_PATH_IMAGE173
生成当前跳的子问题
Figure 371369DEST_PATH_IMAGE175
,但在测试统一阅读器模型
Figure 875163DEST_PATH_IMAGE167
性能时,仅根据所预测的单跳支持句
Figure 862317DEST_PATH_IMAGE173
生成单跳子问题,没有考虑中间跳步骤与步骤之间得到的子问题-答案对
Figure 426153DEST_PATH_IMAGE171
对单跳子问题生成的影响,因此在联合训练中可能会出现暴露偏差(intermediate hop reasoning supervision),即识别的单跳支持句
Figure 734644DEST_PATH_IMAGE173
可能偏离其真实的支持句。为了解决这个问题,本发明提供了两个方案:方案一、减少训练集和测试集中的单跳支持句的差异;方案二、减少训练集和测试集中的单跳子问题间的差异。以下对两个方案的实现方法进行具体阐述:
方案一为中间单跳支持句识别训练一个单独的单跳支持句识别器,并采用它来重新预测训练数据中偶尔存在错误的单跳支持句,由此而调节训练集和测试集中的单跳支持句之间的偏差。方案二则将以重新预测的训练集中的单跳支持句为单跳问题生成器的输入,以基于真实支持句生成的子问题为优化目标,扩充单跳问题生成的训练数据。然后对单跳问题生成器进行训练,使其从非正确单跳支持句接近正确单跳支持句,以此而减少训练集和测试集之间单跳子问题间的偏差。通过这两种策略,可以联合优化统一阅读器模型
Figure 838866DEST_PATH_IMAGE167
,以便更好地泛化。
为了验证本申请通过联合优化方法训练的统一阅读器模型
Figure 683456DEST_PATH_IMAGE167
的性能,本申请以HotpotQA为问答数据集对模型性能作了评估,评估过程需要同时回答问题和预测支持事实来解释推理。包括两个基准设置:Distractor(给定10个段落找答案)和fullwiki(不给定段落,需要在wiki中检索相关段落找答案),本申请关注Distractor设置,以主要测试多跳推理能力,同时忽视信息检索部分。数据集分别由训练集、开发集和测试集中的90447、7405和7405个数据点组成。每个实例都有10个候选段落,其中只有两个段落包含支持问题的必要句子。在自动评估方面,采用了答案预测的精确匹配(EM)和F1,支持事实预测和它们的联合作为度量。此外,为了训练单跳问题生成器和单跳问答模型,使用SQuAD作为单跳问题语料库。
在实施方式中,将ELECTRA large作为逐步推理方法和单跳问答模型的主体模型,并使用BART-large训练单跳问题生成器。所有这些模型都是使用Huggingface实现的。使用的训练批大小为48,并进行10个epochs的微调。Adam作为优化器,学习率为3e-5。本申请使用10%预热比例的线性学习率。平衡损失权重的超参数选择为
Figure DEST_PATH_IMAGE176
=10和
Figure DEST_PATH_IMAGE177
=5。
本申请对通过联合训练方法训练的统一阅读器模型
Figure 277249DEST_PATH_IMAGE167
和目前最先进的多跳问题回答推理模型进行了性能比较(包括基于问题分解的模型和基于一步阅读器的模型),比较结果参照下表1。相较于之前问题分解的模型(表1内DecompRC和ONUS)和基于一步阅读器的模型(表1内TAP2~HGN),由表1可以看到,本申请提供的统一阅读器模型
Figure 243674DEST_PATH_IMAGE167
(StepReasoner)在答案预测、支持句预测、以及联合分数上都有了明显的提高。
Figure DEST_PATH_IMAGE178
表1
同时在本场景示例中,对本申请提出的模型的联合训练方法进行了消融实验,实验结果请参照下表2。表2中,w/o代表without,w/o joint trainging的方法里不使用联合优化,直接使用pipeline推理模型,w/o bias.supp 和w/o bias.ques的方法里不使用两种减少暴露偏差的部件,分别用来减少训练测试之间单跳支持句和单跳子问题的不一致。
Figure DEST_PATH_IMAGE179
表2
由表2可以看到,整体上同时使用三种组件能达到更好的效果。对所有跳的统一阅读器模型进行联合优化,可以提高对中间错误的容忍度,提高推理性能。在不使用任何缓解暴露偏差的措施后,效果也显著下降,表明这两种缓解单跳支持句和单跳问题训练测试差异的措施都有更好的泛化能力。
本申请还对采用现有的预训练模型以现有方法训练的统一阅读器模型
Figure DEST_PATH_IMAGE180
与根据本申请提供的联合训练方法训练的统一阅读器模型
Figure 433478DEST_PATH_IMAGE180
的稳健性作了对比,对比结果请参照下表3,下表3中,以现有方法训练得到的模型包括BERT-base uncased,ELECTRA-large和ALBERT-xxlarge-v2,可以看到,这些现有预训练模型为初始模型,通过本申请提供的联合训练方法训练得到的模型(表3中用“StepReasoner-BERT”“StepReasoner-ELECTRA”“StepReasoner-ALBERT”表示)性能都有所提升,尤其是在EM分数方面。这表明本申请提出的以联合训练方法训练的统一阅读器模型
Figure 631110DEST_PATH_IMAGE180
更具稳健性,基于各种预训练模型训练都有效。
Figure DEST_PATH_IMAGE181
表3
本申请以联合训练方法训练得到的统一阅读器模型
Figure 980094DEST_PATH_IMAGE180
对于多跳推理中不同推理种类的推理效果比较请见下表4。表4中包括“Bridge”, “Implicit-Bridge”,“Comparison”和“Intersection”四个推理类别(“Bridge”:桥梁问题,需要先推理出一个显式的中间桥梁实体,再找到问题的答案;“Implicit-Bridge”:隐事桥梁问题,需要先推理出一个隐式的中间桥梁实体,再找到问题的答案;“Comparison”:比较性问题,需要比较两个实体的属性;“Intersection”:交叉问题,需要找到同时满足多个属性/约束的答案)。可以看到,在不同的推理种类上,本申请提供的多跳问答推理方法都有效,尤其是“Implicit-Bridge”和“Intersection”,因为这两个种类的问题更容易通过直接从单个证据中识别满足一个查询属性的实体来获得错误答案,而忽略涉及其他证据的多跳推理,从而获得快捷解决方案。这一观察结果也验证了本申请提供的基于中间单跳支持句逐步生成可解释多跳推理的单跳问题的有效性。
Figure DEST_PATH_IMAGE182
表4
为了证明所述基于已识别的单跳支持句生成单跳问题的有效性,将几种不同的单跳问题生成方法融入到逐步推理框架中,并在ELECTRA上比较问答结果,问答结果对比数据请见下表4,可以看出所述基于Supp的方法性能最好,基于单跳支持句生成更准确、信息量更大的子问题,比其他策略生成的单跳问题更有效。
Figure DEST_PATH_IMAGE183
表5
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。

Claims (7)

1.一种基于多跳推理联合优化的多跳问题回答方法,其特征在于,步骤包括:
S1,构建训练统一阅读器模型
Figure 679220DEST_PATH_IMAGE001
的联合损失函数,所构建的所述联合损失函数通过以下公式(1)表达:
Figure 679406DEST_PATH_IMAGE002
公式(1)中,
Figure 98755DEST_PATH_IMAGE003
表示所述联合损失函数;
Figure 11348DEST_PATH_IMAGE004
表示第
Figure 414516DEST_PATH_IMAGE005
跳中间跳中的中间跳推理器采用的二元交叉熵损失函数;
Figure 969125DEST_PATH_IMAGE006
表示最终第
Figure 242981DEST_PATH_IMAGE007
跳中的最终跳推理器采用的二元交叉熵损失函数;
Figure 106900DEST_PATH_IMAGE007
表示推理原始问题
Figure 216939DEST_PATH_IMAGE008
对应的多跳问题答案
Figure 293348DEST_PATH_IMAGE009
所需的总跳数;
Figure 687289DEST_PATH_IMAGE010
Figure 207263DEST_PATH_IMAGE011
分别表示
Figure 788286DEST_PATH_IMAGE012
Figure 933966DEST_PATH_IMAGE013
在参与构建所述联合损失函数时的加权超参数;
Figure 667566DEST_PATH_IMAGE014
表示所述最终跳推理器对所述原始问题
Figure 873289DEST_PATH_IMAGE008
对应的所述多跳问题答案
Figure 676029DEST_PATH_IMAGE009
在相关上下文
Figure 359820DEST_PATH_IMAGE015
中的起始位置和结束位置的预测损失;
S2,根据所构建的所述联合损失函数,并且以每个中间跳得到的子问题-答案对
Figure 947927DEST_PATH_IMAGE016
、所述原始问题
Figure 590130DEST_PATH_IMAGE008
、所述相关上下文
Figure 162057DEST_PATH_IMAGE015
以及预设的答案类型为联合训练样本,联合训练得到表示所述中间跳推理器或表示所述最终跳推理器的所述统一阅读器模型
Figure 383959DEST_PATH_IMAGE001
S3,将所述原始问题
Figure 606999DEST_PATH_IMAGE008
、所述相关上下文
Figure 905256DEST_PATH_IMAGE015
输入到所述统一阅读器模型
Figure 213747DEST_PATH_IMAGE001
中进行中间跳和最终跳答案推理,最终输出所述原始问题
Figure 239341DEST_PATH_IMAGE008
对应的多跳问题答案
Figure 802040DEST_PATH_IMAGE009
和多跳支持句
Figure 254887DEST_PATH_IMAGE017
步骤S3中,预测所述原始问题
Figure 785094DEST_PATH_IMAGE008
对应的所述多跳问题答案
Figure 896270DEST_PATH_IMAGE009
和所述多跳支持句
Figure 828323DEST_PATH_IMAGE017
的方法步骤包括:
S31,将原始问题
Figure 452071DEST_PATH_IMAGE008
输入到预先训练的段落排序模型中计算得到表征每个候选段落与解答所述原始问题
Figure 954727DEST_PATH_IMAGE008
具有的相关性的概率得分,然后选取得分排名前
Figure 790965DEST_PATH_IMAGE018
的所述候选段落以及排名第一的所述候选段落链接的跳转段落作为解答所述原始问题
Figure 577525DEST_PATH_IMAGE008
的相关上下文,记为
Figure 372174DEST_PATH_IMAGE015
S32,将所述原始问题
Figure 627706DEST_PATH_IMAGE008
、相关上下文
Figure 533214DEST_PATH_IMAGE015
以及前一中间跳得到的子问题-答案对
Figure 439859DEST_PATH_IMAGE016
输入到以每一跳的输入输出数据为训练样本迭代更新训练的统一阅读器模型
Figure 421722DEST_PATH_IMAGE001
中进行中间跳答案推理,输出当前中间跳对应的子问题-答案对
Figure 413817DEST_PATH_IMAGE016
和单跳支持句
Figure 412033DEST_PATH_IMAGE019
S33,以最终跳的前一跳输出的子问题-答案对
Figure 392758DEST_PATH_IMAGE016
、所述原始问题
Figure 529210DEST_PATH_IMAGE008
、所述相关上下文
Figure 8602DEST_PATH_IMAGE015
以及预设的答案类型为所述统一阅读器模型
Figure 255913DEST_PATH_IMAGE001
的输入进行最终跳的答案推理,输出所述原始问题
Figure 622303DEST_PATH_IMAGE008
对应的多跳问题答案
Figure 195236DEST_PATH_IMAGE009
和多跳支持句
Figure 912656DEST_PATH_IMAGE020
2.根据权利要求1所述的基于多跳推理联合优化的多跳问题回答方法,其特征在于,步骤S1中,
Figure 229237DEST_PATH_IMAGE021
Figure 699401DEST_PATH_IMAGE022
通过以下公式(2)表达:
Figure 459547DEST_PATH_IMAGE023
公式(2)中,
Figure 647952DEST_PATH_IMAGE024
表示优化第
Figure 518956DEST_PATH_IMAGE025
跳中使用的所述统一阅读器模型
Figure 109206DEST_PATH_IMAGE001
所采用的所述二元交叉熵损失函数,
Figure 289520DEST_PATH_IMAGE026
时表示当前跳为第
Figure 450374DEST_PATH_IMAGE027
跳中间跳,
Figure 108758DEST_PATH_IMAGE028
时表示当前跳为第
Figure 819094DEST_PATH_IMAGE029
跳最终跳;
Figure 655463DEST_PATH_IMAGE030
表示相关上下文
Figure 818460DEST_PATH_IMAGE015
中的第
Figure 31266DEST_PATH_IMAGE031
段第
Figure 596109DEST_PATH_IMAGE032
个句子
Figure 852646DEST_PATH_IMAGE033
是否为第
Figure 988093DEST_PATH_IMAGE025
跳支持事实的标签;
Figure 253858DEST_PATH_IMAGE034
表示相关上下文
Figure 689518DEST_PATH_IMAGE015
中的句子总数。
3.根据权利要求1所述的基于多跳推理联合优化的多跳问题回答方法,其特征在于,步骤S1中,
Figure 851378DEST_PATH_IMAGE035
通过以下公式(3)表达:
Figure 254547DEST_PATH_IMAGE036
公式(3)中,
Figure 809156DEST_PATH_IMAGE037
Figure 286274DEST_PATH_IMAGE038
分别表示最终跳中从所述相关上下文
Figure 884614DEST_PATH_IMAGE015
中提取的标签内容作为所述原始问题
Figure 243920DEST_PATH_IMAGE008
的多跳问题答案
Figure 336641DEST_PATH_IMAGE009
的答案起始位置、答案结束位置的最大概率。
4.根据权利要求1所述的基于多跳推理联合优化的多跳问题回答方法,其特征在于,
Figure 465003DEST_PATH_IMAGE039
5.根据权利要求1所述的基于多跳推理联合优化的多跳问题回答方法,其特征在于,所述统一阅读器模型
Figure 234245DEST_PATH_IMAGE001
在每一步中间跳或最终跳中,通过以下方法步骤识别当前第
Figure 831579DEST_PATH_IMAGE027
跳的所述单跳支持句
Figure 977259DEST_PATH_IMAGE040
A1,将输入的所述原始问题
Figure 225706DEST_PATH_IMAGE008
、所述相关上下文
Figure 182161DEST_PATH_IMAGE015
和前一跳形成的所述子问题-答案对
Figure 250480DEST_PATH_IMAGE041
形成为如下表达式表达的联接序列:
Figure 950583DEST_PATH_IMAGE042
上述表达式中,
Figure 522378DEST_PATH_IMAGE043
表示第
Figure 899002DEST_PATH_IMAGE044
跳中输入到单跳支持句识别器的联接序列表征;
Figure 720196DEST_PATH_IMAGE045
表示第
Figure 958411DEST_PATH_IMAGE044
跳;
Figure 915871DEST_PATH_IMAGE046
表示某个候选段落在步骤S1中选定的相关上下文
Figure 869921DEST_PATH_IMAGE015
中的分隔符;
Figure 647253DEST_PATH_IMAGE008
表示原始输入的多跳问题;
Figure 961863DEST_PATH_IMAGE047
表示第
Figure 790142DEST_PATH_IMAGE048
跳生成的子问题;
Figure 508568DEST_PATH_IMAGE049
表示解答第
Figure 55087DEST_PATH_IMAGE048
跳生成的子问题得到的答案;
Figure DEST_PATH_IMAGE050
表示候选段落中的第
Figure 9006DEST_PATH_IMAGE051
段中的第
Figure DEST_PATH_IMAGE052
个句子;
Figure 613162DEST_PATH_IMAGE053
表示候选段落中的文本段落数;
Figure DEST_PATH_IMAGE054
表示候选段落中的第
Figure 440173DEST_PATH_IMAGE053
个文本段落中的句子数;
A2,基于每个句子
Figure 457676DEST_PATH_IMAGE055
的特殊标记
Figure DEST_PATH_IMAGE056
的表示,构建一个二元分类器来预测每个句子
Figure 762756DEST_PATH_IMAGE055
是当前第
Figure 814894DEST_PATH_IMAGE044
跳的支持事实的概率
Figure 625855DEST_PATH_IMAGE057
,并将
Figure 865076DEST_PATH_IMAGE057
概率值大于
Figure DEST_PATH_IMAGE058
的句子
Figure 973846DEST_PATH_IMAGE055
作为当前第
Figure 146070DEST_PATH_IMAGE044
跳的单跳支持句,构成
Figure 127933DEST_PATH_IMAGE059
A3,通过最小化二元交叉熵损失函数,对所有跳使用的所述统一阅读器模型
Figure 588870DEST_PATH_IMAGE001
进行优化,所述二元交叉熵损失函数通过以下公式(4)表达:
Figure DEST_PATH_IMAGE060
公式(4)中,
Figure 235752DEST_PATH_IMAGE061
表示优化第
Figure 200166DEST_PATH_IMAGE044
跳中使用的所述统一阅读器模型
Figure 602197DEST_PATH_IMAGE001
所采用的所述二元交叉熵损失函数;
Figure DEST_PATH_IMAGE062
表示句子
Figure 753693DEST_PATH_IMAGE055
是否为第
Figure 266582DEST_PATH_IMAGE044
跳支持事实的标签;
Figure 147820DEST_PATH_IMAGE063
表示所述相关上下文
Figure 471485DEST_PATH_IMAGE015
中的句子总数。
6.根据权利要求1或5所述的基于多跳推理联合优化的多跳问题回答方法,其特征在于,通过以下方法步骤生成当前第
Figure DEST_PATH_IMAGE064
跳的子问题:
B1,提取于当前第
Figure 110277DEST_PATH_IMAGE064
跳中识别到的所述单跳支持句
Figure 895699DEST_PATH_IMAGE059
和所述原始问题
Figure 631442DEST_PATH_IMAGE008
的重叠单词;
B2,将所提取的各所述重叠单词添加到所述单跳支持句
Figure 126009DEST_PATH_IMAGE059
中;
B3,以添加了所述重叠单词的各所述单跳支持句
Figure 314414DEST_PATH_IMAGE059
为预先训练的单跳问题生成器的输入,由所述单跳问题生成器根据输入生成当前第
Figure 434685DEST_PATH_IMAGE065
跳分解的子问题
Figure DEST_PATH_IMAGE066
7.根据权利要求6所述的基于多跳推理联合优化的多跳问题回答方法,其特征在于,以当前第
Figure 697039DEST_PATH_IMAGE064
跳中识别得到的所述单跳支持句
Figure 611775DEST_PATH_IMAGE059
和当前第
Figure 38208DEST_PATH_IMAGE064
跳中生成的单跳子问题
Figure 227750DEST_PATH_IMAGE066
为预先训练的单跳问答模型的输入,预测输出所述单跳子问题
Figure 157659DEST_PATH_IMAGE066
对应的单跳答案
Figure 508875DEST_PATH_IMAGE067
,训练所述单跳问题模型的样本为每个中间跳产生的所述单跳子问题
Figure 406293DEST_PATH_IMAGE066
以及训练所述单跳问题生成器时使用的单跳问题数据集。
CN202210703633.3A 2022-06-21 2022-06-21 基于多跳推理联合优化的多跳问题回答方法 Active CN114780707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210703633.3A CN114780707B (zh) 2022-06-21 2022-06-21 基于多跳推理联合优化的多跳问题回答方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210703633.3A CN114780707B (zh) 2022-06-21 2022-06-21 基于多跳推理联合优化的多跳问题回答方法

Publications (2)

Publication Number Publication Date
CN114780707A CN114780707A (zh) 2022-07-22
CN114780707B true CN114780707B (zh) 2022-11-22

Family

ID=82421535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210703633.3A Active CN114780707B (zh) 2022-06-21 2022-06-21 基于多跳推理联合优化的多跳问题回答方法

Country Status (1)

Country Link
CN (1) CN114780707B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117744795A (zh) * 2023-12-08 2024-03-22 拓元(广州)智慧科技有限公司 一种基于大语言模型的多智能体协同知识推理框架与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538819A (zh) * 2020-03-27 2020-08-14 北京工商大学 一种基于文档集多跳推理的问答系统的构建方法
JP2020181240A (ja) * 2019-04-23 2020-11-05 株式会社東芝 データ生成装置、データ生成方法およびプログラム
WO2021184311A1 (zh) * 2020-03-19 2021-09-23 中山大学 一种自动生成可推理问答的方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235356A1 (en) * 2008-03-14 2009-09-17 Clear Blue Security, Llc Multi virtual expert system and method for network management
US9280908B2 (en) * 2013-03-15 2016-03-08 International Business Machines Corporation Results of question and answer systems
US20210173837A1 (en) * 2019-12-06 2021-06-10 Nec Laboratories America, Inc. Generating followup questions for interpretable recursive multi-hop question answering
US11893060B2 (en) * 2020-02-06 2024-02-06 Naver Corporation Latent question reformulation and information accumulation for multi-hop machine reading
US20220044135A1 (en) * 2020-08-10 2022-02-10 International Business Machines Corporation Complementary evidence identification in natural language inference
CN112347756B (zh) * 2020-09-29 2023-12-22 中国科学院信息工程研究所 一种基于序列化证据抽取的推理阅读理解方法及系统
CN112732879B (zh) * 2020-12-23 2022-05-10 重庆理工大学 一种问答任务的下游任务处理方法及模型

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181240A (ja) * 2019-04-23 2020-11-05 株式会社東芝 データ生成装置、データ生成方法およびプログラム
WO2021184311A1 (zh) * 2020-03-19 2021-09-23 中山大学 一种自动生成可推理问答的方法和装置
CN111538819A (zh) * 2020-03-27 2020-08-14 北京工商大学 一种基于文档集多跳推理的问答系统的构建方法

Also Published As

Publication number Publication date
CN114780707A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
Dönmez et al. Supporting CSCL with automatic corpus analysis technology
Weston Dialog-based language learning
Shah et al. An open-world extension to knowledge graph completion models
Haller et al. Survey on automated short answer grading with deep learning: from word embeddings to transformers
Safavi et al. Evaluating the calibration of knowledge graph embeddings for trustworthy link prediction
CN114780707B (zh) 基于多跳推理联合优化的多跳问题回答方法
Hua et al. Less is more: Data-efficient complex question answering over knowledge bases
Geng et al. Can chatgpt pass an introductory level functional language programming course?
CN115878794A (zh) 基于文本分类的候选段落生成及多跳问题回答方法
Mao et al. Grammar-based grounded lexicon learning
Ercikan et al. Optimizing implementation of artificial‐intelligence‐based automated scoring: An evidence centered design approach for designing assessments for AI‐based scoring
Poulton et al. Explaining transformer-based models for automatic short answer grading
Sordoni et al. Deep language networks: Joint prompt training of stacked llms using variational inference
Di Eugenio et al. Intelligent support for computer science education: Pedagogy enhanced by artificial intelligence
Zhang et al. Math operation embeddings for open-ended solution analysis and feedback
Mathai et al. Adversarial black-box attacks on text classifiers using multi-objective genetic optimization guided by deep networks
Wan et al. A & B== B & A: Triggering logical reasoning failures in large language models
Li et al. Discovering student models with a clustering algorithm using problem content
Parker et al. A large language model approach to educational survey feedback analysis
Aquilina et al. Predicting links in a social network based on recognised personalities
Hutt et al. Feedback on Feedback: Comparing Classic Natural Language Processing and Generative AI to Evaluate Peer Feedback
Yu Knowledge Augmented Methods for Natural Language Processing and Beyond
CN113139037B (zh) 文本处理方法、装置、设备以及存储介质
Ganesh Reinforcement Learning on Social Chabot to Improve the Semantic Variation
Farag et al. An error-oriented approach to word embedding pre-training

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant