满文单词罗马转写智能算法设计
2018-02-05郑蕊蕊
付 玉,李 敏,王 帆,郑蕊蕊,许 爽
(大连民族大学 a.计算机科学与工程学院;b.信息与通信工程学院,辽宁 大连 116605)
罗马转写即非拉丁文字系统的文字符号转写成拉丁字母,现已被应用在阿拉伯语、日语、希伯来语等,针对不同语言提出了多种转写方案。满文的罗马转写分为两部分:满文向罗马字母转写和罗马字母向满文字母转写,这是两个互逆的过程[1]。本文主要讨论罗马字母向满文字母转写,并运用 Anakv转写方案,在 Keil5 软件开发平台上利用 C 语言编程设计满文单词罗马转写智能算法。当前所研究的满文是“圈点满文”或者“新满文”,相对于“无圈点满文”[2],其规范了词形,改进了拼写方法。满文是由6个元音音素以及27个辅音音素组成[3],但是不能完全被视为音素型文字,事实上是以音节为单位拼接组合构成的。满文字母形式复杂,不仅有元音、辅音之分,还根据字母所在单词的位置不同分为独立式、字头式、字中式、字尾式。由于满文不存在相应的标准字符集,在信息电子化和资源共享的大背景下,将其罗马化(转写)有一定的必要性。
1 满文与罗马字母的对应关系
满文字母根据规则,上下相连,成为连续一体的符号,形成满文单词。满文单词的拼写规则非常复杂,不同的字元在不同的位置有不同的表现形式,不同满文单词的长度会相差很多[4]。同一字体、同一字号的不同满文单词,它们的长度在不同条件下会出现差异,为正确识别满文带来了一定的困难。因此,满文的识别不能以词为单位,而应该以字元为单位进行识别。在识别前不仅要对满文进行行列切分,还要对满文单词进行切分,把一个满文单词切分成多个满文字母如图1[3]。
图1 满文单词及其切分字元
满文的独特之处在于同一个字母,出现在单词的开头、中间、结尾处时,写法往往不同。位于单词中间时,根据上面或下面的字母不同而不同。罗马转写与满文字母的对照如表1,由表1可知满文的字母根据其所在单词中位置的不同,书写分为独立式、字头式、字中式和字尾式四种(部分字母不足四种)书写方式,同时可知同一个字母在同一个位置会出现多种形式。因此在把满文字母转换为罗马转写的时候,首先考虑的是罗马字母表的字符同满文字母表的字符的对应关系[5],该对应关系已在表1中给出。作为转写字符,它与被转写字符之间的对应关系是一对一的,不能被替换。罗马字母向满文转写的过程(以罗马 g’ag’ai 为例)如图2。同一罗马字母对应的满文字母在不同的搭配条件下形式不同见表2。表2是以罗马字母 t 为例的满文字母搭配表,在不同的条件,不同的位置,满文字母的书写呈现出多样性。因此,为在罗马字母向满文字母转写时不出现紊乱,需对字母进行编码。
表1罗马转写与满文字母对照(部分)
图2 罗马转写(以g’ag’ai为例)
2 满文字母编码
2.1 规则编码
字符编码是一套法则,使用该法则能够将两个不同自然语言的字符的集合进行配对。满文是一种从左到右,从上到下竖写的拼音文字,并且在一个满文单词中各个字母连写。若将满文信息化处理,既不能像英文单词那样实现简单拼写,也不能像中文那样书写。这种特点给满文的编码带来了很大的难度,而信息处理的基础是建立一个适用的编码系统。对满文进行编码时,需考虑是否符合满文单词的特点,是否能够解决满文音形之间多对多的对应关系。本章介绍的满文字母编码,是按照字母加编号的形式进行,编号即对不同位置进行编号,见表3。编码之前,定字头式为1列、字中式为2列、闭音节字中式为3列、字尾式为4列,元音中的独立式为0列。对满文进行编码时,罗马转写与对应列数的组合即为满文字母的编号(如罗马转写a的独立式编码为a0),特殊情况下的满文字母编码特殊处理。
2.2 特殊情况处理
传统的形码编码和音码编码是针对规范字符给出的对应编码,不包括特殊情况下的变形形式。此编码方案考虑满文的各种特殊情况,主要解决一音多形、一形多音的矛盾问题,以便于满文的录入。处理字母特殊形式的编码时,根据特殊需要在同一音节下增加列或行,罗马转写与所在列数及其对应的增加的列数(或行数)的组合为其编号。以罗马转写e,i,k,d为例,特殊规则如下。
(1)罗马转写e的字尾式分为4种形式——规则字尾式、与b、p拼写,与t、d拼写,与 k、g、h 拼写。规则字尾式所在列为 4,即编号为e4;与b、p拼写为增加的第1列,即编号为e41;与 t、d 拼写为增加的第2列,即编号为e42;与k、g、h 拼写为增加的第3列,即编号为e43。
(2)罗马转写i的字中式分为4种形式——两个规则字中形、两个特殊字中形,所以其字中式有4列。当对应满文字母字中形位于辅音下时,其对应编号为i21;位于元音下时,其对应编号为 i22;当拼写为ts’i时,其对应编号为i23;当拼写为dzi时,其对应编号为i24。
(3)罗马转写k的4种音节都有两种搭配方式,所以在同一音节下需增加一行。如在字头式中,与a、o、v拼写时,其对应编号为k11;与e、i、u拼写时,其对应编号为k12。
(4)罗马转写 d 有 3 种搭配方式,所以需增加两行。如在字头式中,与 a、i、o 拼写时,其编号为d11;与e、u拼写时,其编号为 d12;与v拼写时,其编号为 d13。
此编码简单易行,编码的唯一性避免了满文字母使用时的混乱,保证罗马转写的准确。
表3满文字母编码表(部分)
3 罗马转写算法设计
3.1 设计原理
罗马转写尽可能采用单个字母表示主体文字的字母,单个字母不足以表示的主体文字则采用罗马字母额外附加其他符号或字母的方式表示[6]。罗马字母转写与主体文字是对应的,不能有二义性,并且应是双向可逆的。单一的满文字母对应的罗马转写并不唯一,最多有 4个转写字母组成;确定罗马转写之后,还需确定满文字母在单词中的位置,位置不同的满文字母,其写法也各不相同。递归法是整个算法的主体,在选取单词过程中要设置好对结束条件的判断和对获取的单词中控制字符的处理。由于满文字母和罗马字母并不是一一对应,一个满文字母最多对应着4个罗马字母,例如对应是的ts′i。在已知罗马字母串的情况下,直接根据罗马字母串中的字母无法判断其对应的满文字母,通过判断罗马字母串的组合形式和满文的对应关系,进行罗马字母到满文字母的转换。目前,罗马向满文转写的方案有许多种,只有 Anakv 转写方案可应用于罗马字母转换字母。Anakv 转写方案采用穆林德夫满文转写,字母ū在输入时请用v代替,š用x代替。特定字母写法为:k′,g′,h′,ts′,ts′i,dž,sy,cy,jy(ž输入时用z代替;输入′ 时用半角字符)。这一转写规则特定了非常规的字母,使转写简单易行。
3.2 算法设计
3.2.1 独立式与字头式
满文元音字母较为特殊,可独立成为一个满文单词。在程序运行时,若罗马首字母后为空,可判断输出字母为元音字母的独立式。而罗马转写长度大于1时,首先要判断罗马转写所对应满文字头式的音节,之后根据字母搭配选取其相应的满文字母形式。程序运行时遍历已编码的满文字母库(即索引表),当已给定的索引值在索引表中查出其相等的索引项,则调用并显示此字母。独立式与字头式罗马转写算法设计流程如图3。
图3 独立式与字头式算法流程图
3.2.2 字中式
满文字母字中式的罗马转写较为复杂,在数据处理时需遍历满文字母库中的每一个数据项,以防数据元素中的原子项被忽略而降低准确率。在建立的关于满文字母库数组中,利用主表和数组长度查找所需索引值和关键字,若查找失败,返回上一级。此方案考虑分析字中式的每一种情况,包括辨析元音和辅音、规则字中形和闭音节字中形,以及最难解决的罗马转写搭配情况不同对应的单个满文字母。字中式罗马转写算法设计流程如图4。
3.2.3 字尾式
满文字母中元音字母字尾式较复杂,需根据每个数据项搭配字母而定。一个元音字母的字尾式最多对应3种不同形式,因此在构建算法时需要考虑各个形式,以提高准确率。字尾式罗马转写算法设计流程如图5。
图4 字中式算法流程图
图5 字尾式算法流程图
3.3 测试结果
综合以上算法,以递归法为主编写完整的转写算法,实现准确的转写功能。此算法已被应用在嵌入式手写满文信息查询系统,经过随机抽取的单词量为500的文本测试[7],本算法的转换正确率为100%。满文单词的多种情况在上位机的测试结果如下:
3.3.1 独立式
满文单词的罗马转写为独立字母并且为元音字母时,输出为独立式如图6。
图6 独立式测试结果
3.3.2 罗马转写的不同搭配
(a)罗马转写d与a搭配
(b)罗马转写d与u搭配
3.3.3 罗马转写在不同位置
图8 罗马转写在不同位置对应不同满文的示例
4 结 语
本文提出的编码规则具有唯一性,解决了罗马转写过程中罗马字母与满文字母一音多形的问题,提高罗马转写的准确率。罗马转写算法吸取了现有转写方案的经验并结合满文单词特点,采用Anakv 转写方案特定非常规字母,创建简练、实用并且符合现代科学技术发展要求的满文罗马转
写标准。算法的应用将更有利于满文的信息化建设和国际交流与发展。
[1] 张广渊.满文矢量字库和罗马转写满文输入法的实现[J].东北大学学报(自然科学版),2013,24(11):1033-1036.
[2] 张广渊,李晶皎,张俐.满文罗马转写与圈点满文转换算法的实现[J].东北大学学报(自然科学版),2003(12):1157-1160.
[3] 张广渊.脱机手写满文单词识别研究[D].沈阳:东北大学,2006.
[4] 许爽,李敏,朱满琼,等.满文识别技术研究与分析[J].大连民族学院学报,2014,16(5):546-551.
[5] 赵骥,李晶皎,张广渊,等.脱机手写体满文文本识别系统的设计与实现[J].模式识别与人工智能,2006,19(6):801-805.
[6] 付勇,佟靖,贺智程.锡伯文满文拉丁转写方案比较分析[J].信息技术与标准化,2015(1-2):43-46.
[7] 朱满琼,李敏,许爽,等.图像背景下的满文单词提取[J].大连民族学院学报,2014,16(1):78-81.