CN112487805A - 一种基于元学习框架的小样本Web服务分类方法 - Google Patents

一种基于元学习框架的小样本Web服务分类方法 Download PDF

Info

Publication number
CN112487805A
CN112487805A CN202011372329.2A CN202011372329A CN112487805A CN 112487805 A CN112487805 A CN 112487805A CN 202011372329 A CN202011372329 A CN 202011372329A CN 112487805 A CN112487805 A CN 112487805A
Authority
CN
China
Prior art keywords
service
word
web
web service
ith
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.)
Granted
Application number
CN202011372329.2A
Other languages
English (en)
Other versions
CN112487805B (zh
Inventor
李兵
刘永强
王健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202011372329.2A priority Critical patent/CN112487805B/zh
Publication of CN112487805A publication Critical patent/CN112487805A/zh
Application granted granted Critical
Publication of CN112487805B publication Critical patent/CN112487805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于元学习框架的小样本Web服务分类方法。根据每个类别对应的样本数量划分训练集、验证集、测试集;使用基于轮次的策略,每个轮次随机挑选数个类别构造支持集、查询集、样本池;计算词的全局和局部权重,然后通过LSTM得到词的最终权重并与词向量加权求和得到Web服务的向量表示;使用岭回归拟合支持集得到一个分类模型并预测查询集类别,挑选高置信度预测结果作为伪标签,使用这部分数据扩充支持集后重新训练分类模型并得到查询集样本的最终概率。对预测的概率与真实类别计算交叉熵来更新整体网络。本发明重点关注样本量很少的Web类别分类,提高了它们的分类准确率;由于训练、测试类别不重合,本方法能够未训练到的新类别进行分类。

Description

一种基于元学习框架的小样本Web服务分类方法
技术领域
本发明涉及服务计算技术领域,具体涉及一种基于元学习框架的小样本Web服务分类方法。
背景技术
Web服务是松散耦合的软件系统,通过网络来支持互操作的机器进行交互,它为面向服务的体系结构(Service-Oriented Architecture,SOA)提供了一个标准化的解决方案。Web服务的数量每年都在不断增长,据统计,截止2020年1月10日,该网站上有超过483个类别的Web服务。根据服务描述来对Web服务进行自动分类将会大大减少人工分类所需的时间,促进后续的服务发现与服务重用。
近年来,研究者提出了许多根据Web服务的自然语言描述来进行自动分类的方法,这些方法有基于传统机器学习方法,也有基于深度学习方法。发现现有技术的方法,至少存在如下技术问题:
Web服务的类别都在明显的长尾分布,也就是说少数的服务类别即头部类别占据了绝大多数的服务样本,而剩余的服务类别即尾部类别都只对应很少的服务样本。服务样本在类别分布上的极不均衡会严重影响自动分类的准确性,因为绝大多数的类别都只存在很少的正样本,得不到充分的训练。而现有方法并未关注到这一点,对头部类别和尾部类别使用完全相同的数据处理过程与分类方法。
由此可知,现有技术中的方法存在对尾部标签预测结果不够准确的技术问题。
发明内容
有鉴于此,本发明提供了一种基于元学习框架的小样本Web服务分类方法,重点关注尾部服务类别的分类。
为了解决上述技术问题,本发明提供了一种基于元学习框架的小样本Web服务分类方法,该方法遵循元学习在小样本学习领域的一般框架,使用基于轮次的策略来进行训练、验证以及测试,每一个轮次都会一个构造的小样本场景,该场景下仅有很少的标注样本(支持集)以及一定数量的未标注样本(查询集)。
网络结构主要分为两个大的部分:表示部分以及分类部分,其中:
表示部分用来构建输入的服务描述的向量表示。针对服务描述长度短、信息密度低等特点,主要使用了在训练集上词的全局分布信息以及在单个轮次上词的分布信息来计算词的局部权重,并通过LSTM组合这两部分权重来获得词的最终权重。这样做能够很好的提取描述中的关键词。服务描述中的每个词在经过嵌入得到词向量之后,会与对应权重进行加权求和进而得到服务描述的向量表示。
分类部分主要是在支持集的样本上训练一个分类模型,然后在查询集的样本上进行测试。需要指出的是,在训练过程中,可以通过查询集的真实类别与预测类别计算交叉熵来为整个网络提供梯度信息。具体地,我们使用岭回归技术来作为分类模型。
特别地,整个网络的表示部分是贯穿所有轮次并且其中的词嵌入层、LSTM等是不断被优化的,而分类部分则是每一个轮次都会在该轮次的支持集上重新构建一个岭回归模型,仅有岭回归的正则化参数是贯穿所有轮次被不断优化的。
该方法具体步骤包括:
步骤1:将Web服务对应的自然语言服务描述进行分词处理得到Web服务的自然语言服务描述词序列,构建服务类别的集合、服务类别的Web服务集合,统计所有服务类别的Web服务集合中各服务类别的Web服务数量,根据服务类别的Web服务数量以及分类阈值构建构建训练集服务类别,根据服务类别的集合、训练集服务类别构建验证集服务类别、测试集服务类别,结合训练集服务类别构建训练集,结合验证集服务类别构建验证集,结合测试集服务类别构建测试集;
步骤2:遵循元学习在小样本学习问题中的一般框架,训练过程使用基于轮次的策略,每一个轮次通过挑选固定数量的类别,然后在这些类别上构造支持集以及查询集来模拟小样本场景。具体地,每一轮需要先从训练集中随机选择指定数量的类别,并从每个类别中随机选择指定数量的服务作为支持集,指定数量的服务作为查询集。
步骤3:每训练一定的轮次后需要进行验证,计算验证过程中每一个词的全局权重与局部权重;
步骤4:每训练一定的轮次后需要进行测试,计算测试过程中每一个词的全局权重与局部权重;
步骤5:对于通过步骤2得到的训练过程的词的全局权重以及局部权重、通过步骤3得到的验证过程的词的全局权重以及局部权重、通过步骤3得到的测试过程的词的全局权重以及局部权重,使用带Attention机制的双向LSTM来结合词的全局权重以及局部权重得到词的最终权重;
步骤6:通过FastText方式构建词向量初始化嵌入层,将Web服务的自然语言服务描述词序列通过独热编码得到独热编码后Web服务的自然语言服务描述词序列,进一步输入至词向量初始化嵌入层得到Web服务的自然语言服务描述词序列中词的嵌入向量,结合Web服务的自然语言服务描述词序列中词归一化前的最终权重,得到Web服务的自然语言服务描述词序列中对应的向量;
步骤7:将每个轮次下随机选出的N个服务类别进行重新编码得到,每个轮次下重新编码后的N个Web服务类别,将每个轮次下重新编码后的N个Web服务类别通过独热编码得到每个轮次下N个Web服务类别的独热向量,每个轮次轮次支持集上使用岭回归技术拟合每个轮次支持集对应的分类模型;
步骤8:对于训练过程、验证过程、测试过程,分别使用步骤2、步骤3、步骤4中所述的支持集对应的分类模型预测查询集中各Web服务属于每个类别的可能性,;
步骤9:根据扩充后的支持集训练新的分类模型,使用新的分类模型再次预测查询集中服务的标签,作为最终的预测结果;
步骤10:使用步骤9中对于查询集的预测结果P与步骤7.2所述的查询集的真实结果YQ计算交叉熵,然后计算交叉熵对于词嵌入层、双向LSTM、步骤4.2中的可学习向量v、步骤7.3中的参数λ等整体学习网络的参数所的梯度,最后使用随机梯度下降法更新这些参数;
作为优选,步骤1所述Web服务的自然语言服务描述词序列为:
Desj=(wj,1,wj,2,……,wj,nj)
其中,Desj为第j个Web服务的自然语言服务描述词序列,j∈[1,Counttotal],i∈[1,n],Counttotal为Web服务的数量,nj为第j个Web服务的自然语言服务描述词序列中词的数量,wj,i为第j个Web服务的自然语言服务描述词序列中第i个词;
步骤1所述服务类别的集合为:
Call={C1,C2…,CP}
其中,C1为第1种服务类别,P为服务类别的种类的数量;
步骤1所述服务类别的Web服务集合为:
S1={WebService1,1,WebService1,2...,WebService1,Q1}
Sall={S1,S2…,SP}
其中,Sall为所有服务类别的Web服务集合,S1为第1种服务类别的Web服务集合,WebServicel,z为第l种服务类别的Web服务集合中第z个Web服务,Q1为第l种服务类别的Web服务集合中Web服务的数量,l∈[1,P],z∈[1,Q1],P为服务类别的类型的数量;
步骤1所述统计所有服务类别的Web服务集合中各服务类别的Web服务数量:
numall={num1,…,numl,…numP}
其中,numl为第l种服务类别对应的Web服务数量,P为服务类别的种类的数量;
步骤1所述根据服务类别的Web服务数量以及分类阈值构建构建训练集服务类别为:
所述分类阈值为Threshold;
将numl>Threshold的服务类别挑选出来用于构建训练集服务类别;
所述训练集服务类别定义为:
Figure BDA0002806494060000041
其中,
Figure BDA0002806494060000042
Figure BDA0002806494060000043
训练集中第ai个服务类别,A为训练集中服务类别的类型的数量,
Figure BDA0002806494060000044
步骤1所述根据服务类别的集合、训练集服务类别构建验证集服务类别、测试集服务类别为:
在Call-Ctrain中随机划分一半的服务类别作为验证集服务类别即Cvalid,另一半服务类别作为测试集服务类别即Ctest
所述验证集服务类别定义为:
Figure BDA0002806494060000045
其中,
Figure BDA0002806494060000046
Figure BDA0002806494060000047
验证集中第bi个服务类别,B为验证集中服务类别的类型的数量,
Figure BDA0002806494060000048
所述测试集服务类别定义为:
Figure BDA0002806494060000049
其中,
Figure BDA00028064940600000410
Figure BDA00028064940600000411
验证集中第ci个服务类别,C为验证集中服务类别的类型的数量,
Figure BDA00028064940600000412
步骤1所述结合训练集服务类别构建训练集为:
将numl>Threshold的服务类别对应的Web服务集合挑选出来,用于构建训练集;
所述训练集定义为:
Figure BDA0002806494060000051
其中,
Figure BDA0002806494060000052
Figure BDA0002806494060000053
训练集中第ai个服务类别的Web服务集合,A为训练集中服务类别的类型的数量;
步骤1所述结合测试集服务类别构建验证集为:
在Call-Ctrain中随机划分一半的服务类别的Web服务集合作为验证集即Cvalid,另一半服务类别的Web服务集合作为测试集即Ctest
所述验证集定义为:
Figure BDA0002806494060000054
其中,
Figure BDA0002806494060000055
Figure BDA0002806494060000056
验证集中第bi个服务类别的Web服务集合,B为验证集中服务类别的类型的数量;
步骤1所述结合测试集服务类别构建测试集为:
所述测试集定义为:
Figure BDA0002806494060000057
其中,
Figure BDA0002806494060000058
Figure BDA0002806494060000059
测试集中第ci个服务类别的Web服务集合,C为测试集中服务类别的类型的数量。
作为优选,,步骤2具体包括:
步骤2.1:从步骤1中所述训练集服务类别中随机选出N个服务类别:
Figure BDA00028064940600000510
其中,Ce表示第e个轮次下随机选出的N个服务类别,i∈[1,N],ei∈[1,P],P为服务类别的种类的数量;
Figure BDA00028064940600000511
表示第e个轮次下随机选出的N个服务类别中第i个服务类别,对应步骤1中所述训练集服务类别第ei个类别;
步骤2.2:从步骤1中所述第e个轮次下随机选出的N个服务类别中第i个服务类别对应的Web服务集合中随机挑选出K个Web服务,构建第e个轮次下支持集为:
Figure BDA00028064940600000512
Figure BDA0002806494060000061
其中,
Figure BDA0002806494060000062
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的支持集Web服务集合,
Figure BDA0002806494060000063
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的支持集Web服务集合中第j个服务;
所述第e个轮次下支持集为
Figure BDA0002806494060000064
即:
Figure BDA0002806494060000065
Figure BDA0002806494060000066
中随机挑选出Q个Web服务,构建第e个轮次下查询集为:
Figure BDA0002806494060000067
其中,
Figure BDA0002806494060000068
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的查询集Web服务集合,
Figure BDA0002806494060000069
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的查询集Web服务集合中第l个服务;
所述查询集为
Figure BDA00028064940600000610
即:
Figure BDA00028064940600000611
步骤2.3:构造样本池来计算词的全局权重;
第e个轮次的样本池
Figure BDA00028064940600000612
由Strain-
Figure BDA00028064940600000613
中所有Web服务组成,Strain为步骤1中所述训练集。设
Figure BDA00028064940600000614
包含
Figure BDA00028064940600000615
个Web服务,即:
Figure BDA00028064940600000616
其中,
Figure BDA00028064940600000617
Figure BDA00028064940600000618
Figure BDA00028064940600000619
中的第t个Web服务,它所对应的分词后的词序列为
Figure BDA00028064940600000620
nt为这个Web服务的自然语言服务描述词序列中词的数量。对
Figure BDA00028064940600000621
中所有Web服务对应的词序列进行去重后得到一个全局词汇表
Figure BDA00028064940600000622
其中Mglobal,e为Vocabglobal,e中词的数量,j∈[1,Mglobal,e],
Figure BDA00028064940600000623
为Vocabglobal,e中的第j个词,采用下式计算
Figure BDA00028064940600000624
对应的全局权重:
Figure BDA00028064940600000625
其中,
Figure BDA0002806494060000071
为词
Figure BDA0002806494060000072
对应的全局权重,
Figure BDA0002806494060000073
为词
Figure BDA0002806494060000074
在样本池中的出现频率。
步骤2.4:对于任意轮次,在该轮次的支持集
Figure BDA0002806494060000075
上计算词的局部权重。
Figure BDA0002806494060000076
其中,
Figure BDA0002806494060000077
Figure BDA0002806494060000078
所包含的Web服务数量,
Figure BDA0002806494060000079
Figure BDA00028064940600000710
Figure BDA00028064940600000711
中的第t个Web服务,它所对应的分词后的词序列为
Figure BDA00028064940600000712
nt为这个Web服务的自然语言服务描述词序列中词的数量。对
Figure BDA00028064940600000713
中所有Web服务对应的词序列进行去重后得到一个局部词汇表
Figure BDA00028064940600000714
其中Mlocal,e为Vocablooal,e中词的数量,j∈[1,Mlocal,e],
Figure BDA00028064940600000715
为Vocablooal,e中的第j个词,采用下式计算
Figure BDA00028064940600000716
对应的局部权重:
Figure BDA00028064940600000717
其中,
Figure BDA00028064940600000718
为词
Figure BDA00028064940600000719
对应的局部权重,N为支持集中包含的服务类别的数目,
Figure BDA00028064940600000720
为在支持集包含的Web服务对应的描述中出现过词
Figure BDA00028064940600000721
出现出现过的服务对应的类别数目;
作为优选,步骤3具体包括:
步骤3.1:从步骤1中所述验证集服务类别中根据步骤2.1随机选出N个验证过程中服务类别;
步骤3.2:从步骤1中所述验证集中根据步骤2.2构建验证过程中支持集与验证过程中查询集;
步骤3.3:根据步骤2.3,构造验证过程中样本池来计算验证过程中词的全局权重,验证过程中的样本池
Figure BDA00028064940600000722
始终为Strain
步骤3.4:在验证过程中支持集上根据步骤2.4计算验证过程中词的局部权重。
作为优选,步骤4具体包括:
步骤4.1:从步骤1中所述测试集服务类别中根据步骤2.1随机选出N个测试过程中服务类别;
步骤4.2:从步骤1中所述测试集中根据步骤2.2构建测试过程中支持集与测试过程中查询集;
步骤4.3:根据步骤2.3,构造测试过程中样本池来计算测试过程中词的全局权重,测试过程中的样本池
Figure BDA0002806494060000081
始终为Strain
步骤4.4:在测试过程中支持集上根据步骤2.4计算测试过程中词的局部权重。
作为优选,步骤5具体包括:
步骤5.1:根据步骤1中所述的第j条服务描述分词后的词序列即
Desj=(wj,1,wj,2,……,wj,nj);
对于第j条服务描述分词后的词序列中第i个词即wj,i
通过步骤2.3计算第j条服务描述分词后的词序列中第i个词的全局权重
Figure BDA0002806494060000082
通过步骤2.4计算第j条服务描述分词后的词序列中第i个词的局部权重
Figure BDA0002806494060000083
Figure BDA0002806494060000084
Figure BDA0002806494060000085
拼接成第j条服务描述分词后的词序列中第i个词的二维向量即
Figure BDA0002806494060000086
Figure BDA0002806494060000087
输入到待训练的双向LSTM中,计算第j条服务描述分词后的词序列中第i个词的的输出向量为:
Figure BDA0002806494060000088
Figure BDA0002806494060000089
其中,输出向量的维度HiddenSize为预先定义从超参数;
步骤5.2:将第j条服务描述分词后的词序列中第i个词的的输出向量与可学习向量进行内积得到归一化前的最终权重;
所述归一化前的最终权重通过下式进行计算:
scorej,i=vThj,i
其中,scorej,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化前的最终权重,hj,i表示第j条服务描述分词后的词序列中第i个词的的输出向量,vT表示可学习向量;
步骤5.3:将归一化前的最终权重通过Softmax函数进行概率归一化得到词的最终权重;
第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重为:
Figure BDA0002806494060000091
其中,fwj,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重,scorej,i表示表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化前的最终权重,e为自然对数的底数,nj为第j条服务描述分词后的词序列中词的数量;
作为优选,步骤6所述结合Web服务的自然语言服务描述词序列中词归一化前的最终权重,得到Web服务的自然语言服务描述词序列中对应的向量为:
Figure BDA0002806494060000092
其中,vector(Desj)为第j个Web服务的自然语言服务描述词序列中对应的向量表示,ebd(wj,i)为第j个Web服务的自然语言服务描述词序列中的第i个词的向量,fwj,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重,nj为第j个Web服务的自然语言服务描述词序列中包含的词的数量。
作为优选,所述步骤7具体包括以下步骤:
步骤7.1:将每个轮次下随机选出的N个Web服务类别进行重新编码,对于第e个轮次下随机选出的N个服务类别即步骤2.2中所描述的
Figure BDA0002806494060000093
其原始类别编号为:
Figure BDA0002806494060000094
其中,|Call|表示Call中包含的类别总数,重新编码的目的是为了将类别的编号限定至0~N-1;
先将原始类别编号
Figure BDA0002806494060000095
按从小到大的顺序排列成
Figure BDA0002806494060000096
然后依次与0~N-1相对应;
步骤7.2:将每个轮次下重新编码后的N个Web服务类别通过独热编码得到每个轮次下N个服务类别的独热向量。具体地,对于重编码后的任意类别Cnew∈[0,N-1],将其表示为一个N维向量Cnew_onehot,Cnew_onehot的第Cnew维度为1,其余维度均为。则第e轮次的支持集包含的Web服务的经过此步骤得到的独热标签组成矩阵
Figure BDA0002806494060000101
第e轮次的查询集包含的Web服务的经过此步骤得到的独热标签组成矩阵
Figure BDA0002806494060000102
步骤7.3:在第e个轮次支持集即
Figure BDA0002806494060000103
上使用岭回归技术拟合第e个轮次支持集对应的分类模型,具体岭回归通过最小化下式来得到用于分类的模型:
Figure BDA0002806494060000104
其中,L(We)为模型需要最小化的函数,
Figure BDA0002806494060000105
为模型的参数矩阵,
Figure BDA0002806494060000106
Figure BDA0002806494060000107
为第e个轮次支持集即
Figure BDA0002806494060000108
中包含的服务通过步骤6得到的向量化表示,
Figure BDA0002806494060000109
为第e个轮次支持集即
Figure BDA00028064940600001010
中包含的服务的原始标签通过步骤7.1重编码后得到的类别的独热表示,E为词向量维度,N为支持集种的类别数。模型的参数矩阵即We的任意一列E维向量We,·j(j∈[1,N])用于拟合Xs与对应的标签列YS·j
最后,λ是正则化参数,是可学习参数,用于降低过拟合;
作为优选,所述步骤8具体包括以下步骤:
步骤8.1:对于训练过程、验证过程、测试过程,分别使用步骤2、步骤3、步骤4中所述的每个轮次支持集对应的分类模型预测查询集中各Web服务属于每个类别的可能性,具体使用如下公式:
Figure BDA00028064940600001011
其中,
Figure BDA00028064940600001012
为第e个轮次支持集即
Figure BDA00028064940600001013
中包含的服务通过步骤6得到的向量化表示,We为步骤7.3所得到的第e个轮次的岭回归参数矩阵,
Figure BDA00028064940600001014
为第e个轮次查询集中的服务通过步骤7.3所得到岭回归模型预测的属于该轮次中N个类别的概率;
使用Softmax函数对
Figure BDA00028064940600001015
的各行进行概率归一化得到最终的概率矩阵P,P中任意元素通过下式计算得到:
Figure BDA00028064940600001016
其中,
Figure BDA00028064940600001017
为矩阵
Figure BDA00028064940600001018
第i行j列的值,e为自然对数底数,Pij为查询集中第i个服务属于该轮次N个类别中第j个的概率,i∈[1,N*K],j∈[1,N]。
步骤8.2:通过步骤8.1计算出的查询集中各个服务属于每个类别的概率来得到查询集中各Web服务预测结果的置信度,具体地,通过下式计算查询集中第i个服务的置信度:
Confi=maxj∈[0,N)Pij
其中,Confi为查询集中第i个服务的置信度;
步骤8.3:通过步骤8.1计算出的查询集中各个服务属于每个类别的概率来得到查询集中各Web服务的伪标签,具体地,通过下式计算查询集中第i个服务的伪标签:
PseudoLabeli=argmaxj∈[0,N)Pij
其中PseudoLabeli为查询集中第i个服务的伪标签。;
步骤8.4:挑选查询集中置信度高于预设定阈值的Web服务组成
Figure BDA0002806494060000111
Figure BDA0002806494060000112
包含
Figure BDA0002806494060000113
个Web服务,即:
Figure BDA0002806494060000114
其中,
Figure BDA0002806494060000115
Figure BDA0002806494060000116
Figure BDA0002806494060000117
中的第t个Web服务
步骤8.5:将步骤8.4挑选出来的查询集中的高置信度Web服务
Figure BDA0002806494060000118
与该轮次的支持集
Figure BDA0002806494060000119
组合形成扩充后的支持集
Figure BDA00028064940600001110
作为优选,所述步骤9具体包括:
步骤9.1:在扩充后的支持集
Figure BDA00028064940600001111
上按照步骤7.2所述使用岭回归技术重新训练新的分类模型;
步骤9.2:利用新的分类模型按照步骤8.1所述方式得到查询集中各个服务属于该轮次N个类别的概率P。
作为优选,步骤10所述计算交叉熵为:
步骤9根据步骤8预测的查询集属于各个类别的概率,通过与其真实类别进行对比计算交叉熵,具体计算公式为:
Figure BDA00028064940600001112
其中CE(YQ,P)为该轮次的交叉熵,YQ为步骤7.2所述的查询集的真实结果,
Figure BDA00028064940600001113
为YQ第i行第j列的值,即查询集中第i个样本属于第j类的概率,P为模型预测的查询集属于各个类别的真实概率,Pij为P第i行第j列的值,即查询集中第i个样本属于第j类的预测概率。
本发明公开了一种基于元学习框架的小样本Web服务分类方法,首先根据Web服务数据集中各类别的对应的服务数构建训练集、验证集以及测试集;然后在样本池上计算服务描述中单词的全局权重,在每个轮次上面计算词的局部权重,使用带注意力机制的双向LSTM对两个权重进行组合得到词的最终权重;接着使用词的权重对服务描述内的所有词的嵌入向量进行加权求和得到服务的向量表示;然后使用岭回归方法在每个轮次的支持集上训练分类模型,使用该模型预测查询集中服务的标签并挑选高置信度的服务对支持集进行扩充,使用模型预测的标签作为其伪标签;再在扩充的支持集上重新使用岭回归方法训练分类模型并对查询集中的服务再次进行预测;对训练和测试阶段而言,前面几个步骤都是相同的,两个阶段差异体现在最后一步,即在训练阶段,可以根据对查询集中的服务的预测标签以及其真实标签计算交叉熵更新模型参数;在预测阶段,可以据对查询集中的服务的预测标签以及其真实标签计算模型的准确率。
通过本发明的方法,可以基于元学习框架构建一个分类模型,用于对应样本量很少的服务类别的分类。通过基于轮次的训练策略,模型能够学习到头部类别的知识并将其迁移到尾部类别的分类中去,同时伪标签策略的运用,能够大大缓解尾部标签样本量不足给分类准确率带来的负面影响。
附图说明
图1:是本发明基于元学习框架的小样本Web服务分类方法的总体框架示意图;
图2:使用本专利所述方法、CNN、双向LSTM构建服务向量时训练及验证的准确率曲线。
具体实施方式
下面结合图1至图2介绍本发明的具体实施方式为一种基于元学习框架的小样本Web服务分类方法,包括以下步骤:
步骤1:将Web服务对应的自然语言服务描述进行分词处理得到Web服务的自然语言服务描述词序列,构建服务类别的集合、服务类别的Web服务集合,统计所有服务类别的Web服务集合中各服务类别的Web服务数量,根据服务类别的Web服务数量以及分类阈值构建构建训练集服务类别,根据服务类别的集合、训练集服务类别构建验证集服务类别、测试集服务类别,结合训练集服务类别构建训练集,结合验证集服务类别构建验证集,结合测试集服务类别构建测试集;
步骤1所述Web服务的自然语言服务描述词序列为:
Desj=(wj,1,wj,2,……,wj,nj)
其中,Desj为第j个Web服务的自然语言服务描述词序列,j∈[1,Counttotal],i∈[1,n],Counttotal=9748为Web服务的数量,nj为第j个Web服务的自然语言服务描述词序列中词的数量,wj,i为第j个Web服务的自然语言服务描述词序列中第i个词;
步骤1所述服务类别的集合为:
Call={C1,C2…,CP}
其中,C1第1种服务类别,P=265为服务类别的种类的数量;
步骤1所述服务类别的Web服务集合为:
S1={WebServicel,1,WebService1,2...,WebService1,Ql}
Sall={S1,S2…,SP}
其中,Sall为所有服务类别的Web服务集合,S1为第1种服务类别的Web服务集合,WebService1,z为第1种服务类别的Web服务集合中第z个Web服务,Q1为第l种服务类别的Web服务集合中Web服务的数量,1∈[1,P],z∈[1,Q1],P=265为服务类别的类型的数量;
步骤1所述统计所有服务类别的Web服务集合中各服务类别的Web服务数量:
numall={num1,num2…,num1,…numP}
其中,num1第1种服务类别对应的Web服务数量,P=100为服务类别的种类的数量;
步骤1所述根据服务类别的Web服务数量以及分类阈值构建构建训练集服务类别为:
所述分类阈值为Threshold=30;
将num1>Threshold的服务类别挑选出来用于构建训练集服务类别;
所述训练集服务类别定义为:
Figure BDA0002806494060000131
其中,
Figure BDA0002806494060000132
Figure BDA0002806494060000133
训练集中第ai个服务类别,A=146为训练集中服务类别的类型的数量,
Figure BDA0002806494060000134
步骤1所述根据服务类别的集合、训练集服务类别构建验证集服务类别、测试集服务类别为:
在Call-Ctrain中随机划分一半的服务类别作为验证集服务类别即Cvalid,另一半服务类别作为测试集服务类别即Ctest
所述验证集服务类别定义为:
Figure BDA0002806494060000141
其中,
Figure BDA0002806494060000142
Figure BDA0002806494060000143
验证集中第bi个服务类别,B=60为验证集中服务类别的类型的数量,
Figure BDA0002806494060000144
所述测试集服务类别定义为:
Figure BDA0002806494060000145
其中,
Figure BDA0002806494060000146
Figure BDA0002806494060000147
验证集中第ci个服务类别,C=59为验证集中服务类别的类型的数量,
Figure BDA0002806494060000148
步骤1所述结合训练集服务类别构建训练集为:
将numl>Threshold的服务类别对应的Web服务集合挑选出来,用于构建训练集;
所述训练集定义为:
Figure BDA0002806494060000149
其中,
Figure BDA00028064940600001410
Figure BDA00028064940600001411
训练集中第ai个服务类别的Web服务集合,A=146为训练集中服务类别的类型的数量;
步骤1所述结合测试集服务类别构建验证集为:
在Call-Ctrain中随机划分一半的服务类别的Web服务集合作为验证集即Cvalid,另一半服务类别的Web服务集合作为测试集即Ctest
所述验证集定义为:
Figure BDA00028064940600001412
其中,
Figure BDA00028064940600001413
Figure BDA00028064940600001414
验证集中第bi个服务类别的Web服务集合,B=60为验证集中服务类别的类型的数量;
步骤1所述结合测试集服务类别构建测试集为:
所述测试集定义为:
Figure BDA00028064940600001415
其中,
Figure BDA00028064940600001416
Figure BDA00028064940600001417
则试集中第ci个服务类别的Web服务集合,C=59为测试集中服务类别的类型的数量。
步骤2:遵循元学习在小样本学习问题中的一般框架,训练过程使用基于轮次的策略,每一个轮次通过挑选固定数量的类别,然后在这些类别上构造支持集以及查询集来模拟小样本场景。具体地,每一轮需要先从训练集中随机选择指定数量的类别,并从每个类别中随机选择指定数量(很少)的服务作为支持集,指定数量的服务作为查询集。
对于第j条服务描述分词后的词序列Desj=(wj,1,wj,2,……,wj,nj),需要计算每一个词的全局权重与局部权重;
在一种实施方式中,步骤2具体包括:
步骤2.1:从步骤1中所述训练集服务类别中随机选出N=5个服务类别:
Figure BDA0002806494060000151
其中,Ce表示第e个轮次下随机选出的N=5个服务类别,i∈[1,N],ei∈[1,P],P=265为服务类别的种类的数量;
Figure BDA0002806494060000152
表示第e个轮次下随机选出的N=5个服务类别中第i个服务类别,对应步骤1中所述训练集服务类别第ei个类别;
步骤2.2:从步骤1中所述第e个轮次下随机选出的N=5个服务类别中第i个服务类别对应的Web服务集合中随机挑选出K=5个Web服务,构建第e个轮次下支持集为:
Figure BDA0002806494060000153
其中,
Figure BDA0002806494060000154
表示第e个轮次下随机选出的N=5个服务类别中第i个服务类别对应的支持集Web服务集合,
Figure BDA0002806494060000155
表示第e个轮次下随机选出的N=5个服务类别中第i个服务类别对应的支持集Web服务集合中第j个服务;
所述第e个轮次下支持集为
Figure BDA0002806494060000156
即:
Figure BDA0002806494060000157
Figure BDA0002806494060000158
中随机挑选出Q=25个Web服务,构建第e个轮次下查询集为:
Figure BDA0002806494060000159
Figure BDA0002806494060000161
其中,
Figure BDA0002806494060000162
表示第e个轮次下随机选出的N=5个服务类别中第i个服务类别对应的查询集Web服务集合,
Figure BDA0002806494060000163
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的查询集Web服务集合中第1个服务;
所述查询集为
Figure BDA0002806494060000164
即:
Figure BDA0002806494060000165
步骤2.3:构造样本池来计算词的全局权重;
第e个轮次的样本池
Figure BDA0002806494060000166
由Strain-
Figure BDA0002806494060000167
中所有Web服务组成,Strain为步骤1中所述训练集。设
Figure BDA0002806494060000168
包含
Figure BDA0002806494060000169
个Web服务,即:
Figure BDA00028064940600001610
其中,
Figure BDA00028064940600001611
Figure BDA00028064940600001612
Figure BDA00028064940600001613
中的第t个Web服务,它所对应的分词后的词序列为
Figure BDA00028064940600001614
nt为这个Web服务的自然语言服务描述词序列中词的数量。对
Figure BDA00028064940600001615
中所有Web服务对应的词序列进行去重后得到一个全局词汇表
Figure BDA00028064940600001616
其中Mglobal,e为Vocabglobal,e中词的数量,j∈[1,Mglobal,e],
Figure BDA00028064940600001617
为Vocabglobal,e中的第j个词,采用下式计算
Figure BDA00028064940600001618
对应的全局权重:
Figure BDA00028064940600001630
其中,
Figure BDA00028064940600001619
为词
Figure BDA00028064940600001620
对应的全局权重,
Figure BDA00028064940600001621
为词
Figure BDA00028064940600001622
在样本池中的出现频率。
步骤2.4:对于任意轮次,在该轮次的支持集
Figure BDA00028064940600001623
上计算词的局部权重。
Figure BDA00028064940600001624
其中,
Figure BDA00028064940600001625
Figure BDA00028064940600001626
所包含的Web服务数量,
Figure BDA00028064940600001631
Figure BDA00028064940600001627
Figure BDA00028064940600001628
中的第t个Web服务,它所对应的分词后的词序列为
Figure BDA00028064940600001629
nt为这个Web服务的自然语言服务描述词序列中词的数量。对
Figure BDA0002806494060000171
中所有Web服务对应的词序列进行去重后得到一个局部词汇表
Figure BDA0002806494060000172
其中Mlocal,e为Vocablocal,e中词的数量,j∈[1,Mlocal,e],
Figure BDA0002806494060000173
为Vocablocal,e中的第j个词,采用下式计算
Figure BDA0002806494060000174
对应的局部权重:
Figure BDA0002806494060000175
其中,
Figure BDA0002806494060000176
为词
Figure BDA0002806494060000177
对应的局部权重,N=5为支持集中包含的服务类别的数目,
Figure BDA0002806494060000178
为在支持集包含的Web服务对应的描述中出现过词
Figure BDA0002806494060000179
出现出现过的服务对应的类别数目;
步骤3:每训练一定的轮次后需要进行验证,计算验证过程中每一个词的全局权重与局部权重;
在一种实施方式中,步骤3具体包括:
步骤3.1:从步骤1中所述验证集服务类别中根据步骤2.1随机选出N=5个验证过程中服务类别;
步骤3.2:从步骤1中所述验证集中根据步骤2.2构建验证过程中支持集与验证过程中查询集;
步骤3.3:根据步骤2.3,构造验证过程中样本池来计算验证过程中词的全局权重,验证过程中的样本池
Figure BDA00028064940600001710
始终为Strain
步骤3.4:在验证过程中支持集上根据步骤2.4计算验证过程中词的局部权重。
步骤4:训练完成时需要进行测试,计算测试过程中每一个词的全局权重与局部权重;
在一种实施方式中,步骤4具体包括:
步骤4.1:从步骤1中所述测试集服务类别中根据步骤2.1随机选出N=5个测试过程中服务类别;
步骤4.2:从步骤1中所述测试集中根据步骤2.2构建测试过程中支持集与测试过程中查询集;
步骤4.3:根据步骤2.3,构造测试过程中样本池来计算测试过程中词的全局权重,测试过程中的样本池
Figure BDA00028064940600001711
始终为Strain
步骤4.4:在测试过程中支持集上根据步骤2.4计算测试过程中词的局部权重。
步骤5:对于通过步骤2得到的训练过程的词的全局权重以及局部权重、通过步骤3得到的验证过程的词的全局权重以及局部权重、通过步骤3得到的测试过程的词的全局权重以及局部权重,使用带Attention机制的双向LSTM来结合词的全局权重以及局部权重得到词的最终权重;
在一种实施方式中,步骤5具体包括:
步骤5.1:根据步骤1中所述的第j条服务描述分词后的词序列即
Desj=(wj,1,wj,2,……,wj,nj);
对于第j条服务描述分词后的词序列中第i个词即wj,i
通过步骤2.3计算第j条服务描述分词后的词序列中第i个词的全局权重
Figure BDA0002806494060000181
通过步骤2.4计算第j条服务描述分词后的词序列中第i个词的局部权重
Figure BDA0002806494060000182
Figure BDA0002806494060000183
Figure BDA0002806494060000184
拼接成第j条服务描述分词后的词序列中第i个词的二维向量即
Figure BDA0002806494060000185
Figure BDA0002806494060000186
输入到待训练的双向LSTM中,计算第j条服务描述分词后的词序列中第i个词的的输出向量为:hj,i
Figure BDA0002806494060000187
其中,输出向量的维度HiddenSize=265为预先定义从超参数;
步骤5.2:将第j条服务描述分词后的词序列中第i个词的的输出向量与可学习向量进行内积得到归一化前的最终权重;
所述归一化前的最终权重通过下式进行计算:
scorej,i=vThj,i
其中,scorej,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化前的最终权重,hj,i表示第j条服务描述分词后的词序列中第i个词的的输出向量,vT表示可学习向量;
步骤5.3:将归一化前的最终权重通过Softmax函数进行概率归一化得到词的最终权重;
第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重为:
Figure BDA0002806494060000191
其中,fwj,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重,scorej,i表示表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化前的最终权重,e为自然对数的底数,nj为第j条服务描述分词后的词序列中词的数量;
步骤6:通过FastText方式构建词向量初始化嵌入层,将Web服务的自然语言服务描述词序列通过独热编码得到独热编码后Web服务的自然语言服务描述词序列,进一步输入至词向量初始化嵌入层得到Web服务的自然语言服务描述词序列中词的嵌入向量,结合Web服务的自然语言服务描述词序列中词归一化前的最终权重,得到Web服务的自然语言服务描述词序列中对应的向量;
所述结合Web服务的自然语言服务描述词序列中词归一化前的最终权重,得到Web服务的自然语言服务描述词序列中对应的向量为:
Figure BDA0002806494060000192
其中,vector(Desj)为第j个Web服务的自然语言服务描述词序列中对应的向量表示,ebd(wj,i)为第j个Web服务的自然语言服务描述词序列中的第i个词的向量,fwj,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重,nj为第j个Web服务的自然语言服务描述词序列中包含的词的数量。
步骤7:将每个轮次下随机选出的N=5个服务类别进行重新编码得到,每个轮次下重新编码后的N=5个Web服务类别,将每个轮次下重新编码后的N=5个Web服务类别通过独热编码得到每个轮次下N=5个Web服务类别的独热向量,每个轮次轮次支持集上使用岭回归技术拟合每个轮次支持集对应的分类模型;
步骤7.1:将每个轮次下随机选出的N=5个Web服务类别进行重新编码,对于第e个轮次下随机选出的N个服务类别即步骤2.2中所描述的
Figure BDA0002806494060000193
其原始类别编号为:
Figure BDA0002806494060000194
其中,|Call|表示Call中包含的类别总数,重新编码的目的是为了将类别的编号限定至0~N-1;
先将原始类别编号
Figure BDA0002806494060000201
按从小到大的顺序排列成
Figure BDA0002806494060000202
然后依次与0~N-1相对应;
步骤7.2:将每个轮次下重新编码后的N=5个Web服务类别通过独热编码得到每个轮次下N=5个服务类别的独热向量。具体地,对于重编码后的任意类别Cnew∈[0,N-1],将其表示为一个N=5维向量Cnew_onehot,Cnew_onehot的第Cnew维度为1,其余维度均为。则第e轮次的支持集包含的Web服务的经过此步骤得到的独热标签组成矩阵
Figure BDA0002806494060000203
第e轮次的查询集包含的Web服务的经过此步骤得到的独热标签组成矩阵
Figure BDA0002806494060000204
步骤7.3:在第e个轮次支持集即
Figure BDA0002806494060000205
上使用岭回归技术拟合第e个轮次支持集对应的分类模型,具体岭回归通过最小化下式来得到用于分类的模型:
Figure BDA00028064940600002015
其中,L(We)为模型需要最小化的函数,
Figure BDA0002806494060000206
为模型的参数矩阵,
Figure BDA0002806494060000207
Figure BDA0002806494060000208
为第e个轮次支持集即
Figure BDA0002806494060000209
中包含的服务通过步骤6得到的向量化表示,
Figure BDA00028064940600002010
为第e个轮次支持集即
Figure BDA00028064940600002011
中包含的服务的原始标签通过步骤7.1重编码后得到的类别的独热表示,E=300为词向量维度,N=5为支持集种的类别数。模型的参数矩阵即We的任意一列E维向量We,·j(j∈[1,N])用于拟合XS与对应的标签列YS·j
最后,λ是正则化参数,是可学习参数,用于降低过拟合;
步骤8:对于训练过程、验证过程、测试过程,分别使用步骤2、步骤3、步骤4中所述的支持集对应的分类模型预测查询集中各Web服务属于每个类别的可能性,
步骤8.1:对于训练过程、验证过程、测试过程,分别使用步骤2、步骤3、步骤4中所述的每个轮次支持集对应的分类模型预测查询集中各Web服务属于每个类别的可能性,具体使用如下公式:
Figure BDA00028064940600002012
其中,
Figure BDA00028064940600002013
为第e个轮次支持集即
Figure BDA00028064940600002014
中包含的服务通过步骤6得到的向量化表示,We为步骤7.3所得到的第e个轮次的岭回归参数矩阵,
Figure BDA0002806494060000211
为第e个轮次查询集中的服务通过步骤7.3所得到岭回归模型预测的属于该轮次中N=5个类别的概率;
使用Softmax函数对
Figure BDA0002806494060000212
的各行进行概率归一化得到最终的概率矩阵P=265,P中任意元素通过下式计算得到:
Figure BDA0002806494060000213
其中,
Figure BDA0002806494060000214
为矩阵
Figure BDA0002806494060000215
第i行j列的值,e为自然对数底数,Pij为查询集中第i个服务属于该轮次N个类别中第j个的概率,i∈[1,N*K],j∈[1,N]。
步骤8.2:通过步骤8.1计算出的查询集中各个服务属于每个类别的概率来得到查询集中各Web服务预测结果的置信度,具体地,通过下式计算查询集中第i个服务的置信度:
Confi=maxj∈[0,N)Pij
其中,Confi为查询集中第i个服务的置信度;
步骤8.3:通过步骤8.1计算出的查询集中各个服务属于每个类别的概率来得到查询集中各Web服务的伪标签,具体地,通过下式计算查询集中第i个服务的伪标签:
PseudoLabeli=argmaxj∈[0,N)Pij
其中PseudoLabeli为查询集中第i个服务的伪标签。;
步骤8.4:挑选查询集中置信度高于预设定阈值的Web服务组成
Figure BDA0002806494060000216
Figure BDA0002806494060000217
包含
Figure BDA0002806494060000218
个Web服务,即:
Figure BDA0002806494060000219
其中,
Figure BDA00028064940600002110
Figure BDA00028064940600002111
Figure BDA00028064940600002112
中的第t个Web服务
步骤8.5:将步骤8.4挑选出来的查询集中的高置信度Web服务
Figure BDA00028064940600002113
与该轮次的支持集
Figure BDA00028064940600002114
组合形成扩充后的支持集
Figure BDA00028064940600002115
步骤9:根据扩充后的支持集训练新的分类模型,使用新的分类模型再次预测查询集中服务的标签,作为最终的预测结果;
在一种实施方式中,步骤9具体包括:
步骤9.1:在扩充后的支持集
Figure BDA0002806494060000221
上按照步骤7.2所述使用岭回归技术重新训练新的分类模型;
步骤9.2:利用新的分类模型按照步骤8.1所述方式得到查询集中各个服务属于该轮次N=5个类别的概率P。
步骤10:使用步骤9中对于查询集的预测结果P与步骤7.2所述的查询集的真实结果YQ计算交叉熵,然后计算交叉熵对于词嵌入层、双向LSTM、步骤4.2中的可学习向量v、步骤7.3中的参数λ等整体学习网络的参数所的梯度,最后使用随机梯度下降法更新这些参数;
步骤9根据步骤8预测的查询集属于各个类别的概率,通过与其真实类别进行对比计算交叉熵,具体计算公式为:
Figure BDA0002806494060000222
其中CE(YQ,P)为该轮次的交叉熵,YQ为步骤7.2所述的查询集的真实结果,
Figure BDA0002806494060000223
为YQ第i行第j列的值,即查询集中第i个样本属于第j类的概率,P为模型预测的查询集属于各个类别的真实概率,Pij为P第i行第j列的值,即查询集中第i个样本属于第j类的预测概率。
下面是应用本发明的方法进行小样本服务分类的具体实施例,以从ProgrammableWeb网站上爬取到的Web服务构建的真实数据集进行小样本服务分类为实施例,并结合附图,详细描述本发明的实施过程,其中,图1是本发明基于元学习框架的小样本Web服务分类的总体框架示意图,表1是数据集中一个Web服务样例。
表1原始数据集中Web服务示例
Figure BDA0002806494060000224
首先,执行步骤101(对应前文的步骤1)将原始数据集划分为训练集、验证集以及测试集,表2是训练集、验证集、测试集中的类别数和服务数,及具体实施方案中所描述的A=146,B=60,C=59,Strain包含的服务数量为7698,Svalid包含的服务数量为7698,Stest包含的服务数量为1016。
表2训练集、验证集、测试集的统计信息
统计量
训练集中的类别数 146
训练集中的服务数 7698
验证集中的类别数 60
验证集中的服务数 1034
测试集中的类别数 59
测试集中的服务数 1016
然后,执行步骤102(对应前文的步骤2),构造训练过程第e个轮次的支持集
Figure BDA0002806494060000231
与查询集
Figure BDA0002806494060000232
计算各个词的全局权重与局部权重;
然后,每训练一定轮次需要执行步骤103(对应前文的步骤3)进行验证,验证过程参照步骤3构造第e个轮次的支持集
Figure BDA0002806494060000233
与查询集
Figure BDA0002806494060000234
计算各个词的全局权重与局部权重;
然后,训练完成时需要执行步骤104(对应前文的步骤4)进行测试,测试过程参照步骤4构造第e个轮次的支持集
Figure BDA0002806494060000235
与查询集
Figure BDA0002806494060000236
计算各个词的全局权重与局部权重;
接着,执行步骤105(对应前文的步骤5),对于第j条服务描述分词后的词序列即Desj=(wj,1,wj,2,…,wj,i,…,wj,nj),将每个词对应的全局权重以及局部权重拼接成二维向量后按顺序通过带Attention机制的双向LSTM来得到词的最终权重,第i个词对应的全局权重为
Figure BDA0002806494060000237
局部权重为
Figure BDA0002806494060000238
最终权重为
Figure BDA0002806494060000239
图1a部分展示了步骤102、103、104以及105的详细过程。
接着,执行步骤106(对应前文的步骤6)将第j条服务描述分词后的词序列即Desj=(wj,1,wj,2,…,wj,i,…,wj,nj)中的词先经过嵌入层得到嵌入向量,第i个词得到的嵌入向量为ebd(wj,i),然后将嵌入向量与对应权重加权求和得到服务的向量vector(Desj)。图1b部分展示了步骤106的详细过程。
然后,执行步骤107(对应前文的步骤7),使用岭回归技术拟合第e个轮次的支持集中服务的向量表示与对应的标签得到分类模型。具体地,首先将服务的标签表示为独热编码,则所有服务的标签编码构成一个标签矩阵Y,该矩阵的每一列对应一个类别。岭回归会针对支持集中服务的向量表示以及标签矩阵中的每一列构造一个回归模型,最后组合这些回归模型得到一个的分类模型。
然后,执行步骤108(对应前文的步骤8),利用步骤107中得到的分类模型预测查询集中服务的标签并且将高置信度的服务以及其预测的标签与支持集组合成第e个轮次扩充的支持集
Figure BDA0002806494060000241
图1c部分展示了步骤107、108的详细过程。
接着,执行步骤109(对应前文的步骤9),在步骤108得到的扩充的支持集
Figure BDA0002806494060000242
上按照步骤107重新训练一个分类模型并对查询集
Figure BDA0002806494060000243
上中的服务再次预测,得到最终的预测结果P。
最后,对于训练过程,则执行步骤110(对应前文的步骤9),使用步骤109中对于查询集的预测结果与其真实结果计算交叉熵,然后根据交叉熵计算词嵌入层、双向LSTM等模型参数的梯度,使用随机梯度下降法更新网络参数。图1d部分展示了步骤109、S110的详细过程。对于验证过程以及测试过程,则根据下式计算准确率:
Figure BDA0002806494060000244
其中,Acc为模型在验证集或测试集上的准确率,M为验证集或测试集的服务数量,Yi为第i个服务的真实类别,Pi为第i个服务的预测类别,I为指示函数,当Yi和Pi相等时返回1,否则返回0。使用步骤109中对于查询集的预测结果P与其真实结果YQ计算准确率,多个轮次准确率的平均值作为模型最终的准确率。
基于轮次的策略不断重复训练模型,每隔一定时间在验证集上查看模型表现,当模型在验证集上效果稳定或者达到设定的最大训练次数后停止训练,最后在测试集上测试模型的最终效果。
表3展示了基于元学习框架的小样本Web服务分类方法在ProgrammableWeb数据集上的切除实验的分类准确率以及多次测试的方差,该表每一行代表了该方法中哪些模块被使用到,以此来展示该方法中每一个模块的重要性。其中,全局权重代表使用前述步骤2所述的全局权重,局部权重代表使用签树步骤2所述的局部权重,双向LSTM表示使用步骤5所述的带Attention机制的LSTM来组合词的全局权重以及局部权重,全连接表示使用全连接层来组合词的全局权重以及局部权重。该表每一列代表着小样本分类的一种样本数量设定,如5waylshot中的5way代表N=5,即每一个轮次都包含5个类别;1shot代表K=1,即每个类别有一个标注样本。
表3切除实验分类准确率以及方差
Figure BDA0002806494060000251
图2对比了使用本方法步骤2、3、4、5构建服务的向量表示以及使用CNN、带Attention机制的双向LSTM(AttnBiLSTM)构建服务的向量表示时,训练集以及验证集上准确率随训练次数的变化曲线。从图2可以看出,使用本方法能够使得模型在验证集上表现更好,并且模型在训练集和验证集上的效果差距会更小,这说明我们的方法有效地降低了过拟合。
本发明中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种基于元学习框架的小样本Web服务分类方法,具体步骤如下:
步骤1:将Web服务对应的自然语言服务描述进行分词处理得到Web服务的自然语言服务描述词序列,构建服务类别的集合、服务类别的Web服务集合,统计所有服务类别的Web服务集合中各服务类别的Web服务数量,根据服务类别的Web服务数量以及分类阈值构建构建训练集服务类别,根据服务类别的集合、训练集服务类别构建验证集服务类别、测试集服务类别,结合训练集服务类别构建训练集,结合验证集服务类别构建验证集,结合测试集服务类别构建测试集;
步骤2:遵循元学习在小样本学习问题中的一般框架,训练过程使用基于轮次的策略,每一个轮次通过挑选固定数量的类别,然后在这些类别上构造支持集以及查询集来模拟小样本场景;每一轮需要先从训练集中随机选择指定数量的类别,并从每个类别中随机选择指定数量的服务作为支持集,指定数量的服务作为查询集;
步骤3:每训练一定的轮次后需要进行验证,计算验证过程中每一个词的全局权重与局部权重;
步骤4:每训练一定的轮次后需要进行测试,计算测试过程中每一个词的全局权重与局部权重;
步骤5:对于通过步骤2得到的训练过程的词的全局权重以及局部权重、通过步骤3得到的验证过程的词的全局权重以及局部权重、通过步骤3得到的测试过程的词的全局权重以及局部权重,使用带Attention机制的双向LSTM来结合词的全局权重以及局部权重得到词的最终权重;
步骤6:通过FastText方式构建词向量初始化嵌入层,将Web服务的自然语言服务描述词序列通过独热编码得到独热编码后Web服务的自然语言服务描述词序列,进一步输入至词向量初始化嵌入层得到Web服务的自然语言服务描述词序列中词的嵌入向量,结合Web服务的自然语言服务描述词序列中词归一化前的最终权重,得到Web服务的自然语言服务描述词序列中对应的向量;
步骤7:将每个轮次下随机选出的N个服务类别进行重新编码得到,每个轮次下重新编码后的N个Web服务类别,将每个轮次下重新编码后的N个Web服务类别通过独热编码得到每个轮次下N个Web服务类别的独热向量,每个轮次轮次支持集上使用岭回归技术拟合每个轮次支持集对应的分类模型;
步骤8:对于训练过程、验证过程、测试过程,分别使用步骤2、步骤3、步骤4中所述的支持集对应的分类模型预测查询集中各Web服务属于每个类别的可能性,;
步骤9:根据扩充后的支持集训练新的分类模型,使用新的分类模型再次预测查询集中服务的标签,作为最终的预测结果;
步骤10:使用步骤9中对于查询集的预测结果P与步骤7.2所述的查询集的真实结果计算交叉熵,然后计算交叉熵对于词嵌入层、双向LSTM、步骤4.2中的可学习向量、步骤7.3中的整体学习网络的参数所的梯度,最后使用随机梯度下降法更新这些参数;
步骤2具体包括:
步骤2.1:从步骤1中所述训练集服务类别中随机选出N个服务类别:
Figure FDA0002806494050000021
其中,Ce表示第e个轮次下随机选出的N个服务类别,i∈[1,N],ei∈[1,P],P为服务类别的种类的数量;
Figure FDA0002806494050000022
表示第e个轮次下随机选出的N个服务类别中第i个服务类别,对应步骤1中所述训练集服务类别第ei个类别;
步骤2.2:从步骤1中所述第e个轮次下随机选出的N个服务类别中第i个服务类别对应的Web服务集合中随机挑选出K个Web服务,构建第e个轮次下支持集为:
Figure FDA0002806494050000023
其中,
Figure FDA0002806494050000024
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的支持集Web服务集合,
Figure FDA0002806494050000025
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的支持集Web服务集合中第j个服务;
所述第e个轮次下支持集为
Figure FDA0002806494050000026
即:
Figure FDA0002806494050000027
Figure FDA0002806494050000028
中随机挑选出Q个Web服务,构建第e个轮次下查询集为:
Figure FDA0002806494050000029
其中,
Figure FDA0002806494050000031
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的查询集Web服务集合,
Figure FDA0002806494050000032
表示第e个轮次下随机选出的N个服务类别中第i个服务类别对应的查询集Web服务集合中第l个服务;
所述查询集为
Figure FDA0002806494050000033
即:
Figure FDA0002806494050000034
步骤2.3:构造样本池来计算词的全局权重;
第e个轮次的样本池
Figure FDA0002806494050000035
Figure FDA0002806494050000036
中所有Web服务组成,Strain为步骤1中所述训练集;设
Figure FDA0002806494050000037
包含
Figure FDA0002806494050000038
个Web服务,即:
Figure FDA0002806494050000039
其中,
Figure FDA00028064940500000311
Figure FDA00028064940500000312
Figure FDA00028064940500000313
中的第t个Web服务,它所对应的分词后的词序列为
Figure FDA00028064940500000314
nt为这个Web服务的自然语言服务描述词序列中词的数量;对
Figure FDA00028064940500000315
中所有Web服务对应的词序列进行去重后得到一个全局词汇表
Figure FDA00028064940500000316
其中Mglobal,e为Vocabglobal,e中词的数量,j∈[1,Mglobal,e],
Figure FDA00028064940500000317
为Vocabglobal,e中的第j个词,采用下式计算
Figure FDA00028064940500000318
对应的全局权重:
Figure FDA00028064940500000319
其中,
Figure FDA00028064940500000320
为词
Figure FDA00028064940500000321
对应的全局权重,
Figure FDA00028064940500000322
为词
Figure FDA00028064940500000323
在样本池中的出现频率;
步骤2.4:对于任意轮次,在该轮次的支持集
Figure FDA00028064940500000324
上计算词的局部权重;
Figure FDA00028064940500000325
其中,
Figure FDA00028064940500000327
Figure FDA00028064940500000328
所包含的Web服务数量,
Figure FDA00028064940500000329
Figure FDA00028064940500000330
Figure FDA00028064940500000331
中的第t个Web服务,它所对应的分词后的词序列为
Figure FDA00028064940500000332
nt为这个Web服务的自然语言服务描述词序列中词的数量;对
Figure FDA00028064940500000333
中所有Web服务对应的词序列进行去重后得到一个局部词汇表
Figure FDA0002806494050000041
其中Mlocal,e为Vocablocal,e中词的数量,j∈[1,Mlocal,e],
Figure FDA0002806494050000042
为Vocablocal,e中的第j个词,采用下式计算
Figure FDA0002806494050000043
对应的局部权重:
Figure FDA0002806494050000044
其中,
Figure FDA0002806494050000045
为词
Figure FDA0002806494050000046
对应的局部权重,N为支持集中包含的服务类别的数目,
Figure FDA0002806494050000047
为在支持集包含的Web服务对应的描述中出现过词
Figure FDA0002806494050000048
出现出现过的服务对应的类别数目;
步骤3具体包括:
步骤3.1:从步骤1中所述验证集服务类别中根据步骤2.1随机选出N个验证过程中服务类别;
步骤3.2:从步骤1中所述验证集中根据步骤2.2构建验证过程中支持集与验证过程中查询集;
步骤3.3:根据步骤2.3,构造验证过程中样本池来计算验证过程中词的全局权重,验证过程中的样本池
Figure FDA0002806494050000049
始终为Strain
步骤3.4:在验证过程中支持集上根据步骤2.4计算验证过程中词的局部权重;
步骤4具体包括:
步骤4.1:从步骤1中所述测试集服务类别中根据步骤2.1随机选出N个测试过程中服务类别;
步骤4.2:从步骤1中所述测试集中根据步骤2.2构建测试过程中支持集与测试过程中查询集;
步骤4.3:根据步骤2.3,构造测试过程中样本池来计算测试过程中词的全局权重,测试过程中的样本池
Figure FDA00028064940500000410
始终为Strain
步骤4.4:在测试过程中支持集上根据步骤2.4计算测试过程中词的局部权重;
步骤5具体包括:
步骤5.1:根据步骤1中所述的第j条服务描述分词后的词序列即
Desj=(wj,1,wj,2,……,wj,nj);
对于第j条服务描述分词后的词序列中第i个词即wj,i
通过步骤2.3计算第j条服务描述分词后的词序列中第i个词的全局权重
Figure FDA0002806494050000051
通过步骤2.4计算第j条服务描述分词后的词序列中第i个词的局部权重
Figure FDA0002806494050000052
Figure FDA0002806494050000053
Figure FDA0002806494050000054
拼接成第j条服务描述分词后的词序列中第i个词的二维向量即
Figure FDA0002806494050000055
Figure FDA0002806494050000056
输入到待训练的双向LSTM中,计算第j条服务描述分词后的词序列中第i个词的的输出向量为:
Figure FDA0002806494050000057
Figure FDA0002806494050000058
其中,输出向量的维度HiddenSize为预先定义从超参数;
步骤5.2:将第j条服务描述分词后的词序列中第i个词的的输出向量与可学习向量进行内积得到归一化前的最终权重;
所述归一化前的最终权重通过下式进行计算:
Figure FDA0002806494050000059
其中,scorej,i表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化前的最终权重,hj,i表示第j条服务描述分词后的词序列中第i个词的的输出向量,vT表示可学习向量;
步骤5.3:将归一化前的最终权重通过Softmax函数进行概率归一化得到词的最终权重;
第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重为:
Figure FDA00028064940500000510
其中,
Figure FDA00028064940500000511
表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重,scorej,i表示表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化前的最终权重,e为自然对数的底数,nj为第j条服务描述分词后的词序列中词的数量;
所述步骤8具体包括以下步骤:
步骤8.1:对于训练过程、验证过程、测试过程,分别使用步骤2、步骤3、步骤4中所述的每个轮次支持集对应的分类模型预测查询集中各Web服务属于每个类别的可能性,具体使用如下公式:
Figure FDA0002806494050000061
其中,
Figure FDA0002806494050000062
为第e个轮次支持集即
Figure FDA0002806494050000063
中包含的服务通过步骤6得到的向量化表示,We为步骤7.3所得到的第e个轮次的岭回归参数矩阵,
Figure FDA0002806494050000064
为第e个轮次查询集中的服务通过步骤7.3所得到岭回归模型预测的属于该轮次中N个类别的概率;
使用Softmax函数对
Figure FDA0002806494050000065
的各行进行概率归一化得到最终的概率矩阵P,P中任意元素通过下式计算得到:
Figure FDA0002806494050000066
其中,
Figure FDA0002806494050000067
为矩阵
Figure FDA0002806494050000068
第i行j列的值,e为自然对数底数,Pij为查询集中第i个服务属于该轮次N个类别中第j个的概率,i∈[1,N*K],j∈[1,N];
步骤8.2:通过步骤8.1计算出的查询集中各个服务属于每个类别的概率来得到查询集中各Web服务预测结果的置信度,具体地,通过下式计算查询集中第i个服务的置信度:
Confi=maxj∈[0,N)Pij
其中,Confi为查询集中第i个服务的置信度;
步骤8.3:通过步骤8.1计算出的查询集中各个服务属于每个类别的概率来得到查询集中各Web服务的伪标签,具体地,通过下式计算查询集中第i个服务的伪标签:
PseudoLabeli=argmaxj∈[0,N)Pij
其中PseudoLabeli为查询集中第i个服务的伪标签;;
步骤8.4:挑选查询集中置信度高于预设定阈值的Web服务组成
Figure FDA0002806494050000069
Figure FDA00028064940500000610
包含
Figure FDA00028064940500000611
个Web服务,即:
Figure FDA00028064940500000612
其中,
Figure FDA00028064940500000613
Figure FDA00028064940500000614
Figure FDA00028064940500000615
中的第t个Web服务
步骤8.5:将步骤8.4挑选出来的查询集中的高置信度Web服务
Figure FDA0002806494050000071
与该轮次的支持集
Figure FDA0002806494050000072
组合形成扩充后的支持集
Figure FDA0002806494050000073
2.根据权利要求1所述的基于元学习框架的小样本Web服务分类方法,其特征在于:
步骤1所述Web服务的自然语言服务描述词序列为:
Desj=(wj,1,wj,2,……,wj,nj)
其中,Desj为第j个Web服务的自然语言服务描述词序列,j∈[1,Counttotal],i∈[1,n],Counttotal为Web服务的数量,nj为第j个Web服务的自然语言服务描述词序列中词的数量,wj,i为第j个Web服务的自然语言服务描述词序列中第i个词;
步骤1所述服务类别的集合为:
Call={C1,C2…,CP}
其中,Cl第l种服务类别,P为服务类别的种类的数量;
步骤1所述服务类别的Web服务集合为:
S1={WebServicel,1,WebServicel,2...,WebServicel,Ql}
Sall={S1,S2…,SP}
其中,Sall为所有服务类别的Web服务集合,S1为第l种服务类别的Web服务集合,WebServicel,z为第l种服务类别的Web服务集合中第z个Web服务,Ql为第l种服务类别的Web服务集合中Web服务的数量,l∈[1,P],z∈[1,Q1],P为服务类别的类型的数量;
步骤1所述统计所有服务类别的Web服务集合中各服务类别的Web服务数量:
numall={num1,num2…,numP}
其中,numl第l种服务类别对应的Web服务数量,P为服务类别的种类的数量;
步骤1所述根据服务类别的Web服务数量以及分类阈值构建构建训练集服务类别为:
所述分类阈值为Threshold;
将numl>Threshold的服务类别挑选出来用于构建训练集服务类别;
所述训练集服务类别定义为:
Figure FDA0002806494050000081
其中,
Figure FDA0002806494050000082
Figure FDA0002806494050000083
训练集中第ai个服务类别,A为训练集中服务类别的类型的数量,
Figure FDA0002806494050000084
步骤1所述根据服务类别的集合、训练集服务类别构建验证集服务类别、测试集服务类别为:
在Call-Ctrain中随机划分一半的服务类别作为验证集服务类别即Cvalid,另一半服务类别作为测试集服务类别即Ctest
所述验证集服务类别定义为:
Figure FDA0002806494050000085
其中,
Figure FDA0002806494050000086
Figure FDA0002806494050000087
验证集中第bi个服务类别,B为验证集中服务类别的类型的数量,
Figure FDA0002806494050000088
所述测试集服务类别定义为:
Figure FDA0002806494050000089
其中,
Figure FDA00028064940500000810
Figure FDA00028064940500000811
验证集中第ci个服务类别,C为验证集中服务类别的类型的数量,
Figure FDA00028064940500000812
步骤1所述结合训练集服务类别构建训练集为:
将num1>Threshold的服务类别对应的Web服务集合挑选出来,用于构建训练集;
所述训练集定义为:
Figure FDA00028064940500000813
其中,
Figure FDA00028064940500000814
Figure FDA00028064940500000815
训练集中第ai个服务类别的Web服务集合,A为训练集中服务类别的类型的数量;
步骤1所述结合测试集服务类别构建验证集为:
在Call-Ctrain中随机划分一半的服务类别的Web服务集合作为验证集即Cvalid,另一半服务类别的Web服务集合作为测试集即Ctest
所述验证集定义为:
Figure FDA00028064940500000816
其中,
Figure FDA00028064940500000817
Figure FDA00028064940500000818
验证集中第bi个服务类别的Web服务集合,B为验证集中服务类别的类型的数量;
步骤1所述结合测试集服务类别构建测试集为:
所述测试集定义为:
Figure FDA0002806494050000091
其中,
Figure FDA0002806494050000092
Figure FDA0002806494050000093
测试集中第ci个服务类别的Web服务集合,C为测试集中服务类别的类型的数量。
3.根据权利要求1所述的基于元学习框架的小样本Web服务分类方法,其特征在于:
步骤6所述结合Web服务的自然语言服务描述词序列中词归一化前的最终权重,得到Web服务的自然语言服务描述词序列中对应的向量为:
Figure FDA0002806494050000094
其中,vector(Desj)为第j个Web服务的自然语言服务描述词序列中对应的向量表示,ebd(wj,i)为第j个Web服务的自然语言服务描述词序列中的第i个词的向量,
Figure FDA0002806494050000095
表示第j个Web服务的自然语言服务描述词序列中的第i个词归一化后的最终权重,nj为第j个Web服务的自然语言服务描述词序列中包含的词的数量。
4.根据权利要求1所述的基于元学习框架的小样本Web服务分类方法,其特征在于:
所述步骤7具体包括以下步骤:
步骤7.1:将每个轮次下随机选出的N个Web服务类别进行重新编码,对于第e个轮次下随机选出的N个服务类别即步骤2.2中所描述的
Figure FDA0002806494050000099
其原始类别编号为:
Figure FDA0002806494050000096
其中,|Call|表示Call中包含的类别总数,重新编码的目的是为了将类别的编号限定至0~N-1;
先将原始类别编号
Figure FDA0002806494050000097
按从小到大的顺序排列成
Figure FDA0002806494050000098
然后依次与0~N-1相对应;
步骤7.2:将每个轮次下重新编码后的N个Web服务类别通过独热编码得到每个轮次下N个服务类别的独热向量;具体地,对于重编码后的任意类别Cnew∈[0,N-1],将其表示为一个N维向量Cnew_onehot,Cnew_onehot的第Cnew维度为1,其余维度均为;则第e轮次的支持集包含的Web服务的经过此步骤得到的独热标签组成矩阵
Figure FDA0002806494050000101
第e轮次的查询集包含的Web服务的经过此步骤得到的独热标签组成矩阵
Figure FDA0002806494050000102
步骤7.3:在第e个轮次支持集即
Figure FDA0002806494050000103
上使用岭回归技术拟合第e个轮次支持集对应的分类模型,具体岭回归通过最小化下式来得到用于分类的模型:
Figure FDA0002806494050000104
其中,L(We)为模型需要最小化的函数,
Figure FDA0002806494050000105
为模型的参数矩阵,
Figure FDA0002806494050000106
Figure FDA0002806494050000107
为第e个轮次支持集即
Figure FDA0002806494050000108
中包含的服务通过步骤6得到的向量化表示,
Figure FDA0002806494050000109
为第e个轮次支持集即
Figure FDA00028064940500001010
中包含的服务的原始标签通过步骤7.1重编码后得到的类别的独热表示,E为词向量维度,N为支持集种的类别数;模型的参数矩阵即We的任意一列E维向量We,·j(j∈[1,N])用于拟合XS与对应的标签列YS·j
最后,λ是正则化参数,是可学习参数,用于降低过拟合。
5.根据权利要求1所述的基于元学习框架的小样本Web服务分类方法,其特征在于:
所述步骤9具体包括:
步骤9.1:在扩充后的支持集
Figure FDA00028064940500001011
上按照步骤7.2所述使用岭回归技术重新训练新的分类模型;
步骤9.2:利用新的分类模型按照步骤8.1所述方式得到查询集中各个服务属于该轮次N个类别的概率P。
6.根据权利要求1所述的基于元学习框架的小样本Web服务分类方法,其特征在于:
步骤10所述计算交叉熵为:
步骤9根据步骤8预测的查询集属于各个类别的概率,通过与其真实类别进行对比计算交叉熵,具体计算公式为:
Figure FDA00028064940500001012
其中CE(YQ,P)为该轮次的交叉熵,YQ为步骤7.2所述的查询集的真实结果,
Figure FDA00028064940500001013
为YQ第i行第j列的值,即查询集中第i个样本属于第j类的概率,P为模型预测的查询集属于各个类别的真实概率,Pij为P第i行第j列的值,即查询集中第i个样本属于第j类的预测概率。
CN202011372329.2A 2020-11-30 2020-11-30 一种基于元学习框架的小样本Web服务分类方法 Active CN112487805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011372329.2A CN112487805B (zh) 2020-11-30 2020-11-30 一种基于元学习框架的小样本Web服务分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011372329.2A CN112487805B (zh) 2020-11-30 2020-11-30 一种基于元学习框架的小样本Web服务分类方法

Publications (2)

Publication Number Publication Date
CN112487805A true CN112487805A (zh) 2021-03-12
CN112487805B CN112487805B (zh) 2024-02-02

Family

ID=74937272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011372329.2A Active CN112487805B (zh) 2020-11-30 2020-11-30 一种基于元学习框架的小样本Web服务分类方法

Country Status (1)

Country Link
CN (1) CN112487805B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113314188A (zh) * 2021-06-16 2021-08-27 中国科学技术大学 图结构增强的小样本学习方法、系统、设备及存储介质
CN113343938A (zh) * 2021-07-16 2021-09-03 浙江大学 一种图像识别方法、装置、设备及计算机可读存储介质
CN113537305A (zh) * 2021-06-29 2021-10-22 复旦大学 一种基于匹配网络少样本学习的图像分类方法
CN113657473A (zh) * 2021-08-04 2021-11-16 北京航空航天大学 一种基于迁移学习的Web服务分类方法
CN113705716A (zh) * 2021-09-03 2021-11-26 北京百度网讯科技有限公司 图像识别模型训练方法、设备、云控平台及自动驾驶车辆
CN113792823A (zh) * 2021-11-17 2021-12-14 山东力聚机器人科技股份有限公司 图像的新类别识别方法及装置
CN113947133A (zh) * 2021-09-17 2022-01-18 哈尔滨工业大学 小样本图像识别的任务重要性感知元学习方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070203863A1 (en) * 2006-02-01 2007-08-30 Rakesh Gupta Meta learning for question classification
CN109961089A (zh) * 2019-02-26 2019-07-02 中山大学 基于度量学习和元学习的小样本和零样本图像分类方法
WO2019201068A1 (zh) * 2018-04-18 2019-10-24 山东科技大学 一种基于Gaussian ATM和词嵌入的语义稀疏Web服务发现方法
CN111858991A (zh) * 2020-08-06 2020-10-30 南京大学 一种基于协方差度量的小样本学习算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070203863A1 (en) * 2006-02-01 2007-08-30 Rakesh Gupta Meta learning for question classification
WO2019201068A1 (zh) * 2018-04-18 2019-10-24 山东科技大学 一种基于Gaussian ATM和词嵌入的语义稀疏Web服务发现方法
CN109961089A (zh) * 2019-02-26 2019-07-02 中山大学 基于度量学习和元学习的小样本和零样本图像分类方法
CN111858991A (zh) * 2020-08-06 2020-10-30 南京大学 一种基于协方差度量的小样本学习算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
唐艳秋;潘泓;朱亚平;李新德;: "图像超分辨率重建研究综述", 电子学报, no. 07 *
黄媛;李兵;何鹏;熊伟;: "基于标签推荐的Mashup服务聚类", 计算机科学, no. 02 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113314188A (zh) * 2021-06-16 2021-08-27 中国科学技术大学 图结构增强的小样本学习方法、系统、设备及存储介质
CN113314188B (zh) * 2021-06-16 2022-07-15 中国科学技术大学 图结构增强的小样本学习方法、系统、设备及存储介质
CN113537305A (zh) * 2021-06-29 2021-10-22 复旦大学 一种基于匹配网络少样本学习的图像分类方法
CN113343938A (zh) * 2021-07-16 2021-09-03 浙江大学 一种图像识别方法、装置、设备及计算机可读存储介质
CN113657473A (zh) * 2021-08-04 2021-11-16 北京航空航天大学 一种基于迁移学习的Web服务分类方法
CN113657473B (zh) * 2021-08-04 2023-06-30 北京航空航天大学 一种基于迁移学习的Web服务分类方法
CN113705716A (zh) * 2021-09-03 2021-11-26 北京百度网讯科技有限公司 图像识别模型训练方法、设备、云控平台及自动驾驶车辆
CN113705716B (zh) * 2021-09-03 2023-10-10 北京百度网讯科技有限公司 图像识别模型训练方法、设备、云控平台及自动驾驶车辆
CN113947133A (zh) * 2021-09-17 2022-01-18 哈尔滨工业大学 小样本图像识别的任务重要性感知元学习方法
CN113947133B (zh) * 2021-09-17 2022-11-08 哈尔滨工业大学 小样本图像识别的任务重要性感知元学习方法
CN113792823A (zh) * 2021-11-17 2021-12-14 山东力聚机器人科技股份有限公司 图像的新类别识别方法及装置
CN113792823B (zh) * 2021-11-17 2022-03-25 山东力聚机器人科技股份有限公司 图像的新类别识别方法及装置

Also Published As

Publication number Publication date
CN112487805B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN112487805B (zh) 一种基于元学习框架的小样本Web服务分类方法
CN111694924B (zh) 一种事件抽取方法和系统
US20210271975A1 (en) User tag generation method and apparatus, storage medium, and computer device
CN104966104B (zh) 一种基于三维卷积神经网络的视频分类方法
CN110033281B (zh) 一种智能客服至人工客服转换的方法及装置
CN112819023A (zh) 样本集的获取方法、装置、计算机设备和存储介质
CN110347791B (zh) 一种基于多标签分类卷积神经网络的题目推荐方法
CN113255366B (zh) 一种基于异构图神经网络的方面级文本情感分析方法
CN114663002A (zh) 一种自动化匹配绩效考核指标的方法及设备
CN114528835A (zh) 基于区间判别的半监督专业术语抽取方法、介质及设备
CN106204103A (zh) 一种移动广告平台寻找相似用户的方法
CN109062958A (zh) 一种基于TextRank和卷积神经网络的小学作文自动分类方法
CN110347825A (zh) 一种短英文影评分类方法及装置
CN111783688B (zh) 一种基于卷积神经网络的遥感图像场景分类方法
CN117315237A (zh) 目标检测模型的确定方法及装置、存储介质
CN117078007A (zh) 一种融合尺度标签的多尺度风控系统及其方法
CN113780832B (zh) 舆情文本评分方法、装置、计算机设备和存储介质
CN109299291A (zh) 一种基于卷积神经网络的问答社区标签推荐方法
CN115577111A (zh) 基于自注意力机制的文本分类方法
CN113780463B (zh) 一种基于深度神经网络的多头归一化长尾分类方法
Li et al. YouTube Videos Prediction: Will this video be popular
CN108764537B (zh) 一种基于A-TrAdaboost算法的多源社区标签发展趋势预测方法
CN113705215A (zh) 一种基于元学习的大规模多标签文本分类方法
CN110647630A (zh) 检测同款商品的方法及装置
CN113282722B (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