字符串模糊匹配方法及装置的制造方法

文档序号:10655342阅读:213来源:国知局
字符串模糊匹配方法及装置的制造方法
【专利摘要】本发明公开了一种字符串模糊匹配方法,所述字符串模糊匹配方法包括以下步骤:获取源文本和各个目标文本匹配的字符数量;根据匹配的所述字符数量与所述源文本的字符数量计算各个目标文本的源匹配度;根据所述源文本的字段数量获取所述源文本对应的第一预设阈值;获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹配的目标文本。本发明还公开了一种字符串模糊匹配装置。本发明解决了采用的精确查找的方式查找匹配的目标字符串的精确度低的问题,提高了字符串的识别率。
【专利说明】
字符串模糊匹配方法及装置
技术领域
[0001]本发明涉及信息处理技术领域,尤其涉及一种字符串模糊匹配方法及装置。【背景技术】
[0002]现有的数据查找过程中,通常使用精确匹配算法进行查找操作,如文本编辑中的查找替换,数据库中按索引进行检索等,其匹配要求严格准确,实现算法有带回溯的匹配算法、KMP算法等。然而,采用精确匹配算法查找数据时,需要待查找的数据与目标数据完全相同时,才能将待查找数据从目标数据中找出。在一些场合下,人们往往不能准确地给出完整的待查找数据(待查找字符串),如果采用精确匹配算法,由于精确匹配算法需要待查找字符串与目标字符串完全一样时,才能匹配成功,因此,在这种场合下使用精确匹配算法就得不到查找结果,造成查找字符串的识别率较低。
【发明内容】

[0003]本发明的主要目的在于提供一种字符串模糊匹配方法及装置,旨在解决现有技术采用精确匹配方法查找字符串的识别率较低的问题。
[0004]为实现上述目的,本发明提供的一种字符串模糊匹配方法,所述字符串模糊匹配方法包括以下步骤:
[0005]获取源文本和各个目标文本匹配的字符数量;
[0006]根据匹配的所述字符数量与所述源文本的字符数量计算各个目标文本的源匹配度;
[0007]根据所述源文本的字段数量获取所述源文本对应的第一预设阈值;
[0008]获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹配的目标文本。
[0009]可选地,所述获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹配的目标文本的步骤包括:
[0010]根据计算得出的各个目标文本的源匹配度确定源匹配度最高的目标文本;
[0011]判断所述源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值;
[0012]若是,则将所述源匹配度最高的目标文本作为匹配的目标文本。
[0013]可选地,所述匹配的目标文本存在多个时,所述将所述源匹配度最高的目标文本作为匹配的目标文本的步骤之后,还包括:
[0014]根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算各个所述匹配的目标文本的目标匹配度,并根据计算结果确定目标匹配度最高的目标文本;
[0015]将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。
[0016]可选地,所述将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本的步骤包括:
[0017]根据所述第一预设阈值获取所述源文本对应的第二预设阈值;
[0018]判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或者等于所述第二预设阈值;[〇〇19]若是,则将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。
[0020]可选地,所述获取源文本和各个目标文本匹配的字符数量的步骤包括:[0021 ]将所述源文本和所述各个目标文本转换为拼音形式的字符信息;
[0022]获取所述各个目标文本对应的拼音形式的字符信息与所述源文本对应的拼音形式的字符信息匹配的字符数量。[〇〇23]此外,为实现上述目的,本发明还提供一种字符串模糊匹配装置,所述字符串模糊匹配装置包括:
[0024]获取模块,用于获取源文本和各个目标文本匹配的字符数量;
[0025]第一计算模块,用于根据匹配的所述字符数量与所述源文本的字符数量计算各个目标文本的源匹配度;
[0026]所述获取模块,还用于根据所述源文本的字段数量获取所述源文本对应的第一预设阈值;
[0027]第一作为模块,用于获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹配的目标文本。[〇〇28]可选地,所述第一作为模块包括:
[0029]确定单元,用于根据计算得出的各个目标文本的源匹配度确定源匹配度最高的目标文本;
[0030]第一判断单元,用于判断所述源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值;
[0031]第一作为单元,用于若所述源匹配度最高的目标文本的源匹配度大于或等于所述第一预设阈值,则将所述源匹配度最高的目标文本作为匹配的目标文本。
[0032]可选地,所述匹配的目标文本存在多个时,所述字符串模糊匹配装置还包括:
[0033]第二计算模块,用于根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算各个匹配的所述目标文本的目标匹配度,并根据计算结果确定目标匹配度最高的目标文本;
[0034]第二作为模块,还用于将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。[〇〇35]可选地,所述第二作为模块包括:[〇〇36]获取单元,用于根据所述第一预设阈值获取所述源文本对应的第二预设阈值;
[0037]第二判断单元,用于判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或者等于所述第二预设阈值;
[0038]第二作为单元,用于若确定的所述目标匹配度最高的目标文本的目标匹配度大于或者等于所述第二预设阈值,则将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。[〇〇39]可选地,所述获取模块包括:
[0040]转换单元,用于将所述源文本和所述各个目标文本转换为拼音形式的字符信息;[0041 ]获取单元,用于获取所述各个目标文本对应的拼音形式的字符信息与所述源文本对应的拼音形式的字符信息匹配的字符数量。
[0042]本发明通过获取源文本和各个目标文本匹配的字符数量;根据所述字符数量计算所述各个目标文本的源匹配度;依次判断所述各个目标文本的源匹配度是否满足第一预设条件;若是,则将满足第一预设条件的目标文本作为匹配的目标文本。由于本实施例采用的是模糊匹配的方式查找匹配的目标文本,而不是采用的精确查找的方式查找匹配的目标文本,从而有效提尚了字符串的识别率。【附图说明】
[0043]图1为本发明字符串模糊匹配方法的第一实施例的流程示意图;
[0044]图2为本发明字符串模糊匹配方法的第二实施例的流程示意图;
[0045]图3为本发明字符串模糊匹配方法的第三实施例的流程示意图;
[0046]图4为本发明字符串模糊匹配方法的第四实施例的流程示意图;
[0047]图5为本发明字符串模糊匹配方法的第五实施例的流程示意图;
[0048]图6为本发明字符串模糊匹配装置的第一实施例的功能模块示意图;
[0049]图7为本发明字符串模糊匹配装置的第二实施例的功能模块示意图;
[0050]图8为本发明字符串模糊匹配装置的第三实施例的功能模块示意图;
[0051]图9为本发明字符串模糊匹配装置的第四实施例的功能模块示意图;[〇〇52]图10为本发明字符串模糊匹配装置的第五实施例的功能模块示意图。
[0053]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。【具体实施方式】[〇〇54]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0055]基于上述问题,本发明提供一种字符串模糊匹配方法。
[0056]参照图1,图1为本发明字符串模糊匹配方法的第一实施例的流程示意图。[〇〇57]在本实施例中,所述字符串模糊匹配方法包括:
[0058]步骤S10,获取源文本和各个目标文本匹配的字符数量;
[0059]在本实施中,所述源文本为用户输入的文本,所述源文本可以为语音文本、中文文本或者拼音文本。所述各个目标文本为用于和源文本匹配的文本,所述各个目标文本也可以为语音文本、中文文本或者拼音文本。在接收到用户输入的源文本后,系统将接收到的源文本与本地预存的各个目标文本进行匹配操作,查找源文本与各个目标文本相匹配的字符,即查找所述各个目标文本中的字符与源文本中的字符一致的字符,然后统计各个目标文本与源文本匹配的字符数量。
[0060]步骤S20,根据匹配的所述字符数量与所述源文本的字符数量计算各个目标文本的源匹配度;
[0061]在获取到各个目标文本与源文本匹配的字符数量后,可以根据该字符数量与源文本的字符数量计算各个目标文本的源匹配度,所述源匹配度为所述匹配的字符数量与源文本的字符数量的百分比,即所述源匹配度=匹配字符数量/源文本的字符数量*100%。例如,假设所述源文本字符数量为8个字符,各个目标文本与所述源文本匹配的字符数量分别为5个字符,4个字符,6个字符,1个字符,0个字符等,则各个目标文本的源匹配度依次为 62.5%、50.0%、75.0%、12.5%、0 等。[〇〇62]步骤S30,根据所述源文本的字段数量获取所述源文本对应的第一预设阈值;[〇〇63]步骤S40,获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹配的目标文本。
[0064]在获取到各个目标文本的源匹配度后,为了筛选出匹配的目标文本,可以通过依次判断所述各个目标文本的源匹配度是否大于或等于第一预设阈值的方式来查找匹配的目标文本,若目标文本的源匹配度大于或等于第一预设阈值的目标文本只有一个,则将该源匹配度大于或等于第一预设阈值目标文本作为匹配的目标文本,若源匹配度大于或等于第一预设阈值目标文本存在多个,则将所有的源匹配度大于或等于第一预设阈值目标文本都作为匹配的目标文本;若目标文本的源匹配度小于第一预设阈值,则该目标文本不是与源文本所匹配的目标文本,即该目标文本与所述源文本不匹配。在本实施例中,所述第一预设阈值与源文本的字段数量有关,即不同字段数量的源文本对应着不同的第一预设阈值, 其中,所述字段数量为源文本中的中文字符数量。故在判断目标文本的源匹配度是否大于或等于所述第一预设阈值之前,需要先确定源文本的字段数量,然后根据源文本的字段数量获取源文本对应的第一预设阈值。具体来说,所述第一预设阈值可以根据源文本的字段数量进行设置。例如,若源文本的字段数量为小于或等于2个,则可以设置第一预设阈值为 1,该第一预设阈值为1代表该目标文本的源匹配度为100%时,该目标文本才与源文本匹配;若源文本的字段数量大于2,即源文本中的中文字符数量多于2个,则可以设置第一预设阈值为0.67,该第一预设阈值为0.67代表该目标文本的源匹配度为67%或以上时,该目标文本与源文本才匹配。需要说明的是,上述所述的三个值可以根据实际需要自由设定和动态调整,也可以根据实际需要设置更多个第一预设阈值,在本实施例中,不做限定。比如在语音应用中,在源文本字段数量超过2个时设置第一预设阈值为0.67,在源文本字段数量小于或等于两个时设置第一预设阈值为1,即如果用户说了一个或者两个字,就必须全部匹配至IJ,如果说了三个字及以上,必须匹配到2/3以上。
[0065]本实施例通过获取源文本和各个目标文本匹配的字符数量;根据所述字符数量计算所述各个目标文本的源匹配度;依次判断所述各个目标文本的源匹配度是否满足第一预设条件;若是,则将满足第一预设条件的目标文本作为匹配的目标文本。由于本实施例采用的是模糊匹配的方式查找匹配的目标文本,而不是采用的精确查找的方式查找匹配的目标文本,从而有效提尚了字符串的识别率。
[0066]进一步的,参照图2,图2为本发明字符串模糊匹配方法的第二实施例的流程示意图。基于上述字符串模糊匹配方法的第一实施例,所述步骤S40包括:
[0067]步骤S41,根据计算得出的各个目标文本的源匹配度确定源匹配度最高的目标文本;
[0068]在计算出各个目标文本的源匹配度后,可以通过比较各个目标文本的源匹配度, 然后从中选择出源匹配度最高的目标文本。需要说明的是,若源匹配度最高的目标文本存在多个,则需要将该多个源匹配度最高的目标文本都选择出来。[〇〇69]步骤S42,判断所述源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值;
[0070]步骤S43,若是,则将所述源匹配度最高的目标文本作为匹配的目标文本。
[0071]在选择出源匹配度最高的目标文本后,由于选择出的源匹配度最高的目标文本的源匹配度可能很小,也就是表明选出的目标文本与源文本的差距很大,可能不是用户所需要的目标文本,因此,需要丢弃此次选出的目标文本,故在选择出源匹配度最高的目标文本后,可以判断源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值,若所述源匹配度最高的目标文本的源匹配度大于或等于所述第一预设阈值,则表明所述源匹配度最高的目标文本与所述源文本匹配,并将该源匹配度最高的目标文本作为匹配的目标文本,若源匹配度最高的目标文本的源匹配度小于所述第一预设预设,则表明所述源匹配度最高的目标文本与所述源文本不匹配,也即目标文本与所述源文本不匹配,用户可以重新输入源文本进行匹配操作。
[0072]本实施例通过在计算出所述各个目标文本的源匹配度之后,选择出源匹配度最高的目标文本组,然后对该选择出的目标文本进行判断,若该目标文本组的源匹配度大于或等于所述第一预设阈值,则将该目标文本作为匹配的目标文本,本实施例中通过对选择出源匹配度最高的目标文本的源匹配度进行判断,而不需要对每个目标文本的源匹配度进行判断,从而节省了匹配操作的时间。[〇〇73]进一步的,参照图3,图3为本发明字符串模糊匹配方法的第三实施例的流程示意图。基于上述字符串模糊匹配方法的第二实施例,所述匹配的目标文本存在多个,所述步骤 S43之后,还包括:
[0074]步骤S44,根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算各个匹配的所述目标文本的目标匹配度,并根据计算结果确定目标匹配度最高的目标文本;[〇〇75]步骤S45,将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。
[0076]由于通过上述方式获取的匹配的目标文本可能存在多个,因此,为了获取到更准确的匹配的目标文本,可以在获取到匹配的多个目标文本之后,根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算各个匹配的目标文本的目标匹配度,并在计算出各个匹配的目标文本的目标匹配度后,确定目标匹配度最高的目标文本,所述目标匹配度为所述匹配的字符数量与目标文本的字符数量的百分比,即所述目标匹配度=匹配的字符数量/目标文本的字符数量*1〇〇 %。例如,假设各个匹配的目标文本与源文本匹配的字符数量为5个字符,各个目标文本的字符数量分别为5个字符,6个字符,8个字符,10个字符,12 个字符,则各个目标文本的目标匹配度依次为1 〇〇 %、83.3 %、62.5 %、50 %、41.7 %,则目标匹配度最高的目标文本为所述目标匹配度为100%所对应的目标文本,在确定目标匹配度最高的目标文本后,将该目标文本作为最终匹配的目标文本,需要说明的是,若目标匹配度最高的目标文本存在多个,则将该多个目标匹配度最高的目标文本都作为最终匹配的目标文本。
[0077]本实施例通过在筛选出匹配的目标文本后,进一步根据该匹配的各个目标文本的目标匹配度作进一步的筛选,以获取最终匹配的目标文本,由于获取的最终匹配的目标文本经过了两次筛选,因此,提高了获取目标文本的准确率。
[0078]进一步的,参照图4,图4为本发明字符串模糊匹配方法的第四实施例的流程示意图。基于上述字符串模糊匹配方法的第三实施例,所述步骤S45包括:
[0079]步骤S451,根据所述第一预设阈值获取所述源文本对应的第二预设阈值;
[0080]在本实施例中,所述第二预设阈值与所述第一预设阈值有关,具体地来说,所述第二预设阈值可以根据所述第一预设阈值进行设置。例如,若所述第一预设阈值为1,则可以设置所述第二预设阈值也为1,该第二预设阈值为1代表目标文本的目标匹配度为1〇〇%时, 该目标文本与源文本才匹配;若所述第一预设阈值为〇.67,则可以设置所述第二预设阈值为0.50,该第二预设阈值为0.50代表目标文本的目标匹配度为50 %或以上时,该目标文本与源文本才匹配。需要说明的是,上述所述的各个阈值可以根据实际需要自由设定和动态调整,也可以根据实际需要设置更多个第二预设阈值,在本实施例中,不做限定。[0081 ]步骤S452,判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或者等于所述第二预设阈值;[〇〇82]步骤S453,若是,则将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。[〇〇83]在确定目标匹配度最高的目标文本后,由于确定的目标匹配度最高的目标文本的目标匹配度可能很小,也就是表明选出的目标文本与源文本的差距很大,可能不是用户所需要的目标文本,因此,需要丢弃此次选出的目标文本,故在确定目标匹配度最高的目标文本后,可以判断目标匹配度最高的目标文本的目标匹配度是否大于或等于所述第二预设阈值,若所述目标匹配度最高的目标文本的目标匹配度大于或等于所述第二预设阈值,则表明所述目标匹配度最高的目标文本与所述源文本匹配,并将该目标匹配度最高的目标文本作为最终匹配的目标文本,若目标匹配度最高的目标文本的目标匹配度小于所述第二预设预设,则表明所述目标匹配度最高的目标文本与所述源文本不匹配,也即目标文本与所述源文本匹配失败。
[0084]本实施例通过在将所述目标匹配度最高的目标文本作为最终匹配的目标文本之前,判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或等于所述第二预设阈值,若是,则匹配成功,若否,则匹配失败,本实施例通过对目标匹配度最高的目标文本的目标匹配度进行判断,以提高获取的目标文本的准确率。
[0085]进一步的,参照图5,图5为本发明字符串模糊匹配方法的第五实施例的流程示意图。基于上述字符串模糊匹配方法的任一实施例,所述步骤S10包括:
[0086]步骤SI 1,将所述源文本和所述各个目标文本转换为拼音形式的字符信息;
[0087]步骤S12,获取所述各个目标文本对应的拼音形式的字符信息与所述源文本对应的拼音形式的字符信息匹配的字符数量。
[0088]在本实施例中,所述源文本及目标文本为语音文本或者中文文本,系统在接收到源文本后,为了进行匹配操作,需要将源文本和各个目标文本转换为拼音形式的字符信息, 在将源文本和各个目标文本转换为拼音形式的字符信息后,可以将源文本的各个拼音字符信息从第一字符开始依次与目标文本的所有拼音形式的字符信息进行匹配,若匹配成功, 则记录下该字符,然后对源文本的第二个字符进行匹配操作,重复上述操作,直到对所述源文本的所有字符完成匹配操作,然后统计出目标文本与该源文本中匹配的字符数量,需要说明的是,若源文本中存在多个相同的字符,则在源文本与目标文本进行匹配操作时,若目标文本中只存在一个字符与源文本中多个相同的字符匹配,则在统计匹配的字符数量时, 只计算与该字符匹配的字符数量为一个,而不应该计算为多个。
[0089]本实施例通过将源文本和目标文本转换为拼音形式的字符信息进行匹配操作,可以提尚目标文本的识别率。
[0090]本发明进一步提供一种字符串模糊匹配装置。
[0091]参照图6,图6为本发明字符串模糊匹配装置的第一实施例的功能模块示意图。 [〇〇92]在本实施例中,所述字符串模糊匹配装置包括:获取模块10、第一计算模块20及第一作为模块30。
[0093]所述获取模块10,用于获取源文本和各个目标文本匹配的字符数量;
[0094]在本实施中,所述源文本为用户输入的文本,所述源文本可以为语音文本、中文文本或者拼音文本。所述各个目标文本为用于和源文本匹配的文本,所述各个目标文本也可以为语音文本、中文文本或者拼音文本。在接收到用户输入的源文本后,所述获取模块10将接收到的源文本与本地预存的各个目标文本进行匹配操作,查找源文本与各个目标文本相匹配的字符,即查找所述各个目标文本中的字符与源文本中的字符一致的字符,然后统计各个目标文本与源文本匹配的字符数量。
[0095]所述第一计算模块20,用于根据匹配的所述字符数量与所述源文本的字符数量计算各个目标文本的源匹配度;
[0096]在获取到各个目标文本与源文本匹配的字符数量后,所述第一计算模块20可以根据该字符数量与源文本的字符数量计算源文本与各个目标文本的源匹配度,所述源匹配度为所述匹配的字符数量与源文本的字符数量的百分比,即所述源匹配度=匹配字符数量/ 源文本的字符数量*1〇〇%。例如,假设所述源文本字符数量为8个字符,各个目标文本与所述源文本匹配的字符数量分别为5个字符,4个字符,6个字符,1个字符,0个字符等,则各个目标文本的源匹配度依次为62.5%、50.0%、75.0%、12.5%、0等。
[0097]所述获取模块10,还用于根据所述源文本的字段数量获取所述源文本对应的第一预设阈值;
[0098]所述第一作为模块30,用于获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹配的目标文本。
[0099]在获取到各个目标文本的源匹配度后,为了筛选出匹配的目标文本,可以通过依次判断所述各个目标文本的源匹配度是否大于或等于第一预设阈值的方式来查找匹配的目标文本,若目标文本的源匹配度大于或等于第一预设阈值的目标文本只有一个,则将该源匹配度大于或等于第一预设阈值目标文本作为匹配的目标文本,若源匹配度大于或等于第一预设阈值目标文本存在多个,则将所有的源匹配度大于或等于第一预设阈值目标文本都作为匹配的目标文本;若目标文本的源匹配度小于第一预设阈值,则该目标文本不是与源文本所匹配的目标文本,即该目标文本与所述源文本不匹配。在本实施例中,所述第一预设阈值与源文本的字段数量有关,即不同字段数量的源文本对应着不同的第一预设阈值, 其中,所述字段数量为源文本中的中文字符数量。故在判断目标文本的源匹配度是否大于或等于所述第一预设阈值之前,需要先确定源文本的字段数量,然后根据源文本的字段数量获取源文本对应的第一预设阈值。具体来说,所述第一预设阈值可以根据源文本的字段数量进行设置。例如,若源文本的字段数量为小于或等于2个,则可以设置第一预设阈值为 1,该第一预设阈值为1代表该目标文本的源匹配度为100%时,该目标文本才与源文本匹配;若源文本的字段数量大于2,即源文本中的中文字符数量多于2个,则可以设置第一预设阈值为0.67,该第一预设阈值为0.67代表该目标文本的源匹配度为66.7%或以上时,该目标文本与源文本才匹配。需要说明的是,上述所述的三个值可以根据实际需要自由设定和动态调整,也可以根据实际需要设置更多个第一预设阈值,在本实施例中,不做限定。比如在语音应用中,在源文本字段数量超过2个时设置第一预设阈值为0.67,在源文本字段数量小于或等于两个时设置第一预设阈值为1,即如果用户说了两个字,就必须全部匹配到,如果说了三个字及以上,必须匹配到2/3以上。
[0100]本实施例通过获取源文本和各个目标文本匹配的字符数量;根据所述字符数量计算所述各个目标文本的源匹配度;依次判断所述各个目标文本的源匹配度是否满足第一预设条件;若是,则将满足第一预设条件的目标文本作为匹配的目标文本。由于本实施例采用的是模糊匹配的方式查找匹配的目标文本,而不是采用的精确查找的方式查找匹配的目标文本,从而有效提尚了字符串的识别率。
[0101]进一步的,参照图7,图7为本发明字符串模糊匹配装置的第二实施例的功能模块示意图。基于上述字符串模糊匹配装置的第一实施例,所述第一作为模块30包括:确定单元 31、第一判断单元32及第一作为单元33。
[0102]所述确定单元31,用于根据计算得出的各个目标文本的源匹配度确定源匹配度最高的目标文本;
[0103]在计算出各个目标文本的源匹配度后,可以通过比较各个目标文本的源匹配度, 然后从中选择出源匹配度最高的目标文本。需要说明的是,若源匹配度最高的目标文本存在多个,则需要将该多个源匹配度最高的目标文本都选择出来。
[0104]所述第一判断单元32,用于判断所述源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值;
[0105]所述第一作为单元33,用于若所述源匹配度最高的目标文本的源匹配度大于或等于所述第一预设阈值,则将所述源匹配度最高的目标文本作为匹配的目标文本。
[0106]在选择出源匹配度最高的目标文本后,由于选择出的源匹配度最高的目标文本的源匹配度可能很小,也就是表明选出的目标文本与源文本的差距很大,可能不是用户所需要的目标文本,因此,需要丢弃此次选出的目标文本,故在选择出源匹配度最高的目标文本后,可以判断源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值,若所述源匹配度最高的目标文本的源匹配度大于或等于所述第一预设阈值,则表明所述源匹配度最高的目标文本与所述源文本匹配,并将该源匹配度最高的目标文本作为匹配的目标文本,若源匹配度最高的目标文本的源匹配度小于所述第一预设预设,则表明所述源匹配度最高的目标文本与所述源文本不匹配,也即目标文本与所述源文本不匹配,用户可以重新输入源文本进行匹配操作。
[0107]本实施例通过在计算出所述各个目标文本的源匹配度之后,选择出源匹配度最高的目标文本组,然后对该选择出的目标文本进行判断,若该目标文本组的源匹配度大于或等于所述第一预设阈值,则将该目标文本作为匹配的目标文本,本实施例中通过对选择出源匹配度最高的目标文本的源匹配度进行判断,而不需要对每个目标文本的源匹配度进行判断,从而节省了匹配操作的时间。
[0108]进一步的,参照图8,图8为本发明字符串模糊匹配装置的第三实施例的功能模块示意图。基于上述字符串模糊匹配装置的第二实施例,所述匹配的目标文本存在多个时,所述字符串模糊匹配装置还包括:第二计算模块40及第二作为模块50。
[0109]所述第二计算模块40,用于根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算各个匹配的所述目标文本的目标匹配度,并根据计算结果确定目标匹配度最尚的目标文本;[011 〇]所述第二作为模块50,还用于将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。
[0111]由于通过上述方式获取的匹配的目标文本可能存在多个,因此,为了获取到更准确的匹配的目标文本,可以在获取到匹配的多个目标文本之后,根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算所述源文本与各个匹配的所述目标文本的目标匹配度,并在计算出各个匹配的目标文本的目标匹配度后,根据各个匹配的目标文本的目标匹配度确定目标匹配度最高的目标文本,所述目标匹配度为所述匹配的字符数量与目标文本的字符数量的百分比,即所述目标匹配度=匹配的字符数量/目标文本的字符数量* 100%。例如,假设各个匹配的目标文本与源文本匹配的字符数量为5个字符,各个目标文本的字符数量分别为5个字符,6个字符,8个字符,10个字符,12个字符,则各个目标文本的目标匹配度依次为100%、83.3%、62.5%、50%、41.7%,则目标匹配度最高的目标文本为所述目标匹配度为100%所对应的目标文本,在确定目标匹配度最高的目标文本后,将该目标文本作为最终匹配的目标文本,需要说明的是,若目标匹配度最高的目标文本存在多个,则将该多个目标匹配度最高的目标文本都作为最终匹配的目标文本。
[0112]本实施例通过在筛选出匹配的目标文本后,进一步根据该匹配的各个目标文本的目标匹配度作进一步的筛选,以获取最终匹配的目标文本,由于获取的最终匹配的目标文本经过了两次筛选,因此,提高了获取目标文本的准确率。
[0113]进一步的,参照图9,图9为本发明字符串模糊匹配装置的第四实施例的流程示意图。基于上述字符串模糊匹配装置的第三实施例,所述第二作为模块包括50:获取单元51、 第二判断单元52及第二作为单元53。
[0114]所述获取单元51,用于根据所述第一预设阈值获取所述源文本对应的第二预设阈值;
[0115]在本实施例中,所述第二预设阈值与所述第一预设阈值有关,具体地来说,所述第二预设阈值可以根据所述第一预设阈值进行设置。例如,若所述第一预设阈值为1,则可以设置所述第二预设阈值也为1,该第二预设阈值为1代表目标文本的目标匹配度为1〇〇%时, 该目标文本与源文本才匹配;若所述第一预设阈值对应的源匹配度为〇.67,则可以设置所述第二预设阈值为〇.50,该第二预设阈值为0.50代表目标文本的目标匹配度为50%或以上时,该目标文本与源文本才匹配。需要说明的是,上述所述的各个阈值可以根据实际需要自由设定和动态调整,也可以根据实际需要设置更多个第二预设阈值,在本实施例中,不做限定。[〇116]所述第二判断单元52,用于判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或者等于所述第二预设阈值;[〇117]所述第二作为单元53,用于若确定的所述目标匹配度最高的目标文本的目标匹配度大于或者等于所述第二预设阈值,则将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。
[0118]在确定目标匹配度最高的目标文本后,由于确定的目标匹配度最高的目标文本的目标匹配度可能很小,也就是表明选出的目标文本与源文本的差距很大,可能不是用户所需要的目标文本,因此,需要丢弃此次选出的目标文本,故在确定目标匹配度最高的目标文本后,可以判断目标匹配度最高的目标文本的目标匹配度是否大于或等于所述第二预设阈值,若所述目标匹配度最高的目标文本的目标匹配度大于或等于所述第二预设阈值,则表明所述目标匹配度最高的目标文本与所述源文本匹配,并将该目标匹配度最高的目标文本作为最终匹配的目标文本,若目标匹配度最高的目标文本的目标匹配度小于所述第二预设预设,则表明所述目标匹配度最高的目标文本与所述源文本不匹配,也即目标文本与所述源文本匹配失败。
[0119]本实施例通过在将所述目标匹配度最高的目标文本作为最终匹配的目标文本之前,判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或等于所述第二预设阈值,若是,则匹配成功,若否,则匹配失败,本实施例通过对目标匹配度最高的目标文本的目标匹配度进行判断,以提高获取的目标文本的准确率。
[0120]进一步的,参照图10,图10为本发明字符串模糊匹配装置的第五实施例的流程示意图。基于上述字符串模糊匹配装置的任一实施例,所述获取模块10包括:转换单元11及获取单元12。[0121 ]所述转换单元11,用于将所述源文本和所述各个目标文本转换为拼音形式的字符信息;
[0122]所述获取单元12,用于获取所述各个目标文本对应的拼音形式的字符信息与所述源文本对应的拼音形式的字符信息匹配的字符数量。
[0123]在本实施例中,所述源文本及目标文本为语音文本或者中文文本,系统在接收到源文本后,为了进行匹配操作,需要将源文本和各个目标文本转换为拼音形式的字符信息, 在将源文本和各个目标文本转换为拼音形式的字符信息后,可以将源文本的各个拼音字符信息从第一字符开始依次与目标文本的所有拼音形式的字符信息进行匹配,若匹配成功, 则记录下该字符,然后对源文本的第二个字符进行匹配操作,重复上述操作,直到对所述源文本的所有字符完成匹配操作,然后统计出目标文本与该源文本中匹配的字符数量,需要说明的是,若源文本中存在多个相同的字符,则在源文本与目标文本进行匹配操作时,若目标文本中只存在一个字符与源文本中多个相同的字符匹配,则在统计匹配的字符数量时, 只计算与该字符匹配的字符数量为一个,而不应该计算为多个。
[0124]本实施例通过将源文本和目标文本转换为拼音形式的字符信息进行匹配操作,可以提尚目标文本的识别率。
[0125]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等) 执行本发明各个实施例所述的方法。
[0126]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种字符串模糊匹配方法,其特征在于,所述字符串模糊匹配方法包括以下步骤: 获取源文本和各个目标文本匹配的字符数量;根据匹配的所述字符数量与所述源文本的字符数量计算各个目标文本的源匹配度; 根据所述源文本的字段数量获取所述源文本对应的第一预设阈值;获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值的目标文本,并将获 取到的所述目标文本作为匹配的目标文本。2.如权利要求1所述的字符串模糊匹配方法,其特征在于,所述获取所述各个目标文本 的源匹配度大于或等于所述第一预设阈值的目标文本,并将获取到的所述目标文本作为匹 配的目标文本的步骤包括:根据计算得出的各个目标文本的源匹配度确定源匹配度最高的目标文本;判断所述源匹配度最高的目标文本的源匹配度是否大于或等于所述第一预设阈值; 若是,则将所述源匹配度最高的目标文本作为匹配的目标文本。3.如权利要求2所述的字符串模糊匹配方法,其特征在于,所述匹配的目标文本存在多 个时,所述将所述源匹配度最高的目标文本作为匹配的目标文本的步骤之后,还包括:根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量计算各个所述匹配 的目标文本的目标匹配度,并根据计算结果确定目标匹配度最高的目标文本;将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。4.如权利要求3所述的字符串模糊匹配方法,其特征在于,所述将确定的所述目标匹配 度最高的目标文本作为最终匹配的目标文本的步骤包括:根据所述第一预设阈值获取所述源文本对应的第二预设阈值;判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或者等于所述第 二预设阈值;若是,则将确定的所述目标匹配度最高的目标文本作为最终匹配的目标文本。5.如权利要求1至4任一项所述的字符串模糊匹配方法,其特征在于,所述获取源文本 和各个目标文本匹配的字符数量的步骤包括:将所述源文本和所述各个目标文本转换为拼音形式的字符信息;获取所述各个目标文本对应的拼音形式的字符信息与所述源文本对应的拼音形式的 字符信息匹配的字符数量。6.—种字符串模糊匹配装置,其特征在于,所述字符串模糊匹配装置包括:获取模块,用于获取源文本和各个目标文本匹配的字符数量;第一计算模块,用于根据匹配的所述字符数量与所述源文本的字符数量计算各个目标 文本的源匹配度;所述获取模块,还用于根据所述源文本的字段数量获取所述源文本对应的第一预设阈 值;第一作为模块,用于获取所述各个目标文本的源匹配度大于或等于所述第一预设阈值 的目标文本,并将获取到的所述目标文本作为匹配的目标文本。7.如权利要求6所述的字符串模糊匹配装置,其特征在于,所述第一作为模块包括:确定单元,用于根据计算得出的各个目标文本的源匹配度确定源匹配度最高的目标文 本;第一判断单元,用于判断所述源匹配度最高的目标文本的源匹配度是否大于或等于所 述第一预设阈值;第一作为单元,用于若所述源匹配度最高的目标文本的源匹配度大于或等于所述第一 预设阈值,则将所述源匹配度最高的目标文本作为匹配的目标文本。8.如权利要求7所述的字符串模糊匹配装置,其特征在于,所述匹配的目标文本存在多 个时,所述字符串模糊匹配装置还包括:第二计算模块,用于根据匹配的所述字符数量与各个匹配的所述目标文本的字符数量 计算各个匹配的所述目标文本的目标匹配度,并根据计算结果确定目标匹配度最高的目标 文本;第二作为模块,还用于将确定的所述目标匹配度最高的目标文本作为最终匹配的目标 文本。9.如权利要求8所述的字符串模糊匹配装置,其特征在于,所述第二作为模块包括:获取单元,用于根据所述第一预设阈值获取所述源文本对应的第二预设阈值;第二判断单元,用于判断确定的所述目标匹配度最高的目标文本的目标匹配度是否大于或者等于所述第二预设阈值;第二作为单元,用于若确定的所述目标匹配度最高的目标文本的目标匹配度大于或者 等于所述第二预设阈值,则将确定的所述目标匹配度最高的目标文本作为最终匹配的目标 文本。10.如权利要求6至9任一项所述的字符串模糊匹配装置,其特征在于,所述获取模块包 括:转换单元,用于将所述源文本和所述各个目标文本转换为拼音形式的字符信息;获取单元,用于获取所述各个目标文本对应的拼音形式的字符信息与所述源文本对应 的拼音形式的字符信息匹配的字符数量。
【文档编号】G06F17/30GK106021504SQ201610343584
【公开日】2016年10月12日
【申请日】2016年5月20日
【发明人】曾红
【申请人】深圳Tcl数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1