CN113761152A - 一种问答模型的训练方法、装置、设备及存储介质 - Google Patents

一种问答模型的训练方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113761152A
CN113761152A CN202110523567.7A CN202110523567A CN113761152A CN 113761152 A CN113761152 A CN 113761152A CN 202110523567 A CN202110523567 A CN 202110523567A CN 113761152 A CN113761152 A CN 113761152A
Authority
CN
China
Prior art keywords
question
initial
training
target document
answered
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.)
Pending
Application number
CN202110523567.7A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110523567.7A priority Critical patent/CN113761152A/zh
Publication of CN113761152A publication Critical patent/CN113761152A/zh
Pending legal-status Critical Current

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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • 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/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开一种问答模型的训练方法、装置、设备及存储介质,在训练问答模型时,构建包括初始检索模块和初始阅读模块的初始问答模型。获取包括第一目标文档的训练语料,根据第一目标文档对初始检索模块和初始阅读模块进行联合训练。在联合训练过程中,利用第i次迭代训练后得到的初始检索模块对第i次迭代训练使用的第一目标文档进行更新,以根据更新后的第一目标文档对第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件。根据满足迭代训练条件时的模型参数和初始问答模型的网络结构,确定目标问答模型。这种方式使得这两个模块相互促进,显著的提升问答模型的效果,提高开放域问答的准确性。

Description

一种问答模型的训练方法、装置、设备及存储介质
技术领域
本申请涉及数据处理领域,特别是涉及一种问答模型的训练方法、装置、设备及存储介质。
背景技术
开放领域问答(Open-Domain question answering,Open QA)是自然语言处理领域的重要研究课题。开放领域问答可以是指基于用户用自然语言提出的问题,从文档库中快速、精准地找出答案。开放领域问答在智能搜索、智能助手、智能客服等多个场景下,都发挥着重要作用。
相关技术中,针对用户提出的问题,可以通过预先训练得到的问答模型从文档库中抽取该问题对应的答案,也就是说,问答模型的质量直接影响着开放域问答的准确性。因此,如何训练出一个高质量的问答模型对于Open QA 是非常重要的。
发明内容
为了解决上述技术问题,本申请提供了一种问答模型的训练方法、装置、设备及存储介质,可以显著的提升问答模型的效果,进而提高开放域问答的准确性。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种问答模型的训练方法,所述方法包括:
构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;
在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;
根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
第二方面,本申请实施例提供一种问答模型的训练装置,所述装置包括构建单元、获取单元、训练单元和确定单元:
所述构建单元,用于构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
所述获取单元,用于获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
所述训练单元,用于根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
所述确定单元,用于根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
第三方面,本申请实施例提供一种用于问答模型的训练设备,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的方法。
由上述技术方案可以看出,为了实现开放域问答,需要训练得到问答模型。在训练问答模型时,构建包括初始检索模块和初始阅读模块得初始问答模型。获取包括第一目标文档的训练语料,第一目标文档中包括待回答问题对应的答案,然后根据第一目标文档对初始检索模块和初始阅读模块进行联合训练。在联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数,以便根据更新后的第一目标文档对第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止。根据满足迭代训练条件时的模型参数和初始问答模型的网络结构,确定目标问答模型。由于初始检索模块和初始阅读模块联合学习训练,即第i次迭代训练后得到的初始检索模块实时提供最新的检索结果(即更新后的第一目标文档) 给第i次迭代训练后得到的初始阅读模块,初始阅读模块的训练也会影响初始检索模块,使得这两个模块相互促进,可以显著的提升问答模型的效果,进而提高开放域问答的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种问答模型的训练方法的系统架构示意图;
图2为本申请实施例提供的一种问答模型的训练方法的流程图;
图3为本申请实施例提供的一种问答模型的训练方法的流程结构图;
图4为本申请实施例提供的一种双塔模型的结构示意图;
图5为本申请实施例提供的一种基于BERT模型的初始检索模块确定 cosine相似度的示意图;
图6为本申请实施例提供的一种基于BERT模型的初始阅读模型预测答案开头和答案结尾的示意图;
图7为本申请实施例提供的一种智能问答服务实现的方法流程图;
图8为本申请实施例提供的一种问答模型的训练装置的结构图;
图9为本申请实施例提供的一种终端设备的结构图;
图10为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
开放领域问答可以是指基于用户用自然语言提出的问题,从文档库中快速、精准地找出答案。例如对于一个用户提出的问题:“中国历史上第一个不平等条约是什么条约?”,需要到文档库中查找该问题对应的答案。文档库中包括的候选文档可能被拆分成一个一个的段落,例如:“《南京条约》是中国近代史上与外国签订的第一个不平等条约。道光二十二年(1842年),清朝在与英国的第一次鸦片战争中战败。清政府代表在泊于南京下关江面的英军旗舰康华丽号上与英国签署《江宁条约》,又称《中英南京条约》。”通过分析这个问题和候选文档,可以从文档库里得到该问题对应的答案是“《南京条约》”。
相关技术中,针对用户提出的问题,可以通过预先训练得到的问答模型从文档库中抽取该问题对应的答案,也就是说,问答模型的质量直接影响着开放域问答的准确性。因此,如何训练出一个高质量的问答模型对于Open QA 是非常重要的。
为了解决上述技术问题,本申请实施例对于包括检索模块(retriever)和阅读模块(reader)的问答模型,基于retriever和reader联合学习的方式训练问答模型,在联合学习过程中,每对retriever和reader完成一次迭代训练,则可以利用此次迭代训练得到的retriever更新第一目标文档,从而为下一次 reader的迭代训练提供更好的文档,reader的迭代训练也可以影响retriever,达到两个模块相互促进的效果。进而显著的提升问答模型的效果,提高开放域问答的准确性。
本申请实施例所提供的方法可以涉及到人工智能(Artificial Intelligence,AI)领域,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶等几大方向。
需要说明的是,本申请实施例主要涉及自然语言处理技术(Nature Languageprocessing,NLP),自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。本申请例如涉及其中的文本预处理、语义理解、机器人问答、搜索。
本申请还可以涉及机器学习/深度学习,通过机器学习/深度学习训练问答模型,从而利用训练得到的问答模型实现开放域问答。
本申请实施例还可以涉及区块链领域,例如本申请实施例训练问答模型所需要的训练语料可以存储在区块链上。
可以理解的是,OpenQA作为一项NLP基础技术在众多产品和应用中都有非常广泛的应用。在搜索中,用户经常会问一些问题,例如上面的例子“中国历史上第一个不平等条约是什么条约”,这些问题可能不能通过知识图谱来回答,但是很适合从大量的候选文档里去寻找答案。在问答或者对话场景中,例如智能音箱、知识问答服务(例如微信)或者智能客服,用户也可能问一些问题。通过检索和理解大量候选文档就能回答用户的这些问题。
需要说明的是,本申请实施例提供的方法可以应用到数据处理设备,数据处理设备可以是服务器,也可以是终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
接下来,将以数据处理设备是服务器为例,对问答模型的训练方法的系统架构进行介绍。参见图1,图1为本申请实施例提供的问答模型的训练方法的系统架构示意图。该系统架构中包括服务器101,服务器101上构建有包括初始检索模块和初始阅读模块的初始问答模型。
服务器101可以获取训练语料,该训练语料中包括第一目标文档,第一目标文档中包括待回答问题对应的答案。其中,该训练语料用于训练初始检索模块和初始阅读模块,第一目标文档是与该待回答问题相关的文档,可能包括该待回答问题对应的答案。
需要说明的是,待回答问题可以是用户提出的问题,例如“中国历史上第一个不平等条约是什么条约?”。待回答问题的输入方式可以是文本输入、语音输入等,例如在搜索中,用户可以在搜索框中输入文本“中国历史上第一个不平等条约是什么条约”;在问答或者对话场景中,用户可以通过智能音箱输入语音“中国历史上第一个不平等条约是什么条约”。
每个第一目标文档可以是一个段落,例如“《南京条约》是中国近代史上与外国签订的第一个不平等条约。道光二十二年(1842年),清朝在与英国的第一次鸦片战争中战败。清政府代表在泊于南京下关江面的英军旗舰康华丽号上与英国签署《江宁条约》,又称《中英南京条约》。”
服务器101在获取到第一目标文档后,可以根据第一目标文档对初始检索模块和初始阅读模块进行联合训练。在联合训练的过程中,服务器101利用第i次迭代训练后得到的初始检索模块对第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数。然后,服务器101根据更新后的第一目标文档对第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止。
服务器101最后根据满足迭代训练条件时的模型参数和初始问答模型的网络结构,确定目标问答模型。
服务器101可以将训练得到的目标问答模型提供给各种开放域问答场景中,当用户通过终端设备102输入问题,例如“中国历史上第一个不平等条约是什么条约?”,终端设备102可以将该问题发送至服务器101,以便服务器101利用目标问答模型确定该问题对应的答案,并将答案返回至终端设备102。
需要强调的是,本申请实施例提供的问答模型的训练方法可以由服务器独立执行,也可以由终端设备独立执行,还可以由服务器和终端设备配合执行。图1仅是一种示例,本申请实施例对此不作限定。
接下来,将主要以服务器是执行主体为例,结合附图对本申请实施例提供的问答模型的训练方法进行详细介绍。
参见图2,图2示出了一种问答模型的训练方法的流程图,所述方法包括:
S201、服务器构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块。
开放域问答是指基于用户提出的问题,从海量候选文档中快速、精准地找出答案。这些候选文档可以位于文档库中,文档库例如可能是百科文本库、特定语料库、新闻库、专业资料库、或者整个互联网web库。整个文档库的规模很大,可能有千万级或者亿级。在开放域问答任务中,需要从一个巨大的文档库里去寻找问题的答案。在这个场景下一般的流程是通过检索算法先从巨大的文档库里初筛出一些和问题相关的候选文档出来,然后再从这些文档里去抽取出答案。因此,在本实施例中,整个问答模型主要由两个模块组成,第一个是retriever即检索模块,用于从巨量文档库里筛选出和问题很相关的候选文档,用于缩小抽取问题所对应答案的规模;第二个是reader即阅读模块,用于从检索出来的这些候选文档中去抽取答案,其中,阅读模块可以是机器阅读理解模型(machine readingcomprehension,MRC)。
基于此,在训练问答模型时,首先构建的初始问答模型也包括两个模块,分别是初始检索模块和初始阅读模块。
S202、服务器获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案。
其中,第一目标文档可以是与待回答问题更相关的候选文档,从而缩小抽取问题所对应答案的规模。一般来说,从文档库中检索出预设数量的与待回答问题更相关的候选文档,该预设数量例如可以是K个。
需要说明的是,候选文档与待回答问题的相关性可以通过候选文档与待回答问题之间的相似度来体现。因此,可以根据相似度来检索第一目标文档。根据相似度确定第一目标文档的方式可以包括多种,例如若相似度按照从大到小的顺序排列,第一目标文档可以是排序在前K个的候选文档,或者,若相似度按照从小到大的顺序排列,第一目标文档可以是排序在后K个的候选文档。此时,第一目标文档可以称为topk个文档。
在本申请实施例中,服务器获取训练语料的方式可以包括多种。第一种方式可以是通过S201中构建的初始检索模块从候选文档中检索第一目标文档。
可以理解的是,通过初始检索模块从候选文档中检索第一目标文档的方式可以包括很多种,本申请实施例以其中一种为例进行详细介绍。初始检索模块可以以待回答问题和文档库中的候选文档作为输入,以第一目标文档为输出。具体的,通过初始检索模块对待回答问题和候选文档分别进行编码,得到待回答问题对应的第一向量序列和候选文档对应的第二向量序列,第一向量序列中包括待回答问题中每个字对应的字向量,第二向量序列中包括候选文档中每个字对应的字向量。然后,根据第一向量序列和第二向量序列分别计算待回答问题与每个候选文档之间的相似度,从而根据相似度确定第一目标文档。其中,相似度的种类可以包括多种,例如Jaccard相似度、余弦 (cosine)相似度等,本申请实施例主要以cosine相似度为例进行介绍。此时相似度计算公式可以如下所示:
S=cos(V1,V2)
其中,S表示相似度,V1表示第一向量序列,V2表示第二向量序列。
参见图3所示,文档库中包括候选文档,初始检索模块可以计算待回答问题与候选文档之间的相似度,进而根据相似度选择topK个候选文档(即相似度大小排序在前K个的候选文档)即第一目标文档(参加图3中301所示), topk个候选文档可以分别是候选文档1、候选文档2、候选文档3、……候选文档k,每个候选文档对应的相似度分别如图3所示,依次是0.93、0.89、 0.80、……、0.51。
需要说明的是,在本实施例中初始检索模块可以是各种能够从海量候选文档中挑选出部分候选文档作为第一目标文档的神经网络。由于该初始检索模块的输入分别是待回答问题和候选文档两个输入,且针对每个输入进行类似的处理。因此,基于该输入特性,本申请实施例所使用的初始检索模块可以为双塔模型。该双塔模型的结构可以参见图4所示,包括第一分支和第二分支,第一分支包括第一输入层410和第一表示层411,第二分支包括第二输入层420和第二表示层421,第一表示层411和第二表示层421分别与匹配层 430连接。这样,第一向量序列和第二向量序列的确定方式可以是通过第一输入层410获取待回答问题,并通过第一表示层411将待回答问题表示为第一向量序列;通过第二输入层420获取每个候选文档,并通过第二表示层421 将每个候选文档表示为第二向量序列。
在这种情况下,根据第一向量序列和第二向量序列分别计算待回答问题与每个候选文档之间的相似度的方式可以是,将第一向量序列和第二向量序列输入至匹配层430,通过匹配层430,根据第一向量序列和第二向量序列计算待回答问题与每个候选文档之间的相似度。
应理解,在得到第一向量序列和第二向量序列之前,可以将待回答问题和候选文档拆分成一个个字(token),然后初始检索模块根据待回答问题和候选文档分别对应的token序列生成第一向量序列和第二向量序列。
其中,初始检索模块中用于得到第一向量序列和第二向量序列的表示层可以是BERT模型、长短期记忆网络(Long Short-Term Memory,LSTM)模型、门控循环单元(GateRecurrent Unit,GRU)模型等,本申请实施例对此不作限定。由于BERT模型在多个任务上表现出了很好的性能,因此本实施例主要以BERT模型为例进行介绍。
以BERT模型为例,若待回答问题是“中国历史上第一个不平等条约是什么条约?”,一个候选文档是“《南京条约》是中国近代史上与外国签订的第一个不平等条约。道光二十二年(1842年),清朝在与英国的第一次鸦片战争中战败。清政府代表在泊于南京下关江面的英军旗舰康华丽号上与英国签署《江宁条约》,又称《中英南京条约》。”,首先待回答问题和每个候选文档会被拆分成一个个token。然后分别拼接上两个特殊字符“[CLS]”和“[SEP]”,得到待回答问题对应的token序列和该候选文档对应的token 序列(分别参见图5中501和图5中502所示)。接着这两个token序列通过一个BERT模型得到相应的向量表征,即分别得到第一向量序列和第二向量序列。值得注意的是这里对待回答问题和候选文档进行向量表征所使用的 BERT模型是同一个。最后通过匹配层,根据第一向量序列和第二向量序列计算待回答问题和该候选文档的cosine相似度(参见图5中503所示)。
然而,在一些情况下,由于刚构建出来的初始检索模块还没有很好的被训练,因此,为了保证检索到的第一目标文档的准确性,可以通过预训练得到的检索模块从候选文档中检索出第一目标文档,预训练得到的检索模块与初始检索模块的训练方式不同,可以是通过传统训练方式(如将检索模块和阅读模块分别独立训练的方式)得到的,预训练得到的检索模块例如可以是通过传统训练方式得到的BM25(词袋模型)。
S203、服务器根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练。
在一些实现方式中,检索模块和阅读模块都是分别独立训练得到的,而在实际使用过程中,检索模块的输出是阅读模块的输入,所以检索模块的结果是会影响阅读模块的效果的。如果检索模块变化了,会影响阅读模块的识别效果,如果检索模块效果提升,但由于二者独立训练,导致阅读模块无法依赖更好的检索模块,因此也无法收益。由此可以看出,阅读模块是可以从检索模块检索出来的更相关的候选文档中去更好的学习,这两个模块是可以相互促进的。基于此,本申请实施例提出了一个基于检索模块-阅读模块联合学习的问答模型,即针对构建的初始检索模块和初始阅读模块相互联合优化学习,相互促进,从而训练得到最终的目标问答模型,显著的提升了目标问答模型的效果。
可以理解的是,联合训练可以是指将初始检索模块和初始阅读模块向着共同的目标学习,因此,根据第一目标文档对初始检索模块和初始阅读模块进行联合训练的一种实现方式可以是构建初始检索模块对应的第一损失函数,以及根据第一目标文档构建初始阅读模块对应的第二损失函数。根据第一损失函数和第二损失函数确定初始问答模型对应的目标损失函数,例如可以将第一损失函数和第二损失函数之和作为目标损失函数。然后,根据目标损失函数调整初始检索模块和所述初始阅读模块的模型参数,以完成联合训练。
由于训练后得到的检索模块的作用可以是从海量候选文档中检索出第一目标文档,或者是在训练过程中更新第一目标文档,而第一目标文档可以是基于检索模块确定的待回答问题和候选文档之间的相似度确定的,因此,检索模块需要学习尽可能准确的预测相似度,初始检索模块具有类似的功能,初始检索模块的训练目标即尽可能准确的预测相似度。因此,构建初始检索模块对应的第一损失函数的方式可以是通过初始检索模块确定第三目标文档与待回答问题之间的相似度,以及第四目标文档与待回答问题之间的相似度。然后,根据第三目标文档与待回答问题之间的相似度,以及第四目标文档与待回答问题之间的相似度计算第一损失函数。
第三目标文档为候选文档中的任一正样本,第四目标文档为候选文档中的任一负样本,正样本为候选文档中与所述待回答问题相关的文档,负样本为候选文档中与所述待回答问题不相关的文档。第一损失函数的目标是希望初始检索模块针对第三目标文档得到的相似度越大越好,针对第四目标文档得到的相似度越小越好。第一损失函数可以表示为:
Loss1=max(0,M-S-+S+)
其中,Loss1表示第一损失函数,M为模型参数,S-表示第四目标文档与待回答问题之间的相似度,S+表示第三目标文档与待回答问题之间的相似度。
由于训练后得到的阅读模块的作用是从第一目标文档中抽取出答案(参见图3中302所示),即可以预测第一目标文档中答案开头和答案结尾,进而从中确定出答案。因此,阅读模块需要学习尽可能准确的预测答案开头和答案结尾,初始阅读模块也具有类似的功能,初始检索模块的训练目标即尽可能准确的预测答案开头和答案结尾。因此,根据第一目标文档构建初始阅读模块对应的第二损失函数的方式可以是将待回答问题和每个第一目标文档分别拼接输入至初始阅读模块,通过初始阅读模块确定第一目标文档中每个字向量作为答案开头的第一概率和答案结尾的第二概率。其中,预测每个字向量是答案开头或答案结尾的概率公式可以表示为:
Logiti=v*embi
Pi=softmax(Logiti)
其中,v表示模型参数,embi表示第i个字向量,Pi表示第i个字向量是答案开头或答案结尾的概率,若Pi表示为Pstart,则其表示第i个字向量是答案开头的第一概率,若Pi表示为Pend,则其表示第i个字向量是答案结尾的第二概率。
之后,根据第一概率和所述第二概率计算第二损失函数。第二损失函数的计算公式可以表示为:
Loss2=-logPstart-logPend
其中,Loss2表示第二损失函数,Pstart表示第一概率,Pend表示第二概率。
此时目标损失函数Loss=Loss1+Loss2,参见图3所示。
在一种可能的实现方式中,初始阅读模块也是一个BERT模型。和初始检索模块的输入有些不一样,初始阅读模块的输入是将待回答问题和第一目标文档拼接到一起,分别拼接上两个特殊字符“[CLS]”和“[SEP]”,并将待回答问题与第一目标文档用“[SEP]”隔开。参见图6所示,若待回答问题是“中国历史上第一个不平等条约是什么条约?”,一个第一目标文档是“《南京条约》是中国近代史上与外国签订的第一个不平等条约。道光二十二年(1842年),清朝在与英国的第一次鸦片战争中战败。清政府代表在泊于南京下关江面的英军旗舰康华丽号上与英国签署《江宁条约》,又称《中英南京条约》。”,二者拼接到一起后,两端分别拼接“[CLS]”和“[SEP]”,并将待回答问题与第一目标文档用“[SEP]”隔开,输入至作为初始阅读模块的 BERT模型,从而预测得到答案开头和答案结尾。
针对输入文本的处理方式和初始检索模块的一样,需要token化。然后将这个token序列通过一个BERT模型,得到每个token的表示向量。最后根据得到的token的表示向量去预测答案开头和答案结尾。
S204、在所述联合训练的过程中,服务器利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数。
S205、服务器根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止。
需要说明的是,在本申请实施例中,联合训练除了指将初始检索模块和初始阅读模块向着共同的目标学习,还可以指通过每次训练得到的初始检索模块不断的更新第一目标文档,以便将最新的检索结果提供给该次训练得到的初始阅读模块进行训练。初始阅读模块的训练也会影响初始检索模块的训练,从而相互促进。
基于前述对初始检索模块的介绍,利用第i次迭代训练后得到的初始检索模块对第i次迭代训练所使用的第一目标文档进行更新的方式可以是通过第i 次迭代训练后得到的初始检索模块对待回答问题和候选文档分别进行编码,得到待回答问题对应的第一向量序列和候选文档对应的第二向量序列。其中,第一向量序列中包括待回答问题中每个字对应的字向量,第二向量序列中包括候选文档中每个字对应的字向量。然后,根据第一向量序列和第二向量序列分别计算待回答问题与每个候选文档之间的相似度,进而根据相似度确定第二目标文档,并利用第二目标文档对第一目标文档进行更新,第二目标文档即为更新后的第一目标文档。
这样,在第i+1次迭代训练时,第i次迭代训练得到的初始检索模块便可以将更新后的第一目标文档提供给第i次迭代训练得到的初始阅读模块,从而进行第i+1次迭代训练,以此类推,直到满足迭代训练条件为止。
例如,利用第一目标文档对初始检索模块和初始阅读模块进行第一次迭代训练后,可以利用此时得到的初始检索模块从候选文档重新检索出与待回答问题更相关的候选文档(例如第二目标文档),来更新第一目标文档。然后,利用更新后的第一目标文档对第一次迭代训练得到的初始检索模块和初始阅读模块进行第二次迭代训练。接着,利用第二次迭代训练得到的初始检索模块从候选文档重新检索出与待回答问题更相关的候选文档,来更新第一次迭代训练使用的第一目标文档。然后,利用再次更新后的第一目标文档对第二次迭代训练得到的初始检索模块和初始阅读模块进行第三次迭代训练。以此类推,直到满足迭代训练条件。
S206、服务器根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
在满足迭代训练条件后,完成问答模型的训练,则服务器可以根据此时的模型参数和构建的初始问答模型的网络结构,确定目标问答模型。至此,完成问答模型的训练。
训练得到的目标问答模型可以提供给各种开放域问答场景中使用,当用户通过终端设备输入问题,例如“中国历史上第一个不平等条约是什么条约?”,终端设备可以将该问题发送至服务器,以便服务器利用该目标问答模型确定该问题对应的答案,并将答案返回至终端设备。终端设备可以将该答案提供给用户,例如可以向用户展示该答案,或者向用户语音播放该答案。
由上述技术方案可以看出,为了实现开放域问答,需要训练得到问答模型。在训练问答模型时,构建包括初始检索模块和初始阅读模块得初始问答模型。获取包括第一目标文档的训练语料,第一目标文档中包括待回答问题对应的答案,然后根据第一目标文档对初始检索模块和初始阅读模块进行联合训练。在联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数,以便根据更新后的第一目标文档对第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止。根据满足迭代训练条件时的模型参数和初始问答模型的网络结构,确定目标问答模型。由于初始检索模块和初始阅读模块联合学习训练,即第i次迭代训练后得到的初始检索模块实时提供最新的检索结果(即更新后的第一目标文档) 给第i次迭代训练后得到的初始阅读模块,初始阅读模块的训练也会影响初始检索模块,使得这两个模块相互促进,可以显著的提升问答模型的效果,进而提高开放域问答的准确性。
接下来,将结合实际应用场景对本申请实施例提供的问答模型的训练方法进行介绍。在开放域问答场景下,例如智能问答服务中,为了在用户提出问题时,可以准确地确定该问题所对应的答案,从而为用户回答该问题,可以预先训练得到问答模型。该问答模型包括检索模块和阅读模块两部分,因此,为了提高问答模型的效果,可以基于检索模块和阅读模块联合学习的方式完成问答模型的训练。参见图7,可以基于图2所示的联合训练方法训练问答模型,以用于智能问答服务,所述方法包括:
S701、服务器创建初始问答模型。
初始问答模型包括初始检索模块和初始阅读模块。
S702、服务器通过初始检索模块获取topK个候选文档作为第一目标文档。
其中,第一目标文档中包括待回答问题对应的答案,第一目标文档可以作为训练初始检索模块和初始阅读模块的训练语料。
S703、服务器将第一目标文档提供给初始阅读模块,根据第一目标文档对初始检索模块和初始阅读模块进行迭代训练。
S704、服务器确定是否满足迭代训练条件,若满足,执行S705,若不满足,执行S702。
也就是说,在完成一次迭代训练后,若不满足迭代训练条件,则利用该次迭代训练得到的初始检索模块重新检索topK个候选文档,以对第一目标文档进行更新,从而将更新后的第一目标文档提供给此次训练得到的初始阅读模块,继续进行下一次迭代训练,直到满足迭代训练条件为止。
S705、服务器确定目标问答模型。
服务器可以根据迭代训练最终调整后的模型参数和初始问答模型的网络结构确定目标问答模型。
S706、当用户通过终端设备输入问题时,服务器获取该问题。
S707、服务器通过该目标问答模型确定该问题对应的答案。
S708、服务器向终端设备返回该答案。
S709、终端设备向用户语音播放该答案。
由上述技术方案可以看出,为了实现开放域问答,需要训练得到问答模型。在训练问答模型时,构建包括初始检索模块和初始阅读模块得初始问答模型。获取包括第一目标文档的训练语料,第一目标文档中包括待回答问题对应的答案,然后根据第一目标文档对初始检索模块和初始阅读模块进行联合训练。在联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数,以便根据更新后的第一目标文档对第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止。根据满足迭代训练条件时的模型参数和初始问答模型的网络结构,确定目标问答模型。由于初始检索模块和初始阅读模块联合学习训练,即第i次迭代训练后得到的初始检索模块实时提供最新的检索结果(即更新后的第一目标文档) 给第i次迭代训练后得到的初始阅读模块,初始阅读模块的训练也会影响初始检索模块,使得这两个模块相互促进,可以显著的提升问答模型的效果,进而提高开放域问答的准确性。
基于图2对应实施例提供的问答模型的训练方法,本申请实施例还提供一种问答模型的训练装置,参见图8,所述装置800包括构建单元801、获取单元802、训练单元803和确定单元804:
所述构建单元801,用于构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
所述获取单元802,用于获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
所述训练单元803,用于根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;根据更新后的所述第一目标文档对所述第i 次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
所述确定单元804,用于根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
在一种可能的实现方式中,所述训练单元803,用于:
通过所述第i次迭代训练后得到的初始检索模块对所述待回答问题和候选文档分别进行编码,得到所述待回答问题对应的第一向量序列和所述候选文档对应的第二向量序列,所述第一向量序列中包括所述待回答问题中每个字对应的字向量,所述第二向量序列中包括所述候选文档中每个字对应的字向量;
根据所述第一向量序列和所述第二向量序列分别计算所述待回答问题与每个所述候选文档之间的相似度;
根据所述相似度确定第二目标文档,并利用所述第二目标文档对所述第一目标文档进行更新,所述第二目标文档为所述更新后的所述第一目标文档。
在一种可能的实现方式中,所述训练单元803,用于:
构建所述初始检索模块对应的第一损失函数,以及根据所述第一目标文档构建所述初始阅读模块对应的第二损失函数;
根据所述第一损失函数和所述第二损失函数确定所述初始问答模型对应的目标损失函数;
根据所述目标损失函数调整所述初始检索模块和所述初始阅读模块的模型参数。
在一种可能的实现方式中,所述训练单元803,用于:
通过所述初始检索模块确定第三目标文档与所述待回答问题之间的相似度,以及第四目标文档与所述待回答问题之间的相似度,所述第三目标文档为所述候选文档中的任一正样本,所述第四目标文档为所述候选文档中的任一负样本,正样本为所述候选文档中与所述待回答问题相关的文档,负样本为所述候选文档中与所述待回答问题不相关的文档;
根据所述第三目标文档与所述待回答问题之间的相似度,以及所述第四目标文档与所述待回答问题之间的相似度计算所述第一损失函数。
在一种可能的实现方式中,所述训练单元803,用于:
将所述待回答问题和每个所述第一目标文档分别拼接输入至所述初始阅读模块;
通过所述初始阅读模块确定所述第一目标文档中每个字向量作为答案开头的第一概率和答案结尾的第二概率;
根据所述第一概率和所述第二概率计算所述第二损失函数。
在一种可能的实现方式中,所述获取单元802,用于:
通过所述初始检索模块从候选文档中检索所述第一目标文档;
或者,通过预训练得到的检索模块从候选文档中检索所述第一目标文档,所述预训练得到的检索模块与所述初始检索模块的训练方式不同。
在一种可能的实现方式中,所述获取单元802,用于:
通过所述初始检索模块对所述待回答问题和候选文档分别进行编码,得到所述待回答问题对应的第一向量序列和所述候选文档对应的第二向量序列,所述第一向量序列中包括所述待回答问题中每个字对应的字向量,所述第二向量序列中包括所述候选文档中每个字对应的字向量;
根据所述第一向量序列和所述第二向量序列分别计算所述待回答问题与每个所述候选文档之间的相似度;
根据所述相似度确定所述第一目标文档。
在一种可能的实现方式中,所述初始检索模块为双塔模型,所述双塔模型包括第一分支和第二分支,所述第一分支包括第一输入层和第一表示层,所述第二分支包括第二输入层和第二表示层,所述第一表示层和所述第二表示层分别与匹配层连接,所述获取单元802,用于:
通过所述第一输入层获取所述待回答问题,并通过所述第一表示层将所述待回答问题表示为所述第一向量序列;
通过所述第二输入层获取每个所述候选文档,并通过所述第二表示层将每个所述候选文档表示为所述第二向量序列;
根据所述第一向量序列和所述第二向量序列分别计算所述待回答问题与每个所述候选文档之间的相似度,包括:
通过所述匹配层,根据所述第一向量序列和所述第二向量序列计算所述待回答问题与每个所述候选文档之间的相似度。
在一种可能的实现方式中,若所述相似度按照从大到小的顺序排列,所述第一目标文档和更新后的所述第一目标文档是排序在前K个的候选文档;
或者,若所述相似度按照从小到大的顺序排列,所述第一目标文档和更新后的所述第一目标文档是排序在后K个的候选文档。
本申请实施例还提供了一种用于问答模型的训练设备,该设备可以是数据处理设备,用于问答模型的训练方法,该设备可以是终端设备,以终端设备为智能手机为例:
图9示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图。参考图9,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路910、存储器920、输入单元930、显示单元940、传感器 950、音频电路960、无线保真(英文全称:wireless fidelity,英文缩写:WiFi) 模块970、处理器980、以及电源990等部件。输入单元930可包括触控面板 931以及其他输入设备932,显示单元940可包括显示面板941,音频电路960 可以包括扬声器961和传声器962。本领域技术人员可以理解,图9中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器980是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器 980中。
在本实施例中,所述终端设备中的处理器980可以执行以下步骤;
构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;
在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;
根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
该设备还可以包括服务器,本申请实施例还提供服务器,请参见图10所示,图10为本申请实施例提供的服务器1000的结构图,服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器 (Central Processing Units,简称CPU)1022(例如,一个或一个以上处理器) 和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质 1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质 1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在服务器1000上执行存储介质1030中的一系列指令操作。
服务器1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
在本实施例中,所述服务器1000中的中央处理器1022可以执行以下步骤;
构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;
在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;
根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的问答模型的训练方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等 (如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种问答模型的训练方法,其特征在于,所述方法包括:
构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;
在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;
根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
2.根据权利要求1所述的方法,其特征在于,所述利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,包括:
通过所述第i次迭代训练后得到的初始检索模块对所述待回答问题和候选文档分别进行编码,得到所述待回答问题对应的第一向量序列和所述候选文档对应的第二向量序列,所述第一向量序列中包括所述待回答问题中每个字对应的字向量,所述第二向量序列中包括所述候选文档中每个字对应的字向量;
根据所述第一向量序列和所述第二向量序列分别计算所述待回答问题与每个所述候选文档之间的相似度;
根据所述相似度确定第二目标文档,并利用所述第二目标文档对所述第一目标文档进行更新,所述第二目标文档为所述更新后的所述第一目标文档。
3.根据权利要求1所述的方法,其特征在于,根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练,包括:
构建所述初始检索模块对应的第一损失函数,以及根据所述第一目标文档构建所述初始阅读模块对应的第二损失函数;
根据所述第一损失函数和所述第二损失函数确定所述初始问答模型对应的目标损失函数;
根据所述目标损失函数调整所述初始检索模块和所述初始阅读模块的模型参数。
4.根据权利要求3所述的方法,其特征在于,所述构建所述初始检索模块对应的第一损失函数,包括:
通过所述初始检索模块确定第三目标文档与所述待回答问题之间的相似度,以及第四目标文档与所述待回答问题之间的相似度,所述第三目标文档为所述候选文档中的任一正样本,所述第四目标文档为所述候选文档中的任一负样本,正样本为所述候选文档中与所述待回答问题相关的文档,负样本为所述候选文档中与所述待回答问题不相关的文档;
根据所述第三目标文档与所述待回答问题之间的相似度,以及所述第四目标文档与所述待回答问题之间的相似度计算所述第一损失函数。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一目标文档构建所述初始阅读模块对应的第二损失函数,包括:
将所述待回答问题和每个所述第一目标文档分别拼接输入至所述初始阅读模块;
通过所述初始阅读模块确定所述第一目标文档中每个字向量作为答案开头的第一概率和答案结尾的第二概率;
根据所述第一概率和所述第二概率计算所述第二损失函数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取训练语料,包括:
通过所述初始检索模块从候选文档中检索所述第一目标文档;
或者,通过预训练得到的检索模块从候选文档中检索所述第一目标文档,所述预训练得到的检索模块与所述初始检索模块的训练方式不同。
7.根据权利要求6所述的方法,其特征在于,所述通过所述初始检索模块从候选文档中检索所述第一目标文档,包括:
通过所述初始检索模块对所述待回答问题和候选文档分别进行编码,得到所述待回答问题对应的第一向量序列和所述候选文档对应的第二向量序列,所述第一向量序列中包括所述待回答问题中每个字对应的字向量,所述第二向量序列中包括所述候选文档中每个字对应的字向量;
根据所述第一向量序列和所述第二向量序列分别计算所述待回答问题与每个所述候选文档之间的相似度;
根据所述相似度确定所述第一目标文档。
8.根据权利要求7所述的方法,其特征在于,所述初始检索模块为双塔模型,所述双塔模型包括第一分支和第二分支,所述第一分支包括第一输入层和第一表示层,所述第二分支包括第二输入层和第二表示层,所述第一表示层和所述第二表示层分别与匹配层连接,所述通过所述初始检索模块对所述待回答问题和候选文档分别进行编码,得到所述待回答问题对应的第一向量序列和所述候选文档对应的第二向量序列:
通过所述第一输入层获取所述待回答问题,并通过所述第一表示层将所述待回答问题表示为所述第一向量序列;
通过所述第二输入层获取每个所述候选文档,并通过所述第二表示层将每个所述候选文档表示为所述第二向量序列;
根据所述第一向量序列和所述第二向量序列分别计算所述待回答问题与每个所述候选文档之间的相似度,包括:
通过所述匹配层,根据所述第一向量序列和所述第二向量序列计算所述待回答问题与每个所述候选文档之间的相似度。
9.根据权利要求2、7或8任一项所述的方法,其特征在于,若所述相似度按照从大到小的顺序排列,所述第一目标文档和更新后的所述第一目标文档是排序在前K个的候选文档;
或者,若所述相似度按照从小到大的顺序排列,所述第一目标文档和更新后的所述第一目标文档是排序在后K个的候选文档。
10.一种问答模型的训练装置,其特征在于,所述装置包括构建单元、获取单元、训练单元和确定单元:
所述构建单元,用于构建初始问答模型,所述初始问答模型包括初始检索模块和初始阅读模块;
所述获取单元,用于获取训练语料,所述训练语料中包括第一目标文档,所述第一目标文档中包括待回答问题对应的答案;
所述训练单元,用于根据所述第一目标文档对所述初始检索模块和所述初始阅读模块进行联合训练;
在所述联合训练的过程中,利用第i次迭代训练后得到的初始检索模块对所述第i次迭代训练所使用的第一目标文档进行更新,i为大于或等于1的整数;
根据更新后的所述第一目标文档对所述第i次迭代训练后得到的初始检索模块和初始阅读模块分别进行第i+1次迭代训练,直到满足迭代训练条件为止;
所述确定单元,用于根据满足所述迭代训练条件时的模型参数和所述初始问答模型的网络结构,确定目标问答模型。
11.一种用于问答模型的训练设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-9任一项所述的方法。
CN202110523567.7A 2021-05-13 2021-05-13 一种问答模型的训练方法、装置、设备及存储介质 Pending CN113761152A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110523567.7A CN113761152A (zh) 2021-05-13 2021-05-13 一种问答模型的训练方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110523567.7A CN113761152A (zh) 2021-05-13 2021-05-13 一种问答模型的训练方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113761152A true CN113761152A (zh) 2021-12-07

Family

ID=78787086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110523567.7A Pending CN113761152A (zh) 2021-05-13 2021-05-13 一种问答模型的训练方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113761152A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115146049A (zh) * 2022-09-01 2022-10-04 科大讯飞(苏州)科技有限公司 问答检索方法、模型训练方法及装置、设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115146049A (zh) * 2022-09-01 2022-10-04 科大讯飞(苏州)科技有限公司 问答检索方法、模型训练方法及装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN110188331B (zh) 模型训练方法、对话系统评价方法、装置、设备及存储介质
CN108829822B (zh) 媒体内容的推荐方法和装置、存储介质、电子装置
CN109086303B (zh) 基于机器阅读理解的智能对话方法、装置、终端
CN111930992B (zh) 神经网络训练方法、装置及电子设备
CN111192692B (zh) 一种实体关系的确定方法、装置、电子设备及存储介质
CN110163181B (zh) 手语识别方法及装置
CN109271493A (zh) 一种语言文本处理方法、装置和存储介质
CN111400601B (zh) 一种视频推荐的方法及相关设备
CN112214593A (zh) 问答处理方法、装置、电子设备及存储介质
CN114627863A (zh) 一种基于人工智能的语音识别方法和装置
CN111291187B (zh) 一种情感分析方法、装置、电子设备及存储介质
CN112579752A (zh) 实体关系的抽取方法及装置、存储介质、电子设备
CN112380421A (zh) 简历的搜索方法、装置、电子设备及计算机存储介质
CN113342948A (zh) 一种智能问答方法及装置
CN115510194A (zh) 问答语句检索方法、装置、电子设备及存储介质
CN114490926A (zh) 一种相似问题的确定方法、装置、存储介质及终端
CN112307048B (zh) 语义匹配模型训练方法、匹配方法、装置、设备及存储介质
CN113722436A (zh) 文本信息提取方法、装置、计算机设备及存储介质
CN113761152A (zh) 一种问答模型的训练方法、装置、设备及存储介质
CN113569018A (zh) 问答对挖掘方法及装置
CN116680387A (zh) 基于检索增强的对话答复方法、装置、设备及存储介质
CN115062123A (zh) 一种对话生成系统的知识库问答对生成方法
CN111222011B (zh) 一种视频向量确定方法和装置
CN115017886A (zh) 文本匹配方法、文本匹配装置、电子设备及存储介质
CN114428838A (zh) 内容召回方法、装置、计算机设备及存储介质

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