一种基于分词和多音字的检索方法、系统及电子设备转让专利

申请号 : CN202110543230.2

文献号 : CN112989230B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱纪伟东超郑睿明张劲涛

申请人 : 盛威时代科技集团有限公司

摘要 :

本发明提供一种基于分词和多音字的检索方法、系统及电子设备,属于信息检索技术领域,所述方法包括:获取用户输入待检索出发地或目的地的关键词,并判断关键词是拼音关键词还是汉字关键词;如果是拼音关键词,则通过预设城市信息表和预设客运站信息表进行匹配检索,然后通过预设城市多音字对照表进行检索,合并得到的检索结果后返回给用户;如果是汉字关键词,则通过预设地名分词表进行检索,并通过预设城市信息表和预设客运站信息表进行匹配检索,最后按照拼音关键词的检索步骤再进行检索,合并得到的检索结果后返回给用户。本发明提高了用户检索到出发地和目的地数据的命中率。

权利要求 :

1.一种基于分词和多音字的检索方法,其特征在于,所述方法包括:获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;

如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一检索结果;并根据所述拼音关键词通过预设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;

如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的检索结果后返回给用户;

其中,所述将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二汉字检索结果,包括:将每个汉字检索名称转换为拼音,得到对应的分词拼音关键词;

根据每个分词拼音关键词通过预设城市信息表和预设客运站信息表进行匹配检索;

将匹配检索后的结果通过预设城市多音字对照表进行检索,得到所述第二汉字检索结果。

2.根据权利要求1所述的基于分词和多音字的检索方法,其特征在于,在获取用户输入待检索出发地或目的地的关键词之前,所述方法还包括:确定所述预设城市信息表和预设客运站信息表;

根据枚举的所有乡镇及以上的行政地名的名称后缀,配置预设地名分词表,所述预设地名分词表的结构包括主键字段、唯一索引字段、后缀名称字段以及生成时间字段;

根据枚举所有的多音字字库,配置预设多音字大全表,所述预设多音字大全表的结构包括主键字段、字名称字段、第1 第n拼音字段、更新时间字段以及生成时间字段;

~

将所述预设地名分词表与所述多音字大全表进行分词匹配,生成预设城市多音字对照表,所述预设城市多音字对照表的结构包括主键字段、城市名称字段、城市全拼字段、城市简拼字段以及生成时间字段。

3.根据权利要求1所述的基于分词和多音字的检索方法,其特征在于,所述如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一检索结果,包括:根据用户输入的拼音关键词,通过预设城市信息表中的城市全拼字段进行检索,得到一个或多个地名结果;

根据每个地名结果,通过预设客运站信息表中的客运站全拼字段进行匹配检索,得到一个或多个地名客运站结果;

将所述地名客运站结果进行合并,得到所述第一拼音检索结果。

4.根据权利要求1所述的基于分词和多音字的检索方法,其特征在于,所述根据所述拼音关键词通过预设城市多音字对照表进行检索,得到第二拼音检索结果,包括:根据预设城市多音字对照表中的城市全拼字段进行检索,得到一个或多个地名结果;

将所述地名结果进行合并,得到所述第二拼音检索结果。

5.根据权利要求1所述的基于分词和多音字的检索方法,其特征在于,所述如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称,包括:判断所述汉字关键词是否包含其他字符,是则将汉字右侧的所有非汉字部分去掉,得到去掉其他字符的汉字关键词;

根据去掉其他字符的汉字关键词,将所述预设地名分词表加入至内存对象中进行匹配检索,得到所述汉字检索名称。

6.根据权利要求1所述的基于分词和多音字的检索方法,其特征在于,所述根据每个汉字检索名称分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果,包括:

根据所述汉字检索名称,通过预设城市信息表中的查找地名字段进行检索,得到一个或多个地名结果;

根据每个地名结果,通过预设客运站信息表中的客运站名称字段进行匹配检索,得到所述第一汉字检索结果。

7.一种基于分词和多音字的检索系统,其特征在于,所述系统包括:判断模块,用于获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;

拼音检索模块,用于根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一检索结果;并根据所述拼音关键词通过预设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;

汉字检索模块,用于根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的检索结果后返回给用户;

所述汉字检索模块,还用于:

将每个汉字检索名称转换为拼音,得到对应的分词拼音关键词;

根据每个分词拼音关键词通过预设城市信息表和预设客运站信息表进行匹配检索;

将匹配检索后的结果通过预设城市多音字对照表进行检索,得到所述第二汉字检索结果。

8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的基于分词和多音字的检索方法的步骤。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于分词和多音字的检索方法的步骤。

说明书 :

一种基于分词和多音字的检索方法、系统及电子设备

技术领域

[0001] 本发明涉及信息检索技术领域,尤其涉及一种基于分词和多音字的检索方法、系统及电子设备。

背景技术

[0002] 现有出行服务的互联网APP一般都是按出发地和目的地的汉字、拼音、简拼,匹配出下拉推荐出发地或目的地让用户二次确认后,进行班次查询,如果搜索的用户拼音不好,
分不清楚多音字场景的拼音或输入地名增加行政单位时就检索不到出发地和目的地。

发明内容

[0003] 本发明提供一种基于分词和多音字的检索方法、系统及电子设备,用以解决现有技术中因用户拼音不好或者输入地名不全而无法检索到出发地和目的地的问题,提高用户
搜索到期望的出发地和目的地的概率。
[0004] 本发明提供一种基于分词和多音字的检索方法,所述方法包括:
[0005] 获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;
[0006] 如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键词通过预
设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述
第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;
[0007] 如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通
过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;
将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二
汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的
检索结果后返回给用户。
[0008] 根据本发明所述的基于分词和多音字的检索方法,在获取用户输入待检索出发地或目的地的关键词之前,所述方法还包括:
[0009] 确定所述预设城市信息表和预设客运站信息表;
[0010] 根据枚举的所有乡镇及以上的行政地名的名称后缀,配置预设地名分词表,所述预设地名分词表的结构包括主键字段、唯一索引字段、后缀名称字段以及生成时间字段;
[0011] 根据枚举的所有多音字字库,配置预设多音字大全表,所述预设多音字大全表的结构包括主键字段、字名称字段、第1 第n拼音字段、更新时间字段以及生成时间字段;
~
[0012] 将所述预设地名分词表与所述多音字大全表进行分词匹配,生成预设城市多音字对照表,所述预设城市多音字对照表的结构包括主键字段、城市名称字段、城市全拼字段、
城市简拼字段以及生成时间字段。
[0013] 根据本发明所述的基于分词和多音字的检索方法,所述如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并
后的第一拼音检索结果,包括:
[0014] 根据用户输入的拼音关键词,通过预设城市信息表中的城市全拼字段进行检索,得到一个或多个地名结果;
[0015] 根据每个地名结果,通过预设客运站信息表中的客运站全拼字段进行匹配检索,得到一个或多个地名客运站结果;
[0016] 将所述地名客运站结果进行合并,得到所述第一拼音检索结果。
[0017] 根据本发明所述的基于分词和多音字的检索方法,所述根据所述拼音关键词通过预设城市多音字对照表进行检索,得到第二拼音检索结果,包括:
[0018] 根据预设城市多音字对照表中的城市全拼字段进行检索,得到一个或多个地名结果;
[0019] 将所述地名结果进行合并,得到所述第二拼音检索结果。
[0020] 根据本发明所述的基于分词和多音字的检索方法,所述如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个
以上的汉字检索名称,包括:
[0021] 判断所述汉字关键词是否包含其他字符,是则将汉字右侧的所有非汉字部分去掉,得到去掉其他字符的汉字关键词;
[0022] 根据去掉其他字符的汉字关键词,将所述预设地名分词表加入至内存对象中进行匹配检索,得到所述汉字检索名称。
[0023] 根据本发明所述的基于分词和多音字的检索方法,所述根据每个汉字检索名称分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结
果,包括:
[0024] 根据所述汉字检索名称,通过预设城市信息表中的查找地名字段进行检索,得到一个或多个地名结果;
[0025] 根据每个地名结果,通过预设客运站信息表中的客运站名称字段进行匹配检索,得到所述第一汉字检索结果。
[0026] 根据本发明所述的基于分词和多音字的检索方法,所述将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二汉字检索结果,包括:
[0027] 将每个汉字检索名称转换为拼音,得到对应的分词拼音关键词;
[0028] 根据每个分词拼音关键词通过预设城市信息表和预设客运站信息表进行匹配检索;
[0029] 将匹配检索后的结果通过预设城市多音字对照表进行检索,得到所述第二汉字检索结果。
[0030] 本发明还提供一种基于分词和多音字的检索系统,所述系统包括:
[0031] 判断模块,用于获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;
[0032] 拼音检索模块,用于根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键词通过预设
城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述第
二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;
[0033] 汉字检索模块,用于根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通过
预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;将
每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二汉
字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的检
索结果后返回给用户。
[0034] 本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于分词和多
音字的检索方法的步骤。
[0035] 本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于分词和多音字的检索方法的步骤。
[0036] 本发明提供的基于分词和多音字的检索方法、系统及电子设备,通过本发明通过整合地名后缀,形成针对性的分词检索和充分利用多音字库与出发站点和目的地站点的分
词多音字库对照,避免因为多音字输入拼音错误和地名关键字多输入地名后缀而查询不到
数据的问题,从而提高了用户检索到出发地和目的地数据的命中率。

附图说明

[0037] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一
些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些
附图获得其他的附图。
[0038] 图1是本发明提供的基于分词和多音字的检索方法的流程示意图;
[0039] 图2是本发明提供的配置相关信息表的流程示意图;
[0040] 图3是本发明提供的生成第一拼音检索结果的流程示意图;
[0041] 图4是本发明提供的生成第二拼音检索结果的流程示意图;
[0042] 图5是本发明提供的生成第一汉字检索结果的流程示意图;
[0043] 图6是本发明提供的生成第二汉字检索结果的流程示意图;
[0044] 图7是本发明提供基于分词和多音字的检索系统的结构示意图;
[0045] 图8是本发明提供的电子设备的结构示意图。

具体实施方式

[0046] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,
而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳
动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情
况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实
施。
[0048] 由于现有互联网出行检索系统,都是只针对出发地和目的地的名称、全拼、简拼做左右模糊匹配,如果搜索的用户拼音不好,分不清楚多音字场景的拼音或输入地名增加行
政地名检索时,则无法检索到出发地和目的地,影响用户搜索命中率。
[0049] 基于此,本发明提供的基于分词和多音字的检索方法及系统,通过增加多音字及分词的匹配检索,能提高用户搜索到期望的出发地和目的地的概率。
[0050] 下面结合图1‑图8描述本发明的基于分词和多音字的检索方法、系统及电子设备。
[0051] 图1是本发明提供的基于分词和多音字的检索方法的流程示意图,如图所示。一种基于分词和多音字的检索方法,所述方法包括:
[0052] 步骤101,获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词。
[0053] 优选的,所述拼音关键词包括通过全拼输入的全拼关键词和通过简拼输入的拼音关键词。
[0054] 步骤102,如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键
词通过预设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结
果与所述第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户。
[0055] 优选的,所述预设城市信息表描述了各省的客运站所在城市信息表。所述预设城市多音字表可根据“新华字典”的“多音字大全”枚举出所有的多音字库并缓存至本地的数
据库。
[0056] 优选的,所述客运站是泛指交通站点,比如包括高铁客运站、汽车客源站等等。
[0057] 步骤103,如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名
称分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检
索结果;将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,
得到第二汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去
掉重复的检索结果后返回给用户。
[0058] 优选的,所述预设地名分词表用于根据公开的行政划分代码枚举出所有乡镇及以上的行政地名名称后缀进行整合,从而得到所述预设地名分词表。
[0059] 综上所述,本发明与现有行业搜索技术相比,本发明整合了行政地名的后缀,形成针对性的分词检索和充分利用了新华字典库的多音字库与出发站点和目的地站点的分词
多音字库对照,避免了因为多音字输入拼音错误和地名关键字多输入地名后缀而查询不到
数据的问题,从而提高了用户检索到出发地和目的地数据的命中率。
[0060] 以下对上述步骤101 103进行具体描述。~
[0061] 图2是本发明提供的配置相关信息表的流程示意图,如图所示。上述所述步骤101中,在获取用户输入待检索出发地或目的地的关键词之前,所述方法还包括:
[0062] 步骤201,确定所述预设城市信息表和预设客运站信息表。
[0063] 步骤202,根据枚举的所有乡镇及以上的行政地名的名称后缀,配置预设地名分词表,所述预设地名分词表的结构包括主键字段、唯一索引字段、后缀名称字段以及生成时间
字段。
[0064] 比如,根据实际长途交通行业一般的搜索习惯获取整合的后缀有(市,州,县,自治县,左旗,右旗,中期,区,自治区,镇,乡),把所述数据导入到预设地名分词表
(participleThesuffixinfo表),结构为(id,suffixname:后缀名称,createtime:生成时
间),其中id字段表示为主键, suffixname字段表示为唯一索引,createtime字段表示为生
成时间。
[0065] 步骤203,根据枚举的所有多音字字库,配置预设多音字大全表,所述预设多音字大全表的结构包括主键字段、字名称字段、第1 第n拼音字段、更新时间字段以及生成时间
~
字段;
[0066] 优选的,先统一从网站“新华字典”的“多音字大全”枚举出所有的多音字库缓存到本地的数据库多音字大全表。
[0067] 比如:预设多音字大全表polyphoneinfo结构为(id,charactername:字名称,spellone:拼音1,spelltwo:拼音2,spellthree:拼音3,spellfour:拼音4,spellfive:拼音
5,updatetime,createtime),其中,id表示主键字段,charactername表示字名称,spellone
表示拼音1,spelltwo表示拼音2,spellthree表示拼音3,spellfour表示拼音4,spellfive
表示拼音5。
[0068] 需要说明的是,上述步骤201 203的先后顺序不限定,可以分别进行,也可以同步~
进行。
[0069] 步骤204,将所述预设地名分词表与所述多音字大全表进行分词匹配,生成预设城市多音字对照表,所述预设城市多音字对照表的结构包括主键字段、城市名称字段、城市全
拼字段、城市简拼字段以及生成时间字段。
[0070] 比如,预设城市信息表buscityinfo的字段 cityname 存储有名称为“单县”,预设城市信息表buscityinfo的拼音数据为字段city_jianpin,city_quanpin ,通过分词到预
设多音字大全表polyphoneinfo的charactername匹配到shanxian,danxian,chanxian,存
储到预设城市多音字对照表citypolyphoneinfo,所述预设城市多音字对照表的结构为
(id,cityid,city_quanpin,city_jianpin,createtime),正确的拼音可不单独存储。其中,
id表示键字段,cityid表示城市名称字段,city_quanpin表示城市全拼字段,city_jianpin
表示城市简拼字段,createtime表示生成时间字段。
[0071] 示例表数据:
[0072] id cityid city_quanpin city_jianpin createtime1 371722000000 danxian dx 2021/4/23 12:10 PM
2 371722000000 chanxian cx 2021/4/23 12:10 PM
[0073] 图3是本发明提供的生成第一拼音检索结果的流程示意图,如图所示。所述步骤102中,所述如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客
运站信息表进行匹配检索,得到合并后的第一拼音检索结果,包括:
[0074] 步骤301,根据用户输入的拼音关键词,通过预设城市信息表中的城市全拼字段进行检索,得到一个或多个地名结果。
[0075] 比如,当用户输入拼音关键词“shanxian”通过预设城市信息表buscityinfo表中的city_quanpin字段检索出“单县;竹山县”。
[0076] 步骤302,根据每个地名结果,通过预设客运站信息表中的客运站全拼字段进行匹配检索,得到一个或多个地名客运站结果。
[0077] 比如,再从预设客运站信息表businfo表的busshortname_quanpin字段左右模糊匹配出“单县客运站;竹山县客运站”。
[0078] 步骤303,将所述地名客运站结果进行合并,得到所述第一拼音检索结果。
[0079] 比如,将上述步骤301检索出的“单县,竹山县”与步骤302 检索出的“单县客运站,竹山县客运站”进行合并,得到“单县,竹山县,单县客运站,竹山县客运站”。
[0080] 图4是本发明提供的生成第二拼音检索结果的流程示意图,如图所示。上述所述步骤102中,所述根据所述拼音关键词通过预设城市多音字对照表进行检索,得到第二拼音检
索结果,包括:
[0081] 步骤401,根据预设城市多音字对照表中的城市全拼字段进行检索,得到一个或多个地名结果。
[0082] 比如,通过预设城市多音字对照表citypolyphoneinfo表中的city_quanpin字段检索出“竹山县;通山县”。
[0083] 步骤402,将所述地名结果进行合并,得到所述第二拼音检索结果。
[0084] 比如,将上述步骤303检索出的“单县,竹山县,单县客运站,竹山县客运站”与上述步骤401检索出的“竹山县,通山县”进行合并,去掉重复数据后得到结果“单县,竹山县,通
山县,单县客运站,竹山县客运站”,并将该结果返回给用户。
[0085] 图5是本发明提供的生成第一汉字检索结果的流程示意图,如图所示。上述所述步骤103中,所述如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或
去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称,根据每个汉字检索名称分别
通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结
果,包括:
[0086] 步骤501,判断所述汉字关键词是否包含其他字符,是则将汉字右侧的所有非汉字部分去掉,得到去掉其他字符的汉字关键词。
[0087] 步骤502,根据去掉其他字符的汉字关键词,将所述预设地名分词表加入至内存对象中进行匹配检索,得到所述汉字检索名称。
[0088] 比 如,输入关键 词“单县”,根据系统 启动时把预设地名分词表participleThesuffixinfo的数据加入到内存对象中,匹配出真正检索的关键词为“单;单
县”。
[0089] 步骤503,根据所述汉字检索名称,通过预设城市信息表中的查找地名字段进行检索,得到一个或多个地名结果。
[0090] 比如,根据真正的关键词“单,单县”从预设城市信息表buscityinfo表的findname字段检索模糊匹配检索,得到多个地名结果,即“单县,单桥镇”。
[0091] 步骤504,根据每个地名结果,通过预设客运站信息表中的客运站名称字段进行匹配检索,得到所述第一汉字检索结果。
[0092] 比如,通过预设客运站信息表businfo表的busshortname字段进行检索,获取到数据为第一汉字检索结果,即“单县,单县汽车站,单桥镇”。
[0093] 图6是本发明提供的生成第二汉字检索结果的流程示意图,如图所示,上述所述步骤103中,所述将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行
检索,得到第二汉字检索结果,包括:
[0094] 步骤601,将每个汉字检索名称转换为拼音,得到对应的分词拼音关键词。
[0095] 步骤602,根据每个分词拼音关键词通过预设城市信息表和预设客运站信息表进行匹配检索。
[0096] 步骤603,将匹配检索后的结果通过预设城市多音字对照表进行检索,得到所述第二汉字检索结果。
[0097] 比如:通过预设城市多音字对照表citypolyphoneinfo表中的city_quanpin字段检索出“竹山县,通山县”。
[0098] 然后,将上述步骤504的第一汉字检索结果与步骤603的第二汉字检索结果进行合并,去掉重复的检索结果后返回给用户。
[0099] 比如,根据以上示例数据结果返回用户数据为“单县,单县汽车站,单桥镇,竹山县,通山县”。
[0100] 综上所述,本发明通过基于乡镇地名以上行政级别的后缀和新华字典库的多音字进行了扩大范围的模糊检索,解决了部分人多音字拼音输入错误、多输入或少输入行政级
别名称后缀而导致查询不到数据的问题。
[0101] 下面对本发明提供的基于分词和多音字的检索系统进行描述,下文描述的基于分词和多音字的检索系统与上文描述的基于分词和多音字的检索方法可相互对应参照。
[0102] 图7是本发明提供基于分词和多音字的检索系统的结构示意图,如图所示。一种基于分词和多音字的检索系统700,所述系统包括判断模块710、拼音检索模块720以及汉字检
索模块730,其中,
[0103] 判断模块710,用于获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词。
[0104] 拼音检索模块720,用于根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键词通过
预设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所
述第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户。
[0105] 汉字检索模块730,用于根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别
通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结
果;将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到
第二汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重
复的检索结果后返回给用户。
[0106] 优选的,所述系统700,还用于执行如下步骤:
[0107] 确定所述预设城市信息表和预设客运站信息表;
[0108] 根据枚举的所有乡镇及以上的行政地名的名称后缀,配置预设地名分词表,所述预设地名分词表的结构包括主键字段、唯一索引字段、后缀名称字段以及生成时间字段;
[0109] 根据枚举的所有多音字字库,配置预设多音字大全表,所述预设多音字大全表的结构包括主键字段、字名称字段、第1 第n拼音字段、更新时间字段以及生成时间字段;
~
[0110] 将所述预设地名分词表与所述多音字大全表进行分词匹配,生成预设城市多音字对照表,所述预设城市多音字对照表的结构包括主键字段、城市名称字段、城市全拼字段、
城市简拼字段以及生成时间字段。
[0111] 优选的,所述拼音检索模块720,还用于执行如下步骤:
[0112] 根据用户输入的拼音关键词,通过预设城市信息表中的城市全拼字段进行检索,得到一个或多个地名结果;
[0113] 根据每个地名结果,通过预设客运站信息表中的客运站全拼字段进行匹配检索,得到一个或多个地名客运站结果;
[0114] 将所述地名客运站结果进行合并,得到所述第一拼音检索结果。
[0115] 优选的,所述拼音检索模块720,还用于执行如下步骤:
[0116] 根据预设城市多音字对照表中的城市全拼字段进行检索,得到一个或多个地名结果;
[0117] 将所述地名结果进行合并,得到所述第二拼音检索结果。
[0118] 优选的,所述汉字检索模块730,还用于执行如下步骤:
[0119] 判断所述汉字关键词是否包含其他字符,是则将汉字右侧的所有非汉字部分去掉,得到去掉其他字符的汉字关键词;
[0120] 根据去掉其他字符的汉字关键词,将所述预设地名分词表加入至内存对象中进行匹配检索,得到所述汉字检索名称。
[0121] 优选的,所述汉字检索模块730,还用于执行如下步骤:
[0122] 根据所述汉字检索名称,通过预设城市信息表中的查找地名字段进行检索,得到一个或多个地名结果;
[0123] 根据每个地名结果,通过预设客运站信息表中的客运站名称字段进行匹配检索,得到所述第一汉字检索结果。
[0124] 优选的,所述汉字检索模块730,还用于执行如下步骤:
[0125] 将每个汉字检索名称转换为拼音,得到对应的分词拼音关键词;
[0126] 根据每个分词拼音关键词通过预设城市信息表和预设客运站信息表进行匹配检索;
[0127] 将匹配检索后的结果通过预设城市多音字对照表进行检索,得到所述第二汉字检索结果。
[0128] 图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和
通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通
信。处理器810可以调用存储器830中的逻辑指令,以执行所述基于分词和多音字的检索方
法,所述方法包括:
[0129] 获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;
[0130] 如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键词通过预
设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述
第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;
[0131] 如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通
过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;
将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二
汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的
检索结果后返回给用户。
[0132] 此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以
软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以
使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,
Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
[0133] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序
指令被计算机执行时,计算机能够执行上述各方法所提供的所述基于分词和多音字的检索
方法,所述方法包括:
[0134] 获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;
[0135] 如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键词通过预
设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述
第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;
[0136] 如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通
过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;
将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二
汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的
检索结果后返回给用户。
[0137] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的所述基于分词和多音字的检索
方法,所述方法包括:
[0138] 获取用户输入待检索出发地或目的地的关键词,并判断所述关键词是拼音关键词还是汉字关键词;
[0139] 如果是拼音关键词,则根据所述拼音关键词分别通过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一拼音检索结果;并根据所述拼音关键词通过预
设城市多音字对照表进行检索,得到第二拼音检索结果;将所述第一拼音检索结果与所述
第二拼音检索结果进行合并,去掉重复的检索结果后返回给用户;
[0140] 如果是汉字关键词,则根据所述汉字关键词通过预设地名分词表进行增加或去掉地名后缀进行匹配检索,得到一个以上的汉字检索名称;并根据每个汉字检索名称分别通
过预设城市信息表和预设客运站信息表进行匹配检索,得到合并后的第一汉字检索结果;
将每个汉字检索名称转换为拼音后按照所述拼音关键词的检索步骤再进行检索,得到第二
汉字检索结果;将所述第一汉字检索结果与所述第二汉字检索结果进行合并,去掉重复的
检索结果后返回给用户。
[0141] 以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0142] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
[0143] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。