[發明專利]面向NLP基于GSDPMM和主題模型的Mashup服務譜聚類方法在審
| 申請號: | 202110097170.6 | 申請日: | 2021-01-25 |
| 公開(公告)號: | CN112836491A | 公開(公告)日: | 2021-05-25 |
| 發明(設計)人: | 陸佳煒;趙偉;鄭嘉弘;馬超治;程振波;徐俊;高飛;肖剛 | 申請(專利權)人: | 浙江工業大學 |
| 主分類號: | G06F40/216 | 分類號: | G06F40/216;G06F40/284;G06F16/33;G06F16/35 |
| 代理公司: | 杭州斯可睿專利事務所有限公司 33241 | 代理人: | 王利強 |
| 地址: | 310014 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 nlp 基于 gsdpmm 主題 模型 mashup 服務 譜聚類 方法 | ||
1.一種面向NLP基于GSDPMM和主題模型的Mashup服務譜聚類方法,其特征在于,所述方法包括以下步驟:
第一步:通過GSDPMM方法計算出Mashup服務數量的主題個數,步驟如下:
1.1初始化矩陣z,nz,nzv,mz中所有元素為0,z中所有元素為1,設定初始主題數K為1和迭代次數Iter,z統計每個文檔所歸屬的主題,nz統計每個主題下單詞的數量,nzv統計不同主題下不同單詞的出現的數量,mz統計每個主題下文檔數量;其中z∈R1xN,nz∈R1xK,nzv∈RKxV,mz∈R1xK,N為Mashup服務的數量,V表示語料庫單詞的數量,即不同單詞的數量;
1.2遍歷所有Mashup服務,計算nz,nzv;
1.3對所有Mashup服務進行Gibbs采樣操作;
1.4根據輪盤賭選法,選擇文檔d的主題;
1.5根據當前文檔d的所屬主題k,令mz[k]增加1,nz[k]增加Len,Len為文檔的長度;
1.6重復步驟1.3-1.6直至處理完所有Mashup服務;
1.7重復1.3-1.6直至達到迭代次數Iter;
第二步:根據上下文信息和服務標簽信息計算單詞的語義權重信息從而得到文檔-單詞語義權重信息矩陣D,步驟如下:
2.1使用Python中的自然語言工具包NLTK,對Mashup服務描述文檔進行中的單詞進行詞性標注;
2.2:統計單詞詞頻信息,計算TF-IDF信息;
2.3:提取Mashup服務標簽信息,并基于名詞集Nset和TF-IDF值,重新計算Mashup服務描述文檔中的每一個單詞的語義權重;
第三步:統計單詞共現信息,從而計算出SPPMI矩陣信息,步驟如下:
3.1統計詞共現信息,由于Mashup服務描述文檔較短,為了能更準確地獲取上下文共現信息,將整個服務描述文檔作為滑動窗口的長度,計算每個單詞和其他單詞在上下文中共同出現的次數;
3.2點互信息PMI計算,PMI計算公式如下所示:
x和y表示兩個單詞,P(x,y)表示單詞x和y共現的概率,P(x)表示單詞x在上下文中出現概率,根據單詞wj和其上下文單詞wc在語料庫中的實際共現次數,可以計算出兩者之間的PMI值:
#(wj,wc)表示單詞wj和上下文單詞wc在語料庫中的實際共現次數,E為上下文單詞對共現的總次數,#(wj)為單詞wj和其他單詞共現的次數,Voc表示語料庫,即不重復單詞的集合;
3.3計算偏移正點互信息值SPPMI矩陣,SPPMI矩陣通過PMI值計算,SPPMI矩陣的計算方式為:
SPPMI(wj,wc)=max(PMI(wj,wc)-logκ,0)
其中κ為負采樣系數,通過上述公式得到單詞的上下文SPPMI矩陣M;
第四步:基于第二步,第三步得到Mashup服務文檔單詞的文檔-單詞語義權重矩陣D,單詞的上下文SPPMI矩陣M,通過分解M得到詞嵌入信息矩陣,進一步將上述兩種信息進行結合,計算服務的主題信息,步驟如下:
4.1通過由第二步給定全局文檔-單詞語義權重矩陣D,通過NMF將其分解為文檔-主題矩陣θ和主題-單詞矩陣Z乘積,分解矩陣D的函數表示為:
subject to:θ≥0 and Z≥0,θ∈RNxK,Z∈RVxK
其中代表L2范數,N表示Mashup文檔數量,K表示文檔的主題數量,V表示語料庫單詞的數量,R表示實數集,上標T表示矩陣轉置;NMF是在矩陣中所有元素均為非負數約束條件之下,將一個非負矩陣表示為另外兩個非負矩陣乘積方式的矩陣分解方法;
4.2通過第三步計算得到單詞的上下文SPPMI矩陣M,分解矩陣M引入詞嵌入信息,分解M的公式如下所示:
S是一個額外的對稱因子,用于M的近似求解,W為單詞的詞嵌入矩陣;
4.3利用Mashup服務文檔和單詞間的關系,可以發現主題信息,通過文檔內單詞上下文的共現信息,可以學習到詞嵌入信息;但是這兩個部分并不相互孤立,語義相關的單詞屬于相似的主題,在嵌入空間中也很接近;可知單詞嵌入與它們的主題相關,關系公式如下所示:
4.4在步驟4.3中將主題-單詞矩陣Z分解為主題嵌入矩陣A和詞嵌入矩陣W的乘積,將詞嵌入與主題信息相聯系起來,進一步提高了主題建模的準確性;
結合步驟4.1,4.2和4.3,得到主題模型的目標函數:
subject to:θ≥0 and 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(θ,Z,W,S,A)=λdTr(DDT-2DZθT+θZTZθT)+λwTr(MMT-2MWSWT+WSWTWSWT)+λtTr(ZZT-2ZAWT+WATAWT)
Tr表示矩陣求跡,λd,λw和λt為不同部分的權重系數,用于調整各部分計算的誤差對結果的影響,根據正則化約束得到以下目標函數:
其中α,β,γ,ω為正則化參數,避免過擬合;為使目標函數最小化,對上述目標函數求偏導得到以下公式:
令α⊙θ=0,β⊙Z=0,γ⊙W=0,ω⊙A=0,⊙表示阿達馬乘積,即矩陣對應位置的乘積,利用阿達馬乘積,令上述公式偏導為0,進一步得到以下等式方程:
-(DZ)⊙θ+(θZTZ)⊙θ+α⊙θ=0
-(λdDTθ+λtWAT)⊙Z+(λdZθTZ+λtZ)⊙Z+β⊙Z=0
-2(λwMWS+λtZA)⊙W+(λtWATAW+2λwWSWTWS)⊙W+γ⊙W=0
-(ZTW)⊙A+(AWTW)⊙A+ω⊙A=0
進一步更新參數:
通過上述參數更新方式,求解出Mashup服務文檔-主題矩陣θ和主題-單詞矩陣Z,詞嵌入矩陣W,主題嵌入矩陣A;
第五步:將4.4中得到的Mashup服務主題特征,作為譜聚類的輸入進行聚類,步驟如下:
5.1計算相似度矩陣SI,服務主題特征之間的相似度可以高斯核函數計算,公式中θi表示Mashup服務i的主題特征,δ為尺度參數,exp表示以自然常數e為底的指數函數,高斯核函數計算公式如下:
5.2將矩陣SI的每一列的元素相加,并將每一列作為元素添加到度矩陣G對角線上,公式如下:
Gij=∑jSIij
5.3通過G計算Laplacian矩陣L=G-SI;
5.4利用python中eig函數計算的特征值和特征向量,得到服務文檔特征向量矩陣F,Tr表示矩陣求跡,特征值求解函數如下:
subject to:FTF=I
其中arg minF表示最小時F的取值;
5.5將特征值從小到大排序,取前C個特征值,C指定的聚類簇的數量,得到前C個特征值的特征向量,作為初始聚類中心;
5.6計算特征向量到聚類中心的歐式距離dist,將Mashup服務劃分到距離最小的簇,計算公式如下:
其中fi表示特征向量f中第i個值,Cei表示聚類中心Ce向量中的第i個值;
5.7更新聚類中心為每個簇中特征向量累加的平局值;
5.8計算新聚類中心和舊聚類中心的歐式距離作為誤差值;
5.9重復步驟5.6-5.8直至誤差小于一定閾值,或者迭代次數到達最大迭代次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江工業大學,未經浙江工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110097170.6/1.html,轉載請聲明來源鉆瓜專利網。





