簡體   English   中英

LDAvis 可以分析 vowpal_wabbit LDA 的結果嗎?

[英]Can LDAvis analyse the results of vowpal_wabbit LDA?

LDAvis提供了一種出色的可視化和探索主題模型的方法。 LDAvis 需要 5 個參數:

  1. phi (維度數乘以主題數的矩陣)
  2. theta (具有維度的矩陣文檔數乘以主題數)
  3. 每個文檔的字數(整數向量)
  4. 詞匯表(特征向量)
  5. 整個語料庫中的詞頻(整數向量)

我的問題的簡短版本是:在使用 vowpal wabbit 安裝 LDA model 后,如何導出 phi 和 theta?

theta 代表每個文檔的主題混合,因此每個文檔的總和必須為 1。 phi 表示給定主題的術語的概率,因此每個主題的總和必須為 1。

在使用vowpal wabbit ( vw ) 運行 LDA 后,某種權重存儲在 model 中。 model 的人類可讀版本可以通過提供一個特殊文件來獲取,詞匯表中每個術語一個文檔,同時停用學習(通過-t參數),例如

vw -t -i weights -d dictionary.vw --readable_model readable.model.txt

根據vowpal wabbit 的文檔,所有列都期望第一個readable.model.txt現在“代表每個單詞的主題分布”。

您還可以使用vw生成預測,即針對文檔集合

vw -t -i weights -d some-documents.txt -p predictions.txt

predictions.txtreadable.model.txt都有一個維度反映輸入(行)和主題(列)的數量,它們都不是概率分布,因為它們的總和不等於 1(每行都不是,也不是每列)。

我知道vw不適合膽小的人,我需要一些編程/腳本,但我確信必須有某種方法從vw的一些 output 派生 theta 和 phi。 我已經被這個問題困擾了好幾天了,請給我一些提示。

我不知道如何直接將 pyLDAvis 與 Vowpal Wabbit 一起使用。 但是,由於您已經在使用 python 工具,您可以同時使用 Gensim 包裝器和 pyLDAvis。

用於 VowpalWabbit 的 python 包裝器在gensim (< 4.0.0) 中提供。 您可以簡單地使用 Gensim,就好像您在使用vwmodel2ldamodel后通過 Gensim 本身訓練了 model 一樣。

如果您不熟悉 Vowpal Wabbit(以及一般的 LDA)的內部結構,此解決方法可能是最簡單的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM