ChaSen - 茶筌

茶筌 - ChaSen : http://chasen.aist-nara.ac.jp/

思うところがあり、ChaSenをインストール。インストール自体は簡単で、ChaSenとipadicをconfigure->make->make installで大丈夫です。試しにいくつか形態素解析してみた。

元テキスト:私は変なおじさんです。
私      ワタシ  私      名詞-代名詞-一般                
は      ハ      は      助詞-係助詞             
変      ヘン    変      名詞-形容動詞語幹               
な      ナ      だ      助動詞  特殊・ダ        体言接続
おじさん        オジサン        おじさん        名詞-一般               
です    デス    です    助動詞  特殊・デス      基本形
。      。      。      記号-句点


元テキスト:隣の客は良く柿食う客だ。
隣      トナリ  隣      名詞-一般               
の      ノ      の      助詞-連体化             
客      キャク  客      名詞-一般               
は      ハ      は      助詞-係助詞             
良く    ヨク    良い    形容詞-自立     形容詞・アウオ段        連用テ接続
柿      カキ    柿      名詞-一般               
食う    クウ    食う    動詞-自立       五段・ワ行促音便        基本形
客      キャク  客      名詞-一般               
だ      ダ      だ      助動詞  特殊・ダ        基本形
。      。      。      記号-句点               

面白い。あとはChaSenをCから利用する方法を勉強すればとりあえずOK。と言っても、使いかた自体はいたって簡単そうです。茶筌ライブラリのマニュアルなんて紙1枚にも満たない量ですし。と言っても、この場合はライブラリの使い方よりも解析した形態素をどうするかの方が重要で難しいんですけどね。

追記

なんとなく、今までHatena::Diaryに書いてきたログをダウンロードしてChaSenを通してみました。以下、実行したコマンドと出現率の高い形態素のリストです。なお、形態素に関しては手動でノイズを除去しています。本当は品詞でフィルタリングした方が良いのでしょうが、即席なので…。

# hatena.csvはダウンロードしたログファイル
# 最後のgrepはアルファベットと記号の除去(手抜きですが)
# (お決まりですが)実際は一行で既述します

chasen -F "%m\n" hatena.csv | grep -v EOS | \
grep -ve "[a-zA-Z0-9<>=#/,.%?-]" > hatena.cha

# 出来たhatena.chaをソートした出現回数を数える。

sort hatena.cha | uniq -c | sort -nr > hatena.char.sort

で、以下が結果

419 本                  168 思う        
208 的                  143 性          
249 セキュリティ        145 情報        
236 プログラム          136 ユーザ      
236 サイト              121 ソース      
191 ファイル            120 方法        
174 使用                120 暗号        
                        115 !           

以下 100 -> 80 あたり
コード、読了、技術、作成、実際、理解、パスワード、システム、
勉強、日記、入門、脆弱、数学、面白い

やってみると分かりますが、良いキーワード(つまり、日記『生存記録』を良く表したキーワード)は100-50の間に集中していました。本当に上位に来るのは内容を掴みにくい語が多かったです。

もうちょっと、ちゃんと自分の日記を分析してみるかもしれません。それよりも人の日記を解析したほうが面白いかも知れませんが(人柱募集(笑))。

ところで、この解析結果から日記の紹介文の自動生成とか出来ないでしょうか? せめてHTMLのmeta.keywordsに自動挿入とか…。後者は出来そうな気がするのですが、問題は「良く使われるが、キーワードに適さない語」をどうするか、でしょうね。つまり、自分の日記の解析結果で言うと100回以上出現した『使用』とか『ファイル』のような言葉。

更に、自動キーワードを作るなら、日記の日付も重みづけに使用しないとだめでしょう。1年前の内容よりも最近の内容の方を重視すべきですからね。