APP下载

TSRM藏文拼写检查算法

2014-02-28李天瑞刘胜久

中文信息学报 2014年3期
关键词:藏文元音音节

珠 杰, 李天瑞,刘胜久

(1. 西南交通大学信息科学与技术学院,四川 成都 610031) (2. 西藏大学计算机科学系,西藏 拉萨 850000)

1 前言

拼写检查作为自然语言处理的研究内容之一。早在20世纪60年代,IBM Thomas J. Watson 研究中心在UNIX实现了一个TYPO英文拼写检查器[1];1971年,斯坦福大学的Ralph Gorin在DEC-10机上实现了Spell[2]英文拼写检查程序。目前英文的检查拼写错误主要采用N-gram 分析法和查词典法;纠正拼写错误主要采用误拼词典法、词形距离法、相似键法、骨架键法等[3]。

藏文作为拼音文字也存在拼写检查的问题。针对藏文音节,有如下几种拼写错误。

从目前的研究现状来看,藏文拼写检查和自动校对方法的研究文献很少,文献[4]中以线性化的藏文音节为研究对象,提出了利用3元模型的藏文音节校对方法,该模型丢失了藏文纵向拼写的特征,校对效果没有被实验验证;文献[5]中提出了藏文音节规则来校对藏文音节设想,但没有具体的模型,也没有相应的校对算法;文献[6-7]利用藏文音节规则模型,开始探索藏文音节的拼写检查问题。本文认为藏文文本校对需要从藏文音节的拼写检查、梵音转写藏文的校对、藏文词语校对、藏文接续关系检查、时态检查入手,因此首先需要解决拼写检查的问题。如何解决藏文音节的拼写检查,本文依据藏文音节规则模型,探讨藏文音节的拼写检查算法,并通过实验验证该拼写检查算法的有效性。

s论文余下章节结构如下:第2部分描述了藏文音节的结构及规则模型;第3部分提出了藏文音节识别算法和藏文音节拼写检查算法;第4部分通过2组实验验证算法的有效性;第5部分是结论与展望。

2 藏文音节规则模型

2.1 藏文音节结构

藏文音节结构以基字为核心,既有横向拼写又有纵向拼写。前加字、基字、后加字、再后加字是横向拼写;上加字、基字、下加字和元音是纵向拼写,具有十分复杂的音节结构。藏文音节中不包括梵音转写藏文,藏文音节的基本结构中共有7个位置。根据藏文的语法,各个位置上出现的字符其性质与数量均有一定的限制,相互之间形成一种约束关系。藏文音节的基本结构如图1所示。

图1 藏文音节的基本结构

2.2 藏文音节规则模型

藏文音节规则模型(TSRM)是为藏文音节拼写检查算法建立的,分3种不同的模型,分别为模型-1、模型-2、模型-3,如图2、3、4所示。模型-1是藏文音节的基本模型,模型-2是从模型-1过渡到模型-3的中间简化过程,模型-3才是为藏文音节拼写检查算法建立的简化模型。文献[8]介绍了模型建立和简化的详细过程,下面简要描述模型的建立和简化的过程。

藏文音节规则模型-1是根据藏文的音节结构建立的一个模型,该模型中以基字为核心,在元音和后加字的作用下构成一个音节,分别用1、2、3、4、5、6、7表示前加字、上加字、基字、下加字、元音、后加字和再后加字在音节中的位置。在实际写法中除了构造位3不能空之外,其余位置均可以为空。当一个字符构成音节时,该音节隐含了元音“”和后加字“”的成分。

定义1构造位是指藏文字符或在字符串在模型中的特定位置。

图2 藏文音节模型⁃1图3 藏文音节模型⁃2图4 藏文音节模型⁃3

模型-2是对模型-1的简化,是一个过渡的模型。根据藏文音节的上加字+基字、基字+下加字、上加字+基字+下加字的组合关系,模型-1中的构造位2、3、4合并到模型-2的构造位2上,成为基字的一部分,并称之为扩展基字;模型-1的构造位7,即再后加字归并到后加字集合中,成为模型-2的构造位4,简化后的模型-2如图2所示。这样,模型-2中的构造位1是前加位、2是扩展基字位、3是元音位、4是后缀位。模型-2中构造位1和3的元素与模型-1中的构造位1和5的元素相同,构造位2的扩展基字集合为:

构造位4的后缀集合为:

定义2后缀是指模型-2、模型-3中的构造位4和3的元素。

模型-3是根据藏文字性组织理论进一步简化模型-2的结果。藏语语音理论体系中,藏语分为元音和辅音,并对每一个部分进行了细化。对于30个辅音字母进行了字性分类,分为阳性、中性和阴性3种,其中阴性又包括准阴性、极阴性和纯阴性3种,共计是5种分类。辅音字母中提取出来的前加字、后加字也进行了上述5种分类。根据藏文前加字、基字的语音强弱关系来决定前加字与基字之间的组合关系。组合关系为阳性与阳性、阳性与阴性组合;阴性与阴性、阴性与中性组合;中性与阳性、中性与阴性组合;中性与阳性、中性与阴性组合;极阴性与中性、极阴性与阴性、极阴性与极阴性组合。在模型-2的基础上,通过前加字与扩展基字的语音组合关系进行进一步简化,变成模型-3,如图4所示。模型-3的构造位1为前缀位,2为元音位,3为后缀位。

定义3前缀是指模型-3中构造位1中的元素。按照该模型,一个符合文法的藏文音节转化成了前缀+元音+后缀的形式,其中一些音节可能没有元音和后缀。

构造位2和3的元素与模型-2的构造位3和4的元素相同,构造位1的前缀集合(规则集合)为:

从如上描述中可以看出模型-3是模型-2的简化,模型-2是模型-1的简化。文本通过模型-3来设计拼写检查算法。

3 拼写检查算法

本文讨论的藏文拼写检查算法中,以现代藏文音节为研究对象,利用藏文音节规则模型中的模型-3讨论拼写检查的问题,包括藏文音节识别算法和拼写检查算法。

3.1 音节识别算法

藏文音节作为拼写检查的研究对象,正确识别藏文音节至关重要。一般的藏文文本中,藏文音节的分割不仅仅依赖于藏文音节点,还有藏文数字、藏文符号、其他语言的符号、字符都可能成为藏文音节分割点,它们在文本中一般起到音节点的“代言人”作用。而这种语言现象无疑导致了藏文音节识别的难度。因此,在藏文音节识别算法的循环中,判断是否为藏文音节点、藏文数字、藏文符号或其他语言的字符,如果是则该位置是藏文音节的分割处,否则读取下一个字符。另外,算法中还要判断藏文音节的长度是否大于7,如果大于7说明不是一个规则的藏文音节。经过处理的输出结果为一个标准的藏文音节,藏文音节识别算法如图5所示。

图5 藏文音节识别算法

3.2 拼写检查算法

识别出来的音节是否为一个正确的藏文音节,需要拼写检查算法来完成拼写检查任务。根据模型-3,本文提出的拼写检查算法的总体想法是:把藏文音节拆成三个部分,即前缀部分、元音或音节点部分、后缀部分。一个音节的拼写检查以元音为分界线,先检查模型-3中构造位1的元素,即前缀部分与Trule集合中的元素进行匹配;再检查构造位2的元素,即元音;然后检查构造位3的元素,即后缀部分与Tpostfix集合中的元素匹配,具体算法如图6所示。

图6 拼写检查算法

算法实现过程举例如下。

4 实验

在测试中进行了2组实验,实验1为初步测试。初步测试中算法1和2对6种不同的生语料进行了拼写检查测试。由于测试语料中除了藏文符号、数字外,各种语言的符号、数字混排情况严重,算法1的音节识别上,如果缺少这些符号、数字因素的考虑,就会产生许多错误标记。实验2为算法改进测试,音节识别算法中考虑了语料中包含的特殊字符、空格、数字字符等内容,以便能够正确识别出藏文音节,在此基础上进行算法2的拼写检查。

4.1 测试语料

测试语料是从网上选择6种不同大小、不同内容的藏文文本,采用的编码为国际标准ISO/IEC10646。其中,67KB的语料1是一篇研究西藏苯教的文章;55KB的语料2是一篇介绍五位修行者的文章;43KB的语料3是一篇介绍苯教在安多、康区传播历史的研究文章;41KB的语料4是一篇介绍西藏旅游产业与西藏经济发展关系的文章;40KB的语料5是一篇介绍西藏旅游的文章;23KB的语料是一篇介绍西藏2009年上半年经济发展状况的文章。

4.2 评测标准

在藏文拼写检查测试中,一般采用召回率、正确率、F值来评测拼写检查算法的性能,具体公式如式(1)所示。

其中r为召回率;find为预校对文本中正确识别的错误音节数,error为预校对文本中实际存在的错误音节数,参数0.01为平滑系数。

其中a为正确率,find为预校对文本中正确识别的错误音节数,accurate预校对文本中正确的音节判错的个数。

其中F为调和平均值。

4.3 初步测试

表1 藏文音节错误标记统计表

针对音节字符串中含有空格、藏文符号、藏文数字、其他语言符号的音节点“代言人”而造成的拼写错误问题(错误类型1、2、3),在算法1的实现中需要消除符号、数字等各种因素的干扰。在实验数据中可以看到,这种干扰造成的音节判断失误问题成为主要因素。因此,算法1的循环判断条件中添加了藏文符号、藏文数字、数字、转义符、其他符号的考虑因素,其中编码为“0020”、“3000”是两种空格,具体如表2所示。

表2 数字、符号和特殊后缀表

针对含有梵音转写藏文而造成的错误问题(错误类型4),由于梵音转写藏文的拼写规则与藏文传统文法的规则是截然不同,因此,无法用算法2来判断其拼写的正确性。

4.4 改进测试

在算法1和算法2中增加条件之后,再次对语料1至6进行了测试,具体测试结果数据如表3所示,错误分类与表1相同。

根据评测标准,召回率、正确率和F值结果如表4所示。

表3 藏文音节错误标记统计表

表4 召回率、正确率和F值

表5 误判的藏文音节表

从召回率来看,除了31个音节不能判断拼写的正确性外,可以检测其余藏文音节拼写的正确性。从正确率来看,拼写检查算法对梵音转写藏文的拼写检查是无能为力的。因此, 在正确识别藏文音节的前提下,不考虑梵音转写藏文时拼写检错能力达到99.8%(31/18780[8])。

5 结论与展望

根据藏文文本校对研究欠缺的现状,文本提出了基于藏文音节规则模型的藏文拼写检查算法,包括音节识别算法(算法1)和拼写检查算法(算法2)。算法1主要完成音节识别功能,算法2主要完成拼写检查功能。通过实验可以看到,音节识别的好坏直接影响拼写检查的效果,在正确识别藏文音节的前提下,不考虑梵音转写藏文时,藏文音节拼写检错率能达到99.8%。下一步的工作是在藏文音节拼写检查的基础上,研究藏文接续关系的检查、藏文动词时态的检查、拼写校正、文本校对等的内容,为藏文文本校对应用领域提供理论基础和方法支持。

[1] Kukich K. Techniques for Automatically Correcting Words in Text[J]. ACM Computing Surveys, 1992, 24(4): 377-438.

[2] James L P. Computer Programs for Detecting and Correcting Spelling Errors[J]. Communication of the ACM, 1980, (12): 676-687.

[3] Joseph J P. Automatic Spelling Correction in Scientific and Scholarly Text[J]. Communication of the ACM, 1984, (4): 358-368.

[4] 多杰卓玛. N元模型在藏文文本局部查错中的应用研究[J]. 计算机工程与科学, 2009, 31(4): 117-119.

[5] 刘文香. 藏文文本词校对模型研究[J]. 西藏大学学报(自然科学版), 2009, 24(2): 70-74.

[6] 安见才让. 基于分段的藏字校对算法研究[J]. 中文信息学报, 2013, 27(2): 58-64.

[7] 珠杰,欧珠,格桑多吉等. 藏文音节规则库的建立与应用分析[J]. 中文信息学报, 2013, 27(2): 103-111.

[8] 珠杰,李天瑞,格桑多吉等. 藏文音节规则模型及应用[J]. 北京大学学报(自然科学版), 2013, 49(1): 68-74.

猜你喜欢

藏文元音音节
元音字母和元音字母组合的拼读规则
敦煌本藏文算书九九表再探
r(re)音节单词的拼读规则
元音字母和元音字母组合的拼读规则
西藏大批珍贵藏文古籍实现“云阅读”
拼拼 读读 写写
黑水城和额济纳出土藏文文献简介
基于条件随机场的藏文人名识别研究
看音节说句子
Playing with “ar”