【コラム】
ITの世界は理系の人間が幅をきかせていると思われがちだが、システムインテグレーションの現場では、意外と文系的な素養が求められることも多い…… などという無理なこじつけはさておき、今回は「日本語」を扱う上で欠かせないツールを紹介しよう。
以前、「MUSASHI」というオープンソースのツールを使って「データマイニング」の基本的な手法を紹介したことがあったが、データはなにもデータベースやXMLとして整理されたものばかりではない。むしろ日本語なら日本語という自然言語で記述されたデータの方が、量的には圧倒的に多いはずだ。例えば、顧客や同僚と毎日のようにやりとりしているメールなどは、データとしてみれば宝の山だし、実際昔のメールを消せずにずっと残しているという人も多いだろう。ただ、日々増え続けていくメールを溜まるがままにしておいても、せいぜいメールソフトの検索機能を使って備忘録にするぐらいしか有効な使い道はない。せっかく溜めたメールなら、もっと徹底的に活用したいではないか。そこで重要になるのが、データマイニングの技術の中でも自然文を分析対象とする「テキストマイニング」の技術だ。
ところが日本語という言語は、ただでさえ文字の種類や数が多くコード化がやっかいなうえ、文法的にもややこしい品詞の「活用」などがあって、単純なルールに則った処理を行いにくい。また、欧米の言語のように単語毎にスペースで区切られることもないので、たかだか文章を単語に分割するだけのことが非常に難しくなってしまう。英語ならスペース区切り毎に文章を分割すれば、「単語毎の出現回数」などの分析は簡単に行える。活用も単数形・複数形、現在形・過去形・過去分詞程度の違いが主なので、正規表現などを使えばかなり高度な処理も簡単に行えるだろう。日本語はそうはいかない。システム屋をやっていると、つくづく因果な言語の国に生まれついてしまった、と我が身の不幸を憂えることも少なくないのだ。
しかし、オープンソースの世界にはそんな悩みも一挙に解決してくれる便利なツールがある。今回取り上げるのは、奈良先端科学技術大学院大学で開発された「茶筌(ChaSen)」というソフトウェアだ。茶筌は、自然文を解析して「それ以上分割できない最小の文字列(形態素)」に分割する、いわゆる「形態素解析」の処理を行うソフトウェアだ。
茶筌は、プログラム(ChaSen)と辞書(ipadic)に分けて配布されている。Debian GNU/Linuxなど一部のLinuxディストリビューションでは、ライセンスの関係でipadicではなくcannadicが利用されることもあったが、それも現在は解決に向かっているようで、基本的にはChaSenとipadicの一組で茶筌というソフトウェアの機能が実現されていると考えて良い。
導入は、一般的な環境なら至って簡単。最新バージョンをWebサイトから取得し、それぞれについてお約束のconfigure、make、make installを実行するだけだ。ただ、ChaSenは辞書の検索に「Darts (Double-ARray Trie System)」というC++テンプレートライブラリを利用しているので、これをあらかじめインストールしておく必要がある。また、いくつかのプラットフォームではコンパイルがうまくいかないことがあるので、ここでは参考として、chasen-2.3.3を利用することを前提に特に注意すべきことをまとめておこう。
Fedora Core 3で採用されているGCC 3.4は従来よりキャストが厳格になっており、makeが「ISO C++ forbids cast to non-reference type used as lvalue」というエラーで停まってしまう。これを回避するには、lib/dartsdic.cppの180行目あたりを以下のように変更する。
Mac OS X 10.3の場合、configureファイルの8548行目あたりを以下のように変更してから実行する。
Fedora CoreやMac OS Xなど、デフォルトの文字エンコーディングがUTF-8のプラットフォームでは、辞書をUTF-8に変換しておいた方が使い勝手がいいだろう。まず、ipadicの*.dic、*.chaファイルを全てUTF-8に変換する。nkfがインストールされていれば、以下のようなシェルスクリプトで一括して変換するのが楽だ。
UTF-8への変換ができたら、以下のコマンドで辞書を生成する。
最後に、設定ファイル/usr/local/etc/chasenrcもUTF-8に変換する。
chasenを実行する際にも、必ず「chasen -i w」として、明示的にUTF-8エンコーディングによる入力を指定しよう。
以上、ChaSenとipadicがインストールできたら、適当な日本語の文章を解析してみよう。
自然文が単語ごとにばらばらに分割され、読みや品詞、活用形が表示された。ChaSenの基本的な機能はこのようなものだ。次回は、これを実際の仕事に活かすことを考えてみよう。
| ソニー、A4サイズの薄型軽量デジタルペーパー端末を開発 [00:00 5/18] |
| 最大2200万件のID流出の可能性 -Yahoo! JAPANのID管理サーバに不正アクセス [23:03 5/17] |
| Google、Gmailに送金機能 [19:09 5/17] |
| Firefox、プライバシー問題でCookieの実験開始へ - 22から [18:37 5/17] |
| 【レポート】"HANA"でビジネスの境界を拡大 - SAPのCTOがUIやHANAクラウドの生まれ変わりに向けた取り組みを披露 [18:00 5/17] |
|
ニュルブルクリンク24時間耐久にチャレンジするスバルがレースを生中継! 日本時間2013年5月19日23時〜!! [23:00 5/19] ライフ |
|
ももクロ、『5TH DIMENSION』ツアーのBD&DVDとアナログ盤アルバムを発売! [22:30 5/19] エンタメ |
|
[ハローキティ]モー娘。と「LOVEマシーン」披露 初コラボにノリノリ! [22:01 5/19] ホビー |
|
元AKB48&SDN48の小原春香、総選挙は「野呂さんとめーたんには負けたくない」 [22:00 5/19] エンタメ |
|
今年で28歳の太田千晶、婚活に意欲「見た目はイケてなくても優しかったら!」 [22:00 5/19] エンタメ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。