介绍 检索增强生成(Retrieval Augmented Generation)已经存在一段时间了。许多工具和应用程序围绕这个概念进行了构建,比如向量存储、检索框架和LLMs,使得处理自定义文档尤其是具有Langchain的半结构化数据变得方便。处理长、密集的文本从未如此轻松而有趣。传统的RAG对于不结构化的文本重型文件(如DOC、PDF等)效果良好。然而,这种方法对于嵌入在PDF中的半结构化数据(如嵌入式表格)效果不佳。 在处理半结构化数据时,通常有两个问题。 传统的提取和文本分割方法无法处理PDF中的表格。它们通常会破坏表格,从而导致信息的丢失。 嵌入表格可能无法转化为精确的语义搜索。 因此,在本文中,我们将使用Langchain构建一个用于处理半结构化数据的检索生成(Retrieval Generation)流水线,以解决这两个半结构化数据的问题。 学习目标 了解结构化、非结构化和半结构化数据之间的区别。 对检索增强生成和Langchain进行简要回顾。 学习如何使用Langchain构建一个用于处理半结构化数据的多向量检索器。 本文作为数据科学博文马拉松的一部分发表。 数据类型 通常有三种类型的数据:结构化数据、半结构化数据和非结构化数据。 结构化数据:结构化数据是标准化的数据,遵循预定义的模式,例如行和列。SQL数据库、电子表格、数据帧等。 非结构化数据:与结构化数据不同,非结构化数据没有数据模型。数据是随机的,例如PDF、文本、图像等。 半结构化数据:它是前两种数据类型的结合。与结构化数据不同,它没有严格的预定义模式。然而,数据仍然基于某些标记保持着分层次的顺序,这与非结构化类型形成了对比。例如CSV、HTML、嵌入式PDF中的表格、XML等。 什么是RAG? RAG代表检索增强生成(Retrieval Augmented Generation)。这是为大型语言模型提供新信息的最简单方法。现在,让我们对RAG进行一个快速介绍。 在典型的RAG流程中,我们有知识来源,如本地文件、网页、数据库等,一个嵌入模型,一个向量数据库和一个LLM。我们从各种来源收集数据,拆分文档,获取文本块的嵌入并将它们存储在向量数据库中。现在,我们将查询的嵌入传递给向量存储,从向量存储中检索文档,最后使用LLM生成答案。 这是传统RAG的工作流程,适用于如文本等不结构化数据。然而,当涉及到半结构化数据时,例如嵌入在PDF中的表格,它通常无法表现良好。在本文中,我们将学习如何处理这些嵌入式表格。…
Leave a CommentTag: tables
介绍 您是否曾经处理过非结构化数据,并考虑过一种方式来检测文档中表格的存在?以帮助您快速处理您的文档?在本文中,我们将不仅了解如何检测表格的存在,还将通过使用Transformer模型来识别这些表格的结构。这将由两个不同的模型实现。一个用于文档中的表格检测,另一个用于结构识别,可以识别表格中的行和列。 学习目标 如何在图像中检测表格的行和列? Table Transformers和Detection Transformer(DETR)的介绍 PubTables-1M数据集概述 如何使用Table Transformer进行推理 文档、文章和PDF文件是有价值的信息来源,通常包含传递关键数据的表格。从这些表格中高效提取信息可能会面临不同格式和表示之间的挑战。手动复制或重新创建这些表格可能耗时且繁琐。在PubTables-1M数据集上训练的Table Transformers解决了表格检测、结构识别和功能分析的问题。 本文是Data Science Blogathon的一部分。 如何实现的? 这是通过一种名为Table Transformer的Transformer模型实现的。它使用了一个名为PubTables-1M的大型注释数据集,可以检测文章中的文档或图像。该数据集包含约一百万个参数,并采用了一些措施来给模型带来最新的感觉。通过解决不完美注释、空间对齐问题和表格结构一致性等挑战,实现了高效性。与该模型一起发布的研究论文利用了Detection Transformer(DETR)模型,用于联合建模表格结构识别(TSR)和功能分析(FA)。因此,DETR模型是Table Transformer运行的骨干,由微软研究开发。让我们更详细地了解一下DETR。 DEtection TRansformer(DETR) 如前所述,DETR是DEtection TRansformer的缩写,包括使用编码器-解码器Transformer的卷积骨干,例如ResNet架构。这使得它有潜力进行目标检测任务。DETR提供了一种不需要复杂模型(如Faster R-CNN和Mask…
Leave a Comment