文章を単語に分割するには形態素解析を使います。日本語の形態素解析には、ChaSen、MeCab、Yahoo!形態素解析などがあります。ナイーブベイズを用いたブログ記事の自動分類(2010/7/3)でMeCabをPythonから使う方法を簡単にまとめましたが、MeCabはよく使うので再度まとめ直して独立したエントリにしました。Yahoo!形態素解析の使い方は、Yahoo!形態素解析API(2009/4/15)で書きました。Ruby、Perl、Javaなどさまざまな言語から使えます。Studioのインストール、コードの修正が必要でかなり面倒くさい。そこで、Pythonモジュールはid:fgshunさんがコンパイルしたバイナリを使わせてもらいました。野良ビルドからダウンロードしたlibmecab-1.dll、MeCab.py、_MeCab.pydをパッケージフォルダ(Python2.6ならC:\Python26\Lib\site-packages)にコピー。IPA辞書はmecab-0.98.exeでインストールしたので不要。Files\MeCab\etc\mecabrcを読みにいくようなのでmecab-0.98.exeでIPA辞書をインストールしたほうが簡単だと思います。下のサンプルプログラムが動くか確かめてみます。tagger.parse("PythonからMeCabの形態素解析機能を使ってみました。resultparse()の引数に解析したい文字列を入力すると解析結果がテキストで返ってきます。文字列はu""のユニコード文字列でなくていいみたいです。逆にユニコード文字列はstr()で変換しないとダメみたい。上の例の実行結果は下のようになります。テキストで結果を返されても必要な情報の抽出などその後の処理が面倒です。その場合は、後で紹介するparseToNode()というメソッドが用意されています。tagger.parse("PythonからMeCabの形態素解析機能を使ってみました。読み-Ochasenのところを-Oyomiにすると読みが返ってきます。tagger.parse("PythonからMeCabの形態素解析機能を使ってみました。resultPythonカラMeCabノケイタイソカイセキキノウヲツカッテミマシタ。詳細情報の取得parse()の代わりにparseToNode()を使うと形態素の詳細情報が得られます。parseToNode()は先頭のノード(形態素情報)を返し、surfaceで表層形、featureで形態素情報を取得できます。区切られているのでsplit()などで分割して必要な情報を抽出します。tagger.parseToNode("PythonからMeCabの形態素解析機能を使ってみました。助動詞,*,*,*,特殊・タ,基本形,た,タ,タ。記号,句点,*,*,*,*,。