CN112966096B - 一种基于多任务学习的云服务发现方法 - Google Patents

一种基于多任务学习的云服务发现方法 Download PDF

Info

Publication number
CN112966096B
CN112966096B CN202110371604.7A CN202110371604A CN112966096B CN 112966096 B CN112966096 B CN 112966096B CN 202110371604 A CN202110371604 A CN 202110371604A CN 112966096 B CN112966096 B CN 112966096B
Authority
CN
China
Prior art keywords
query
service description
description document
vector
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110371604.7A
Other languages
English (en)
Other versions
CN112966096A (zh
Inventor
曾骏
于扬
姚娟
文俊浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei Central China Technology Development Of Electric Power Co ltd
Original Assignee
Chongqing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN202110371604.7A priority Critical patent/CN112966096B/zh
Publication of CN112966096A publication Critical patent/CN112966096A/zh
Application granted granted Critical
Publication of CN112966096B publication Critical patent/CN112966096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于多任务学习的云服务发现方法,该方法构建了一个构建PDAML模型,PDAML模型由ad‑hoc模块和个性化模块构成,通过所述ad‑hoc模块负责理解服务请求者查询意图并对候选服务计算排名得分,通过所述个性化模块得到一个表示服务请求者的兴趣特征的得分,对PDAML模型进行训练更新参数,对于一个服务请求者的当前查询,将ad‑hoc模块计算的当前查询对应的候选服务描述文档的得分和当前查询对应的候选服务描述文档的个性化排名得分送入一个MLP层中得到最终的排名得分,按照最终排名得分的由高到低的顺序进行候选服务描述文档推荐。通过在公开可用的AOL数据集上进行实验表明,本发明方法较以往的方法有显著的性能提升,获得了最新的结果。

Description

一种基于多任务学习的云服务发现方法
技术领域
本发明涉及云服务发现领域,特别涉及一种基于个性化动态注意力和多任务学习模型的云服务发现方法。
背景技术
云服务查询是信息检索研究中的一个核心问题,其目的是学习一个评分函数来确定服务描述文档与服务请求方查询的相关程度,传统的解决方案如:基于概率检索的算法BM25和建立各种排序模型lamdamark等。近年来,基于深度神经网络的模型在检索领域得到了应用,并取得了一些重要进展。许多深层模型都遵循这样的模式:首先将整个句子表示成一个单一的分布式表示,然后计算两个向量之间的相似度来输出匹配分数。例如:DSSM,CDSMM,ARC-I等,这些方法旨在返回给服务请求者查询最相关的服务,却忽略了服务请求者信息。在真实的检索场景中,不同的服务请求者发布相同的查询可能表达的是不同的检索意图,例如:针对服务请求者的查询“google”,一些服务请求者希望得到有关“google”地图的信息(google map API),一些服务请求者却希望检索“google”浏览器(google searchAPI),所以为所有服务请求者的相同查询返回同一服务描述文档列表并不是一个最好的服务发现策略。
针对这种问题目前提出的一个解决方案是为服务请求者的偏好进行建模,并以此为基础确定被检索的服务描述文档与服务请求者发出的查询的个性化关联程度。具体来说,服务请求者查询日志被划分为几个搜索session,它记录了同一服务请求者在一段时间间隔内(如30分钟)发出的查询和其点击的服务描述文档。搜索session提供了关于服务请求者查询意图的丰富上下文信息,根据这些服务请求者行为信息,学习服务请求者偏好,为不同的服务请求者制定符合最佳策略的服务描述文档列表。以往的工作采用统计学方法在服务搜索引擎日志中提取服务请求者偏好特征(如点击数,主题,点击熵等),并融入到相关性计算当中,但是这些特征通常是人工设计的,不但存在稀疏性特征,而且效率低下,检索性能也很不稳定。还有一些是采用深度学习的方法自动学习服务请求者的行为特征,利用上下文信息对服务请求者偏好进行建模,并从编码序列中学习服务请求者偏好,但是这些方法忽略了服务请求者兴趣变化的序列关系,这些方法将服务请求者上下文进行统一编码,并没有单独考虑长期偏好还是短期偏好对其兴趣产生的影响,这将导致不能充分理解服务请求者意图。另外,现有的神经检索方法在建模时大多没有考虑查询与服务描述文档的交互,编码后的查询和服务描述文档并不具有语义关联。
发明内容
针对现有技术存在的上述问题,本发明要解决的技术问题是:充分利用服务请求者偏好的行为特征和服务请求者兴趣变化的信息,对查询和服务描述文档进行交互建模,增强对服务请求者查询意图的理解,提高查询结果的准确性。
为解决上述技术问题,本发明采用如下技术方案:一种基于多任务学习的云服务发现方法,包括如下步骤:
S100:将服务请求者查询活动定义为会话
Figure GDA0003607966190000028
每一个会话Sm由服务请求者在一定时间内按顺序提交给搜索引擎的一系列查询Qm={qm,1,qm,2,…,qm,n},每个查询qm,i由对应的一组候选服务描述文档列表D={dm,1,dm,2,…,dm,k}组成,服务请求者的当前会话SM表示为服务请求者的短期查询历史
Figure GDA0003607966190000021
以前的会话{S1,S2,…,SM-1}表示服务请求者的长期查询历史
Figure GDA0003607966190000022
S200:构建PDAML模型,所述PDAML模型由ad-hoc模块和个性化模块构成;
S210:所述ad-hoc模块包括服务描述文档检索模块,所述服务描述文档检索模块包括六层:
第一层,字符嵌入层:字符嵌入层使用字符级卷积神经网络CNN将组成每个单词的所有字符映射到一个向量空间;
对于查询q和其候选服务描述文档d,假设分别由J和T个单词组成,表示为
Figure GDA0003607966190000029
Figure GDA0003607966190000023
组成每个单词的所有字符分别字符级卷积神经网络CNN转化为字符向量,再将嵌入的字符向量作为卷积神经网络1D卷积的输入,结果经过最大池化max-pooling处理后为每个单词获得固定大小的向量表示
Figure GDA0003607966190000024
其中dc是卷积核的数量;
第二层,词嵌入层:使用预训练的单词向量GloVe将每个单词映射成固定大小的向量;
查询的单词向量和服务描述文档的单词向量分别表示为
Figure GDA0003607966190000025
其中dw表示单词嵌入维度;
字符嵌入和词嵌入完成后,将它们的连接送入一个两层的高速公路网络分别得到表示查询的查询矩阵
Figure GDA0003607966190000026
和表示服务描述文档的服务描述文档矩阵
Figure GDA0003607966190000027
其中,dg是高速公路网络的输出维度大小;
第三层,上下文嵌入层:采用一个双向的循环神经网络Bi-RNN对所述查询矩阵Q和服务描述文档矩阵D进行上下文编码;
将高速公路网络的输出查询矩阵Q和服务描述文档矩阵D作为Bi-RNN的输入,参见公式(2),它将感知上下文信息,得到查询的上下文向量
Figure GDA0003607966190000031
和服务描述文档的上下文向量
Figure GDA0003607966190000032
ht=f(xt,ht-1) (2)
其中,xt为f(·)的输入(Qj或者Dt),
Figure GDA0003607966190000033
h0被初始化为零向量,在我们的模型中,f(·)选择为LSTM;
第四层,双向注意力层:计算查询和服务描述文档的相似度矩阵S∈RT×J,参见公式(3):
Figure GDA0003607966190000034
其中,Q1,j表示Q1的第j列向量,D1,t表示D1的第t列向量,这表明第j个查询中的单词和第t个服务描述文档中的单词之间的相似性,
Figure GDA0003607966190000035
是可学习的参数,⊙运算符表示元素点乘,[;]运算符表示向量连接操作;
计算候选服务描述文档对查询方向的注意力,at∈RJ表示候选服务描述文档中的第t个单词对查询中的单词的注意力权重,根据注意权重为查询生成服务描述文档对查询方向的注意向量
Figure GDA0003607966190000036
具体地:
at=softmax(St:)∈RJ (4)
Figure GDA0003607966190000037
Figure GDA0003607966190000038
表示候选服务描述文档对查询方向的注意向量
Figure GDA0003607966190000039
计算查询对候选服务描述文档方向的注意力,使b∈RT表示查询对候选服务描述文档中的单词的注意权重,根据注意权重为候选服务描述文档生成关注查询的注意向量,这个向量表示候选服务描述文档中与查询中相关的最重要单词的加权和,具体地:
b=sofmaxt(maxj(S))∈RT (6)
Figure GDA00036079661900000310
Figure GDA00036079661900000311
扩展T次即可得到候选服务描述文档对查询的注意力向量
Figure GDA00036079661900000312
最后将候选服务描述文档对查询方向的注意力和查询对候选服务描述文档方向的注意力结合计算得到每个候选服务描述文档中单词的查询感知表示;
将查询的上下文向量Q1,服务描述文档的上下文向量D1,服务描述文档对查询方向的注意向量
Figure GDA0003607966190000041
和候选服务描述文档对查询的注意力向量
Figure GDA0003607966190000042
结合起来生成G:
Figure GDA0003607966190000043
第五层,建模层:采用单层的LSTM,将G映射到
Figure GDA0003607966190000044
输出传递到最后的检索层;
第六层,检索层:通过使用内部注意机制将建模层的输出映射到服务描述文档的排名分数,内部注意机制为候选服务描述文档和查询中的重点单词分配更大的权重,具体地:
M′=tanh(WMM+b′) (9)
β=softmax(WtM′) (10)
Figure GDA0003607966190000045
其中,WM,Wt是可学习的参数,b′是偏置向量,β是注意力权重,所以,
Figure GDA0003607966190000046
是查询和候选服务描述文档的所有信息的总结;
通过一个简单的线性变换计算当前查询对应的候选服务描述文档的排名得分:
Figure GDA0003607966190000047
其中,
Figure GDA0003607966190000048
是权重矩阵。
S220:所述个性化模块的结构为:
将服务请求者当前会话的所有查询与所点击的服务描述文档的连接送入LSTM中学习服务请求者短期偏好,将服务请求者以前会话的所有查询和点击服务描述文档的连接送入LSTM学习长期偏好;
采用注意力机制为长期偏好和短期偏好分配关注权重,获得服务请求者的长期兴趣向量和短期兴趣向量,然后计算服务请求者当前查询对应的候选服务描述文档的个性化排名得分;
S230:训练PDAML模型:采用LambdaRank算法对ad-hoc模块进行成对训练,每对是标注好的一个正样本和一个负样本;
当损失函数的值不再下降时,则认为PDAML模型已经训练好,否则对ad-hoc模块中的参数进行更新,并返回S210,继续训练;
S300:对于一个服务请求者的当前查询,将ad-hoc模块计算的当前查询对应的候选服务描述文档得分的和当前查询对应的候选服务描述文档的个性化排名得分送入一个MLP层中得到最终的排名得分,按照最终排名得分的由高到低的顺序进行候选服务描述文档推荐。
作为改进,所述S200中ad-hoc模块还包括一个查询消歧模块,所述查询消歧模块与服务描述文档检索模块前三层共用,即字符嵌入层,词嵌入层和上下文编码层;
查询编码器:将Bi-LSTM的正向和反向的最后的隐藏单元连接作为查询的上下文编码:
Figure GDA0003607966190000051
其中,
Figure GDA0003607966190000052
是查询级的隐藏状态,
Figure GDA0003607966190000053
是高速公路网络的输出;
查询解码器:给定目标查询:qy={y1,...,yi},解码器通过给定上下文向量ci和所有先前预测的查询词{y1,...,yi-1},以预测下一个查询词yi
将一个会话内的最后一个查询当作我们最终要预测的查询,会话内所有之前的查询统一当作所述查询编码器的输入;
采用注意力机制结合编码器的隐藏状态预测下一个查询:
首先采用另一个单向的LSTM对目标查询进行编码:
si=LSTMDec(si-1,yi-1,ci) (14)
其中,
Figure GDA0003607966190000054
为所述查询解码器中第i时间步的隐藏状态,dh为解码器的LSTM隐藏状态的维度ci为上下文向量,被计算为:
Figure GDA0003607966190000055
其中,aij为所述查询解码器中每个隐藏状态
Figure GDA0003607966190000056
的权重,被计算为:
Figure GDA0003607966190000057
其中,
Figure GDA0003607966190000058
均为可学习的权重矩阵;
生成下一个单词的概率可被计算为:
Figure GDA0003607966190000059
其中,
Figure GDA00036079661900000510
Figure GDA00036079661900000511
表示
Figure GDA00036079661900000512
的第k个元素,表示为
Figure GDA00036079661900000513
Figure GDA00036079661900000514
其中,
Figure GDA00036079661900000515
是权重矩阵。
作为改进,所述S200中个性化模块计算个性化排名得分的过程为:
对于长期兴趣建模:
Figure GDA00036079661900000516
Figure GDA00036079661900000517
为长期LSTM的隐藏状态,
Figure GDA00036079661900000518
被初始化为零向量,qL,t和dL,t表示服务请求者长期会话内查询和点击服务描述文档的整体表示;
对于短期兴趣建模:
Figure GDA0003607966190000061
类似地,
Figure GDA0003607966190000062
为短期LSTM的隐藏状态,
Figure GDA0003607966190000063
被初始化为零向量,qS,t和dS,t表示服务请求者短期会话内查询和点击服务描述文档的整体表示;
对于当前服务请求者查询qM,我们为长期LSTM编码的隐藏状态
Figure GDA0003607966190000064
和短期LSTM编码的隐藏状态
Figure GDA0003607966190000065
分别计算权重
Figure GDA0003607966190000066
Figure GDA0003607966190000067
形式上:
Figure GDA0003607966190000068
Figure GDA0003607966190000069
其中,
Figure GDA00036079661900000610
φ(·)表示带有tanh(·)激活函数的MLP层,服务请求者的长期兴趣向量可以由
Figure GDA00036079661900000611
表示:
Figure GDA00036079661900000612
服务请求者的短期兴趣向量
Figure GDA00036079661900000613
表示为:
Figure GDA00036079661900000614
计算服务请求者个性化排名得分:
Figure GDA00036079661900000615
其中,φ(·)表示带有tanh(·)激活函数的MLP层,qD表示候选服务描述文档的整体向量表示。
作为改进,所述S230训练PDAML模型时,损失函数如公式(26):
所述ad-hoc模块训练时的损失定义为查询预测模块的损失与查询消歧模块的损失两者的损失之和:
L(θ)=LQP+λLDR (26)
其中,θ是模型所有可学习参数的集合,λ是平衡参数;
损失LDR定义为真实排名得分和预测排名得分的二进制交叉熵:
Figure GDA00036079661900000616
其中,N是训练样本的数量,
Figure GDA00036079661900000617
是真实标签,pij为预测值;
对于查询消歧模块训练时的损失采用正则化负对数似然损失:
LQP=-∑ytlogp(yt|Qt)+LR (28)
yt是在要预测的查询中的第t个单词,Qt是服务请求者以前会话中的所有查询单词,LR是正则化项,p表示生成yt的概率函数。
相对于现有技术,本发明至少具有如下优点:
1.为了解决查询表达式歧义问题,我们提出了一种多任务学习模型,该模型联合训练服务描述文档检索和查询预测任务,并通过共享隐藏层生成带有意图信息的查询上下文。
2.我们关注细粒度的交互信息建模,从服务请求者查询和候选服务描述文档两个方向进行相互注意,生成动态的交互表示。
3.我们设计了一个个性化模型对服务请求者行为进行建模,使用服务请求者偏好信息进一步增强服务请求者查询的意图理解,将其结果与多任务学习模型相结合得到最后的排名得分。
4.在大规模搜索日志数据集上的实验证明,我们的模型优于强基线,并取得了新的最先进的结果。
附图说明
图1为本发明方法的整体框架。
图2为ad-hoc匹配模型。
图3为Seq2Seq模型。
图4为个性化模型。
图5PDAML的训练和验证损失曲线。
具体实施方式
下面对本发明作进一步详细说明。
在云服务查询中,理解服务请求者查询意图是一项富有挑战性的工作,当服务请求者向搜索引擎发出查询时,搜索引擎会根据相似度排名为服务请求者返回与查询最相近的云服务服务描述文档,但是在真实的检索场景中,服务请求者发出的查询往往带有歧义,搜索引擎很难理解服务请求者真正检索意图从而召回大量不相关服务。在本发明中,提出了一种个性化的动态注意力多任务学习模型来解决该问题,该模型可以阐明服务请求者的检索意图并为其生成个性化的服务描述文档列表。具体来说,本发明设计了一个个性化的检索模型,该模型可以根据服务请求者的历史行为(点击或者跳过服务描述文档)来学习服务请求者的检索偏好;此外,本发明提出了一种基于多任务学习的ad-hoc模型,通过联合训练查询预测任务和服务描述文档检索任务增强查询表示,并通过动态的双向注意力机制将服务描述文档感知的交互式信息集成到查询表示当中,通过两个子模型的交互,本方法可以生成具有意图信息的查询表示,并对候选服务描述文档进行排名。
参见图1-图4,一种基于多任务学习的云服务发现方法,包括如下步骤:
S100:将服务请求者查询活动定义为会话
Figure GDA0003607966190000086
每一个会话Sm由服务请求者在一定时间内,例如该一定时间可以设定为30min,按顺序提交给搜索引擎的一系列查询Qm={qm,1,qm,2,…,qm,n},每个查询qm,i由对应的一组候选服务描述文档列表D={dm,1,dm,2,…,dm,k}组成,服务请求者的当前会话SM表示为服务请求者的短期查询历史
Figure GDA0003607966190000081
以前的会话{S1,S2,…,SM-1}表示服务请求者的长期查询历史
Figure GDA0003607966190000082
给定一个新的查询qM,t和搜索引擎返回的候选服务描述文档
Figure GDA0003607966190000083
我们的任务是根据当前查询qM,t和历史数据US和UL对D中的每个服务描述文档进行评分,服务描述文档D的分数表示为:
p(D|q,US,UL)=f(p(D|q),p(D|qH)) (1)
其中,p(D|q)表示ad-hoc相关性分数,是我们工作中更加关注的一部分,p(D|qH)表示服务请求者的个性化相关性分数,函数f(·)表示带有tan(·)激活函数的多层感知机(MLP),它将用于对上述两个分数进行适当的权重分配,得到最终的排名得分,根据排名得分进行推荐。
S200:构建PDAML模型,所述PDAML模型由ad-hoc模块和个性化模块构成;
通过所述ad-hoc模块得到表示服务请求者查询意图的意图表示的得分,通过所述个性化模块得到一个表示服务请求者的兴趣特征的得分。
S210:所述ad-hoc模块包括服务描述文档检索模块,所述服务描述文档检索模块包括六层:
第一层,字符嵌入层:字符嵌入层使用字符级卷积神经网络CNN将组成每个单词的所有字符映射到一个向量空间。
对于查询q和其候选服务描述文档d,假设分别由J和T个单词组成,表示为
Figure GDA0003607966190000085
Figure GDA0003607966190000084
我们使用卷积神经网络获得每个单词的字符级嵌入。
组成每个单词的所有字符分别字符级卷积神经网络CNN转化为字符向量,再将嵌入的字符向量作为卷积神经网络1D卷积的输入,结果经过最大池化max-pooling处理后为每个单词获得固定大小的向量表示
Figure GDA0003607966190000091
其中dc是卷积核的数量。
第二层,词嵌入层:使用预训练的单词向量GloVe将每个单词映射成固定大小的向量;其中,预训练的单词向量GloVe属于现有技术。
查询的单词向量和服务描述文档的单词向量分别表示为
Figure GDA0003607966190000092
其中dw表示单词嵌入维度;
字符嵌入和词嵌入完成后,将它们的连接送入一个两层的高速公路网络分别得到表示查询的查询矩阵
Figure GDA0003607966190000093
和表示服务描述文档的服务描述文档矩阵
Figure GDA0003607966190000094
其中,dg是高速公路网络的输出维度大小;其中,两层的高速公路网络属于现有技术。
第三层,上下文嵌入层:为了得到质量更高的查询和服务描述文档表示,采用一个双向的循环神经网络Bi-RNN对所述查询矩阵Q和服务描述文档矩阵D进行上下文编码;
将高速公路网络的输出查询矩阵Q和服务描述文档矩阵D作为Bi-RNN的输入,参见公式(2),它将感知上下文信息,得到查询的上下文向量
Figure GDA0003607966190000095
和服务描述文档的上下文向量
Figure GDA0003607966190000096
ht=f(xt,ht-1) (2)
其中,xt为f(·)的输入(Qj或者Dt),
Figure GDA0003607966190000097
h0被初始化为零向量,在我们的模型中,f(·)选择为LSTM;
第四层,双向注意力层:该层并不像以往的注意力机制将查询和服务描述文档表示为加权求和单个特征向量,而是计算每个时间步上查询和服务描述文档的相互关注程度,目的是在生成服务描述文档上下文向量时可以关注查询的信息,同样的,在生成查询向量时也关注服务描述文档的信息,这样可以更大限度的防止信息丢失,同时也保证查询和服务描述文档具有高质量的特征表示。计算查询和服务描述文档的相似度矩阵S∈RT×J,参见公式(3):
Figure GDA0003607966190000098
其中,Q1,表示Q1的第j列向量,D1,t表示D1的第t列向量,这表明第j个查询中的单词和第t个服务描述文档中的单词之间的相似性,
Figure GDA0003607966190000099
是可学习的参数,⊙运算符表示元素点乘,[;]运算符表示向量连接操作;
计算候选服务描述文档对查询方向的注意力,服务描述文档到查询方向的注意力表示哪些查询词与每个服务描述文档词最相关。at∈RJ表示候选服务描述文档中的第t个单词对查询中的单词的注意力权重,根据注意权重为查询生成服务描述文档对查询方向的注意向量
Figure GDA00036079661900000910
具体地:
at=softmax(St:)∈RJ (4)
Figure GDA0003607966190000101
Figure GDA0003607966190000102
表示候选服务描述文档对查询方向的注意向量
Figure GDA0003607966190000103
计算查询对候选服务描述文档方向的注意力,查询到服务描述文档方向的注意力表示哪些服务描述文档词与每个查询词具有最接近的相似性。由于服务请求者的查询多为短文本并且可能带有拼写错误,独立的服务描述文档嵌入可能难以与查询嵌入相匹配,查询到服务描述文档方向的注意力可以感知查询,并为服务描述文档生成关注查询的注意向量。这个步骤看作一种初级消歧手段。
使∈RT表示查询对候选服务描述文档中的单词的注意权重,根据注意权重为候选服务描述文档生成关注查询的注意向量,这个向量表示候选服务描述文档中与查询中相关的最重要单词的加权和,具体地:
b=sofmaxt(maxj(S))∈RT (6)
Figure GDA0003607966190000104
Figure GDA0003607966190000105
扩展T次即可得到候选服务描述文档对查询的注意力向量
Figure GDA0003607966190000106
最后将候选服务描述文档对查询方向的注意力和查询对候选服务描述文档方向的注意力结合计算得到每个候选服务描述文档中单词的查询感知表示;
将查询的上下文向量Q1,服务描述文档的上下文向量D1,服务描述文档对查询方向的注意向量
Figure GDA0003607966190000107
和候选服务描述文档对查询的注意力向量
Figure GDA0003607966190000108
结合起来生成G,其中每个列向量都可以看作是每个服务描述文档词的查询感知表示:
Figure GDA0003607966190000109
第五层,建模层:采用单层的LSTM,将G映射到
Figure GDA00036079661900001010
输出传递到最后的检索层;
第六层,检索层:检索层的目的是为服务请求者发出的查询和候选服务描述文档计算最后的排名分数,通过使用内部注意机制将建模层的输出映射到服务描述文档的排名分数,内部注意机制为候选服务描述文档和查询中的重点单词分配更大的权重,具体地:
M′=tanh(WMM+b′) (9)
β=softmax(WtM′) (10)
Figure GDA00036079661900001011
其中,WM,Wt是可学习的参数,b′是偏置向量,β是注意力权重,所以,
Figure GDA0003607966190000111
是查询和候选服务描述文档的所有信息的总结;
通过一个简单的线性变换计算当前查询对应的候选服务描述文档的排名得分:
Figure GDA0003607966190000112
其中,
Figure GDA0003607966190000113
是权重矩阵。
S220:所述个性化模块的结构为:
我们分别使用一个单向的LSTM为其建模,将服务请求者当前会话的所有查询与所点击的服务描述文档的连接送入LSTM中学习服务请求者短期偏好,将服务请求者以前会话的所有查询和点击服务描述文档的连接送入LSTM学习长期偏好。
采用注意力机制为长期偏好和短期偏好分配关注权重,获得服务请求者的长期兴趣向量和短期兴趣向量,然后计算服务请求者当前查询对应的候选服务描述文档的个性化排名得分。
S230:训练PDAML模型:采用LambdaRank算法对ad-hoc模块进行成对训练,每对是标注好的一个正样本(点击服务描述文档)和一个负样本(未点击服务描述文档);其中LambdaRank算法属于现有技术。
当损失函数的值不再下降时,则认为PDAML模型已经训练好,否则对ad-hoc模块中的参数进行更新,并返回S210,继续训练。
S300:对于一个服务请求者的当前查询,将ad-hoc模块计算的当前查询对应的候选服务描述文档得分的和当前查询对应的候选服务描述文档的个性化排名得分送入一个MLP层中得到最终的排名得分,按照最终排名得分的由高到低的顺序进行待候选服务描述文档推荐。
作为改进,所述S200中ad-hoc模块还包括一个查询消歧模块,所述查询消歧模块与服务描述文档检索模块前三层,即字符嵌入层,词嵌入层和上下文编码层。
在真实搜索场景中,服务请求者总是不断的重新定义他们的查询内容以表达他们的信息需求,因为清楚地表达搜索意图并不容易。例如:在一个session内,服务请求者接连发出了“billboard”和“billoard charts”的查询,并在“billoard charts”查询的基础上点击了服务描述文档,那么我们可以认为“billoard charts”表达出了服务请求者检索意图。基于这个检索场景,我们建立了一个Seq2Seq结构的查询消歧模型,如图3所示,它可以根据当前session内的查询预测下一个查询,并将其作为服务请求者最后的检索意图,它由查询编码器和解码器组成,具体地。
查询编码器:将Bi-LSTM的正向和反向的最后的隐藏单元连接作为查询的上下文编码:
Figure GDA0003607966190000121
其中,
Figure GDA0003607966190000122
是查询级的隐藏状态,
Figure GDA0003607966190000123
是高速公路网络的输出。
查询解码器:给定目标查询:qy={y1,...,yi},解码器通过给定上下文向量ci和所有先前预测的查询词{y1,...,yi-1},以预测下一个查询词yi
将一个会话内的最后一个查询当作我们最终要预测的查询,会话内所有之前的查询统一当作所述查询编码器的输入。
采用注意力机制结合编码器的隐藏状态预测下一个查询:
首先采用另一个单向的LSTM对目标查询进行编码:
si=LSTMDec(si-1,yi-1,ci) (14)
其中,
Figure GDA0003607966190000124
为所述查询解码器中第i时间步的隐藏状态,dh为解码器的LSTM隐藏状态的维度ci为上下文向量,被计算为。
Figure GDA0003607966190000125
其中,aij为所述查询解码器中每个隐藏状态
Figure GDA0003607966190000126
的权重,被计算为:
Figure GDA0003607966190000127
其中,
Figure GDA0003607966190000128
均为可学习的权重矩阵。
生成下一个单词的概率可被计算为:
Figure GDA0003607966190000129
其中,
Figure GDA00036079661900001210
Figure GDA00036079661900001211
表示
Figure GDA00036079661900001212
的第k个元素,表示为
Figure GDA00036079661900001213
Figure GDA00036079661900001214
其中,
Figure GDA00036079661900001215
是权重矩阵。
作为改进,所述S200中个性化模块计算个性化排名得分的过程为:
对于长期兴趣建模:
Figure GDA00036079661900001216
Figure GDA00036079661900001217
为长期LSTM的隐藏状态,
Figure GDA00036079661900001218
被初始化为零向量,qL,t和dL,t表示服务请求者长期会话内查询和点击服务描述文档的整体表示。
对于短期兴趣建模:
Figure GDA0003607966190000131
类似地,
Figure GDA0003607966190000132
为短期LSTM的隐藏状态,
Figure GDA0003607966190000133
被初始化为零向量,qS,t和dS,t表示服务请求者短期会话内查询和点击服务描述文档的整体表示。
对于当前服务请求者查询qM,我们为长期LSTM编码的隐藏状态
Figure GDA0003607966190000134
和短期LSTM编码的隐藏状态
Figure GDA0003607966190000135
分别计算权重
Figure GDA0003607966190000136
Figure GDA0003607966190000137
形式上:
Figure GDA0003607966190000138
Figure GDA0003607966190000139
其中,
Figure GDA00036079661900001310
φ(·)表示带有tanh(·)激活函数的MLP层,服务请求者的长期兴趣向量可以由
Figure GDA00036079661900001311
表示:
Figure GDA00036079661900001312
服务请求者的短期兴趣向量
Figure GDA00036079661900001313
表示为:
Figure GDA00036079661900001314
计算服务请求者个性化排名得分:
Figure GDA00036079661900001315
其中,φ(·)表示带有tanh(·)激活函数的MLP层,qD表示候选服务描述文档的整体向量表示(单词的加权平均)。
作为改进,所述S230训练PDAML模型时,损失函数如公式(26):
所述ad-hoc模块训练时的损失定义为查询预测模块的损失与查询消歧模块的损失两者的损失之和:
L(θ)=LQP+λLDR (26)
其中,θ是模型所有可学习参数的集合,λ是平衡参数。
我们的目标是最大化他们之间的差距。损失LDR定义为真实排名得分和预测排名得分的二进制交叉熵:
Figure GDA00036079661900001316
其中,N是训练样本的数量,
Figure GDA00036079661900001317
是真实标签,pij为预测值。
对于查询消歧模块训练时的损失采用正则化负对数似然损失:
LQP=-∑ytlogp(yt|Qt)+LR (28)
yt是在要预测的查询中的第t个单词,Qt是服务请求者以前会话中的所有查询单词,LR是正则化项,p表示生成yt的概率函数。以避免单词的分布高度倾斜。
在本发明中,提出了一个个性化动态注意多任务学习框架,共同学习服务描述文档检索和查询预测任务。查询预测任务用于理解服务请求者意图,本发明使用动态关注机制将意图信息集成到检索模型中,从而为服务请求者查询和服务描述文档建立深度交互。此外,为了进一步增强对服务请求者查询意图的理解,本发明设计了一个个性化的检索模型来整合服务请求者的检索兴趣信息。实验表明,本发明所使用的方法优于最先进的基线。因此,尝试不同的子任务与信息检索任务的结合方法,并考虑设置更加灵活的查询消歧方法将作为未来最主要的研究内容。
实验:
在公开可用的AOL搜索日志上进行实验。采用BM25为每个查询定制候选服务描述文档,并且根据两个连续查询之间的相似性确定session边界。我们将数据按照6:1:1的比例分为训练集、验证集和测试集,并在测试集中为每个查询抽取50个候选服务描述文档,每个查询抽取5个候选服务描述文档进行训练和验证。在实验中,我们只使用服务描述文档标题来计算相关性。处理后的数据信息可见表1。
表1
Figure GDA0003607966190000141
1.对比实验:
我们的基线包括四种类型的检索模型:概率排序模型(即BM25)、神经排序模型(基于表示的神经排序模型:DSSM、ARC-I,基于交互的神经排序模型:ARC-II,Conv-KNRM)、个性化检索模型(SLTB)以及多任务模型(M-NSRF)。
主要模型:
BM25:我们以BM25算法检索到的排名作为基本基线。
ARCI:ARCI是一个基于表示的模型,它用多层CNN处理查询和服务描述文档的单词嵌入,直到最后一层达到固定长度的表示,我们使用3层的CNN,每层100个卷积核,卷积和大小在1-5中选择。
DSSM:DSSM同样是典型的基于表示的神经检索模型,我们将其单词哈希层替换为一个平均词嵌入层,其余按照原文设定使用3层DNN为查询和服务描述文档单词进行建模,隐藏单元数量为125。
ARC-II:将ARC-I升级为交互模型,通过一维卷积为查询和服务描述文档建立交互。对于一维卷积的设置,我们设定滑动窗口为3个单词,接着使用两层CNN,其中两层的内核大小和池大小都设置为(3×3)和(2×2)。两层有16/32个核。
Conv-KNRM:它使用一个1D-Conv(128个filters)来建模n-gram({1,2,3})软匹配。并应用k(11个)核来处理交互矩阵生成排名分数。
BERT:我们直接使用预先训练好的BERT对查询和服务描述文档的交互进行建模,并将最后一层的[CLS]位置的输出馈送给一个MLP,以输出排名得分。
HRNN:通过使用递归神经网络对服务请求者长期历史和短期历史建模,通过注意力机制关注历史数据对当前查询的影响。
M-NSRF和CARS的结果取自现有公开论文[Ahmad et al,.2019]。
PDAML:本发明模型。
2.评价指标
我们使用MAP、MRR、NDCG@1、NDCG@2、NDCG@3作为评价指标。强调一下,本文仅将查询预测任务作为检索任务辅助。并不为其单独的设置对比试验。
MAP定义为平均准确率(AP)的平均值,如果检索的结果在排名列表中位置越靠前则MAP值越高,检索效果也最好:
Figure GDA0003607966190000151
Figure GDA0003607966190000152
其中,C表示真实列表,puj物品j在检索列表中的位置,puj<pui表示服务描述文档j在检索列表中位于服务描述文档i之前。
NDCG定义为检索结果相关性的平均值,并考虑位置因素,计算公式为:
Figure GDA0003607966190000161
Figure GDA0003607966190000162
Figure GDA0003607966190000163
其中,reli表示位置i的检索结果的相关性,k表示检索列表的大小,IDCG表示某一服务请求者返回的最好检索结果列表。检索结果的相关性越大,NDCG越大,相关性好的排在检索列表前面的话,推荐效果越好,NDCG越大。
MRR定义为平均倒数排名:
Figure GDA0003607966190000164
其中,丨Q丨是服务请求者的个数,ranki是对于第i个服务请求者的检索列表中第一个在真实标签列表中的服务描述文档所在的排列位置。MRR越大表示检索结果越好。
3.实验设置:1中提到的所有的模型均由Pytorch实现,实验中,统一使用Adam优化器优化参数,并对超参数进行了调整,对于每个模型,训练、评估和测试的批次大小设置为32,隐藏层的大小范围为{64,128,256,512},学习率在{1E-3,1E-4,1E-5}中选择,dropout为0.2。为了公平起见,对于所有的词嵌入层,均选用预训练的词向量GloVe,单词嵌入维度的大小范围为{50,100,200,300}。对于我们模型中的字符嵌入层,我们将其嵌入维度在{10,20,30,50}中选择,卷积滑动窗口选择为{1,2,3,4,5},卷积核的数量为100。PDAML运行在单个NVIDIA Tesla T4 GPU上,每个epoch的运行时间约为80分钟。我们的实验数据和代码均可在https://github.com/1749anonymous/PDAML.获得。
4.评比结果
PDAML与所有基线的对比结果见表2,所有的结果均是遵循3中的实验设置,并展示出所有模型的最佳性能。
表2
Figure GDA0003607966190000165
Figure GDA0003607966190000171
表2.PDAML在AOL搜索日志数据集中所有基线的MAP、MRR和NDCG评价指标比较。最佳结果以粗体显示。
通过表2可知:
(1)与其他检索模型相比,传统的概率模型BM25在各项评价指标上均表示出最差性能。这表明,仅仅考虑术语的精确匹配,难以为服务请求者呈现满意的检索结果。
(2)基于交互的神经检索模型ARC-II、Conv-KNRM和BERT优于基于表示的神经检索模型ARC-I和DSSM,这受益于交互信息的传递,值得说明的是,在实验中,我们统一采用预训练的词向量,这样不仅可以使模型快速的收敛,也可以让模型学习具有语义关系的单词表示。从而为基于交互的检索模型提供更有价值的交互信息。此外,使用预训练的词向量均使baselines中的检索模型有一定的性能提升。
(3)基于上下文的方法明显优于其他类别,其中PDAML胜过它们。以MAP为例。PDAML的改善幅度达到了22.06%到39.3%,这说明了我们的动态注意机制和多任务学习的有效性。它模拟了服务请求者查询和服务描述文档之间的深层交互,并获得了最先进的结果。
(4)基于整体相互作用的BERT模型尚未达到最先进的结果。然而,它在交互模型中表现出很强的能力。基于BERT的检索各项指标均较低的一个原因是在我们在实验中采用了较小的BERT模型(4层),因为较大BERT模型会导致最后的推理时间过长,并不适用于真实的检索场景中。
消融实验
我们模型的性能得益于部分组件,我们将进行消融实验验证各个组件的重要性。其结果展示在表3中。
PDAML w/o CEL:我们去掉字符嵌入层(CEL),单独使用词嵌入层。
PDAML w/o AFL:我们移除了双向注意力层(AFL),并将查询和服务描述文档之间的连接作为交互发送到建模层。
PDAML w/o PM:我们移除了个性化模型(PM),并使用由ad-hoc模型获得的分数作为最终排名分数。
PDAML w/o MLT:我们去掉多任务(MLT)中的查询预测层,其他各个组件不变。
表3消融实验
Model MAP MRR NDCG@1
PDAML w/o EL 0.734 0.746 0.631
PDAML w/o FL 0.698 0.708 0.602
PDAML w/o PM 0.688 0.699 0.599
PDAML w/o LT 0.720 0.739 0.612
PDAML 0.758 0.763 0.652
消融实验的结果在表3中展示,可以明显看出,各个模块对PDAML有不同的影响,其中最关键的模块是个性化模型,去掉它导致MRR和MAP大幅度下降,表明了检索任务对理解服务请求者意图的依赖。去掉个性化模型后,PDAML仍然优于所有基线,这得益于字符嵌入层与双向注意力层,由于AOL数据集包含较多噪音,字符级嵌入有助于学习更好的单词(查询和服务描述文档)表示,提升了模型大约5%的性能,双向注意力层对检索性能影响较大(大约7%),一个原因是在我们的模型中主要采用双向注意力对查询和服务描述文档建立交互,此外,双向注意力使查询和服务描述文档在上下文编码时相互感知,为其生成了更好的表示。多任务学习对模型性能有2.2%改进,我们认为,通过查询预测任务可以更好的理解服务请求者的查询意图,并且在训练中将查询预测任务的隐藏状态共享给服务描述文档检索任务,有助于生成更好的查询表示。
进一步研究了实验中单词嵌入大小{50,100,200,300},字符嵌入大小{10,20,30,40}以及字符卷积窗口大小{1,2,3,4,5}的变化对模型性能的影响,最后,我们发现,使用200维的预训练GloVe单词向量,字符嵌入大小选择为10,字符卷积窗口大小选择3使模型达到了最佳性能,此外,为了确保训练收敛且不会过拟合,我们展示了最佳模型的每个训练步骤的训练集和验证集的损失曲线,并保存了模型的最佳检查点,见图5。我们可以看到,PDAML只需要大约30个step就可以在评估集上快速收敛。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种基于多任务学习的云服务发现方法,其特征在于,包括如下步骤:
S100:将服务请求者查询活动定义为会话
Figure FDA00030095090200000112
每一个会话Sm由服务请求者在一定时间内按顺序提交给搜索引擎的一系列查询Qm={qm,1,qm,2,...,qm,n},每个查询qm,i由对应的一组候选服务描述文档列表D={dm,1,dm,2,...,dm,k}组成,服务请求者的当前会话SM表示为服务请求者的短期查询历史
Figure FDA0003009509020000011
以前的会话{S1,S2,...,SM-1}表示服务请求者的长期查询历史
Figure FDA0003009509020000012
S200:构建PDAML模型,所述PDAML模型由ad-hoc模块和个性化模块构成;
S210:所述ad-hoc模块包括服务描述文档检索模块,所述服务描述文档检索模块包括六层:
第一层,字符嵌入层:字符嵌入层使用字符级卷积神经网络CNN将组成每个单词的所有字符映射到一个向量空间;
对于服务请求者的查询q和其候选服务描述文档d,假设分别由J和T个单词组成,表示为
Figure FDA0003009509020000013
Figure FDA0003009509020000014
组成每个单词的所有字符分别字符级卷积神经网络CNN转化为字符向量,再将嵌入的字符向量作为卷积神经网络1D卷积的输入,结果经过最大池化max-pooling处理后为每个单词获得固定大小的向量表示
Figure FDA0003009509020000015
其中dc是卷积核的数量;
第二层,词嵌入层:使用预训练的单词向量GloVe将每个单词映射成固定大小的向量;
查询的单词向量和服务描述文档的单词向量分别表示为
Figure FDA0003009509020000016
其中dw表示单词嵌入维度;
字符嵌入和词嵌入完成后,将它们的连接送入一个两层的高速公路网络分别得到表示查询的查询矩阵
Figure FDA0003009509020000017
和表示服务描述文档的矩阵
Figure FDA0003009509020000018
其中,dg是高速公路网络的输出维度大小;
第三层,上下文嵌入层:采用一个双向的循环神经网络Bi-RNN对所述查询矩阵Q和服务描述文档矩阵D进行上下文编码;
将高速公路网络的输出查询矩阵Q和服务描述文档矩阵D作为Bi-RNN的输入,参见公式(2),它将感知上下文信息,得到查询的上下文向量
Figure FDA0003009509020000019
和服务描述文档的上下文向量
Figure FDA00030095090200000110
ht=f(xt,ht-1) (2)
其中,xt为f(·)的输入(Qj或者Dt),
Figure FDA00030095090200000111
h0被初始化为零向量,在我们的模型中,f(·)选择为LSTM;
第四层,双向注意力层:计算查询和服务描述文档的相似度矩阵S∈RT×J,参见公式(3):
Figure FDA0003009509020000021
其中,Q1,j表示Q1的第j列向量,D1,t表示D1的第t列向量,这表明第j个查询中的单词和第t个服务描述文档中的单词之间的相似性,
Figure FDA0003009509020000022
是可学习的参数,⊙运算符表示元素点乘,[;]运算符表示向量连接操作;
计算候选服务描述文档对查询方向的注意力,at∈RJ表示候选服务描述文档中的第t个单词对查询中的单词的注意力权重,根据注意权重为查询生成服务描述文档对查询方向的注意向量
Figure FDA0003009509020000023
具体地:
at=softmax(St:)∈RJ (4)
Figure FDA0003009509020000024
Figure FDA0003009509020000025
表示候选服务描述文档对查询方向的注意向量
Figure FDA0003009509020000026
计算查询对候选服务描述文档方向的注意力,使b∈RT表示查询对候选服务描述文档中的单词的注意权重,根据注意权重为候选服务描述文档生成关注查询的注意向量,这个向量表示候选服务描述文档中与查询中相关的最重要单词的加权和,具体地:
b=sofmaxt(maxj(S))∈RT (6)
Figure FDA0003009509020000027
Figure FDA0003009509020000028
扩展T次即可得到候选服务描述文档对查询的注意力向量
Figure FDA0003009509020000029
最后将候选服务描述文档对查询方向的注意力和查询对候选服务描述文档方向的注意力结合计算得到每个候选服务描述文档中单词的查询感知表示;
将查询的上下文向量Q1,服务描述文档的上下文向量D1,服务描述文档对查询方向的注意向量
Figure FDA00030095090200000210
和候选服务描述文档对查询的注意力向量
Figure FDA00030095090200000211
结合起来生成G:
Figure FDA00030095090200000212
第五层,建模层:采用单层的LSTM,将G映射到
Figure FDA00030095090200000213
输出传递到最后的检索层;
第六层,检索层:通过使用内部注意机制将建模层的输出映射到服务描述文档的排名分数,内部注意机制为候选服务描述文档和查询中的重点单词分配更大的权重,具体地:
M′=tanh(WMM+b′) (9)
β=softmax(WtM′) (10)
Figure FDA0003009509020000031
其中,WM,Wt是可学习的参数,b′是偏置向量,β是注意力权重,所以,
Figure FDA0003009509020000032
是查询和候选服务描述文档的所有信息的总结;
通过一个简单的线性变换计算当前查询对应的候选服务描述文档的排名得分:
Figure FDA0003009509020000033
其中,
Figure FDA0003009509020000034
是权重矩阵。
S220:所述个性化模块的结构为:
将服务请求者当前会话的所有查询与所点击的服务描述文档的连接送入LSTM中学习服务请求者短期偏好,将服务请求者以前会话的所有查询和点击服务描述文档的连接送入LSTM学习长期偏好;
采用注意力机制为长期偏好和短期偏好分配关注权重,获得服务请求者的长期兴趣向量和短期兴趣向量,然后计算服务请求者当前查询对应的候选服务描述文档的个性化排名得分;
S230:训练PDAML模型:采用LambdaRank算法对ad-hoc模块进行成对训练,每对是标注好的一个正样本和一个负样本;
当损失函数的值不再下降时,则认为PDAML模型已经训练好,否则对ad-hoc模块中的参数进行更新,并返回S210,继续训练;
S300:对于一个服务请求者的当前查询,将ad-hoc模块计算的当前查询对应的候选服务描述文档得分的和当前查询对应的候选服务描述文档的个性化排名得分送入一个MLP层中得到最终的排名得分,按照最终排名得分的由高到低的顺序进行待候选服务描述文档推荐。
2.如权利要求1所述的基于多任务学习的云服务发现方法,其特征在于,所述S200中ad-hoc模块还包括一个查询消歧模块,所述查询消歧模块与服务描述文档检索模块前三层共用,即字符嵌入层,词嵌入层和上下文编码层;
查询编码器:将Bi-LSTM的正向和反向的最后的隐藏单元连接作为查询的上下文编码:
Figure FDA0003009509020000035
其中,
Figure FDA0003009509020000037
是查询级的隐藏状态,
Figure FDA0003009509020000036
是高速公路网络的输出;
查询解码器:给定目标查询:qy={y1,...,yi},解码器通过给定上下文向量ci和所有先前预测的查询词{y1,...,yi-1},以预测下一个查询词yi
将一个会话内的最后一个查询当作我们最终要预测的查询,会话内所有之前的查询统一当作所述查询编码器的输入;
采用注意力机制结合编码器的隐藏状态预测下一个查询:
首先采用另一个单向的LSTM对目标查询进行编码:
si=LSTMDec(si-1,yi-1,ci) (14)
其中,
Figure FDA0003009509020000041
为所述查询解码器中第i时间步的隐藏状态,dh为解码器的LSTM隐藏状态的维度ci为上下文向量,被计算为:
Figure FDA0003009509020000042
其中,aij为所述查询解码器中每个隐藏状态
Figure FDA00030095090200000419
的权重,被计算为:
Figure FDA0003009509020000043
其中,
Figure FDA0003009509020000044
均为可学习的权重矩阵;
生成下一个单词的概率可被计算为:
Figure FDA0003009509020000045
其中,
Figure FDA0003009509020000046
Figure FDA0003009509020000047
表示
Figure FDA0003009509020000048
的第k个元素,表示为
Figure FDA0003009509020000049
Figure FDA00030095090200000410
其中,
Figure FDA00030095090200000411
是权重矩阵。
3.如权利要求1所述的基于多任务学习的云服务发现方法,其特征在于,所述S200中个性化模块计算个性化排名得分的过程为:
对于长期兴趣建模:
Figure FDA00030095090200000412
Figure FDA00030095090200000413
为长期LSTM的隐藏状态,
Figure FDA00030095090200000414
被初始化为零向量,qL,t和dL,t表示服务请求者长期会话内查询和点击服务描述文档的整体表示;
对于短期兴趣建模:
Figure FDA00030095090200000415
类似地,
Figure FDA00030095090200000416
为短期LSTM的隐藏状态,
Figure FDA00030095090200000417
被初始化为零向量,qS,t和dS,t表示服务请求者短期会话内查询和点击服务描述文档的整体表示;
对于当前服务请求者查询qM,我们为长期LSTM编码的隐藏状态
Figure FDA00030095090200000418
和短期LSTM编码的隐藏状态
Figure FDA0003009509020000051
分别计算权重
Figure FDA0003009509020000052
Figure FDA0003009509020000053
形式上:
Figure FDA0003009509020000054
Figure FDA0003009509020000055
其中,
Figure FDA0003009509020000056
φ(·)表示带有tanh(·)激活函数的MLP层,服务请求者的长期兴趣向量可以由
Figure FDA0003009509020000057
表示:
Figure FDA0003009509020000058
服务请求者的短期兴趣向量
Figure FDA0003009509020000059
表示为:
Figure FDA00030095090200000510
计算服务请求者个性化排名得分:
Figure FDA00030095090200000511
其中,φ(·)表示带有tanh(·)激活函数的MLP层,qD表示候选服务描述文档的整体向量表示。
4.如权利要求3所述的基于多任务学习的云服务发现方法,其特征在于,所述S230训练PDAML模型时,损失函数如公式(26):
所述ad-hoc模块训练时的损失定义为查询预测模块的损失与查询消歧模块的损失两者的损失之和:
L(θ)=LQP+λLDR (26)
其中,θ是模型所有可学习参数的集合,λ是平衡参数;
损失LDR定义为真实排名得分和预测排名得分的二进制交叉熵:
Figure FDA00030095090200000512
其中,N是训练样本的数量,
Figure FDA00030095090200000513
是真实标签,pij为预测值;
对于查询消歧模块训练时的损失采用正则化负对数似然损失:
Figure FDA00030095090200000514
yt是在要预测的查询中的第t个单词,Qt是服务请求者以前会话中的所有查询单词,LR是正则化项,p表示生成yt的概率函数。
CN202110371604.7A 2021-04-07 2021-04-07 一种基于多任务学习的云服务发现方法 Active CN112966096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110371604.7A CN112966096B (zh) 2021-04-07 2021-04-07 一种基于多任务学习的云服务发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110371604.7A CN112966096B (zh) 2021-04-07 2021-04-07 一种基于多任务学习的云服务发现方法

Publications (2)

Publication Number Publication Date
CN112966096A CN112966096A (zh) 2021-06-15
CN112966096B true CN112966096B (zh) 2022-05-24

Family

ID=76280004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110371604.7A Active CN112966096B (zh) 2021-04-07 2021-04-07 一种基于多任务学习的云服务发现方法

Country Status (1)

Country Link
CN (1) CN112966096B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779996B (zh) * 2021-08-31 2023-10-10 中国中医科学院中医药信息研究所 基于BiLSTM模型的标准实体文本确定方法、装置及存储介质
CN117874175B (zh) * 2024-03-12 2024-06-04 武汉纺织大学 一种基于信息瓶颈的信息检索方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018213763A1 (en) * 2017-05-19 2018-11-22 Salesforce.Com, Inc. Natural language processing using context-specific word vectors
CN110163233A (zh) * 2018-02-11 2019-08-23 陕西爱尚物联科技有限公司 一种使机器胜任更多复杂工作的方法
CN112182387A (zh) * 2020-09-29 2021-01-05 中国人民大学 一种时间信息增强的个性化搜索算法
CN112214335A (zh) * 2020-10-13 2021-01-12 重庆工业大数据创新中心有限公司 基于知识图谱和相似度网络的Web服务发现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023690B2 (en) * 2019-04-30 2021-06-01 Microsoft Technology Licensing, Llc Customized output to optimize for user preference in a distributed system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018213763A1 (en) * 2017-05-19 2018-11-22 Salesforce.Com, Inc. Natural language processing using context-specific word vectors
CN110163233A (zh) * 2018-02-11 2019-08-23 陕西爱尚物联科技有限公司 一种使机器胜任更多复杂工作的方法
CN112182387A (zh) * 2020-09-29 2021-01-05 中国人民大学 一种时间信息增强的个性化搜索算法
CN112214335A (zh) * 2020-10-13 2021-01-12 重庆工业大数据创新中心有限公司 基于知识图谱和相似度网络的Web服务发现方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Junhao Wen等.MOELS: Multiobjective Evolutionary List Scheduling for Cloud Workflows.《IEEE Transactions on Automation Science and Engineering》.2019,第17卷(第1期),166-176. *
刘卫宁等.面向多任务的制造云服务组合.《计算机集成制造系统》.2013,第19卷(第1期),199-209. *
姚娟等.云制造服务组合研究综述.《计算机科学》.2021,第48卷(第7期),245-255. *
王俊华.面向异构车联网的实时信息服务与任务迁移技术研究.《中国优秀博硕士学位论文全文数据库(博士)工程科技Ⅱ辑》.2020,(第11期),C034-2. *

Also Published As

Publication number Publication date
CN112966096A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
Wu et al. Session-based recommendation with graph neural networks
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及系统
CN110119467B (zh) 一种基于会话的项目推荐方法、装置、设备及存储介质
CN111611361A (zh) 抽取式机器智能阅读理解问答系统
CN111737578B (zh) 一种推荐方法及系统
CN110704601A (zh) 利用问题-知识引导的渐进式时空注意力网络解决需要常识的视频问答任务的方法
CN112966096B (zh) 一种基于多任务学习的云服务发现方法
CN111581519A (zh) 基于会话中用户意图的物品推荐方法和系统
CN112182154B (zh) 一种利用个人词向量消除关键词歧义的个性化搜索模型
CN112015868A (zh) 基于知识图谱补全的问答方法
CN112182373B (zh) 一种基于上下文表示学习的性化搜索方法
CN111079409A (zh) 一种利用上下文和方面记忆信息的情感分类方法
CN111368058B (zh) 一种基于迁移学习的问答匹配方法
Tahery et al. Customized query auto-completion and suggestion—A review
CN110781319A (zh) 跨媒体大数据的公共语义表示、搜索方法和装置
CN111310023A (zh) 基于记忆网络的个性化搜索方法及系统
CN115422369B (zh) 基于改进TextRank的知识图谱补全方法和装置
Wu et al. Leveraging neighborhood session information with dual attentive neural network for session-based recommendation
Hwang et al. Recent deep learning methods for tabular data
CN118296126A (zh) 对话处理方法、系统、电子设备及计算机可读存储介质
Rauf et al. BCE4ZSR: Bi-encoder empowered by teacher cross-encoder for zero-shot cold-start news recommendation
CN117056609A (zh) 一种基于多层聚合增强对比学习的会话推荐方法
CN117171440A (zh) 基于新闻事件和新闻风格联合建模的新闻推荐方法和系统
Liu POI recommendation model using multi-head attention in location-based social network big data
CN115525835A (zh) 一种长短期注意力循环网络推荐方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231213

Address after: 430070 Hubei Province, Wuhan city Hongshan District Luoyu Road No. 546

Patentee after: HUBEI CENTRAL CHINA TECHNOLOGY DEVELOPMENT OF ELECTRIC POWER Co.,Ltd.

Address before: 400044 No. 174 Sha Jie street, Shapingba District, Chongqing

Patentee before: Chongqing University