2 IBM Global Name Recognitionとの統合

この章では、EDQとIBM Global Name Recognition (GNR)を統合する方法を説明します。

IBM GNRに接続するようにEDQを構成し、名前の言語分析や、言語学的見地による名前検索を容易に実行できます。

この章の内容は次のとおりです。

システム要件

EDQとIBM GNRとの接続を有効にするには、次のものが必要です。

  • 64ビットJavaを実行している64ビットAIXオペレーティング・システムまたはLinuxオペレーティング・システムにインストールされているEDQ 12c (12.2.1.1.0)

  • GNR 4.2.2 (4.2 +4.2.2修正パック)に基づく修正プログラムを含むIBM GNR 4.2.1 (4.2 + 4.2.1修正パック)以上。詳細は、IBM Webサイトhttp://www.ibm.comを参照してください。

    EDQは、GNRで提供されるどのWebサービスも使用しないため、GNRのインストール中にそれらを構成する必要はありません。

    注意:

    GNRは、オラクル社とIBM社の双方と必要なライセンス契約を締結している場合にのみ、EDQインスタンスにインストールできます。

EDQサーバーの構成

インストール環境の要件に従ってLD_LIBRARY_PATHを設定する必要があります。

EDQ GNR分析プロセッサでは、GNRインストールのlib64ディレクトリの共有ライブラリ(.so)を使用します。このディレクトリは、EDQサーバーに渡される環境変数に指定する必要があります。

Linux 64ビット環境では、環境変数は次のようにLD_LIBRARY_PATHです。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:gnr-installation-dir/lib64

gnr-installation-dirは、GNRのインストール・パスです(/opt/GNR/GNMなど)。

AIX環境では、環境変数名はLD_LIBRARY_PATHではなくLIBPATHです。

注意:

環境変数は、アプリケーション・サーバー・プロセスで使用可能である必要があります。

検索ライブラリの作成

GNR検索プロセッサでは、GNRライブラリにリンクされている必要のあるネイティブ・ライブラリを使用します。

ライブラリの作成用に次のファイルが提供されています。

  • 2つのMakefileテンプレート(プラットフォームごとに用意された、検索ライブラリの作成方法を記述したファイル)

  • namehunter.oオブジェクト・モジュール・ファイル

AIXシステムでライブラリを作成する場合、IBM C++が使用できる必要があります。Linuxシステムでライブラリを作成する場合、GCC C++コンパイラが使用可能で、かつ、IBM GNRドキュメントに指定されているとおり、GNRライブラリの作成時に使用したものと同じバージョンである必要があります。

64ビットAIXオペレーティング・システムのMakefileテンプレートは、次のとおりです。

# Build library from object file
# ------------------------------

GNR=/opt/GNR/GNM
CFLAGS=-qmkshrobj
LIBS=-lNameHunter -lNameTransliterator -lsicui18n -lsicuuc -lsicudata
SDK=aix61_64-xlc9-release
LIBDIRS=-L$(GNR)/sdk/$(SDK)/lib -L$(GNR)/sdk/icu4c/$(SDK)/lib

all: libnimrod.so

libnimrod.so: namehunter.o
    	xlc++_r -q64 $(CFLAGS) -o $@ $? $(LIBDIRS) -lNameHunter -lNameTransliterator 
-lsicui18n -lsicuuc -lsicudata

64ビットLinuxオペレーティング・システムのMakefileテンプレートは、次のとおりです。

# Build 64-bit library from object file
# --------------------------------------

GNR=/opt/GNR/GNM
CFLAGS=-shared -fPIC

all: libnimrod.so 

libnimrod.so: namehunter.o
    	g++ -m64 $(CFLAGS) -o $@ $? -L$(GNR)/sdk/rhel4_64-gcc34-release/lib 
-L$(GNR)/sdk/icu4c/rhel4_64-gcc34-release/lib -lNameHunter -lNameTransliterator 
-lsicui18n -lsicuuc -lsicudata

使用中のプラットフォームでMakefileスクリプトを実行する前に、MakefileテンプレートのGNRの値が、GNRインストール・ディレクトリの場所に従って正しく設定されていることを確認してください。同様に、AIXオペレーティング・システムでは、SDKの値がシステム・アーキテクチャに従って正しく設定されていることを確認してください。

編集済のMakefileの実行後、新しく作成したlibnimrod.so共有ライブラリ・ファイルは、任意の場所にインストールしたり、GNRインストールが含まれる他のシステムにコピーできます。

GNRコネクタの構成

EDQ GNRコネクタには、GNRと統合するために次の3つのタイプの構成ファイルが必要です。

  • EDQインストールのgnr.propertiesプロパティ・ファイル

  • GNRインストールのnameworks.config構成ファイル

  • EDQインストールの検索構成ファイル

EDQ GNRプロパティ・ファイルの作成

gnr.propertiesファイルとそれを格納するgnrサブディレクトリを手動で作成し、EDQ構成ディレクトリのgnrサブディレクトリに配置する必要があります。これには次のプロパティが含まれる必要があります。

gnr.install

GNRのインストール・パス。これは、次のGNRサブディレクトリを格納するディレクトリへのパスです。

  • bin

  • bin64

  • data (GNRデータ・ファイルを格納)

  • lib

  • lib64

analytics.config

GNRインストールのnameworks.config構成ファイルの絶対位置。

search.jnilib

Makefileテンプレートを使用して作成されたlibnimrod.so共有ライブラリの絶対位置。

nameworks.config

GNRのインストール中に、nameworks.configファイルが作成され、GNR dataディレクトリに格納されます。

nameworks.configファイルで特に重要な部分は、次の参照ファイル・セクションです。

[Reference Files]
NameSifter=/opt/GNR/GNM/data/SifterRules.ibm

NameSifterの値は、GNRインストールのSifterRules.ibmファイルを参照している必要があります。

検索構成ファイルの作成

検索構成ファイルは、EDQ構成ディレクトリのgnr/searchサブディレクトリにあります。これらはコネクタに読み取られ、検索機能のパラメータを設定するために使用されます。

search.configというサンプルの検索構成ファイルが、EDQインストールのsupport/data/searchサブディレクトリにあります。検索構成ファイルを作成するには、このサンプル・ファイルをEDQ構成ディレクトリのgnr/searchサブディレクトリにコピーして、そのコピーを必要に応じて編集します。

検索構成ファイルのGNR 3.2およびGNR 4.2のサポート

検索構成ファイルの形式は、GNR 3.2からGNR 4.2への移行で若干変更されており、EDQ GNRコネクタでは、可能なかぎり両方のバージョンがサポートされます。また、組織検索でもデータが処理されます。

GNR 3.2とGNR 4.2の検索構成ファイル間の基本的な違いは、次のとおりです。

  • GNR 4.2では、[hunter]セクションにパラメータ・ファイル(タグやバリアントなど)を指定します。GNR 3.2では、[search]セクションを使用します。EDQ GNRコネクタは、最初に[hunter]セクションを検索し、次に[search]セクションを検索します。

  • GNR 4.2のタグおよびバリアント・ファイルは、ibmTaqFilecustTaqFileなどのキーによって指定されます。GNR 3.2では、単純にtaqFileが使用されます。EDQ GNRコネクタは、taqFileibmTaqFileおよびcustTaqFileを検索し、それぞれ検出されたものをロードします。バリアントおよび用語ファイルにも同じルールが使用されます。

  • 汎用正規化ファイルは、特定のgenericRegFile設定によって設定されますが、GNR 3.2では、これは常にデフォルトでanglo正規化ファイルに設定されます。

  • [parms]セクションに追加された設定と、削除された設定があります。