论文解读:利用大模型进行基于上下文的OCR校正

news/2024/9/18 8:12:53/ 标签: ocr

论文地址:https://arxiv.org/pdf/2408.17428

背景概述

  1. 研究问题:这篇文章要解决的问题是如何利用预训练的语言模型(LMs)来改进光学字符识别(OCR)的质量,特别是针对报纸和期刊等复杂布局的文档。

  2. 研究难点:该问题的研究难点包括:OCR技术在处理复杂布局的报纸和期刊时容易出现错误;现有的后OCR校正方法效果有限;如何有效利用语言模型的上下文自适应能力来提高OCR质量。

  3. 相关工作:该问题的研究相关工作有:基于众包校正的方法、在线安全测试、以及机器学习方法等。然而,2017年ICADAR后OCR校正竞赛发现,只有约一半的提交方法能够提高OCR质量。

研究方法

这篇论文提出了上下文利用OCR校正(CLOCR-C)的方法,用于解决OCR质量问题。具体来说,

  1. CLOCR-C的定义:CLOCR-C利用基于Transformer的语言模型的填充和上下文自适应能力来改进OCR质量。其目标是识别损坏的文本并填充缺失的部分,以纠正文本到其原始状态。

  2. 方法论:研究方法分为三个部分:数据集和采样方法、语言模型和实验、评估方法。

    • 数据集和采样方法:使用三个数字化的英国、澳大利亚和美国的报纸数据集,包括19世纪连载版(NCSE)和两个Overproof集合的数据集。对NCSE数据集进行分层随机抽样,确保样本的代表性。

    • 语言模型和实验:比较了八种流行的LMs,包括GPT-4、GPT-3.5、Llama 3、Mixtral 8x7b、Claude 3 Opus和Claude 3 Haiku。使用字符错误率(CER)和错误减少百分比(ERP)作为评估指标。

    • 评估方法:使用命名实体识别(NER)任务来评估后OCR校正的效果,采用余弦命名实体相似度(CoNES)作为评估指标。

实验设计

  1. 数据收集:使用了三个数据集:19世纪连载版(NCSE)、Overproof集合1和Overproof集合2。NCSE数据集包含6种期刊,Overproof集合包含高质量的对齐转录文本。

  2. 样本选择:对NCSE数据集进行分层随机抽样,确保样本的代表性。Overproof数据集全部使用。

  3. 参数配置:比较了八种LMs的性能,使用字符错误率(CER)和错误减少百分比(ERP)作为评估指标。对每个模型进行多种提示格式的测试,选择表现最好的提示格式。

结果与分析

  1. 语言模型比较:在NCSE数据集上,GPT-4和Opus模型的CER减少了超过60%。在Sydney Morning Herald数据集上,CER从0.08减少到0.04,在Chronicling America数据集上,CER从0.1减少到0.05。

  2. NER分析:所有LMs(除了Gemma)在所有数据集上的CoNES得分都有所提高,Opus模型在所有数据集上的CoNES得分超过了90%。

  3. 上下文信息的利用:提供真实上下文的提示显著提高了任务性能,甚至误导性提示在大多数情况下也能正确猜测答案。随着任务长度的增加,错误率显著降低。

总体结论

这篇论文展示了LMs可以用于后OCR校正,并且提供上下文信息可以显著提高校正性能。CLOCR-C方法利用了语言模型的上下文自适应能力和提示工程,能够有效改进OCR质量。然而,使用大型闭源模型进行校正成本较高,未来工作需要关注开源模型的训练和应用,以使CLOCR-C成为一种更具普及性的解决方案。

优点创新

  1. 创新方法:提出了CLOCR-C(Context Leveraging OCR Correction),利用基于Transformer的语言模型的填充和上下文自适应能力来提高OCR质量。

  2. 多语言模型比较:对比了八种流行的预训练语言模型,展示了它们在OCR后纠正任务中的表现。

  3. 数据集支持:发布了包含91篇文章的91千词的NCSE数据集,支持该领域的进一步研究。

  4. 下游任务分析:研究了OCR纠正对命名实体识别(NER)等下游任务的影响,发现纠正可以提高NER的Cosine命名实体相似度(CoNES)。

  5. 社会文化上下文的重要性:证明了在提示中提供社会文化上下文可以显著提高OCR纠正的性能,而误导性提示则会降低性能。

  6. 实验设计:设计了详细的实验设置和评估方法,包括不同提示格式和下游任务的评估指标。

当前不足

  1. 模型成本:使用大型闭源模型进行OCR纠正的成本可能非常高,限制了其在更广泛应用中的可行性。

  2. 训练数据和方法:不清楚为什么某些语言模型在OCR后纠正任务中表现优异,而其他模型则表现不佳,可能与训练数据和方法的细微变化有关。

  3. OCR过程的限制:OCR过程中的物理位置错误(如打印行混合、文章分割不良和列分离失败)可能会影响后纠正的效果,需要OCR过程至少在这方面相对准确。

  4. 未来工作:需要进一步研究开源模型的训练,以降低成本,使CLOCR-C成为更具成本效益的解决方案。此外,还需要研究CLOCR-C是否适用于文本损坏严重的场景。

关键问题及回答

问题1:CLOCR-C方法在实验中使用了哪些具体的评估指标?这些指标是如何定义和计算的?

CLOCR-C方法使用了两种主要的评估指标:字符错误率(CER)和错误减少百分比(ERP)。

(1)字符错误率(CER):这是最常用的OCR错误评估指标,计算公式为:

image.png

其中,S是替换错误数,D是删除错误数,I是插入错误数,C是正确文本的总字符数。CER越低,表示OCR识别的准确性越高。

(2)错误减少百分比(ERP):为了更好地衡量OCR校正的效果,论文定义了错误减少百分比,计算公式为:

image.png

其中,CER-orig是原始OCR的字符错误率,CER-LM是经过语言模型校正后的字符错误率。ERP越高,表示语言模型校正的效果越好。

(3)此外,论文还使用了命名实体识别(NER)任务的**余弦命名实体相似度(CoNES)**作为下游任务的评估指标。CoNES通过计算两个文本中命名实体的相似度来评估校正效果,计算公式为:

​​

image.png

其中,v-p​和v-r​分别是预测文本和参考文本中命名实体的向量,∥v-p∥和∥v-r∥是向量的欧几里得范数。CoNES值越接近1,表示命名实体的一致性越高,校正效果越好。

问题2:在实验中,CLOCR-C方法使用了哪些数据集?这些数据集的选取和处理方法是什么?

CLOCR-C方法使用了三个数据集:

(1)19世纪连载版(NCSE):这是一个新发布的开源数据集,包含6种期刊:《Monthly Repository and Unitarian Chronicle》、《Northern Star》、《Leader》、《English Woman's Journal》、《Tomahawk》和《Publishers' Circular》。数据集经过数字化扫描并进行OCR处理。

(2)Overproof集合1和Overproof集合2:这两个数据集来自Evershed和Fitch(2014a)的研究,主要用于测试OCR后校正的效果。Overproof集合1是从TROVE Holley(2009)集合中收集的,但存在质量问题,如行边界改变、内容添加和单词更改。为了解决这些问题,Evershed和Fitch创建了Overproof集合2和Overproof集合3,后者来自一个人文数据存档。论文选择了Overproof集合2和Overproof集合3进行实验。

数据处理方法:

(1)NCSE数据集:进行了分层随机抽样,以确保样本的代表性。由于文章长度差异较大,选择了整个页面进行转录,而不是随机抽样文章。转录后的文本与原始OCR文本匹配,确保转录文本包含标题和句子边界信息。

(2)Overproof数据集:全部使用,因为这些数据集已经进行了高质量的对齐转录。数据集包括159篇文章,总字数约为70932字。

问题3:实验结果表明,不同语言模型在CLOCR-C任务中的表现有何差异?哪些模型表现最好,为什么?

实验结果表明,不同语言模型在CLOCR-C任务中的表现存在显著差异。以下是表现最好的模型及其原因:

  1. GPT-4和Opus模型:在这两个模型中,Opus模型在NCSE数据集上的字符错误率(CER)减少了超过60%,在Sydney Morning Herald数据集上的CER从0.08减少到0.04,在Chronicling America数据集上的CER从0.1减少到0.05。GPT-4的表现也非常好,显示出强大的后OCR校正能力。

  2. 其他模型:Gemma 7B、Llama 3、Mixtral 8x7B、Claude 3 Haiku和Claude 3 Opus模型在某些数据集上也有改进,但总体表现不如GPT-4和Opus模型。特别是Gemma 7B和Mixtral 8x7B在所有数据集上都没有表现出明显的改进。

原因分析:

  • 模型规模:较大的模型通常具有更多的参数,能够捕捉更多的上下文信息,从而在OCR校正任务中表现更好。GPT-4和Opus模型都是当前最大的语言模型之一,具有数十亿个参数。

  • 提示工程:实验中使用的提示格式对模型性能有显著影响。选择合适的提示能够引导模型更好地理解任务需求,从而提高校正效果。例如,“expert recover publication text”和“full context”提示在大多数模型中表现最佳。

  • 数据集特性:不同的数据集具有不同的文本特性和布局复杂性,模型在这些数据集上的表现也会有所不同。NCSE数据集包含复杂的期刊布局,而Overproof数据集则是对齐的高质量转录文本。


CLOCR-C.jpg

 

 推荐阅读

《三年面试五年模拟》版本更新白皮书,迎接AIGC时代

AI多模态核心架构五部曲:

AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码

AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention

AI多模态模型架构之LLM主干(1):ChatGLM系列

AI多模态模型架构之LLM主干(2):Qwen系列

AI多模态模型架构之LLM主干(3):Llama系列  

AI多模态模型架构之输出映射器:Output Projector  

AI多模态模型架构之模态生成器:Modality Generator

AI多模态实战教程:

AI多模态教程:从0到1搭建VisualGLM图文大模型案例

AI多模态教程:Mini-InternVL1.5多模态大模型实践指南

AI多模态教程:Qwen-VL多模态大模型实践指南

AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理

智谱推出创新AI模型GLM-4-9B:国家队开源生态的新里程碑


http://www.ppmy.cn/news/1525495.html

相关文章

PPT数据可视化:Python-pptx让图表制作变得轻而易举

哈喽,大家好,我是木头左! 安装和配置python-pptx 确保你的Python环境中已经安装了python-pptx库。如果没有,可以通过pip轻松安装: pip install python-pptx安装完成后,你就已经拥有了在PPT中创建图表所需的全部工具。 创建一个简单的柱状图 让从一个基础的例子开始:…

存储课程学习笔记6_io接口练习(readv,writev, 借助本地socket实现进程间(sendmsg,recvmsg)通过共享内存数据交互)

已经对io_uring进行简单的练习,有必要对readv,writev,sendmsg,recvmsg进行练习。 这类接口是可以一次性操作不连续的内存进行操作,减少了系统调用次数,也提升了整个io读写性能。 核心主要关注函数对应的参数,主要是结构体struct…

Jetpack Compose Side Effects in Details 副作用的详细信息

What is Side Effect’s? 副作用是什么? Side Effects is a change in the state of the application that occurs outside the scope of the composable function and is not related to the UI. In non-UI related state changes, our screen may recompose mor…

linux安装redis、使用redis、用springboot连接redis

安装redis 解压redis的tar包 tar -vsxf 包名 解压完之后进入解压过的tar包里 编译 make 安装和安装的位置 make PREFIX/opt/redis/redisserver install 成功后进入安装的位置 cd /opt/redis/redisserver/ 进入bin cd bin 找到redis-server,运行 ./redis-…

保研 比赛 利器: 用AI比赛助手降维打击数学建模

数学建模作为一个热门但又具有挑战性的赛道,在保研、学分加分、简历增色等方面具有独特优势。近年来,随着AI技术的发展,特别是像GPT-4模型的应用,数学建模的比赛变得不再那么“艰深”。通过利用AI比赛助手,不仅可以大大…

iPhone手机备忘录转移到Windows电脑上的方法

备忘录作为我们日常生活中常用的软件,帮助我们记录下重要事项、待办任务、灵感创意等,已成为许多人不可或缺的工具。然而,当我们需要在不同设备间转移备忘录内容时,常常会遇到一些困难。特别是从iPhone手机转移到Windows电脑上&am…

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步…

【Hot100】LeetCode—75. 颜色分类

目录 1- 思路题目识别技巧 2- 实现⭐75. 颜色分类——题解思路 3- ACM 实现 原题链接:75. 颜色分类 1- 思路 题目识别 识别1 :给定三种类型数据,使得三种数据用一次遍历实现三种数据排序。 技巧 用两条线将数组分为三部分A 线左侧&#x…

【Spring】搭建SpringBoot + OAuth2认证授权服务

文章目录 一、环境准备二、创建Spring Boot项目1. 使用Spring Initializr2. 使用IDE导入项目 三、配置数据源四、添加用户实体和存储五、配置Spring Security六、配置OAuth2七、创建控制器八、创建前端页面九、运行和测试十、总结 本文将详细介绍如何使用最新版本的Spring Boot…

面试干货|2024软件测试面试题汇总

我把软件测试面试的整个题库都搬来啦,面试能拿下80%,剩下就看你满不满意公司的开价咯。以下答案都是我自己写的,大家根据自己的经历稍作改动,答案仅供参考哦!题库持续更新,需要PDF版可以点击文末小卡片领取…

Oracle数据库中存储过程的创建与执行

Oracle数据库的存储过程(Stored Procedure)是一种在数据库中定义并保存的SQL语句和PL/SQL代码块,用于执行特定的任务或业务逻辑。存储过程可以接收输入参数、返回输出参数,并且可以在内部执行复杂的逻辑判断、循环、异常处理等操作…

Superset二次开发之服务器环境准备

本方案选择Vmware虚拟机,可选择云服务器 一.安装Vmware虚拟机 注: 配置: 4c8G100G 二.安装python 3.10 环境 1.安装依赖项: sudo yum groupinstall "Development Tools" sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel 2.下载 Python …

鸿蒙轻内核A核源码分析系列五 虚实映射(7)虚实映射Flag属性

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 轻内核A核源码分析系列一 数据结构-双向循环链表 轻内核A核源码分析系列二 数据结构-位图操作 轻内核A核源码分析系列三 物理内存(1&#xff0…

Redis运维之监控指标,性能监控,监控方式,响应慢分析

文章目录 1 Redis监控1.1 Redis监控指标1.1.1 性能指标: Performance1.1.2 内存指标: Memory1.1.3 基本活动指标:Basic activity1.1.4 持久性指标: Persistence1.1.5 错误指标:Error 1.2 监控方式1.2.1 info1.2.2 性能监控1.2.3 内存监控1.2.4 基本活动指…

W外链怎么做微信推广链接?

"W外链"通常指的是一种可以创建短链接或者特殊功能的链接服务,这些链接可以用来在微信等社交平台上进行推广。由于微信对直接链接分享有一定的限制,使用这类服务可以帮助绕过这些限制,从而实现更有效的推广。 以下是使用W外链创建微…

解锁编程潜力,从掌握GitHub开始

目录: 一、搜索开源项目 1、什么是Git 2、Github常用词含义 3、一个完整的项目界面 4、使用Github搜索项目 1)in关键词 2)star或fork数量去查找 3)awesome加强搜索 二、访问速度慢的解决 1、使用网易UU加速器 2、使用…

Linux:git

hello,各位小伙伴,本篇文章跟大家一起学习《Linux:git》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!!&…

应用层协议 —— https

目录 http的缺点 https 安全与加密 运营商挟持 常见的加密方式 对称加密 非对称加密 数据摘要(数据指纹) 不安全加密策略 1 只使用对称加密 2 只使用非对称加密 3 双方都是用非对称加密 4 对称加密和非对称加密 解决方案 CA证书 http的缺点 我们可…

二进制读写文件

提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 这个文章主要是针对二进制文件的读写 大概会分为c语言对二进制文件读写和c对二进制文件的读写 查找资料看到这篇文章:二进制文件的读…

社群空间站9.9付费入群系统易支付版全套搭建教程

社群空间站9.9付费入群系统易支付版全套搭建教程 1.创建站点 2.搭建环境 php7.2 3.上传源码包 数据库批量修改sq9.dongge1.icu s10.dongge1.icu 改为你的域名 4.上传数据库 修改数据库文件/data/config/ 5.访问域名 6.账户密码 admin 123456 7.易支付修改…