基于藏文音节特征的模式匹配算法的研究

时间:2022-09-29 10:20:52

基于藏文音节特征的模式匹配算法的研究

摘 要:近年来针对网络中藏文舆情等的研究已在相关研究机构进行。模式匹配问题是计算机科学中的一个基本问题在藏文舆情、网络入侵检测等应用中起着重要的作用。其研究内容在上述众多领域均有重要价值。针对藏文字本身特性的字符匹配算法在相关文献并没有给出相应的解决办法,而是直接采用了中文或英文的模式匹配算法作为研究的基础。在此认为给出一个合理有效的藏文字符串的模式匹配算法,能非常有效的提高藏文字符的匹配效率。

关键词:模式匹配;藏文音节;BM算法

中图分类号:TP393.08

藏文网络舆情是当前必须关注的舆论涌现与信息传播现象。近几年藏文网络舆情的数量呈现递增的增长趋势,网络信息的传播途径也呈现出多样化和复杂化。由于藏文网络的这些显著的特点,藏文信息处理相对滞后于英文和中文等,短时间内迅速的获取大量信息则不容易。另,目前藏文网站大量的涌现,网页数量巨大,处理起来速度相对慢,以往藏文网络舆情页面的统计都是基于手工统计实现的,效率低,很难对网络舆情的变化做出快速响应。模式匹配技术是内容过滤的核心技术,是计算机信息技术领域研究的基础问题之一,研究敏感词作为模式串的藏文模式匹配算法具有重要的研究意义。

BM算法是Boyer和Moore提出的一种字符串快速匹配算法。其基本思想是从右向左的把模式字符串同文本做比较。开始时仍是P的最左边与T的最左边对齐,当在某一趟比较中出现不匹配时,计算模式串右移的距离,把模式串向右移动该距离,再进行从右至左的匹配,同时应用到了两种启发式规则,即坏字符规则和好后缀规则,来决定向右跳跃的距离。

1 BM算法在藏文中的改进

藏文字符匹配中应用BM算法时,必须结合藏文文字特征,对BM算法进行改进以符合藏文的特点,提高匹配效率。

1.1 藏文文字结构及编码特点

藏文是由多个基本字符通过纵向叠加组成的字符串,构成一个完整藏文词素的基本单位是由藏文中的“音节分割符tsheg bar”来确定。一个或多个音节构成一个藏文词。音节,则是由音节分割符(音节点)或者其他藏文标点符号来划分的。一个音节中基字符是不能被省略的,其余相关构件都可以减少掉一个或几个这样仍然可以成一个音节(藏字)。七个构件中辅音字母在各部位依据藏文语法要求都有一定限制并不是所有的辅音字母都能够做前加字或者后加字等。

藏文在计算机中进行编码时一个音节需要用多个编码来表示,长度是不定的,这使得藏文在信息系统中的实现非常的麻烦。

(1)国内的几种藏文处理系统将藏文作为整字给予编码。将藏文垂直组合的部分作为一个处理单元编码(预先进行垂直组合,称为垂直预组合,垂直预组合后的字符称为藏文字丁),比如北大方正的报刊排版系统、华光藏文排版和同元藏文处理系统、激光照排系统等,这几个系统都有各自的编码方案这类编码采用双字节进行编码。这样,具有完整构件组合的藏字(即一个音节最多由4个字丁组成)。因此,国内的这几种编码方式一个音节就最多有4个编码。国家标准的扩A和扩B编码方案采用的是也是整字编码方案。

(2)国外的几种藏文编码方式也是采用整字编码方案,但是将带元音的字丁与元音分离后分别进行了编码。一个藏文音节最多就由5个字丁组成,即一个藏文音节由5个编码组成。

(3)ISO/IEC 10646藏文基本集是国际标准的编码方案,它完全将藏文视做拼音文字,字丁则是通过字母的动态组合实现的。即将一个藏文音节拆分成不同构件的独立的部分,对每一个构件都单独进行编码。采用国际标准后一个藏文音节最多由7个编码组成。基于不同编码的方式使得一个音节的编码个数不同,即使具有相同编码个数的同一种编码方案,由于编码范围不同编码值也将不一致。1997年,我国的藏文基本字符集被收入了国际标准ISO/IEC 10646《信息技术通用多八位编码字符集》。藏文编码标准得到了统一。故本匹配算法以小字符集国际编码标准(ISO/IEC 10646)编码进行讨论。

依据藏文采用小字符集编码中音节字的特点:

(1)具有完整构件的音节具有7个编码且每个编码都是两个字节,则对一个藏文音节字的表示则最多需要14个字节,最少也需要两个字节。匹配过程中只有在一个音节的所有字节都相等的情况下,一个藏文音节才匹配成功。

(2)藏文音节与音节之间由音节点分割,在小字符集中该音节点为0X0F0B。

1.2 基于藏字特征改进的BM算法

改进后的BM模式匹配算法的具体思路:

(1)用模式串P的尾字符与文本串T进行比较,结果失配,且文本串字符不为音节点,则模式串P右移到下一个出现的音节点处在新的位置继续比较。

(2)用模式串P的尾字符与文本串T进行比较,结果匹配,再把模式串第一个字符与文本串T比较,结果匹配。则将模式串与文本串T由右向左依次比较。当所有字符都能匹配上时,则找到字符串返回查找结果并结束;如果模式串第一个字符与文本串T比较,结果不匹配,则:

求move(o)=First(OT)-First(OP),将模式串移动move(o)个字符。

其中First(OT):表示文本串T出现的第一个音节点;First(OP):表示模式串P出现的第一个音节点。move(o):距离差值;

(3)用模式串P的尾字符与文本串T进行比较,结果匹配,再把模式串第一个字符与文本串T比较,结果匹配。则将模式串与文本串T由右向左依次比较。如果在模式串P的某一字符x失配,则转4;

(4)如果失配的字符x在模式P中没有出现,则:

求:First(x):从x起始的字符到第一个出现的音节点的距离。那么从字符x开始的m(模式串的长度)+First(x)个文本显然不可能与P匹配成功,直接全部跳过该区域即可,则模式串移位m+First(x)个位置;

(5)如果失配的字符x在模式P中出现,则:以该字符进行对齐。设move(x)为P右移的距离,m为模式串P的长度,max(x)为字符x在P中最右位置。作模式串移位:[m-max(x)]+First(x)。

通过上对面算法的分析,我们可以看出,改进后的BM算法可以减少比较的次数,提高匹配的速度。

2 结束语

越来越多的藏文出版作品在以数字化方式存储,网络上的藏文资料也日益增多,改进针对西文以及中文的搜索算法,寻找适合藏文文字特点的字符查找算法是值得研究的。改进的BM模式匹配算法就是利用藏文字符构字特征以及编码特点,改变了BM算法的比对方式,从而提高匹配的效率。

参考文献:

[1]江涛,于洪志.基于藏文文本的网络舆情监控系统研究[A].全国计算机安全学术交流会论文集[C],2006.

[2]闵联营,赵婷婷.BM算法的研究与改进[J].武汉理工大学学报,2006(03):528-530.

[3]殷丽华,张冬艳,方滨兴.面向入侵检测的单模式匹配算法性能分析[J].计算机工程与应用,2004(24):46-47.

[4]扎西加,珠杰.面向信息处理的藏文分词规范研究[J].中文信息学报,2009(04):113-117.

[5]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1999.

作者简介:春燕(1977-),女,藏族,讲师,硕士研究生,主要研究方向:藏文信息处理、数据挖掘。

作者单位:大学藏文信息技术研究中心,拉萨 850012

基金项目:大学青年科研培育基金项目(项目编号:ZDPJZK201404);国家自然基金项目(项目编号:61163043)资助。

上一篇:程序代码相似度评判系统的设计与实现 下一篇:牙周炎的发病机制及其治疗的研究进展