R 原始碼 LDA文字模型(初級1)

2021-08-16 00:21:23 字數 3727 閱讀 1119

latent dirichlet allocation(lda)是乙個在文字建模中很著名的模型,可以用於淺層語義分析,在文字聚類中是乙個很有用的模型。即在僅觀察到文件詞語的條件下,挖掘出文字所屬的主題等一系列資訊。

一、          資料

二、          實驗過程、結果與分析

2.1 topic-word矩陣

其餘部分省略。每個詞下方的第1行表示cluster 1,第2行表示cluster 2,顯示了詞屬於不同主題的可能性。

2.2 聚類結果

gibbssampling中設定了兩個cluster,其中document[1]屬於cluster 1的可能性遠大於屬於cluster 2的可能性,而document [22]則屬於cluster 1和cluster 2的可能性大致相等。

三、          參考文獻

[1]rickjin. lda數學八卦

[2]lda(主題模型)r語言

附錄:原始碼(r程式 lda.r)

##載入lda包

library(lda)

d d1 = readlines("d1.txt")

d2 = readlines("d2.txt")

d3 = readlines("d3.txt")

d4 = readlines("d4.txt")

d5 = readlines("d5.txt")

d6 = readlines("d6.txt")

d7 = readlines("d7.txt")

d8 = readlines("d8.txt")

d9 = readlines("d9.txt")

d10 = readlines("d10.txt")

d11 = readlines("d11.txt")

d12 = readlines("d12.txt")

d13 = readlines("d13.txt")

d14 = readlines("d14.txt")

d15 = readlines("d15.txt")

d16 = readlines("d16.txt")

d17 = readlines("d17.txt")

d18 = readlines("d18.txt")

d19 = readlines("d19.txt")

d20 = readlines("d20.txt")

d21 = readlines("d21.txt")

d22 = readlines("d22.txt")

d23 = readlines("d23.txt")

d24 = readlines("d24.txt")

d25 = readlines("d25.txt")

d26 = readlines("d26.txt")

d27 = readlines("d27.txt")

d28 = readlines("d28.txt")

d29 = readlines("d29.txt")

d30 = readlines("d30.txt")

docs = c(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,

d11,d12,d13,d14,d15,d16,d17,d18,d19,d20,

d21,d22,d23,d24,d25,d26,d27,d28,d29,d30)

##---生成語料庫corpus,用lexicalize()函式----

corpus

##----重新生成語料庫----

##過濾掉無用詞a,the,of,in,for,to,by,this,that,is,are,we,they,you,some,other

filter

corpus$vocab!="an" &

corpus$vocab!="the"&

corpus$vocab!="of" &

corpus$vocab!="in" &

corpus$vocab!="for" &

corpus$vocab!="to" &

corpus$vocab!="by" &

corpus$vocab!="on"&

corpus$vocab!="at" &

corpus$vocab!="from" &

corpus$vocab!="this" &

corpus$vocab!="that" &

corpus$vocab!="is" &

corpus$vocab!="are" &

corpus$vocab!="we" &

corpus$vocab!="they" &

corpus$vocab!="you" &                     

corpus$vocab!="our" &

corpus$vocab!="some"&

corpus$vocab!="other" &

corpus$vocab!="can" &

corpus$vocab!="be" &

corpus$vocab!="with" &

corpus$vocab!="which"&

corpus$vocab!="into" &

corpus$vocab!="also" &

corpus$vocab!="and" &

corpus$vocab!="as" &                   

corpus$vocab!="but" &

corpus$vocab!="or" &

corpus$vocab!="these" &

corpus$vocab!="where" &

corpus$vocab!="as" &

corpus$vocab!="not" &

corpus$vocab!="has"&

corpus$vocab!="can" ]

##只保留出現多餘1次的詞

keep =2 ]

##重新生成語料庫documents,vocab來自於keep

documents

##---統計詞出現的次數----

##wc

##----gibbs sample----

##clusters num

k ##iteration num

i ##dirichlet hyperparameter for topicproportions

alpha

##dirichlet hyperparamater for topicmultinomials

eta

##gibbs sampler

result

##----每篇文件中的每個詞出現的頻率----

predictions

##----輸出每篇文件的可能性最高的前10個詞---

top

centos6 5編譯R原始碼

r的版本是r3.1.2 安裝步驟 解壓原始檔包並進入到目錄中 configure prefix usr local r 這樣執行會出現以下錯誤 configure error no f77 compiler found 這個提示是說沒有fortran的編譯器 yum install gcc gfor...

每日R語言原始碼分析 plyr arrange

在r studio中輸入 plyr arrange可檢視如下arrange函式原始碼 function df,unrowname df ord,drop false 首先關注函式的引數部分 function df,形參df 待傳入r語言的dataframe資料 則為待解析的引數列表。進入函式體,首先...

Hbase WAL執行緒模型原始碼分析

hbase的wal機制是保證hbase使用lsm樹儲存模型把隨機寫轉化成順序寫,並從記憶體read資料,從而提高大規模讀寫效率的關鍵一環。wal的多生產者單消費者的執行緒模型讓wal的寫入變得安全而高效。在文章 wal在regionserver呼叫過程 中從 層面闡述了乙個client的 寫 操作是...