一种基于相关性的搜索词处理方法、装置及计算设备与流程

文档序号:11199373阅读:356来源:国知局
一种基于相关性的搜索词处理方法、装置及计算设备与流程

本发明涉及互联网技术领域,特别涉及一种基于相关性的搜索词处理方法、装置及计算设备。



背景技术:

随着互联网技术的快速发展,越来越多的人开始享受互联网为工作和生活带来的各种便利。比如需要获取信息时,可通过在浏览器中键入搜索词,利用搜索引擎来进行与搜索词相关的信息搜索。而在用户搜索一个关键词时,往往也希望搜索其相关关键词,例如用户输入“java”,可能存在更符合其意图的关键词,如“javaweb”、“java后端”。因此,针对用户关键词,结合不同关键词之间的联系,准确提供其相关词汇能帮助用户节省输入时间,同时提升转化率。

目前的主流方法是后继词结合协同过滤算法,主要思想是:考虑到用户输入“三国志”,得到搜索结果的几分钟内再次输入“真三国无双”,可以认为具有相同后继词的用户查询词条有一定相似度,如果用户输入数据足够,基于协同过滤算法能可给出这些词条的相关搜索词。然而,后继词结合协同过滤算法仍存在不小的缺陷,特别是在招聘行业的网站内部搜索中,问题更为明显。

相比大型网站,招聘行业搜索数据体量并不大,用户查询词条同质化严重,因此许多词条可能没有后继词。而且,作为招聘人员的用户,其搜索规律不符合“同一用户搜索词都是相关的”这一前提条件,这类用户的搜索内容通常毫不相干,此时使用后继词失效。此外,热门词如“java”、“产品经理”等词汇常常成为其他词的后继词,这对冷门相关词汇不利,但对热门词施加惩罚又需要手工调整权重,增大了项目的难度,且实际项目中发现难以控制。



技术实现要素:

为此,本发明提供一种基于相关性的搜索词处理的技术方案,以力图解决或者至少缓解上面存在的问题。

根据本发明的一个方面,提供一种基于相关性的搜索词处理方法,适于在计算设备中执行,该方法包括如下步骤:获取多个用户中各用户的搜索日志,从搜索日志中提取可用搜索词;对各可用搜索词进行分词处理,以获取其对应的一个或更多个特征词;将一个或更多个特征词分别进行转换以生成对应的关键词,并组合一个或更多个对应的关键词,以形成与可用搜索词对应的关键词序列;从各关键词序列所对应的可用搜索词中,选择出现频次最高的可用搜索词作为该关键词序列的特定搜索词;将各关键词序列分别输入到相关性计算模型中进行训练,按照相关性从大到小的顺序输出与输入的关键词序列相关的第一数量个关键词序列;将第一数量个输出的关键词序列均替换为其对应的特定搜索词,从而形成关键词序列与第一数量个特定搜索词之间的对应关系。

可选地,在根据本发明的基于相关性的搜索词处理方法中,从搜索日志中提取可用搜索词的步骤包括:从搜索日志中获取原始搜索词并统计其数量;若数量大于第一数值,则将数量对应的用户的原始搜索词直接删除;统计所有未删除的各原始搜索词的搜索次数;过滤掉搜索次数小于第二数值的原始搜索词,将剩余的原始搜索词作为可用搜索词。

可选地,在根据本发明的基于相关性的搜索词处理方法中,将一个或更多个特征词分别进行转换以生成对应的关键词的步骤包括:剔除一个或更多个特征词中属于无意义词或敏感词的特征词;将剔除后剩余的特征词进行同义词转化,以生成对应的关键词。

可选地,在根据本发明的基于相关性的搜索词处理方法中,组合一个或更多个对应的关键词,以形成与可用搜索词对应的关键词序列的步骤包括:对一个或更多个对应的关键词进行文本升序排列;对排列后的关键词,将相邻两个关键词之间以第一符号进行连接,以形成与可用搜索词对应的关键词序列。

可选地,在根据本发明的基于相关性的搜索词处理方法中,第一符号为下划线

可选地,在根据本发明的基于相关性的搜索词处理方法中,在形成与可用搜索词对应的关键词序列的步骤之后,还包括:统计各关键词序列重复出现的次数;若次数低于第一数值,则剔除次数对应的关键词序列;若次数不低于第一数值,则保留次数对应的关键词序列。

可选地,在根据本发明的基于相关性的搜索词处理方法中,当接收到用户键入的查询搜索词时,该方法还包括:对查询搜索词进行处理,以形成与查询搜索词对应的关键词序列;根据关键词序列获取与其对应的第一数量个特定搜索词,并从该第一数量个特定搜索词中选出前第二数量个特定搜索词,第二数量不大于第一数量;将该第二数量个特定搜索词作为查询搜索词的相关词推荐给该用户。

根据本发明的又一个方面,提供一种基于相关性的搜索词处理装置,适于驻留在计算设备中,该装置包括提取模块、分词模块、转换模块、选择模块、训练模块和替换模块。其中,提取模块适于获取多个用户中各用户的搜索日志,从搜索日志中提取可用搜索词;分词模块适于对各可用搜索词进行分词处理,以获取其对应的一个或更多个特征词;转换模块适于将一个或更多个特征词分别进行转换以生成对应的关键词,并组合一个或更多个对应的关键词,以形成与可用搜索词对应的关键词序列;选择模块适于从各关键词序列所对应的可用搜索词中,选择出现频次最高的可用搜索词作为该关键词序列的特定搜索词;训练模块适于将各关键词序列分别输入到相关性计算模型中进行训练,按照相关性从大到小的顺序输出与输入的关键词序列相关的第一数量个关键词序列;替换模块适于将第一数量个输出的关键词序列均替换为其对应的特定搜索词,从而形成关键词序列与第一数量个特定搜索词之间的对应关系。

可选地,在根据本发明的基于相关性的搜索词处理装置中,提取模块进一步适于:从搜索日志中获取原始搜索词并统计其数量当数量大于第一数值时,将数量对应的用户的原始搜索词直接删除;统计所有未删除的各原始搜索词的搜索次数;过滤掉搜索次数小于第二数值的原始搜索词,将剩余的原始搜索词作为可用搜索词。

可选地,在根据本发明的基于相关性的搜索词处理装置中,转换模块进一步适于:剔除一个或更多个特征词中属于无意义词或敏感词的特征词;将剔除后剩余的特征词进行同义词转化,以生成对应的关键词。

可选地,在根据本发明的基于相关性的搜索词处理装置中,转换模块进一步适于:对一个或更多个对应的关键词进行文本升序排列;对排列后的关键词,将相邻两个关键词之间以第一符号进行连接,以形成与可用搜索词对应的关键词序列。

可选地,在根据本发明的基于相关性的搜索词处理装置中,第一符号为下划线。

可选地,在根据本发明的基于相关性的搜索词处理装置中,还包括处理模块,适于:统计各关键词序列重复出现的次数;当次数低于第一数值时,剔除次数对应的关键词序列;当次数不低于第一数值时,保留次数对应的关键词序列。

可选地,在根据本发明的基于相关性的搜索词处理装置中,还包括推荐模块,适于:当接收到用户键入的查询搜索词时,对查询搜索词进行处理,以形成与查询搜索词对应的关键词序列;根据关键词序列获取与其对应的第一数量个特定搜索词,并从该第一数量个特定搜索词中选出前第二数量个特定搜索词,第二数量不大于第一数量;将该第二数量个特定搜索词作为查询搜索词的相关词推荐给该用户。

根据本发明的又一个方面,提供一种计算设备,包括根据本发明的基于相关性的搜索词处理装置。

根据本发明的又一个方面,提供一种计算设备,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的基于相关性的搜索词处理方法的指令。

根据本发明的又一个方面,还提供一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行根据本发明的基于相关性的搜索词处理方法。

根据本发明的基于相关性的搜索词处理的技术方案,首先对用户的各可用搜索词进行分词处理以获取对应的一个或更多个特征词,将各特征词进行转换以生成对应的关键词,组合各关键词以形成与可用搜索词对应的关键词序列,从各关键词序列所对应的可用搜索词中,选择出现频次最高的可用搜索词作为该关键词序列的特定搜索词,将各关键词序列分别输入到相关性计算模型中进行训练,按照相关性从大到小的顺序输出与输入的关键词序列相关的第一数量个关键词序列,将第一数量个输出的关键词序列均替换为其对应的特定搜索词,形成关键词序列与第一数量个特定搜索词之间的对应关系。在上述技术方案中,该相关性计算模型仅考虑搜索词之间的距离,当窗口设置为无穷大时,用户的无规律搜索将不影响其相关性计算,同时在冷门词汇的处理上也具有明显优势,无需对热门词汇人工调权。此外,在形成与可用搜索词对应的关键词序列的之后,对于各关键词序列重复出现的次数进行统计,对于次数第一数值的关键词序列予以剔除,无需对所有关键词序列进行后续处理,降低了计算复杂度和时间成本。此外,用户的可用搜索词是预先从搜索日志中提取出来的,在提取过程中会过滤垃圾用户和搜索次数低的搜索数据,在确保结果有效且准确的的同时,进一步提高了处理速度。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明的一个实施例的计算设备100的结构框图;

图2示出了根据本发明的一个实施例的基于相关性的搜索词处理方法200的流程图;

图3示出了根据本发明的一个实施例的基于相关性的搜索词处理装置300的示意图;

图4示出了根据本发明的又一个实施例的基于相关性的搜索词处理装置400的示意图;以及

图5示出了根据本发明的又一个实施例的基于相关性的搜索词处理装置500的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。

取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。

取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。

计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和web服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(pda)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100实现为服务器,该服务器被配置为执行根据本发明的基于相关性的搜索词处理方法200。应用122包括根据本发明的基于相关性的搜索词处理装置300。

图2示出了根据本发明一个实施例的基于相关性的搜索词处理方法200的流程图。基于相关性的搜索词处理方法200适于在实现为服务器的计算设备(例如图1所示的计算设备100)中执行。

如图2所示,方法200始于步骤s210。在步骤s210中,获取多个用户中各用户的搜索日志,从搜索日志中提取可用搜索词。根据本发明的一个实施例,可通过以下方式从搜索日志中提取可用搜索词。首先从搜索日志中获取原始搜索词并统计其数量,若该数量大于第一数值,则将该数量对应的用户的原始搜索词直接删除。随后,统计所有未删除的各原始搜索词的搜索次数,过滤掉搜索次数小于第二数值的原始搜索词,将剩余的原始搜索词作为可用搜索词。其中,第一数值优选为200,第二数值优选为3。在该实施方式中,对于用户a而言,其搜索日志中的原始搜索词共计150个,而用户b的搜索日志中的原始搜索词共计237个,用户c的日志中的原始搜索词共计89个。由于用户b的搜索日志中原始搜索词的数量大于100,因此将用户b的原始搜索词直接删除,这相当于将用户b视作垃圾用户进行预先过滤处理。用户a的150个原始搜索词和用户c的89个原始搜索词得以保留,此时再统计各原始搜索词的搜索次数,其中用户a有115个原始搜索词的搜索次数小于3,用户c有56个原始搜索词的搜索次数小于3,过滤掉搜索次数小于3的原始搜索词,将剩余的68个原始搜索词作为可用搜索词。应说明的是,所获取的搜索日志为用户一年时间的日志,初次全量获取,以后每日增量更新。

随后,进入步骤s220,对各可用搜索词进行分词处理,以获取其对应的一个或更多个特征词。根据本发明的一个实施例,通过jieba分词工具对可用搜索词进行分词处理,比如当可用搜索词为“java软件开发工程师”时,分词处理后的结果为“java”、“软件开发”和“工程师”这3个特征词。需要说明的是,分词处理所使用的工具或算法,在本发明中并不进行限制,只要能满足准确分词的条件即可,换言之,所有这些对于了解本发明方案的技术人员来说是可以容易想到的,并且也在本发明的保护范围之内,此处不予以赘述。

在获得特征词后,执行步骤s230,将一个或更多个特征词分别进行转换以生成对应的关键词,并组合一个或更多个对应的关键词,以形成与可用搜索词对应的关键词序列。根据本发明的一个实施例,通过以下方式对特征词进行转换以生成对应的关键词,先剔除一个或更多个特征词中属于无意义词或敏感词的特征词,再将剔除后剩余的特征词进行同义词转化,以生成对应的关键词。在该实施方式中,特征词内的空字符,如“”、“\t”、“\n”,全由数字构成的搜索词均可作为无意义词直接去除,而后在进行同义词转换时,通常是利用对应的词典,无条件地将某些搜索词转化为同义词,例如“开发”、“开发工程师”、“软件工程师”、“软件开发”、“软件开发工程师”均转化为“工程师”,则“工程师”为对应的关键词,“主管”、“head”、“负责人”、“总监”、“tl”均转化成“leader”,则“leader”为对应的关键词。因此,步骤s220中所生成的3个特征词“java”、“软件开发”和“工程师”,所对应的关键词依次为“java”、“工程师”和“工程师”,由于后两者相同,因此最终得到的关键词为“java”和“工程师”。对特征词的转换处理并非只限于上述表达,在符合应用场景的条件下可以适当调整转换规则,所有这些对于了解本发明方案的技术人员来说是可以容易想到的,并且也在本发明的保护范围之内,此处不予以赘述。

在将特征词进行转换以生成对应的关键词后,开始对一个或多个关键词进行组合,以形成与可用搜索词对应的关键词序列。根据本发明的一个实施例,可通过以下方式形成与可用搜索词对应的关键词序列。首先,对一个或更多个对应的关键词进行文本升序排列,然后,对排列后的关键词,将相邻两个关键词之间以第一符号进行连接,以形成与可用搜索词对应的关键词序列。其中,第一符号为下划线。在该实施方式中,对“java”和“工程师”这2个关键词进行文本升序排列,可知“java”排在第一位,“工程师”排在第二位,将两者以下划线相连,最终可得与可用搜索词“java软件开发工程师”对应的关键词序列为“java_工程师”。

当然,为了进一步简化计算复杂度,在得到各关键词序列之后,还可根据关键词序列的重复次数来滤除部分关键词序列。根据本发明的又一个实施例,在形成与可用搜索词对应的关键词序列之后,统计各关键词序列重复出现的次数,若该次数低于第一数值,则剔除该次数对应的关键词序列,若该次数不低于第一数值,则保留该次数对应的关键词序列。其中,第一数值优选为20。在该实施方式中,关键词序列“java_工程师”重复出现的次数为39次,不低于20,则保留该关键词序列。需要说明的是,剔除关键词序列一般是在某些必要的应用场景下才执行的步骤,具体应参考当前场景是否具有剔除的需求,且第一数值的设定同样需要根据实际情况来予以衡量。

在步骤s240中,从各关键词序列所对应的可用搜索词中,选择出现频次最高的可用搜索词作为该关键词序列的特定搜索词。为说明步骤s240及后续处理步骤,根据本发明的又一个实施例,根据步骤s210,获取用户a的可用搜索词分别为“java网页”、“java程序员”和“java后台脚本”,用户b的可用搜索词分别为“java程序员”和“java后台”,用户c的可用搜索词分别为“java工程师”和“java后台”。通过步骤s220和s230,获取各可用搜索词对应的关键词序列,具体如表1所示:

表1

此时,对表1中各关键词序列所对应的可用搜索词进行出现频次统计,

具体如表2所示:

表2

根据表2中各可用搜索词的出现频次,选择出现频次最高的可用搜索词作为关键词序列的特定搜索词,则对于关键词序列“java_工程师”而言,可用搜索词“java程序员”的出现频次为2,大于可用搜索词“java工程师”的出现频次,则其特定搜索词为“java程序员”。表3示出了根据本发明一个实施例的关键词序列及其对应的特定搜索词的示例,具体如下:

表3

在这里,将表2中可用搜索词与关键词序列之间的对应关系形成一个新的关系表,记为映射表,将表3中关键词序列与特定搜索词之间的对应关系形成一个新的关系表,记为众数还原表,以便后续步骤处理。此后,进入步骤s250,将各关键词序列分别输入到相关性计算模型中进行训练,按照相关性从大到小的顺序输出与输入的关键词序列相关的第一数量个关键词序列。其中,第一数量优选为20。当然,当相关的关键词序列数量少于第一数量,

如少于20时,直接按照相关性从大到小的顺序输出与输入的关键词序列相关的所有关键词序列即可。根据本发明的一个实施例,相关性计算模型选用item2vec模型,将步骤s240得到的关键词序列“java_网页”、“java_工程师”、“java_后台”和“java_后台_脚本”分别输入到item2vec模型中进行训练。item2vec模型与word2vec模型不同,word2vec模型是将一个句子看成词构成的有序序列,item2vec模型舍弃了句子内词的空间信息,将其看成词构成的集合,并且相比word2vec模型仅将上下文窗口大小内的词作为上下文,item2vec模型对任一词,将样本中的全部词均视为其上下文,换言之,item2vec模型的上下文窗口视为无穷大。由此可知,若将word2vec模型的上下文窗口设置为一个很大的正整数,则可将该word2vec模型当作item2vec模型进行训练。在该实施方式中,利用gensim工具,调用其word2vec模型对各关键词序列进行训练,参数设定为:模型向量维数vecsize=200,训练次数itemnum=200,上下文窗口window=1000000。在这里将上下文窗口window的大小设置为1000000,其数值超过原始搜索词的个数,因此对每一个原始搜索词,它的上下文都是整个文档,此处即体现了item2vec模型。在通过相关性计算模型对各关键词序列完成训练后,对于各关键词序列,将获得与之相关的其他关键词序列的相关系数作为相关性,这里相关系数的取值范围为0~1。表4示出了根据本发明一个实施例的关键词序列相关关系的示例,此时尚未进行排序处理,具体如下:

表4

如表4所示,coef1、coef2、coef3和coef4分别表示对应的相关性的数值,

其值依次为0.75、0.35、0.86和0.61。根据这一结果,对各输出的关键词序列排序,最终得到基于相关性排序后的关键词序列相关关系的示例,具体如表5所示:

表5

最后,进入步骤s270,将第一数量个输出的关键词序列均替换为其对应的特定搜索词,从而形成关键词序列与第一数量个特定搜索词之间的对应关系。根据本发明的一个实施例,参照众数还原表,将输出的关键词序列“java_工程师”、“java_后台”、“java_网页”和“java_后台_脚本”依次替换为其对于的特定搜索词,即分别替换为“java程序员”、“java后台”、“java网页”和“java后台脚本”。表6示出了根据本发明一个实施例的关键词序列与特定搜索词对应关系的示例,具体如下:

表6

在构建出关键词序列与特定搜索词的对应关系后,一般是将其存在数据库中以便随时查询,因此可以通过这一对应关系快速且准确地向用户推荐其键入的查询搜索词的相关词。根据本发明的又一个实施例,当接收到用户键入的查询搜索词时,先对查询搜索词进行处理,以形成与查询搜索词对应的关键词序列,再根据关键词序列获取与其对应的第一数量个特定搜索词,并从该第一数量个特定搜索词中选出前第二数量个特定搜索词,且第二数量不大于第一数量,最后将该第二数量个特定搜索词作为查询搜索词的相关词推荐给该用户。其中,第二数量优选为10。当然,若获取到的特定搜索词的数量未超过第二数量,则将特定搜索词全部作为查询搜索词的相关词推荐给该用户。进一步地,将热门的特定搜索词,如“产品经理”、“java工程师”等与关键词序列的对应关系放入热门缓存,以加快服务速度。

在该实施方式中,用户键入的查询搜索词为“java网站”,为提高处理效率,首先在映射表中查找是否存在与查询搜索词相同的可用搜索词,若存在,则直接获取该可用搜索词对应的关键词序列,而无需对查询搜索词进行处理,以形成与查询搜索词对应的关键词序列,若不存在,则按照步骤s220和步骤s230形成与查询搜索词对应的关键词序列。很明显,映射表中的可用搜索词并不存在“java网站”,则对其进行处理得到对应的关键词序列为“java_网页”。接下来,从热门缓存中查找是否存在关键词序列“java_网页”,若存在,则直接获取与该关键词序列对应的第一数量个特定搜索词,并将其中前第二数量个特定搜索词作为相关词推荐给用户,若不存在,则查询数据库中是否存在关键词序列“java_网页”,若存在,则获取与该关键词序列对应的第一数量个特定搜索词,并将其中前第二数量个特定搜索词作为相关词推荐给用户。此时,在热门缓存中查找到了关键词序列“java_网页”,由于特定搜索词的数量小于第二数量,因此最终推荐给用户的相关词依次为“java程序员”和“java后台”。

图3示出了本发明一个实施例的基于相关性的搜索词处理装置300的示意图。如图3所示,基于相关性的搜索词处理装置300包括提取模块310、分词模块320、转换模块330、选择模块340、训练模块350和替换模块360。

提取模块310适于获取多个用户中各用户的搜索日志,从搜索日志中提取可用搜索词。提取模块310进一步适于从搜索日志中获取原始搜索词并统计其数量;当数量大于第一数值时,将数量对应的用户的原始搜索词直接删除;统计所有未删除的各原始搜索词的搜索次数;过滤掉搜索次数小于第二数值的原始搜索词,将剩余的原始搜索词作为可用搜索词。提取模块310执行上述操作的具体细节可参见方法200中的步骤s210,此处不予以赘述。

分词模块320与提取模块310相连,适于对各可用搜索词进行分词处理,以获取其对应的一个或更多个特征词。分词模块320执行上述操作的具体细节可参见方法200中的步骤s220,此处不予以赘述。

转换模块330与分词模块320相连,适于将一个或更多个特征词分别进行转换以生成对应的关键词,并组合一个或更多个对应的关键词,以形成与可用搜索词对应的关键词序列。转换模块330进一步适于剔除一个或更多个特征词中属于无意义词或敏感词的特征词;将剔除后剩余的特征词进行同义词转化,以生成对应的关键词。转换模块330进一步适于对一个或更多个对应的关键词进行文本升序排列;对排列后的关键词,将相邻两个关键词之间以第一符号进行连接,以形成与可用搜索词对应的关键词序列。其中,第一符号为下划线。转换模块330执行上述操作的具体细节可参见方法200中的步骤s230,此处不予以赘述。

选择模块340与转换模块330相连,适于从各关键词序列所对应的可用搜索词中,选择出现频次最高的可用搜索词作为该关键词序列的特定搜索词。选择模块340执行上述操作的具体细节可参见方法200中的步骤s240,此处不予以赘述。

训练模块350与转换模块330相连,适于将各关键词序列分别输入到相关性计算模型中进行训练,按照相关性从大到小的顺序输出与输入的关键词序列相关的第一数量个关键词序列。训练模块350执行上述操作的具体细节可参见方法200中的步骤s250,此处不予以赘述。

替换模块360分别与选择模块340和训练模块350相连,适于将第一数量个输出的关键词序列均替换为其对应的特定搜索词,从而形成关键词序列与第一数量个特定搜索词之间的对应关系。替换模块360执行上述操作的具体细节可参见方法200中的步骤s260,此处不予以赘述。

图4示出了本发明又一个实施例的基于相关性的搜索词处理装置400的示意图。如图4所示,基于相关性的搜索词处理装置400的提取模块410、分词模块420、转换模块430、选择模块440、训练模块450和替换模块460,分别与图3中基于相关性的搜索词处理装置300的提取模块310、分词模块320、转换模块330、选择模块340、训练模块350和替换模块360一一对应,是一致的,并新增了处理模块470。

处理模块470与转换模块430相连,适于统计各关键词序列重复出现的次数;当次数低于第一数值时,剔除次数对应的关键词序列;当次数不低于第一数值时,保留次数对应的关键词序列。处理模块470执行上述操作的具体细节可参见方法200中执行步骤s230后,根据关键词序列重复出现的次数对该关键词序列剔除或保留的处理过程,此处不予以赘述。

图5示出了本发明又一个实施例的基于相关性的搜索词处理装置500的示意图。如图5所示,基于相关性的搜索词处理装置500的提取模块510、分词模块520、转换模块530、选择模块540、训练模块550和替换模块560,分别与图3中基于相关性的搜索词处理装置300的提取模块310、分词模块320、转换模块330、选择模块340、训练模块350和替换模块360一一对应,是一致的,并新增了推荐模块580。

推荐模块580与替换模块560相连,适于当接收到用户键入的查询搜索词时,对查询搜索词进行处理,以形成与查询搜索词对应的关键词序列;根据关键词序列获取与其对应的第一数量个特定搜索词,并从该第一数量个特定搜索词中选出前第二数量个特定搜索词,第二数量不大于第一数量;将该第二数量个特定搜索词作为查询搜索词的相关词推荐给该用户。推荐模块580执行上述操作的具体细节可参见方法200中执行步骤s260之后,在接收到用户键入的查询搜索词时向该用户推荐该查询搜索词的相关词的处理过程,此处不予以赘述

关于基于相关性的搜索词处理的具体步骤以及实施例,在基于图2的描述中已经详细公开,此处不再赘述。

现有的基于相关性的搜索词处理方法中,认为具有相同后继词的用户查询词条有一定相似度,如果用户输入数据足够,基于协同过滤算法能可给出这些词条的相关搜索词,但当搜索数据体量并不大,用户查询词条同质化严重时,许多词条可能没有后继词,而且若搜索内容毫不相干,此时使用后继词失效,并不利于冷门相关词汇的处理。根据本发明实施例的基于相关性的搜索词处理的技术方案,首先对用户的各可用搜索词进行分词处理以获取对应的一个或更多个特征词,将各特征词进行转换以生成对应的关键词,组合各关键词以形成与可用搜索词对应的关键词序列,从各关键词序列所对应的可用搜索词中,选择出现频次最高的可用搜索词作为该关键词序列的特定搜索词,将各关键词序列分别输入到相关性计算模型中进行训练,按照相关性从大到小的顺序输出与输入的关键词序列相关的第一数量个关键词序列,将第一数量个输出的关键词序列均替换为其对应的特定搜索词,形成关键词序列与第一数量个特定搜索词之间的对应关系。在上述技术方案中,该相关性计算模型仅考虑搜索词之间的距离,当窗口设置为无穷大时,用户的无规律搜索将不影响其相关性计算,同时在冷门词汇的处理上也具有明显优势,无需对热门词汇人工调权。此外,在形成与可用搜索词对应的关键词序列的之后,对于各关键词序列重复出现的次数进行统计,对于次数第一数值的关键词序列予以剔除,无需对所有关键词序列进行后续处理,降低了计算复杂度和时间成本。此外,用户的可用搜索词是预先从搜索日志中提取出来的,在提取过程中会过滤垃圾用户和搜索次数低的搜索数据,在确保结果有效且准确的的同时,进一步提高了处理速度。

a7.如a1-6中任一项所述的方法,当接收到用户键入的查询搜索词时,所述方法还包括:

对所述查询搜索词进行处理,以形成与所述查询搜索词对应的关键词序列;

根据所述关键词序列获取与其对应的第一数量个特定搜索词,并从该第一数量个特定搜索词中选出前第二数量个特定搜索词,所述第二数量不大于所述第一数量;

将该第二数量个特定搜索词作为所述查询搜索词的相关词推荐给该用户。

b9.如b8所述的装置,所述提取模块进一步适于:

从所述搜索日志中获取原始搜索词并统计其数量;

当所述数量大于第一数值时,将所述数量对应的用户的原始搜索词直接删除;

统计所有未删除的各原始搜索词的搜索次数;

过滤掉搜索次数小于第二数值的原始搜索词,将剩余的原始搜索词作为可用搜索词。

b10.如b8或9所述的装置,所述转换模块进一步适于:

剔除所述一个或更多个特征词中属于无意义词或敏感词的特征词;

将剔除后剩余的特征词进行同义词转化,以生成对应的关键词。

b11.如b8-10中任一项所述的装置,所述转换模块进一步适于:

对所述一个或更多个对应的关键词进行文本升序排列;

对排列后的关键词,将相邻两个关键词之间以第一符号进行连接,以形成与所述可用搜索词对应的关键词序列。

b12.如b11所述的装置,其中,所述第一符号为下划线。

b13.如b8-12中任一项所述的装置,还包括处理模块,适于:

统计各关键词序列重复出现的次数;

当所述次数低于第一数值时,剔除所述次数对应的关键词序列;

当所述次数不低于第一数值时,保留所述次数对应的关键词序列。

b14.如b8-13中任一项所述的装置,还包括推荐模块,适于:

当接收到用户键入的查询搜索词时,对所述查询搜索词进行处理,以形成与所述查询搜索词对应的关键词序列;

根据所述关键词序列获取与其对应的第一数量个特定搜索词,并从该第一数量个特定搜索词中选出前第二数量个特定搜索词,所述第二数量不大于所述第一数量;

将该第二数量个特定搜索词作为所述查询搜索词的相关词推荐给该用户。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的基于相关性的搜索词处理方法。

以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1