2013-02-07 17 views
5

Obecny Mahout 0.8-SNAPSHOT zawiera zwiniętą wariacyjną wersję Bayesa (cvb) do modelowania tematycznego i usunął metodę Latent Dirichlet Analysis (lda), ponieważ cvb może być lepiej zrównoleglony. Niestety istnieje tylko dokumentacja dla lda, jak uruchomić przykład i wygenerować znaczące wyniki.Uruchom cvb w mahout 0.8

Zatem chcę:

  • przetwórz niektóre teksty poprawnie
  • prowadzą cvb0_local wersji CVB
  • sprawdzać wyniki patrząc na góry N słów w każdym z powstałych tematów

Odpowiedz

12

Oto kolejne komendy Mahouta, które musiałem wywołać w powłoce Linuxa, aby to zrobić. $ MAHOUT_HOME wskazuje na mój folder mahout/bin.

$MAHOUT_HOME/mahout seqdirectory \ 
    -i path/to/directory/with/texts \ 
    -o out/sequenced 

$MAHOUT_HOME/mahout seq2sparse -i out/sequenced \ 
    -o out/sparseVectors \ 
    --namedVector \ 
    -wt tf 

$MAHOUT_HOME/mahout rowid \ 
    -i out/sparseVectors/tf-vectors/ \ 
    -o out/matrix 

$MAHOUT_HOME/mahout cvb0_local \ 
    -i out/matrix/matrix \ 
    -d out/sparseVectors/dictionary.file-0 \ 
    -a 0.5 \ 
    -top 4 -do out/cvb/do_out \ 
    -to out/cvb/to_out 

Sprawdzić wyjście pokazując top 10 słów każdego tematu:

$MAHOUT_HOME/mahout vectordump \ 
    -i out/cvb/to_out \ 
    --dictionary out/sparseVectors/dictionary.file-0 \ 
    --dictionaryType sequencefile \ 
    --vectorSize 10 \ 
    -sort out/cvb/to_out 
+0

Czy istnieje jakiś sposób na sprowadzaniu eache tematy dokumen ts? lub w inny sposób, aby pobierać tematy dokumentów? –

3

Dzięki JoKnopp do poleceń szczegółowych.

Jeśli masz: Wyjątek w wątku „main” java.lang.ClassCastException: java.lang.Integer nie mogą być oddane do java.lang.String

trzeba dodać opcję wiersza komend „maxIterations” : --maxIterations (-m) maxIterations

używam -m 20 i działa

patrz: https://issues.apache.org/jira/browse/MAHOUT-1141