公开/公告号CN116628328A
专利类型发明专利
公开/公告日2023-08-22
原文格式PDF
申请/专利权人 浙江大学;浙江大学滨江研究院;杭州熔合智造科技有限公司;
申请/专利号CN202310572045.5
申请日2023-05-18
分类号G06F16/9535(2019.01);G06F40/284(2020.01);G06F40/30(2020.01);G06F18/213(2023.01);G06F18/25(2023.01);G06F16/901(2019.01);G06N3/042(2023.01);G06N3/0464(2023.01);
代理机构杭州奇炬知识产权代理事务所(特殊普通合伙) 33393;
代理人贺心韬
地址 310000 浙江省杭州市西湖区余杭塘路866号
入库时间 2024-01-17 01:23:17
法律状态公告日
法律状态信息
法律状态
2023-09-08
实质审查的生效 IPC(主分类):G06F16/9535 专利申请号:2023105720455 申请日:20230518
实质审查的生效
2023-08-22
公开
发明专利申请公布
技术领域
本发明属于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应用的词汇表以及词索引表示的文本集向量矩阵,构建功能性语义组件,提取文本描述信息,并得到语义特征向量U
在上述的基于功能语义和结构交互的Web API推荐方法中,所述的卷积神经网络模型共分为四层,分别为:嵌入层、卷积层、池化层、全连接层;
所述的嵌入层将词索引表示的文本集向量矩阵作为输入,输出得到具有固定大小的Mashup应用文本词向量表征,所述Mashup应用文本向量表征为Q={q
所述卷积层中的卷积核的卷积操作是在大小为ws
g
其中,b
所述池化层将会对特征映射向量采用最大池化(Max Pooling)操作,所述的MaxPooling操作的目的是简化卷积层输出特征中的冗余细节,并将经过Max Pooling操作得到的若干个向量以拼接的方式合并:
e
其中,I表示不同大小的卷积核的数量,所述的不同大小的卷积核是由于需要采用不同大小的卷积窗口来增强对卷积层输出特征的提取。
在本实例实施过程中,所述经过多个不同大小的卷积窗口得到的输出为:
e=[e
其中,e
所述全连接层将会把学到的特征表示映射到样本的标记空间,得到语义嵌入向量:
U
其中表示W
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S5中,基于所述步骤S3中得到Mashup-API稀疏二部图以及步骤S4中得到的语义特征向量U
所述的特征交互性提取单元使用API生成Mashup应用的交互向量:
U
其中,
所述的结构相关性提取单元用于对输入的Mashup-API稀疏二部图进行图卷积操作以提取结构表征,具体地,将GCN中的特征变换和非线性激活操作从LightGCN中去除形成改进的LightGCN,利用改进的LightGCN对输入的Mashup-API稀疏二部图进行卷积操作以提取结构表征,通过将特征变换和非线性激活操作剔除,通过双层LightGCN卷积得到的表征作为结构表征。
所述输出单元是将特征交互性向量和结构相关性向量进行融合,以得到结构交互组件的最终输出
U
在上述的基于功能语义和结构交互的Web API推荐方法中,所述步骤S6中,基于步骤S4和步骤S5得到的特征向量,集成不同类型的特征,并弥补不同模型的异构性,采用多模型融合的方式来聚合所获得的特征,所述多模型融合如下:
其中,U
本发明的第二个目的可通过下列技术方案来实现:一种基于功能语义和结构交互的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应用的词汇表以及词索引表示的文本集向量矩阵,构建功能性语义组件,提取文本描述信息,并得到语义特征向量U
具体地,卷积神经网络模型的核心思想是从一个由多个单词组成的滑动窗口中捕捉局部特征,通过对滑动窗口内单词的卷积操作和非线性激活操作剔除,可以有效地自动组合和过滤特征,以获得不同抽象层次的语义信息。
进一步细说,卷积神经网络模型共分为四层,分别为:嵌入层、卷积层、池化层、全连接层;
嵌入层将词索引表示的文本集向量矩阵作为输入,输出得到具有固定大小的Mashup应用文本词向量表征,Mashup应用文本向量表征为Q={q
卷积层中的卷积核的卷积操作是在大小为ws
g
其中,b
为了有效筛选出描述文本特征中的重要语义特征,池化层将会对特征映射向量采用最大池化(Max Pooling)操作,Max Pooling操作的目的是简化卷积层输出特征中的冗余细节,并将经过Max Pooling操作得到的若干个向量以拼接的方式合并:
e
其中,I表示不同大小的卷积核的数量,不同大小的卷积核是由于需要采用不同大小的卷积窗口来增强对卷积层输出特征的提取。
在本实例实施过程中,经过多个不同大小的卷积窗口得到的输出为:
e=[e
其中,e
全连接层将会把学到的特征表示映射到样本的标记空间,得到语义嵌入向量:
U
其中表示W
进一步细说,步骤S5中,基于步骤S3中得到Mashup-API稀疏二部图以及步骤S4中得到的语义特征向量U
特征交互性提取单元使用API生成Mashup应用的交互向量:
U
其中,线性运算·是为了提取历史数据中那些常见且高度频繁的交互模式,
结构相关性提取单元用于对输入的Mashup-API稀疏二部图进行图卷积操作以提取结构表征,具体地,将GCN中的特征变换和非线性激活操作从LightGCN中去除形成改进的LightGCN,利用改进的LightGCN对输入的Mashup-API稀疏二部图进行卷积操作以提取结构表征,通过将特征变换和非线性激活操作剔除,可以减少计算复杂度,大大提高计算效率,降低训练时间,具体的通过双层LightGCN卷积得到的表征作为结构表征,LightGCN是当今在推荐领域被最广泛使用的图神经网络之一,它能够便捷高效地处理图内的高阶特征嵌入关系U
输出单元是将特征交互性向量和结构相关性向量进行融合,以得到结构交互组件的最终输出
U
进一步细说,步骤S6中,基于步骤S4和步骤S5得到的特征向量,集成不同类型的特征,并弥补不同模型的异构性,采用多模型融合的方式来聚合所获得的特征,多模型融合如下:
其中,U
本发明的第二个目的可通过下列技术方案来实现:一种基于功能语义和结构交互的Web API推荐方法装置,包括输入端、输出端、一个或多个处理器、存储器以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行上述的一种基于功能语义和结构交互的Web API推荐方法。
为了规范化不同特征向量,本实施例采用dropout层来避免模型的过拟合。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了大量术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
机译: WEB API许可系统,WEB API许可方法和WEB API许可程序
机译: 一种基于知识结构的评估多内容的方法,一种使用该方法的设备以及一种利用知识结构推荐内容的方法
机译: 基于Web内容的手语翻译系统及手语翻译系统的方法