[发明专利]一种基于共生注意力表示学习的服务分类方法有效
申请号: | 202110249579.5 | 申请日: | 2021-03-08 |
公开(公告)号: | CN112836054B | 公开(公告)日: | 2022-07-26 |
发明(设计)人: | 鄢萌;唐斌;吴云松;张小洪;徐玲;任海军;杨丹 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F16/35 | 分类号: | G06F16/35;G06N3/04;G06N3/08 |
代理公司: | 重庆晟轩知识产权代理事务所(普通合伙) 50238 | 代理人: | 王海凤 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 共生 注意力 表示 学习 服务 分类 方法 | ||
1.一种基于共生注意力表示学习的服务分类方法,其特征在于:包括如下步骤:
S100:从公开数据集中选取部分web服务作为训练集,训练集中的每个web服务都有确定的服务类别,对训练集中包含的所有服务类别进行顺序编号;
S200:从该训练集中任选一个Web服务作为训练样本,该训练样本包括服务描述和服务名称;
S300:对每个训练样本从其服务描述中提取服务信息词,具体步骤如下:
S310:设服务描述中有E个原单词,对E个原单词进行标记化处理,此处的“标记化处理”是指将每个单词用空格隔开;
S320:根据英语停用词列表删除E个原单词中的停用词,剩余的原单词个数为Z,并对Z个原单词进行词干提取,如果词干出现重复,则只保留一个,最终得到G个单词词干;
S330:计算G个单词词干的信息增益得分,具体公式如下:
其中,N表示该训练集中服务类别的数量,Ck表示类别,P(Ck)表示类别Ck的概率,P(w)表示单词词干w存在的概率,表示单词词干w不存在的概率,P(Ck|w)表示存在单词词干w时类别Ck的条件概率,表示不存在单词词干w时类别Ck的条件概率;
其中,各项计算表达式如下:
其中,num(Ck)表示在类别Ck上的服务数量,表示所有类别包含的服务总数,表示在类别Ci中的服务描述中带有单词词干w的服务数量,表示所有类别包含的服务总数中的服务描述中带有单词词干w的服务总数,为服务描述中未包含单词词干w的服务总数;
S340:根据信息增益得分将G个单词词干进行降序排列,选择前J个单词词干作为服务信息词的提取结果;
S400:对每个训练样本构建描述特征矩阵D,具体步骤如下:
S410:设服务描述中包含的单词数量为n1,将服务描述作为BERT模型的输入,输出为服务描述的单词序列和长度为n1的k1维服务描述嵌入矩阵,具体表达式如下:
Y1=fbert_seq(X1)
其中,Y1表示服务描述嵌入矩阵,X1表示服务描述;
S420:采用双向LSTM提取服务描述特征,具体步骤如下:
S421:计算所述服务描述中第i个单词的隐藏状态hi,具体表达式如下:
其中,ai是服务描述嵌入矩阵Y1中第i个单词的k1维词向量,hi是LSTM中第i个单词的隐藏状态,表示第i个单词前向传播的隐藏状态,表示第i个单词后向传播的隐藏状态,表示第i个单词的前一个单词的前向传播存储单元,表示第i个单词的前一个单词的前向传播隐藏状态,表示第i个单词的后一个单词的后向传播存储单元,表示第i个单词的后一个单词的后向传播隐藏状态;
S422:重复S421,计算得到服务描述中所有单词的隐藏状态,并进行拼接,得到服务描述的特征矩阵D,具体表达式如下:
S500:对每个训练样本构建服务信息词特征矩阵I,具体步骤如下:
S510:将步骤S340得到的J个服务信息词作为BERT模型的输入,输出为长度为n2的k2维服务信息词嵌入矩阵Y2,具体表达式如下:
Y2=fbert_seq(X2)
其中,Y2表示服务信息词嵌入矩阵,X2表示服务信息词;
S520:采用2-D CNN卷积函数提取服务信息词的特征,具体步骤如下:
S521:为服务信息词嵌入矩阵Y2增加一个额外维度得到Y2′,即此时的卷积核为其中,1表示额外的维度,p1表示卷积核包含的信息词向量的维度,q1表
示卷积核包含的信息词的个数;
S522:计算Y2′中服务信息词的局部特征ci′,j′,1,表达式如下:
其中,eu,v,1表示服务信息词中的第u个词相对应的v维词向量,u∈[i,i+p1-1],v∈[j,j+q1-1],b表示偏置项,i′表示Y2′中的信息词,j′表示信息词i′对应的维度,j′=1,2,...,k2;
S523:应用数量为t的卷积核和卷积核数量为t时的服务信息词的局部特征得到局部特征ci″,j″,1,具体表达式如下:
其中,ci″,j″,1表示卷积核数量为1时的服务信息词的局部特征,p2为卷积核数量为1时卷积核包含的信息词向量的维度,q2为卷积核数量为1时的卷积核包含的信息词的个数;
S524:压缩Y2′中额外的一个维度,得到Y2中服务信息词的局部特征ci″,j″,拼接所有局部特征得到信息词特征矩阵I,表达式如下:
S600:对每个训练样本构建服务名称特征矩阵S,具体步骤如下:
S610:将服务名称作为BERT模型的输入,输出为长度为n3的k3维服务名称嵌入矩阵Y3,具体表达式如下:
Y3=fbert_seq(X3)
其中,Y3表示服务名称嵌入矩阵,X3表示服务名称;
S620:采用2-D CNN提取服务名称的特征,具体步骤如下:
S621:为服务名称嵌入矩阵Y3增加一个额外维度得到Y3′,即此时的卷积核为其中,1表示额外的维度,p1表示卷积核包含的服务名称词向量的维度,q1表示卷积核包含的服务名称中词的个数;
S622:计算Y3′中服务名称的局部特征di′,j′,1,表达式如下:
其中,su,v,1表示服务名称中的第u个词相对应的v维词向量,u∈[i,i+p1-1],v∈[j,j+q1-1],b表示偏置项,i′表示Y3′中的服务名称,j′表示信息词i′对应的维度,j′=1,2,...,k2;
S623:应用数量为t的卷积核和卷积核数量为t时的服务名称的局部特征得到局部特征di″,j″,1,具体表达式如下:
其中,di″,j″,1表示卷积核为1时的服务名称的局部特征,p2为卷积核为1时的包含服务名称词向量的维度,q1为卷积核为1时的卷积核包含的服务名称中词的个数;
S624:压缩Y3′中额外的一个维度,得到Y3中服务名称的局部特征di″,j″,拼接所有局部特征得到服务名称特征矩阵S,表达式如下:
S700:将每个训练样本对应的信息词特征矩阵I和名称特征矩阵S进行融合,获得增强数据特征矩阵A,表达式如下;
S800:对每个训练样本计算服务特征相关矩阵F,具体表达式如下:
F=tanh(ATUD)
其中,服务描述特征矩阵D∈Rd*p,服务增强数据矩阵参数矩阵U∈Rd*d,服务特征相关矩阵F∈Rp*q;
S900:对每个训练样本计算rA和rD,具体步骤如下:
S910:对服务特征相关矩阵F执行最大池化操作,得到服务增强数据和服务描述具体表示如下:
S920:计算的服务语义向量gA和的服务语义向量gD,具体表达式如下:
其中,gA∈Rp,gD∈Rq
S930:对得到的gA和gD服务语义向量采用softmax激活函数进行转化,得到服务增强数据注意力向量aA和服务描述注意力向量aD,具体表达式分别如下:
aA=softmax(gA)
aD=softmax(gD)
其中,aA∈Rp,aD∈Rq;
S940:计算aA的服务表示向量rA和aD的服务表示向量rD,具体表达式分别如下:
rA=A*aA
rD=D*aD
其中,A为增强数据特征矩阵,D为服务描述特征矩阵,aA表示服务增强数据注意力向量,aD表示服务描述注意力向量;
S1000:对每个训练样本计算相对应的预测向量L,其中,L为N维的向量,L中包含的所有概率值是按照服务类别的顺序编号进行排列,选择其中最大的概率值所对应的服务类别作为最终的服务类别预测结果,L具体表达式如下:
L=softmax(ffc(rA+rD))
其中,ffc表示全连接层神经网络;
S1010:根据S1000的结果采用梯度下降反向传播的方式对S200-S800步骤中所用到的参数进行更新,当训练达到预设的最大迭代次数,模型训练完毕,得到训练好的服务分类模型;
S1020:对一个未知类别的待预测web服务进行服务分类预测,具体步骤如下:
S1030:采用S300的方法从待预测服务描述中提取服务信息词;
S1040:采用S400的方法构建待预测描述特征矩阵D’;
S1050:采用S500的方法构建待预测服务信息词特征矩阵I’;
S1060:采用S600的方法构建待预测服务名称特征矩阵S’;
S1070:采用S700的方法得到待预测增强数据特征矩阵A’;
S1080:采用S800的方法计算待预测相关矩阵F’;
S1090:采用S900的方法计算待预测的rA’和rD’;
S1100:采用S1000的方法计算预测向量L’,将其中的最大概率值所对应的服务类别作为待预测Web服务的预测类别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110249579.5/1.html,转载请声明来源钻瓜专利网。