OmniFind Enterprise Editionが付加するメタデータのマッピング方法

概要
OmniFind Enterprise Editionはクロールした文書に特殊なメタデータを付加します。文書がIBM Content AnalyzerのPEARモジュールに渡されると、 PEARモジュールはこのメタデータをIBM Content Analyzerが認識できる形式に変換します。その後、これらのメタデータはテキスト解析 結果とともに、IBM Content AnalyzerのText Minerで閲覧することができます。
PEARモジュールが行うメタデータの変換は、ユーザがカスタマイズすることができます。デフォルトでは、PEARモジュールはあらかじめ 決められたルールにしたがって変換を行います。
このマニュアルは、OmniFind Enterprise Editionが付加するメタデータの構造と、デフォルトのメタデータ・マッピング、および マッピングをカスタマイズする方法を解説します。
OmniFind Enterprise Editionが付加するメタデータ
OmniFInd Enterprise Editionは「ドキュメント・メタデータ」と「フィールド」の2種類のメタデータを付加します。
ドキュメント・メタデータ はあらかじめ定義されたメタデータの集合で、主にシステムが使用します。 現在、ドキュメント・メタデータには下記のメタデータが定義されています。 すべてのデータに値が常に設定されるとは限りませんので、ご注意ください。また、ドキュメント・メタデータの定義は将来変更される可能性があります。
フィールド は、より柔軟なメタデータです。クローラーは文書をクロールしたときに、デフォルトでいくつかのフィールドを付加します。ユーザは追加のフィールドを定義することができます。 フィールドの値は、文書の一部であることも、そうでないこともあります。詳細についてはOmniFind Enterprise Editionのマニュアルを参照してください。
デフォルトのマッピング
IBM Content AnalyzerのPEARモジュールは、デフォルトのメタデータ・マッピングを備えています。デフォルトでは、PEARモジュールは下記のルールにしたがってメタデータを変換します。
変換元となるOmniFind Enterprise Editionのメタデータ IBM Content Analyzer用に変換されたメタデータ
ドキュメント・メタデータ 「.ofee」で始まるカテゴリ
フィールドのうち、値が文書の外で定義されているもの 「.offield」で始まるカテゴリ
フィールドのうち、値が文書中の部分テキストとして定義されているもの テキストの名前
表の最初の2つでは、メタデータの名前がカテゴリ名となり、メタデータの値がカテゴリの値となります。これらのメタデータをText Minerで表示するためには、カテゴリツリーに対応するカテゴリを作成しておく必要があります。フィールドの値が文書中の部分テキストである場合は、メタデータはその部分テキストのラベルとみなされます。したがって、表の最後の行にあるように、フィールド名がテキストの名前に変換されます。Text Minerは、文書中でどの部分がフィールドによって ラベルづけられているかを表示します。
生成されたMIMLを見ると、OmniFind Enterprise Editionがどのようなメタデータを付加したかがわかります。 メタデータの名前やカテゴリパスを変更したり、削除したりするときには、次節を参照してカスタマイズしたマッピングを作成してください。
カスタマイズしたマッピング
メタデータ・マッピングのための設定ファイルは $PEAR_ROOT/database/conf/ofmapping.xml です。 $PEAR_ROOT はOmniFind Enterprise EditionにインストールされたPEARモジュールのルートディレクトリで、 デフォルトでは $ES_NODE_ROOT/data/pearsupport/PearID N となります。 最初、この設定ファイルは下のようになっています。

<?xml version="1.0" encoding="UTF-8"?>
<metadataMapping>
    <useDefaultMapping />
</metadataMapping>
useDefaultMapping 要素は、デフォルト・マッピングを使うことを示しています。
マッピングのルールを変更するには、この設定ファイルを変更します。 下にサンプルの設定ファイルを示します。

<?xml version="1.0" encoding="UTF-8"?>
<metadataMapping>
    <documentMetadata>
        <metadata>
            <name>url</name>
            <category>.url</category>
        </metadata>
    </documentMetadata>
    <fields>
        <field>
            <name>author</name>
            <textname>Authors</textname>
            <category>.doc.author</category>
        </field>
    </fields>
</metadataMapping>
ここでは documentMetadatafields の2種類の設定が行われています。それぞれが、ゼロ個以上のメタデータの設定をもちます。 メタデータの設定は、下表にある3つのXML要素によってマッピングを指定します。
XML要素 説明
name 変換元となるドキュメント・メタデータまたはフィールドの名前
textname Text Minerで表示されるテキストの名前。変換元がフィールドで、その値が文書中の部分テキストであるとき、Text Minerはその部分テキストのラベルとしてこのXML要素の値を用います。
caetgory 変換されたメタデータのカテゴリパス。指定された変換元メタデータが存在するとき、その値がこのカテゴリに変換されます。このXML要素はすべての種類のメタデータに対して適用可能です。
使用例
ここではサンプル・シナリオを通じてメタデータ・マッピングの使用方法を説明します。 今、DB2データベースに次のような構造化データおよび非構造化データ(テキスト)を含むテーブルがあるとします。
NO (integer) NAME (varchar(50)) VERSION (integer) VENDOR (varchar(30)) COMMENT (varchar(100))
1 DB2 9 IBM Hybrid data server for both XML and relational data.
2 WebSphere Application Server 6 IBM It delivers the secure, scalable, resilient application infrastructure.

このテーブルをOmniFind Enterprise EditionのDB2クローラーでクロールし、カスタマイズしたメタデータ・マッピングをもつIBM Content AnalyzerのPEARモジュールを用いて解析してみます。
このテーブルは、DB2クローラーのクロール・スペースで次のように見えます。デフォルトでは、列の名前がフィールドの名前として用いられます。

マッピングの設定ファイルは以下のように記述します。この定義では、 メタデータ url.url というカテゴリにマップします。 また、フィールド vendor のテキスト名を Vendor にするとともに、 .company カテゴリにもマップしています。

<?xml version="1.0" encoding="UTF-8"?>
<metadataMapping>
    <documentMetadata>
        <metadata>
            <name>url</name>
            <category>.url</category>
        </metadata>
    </documentMetadata>
    <fields>
        <field>
            <name>vendor</name>
            <textname>Vendor</textname>
            <category>.company</category>
        </field>
    </fields>
</metadataMapping>

マッピングにあわせてカテゴリツリーを定義すると、クロールしたデータがText Minerで次のように表示されます。

Text Miner上の「Company」と「OmniFind URL」は、それぞれ上のマッピング定義ファイルの .company.url に相当します。また、右ペインに表示されている文書には、文書全体の内容に加えて、定義ファイルの textname 要素により「Vendor」というラベルがつけられたテキストも表示されています。
このようにメタデータをカテゴリに変換することで、テキスト解析に活用することができます。