CN117669512B - 答案生成方法、装置、设备及存储介质 - Google Patents
答案生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117669512B CN117669512B CN202410140323.4A CN202410140323A CN117669512B CN 117669512 B CN117669512 B CN 117669512B CN 202410140323 A CN202410140323 A CN 202410140323A CN 117669512 B CN117669512 B CN 117669512B
- Authority
- CN
- China
- Prior art keywords
- text
- sample
- segment
- question
- answer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 92
- 239000012634 fragment Substances 0.000 claims abstract description 214
- 239000013598 vector Substances 0.000 claims abstract description 208
- 238000012549 training Methods 0.000 claims description 38
- 238000000605 extraction Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 9
- 238000004821 distillation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013140 knowledge distillation Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供了一种答案生成方法、装置、设备及存储介质,方法包括:基于目标文本中的各段落在目标文本中的位置,确定N个文本片段;基于预设长度对每个段落进行划分,得到每个段落对应的至少一个子片段,每个子片段对应的文本长度小于预设长度;由第一编码器提取针对目标文本的问题的向量表示;由第二编码器提取每个子片段的向量表示;基于N个文本片段中各文本片段中子片段的向量表示和问题的向量表示,从N个文本片段中确定问题的答案所在的候选文本片段;通过生成式语言模型基于候选文本片段和问题进行答案生成,得到问题的答案。通过采用上述的答案生成方法,可以有效提升生成的答案的准确性。
Description
技术领域
本申请涉及信息处理技术领域,更具体地,涉及一种答案生成方法、装置、设备及存储介质。
背景技术
随着神经网络技术的快速发展,如何实现快速且准确地从文本中提取人们所需获知的信息,受到越来越多的关注。在从文本中提取所需获知的信息时,通常需要先获得针对文本提出的问题,之后,将问题和文本转化为计算机可以理解和处理的形式后从文本中获取问题的答案。为了实现这一目标,通常使用深度学习技术,例如循环神经网络(RecurrentNeural Network RNN)、卷积神经网络(Convolutional Neural Network,CNN)和注意力机制(Attention Mechanism)等。
但是,相关技术中在利用上述的深度学习技术在从文本中获取与问题对应的答案时,受到机器学习模型的输入限制及模型结构限制等,存在利用机器学习模型提取的文本特征不完整或不准确,从而导致生成的答案不够准确的问题。
发明内容
有鉴于此,本申请实施例提出了一种答案生成方法、装置、设备及存储介质,可以实现对文本中的长文本片段进行准确的理解,从而基于长文本片段的理解准确确定出问题的答案所在长文本片段,以基于确定的长文本片段和问题准确获得问题的答案。
第一方面,本申请实施例提供了一种答案生成方法,方法包括:获取目标文本和针对目标文本提出的问题,所述目标文本中包括M个段落,所述M为正整数;基于各段落在所述目标文本中的位置,确定N个文本片段,一个文本片段包括所述目标文本中至少两个连续的段落,N为正整数;基于预设长度对每个所述段落进行划分,得到每个段落对应的至少一个子片段,每个所述子片段对应的文本长度小于预设长度;由第一编码器提取所述问题的向量表示;由第二编码器提取每个所述子片段的向量表示,所述预设长度不超过所述第二编码器的最大输入长度;基于所述N个文本片段中各文本片段中子片段的向量表示和所述问题的向量表示,从所述N个文本片段中确定所述问题的答案所在的候选文本片段;通过生成式语言模型基于所述候选文本片段和所述问题进行答案生成,得到所述问题的答案。
第二方面,本申请实施例提供了一种答案生成装置,装置包括:获取模块、片段确定模块、片段划分模块、第一向量提取模块、第二向量提取模块、片段选取模块以及答案生成模块;获取模块,用于获取目标文本和针对目标文本提出的问题,所述目标文本中包括M个段落,所述M为正整数;片段确定模块,用于基于各段落在所述目标文本中的位置,确定N个文本片段,一个文本片段包括所述目标文本中至少两个连续的段落,N为正整数;片段划分模块,用于基于预设长度对每个所述段落进行划分,得到每个段落对应的至少一个子片段,每个所述子片段对应的文本长度小于预设长度;第一向量提取模块,用于利用第一编码器提取所述问题的向量表示;第二向量提取模块,用于利用第二编码器提取每个所述子片段的向量表示,所述预设长度不超过所述第二编码器的最大输入长度;片段选取模块,用于基于所述N个文本片段中各文本片段中子片段的向量表示和所述问题的向量表示,从所述N个文本片段中确定所述问题的答案所在的候选文本片段;答案生成模块,用于通过生成式语言模型基于所述候选文本片段和所述问题进行答案生成,得到所述问题的答案。
在一种可实施方式中,所述片段选取子模块包括:向量组合子模块、相似度确定子模块以及片段选取子模块,向量组合子模块,用于将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列;相似度确定子模块,用于根据各文本片段的语义特征序列和所述问题的向量表示,确定各文本片段与所述问题之间的语义相似度;片段选取子模块,用于根据所述各文本片段与所述问题之间的语义相似度,从所述N个文本片段中确定与所述问题之间的语义相似度最高的K个文本片段,作为所述候选文本片段;K为不超过N的正整数。
在一种可实施方式中,所述问题的向量表示包括所述问题中每个问题词的向量表示,所述子片段的向量表示包括所述子片段中每个词的向量表示;所述文本片段的语义特征序列包括所述文本片段中每个词的向量表示;相似度确定子模块,用于基于各问题词的向量表示和各所述文本片段中各词的向量表示,确定各问题词与各所述文本片段中各词之间的词粒度相似度;根据各问题词与各所述文本片段中各词之间的词粒度相似度,确定各所述文本片段与各所述问题词之间的最大词粒度相似度;基于各所述文本片段与各所述问题词之间的最大词粒度相似度,确定所述问题与各所述文本片段之间的语义相似度。
在一种可实施方式中,相似度确定子模块,还用于针对各文本片段,将所述问题中每个问题词与该文本片段之间的最大词粒度相似度相加,得到所述问题与该文本片段之间的语义相似度。
在一种可实施方式中,所述第一编码器和第二编码器为检索模型中的编码器,所述装置还包括第一预测模块、第二预测模块、模型损失获得模块以及模型训练模块;获取模块,还用于获取样本集,所述样本集包括多个样本组,每个样本组包括一个针对样本文本提出的样本问题和所述样本文本中的样本文本片段,所述样本文本片段包括样本文本中至少两个连续的样本段落,所述样本段落中各样本子片段的文本长度小于所述预设长度;第一预测模块,用于利用训练后的参考检索模型基于所述样本问题和所述样本文本中的所述样本文本片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率;所述参考检索模型的网络规模大于所述检索模型的网络规模;第二预测模块,用于利用所述检索模型基于所述样本问题和各所述样本文本片段中的样本子片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第二预测概率;模型损失获得模块,用于基于所述样本问题对应的答案位于各所述样本文本片段的第一预测概率和所述样本问题对应的答案位于各所述样本文本片段的第二预测概率,获得模型损失;模型训练模块,用于基于所述模型损失调整所述第一编码器和第二编码器的参数,得到训练后的第一编码器和第二编码器。
在一种可实施方式中,第一预测模块,还用于对所述样本问题和各所述样本文本片段分别进行拼接,得到各样本文本片段对应的拼接文本;由所述训练后的参考检索模型对各所述拼接文本中的样本问题和样本文本片段进行交叉编码,得到各所述拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度;基于各所述拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率。
在一种可实施方式中,所述样本组还包括各所述样本文本片段的答案标签;模型损失获得模块,还用于基于各所述样本文本片段的答案标签和所述样本问题对应的答案位于各所述样本文本片段的第一预测概率,确定第一损失;计算第一预测概率与第二预测概率之间的第二损失;基于所述第一损失和所述第二损失,获得模型损失。
在一种可实施方式中,所述训练后的参考检索模型为语言模型,第一预测模块,还用于将样本问题和所述样本文本中的样本文本片段进行组合,生成包括样本问题和所述样本文本片段的提示信息;利用所述语言模型基于提示信息进行答案位置预测,输出所述样本问题对应的答案位于各所述样本文本片段的第一预测概率。
第三方面,本申请实施例提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质获取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的方法。
本申请实施例提供的一种答案生成方法、装置、设备及存储介质,方法包括:获取目标文本和针对目标文本提出的问题,目标文本中包括M个段落,M为正整数;基于各段落在目标文本中的位置,确定N个文本片段,一个文本片段包括目标文本中至少两个连续的段落,N为正整数;基于预设长度对每个段落进行划分,得到每个段落对应的至少一个子片段,每个子片段对应的文本长度小于预设长度;由第一编码器提取问题的向量表示;由第二编码器提取每个子片段的向量表示,预设长度不超过第二编码器的最大输入长度;基于N个文本片段中各文本片段中子片段的向量表示和问题的向量表示,从N个文本片段中确定问题的答案所在的候选文本片段;通过生成式语言模型基于候选文本片段和问题进行答案生成,得到问题的答案。通过采用上述方法,将段落划分为不超过第二编码器的最大输入长度的子片段后,可以使利用第二编码器对子片段提取到的向量表示不会出现特征丢失的情况,之后,从N个文本片段中确定问题的答案所在的候选文本片段时,充分使用了N文本片段中的各个子片段的准确的向量表示,从而保障了确定出的候选文本片段的准确性,最后,在利用生成式语言模型基于候选文本片段生成问题的答案时,由于候选文本片段通常远低于目标文本的长度,且通过采用上述方法获得候选文本片段相比于目标文本而言,候选文本片段的长度更符合生成式语言模型的输入长度,且每个文本片段中包括至少两个连续的段落,因此,在问题的答案在出现在跨段落的文本片段中时,通过利用生成式语言模型基于候选文本片段和问题可以得到更准确且更自然连贯的答案。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种答案生成方法的应用场景图;
图2示出了本申请实施例提出的一种答案生成方法的流程示意图;
图3为图2中步骤S160的流程示意图;
图4示出了本申请实施例提出的一种利用参考检索模型对问题和子片段进行向量提取及处理的示意图;
图5示出了本申请实施例提出的一种参考检索模型的训练过程的流程示意图;
图6为图5中步骤S220的流程示意图;
图7为图5中步骤S240的流程示意图;
图8示出了本申请实施例提出的一种参考检索模型的训练过程的示意图;
图9为图5中步骤S220的另一流程示意图;
图10示出了本申请实施例提出的一种参考检索模型的另一训练过程的示意图;
图11示出了本申请实施例提供的一种对目标文档进行答案生成的应用示意图;
图12示出了本申请实施例提出的一种答案生成装置的连接框图;
图13示出了用于执行本申请实施例的方法的电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,并发挥越来越重要的价值。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。以人工智能应用在机器学习上为例进行说明:
其中,机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。本申请的方案主要是利用机器学习进行答案生成。
利用机器学习模型进行答案生成的过程通常包括两个阶段,一个是理解阶段,一个是答案生成阶段。其中,理解阶段是指,利用模型对输入的文本进行阅读理解,即理解文本的含义和结构。理解阶段的关键在于如何将自然语言文本转化为计算机可以理解和处理的形式。为了实现这一目标,理解阶段所采用的模型通常使用深度学习技术,例如循环神经网络 (Recurrent Neural Network,RNN)、卷积神经网络(Convolutional NeuralNetwork,CNN) 和注意力机制(Attention Mechanism)等。具体的,涉及到文本的分词、词性标注、实体识别、句法分析等自然语言处理技术。在理解的过程中,模型需要理解文本中的关键信息、逻辑关系和语义含义,以便后续回答相关问题;答案生成阶段是指,根据输入的问题和阅读理解的结果,生成与问题相关的答案。这通常涉及到文本的推理、逻辑推断、知识表示等技术。在答案生成阶段,模型需要将理解阶段获得的结果与问题进行匹配,找到最合适的答案,并生成自然语言文本作为答案输出。
以下,将结合附图描述本申请的各个实施例:
图1是根据本申请一实施例示出答案生成方法的应用场景的示意图,如图1所示,该应用场景包括终端设备10和通过网络与终端设备10通信连接的服务器20。
终端设备10具体可以是手机、电脑或平板电脑、车载终端、智能电视等可以与用户进行交互的设备,终端设备10可以运行用于展示数据(如,展示候选文本片段、问题以及问题的答案)的客户端。
网络可以是广域网或者局域网,或者是二者的组合。
服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
若利用如图1中的终端设备10和服务器20进行答案生成时,终端设备10可以向服务器20发送目标文本和针对目标文本提出的问题。服务器20在获取到目标文本和针对目标文本提出的问题之后,基于各段落在目标文本中的位置,确定N个文本片段,一个文本片段包括目标文本中至少两个连续的段落,N为正整数;基于预设长度对每个段落进行划分,得到每个段落对应的至少一个子片段,每个子片段对应的文本长度小于预设长度;由第一编码器提取问题的向量表示;由第二编码器提取每个子片段的向量表示,预设长度不超过第二编码器的最大输入长度;基于N个文本片段中各文本片段中子片段的向量表示和问题的向量表示,从N个文本片段中确定问题的答案所在的候选文本片段;通过生成式语言模型基于候选文本片段和问题进行答案生成,得到问题的答案。服务器20在得到问题的答案后,向终端设备10反馈候选文本片段、问题以及问题的答案,以使终端设备10的客户端展示候选文本片段、问题以及问题的答案。
采用本申请的答案生成方法,将段落划分为不超过第二编码器的最大输入长度的子片段后,可以使利用第二编码器对子片段提取到的向量表示不会出现特征丢失的情况,之后,从N个文本片段中确定问题的答案所在的候选文本片段时,充分使用了N文本片段中的各个子片段的准确的向量表示,从而保障了确定出的候选文本片段的准确性,最后,在利用生成式语言模型基于候选文本片段生成问题的答案时,由于候选文本片段通常远低于目标文本的长度,且通过采用上述方法获得候选文本片段相比于目标文本而言,候选文本片段的长度更符合生成式语言模型的输入长度,且每个文本片段中包括至少两个连续的段落,因此,在问题的答案在出现在跨段落的文本片段中时,通过利用生成式语言模型基于候选文本片段和问题可以得到更准确且更自然连贯的答案。
需要说明的是,本申请实施例的应用场景包括但不限于图1所示。
下面将结合附图具体描述本申请的各实施例。
请阅图2,图2所示为本申请还提供一种答案生成方法,可以应用于电子设备,电子设备可以是终端设备或服务器,方法具体包括以下步骤:
步骤S110:获取目标文本和针对目标文本提出的问题。
目标文本中包括M个段落,M为正整数。
其中,目标文本可以是但不限于新闻、资讯、散文、诗歌以及信息介绍类的文本等等,目标文本的长度可以是任意的。
针对目标文本提出的问题的类型可以是任意的,且针对不同的目标文本,提出的问题可能各不相同,问题对应的答案可以是基于目标文本直接抽取得到,也可以需要对目标文本进行总结得到。
示例性地,若目标文本为新闻或资讯文本,具体包括某市在下一年度交通、教育、医疗以及公园等项目上的投资计划介绍信息以及该市的短期和长期规划,且该目标文本中的第1-12段介绍了投资介绍信息具体包括某市的不同片区内的交通投资(1-3段),不同学校的投资信息(4-7段)以及不同医院的投资信息(8-10段)和不同公园的投资信息(11-12段),若针对该目标文本提出的问题为“某一项目的计划总投资是多少”,则该问题对应的答案需要对目标文本的部分段落进行总结得到;若针对目标文本提出的问题为“某公园或某学校的计划投资是多少”,则该问题对应的答案可以直接从目标文本中提取得到。
获取目标文本和对应的问题的方式可以有多种,若本申请的方法执行主体为终端设备,也就是说,该终端设备具有答案生成的能力,可以对目标文本进行阅读理解,并对针对目标文本提出的问题进行作答。基于此,用户可以直接将该目标文本和问题输入至该终端设备,也可以从存储器、目标网页或服务器中获取目标文本,并向终端设备中输入针对该目标文本提出的问题或者从存储器中获取目标文本对应的问题,以使该终端设备在后续能够执行本申请实施例的方法,对该目标文本进行阅读理解,并对该问题进行作答,输出该问题的答案。
其中,在本申请实施例中,用户对目标文本和问题的输入方式可以是通过键盘输入,也可以通过语音方式输入,或者通过手势等方式输入,本申请实施例对输入方式不做限制。
若本申请的方法执行主体为服务器,则服务器可以接收用户通过终端上传的目标文本及对应的问题,也可以从网页、数据库或其他服务器中获取目标文本并接收用户通过上传的针对目标文本的问题,应当理解,上述获取目标文本及对应的问题的方式仅为示意性的,还可以有更多的获取方式,此处不作具体限定。以使服务器在后续能够执行本申请实施例的方法,对该目标文本进行阅读理解,并对该问题进行作答,输出该问题的答案。
步骤S120:基于各段落在目标文本中的位置,确定N个文本片段。
其中,一个文本片段包括目标文本中至少两个连续的段落,N为正整数。
具体的,可以基于各段落在目标文本中的位置,对目标文本进行划分得到N个文本片段时,目标文本中的每个段落至少对应有一个文本片段。
其中,N个文本片段中各文本片段的包括的段落数量可以是相同的,也可以是不同的,可以根据实际需求进行设置。
示例性的,以目标文本包括M个段落,N个文本片段中各文本片段的包括的段落数量相同且为L个段落为例,则具体的划分方式可以是,基于各段落在目标文本中的位置,将目标文本中的第0到L个段落划分到第一个文本片段,将目标文本中的第n到n+L个段落划分到第二个文本片段,将目标文本中的第2n到2n+L个段落划分到第3个文本片段,直至将第(N-1)*n到第M个段落划分得到第N 个文本片段,其中,n为小于L的整数,L为大于或等于2的整数。
目标文本包括多个段落,各段落对应的文本长度差异较大,如目标文本中存在连续多个段落中各段落的文本长度较小,且均小于指定长度阈值,则可以在划分时,向该多个段落各自对应的文本片段中划分较多的段落,也即,可以根据各段落在目标文本中的位置和各段落对应的文本长度对目标文本进行划分,得到N个文本片段,划分得到的N个文本片段中,各文本片段对应的总文本长度趋于一致。
示例性的,在目标文本的第2-8段的文本长度均远小于其他段落时,可以将第1-2段划分为第一文本片段,2-8段划分为第二文本片段,第8-9段划分为第三文本片段,目标文本的其他剩余段落每相邻两段划分到一个文本片段以得到多个文本片段。以使对目标文本进行划分得到的各文本片段对应的总文本长度趋于一致。
应当理解,上述确定基于各段落在目标文本中的位置,确定N个文本片段的方式仅为示意性的,还可以有更多的确定方式,在此不作具体限定。
步骤S130:基于预设长度对每个段落进行划分,得到每个段落对应的至少一个子片段,每个子片段对应的文本长度小于预设长度。
上述的预设长度可以根据对子片段进行编码的编码器的最大输入长度确定,不同类型的编码器对应的最大输入长度不同。
示例性的,若对子片段进行编码的编码器的最大输入长度为512,则预设长度也为512。若对子片段进行编码的编码器的最大输入长度为1024,则预设长度也为1024。上述编码器的最大输入长度仅为示意性的,根据编码器所选用的网络模型的选择不同,对应的编码器的最大输入长度可能不同。
步骤S140:由第一编码器提取问题的向量表示。
步骤S150:由第二编码器提取每个子片段的向量表示,预设长度不超过第二编码器的最大输入长度。
在一种可实施方式中,第一编码器可以是训练好的特征提取模型,用于提取问题的特征信息,将该问题的特征信息记为该问题的向量表示。同理,第二编码器也可以是训练好的特征提取模型,用于提取每个子片段的特征信息,将该特征信息记为段落的向量表示。
在另一种可实施方式中,第一编码器和第二编码器可以是检索模型中的编码器,该检索模型具体为对偶式检索模型。
其中,对偶式检索模型是将文本表示为向量,并使用向量之间的相似度来衡量文本之间的相关性。通常做法是指两个完全一致的模型分别对问题和段落进行特征提取,得到对应的语义表示,通常为一个固定长度的向量(如768维)。再通过距离函数计算二者之间的距离,距离越近表示越相似。
本申请实施例对对偶式检索模型的具体网络结构不做限制。
在该种实施方式下,上述子片段的向量表示和问题的向量表示分别为一个向量,而不是向量矩阵。这样,将问题输入该对偶式检索模型的第一编码器中进行特征提取,得到该问题的向量表示。将每个子片段分别输入该对偶式检索模型的第二编码器中进行特征提取,得到各子片段的向量表示。
上述子片段的向量表示和问题的向量表示还可以分别为一个向量矩阵,此时,第一编码器提取到的问题的向量表示中包括问题中每个问题词的向量表示;第二编码器提取到的子片段的向量表示包括子片段中各字的向量表示,从而可以提高对问题和段落的语义理解,进而提高问题的向量表示和段落的向量表示的提取准确性。
若第一编码器和第二编码器为检索模型中的编码器,则第一编码器和第二编码器可以所采用的基础模型可以为bert模型、GPT模型,也可以为colbert模型,还可以为Representation-Based 模型或者Interaction-Based 模型等,根据实际需求进行设置即可。
上述包括第一编码器和第二编码器的检索模型可以利用多种训练方式训练得到。
在一种可实施方式中,该检索模型可以是基于样本对训练得到,该样本对包括样本问题、样本文本片段以及样本标签,该样本标签用于表征该样本文本片段中携带该样本问题对应的答案的概率,样本文本片段中包括样本文本中至少两个连续的样本段落,且每个样本段落包括至少一个样本子片段,且各样本子片段的文本长度小于预设长度。
在另一种可实施方式中,该检索模型可以是基于训练后的参考检索模型和样本集进行蒸馏训练得到,其中,样本集包括多个样本组,每个样本组包括一个针对样本文本提出的样本问题和样本文本中的样本文本片段,样本文本片段包括样本文本中至少两个连续的样本段落,样本段落中各样本子片段的文本长度小于预设长度。
在该种实施方式下对检索模型进行训练时,训练后的参考检索模型作为教师模型,将检索模型作为学生模型,具体的训练过程为:由训练后的参考检索模型基于样本问题和样本文本中的样本文本片段进行答案位置预测,确定样本问题对应的答案位于各样本文本片段的第一预测概率;由检索模型基于样本问题和各样本文本片段中的样本子片段进行答案位置预测,确定样本问题对应的答案位于各样本文本片段的第二预测概率;基于样本问题对应的答案位于各样本文本片段的第一预测概率和样本问题对应的答案位于各样本文本片段的第二预测概率,获得模型损失,基于模型损失调整检索模型的模型参数(第一编码器和第二编码器的参数),得到训练后的第一编码器和第二编码器。
应当理解,上述的训练方式仅为示意性的,还可以由更多的训练方式,在本实施例中不作具体限定。
步骤S160:基于N个文本片段中各文本片段中子片段的向量表示和问题的向量表示,从N个文本片段中确定问题的答案所在的候选文本片段。
其中,确定的候选文本片段的数量可以为一个,也可以为多个;当为多个时,如k个时,k对应的取值应小于N,k候选文本片段中各候选文本片段对应的概率应当大于N个文本片段中除前述的候选文本片段以外的其他文本片段对应的概率,其中,文本片段对应的概率是指文本片段包括问题的答案的概率。
在一种可实施方式中,上述步骤S160可以是,基于问题的向量表示和文本片段中每个子片段的向量确定问题与每个子片段之间的相似度,将基于文本片段中各子片段对应的相似度确定的相似度最大值或相似度均值作为问题与该文本片段的相似度。从N个文本片段中选出相似度最高的至少一个文本片段作为候选文本片段。
在另一种可实施方式中,上述步骤S160还可以是:基于问题的向量表示和文本片段中每个子片段的向量确定问题与每个子片段之间的相似度,将基于文本片段中各子片段对应的相似度确定的相似度最大值或相似度均值作为问题与该文本片段的相似度。从N个文本片段中选取相似度大于预设相似度阈值的文本片段作为候选文本片段。
上述两种方式中,在确定问题与每个子片段之间的相似度时,可以基于每个子片段中每个词的向量表示,组成子片段的向量表示矩阵,基于问题中每个问题词的向量表示组成问题的向量表示矩阵;将每个子片段的向量表示矩阵和问题的向量表示矩阵相乘,得到问题和每个子片段之间的相似度。还可以对于问题中的每个问题词,将该问题词的向量表示和子片段中的每个词的向量表示计算词粒度相似度,将该问题词与子片段中每个词的词粒度相似度中的最大词粒度相似度作为问题词与子片段之间的相似度;将每个问题词与子片段之间的相似度累加,得到问题与子片段之间的相似度。
在又一种可实施方式中,上述步骤S160还可以是:将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列;根据各文本片段的语义特征序列和问题的向量表示,确定各文本片段与问题之间的语义相似度;根据各文本片段与问题之间的语义相似度,从N个文本片段中确定与问题之间的语义相似度最高的K个文本片段,作为候选文本片段;K为不超过N的正整数。
其中,确定问题与各文本片段之间的语义相似度的方式可以与前述的确定问题与各子片段的方式类似,此处不再一一赘述。
步骤S170:通过生成式语言模型基于候选文本片段和问题进行答案生成,得到问题的答案。
其中,生成式语言模型可以是指一种基于Transformer架构的生成式语言模型,使用了大规模的预训练数据和自回归模型,可以生成连贯、自然的对话文本。它的预训练数据包括了数十亿个单词级别的文本数据,例如百科、新闻文章、小说等。在预训练阶段,模型学习了文本数据的概率分布,并使用该分布来生成新的文本数据。生成过程是基于上下文的,它可以根据给出的prompt(提示)生成回复。这使得模型可以生成连贯、自然的文本,并且可以适应不同的场景和话题。其中,Prompt是指用于指导生成式语言模型生成文本的一段文本或一组关键词。在本申请实施例中,至少可以包括问题及候选文本片段,用于指导模型生成与Prompt相关的文本。Prompt的设计对于生成式语言模型的性能和效果非常重要。一个好的Prompt应该能够引导模型生成与Prompt相关的文本,并且应该具有足够的信息量,以便模型可以生成准确、连贯的文本。
在本申请实施例中,候选文本片段为目标文本的N个文本片段中与待回答的问题的相关性最强的文本片段。通过生成式语言模型基于候选文本片段和问题进行答案生成时,生成式语言模型将这候选文本片段作为问题的上下文信息,与该问题一同输入生成式语言模型中,使得该生成式语言模型对该候选文本片段进行阅读理解,以对该问题进行准确回答,进而提高了问题的回答准确性。
由于候选文本片段中包括至少两个连续的段落,利用该候选文本片段生成问题的答案时,可以避免问题的答案通常可能出现在连续的段落中,但是相关技术中,在利用机器学习模型获得问题的答案时,多个段落中可能仅有一个段落被识别为与问题相关度较高的段落,从而导致利用与问题相关度较高的段落进行答案生成导致的答案不准确的问题。
通过采用上述方法,对于目标文本将其划分为文本片段,每个文本片段包括至少两个段落,将段落划分为不超过第二编码器的最大输入长度的子片段后,可以使利用第二编码器对子片段提取到的向量表示不会出现特征丢失的情况,之后,从N个文本片段中确定问题的答案所在的候选文本片段时,充分使用了N文本片段中的各个子片段的准确的向量表示,从而保障了确定出的候选文本片段的准确性,最后,在利用生成式语言模型基于候选文本片段生成问题的答案时,由于候选文本片段通常远低于目标文本的长度,且通过采用上述方法获得候选文本片段相比于目标文本而言,候选文本片段的长度更符合生成式语言模型的输入长度,且每个文本片段中包括至少两个连续的段落,因此,在问题的答案在出现在连续的至少两个段落时,也能确保候选文本片段中包括问题的答案,进而使利用生成式语言模型基于候选文本片段和问题可以得到更准确且更自然连贯的答案。
为进一步提升确定的候选文本片段的准确性,从而提升利用生成式语言模型基于候选文本片段得到的答案的准确性,在一种可实施方式中,步骤S160包括:
步骤S162:将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列。
其中,将文本片段中的子片段的向量表示进行组合的方式可以是,将同一文本片段的中的各子片段按照各子片段在目标文档中的位置进行组合,得到各文本片段的语义特征序列;也可以是同一文本片段的中的各子片段按照随机顺序组合,得到各文本片段的语义特征序列,其中,文本片段对应的语义特征序列中包括属于该文本片段的所有子片段的向量表示。
步骤S164:根据各文本片段的语义特征序列和问题的向量表示,确定各文本片段与问题之间的语义相似度。
在该种实施方式下,根据各文本片段的语义特征序列和问题的向量表示,确定各文本片段与问题之间的语义相似度的方式可以是,各文本片段的语义特征序列与问题的向量表示进行余弦相似度计算各文本片段与问题之间的语义相似度;或者在问题的向量表示包括问题中每个问题词的向量表示,子片段的向量表示包括子片段中每个词的向量表示;文本片段的语义特征序列包括文本片段中每个词的向量表示时,将各文本片段的语义特征序列对应形成的矩阵与问题的向量表示对应形成的矩阵相乘,得到各文本片段与问题之间的语义相似度。
为进一步提升利用第一编码器和利用第二编码器提取到的向量表示的准确性,从而提升后续基于提取的向量表示来确定的候选文本片段的准确性,从而提升利用生成式语言模型基于候选文本文本片段得到的答案的准确性,在一种可实施方式中,利用第一编码器提取的问题的向量表示包括问题中每个问题词的向量表示,利用第二编码器提取的子片段的向量表示包括子片段中每个词的向量表示,以使文本片段的语义特征序列包括文本片段中每个词的向量表示。相应的,第一编码器和第二编码器可以是任一能够提取文本片段中每个字的向量的模型,如colbert模型中的编码器,通过采用上述方式,可以使问题的向量表示和子片段的向量表示分别从一个向量(768维)变成了每个词都有一个向量表示(64维),从而使利用第一编码器获得的问题的向量表示和子片段的向量表示包括的语义更丰富,以便基于问题的向量表示和子片段的向量表示获得确定的候选文本片段更准确。
上述步骤S164具体可以包括:基于各问题词的向量表示和各文本片段中各词的向量表示,确定各问题词与各文本片段中各词之间的词粒度相似度;根据各问题词与各文本片段中各词之间的词粒度相似度,确定各文本片段与各问题词之间的最大词粒度相似度;基于各文本片段与各问题词之间的最大词粒度相似度,确定问题与各文本片段之间的语义相似度。
其中,基于各文本片段与各问题词之间的最大词粒度相似度,确定问题与各文本片段之间的语义相似度。可以是,针对各文本片段,将问题中每个问题词与该文本片段之间的最大词粒度相似度相加,得到问题与该文本片段之间的语义相似度。也可以是,针对各文本片段,将问题中每个问题词与该文本片段之间的最大词粒度相似度求取均值,得到问题与该文本片段之间的语义相似度。应当理解,上述确定问题与文本片段之间的语义相似度的方式仅为示意性的,还可以有更多的确定方式,在此不作具体限定。
在确定问题与各文本片段之间的语义相似度时,当前检索模型的编码器的最大限制为512,然而在真实的阅读场景中,很多自然段的长度都超过了512,本申请通过对自然段进行切分为子片段后,分别获得每个子片段的向量表示,以得到同一文本片段中不同子片段的向量表示,由于子片段的向量表示中包括各字的向量表示,并基于各问题词与各文本片段中各词之间的词粒度相似度来获得问题与文本片段之间的语义相似度,以实现采用late-interact(后期交互)的方式将同一文本片段中不同子片段之间的语义交互放到获得不同子片段的向量表示之后,从而能有效地对候选长度进行扩充,而不增加额外的计算量,在满足第二编码器的输入限制的同时,有效提升基于文本片段中各子片段的向量表示和问题的向量表示确定的各文本片段与问题之间的语义相似度的准确性。
步骤S166:根据各文本片段与问题之间的语义相似度,从N个文本片段中确定与问题之间的语义相似度最高的K个文本片段,作为候选文本片段;K为不超过N的正整数。
示例性的,如图4所示,以N文本片段中的任意文本片段作为目标文本片段,且目标文本片段中包括j个子片段为例,利用最大输入长度为n的第二编码器对各子片段进行编码后输出子片段中各个字的向量表示,以及利用第一编码器对问题进行编码得到问题中各问题词的向量表示,其中,“Tn1”表示第一编码器中的神经元,“Tn2”表示第二编码器中的神经元,字母“q”表示问题词,字母“p”表示子片段中的字,图4中仅示出了问题中包括3个问题词的情况,以及第二编码器的最大输入长度为n的情况。将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列,该语义特征序列中包括该文本片段中的每个字的向量表示,之后,针对每个问题词,将该问题词的向量表示与语义特征序列中的每个字的向量表示进行相似度计算,得到该问题词与语义特征序列中每个词之间的词粒度相似度;将该问题词与语义特征序列中每个词之间的词粒度相似度中的最大词粒度相似度(MaxSim)作为该问题词与语义特征序列的相似度;将问题中的每个问题词与语义特征序列的相似度进行累加(∑)得到问题与目标文本片段之间的相似度(score)。通过采用上述的方式可以获得问题与N个文本片段中的每个文本片段之间的相似度。
通过将连续至少两个段落划分到文本片段中,并对段落进行划分为多个子片段,在利用第二编码器提取各子片段的向量表示时,各子片段在提取语义过程中不进行交互计算,而是在提取语义后,采用late-interact(后期交互)的方式,在计算文本片段与问题之间的相似度时,将文本片段中的各子片段对应的向量表示进行拼接得到文本片段的语义特征序列,再利用各文本片段的语义特征序列与问题的向量表示确定与问题相关度最高得候选文本片段,在整个过程中,实现了地对文本长度进行扩充,而不增加额外的计算量,以确保最终确定的候选文本片段为包括问题的答案的文本片段,使问题的答案即便在连续的两个片段中时,也能准确提取到问题的答案。避免了相关技术中若存在的因问题的答案在存在于跨段落的两个自然段时,采用相关技术的方式可能仅能确定出其中一个自然段为问题的答案所在自然段,以在从该自然段提取到的答案不准确的情况。以及避免了相关技术中使用固定长度的向量来表示文本片段或文本的自然段导致的文本片段或文本的自然段中的一些信息丢失,从而导致后续基于丢失信息的特征确定的答案片段或答案不准确的情况。
请参阅图5,在本申请的一种可实施方式中,第一编码器和第二编码器为检索模型中的编码器,检索模型通过以下方式训练得到:
步骤S210:获取样本集,样本集包括多个样本组。
其中,每个样本组包括一个针对样本文本提出的样本问题和样本文本中的样本文本片段,样本文本片段包括样本文本中至少两个连续的样本段落,样本段落中各样本子片段的文本长度小于预设长度。
关于基于样本文本得到样本文本片段和样本子片段的过程可以参阅前述实施例中获得文本片段和子片段的过程,在本实施例不再一一赘述。
步骤S220:由训练后的参考检索模型基于样本问题和样本文本中的样本文本片段进行答案位置预测,确定样本问题对应的答案位于各样本文本片段的第一预测概率;参考检索模型的网络规模大于检索模型的网络规模。
其中,训练后的参考检索模型可以是大型语言模型,也可以是交叉编码器,还可以是任意能够基于样本问题和样本文本中的样本文本片段进行答案位置预测的大型模型,根据实际需求进行设置即可。
步骤S230:由检索模型基于样本问题和各样本文本片段中的样本子片段进行答案位置预测,确定样本问题对应的答案位于各样本文本片段的第二预测概率。
其中,检索模型基于样本问题和各样本文本片段中的样本子片段进行答案位置预测时,具体可以是,由检索模型的第一编码器提取样本问题的样本向量表示,由检索模型的第二编码器提取每个样本子片段的样本向量表示;基于多个样本文本片段中各样本文本片段中样本子片段的样本向量表示和样本问题的样本向量表示,获得各样本文本片段与样本问题之间的相似度;基于各样本文本片段与样本问题之间的相似度确定样本问题对应的答案位于各样本文本片段的第二预测概率。
关于提取样本问题的样本向量表示、提取样本子片段的样本向量表示以及获得样本文本片段与样本问题之间的相似度的过程,可以参阅前述实施例中步骤S130-S160及步骤S162-S166的具体描述,在本实施例不再一一赘述。
在基于各样本文本片段与样本问题之间的相似度确定样本问题对应的答案位于各样本文本片段的第二预测概率时,可以对各样本文本片段与样本问题之间的相似度利用归一化函数进行计算,得到样本问题对应的答案位于各样本文本片段的第二预测概率。
步骤S240:基于样本问题对应的答案位于各样本文本片段的第一预测概率和样本问题对应的答案位于各样本文本片段的第二预测概率,获得模型损失。
其中,上述的模型损失可以是利用交叉熵损失函数、归一化损失函数、散度损失函数等中的至少一种基于各样本文本片段对应的第一预测概率和第二预测概率进行损失计算,得到模型损失。
步骤S250:基于模型损失调整第一编码器和第二编码器的参数,得到训练后的第一编码器和第二编码器。
其中,基于模型损失调整第一编码器和第二编码器的参数直至达到训练迭代结束条件时,得到训练后的第一编码器和第二编码器,其中,训练迭代结束条件可以是模型损失小于预设损失阈值,或迭代次数达到预设次数,根据实际需求进行设置。
通过采用上述利用方法训练得到的检索模型,在训练过程中,使用训练后的参考模型生成的结果作为优化目标,优化参考模型的参数,使其能够生成与训练后的参考模型相似的表示,实现了将知识从大型笨拙的模型(训练后的参考模型)转移到可以在单个较小模型(参考模型),使得参考模型进行训练后,具有与大型笨拙的模型相同的性能,从而在参考模型在用作进行后续的特征提取及处理的效果与大型笨拙的模型的效果趋于一致。
在一种可实施方式中,若训练后的参考模型为大型语言模型,则可以将样本问题和样本文本中的样本文本片段进行组合,生成包括样本问题和样本文本片段的提示信息。利用语言模型基于提示信息进行答案位置预测,输出样本问题对应的答案位于各样本文本片段的第一预测概率。
请参阅图6:若训练后的参考模型为交叉编码器,则上述步骤S220可以包括:
步骤S221:对样本问题和各样本文本片段分别进行拼接,得到各样本文本片段对应的拼接文本。
具体的,针对每个样本文本片段,将样本问题与该样本文本片段进行拼接,拼接过程中,样本问题与样本文本片段之间通过分隔符
步骤S222:由训练后的参考检索模型对各拼接文本中的样本问题和样本文本片段进行交叉编码,得到各拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度。
步骤S223:基于各拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度,确定样本问题对应的答案位于各样本文本片段的第一预测概率。
具体的,上述步骤S223可以是利用归一化函数,如softmax函数或者sigmoid函数等基于各拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度,得到样本问题对应的答案位于各样本文本片段的第一预测概率。
为提升参考模型的性能,使训练后的参考模型能够更好的区分困难样本文本片段,在该种实施方式下,样本组还包括各样本文本片段的答案标签。
请参阅图7,样本文本片段的答案标签用于表征样本问题的答案是否在样本文本片段中,上述步骤S240包括:
步骤S242:基于各样本文本片段的答案标签和样本问题对应的答案位于各样本文本片段的第一预测概率,确定第一损失。
其中,第一损失具体可以是利用交叉熵损失函数、均方误差损失函数或者铰链损失函数等中的任意一种损失函数进行损失计算,得到模型损失。
在一种可实施方式中,可以利用交叉熵损失函数对各样本文本片段的答案标签和样本问题对应的答案位于各样本文本片段的第一预测概率进行损失计算,得到模型损失。
步骤S244:计算第一预测概率与第二预测概率之间的第二损失。
其中,第二损失具体可以是利用散度损失函数或分类交叉熵损失函数等损失函数中的任意一种进行损失计算得到。
在一种可实施方式中,可以利用散度损失基于各样本文本片段对应的第一预测概率和第二预测概率进行损失计算得到第二损失。
步骤S246:基于第一损失和第二损失,获得模型损失。
上述步骤S246可以是,对第一损失和第二损失进行加权求和,得到模型损失,也可以是将第一损失和第二损失中的最大损失值作为模型损失,上述获得模型损失的方式仅为示意性的,还可以由更多的获得方式,在本申请实施例不在一一赘述。
如图8所示,示出了利用交叉编码器对参考模型进行蒸馏训练的示意图,在对参考模型进行蒸馏训练时,可以向交叉编码器和参考模型中分别输入样本组,该样本组中包括属于同一样本文本的多个样本文本片段、针对该样本文本提出的样本问题以及每个样本文本片段对应的是否包括样本问题的答案的0/1标签,交叉编码器可以采用前述步骤S221-S223描述的方式获得每个样本文本片段包括样本问题的第一得分,从而基于每个样本文本片段包括样本问题的第一得分得到每个样本文本片段包括样本问题的第一概率,从而实现更好地区分各样本文本片段的难易程度,参考模型可以采用前述步骤S230描述的方式获得每个样本文本片段包括样本问题的第二得分,从而基于每个样本文本片段包括样本问题的第二得分得到每个样本文本片段包括样本问题的第二概率,在获得各样本文本片段对应的第一概率和第二概率后,通过KL散度拟合各样本文本片段的难易程度分布,获得更好的效果,从而在利用交叉模型(训练后的参考模型)对参考模型进行蒸馏训练时,可以实现在softmax loss的基础上增加KL loss来训练模型可以有效地提升了语义召回效果。
通过利用上述方法获得的模型损失以调整参考模型,可以实现将训练后的参考模型,cross-encoder(交叉编码器)视作teacher模型,将样本文本片段的样本标签由表针样本文本片段是否包括样本问题的答案的0/1标签(硬标签)转换成soft-label(软标签),此外,为了更好地区分不同样本文本片段进行分类时的难易程度,将参考参考模型作为student模型,并通过KL散度拟合该分布,获得更好的效果。从而实现在softmax loss的基础上增加KL loss,有效地提升了参考模型的语义召回效果,从而使调整后的参考模型提取到的问题的向量表示和子片段的向量表示更准确。此外,通过采用上述方法,可以避免训练样本中的正负例数据比例验证存在噪声,大量漏标注的正例会出现在负例的结果中,这样对模型训练带来负面影响的情况。
若训练后的参考模型为语言模型,则上述步骤S220可以包括:
步骤S225:将样本问题和样本文本中的样本文本片段进行组合,生成包括样本问题和样本文本片段的提示信息。
其中,提示信息中包括的样本文本片段可以是一个,也可以是多个,若为多个,则多个样本文本片段的数量可以根据各样本文本片段的长度和语言模型的最大输入长度确定。
步骤S226:利用语言模型基于提示信息进行答案位置预测,输出样本问题对应的答案位于各样本文本片段的第一预测概率。
上述步骤S226具体可以是,利用语言模型基于提示信息进行答案位置预测,得到答案在各样本文本片段的得分,基于答案在各样本文本片段的得分利用归一化函数(如,softmax函数或者sigmoid函数等)进行计算,得到答案在各样本文本片段的第一预测概率。
如图10所示,通过采用前述步骤S225-S226将样本文本对应的样本问题和样本文本片段拼接之后作为prompt输入给大语言模型,在通过语言模型生成每个样本文本片段的第一得分,之后,通过将样本文本片段的第一得分归一化为概率分布,得到各样本文本片段包括问题的答案的第一概率,从而实现更好地区分各样本文本片段的难易程度,以及采用前述步骤S230描述的方式获得每个样本文本片段包括样本问题的第二得分之后,基于每个样本文本片段包括样本问题的第二得分得到每个样本文本片段包括样本问题的第二概率,之后,基于各样本文本片段对应的第一概率和第二概率采用KL散度损失函数进行损失计算得到模型损失,可以实现利用语言模型来指导检索模型的训练,由于大语言模型经过大量数据的训练,学习到了丰富的语言知识和世界知识,通过采用上述方法,可以实现将语言模型学习到的知识通过蒸馏学习的方式传递给检索模型(student模型),此外,由于语言模型通常具有更好的泛化能力,可以处理各种各样的输入,通过蒸馏学习,检索模型(student模型)可能也能获得更好的泛化能力。此外,由于语言模型通常具有更强的表达能力,可以捕捉到更复杂的语义关系,通过蒸馏学习,也可以将捕捉到到的语义关系传递给检索模型(student模型)。因此,上述通过利用语言模型对检索模型进行蒸馏训练,可以使检索模型能够学习到更丰富的知识,且具有更好的泛化能力和表达能力。
通过采用上述利用语言模型对检索模型进行蒸馏训练,在训练过程中,无需采用过多的人工标注样本,即可实现对检索模型进行训练。避免了相关技术中存在的开放域问答几乎覆盖了人们生活中方方面面的问题和答案,人工标注难以覆盖全部的领域和类别,仅依赖少量的人工标注难以达到业务可用的效果。此外,本申请可以在后续利用训练得到的检索模型用作提取子片段的向量表示时,能够保障提取到到的向量表示更准确,进而保障后续利用子片段的向量表示确定的文本片段更准确以及确定的问题的答案更准确。
如图11所示,本申请示例性的给出了答案生成方法,该方法用于对目标文本为一资讯文本,该资讯文本具体讲述了某市在下一年度交通、教育、医疗以及公园等项目上的投资计划介绍信息以及该市的短期和长期规划,该文本包括M个段落,其中,第1个段落、第2个段落和第3个段落具体描述了该市不同区内各学校项目的投资计划,示例性的,第1段罗列的投资计划为“1.本市A区的第一中学建设投资约2.5亿元;2.本市B区的中心小学建设投资约1亿元...”,第2段罗列了“本市还计划投入500W作为师资培训学习,800W作为激励...”,第3段罗列了“本市A区的第一中学额外引进1500万的实验设备;本市B区的中心小学计划花费800万招收新教师...”。针对该资讯文本提出的问题为“本市涉及教育项目的投资有哪些多少?”
对于上述目标文本和针对上述目标文本提出的问题,首先,基于各段落在目标文本中的位置,确定N个文本片段,每个文本片段包括至少两个连续的段落,如,第1到2个段落为一个文本片段,第2到3个段落为一个文本片段,...,第M-1到M个段落为一个文本片段,以得到N个文本片段(即,文本片段1,文本片段2,...,文本片段N)。
针对每个段落,对该段落按照预设长度进行划分,得到每个段落对应的至少一个子片段,该子片段对应的长度不大于预设长度,之后,利用检索模型中的第一编码器提取问题中各问题词的向量表示,以及利用检索模型中的第二编码器提取子片段中各个字的向量表示(Embedding)。其中,该检索模型可以是采用知识蒸馏训练的方式进行训练得到,蒸馏训练过程具体可以参阅前述实施例中步骤S210-S250的具体描述,此处不再一一赘述。
之后,将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列,该语义特征序列中包括文本片段中各个字的向量表示,并且针对各文本片段,将问题中每个问题词与该文本片段之间的最大词粒度相似度相加,得到问题与该文本片段之间的语义相似度。根据各文本片段与问题之间的语义相似度,从N个文本片段中确定与问题之间的语义相似度最高的K个文本片段,作为候选文本片段(如,文本片段1、文本片段2以及文本片段i)。
通过采用上述方法,即便是无法直接根据语义信息确定第2自然段包括问题的答案时,由于上述选取的K个片段中至少包括第一个文本片段,如此,由于第一个文本片段包括第2自然段,因此,后续在进行答案生成时,也能利用语言模型准确获得问题的答案。
最后通过生成式语言模型基于候选文本片段和问题进行答案生成,得到问题的答案。
本申请的上述过程充分考虑到目标文本可能存在泛化性、文本长度变化大等特点,故通过对目标文本按照段落位置进行划分得到文本片段,以及将各个段落按照预设长度进行划分得到的各子片段的长度不超过预设长度,后续在利用第二编码器提取各子片段的向量表示时,各子片段在提取语义过程中不进行交互计算,而是在提取语义后,采用late-interact(后期交互)的方式,在计算文本片段与问题之间的相似度时,将文本片段中的各子片段对应的向量表示进行拼接得到文本片段的语义特征序列,再利用各文本片段的语义特征序列与问题的向量表示确定与问题相关度最高得候选文本片段,在整个过程中,实现了地对文本长度进行扩充,而不增加额外的计算量,以确保最终确定的候选文本片段为包括问题的答案的文本片段,使问题的答案即便在连续的两个片段中时,也能准确提取到问题的答案。避免了相关技术中若存在的因问题的答案在存在于跨段落的两个自然段时,采用相关技术的方式可能仅能确定出其中一个自然段为问题的答案所在自然段,以在从该自然段提取到的答案不准确的情况。以及避免了相关技术中在目标文本可能存在泛化性、文本长度变化大等特点使用固定长度的向量来表示文本片段或文本的自然段导致的文本片段或文本的自然段中的一些信息丢失,从而导致后续基于丢失信息的特征确定的答案片段或答案不准确的情况。
进一步的,通过采用上述的方法对目标文档召回效果准确率(G)、召回率(S)、diff影响面(B)之间的比值G: S: B=3:8:1,适配各种场景下的文档。同时针对文档自然段过长等场景,本申请提出来更新的长度扩充方式,在不增加计算开销的情况下,突破了bert类模型512个token的长度限制。此外,在对参考模型进行训练过程中,由于参考模型的训练借助了训练后的参考模型计算出的一个更加合理的排序得分,通过知识蒸馏的方式让参考模型拟合这个分布,从而提升参考模型整体的排序效果。从而使选取的候选文本片段更准确,进而使最终获得的答案更准确。
请参阅图12所示,本申请实施例提供了一种答案生成装置400,该装置400可以应用于电子设备,该电子设备可以是终端设备或服务器,装置400包括:获取模块410、片段确定模块420、片段划分模块430、第一向量提取模块440、第二向量提取模块450、片段选取模块460以及答案生成模块470;获取模块410,用于获取目标文本和针对目标文本提出的问题,目标文本中包括M个段落,M为正整数;片段确定模块420,用于基于各段落在目标文本中的位置,确定N个文本片段,一个文本片段包括目标文本中至少两个连续的段落,N为正整数;片段划分模块430,用于基于预设长度对每个段落进行划分,得到每个段落对应的至少一个子片段,每个子片段对应的文本长度小于预设长度;第一向量提取模块440,用于利用第一编码器提取问题的向量表示;第二向量提取模块450,用于利用第二编码器提取每个子片段的向量表示,预设长度不超过第二编码器的最大输入长度;片段选取模块460,用于基于N个文本片段中各文本片段中子片段的向量表示和问题的向量表示,从N个文本片段中确定问题的答案所在的候选文本片段;答案生成模块470,用于通过生成式语言模型基于候选文本片段和问题进行答案生成,得到问题的答案。
在一种可实施方式中,片段选取子模块包括:向量组合子模块、相似度确定子模块以及片段选取子模块,向量组合子模块,用于将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列;相似度确定子模块,用于根据各文本片段的语义特征序列和问题的向量表示,确定各文本片段与问题之间的语义相似度;片段选取子模块,用于根据各文本片段与问题之间的语义相似度,从N个文本片段中确定与问题之间的语义相似度最高的K个文本片段,作为候选文本片段;K为不超过N的正整数。
在一种可实施方式中,问题的向量表示包括问题中每个问题词的向量表示,子片段的向量表示包括子片段中每个词的向量表示;文本片段的语义特征序列包括文本片段中每个词的向量表示;相似度确定子模块,用于基于各问题词的向量表示和各文本片段中各词的向量表示,确定各问题词与各文本片段中各词之间的词粒度相似度;根据各问题词与各文本片段中各词之间的词粒度相似度,确定各文本片段与各问题词之间的最大词粒度相似度;基于各文本片段与各问题词之间的最大词粒度相似度,确定问题与各文本片段之间的语义相似度。
在一种可实施方式中,相似度确定子模块,还用于针对各文本片段,将问题中每个问题词与该文本片段之间的最大词粒度相似度相加,得到问题与该文本片段之间的语义相似度。
在一种可实施方式中,第一编码器和第二编码器为检索模型中的编码器,装置400还包括第一预测模块、第二预测模块、模型损失获得模块以及模型训练模块;获取模块410,还用于获取样本集,样本集包括多个样本组,每个样本组包括一个针对样本文本提出的样本问题和样本文本中的样本文本片段,样本文本片段包括样本文本中至少两个连续的样本段落,样本段落中各样本子片段的文本长度小于预设长度;第一预测模块,用于利用训练后的参考检索模型基于样本问题和样本文本中的样本文本片段进行答案位置预测,确定样本问题对应的答案位于各样本文本片段的第一预测概率;参考检索模型的网络规模大于检索模型的网络规模;第二预测模块,用于利用检索模型基于样本问题和各样本文本片段中的样本子片段进行答案位置预测,确定样本问题对应的答案位于各样本文本片段的第二预测概率;模型损失获得模块,用于基于样本问题对应的答案位于各样本文本片段的第一预测概率和样本问题对应的答案位于各样本文本片段的第二预测概率,获得模型损失;模型训练模块,用于基于模型损失调整第一编码器和第二编码器的参数,得到训练后的第一编码器和第二编码器。
在一种可实施方式中,第一预测模块,还用于对样本问题和各样本文本片段分别进行拼接,得到各样本文本片段对应的拼接文本;由训练后的参考检索模型对各拼接文本中的样本问题和样本文本片段进行交叉编码,得到各拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度;基于各拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度,确定样本问题对应的答案位于各样本文本片段的第一预测概率。
在一种可实施方式中,样本组还包括各样本文本片段的答案标签;模型损失获得模块,还用于基于各样本文本片段的答案标签和样本问题对应的答案位于各样本文本片段的第一预测概率,确定第一损失;计算第一预测概率与第二预测概率之间的第二损失;基于第一损失和第二损失,获得模型损失。
在一种可实施方式中,训练后的参考检索模型为语言模型,第一预测模块,还用于将样本问题和样本文本中的样本文本片段进行组合,生成包括样本问题和样本文本片段的提示信息;利用语言模型基于提示信息进行答案位置预测,输出样本问题对应的答案位于各样本文本片段的第一预测概率。
上述装置400中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本申请中装置400实施例与前述方法实施例是相互对应的,装置400实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
下面将结合图13对本申请提供的一种电子设备进行说明。
请参阅图13,基于上述实施例提供的答案生成方法,本申请实施例还提供的另一种包括可以执行前述方法的处理器102的电子设备100,该电子设备100可以为分发节点或区块链节点,电子设备可以是终端设备或服务器,其中,终端设备可以是智能手机、平板电脑、计算机或者便携式计算机等设备。
电子设备100还包括存储器104。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个用于处理数据的核以及消息矩阵单元。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(DigitalSignal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(Central Processing Unit,CPU)、图像处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所获取的数据等。
电子设备100还可以包括网络模块以及屏幕,网络模块用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。网络模块可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。网络模块可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。屏幕可以进行界面内容的显示以及进行数据交互,如显示问题的答案,以及通过屏幕录入问题等。
在一些实施例中,电子设备100还可以包括有:外设接口106和至少一个外围设备。处理器102、存储器104和外设接口106之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外设接口连接。具体地,外围设备包括:射频组件108、定位组件112、摄像头114、音频组件116、显示屏118以及电源122等中的至少一种
外设接口106可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器102和存储器104。在一些实施例中,处理器102、存储器104和外设接口106被集成在同一芯片或电路板上;在一些其他实施例中,处理器102、存储器104和外设接口106中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
射频组件108用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频组件108通过电磁信号与通信网络以及其他通信设备进行通信。射频组件108将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频组件108包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频组件108可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频组件108还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
定位组件112用于定位电子设备的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件112可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、北斗系统或伽利略系统的定位组件。
摄像头114用于采集图像或视频。可选地,摄像头114包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备100的前面板,后置摄像头设置在电子设备100的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头114还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频组件116可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器102进行处理,或者输入至射频组件108以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器102或射频组件108的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频组件114还可以包括耳机插孔。
显示屏118用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏118是触摸显示屏时,显示屏118还具有采集在显示屏118的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器102进行处理。此时,显示屏118还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏118可以为一个,设置电子设备100的前面板;在另一些实施例中,显示屏118可以为至少两个,分别设置在电子设备100的不同表面或呈折叠设计;在又一些实施例中,显示屏118可以是柔性显示屏,设置在电子设备100的弯曲表面上或折叠面上。甚至,显示屏118还可以设置成非矩形的不规则图形,也即异形屏。显示屏118可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,机发光二极管)等材质制备。
电源122用于为电子设备100中的各个组件进行供电。电源122可以是交流电、直流电、一次性电池或可充电电池。当电源122包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本申请实施例还提供一种计算机可读存储介质的结构框图。该计算机可读介质中存储有程序代码,程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质具有执行上述方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码可以例如以适当形式进行压缩。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各种可选实现方式中描述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种答案生成方法,其特征在于,包括:
获取目标文本和针对目标文本提出的问题,所述目标文本中包括M个段落,所述M为正整数;
基于各段落在所述目标文本中的位置,确定N个文本片段,一个文本片段包括所述目标文本中至少两个连续的段落,N为正整数;
基于预设长度对每个所述段落进行划分,得到每个段落对应的至少一个子片段,每个所述子片段对应的文本长度小于预设长度;
由第一编码器提取所述问题的向量表示;
由第二编码器提取每个所述子片段的向量表示,所述预设长度不超过所述第二编码器的最大输入长度;
基于所述N个文本片段中各文本片段中子片段的向量表示和所述问题的向量表示,从所述N个文本片段中确定所述问题的答案所在的候选文本片段;
通过生成式语言模型基于所述候选文本片段和所述问题进行答案生成,得到所述问题的答案;
所述第一编码器和第二编码器为检索模型中的编码器,所述检索模型通过以下方式训练得到:
获取样本集,所述样本集包括多个样本组,每个样本组包括一个针对样本文本提出的样本问题和所述样本文本中的样本文本片段,所述样本文本片段包括样本文本中至少两个连续的样本段落,所述样本段落中各样本子片段的文本长度小于所述预设长度;
由训练后的参考检索模型基于所述样本问题和所述样本文本中的所述样本文本片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率;所述参考检索模型的网络规模大于所述检索模型的网络规模;
由所述检索模型基于所述样本问题和各所述样本文本片段中的样本子片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第二预测概率;
基于所述样本问题对应的答案位于各所述样本文本片段的第一预测概率和所述样本问题对应的答案位于各所述样本文本片段的第二预测概率,获得模型损失;
基于所述模型损失调整所述第一编码器和第二编码器的参数,得到训练后的第一编码器和第二编码器;
所述由训练后的参考检索模型基于所述样本问题和所述样本文本中的所述样本文本片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率,包括:对所述样本问题和各所述样本文本片段分别进行拼接,得到各样本文本片段对应的拼接文本;由所述训练后的参考检索模型对各所述拼接文本中的样本问题和样本文本片段进行交叉编码,得到各所述拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度;基于各所述拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率。
2.根据权利要求1所述的方法,其特征在于,所述基于所述N个文本片段中各文本片段中子片段的向量表示和所述问题的向量表示,从所述N个文本片段中确定所述问题的答案所在的候选文本片段,包括:
将位于同一文本片段中的子片段的向量表示进行组合,得到各文本片段的语义特征序列;
根据各文本片段的语义特征序列和所述问题的向量表示,确定各文本片段与所述问题之间的语义相似度;
根据所述各文本片段与所述问题之间的语义相似度,从所述N个文本片段中确定与所述问题之间的语义相似度最高的K个文本片段,作为所述候选文本片段;K为不超过N的正整数。
3.根据权利要求2所述的方法,其特征在于,所述问题的向量表示包括所述问题中每个问题词的向量表示,所述子片段的向量表示包括所述子片段中每个词的向量表示;所述文本片段的语义特征序列包括所述文本片段中每个词的向量表示;
所述根据各文本片段的语义特征序列和所述问题的向量表示,确定各文本片段与所述问题之间的语义相似度,包括:
基于各问题词的向量表示和各所述文本片段中各词的向量表示,确定各问题词与各所述文本片段中各词之间的词粒度相似度;
根据各问题词与各所述文本片段中各词之间的词粒度相似度,确定各所述文本片段与各所述问题词之间的最大词粒度相似度;
基于各所述文本片段与各所述问题词之间的最大词粒度相似度,确定所述问题与各所述文本片段之间的语义相似度。
4.根据权利要求3所述的方法,其特征在于,所述基于各所述文本片段与各所述问题词之间的最大词粒度相似度,确定所述问题与各所述文本片段之间的语义相似度,包括:
针对各文本片段,将所述问题中每个问题词与该文本片段之间的最大词粒度相似度相加,得到所述问题与该文本片段之间的语义相似度。
5.根据权利要求1所述的方法,其特征在于,所述样本组还包括各所述样本文本片段的答案标签;
所述基于所述样本问题对应的答案位于各所述样本文本片段的第一预测概率和所述样本问题对应的答案位于各所述样本文本片段的第二预测概率,获得模型损失,包括:
基于各所述样本文本片段的答案标签和所述样本问题对应的答案位于各所述样本文本片段的第一预测概率,确定第一损失;
计算第一预测概率与第二预测概率之间的第二损失;
基于所述第一损失和所述第二损失,获得模型损失。
6.根据权利要求1所述的方法,其特征在于,所述训练后的参考检索模型为语言模型,所述由训练后的参考检索模型基于所述样本问题和所述样本文本中的所述样本文本片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率,包括:
将样本问题和所述样本文本中的样本文本片段进行组合,生成包括样本问题和所述样本文本片段的提示信息;
利用所述语言模型基于提示信息进行答案位置预测,输出所述样本问题对应的答案位于各所述样本文本片段的第一预测概率。
7.一种答案生成装置,其特征在于,所述装置包括:
获取模块,用于获取目标文本和针对目标文本提出的问题,所述目标文本中包括M个段落,所述M为正整数;
片段确定模块,用于基于各段落在所述目标文本中的位置,确定N个文本片段,一个文本片段包括所述目标文本中至少两个连续的段落,N为正整数;
片段划分模块,用于基于预设长度对每个所述段落进行划分,得到每个段落对应的至少一个子片段,每个所述子片段对应的文本长度小于预设长度;
第一向量提取模块,用于利用第一编码器提取所述问题的向量表示;
第二向量提取模块,用于利用第二编码器提取每个所述子片段的向量表示,所述预设长度不超过所述第二编码器的最大输入长度,其中,所述第一编码器和第二编码器为检索模型中的编码器;
片段选取模块,用于基于所述N个文本片段中各文本片段中子片段的向量表示和所述问题的向量表示,从所述N个文本片段中确定所述问题的答案所在的候选文本片段;
答案生成模块,用于通过生成式语言模型基于所述候选文本片段和所述问题进行答案生成,得到所述问题的答案;
所述获取模块,还用于获取样本集,所述样本集包括多个样本组,每个样本组包括一个针对样本文本提出的样本问题和所述样本文本中的样本文本片段,所述样本文本片段包括样本文本中至少两个连续的样本段落,所述样本段落中各样本子片段的文本长度小于所述预设长度;
第一预测模块,用于对所述样本问题和各所述样本文本片段分别进行拼接,得到各样本文本片段对应的拼接文本;由训练后的参考检索模型对各所述拼接文本中的样本问题和样本文本片段进行交叉编码,得到各所述拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度;基于各所述拼接文本中样本问题的向量表示和样本文本片段的向量表示之间的匹配度,确定所述样本问题对应的答案位于各所述样本文本片段的第一预测概率;所述参考检索模型的网络规模大于所述检索模型的网络规模;
第二预测模块,用于利用所述检索模型基于所述样本问题和各所述样本文本片段中的样本子片段进行答案位置预测,确定所述样本问题对应的答案位于各所述样本文本片段的第二预测概率;
模型损失获得模块,用于基于所述样本问题对应的答案位于各所述样本文本片段的第一预测概率和所述样本问题对应的答案位于各所述样本文本片段的第二预测概率,获得模型损失;
模型训练模块,用于基于所述模型损失调整所述第一编码器和第二编码器的参数,得到训练后的第一编码器和第二编码器。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-6中任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-6中任意一项所述的方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410140323.4A CN117669512B (zh) | 2024-02-01 | 2024-02-01 | 答案生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410140323.4A CN117669512B (zh) | 2024-02-01 | 2024-02-01 | 答案生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117669512A CN117669512A (zh) | 2024-03-08 |
CN117669512B true CN117669512B (zh) | 2024-05-14 |
Family
ID=90075402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410140323.4A Active CN117669512B (zh) | 2024-02-01 | 2024-02-01 | 答案生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117669512B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118070925B (zh) * | 2024-04-17 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 模型训练方法、装置、电子设备、存储介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021068615A1 (zh) * | 2019-10-12 | 2021-04-15 | 深圳壹账通智能科技有限公司 | 文书中问答数据获取方法、装置、计算机设备和存储介质 |
CN113688231A (zh) * | 2021-08-02 | 2021-11-23 | 北京小米移动软件有限公司 | 一种答案文本的摘要提取方法及装置、电子设备及介质 |
WO2023125335A1 (zh) * | 2021-12-28 | 2023-07-06 | 华为技术有限公司 | 问答对生成的方法和电子设备 |
CN116401345A (zh) * | 2023-03-09 | 2023-07-07 | 北京海致星图科技有限公司 | 智能问答方法、装置、存储介质和设备 |
CN116775836A (zh) * | 2023-06-28 | 2023-09-19 | 西安交通大学 | 基于多层次注意力的教科书文本问答方法及系统 |
CN116975221A (zh) * | 2023-06-09 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 文本阅读理解方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220138432A1 (en) * | 2020-10-29 | 2022-05-05 | Oracle International Corporation | Relying on discourse analysis to answer complex questions by neural machine reading comprehension |
-
2024
- 2024-02-01 CN CN202410140323.4A patent/CN117669512B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021068615A1 (zh) * | 2019-10-12 | 2021-04-15 | 深圳壹账通智能科技有限公司 | 文书中问答数据获取方法、装置、计算机设备和存储介质 |
CN113688231A (zh) * | 2021-08-02 | 2021-11-23 | 北京小米移动软件有限公司 | 一种答案文本的摘要提取方法及装置、电子设备及介质 |
WO2023125335A1 (zh) * | 2021-12-28 | 2023-07-06 | 华为技术有限公司 | 问答对生成的方法和电子设备 |
CN116401345A (zh) * | 2023-03-09 | 2023-07-07 | 北京海致星图科技有限公司 | 智能问答方法、装置、存储介质和设备 |
CN116975221A (zh) * | 2023-06-09 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 文本阅读理解方法、装置、设备及存储介质 |
CN116775836A (zh) * | 2023-06-28 | 2023-09-19 | 西安交通大学 | 基于多层次注意力的教科书文本问答方法及系统 |
Non-Patent Citations (1)
Title |
---|
面向多片段答案的抽取式阅读理解模型;苏立新等;《计算机学报》;20201231(第05期);第104-115页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117669512A (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112163165B (zh) | 信息推荐方法、装置、设备及计算机可读存储介质 | |
CN108038103B (zh) | 一种对文本序列进行分词的方法、装置和电子设备 | |
US20210134173A1 (en) | Neural models for key phrase detection and question generation | |
CN110490213B (zh) | 图像识别方法、装置及存储介质 | |
CN118349673A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN113672708B (zh) | 语言模型训练方法、问答对生成方法、装置及设备 | |
CN117669512B (zh) | 答案生成方法、装置、设备及存储介质 | |
CN113761153B (zh) | 基于图片的问答处理方法、装置、可读介质及电子设备 | |
CN113515942A (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
WO2023207541A1 (zh) | 一种语音处理方法及相关设备 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN117033799B (zh) | 资源推荐方法、装置、计算机设备及存储介质 | |
CN116977701A (zh) | 视频分类模型训练的方法、视频分类的方法和装置 | |
CN117273019A (zh) | 对话模型的训练方法、对话生成方法、装置和设备 | |
CN115510194A (zh) | 问答语句检索方法、装置、电子设备及存储介质 | |
CN111444321B (zh) | 问答方法、装置、电子设备和存储介质 | |
CN114297372A (zh) | 个性化的笔记生成方法及系统 | |
CN117556036A (zh) | 摘要生成模型的训练方法、摘要生成方法、装置及设备 | |
CN117236340A (zh) | 问答方法、装置、设备和介质 | |
CN117056474A (zh) | 会话应答方法和装置、电子设备、存储介质 | |
CN113609863B (zh) | 一种训练、使用数据转换模型的方法、装置及计算机设备 | |
CN116541556A (zh) | 标签确定方法、装置、设备以及存储介质 | |
CN113626564B (zh) | 一种概念标签生成方法、装置、电子设备和存储介质 | |
CN117891980B (zh) | 一种内容搜索方法及相关装置 | |
CN116955835B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |