使い方(主に日本語のテキストの読み込み)自然言語処理Tweetgensimは前に以下の記事でも使ったPython用のトピックモデルなどの機能があるライブラリです。gensim入力の作り方がすこしわかりにくいかなぁと思ったので、メモっておきます。以下の公式の例で説明しますこの例ではリスト内のそれぞれの要素が1つの文書となります。survey"]http://radimrehurek.com/gensim/tut1.html英語の場合はまずはsplit()などで単語を分割して、小文字に直すなどの前処理をします。'survey']]http://radimrehurek.com/gensim/tut1.html次に辞書を作ります。3}http://radimrehurek.com/gensim/tut1.htmlこれを使うとドキュメントを、単語IDと頻度のタプルに変換出来ます。1)]http://radimrehurek.com/gensim/tut1.htmlこの変換をドキュメントを全体に対して行ったものが、gensimで入力として使うコーパスになります。日本語では空白などで単語が簡単に分割できないので、形態素解析が必要になりますMeCabなどを使うのが簡単です。次のようになるので、空白や改行で分割すれば、文書ごとの単語のリストのリストが作れます。品詞によるフィルタリングなどの複雑なことをやるならスクリプト内部からPythonバインディングで呼び出した方がいいです。文2の単語2複雑な処理をする場合にはgensim.corpora.textcorpus.TextCorpusが用意されています。TextCorpus.get_textsをオーバーライドして、引数で与えられたドキュメントの一つ一つに対する単語のリストをyieldで返すように処理を書けば、単語IDと頻度のタプルへの変換は内部で自動で行なってくれます。単語IDと単語の対応の辞書はTextCorpus.dictionaryにあります。上のような形式のcorpus.txtを読み込んで、LDAで解析してトピックごとの上位の単語とドキュメントごとの各トピックの分布を出力します。助詞とかが悪影響を与えてうまくいかないこともあるので抜いたりしておいたほうがいいかもしれません上側では各トピックごとの確率上位の単語をshow_topics()関数で表示しています。