譯Author-topic models: why I am working on a new implementation

原作者Ólavur Mortensen

Author-topic models: why I am working on a new implementation

作者 - 主題模型承諾爲數據科學家提供一種工具,可以同時根據潛在主題獲得有關作者和內容的洞察力。

該模型與Latent Dirichlet Allocation(LDA)密切相關。 基本上,每個作者可以與多個文檔相關聯,並且每個文檔可以歸因於多個作者。 該模型學習每個作者的主題表示,以便我們可以提出諸如“作者X通常寫什麼主題?”或“作者X和Y有多相似?”之類的問題。 更一般地說,該模型使我們能夠學習文檔上任何標籤的主題表示(稍後將詳細介紹)。

雖然存在作者 - 主題模型的實現,但它們很慢,不可擴展並且具有差的文檔和接口。 所以在過去的幾個月裏,我一直在努力爲我們提供一個實現,它具有我們在Gensim的LDA中習慣的所有優秀屬性,即

  • 快速訓練
  • 可擴展性
  • 流式語料庫

除其他事項外。 在這篇文章中,我將分享我在這項工作中取得的進展,並希望你們中的一些人有興趣在它發佈後嘗試實施。

簡短回顧可用的軟件

據我所知,有三種作者 - 主題模型的實現:

python-topic-model模塊。
MatLab主題建模工具箱。
Yoshua Bengio用C ++編寫的LDA軟件包。

python-topic-model版本非常慢。我嘗試在一個小數據集上訓練作者主題模型。大約一分鐘後,我自己的算法開始給出合理的結果,而python-topic-model的版本即使經過15分鐘的訓練也會產生不良結果。

C ++實現具有相當差的文檔,並且由於GitHub頁面將該包描述爲“LDA和其他基於主題模型的摺疊式Gibbs採樣的實踐。”它並不表示它面向用戶。

MatLab實現似乎很快產生了不錯的結果。這個算法到Python的端口不是一個壞主意,所以沒有MathWorks許可證的數據科學家(MatLab是一個專有的軟件)可以使用它。但是,由於該算法基於Gibbs採樣,因此實現的可擴展性值得懷疑(下一節將詳細介紹)。由於此實現不計算任何類型的可能性,因此很難客觀地將可伸縮性與我自己的實現進行比較。

推理

像作者 - 主題模型和LDA的訓練模型通常應用吉布斯採樣或變分推理。 上一節中討論的所有實現都應用了某種形式的Gibbs採樣(可能是阻塞和/或摺疊的Gibbs採樣)。

變分貝葉斯

已知變分貝葉斯(VB)能夠實現快速且可擴展的推理。 出於這個原因,Gensim的LDA使用VB進行訓練。 在VB框架內製定在線算法(可流式語料庫)也很容易。 由於這些原因,決定實施在線VB算法來訓練模型。 這需要一些理論工作,因爲從未爲作者 - 主題模型開發VB算法。 從技術上講,開發的算法是一種阻塞變分貝葉斯算法

VB非常適合並行計算。 雖然我還沒有實施,但它不應該是一個很大的挑戰。

摺疊的變分貝葉斯Collapsed variational Bayes

考慮的另一種候選算法是摺疊變分貝葉斯(CVB)。雖然沒有公開的代碼,但是2016年由Ngo和共同作者爲這個模型奠定了理論基礎。在線CVB也是可能的。

CVB比標準VB收斂得更快,因此是首選。但是,在作者 - 主題模型中執行相同操作之前,自然的第一步是將LDA實現遷移到CVB。因此應用標準VB而不是CVB。在Gensim中看到LDA的可擴展,快速,在線CVB實現將會很有趣,因爲它應該比當前實現更快地進行訓練。

履行Implementation

算法開發在大部分時間內一直是該項目的焦點。最近,一切都很好地融合在一起,代碼的重構正在進行中,以便它可以被釋放。重構的代碼將具有與Gensim的LDA類似的接口和結構,因此對於用戶和開發人員而言,跳入模型將相對容易。此時,不確定何時釋放代碼,但它不應該很長。

不僅是作者

雖然模型的名稱表明它與作者有關​​,但它實際上是標準主題模型的更一般的抽象。 “作者”可以代表文檔上的任何類型的標籤,特別是當每個文檔有多個標籤並且每個標籤有多個文檔時;例如,可以使用互聯網帖子上的標籤。實際上,該模型可以應用於具有相似結構的任何類型的數據,例如基因組數據(LDA也用於此)或神經成像數據(參見前面提到的CVB論文)。

最後的評論

Gensim長期以來一直處於彌合自然語言處理研究與實踐之間差距的最前沿。雖然作者 - 主題模型尚未引起很多關注,但我希望這個實現將爲人們提供實驗的機會,並且我們將看到一些有趣的用例。


Gensim 1.0.0中的新功能
除了版本編號的外觀變化之外,1.0.0還爲您帶來了一系列令人興奮的新功能,以及一些棄用。
最爲顯着地:
作者主題建模。 具有元數據的LDA擴展。 看看它如何比較Hinton和LeCun在NIPS語料庫中的論文。 RaRe Incubator學生ÓlavurMortensen的純Python實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章