CN116628328A - 一种基于功能语义和结构交互的Web API推荐方法及装置 - Google Patents
一种基于功能语义和结构交互的Web API推荐方法及装置 Download PDFInfo
- Publication number
- CN116628328A CN116628328A CN202310572045.5A CN202310572045A CN116628328A CN 116628328 A CN116628328 A CN 116628328A CN 202310572045 A CN202310572045 A CN 202310572045A CN 116628328 A CN116628328 A CN 116628328A
- Authority
- CN
- China
- Prior art keywords
- api
- mashup
- structural
- mashup application
- functional
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 238000012549 training Methods 0.000 claims abstract description 9
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 116
- 239000013598 vector Substances 0.000 claims description 67
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000011176 pooling Methods 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000006467 substitution reaction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002203 pretreatment 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- 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/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- 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/042—Knowledge-based neural networks; Logical representations of neural 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/0464—Convolutional networks [CNN, ConvNet]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种基于功能语义和结构交互的WebAPI推荐方法,属于Web环境中WebAPI推荐技术领域。它解决了现有Mashup服务需求描述过短等问题。本基于功能语义和结构交互的WebAPI推荐方法,步骤S1:采集现有Mashup应用及其相关的API服务中的描述数据,并提取获取Mashup应用文本描述信息及API服务文本描述信息;步骤S2:针对Mashup应用及API服务的文本描述信息进行预处理;步骤S3:针对Mashup应用中使用的API服务之间的协作关系,构建Mashup‑API二部图;步骤S4:构建功能性语义组件,提取文本描述信息中的功能性语义特征;步骤S5:构建结构性交互组件,提取稀疏交互中的潜在隐性相关性;步骤S6:融合多模型训练,集成不同类型的特征描述。本发明具有降低了数据稀疏性对推荐结果的影响等优点。
Description
技术领域
本发明属于Web环境中Web API推荐技术领域,特别涉及一种基于功能语义和结构交互的Web API推荐方法及装置。
背景技术
近年来,随着云计算、移动计算和区块链等新软件技术的出现,越来越多的公司和组织开始调整发展战略,将数据、资源或者相关业务通过Web服务的形式发布到互联网上,并通过Web API实现其价值主张的同时,提高信息的利用率和自身竞争力,然而传统的服务大多数遵循简单对象访问协议,通常针对某一特定领域的业务需求,提供单一功能的服务,此外还存在技术体系复杂、扩展性差等问题,逐渐难以适应现实生活中复杂多变的应用场景。
为了克服传统服务带来的问题,以混搭技术为基础的Mashup服务应运而生,受到大量企业和开发者的青睐,Mashup服务能将单一功能的服务和多种数据资源进行整合混搭,允许用户集成现有的Web服务资源,并创建复合Web应用程序,对复杂的业务需求做出反应,然而,现有的Web API推荐方法中,传统基于API关键字搜索方法仅单独考虑候选API的列表,忽略了不同列表中选择的API在功能上是兼容的;基于内容的推荐方法专注于挖掘需求和Web API之间的关系,并利用各种技术,例如主题建模、链接分析、深度学习和各种特征(文档、标签、主题和流行度)等来提高推荐的准确性,但所述功能性文档描述往往长短不一,无法提供足够完整的信息;基于协同过滤的方法旨在通过聚合候选Web API和所选mashup之间的相关得分来对候选Web API进行排序,但没有足够重视Web API与mashup需求之间的匹配,目前缺乏兼顾功能语义与交互结构两方面的Web API推荐技术。
此外,随着互联网上Web API的数量不断增加,不同功能Web服务之间的异构关系进一步恶化,推荐系统需要面对两个挑战:一是Mashup服务描述文档通常比较简短、特征稀疏、信息量少,如何有效地根据简短的描述信息提取Mashup服务描述需求的潜在信息,二是Web API服务集合数量众多且关系复杂,所述关系主要表现在:不同功能Web API之间存在隐性适配关系,相同功能Web API之间存在的显性互斥关系,这大大地增加推荐系统搜索相关联Web API服务的工作量,如何快速的、有效地确定Web API服务候选集合。
发明内容
本发明的目的是针对现有技术中存在的上述问题,提供了一种基于功能语义和结构交互的Web API推荐方法及系统。
本发明的第一个目的可通过下列技术方案来实现:一种基于功能语义和结构交互的Web API推荐方法,其特征在于,包括以下步骤:
步骤S1:采集现有Mashup应用及其相关的API服务中的描述数据,并提取获取Mashup应用文本描述信息及API服务文本描述信息;
步骤S2:针对Mashup应用及API服务的文本描述信息进行预处理,获取词索引表示的文本集向量矩阵;
步骤S3:针对Mashup应用中使用的API服务之间的协作关系,构建Mashup-API二部图;
步骤S4:构建功能性语义组件,提取文本描述信息中的功能性语义特征;
步骤S5:构建结构性交互组件,提取稀疏交互中的潜在隐性相关性;
步骤S6:融合多模型训练,集成不同类型的特征描述。
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S1中,首先从Mashup应用中获取带有API服务和Mashup应用的描述数据,所述的描述数据包括API服务名称、API服务文本描述信息、API服务类别、API服务提供者、Mashup应用名称、Mashup应用文本描述信息、Mashup应用类别、Mashup应用与API服务的调用关系,所述的Mashup应用文本描述信息及API服务文本描述信息包括围绕介绍目标的功能信息;
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S2中,采用数据预处理方法对Mashup应用文本描述信息和待选API服务文本描述信息进行解析,分别建立Mashup应用和API服务的词汇表,进行词索引向量化,得到词索引表示的文本集向量矩阵。
在上述的基于功能语义和结构交互的Web API推荐方法中,所述预处理方法主要包括:文本过滤、缩写替换、词性还原、单词矢量化。
所述的文本过滤方法中,采用正则表达式来过滤无效单词,所述的无效单词包括标签、标点符号、非字符、停用词。
所述缩写替换方法中,将缩写单词替换为完整拼写的单词。
所述词性还原方法中,采用Lucene包中的StandardAnalyzer和PosterStemFilter工具将所有术语转换为去掉前缀和后缀的词汇格式。
所述单词矢量化方法中,构建现有单词的词汇表,并采用Glove.6B.300d预训练模型的单词向量来初始化现有单词的嵌入,并随机初始化冷启动单词的向量,所述的词汇表中所有单词都是独立的,并且具有一对一的索引,所述的冷启动单词指的是现有词汇表中未涵盖到的单词。
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S3中,基于步骤S1得到的Mashup与API调用交互关系,构建Mashup-API二部图,并选取类别、提供者作为二部图的补充信息。
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S4中,基于所述步骤S2得到Mashup应用的词汇表以及词索引表示的文本集向量矩阵,构建功能性语义组件,提取文本描述信息,并得到语义特征向量UFSC,所述功能性语义组件由卷积神经网络模型组成。
在上述的基于功能语义和结构交互的Web API推荐方法中,所述的卷积神经网络模型共分为四层,分别为:嵌入层、卷积层、池化层、全连接层;
所述的嵌入层将词索引表示的文本集向量矩阵作为输入,输出得到具有固定大小的Mashup应用文本词向量表征,所述Mashup应用文本向量表征为Q={q1,q2,......,q|r|},其中qi∈Q表示关键词,所述的文本向量是以关键字序列的形式表达目标Mashup应用的功能。
所述卷积层中的卷积核的卷积操作是在大小为wsj的字窗口上滑动,得到若干特征映射向量gi,所述的卷积操作如下:
gi=relu(GiEm+bi)
其中,bi表示偏置项,Em是对应于Mashup应用文本描述的单词嵌入矩阵,relu表示卷积层的激活函数。
所述池化层将会对特征映射向量采用最大池化(Max Pooling)操作,所述的MaxPooling操作的目的是简化卷积层输出特征中的冗余细节,并将经过Max Pooling操作得到的若干个向量以拼接的方式合并:
ej=[MaxPooling(gi);...;MaxPooling(gI)]
其中,I表示不同大小的卷积核的数量,所述的不同大小的卷积核是由于需要采用不同大小的卷积窗口来增强对卷积层输出特征的提取。
在本实例实施过程中,所述经过多个不同大小的卷积窗口得到的输出为:
e=[e1;...;ej;...;eJ]
其中,ej对应于卷积窗口大小为wsj的输出。
所述全连接层将会把学到的特征表示映射到样本的标记空间,得到语义嵌入向量:
UFSC=sigmoid(W0e+b0)
其中表示W0权重矩阵,b0表示偏置项,sigmoid表示激活函数。
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S5中,基于所述步骤S3中得到Mashup-API稀疏二部图以及步骤S4中得到的语义特征向量UFSC,构建结构性交互组件,提取稀疏矩阵中的功能交互性和潜在隐性相关性,并得到交互特征向量USIC,所述的结构性交互组件包括特征交互性提取单元、结构相关性提取单元、输出单元组成。
所述的特征交互性提取单元使用API生成Mashup应用的交互向量:
UMM=UFSC·VT
其中,是所有API的嵌入向量,通过处理API的各种元数据进行初始化,如API的功能语义和标签/类别。
所述的结构相关性提取单元用于对输入的Mashup-API稀疏二部图进行图卷积操作以提取结构表征,具体地,将GCN中的特征变换和非线性激活操作从LightGCN中去除形成改进的LightGCN,利用改进的LightGCN对输入的Mashup-API稀疏二部图进行卷积操作以提取结构表征,通过将特征变换和非线性激活操作剔除,通过双层LightGCN卷积得到的表征作为结构表征。
所述输出单元是将特征交互性向量和结构相关性向量进行融合,以得到结构交互组件的最终输出
USIC={UMM;Ugcn}
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S6中,基于步骤S4和步骤S5得到的特征向量,集成不同类型的特征,并弥补不同模型的异构性,采用多模型融合的方式来聚合所获得的特征,所述多模型融合如下:
其中,UMMF=[UFSC,USIC],WTL和bTL分别是特定任务层中的权重矩阵和偏差向量。
本发明的第二个目的可通过下列技术方案来实现:一种基于功能语义和结构交互的Web API推荐方法装置,包括输入端、输出端、一个或多个处理器、存储器以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行上述的一种基于功能语义和结构交互的Web API推荐方法。
与现有技术相比,本发明具有兼容功能性语义表示和结构性交互的特点,具有自动学习,端到端训练和表示准确的特点、功能性语义特征嵌入学习,自动的特征组合与过滤,获得不同抽象层次的语义信息、结构性交互特征嵌入学习,降低了数据稀疏性对推荐结果的影响,优化冷启动问题、多模型融合,集成不同类型的特征,弥补不同模型之间存在的异构性的优点。
附图说明
图1是本发明的一种基于功能语义和结构交互的Web API推荐方法的流程图。
图2是本发明的流程示意图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
如图1-图2所示,
本发明的第一个目的可通过下列技术方案来实现:一种基于功能语义和结构交互的Web API推荐方法,包括以下步骤:
步骤S1:采集现有Mashup应用及其相关的API服务中的描述数据,并提取获取Mashup应用文本描述信息及API服务文本描述信息;
步骤S2:针对Mashup应用及API服务的文本描述信息进行预处理,获取词索引表示的文本集向量矩阵;
步骤S3:针对Mashup应用中使用的API服务之间的协作关系,构建Mashup-API二部图;
步骤S4:构建功能性语义组件,提取文本描述信息中的功能性语义特征;
步骤S5:构建结构性交互组件,提取稀疏交互中的潜在隐性相关性;
步骤S6:融合多模型训练,集成不同类型的特征描述。
进一步细说,步骤S1中,首先从Mashup应用中获取带有API服务和Mashup应用的描述数据,描述数据包括API服务名称、API服务文本描述信息、API服务类别、API服务提供者、Mashup应用名称、Mashup应用文本描述信息、Mashup应用类别、Mashup应用与API服务的调用关系,Mashup应用文本描述信息及API服务文本描述信息包括围绕介绍目标的功能信息;
进一步细说,步骤S2中,采用数据预处理方法对Mashup应用文本描述信息和待选API服务文本描述信息进行解析,分别建立Mashup应用和API服务的词汇表,进行词索引向量化,得到词索引表示的文本集向量矩阵。
进一步细说,预处理方法主要包括:文本过滤、缩写替换、词性还原、单词矢量化。
文本过滤方法中,采用正则表达式来过滤无效单词,无效单词包括标签、标点符号、非字符、停用词。
缩写替换方法中,将缩写单词替换为完整拼写的单词。
词性还原方法中,采用Lucene包中的StandardAnalyzer和Poster StemFilter工具将所有术语转换为去掉前缀和后缀的词汇格式。
单词矢量化方法中,构建现有单词的词汇表,并采用Glove.6B.300d预训练模型的单词向量来初始化现有单词的嵌入,并随机初始化冷启动单词的向量,词汇表中所有单词都是独立的,并且具有一对一的索引,冷启动单词指的是现有词汇表中未涵盖到的单词。
进一步细说,步骤S3中,基于步骤S1得到的Mashup与API调用交互关系,构建Mashup-API二部图,并选取类别、提供者作为二部图的补充信息。
进一步细说,Mashup-API二部图,在实施例中,在构建将Mashup应用相关编码和API服务编码作为节点,分别置于两侧,当在一个Mashup应用中使用了相关的API服务时,则在Mashup应用编码与API服务编码之间建立一条连边,以构建Mashup-API的稀疏二部图。
进一步细说,步骤S4中,基于步骤S2得到Mashup应用的词汇表以及词索引表示的文本集向量矩阵,构建功能性语义组件,提取文本描述信息,并得到语义特征向量UFSC,功能性语义组件由卷积神经网络模型组成。
具体地,卷积神经网络模型的核心思想是从一个由多个单词组成的滑动窗口中捕捉局部特征,通过对滑动窗口内单词的卷积操作和非线性激活操作剔除,可以有效地自动组合和过滤特征,以获得不同抽象层次的语义信息。
进一步细说,卷积神经网络模型共分为四层,分别为:嵌入层、卷积层、池化层、全连接层;
嵌入层将词索引表示的文本集向量矩阵作为输入,输出得到具有固定大小的Mashup应用文本词向量表征,Mashup应用文本向量表征为Q={q1,q2,......,qr},其中qi∈Q表示关键词,文本向量是以关键字序列的形式表达目标Mashup应用的功能。
卷积层中的卷积核的卷积操作是在大小为wsj的字窗口上滑动,得到若干特征映射向量gi,卷积操作如下:
gi=relu(GiEm+bi)
其中,bi表示偏置项,Em是对应于Mashup应用文本描述的单词嵌入矩阵,relu表示卷积层的激活函数。
为了有效筛选出描述文本特征中的重要语义特征,池化层将会对特征映射向量采用最大池化(Max Pooling)操作,Max Pooling操作的目的是简化卷积层输出特征中的冗余细节,并将经过Max Pooling操作得到的若干个向量以拼接的方式合并:
ej=[MaxPooling(gi);...;MaxPooling(gI)]
其中,I表示不同大小的卷积核的数量,不同大小的卷积核是由于需要采用不同大小的卷积窗口来增强对卷积层输出特征的提取。
在本实例实施过程中,经过多个不同大小的卷积窗口得到的输出为:
e=[e1;...;ej;...;eJ]
其中,ej对应于卷积窗口大小为wsj的输出。
全连接层将会把学到的特征表示映射到样本的标记空间,得到语义嵌入向量:
UFSC=sigmoid(W0e+b0)
其中表示W0权重矩阵,b0表示偏置项,sigmoid表示激活函数。
进一步细说,步骤S5中,基于步骤S3中得到Mashup-API稀疏二部图以及步骤S4中得到的语义特征向量UFSC,构建结构性交互组件,提取稀疏矩阵中的功能交互性和潜在隐性相关性,并得到交互特征向量USIC,结构性交互组件包括特征交互性提取单元、结构相关性提取单元、输出单元组成。
特征交互性提取单元使用API生成Mashup应用的交互向量:
UMM=UFSC·VT
其中,线性运算·是为了提取历史数据中那些常见且高度频繁的交互模式,是所有API的嵌入向量,通过处理API的各种元数据进行初始化,如API的功能语义和标签/类别。
结构相关性提取单元用于对输入的Mashup-API稀疏二部图进行图卷积操作以提取结构表征,具体地,将GCN中的特征变换和非线性激活操作从LightGCN中去除形成改进的LightGCN,利用改进的LightGCN对输入的Mashup-API稀疏二部图进行卷积操作以提取结构表征,通过将特征变换和非线性激活操作剔除,可以减少计算复杂度,大大提高计算效率,降低训练时间,具体的通过双层LightGCN卷积得到的表征作为结构表征,LightGCN是当今在推荐领域被最广泛使用的图神经网络之一,它能够便捷高效地处理图内的高阶特征嵌入关系Ugcn。
输出单元是将特征交互性向量和结构相关性向量进行融合,以得到结构交互组件的最终输出
USIC={UMM;Ugcn}
进一步细说,步骤S6中,基于步骤S4和步骤S5得到的特征向量,集成不同类型的特征,并弥补不同模型的异构性,采用多模型融合的方式来聚合所获得的特征,多模型融合如下:
其中,UMMF=[UFSC,USIC],WTL和bTL分别是特定任务层中的权重矩阵和偏差向量。
本发明的第二个目的可通过下列技术方案来实现:一种基于功能语义和结构交互的Web API推荐方法装置,包括输入端、输出端、一个或多个处理器、存储器以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行上述的一种基于功能语义和结构交互的Web API推荐方法。
为了规范化不同特征向量,本实施例采用dropout层来避免模型的过拟合。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了大量术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
Claims (10)
1.一种基于功能语义和结构交互的Web API推荐方法,其特征在于,包括以下步骤:
步骤S1:采集现有Mashup应用及其相关的API服务中的描述数据,并提取获取Mashup应用文本描述信息及API服务文本描述信息;
步骤S2:针对Mashup应用及API服务的文本描述信息进行预处理,获取词索引表示的文本集向量矩阵;
步骤S3:针对Mashup应用中使用的API服务之间的协作关系,构建Mashup-API二部图;
步骤S4:构建功能性语义组件,提取文本描述信息中的功能性语义特征;
步骤S5:构建结构性交互组件,提取稀疏交互中的潜在隐性相关性;
步骤S6:融合多模型训练,集成不同类型的特征描述。
2.根据权利要求1所述的一种基于功能语义和结构交互的WEB API推荐方法,其特征在于,所述步骤S1中,首先从Mashup应用中获取带有API服务和Mashup应用的描述数据,所述的描述数据中包括API服务名称、API服务文本描述信息、API服务类别、API服务提供者、Mashup应用名称、Mashup应用文本描述信息、Mashup应用类别、Mashup应用与API服务的调用关系,所述的Mashup应用文本描述信息及API服务文本描述信息包括围绕介绍目标的功能信息。
3.根据权利要求1所述的一种基于功能语义和结构交互的WEB API推荐方法,其特征在于,所述步骤S2中,采用数据预处理方法对Mashup应用文本描述信息和待选API服务文本描述信息进行解析,分别建立Mashup应用和API服务的词汇表,进行词索引向量化,得到词索引表示的文本集向量矩阵。
4.根据权利要求3所述的一种基于功能语义和结构交互的WEB API推荐方法,其特征在于,所述预处理方法主要包括:文本过滤、缩写替换、词性还原、单词矢量化;
所述的文本过滤方法中,采用正则表达式来过滤无效单词,所述的无效单词包括标签、标点符号、非字符、停用词;
所述缩写替换方法中,将缩写单词替换为完整拼写的单词;
所述词性还原方法中,采用Lucene包中的StandardAnalyzer和Poster StemFilter工具将所有术语转换为去掉前缀和后缀的词汇格式;
所述单词矢量化方法中,构建现有单词的词汇表,并采用Glove.6B.300d预训练模型的单词向量来初始化现有单词的嵌入,并随机初始化冷启动单词的向量,所述的词汇表中所有单词都是独立的,并且具有一对一的索引,所述的冷启动单词指的是现有词汇表中未涵盖到的单词。
5.根据权利要求1所述的一种基于功能语义和结构交互的WEB API推荐方法,其特征在于,所述步骤S3中,基于步骤S1得到的Mashup与API调用交互关系,构建Mashup-API二部图,并选取类别、提供者作为二部图的补充信息。
6.根据权利要求3所述的一种基于功能语义和结构交互的WEB API推荐方法,其特征在于,所述步骤S4中,基于所述步骤S2得到Mashup应用的词汇表以及词索引表示的文本集向量矩,构建功能性语义组件,提取文本描述信息,并得到语义特征向量,所述功能性语义组件由卷积神经网络模型组成。
7.根据权利要求6所述的一种基于功能语义和结构交互的WEB API推荐方法,其特征在于,所述的卷积神经网络模型共分为四层,分别为:嵌入层、卷积层、池化层、全连接层;
所述的嵌入层将词索引表示的文本集向量矩阵作为输入,输出得到具有固定大小的Mashup应用文本词向量表征,所述Mashup应用文本向量表征为Q={q1,q2,......,q|r|},其中qi∈Q表示关键词,所述的文本向量是以关键字序列的形式表达目标Mashup应用的功能;
所述卷积层中的卷积核的卷积操作是在大小为wsj的字窗口上滑动,得到若干特征映射向量gi,所述的卷积操作如下:
gi=relu(GiEm+bi)
其中,bi表示偏置项,Em是对应于Mashup应用文本描述的单词嵌入矩阵,relu表示卷积层的激活函数;
所述池化层将会对特征映射向量采用最大池化(Max Pooling)操作,所述的MaxPooling操作的目的是简化卷积层输出特征中的冗余细节,并将经过Max Pooling操作得到的若干个向量以拼接的方式合并:
ej=[MaxPooling(gi);...;MaxPooling(gI)]
其中,I表示不同大小的卷积核的数量,所述的不同大小的卷积核是由于需要采用不同大小的卷积窗口来增强对卷积层输出特征的提取;
所述经过多个不同大小的卷积窗口得到的输出为:
e=[e1;...;ej;...;eJ]
其中,对应于卷积窗口大小为wsj的输出;
所述全连接层将会把学到的特征表示映射到样本的标记空间,得到语义嵌入向量:
UFSC=sigmoid(W0e+b0)
其中表示W0权重矩阵,b0表示偏置项,sigmoid表示激活函数。
8.根据权利要求1所述的一种基于功能语义和结构交互的WEBAPI推荐方法,其特征在于,所述步骤S5中,基于所述步骤S3中得到Mashup-API稀疏二部图以及步骤S4中得到的语义特征向量,构建结构性交互组件,提取稀疏矩阵中的功能交互性和潜在隐性相关性,并得到交互特征向量;所述的结构性交互组件包括特征交互性提取单元、结构相关性提取单元、输出单元组成;
所述的特征交互性提取单元使用API生成Mashup应用的交互向量:
UMM=UFSC·VT
其中,是所有API的嵌入向量,通过处理API的各种元数据进行初始化,如API的功能语义和标签/类别;
所述的结构相关性提取单元用于对输入的Mashup-API稀疏二部图进行图卷积操作以提取结构表征,具体地,将GCN中的特征变换和非线性激活操作从LightGCN中去除形成改进的LightGCN,利用改进的LightGCN对输入的Mashup-API稀疏二部图进行卷积操作以提取结构表征;通过将特征变换和非线性激活操作剔除,通过双层LightGCN卷积得到的表征作为结构表征;
所述输出单元是将特征交互性向量和结构相关性向量进行融合,以得到结构交互组件的最终输出
USIC={UMM;Ugcn}。
9.根据权利要求1所述的一种基于功能语义和结构交互的WEBAPI推荐方法,其特征在于,所述步骤S6中,基于步骤S4和步骤S5得到的若干个特征向量,为了集成不同类型的特征,并弥补不同模型的异构性,采用多模型融合的方式来聚合所获得的特征,所述多模型融合如下:
其中,UMMF=[UFSC,USIC],WTL和bTL分别是特定任务层中的权重矩阵和偏差向量。
10.一种基于功能语义和结构交互的WEBAPI推荐装置,包括输入端、输出端、一个或多个处理器、存储器,以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置由所述一个或多个处理器执行,所述程序包括用于执行如权利要求1-9任意一项所述的一种基于功能语义和结构交互的WEB API推荐方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023102531502 | 2023-03-09 | ||
CN202310253150 | 2023-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116628328A true CN116628328A (zh) | 2023-08-22 |
Family
ID=87596691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310572045.5A Pending CN116628328A (zh) | 2023-03-09 | 2023-05-18 | 一种基于功能语义和结构交互的Web API推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116628328A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171449A (zh) * | 2023-09-21 | 2023-12-05 | 西南石油大学 | 一种基于图神经网络的推荐方法 |
CN117493697A (zh) * | 2024-01-02 | 2024-02-02 | 西安电子科技大学 | 基于多模态特征融合的Web API推荐方法和系统 |
-
2023
- 2023-05-18 CN CN202310572045.5A patent/CN116628328A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171449A (zh) * | 2023-09-21 | 2023-12-05 | 西南石油大学 | 一种基于图神经网络的推荐方法 |
CN117171449B (zh) * | 2023-09-21 | 2024-03-19 | 西南石油大学 | 一种基于图神经网络的推荐方法 |
CN117493697A (zh) * | 2024-01-02 | 2024-02-02 | 西安电子科技大学 | 基于多模态特征融合的Web API推荐方法和系统 |
CN117493697B (zh) * | 2024-01-02 | 2024-04-26 | 西安电子科技大学 | 基于多模态特征融合的Web API推荐方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720572B2 (en) | Method and system for content recommendation | |
CN110717017B (zh) | 一种处理语料的方法 | |
CN110543574B (zh) | 一种知识图谱的构建方法、装置、设备及介质 | |
US11899681B2 (en) | Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium | |
CN109408622B (zh) | 语句处理方法及其装置、设备和存储介质 | |
US8452772B1 (en) | Methods, systems, and articles of manufacture for addressing popular topics in a socials sphere | |
US20150278195A1 (en) | Text data sentiment analysis method | |
CN111046656B (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
US20170221476A1 (en) | Method and system for constructing a language model | |
CN108628828A (zh) | 一种基于自注意力的观点及其持有者的联合抽取方法 | |
CN116628328A (zh) | 一种基于功能语义和结构交互的Web API推荐方法及装置 | |
AU2019201531A1 (en) | An in-app conversational question answering assistant for product help | |
CA2865186A1 (en) | Method and system relating to sentiment analysis of electronic content | |
US11615241B2 (en) | Method and system for determining sentiment of natural language text content | |
CN102609427A (zh) | 舆情垂直搜索分析系统及方法 | |
US9940355B2 (en) | Providing answers to questions having both rankable and probabilistic components | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN112052414A (zh) | 一种数据处理方法、装置以及可读存储介质 | |
WO2023040493A1 (zh) | 事件检测 | |
CN113051914A (zh) | 一种基于多特征动态画像的企业隐藏标签抽取方法及装置 | |
CN112347339A (zh) | 一种搜索结果处理方法及装置 | |
CN113704420A (zh) | 文本中的角色识别方法、装置、电子设备及存储介质 | |
CN104778232A (zh) | 一种基于长查询的搜索结果的优化方法和装置 | |
CN111555960A (zh) | 信息生成的方法 | |
CN116523041A (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 |