一种基于强化学习的个性化搜索方法与流程

专利2022-06-30  109


本发明涉及一种基于强化学习的个性化搜索方法,属于数据挖掘领域。



背景技术:

在日常生活中,搜索引擎的应用越来越广泛,人们对于搜索结果的要求也越来越高。搜索结果个性化对于有歧义的查询来说非常重要,针对同一个查询为具有不同兴趣爱好的用户返回不同的搜索结果可以极大地提升用户使用搜索引擎的体验。

个性化搜索是为了解决用户输入的查询具有歧义这一普遍存在的问题而提出的,主要是基于用户的兴趣针对同一个查询为不用的用户返回不一样的检索结果。那么,实现个性化搜索的关键就在于如何挖掘用户的兴趣并为用户建立兴趣画像。目前建立用户兴趣画像的方法有很多,根据用户兴趣画像是否是基于学习获得可以将现有方法分为以下两大类:传统个性化搜索模型和基于学习的个性化搜索模型。

传统的个性化搜索模型主要采用两种方法来获得用户兴趣画像。一种是利用话题模型(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所对应的状态其中是当前时刻t个性化搜索模型需要判断相对关系的文档对;

关于行为a:

上层mdp的行为at定义为返回根据个性化得分排序的文档列表d′t;

下层mdp的行为定义为返回一个文档对的相对关系,即行为集合其中,di和dj分别为一个文档对中的两个文档;

关于转移函数

上层mdp和下层mdp的转移函数分别为:

其中,为下层mdp在t 1时刻的状态,为下层mdp在t时刻的状态,为下层mdp在t时刻对应采取的行为,为模型在t 1时刻需要判断相对关系的文档对集合,st 1为上层mdp在t 1时刻的状态,qt 1为下一时刻t 1用户输入的新查询,dt 1为下一时刻t 1的候选文档列表,pt 1是由候选文档集dt 1中的文档构成的所有文档对的集合;

关于奖励函数

下层mdp的奖励函数为:

式中,λi,j=δmap,δmap为交换文档列表中两个文档di和dj交换位置前后文档列表的map的差值;

关于策略π:

上层mdp的策略为:根据各文档的个性化得分对文档列表进行排序,生成个性化的排序列表返回;

下层mdp的策略为:计算各种行为的概率,计算公式为:

式中,是文档di和dj的个性化得分,由个性化排序模型计算得到;是在状态下选择行为的概率;f′(a)是行为a对应的文档相对关系中相关文档得分与不相关文档的分差;exp(f′(a))是对分差f′(a)取指数。

进一步的,所述个性化排序模型用于计算文档的个性化得分,计算公式为:

式中,是一个全连接层,d是候选文档列表dt中任一文档,ht是用户的查询历史,qt是用户的当前查询,为个性化搜索模型当前需要判断相对关系的文档对集合,score()分别为对应三部分的相关性得分,且score(d|qt)为文档d与当前查询的相关性得分,为文档d与短期用户兴趣的相关性得分,为文档d与长期用户兴趣的相关性得分,是用户的长期查询历史,为用户的短期查询历史。

进一步的,所述每部分得分的计算方法分别为:

score(d|qt):抽取文档d与当前查询qt之间的相关特征,得到一个特征向量,然后利用一个全连接层综合这些特征向量得到文档与查询的相关性得分;

首先,将一个搜索会话看做短期,其中的每个查询用查询和点击文档的向量联合起来表示;其次,将所有查询的向量经过一个循环神经网络,取最后一个状态的输出作为这个搜索会话下用户的短期兴趣向量;最后,通过计算文档向量和短期兴趣向量的余弦相似度获得相关性得分;

首先,将所有的短期兴趣向量经过一个上层的循环神经网络以及一个注意力机制层得到用户的长期兴趣向量;然后,通过计算余弦相似度获得文档与长期用户兴趣之间的相关性得分。

进一步的,所述步骤2)中,基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到通用个性化搜索模型的方法,包括以下步骤:

2.1)基于所有用户的历史查询数据,对交互过程进行采样,得到若干组搜索会话所对应的强化学习过程;

2.2)计算各强化学习过程的折扣累积收益gt,并将各强化学习过程进行分割,得到多个单位数据作为训练数据,用于对个性化搜索模型进行训练;

2.3)设置模型优化函数和梯度计算公式,并基于得到的训练数据对个性化搜索模型进行训练,得到最优个性化搜索模型。

进一步的,所述步骤2.2)中,所述折扣累积收益gt的计算公式为:

其中,γ是折扣因子,n是整个强化学习过程的长度,k是一个计数变量。

进一步的,所述参数梯度计算公式为:

其中,j(w)表示优化函数,w表示个性化搜索模型中待训练的参数,表示优化函数对个性化搜索模型中所有参数的梯度,gt是t时刻开始的折扣累积收益,log表示对数函数,π(at|st;w)表示在状态st下选择行为at的概率。。

进一步的,所述步骤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的行为集合定义为:其中,di和dj分别为一个文档对中的两个文档。

1.3.3)转移函数转移函数能够在采取行为at的情况下将一个状态转移到另一个状态,在分层的mdp中转移函数也分为两层。

对于上层的mdp来说,个性化搜索引擎向用户返回排好序的个性化文档列表d′t,用户浏览点击后,当前查询qt和相关的点击情况被加入到用户的查询历史ht中。当用户输入下一个查询qt 1时,转移到下一个状态。

对于下层的mdp来说,则是前后两个文档对之间的转移,具体的转移函数公式如下:

其中,为下层mdp在t 1时刻的状态,为下层mdp在t时刻的状态,为下层mdp在t时刻对应采取的行为,为模型在t 1时刻需要判断相对关系的文档对集合,st 1为上层mdp在t 1时刻的状态,qt 1为下一时刻t 1用户输入的新查询,dt 1为下一时刻t 1的候选文档列表,pt 1是由候选文档集dt 1中的文档构成的所有文档对的集合。

1.3.4)奖励函数

在强化学习中,奖励是环境对于agent当前采取的行为做出的反馈,也是训练和更新模型的主要依据。由于数据的限制,本发明采用文档对的形式来训练模型,因此本发明参考pairwise的ltr模型lambdarank来设计模型中的奖励函数在lambdarank算法中,有一个λ矩阵,其中每个元素λi,j表示交换文档列表中的两个文档di和dj对于某个评价指标带来的损失,损失的大小和正负可以用来反映文档对中文档之间的相对关系,在本发明中,我们取λi,j=δmap,即di和dj交换位置前后文档列表的map的差值。本发明采用λ矩阵的绝对值作为奖励基础,模型如果对文档对的相对关系判断正确则给与正的λi,j作为奖励,反之给与负的λi,j,即奖励函数为:

式中,λi,j=δmap,δmap为交换文档列表中两个文档di和dj交换位置前后文档列表的map的差值。

1.3.5)策略(p):π(a|s)∶axs→[0,1]是基于当前状态得到的一个行为空间上的概率分布,用于指导agent当前的行为。

对于上层的mdp来说,其行为策略为:根据各文档的个性化得分对文档列表进行排序,生成个性化的排序列表返回。

对于下层的mdp来说,其行为策略为:定义每个行为对应两个文档一种可能的相对关系,参考pairwise的损失函数,按照如下公式计算各种行为(相对关系)的概率:

其中,是文档di和dj的个性化得分,由个性化排序模型计算得到;是在状态下选择行为的概率;f′(a)是行为a对应的文档相对关系中相关文档得分与不相关文档的分差;exp(f′(a))是对分差f′(a)取指数。

1.3.6)个性化排序模型

在本发明的个性化搜索模型中,需要一个排序模型用于对用户兴趣进行建模并计算文档的个性化得分,可以是任意一个基于学习的个性化排序模型。在这里,本发明选择目前表现最优的深度个性化排序模型hrnn。在hrnn模型中,用户的查询历史ht被分割为长期历史和短期历史,即分别用于反映用户的长期兴趣和短期兴趣。而候选文档列表dt中任一文档d的个性化得分也由三部分相关性决定,计算公式如下:

其中,是一个全连接层,score()分别对应三部分的相关性得分,即:score(d|qt)为文档与当前查询的相关性得分,为文档与短期用户兴趣的相关性得分,为文档与长期用户兴趣的相关性得分;每部分得分的计算方法分别为:

score(d|qt):本发明参考sltb模型抽取文档d与查询之间的相关特征,得到一个特征向量,然后利用一个全连接层综合这些特征向量得到文档与查询的相关性得分。

首先,将一个搜索会话(session)看做短期,其中的每个查询用查询和点击文档的向量联合起来表示;其次,将会话中所有查询的向量通过一个循环神经网络(rnn),取最后一个状态的输出作为这个搜索会话下用户的短期兴趣向量;最后,通过计算文档向量和短期兴趣向量的余弦相似度获得短期兴趣的相关性得分。

首先,将所有的短期兴趣向量再经过一个上层的循环神经网络(rnn)以及一个注意力机制层得到用户的长期兴趣向量;然后,通过计算余弦相似度获得文档与长期用户兴趣之间的相关性得分。其中,循环圣经网络层以及注意力机制层的构建都是本领域技术人员公知技术,本发明在此不再赘述。

上述步骤2)中,基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对建立的个性化搜索模型进行训练,得到通用个性化搜索模型的方法,包括以下步骤:

2.1)基于所有用户的历史查询数据,对交互过程进行采样,得到若干组搜索会话所对应的强化学习过程(episode)。

为了获得训练数据,本发明需要先对交互过程进行采样。本发明以搜索会话sm作为mdp的一个过程(episode)。对于上层交互中的每一个查询qt,本发明都可以从其返回的文档列表d′t中获得一系列的文档对。对于下层mdp中的每一步t,本发明首先计算策略然后基于策略采样行为来决定文档对中两个文档的相对关系,并且根据用户的点击反馈计算λ矩阵得到当前行为的奖励rt。当前查询下的所有文档对判断结束后,进入下一个查询qt 1。直到这个搜索会话结束,本发明能够采样得到一个episode,n是会话sm下查询的数量。为了便于后续的描述,本发明将上下标的表示简化,得到e=(s1,a1,r1,s2,…,sn,an,rn 1),其中si,ai,ri分别表示一个状态,行为和对应获得的奖励,i=1,2,…,n 1。

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)可以推断出参数的梯度计算公式如下:

其中,表示优化函数对模型中所有参数的梯度,gt是t时刻开始的折扣累积收益,表示对参数w计算的梯度,log表示对数函数,π(at|st;w)表示在状态st下选择行为at的概率。我们通过计算梯度并利用梯度来对个性化搜索模型中的参数进行更新,直到模型达到最优。

上述模型训练整体的训练算法用伪代码表示如下:

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,a,π分别表示状态,行为,转移函数,奖励函数和策略;

关于状态s:

上层mdp在当前时刻t所对应的状态为st={ht,qt,dt,pt},其中,qt为用户输入的查询;dt为待排序文档的集合;ht为包含用户兴趣的搜索历史;pt是由候选文档集dt中的文档构成的所有文档对的集合;

下层mdp在当前时刻t所对应的状态其中是当前时刻t个性化搜索模型需要判断相对关系的文档对;

关于行为a:

上层mdp的行为at定义为返回根据个性化得分排序的文档列表d′t;

下层mdp的行为定义为返回一个文档对的相对关系,即行为集合其中,di和dj分别为一个文档对中的两个文档;

关于转移函数

上层mdp和下层mdp的转移函数分别为:

其中,为下层mdp在t 1时刻的状态,为下层mdp在t时刻的状态,为下层mdp在t时刻对应采取的行为,为模型在t 1时刻需要判断相对关系的文档对集合,st 1为上层mdp在t 1时刻的状态,qt 1为下一时刻t 1用户输入的新查询,dt 1为下一时刻t 1的候选文档列表,pt 1是由候选文档集dt 1中的文档构成的所有文档对的集合;

关于奖励函数

下层mdp的奖励函数为:

式中,λi,j=δmap,δmap为交换文档列表中两个文档di和dj交换位置前后文档列表的map的差值;

关于策略π:

上层mdp的策略为:根据各文档的个性化得分对文档列表进行排序,生成个性化的排序列表返回;

下层mdp的策略为:计算各种行为的概率,计算公式为:

式中,是文档di和dj的个性化得分,由个性化排序模型计算得到;是在状态下选择行为的概率;f′(a)是行为a对应的文档相对关系中相关文档得分与不相关文档的分差;exp(f′(a))是对分差f′(a)取指数。

5.如权利要求2所述的一种基于强化学习的个性化搜索方法,其特征在于:所述个性化排序模型用于计算文档的个性化得分,计算公式为:

式中,是一个全连接层,d是候选文档列表dt中任一文档,ht是用户的查询历史,qt是用户的当前查询,为个性化搜索模型当前需要判断相对关系的文档对集合,score()分别为对应三部分的相关性得分,且score(d|qt)为文档d与当前查询的相关性得分,为文档d与短期用户兴趣的相关性得分,为文档d与长期用户兴趣的相关性得分,是用户的长期查询历史,为用户的短期查询历史。

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表示个性化搜索模型中待训练的参数,表示优化函数对个性化搜索模型中所有参数的梯度,gt是t时刻开始的折扣累积收益,log表示对数函数,π(at|st;w)表示在状态st下选择行为at的概率。

10.如权利要求1所述的一种基于强化学习的个性化搜索方法,其特征在于:所述步骤3)中,采用最优个性化搜索模型对线上用户的查询过程进行动态跟踪,并根据各用户新的查询日志对最优个性化搜索模型进行持续更新时,包括两种方式:

第一种更新方式:上线后让所有用户均使用该最优个性化搜索模型,然后利用所有用户的查询记录对所述最优个性化搜索模型进行实时更新;

第二种更新方式:为每个用户克隆一个最优个性化搜索模型,上线后,根据各用户的查询记录为对应用户的最优个性化搜索模型进行实时更新,生成各用户的个性化搜索模型。

技术总结
本发明涉及一种基于强化学习的个性化搜索方法,其特征在于包括以下步骤:建立的基于强化学习的个性化搜索模型,基于所有用户的历史查询数据,采用强化学习中的策略梯度算法对个性化搜索模型进行训练,得到最优个性化搜索模型;采用最优个性化搜索模型对线上用户的查询过程进行动态跟踪,根据各用户新的查询日志对最优个性化搜索模型进行持续更新,使得更新后的最优个性化搜索模型能够生成符合相应用户兴趣的个性化搜索结果。本发明利用强化学习来解决个性化搜索的问题,通过跟踪用户查询的整个过程,更好地学习动态变化的用户兴趣并实时地更新排序模型以适应这种动态的用户兴趣。本发明可以广泛应用于个性化搜索领域。

技术研发人员:窦志成;姚菁;文继荣
受保护的技术使用者:中国人民大学
技术研发日:2020.01.21
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56771.html

最新回复(0)