検索アプリケーションの機能の概要

Watson™ Explorer Engine は、ユーザーによるエンタープライズ情報の検索とナビゲーションを容易にするアプリケーションを作成するためのツールです。Watson Explorer Engine は基本的なアプリケーション・フレームワークを提供し、Watson Explorer Engine 管理ツールはそのフレームワークを使用するアプリケーションの構成と構築をサポートします。Watson Explorer Engine フレームワークは、豊富な一連の構成オプションに対して注意深く選択されたデフォルト値を提供し、強力な検索アプリケーションを素早く簡単に作成できるようにしています。より多くの機能が搭載された Watson Explorer Engine は、想像できるあらゆるエンタープライズ情報ナビゲーション・アプリケーションを作成できる能力を有しています。

以下の図は、Watson Explorer Engine 用語でプロジェクトと呼ばれる (プロジェクトを参照)、Watson Explorer Engine アプリケーションの核となる操作を示しています。図の下にはプロセスの概要を示しています。本書をオンラインで表示する場合は、図中の青いボックスをクリックして、ステップの詳細について確認することもできます。

図 1. Watson Explorer Engine の概要

この図では、大きいボックスは Watson Explorer Engine を表し、小さい青色のボックスは Watson Explorer Engine の処理ステップです。

オレンジ色のボックスは、Watson Explorer Engine を駆動する構成情報を表し、各ボックスは、それらが駆動する処理ステップに点線で結ばれています。「Project Options」というラベルの付いたオレンジ色のボックスは、個々の処理ステップに結び付けられていません。これは、プロジェクトは、単一のステップではなく、処理のさまざまな段階で適用されるパラメーター設定の大規模なセットであるためです。また、「Project Options」は、適用したり、リポジトリーから取得したりする必要のある構成項目 (入力フォームなど) を指定します (リポジトリーを参照)。

実線上のラベルは、個々の検索要求がシステムを通過するときに、その処理の各段階で作成されるデータを示しています。すべてのデータは XML で表わされ、処理の各ステージで、新たに作成されたデータが、1 つの検索要求の処理の現行状態を保持する内部オブジェクトに追加されます。処理は、このオブジェクト内の XML によって駆動されます。その変換処理には、標準の XSL 変換によって行われる部分と、Watson Explorer Engine に対して特別な意味を持つ XML エレメントの解釈により行われる部分があります。

図に示すとおり、ユーザーがブラウザーから検索を開始します。Watson Explorer Engine はセッション情報を保持しません。そのため、すべての必要な情報は、CGI パラメーターとして HTTP GET 要求に含めます。Watson Explorer Engine は、入力 URL をデコードし、検索の初期仕様をパラメーター設定のセットとして作成することにより、処理を開始します (処理の初期化を参照)。関連するすべての構成項目 (入力フォームやソース・フォームなど) は、処理の後半まで作用し始めることはありませんが、この時点で、プロジェクト固有のオプションに指定されたパラメーターを使用してリポジトリーから実際にロードされます (リポジトリーを参照)。使用するプロジェクトの名前は、CGI 入力パラメーターの 1 つです。

次のステップは、プロジェクトに関連付けられた入力フォームを使用して、照会入力を正規化することです (照会入力の正規化を参照)。入力フォームは、プロジェクトで扱われるフィールド、および受け入れられる構文を示します。ほとんどのプロジェクトには、ユーザーの検索ストリングに対応する照会フィールドがありますが、多くの場合、その他の重要な情報 (ターゲット言語や検索の制限対象となるドメインなど) も提供しています。フィールドに内部構造 (検索ストリング内の AND、OR、および NOT など) が含まれる場合、それらはこのステップ中に解析され、構造化された XML で表わされます。

Watson Explorer Engine では、照会が正規化され、構造化されたバージョンになると、照会に対する結果を検出する際に検索する各ソースに適合するようにその照会を変換する準備が整います。これらの各ソースで異なる構文が必要になることがあるため、Watson Explorer Engine はソース・フォームをインスタンス化します (ソース・フォームのインスタンス化を参照)。これらのソース固有の表現は、正規化された照会およびソース固有のソース・フォーム (ソースで処理できるフィールド、およびそれらがサポートするロジックについての情報が含まれています) から導出されます。多くの場合、これには正規化された照会からの情報の再調整が必要になります。

ソース・フォーム・インスタンスは XML で表わされるため、ソースに結果を問い合わせる前の最終ステップは、ソース固有の呼び出しを生成することです (ソース固有呼び出しの生成を参照)。つまり、Web ベースのソースの場合、最も一般的には、URL ストリングに変換して、それを適切な Web サーバーに送信します。その後、Web サーバーは、結果が含まれた HTML または XML を返します。ソースが Watson Explorer Engine 検索エンジンによって実行される場合は、XML が返されます。ソースを照会するときには、SOAP 呼び出しの実行やデータベースへのアクセスなど、他の多くのことが実行される可能性があります。リモート・ソースへの呼び出しが標準的なタイプ (URL やデータベース呼び出しなど) である場合、Watson Explorer Engine は、ソース定義のみを使用して呼び出しを作成できます。さらに特殊な変換が必要になる場合もあります。これは 2 次パーサーで行われます。

結果がすべてのソースから取得されると、Watson Explorer Engine が結果を単一の検索リストに結合できるように、それらの結果を解析する必要があります (ソース結果の解析を参照)。この解析は、ソース固有のソース・パーサーを介して実行されます。このソース・パーサーは、結果から情報を取り出し、正規化された形式で結果文書のリストを作成します。続いて、これらの文書が結合されます (結果の文書の結合を参照)。デフォルトでは、このマージで個々のリストの順序が維持され、リストはラウンドロビン方式で結合されます。他の順序付けも可能です。例えば、プロジェクト・オプションからの情報によって駆動される、特定の結果の再ランク付けやランキング調整などがあります。

次のステップは、Watson Explorer Engine で排他的クラスタリング機能を使用して、リストの結果をクラスター化することです (結果のクラスター化を参照)。Watson Explorer Engine は、コンテンツの類似性に基づいて文書をクラスターにグループ化し、文書内で検出した語句を使用して、クラスターごとに記述名を決定します。クラスターは、大規模なクラスターをさらにサブクラスターに分割したツリー状に配置されます。クラスタリングは、例えば、不明瞭な用語を無視したり、他の用語を同等の用語として扱ったりするなど、個々の語句を扱う方法についての情報が含まれた知識ベースを指針として行われます。

最後の Watson Explorer Engine ステップは、結果をレンダリングしてユーザーに表示することです (結果のレンダリングを参照)。これは、XSL ディスプレイ仕様によって駆動されます。デフォルトのディスプレイ仕様は、ロゴやカラー・スキームを変更するように簡単に構成できます。さらに細かく設定することで、希望する外観にすることができます。デフォルトでは、作成された結果ページには、(入力フォームから得られた) HTML フォームが含まれます。ユーザーはこの HTML フォームにより、同じプロジェクトを使用して、このサイクルを再び開始することにより、新規の HTTP 検索要求を作成できます。

本書の次のいくつかのセクションでは、このプロセスの各ステップについて詳細に説明します。このプロセスの最初のステップについては、処理の初期化を参照してください。