CN113343078A - 基于主题模型聚类的Web API推荐方法 - Google Patents

基于主题模型聚类的Web API推荐方法 Download PDF

Info

Publication number
CN113343078A
CN113343078A CN202110508530.7A CN202110508530A CN113343078A CN 113343078 A CN113343078 A CN 113343078A CN 202110508530 A CN202110508530 A CN 202110508530A CN 113343078 A CN113343078 A CN 113343078A
Authority
CN
China
Prior art keywords
word
matrix
service
api
mashup
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
CN202110508530.7A
Other languages
English (en)
Other versions
CN113343078B (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202110508530.7A priority Critical patent/CN113343078B/zh
Publication of CN113343078A publication Critical patent/CN113343078A/zh
Application granted granted Critical
Publication of CN113343078B publication Critical patent/CN113343078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Abstract

一种基于主题模型聚类的Web API推荐方法,根据上下文信息计算单词的语义权重信息从而得到文档‑单词语义权重信息矩阵D;统计单词共现信息,从而计算出SPPMI矩阵信息;基于得到Mashup服务文档单词的词频信息矩阵D,单词的上下文SPPMI矩阵M,通过分解M可以得到词嵌入信息矩阵,进一步将上述两种信息进行结合,计算服务的主题信息;将得到的Mashup服务主题特征,作为谱聚类的输入进行聚类,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,子图内的边权重和尽可能的高,达到聚类的目的;结合GBDT和FM方法对Web API服务进行预测推荐。本发明有效实现Web API推荐。

Description

基于主题模型聚类的Web API推荐方法
技术领域
本发明涉及到一种针对Mashup服务构建基于主题模型聚类的Web API服务推荐方法。
背景技术
随着互联网技术的不断成熟,服务互联网化成本不断降低,在服务计算“服务化”的思想驱动下,越来越多的公司将数据、资源或者相关业务发布到互联网上,以提高信息的利用率和自身竞争力。然而传统的服务大多数遵循简单对象访问协议,通常针对某一特定领域的业务需求,提供单一功能的服务,此外还存在技术体系复杂、扩展性差等问题,难以适应现实生活中复杂多变的应用场景。因此,对于Web服务提供商而言,如何能够根据现实用户以及自身业务需求的具体变动,快速地对已有的服务资源重新整合,成为一个亟待解决的问题。
为克服传统服务带来的问题,互联网逐渐出现一种以混搭技术为基础的 Mashup服务,以缓解传统服务难以适应复杂多变应用环境的问题。Mashup服务能将单一功能的服务和多种数据资源进行整合混搭,构建出综合性的Web应用,从而满足用户多变的技术。Mashup服务开发十分便捷,软件开发人员只需从服务注册平台,直接选取出若干合适的服务或者数据源,并按照相应的指示流程,便可以着手具有相应混合功能的Mashup服务的开发。由于Mashup服务适用性强,灵活度高,而且相对易于开发,Mashup服务逐渐受到企业和开发者的青睐。
然而,随着互联网上Web API服务数量的不断增多,在Web API推荐中,推荐系统需要面对两个问题:一是Mashup服务描述文档通常比较简短、特征稀疏、信息量少,如何有效地根据简短的描述信息提取Mashup服务描述需求的潜在信息,二是Web API服务集合数量众多,大大地增加推荐系统搜索相关联API 服务的工作量,如何快速的、有效地确定WebAPI服务候选集合。
发明内容
为了有效解决Web API推荐中的问题,本发明提出一种基于主题模型聚类的WebAPI推荐方法,该方法首先基于非负矩阵分解(Non-negative Matrix Factorization,NMF)方法提取Mashup服务需求,已有Mashup服务集以及Web API 的主题特征,根据采用谱聚类算法对Mashup服务聚类后得到Mashup服务类簇后,将Mashup服务描述需求主题信息与类簇进行相似度计算,选择最相近的 Mashup类簇,根据类簇中已有的Mashup服务调用关系,确定推荐Web API的候选集合,最后结合梯度提升决策树(Gradient Boosting DecisionTree,GBDT)和因子分解机(Factorization Machine,FM)方法,对Web API推荐进行预测。
本发明所采用的技术方案是:
一种基于主题模型聚类的Web API推荐方法,所述方法包括如下步骤:
第一步:根据上下文信息计算单词的语义权重信息从而得到文档-单词语义权重信息矩阵D;
第二步:统计单词共现信息,从而计算出SPPMI矩阵信息;
第三步:基于第一步,第二步得到Mashup服务文档单词的词频信息矩阵D,单词的上下文SPPMI矩阵M,通过分解M可以得到词嵌入信息矩阵,进一步将上述两种信息进行结合,计算服务的主题信息;
第四步:将第三步得到的Mashup服务主题特征,作为谱聚类的输入进行聚类,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的;
第五步:结合GBDT和FM方法对Web API服务进行预测推荐,步骤如下:
5.1利用第三步对Mashup服务需求Mre进行主题模型建模,获取服务需求 Mre的文档-主题矩阵Tre作为Mashup服务主题特征;之后,对Web API服务语料APIA进行建模,APIA的获取文档-主题矩阵Tapi作为Web API服务主题特征;
5.2设置一个为空的set类型的集合Um,set集合为只包含唯一值的集合,设置sim为0,对第四步最终输出的服务类簇Mset进行遍历处理,每次遍历的簇设置为C,将Mashup服务类簇主题功能特征向量的平均值作为每一个类的簇中心,即计算C中所有向量的平均值,将Tre中的所有向量分别与该平均值利用余弦公式进行相似度计算,并将该相似度计算结果之和设置为Temp,对sim与Temp的大小进行判断,若Temp大于sim,则将Um设置为C,sim设置为Temp,遍历结束,此时的Um即为与Mashup服务需求Mre最相近的类簇;
余弦相似度计算公式如下所示:
Figure BDA0003059341790000031
其中Vi与Vj分别表示计算相似度的两个向量,T表示矩阵倒置运算,‖V‖表示向量的模运算;
5.3设置Setapi为候选的Web API集合,将步骤5.2输出的Um与Web API服务主题特征Tapi作为输入,统计Mashup服务类簇中所有Mashup服务所调用过的Web API服务,将其对应的Tapi中的主题特征存入Setapi中,获取候选API集合;
5.4设置Pop为Web API服务的流行度,以Web API服务语料A为输入,计算Web API服务的流行度,流行度计算公式如下:
Figure BDA0003059341790000032
pop(api)为API的流行度,其表示Web API在不同类簇中的流行程度,其中 use(api)表示该Web API被数据集中Mashup服务使用过的次数,Cuse(api)表示聚类后的Mashup服务类簇中该Web API被调用过的次数,通过计算Web API 的类簇中流行度,可以有效地反应Web API的可用性;
设置Co为Web API服务的共现度信息,计算Web API服务的共现度,共现度计算公式如下:
Figure BDA0003059341790000033
Co(apii,apij)为Web API服务之间的共现度,其表示Web API之间可组合性,其中M(apii,apij)表示同时调用Web API服务i和j的Mashup服务的数量,O(apii) 表示调用过apii的Mashup服务数量;
设置AvCo为Web API服务的平均共现度信息,平均共现度信息计算公式如下:
Figure BDA0003059341790000041
AvCo(apii)为平均共现度信息,其中NO(apij)表示和apii间共现度不为0的 WebAPI数量,根据平均共现度反应了Web API的可组合性;
5.5以步骤5.1中计算得到的Mashup服务主题特征Tre与Web API服务主题特征Tapi,步骤5.3中计算得到的候选Web API集合Setapi,5.4步骤中得到的Web API服务的流行度Pop与Web API服务的平均共现度AvCo作为参数,将Mashup 服务名称与Web API服务名称One-Hot化,组合形成原始特征向量 Vec(Idm,Ida,Tm,Ta,Pop,AvCo),其中Idm表示Mashup服务名称的One-Hot编码,Ida表示Web API服务名称的One-Hot编码,Tm表示Mashup服务的主题功能特征,为Mashup服务描述对应的文档-主题矩阵Tre中的向量,Ta表示Web API的主题功能特征,为Web API服务描述对应的文档-主题矩阵Tapi中的向量,Pop和AvCo 为对应Web API服务的流行度信息以及平均共现度信息,在原始特征向量Vec 综合了功能特征信息和非功能特征信息,可以更全面的考虑Web API服务的质量,提高推荐的可靠性,One-Hot编码利用与分类状态数量相同的状态寄存器来对所有状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效,表示形式为只有一个分量为1,其余分量都为0的二进制向量;
5.6设置转换后的特征向量为TranVec,以步骤5.5中获得的原始特征向量Vec 为输入,基于梯度提升决策树GBDT进行特征转换,GBDT是一种功能强大的回归和分类模型,GBDT模型由若干棵独立的决策树组成,每棵树都由之前的树的残差进行训练,GBDT不断地进行迭代,每一次迭代都会产生一个增益较大的分类特征,每个节点的分裂可以视作为特征选择的操作,多棵树以及多层节点的结构可以对原始特征进行自动选择和组合,进而生成新的特征向量,通过GBDT 模型可以自动对特征选择,组合和转换,从而提高后续推荐模型的学习能力,通过GBDT对原始特征向量进行转换得到维度较低的转换后的特征向量集合TranVec,向量中包含所有叶节点的序号;
5.7对步骤5.6得到的TranVec进行One-Hot编码处理,获得向量集合OTvec;
5.8以OTvec为输入,输入到因子分解机FM模型中对Web API服务的得分进行预测;
FM模型能较好解决大规模稀疏数据下的特征组合问题,能适应各种输入,拓展性更强,能在原始特征上进行高阶特征交互,使用二阶FM模型对API服务进行推荐,其定义如下:
Figure BDA0003059341790000051
x为特征向量,xi为向量x的第i个分量,n为特征向量的维度,y(x)为预测的得分,w0为全局偏置,w为特征向量每个分量对应权重的集合,wi为特征向量第i个分量对应的权重,
Figure BDA0003059341790000052
部分为传统的线性模型,vei是维度为k 的向量,k是超参数,用来定义矩阵分解的维度;<vei,vej>表示向量vei和vej的点积对应的实数值,其代表特征向量中第i个与第j个特征的相互作用,将该实数值分解为两个向量点积,能在高稀疏度环境下考虑不同特征之间的联系。
再进一步,所述第一步的步骤如下:
1.1统计单词词频信息,计算TF-IDF信息,步骤如下:
1.1.1遍历Mashup服务描述文档中的每个单词,统计当前文档中每个单词的出现的次数,计算每个单词TF值,计算公式如下:
Figure BDA0003059341790000053
其中TFi,j表示第i个Mashup服务描述文档中第j个单词的词频信息,NUM(j) 表示第j个单词出现的次数,LEN(i)表示第i个Mashup文本的长度;
1.1.2统计每个单词出现过的Mashup服务文档数量,计算IDF值,计算公式如下:
Figure BDA0003059341790000054
IDF(x)表示单词x的IDF值,N表示Mashup文档的数量,doc(x)表示包含单词x的Mashup文档数量;
1.1.3遍历所有Mashup文档中的单词,计算单词的TF-IDF值计算公式如下:
TF-IDF(x)=TF(x)*IDF(x)
TF-IDF(x)表示单词x的TF-IDF值,TF(x)表示单词x的TF值
1.2基于TF-IDF值,重新计算Mashup服务描述文档中的每一个单词的语义权重,步骤如下:
1.2.1遍历当前Mashup服务文档中每一个单词wx计算其上下文语义权重信息WeightContext(wx),计算公式如下:
Figure BDA0003059341790000061
其中sim(wx,wy)表示单词wx和wy的相似度,通过WordNet工具计算,wy为 wx的上下文单词,d表示当前Mashup服务描述文档,Nd表示当前Mashup服务描述文档的长度,WordNet是一种英语词典,通过网状结构来组织词汇,将含义相近的词汇划分到一个组中,通过返回词汇在网络之间的最短路径得到相似度;
1.2.2遍历当前Mashup服务描述文档中的每一个单词wx,通过以下公式重新计算单词语义权重,η为一个较小的值,设定为0.001;
Figure BDA0003059341790000062
1.2.3重复1.2.2直至处理完所有Mashup服务,得到文档-单词语义权重矩阵 D。
更进一步,所述第二步的步骤如下:
2.1统计词共现信息,由于Mashup服务描述文档较短,为了能更准确地获取上下文共现信息,将整个服务描述文档作为滑动窗口的长度,计算每个单词和和其他单词在上下文中共同出现的次数,步骤如下:
2.1.1对于当前Mashup服务,计算该Mashup服务描述文档长度Len,设定滑动窗口长度为Len;
2.1.2统计Mashup服务描述文档中单词和其他单词的共现情况,若当前单词的其上下文单词,即该单词前后的单词,在滑动窗口Len的距离内,则该单词和其在滑动窗口内的上下文单词共现次数加1;
2.1.3重复2.1.2直至处理完Mashup中的所有单词;
2.1.4重复2.1.1-2.1.3直至处理完所有Mashup服务;
2.2点互信息PMI计算,PMI被广泛用于计算单词间相似度的关系,当两个单词在文本中共现概率越大时,单词间的相关性就越强,PMI计算公式如下所示:
Figure BDA0003059341790000071
x和y表示两个单词,P(x,y)表示单词x和y共现的概率,P(x)表示单词x在上下文中出现概率,根据单词wj和其上下文单词wc在语料库中的实际共现次数,可以计算出两者之间的PMI值:
Figure BDA0003059341790000072
#(wj,wc)表示单词wj和上下文单词wc在语料库中的实际共现次数,E为单词和上下文单词对共现的总次数,#(wj)为单词wj和其他单词共现的次数,
Figure BDA0003059341790000073
Voc表示语料库,即不重复单词的集合;
2.3计算偏移正点互信息值SPPMI矩阵,SPPMI矩阵通过PMI值计算, SPPMI矩阵的计算方式为:
SPPMI(wj,wc)=max(PMI(wj,wc)-logκ,0)
其中κ为负采样系数,通过上述公式得到单词的上下文SPPMI矩阵M。
所述第三步的步骤如下:
3.1通过由第一步给定全局文档-单词关系矩阵D,通过NMF将其分解为文档-主题矩阵θ和主题-单词矩阵Z乘积,分解矩阵D的函数表示为:
Figure BDA0003059341790000074
subject to:θ≥0and Z≥0,θ∈RNxK,Z∈RVxK
其中
Figure BDA0003059341790000075
代表L2范数,N表示Mashup文档数量,K表示文档的主题数量,V表示语料库单词的数量,R表示实数集,上标T表示矩阵转置,NMF是在矩阵中所有元素均为非负数约束条件之下,将一个非负矩阵表示为另外两个非负矩阵乘积方式的矩阵分解方法;
3.2通过第一步、第二步计算得到单词的上下文SPPMI矩阵M,分解矩阵M 引入词嵌入信息,分解M的公式如下所示:
Figure BDA0003059341790000081
S是一个额外的对称因子,用于M的近似求解,W为单词的词嵌入矩阵;
3.3利用Mashup服务文档和单词间的关系,可以发现主题信息,通过文档内单词上下文的共现信息,可以学习到词嵌入信息,但是这两个部分并不相互孤立,语义相关的单词通常属于相似的主题,在嵌入空间中也很接近,可知单词嵌入与它们的主题相关,关系公式如下所示:
Figure BDA0003059341790000082
3.4在步骤3.3中将主题-单词矩阵Z分解为主题嵌入矩阵A和词嵌入矩阵W 的乘积,将词嵌入与主题信息相联系起来,进一步提高了主题建模的准确性;
结合步骤3.1,3.2和3.3,得到主题模型的目标函数:
Figure BDA0003059341790000083
subject to:θ≥0and Z≥0
为了求解该目标函数,使用矩阵迹运算将上述公式展开:
J(θ,Z,W,S,A)=λdTr((D-θZT)(D-θZT)T)
wTr((M-WSWT)(M-WSWT)T)
tTr((Z-WAT)(Z-WAT)T)
其中J(θ,Z,W,S,A)为J4在θ,Z,W,S,A参数下的展开形式,进一步运算得到以下公式:
J(θ,T,W,S,A)=λdTr(DDT-2DTθT+θTTT)
wTr(MMT-2MWSWT+WSWTWSWT)
tTr(TTT-2TAWT+WATAWT)
Tr表示矩阵求迹,λd,λw和λt为不同部分的权重系数,用于调整各部分计算的误差对结果的影响,根据正则化约束得到以下目标函数:
Figure BDA0003059341790000091
其中α,β,γ,
Figure BDA0003059341790000092
ω为正则化参数,避免过拟合;为使目标函数最小化,对上述目标函数求偏导得到以下公式:
Figure BDA0003059341790000093
Figure BDA0003059341790000094
Figure BDA0003059341790000095
Figure BDA0003059341790000096
Figure BDA0003059341790000097
令α⊙θ=0,β⊙Z=0,γ⊙W=0,
Figure BDA0003059341790000098
ω⊙A=0,⊙表示阿达马乘积,即矩阵对应位置的乘积,利用阿达马乘积,令上述公式偏导为0,进一步得到以下等式方程:
-(DT)⊙θ+(θTTT)⊙θ+α⊙θ=0
-(λdDTθ+λtWAT)⊙T+(λdTθ+λtT)⊙T+β⊙T=0
-2(λwMWS+λtTA)⊙W+(λtWATAW+2λwWSWTWS)⊙W+γ⊙W=0
Figure BDA0003059341790000099
-(TTW)⊙A+(AWTW)⊙A+μ⊙A=0
进一步更新参数:
Figure BDA00030593417900000910
Figure BDA00030593417900000911
Figure BDA00030593417900000912
Figure BDA0003059341790000101
Figure BDA0003059341790000102
通过上述参数更新方式,求解出Mashup服务文档-主题矩阵θ和主题-单词矩阵Z,词嵌入矩阵W,主题嵌入矩阵A。
所述第四步的步骤如下:
4.1计算相似度矩阵SI,服务主题特征之间的相似度可以高斯核函数计算,公式中θi表示Mashup服务i的主题特征,δ为尺度参数,exp表示以自然常数e 为底的指数函数,高斯核函数计算公式如下:
Figure BDA0003059341790000103
4.2将矩阵SI的每一列的元素相加,并将每一列作为元素添加到度矩阵G对角线上,公式如下:
Gij=∑jSIij
4.3通过G计算Laplacian矩阵L=G–SI;
4.4计算
Figure BDA0003059341790000104
的特征值和特征向量,得到服务文档特征向量矩阵F,Tr表示矩阵求迹,I表示单位矩阵,特征值求解函数如下:
Figure BDA0003059341790000105
subjectto:FTF=I
其中argminF表示
Figure BDA0003059341790000106
最小时F的取值;
4.5将特征值从小到大排序,取前C个特征值,C指定的聚类簇的数量,得到前C个特征值的特征向量,作为初始聚类中心;
4,6计算特征向量到聚类中心的欧式距离dist,将Mashup服务划分到距离最小的簇,计算公式如下:
Figure BDA0003059341790000107
其中fi表示特征向量f中第i个值,Cei表示聚类中心Ce向量中的第i个值;
4.7更新聚类中心为每个簇中特征向量累加的平局值;
4.8计算新聚类中心和旧聚类中心的欧式距离作为误差值;
4.9重复步骤4.6-4.8直至误差小于设定阈值,或者迭代次数到达最大迭代次数。
本发明的有益效果主要表现在:(1)使用NMF模型并引入SPPMI矩阵方法求解词嵌入信息,能形成模型上有机的统一,有效提高模型精度的同时缓解了简短的服务描述带来的稀疏性问题。(2)利用谱聚类方法对Mashup服务特征向量进行聚类,使聚类结果可以按照任意形状进行收束,更好适应类簇的形状,克服 K-means聚类算法受收束形状影响,容易陷入局部最优的缺点。(3)使用GBDT 模型将特征转换为决策树中叶子节点,大大降低特征的稀疏度,提高推荐精度并加快了推荐速度。(4)利用FM模型,在原始特征上进行二阶特征交互,有效缓解了服务特征信息过少带来的稀疏性问题。
具体实施方式
下面对本发明做进一步说明。
一种基于主题模型聚类的Web API推荐方法,包括如下步骤:
第一步:根据上下文信息计算单词的语义权重信息从而得到文档-单词语义权重信息矩阵D,步骤如下:
1.1统计单词词频信息,计算TF-IDF信息,步骤如下:
1.1.1遍历Mashup服务描述文档中的每个单词,统计当前文档中每个单词的出现的次数,计算每个单词TF值,计算公式如下:
Figure BDA0003059341790000111
其中TFi,j表示第i个Mashup服务描述文档中第j个单词的词频信息,NUM(j) 表示第j个单词出现的次数,LEN(i)表示第i个Mashup文本的长度;
1.1.2统计每个单词出现过的Mashup服务文档数量,计算IDF值,计算公式如下:
Figure BDA0003059341790000121
IDF(x)表示单词x的IDF值,N表示Mashup文档的数量,doc(x)表示包含单词x的Mashup文档数量;
1.1.3遍历所有Mashup文档中的单词,计算单词的TF-IDF值计算公式如下:
TF-IDF(x)=TF(x)*IDF(x)
TF-IDF(x)表示单词x的TF-IDF值,TF(x)表示单词x的TF值;
1.2基于TF-IDF值,重新计算Mashup服务描述文档中的每一个单词的语义权重,步骤如下:
1.2.1遍历当前Mashup服务文档中每一个单词wx计算其上下文语义权重信息WeightContext(wx),计算公式如下:
Figure BDA0003059341790000122
其中sim(wx,wy)表示单词wx和wy的相似度,通过WordNet工具计算,wy为 wx的上下文单词,d表示当前Mashup服务描述文档,Nd表示当前Mashup服务描述文档的长度,WordNet是一种英语词典,通过网状结构来组织词汇,将含义相近的词汇划分到一个组中,通过返回词汇在网络之间的最短路径得到相似度;
1.2.2遍历当前Mashup服务描述文档中的每一个单词wx,通过以下公式重新计算单词语义权重,η为一个较小的值,设定为0.001;
Figure BDA0003059341790000123
1.2.3重复1.2.2直至处理完所有Mashup服务,得到文档-单词语义权重矩阵 D;
第二步:统计单词共现信息,从而计算出SPPMI矩阵信息,步骤如下:
2.1统计词共现信息,由于Mashup服务描述文档较短,为了能更准确地获取上下文共现信息,将整个服务描述文档作为滑动窗口的长度,计算每个单词和和其他单词在上下文中共同出现的次数,步骤如下:
2.1.1对于当前Mashup服务,计算该Mashup服务描述文档长度Len,设定滑动窗口长度为Len;
2.1.2统计Mashup服务描述文档中单词和其他单词的共现情况,若当前单词的其上下文单词,即该单词前后的单词,在滑动窗口Len的距离内,则该单词和其在滑动窗口内的上下文单词共现次数加1;
2.1.3重复2.1.2直至处理完Mashup服务中的所有单词;
2.1.4重复2.1.1-2.1.3直至处理完所有Mashup服务;
2.2点互信息(Pointwise Mutual Information,PMI)计算,PMI被广泛用于计算单词间相似度的关系,当两个单词在文本中共现概率越大时,单词间的相关性就越强,PMI计算公式如下所示。
Figure BDA0003059341790000131
x和y表示两个单词,P(x,y)表示单词x和y共现的概率,P(x)表示单词x在上下文中出现概率,根据单词wj和其上下文单词wc在语料库中的实际共现次数,计算出两者之间的PMI值:
Figure BDA0003059341790000132
#(wj,wc)表示单词wj和上下文单词wc在语料库中的实际共现次数,E为单词和上下文单词对共现的总次数,#(wj)为单词wj和其他单词共现的次数,
Figure BDA0003059341790000133
Voc表示语料库,即不重复单词的集合;
2.3计算偏移正点互信息值(Shifted Positive Pointwise MutualInformation, SPPMI)矩阵,SPPMI矩阵通过PMI值计算,SPPMI矩阵的计算方式为:
SPPMI(wj,wc)=max(PMI(wj,wc)-logκ,0)
其中κ为负采样系数,通过上述公式得到单词的上下文SPPMI矩阵M;
第三步:基于第一步,第二步得到Mashup服务文档单词的词频信息矩阵D,单词的上下文SPPMI矩阵M,通过分解M得到词嵌入信息矩阵,进一步将上述两种信息进行结合,计算服务的主题信息,步骤如下:
3.1通过由第一步给定全局文档-单词关系矩阵D,通过NMF将其分解为文档-主题矩阵θ和主题-单词矩阵Z乘积,分解矩阵D的函数表示为:
Figure BDA0003059341790000141
subject to:θ≥0and Z≥0,θ∈RNxK,Z∈RVxK
其中
Figure BDA0003059341790000142
代表L2范数,N表示Mashup文档数量,K表示文档的主题数量, V表示语料库单词的数量,R表示实数集,上标T表示矩阵转置,NMF是在矩阵中所有元素均为非负数约束条件之下,将一个非负矩阵表示为另外两个非负矩阵乘积方式的矩阵分解方法;
3.2通过第一步、第二步计算得到单词的上下文SPPMI矩阵M,分解矩阵M 引入词嵌入信息,分解M的公式如下所示:
Figure BDA0003059341790000143
S是一个额外的对称因子,用于M的近似求解,W为单词的词嵌入矩阵;
3.3利用Mashup服务文档和单词间的关系,可以发现主题信息,通过文档内单词上下文的共现信息,可以学习到词嵌入信息,但是这两个部分并不相互孤立,语义相关的单词通常属于相似的主题,在嵌入空间中也很接近,可知单词嵌入与它们的主题相关,关系公式如下所示:
Figure BDA0003059341790000144
3.4在步骤3.3中将主题-单词矩阵Z分解为主题嵌入矩阵A和词嵌入矩阵W 的乘积,将词嵌入与主题信息相联系起来,进一步提高了主题建模的准确性;
结合步骤3.1,3.2和3.3,得到主题模型的目标函数:
Figure BDA0003059341790000145
subject to:θ≥0and Z≥0
为了方便求解该目标函数,使用矩阵迹运算将上述公式展开:
J(θ,Z,W,S,A)=λdTr((D-θZT)(D-θZT)T)
wTr((M-WSWT)(M-WSWT)T)
tTr((Z-WAT)(Z-WAT)T)
其中J(θ,Z,W,S,A)为J4在θ,Z,W,S,A参数下的展开形式,进一步运算得到以下公式:
J(θ,T,W,S,A)=λdTr(DDT-2DTθT+θTTT)
wTr(MMT-2MWSWT+WSWTWSWT)
tTr(TTT-2TAWT+WATAWT)
Tr表示矩阵求迹,λd,λw和λt为不同部分的权重系数,用于调整各部分计算的误差对结果的影响,根据正则化约束得到以下目标函数:
Figure BDA0003059341790000151
其中α,β,γ,
Figure BDA0003059341790000152
ω为正则化参数,避免过拟合,为使目标函数最小化,对上述目标函数求偏导得到以下公式:
Figure BDA0003059341790000153
Figure BDA0003059341790000154
Figure BDA0003059341790000155
Figure BDA0003059341790000156
Figure BDA0003059341790000157
令a⊙θ=0,β⊙Z=0,γ⊙W=0,
Figure BDA0003059341790000158
ω⊙A=0,⊙表示阿达马乘积,即矩阵对应位置的乘积,利用阿达马乘积,令上述公式偏导为0,进一步得到以下等式方程:
-(DT)⊙θ+(θTTT)⊙θ+α⊙θ=0
-(λdDTθ+λtWAT)⊙T+(λdTθ+λtT)⊙T+β⊙T=0
-2(λwMWS+λtTA)⊙W+(λtWATAW+2λwWSWTWS)⊙W+γ⊙W=0
Figure BDA0003059341790000159
-(TTW)⊙A+(AWTW)⊙A+μ⊙A=0
进一步更新参数:
Figure BDA0003059341790000161
Figure BDA0003059341790000162
Figure BDA0003059341790000163
Figure BDA0003059341790000164
Figure BDA0003059341790000165
通过上述参数更新方式,求解出Mashup服务文档-主题矩阵θ和主题-单词矩阵Z,词嵌入矩阵W,主题嵌入矩阵A;
第四步:将步骤3.4中得到的Mashup服务主题特征,作为谱聚类的输入进行聚类。谱聚类是从图论中演化出来的算法,后来在聚类中得到了广泛的应用,它的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来,距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的,步骤如下:
4.1计算相似度矩阵SI,服务主题特征之间的相似度可以高斯核函数计算,公式中θi表示Mashup服务i的主题特征,δ为尺度参数,exp表示以自然常数e 为底的指数函数,高斯核函数计算公式如下:
Figure BDA0003059341790000166
4.2将矩阵SI的每一列的元素相加,并将每一列作为元素添加到度矩阵G对角线上,公式如下:
Gij=∑jSIij
4.3通过G计算Laplacian矩阵L=G–SI;
4.4利用python中的eig函数计算
Figure BDA0003059341790000171
的特征值和特征向量,得到服务文档特征向量矩阵F,Tr表示矩阵求迹,I表示单位矩阵,特征值求解函数如下:
Figure BDA0003059341790000172
subjectto:FTF=I
其中argminF表示
Figure BDA0003059341790000173
最小时F的取值;
4.5将特征值从小到大排序,取前C个特征值,C指定的聚类簇的数量,得到前C个特征值的特征向量,作为初始聚类中心;
4,6计算特征向量到聚类中心的欧式距离dist,将Mashup服务划分到距离最小的簇,计算公式如下:
Figure BDA0003059341790000174
其中fi表示特征向量f中第i个值,Cei表示聚类中心Ce向量中的第i个值;
4.7更新聚类中心为每个簇中特征向量累加的平局值;
4.8计算新聚类中心和旧聚类中心的欧式距离作为误差值;
4.9重复步骤4.6-4.8直至误差小于设定阈值,或者迭代次数到达最大迭代次数;
第五步:结合GBDT和FM方法对Web API服务进行预测推荐,步骤如下:
5.1利用第三步对Mashup服务需求Mre进行主题模型建模,获取服务需求 Mre的文档-主题矩阵Tre作为Mashup服务主题特征;之后,对Web API服务语料APIA进行建模,APIA的获取文档-主题矩阵Tapi作为Web API服务主题特征;
5.2设置一个为空的set类型的集合Um,set集合为只包含唯一值的集合,设置sim为0,对第四步最终输出的服务类簇Mset进行遍历处理,每次遍历的簇设置为C,将Mashup服务类簇主题功能特征向量的平均值作为每一个类的簇中心,即计算C中所有向量的平均值,将Tre中的所有向量分别与该平均值利用余弦公式进行相似度计算,并将该相似度计算结果之和设置为Temp,对sim与Temp的大小进行判断,若Temp大于sim,则将Um设置为C,sim设置为Temp,遍历结束,此时的Um即为与Mashup服务需求Mre最相近的类簇;
余弦相似度计算公式如下所示:
Figure BDA0003059341790000181
其中Vi与Vj分别表示计算相似度的两个向量,T表示矩阵倒置运算,‖V‖表示向量的模运算;
5.3设置Setapi为候选的Web API集合,将步骤5.2输出的Um与Web API服务主题特征Tapi作为输入,统计Mashup服务类簇中所有Mashup服务所调用过的Web API服务,将其对应的Tapi中的主题特征存入Setapi中,获取候选API集合;
5.4设置Pop为Web API服务的流行度,以Web API服务语料A为输入,计算Web API服务的流行度,流行度计算公式如下:
Figure BDA0003059341790000182
pop(api)为API的流行度,其表示Web API在不同类簇中的流行程度,其中 use(api)表示该Web API被数据集中Mashup服务使用过的次数,Cuse(api)表示聚类后的Mashup服务类簇中该Web API被调用过的次数,通过计算Web API 的类簇中流行度,可以有效地反应Web API的可用性;
设置Co为Web API服务的共现度信息,计算Web API服务的共现度,共现度计算公式如下:
Figure BDA0003059341790000183
Co(apii,apij)为Web API服务之间的共现度,其表示Web API之间可组合性,其中M(apii,apij)表示同时调用Web API服务i和j的Mashup服务的数量,O(apii) 表示调用过apii的Mashup服务数量;
设置AvCo为Web API服务的平均共现度信息,平均共现度信息计算公式如下:
Figure BDA0003059341790000191
AvCo(apii)为平均共现度信息,其中NO(apij)表示和apii间共现度不为0的 WebAPI数量,根据平均共现度反应了Web API的可组合性;
5.5以步骤5.1中计算得到的Mashup服务主题特征Tre与Web API服务主题特征Tapi,步骤5.3中计算得到的候选Web API集合Setapi,5.4步骤中得到的Web API服务的流行度Pop与Web API服务的平均共现度AvCo作为参数,将Mashup 服务名称与Web API服务名称One-Hot化,组合形成原始特征向量 Vec(Idm,Ida,Tm,Ta,Pop,AvCo),其中Idm表示Mashup服务名称的One-Hot编码,Ida表示Web API服务名称的One-Hot编码,Tm表示Mashup服务的主题功能特征,为Mashup服务描述对应的文档-主题矩阵Tre中的向量,Ta表示Web API的主题功能特征,为Web API服务描述对应的文档-主题矩阵Tapi中的向量,Pop和AvCo 为对应Web API服务的流行度信息以及平均共现度信息,在原始特征向量Vec 综合了功能特征信息和非功能特征信息,可以更全面的考虑Web API服务的质量,提高推荐的可靠性,One-Hot编码利用与分类状态数量相同的状态寄存器来对所有状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效,表示形式为只有一个分量为1,其余分量都为0的二进制向量;
5.6设置转换后的特征向量为TranVec,以步骤5.5中获得的原始特征向量Vec 为输入,基于梯度提升决策树GBDT进行特征转换,GBDT是一种功能强大的回归和分类模型,GBDT模型由若干棵独立的决策树组成,每棵树都由之前的树的残差进行训练,GBDT不断地进行迭代,每一次迭代都会产生一个增益较大的分类特征,每个节点的分裂可以视作为特征选择的操作,多棵树以及多层节点的结构可以对原始特征进行自动选择和组合,进而生成新的特征向量,通过GBDT 模型可以自动对特征选择,组合和转换,从而提高后续推荐模型的学习能力,通过GBDT对原始特征向量进行转换得到维度较低的转换后的特征向量集合TranVec,向量中包含所有叶节点的序号;
5.7对步骤5.6得到的TranVec进行One-Hot编码处理,获得向量集合OTvec;
5.8以OTvec为输入,输入到因子分解机FM模型中对Web API服务的得分进行预测;
FM模型能较好解决大规模稀疏数据下的特征组合问题,能适应各种输入,拓展性更强,能在原始特征上进行高阶特征交互,使用二阶FM模型对API服务进行推荐,其定义如下:
Figure BDA0003059341790000201
x为特征向量,xi为向量x的第i个分量,n为特征向量的维度,y(x)为预测的得分,w0为全局偏置,w为特征向量每个分量对应权重的集合,wi为特征向量第i个分量对应的权重,
Figure BDA0003059341790000202
部分为传统的线性模型,vei是维度为k 的向量,k是超参数,用来定义矩阵分解的维度;<vei,vej>表示向量vei和vej的点积对应的实数值,其代表特征向量中第i个与第j个特征的相互作用,将该实数值分解为两个向量点积,能在高稀疏度环境下考虑不同特征之间的联系。

Claims (5)

1.一种基于主题模型聚类的Web API推荐方法,其特征在于,所述方法包括如下步骤:
第一步:根据上下文信息计算单词的语义权重信息从而得到文档-单词语义权重信息矩阵D;
第二步:统计单词共现信息,从而计算出SPPMI矩阵信息;
第三步:基于第一步,第二步得到Mashup服务文档单词的词频信息矩阵D,单词的上下文SPPMI矩阵M,通过分解M得到词嵌入信息矩阵,进一步将上述两种信息进行结合,计算服务的主题信息;
第四步:将第三步得到的Mashup服务主题特征,作为谱聚类的输入进行聚类,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的;
第五步:结合GBDT和FM方法对Web API服务进行预测推荐,步骤如下:
5.1利用第三步对Mashup服务需求Mre进行主题模型建模,获取服务需求Mre的文档-主题矩阵Tre作为Mashup服务主题特征;之后,对Web API服务语料APIA进行建模,APIA的获取文档-主题矩阵Tapi作为Web API服务主题特征;
5.2设置一个为空的set类型的集合Um,set集合为只包含唯一值的集合,设置sim为0,对第四步最终输出的服务类簇Mset进行遍历处理,每次遍历的簇设置为C,将Mashup服务类簇主题功能特征向量的平均值作为每一个类的簇中心,即计算C中所有向量的平均值,将Tre中的所有向量分别与该平均值利用余弦公式进行相似度计算,并将该相似度计算结果之和设置为Temp,对sim与Temp的大小进行判断,若Temp大于sim,则将Um设置为C,sim设置为Temp,遍历结束,此时的Um即为与Mashup服务需求Mre最相近的类簇;
余弦相似度计算公式如下所示:
Figure FDA0003059341780000011
其中Vi与Vj分别表示计算相似度的两个向量,T表示矩阵倒置运算,‖V‖表示向量的模运算;
5.3设置Setapi为候选的Web API集合,将步骤5.2输出的Um与Web API服务主题特征Tapi作为输入,统计Mashup服务类簇中所有Mashup服务所调用过的Web API服务,将其对应的Tapi中的主题特征存入Setapi中,获取候选API集合;
5.4设置Pop为Web API服务的流行度,以Web API服务语料A为输入,计算Web API服务的流行度,流行度计算公式如下:
Figure FDA0003059341780000021
pop(api)为API的流行度,其表示Web API在不同类簇中的流行程度,其中use(api)表示该Web API被数据集中Mashup服务使用过的次数,Cuse(api)表示聚类后的Mashup服务类簇中该Web API被调用过的次数,通过计算Web API的类簇中流行度,可以有效地反应WebAPI的可用性;
设置Co为Web API服务的共现度信息,计算Web API服务的共现度,共现度计算公式如下:
Figure FDA0003059341780000022
Co(apii,apij)为Web API服务之间的共现度,其表示Web API之间可组合性,其中M(apii,apij)表示同时调用Web API服务i和j的Mashup服务的数量,O(apii)表示调用过apii的Mashup服务数量;
设置AvCo为Web API服务的平均共现度信息,平均共现度信息计算公式如下:
Figure FDA0003059341780000023
AvCo(apii)为平均共现度信息,其中NO(apij)表示和apii间共现度不为0的Web API数量,根据平均共现度反应了Web API的可组合性;
5.5以步骤5.1中计算得到的Mashup服务主题特征Tre与Web API服务主题特征Tapi,步骤5.3中计算得到的候选Web API集合Setapi,5.4步骤中得到的Web API服务的流行度Pop与Web API服务的平均共现度AvCo作为参数,将Mashup服务名称与Web API服务名称One-Hot化,组合形成原始特征向量Vec(Idm,Ida,Tm,Ta,Pop,AvCo),其中Idm表示Mashup服务名称的One-Hot编码,Ida表示Web API服务名称的One-Hot编码,Tm表示Mashup服务的主题功能特征,为Mashup服务描述对应的文档-主题矩阵Tre中的向量,Ta表示Web API的主题功能特征,为Web API服务描述对应的文档-主题矩阵Tapi中的向量,Pop和AvCo为对应Web API服务的流行度信息以及平均共现度信息,在原始特征向量Vec综合了功能特征信息和非功能特征信息,可以更全面的考虑Web API服务的质量,提高推荐的可靠性,One-Hot编码利用与分类状态数量相同的状态寄存器来对所有状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效,表示形式为只有一个分量为1,其余分量都为0的二进制向量;
5.6设置转换后的特征向量为TranVec,以步骤5.5中获得的原始特征向量Vec为输入,基于梯度提升决策树GBDT进行特征转换,GBDT是一种功能强大的回归和分类模型,GBDT模型由若干棵独立的决策树组成,每棵树都由之前的树的残差进行训练,GBDT不断地进行迭代,每一次迭代都会产生一个增益较大的分类特征,每个节点的分裂可以视作为特征选择的操作,多棵树以及多层节点的结构可以对原始特征进行自动选择和组合,进而生成新的特征向量,通过GBDT模型可以自动对特征选择,组合和转换,从而提高后续推荐模型的学习能力,通过GBDT对原始特征向量进行转换得到维度较低的转换后的特征向量集合TranVec,向量中包含所有叶节点的序号;
5.7对步骤5.6得到的TranVec进行One-Hot编码处理,获得向量集合OTvec;
5.8以OTvec为输入,输入到因子分解机FM模型中对Web API服务的得分进行预测;
FM模型能较好解决大规模稀疏数据下的特征组合问题,能适应各种输入,拓展性更强,能在原始特征上进行高阶特征交互。使用二阶FM模型对API服务进行推荐,其定义如下:
Figure FDA0003059341780000031
x为特征向量,xi为向量x的第i个分量,n为特征向量的维度,y(x)为预测的得分,w0为全局偏置,w为特征向量每个分量对应权重的集合,wi为特征向量第i个分量对应的权重,
Figure FDA0003059341780000041
部分为传统的线性模型,vei是维度为k的向量,k是超参数,用来定义矩阵分解的维度;<vei,vej>表示向量vei和vej的点积对应的实数值,其代表特征向量中第i个与第j个特征的相互作用,将该实数值分解为两个向量点积,能在高稀疏度环境下考虑不同特征之间的联系。
2.如权利要求1所述的一种基于主题模型聚类的Web API推荐方法,其特征在于,所述第一步的步骤如下:
1.1统计单词词频信息,计算TF-IDF信息,步骤如下:
1.1.1遍历Mashup服务描述文档中的每个单词,统计当前文档中每个单词的出现的次数,计算每个单词TF值,计算公式如下:
Figure FDA0003059341780000042
其中TFi,j表示第i个Mashup服务描述文档中第j个单词的词频信息,NUM(j)表示第j个单词出现的次数,LEN(i)表示第i个Mashup文本的长度;
1.1.2统计每个单词出现过的Mashup服务文档数量,计算IDF值,计算公式如下:
Figure FDA0003059341780000043
IDF(x)表示单词x的IDF值,N表示Mashup文档的数量,doc(x)表示包含单词x的Mashup文档数量;
1.1.3遍历所有Mashup文档中的单词,计算单词的TF-IDF值计算公式如下:
TF-IDF(x)=TF(x)*IDF(x)
TF-IDF(x)表示单词x的TF-IDF值,TF(x)表示单词x的TF值;
1.2基于TF-IDF值,重新计算Mashup服务描述文档中的每一个单词的语义权重,步骤如下:
1.2.1遍历当前Mashup服务文档中每一个单词wx计算其上下文语义权重信息WeightConttext(wx),计算公式如下:
Figure FDA0003059341780000044
其中sim(wx,wy)表示单词wx和wy的相似度,通过WordNet工具计算,wy为wx的上下文单词,d表示当前Mashup服务描述文档,Nd表示当前Mashup服务描述文档的长度,WordNet是一种英语词典,通过网状结构来组织词汇,将含义相近的词汇划分到一个组中,通过返回词汇在网络之间的最短路径得到相似度;
1.2.2遍历当前Mashup服务描述文档中的每一个单词wx,通过以下公式重新计算单词语义权重,η为一个较小的值,设定为0.001;
Figure FDA0003059341780000051
1.2.3重复1.2.2直至处理完所有Mashup服务,得到文档-单词语义权重矩阵D。
3.如权利要求1或2所述的一种基于主题模型聚类的Web API推荐方法,其特征在于,所述第二步的步骤如下:
2.1统计词共现信息,由于Mashup服务描述文档较短,为了能更准确地获取上下文共现信息,将整个服务描述文档作为滑动窗口的长度,计算每个单词和和其他单词在上下文中共同出现的次数,步骤如下:
2.1.1对于当前Mashup服务,计算该Mashup服务描述文档长度Len,设定滑动窗口长度为Len;
2.1.2统计Mashup服务描述文档中单词和其他单词的共现情况,若当前单词的其上下文单词,即该单词前后的单词,在滑动窗口Len的距离内,则该单词和其在滑动窗口内的上下文单词共现次数加1;
2.1.3重复2.1.2直至处理完Mashup服务中的所有单词;
2.1.4重复2.1.1-2.1.3直至处理完所有Mashup服务;
2.2点互信息PMI计算,PMI被广泛用于计算单词间相似度的关系,当两个单词在文本中共现概率越大时,单词间的相关性就越强,PMI计算公式如下所示:
Figure FDA0003059341780000052
x和y表示两个单词,P(x,y)表示单词x和y共现的概率,P(x)表示单词x在上下文中出现概率,根据单词wj和其上下文单词wc在语料库中的实际共现次数,计算出两者之间的PMI值:
Figure FDA0003059341780000061
#(wj,wc)表示单词wj和上下文单词wc在语料库中的实际共现次数,E为单词和上下文单词对共现的总次数,#(wj)为单词wj和其他单词共现的次数,
Figure FDA0003059341780000062
Voc表示语料库,即不重复单词的集合;
2.3计算偏移正点互信息值SPPMI矩阵,SPPMI矩阵通过PMI值计算,SPPMI矩阵的计算方式为:
SPPMI(wj,wc)=max(PMI(wj,wc)-logκ,0)
其中κ为负采样系数,通过上述公式得到单词的上下文SPPMI矩阵M。
4.如权利要求1或2所述的一种基于主题模型聚类的Web API推荐方法,其特征在于,所述第三步的步骤如下:
3.1通过由第一步给定全局文档-单词关系矩阵D,通过NMF将其分解为文档-主题矩阵θ和主题-单词矩阵Z乘积,分解矩阵D的函数表示为:
Figure FDA0003059341780000063
subject to:θ≥0 and Z≥0,θ∈RNxK,Z∈RVxK
其中
Figure FDA0003059341780000064
代表L2范数,N表示Mashup文档数量,K表示文档的主题数量,V表示语料库单词的数量,R表示实数集,上标T表示矩阵转置,NMF是在矩阵中所有元素均为非负数约束条件之下,将一个非负矩阵表示为另外两个非负矩阵乘积方式的矩阵分解方法;
3.2通过第一步、第二步计算得到单词的上下文SPPMI矩阵M,分解矩阵M引入词嵌入信息,分解M的公式如下所示:
Figure FDA0003059341780000065
S是一个额外的对称因子,用于M的近似求解,W为单词的词嵌入矩阵;
3.3利用Mashup服务文档和单词间的关系,可以发现主题信息,通过文档内单词上下文的共现信息,可以学习到词嵌入信息,但是这两个部分并不相互孤立,语义相关的单词通常属于相似的主题,在嵌入空间中也很接近,可知单词嵌入与它们的主题相关,关系公式如下所示:
Figure FDA0003059341780000071
3.4在步骤3.3中将主题-单词矩阵Z分解为主题嵌入矩阵A和词嵌入矩阵W的乘积,将词嵌入与主题信息相联系起来,进一步提高了主题建模的准确性;
结合步骤3.1,3.2和3.3,得到主题模型的目标函数:
Figure FDA0003059341780000072
subject to:θ≥0and Z≥0
为了求解该目标函数,使用矩阵迹运算将上述公式展开:
J(θ,Z,W,S,A)=λdTr((D-θZT)(D-θZT)T)+λwTr((M-WSWT)(M-WSWT)T)+λtTr((Z-WAT)(Z-WAT)T)
其中J(θ,Z,W,S,A)为J4在θ,Z,W,S,A参数下的展开形式,进一步运算得到以下公式:
J(θ,T,W,S,A)=λdTr(DDT-2DTθT+θTTT)+λwTr(MMT-2MWSWT+WSWTWSWT)+λtTr(TTT-2TAWT+WATAWT)
Tr表示矩阵求迹,λd,λw和λt为不同部分的权重系数,用于调整各部分计算的误差对结果的影响,根据正则化约束得到以下目标函数:
Figure FDA0003059341780000073
其中α,β,γ,
Figure FDA0003059341780000074
ω为正则化参数,避免过拟合;为使目标函数最小化,对上述目标函数求偏导得到以下公式:
Figure FDA0003059341780000075
Figure FDA0003059341780000076
Figure FDA0003059341780000077
Figure FDA0003059341780000078
Figure FDA0003059341780000079
令α⊙θ=0,β⊙Z=0,γ⊙W=0,
Figure FDA00030593417800000710
ω⊙A=0,⊙表示阿达马乘积,即矩阵对应位置的乘积,利用阿达马乘积,令上述公式偏导为0,进一步得到以下等式方程:
-(DT)⊙θ+(θTTT)⊙θ+α⊙θ=0
-(λdDTθ+λtWAT)⊙T+(λdTθ+λtT)⊙T+β⊙T=0
-2(λwMWS+λtTA)⊙W+(λtWATAW+2λwWSWTWS)⊙W+γ⊙W=0
Figure FDA0003059341780000081
-(TTW)⊙A+(AWTW)⊙A+μ⊙A=0
进一步更新参数:
Figure FDA0003059341780000082
Figure FDA0003059341780000083
Figure FDA0003059341780000084
Figure FDA0003059341780000085
Figure FDA0003059341780000086
通过上述参数更新方式,求解出Mashup服务文档-主题矩阵θ和主题-单词矩阵Z,词嵌入矩阵W,主题嵌入矩阵A。
5.如权利要求1或2所述的一种基于主题模型聚类的Web API推荐方法,其特征在于,所述第四步的步骤如下:
4.1计算相似度矩阵SI,服务主题特征之间的相似度通过高斯核函数计算,公式中θi表示Mashup服务i的主题特征,δ为尺度参数,exp表示以自然常数e为底的指数函数,高斯核函数计算公式如下:
Figure FDA0003059341780000087
4.2将矩阵SI的每一列的元素相加,并将每一列作为元素添加到度矩阵G对角线上,公式如下:
Gij=∑jSIij
4.3通过G计算Laplacian矩阵L=G–SI;
4.4计算
Figure FDA0003059341780000088
的特征值和特征矢量,得到服务文档特征矢量矩阵F,Tr表示矩阵求迹,I表示单位矩阵,特征值求解函数如下:
Figure FDA0003059341780000091
subjectto:FTF=I
其中argminF表示
Figure FDA0003059341780000092
最小时F的取值;
4.5将特征值从小到大排序,取前C个特征值,C指定的聚类簇的数量,得到前C个特征值的特征矢量,作为初始聚类中心;
4,6计算特征矢量到聚类中心的欧式距离dist,将Mashup服务划分到距离最小的簇,计算公式如下:
Figure FDA0003059341780000093
其中fi表示特征矢量f中第i个值,Cei表示聚类中心Ce矢量中的第i个值;
4.7更新聚类中心为每个簇中特征矢量累加的平局值;
4.8计算新聚类中心和旧聚类中心的欧式距离作为误差值;
4.9重复步骤4.6-4.8直至误差小于设定阈值,或者迭代次数到达最大迭代次数。
CN202110508530.7A 2021-05-11 2021-05-11 基于主题模型聚类的Web API推荐方法 Active CN113343078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110508530.7A CN113343078B (zh) 2021-05-11 2021-05-11 基于主题模型聚类的Web API推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110508530.7A CN113343078B (zh) 2021-05-11 2021-05-11 基于主题模型聚类的Web API推荐方法

Publications (2)

Publication Number Publication Date
CN113343078A true CN113343078A (zh) 2021-09-03
CN113343078B CN113343078B (zh) 2022-07-15

Family

ID=77470519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110508530.7A Active CN113343078B (zh) 2021-05-11 2021-05-11 基于主题模型聚类的Web API推荐方法

Country Status (1)

Country Link
CN (1) CN113343078B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114004263A (zh) * 2021-12-29 2022-02-01 四川大学 一种特征融合转换的大型设备工况诊断预测方法
CN114201669A (zh) * 2021-11-19 2022-03-18 西安电子科技大学 一种基于词嵌入与协同过滤技术的api推荐方法
CN114297479A (zh) * 2021-12-16 2022-04-08 杭州电子科技大学 一种结合LDA主题模型和GloVe词向量技术的API推荐方法
CN114817745A (zh) * 2022-05-19 2022-07-29 大连海事大学 一种图嵌入增强的Web API推荐方法和系统
CN115268995A (zh) * 2022-08-10 2022-11-01 大连海事大学 一种基于知识图谱的Web API推荐方法及系统
CN116561425A (zh) * 2023-05-16 2023-08-08 湖南科技大学 基于域交互的自注意力因子分解机的Web服务推荐方法
CN117093935A (zh) * 2023-10-16 2023-11-21 深圳海云安网络安全技术有限公司 一种业务系统的分类方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289342B1 (en) * 1998-01-05 2001-09-11 Nec Research Institute, Inc. Autonomous citation indexing and literature browsing using citation context
US20170116326A1 (en) * 2015-10-26 2017-04-27 International Business Machines Corporation System, method, and recording medium for web application programming interface recommendation with consumer provided content
US20180232442A1 (en) * 2017-02-16 2018-08-16 International Business Machines Corporation Web api recommendations
CN111475608A (zh) * 2020-02-28 2020-07-31 浙江工业大学 一种基于功能语义关联计算的Mashup服务特征表示方法
CN111475607A (zh) * 2020-02-28 2020-07-31 浙江工业大学 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法
CN112084416A (zh) * 2020-09-21 2020-12-15 哈尔滨理工大学 基于CNN和LSTM的Web服务推荐方法
CN112148999A (zh) * 2020-09-09 2020-12-29 浙江工业大学 Web开放环境下基于Mashup服务邻域的Web API推荐方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289342B1 (en) * 1998-01-05 2001-09-11 Nec Research Institute, Inc. Autonomous citation indexing and literature browsing using citation context
US20170116326A1 (en) * 2015-10-26 2017-04-27 International Business Machines Corporation System, method, and recording medium for web application programming interface recommendation with consumer provided content
US20180232442A1 (en) * 2017-02-16 2018-08-16 International Business Machines Corporation Web api recommendations
CN111475608A (zh) * 2020-02-28 2020-07-31 浙江工业大学 一种基于功能语义关联计算的Mashup服务特征表示方法
CN111475607A (zh) * 2020-02-28 2020-07-31 浙江工业大学 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法
CN112148999A (zh) * 2020-09-09 2020-12-29 浙江工业大学 Web开放环境下基于Mashup服务邻域的Web API推荐方法
CN112084416A (zh) * 2020-09-21 2020-12-15 哈尔滨理工大学 基于CNN和LSTM的Web服务推荐方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BUQING CAO: "Integrated Content and Network-Based Service Clustering and Web APIs Recommendation for Mashup Development", 《IEEE TRANSACTIONS ON SERVICES COMPUTING》 *
曹步清等: "融合SOM功能聚类与DeepFM质量预测的API服务推荐方法", 《计算机学报》 *
陆佳伟,马俊,张元鸣,肖刚: "面向全局社交服务网的Web服务聚类方法", 《计算机科学》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201669A (zh) * 2021-11-19 2022-03-18 西安电子科技大学 一种基于词嵌入与协同过滤技术的api推荐方法
CN114297479A (zh) * 2021-12-16 2022-04-08 杭州电子科技大学 一种结合LDA主题模型和GloVe词向量技术的API推荐方法
CN114297479B (zh) * 2021-12-16 2023-03-21 杭州电子科技大学 一种结合LDA主题模型和GloVe词向量技术的API推荐方法
CN114004263A (zh) * 2021-12-29 2022-02-01 四川大学 一种特征融合转换的大型设备工况诊断预测方法
US11630034B2 (en) 2021-12-29 2023-04-18 Sichuan University Method for diagnosing and predicting operation conditions of large-scale equipment based on feature fusion and conversion
CN114817745A (zh) * 2022-05-19 2022-07-29 大连海事大学 一种图嵌入增强的Web API推荐方法和系统
CN115268995A (zh) * 2022-08-10 2022-11-01 大连海事大学 一种基于知识图谱的Web API推荐方法及系统
CN115268995B (zh) * 2022-08-10 2023-04-07 大连海事大学 一种基于知识图谱的Web API推荐方法及系统
CN116561425A (zh) * 2023-05-16 2023-08-08 湖南科技大学 基于域交互的自注意力因子分解机的Web服务推荐方法
CN116561425B (zh) * 2023-05-16 2024-02-02 湖南科技大学 基于域交互的自注意力因子分解机的Web服务推荐方法
CN117093935A (zh) * 2023-10-16 2023-11-21 深圳海云安网络安全技术有限公司 一种业务系统的分类方法及系统
CN117093935B (zh) * 2023-10-16 2024-03-19 深圳海云安网络安全技术有限公司 一种业务系统的分类方法及系统

Also Published As

Publication number Publication date
CN113343078B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN113343078B (zh) 基于主题模型聚类的Web API推荐方法
Chen et al. Scalable graph neural networks via bidirectional propagation
Yao et al. Efficient methods for topic model inference on streaming document collections
Romero et al. Learning hybrid Bayesian networks using mixtures of truncated exponentials
CN112106040A (zh) 事件预测装置、预测模型生成装置以及事件预测用程序
Chandra et al. Semantic Analysis of Sentiments through Web-Mined Twitter Corpus.
Li et al. Sememe prediction: Learning semantic knowledge from unstructured textual wiki descriptions
Sallam et al. Improving collaborative filtering using lexicon-based sentiment analysis
CN114077661A (zh) 信息处理装置、信息处理方法和计算机可读介质
Novotný et al. Text classification with word embedding regularization and soft similarity measure
Claveau et al. Strategies to select examples for active learning with conditional random fields
Huang et al. Unsupervised learning of word-sequence representations from scratch via convolutional tensor decomposition
Forsati et al. Hybrid PoS-tagging: A cooperation of evolutionary and statistical approaches
CN107729509B (zh) 基于隐性高维分布式特征表示的篇章相似度判定方法
CN112836491B (zh) 面向NLP基于GSDPMM和主题模型的Mashup服务谱聚类方法
Feng et al. Forest-based deep recommender
Capdevila et al. A left-to-right algorithm for likelihood estimation in gamma-poisson factor analysis
Jumpathong et al. A Performance Analysis of Deep-Learning-Based Thai News Abstractive Summarization: Word Positions and Document Length
Sumalatha et al. Rough set based decision rule generation to find behavioural patterns of customers
Mirylenka et al. Linking IT product records
Fukui et al. Suggesting questions that match each user’s expertise in community question and answering services
Alian et al. Unsupervised learning blocking keys technique for indexing Arabic entity resolution
Sun et al. Entity resolution with hybrid attention-based networks
Peng et al. Label selection algorithm based on iteration column subset selection for multi-label classification
Dey et al. Word Embeddings as Statistical Estimators

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