CN113342848A - 信息搜索方法、装置、终端设备及计算机可读存储介质 - Google Patents

信息搜索方法、装置、终端设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113342848A
CN113342848A CN202110570144.0A CN202110570144A CN113342848A CN 113342848 A CN113342848 A CN 113342848A CN 202110570144 A CN202110570144 A CN 202110570144A CN 113342848 A CN113342848 A CN 113342848A
Authority
CN
China
Prior art keywords
candidate
query instruction
nodes
preset
node
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.)
Granted
Application number
CN202110570144.0A
Other languages
English (en)
Other versions
CN113342848B (zh
Inventor
陈乐清
曾增烽
刘东煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202110570144.0A priority Critical patent/CN113342848B/zh
Publication of CN113342848A publication Critical patent/CN113342848A/zh
Application granted granted Critical
Publication of CN113342848B publication Critical patent/CN113342848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请适用于数据处理技术领域,提供了一种信息搜索方法、装置、终端设备及计算机可读存储介质,包括:获取查询指令以及与所述查询指令所属的内容类型相匹配的预设字典树;确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,所述1≤N<,所述M为所述查询指令中字符的总数;按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,所述候选节点为所述候选分支中的节点;根据所述目标节点表示的字符确定所述查询指令对应的目标信息。通过上述方法,能够实现边搜索边剪枝的效果,避免了遍历整个预设字典树和整个候选分支,减少了数据处理量,大大节省了搜索时间,提高了搜索效率。

Description

信息搜索方法、装置、终端设备及计算机可读存储介质
技术领域
本申请属于数据处理技术领域,尤其涉及一种信息搜索方法、装置、终端设备及计算机可读存储介质。
背景技术
随着信息时代的到来,人们越来越追求快速、准确的信息搜索能力。目前,信息搜索常用的方法为,计算用户输入的查询指令与预设字典树中各分支所表示的内容之间的编辑距离,并将编辑距离满足预设条件的内容确定为搜索到的目标信息。
可见,现有的信息搜索方法中,通常需要计算查询指令与预设字典树中每条分支之间的编辑距离。当预设字典树中分支较多时,现有方法的数据处理量较大,算法复杂度较高,搜索效率较低。
发明内容
本申请实施例提供了一种信息搜索方法、装置、终端设备及计算机可读存储介质,可以有效提高信息搜索的效率。
第一方面,本申请实施例提供了一种信息搜索方法,包括:
获取查询指令以及与所述查询指令所属的内容类型相匹配的预设字典树;
确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,所述1≤N<,所述M为所述查询指令中字符的总数;
按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,所述候选节点为所述候选分支中的节点;
根据所述目标节点表示的字符确定所述查询指令对应的目标信息。
本申请实施例中,先获取与查询指令所属的内容类型相同的预设字典树,再从预设字典树中获取与查询指令中前N个字符匹配的候选分支,这样相当于对预设字典树进行了预处理,排除了预设字典树中与查询指令不匹配的分支,避免了计算查询指令与预设字典树中的每条分支之间的编辑距离,减少了数据处理量;然后按照候选分支中节点的连接顺序,从候选分支的节点中依次确定出满足预设条件的目标节点;相当于对候选分支逐节点进行剪枝,这样就无需计算查询指令与候选分支中被剪枝掉的节点之间的编辑距离,进一步减少了数据处理量;最后根据所述目标节点表示的字符确定所述查询指令对应的目标信息。通过上述方法,能够实现边搜索边剪枝的效果,避免了遍历整个预设字典树和整个候选分支,减少了数据处理量,大大节省了搜索时间,提高了搜索效率。
在第一方面的一种可能的实现方式中,
所述确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,包括:
获取所述查询指令中的前N个字符,得到第一内容;
分别获取所述预设字典树中每条分支中的前N个字符,得到H条第二内容,所述H为所述预设字典树中分支的数量;
分别计算所述第一内容与每条所述第二内容之间的相似度;
将相似度中的最小值对应的分支确定为所述候选分支。
在第一方面的一种可能的实现方式中,所述按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,包括:
对于任意一个候选节点,判断所述候选节点是否满足预设条件;
当所述候选节点不满足预设条件时,停止判断;
当所述候选节点满足预设条件时,将所述候选节点确定为所述目标节点,并继续判断下一个候选节点是否满足预设条件,直到出现不满足预设条件的候选节点。
在第一方面的一种可能的实现方式中,所述判断所述候选节点是否满足预设条件,包括:
计算第一编辑距离,所述第一编辑距离为所述查询指令与所述候选节点之间的编辑距离;
若所述第一编辑距离小于或等于预设数值,则所述候选节点满足所述预设条件;
若所述第一编辑距离大于预设数值,则所述候选节点不满足所述预设条件。
在第一方面的一种可能的实现方式中,所述计算所述候选节点与所述查询指令之间的第一编辑距离,包括:
计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离;
将所述第二编辑距离中的最小值确定为所述候选节点与所述查询指令之间的第一编辑距离。
在第一方面的一种可能的实现方式中,所述计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离,包括:
获取各个目标字符在所述查询指令中的第一序号值与所述候选字节在所述候选分支中的第二序号值;
若所述目标字符对应的第一序号值和所述第二序号值中的最小值为0,则将所述目标字符对应的第一序号值和所述第二序号值中的最大值确定为所述目标字符的第二编辑距离,其中,所述目标字符为所述查询指令中的任意一个字符。
在第一方面的一种可能的实现方式中,所述计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离,包括:
获取各个目标字符在所述查询指令中的第一序号值与所述候选字节在所述候选分支中的第二序号值;
若所述目标字符对应的第一序号值和所述第二序号值中的最小值不为0,则将所述目标字符与所述候选节点之间的最小编辑距离确定为所述目标字符的所述第二编辑距离,其中,所述目标字符为所述查询指令中的任意一个字符。
第二方面,本申请实施例提供了一种信息搜索装置,包括:
指令获取单元,用于获取查询指令以及与所述查询指令所属的内容类型相匹配的预设字典树;
分支获取单元,用于确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,所述1≤N<,所述M为所述查询指令中字符的总数;
剪枝处理单元,用于按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,所述候选节点为所述候选分支中的节点;
信息确定单元,用于根据所述目标节点表示的字符确定所述查询指令对应的目标信息。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的信息搜索方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的信息搜索方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的信息搜索方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的字典树的示意图;
图2是本申请实施例提供的信息搜索方法的流程示意图;
图3是本申请实施例提供的候选分支的示意图;
图4是本申请实施例提供的信息搜索装置的结构框图;
图5是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
如在本申请说明书和所附权利要求书中所使用的那样,术语“若”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
字典树是一种树形结构,其有以下特点:根节点不包含字符,除根节点外每一个节点都只包含一个字符;从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串;每个节点的所有子节点包含的字符都不相同。参见图1,是本申请实施例提供的字典树的示意图。如图1所示的字典树中,节点“新”的子节点为“生”,“生”的子节点为“儿”,“儿”的子节点有“黄”和“肺”。从根节点到某一节点的路径上经过的字符连接起来,为该节点对应的字符串。例如,在该字典树中,节点“疸”对应的字符串为,从根节点“ROOT”到“疸”的路径上经过的字符连接起来的字符串,即“新生儿黄疸”。
现有的信息搜索方法为,计算用户输入的查询指令与字典树中每一个分支所表示的内容之间的编辑距离,然后将编辑距离满足预设条件的分支对应的内容确定为搜索到的目标信息。以图1所示字典树为例,图1中有3条分支,对应3条内容(即“新生儿黄疸”、“新生儿肺炎”和“早产儿”);用户输入查询指令后,需要分别计算查询指令与“新生儿黄疸”之间的编辑距离、查询指令与“新生儿肺炎”之间的编辑距离、以及查询指令与“早产儿”之间的编辑距离。
可见,现有的信息搜索方法中,需要计算查询指令与字典树中每条分支之间的编辑距离。当字典树中内容较多时,现有方法的数据处理量较大,算法复杂度较高,搜索效率较低。
为了解决上述问题,本申请实施例提供了一种信息搜索方法。参见图2,是本申请实施例提供的信息搜索方法的流程示意图,作为示例而非限定,所述方法可以包括以下步骤:
S201,获取查询指令以及与查询指令所属的内容类型相匹配的预设字典树。
本申请实施例中的查询指令可以是用户输入的信息。例如:用户在搜索网站的搜索框内输入的信息。还可以是预设的信息。例如:当用户点击网站页面上的某个触发按钮时,该触发按钮对应的查询指令即可看作查询指令。
本申请实施例中的信息搜索方法的目的是,搜索与查询指令相关的、相匹配的目标信息。
搜索不同类型的信息,可以使用不同的字典树,字典树通常都是预先构建好的。例如,查询疾病信息,可以使用疾病信息对应字典树;查询运动信息,可以使用运动信息对应的字典树。本申请实施例中,预设字典树是指与查询指令的内容类型匹配的字典树。
可以先对字典树进行预匹配,即确定出字典树中与查询指令匹配的分支,这些分支可以作为候选分支进行下一步的剪枝处理。具体如S202所述。
S202,确定预设字典树中与查询指令中前N个字符相匹配的候选分支。
其中,1≤N<M,M为查询指令中字符的总数。
可选的,还可以计算查询指令与预设字典树中每个分支对应的完整内容之间的相似度,将预设范围内的相似度对应的分支确定为候选分支。以图1所示字典树为例,计算查询指令“新生黄疸”与最左侧分支对应的内容“新生儿黄疸”之间的相似度,计算查询指令“新生黄疸”与中间分支对应的内容“新生儿肺炎”之间的相似度,计算查询指令“新生黄疸”与最右侧分支对应的内容“早产儿”之间的相似度,然后将数值小于预设值的相似度对应的内容所在的分支确定为候选分支。这种计算方式需要计算查询指令与预设字典树中每条分支之间的相似度,数据处理量较大。
为了减少数据处理量,在一个实施例中,S202中确定候选分支的一种实现方式可以包括:
获取查询指令中的前N个字符,得到第一内容;分别获取预设字典树中每条分支中的前N个字符,得到H条第二内容,H为预设字典树中分支的数量;分别计算第一内容与每条第二内容之间的相似度;将相似度中的最小值对应的分支确定为候选分支。
示例性的,假设N=1,预设字典树中有两条分支,一条分支为“新生黄疸”,另一条分支为“早产儿”。当查询指令为“新生黄疸”时,分别计算查询指令中的第一个字符“新”与预设字典树中两条分支各自的第一个字符“新”和“早”之间的相似度。将相似度中的最小值对应的分支(即“新生黄疸”)确定为候选分支。
其中,可以将欧式距离、马氏距离和余弦距离等作为相似度指标。
实际应用中,当查询指令中包含的字符较多时,可以选取前面多个字符进行预匹配;当查询指令中包含的字符较少时,可以选取第一个字符进行预匹配。N越大,预匹配所需的数据处理量越大,同时,匹配精度也越高。因此,可以根据实际需要预先设定N值。
S203,按照候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点。
候选节点为候选分支中的节点。
可选的,S203步骤的一种实现方式可以包括:分别判断每个候选节点是否满足预设条件;删除不满足预设条件的候选节点,保留满足预设条件的候选节点,获得剪枝后的目标分支。
上述方式需要对候选节点进行判断,数据处理量较大,搜索效率较低。
为了减少数据处理量,提高搜索效率,在本申请实施例中,S203中确定目标节点的一种实现方式可以包括:
对于任意一个候选节点,判断候选节点是否满足预设条件;当候选节点满足预设条件时,将候选节点确定为目标节点,并继续判断下一个候选节点是否满足预设条件,直到出现不满足预设条件的候选节点;当候选节点不满足预设条件时,停止判断。
通过本申请实施例中确定目标节点的方法,无需对每个候选节点进行判断,当候选节点不满足预设条件时,则终止判断。通过上述方法,能够有效减少数据处理量,提高搜索效率。
可选的,判断候选节点是否满足预设条件的方式可以包括:
计算第一编辑距离,第一编辑距离为查询指令与候选节点之间的编辑距离;若第一编辑距离小于或等于预设数值,则候选节点满足预设条件;若第一编辑距离大于预设数值,则候选节点不满足预设条件。
编辑距离,是用来度量两个序列相似程度的指标。通俗地来讲,编辑距离指的是在两个字符串<w1,w2>之间,由其中一个字符串w1转换为另一个字符串w2所需要的最少单字符编辑操作次数。其中,单字符编辑操作有且仅有三种:插入、删除和替换。
预设数值可以是根据实际需要预先设定的一个编辑距离的阈值。第一编辑距离则是通过计算获得的查询指令与候选节点之间的实际编辑距离。
需要说明的是,候选分支中可以有多个节点,候选节点可以是候选分支中的任意一个节点。换言之,当计算查询指令与候选分支中某个节点之间的第一编辑距离时,候选分支中的该节点即可作为候选节点。
示例性的,参见图3,是本申请实施例提供的候选分支的示意图。假设查询指令为“新生黄疸”,候选分支中各节点如图3所示,先计算查询指令“新生黄疸”与候选节点“新”之间的第一编辑距离;假设计算出的查询指令“新生黄疸”与候选节点“新”之间的第一编辑距离满足预设条件,则将候选节点“新”确定为目标节点。然后继续计算下一个候选节点“生”与查询指令之间的第一编辑距离。按照候选分支中节点的顺序依次搜索,假设候选节点“儿”与查询指令之间的第一编辑距离也满足预设条件,由于“儿”的下一个候选节点为“黄”或“肺”,此时需要分别计算查询指令与候选节点“黄”和“肺”之间的第一编辑距离。假设候选节点“肺”不满足预设条件,则停止判断。那么候选节点“肺”后边的节点“炎”也无需判断。假设候选节点“黄”满足预设条件,则继续计算候选节点“黄”的下一个候选节点“疸”与查询指令之间的第一编辑距离。
根据编辑距离一直是增加的原理d(A+C,B)>=d(A,B),比如d(“新生儿肺”+“炎”,“新生儿”)>d(“新生儿肺”,“新生儿”),即在“新生儿肺”基础上再增加一个“炎”字,计算出的第一编辑距离将会大于或等于查询指令与“肺”之间的第一编辑距离。所以当查询指令与候选节点“肺”之间的第一编辑距离大于预设数值时,“肺”的子节点“炎”与查询指令之间的第一编辑距离也一定大于预设数值,因此,可以停止判断“肺”这个节点以后的子节点(不用继续计算查询指令与候选节点“炎”之间的第一编辑距离),减少了数据处理量,同时实现了减枝的目的。
由上述示例也可以看出,预设数值的数值越大,搜索条件越宽松,换言之,一些与查询指令不同、但有部分文字相同的信息也被搜索出来了;反之,预设数值的数值越小,搜索条件越苛刻,换言之,只有和查询指令相同或内容非常相近的信息才可能被搜索出来。因此,预设数值的设置可以决定搜索条件的严格程度,进而可以决定搜索的范围。
对于候选节点与查询指令之间的第一编辑距离的计算方式,第一种为:将查询指令作为整体,计算查询指令与候选节点之间的第一编辑距离。
上述计算方式中,是将查询指令作为整体进行计算的。根据上述的编辑距离的定义可知,编辑距离的本质是用于表示两条信息之间的差异大小。如果将查询指令作为整体进行计算,那么计算出的查询指令与候选节点之间的第一编辑距离的数值较大。例如:查询指令为“新生黄疸”,候选分支对应的内容为“新生儿黄疸”;当候选节点为候选分支中的节点“生”时,由于整体的查询指令“新生黄疸”与候选节点“生”之间的差异较大(需要删除查询指令中的“新”、“黄”和“疸”),第一编辑距离的数值也较大(数值为3)。但实际上,查询指令“新生黄疸”和候选分支对应的内容“新生儿黄疸”之间的差异较小(仅需删除“儿”),编辑距离也较小(数值为1)。可见,通过上述方式计算出的第一编辑距离往往数值偏大,不能准确反映查询指令与候选分支对应内容之间的差异。
为了准确反映查询指令与候选分支对应内容之间的差异,可选的,可以采用第二种计算方式:计算查询指令中每个字符与候选节点之间的第二编辑距离;将第二编辑距离中的最小值确定为第一编辑距离。
上述计算方式中,不再将查询指令作为整体进行计算,而是对查询指令逐字符的进行计算;计算出的第二编辑距离中的最小值通常能够较准确地反映出查询指令与候选分支对应内容之间的差异。
本申请实施例中,第一编辑距离表示查询指令整体与候选节点之间的编辑距离,而第二编辑距离表示查询指令中的字符与候选节点之间的编辑距离。第一编辑距离是第二编辑距离中的最小值。
示例性的,如表1所示的编辑距离的表格,表中第1列中的“新生黄疸”为查询指令中的各个字符;表中第1行中的“新生儿肺炎”为候选分支中各节点表示的字符,每个字对应候选分支中的一个节点,“Root”为候选分支的根节点(通常字典树中的根节点不表示任何字符,即为空,因此,本申请实施例中,根节点不作为候选节点)。表中第m行第n列的数字表示第1列中第m个字符与第1行中第n个字符之间的第二编辑距离。例如:查询指令中“生”与候选节点“新”之间的第二编辑距离为1。
表1
Root
0 1 2 3 4 5
1 0 1 2 3 4
2 1 0 1 2 3
3 2 2 1 2 3
4 3 2 2 2 3
查询指令与候选节点“新”之间的第一编辑距离为min(1,0,1,2,3)=0;查询指令与候选节点“生”之间的第一编辑距离为min(2,1,0,1,2)=0;查询指令与候选节点“儿”之间的第一编辑距离为min(3,2,1,1,2)=1;查询指令与候选节点“肺”之间的第一编辑距离为min(4,3,2,2,2)=2;查询指令与候选节点“炎”之间的第一编辑距离为min(5,4,3,3,3)=3。
具体的,计算第二编辑距离的方式可以包括:
获取各个目标字符在查询指令中的第一序号值与候选字节在候选分支中的第二序号值;若目标字符对应的第一序号值和第二序号值中的最小值为0,则将目标字符对应的第一序号值和第二序号值中的最大值确定为目标字符的第二编辑距离;若目标字符对应的第一序号值和第二序号值中的最小值不为0,则将目标字符与候选节点之间的最小编辑距离确定为目标字符的第二编辑距离。
获取第一序号值和第二序号值的一种实现方式可以为:由执行信息搜索方法的处理器获取目标字符在查询指令中的序号,记录为第一序号值;获取候选节点在候选分支中的序号,记录为第二序号值;然后比较第一序号值和第二序号值的大小。
获取第一序号值和第二序号值的另一种实现方式可以为:由与执行信息搜索方法的处理器通信连接的第三方处理器获取目标字符在查询指令中的序号,记录为第一序号值;获取候选节点在候选分支中的序号,记录为第二序号值;然后比较第一序号值和第二序号值的大小;执行信息搜索方法的处理器只需从第三方处理器中获取比较结果即可。
其中,目标字符为查询指令中的任意一个字符。
具体的,若min(i,j)=0,则通过公式lev(ai,bj)=max(i,j)计算第二编辑距离;若min(i,j)≠0,则通过公式lev(ai,bj)=min[d1,d2,d3]计算第二编辑距离。
其中,lev(ai,bj)表示查询指令中第i个字符ai与第j个候选节点bj之间的第二编辑距离,min(i,j)表示i和j中的最小值,max(i,j)表示i和j中的最大值,d1=lev(ai-1,bj)+1,d2=lev(ai,bj-1)+1,
Figure BDA0003082307300000121
min[d1,d2,d3]表示d1、d2和d3中的最小值,
Figure BDA0003082307300000122
表示当ai≠bj时取值为1、当ai=bj时取值为0。
当min(i,j)=0时,说明i和j中有一个值为0,表示字符ai和bj中有一个为空,那么从ai转换到bj只需要进行max(i,j)次单字符编辑操作即可,因此,此情况下,ai与bj之间的第二编辑距离为max(i,j)。
当min(i,j)≠0时,lev(ai,bj)有如下三种情况:
d1=lev(ai-1,bj)+1表示删除ai
d2=lev(ai,bj-1)+1表示插入bj
Figure BDA0003082307300000131
表示替换bj
在表1所示的示例中,lev(a1,b0)表示查询指令中的字符“新”与候选分支中的根节点“Root”之间的第二编辑距离,因为min(1,0)=0,所以,lev(a1,b0)=max(1,0)=1。lev(a1,b1)表示查询指令中的字符“新”与候选节点“新”之间的第二编辑距离,因为min(1,1)≠0,所以,需要计算d1、d2和d3。其中,d1=lev(a0,b1)+1=1,d2=lev(a1,b0)+1=1,
Figure BDA0003082307300000132
Figure BDA0003082307300000133
即lev(a1,b1)=min[d1,d2,d3]=0。依次类推。
可选的,第二编辑距离(即表1中的数字)的计算方式还可以包括:
若min(i,j)=0,则通过公式lev(ai,bj)=max(i,j)计算第二编辑距离;若min(i,j)≠0,则通过公式lev(ai,bj)=d3计算第二编辑距离。
这种计算方式与上述计算方式相比,差异在于,当min(i,j)≠0时,只需计算d3。相当于只考虑了字符替换的情况,而未考虑字符删除和插入的情况,因此,与上述计算方式相比,该计算方式虽然计算量较少,但是准确度较低。S204,根据目标节点表示的字符确定查询指令对应的目标信息。
通常,按照字典树中节点的连接顺序,将目标节点表示的字符顺次连接起来,组合为目标信息。
本申请实施例中,先获取与查询指令所属的内容类型相同的预设字典树,再从预设字典树中获取与查询指令中前N个字符匹配的候选分支,这样相当于对预设字典树进行了预处理,排除了预设字典树中与查询指令不匹配的分支,避免了计算查询指令与预设字典树中的每条分支之间的编辑距离,减少了数据处理量;然后按照候选分支中节点的连接顺序,从候选分支的节点中依次确定出满足预设条件的目标节点;相当于对候选分支逐节点进行剪枝,这样就无需计算查询指令与候选分支中被剪枝掉的节点之间的编辑距离,进一步减少了数据处理量;最后根据所述目标节点表示的字符确定所述查询指令对应的目标信息。通过上述方法,能够实现边搜索边剪枝的效果,避免了遍历整个预设字典树和整个候选分支,减少了数据处理量,大大节省了搜索时间,提高了搜索效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的信息搜索方法,图4是本申请实施例提供的信息搜索装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该装置包括:
指令获取单元41,用于获取查询指令以及与所述查询指令所属的内容类型相匹配的预设字典树;
分支获取单元42,用于确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,所述1≤N<M,所述M为所述查询指令中字符的总数;
剪枝处理单元43,用于按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,所述候选节点为所述候选分支中的节点;
信息确定单元44,用于根据所述目标节点表示的字符确定所述查询指令对应的目标信息。
可选的,分支获取单元42还用于:
获取所述查询指令中的前N个字符,得到第一内容;分别获取所述预设字典树中每条分支中的前N个字符,得到H条第二内容,所述H为所述预设字典树中分支的数量;分别计算所述第一内容与每条所述第二内容之间的相似度;将相似度中的最小值对应的分支确定为所述候选分支。
可选的,剪枝处理单元43还用于:
对于任意一个候选节点,判断所述候选节点是否满足预设条件;当所述候选节点不满足预设条件时,停止判断;当所述候选节点满足预设条件时,将所述候选节点确定为所述目标节点,并继续判断下一个候选节点是否满足预设条件,直到出现不满足预设条件的候选节点。
可选的,剪枝处理单元43还用于:
计算第一编辑距离,所述第一编辑距离为所述查询指令与所述候选节点之间的编辑距离;若所述第一编辑距离小于或等于预设数值,则所述候选节点满足所述预设条件;若所述第一编辑距离大于预设数值,则所述候选节点不满足所述预设条件。
可选的,剪枝处理单元43还用于:
计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离;将所述第二编辑距离中的最小值确定为所述候选节点与所述查询指令之间的第一编辑距离。
可选的,剪枝处理单元43还用于:
获取各个目标字符在所述查询指令中的第一序号值与所述候选字节在所述候选分支中的第二序号值;若所述目标字符对应的第一序号值和所述第二序号值中的最小值为0,则将所述目标字符对应的第一序号值和所述第二序号值中的最大值确定为所述目标字符的第二编辑距离,其中,所述目标字符为所述查询指令中的任意一个字符。
可选的,剪枝处理单元43还用于:
获取各个目标字符在所述查询指令中的第一序号值与所述候选字节在所述候选分支中的第二序号值;若所述目标字符对应的第一序号值和所述第二序号值中的最小值不为0,则将所述目标字符与所述候选节点之间的最小编辑距离确定为所述目标字符的所述第二编辑距离,其中,所述目标字符为所述查询指令中的任意一个字符。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
另外,图4所示的信息搜索装置可以是内置于现有的终端设备内的软件单元、硬件单元、或软硬结合的单元,也可以作为独立的挂件集成到所述终端设备中,还可以作为独立的终端设备存在。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5是本申请实施例提供的终端设备的结构示意图。如图5所示,该实施例的终端设备5包括:至少一个处理器50(图5中仅示出一个)处理器、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个信息搜索方法实施例中的步骤。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图5仅仅是终端设备5的举例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种信息搜索方法,其特征在于,包括:
获取查询指令以及与所述查询指令所属的内容类型相匹配的预设字典树;
确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,所述1≤N<,所述M为所述查询指令中字符的总数;
按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,所述候选节点为所述候选分支中的节点;
根据所述目标节点表示的字符确定所述查询指令对应的目标信息。
2.如权利要求1所述的信息搜索方法,其特征在于,所述确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,包括:
获取所述查询指令中的前N个字符,得到第一内容;
分别获取所述预设字典树中每条分支中的前N个字符,得到H条第二内容,所述H为所述预设字典树中分支的数量;
分别计算所述第一内容与每条所述第二内容之间的相似度;
将相似度中的最小值对应的分支确定为所述候选分支。
3.如权利要求1所述的信息搜索方法,其特征在于,所述按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,包括:
对于任意一个候选节点,判断所述候选节点是否满足预设条件;
当所述候选节点满足所述预设条件时,将所述候选节点确定为所述目标节点,并继续判断下一个候选节点是否满足所述预设条件,直到出现不满足预设条件的候选节点;
当所述候选节点不满足所述预设条件时,停止判断。
4.如权利要求3所述的信息搜索方法,其特征在于,所述判断所述候选节点是否满足预设条件,包括:
计算第一编辑距离,所述第一编辑距离为所述查询指令与所述候选节点之间的编辑距离;
若所述第一编辑距离小于或等于预设数值,则所述候选节点满足所述预设条件;
若所述第一编辑距离大于预设数值,则所述候选节点不满足所述预设条件。
5.如权利要求4所述的信息搜索方法,其特征在于,所述计算所述第一编辑距离,包括:
计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离;
将所述第二编辑距离中的最小值确定为所述第一编辑距离。
6.如权利要求5所述的信息搜索方法,其特征在在于,所述计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离,包括:
获取各个目标字符在所述查询指令中的第一序号值与所述候选字节在所述候选分支中的第二序号值;
若所述目标字符对应的第一序号值和所述第二序号值中的最小值为0,则将所述目标字符对应的第一序号值和所述第二序号值中的最大值确定为所述目标字符的第二编辑距离,其中,所述目标字符为所述查询指令中的任意一个字符。
7.如权利要求5所述的信息搜索方法,其特征在在于,所述计算所述查询指令中每个字符与所述候选节点之间的第二编辑距离,包括:
获取各个目标字符在所述查询指令中的第一序号值与所述候选字节在所述候选分支中的第二序号值;
若所述目标字符对应的第一序号值和所述第二序号值中的最小值不为0,则将所述目标字符与所述候选节点之间的最小编辑距离确定为所述目标字符的所述第二编辑距离,其中,所述目标字符为所述查询指令中的任意一个字符。
8.一种信息搜索装置,其特征在于,所述装置包括:
指令获取单元,用于获取查询指令以及与所述查询指令所属的内容类型相匹配的预设字典树;
分支获取单元,用于确定所述预设字典树中与所述查询指令中前N个字符相匹配的候选分支,所述1≤N<,所述M为所述查询指令中字符的总数;
剪枝处理单元,用于按照所述候选分支中节点的连接顺序,从候选节点中依次确定出满足预设条件的目标节点,所述候选节点为所述候选分支中的节点;
信息确定单元,用于根据所述目标节点表示的字符确定所述查询指令对应的目标信息。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
CN202110570144.0A 2021-05-25 2021-05-25 信息搜索方法、装置、终端设备及计算机可读存储介质 Active CN113342848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110570144.0A CN113342848B (zh) 2021-05-25 2021-05-25 信息搜索方法、装置、终端设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110570144.0A CN113342848B (zh) 2021-05-25 2021-05-25 信息搜索方法、装置、终端设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113342848A true CN113342848A (zh) 2021-09-03
CN113342848B CN113342848B (zh) 2024-04-02

Family

ID=77471252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110570144.0A Active CN113342848B (zh) 2021-05-25 2021-05-25 信息搜索方法、装置、终端设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113342848B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114822532A (zh) * 2022-04-12 2022-07-29 广州小鹏汽车科技有限公司 语音交互方法、电子设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180737A (ja) * 1992-12-11 1994-06-28 Fujitsu Ltd 立体構造処理装置
US20080208854A1 (en) * 2005-06-06 2008-08-28 3618633 Canada Inc. Method of Syntactic Pattern Recognition of Sequences
CN106156103A (zh) * 2015-04-02 2016-11-23 广州爱九游信息技术有限公司 一种搜索处理方法及装置
CN108563685A (zh) * 2018-03-13 2018-09-21 阿里巴巴集团控股有限公司 一种银行标识代码的查询方法、装置及设备
CN110851722A (zh) * 2019-11-12 2020-02-28 腾讯云计算(北京)有限责任公司 基于字典树的搜索处理方法、装置、设备和存储介质
CN111339382A (zh) * 2020-03-11 2020-06-26 腾讯科技(深圳)有限公司 字符串数据检索方法、装置、计算机设备及存储介质
CN112115232A (zh) * 2020-09-24 2020-12-22 腾讯科技(深圳)有限公司 一种数据纠错方法、装置及服务器
CN112364126A (zh) * 2020-10-21 2021-02-12 广州市百果园网络科技有限公司 一种关键词的提示方法、装置、计算机设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180737A (ja) * 1992-12-11 1994-06-28 Fujitsu Ltd 立体構造処理装置
US20080208854A1 (en) * 2005-06-06 2008-08-28 3618633 Canada Inc. Method of Syntactic Pattern Recognition of Sequences
CN106156103A (zh) * 2015-04-02 2016-11-23 广州爱九游信息技术有限公司 一种搜索处理方法及装置
CN108563685A (zh) * 2018-03-13 2018-09-21 阿里巴巴集团控股有限公司 一种银行标识代码的查询方法、装置及设备
CN110851722A (zh) * 2019-11-12 2020-02-28 腾讯云计算(北京)有限责任公司 基于字典树的搜索处理方法、装置、设备和存储介质
CN111460311A (zh) * 2019-11-12 2020-07-28 腾讯云计算(北京)有限责任公司 基于字典树的搜索处理方法、装置、设备和存储介质
CN111339382A (zh) * 2020-03-11 2020-06-26 腾讯科技(深圳)有限公司 字符串数据检索方法、装置、计算机设备及存储介质
CN112115232A (zh) * 2020-09-24 2020-12-22 腾讯科技(深圳)有限公司 一种数据纠错方法、装置及服务器
CN112364126A (zh) * 2020-10-21 2021-02-12 广州市百果园网络科技有限公司 一种关键词的提示方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张成;褚莹;凌力;: "基于安全字典树的关键词密文模糊搜索方案", 微型电脑应用, no. 04, 20 April 2018 (2018-04-20), pages 36 - 39 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114822532A (zh) * 2022-04-12 2022-07-29 广州小鹏汽车科技有限公司 语音交互方法、电子设备和存储介质

Also Published As

Publication number Publication date
CN113342848B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN109101481B (zh) 一种命名实体识别方法、装置及电子设备
WO2020143321A1 (zh) 一种基于变分自编码器的训练样本数据扩充方法、存储介质及计算机设备
JP5597255B2 (ja) 単語の重みに基づいた検索結果の順位付け
CN105095204B (zh) 同义词的获取方法及装置
CN108460011B (zh) 一种实体概念标注方法及系统
CN111460170B (zh) 一种词语识别方法、装置、终端设备及存储介质
CN111177375B (zh) 一种电子文档分类方法及装置
CN111291571A (zh) 语义纠错方法、电子设备及存储介质
CN110347782A (zh) 文章查重方法、装置和电子设备
US20200175390A1 (en) Word embedding model parameter advisor
CN110543879A (zh) 基于se模块的ssd目标检测方法及计算机存储介质
CN114168608A (zh) 一种用于更新知识图谱的数据处理系统
CN113342848A (zh) 信息搜索方法、装置、终端设备及计算机可读存储介质
CN114398968B (zh) 基于文件相似度对同类获客文件进行标注的方法和装置
WO2022127688A1 (zh) 一种分子优化方法、系统、终端设备及可读存储介质
CN114692594A (zh) 文本相似度识别方法、装置、电子设备及可读存储介质
CN117194616A (zh) 一种垂域知识图谱的知识查询方法、装置、计算机设备和存储介质
CN113590811A (zh) 文本摘要生成方法、装置、电子设备及存储介质
CN112748811A (zh) 一种英文单词输入方法及装置
CN112417147A (zh) 训练样本的选取方法与装置
CN110335628B (zh) 智能设备的语音测试方法、装置及电子设备
CN108984746B (zh) 一种多并发三角形2度循环的过程模型挖掘方法
CN112541357B (zh) 实体识别方法、装置及智能设备
WO2022257455A1 (zh) 一种相似文本的确定方法、装置、终端设备及存储介质
WO2012091539A1 (en) A semantic similarity matching system and a method thereof

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
GR01 Patent grant
GR01 Patent grant