基于反向校对方法的纠错技术研究

2023/08/02-16:20 来源:

基于反向校对方法的纠错技术研究

张从辉  于  波  鄂  毅

(人民日报社技术部)

【摘  要】随着智能媒体审校系统的发展和报纸行业从业人员水平的提高,报纸上的别字已经很少见了,但仍存在一定的纠正空间J。为了加强报纸的国际传播能力,进一步提升报纸质量,本文基于反向校对思想,对纠错技术进行了研究,提出一种支持词库共享的反向校对方法,对解决编辑校对因人工因素造成的版面错误问题有较好的效果,从技术上为报业生产提供了一种降低文字差错率的手段,是传统人工校对的有益补充。该方法可以用于报业系统付印前的Pdf版面校对,也可以用于历史版面库、单篇文章等的查校,对提高报业整体质量有着重要意义。

【关键词】反向校对  差错率  别词库  自动纠错

1  引言

校对工作是报纸出版过程中非常重要的一环。尤其是一些政治性强的报纸,在文字表达上更不能有丝毫闪失。为了规范报纸出版行业,国家出台了《报纸出版管理规定》《报纸期刊质量管理规定》等法律法规,明确了报纸编校差错率不超过万分之三为合格,对差错率计算方法也作了严格规定。报纸行业为了保证低差错率,既需要一流的校对人才,也离不开智能校对系统的辅助。但由于人的因素,即使一流的校对人才借助专业的校对软件,依然不能保证没有错误。为了进一步减少差错,提高校对效果,需要更多的纠错手段。

2  反向校对思想的提出

2.1  传统人工校对方法的不足

传统人工校对方法是建立在阅读基础之上的,即编辑或者专业校对通过通读文章来对语句进行拆分,分成一个个词语,然后和自己大脑里对这个词的记忆进行比对,如果一致则为正确,不一致,则错误。这看似简单的一个脑力劳动过程,实则蕴含着很强专业性、严谨科学的态度以及顽强的耐心毅力等。然而,即便是最专业的校对也不能保证没有疏漏,即使是借助专业的校对软件、文字编辑器的别字提示功能,依然不能百分百保证报刊出版的零差错,这是传统人工校对方法的不足。2021年8月,中国报业协会组织开展了“全国主流报纸出版质量评测”活动叫,评测结果见表1。可见即使有专业校对软件的辅助,依然不能避免错误的发生。另外,商品化的智能校对系统陆续出现,但别字库更新补充较麻烦,无法实现共享,且不能自动纠错,这也使得这些软件辅助人工校对时总是处于滞后的状态,是错误的另一个成因。

表1  2021年中央级报纸出版质量评测排名(部分)

image.png

2.2  反向校对思想的提出

素有“语言界啄木鸟”之称的《咬文嚼字》杂志,曾在2005年创刊10周年之际,整理出了《当代汉语出版物中最常见的100个别字》(见图1,括号内为正确的字)。这个图是《咬文嚼字》编辑部自创刊以来,组织社会上方方面面的力量审读了约3000本图书、1000种期刊、100种报纸,并请100家新闻出版单位,提供每年差错率最高的词,这批长期出现、广泛出现、反复出现的别字,便是在10年调查的基础上产生的。这100个别字都是之前10年来出错频率最高的,据专家统计,若将这100个常见的别字纠正过来,当时出版物上的别字总量将减少一

半以上2。基于这一论断,本文提出了反向校对思想,即建立常见别词库,用别字去校对文章。具体来说,就是通过分词工具将文章分解成词,这一环节相当于人工校对的阅读环节。然后与别词库中的词比对,如果一致,则表明这个词是错误的,标记出来。这样就可以是通过技术手段把文章中这些常见的别字过滤掉。之所以称为反向校对,是相对于传统的人工校对而言,人工校对可以说是正向校对,即从文章中校对错别词汇,而反向校对是用错别词汇校对文章,即从一篇文章中找出别词,从一批文章中找出有别词的文章。

这100个常见别字虽然已经公布了多年,但依然时常出现报纸刊、杂志上。比如,在百度中搜索“一幅对联”,马上就会出现若干条结果:“一副”对联还是“一幅”对联?可见要消除这些常见别字任重而道远。

2.3  反向校对与反向查错的区别

专业校对软件提供反向查错的功能,即将已知的错误词汇加入错词库,文中如果有错词库中的词会自动标识出来,类似于查找功能。而反向校对方法是用计算机算法模拟传统人工校对的过程,在这个过程中把人工校对容易弄混的别词找出来,并且可以用正确词语直接替换。解决了自动校对系统词库无法共享问题和不能纠错的问题。校对自动化可以减少人为差错;归纳权威别词库,使校对更精准;词库共享和反向查错并纠错,提高文稿质量,强化工作效率。


image.png

图1  《当代汉语出版物中最常见的100个别字》局部

3  反向校对纠错方法的实现

3.1  分词

校对是建立在阅读基础之上的,要让计算机校对文章,就要实现计算机阅读文章的功能。对比人工校对过程,阅读就是将文章分成一个一个词语,来分别判断每个词语的对错。因此计

算机阅读文章的第一步就是要分词。

当前流行的中文分词工具很多,比较而言,Jieba分词工具是一个优秀的中文分词工具。

它以第三方库形式提供给Python语言调用,是Python语言中目前最受欢迎的中文分词库。英文文本可以通过空格来分词,而中文文本词与词之间是没有空格的。Jieba分词的原理就是利用一个中文词库,确定汉字之间的关联概率,然后组成词组,形成分词结果。

Jieba分词支持三种分词模式:

(1)精确模式

就是将句子精确地分开成若干中文单词,这些词合起来就是之前的语句,其中不存在冗余单词,这种模式适合文本分析。

(2)全模式

就是将一段文本中所有可能的词语都扫描出来,可能有一段文本它可以切分成不同的模式,或者从不同的角度来切分变成不同的词语,分词后的信息再组合起来不再是原来的文本。

(3)搜索引辇模式

就是在精确模式基础上,对发现的那些长的词语再次切分,进而适合搜索引擎对短词语的索引和搜索,也有冗余。

例如:对文本“我来自人民日报社技术部”采用三种分词模式分词,源代码和结果如图2所示。

image.png

图2  对文本“我来自人民日报社技术部”进行Jieba三种模式分词结果

显然,三种分词模式都可以采用,全模式和搜素引擎模式更符合人们的校对习惯。但是这两种模式对文本如“据公开消息”“扫描模式”这样的词语会分解出“开消”“描模”,这与库中“开销”“描摹”的错误写法“开消”“描模”吻合,从而报错。中文文本中这种情形还比较常见,是不能简单地通过像Word、WPS这样的字处理软件的查找替换功能解决的。分词的意义就在于准确地分解出中文语句中词语的组合,反向校对是建立在分词基础之上的。因此,精确模式可以作为反向校对方法分词的主要模式,全模式和搜索引擎模式作为参考模式。

3.2别词库

别词库是反向校对方法的另一个关键因素,收录的别词越多、越权威,就越能发挥反向校对的优势。然而,别词库是语言学领域一个十分专业的问题。事实上,除了《咬文嚼字》杂志公布的常见的100个别字外,其他权威机构也曾发布过常见错别字库。如:上海教育出版社2020年6月出版的《高频别字300例》  ,四川辞书出版社2020年7月出版的《消灭别字与病句》(全新版)列出了1600多个易错字15,上海文化出版社和上海咬文嚼字文化传播有限公司联合出版的《常见别字辨析手册》同,等等。结合权威机构的出版物和专业校对人员的反馈,例如:“采访”是“采访”的别词,“志和者”是“志合者”的别词等等。本文归纳出了1100多个别词的别词库,并且别词库可以结合实践予以灵活增减。

在Python语言中可以用一个集合建立常见别词库。以图1为例,建立别词库,如图3中红色方框所示。

image.png

图3创建别词库和添加别词库到Jieba中文库中

前面提到,Jieba分词是利用一个中文词库来确定汉字之间的关联概率组成词组,形成分词结果。而图3别词库中的词是基于统计学知识从书籍、报刊中挑选出来的“别词”,这些词未必都在Jieba的中文词库中,因而需要使用Jieba提供的Jieba.add_word()函数把这些词加入库中,如图3中蓝色框所示。Jicba中文字库中有了这些词就可以准确地从文本中分析出这些词,如图4所示。

image.png

图4添加别词库到Jieba中文库前后的分词结果

图4上、下半部分别是添加别词库到Jieba中文库前后的分词结果。可见,添加别词库到Jieba中文库前,Jieba的全模式对别词“按装”没有分析出来,三种模式对别词“一愁莫展”都没分词正确,添加后,三种模式都能正确分析出来。

3.3  自动纠错技术

为了实现自动纠错功能,对应于别词库,还应建立正确词库。因此,本系统不仅有查错功能,也有纠错能力。当用户将文稿提交到后台后,进行Jieba分词,再与别词库比对,将错别字放入内存中,当确认确实是别词后,使用对应的正确词语替换,并将操作写入日志。

3.4别词库共享技术

本系统采用了Flask框架对Web进行设计,每个用户均可以将自己的别词库提交到服务器端。服务器端会对校对过的文本进行扫描统计,达到设定值后,经人工审核就可以进入别词库。凡进入别词库的词可以被所有用户共享,不用每个用户再自己添加,间接提高了工作效率。

3.5  算法实现及结果

Python作为一门超级语言以其简单、易学、开源和丰富的第三方库而深受广大编程爱好者青睐。2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上四。借助Python丰富的第三方库,研究人员可以将主要精力放在自己关注的问题上,从而高效地完成任务。这里使用的Jicba库就是一个例子。反向校对方法在算法实现上就是将要校对的文件读入到文本中,然后用Jieba分词工具进行分词并存入列表,然后对列表中元素与别词表中元素一一比对,找出相同元素,即别词。显而易见,反向校对方法有一个优势,那就是对重复词语只需查校一遍。词语重复在文章中是常见的事,例如,在十九大报告中,“人民”二字出现了200多次。人工校对无疑要对200多处“人民”都要校对,而在反向校对方法中,通过采用对分词产生的重复元素只记录一次方式实现对文章重复词语只校对一次的功能,从而可以提高查校效率。

image.png

图5  程序运行结果

图5的上半部分是用反向校对方法对某报5天48个版面,约44.5万字的内容做的测试结果。从测试结果看,查到两个“别词”。“明查暗访”和“明察暗访”已经通用,可以不算错。但“松驰”是别词,正确应该是“松弛”。图5的下半部分是对另一报纸5天76个版面,约

39.3万字的内容做了测试。从运行结果看,“座落”应为坐落,没有问题。“不能自己”确是“不能”“自己”两个词的组合,例如:我不能自己一个人去那里。因为向Jicba中文字库中添加不能自己的别词“不能自己”,因而算法把两个词当成了一个词。这也让我们认识到了汉语的复杂性,提醒我们找到“别词”的同时,还要看看“别词”所在的句子。相应的“别词”也都在其报纸官方网站上进行了核实。程序运行用时间分别是0.791秒和0.869秒,完全不用担心效率问题。

总的来说,报纸上的别字错误确实很少了,但反向校对方法确实还是能查出个别别词来,这证实了反向校对方法的有效性。只要别词数据库足够丰富、权威,就能查找出报纸上更多的别词。同时我们也认识到汉语言的复杂性,反向校对方法的研究也只是处于起步阶段,还需要进一步深入研究完善。

4反向校对的意义和应用场景

反向校对的实质是用计算机算法模拟传统人工校对的过程,以解决人工校对中由于人的视觉、记忆上的偏差造成对常见别字的混淆而发生的人为错误。虽然一些专业的校对软件也有错词库和反向查错功能,但在实际使用中这些功能也只是作为人工校对的辅助手段。反向校对的意义在于排除“人工因素”导致的错误,这也决定了反向校对方法只能作为人工校对方法的补充。即人工校对的输出是反向校对方法的输入。

总的说来,只要能转化为文本格式的文件、资料都可以使用反向校对方法来查校。典型的例子如下:

(1)压版前的Pdf版面

对于报业来说,反向校对方法只有对最终的Pdf格式的版面进行校对才最有意义,相当于校对的最后一道防线。这就需要将Pdf版面转换成Txt文件的中间过程。Pdfplumber是Python中Pdf转Txt的第三方工具,可以实现完美转换。

(2)复印前的书刊

当编辑编完一本书或刊物后,如果想检查书中有没有常见的别字,可以使用反向校对方法。本方法对一本30万字的电子书进行查校,运行时间0.9秒。当然,反向校对方法对单篇文章也是适用的。

(3)历史资料库

各种出版物都有自己的历史资料库,这些资料库对于今天的学术研究或编纂书籍有重要的参考价值。但如果有错误,被引用就有可能造成对错误的二次传播。可以用反向校对方法对整个历史资料库进行查校,从而减少错误的二次传播。

(4)对于声音转成的文字

媒体进入四全媒体时代,节奏快是一个鲜明的特点,从而大大压缩了留给校对工作者的时间。语音转文字是编辑们常用的方法,但语音转文字不能百分百转换正确,反向校对方法可以辅助编辑快速过滤掉那些转换中出现的常见别字,从而提高工作效率。

(5)OCR识别的文字

神经网络算法在图片领域的深入应用,推动了图片中文字识别技术的发展,越来越多的人使用手机截屏,然后OCR识别后,获取可编辑文本,但识别准确率和召回率不可能达到100%,所以也存在错误。使用反向校对方法不仅能提高文本质量,也能提高文本处理效率。

(6)校对力量较弱的自煤体

这几年自媒体飞速发展,但也良莠不齐。经常在自媒体文章上或视频字幕上看见错别字。可以使用反向校对方法快速去除常见的别字。

5  结语及展望

反向校对方法是基于语言专家在对书籍、报刊中常见的100个别字的统计学基础上给出的科学论断提出的,并通过Python语言基于第三方库予以实现,是在实践中经过检验行之有效的方法。该方法能直接用于报业系统付印前的Pdf版面的最后查校,也可以用于历史版面库、单篇文章的校对,是从技术上降低报业生产文字差错率的有力手段,是人工校对方法的有益补充,对提高报纸行业的整体文字质量有重要意义。

根据反向校对思想,类似于别词库,可以添加常用规范表述库图、古典诗文名句库、逻辑表达词语库等,从而全方位、多角度对文章进行核校,将现代科技最大限度地应用于传统报业的出版发行,提高报业质量。同时,在实践中我们也深刻了解到了汉语言的复杂性,反向校对方法还有很大的改进空间。

参考文献:

[1]中国报业协会开展2021年全国主流报纸出版质量评测活动.中国报协网

[2]《咬文咽字》整理出百个最常见别字,《人民日报》,2005年4月25日:第11版文化

[3] https://github.com/fxsiy/Jicba

[4]许霞,《高频别字300例》,上海:上海教育出版社;2020年6月

[5]彭伦健,彭皓宇.《消灭错别字与病句》,成都;四川辞书出版社:2020年7月第1版

[6]楚山孤.《常见别字辨析手册》.上海:上海文化出版社、上海咬文嚼字文化传播有限公司;2019年2月

[7] https://baike.baidu.com/item/Python/407313?fr=aladdin

[8]吕飞.《宜传工作常用规范表述300例》,北京:人民日报出版社;2021年:001-002页