首页> 中国专利> 一种融合非结构化和结构化信息的Web服务分类方法

一种融合非结构化和结构化信息的Web服务分类方法

摘要

本发明提供一种融合非结构化和结构化信息的Web服务分类方法,首先使用两种文档表示方法将每个服务文档转换为特征向量,即基于潜在Dirichlet分配(LDA)的主题分布和基于神经网络的文档嵌入模型Doc2Vec,来增加分类特征的多样性;然后通过应用最近提出的网络嵌入技术‑Node2Vec,从两个关系图,即服务调用图和服务标记图中获得结构表示向量;最后通过由上述多维特征向量连接的组合嵌入来训练分类器。本发明在实际数据集上进行了全面的实验,证明了本方法的有效性,能够切实提高Web服务分类的性能。

著录项

  • 公开/公告号CN113111288A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 湖南科技大学;

    申请/专利号CN202110383600.0

  • 发明设计人 康国胜;刘建勋;肖勇;

    申请日2021-04-09

  • 分类号G06F16/958(20190101);G06F16/28(20190101);G06F16/34(20190101);G06F16/35(20190101);G06F40/242(20200101);G06F40/284(20200101);G06K9/62(20060101);G06N3/08(20060101);

  • 代理机构11616 北京盛凡智荣知识产权代理有限公司;

  • 代理人戴龙泽

  • 地址 411201 湖南省湘潭市雨湖区桃园路湖南科技大学计算机科学与工程学院

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明主要涉及Web服务分类相关技术领域,具体是一种融合非结构化和结构化信息的Web服务分类方法。

背景技术

Web服务由于其跨语言、跨平台、松散耦合和开放标准而成为SOA(面向服务的体系结构)的主流实现技术。随着Web2.0技术的发展,过去十年来,Web服务及其组成(如Mashup等)在因特网上迅速增长。Web服务数量的增加大大增加了人们高效使用和管理服务存储库的负担。过去,Web服务分类已被证明是缓解这一挑战的有效技术。作为探索性数据分析的重要工具,Web服务分类对于我们捕获和理解诸如可编程Web等封闭存储库中服务的分层功能结构是必不可少的。极大的方便了广泛的下游任务,如服务发现选择,服务组成,服务推荐等。

到目前为止,已经做了很多关于服务分类的相关工作。然而,它们大多侧重于基于文档表示方法(如概率主题模型(例如PLSA和LDA)和基于神经网络的文档嵌入(例如Doc2Vec)挖掘非结构化信息)。他们通常首先学习潜在主题或功能非结构化向量来表示服务文档。然后,通过这些向量之间的亲缘关系来训练适当的分类器。值得注意的是,虽然主题模型可以将高维文档词向量空间转换为低维非结构化级别向量空间,但它们都是词袋模型。其基本特点是忽略了文本信息中的语序信息,即不考虑段落中的词汇顺序,只体现为几个维度的独立概念。因此,主题模型无法从原文中的语序中获得信息。虽然Doc2Vec具有词序语义分析能力,但难以获得隐含的功能语义特征。从这些观察中,我们认为结合上述两种类型的文档表示模型可能有助于获得更全面的文档嵌入。此外,一些调查试图将辅助信息,如标签和先验知识纳入表示过程。这些方法通常利用服务内容或服务连接结构作为普通基因,以减少数据稀疏问题的影响。例如,引入标签来改进LDA培训过程。然而,标签是由不同的服务开发人员创建的,这可能会带来词汇差距问题(例如,两个不同的单词表达相似的含义),导致功能等效服务之间的语义不一致。上述所有方法的一个主要问题是,它们只基于简单和静态的服务上下文信息,这可能导致次优性能,因为服务非结构化描述通常是短的、稀疏的,并且充满噪声的特征。

服务的创建不仅是为了独立运行,而且还与他人合作来完成复杂的任务,即组合具有不同功能的服务以形成增值应用程序。服务之间频繁的互连(即组合或标签共享关系)形成了一个复杂的关系网络,揭示了服务之间的结构化相关性。事实上,这些行为类似于民俗学,可以看作是人工分类Web服务的过程。例如,标记服务意味着根据用户的解释将其分类为相应的功能类别,具有类似标签的服务可能属于相同的类别。同样,组合行为意味着用户试图将不同类别的多个功能互补服务聚合在一起。我们认为,这些来自网络关系的相关特征可以用来增强基于非结构化的Web服务分类过程。例如,程序集成Web数据集中有两个Mashup(“Backup Box”和“Crisply”),它们属于Tools类别,它们的标签和功能描述不相似,因此很难将这两个Mashup分类为同一个类别。但两者在结构上都调用了相同的API,称为Google Drive。类似地,API分类场景也存在API真实类别无法通过单独利用非结构化特征来有效识别的情况。因此,我们认为,同时结合服务非结构化和结构化关系进行统一服务特征表示学习是非常重要的,这对于探索最优服务分类性能至关重要。

网络表示学习(NRL)是最近提出的一种通过学习网络节点的连续、低维电位特征来解决稀疏问题的关键方法。这些特征涵盖了网络的全局结构,可以提取到后续的机器学习任务中。其中,深度行走算法是网络表示学习中最经典的方法之一。它通常首先通过短随机游走得到节点序列,然后将它们输入到跳过图模型中,得到最终的嵌入向量。直观地说,相邻节点通常具有相似的上下文(序列),因此具有相似的嵌入。在此基础上,开发了许多基于深度行走的方法,如GraRep、LINE和Node2Vec等。这些NRL方法的出现使结构化信息和功能性非结构化信息融合成为可能。

发明内容

为解决目前技术的不足,本发明结合现有技术,从实际应用出发,提供一种融合非结构化和结构化信息的Web服务分类方法,能够切实提高Web服务分类的性能。

为实现上述目的,本发明的技术方案如下:

一种融合非结构化信息和结构化信息的Web服务分类方法,其特征在于,包括以下步骤:(1)非结构化特征提取:从非结构化的角度,基于LDA和Doc2Vec这两种文档表示方法的组合对Web服务进行非结构化嵌入,且非结构化嵌入不仅考虑服务文档的描述信息,而且集成了其他如标签等辅助信息;(2)结构化特征提取:从服务网络结构的角度出发,利用数据集的结构关系信息分别构造服务调用网络和服务标记网络:通过一组基于网络嵌入技术-Node2Vec实现的低维向量来保留服务网络关系特征;(3)多层感知器模型:设计一种受益于上述LDA和Doc2Vec两个方面的特征嵌入向量且用于学习增强Web服务分类器的多层感知器模型,通过将所有表示向量作为输入连接起来,训练多层感知器对Web服务进行分类

进一步的,所述步骤(1)中,在Web服务进行非结构化嵌入前对Web服务描述文档进行预处理过程,所述预处理过程包括以下步骤:

(1)、使用python中的自然语言处理工具包pandas从所选的Web服务中分别提取WebAPI的相关信息;

(2)、使用python中的自然语言工具包NLTK将单词按照空格进行分词,并且将标点符号和单词分开;

(3)、使用python中的自然语言工具包NLTK中的停用词表去除停用词;

(4)、对于形式不同但实质相同的单词进行词干化处理;

(5)、提取处理后Web服务描述文档中出现的单词并进行字典化处理;

(6)、将处理后的Web服务描述文档和字典中的每一个单词都表示为One-Hot向量,然后将One-Hot向量构建成特征矩阵。

进一步的,所述步骤(1)中,在获得预处理的非结构化信息以后,将其分别作为主题模型LDA和文档嵌入模型Doc2Vec模型的输入,将文本转换为向量表示,从而得到组合的非结构化嵌入。

进一步的,所述步骤(2)中,在获得结构化嵌入之前,利用Web服务关系网络生成组件从结构化信息中提取结构化特征;所述Web服务关系网络定义为两种形式:(1)服务调用网络:在该网络中,网络节点可以是Mashup或API,如果两个Mashup调用相同的API或两个API被相同的Mashup调用,则两个节点之间存在边缘;(2)服务标记网络:在该网络中,网络节点也可以是Mashup或API,如果两个Mashup或API包含相同的标记,则两个节点之间存在边缘。关系网络生成组件的输出是Mashup-API调用无向邻接矩阵和标记无向邻接矩阵。

进一步的,通过Node2Vec模型来获得结构化嵌入,通过将Mashup-API调用无向邻接矩阵和Mashup-API标记无向邻接矩阵输入到Node2Vec模型,我们最终将得到结构化特征向量。且Node2Vec模型分为三个阶段依次执行:预处理计算过渡概率,随机游走模拟和优化使用SGD;每个阶段都是可并行的,并且异步执行。

进一步的,所述步骤(3)中,通过设计连接层来融合上述两种功能非结构化嵌入和两种结构化关系嵌入,然后将级联的多维特征向量作为MLP模型的输入,并将每个服务对应的真实类别作为输出,输出层采用Softmax函数进行归一化。最后,通过训练MLP模型获得Web服务分类器。

本发明的有益效果:

本发明中,通过训练包含非结构化功能信息和结构化网络关系的嵌入式向量,我们学习了一个结合多维特征的Web服务分类器。与此同时,我们应用两种不同的文档嵌入方法来获得更全面的非结构化表示,还添加了一些辅助信息来增强这种非结构化表示。我们也首次强调了开发多样化服务关系网络的重要性,且重点挖掘API之间的合作信息,以追求合适的API组合。最后,在则很真实的数据集上进行了大量综合性的实验,实验结果表明,与其他最先进的模型相比,本方法的交叉熵损失、Ma-F1和Mi-F1等指标相比于传统Web服务分类方法都有显著提升。

附图说明

图1为本发明的Web服务分类方法总体模型框架图;

图2为LDA的模型结构图;

图3为Word2Vec和Doc2Vec的模型结构图;

图4为广度优先搜索和深度优先搜索在服务关系网络中的示例图;

图5为Node2Vec模型中的随机游走策略示例图;

图6为Mashup数据集的超参数实验对比图;

图7为API数据集的超参数实验对比图。

具体实施方式

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

由于现有Web服务分类技术主要聚焦于利用Web服务的描述文本、标签等功能性信息实现分类,而暂未考虑到Web服务描述文本中的单词与描述文本本身之间所隐含的网络结构信息。为此,本发明提出了一种新的Web服务分类方法(LDN),旨在结合多维特征来提高分类的准确性。我们首先学习基于两种文档表示方法的组合服务非结构化嵌入:LDA和Doc2Vec。非结构化嵌入由描述信息和其他辅助信息(如流行度、标签等)集成。其次,我们建议通过一组基于最近提出的网络嵌入技术Node2Vec实现的低维向量来保持服务网络关系。最后,我们设计了一种用于学习增强Web服务分类器的多层感知器,该分类器同时受益于上述两个方面的特征嵌入向量。

本发明所提出的Web服务分类方法的总体框架如图1所示,包括三个部分:1)非结构化特征提取,从描述文档中学习服务的非结构化表示;2)结构化特征提取,从服务关系网络中捕获结构化表示;3)多层感知器模型,通过将所有表示向量作为输入连接起来,训练多层感知器对Web服务进行分类。在Web服务描述文档预处理过程中,首先从ProgrammableWeb网站中爬取和存储Web服务描述文本和其它相关信息,并提取相应的特征列构建特征向量矩阵。在模型构建与训练过程中,非结构化信息(例如。服务存储库中API和Mashup的标签、功能描述)首先通过预处理组件进行预处理。文档预处理通常有三个步骤:规范化、词干和停止词删除。预处理的非结构化信息矩阵分别作为LDA和Doc2Vec模型的输入,将文本转换为向量表示。接下来,我们利用关系网络生成组件从结构化信息中提取结构化特征。本发明的Web服务关系网络可以定义为两种形式:(1)服务调用网络:在该网络中,网络节点可以是Mashup或API,如果两个Mashup调用相同的API或两个API被相同的Mashup调用,则两个节点之间存在边缘;(2)服务标记网络:在该网络中,网络节点也可以是Mashup或API,如果两个Mashup或API包含相同的标记,则两个节点之间存在边缘。关系网络生成组件的输出是Mashup-API调用无向邻接矩阵和Mashup-API标记无向邻接矩阵,它们是Node2Vec模型的输入。在融合多维特征的过程中,我们通过设计连接层来融合上述两种功能非结构化嵌入和两种结构化关系嵌入。然后将级联的多维特征向量作为MLP模型的输入,并将每个服务对应的真实类别作为输出。最后,将通过训练MLP模型获得Web服务分类器。

下面对本发明的Web服务描述文档预处理、模型构建与训练进行详细说明。

Web服务描述文档预处理:

Web服务的描述文档描述了Web服务的核心功能,也是Web服务分类的主要信息来源。由于Web服务描述文档中的一些词条包含大量无用的信息,因此需要进行预处理操作。预处理过程包括以下步骤:

1.Web服务描述文档信息提取:使用python中的自然语言处理工具包pandas用于从所选的Web服务中分别提取WebAPI的五列(“APIName”,“tags”,“desc”,“primary_category”,“sub_primary”)。

2.Web服务描述文档令牌化(Tokenize):使用python中的NLTK(自然语言工具包)将单词按照空格进行分词,并且将标点符号和单词分开。

3.过滤停用词(Stop Words):英语中有许多无效的单词和标点符号,如“a”、“to”、“,”等,这些没有实际意义的单词或符号称为停用词,利用NLTK中的停用词表去除停用词。

4.词干化处理(Stemming):在英语中,同一个单词会因为时态、人称等的不同而有不同的表现形式,例如,“introduce”、“introducing”、“introduces”,等等,但它们实际上都是同一个单词“introduce”,如果将这些单词当作是不同的单词来处理,则会降低相似度计算的准确性,因此,有必要进行词干化处理。

5.提取处理后的Web服务描述文档中出现的单词并进行字典化处理。

6.处理后的Web服务描述文档和字典中的每一个单词都将作为模型构建与训练时的输入。

模型构建与训练:

我们的模型的总体过程由三个主要组成部分组成:1)非结构化特征提取,从描述文档中学习服务的非结构化表示;2)结构化特征提取,从服务关系网络中捕获结构化表示;3)多层感知器模型,通过将所有表示向量作为输入连接起来,训练多层感知器对Web服务进行分类。

一、非结构化特征提取

非结构化特征提取由两个文档表示模型组成:LDA和Doc2Vec。现在,我们将分别描述这两种模型的细节。

1.1潜在的Dirichlet分配(LDA)

LDA的主要目的是根据每个文档的单词频率来识别穿透指定语料库的潜在主题或主题,假设单个文档是由预定义的概率过程生成的。因此,它可以被认为是一个无监督的生成主题模型。LDA假设文档具有主题分布的特征,而主题则具有单词分布的特征。因此,假设每个文档是由图2中所示的过程生成的,则使用指定的语料库来估计每个文档的主题概率分布θ和每个主题的单词概率分布φ。LDA的文档生成过程如下:首先,用超参数β从Dirichlet分布中采样每个主题φ

其次,用超参数α从Dirichlet分布中采样文档的主题分布θ,用公式(2)表示:

潜变量z

φ

最后,还从具有z

给定α和β,首先形成与θ、z和d的联合分布,得到分布d,用方程(6)表示:

潜在变量的公式(6)中的后验概率可以通过变分期望最大化或折叠吉布斯抽样得到。如果文档的特征,即文档中K个主题的比例,是根据LDA公式从文档和单词之间的关系中提取出来的,那么LDA可以产生比其他文档表示方法(如TF-IDF)更高的文档分类性能。

1.2Doc2Vec模型

One-hot编码是将单词转换成固定大小的数字向量的最简单方法,它存在两个主要缺点。首先,One-hot编码需要大量的内存空间,因为One-hot编码中单词向量的维数等于语料库中唯一单词的数量,一般超过几十万个。其次,One-hot编码不能保留两个单词之间的非结构化关系,因为任何指定的两个单词的内部乘积都为零,即所有单词都是相互独立的。为了克服这些限制,Mikolov等人提出了一种基于神经网络的词表示方法,称为Word2Vec(图3(a))。给定一系列训练单词w

其中k是保存上下文信息的窗口大小。预测通常通过使用Softmax函数的多类分类执行,如下所示:

其中每个y

y=b+Uh(w

其中b,U,h,和W分别是隐藏层和输出层之间的偏置项、隐藏层和输出层之间的权重矩阵、上下文词的平均或级联以及单词嵌入矩阵。

Doc2Vec是Woc2Vec的一个扩展,它试图为一个段落甚至一个更大的文档确定一个足够的连续向量,以个文档之间的非结构化关系。Doc2Vec的目的是创建文档的矢量化表示,而不管其长度如何。以类似于Woc2Vec的方式,每个单词都由d维连续向量(d<<|V|表示,它是语料库中词汇的大小)。此外,文档本身也由Word向量相同空间中的连续向量表示,如图3(b)所示。在Doc2Vec中,每个文档被映射到由矩阵D中的列表示的唯一向量,而每个单词被映射到由矩阵W中的列表示的唯一向量,因此,网络形式中唯一的改变是在公式(10)中添加D:

y=b+Uh(w

一旦网络得到足够的训练,我们就可以在语料库中获得每个文档的分布式表示;这反过来又可以用于随后的文本挖掘任务,如聚类或分类。在本研究中,我们训练了PV-DM和PV-DBOW,这两种结构都是DBOW模型的主要结构,并利用它们的级联向量来提高分类性能,这是作者在原论文中提出的。

二、结构化特征提取

在此部分,本发明应用了Node2Vec模型,它是一种有效的网络特征学习可扩展算法。该算法符合网络科学中既定的原则,为发现符合不同等价性的表示提供了灵活性。它可以分为三个阶段,依次执行:预处理计算过渡概率,随机游走模拟和优化使用SGD。每个阶段都是可并行的,并且异步执行,这有助于算法的总体可伸缩性。现在,我们将简要描述这三个阶段的细节。

2.1计算过渡概率

Node2Vec算法的第一步是选择一个适当的邻域概念,它允许学习表示,根据节点的网络角色和/或的学习表示。这是通过开发一个灵活的偏置随机游走过程来实现的,该过程可以在广度优先搜索(BFS)以及深度优先搜索(DFS)方式中探索邻域。服务关系网络中的BFS和DFS过程可以在图4中找到。

具体来说,Node2Vec定义了一个二阶随机游走,其中有两个参数p和q来引导游走。参数p控制立即重新访问行走中节点的可能性,而参数q允许搜索区分“内向”和“外向”节点。这两个参数都允许搜索过程在BFS和DFS之间进行插值,具体过程如图4所示。考虑刚刚遍历边缘(t,v)并且现在驻留在节点v上的随机游走,对于下一步的执行,将评估从v引导的边缘(v,x)上π

其中d

2.2随机游走

通过在不同的源节点上重用样本来提高有效采样率,随机游走提供了一种方便的机制。通过模拟长度l的游走,其中l>k,由于随机游走的马尔可夫性质,一次生成l-k节点的k个样本。由于所有节点都学习了表示,所以从每个节点开始模拟长度l的随机游走。正式地,在步行中的第i个节点表示为c

其中π

2.3优化阶段

Node2Vec算法将网络中的特征学习描述为一个最大似然优化问题。为了解决这一问题,作者通过一个随机过程扩展了用于特征学习的Skip-Gram结构,该过程对给定源节点u的许多不同邻域进行了采样。

形式上,对于给定网络G=(V,E)的每个源节点u∈V定义了通过邻域采样策略S生成的节点u的网络邻域,表示为

f=max∑

通过假设观察邻域节点的条件独立性和特征空间中的对称性,优化问题变得易于处理。

三、多层感知机模型

多层感知器(MLP)是一种具有定向结构的人工神经网络,它将一组输入向量映射到一组输出向量。MLP可以看作是一个有向图,它由多个节点层组成,每个层都完全连接到下一层。除了输入节点外,每个节点都是具有非线性激活函数(或处理单元)的神经元)。一种被称为反向传播算法的有监督学习方法经常被用来训练MLP。MLP是对感知设备的推广,它克服了感知设备无法识别线性不可分割数据的缺点。最近开发的方法集中在设计MLP的结构,以更好地隐藏关系提取。在这一层中,如果输入到一个串联的密集表示向量中,组合特征将由完全连接的层自动学习。值得注意的是,损失函数的定义是MLP不可或缺的一部分。服务分类方法中广泛使用的损失函数是交叉熵损失函数,它应用候选服务的标签来监督总体预测:

其中x是服务的多维特征表示向量,T是大小为N的训练集。y∈{0,...,n}表示服务的真实标签。p(x)是网络的输出,也是样本x的预测值。

实施例:

在本实施例中,针对本发明提供的分类方法,进行了实验验证,下面对本实施例的数据集与实验设置、评估指标、对比方法以及实验结果进行详细描述。

数据集与实验设置:

我们使用真实世界的数据集进行实验,以获得坚实的实验结果。数据集从Programmable Web网站上爬取并公开发布。它可以从在线网站访问。新更新的数据集包括12919个WebAPI,6206个Mashup。每个API和Mashup都有一个描述文档,以及开发人员或用户给出的一些标签。并且有312个类别用于Mashup服务,因此每个类别中的Mashup平均数量为6206/312=19.89,尽管每个类别中的Mashup数量差异很大。

在所有WebAPI中,仅有940个WebAPI被Mashups调用,即940/12919=的7.28%被调用。在Mashup和调用的WebAPI服务之间有9297个交互。我们的Mashup-API矩阵的稀疏性定义如下:

因此,Mashup-API矩阵的维数为6206940,稀疏度为99.84%,可以用上述公式计算。总之,表一和表二描述了数据集的特性。此外,为了防止数据集样本分布不均匀影响实验结果,我们只选择前20类Mashup(3928)和API(6718)进行实验。详细分布见表三和表四。

在本发明中,所有的性能值都是5轮的平均值。在LDN及其竞争对手中,超参数的默认值如表五所示。应该注意的是,如果上表中的超参数没有指示它是哪个数据集,默认情况是两个数据集的超参数是相同的。由于我们将所有Web服务分类为前20类,因此我们将所有LDA包含的方法的主题数设置为20,其中每个潜在主题对应于特定的Web服务域。

表一Mashup数据集主要信息

表二API数据集主要信息

表三前20类数量最多的Mashup

表四前20类数量最多的API

表五主要超参数设置

评估指标:

一般来说,评价分类结果的基本指标如下:

·真阳性(TP):属于A类的样本被正确归类为A类;

·假阳性(FP):不属于A类的样本被错误分类为A类;

·真阴性(TN):不属于A类的样本被正确分类为其他类别;

·假阴性(FN):属于A类的样本被错误分类为其他类别。

本发明以交叉熵损失、Macro F1和Micro F1值作为绩效评价指标。公式(14)给出了交叉熵损失的定义和计算方法。一般来说,F1评分是用于二分类的,那么对于多元分类器,是否有类似的F1评分度量?答案是肯定的,有两种常用的,一种叫做Macro F1,另一种叫做Micro F1。Macro F1不考虑标签不平衡,它计算每个标签的度量,并找到它们的未加权均值。同时,Micro F1通过统计总的真阳性、假阴性和假阳性的全局数量来计算度量。具体来说,Web服务分类的Macro F1值计算公式如下:

用公式(19)、(20)、(21)计算Micro F1值。交叉熵损失值越小,Macro F1和MicroF1值越高,分类效果越好。为了简单起见,我们将上述三个评估指标分别记录为Loss,Ma-F1和Mi-F1。

对比方法:

在这一部分中,我们将我们的方法与以下方法进行了比较,以验证所提出的方法的有效性以及结合结构化和非结构化特征的必要性。值得注意的是,所有的方法都首先获得特征向量,然后将这些向量分别作为MLP层的输入进行分类预测,方法总结见表六:

1)LDA:利用LDA模型得到主题向量。每个服务都属于具有最大主题概率值的唯一主题。网络服务有相同的指定主题,更有可能被分类在一起。

2)Doc2Vec:Doc2Vec是一种无监督的学习算法,用于预测一个向量来表示不同的文档。该模型的结构克服了词袋模型的缺点。

3)LD:该方法采用LDA和Doc2Vec模型来表示非结构化特征,它结合了主题分布模型和基于神经网络的文档嵌入模型。

4)LD-T:该方法采用LDA和Doc2Vec模型来表示非结构化特征。此外,该方法还利用Node2Vec模型获得了结构化的标记关系向量。

5)LD-I:该方法采用LDA和Doc2Vec模型来表示非结构化特征。此外,该方法还利用Node2Vec模型获得了一个结构化调用关系向量。

6)LDN:本发明提出了这种方法。它同时利用结构化和非结构化信息来促进Web服务分类过程。也就是说,该方法采用LDA和Doc2Vec模型来表示非结构化特征。此外,该方法还利用Node2Vec模型获得了结构化调用关系向量和结构化标记关系向量。

表六对比方法总结

实验结果与分析:

表七和表八展示了LDN模型和其他对比方法在不同评价指标下的结果。

根据实验结果,我们可以得出以下观察结果:

Mashup和API数据集上,LDN通过尽可能设置相同的配置,显著优于各种度量中的所有其他方法。LDN的Ma-F1值比LDA提高了121.59%,比Doc2Vec提高了116.65%,比LD提高了97.75%,比LD-T提高了7.70%,比Mashup数据集上的LD提高了24.64。对于API数据集,LDN的Ma-F1值比LDA提高了103.76%,比Doc2Vec提高了53.82%,比LD提高了42.66%,比LD-T提高了1.74%,比LD-I提高了38.66。损失和Mi-F1的结果通常是一致的。结果背后最重要的原因是LDN充分利用服务网络关系信息和服务非结构化语义信息来提高分类精度。尽管其他比较方法具有表示非结构化信息的能力,但LDA、Doc2Vec和LD对于获得更全面的特征嵌入是困难的。同时,LD-I和LD-T的分类性能优于非结构化方法,但不如TLD方法,这归结为LD-I和LD-T只考虑服务语义信息和单一结构特征的朴素组合。通过比较,基于两种文档嵌入方法的有效组合,我们的方法可以通过建模它们的结构近似来平滑地将服务网络嵌入到低维表示中。

表七Mashup数据集实验结果对比

表八Mashup数据集实验结果对比

整体而言,API数据集的分类性能优于Mashup数据集。我们认为可能的原因如下:1)如表一和表二所示,API数据集大于Mashup数据集,类别、标签和交互更加丰富,因此可以获得更全面的特征表示,这有利于分类器的训练;2)如表三和表四所示,API数据集比Mashup数据集分布更均匀,描述文档更标准化,这有利于分类器获得更好的结果。

除了改进的性能外,通过解释每个子模型的重要性,LDN更有意义。为进一步提高服务分类的性能,结合多维特征具有指导意义。我们可以发现,在Mashup和API数据集上,LD-T比LD-I有显著的分类改进。这些实验现象表明,结构化标记关系对分类性能的影响远大于结构化调用关系。换句话说,从Mashup和API表示向量中删除LDA主题信息和结构化标记关系可能导致更大的性能退化,这意味着LDA和结构化标记关系对服务分类做出了更大的贡献。

超参数对比分析:

由于本发明有许多超参数,我们主要讨论了MLP的关键参数,它是训练分类器的关键参数,包括隐藏层数、学习速率和训练次数。表五描述了参数的范围和默认值,当一个参数的效果正在检查时,其他参数被设置为默认值。

1)隐藏层的影响

理论上,隐层数越深,拟合函数的能力越强,效果越好。但事实上,层数越深,不仅可能带来过度拟合的问题,而且增加了训练的难度,使模型难以收敛。为了研究隐藏层的影响,我们将隐层数设为1到4,隐藏层单元数分别设为256、128、64、32。从图6(a-c)和图7(a-c),可以看出,无论在Mashup还是API数据集上,当增加隐藏层的数量时,损失值一直在上升。当隐藏层数设置为2时,Ma-F1、Mi-F1的值首先呈现下降趋势,然后呈现上升趋势。因此,我们在方法中选择隐藏层数为2。

2)学习率的影响

学习速率是LDN的一个超参数,它控制我们在每次迭代时调整MLP的步长,同时向损失函数的最小值移动。倾斜率的值越低,我们沿着向下的斜率走得越慢;而学习率的值越大,我们就越有可能错过局部最优解。因此,为我们的方法仔细选择学习率是非常重要的。为了得到学习率的最优值,我们将学习率设为0.01、0.05、0.1、0.15、0.2和0.3。图6(d-f)和图7(d-f)绘制LDN的性能变化图。我们首先观察到,当Mashup数据集上的学习速率值设置为0.01-0.1时,提高学习速率会提高性能,而API数据集中分类效果的提高直到学习速率设置为0.15时才停止,这是因为学习速率太小会导致过程卡住,而LDN不能接近局部极小值。然而,由于Mashup数据集上的学习速率值从0.1到0.3不等,API数据集上的学习速率值从0.15到0.3不等,分类性能逐渐降低,造成这种现象的可能原因是学习速率过大会导致模型收敛速度过快到次优解。因此,在我们的实验中,学习速率的默认值分别设置为Mashup数据集上的0.01和API数据集上的0.15。

3)训练次数的影响

在本发明中,训练次数表示使用完整的训练集数据对模型进行完整训练的次数。一般来说,随着训练次数的增加,分类器学习更多的隐式信息。然而,过多的训练次数很容易导致过度拟合,从而降低分类性能。为了研究训练次数的影响,我们将训练次数设置为2500到2000之间,步长为2500。通过图6(g-i)和图7(g-i),我们可以观察到,无论在Mashup还是API数据集上,随着训练次数的增加,分类性能在某些值之后先增大后减小,验证了训练次数过大或过小对分类结果不利。具体来说,在12500左右的训练次数在损失、Ma-F1和Mi-F1上都给出了相对较好的性能。这一观察表明,较大的训练次数会产生更好的分类结果。

本发明提出了一种新的Web服务分类方法(LDN),旨在结合多维特征来提高分类的准确性。我们首先学习基于两种文档表示方法的组合服务非结构化嵌入:LDA和Doc2Vec。非结构化嵌入由描述信息和其他辅助信息(如流行度、标签等)集成。其次,我们建议通过一组基于最近提出的网络嵌入技术Node2Vec实现的低维向量来保持服务网络关系。最后,我们设计了一种用于学习增强Web服务分类器的多层感知器,该分类器同时受益于上述两个方面的特征嵌入向量。在实际数据集上的大量实验表明,该方法能够准确地融合非结构化信息和结构关系,从而提高Web服务的分类精度。通过在真是数据集上的大量实验对比说明了各种特征对分类结果的有效性和重要性,验证了多维特征相结合的必要性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号