写点什么

100 页 2 秒?我们为什么需要这样的文档解析速度

  • 2024-06-03
    上海
  • 本文字数:2950 字

    阅读完需:约 10 分钟

100页2秒?我们为什么需要这样的文档解析速度

​近期,TextIn 通用文档解析完成最新一版产品迭代,将 100 页文档解析速度提升至最快 2 秒以内


表格中“P50”代表中位数响应时间。这意味着在所有测试样本中,有一半的响应时间低于 P50 值,而另一半高于这个值。同理,“P90”代表 90th percentile(90 百分位)的响应时间。在本次性能测试中,这表示 90%的文档解析操作都在 1.75 秒以内完成,这也是大部份用户获得的使用体验。

发版后,有用户在技术交流群和我们探讨了 C 端使用感受,在认可产品使用体验的同时,他向我们提出了一个有趣的问题:对个人用户来说,用 5 到 6 秒解析一篇长文档是可以接受的等待时间,为什么 TextIn 技术团队不断优化解析速度,甚至将百页文档的解析时间压缩至 2 秒以内呢?

我们将通过本篇文章解答这个有趣的问题。

1 为什么我们需要速度够快的文档解析工具

1.1 赋能大数据场景

我们可以金融大数据业务场景为例。

对金融大数据服务商而言,短时间、大批量数据输入属于常见场景。为了提供及时正确的大数据查询和检索服务,在数据更新频繁时期,例如每年财报、年报季,相关企业对 T+0 完成数据库更新有明确需求,且要求较高的质量标准。

传统数据录入首先需要进行数据清洗,并通过编写大量正则表达式提取网页内容,但面对文档类数据,传统方法不能实现有效处理。格式繁多、版面复杂的文档成为数据被“隐没”的地方,其中的重要信息难以高效、准确地转变为可使用的数据形式。

当大模型的企业级应用逐渐落地,金融大数据行业范式发生了改变。目前,“数据 + 文档解析 + LLM + Prompt”的模式成为新的优选。

与编写正则表达式相比,写 Prompt 相对更容易维护,也能降低门槛便利使用者。同时,借助大模型出色的读取、理解与生成能力,从业者得以提升内容解读与数据分析能力。需要考虑的环节问题简化为一点:如何将文档中的内容转化为对 LLM 友好的格式,成为 LLM 可读可分析的数据信息?

我们给出的答案是:高效、稳定、可靠的文档解析工具。

在金融大数据业务场景下,一款好用的文档解析工具需要具备以下特征:第一,足够快的解析速度:在数据录入密集期,新发布的财报、年报、法律文书等文件数据需要在数据发布的当天立刻上线;

第二,准确还原各类表格结构:报告中经常包含无线表、跨页表格、合并单元格、密集表格等等复杂结构,对非结构化数据提取而言,失之毫厘,差之千里,不够精准的内容输入将影响数据库的质量;

第三,良好的兼容性:对各类版式都要有良好的兼容性,降低解析失败率。

其中,速度是实现高效业务运转的关键所在。一般而言,上市公司年报在 200 至 300 页以上,TextIn 文档解析工具的解析效率可以支持将数千家企业年报在 8 小时内完成数据读取,协助大数据企业完成上线。

1.2 加速大模型训练

大模型的表现很大程度上取决于它对人类语言的理解和生成能力。由于自然语言本身的复杂性和多样性,这项任务充满挑战,而在这个过程中,LLM(大语言模型)的训练显得尤为重要。

在训练过程中,借助海量数据预训练的深度学习模型,LLM 通过处理超大规模的文本数据来学习语言的规律、语义和上下文,从而获得对自然语言的理解和生成能力,并进一步应用于翻译、对话、问答、文本生成等不同场景。

LLM 训练质量对大模型的性能和应用具有决定性影响。经过高质量训练,大模型能在语义理解、文本推理等任务中表现更佳。而为了实现高质量的 LLM 训练,除了充分的计算资源外,高质量的数据是最重要的因素之一。通俗来说,“喂”给大模型的数据决定了 LLM 的性能。

快速、准确的文档解析工具将有效加速大模型训练进程。

一方面,对复杂版面的准确识别、良好的格式兼容性将提升预训练数据的质量;另一方面,大模型预训练文本数据量往往以数千万页计。目前,以 3000 万页 PDF 文档为例,市面上工具的普遍处理时间大约在接近两周。按 TextIn 当前版本速度计算,预计可在 5 个工作日内实现解析,时间差异将达到一周以上

在效率为王的 AI 时代,对开发者而言,一周多的时间可以对研发周期起到关键作用。一款好的文档解析工具能为大模型开发与应用装上“加速器”。

1.3 优化 C 端用户使用体验

目前,在 C 端使用方面,文档问答的用户体验仍有待提升。例如,如果用户上传一份较大的扫描文档或书籍,经常会超出大模型的文档大小限制,或在长时间加载后显示解析失败。

同时,受限于网速与算力,上传文档后等待解析是大模型问答产品的常见状况,一般来说,解析时间短则十几秒,长则数分钟,是用户使用过程中的常态。

对 C 端用户来说,高速、稳定的文档解析也将有效提升使用体验,让扫描文档、复杂版式不再成为大模型问答应用的阻碍,帮助大模型检索获取更准确的信息,从而提升问答效果。

2 TextIn vs. X:当前产品能实现的解析速度

TextIn 文档解析百页 2 秒的速度在业内处于怎样的水准?

要回答这个问题,速度测试可以为我们展现最直观的数据。

以一份企业年报为例,我们对当前产品能够实现的解析速度进行对比测试。

我们选择的企业年报文件大小为 38.8MB,共 49 页,文中包含形式多样的图表、数据、证照等页面,如下图所示。




我们使用 TextIn、Llamaparse 及国内某常用大模型问答产品对文档进行解析。

LlamaParse 是由 LlamaIndex 创建的一项技术,用于解析和表示 PDF 文件,以便通过 LlamaIndex 框架进行高效检索和上下文增强,适用于复杂 PDF 文档,是目前讨论度较高的开源解析器。使用对话式大模型进行文档解析与问答则是现在 C 端的常用场景。我们使用同一份文件,选择这两款产品与 TextIn 进行测试,速度测试结果如下。

注:在 TextIn 接口输出结果中,duration 时间单位为毫秒。

对 TextIn 与 llamaparse,我们使用的方式均为调用 API 接口,并使用测试脚本,可以直观地看到运行所用时长。对于大模型产品,我们上传一份 PDF 后,界面上会先后显示“上传中...”和“解析中...”两种状态,表格中端到端时间计算方式为上传与解析时间总和。其中,“上传中”这个状态,在控制面板中对应的是一个 xhr 请求。上传完成后转换到“解析中”状态,该状态对应的是“parse_process”这个请求。

我们列出了各个产品的解析速度与端到端速度(含上传时间)。测试均在相同网络情况下进行。其中,Llamaparse 不支持解析速度的单独获取,仅可测量端到端速度。

对于同一份文档,TextIn 文档解析具体展现了强大的速度优势。在企业级的使用场景下,当文档数量以百万,甚至千万页计,解析速度将成为影响业务场景落地、大模型开发效率重要的因素之一。

3 试用当前版 TextIn 文档解析工具

如果当前就有相关需求,TextIn 文档解析是否可以随时调用?

在 TextIn 平台,开发者可以注册账号并随时试用最新版 TextIn 文档解析工具。

访问链接:https://www.textin.com/market/detail/pdf_to_markdown


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


如果想尝试代码调用,也可以访问对应的接口文档内容:

https://www.textin.com/document/pdf_to_markdown

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


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


在这里可以简单配置一些接口参数,发起调用后,右侧就会出现调用结果。

如果想用 python 调用,既可以参考平台上的通用示例代码,也可关注公众号《合研社》,获取更全面的 demo 代码。

文档解析产品目前正处于内测阶段。正式产品通常有 1000 页的免费试用额度,在内测期间,平台给每位开发者提供每周 7000 页的额度福利,关注公众号《合研社》即可领取。欢迎大家与我们团队多多交流,提出意见或建议。


用户头像

上海合合信息科技股份有限公司人工智能团队 2022-08-01 加入

在上海市领军人才合合信息董事长镇立新博士带领下,于复杂场景文字识别、智能图像处理、自然语言处理等人工智能领域拥有10 余年研发创新与技术积累,具备专业的行业理解与技术成果。

评论

发布
暂无评论
100页2秒?我们为什么需要这样的文档解析速度_人工智能_合合技术团队_InfoQ写作社区