过去的一年,是大语言模型快速发展的一年。大模型强大的语言理解能力,逐渐让用户习惯了将各类文章丢给大模型,让它来帮忙总结提炼。从产品角度看,这是一次10倍体验的飞跃,意味着巨大的市场机会。也因此,市面上涌现出了大量的文档+大模型的应用。但大多数的开发者普遍都会遇到一个问题,那就是各种文档的效果都想做好,兼容起来太麻烦了,有没有更好的解决方案?
以PDF为例,通常大家会尝试选择开源工具,比如PyPDF2,但发现它们对中文的支持都不太好;有些对行业相对了解的开发者,可能会选择一些付费的OCR api,但往往结果都是按行输出,丢失了段落信息,更不用说对于表格,或者像论文这样的双栏版式的良好支持了。
行内人士都知道,LLM在训练时,通常会采用较多的论文或书籍等知识密度较高的语料。大家一般会采用Markdown格式作为训练语料,这种格式既简单,又能反映一些基本的排版,能很好地表征论文和书籍中的信息。那么很自然地想到,如果模型在做文档问答推理时,给到的内容也是Markdown格式的,效果会不会更好?
对于这个问题,合合信息的回答是肯定的。
合合信息实验结果表明:在同一批合同数据上,用Llama-7B模型,同样的Prompt做信息抽取,比较纯OCR和markdown格式输出的差异,结果发现,Markdown格式的抽取准确率要高于纯 OCR输出不少。
也因此,合合信息决定将智能文字处理领域十几年的积累都利用起来,为当前大模型浪潮下的开发者们,打造一款LLM友好的文档解析产品。
大模型问答应用需要一款怎样的PDF解析工具
经过调研发现,一款好用的PDF解析工具,至少要有3个特性:一是速度快、二是精度高、三是兼容性好。
  • 速度快,是指解析一个文件的耗时要在秒级。尤其对于C端应用而言,如果用户上传一个300页的文档,结果要等上5分钟,这个体验一定是灾难性的。
  • 精度高,是指对于各类版面元素都要有不错的识别效果。不管是公式、表格、还是相对复杂的排版,都能正确理解并准确还原。其中尤其以表格最为关键,如果表格的行列信息错位,会直接导致LLM在理解结论时出错。
  • 兼容性好,是指对于繁杂的PDF编码格式都能正确识别,不会出现乱码、大量丢字等现象。
当然,最基本的还得有产品的稳定性和成本。
  • 作为基础设施,稳定性是立身之本,尤其对于需要文档解析来提供线上服务的应用来说,如果底层基建不响应,精心设计的上层应用自然难以发挥应有的价值。
  • 至于成本,对于要处理大量文件数据的业务而言,一点成本差异乘以巨大的文件数量,也可能导致最终成本难以接受。
最后,这里还想提一个关于开发者友好的需求。不管什么工具,开源的代码也好,闭源的接口也好,最终都是需要开发者集成到自己业务中的。一款开发者友好的工具,能让整个集成调试变得更轻松。最理想的情况是,不需要复杂的debug,不需要安装各种依赖环境,最好直接一键就能完成集成。同时出了问题还有完善的文档体系和售后或是社区支持。
合合信息文档解析实际应用效果
在前面提到的几个特性上,合合信息的文档解析产品,当下到底表现如何呢?
1)速度——长文档秒级处理
这里找了几个长样本,通过接口限定其调用页面数,得到耗时结果如下:

 
同时,团队也测试了不同尺寸的单张图片耗时:
 

 
目前产品还在针对速度做进一步的优化,内部最快的版本,100页的耗时P90小于2.5s,预计5月会上线。
2)精度与兼容性
为了直观展示使用合合信息解析能力后的效果,团队做了一次对比测试。
先用一批样本放到当前主流的几个大模型问答产品中,针对特定内容进行提问。然后挑选出各家产品均未能答对的样本,将其通过合合信息的接口输出为Markdown格式。由于目前仅有两家支持.md格式,因此团队手动将文件后缀改为.txt。然后将该.txt文件上传到各家产品中,再问和之前同样的问题,看回答情况是否有改善。
展示几张主要的结果:
首先是一个扫描件中的无线表格样本。某热门的大模型问答产品,在使用自带的解析时,找到的信息和表格内容不符;换用合合信息的解析结果之后,就能找对正确的数字了。
 

 
 
一张数百页的扫描版书籍,使用自带解析结果时,回答内容并不完全准确,换合合信息的解析结果后,就和原文信息完全能对上了。

 
 
最后是一张会乱码的电子版论文,打开并复制第一段前两行内容后,粘贴出来是乱码,如下:
? <=>?@ABCD $ "@A % KLMN?@OP

QABCDRSTU?VWX89YZ[?@AB
在使用自带解析结果时,直接提示内容乱码,而在使用合合信息解析结果后,便能正确回答问题了。
 

 
 
 
如果尝试过基于开源PDF解析工具,或是开源OCR方案,搭建自己的PDF解析服务的开发者们,应该对文档处理的复杂程度有很深刻的体会。要么是公式精度不够高,输出的latex格式经常语法错误;要么是layout识别不好,需要拼接别的方案;再或者就是花大量的时间维护一套规则,去兼容奇怪的格式。
合合信息想做的,就是帮各位开发者们节省自己宝贵的生产力,和文档打交道这样的麻烦事,让我们来就好。开发者们的精力,如果用来构建自身产品的优势,往往会发挥更大的价值。
3)稳定性——低于万分之一的失败率
当前产品的公有云版本已正式上架,一个多月以来,经过多次迭代,目前的稳定性可以做到页面失败率小于万分之0.5。当然,这也不是终点,合合信息的产品团队期望将整体错误率降低到百万分之一以下,从而为开发者们提供足够可靠的产品。
4)成本——低至1分钱/页
目前平台上提供3个套餐可选,如下图所示:
 

 
如果觉得用量很大,也可以联系商务切换为后付费机制,每月180万页以上调用的,即可按1分钱/页计费。
5)One more thing
过去几个月里,合合信息在金融年报和研报场景下做了不少优化,尤其处理了各种年报中最难的无线表格和合并单元格等。这里向大家汇报一下成果。
首先是对于年报中的多行表头或多行单元格,合合信息的产品能够正确的划分结构,而多数识别引擎会错误折行,或是把第一行表头丢掉。

 
再来一个更复杂的Case,上表中,数据部分只有第一列是多行,干扰情况可能还好。下面这张样本中第二个框里,第一列和后面的数据列,都是多行,不少识别引擎就会将其拆分成多行表格,而实际上,这里应该只有一行。

 
同时,从这个样本也可以看出,对于大多数合并单元格的样本,合合信息的文档解析能按照原始样式进行还原,而不是胡乱拆分。
对于研报这种一页里紧密排了好几张表的样本,合合信息的文档解析也能按正确的顺序和归属,将数据分类对应,拆成独立的表输出。

 
 
如何使用
合合信息文档解析产品已经上架TextIn平台,任何开发者都可以注册账号并开通使用。

 
访问链接,点击【免费体验】,即可在线试用,如下图所示:

 
如果想试试用代码调用,也可以访问对应的接口文档内容:TextIn - API中心 - 通用文档解析。平台提供了一个Playground,帮开发者们预先调试接口。

 
点击页面中【API调试】按钮,即可进入调试页面。

 
 
在这里,可以简单配置一些接口参数,发起调用后,右侧即会出现调用结果。
如果想用python调用,既可以参考平台上的通用示例代码,也可以关注公众号《合研社》,获取一些更全面的demo代码。
尾声
文档解析产品目前正处于内测阶段。正式产品通常有1000页的免费试用额度,在内测期间,平台给每位开发者提供每周7000页的额度福利,关注公众号《合研社》即可领取。欢迎大家提意见或建议。

同时,也欢迎更多从业者来与合合信息技术团队交流,多多讨论,多多碰撞。

这款PDF解析工具,精准触达大模型问答应用的需要的更多相关文章

  1. 付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具

    PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档…很多都是PDF格式.它以格式稳定的优势,使得我们在打印.分享.传输过程中能 ...

  2. 推荐一款免费的PDF转换工具 | PDFCandy

    相信大家在用的PDF转换工具也很多,下面良心推荐这款软件(PDFCandy)给大家,方便在今后的工作中进行运用.提高大家的工作效率. PDFCandy分为两种:网页端和客户端.(根据大家的喜好度来进行 ...

  3. PDF审计工具peepdf

    PDF审计工具peepdf   PDF是Portable Document Format(便携式文档格式)的缩写.它是Adobe公司推出的文件格式规范.现在,PDF是网络电子书籍的主流格式.由于PDF ...

  4. 赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具

    jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档.使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了.浏览器兼容性: IE 10, Firefo ...

  5. 分析和解析PHP代码的7大工具

    PHP已成为时下最热门的编程语言之一,然而却有许多PHP程序员苦恼找不到合适的工具来帮助自己分析和解析PHP代码.今天小编就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧 ...

  6. Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、oracle...)间进行数据的传递

    http://niuzhenxin.iteye.com/blog/1706203   Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql.postgresql.. ...

  7. 功能强大的PDF实用工具

    PDF实用工具(PDFTool)是北京博信施科技有限有限公司研制开发的一款专门提供对PDF文件进行编辑.加工的处理软件.本软件具有对PDF文件进行分割.结合.加密.解密.添加水印.设定有效期限等多种功 ...

  8. PDF文件如何标注,怎么使用PDF标注工具

    我们在使用文件的时候需要给文件的部分添加标注,能够更加直观的了解文件,但是有很多小伙伴们对于PDF文件怎么添加标注都不知道,也不知道PDF标注工具要怎么使用,那么下面就跟大家分享一下怎么使用PDF标注 ...

  9. Android程序员不容错过的10款在线实用工具

    Android十款在线工具,在做Android开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了.Android在线工具,包括在线测试工具,及其他较为重 ...

  10. Java:JSON解析工具-org.json

    一.简介 org.json是Java常用的Json解析工具,主要提供JSONObject和JSONArray类,现在就各个类的使用解释如下. 二.准备 1.在使用org.json之前,我们应该先从该网 ...

随机推荐

  1. P1681

    和上一道题差不多,要注意一些细节 #include<iostream> #include<utility> using namespace std; typedef long ...

  2. Java-EL表达式替换和简化jsp页面中java代码的编写

    概念:Expression Language 表达式语言 作用:替换和简化jsp页面中java代码的编写 语法:$ 注意: jsp默认支持el表达式,如果要忽略el表达式 设置jsp中page指令中: ...

  3. wangEditor增加源码模式,添加查看源码功能

    wangEditor是一款轻量级的富文本编辑器.使用还比较方便,但是缺少查看源码模式,需要我们自定义一个menu给增加查看源码模式 下面是wangEditor增加源码模式的代码: <!DOCTY ...

  4. 安装phpgjx工具

    直接按照phpgjx配置文件进行安装. 重启mysql和访问phpgjx都会生成配置的日志文件 按照文档安装可能日志文件中不会产生SQL记录 解决方案: 可以进入mysql后,查看该日志是否开启 / ...

  5. Vue源码剖析

    目录 Vue 响应式数据 Vue 中如何进行依赖收集 Vue 中模板编译原理 Vue 生命周期钩子 Vue 组件 data 为什么必须是个函数? nextTick 原理 set 方法实现原理 虚拟 d ...

  6. [oeasy]python0108_谷腾堡活字_哥特字体_罗马帝国_希腊文化_文艺复兴

    谷腾堡活字 回忆上次内容 上次回顾了字型编码的进化过程 7-seg 七位数码管 显示数字   14-seg 十四位数码管 显示字母     ​   添加图片注释,不超过 140 字(可选)   米字管 ...

  7. 《Operating Systems: Three Easy Pieces》阅读记录

    OSTEP virtualization 进程 process 进程 API 进程 API 相关术语 进程状态 statu 机制:受限直接执行 进程调度:介绍 调度:多级反馈队列 MLFQ 调度:比例 ...

  8. SUM-ACM,3月24-3-31周报

    两场天梯赛和一场atcoder. 主要错误知识点在于字符串的处理和并查集的掌握不够,不懂灵活运用. 第一场pta天梯赛 7-5 6翻了 一道字符串的题,我只拿了14分.我不熟悉一个点,f(i,0,s. ...

  9. 手写数字识别-使用TensorFlow构建和训练一个简单的神经网络

    下面是一个具体的Python代码示例,展示如何使用TensorFlow实现一个简单的神经网络来解决手写数字识别问题(使用MNIST数据集).以下是一个完整的Python代码示例,展示如何使用Tenso ...

  10. MySQL之DDL

    1. 数据库 * 查看所有数据库:SHOW DATABASES * 切换(选择要操作的)数据库:USE 数据库名 * 创建数据库:CREATE DATABASE [IF NOT EXISTS] myd ...