大模型问答应用需要一款怎样的PDF解析工具
前言
过去这一年,大语言模型的发展速度确实让人眼花缭乱。模型的语言理解能力越来越强,用户习惯也在悄然改变——从前是逐篇细读,现在更倾向于把文章丢给大模型,让它来帮忙提炼要点。从产品体验的角度看,这算得上是一次“10倍级”的跃升,背后藏着不小的市场机会。于是,市面上冒出了大量“文档+大模型”的应用。
但大多数开发者都会撞上同一个痛点:各种文档格式的效果都想兼顾,兼容起来实在太折腾。有没有更省心的方法?
拿PDF来说,不少人一开始会尝试开源工具,比如PyPDF2,结果发现对中文的支持很差劲。有些行业经验丰富的开发者,可能会选择付费的OCR API,但输出经常是按行切分,段落信息直接丢失,更别提表格、双栏论文这类复杂版式了。
圈内人都清楚,LLM训练时用的语料大多是论文、书籍这类高密度内容,而Markdown格式是公认的“黄金选择”——它简单、能反映基本排版,很适合表征论文和书籍的信息结构。顺着这个思路想:如果模型在做文档问答推理时,输入的内容也是Markdown格式,效果会不会更上一层楼?
合合信息的答案是肯定的。他们的实验结果显示:在同一批合同数据上,用Llama-7B模型、同样的Prompt做信息抽取,比较纯OCR和Markdown格式输出的差异——Markdown格式的抽取准确率明显高于纯OCR输出。
也正是基于这个发现,合合信息决定把在智能文字处理领域十几年的积累都派上用场,为当下大模型浪潮中的开发者们,打造一款真正对LLM友好的文档解析产品。
大模型问答应用需要一款怎样的PDF解析工具
经过调研,一款好用的PDF解析工具,至少需要三个特性:速度快、精度高、兼容性好。
速度快
精度高
兼容性好
当然,最基础的还得看稳定性和成本。作为基础设施,稳定性是立身之本。尤其对依赖文档解析提供线上服务的应用来说,底层基建一旦罢工,上层设计得再精妙也没用。至于成本,处理海量文件时,哪怕每页只差一分钱,乘以巨大的数量级,也会变成难以承受的负担。
最后还有个对开发者友好的需求值得提一提。无论开源代码还是闭源接口,最终都要集成到业务里。一款开发者友好的工具,得让集成调试变得轻松——不需要复杂的debug,不需要安装各种依赖环境,最好一键就能完成集成,同时还有完善的文档体系和售后或社区支持。
合合信息文档解析实际应用效果
俗话说,是骡子是马,拉出来溜溜。前面提到的几个特性,合合信息文档解析产品当下表现如何?我们来看看实测数据。
速度——长文档秒级处理
团队找了几个长样本,通过接口限定调用页数,得到耗时结果如下:
同时也测试了不同尺寸的单张图片耗时:
目前产品还在针对速度做进一步优化,内部最快的版本,100页耗时P90小于2.5秒,预计5月份可上线。
精度与兼容性
为了直观展示合合信息解析能力的效果,团队做了一次对比测试。先拿一批样本放到当前主流的几家大模型问答产品中,针对特定内容提问;然后挑出各家都答错的样本,通过合合信息的接口输出为Markdown格式(目前仅两家支持.md,因此手动将文件后缀改为.txt),再上传到各家产品中问同样的问题,看回答是否有改善。
以下是几组主要结果:
第一个例子是一个扫描件中的无线表格样本。某热门大模型问答产品,使用自带解析时找到的信息与表格内容不符;换成合合信息的解析结果后,就能找对正确的数字。
第二个例子是一张数百页的扫描版书籍。使用自带解析时回答不够准确,换成合合信息的结果后,与原文信息完全吻合。
第三个例子是一张会乱码的电子版论文。用WPS打开并复制第一段前两行后,粘贴出来全是乱码:
使用自带解析时直接提示内容乱码,而用合合信息解析结果后,便能正确回答问题了。
如果尝试过基于开源PDF解析工具或OCR方案搭建自己的服务,应该对文档处理的复杂程度深有体会——要么公式精度不够,输出的LaTeX格式经常语法错误;要么layout识别不好,需要拼接别的方案;再要么就是花大量时间维护一套规则去兼容奇怪的格式。合合信息想做的,就是帮开发者们省下宝贵的生产力——和文档打交道的麻烦事,交给我们就好。开发者的精力,用来构建自身产品的优势,往往能发挥更大价值。
稳定性——低于万分之一的失败率
当前产品的公有云版本已正式上架。一个多月来,经过多次迭代,稳定性可以做到页面失败率小于万分之0.5。这当然不是终点,团队期望将整体错误率降到百万分之一以下,为开发者提供足够可靠的产品。
成本——低至1分钱/页
目前平台上提供3个套餐可选,如下图所示:
如果用量很大,也可以联系商务切换为后付费机制——每月180万页以上调用,即可按1分钱/页计费。
One more thing
过去几个月里,合合信息在金融年报和研报场景下做了不少优化,尤其处理了各种年报中最难的无线表格和合并单元格。这里汇报一下成果。
对于年报中的多行表头或多行单元格,合合信息的产品能够正确划分结构;而多数识别引擎会错误折行,或把第一行表头丢掉。
再来一个更复杂的Case:上表中数据部分只有第一列是多行,干扰情况还好一些;下面这张样本第二个框里,第一列和后面的数据列都是多行,不少识别引擎会将其拆分成多行表格,但实际上这里应该只有一行。
同时,从这个样本也可以看出,对于大多数合并单元格的样本,合合信息的文档解析能按原始样式还原,而不是胡乱拆分。对于研报这种一页里紧密排了好几张表的样本,也能按正确的顺序和归属,将数据分类对应,拆成独立的表输出。
如何使用
合合信息文档解析产品已经上架到TextIn平台,任何开发者都可以注册账号并开通使用。访问链接:https://www.textin.com/market/detail/pdf_to_markdown,点击【免费体验】即可在线试用。
如果想试试用代码调用,可以访问对应的接口文档:https://www.textin.com/document/pdf_to_markdown。平台提供了一个Playground,帮开发者预先调试接口。点击页面中的【API调试】按钮,即可进入调试页面。在这里可以简单配置一些接口参数,发起调用后,右侧即会出现调用结果。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名