Page 57 - 《软件学报》2025年第5期
P. 57

胡强 等: 融合潜在联合词与异质关联兼容的             Web API 推荐                                    1957


                 Nm(mr) 中的  Mashup  服务的服务描述. 因此, 推荐潜在联合词的首要任务是构建              Nm(mr) 和  Cw(mr) 集合.
                    构建  Nm(mr) 和  Cw(mr) 集合时, 需要进行相似度的判定. 服务相似度的判定通常需要借助主题模型或神经网
                 络模型将服务功能描述转化为服务功能向量, 然后利用服务功能向量的相似度计算服务之间相似度. 服务功能多
                 采用短文本自然语言进行描述. 相比主题模型, 以              BERT  为代表的预训练神经网络模型更适合服务功能描述的特
                 征提取. 然而, BERT    所生成向量空间的各向异性影响了服务功能向量的相似度计算精确度. Gao                          等人提出的
                 SimCSE  可以有效缓解    BERT  生成向量空间的各向异性, 提升服务功能向量的生成质量                   [29] . 在  SimCSE  中, 采用
                 BERT  模型为服务描述文本生成功能向量. 设           d  为一段服务描述文本, 令      h = f θ  (d), f θ 为调参的  BERT  模型, h  为  d
                 对应的文本向量.
                    在为  mr 及  Cw(mr) 中的服务生成潜在联合词时, 需确定         Nm(mr) 和  Cw(mr) 中的具体服务. 在此, 利用    SimCSE
                 框架分别为    Mashup  服务需求  mr、已有   Mashup  服务和  Web API 分别生成功能向量. 通过计算       mr 与已有  Mashup
                 服务之间的功能相似度, 为        mr 寻找相似度最高的       Top-X  个  Mashup  服务, 构建如公式  (4) 所示的集合  Nm(mr), 其
                 中     MS  为已有  Mashup  服务集合.
                                            Nm(mr) = {m|Top-X(sim(h mr ,h m ))∧m ∈ MS }               (4)
                    获取  Nm(mr) 中每一个   Mashup 服务的组件   Web API, 构建如公式  (5) 所示  mr 的一阶候选组件服务集合      Cw-1(mr):

                                                              ∪
                                                    Cw-1(mr) =    m.S                                 (5)
                                                             m∈Nm(mr)
                    为提高候选组件       Web API 推荐的合理性, 在一阶候选组件集合          Cw-1(mr) 的基础上构建二阶候选组件服务集
                 合     Cw-2(mr), 见公式  (6):
                                                     ∪
                                          Cw-2(mr) =     {Top-Y(sim(h s ,h s ′))∧ s ∈ WS }            (6)
                                                                         ′
                                                   s∈Cw-1(mr)
                    在  Web API 集合  WS  中, 选择与  Cw-1(mr) 中每一个组件  Web API 功能相似度最高的       Top-Y  个邻居  Web API
                 加入二阶候选组件服务集合          Cw-2(mr). 最后, 将  Cw-1(mr) 与  Cw-2(mr) 中的  Web API 合并, 形成  Mashup  服务需
                 求  mr 的候选组件集合    Cw(mr).
                    接下来, 使用    SYAKE  提取  Nm(mr) 与  Cw(mr) 中服务描述的功能特征词, 并通过标签适配度为             mr 和候选组
                 件服务生成潜在联合词. 见公式         (7)–公式  (9):

                                                              ∑            
                                                                   sim(h w ,h l ′) 
                                                                           
                                                               l ′ ∈s.L−l  
                                                                             
                                                         −
                                          F(w,l) = sim(h w ,h l )·  log                          (7)
                                                                             
                                                                           
                                                                 |s.L−l|   

                                                                               
                                                ∪                  ∪           
                                                                               
                                                   
                                                                                
                                       Law(mr) =   Top-n(F(l,w))∧w ∈  SYAKE(s.d)                    (8)
                                                                               
                                                                               
                                                l∈mr.L             s∈Cw(mr)

                                                                               
                                               ∪                  ∪            
                                                                               
                                                                                
                                                 
                                        Law(s) =  Top-n(F(l,w))∧w ∈  SYAKE(m.d)                     (9)
                                                                               
                                                                               
                                               l∈s.L             m∈Nm(mr)
                    服务  s 的功能描述    d  中词语  w  与其标签  l 的适配度   F(w, l) 参见公式  (7). 标签适配度由两部分组成: 词语        w
                 与标签   l 的相似度, 以及   w  与标签组除   l 外的标签相似度的倒数. F(w, l) 值越大, 说明词语         w  与标签  l 所表示的当
                 前服务的功能场景越匹配.
                    采用公式    (8) 为  mr 生成潜在联合词, 首先为     Cw(mr) 中每个  Web API 采用  SYAKE  模型提取特征词, 形成一
                 个特征词集合. 在该特征词集合中, 利用标签适配度, 为               mr 的每个标签筛选      Top-n  适配度最高的词语, 构成     mr 的
                 潜在联合特征词      Law(mr). 类似地, 采用公式   (9) 为  Cw(mr) 中的每个服务  s 推荐潜在联合词     Law(s).

                 3.1.3    融合潜在联合词的服务功能向量
                    Mashup  服务需求的潜在联合词提取自相似功能             Mashup  服务的组件服务描述中, 而候选组件          Web API 的潜
                 在联合词提取至其可能参与的           Mashup  服务, 因此, 潜在联合词从需求-供给互换的角度为             Mashup  服务需求和候
                 选组件   Web API 分别增加功能场景特征描述词. 将潜在联合词向量融入到                    Mashup  服务需求与候选组件       Web
   52   53   54   55   56   57   58   59   60   61   62