《拉鲁斯法汉双解词典》 文本数据(OCR)

如何避免这个情况,有没有什么资料可以学习的?

它应该是撞运气。即使正常状态,LLM每次输出的质量也稍有差异,所以也没必要太在意,最好不要一直闷着头干,随时抽样检查一下,不行就重复调用多次选一个满意的。

今天高峰时段我使用大模型来OCR的时候,居然只输出一半、再试一次略好一些但仍然不理想,换个非高峰时间就恢复到不怎么需要校对的情况。

故此一问。

BTW: 我碰到的幻觉往往是这一页正文的注释标记到⑫,但注释本身只到⑦就转到下一页了,这时就有可能大模型给出⑦-⑫的“幻觉”注释

各种缩略语括号的问题已经初步处理,但像“❶❷❸❹❺ ◆◇→‖”这些特殊符号,观察研究了一番,感到不容易对付,因为不管用的是什么OCR引擎,对它们的识别率都不高,不是搞错了,就是完全丢失,对比互校也没啥大用。

我想了一下或许可以用上法文版的Dictionnaire de la langue française - LAROUSSE,它的清晰度还可以,又是纯法文,一致性高,OCR时不容易出错。

设计好Prompt,觉得从法文版的拉鲁斯词典里可以提取到相对准确的音标、义项序号(是以“- 1.”、“- 2.”这种形式表示的)、◆◇→特殊符号这些信息,“‖”应该是中文版独有的,得另想办法。

下面给个样本,音标还是有误,ɑ̃识别为ā,需要改进提示词:

OCR结果

〈607〉

souples. □ Classe des astérides ; diamètre max. 50 cm.

étoilé, e [etwale] adj. - 1. Semé d’étoiles, d’objets en forme d’étoiles : Ciel étoilé. - 2. Bannière étoilée. Drapeau des États-Unis.

étoiler [etwale] v.t. - 1. Fêler en étoile : Le choc a étoilé la vitre. - 2. LITT. Semer d’étoiles ou d’objets en forme d’étoiles : La nuit étoile le ciel. Étoiler une étoffe de paillettes d’or (syn. émailler, consteller).

étole [etɔl] n.f. (lat. stola, gr. stolê “longue robe”). - 1. Insigne liturgique formé d’une large bande d’étoffe et porté par l’évêque, le prêtre et le diacre. - 2. Large écharpe en fourrure : Une étole de vison.

étonnamment [etɔnamā] adv. De façon étonnante : Enfant étonnamment précoce.

étonnant, e [etɔnā, -āt] adj. - 1. Qui frappe par son caractère inattendu, étrange : De sa part, c’est une démarche étonnante (syn. surprenant). - 2. Prodigieux, extraordinaire : Mémoire étonnante (syn. remarquable).

étonnement [etɔnmā] n.m. Surprise causée par qqch d’extraordinaire, d’inattendu.

étonner [etone] v.t. (lat. pop. *extonare, class. attonare, de tonus “tonnerre”). Surprendre par qqch d’extraordinaire, d’inattendu : Il est très étonné de ne pas l’avoir vu à la réunion (syn. déconcerter, interloquer). Il est étonné de sa vivacité d’esprit (syn. stupéfier, abasourdir). ◆ s’étonner v.pr. (de). Trouver étrange, être surpris de : Je m’étonne de son absence.

étouffant, e [etufā, -āt] adj. - 1. Qui rend la respiration difficile : La chaleur étouffante d’une salle (syn. suffocant). - 2. Qui met mal à l’aise : Une atmosphère familiale étouffante (syn. pesant).

étouffé, e [etufe] adj. - 1. Décédé par étouffement. - 2. Dont on assourdit l’éclat : Bruit, rire étouffés (syn. feutré, sourd).

étouffe-chrétien [etufkretjɛ̃] n.m. inv. FAM. Aliment de consistance épaisse ou farineuse et difficile à avaler.

à l’étouffée [etufe] loc. adv. et loc. adj. Se dit d’un mode de cuisson des viandes ou des légumes à la vapeur, en vase clos (syn. à l’étuvée).

étouffement [etufmā] n.m. - 1. Action d’étouffer ; fait d’être étouffé : Mourir par étouffement (syn. asphyxie). L’étouffement d’une révolte (syn. écrasement, répression). - 2. Grande difficulté à respirer : Éprouver une sensation d’étouffement (syn. suffocation).

étouffer [etufe] v.t. (croisement de l’anc. fr. estofer “rembourrer” [v. étoffer] et estoper “étouper, obstruer”). - 1. Faire mourir par asphyxie (syn. asphyxier). - 2. Gêner en rendant la respiration difficile : Chaleur qui étouffe (syn. oppresser). - 3. Arrêter la combustion de : Étouffer le feu avec une couverture (syn. éteindre). - 4. Rendre moins sonore : Tapis qui étouffe les pas (syn. amortir, assourdir). - 5. Empêcher la propagation, le développement de : Étouffer une révolte (syn. mater, réprimer). Étouffer un sentiment (syn. endiguer, juguler). ◆ v.i. - 1. Mourir par asphyxie. - 2. Respirer avec peine : On étouffe ici (syn. suffoquer). - 3. Être mal à l’aise : J’étouffe dans cette atmosphère familiale. ◆ s’étouffer v.pr. Perdre la respiration.

étouffoir [etufwaʀ] n.m. - 1. MUS. Pièce de bois garnie de feutre permettant l’arrêt des vibrations d’une corde de clavecin ou de piano. - 2. FAM. Local dont l’atmosphère est chaude et confinée (syn. étuve).

étoupe [etup] n.f. (lat. stuppa, du gr.). Composante fibreuse produite lors du peignage du lin, du chanvre.

étouper [etupe] v.t. Boucher avec de l’étoupe : Étouper les fentes d’un tonneau (syn. calfater, étancher).

étourderie [eturdǝri] n.f. - 1. Caractère d’une personne étourdie : Agir par étourderie (syn. distraction, inattention). - 2. Acte irréfléchi : Commettre des étourderies (syn. bévue, maladresse).

étourdi, e [eturdi] adj. et n. Qui agit ou parle sans réflexion, sans attention : Un enfant étourdi (syn. distrait). ◆ adj. Qui est fait ou dit par étourderie : Une remarque étourdie (syn. inconsidéré, malavisé).

étourdiment [eturdimā] adv. Comme un étourdi, de façon étourdie : Répondre étourdiment (syn. inconsidérément). Agir étourdiment (syn. imprudemment).

étourdir [eturdiʀ] v.t. (lat. pop. *exturdire, class. turdus “grive”) [conj. 32]. - 1. Faire perdre à demi connaissance à : Étourdir qqn d’un coup de bâton (syn. assommer). - 2. Causer une sorte de griserie à : Le vin l’étourdit un peu (syn. griser). - 3. Fatiguer, importuner par le bruit, les paroles : Ce vacarme m’étourdit (syn. abrutir, assourdir). ◆ s’étourdir v.pr. S’efforcer de perdre conscience des réalités : Il s’étourdit dans la boisson pour oublier ses déboires.

étourdissant, e [eturdisā, -āt] adj. - 1. Qui étourdit par son bruit : Explosion étourdissante (syn. assourdissant). - 2. Qui stupéfie par son caractère extraordinaire : Étourdissant de brio (syn. éblouissant, prodigieux).

étourdissement [eturdismā] n.m. - 1. Perte momentanée de conscience : Avoir un étourdissement en se levant (syn. vertige). - 2. État d’exaltation : L’étourdissement dû à un premier grand succès (syn. griserie).

étourneau [eturno] n.m. (lat. pop. *sturnellus, du class. sturnus). - 1. Passereau à plumage sombre tacheté de blanc, insectivore et frugivore (syn. sansonnet). ☐ Famille des sturnidés ; long. 20 cm. - 2. Personne étourdie.

2 个赞

这里讲错了,法文版有“‖”这个符号;还有,法文版里表示相关百科知识时用的符号是□,而不是◇。

我觉得这些可以后处理解决,法语音标可以直接替换ā为ɑ̃,然后释义序号可以重新自动用程序编号。

音标已经有了,我扒完了拉鲁斯官网上的数据,有少量因为网络中断、反爬虫措施等带来的错误,已经重新下载,只是需要把它们合并一下。

法文版可能需要也ocr一遍,它的义项序号、◆→‖三个符号都更清楚,从而更准确。“□”识别效果一般,不过这个符号使用数量有限,对不对也不是很要紧。

用LLM重新OCR一遍法文版拉鲁斯,再加一个对校版本,效果自然更佳,但比较费时费力,到底值不值得,我听下大家的意见。

我把对应的prompt都测试好了,文字贴在这里有转义错误,于是改贴到词典在github的issue里了:为了OCR对应法文版拉鲁斯词典而改写的prompt · Issue #4 · mahavivo/larousse · GitHub

音标数据准备好了,稍微对比感到问题很多,还没想好怎么处理,如何合并到原文,先把资料堆在这里。

我打算先对比文本修正原文里的中文识别错误,它量少且简单。

OCR音标文本.txt (801.1 KB)
larousse官网音标.txt (806.0 KB)

1 个赞

写了个自动切图的程序,效果还可以,但是有些图片存在不正和有噪点的情况会切分不正确,其实这个程序改一改也可以作为通用切图程序,等我解决了部分页面错误问题就把程序传github。

3 个赞

好的,感到这个程序写好了,不但有助于校对这本词典,也可以通用辅助制作各种切图版mdx。就版面分析而言,我看到一个流行的趋势是神经网络,PaddleOCR、Surya OCR这些都用,效果不错,可以用于复杂场景,但弊端是太慢了,耗费算力资源。简单的项目,用OpenCV这些传统视觉处理库会更快更方便。

已经 OCR 了一部分法文版的拉鲁斯,比对效果显著,不但能校正音标、义项序号、◆等特殊符号,法文词汇、标点的错误也很明显,应该可以大幅度提高本词典的制作质量。不过比对、校改的工作量是越来越大。

有了这个原法文版的数据,应该还可以设法给释义的中法文部分分别加上不同的标签,它的准确度会高于用正则一通瞎搞。

附带赞一下beyond compare这个软件,对文本差异的的容忍度高,能够自动分段落对齐比较,相较而言,我此前用的 winmerge 和 vs code 等太挑剔了,文字差异一大基本就等于废物。

1 个赞

还有一种办法,如果认为法文OCR版的文本质量最优的话,可以放弃法汉双解版的底本,转以法文版为底本,把双解版相应的中文翻译插入法文版即可,但这些数据都是无严格结构的,如何批量自动插入是一个难题。

一般的文本比较算法只支持逐行比较,而不是更细粒度的、逐字符级别的差异比较。较小的文本比较,我一般用这个:

缺点是需要行对齐,也就是多加一个换行符后、那下面都会视为不同。

beyond compare“自动分段落对齐比较”是可以容忍多个或少个换行符的比较吗?

感觉 diff 程序一般都支持字符级别的比较吧,空白、空行这些算不算,也可以设置。

我个人比较文本实际用vs code多一些,反应灵敏,编辑修改方便,但一大毛病是如果文字量很大,且颇有差异,那就等于死机了,跑不出来结果,或者有结果,但江山一片红/绿,全是差异。它好像经常不能“智能”找到下一个段落,下一个结构块重新开始比较,而是全一股脑儿纳在一起比较。

WinMerge的表现和 vs code 差不多,但因为是专业比较软件,可以有更多的设置调整项,有时vs code不灵,可以试试它。

百万字以上的文本比较,且它们结构、文字间颇有舛违,我感觉beyond compare的表现最佳,不挑剔,容忍度高,可自动寻找段落对齐,特别适合不同来源的OCR文本对比校改。它的设置项也很丰富(比如是否忽略空白),可以进一步了解研究。

1 个赞

这个和行对齐算法有关系,beyond compare支持3种对齐算法,是我用过的比较软件里面最好的。也支持多个数据表的excel比较。

beyond compare的大名早就听说过,但因为它是商业收费软件,我以前对比较文本的要求也不高,就一直用的是开源的 winmerge 和 vs code,甚至Word也堪用。但自从多引擎OCR文本对比互校流行以来,对比较软件的要求真是越来越高了。

程序员写 diff 软件,一般是用来比较代码的,几千行,数万字符差不多了。但OCR图书、词典,百万字符那是很常见的情况。

对比图片切片还真的查出来一些问题,有几个单词被输出到了上一个单词后面,还用黑色菱形符号隔开了。还有个别页面幻觉严重,丢词现象也有。
不过目前校正倾斜角度后还有部分页匹配不上的,也有范围不准确的。

2 个赞

写了个校对工具,是改了改之前用来校对日语单词书的,感觉效果还不错。也是ai辅助写的,可以从多个来源对比数据,特意用了基于web的现代GUI框架NiceGUI,比QT之类方便太多了。主要功能是可以多来源对比差异,然后可以逐个块应用更改,也可以分字段处理和同时显示pdf原图。不过现在数据没准备好,坐标有60多页没匹配成功。然后其他三个候选来源也要匹配,我只导入了3条数据测试。 程序也支持自动保存,不过这个是在json上操作的,其实也可以改成支持txt。你看看有么有什么改进意见。

可以拼接跨页的图,不过目前图片裁剪不是精确的,左右会错位。

传到论坛了,github也传了一份(在proofreading分支)
依赖pillow, nicegui,pymupdf这几个库
要把词典pdf本体放到data目录下才能正常显示图片。

已更新为正确版本

larousse.zip (7.0 MB)

2 个赞

UI看上去很便捷,对校文本和原始图像都集中在一个页面,一览无余,更改文字大多也不用复制粘贴或者输入,鼠标点击选择即可,不过我这里程序好像还有点问题,尚不能运行。

同样的设计逻辑可以做得更通用一些,也更简单,用页码作为索引(这针对OCR程序的结果和原始pdf来说都是现成的),无需专门针对词典(词条),就能用来多文本对比校对需求更多的普通图书了。

这一页的幻觉错误实际相对较少,所以在检查时遗漏了,我已经重新OCR,替换了此页文字。我还发现 P733 左半页文本完全丢失,也已修正补充。