《大话文渊慧典》:四
《文渊慧典》开发手记之四:开发目的
——小菜:“大胖老师,咱们做的系统,有没有可能复杂到只有咱俩会用?”
——大胖老师:“那不叫系统,那叫学术遗产,专门留给下一届学生猜谜用的。”
一、一场发生在阅览室的真实对话
在经历了商业软件的血泪史和国际调研的眼界大开之后,大胖老师和小菜终于坐下来,开始认真琢磨“文渊慧典”到底要做成什么样。为了找灵感,大胖老师决定深入基层,去自家学校图书馆的古籍阅览室实地考察。小菜抱着笔记本跟在后面,准备记录需求。
两人刚进门,就听见管理员王大姐在接电话:
“喂?什么,你要查清代地契?……对,我们有,但只能看扫描图,没文字的。……你问怎么搜?没法搜啊,得一页一页翻图。……对,跟翻相册似的,一本八百多页呢。……什么,你问我有没有别的办法?孩子,我要有那神仙办法,我早就发Nature了。”
挂了电话,王大姐看见大胖老师,像见了救星:“胖教授!你可算来了!你们那个什么OCR,能不能快点搞出来?我这儿天天接这种电话,读者问我要文字版,我说没有;问我能复制吗,我说不能;问我能全文搜索吗,我指指头顶的老吊扇,说它比我还沉默。”
大胖老师笑着安慰:“别急,就是为了这个来的。王姐,我问你,如果我们给你一套系统,你希望它是什么样?”
王大姐脱口而出:“最好是那种,我把图片拖进去,它就自动把字吐出来,什么都不用我调。别让我输什么命令,我连拼音输入法都二指禅。也别让我上传到什么云上,馆长说了,古籍图片不能出馆。还有,别让我再配什么显卡,我用的这台电脑还是2015年的联想,开机得三分钟,只能办公,打不了游戏。”
小菜在一旁飞速记录,逐渐意识到:他们面对的最终用户,不是985的博士,不是硅谷的极客,而是千千万万个“王大姐”——全国图书馆、文献馆的普通馆员。这些人中,很多人一辈子没敲过一行命令,没装过一次Python环境,甚至不知道什么是终端。但她们手里握着最珍贵的文献,也最清楚读者的需求。
大胖老师把王大姐的话浓缩成一句扎心的真相:“如果一套系统,需要使用者先去B站学三天Python,那它的命运,就是躺在硬盘里吃灰,跟那些古籍一起变老。”
二、那些被“高冷技术”伤害过的图书馆
为了坚定自己的信念,大胖老师又讲了几个他亲眼所见的“数字化惨案”。
惨案一:某市图书馆的“黑屏事件”
2019年,某市图书馆花三万元买了一套古籍OCR软件,据说是某高校实验室的成果。安装那天,来了两个研究生,噼里啪啦敲了一通命令,终于跑起来了。馆员们还没来得及高兴,研究生毕业了。后来系统出了个小bug,馆员打电话求助,对方说:“这个项目已经结题了,你们自己看文档吧。”文档是英文的,术语一大堆。馆员试着在百度上搜解决方案,结果越搜越怕——差点把系统整崩溃了。最后那台电脑成了“禁地”,谁也不许碰,上面的系统至今没再跑过,屏幕永远是黑的。
小菜听着心疼:“这不是买软件,是买了个定时炸弹。”
惨案二:某县馆的“云端惊魂”
2021年,某县图书馆用上了一家商业云OCR服务,上传扫描件,自动识别,确实方便。直到有一天,县里搞保密检查,发现他们把一批未公开的民国档案传到了公有云。馆长吓出一身冷汗,连夜联系客服删除数据,客服回复:“已为您提交工单,预计7个工作日内处理。”那7天,馆长瘦了5斤。从此之后,该县馆定下铁律:所有数字化数据,一概不许出本馆局域网。
大胖老师总结:“技术先进不代表适用。图书馆的需求,不是求新求快,而是求稳、求安全、求无人值守也能跑。说白了,他们要的是一台‘傻瓜相机’,按一下就出片,别让我调光圈快门ISO。”
三、大胖老师的“三不原则”
在充分调研了“王大姐们”的真实处境后,大胖老师在项目组内部宣布了著名的“三不原则”。小菜当时听了,觉得这老爷子倔得可爱;后来系统落地时才发现,每一条都救了大命。
原则一:不让用户碰命令行
大胖老师说:“你们记住,任何一个面向普通馆员的工具,只要出现黑底白字的命令行界面,就输了。输的不是技术,是人心。馆员们会下意识觉得‘这东西不是我该用的’,然后产生恐惧。我们要让系统像微波炉一样——按‘开始’就转,别让我选火力。”
为此,他们决定用Gradio搭建Web界面,所有操作都在浏览器里完成:上传文件、点击识别、下载结果。界面设计得像老年手机一样,按钮大、文字清楚、逻辑一目了然。小菜提出疑问:“可是有些高级参数,比如置信度阈值,万一专家想调呢?”大胖老师答:“那就藏在一个‘高级设置’的小箭头里,默认折叠。让小白看不见,让高手找得到。这叫‘上下兼容’。”
原则二:不让数据出局域网
“很多商业OCR要求联网,把图传上去,云端识别再传回来。这事在王大姐那儿就过不了,在保密单位更是一票否决。”大胖老师敲着桌子,“我们的系统,必须全部离线运行。OCR引擎跑在本地CPU上,模型文件下载一次永久使用,识别结果存本地硬盘。就算断网,也得能正常干活。”
小菜有点担忧:“全部本地的话,怎么自动更新模型呢?”大胖老师早有对策:“我们可以做一个离线更新包,馆员从官网下载,U盘一插,点‘导入更新’,就完了。像早些年给电脑装系统补丁一样,不联网也能升级。”
原则三:不挑硬件,不吃“显卡饭”
“2016年之后,AI圈有个坏风气——动不动就说‘需要一块英伟达显卡’。可你去县图书馆看看,他们用的电脑,大多是政府采购的办公机,集成显卡,内存4G,硬盘还是机械的。”大胖老师掰着手指算,“如果我们的系统要求GPU,就等于把90%的潜在用户拒之门外。古籍又不等着显卡降价,咱们不能成为数字鸿沟的帮凶。”
于是,他们定下硬指标:在5000元以下的普通办公电脑上,处理一页A4古籍的时间不超过10秒。CPU推理,利用PaddlePaddle的MKLDNN加速库,把效率优化到极致。小菜测试时用自己那台二手笔记本,跑一页7秒,大胖老师满意地点了点头:“这速度,比王大姐泡杯茶还快。”
四、“傻”到极致,是一种慈悲
听完“三不原则”,小菜内心有点复杂:“大胖老师,我们做这个系统,技术上好像没什么惊天动地的创新,感觉有点‘土’。”
大胖老师笑了:“我给你讲个故事。2018年,拼多多上市,很多人嘲笑它low,界面土,东西便宜。但它做对了一件事:让农村老太太也能用手机购物。这就是‘普惠技术’的力量。我们现在做的,就是古籍界的拼多多——不让一块钱的价格门槛挡住一百万本古籍的数字化。土怎么了?接地气的东西,命最长。”
他还举了一个更近的例子:“2020年疫情,健康码横空出世,一开始很多老年人没有智能手机,出门寸步难行。后来国家要求必须出‘适老版’,大字、语音播报、离线码。你发现没?技术发展到最后,拼的不是谁更高深,而是谁更懂得照顾那些被落下的人。我们要做的,就是古籍数字化的‘适老版’。”
小菜被说服了。他想起王大姐接电话时无助的语气,想起那些放在库房无人问津的孤本,想起暴雨中泡烂的纸浆。一个系统真正的价值,不在于它用了多少层神经网络,而在于有多少本发黄的老书因为它的存在,而被一个人读到、检索到、复制粘贴进论文里。
那天晚上,小菜在项目文档里写了一句话,后来被大胖老师印在了墙上:“让技术的门槛低到泥土里,文化的根系才能扎到云霄上。”
五、开发目的最终陈述
经过这番讨论,他们终于把“文渊慧典”的开发目的凝练成正式的文字,写进了项目章程:
攻克中文古籍竖排繁体OCR的核心痛点,实现高精度文字识别,准确率≥90%,覆盖常用古籍版式。
完全本地化部署,数据不出馆,满足安全与版权要求,消除图书馆的后顾之忧。
极低使用门槛,Web图形化操作,无需命令行,无需GPU,普通办公电脑一键安装,馆员经10分钟培训即可独立操作。
完全开源免费,采用Apache 2.0协议开放源代码,避免厂商锁定,社区共建,持续进化。
标准化输出,生成符合国际通用格式的双层PDF、ALTO XML等,便于后续对接其他数字图书馆系统。
小菜看着这份目的,挠挠头:“我们这么实在,会不会显得不够‘高大上’?”
大胖老师把保温杯往桌上一墩:“高大上?高大上的东西都在PPT里。我们要的,是明天早上王大姐双击桌面图标,就能把自己馆的镇馆之宝变成可检索的电子书。那一刻,她不会想起什么神经网络、CTC解码,她只会‘嘿’一声,然后打电话告诉读者:‘孩子,你要的那份地契,我搜到了。’这才是我们做这件事的全部意义。”
六、下一站:技术架构的血肉填充
目标已定,原则已明。接下来,大胖老师和小菜将进入最硬核的部分——设计“文渊慧典”的技术架构。他们要面对的问题包括:PDF怎么无损转图?版面分析如何对付双行夹注?CPU上怎么让识别速度飞起来?双层PDF的隐藏文字层怎么压得又准又不影响阅读?
小菜摩拳擦掌,大胖老师拧开第三杯枸杞水,准备开讲。窗外天色已暗,实验室的灯光下,一块白板即将被画满密密麻麻的流程图。而千里之外,某县图书馆的王大姐正随手翻着一本康熙县志,她不知道,一群愿意为她“把技术做土”的人,正准备打响一场没有硝烟的“古籍解放战争”。
本文为注水技术版,您看看即可,不必当真,写此文字就是图一乐:-)