IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Open source  >

IBM LanguageWare ではじめるテキスト解析: 第 1 回 統合開発環境の導入

テキスト解析の第一歩

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


レベル: 中級

中山 章弘, ソフトウェア開発研究所, IBM
菅野 啓, ソフトウェア開発研究所, IBM

2008年 12月 12日

多くの企業では、電子メールや業務レポート、ウェブページ、Wikiなど様々なテキストデータが日々作られ、保存されています。これらのテキストデータには、企業が事業を進め、より優れた判断をしていく上で有益な情報が含まれています。しかし、これらのテキストデータはとてもたくさんあるため、今探している情報がどこに書かれているのか見つけることは容易ではありません。本連載ではIBM® LanguageWare®を使って、大量のテキストデータの中から、必要な情報をすばやく見つけだして活用していくための方法についてご紹介します。


はじめに

ソフトウェアを使ってテキストから目的の情報を見つけ出すためには、様々なテキスト解析技術を組み合わせる必要があります。例えば、海外の企業と取引をしたり共同プロジェクトを進めている企業では、書かれるテキストも様々な国の言葉が入り混じってきます。このような場合、まず解析に先立ってそのテキストがどこの国の言葉で書かれているのかを推定しなければなりません(言語推定)。次にそれぞれの言語の文法にあわせてテキストを解析し、そこにどのような単語が書かれているのか見つけ出す必要があります(単語抽出)。このとき英語ならば、「can」(助動詞:できる、名詞:缶)のように一つの単語がまったく意味の異なる複数の品詞候補をもつことも珍しくないので、その中からどれが正しい品詞かを推定しなければなりません(品詞推定)。このように品詞のあいまいな単語は、日本語も含めてどこの国の言葉にもたくさんあります。さらに日本語における動詞や形容詞のように活用形のある単語は、もとの終止形を推定することも必要です(単語の正規化)。これは「書く」で検索したときでも、「書いた」を含むテキストを見つけられるようにするためです。また名詞の中でも特に、日付や金額、会社の名前、地名などユーザーが関心を持つ重要な単語も絞り込んで見つけ出す必要があります(固有表現抽出)。

今回ご紹介するLanguageWareは、このようなテキスト解析技術を備えたツールです。LanguageWareを使うことで、テキストデータにどのような情報が含まれているのかを解析することができるようになります。LanguageWareは英語・日本語・ドイツ語・フランス語・イタリア語など主要な言語を全てサポートしています。

本連載では第1回から第3回までLanguageWareの使い方についてご紹介し、第4回でLanguageWareと検索エンジン(Apache Lucene)を組み合わせて、目的のテキストを検索する方法についてご紹介する予定です。




上に戻る


LanguageWareについて

LanguageWareで提供されるテキスト解析コンポーネントは、UIMAと呼ばれるオープンなフレームワークに基づいて作られています。またLanguageWareではユーザーの作業を支援するため、ランタイム・ライブラリに加えて、LanguageWare Resource Workbench(以下ではワークベンチと略記します)と呼ばれる統合開発環境を提供しています。本連載ではこのワークベンチを中心として説明していきます。

UIMA (Unstructured Information Management Architecture)

テキストを解析するためには、上にあげたように多くのテキスト解析技術を必要とします。多くの場合、それらは別々のコンポーネントになっているため、目的にあわせてコンポーネントを組み合わせなければなりません。しかしそれぞれのコンポーネントをばらばらに管理していたのでは、アプリケーションを開発する人にとっても、使う人にとっても煩雑で負担のかかるものになってしまいます。そのためこれらのコンポーネントを組み合わせて使うための統一フレームワークとして、UIMA(Unstructured Information Management Architecture)が提案されています。UIMAはOASISにより規格の標準化が進められているオープンなフレームワークで、現在Apacheのインキュベーション・プロジェクトとして活発な開発が続けられています。今回ご紹介するLanguageWareもこのUIMAフレームワーク上に組み立てられています。そのためLanguageWareはUIMAに準拠したアプリケーションに組み込んですぐに使うことができます。UIMAの詳細については参考文献を参照してください。

LanguageWare Resource Workbench

LanguageWareでは固有表現の抽出に必要な全ての解析コンポーネントを提供しています。しかしユーザーが望む解析結果を得るためには、個々の解析コンポーネントが使うデータのカスタマイズが必要になります。例えば新しく設立された会社の名前を抽出したいときには、「単語抽出」コンポーネントが使う辞書に名前を追加する必要があります。一般にこれは「1.新しいテキストを解析」、「2.不足しているデータを作成」、「3.データをランタイム形式にビルド」、「4.作成したデータを使って再度テキストを解析し結果が望むものになっているかどうか照合」の4ステップを何度か繰り返すことになります。この作業を効率的に行うために、LanguageWareではテキスト解析のための統合開発環境として、Eclipse Platform上に組み立てられたワークベンチを提供しています。このワークベンチを利用することで、ユーザーの目的に合わせた解析結果を得るために必要なデータを短期間で開発できるようになります(図1)。開発したデータはワークベンチからLanguageWareのランタイム・ライブラリと共に、PEAR(Processing Engine Archive)と呼ばれるUIMAフレームワーク上に組み込み可能なファイル形式で出力することができます。


図 1. LanguageWare Resource Workbenchとテキスト解析のワークフロー




上に戻る


インストール

LanguageWareはalphaWorksで、評価版が公開されています。セットアップに必要なものは、ワークベンチ(LanguageWare Resource Workbench)とサンプル・ワークスペース(LanguageWare Demonstrator)の二つのパッケージです。LanguageWareのランタイム・ライブラリとUIMAのライブラリは、ワークベンチにあらかじめ含まれています。

“Download”のタブを開き、オペレーティングシステムに合わせたパッケージをダウンロードしてください。本連載ではWindows®を例にとって説明していきます。Windows環境では、“lrw.win32.install.exe”と“Demonstrator.exe”が必要になります。

最初にワークベンチをインストールします。ダウンロードした実行ファイル“lrw.win32.install.exe”を起動してください(図2)。


図 2. ワークベンチ・インストーラー : 起動画面

続く画面ではライセンスが表示されます。同意される場合は「Accept」を選択し「Next」をクリックしてください。その次の画面ではインストールするものを選択します。ここではデフォルトの設定のまま進んでください(図3)。


図 3. ワークベンチ・インストーラー : インストールセットの選択

次にプログラムをインストールする場所を指定し、「Next」をクリックしてください。特に理由の無い限り、デフォルトの設定のままで構いません。約320MB必要になります。最後にインストールの設定が表示されますので、内容を確認し「Install」をクリックしてください(図4)。


図 4. ワークベンチ・インストーラー : インストール設定の確認

インストールが終了すると、デスクトップにショートカット・アイコンが作成されます(図5)。


図 5. ワークベンチ ショートカット・アイコン

次に“LanguageWare Demonstrator”をインストールします。これは先ほどインストールしたワークベンチで使うサンプル・ワークスペースになっています。 “Demonstrator.exe”を起動してください(図6)。


図 6. サンプル・ワークスペース・インストーラー : 起動画面

続く画面ではライセンスが表示されます。同意される場合は、「Accept」を選択し「Next」をクリックしてください。次の画面では、サンプル・ワークスペースをインストールする場所を指定してください(図7)。特に理由の無い限り、デフォルトの設定のままで構いません。約420MB必要になります。


図 7. サンプル・ワークスペース・インストーラー : インストール先の選択




上に戻る


起動

デスクトップに作成されたLRWアイコンをダブルクリックして、ワークベンチを起動してください。ワークスペースの場所は先ほど“Demonstrator.exe”をインストールした場所にある“workspace”フォルダを指定してください(図8)。デフォルトの設定でインストールした場合、“C:\Program Files\IBM\LanguageWare\LRW\Demonstrator\workspace”になります。


図 8. Workspaceフォルダの選択

起動すると左端の“LanguageWare Explorer”に“IBM”という名前のプロジェクトが読み込まれます(図9)。


図 9. LanguageWare Resource Workbench

初回起動時のみ、ワークスペースのキャッシュをクリアするために、“IBM”を右クリックし「Refresh」を選択してプロジェクトを読み込み直してください(図10)。


図 10. プロジェクトの再読み込み

“Licenses, Copyrights, & Citations”のフォルダに、このプロジェクトに含まれるデータやプログラムに関するライセンスと著作権がまとめられています。ご一読ください。




上に戻る


サンプルの実行と動作の確認

日本語のテキストから、固有表現として会社名を抽出してみます。サンプル・テキストとして、“IBM”の下にある“Documents/Examples/Japanese Companies.anno”をダブルクリックして開いてください。いくつかの会社名が書かれたテキストになっています。

この“Japanese Companies.anno”を開いたパネルがアクティブになっている状態で、メニューの「Annotations」->「Rule based annotation」を選択してください(図11)。


図 11. Rule based annotationの起動

解析エンジンを起動するための設定パネルが表示されます。左側に表示されているリストが、サンプル・ワークスペースに用意されている設定の一覧です(図12)。今回は日本語で書かれた会社名を抽出したいので、ここから“Find Companies (Japanese)”を選択してください。解析に必要なコンポーネントと、その設定が表示されます。使われるコンポーネントは上から順に、1.言語推定(Document Language)、2.単語抽出・正規化(Lexical Analysis)、3.品詞推定(POS Tagger)、4.固有表現抽出(Shallow Parser)の4つです。


図 12. Rule based annotation 設定

「Run」ボタンをクリックすると解析が始まります。解析が終了すると、右側の“Outline”のパネルに、テキストから抽出された情報の一覧が表示されます(図13)。テキストから抽出された会社の名前は“uima.tt.Company”のところにまとめられてアノテーション(注釈情報)として表示されます。それぞれのアノテーションをクリックして選択すると、サンプル・テキスト中で該当する単語がハイライトされて確認できます。


図 13. アノテーションが表示されたOutlineパネル

このOutlineに現れた“uima.tt.TokenAnnotation”などは“タイプ”と呼ばれ,アノテーションがつけられた単語(トークン)が何を示しているかを表しています。このサンプルでは、会社の名前には、“uima.tt.Company”というタイプのアノテーションがつけられます。このトークンにアノテーションをつける仕組みはUIMAフレームワークにより提供されています。UIMAでは抽出したトークンごとに、他にも様々なアノテーションをユーザーが自分で定義して使うことができます。詳しくは次回以降の連載で解説します。




上に戻る


まとめ

テキスト解析のための統合開発環境である ワークベンチと、そのサンプル・ワークスペースをインストールしました。動作を確認するため、サンプルを使ってテキストから日本語の会社名のような固有表現を抽出しました。このとき4つの解析コンポーネントを使いました。このうち「2.単語抽出・正規化」と、「4.固有表現抽出」のコンポーネントで必要となるデータは、何をテキストから見つけ出したいかによって異なってきます。サンプル・ワークスペースには、英語やドイツ語、フランス語など様々な言語のテキストから、固有表現を抽出するためのサンプルがいくつも含まれています。サンプルの実行の仕方は同じですので、いろいろ試してみてください。

次回からは、ユーザーが探している固有表現を見つけ出すために必要なデータを、ワークベンチ上で開発・カスタマイズする手法をご紹介します。さらにワークベンチからエクスポートしたPEARと検索エンジンを組み合わせて、目的のテキストを検索する方法にも触れていきます。ご期待ください。



参考文献

学ぶために
  • UIMAの概要については、2回シリーズの「UIMA 101: UIMAことはじめ(前編 / 後編)」(developerWorks、2007年3月)で紹介されています。

  • Apache UIMAのサイトでは、UIMAに準拠したコンポーネントやリソースが紹介されています。


製品や技術を入手するために
  • UIMA の開発に必要なSDKはApacheで配布されています。UIMA SDKには、テキスト解析エンジンを開発するためのチュートリアルとサンプル、Eclipseプラグインが付属しています。

  • LanguageWareは、IBM alphaWorksで評価版が公開されています。


議論するために


著者について

中山 章弘は、ソフトウェア開発研究所のエンジニアです。自然言語処理に関するコンポーネントの開発と技術支援を行っています。


菅野 啓は、ソフトウェア開発研究所のエンジニアです。自然言語処理に関するコンポーネントの開発と技術支援を行っています。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ