主題分析模型LDA的spark實現

2021-09-03 02:53:57 字數 1128 閱讀 5651

主體分析模型主要有plsa(probabilistic latent semantic anlysis,概率引語義分析)和lda(latent dirichlet allocation,隱含狄利克雷分布),在此暫時介紹lda的spark實現。

* 主題分析模型自動分析每個文件,統計文件內的詞語,根據統計的資訊來判斷當前文件含有

* 哪些主題,以及每個主題所佔的比例格式多少。

* 可將lda的主題分析結果進一步用在資料探勘任務中的,其任務大概有:

* 1、主題推斷。給定一篇新的文件x,利用已有的主題模型訓練的結果,計算出文件x所包含的主題,

* 以及各個主題的比重。

* 2、文件聚類。主題可看作是聚類中心,而文件可看作是多個聚類中心相關聯的資料樣本,

* 利用主題模型做文件聚類,可用於重新組織文件資料集。

* 3、特徵選擇。由於主題模型可推斷出每個文件在不同主題上的分布,因此這個分布可看作文件的乙個新特徵,

* 該特徵可用於其他的機器學習模型中。

* 4、降維。主題模型得到的主題分布特徵,可看作將原來的高緯度文件向量投影到低緯度主題空間中。

import org.apache.spark.ml.clustering.

import org.apache.spark.

import org.apache.spark.ml.feature.

import org.apache.spark.rdd.rdd

import org.apache.spark.sql.

/** * author: [email protected] 朱海川

* date_time: 2017/10/13 14:31

* illustration:

*/class ldathemeanalysis .todf("id","context")

data

} private def valuecompute(dataframe: dataframe): unit =

}object ldathemeanalysis

}

執行結果:

LDA主題模型

先定義一些字母的含義 lda以文件集合d作為輸入 會有切詞,去停用詞,取詞幹等常見的預處理,略去不表 希望訓練出的兩個結果向量 設聚成k個topic,voc中共包含m個詞 lda的核心公式如下 p w d p w t p t d 直觀的看這個公式,就是以topic作為中間層,可以通過當前的 d和 t...

主題模型LDA

某隨機實驗如果有k個可能結局a1 a2 ak,分別將他們的出現次數記為隨機變數x1 x2 xk,它們的概率分布分別是p1,p2,pk,那麼在n次取樣的總結果中,a1出現n1次 a2出現n2次 ak出現nk次的這種事件的出現概率p有下面公式 p x1 n 1,xk nk n n1 nk pn1 1.p...

LDA主題模型

最近看了一下lda的文章,寫個小結,理解正確與否有待驗證.latent dirichlet allocation lda 是三層的層次概率貝葉斯模型 生成模型 用於處理離散資料,比如文字資料.假設一共有 v 個單詞,則第 j 個單詞表示為 w 0,cdots,0,1,0,cdots,0 text 假...