當前位置:
首頁 > 知識 > 用 LDA和LSA 兩種方法來降維和做 Topic 建模

用 LDA和LSA 兩種方法來降維和做 Topic 建模

本文為 AI 研習社編譯的技術博客,原標題 2 latent methods for dimension reduction and topic modeling,作者為 Edward Ma。

翻譯 | dudubear、機智的工人 校對 | 餘杭 審核 | 餘杭

圖片鏈接: https://pixabay.com/en/golden-gate-bridge-women-back-1030999/

在優秀的詞嵌入方法出現之前,潛在語義分析模型(LSA)和文檔主題生成模型(LDA)都是解決自然語言問題的好方法。LSA模型和LDA模型有相同矩陣形式的詞袋錶示輸入。不過,LSA模型專註於降維,而LDA模型專註於解決主題建模問題。

由於有很多資料介紹這兩個模型的數學細節,本篇文章就不深入介紹了。如果感興趣,請自行閱讀參考資料。為了讓大家更好地理解,我不會做去停用詞這樣的預處理操作。但這是在使用LSA、LSI和LDA模型時非常關鍵的部分。閱讀以下文章,你會了解以下內容:

潛在語義分析模型(LSA)

文檔主題生成模型(LDA)

主旨概要


潛在語義分析(LSA)

2005年Jerome Bellegarda將LSA模型引入自然語言處理任務。LSA模型的目的是對分類任務降維。其主要思想是具有相似語義的詞會出現在相似的文本片段中。在自然語言處理領域,我們經常用潛在語義索引(LSI)作為其別名。

首先,我們用m個文檔和n個詞作為模型的輸入。這樣我們就能構建一個以文檔為行、以詞為列的m*n矩陣。我們可以使用計數或TF-IDF得分。然而,用TF-IDF得分比計數更好,因為大部分情況下高頻並不意味著更好的分類。

圖片來源: http://mropengate.blogspot.com/2016/04/tf-idf-in-r-language.html

TF-IDF的主要思想是高頻的詞有可能不代表著很多的信息。換句話說,就是出現頻率小的詞在模型中有更高的權重。字詞的重要性與它在同一文件中出現的次數成正比,但同時與其在語料庫中出現的次數成反比。更詳細的內容,請參考此博客(https://towardsdatascience.com/3-basic-approaches-in-bag-of-words-which-are-better-than-word-embeddings-c2cbc7398016)。

該模型的挑戰是矩陣很稀疏(或維數很高),同時有雜訊(包括許多高頻詞)。因此,使用分解 SVD 來降維。

SVD 的思想在於找到最有價值的信息並使用低維的t來表達這一信息。

輸出

可以看到維度從 130 K 降到了 50。

輸出

文檔主題生成模型(LDA)

2003年,David Blei, Andrew Ng和Michael O. Jordan提出了LDA模型。這屬於無監督學習,而主題模型是其個中典型。它建立的假設在於每份文檔都使用多個主題混合生成,同樣每個主題也是由多個單詞混合生成。

不同話題下的不同辭彙

顯然,你可以想像出兩層聚合。第一層是類別的分布。打個比方,類似我們有金融新聞、天氣新聞和政治新聞。第二層則是類中的單詞分布。比如,我們可以在天氣新聞中找到類似「晴朗的」和「雲」這樣的單詞,在金融新聞中找到「錢」和「股票」這樣的單詞。

然而,"a","with","can"這樣的單詞對主題建模問題沒有幫助。這樣的單詞存在於各個文檔,並且在類別之間概率大致相同。因此,想要得到更好的效果,消除停用詞是關鍵一步。

對特定的文檔d,我們得到了其主題分布θ。則主題t可以根據這個分布(θ)從?中選出相應的單詞。

輸出:


主旨概要

要獲取完整代碼,請訪問我的github倉庫(https://github.com/makcedward/nlp/blob/master/sample/nlp-lsa_lda.ipynb)。

兩個模型均使用詞袋錶示作為輸入矩陣

SVD的挑戰是我們很難判定最優的維數。總的來說,低維所消耗的資源更少,但有可能無法區分相反意義的詞。而高維能解決該問題,但會消耗更多地資源


關於我

我是工作在灣區的一名數據科學家。我的主要研究方向是數據科學和人工智慧,尤其是自然語言處理和平台相關的。你可以通過Medium、LindeIn或Github了解我。

參考

SVD教程:https://cs.fit.edu/~dmitra/SciComp/Resources/singular-value-decomposition-fast-track-tutorial.pdf

CHHK LSI教程:http://www1.se.cuhk.edu.hk/~seem5680/lecture/LSI-Eg.pdf

Stanford LSI教程:https://nlp.stanford.edu/IR-book/pdf/18lsi.pdf

LSA和LDA介紹:https://cs.stanford.edu/~ppasupat/a9online/1140.html

https://towardsdatascience.com/2-latent-methods-for-dimension-reduction-and-topic-modeling-20ff6d7d547


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

模型可解釋性差?你考慮了各種不確定性了嗎?
王強:站在人工智慧與金融 IT 最頂端的人

TAG:AI研習社 |