CN118332072B - 一种基于rag技术的智能文档检索生成方法和系统 - Google Patents
一种基于rag技术的智能文档检索生成方法和系统 Download PDFInfo
- Publication number
- CN118332072B CN118332072B CN202410756036.6A CN202410756036A CN118332072B CN 118332072 B CN118332072 B CN 118332072B CN 202410756036 A CN202410756036 A CN 202410756036A CN 118332072 B CN118332072 B CN 118332072B
- Authority
- CN
- China
- Prior art keywords
- text
- data
- text data
- result
- user
- 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 50
- 238000005516 engineering process Methods 0.000 title claims abstract description 39
- 238000013441 quality evaluation Methods 0.000 claims abstract description 28
- 238000003058 natural language processing Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 39
- 239000013598 vector Substances 0.000 claims description 30
- 238000004458 analytical method Methods 0.000 claims description 23
- 238000005457 optimization Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000005520 cutting process Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 230000006872 improvement Effects 0.000 claims description 10
- 238000004140 cleaning Methods 0.000 claims description 9
- 238000012805 post-processing Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000013524 data verification Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 12
- 238000012937 correction Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 abstract description 2
- 238000000605 extraction Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012512 characterization method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011068 loading method Methods 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001915 proofreading effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage 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
- 230000009977 dual effect Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及自然语言处理技术领域,具体涉及一种基于RAG技术的智能文档检索生成方法和系统,通过将从多样化数据源中收集各种格式的文档中的数据转换为文本数据,并对文本数据进行处理,对处理后的文本数据进行切块以及向量化,以建立索引,然后根据用户输入的查询,从建立的索引中检索文本数据,检索出的文本数据生成满足用户需求的文本结果,并对文本结果进行质量评估,并根据质量评估结果,进行再次检索或输出最终文本结果,从而形成了一个从检索增强到内容生成的完整流程,该流程不仅能够提升信息检索的准确性和详尽性,为用户提供更加丰富和精准的内容,而且还为用户提供了便捷、可靠的文本内容幻觉检测与修正服务。
Description
技术领域
本发明涉及自然语言处理技术领域,特别是涉及一种基于RAG技术的智能文档检索生成方法和系统。
背景技术
文档检索生成(Retrieval-Augmented Generation, RAG)技术是一种先进的问答系统,它能够处理和理解各种格式的文件和数据库,从而构建起一个全面的知识库。RAG技术巧妙地将信息检索的精确性与内容生成的创造性相结合,旨在通过利用庞大的数据集来增强语言模型的综合能力。该技术的核心优势在于其对大规模语言模型与高效检索系统的有机结合。这种结合赋予了模型在生成回答时的双重优势:既能依赖于其内置的知识库,又能接入外部的海量信息资源,从而在提供回答时能够更加准确和全面。
传统的的大规模语言模型,通常仅依赖于其预设的知识来生成回答,这在某种程度上限制了它们在特定领域提供精确和详尽信息的能力,为了解决这一问题,本发明提供了一种基于RAG技术的智能文档检索生成方法、系统及存储介质。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供了一种基于RAG技术的智能文档检索生成方法和系统,不仅能够提升信息检索的准确性和详尽性,而且还能够为用户提供更加丰富和精准的内容,展现出巨大的研究价值和广泛的应用潜力。
为了实现上述技术方案,第一方面,本发明提供了一种基于RAG技术的智能文档检索生成方法,包括:
步骤一、从多样化数据源中收集各种格式的文档;
步骤二、将各种格式文档中的数据转换为文本数据,并对文本数据进行处理;
步骤三、对处理后的文本数据进行切块以及向量化,以建立索引;
步骤四、根据用户输入的查询,检索文本数据;
步骤五、生成满足用户需求的文本结果;
步骤六、对文本结果进行质量评估,并根据质量评估结果,动态调整处理流程,其中,动态调整处理流程包括返回步骤四和行进到步骤七;
步骤七、显示最终文本结果。
进一步地,所述步骤还包括:
接收用户的反馈数据,并对反馈数据进行分析,识别问题和改进点,指定优化计划;
根据反馈数据的分析结果,定期进行系统迭代更新。
进一步地,所述步骤二包括:
将各种格式文档中的数据转换为文本数据;
应用机器学习算法对文本数据进行均值分析和最大最小长度统计;
对文本数据进行数据清洗和提取文本摘要处理;
在处理后的文本数据中添加关键信息,其中,关键信息包括页码、文本名称和作者。
进一步地,所述步骤三包括:
提取文档中的文本数据;
利用递归字符文本分割技术,将文本数据切割成多个结构化的文本块;
利用语义表征模型通过稀疏检索技术精确理解每个文本块的深层语义;
基于文本嵌入模型将这些文本块转换成数值向量;
将文本块的数值向量和其对应的文本数据存储为索引。
进一步地,所述步骤四包括:
对用户查询进行优化;
利用混合检索从索引中检索出与用户查询最相关的文本数据;
对文本数据进行重新排序、提示压缩和融合,以得到检索文本数据。
进一步地,所述步骤五包括:
根据用户的查询或需求设计提示工程,以便引导大语言模型生成满足用户需求的文本内容;
对生成的文本内容和检索文本数据进行优化,以生成最终文本结果。
进一步地,所述步骤六包括:
检查文本结果的流畅性、语法正确性以及信息的完整性和准确性;
利用语义分析技术识别并去除文本结果中的冗余信息,保留文本结果中的关键信息和核心观点;
对文本结果进行事实核查和数据验证,生成质量评估结果,若生成的质量评估结果为质量需要提升,则返回步骤四,若生成的质量评估结果为质量良好,则输出最终文本结果。
另一方面,本发明提供了一种基于RAG技术的智能文档检索生成系统,包括:
数据收集模块,用于从多样化数据源中收集各种格式的文档;
数据处理模块,用于将各种格式文档中的数据转换为文本数据,并对文本数据进行处理;
索引构建模块,用于对处理后的文本数据进行切块以及向量化,以建立索引;
智能检索模块, 用于根据用户查询,检索出文本数据;
内容生成模块,用于生成满足用户需求的文本结果;
后处理模块,用于对文本结果进行质量评估,并根据评估结果,动态调整处理流程;
结果展示模块,用于展示最终的文本结果。
进一步地,还包括:
反馈模块,用于接收用户的反馈数据,并对反馈数据进行分析,识别问题和改进点,指定优化计划;
系统优化模块,用于根据反馈数据的分析结果,定期进行迭代更新,以提供更高质量服务,满足用户的需求。
又另一方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行以上所述的基于RAG技术的智能文档检索生成方法。
本发明的有益效果在于:
(1)本发明通过将从多样化数据源中收集各种格式的文档中的数据转换为文本数据,并对文本数据进行处理,对处理后的文本数据进行切块以及向量化,以建立索引,然后根据用户输入的查询,从建立的索引中检索文本数据,检索出的文本数据生成满足用户需求的文本结果,并对文本结果进行质量评估,并根据质量评估结果,进行再次检索或输出最终文本结果,从而形成了一个从检索增强到内容生成的完整流程,该流程不仅能够提升信息检索的准确性和详尽性,为用户提供更加丰富和精准的内容, 而且还为用户提供了便捷、可靠的文本内容幻觉检测与修正服务。
此外,本发明还可以根据用户反馈进行更新和优化,提升用户体验。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明的一种基于RAG技术的智能文档检索生成方法的流程图。
图2为本发明的文档中数据转换和处理的流程图。
图3为本发明的建立索引的流程图。
图4为本发明的查询检索的流程图。
图5为本发明的生成文本结果的流程图。
图6为本发明的质量评估流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本实施例使用的每个技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在本发明中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件或元件结构关系而确定的关系词,并非特指本发明中任一部件或元件,不能理解为对本发明的限制。
本发明中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。
需要说明的是,本发明中涉及的模型有三类,第一类就是语义向量模型,作用是将自然语言转换为计算机可以进行数值计算的向量,目前选用的是BGE-M3,它是一个开源模型。第二类是语义大模型(大语言模型,英文是LLM,large language model),作用是输入问题,直接根据问题输出回答,在专利中用于输出目前选用的是Qwen1.5-72B-Chat模型,是一个开源模型。第三类是主题模型(LDA),作用是概括文档的主题,目前选用Gensim,它是一款开源的第三方Python库。
实施例1:
如图1至图6所示,本实施例提供了一种基于RAG技术的智能文档检索生成方法,包括以下步骤:
S1:从多样化数据源中收集各种格式的文档,以确保文档的全面性和多样性。
其中,各种格式的文档包括PDF、HTML、WORD等格式的文档。
S2:将各种格式文档中的数据转换为文本数据,并对文本数据进行处理。
具体地,如图2所示包括以下步骤:
S21:文本转换。
具体地,利用OCR(Optical Character Recognition)技术和自然语言处理工具,将所收集的各种格式(比如,PDF、HTML、WORD等格式)文档中的数据转换为文本数据,以提高数据处理效率和准确性。
S22:深入文本数据分析。
应用机器学习算法对文本数据进行均值分析和最大最小长度统计,以理解文本数据的特征和分布,便于对文本数据进行挖掘和知识发现。其中,所述算法为相似性计算算法,基于上文建立的索引以及向量获取最相似的答案。
S23:文本数据处理。
根据所理解的文本数据的特征和分布对文本数据进行数据清洗和提取文本摘要等预处理。在预处理过程中,通过数据清洗去除无关信息、噪声过滤并进行文本数据标准化以便提供清晰且规范的文本数据,从而提高分析和处理的准确性。然后,利用大语言模型从文本数据中提取文本摘要,并将所提取的文本摘要存储在元数据中,以便保留核心信息,方便信息检索和内容理解。
S24:添加关键信息并存储。
最后在预处理后的文本数据中添加关键信息,以提升内容筛选和条件过滤的效率和准确性。并将添加关键信息的文本数据存储到指定格式的文档中。其中,关键信息包括页码、文本名称和作者。
需要说明的是,指定格式并不是一种固定格式,可以针对来自不同数据源的文本数据进行指定各种形式的格式。
S3:对处理后的文本数据进行切块以及向量化,以建立索引。
具体地,如图3所示,包括以下步骤:
S31:提取文本数据。
根据文本数据所存储文档的指定格式定制文档内容提取策略,以提取指定格式文档中的文本数据,通过根据格式定制文档内容提取策略确保了文档内容的高效获取。
S32:文本递归分割。
然后,利用递归字符文本分割技术,根据换行、空格和标点等分隔符,将文本数据切割成多个结构化的文本块。其中,在递归字符文本分割单元进行切割时,根据大型语言模型的上下文限制,动态调整文本块的大小,从而实现了对文本数据的最优切割,既满足了精度要求,又适应了不同长度的文本。并且还利用滑动窗口技术,通过小文本块进行检索来提高准确性,同时通过大文本块合成来保留上下文,从而平衡检索精度和上下文信息的丰富度。
S33:语义表征。
加载高效的语义表征模型,语义表征模型通过稀疏检索技术精确理解每个文本块的深层语义,以进一步提高分析和检索的准确性与效率。
S34:文本向量表示。
基于文本嵌入模型将这些文本块转换成文本块数值向量,并对文本块数值向量进行存储,以捕捉语义信息,便于计算和分析。
S35:构建索引。
基于向量化数据,将文本块的数值向量和其对应的文本数据存储为索引项,完成索引存储的整个流程。
S4:根据用户输入的查询,检索文本数据;
具体地,对用户输入的查询进行优化,利用混合检索从索引项中检索出与用户查询最相关的文本数据,并对文本数据进行重新排序、提示压缩和融合,以得到检索文本数据,如图4所示,包括以下步骤:
S41:理解用户查询意图。
通过预检索模块理解用户所输入查询深入的意图,以确保处理的针对性和准确性。
S42:查询扩展。
根据所理解的意图对用户查询进行改写和纠错,以提高查询的表述清晰度和准确性。其中,可以采用将用户的单个查询拆解为多个相关查询,以丰富查询内容并提高检索的全面性和多样性,比如,自适应性RAG模型,根据用户输入的查询生成多个等价查询,采用单步检索、多步检索和知识图检索等方法,全面覆盖所有信息点。
S43:筛选查询。
从多个相关查询中筛选出最符合用户意图的查询,以确保检索结果的相关性和准确性。并将筛选出的查询转换为查询数值向量,有助于捕捉问题的语义信息并为检索提供支持。
S44:内容召回。
根据查询数字向量通过算法从索引项中检索出与查询数值向量最相关的文本块数值向量,从而得到文本数据。其中,在检索过程中,利用关键词检索器、稀疏检索器和密集检索器通过BGE-M3模型并行处理稀疏和密集检索,协同工作以提升检索性能。
S45:优先级排序。
对得到的文本数据进行优先级排序,使最相关和最有用的文本数据优先显示,以便提供最直接和最有价值的查询结果。
S46:文本数据压缩。
通过有效的压缩得到的文本数据,从而保留关键信息,加快处理速度,并适应LLM的处理长度限制。
S47:文本数据融合。
整合来自不同数据源和不同形式的文本数据,以得到检索文本数据,从而提供全面深入的文本知识参考。
S5:生成满足用户需求的文本结果。
具体地,如图5所示,包括以下步骤:
S51:构建提示工程。
根据用户的查询或需求设计提示工程,以便引导大语言模型生成满足用户需求的文本内容,以确保生成的内容与用户查询高度相关并能覆盖所有可能的信息点。
S52:加载大语言模型。
利用大语言模型(比如, ChatGPT),以生成连贯且有逻辑的文本内容,并能模仿不同的写作风格和语言习惯,提供多样化的内容。
S53:优化整合。
对生成的文本内容和检索文本数据进行优化,以生成最终文本结果。其中,优化包括去除重复信息、纠正错误、补充细节、统一格式和风格,以确保文本结果的全面系统。然后对优化后的所有文本内容和检索文本数据进行整合,以生成包含所有关键信息且经过优化和校对的文本结果,从而确保文本结果的准确性和可读性。
S6:对文本结果进行质量评估,判断所生成的质量评估结果是否为质量需要提升,若是,则返回步骤S4,若否,则输出最终文本结果(如图6所示)。
具体地,具体包括以下步骤:
S61:文本结果检查。
检查文本结果的流畅性、语法正确性以及信息的完整性和准确性。
S62:语义分析识别。
利用语义分析技术识别并去除文本结果中的冗余信息(重复句子和不必要的填充词)提高文本结果的紧凑性和可读性,以及识别并保留文本结果中的关键信息和核心观点。
S63:准确性校验。
对文本结果进行事实核查和数据验证,以生成质量评估结果,并根据质量评估结果,动态调整处理流程。具体地,若生成的质量评估结果为质量需要提升,则对用户输入的查询进行检索,比如,使用自适应性RAG模型,根据用户输入的查询生成多个等价查询,采用单步检索、多步检索和知识图检索等方法,全面覆盖所有信息点使用;若生成的质量评估结果为质量良好,则对识别完的文本结果进行格式化处理后输出,其中,格式化处理包括调整段落结构、应用标题和列表等,以提供清晰和专业的输出文本。
S7:将最终的文本结果进行展示。
具体地,首先启动服务端的智能文档检索功能,以增强上层服务。
然后,用户提出问题,服务器通过调用API进行检索和文本内容生成,以通过交互界面显示最终的文本结果。
S8:用于接收用户的反馈数据,并对反馈数据进行分析,识别问题和改进点,指定优化计划。
具体地,在交互界面上,设置明显的反馈渠道,鼓励用户对内容提供反馈。然后对用户的反馈进行分析,识别问题和改进点,制定优化计划,并做出相应的调整。
S9:根据反馈数据的分析结果,定期进行迭代更新,以提供更高质量服务,满足用户的需求。
具体地,依据用户反馈和数据分析的结果,系统会不断调整和优化,定期进行迭代更新,以提供更高质量的服务,满足用户的需求。其中,这是一个持续改进的过程。迭代更新包括内容更新、功能改进或是界面设计等方面。
本实施例通过从多样化的数据源中提取必要的文档,并通过去噪、标准化、格式转换等预处理步骤,为后续处理流程提供清晰、规范的数据输入。通过对文本数据进行切块以及向量化处理,并建立索引。通过对用户查询优化、混合检索、重新排序、提示压缩等策略快速准确地从大量信息中检索出与用户查询最相关的文本。利用大型语言模型,根据检索到的信息设定提示工程生成满足用户需求的文本内容,同时可以根据特定任务或领域进行微调,以提的后处理模块对生成的文本进行优化,去除冗余信息,保留关键内容,进一步提升回答的相关性和准确性。
此外,根据生成结果的质量动态调整处理流程,决定是否需要进一步检索或优化,最后将不同来源的检索结果或生成内容进行有效整合,为用户提供全面、系统的答案。将检索出的文档按相关性进行排序并展示,同时可能包括高亮显示查询词、提供文档摘要等增值服务。用户反馈模块收集用户对检索结果的反馈,以便不断调整和优化检索算法,提升用户体验。
实施例2:本实施例提供了一种基于RAG技术的智能文档检索生成系统,包括:
(一)数据收集模块,用于从多样化数据源中收集各种格式的文档,以确保文档的全面性和多样性。其中,各种格式的文档包括PDF、HTML、WORD等格式的文档。
(二)数据处理模块,用于将各种格式文档中的数据转换为文本数据,并对文本数据进行处理。
具体地,数据处理模块以下单元:
文档格式转换单元,用于利用OCR(Optical Character Recognition)技术和自然语言处理工具,将所收集的各种格式(比如,PDF、HTML、WORD等格式)的文档中的数据转换为文本数据,以提高数据处理效率和准确性;
数据分析单元,用于应用机器学习算法对文本数据进行均值分析和最大最小长度统计,理解文本数据的特征和分布,以便对文本数据进行挖掘和知识发现。
数据预处理单元,用于根据所理解的文本数据的特征和分布对文本数据进行数据清洗和提取文本摘要等预处理;
其中,预处理单元包括:数据清洗单元和文本摘要提取单元。
数据清洗单元用于进行数据清洗以去除无关信息、噪声过滤以及文本数据标准化以便提供清晰且规范的文本数据,从而提高分析和处理的准确性。
文本摘要提取单元,用于利用大语言模型从文本数据中提取文本摘要,并将所提取的文本摘要存储在元数据中,以便保留核心信息,方便信息检索和内容理解。
关键信息添加单元,用于在预处理后的文本数据中添加关键信息,以提升内容筛选和条件过滤的效率和准确性。其中,关键信息包括页码、文本名称和作者。
数据存储单元,用于将添加关键信息的文本数据存储到指定格式的文档中。
其中,需要说明的是,指定格式并不是一种固定格式,可以针对来自不同数据源的文本数据进行指定各种形式的格式。
(三)索引构建模块,用于对处理后的文本数据进行切块以及向量化,以建立索引。
具体地,索引构建模块包括以下单元:
文档加载单元,用于根据文本数据所存储文档的指定格式定制文档内容提取策略,以提取指定格式文档中的文本数据,通过根据格式定制文档内容提取策略确保了文档内容的高效获取。
文本切块单元,用于将文本数据切割成多个结构化的文本块,以便为后续的分析打下基础。
文本切块单元包括递归字符文本分割单元和递归分块单元。
递归字符文本分割单元,用于利用递归字符文本分割技术,根据换行、空格和标点等分隔符,将文本数据切割成多个结构化的文本块。
递归分块单元,用于在递归字符文本分割单元进行切割时,根据大型语言模型的上下文限制,动态调整文本块的大小,从而实现了对文本数据的最优切割,既满足了精度要求,又适应了不同长度的文本。
其中,文本切换单元还利用滑动窗口技术,通过小文本块进行检索来提高准确性,同时通过大文本块合成来保留上下文,从而平衡检索精度和上下文信息的丰富度。
语义表征单元,用于加载高效的语义表征模型,语义表征模型通过稀疏检索技术精确理解每个文本块的深层语义,以进一步提高分析和检索的准确性与效率。
文本向量化单元,用于基于文本嵌入模型将文本块转换成文本块数值向量,并对文本块数值向量进行存储,以捕捉语义信息,便于计算和分析。
索引构建单元,用于将文本块数值向量和其对应的文本数据存储为索引项。
(四)智能检索模块, 用于根据用户查询,检索出文本数据。
智能检索模块用于对用户查询进行优化,并利用混合检索从索引项中检索出与用户查询最相关的文本数据,并对文本数据进行重新排序、提示压缩和融合,以得到检索文本数据。
智能检索模块包括以下单元:
预检索单元,用于理解用户所输入查询的意图,以确保处理的针对性和准确性。
查询优化单元,用于对用户查询进行改写和纠错,以提高查询的表述清晰度和准确性。
查询扩展单元,用于将用户的单个查询拆解为多个相关查询,以丰富查询内容并提高检索的全面性和多样性。
查询验证单元,用于从多个相关查询中筛选出最符合用户意图的查询,以确保检索结果的相关性和准确性。
语义表征模型单元,用于将筛选出的查询转换为查询数值向量,有助于捕捉问题的语义信息并为检索提供支持。
召回单元,用于根据查询数字向量通过算法从索引项中检索出与查询数值向量最相关的文本块数值向量,从而得到文本数据。
具体地,在检索过程中,利用关键词检索器、稀疏检索器和密集检索器通过BGE-M3模型并行处理稀疏和密集检索,协同工作以提升检索性能。
排序单元,用于对得到的文本数据进行优先级排序,使最相关和最有用的文本数据优先显示,以便提供最直接和最有价值的查询结果。
压缩单元,用于通过有效的压缩得到的文本数据,从而保留关键信息,加快处理速度,并适应LLM的处理长度限制。
融合单元,用于整合来自不同数据源和不同形式的文本数据,以得到检索文本数据,从而提供全面深入的文本知识参考。
(五)内容生成模块,用于生成满足用户需求的文本结果。
内容生成模块包括以下单元:
提示工程创建单元,用于根据用户的查询或需求设计提示,以便引导大语言模型生成满足用户需求的文本内容,以确保生成的内容与用户查询高度相关并能覆盖所有可能的信息点。
文本内容生成单元,用于利用大语言模型(比如, ChatGPT),以生成连贯且有逻辑的文本内容,并能模仿不同的写作风格和语言习惯,提供多样化的内容。
文本后处理单元,用于对生成的文本内容和检索文本数据进行优化和整合,以生成最终文本结果。
具体地,将生成的文本内容和检索文本数据进行优化,其中,优化包括去除重复信息、纠正错误、补充细节、统一格式和风格,以确保文本结果的全面系统。然后对优化后的文本内容和检索文本数据进行整合,以生成包含所有关键信息且经过优化和校对的文本结果,从而确保文本结果的准确性和可读性。
(六)后处理模块,用于对文本结果进行质量评估,并根据评估结果,输出最终的文本结果或者再次进行检索。
具体地,后处理模块包括以下单元:
检查单元,用于检查文本结果的流畅性、语法正确性以及信息的完整性和准确性。
识别单元,用于语义分析技术,识别并去除文本结果中的冗余信息(重复句子和不必要的填充词)提高文本结果的紧凑性和可读性,以及识别并保留文本结果中的关键信息和核心观点。
质量评估单元,用于对文本结果进行事实核查和数据验证,以生成质量评估结果。
智能决策单元,用于根据质量评估结果,动态调整处理流程。
具体地,若生成的质量评估结果为质量需要提升,则对用户输入的查询进行检索,比如,使用自适应性RAG模型,根据用户输入的查询生成多个等价查询,采用单步检索、多步检索和知识图检索等方法,全面覆盖所有信息点使用;若生成的质量评估结果为质量良好,则对识别完的文本结果进行格式化处理,具体地,调整段落结构、应用标题和列表等,以提供清晰、专业的输出文本。
(七) 结果展示模块,用于将最终的文本结果进行展示。
具体地,首先启动服务端的智能文档检索功能,以增强上层服务。
然后,用户提出问题,服务器通过调用API进行检索和文本内容生成,以通过交互界面显示最终的文本结果。
(八)反馈模块,用于接收用户的反馈数据,并对反馈数据进行分析,识别问题和改进点,指定优化计划。
(九)系统优化模块,用于根据反馈数据的分析结果,定期进行迭代更新,以提供更高质量服务,满足用户的需求。
具体地,迭代更新包括内容更新、功能改进和界面设计更新等。
本实施中所提供的系统涵盖了多个关键模块,包括数据收集模块、数据处理、索引构建、智能检索、内容生成、后处理、结果展示以及用户反馈等。数据收集模块负责从从多样化的数据源中提取必要的文档,数据处理模块用于对提取的文档进行去噪、标准化、格式转换等预处理步骤,为后续处理流程提供清晰、规范的数据输入。索引构建模块,对文本数据进行切块以及向量化处理,并建立索引。智能检索模块,通过用户查询(query)优化、混合检索、重新排序、提示压缩等策略快速准确地从大量信息中检索出与用户查询最相关的文本。内容生成模块利用大型语言模型,如ChatGPT,根据检索到的信息设定提示工程(Prompt)生成满足用户需求的文本内容,同时可以根据特定任务或领域进行微调,以提的后处理模块对生成的文本进行优化,去除冗余信息,保留关键内容,进一步提升回答的相关性和准确性。此外,后处理模块还根据生成结果的质量动态调整处理流程,决定是否需要进一步检索或优化,最后将不同来源的检索结果或生成内容进行有效整合,为用户提供全面、系统的答案。结果展示模块将检索出的文档按相关性进行排序并展示,同时可能包括高亮显示查询词、提供文档摘要等增值服务。用户反馈模块收集用户对检索结果的反馈,系统优化模块用于不断调整和优化检索算法,提升用户体验。通过这九个精心设计的模块,形成了一个从检索增强到内容生成的完整流程,不仅提高了文本内容的准确性,也为文本生成技术的发展提供了新的方向,为用户提供了便捷、可靠的文本内容幻觉检测与修正服务。同时,该系统还具备良好的可扩展性,能够应用于不同领域和场景。
实施例3:
本实施例提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行实施例1所述的基于RAG技术的智能文档检索生成方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,需要说明的是,附图中的流程图显示了本公开实施例的方法,在附图中的流程图或框图中所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于RAG技术的智能文档检索生成方法,其特征在于,包括:
步骤一、从多样化数据源中收集各种格式的文档;
步骤二、将各种格式文档中的数据转换为文本数据,并对文本数据进行处理;
步骤三、对处理后的文本数据进行切块以及向量化,以建立索引;
步骤四、根据用户输入的查询,检索文本数据;
步骤五、生成满足用户需求的文本结果;
步骤六、对文本结果进行质量评估,并根据质量评估结果,动态调整处理流程,其中,动态调整处理流程包括返回步骤四和行进到步骤七;
步骤七、显示最终文本结果;
所述步骤二包括:
利用OCR技术和自然语言处理工具,将所收集的各种格式文档中的数据转换为文本数据;
应用机器学习算法对文本数据进行均值分析和最大最小长度统计,以理解文本数据的特征和分布;
根据所理解的文本数据的特征和分布对文本数据进行数据清洗和提取文本摘要预处理;
在预处理后的文本数据中添加关键信息,以提升内容筛选和条件过滤的效率和准确性;
所述步骤四包括:
通过预检索模块理解用户所输入查询深入的意图;
根据所理解的意图对用户查询进行改写和纠错,其中,可以采用将用户的单个查询拆解为多个相关查询;
从多个相关查询中筛选出最符合用户意图的查询,并将筛选出的查询转换为查询数值向量;
根据查询数字向量通过算法从索引项中检索出与查询数值向量最相关的文本块数值向量,从而得到文本数据;
对得到的文本数据进行优先级排序;
通过有效的压缩得到的文本数据;
整合来自不同数据源和不同形式的文本数据,以得到检索文本数据。
2.根据权利要求1所述的基于RAG技术的智能文档检索生成方法,其特征在于,所述步骤还包括:
接收用户的反馈数据,并对反馈数据进行分析,识别问题和改进点,指定优化计划;
根据反馈数据的分析结果,定期进行系统迭代更新。
3.根据权利要求1所述的基于RAG技术的智能文档检索生成方法,其特征在于,所述步骤三包括:
提取文档中的文本数据;
利用递归字符文本分割技术,将文本数据切割成多个结构化的文本块;
利用语义表征模型通过稀疏检索技术精确理解每个文本块的深层语义;
基于文本嵌入模型将这些文本块转换成数值向量;
将文本块的数值向量和其对应的文本数据存储为索引。
4.根据权利要求1所述的基于RAG技术的智能文档检索生成方法,其特征在于,所述步骤五包括:
根据用户的查询或需求设计提示工程,以便引导大语言模型生成满足用户需求的文本内容;
对生成的文本内容和检索文本数据进行优化,以生成最终文本结果。
5.根据权利要求4所述的基于RAG技术的智能文档检索生成方法,其特征在于,所述步骤六包括:
检查文本结果的流畅性、语法正确性以及信息的完整性和准确性;
利用语义分析技术识别并去除文本结果中的冗余信息,保留文本结果中的关键信息和核心观点;
对文本结果进行事实核查和数据验证,生成质量评估结果,若生成的质量评估结果为质量需要提升,则返回步骤四,若生成的质量评估结果为质量良好,则输出最终文本结果。
6.一种基于RAG技术的智能文档检索生成系统,其特征在于,包括:
数据收集模块,用于从多样化数据源中收集各种格式的文档;
数据处理模块,用于将各种格式文档中的数据转换为文本数据,并对文本数据进行处理;
索引构建模块,用于对处理后的文本数据进行切块以及向量化,以建立索引;
智能检索模块, 用于根据用户查询,检索出文本数据;
内容生成模块,用于生成满足用户需求的文本结果;
后处理模块,用于对文本结果进行质量评估,并根据评估结果,动态调整处理流程;
结果展示模块,用于展示最终的文本结果;
所述将各种格式文档中的数据转换为文本数据,并对文本数据进行处理包括:
利用OCR技术和自然语言处理工具,将所收集的各种格式文档中的数据转换为文本数据;
应用机器学习算法对文本数据进行均值分析和最大最小长度统计,以理解文本数据的特征和分布;
根据所理解的文本数据的特征和分布对文本数据进行数据清洗和提取文本摘要预处理;
在预处理后的文本数据中添加关键信息,以提升内容筛选和条件过滤的效率和准确性;
所述根据用户输入的查询,检索出文本结果包括:
通过预检索模块理解用户所输入查询深入的意图;
根据所理解的意图对用户查询进行改写和纠错,其中,可以采用将用户的单个查询拆解为多个相关查询;
从多个相关查询中筛选出最符合用户意图的查询,并将筛选出的查询转换为查询数值向量;
根据查询数字向量通过算法从索引项中检索出与查询数值向量最相关的文本块数值向量,从而得到文本数据;
对得到的文本数据进行优先级排序;
通过有效的压缩得到的文本数据;
整合来自不同数据源和不同形式的文本数据,以得到检索文本数据。
7.根据权利要求6所述的基于RAG技术的智能文档检索生成系统,其特征在于,还包括:
反馈模块,用于接收用户的反馈数据,并对反馈数据进行分析,识别问题和改进点,指定优化计划;
系统优化模块,用于根据反馈数据的分析结果,定期进行迭代更新,以提供更高质量服务,满足用户的需求。
8.一种计算机可读存储介质,其特征在于,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行权利要求1至5中任一项所述的基于RAG技术的智能文档检索生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410756036.6A CN118332072B (zh) | 2024-06-13 | 2024-06-13 | 一种基于rag技术的智能文档检索生成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410756036.6A CN118332072B (zh) | 2024-06-13 | 2024-06-13 | 一种基于rag技术的智能文档检索生成方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118332072A CN118332072A (zh) | 2024-07-12 |
CN118332072B true CN118332072B (zh) | 2024-09-06 |
Family
ID=91766300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410756036.6A Active CN118332072B (zh) | 2024-06-13 | 2024-06-13 | 一种基于rag技术的智能文档检索生成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118332072B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118643144A (zh) * | 2024-08-19 | 2024-09-13 | 山东浪潮科学研究院有限公司 | 一种通用自适应问答方法、系统、存储介质及电子设备 |
CN118656481A (zh) * | 2024-08-20 | 2024-09-17 | 山东浪潮科学研究院有限公司 | 一种多阶段动态检索问答系统及其工作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422136A (zh) * | 2023-10-31 | 2024-01-19 | 北京锐安科技有限公司 | 知识向量库构建方法、装置、设备、系统和存储介质 |
CN117932018A (zh) * | 2023-12-27 | 2024-04-26 | 写逸网络科技(上海)有限公司 | 一种基于大模型的文档智能问答方法 |
CN118132732A (zh) * | 2024-05-07 | 2024-06-04 | 传申弘安智能(深圳)有限公司 | 增强式检索用户问答方法、装置、计算机设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656958B (zh) * | 2017-06-09 | 2019-07-19 | 平安科技(深圳)有限公司 | 一种多数据源数据的归类方法及服务器 |
US20220405484A1 (en) * | 2021-06-21 | 2022-12-22 | Openstream Inc. | Methods for Reinforcement Document Transformer for Multimodal Conversations and Devices Thereof |
CN114020862B (zh) * | 2021-11-04 | 2024-06-11 | 中国矿业大学 | 一种面向煤矿安全规程的检索式智能问答系统及方法 |
CN114611494B (zh) * | 2022-03-17 | 2024-02-02 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、设备及存储介质 |
WO2023242540A1 (en) * | 2022-06-13 | 2023-12-21 | Eigen Technologies Ltd. | Methods and systems for transforming and retrieving information from document data using machine learning |
CN118170907A (zh) * | 2024-01-18 | 2024-06-11 | 数字宁波科技有限公司 | 一种基于深度神经网络的公文智能标签系统及其实现方法 |
CN118035416A (zh) * | 2024-02-20 | 2024-05-14 | 北京未澜科技有限公司 | 一种流式问答配图方法及系统 |
CN118153690A (zh) * | 2024-04-01 | 2024-06-07 | 中国科学院软件研究所 | 基于可信度感知和检索增强语言模型的问答方法及系统 |
-
2024
- 2024-06-13 CN CN202410756036.6A patent/CN118332072B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422136A (zh) * | 2023-10-31 | 2024-01-19 | 北京锐安科技有限公司 | 知识向量库构建方法、装置、设备、系统和存储介质 |
CN117932018A (zh) * | 2023-12-27 | 2024-04-26 | 写逸网络科技(上海)有限公司 | 一种基于大模型的文档智能问答方法 |
CN118132732A (zh) * | 2024-05-07 | 2024-06-04 | 传申弘安智能(深圳)有限公司 | 增强式检索用户问答方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118332072A (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399457B (zh) | 一种智能问答方法和系统 | |
CN118332072B (zh) | 一种基于rag技术的智能文档检索生成方法和系统 | |
CN117290489B (zh) | 一种行业问答知识库快速构建方法与系统 | |
CN100458795C (zh) | 一种智能组词输入的方法和一种输入法系统及其更新方法 | |
US6714905B1 (en) | Parsing ambiguous grammar | |
US6745181B1 (en) | Information access method | |
US6704728B1 (en) | Accessing information from a collection of data | |
US6711561B1 (en) | Prose feedback in information access system | |
CN101079024B (zh) | 一种专业词表动态生成系统和方法 | |
CN118093842B (zh) | 一种知识图谱问答系统的优化方法及装置 | |
CN102236639A (zh) | 更新语言模型的系统和方法 | |
CN111460114A (zh) | 检索方法、装置、设备及计算机可读存储介质 | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
CN118484526B (zh) | 基于向量知识库的大模型问答对话方法、系统及存储介质 | |
CN111831624A (zh) | 数据表创建方法、装置、计算机设备及存储介质 | |
EP2544100A2 (en) | Method and system for making document modules | |
CN117909470B (zh) | 一种基于大语言模型快速构建仿真想定方法及装置 | |
CN115438142B (zh) | 一种对话式交互数据分析报告系统 | |
CN117688151A (zh) | 基于知识库的问答方法、装置、计算机设备及存储介质 | |
US8640017B1 (en) | Bootstrapping in information access systems | |
CN113449038B (zh) | 一种基于自编码器的矿山智能问答系统及方法 | |
KR20040048548A (ko) | 지능형 데이터베이스 및 검색 편집 프로그램을 통한사용자 맞춤 검색 방법 및 시스템 | |
CN111949781B (zh) | 一种基于自然语句句法分析的智能交互方法及装置 | |
CN114328860A (zh) | 一种基于多模型匹配的交互咨询方法、装置和电子设备 | |
KR20020061443A (ko) | 컴퓨터 통신망을 이용한 정보의 수집, 가공 및 표시방법과 그 시스템 |
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 |