次にTwitterをネタにしてRで解析したいと思うことは、日々大量に生み出されるtweetの統計解析・テキストマイニングでしょう。テキストマイニング自体は非常に大きな分野ですから、ここでは紙幅の関係上多くを書くことができません。いえ、テキストマイニングの入門の入門までなら可能だと思います。tweetに対して形態素解析を行い、その形態素の数を数えてみましょう。テキストマイニングをするためには、何より素材となるtweetを取得する必要があります。今回はTwiiter検索のAPIを利用します。具体的には、twitteRのsearchTwitterを利用します。これから行う処理にどんな意味があるかは置いておいて、例えば「素敵」と「ステキ」が含まれているtweetの形態素数の比較をしてみましょう。tweetを検索して取得します。今回は100個程度の小さいサンプルを利用することにします。"@abcchatan素敵な風景ありがとう。昼公演では右側によくいましたね(*^□^*)ジャケットプレイ素敵でした♪"「素敵」について最初の結果を表示してみましたが、どうやらうまく取得できているようです。次に、このtweetを形態素解析します。ここではオープンソースの形態素解析エンジンであるMeCabを利用したいと思います。Analyzerそして、RでこのMeCabを利用するためには、RMeCabパッケージを利用するのが一番手っ取り早いでしょう。ここで、RMeCabのインストール及びMeCabのインストール方法については、RMeCabの作者である石田基広さんの以下のページを参考にしてください。RとLinuxと...すでに述べたように、RMeCabはCRANからinstall.packages関数でインストールができません。上記のサイトにある情報を利用してバイナリファイルをダウンロードして、ローカルディスクからインストールする必要があります。その際に注意点があります。それは、Rのバージョン、MeCabのバージョンそしてRMeCabのバージョンはかなりキツク結び付いているようなのでバージョンの不整合に気を付けてください、ということです。筆者のR2.10.1、MeCab0.96の環境では、RMeCab0.9xは動作しませんでした。MeCabのバージョンを0.98に上げ、RMeCab0.87にしたら動作するようになりました。最新版のR2.11.x、MeCab0.98、RMeCab0.91の組み合わせは問題なく動作しました。念のため、旧バージョンのRMeCabをダウンロードできるページは、ここにあります。RMeCabの関数一覧についても石田さんのページを参照してください。以下、MeCabとRMeCabが正常にインストールされたとして話を進めます。twitteRのsearchTwitterで取得したtweetを形態素解析をするためには、RMeCabのRMeCabDFを利用します。この関数は、データフレームを引数としてテキストを取ったら、形態素解析をしてその結果をリストとして返します。先ほど検索したtweetをデータフレームにし、それをRMeCabDFに入れるところまでを見てみます。...これを見ると形態素がリストとして返ってきます。その数を数えるには、データフレームの全要素にlength関数をsapply関数で適用すればよいだけです。最後に、そのsummaryを取れば、平均の形態素数や最大要素などを得ることができます。これを見ると、最大形態素数のtweetは「ステキ」にあるのですが、「ステキ」より「素敵」の方がメジアンも算術平均も大きくなっています。一瞬だけの検索で、しかもサンプル数が100程度なので、実際のところはなんとも言えませんが、「ステキ」より「素敵」のほうが丁寧(ていねい)な言葉づかいをしがちなので形態素数が大きくなる傾向があるかもしれない、という仮説を立てても問題はなさそうです。以上はTwitterから直接tweetを取得し、形態素解析をすることで、テキストマイニングの入り口までの紹介をしました。APIから取得する方法は、残念ながらあまり現実的な解にはなりません。APIの制限がありますし、解析を行うマシンやRで取り扱いができる計算リソースに制限があります。入門の入門のための題材としてお考えください。最後に、Rを利用したテキストマイニングの入門書については日本語で既に良書が存在します。これ以上の入門的解析を行い方は、以下の2つの本を参考にしてください。次回について次回はまた、オープンソースのRを利用して、オープンデータにアクセスし、オープンアイデアの活用したネタをお届けしようと思います。それでは、また2週間後に会いましょう。コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。関数型言語に分類されるHaskell。Lispの一種であるScheme。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。