计算机与图像技术Computer&MultimediaTechnology电子技术与软件工程ElectronicTechnology&SoftwareEngineering143模式(字符串)匹配(stringmatching)也叫做字串定位操作[1],要求在给定文本串中寻找某个特定模式串出现的位置,是计算机科学领域的经典问题之一。如何在数以万计的文本中快速查找指定字符串在人工智能、机器学习、深度学习等领域变得越来越重要[2]。根据模式串的数量的多少,模式串匹配可分为单模式匹配和多模式匹配两类,经典的单模式匹配算法有简单直观的BF算法、可有效避免回溯问题的KMP算法[3]、利用后缀匹配的BM算法[4]、以及BM算法的改进算法Horspool算法[5]和Sunday算法[6]等,经典的多模式匹配算法有基于自动机的AC算法、基于特征串的WM算法[7]、基于多级哈希思想和动态切割策略的MDH算法[8]、基于Oracle数据结构的BOM算法[9]以及将BM算法和AC算法结合起来的AC-BM算法[10]等。AC算法是KMP算法在多模式情形下的推广,目前,各种AC算法的变体在实际当中被广泛采用[11]。AC算法通过为模式集构造一个确定性有限状态自动机(DFA),然后将文本串中的字符依次输入到自动机中进行状态转移,来实现多模式匹配。然而,经典的AC算法是针对ASCII字符集[12]设计的,若将该算法直接应用于藏文,则匹配效率较低。为此,本文改进了经典的AC算法提出了适用于藏文的多模式匹配算法——TAC算法,该算法充分利用藏文特点,克服了现有算法应用于藏文匹配速度慢的问题,具有匹配次数少、运行速度快的优点。1藏文结构分析藏文目前还是藏族群众主要的交流书写工具,其发展有千年的历史,规定藏文文法传统上所指的是藏文30字母,即为吐弥.采布扎撰写的《藏文文法三十颂及字性组织法》指定的字符[13],这30个字符内涵意义与西方音素文字并不完全一样,30字符不包括元音字符[14]。每一个独立成字的藏文辅音字符蕴含了元音要素,所以其具有独立使用的性质,即音节的特性。音节点是书面藏语中音节字与音节字、音节字与标点符号之间的分隔符称为音节点或称为分音点[15]。音节点的形式是“·”(国标编码是:0F0C),属于藏文自创符号,可用于所有的藏文文本,也可以理解为每个藏语词都由音节点结尾、分隔。常用的藏文由三十个辅音字母,四个元音符号,五个反写字母和五个并体字母组成[16]。一般来说,辅音字母每四个为一组,总共七组半,以发音部位分组为序。藏文字的拼写顺序是前加字、上加字、基字、下加字、元音字符、后加字、再后加字(如图1)。因为藏...