本发明涉及一种基于强化学习的个性化搜索方法,属于数据挖掘领域。
背景技术:
在日常生活中,搜索引擎的应用越来越广泛,人们对于搜索结果的要求也越来越高。搜索结果个性化对于有歧义的查询来说非常重要,针对同一个查询为具有不同兴趣爱好的用户返回不同的搜索结果可以极大地提升用户使用搜索引擎的体验。
个性化搜索是为了解决用户输入的查询具有歧义这一普遍存在的问题而提出的,主要是基于用户的兴趣针对同一个查询为不用的用户返回不一样的检索结果。那么,实现个性化搜索的关键就在于如何挖掘用户的兴趣并为用户建立兴趣画像。目前建立用户兴趣画像的方法有很多,根据用户兴趣画像是否是基于学习获得可以将现有方法分为以下两大类:传统个性化搜索模型和基于学习的个性化搜索模型。
传统的个性化搜索模型主要采用两种方法来获得用户兴趣画像。一种是利用话题模型(topicmodel)从用户历史点击过的文档中抽取话题,并根据这些话题在话题空间中建立用户的兴趣画像。另一种则是采用特征工程,从用户的查询历史中抽取一系列的特征来构成用户兴趣的表示向量。然而,这些传统方法都是基于经验对用户兴趣进行建模,对于特征合理性和有效性的要求极高,而且得到的兴趣向量涵盖范围也很有限。
为了解决这些问题,一系列基于学习(深度学习)的个性化搜索模型陆续被提出。其中一部分模型不显式地设计特征来表示用户兴趣,而是直接从用户的查询日志中学习得到用户兴趣的表示向量;还有一部分模型则是直接利用单个用户的查询日志作为训练数据来训练满足个性化搜索的个人搜索模型。此外,目前已经有一些研究工作将强化学习应用于推荐系统和学习排序等问题。
然而,目前已有的个性化搜索模型都是基于监督学习设计的,在这些研究工作中,用户的历史查询过程不分先后顺序地被看做是一系列静态查询的集合,首先基于这个集合中的数据训练一个个性化搜索模型,然后将训练好的静态模型应用于后续的查询,短时间内不再进行更新。这样的个性化搜索模型会有两个问题,首先是用户的查询过程本身是一个序列化的动态交互过程,在每一次交互中,用户通过输入查询并作出点击来表示自己的兴趣,而用户兴趣本身在整个查询过程中也是动态变化的。但是现有的个性化搜索模型把这个查询过程静态化了,难以捕捉到用户兴趣动态变化的过程,不利于用户兴趣的学习。其次是目前的工作都是将模型在静态数据集上训练完成之后加以应用,在短期内不再进行更新,这样的模型很难适应与动态变化的用户兴趣。
另外,现有的为推荐系统设计的强化学习模型过分考虑了推荐系统的任务特点,难以直接嫁接到个性化搜索问题上。
技术实现要素:
针对上述问题,本发明的目的是提供一种基于强化学习的个性化搜索方法,该方法建立了一个能够跟踪用户查询过程并实时更新的个性化搜索模型,能够利用强化学习更好地学习动态变化的用户兴趣,因而能够得到更符合用户需求的搜索结果。
为实现上述目的,本发明采取以下技术方案:一种基于强化学习的个性化搜索方法,包括以下步骤:
1)建立基于强化学习的个性化搜索模型;
2)基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的基于强化学习的个性化搜索模型进行训练,得到最优个性化搜索模型;
3)采用最优个性化搜索模型对线上用户的查询过程进行动态跟踪,根据各用户新的查询日志对最优个性化搜索模型进行持续更新,使得更新后的最优个性化搜索模型能够生成符合相应用户兴趣的个性化搜索结果。
进一步的,所属步骤1)中,建立所述基于强化学习的个性化搜索模型的方法,包括以下步骤:
1.1)用符号将个性化搜索问题描述为一个强化学习的交互过程;
1.2)采用马尔科夫决策过程为描述的交互过程进行建模,得到的分层mdp即为个性化搜索模型,其中,分层mdp包括上层mdp和下层mdp,且上层mdp以查询和文档列表为单位与用户进行交互,下层mdp以文档对为单位训练模型;
1.3)根据建立的个性化搜索模型,确定该个性化搜索模型所对应的五元组以及个性化排序模型。
进一步的,所述步骤1.1)中,所述用符号将个性化搜索问题描述为一个强化学习的交互过程的方法,包括以下步骤:
1.1.1)确定当前时刻t的交互中,个性化搜索引擎面对的当前环境{qt,dt,ht},其中,qt为用户u在智能体中输入的新查询;dt为非个性化的搜索引擎根据该新查询返回的候选文档列表;ht为该用户u之前的搜索历史;
1.1.2)根据当前时刻的环境{qt,dt,ht},个性化搜索引擎利用当前的个性化排序模型mt基于用户的搜索历史ht和输入的查询qt对候选文档列表dt排序,生成个性化的排序列表d′t返回给用户u;
1.1.3)将用户u根据该个性化的排序列表d′t进行的点击情况作为反馈rt,返回给个性化搜索引擎;
1.1.4)个性化搜索引擎基于反馈rt将当前的个性化排序模型mt更新为mt 1,当用户输入新的查询qt 1时,当前环境{qt,dt,ht}更新为{qt 1,dt 1,ht 1},其中,ht 1为下一时刻t 1的交互时的搜索历史,且ht 1=ht {qt d′t};qt 1为下一时刻t 1用户u输入的查询;dt 1为下一时刻t 1的候选文档列表;
1.1.5)重复步骤1.1.2)~1.1.4),基于用户的动态反馈持续地对个性化排序模型进行更新直到收敛至最优。
进一步的,所述步骤1.3)中,所述个性化搜索模型所对应的五元组为
关于状态s:
上层mdp在当前时刻t所对应的状态为st={ht,qt,dt,pt},其中,qt为用户输入的查询;dt为待排序文档的集合;ht为包含用户兴趣的搜索历史;pt是由候选文档集dt中的文档构成的所有文档对的集合;
下层mdp在当前时刻t所对应的状态
关于行为a:
上层mdp的行为at定义为返回根据个性化得分排序的文档列表d′t;
下层mdp的行为定义为返回一个文档对的相对关系,即行为集合
关于转移函数
上层mdp和下层mdp的转移函数
其中,
关于奖励函数
下层mdp的奖励函数
式中,λi,j=δmap,δmap为交换文档列表中两个文档di和dj交换位置前后文档列表的map的差值;
关于策略π:
上层mdp的策略为:根据各文档的个性化得分对文档列表进行排序,生成个性化的排序列表返回;
下层mdp的策略为:计算各种行为的概率,计算公式为:
式中,
进一步的,所述个性化排序模型用于计算文档的个性化得分,计算公式为:
式中,
进一步的,所述每部分得分的计算方法分别为:
score(d|qt):抽取文档d与当前查询qt之间的相关特征,得到一个特征向量,然后利用一个全连接层综合这些特征向量得到文档与查询的相关性得分;
进一步的,所述步骤2)中,基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到通用个性化搜索模型的方法,包括以下步骤:
2.1)基于所有用户的历史查询数据,对交互过程进行采样,得到若干组搜索会话所对应的强化学习过程;
2.2)计算各强化学习过程的折扣累积收益gt,并将各强化学习过程进行分割,得到多个单位数据作为训练数据,用于对个性化搜索模型进行训练;
2.3)设置模型优化函数和梯度计算公式,并基于得到的训练数据对个性化搜索模型进行训练,得到最优个性化搜索模型。
进一步的,所述步骤2.2)中,所述折扣累积收益gt的计算公式为:
其中,γ是折扣因子,n是整个强化学习过程的长度,k是一个计数变量。
进一步的,所述参数梯度计算公式为:
其中,j(w)表示优化函数,w表示个性化搜索模型中待训练的参数,
进一步的,所述步骤3)中,采用最优个性化搜索模型对线上用户的查询过程进行动态跟踪,并根据各用户新的查询日志对最优个性化搜索模型进行持续更新时,包括两种方式:
第一种更新方式:上线后让所有用户均使用该最优个性化搜索模型,然后利用所有用户的查询记录对所述最优个性化搜索模型进行实时更新;
第二种更新方式:为每个用户克隆一个最优个性化搜索模型,上线后,根据各用户的查询记录为对应用户的最优个性化搜索模型进行实时更新,生成各用户的个性化搜索模型。
本发明由于采取以上技术方案,其具有以下优点:1.本发明利用强化学习来解决个性化搜索的问题。本文提出将强化学习应用在个性化搜索问题上,通过跟踪用户查询的整个过程,更好地学习动态变化的用户兴趣并实时地更新排序模型以适应这种动态的用户兴趣。2.本发明综合考虑了个性化搜索的任务特点,提出了一个分层mdp模型,既实现了查询和文档列表级别的用户交互,同时也能够利用文档对作为训练数据来训练个性化排序模型,减少了数据集中噪声的干扰。3.本发明提出了不同的模型更新方法,通过采用所有用户的查询日志对最优个性化搜索模型进行更新或分别采用各用户的查询日志对其所属最优个性化搜索模型进行更新,使得个性化搜索模型能够更好地适应动态变化的用户兴趣,更加适用于个性化搜索。因此,本发明可以广泛应用于个性化搜索领域。
附图说明
图1是本发明分层mdp的整体结构图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,本发明提供的一种基于强化学习的个性化搜索方法,首先用符号将个性化搜索问题描述为一个强化学习的交互过程,然后用马尔科夫决策过程来为这个交互过程建模并通过强化学习中常用的策略梯度算法来训练模型。由于这是一个能够实时交互更新的模型,最后本发明还给出了此模型的在线使用算法。具体的,包括以下步骤:
1)建立基于强化学习的个性化搜索模型;
2)基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到最优个性化搜索模型;
3)为最优个性化搜索模型提供在线使用的方法:采用最优个性化搜索模型对用户的查询过程进行动态跟踪,并根据各用户新的查询日志对该最优个性化搜索模型进行持续更新,使得更新后的最优个性化搜索模型能够生成符合相应用户兴趣的个性化搜索结果。
上述步骤1)中,建立基于强化学习的个性化搜索模型的方法,包括以下步骤:
1.1)用符号将个性化搜索问题描述为一个强化学习的交互过程。
本发明将个性化搜索问题看作一个强化学习的交互过程,将搜索引擎看作智能体(agent),将用户(user)看作环境(environment),则该交互过程包括以下内容:
1.1.1)确定当前时刻t的交互中,个性化搜索引擎面对的当前环境{qt,dt,ht},其中,qt为当前时刻t的交互中,用户u在智能体中输入的新查询;dt为非个性化的搜索引擎根据该新查询返回的候选文档列表;ht为包含用户u兴趣的搜索历史;
1.1.2)根据当前环境{qt,dt,ht},个性化搜索引擎采取行动at——利用当前的个性化排序模型mt基于用户u的搜索历史ht和输入的新查询qt对候选文档列表dt进行排序,生成个性化的排序列表d′t返回给用户u;
1.1.3)将用户u根据该个性化的排序列表d′t进行的点击情况作为反馈rt,返回给个性化搜索引擎;
1.1.4)个性化搜索引擎基于反馈rt将当前的个性化排序模型mt更新为mt 1,当用户输入新的查询qt 1时,当前环境{qt,dt,ht}更新为{qt 1,dt 1,ht 1},其中,ht 1为下一时刻即t 1时刻的交互时用户的搜索历史,且ht 1=ht {qt d′t};qt 1为下一时刻t 1用户u输入的新查询;dt 1为下一时刻t 1的候选文档列表;
1.1.5)重复步骤1.1.2)~1.1.4),在整个用户搜索的交互过程中,个性化排序模型mt会基于用户的动态反馈持续地进行更新直到收敛至最优。
1.2)根据步骤1.1)描述的交互过程来看,个性化搜索过程实际上也能看做一个序列化的决策过程,因此可以采用马尔科夫决策过程(mdp)为步骤1.1)描述的交互过程进行建模,得到的分层mdp即为个性化搜索模型。其中,分层mdp包括上层mdp和下层mdp,且上层mdp以查询和文档列表为单位与用户进行交互,下层mdp以文档对为单位训练模型。此处需要对本发明的模型设计进行几点说明:
第一,个性化搜索模型需要从用户的查询历史中捕捉用户的兴趣,而不仅仅关注于当前的一个查询。考虑到搜索会话(session)通常被看做具有独立查询意图的最小单位,本发明将一个搜索会话设置为强化学习中的一个episode(一个执行过程)。
第二,由于本发明可用的数据集是来自真实商业搜索引擎的用户搜索日志,数据噪声特别大而且没有人工标注。因此,本发明采用pairwise的方式来训练模型。然而,在用户与搜索引擎交互的过程中是以查询和文档列表为单位的。为了实现以查询为单位进行交互而以文档对为单位训练模型,本发明设计了一个分层的马尔科夫决策过程(hierarchicalmdp),上层用于交互,下层用于模型训练。
如图1所示,为本发明建立的分层mdp的整体结构图。其中,上层mdp以查询和文档列表为单位与用户进行交互,底层mdp以文档对为单位训练模型。
1.3)确定该个性化搜索模型所对应的五元组以及个性化排序模型。
由于马尔科夫决策过程(mdp)通常表示成一个五元组
1.3.1)状态(s):s是用于描述环境的所有状态的集合。
对于上层mdp的交互来说,当前时刻t所对应的状态为st={ht,qt,dt,pt},其中,qt为用户输入的查询;dt为候选文档列表,也即待排序文档的集合;ht为包含用户兴趣的搜索历史;pt是由候选文档集dt中的文档构成的所有文档对的集合,用于为下层的mdp提供训练数据。
对于下层mdp的来说,训练模型的每一步行为对应于一对文档相对关系的判定,因此在下层mdp当前时刻t所对应的状态
1.3.2)行为(a):a是agent面对当前环境所能采取的所有行为的集合,因此也可以表示为a(st)。
对于上层的mdp来说,个性化搜索引擎每一次需要为用户返回个性化的文档列表,因此上层mdp的行为at定义为返回根据个性化得分排序的文档列表d′t。
对于下层的mdp来说,在每一步t中,个性化搜索引擎需要判断一个文档对的相对关系,一个文档对一共可能有三种相对关系,因此下层mdp的行为集合定义为:
1.3.3)转移函数
对于上层的mdp来说,个性化搜索引擎向用户返回排好序的个性化文档列表d′t,用户浏览点击后,当前查询qt和相关的点击情况被加入到用户的查询历史ht中。当用户输入下一个查询qt 1时,转移到下一个状态。
对于下层的mdp来说,则是前后两个文档对之间的转移,具体的转移函数公式如下:
其中,
1.3.4)奖励函数
在强化学习中,奖励是环境对于agent当前采取的行为做出的反馈,也是训练和更新模型的主要依据。由于数据的限制,本发明采用文档对的形式来训练模型,因此本发明参考pairwise的ltr模型lambdarank来设计模型中的奖励函数
式中,λi,j=δmap,δmap为交换文档列表中两个文档di和dj交换位置前后文档列表的map的差值。
1.3.5)策略(p):π(a|s)∶axs→[0,1]是基于当前状态得到的一个行为空间上的概率分布,用于指导agent当前的行为。
对于上层的mdp来说,其行为策略为:根据各文档的个性化得分对文档列表进行排序,生成个性化的排序列表返回。
对于下层的mdp来说,其行为策略为:定义每个行为对应两个文档一种可能的相对关系,参考pairwise的损失函数,按照如下公式计算各种行为(相对关系)的概率:
其中,
1.3.6)个性化排序模型
在本发明的个性化搜索模型中,需要一个排序模型用于对用户兴趣进行建模并计算文档的个性化得分,可以是任意一个基于学习的个性化排序模型。在这里,本发明选择目前表现最优的深度个性化排序模型hrnn。在hrnn模型中,用户的查询历史ht被分割为长期历史和短期历史,即
其中,
score(d|qt):本发明参考sltb模型抽取文档d与查询之间的相关特征,得到一个特征向量,然后利用一个全连接层综合这些特征向量得到文档与查询的相关性得分。
上述步骤2)中,基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到通用个性化搜索模型的方法,包括以下步骤:
2.1)基于所有用户的历史查询数据,对交互过程进行采样,得到若干组搜索会话所对应的强化学习过程(episode)。
为了获得训练数据,本发明需要先对交互过程进行采样。本发明以搜索会话sm作为mdp的一个过程(episode)。对于上层交互中的每一个查询qt,本发明都可以从其返回的文档列表d′t中获得一系列的文档对。对于下层mdp中的每一步t,本发明首先计算策略
2.2)计算各强化学习过程(episode)的折扣累计收益gt,并将各组episode进行分割,得到多个(st,at,gt)的单位数据作为训练数据,用于对模型进行训练。
采样得到若干组episode之后,计算每一步的折扣累积收益(discountedcumulativerewards),并记为gt:
其中,γ是折扣因子,n是整个episode的长度,k是一个计数变量。然后本发明将整个episode分割为多个(st,at,gt)的单位数据用于训练模型。
2.3)设置模型优化函数和梯度计算公式,并基于得到的训练数据对个性化搜索模型进行训练,得到最优个性化搜索模型。
在策略梯度算法中,本发明使用在初始状态s1下的长期累积收益cumulativelong-termreward(g1)衡量模型,也作为本发明模型的优化目标,表示为j(w),其中w表示个性化搜索模型中待训练的参数。优化目标函数为:
j(w)=eπ([g1])(8)
式中,eπ表示在行为策略π下g1的期望。
根据上面两个公式(7)和(8)可以推断出参数的梯度计算公式如下:
其中,
上述模型训练整体的训练算法用伪代码表示如下:
algorithm1trainingwithreinforce
input:trainingsetd,learningrateη,discountfactorγ,rewardfunctionr,batchsizeb
output:welltrainedparameterswinitializewrandomly,areplaymemoryrm=[]
repeat
forallsm∈ddo
sampleanepisodee=(s1,a1,r2,s2,...,sn,an,rn 1)computeandstorethentransitions(st,at,gt)intormsamplebtransitions(st,at,gt)fromrmcomputethegradient△w←2/b*(gt▽wlogπ(at|st;w))updatetheparametersw←w η△w
endfor
untilconvergereturnw
上述步骤3)中,由于本发明提出的基于强化学习的个性化搜索模型是为了能够跟踪用户的整个交互过程以捕捉动态变化的用户兴趣,并且持续实时地更新个性化的排序策略,以适用于动态的用户兴趣。因此,这个模型能够直接上线应用在实际的搜索场景中。在线更新和本发明训练模型时的步骤类似,首先以一个搜索会话(session)为episode对数据采样,然后利用采样得到的数据实时地更新模型。在这里,本发明提供了两种在线测试的方式:
第一种更新方式:本发明先在线下用所有用户的查询日志训练一个共享的最优个性化搜索模型,然后上线后让所有用户使用该共享的个性化搜索模型,并利用所有用户的查询记录对该个性化搜索模型进行实时更新。
第二种更新方式:最为理想的个性化搜索是为每一个用户维护一个个性化的排序模型。但是由于个人的查询日志有限,本发明很难为每个用户都从头开始训练一个个性化排序模型。因此,本发明先在线下用所有用户的查询日志训练一个共享的最优个性化搜索模型,然后为每个用户克隆一个最优个性化搜索模型,上线后,根据各用户的查询记录为对应用户的个性化搜索模型进行实时更新,生成各用户的个性化搜索模型。
用户的个人搜索过程可以看做用户与搜索引擎之间的一系列动态交互,在这个过程中用户的兴趣是动态变化的。为了能够密切跟踪用户的整个搜索过程,捕捉动态的用户兴趣并且实时地更新模型以适应这种动态变化的兴趣,本发明设计了一个基于强化学习的个性化搜索模型。这个模型利用一个分层的马尔科夫决策过程来对用户的搜索进行建模,跟踪用户的搜索过程并利用用户的实时点击反馈来更新个性化排序模型,非常适用于用户兴趣动态变化的情况。本发明也使用来自真实商业搜索引擎的查询日志训练和验证本发明的模型,结果表明基于强化学习的个性化搜索模型相比于以前的静态模型在搜索结果个性化这个任务上有很大的效果提升。目前,本发明仅仅考虑了点击反馈这一种简单的交互信息用以训练模型,接下来本发明会挖掘更多交互过程中的用户行为来更好地训练模型。
以上给出一种具体的实施方式,但本发明不局限于所描述的实施方式。本发明的基本思路在于上述方案,对本领域普通技术人员而言,根据本发明的教导,设计出各种变形的模型、公式、参数并不需要花费创造性劳动。在不脱离本发明的原理和精神的情况下对实施方式进行的变化、修改、替换和变形仍落入本发明的保护范围内。
1.一种基于强化学习的个性化搜索方法,其特征在于包括以下步骤:
1)建立基于强化学习的个性化搜索模型;
2)基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到最优个性化搜索模型;
3)采用最优个性化搜索模型对线上用户的查询过程进行动态跟踪,根据各用户新的查询日志对最优个性化搜索模型进行持续更新,使得更新后的最优个性化搜索模型能够生成符合相应用户兴趣的个性化搜索结果。
2.如权利要求1所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤1)中,建立所述基于强化学习的个性化搜索模型的方法,包括以下步骤:
1.1)用符号将个性化搜索问题描述为一个强化学习的交互过程;
1.2)采用马尔科夫决策过程为描述的交互过程进行建模,得到的分层mdp即为个性化搜索模型,其中,分层mdp包括上层mdp和下层mdp,且上层mdp以查询和文档列表为单位与用户进行交互,下层mdp以文档对为单位训练模型;
1.3)根据建立的个性化搜索模型,确定该个性化搜索模型所对应的五元组以及个性化排序模型。
3.如权利要求2所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤1.1)中,用符号将个性化搜索问题描述为一个强化学习的交互过程的方法,包括以下步骤:
1.1.1)确定当前时刻t的交互中,个性化搜索引擎面对的当前环境{qt,dt,ht},其中,qt为用户u在智能体中输入的新查询;dt为非个性化的搜索引擎根据该新查询返回的候选文档列表;ht为该用户u之前的搜索历史;
1.1.2)根据当前时刻的环境{qt,dt,ht},个性化搜索引擎利用当前的个性化排序模型mt基于用户的搜索历史ht和输入的查询qt对候选文档列表dt排序,生成个性化的排序列表d′t返回给用户u;
1.1.3)将用户u根据该个性化的排序列表d′t进行的点击情况作为反馈rt,返回给个性化搜索引擎;
1.1.4)个性化搜索引擎基于反馈rt将当前的个性化排序模型mt更新为mt 1,当用户输入新的查询qt 1时,当前环境{qt,dt,ht}更新为{qt 1,dt 1,ht 1},其中,ht 1为下一时刻t 1的交互时的搜索历史,且ht 1=ht {qt d′t};qt 1为下一时刻t 1用户u输入的查询;dt 1为下一时刻t 1的候选文档列表;
1.1.5)重复步骤1.1.2)~1.1.4),基于用户的动态反馈持续地对个性化排序模型进行更新直到收敛至最优。
4.如权利要求2所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤1.3)中,所述个性化搜索模型所对应的五元组为
关于状态s:
上层mdp在当前时刻t所对应的状态为st={ht,qt,dt,pt},其中,qt为用户输入的查询;dt为待排序文档的集合;ht为包含用户兴趣的搜索历史;pt是由候选文档集dt中的文档构成的所有文档对的集合;
下层mdp在当前时刻t所对应的状态
关于行为a:
上层mdp的行为at定义为返回根据个性化得分排序的文档列表d′t;
下层mdp的行为定义为返回一个文档对的相对关系,即行为集合
关于转移函数
上层mdp和下层mdp的转移函数
其中,
关于奖励函数
下层mdp的奖励函数
式中,λi,j=δmap,δmap为交换文档列表中两个文档di和dj交换位置前后文档列表的map的差值;
关于策略π:
上层mdp的策略为:根据各文档的个性化得分对文档列表进行排序,生成个性化的排序列表返回;
下层mdp的策略为:计算各种行为的概率,计算公式为:
式中,
5.如权利要求2所述的一种基于强化学习的个性化搜索方法,其特征在于:所述个性化排序模型用于计算文档的个性化得分,计算公式为:
式中,
6.如权利要求5所述的一种基于强化学习的个性化搜索方法,其特征在于:所述每部分得分的计算方法分别为:
score(d|qt):抽取文档d与当前查询qt之间的相关特征,得到一个特征向量,然后利用一个全连接层综合这些特征向量得到文档与查询的相关性得分;
7.如权利要求1所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤2)中,基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到通用个性化搜索模型的方法,包括以下步骤:
2.1)基于所有用户的历史查询数据,对交互过程进行采样,得到若干组搜索会话所对应的强化学习过程;
2.2)计算各强化学习过程的折扣累积收益gt,并将各强化学习过程进行分割,得到多个单位数据作为训练数据,用于对个性化搜索模型进行训练;
2.3)设置模型优化函数和梯度计算公式,并基于得到的训练数据对个性化搜索模型进行训练,得到最优个性化搜索模型。
8.如权利要求7所述的一种基于强化学习的个性化搜索方法,其特征在于:所属步骤2.2)中,所述折扣累积收益gt的计算公式为:
其中,γ是折扣因子,n是整个强化学习过程的长度,k是一个计数变量。
9.如权利要求7所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤2.3)中,所述参数梯度计算公式为:
其中,j(w)表示优化函数,w表示个性化搜索模型中待训练的参数,
10.如权利要求1所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤3)中,采用最优个性化搜索模型对线上用户的查询过程进行动态跟踪,并根据各用户新的查询日志对最优个性化搜索模型进行持续更新时,包括两种方式:
第一种更新方式:上线后让所有用户均使用该最优个性化搜索模型,然后利用所有用户的查询记录对所述最优个性化搜索模型进行实时更新;
第二种更新方式:为每个用户克隆一个最优个性化搜索模型,上线后,根据各用户的查询记录为对应用户的最优个性化搜索模型进行实时更新,生成各用户的个性化搜索模型。
技术总结