搜索推荐方法、装置、计算机可读存储介质及计算机设备与流程

文档序号:12906110阅读:237来源:国知局
搜索推荐方法、装置、计算机可读存储介质及计算机设备与流程

本发明涉及大数据技术领域,尤其涉及搜索推荐方法、装置、计算机可读存储介质及计算机设备。



背景技术:

随着互联网行业的飞速发展,大数据信息已达到数百亿,如何在庞大的数据量下进行有效、精确地搜索和推荐,是目前一个重要难点。

在现有技术中,当用户输入一个搜索词后,服务器首先会根据该搜索词进行关联搜索,获取与该搜索词关联的若干推荐词,接着,服务器将获取到的推荐词按照获取先后顺序直接返回给用户,然而,返回给用户的搜索结果往往无法贴近用户需求,存在搜索转换率低的技术问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的搜索推荐方法、装置、计算机可读存储介质及计算机设备。

本发明提供一种搜索推荐方法,所述方法包括:

接收用户输入的搜索词;

获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列;

将所述推荐词子序列返回给所述用户。

优选的,所述关注热度包括点击量和/或关注用户数。

优选的,采用以下公式获得各个推荐词的推荐分数:

score=(search_size/total_size)*[new_pv(refresh_m)+new_follow(refresh_m)]

其中,score为所述推荐词的推荐分数,search_size为所述搜索词的字节数,total_size为所述推荐词的字节数,refresh_m为所述分数更新周期,new_pv(refresh_m)为所述推荐词在所述分数更新周期内的点击量,new_follow(refresh_m)为所述推荐词在所述分数更新周期内的关注用户数。

优选的,所述分数更新周期为所述推荐词从预设时间点起累计点击量超过昨日点击量每分钟均值的时间段。

优选的,所述获取与搜索词关联的多个推荐词,包括:

通过模糊匹配获取与搜索词关联的多个推荐词。

本发明还提供一种搜索推荐装置,所述装置包括:

接收模块,用于接收用户输入的搜索词;

获取模块,用于获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

第一获得模块,用于根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

第二获得模块,用于根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

第三获得模块,用于从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列,其中,所述推荐词子序列中包含至少一个推荐词;

返回模块,用于将所述推荐词子序列返回给所述用户。

优选的,所述关注热度包括点击量和/或关注用户数。

优选的,采用以下公式获取各个推荐词的推荐分数:

score=(search_size/total_size)*[new_pv(refresh_m)+new_follow(refresh_m)]

其中,score为所述推荐词的推荐分数,search_size为所述搜索词的字节数,total_size为所述推荐词的字节数,refresh_m为所述分数更新周期,new_pv(refresh_m)为所述推荐词在所述分数更新周期内的点击量,new_follow(refresh_m)为所述推荐词在所述分数更新周期内的关注用户数。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

接收用户输入的搜索词;

获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列,其中,所述推荐词子序列中包含至少一个推荐词;

将所述推荐词子序列返回给所述用户。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

接收用户输入的搜索词;

获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列,其中,所述推荐词子序列中包含至少一个推荐词;

将所述推荐词子序列返回给所述用户。

本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:

本申请由于先根据搜索词与推荐词的字节数之比以及推荐词在分数更新周期内的关注热度,获得各个推荐词的推荐分数,推荐分数的高低能够反映推荐词与用户需求的贴合程度,推荐分数越高,则推荐词与用户需求的贴合程度越高,即用户对该推荐词越感兴趣,推荐分数越低,则推荐词与用户需求的贴合程度越低,即用户对该推荐词越不感兴趣,进而,再根据推荐分数的高低对推荐词排序,获得推荐词序列,最后从推荐词序列中推荐分数最高的推荐词起截取预设数量的推荐词获得推荐词子序列,并将推荐词子序列返回给用户,该推荐词子序列贴近用户的需求,能够有效地提高搜索转换率。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:

图1示出了本发明实施例中的搜索推荐方法的流程图;

图2示出了本发明实施例中的搜索推荐装置的结构图;

图3示出了本发明实施例中的计算机设备的实体结构示意图。

具体实施方式

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

本发明的实施例提供一种搜索推荐方法,该搜索推荐方法应用于搜索引擎服务器,该搜索引擎服务器能够与用户侧的客户端进行通信,如图1所示,所述方法包括:

步骤101:接收用户输入的搜索词。

步骤102:获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符。

步骤103:根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数。

步骤104:根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列。

步骤105:从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列,其中,所述推荐词子序列中包含至少一个推荐词。

步骤106:将所述推荐词子序列返回给所述用户。

本申请由于先根据搜索词与推荐词的字节数之比以及推荐词在分数更新周期内的关注热度,获得各个推荐词的推荐分数,推荐分数的高低能够反映推荐词与用户需求的贴合程度,推荐分数越高,则推荐词与用户需求的贴合程度越高,即用户对该推荐词越感兴趣,推荐分数越低,则推荐词与用户需求的贴合程度越低,即用户对该推荐词越不感兴趣,进而,再根据推荐分数的高低对推荐词排序,获得推荐词序列,最后从推荐词序列中推荐分数最高的推荐词起截取预设数量的推荐词获得推荐词子序列,并将推荐词子序列返回给用户,该推荐词子序列贴近用户的需求,能够有效地提高搜索转换率,即,用户通过点击推荐词跳转到下一界面的比率得到了有效提高。

具体来讲,在步骤101中,用户在客户端的网页中利用搜索引擎进行搜索时,客户端首先获得用户输入的搜索词,接着,客户端将该搜索词发送给搜索引擎服务器,搜索引擎服务器接收用户输入的搜索词。

进一步,在步骤102中,搜索引擎服务器获取与搜索词关联的多个推荐词,其中,该推荐词至少包含搜索词的全部字符。具体地,可以采用现有技术中的模糊匹配获取与搜索词关联的多个推荐词。

例如,当用户输入的搜索词为“123”时,获取到与“123”关联的三个推荐词,这三个推荐词分别为第一推荐词“江湖_123”、第二推荐词“chenyuhao_123”、第三推荐词“傲气凌云123”,上述三个推荐词均包含“123”。

进一步,在步骤103中,分别获取每个推荐词在分数更新周期内的关注热度。推荐词的关注热度为推荐词的点击量和推荐词的关注用户数中的至少一种。为提高推荐分数的计算准确度,在本申请中,优选的,推荐词的关注热度包含推荐词的点击量和推荐词的关注用户数。推荐词的分数更新周期在第一种可选的方案中可以为预设的时间段,例如,预先设置1小时为分数更新周期,从而,本申请将获取推荐词在1小时内的点击量和关注用户数。推荐词的分数更新周期在第二种可选的方案中也可以为推荐词从预设时间点起累计点击量超过昨日点击量每分钟均值的时间段,具体来讲,当预设时间点为s时,假设截止时间点为e,点击量为pv,昨日起始时间为e_yes,昨日结束时间为s_yes,昨日累计点击量总和为如果:

则,分数更新周期m为e-s。进而,本申请将获取推荐词在时间段m内的点击量和关注用户数。在第二种可选的方案中,分数更新周期为动态设置的,当服务器请求频繁时,分数更新周期快,当服务器请求平缓时,分数更新周期慢。

进一步,在获取各个推荐词的推荐分数的过程中,针对每个推荐词而言,根据搜索词与该推荐词的字节数之比,以及该推荐词在分数更新周期内的关注热度(如推荐词在分数更新周期内的点击量和关注用户数),获得该推荐词的推荐分数,推荐分数可以采用以下公式获得:

score=(search_size/total_size)*[new_pv(refresh_m)+new_follow(refresh_m)]

其中,score为推荐词的推荐分数,search_size为搜索词的字节数,total_size为推荐词的字节数,refresh_m为分数更新周期,new_pv(refresh_m)为推荐词在分数更新周期内的点击量,new_follow(refresh_m)为推荐词在分数更新周期内的关注用户数。其中,search_size/total_size为搜索词占比,搜索词占比越大,表明推荐词与搜索词更加相似,new_pv(refresh_m)和new_follow(refresh_m)越大,表明推荐词的关注热度越高,爆炸性越强,越可能是用户想要关注的,越贴近用户的需求。

例如,获取到关于搜索词“123”的关联推荐数据如下:

针对第一推荐词“江湖_123”,new_pv为100,new_follow为100;

针对第二推荐词“chenyuhao_123”,new_pv为100,new_follow为50;

针对第三推荐词“傲气凌云123”,new_pv为50,new_follow为100。

则,由于中文字符占用两个字节,则可以分别获得三个推荐词推荐分数为:第一推荐词的推荐分数=[3/(2*2+4)]*(100+100)=75,第二推荐词的推荐分数=(3/13)(100+50)=34.62,第三推荐词的推荐分数=(3/4*2+3)*(50+100)=40.91。

进一步,在获得各个推荐词的推荐分数之后,按照预设顺序,根据各个推荐词的推荐分数的高低,对所有推荐词进行排序,获得推荐词序列,如,按照推荐分数由高到低的顺序获得推荐词序列为:“江湖_123”-“傲气凌云123”-“chenyuhao_123”,接着,从推荐词序列中推荐分数最高的推荐词起截取预设数量的推荐词,获得推荐词子序列,预设数量小于或等于推荐词的总数量,例如,预设数量为2,则推荐词子序列为:“江湖_123”-“傲气凌云123”,另外,预设数量也可以1,则推荐词子序列则仅包含推荐分数最高的一个推荐词,如推荐词序列为:“江湖_123”。最后,搜索引擎服务器将推荐词子序列返回给客户端,以使用户根据客户端能够获得该推荐词子序列。

基于同一发明构思,本发明还提供一种搜索推荐装置,如图2所示,所述装置包括:

接收模块201,用于接收用户输入的搜索词;

获取模块202,用于获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

第一获得模块203,用于根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

第二获得模块204,用于根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

第三获得模块205,用于从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列,其中,所述推荐词子序列中包含至少一个推荐词;

返回模块206,用于将所述推荐词子序列返回给所述用户。

优选的,所述关注热度包括点击量和/或关注用户数。

优选的,采用以下公式获取各个推荐词的推荐分数:

score=(search_size/total_size)*[new_pv(refresh_m)+new_follow(refresh_m)]

其中,score为所述推荐词的推荐分数,search_size为所述搜索词的字节数,total_size为所述推荐词的字节数,refresh_m为所述分数更新周期,new_pv(refresh_m)为所述推荐词在所述分数更新周期内的点击量,new_follow(refresh_m)为所述推荐词在所述分数更新周期内的关注用户数。

基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

接收用户输入的搜索词;

获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列,其中,所述推荐词子序列中包含至少一个推荐词;

将所述推荐词子序列返回给所述用户。

本发明实施例还提供了一种计算机设备,如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为搜索引擎服务器,图3示出的是与本发明实施例提供的计算机设备相关的部分结构的框图。参考图3,该计算机设备包括:存储器301和处理器302。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图3对计算机设备的各个构成部件进行具体的介绍:

存储器301可用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储数据(比如音频数据、电话本等)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器302是计算机设备的控制中心,通过运行或执行存储在存储器301内的软件程序和/或模块,以及调用存储在存储器301内的数据,执行各种功能和处理数据。可选的,处理器302可包括一个或多个处理单元;优选的,处理器302可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。

在本发明实施例中,该计算机设备所包括的处理器302可以具有以下功能:

接收用户输入的搜索词;

获取与搜索词关联的多个推荐词,其中,所述推荐词至少包含所述搜索词的全部字符;

根据所述搜索词与所述推荐词的字节数之比,以及所述推荐词在分数更新周期内的关注热度,分别获得各个推荐词的推荐分数;

根据各个推荐词的推荐分数,对所有推荐词进行排序,获得推荐词序列;

从所述推荐词序列中推荐分数最高的推荐词起截取预设数量的所述推荐词,获得推荐词子序列;

将所述推荐词子序列返回给所述用户。

总之,本申请由于先根据搜索词与推荐词的字节数之比以及推荐词在分数更新周期内的关注热度,获得各个推荐词的推荐分数,推荐分数的高低能够反映推荐词与用户需求的贴合程度,推荐分数越高,则推荐词与用户需求的贴合程度越高,即用户对该推荐词越感兴趣,推荐分数越低,则推荐词与用户需求的贴合程度越低,即用户对该推荐词越不感兴趣,进而,再根据推荐分数的高低对推荐词排序,获得推荐词序列,最后从推荐词序列中推荐分数最高的推荐词起截取预设数量的推荐词获得推荐词子序列,并将推荐词子序列返回给用户,该推荐词子序列贴近用户的需求,能够有效地提高搜索转换率,即,用户通过点击推荐词跳转到下一界面的比率得到了有效提高。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

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

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

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

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

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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