- 博客(120)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路
现阶段,尽管大模型在生成式问答上取得了很大的成功,但由于大部分的数据都是私有数据,大模型的训练及微调成本非常高,RAG的方式逐渐成为落地应用的一种重要的选择方式。然而,如何准确的对文档进行划分chunks,成为一种挑战,在现实中,大部分的专业文档都是以 PDF 格式存储,低精度的 PDF 解析会显著影响专业知识问答的效果。因此,本文将介绍针对pdf,介绍一些pdf结构化技术链路供参考。
2024-06-10 16:33:06
3000
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 HMM(隐马尔可夫)中文分词
一、隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是用来描述一个含有隐含未知参数的马尔可夫过程。1、举例理解 假设我手里有三个不同的骰子。第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1/6。第二个骰子是个四面体(称这个骰子为D4),每个面(1,2,3,4)出现的概率是1/4。第三个骰子有八个面(称这个骰子为D8),每个面(1,2,3,4,5,6,7,8)出现的概率是1/8。 假设我们开始掷骰子,我们先
2020-09-19 10:52:39
6279
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 TF-IDF算法和余弦相似度算法计算文本相似度(纯手撕)
一、TF-IDF算法 TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)是一种用于信息检索(information retrieval)与文本挖掘(text mining)的常用加权技术。 TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。 TF-IDF的主要思想是:如果某个单词在一篇文章中
2020-09-06 12:05:26
9558
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 正向最大匹配算法(中文分词)
一、最大匹配法 最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量的扫描串,在词典中进行扫描(为提升扫描效率,还可以跟据字数多少设计多个字典,然后根据字数分别从不同字典中进行扫描)。最大匹配算法有三种: 1、正向最大匹配 2、逆向最大匹配 3、双向匹配 三种算法原理都一样,以正向为例,是从前向后扫描的过程。如下:二、使用北大训练集实现正向最大匹配1、数据集(从中选取北大的训练集)2、代码实现# -*- coding: utf-8 -*-"""@au
2020-08-30 17:49:42
14155
1
原创 【RAG】FastEmbed:一种轻量的快速文本嵌入工具
在进行文本嵌入时,尤其是RAG系统,有一个快速高效的文本嵌入工具是非常有必要的。因此,FastEmbed设计目标是提升计算效率,同时保持嵌入表示的质量。此外,FastEmbed还支持一些图像嵌入模型。高效的计算速度,适合大规模数据处理;使用ONNX Runtime实现最优性能。低资源消耗,适用于多种设备和环境。FastEmbed刻意减少了对外部资源的依赖,并选择了ONNX Runtime作为其运行时框架。灵活性强,可应用于不同的 NLP 任务。兼容GPU,支持GPU加速计算,进一步提升效率。
2024-08-26 09:56:46
329
原创 【文档智能 & RAG】浅看开源的同质化的文档解析框架-Docling
RAG的兴起,越来越多的人开始关注文档结构化解析的效果,这个赛道变得非常的同质化。关于文档智能解析过程中的每个技术环节的技术点,前期文章详细介绍了很多内容:下面我们简单的看看Docling这个PDF文档解析框架里面都有什么技术。文档智能解析现在非常同质化,实际上能解决自己场景文档解析的实用工具很少,不过可以参考下Docling工程上的具体优化,如多线程等。结合一些其他较强的开源或者自研的小模型,进行替换,打造自己的文档解析工具。
2024-08-26 09:55:48
524
原创 【工具】onnx模型结构信息查看方式:netron、onnxruntime和onnx
将模型转为onnx格式进行部署时,对模型结构不是特别清楚,尤其是模型的输入输出结构时,通常使用一些工具进行查看。
2024-08-19 18:29:57
517
原创 【LLM & RAG & text2sql】大模型在知识图谱问答上的核心算法详细思路及实践
本文介绍了一个融合RAG(Retrieval-Augmented Generation)思路的KBQA(Knowledge-Based Question Answering)系统的核心算法及实现步骤。KBQA系统的目标是通过自然语言处理技术,从知识图谱中提取和生成精确的答案。mention识别、实体链接及排序、属性选择及排序、文本拼接以及最终的Text2SQL生成。通过这些步骤,系统能够准确识别用户提出的问题中的关键实体和属性,并生成相应的查询语句,从而从知识图谱或数据库中检索所需的信息。
2024-08-19 18:28:49
1125
原创 【文档智能 & RAG】RAG新基建-RAG性能增强关键技术点及通用文档解析工具-TextIn
在私有领域知识问答和企业知识管理领域,结合检索增强型生成模型(Retrieval-Augmented Generation, RAG)大模型(Large Language Model, LLM)已成为一种趋势。然而,在RAG系统的文档预处理阶段和检索阶段,经常碰到三个主要问题。企业内部常常积累了大量包含PDF格式的文档,这些文档的解析精度不足,严重制约了基于专业知识的问答系统的性能。因此,提高这些PDF文件的解析质量,对于构建高效的RAG系统至关重要。构建起一个完备的智能文档解析服务后,需要一个。
2024-07-19 11:47:01
1230
1
原创 【NLP & LLM】大模型结构化输出控制技巧及简历信息抽取结构化实践
在使用大模型进行信息抽取任务时,如何使得大模型的输出结果更加可控、稳定(输出稳定的json等)非常重要,这关系到抽取的数据后期开发使用。微调法:微调大模型输出稳定格式的结果(json等)few-shot法:通过在prompt中告知大模型几个示例,要求大模型输出相似的格式但是,尽管如此,在实际操作过程中,仍然会面对着输出不稳定的情况,那么,经常采用的方法就是对输出的结果进行校验,如:要求输出json时,常校验json是否合理。校验失败时,常对大模型进行重复请求多次,以此达到输出结构化的格式。
2024-07-19 11:28:29
584
原创 【RAG & KG】GraphRAG开源:查询聚焦摘要的图RAG方法
传统的 RAG 方法在处理针对整个文本语料库的全局性问题时存在不足,例如查询:“数据中的前 5 个主题是什么?对于此类问题,是因为这类问题本质上是查询聚焦的摘要(Query-Focused Summarization, QFS)任务,而不是传统的显式检索任务。Graph RAG 通过使用 LLM 构建基于图的文本索引,从源文档构建知识图谱。通过构建知识图谱,能够将复杂的、大规模文本数据集转化为易于理解和操作的知识结构,以便更好地理解实体(如人物、地点、机构等)之间的相互关系。使用 LLM。
2024-07-09 20:31:05
1124
2
原创 【文档智能】LACE:帮你自动生成文档布局的方法浅尝
往期很多文章都介绍了【文档智能】上布局识别(版式分析)的技术思路,版式分析是通过对文档版式进行布局识别,识别文档中的元素类型的过程。这次来看看一个有趣的思路,通过已有的元素类型,来生成可控的文档的布局。介绍之前,先概述下一些基础的概念。可控布局生成:在图形设计(例如文档和网页设计)中创建元素的合理视觉排列的过程,同时考虑到代表设计意图的约束条件。FID评价指标:FID(Fréchet Inception Distance)是一种用于评估生成模型和真实数据分布之间差异的指标。
2024-07-09 20:28:50
786
原创 【RAG】Dense X Retrivel:合适的检索粒度对RAG的重要性(浅看命题粒度的定义及分解方法)
在传统的密集检索中,常见的检索单元包括文档、段落或句子。然而,这些单元的选择可能会影响检索性能和下游任务的效果。例如,段落可能包含与问题无关的额外细节,而句子可能过于复杂或缺乏必要的上下文信息。为了解决这些问题,提出了使用“命题”作为新的检索单元。命题在文中被定义为文本中的原子表达,每个命题都包含一个独特的事实片段,并以简洁、自包含的自然语言格式呈现。例如,在讨论比萨斜塔的倾斜角度时,可以提取出以下命题:“比萨斜塔现在大约倾斜3.99度。”这个命题简洁地回答了问题,并且包含了必要的上下文信息。
2024-07-03 19:40:19
1024
原创 【数据集】最近开源的一些多模态图表理解数据集
现有数据集通常关注过于简化和同质化的图表,并且问题往往基于模板生成,这导致了对MLLMs图表理解能力的过度乐观评估。为了解决这个问题,作者提出了一个新的评估套件CharXiv,它包含了从arXiv论文中精选的2323个自然、具有挑战性和多样性的图表,并设计了两种类型的问题:描述性问题和推理问题,以全面评估MLLMs在图表理解方面的能力。数据集类型:图表结构提取、图表推理。
2024-07-03 19:39:08
485
原创 【RAG】FoRAG:面向网络增强型长形式问答的事实性优化RAG
清晰逻辑的缺失:与短答案的传统问答任务不同,LFQA任务中理想的答案往往需要多方面组织和整合信息,但现有的开源方法在生成答案时往往缺乏清晰的逻辑结构。提出了一种新的事实性优化框架,通过在评估和奖励建模中采用细粒度的设计,有效地提高了长形式问题回答中生成答案的事实性,同时减少了对人工标注的依赖。事实性不足:研究表明,现有系统生成的答案中只有大约一半的陈述能够完全得到检索到的参考资料的支持,这严重影响了这些系统的可信度。统计信息显示,使用提纲增强技术生成的答案比现有工作中的答案更长,其具有更强的逻辑结构。
2024-06-29 12:54:28
929
原创 【文档智能】DLAFormer:端到端的解决版式分析、阅读顺序方法
前面文章介绍到,文档智能中版式分析(DLA)(《【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路》)、阅读顺序(《【文档智能】符合人类阅读顺序的文档模型-LayoutReader及非官方权重开源》)都是文档的智能结构识别和解析中非常重要的部分。传统的pipline的形式,首先通过版式分析的方法识别出文档中各个信息区块的位置信息及类别信息,然后通过使用阅读顺序的方法,复原出原始文档中各个区块的阅读顺序。本文介绍一种端到端的解决文档版式分析、阅读顺序的方法-DLAFormer。
2024-06-29 12:53:32
1112
原创 【LLM】PISSA:一种高效的微调方法
介绍PISSA前,先简单过一下LLMs微调经常采用的LoRA(Low-Rank Adaptation)微调的方法,LoRA 假设权重更新的过程中有一个较低的本征秩,对于预训练的权重参数矩阵W0∈Rd×kW0∈Rd×k,(ddd为上一层输出维度,kkk为下一层输入维度),使用低秩分解来表示其更新:在训练过程中,W0W_0W0冻结不更新,AAABBB包含可训练参数。则 LoRA 的前向传递函数为:初始化时,常将低秩矩阵AAA高斯初始化,B。
2024-06-22 15:25:44
920
原创 【TKGQA】关于时间知识图谱问答的一篇综述阅读
时间知识图谱问答(TKGQA)是KBQA中一个关注时间问题的重要子任务。时间问题包含时间约束、需要时间标记的答案,反映了现实世界事件的动态和演变性质。通常表示为 G = (E, R, T, F),其中 E、R、T 和 F 分别代表实体(entities)、关系(relations)、时间戳(timestamps)和事实(facts)。一个时态事实 f ∈ F 由一个或多个实体、关系和相关的时间戳组成。
2024-06-22 15:24:46
801
原创 【文档智能】实践:基于Yolo三行代码极简的训练一个版式分析模型
本文以开源的CDLA数据集做为实验,CDLA是一个中文文档版面分析数据集,面向中文文献类(论文)场景。
2024-06-16 11:49:47
433
2
原创 【文档智能 & RAG】RAG增强之路-智能文档解析关键技术难点及PDF解析工具PDFlux
在私域知识问答和企业知识工程领域,结合Retrieval-Augmented Generation(RAG)模型和大型语言模型(LLM)已成为主流方法。然而,企业中存在着大量的PDF文件,PDF解析的低准确性显著影响了基于专业知识的问答效果,因此,这些文件的有效解析对RAG模型的构建至关重要。上篇文章(【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路)主要讨论了开源的PDF解析技术,而本文将先探讨下RAG落地时常见的问题及文档解析在RAG的重要性智能文档解析关键技术。
2024-06-15 15:00:27
2250
4
原创 【RAG】RAG性能提升之路-RAPTOR:一种构建递归文档树的增强检索方法
RAPTOR模型通过其递归抽象处理方法,有效地解决了现有方法在长篇文档检索中的局限。通过构建树状索引结构,RAPTOR不仅提升了对长篇文档的理解,还增强了检索的准确性和效率,为处理知识密集型任务提供了新的可能。
2024-06-14 08:49:17
1399
原创 【文档智能】包含段落的开源的中文版面分析模型
权重下载地址:https://huggingface.co/qihoo360/360LayoutAnalysis。
2024-06-12 22:26:37
1442
原创 【LLM & Agent & 长文本】Chain-of-Agents与Qwen-Agent引领智能体长文本处理革命
输入长度减少:RAG的方法可以减少输入长度,但这可能导致所需信息的部分丢失,影响任务解决性能。扩展LLMs的上下文长度:通过微调的方式来扩展LLMs的上下文窗口,以便处理整个输入。当窗口变长时,LLMs难以集中注意力在解决任务所需的信息上,导致上下文利用效率低下。下面来看看两个有趣的另辟蹊径的方法,使用Agent协同来处理长上下文。
2024-06-12 21:35:20
1110
原创 【RAG】浅尝基于多头注意力机制思想设计的Multi-Head RAG(多头RAG)
标准RAG(Retrieval-Augmented Generation)和Multi-Head RAG(MRAG)都是为了增强大型语言模型(LLMs)能力的框架,但它们在实现方式上存在一些关键差异。
2024-06-11 08:18:08
947
原创 【文档智能】符合人类阅读顺序的文档模型-LayoutReader原理及权重开源
LayoutReader模型使用seq2seq模型捕获文本和布局信息,用于阅读顺序预测,在实验中表现出色,并显著提高了开源和商业OCR引擎在文本行排序方面的表现。在编码阶段,LayoutReader将源序列和目标序列打包成一个连续的输入序列,并设计了自注意力掩码来控制token之间的可见性。具体来说,LayoutReader允许源序列中的标记相互关注,同时阻止目标序列中的标记关注右侧上下文。在解码阶段,由于源序列和目标序列是重新排序的序列,预测候选可以被限制在源序列内。因此,模型被要求预测源序列中的索引。
2024-06-02 18:31:17
1158
原创 【LLM & 长文本】Infini-attention:高效无限上下文 Transformer
大型语言模型(LLMs)通过在Transformer架构中引入注意力机制而发生了革命性的变化。这些机制通过使模型能够专注于输入序列的关键部分,从根本上改变了模型理解和生成文本的方式。然而,随着模型变得更加复杂并处理越来越长的序列,出现了诸如注意力窗口和二次复杂度等挑战。为了应对这些问题,无限注意力(Infini-Attention)通过将压缩记忆模块整合到标准Transformer注意力机制中,无限注意力克服了这些限制,同时保持了效率。
2024-05-21 21:55:56
865
原创 【LLM & RAG】RAFT:垂域知识微调LLM提升RAG表现
本文主要记录了RAFT方法如何构造训练数据,微调LLM提高对垂域知识的适应性,为大型语言模型在特定领域内的应用提供了一种有效的提升途径。
2024-03-30 15:16:57
1354
原创 【文档智能 & LLM】LayoutLLM:一种多模态文档布局模型和大模型结合的框架
传统的文档理解任务,通常的做法是先经过预训练,然后微调相应的下游任务及数据集,如文档图像分类和信息提取等,通过结合图像、文本和布局结构的预训练知识来增强文档理解。LayoutLLM是一种结合了大模型和视觉文档理解技术的单模型方法,通过多模态指令数据集的微调来提高对图像文档的理解和分析能力。本文介绍了一种传统布局模型结合大模型做文档理解的方法:LayoutLLM。这个框架通过结合VrDU编码器来捕捉文档图像的特征,以及使用LLM作为解码器来处理任务指令,有效地提高了对文档图像的理解和分析能力。
2024-03-24 11:39:11
1735
原创 【LLM】LongRoPE:LLM上下文窗口扩展方法及非官方实现
目前,大多数LLMs的上下文窗口限制在4k个标记左右,这意味着模型在处理超过这个长度的文本时性能会下降。新位置索引的未训练引入了许多灾难性值,导致分布外问题,使得微调难以收敛。微调通常需要相应长度的文本。然而,当前数据集中特别是超过1000k的长文本非常有限。此外,对超长文本进行训练计算成本高昂,需要大量的训练时间和GPU资源。当扩展到极长的上下文窗口时,注意力会变得分散,因为它需要在大量的标记位置上进行分配,这会降低模型在原始短上下文上的性能。
2024-03-23 21:10:38
1518
原创 【文档智能】再谈基于Transformer架构的文档智能理解方法论和相关数据集
文档的智能解析与理解成为为知识管理的关键环节。特别是在处理扫描文档时,如何有效地理解和提取表单信息,成为了一个具有挑战性的问题。扫描文档的复杂性,包括其结构的多样性、非文本元素的融合以及手写与印刷内容的混合,都为自动化处理带来了难题。本文记录了基于Transformer架构的文档理解模型常见方法和相关数据集。文档理解本质上是一个序列标注任务,类似于命名实体识别(NER),通常被称为关键信息提取(KIE)。
2024-03-09 16:10:46
1323
1
原创 【LLM & RAG】GritLM:统一嵌入和生成的大语言模型浅谈
目前,所有基于文本的语言问题都可以归结为生成问题,并通过单一的LLM来处理。然而,使用嵌入的任务(如聚类或检索)在这种视角下往往被忽视了。文本嵌入在许多关键的实际应用中扮演着重要角色。如RAG,在向量表征时,通过一些表征模型如:BGE、BCE等进行嵌入。因此,当前的方法在处理生成任务和嵌入任务时通常是分开的,这导致了效率和性能的损失。本文提出了GRIT(Generative Representational Instruction Tuning),这是一种统一嵌入和生成任务的方法。
2024-03-01 18:52:14
1634
原创 多模态大型语言模型综述
这篇论文《The ®Evolution of Multimodal Large Language Models: A Survey》提供了对多模态大型语言模型(MLLMs)领域的全面回顾。引言:介绍了MLLMs的重要性,它们通过整合视觉和文本模态,提供了基于对话的接口和遵循指令的能力。论文强调了在这一领域进行研究的重要性,并概述了研究的三个核心方面:模型架构、训练方法和任务设计。赋予LLMs多模态能力。
2024-02-21 15:15:22
1264
原创 TOP RAG痛点思考及解决方案
幻觉和捏造指的是在大型语言模型(LLM)中,特别是在生成文本时,模型可能会产生虚构(hallucination)或捏造(fabrication)信息的问题。在大型语言模型中,个性化意味着模型需要能够理解并适应每个用户的特定需求,这在技术上可能非常复杂,因为需要处理大量的个性化数据,并且确保隐私和数据安全。这些因素都可能影响用户的真实意图和所需信息的类型。:经过投毒训练的模型可能会在实际应用中产生预期之外的行为,比如在图像识别中错误地分类图像,或者在自然语言处理中生成带有偏见或误导性的内容。
2024-02-06 08:53:59
837
原创 【LLM & KBQA】FlexKBQA:一种结合LLM的KBQA框架
直接生成答案:一些方法直接利用LLMs生成答案,而不是生成中间的程序(如SPARQL查询)。这种方法通常依赖于模型的上下文学习能力,通过提供少量的示例(in-context learning)来引导模型理解问题并生成答案。程序生成:在某些情况下,LLMs被用来直接生成执行查询的程序,例如SPARQL查询。这种方法需要模型理解问题的结构,并能够将自然语言问题转换为有效的查询语言。语义解析:LLMs也被用于将自然语言问题映射到结构化的查询表示,如SPARQL。
2024-02-03 11:35:58
1039
原创 【LLM推理】Lookahead:一种无损推理加速机制
Lookahead框架的核心思想是利用多分支策略和Trie树结构来加速推理过程:多分支策略:传统的自回归模型逐个生成下一个词,而Lookahead框架通过并行生成多个分支(即多个可能的词序列),然后通过验证和接受(Verification and Accept, VA)过程来确定最终的输出。这种方法允许模型在每个推理步骤中生成更多的词,从而提高整体的推理速度。Trie树:在Lookahead框架中,Trie树用于记录输入和输出的词列表,使得模型能够基于上下文预测多条路径。
2024-01-27 10:15:42
2730
原创 【LLM】FuseLLM:大模型融合trick-知识融合LLMs
传统的模型融合方法分为集成的方法和权重合并的方法,这两种方法在以往的NLP的比赛中非常常见,是一种提分手段。然而,上述两种方法都需要预训练或者微调相应的模型。在大模型场景下,对每个源模型都进行初始化成本太高,为了减少初始化源LLM的成本,使集成后的模型受益于所有源LLMs的优势。因此,本文介绍了一种知识融合的方法用来进行大模型的融合。FUSELLM提供了一种LLMs的集成方法,为大模型融合提供了一个trick,或许未来LLM比赛爆发的时候,最后大家涨分涨不动了,可以考虑下试一试这个trick。
2024-01-25 21:02:31
1437
原创 【LLM问答】两阶段的对话式问答模型ChatQA思路和兼看两阶段的RAG知识问答引擎QAnything
ChatQA:这篇文章的两阶段微调的ChatQA模型,对于对话式问答任务,特别是处理长文档和需要检索的上下文时对话时,能够达到或超过GPT-4的性能水平。QAnything:介绍了基于微调的Qwen-7b,两阶段的RAG知识库问答引擎 QAnything,支撑任意格式的文档数据私有化进行知识问答。
2024-01-20 21:47:15
2245
原创 【flash-attention】Building wheel for flash-attn (pyproject.toml) did not run successfully
【flash-attention】Building wheel for flash-attn (pyproject.toml) did not run successfully。
2024-01-09 16:37:43
2018
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人