CN111611471B - 一种搜索方法、装置及电子设备 - Google Patents
一种搜索方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111611471B CN111611471B CN201910138626.1A CN201910138626A CN111611471B CN 111611471 B CN111611471 B CN 111611471B CN 201910138626 A CN201910138626 A CN 201910138626A CN 111611471 B CN111611471 B CN 111611471B
- Authority
- CN
- China
- Prior art keywords
- search
- searching
- word
- entry
- keywords
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000011218 segmentation Effects 0.000 claims abstract description 49
- 230000000875 corresponding effect Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 5
- 239000000758 substrate Substances 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例涉及一种搜索方法、装置及电子设备。其中,搜索方法包括:基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的;基于所述关键词集确定对应的候选词条集;从所述候选词条集中选取目标词条作为所述搜索词的推荐结果。
Description
技术领域
本说明书实施例涉及搜索推荐技术领域,尤其是指一种搜索方法、装置及电子设备。
背景技术
搜索推荐是搜索引擎的常见功能,可引导用户进行搜索,从而提升搜索效率。现有的搜索方法采用的是前缀推荐方式,比如用户输入搜索词“阿里”后,会推荐“阿里巴巴”或“阿里云”等关键词。一方面,这种前缀推荐方式限定搜索词需要作为推荐关键词的起始部分,因此推荐不够灵活,推荐内容受到了前缀推荐的限制;另一方面,推荐的关键词往往并不是用户期望的完整搜索字段,比如用户输入搜索词“阿里”后,期望搜索的是“阿里巴巴(北京)软件服务有限公司”这类字符较长的完整词条,则前缀推荐方式无法为用户提供有效提示。
有鉴于此,如何在用户输入搜索词后,更智能化、更灵活为用户推荐完整词条内容是本说明书所要解决的技术问题。
发明内容
本说明书实施例目的是提供一种搜索方法、装置及电子设备,能够在用户输入搜索词后,更智能化、更灵活为用户推荐完整词条内容。
为了实现上述目的,本说明书实施例是这样实现的:
第一方面,提供一种搜索方法,包括:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的。
基于所述关键词集确定对应的候选词条集。
从所述候选词条集中选取目标词条作为所述搜索词的推荐结果。
第二方面,提供一种搜索装置,包括:
检索模块,基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的。
关联模块,基于所述关键词集确定对应的候选词条集。
选取模块,从所述候选词条集中选取目标词条作为所述搜索词的推荐结果。
第三方面,提供一种搜索方法,包括:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是根据用于搜索推荐的词条得到的;
基于所述关键词集确定对应的目标词条,
将所述目标词条作为所述搜索词的推荐结果。
第四方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行第一方面所述的搜索方法,或者执行第三方面所述的搜索方法。
第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的搜索方法,或者实现第三方面所述的搜索方法。
由以上本说明书实施例提供的技术方案可见,本说明书实施例的方案对用于搜索推荐的词条进行分词处理,并将分词结果作为关键词构建关键词的预设词库。在用户输入搜索词时,先基于搜索词对预设词库进行检索,确定预设词库中与搜索词相匹配的关键词集,之后进一步确定经分词处理后能够得到该关键词集的候选词条集,并最终向用户推荐候选词条集中与搜索词相关联的完整词条。一方面,由于采用的是模糊推荐方式,因此用户输入的搜索词不限于是推荐结果的起始部分,使得搜索词的输入和推荐结果更加灵活;另一方面,提示的完整词条具有更高搜索精确性,用户若选择完整词条进行搜索可显著提升搜索效率,从而获得更好的搜索体验。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的搜索方法的架构示意图。
图2为本说明书实施例提供的搜索方法的第一个步骤示意图。
图3为本说明书实施例提供的搜索方法的第二个步骤示意图。
图4为本说明书实施例提供的搜索方法的第三个步骤示意图。
图5为本说明书实施例提供的搜索方法的第四个步骤示意图。
图6为本说明书实施例提供的搜索方法的第五个步骤示意图。
图7为本说明书实施例提供的搜索装置的结构示意图。
图8为本说明书实施例提供的搜索方法的第六个步骤示意图。
图9为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
如前所述,目前常见的搜索引擎(如百度、Google、淘宝等)的搜索输入框一般都会提供搜索推荐功能。这些搜索推荐功能采用的是前缀推荐方式。例如用户输入“阿里”,可能会提示“阿里巴巴”,“阿里云”等关键词。而这些关键词往往不是用户最终期望的完整词条。比如,用户期望搜索的是“阿里巴巴(北京)软件服务有限公司”或者是“北京阿里云科技有限公司”等公司名称时,由于这类词条字符较长且并不一定是以搜索词作为起首,导致现有的前缀推荐功能无法为用户提供有效提示。有鉴于此,本说明书旨在提供一种能够基于用户输入的搜索词,模糊提示完整词条的技术方案。
图1是本说明书实施例提供的搜索方法的构架示意图,包括:词条表101、预设词库102以及倒排索引103。
其中,词条表101记录有多个用于搜索推荐的词条。在实际应用中,可以根据推荐需求向词条表101中添加词条。比如,希望在搜索中推荐的信息为公司名称,则可以将公司名称作为词条添加至词条表中。应理解,词条表101是用于搜索推荐的词条的集合,并不限于是表格的形式。
预设词库102是基于关键词构建得到的,关键词是词条表中词条的分词结果。基于预设词库102可以检索到与用户输入的搜索词相匹配的关键词。在实际应用中,可以将Trie树(字典树)作为预设词库,以传统的单词查找树为示例,关键词的检索过程主要包括以下步骤:(1)从字典树的根结点开始进行一次检索;(2)取得搜索词的第一个字符,并根据第一个字符选择对应的子树并转到该子树继续进行检索;(3)在相应的子树上,取得搜索词的第二个字符,并进一步选择对应的子树进行检索。(4)在某个结点处,搜索词的所有字符已被取出,则读取字典树附在该节点上的信息(关键词),即完成检索。
倒排索引103用于将预设词库102的关键词与词条表101的词条进行倒排序关联得到的。具体地,倒排索引103记录有关键词、关键词在预设词库102中的位置信息以及关键词对应的词条在词条表101中的位置信息。基于倒排索引103,可以确定预设词库102中某一关键词是词条表101中哪些词条的分词结果。
图2是本说明书实施例搜索方法的流程图。图2所示的方法可以由搜索装置执行,包括:
步骤S202,基于用户输入的搜索词,对预设词库进行检索,得到预设词库的关键词中与搜索词相匹配的关键词集,其中,预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的。
具体地,预设词库中的关键词可以是对图1所示的词条表中词条进行分词处理后获得的。
搜索词可以包含一个字符,也可以包含多个字符。用户可以灵活选取不同的输入方式输入搜索词。比如,选取中文输入方式输入搜索词,或者选取拼音输入方式输入搜索词等。
为了对不同输入方式的搜索词进行检索,预设词库检索路径可以灵活设置。比如,预设词库为双数组字典树,则双数组字典树可以但不限于包括有:中文字符路径双数组字典树和拼音路径双数组字典树。
若用户采用汉字输入方式输入搜索词,则可以基于搜索词对中文字符路径双数组字典树进行检索。若用户采用拼音输入方式(包括全拼、简拼)输入搜索词,则可以基于搜索词对拼音路径双数组字典树进行检索。若用户同时采用汉字输入方式和拼音输入方式输入搜索词,则可以将搜索词的汉字先转换为拼音进行表征,之后基于转换后的搜索词对拼音路径双数组字典树进行检索。
步骤S204,基于关键词集确定候选词条集。
其中,候选词条集包括分词处理后能够得到所述关键词集中的关键词的词条。
具体地,本步骤可以根据上述倒排索引103,确定关键词集的关键词对应词条表中的候选词条集。应理解,预设词库中的一个关键词可以是词条表中多个词条的分词结果,候选词条集中的这些候选词条均与搜索词存在一定的关联。
步骤S206,从候选词条集中选取目标词条作为搜索词的推荐结果。
具体地,本步骤为了筛选出适合用户的目标词条,可以根据用户的画像信息和历史搜索记录等因素,计算候选词条集中各候选词条的置信值,并选取置信值较高的候选词条作为目标词条。
当然,本说明书实施例不对目标词条的选取方式作具体限定,除上述示例外,本步骤也可以采用随机或轮询方式从候选词条集选取目标词条作为搜索词的推荐结果。
应理解,用户搜索词相匹配的关键词是目标词条的分词结果,因此关键词可以是候选词条中的任意位置,从而使得用户输入的搜索词并不一定作为推荐结果的起始部分。
通过图2所示的搜索方法可以知道,本说明书实施例的方案对用于搜索推荐的词条进行分词处理,并将分词结果作为关键词构建关键词的预设词库。在用户输入搜索词时,先基于搜索词对预设词库进行检索,确定预设词库中与搜索词相匹配的关键词集,之后进一步确定经分词处理后能够得到该关键词集的候选词条集,并最终向用户推荐候选词条集中与搜索词相关联的完整词条。一方面,由于采用的是模糊推荐方式,因此用户输入的搜索词不限于是推荐结果的起始部分,使得搜索词的输入和推荐结果更加灵活;另一方面,提示的完整词条具有更高搜索精确性,用户若选择完整词条进行搜索可显著提升搜索效率,从而获得更好的搜索体验。
下面本说明书实施例的搜索方法进行详细介绍。
本说明书实施例的搜索方法的整体流程主要包括:
步骤一,建立词条表、双数组字典树以及倒排索引。
其中,如图3所示,步骤一具体包括以下子步骤:
构建词条表,将归一化处理后的用于搜索推荐的词条配置到词条表中,并基于词条表统计用户针对所述词条表中词条的搜索频率。
在词条表构建完成后,对词条表中的词条进行分词处理,并将分词结果作为关键词。
之后,构建双数组字典树,将得到的关键词按照字符排列顺序配置到双数组字典树中。其中,双数组字典树可以包括中文字符路径双数组字典树(以全拼拼音和/或简拼拼音为路径)和拼音路径双数组字典树,以支持搜索词的中文输入方式、拼输入方式以及中文和拼音参杂的输入方式。
最后,构建关联双数组字典树与词条表的倒排索引,倒排索引记录有关键词、关键词在双数组字典树中的位置信息以及关键词对应的词条在所述词条表中的位置信息。
步骤二,基于用户输入的搜索词,获取双数组字典树中与搜索词匹配的关键词集。
其中,如图4所示,本步骤二具体包括以下子步骤:
对用户输入的搜索词进行归一化处理,将搜索词的文本格式向词条表中词条的文本格式进行统一。
基于预先构建的停用词表,对用户输入的搜索词进行停用词过滤。需要说明的是,设置停用词表进行停用词过滤可精简构建双数组字典树所需要的关键词的数量,从而提高双数组字典树的检索性能。由于该方法属于现有技术,本文不再举例赘述。
判断搜索词中是否存在中文字符和英文字符。
若搜索词仅存在中文字符,则基于搜索词对中文字符路径双数组字典树进行检索,并在检索未命中时,将搜索词中的所有中文字符转换为拼音,并基于转换后的所述搜索词,对拼音路径双数组字典树进行检索;
若搜索词存在英文字符和中文字符,则将搜索词中的所有中文字符转换为拼音,并基于转换后的搜索词,对拼音路径双数组字典树进行检索;
若搜索词仅存在英文字符,则直接基于搜索词,对拼音路径双数组字典树进行检索。
显然,基于图4所示的方法,即便用户输入的搜索词中出现了拼音、简拼或同音错字,也能在双数组字典树中成功检索出与搜索词相匹配的关键词集。
步骤三,基于倒排索引,获取词条表中与关键词集相关联的候选词条集。
具体地,在确定关键词集后,即可在倒排索引中找到关键词集中各个关键词对应词条表中的词条的位置信息,并基于该位置信息找到相匹配的词条,这些相匹配的词条构成候选词条集。
步骤四,基于用户针对候选词条集中候选词条的搜索频率,计算候选词条的置信值,并按照置信值由大到小的顺序,对候选词条集中的候选词条进行排序。
需要说明的是,候选词条的置信值的计算方法并不唯一,本文不对置信值的计算公式作具体限定。但作为优选方案,可以基于词条表统计的用户针对候选词条集中候选词条的搜索频率,计算候选词条集中候选词条的置信值。应理解,置信值的大小反映了候选词条成为搜索词的推荐结果的可能性。因此,候选词条集中候选词条的置信值可以与候选词条的搜索频率呈正相关。此外,在一般的搜索输入习惯中,用户往往先输入词条的前缀部分,因此搜索词在候选词条的位置越靠前,则说明该候选词条符合用户搜索期望的概率越大,因此候选词条集中候选词条的置信值还可以与搜索词的首个字符在该候选词条中的字符序位值呈负相关。
步骤五,基于候选词条集的排序结果,从候选词条集选取预设数据数量的目标词条作为搜索词的推荐结果。
具体地,本步骤可以基于排序结果,按照置信值由大到小的顺序,从候选词条集中选出取预设数量的目标词条作为搜索词的推荐结果。
步骤六,基于用户最终输入的完整搜索词,更新词条表、字典树以及倒排索引。
其中,若用户最终输入的完整搜索词已在词条表中记录,则只需更新该完整搜索词在词条表中对应的搜索频率。若用户最终输入的完整搜索词未在词条表中记录,则可以参考上述步骤一的方法,将完整搜索词配置到词条表、双数组字典树以及倒排索引中。
下面结合实际的应用场景,对本说明书实施例的搜索方法进行示例介绍。
本应用场景可在用户搜索过程中,推荐公司名称。如图5所示,词条表、字典树和倒排索引的构建流程如下:
首先,获取记录有公司名称的词条样本数据集(词条样本数据集的来源不作具体地限定,可以是对公司黄页、快递地址等包含有公司名称的信息进行语义分析后获得),并从词条样本集中将作为词条的公司名称:“中国XX电视台”、“XX美术学院”添加至词条库。
其中,词条库的结构包括:ID1、词条和搜索频率三种属性。ID1是词条表中的位置信息。词条的搜索频率可以根据用户的历史搜索行为数据确定得到,比如使用历史搜索行为数据中用户在单位时间内对词条进行搜索的次数或者输入搜索栏的次数进行表征。由于搜索频率的获取方法并不唯一,本说明书实施例不作具体限定。
在本应用场景的词条表中,“中国XX电视台”的ID1的取值为100,搜索频率的取值为1000;“XX美术学院”的ID1的取值为300,搜索频率的取值为500。
之后,对词条表中的“中国XX电视台”、“XX美术学院”分别进行分词处理,得到“中国XX电视台”的分词结果为“中国XX电视台”、“XX电视台”和“电视台”,“XX美术学院”的分词结果为“XX美术学院”、“美术学院”和“学院”。
在分词处理完成后,将分词结果作为关键词,构建双数组字典树以及倒排索引。其中,
双数组字典树置有用于对双数组字典树中的关键词进行前缀检索所需要的条款Term数组。Term数组针对双数组字典树的父节点记录有以该父节点对应的关键词为前缀的所有其他关键词在双数组字典树的位置信息。为便于理解,Term数组结构可以如下表所示:
其中,ID2是双数组字典树的位置信息。从上表可以看出,Term数组中具有一关键词为“XX”的父节点,针对父节点“XX”,Term数组还记录有父节点“XX”的所有子节点的位置信息,包括:子节点1位置信息“ID2:402”和子节点2的位置信息“ID2:1025”。
与图5结合可以知道的是,基于Term数组在父节点“XX”记录的位置信息“ID2:402”,可以找到以父节点“XX”为前缀的关键词“XX电视台”。同时,基于Term数组在父节点“XX”记录的位置信息“ID2:1025”,可以找到以父节点“XX”为前缀的另一关键词“XX美术学院”。由此可见,Term数组实现了双数组字典树的前缀检索关键词的功能。
倒排索引包括:ID2、关键词、index和ID1四种属性。其中,index表示关键词的首个字符在词条表中对应词条的字符序位值。
在词条表、双数组字典树和倒排索引构建完成后,假设用户输入搜索词为“XX”,则参考图6,对应的流程包括:
基于搜索词“XX”向双数组字典树进行前缀检索,找到双数组字段树中与“XX”匹配的关键词集。关键词集包括关键词“XX电视台”和“XX美术学院”。
之后,根据关键词“XX电视台”在双数组字典树的位置信息“ID2:402”,从倒排索引找到对应词条表中的位置信息“ID1:100”,并根据“ID1:100”在词条表中找到词条“中国XX电视台”。同时,根据“XX美术学院”在双数组字典树的位置信息“ID2:1025”,从倒排索引找到对应的词条在词条表中的位置信息“ID1:300”,并根据“ID1:300”在词条表中找到词条“XX美术学院”。即,搜索词“XX”的候选分词集包括:“中国XX电视台”和“XX美术学院”这两个候选分词。
之后,将倒排索引中记录的关键词“XX电视台”针对词条“中国XX电视台”的index值“2”以及词条表中记录的“中国XX电视台”的搜索频率“1000”代入至预定义的置信值计算公式,计算得到词条“中国XX电视台”的置信值为715。
同时,将倒排索引中记录的关键词“XX美术学院”针对词条“XX美术学院”的index值“0”以及词条表中记录的“XX美术学院”的搜索频率“500”代入至同样的置信值计算公式,计算得到词条“XX美术学院”的置信值为501。
在候选分词集中的“中国XX电视台”和“XX美术学院”的置信值都确定后,选取置信值最大的词条“中国XX电视台”作为搜索词“XX”的推荐结果。
若用户基于“中国XX电视台”的推荐结果进行搜索,则更新词条表中“中国XX电视台”的搜索频率。
综上所述,本应用场景基于图1所示的词条表、预设词库和倒序索引的构架,实现了针对搜索词的模糊推荐;基于预设词库所包含的中文字符路径双数组字典树和拼音路径双数组字典树实现了搜索词的拼音、简拼、中文拼音混合等输入方式;基于置信值计算方法,实现了根据用户搜索频率和搜索词位置,对推荐词条的优先级筛选。可见,本说明书实施例的整个方案构建简单且易于实施,因此具有较高的实用价值。
以上是对本申请实施例的播放方法的示例性介绍,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
与上述搜索方法相对应地,如图7所示,本说明书实施例还提供一种搜索装置700,包括:
检索模块710,基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的。
关联模块720,基于所述关键词集确定对应的候选词条集。其中,所述候选词条集包括分词处理后能够得到所述关键词集中的关键词的词条。
选取模块730,从所述候选词条集中选取目标词条作为所述搜索词的推荐结果。
通过图7所示的搜索装置可以知道,本说明书实施例的方案对用于搜索推荐的词条进行分词处理,并将分词结果作为关键词构建关键词的预设词库。在用户输入搜索词时,先基于搜索词对预设词库进行检索,确定预设词库中与搜索词相匹配的关键词集,之后进一步确定经分词处理后能够得到该关键词集的候选词条集,并最终向用户推荐候选词条集中与搜索词相关联的完整词条。一方面,由于采用的是模糊推荐方式,因此用户输入的搜索词不限于是推荐结果的起始部分,使得搜索词的输入和推荐结果更加灵活;另一方面,提示的完整词条具有更高搜索精确性,用户若选择完整词条进行搜索可显著提升搜索效率,从而获得更好的搜索体验。
可选地,选取模块730具体基于用户针对所述候选词条集中候选词条的搜索频率,计算所述候选词条集中候选词条的置信值;之后,基于置信值由大到小的顺序,从所述候选词条集中选出取预设数量的目标词条作为所述搜索词的推荐结果。
其中,所述候选词条集中候选词条的置信值与该候选词条的搜索频率呈正相关,并与所述搜索词的首个字符在该候选词条中的字符序位值呈负相关。
可选地,所述预设词库包括:双数组字典树,所述双数组字典树配置有用于对所双数组字典树的关键词进行前缀检索的Term数组,所述Term数组针对所述双数组字典树的父节点记录有以该父节点对应的关键词为前缀的所有其他关键词在所述双数组字典树中的位置信息。
可选地,所述双数组字典树包括:中文字符路径双数组字典树和拼音路径双数组字典树;
若所述搜索词仅存在中文字符,则检索模块710基于所述搜索词对所述中文字符路径双数组字典树进行检索,并在检索未命中时,将所述搜索词中的所有中文字符转换为拼音,并基于转换后的所述搜索词,对所述拼音路径双数组字典树进行检索;
若所述搜索词存在英文字符和中文字符,则检索模块710将所述搜索词中的所有中文字符转换为拼音,并基于转换后的所述搜索词,对所述拼音路径双数组字典树进行检索;
若所述搜索词仅存在英文字符,则检索模块710直接基于所述搜索词,对所述拼音路径双数组字典树进行检索。
可选地,所述拼音路径双数组字典树以全拼拼音和/或简拼拼音为路径。
可选地,所述预设词库中的关键词是对词条表中用于搜索推荐的词条进行分词处理后获得的。所述关联模块720具体基于将所述预设词库的关键词与词条表的词条进行关联的倒排索引,确定经分词处理后得到所述关键词集的候选词条集。
在上述基础之上,本说明实施例的搜索装置还包括:
词条表构建模块,用于构建词条表,将归一化处理后的词条配置到词条表中,并基于所述词条表统计用户针对所述词条表中词条的搜索频率;
分词处理模块,用于对词条表中的词条进行分词处理,并将分词结果作为关键词;双数组字典树构建模块,用于构建双数组字典树,将得到的关键词按照字符排列顺序配置到所述双数组字典树中;
倒排索引构建模块,用于构建倒排索引,所述倒排索引记录有关键词、关键词在所述双数组字典树中的位置信息以及关键词对应的词条在所述词条表中的位置信息。
可选地,在上述基础之上,本说明实施例的搜索装置还包括:
停用词过滤模块,在基于用户输入的搜索词,对预先构建的字典树进行检索前,可以基于预先构建的停用词表,对用户输入的搜索词进行停用词过滤。
应理解,本申请实施例的搜索装置可以作为图1所示的搜索方法的执行主体,因此能够实现搜索方法在图1-图6所实现的功能。由于原理相同,本文不再赘述。
图8是本说明书的另一个实施例的搜索方法,包括:
步骤S802,基于用户输入的搜索词,对预设词库进行检索,得到预设词库的关键词中与搜索词相匹配的关键词集,其中,预设词库中的关键词是根据用于搜索推荐的词条得到的。
步骤S804,基于关键词集确定对应的目标词条。
步骤S806,将目标词条作为搜索词的推荐结果。
应理解,图8所示的搜索方法也可以采用模糊推荐方式向用户推荐与搜索词相关联的完整词条,因此能够实现与图1所示的搜索方法相同的技术效果。
可选地,在本实施例中,预设词库中的关键词可以但不限于是对用于搜索推荐的词条进行分词处理后获得的。
此外,本实施中的搜索方法还可以包括图1所示搜索方法中的其他步骤,本文不再举例赘述。
图9是本说明书的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成问答对数据挖掘装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的;
基于所述关键词集确定对应的候选词条集;
从所述候选词条集中选取目标词条作为所述搜索词的推荐结果。
本说明书实施例的电子设备对用于搜索推荐的词条进行分词处理,并将分词结果作为关键词构建关键词的预设词库。在用户输入搜索词时,先基于搜索词对预设词库进行检索,确定预设词库中与搜索词相匹配的关键词集,之后进一步确定经分词处理后能够得到该关键词集的候选词条集,并最终向用户推荐候选词条集中与搜索词相关联的完整词条。一方面,由于采用的是模糊推荐方式,因此用户输入的搜索词不限于是推荐结果的起始部分,使得搜索词的输入和推荐结果更加灵活;另一方面,提示的完整词条具有更高搜索精确性,用户若选择完整词条进行搜索可显著提升搜索效率,从而获得更好的搜索体验。
或者,处理器执行存储器所存放的程序,并具体用于执行以下操作:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是根据用于搜索推荐的词条得到的;
基于所述关键词集确定对应的目标词条,
将所述目标词条作为所述搜索词的推荐结果。
上述如本说明书图1或图8所示实施例揭示的搜索方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括XX处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,本说明书实施例的电子设备可以实现搜索装置在图1-图6所示的实施例的功能,本文不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
此外,本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令。
其中,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的。
基于所述关键词集确定候选词条集,其中,所述候选词条集包括所述用于搜索推荐的词条中经分词处理后能够得到所述关键词集的词条。
从所述候选词条集中选取目标词条作为所述搜索词的推荐结果。
或者,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图8所示实施例的方法,并具体用于执行以下方法:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是根据用于搜索推荐的词条得到的;
基于所述关键词集确定对应的目标词条,
将所述目标词条作为所述搜索词的推荐结果。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (8)
1.一种搜索方法,其特征在于,包括:
基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的;
查询倒排索引以确定所述关键词对应的候选词条集,其中,所述倒排索引是将所述预设词库的关键词与用于搜索推荐的词条进行倒排序关联得到的;
从所述候选词条集中选取目标词条作为所述搜索词的推荐结果;
所述预设词库包括:双数组字典树,所述双数组字典树配置有用于对所双数组字典树的关键词进行前缀检索的条款Term数组,所述Term数组针对所述双数组字典树的父节点记录有以该父节点对应的关键词为前缀的所有其他关键词在所述双数组字典树中的位置信息;
在基于用户输入的搜索关键词,对预设词库进行检索前,还包括:
构建词条表,将归一化处理后的用于搜索推荐的词条配置到所述词条表中,并基于所述词条表统计用户针对所述词条表中词条的搜索频率;
对词条表中的词条进行分词处理,并将分词结果作为关键词;
构建双数组字典树,将得到的关键词按照字符排列顺序配置到所述双数组字典树中;
构建倒排索引,所述倒排索引记录有关键词、关键词在所述双数组字典树中的位置信息以及关键词对应的词条在所述词条表中的位置信息。
2.根据权利要求1所述的方法,其特征在于,
从所述候选词条集中选取目标词条作为所述搜索词的推荐结果,包括:
基于用户针对所述候选词条集中候选词条的搜索频率,计算所述候选词条集中候选词条的置信值;
基于置信值由大到小的顺序,从所述候选词条集中选出取预设数量的目标词条作为所述搜索词的推荐结果。
3.根据权利要求2所述的方法,其特征在于,
所述候选词条集中候选词条的置信值与该候选词条的搜索频率呈正相关,并与所述搜索词的首个字符在该候选词条中的字符序位值呈负相关。
4.根据权利要求1所述的方法,其特征在于,
所述双数组字典树包括:中文字符路径双数组字典树和拼音路径双数组字典树;
基于用户输入的搜索词,对预设词库进行检索,包括:
若所述搜索词仅存在中文字符,则基于所述搜索词对所述中文字符路径双数组字典树进行检索,并在检索未命中时,将所述搜索词中的所有中文字符转换为拼音,并基于转换后的所述搜索词,对所述拼音路径双数组字典树进行检索;
若所述搜索词存在英文字符和中文字符,则将所述搜索词中的所有中文字符转换为拼音,并基于转换后的所述搜索词,对所述拼音路径双数组字典树进行检索;
若所述搜索词仅存在英文字符,则基于所述搜索词,对所述拼音路径双数组字典树进行检索。
5.根据权利要求4所述的方法,其特征在于,
所述拼音路径双数组字典树以全拼拼音和/或简拼拼音为路径。
6.一种搜索装置,其特征在于,包括:
检索模块,基于用户输入的搜索词,对预设词库进行检索,得到所述预设词库的关键词中与所述搜索词相匹配的关键词集,其中,所述预设词库中的关键词是对用于搜索推荐的词条进行分词处理后获得的;
关联模块,查询倒排索引以确定所述关键词对应的候选词条集,其中,所述倒排索引是将所述预设词库的关键词与用于搜索推荐的词条进行倒排序关联得到的;
选取模块,从所述候选词条集中选取目标词条作为所述搜索词的推荐结果;
所述预设词库包括:双数组字典树,所述双数组字典树配置有用于对所双数组字典树的关键词进行前缀检索的条款Term数组,所述Term数组针对所述双数组字典树的父节点记录有以该父节点对应的关键词为前缀的所有其他关键词在所述双数组字典树中的位置信息;
在基于用户输入的搜索关键词,对预设词库进行检索前,还包括:
构建词条表,将归一化处理后的用于搜索推荐的词条配置到所述词条表中,并基于所述词条表统计用户针对所述词条表中词条的搜索频率;
对词条表中的词条进行分词处理,并将分词结果作为关键词;
构建双数组字典树,将得到的关键词按照字符排列顺序配置到所述双数组字典树中;
构建倒排索引,所述倒排索引记录有关键词、关键词在所述双数组字典树中的位置信息以及关键词对应的词条在所述词条表中的位置信息。
7.一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行如权利要求1-5任一项所述的搜索方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138626.1A CN111611471B (zh) | 2019-02-25 | 2019-02-25 | 一种搜索方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138626.1A CN111611471B (zh) | 2019-02-25 | 2019-02-25 | 一种搜索方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611471A CN111611471A (zh) | 2020-09-01 |
CN111611471B true CN111611471B (zh) | 2023-12-26 |
Family
ID=72199850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910138626.1A Active CN111611471B (zh) | 2019-02-25 | 2019-02-25 | 一种搜索方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611471B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948713B (zh) * | 2021-02-02 | 2023-05-30 | 挂号网(杭州)科技有限公司 | 建议搜索词确定方法、装置、服务器及介质 |
CN114220054B (zh) * | 2021-12-15 | 2023-04-18 | 北京中科智易科技股份有限公司 | 基于装备总线数据分析装备战术动作并同步展示的方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014702A1 (fr) * | 2006-07-25 | 2008-02-07 | Beijing Sogou Technology Development Co., Ltd. | Procédé et système d'extraction de mots nouveaux |
CN101398830A (zh) * | 2007-09-27 | 2009-04-01 | 阿里巴巴集团控股有限公司 | 词库模糊查询方法及词库模糊查询系统 |
CN102063446A (zh) * | 2009-11-13 | 2011-05-18 | 中国移动通信集团四川有限公司 | 一种建立倒排索引的方法及倒排索引装置 |
WO2014114137A1 (en) * | 2013-01-25 | 2014-07-31 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for recommending keywords |
CN105138511A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种对搜索关键词进行语义分析的方法和系统 |
CN107092608A (zh) * | 2016-04-16 | 2017-08-25 | 口碑控股有限公司 | 一种目标对象的搜索、推荐方法和设备 |
CN107609098A (zh) * | 2017-09-11 | 2018-01-19 | 北京金堤科技有限公司 | 搜索方法及装置 |
CN108227955A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种基于用户历史搜索推荐输入联想的方法及装置 |
KR20180075234A (ko) * | 2016-12-26 | 2018-07-04 | 주식회사 카카오 | 컨텐츠에 대한 유입검색어 및 연관검색어 기반의 컨텐츠 추천방법 및 추천장치 |
CN108388635A (zh) * | 2018-02-24 | 2018-08-10 | 杭州朗和科技有限公司 | 数据搜索方法、装置、介质和计算设备 |
-
2019
- 2019-02-25 CN CN201910138626.1A patent/CN111611471B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014702A1 (fr) * | 2006-07-25 | 2008-02-07 | Beijing Sogou Technology Development Co., Ltd. | Procédé et système d'extraction de mots nouveaux |
CN101398830A (zh) * | 2007-09-27 | 2009-04-01 | 阿里巴巴集团控股有限公司 | 词库模糊查询方法及词库模糊查询系统 |
CN102063446A (zh) * | 2009-11-13 | 2011-05-18 | 中国移动通信集团四川有限公司 | 一种建立倒排索引的方法及倒排索引装置 |
WO2014114137A1 (en) * | 2013-01-25 | 2014-07-31 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for recommending keywords |
CN105138511A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种对搜索关键词进行语义分析的方法和系统 |
CN107092608A (zh) * | 2016-04-16 | 2017-08-25 | 口碑控股有限公司 | 一种目标对象的搜索、推荐方法和设备 |
KR20180075234A (ko) * | 2016-12-26 | 2018-07-04 | 주식회사 카카오 | 컨텐츠에 대한 유입검색어 및 연관검색어 기반의 컨텐츠 추천방법 및 추천장치 |
CN107609098A (zh) * | 2017-09-11 | 2018-01-19 | 北京金堤科技有限公司 | 搜索方法及装置 |
CN108227955A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种基于用户历史搜索推荐输入联想的方法及装置 |
CN108388635A (zh) * | 2018-02-24 | 2018-08-10 | 杭州朗和科技有限公司 | 数据搜索方法、装置、介质和计算设备 |
Non-Patent Citations (2)
Title |
---|
基于双数组Trie树中文分词研究;赵欢;朱红权;;湖南大学学报(自然科学版)(第05期);全文 * |
基于文档词典的文本关联关键词推荐技术;邱利茂;刘嘉勇;;现代计算机(专业版)(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111611471A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9946753B2 (en) | Method and system for document indexing and data querying | |
CN111061750A (zh) | 一种查询处理方法、装置及计算机可读存储介质 | |
CN106446122B (zh) | 信息检索的方法、装置与计算设备 | |
CN109800427B (zh) | 一种分词方法、装置、终端及计算机可读存储介质 | |
US20160196355A1 (en) | Searching method, searching apparatus and device | |
CN109582155B (zh) | 输入联想词的推荐方法、装置、存储介质及电子设备 | |
CN111611471B (zh) | 一种搜索方法、装置及电子设备 | |
KR20170141246A (ko) | 대상 검색 방법, 장치 및 서버 | |
CN115309954A (zh) | 一种数据检索方法、装置、设备以及存储介质 | |
CN114090746B (zh) | 一种基于知识图谱的答案查询方法、装置及电子设备 | |
KR101624420B1 (ko) | 검색 대상의 관련 키워드를 이용한 검색 방법 및 시스템 | |
CN108804550B (zh) | 一种查询词拓展方法、装置以及电子设备 | |
CN111488371A (zh) | 一种数据查询方法和装置 | |
CN110287284B (zh) | 语义匹配方法、装置及设备 | |
CN106844406B (zh) | 检索方法和检索装置 | |
CN107798091B (zh) | 一种数据爬取的方法及其相关设备 | |
CN112100313B (zh) | 一种基于最细粒度切分的数据索引方法及系统 | |
CN112579713B (zh) | 地址识别方法、装置、计算设备及计算机存储介质 | |
CN111159526B (zh) | 查询语句处理方法、装置、设备及存储介质 | |
CN113535722A (zh) | 基于映射的dag溯源取样方法、系统、设备及存储介质 | |
CN113868533A (zh) | 应用搜索方法、装置、电子设备及存储介质 | |
CN113569012B (zh) | 医疗数据查询方法、装置、设备及存储介质 | |
CN111078727A (zh) | 一种简要描述生成方法、装置及计算机可读存储介质 | |
US11238052B2 (en) | Refining a search request to a content provider | |
CN110019684B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |