配例查重技术在辞书编纂中的应用

2019-12-09 01:54李芸
辞书研究 2019年6期

李芸

摘 要 为了更好地配合辞书编修工作,作者开发了配例查重系统,对通行的现代汉语辞书进行了试查重;基于统计数据,定义了辞书的配例参配度、配例重合度、重合配例扩散度三项指标;其数据结果能为研究配例重合、统筹选择配例提供便利;该项计算机应用技术可以从多方面提取辞书的配例信息,形成配例数据库;既能对单部辞书进行自身配例查重,也能对多部辞书进行配例比对。文章介绍了该项配例系统在辞书编纂中的应用,探讨了其中的难点问题,认为: 该系统仍需不断改进完善;更加理想的配例查重软件,需要计算机软件开发者与辞书编修者更紧密的合作;应当尽快研究解决计算机辞书编修平台的瓶颈障碍,把依赖人工干预的工作量降低到最小,以真正实现包括配例查重系统在内的辞书编修平台的计算机化。

关键词 配例查重 辞书编纂 程序研制

一、 引言

释义在辞书中占主体地位,配例也起到非常重要的扩展作用,特别在词汇使用方面提供具体而鲜活的应用实例。《〈现代汉语词典〉编写细则》(修订稿)认为:“举例的作用是补释义之不足。”

在词典的修订过程中,发现一些配例重出的现象,即一个配例不仅在甲条作为配例,也在乙条做了配例。比如,《现代汉语词典》(以下简称《现汉》)第6版中,重合的配例有: 披星戴月,分别在“戴”和“披”字条中做比喻配例;“崇洋媚外”,分别在【崇洋】和【媚外】中做配例;“险象环生”,分别在【险象】和【环生】中做配例;“春意盎然”,分别在【春意】和【盎然】中做配例;“海内存知己,天涯若比邻”,分别在【比邻】和【知己】中做配例。以上配例涵盖了单字条目、单义项多字条目、多义项多字条目等情况。

戴 ……① 动 把东西放在头、面、颈、胸、臂等处: ~帽子|~花|~眼镜|~红领巾◇披星~月|不共~天。……

披 ……① 动 覆盖或搭在肩背上: ~甲|~着斗篷|~红挂绿◇~星戴月。……

【崇洋】 ……动 崇拜外国: 盲目~|~媚外|~思想。

【媚外】 ……动 对外国奉承巴结: 崇洋~。

【险象】 ……名 危险的情形: ~环生。

【环生】 ……动 一个接一个地发生: 险象~。

【春意】 ……名 ① 春天的迹象或情景: ~盎然|樹梢发青,已经现出了几分~。……

【盎然】 ……形 形容气氛、趣味等洋溢的样子: 春意~|趣味~。

【比邻】 ……① 〈书〉名 近邻;街坊: 海内存知己,天涯若~。……

【知己】 ……② 名 彼此相互了解而情谊深切的人: 海内存~,天涯若比邻。

此项配例查重系统能穷尽式地检查全书配例重合情况,为辞书配例的研究改进提供方便。

二、 配例查重系统的主要功能和样例

为了全面了解配例重合的数量和分布情况,我们开发了配例查重系统,对几本重要的辞书进行了试查重。查重结果的统计和分析见第三节。

配例查重系统的主要功能是: 可以在单部辞书内,查出所有重合的配例;可以查出辞书的两个版本之间所有重合的配例;可以查出两部不同辞书之间所有重合的配例。

(一) 单个条目中所有配例的提取

比如,《现汉》第6版条目“百”下有10个配例,利用配例提取软件,按照释义的顺序,从左到右,依次从各个义项中提取配例,同时将“~”替换为字头字。配例按照原条目中的出现先后进行排列,每个配例后附带原条目内容。见表1。

  对于多字条目,配例提取方法同单字条目,不同的只是将波浪线“~”替换为鱼尾号“【】”内的词目。因为对于程序来说,需要给它明确无误的指令。比如,【争鸣】的配例提取见表2。

  (二) 整部辞书所有配例的提取

可对一部词典内的所有条目进行遍历[1],依次提取每个条目的所有配例,输出整部辞书的所有配例,形成一个文件,供进一步处理和分析使用。

(三) 单部辞书内重合配例的提取

在整部词典的所有配例的基础上,通过配例的排序,找到相邻重合的配例并提取出来,按照条目音序排列。比如,重合配例“百家争鸣”的提取,见表3。“百家争鸣”,出现在“百”“家”“鸣”“【争鸣】”四个条目中。

  (四) 两部辞书之间重合配例的提取和比对

两部辞书之间重合配例的提取,比单部辞书要复杂一些,需要编制两部辞书配例(两个列表)的比对程序,得出重合的列表,再编制匹配程序,分别从两部辞书中匹配配例所在的原条目。比如两部辞书(表4中的“辞书甲”和“辞书乙”是两部辞书的化名)之间的其中两个重合配例“人情来往少不得要花些钱”和“这幅画少说值100万”的样例,见表4。

  (五) 配例数据的统计

可针对不同的目的,对提取的配例、重合配例等进行各种统计。统计和分析见第三节。

比如,单部辞书的配例数量、配例长度、位置(首、中、末)分布、重合次数、占比等。两部辞书及多部辞书之间这些统计量的比较。

(六) 近似配例的提取

上文所说的重合配例是指组成配例的字符串完全相同。但也有近似相同的配例,有时需要考虑。比如,“知其然,不知其所以然”与“知其然而不知其所以然”,分别在“然”和【所以然】条目下做例,见表5。这两个配例只有逗号“,”和“而”一字不同,属于近似配例,我们的配例查重系统也能识别并提取出来。

  此外,两个字符串在字数上相同,只不过个别字词换了位置,这种顺序略有调换的近似配例我们同样能识别并提取。比如,“纸屑抛撒一地”在【抛撒】下,“纸屑撒了一地”在“撒”条下,见表6。

  此查重程序也能将“这幅画少说值100万”和“这幅画少说值一百万”作为近似配例查出来,同样能识别这个例句的其他相近变体。

单部辞书内的近似配例能够提取,同样,两部辞书之间的相似配例也能提取并比对。进而,进行多种统计量的计算。

(七) 辞书配例与辞书词目的比对

可检查单个配例或成组配例是否在本词典中出条,甚至整部辞书的配例和词目总表比对;列出哪些已出条,统计出数量和分布情况等。比如:

拜 ……① 动 行礼表示敬意: 回~|叩~|对着遗像~了三拜。② 见面行礼表示祝贺: ~年|~寿。③ 动 拜访: 新搬来的那对夫妇~街坊来了。④ 用一定的礼节授予某种名位或官职: ~相|~将。⑤ 动 结成某种关系: ~师|~把子。⑥ 敬辞,用于人事往来: ~托|~领(收下赠品)|~读。⑦ ……名 姓。

13个配例中,已出条的有8个: 【拜把子】、【拜读】、【拜年】、【拜师】、【拜寿】、【拜托】、【回拜】、【叩拜】。未出条的5个当中有两个是句例,另外3个“拜领”“拜将”“拜相”似需考虑是否应当出条的问题。

(八) 在编辞书的单个配例或成组配例检查

综合利用上述技术,建立起辞书的配例库和重合配例库,配例与词目交叉关系数据库,在本地电脑或网络上提供检索。把这些静态的资源进一步进行多层次处理和标注,为动态修订或新编辞书服务。在编辞书的编写者在选配例证的过程中,可以检查正在编写的一个配例或一组配例是否使用过,在哪几部辞书中已出现;相似配例有哪些,出现在哪几部辞书中。这能够给编写者比较充分的避重参考,在很大程度上避免无意义的重合,提高配例的独特性。

三、 配例查重结果数据统计和分析

限于篇幅,本节主要针对单部辞书的查重结果进行统计和分析,以《现汉》第6版和另外一部辞书(以下用“辞书A”化名)为例。

首先,通过配例提取程序,我们从《现汉》第6版提取到75431个配例。75431个配例的长度从2字到57字不等,其长度[2]分布如表7所示。

  数据显示,2字和4字的配例占比半数以上,其中4字占比最多,达到近三分之一。2字配例(15044个)全部属于单字条目;3字配例(5150个)属于单字条目(2648个)和双字条目(2502个),基本各占一半;4字配例(25060个)分布在单字条目(5046个,占2014%)、双字条目(19730个,占78.73%)、三字条目(97个,占0.39%)和四字格嵌套条目(187个,占0.75%)中。最长的配例57字,“墨子在归途上,是走得较慢了,一则力乏,二则脚痛,三则干粮已经吃完,难免觉得肚子饿,四则事情已经办妥,不像来时的匆忙”,属于单字条目“则2”。

其次,通过查重系统,我们从《现汉》第6版提取到的75431个配例中,找到重合的配例(含重复例)有6760个。我们认为某个配例的第一次出现不算是重复,那么去掉重复(重合的例子为一组,从中选取首次出现的那个),去重后的配例是3264个。剩下的实际重复(再次出现)的配例应该是6760-3264=3496个。如果进行辞书配例的修订工作,应该重点看这3496个重复的配例设置是否合理。

重合的配例(6760个)字长范围从2字到19字不等,分布情况见表8。

  与全书总配例的情况类似,重合配例的长度也多集中于2字和4字,占到近九成。

最长的重合配例是19字的“人不犯我,我不犯人;人若犯我,我必犯人”,出现在“犯”和“若1”两个条目中。

考察2字重合配例,发现“做工”出现3次,“做”条目下有一个例子,“工1”条目下有两个“做工”的例子,分属于第2义項和第7义项。【做工】出了两个条目,分1和2。这个形式上的重合例子,不算重合。

工1 ……② 名 工作;生产劳动: 做~|上~|加~|勤~俭学|省料又省~。……⑦ (~儿)技术和技术修养: 唱~|做~。……

  从重合次数上做统计,重合达5次的有1个,达4次的有23个,达3次的有183个,达2次的有3057个,分别占比为: 0.08%、1.38%、8.24%、91.75%,见表9。例如,“对症下药”,重合五次,分布在“对、下、症、【对症】、【下药】”五个条目中,且“对症下药”出条;“雄赳赳,气昂昂”,重合四次,分布在“【昂昂】、【赳赳】、【气昂昂】、【雄赳赳】”四个条目中;“白手起家”重合三次,分布在“起、【白手】、【起家】”三个条目中,且“白手起家”出条;“乘风破浪”,重合两次,分布在“浪、【破浪】”两个条目中,且“乘风破浪”出条。辞书A中还有重合6次的配例“心灵手巧”,分布在单字“心”“灵”“手”“巧”和双字“【心灵】”“【手巧】”的6个条目中,且“心灵手巧”出条。

除了《现汉》第6版,我们还对辞书A也做了单部辞书内部配例的数量和分布情况统计。进而可以比较这两部辞书的统计数据。

对于一部辞书来说,关于配例方面的度量,我们定义了三项指标,分别是: 配例参配度、配例重合度、重合配例扩散度。

1. 配例参配度,等于辞书全部配例数除以辞书总词条数,即平均一条有几个配例。表示一部辞书拥有的配例在数量上的参与程度。数值越大,表明配例越多。

该数值会随着辞书的规模、目的、类型不同而有所不同[3]。一般来说,学习型词典的配例比内向型词典多,配例参配度数值就高。专科类、百科类辞书的配例比语文类辞书少,配例参配度就低。参配度的高低仅表示一部辞书表面配例数量的多少,不同辞书有不同的配例要求;具体到每一词条,适不适合配例,配例多少,配什么类型的用例等都需要具体分析;同时要考虑用例的质量,做到数量和质量的辩证平衡。

比如,《现汉》第6版收录词条共69464条,从这些词条中提取配例75431个。这部辞书的配例参配度是75431例除以69464条,等于1.0859个/条,即平均每条配置了1.0859个用例。

2. 配例重合度,是实际重复(再次出现)的配例数除以全部配例数,即平均一个配例重复了几次。如果无重合配例,那么配例重合度为零。如果有2个重合配例,那么配例重合度是1除以总配例数。

比如,《现汉》第6版全部配例75431个,其中,重合配例6760个,第一次出现不算作重复例(3264个),其余的3496个配例算是重复配例,那么配例重合度为3496例除以75431例,等于4.635%。

3. 重合配例扩散度,是重合的配例总数除以去重后(首次出现)的配例数,即在重合的配例中,平均一个配例重合几次。也就是说,一个重合的配例平均扩散到几个词条中去。

比如,《现汉》第6版重合配例6760个,其中,第一次出现不算作重复例(3264个),那么重合配例扩散度为6760例除以3264例,等于2.071。即平均一个重合的例子扩散到了2071个词条中。这个数值越大,表明配例重合次数就越多。

有了这三项指标的计算公式,我们来看《现汉》第6版和辞书A之间的统计数据,见表10。

根据公式,《现汉》第6版的配例参配度是每条有1.086个配例,配例重合度是4635%,重合配例扩散度是每个重合配例扩散到2.071条。辞书A收条73359条,提取配例81769个,重合配例(含重复)8205个,去重后(首次出现)配例3913个,剩余(再次出现)重复配例4292个。根据公式,辞书A的配例参配度是每条有1.115个配例,配例重合度是5.249%,重合配例扩散度是每个重合配例扩散到2.097条。

  在修订配例的过程中,重点把那些重合次数多且比较长的配例优先去除,替换成更好的配例。这三项指标在《现汉》的历次版本中也会有波动,第6版可以作为基准。如果辞书质量检查需要制定一个量化的指标来评定某类辞书的质量,那么,配例重合度这个指标很有可能被选中。

四、 软件研制过程中遇到的难点问题

第三节中每项精确到个位数的统计数字[4]的获得,都有赖于准确无误的辞书文本和灵活高效的软件的共同作用。在查重系统的研制过程中,我们不可避免地遇到了一些问题。比如,大字符集问题,标点符号问题,排版格式和辞书体例问题等。这些问题,有些是可以通过我们开发者编制更多、更快捷有效的自动处理程序来解决,有些则是个人能力之外的,比如涉及字符编码问题、跨系统操作引起的乱码等问题。

(一) 大字符集

做语言信息处理工作首先遇到的是生僻字的編码和显示问题,尤其是辞书的信息处理,字符量大且字形繁难。涉及的问题包括: 专业排版系统与OFFICE办公系统切换出现的乱码问题;不同操作系统下的显示问题;出版社自造字编码不统一,出现两字共一码、一字有两码等情况;造字码在不同版本的词典中编码不同的问题;常用字在排版系统中的编码问题,可能涉及偏旁部首字形规范。后者比如,常用字“挺”用造字编码“NB479”代替本字,带女字旁的系列字“好”“妈”等也都设了造字码代替本字。如果在单部辞书中提取后进行比对没有问题,但是如果在两部辞书之间进行比对,这些都会影响输出结果的准确性。我们的解决方法是能替换成现有操作系统字符集内的字尽量替换,不能替换的以原编码保留。

二十多年前,程荣(1997)就曾指出,“规范大字库问题及编辑排版问题”是词典工作的瓶颈,呼吁计算机界开发大字库和数据库编辑软件。如今,二十多年过去了,困扰词典编辑者的这两个问题虽有改进,但是依然没有得到完美的解决。

(二) 符号和排版格式

一个准确清楚的电子词典底本非常重要。词典文本中的标点符号、特殊符号、全半角符号、义项号、波浪号、配例分隔线等,这些都需要统一格式,往往要花费很多时间来处理。排版格式问题,比如辞书原文本中的页眉、页码、图表说明等,对后续的提取无用,也都需要做净化预处理。如果是跨图、跨栏、跨页形成的折行(带硬回车符的行),还需要把同属于一个词条的内容接合起来。在预处理的过程中,除了做上述处理,还需要人工校对文本的错误、去除无意义的空格(拼音中的空格有意义)等。计算机能够在很大程度上实现自动化,但校对工作离不开人的参与。

(三) 词典的体例

《现汉》有些带括注内容的配例,用查重软件能够提取出来,但是在比对阶段,软件一般比对不出来,因为底层是按字符串比对的。如: 配例“神采奕奕”,出自【奕奕】条,配例“神采奕奕(精神饱满的样子)”,出自【神采】条,但“神采奕奕”不被软件认为是重合配例。

配例分割线在《现汉》中使用单竖线“|”,比喻例前用菱形号“◇”标识,但在比喻例与其他例之间并没有单竖线。查重软件依据的是用“|”来分隔并逐个提取。这时,在软件运行之前,需要在比喻例标记——菱形号——之前添加单竖线,以方便软件统一提取。又如,词条释义中的引例或交待词语出处的语句,用冒号加引号(“:”)给出,这跟软件提取配例的规则在形式上相同,所以会造成提取“伪”配例的情况。这些“伪”例的清除需要后期人工干预。

计算机编程人员在软件开发前,需要跟词典编修者进行沟通,了解待处理辞书的体例,认真研读词典的文本,从中归纳出规则和例外,通过多轮“编程—测试—修改完善程序”后,才能得到精确的结果,满足辞书编纂人员的需要。

(四) 软件的研制

为了程序需要,有时需要添加一些符号,以形成统一的形式,方便程序按照一定的规则模式提取配例。比如,对《现汉》来说,从一个词条内容中提取配例的规则为: 提取从“:”到“。”的一段,以单竖线“|”为分隔符号,逐个提取配例,再以字头或词目替换波浪线“~”;继续查找符合规则的配例并提取,一直到最后一个字符。对整个辞书的文件,逐条循环上述操作,直至文件末尾。如上述提到的在比喻例标记“◇”前添加“|”。如果碰到词条含有多个冒号时,那么提取出来的配例明显多了字符,因为软件默认的是第一个冒号和后续的句号之间的部分。比如,“指黑眼珠;睐: 看): 深受读者青睐”,出自:“【青睐】……用正眼相看,指喜爱或重视(青: 指黑眼珠;睐: 看): 深受读者~。”实际的配例应该是“深受读者青睐”。但是,如果为了处理这种情况,程序需要加上额外的判定条件,就会影响软件的执行效率。所以,目前这一版软件没有特别处理这种情况,以保持简洁高效,待下一版更新时统一考虑。配例的多余字符,需要后续人工删除。

需要后处理的还有四字格嵌套结构,比如,配例“一…不…定一…不…易(易: 改变)”,出自:“【一…不…】……: ~定~易(易: 改变)|~去~返|~蹶~振。……”用词目替换波浪号“~”时,只是机械地逐个替换,替换后的结果不是正确的四字格“一定不易”,所以也需人工干预。

这些情况说明,虽然计算机自动化能解决大部分的问题,但是它的工作原理决定了在一些局部的细节问题上,仍需要人工来辅助处理解决。在如今的融媒体时代,应当尽快研究解决计算机辞书编修平台的瓶颈障碍,把依赖人工干预的工作量降低到最小,以真正实现辞书编修平台的计算机化。

五、 结语

我们开发的配例查重系统,能快速统计出单部辞书、两部辞书或者同一品牌辞书不同版本之间完全重合或近似重合的配例有多少、有哪些,可以避免人工比对重合配例费时费力的单调劳动,有助于辞书编纂者尽快完成配例部分的编写或审稿工作,节约宝贵的时间,提高编修的效率。利用配例查重系统,还可以考察一部辞书中哪些词例、语例已经出条,哪些未出条,比例各为多少,这些数据都可以明确提取并统计出来,供编者参考。

本软件还存在不足,理想中的查重软件是: 能够一条龙解决从输入文本到输出比对结果和分析,并进一步给出建议。目前的查重软件分为若干模块,相对比较独立。两种方式各有利弊。修改完善后的查重软件应可分可合,操作灵活。我们正深度参与辞书编纂的各项工作实务,积极探索辞书编写者无需学习编程知识就能在办公软件微软OFFICE或WPS環境之下轻松处理的方法。

今后本软件将通过多方面的试查实践,不断改进完善,进而提升为功能更加全面、灵活高效的配例查重软件系统,积累更加丰富而精细的辞书配例数据库,为辞书在配例上的编修进一步发挥计算机信息处理的功用。

附 注

[1]遍历,计算机术语,是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。通俗来讲,指按照一定的顺序逐个访问。

[2]配例长度,指配例含有字符的数量。在本文中,配例中的标点符号也算作字符,如逗号、菱形号、问号、感叹号、书名号、括号、引号等。

[3]章何(1985)考察了几部词典的例句数量,《俄语常用词词典》平均每个义项的例句为7.2个,《俄语教学词典》平均每个义项接近12个例句,《俄语词的搭配教学词典》平均每个义项不到2个例句,《现代俄罗斯文学语言词典》平均每个词目(不是词义)只有3.2个例证,德语《杜登大辞典》平均每个词目4个例证,提出词典的例证设置应该有一个数量标准。

[4]由于多种原因,仍有可能存在小的误差。

参考文献

1. 程荣.词典工作的科学化期待理想的计算机软件.辞书研究,1997(5).

2. 程荣.字·词·词典.上海: 上海辞书出版社,2001.

3. 江蓝生.《现代汉语词典》第6版概述.辞书研究,2013(2).

4. 吕叔湘.《现代汉语词典》编写细则(修订稿).∥中国社会科学院语言研究所词典编辑室编.《现代汉语词典》五十年.北京: 商务印书馆,2005.

5. 章何.谈教学词典例句的数量.辞书研究,1985(2).

6. 中国社会科学院语言研究所词典编辑室编.现代汉语词典(第6版).北京: 商务印书馆,2012.

(中国社会科学院语言研究所 北京 100732)

(责任编辑 马 沙)