字典生成、搜索关键字推荐方法、装置和服务器
文献发布时间:2023-06-19 12:22:51
技术领域
本公开涉及机器学习领域,尤其涉及一种字典生成、搜索关键字推荐方法、装置、服务器、计算机可读存储介质及计算机程序产品。
背景技术
随着互联网的普及,用户习惯于通过搜索引擎获取各种网络内容。搜索引擎根据用户输入的关键字进行网络内容的检索召回,为了提升召回相关性,系统会根据输入关键字推荐搜索关键字。
目前较为常见的推荐搜索关键字的方式是通过Graph Embedding(图嵌入方法)的方式训练搜索关键字的向量表征,训练完成后保存训练阶段出现过的关键字及其向量表征形成字典。在召回过程中,在字典中查找用户所输入关键字对应的向量表征,并基于查找到的向量表征召回相关的搜索关键字。
然而,用户的表述习惯千差万别,如果用户当前输入的字符串并未在训练阶段中训练出向量表征,则会无法在字典中查找到相应的向量表征,从而导致无法召回相关的搜索关键字。
然而,目前的召回方法中存在无法有效召回搜索关键字的问题。
发明内容
本公开提供一种字典生成、搜索关键字推荐方法、装置、服务器、计算机可读存储介质及计算机程序产品,以至少解决相关技术中无法有效召回搜索关键字的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种字典生成方法,包括:
获取历史搜索关键字集合;所述历史搜索关键字集合中包括多个历史搜索关键字;
对各个所述历史搜索关键字进行字符串提取,获取各个所述历史搜索关键字分别对应的第一字符串,并对每个所述第一字符串进行分割,得到每个所述第一字符串包含的多个第一分词元素;
对于每个所述第一字符串,根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征,得到所述第一字符串的初始字符串表征;
以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一字符串包含的多个所述第一分词元素的初始元素表征进行训练,得到与每个所述第一分词元素对应的训练后元素表征;
根据与每个所述第一分词元素对应的训练后元素表征,生成元素表征字典;所述元素表征字典记录有每个第一分词元素与对应的训练后元素表征的映射关系;其中,在从候选搜索关键字中确定与在线搜索关键字相似的目标搜索关键字时,通过查询所述元素表征字典确定与各候选搜索关键字对应的训练后元素表征,并根据与各候选搜索关键字对应的训练后元素表征确定与所述在线搜索关键字相似的目标搜索关键字。
一个示例性实施例中,所述第一字符串包括目标字符串、正相关字符串和负相关字符串;所述以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一字符串包含的多个第一分词元素的初始元素表征进行训练,得到与每个第一分词元素对应的训练后元素表征,包括:
根据所述目标字符串和所述正相关字符串各自的初始字符串表征,得到正相关相似度;
根据所述目标字符串和所述负相关字符串各自的初始字符串表征,得到负相关相似度;
根据所述正相关相似度与所述负相关相似度之间的差异,更新所述第一分词元素的初始元素表征,直至所述正相关相似度与所述负相关相似度之间的差异达到预设的收敛条件,得到所述训练后元素表征。
一个示例性实施例中,在所述获取历史搜索关键字集合之前,还包括:
从搜索日志中提取所述历史搜索关键字及其点击行为;
构建节点图;所述节点图包括节点以及连接所述节点的节点边;所述节点用于记录所述历史搜索关键字;所述节点边用于记录所述历史搜索关键字之间的相关度权重;所述相关度根据所述点击行为得到;
在所述节点图上,沿所述节点边在所述节点之间进行游走,得到游走节点序列;
根据所述游走节点序列,确定所述目标字符串、所述正相关字符串和所述负相关字符串。
一个示例性实施例中,在所述以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一字符串包含的多个第一分词元素的初始元素表征进行训练,得到与每个第一分词元素对应的训练后元素表征之后,还包括:
合并多个所述第一分词元素的训练后元素表征,得到所述第一字符串的训练后字符串表征;
根据所述第一字符串的训练后字符串表征,生成字符串表征索引库;所述字符串表征索引库记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系;所述字符串表征索引库用于在所述候选搜索关键字中查询与所述在线搜索关键字相似的目标搜索关键字。
一个示例性实施例中,还包括:
接收所述在线搜索关键字,并对所述在线搜索关键字进行字符串提取,获取所述在线搜索关键字对应的第二字符串;
对所述第二字符串进行分割,得到所述第二字符串包含的第二分词元素;
在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
一个示例性实施例中,在所述元素表征字典中,查找与第二分词元素匹配的第一分词元素之前,还包括:
在接收到所述在线搜索关键字时,在所述字符串表征索引库中查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;
当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,执行所述对所述第二字符串进行分割,得到所述第二字符串包含的第二分词元素的步骤。
一个示例性实施例中,所述对每个所述第一字符串进行分割,得到每个第一字符串包含的多个第一分词元素,包括:
生成字符滑动窗口;
控制所述字符滑动窗口在所述第一字符串上按照字符在所述第一字符串中的排列方向滑动预设的滑动距离;
将滑动后的所述字符滑动窗口内的字符提取作为所述第一分词元素。
一个示例性实施例中,所述对于每个第一字符串,根据所述第一字符串包含的多个第一分词元素分别对应的初始元素表征,得到所述第一字符串的初始字符串表征,包括:
提取各个所述初始元素表征的表征向量;
将各个所述初始元素表征的表征向量进行向量相加,得到所述第一字符串的初始字符串表征。
根据本公开实施例的第二方面,提供一种搜索关键字推荐方法,包括:
获取元素表征字典;所述元素表征字典记录有各个第一分词元素与对应的训练后元素表征的映射关系;其中,各个所述第一分词元素是对各个历史搜索关键字分别对应的第一字符串进行分割得到的;所述第一字符串是对获取到的各个历史搜索关键字进行字符串提取得到的;所述训练后元素表征是以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一分词元素的初始元素表征进行训练得到的;所述初始字符串表征是根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征得到的;
接收在线搜索关键字;所述在线搜索关键字包括第二字符串;
对所述第二字符串进行分割,得到所述第二字符串包含的多个第二分词元素;
在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
获取记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系的字符串表征索引库,并在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
在一个示例性实施例中,在所述接收在线搜索关键字之后,还包括:
在所述字符串表征索引库中,查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;
当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,执行对所述第二字符串进行分割,得到所述第二字符串包含的多个第二分词元素的步骤。
根据本公开实施例的第三方面,提供一种字典生成装置,包括:
关键字获取单元,被配置为获取历史搜索关键字集合;所述历史搜索关键字集合中包括多个历史搜索关键字;
第一分割单元,被配置为对各个所述历史搜索关键字进行字符串提取,获取各个所述历史搜索关键字分别对应的第一字符串,并对每个所述第一字符串进行分割,得到每个所述第一字符串包含的多个第一分词元素;
表征单元,被配置为对于每个所述第一字符串,根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征,得到所述第一字符串的初始字符串表征;
训练单元,被配置为以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一字符串包含的多个所述第一分词元素的初始元素表征进行训练,得到与每个所述第一分词元素对应的训练后元素表征;
字典生成单元,被配置为根据与每个所述第一分词元素对应的训练后元素表征,生成元素表征字典;所述元素表征字典记录有每个第一分词元素与对应的训练后元素表征的映射关系;其中,在从候选搜索关键字中确定与在线搜索关键字相似的目标搜索关键字时,通过查询所述元素表征字典确定与各候选搜索关键字对应的训练后元素表征,并根据与各候选搜索关键字对应的训练后元素表征确定与所述在线搜索关键字相似的目标搜索关键字。
在一个示例性实施例中,所述第一字符串包括目标字符串、正相关字符串和负相关字符串;所述训练单元被配置为:
根据所述目标字符串和所述正相关字符串各自的初始字符串表征,得到正相关相似度;
根据所述目标字符串和所述负相关字符串各自的初始字符串表征,得到负相关相似度;
根据所述正相关相似度与所述负相关相似度之间的差异,更新所述第一分词元素的初始元素表征,直至所述正相关相似度与所述负相关相似度之间的差异达到预设的收敛条件,得到所述训练后元素表征。
在一个示例性实施例中,所述装置被配置为:
从搜索日志中提取所述历史搜索关键字及其点击行为;
构建节点图;所述节点图包括节点以及连接所述节点的节点边;所述节点用于记录所述历史搜索关键字;所述节点边用于记录所述历史搜索关键字之间的相关度权重;所述相关度根据所述点击行为得到;
在所述节点图上,沿所述节点边在所述节点之间进行游走,得到游走节点序列;
根据所述游走节点序列,确定所述目标字符串、所述正相关字符串和所述负相关字符串。
在一个示例性实施例中,所述装置被配置为:
合并多个所述第一分词元素的训练后元素表征,得到所述第一字符串的训练后字符串表征;
根据所述第一字符串的训练后字符串表征,生成字符串表征索引库;所述字符串表征索引库记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系;所述字符串表征索引库用于在所述候选搜索关键字中查询与所述在线搜索关键字相似的目标搜索关键字。
在一个示例性实施例中,所述装置还包括:
关键字接收单元,被配置为接收所述在线搜索关键字,并对所述在线搜索关键字进行字符串提取,获取所述在线搜索关键字对应的第二字符串;
第二分割单元,被配置为对所述第二字符串进行分割,得到所述第二字符串包含的第二分词元素;
查找单元,被配置为在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
合并单元,被配置为将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
目标关键字查找单元,被配置为在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
推荐单元,被配置为向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
在一个示例性实施例中,所述装置被配置为:
在接收到所述在线搜索关键字时,在所述字符串表征索引库中查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,跳转至所述第二分割单元。
在一个示例性实施例中,所述分割单元被配置为:
生成字符滑动窗口;
控制所述字符滑动窗口在所述第一字符串上按照字符在所述第一字符串中的排列方向滑动预设的滑动距离;
将滑动后的所述字符滑动窗口内的字符提取作为所述第一分词元素。
在一个示例性实施例中,所述表征单元被配置为:
提取各个所述初始元素表征的表征向量;
将各个所述初始元素表征的表征向量进行向量相加,得到所述第一字符串的初始字符串表征
根据本公开实施例的第四方面,提供一种搜索装置,包括:
字典获取单元,被配置为获取元素表征字典;所述元素表征字典记录有各个第一分词元素与对应的训练后元素表征的映射关系;其中,各个所述第一分词元素是对各个历史搜索关键字分别对应的第一字符串进行分割得到的;所述第一字符串是对获取到的各个历史搜索关键字进行字符串提取得到的;所述训练后元素表征是以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一分词元素的初始元素表征进行训练得到的;所述初始字符串表征是根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征得到的;
关键字接收单元,被配置为接收在线搜索关键字;所述在线搜索关键字包括第二字符串;
分割单元,被配置为对所述第二字符串进行分割,得到所述第二字符串包含的多个第二分词元素;
查找单元,被配置为在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
合并单元,被配置为将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
匹配单元,被配置为获取记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系的字符串表征索引库,并在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
推荐单元,被配置为向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
在一个示例性实施例中,所述装置被配置为:
在所述字符串表征索引库中,查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,跳转至所述分割单元
根据本公开实施例的第五方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面和/或第二方面的方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得服务器能够执行上述第一方面和/或第二方面的方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面和/或第二方面的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
上述的字典生成方法中,通过将历史搜索关键字的第一字符串分割为多个第一分词元素,将各个第一分词元素的初始元素表征合并为初始字符串表征,然后以各个第一字符串的初始字符串表征之间的相似度为训练收敛目标对初始元素表征进行训练,得到训练后元素表征,并生成记录第一分词元素与对应的训练后元素表征的映射关系的元素表征字典。由于细粒度的分词元素的匹配命中成功率较高,因此,在召回阶段中,可以在元素表征字典中查找到匹配的分词元素,并确定其对应的元素表征,然后基于元素表征得到字符串表征,并在多个候选搜索关键字中召回与在线搜索关键字相似的目标搜索关键字作为召回结果,从而,提升召回搜索关键字的成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种字典生成方法的应用环境图。
图2是根据一示例性实施例示出的一种字典生成方法的流程图。
图3是根据一示例性实施例示出的一种搜索关键字召回步骤的流程图。
图4是根据一个示例性实施例的节点图的示意图。
图5是根据一示例性实施例示出的一种搜索关键字推荐的流程图。
图6是根据一示例性实施例示出的一种字典生成装置的框图。
图7是根据一示例性实施例示出的一种关键字推荐装置框图。
图8是根据一示例性实施例示出的一种设备框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的字典生成方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互。其中,终端110可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在进行网页内容搜索的应用场景中,用户可以通过终端110输入字符串,终端110将包含有该字符串的搜索请求发送至服务器120,服务器120可以根据该搜索请求的字符串召回若干个与该字符串相似的字符串,并返回给终端110,以给用户推荐用于搜索网页内容的字符串,用户可以选取所推荐的其中一个或多个字符串进行搜索,以搜索出符合用户搜索意图的网页内容。
图2是根据一示例性实施例示出的一种字典生成方法的流程图,如图2所示,字典生成方法用于服务器120中,包括以下步骤。
在步骤S210中,获取历史搜索关键字集合;所述历史搜索关键字集合中包括多个历史搜索关键字。
其中,历史搜索关键字可以为用户曾经输入的用于搜索网页内容的关键字。
具体地,服务器120可以从记录有用户曾经使用过的搜索关键字的搜索日志中,提取出大量的历史搜索关键字,形成历史搜索关键字集合。
例如,某个历史搜索关键字的第一字符串可以为“某歌手告白气球”。
在步骤S220中,对各个所述历史搜索关键字进行字符串提取,获取各个所述历史搜索关键字分别对应的第一字符串,并对每个所述第一字符串进行分割,得到每个所述第一字符串包含的多个第一分词元素。
其中,字符串为历史搜索关键字所包含的字符的序列。为了区分说明,历史搜索关键字中的字符串命名为第一字符串。
其中,分词元素可以为对字符串进行分割后得到的一个或多个字符。为了区分说明,对第一字符串分割后得到的分词元素,命名为第一分词元素。
具体地,服务器120可以将历史搜索关键字中的各个字符提取作为上述的第一字符串。按照各个字符在第一字符串中排序,将第一字符串分割为多个第一分词元素。例如,可以将第一个字符及排列在第一个字符之后的第二个字符作为一个分词元素,将第二个字符及排列在第二个字符之后的第三个字符作为下一个分词元素,如此类推。
在其中一种用于得到多个分词元素的分割方式中,可以通过N-gram(一种文本分割方法)分割方式进行分割,得到N-gram特征集合。例如,对第一字符串“某歌手告白气球”进行N-gram分割,假设分割字符量n=3,即Tri-gram,可以得到N-gram特征集合<某歌,某歌手,歌手告,手告白,白气球,气球>,集合中的N-gram特征即为上述的第一分词元素。
实际应用中,还可以采用其他分割方式,例如,将每个字符分割出作为第一分词元素。
在步骤S230中,对于每个所述第一字符串,根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征,得到所述第一字符串的初始字符串表征。
其中,元素表征可以用于表示分词元素的特征,例如,可以采用向量作为元素表征。为了区分说明,未经训练的元素表征命名为初始元素表征。
其中,字符串表征可以用于表示字符串的、根据各个分词元素的元素表征得到的特征,例如,可以采用向量作为字符串表征。为了区分说明,根据未经训练的元素表征得到的字符串表征,命名为初始字符串表征。
具体地,服务器120可以通过预设规则,随机生成各个第一分词元素的元素表征,作为上述的初始元素表征。然后,服务器120可以将各个第一分词元素的初始元素表征进行合并,得到了第一字符串的完整的字符串表征,作为上述的初始字符串表征。
其中一种合并方式中,当元素表征采用向量的方式表示时,可以将各个初始元素表征进行向量相加,相加后得到的向量作为初始字符串表征。
实际应用中,还可以采用其他合并方式,例如,将各个第一分词元素的元素表征拼接得到初始字符串表征。
在步骤S240中,以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一字符串包含的多个所述第一分词元素的初始元素表征进行训练,得到与每个所述第一分词元素对应的训练后元素表征。
其中,训练后元素表征可以为对初始元素表征进行训练后得到的元素表征。
具体地,服务器120可以通过Graph Embedding中较为常见的node2vec方法,构建由节点和节点边所形成的节点图。其中,节点代表历史搜索关键字,节点边代表历史搜索关键字之间的相关度权重。相关度权重可以由历史搜索关键字对应的点击行为得到。
然后,服务器120可以在节点图上沿节点边在各个节点之间进行随机游走采样,将游走过程中采样得到的节点形成游走节点序列。
该游走节点序列中所包含的各个节点,代表各个节点所对应的历史搜索关键字之间存在正相关性,而任意两个游走节点序列各自的节点,则代表着所对应的历史搜索关键字之间存在负相关性。
利用正相关的历史搜索关键字之间的相似度以及负相关的历史搜索关键字之间的相似度,可构建出一个损失函数,基于该损失函数的损失值,通过梯度下降方法调整各个第一分词元素的元素表征,直至损失函数收敛,即,达到训练收敛目标,可以得到训练后元素表征。
由此,服务器120得到了可以准确反映各个分词元素的含义的元素表征。
当然,上述的基于node2vec、正负相关搜索关键字构建的损失函数的方式是一种示例性的具体实施手段,本领域技术人员还可以通过其他具体实施手段,以各个第一字符串的初始字符串表征之间的相似度为训练收敛目标对第一分词元素的初始元素表征进行训练以得到训练后元素表征。
在步骤S250中,根据与每个所述第一分词元素对应的训练后元素表征,生成元素表征字典;所述元素表征字典记录有每个所述第一分词元素与对应的训练后元素表征的映射关系;其中,在从候选搜索关键字中确定与在线搜索关键字相似的目标搜索关键字时,通过查询所述元素表征字典确定与各候选搜索关键字对应的训练后元素表征,并根据与各候选搜索关键字对应的训练后元素表征确定与所述在线搜索关键字相似的目标搜索关键字。
其中,元素表征字典可以为记录有第一分词元素和训练后元素表征之间的映射关系的字典。
其中,在线搜索关键字可以为用户实时输入的用于搜索网页内容的关键字。
其中,目标搜索关键字可以为与在线搜索关键字相似的关键字。
其中,候选搜索关键字可以为用于候选的用于确定目标搜索关键字的关键字。
具体地,服务器120可以将训练后得到的训练后元素表征和第一分词元素对应保存,形成上述的元素表征字典。
此外,服务器120还可以将第一字符串中各个第一分词元素对应的训练后元素表征合并得到完整的训练后字符串表征,将完整的训练后字符串表征与包含该第一字符串的候选搜索关键字对应保存,形成字符串表征索引库。
当用户通过终端110提交在线搜索关键字时,服务器120可以对在线搜索关键字进行字符串提取,得到第二字符串,并将第二字符串分割为多个第二分词元素。然后,在元素表征字典查找与各个第二分词元素匹配的第一分词元素及其对应的元素表征,将查找到的各个元素表征合并作为第二字符串的字符串表征。下一步,在字符串表征索引库中,查找字符串表征与第二字符串的字符串表征相匹配的候选搜索关键字,由此得到作为召回结果的目标搜索关键字。然后,下发目标搜索关键字至用户终端110以推荐给用户。用户可以选取该目标搜索关键字进行网络内容搜索,以搜索出更符合用户搜索需求的网络内容。
需要说明的是,由于用户的表述习惯千差万别,用户可能会输入个别字符不同、但含义相似的字符串作为在线搜索关键字,但如果在训练阶段中未对该搜索关键字训练得到相应的字符串表征,则由于无法查找到与在线搜索关键字相同的历史搜索关键字,从而也无法得到相应的字符串表征,也无法基于字符串表征召回相似的搜索关键字。
上述实施例的字典生成方法,将历史搜索字符串分割为更细粒度的分词元素,并基于分词元素的元素表征进行训练。在召回阶段中,如果无法查找到与在线搜索关键字相同的候选搜索关键字,可以将在线搜索关键字中的第二字符串分割成多个第二分词元素,基于细粒度的第二分词元素在元素表征字典中查找,由于分词元素通常会较为常用的一个或多个字符,因此,命中的成功率更高,因此,可以查找到与各个第二分词元素相同的目标第一分词元素,由此,可以将目标第一分词元素对应的元素表征合并,作为第二字符串的字符串表征,并基于第二字符串的字符串表征召回相似的搜索关键字。
例如,在线搜索关键字为“某歌手告诉气球”,如果在训练阶段未曾对该搜索关键字进行训练,由于无法查找到“某歌手告诉气球”对应的字符串表征,因此召回失败。然而,可以通过N-gram分割得到N-gram特征集合<某歌,某歌手,歌手告,手告诉,诉气球,气球>,针对该N-gram特征集合,<某歌,某歌手,歌手告,手告诉,诉气球,气球>均可以在元素表征字典中匹配命中“某歌,某歌手,歌手告,气球”及其相应的元素表征,基于相应的元素表征合并出字符串表征,可以有效地召回相似的搜索关键字。
上述的字典生成方法中,通过将历史搜索关键字的第一字符串分割为多个第一分词元素,将各个第一分词元素的初始元素表征合并为初始字符串表征,然后以各个第一字符串的初始字符串表征之间的相似度为训练收敛目标对初始元素表征进行训练,得到训练后元素表征,并生成记录第一分词元素与对应的训练后元素表征的映射关系的元素表征字典。由于细粒度的分词元素的匹配命中成功率较高,因此,在召回阶段中,可以在元素表征字典中查找到匹配的分词元素,并确定其对应的元素表征,然后基于元素表征得到字符串表征,并在多个候选搜索关键字中召回与在线搜索关键字相似的目标搜索关键字作为召回结果,从而,提升召回搜索关键字的成功率。
在一示例性实施例中,在步骤S240之后,还可以包括以下步骤。
合并多个所述第一分词元素的训练后元素表征,得到所述第一字符串的训练后字符串表征;根据所述第一字符串的训练后字符串表征,生成字符串表征索引库;所述字符串表征索引库记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系;所述字符串表征索引库用于在所述候选搜索关键字中查询与所述在线搜索关键字相似的目标搜索关键字。
具体地,服务器120还可以将第一字符串中各个第一分词元素对应的训练后元素表征合并,得到完整的训练后字符串表征。将完整的训练后字符串表征与包含该第一字符串的候选搜索关键字对应保存,形成字符串表征索引库。
在得到第二字符串的字符串表征之后,可以在字符串表征索引库中查找字符串表征与第二字符串的字符串表征相匹配的候选搜索关键字,由此得到作为召回结果的目标搜索关键字,从而可以下发目标搜索关键字至用户终端110。
上述的字典生成方法中,通过将第一字符串中各个分词元素的训练后元素表征合并得到训练后字符串表征,并通过字符串表征索引库记录包含第一字符串的候选搜索关键字与第一字符串的训练后字符串表征之间的映射关系,由此,在召回阶段可以直接地根据映射关系召回搜索关键字,提升了召回效率。
在一示例性实施例中,如图3所示,在步骤S250之后,还可以包括以下步骤。
在步骤S310中,接收所述在线搜索关键字,并对所述在线搜索关键字进行字符串提取,获取所述在线搜索关键字对应的第二字符串;
在步骤S320中,对所述第二字符串进行分割,得到所述第二字符串包含的第二分词元素;
在步骤S330中,在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
在步骤S340中,将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
在步骤S350中,在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
在步骤S360中,向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
具体地,当服务器120接收到用户通过终端110提交的在线搜索关键字时,服务器120可以将在线搜索关键字所包含的第二字符串分割为各个第二分词元素。然后,在元素表征字典中,查找与各个第二分词元素匹配的第一分词元素及其对应的元素表征,将查找到的各个元素表征合并,作为第二字符串的待匹配字符串表征。下一步,在字符串表征索引库中,查找字符串表征与第二字符串的字符串表征相匹配的候选搜索关键字,作为目标搜索关键字。
上述的字典生成方法中,在召回阶段中按照分词元素的粒度查找元素表征,将查找到的元素表征合并作为第二字符串的待匹配字符串表征,然后再基于待匹配字符串表征在字符串表征索引库中查找目标搜索关键字,即使在字符串表征索引库中无法查找到与第二字符串相同的字符串,仍然可以实现相似搜索关键字的召回。
在一示例性实施例中,在所述元素表征字典中,在所述元素表征字典中,查找与第二分词元素匹配的第一分词元素之前,还包括以下步骤:
在接收到所述在线搜索关键字时,在所述字符串表征索引库中查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,执行步骤S320。
具体地,服务器120可以首先在字符串表征索引库中查找与第二字符串相同的第一字符串,如果无法在字符串表征索引库中匹配到第一字符串,则可以对第二字符串进行分词元素的分割,以基于更细粒度的分词元素获取第二字符串的字符串表征。
上述的字典生成方法中,首先利用字符串表征索引库中获取字符串表征,在无法得到字符串表征的情况下再进一步通过分词元素分割、分词元素字典匹配、元素表征合并的方式得到第二字符串的字符串表征,减少了召回所需的运算量,提升了召回效率。
在一示例性实施例中,所述步骤S220,可以具体通过以下步骤实现。
在步骤S221中,生成字符滑动窗口;
在步骤S222中,控制所述字符滑动窗口在所述第一字符串上按照字符在所述第一字符串中的排列方向滑动预设的滑动距离;
在步骤S223中,将滑动后的所述字符滑动窗口内的字符提取作为所述第一分词元素。
具体地,服务器120可以首先生成一个字符滑动窗口,然后控制该字符滑动窗口滑动。滑动的方向可以是字符在第一字符串中的排列方向,例如,字符按照从左往右的方向排列,则滑动方向为从左往右。滑动的距离可以由用户设定,例如,滑动的距离可以是每次滑动2个字符,或者每次滑动3个字符。每次滑动字符滑动窗口之后,可以将字符滑动窗口内的一个或多个字符提取作为上述的第一分词元素,经过多次滑动,则可以得到多个第一分词元素。
上述的分割方式也称为N-gram分割,实际应用中,可以利用fastext(一种文本分割工具)方式实现N-gram分割。例如,设定n=3(即Tri-gram),则可以在字符串中按照字符的排列方向依次取三个相邻的字符作为分词元素。当然,实际应用中,还可以设定n=2(即Bi-gram)进行分割。
上述的字典生成方法中,通过控制字符滑动窗口滑动的方式分割字符串得到分词元素,可以快速地完成字符串分割处理,提升了字符串表征的训练效率。而且,基于分割出的分词元素得到的元素表征,可以反映出各个分词元素之间的邻接关系,从而可以更准确地进行召回。
在一示例性实施例中,所述步骤S230,可以具体通过以下步骤实现。
在步骤S231中,提取各个所述初始元素表征的表征向量;
在步骤S232中,将各个所述初始元素表征的表征向量进行向量相加,得到所述第一字符串的初始字符串表征。
具体地,针对于采用向量表示的元素表征,服务器120可以从提取初始元素表征的向量,作为上述的表征向量,然后将各个初始元素表征的表征向量进行向量相加,将相加得到的结果作为第一字符串的初始字符串表征。
上述的字典生成方法中,通过向量相加的方式得到第一字符串的初始字符串表征,无须进行复杂的运算,从而提升了字符串表征的训练效率。
在一示例性实施例中,所述第一字符串包括目标字符串、正相关字符串和负相关字符串;所述步骤S240,可以具体通过以下步骤实现。
在步骤S241中,根据所述目标字符串和所述正相关字符串各自的初始字符串表征,得到正相关相似度;
在步骤S242中,根据所述目标字符串和所述负相关字符串各自的初始字符串表征,得到负相关相似度;
在步骤S243中,根据所述正相关相似度与所述负相关相似度之间的差异,更新所述第一分词元素的初始元素表征,直至所述正相关相似度与所述负相关相似度之间的差异达到预设的收敛条件,得到所述训练后元素表征。
首先需要说明的是,服务器120可以通过各种方式从历史搜索关键字中得到相互之间具有相似性的搜索关键字,具有相似性的搜索关键字各自的第一字符串,互为正相关字符串。服务器120还可以通过各种方式从历史搜索关键字中得到相互之间不具有相似性的搜索关键字,不具有相似性的搜索关键字各自的第一字符串,互为负相关字符串。
具体地,服务器120可以通过各种方式得到目标字符串,以及与目标字符串之间具有相似性的正相关字符串,以及与目标字符串之间不具有相似性的负相关字符串。
然后,服务器120可以根据目标字符串和正相关字符串各自的初始字符串表征,计算得到正相关相似度。服务器120还可以根据目标字符串和负相关字符串各自的初始字符串表征,计算得到负相关相似度。
例如,可以计算两个字符串表征的向量点积,作为上述的正相关相似度或负相关相似度。
服务器120可以根据正相关相似度与负相关相似度构建损失函数,以该损失函数的损失值最小为目标,通过梯度下降方法调整各个第一分词元素的元素表征,直至损失函数收敛至预设的收敛条件,从而得到训练后元素表征。
上述的字典生成方法中,通过目标字符串、正相关字符串和负相关字符串各自的初始字符串表征,计算正相关相似度和负相关相似度,然后基于正相关相似度和负相关相似度之间的差异,更新第一分词元素的初始元素表征以得到训练后元素表征,由此,利用可以反映第一字符串的完整语义的字符串表征以训练元素表征,使得训练后元素表征可以融合了上下文的语义,基于训练后元素表征进行召回,从而提升了召回准确性。
在一示例性实施例中,在所述获取历史搜索关键字集合之前,还包括以下步骤。
从搜索日志中提取所述历史搜索关键字及其点击行为;构建节点图;所述节点图包括节点以及连接所述节点的节点边;所述节点用于记录所述历史搜索关键字;所述节点边用于记录所述历史搜索关键字之间的相关度权重;所述相关度根据所述点击行为得到;在所述节点图上,沿所述节点边在所述节点之间进行游走,得到游走节点序列;根据所述游走节点序列,确定所述目标字符串、所述正相关字符串和所述负相关字符串。
具体地,服务器120可以在搜索日志中提取出大量的历史搜索关键字以及其相应的点击行为,并基于历史搜索关键字以及其相应的点击行为构建节点图。然后,通过随机游走采样的方式,在节点图中得到多个的游走节点序列,最后利用多个的游走节点序列,得到上述的目标字符串、正相关字符串和负相关字符串。
上述的字典生成方法中,利用历史搜索关键字及其点击行为构建节点图,基于节点图挖掘出游走节点序列,由此可以得到大量的与目标字符串相关的正相关字符串和不相关的负相关字符串以作为训练样本,通过在节点图中进行游走的方式得到大量的有效样本,从而可以保证训练出的元素表征可以准确反映分词元素的真实语义,提升了召回准确率。
在一示例性实施例中,所述根据所述游走节点序列,确定所述目标字符串、所述正相关字符串和所述负相关字符串,可以具体包括以下步骤:
确定所述游走节点序列中的目标节点;确定在所述游走节点序列中与所述目标节点相邻的节点为所述正相关节点;确定在另一所述游走节点序列中的节点为所述负相关节点。
具体地,服务器120可以选取游走节点序列中的某个节点作为目标节点,在同一游走节点序列中的节点,则为该目标节点的正相关节点。而另一游走节点序列的节点,则为该目标节点的负相关节点。
上述的字典生成方法中,通过利用同一游走节点序列中各个节点之间正相关、不同游走节点序列中各个节点之间负相关的特性,便捷地得到大量的与目标字符串相关的正相关字符串和不相关的负相关字符串以作为训练样本,而无须进行大量的运算,提升了字典生成的效率。
实际应用中,可以利用Graph Embedding方法中的node2vec方法实现上述训练过程实施例中的各个步骤。
首先,挖掘历史搜索关键字query q。服务器120可以从搜索日志中挖掘出历史搜索关键字query以及召回结果中有点击行为的文档d,记录文档d在搜索query下被点击的次数
然后,构建节点图。服务器120可以各个搜索关键字query q作为节点,将挖掘到的query对(query_q1和query_q2)对应的节点之间连接一条边,边权重为query对(query_q1和query_q2)的相关度权重。假设目前挖掘出多个query对,并统计出各个query对的权重,如下表1所示:
图4为一个示例性实施例的节点图的示意图。如图所示,基于表1中各个query对及其相关度权重,可以得到代表各个query的节点v
下一步,基于节点图生成游走节点序列。在开始进行游走时,假设当前节点是v,则下一步采样节点x的概率
其中,
其中,
其中,
其中,
通过两个超参数p和q控制随机游走的策略,实现深度优先和宽度优先两种方法的结合。
经过多次的随机游走采样,假设采样的序列长度设定为4,则可以得到如
如果设定序列窗口大小为k,对于序列中第i个query,可以认为其前后各k个query是与其相关的query。例如,k=1,序列
若两个query相关,则其向量表征的相似度较高,若两个query不相关,则其向量表征的相似度较低。因此,训练目的是使得正相关query的向量表征的相似度较高,负相关query的向量表征的相似度较低,由此,可以构建以下的损失函数模型:
其中,
最后,根据损失值通过梯度下降方法更新各个元素表征,直至损失函数收敛。
图5是根据一示例性实施例示出的一种搜索关键字推荐的流程图,如图5所示,该搜索关键字推荐方法用于服务器120中,包括以下步骤。
在步骤S510中,获取元素表征字典;所述元素表征字典记录有各个第一分词元素与对应的训练后元素表征的映射关系;其中,各个所述第一分词元素是对各个历史搜索关键字分别对应的第一字符串进行分割得到的;所述第一字符串是对获取到的各个历史搜索关键字进行字符串提取得到的;所述训练后元素表征是以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一分词元素的初始元素表征进行训练得到的;所述初始字符串表征是根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征得到的;
在步骤S520中,接收在线搜索关键字;所述在线搜索关键字包括第二字符串;
在步骤S530中,对所述第二字符串进行分割,得到所述第二字符串包含的多个第二分词元素;
在步骤S540中,在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
在步骤S550中,将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
在步骤S560中,获取记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系的字符串表征索引库,并在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
在步骤S570中,向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
由于本实施例的搜索关键字推荐方法已经在前述各个实施例中对具体实施过程和有益效果进行了详细说明,在此不再赘述。本实施例的搜索关键字推荐方法,在召回阶段中可以在元素表征字典中查找到匹配的分词元素,并确定其对应的元素表征,然后基于元素表征得到字符串表征,并在多个候选搜索关键字中召回与在线搜索关键字相似的目标搜索关键字作为召回结果,从而,提升召回搜索关键字的成功率。
在一个实施例中,在步骤S520之后,可以还包括以下步骤:
在所述字符串表征索引库中,查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,执行对所述第二字符串进行分割,得到所述第二字符串包含的多个第二分词元素的步骤。
由于本实施例的搜索关键字推荐方法已经在前述各个实施例中对具体实施过程和有益效果进行了详细说明,在此不再赘述。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或交替地执行。
图6是根据一示例性实施例示出的一种字典生成装置框图。参照图6,该装置包括以下单元。
关键字获取单元610,被配置为获取历史搜索关键字集合;所述历史搜索关键字集合中包括多个历史搜索关键字;
第一分割单元620,被配置为对各个所述历史搜索关键字进行字符串提取,获取各个所述历史搜索关键字分别对应的第一字符串,并对每个所述第一字符串进行分割,得到每个所述第一字符串包含的多个第一分词元素;
表征单元630,被配置为对于每个所述第一字符串,根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征,得到所述第一字符串的初始字符串表征;
训练单元640,被配置为以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一字符串包含的多个所述第一分词元素的初始元素表征进行训练,得到与每个所述第一分词元素对应的训练后元素表征;
字典生成单元650,被配置为根据与每个所述第一分词元素对应的训练后元素表征,生成元素表征字典;所述元素表征字典记录有每个第一分词元素与对应的训练后元素表征的映射关系;其中,在从候选搜索关键字中确定与在线搜索关键字相似的目标搜索关键字时,通过查询所述元素表征字典确定与各候选搜索关键字对应的训练后元素表征,并根据与各候选搜索关键字对应的训练后元素表征确定与所述在线搜索关键字相似的目标搜索关键字。
在一个实施例中,所述第一字符串包括目标字符串、正相关字符串和负相关字符串;所述训练单元640被配置为:
根据所述目标字符串和所述正相关字符串各自的初始字符串表征,得到正相关相似度;根据所述目标字符串和所述负相关字符串各自的初始字符串表征,得到负相关相似度;根据所述正相关相似度与所述负相关相似度之间的差异,更新所述第一分词元素的初始元素表征,直至所述正相关相似度与所述负相关相似度之间的差异达到预设的收敛条件,得到所述训练后元素表征。
在一个实施例中,所述装置被配置为:
从搜索日志中提取所述历史搜索关键字及其点击行为;构建节点图;所述节点图包括节点以及连接所述节点的节点边;所述节点用于记录所述历史搜索关键字;所述节点边用于记录所述历史搜索关键字之间的相关度权重;所述相关度根据所述点击行为得到;在所述节点图上,沿所述节点边在所述节点之间进行游走,得到游走节点序列;根据所述游走节点序列,确定所述目标字符串、所述正相关字符串和所述负相关字符串。
在一个实施例中,所述装置被配置为:
合并多个所述第一分词元素的训练后元素表征,得到所述第一字符串的训练后字符串表征;根据所述第一字符串的训练后字符串表征,生成字符串表征索引库;所述字符串表征索引库记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系;所述字符串表征索引库用于在所述候选搜索关键字中查询与所述在线搜索关键字相似的目标搜索关键字。
在一个实施例中,所述装置还包括:
关键字接收单元,被配置为接收所述在线搜索关键字,并对所述在线搜索关键字进行字符串提取,获取所述在线搜索关键字对应的第二字符串;
第二分割单元,被配置为对所述第二字符串进行分割,得到所述第二字符串包含的第二分词元素;
查找单元,被配置为在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
合并单元,被配置为将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
目标关键字查找单元,被配置为在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
推荐单元,被配置为向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
在一个实施例中,所述装置被配置为:
在接收到所述在线搜索关键字时,在所述字符串表征索引库中查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,跳转至所述第二分割单元。
在一个实施例中,所述第一分割单元620被配置为:
生成字符滑动窗口;控制所述字符滑动窗口在所述第一字符串上按照字符在所述第一字符串中的排列方向滑动预设的滑动距离;将滑动后的所述字符滑动窗口内的字符提取作为所述第一分词元素。
在一个实施例中,所述表征单元630被配置为:
提取各个所述初始元素表征的表征向量;将各个所述初始元素表征的表征向量进行向量相加,得到所述第一字符串的初始字符串表征。
图7是根据一示例性实施例示出的一种关键字推荐装置框图。参照图7,该装置包括以下单元。
字典获取单元710,被配置为获取元素表征字典;所述元素表征字典记录有各个第一分词元素与对应的训练后元素表征的映射关系;其中,各个所述第一分词元素是对各个历史搜索关键字分别对应的第一字符串进行分割得到的;所述第一字符串是对获取到的各个历史搜索关键字进行字符串提取得到的;所述训练后元素表征是以各个所述第一字符串的初始字符串表征之间的相似度为训练收敛目标,对各个所述第一分词元素的初始元素表征进行训练得到的;所述初始字符串表征是根据所述第一字符串包含的多个所述第一分词元素分别对应的初始元素表征得到的;
关键字接收单元720,被配置为接收在线搜索关键字;所述在线搜索关键字包括第二字符串;
分割单元730,被配置为对所述第二字符串进行分割,得到所述第二字符串包含的多个第二分词元素;
查找单元740,被配置为在所述元素表征字典中,查找与所述第二分词元素匹配的第一分词元素;
合并单元750,被配置为将各个与所述第二分词元素匹配的第一分词元素所对应的训练后元素表征合并,得到所述第二字符串的待匹配字符串表征;
匹配单元760,被配置为获取记录有包含所述第一字符串的所述候选搜索关键字与对应的训练后字符串表征的映射关系的字符串表征索引库,并在所述字符串表征索引库中,查找所述目标搜索关键字;所述目标搜索关键字为所包含的第一字符串对应的训练后字符串表征与所述第二字符串的待匹配字符串表征相匹配的候选搜索关键字;
推荐单元770,被配置为向用户推荐所述目标搜索关键字,以供用户选取所述目标搜索关键字进行网络内容搜索。
在一个实施例中,所述装置被配置为:
在所述字符串表征索引库中,查找所包含的第一字符串与所述第二字符串相同的候选搜索关键字;当所述字符串表征索引库中不存在所包含的第一字符串与所述第二字符串相同的候选搜索关键字时,跳转至所述分割单元730。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种用于字典生成方法和/或搜索关键字推荐方法的设备800的框图。例如,设备800可以为一服务器。参照图8,设备800包括处理组件820,其进一步包括一个或多个处理器,以及由存储器822所代表的存储器资源,用于存储可由处理组件820的执行的指令,例如应用程序。存储器822中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件820被配置为执行指令,以执行上述字典生成方法和/或搜索关键字推荐方法。
设备800还可以包括一个电源组件824被配置为执行设备800的电源管理,一个有线或无线网络接口826被配置为将设备800连接到网络,和一个输入输出(I/O)接口828。设备800可以操作基于存储在存储器822的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
在一示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器822,上述指令可由设备800的处理器执行以完成上述各个实施例的方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项所述字典生成方法和/或搜索关键字推荐方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 字典生成、搜索关键字推荐方法、装置和服务器
- 字典生成、搜索关键字推荐方法、装置和服务器