今まで、以下のあたりでいくつか書いてきました。
gensimを利用して、LDAに適用するコーパスを使う例を上げてきましたが、今までのものはbzip2されたデータからコーパスを作成しているだけな jawikicorpus.py だったので、さらに一歩進んで、データ自体もElasticsearchに入れておいて、形態素解析も含めて、Elasticsearchを使うように変えてみます。
適用するにあたっては、
- Elasticsearchの環境を作っておくこと
- RiverでWikipediaのデータを投入しておくこと
- elasticsearch-extended-analyzeプラグインを入れておくこと
- gensim等の必要なpythonモジュールを入れておくこと(pyenvとかで入れれば良いかも)
という前提で、jawikicorpus.py をダウンロードして、
$ python jawikicorpus.py localhost:9200/jawiki-pages-articles wiki_ja_output
を実行すると
$ ls wiki_ja_output_* wiki_ja_output_bow.mm wiki_ja_output_tfidf.mm wiki_ja_output_wordids.txt.bz2 wiki_ja_output_bow.mm.index wiki_ja_output_tfidf.mm.index
という感じでコーパスが作成されます。
あとは、英語版WikipediaでLDAや日本語版WikipediaでLDAにあるような感じで、LDAを適用できるかと思います。