2008年、Webは文字列解析で変わっていくまとめサイト2.0(5/8 ページ)

» 2007年12月28日 10時44分 公開
[大澤文孝,ITmedia]

 これ以降後半では、MeCabを使って形態素解析し、HTMLコンテンツからキーワードを抽出してみる。

MeCabによる形態素解析

 形態素解析をするためのツールのうちフリーなライセンスで使える代表的なものは、表2に示す3つである。

 今回は、この中の「MeCab(和布蕪)」を用いる。

 MeCabは、「京都大学情報学研究科」と「日本電信電話株式会社コミュニケーション科学基礎研究所」の共同研究ユニットプロジェクトによって開発されたオープンソース形態素解析エンジンだ。平均的にKAKASIやChaSenよりも高速に動作する。

 Yahoo!デベロッパーネットワークは、形態素解析Webサービスを提供している。サーバに何かソフトをインストールせずに形態素解析をしたいという場面では、こういったWebサービスを使うのも方法の1つだろう。

表2■代表的な形態素解析ツール

名称 URL
KAKASI http://kakasi.namazu.org/
ChaSen http://chasen.naist.jp/
MeCab http://mecab.sourceforge.net/

MeCabをインストールする

 まずは、MeCabをインストールしよう。MeCabのソース一式は、http://mecab.sourceforge.net/src/ からダウンロードできる。MeCabは、「プログラム本体」と「辞書」の2種類に分かれているので、それぞれをダウンロードしてインストールする。

1)本体

 mecab-0.96.tar.gzというファイル名(原稿執筆時点)で提供されている。次のようにtarで展開し、configureしてmake installするという標準的な手順でインストールすることができる。


$ tar xzvf mecab-0.96.tar.gz
$ cd mecab-0.96
$ ./configure
$ make
$ su
# make install

2)辞書

 辞書には「IPA辞書」と「Juman辞書」がある。推奨されているのはIAP辞書なので、これをダウンロードしてインストールする。原稿執筆時点では、mecab-ipadic-2.7.0-20070801.tar.gzというファイル名で提供されている。

 インストール方法は、本体とほぼ同じだが、configre時に「--with-charsetオプション」で文字コードを指定できる。標準はEUC-JPだ。このままでも問題ないが、ここでは、「--with-charset=utf8」とし、UTF-8の文字コードにしておくことにしよう。


$ tar xzvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ su
# make install

mecabコマンドによる動作テスト

 MeCabをインストールしたら、mecabコマンドを使って動作テストしてみよう。

 mecabコマンドを何もオプションを付けずに入力すると、1行単位での入力モードとなる。キーボードから1行分入力すると、それが形態素解析され、結果が表示される。下記において太字の部分が入力した部分だ。mecabコマンドを終了するには、「Ctrl」+「D」キーを押す。


$ mecab
HTMLを解析し、スクレイピングしたデータを基にグラフ化を行う。
HTML    名詞,一般,*,*,*,*,*
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
解析    名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
、      記号,読点,*,*,*,*,、,、,、
スクレイピング  名詞,一般,*,*,*,*,*
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
データ  名詞,一般,*,*,*,*,データ,データ,データ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
基      名詞,一般,*,*,*,*,基,モト,モト
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
グラフ  名詞,一般,*,*,*,*,グラフ,グラフ,グラフ
化      名詞,接尾,サ変接続,*,*,*,化,カ,カ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
行う    動詞,自立,*,*,五段・ワ行促音便,基本形,行う,オコナウ,オコナウ
。      記号,句点,*,*,*,*,。,。,。
EOS
(Ctrl+Dで終了)

 この例に示したように、mecabコマンドの出力結果は、

表層形(タブ)品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音

という書式になる。「表層形」は、区切られた実際の語句だ。

 「品詞」は「名詞」「動詞」「形容詞」といった大まかな分類だ。「品詞細分類1」「品詞細分類2」は詳細な分類であり、例えば『「固有名詞」「人名」』『「固有名詞」「一般」』といった組み合わせになる。

 提供されている分類種別については、/usr/local/lib/mecab/dic/ipadicディレクトリにあるpos-id.defファイルに書かれているので、参照してほしい。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ