基于检索增强生成的油菜科研智能问答模型
作者: 张艺 聂笑一
摘 要:针对油菜科研智能问答辅助的迫切需求,研究提出了一种智能问答模型实现方案。该方案基于油菜科研论文数据源,引入检索增强生成技术,构建了油菜科研智能问答模型。模型通过构建向量数据库,优化检索过程并保留上下文信息,显著提升了查询的理解能力;同时采用重排机制,进一步增强了模型生成的准确性。在Ragas评估框架下,与其他基线模型对比,研究方法在各项性能指标上均表现出色,显著优于其他方法。研究不仅为油菜科研提供了高效的智能问答工具,而且为智能问答技术在农业科研中的应用提供了新思路与参考。
关键词:油菜;农业科研;检索增强生成;问答模型;上下文检索
中图分类号:S24;TP18 文献标志码:A 文章编号:1674-7909(2024)18-150-5
DOI:10.19345/j.cnki.1674-7909.2024.18.037
0 引言
油菜作为全球重要的油料作物,广泛应用于食品加工及工业生产领域,且随着人口增长和经济发展,其市场需求量持续攀升[1-2]。然而,油菜科研面临着数据多源、分散、庞大及阅读效率低下等挑战,一定程度上制约了对油菜作物的科研进展。因此,高效获取和利用相关信息,已成为油菜科研的迫切需求。
近年来,自然语言处理领域技术发展迅速且成果显著,特别是OpenAI发布的大语言模型(Large Language Models,LLM)ChatGPT[3],促进了AI与科研的深度融合[4],广泛应用于文本生成和回答。这也为科研人员通过AI辅助高效地获取和利用信息、提高科研效率提供了可能[5]。虽然ChatGPT等LLM展现出强大的文本理解和生成能力[6],但是仍面临“幻觉”问题导致的错误回答[7]、知识时效性问题[8]及缺乏特定领域的专业知识[9]等局限。这些限制难以满足科研人员对精准、实时信息的获取需求。
在此背景下,检索增强生成(Retrieval Augmented Generation,RAG)技术应运而生[10],为上述问题的解决带来新的契机。RAG通过整合外部知识来源,提升模型在知识密集型任务中的表现,为解决大语言模型局限性问题提供了新的途径[11]。具体而言,RAG根据输入从语料库中检索相关段落,并与输入、提示词一同提供给LLM,使LLM能借助外部知识生成更准确、可信的响应,并有效应对挑战。
研究基于RAG技术,针对油菜科研中的实际问题,构建了油菜科研智能问答模型。该模型以油菜科研论文为数据源,通过融入上下文检索,保留关键信息的上下文,提高了检索准确性;引入重排模型,筛选文档,提升RAG系统准确性和回答相关性,显著提升了模型对油菜科研文献的理解力和阅读效率。
1 检索增强生成模型
油菜科研检索增强生成智能问答系统的构建框架如图1所示,其整体流程可划分为三个核心层级:数据处理层、检索层及生成层。
数据处理层处理科研论文数据,并进行精细切分、上下文检索预处理和向量化,构建油菜论文向量数据库,为后续检索提供数据支持。
检索层将用户查询向量化,召回与查询相关的Top k文档,并通过Rerank模型进行精细排序,最终保留Top n个相关文档,作为生成层的候选背景信息。
在生成层中,系统结合大语言模型,将筛选排序后的文档块转化为针对用户查询的准确回答,充分利用了检索层提供的背景信息及大语言模型的文本生成与理解能力。
油菜科研检索增强生成智能问答系统通过三层紧密的协作,实现了从数据处理到精准回答的全过程,达到为油菜科研提供高效智能的信息检索和问答服务的目的。
1.1 向量数据库的构建
研究基于油菜作物方面的科研文献,探索并实施一种高效的向量数据库构建与检索的方法,其主要包括文档加载、切分、向量化及存储。
1.1.1 文档加载
针对PDF格式的文献数据,本研究通过光学字符识别技术(Optical Character Recognition,OCR)识别图片和表格中的文本,进而对文本内容进行提取。相较于传统的纯文本匹配方法,此策略显著提升了信息提取的精度和效率。
1.1.2 文本切分
研究采用了固定大小的分块策略,每个分块包含256个单元(token),并设定了50个token的重叠区域,以在保持语义连贯性的同时,有效减少噪声干扰。
1.1.3 向量化模型
研究采用了BGE-M3-Embedding模型。该模型作为两阶段检索算法的核心组件,通过召回和精排两个模块的协同工作,实现对用户问题与知识库语料之间语义关系的精准捕捉。
1.1.4 向量数据库
研究引入Facebook人工智能相似性搜索库(Facebook AI Similarity Search,FAISS)进行相似性搜索。FAISS作为Facebook公司开发的工具,能够支持大规模高维向量数据的快速存储和检索。
1.2 上下文检索
在检索增强生成系统的框架下,传统的文档分割策略虽然能够有效提升检索效率,但是经常出现上下文信息丢失而影响检索结果相关度与精确度的现象。因此,研究引入上下文检索机制,作为预处理策略优化检索。上下文检索通过在每个文本块嵌入前预先添加特定的解释性上下文,有效解决了传统RAG系统中的上下文缺失问题。这种上下文嵌入策略不仅使文本块更完整、更易于理解,还显著提升了系统检索和回答问题的准确性。
该研究使用GPT-4.0模型,结合Prompt,自动为每个文本块生成简洁且富有针对性的上下文信息,其通常包含50~100个token,每个文本块均携带了专属的上下文,使得模型在检索和生成回答时能够准确地理解和利用这些信息,具体情况如图2所示。
该项目设Q为用户查询,D为文档集合,Di为文档集合中的第i个文档块,Ci为与Di相关联的上下文信息。上下文嵌入的目标是为每个Di生成一个包含上下文信息的向量表示[Dci],⊕表示上下文信息与文档块的拼接操作,Encoder为用于生成向量表示的编码器模型,计算公式见式(1):
[Dci=EncoderDi⊕Ci] (1)
1.3 排序优化
在传统的RAG方法中,初步检索可能会引入与查询不紧密相关的上下文,影响精确性。为提升系统准确性,引入重排序技术,通过精细筛选与排序,优先选择高度相关的上下文。如图3所示。具体步骤:初步检索获取相关上下文块,利用重排序模型深度评估这些块与用户查询的相关性,然后根据评分选出前K个最高分块,最后将这些高质量上下文传递给生成模型,以产生最终响应。
研究所采用的Cohere Rerank模型,通过深度语义分析精确排序文本输入与用户查询的语义相关性,优化搜索结果。技术上,Cohere模型计算每个候选文档块与用户查询之间的高维向量相似度分数。对于给定的查询Q及候选文档集DQ,Cohere模型计算每个文档块DQi与Q的相似度Score(Q,DQi),并据此对DQ中的文档块进行排序,得到重排序后的上下文集合DrQ。计算过程见式(2)。
[DrQ=SortDQi,Score(Q,DQi),DQi∈DQ] (2)
其中,Sort函数根据Score函数计算的相似度分数进行排序,筛选出构成DrQ的相关上下文块。这一机制确保了RAG系统能够生成更加准确、高质量的响应。
2 验证分析
2.1 数据集
为了验证油菜科研领域的查询问答方法,构建了科研论文知识库和Ragas评估数据集。知识库源自美国国家生物技术信息中心(NCBI)的854篇油菜相关论文,细分为基因定位克隆、基因组测序、抗逆及育种、形态标记性状等4大类,为问答系统提供专业背景知识。Ragas评估数据集包含用户查询、相关上下文、系统生成的答案及人工标注的标准答案。研究为了增强数据集多样性,采用Ragas中基于知识图谱的方法生成测试集,涵盖单跳具体查询(50%)、多跳抽象查询(25%)和多跳具体查询(25%),以全面评估问答系统性能。
2.2 评估指标
在评估问答系统性能时,采用Ragas评估方法,以衡量模型的检索精度、召回率、答案相关性和事实一致性。具体评估指标如下:
2.2.1 Context Precision
该指标用于衡量retrieved_contexts的相关块比例,其通过计算检索结果中各文本块相关性的平均值得出,反映相关块在排名靠前的文本块中的比例,从而评估检索性能。其计算公式见式(3):
[Context Precision@K= k=1K Precision@k×vkTotal number of relevant items in the top K results] (3)
2.2.2 Context Recall
该指标成功检索的相关文档数量,调避免遗漏重要结果;召回率越高,遗漏的相关文档越少。其值范围在0~1,数值越大表明性能越优。其计算公式见式(4):
[Context Recall= GT claims that can be attributed to contextNumber of claims in GT] (4)
2.2.3 Answer Relevancy
该指标用于评估生成答案与提示的相关性。对于不完整或包含冗余信息的答案,该指标将给予较低分数,反之则给予较高的分数,即分数越高,答案与提示相关性越强。该指标通过user_input、retrieved_contexts和response计算得出,计算公式见式(5):
[Answer Relevancy=1Ni=1NcosEgi,Eo] (5)
2.2.4 Faithfulness
该指标用于衡量生成答案在给定上下文中的事实准确性。根据答案和检索到的上下文内容计算得出,答案的得分被缩放至(0,1)范围内,得分越高表示事实一致性越好。其计算公式见式(6):
[Faithfulness score=Answer that can be inferred from given contextTotal number of claims in the generated answer] (6)
2.3 基线方法对比分析
笔者将研究提出的检索增强生成方法与当前先进的几种基线方法进行了对比分析。参与对比分析的基线方法如下所述。
Standard RAG:将原始文本切割成块并存储在向量数据库中,通过查询与文本块之间的相似度进来检索相关文本。
RQ-RAG:利用LLM将查询分解为多个子查询,以提高搜索准确性。
HyDE:通过LLM生成假设文档,根据该文档检索相关文本块形成最终答案。
2.4 实验环境
实验平台为Ubuntu18.04,NVIDA T4×3,Python3.10版本,PyTorch1.10.2版本,Ragas 0.1.18版本,LangChain0.3.3版本。
2.5 结果分析
通过RAGAS评估体系评价,具体考察系统对相关背景知识的检索与召回效能和最终生成答案的准确度,以此验证研究提出的模型框架在增强大型语言模型问答能力方面的实际成效。