发明内容
本发明的目的在于提出一种基于蒙古文的字母变形特征生成蒙古文的词的字形的方法,以解决目前对蒙古文文字处理存在的技术难题。
为解决本发明的技术问题,本发明公开一种基于蒙古文的字母变形特征生成蒙古文的词的字形的方法,包括下列步骤:
输入蒙古文词的字符串S{S1、S2、...、Sn},其长度为n;
将字符串S分解为w个可见字符对象数组K{K1、K2、...、Kw},其中w≤n;
标注每一个可见字符对象Ki[1,2,...,w]的特征信息;
根据特征信息,从预先建立的可见字符变形表查询获得每一个可见字符对象Ki[1,2,...,w]的字形Gi[1,2,...,w],得到字形数组G{G1、G2、...、Gw};
基于变形特征信息,依据Ki和Ki+1组合对其字形Gi和Gi+1进行处理,得到字形数组G’{G’1、G’2、...、G’w’}并输出,其中w’≤w。
其中:
所述字符串S包括字母、标点符号和字形控制字符。
所述字形控制字符包括元音间隔符、自由变体选择符、窄宽度无间断空格、零宽连接符和零宽禁连接符。
所述可见字符对象由可见字符和影响其变形的字形控制字符的信息构成。
所述可见字符包括字母、标点符号、元音间隔符和窄宽度无间断空格,所述影响字母、标点符号变形的字形控制字符包括元音间隔符、自由变体选择符、窄宽度无间断空格、零宽连接符和零宽禁连接符。
所述可见字符对象的变形特征信息包括:为独立、词首、词中或词尾的词内位置特征信息;为元音、辅音以及元音的阳性、阴性或中性的特征信息;为节首、节干或节尾的蒙古文书面语音节构成特征信息。
另外,所述可见字符对象的变形特征信息还包括音节的词内位置特征信息;其中,所述音节的词内位置特征信息根据音节构成和字母的词内位置信息计算获得。
若查询可见字符变形表找不到与可见字符对象的字形控制字符信息匹配的字形Gi,则忽略其字形控制字符信息。
与现有技术相比,本发明具有如下有益效果:
本发明是一个重要的蒙古文信息处理基础技术,其填补了蒙古文词的字形生成技术的空白。本发明为蒙古文的输入输出、自动校对、自动转写、复杂文本处理等关键系统提供蒙古文词的字形生成引擎,能够促进这些系统的研究开发和推广应用。本发明通过借助计算机程序,基于蒙古文的字母变形特征对输入的蒙古文词的字符串进行统一的字形生成处理,不仅可以提高蒙古文词的字形信息处理效率,更可以简化文字处理系统结构和处理流程,有利于各种信息处理系统的对接和整合,为广泛推广使用提供了前提条件。
具体实施方式
为了便于理解和描述本发明的技术方案,先对蒙古文的特征作适当的阐述。
蒙古文是一种黏着书写的拼音文字。一个蒙古文的词由一个或多个蒙古文字母组成,而词的字形由其一个或多个蒙古文字母的字形黏着在一起构成。蒙古文编码系统定义了些字形控制字符,其中、元音间隔符和窄宽度无间断空格等不仅有字形控制信息,本身也是个可见字符。且在蒙古文编码系统中,标点符号也有变形。
蒙古文字母有着丰富的字形变化。蒙古文字母在不同词内位置有不同的字形,在不同词内位置的音节有不同的字形,在不同的音节构成有不同的字形,不同类型的字母组合有不同的字形,少数几个辅音字母的字形受词的阴阳性影响等。由于蒙古文的传统写法等原因导致了部分字母在相同条件下存在多个字形,需要进一步变形。
这些特点导致蒙古文的输入、输出、处理变得非常复杂,造成了很高的技术难度。
蒙古文字母的分类特征有辅音和元音两个特征值,并分别用c、v表示。元音字母的阴阳特征有阳性、阴性、中性三个特征值,并分别用q、h、s表示。蒙古文字母词内位置特征有独立、词首、词中和词尾四个特征值,并分别用b、e、d、a表示。其中,独立是指其前后均没有蒙古文字母或可连接字符;词首是指只在其后有蒙古文字母或可连接字符;词中是指其前后均有蒙古文字母或可连接字符;词尾是指只在其前有蒙古文字母或可连接字符。
蒙古文书面语音节都是以元音字母为中心构成的,称之为“节干”,在这个元音字母之前可以出现一个辅音字母构成“节首”,而元音字母之后可以出现一个或多个字母构成“节尾”,这就是蒙古文书面语音节结构。蒙古文字母的音节构成特征有节首、节干和节尾三个值,并分别用C、V、T表示,也简称为CVT结构特征。蒙古文书面语音节也是个重要的词内数据对象,即蒙古文书面语音节也有独立、词首、词中和词尾四个特征值,分别用B、E、D、A表示。如果一个音节是由一个字母构成,则其词内位置特征与字母的词内位置相同;如果一个音节由多个字母构成,则其词内位置特征取决于第一个字母和最后一个字母的词内位置特征,即,词首[e]和词尾[a]构成独立音节[B]、词首[e]和词中[d]构成词首音节[E]、词中[d]和词中[d]构成词中音节[D]、词中[d]和词尾[a]构成词尾音节[A]。
在蒙古文书面语音节的CVT结构中,蒙古文字母字形变化主要集中在节首节干的组合上,因此我们把这个组合简称为“CV”。其中,节首为节干的前缀字母,而节干为节首的后缀字母。而节尾中字母的字形变化相对简单,但其字母构成相对复杂。如图1所示,例如,序号为01的例词由一个元音字母
构成,其构成的音节结构只能为节干[V],且该音节的词内位置特征可以是独立音节[B]或词首音节[E];又如,序号为02的例词
由2个元音字母构成,第一个字母为节干[V],第二个字母为节尾[T],且该音节的词内位置特征可以是独立音节[B]或词首音节[E];再如,序号为07的例词
其由一个元音字母前出现一个辅音字母构成,辅音字母为节首[C],元音字母为节干[V],且该音节的词内位置特征可以是独立音节[B]、词首音节[E]、词中音节[D]或词尾音节[A];以此为例,不再一一描述图1中列出的各个词的组成特征。
另外,蒙古文在漫长的发展演变过程中形成了自己独特的文字学理论和书写习惯,基于这些理论和习惯可以归纳出可计算的蒙古文字母变形特征,而且其结构清晰、形式化程度高,各个字母的变形框架一致。各类蒙古语文的语法、正字法和编码相关图书都对蒙古文字母基于蒙古文字母变形特征的变形都有详尽描述。下面,结合图2至图5中给出的部分蒙古文字母的变形表介绍“可见字符变形表”的结构。
图2给出了元音字母
的变形表,即所有字形与蒙古文字母字形变形特征之间的关系。其中,“字母”栏位下“位置”表示字母
的字母词内位置特征;而“音节”栏位下“位置”表示字母
的音节词内位置特征;而“CVT”表示表示字母
的音节构成特征,元音字母可以构成节干[V]或节尾[T],但不可以构成节首[C];“编号”表示字母的字形编号;“前缀”表示出现在元音字母
前面的影响其变形的蒙古文字母或类型;“前缀”中的“圆头字”是一个蒙古文字母类型,包括蒙古文字母
等;“例词”是对字形的应用举例描述。
同样,图3给出了蒙古文辅音字母
的变形表,即所有字形与蒙古文字母字形变形特征之间的关系;图4给出了蒙古文辅音字母
的变形表,即所有字形与蒙古文字母字形变形特征之间的关系;图5给出了蒙古文辅音字母
的变形表,即所有字形与蒙古文字母字形与变形特征之间的关系。
本发明根据蒙古文字母变形特征为每一个字母和有变形的标点符号的建立可见字符变形表,该表涵盖各个蒙古文字母变形特征值和影响其变形的“前缀”或“后缀”字母或类型。
如图6所示,本发明是一种涉及计算机程序的技术方案,其利用蒙古文字母变形特征生成蒙古文词的字形的实现步骤如下:
步骤S101:加载蒙古文词的字形生成程序P。
步骤S102:调用程序P并输入蒙古文词W的字符串S{S1、S2、...、Sn},其长度为n。
蒙古文词W的字符串S可以包含蒙古文编码系统的元音间隔符(MVS)、自由变体选择符(FVS)、窄宽度无间断空格(NNBSP)、零宽连接符(ZWJ)和零宽禁连接符(ZWNJ)等蒙古文字母字形控制字符。
步骤S103:由程序P将蒙古文词W的字符串S分解为w个可见字符对象数组K{K1、K2、...、Kw},其中w≤n。
比如图7的“实例二”所示,可见字符对象由可见字符和影响其变形的字形控制字符信息构成。在蒙古文编码系统中,字母、标点符号、MVS、NNBSP等都是可见字符,而蒙古文字母之后出现的自由变体选择符是不可见字符。其中,MVS对其前后两个字母有字形控制作用。在图7中“+m”代表字母之后有MVS,“m+”代表字母之后有MVS。而NNBSP对其之后的所有词内字母有控制字形作用。
步骤S104:程序P标注每一个可见字符对象Ki[1,2,...,w]的如下变形特征:为独立、词首、词中或词尾的词内位置特征;为元音、辅音以及元音的阳性、阴性或中性的特征;为节首、节干或节尾的蒙古文书面语音节构成特征。
如图7所示,每一个可见字符的变形特征属性值包含词内位置、元音辅音、阴阳性、音节的CVT构成和音节的词内位置等特征值。其中,可以不包含音节的词内位置特征值,因为音节的词内位置特征值可以利用音节构成和字符的词内位置信息计算出来。
步骤S105:程序P依据蒙古文字母变形特征,从预先建立的字母变形表查询获得每一个可见字符对象Ki[1,2,...,w]对应的字形Gi[1,2,...,w],得到字形数组G{G1、G2、...、Gw}。
如图7的实例所示,经过步骤D之后,程序P将依据所标注的蒙古文字母变形特征信息查询可见字符变形表(如图2、图3、图4和图5所示)取得每一个Ki对应的字形Gi。例如:图7的“实例二”中,给出几个查表说明。在查表过程中,如果找不到与蒙古文字母变形特征中的字形控制字符信息匹配的字形则忽略其字形控制字符信息。
步骤S106:程序P基于特征信息依次对Ki和K i+1组合的字形Gi和Gi+1进行进一步处理,得到字形数组G’{G’1、G’2、...、G’w’},其中w’≤w。
如图7的“实例三”所示,部分字母的字形依据其前后字母信息进一步变形。可以看见,步骤E中的G3在步骤F中变形为G’3,即元音字母A的A06字形“在圆头字之后加齿黏着书写”。在蒙古文编码系统中的“强制合体字”概念是指两个字母共同构成一个字形,如果字体的技术处理上采用这个概念则导致w’<w的现象。
步骤S107:程序P将蒙古文词W的字形串G’{G’1、G’2、...、G’w’}输出给其他蒙古文处理系统进行应用。
综上,本发明是一个重要的蒙古文信息处理基础技术,其填补了蒙古文词的字形生成技术的空白。本发明为蒙古文的输入输出、自动校对、自动转写、复杂文本处理等关键系统提供蒙古文词的字形生成引擎,能够促进这些系统的研究开发和推广应用。