2007年12月07日

MeCabを入れてみ……たいんだけど……

Webコンテンツの整理をしてサーバが一台空いたので、ぼくはこの機に以前から考えていたことを試してみようと企てた。Sennaを入れてみようと思うのである。そのためには、まずMeCabを入れなければならない。

MeCabというのは近年話題沸騰中の形態素解析エンジンである。和布蕪が名前の由来なのだそうだ。日本発のオープンソースプロジェクトには、こういう茶目っ気のある名前が多くて楽しい。

名前だけでなく、これは機能的にも面白いソフトなのだ。受験勉強の際、誰もが文法とか品詞なるものに悩まされた経験をお持ちだと思うが、MeCabは何とそれを自動で解析してしまうのである。つまり「すもももももももものうち」という文を、「すもも|も|もも|も|もも|の|うち」と品詞レベルに分解し、さらには各句が名詞であるとか助詞であるとか、そういったことまで教えてくれるのだ。

国語が苦手だった方には、これがどれほどすごいことかおわかりいただけると思う。ただ、それが何の役に立つのかというと、いまいちピンと来ないという方も多いのではなかろうか。だが、MeCabのような形態素解析技術がなければ、全文検索は不可能に近い。

例えば、「京都府」でググったとする。すると、検索結果として、京都に関するページが多数ひっかかる。そして驚くべきことに東京都府中市に関するページは、少なくとも50件以内には決して出現しない。形態素解析技術がなければ、こんな芸当はとてもではないが無理なのである。

まあ、それはさておき。

MeCabはFreeBSDのportsにも収録されている。ぼくは万事にテキトーな人間なので、まずは何でもportsに頼ることにしている。というわけで、例によってmake install。ところが、エラーで止まってしまう。まあ、FreeBSD 4だしな、メジャーバージョンで二つも古いんだもんな、仕方ないかな、と思いつつ、ソースからインストールすることにした。

といっても、portsとそれほど作業が変わるわけではない。configureしてmakeするだけだからだ。ところが、こちらでもコンパイルが途中で止まってしまう。

流石におかしいと思って、Google様に聞いてみると、どうやらgccが古いとエラーで停止してしまうようだった。stringのclear()がないからということで、そのページではソースを修正してコンパイルを通す方法が紹介されていたが、grepしてみたらこれがやたらと多い。ぼくにはとてもそんな気力がない。

そこで、gccの新しいのを入れることにした。これもportsに入っている。どうせなら最新版が良かろうということで4.2を入れた。さあ、これで準備は整った……と思ったら、またエラーが出る。今度はスレッドがどうとかこうとか。困ったな。

落ち着いてMeCabの公式ページを見てみると、コンパイルはg++ 3.4.xで確認済みと書いてある。最初からこれを確認しておけば良かったのだ。そそっかしいにも程がある。眠い目を擦りながら入れたgcc 4.2を泣く泣くアンインストールし、目下gcc 3.4を絶賛make中である。これでちゃんと入るといいなぁ。

posted by 白林檎 at 15:06| Comment(0) | TrackBack(1) | ITもしくはイット | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック


Excerpt: GoogleGoogle(グーグル)は、インターネット上での検索エンジンである。1998年、スタンフォード大学で博士号候補であったラリー・ページとセルゲイ・ブリンによって設立された。彼らはWWW上の情..
Weblog: 世界の企業
Tracked: 2007-12-08 14:39