CN117828050B - 基于长文档检索增强生成的中医问答方法、设备及介质 - Google Patents
基于长文档检索增强生成的中医问答方法、设备及介质 Download PDFInfo
- Publication number
- CN117828050B CN117828050B CN202311849418.5A CN202311849418A CN117828050B CN 117828050 B CN117828050 B CN 117828050B CN 202311849418 A CN202311849418 A CN 202311849418A CN 117828050 B CN117828050 B CN 117828050B
- Authority
- CN
- China
- Prior art keywords
- document
- question
- long
- short
- language model
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/90—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to alternative medicines, e.g. homeopathy or oriental medicines
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Public Health (AREA)
- Pharmacology & Pharmacy (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Alternative & Traditional Medicine (AREA)
- Human Computer Interaction (AREA)
- Epidemiology (AREA)
- Machine Translation (AREA)
Abstract
本发明属于中医问答技术领域,涉及一种基于长文档检索增强生成的中医问答方法、设备及介质,所述方法包括以下步骤:1)、问题扩展;2)、文档切分;3)、文档召回;4)、重排序;5)、大语言模型选择;6)、大语言模型生成。其能够提高检索和生成能力,确保检索到的知识与问题的相关性,提取更短、更准确的相关信息,去除与问题无关的噪声输入,帮助大语言模型生成更加准确的答案;同时,在生成的结果中标注参考的文档来源,增强大语言模型的可解释性,由此,能够缓解大语言模型在特定领域,如中医问答领域的幻觉问题和实时数据不足的问题,为中医问答提供更准确、有针对性的答案。
Description
技术领域
本发明属于中医问答技术领域,涉及一种中医问答方法、设备及介质,尤其是一种基于长文档检索增强生成的中医问答方法、设备及介质。
背景技术
检索增强生成技术,主要是两大技术的融合:检索和生成。这种方法通常由一个检索器和一个生成器组成。检索器通常采用信息检索方法,生成器则通常是语言模型。检索器负责根据问题从外部知识库中获取与问题相关的知识,生成器则负责结合问题和检索到的知识进行生成。
目前主流信息检索方法包括基于稀疏向量的方法,比如TF-IDF或者BM25,以及最近的基于密集向量的方法,如DPR、ANCE和Contriever等。但是,基于稀疏向量的检索方法通过倒排索引高效匹配关键词,建立在问题与相关文档存在词汇重叠的基础之上,主要侧重于召回具有相似表达的文本,忽略了语义信息。为了充分利用文本中丰富的语义知识,有人引入了基于密集向量的方法,该方法通常遵循双编码器架构,即通过编码器将查询和文本映射到具体的语义向量空间下,把信息搜索问题转化为在给定空间下向量间的最近邻搜索问题。
为了引入检索来增强语言模型,REALM和RAG将检索融入到条件生成中,通过将检索到的文档和输入结合,进行概率建模和边缘化,实现了检索器和语言模型的联合优化。REALM在预训练阶段引入一个知识检索器,以无监督的方式通过预测被掩码的原始token为目标训练这个检索器,使得语言模型能够在预训练、精调、推理阶段显式地使用知识库中的知识。RAG将预训练的seq2seq生成模型和基于DPR的双编码器架构的检索器组合在一个端到端训练的概率模型中,进行检索和生成的端到端学习,可以用于各种知识密集的自然语言处理任务。Fusion-in-Decoder提出将检索到的文本和问题通过编码器分别编码,然后拼接在一起输入解码器生成最终的回答。Atlas联合训练检索器和语言模型,利用基于Contriever的检索器检索到的文本来增强语言模型,语言模型采用和Fusion-in-Decoder同样的生成方式,可以通过少量的训练样本学习到特定任务的知识,以较少的模型参数达到媲美大规模语言模型的效果。
但是,当前由于部分语言模型参数规模变得越来越大且并不开源,如大模型GPT-3的参数规模达到175B,检索器和语言模型的联合学习的方法变的不再通用。REPLUG提出将语言模型视为一个黑盒,检索组件被添加为一个可调的插件模块,利用语言模型产生监督信号,从而去优化检索器。WebGLM利用大模型的能力来训练增强检索器的性能,从万维网中检索知识来引导语言模型生成。
总的来说,检索增强生成技术的核心在于如何利用外部知识库来强化语言模型的生成。但是由于大模型的输入长度受限,如GPT-3的最大输入限制是4096个token,所以无法将知识库中的所有文档都输入到大模型中,因此需要找到与问题最相似的k个相关文档作为输入。现有方法通常利用嵌入模型将问题和文档转换为向量,并根据向量之间的相似性召回相关文档。
然而,现有适用检索领域的嵌入模型大多基于Bert模型训练得到的,Bert模型的最大输入长度为512个token,无法处理长文档数据,并且某些长文档的长度可能仍超过了大模型的输入长度。故需要将长文档切分成多个短文档。现有的检索增强生成技术通常聚焦短文档的检索器和生成器的优化,没有针对长文档进行特殊的处理,对长文档的处理方法通常是简单地按长度切分,可能导致文档语义不完整,且与问题相关的信息可能被切分在多个文档中。另外,检索到的文档通常包含大量与问题无关的噪声信息,占用了大量的token输入。
鉴于现有技术的缺陷,需要研究一种新型的基于长文档的检索增强生成技术。
发明内容
为了克服现有技术的缺陷,本发明提出了一种基于长文档检索增强生成的中医问答方法、设备及介质,其能够提高检索和生成能力,确保检索到的知识与问题的相关性,提取更短、更准确的相关信息,去除与问题无关的噪声输入,帮助大语言模型生成更加准确的答案;同时,在生成的结果中标注参考的文档来源,增强大语言模型的可解释性,从而有望缓解大语言模型在特定领域,如中医问答领域的幻觉问题和实时数据不足的问题,为中医问答提供更准确、有针对性的答案。
为了实现上述目的,本发明提供如下技术方案:
一种基于长文档检索增强生成的中医问答方法,其特征在于,包括以下步骤:
1)、问题扩展:构建提示模板,使用大语言模型对用户问题进行扩展,以生成扩展问题;
2)、文档切分:将中医知识库进行文档切分以形成多个短文档dd;
3)、文档召回:使用编码器将所述多个短文档dd进行编码以得到多个文档向量,并使用编码器将所述用户问题和扩展问题进行编码以得到问题向量和扩展问题向量,然后分别计算所述问题向量和扩展问题向量与每个所述文档向量之间的相似度,根据相似度召回两组分别与所述问题向量和扩展问题向量最相关的前Kr个短文档dd,并对所述前Kr个短文档dd进行去重合并后作为最终的召回文档集Dr;
4)、重排序:使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分并排序,选择与所述用户问题相关性最强的前Krr个短文档dd,组成文档集Drr;
5)、大语言模型选择:将所述文档集Drr中的短文档dd还原成长文档,并使用大语言模型对还原后的长文档进行选择过滤,以筛选出与所述用户问题相关的文档段落ds,组成选择的文档集Ds;
6)、大语言模型生成:构建提示模板,并将所述用户问题与所述选择的文档集Ds一起输入大语言模型,让大语言模型根据所述选择的文档集Ds来进行回答,以生成答案。
优选地,所述步骤2)具体包括:
2.1)、设置文档的最大长度阈值Lmax,文档切分后的最小长度阈值Lmin和滑动窗口大小w;
2.2)、把中医知识库的每个知识点小节视为一个文档d,然后根据文档d的长度进行判断和切分,如果文档d的长度超过所述文档的最大长度阈值Lmax则将所述文档d视为长文档dl,并需对长文档dl进行切分,以形成多个短文档dd,如果文档d的长度不超过所述文档的最大长度阈值Lmax则直接将文档d视为短文档dd,不用进行切分;
2.3)、对于长文档dl,按照句子和长度划分,当句子累计长度达到Lmax后则切分成一个短文档dd,并设置滑动窗口w,使相邻的短文档dd之间设置w个句子重叠,以保持语义的连贯性,如果长文档dl切分后的最后一个短文档dd的长度小于所述文档切分后的最小长度阈值Lmin,则不再将其划分为一个新的短文档dd,而是直接拼接到上一个短文档dd的末尾;
2.4)、对所有的短文档dd,在开头加上其所在小节对应的书籍名称、章节名称和小节名称。
优选地,在所述步骤2.3)中,保留切分后的每个所述短文档dd与所述长文档dl的映射关系,以便后续还原成长文档dl。
优选地,所述步骤3)中,得到所述多个文档向量后,将所述多个文档向量存入向量数据库FAISS中并构建索引。
优选地,所述步骤3)中,在进行召回时,从所述向量数据库FAISS中进行召回。
优选地,所述步骤4)中的使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分具体包括:
4.1)、使用交叉编码器将所述用户问题与所述召回文档集Dr中的短文档dd使用分隔符拼接起来作为输入,并通过深度神经网络来建模,以获得深层交互的表示;
4.2)、在深层交互表示的基础上应用多层感知器来预测所述用户问题与所述召回文档集Dr中的短文档dd的相关性得分。
优选地,所述步骤5)中,在筛选出与所述用户问题相关的文档段落ds后,利用交叉编码器对所述用户问题与所述文档段落ds再次进行相关性打分并排序,选择与所述用户问题相关性最强的Ks个文档段落ds,组成所述选择的文档集Ds。
优选地,所述步骤6)中在让大语言模型根据所述选择的文档集Ds来进行回答,以生成答案时,通过标注示例来引导所述大语言模型对答案添加引用标记,并在末尾列出参考文档来源。
此外,本发明还提供一种基于长文档检索增强生成的中医问答设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述基于长文档检索增强生成的中医问答方法。
最后,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述基于长文档检索增强生成的中医问答方法中的步骤。
与现有技术相比,本发明的基于长文档检索增强生成的中医问答方法、设备及介质具有如下有益技术效果中的一者或多者:
1、本发明结合大语言模型对用户问题进行扩展,利用大语言模型的知识丰富用户问题的信息,并设计针对长文档的中医知识库的切分方法,保证切分后的文档具有丰富的语义信息,提高检索召回能力。
2、本发明采用大语言模型选择长文档的相关段落的方案,利用大语言模型对原始长文档筛选出与用户问题匹配的段落,有效避免了因长文档切分导致大语言模型生成时接收的相关信息不完整的问题,并且可以过滤与用户问题不相关的噪声信息,使输入大语言模型的相关文本更短且更完整,有效地提高了大语言模型生成的回答的效果。
3、本发明利用大语言模型的能力,通过少样本的标注示例来引导大语言模型在生成答案时标注引用信息,并给出参考文献来源,提供了可解释性。
附图说明
图1是本发明的基于长文档检索增强生成的中医问答方法的流程示意图。
具体实施方式
在详细说明本发明的任何实施方式之前,应理解的是,本发明在其应用中并不限于以下描述阐述或以下附图图示的部件的构造和布置细节。本发明能够具有其他实施方式并且能够以各种方式实践或进行。另外,应理解的是,这里使用的措辞和术语出于描述的目的并且不应该被认为是限制性的。本文中使用“包括”或“具有”及其变型意在涵盖下文中陈列的条目及其等同物以及附加条目。
并且,在本发明的揭露中,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
生成式大语言模型如GPT-3,已经极大地提升了人工智能在自然语言理解和生成方面的能力,可以完成诸多复杂的自然语言处理任务,如问答、写作、翻译、代码理解等等。然而,大语言模型主要是基于公开可用的高频数据进行训练的,因此在私有领域和长尾知识的掌握上存在不足。同时,受限于模型参数,大语言模型无法完全存储世界知识,且其内部知识具有静态特性,很难进行实时更新。此外,大语言模型还存在幻觉问题,即在面对不熟悉的问题时,大语言模型会虚构看似专业但无事实依据的答案,而在中医等关键任务领域中回答的准确性和可靠性至关重要,大语言模型的幻觉问题可能导致严重后果。
通过检索增强生成技术,可以帮助大语言模型注入当前领域知识并减少幻觉。然而,现有的检索增强生成技术通常聚焦于针对短文档的检索器和生成器进行优化,对长文档数据的处理能力不足。对于长文档数据一般采用简单的切分策略,如按长度切分,但这种方法很难保证切分后的文档具有丰富的语义信息,并且与用户问题相关的完整信息可能被切分在多个文档之中。此外,文档中还可能包含大量与用户问题无关的噪声信息。
为解决上述问题,本发明提出了一种针对长文档知识库检索增强大语言模型生成方法,旨在提高检索和生成能力,确保检索到的知识与用户问题的相关性,提取更短、更准确的相关信息,去除与问题无关的噪声输入,帮助大语言模型生成更加准确的答案。同时,在生成的结果中标注参考的文档来源,增强大语言模型的可解释性。通过这一方法,有望缓解大语言模型在特定领域,如中医问答领域的幻觉问题和实时数据不足的问题,为中医问答提供更准确、有针对性的答案。
图1示出了本发明的基于长文档检索增强生成的中医问答方法的流程示意图。如图1所示,本发明的基于长文档检索增强生成的中医问答方法包括以下步骤:
一、问题扩展。
在进行中医问答时,首先要给定一个用户问题q。但是,通常的用户问题都是十分简单的,通过用户问题召回相关文档是一个非对称的语义匹配问题,用户问题的语义不完整和信息量太少都会极大地影响召回的效果。因此,在本发明中,需要对用户问题进行扩展,也就是,构建提示模板,使用大语言模型对用户问题进行扩展,以生成扩展问题q′。
具体地,通过设计提示模板,借助大语言模型内部丰富的知识对用户问题进行一个简单的回答扩展,提取大语言模型内部与用户问题最相关的知识,并只输出简洁关键的信息,过滤无关的信息噪声,从而获得大量与原始用户问题匹配的相关信息。尤其是在用户问题较短或不明确的情况下,大语言模型能够提供的丰富的语义信息。具体计算公式如下:
q′=LLM(promptq(q))
其中,LLM是大语言模型,而promptq是基于用户问题扩展设计的提示模板,q是用户问题,q′是扩展后的扩展问题。
二、文档切分。
在进行中医问答时,还必须提供一个知识库Dl。知识库Dl中包含Nl个文档d,其中长度较长的文档d视为长文档dl。
在召回之前,需要对中医知识库进行处理,其中的长文档dl需要进行文档切分,防止其长度超过编码器和大语言模型的最大输入。
在本发明中,文档切分就是将中医知识库中的长文档dl进行文档切分以形成多个短文档dd。考虑到使用的中医知识库是各类中医书籍,因此,本发明针对中医书籍专门设计了一种文档切分策略。该文档切分策略如下:
首先,设置文档的最大长度阈值Lmax,文档切分后的最小长度阈值Lmin和滑动窗口大小w。
其次、把中医知识库(也就是,中医书籍)的每个知识点小节视为一个文档d,然后根据文档d的长度进行判断和切分。如果文档d的长度超过所述文档的最大长度阈值Lmax,则将所述文档d视为长文档dl,并需对长文档dl进行切分,以形成多个短文档dd;如果文档d的长度不超过所述文档的最大长度阈值Lmax,则直接将文档d视为短文档dd,不用进行切分。
再次,对于长文档dl,按照句子和长度进行切分。也就是,当句子累计长度达到Lmax后,则切分成一个短文档dd,并设置滑动窗口w,使相邻的两个短文档dd之间设置w个句子重叠,以保持语义的连贯性。如果长文档dl切分后的最后一个短文档dd的长度小于所述文档切分后的最小长度阈值Lmin,则不再将其划分为一个新的短文档dd,而是直接拼接到上一个短文档dd的末尾。并且,在切分时,需要保留切分后的每个所述短文档dd与所述长文档dl的映射关系,以便后续还原成长文档dl。
最后、对所有的短文档dd,在开头加上其所在小节对应的书籍名称、章节名称和小节名称。
由此,经过切分后的文档即保持了语义的连贯性,又避免切分后存在过短的语义不丰富的文档,保证了每个文档都具有丰富的语义信息。
经过文档切分,将包含Nl个文档d的知识库Dl变成了包含N个短文档dd的知识库D。
三、文档召回。
要进行文档召回,需要找到与所述用户问题和扩展问题相关的短文档dd。在本发明中,使用编码器将所述多个短文档dd进行编码以得到多个文档向量,并使用编码器将所述用户问题和扩展问题进行编码以得到问题向量和扩展问题向量,然后分别计算所述问题向量和扩展问题向量与每个所述文档向量之间的相似度,根据相似度召回两组分别与所述问题向量和扩展问题向量最相关的前Kr个短文档dd(也就是,根据所述问题向量与每个所述文档向量之间的相似度召回一组与所述问题向量最相关的多个短文档dd,并根据所述扩展问题向量与每个所述文档向量之间的相似度召回一组与所述扩展问题向量最相关的多个短文档dd,它们共同组成了前Kr个短文档dd),并对所述前Kr个短文档dd进行去重合并后作为最终的召回文档集Dr。
具体地,本发明使用双编码器架构,即分别使用嵌入模型对用户问题和扩展问题及短文档dd进行编码以得到低维的稠密向量,将两者之间的相关性转化为向量之间的相似性,具体相关性分数计算公式如下:
s(q,dd)=E(q)·E(dd)
其中,s是问题和文档的相关性得分,q是问题(包括用户问题和扩展问题),dd是短文档,E是嵌入模型,·是向量的点积操作。
在本发明中,在得到所述多个文档向量后,将所述多个文档向量存入向量数据库FAISS中并构建索引,并且,在进行召回时,从所述向量数据库FAISS中进行召回。
具体地,为了保证召回的高效性,本发明使用了可以执行快速相似性搜索的向量数据库FAISS来构建索引,实现嵌入的高效的相似性检索。对中医知识库中的长文档切分后得到的所有短文档进行向量化后存入所述向量数据库FAISS并构建索引,然后将扩展问题q′和用户问题q分别在所述向量数据库FAISS中进行检索召回,计算这两个问题与每个短文档之间的相关性分数,然后根据相关性得分来排序,取出这两组的最相关的Kr个结果(Kr通常远远小于所有短文档的数量N),去重合并后作为最终的召回文档集Dr。
四、重排序。
考虑到使用双编码器方法召回的准确性不足,本发明对召回文档集Dr中的短文档dd进行了重排序。也就是,使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分并排序,选择与所述用户问题相关性最强的前Krr个短文档dd,组成文档集Drr。
其中,使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分具体包括:
1、使用交叉编码器将所述用户问题与所述召回文档集Dr中的短文档dd使用分隔符拼接起来作为输入,并通过深度神经网络来建模,以获得深层交互的表示.
2、在深层交互表示的基础上应用多层感知器来预测所述用户问题与所述召回文档集Dr中的短文档dd的相关性得分。
具体地,本发明使用交叉编码器(CE)将所述用户问题和召回文档集Dr中的短文档dd使用分隔符拼接起来作为输入,由于拼接的句子之间存在语义信息,可以通过深度神经网络来建模获得深层交互的表示r:
r=CE(q+dd)
然后在深层交互表示的基础上应用多层感知器(MLP)来预测相关性得分:
s(q,dd)=MLP(r)。
由于交叉编码器可以考虑到问题和文档的深层交互,其相关性计算比双编码器更加的准确,因此,本发明利用交叉编码器对问题和召回得到的Dr中的短文档再次进行相关性打分并排序,选择与问题相关性最强的Krr个短文档,组成文档集Drr(Krr通常小于Kr)。
五、大语言模型选择。
将所述文档集Drr中的短文档dd还原成长文档,并使用大语言模型对还原后的长文档进行选择过滤,以筛选出与所述用户问题相关的文档段落ds,组成选择的文档集Ds。
优选地,在筛选出与所述用户问题相关的文档段落ds后,利用交叉编码器对所述用户问题与所述文档段落ds再次进行相关性打分并排序,选择与所述用户问题相关性最强的Ks个文档段落ds,组成所述文档集Ds。
具体地,为了获取与所述用户问题最相关且简洁完整的文本段落,本发明将切分后的短文档还原成原始的长文档,并使用大语言模型对还原后的长文档进行选择过滤,筛选出与问题最相关的段落,这样既能得到与所述用户问题相关的完整语义段落,避免了因长文档切分导致的信息丢失,又能过滤掉无关的句子,可以使大语言模型接收更多的相关文档。具体公式如下:
ds=LLM(prompts(doc2raw(dd)))
其中,ds是大语言模型从长文档中选择的与用户问题相关的文档段落。doc2raw(dd)是将短文档dd还原成长文档,即如果文档dd是长文档切分得到的短文档,则判断长文档的长度是否超过大语言模型的输入的最大阈值,如果没有,则把该短文档替换成原始的长文档,否则仍使用短文档,最终得到原始未切分且不重复的长文档集。prompts是构建提示模板引导大语言模型完成对长文档集的相似段落查找,即如果还原长文档中存在与用户问题相关的文档段落,则选择这个相关的文档段落作为输出,并过滤其它无关的句子,若文档中不存在相关文档段落,则不进行选择。
随着输入语境的变长,大语言模型性能也会逐步下降,因此,本发明使用大语言模型对重排序的Drr中的短文档还原成的长文档进行相关文档段落选择,取出长文档中与用户问题相关的文档段落作为新的文档段落ds,去除文档中与问题无关的噪声信息。
另外,当与用户问题的相关信息出现在大语言模型输入上下文的开头或结尾时,大语言模型的性能通常是最高的。当大语言模型必须在长上下文的中间访问相关信息时,性能会明显下降。因此,本发明再次使用交叉编码器对问题和大语言模型选择得到的所有文档段落ds进行相关性打分并排序,得到最相关的Ks个文档段落组成的集合Ds(Ks通常小于等于Krr)。
六、大语言模型生成。
构建提示模板,并将所述用户问题与所述选择的文档集Ds一起输入大语言模型,让大语言模型根据所述选择的文档集Ds来进行回答,以生成答案。
具体地,将大语言模型选择排序后得到的文档集Ds,和所述用户问题一起交给大语言模型进行生成,让大语言模型根据提供的文档集Ds来进行回答,缓解大语言模型在中医领域的幻觉问题。
优选地,通过少样本的标注示例来引导大语言模型对答案添加引用标记,并在末尾列出参考文档来源,提供可解释性。具体回答的公式如下:
r=LLM(promptr(q,Ds))
其中,promptr是构建规则引导大语言模型结合文档集Ds进行回答,且如果回答问题的过程中引用了相关文档,则在引用的位置给出相应标记。
此外,本发明还提供一种基于长文档检索增强生成的中医问答设备,其包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述基于长文档检索增强生成的中医问答方法。
而且,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述基于长文档检索增强生成的中医问答方法中的步骤。
最后,发明人进行了实验。在进行实验时,在包含中医内科学、中医基础理论、中医诊断学、方剂学、中药学、四大经典的中医知识的问答评测数据集上,使用大语言模型ChatGLM2-6B对问题进行生成答案,并使用专家对答案进行人工评测,其答案的综合评分为34%。将ChatGLM2-6B结合本发明的方法后对问题进行生成答案,并使用专家对答案进行人工评测,其生成的答案的综合评分为69%,答案的评分得到了显著提高。也就是说,实验表明,本发明在中医问答领域极大地提升了大语言模型的生成能力。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制。本领域的技术人员,依据本发明的思想,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。
Claims (9)
1.一种基于长文档检索增强生成的中医问答方法,其特征在于,包括以下步骤:
1)、问题扩展:构建问题扩展提示模板,基于所述问题扩展提示模板使用大语言模型对用户问题进行扩展,以生成扩展问题;
2)、文档切分:将中医知识库进行文档切分以形成多个短文档dd;
3)、文档召回:使用编码器将所述多个短文档dd进行编码以得到多个文档向量,并使用编码器将所述用户问题和扩展问题进行编码以得到问题向量和扩展问题向量,然后分别计算所述问题向量和扩展问题向量与每个所述文档向量之间的相似度,根据相似度召回两组分别与所述问题向量和扩展问题向量最相关的前Kr个短文档dd,并对所述前Kr个短文档dd进行去重合并后作为最终的召回文档集Dr;
4)、重排序:使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分并排序,选择与所述用户问题相关性最强的前Krr个短文档dd,组成文档集Drr;
5)、大语言模型选择:将所述文档集Drr中的短文档dd还原成长文档,并使用大语言模型对还原后的长文档进行选择过滤,以筛选出与所述用户问题相关的文档段落ds,组成选择的文档集Ds;
6)、大语言模型生成:构建答案生成提示模板,并将所述用户问题与所述选择的文档集Ds一起输入大语言模型中,基于所述答案生成提示模板让大语言模型根据所述选择的文档集Ds来进行回答,以生成答案;
所述步骤2)具体包括:
2.1)、设置文档的最大长度阈值Lmax,文档切分后的最小长度阈值Lmin和滑动窗口大小w;
2.2)、把中医知识库的每个知识点小节视为一个文档d,然后根据文档d的长度进行判断和切分,如果文档d的长度超过所述文档的最大长度阈值Lmax则将所述文档d视为长文档dl,并对长文档dl进行切分,以形成多个短文档dd,如果文档d的长度不超过所述文档的最大长度阈值Lmax则直接将文档d视为短文档dd,不用进行切分;
2.3)、对于长文档dl,按照句子和长度切分,当句子累计长度达到Lmax后则切分成一个短文档dd,并设置滑动窗口w,使相邻的两个短文档dd之间设置w个句子重叠,以保持语义的连贯性,如果长文档dl切分后的最后一个短文档dd的长度小于所述文档切分后的最小长度阈值Lmin,则不再将其划分为一个新的短文档dd,而是直接拼接到上一个短文档dd的末尾;
2.4)、对所有的短文档dd,在开头加上其所在小节对应的书籍名称、章节名称和小节名称。
2.根据权利要求1所述的基于长文档检索增强生成的中医问答方法,其特征在于,在所述步骤2.3)中,保留切分后的每个所述短文档dd与所述长文档dl的映射关系,以便后续还原成长文档dl。
3.根据权利要求2所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤3)中,得到所述多个文档向量后,将所述多个文档向量存入向量数据库FAISS中并构建索引。
4.根据权利要求3所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤3)中,在进行召回时,从所述向量数据库FAISS中进行召回。
5.根据权利要求4所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤4)中的使用交叉编码器对所述用户问题与所述召回文档集Dr中的短文档dd进行相关性打分具体包括:
4.1)、使用交叉编码器将所述用户问题与所述召回文档集Dr中的短文档dd使用分隔符拼接起来作为输入,并通过深度神经网络来建模,以获得深层交互的表示;
4.2)、在深层交互表示的基础上应用多层感知器来预测所述用户问题与所述召回文档集Dr中的短文档dd的相关性得分。
6.根据权利要求5所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤5)中,在筛选出与所述用户问题相关的文档段落ds后,利用交叉编码器对所述用户问题与每个所述文档段落ds再次进行相关性打分并排序,选择与所述用户问题相关性最强的Ks个文档段落ds,组成选择的文档集Ds。
7.根据权利要求6所述的基于长文档检索增强生成的中医问答方法,其特征在于,所述步骤6)中在让大语言模型根据所述选择的文档集Ds来进行回答,以生成答案时,通过标注示例来引导所述大语言模型对答案添加引用标记,并在末尾列出参考文档来源。
8.一种基于长文档检索增强生成的中医问答设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7任一项所述的基于长文档检索增强生成的中医问答方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的基于长文档检索增强生成的中医问答方法中的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311849418.5A CN117828050B (zh) | 2023-12-29 | 2023-12-29 | 基于长文档检索增强生成的中医问答方法、设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311849418.5A CN117828050B (zh) | 2023-12-29 | 2023-12-29 | 基于长文档检索增强生成的中医问答方法、设备及介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN117828050A CN117828050A (zh) | 2024-04-05 |
| CN117828050B true CN117828050B (zh) | 2024-07-09 |
Family
ID=90507366
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311849418.5A Active CN117828050B (zh) | 2023-12-29 | 2023-12-29 | 基于长文档检索增强生成的中医问答方法、设备及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117828050B (zh) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118364088B (zh) * | 2024-05-21 | 2025-07-08 | 金叶天成(北京)科技有限公司 | 基于rag和llm技术的医学文献智能问答系统和方法 |
| CN118296133B (zh) * | 2024-06-05 | 2024-08-13 | 山东浪潮科学研究院有限公司 | 基于智能体与检索增强生成的长文本智能回答方法及装置 |
| CN118689491A (zh) * | 2024-06-07 | 2024-09-24 | 深圳市人工智能与机器人研究院 | 一种基于边缘计算的检索增强生成部署方法 |
| CN121234900A (zh) * | 2024-06-28 | 2025-12-30 | 华为技术有限公司 | 一种基于知识库的解码方法、装置及设备 |
| CN118861244A (zh) * | 2024-07-15 | 2024-10-29 | 深圳云天励飞技术股份有限公司 | 一种答案生成方法、装置和设备 |
| CN118964556A (zh) * | 2024-07-23 | 2024-11-15 | 凝动万生医疗科技(武汉)有限公司 | 一种基于rag的垂直领域知识多轮问答方法 |
| CN118551026B (zh) * | 2024-07-30 | 2026-02-13 | 青岛道可云网络科技有限公司 | 一种基于rag技术的人工智能体生成方法及系统 |
| CN119227810B (zh) * | 2024-10-09 | 2025-07-18 | 济南市人民检察院检察事务中心 | 一种基于大语言模型的长文档问答生成方法及系统 |
| CN119669446B (zh) * | 2024-11-15 | 2025-09-23 | 广州市弘宇科技有限公司 | 基于知识库检索增强大模型的rfid读写器智能故障诊断方法和系统 |
| CN119884299B (zh) * | 2024-12-17 | 2025-12-26 | 深圳市法本信息技术股份有限公司 | 问答方法、装置、设备以及存储介质 |
| CN119513141A (zh) * | 2025-01-21 | 2025-02-25 | 山东浪潮科学研究院有限公司 | 一种基于倒数排名融合的检索增强生成方法、设备及介质 |
| CN120235124A (zh) * | 2025-03-13 | 2025-07-01 | 北京市科学技术研究院 | 基于大语言模型的报告生成方法及装置 |
| CN120030131A (zh) * | 2025-04-22 | 2025-05-23 | 北京大数据先进技术研究院 | 一种基于多方私有域长文本信息的大模型问答方法和装置 |
| CN120596646B (zh) * | 2025-08-11 | 2026-01-13 | 安徽飞数信息科技有限公司 | 一种问答对数据集的生成方法、装置及问答模型 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113962228A (zh) * | 2021-10-26 | 2022-01-21 | 北京理工大学 | 一种基于记忆网络语义融合的长文档检索方法 |
| CN114780672A (zh) * | 2022-03-23 | 2022-07-22 | 清华大学 | 一种基于网络资源的医学问题问答处理方法及装置 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5157783A (en) * | 1988-02-26 | 1992-10-20 | Wang Laboratories, Inc. | Data base system which maintains project query list, desktop list and status of multiple ongoing research projects |
| CN116361306A (zh) * | 2023-04-07 | 2023-06-30 | 北京智谱华章科技有限公司 | 面向开放域科普的问答库自动更新方法和装置 |
| CN116932708B (zh) * | 2023-04-18 | 2026-01-09 | 清华大学 | 大语言模型驱动的开放域自然语言推理问答系统及方法 |
| CN116775822B (zh) * | 2023-05-26 | 2025-09-05 | 浙江大学 | 一种布局和任务感知的文本提示零样本文档图片问答方法 |
| CN117171306A (zh) * | 2023-06-08 | 2023-12-05 | 科大讯飞股份有限公司 | 知识问答方法、装置、设备及存储介质 |
| JP7325152B1 (ja) * | 2023-06-14 | 2023-08-14 | Spiral.AI株式会社 | 文章生成装置および文章生成方法 |
| CN116628172B (zh) * | 2023-07-24 | 2023-09-19 | 北京酷维在线科技有限公司 | 基于知识图谱的政务服务领域多策略融合的对话方法 |
| CN117112754A (zh) * | 2023-08-21 | 2023-11-24 | 北京百度网讯科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
| CN117236340A (zh) * | 2023-09-05 | 2023-12-15 | 北京百度网讯科技有限公司 | 问答方法、装置、设备和介质 |
| CN117033608B (zh) * | 2023-09-28 | 2023-12-22 | 中国电子科技集团公司第十研究所 | 一种基于大语言模型的知识图谱生成式问答方法及系统 |
-
2023
- 2023-12-29 CN CN202311849418.5A patent/CN117828050B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113962228A (zh) * | 2021-10-26 | 2022-01-21 | 北京理工大学 | 一种基于记忆网络语义融合的长文档检索方法 |
| CN114780672A (zh) * | 2022-03-23 | 2022-07-22 | 清华大学 | 一种基于网络资源的医学问题问答处理方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117828050A (zh) | 2024-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117828050B (zh) | 基于长文档检索增强生成的中医问答方法、设备及介质 | |
| CN114020862B (zh) | 一种面向煤矿安全规程的检索式智能问答系统及方法 | |
| CN113297364B (zh) | 一种面向对话系统中的自然语言理解方法及装置 | |
| CN116805001A (zh) | 适用于垂直领域的智能问答系统、方法及其应用 | |
| CN108959256B (zh) | 短文本的生成方法、装置、存储介质和终端设备 | |
| CN105528437B (zh) | 一种基于结构化文本知识提取的问答系统构建方法 | |
| CN109992669B (zh) | 一种基于语言模型和强化学习的关键词问答方法 | |
| CN116501861B (zh) | 基于层级bert模型与标签迁移的长文本摘要生成方法 | |
| CN111524593B (zh) | 基于上下文语言模型和知识嵌入的医疗问答方法及系统 | |
| CN113111663A (zh) | 一种融合关键信息的摘要生成方法 | |
| CN117891965B (zh) | 一种基于思维链的视觉问答方法、系统、设备及存储介质 | |
| CN114077673B (zh) | 一种基于btbc模型的知识图谱构建方法 | |
| CN106845411A (zh) | 一种基于深度学习和概率图模型的视频描述生成方法 | |
| CN112989033B (zh) | 基于情绪类别描述的微博情绪分类方法 | |
| CN113962228A (zh) | 一种基于记忆网络语义融合的长文档检索方法 | |
| CN113032541B (zh) | 一种基于bert并融合句群检索的答案抽取方法 | |
| CN115687595B (zh) | 一种面向常识问答的基于模版提示的对比解释生成方法 | |
| CN118673095A (zh) | 基于检索增强和知识蒸馏的汉越跨语言查询扩展方法 | |
| CN116881425A (zh) | 一种通用型文档问答实现方法、系统、设备及存储介质 | |
| CN107895000A (zh) | 一种基于卷积神经网络的跨领域语义信息检索方法 | |
| CN118113832A (zh) | 一种融合大语言模型和领域知识的问答系统构建方法 | |
| CN116628261A (zh) | 基于多语义空间的视频文本检索方法、系统、设备及介质 | |
| CN115905487A (zh) | 文档问答方法、系统、电子设备及存储介质 | |
| CN113674866B (zh) | 一种面向医疗文本的预训练方法 | |
| CN119669530A (zh) | 基于llm的知识图谱生成式辅助教学答疑方法及系统 |
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 | ||
| CP03 | Change of name, title or address |
Address after: 100084 Floor 10, Building 9, Yard 1, Zhongguancun East Road, Haidian District, Beijing Patentee after: Beijing Zhipu Huazhang Technology Co.,Ltd. Country or region after: China Address before: 603A, 6th Floor, Building 6, No.1 Zhongguancun East Road, Haidian District, Beijing Patentee before: Beijing Zhipu Huazhang Technology Co.,Ltd. Country or region before: China |
|
| CP03 | Change of name, title or address |