本申请涉及计算机技术领域,特别涉及一种确定页面推荐词的方法和设备。
背景技术:
SEO(Search Engine Optimization,搜索引擎优化)的功能是在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的预期目标。
对于以引流为目标的搜索类型SEO产品通常会维护一份关键词白名单,当搜索引擎爬虫或者用户访问相关产品页面时,只展示在白名单中的词对应的页面,不在白名单中的词对应的页面不会展示,由错误页面代替,即404页面。这样做可以有效控制引流关键词的数量和质量。
目前,在展示白名单中关键词对应的搜索类型页面时,为了增加产品内链权重并控制站内流量分发,通常会根据页面主题或者用户行为,在页面中推荐一批具有一定相关性的推荐词。比如在搜索页面的底部的设置“您可能还感兴趣的产品”和“您可能还感兴趣的厂家”,其中展示相关的推荐词。
但是上述推荐词是来源于站内的推荐引擎,如果用户点击搜索页面中的推荐词,而该推荐词不在SEO产品白名单中,就会跳转到错误页面。而目前由于推荐引擎与SEO产品白名单内的关键词存在较大差别,所以会出现搜索页面中大量的推荐词在被点击后都会跳转到错误页面。
综上所述,目前由于推荐引擎与SEO产品白名单内的关键词存在较大差别,从而造成搜索页面中大量的推荐词在被点击后都会跳转到错误页面。
技术实现要素:
本申请提供一种确定页面推荐词的方法和设备,用以解决现有技术中存在的由于推荐引擎与SEO产品白名单内的关键词存在较大差别,从而造成搜索页面中大量的推荐词在被点击后都会跳转到错误页面的问题。
一方面,本申请方法提供的一种确定页面推荐词的方法,该方法包括:
确定需要搜索的关键词对应的推荐词;
从确定的所有推荐词中,选择在白名单中的第一类推荐词;
将选择的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词。
本申请实施例从需要搜索的关键词对应的推荐词中选择在白名单中的推荐词,并将选择的推荐词作为需要在所述关键词的显示页面上显示的推荐词。由于需要在所述关键词的显示页面上显示的推荐词为白名单中的推荐词,从而能够避免由于推荐引擎与SEO产品白名单内的关键词存在较大差别,造成搜索页面中大量的推荐词在被点击后都会跳转到错误页面情况出现。
可选的,所述确定需要搜索的关键词对应的推荐词之前,还包括:
确定需要搜索的关键词在白名单中。
由于不在白名单中关键词会返回错误页面,所以在确定需要搜索的关键词在白名单中后,再确定需要搜索的关键词对应的推荐词,这样可以避免由于关键词不在白名单中进行无效查找。
可选的,所述确定需要搜索的关键词对应的推荐词,包括:
根据所述关键词的显示页面的推荐词数量和所述关键词,生成推荐引擎查询URL地址;
根据所述推荐引擎查询URL地址和推荐引擎,确定需要搜索的关键词对应的推荐词。
由于可以通过推荐引擎查询推荐词,从而提高了查询的效率。
可选的,将选择确定的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词之后,还包括:
若所述第一类推荐词的数量小于所述关键词的显示页面的推荐词数量,将所述关键词对应的叶子目录作为所述关键词对应的当前目标目录;
查询当前目标目录对应的推荐词,并确定查询到的所有推荐词中在白名单中的第二类推荐词;
判断所述第一类推荐词和所述第二类推荐词总的数量是否小于所述关键词的显示页面的推荐词数量;
若是,则将所有所述第二类推荐词作为需要在所述关键词的显示页面上显示的推荐词,以及将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录,并返回查询当前目标目录对应的推荐词的步骤;
否则,将所述第二类推荐词的部分或全部作为需要在所述关键词的显示页面上显示的推荐词,以使需要在所述关键词的显示页面上显示的推荐词的数量等于所述关键词的显示页面的推荐词数量。
由于能够保证需要在所述关键词的显示页面上显示的推荐词的数量等于所述关键词的显示页面的推荐词数量,使得搜素页面上的展示位不会出现空白的情况。
可选的,所述白名单为白名单存储数据库中的白名单和/或白名单查询引擎中的白名单。
另一方面,本申请实施例提供的一种确定页面推荐词的设备,该设备包括:
确定模块,用于确定需要搜索的关键词对应的推荐词;
选择模块,用于从确定的所有推荐词中,选择在白名单中的第一类推荐词;
处理模块,用于将选择的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词。
可选的,所述确定模块还用于:
在确定需要搜索的关键词在白名单中后,确定需要搜索的关键词对应的推 荐词。
可选的,所述确定模块具体用于:
根据所述关键词的显示页面的推荐词数量和所述关键词,生成推荐引擎查询URL地址;根据所述推荐引擎查询URL地址和推荐引擎,确定需要搜索的关键词对应的推荐词。
可选的,所述处理模块还用于:
将选择确定的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词之后,若所述第一类推荐词的数量小于所述关键词的显示页面的推荐词数量,将所述关键词对应的叶子目录作为所述关键词对应的当前目标目录;查询当前目标目录对应的推荐词,并确定查询到的所有推荐词中在白名单中的第二类推荐词;判断所述第一类推荐词和所述第二类推荐词总的数量是否小于所述关键词的显示页面的推荐词数量;若是,则将所有所述第二类推荐词作为需要在所述关键词的显示页面上显示的推荐词,以及将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录,并返回查询当前目标目录对应的推荐词的步骤;否则,将所述第二类推荐词的部分或全部作为需要在所述关键词的显示页面上显示的推荐词,以使需要在所述关键词的显示页面上显示的推荐词的数量等于所述关键词的显示页面的推荐词数量。
可选的,所述白名单为白名单存储数据库中的白名单和/或白名单查询引擎中的白名单。
附图说明
图1为本申请实施例一确定页面推荐词的方法流程示意图;
图2为本申请实施例二搜索关键词的方案示意图;
图3为本申请实施例三搜索关键词的系统结构示意图;
图4为本申请实施例四搜索关键词的方法整体流程示意图;
图5为本申请实施例五确定页面推荐词的设备示意图。
具体实施方式
本申请实施例从需要搜索的关键词对应的推荐词中选择在白名单中的推荐词,并将选择的推荐词作为需要在所述关键词的显示页面上显示的推荐词。由于需要在所述关键词的显示页面上显示的推荐词为白名单中的推荐词,从而能够避免由于推荐引擎与SEO产品白名单内的关键词存在较大差别,造成搜索页面中大量的推荐词在被点击后都会跳转到错误页面情况出现。
下面结合说明书附图对本申请实施例作进一步详细描述。
如图1所示,本申请实施例一确定页面推荐词的方法包括:
步骤100、确定需要搜索的关键词对应的推荐词;
步骤101、从确定的所有推荐词中,选择在白名单中的第一类推荐词;
步骤102、将选择的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词。
在实施中,有多种情况需要搜索关键词,比如用户需要进行搜索时可以通过客户端发送包含关键词的访问请求实现搜索,还比如网络爬虫需要对页面进行搜索时可以发送包含关键词的访问请求实现搜索。
举个例子,如果一个用户想要搜索包含“连衣裙”的商品,该用户可以通过浏览器在网站搜索栏中键入“连衣裙”。浏览器会向网站发送包含“连衣裙”的查询URL(Uniform Resource Locator,统一资源定位器)地址。
由于本申请实施例中确定的推荐词需要在所述关键词的显示页面上显示,基于此一个前提条件是关键词的显示页面必须能够正常显示,而不能返回错误页面。所以这就要求关键词必须在白名单中。
可选的,确定需要搜索的关键词对应的推荐词之前,先判断需要搜索的关键词是否在白名单中,如果在,则继续确定需要搜索的关键词对应的推荐词;否则,不需要确定需要搜索的关键词对应的推荐词以及后续其他步骤,直接跳 出本流程。
在实施中,网站会维护一个推荐词数据库,该推荐词数据库里中保存了不同关键词对应的推荐词以及每个推荐词和对应的关键词的相关度,并且需要周期更新该推荐词数据库里面的词,包括推荐词和关键词。推荐词数据库里面的词增加后,可以同步推荐引擎中的推荐词,这样每次需要确定推荐词时都可以保证推荐引擎查询所使用的推荐词与推荐词数据库中的相同。
在实施中,可以周期通过机器挖掘站点各个应用的日志,将站内各类搜索行为产生的关键词通过一定切分、过滤,并通过语义进行聚合后形成各类推荐词。
对应相似度,一般是对关键词进行切分,然后按照自然语义模型进行重新聚合,从而形成具有一定相似度的词簇(这里的聚合包括增加或删除少部分词,或者语序调整等,比如“连衣裙夏季的”这个词调整完后会变成“夏季连衣裙”)。
关键词的相关度用于确定每个推荐词在显示页面中的位置,一般相似度越高的在显示页面中的位置越显著。
基于上述内容,一种可选的方式是,本申请实施例在确定需要搜索的关键词对应的推荐词时,可以根据所述关键词的显示页面的推荐词数量和所述关键词,生成推荐引擎查询URL地址;根据所述推荐引擎查询URL地址和推荐引擎,确定需要搜索的关键词对应的推荐词。
以关键词是“连衣裙”为例,根据显示页面展示位可以确定关键词的显示页面的推荐词数量N,生成推荐引擎查询URL地址;将该引擎查询URL地址发送给推荐引擎;推荐引擎根据推荐引擎查询URL地址就可以查询“连衣裙”对应的推荐词,并且根据推荐词数量N返回相关度最大的前N个推荐词。比如N是3,查找到的与“连衣裙”相关的推荐词为“上衣”相关度0.8;“裤子”相关度0.7;“袜子”0.1;“衬衣”0.6。这里数值越大表示相关度最高。推荐引擎在返回时,只需要返回上衣、裤子和衬衣。
可选的,推荐引擎在返回时,可以不返回相关度,而是按照相关度从高到 低的顺序排序后再返回;也可以将相关度一起返回,而不用排序。
可选的,由于本申请实施例在确定推荐词后,还需要再对推荐词进行筛选,即查看是否在白名单中,如果返回的推荐词的数量等于关键词的显示页面的推荐词数量,如果返回的推荐词中有一个推荐词不在白名单中,会出现需要显示的推荐词的数量小于关键词的显示页面的推荐词数量。所以在返回推荐词的数量可以大于关键词的显示页面的推荐词数量。比如上述例子中虽然N为3,但是可以返回上衣、裤子、衬衣以及袜子。
在实施中,由于显示关键词的网页除了有推荐词之外,还有可能显示一些网页特效或其他内容。
所以除了确定推荐词,还会确定网页中其他内容。网站在收到搜索URL地址地址后除了从搜索URL地址地址中能够提取关键词,还可以提取与显示网页相关的参数。不同的显示网页,相关的参数不同。
比如
http://XXXX/selloffer/offer_search.htm?keywords=mp3&button_click=top&n=y这个网页中,keywords就是关键词对应的参数,即mp3;button_click和n就是与显示网页相关的参数。
还比如
http://www.XXXX.com/selloffer/offer_search.htm?keywords=mp3&button_click=top&n=y#beginPage=2&offset=4这个URL中,beginPage参数代表的是搜索结果页面的页码,offerset是展示偏移量。
在确定了与显示网页相关的参数后,还需要根据与显示网页相关的参数生成数据引擎查询URL地址,并将数据引擎查询URL地址发送给数据引擎进行查询。
在确定了推荐词和相关数据后,就可以确定页面渲染和展示的方式,根据确定的方式生成页面并通过客户端显示给用户。
在确定需要搜索的关键词对应的推荐词之后,需要从所有推荐词中确定在 白名单中的第一类推荐词。由于推荐词数据库一般都会比白名单中的词语多很多,所以有可能出现确定的推荐词不在白名单的情况,这时就需要将不在白名单的推荐词剔除掉,保留在白名单中的推荐词。最后保留的推荐词为第一类推荐词。
如果确定的推荐词的数量大于关键词的显示页面的推荐词数量,有可能出现第一类推荐词的数量大于关键词的显示页面的推荐词数量N的情况,这时只需要按照相关度保留前N个第一类推荐词。
如果第一类推荐词的数量等于关键词的显示页面的推荐词数量N,则不需要再对第一类推荐词进行任何筛选。
如果第一类推荐词的数量小于关键词的显示页面的推荐词数量N,一种方式是不对第一类推荐词进行任何筛选,这样实际显示关键词的页面中的推荐位上会有空白。
为了避免空白推荐位情况出现,一种较佳地方式是进行推荐词补足处理。每个网站都会根据不同的词语进行目录(即类目)划分。目录可以理解为按照语义或者其他含义将相关的词划分的组,一般采用算法分析离线计算得到,比如三星手机和苹果手机就都可以划分到手机这个目录下。目录一般有多个级别,叶子目录下的词之间的相关性最高的,越向上词之间的相关性越差。手机这个目录的下一级目录可以包括三星手机、苹果手机,上一级目录可以是电子产品。本申请实施例可以根据关键词所在的目录进行补足处理。
具体的,若所述第一类推荐词的数量小于所述关键词的显示页面的推荐词数量,将所述关键词对应的叶子目录作为所述关键词对应的当前目标目录;
查询当前目标目录对应的推荐词,并确定查询到的所有推荐词中在白名单中的第二类推荐词;
判断所述第一类推荐词和所述第二类推荐词总的数量是否小于所述关键词的显示页面的推荐词数量;
若是,则将所有所述第二类推荐词作为需要在所述关键词的显示页面上显 示的推荐词,以及将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录,并返回查询当前目标目录对应的推荐词的步骤;
否则,将所述第二类推荐词的部分或全部作为需要在所述关键词的显示页面上显示的推荐词,以使需要在所述关键词的显示页面上显示的推荐词的数量等于所述关键词的显示页面的推荐词数量。
下面列举个例子:
以关键词是连衣裙为例,对应的推荐词为上衣、裤子和衬衣,由于衬衣不在白名单中,所以最后确定的个连衣裙对应的第一类推荐词为上衣和裤子。由于关键词的显示页面的推荐词数量为4,所以还需要找到三个推荐词。
将连衣裙对应的叶子目录作为所述关键词对应的当前目标目录,查询当前目标目录对应的推荐词得到短裙、超短裙和长裙三个推荐词。查询这三个推荐词中哪些在白名单中。
下面分情况进行详细说明。
情况一、假设短裙、超短裙和长裙三个推荐词都在白名单中,则将短裙、超短裙和长裙三个推荐词作为第二类推荐词,这时所述第一类推荐词和所述第二类推荐词总的数量为5,大于关键词的显示页面的推荐词数量4,这是需要从第二类推荐词中剔除一个第二类推荐词。可选的,可以随机剔除,也可以根据相关度将相关度最低的第二类推荐词剔除。
假设剔除长裙,则最终就可以确定需要在关键词的显示页面推荐词为上衣、裤子、短裙和超短裙。
可选的,展示位置可以是第一类推荐词的相关度大于第二类推荐词,然后再比较每类推荐词之间的相关度确定展示位置。比如上衣的相关度大于裤子相关度,短裙相关度大于长裙相关度,长裙相关度大于超短裙相关度,则最显著的展示位置为上衣,后续依次是裤子、短裙和超短裙。
情况二、假设短裙、超短裙和长裙三个推荐词中长裙不在白名单中,则将短裙和超短裙作为第二类推荐词,这时所述第一类推荐词和所述第二类推荐词 总的数量为4,大于关键词的显示页面的推荐词数量4,不需要进一步筛选,则最终就可以确定需要在关键词的显示页面推荐词为上衣、裤子、短裙和超短裙。
可选的,展示位置可以是第一类推荐词的相关度大于第二类推荐词,然后再比较每类推荐词之间的相关度确定展示位置。比如上衣的相关度大于裤子相关度,短裙相关度大于长裙相关度,长裙相关度大于超短裙相关度,则最显著的展示位置为上衣,后续依次是裤子、短裙和超短裙。
情况三、假设短裙、超短裙和长裙三个推荐词中超短裙和长裙不在白名单中,则短裙作为第二类推荐词,这时所述第一类推荐词和所述第二类推荐词总的数量为3,小于关键词的显示页面的推荐词数量4。这时需要继续补足。
可选的,将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录,比如连衣裙上一级目录的推荐词为秋冬装、春夏装,则进一步查看秋冬装和春夏装是否在白名单中。
如果秋冬装和春夏装都在白名单中,需要进一步去掉一个推荐词,假设去掉秋冬装。最后第二类推荐词就包括短裙和春夏装。
可选的,展示位置可以是第一类推荐词的相关度大于第二类推荐词,然后再比较每类推荐词之间的相关度确定展示位置。第二类推荐词中所在目录越靠近关键词所在目录的第二类推荐词的相关度越高。基于此,最显著的展示位置为上衣,后续依次是裤子、短裙和春夏装。
如果上一级目录筛选后第一类推荐词和第二类推荐词总的数量还是小于关键词的显示页面的推荐词数量,则继续找上上一级目录,以此类推,直到第一类推荐词和第二类推荐词总的数量不小于关键词的显示页面的推荐词数量,或者已经没有上一级目录为止。
需要说明的是,上述补充推荐词的方案只是举例说明,其他能够补足推荐词的方案同样适用本申请实施例,比如直接从报名单中选择几个词作为补足的推荐词等,
可选的,本申请实施例的白名单为白名单存储数据库中的白名单和/或白名单查询引擎中的白名单。
白名单查询引擎中的白名单一般是在内存中,这样可以增加查找效率,但是如果遇到服务器重启等情况会造成内存中的白名单丢失,所以一般还会在白名单存储数据库存储白名单,起到备份作用。而白名单存储数据库再找到时效率比较低但是相比白名单查询引擎中的白名单发生丢失的概率很低。
上述确定推荐词的方案可以放到搜索关键词的方案里,作为搜索关键词的一部分。下面具体介绍下本申请实施例搜索关键词的方案。
如图2所示,本申请实施例二搜索关键词的方案中共包括5部分:
第一部分、数据同步:作用是为了更新白名单存储数据库和/或白名单查询引擎中的白名单。
可选的,按照指定周期(可以自定义)从推荐引擎中同步上一个时间节点到当前新增的推荐词到本地,然后按照白名单规则对增加的推荐词进行过滤;将符合白名单规则的推荐词分别写入到白名单存储数据库和白名单查询引擎中。
第二部分、页面生成:作用是生成搜索页面。
可选的,从收到的搜索URL地址中提取出关键词、关键词的显示页面的推荐词数量和显示网页相关的参数,并根据最终确定的需要在页面上显示的推荐词和显示网页相关的参数对应的数据确定渲染和展示方式,并根据渲染和展示方式生成搜索页面。
第三部分、查询,作用是根据提取数的关键词、关键词的显示页面的推荐词数量和显示网页相关的参数,确定需要在页面上显示的推荐词和显示网页相关的参数,具体方式参见图1,在此不再赘述。
第四部分:存储,作用是为了存储SEO应用的白名单。
可选的,本申请实施例采用白名单存储数据库和白名单查询引擎存储白名单。
白名单存储数据库可以采用MySql数据库。
如果白名单查询引擎需要全量重建,可以从白名单存储数据库中导出白名单。
第五部分、引擎部分,作用是提供各类数据查询。
包含白名单查询引擎、推荐引擎和页面其他数据查询引擎(即上述数据引擎)。
其中,白名单查询引擎中的白名单与存储模块数据库中的白名单保持实时一致,推荐引擎数据主要来自于对站内用户行为数据的挖掘。
本申请实施例上述各部分的执行过程都在网站侧实现,但是具体执行主体可以由一个服务器实现,也可以将各功能分布在多个服务器实现。一种可能的实现方式可以参见图3所示。
如图3所示,本申请实施例三搜索关键词的系统包括:页面生成服务器、数据库服务器、同步服务器、查询服务器和引擎服务器集群。
其中,同步服务器负责第一部分数据同步;页面生成服务器负责第二部分页面生成;查询服务器负责第三部分查询;数据库服务器负责第四部分存储中的白名单数据库,而第三部分白名单查询引擎中的白名单存储到引擎服务器集群中;引擎服务器集群负责第五部分引擎部分。
需要说明的是,上述图3所示的各个服务器的划分方式只是举例说明。根据网站需求还可以按照方式布置服务器,比如可以将第三部分和第四部分合在一个服务器中。
下面以图3的系统为例详细介绍下本申请实施例确定页面推荐词的方法。
如图4所述,本申请实施例四确定页面推荐词的方法包括:
步骤400、页面服务器接收来自客户端的搜索URL地址。
步骤401、页面服务器从搜索URL地址中提取出关键词、关键词的显示页面的推荐词数量和显示网页相关的参数,并发送给查询服务器。
步骤402、查询服务器向白名单查询引擎发送关键词。
步骤403、白名单查询引擎查询收到的关键词是否在白名单中,并返回查询结果。
步骤404、查询服务器根据查询结果判断关键词是否在白名单中,如果是,则执行步骤405;否则,执行步骤416。
步骤405、查询服务器根据关键词和关键词的显示页面的推荐词数量生成推荐引擎查询URL地址,并将推荐引擎查询URL地址发送给推荐引擎,以及根据显示网页相关的参数生成数据引擎查询URL地址,并将数据引擎查询URL地址发送给数据引擎。
步骤406、推荐引擎根据收到的引擎查询URL地址向查询服务器返回查找到的推荐词,数据引擎根据收到的数据引擎查询URL地址向查询服务器返回与显示网页相关的数据。
步骤407、查询服务器通过白名单数据引擎从收到的推荐词中选择在报名单的第一类推荐词。
步骤408、查询服务器判断第一类推荐词的数量是否不小于关键词的显示页面的推荐词数量,如果是,则执行步骤415;否则,执行步骤409。
步骤409、查询服务器将所述关键词对应的叶子目录作为所述关键词对应的当前目标目录。
步骤410、查询当前目标目录对应的推荐词,并确定查询到的所有推荐词中在白名单中的第二类推荐词。
步骤411、查询服务器判断所述第一类推荐词和所述第二类推荐词总的数量是否小于所述关键词的显示页面的推荐词数量,如果是,则执行步骤412;否则,执行步骤413。
步骤412、查询服务器将所有所述第二类推荐词作为需要在所述关键词的显示页面上显示的推荐词,以及将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录,并返回步骤410。
步骤413、查询服务器将所述第二类推荐词的部分或全部作为需要在所述 关键词的显示页面上显示的推荐词。
步骤414、查询服务器将需要在所述关键词的显示页面上显示的推荐词和与显示网页相关的数据返回给页面服务器。
步骤415、页面服务器根据收到的需要在所述关键词的显示页面上显示的推荐词和与显示网页相关的数据,确定渲染和展示方式,根据确定的渲染和展示方式生成搜索页面,并返回给客户端,结束本流程。
步骤416、查询服务器通知页面服务器返回错误页面。
步骤417、页面服务器将错误页面返回给客户端,结束本流程。
基于同一发明构思,本申请实施例中还提供了一种确定页面推荐词的设备,由于该设备解决问题的原理与本申请实施例确定页面推荐词的方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,本申请实施例五确定页面推荐词的设备包括:确定模块500、选择模块510和处理模块520。
确定模块500,用于确定需要搜索的关键词对应的推荐词;
选择模块510,用于从确定的所有推荐词中,选择在白名单中的第一类推荐词;
处理模块520,用于将选择的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词。
由于本申请实施例中确定的推荐词需要在所述关键词的显示页面上显示,基于此一个前提条件是关键词的显示页面必须能够正常显示,而不能返回错误页面。所以这就要求关键词必须在白名单中。
可选的,所述确定模块500还用于:
确定需要搜索的关键词对应的推荐词之前,先判断需要搜索的关键词是否在白名单中,如果在,则继续确定需要搜索的关键词对应的推荐词;否则,不需要确定需要搜索的关键词对应的推荐词以及后续其他步骤。
在实施中,网站会维护一个推荐词数据库,该推荐词数据库里中保存了不 同关键词对应的推荐词以及每个推荐词和对应的关键词的相关度,并且需要周期更新该推荐词数据库里面的词,包括推荐词和关键词。推荐词数据库里面的词增加后,可以同步推荐引擎中的推荐词,这样每次需要确定推荐词时都可以保证推荐引擎查询所使用的推荐词与推荐词数据库中的相同。
在实施中,可以周期通过机器挖掘站点各个应用的日志,将站内各类搜索行为产生的关键词通过一定切分、过滤,并通过语义进行聚合后形成各类推荐词。
对应相似度,一般是对关键词进行切分,然后按照自然语义模型进行重新聚合,从而形成具有一定相似度的词簇(这里的聚合包括增加或删除少部分词,或者语序调整等,比如“连衣裙夏季的”这个词调整完后会变成“夏季连衣裙”)。
关键词的相关度用于确定每个推荐词在显示页面中的位置,一般相似度越高的在显示页面中的位置越显著。
基于上述内容,一种可选的方式是,确定模块500具体用于:
根据所述关键词的显示页面的推荐词数量和所述关键词,生成推荐引擎查询URL地址;根据所述推荐引擎查询URL地址和推荐引擎,确定需要搜索的关键词对应的推荐词。
以关键词是“连衣裙”为例,根据显示页面展示位可以确定关键词的显示页面的推荐词数量N,生成推荐引擎查询URL地址;将该引擎查询URL地址发送给推荐引擎;推荐引擎根据推荐引擎查询URL地址就可以查询“连衣裙”对应的推荐词,并且根据推荐词数量N返回相关度最大的前N个推荐词。比如N是3,查找到的与“连衣裙”相关的推荐词为“上衣”相关度0.8;“裤子”相关度0.7;“袜子”0.1;“衬衣”0.6。这里数值越大表示相关度最高。推荐引擎在返回时,只需要返回上衣、裤子和衬衣。
可选的,推荐引擎在返回时,可以不返回相关度,而是按照相关度从高到低的顺序排序后再返回;也可以将相关度一起返回,而不用排序。
可选的,由于本申请实施例在确定推荐词后,还需要再对推荐词进行筛选, 即查看是否在白名单中,如果返回的推荐词的数量等于关键词的显示页面的推荐词数量,如果返回的推荐词中有一个推荐词不在白名单中,会出现需要显示的推荐词的数量小于关键词的显示页面的推荐词数量。所以在返回推荐词的数量可以大于关键词的显示页面的推荐词数量。比如上述例子中虽然N为3,但是可以返回上衣、裤子、衬衣以及袜子。
在实施中,由于显示关键词的网页除了有推荐词之外,还有可能显示一些网页特效或其他内容。
所以除了确定推荐词,还会确定网页中其他内容。网站在收到搜索URL地址地址后除了从搜索URL地址地址中能够提取关键词,还可以提取与显示网页相关的参数。不同的显示网页,相关的参数不同。
比如
http://XXXX/selloffer/offer_search.htm?keywords=mp3&button_click=top&n=y这个网页中,keywords就是关键词对应的参数,即mp3;button_click和n就是与显示网页相关的参数。
还比如
http://www.XXXX.com/selloffer/offer_search.htm?keywords=mp3&button_click=top&n=y#beginPage=2&offset=4这个URL中,beginPage参数代表的是搜索结果页面的页码,offerset是展示偏移量。
在确定了与显示网页相关的参数后,还需要根据与显示网页相关的参数生成数据引擎查询URL地址,并将数据引擎查询URL地址发送给数据引擎进行查询。
在确定了推荐词和相关数据后,就可以确定页面渲染和展示的方式,根据确定的方式生成页面并通过客户端显示给用户。
在确定需要搜索的关键词对应的推荐词之后,需要从所有推荐词中确定在白名单中的第一类推荐词。由于推荐词数据库一般都会比白名单中的词语多很多,所以有可能出现确定的推荐词不在白名单的情况,这时就需要将不在白名 单的推荐词剔除掉,保留在白名单中的推荐词。最后保留的推荐词为第一类推荐词。
如果确定的推荐词的数量大于关键词的显示页面的推荐词数量,有可能出现第一类推荐词的数量大于关键词的显示页面的推荐词数量N的情况,这时只需要按照相关度保留前N个第一类推荐词。
如果第一类推荐词的数量等于关键词的显示页面的推荐词数量N,则不需要再对第一类推荐词进行任何筛选。
如果第一类推荐词的数量小于关键词的显示页面的推荐词数量N,一种方式是不对第一类推荐词进行任何筛选,这样实际显示关键词的页面中的推荐位上会有空白。
为了避免空白推荐位情况出现,一种较佳地方式是进行推荐词补足处理。每个网站都会根据不同的词语进行目录(即类目)划分。目录可以理解为按照语义或者其他含义将相关的词划分的组,一般采用算法分析离线计算得到,比如三星手机和苹果手机就都可以划分到手机这个目录下。目录一般有多个级别,叶子目录下的词之间的相关性最高的,越向上词之间的相关性越差。手机这个目录的下一级目录可以包括三星手机、苹果手机,上一级目录可以是电子产品。本申请实施例可以根据关键词所在的目录进行补足处理。
具体的,处理模块520还用于:
将选择确定的在白名单中的所述第一类推荐词作为需要在所述关键词的显示页面上显示的推荐词之后,若所述第一类推荐词的数量小于所述关键词的显示页面的推荐词数量,将所述关键词对应的叶子目录作为所述关键词对应的当前目标目录;查询当前目标目录对应的推荐词,并确定查询到的所有推荐词中在白名单中的第二类推荐词;判断所述第一类推荐词和所述第二类推荐词总的数量是否小于所述关键词的显示页面的推荐词数量;若是,则将所有所述第二类推荐词作为需要在所述关键词的显示页面上显示的推荐词,以及将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录, 并返回查询当前目标目录对应的推荐词的步骤;否则,将所述第二类推荐词的部分或全部作为需要在所述关键词的显示页面上显示的推荐词,以使需要在所述关键词的显示页面上显示的推荐词的数量等于所述关键词的显示页面的推荐词数量。
下面列举个例子:
以关键词是连衣裙为例,对应的推荐词为上衣、裤子和衬衣,由于衬衣不在白名单中,所以最后确定的个连衣裙对应的第一类推荐词为上衣和裤子。由于关键词的显示页面的推荐词数量为4,所以还需要找到三个推荐词。
将连衣裙对应的叶子目录作为所述关键词对应的当前目标目录,查询当前目标目录对应的推荐词得到短裙、超短裙和长裙三个推荐词。查询这三个推荐词中哪些在白名单中。
下面分情况进行详细说明。
情况一、假设短裙、超短裙和长裙三个推荐词都在白名单中,则将短裙、超短裙和长裙三个推荐词作为第二类推荐词,这时所述第一类推荐词和所述第二类推荐词总的数量为5,大于关键词的显示页面的推荐词数量4,这是需要从第二类推荐词中剔除一个第二类推荐词。可选的,可以随机剔除,也可以根据相关度将相关度最低的第二类推荐词剔除。
假设剔除长裙,则最终就可以确定需要在关键词的显示页面推荐词为上衣、裤子、短裙和超短裙。
可选的,展示位置可以是第一类推荐词的相关度大于第二类推荐词,然后再比较每类推荐词之间的相关度确定展示位置。比如上衣的相关度大于裤子相关度,短裙相关度大于长裙相关度,长裙相关度大于超短裙相关度,则最显著的展示位置为上衣,后续依次是裤子、短裙和超短裙。
情况二、假设短裙、超短裙和长裙三个推荐词中长裙不在白名单中,则将短裙和超短裙作为第二类推荐词,这时所述第一类推荐词和所述第二类推荐词总的数量为4,大于关键词的显示页面的推荐词数量4,不需要进一步筛选, 则最终就可以确定需要在关键词的显示页面推荐词为上衣、裤子、短裙和超短裙。
可选的,展示位置可以是第一类推荐词的相关度大于第二类推荐词,然后再比较每类推荐词之间的相关度确定展示位置。比如上衣的相关度大于裤子相关度,短裙相关度大于长裙相关度,长裙相关度大于超短裙相关度,则最显著的展示位置为上衣,后续依次是裤子、短裙和超短裙。
情况三、假设短裙、超短裙和长裙三个推荐词中超短裙和长裙不在白名单中,则短裙作为第二类推荐词,这时所述第一类推荐词和所述第二类推荐词总的数量为3,小于关键词的显示页面的推荐词数量4。这时需要继续补足。
可选的,将所述关键词对应的当前目标目录的上一级目录作为所述关键词对应的当前目标目录,比如连衣裙上一级目录的推荐词为秋冬装、春夏装,则进一步查看秋冬装和春夏装是否在白名单中。
如果秋冬装和春夏装都在白名单中,需要进一步去掉一个推荐词,假设去掉秋冬装。最后第二类推荐词就包括短裙和春夏装。
可选的,展示位置可以是第一类推荐词的相关度大于第二类推荐词,然后再比较每类推荐词之间的相关度确定展示位置。第二类推荐词中所在目录越靠近关键词所在目录的第二类推荐词的相关度越高。基于此,最显著的展示位置为上衣,后续依次是裤子、短裙和春夏装。
如果上一级目录筛选后第一类推荐词和第二类推荐词总的数量还是小于关键词的显示页面的推荐词数量,则继续找上上一级目录,以此类推,直到第一类推荐词和第二类推荐词总的数量不小于关键词的显示页面的推荐词数量,或者已经没有上一级目录为止。
需要说明的是,上述补充推荐词的方案只是举例说明,其他能够补足推荐词的方案同样适用本申请实施例,比如直接从报名单中选择几个词作为补足的推荐词等,
可选的,本申请实施例的白名单为白名单存储数据库中的白名单和/或白名 单查询引擎中的白名单。
白名单查询引擎中的白名单一般是在内存中,这样可以增加查找效率,但是如果遇到服务器重启等情况会造成内存中的白名单丢失,所以一般还会在白名单存储数据库存储白名单,起到备份作用。而白名单存储数据库再找到时效率比较低但是相比白名单查询引擎中的白名单发生丢失的概率很低。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。