【LLM落地应用实战】LLM + TextIn文档解析技术实测

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 文档解析技术是从这些海量且复杂的数据中高效准确地提取有价值信息的关键。它从输入文档图像开始,经过图像处理、版面分析、内容识别和语义理解等流程,最终输出结构化电子文档或语义信息。通过文档解析技术,我们能够深入理解文档的结构、内容和主题,使得信息更易于检索、分析和利用。

赋予机器类人的多模态信息解析能力是实现通用人工智能的一大基石。

一、现有大模型文档解析的挑战

1.1、文档解析技术流程

随着信息化和数字化的飞速发展,我们每天都面临着包括财务报表、商业合同、技术报告等海量的文档数据。从研究价值的角度来看,这些文档不仅蕴含了各行业处理内外部事务的详尽细节和深厚的知识积累,更汇聚了丰富的行业相关实体和数字信息。而在形式上,这些文档则呈现出多元化的复杂性,如双栏排版、手写字体、印章标记、有线表格与无线表格等元素的交织,使得文档解析和信息提取成为一项极具挑战和价值的任务。

文档解析技术是从这些海量且复杂的数据中高效准确地提取有价值信息的关键。它从输入文档图像开始,经过图像处理版面分析内容识别语义理解等流程,最终输出结构化电子文档或语义信息。通过文档解析技术,我们能够深入理解文档的结构、内容和主题,使得信息更易于检索、分析和利用。其中:

  • 图像处理:将文档从原始形式转换为可处理的数字数据,包括去除文档中的噪声和失真、图像矫正、文本抽取以及框线去除等。
  • 版面分析:确定文档中各个元素的位置、大小和关系,如文本、图片、表格等。包括物理版面分析(页面分割,包括区域分割与分类、文本检测/定位、文本行分割)和逻辑版面分析(区域语义分类、阅读顺序)。
  • 内容识别:识别文档中的具体内容,如文字、表格、图表等,将文档中的文字转换为计算机可处理的文本,以及表格和图像的识别,进而进行进一步的分析和处理。
  • 语义理解:理解文档的语义信息,即文档中所表达的意义和内容,包括理解文档中的语言结构、语义关系和逻辑连接,提取出特定的信息元素,并识别文档中不同部分之间的关联和逻辑关系。

1.2、LLM + 文档解析技术挑战

现如今,以ChatGPT为代表的先进大语言模型(LLM)已经能够胜任复杂的自然语言处理任务。将LLM与文档解析技术相结合,不仅能够显著提升文档解析的准确性和效率,还能挖掘出更广阔的应用场景,降低文档理解的门槛,从而有力推动自然语言处理领域的蓬勃发展。

尽管当前国内外的大模型纷纷加入了文档解析功能,然而,在对照文档解析的四个关键步骤(图像处理、版面分析、内容识别、语义理解)时,这些大模型并未展现出无懈可击的解决能力。

它们在实际应用中仍然面临着一定的挑战和限制,下面我们使用LLM对文档解析中的一些经典问题进行分析:

图像处理难题——图像倾斜矫正

 下面,我们尝试将一段具有倾斜角度的文档图片输入到LLM中,如下图所示,由于文档图像存在显著的倾斜度,LLM在自动进行图像倾斜矫正时遇到了困难,导致了内容解析的失败。这一挑战凸显了当前LLM在图像预处理和矫正方面仍面临一定的困难。

版面分析难题——逻辑结构识别

在下图所示的示例中,我们尝试将一篇具有无线有线混排的表格文档输入给LLM中,并就其中的“AdaBoost需要使用到的特征”进行提问,可以发现,在使用大模型自带的解析时,找到的信息与原始文档相悖,这一错误信息无疑给用户带来严重的误导。

内容识别难题——公式识别解析

数学公式,作为文本中独特的元素,通常融合了文字和符号,呈现出复杂的二维结构关系。在识别这些公式时,不仅需要对构成其基础的文字和符号进行精确识别,还需深入分析这些元素之间的二维结构,准确描述它们之间的关系。

在如下图示的案例中,我们将一篇包含中等难度公式的文档输入到LLM中,希望它能协助总结节点定位误差的公式。尽管LLM输出了相应的公式,但仔细观察后不难发现,该公式明显缺少一个关键的根号,产生一定的误导。这一疏忽表明,LLM在结构化符号和图形识别方面仍有待提高,在处理数学公式这类具有严格结构和逻辑的文本元素时,其准确性和完整性仍需进一步加强。

语义理解难题——阅读顺序推断

语义理解阶段的核心任务是识别并理解文档中不同部分之间的内在关联和逻辑关系。在原始文档中,“把握跨境支付数据取得与流量数据价值定位的主动权”这一关键论点与第⑦篇《大力增强支付产业国际竞争力》之间存在明确的对应关系。

而当我们将此文档输入到LLM系统时,它未能按照人类的思维逻辑来正确解析和展示文档内容。相反,其错误地编造了一篇文献作为回应,这凸显了当前LLM在语义理解,尤其是阅读顺序与逻辑关联推断方面的不足。

二、TextIn文档解析实测流程

针对以上痛点,合合信息凭借其强大的研发实力,成功自研出TextIn文档解析技术。该技术深度融合了文字识别、计算机图形图像技术以及智能图像处理引擎,使得纸质文档或图片中的文字信息能够迅速、精准地转化为计算机易于处理的文本格式。目前,TextIn平台已经开放了通用文档解析的试用权限和API调试接口,任何开发者都可以注册账号并开通使用。

2.1、网页在线调用效果

首先进入TextIn官网:https://www.textin.com/console/recognition/robot_struct?service=pdf_to_markdown

选择1千页的套餐进行试用。

点击开通试用,然后进入工作台,找到已开通机器人-公有云API-通用文档解析-在线使用。

进入网页后,上传一份检索报告的扫描件,可以看到,TextIn通用文档解析能够精准地识别扫描件中的表格元素。不论是简单的单行表格还是复杂的跨页表格,它都能准确地捕捉并创建出结构清晰、布局合理的电子表格,还能将单元格的内容一一对应解析,确保数据项都被准确无误地提取。

不仅如此,它还能够将解析结果导出为Markdown或JSON格式。Markdown格式的输出具有直观性和编辑便捷性,特别适用于解析结果的查看、修改及后续处理。而JSON格式在数据交换中具有相当的通用性和易用性,它能够与主流数据处理软件或平台无缝对接,确保数据的流畅交换和共享。通过这两种格式的输出选项,我们可以将解析结果直接应用于数据分析和处理,并且能够轻松实现与其他系统的数据交换和集成。

2.2、本地API调试效果实测

除了在线调用,TextIn通用文档解析还提供了API调试与示例代码,首先点击API集成,进入API文档。

API文档给出了请求头、URL参数、请求体说明、响应体说明和错误码说明,包括必要的认证信息、内容类型、清晰的示例和说明、字段的含义和格式。

这里我使用JS设计一个简单的demo,其中onload事件处理函数用于获取读取到的文件数据(ArrayBuffer),XMLHttpRequest对象向服务器发送数据后,onreadystatechange事件处理函数检查请求的readyState属性并对返回内容进行解析,主要核心代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>文档解析演示</title>
</head>
<body>
  <div class="container">
    <h2>上传文件</h2>
    <div class="file-upload">
      <input type="file" id="fileInput">
      <label for="fileInput">选择文件</label>
    </div>
  </div>
  <script>
    document.querySelector('#fileInput').addEventListener('change', function (e) {
      var file = e.target.files[0];
      var reader = new FileReader();
      reader.readAsArrayBuffer(file);
      reader.onload = function (e) {
        var fileData = this.result;
        var xhr = new XMLHttpRequest();
        var appId = '4956***********************f0';
        var secretCode = '10be2*********************c18';
        var url = 'https://api.textin.com/ai/service/v1/pdf_to_markdown';
        xhr.open('POST', url);
        xhr.setRequestHeader('x-ti-app-id', appId);
        xhr.setRequestHeader('x-ti-secret-code', secretCode);
        console.log("loading")
        xhr.onreadystatechange = function () {
          if (xhr.readyState === 4) {
            var response = xhr.response;
            var obj = {};
            try {
              obj = JSON.parse(response);
            } catch (e) {
              console.error('Error parsing JSON response:', e);
            }
            console.log("success")
            console.log(obj.result)
            if (obj.result && obj.result.item_list && obj.result.item_list.length > 0) {
              console.log(obj.result.item_list);
            }
          }
        };
        xhr.send(fileData);
      };
    });
  </script>
</body>
</html>

实际使用时,只需要点击选择文件,然后上传需要解析的PDF或图片,在右侧就会打印出对应的解析结果。

2.3、初步实践——基于TextIn文档解析 + Kimi的智能文档解析助手

文档解析技术以其精湛的技能,致力于将多样化格式的文档转化为计算机易于理解和操作的文本格式。而强大的大型语言模型则以其卓越的能力,能够深入理解和把握不同文本格式的上下文脉络,精准捕捉文本中蕴含的深层语义,从而生成更加贴合用户需求的下游任务输出。

那么,我不禁思考:是否有可能将TextIn文档解析API与LLM的语言理解能力巧妙结合,打造出一个高效且强大的文档处理流程?话不多说,让我们立即付诸实践。

首先,我们调用TextIn文档解析API,将原本难以直接使用的文档(如PDF和图片格式)转化为计算机易于理解的信息,选择输出Markdown或JSON格式的文档内容,为后续的数据分析和处理提供清晰、结构化的数据支持。

接下来,我们将TextIn API生成的Markdown数据或JSON数据作为输入传递给LLM,本次实践选用了moonshot的Kimi。通过这一步骤,我们为Kimi提供了丰富的结构化数据,使其能够深入分析文档内容,并为后续处理提供更为全面和准确的上下文支持。

最后利用LLM的能力,对输入的JSON数据进行处理,根据特定的业务场景和用户需求,我们可以让LLM执行一系列高级任务,如生成摘要、提取关键信息、分类总结等。

以下图的乡村旅游热度季节变化规律为例,我们可以将包含乡村旅游数据的JSON文件输入给LLM。LLM会利用其深度学习和自然语言处理的能力,分析这些数据,识别出乡村旅游热度的季节性趋势和变化规律,基于这些分析,生成一份详尽的分析报告,包含乡村旅游热度的季节分析、未来趋势预测以及相应的建议或策略,从而为乡村旅游的决策者提供有价值的参考,帮助规划和管理乡村旅游资源,提升游客的满意度和体验。

通过以上体验,可以看到,TextIn文档解析API以其卓越的性能为我们提供了强大的文档解析工具,而Kimi智能文档助手则以其对文本深层语义的精准捕捉和理解能力,进一步提升了文档内容的下游任务处理水平,结合两者,不仅打破了传统文档处理的局限,还可以实现对文档更深层次的理解和处理,并且能够应对各种类型文档处理需求。

想象一下,当你面对一堆繁杂的PDF文件、图片或扫描件时,你不再需要逐页翻阅、手动输入或依赖低效的OCR工具,而是可以借助TextIn文档解析 + LLM将其迅速转化为结构化的文本数据,进而提取关键信息、生成摘要、分类归档,甚至进行更复杂的文本挖掘和数据分析。

如果你对智能图像处理、文字表格识别、文档内容提取感兴趣,那么我强烈推荐你前往TextIn的官方网站进行亲身体验。让TextIn成为你文档处理的得力助手,让智能化、高效化的文档解析成为你工作的新常态吧!


相关文章
|
12天前
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
48 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
6天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
3天前
|
JSON JavaScript 前端开发
Javaweb中Vue指令的详细解析与应用
Vue指令提供了一种高效、声明式的编码方式,使得开发者可以更专注于数据和业务逻辑,而不是DOM操作的细节。通过熟练使用Vue指令,可以极大地提高开发效率和项目的可维护性。
10 3
|
9天前
|
数据可视化 Python
Python绘制基频曲线——实例解析与应用探讨
Python绘制基频曲线——实例解析与应用探讨
31 9
|
8天前
|
存储 缓存 Java
在Spring Boot中使用缓存的技术解析
通过利用Spring Boot中的缓存支持,开发者可以轻松地实现高效和可扩展的缓存策略,进而提升应用的性能和用户体验。Spring Boot的声明式缓存抽象和对多种缓存技术的支持,使得集成和使用缓存变得前所未有的简单。无论是在开发新应用还是优化现有应用,合理地使用缓存都是提高性能的有效手段。
15 1
|
13天前
|
缓存 负载均衡 Dubbo
Dubbo技术深度解析及其在Java中的实战应用
Dubbo是一款由阿里巴巴开源的高性能、轻量级的Java分布式服务框架,它致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
39 6
|
9天前
|
JavaScript 前端开发 UED
Javaweb中Vue指令的详细解析与应用
Vue指令是Vue框架中非常强大的特性之一,它提供了一种简洁、高效的方式来增强HTML元素和组件的功能。通过合理使用这些指令,可以使你的JavaWeb应用更加响应用户的操作,提高交互性和用户体验。而且,通过创建自定义指令,你可以进一步扩展Vue的功能,使其更贴合你的应用需求。
11 1
|
11天前
|
传感器 机器学习/深度学习 自动驾驶
未来出行的革新:无人驾驶技术深度解析
在当今科技飞速发展的时代,无人驾驶技术正逐步从科幻走向现实,成为未来交通领域最具革命性的变化之一。本文旨在深入探讨无人驾驶技术的工作原理、关键技术组件以及面临的伦理与法律挑战,并展望其对社会经济和日常生活的深远影响。通过分析感知、决策和执行三个核心环节,本文揭示了无人驾驶汽车如何利用先进的传感器阵列、复杂的算法和精密的机械控制来实现自主行驶。同时,文章也讨论了数据安全、隐私保护及责任归属等问题,呼吁建立相应的法规框架以促进技术的健康发展。最后,无人驾驶技术被预测将为减少交通事故、缓解拥堵、提高能效及推动共享经济等方面带来显著益处,预示着一个更加智能、高效和可持续的出行未来。
|
6天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
10 0
|
9天前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面