一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于分层强化学习的聚合式搜索排序方法与流程

2021-11-05 21:41:00 来源:中国专利 TAG:


1.本发明涉及分层强化学习方法在聚合式搜索排序技术上的应用,尤其涉及聚合式搜索系统中垂直领域遴选排序、搜索结果遴选排序的方法。


背景技术:

2.在互联网高速发展的今天,人们产生与获取信息的成本正在逐步降低。但也正因如此,“信息过载”颇为常见,如何高效获取有效信息成为了人们广泛关注的问题。传统搜索引擎通常采用网页搜索的方式,返回的页面只包含纯文字的网页信息。这类页面固然包含了有效信息,但其内容形式单一,界面单调,未经聚合整理,往往没有考虑用户对搜索结果类型多样性及对信息条理性的需求。而聚合式搜索则补足了网页搜索的缺点。其返回的页面不仅包含纯文字的网页信息,还会包含对图片、视频等垂直领域的搜索结果。这些搜索结果经过聚合、筛选,以内容块的形式呈现给用户。丰富的异质信息满足了用户多样的需求,提升了用户的检索效率。
3.在聚合式搜索系统中,搜索排序的质量好坏很大程度地影响了页面质量。不好的排序方法给用户呈现大量冗余信息,极大降低用户获取信息的效率;相反,良好的排序方法将给用户带来一个清晰的页面,其中不仅包含充分的相关信息还充分考虑了信息之间的相关性、多样性,提高用户获取信息的效率的同时还能尽可能多的满足不同用户的需求。


技术实现要素:

4.本发明的目的在于解决现有技术中存在的问题,并提供一种基于分层强化学习的聚合式搜索排序方法。
5.本发明具体采用的技术方案如下:
6.一种基于分层强化学习的聚合式搜索排序方法,其步骤如下:
7.s1、从已标注数据中获取包括查询、搜索结果以及垂直领域描述在内的文本信息,得到文本信息的特征表示;
8.s2、基于s1中得到的已标注数据以及已标注数据中文本信息的低维特征表示,构建聚合式搜索排序的模拟器;
9.s3、利用s2中构建的模拟器训练分层强化学习模型;
10.s4、在搜索引擎中,利用s3中训练后的分层强化学习模型确定聚合式搜索排序策略,实现聚合式搜索排序。
11.作为优选,所述s1的具体实现方法如下:
12.s11、获取原始的已标注数据,其中包括文本信息和标注信息,文本信息包括聚合式搜索排序问题场景下的查询、这些查询在垂直领域搜索引擎得到的搜索结果以及各个垂直领域的描述,标注信息为各个垂直领域与查询是否相关的标注以及各个搜索结果与查询的相关度打分;
13.s12、构建并训练doc2vec模型,模型输入为进行预处理后的文本信息,输出为文本
信息对应的低维特征表示;
14.s13、将已标注数据中的文本信息输入训练后的doc2vec模型中,获得已标注数据中的文本信息的低维特征表示。
15.作为优选,所述s12中,文本信息的预处理包括去除停用词和分词。
16.作为优选,所述s2的具体实现方法如下:
17.s21、基于s1中得到的已标注数据以及已标注数据中文本信息的低维特征表示,构建聚合式搜索排序的模拟器;再将该模拟器的输入设定为分层强化学习模型采取的动作action即下一个位置应该选择哪一个搜索结果,模拟器的输出有两个,其中第一个输出为强化学习模型需要的下一个状态,即当前页面搜索结果与垂直领域的排序状态和对应的特征表征、以及可选的搜索结果与垂直领域候选集和对应的特征表征;第二个输出为在强化学习模型做了动作action后获得的奖赏信号,即由模拟器计算得到的评价指标的增值。
18.作为优选,所述s3的具体实现方法如下:
19.利用s2中构建的模拟器训练分层强化学习模型,使其产生合适的排序策略;其中所述分层强化学习模型分为agent和environment两个部分,agent旨在通过与environment的长期交互获得最大的长期累积收益;agent的输入为查询、页面当前状态、待排序的搜索结果与待排序的垂直领域,输出为排序策略;environment为所述模拟器,输入为agent输出的排序策略给出的排序动作action,排序后根据页面情况向agent反馈当次动作的收益以及新的页面、新的待排序搜索结果与垂直领域;不断循环agent和environment之间的交互,直至整个页面排序完毕后,environment会给出新的查询以及搜索结果与垂直领域候选集,agent则进行下一轮的排序。
20.所述agent分为两层及状态表征模块,上层为垂直领域排序器,负责垂直领域的排序,其输入为由状态表征模块编码的查询、已排序的垂直领域、已排序的搜索结果及候选的垂直领域信息,根据当前排序策略选择一个垂直领域,并根据最终反馈的收益,调整排序策略;下层为垂直领域内搜索结果排序器,负责对特定垂直领域内搜索结果进行排序,输入为查询、当前需要排序的垂直领域、在当前垂直领域中已排序的搜索结果以及待排序的搜索结果,根据当前策略选择一个搜索结果作为分配方案交给environment进行实施,并根据反馈的收益,调整排序策略;
21.所述状态表征模块分为encoder和decoder两部分,encoder的每一个时间步输入为查询、当前时间步选择的垂直领域、当前时间步选择的搜索结果的特征的拼接,输出为查询、所有已选择的垂直领域与已排序的搜索结果的低维表示即agent上层强化学习所需要的状态表征,decoder的输入为encoder所得的低维表示,输出为该低维表示的解析结果即encoder输入的近似表达。
22.作为优选,所述agent的上下两层中各个单元采用的强化学习方法为reinforce,q

learning、dqn、dpg或ddpg。
23.作为优选,所述状态表征模块中encoder和decoder两部分均采用lstm结构。
24.作为优选,所述状态表征模块中encoder与decoder一同训练,设定损失函数为输入数据与decoder最终输出的距离,使得decoder的输出尽量逼近输入数据;且该状态表征模块与agent的上层一起训练。
25.相对于现有技术而言,本发明使用分层强化学习方法确定聚合式搜索排序策略,
通过使用分层强化学习,本发明不仅保证了页面中搜索结果与查询的相关性,更考虑了各个内容块及搜索结果之间的相关性,并将本需多个步骤解决的问题化繁为简,用一个端到端的模型解决,由此在提高模型性能的同时降低了其复杂性。
附图说明
26.图1为基于分层强化学习的聚合式搜索排序方法的步骤流程图。
27.图2是分层强化学习模型的模型框架图。
28.图3是分层强化学习模型进行聚合式搜索排序的示意图。
具体实施方式
29.下面结合附图和具体实施方式对本发明做进一步阐述和说明。
30.本发明首先通过doc2vec模型对查询、搜索结果等进行表征,之后再利用人工标注数据构建聚合式搜索排序模拟器;接着,在模拟器中运用分层强化学习方法确定具体排序,并根据人工标注判断得到的页面质量的好坏并调整排序策略,直到得到一个充分调整的策略;最后将其应用于真实的聚合式搜索排序应用中。
31.如图1所示,在本发明的一个较佳实施例中,提供了一种基于分层强化学习的聚合式搜索排序方法,其步骤如下述s1~s4所示:
32.s1、从已标注数据中获取包括查询、搜索结果以及垂直领域描述在内的文本信息,得到文本信息的特征表示。
33.在本实施例中,下面对上述步骤s1的具体实现方法描述如下:
34.s11、获取原始的已标注数据,其中包括文本信息和标注信息,文本信息包括聚合式搜索排序问题场景下的查询、这些查询在垂直领域搜索引擎得到的搜索结果以及各个垂直领域的描述,标注信息为各个垂直领域与查询是否相关的标注以及各个搜索结果与查询的相关度打分。
35.s12、构建doc2vec模型,模型输入为进行预处理(包括去除停用词和分词等)后的文本信息,输出为文本信息对应的低维特征表示。训练doc2vec模型:设定输入为进行去除停用词、分词等预处理后的原始数据,设定损失函数为给定周围词后模型预测得到的词与实际需预测词的距离,使得doc2vec的输出能尽量表示出原始数据的意义。
36.s13、将已标注数据中的文本信息输入训练后的doc2vec模型中,获得已标注数据中的文本信息的低维特征表示。doc2vec模型的输出即可视为原始已标注数据的文本信息的低维表示。
37.s2、基于s1中得到的已标注数据以及已标注数据中文本信息的低维特征表示,构建聚合式搜索排序的模拟器。
38.在本实施例中,下面对上述步骤s2的具体实现方法描述如下:
39.s21、基于s1中得到的已标注数据以及已标注数据中文本信息的低维特征表示,构建聚合式搜索排序的模拟器。构建的模拟器的作用是为了后续对分层强化学习模型进行训练,因此需再将该模拟器的输入设定为分层强化学习模型采取的动作action即下一个位置应该选择哪一个搜索结果,模拟器的输出有两个,其中第一个输出为强化学习模型需要的下一个状态,下一个状态即代表两部分,第一部分是当前页面搜索结果与垂直领域的排序
状态和对应的特征表征,第二部分是可选的搜索结果与垂直领域候选集和对应的特征表征;第二个输出为在强化学习模型做了动作action后获得的奖赏信号,即由模拟器计算得到的评价指标的增值。
40.s3、利用s2中构建的模拟器训练分层强化学习模型。
41.在本实施例中,下面对上述步骤s3的具体实现方法描述如下:
42.利用s2中构建的模拟器训练分层强化学习模型,使其产生合适的排序策略。
43.其中分层强化学习模型分为agent和environment两个部分,agent旨在通过与environment的长期交互获得最大的长期累积收益;agent的输入为查询、页面当前状态、待排序的搜索结果与待排序的垂直领域,输出为排序策略;environment为所述模拟器,输入为agent输出的排序策略给出的排序动作action,排序后根据页面情况向agent反馈当次动作的收益以及新的页面、新的待排序搜索结果与垂直领域。新的页面即前述第一部分的当前页面搜索结果与垂直领域的排序状态和对应的特征表征,新的待排序搜索结果与垂直领域即第二部分的可选的搜索结果与垂直领域候选集。上述agent和environment之间的每一次循环交互,就得到了一个搜索结果,因此不断循环agent和environment之间的交互,直至整个页面排序完毕后,environment会给出新的查询以及搜索结果与垂直领域候选集,agent则进行下一轮的排序。
44.另外,上述agent分为两层及状态表征模块,上层为垂直领域排序器,负责垂直领域的排序,其输入为由状态表征模块编码的查询、已排序的垂直领域、已排序的搜索结果及候选的垂直领域信息,根据当前排序策略选择一个垂直领域,并根据最终反馈的收益,调整排序策略;下层为垂直领域内搜索结果排序器,负责对特定垂直领域内搜索结果进行排序,输入为查询、当前需要排序的垂直领域、在当前垂直领域中已排序的搜索结果以及待排序的搜索结果,根据当前策略选择一个搜索结果作为分配方案交给environment进行实施,并根据反馈的收益,调整排序策略。
45.另外,agent中所包含的状态表征模块分为encoder和decoder两部分,encoder和decoder两部分均可采用lstm结构。encoder的每一个时间步输入为查询、当前时间步选择的垂直领域、当前时间步选择的搜索结果的特征的拼接,输出为查询、所有已选择的垂直领域与已排序的搜索结果的低维表示即agent上层强化学习所需要的状态表征,decoder的输入为encoder所得的低维表示,输出为该低维表示的解析结果即encoder输入的近似表达。encoder的输出即可视为agent上层的状态表征。
46.上述分层强化学习模型的结构具体亦可参见图2所示,图中表示上层t时间步时agent上层的状态,o
t
表示上层t时间步时agent上层做出的action,表示上层t时间步时agent上层得到的收益(reward),表示在上层t时间步中下层第j个时间步时agent下层的状态,a
t,0
表示在上层t时间步中下层第j个时间步时agent下层做出的action,表示在上层t时间步中下层第j个时间步时agent下层收到的收益,q表示查询。
47.另外,agent的上下两层中各个单元均可采用不同的强化学习方法,如reinforce,q

learning、dqn、dpg或ddpg等。
48.在模型训练阶段,上述状态表征模块中encoder与decoder一同训练,设定损失函
数为输入数据与decoder最终输出的距离,使得decoder的输出尽量逼近输入数据。且该状态表征模块与agent的上层一起训练。
49.s4、当该强化学习方法的排序策略已在模拟器中得到充分调整与训练,该排序策略即可应用于真实的搜索引擎上。在搜索引擎中,针对输入的查询,利用s3中训练后的分层强化学习模型确定聚合式搜索排序策略,实现聚合式搜索排序。
50.如图3所示,为本发明的一种聚合式搜索排序的示意图,其中垂直领域分为多类,如纯文本、新闻、百科、图片、视频等等。垂直领域可在相应步长中返回搜索结果,并将其以内容块形式展示于页面中。t
i

j
表示上层第i个时间步中下层的第j个时间步。
51.下面将上述s1~s4所述的基于分层强化学习的聚合式搜索排序方法应用于具体实例中,以展示其具体实现过程和技术效果。
52.实施例
53.上述基于分层强化学习的聚合式搜索排序方法,在本实施例中的具体实现步骤包括如下步骤:
54.1.利用doc2vec获取查询、搜索结果等特征表征。
55.1)获取原始数据,在聚合式搜索排序问题的场景下,这些数据包括查询、这些查询在垂直领域搜索引擎得到的搜索结果、各个垂直领域的描述。
56.2)构建doc2vec模型,其输入为进行去除停用词、分词等预处理后的原始数据,输出为原始数据的低维特征表征。
57.3)训练doc2vec模型。设定输入为进行去除停用词、分词等预处理后的原始数据,设定损失函数为给定周围词后模型预测得到的词与实际需预测词的距离,使得doc2vec的输出能尽量表示出原始数据的意义。
58.4)使用doc2vec模型获得原始数据的低维表示。doc2vec模型的输出即可视为原始数据的低维表示。
59.2.构建聚合式搜索排序模拟器。
60.5)获取各个查询、搜索结果、垂直领域的低维特征表示。通过步骤1)~4),使用训练好的doc2vec模型,输入查询、搜索结果、垂直领域的原始文本数据,获得低维特征表示。并从标注数据集中获取各个垂直领域与查询是否相关的标注数据及各个搜索结果与查询的相关度打分。
61.6)构建聚合式搜索排序的模拟器,该模拟器的输入设定为标注数据及其特征、强化学习模型采取的动作action即下一个位置应该选择哪一个搜索结果;其输出有两个,其一为强化学习模型需要的下一个状态,即当前页面搜索结果与垂直领域的排序状态、它们的特征表征、可选的搜索结果与垂直领域候选集、它们特征表征;其二为在强化学习模型做了这个动作后获得的奖赏信号,即由模拟器计算得到的f1、ndcg、ndcg

ia这三个指标的增值。
62.3.确定聚合式搜索排序策略。
63.7)构建聚合式搜索排序模拟器。使用步骤5)~6)得到用于训练分层强化学习排序策略的模拟器。
64.8)构建agent中的状态表征模块。状态表征模块分为encoder和decoder两部分,这两部分都选用rnn的结构。encoder的每一个时间步输入为查询、当前时间步选择的垂直领
域、当前时间步选择的搜索结果的特征的拼接,输出为查询、所有已选择的垂直领域与已排序的搜索结果的低维表示即agent上层强化学习所需要的状态表征,decoder的输入为encoder所得的低维表示,输出为该低维表示的解析结果,亦即encoder输入的近似表达。encoder的输出即可视为agent上层的状态表征。
65.9)获取查询、已排序垂直领域、垂直领域候选集、已排序搜索结果的特征表征。从模拟器即environment中获取查询、已排序垂直领域、垂直领域候选集、已排序搜索结果的特征表征。
66.10)获取agent上层的输入即状态表征。将查询、垂直领域、搜索结果的表征输入步骤8)构建的状态表征模块中的encoder中,得到agent上层的状态表征
67.11)agent上层确定排在当前位置的垂直领域。将步骤10)得到的状态表征作为agent上层的输入,agent的上层根据其现有的策略决定当前位置应该放置哪一个垂直领域,即决定了该位置放置了哪一类内容块。
68.12)agent下层确定排在该内容块当前位置的搜索结果。根据步骤11)中agent上层确定的垂直领域,将查询、当前需要排序的垂直领域、在当前垂直领域中已排序的搜索结果以及待排序的搜索结果的表征拼接后作为agent下层的输入。agent下层根据其现有的策略决定在该内容块中的当前位置应该放置哪一个搜索结果。
69.13)environment计算搜索结果排序收益。environment得到agent下层选择的搜索结果,确定内容块当前位置的搜索结果,根据排序好坏,计算放置该搜索结果的收益,返回给agent。
70.14)重复步骤12)~13),直到当前内容块排序完成。
71.15)调整agent下层排序策略。根据environment返回的各步骤的收益,调整agent下层的排序策略,使得新策略能尽可能提高排序收益。
72.16)environment计算内容块排序收益。environment得到agent下层和上层决定的内容块的类别和搜索结果,确定完成这个内容块排序后收益,返回给agent。
73.17)重复步骤10)~16),直到整个页面完成排序。
74.18)调整agent上层排序策略。根据environment返回的各步骤的收益,调整agent上层的排序策略,使得新策略能尽可能提高排序收益。
75.19)训练agent中的状态表征模块。encoder与decoder一同训练,设定损失函数为输入数据与decoder最终输出的距离,使得encoder

decoder的输出尽量逼近输入数据。
76.20)重复步骤9)~19),直到agent中的强化学习策略调整完全,即其在模拟器中的表现比较稳定。
77.21)将得到的agent的策略应用到实际的聚合式搜索系统中。
78.agent的两层均可采用不同的强化学习方法,此处均采用reinforce为例。
79.每个单元内部的神经网络可视为策略网络π
θ
(a|s),s为当前的输入,θ为这个网络的参数。输出为a,即为一种选择,即评估当前输入下,选择每个a的概率。通过设定损失函数
[0080][0081]
其中q为价值函数,即评估输入s与a后得到的累计收益。该损失函数可以根据累计收益调整策略网络,从而使得策略能获得更高的收益,有更优秀的表现。
[0082]
为了检验该发明提出模型的有效性,我们将模型在两个公开数据集:fedweb13与
fedweb14上进行实验。这两个数据集分别是trec在2013年与2014年联合搜索比赛时提供的数据。每一年的数据集中都包含50个不同的查询。主办方将这50个查询依次分发给150个分属于24个垂直领域的子搜索引擎。每个搜索引擎会给出每个查询的前10个搜索结果,而每个搜索结果都会交由人类专家进行评判,由专家给出5个等级的相关度打分。
[0083]
为了证明上述模型的有效性,引入6个基线模型,均为传统三阶段流水线式模型。为了方便理解,下面分别介绍各子任务选用模型以及它们的组合方式。
[0084]
垂直领域选择子任务(vs):由于该任务通常被建模成为二分类问题,本实施例使用神经网络实现的二分类器(binary classifier,简称bc)解决该子任务。该二分类器会对每一个垂直领域进行一次判断,决定当前给出的垂直领域是否应该出现在该查询对应的serp上。
[0085]
垂直领域内结果排序任务(ir):该任务为典型的搜索排序问题,目前解决该任务最稳定有效的方法为排序学习(learning to rank,简称ltr)。考虑到文档对式排序模型与文档序列排序模型相较于单文档式排序模型更为有效,本实施例选取了经典的文档对式排序模型ranknet(简称rn)及文档序列排序模型lambdarank(简称lr)作为该子任务的解决方法。除了ltr方法,强化学习方法也在ir问题上有所应用,因此本实施例也选取了利用通用的排序问题mdp建模思路,采用了reinforce强化学习算法实现的排序模型作为解决ir问题的模型。
[0086]
全局结果排序任务(rp):在本实施例的问题定义框架下,该任务也可以被视为排序问题,ltr方法同样适用于该问题。本实施例同样选用ranknet(简称rn)与lambdarank(简称lr)这两种ltr模型作为基线模型。该任务模型与ir任务模型的区别之处主要在于训练数据的不同。不同于上一个任务用同一个垂直领域内的条目作为训练数据,该任务将来自同一垂直领域内的条目组成内容块,以这些条目与查询相关度的均值作为该内容块与查询的相关度,以此作为训练数据对ltr模型进行训练。
[0087]
由于基线模型涉及的模型较多,本实施例后续描述中采用了缩写,现将缩写列出如表1。
[0088]
表1:缩写说明表
[0089][0090]
由于基线模型都为三阶段式流水线模型,排列组合可得到6个不同的基线模型,基线模型的组件如表格2所示。
[0091]
表2:基线模型名称与组成组件
[0092][0093]
基线模型中ltr部分都采用ltr的pytorch实现pt

ranking完成。
[0094]
本发明提出模型使用的超参见表格3:
[0095]
表3:模型超参表
[0096]
超参名称参数值优化算法adam学习率α
h
1e

4策略网络层数2隐藏状态维度128折扣因子γ0.99
doc2vec特征向量维度100f1占奖赏比例α0.5迭代次数n50000serp包含的结果数量20内容块中包含的结果数量m3
[0097]
模型与基线模型的对比:其中hrl
as
wir表示本发明的分层强化学习模型,hrl
as
表示本发明的模型除去状态表征模块,其具体表现见下表格4、表格5:
[0098]
表4:fedweb13上hrlas wir与基线模型性能对比
[0099][0100]
表5:fedweb14上hrlas wir与基线模型性能对比
[0101][0102]
由表中可以得到以下分析结果:
[0103]
1.本发明中引入状态表征模块可为hrl
as
模型带来性能提升。本发明提出的hrl
as
wir的f1指标在fedweb13与fedweb14上都是最高的。而ndcg指标是表现最为一般的指标,hrl
as
wir虽然在fedweb14数据集上的ndcg已达到所有模型的最高值,但在fedweb13数据集上的ndcg仍没能超过流水线式模型,这一方面是因为下层rl算法效果一般,还有一方面也是因为ndcg指标代表的只是相关度一个方面,而本发明在模型训练时为了较为平均地优化各指标,并没有强调ndcg。本发明提出的hrl
as
wir在ndcg

ia指标上地表现也不错,仅在fedweb13上比最高的ndcg

ia@10值略低0.2,在fedweb14上ndcg

ia@10比第二高的bc
vs
lr
ir
lr
rp
模型高1个点,而ndcg

ia@20则都取得了所有模型中的最高值。
[0104]
2.对比hrl
as
wir模型与hrl
as
模型,本发明提出的hrl
as
wir模型在两个数据集上都优于hrl
as
。仅观察最重要的衡量serp两个方面的ndcg

ia指标,无论在哪个数据集上,wir表征都为模型带来了1个点左右的提升。这说明下层rl的决策信息会影响上层决策,且带来好的效果。这也印证了聚合式搜索排序问题的各个子任务之间存在相关性,而能够利用它们之间相关性的上下层信息沟通顺畅的hrl框架可以为模型性能带来增益。
[0105]
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献