谢海华,李奥林,李亚博,陈志优,程 静,吕肖庆,2,汤 帜,2
(1. 北大方正集团有限公司 数字出版技术国家重点实验室,北京 100871;2. 北京大学 王选计算机研究所,北京 100871)
中文错别字检测和纠正(Chinese spelling checking and correction, CSC)的目标是检测并纠正中文语句里的字词误用情况。与英文等拼音文字的拼写检查类似,CSC可以分为两个类别: 词错误(word error)纠正和非词错误(non-word error)纠正。词错误指的是两个正常词之间的误用,例如英文中的quantity和quality互相误用,中文里的“权力”和“权利”互相误用。非词错误指的是把一个正常词误写为一个非词(不在词典中的词),例如: 把quantity误写为quatity,把“进入”写成“进人”。
错别字通常发生在音近字(读音相近或相同的字)之间或者形近字(形状相似的字)之间。一般地,错别字纠正的方法分成两步。第一步是错别字的检测,即发现句子中的错别字并确定它们的位置。通常基于语言模型的原理来设计错别字检测算法。第二步是错别字纠正,通常基于一个大规模的混淆集(confusion set)来给出正确字的候选集,并评估每个候选正确字的概率,概率最高且大于一定阈值的候选字被认为是纠正的结果。评估候选正确字的概率的方法也主要基于语言模型的原理来设计[1]。
汉语的某些特征使得中文错别字纠正具有很大的难度。首先,汉语中有错误的词,但是没有错误的字,而很多错别字发生在单字词之间(例如: “在”和“再”)。单字词的用法种类很多,需要结合上下文语义才能判断它们是否误用。其次,由于中文的词之间没有分隔符,非词出现在句子中不一定是错误的,例如: “进人”在句子“化合物被注射进人体”中就没有错误。……