2010年11月16日火曜日

形態素解析システム

 昔、自然言語処理で実用になったものといえば、「仮名漢字変換システム」や「形態素解析システム」といったところでした。
 当時は、「仮名漢字変換システム」が多くあり、その変換精度を比較する記事が雑誌などを賑わしていたものですが、今はすっかりその陰もなく、「仮名漢字変換システム」を意識して使うという人すら少ないのではないでしょうか。

 自然言語処理だけではなく、あらゆる技術について同じことがいえるのではないでしょうか。
 少し違う話ですが、昔の「電子レンジ」は機能の追加競争状態になっていて、ある段階で機能の飽和状態になり、『機能』より『使い安さ』というようになり、現在では、機能そのものを売りにすることはほとんどなくなってきました。(時折、新しい技術開発により、新機能が追加されることはありますが、以前ほど大騒ぎすることはありません。)
 「仮名漢字変換システム」も同じようです。あれほど、PC関係雑誌を賑わしていた記事を目にすることはほとんどありません。大部分の企業は撤退し、ある意味、勝ち組の企業だけが生き残っていると観ることもできるでしょうか。

 「仮名漢字変換」は、かな文字で入力された文を、漢字に変換するもので、ユーザが直接触れる機能です。
 一方、「形態素解析システム」は、新聞記事や書籍やユーザ入力文などの、いわゆる「かな漢字混じり文」を解析し、それを、「名詞」や「動詞」などごとに区切るものです。これは、一般ユーザにとっては直接的には、何の意味もありません。
 しかし、実はすでに「検索システム」や「会話システム」などに利用されていて、実用に供されている技術です。

 形態素解析システムの開発は、企業よりは、むしろ大学での研究が進んでいるようで、「ChaSen」や「MeCab」など、ほぼ自由に利用できるシステムが存在します。(正確には、各ライセンスを確認してください)
 基礎技術も、ほぼ固まっており、それらの情報はほとんど公開されています。

 さて、自然言語処理を会社としての旗頭として掲げている会社が、独自の形態素解析システム程度が用意できていないというのでは話になりません。
 それは、プライドの問題というのではなく、出来合のシステムでは、応用技術開発の際に小回りが利かなくなる場合があるからです。使い方によっては、システム自体の性能を引き出せずに、逆に非効率になってしまうこともあります。
 前述のように、形態素解析システムにおける技術はすでに固まっているし、ほとんど情報は公開されている訳ですから、それを用いて開発することは可能です。

 ところがその一方で、「自然言語処理をやってます」という会社の中で、本当に自然言語処理の開発をやっている/できる(能力がある)人はそれほど多くありません。
 実際の製品開発においては、UIであったりデザインであったり、どういう使い方を提案するとか、様々な課題が存在します。プログラム開発はその一部であり、その中核技術であるはずの自然言語処理開発は、さらにその一部にしか過ぎないのが現実です。
 その結果として、形態素解析システムの開発にすら手をつけることができないので、期待する性能が出せないという、本末転倒な状態が存在しています。

 その会社では、形態素解析システム「Juman」を使い続けていました。これは、「ChaSen」よりさらに古いシステムですが、ある機能を必要としていたために、別の形態素解析システムへの移行ができませんでした。
 そこで、新規開発を提案したのですが、最初は、話すら聞いてもらえませんでした。すでに動いているものを差し替えるメリットが理解してもらえなかったのです。そこで、速度・精度・メンテナンス性についての説明を粘り強く行い、結局2ヶ月たって受け入れてもらうことができました。

 その後、プログラム開発は・辞書開発をあわせて2ヶ月で仕上げ、ほぼ同じ精度で速度を約10倍近くに上げることができました。精度向上のためのメンテナンス法も改善したため、それまでのメンテナンスより遙かに短い期間で精度を大幅に向上させることができました。
 今度は、それに味をしめたのか、形態素解析システムとは関係ない機能までも詰め込もうとしたので、その開発からは手を引きました。

 要素技術・応用技術として何を作り上げるのか、そして製品としてユーザに何を提供していくのか。
 その目標を明確にしていきたいものです。