Integrating IBM Classification Module categories
IBM Content Analyzer は、IBM Classification Moduleによって割り当てられた文書分類の結果を統合する機能を提供します。
IBM Classification Moduleは、構造化されていない文書を自動的に分類する様々なアプリケーションの基盤となります。IBM Classification Moduleによって割り当てられるカテゴリは、 文章が特定の集合に属するということを示すために付けられるラベルです。カテゴリは、文章の内容を象徴したり、その属性、例えば、情報源を示すことが可能です。一般的に、個々のカテゴリは、Relationship Modeling Engineを利用可能なアプリケーション内で固有に使用されます。 Classification Workbenchは、訓練用のコーパスの中で示されているカテゴリを基に、Knowledge Base内にカテゴリを作成します。
IBM Classification Moduleに関する情報については、以下のURLを参照してください。
http://publib.boulder.ibm.com/infocenter/classify/v8r5/index.jsp
概要
IBM Content Analyzerには、ICM統合ツールと呼ばれるツールが提供されています。このツールを利用して、 IBM Classification Moduleによって割り当てられた文書の分類情報をIBM Content Analyzerのカテゴリに統合することができるようになります。 製品がサポートするプラットフォーム上で動作するJVMの上で実行され、独立したコマンドラインツールとして提供されます。このツールは、MIMLファイルからテキスト項目を読み出し、それをIBM Classification Moduleに送ります。IBM Classification Moduleが付与したsuggestionと呼ばれる分類情報を受け取り、MIMLファイル内の対応する文書のstandard featuresとして割り当てます。
ICM統合ツール(実行ファイル:TAKMI_ICM2MIML)のシステム概要図は次のようになります。
Fig1. TAKMI_ICM2MIMLツールの概要
前提ソフトウェア
IBM Classification Module V8.5
クライアントモジュール, bns.jar, および、Libディレクトリにある全てのjarファイルをTAKMI_ICM2MIMLのjavaクラスパスに配置する必要があります。
IBM Content Analyzer V8.4.2
Mapping between IBM Classification Module suggestions and IBM Content Analyzer categories
IBM Classification Moduleが付与したsuggestionをIBM Content Analyzerのカテゴリに割り当てる方法は2通りあります。
標準マッピングIBM Classificatin Moduleから取得した分類情報をIBM Content Analyzerの1つのStandardFeature要素にマップします。このStandardFeatureは、IBM Classification Moduleから得られた分類であることを示すもので、IBM Classification Moduleに割り当てられた全てのsuggestionが共通のカテゴリに入れられ、その値はカテゴリのキーワードとして扱われます。
カスタマイズドマッピング標準マッピングの代わりに、IBM Classification ModuleのsuggestionとIBM Content Analyzerのカテゴリとのマッピングをユーザーに合わせて変更することができます。全てのカスタマイズドマッピングは、プロパティファイルを使用して、明示的に指定する必要があります。 1つのIBM Classification Moduleのsuggestionは、1つの適当なIBM Content Analyzerのカテゴリに関連付けられていなければなりません。必要な場合は、異なるsuggestionを1つの同じカテゴリに割り当てることができます。 しかしながら、1つのIBM Classification Moduleのsuggestionを複数のIBM Content Analyzerカテゴリに割り当てることはできません。
IBM Classification Moduleは、1回の呼び出しでスコアと共に複数のsuggestionを返すことが可能です。このツールは、その内、最も高いスコアを持つsuggestionをIBM Content Analyzerのカテゴリとして扱います。他のsuggestionsは、無視されます。
To map suggestions to categories
1.IBM Classification Moduleが返す分類情報(suggestion)を保持するカテゴリの定義
- IBM Classification Moduleの分類情報(suggestion)を関連付けるカテゴリをcategory_tree.xml fileに定義する。
- 標準マッピングのために最低1つのカテゴリを準備する。
- カスタマイズドマッピングを利用するためには、IBM Classification Moduleの分類情報(suggestions)に対応するカテゴリをそれぞれ定義する。
カテゴリの作成方法については、運用ガイドの2.3章 "カテゴリツリーの設計"を参照。
2. IBM Classification Moduleへのコネクションとマッピングの構成
ICM統合ツール、TAKMI_ICM2MIMLが使用する構成ファイルにIBM Classification Moduleに接続するために必要なパラメータを指定する。また、IBM Classification Moduleの分類情報(suggestion)とIBM Content Analyzerのカテゴリとのマッピングを同じ構成ファイルに指定する。
サンプルの構成ファイル, icmbridge_sample_configuration.xmlが、%TAKMI_HOME%/resourceディレクトリの下に提供されている。構成ファイルを使用した構成方法については、"Configuration parameters"の章を参照のこと。
3. システム環境変数 ICM_HOMEの指定
IBM Classification Moduleのインストールディレクトリをシステム環境変数 ICM_HOMEに設定する。
4. ツールの実行
シェル・コマンド takmi_icm2mimlを実行し、文章分類の結果を統合するJavaのプログラムを起動する。
5. インデックスの作成
takmi_icm2miml コマンドは、IBM Classification Moduleが割り当てた分類情報を含むMIMLファイルを生成します。この新たに生成されたMIMLファイルからインデックスを作成すると、TEXT MIMERから分類情報を見ることができるようになります。
インデックスを作成するためのコマンド(例:takmi_index.bat)を実行する前に、入力ファイルとして指定した元のMIMLファイルのファイル拡張子をMIML以外の拡張子に変更します。ファイル拡張子を"miml"のままにしておくと、インデックス作成の処理を行う際に、誤って元のファイルも一緒に読み込まれてしまい、統計情報の誤りの原因となります。
インデックスの作成方法については、運用ガイドの5章"Indexing"を参照してください。
6. 結果の分析
IBM Classification Moduleから返された分類情報(suggestion)は、構成ファイルで定められたカテゴリにマップされます。 そして、その結果は、TEXT MINERを利用して、表示、分析することが可能になっています。
TEXT MINERの起動方法については、Text Minerガイドを参照。
Configuration parameters
ツールの構成は、次のトップレベル要素を持つXMLファイルに保持されます。
- server
- <server> 要素は、IBM Classification ModuleのURLを指定します。この要素の指定方法は次の通りです。
<server>
<url>http://localhost:18087/</url>
</server> |
- rmeConfiguration
- <rmeConfiguration>要素は、IBM Classification ModuleのRelationship Modeling Engine (RME)が使用するパラメータを指定します。 この要素の指定方法は次の通りです。
<rmeConfiguration>
<knowledgeBase>my knowledge base</knowledgeBase>
<dictionary>my dictionary</dictionary>
</rmeConfiguration> |
rmeConfiguration 要素に含まれる要素:
Element |
Description |
|
knowledgeBase |
IBM Classification Moduleのサーバ上で利用可能なknowledge baseの名前。 IBM Classification Module は、このknowledge baseに定義されているルールに従って、文章を分類します。 |
必須 |
dictionary |
IBM Classification Moduleのサーバ上で利用可能なdictionaryの名前。 文章は、ここで指定されたdictionaryを介して分類されます。複数の “dictionary” 要素を定義することができます。対象となるIBM Classification Moduleのサーバ上で利用できないdictionaryは無視されます。最低でも1つの有効なdictionaryを指定する必要があります。複数のdictionaryが利用可能な場合は、最初に利用可能と判定されたdictionaryが使用され、その他のdictionaryは無視されます。 |
必須 |
1組のKnowledge Baseとdictionaryの組み合わせのみがサポートされます。複数のKnowledge Base、または、 dictionaryを使用したい場合は、ツールを複数回実行する必要があります。
- suggestionMappings
- <suggestionMappings> 要素は、IBM Classfication Moduleの分類情報(suggestion)とIBM Content Analyzerのカテゴリとのマッピングを指定します。 この要素は、1つの <standardFeature> 要素と複数の<dynamicPath> 要素から構成されています。 この要素の指定方法は次の通りです。
<suggestionMappings>
<standardFeature category=".icm_suggestion" notclassified="UNKNOWN"/>
<dynamicPath suggestion="ICM suggestion #1" category=".icm_suggestion.subcategory1"</>
<dynamicPath suggestion="ICM suggestion #2" category=".icm_suggestion.subcategory2"</>
...
</suggestionMappings> |
suggestionMappings要素に含まれる要素:
Element |
Description |
|
standardFeature |
category 属性を用いて、対象となるIBM Content Analyzer のstandard featureのカテゴリパスを指定します。 IBM Classification Moduleが返した分類情報(suggestion)は、 category属性に指定されたstandard featureの値として使用されます。 IBM Classification Moduleが分類情報を返さなかった場合は、 notclassified属性に指定された値を使用します。 |
必須 (notclassified 属性はオプション) |
dynamicPath |
IBM Classification Moduleの分類情報(suggestion)とIBM Content Analyzerのstandard featureのカテゴリパスとの動的なマッピングを定義します。この要素は、‘suggestion’ と‘category’ の2つの属性が必要です。 IBM Classification Moduleによって返された分類情報が'suggestion'属性に指定された値と同じ場合、'category'属性に指定された値が、文書のカテゴリとしてMIMLファイルに追加されます。 複数の dynamicPath 要素を定義することができます。 |
オプション |
- output
- <output> 要素は、このツールが生成するMIMLファイルのベース名を指定します。この要素の指定方法は次の通りです。
<output useTimeStamp="true">
<basename>output_miml_file</basename>
</output> |
output要素に含まれる要素:
Element |
Description |
|
basename |
出力MIMLファイルのベース名。この要素が指定されていない場合、入力ファイルのベース名が使用される。 |
オプション |
useTimeStamp属性が"true"に設定されている場合、 出力MIMLファイルはbasename_YYYYMMDD_HHMMSS_N.miml という名前で作成されます。ここで、 YYYYMMDD_HHMMSSは、システムのタイムスタンプであり、Nはファイルに固有の整数値を示します。