准确高效的TextIn文档解析:一项开发痛点的解决方案

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 企业在构建知识库问答系统时面临挑战,尤其是处理扫描文档和手写内容。传统OCR工具和开源方法在准确性和速度上不足。专业长文档解析成为关键,其中TextIn平台的文档解析服务脱颖而出。该服务能快速将PDF转为Markdown,提高处理速度和准确性,尤其适合处理复杂布局的长文档。通过实际测试,TextIn能有效增强LLM问答系统的性能,解决无法正确解析的问题。目前TextIn处于内测阶段,提供每周7000页的免费试用额度,开发者可通过其官网或“合研社”公众号了解更多信息和获取接口文档。

一、写在前面的话

最近接到一项需求(咨询),计划是做企业级的知识库问答,将相关业务的现有数据、材料做清洗整合,建立数据库,通过问答工具提高业务部门的工作效率。

对现有的开源方法做了一些调研后,笔者发现开发工作在流程第一步就比较难顺畅推进。原因在于,需求方的重要数据有很大一部分来自还没完全实现无纸化办公的环境,以扫描档居多,也包含一部分手写批注或修正,而结合现有的开源工具,自研开发难度相当高。在此分享一下调研过程中的收获。

二、还得是专业的长文档解析

长文档解析并不是一项产生时间很久的需求。在大模型应用进入市场之前,传统的智能文字处理工具已经能满足C端用户的大部分阅读、编辑需求。此前,OCR主要用于处理单页发票、卡、证等,长文档识别缺乏应用场景。

随着LLM在过去一年中的快速发展,我们逐渐发掘AI在处理大量信息内容并提取、总结、帮助分析方面强大的优势,对长文档做高效、准确解析的需求很快浮现。笔者进行调研的基础正是处理长篇且版面复杂的PDF文件。

首先,笔者考虑的是大家通常使用的开源工具,能够支持电子档PDF的提取,但也发现PyPDF2等工具对中文的支持不太理想,距离企业需求的准确度仍有比较大的差距。而结合一些可订阅的OCR工具,例如一些大厂的云服务,一定程度上满足了扫描文件识别要求,但依旧产生两个问题:

1、OCR识别的耗时较长,在处理长文档时体验感不佳;
2、从技术原理来说,OCR返回的信息是文本与相应坐标,一般按行输出字符内容,缺少序列与段落信息,更难以应对有线甚至无线表格、多栏文档这样的复杂板式。

88e700b641eefb15b4ba55c6756276ce_d0b0f7a6e68b4ad1ade9f3fa0383225e.png

总体来说,要基于现有方法实现解析文档的需求,自研难度较大,难以实现理想的速度、泛化能力和兼容性,而如果使用大量数据标注做模型训练,又会需要相当高的成本与漫长的开发周期。因此,笔者测试了目前市场上专业的文档解析产品,并发现一款能解决痛点的产品:合合信息TextIn平台的文档解析。

这款产品能提供PDF转Markdown服务,测试下来速度也令人满意,处理100页左右的长文档,能在3s以内输出结果。这是笔者比较过的好几款市面上的产品中速度最快的,有一些产品20页以内的文档需要几十秒处理时间,在效率和体验感差异巨大。

笔者也通过TextIn平台与合合信息的技术人员简单交流了文档解析的技术使用,根据他们的内部测试,在同一批数据上,使用同样的Prompt给到大模型做信息抽取,比较纯OCR和markdown格式输出的差异,发现Markdown格式的抽取准确率要高于纯OCR输出不少。

这也是比较好理解的,我们知道在LLM训练时,大家一般会采用Markdown格式作为训练语料,而同格式的输入对大模型来说较为友好。笔者在测试后发现:要加快问答产品的研发周期,还得是专业的长文档解析。

三、使用TextIn文档解析工具增强LLM问答

分享几个测试案例。主要是一开始用大模型自带解析无法正确应答的,在用TextIn文档解析后做了二次尝试。

笔者上传一份技术专业文件扫描档,并向Kimi提出一个检索式内容问题,回答为文本内容不包含。而同样的文本,经过文档解析转换后,提出一样的问题,Kimi能够准确回答

6eee63c926ed2f454076ac0a14910721_ec5a2e97baa44528aa2fc36ab70e9ffd.png

在扫描原文件中,可以对结果进行验证。

94b816ed5e5b1b1fd79d3f9c6b51d806_2ac83b2479ac465aaad6f4a94a146969.png

在海螺AI,笔者测试了两份含表格文件。第一份为公司文件。

03a61a11aae3d2ca29f27699ace7a8ac_df6292d6f7584817872542fcc2bb82c0.png

3465cd587f829307ae9a7862a14a8f39_1cd65c10d78a414cbcdc78b98681931a.png

针对扫描档,海螺回复内容为空。由于海螺暂时不支持Markdown格式,将文档解析输出结果手动转为txt格式,能正确给出答案,且指明了位置。

回到原文件,也可以方便地定位到信息。

b9287b1195b21962883f52ccfc70cd36_bb138bed5a514815b0252bb522cb4fa0.png

第二份为财报文件。
629cc84906e3efbdbe62f6d56583974a_aa806e63c44743f082b9b329275bd96a.png

2d90c0c3ec3ba09e9476748a8dcda5f0_d1e35277141248908f1494c1710654c1.png

3e5fef636885b35af83eec088aa8fd47_71f3b2dbd06649a9834710fca638ba23.png

同样地,经由文档解析后,大模型的答复得到显著提升。

TextIn这款产品符合开发知识库问答需要的几大要素:快速解析、高准确度与良好的兼容性,解决了当前开发过程中的痛点。

四、试用方式

分享一下TextIn文档解析的使用方式,希望能给与笔者遇到类似困难的开发者提供一些思路。同时,笔者注册的时候发现这款产品现在正处于内测阶段,平台给每位开发者提供每周7000页的额度福利,有需要的C站朋友也可以通过“合研社”公众号领取。

产品官网链接:https://www.textin.com/market/detail/pdf_to_markdown

文档解析产品在TextIn平台,第一次使用需要注册账号,速度也很快,点击页面上的“免费体验”就可以试用了。
对开发者来说,如果需要用代码调用,也有对应的接口文档内容
https://www.textin.com/document/pdf_to_markdown

平台提供了一个Playground,帮开发者们预先调试接口。

669b2271f3ef7208e603e610c4e43e88_75a9d036eb524d95bbd87d882120631a.png

7e5b5452a3e68e9da864fc448e819ad9_7c78637ad66d4762953af44c4a89e885.png

简单配置一些接口参数,发起调用后,就能查看调用结果。

如果想用python调用,既可以参考平台上的通用示例代码,也可以通过公众号“合研社”,联系合合技术团队,获得更全面的demo代码。

开始试用👉TextIn平台

相关文章
|
28天前
|
开发框架 供应链 监控
并行开发模型详解:类型、步骤及其应用解析
在现代研发环境中,企业需要在有限时间内推出高质量的产品,以满足客户不断变化的需求。传统的线性开发模式往往拖慢进度,导致资源浪费和延迟交付。并行开发模型通过允许多个开发阶段同时进行,极大提高了产品开发的效率和响应能力。本文将深入解析并行开发模型,涵盖其类型、步骤及如何通过辅助工具优化团队协作和管理工作流。
56 3
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
95 3
|
4天前
|
监控 关系型数据库 MySQL
MySQL自增ID耗尽应对策略:技术解决方案全解析
在数据库管理中,MySQL的自增ID(AUTO_INCREMENT)属性为表中的每一行提供了一个唯一的标识符。然而,当自增ID达到其最大值时,如何处理这一情况成为了数据库管理员和开发者必须面对的问题。本文将探讨MySQL自增ID耗尽的原因、影响以及有效的应对策略。
16 3
|
8天前
|
存储 人工智能 自然语言处理
高效档案管理案例介绍:文档内容批量结构化解决方案解析
档案文件内容丰富多样,传统人工管理耗时低效。思通数科AI平台通过自动布局分析、段落与标题检测、表格结构识别、嵌套内容还原及元数据生成等功能,实现档案的高精度分块处理和结构化存储,大幅提升管理和检索效率。某历史档案馆通过该平台完成了500万页档案的数字化,信息检索效率提升60%。
|
7天前
|
存储
文件太大不能拷贝到U盘怎么办?实用解决方案全解析
当我们试图将一个大文件拷贝到U盘时,却突然跳出提示“对于目标文件系统目标文件过大”。这种情况让人感到迷茫,尤其是在急需备份或传输数据的时候。那么,文件太大为什么会无法拷贝到U盘?又该如何解决?本文将详细分析这背后的原因,并提供几个实用的方法,帮助你顺利将文件传输到U盘。
|
14天前
|
消息中间件 缓存 安全
Future与FutureTask源码解析,接口阻塞问题及解决方案
【11月更文挑战第5天】在Java开发中,多线程编程是提高系统并发性能和资源利用率的重要手段。然而,多线程编程也带来了诸如线程安全、死锁、接口阻塞等一系列复杂问题。本文将深度剖析多线程优化技巧、Future与FutureTask的源码、接口阻塞问题及解决方案,并通过具体业务场景和Java代码示例进行实战演示。
34 3
|
17天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
39 1
|
25天前
|
机器学习/深度学习 安全 搜索推荐
中国CRM市场深度解析:本土化定制开发的领军厂商与未来趋势
国内CRM软件企业正面临日益增长的本土定制需求,这不仅考验服务商的综合水平,也推动了市场的快速发展。本文将深入解析中国CRM市场的现状,探讨领军厂商的优势,并预测未来趋势,包括智能化、集成化、本土化与国际化并行及云服务模式的普及。
|
30天前
|
机器学习/深度学习 算法 Python
深度解析机器学习中过拟合与欠拟合现象:理解模型偏差背后的原因及其解决方案,附带Python示例代码助你轻松掌握平衡技巧
【10月更文挑战第10天】机器学习模型旨在从数据中学习规律并预测新数据。训练过程中常遇过拟合和欠拟合问题。过拟合指模型在训练集上表现优异但泛化能力差,欠拟合则指模型未能充分学习数据规律,两者均影响模型效果。解决方法包括正则化、增加训练数据和特征选择等。示例代码展示了如何使用Python和Scikit-learn进行线性回归建模,并观察不同情况下的表现。
255 3
|
8天前
|
开发工具 Android开发 数据安全/隐私保护
探索移动应用的世界:从开发到操作系统的全面解析
【10月更文挑战第33天】在数字化时代,移动应用已成为我们日常生活中不可或缺的一部分。本文将深入探讨移动应用的开发过程,包括编程语言、开发工具和框架的选择,以及如何构建用户友好的界面。同时,我们还将分析移动操作系统的核心功能和安全性,以帮助读者更好地理解这些应用程序是如何在各种设备上运行的。无论你是开发者还是普通用户,这篇文章都将为你揭示移动应用背后的奥秘。

推荐镜像

更多