CN108228657B - 一种关键字检索的实现方法及装置 - Google Patents
一种关键字检索的实现方法及装置 Download PDFInfo
- Publication number
- CN108228657B CN108228657B CN201611196440.4A CN201611196440A CN108228657B CN 108228657 B CN108228657 B CN 108228657B CN 201611196440 A CN201611196440 A CN 201611196440A CN 108228657 B CN108228657 B CN 108228657B
- Authority
- CN
- China
- Prior art keywords
- index information
- path
- effective
- keywords
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
Abstract
本发明公开了一种关键字检索的实现方法及装置,获取用户输入文本,分析所述输入文本的拆分路径;查找索引信息判定所述拆分路径的有效性;匹配有效拆分路径对应的关键字的索引信息,确定检索结果。采用上述方法,对输入本文的全部拆分方式进行判断,有效地避免了由于分词工具不一致带来的检索不出关键字的现象,提高了检索的准确度;而且还可以对拆分路径的有效性进行判断,简化关键字对应的索引信息的匹配步骤,节省检索时间,提高了检索效率。
Description
技术领域
本发明涉及一种关键字检索的实现方法及装置。
背景技术
随着信息技术的飞速发展,检索逐渐发展为一种必不可少的技术,目前应用比较广泛的检索方式为关键字检索,其中,关键字是指用户在使用检索引擎时,输入的所要查找的信息内容。
关键字检索的实现方案主要包括两部分,索引数据的制作和基于索引数据的检索算法实现。现有技术中,在制作索引数据时需要对文本进行分词,将文本拆分为多个关键字,以每个关键字作为主键,构造关键字对应的要素ID;在检索算法实现时,也需要使用分词工具对用户输入的文本进行分词,获得多个关键字,再通过查找索引数据,获得每个关键字对应的要素ID列表,从而得到检索结果。但当检索算法使用的分词工具,与制作倒排索引数据使用的分词工具不一致时,对相同的文本进行分词会得到不同的拆分结果,导致检索失败。例如,对于“东北大药房”文本,如果在制作索引数据时,使用的分词工具(A)的拆分结果是:“东北”、“大药房”两个关键字;而检索算法使用的分词工具(B)的拆分结果可能为“东北”、“大”、“药房”三个关键字;则在索引数据中查找时,则可能查找不到“大药房”的关键字,从而导致检索失败,无法为用户提供最终的检索结果。在实际项目中,检索软件和索引数据可能是由不同的公司提供,通常是独立发布的,这就无法保证数据的制作与算法软件使用相同的分词工具,因此经常会发生由于分词不一致带来的检索结果不合适的现象。
发明内容
鉴于现有技术中存在的技术缺陷和技术弊端,本发明实施例提供克服上述问题或者至少部分地解决上述问题的一种关键字检索的实现方法及装置。
作为本发明实施例的一个方面,本发明提供一种关键字检索的实现方法,所述方法包括:
获取用户输入文本,分析所述输入文本的拆分路径;
查找索引信息判定所述拆分路径的有效性;
匹配有效拆分路径对应的关键字的索引信息,确定检索结果。
在一个实施例中,分析所述输入文本的拆分路径,包括:
创建表示起点的根节点;
拆分所述输入文本的关键字,确定根节点对应的全部子节点;
依次循环拆分所述子节点对应的子节点,确定全部拆分路径。
在一个实施例中,查找索引信息确定所述拆分路径的有效性,包括:
在索引信息中分别查找各个拆分路径对应的关键字;
当索引信息中包括所述关键字时,判定所述关键字对应的子节点为有效节点;
当所述拆分路径中的关键字均为有效节点时,判定所述拆分路径为有效路径。
在一个实施例中,在索引信息中分别查找各个拆分路径中对应的关键字,包括:
在索引信息中分别查找以所述关键字为前缀的索引关键字。
在一个实施例中,所述索引信息设置于本地数据库和/或服务器;
所述索引信息的生成方法,包括:
预设文本要素的标识信息;
采用分词工具将文本要素划分为若干索引词;
生成包括所述索引词及与所述索引词对应的标识信息的关键字列表;
所述标识信息包括:要素标识、属性标识、位置标识。
在一个实施例中,匹配有效拆分路径对应的关键字的索引信息,确定检索结果,包括:
确定有效拆分路径中关键字的索引信息;
将同一拆分路径中关键字的索引信息进行匹配;
当关键字的索引信息包括相匹配的标识信息时,确定对应的文本要素为检索结果。
在一个实施例中,分析所述输入文本的拆分路径,查找索引信息判定所述拆分路径的有效性,包括:
逐层拆分所述输入文本的子节点;
并逐层判定所述子节点是否为有效节点;
拆分有效节点的子节点,当拆分路径对应的子节点全部为有效节点时,判定所述拆分路径有效。
作为本发明实施例的再一方面,提供了一种关键字检索的实现装置,所述装置包括:
获取模块,用于获取用户输入文本;
分析模块,用于分析所述输入文本的拆分路径;
判断模块,用于确定所述拆分路径的有效性;
匹配模块,用于匹配有效的拆分路径对应的关键字的索引信息;
数据模块,用于存储包括文本要素及对应的标识信息的索引信息;
展示模块,用于提供并展示检索结果。
作为本发明实施例的再一方面,提供了一种导航装置,所述导航装置包括:
处理器;
用于存储处理器可执行命令的存储器;
用于存储索引信息的数据库;
其中,所述处理器被配置为:
获取用户输入文本,分析所述输入文本的拆分路径;
查找索引信息判定所述拆分路径的有效性;
匹配有效拆分路径对应的关键字的索引信息,确定检索结果;
所述数据库设置于导航装置和/或服务器。
作为本发明实施例的再一方面,提供了一种服务器,所述服务器用于执行如上述任意一项所述的关键字检索的实现方法。本发明实施例至少实现了如下技术效果:
本发明实施例提出的一种关键字检索的实现方法及装置,获取用户输入文本,分析所述输入文本的拆分路径;查找索引信息判定所述拆分路径的有效性;匹配有效拆分路径对应的关键字的索引信息,确定检索结果。采用上述方法,对输入本文的每种拆分可能均进行判断,有效地避免了由于分词工具不一致带来的检索不出关键字的现象,提高了检索的准确度;且由于对拆分路径的有效性进行判断,简化了匹配的步骤,减少了检索时间;另外,当用户输入的文本不全时,也可以通过采用前向匹配查找的方法,检索出补全的关键词,从而获得用户想要的结果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所记载的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实现方法的流程图;
图2为本发明实施例文本要素拆分的示意图;
图3为本发明分析拆分路径的流程图;
图4为本发明输入不完整文本拆分的示意图;
图5为本发明生成索引信息的流程同;
图6为本发明匹配检索结果的流程图;
图7为本发明分析有效拆分路径的流程图;
图8为本发明装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
关键字的检索主要包括两个部分,索引数据的存储方式及检索的实现方式,现有技术中,索引数据通常通过分词工具将文本要素进行分词后,关联存储;检索的实现方法通常也是通过将用户输入的文本进行分词,获得若干关键字,再根据获得关键字在索引数据去查找,最后将查找到的关键字在整合为检索结果列表。通过上述方法,无法保证数据的制作与检索的实现方法(算法软件)使用相同的分词工具,因此经常会发生由于分词不一致带来的检索结果不合适的现象。本发明的方法可以应用于导航设备、服务器或其他具有检索功能的终端。
下面分别对本发明实施例提供的一种关键字检索的实现方法的各种具体实施方式进行详细的说明。
本发明提供一种关键字检索的实现方法,如图1,所述方法包括:
S101 获取用户输入文本,分析所述输入文本的拆分路径;
S102查找索引信息确定所述拆分路径的有效性;
S103匹配有效的拆分路径对应的关键字的索引信息;
S104 确定检索结果。
在本发明中,首先获取用户的输入文本,对输入文本进行分析,解析出所有可能的关键字拆分方式,即全部的拆分路径,其中一种拆分路径为一种拆分方式,且每一种拆分路径包括按一种拆分方式拆分的输入文本的全部关键字,例如“北京大学”,其中的一种拆分方式为“北京/大学”,即其中的一种拆分路径为“北京/大学”,且本发明的分析方法不仅提供一种拆分方式,还解析输入文本的全部拆分路径,包括“北/京/大/学”、“北/京/大学”、“北/京大学” “北京/大/学”、“北京/大学”、“北京大/学”、“北京大学”等所有可能的拆分路径;再根据获得的拆分路径,查找存储的索引信息,判断拆分路径的有有效性,判断有效性的方法有很多种,可以根据用户的需求自行定义,例如可以是当索引信息中包括拆分路径中的关键字时,判定拆分路径有效,例如,索引数据中包括“北京”、“大学”,则有效拆分路径为“北/京/大学”、“北京/大/学” “北京/大学”等包括“北京”、“大学”两个的全部拆分路径,对应的检索结果分别包括包含“北京”、“大学”的全部文本要素;或者也可以当拆分路径中对应的预设数量的关键字包括在索引数据内时,判定拆分路径有效,其中预设数量可以是一个、两个或全部关键字等,例如,如果设定当全部关键字包括在索引数据内时,判定所述拆分路径有效,则上述拆分路径中仅“北京/大学”为有效,即需要同时包括“北京”“大学”;确定有效的拆分路径之后,可以对有效拆分路径中的关键字对应的索引信息进行缓存,通过每个关键字对应的要素标识进行匹配,获取同一拆分路径中每个关键字均包括的文本要素,按照一定的相关度生成检索结果列表,并将其展示给用户,例如,当判定的有效路径为“北京/大学”时,分别获取在索引数据中分别与“北京”“大学”对应的要素信息,将要素信息进行匹配,提取相匹配的要素,按照一定权重排序并制作检索结果列表,并展示给用户。
当输入文本的拆分路径多条有效时,则按照每条路径分别继续匹配提取,再把多条有效拆分路径的匹配要素进行统一合并、排序,得到最终的检索结果。
本发明中的关键字不仅可以代表一个字,也可以代表一个词,即每个关键字至少包括一个字,可以包括多个字。
本实施例中,还可以用路径树的形式表示,其中本实施例指的路径树是为多叉树,用来描述用户输入文本的所有可能的有效拆分路径。例如,上述的拆分路径可以用路径树表示,如图2,采用路径树的形式,可以是更简单、准确的为输入文本进行拆分,能够提供检索的效率。
本实施例中的索引信息可以存储于本地,也可以存储于服务器上,通过网络传输获取,如wifi,移动等,本发明可以同时支持在线及离线检索。
在一个实施例中,在步骤S101,分析所述输入文本的拆分路径,如图3,包括:
S201 创建表示起点的根节点;
S202 拆分所述输入文本的关键字,确定根节点对应的全部子节点;
S203依次循环拆分所述子节点对应的子节点,确定全部拆分路径。
在本实施例中,当获取用户的输入文本后,创建完整的路径树,首先确定不表示任何文本的根节点,确定输入文本全部拆分可能,作为根节点的子节点,再按照相同方式逐层拆分子节点对应的子节点,最后生成输入文本的全部拆分方式,形成一个完整的路径树,将其进行缓存,后续可以采用任意方法判断其有效性。例如,对于输入文本“北京大学”,S201首先构造根节点,其中,根节点只代表一个起点,不对应任何关键字;在S202步骤中,构造根节点的子节点,每个拆分的关键字为一个子节点;如,将“北京大学”进行拆分操作,可以拆分为 “北”、“北京”、“北京大”、“北京大学”关键字,则这四个子关键字为根节点的四个子节点,参见图2中的第一层子节点;在S203步骤中,依次处理第一层中全部节点,创建有第一层节点的子节点,即第二层节点,例如,拆分的第一个字是“北”,其对应的第二层拆分文本为“京大学”,则“北”节点对应的第二层子节点为“京”、“京大”、“京大学”;以此类推,通过递归的方式完成所有节点的处理(S205),直到完成所有的关键字拆分。
在一个实施例中,在步骤S102,确定所述拆分路径的有效性,包括:
在索引信息中分别查找拆分路径中对应的关键字;
当索引信息中包括所述关键字时,判定所述关键字对应的子节点为有效节点;
当索引信息中不包括所述关键字时,判定所述关键字对应的子节点为无效节点;
当所述拆分路径中的关键字均为有效节点时,判定所述拆分路径为有效路径。
本实施例中也可以理解为当一个拆分路径包括一个无效节点时,这可终止该路径的拆分,判定该路径为无效路径。通过本方法可以减少运算量,也可以保证不会漏掉可能的拆分路径,还可以提高检索的质量,提高检索结果的相关度,从而提升了用户的体验。
在一个实施例中,在索引信息中分别查找各个拆分路径中对应的关键字,,包括:
在索引信息中分别查找各个拆分路径中对应的关键字;或
在索引信息中分别查找以所述关键字为前缀的关键字。即本发明中的关键字的有效是指,存储的索引信息中是否存在以此节点代表的文本为前缀的关键字(即索引信息中的索引词)。通过以关键字节点为前缀的方法,即采用对关键字前向匹配的查找方法,在用户输入的文本不全的情况下,也能保证能够检索出相关结果。例如,对于“东北大药房”文本,用户只输入“东大药”,传统的检索算法是无法获得“东北”、“大药房”这两个关键字来进行检索的。最终导致没有检索结果,即使检索算法与倒排索引数据制作使用相同的分词工具,也无法获得准确的关键字,导致检索失败;采用本实施例的方法,当用户想要检索“东北大药房”,却输入“东大药”时,生成对应的路径树,如图4,假定索引数据中只包括“东北”、“大药房”两个关键字对应的数据,则路径树中的有效节点只有“东”、“大”、“大药”,其他节点在路径树初始化时就可确定为无效节点;虽然“大”为有效节点,但其子节点“药”为无效,所以,有效路径只有“东”->“大药”一条,则分别以“东” “大药”为前缀进行查找,即在索引数据中查找“东*”“大药*”,其中“*”代表任意文本,且可以表示多个字节,由于“东北大药房”对应的要素ID,分别保存在“东北”、“大药房”节点的匹配信息列表中,因此根据匹配信息可以获得“东北大药房”的检索结果,当然,若索引数据中还包括其他关键词,如“东方”“大药店”等等,根据存储的匹配信息,均有可能匹配为检索结果。
通过本实施例方法,在无法得到完整的关键字的情况下,也能找到满足用户输入条件的要素,有效的提高了检索效率,提升了用户体验。
在一个实施例中,在步骤S103中,所述索引信息设置于本地数据库和/或服务器;所述索引信息的生成方法,如图5,包括:
S301预设文本要素的标识信息;
S302采用分词工具将文本要素划分为若干关键字(索引词);
S303生成包括所述关键字及对应的标识信息的关键字列表;
所述标识信息的内容包括:要素标识、属性标识、位置标识。
索引信息可以存储于终端设备本地,也可以存储于云端服务器,或者二者同时都具有索引数据,当无连通网络时,通过本地数据,进行检索;当可以连通网络时,通过云端服务器中的索引信息进行检索,支持在线、离线及混合检索的多种模式。
一般来说,兴趣点及道路等的检索数据由数据提供商提供,而数据提供商提供的数据一般为原始数据,其存储的形式不利于数据的检索,本实施例为对检索数据进行重新定义及编译,生成查找速度更快,更有利于检索的索引信息。
在S301步骤中,将原始数据中包括的被检索要素定义为要素标识(ID)和要素文本属性两部分,其中将要素文本属性分成多个部分,如当被检索要素为兴趣点时,要素标识指兴趣点标识(ID);要素文本属性则包括兴趣点名称、兴趣点种别、兴趣点地址等多个文本,具体如表1,对不同的文本属性定义ID,如名称数据ID,种别属性ID,地址属性ID等。所述标识包括要素ID,各类文本属性ID。
在S302步骤中,采用分词工具对要素的文本属性进行分词,将将文本属性拆分为多个关键字。其中的分词工具可以采用现有技术中任意分词工具,而并不需要进行限定。
在S303步骤中,根据分词的结果制作关键字列表,具体包括,以每个关键字作为主键,对于每一个关键字,需要记录此关键字的来源,包括要素ID、关键字属性ID、关键字在文本要素中的位置等;当一个关键字对应多个要素时,可以将此关键字对应的是要素ID的排列。其中与关键字对应的集合的标识信息为匹配信息,如表2。即关键字和它对应的匹配信息列表组成了索引数据中的基本元素,索引数据可以是这些基本元素的排列,可以按照预设的顺序进行排列,如按照关键字从小到大的顺序排列。例如,对于要素ID为1的要素,参见表1,名称属性的ID为名称属性标识,文本为“东北大药房”,如果分词工具将其拆分为“东北”、“大药房”两个关键字。则对于“东北”这个关键字,它北描述为:出现在要素ID1的名称属性的第0个位置;“大药房”被描述为:出现在要素ID1的名称属性的第1个位置。
如果一个关键字,匹配到多个要素、同一个要素的多个属性列、同一个属性列的多个位置时,将这些独立的标识信息组合在一起,作为一个标识信息列表,所述列表的排列方式可以按照要素ID从小到大的升序排列,也可以按照其他的预设方式排列。
在获得了所有关键字和它对应的标识信息列表后,即生成了索引信息数据。
表1
要素ID | 名称 | 种别 | 地址 |
1 | 东北大药房 | 药店 | 金辉街1号 |
2 | 东北大学 | 学校 | 三好街11号 |
表2
在一个实施例中,在步骤S103- S104中,匹配有效的拆分路径对应的关键字的索引信息,确定检索结果,如图6,包括:
S401 确定有效拆分路径中关键字的索引信息;
S402 将同一拆分路径中关键字的索引信息进行匹配;
S403当关键字的索引信息包括相匹配的标识信息时,确定对应的文本要素;
S404按照预设规则排列所述文本要素,生成检索结果列表。
本实施例为对获得的有效拆分路径对应数据的利用,无论是通过整体(获取全部拆分后,统一判断节点的有效性)或分层(逐层拆分输入文本,逐层判断节点的有效性)判断拆分路径的有效性,最终获得拆分路径包括有效拆分路径和无效拆分路径。在S401步骤中根据有效拆分路径中对应的关键字查找索引信息数据对应的关键字的其他信息,主要指用于描述位置、属性的匹配信息(参见表2),并进行缓存;在S402步骤中将同一有效拆分路径的关键字对应的匹配(标识)信息进行匹配,分别读取每个关键字对应的匹配信息,由任意或按照预设规则的关键字对应的匹配信息中取出一个要素ID,作为此关键字节点的“当前要素ID”;如果所述关键字节点的匹配信息已经为空,即没有下一个要素ID,则将所述关键字节点设置为终止,完成该拆分路径的匹配;当全部或部分关键字节点中有相同的当前要素ID时,则判定所述当前要素ID为命中,根据其要素ID获取并缓存对应的文本要素,完成一个拆分路径的匹配,再按照如此方式分别判定全部有效拆分路径的命中要素,缓存其对应的文本要素;在S403步骤中,可以按照预设的规则对文本要素进行排序,再按照一定的顺序将检索结果展示个用户,其中的预设规则可以是按照设置的权重,也可以按照数据获得先后,或者是匹配程度等等。
在一个实施例中,在步骤S101与S102还可以同时配合实现,包括:
逐层拆分所述输入文本的子节点;
并逐层判定所述子节点是否为有效节点;
拆分有效节点的子节点,当拆分路径对应的子节点全部为有效节点时,判定所述拆分路径有效。
具体流程如图7,包括
S501 创建表示起点的根节点;
S502拆分所述输入文本的关键字,确定根节点的子节点;
S503查找子节点对应的索引信息,判断所述索引信息中是否包括所述子节点对应的关键字,若是,转至S504;若否,转至S506;
S504判定所述子节点为有效节点;
S505依次逐层拆分所述有效节点,并判断所述有效节点的子节点的有效性;
S506确定所述子节点为无效节点,终止路径拆分。
在本实施例S501步骤中,生成路径树,以“北京大学”为例,首先构造根节点,其中,根节点只代表一个起点,不对应任何关键字;在S502步骤中,构造根节点的子节点,每个拆分的关键字为一个子节点;如,将“北京大学”进行拆分操作,可以拆分为 “北”、“北京”、“北京大”、“北京大学”关键字,则这四个子关键字为根节点的四个子节点,参见图2中的第一层子节点;确定了第一层节点(四个子节点)后,判定各个子节点的有效性,判断子节点的有效性的方法可以与上述判断拆分路径关键字的有效性的方法一致,通过访问索引信息(数据)进行判断,相同之处不再赘述,例如,对于“北京大”节点,如果索引数据中没有以“北京大”开头的关键字,则判定此子节点为无效节点,可以被标记为终止(EOF);对于索引数据中包含的关键字,则判定其对应的子节点为有效节点(S504),将对应的匹配信息保存在对应的子节点中;循环处理第一层中全部有效节点,创建有第一层有效节点的子节点,即第二层节点,例如,如果拆分的第一个字是“北”,当“北”为有效节点时,则第二层可能拆分文本为“京大学”,可以进行对其拆分为“京”、“京大”、“京大学”;然后再判断节点的有效性,对于无效节点标记为终止(S506);以此类推,通过递归的方式完成所有节点的处理(S505),直到完成所有的关键字拆分。
在本实施例中通过分层构建路径树的形式确定子节点,在构建路径树的过程中,逐层判断子节点是否有效,当判断子节点无效时,终止对应拆分路径,对有效子节点进行第二层的拆分,在依次判断第二层子节点的有效性,终止无效节点对应的拆分路径,如此循环,即可获得全部有效的拆分路径。由于采用的分层判断子节点的有效性的方法,及时的判定了无效的子节点,并终止拆分路径,提高了拆分路径生成的速度,减少了数据的计算量,提高了性能。
基于同一发明构思,本发明实施例还提供了一种关键字检索的实现装置,由于该装置所解决问题的原理与前述实施例的关键字检索的实现方法相似,因此该装置的实施可以参见前述实施例的方法的实施,重复之处不再赘述。
作为本发明实施例的再一方面,提供了一种关键字检索的实现装置,如图8,所述装置包括:
获取模块11,用于获取用户输入文本;
分析模块12,用于分析所述输入文本的拆分路径;
判断模块13,用于确定所述拆分路径的有效性;
匹配模块14,用于匹配有效的拆分路径对应的关键字的索引信息;
数据模块15,用于存储包括文本要素及对应的标识信息的索引信息;
展示模块16,用于提供并展示检索结果。
在一个实施例中,所述分析模块12包括:
创建单元,用于创建表示起点的根节点;
拆分单元,用于拆分所述输入文本及有效节点的关键字,确定根节点及有效节点的子节点;
查找单元,查找子节点对应的索引信息,
第一确定单元,用于确定子节点的有效性。
在一个实施例中,所述装置还包括所述索引信息的生成模块17,所述生成模块17包括:
预设单元,用于预设存储的文本要素的标识信息;
分词单元,通过分词工具将文本要素划分为若干关键字;
生成单元,用于生成包括所述关键字及对应的标识信息的关键字列表;
所述关键字列表的内容包括:
关键字及与其相关联的要素标识、属性标识、位置标识。
在一个实施例中,所述匹配模块14包括:
第二确定单元,用于确定有效拆分路径中关键字的索引信息;
匹配单元,用于将同一拆分路径中关键字的索引信息进行匹配;
提取单元,用于当关键字的索引信息包括匹配标识时,提取对应的文本要素;
排序单元,用于按照预设规则排列所述文本要素,生成检索结果列表。
作为本发明实施例的再一方面,提供了一种导航装置,所述导航装置包括:
处理器;
用于存储处理器可执行命令的存储器;
用于存储索引信息的数据库;
其中,所述处理器被配置为:
获取用户输入文本,分析所述输入文本的拆分路径;
查找索引信息判定所述拆分路径的有效性;
匹配有效拆分路径对应的关键字的索引信息,确定检索结果;
所述数据库设置于导航装置和/或服务器。
作为本发明实施例的再一方面,提供了一种服务器,所述服务器用于执行如上述任意实施例所述的关键字检索的实现方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种关键字检索的实现方法,其特征在于,所述方法包括:
获取用户输入文本,基于所述输入文本创建表示起点的根节点;
拆分所述输入文本的关键字,确定根节点对应的全部子节点;
查找子节点对应的索引信息,判断所述索引信息中是否包括所述子节点对应的关键字;
判定所述子节点为有效节点后,依次逐层拆分所述有效节点,并判断所述有效节点的子节点的有效性;
当拆分路径对应的子节点全部为有效节点时,判定所述拆分路径有效;
匹配有效拆分路径对应的关键字的索引信息,确定检索结果;
其中,所述根节点不对应任何关键字。
2.如权利要求1所述的方法,其特征在于,查找索引信息确定所述拆分路径的有效性,包括:
在索引信息中分别查找各个拆分路径对应的关键字;
当索引信息中包括所述关键字时,判定所述关键字对应的子节点为有效节点;
当所述拆分路径中的关键字均为有效节点时,判定所述拆分路径为有效路径。
3.如权利要求2所述的方法,其特征在于,在索引信息中分别查找各个拆分路径中对应的关键字,包括:
在索引信息中分别查找以所述关键字为前缀的索引关键字。
4.如权利要求1所述的方法,其特征在于,所述索引信息设置于本地数据库和/或服务器;
所述索引信息的生成方法,包括:
预设文本要素的标识信息;
采用分词工具将文本要素划分为若干索引词;
生成包括所述索引词及与所述索引词对应的标识信息的关键字列表;
所述标识信息包括:要素标识、属性标识、位置标识。
5.如权利要求1-4任意一项所述的方法,其特征在于,匹配有效拆分路径对应的关键字的索引信息,确定检索结果,包括:
确定有效拆分路径中关键字的索引信息;
将同一拆分路径中关键字的索引信息进行匹配;
当关键字的索引信息包括相匹配的标识信息时,确定对应的文本要素为检索结果。
6.一种关键字检索的实现装置,其特征在于,所述装置包括:
获取模块,用于获取用户输入文本,并基于所述输入文本创建表示起点的根节点;其中,所述根节点不对应任何关键字;
分析模块,用于拆分所述输入文本的关键字,确定根节点对应的全部子节点;
判断模块,用于查找子节点对应的索引信息,判断所述索引信息中是否包括所述子节点对应的关键字;判定所述子节点为有效节点后,依次逐层拆分所述有效节点,并判断所述有效节点的子节点的有效性;当拆分路径对应的子节点全部为有效节点时,判定所述拆分路径有效;
匹配模块,用于匹配有效的拆分路径对应的关键字的索引信息;
数据模块,用于存储包括文本要素及对应的标识信息的索引信息;
展示模块,用于提供并展示检索结果。
7.一种导航装置,其特征在于,所述导航装置包括:
处理器;
用于存储处理器可执行命令的存储器;
用于存储索引信息的数据库;
其中,所述处理器被配置为:
获取用户输入文本,基于所述输入文本创建表示起点的根节点;
拆分所述输入文本的关键字,确定根节点对应的全部子节点;
查找子节点对应的索引信息,判断所述索引信息中是否包括所述子节点对应的关键字;
判定所述子节点为有效节点后,依次逐层拆分所述有效节点,并判断所述有效节点的子节点的有效性;
当拆分路径对应的子节点全部为有效节点时,判定所述拆分路径有效;
匹配有效拆分路径对应的关键字的索引信息,确定检索结果;
所述数据库设置于导航装置和/或服务器;
其中,所述根节点不对应任何关键字。
8.一种服务器,其特征在于,所述服务器用于执行如权利要求1-5任意一项所述的关键字检索的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611196440.4A CN108228657B (zh) | 2016-12-22 | 2016-12-22 | 一种关键字检索的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611196440.4A CN108228657B (zh) | 2016-12-22 | 2016-12-22 | 一种关键字检索的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228657A CN108228657A (zh) | 2018-06-29 |
CN108228657B true CN108228657B (zh) | 2022-05-27 |
Family
ID=62656924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611196440.4A Active CN108228657B (zh) | 2016-12-22 | 2016-12-22 | 一种关键字检索的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228657B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027307B (zh) * | 2018-09-21 | 2023-04-07 | 北京国双科技有限公司 | 一种裁判文书中影响判决结果的内容的判定方法和装置 |
CN112416984A (zh) * | 2019-08-21 | 2021-02-26 | 华为技术有限公司 | 一种数据处理方法及其装置 |
CN110874396B (zh) * | 2019-11-07 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 一种关键词抽取方法、装置以及计算机存储介质 |
CN111143414A (zh) * | 2019-12-26 | 2020-05-12 | 五八有限公司 | 一种缓存数据的反馈方法、装置、电子设备及存储介质 |
CN113688628B (zh) * | 2021-07-28 | 2023-09-22 | 上海携宁计算机科技股份有限公司 | 文本识别方法、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458694A (zh) * | 2008-10-09 | 2009-06-17 | 浙江大学 | 一种基于树形词库的中文分词方法 |
US7831626B1 (en) * | 2006-11-27 | 2010-11-09 | Netlogic Microsystems, Inc. | Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node |
CN103383699A (zh) * | 2013-06-28 | 2013-11-06 | 安徽科大讯飞信息科技股份有限公司 | 字符串检索方法及系统 |
CN103514287A (zh) * | 2013-09-29 | 2014-01-15 | 深圳市龙视传媒有限公司 | 一种构建索引树的方法、汉语词汇搜索的方法及相关装置 |
CN105760399A (zh) * | 2014-12-19 | 2016-07-13 | 华为软件技术有限公司 | 一种数据检索方法及设备 |
CN105956206A (zh) * | 2016-07-04 | 2016-09-21 | Tcl集团股份有限公司 | 一种基于关键词树的视频检索方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2228737A3 (en) * | 2009-03-05 | 2010-12-01 | Edward Michael Carroll | Improving search effectiveness |
CA2973138C (en) * | 2014-01-10 | 2020-06-16 | Cluep Inc. | Systems, devices, and methods for automatic detection of feelings in text |
-
2016
- 2016-12-22 CN CN201611196440.4A patent/CN108228657B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831626B1 (en) * | 2006-11-27 | 2010-11-09 | Netlogic Microsystems, Inc. | Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node |
CN101458694A (zh) * | 2008-10-09 | 2009-06-17 | 浙江大学 | 一种基于树形词库的中文分词方法 |
CN103383699A (zh) * | 2013-06-28 | 2013-11-06 | 安徽科大讯飞信息科技股份有限公司 | 字符串检索方法及系统 |
CN103514287A (zh) * | 2013-09-29 | 2014-01-15 | 深圳市龙视传媒有限公司 | 一种构建索引树的方法、汉语词汇搜索的方法及相关装置 |
CN105760399A (zh) * | 2014-12-19 | 2016-07-13 | 华为软件技术有限公司 | 一种数据检索方法及设备 |
CN105956206A (zh) * | 2016-07-04 | 2016-09-21 | Tcl集团股份有限公司 | 一种基于关键词树的视频检索方法及系统 |
Non-Patent Citations (1)
Title |
---|
数学之美 系列二—谈谈中文分词;bright_zws;《https://blog.csdn.net/bright_zws/article/details/694823》;20060428;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108228657A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228657B (zh) | 一种关键字检索的实现方法及装置 | |
CN107590214B (zh) | 搜索关键词的推荐方法、装置及电子设备 | |
CN110019647B (zh) | 一种关键词搜索方法、装置和搜索引擎 | |
CN111460311A (zh) | 基于字典树的搜索处理方法、装置、设备和存储介质 | |
CN107168991B (zh) | 一种搜索结果展示方法和装置 | |
CN106033416A (zh) | 一种字符串处理方法及装置 | |
CN105528372A (zh) | 一种地址搜索方法和设备 | |
TW201241773A (en) | Method and apparatus of determining product category information | |
JP5930496B2 (ja) | レイアウトファイルにおける構造化情報の取得方法及び装置 | |
CN104699841A (zh) | 提供搜索结果的列表摘要信息的方法和装置 | |
CN104933171B (zh) | 兴趣点数据关联方法和装置 | |
CN110705226A (zh) | 电子表格的创建方法、装置及计算机设备 | |
CN105159884A (zh) | 行业词典的建立方法和装置及行业识别方法和装置 | |
CN111896016A (zh) | 位置信息的处理方法及装置、存储介质、终端 | |
CN112364051B (zh) | 一种数据查询方法及装置 | |
CN110688434B (zh) | 一种兴趣点处理方法、装置、设备和介质 | |
CN104572904A (zh) | 一种标签关联程度的确定方法及装置 | |
CN110781375B (zh) | 一种用户状态标识确定方法及装置 | |
CN105653540B (zh) | 文件属性信息的处理方法和装置 | |
CN104298786B (zh) | 一种图像检索方法及装置 | |
CN112650791B (zh) | 字段处理方法、装置、计算机设备和存储介质 | |
CN104268259A (zh) | 一种运用于导航终端的快速模糊容错搜索交叉路口的方法 | |
CN114218404A (zh) | 内容检索方法、检索库的构建方法、装置和设备 | |
CN110209829B (zh) | 信息处理方法和装置 | |
CN111611494A (zh) | 一种业务对象排序方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 110000 No. 861-6, shangshengou village, Hunnan District, Shenyang City, Liaoning Province Applicant after: Shenyang Meihang Technology Co.,Ltd. Address before: 110179 13th floor, Debao building, No.1 Jinhui street, Hunnan New District, Shenyang City, Liaoning Province Applicant before: SHENYANG MXNAVI Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |