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

1950                                                       软件学报  2025  年第  36  卷第  5  期


                 vectors.  By  enhancing  the  accuracy  of  functional  similarity  matching,  it  obtains  a  high-quality  candidate  set  of  Web  API  components.
                 Function  association  and  collaboration  association  are  modeled  as  heterogeneous  service  association.  The  study  utilizes  heterogeneous
                 association compatibility to replace collaboration compatibility in traditional methods, thus enhancing the recommendation diversity of Web
                 APIs.  In  comparison,  the  proposed  approach  demonstrates  improvements  in  evaluation  indicators,  with  Recall,  Precision,  and  NDCG
                 enhanced  by  4.17%  to  16.05%,  4.46%  to  16.62%,  and  5.57%  to  17.26%,  respectively.  Additionally,  the  diversity  index  ILS  is  reduced  by
                 8.22% to 15.23%. The Recall and Precision values for cold-start Web API recommendation are 47.71% and 46.58% of those for non-cold-
                 start  Web  API  recommendation,  respectively.  Experimental  results  demonstrate  that  the  proposed  method  not  only  enhances  the  quality  of
                 Web API recommendation but also yields favorable results for cold-start Web API recommendations.
                 Key words:  Mashup service; heterogeneous association; Web API recommendation; diversity

                    Web API 是一种通过网络调用的应用程序接口, 可用于构建各类业务系统                     [1] . 为便于调用和集成, Web API 功
                 能粒度通常较小, 单个      Web API 难以完成复杂的业务需求. Mashup        服务将多个    Web API 混搭形成新的增值服务,
                 可以整合更多的数据资源, 提供丰富的业务功能               [2] . Mashup  服务中包含的  Web API 称为其组件  Web API (或组件
                 服务). Mashup  服务的组件   Web API 推荐是指在已有     Web API 中, 为  Mashup  服务需求寻求合适的组件服务, 已经
                 成为当前的热点研究问题         [3] .
                    网络中发布的大量        Web API 为  Mashup  服务提供了丰富的组件服务, 同时也增加了选择难度. 在为               Mashup
                 服务需求寻找组件服务时, 需提供所构建             Mashup  服务的功能关键词或者描述文本, 通过对功能关键词进行语义
                 解析, 或者采用主题模型、神经网络模型等对功能描述文本进行特征提取, 将提取的                           Mashup  服务需求的功能特
                 征与已有   Web API 进行匹配, 获得在功能上满足         Mashup  服务需求的候选    Web API 集合  [4] .
                    部分研究者将协同过滤思想引入到组件服务的筛选. 寻找与                     Mashup  服务需求相似的     Mashup  服务, 将这些
                 Mashup  服务的组件   Web API 作为候选服务, 开展功能和非功能匹配以便精准地推荐组件                   Web API. 上述做法利
                 用已有   Mashup  服务与  Web API 的历史调用关系以及      Web API 流行度等因素来提升推荐合理性. 然而, 在寻找与
                 Mashup  服务需求相似的    Mashup  服务时, 仍然以功能关键词或描述文本作为依据, 这些关键词和文本描述了服务
                 的功能, 但在应用场景层面提供的信息有限. 因此, 难以挖掘                Mashup  服务与组成   Web API 之间隐含的场景交互信
                 息, 从而影响了协同过滤的效果.
                    图  1  中的  Mashup  服务  Cool Bars, Restaurants and Clubs 是一个休闲社交  API. 使用者利用该服务可以查询附
                 近的餐馆、酒吧和俱乐部等休闲场所, 并即时分享社交状态与照片. 它由                      Google Maps 与  Twitter 两个  Web API 组
                 成, 二者分别负责场馆位置定位与社交信息展示.

                                              Mashup服务: Cool Bars, Restaurants and Clubs




                                      Localization、                       Interact
                                        geocoding

                                                               Review、
                                                      Venues
                                                                chat
                                                                          Web API: Twitter
                                       Web API: Google Maps




                                                    图 1 潜在联合词示例

                    在  Cool Bars, Restaurants and Clubs 服务的描述中, 存在  venues、review  和  chat 等词语, 这些词语不仅表达了
                 Mashup  服务的功能, 也是其组件      Web API 的应用场景特征词, 其中      venues 对应  Google Maps 的应用场景, review
                 和  chat 对应  Twitter 的应用场景. 同样, 从  Google Maps 与  Twitter 可以分别提取出表达  Mashup  服务功能场景的
   45   46   47   48   49   50   51   52   53   54   55