字符串匹配系统及方法

文档序号:8457270阅读:457来源:国知局
字符串匹配系统及方法
【技术领域】
[0001] 本发明涉及一种字符串匹配系统及字符串匹配方法。
【背景技术】
[0002] 由于自然语言灵活多变的特性和命名风格的不同,对于同一个事物会有不同的描 述方式,在计算机看来,就是两个不同的字符串。如何快速的判断出两个字符串描述的是否 是同一个事物,也就成为了一个具有现实意义的技术问题。
[0003] 现有的字符串关联度计算方法要么比较机械的计算字符串之间的联系,要么陷入 语义分析的繁杂的计算中,无法快速灵活、准确的计算出字符串之间的相似度。

【发明内容】

[0004] 本发明要解决的技术问题是为了克服现有技术中无法快速灵活、准确的计算出字 符串之间的相似度的缺陷,提供一种能够快速灵活、准确的计算出字符串之间的相似度的 字符串匹配系统及方法。
[0005] 本发明是通过下述技术方案来解决上述技术问题的:
[0006] 本发明提供一种字符串匹配系统,其特点在于,其存储有若干关键维度和若干非 关键维度,每一关键维度和非关键维度均对应有权重值,该字符串匹配系统包括一输入模 块、一分词模块、一标注模块、一比较模块、一计算模块和一输出模块;
[0007] 该输入模块用于接收两个字符串的输入;
[0008] 该分词模块用于将该两个字符串分词为词组;
[0009] 该标注模块用于标注每一词组对应的关键维度或非关键维度;
[0010] 该比较模块用于比较该两个字符串中的词组,若任一关键维度上的两个词组不相 同则调用该输出模块输出一字符串不匹配信息,否则(具体指任一关键维度上的两个词组 均相同或所有匹配上的关键维度上的两个词组相同但某一字符串缺少某一或某些关键维 度上的词组)调用该计算模块,其中,"两个词组相同"指的是两个词组所表达的意思相同, 而并不局限于两个词组所包含的所有字符严格一致;同样地,"两个词组不相同"指的是两 个词组所表达的意思不相同;
[0011] 该计算模块用于通过公式 t"//计算该两个字符串之间的匹配度,并调用 该输出模块输出该匹配度;其中P表示该两个字符串之间的匹配度,η表示该两个字符串中 词组相同的个数,%为该两个字符串中第i个相同的词组对应的权重值的两倍,B为该两个 字符串中每一词组对应的权重值的累加之和。
[0012] 较佳地,该字符串匹配系统还包括一处理模块,该处理模块用于去除该两个字符 串中的停止词、纠正该两个字符串中的错别字以及将该两个字符串中的拼音更换为汉字。
[0013] 较佳地,该字符串匹配系统存储一包含多个词语的词库,该分词模块包括一划分 模块和一匹配模块;
[0014] 该划分模块用于对该两个字符串进行划分;
[0015] 该匹配模块用于将划分出的词语与该词库中的所有词语进行匹配,若匹配成功则 将该划分出的词语作为该词组。
[0016] 较佳地,该些关键维度和非关键维度按照领域自定义设置。
[0017] 本发明还提供一种字符串匹配方法,其特点在于,其存储有若干关键维度和若干 非关键维度,每一关键维度和非关键维度均对应有权重值,该字符串匹配方法包括以下步 骤:
[0018] S1、接收两个字符串的输入;
[0019] S2、将该两个字符串分词为词组;
[0020] S3、标注每一词组对应的关键维度或非关键维度;
[0021] S4、比较该两个字符串中的词组,若任一关键维度上的两个词组不相同则进入步 骤S 5,否则进入步骤S6;
[0022] S5、输出一字符串不匹配信息,结束流程;
[0023] S6、通过公式 计算该两个字符串之间的匹配度,并输出该匹配度,结 束流程;其中η表示该两个字符串中词组相同的个数,%为该两个字符串中第i个相同的 词组对应的权重值的两倍,B为该两个字符串中每一词组对应的权重值的累加和。
[0024] 较佳地,步骤S1和步骤S2之间包括以下步骤:
[0025] 去除该两个字符串中的停止词、纠正该两个字符串中的错别字以及将该两个字符 串中的拼音更换为汉字。
[0026] 较佳地,该字符串匹配方法存储一包含多个词语的词库,步骤S2包括以下步骤:
[0027] S21、对该两个字符串进行划分;
[0028] S22、将划分出的词语与该词库中的所有词语进行匹配,若匹配成功则将该划分出 的词语作为该词组。
[0029] 较佳地,该些关键维度和非关键维度按照领域自定义设置。
[0030] 在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实 例。
[0031] 本发明的积极进步效果在于:
[0032] 本发明提供一种字符串匹配系统及方法,通过对划分出的每一词组进行标注,通 过比较关键维度上的词组,并采用"不同否定"优先方式在任一关键维度上的两个词组不相 同时输出字符串不匹配信息,否则具体计算出两个字符串之间的匹配度。本发明能够快速 灵活、准确的计算出两个字符串之间的匹配度。
【附图说明】
[0033] 图1为本发明较佳实施例的字符串匹配系统的结构框图。
[0034] 图2为本发明较佳实施例的字符串匹配方法的流程图。
【具体实施方式】
[0035] 下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实 施例范围之中。
[0036] 如图1所示,本实施例提供一种字符串匹配系统,其存储有若干关键维度和若干 非关键维度,该些关键维度和非关键维度可按照领域自定义设置,每一关键维度和非关键 维度均对应有权重值,该字符串匹配系统包括一输入模块1、一处理模块2、一分词模块3、 一标注模块4、一比较模块5、一计算模块6和一输出模块7。
[0037] 上述介绍了该字符串匹配系统包括的部件,下面具体介绍每一部件实现的功能:
[0038] 该输入模块1用于接收两个字符串的输入;
[0039] 该处理模块2用于去除该两个字符串中的停止词、纠正该两个字符串中的错别字 以及将该两个字符串中的拼音更换为汉字;
[0040] 该分词模块3用于将该两个字符串分词为词组;
[0041] 该标注模块4用于标注每一词组对应的关键维度或非关键维度;
[0042] 该比较模块5用于比较该两个字符串中的词组,若任一关键维度上的两个词组不 相同则调用该输出模块7输出一字符串不匹配信息,否则调用该计算模块6 ;
[0043] 该计算模块6用于通过公式 ?3''/计算该两个字符串之间的匹配度,并调 Ρ = /B 用该输出模块7输出该匹配度;其中P表示两个字符串之间的匹配度,η表示该两个字符串 中词组相同的个数,%为该两个字符串中第i个相同的词组对应的权重值的两倍,B为该两 个字符串中每一词组对应的权重值的累加和。
[0044] 其中,进一步地该分词模块3包括一划分模块31和一匹配模块32,该字符串匹配 系统存储一包含多个词语的词库,该划分模块31用于对该两个字符串进行划分,该匹配模 块32用于将划分出的词语与该词库中的所有词语进行匹配,若匹配成功则将该划分出的 词语作为该词组。
[0045] 如图2所示,本实施例还提供了一种字符串匹配方法,其存储有若干关键维度和 若干非关键维度,每一关键维度和非关键维度均对应有权重值,该字符串匹配方法包括以 下步骤:
[0046] 步骤101、接收两个字符串的输入;
[0047] 步骤102、去除该两个字符串中的停止词、纠正该两个字符串中的错别字以及将该 两个字符串中的拼音更换为汉字;
[0048] 步骤103、将该两个字符串分词为词组,进一步地,该步骤包括下面两个步骤:对 该两个字符串进行划分;将划分出的词语与该词库中的所有词语进行匹配,若匹配成功则 将该划分出的词语作为该词组;
[0049] 步骤104、标注每一词组对应的关键维度或非关键维度;
[0050] 步骤105、比较该两个字符串中的词组,若任一关键维度上的两个词组不相同则进 入步骤106,否则进入步骤107 ;
[0051] 步骤106、输出一字符串不匹配信息,结束流程;
[0052] 步骤107、通过公式 /计算该两个字符串之间的匹配度,并输出该匹配 pJ-lA 度,结束流程;其中η表示该两个字符串中词组相同的个数,%为该两个字符串中第i个相 同的词组对应的权重值的两倍,B为该两个字符串中每一词组对应的权重值的累加和。
[0053] 下面举一具体的例子即以输入的两个酒店名称之间的匹配度来进行说明字符串 匹配系统及方法,以使得本领域技术人员更好地理解本发明,但本发明并不局限于只能应 用于计算酒店名称之间的匹配度,本发明可应用于计算各领域中两个字符串之间的匹配 度。
[0054] 不同的领域、不同的应用场景所设定的维度不同,其中抽取的关键维度也不同。在 本例中,对于酒店领域来说,其可能有的维度有"城市"、"酒店品牌"、"子品牌"、"酒店名称 描述词"、"区域"以及"无意义词"等,其中的关键维度为"城市"、"酒店品牌"、"子品牌"和 "区域",非关键维度为"酒店名称描述词"和"无意义词"。在关键维度中,"城市"对应的权 重值为5, "区域"对应的权重值为5, "酒店品牌"对应的权重值为10,"子品牌"对应的权重 值为8。在非关键维度中,"酒店名称描述词"对应的权重值为1,"无意义词"对应的权重值 为〇。
[0055] 词库包括通用词库和专用词库,通用词库是不区分行业的最广泛、最普通的词库, 为业界通用,包含如行政区域词库、自然语言词库等;专用词库是按照特定行业组织的一系 列较小但是更加专业的词库,其数据量远不如通用词库,但是在特定领域上比通用词库具 有更高的权威性,其采纳概率更高。在本例的酒店领域中,其采
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1