Try   HackMD

Latent Dirichlet Allocation(LDA)

Topic model

主題模型主要在機器學習與自然語言處理領域中,用來在一系列文本萃取抽象主題的統計模型,在真實情況中,一個文本通常包含多種主題,而且每個主題所佔的比例,因此如果某一篇文本10%與狗有關,90%與貓有關,那就狗的相關的關鍵字出現大概會是貓相關的關鍵字出現次數的9倍,所以藉由主題模型來分析每個文本內字詞,再根據統計訊息來推測該文本可能主題。

Latent Dirichlet Allocation

Introduction

主題模型中最知名的就是LDA,是屬於非監督式學習方式,不是先為每個文本去做標籤化與註解,單純從文本進行訓練,可以更有規模化整理並作文本相關的區隔,另外此模型基於三階層的貝式方法的統計模型,三階層分為語料階層(corpus-level)、文本階層(document-level)與關鍵字階層(word-level),依序來建構生成模型,在一系列的文本中萃取抽象的主題。

Model Structure

LDA主要是藉由不同的生成機制來模擬文章撰寫的背後意義,LDA假設每一篇文章都是由少數的主題(Topic),每個主題是由少數幾個重要的用詞(word)所描述,藉由這些概念來生成我們所看到的文章,本小節會藉由次概念來定義統計模型,另外下圖主要描述「主題-用詞-文本」的關係,可以發現我們能夠觀察就是文本,因此相對應的主題與用詞都是需要大量的文本來推論出來的結構。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

We define the following terms:

  • A word is basic unit of discrete data,define to be an item from a vocabulary indexed by
    {1,...,V}
    .We represent words using unit-basis vectors that have a single component equal to one and all other components equal to zero.Thus using superscripts to denote components, the
    v
    th word in vocabulary is represented by a
    V
    -vector
    w
    such that
    wv=1
    and
    wu=0
    for
    uv
  • A document is a sequence of
    Ni
    words denoted by
    w=(w1,w2,...,wNi)
    ,where
    wn
    is the
    n
    th word in the sequence.
  • A corpus is collection of
    M
    documents denoted by
    D={w1,w2,...,wM}

LDA assumes the following generative process for each document

w in a corpus
D
:

  1. Choose
    NiPoisson(ξ)
  2. Choose
    θDir(α)
  3. For each of
    Ni
    words
    wi
    :
    1. Choose a topic
      zi,jMultinormal(θi)
    2. Choose a word
      wi,jMultinormal(φzi,j)

文本由上述的生成模型所建構而成,主要會是透過先驗分配(Prior Distribution)來描述各個階段的生成機制,最後估計文本的聯合機率分配,如下圖表示,其中灰色表示可觀察到的資料,白色則表示隱含配置(Latent Allocation)。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

接下來我們介紹各階層的生成機制:

  • 一篇文章的用詞個數
    NiPoisson(ξ)

    在機率理論中,卜瓦松分配 (Poisson Distribution)主要是用來表示頻率相關議題,在此處我們使用Possion分配表示一篇文章用詞個數,其中
    ξ
    表示各文本的平均用詞數。
  • i
    篇文本的
    k
    個主題機率分布
    θiDir(α)

    此處使用Dirchlet分配作為先驗分配,主要因為多項分配(Multinomial Distribution)的共軛分配 (Conjugate Prior)是Dirchlet分配,另外
    θi
    為k個維度,所以
    θ
    是為
    M×k
    矩陣來表示各個文本的主題分布情形。
  • i
    篇文本的第
    j
    個用詞的主題分布
    zi,jMultinormal(θi)

    在機率理論中,多項分配(Multinomial Distribution)表示隨機討挑選一個用詞,該用詞屬於主題
    t
    的機率為
    θi,t
    ,另外
    zi,j
    是為
    k×Ni
    表示出現的個字詞的主題分布情形。
  • i
    篇文本的第
    j
    個用詞庫中各個自出現的分布
    wi,jMultinormal(ϕzi,j)
    ,機率模型解釋與上述相同,表示隨機討挑選一個用詞,該用詞為某個字詞機率為
    ϕzi,j
  • t
    個主題在詞庫內各個用詞的機率
    ϕtDirichelt(β)

    這裡的分布與上述不太一樣,主要是針對詞庫來說,各個主題的各用詞出現機率,另外
    ϕ
    是為
    V×k
    矩陣來表示在詞庫每一個字在該主題出線的機率。

Joint Probability Distribution

定義各階層的模型架構,我們可以得到文本的生成機制,就是聯合機率分布(Joint Probability Distribution),如下:

P(w,z,θ,ϕ|α,β)=t=1KP(ϕt|β)i=1MP(θi|α)j=1NP(zi,j|θi)P(wi,j|zi,j,ϕzi,j)
上述的聯合機率不是我們的最終目標,我們真正希望可以學習到的是基於大量的文本,所的到個個文本的主題與各個主題的用詞分布,也就是
θ,z,ϕ
後驗分布(Posterior Sistribution),如下:
P(θ,z,ϕ|w,α,β)=P(w,z,θ,ϕ|α,β)P(w|α,β)

The Parameter of LDA

The
α
of dirichlet distribution

α主要控制所有文本的主題分布情形,這裡我們來探討參數
α
如何影響Dirichlet的分布,首先我們先假設三個主題,也就是
α
為三個參數向量,由下圖我們可以觀察到:

  • 如果
    α
    較大時,會將各個文本點推向三角形的中間,表示文本不太屬於該主題。
  • 如果
    α
    較小時,會將各個文本點推向三角形的角,表示文本較於屬於該文本。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →