当前位置: 首页 > 专利查询>丁光耀专利>正文

基于离散性、交叉性、非完全性的字符串模式匹配方法组成比例

技术编号:2845106 阅读:263 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于离散性、交叉性、非完全性的字符串模式匹配方法,其步骤为:A.用户在用户界面中设置离散数、交叉数、非完全数,输入检索词;B.信息处理设备根据用户输入的检索词,对指定的一个文本,以A步设置的离散数、交叉数、非完全数作为匹配约束条件,进行基于该三种特性的字符串匹配运算,输出精确检索、离散检索、交叉检索、交叉离散检索、非完全检索、离散非完全检索、交叉非完全检索、离散交叉非完全检索共八种检索方式中的一种方式的匹配结果。该种方法提供了多种信息检索方式且操作简单、灵活、方便,可进行定性、定量检索,检索功能强大。

【技术实现步骤摘要】

本专利技术涉及,属于信息检索领域。
技术介绍
随着网络信息技术的快速发展,网络信息形成了信息时代的巨大宝藏。信息检索呈现大众化、家庭化的趋势,用户如何进行信息检索构成网络信息的瓶颈。字符串匹配,尤其是非精确字符串匹配,则是信息检索的基础,其重要性犹如发动机之于各种运动机械,是各种信息检索的主要核心竞争技术,直接影响到信息检索的方式、用户界面以及信息检索的质量。四十年来,国内外对非精确字符串匹配的方法研究一直采用基于错误因素的距离计算,最常用的是Levenshtein距离,也称为ED(Edit Distance)距离。这种基于错误因素距离计算方法,存在一些固有问题,造成了信息检索方式的过于单调且信息检索质量也受到一定的影响,问题主要体现在以下四点1)现有的基于错误因素距离计算的非精确字符串匹配研究思路,是一种基于问题表象的研究思路,如插入、删除、替换、交换错误等,这些表象问题并非完全独立、可以严格界定。例如,本质上可以用一个插入错误和一个删除错误替代一个交换错误或者一个替换错误。理论上,基于表象的错误因素的分类方法并不理想,字符串匹配至今没有形成科学的分类体系,这也是其中的重要原因之一。最直接的负面效果体现在采用错误因素很难界定匹配问题的相关理念、特征、值域,选择何种字符串匹配方法处理特定性质的匹配问题变得复杂化,因此,信息检索只能模糊化,信息检索方式只有精确检索和模糊检索(或非精确检索)。2)现有的基于错误因素描述字符串匹配问题的多态性,直接影响到检索方式的分类以及质量。下表反映出基于错误因素对特定问题的错误现象进行描述的多态性。基于错误因素对特定问题进行描述的多态性表 表中,忽略距离计算的量化影响,基于错误因素对特定文本与模式的匹配问题,存在多种基于错误因素的表示方法,反映出描述同一问题的多态性,不便于分类处理。3)基于错误因素距离计算的非精确字符串匹配方法,由于通过距离计算对各种错误因素进行统一量化处理,如ED(Edit Distance)距离计算,使得匹配中不同错误因素的性质模糊化,因此,在提高查全率、查准率、定位精度,以及在定性定量检索上,缺少灵活方便的应对手段和方法。4)另一方面基于错误因素距离计算的非精确字符串匹配方法,只考虑错误因素对精确匹配的负面影响,很少讨论错误因素在应用中的积极意义。例如在本专利中,离散特性与删除错误在反映匹配关系上很接近,但又不完全相同;当采用逆向思维模式,离散特性不再被看作一种错误,认识到离散特性在信息检索中有很多应用价值。例如,在信息输入中,可利用离散检索,让用户通过缺省输入,避免方言错误、避免模糊音输入、减少输入码长等;在数据库检索、网络搜索引擎中,可利用离散特性选择检索词,进行离散检索,提高查全率等。以上问题,严重制约了信息检索技术的研究与发展,造成了信息检索在操作方式上以及功能上的匮乏,亟待解决。
技术实现思路
本专利技术的目的在于解决上述问题,提出一种,该种方法提供了多种信息检索方式且操作简单、灵活、方便,检索功能强大。本专利技术解决其技术问题所采用的技术方案为一种,其步骤为A步设置特性参数值用户在用户界面中设置反映离散性的离散数即检索词各字符出现在文本中的离散的字符数;反映交叉性的交叉数即检索词各字符出现在文本中的交叉的字符数或子串数;反映非完全性的非完全数即检索词各字符未出现在文本中的字符数;并由用户在用户界面中输入检索词;B步字符串匹配及输出信息处理设备根据用户输入的检索词,对指定的一个文本,以A步设置的离散数、交叉数、非完全数作为匹配约束条件,进行基于该三种特性的字符串匹配运算,输出精确检索、离散检索、交叉检索、离散交叉检索、非完全检索、离散非完全检索、交叉非完全检索、离散交叉非完全检索共八种检索方式中的一种方式的匹配结果。与现有技术相比,本专利技术的有益效果是一、本专利技术提出的三种特性参数离散性、交叉性、非完全性,具有完全不同的性质和概念,是互为独立的特性。基于三种特性的字符串匹配方法,较之现有的基于错误因素距离计算的非精确字符串匹配方法,能更为科学地描述文本与模式的匹配关系。可通过下表的示例比较,得到清楚的说明。基于错误因素及本专利技术对特定问题的描述差异表 可见,基于错误因素对特定文本与模式的字符串匹配问题,存在多种基于错误因素的描述方法,反映出描述同一问题的多态性,不便于细致的分类处理。而本专利技术对同一问题只存在一种描述方法,准确地反映了文本与模式的匹配关系,因此可以准确地分类。上表中关于两个子串匹配问题,基于错误因素有两种不同的描述方法;本专利技术对两个子串匹配问题,只存在一种描述方法,更为符合子串的定义。通过上表,还可以清楚地了解到离散特性与删除错误的差异,交叉特性与交换错误的差异,非完全性与插入错误的差异。二、由三种特性进行组合,可以将信息检索方式严格地分为8种不同的类型,为用户提供了更多可供选择的信息检索方式。且基于特性的字符串匹配,不是简单地把特性看成一种消极错误,例如,利用离散检索,可让用户通过缺省输入,避免方言错误、避免模糊音输入、减少输入码长等。而现有的基于错误因素距离计算的信息检索方法,由于错误因素的可替代性,不能形成科学的分类体系,因此检索方式只有精确和模糊方式。三、本专利技术具体通过设置三种特性值的大小,作为字符串匹配的约束条件参数,在提高查全率、查准率、定位精度上,提供更为灵活、方便、定性、定量的应对手段和方法,以满足不同性质的检索要求,方便用户对特定问题查全率、查准率、定位精度的综合考虑、随意调节。设置的特性值越大,检索条件越宽松,查全率越高;特性值越小,检索条件越严格,查准率越高;设置的某特性值为零,表示不允许该种特性的匹配,因此,可以通过设置特性参数值零,进行有选择的定性、定量检索,充分发挥各特性在信息检索中的潜在应用价值。四、对不同的检索方式,可进行统一的集成化字符串匹配编程,用一个字符串匹配程序,满足8种信息检索方式的特定性质的信息检索。各种检索方式只是输入的检索特性值的不同,应用程序设计人员不必考虑选择何种字符串匹配方法进行不同方式的信息检索,而是对三种特性值进行统一处理,更方便其实施、推广。五、由于各种因素造成的不可预知的文本信息错误,如传输错误、自动识别输入错误、存储错误等,会造成信息检索的遗漏,一些有用但有错误的信息无法正常检出。在本专利技术中,通过适当设置离散数、交叉数、非完全数,既可实现容错检索。上述的B步的字符串匹配及输出的第一种作法的具体步骤为 a步输入参数合法性检验计算出检索词的长度m以及文本的长度n;对n、m、离散数、交叉数、非完全数,进行合法性检验,若不满足合法性,则退出匹配,并返回不匹配的结果;否则,交叉数、非完全数不能超过m-1,若超过则改为m-1;b步循环初始化设置滑动窗位置=1,表示文本中当前第一个正准备处理的位置;对检索词=p1p2......pm中的所有字符,进行稳定的升序排序,并存储在数组PT中,数组PT中同时存储了各字符在检索词中原来的位置,分别称为数组PT中存储的字符子数组PTc以及数组PT中存储的位置子数组PTp;从文本中的第一个字符开始,选取长度为min(m+离散数-1,n-滑动窗位置)的子串作为滑动窗子串,在该滑动窗子串前增加一个小于任何字符的特殊符号,本文档来自技高网
...

【技术保护点】
一种基于离散性、交叉性、非完全性的字符串模式匹配方法,其步骤为:A步设置特性参数值:用户在用户界面中设置反映离散性的离散数即检索词各字符出现在文本中的离散的字符数;反映交叉性的交叉数即检索词各字符出现在文本中的交叉的字符数或子串 数;反映非完全性的非完全数即检索词各字符未出现在文本中的字符数;并由用户在用户界面中输入检索词;B步字符串匹配及输出:信息处理设备根据用户输入的检索词,对指定的一个文本,以A步设置的离散数、交叉数、非完全数作为匹配约束条件,进行 基于该三种特性的字符串匹配运算,输出精确检索、离散检索、交叉检索、离散交叉检索、非完全检索、离散非完全检索、交叉非完全检索、离散交叉非完全检索共八种检索方式中的一种方式的匹配结果。

【技术特征摘要】
1.一种基于离散性、交叉性、非完全性的字符串模式匹配方法,其步骤为A步设置特性参数值用户在用户界面中设置反映离散性的离散数即检索词各字符出现在文本中的离散的字符数;反映交叉性的交叉数即检索词各字符出现在文本中的交叉的字符数或子串数;反映非完全性的非完全数即检索词各字符未出现在文本中的字符数;并由用户在用户界面中输入检索词;B步字符串匹配及输出信息处理设备根据用户输入的检索词,对指定的一个文本,以A步设置的离散数、交叉数、非完全数作为匹配约束条件,进行基于该三种特性的字符串匹配运算,输出精确检索、离散检索、交叉检索、离散交叉检索、非完全检索、离散非完全检索、交叉非完全检索、离散交叉非完全检索共八种检索方式中的一种方式的匹配结果。2.根据权利要求1所述的一种基于离散性、交叉性、非完全性的字符串模式匹配方法,其特征在于,所述B步的字符串匹配及输出的具体步骤为a步输入参数合法性检验计算出检索词的长度m以及文本的长度n;对n、m、离散数、交叉数、非完全数,进行合法性检验,若不满足合法性,则退出匹配,并返回不匹配的结果;否则,交叉数、非完全数不能超过m-1,若超过则改为m-1;b步循环初始化设置滑动窗位置=1,表示文本中当前第一个正准备处理的位置;对检索词=p1p2……pm中的所有字符,进行稳定的升序排序,并存储在数组PT中,数组PT中同时存储了各字符在检索词中原来的位置,分别称为数组PT中存储的字符子数组PTc以及数组PT中存储的位置子数组PTp;从文本中的第一个字符开始,选取长度为min(m+离散数-1,n-滑动窗位置)的子串作为滑动窗子串,在该滑动窗子串前增加一个小于任何字符的特殊符号,对滑动窗子串的字符进行稳定的升序排序,并存储在数组WT中,数组WT中同时存储了各字符在文本中原有的位置,且特殊符号的位置为零,分别称为数组WT中存储的字符子数组WTc以及数组WT中存储的位置子数组WTp;其中min为最小值函数;c步判定循环是否结束若(n-滑动窗位置+1+非完全数)小于m,则结束处理,并返回不匹配结果;d步进行下一个滑动窗子串匹配的参数初始化滑动窗位置开始,在文本中选取长度为min(m+离散数,n-滑动窗位置+1)的子串作为滑动窗子串,再删除数组WT中最小的存储的位置以及对应的字符,然后对滑动窗子串的最后一个字符进行稳定插入排序,插入到数组WT中,若(n-滑动窗位置+1)<(m+离散数)则不用再进行插入排序;数组POS中全部初始化为-1,实际离散数=0,实际交叉数=0,实际非完全数=0,数组WT的位置W=1,数组PT的位置P=1,最大位置=最小位置=WTp中的第一个数值;e步滑动窗子串匹配是否结束若数组WT比较结束或者数组PT比较结束,则转g步;f步滑动窗子串字符与检索词的字符进行循环比较根据WTc中位置W存储的字符与PTc中位置P存储的字符的比较情况,分别进行以下情况处理若WTc中位置W存储的字符<PTc中位置P存储的字符,则位置W增加1,转e步;若WTp中位置W存储的字符>PTp中位置P存储的字符,则位置P增加1,实际非完全数增加1;若实际非完全数小于或等于非完全数,则转e步,否则,滑动窗位置增加1,转c步;若WTc中位置W存储的字符=PTc中位置P存储的字符,则将WTp中位置W存储的数值存储到数组POS中,其存储位置为PTp中位置P存储的数值;若WTp中位置W存储的数值>最大位置,则将WTp中位置W存储的数值存入最大位置中;若WTp中位置W存储的数值<最小位置,则将WTp中位置W存储的数值存入最小位置中;位置W增加1,位置P增加1,转e步;g步判定滑动窗子串是否满足约束条件求实际非完全数=(实际非完全数+m-位置P+1);若实际非完全数>非完全数,则滑动窗位置增加1,转c步;求实际离散数=(最大位置-最小位置+1-m+实际非完全数);若实际离散数>离散数,则滑动窗位置增加1,转c步;计算实际交叉数;若实际交叉数>交叉数,则滑动窗位置增加1,转c步;h步计算出匹配度临时变量=Sqrt([m-实际非完全数-实际离散数÷(最大位置-最小位置+1)]÷(最大位置-最小位置+实际非完全数+1)×[(m-实际非完全数-实际交叉数)÷m]);其中Sqrt为开方函数;匹配度=Round(100×临时变量);其中Round为四舍五入函数;i步结束匹配并返回如下结果返回匹配度,数组POS,实际离散数,实际交叉数,实际非完全数。3.根据权利要求1所述的一种基于离散性、交叉性、非完全性的字符串模式匹配方法,其特征在于,所述B步的字符串匹配及输出的具体步骤为a步输入参数合法性检验计算出检索词的长度m以及文本的长度n;对n、m、离散数、交叉数、非完全数,进行合法性检验,若不满足合法性,退出匹配,并返回空指针结果;否则,交叉数、非完全数不能超过m-1,若超过则改为m-1;b步循环初始化设置有一个节点的OUT链,该节点中包含如下初始信息最大位置=0、最小位置=0,匹配度=100;设置滑动窗位置=1,表示文本中当前第一个正准备处理的位置;对检索词=p1p2……pm中的所有字符,进行稳定的升序排序,并存储在数组PT中,数组PT中同时存储了各字符在检索词中原来的位置,分别称为数组PT中存储的字符子数组PTc以及数组PT中存储的位置子数组PTp;从文本中的第一个字符开始,选取长度为min(m+离散数-1,n-滑动窗位置)的子串作为滑动窗子串,在该滑动窗子串前增加一个小于任何字符的特殊符号,对滑动窗子串的字符进行稳定的升序排序,并存储在数组WT中,数组WT中同时存储了各字符在文本中原有的位置,且特殊符号的位置为零,分别称为数组WT中存储的字符子数组WTc以及数组WT中存储的位置子数组WTp;其中min为最小值函数;c步判定循环是否结束若(n-滑动窗位置+1+非完全数)小于m,则删除OUT链首节点,退出匹配并返回OUT链;d步进行下一个滑动窗子串匹配的参数初始化滑动窗位置开始,在文本中选取长度为min(m+离散数,n-滑动窗位置+1)的子串作为滑动窗子串,再删除数组WT中最小的存储的位置以及对应的字符,然后对滑动窗子串的最后一个字符进行稳定插入排序,插入到数组WT中,若(n-滑动窗位置+1)<(...

【专利技术属性】
技术研发人员:丁光耀
申请(专利权)人:丁光耀
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1