2012-04-11 21 views
7

我正在使用來自六個不同來源的新聞數據語料庫的潛在Dirichlet分配。我對主題進化,興起感興趣,並且想要比較一段時間來源相似和彼此不同的方式。我知道有許多修改後的LDA算法,例如Author-Topic模型,Topic Over Time等等。實施LDA的替代形式

我的問題是,這些替代型號規格中的極少數是以任何標準格式實現的。少數可用Java提供,但大多數僅以會議文件形式存在。我自己實現這些算法的最好方法是什麼?我相當精通R和jags,並且在足夠長的時間內可以在Python中蹣跚而行。我願意編寫代碼,但我不知道從哪裏開始,我不知道C或Java。我可以在JAGS或Python中建立一個只包含手稿公式的模型嗎?如果是這樣,有人可以指出我這樣做的一個例子嗎?謝謝。

+1

我有一個朋友,一個禮拜前就要做這件事。他最終在Python和C中實現了自己版本的摺疊式Gibbs採樣器。根據數據的大小,您可能別無選擇,只能使用更快的語言。無論如何,我會看看我能否讓這位朋友發佈他是如何解決這個問題的。 – ely 2012-04-11 19:25:07

+0

你看過'R'包'topicmodels'和'lda'嗎? http://stats.stackexchange.com/ – Ben 2012-04-11 20:13:43

+0

@Ben是 - 我已經使用了這兩個包,但是實際的算法部分已經在兩種情況下都編譯過了,它們不適用於延期。 lda軟件包非常好,而且速度很快,但我也在尋找一些靈活性,而無需在寫論文時學習C或Java。 – Trey 2012-04-11 21:04:32

回答

5

我的朋友的回覆如下,請原諒。

首先,我寫了一個Python實現的崩潰的吉布斯採樣器在這裏看到(http://www.pnas.org/content/101/suppl.1/5228.full.pdf+html),並充實這裏(http://cxwangyi.files.wordpress.com/2012/01/llt.pdf)。像球一樣緩慢。

然後我用本文的C實現的Python包裝(http://books.nips.cc/papers/files/nips19/NIPS2006_0511.pdf)。這與f * ck一樣快,但結果不如NMF所能看到的那麼好。

但是我見過的NMF實現,有了scitkits,甚至是scipy稀疏兼容的最近發佈的NIMFA庫,它們都會將f * ck放在任何大型的語料庫上。我的新白鯨是一種切片,分佈式的東西。這將是不平凡的。

+0

感謝您的跟進。 – Trey 2012-04-16 20:19:13