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

简介: 企业在构建知识库问答系统时面临挑战,尤其是处理扫描文档和手写内容。传统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平台

相关文章
|
19天前
|
缓存 安全 PHP
【PHP开发专栏】Symfony框架核心组件解析
【4月更文挑战第30天】本文介绍了Symfony框架,一个模块化且高性能的PHP框架,以其可扩展性和灵活性备受开发者青睐。文章分为三部分,首先概述了Symfony的历史、特点和版本。接着,详细解析了HttpFoundation(处理HTTP请求和响应)、Routing(映射HTTP请求到控制器)、DependencyInjection(管理依赖关系)、EventDispatcher(实现事件驱动编程)以及Security(处理安全和认证)等核心组件。
|
5天前
|
域名解析 缓存 网络协议
【域名解析DNS专栏】IPv6与DNS:兼容性挑战与解决方案
【5月更文挑战第29天】随着IPv6逐渐成为互联网主流,DNS面临兼容性挑战,包括解析机制差异、资源记录类型扩展和查询流程优化。为解决这些问题,可采取升级DNS系统以支持IPv6、部署双栈DNS服务和优化DNS缓存策略。通过这些措施,可确保IPv6环境下的域名解析顺利进行。
|
3天前
|
前端开发 JavaScript Java
Java与CSS:解析在Web开发中的协同作用
Java与CSS:解析在Web开发中的协同作用
|
10天前
|
移动开发 网络协议 安全
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
67 4
|
11天前
|
程序员
深入解析:分布式一致性的终极解决方案——XA协议
本文介绍了分布式系统中的两种一致性协议:2PC(两阶段提交)和3PC(三阶段提交)。2PC分为准备和提交两个阶段,确保所有参与者在提交前达成一致。3PC则在2PC基础上增加了一个CanCommit阶段,提高容错性和可用性,参与者在超时后可自行中断事务。选择协议需依据业务需求和系统特点,高一致性要求可选3PC,注重性能则选2PC。
23 0
|
12天前
|
JSON 自然语言处理 API
【LLM落地应用实战】LLM + TextIn文档解析技术实测
文档解析技术是从这些海量且复杂的数据中高效准确地提取有价值信息的关键。它从输入文档图像开始,经过图像处理、版面分析、内容识别和语义理解等流程,最终输出结构化电子文档或语义信息。通过文档解析技术,我们能够深入理解文档的结构、内容和主题,使得信息更易于检索、分析和利用。
|
12天前
|
域名解析 缓存 运维
【域名解析DNS专栏】域名解析故障排查手册:常见问题与解决方案
【5月更文挑战第22天】【DNS故障排查手册】解决域名无法解析、速度慢、污染劫持及配置错误问题。检查网络、清理缓存、更换DNS服务器、使用HTTPS、DNSSEC及CDN。示例:使用nslookup查询域名解析。定期检查优化DNS服务器,确保稳定安全。
【域名解析DNS专栏】域名解析故障排查手册:常见问题与解决方案
|
13天前
|
缓存 负载均衡 网络协议
使用Go语言开发高性能服务的深度解析
【5月更文挑战第21天】本文深入探讨了使用Go语言开发高性能服务的技巧,强调了Go的并发性能、内存管理和网络编程优势。关键点包括:1) 利用goroutine和channel进行并发处理,通过goroutine池优化资源;2) 注意内存管理,减少不必要的分配和释放,使用pprof分析;3) 使用非阻塞I/O和连接池提升网络性能,结合HTTP/2和负载均衡技术;4) 通过性能分析、代码优化、缓存和压缩等手段进一步提升服务性能。掌握这些技术能帮助开发者构建更高效稳定的服务。
|
17天前
|
JSON Android开发 数据格式
Android框架-Google官方Gson解析,android开发实验报告总结
Android框架-Google官方Gson解析,android开发实验报告总结
|
17天前
|
Android开发
Android高级开发面试题以及笞案整理,实战解析
Android高级开发面试题以及笞案整理,实战解析

推荐镜像

更多