CN118093841A - 一种用于问答系统的模型训练方法和问答方法 - Google Patents
一种用于问答系统的模型训练方法和问答方法 Download PDFInfo
- Publication number
- CN118093841A CN118093841A CN202410503318.5A CN202410503318A CN118093841A CN 118093841 A CN118093841 A CN 118093841A CN 202410503318 A CN202410503318 A CN 202410503318A CN 118093841 A CN118093841 A CN 118093841A
- Authority
- CN
- China
- Prior art keywords
- vector
- question
- model
- knowledge
- trained
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 119
- 238000012549 training Methods 0.000 title claims abstract description 93
- 239000013598 vector Substances 0.000 claims abstract description 369
- 230000006870 function Effects 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 238000003058 natural language processing Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 1
- 235000002198 Annona diversifolia Nutrition 0.000 description 1
- 244000303258 Annona diversifolia Species 0.000 description 1
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241000393496 Electra Species 0.000 description 1
- 101000779415 Homo sapiens Alanine aminotransferase 2 Proteins 0.000 description 1
- 241000157593 Milvus Species 0.000 description 1
- 244000082204 Phyllostachys viridis Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于问答系统的模型训练方法和问答方法,应用于自然语言处理领域,训练方法包括:利用预设提示词和初始大语言模型从知识文档中抽取隐藏知识,并利用初始向量模型构建向量数据库;将问句输入到初始向量模型中,得到问句向量,根据问句向量从向量数据库中检索到目标文本,计算得到召回率;将根据预设角色、原则和目标文本拼接得到的提示词输入到初始大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案,计算得到生成率;根据生成率和召回率构建损失函数,并利用反向梯度法优化模型参数,更新向量数据库,得到训练好的大语言模型、向量模型和最终更新后的向量数据库。本方法训练的模型可以提高问答系统回答的准确性。
Description
技术领域
本发明涉及自然语言处理领域,特别涉及一种用于问答系统的模型训练方法、问答方法、用于问答系统的模型训练装置、问答装置、问答设备和存储介质。
背景技术
大语言模型通过海量文本的训练,学习到充分的知识存储在其模型参数中,具有广阔的知识和优化的对话能力,直接通过大语言模型搭建问答系统也是可行的方法。但当前的大语言模型在构建问答系统时存在一些问题,例如训练大语言模型时训练知识过时且难以更新,模型输出结果不准确,出现答非所问等问题。这些问题影响了大语言模型在问答系统的应用效果和推广能力,导致大语言模型在用于问答系统时效果较差。
发明内容
有鉴于此,本发明的目的在于提供用于一种用于问答系统的模型训练方法、问答方法、用于问答系统的模型训练装置、问答装置、问答设备和存储介质,解决了现有技术中基于大语言模型的问答系统回答准确性较差的问题。
为解决上述技术问题,本发明提供了一种用于问答系统的模型训练方法,包括:
利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;所述知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;所述隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;所述向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;
获取用于训练的问句答案对,将所述问句答案对中的问句输入到所述初始向量模型中,得到问句向量,根据所述问句向量从所述向量数据库中检索到目标文本,计算得到召回率;
根据预设角色、原则和所述目标文本拼接得到提示词,将所述提示词输入到所述初始大语言模型中,得到生成结果,根据所述生成结果和所述问句答案对中的答案,计算得到生成率;
根据所述生成率和所述召回率构建损失函数,根据所述损失函数,利用反向梯度法优化所述初始大语言模型和所述初始向量模型的参数,以及更新所述向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。
可选的,所述利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库,包括:
将所述知识文档中的文本切分为固定长度的段落;
利用所述预设提示词和所述初始大语言模型抽取所述段落中的隐藏知识,所述隐藏知识包括问答对、实体信息和段落小节;
利用所述初始向量模型分别根据切分好的所述段落、所述问答对、所述实体信息和所述段落小节构建向量数据库,得到段落向量数据库、问答对向量数据库、实体信息向量数据库和段落小节向量数据库。
可选的,所述根据所述问句向量从所述向量数据库中检索到目标文本,包括:
利用最近邻搜索方法分别根据各自对应的检索规则从各个所述向量数据库中检索到前预设数量个知识;
对所述前预设数量个知识进行过滤和重排得到所述目标文本。
可选的,所述根据所述生成率和所述召回率构建损失函数,根据所述损失函数,利用反向梯度法优化所述初始大语言模型和所述初始向量模型的参数,得到训练好的大语言模型和训练好的向量模型,包括:
所述损失函数为;
表示召回率;/>表示生成率;/>表示所述初始大语言模型的参数;/>表示所述初始向量模型的参数;/>表示召回内容;/>表示输入问句;/>表示所述初始大语言模型输出的生成结果;
利用所述损失函数和所述反向梯度法,协同更新所述初始向量模型和所述初始大语言模型的参数;
当达到结束条件时,得到所述训练好的大语言模型和所述训练好的向量模型。
可选的,所述更新所述向量数据库,包括:
按照预设频率更新所述向量数据库,当达到结果条件时,保存所述最终更新后的向量数据库。
本发明还提供了一种问答方法,包括:
预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,所述训练好的向量模型、所述训练好的大语言模型和所述最终更新后的向量数据库是根据上述的用于问答系统的模型训练方法得到的;
将用户问题输入到所述训练好的向量模型,得到问句向量;
根据所述问句向量从所述最终更新后的向量数据库中检索到目标文本,将预设角色、原则和所述目标文本进行拼接得到提示词,将所述提示词输入到所述训练好的大语言模型中,得到回答。
本发明还提供了一种用于问答系统的模型训练装置,包括:
数据库构建模块,用于利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;所述知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;所述隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;所述向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;
第一输入输出模块,用于获取用于训练的问句答案对,将所述问句答案对中的问句输入到所述初始向量模型中,得到问句向量,根据所述问句向量从所述向量数据库中检索到目标文本,计算得到召回率;
第二输入输出模块,用于根据预设角色、原则和所述目标文本拼接得到提示词,将所述提示词输入到所述初始大语言模型中,得到生成结果,根据所述生成结果和所述问句答案对中的答案,计算得到生成率;
模型训练模块,用于根据所述生成率和所述召回率构建损失函数,根据所述损失函数,利用反向梯度法优化所述初始大语言模型和所述初始向量模型的参数,以及更新所述向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。
本发明还提供了一种问答装置,包括:
模型获取模块,用于预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,所述训练好的向量模型、所述训练好的大语言模型和所述最终更新后的向量数据库是根据上述的用于问答系统的模型训练方法训练得到的;
第三输入输出模块,用于将用户问题输入到所述训练好的向量模型,得到问句向量;
第四输入输出模块,用于根据所述问句向量从所述最终更新后的向量数据库中检索到目标文本,将预设角色、原则和所述目标文本进行拼接得到提示词,将所述提示词输入到所述训练好的大语言模型中,得到回答。
本发明还提供了一种用于问答系统的模型训练系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述方法的步骤。
本发明还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述方法的步骤。
可见,本发明通过利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;获取用于训练的问句答案对,将问句答案对中的问句输入到初始向量模型中,得到问句向量,根据问句向量从向量数据库中检索到目标文本,计算得到召回率;根据预设角色、原则和目标文本拼接得到提示词,将提示词输入到初始大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案,计算得到生成率;根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,以及更新向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。基于上述的模型训练方法得到的向量模型和大语言模型,在后期的问答系统中可以提高回答的准确性。通过知识文档可以随时更新学习内容,并将学习到外部知识,也就是目标文本拼接到大语言模型的提示词上,以使大语言模型可以选择正确的知识,回答用户提出的问题;利用大语言模型和预设条件的提示词抽取知识文档的隐藏知识,进一步提高大语言模型对于知识的理解和挖掘,帮助大语言模型准确回答用户问题。
此外,本发明还提供了一种问答方法、用于问答系统的模型训练装置、问答装置、问答设备和存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种用于问答系统的模型训练方法的流程图;
图2为本发明实施例提供的一种用于问答方法的流程图;
图3为本发明实施例提供的一种向量数据库构建方法的流程示例图;
图4为本发明实施例提供的一种模型协同训练的流程示例图;
图5为本发明实施例提供的一种用于问答系统的模型训练装置的结构示意图;
图6为本发明实施例提供的一种问答装置的结构示意图;
图7为本发明实施例提供的一种问答设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本申请中涉及的若干名词进行解释:
提示词:是一种文本输入,用于引导模型生成所需的输出。在自然语言处理领域,提示词通常用于引导模型生成目标语言的翻译、文本摘要、文本生成等。提示词能够明确地给模型一个方向,帮助模型更好地理解和处理输入的文本。同时,好的提示词可以显著提高模型的生成质量和效率。
大语言模型(LLM,Large Language Model):指训练于大规模语料库的参数量巨大的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等。
向量模型:指自然语言处理技术中的一种模型,主要是将文本转化成高维度的向量表示,而转化后的向量可以代表文本的深层语义信息,并通过计算向量之间的相似度来判断文本之间的语义关系。一般来说,向量之间的相似度越近,文本之间的语言意思越相似。因此,向量模型这个技术常常被用于信息检索、文本匹配、文本聚类等任务上。
向量数据库:指能够存储和处理向量数据,并提供高效的向量检索功能的数据库。向量数据库最核心是支持向量的近似最相近搜索,即通过近似的相似度计算一个向量与其他所有向量之间的距离来找到最相似的向量(最相似的知识或内容);近似最近邻搜索往往会稍微牺牲搜索的质量,但是会极大提高检索的速度。随着Chatgpt等大语言模型的火爆,开源的向量数据库也如雨后春笋纷纷涌现。目前开源的数据库除了支持向量的存储和检索,还支持向量的结构化过滤、分布式存储等。
知识文档:指问答系统所有者为了满足问答需求,提前准备好的、覆盖用户问题的专业性内容。
隐藏知识:指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识。已知某公司规定每年涨薪10%,某员工入职月薪10000,可以推断该员工两年后的月薪是12100。
多路召回:指的是指采用不同的策略、特征或者简单模型,分别从不同的来源召回一部分候选集,然后再把这些候选集混合在一起后供后续排序模型使用的策略。这样做的好处一是增加召回的多样性,从多个角度候选出和用户问句最相似的知识;二是提高系统的鲁棒性,即使一路召回出现问题,其他召回通路也会正常运行不至于阻塞主流程。
当今社会,随着互联网的发展,用户每天都会接触到海量的信息。如何精准而又快速获取所需信息,一直未能得到有效解决。虽然各类搜索引擎努力满足用户信息检索的需求,但用户仍然只能通过关键词来搜索答案,而且需要从大量的搜索结果中筛选答案。随着大数据时代的来临,传统的信息搜索方式已不能满足用户的需求。
问答系统是信息检索领域长期以来的研究重点,旨在通过自然语言形式的句子进行提问,结合上下文语境为用户提供精准、可靠的答案,从而改善用户的搜索体验。问答系统主要需要解决三个问题:(1)理解用户问题;(2)检索相关信息;(3)生成答案返回用户。在深度学习阶段,处理问答系统通常采用管道式方法,依次解决每个问题,最终串联得到最终的答案。根据检索内容的储存方式,以往的问答系统可分为基于知识图谱的问答系统(如BERT(Bidirectional Encoder Representation from Transformers,是一个预训练的语言表征模型)、ROBERTA(BERT的改进版(A Robustly Optimized BERT,即简单粗暴称为强力优化的BERT方法))、GPT2(预训练语言模型))、基于问题答案对的问答系统、基于文档阅读理解的问答系统。例如,基于知识图谱的问答系统,首先解析出问句的主实体,以理解问题;然后从知识图谱中查询出主实体关联的多个三元组,组成子图路径,以检索相关内容;最后对问句和子图路径进行编码、排序,返回分数最高的路径作为答案,以生成答案返回用户。总的来说,管道式的问答系统包含多个中间步骤,最终返回答案的精确度取决于中间步骤的效果。相对而言,端到端的问答系统简化了中间步骤,能直接根据用户问句生成答案。然而,由于BERT、ELECTRA等预训练模型的模型参数量有限,它们在端到端的问答系统中的表现并不理想。
随着大语言模型技术的不断发展,大语言模型的参数规模已经扩展到千亿乃至万亿级别。其中,GPT-3.5、LLAMA(Large Language Model Meta AI,开源大模型)等巨型语言模型的诞生,为自然语言处理领域注入了强大的推动力。这些大语言模型之所以“大”有两大关键因素:首先,它们的参数规模庞大,这使得在面对小样本甚至零样本学习时,无需依赖标注数据进行精细调整,便能展现出卓越的效果;其次,这些模型通过海量文本的训练,汲取了丰富的知识,并将其内化于模型参数之中;这不仅赋予了模型广阔的知识储备,还优化了其对话能力。因此,能力强大的大语言模型的出现使得构建端到端的问答系统成为可能。直接通过大语言模型搭建问答系统也是可行的方法。但是,直接使用大语言模型也有一些问题,如:(1)知识容易过时,而且不好更新的问题。现实世界的数据一直在不断变化中,大语言模型预训练时记住的知识很容易已经过时,不能回答用户当前的问题;而重新训练大语言模型需要成千上万的显卡,是一个非常不经济的选择。(2)大语言模型的输出结果可能会受到幻觉之类的问题的干扰,影响最终的回答准确性。
本申请针对上述问题,提出了一种用于问答系统的模型训练方法,在原有的大语言模型和向量模型的基础上进行微调,并且还提取了隐藏知识,提高回答的准确性;基于知识文档进行模型训练可以随时学习到新知识,回答系统回答的问题都是新知识,而不是历史的无意义的旧知识。具体请参考图1,图1为本发明实施例提供的一种用于问答系统的模型训练方法的流程图。该方法可以包括:
S101:利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库。
可以理解的是,在模型训练初始时,需要对大语言模型和向量模型进行初始化,具体的初始化大语言模型L_σ的参数σ,并设置超参数α_σ(学习率);向量模型E_θ的参数θ,并设置超参数α_θ(学习率)。
本实施例并不对具体的模型进行限定。例如向量模型可以是bge、m3e、e5等开源向量模型,可以根据条件选择large、base、small版本,不同版本的向量模型大小不同,且向量的维度也有所不同。例如大语言模型可以是gpt-3或者opt,bloom等,若对这几个千亿级模型尚未有条件使用的话,可以使用相关开源的百亿参数级大模型,如glm系列开源模型等。本实施例也并不对向量数据库进行限定,只需满足支持百万以上向量的存储,并支持近似最近邻检索技术即可,比如局部敏感哈希(LSH)、分层可导航小世界(HNSW)或倒排文件索引(IVF)。向量数据库可以是Chroma、milvus、Pinecone等开源向量数据库中的任意一个。
本实施例中的知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库。
本实施例中的知识文档一般与该问答系统的角色相关。例如,该问答系统的角色为小学数学题的问答,则知识文档一般可以是各种小学数学教材、各种小学数学习题册等。大语言模型的训练过程中长尾知识出现次数有限,根据现有的学习方式,大模型接受能力并不是很高。所以通过知识文档中加入提示词的方式,可以让大模型问答中强调这些知识文档中的外部知识。本实施例并不对预设提示词进行限定,用户可以根据实际需求进行设定。例如,知识文档为背景知识类文档,则预设提示词可以为:请根据上述背景知识,尽量多生成问题,使得问题覆盖完整的背景知识,并给出详细的题目答案,具体的输出格式可以为:
问题1:xxx;
答案1:xxx;
问题2:xxx;
答案2:xxx。
本实施例并不对段落格式进行限定。例如,知识文档中的段落可以是划分得到的固定长度的段落;或者还可以是自然段落。本实施例并不对隐藏知识进行限定。进一步的,为了向量提取的准确性,上述利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库,可以包括以下步骤:
步骤21:将知识文档中的文本切分为固定长度的段落;
步骤22:利用预设提示词和初始大语言模型抽取段落中的隐藏知识,隐藏知识包括问答对、实体信息和段落小节;
步骤23:利用初始向量模型分别根据切分好的段落、问答对、实体信息和段落小节构建向量数据库,得到段落向量数据库、问答对向量数据库、实体信息向量数据库和段落小节向量数据库。
本实施例将知识文档中的文本切分成固定长度的段落,有利于将段落文本转化为向量以及段落中隐藏知识的抽取;利用预设提示词和大语言模型抽取段落中的问答对、实体信息和段落小节,利用向量模型得到段落向量数据库、问答对向量数据库、实体信息向量数据库和段落小节向量数据库。
在将知识文档会被切分成若干个固定长度的段落时,可能会由于文档内容的不确定性,段落切分时有可能从完整答案的中间切分开。此时,可以在切分节点的段落往前预设长度、往后预设长度各补充一部分重叠的内容,可以是一到两个完整句子的长度。补充的重叠内容一般是该切分节点附近的内容。
段落中包含多个句子,其中的语义信息过于杂乱;在将段落向量化操作后,多个语义杂糅的向量信息与用户问句差距可能较大,对于后期的向量召回可能难以获得较好的效果。因此,本实施例可以将固定长度的段落再切分成多个子句子,进行向量化的是子句子,而存储在向量数据库中的文本是完整的段落,再通过段落-子句子映射的方式,以优化后期段落的检索。也就是根据问句向量从向量数据库中检索的是段落的子句子,而输出的目标文本是向量化的段落。
S102:获取用于训练的问句答案对,将问句答案对中的问句输入到初始向量模型中,得到问句向量,根据问句向量从向量数据库中检索到目标文本,计算得到召回率。
大语言模型训练时包含海量的文本内容,甚至包括收集到的用户个人信息;直接通过大语言模型进行问答,会让大语言模型处于通过诱导泄露用户隐私的风险中。本实施例的模型训练是微调,只是为了提高大语言模型从召回知识中提炼问题和回答问题的能力;微调的过程中也是不会用到“隐私内容”,即问答对一般都是通常数据;当然,在问答的时候,用户也可以私人加入隐私的外部知识,让大语言模型回答,但训练的大语言模型只限于内部使用,或者对外公开版本的大语言模型并不包含隐私回答,这样隐私数据就不会被泄露。
本实施例利用向量模型将问句文本转化为问句向量,根据问句向量从向量数据库中进行检索,即根据匹配程度确定目标文本,计算召回率。本实施例并不限定具体的匹配算法。
进一步的,为了召回率计算的准确性,上述根据问句向量从向量数据库中检索到目标文本,可以包括以下步骤:
步骤31:利用最近邻搜索方法分别根据各自对应的检索规则从各个向量数据库中检索到前预设数量个知识;
步骤32:对前预设数量个知识进行过滤和重排得到目标文本。
本实施例采用最近邻搜索算法确定匹配对象,每个向量数据库都可以采用最近邻搜索算法,但是每个向量数据库有不同的检索规则,按照各自对应的检索规则得到知识,将匹配度大的对象作为知识,再对匹配得到的各类知识进行过滤和重排,以得到最终的对象,即目标文本。
S103:根据预设角色、原则和目标文本拼接得到提示词,将提示词输入到初始大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案,计算得到生成率。
本实施例中的预设角色为该系统是具体哪类问答系统,例如教学类问答系统;或者是娱乐类问答系统;或者是客服类问答系统。原则为用户对问答系统制定的回答规则,如若用户问题比较模糊,问答系统可以对对话进行澄清,请用户补充清楚他的问题,或者问答系统也可以给一些引导让用户选择他想问的问题;如果知识文档中包含问答,问答系统需要根据知识文档根据对话记录中的问题,可以对知识文档中的答案进行改写,使得答案更加通顺,更加符合对话语境;如果知识文档中没有包含答案,问答系统可以回答无法确定,不要擅自回答;作为问答机器人,请回答的内容尽量简短明了,一定不要回答和问题不相关的内容。
本实施例将问答系统的角色、用户对问答系统制定的回答规则和检索到的目标文本进行拼接,得到提示词,将提示词输入到大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案进行比对,计算得到生成率。
S104:根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,以及更新向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。
本实施例根据向量模型得到的召回率和根据大语言模型得到的生成率共同构建损失函数,根据损失函数不断利用反向梯度法优化大语言模型和向量模型参数。
通常向量模型采用的都是基于Transformers的编码器,可以将任意文本映射为低维稠密向量,其模型训练是由大规模文本对的对比学习而来。而大语言模型的训练则是以大规模语料预训练和少量语料指令微调这两步来实现的。向量模型和大语言模型都是在各自数据上分别训练,两者训练之间没有交互,结合起来效果往往不好。进一步的,为了提高模型训练效果,上述根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,得到训练好的大语言模型和训练好的向量模型,可以包括以下步骤:
步骤41:利用损失函数和反向梯度法,协同更新初始向量模型和初始大语言模型的参数;损失函数为;/>表示召回率;/>表示生成率;/>表示初始大语言模型的参数;/>表示初始向量模型的参数;/>表示召回内容;表示输入问句;/>表示初始大语言模型输出的生成结果;
步骤42:当达到结束条件时,得到训练好的大语言模型和训练好的向量模型。
本实施例协同训练向量模型和大语言模型,训练时参数的反向梯度传播会在向量模型和大语言模型中一起进行,向量模型的优化,让向量模型倾向于挑选出能够降低大语言模型所生成文本困惑度的候选;大语言模型的优化,让最终结果符合问答系统的输入要求。这样的改进可以在不增加训练资源的情况下同时优化向量模型和大语言模型,避免向量模型和大语言模型分别训练后出现1+1<2的情况。
进一步的,为了提高训练效率,上述更新向量数据库,可以包括以下步骤:
按照预设频率更新向量数据库,当达到结果条件时,保存最终更新后的向量数据库。
可以理解的是,在模型不断训练的过程中,参数不断优化,随着每次迭代向量模型的参数会发生变化,相应的向量数据库也会发生变化,考虑到对于大规模的知识文档,每次更新向量模型参数、重新计算所有知识的向量并导入到向量数据库中,这些操作过于费时费力;但是,如果不更新向量模型和数据库中的参数,则向量模型未能检索到与大语言模型相匹配的知识,训练效果没能达到。因此,本发明中需要两者的平衡点,可以每500个训练步数、更新一次向量数据库中的向量。
应用本发明实施例提供的用于问答系统的模型训练方法,通过利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;获取用于训练的问句答案对,将问句答案对中的问句输入到初始向量模型中,得到问句向量,根据问句向量从向量数据库中检索到目标文本,计算得到召回率;根据预设角色、原则和目标文本拼接得到提示词,将提示词输入到初始大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案,计算得到生成率;根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,以及更新向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。基于上述的模型训练方法得到的向量模型和大语言模型,在后期的问答系统中可以提高回答的准确性。通过知识文档可以随时更新学习内容,并将学习到外部知识,也就是目标文本拼接到大语言模型的提示词上,以使大语言模型可以选择正确的知识,回答用户提出的问题;利用大语言模型和预设条件的提示词抽取知识文档的隐藏知识,进一步提高大语言模型对于知识的理解和挖掘,帮助大语言模型准确回答用户问题。
本发明还提供了一种问答方法,请参考图2,图2为本发明实施例提供的一种问答方法的流程图,该方法可以包括:
S201:预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,所述训练好的向量模型、所述训练好的大语言模型和最终更新后的向量数据库是根据上述的用于问答系统的模型训练方法得到的;
S202:将用户问题输入到训练好的向量模型,得到问句向量;
S203:根据问句向量从最终更新后的向量数据库中检索到目标文本,将预设角色、原则和目标文本进行拼接得到提示词,将提示词输入到训练好的大语言模型中,得到回答。
将训练好的模型进行部署,在问答系统中应用。在实际应用中,需要提前切分好知识文档,抽取隐藏知识,并需要将所有的文本计算好向量、存入向量知识库中。以上过程作为系统的准备工作可以提前离线进行。问答系统能够根据用户的提问,通过多路召回的方法、选择出与用户问句最相似的知识,拼接好的提示词通过训练好的大语言模型中,大语言模型根据提示词中的知识生成符合用户意图的回答。具体流程如下:
给定当前问题d,使用向量模型E_θ计算其对应的向量;从向量数据库中选取k个与d语义相似的文本,得到文本集合C_L。
将预设角色、原则和文本集合C_L拼接得到提示词,送到大语言模型L_σ中,大语言模型从提示词中生成最终答案。
应用本发明实施例提供的问答方法,通过预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库是根据上述的用于问答系统的模型训练方法得到的;将用户问题输入到所述训练好的向量模型,得到问句向量;根据问句向量从最终更新后的向量数据库中检索到目标文本,将预设角色、原则和目标文本进行拼接得到提示词,将提示词输入到训练好的大语言模型中,得到回答。本方法利用训练好的向量模型和大语言模型,以及训练得到的最终更新后的向量数据库,在问答系统中可以提高回答的准确性。
为了使本发明更便于理解,具体请参考图3,图3为本发明实施例提供的一种向量数据库构建方法的流程示例图,图4为本发明实施例提供的一种模型协同训练的流程示例图。 将所有的知识文档进行段落切分,得到众多文本段落,然后利用大语言模型对段落进行隐藏信息提取,得到问答对、实体信息和段落小结(即段落总结),在讲问答对、实体信息、段落小节和各个文本段落输入到向量模型中,分别得到相对应的向量数据库:问答对向量数据库、实体信息向量数据库、段落小节向量数据库和文本段落向量数据库,基于用户问句向量从上述的各个向量数据库中分别进行多路召回,得到目标文本,根据目标文本计算得到召回率;并将目标文本、原则和用户问句拼接得到提示词,将该提示词输入到大语言模型中,得到问题答案,根据问题答案得到生成率;根据生成率和召回率计算得到损失函数,基于损失函数和反向梯度传播算法不断优化模型参数,并按照500步更新频率对向量数据库中的向量进行更新。
通过引入外部知识(即知识文档)召回的方法,可以随时更新的外部知识,将外部知识拼接到调用大模型的提示词(prompt)上,以便大模型可以根据外部知识、生成相对应的答案,以防大语言模型由于“幻觉”问题答非所问。抽取外部知识中的隐藏知识 ,提高了外部知识的召回能力,通过隐藏知识的抽取,可以提高问答系统对于外部知识的理解,帮助大语言模型准确回答用户问题。结合大语言模型、将外部知识多路召回的方法,对于知识文档,以及大语言模型抽取的问答对、实体信息、段落小节,都可以作为单独的召回源,多路召回的方法即从每个召回源中拿到若干个与用户问题相似的部分,之后再经过系统中的过滤、重排等方法,得到最终与用户查询问句最相近的外部知识,一起接入到大语言模型中,得到最终答案,通过多路召回的方法,大模型可以利用外部知识中更多的格式化信息,提高外部知识检索的相关性,降低对大语言模型从外部知识中抽取和总结答案的压力。协同训练向量模型和大语言模型,训练时参数的反向梯度传播会在向量模型和大语言模型中一起进行,向量模型的优化,让向量模型倾向于挑选出能够降低语言模型所生成文本困惑度的候选;大语言模型的优化,让最终结果符合问答系统的输入要求。
下面对本发明实施例提供的用于问答系统的模型训练装置进行介绍,下文描述的用于问答系统的模型训练装置与上文描述的用于问答系统的模型训练方法可相互对应参照。
具体请参考图5,图5为本发明实施例提供的一种用于问答系统的模型训练装置的结构示意图,可以包括:
数据库构建模块100,用于利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;所述知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;所述隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;所述向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;
第一输入输出模块200,用于获取用于训练的问句答案对,将所述问句答案对中的问句输入到所述初始向量模型中,得到问句向量,根据所述问句向量从所述向量数据库中检索到目标文本,计算得到召回率;
第二输入输出模块300,用于根据预设角色、原则和所述目标文本拼接得到提示词,将所述提示词输入到所述初始大语言模型中,得到生成结果,根据所述生成结果和所述问句答案对中的答案,计算得到生成率;
模型训练模块400,用于根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,以及更新向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。
基于上述实施例,其中数据库构建模块100,可以包括:
切分单元,用于将所述知识文档中的文本切分为固定长度的段落;
隐藏知识获取单元,用于利用所述预设提示词和所述初始大语言模型抽取所述段落中的隐藏知识,所述隐藏知识包括问答对、实体信息和段落小节;
数据库构建单元,用于利用所述初始向量模型分别根据切分好的所述段落、所述问答对、所述实体信息和所述段落小节构建向量数据库,得到段落向量数据库、问答对向量数据库、实体信息向量数据库和段落小节向量数据库。
基于上述实施例,其中第一输入输出模块200,可以包括:
检索单元,用于利用最近邻搜索方法分别根据各自对应的检索规则从各个所述向量数据库中检索到前预设数量个知识;
处理单元,用于对所述前预设数量个知识进行过滤和重排得到所述目标文本。
基于上述实施例,其中模型训练模块400,可以包括:
协同更新单元,用于利用所述损失函数和所述反向梯度法,协同更新所述初始向量模型和所述初始大语言模型的参数;所述损失函数为;表示召回率;/>表示生成率;/>表示所述初始大语言模型的参数;/>表示所述初始向量模型的参数;/>表示召回内容;/>表示输入问句;/>表示所述初始大语言模型输出的生成结果;
训练结束单元,用于当达到结束条件时,得到所述训练好的大语言模型和所述训练好的向量模型。
基于上述实施例,其中模型训练模块400,可以包括:
向量数据库更新单元,用于按照预设频率更新所述向量数据库,当达到结果条件时,保存所述最终更新后的向量数据库。
需要说明的是,上述用于问答系统的模型训练装置中的模块以及单元在不影响逻辑的情况下,其顺序可以前后进行更改。
应用本发明实施例提供的用于问答系统的模型训练装置,通过数据库构建模块100,用于利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;第一输入输出模块200,用于获取用于训练的问句答案对,将问句答案对中的问句输入到初始向量模型中,得到问句向量,根据问句向量从向量数据库中检索到目标文本,计算得到召回率;第二输入输出模块300,用于根据预设角色、原则和目标文本拼接得到提示词,将提示词输入到初始大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案,计算得到生成率;模型训练模块400,用于根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,以及更新向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。基于上述的模型训练方法得到的向量模型和大语言模型,在后期的问答系统中可以提高回答的准确性。通过知识文档可以随时更新学习内容,并将学习到外部知识,也就是目标文本拼接到大语言模型的提示词上,以使大语言模型可以选择正确的知识,回答用户提出的问题;利用大语言模型和预设条件的提示词抽取知识文档的隐藏知识,进一步提高大语言模型对于知识的理解和挖掘,帮助大语言模型准确回答用户问题。
下面对本发明实施例提供的问答装置进行介绍,下文描述的问答装置与上文描述的问答方法可相互对应参照。
具体请参考图6,图6为本发明实施例提供的一种问答装置的结构示意图,可以包括:
模型获取模块500,用于预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,所述训练好的向量模型、所述训练好的大语言模型和所述最终更新后的向量数据库是根据上述的用于问答系统的模型训练方法训练得到的;
第三输入输出模块600,用于将用户问题输入到所述训练好的向量模型,得到问句向量;
第四输入输出模块700,用于根据所述问句向量从所述最终更新后的向量数据库中检索到目标文本,将预设角色、原则和所述目标文本进行拼接得到提示词,将所述提示词输入到所述训练好的大语言模型中,得到回答。
应用本发明实施例提供的问答装置,通过模型获取模块500,用于预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库是根据上述的用于问答系统的模型训练方法训练得到的;第三输入输出模块600,用于将用户问题输入到训练好的向量模型,得到问句向量;第四输入输出模块700,用于根据问句向量从最终更新后的向量数据库中检索到目标文本,将预设角色、原则和目标文本进行拼接得到提示词,将提示词输入到训练好的大语言模型中,得到回答。本方法利用训练好的向量模型和大语言模型,以及训练得到的最终更新后的向量数据库,在问答系统中可以提高回答的准确性。
下面对本发明实施例提供的问答设备进行介绍,请参考图7,图7为本发明实施例提供的一种问答设备的结构示意图,可以包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序,以实现上述的问答方法和/或用于问答系统的模型训练方法。
存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。
在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本发明实施例中,存储器10中可以存储有用于实现以下功能的程序:
利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;
获取用于训练的问句答案对,将问句答案对中的问句输入到初始向量模型中,得到问句向量,根据问句向量从向量数据库中检索到目标文本,计算得到召回率;
根据预设角色、原则和目标文本拼接得到提示词,将提示词输入到初始大语言模型中,得到生成结果,根据生成结果和问句答案对中的答案,计算得到生成率;
根据生成率和召回率构建损失函数,根据损失函数,利用反向梯度法优化初始大语言模型和初始向量模型的参数,以及更新向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库;
或,
预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库是根据上述用于问答系统的模型训练方法得到的;
将用户问题输入到训练好的向量模型,得到问句向量;
根据问句向量从最终更新后的向量数据库中检索到目标文本,将预设角色、原则和目标文本进行拼接得到提示词,将提示词输入到训练好的大语言模型中,得到回答。
在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
通信接口31可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图7所示的结构并不构成对本发明实施例中问答设备的限定,在实际应用中问答设备可以包括比图7所示的更多或更少的部件,或者组合某些部件。
下面对本发明实施例提供的存储介质进行介绍,下文描述的存储介质与上文描述的问答方法和/或用于问答系统的模型训练方法可相互对应参照。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的问答方法和/或用于问答系统的模型训练方法的步骤。
该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的一种用于问答系统的模型训练方法、问答方法、用于问答系统的模型训练装置、问答装置、问答设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种用于问答系统的模型训练方法,其特征在于,包括:
利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;所述知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;所述隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;所述向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;
获取用于训练的问句答案对,将所述问句答案对中的问句输入到所述初始向量模型中,得到问句向量,根据所述问句向量从所述向量数据库中检索到目标文本,计算得到召回率;
根据预设角色、原则和所述目标文本拼接得到提示词,将所述提示词输入到所述初始大语言模型中,得到生成结果,根据所述生成结果和所述问句答案对中的答案,计算得到生成率;
根据所述生成率和所述召回率构建损失函数,根据所述损失函数,利用反向梯度法优化所述初始大语言模型和所述初始向量模型的参数,以及更新所述向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。
2.根据权利要求1所述的用于问答系统的模型训练方法,其特征在于,所述利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库,包括:
将所述知识文档中的文本切分为固定长度的段落;
利用所述预设提示词和所述初始大语言模型抽取所述段落中的隐藏知识,所述隐藏知识包括问答对、实体信息和段落小节;
利用所述初始向量模型分别根据切分好的所述段落、所述问答对、所述实体信息和所述段落小节构建向量数据库,得到段落向量数据库、问答对向量数据库、实体信息向量数据库和段落小节向量数据库。
3.根据权利要求1所述的用于问答系统的模型训练方法,其特征在于,所述根据所述问句向量从所述向量数据库中检索到目标文本,包括:
利用最近邻搜索方法分别根据各自对应的检索规则从各个所述向量数据库中检索到前预设数量个知识;
对所述前预设数量个知识进行过滤和重排得到所述目标文本。
4.根据权利要求1所述的用于问答系统的模型训练方法,其特征在于,所述根据所述生成率和所述召回率构建损失函数,根据所述损失函数,利用反向梯度法优化所述初始大语言模型和所述初始向量模型的参数,得到训练好的大语言模型和训练好的向量模型,包括:
所述损失函数为;
表示召回率;/>表示生成率;/>表示所述初始大语言模型的参数;/>表示所述初始向量模型的参数;/>表示召回内容;/>表示输入问句;/>表示所述初始大语言模型输出的生成结果;
利用所述损失函数和所述反向梯度法,协同更新所述初始向量模型和所述初始大语言模型的参数;
当达到结束条件时,得到所述训练好的大语言模型和所述训练好的向量模型。
5.根据权利要求1所述的用于问答系统的模型训练方法,其特征在于,所述更新所述向量数据库,包括:
按照预设频率更新所述向量数据库,当达到结果条件时,保存所述最终更新后的向量数据库。
6.一种问答方法,其特征在于,包括:
预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,所述训练好的向量模型、所述训练好的大语言模型和所述最终更新后的向量数据库是根据权利要求1至5任一项所述的用于问答系统的模型训练方法得到的;
将用户问题输入到所述训练好的向量模型,得到问句向量;
根据所述问句向量从所述最终更新后的向量数据库中检索到目标文本,将预设角色、原则和所述目标文本进行拼接得到提示词,将所述提示词输入到所述训练好的大语言模型中,得到回答。
7.一种用于问答系统的模型训练装置,其特征在于,包括:
数据库构建模块,用于利用预设提示词和初始大语言模型从知识文档中的段落中抽取隐藏知识,并利用初始向量模型构建向量数据库;所述知识文档指为了满足问答需求、预先准备好的、覆盖用户问题的专业性内容;所述隐藏知识指非显示的、需要通过推理总结或者通过深层理解的未直接表露的知识;所述向量数据库指能够存储和处理向量数据,并提供向量检索功能的数据库;
第一输入输出模块,用于获取用于训练的问句答案对,将所述问句答案对中的问句输入到所述初始向量模型中,得到问句向量,根据所述问句向量从所述向量数据库中检索到目标文本,计算得到召回率;
第二输入输出模块,用于根据预设角色、原则和所述目标文本拼接得到提示词,将所述提示词输入到所述初始大语言模型中,得到生成结果,根据所述生成结果和所述问句答案对中的答案,计算得到生成率;
模型训练模块,用于根据所述生成率和所述召回率构建损失函数,根据所述损失函数,利用反向梯度法优化所述初始大语言模型和所述初始向量模型的参数,以及更新所述向量数据库,得到训练好的大语言模型、训练好的向量模型和最终更新后的向量数据库。
8.一种问答装置,其特征在于,包括:
模型获取模块,用于预先获取训练好的向量模型、训练好的大语言模型和最终更新后的向量数据库,所述训练好的向量模型、所述训练好的大语言模型和所述最终更新后的向量数据库是根据权利要求1至5任一项所述的用于问答系统的模型训练方法训练得到的;
第三输入输出模块,用于将用户问题输入到所述训练好的向量模型,得到问句向量;
第四输入输出模块,用于根据所述问句向量从所述最终更新后的向量数据库中检索到目标文本,将预设角色、原则和所述目标文本进行拼接得到提示词,将所述提示词输入到所述训练好的大语言模型中,得到回答。
9.一种用于问答设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410503318.5A CN118093841B (zh) | 2024-04-25 | 一种用于问答系统的模型训练方法和问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410503318.5A CN118093841B (zh) | 2024-04-25 | 一种用于问答系统的模型训练方法和问答方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118093841A true CN118093841A (zh) | 2024-05-28 |
CN118093841B CN118093841B (zh) | 2024-06-25 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021012519A1 (zh) * | 2019-07-19 | 2021-01-28 | 平安科技(深圳)有限公司 | 基于人工智能的问答方法、装置、计算机设备及存储介质 |
WO2021135910A1 (zh) * | 2020-06-24 | 2021-07-08 | 平安科技(深圳)有限公司 | 基于机器阅读理解的信息抽取方法、及其相关设备 |
CN114416927A (zh) * | 2022-01-24 | 2022-04-29 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
CN117056483A (zh) * | 2023-08-11 | 2023-11-14 | 软通智慧科技有限公司 | 一种问答方法、装置、电子设备以及存储介质 |
CN117290492A (zh) * | 2023-11-27 | 2023-12-26 | 深圳市灵智数字科技有限公司 | 知识库问答方法、装置、电子设备及存储介质 |
CN117688163A (zh) * | 2024-01-29 | 2024-03-12 | 杭州有赞科技有限公司 | 基于指令微调和检索增强生成的在线智能问答方法及装置 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021012519A1 (zh) * | 2019-07-19 | 2021-01-28 | 平安科技(深圳)有限公司 | 基于人工智能的问答方法、装置、计算机设备及存储介质 |
WO2021135910A1 (zh) * | 2020-06-24 | 2021-07-08 | 平安科技(深圳)有限公司 | 基于机器阅读理解的信息抽取方法、及其相关设备 |
CN114416927A (zh) * | 2022-01-24 | 2022-04-29 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
CN117056483A (zh) * | 2023-08-11 | 2023-11-14 | 软通智慧科技有限公司 | 一种问答方法、装置、电子设备以及存储介质 |
CN117290492A (zh) * | 2023-11-27 | 2023-12-26 | 深圳市灵智数字科技有限公司 | 知识库问答方法、装置、电子设备及存储介质 |
CN117688163A (zh) * | 2024-01-29 | 2024-03-12 | 杭州有赞科技有限公司 | 基于指令微调和检索增强生成的在线智能问答方法及装置 |
Non-Patent Citations (1)
Title |
---|
夏远远;王宇;: "基于HNC理论的社区问答系统问句检索模型构建", 计算机应用与软件, no. 08, 31 August 2018 (2018-08-31) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114020862B (zh) | 一种面向煤矿安全规程的检索式智能问答系统及方法 | |
CN111368514B (zh) | 模型训练及古诗生成方法、古诗生成装置、设备和介质 | |
CN110096567A (zh) | 基于qa知识库推理的多轮对话回复选择方法、系统 | |
CN108628935A (zh) | 一种基于端到端记忆网络的问答方法 | |
CN113157885B (zh) | 一种面向人工智能领域知识的高效智能问答系统 | |
CN108763529A (zh) | 一种智能检索方法、装置和计算机可读存储介质 | |
CN112214996A (zh) | 一种面向科技信息文本的文本摘要生成方法及系统 | |
CN111881264B (zh) | 一种开放领域问答任务中长文本检索的方法和电子设备 | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
CN117688163B (zh) | 基于指令微调和检索增强生成的在线智能问答方法及装置 | |
CN117648429B (zh) | 基于多模态自适应检索式增强大模型的问答方法及系统 | |
CN113190692B (zh) | 一种知识图谱的自适应检索方法、系统及装置 | |
CN112685538B (zh) | 一种结合外部知识的文本向量检索方法 | |
CN117076636A (zh) | 一种智能客服的信息查询方法、系统和设备 | |
CN115203378B (zh) | 基于预训练语言模型的检索增强方法、系统及存储介质 | |
CN118093841B (zh) | 一种用于问答系统的模型训练方法和问答方法 | |
CN118093841A (zh) | 一种用于问答系统的模型训练方法和问答方法 | |
CN115700579A (zh) | 广告文本生成方法及其装置、设备、介质 | |
CN114637855A (zh) | 基于知识图谱的搜索方法、装置、计算机设备及存储介质 | |
CN115186073A (zh) | 一种基于混合检索的开放域表格文本问答方法 | |
CN114328820A (zh) | 信息搜索方法以及相关设备 | |
CN112507097A (zh) | 一种提高问答系统泛化能力的方法 | |
CN113626566B (zh) | 一种基于合成数据的知识对话跨域学习方法 | |
CN117808923B (zh) | 一种图像生成方法、系统、电子设备及可读存储介质 | |
CN117035064B (zh) | 一种检索增强语言模型的联合训练方法及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |