System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于中医问答,涉及一种中医问答方法、设备及介质,尤其是一种基于长文档检索增强生成的中医问答方法、设备及介质。
技术介绍
1、检索增强生成技术,主要是两大技术的融合:检索和生成。这种方法通常由一个检索器和一个生成器组成。检索器通常采用信息检索方法,生成器则通常是语言模型。检索器负责根据问题从外部知识库中获取与问题相关的知识,生成器则负责结合问题和检索到的知识进行生成。
2、目前主流信息检索方法包括基于稀疏向量的方法,比如tf-idf或者bm25,以及最近的基于密集向量的方法,如dpr、ance和contriever等。但是,基于稀疏向量的检索方法通过倒排索引高效匹配关键词,建立在问题与相关文档存在词汇重叠的基础之上,主要侧重于召回具有相似表达的文本,忽略了语义信息。为了充分利用文本中丰富的语义知识,有人引入了基于密集向量的方法,该方法通常遵循双编码器架构,即通过编码器将查询和文本映射到具体的语义向量空间下,把信息搜索问题转化为在给定空间下向量间的最近邻搜索问题。
3、为了引入检索来增强语言模型,realm和rag将检索融入到条件生成中,通过将检索到的文档和输入结合,进行概率建模和边缘化,实现了检索器和语言模型的联合优化。realm在预训练阶段引入一个知识检索器,以无监督的方式通过预测被掩码的原始token为目标训练这个检索器,使得语言模型能够在预训练、精调、推理阶段显式地使用知识库中的知识。rag将预训练的seq2seq生成模型和基于dpr的双编码器架构的检索器组合在一个端到端训练的概率模型中,进
4、但是,当前由于部分语言模型参数规模变得越来越大且并不开源,如大模型gpt-3的参数规模达到175b,检索器和语言模型的联合学习的方法变的不再通用。replug提出将语言模型视为一个黑盒,检索组件被添加为一个可调的插件模块,利用语言模型产生监督信号,从而去优化检索器。webglm利用大模型的能力来训练增强检索器的性能,从万维网中检索知识来引导语言模型生成。
5、总的来说,检索增强生成技术的核心在于如何利用外部知识库来强化语言模型的生成。但是由于大模型的输入长度受限,如gpt-3的最大输入限制是4096个token,所以无法将知识库中的所有文档都输入到大模型中,因此需要找到与问题最相似的k个相关文档作为输入。现有方法通常利用嵌入模型将问题和文档转换为向量,并根据向量之间的相似性召回相关文档。
6、然而,现有适用检索领域的嵌入模型大多基于bert模型训练得到的,bert模型的最大输入长度为512个token,无法处理长文档数据,并且某些长文档的长度可能仍超过了大模型的输入长度。故需要将长文档切分成多个短文档。现有的检索增强生成技术通常聚焦短文档的检索器和生成器的优化,没有针对长文档进行特殊的处理,对长文档的处理方法通常是简单地按长度切分,可能导致文档语义不完整,且与问题相关的信息可能被切分在多个文档中。另外,检索到的文档通常包含大量与问题无关的噪声信息,占用了大量的token输入。
7、鉴于现有技术的缺陷,需要研究一种新型的基于长文档的检索增强生成技术。
技术实现思路
1、为了克服现有技术的缺陷,本专利技术提出了一种基于长文档检索增强生成的中医问答方法、设备及介质,其能够提高检索和生成能力,确保检索到的知识与问题的相关性,提取更短、更准确的相关信息,去除与问题无关的噪声输入,帮助大语言模型生成更加准确的答案;同时,在生成的结果中标注参考的文档来源,增强大语言模型的可解释性,从而有望缓解大语言模型在特定领域,如中医问答领域的幻觉问题和实时数据不足的问题,为中医问答提供更准确、有针对性的答案。
2、为了实现上述目的,本专利技术提供如下技术方案:
3、一种基于长文档检索增强生成的中医问答方法,其特征在于,包括以下步骤:
4、1)、问题扩展:构建提示模板,使用大语言模型对用户问题进行扩展,以生成扩展问题;
5、2)、文档切分:将中医知识库进行文档切分以形成多个短文档dd;
6、3)、文档召回:使用编码器将所述多个短文档dd进行编码以得到多个文档向量,并使用编码器将所述用户问题和扩展问题进行编码以得到问题向量和扩展问题向量,然后分别计算所述问题向量和扩展问题向量与每个所述文档向量之间的相似度,根据相似度召回两组分别与所述问题向量和扩展问题向量最相关的前kr个短文档dd,并对所述前kr个短文档dd进行去重合并后作为最终的召回文档集dr;
7、4)、重排序:使用交叉编码器对所述用户问题与所述召回文档集dr中的短文档dd进行相关性打分并排序,选择与所述用户问题相关性最强的前krr个短文档dd,组成文档集drr;
8、5)、大语言模型选择:将所述文档集drr中的短文档dd还原成长文档,并使用大语言模型对还原后的长文档进行选择过滤,以筛选出与所述用户问题相关的文档段落ds,组成选择的文档集ds;
9、6)、大语言模型生成:构建提示模板,并将所述用户问题与所述选择的文档集ds一起输入大语言模型,让大语言模型根据所述选择的文档集ds来进行回答,以生成答案。
10、优选地,所述步骤2)具体包括:
11、2.1)、设置文档的最大长度阈值lmax,文档切分后的最小长度阈值lmin和滑动窗口大小w;
12、2.2)、把中医知识库的每个知识点小节视为一个文档d,然后根据文档d的长度进行判断和切分,如果文档d的长度超过所述文档的最大长度阈值lmax则将所述文档d视为长文档dl,并需对长文档dl进行切分,以形成多个短文档dd,如果文档d的长度不超过所述文档的最大长度阈值lmax则直接将文档d视为短文档dd,不用进行切分;
13、2.3)、对于长文档dl,按照句子和长度划分,当句子累计长度达到lmax后则切分成一个短文档dd,并设置滑动窗口w,使相邻的短文档dd之间设置w个句子重叠,以保持语义的连贯性,如果长文档dl切分后的最后一个短文档dd的长度小于所述文档切分后的最小长度阈值lmin,则不再将其划分为一个新的短文档dd,而是直接拼接到上一个短文档dd的末尾;
14、2.4)、对所有的短文档dd,在开头加上其所在小节对应的书籍名称、章节名称和小节名称。
15、优选地,在所述步骤2.3)中,保留切分后的每个所述短文档dd与所述长文档dl的映射关系,以便后续还原成长文档dl。
16、优本文档来自技高网...
【技术保护点】
1.一种基于长文档检索增强生成的中医问答方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤2)具体包括:
3.根据权利要求2所述的基于长文档检索增强生成的中医问答方法,其特征在于,在所述步骤2.3)中,保留切分后的每个所述短文档dd与所述长文档dl的映射关系,以便后续还原成长文档dl。
4.根据权利要求3所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤3)中,得到所述多个文档向量后,将所述多个文档向量存入向量数据库FAISS中并构建索引。
5.根据权利要求4所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤3)中,在进行召回时,从所述向量数据库FAISS中进行召回。
6.根据权利要求5所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤4)中的使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分具体包括:
7.根据权利要求6所述的基于长文档检索增强生成的中医问答方法,其特征在于,
8.根据权利要求7所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤6)中在让大语言模型根据所述选择的文档集Ds来进行回答,以生成答案时,通过标注示例来引导所述大语言模型对答案添加引用标记,并在末尾列出参考文档来源。
9.一种基于长文档检索增强生成的中医问答设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的基于长文档检索增强生成的中医问答方法中的步骤。
...【技术特征摘要】
1.一种基于长文档检索增强生成的中医问答方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤2)具体包括:
3.根据权利要求2所述的基于长文档检索增强生成的中医问答方法,其特征在于,在所述步骤2.3)中,保留切分后的每个所述短文档dd与所述长文档dl的映射关系,以便后续还原成长文档dl。
4.根据权利要求3所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤3)中,得到所述多个文档向量后,将所述多个文档向量存入向量数据库faiss中并构建索引。
5.根据权利要求4所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤3)中,在进行召回时,从所述向量数据库faiss中进行召回。
6.根据权利要求5所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤4)中的使用交叉编码器对所述用户问题与所...
【专利技术属性】
技术研发人员:赵庆飞,岑宇阔,毛文静,
申请(专利权)人:北京智谱华章科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。