• 沒有找到結果。

第二章 相關研究

2.6 Topic Model

在機器學習和自然語言處理研究領域中,主題模型(Topic Model)是一種用來 發現收集到的文集裡面之主題(此主題可以是抽象的),直覺上,給一份文件特定主 題,我們可以期望一些和特定主題相關或不相關的字出現在文件的頻率是高或低;

例如假設有一份文件主題為電腦,那麼”hardware”可能就比”tea”更有機會出 現在這份文件。目前已經發展出許多的主題模型,其中以 Latent Dirichlet Allocation(LDA)[29]、hierarchical latent dirichlet allocation(hLDA)[30]最具代表性,

許多主題模型皆是從這兩個模型衍伸的模型,因此本論文在下面幾個小節裡介紹這 兩種主題模型。

2.6.1 Latent Dirichlet Allocation

LDA 將每一份文件的 Topic 分佈視為一個服從 Dirichlet 分佈的隨機變數,此 設定使模型更具彈性,對於未見過的文件,皆可以從 Dirichlet 分佈中取樣出文 件的 Topic 分佈參數,並在此分佈參數下,考慮產生文件中的每一個詞。其 graphical model 如下:

圖 2.6-1:2003 年 David Blei 提出的 LDA 模型,本圖擷取至原著[29]

上圖中 α 是 Dirichlet 分佈的參數,β 是一個 V*K 的矩陣,V 代表全部的 字,K代表全部的 topic,因此, i, 代表詞 i 在第 k 個 topic 下的機率值,即

P( i | θ ), θ 則是一個元素皆大於 0 的 K 維向量,其代表了 K 個 topic 的機率。

若以生成模型的角度來看,其生成過程如下:

1. Choose θ ~ Dir(α )

2. For each of the N words 𝑖:

Choose a word 𝑖 from p( 𝑖|θ , β )

若我們觀察到一些資料 1, 2,.. 𝑁,在 2003 年 Davad Blei 原文中,是用 Variational inference 來估計參數,其主要概念是找一個可以使用 EM 演算法來 估算模型參數之近似模型;後來 Griffiths 和 Steyvers 提出以 Gibbs Sampling 的方式來估算模型參數[31]。

值得一提的是,機率式潛藏語意分析(PLSA)[32]是 LDA 在參數α為 1 時,最大 化事後機率(MAP)和最大可能性估計(MLE)下的一個特例[33]。

2.6.2 Hierarchical Latent Dirichlet Allocation

傳統的LDA 中,Topic 的個數參數必須先給定,這使得模型較不彈性,且如同 本論文在 1.1 中所談的,容易有 overfitting 或 underfitting 的問題。在”

Hierarchical topic models and the nested chinese restaurant process”一文中,先提出一 NestedChinese Restaurant Process 的概念,再將此概念引進傳統 LDA 中,改善了 Topic 個數參數必須先給定的問題,使得整個模型更具彈性。接下來幾個小節,我 們會簡單介紹此模型。

2.6.2.1. Nested Chinese Restaurant Process

NestedChinese Restaurant Process (nested CRP)延伸自 CRP,其情景如下:

假設在一個城市中有無限多個餐館,其中一個餐館被定義為 root。每個餐館 中有無限多張桌子,每張桌子上都有一張卡片,上面寫著其他餐館的名字,其中,

每個餐館的名字都會至少在其中一個餐館的其中一個桌子的卡片上出現一次,因此,

這個城市中的餐館被組織成一個無限分支和深度的樹結構。如下圖:

圖 2.6-2: David Blei 等人提出的 nested Chinese Restaurant Process 示意圖

其中每個β 為一個餐館,每個路徑為一個顧客的旅遊路徑。本圖擷取自原著[30]。

一個遊客到這個城市度假,第一天晚上,他進入 root 餐廳並且採用 CRP 分佈 選擇桌子。第二天晚上,他去第一天晚上的餐館桌子上卡片標示的餐館,這樣一直 重複下去。M 個遊客在這個城市旅遊 L 天後,路徑的集合就描述了一個 L 階層的 無限樹的隨機子樹。

2.6.2.2. Hierarchical latent dirichlet allocation

hLDA 中將 nested CRP 的概念加入原本的 LDA 中,利用 nested CRP 當作 prior 來建構 topic 的深度,其每一個節點中,又採用傳統的 CRP 來建構他的廣度,其

graphical model 如下圖:

圖 2.6-3 : David Blei 等人提出的 hLDA graphical model,本圖擷取自原著[30]

圖中 γ 是 T 的參數,T 代表了所有無限樹的路徑集合,每個 𝑐𝑖則對應為一個餐 館,共有 L 個,其中𝑐1為 root,而每個 β 會對應一個𝑐𝑖,η是β 的參數。假設我們 今天觀察到一些資料 1, 2,.. 𝑁,可以使用 gibbs sampling 的方式來估計模型參 數。若以生成模型的角度來看,其生成過程如下:

1. Let 𝑐1 be the root restaurant 2. For each level l ∈ { , … , }

Draw a table from restaurant 𝑐 −1 using CRP Equation. Set 𝑐 to the restaurant referred to by that table

1. Draw an L-dimention topic proportion vector θ from Dir(α ) 2. For each word n ∈ {1, … , }

(a) Draw z ∈ {1, … , } from Mult(θ )

(b) Draw 𝑛 from the topic associated with restaurant 𝑐

hLDA利用nested CRP來建構topic的深度,改善了topic個數必須先給定的狀況,

取而代之的必須先給定深度。

相關文件