用于信息输入与检索的随机缺省子串模式匹配判定及定位方法

文档序号:6336231阅读:160来源:国知局
专利名称:用于信息输入与检索的随机缺省子串模式匹配判定及定位方法
技术领域
本发明涉及一种用于信息输入与检索的字符串模式匹配方法。
背景技术
现有信息输入与检索领域需要用子串对文本进行匹配判定与匹配定位的计算处理。如在检索领域需要将输入的检索词作为子串对数据库、网页等存储文本进行匹配检索,如果检索词为存储文本的子串,则存储文本作为检索到的文本输出,否则输出放弃该文本,如果存储的所有文本均与检索词不匹配,则检索不到任何文本。在信息输入领域则将键盘等输入设备上输入的字符串作为模式子串对计算机等信息处理设备存储的文本库中的文本进行匹配,若模式子串与文本匹配则选中该文本,进行后续处理。由此可见子串的模式匹配算法的速度、查全率等功能,对于信息输入与检索至关重要。
现有信息输入与检索领域的子串定义为在字符集∑上,给定一个长度为n的文本字符串S=“S1S2……Sn”,以及一个长度为m的模式字符串P=“P1P2……Pm”;如果对于1≤i≤n,存在“SiSi+1……Si+m-1”=“P1P2……Pm”,则称P为S的子串,且P出现在S中位置i,也即现有的子串必须是文本字符串S中的连续字符构成,文本字符串S中不连续字符构成的字符串不是文本S的子串。子串模式匹配判定是指文本S中是否存在与模式P相等的子串。子串模式匹配定位是指寻找模式P在文本S中是否出现,以及出现的位置。
这是最简单的也是最经典的子串的模式匹配问题。对于这个问题,最早的算法是Brute-Force算法(朴素子串模式匹配算法),该算法的最坏时间复杂度为O(m*n)。1970年,S.A.COOK从理论上证明了子串模式匹配问题可以在O(m+n)时间内解决,同一年,Morris和Pratt仿照COOK的证明构造了一个算法,随后,Knuth对这个算法进行了一些改进,最终,在1976年,历史上第一个在线性时间内解决子串的模式匹配的算法被发现了,这个算法简称为KMP(Knuth-Morris-Pratt)算法,它的时间复杂度为O(m+n),时间复杂度得到明显降低。在1977年,Boyer和Moore提出了另一个与KMP算法截然不同的却同样拥有线性时间复杂度的算法(BM算法)。BM算法在实际的模式匹配中,跳过了很多无用的字符,这种跳跃式的比较方式,使BM算法获得了极高的效率,特别是在大字符集上进行子串的模式匹配时。在实际的应用中,BM算法比KMP算法更有效率。此后,又有一些更有效率的算法被提出,大多都是在KMP算法或BM算法的基础上做了一些改进。
以上各种模式匹配算法,都是基于模式P,在文本串S中寻找一个与P匹配的连续子串,算法围绕着提高匹配速度而不断改进。
基于这样的匹配方法,在信息检索、信息输入等领域,长期以来存在着一些固有的问题。
首先子串概念并不完善,存在严重缺陷,设文本S中存在与模式P相等(匹配)的子串“SiSi+1……Si+m-1”,则在文本S中的子串缺省特性主要体现在三个方面a)中间连续,由S的第i个字符开始的连续m个字符构成;b)后向缺省,S的后面连续缺省n-m-i+1个字符;c)前向缺省,S的前面连续缺省i-1个字符。
下面的例子可以清楚的反映出,采用以上子串进行匹配存在的明显问题例1S=“中文拼音、笔划、声调组合输入法”;P=“拼音、笔划、声调”;P匹配S,为S的子串。
例2S=“中文拼音、笔划、声调组合输入法”;P=“拼音笔划声调”;P不匹配S,不是S的子串。
显然,在信息检索及信息输入中,人们希望第二种情况下,P也是S的子串。这明显与子串定义矛盾。现有的子串匹配方法无法实现第二种情况下,P对S的匹配。其匹配算法的查全率低,带来信息检索的遗漏和信息输入的不便。
这是现有子串概念的缺陷即要求子串字符的连续性带来的问题。因此,基于子串的模式匹配判定方法及模式匹配定位方法难逃这种先天性的缺陷,给应用程序造成了许多困扰,增加了解决问题的复杂度,同时,用户也面临了许多不便。
以下示例,进一步反映出基于子串概念的整个信息系统存在的固有问题。
例3文件查找假设硬盘中存在“my_working_daily_plan.doc”。现有的文件系统,不能通过检索字符串“mwdpd”检索出该文件。
例4英语单词“procedure”的拼写;人们往往容易记住各音节的首字母“prcd”,该串不满足“procedure”的子串定义,“prcd”又确实是“procedure”的一部分。输入“prcd”,现有的子串匹配算法,检索不出该英语单词。
例5中文汉字的输入假设“床”的拼音笔划编码为“chuangdhp”,并存储在汉字编码库中。由于编码太长,是否可以采用“cugdh”、“cdhl”、“cugd”的随意缺省输入方式输入“床”,从而减少输入码长?基于现有的子串模式匹配判定方法,均不能实现这种功能。
随着网络信息的不断普及和深入,大众化的信息获取以及信息输入成为信息社会的主要特征,子串在信息获取以及信息输入中成为最耀眼的明星,基于现有子串模式匹配方法进行信息获取与信息输入,存在的以上的固有问题,给普通大众造成了许多不便,亟待解决。

发明内容
本发明的目的在于解决上述问题,提出一种用于信息输入与检索的随机缺省子串模式匹配判定方法,该种方法查全率高,信息检索全面,信息检索与输入简单、方便、灵活。
本发明解决其技术问题所采用的技术方案为一种用于信息输入与检索的随机缺省子串模式匹配判定方法,其特点是随机缺省子串为文本S=“S1S2……Sn”中的任意一个或一个以上的字符组成的字符串S’=“St1St2……Stm”(1≤t1<t2……<tm≤n);随机缺省子串模式匹配判定即判定模式P=“P1P2……Pm”(m≤n)是否为文本S的随机缺省子串的具体步骤如下a步 取文本S的第一个字符作为被比较字符,取模式P的第一个字符作为比较字符。
b步 如果被比较字符或比较字符为结束标志,转d步。
c步 若被比较字符与比较字符相等,则取文本S的下一个字符作为被比较字符,取模式P的下一个字符作为比较字符,转b步;否则,取文本S的下一个字符作为被比较字符,比较字符不变,转b步。
d步 若比较字符为结束标志,则判定模式P为文本S的随机缺省子串,输出“存在”的判定结果;否则判定文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果。
与现有技术相比,本发明的有益效果是本发明的随机缺省子串为文本S任意一个或一个以上的字符组成的字符串,它对子串进行了概念的拓展,也即它不要求子串中的字符为文本S中的连续字符。现有子串仅仅是本发明中的随机缺省子串的一个特例。由于本发明只要模式P是文本S的随机缺省子串,算法就给出P匹配S的结果。因此,本发明查全率明显提高,在输入与检索时可以对文本的字符进行任意地省略输入,均可查出相关文本,信息检索全面,信息检索与输入简单、方便、灵活。
且本发明的随机缺省子串模式匹配判定方法简单明了,它与模式P与文本S的相关度无关,效率高。本发明算法的主要思想基于只有当模式P中的所有字符依次在文本S中出现后,文本S才可能是与模式P相关的文本,因此,速度极快。理论分析表明本发明判定存在随机缺省子串的时间复杂度为O(n),字符比较次数f(n)≤n;判定不存在随机缺省子串的时间复杂度为O(n),字符比较次数f(n)=n。该判定方法,较之现有的最快子串模式匹配方法的复杂度O(m+n),以更快的方式,跳过无关的文本,适合大容量字符串集的判定。
上述的文本S有多个,多个文本S1S2……Sn构成二维文本Ds=“S1S2……Sn”,二维文本Ds=“S1S2……Sn”中的任意一个或一个以上的文本Si(1≤i≤n)的随机缺省子串Si’组成的文本串Ds’=“St1’St2’,……,Stm’”为二维随机缺省子串Ds’,二维随机缺省子串模式匹配判定即判定二维模式Dp=“P1P2……Pm”(1≤m≤n)是否为二维文本Ds的二维随机缺省子串的具体步骤如下A步取二维文本Ds的第一个文本S1作为被比较文本,取二维模式Dp的第一个模式P1作为比较文本。
B步 如果被比较文本或比较文本为结束标志,转D步。
C步 进行以上的随机缺省子串模式匹配判定方法中的a步、b步、c步、d步的步骤,若d步的结果为“存在”,则取二维文本Ds的下一个文本作为被比较文本,取二维模式Dp的下一个模式作为比较文本,转B步;否则,取二维文本Ds的下一个文本作为被比较文本,比较文本不变,转B步。
D步 若比较文本为结束标志,则二维模式Dp为二维文本Ds的二维随机缺省子串,输出“存在”的判定结果;否则,二维文本Ds中不存在二维模式Dp的二维随机缺省子串,输出“不存在”的判定结果。
二维随机缺省子串判定方法,对随机缺省子串进行了拓展,随机缺省子串仅仅是二维随机缺省子串的一个特例,也即当上述的Ds’=“St1’St2’,……,Stm’”中的m=1时,二维随机缺省子串就演变为随机缺省子串。
随机缺省子串判定方法可以认为是一维空间上的应用,二维随机缺省子串判定方法则用于二维空间,二维文本Ds与二维模式Dp为二维的字符串;例如,在键盘输入中的中文单字拼音、英文单词为一维的字符串,中文词组拼音、英文词组属于二维的字符串。二维随机缺省子串具有随机缺省子串的所有特点,又包容了随机缺省子串,二维随机缺省子串判定方法同样具有随机缺省子串判定方法的所有优点。使得本发明既可在一维文本空间的层面上进行任意字符省略输入与检索,又可在二维空间层面上进行任意一维文本的省略输入与检索,均可查出相关文本,使得本发明算法的信息检索与输入更加简单、方便、灵活。
判定存在二维随机缺省子串的时间复杂度分析假设二维文本S中各文本字符串的长度分别为n=i1+i2+……+im,则判定存在二维随机缺省子串的时间复杂度为O(n),字符比较次数f(n)≤n,判定不存在二维随机缺省子串的时间复杂度为O(n),字符比较次数f(n)=n,与二维模式P的长度无关,该判定方法,以最快的方式,跳过无关的文本,适合大容量二维的文本字符串集的判定。
本发明的另一目的在于,提出一种基于以上用于信息输入与检索的随机缺省子串模式匹配判定方法的模式匹配定位方法,它在给出模式匹配判定结果的同时还给出模式在文本中的位置。
本发明解决技术问题采用的技术方案为一种用于信息输入与检索的随机缺省子串模式匹配定位方法,其特点为,所述的随机缺省子串为文本S=“S1S2……Sn”中的任意一个或一个以上的字符组成的字符串S’=“St1St2……Stm”(1≤t1<t2……<tm≤n);随机缺省子串模式匹配定位即在判定模式P=“P1P2……Pm”(m≤n)是否为文本S的随机缺省子串的同时,如果判定结果为是,还给出模式P中各字符在文本S中的位置的步骤如下a步 取文本S的第一个字符作为被比较字符,取模式P的第一个字符作为比较字符。
b步 如果被比较字符或比较字符为结束标志,转d步。
c步 若被比较字符与比较字符相等,则将被比较字符在文本S中的位置值,存储于与模式P长度相等的一位置数组pos[]中,其存储位置与比较字符在模式P中的位置相同,取文本S的下一个字符作为被比较字符,取模式P的下一个字符作为比较字符,转b步;否则,取文本S的下一个字符作为被比较字符,比较字符不变,转b步。
d步 若比较字符为结束标志,则判定模式P为文本S的随机缺省子串,输出“存在”的判定结果,并输出表明模式P的每个字符在文本S中对应位置的位置数组pos[];否则,判定文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果且位置数组pos[]无效。
与现有技术相比,本发明的随机缺省子串模式匹配定位方法的有益效果是具备以上随机缺省子串模式匹配判定方法的所有效果及时间复杂度,并给出了模式匹配后,P中的每个字符在S中的位置,为信息输入与检索中的后续选择处理,提供了更多的方便。
上述的模式匹配定位时,还对随机缺省子串S’=“St1St2……Stm”在文本S中总共间隔的字符数D’也即离散度D’进行判定,并只输出符合给定离散度D的随机缺省子串的匹配定位结果,其具体的作法为,上述的随机缺省子串模式匹配定位方法的d步 若比较字符不是结束标志,则转f步。
e步 取出位置数组pos[]中,模式P的末字符及首字符在文本S中的出现位置tm及t1,计算出与模式P相等的随机缺省子串S’的离散度D’=tm-t1-m+1,式中m为模式P的长度,如果D’≤给定的间隔字符数D,则判定模式P为文本S的符合离散度D要求的随机缺省子串,输出“存在”的判定结果,并输出模式P的每个字符在文本S中对应位置的位置数组pos[];否则,则不满足给定的离散度D要求,重新开始下一个随机缺省子串的匹配,将文本S中被比较字符的位置修改为当前被比较字符位置-模式P的长度m-给定离散度D,并取该位置的字符作为被比较字符;将模式P中比较字符的位置修改为模式P的首字符位置,并取该位置的字符作为比较字符,然后进行模式匹配定位方法的b步步骤。
f步 判定文本S中不存在模式P的满足给定离散度D的随机缺省子串S’,输出“不存在”的判定结果且位置数组pos[]无效。
这种基于离散度D的随机缺省子串模式匹配定位方法的有益效果是对随机缺省子串模式匹配定位方法进行了改进,可以调整离散度D,改变随机缺省子串模式匹配定位的功能,搜索到满足离散度要求的随机缺省子串及位置;离散度越小,搜索定位越精确,但搜索的查全功能就越差,可能跳过有关的一些满足随机缺省子串的文本;离散度越大,搜索定位越不精确,但搜索查出的功能就越强,找出更多的满足随机缺省子串匹配的文本;当离散度D=0时,演变为现有的子串模式匹配,搜索功能等同于子串,达到了与子串模式匹配的兼容;当离散度D=0时,还可以对算法加以扩充,应用最快速的子串模式匹配方法;可见,离散度D在随机缺省子串模式匹配定位方法中扮演着重要角色。这使得本发明可以满足不同场合对不同定位精度要求的信息输入与检索的需要。
该方法的时间复杂度分析找到第一个满足离散度D的随机缺省子串的时间复杂度为O(n+(k-1)(m+D)),字符比较次数为f(n)≤n+(k-1)(m+D);找不到满足离散度D的随机缺省子串的时间复杂度为O(n+k(m+D)),字符比较次数为f(n)=n+k(m+D);k为找到的随机缺省子串出现的次数。从时间复杂度分析中可看出当文本串S与模式P无关联时,也即S中不可能出现P的随机缺省子串,此时k=0,算法只需进行n次字符比较就可跳过文本S。k=1时,找到第一个满足离散度D的随机缺省子串的字符比较次数为f(n)≤n,找不到满足离散度D的随机缺省子串的字符比较次数为f(n)=n+m+D。
上述的模式匹配定位时,还对随机缺省子串S’=“St1St2……Stm”是否满足子串“St1+1St1+2……Stm-1Stm”中,不存在匹配P的随机缺省子串进行判断,并只输出符合该判断条件的随机缺省子串也即素随机缺省子串的模式匹配定位结果,其具体作法为,所述的随机缺省子串模式匹配定位方法的d步 若比较字符不是结束标志,则转h步;否则,将文本S中被比较字符的位置前移2个字符位置,并取该位置的字符作为被比较字符,将模式P中比较字符的位置前移2个字符位置,并取该位置的字符作为比较字符。
e步 如果模式P的首字符已比较完毕,转g步。
f步 若被比较字符与比较字符相等,则将被比较字符在文本S中的位置值,存储于与模式P长度相等的一位置数组pos[]中,其存储位置与比较字符在模式P中的位置相同,取文本S的前一个字符作为被比较字符,取模式P的前一个字符作为比较字符,转e步;否则,取文本S的前一个字符作为被比较字符,比较字符不变,转e步。
g步 模式P为文本S的素随机缺省子串,输出“存在”的判定结果,并输出模式P的每个字符在文本S中的出现位置数组pos[]。
h步 判定文本S中不存在模式P的素随机缺省子串,输出“不存在”的判定结果且位置数组pos[]无效。
这种基于素随机缺省子串模式匹配定位方法的有益效果是该方法对随机缺省子串模式匹配定位方法以及基于离散度D的随机缺省子串模式匹配定位方法进行折衷,在功能上与前者完全相同,但又比前者定位更精确,这是因为存在随机缺省子串,就一定存在素随机缺省子串,而素随机缺省子串的长度一定小于等于随机缺省子串的长度;同时又避免了基于离散度D的随机缺省子串模式匹配定位方法,可能因为离散度D造成的功能缺陷,也不必考虑离散度因素,便于使用,是一种较佳的折衷方案。
该方法的时间复杂度分析找到第一个素随机缺省子串的时间复杂度O(n),字符比较次数f(n)≤2n;找不到素随机缺省子串的时间复杂度O(n),字符比较次数f(n)=n。
从时间复杂度上可以看出,该判定方法找不到素随机缺省子串的时间复杂度与模式P无关,只需比较n次,即可跳过无关文本S,而找到第一个素随机缺省子串的最坏情形为比较2n次字符。
下面结合具体实施方式
对本发明作进一步的描述。
具体实施例方式
实施例一本发明的第一种具体实施方式
为,一种用于信息输入与检索的随机缺省子串模式匹配判定方法,其中随机缺省子串为文本S=“S1S2……Sn”中的任意一个或一个以上的字符组成的字符串S’=“St1St2……Stm”(1≤t1<t2……<tm≤n);随机缺省子串模式匹配判定即判定模式P=“P1P2……Pm”(m≤n)是否为文本S的随机缺省子串的具体步骤如下a步 取文本S的第一个字符作为被比较字符,取模式P的第一个字符作为比较字符。
b步 如果被比较字符或比较字符为结束标志,转d步。
c步 若被比较字符与比较字符相等,则取文本S的下一个字符作为被比较字符,取模式P的下一个字符作为比较字符,转b步;否则取文本S的下一个字符作为被比较字符,比较字符不变,转b步。
d步 若比较字符为结束标志,则判定模式P为文本S的随机缺省子串,输出“存在”的判定结果;否则判定文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果。
例如在汉字输入中,假设“床”的拼音笔划编码为“chuangdhl”,并存储在计算机的汉字编码库中。该编码即为文本S=“S1S2……S9”=“chuangdhl”;用户在进行信息输入时,可以在键盘上进行各种组合输入,例如输入编码“cugdh”该字符串即为模式P=“P1P2P3P4P5”=“cugdh”;计算机内的信息处理装置即利用以上的随机缺省子串模式匹配判定方法,对该模式P与汉字编码库进行匹配判定,判定该模式P为文本S=“S1S2……S9”=“chuangdhl”的随机缺省子串,并输出“存在”的判定结果;然后供用户选择后,将“床”作为计算机的当前输入汉字。同样用户可以输入字符串“cdhl”或“cugd”输入汉字“床”。相反,如果输入字符串“cbxy”,由于“b”、“x”、“y”不属于“chuangdhl”中的任何一个字符,因此,该模式P=“cbxy”用本发明方法进行模式匹配判定,将被判定为文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果。用户无法将汉字“床”输入计算机。可见,使用本发明的模式匹配判定方法在汉字输入等信息输入与检索领域,使得操作与处理具有极大的灵活性。
实施例二本实施例二与实施例一的步骤基本相同,不同的是本例所处理的文本S有多个,多个文本S1S2……Sn构成二维文本Ds=“S1S2……Sn”,二维文本Ds=“S1S2……Sn”中的任意一个或一个以上的文本Si(1≤i≤n)的随机缺省子串Si’组成的文本串Ds’=“St1’St2’,……,Stm’”为二维随机缺省子串Ds’,二维随机缺省子串模式匹配判定即判定二维模式Dp=“P1P2……Pm”(1≤m≤n)是否为二维文本Ds的二维随机缺省子串的具体步骤如下A步取二维文本Ds的第一个文本S1作为被比较文本,取二维模式Dp的第一个模式P1作为比较文本。
B步 如果被比较文本或比较文本为结束标志,转D步。
C步 进行实施例一中的随机缺省子串模式匹配判定方法中的a步、b步、c步、d步的步骤,若d步的结果为“存在”,则取二维文本Ds的下一个文本作为被比较文本,取二维模式Dp的下一个模式作为比较文本,转B步;否则取二维文本Ds的下一个文本作为被比较文本,比较文本不变,转B步。
D步 若比较文本为结束标志,则二维模式Dp为二维文本Ds的二维随机缺省子串,输出“存在”的判定结果;否则,二维文本Ds中不存在二维模式Dp的二维随机缺省子串,输出“不存在”的判定结果。
具体的例子如在汉字输入时,假设中文拼音词库中存在“中华人民共和国教育部”的拼音词条,该拼音词条即为二维文本Ds=“中华人民共和国教育部”的拼音字符串。其中,如“中”、“华”、“国”、“教”的任何一个汉字的拼音字符串即为文本Si。用户只需在键盘上输入随机缺省子串“中华国教”的拼音字符串,且其中的任意一个单字的拼音字符可以省略,形成二维模式Dp,用以上的二维随机缺省子串模式匹配判定方法,对该二维模式Dp与该文本Ds进行判定后,即可输入该词条。相反输入“中拼笔调”拼音字符串作为二维模式Dp用本例的方法进行模式匹配判定后将给出“不存在”的判定结果,无法输入该词条。
本发明的方法除可进行以上的随机缺省子串、二维随机缺省子串模式匹配判定外,还可依次类推出三维及三维以上的多维随机缺省子串模式匹配判定方法。如三维随机缺省子串模式匹配判定方法如下二维文本Ds有多个,多个文本D1s,D2s,……Dns构成三维文本Ts=“D1s,D2s,……Dns”,三维文本T s=“D1s,D2s,……Dns”中的任意一个或一个以上的二维文本Dis(1≤i≤n)的二维随机缺省子串Di’s组成的二维文本串Ts’=“Dt1’s,Dt2’s……Dtm’s”为三维随机缺省子串Ts’,三维文本模式Tp=“Dp1,Dp2……Dpm”(1≤m≤n)的模式匹配判定即判定三维模式Tp是否为三维文本Ts的三维随机缺省子串的具体步骤如下一步取三维文本S的第一个二维文本作为被比较二维文本,取三维模式P的第一个二维模式作为比较二维文本。
二步如果被比较二维文本或比较二维文本为结束标志,转四步;三步进行二维随机缺省子串模式匹配判定方法中的A步、B步、C步、D步的步骤,若判定结果为“存在”,则取三维文本Ts的下一个二维文本作为被比较二维文本,取三维模式Tp的下一个二维模式作为比较二维文本,转二步;否则取三维文本Ts的下一个二维文本作为被比较二维文本,比较二维文本不变,转二步。
四步 若比较二维文本为结束标志,则三维模式Tp为三维文本Ts的三维随机缺省子串,输出“存在”的判定结果;否则,三维文本Ts中不存在三维模式Tp的三维随机缺省子串,输出“不存在”的判定结果。
实施例三本实施例是用于信息输入与检索的随机缺省子串模式匹配定位方法的具体实施方式
。本实施例的随机缺省子串为文本S=“S1S2……Sn”中的任意一个或一个以上的字符组成的字符串S’=“St1St2……Stm”(1≤t1<t2……<tm≤n);随机缺省子串模式匹配定位即在判定模式P=“P1P2……Pm”(m≤n)是否为文本S的随机缺省子串的同时,如果判定结果为是,还给出模式P中各字符在文本S中的位置的步骤如下a步 取文本S的第一个字符作为被比较字符,取模式P的第一个字符作为比较字符。
b步 如果被比较字符或比较字符为结束标志,转d步。
c步 若被比较字符与比较字符相等,则将被比较字符在文本S中的位置值,存储于与模式P长度相等的一位置数组pos[]中,其存储位置与比较字符在模式P中的位置相同,取文本S的下一个字符作为被比较字符,取模式P的下一个字符作为比较字符,转b步;否则取文本S的下一个字符作为被比较字符,比较字符不变,转b步。
d步 若比较字符为结束标志,则判定模式P为文本S的随机缺省子串,输出“存在”的判定结果,并输出表明模式P的每个字符在文本S中对应位置的位置数组pos[];否则,判定文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果且位置数组pos[]无效。
例如,在信息检索时,假设存在标题为“拼音为主的中文拼音、笔划、声调组合输入法”的被检索文献。以“拼音笔划声调”进行检索,则此时的S=“S1S2……Sn”=“拼音为主的中文拼音、笔划、声调组合输入法”,模式P=“P1P2……Pm”=“拼音笔划声调”,采用本例的模式匹配定位方法,则将得到以下的定位结果标题=“拼音为主的中文拼音、笔划、声调组合输入法”定位↑↑↑↑ ↑↑检索词=“拼音笔划声调”
相反若以“中华国教”作为检索词,采用本例的模式匹配方法,则将得到“不存在”的结果,检索不出该文献。
实施例四本例与实施例三基本相同,不同的是模式匹配定位时,还对随机缺省子串S’=“St1St2……Stm”在文本S中总共间隔的字符数D’也即离散度D’进行判定,并只输出符合给定离散度D的随机缺省子串的匹配定位结果,其具体的作法为,随机缺省子串模式匹配定位方法从d步开始,按以下步骤进行d步 若比较字符不是结束标志,则转f步。
e步 取出位置数组pos[]中,模式P的末字符及首字符在文本S中的出现位置tm及t1,计算出与模式P相等的随机缺省子串S’的离散度D’=tm-t1-m+1,式中m为模式P的长度,如果D’≤给定的间隔字符数D,则判定模式P为文本S的符合离散度D要求的随机缺省子串,输出“存在”的判定结果,并输出模式P的每个字符在文本S中对应位置的位置数组pos[];否则,则不满足给定的离散度D要求,重新开始下一个随机缺省子串的匹配,将文本S中被比较字符的位置修改为当前被比较字符位置-模式P的长度m-给定离散度D,并取该位置的字符作为被比较字符;将模式P中比较字符的位置修改为模式P的首字符位置,并取该位置的字符作为比较字符,然后进行模式匹配定位方法的b步步骤。
f步 判定文本S中不存在模式P的满足给定离散度D的随机缺省子串S’,输出“不存在”的判定结果且位置数组pos[]无效。
例如在信息检索时,假设存在标题为“拼音为主的中文拼音、笔划、声调组合输入法”的被检索文献。以“拼音笔划声调”为检索词进行检索,则此时的S=“S1S2……Sn”=“拼音为主的中文拼音、笔划、声调组合输入法”,模式P=“P1P2……Pm”=“拼音笔划声调”,采用本例的基于离散度D的模式匹配定位方法,则将得到以下的定位结果(1)、给定离散度D=20的随机缺省子串模式匹配定位结果标题=“拼音为主的中文拼音、笔划、声调组合输入法”定位↑↑↑↑ ↑↑检索词=“拼音笔划声调”(2)、给定离散度D=5的随机缺省子串模式匹配定位结果
标题=“拼音为主的中文拼音、笔划、声调组合输入法”定位↑↑↑↑ ↑↑检索词=“拼音笔划声调”(3)、给定离散度D=0的随机缺省子串,此时的随机缺省子串等同于现有的子串,其模式匹配定位结果标题=“拼音为主的中文拼音、笔划、声调组合输入法”定位 找不到检索词=“拼音笔划声调”实施例五本例与实施例三基本相同,不同的是模式匹配定位时,还对随机缺省子串S’=“St1St2……Stm”是否满足子串“St1+1St12……Stm-1Stm”中,不存在匹配P的随机缺省子串进行判断,并只输出符合该判断条件的随机缺省子串也即素随机缺省子串的模式匹配定位结果,其具体作法为,随机缺省子串模式匹配定位方法的d步开始,按以下步骤进行d步 若比较字符不是结束标志,则转h步;否则,将文本S中被比较字符的位置前移2个字符位置,并取该位置的字符作为被比较字符,将模式P中比较字符的位置前移2个字符位置,并取该位置的字符作为比较字符。
e步 如果模式P的首字符已比较完毕,转g步。
f步 若被比较字符与比较字符相等,则将被比较字符在文本S中的位置值,存储于与模式P长度相等的一位置数组pos[]中,其存储位置与比较字符在模式P中的位置相同,取文本S的前一个字符作为被比较字符,取模式P的前一个字符作为比较字符,转e步;否则,取文本S的前一个字符作为被比较字符,比较字符不变,转e步。
g步 模式P为文本S的素随机缺省子串,输出“存在”的判定结果,并输出模式P的每个字符在文本S中的出现位置数组pos[]。
h步 判定文本S中不存在模式P的素随机缺省子串,输出“不存在”的判定结果且位置数组pos[]无效。
例如在信息检索时,假设存在标题为“拼音为主的中文拼音、笔划、声调组合输入法”的被检索文献。以“拼音笔划声调”为检索词进行检索,则此时的S=“S1S2……Sn”=“拼音为主的中文拼音、笔划、声调组合输入法”,模式P=“P1P2……Pm”=“拼音笔划声调”,采用本例的基于素随机缺省子串模式匹配定位方法,则将得到以下的定位结果标题=“拼音为主的中文拼音、笔划、声调组合输入法”定位↑↑↑↑ ↑↑检索词=“拼音笔划声调”从实施例三到实施例五明显展示了随机缺省子串的模式匹配定位比子串的模式匹配定位更有实用价值,检索查全率更高,信息利用更充分,检索操作更简单、灵活、方便;而素随机缺省子串的模式匹配定位又比随机缺省子串的模式匹配定位更准确;基于离散度的随机缺省子串模式匹配定位也可以通过调整离散度D,达到素随机缺省子串的模式匹配定位效果,而且更加灵活。
本发明提出的随机缺省子串,完善了子串概念;随机缺省子串模式匹配判定方法、随机缺省子串模式匹配定位方法、基于离散度的随机缺省子串的模式匹配定位方法、基于素随机缺省子串模式匹配定位方法、二维及多维随机缺省子串模式匹配判定方法,不仅解决了三十年来信息处理存在的固有问题,而且完美地兼容了过去的子串,在信息输入、信息检索中有重要的应用价值。通过随机缺省子串模式匹配判定方法,可以输入满足条件的字、词、句;通过随机缺省子串的模式匹配定位方法,可以检索出满足条件的网络信息或数据库信息。适用于信息输入与信息检索相关的所有领域,尤其适用于如下领域各种文字的键盘输入;操作系统文件检索;各种文字的数据库检索;各种文字的网络信息搜索等。
权利要求
1.一种用于信息输入与检索的随机缺省子串模式匹配判定方法,其特征在于所述的随机缺省子串为文本S=“S1S2……Sn”中的任意一个或一个以上的字符组成的字符串S’=“St1St2……Stm”(1≤t1<t2……<tm≤n);随机缺省子串模式匹配判定即判定模式P=“P1P2P3……Pm”(m≤n)是否为文本S的随机缺省子串的具体步骤如下a步取文本S的第一个字符作为被比较字符,取模式P的第一个字符作为比较字符;b步如果被比较字符或比较字符为结束标志,转d步;c步若被比较字符与比较字符相等,则取文本S的下一个字符作为被比较字符,取模式P的下一个字符作为比较字符,转b步;否则,取文本S的下一个字符作为被比较字符,比较字符不变,转b步;d步若比较字符为结束标志,则判定模式P为文本S的随机缺省子串,输出“存在”的判定结果;否则,判定文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果。
2.根据权利要求1所述的一种用于信息输入与检索的随机缺省子串模式匹配方法,其特征在于所述的文本S有多个,多个文本S1S2……Sn构成二维文本Ds=“S1S2……Sn”,二维文本Ds=“S1S2……Sn”中的任意一个或一个以上的文本Si(1≤i≤n)的随机缺省子串Si’组成的文本串Ds’=“St1,St2,’……’Stm,”为二维随机缺省子串Ds’,二维随机缺省子串模式匹配判定即判定二维模式Dp=“P1P2……Pm”(1≤m≤n)是否为二维文本Ds的二维随机缺省子串的具体步骤如下A步取二维文本Ds的第一个文本S1作为被比较文本,取二维模式Dp的第一个模式P1作为比较文本;B步如果被比较文本或比较文本为结束标志,转D步;C步进行所述随机缺省子串模式匹配判定方法中的a步、b步、c步、d步的步骤,若d步的结果为“存在”,则取二维文本Ds的下一个文本作为被比较文本,取二维模式Dp的下一个模式作为比较文本,转B步;否则,取二维文本Ds的下一个文本作为被比较文本,比较文本不变,转B步;D步若比较文本为结束标志,则二维模式Dp为二维文本Ds的二维随机缺省子串,输出“存在”的判定结果;否则,二维文本Ds中不存在二维模式Dp的二维随机缺省子串,输出“不存在”的判定结果。
3.一种用于信息输入与检索的随机缺省子串模式匹配定位方法,其特征在于所述的随机缺省子串为文本S=“S1S2……Sn”中的任意一个或一个以上的字符组成的字符串S’=“St1St2……Stm”(1≤t1<t2……<tm≤n);随机缺省子串模式匹配定位即在判定模式P=“P1P2……Pm”(m≤n)是否为文本S的随机缺省子串的同时,如果判定结果为是,还给出模式P中各字符在文本S中的位置的步骤如下a步取文本S的第一个字符作为被比较字符,取模式P的第一个字符作为比较字符;b步如果被比较字符或比较字符为结束标志,转d步;c步若被比较字符与比较字符相等,则将被比较字符在文本S中的位置值,存储于与模式P长度相等的一位置数组pos[]中,其存储位置与比较字符在模式P中的位置相同,取文本S的下一个字符作为被比较字符,取模式P的下一个字符作为比较字符,转b步;否则,取文本S的下一个字符作为被比较字符,比较字符不变,转b步;d步若比较字符为结束标志,则判定模式P为文本S的随机缺省子串,输出“存在”的判定结果,并输出表明模式P的每个字符在文本S中对应位置的位置数组pos[];否则,判定文本S中不存在模式P的随机缺省子串,输出“不存在”的判定结果且位置数组pos[]无效。
4.根据权利要求3所述的一种用于信息输入与检索的随机缺省子串模式匹配定位方法,其特征在于,所述的模式匹配定位时,还对随机缺省子串S’=“St1St2……Stm”在文本S中总共间隔的字符数D’也即离散度D’进行判定,并只输出符合给定离散度D的随机缺省子串的匹配定位结果,其具体的作法为,所述的随机缺省子串模式匹配定位方法的d步若比较字符不是结束标志,则转f步;e步取出位置数组pos[]中,模式P的末字符及首字符在文本S中的出现位置tm及t1,计算出与模式P相等的随机缺省子串S’的离散度D’=tm-t1-m+1,式中m为模式P的长度;如果离散度D’≤给定的间隔字符数D,则判定模式P为文本S的符合离散度D要求的随机缺省子串,输出“存在”的判定结果,并输出模式P的每个字符在文本S中对应位置的位置数组pos[];否则,则不满足给定的离散度D要求,重新开始下一个随机缺省子串的匹配,将文本S中被比较字符的位置修改为当前被比较字符位置-模式P的长度m-给定离散度D,并取该位置的字符作为被比较字符;将模式P中比较字符的位置修改为模式P的首字符位置,并取该位置的字符作为比较字符,然后进行模式匹配定位方法的b步步骤;f步判定文本S中不存在模式P的满足给定离散度D的随机缺省子串S’,输出“不存在”的判定结果且位置数组pos[]无效。
5.根据权利要求3所述的一种用于信息输入与检索的随机缺省子串模式匹配方法,其特征在于,所述的模式匹配定位时,还对随机缺省子串S’=“St1St2……Stm”是否满足子串“St1+1St1+2……Stm-1Stm”中,不存在匹配P的随机缺省子串进行判断,并只输出符合该判断条件的随机缺省子串也即素随机缺省子串的模式匹配定位结果,其具体作法为,所述的随机缺省子串模式匹配定位方法的d步若比较字符不是结束标志,则转h步,否则,将文本S中被比较字符的位置前移2个字符位置,并取该位置的字符作为被比较字符,将模式P中比较字符的位置前移2个字符位置,并取该位置的字符作为比较字符;e步如果模式P的首字符已比较完毕,转g步;f步若被比较字符与比较字符相等,则将被比较字符在文本S中的位置值,存储于与模式P长度相等的一位置数组pos[]中,其存储位置与比较字符在模式P中的位置相同,取文本S的前一个字符作为被比较字符,取模式P的前一个字符作为比较字符,转e步;否则,取文本S的前一个字符作为被比较字符,比较字符不变,转e步;g步模式P为文本S的素随机缺省子串,输出“存在”的判定结果,并输出模式P的每个字符在文本S中的出现位置数组pos[];h步判定文本S中不存在模式P的素随机缺省子串,输出“不存在”的判定结果且位置数组pos[]无效。
全文摘要
一种用于信息输入与检索的随机缺省子串模式匹配判定及定位方法,随机缺省子串为文本S中的任意一个或一个以上的字符组成的字符串S’;给出了随机缺省子串模式匹配判定与模式匹配定位的具体方法。随机缺省子串完善了子串概念,其模式匹配判定与定位方法解决了多年来信息输入检索领域存在的检索信息不全的固有问题,其查全率高,信息检索全面,信息检索与输入简单、方便、灵活。
文档编号G06F17/30GK1811776SQ20061002042
公开日2006年8月2日 申请日期2006年3月7日 优先权日2006年3月7日
发明者丁光耀 申请人:丁光耀
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1