Kérdés:
R csomagok a téma modellezéséhez / LDA: csak `topicmodels` és` lda`
bit-question
2012-03-10 21:47:09 UTC
view on stackexchange narkive permalink

Nekem úgy tűnik, hogy csak két R csomag képes végrehajtani a látens Dirichlet kiosztást :

Az egyik lda , szerző: Jonathan Chang; a másik pedig a topicmodels Bettina Grün és Kurt Hornik szerzők. és bővíthetőség?

Négy válaszokat:
Momo
2012-03-10 22:18:39 UTC
view on stackexchange narkive permalink

Megvalósítás: A topicmodels csomag egy interfészt biztosít a GSL C és C ++ kódhoz Blei et al. és Phan és mtsai. A korábbiaknál a Variational EM-t használja, az utóbbiakhoz Gibbs mintavételt. Lásd: http://www.jstatsoft.org/v40/i13/paper. A csomag jól működik a tm csomag segédprogramjaival.

Az lda csomag egy összecsukott Gibbs Samplert használ számos olyan modellhez, amely hasonló a GSL könyvtárhoz. Ezt azonban maga a csomag készítői hajtották végre, nem Blei et al. Ez a megvalósítás tehát általánosságban eltér az eredeti, ezeket a modellváltozatokat bemutató cikkekben javasolt becslési technikától, ahol általában a VEM algoritmust alkalmazzák. Másrészt a csomag több funkcionalitást kínál, mint a másik csomag. A csomag szövegbányászati ​​funkciókat is biztosít.

Bővíthetőség: A bővíthetőség tekintetében a topicmodel kód jellegénél fogva kiterjeszthető más C és C ++ nyelven írt témamodell kódok felületére. Úgy tűnik, hogy az lda csomag jobban támaszkodik a szerzők által biztosított konkrét megvalósításra, de ott a Gibbs mintavevő lehetővé teheti a saját témamodell megadását. A kiterjeszthetőség kérdéseiben nem más, az előbbi a GPL-2, az utóbbi az LGPL licenccel rendelkezik, ezért függhet attól, hogy mire kell kiterjesztenie (a GPL-2 szigorúbb a nyílt forráskód szempontjából, azaz nem tudja használni saját szoftverben).

Teljesítmény: Itt nem tudok segíteni, eddig csak témamodelleket használtam.

Következtetés:
Személy szerint a topicmodels -t használom, mivel jól dokumentált (lásd a fenti JSS cikket), és bízom a szerzőkben (Grün a flexmixet is megvalósította, és Hornik R alaptag).

Először is, biztos vagyok benne, hogy a topicmodels kiváló csomag, és egyetértek abban, hogy nagyon jól dokumentált.Ami az LDA csomag szerzőinek "megbízását" illeti, Jonathan Chang volt PhD hallgatóm, és én teljesen megbízom a kódjában.Kiváló szoftvermérnök és tudós egyaránt.Csomagja könnyű, jól méretezhető meglehetősen nagy gyűjteményekig, és jó felfedezni az eredményeket R.témamodellek, felügyelt LDA (GLM-mel) és vegyes tagságú sztochasztikus blokkmodell.
Köszönöm, hogy lemértél. Biztos vagyok benne, hogy az `lda` csomag nagyszerű, nem akartam azt sugallni, hogy az` lda` valamivel alacsonyabb szintű kóddal rendelkezik.Közöltem személyes benyomásomat (a dokumentáció kissé hanyagnak tűnt).Mivel ez> 2 évvel ezelőtt volt, kissé szerkesztettem a választ (a CRAN oldalon még mindig vannak elírások, szerintem jó lenne, ha kijavítanák őket, de úgy tűnik, hogy az e-mail elveszett).
Gondolom, rengeteg tapasztalata van mindkét csomag kapcsán, és leginkább az általános témáról tud, mit szólna ahhoz, ha választ adna mindkét csomag előnyeire és hátrányaira?Nem használtam az `lda`-t, ezért empirikus értékelést nem tudtam adni róla.Ennek biztosítása biztosan segítené az OP-t és mindenkit, valamint kijavítaná a lehetséges igazságtalanságokat (amelyeket nem szántak).Köszönöm!
Kipróbáltam mindkettőt, és úgy találtam, hogy az `lda` csomag több lehetőséget tartalmaz.Nehéz azonban megérteni az adatok formázásának módját annak érdekében, hogy azok illeszkedjenek a modellhez.A `topicmodels` csomag jól működik a` tm` csomaggal, míg az `lda` csomag olyan listát kér, amely nem világos, hogyan lehet létrehozni.
Ben
2012-03-11 07:03:39 UTC
view on stackexchange narkive permalink

+1 a témamodellekhez. @ Momo válasza nagyon átfogó. Csak annyit fűznék hozzá, hogy a topicmodels a bemenetet dokumentum kifejezésmátrixokként veszi fel, amelyek könnyen elkészíthetők a tm csomaggal vagy a python használatával. Az lda csomag ezoterikusabb bemeneti formát használ (a Blei LDA-C alapján), és nem volt szerencsém a beépített függvények használatával a dtm átalakítására lda csomag formátum (az lda dokumentációja nagyon gyenge, ahogy a Momo megjegyzi).

Van egy kódom, amely a nyers szöveggel kezdődik, előfeldolgozza azt a tm ban, és átadja a topicmodels -nak (ideértve az optimális témakörök megtalálását előre és a kimenettel való munka) itt. Hasznos lehet valakinek, aki először jár a topicmodels -ra.

Azok számára, akik még nem használják a * tm * -et, és szeretnének játszani az * lda * -val, a [JFreq] (http://www.williamlowe.net/software/jfreq) a sima szövegeket is az LDA-C által preferált formátumba helyezi.
Jó tudni a JFreq-ről, még nem láttam. Köszönöm a borravalót!
Most észrevettem a `read_dtm_Blei_et_al` függvényt a` tm` csomagban, amely ugyanazt csinálja.
Alexis Perrier
2015-12-02 01:13:30 UTC
view on stackexchange narkive permalink

Molly Roberts, Brandon Stewart és Dustin Tingley által készített R Structural Topic Model (STM) csomag szintén remek választás. A tm csomag tetejére épített általános keretrendszer a témamodellezéshez dokumentumszintű kovariáns információkkal.

http://structuraltopicmodel.com/

Az STM csomag egy sor módszert (rácskeresés) és intézkedéseket (szemantikus koherencia, maradványok és kizárólagosság) tartalmaz a témák számának meghatározására. Ha a témák számát 0-ra állítja, akkor a modell meghatározhatja az optimális témák számát is.

Az stmBrowser csomag nagyszerű adatmegjelenítési kiegészítő a külső változók témákra gyakorolt ​​hatásának vizualizálására. Lásd ezt a példát a 2016. évi elnöki vitákhoz: http://alexperrier.github.io/stm-visualization/index.html.

Ganesh Sonawane
2016-09-16 13:57:49 UTC
view on stackexchange narkive permalink

Mindhárom könyvtárat használtam, mindhárom között, témamodellek, lda, stm; nem mindenki dolgozik n grammal. A topicmodels könyvtár jó a becslésével, és n grammal is működik. De ha valaki uni grammal dolgozik, akkor a szakember előnyben részesítheti az stm-et, mivel ez strukturált kimenetet ad.



Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...