数据对象的展示关键词推荐方法及系统与流程

文档序号:11732678阅读:188来源:国知局
数据对象的展示关键词推荐方法及系统与流程
本申请涉及信息处理技术,尤其涉及一种数据对象的展示关键词推荐方法及系统。

背景技术:
在一些网站中,卖方用户为了使其产品、视频或图片等可以被访问网站的用户(以下简称搜索用户)看到,可以提供一些数据对象给网站。该数据对象通常包括用于描述产品的产品信息、用于描述视频的视频信息或用于描述图片的图片信息等文本数据,还可以包括图片、视频等。在网站中可以为卖方用户的数据对象提供展示关键词,如果这些展示关键词被卖方用户购买,则当某个数据对象的展示关键词被包括在搜索用户输入的查询信息中时,搜索引擎会查询获取该数据对象,并将该数据对象排在比较靠前的位置在搜索用户客户端显示。下面以数据对象的内容是产品信息为例说明。图1中示例性示出一种网站的产品信息展示界面10的示意图。例如,为三款产品的卖方用户B、用户C和用户D的产品信息设定的展示关键词分别是:B用户的产品信息:诺基亚;7270C用户的产品信息:诺基亚;N9D用户的产品信息:诺基亚;N8一个搜索用户A欲购买一个黑色手机,他在网站的搜索窗口11输入了查询信息,例如包括“手机”、“诺基亚”和“黑色”这三个查询词,用户B、用户C和用户D的产品信息的一个展示关键词“诺基亚”由于被包括在用户A输入的查询信息中,因而在网站的搜索结果展示区域13中会展示出用户B、用户C和用户D的产品信息,相对于其他没有设置展示关键词的产品信息,这三款产品的产品信息排名非常靠前,图1中以三款产品的信息框121、122和123示意展示出的产品信息,在这三个信息框中分别列出了这三款产品的名称、颜色和价格这些属性。此外,作为另一个例子,也可以是当某个数据对象的所有展示关键词全部被包括在用户A输入的查询信息中才展示该数据对象。可见,对于卖方用户而言,选择合适的展示关键词是很重要的。如果选择了合适的展示关键词,则数据对象可以被较多地展示或点击。为了使得网站中卖方用户能够选择更适合的展示关键词,网站通常可以提供展示关键词推荐服务。通过展示关键词推荐服务,卖方用户可以比较容易地选择合适的展示关键词。一种数据对象的展示关键词推荐方法如下:基于卖方用户输入的数据对象本身,利用相关性技术通过对查询日志(网站中搜索用户为了搜索而输入的查询信息形成的日志)进行查询,获得候选展示关键词,然后计算候选展示关键词与数据对象之间的相关性,基于某一预设的相关性阈值进行过滤,最终得到展示关键词,并将得到的展示关键词推荐给卖方用户。这种方法存在的问题如下。基于卖方用户输入的数据对象本身通过对查询日志进行查询来获取候选展示关键词,虽然可以对卖方用户的请求进行即时响应,但却难以覆盖查询日志中所有的相关查询词,很多能够增加数据对象展示机会的查询词被漏掉的几率增大,造成很多查询词不能被当作展示关键词推荐给卖方用户。如果为了找到尽可能多的相关查询词而遍历查询日志全量,则服务器的负荷变重,时间开销增大,数据处理速度也变慢,进而无法满足在线上进行展示关键词推荐的即时性要求。并且,即时将遍历查询日志全量的工作放在线下进行,则每次查找相关查询词所要处理的数据规模巨大,系统资源消耗巨大。这种方法还存在的一个问题是,该方法仅通过相关性来筛选展示关键词,其实在实际应用中还有很多其他因素可以影响展示关键词的筛选,例如基于点击到达率(ClickThroughRate,简称CTR)、展示关键词的竞争热度或投放时间段等,综合考虑多种因素进行展示关键词推荐将效果更好。但是,如果简单将基于不同因素的方法进行拼装组合,往往会造成系统代码冗余、结构复杂,进而导致系统难以维护。这种情况随着系统要处理和维护的数据量的增长以及要考虑的因素的增多将会衍化得更加严重。

技术实现要素:
本申请针对现有技术中存在的问题,提供一种数据对象的展示关键词推荐方法,能够在满足即时性要求的同时提高展示关键词对于查询日志的覆盖率。本申请还提供一种数据对象的展示关键词推荐方法,能够基于各种策略来推荐展示关键词,实现展示关键词推荐的定制和个性化,同时克服代码冗余和结构复杂的问题,使得系统易于维护。本申请提供了一种数据对象的展示关键词推荐方法,包括:步骤101、接收待被推荐展示关键词的当前数据对象;步骤102、判断推荐库中是否有与所述当前数据对象相关的相关历史数据对象;如果推荐库中有与所述当前数据对象相关的相关历史数据对象,执行步骤103;如果推荐库中没有与所述当前数据对象相关的相关历史数据对象,执行步骤104;所述推荐库中存储有通过线下方式已经被推荐了展示关键词的历史数据对象以及对应的展示关键词;步骤103、从所述推荐库中获取与所述相关历史数据对象对应的展示关键词,并基于与所述相关历史数据对象对应的展示关键词来确定与所述当前数据对象对应的展示关键词;步骤104、通过线上方式根据查询日志获取与所述当前数据对象对应的展示关键词。本申请还提供了一种数据对象的展示关键词推荐系统,包括:接收模块,用于接收待被推荐展示关键词的当前数据对象;判断模块,用于判断推荐库中是否有与所述当前数据对象相关的相关历史数据对象;所述推荐库中存储有通过线下方式已经被推荐了展示关键词的历史数据对象以及对应的展示关键词;第一处理模块,用于在所述判断模块判断所述推荐库中有与所述当前数据对象相关的相关历史数据对象的情况下,从所述推荐库中获取与所述相关历史数据对象对应的展示关键词,并基于与所述相关历史数据对象对应的展示关键词确定与所述当前数据对象对应的展示关键词;第二处理模块,用于通过线上方式根据查询日志获取与所述当前数据对象对应的展示关键词。在本申请提供的方法及系统中,对于推荐库中的历史数据对象,已经通过线下方式预先扩展出了尽可能多的展示关键词,这些展示关键词覆盖了查询日志中尽可能多的相关查询词,对于查询日志的覆盖率高。在向当前数据对象推荐展示关键词时,直接从推荐库找到与当前数据对象相关的相关历史数据对象,并基于相关历史数据对象的展示关键词向当前数据对象推荐展示关键词。这样,通过预先在线下对查询日志中的历史数据对象进行总结扩展得到具有代表性、比较全面的展示关键词,并将当前数据对象与历史数据对象相关联,从而在每次查找展示关键词时,可以在确保即时响应的同时摆脱遍历查询日志全量的负担,并能够提高对于查询日志的覆盖率,减小查询日志中有用的查询词被漏掉的几率。而且,由于推荐库中的展示关键词已经通过线下方式预先获取,基于推荐库中与相关历史数据对象对应的展示关键词来确定当前数据对象对应的展示关键词,速度快而且数据处理量小,能够充分满足即时性要求。如果推荐库中没有与当前数据对象相关的相关历史数据对象,则通过线上方式根据查询日志获取与当前数据对象对应的展示关键词,能够满足展示关键词推荐服务对于即时性的要求。可见,本申请提供的方法,结合线上和线下处理方式,兼顾了对于查询日志的覆盖率和对于展示关键词推荐的即时性要求。在以上技术方案的基础上,在步骤103中还可以基于与所述相关历史数据对象对应的展示关键词以及策略库来确定与所述当前数据对象对应的展示关键词;所述策略库包括如下评分子策略的插件中的至少一个:基于点击到达率的策略的插件、基于展示关键词价格的策略的插件、基于相关性的策略的插件以及基于展示关键词的购买用户数量的策略的插件。在上述的技术方案中,用插件形式加载策略,可以将主程序和策略插件分开,实现了主程序和策略插件的松耦合,修改策略时不需要修改主程序,克服了代码冗余和结构复杂的问题,因此,可以保持系统稳定,易于维护。并且,能够在将来系统要考虑的因素增多时方便、安全、简单地为系统扩展相应的策略,从而大大提高了系统的可维护性。策略可以灵活地修改,使得策略多样化,能够实现展示关键词推荐的定制和个性化。通过以下参照附图对优选实施例的说明,本申请的上述以及其它目的、特征和优点将更加明显。附图说明图1中示例性示出网站产品信息展示界面10的示意图;图2示例性示出本申请涉及到的操作环境示意图;图3示例性示出本申请数据对象的展示关键词推荐方法实施例一的流程图;图4示例性示出本申请数据对象的展示关键词推荐方法实施例二的流程图;图5示例性示出本申请在线上和线下步骤中策略的插件的应用流程;图6示例性示出本申请数据对象的展示关键词推荐系统实施例的结构示意图。具体实施方式下面将详细描述本申请的实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本申请。对于数据对象的展示而言,如何选择合适的展示关键词是非常关键的。卖方用户的数据对象与搜索用户输入的查询信息相关时该数据对象才会被展示给搜索用户,而只有当被展示的数据对象与搜索用户的意图相关时,搜索用户才会点击展示出的数据对象以给卖方用户提供交易机会。因而,搜索用户输入的查询信息与数据对象之间具有好的相关性(relevance)成为判断推荐效果的重要标准。图2示例性示出本申请涉及到的操作环境示意图,展示关键词推荐系统1中设置有推荐库2,该推荐库2中存储有已经通过线下方式被推荐了展示关键词的历史数据对象以及对应的展示关键词,其中历史数据对象和展示关键词是对应存储的。该展示关键词推荐系统1可以由一台或多台服务器组成。较佳地,该展示关键词推荐系统1可以由多台服务器组成,例如可以由线上服务器11和线下服务器12组成,线上服务器11和线下服务器12可以分别执行线上和线下的步骤,例如推荐库2中存储的历史数据对象以及对应的展示关键词可以是由线下服务器12通过线下方式获取的。这样,线下服务器12进行的线下步骤不会影响线上服务器11进行的线上步骤,使得线上处理的速度可以更快,效率更高。另外,推荐库2可以设置在线上服务器11上,或者可以通过一个单独的服务器来设置。图3示例性示出本申请数据对象的展示关键词推荐方法实施例一的流程图。下面结合图2和图3详细介绍本申请实施例一的实现过程。实施例一中的方法包括如下步骤:步骤101、线上服务器11接收待被推荐展示关键词的当前数据对象。例如,线上服务器11可以接收由该推荐系统的维护人员通过键盘、触摸屏幕等接口设备输入的数据对象。步骤102、线上服务器11判断推荐库2中是否有与当前数据对象相关的相关历史数据对象;如果推荐库2中有与当前数据对象相关的相关历史数据对象,执行步骤103;如果推荐库2中没有与当前数据对象相关的相关历史数据对象,执行步骤104。在步骤102中,如果当前数据对象的内容包括单个词时,可以通过判断推荐库中是否存在包括该单个词的历史数据对象来确定推荐库中是否包括与当前数据对象相关的相关历史数据对象。如果当前数据对象的内容包括多个词时,可以根据当前数据对象与推荐库中数据对象的文本相似度来判断,或者可以通过聚类的方式来判断。具体的实现方式在后文介绍。步骤103、线上服务器11从推荐库2中获取与该相关历史数据对象对应的展示关键词,并基于与该相关历史数据对象对应的展示关键词确定与该当前数据对象对应的展示关键词。步骤104、线上服务器11通过线上方式根据查询日志获取与当前数据对象对应的展示关键词。在本申请实施例一提供的方法中,对于推荐库中的历史数据对象,已经通过线下方式预先扩展出了尽可能多的展示关键词,这些展示关键词覆盖了查询日志中尽可能多的相关查询词,对于查询日志的覆盖率高。在向当前数据对象推荐展示关键词时,直接从推荐库中找到与当前数据对象相关的相关历史数据对象,并基于相关历史数据对象的展示关键词向当前数据对象推荐展示关键词。这样,通过预先在线下对查询日志中的历史数据对象进行总结扩展得到具有代表性、比较全面的展示关键词,并将当前数据对象与历史数据对象相关联,从而在每次查找展示关键词时,可以在确保即时响应的同时摆脱遍历查询日志全量的负担,能够提高对于查询日志的覆盖率,减小查询日志中有用的查询词被漏掉的几率。而且,由于推荐库中的展示关键词已经通过线下方式预先获取,基于推荐库中与相关历史数据对象对应的展示关键词来确定当前数据对象对应的展示关键词,速度快而且数据处理量小,能够充分满足即时性要求。如果推荐库中没有与当前数据对象相关的相关历史数据对象,则通过线上方式根据查询日志获取与当前数据对象对应的展示关键词,能够满足展示关键词推荐服务对于即时性的要求。可见,本申请提供的方法,结合线上和线下处理方式,兼顾了对于查询日志的覆盖率和对于展示关键词推荐的即时性要求。本申请提供的方法较佳地可以应用于按效果付费(payforperformance)的系统中。采用该方法,推荐的展示关键词使得数据对象被展示的机会增多。在如图3所示的实施例中,还可以包括线下步骤105,在步骤105中可以由线下服务器12通过线下方式根据查询日志获取与当前数据对象对应的展示关键词,并将当前数据对象和与当前数据对象对应的展示关键词添加到推荐库中。为了区别,在图3中用虚线示意线下步骤,用实线示意各个线上步骤。线下步骤105可以周期性地执行,例如每隔一个固定时间段(例如,两天)执行一次。线上服务器11接收到的数据对象可以发送给线下服务器12,由线下服务器12周期性地通过线下方式获取与数据对象对应的展示关键词。在上述实施例中,通过线下方式来根据查询日志获取与当前数据对象对应的展示关键词,并将通过线下方式获取到的当前数据对象和与当前数据对象对应的展示关键词添加到推荐库中,实现了推荐库中数据的积累,有利于后续的推荐过程使用。下面详细介绍上述实施例中各步骤的具体实现方式。首先介绍步骤103。为了使得所推荐的展示关键词能够满足不同卖方用户的需求(例如,有的卖方用户希望数据对象能够得到更多的点击,有的卖方用户则关注展示关键词的价格),实现展示关键词推荐的定制和个性化,在步骤103中,可以基于与相关历史数据对象对应的展示关键词以及策略库来确定与当前数据对象对应的展示关键词。其中,策略库可以包括如下评分子策略插件中的至少一个:基于点击到达率(ClickThroughRate,简称CTR)的策略的插件、基于展示关键词价格的策略的插件、基于相关性的策略的插件以及基于展示关键词的购买用户数量的策略的插件等。当然策略库中的策略插件不限于上述所列出的,还可以在策略库中添加更多的其他策略插件,例如基于竞争热度或投放时间段等策略的插件。此外,在步骤103中,为了使得推荐给当前产品信息的展示关键词更加准确,更加能够有利于产品信息被展示,可以将从推荐库中获取的与当前产品信息相关的相关历史数据对象对应的展示关键词作为候选展示关键词,从中再筛选出最终的展示关键词。具体地,步骤103可以包括:步骤1031、从推荐库中获取与相关历史数据对象对应的展示关键词作为第一候选展示关键词。步骤1032、基于动态加载的至少一个评分子策略的插件获取第一候选展示关键词的评分。步骤1033、基于第一候选展示关键词的评分将第一候选展示关键词排序。步骤1034、从第一候选展示关键词中选择排序前M个第一候选展示关键词作为当前数据对象对应的展示关键词。其中,M为大于1的自然数。上述步骤1031-1034主要是通对从推荐库中选出的第一候选展示关键词进行了评分、排序,从中选择出了排序前M的优质的第一候选展示关键词作为当前数据对象对应的展示关键词。在本申请的实施例中,策略是指用于评分或选择的一些规则或方法。各种策略可以预先设置,各种策略可以以插件的方式被动态加载,并且这些插件可以被包括在策略库中。当展示关键词推荐系统需要用到这些插件时,可以通过例如linux服务器环境下的libdl库进行调用,将策略插件以动态库的形式动态加载。另外,各种策略可以进行组合。具体地,步骤1032可以包括:基于动态加载的至少一个评分子策略的插件分别获取第一候选展示关键词在各评分子策略下的评分;根据第一候选展示关键词在各评分子策略下的评分以及各个评分子策略的权重,获取第一候选展示关键词的综合评分作为第一候选展示关键词的评分。综合评分可以如公式(1)所示:score=F(score1,score2,...,scoren)(1)公式(1)中,score是第一候选关键词的综合评分,score1、score2、......、scoren表示各评分子策略下的评分,F表示对于各评分子策略下的评分结合权重计算时所用的计算方法。对于不同的卖方用户,不同评分子策略可以有不同的权重。例如,对于某些卖方用户,比较倾向于使得数据对象更容易被点击,则可以将基于CTR的策略的权重设置得较高。另外,也可以考虑基于展示次数pv来确定评分,如下公式(2)所示:公式(2)中,pv是对于某个展示关键词而言数据对象被展示的次数;wpv是pv的权重;break是一个平滑因子,可以设置为例如几百大小的一个常数;wi是每个评分子策略的权重;scorei是第i个评分子策略下的评分。在本申请的实施例中,采用各种策略来选择展示关键词,并且为各种策略设置了相应的权重,使得对于不同用户可以依据不同的策略推荐展示关键词,使得展示关键词的推荐更为灵活,满足了不同卖方用户的倾向性,实现了展示关键词推荐的个性化和定制。下面详细介绍步骤104。在本申请的实施例中,步骤104可以通过现有技术的线上方式来实现,或者也可以通过如下介绍的方式来实现。在本申请的实施例中,术语“线上(online)”和“线下(offline)”首先可以是一种时间意义上的概念。在信息处理技术领域中,某些处理具有即时性的要求,即要求在较短的时间内获取处理结果,这种处理可称为线上方式。而另外一些处理不具有即时性的要求,可以以相对长的时间来处理,这种处理可称为线下方式。此外,“线上”和“线下”可以是指在重要性以及服务部署方面的有区分的处理。线下系统可以只生成数据而不会对用户在网站上的使用产生直接影响,因而可以极大地降低风险,确保网站稳定性。为了能够尽可能全面地覆盖查询日志,遍历查询日志全量来获取与当前数据对象对应的展示关键词当然是效果最好的。然而,查询日志全量的数据规模巨大,如果基于查询日志全量来获取展示关键词,则时间开销过大而难以实现,而且数据处理速度也将过慢。为此,在线上方式中,本申请的实施例尽管也参考了查询日志来进行推荐,但是为了能够在覆盖查询日志的同时保证数据处理的速度,是以一种相对于线下方式要求数据处理量更少的方式根据查询日志来推荐展示关键词的。经过分析认为:当查询信息中存在和数据对象相同的词汇时,认为该查询信息和数据对象具有一定程度的相似性,而相似性的高低与这些相同词汇的重要程度以及相同词汇的个数成正比。基于上述分析,在本申请的实施例中,可以基于查询日志预先建立查询信息以及各条查询信息对应的核心含义词。核心含义词是中心词或中心短语,可以是指查询信息中去除修饰成分后的词,这些词能够代表搜索用户的主要查询意图。例如,对于查询信息“红色MP3播放器”而言,核心含义词“MP3播放器”可以体现搜索用户的主要查询意图,而“红色”是修饰词。将多条查询信息以及各条查询信息对应的核心含义词以倒排索引结构的形式组织成倒排索引词典,倒排索引词典包括从查询日志中的查询信息的核心含义词到查询信息的多条映射。例如:可以用Q={[Wi,1,Wi,2,...,Wi,L]i}来表示查询信息。其中Wi,1,Wi,2,...,Wi,L表示第i条查询信息[Wi,1,Wi,2,...,Wi,L]i中的第1、2、......、L个核心含义词。具体地,可以利用自然语言处理(NaturalLanguageProcessing,简称NLP)工具对查询日志中的查询文本进行分析,标注出该查询文本的核心含义词,对核心含义词建立倒排索引词典。上述核心含义词可以是只从当前数据对象的标题中抽取出来的,也可以是从整个数据对象的文本中抽取出来的。基于预先建立的倒排索引词典,在步骤104中,通过线上方式根据查询日志获取与当前数据对象对应的展示关键词,可以包括通过线上方式执行的如下步骤1041-1046:步骤1041、抽取当前数据对象的核心含义词,该核心含义词可以是从当前数据对象的标题中抽取出来的,也可以是从整个数据对象的文本中抽取出来的。可以基于NLP工具抽取。步骤1042、从根据查询日志预先建立的倒排索引词典中搜索当前数据对象的核心含义词,获取当前数据对象的核心含义词对应的查询信息的集合。例如,在倒排索引词典中可以包括如下映射:核心含义词查询信息Q1W11=mobile;W12=mobilephone诺基亚;mobile;phone在上述的映射中,查询信息Q1包括三个查询词,分别是“诺基亚”、“mobile”和“phone”,根据NLP工具获取的核心含义词包括“mobile”和“mobilephone”。例如,采用NLP工具获取的当前数据对象的核心含义词包括“mobile”,通过从倒排索引词典中检索,可以检索出核心含义词W11和W12,进而可以获取这两个核心含义词对应的查询信息Q1。如果检索到的查询信息包括多条,则可以形成一个查询信息的集合。由于查询信息包括多个查询词,因而查询信息的集合可以看作是查询词的集合。步骤1043、基于动态加载的简化筛选策略的插件从当前数据对象的核心含义词对应的查询信息的集合中选出第二候选展示关键词。例如,上述查询信息Q1中的三个查询词“诺基亚”、“mobile”和“phone”可以作为第二候选展示关键词。步骤1044、基于动态加载的简化评分策略的插件获取第二候选展示关键词的评分。步骤1045、基于第二候选展示关键词的评分将第二候选展示关键词排序。步骤1046、从第二候选展示关键词中选择排序前M个第二候选展示关键词作为当前数据对象对应的展示关键词。在步骤1043中,采用了简化筛选策略来选择第二候选展示关键词。该简化筛选策略是指相对于线下方式中所采用的筛选策略更为精简、要求数据处理量更少的策略。例如,如果从倒排索引词典中获取的查询信息共有1000条,则根据简化筛选策略,可以从中选择10条查询信息,将这10条查询信息中的查询词作为第二候选展示关键词。在步骤1044中,采用的简化评分策略是指相对于线下方式中所采用的评分策略更为简单、要求数据处理量更少的策略。例如,简化评分策略中可以只采用单一策略,而不采用多个策略的综合。下面详细介绍线下步骤105。线下步骤105可以通过以线下方式进行的步骤1051-1056来实现:步骤1051、抽取当前数据对象的核心含义词。步骤1052、从倒排索引词典中搜索当前数据对象的核心含义词,获取当前数据对象的核心含义词对应的查询信息的集合。步骤1053、基于动态加载的线下筛选策略的插件从当前数据对象的核心含义词对应的查询信息的集合中选出第三候选展示关键词。步骤1054、基于动态记载的不同线下评分策略的插件获取不同线下评分策略下第三候选展示关键词的评分。步骤1055、分别在不同线下评分策略下基于第三候选展示关键词的评分将第三候选展示关键词排序。步骤1056、分别在不同线下评分策略下,从第三候选展示关键词中选择排序前P个第三候选展示关键词作为当前数据对象对应的展示关键词;P为大于1的自然数。步骤1051-1056与步骤1041-1046的区别之处在于:前者采用了要求数据处理量较大的筛选策略和评分策略,使用了倒排索引词典中更多的查询信息,后者采用了要求数据处理量较小的筛选和评分策略,使用的倒排索引词典中的查询信息较少。另外,在步骤1051中还可以获取出当前数据对象的核心含义词的同义词或近义词。在步骤1052中可以从倒排索引词典中搜索当前数据对象的核心含义词以及该核心含义词的同义词或近义词,获取当前数据对象的核心含义词以及该同义词或近义词对应的查询信息的集合。在步骤1053中可以基于动态加载的线下筛选策略的插件从当前数据对象的核心含义词以及该同义词或近义词对应的查询信息的集合中选出第三候选展示关键词。通过获取当前数据对象的核心含义词的同义词或近义词,使得能够检索到的第三候选展示关键词的数量更多,减小漏掉有用候选展示关键词的几率,提高对于查询日志的覆盖率。当然,对于线上步骤1041-1043也可以通过获取核心含义词的同义词或近义词来获取数量更多的第二候选展示关键词,不过考虑到线上步骤的即时性要求,较佳地,可以省略获取核心含义词的同义词或近义词的步骤。在本申请的实施例中,抽取当前数据对象的核心含义词、从倒排索引词典中获取所述当前数据对象的核心含义词对应的查询信息的集合、从该集合中选择候选展示关键词等这一系列步骤称作“扩展过程”。“扩展”主要是指对数据对象中的核心含义词进行意义或表述形式的扩充,生成更多的能够代表该数据对象的候选展示关键词。通过扩展过程,可以得到数量小于全量查询日志中的查询词数量的候选展示关键词,并且由于这些候选展示关键词是通过检索倒排索引词典获取的,与当前数据对象具有局部文本一致性(即,候选展示关键词与当前数据对象中有一部分相同/相似的词),确保了从这些候选展示关键词中选择出的展示关键词与数据对象具有较好的相关性,而且能够更好地体现搜索用户的搜索或购买意图。在步骤104的线上和线下方式中均涉及到了扩展过程。然后,由于线上方式对于即时性的要求高,进行了较为精简的扩展;线下方式对于即时性的要求低,进行了较为充分、复杂的扩展,使得通过线下方式获取的展示关键词对于查询日志具有更高的覆盖率。在步骤104c中的线下筛选策略相对于步骤1043中的简化筛选策略可以更为复杂以使得筛选出的第三候选展示关键词数量更多。在步骤104d中的线下评分策略相对于步骤1044中的简化评分策略也可以更为复杂以使得评分能够更加体现不同卖方用户的侧重点,例如通过线下评分策略可以侧重于CTR。另外,P的值可以大于M,即通过线下方式可以从第三候选展示关键词中选择更多的展示关键词作为最终的展示关键词添加到推荐库中。通过线下方式获取的不同线下策略下的展示关键词和对应的历史数据对象可以添加到推荐库中。推荐库中的各种策略下的展示关键词及对应的历史数据对象可以如表一所示。表一上述表一中,策略1、策略2、......、策略n是指不同的线下评分策略。推荐库中的数据可以以键-值对(key-valuepair)的形式组织,键(key)为历史数据对象,值(value)为该数据对象对应的展示关键词。通过键-值对形式组织数据,可以实现较快的查询速度。在介绍完线下步骤之后,再回头看步骤103,可以对本申请的技术方案具有更加清晰的理解。在线下步骤中往推荐库中添加了不同策略下的数据对象和对应的展示关键词,实现了推荐库的积累。在后续的推荐过程中,在接收到数据对象后,在步骤102和103中可以方便快速地通过查询推荐库来获取展示关键词。下面介绍步骤102。在步骤102中可以通过判断文本相似度来确定推荐库中是否存在与当前数据对象相关的相关数据对象。具体地,步骤102可以包括:获取当前数据对象的类目;判断所述当前数据对象与所述推荐库中与所述当前数据对象属于相同类目的数据对象之间的文本相似度;如果存在相似度大于第一预设阈值的情况,则确定所述推荐库中有与所述当前数据对象相关的相关历史数据对象;如果不存在相似度大于所述第一预设阈值的情况,则确定所述推荐库中没有与所述当前数据对象相关的相关历史数据对象。该第一预设阈值可以根据数据处理的需要灵活设置。在本申请的实施例中,数据对象是文本数据,可以从推荐库中相同类目的已有文本中查找与当前数据对象相似的文本,可以用如下公式(3)表示:公式(3)中,sim(oc,qc)是推荐库中的历史数据对象和当前数据对象之间的文本相似度评估算法,下标c表示所属类目,Oc表示所属类目的所有已被推荐了展示关键词的数据对象的集合,offercandidate表示推荐库中与当前数据对象qc最相似的数据对象。sim(oc,qc)可以选择为向量空间模型方法和Simhash方法。argmax表示会产生最大相似度的数据对象。在获取offercandidate之后,可以确定该offercandidate与当前数据对象之间的文本相似度是否大于第一预设阈值。如果相似度大于第一预设阈值,则确定所述推荐库中存在与所述当前数据对象相关的历史数据对象。offercandidate即可以被认为是与当前数据对象相关的历史数据对象。如果相似度小于或等于第一预设阈值,则确定所述推荐库中不存在与所述当前数据对象相关的历史数据对象。(i)向量空间模型(VectorSpaceModel,简称VSM)方法具体地,可以使用VSM对推荐库中的数据对象以及当前数据对象所在进行分析,获取特征向量,通过比较当前数据对象的特征向量与推荐库中历史数据对象的特征向量之间的相似度,即可以获取数据对象与推荐库中历史数据对象之间的文本相似度。(ii)Simhash方法具体地,可以采用Simhash方法将当前数据对象和推荐库中各历史数据对象通过哈希算法获取一定长度的位图而形成指纹,通过获取当前数据对象的指纹和推荐库中数据对象的指纹之间的距离来获得当前数据对象和推荐库中的历史数据对象之间的文本相似度。具体可以通过如下公式(4)和(5)表示:fp=[b1,b2,...,bN](4)sim(fp1,fp2)=hamming_distance(fp1,fp2)(5)公式(4)是文本的指纹表达式,b1,b2,...,bN是N个位图,bi=0或1,1≤i≤N,fp表示长度为N的位图。公式(5)是两个文本的指纹fp1和fp2之间的相似度,hamming_distance(fp1,fp2)是两个文本的指纹fp1和fp2之间的汉明距离。在步骤102中也可以通过聚类的方式来判断。具体地,步骤102可以包括:判断当前数据对象与推荐库中各类别下的中心历史数据对象之间的相似度;如果当前数据对象与各中心历史数据对象之间的相似度的最大值大于或等于第二预设阈值,则确定推荐库中有与当前数据对象相关的相关历史数据对象,并且可以将相似度最大的中心历史数据对象所属类别确定为当前数据对象的类别,然后可以将当前数据对象所属类别中与当前数据对象之间的相似度最大的历史数据对象作为所述相关历史数据对象;如果当前数据对象与各中心历史数据对象之间的相似度的最大值小于第二预设阈值,则确定推荐库中没有与当前数据对象相关的相关历史数据对象。该第二预设阈值可以根据数据处理的需要灵活设置。具体地,通过对推荐库中的历史数据对象进行聚类,可以把相似的历史数据对象归为一类,得到n个类别,Z1,Z2,...,Zn,Zi(1≤i≤n)为其中一个类别,其中包含具有相似特征的多个历史数据对象,该类别可以表示为{oi,1,oi,2,...,oi,m},其中oi,1,oi,2,...,oi,m为属于该类别Zi的各个历史数据对象,该类别的中心历史数据对象可以记为oi,c。对于输入的当前数据对象,可以判断当前数据对象与推荐库中各类别下的中心历史数据对象之间的相似度。如果当前数据对象与各中心历史数据对象之间的相似度的最大值(例如,当前数据对象与类别Zj的中心历史数据对象之间的相似度最大)大于或等于第二预设阈值,则确定推荐库中存在与所述当前数据对象相关的历史数据对象。并且,可以将当前数据对象的类别确定为Zj,并将类别Zj下与当前数据对象之间的相似度最大的历史数据对象作为所述相关历史数据对象。采用聚类的方式,将当前数据对象所属类别下与当前数据对象之间的相似度最大的历史数据对象作为相关历史数据对象,并将该相关历史数据对象的展示关键关键词作为候选展示关键词进行推荐,数据处理量小,速度快,而且由于相关历史数据对象与当前数据对象之间相似度最大,因而所推荐的候选展示关键词更为准确。需要说明的是,推荐库中各数据对象的特征向量、指纹或类目可以通过线下方式预先获取并存储在推荐库中,当接收到当前数据对象时,可以只计算当前数据对象的特征向量或指纹或类目,而无需线上计算推荐库中所有数据对象的特征向量或指纹或类目,以提高数据处理的速度。图4示例性示出本申请数据对象的展示关键词推荐方法实施例二的流程图,包括:步骤201、线上服务器接收待被推荐展示关键词的当前数据对象。步骤202、线上服务器对接收到的当前数据对象进行预处理。该预处理可以包括对数据对象进行切词、取词根等处理。步骤203、线上服务器采用与前述描述的步骤102类似的方法获取当前数据对象的特征向量、指纹、类目等。步骤204、线上服务器判断推荐库中是否存在与当前数据对象相关的相关历史数据对象。如果存在,执行步骤205;如果不存在,执行步骤206。在该实施例中,推荐库可以包括第一词典和第二词典。在第一词典中存储有通过线下方式建立的各种策略下的已经被推荐了展示关键词的历史数据对象以及对应的展示关键词,其中key为历史数据对象,value为对应的展示关键词。第一词典可以包括各种子词典,每个子词典中可以包括一种策略下的已经被推荐了展示关键词的历史数据对象以及对应的展示关键词。第二词典中存储有各历史数据对象的特征向量、指纹或类目等,第二词典中的key为历史数据对象,value为历史数据对象的特征向量、指纹或类目等。在步骤204中,具体可以基于当前数据对象的特征向量或指纹与第二词典中历史数据对象的特征向量或指纹来判断第一词典中是否存在与当前数据对象相关的相关历史数据对象。或者可以通过前述介绍的聚类的方式来判断。步骤205、线上服务器从第一词典中获取相关历史数据对象对应的展示关键词作为第一候选展示关键词,基于动态加载的评分子策略的插件获取第一候选展示关键词的评分,基于第一候选展示关键词的评分将第一候选展示关键词排序,然后从第一候选展示关键词中选择排序前M个第一候选展示关键词作为当前数据对象对应的展示关键词。步骤205之后执行步骤207。步骤206、线上服务器通过线上方式根据查询日志获取与当前数据对象对应的展示关键词。步骤206中各子步骤206a-206f分别与实施例一中的步骤104的子步骤1041-1046相同,在此不再赘述。步骤207、线上服务器将当前数据对象对应的展示关键词输出。在步骤201之后,还可以进行线下步骤,该线下步骤的子步骤208-213分别与实施例一中的步骤1051-1056大体相同,在此不再赘述。其中,在步骤212中,线下服务器还可以将当前数据对象和选择出的与当前数据对象对应的展示关键词添加到第一词典中。并且,在线下步骤中,线下服务器可以对接收到的当前数据对象进行预处理(参见步骤214),预处理的方式与步骤202可以相同。实施例一和实施例二中的线上步骤104和206中的几个子步骤可以用一个函数来实现,也可以用几个函数来实现。例如,子步骤1041和206a(核心含义词的抽取)、1042和206b(获取核心含义词集合)、1043和206c(第三或第二候选展示关键词的选择)可以利用一个扩展函数来实现,步骤1044和206d(评分)可以用一个评分函数来实现,步骤1045和206e(排序)可以用一个排序函数来实现,步骤1046和206f(当前数据对象的展示关键词的选择)可以用一个选择函数来实现。通过这四个函数来实现不同的步骤,而不是通过一个函数来实现,便于策略插件的加载,而且也便于其他步骤调用。这样,对于相同或相似的处理,设置一个函数即可,而无需设置多个函数。例如,在进行线下步骤1051-1056和208-213的时候,也可以调用上述的函数,只不过线下步骤和线上步骤动态加载的策略插件可以不同。此外,在步骤205中的各个步骤也可以利用不同的函数来实现。例如,在步骤205中,从推荐库中获取与相关历史数据对象对应的展示关键词作为第一候选展示关键词的步骤可以通过一个获取函数来实现,基于动态加载的第一评分策略的插件获取第一候选展示关键词的评分的步骤可以通过上述评分函数来实现,从第一候选展示关键词中选择排序前M个第一候选展示关键词作为当前数据对象对应的展示关键词的步骤可以通过上述选择函数来实现。在本申请的实施例中,采用了多种策略,各实施例中涉及到的动态库插件的各种逻辑及其功能如表二所示:表二、动态库插件的各逻辑的功能表二中的这些功能分为线上和线下两个环境进行调用,对于每个策略插件而言以评分(SCORE)为其主要功能,在SCORE逻辑中依据不同的评分策略进行评分,根据评分的不同,反映该策略的选择倾向。策略插件在线上和线下步骤中的应用流程参见图5。通过动态加载策略插件的方式可以带来以下优点:(1)本申请用插件形式加载策略,将主程序和策略插件分开,实现了主程序和策略插件的松耦合,修改策略时不需要修改主程序,因此,可以保持系统稳定,易于维护。(2)策略的变更通过配置文件配置插件完成,增加了维护的灵活性。(3)由于策略可以灵活地修改,因此增加了运营端对于策略的参与,并且使得策略可以多样化。在展示关键词推荐系统中通过提供策略动态库、策略配置文件、策略数据文件资源作为一个插件嵌入到展示关键词推荐平台中提供功能。图6示例性示出本申请数据对象的展示关键词推荐系统的结构示意图,包括接收模块21、判断模块22、第一处理模块23和第二处理模块24。接收模块21用于接收待被推荐展示关键词的当前数据对象。判断模块22与接收模块21连接,用于判断推荐库中是否有与当前数据对象相关的相关历史数据对象。第一处理模块23与判断模块22连接,用于在判断模块22判断推荐库中有与当前数据对象相关的相关历史数据对象的情况下,从推荐库中获取与相关历史数据对象对应的展示关键词,并基于与相关历史数据对象对应的展示关键词确定与当前数据对象对应的展示关键词。第二处理模块24与判断模块22连接,用于通过线上方式根据查询日志获取与当前数据对象对应的展示关键词。其中,第一处理模块23可以基于与相关历史数据对象对应的展示关键词以及策略库来确定与所述当前数据对象对应的展示关键词。策略库可以包括如下评分子策略的插件中的至少一个:基于点击到达率的策略的插件、基于展示关键词价格的策略的插件、基于相关性的策略的插件以及基于展示关键词的购买用户数量的策略的插件。其中,第一处理模块23可以包括第一获取单元231,第一评分单元232、第一排序单元233和第一选择单元234。第一获取单元231用于从推荐库中获取与相关历史数据对象对应的展示关键词作为第一候选展示关键词。第一评分单元232与第一获取单元231连接,用于基于动态加载的至少一个评分子策略的插件获取第一候选展示关键词的评分。第一排序单元233与第一评分单元232连接,用于基于第一候选展示关键词的评分将第一候选展示关键词排序。第一选择单元234与第一排序单元233连接,用于从第一候选展示关键词中选择排序前M个第一候选展示关键词作为所述当前数据对象对应的展示关键词;M为大于1的自然数。其中,第二处理模块24可以包括第一抽取单元241、第一搜索单元242、第二获取单元243、第二评分单元244、第二排序单元245以及第二选择单元246。第一抽取单元241用于抽取当前数据对象的核心含义词。第一搜索单元242与第一抽取单元241连接,用于从根据查询日志预先建立的倒排索引词典中搜索当前数据对象的核心含义词,获取当前数据对象的核心含义词对应的查询信息的集合。第二获取单元243与第一搜索单元242连接,用于基于动态加载的简化筛选策略的插件从当前数据对象的核心含义词对应的查询信息的集合中选出第二候选展示关键词。第二评分单元244与第二获取单元243连接,用于基于动态加载的简化评分策略插件获取第二候选展示关键词的评分。第二排序单元245与第二评分单元244连接,用于基于第二候选展示关键词的评分将第二候选展示关键词排序。第二选择单元246与第二排序单元245连接,用于从第二候选展示关键词中选择排序前M个第二候选展示关键词作为所述当前数据对象对应的展示关键词。图6所示的系统中还可以包括第三处理模块25,该第三处理模块25与接收模块21连接,用于通过线下方式根据查询日志获取与当前数据对象对应的展示关键词,并将当前数据对象和与当前数据对象对应的展示关键词添加到推荐库中。该第三处理模块25可以包括第二抽取单元251、第二搜索单元252、第三获取单元253、第三评分单元254、第三排序单元255以及第三选择单元256。第二抽取单元251用于抽取当前数据对象的核心含义词。第二搜索单元252与第二抽取单元251连接,用于从倒排索引词典中搜索当前数据对象的核心含义词,获取当前数据对象的核心含义词对应的查询信息的集合。第三获取单元253与第二搜索单元252连接,用于基于动态加载的线下筛选策略插件从当前数据对象的核心含义词对应的查询信息的集合中选出第三候选展示关键词。第三评分单元254与第三获取单元253连接,用于基于动态加载的不同线下评分策略的插件获取在不同线下评分策略下所述第三候选展示关键词的评分。第三排序单元255与第三评分单元254连接,用于分别在不同线下评分策略下基于所述第三候选展示关键词的评分将所述第三候选展示关键词排序。第三选择单元256与第三排序单元255连接,用于分别在不同线下评分策略下,从第三候选展示关键词中选择排序前P个第三候选展示关键词作为当前数据对象对应的展示关键词。本申请提供的方法及其步骤可以由具有数据处理能力的一个或多个处理设备例如一个或多个服务器运行计算机可执行指令来实现。服务器的存储介质中可以存储各种用于执行本申请提供的方法的各个步骤的指令。本申请的系统中的各个模块可以由运行计算机可执行指令的一个或多个服务器实现。各个模块可以为该服务器运行计算机可执行指令时具有相应功能的设备组件。其中,接收模块、判断模块、第一处理模块和第二处理模块可以由一个线上服务器来实现,第三处理模块可以由一个线下服务器来实现。综上所述,本申请提供的方法和系统,对展示关键的推荐过程进行了清晰的分析,将整个过程大致分为扩展和选择两个阶段,通过扩展可以提高对于查询日志的覆盖率,通过基于各种策略的选择可以更加灵活准确地为卖方用户推荐展示关键词,从而能够有效、全面地利用查询日志,在进行比较好的准确推荐的同时不损失推荐效率。而且,根据计算资源的利用情况,将复杂的计算过程安排在线下进行,提高了系统的整体性能指标,使得系统响应速度快。另外,现有技术中,为了获得追求更好的推荐效果,常常将不同的推荐方法在系统中进行拼装组合,这样造成了系统代码冗余、结构复杂等情况,以至于系统难以维护,并且复杂的系统也造成了性能的下降。而在本申请的实施例中,将各种策略以插件的形式动态加载,如果需要增加新的策略,只需要扩展策略库即可,不存在各种推荐方法的拼装组合,代码简单,而且系统具有易于扩展的组件化结构,易于兼容各种推荐策略,和相关性算法。虽然已参照典型实施例描述了本申请,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本申请能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1