本文へジャンプ

Japanese | English

言語処理を行うためのミドルウェア UIMA

文書検索やテキストマイニングを行うためには通常、文書の解析(自然言語処理)が必要となります。 解析の例としては単語の分かち書き、構文解析、属性抽出などがあり、必要な情報がテキストから抽出されアプリケーションで利用されます。 しかしながら、これらの技術を用いたテキスト処理モジュールを開発するには、それぞれに深い知識が必要で、独立に開発されていることが多いのが現状です。 そのため複数の解析技術を組み合わせたシステムを構築するためには、それぞれの技術に精通した多くの専門家と時間が必要となっています。 個々の技術を用いた処理モジュールは数多く存在しており、これらを再利用するなどして有効活用するための共通のデータ構造、そして処理モジュール共通のインターフェースが求められています。 このような背景のもと。2004年12月、IBM基礎研究部門は alphaWorks (IBMの先進的なソフトウェアを配布するサイト)より UIMA SDK を公開しました。 UIMA (Unstructured Information Management Architecture)は文書などの非定型情報管理アプリケーションを構築し配置するためのソフトウェアアーキテクチャーです。これは2006年以降、Apache のプロジェクトにて、オープンソースのソフトウェアとして公開されています。

UIMAでは、文書などの非定型情報を処理するためのデータ構造(Common Analysis System)を定義しています。 また、各処理モジュールが共通に持つインターフェースとして、Analysis Engineを定義しています。 したがって各開発者がそれぞれ、Analysis EngineインターフェースをもったUIMA準拠の 処理モジュールを作成することによって、他の処理モジュールの中で使用されている技術に関する 専門的知識がなくても使用できるようになります。 これにより、アプリケーションの開発の協業が容易に行え、 より大きなソリューションを構築が可能となります。 このように、UIMAは非定型情報と定型情報をつなぐための有用なインフラとして位置づけられます。