我觉得可以先写程序parse词条结构转json,然后再进行格式检查,括号不匹配,序号问题这些都能查出来,另外弄不同版本的其他文本,都进行格式正规化处理,再用图像处理方法获取pdf中每个词条图像坐标,然后用程序自动比较不一致的地方,把有问题的地方同时显示原图,几个版本的差异来进行比较修改。最后都完成后可以json转html就可以加入样式了。我之前文本化就是这个流程,不过是手动调用deepseek和gemini,自动化没调好。不过后续的程序是有写的,我可以改一下用到这个词典上。
你这个思路不错,但先提条件是要有词条在pdf图像里的坐标位置数据,或者有人做过切词版的图片mdx,或者ocr的文本是通过api调用来的,有json格式的坐标,而这里的各个文本,都没有这方面的数据。
我用Gemini OCR时,特别让它加上放在〈〉符号内的页码,就是为了校核时和原页面图像对照,对照结束后,不需要也方便批量删除。如果不是为了这个目的,可以让它直接把页眉内容都删了,只要正文,错误会更少,文字更连贯,可这样要校对时就麻烦了,文字里发现了错误,无法简单确定图像在哪一页,会更费时间。
如果按照你的处理思路和流程,让大模型直接生成词条列表的json数据都行,parse的过程都免了,不过这些可能一开始就要通盘设计好,中途变更会比较麻烦。
我个人其实对mdx词典没什么好感,编辑更改不便,需要专门软件,chatgpt等也没法阅读等,我一般只做最基础的文本txt,在vs code里搜索用,喂给ai,别人想怎么继续加工,随便好了。
如果最终目的是做mdx词典,中小型的简单词典甚至可以直接从Gemini、chatgpt中生成,阅读pdf文件,生成</>分隔的列表,给词头、音标、释义、例句加上指定的html标签,一步完成,不过我个人对这些没太大兴趣。
文本底本搞定了,做简单的mdx是很容易的事,不以制作mdx为目的,并不是说不能做成mdx。
文字版除非是出版社放出来的文档,通常并不可靠,词条排序等都是为了方便进一步核校原书图像。
是的,可以直接输出json,我就是这么做日语语法书的。
单词坐标的话可以直接写个python脚本切分。我之前是用的另一个流程,用chrome自带googlelens做ocr,然后得到位置和其中一个ocr版本,然后用pymupdf解析得到文本和坐标输出csv。
加标签是个简单的parsing问题,直接用lark写个规则就能得到结构化语法树,然后想要什么样式就加标签输出html就行。
我搞了一个用合合ocr出来的文件,它不能正确识别❶❷❸❹❺,统统给改成①②③④⑤。
拉鲁斯法汉双解词典 Textin版.txt (11.9 MB)
我最讨厌扩充词头了,它是词典软件层面解决的问题,goldendict就干得不错。在原始数据文件里扩充词头,造成大量数据重复和污染。
词典软件层面感觉很难解决这个问题,因为这相当于形态学分析,每个语言规则是是不一样的。
这些想扩的人自己动手,我主要关注的是纯净的文本数据本身。跟原书一致,也方便疑时复核。
八字还能没一撇呢,文本上的讹误还很多,想用mdx词典,#35 楼就有现成的。
你是想所有时态的变位都做吗,那可不容易,名词加个复数阴性什么的还可以。
删除zsbd
删除zsbd
enchaîner [ɑ̃ʃene] v. t. ❶ Attacher avec une chaîne, une corde ou un lien 拴,缚,锁住: Enchaîner un prisonnier (syn. lier). 拴住一个囚犯 / Enchaîner un chien (syn. attacher). 拴住一条狗 ❷ Immobiliser, priver de sa liberté de mouvement 〈转〉使不能动,束缚: La maladie l’enchaîne à son lit. 疾病把他缠在床上。❸ Lier par un rapport de cause à effet, de succession 使连接,使连贯,使联系: Enchaîner des idées (syn. relier). 使思想连贯 / Enchaîner les phrases l’une à l’autre (syn. articuler). 使句子衔接起来 ❹ Enchaîner sur, continuer sans interruption, après avoir fait qqch (后跟介词sur)紧接着,接下去: Après le journal télévisé, on enchaîne sur le film. 电视新闻之后,紧接着放电影。◆ s’enchaîner v. pr. Se suivre logiquement, être lié 连接,连贯: Les faits s’enchaînent. 事件是相互关联的。
上面就是一条gemini模型幻觉出来的数据,在P675和P676接界处,挺有趣。如果不是因为这本书多语种、格式复杂,用纯粹的OCR工具比如合合、夸克等会更可靠一些,起码不会一大片幻觉输出。
你的这些说法怎么讲呢,不谦虚地说,叫代大匠斫。我OCR过几千万字了,很多都放在网上,比如本站和github,什么叫错误率高,什么可接受,外文的连字符等问题,不知道想过遇到过多少次了,真轮不到你来指手画脚。
你看来连基本的ai常识都不大懂,大模型的输出全部有一定的随机性,它是概率确定下一个token的,平白无故跳出来的错误,如果用得多,总会遇见的,用它ocr也不例外。
没有一个工具是100%正确的,这就是需要多份文本对比和人工校对的原因。
至于可靠到什么程度,那是随心所欲了,我有自己心目中的核心文本,以及不大重要的的外围文本,看重的,就多花功夫,多用工具核对,不在意的,看得过眼随便搞搞就行了。这些主要都是自用的,顺便网上共享,爱心发电,别人又没给我付钱,爱用不用,吃免费餐的通常还没有资格来点菜,不满意的话自己动手,丰衣足食。
删除zsbd

