LFM(MF分解技術(shù))、LSI(SVD分解)嘹承、PLSI(EM)窗价、LDA
隱語(yǔ)義模型LFM和LSI,PLSI叹卷,LDA撼港,Topic Model其實(shí)都屬于隱含語(yǔ)義分析技術(shù),是一類概念骤竹,他們?cè)诒举|(zhì)上是相通的帝牡,都是找出潛在的主題或分類。這些技術(shù)一開始都是在文本挖掘領(lǐng)域中提出來的蒙揣,近些年它們也被不斷應(yīng)用到其他領(lǐng)域中靶溜,并得到了不錯(cuò)的應(yīng)用效果。比如懒震,在推薦系統(tǒng)中它能夠基于用戶的行為對(duì)item進(jìn)行自動(dòng)聚類罩息,也就是把item劃分到不同類別/主題,這些主題/類別可以理解為用戶的興趣个扰。
主題模型:Topic Model
topic model是針對(duì)文本隱含主題的建模方法瓷炮,針對(duì)第一個(gè)case,馬云對(duì)應(yīng)的主題是阿里巴巴锨匆,阿里巴巴集團(tuán)也隱含阿里巴巴主題崭别,這樣兩個(gè)文本的主題匹配上宛琅,認(rèn)為他們是相關(guān)的压恒,針對(duì)第二個(gè),分別針對(duì)水果以及手機(jī)主題弃酌,我們認(rèn)為他們是不相關(guān)的土榴。
究竟什么是主題诀姚?主題就是一個(gè)概念、一個(gè)方面玷禽。它表現(xiàn)為一系列相關(guān)的詞赫段,能夠代表這個(gè)主題。比如如果是”阿里巴巴“主題矢赁,那么”馬云“”電子商務(wù)“等詞會(huì)很高的頻率出現(xiàn)糯笙,而設(shè)計(jì)到”騰訊“主題,那么“馬化騰”“游戲”“QQ”會(huì)以較高的頻率出現(xiàn)撩银。如果用數(shù)學(xué)來描述一下的話给涕,主題就是詞匯表上詞語(yǔ)的條件概率分布,與主題密切相關(guān)的詞,條件概率p(w|z)越大够庙。主題就像一個(gè)桶恭应,裝了出現(xiàn)頻率很高的詞語(yǔ),這些詞語(yǔ)和主題有很強(qiáng)的相關(guān)性耘眨,或者說這些詞語(yǔ)定義了這個(gè)主題昼榛。同時(shí),一個(gè)詞語(yǔ)剔难,可能來自于這個(gè)桶胆屿,也可能來自那個(gè)桶,比如“電子商務(wù)”可以來自“阿里巴巴”主題钥飞,也可以來自“京東“主題莺掠,所以一段文字往往包含多個(gè)主題,也就是說读宙,一段文字不只有一個(gè)主題彻秆。
上面介紹了主題的概念,我們最為關(guān)心的是如何得到這些主題结闸?這就是topic model要解決的問題唇兑。
define: d表示文檔,w表示詞語(yǔ)桦锄,z表示隱含的主題扎附。
p(w|d)=∑zp(w|z)p(z|d)
其中p(w|d)表示w在文檔d中出現(xiàn)的概率,針對(duì)訓(xùn)練語(yǔ)料结耀,對(duì)文本進(jìn)行分詞留夜,w的頻度除以文檔所有詞語(yǔ)的頻度和,可以求出图甜,對(duì)于未知數(shù)據(jù)碍粥,model用來計(jì)算該value.
p(w|z)表示在給定主題情況下詞語(yǔ)的出現(xiàn)的概率是多少,刻畫詞語(yǔ)和主題的相關(guān)程度黑毅。
p(z|d)表示文檔中每個(gè)主題出現(xiàn)的概率
所以主題模型就是 利用大量已知的p(w|d)詞語(yǔ)-文檔信息嚼摩,訓(xùn)練出來主題-文檔p(z|d)以及詞語(yǔ)-主題p(w|z)。
主題模型的用途:
1.計(jì)算文本的相似性矿瘦,考慮到文本語(yǔ)義枕面,更好的刻畫文本相似性,避免多義詞缚去,同義詞的影響
2.文本聚類潮秘,用戶聚類(RS)
3.去除噪音,只保留最重要的主題易结,更好的刻畫文檔
1. LFM:隱語(yǔ)義模型枕荞,MF分解
最終的用戶評(píng)分矩陣(混淆矩陣)=P* Q
P矩陣代表了 user-class
Q矩陣代表了class-item
class:根據(jù)自動(dòng)聚類算法獲得幾個(gè)類標(biāo)簽稠通;
P、Q中的參數(shù)通過模型學(xué)習(xí)得到:
計(jì)算損失函數(shù):隨機(jī)梯度下降法买猖,使得損失值最小滋尉;
2. LSI(LSA)模型:基于SVD分解
LSI: Latent Semantic Analysis (Latent Semantic Indexing)
背景:
傳統(tǒng)的信息檢索中:將單詞作為特征玉控,構(gòu)造特征向量;計(jì)算查詢單詞與文檔間的相似度狮惜;
但是沒有考慮到語(yǔ)義高诺、同義詞等相關(guān)信息;
在基于單詞的檢索方法中碾篡,同義詞會(huì)降低檢索算法的召回率(Recall)虱而,而多義詞的存在會(huì)降低檢索系統(tǒng)的準(zhǔn)確率(Precision)
我們希望找到一種模型,能夠捕獲到單詞之間的相關(guān)性开泽。如果兩個(gè)單詞之間有很強(qiáng)的相關(guān)性牡拇,那么當(dāng)一個(gè)單詞出現(xiàn)時(shí),往往意味著另一個(gè)單詞也應(yīng)該出現(xiàn)(同義 詞)穆律;反之惠呼,如果查詢語(yǔ)句或者文檔中的某個(gè)單詞和其他單詞的相關(guān)性都不大,那么這個(gè)詞很可能表示的是另外一個(gè)意思(比如在討論互聯(lián)網(wǎng)的文章中峦耘,Apple 更可能指的是Apple公司剔蹋,而不是水果) ?。
LSA(LSI)使用SVD來對(duì)單詞-文檔矩陣進(jìn)行分解辅髓。SVD可以看作是從單詞-文檔矩陣中發(fā)現(xiàn)不相關(guān)的索引變量(因子)泣崩,將原來的數(shù)據(jù)映射到語(yǔ)義空間內(nèi)。在單詞-文檔矩陣中不相似的兩個(gè)文檔洛口,可能在語(yǔ)義空間內(nèi)比較相似矫付。
SVD,亦即奇異值分解绍弟,是對(duì)矩陣進(jìn)行分解的一種方法技即,一個(gè)t*d維的矩陣(單詞-文檔矩陣)X,可以分解為T*S*DT樟遣, 其中T為t*m維矩陣而叼,T中的每一列稱為左奇異向量(left singular vector),S為m*m維對(duì)角矩陣豹悬,每個(gè)值稱為奇異值(singular value)葵陵,D為d*m維矩陣,D中的每一列稱為右奇異向量。在對(duì)單詞文檔矩陣X做SVD分解之后瞻佛,我們只保存S中最大的K個(gè)奇異值脱篙,以及T和D中對(duì)應(yīng) 的K個(gè)奇異向量娇钱,K個(gè)奇異值構(gòu)成新的對(duì)角矩陣S’,K個(gè)左奇異向量和右奇異向量構(gòu)成新的矩陣T’和D’:X’=T’*S’*D’T形成了一個(gè)新的t*d矩陣绊困。
還原后的X’與X差別很大文搂,這是因?yàn)槲覀冋J(rèn)為之前X存在很大的噪音,X’是對(duì)X處理過同義詞和多義詞后的結(jié)果秤朗。
在查詢時(shí)煤蹭,對(duì)與每個(gè)給定的查詢q,我們根據(jù)這個(gè)查詢中包含的單詞(Xq)構(gòu)造一個(gè)偽文檔:Dq=XqTS-1取视,然后該偽文檔和D’中的每一行計(jì)算相似度(余弦相似度)來得到和給定查詢最相似的文檔硝皂。
參考:http://www.cnblogs.com/kemaswill/archive/2013/04/17/3022100.html
3. PLSI:基于概率LSI
盡管基于SVD的LSA取得了一定的成功,但是其缺乏嚴(yán)謹(jǐn)?shù)臄?shù)理統(tǒng)計(jì)基礎(chǔ)作谭,而且SVD分解非常耗時(shí)稽物。Hofmann在SIGIR'99上提出了基于概率統(tǒng)計(jì)的PLSA模型,并且用EM算法學(xué)習(xí)模型參數(shù)折欠。PLSA的概率圖模型如下:
參考文獻(xiàn):http://san-yun.iteye.com/blog/1966653
? ? ? ? ? ? ? ? ?http://blog.csdn.net/yangliuy/article/details/8330640
3. LDA(推薦系統(tǒng)應(yīng)用):
回顧:
主題模型就是 利用大量已知的p(w|d)詞語(yǔ)-文檔信息贝或,訓(xùn)練出來主題-文檔p(z|d)以及詞語(yǔ)-主題p(w|z);在LDA模型中锐秦,主題-文檔分布是α傀缩,詞語(yǔ)-主題分布是β;
對(duì)于數(shù)據(jù)集D中的每個(gè)文檔w农猬,LDA假定了如下的生成過程:
(1)選擇一個(gè)N~Poisson(?)料身,N是該文檔中單詞的個(gè)數(shù);
(2)選擇一個(gè)θ~Dir(α)衩茸,θ是主題分布所服從Dirichet(α)的參數(shù)芹血;
(3)對(duì)于文檔中的每一個(gè)詞wn:
? ? ? ? a.選擇一個(gè)主題zn~Multinomial(θ);每個(gè)主題服從多項(xiàng)式分布楞慈;
? ? ? ? b.在選定主題zn后幔烛,在該主題對(duì)應(yīng)的詞分布中選擇一個(gè)單詞wn,它的概率是p(w|zn,β)囊蓝。wn~Multinomial(β);饿悬,
補(bǔ)充:
伯努利分布: 0-1分布;
二項(xiàng)分布:多個(gè)伯努利分布
多項(xiàng)式分布:有多個(gè)結(jié)果聚霜,伯努利分布的擴(kuò)展
beta分布:來源于二項(xiàng)分布狡恬,是二項(xiàng)分布的共軛先驗(yàn)珠叔;x~U(0,1),隨機(jī)采樣后弟劲,排序之后的分布即為beta分布祷安;
狄雷克類分布:多變量的bata分布
從Dirichet(α)中獲得一篇文檔的主題分布函數(shù)θ,作為先驗(yàn)分布兔乞;θ是文檔級(jí)別的辆憔;
D:數(shù)據(jù)集D中包含M個(gè)文檔,D=w1,w2,…,wM报嵌;w:每個(gè)文檔中有N個(gè)單詞,w=(w1,w2,...,wN)熊榛,wn是文檔詞序列的第n個(gè)詞锚国;
z:z代表一個(gè)主題,是一個(gè)k維向量玄坦,k是主題個(gè)數(shù)血筑,第k個(gè)主題可以表示為:zk=1,zj=0,k≠j,所以每個(gè)z是一個(gè)單位向量煎楣;
w:w代表一個(gè)詞豺总,是一個(gè)V維向量,V是總詞典的大小择懂,詞典中第v個(gè)詞可以表示為:wv=1,wu=0,u≠v喻喳,所以每個(gè)w都是一個(gè)單位向量;
α:是狄利克雷分布的參數(shù)困曙,是我們要估計(jì)的參數(shù)表伦;
β:是一個(gè)k*V的矩陣,k是主題個(gè)數(shù)慷丽,V是詞典個(gè)數(shù)蹦哼,β(i,j)代表主題zi中單詞wj的概率,也就是說要糊,β中存儲(chǔ)的是主題-詞分布纲熏,是我們要估計(jì)的參數(shù)。
概率模型圖锄俄,我們可以得到如下概率公式:
給定α,β,根據(jù)文檔生成的過程奶赠,可以得到容握,主題分布的參數(shù)θ,N個(gè)主題的集合z车柠,N個(gè)單詞的集合w剔氏,的聯(lián)合分布:
目標(biāo):從給定的文檔和word中,學(xué)習(xí)出一個(gè)topic分布模型谈跛,取對(duì)數(shù)似然:
算法如下:
3.1 Gamma函數(shù)?
3.2 二項(xiàng)分布
3.3 Beta 分布
參考http://blog.csdn.net/happyer88/article/details/45936107
http://www.cnblogs.com/lixiaolun/p/4455764.html
http://blog.csdn.net/zhaoyin654/article/details/49153999
4. MF(矩陣分解一致)
http://blog.csdn.net/litoupu/article/details/16944359