CN117493697B - 基于多模态特征融合的Web API推荐方法和系统 - Google Patents
基于多模态特征融合的Web API推荐方法和系统 Download PDFInfo
- Publication number
- CN117493697B CN117493697B CN202410002159.0A CN202410002159A CN117493697B CN 117493697 B CN117493697 B CN 117493697B CN 202410002159 A CN202410002159 A CN 202410002159A CN 117493697 B CN117493697 B CN 117493697B
- Authority
- CN
- China
- Prior art keywords
- mashup service
- web api
- mashup
- web
- recommendation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004927 fusion Effects 0.000 title claims abstract description 35
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 208
- 239000013598 vector Substances 0.000 claims abstract description 177
- 238000001914 filtration Methods 0.000 claims abstract description 32
- 230000001537 neural effect Effects 0.000 claims abstract description 27
- 230000002452 interceptive effect Effects 0.000 claims abstract description 20
- 238000013135 deep learning Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000012163 sequencing technique Methods 0.000 claims abstract description 6
- 230000003993 interaction Effects 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 20
- 238000011161 development Methods 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 abstract description 2
- 238000012549 training Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于多模态特征融合的Web API推荐方法和系统。通过使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量,使用神经协同过滤网络处理混搭服务与Web API的历史调用记录,得到混搭服务的交互特征向量,再融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量,计算预测向量得到Web API预测值;根据历史调用记录,以最小化预测值与实际值的差距为目的对模型进行训练。将预开发的混搭服务输入到训练的模型,得到推荐的Web API预测值,根据预测值大小对候选Web API排序作为推荐结果。本发明融合了混搭服务的多种特征,有效整合了各种模态的互补信息,提高了推荐Web API的准确性。
Description
技术领域
本发明涉及基于社交环境的信息检索领域,尤其是一种交互式混搭服务开发环境中基于多模态特征融合的Web API推荐方法和系统。
背景技术
近年来,可用Web API的数量和多样性正在经历剧烈的增长,这些Web API涵盖了人们工作和生活的各个方面,例如社交、视频、媒体等。通过标准化接口,任何兼容的设备都可以在开放的网络环境中轻松调用现有Web API。Web API的优势催生了一种新的应用程序开发技术,即混搭服务(Mashup)。通过组合现有Web API,软件开发人员可以更高效地构建复合应用程序(即混搭服务通过Web API的组合而产生),以应对复杂的业务需求。然而,不断增长的Web API数量给有效的Web API重复使用带来了重大挑战。因此,根据开发人员的需求为他们推荐适当的Web API,帮助他们减轻混搭服务开发过程中的Web API选择负担,已经成为一个不容忽视的问题。
CN112148999A公开了一种Web开放环境下基于Mashup服务邻域的Web API推荐方法,其方法包括:第一步,构建需求Mashup语义特征向量,匹配Mashup服务类簇;第二步,构建Web API邻域;第三步,根据邻域中构建好的Web API功能分类,对数据集中剩余的WebAPI进行功能类别划分;第四步,计算流行度和共现度,并进行排名,得到最终推荐列表。该方法基于聚类实现,缺点为过于依赖手动构建特征,这导致特征选择的困难和模型性能的不稳定性;并且,该方法只利用流行度、平均共现度特征做出Web API推荐,无法充分挖掘Web API之间的复杂交互关系,使得推荐结果的准确性难以得到保证。
再例如CN110851719A公开的基于协同过滤和链路预测的Mashup Web API个性化推荐,其包括五个步骤:第一步,mashup聚类;第二步,User链路预测;第三步,基于链路预测的协同过滤算法;第四步,Web API的流行度预测;第五步,Web API推荐模型。该方法使用聚类挖掘混搭服务的内容信息,使用协同过滤算法挖掘混搭服务历史调用信息,取得了较好的推荐效果。然而,聚类算法和协同过滤算法在Web API推荐领域已经显得过时,尤其是在与深度学习技术相比,它们的效率和准确性受到许多限制。
发明内容
本发明的发明目的在于:针对上述存在的全部或部分问题,提供一种基于多模态特征融合的Web API推荐方法和系统,通过充分挖掘混搭服务于Web API的交互关系,提高交互式混搭服务开发场景中Web API推荐的准确性。
本发明采用的技术方案如下:
一种基于多模态特征融合的Web API推荐方法,应用于交互式混搭服务开发场景,方法包括:
输入预开发的混搭服务到推荐模型,基于推荐模型输出的调用Web API的预测值对候选Web API进行排序,得到Web API的推荐结果;其中,所述推荐模型利用混搭服务的文本描述及混搭服务与Web API的历史调用记录,通过以下方法,以最小化混搭服务调用WebAPI的预测值和实际值之间的差距为目的训练得到:
使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量;
使用神经协同过滤网络处理混搭服务与Web API的历史调用记录,得到混搭服务的交互特征向量;
融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量;
基于混搭服务的预测向量计算混搭服务调用Web API的预测值。
进一步的,推荐模型的损失计算方法为:
其中,表示损失,其中/>表示模型参数,/>表示取最小值,/>表示混搭服务集合,/>表示Web API集合,/>表示/>中混搭服务的数目,/>表示/>中Web API的数目,/>表示/>中的一个混搭服务,/>表示/>中的一个Web API,/>表示/>对/>调用的实际值,如果/>调用了/>,则/>,否则/>,/>是/>对应的预测值。
进一步的,所述使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量,包括:
对混搭服务的文本描述进行预处理和词嵌入,得到词向量矩阵;
使用循环神经网络的激活函数分别计算所述词向量矩阵中各单词的隐藏状态;
最大池化各单词的隐藏状态,得到混搭服务的向量表示;
对混搭服务的向量表示进行线性转换,得到混搭服务的文本特征向量。
进一步的,使用神经协同过滤网络处理混搭服务与Web API的历史调用记录时,将混搭服务与Web API的历史调用记录表示为混搭服务-Web API交互矩阵形式作为神经协同过滤网络的输入。
进一步的,所述融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量,包括:
采用加权平均法融合混搭服务的文本特征向量和交互特征向量,并使用投影梯度下降法更新文本特征向量和交互特征向量的权重,以确定的最终权重下的融合特征向量作为混搭服务的预测向量。
为解决上述全部或部分问题,本发明还提供了一种基于多模态特征融合的WebAPI推荐系统,应用于交互式混搭服务开发场景,系统包括:
输入模块,被配置为输入预开发的混搭服务;
推荐模块,被配置为获取所述输入模块输入的预开发的混搭服务,使用推荐模型得到调用Web API的预测值,并基于得到的调用Web API的预测值对候选Web API进行排序;
输出模块,以对候选Web API的排序结果作为Web API的推荐结果进行输出;
其中,所述推荐模型包括基于文本特征的Web API推荐模块、基于图特征的WebAPI推荐模块,以及特征融合和Web API推荐排序模块;所述推荐模型利用混搭服务的文本描述及混搭服务与Web API的历史调用记录,以最小化混搭服务调用Web API的预测值和实际值之间的差距为目的进行训练;
所述基于文本特征的Web API推荐模块使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量;
所述基于图特征的Web API推荐模块使用神经协同过滤网络处理混搭服务与WebAPI的历史调用记录,得到混搭服务的交互特征向量;
所述特征融合和Web API推荐排序模块融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量;并基于混搭服务的预测向量计算混搭服务调用Web API的预测值;基于调用Web API的预测值对候选Web API进行排序。
进一步的,推荐模型的损失函数被配置为:
其中,表示损失,其中/>表示模型参数,/>表示取最小值,/>表示混搭服务集合,/>表示Web API集合,/>表示/>中混搭服务的数目,/>表示/>中Web API的数目,/>表示/>中的一个混搭服务,/>表示/>中的一个Web API,/>表示/>对/>调用的实际值,如果/>调用了/>,则/>,否则/>,/>是/>对应的预测值。
进一步的,所述基于文本特征的Web API推荐模块被配置为:
对混搭服务的文本描述进行预处理和词嵌入,得到词向量矩阵;
使用循环神经网络的激活函数分别计算词向量矩阵中各单词的隐藏状态;
最大池化各单词的隐藏状态,得到混搭服务的向量表示;
对混搭服务的向量表示进行线性转换,得到混搭服务的文本特征向量。
进一步的,所述基于图特征的Web API推荐模块将混搭服务与Web API的历史调用记录表示为混搭服务-Web API交互矩阵形式输入到神经协同过滤网络。
进一步的,所述特征融合和Web API推荐排序模块被配置为:
采用加权平均法融合混搭服务的文本特征向量和交互特征向量,并使用投影梯度下降法更新文本特征向量和交互特征向量的权重,以确定的最终权重下的融合特征向量作为混搭服务的预测向量。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明利用多模态特征融合技术,融合了混搭服务的多种特征,有效整合了各种模态的互补信息,深度挖掘出了混搭服务的特性,充分考虑了混搭服务与Web API之间的交互关系,使得推荐的Web API与预开发的混搭服务更为匹配,即提高了推荐结果的准确性。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明中推荐模型的模型架构。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
大多数现有的Web API推荐方法主要适用于一次性的混搭服务开发场景,即一次性的混搭服务的创建。然而,开发人员需要不断整合新的Web API来解决不断出现的挑战,这意味着混搭服务开发过程应该是迭代的。为此,本发明提出了一种基于多模态特征融合的交互式混搭服务开发的Web API推荐方法和系统,本发明使用不同的深度学习网络模型,分别提取混搭服务不同模态特征,其中,将混搭服务的文本描述输入到深度学习网络中进行处理,得到混搭服务的文本特征向量;将混搭服务与Web API的历史调用记录输入到神经协同过滤网络中进行处理,得到混搭服务的交互特征向量;在使用特征融合技术,融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量;最后,基于混搭服务的预测向量计算混搭服务调用Web API的预测值,并基于预测值对候选Web API进行排序,根据排序结果进行预定量截取等,得到Web API推荐结果。
实施例1
基于多模态特征融合的Web API推荐方法包括:
训练推荐模型,参见图1,推荐模型包括三个部分,即文本特征向量提取、交互特性向量提取,以及特征融合和Web API推荐。
推荐模型中,使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量。
使用神经协同过滤网络处理混搭服务与Web API的历史调用记录,得到混搭服务的交互特征向量。
融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量。
基于混搭服务的预测向量计算混搭服务调用Web API的预测值。
推荐模型利用混搭服务的文本描述及混搭服务与Web API的历史调用记录,以最小化混搭服务调用Web API的预测值和实际值之间的差距为目的进行训练。由于混搭服务开发是持续性的,因此,推荐模型的训练可以是不断利用最新调用记录进行优化的。
对于文本特性向量的获取,深度学习网络的处理过程包括:
由于混搭服务的文本描述通常包含噪音信息,不能直接用于模型学习。为了保留文本中的重要信息,先对混搭服务的文本描述进行预处理和词嵌入,预处理如文本过滤、词形还原等。
文本过滤的目的是清理和净化文本数据,去除一些噪声或无关的信息。常见的文本过滤操作包括:去除特殊字符和标点符号、单词转换为小写、去除停用词等。
词形还原是将词汇还原为它们的基本形式的过程。例如,将单词的各种时态和派生形式还原为它们的词根。这有助于减小词汇量,提高模型对文本的理解。
词嵌入即将文本描述中的单词转换为词向量。需要收集和编号所有单词以构建词汇表。词汇表中的所有单词是独立的,并具有一对一的索引映射。考虑一个由个单词组成的混搭服务的文本描述/>。在本实施例中,将所有单词使用热编码转换为稀疏二进制向量,并将这些向量输入到嵌入层,将每个单词映射到一个稠密向量。最后,将所有的单词嵌入堆叠在一起,将内容信息转化为一个词向量矩阵/>。这个过程可以形式化如下:
其中是混搭服务描述中的第i个单词,/>是/>的词向量表示,i=1、2…N D。
之后,使用循环神经网络的激活函数分别计算词向量矩阵E中各单词的隐藏状态。由于神经网络模型内在的特征选择能力,它们具有有效利用单词上下文并实现增强语义表示的能力,特别是对于循环神经网络(RNN)。RNN包括循环连接,允许有效地捕捉序列数据中存在的时间依赖性。考虑一个混搭服务的文本描述的词向量矩阵。RNN通过考虑输入单词和先前时刻的隐藏状态/>来更新当前时间/>的隐藏状态/>:
其中是一个d维向量,而/>是RNN的非线性激活函数。
通过应用最大池化操作得到了混搭服务的向量表示:
最大池化是一种在矩阵上选择固定大小区域内的最大值的操作。
通过这种方式,我们能够将混搭服务的文本描述转换为实值特征向量。最后,我们将输入到一个全连接层,进行线性转换,得到最终的向量表示/>,如下所示:
其中,是权重矩阵,/>是偏置项。
对于交互特征向量的获取,神经协同过滤网络的处理过程包括:
将混搭服务与Web API的历史调用记录表示为混搭服务-Web API交互矩阵形式。在本实施例中,使用和/>分别表示混搭和Web API的数目,定义混搭服务-Web API交互矩阵/>,对于某个混搭服务/>和某个Web API/>,如果/>调用过/>,则矩阵Y中对应位置的元素值为1,否则为0。
将混搭服务-Web API交互矩阵作为神经协同过滤网络的输入层的输入。在输入层之上是隐向量表示层,它是一个全连接层,将混搭服务-Web API交互矩阵中稀疏0-1向量投影到密集向量中,以分别获得混搭服务和Web API的隐向量。使用和分别表示混搭服务和Web API的隐向量矩阵,/>为隐向量的维度。隐向量矩阵在模型训练前会被随机初始化,并在模型训练过程中得到更新。用/>和/>分别表示混搭服务/>和Web API/>的隐向量,/>和/>会被输入到神经协同过滤层。神经协同过滤层是一个多层神经架构,其中的每一层都可以定制以挖掘混搭服务交互的某些潜在结构。最终的输出层输出一个预测向量/>(即交互特征向量)。这个过程的公式表达如下:
其中,为隐函数,/>表示函数/>的模型参数。由于函数/>定义为多层神经网络,可以表示如下:
其中,和/>分别表示输出层和第/>个神经协同过滤层的映射函数。
文本特征向量和交互特征向量分别基于混搭服务的内容信息和调用历史,对该两个特征向量进行多模态融合,以提高Web API推荐性能。
多模态融合通常用于增强模型的性能、稳定性和鲁棒性。本实施例中,采用了多模型融合的加权平均方法。在从多种信息源中提取特征向量之后,本实施例还使用投影梯度下降法来更新各特征向量的权重,并确定各特征向量的最终权重,最终权重下的融合特征向量作为混搭服务的预测向量。这个过程可以用下面的公式表示:
其中表示向量/>的叠加操作,/>是可训练的参数矩阵,/>是激活函数。
对于Web API推荐任务,在本实施例中将其转化为一个多标签分类问题。给定一个混搭服务集合和一个Web API集合/>,目标是训练一个分类器,可以使用/>的最相关子集来标记一个/>中的混搭服务/>。具体而言,本实施例使用二元交叉熵(Binary CrossEntropy)作为推荐模型的损失函数,它的定义如下:
其中,表示损失,其中/>表示模型参数,/>表示取最小值,/>表示混搭服务集合,/>表示Web API集合,/>表示/>中混搭服务的数目,/>表示/>中Web API的数目,/>表示/>中的一个混搭服务,/>表示/>中的一个Web API,/>表示/>对/>调用的实际值,如果/>调用了/>,则/>,否则/>,/>是/>对应的预测值。训练的目标是最小化/>与/>的差距,该目标通过迭代训练完成,训练完成后,推荐模型输出的预测值与目标值之间的差距即最小,进而具有更高的预测准确性。
推荐模型训练完成后,或者已经有训练好的推荐模型,输入预开发的混搭服务到推荐模型,推荐模型即输出调用Web API的预测值,由于推荐模型经过了训练,使得该预测值与目标值之间高度吻合。之后基于推荐模型输出的调用Web API的预测值以由高到低的顺序对候选Web API进行排序,通过选取或截取的方式,得到Web API的推荐结果。
预开发的混搭服务输入到推荐模型中后,推荐模型同样会使用深度学习网络处理其文本描述,得到其文本特征向量,之后与推荐模型中的交互特征向量进行融合,得到预测向量,进一步通过全连接得到对候选Web API的预测值。
实施例2
本实施例提供了一种基于多模态特征融合的Web API推荐系统,同样应用于交互式混搭服务开发场景。该系统包括输入模块、推荐模块和输出模块:
输入模块,被配置为输入预开发的混搭服务,该混搭服务包含其文本描述;
推荐模块,被配置为获取输入模块输入的预开发的混搭服务,使用推荐模型得到调用Web API的预测值,并基于得到的调用Web API的预测值对候选Web API进行排序;
输出模块,以对候选Web API的排序结果作为Web API的推荐结果进行输出。
推荐模块中所配重的推荐模型,可以参见实施例1中的方法进行训练。具体而言,参见图1,推荐模型包括基于文本特征的Web API推荐模块、基于图特征的Web API推荐模块,以及特征融合和Web API推荐排序模块。
1、基于文本特征的Web API推荐模块
基于文本特征的Web API推荐模块使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量。
混搭服务的文本描述通常包含噪音信息,不能直接用于模型学习。为了保留文本中的重要信息,先对混搭服务的文本描述进行预处理和词嵌入,预处理如文本过滤、词形还原等。
文本过滤的目的是清理和净化文本数据,去除一些噪声或无关的信息。常见的文本过滤操作包括:去除特殊字符和标点符号、单词转换为小写、去除停用词等。
词形还原是将词汇还原为它们的基本形式的过程。例如,将单词的各种时态和派生形式还原为它们的词根。这有助于减小词汇量,提高模型对文本的理解。
词嵌入即将文本描述中的单词转换为词向量。需要收集和编号所有单词以构建词汇表。词汇表中的所有单词是独立的,并具有一对一的索引映射。考虑一个由个单词组成的混搭服务的文本描述/>。在本实施例中,将所有单词使用热编码转换为稀疏二进制向量,并将这些向量输入到嵌入层,将每个单词映射到一个稠密向量。最后,将所有的单词嵌入堆叠在一起,将内容信息转化为一个词向量矩阵/>。这个过程可以形式化如下:
其中是混搭服务描述中的第i个单词,/>是/>的词向量表示,i=1、2…N D。
之后,使用循环神经网络的激活函数分别计算词向量矩阵E中各单词的隐藏状态。由于神经网络模型内在的特征选择能力,它们具有有效利用单词上下文并实现增强语义表示的能力,特别是对于循环神经网络(RNN)。RNN包括循环连接,允许有效地捕捉序列数据中存在的时间依赖性。考虑一个混搭服务的文本描述的词向量矩阵。RNN通过考虑输入单词和先前时刻的隐藏状态/>来更新当前时间/>的隐藏状态/>:
其中是一个d维向量,而/>是RNN的非线性激活函数。
通过应用最大池化操作得到了混搭服务的向量表示:
最大池化是一种在矩阵上选择固定大小区域内的最大值的操作。
通过这种方式,我们能够将混搭服务的文本描述转换为实值特征向量。最后,我们将输入到一个全连接层,进行线性转换,得到最终的向量表示/>,如下所示:
其中,是权重矩阵,/>是偏置项。
2、基于图特征的Web API推荐模块
基于图特征的Web API推荐模块使用神经协同过滤网络处理混搭服务与Web API的历史调用记录,得到混搭服务的交互特征向量。
基于图特征的Web API推荐模块将混搭服务与Web API的历史调用记录表示为混搭服务-Web API交互矩阵形式。在本实施例中,使用和/>分别表示混搭和Web API的数目,定义混搭服务-Web API交互矩阵/>,对于某个混搭服务/>和某个Web API/>,如果/>调用过/>,则矩阵Y中对应位置的元素值为1,否则为0。
基于图特征的Web API推荐模块将混搭服务-Web API交互矩阵作为神经协同过滤网络的输入层的输入。在输入层之上是隐向量表示层,它是一个全连接层,将混搭服务-WebAPI交互矩阵中稀疏0-1向量投影到密集向量中,以分别获得混搭服务和Web API的隐向量。使用和/>分别表示混搭服务和Web API的隐向量矩阵,/>为隐向量的维度。隐向量矩阵在模型训练前会被随机初始化,并在模型训练过程中得到更新。用/>和/>分别表示混搭服务/>和Web API/>的隐向量,/>和/>会被输入到神经协同过滤层。神经协同过滤层是一个多层神经架构,其中的每一层都可以定制以挖掘混搭服务交互的某些潜在结构。最终的输出层输出交互特征向量/>。这个过程的公式表达如下:
其中,为隐函数,/>表示函数/>的模型参数。由于函数/>定义为多层神经网络,可以表示如下:
其中,和/>分别表示输出层和第/>个神经协同过滤层的映射函数。
3、特征融合和Web API推荐排序模块
特征融合和Web API推荐排序模块融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量;并基于混搭服务的预测向量计算混搭服务调用Web API的预测值;基于调用Web API的预测值对候选Web API进行排序。
在本实施例中,特征融合和Web API推荐排序模块采用了多模型融合的加权平均算法。在从多种信息源中提取特征向量之后,本实施例还使用投影梯度下降法来更新各特征向量的权重,并确定各特征向量的最终权重,最终权重下的融合特征向量作为混搭服务的预测向量。这个过程可以用下面的公式表示:
其中表示向量/>的叠加操作,/>是可训练的参数矩阵,/>是激活函数。
对于Web API推荐任务,在本实施例中将其转化为一个多标签分类问题。给定一个混搭服务集合和一个Web API集合/>,目标是训练一个分类器,可以使用/>的最相关子集来标记一个/>中的混搭服务/>。具体而言,本实施例使用二元交叉熵(Binary CrossEntropy)作为推荐模型的损失函数,它的定义如下:
其中,表示损失,其中/>表示模型参数,/>表示取最小值,/>表示混搭服务集合,/>表示Web API集合,/>表示/>中混搭服务的数目,/>表示/>中Web API的数目,/>表示/>中的一个混搭服务,/>表示/>中的一个Web API,/>表示/>对/>调用的实际值,如果/>调用了/>,则/>,否则/>,/>是/>对应的预测值。训练的目标是最小化/>与/>的差距,该目标通过迭代训练完成,训练完成后,推荐模型输出的预测值与目标值之间的差距即最小,进而具有更高的预测准确性。
推荐模型利用混搭服务的文本描述及混搭服务与Web API的历史调用记录,以最小化混搭服务调用Web API的预测值和实际值之间的差距为目的进行训练。
推荐模型训练后,从输入模块输入预开发的混搭服务,推荐模块对其文本特征向量进行提取,再与模型中的交互特征向量融合,之后计算出候选Web API的预测值,根据大小进行排序,输出模块输出排序的Web API作为推荐结果。
在实施例1、实施例2基础上,还需要说明的是,在本发明中,提取混搭服务的文本特征向量的深度学习网络,除了使用循环神经网络外,也可以使用其他深度学习网络模型。另外,在融合文本特征向量和交互特征向量基础上,还可以融合进更多的特征向量,即可以对特征融合部分进行扩展,加入更多模态的特征向量。
实施例3
本实施例对本发明方案进行了性能验证。本实施例在从ProgrammableWeb网站爬取的真实数据集上,进行了广泛的实验,以验证本发明的有效性。
为了评估本发明推荐方案的有效性,本实施例使用了多种代表性的推荐方法作为基准模型。
SPR模型: 该方法联合建模混搭服务描述和所包含的Web API,使用作者主题模型,然后根据混搭服务描述的主题结构分析进行Web API推荐。
MTFM模型: 该方法结合了基于协同过滤和基于内容的方法的优点,联合学习WebAPI推荐任务和混搭服务类别预测任务。MTFM使用语义组件来编码混搭服务,并引入了特征交互组件来建模混搭服务之间的交互。
RWR模型: 该方法通过设计知识图的架构来编码混搭服务特定的上下文,并使用图形实体来建模混搭服务需求。RWR利用随机游走来根据知识图评估混搭服务需求与WebAPI之间的潜在相关性。
NGCF模型:NGCF 是一个通用的推荐框架,通过在用户-项目图结构上传播嵌入来实现。这使得能够模拟用户-项目图中的高阶连接性,有效地将协同信号注入到嵌入过程中。
表1 模型指标对比
本实施例将本发明提出的推荐模型的性能与基准方法进行比较。表1显示了不同方法的三个性能指标的实验结果,其中TISR和GISR分别表示仅使用基于文本特征的WebAPI推荐模块提取特征向量进行预测的模型和仅使用基于图特征的Web API推荐模块提取特征向量进行预测的模型,MFSRec表示融合了多模态特征的模型。
对于基准模型,观察到SPR和RWR的性能明显较差,特别是在NDCG@K和MAP@K指标方面。这两种方法没有利用深度学习技术来训练模型,这是它们性能较差的主要原因。SPR联合建模混搭服务描述和Web API使用主题模型。然而,其未考虑Web API和混搭服务之间的语义差异。RWR利用随机游走来评估混搭服务要求与根据知识图的Web API之间的潜在相关性。在图嵌入时代,这种方法已经过时并滞后。
与RWR一样,NGCF仅利用混搭服务的历史调用信息。NGCF是一种广泛适用于学习用户物品图中高阶连接性的方法。然而,在小规模数据集上,其性能可能受到限制。MTFM同时实施混搭服务类别预测和服务推荐,并在所有评估指标中优于上述基准方法。
尽管仅利用图结构特征,NGCF在所有评估指标上表现也较为出色。但考虑到语义差距,仅依靠混搭服务要求和Web API描述之间的相似性进行服务推荐是不合理的。
与所有基准模型相比,MFSRec将各种类型的信息作为输入,并采用合理的特征融合策略,实现了更好的推荐性能。MFSRec在所有准确性指标上明显优于其他模型。当K设置为5(10)时,MFSRec在召回率方面优于MTFM分别提高了148.57%(102.34%),在MAP方面提高了301.21%(282.91%),在NDCG方面提高了247.31%(214.87%)。通过整合多模态特征,MFSRec在Recall@10方面获得了显着的提高,比TISR和GISR分别高出101.47%和5.24%。由此可知,本发明方案在交互式混搭模型开发环境中,在为混搭模型推荐的Web API的准确性上具有明显优势。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (6)
1.一种基于多模态特征融合的Web API推荐方法,应用于交互式混搭服务开发场景,其特征在于,方法包括:
输入预开发的混搭服务到推荐模型,基于推荐模型输出的调用Web API的预测值对候选Web API进行排序,得到Web API的推荐结果;其中,所述推荐模型利用混搭服务的文本描述及混搭服务与Web API的历史调用记录,通过以下方法,以最小化混搭服务调用Web API的预测值和实际值之间的差距为目的训练得到:
使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量;
使用神经协同过滤网络处理混搭服务与Web API的历史调用记录,得到混搭服务的交互特征向量;使用神经协同过滤网络处理混搭服务与Web API的历史调用记录时,将混搭服务与Web API的历史调用记录表示为混搭服务-Web API交互矩阵形式作为神经协同过滤网络的输入;交互特征向量的计算方法为:/>,,其中,/>为隐函数,表示函数/>的模型参数,/>和/>分别表示混搭服务和Web API的隐向量矩阵, />和/>分别表示混搭服务和Web API的数目,/>为隐向量的维度,/>和/>分别表示混搭服务和Web API的隐向量,/>和/>分别表示输出层和第/>个神经协同过滤层的映射函数;
融合混搭服务的文本特征向量和交互特征向量,得到混搭服务的预测向量,包括:采用加权平均法融合混搭服务的文本特征向量和交互特征向量,并使用投影梯度下降法更新文本特征向量和交互特征向量的权重,以确定的最终权重下的融合特征向量作为混搭服务的预测向量;
基于混搭服务的预测向量计算混搭服务调用Web API的预测值。
2.如权利要求1所述的基于多模态特征融合的Web API推荐方法,其特征在于,推荐模型的损失计算方法为:
其中,表示损失,其中/>表示模型参数,/>表示取最小值,/>表示混搭服务集合,表示Web API集合,/>表示/>中混搭服务的数目,/>表示/>中Web API的数目,/>表示/>中的一个混搭服务,/>表示/>中的一个Web API,/>表示/>对/>调用的实际值,如果/>调用了/>,则/>,否则/>,/>是/>对应的预测值。
3. 如权利要求1所述的基于多模态特征融合的Web API推荐方法,其特征在于,所述使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量,包括:
对混搭服务的文本描述进行预处理和词嵌入,得到词向量矩阵;
使用循环神经网络的激活函数分别计算所述词向量矩阵中各单词的隐藏状态;
最大池化各单词的隐藏状态,得到混搭服务的向量表示;
对混搭服务的向量表示进行线性转换,得到混搭服务的文本特征向量。
4.一种基于多模态特征融合的Web API推荐系统,应用于交互式混搭服务开发场景,其特征在于,系统包括:
输入模块,被配置为输入预开发的混搭服务;
推荐模块,被配置为获取所述输入模块输入的预开发的混搭服务,使用推荐模型得到调用Web API的预测值,并基于得到的调用Web API的预测值对候选Web API进行排序;
输出模块,以对候选Web API的排序结果作为Web API的推荐结果进行输出;
其中,所述推荐模型包括基于文本特征的Web API推荐模块、基于图特征的Web API推荐模块,以及特征融合和Web API推荐排序模块;所述推荐模型利用混搭服务的文本描述及混搭服务与Web API的历史调用记录,以最小化混搭服务调用Web API的预测值和实际值之间的差距为目的进行训练;
所述基于文本特征的Web API推荐模块使用深度学习网络处理混搭服务的文本描述,得到混搭服务的文本特征向量;
所述基于图特征的Web API推荐模块使用神经协同过滤网络处理混搭服务与Web API的历史调用记录,得到混搭服务的交互特征向量;所述基于图特征的Web API推荐模块将混搭服务与Web API的历史调用记录表示为混搭服务-Web API交互矩阵形式输入到神经协同过滤网络;交互特征向量的计算方法为:/>,,其中,/>为隐函数,表示函数/>的模型参数,/>和/>分别表示混搭服务和Web API的隐向量矩阵, />和/>分别表示混搭服务和Web API的数目,/>为隐向量的维度,/>和/>分别表示混搭服务和Web API的隐向量,/>和/>分别表示输出层和第/>个神经协同过滤层的映射函数;
所述特征融合和Web API推荐排序模块采用加权平均法融合混搭服务的文本特征向量和交互特征向量,并使用投影梯度下降法更新文本特征向量和交互特征向量的权重,以确定的最终权重下的融合特征向量作为混搭服务的预测向量;并基于混搭服务的预测向量计算混搭服务调用Web API的预测值;基于调用Web API的预测值对候选Web API进行排序。
5.如权利要求4所述的基于多模态特征融合的Web API推荐系统,其特征在于,推荐模型的损失函数被配置为:
其中,表示损失,其中/>表示模型参数,/>表示取最小值,/>表示混搭服务集合,表示Web API集合,/>表示/>中混搭服务的数目,/>表示/>中Web API的数目,/>表示/>中的一个混搭服务,/>表示/>中的一个Web API,/>表示/>对/>调用的实际值,如果/>调用了/>,则/>,否则/>,/>是/>对应的预测值。
6. 如权利要求4所述的基于多模态特征融合的Web API推荐系统,其特征在于,所述基于文本特征的Web API推荐模块被配置为:
对混搭服务的文本描述进行预处理和词嵌入,得到词向量矩阵;
使用循环神经网络的激活函数分别计算词向量矩阵中各单词的隐藏状态;
最大池化各单词的隐藏状态,得到混搭服务的向量表示;
对混搭服务的向量表示进行线性转换,得到混搭服务的文本特征向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410002159.0A CN117493697B (zh) | 2024-01-02 | 2024-01-02 | 基于多模态特征融合的Web API推荐方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410002159.0A CN117493697B (zh) | 2024-01-02 | 2024-01-02 | 基于多模态特征融合的Web API推荐方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493697A CN117493697A (zh) | 2024-02-02 |
CN117493697B true CN117493697B (zh) | 2024-04-26 |
Family
ID=89669456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410002159.0A Active CN117493697B (zh) | 2024-01-02 | 2024-01-02 | 基于多模态特征融合的Web API推荐方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493697B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676332A (zh) * | 2022-03-31 | 2022-06-28 | 广东外语外贸大学 | 一种面向开发者的网络api推荐方法 |
CN115964568A (zh) * | 2023-02-10 | 2023-04-14 | 南京邮电大学 | 一种基于边缘缓存的个性化推荐方法 |
CN116107619A (zh) * | 2022-12-02 | 2023-05-12 | 杭州电子科技大学 | 一种基于因子分解机的Web API推荐方法 |
CN116628328A (zh) * | 2023-03-09 | 2023-08-22 | 浙江大学 | 一种基于功能语义和结构交互的Web API推荐方法及装置 |
CN116821508A (zh) * | 2023-07-12 | 2023-09-29 | 广东外语外贸大学 | 一种基于超图对比学习的网络api推荐方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8191005B2 (en) * | 2007-09-27 | 2012-05-29 | Rockwell Automation Technologies, Inc. | Dynamically generating visualizations in industrial automation environment as a function of context and state information |
-
2024
- 2024-01-02 CN CN202410002159.0A patent/CN117493697B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676332A (zh) * | 2022-03-31 | 2022-06-28 | 广东外语外贸大学 | 一种面向开发者的网络api推荐方法 |
CN116107619A (zh) * | 2022-12-02 | 2023-05-12 | 杭州电子科技大学 | 一种基于因子分解机的Web API推荐方法 |
CN115964568A (zh) * | 2023-02-10 | 2023-04-14 | 南京邮电大学 | 一种基于边缘缓存的个性化推荐方法 |
CN116628328A (zh) * | 2023-03-09 | 2023-08-22 | 浙江大学 | 一种基于功能语义和结构交互的Web API推荐方法及装置 |
CN116821508A (zh) * | 2023-07-12 | 2023-09-29 | 广东外语外贸大学 | 一种基于超图对比学习的网络api推荐方法及装置 |
Non-Patent Citations (2)
Title |
---|
"Structure Reinforcing and Attribute Weakening Network based API Recommendation Approach for Mashup Creation";Yong Xiao等;《2020 IEEE International Conference on Web Services (ICWS)》;20201222;第1-4页 * |
"融合SOM功能聚类与DeepFM质量预测的API服务推荐方法";曹步清等;《计算机学报》;20190630;第1367-1383页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117493697A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111611472B (zh) | 一种基于图卷积神经网络的捆绑推荐方法及系统 | |
CN111967615B (zh) | 基于特征抽取的多模型训练方法及设备、电子设备和介质 | |
Xu et al. | Modal-adversarial semantic learning network for extendable cross-modal retrieval | |
WO2023065211A1 (zh) | 一种信息获取方法以及装置 | |
CN114372414B (zh) | 多模态模型构建方法、装置和计算机设备 | |
CN112800342A (zh) | 基于异质信息的推荐方法、系统、计算机设备和存储介质 | |
CN111538794A (zh) | 一种数据融合方法、装置及设备 | |
Wang et al. | An enhanced multi-modal recommendation based on alternate training with knowledge graph representation | |
Ji et al. | Semantic-guided class-imbalance learning model for zero-shot image classification | |
JP7181999B2 (ja) | 検索方法及び検索装置、記憶媒体 | |
CN113806554A (zh) | 面向海量会议文本的知识图谱构建方法 | |
CN115344863A (zh) | 一种基于图神经网络的恶意软件快速检测方法 | |
CN113761359A (zh) | 数据包推荐方法、装置、电子设备和存储介质 | |
CN110910235A (zh) | 一种基于用户关系网络的贷中异常行为检测方法 | |
CN117493697B (zh) | 基于多模态特征融合的Web API推荐方法和系统 | |
Krivosheev et al. | Business entity matching with siamese graph convolutional networks | |
CN111797175B (zh) | 数据存储方法、装置、存储介质及电子设备 | |
CN116701766A (zh) | 面向序列化推荐的图耦合时间间隔网络研究 | |
CN116737979A (zh) | 基于上下文引导多模态关联的图像文本检索方法及系统 | |
CN116205726A (zh) | 一种贷款风险预测方法、装置、电子设备及存储介质 | |
CN106156259A (zh) | 一种用户行为信息展示方法及系统 | |
CN112734519B (zh) | 一种基于卷积自编码器网络的商品推荐方法 | |
CN112328653B (zh) | 数据识别方法、装置、电子设备及存储介质 | |
Li et al. | Face recognition algorithm based on multiscale feature fusion network | |
CN115578100A (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 |