(57)【要約】訓練可能で拡張可能な自動化データ／知識翻訳機が記載されている。本発明の一局面は、コンピュータ化システムによりデータの処理を統治する、ユーザによって指定された規則を格納する少なくとも１つのリポジトリと、その規則に従ってデータを処理し且つそのデータから知識を生成する少なくとも１つの処理モジュールとを有するコンピュータ化システムを含む。本発明の別の局面は、データを知識に翻訳する、コンピュータ化された方法である。コンピュータ化された方法は、データを知識に翻訳するコンピュータ化システムの挙動を統治するためユーザによって指定された規則を設けるステップと、データを前記規則に従って処理して知識を生成するステップとを含む。本発明の更なる局面は、コンピュータ可読媒体に格納され、データを知識に翻訳する方法を実行するコンピュータ実行可能命令を有する上記コンピュータ可読媒体である。そのコンピュータ化された方法は、データを、非構造化された形式で受け取るステップと、データを中立形式に変換するステップと、ユーザによって指定された規則に従ってデータを処理してデータを中立形式から知識に翻訳するステップと、知識を知識リポジトリにエクスポートするステップとを備える。【選択図】図１
2004502993.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ化システムによりデータの処理を統治する、ユーザによって指定された規則を格納する少なくとも１つのリポジトリと、
前記規則に従ってデータを処理し且つ当該データから知識を生成する少なくとも１つの処理モジュールと
を備えるコンピュータ化システム。
【請求項２】
前記少なくとも１つのリポジトリ及び前記少なくとも１つの処理モジュールを制御するシステム・エグゼクティブを更に備える、請求項１記載のコンピュータ化システム。
【請求項３】
ユーザがユーザによって指定された規則を作成し、修正し、削除するのを可能にするユーザ・インタフェースを更に備える、請求項１記載のコンピュータ化システム。
【請求項４】
前記ユーザによって指定された規則はパケット構成規則である、請求項３記載のコンピュータ化システム。
【請求項５】
前記ユーザによって指定された規則はテキスト抽出規則である、請求項３記載のコンピュータ化システム。
【請求項６】
前記ユーザによって指定された規則はパケット・エクスポート規則である、請求項３記載のコンピュータ化システム。
【請求項７】
前記ユーザによって指定された規則はパケット・ディスパッチ規則である、請求項３記載のコンピュータ化システム。
【請求項８】
前記少なくとも１つの処理モジュールはテキスト抽出モジュールである、請求項１記載のコンピュータ化システム。
【請求項９】
前記少なくとも１つの処理モジュールはパケット・エクスポート・モジュールである、請求項１記載のコンピュータ化システム。
【請求項１０】
データを中立フォーマットに変換するインポート・フィルタを更に備える、請求項１記載のコンピュータ化システム。
【請求項１１】
知識を知識リポジトリにエクスポートするエクスポート・モジュールを更に備える、請求項１記載のコンピュータ化システム。
【請求項１２】
データを知識に翻訳する、コンピュータ化された方法において、
データを知識に翻訳するコンピュータ化システムの挙動を統治するためユーザによって指定された規則を設けるステップと、
データを前記規則に従って処理して、知識を生成するステップと
を備えるコンピュータ化された方法。
【請求項１３】
既存の処理構成要素を修正することなしに、追加の規則に従ってデータを処理するステップを更に備える、請求項１２記載のコンピュータ化された方法。
【請求項１４】
前記ユーザによって指定された規則はパケット構成規則である、請求項１２記載のコンピュータ化された方法。
【請求項１５】
前記ユーザによって指定された規則はパケット・ディスパッチ規則である、請求項１２記載のコンピュータ化された方法。
【請求項１６】
前記ユーザによって指定された規則はテキスト抽出規則である、請求項１２記載のコンピュータ化された方法。
【請求項１７】
前記ユーザによって指定された規則はパケット・エクスポート規則である、請求項１２記載のコンピュータ化された方法。
【請求項１８】
データを規則に従って処理する前記ステップは更に、テキストを前記データから抽出するステップを備える、請求項１２記載のコンピュータ化された方法。
【請求項１９】
データを規則に従って処理する前記ステップは更に、知識を知識リポジトリにエクスポートするステップを備える、請求項１２記載のコンピュータ化された方法。
【請求項２０】
データを規則に従って処理する前記ステップは更に、データを中立フォーマットに変換するステップを備える、請求項１２記載のコンピュータ化された方法。
【請求項２１】
コンピュータ可読媒体に格納され、データを知識に翻訳する方法を実行するコンピュータ実行可能命令を有するコンピュータ可読媒体において、
前記のコンピュータ化された方法は、
データを、非構造化された形式で受け取るステップと、
前記データを中立形式に変換するステップと、
ユーザによって指定された規則に従ってデータを処理して、前記データを中立形式から知識に翻訳するステップと、
前記知識を知識リポジトリにエクスポートするステップと
を備える、コンピュータ可読媒体。
【請求項２２】
データを中立形式に変換する前記ステップは、ユーザによって指定されたパケット構成規則を前記データに適用するステップを備える、請求項２１記載のコンピュータ可読媒体。
【請求項２３】
ユーザによって指定された規則に従ってデータを処理する前記ステップは、ユーザによって指定されたパケット・ディスパッチ規則を前記データに適用して、前記パケットをパケット処理モジュールにルート付けするステップを備える、請求項２１記載のコンピュータ可読媒体。
【請求項２４】
ユーザによって指定された規則に従ってデータを処理する前記ステップは、ユーザによって指定されたテキスト抽出規則を前記データに適用するステップを備える、請求項２１記載のコンピュータ可読媒体。
【請求項２５】
データを知識リポジトリにエクスポートするステップは、ユーザによって指定されたパケット・エクスポート規則をデータに適用するステップを備える、請求項２１記載のコンピュータ可読媒体。
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、コンピュータ・システムに関し、特にデータを知識に翻訳するコンピュータ・システムに関する。
【０００２】
発明の背景
決定支援システムのような多くの製品は、知的決定をするため知識を必要とする。決定支援システムは、知識、解析ツール及びモデルを組み合わせて、決定者を支援するコンピュータ・ベースのシステムである。決定支援システムは通常、知識データベース又は知識リポジトリを含む。知識は、決定を支援するため、知識データベース又は知識リポジトリから抽出され、解析ツール及びモデルを用いて解析される。決定支援システムに対して有効であるため、データは、知識データベースに格納される前に、解析され、翻訳され、そして構造化され意味のある知識に編成されねばならない。
【０００３】
多くの場合、データは、人間が読める文書の形式であり、決定支援システムに対するその形式は、非構造化された意味のないデータとして見える。データは、情報、生の事実及び類似のものを意味する。データは、紙の書類、又はディジタルの書類におけるような様々な形式で存在し得る。データそれ自体は、決定支援システムに対して意味を持たない。決定支援システムがデータを処理するため、データは、最初に、決定支援システムが処理できる形式に翻訳されねばならない。
【０００４】
本明細書で用いられているように、知識は、決定支援システムにより処理されることができる情報を意味する。知識の集合は知識ベース又は知識リポジトリと呼ばれる。標準一般化マーク付け言語（ＳＧＭＬ）又は拡張可能なマーク付け言語（ＸＭＬ）のような構造化データ・フォーマットでさえもが、必要とされる知識の全てが必ずしもマークアップ（マーク付け）によりタグを付けられ得るのではないので、決定支援システムに対して不適切である場合がある。データから知識への人間の翻訳は、特に、周期的に更新されるデータ・ソースにとって、労力を要し、費用がかかり、そして誤りを起こしがちである。特別目的の知識ベース構成プログラムが、多くの場合余りに柔軟性に欠けているので直接適用できなく、また余りにコストがかかるので新しい種類のデータ及び／又は知識リポジトリに対して修正できない。
【０００５】
必要とされることは、人間が使える情報のような非構造化された意味のないデータを構造化された意味のある知識、即ちマシンが使える知識に変換する仕方である。
【０００６】
発明の概要
訓練可能で拡張可能な自動化データ／知識翻訳機が記載されている。本発明の一局面は、コンピュータ化システムによりデータの処理を統治する、ユーザによって指定された規則を格納する少なくとも１つのリポジトリと、その規則に従ってデータを処理し且つそのデータから知識を生成する少なくとも１つの処理モジュールとを有するコンピュータ化システムを含む。本発明の別の局面は、データを知識に翻訳する、コンピュータ化された方法である。そのコンピュータ化された方法は、データを知識に翻訳するコンピュータ化システムの挙動を統治するためユーザによって指定された規則を設けるステップと、データを前記規則に従って処理して知識を生成するステップとを含む。本発明の更なる局面は、コンピュータ可読媒体に格納され、データを知識に翻訳する方法を実行するコンピュータ実行可能命令を有する上記コンピュータ可読媒体である。前記コンピュータ化された方法は、データを、非構造化された形式で受け取るステップと、前記データを中立形式に変換するステップと、ユーザによって指定された規則に従ってデータを処理して前記データを中立形式から知識に翻訳するステップと、前記知識を知識リポジトリにエクスポートするステップとを備える。
【０００７】
実施形態の説明
好適な実施形態の以下の詳細な説明において、この出願の一部を形成し、且つ本発明を実施し得る例示な特定の実施形態が例示により示されている添付図面が参照される。本発明の範囲を逸脱することなく、他の実施形態を用い得て、そして構造的変更を行い得ることが理解されるべきである。
システム・レベルの概要
図１Ａは、本発明の一実施形態に従ったデータ／知識翻訳システム１００の高レベルブロック図である。データ入力フォーマット及び知識出力要件における広い変化のため、本発明のデータ／知識（Ｄ２Ｋ）システムの一実施形態の論理的アーキテクチャは、図１Ａに示されるようにデータ・ソース入力と知識リポジトリ出力とを分離する３層構造のシステムである。層１のソフトウエア構成要素１０２は、ソース・データ１０１を中立フォーマットにインポートする。一旦データが中立フォーマットになると、層２のソフトウエア構成要素１０４は、データを解析し、編成（ｏｒｇａｎｉｚｅ）し、処理する。最後に、層３のソフトウエア構成要素１０６は、処理されたデータ（知識）を知識リポジトリ１０８にエクスポートし、そこにおいて、希望する場合には、更なる処理が行われてもよい。この３層構造のアーキテクチャは、ツールを特定のデータ・フォーマット又は全体に異なるドメインに適用するに必要とされる開発量を低減することによりＤ２Ｋシステムの拡張性を最大にする。各層は十分に定義されたインタフェースにより分離され、それにより１つの層に対する内部変化は隣接の層に対する変化を必要としない。この３層構造に加えて、Ｄ２Ｋシステムはシステム・エグゼクティブ１１０を含み、そのシステム・エグゼクティブ１１０は、３層の各層内及び各層間でアクティビティを調整すること、並びにユーザとの対話及びエラーの報告のようなグローバル機能を与える。
【０００８】
しかしながら、Ｄ２Ｋシステムは３層構造のシステムに限定されるものではない。一代替実施形態においては、１つ又はそれより多い追加の層が、図１に示されるＤ２Ｋ翻訳システム１００の論理的アーキテクチャに追加され得る。更に別の実施形態においては、論理的アーキテクチャは、２つの層又は単一の層としてさえ動作するようスケール変更することができる。
【０００９】
図１Ｂは、Ｄ２Ｋ翻訳システム１００の代替実施形態の高レベルブロック図である。図１Ｂに示されるように、Ｄ２Ｋ翻訳システム１００は、コンピュータ化されたシステム１００によりデータの処理を統治する、ユーザによって指定された規則を格納するための少なくとも１つのリポジトリ１１４を備える。Ｄ２Ｋ翻訳システム１００はまた、その規則に従ってデータを処理し且つデータから知識を生成するための少なくとも１つの処理モジュール１１２を備える。
【００１０】
図１Ｃは、Ｄ２Ｋ翻訳システム１００の追加の実施形態の高レベルブロック図である。図１Ｃに示されるように、Ｄ２Ｋ翻訳システム１００は、少なくとも１つのリポジトリ１１４及び少なくとも１つの処理モジュール１１２を備える。Ｄ２Ｋ翻訳システム１００は更に、少なくとも１つのリポジトリ及び少なくとも１つの処理モジュールを制御するためのシステム・エグゼクティブ１１０を備える。
【００１１】
図１Ｄは、Ｄ２Ｋ翻訳システム１００の別の実施形態の高レベルブロック図である。図１Ｄに示されるように、Ｄ２Ｋ翻訳システム１００は、少なくとも１つのリポジトリ１１４、少なくとも１つの処理モジュール１１２及びシステム・エグゼクティブ１１０を備える。Ｄ２Ｋ翻訳システム１００はまた、ユーザがユーザによって指定された規則を作成し、修正し、削除するのを可能にするユーザ・インタフェースを備える。
【００１２】
多くのデータ・フォーマットがソース・データ１０１に対して存在する。非構造化データは、文書、画像、データベース、図表、略図及び類似のものの形式であり得るが、これらに限定されるものではない。一般にデータを単一のフォーマットに変換することが常に可能（好都合）というわけではないので、Ｄ２Ｋシステムは、様々なソース・データ・フォーマットをサポートする。層１のソフトウエア構成要素１０２は、データをその生来のフォーマットで処理し、そして関連の情報を中立フォーマットに変換する。換言すると、インポート層（層１）１０２は、ソース・データ・フォーマットの詳細及び複雑さを処理層（層２）１０４の処理構成要素から分離する。層２のルーチン１０４は、インポートされたデータを解析し、編成し、処理する。処理ルーチン１０４は、非構造化された意味のないデータを構造化された意味のある知識に変換する。処理構成要素は、正規表現検索エンジン、自然言語処理アルゴリズム及びグラフィックス識別アルゴリズムのような様々な技術を用いる。層３のソフトウエア構成要素１０６は、知識を知識リポジトリ１０８にエクスポートする。丁度データが多くのソース・フォーマットで存在し得るように、知識も幾つかのリポジトリ・フォーマットで表され得る。従って、エクスポート層１０６（層３）は、知識リポジトリ・フォーマットの詳細及び複雑さを処理ルーチンから分離する。要約すると、インポート層１０２及びエクスポート層１０４の構成要素は、処理層１０６の構成要素がデータ・ソース又は知識リポジトリのフォーマットを考慮する必要なしにそれらのタスクを実行するのを可能にする。
例示実施形態の物理的アーキテクチャ
図２は、図１に示されるＤ２Ｋシステムを実現するための物理的アーキテクチャの例示実施形態のブロック図である。図２に示される長方形２０２、２０６、２１２、２１０、２１６は、変換構成要素を表す。変換構成要素は、ある種類の入力を受け取り、それを変換して、ある種類の出力を生成する。図２に示される封筒は、本明細書では「パケット」と呼ばれるデータ構造体を表す。パケットは、変換構成要素が互いに通信をするため用いるインタフェース・メカニズムである。図２に示される円柱は、Ｄ２Ｋシステムの構成、変換構成要素の挙動を統治する規則、訓練データ、エラー・メッセージ及び類似のもののような様々な情報を格納するリポジトリを表す。最後に、図２に示される人々は、グラフィック・ユーザ・インタフェース（ＧＵＩ）を表す。ユーザは、ＧＵＩを介して対話して、Ｄ２Ｋシステムの挙動をカスタマイズする。
【００１３】
図２に示される例示の物理的アーキテクチャは、図１に示される論理的アーキテクチャに対して次のようにマップする。インポート・フィルタ２０２は、インポート・フィルタ規則リポジトリ２０４と共に、図１に示されるインポート層（層１）を構成する。テキスト抽出モジュール２０６は、テキスト抽出規則リポジトリ２０８及びカスタム処理モジュール２１０と共に、図１に示される処理層（層２）を構成する。パケット・エクスポート・モジュール２１２は、パケット・エクスポート規則リポジトリ２１４と共に、図１に示されるエクスポート層（層３）を構成する。パケット・ディスパッチャ２１６は、パケット・ディスパッチ規則リポジトリ２１８、ＧＵＩ及び構成モジュール（図示せず）と共に、図１に示されるシステム・エグゼクティブを構成する。パケットは、図１に示される３つの層間及びそれら３つの層内での通信を容易にするインタフェース・オブジェクトである。
【００１４】
図２に示されるＤ２Ｋシステム２００の例示実施形態のデータの流れは次のとおりである。インポート・フィルタ２０２は、データ・ソース２０１を読み取り、それをインポート・フィルタ規則２０４に従ってパケットに離散化する。インポート・フィルタ２０２は次いで、これらのパケットをパケット・ディスパッチャ２１６に通し、そのパケット・ディスパッチャ２１６は、パケットをパケット・ディスパッチ規則２１８に従って適切な処理モジュールにディスパッチする。処理モジュールはパケットを処理する。パケット・エクスポート・モジュール２１２のような幾つかの処理モジュールは、追加のパケットを生成しない端末処理モジュールである。テキスト抽出モジュール２０６のような他の処理モジュールは、より精細な解像度の幾つかのパケットを生成する。これらの非端末処理モジュールは、それらが生成するパケットをパケット・ディスパッチャ２１６に通し、そのパケット・ディスパッチャ２１６は、次いで、パケットを適切な処理モジュールへディスパッチし、そしてサイクルが継続する。一実施形態においては、少なくとも１つの処理モジュールは、パケットを知識リポジトリにエクスポートする。このプロセスは、図４に図示されている。図４に示されるプロセスは、データ・ソースの全体が解析（構文解析）されるまで継続する。
例示実施形態のシステム構成要素
このセクションは、図２に示される例示実施形態の次のシステム構成要素、即ち、パケット、パケット辞書、パケット・ファクトリ（工場）、インポート・フィルタ、パケット・ディスパッチャ、パケット処理モジュール、テキスト抽出モジュール、パケット・エクスポート・モジュール、コンピュータ・グラフィック・メタファイル（ＣＧＭ）処理モジュール及びメッセージ・ログをより詳細に説明する。
【００１５】
パケット．　図２に示されるパケットは、情報の包括的集合である。図５は、図２に示されるパケット・データ構造のより詳細な図である。パケット５００は、図５に示されるように、タイプ、コンテンツ及びコンテキストのためのフィールドを含むデータ構造である。パケットのタイプ５０２は、エンティテイ又はオブジェクトの名前である。タイプは、典型的にはパケットのコンテンツを記述するタイプである。パケットのコンテンツ５０４はゼロ又はそれより多いラベルから成り、各ラベルはゼロ又は１に関連した値を有する。コンテンツ・ラベルは、エンティテイ又はオブジェクトの関連属性である。コンテント値は、典型的には、パケット処理モジュールにより処理され、及び／又は知識リポジトリへエクスポートされる。他方、パケット・コンテキスト５０６は、ゼロ又はそれより多いラベルから成り、各ラベルは、ゼロ又は１つの関連値を有する。コンテキスト値は、コンテンツの意味を増補する（ａｕｇｍｅｎｔ）か、又はコンテンツが生成される仕方を記載するかのいずれかである情報を含む。コンテント値のように、コンテキスト値も知識リポジトリへエクスポートされることができる。
【００１６】
処理モジュールが子のパケットを生成するとき、処理モジュールは通常、親のコンテキストをコピーし、そしてそれを子に割り当てる。換言すると、子は、親のコンテキストを受け継ぐ。その結果として、固有の識別子を有するパケットを識別することが望ましい場合、人はその識別子をコンテキストとして格納する。子パケットが彼らの親の固有の識別子を受け継ぐので、親パケットと子パケットの関係が生成される。
【００１７】
一例として、人がレシピ（調理法）をパケットとして表す仕方を考えて見る。パケットのタイプがパケット・コンテンツを記述するタイプであり、そしてパケットがレシピを表すので、単語「レシピ」は、パケットのタイプを求めることに対して明白な選定である。全てのレシピの関連属性は、名前、材料のリスト、及び調理／クッキング指示である。その結果として、我々のレシピ・パケットは、名前、材料及び命令のコンテンツを含むであろう。名前のコンテンツは、単一の値、即ちレシピの名前を含むであろう。他方、材料及び指示のコンテンツは、複数の値を含むであろう。換言すると、各材料及び指示ステップは、材料及び指示のコンテンツの別々の値としてそれぞれに格納されるであろう。最後に、１人前の数、１人前当たりのカロリーの数字及び栄養学的情報のような情報が、コンテキストとして格納されることができるであろう。
【００１８】
一実施形態において、パケットは、図２に示されるインポート・フィルタ２０２のようなインポート・フィルタにより生成される。インポート・フィルタは、パケットを、図２に示されるパケット・ディスパッチャ２１６のようなパケット・ディスパッチャへ通す。パケット・ディスパッチャは、パケットをパケット処理モジュールにルート付けし、そのパケット処理モジュールは次いで、追加のパケットの情報がよりアトミック的（原子的）であるその追加のパケットを生成し得る。パケット・ディスパッチャはまた、パケットを、図２のパケット・リポジトリ２２０のようなパケット・リポジトリに格納し得る。最後に、全てのアトミック・パケットは、図２のパケット・エクスポート・モジュール２１２のような端末パケット処理モジュールにルート付けされ、その端末パケット処理モジュールは、パケットを知識リポジトリに、又はパケットを捨てるヌル・プロセッサにエクスポートする。
【００１９】
パケット辞書　一実施形態において、図２に示されるパケット辞書２２２のようなパケット辞書は、合法のパケットのマスタ・リストを保持する。幾つかのＤ２Ｋシステム機能は、パケット辞書を用いて、データ破損を緩和する。例えば、一部の実施形態においては、訓練ユーザ・インタフェースは、パケット辞書を用いて、リスト・ボックス選択を制限して、ユーザに、有効でない訓練規則を作成するのを禁止し、一方、他の実施形態においては、パケット・ファクトリは、パケット辞書を用いて、合法のパケットのみが生成されるのを保証する。
【００２０】
パケット辞書は、Ｄ２Ｋシステムのインポート・フィルタ及びパケット処理モジュールの登録中に占有される。一実施形態において、パケットを生成するいずれのＤ２Ｋシステム構成要素は、それが生成することができる各タイプのパケットのプロトタイプを登録する。概念的には、パケットのプロトタイプは、いずれの値も持たないパケットである。換言すると、パケット・プロトタイプは、どのコンテンツ及びコンテキストのラベルが所与のパケットのタイプにとって合法的であるかを指定する。
【００２１】
パケット・ファクトリ　パケット・ファクトリの目的は、パケットをパケット・リポジトリから読み出しそしてパケットをパケット・リポジトリに書き込むような１組のパケット関連のサービスを与えることである。更に、パケット・ファクトリは、パケット（それらはパケット・リポジトリに中で長く持続されていた）をインスタンス生成し、そしてそれらパケットをコンテンツ・ディスパッチャに通し、それによりそれらパケットがパケット処理モジュールにルート付けされることができるようにするサービスを提供する。最後に、パケット・ファクトリは、パケットを作るための幾つかのサービス、並びにパケットのコンテキストのクローンを作って、その親のコンテキストを受け継ぐ新しい子のパケットを生成するメカニズムを提供する。
【００２２】
インポート・フィルタ　一実施形態においては、インポート・フィルタは、インポート・フィルタ規則リポジトリと共に、図１の層１を構成する。図２に示されるインポート・フィルタ２０２のようなインポート・フィルタの目的は、データ・フォーマットの複雑さを取り扱い、そしてこれらの詳細を処理モジュールから隠すことである。インポート・フィルタは、関連のソース・データをパケットに離散化する。なお、それらのパケットはＤ２Ｋシステムの中立データ・フォーマットである。データ・ソースに応じて、このプロセスを起こすメカニズムは異なる。例えば、ＳＧＭＬ又はＸＭＬのような階層的に構造化されたデータにとって、パケット構造規則は、階層の各ノードに対して関連付けられ得る。別の実施形態においては、マイクロソフトのワード（登録商標）文書に格納されたデータにとって、Ｖｉｓｕａｌ Ｂａｓｉｃ ｆｏｒ Ａｐｐｌｉｃａｔｉｏｎｓ（登録商標）スクリプト（ＢＶＡスクリプト）が、パケットを生成するため書き込まれてもよい。
【００２３】
データの構造のアウトラインが、捕捉され、データベースに格納される。ＳＧＭＬ文書の場合、そのアウトラインは、それが要素及び属性の階層を含む点で文書タグ定義（ＤＴＤ）に似ている。しかしながら、一実施形態においては、アウトラインは、実際の文書に示されるＤＴＤの一部を含むだけである。
【００２４】
一旦データ構造のアウトラインが形成されると、パケット構成規則が、本発明の一実施形態に従って階層の中の各ノードに適用される。パケット構成規則は、ユーザがノードに対応するデータを用いて次のことを行うのを可能にする。
【００２５】
１．データを無視する。
２．データを無視し、新しいパケットを生成する。
３．新しいパケットを生成し、データをパケットにコンテンツとして挿入する。
【００２６】
４．データを現在のパケットにコンテンツとして挿入する。
５．データを現在のパケットにコンテンツとして添付する。
６．データを現在のパケットにコンテキストとして挿入する。
一実施形態において、規則に応じて、ユーザはまた、パケット・タイプ、コンテンツ・ラベル及び／又はコンテキスト・ラベルを指定し得る。更に、６個の規則は、階層の中の全てのノードに適用可能でないかも知れない。例えば、パケットを生成する祖先を持たないノードにおいてデータを現在のパケットにコンテンツとして挿入することは無効である。（一実施形態においては、インポート・フィルタ訓練ユーザ・インタフェースは、ユーザがいずれの規制に違反することを可能にしないので、ユーザが、全ての規制の経験的知識に基づくことは必要でないことに注目されたい。）
前述したように、一旦データ・ソースのアウトラインがデータベースに格納されると、パケット構成規則は、階層の中の各ノードに対して関連付けられる。規則のタイプは、インポート・フィルタ規則リポジトリの中に存在する情報に依存する。所与のノードが既に規則リポジトリの中に存在する場合、それは、同じ規則を既存のノードとして割り当てられる。ノードが既にデータベースの中に存在しない場合、それは、「データを無視する」規則を割り当てられる。本質的に、ユーザは、過去の訓練、即ちノードへの規則の適用を失うことなしに、幾つかのデータ・ソースの構造を併合することができる。更に、ユーザは、規則リポジトリ内に存在するが、しかし最近アウトラインを形成されたデータ・ソースの中に存在しないいずれのノードを削除する能力を与えられる。これら２つのメカニズムは、訓練要件を最小にしながら、ユーザが幾つかのデータ・ソースのためのパケット構成規則を１つ又はそれより多い規則リポジトリに格納することを可能にする。
【００２７】
一実施形態においては、インポート・フィルタが訓練された後で、インポート・フィルタが登録される。インポート・フィルタを登録することは、インポート・フィルタがデータ・ソースを解析しながら作成することができるパケットのプロトタイプを用いてパケット辞書をポピュレートする。一実施形態においては、ユーザがインポート規則をインポート・フィルタ・ユーザ・インタフェースを介して訓練した後で、ＧＵＩは自動的にインポート・フィルタを登録する。一旦インポート・フィルタが登録されると、インポート・フィルタは、パケット構成規則を適用してパケットを構成することによりデータ・ソースを解析し得る。
【００２８】
一例として、図６に示されるサンプルＳＧＭＬテキストを考えて見る。図６は、本発明のインポート・フィルタに適用される例示ソース・データを示す。図７は、図６に示される例示ソース・データに適用される例示インポート・フィルタ規則を示す。図７に示されるように、要素はボックスの中の文字「Ｅ」により識別され、一方、属性はボックスの中の文字「Ａ」により識別される。要素及び属性の名前がボックスの中の文字に直ぐに続き、そしてインポート・フィルタ規則が省略符号に続く。「データを無視する」規則は、明示的規則無しでアイテムに対して暗黙に定義される。
【００２９】
ＳＧＭＬインポート・フィルタは、適切なインポート・フィルタ規則（これはまた「パケット構成規則」とも呼ばれる。）を適用して、サンプル・テキストを要素毎に解析する。図６に示されるサンプルＳＧＭＬテキストにおいて、インポート・フィルタは、最初に、マスタ障害テーブル（ＭＳＴＦＬＴＡＢ）要素を解析する。この要素に対応する図７における規則は、要素のデータを無視することになるので、インポート・フィルタは、障害行（ＦＬＴＲＯＷ）要素を解析することを進める。この要素に対応する図７における規則は、インポート・フィルタに対して、タイプが「障害コード（Ｆａｕｌｔ　Ｃｏｄｅ）」のパケットを生成するよう命令する。次に、インポート・フィルタは、ＦＬＴＲＯＷ要素の属性を解析する。章番号（ＣＨＡＰＮＢＲ）、セクション番号（ＳＥＣＴＮＢＲ）及び固有キー（ＫＥＹ）の属性に対応する図７における規則は、インポート・フィルタに対して、３つのコンテキスト・ラベル−値の対を障害コード・パケットに加えるよう指示する。ＣＨＡＰＮＢＲ、ＳＥＣＴＮＢＲ及びＫＥＹの属性の値、即ち、「２９」、「２４」及び「ＥＮ２９２４０００１−００００１００１」は、図８のパケットに示されるように、章番号、セクション番号及び固有キーそれぞれの値になる。図８は、インポート・フィルタが図６のＳＧＭＬテキストの障害記述（ＦＬＴＤＥＳＣ）要素を解析する前の障害コード・パケットのスナップショットである。次の３つの要素に対応する規則が、パーサに対して、要素のデータを無視するよう命令するので、インポート・フィルタは、障害記述（ＦＬＴＤＥＳＣ）要素を解析することを進める。
【００３０】
ＦＬＴＤＥＳＣ要素に対応する図７における規則は、インポート・フィルタに対して、タイプが「障害徴候（Ｆａｕｌｔ　Ｓｙｍｐｔｏｍ）」の第２のパケットを生成するよう命令する。次に、インポート・フィルタは、カテゴリ（ＣＡＴＥＧ）属性の値を図９に示される障害徴候パケットに障害徴候タイプ・コンテンツとして挿入する。次いで、障害タイプ（ＦＬＴＹＰＥ）属性の値は、障害徴候タイプ・コンテンツの現在の値に添付される。ＦＬＴＹＰＥ属性に対応する規則が、インポート・フィルタに対して、属性のデータを障害徴候タイプ・コンテンツに添付するよりむしろ挿入することを命令した場合、インポート・フィルタは、このデータを第２の値として挿入したであろう。ＦＬＴＤＥＳＣ要素及びその属性を解析した後で、インポート・フィルタは、障害メッセージ（ＦＬＴＭＳＧ）及びＡＴＡ　ＥＣＡＭ（ＡＴＡＥＣＡＭ）要素を解析する。インポート・フィルタは、図９に示されるように、これらの要素の値を障害徴候パケットに障害徴候テキスト及びＥＣＡＭ　ＡＴＡとして挿入する。次に、インポート・フィルタは、ＦＬＴＤＥＳＣ終了タグに遭遇する。その結果として、それは、障害徴候の親パケット即ち障害コード・パケットのコンテキストのクローンを作り、そして障害徴候パケットをパケット・ディスパッチャに通す。図９は、インポート・フィルタが図６のサンプルＳＧＭＬテキストの中の障害徴候（ＦＬＴＤＥＳＣ）終了タグに遭遇した後の障害徴候パケットのスナップショットである。
【００３１】
パケット・ディスパッチャから戻ると直ぐに、インポート・フィルタは、図６のＳＧＭＬテキストのタスク参照（ＴＡＳＫＲＥＦ）要素を解析する。インポート・フィルタは、図１０に示されるように、この要素の値を障害コード・パケットにＦＩＰ　Ｋ１２参照コンテンツとして挿入する。インポート・フィルタは、次の要素を無視し、次いで、ＦＬＴＲＯＷ終了タグに遭遇する。このタグに遭遇すると直ぐに、インポート・フィルタは、障害コード・パケットをコンテンツ・ディスパッチャに通す。パケット・ディスパッチャから戻ると直ぐに、インポート・フィルタは、ＭＳＦＬＴＡＧ終了タグに遭遇し、そして終了する。図１０は、インポート・フィルタが図６のサンプルＳＧＭＬテキストの中の障害行（ＦＬＴＲＯＷ）終了タグに遭遇した後の障害コード・パケットのスナップショットである。要約すると、図７のパケット構成規則を、図６のサンプルＳＧＭＬに適用することは、図１０に示されるような障害コード・パケット、及び図９に示されるような障害徴候パケットを生成する。
【００３２】
パケット・ディスパッチャ　図２のパケット・ディスパッチャ２１６のようなパケット・ディスパッチャは、Ｄ２Ｋシステムの前半分（即ち、インポート層）と後ろ半分（即ち、処理層及びエクスポート層）との間のヒンジ（蝶番）点であり、パケット「ｔｒａｆｆｉｃ　ｃｏｐ」として機能する。一実施形態においては、パケット・ディスパッチャは、３つのモードで動作する。その正常モードの動作においては、パケット・ディスパッチャは、パケットをパケット・マッチ仕様規則に従ってパケット処理モジュールにルート付けする。なお、そのパケット・マッチ仕様規則は、図２のパケット・ディスパッチ規則データベース２１８のようなパケット・ディスパッチ規則データベースに格納されている。第２のモードにおいては、ユーザは、パケットをディスパッチすることを使用不能にすることができ、そしてパケット・ディスパッチャを構成して、パケットを、図２のパケット・リポジトリ２２０のようなパケット・リポジトリに単にセーブすることができる。第３のモードにおいては、ユーザは、パケット・ディスパッチャを構成して、パケットをパケット処理モジュールにディスパッチし、且つパケットをパケット・リポジトリに格納することの両方を行うことができる。この最後のモードは、デバッギング支援として有効であり、そしてユーザにパケット監査トレイルを与える。
【００３３】
一実施形態においては、パケット・ディスパッチャは、インポート・フィルタ、パケット・ディスパッチャ、パケット処理モジュール三者間の順序付けの２つのモード、即ち、シングルスレッドされるのとマルチスレッドされるのとをサポートする。シングルスレッド・モードにおいては、インポート・フィルタは、パケットを生成し、そしてそのパケットをパケット・ディスパッチャに通し、そのパケット・ディスパッチャは、それを適切なパケット処理モジュールに通す。パケット処理モジュールは、そのパケットを処理し、そして次いで追加のパケットを作成してもよい。なお、その追加のパケットは子パケットを呼ばれる。次に、パケット処理モジュールは、順次的に各子パケットをパケット・ディスパッチャに通し、そのパケット・ディスパッチャは、その子パケットを適切なパケット処理モジュールに通す。このサイクルは、元の情報の中の全ての関連情報が処理され且つエクスポートされてしまうまで継続する。この時点で、インポート・フィルタは、別のパケットを生成するため、入力データを解析するのを随意に再開する。要約すると、シングルスレッド・モードの動作において一旦インポート・フィルタがパケットを生成すると、インポート・フィルタは、そのインポート・フィルタが入力データを解析するそのタスクを再開する前にこのパケット並びに全てのその子孫パケットが処理されるまで待つ。マルチスレッドされたモードにおいては、インポート・フィルタは、ディスパッチャがその処理を再開する前にパケットを処理するのを待つ必要がない。生のパケットがパケット・ディスパッチャにおいてキューされ、そして第２の実行スレッドによりシリアルに処理される。これにより、インポート・フィルタが連続的に作業することが可能になる。マルチスレッド動作は、Ｄ２Ｋシステムがマルチプロセッサ・コンピュータ・システム上でホストされるとき有利である。
【００３４】
前述したように、パケット・ディスパッチャは、パケット・ディスパッチ規則データベースに格納されたパケット・マッチ仕様規則に従ってパケットをパケット処理モジュールにルート付けする。一実施形態においては、パケット・マッチ仕様規則は、パケット・マッチ仕様（本明細書では「マッチ仕様（マッチスペック）」と呼ぶ。）をパケット処理モジュール（「パケット・プロセッサ」と呼ぶ。）に対してマップする。マッチ仕様は、パケットのタイプ、オプションの処理引数、及びゼロ又はそれより多いコンテキスト・ラベル−値の対から成る。マッチ仕様は、次の２つの例外を持つパケットに似ている。
・マッチ仕様はパケット・プロセッサ引数を含む。
・マッチ仕様はコンテンツを含まない。
一実施形態においては、ヌル・プロセッサ・モジュールを除いて、パケット処理モジュールは、それらのグローバル固有識別子（ＧＵＩＤ）により指定される。ＧＵＩＤなしの処理モジュールは、ヌル・プロセッサ・モジュールであると想定される。
【００３５】
図１１は、パケット・ディスパッチャにより使用の例示パテント・マッチ仕様規則を図示する。図１１において、３つのマッチ仕様１１０２、１１０４、１１０６は、２つのパケット・プロセッサ１１０８、１１１０に対してマップされている。第１のマッチ仕様１１０２は、ヌル・モジュール１１０８がタイプ「障害トピック（Ｆａｕｌｔ　Ｔｏｐｉｃ）」の全てのパケットを処理することができることを指示する。第２のマッチ仕様１１０４は、引数「障害（Ｆａｕｌｔ）」を持つテキスト抽出モジュール１１１０がタイプ「障害トピック」のパケットを処理できることを指示する。なお、その障害トピック・タイプ・コンテキストは、「障害分離（ＦＡＵＬＴ　ＩＳＯＬＡＴＩＯＮ）」に等しい。第３のマッチ仕様１１０６は、引数「あり得る原因（Ｐｏｓｓｉｂｌｅ　Ｃａｕｓｅｓ）」を持つテキスト抽出モジュール１１１０がタイプ「あり得る原因」の全てのパケットを処理することができることを指示する。一実施形態においては、次のガイドラインをマッチ仕様に適用する。
・マッチ仕様は、唯１つののみのパケット・プロセッサに対してマップしなければならない。
・幾つかのマッチ仕様は、同じパケット・プロセッサに対してマップしてよい。
・同じパケット・タイプを持つマッチ仕様は、それらが異なるコンテキスト・ラベル−値の対を持つ限り異なるパケット・プロセッサに対してマップしてよい。
【００３６】
どのパケット・プロセッサがパケットを処理すべきかを決定するため、パケット・ディスパッチャは、最初にどのマッチ仕様がパケットをマッチするかを決定する。次いで、このリストから、パケット・ディスパッチャは、最良のマッチ仕様を決定する。マッチ仕様がパケットをマッチするため、２つの要件が適合されねばならない。第１に、マッチ仕様は、パケットと同じタイプでなければならない。第２に、マッチ仕様のコンテキストは、それが存在する場合、パケットに存在しなければならない。進行ステートメント（進行命令文）は、マッチ仕様がマッチするため、パケットがマッチ仕様と同じコンテキストの全てを持たねばならないことを含意しない。マッチ仕様に存在しないコンテキストを持つパケットは、そのパケットがマッチ仕様により指定されたコンテキストを持つ限り相変わらずマッチ仕様をマッチする。換言すると、パケットのコンテキストは、マッチするためマッチ仕様のコンテキストのスーパセット（ｓｕｐｅｒｓｅｔ）でなければならない。一旦パケット・ディスパッチャがパケットをマッチする全てのマッチ仕様のリストを決定すると、パケット・ディスパッチャは、大部分のコンテンツを有するマッチ仕様を最良のものとして選定する。一度最良のマッチ仕様が決定されると、パケット・ディスパッチャは、パケット及び対応する処理引数を、最良のマッチ仕様に対してマップされているパケット・プロセッサに通す。
【００３７】
例えば、図１１に示される実例を考えて見る。「障害確認（ＦＡＵＬＴ　ＣＯＮＦＩＲＭＡＴＩＯＮ）」に等しい障害トピック・タイプ・コンテキストを持つタイプ「障害トピック」のパケットは、第１のマッチ仕様１１０２によりマッチされるのみであろう。続いて、これらのパケットは、ヌル・モジュール１１０８にディスパッチされるであろう。「障害分離（ＦＡＵＬＴ　ＩＳＯＬＡＴＩＯＮ）」に等しい障害トピック・タイプ・コンテキストを持つタイプ「障害トピック」のパケットは、第１のマッチ仕様１１０２及び第２のマッチ仕様１１０４の両方によりマッチされるであろう。パケット・ディスパッチャは、第２のマッチ仕様１１０４が第１のマッチ仕様１１０２より多くのコンテキスト・ラベル−値対を持つので、このパケットをテキスト抽出モジュール１１１０にディスパッチするであろう。
【００３８】
パケット処理モジュール　パケット処理モジュール、又はそれはまたパケット・プロセッサとも言われるそのパケット・プロセッサの目的は、パケットを解析し、編成し、処理することである。一実施形態においては、パケット・プロセッサは、２つのグループ、即ち、汎用パケット・プロセッサとカスタム・パケット・プロセッサとに分類され得る。汎用パケット・プロセッサは、データ・ソースに関係なく用いられそうであるパケット・プロセッサである。他方、カスタム・パケット・プロセッサはデータ・ソース特有である。更に、パケット・プロセッサはまた、端末か又は非端末かで分類され得る。端末パケット・プロセッサはパケット・コンシューマである。それらは、パケットを処理するが、しかし子パケットを生成しない。非端末パケット・プロセッサはパケット・プロデューサである。それらは、パケットを処理し、そして子パケットを作成する。
【００３９】
本発明の一実施形態においては、３つの汎用パケット・プロセッサ、即ち、テキスト抽出モジュール、パケット・エクスポート・モジュール及びヌル・モジュールがある。テキスト抽出モジュール及びパケット・エクスポート・モジュールは、次のセクションで詳細に説明されるであろう。ヌル・プロセッサは端末パケット・プロセッサである。ヌル・プロセッサはパケットを処理しない。その目的は、単純にパケットを消費することである。一実施形態においては、ヌル・プロセッサはまた、それが実行を持たない点で独特である。パケット・ディスパッチャは、その機能を実効的に実行する。パケットを物理的ヌル・プロセッサにルート付けする代わりに、パケット・ディスパッチャは単純にそれらを破壊する。
【００４０】
一実施形態においては、パケット・プロセッサがパケットを解析し編成し処理する前に、それらパケットは登録される。パケット・プロセッサの登録は、２つのことで達成される。第１に、記録、これはパケット・プロセッサに対応するが、この記録は、記録が既に存在しない場合処理モジュール・リポジトリに挿入される。第２に、パケットのプロトタイプ、これをパケット・プロセッサが生成し得るが、このパケットのプロトタイプはパケット辞書に登録される。第１の機能は、パケット・ディスパッチャのような他の構成要素に、パケット・プロセッサ自身であることを気付かせる。第２の機能は、他の構成要素に、パケット・プロセッサが生成し得るパケットを気付かせる。
【００４１】
テキスト抽出モジュール　図２のテキスト抽出モジュール２０６のようなテキスト抽出モジュール（ＴＥＭ）は、汎用非端末パケット・プロセッサである。テキスト抽出モジュールの目的は、ユーザによって指定されたテキスト・エンティテイを識別し且つフォーマット化することである。指図された維持ドメインに関連した一実施形態においては、テキスト・エンティテイの例は、文書参照（文書基準）、部品番号、観察報告及び障害を含む。全てのパケット・プロセッサの場合のように、ＴＥＭは、パケット及びプロセッサ引数を通される。プロセッサ引数は、どのテキスト抽出規則の集合が入力テキストに適用されるべきかを指定する。入力テキストは、ユーザによって指定されたパケット・コンテンツの値を含む。
【００４２】
ＴＥＭは、パケットを処理するとき次の動作を実行する。最初に、ＴＥＭは、テキスト抽出規則により指定されたエンティテイを識別する。２番目に、ＴＥＭは、エンティテイをテキスト抽出フォーマット化規則に従ってフォーマット化する。最後に、ＴＥＭは、そのＴＥＭが識別してフォーマット化した各エンティテイのため１つ又はそれより多くのパケットを出力する。
【００４３】
ＴＥＭは、エンティテイを次のように識別する。最初に、ＴＥＭは、入力テキストをトークンのリストに変換するためその入力テキストについて字句解析を実行する。トークンは、１つ又はそれより多くの拡張された正規表現により、又は前に指定されたエンティテイにより指定される。しかしながら、トークンの仕様は網羅的である必要はない。ユーザは、直接エンティテイの識別に寄与しないテキストに対して正規の表現を指定する必要がない。従って、トークン化は、２つのステップで実行される。ＴＥＭは、ユーザが指定した全てのトークンを見つけ、次いでユーザによって指定されたフィルタをユーザ指定トークン間のテキストに適用することによりデフォルトのトークンを生成する。一旦入力テキストがトークン化されてしまうと、ＴＥＭは、エンティテイを識別するため、トークン化された入力テキストについて第２の字句解析を実行する。エンティテイは、１つ又はそれより多くのプロダクション（ｐｒｏｄｕｃｔｉｏｎ）により指定される。プロダクションは、そのアトミック単位が１トークンである拡張された正規表現である。要約すると、エンティテイ識別プロセスは、２解析の字句解析である。第１の解析は、入力テキストをトークンのリストに、キャラクタの拡張された正規表現を介して変換する。第２の解析は、トークン化された入力テキストの中のエンティテイを、トークンの拡張された正規表現を介して識別する。
【００４４】
図１２のサンプル入力テキスト、及び図１３のエンティテイ、トークン及び正規表現を考えて見る。図１２は、テキスト抽出モジュールにより処理されることとなるサンプル入力テキストである。図１３は、テキスト抽出モジュール規則の集合の階層的表示である。図１３におけるボックスの中の文字は、規則階層の中のアイテムを識別する。文字「Ｃ」はアイテムが収集であることを示し、「Ｅ」はエンティテイを、「Ｔ」はトークンを、「Ｒ」は正規表現を、「Ｐ」はプロダクションを、「Ｆ」はフォーマットをそれぞれ示す。例えば、図１２のサンプル・テキストの中のＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒ（装置番号）エンティテイを識別するため、ＴＥＭは、最初に、ＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒエンティテイにおいて定義されたトークンを見つける。この例においては、ＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒエンティテイは、１つのトークン、即ち、２以上の数字が続く１文字とマッチする単一の正規表現［Ａ−Ｚ］［０−９］｛２，｝を持つＥｑｕｉｐＮｕｍを定義するのみである。図１２のサンプル・テキストにおいて、ＴＥＭは、ＥｑｕｉｐＮｕｍトークン、即ちＷ１２１、Ｗ１２２及びＷ１２３を識別する。次に、ＴＥＭは、ＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒエンティテイ・アイテムについて指定されたキャラクタ・フィルタを用いて、残りのテキストをフィルタリングする。この例では、キャラクタ・フィルタは、スペース「　」、開きの括弧「（」、閉じの括弧「）」及びコンマ「，」を含む。フィルタは、先頭及び遅れている（ｌａｇｇｉｎｇ）キャラクタ（これらはフィルタ内にある。）をテキストの残りのブロックから取り除くことにより適用される。フィルタを適用した後で、そのテキストの残りのブロックがデフォルト・トークンに成る。
【００４５】
例えば、図１２において、ＥｑｕｉｐＮｕｍトークンＷ１２２及びＷ１２３、即ちコンマ及びスペース間のテキストを考えて見る。これらのキャラクタの両方がフィルタ内にあるので、それらは取り除かれ、その結果として、これらのＥｑｕｉｐＮｕｍトークン間にデフォルト・トークンは作られない。他方、図１２において、Ｗ１２３のＥｑｕｉｐＮｕｍトークンと、入力テキストの終わり即ち、「）（ＤＯＣ２１−５１−１１，−２２，−３３）」との間のテキストを考えて見る。ＴＥＭは最初に、フィルタ内ある先頭のキャラクタを取り除く。第１のキャラクタが閉じの括弧（フィルタ内にあるキャラクタ）であるので、それは取り除かれ、そして次のキャラクタが検査される。それがスペースであるので、それもまた取り除かれる。これは、テキスト抽出モジュールがフィルタ内にないキャラクタに遭遇するまで継続する。最初のそのようなキャラクタは、文字「Ｄ」である。次いで、ＴＥＭは、フィルタ内にある遅れているキャラクタを取り除く。最後のキャラクタがピリオド、即ちフィルタ内にないキャラクタであるので、そのキャラクタは残ったままで、検索は終了する。最後のキャラクタがフィルタ内にある場合、ＴＥＭは、このキャラクタを取り除き、そして最後のキャラクタから１つ前にあるキャラクタを検査するであろう。このプロセスは、ＴＥＭがフィルタ内に無かったキャラクタに遭遇するまで継続するであろう。テキスト「ＤＯＣ２１−５１−１１，−２２，−２３）」が先頭及び遅れているキャラクタをフィルタリングした後に残ったままであるので、それがデフォルト・トークンとなる。以下の表１は、テキスト抽出モジュールが字句解析を実行して、サンプル・テキストの中のＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒエンティテイを識別することから結果として得られたＥｑｕｉｐＮｕｍトークン及びデフォルト・トークンのリストを提供している。
【００４６】
2004502993.tif 000003
．
この時点で、サンプル入力テキストは、５つのトークン、即ち、デフォルト、ＦＩＮ、ＦＩＮ、ＦＩＮ及びデフォルトにトークン化される。次に、ＴＥＭは、第２の字句解析を実行して、ＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒエンティテイのプロダクションを見つける。この例では、１つのプロダクション、即ちＦＩＮ＋のみがあり、それは１つ又はそれより多くのＥｑｕｉｐＮｕｍトークンとマッチする。（ＦＩＮはＥｑｕｉｐＮｕｍの省略形である。）その結果として、テキスト抽出モジュールは、１個のエンティテイ、即ち、図１４に示されるように３つのＥｑｕｉｐＮｕｍトークンを見つける。
【００４７】
一旦エンティテイが入力テキストの中で識別されると、それは、１つ又はそれより多くのフィールドの中にフォーマット化される。次いで、エンティテイは、パケットとしてパッケージ化され、そしてパケット・ディスパッチャに送られる。ＴＥＭはエンティテイを次のようにフォーマット化する。最初に、ＴＥＭは、マッチされたプロダクションのトークンをそれらのタイプに従ってビンの中に置く。第２に、ＴＥＭは、ビンの中のトークンについて全拡張又はレベル拡張を実行する。第３に、ＴＥＭは、マッチング・プロダクションのフォーマットのそれぞれに対してフィールドを生成する。最後に、ＴＥＭは、パケットを生成し、そしてそのフィールドをパケットにコンテンツとして挿入する。
【００４８】
再び、ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイのサンプル入力テキスト及び規則を考えて見る。２レベルの字句解析を適用する際、ＴＥＭは、図１５に示されるように、１つのＣａｈｐｔｅｒＳｅｃｔｉｏｎトークン（ＣＳ）、３つのサブジェクト（Ｓｕｂｊｅｃｔ）トークン（ＳＵＢ）及び２つのセパレータトークン（ＳＥＰ）を識別する。更に、ＴＥＭは、図１５に示されるように、第２のプロダクション、即ち、ＶＯＬ？　ＣＳ　ＳＳ（ＳＥＰ　ＳＳ）＊とマッチする１つのエンティテイを識別する。マッチされたプロダクションの６個のトークンは、ＣＳ、ＳＵＢ、ＳＥＰ、ＳＵＢ、ＳＥＰ及びＳＵＢである。ＴＥＭはここで、リストされたトークンの値をそれらのタイプに従ってビンの中に置く。一実施形態においては、値をビンの中に置く前に、ＴＥＭは最初に、ビンが空き場所を有することを検証する。
【００４９】
図１６は、ビンの中にソート（分類）された（図１３の例示テキスト抽出規則により定義されるように）ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅプロダクションに対するトークン値を示す。例えば、第１のトークンの値は「２１−５１」であり、そしてそのタイプはＣｈａｐｔｅｒＳｅｃｔｉｏｎ（ＣＳ）である。ＣＳトークンの定義がビンの深さを指定しなかったので、そのビンの深さは無限であると想定される。従って、値「２１−５１」はＣＳビン１６０２に挿入される。第２のトークンの値は「−１１」であり、そしてそのタイプはサブジェクト（ＳＵＢ）である。サブジェクトのビン深さもまた無限であるので、値「−１１」はＳＵＢビン１６０４に挿入される。第３のトークンの値は「，」であり、そしてそのタイプはセパレータ（ＳＥＰ）である。セパレータのビン深さは、図１３に示されるように、ゼロであるので、ＴＥＭは、このトークンの値をＳＥＰビン１６０６に挿入しない。そうすることは、ビンの中の値の数にその深さを超えさせるであろう。ＴＥＭが全てのトークン値をビンの中に置くよう試みた後で、ＴＥＭはいずれのビンが空であるかをチェックする。ビンが空であり且つその対応するトークン規則がデフォルト値を指定する場合、そのデフォルト値がビンに挿入される。現在の事例では、ボリューム（ＶＯＬ）ビン１６００及びセパレータ（ＳＥＰ）ビン１６０６は空である。ＶＯＬトークンがデフォルト値「ＤＯＣ」を指定するので、「ＤＯＣ」は図１６に示されるようにＶＯＬビン１６００に挿入される。
【００５０】
マッチ・プロダクションのトークン値が図１６に示されるようにビンに挿入された後で、ＴＥＭは、ビンのコンテンツについてレベル拡張又は全拡張を実行する。図１７は、図１６のビンについて全拡張を実行することにより形成されたトークン値のセットをリストする。レベル拡張の間に、ＴＥＭは、各ビンのｉ番目の値を１つの組（セット）にグループ化する（ここで、インデックスｉは任意のビンの中の１から値の最大数字までの範囲に及ぶ。）。前のステートメントは、複数の値を含むビンに適用するのみである。単一の値を含むビンに対して、第１の値は、各組にグループ化される。等しくない個数の値を持つ複数の値を付けられたビンの値が拡張される場合、幾つかの組は値を見失っているであろう。全拡張の間に、ＴＥＭは、値の全ての組み合わせを複数の組にグループ化する。現在の事例では、マッチされたプロダクション規則は全拡張を指定する。その結果として、ＴＥＭは、図１７に示されるように３つのグループを形成する。
【００５１】
マッチされたプロダクションのトークン値が複数の組にグループ化された後で、各組は１つ又はそれより多くのフィールドにフォーマット化される。図１８は、マッチされたプロダクションのボリューム（Ｖｏｌｕｍｅ）及びブックマーク（Ｂｏｏｋｍａｒｋ）のフォーマットを図１７の複数の組の値に適用することから結果として得られるフィールド・ラベル及び値を示す。マッチされたプロダクションのフォーマットの数は、フィールドの数を決定する。フォーマットは、ラベル及びフォーマット仕様を含む。一実施形態においては、フォーマット仕様は、次のシンタクスを有する。
【００５２】
【数１】
”ｐｒｅｆｉｘ”ＴＯＫ１”ｓｕｆｆｉｘ”‖”ｐｒｅｆｉｘ”ＴＯＫ２”ｓｕｆｆｉｘ”‖…‖”ｐｒｅｆｉｘ”ＴＯＫｎ”ｓｕｆｆｉｘ”
（“接頭辞”ＴＯＫ１“接尾辞”‖“接頭辞”ＴＯＫ２“接尾辞”‖…‖“接頭辞”ＴＯＫｎ“接尾辞”）
垂直線間の情報は、トークン・フォーマット・グループと見なされる。各グループは、トークンをその省略形により指定しなければならず、そしてオプションの接頭辞及び接尾辞を含み得る。このトークンは、フォーマット・トークンと呼ばれる。接頭辞及び接尾辞は、引用符により囲まれたテキストである。ＴＥＭは、フォーマットを各組のトークン値に対して次のように適用する。各フォーマット・トークン・グループに対して、ＴＥＭは、上記の組がフォーマット・トークンの値を含むか否かをチェックする。それが含む場合、ＴＥＭは、トークン・フォーマット・グループの接頭辞のテキスト、フォーマット・トークン値、及びトークン・フォーマット・グループの接尾辞をフィールド・バッファに添付する。フォーマット仕様がプロダクションの中の各トークンに対してトークン・フォーマット・グループを有する必要がないことに注目すべきである。有限状態マシンがフォーマット仕様を、上記で概要を説明したアルゴリズムを適用するに適した形式に解析する。このマシンに対する有限状態が図１７にリストされている。
【００５３】
例えば、マッチされたプロダクションのブックマーク・フォーマット、即ち、ＶＯＬ“”‖ＣＳ‖ＳＳ、及び図１７における第１の組の値を考えて見る。第１のトークン・フォーマット・グループは、ＶＯＬフォーマット・トークン及び接尾辞を含む。その組がＶＯＬフォーマット・トークンの値を含むので、値「ＤＯＣ」及び「接尾辞」がフィールド・バッファに添付される。残りの２つのトークン・フォーマット・グループは、トークンＣＳ及びＳＵＢを含む。これらのグループは接頭辞又は接尾辞を含まない。上記組がＣＳ及びＳＵＢの両方のフォーマット・トークンの値を含むので、値「２１−２５」及び「−１１」がフィールド・バッファに添付される。そのフォーマットを適用した後で、フィールド・バッファは、テキスト「ＤＯＣ２１−５１−１１」を含む。マッチされたプロダクションのボリューム及びブックマーク・フォーマットを図１７における複数の組の値に適用することは、図１８により示される３組のフィールドをもたらす。
【００５４】
最後に、ＴＥＭが複数の組のフォーマット化されたフィールド（図１８に示されるように）を生成した後で、ＴＥＭは、各組のフィールドに対してパケットを次のように生成する。最初に、ＴＥＭは、テキスト「Ｔｅｍ」、エンティテイの名前及びテキスト「Ｅｎｔｉｔｙ（エンティテイ）」を連結して、パケット・タイプを形成する。第２に、ＴＥＭは、そのラベルが「ＥｎｔｉｔｙＩｄ」であり且つその値がこのタイプのパケットのための固有の識別子であるそのコンテンツ・ラベル−値対を加える。第３に、ＴＥＭは、各フォーマットされたフィールドのためコンテンツ・ラベル−値対を加える。コンテンツのラベルはフィールドのラベルであり、そしてコンテンツの値はフィールドの値である。第４に、ＴＥＭは、入力パケット（そのコンテンツは入力テキストであった。）からコンテキスト・ラベル−値対のクローンをエンティテイのパケットに対して作る。最後に、ＴＥＭは、４つの追加のコンテキスト・ラベル−値対を加える。これらのコンテキストは、「ＴｅｍＰａｒｅｎｔＰａｃｋｅｔＴｙｐｅ」、「ＴｅｍＰａｒｅｎｔＣｏｎｔｅｎｔＬａｂｅｌ」、「ＴｅｍＣｏｌｌｅｃｔｉｏｎＮａｍｅ」及び「ＴｅｍＥｎｔｉｔｙＮａｍｅ」のラベルが付される。「ＴｅｍＰａｒｅｎｔＰａｃｋｅｔＴｙｐｅ」及び「ＴｅｍＰａｒｅｎｔＣｏｎｔｅｎｔＬａｂｅｌ」コンテキストの値は、パケットのコンテンツが入力テキストであったそのパケットのパケット・タイプ及びコンテンツ・ラベルである。「ＴｅｍＣｏｌｌｅｃｔｉｏｎＮａｍｅ」及び「ＴｅｍＥｎｔｉｔｙＮａｍｅ」コンテキストの値は、集合及びエンティテイの規則がエンティテイを識別し且つフォーマット化するため用いられるその集合及びエンティテイのそれぞれの名前である。サンプル・テキスト内のＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイに対応するパケット１９０２、１９０４、１９０６が、図１９に示されている。図１９は、図１８のフィールド・ラベル及び値から生成される例示パケットを図示する。図１８における例示実施形態において、サンプル・テキストが「障害分離要素（Ｆａｕｌｔ　Ｉｓｏｌａｔｉｏｎ　Ｅｌｅｍｅｎｅｔ）」パケットの「障害分離テキスト」コンテンツから来たと仮定する。また、「障害分離要素」パケットが「章番号」及び「セクション番号」コンテキストを持ったと仮定する。
【００５５】
入力テキストを処理するとき、ＴＥＭは、処理引数により指定された集合のエンティテイを検索する。一実施形態においては、エンティテイは、それらが集合内で指定された順序で検索される。現在の事例においては、ＴＥＭは、図１３に示されるように、最初にＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒエンティテイを、次いでＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイを、最後にＦａｕｌｔエンティテイを識別する。ＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイのＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒにおいて、全てのトークンは、１つ又はそれより多くの正規表現により指定された。しかしながら、これは、図１３に示されたようにＦａｕｌｔエンティテイが真でない。その４つのトークンのうち、これらのトークンのうちの１つ、即ち動作トークンは、それが正規表現により指定される点でＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒ及びＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅトークンに類似している。しかしながら、残りのトークンは異なる。ＥｑｕｉｐＮｕｍ及びＤｏｃＲｅｆトークンは、ＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒ及びＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイのそれぞれにより指定され、一方、ＥｑｕｉｐＤｅｓｃトークンはデフォルト・トークンである。ＥｑｕｉｐＮｕｍ及びＤｏｃＲｅｆトークンは、前に識別されたＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒ及びＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイとマッチするであろう。現在の事例では、ＥｑｕｉｐＮｕｍトークンは、テキスト「Ｗ１２１（Ｗ１２２，Ｗ１２３）」とマッチし、一方、ＤｏｃＲｅｆトークンは、テキスト「２１−５１−１１，−２２，−３３」とマッチする。ＥｑｕｉｐＤｅｓｃは、ＡｃｔｉｏｎトークンとＥｑｕｉｐＮｕｍトークンとの間のフィルタリングされたテキスト、即ち、図２０に示される「ＴＨＥ　Ｌ（Ｒ，Ｃ）ＷＩＤＧＥＴ」とマッチする。図２０は、サンプル入力テキストにおいてテキスト抽出モジュールが図１３の例示テキスト抽出規則により定義されたＦａｕｌｔ（障害）エンティテイを識別したそのサンプル入力テキストである。ＥｑｕｉｐＤｅｓｃトークンは、ＦａｕｌｔエンティテイがＥｑｕｉｐＤｅｓｃトークンを指定しない場合にデフォルト・トークンになるであろう。曖昧さを避けるため、エンティテイは、そのトークンのうちの１つをデフォルト・トークンとして指定するのみである。
【００５６】
ＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒ及びＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅエンティテイの場合のように、ＴＥＭは、図２１に示されるようにＦａｕｌｔエンティテイに対してＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットを生成する。マッチイング・プロダクションが４つのフォーマット・アイテムを指定するので、ＴｅｍＦａｕｌｔＥｎｔｉｔｙは、動作（Ａｃｔｉｏｎ）、装置記述（Ｅｑｕｉｐｍｅｎｔ Ｄｅｓｃｒｉｐｔｉｏｎ）、装置番号（Ｅｑｕｉｐｍｅｎｔ Ｎｕｍｂｅｒ）及び修理手続き（Ｒｅｐａｉｒ Ｐｒｏｃｅｄｕｒｅ）コンテンツを全体的ＥｎｔｉｔｙＩｄコンテンツに加えて含み、それは、ＴＥＭが生成する全てのパケットに存在する。予測されるように、動作及び装置記述コンテンツの値は、「ＲＥＰＬＡＣＥ（置換）」及び「ＴＨＥ　Ｌ（Ｒ，Ｃ）　ＷＩＤＧＥＴ」のそれぞれである。しかしながら、装置番号及び修理手続きコンテンツの値は、「Ｗ１２１（Ｗ１２２，１２３）」及び「２１−５１−１１，−２２，−３３」でない。代わりに、装置番号及び修理手続きコンテンツの両方が、前に生成されたＴｅｍＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒＥｎｔｉｔｙ及びＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙパケットのＥｎｔｉｔｙＩｄコンテンツの値に対応する３つの値を有する。従って、前に定義されたエンティテイにより指定されるトークンの値は、対応するパケットのＥｎｔｉｔｙＩｄコンテンツの値である。この特徴は、ＴＥＭによりパックされ、作成されたものを互いにリンクする１つの方法を提供する。例えば、図２１は、ＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットとＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙ及びＴｅｍＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒＥｎｔｉｔｙパケットとの関係を図示する。ＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットの装置番号及び修理手続きコンテンツの両方は、それらがコンマで分離されたリストとして説明されるが、３つの値を有することに注目されたい。
【００５７】
パケット・エクスポート・モジュール　パケット・エクスポート・モジュール（ＰＥＭ）は、汎用端末パケット・プロセッサである。換言すると、このモジュールは、何の子パケットも生成しないし、また特定の知識リポジトリ・スキーマに対して特有でない。パケット・エクスポート・モジュールの目的は、パケットを知識リポジトリにエクスポートすることであり、その知識リポジトリは、オープン・データベース接続性（ＯＤＢＣ）に準拠している。インポート・フィルタ及びＰＥＭは、同じ属性の多くを共用する。インポート・フィルタは、訓練可能であり、そしてデータ・ソースの構造体に、訓練の前にインポートされることを要求し、そしてパケット処理モジュールをデータ・ソースの複雑さから守る。同様に、ＰＥＭは、訓練可能であり、そして知識リポジトリの構造体（スキーマ）に、訓練の前にインポートされることを要求し、そしてパケット処理モジュールを知識リポジトリの複雑さから守る。
【００５８】
ＰＥＭの挙動は、パケット・エクスポート規則により統治され、そのパケット・エクスポート規則は、パケット・コンテンツ及びコンテキストをデータベース・テーブルのフィールドに対してマップする。丁度、パケット構成規則を訓練する前に、入力データの構造の概要が形成され、そしてインポート・フィルタ規則リポジトリにインポートされなければならないように、知識リポジトリのスキーマは、パケット・エクスポート規則を訓練する前に、解析され、そしてパケット・エクスポート規則リポジトリの中にインポートされねばならない。
【００５９】
例えば、そのデータベース・スキーマが図２２に示されているサンプル知識リポジトリを考えて見る。図２２は、それに対してパケットがエクスポートされるサンプル知識ベースのデータベース・スキーマを図示するブロック図である。図２２に示されるサンプル知識リポジトリは、５つのテーブルから成る。ＰｅｍＤｏｃＲｅｆ２２０２、ＰｅｍＥｑｕｉｐＮｕｍ２２０４及びＰｅｍＦａｕｌｔ２２０６のテーブルは、情報をＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙ、ＴｅｍＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒＥｎｔｉｔｙ及びＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットそれぞれに格納する。ＴｅｍＦａｕｌｔＨａｓＤｏｃＲｅｆｓ２２０８及びＰｅｍＦａｕｌｔＨａｓＥｑｕｉｐＮｕｍｓ２２１０は、多対多関係テーブルであり、その多対多関係テーブルは、関係情報をＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットに格納する。知識リポジトリのデータベース・スキーマがパケット・エクスポート規則の中にインポートされた後で、ユーザは、パケット・エクスポート規則を指定し得る。知識ベースのデータベース・スキーマが修正され、続いて再インポートされる場合、ＰＥＭは、前のスキーマと現在のスキーマとの相違にタグ付けする。インポートは、既存のパケット・エクスポート規則が保存されるように実行される。
【００６０】
図２３は、図２１に示されるパケットと図２２に示されるデータベース・テーブルとの間のサンプル・マッピングである。パケット・コンテンツが複数の値を有し得る一方、データベース・テーブルのフィールドがせいぜい１つの値を格納し得るので、拡張は、これらの値を知識ベースへエクスポートされる組にグループ化するため、パケット値について実行されねばならない。これらの拡張方法は、トークン・ビンの中の値を複数の組にグループ化するためテキスト抽出モジュールにより用いられた拡張方法に類似している。
【００６１】
１個のデータベース・テーブルに対してマップされている全てのパケット・コンテンツ及びコンテキストの値を考えて見る。レベル拡張の場合、ＰＥＭは、多値化されたパケット・コンテンツのそれぞれからのｉ番目の値、並びに単値化されたコンテンツ及び全コンテキストのそれぞれの値を複数の組にグループ化し、そしてこれらの値を知識リポジトリにエクスポートする。全拡張の場合、ＰＥＭは、複数のパケット・コンテンツ及びコンテキスト値の全ての組み合わせを複数の組にグループ化し、そしてこれらの値を知識リポジトリにエクスポートする。
【００６２】
サンプル・パケット・エクスポート規則においてパケット・コンテンツ及びコンテキストの隣に文字「Ｒ」が付いた円を有するそのパケット・コンテンツ及びコンテキストに注目されたい。このアイコンは、これらのコンテンツ及びコンテキストがそれらの値のいずれかをエクスポートするためそれらの値を有することが要求されることを示す。換言すると、単一のデータベース・テーブルに対してマップされている、要求されたコンテンツ及びコンテキストのいずれかが、少なくとも１つの値を含まない場合、ＰＥＭは、値のいずれの組もデータベース・テーブルにエクスポートしないであろう。ここで、いずれの値も含まない非要求のコンテンツ及びコンテキストがデータベース・テーブルのフィールドにエクスポートされるとき、ＰＥＭが行うことを考えて見る。そのフィールドがヌル可能（ｎｕｌｌａｂｌｅ）である、即ち、それがヌルを格納することができる場合、ＰＥＭはヌルをエクスポートする。フィールドがヌル可能でないとき、ＰＥＭは、フィールドが数値データを格納する場合０をエクスポートし、又はフィールドがテキストを格納する場合ゼロ長のストリングをエクスポートする。フィールドがヌル可能でなく且つゼロ長ストリングを格納することができない場合、ＰＥＭは、パケット・エクスポート・エラー・メッセージを発行する。
【００６３】
一例として、ＰＥＭが、図２３に示されるパケット・エクスポート規則を用いて、図２１のパケットを知識リポジトリ（その知識リポジトリのスキーマは図２２に示されている。）にエクスポートするであろう仕方を考えて見る。最初に、ＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙパケットを考えて見る。パケットのＥｎｔｉｔｙＩｄ、ボリューム（Ｖｏｌｕｍｅ）及びブックマーク（Ｂｏｏｋｍａｒｋ）のコンテンツは、ＥｎｔｉｔｙＩｄ、ボリューム及びブックマークのフィールドに対してマップされ、一方、パケットの章番号（Ｃｈａｐｔｅｒ Ｎｕｍｂｅｒ）及びセクション番号（Ｓｅｃｔｉｏｎ Ｎｕｍｂｅｒ）コンテキストは、ＰｅｍＤｏｃＲｅｆテーブルのＣｈａｐｔｅｒＮｕｍｂｅｒ及びＳｅｃｔｉｏｎＮｕｍｂｅｒフィールドに対してマップされる。パケット・エクスポート規則はまた、（ｉ）パケット内の値は、複数の組にレベル拡張され、そしてデータベース記録としてエクスポートされるであろうこと、及び（ｉｉ）マップされたパケット・コンテンツ及びコンテキストのそれぞれに対する値を含む組のみがエクスポートされるであろうことを述べる。（第２の観測結果は、要求されているパケット・コンテンツ及びコンテキストのそれぞれの結果である）。図２１のＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙパケットの全てのコンテンツが単一の値を持つので、レベル拡張は取るに足らないものである。各パケットは、図２４に示されるようにＰｅｍＤｏｃＲｅｆテーブルへの記録としてエクスポートされる単一の組の値を発生する。Ｉｄフィールドの値は、このフィールドがＡｕｔｏＮｕｍｂｅｒタイプであるので、自動的に発生されることに注目されたい。
【００６４】
ここで図２１の残りのパケットを考えて見る。ＴｅｍＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒＥｎｔｉｔｙ及びＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙパケットが知識リポジトリに同じ要領でエクスポートされるので、ＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットについて焦点を合わせて見る。パケット・エクスポート規則に従って、ＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットは、３つのテーブル、即ち、ＰｅｍＦａｕｌｔ、ＴｅｍＦａｕｌｔＨａｓＤｏｃＲｅｆｓ及びＰｅｍＦａｕｌｔＨａｓＥｑｕｉｐＮｕｍｓに対してマップされる。ＴｅｍＦａｕｌｔＥｎｔｉｔｙ対ＰｅｍＦａｕｌｔマッピングは、ＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅ対ＰｅｍＤｏｃＲｅｆマッピングと１つの例外を有して類似している。ＴｅｍＦａｕｌｔＥｎｔｉｔｙの装置記述コンテンツは要求されない。従って、ＰＥＭは、たとえパケットが装置記述値を含まない場合でも、１組の値を知識リポジトリへＴｅｍＦａｕｌｔ記録としてエクスポートするであろう。換言すると、ＴｅｍＦａｕｌｔパケットが装置記述コンテンツを有する場合、その値は、他の値と共にエクスポートされるであろう。しかしながら、ＴｅｍＦａｕｌｔパケットが装置記述コンテンツを有しない場合、他の値がエクスポートされ、そして装置記述フィールドがヌルか又はゼロ長ストリングかのいずれかであろう。
【００６５】
最後に、ＴｅｍＦａｕｌｔＥｎｔｉｔｙ対ＰｅｍＦａｕｌｔＨａｓＤｏｃＲｅｆｓマッピングを考えて見る。パケットのＥｎｔｉｔｙＩｄ及び修理手続き（Ｒｅｐａｉｒ Ｐｒｏｃｅｄｕｒｅ）コンテンツが、ＰｅｍＦａｕｌｔＨａｓＤｏｃＲｅｆｓテーブルのＦａｕｌｔＫｅｙ及びＤｏｃｋＲｅｆＫｅｙフィールドのそれぞれにマップされる。図２１のＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットのＥｎｔｉｔｙＩｄ及び修理手続きコンテンツの値は、１及び１、２及び３のそれぞれである。（ＥｎｔｉｔｙＩｄコンテンツは、１個の値を有し、そして修理手続きコンテンツは、３個の値を有する。）パケット・エクスポート規則は、これらの値が記録としてＰｅｍＦａｕｌｔＨａｓＤｏｃＲｅｆｓテーブルにエクスポートされる組を作成するため十全に拡張されるべきであることを指定する。３個の組の値は図２５に示すように作成され且つエクスポートされる。
【００６６】
要約すると、図２３に示されるパケット・エクスポート規則を用いて、図２１のパケットを知識リポジトリにエクスポートするとき、ＰＥＭは次のデータベース記録を作成する。
・３つのＰｅｍＤｏｃＲｅｆ記録、各ＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅパケットから１個
・３つのＰｅｍＥｑｕｉｐＮｕｍ記録、各ＴｅｍＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒＥｎｔｉｔｙパケットから１個
・１つのＰｅｍＦａｕｌｔ記録、３つのＰｅｍＦａｕｌｔＨａｓＤｏｃＲｅｆｓ、及びＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットから３つのＰｅｍＦａｕｌｔＨａｓＥｑｕｉｐＮｕｍｓパケット
ＣＧＭ処理モジュール　純粋にテキスト的なデータに加えて、Ｄ２Ｋツールはまた、グラフィック・ファイルをコンピュータ・グラフィックス・メタファイル（ＣＧＭ）フォーマットで処理することができる。ＣＧＭファイルは、グラフィック要素の集合であり、各グラフィック要素は、それを並びにそれを定義する或るデータを識別する命令コードを含む。一実施形態においては、Ｄ２ＫにおけるＣＧＭ処理は、３層プロセスを通して達成される。ベースで、ＣＧＭパーサ・モジュールは、ＣＧＭグラフィック・ファイルをロードし、そしてそれが新しいグラフィック要素を識別するときは常にコールバックを発火する。この最低のレベルで、パーサは、データのいずれの処理を行わないで、それは、ファイルのグラフィック・コンテンツを列挙するのみである。中間層で、ソフトウエア・モジュールは、最低レベルを用いて、コンテンツを列挙するが、しかしこの時それは、全てのテキスト要素、及びボックスを形成する線セグメントを維持する。一旦それらのエンティテイ全てが格納されてしまうと、モジュールは、テキストをそれらの境界を示す長方形（四角い枠）と関連させるよう試みる。この中間層は、ユーザ・レベルがこれらのボックス、並びにそれらが含むテキストを列挙するのを可能にするインタフェースを与える。最高の層は、障害分離図と呼ばれるＣＧＭ図面からＤ２Ｋパケットを生成する。障害分離図は、グラフィックのｉｆ／ｔｈｅｎ図面であり、取るべき結論又は動作がページの右側のボックスにリストされている。この最高の層は、中間層を用いて文書を処理する。次いで、それは、最も右の列にボックスを列挙し、そしてそれらのボックス内にテキストを含むパケットを生成する。次いで、それらのパケットは、Ｄ２Ｋにより、あたかもそれらがインポート・フィルタから生じたかのように処理される。
【００６７】
ウェブ・エグゼクティブ　図２６は、ウェブ・エグゼクティブのためのユーザ・インタフェースの例示実施形態である。図２６に示されるように、ヘッダ・フレームは、アプリケーションのロゴスを表示する。ナビゲーション・フレームは、複数のグループのボタンを含み、それら複数のグループのボタンは、押されたとき、対応するウェブ・ページでもってメイン・フレームを更新する。メイン・フレーム内のウェブ・ページ、及びそれらの上にホストされた制御部は、命令を表示し、メカニズムによりユーザがＤ２Ｋと対話することができるそのメカニズムを与え、そしてエラー報告、オプションのセッティング及び構成のローディング／セービングのようなグローバル機能を管理する。
【００６８】
一実施形態においては、ナビゲーション・フレームは、５グループのボタン、即ち、エグゼクティブ、インポート・フィルタ、パケット・ディスパッチャ、テキスト抽出モジュール及びパケット・エクスポート・モジュールを備える。エグゼクティブ・グループのボタンは、ユーザが文書をブラウズし、構成をロード及びセーブし、データベース及びセッティングを指定し、ツールを動作させるのを可能にするウェブ・ページをロードする。残りのグループのボタンは、ユーザがインポート・フィルタ、パケット・ディスパッチャ、テキスト抽出モジュール及びパケット・エクスポート・モジュールを訓練するのを可能にするウェブ・ページをロードする。
【００６９】
一実施形態においては、ウェブ・ページ上にホストされた構成要素は、クライアント側で動作する。しかしながら、Ｄ２Ｋ構成要素は、サーバ側で動作するよう修正されることができ、それによりクライアントは、単純にＨＴＭＬストリームを受け取りそして表示する。これは、ユーザがウェブ・ブラウザを動作させることができる任意のマシンからＤ２Ｋと対話するのを可能にする。
【００７０】
ユーザ・インタフェース　以下のセクションはＤ２Ｋユーザ・インタフェースを説明する。最初に、インポート・フィルタ・ユーザ・インタフェースを説明する。この説明に、パケット・ディスパッチャ・ユーザ・インタフェース、テキスト抽出ユーザ・インタフェース、そして最後にパケット・エクスポート・ユーザ・インタフェースが続く。
【００７１】
インポート・フィルタ・ユーザ・インタフェース　一実施形態においては、ユーザは、インポート・フィルタをインポート・フィルタ・ユーザ・インタフェースを介して訓練する。ユーザ・インタフェースは、ユーザがＳＧＭＬ文書のような階層構造化データ・ソースのためのパケット構成規則を作成し、修正し、削除するのを可能にする。インポート・フィルタ・ユーザ・インタフェースの便益は、それによりユーザがデータ・ソースの階層構造を視覚化するのを可能にすることである。ユーザ・インタフェースは、メイン・エディタ・ウインドウ及びモードレス（ｍｏｄｅｌｅｓｓ）ウインドウから成り、それは、選択されたパケットのパケットを表示する。これらのウインドウのそれぞれは更に詳細に説明されるであろう。
【００７２】
図２７は、インポート・フィルタ・エディタの一実施形態のスクリーン・キャプチャである。インポート・フィルタ・エディタは、図２７に示されるように階層構造化データをトリーとして表示する。データ・ソースの要素はフォルダとして表示され、一方、属性は文書として表示される。例えば、ユーザがノード上を右クリックして（又はさもなければノードを選択して）、その動作を変える。要素及び属性の名前は、アイコンの隣に表示される。省略符号（．．．）及びパケット構成規則が名前に続く。クラッターを避けるため、パケット構成規則が「データを無視する」ことである場合、それは示されない。
【００７３】
ユーザは、検索ダイアログ・ボックスを呼び出すことにより、テキストを見つけるようトリーを検索することができ、その検索ダイアログ・ボックスが図２８に示されている。そうするため、ユーザは、エディタにおいて右クリックし、そしてポップアップ・メニューから「…検索」コマンドを選択する。
【００７４】
「テキスト場所」制御により、ユーザは、彼らがそれらの検索を属性、要素、パケット・タイプ、コンテンツ又はコンテキストに制限することに関心があるか否かを指定することが可能になる。ユーザは、前述のアイテムの全てを同様に検索することができる。更に、ユーザが、トリーの全てのノードか又は現在のノードのまさに子かのいずれかを「検索ノード」制御を介して検索する。所望の検索パラメータを入力した後で、ユーザは、「検索」ボタンを押して検索を実行する。次いで、検索の結果がリスト図に表示される。ユーザは、そのリストの中の要素をダブルクリックして、それをインポート・フィルタ・エディタ内で、即ちメイン・ウインドウ内で選択する。検索ウインドウは、その大きさを変更及び移動することができる。ダイアログ・サイズ及び位置は使用の間持続する。
【００７５】
テキストを検索するのに加えて、ユーザは、クリア、編集、次に、及びブックマークのような、図３０に示されるように、ポップアップ・メニューから他のコマンドを呼び出し得る。ユーザは、現在選択されているノード及びその子孫（派生）の全ての動作を、「クリア」コマンドを選択することによりクリアすることができる。このコマンドは、影響を受けた全てのノードの動作を「無視」にリセットする。ユーザは、現在選択されているノードの規則を、「編集」コマンドを選択することにより編集することができる。「編集」コマンドは、図２９に示されている「パケット構成特性」ダイアログ・ボックスを呼び出す。図２９は、インポート・フィルタ・エディタのパケット構成特性ダイアログ・ボックスの一実施形態である。このダイアログ・ボックスはまた、あるノードをダブルクリックすることにより呼び出すことができる。
【００７６】
ユーザは、規則の動作を、そしてその規則に応じて、その規則に関連のパケット・タイプ、コンテンツ・ラベル及びコンテキスト・ラベルを編集し得る。パケット・コンテンツ及びコンテキストは、パケット・タイプと一貫性が保たれ、そしてドロップダウン・コンボ・ボックス（ｄｒｏｐ　ｄｏｗｎ　ｃｏｍｂｏ　ｂｏｘｅｓ）からアイテムを選定することにより選択されることができる。新しいパケット・タイプ、コンテンツ・ラベル又はコンテキスト・ラベルを生成するため、ユーザは、新しい名前を単純に適切なコンボ・ボックスの中にタイプすることができる。
【００７７】
トリー図をナビゲートする従来の方法に加えて、ユーザは、図３０に示される「次の（Ｎｅｘｔ）」メニューを選択し得る。図３０は、インポート・フィルタ・エディタの「次の」メニューの一実施形態である。「次の」メニュー内のコマンドにより、ユーザが、指定された動作を有する次のノード、又は指定された相違フラグを有する次のノードを選択するのを可能にする。例えば、次ぎの｜パケット生成コマンド（Ｎｅｘｔ｜Ｃｒｅａｔｅ　ａ　Ｐａｃｋｅｔ　ｃｏｍｍａｎｄ）を選択することにより、ユーザは、次のノードの規則がパケットを生成するその次のノードの位置を迅速に捜し出す。
【００７８】
最後に、ユーザは、トリー図の中のノードをブックマークすることができ、それによりそれらが重要なノード間で迅速にナビゲートするのを可能にする。現在選択されているノードがブックマークされなかった場合、ユーザは、図３１に示されている、ブックマーク・サブメニュー上の「セット」コマンドを選択することができる。図３１は、インポート・フィルタ・エディタの「ブックマーク（Ｂｏｏｋｍａｒｋ）」メニューの一実施形態である。現在選択されているノードが前にブックマークされ済みであった場合、ユーザは、そのマークを、「クリア」コマンドを選択することによりクリアすることができる。全てのブックマークを取り除くため、ユーザは、「全てをクリア」コマンドを選択することができる。ブックマークは、編集セッション間で保持される。こうして、ユーザは、異なるデータ・ソースに対してパケット構成規則を作成するとき特に、もはや必要のないブックマークを場合によってはクリアすることを希望し得る。ユーザが９より多くのノードをブックマークした場合、最初の９個のみに番号付けされる。
【００７９】
「現在のパケット情報」というタイトルを付されたモードレス・ウインドウは、現在選択されているモードのパケット・プロトタイプを表示する。図３２は、インポート・フィルタ・ユーザ・インタフェースのモードレス「現在のパケット情報」ウインドウの一実施形態である。このウインドウは、ユーザがパケットの構造を視覚化するのを可能にし、そのパケットの構造をインポート・フィルタは、現在選択されているパケット構成規則及びその適用可能な隣の規則を適用することにより発生するであろう。このモードレス・ウインドウは、デスクトップ上の任意の場所で大きさを変更し及び位置決めされ得る。
【００８０】
インポート・フィルタ・エディタはまた、パケットの構造を視覚化する追加の方法を与える。トリー図内の任意のノードの上でマウス・カーソルを一時的に停止させる（ｈｏｖｅｒ）ことにより、ポップアップ・ヒント・ウインドウが一時的に現れるであろう。このヒント・ウインドウのコンテンツは、パケットの構造を表示し、そのパケットの構造をインポート・フィルタは、マウス・カーソルにより選択されたノードと関連した規則を適用することにより、部分的に作成するであろう。
【００８１】
パケット・ディスパッチャ・ユーザ・インタフェース　ユーザは、パケット・ディスパッチャをパケット・ディスパッチャ・ユーザ・インタフェースを介して訓練し得る。そのインタフェースは、２つのパネル間でサイズの変更可能なスプリッタ・バーを有するその２つのパネルに分割される。各パネルがより詳細に説明される。
【００８２】
図３３は、パケット・ディスパッチャ・ユーザ・インタフェースのプロセッサ及びパケット選択パネルの一実施形態である。プロセッサ及びパケット選択パネルは、図３３に示されるトリー図として実現される。このパネルは、全ての登録された処理モジュールを含む。特定のプロセッサ（ｐｒｏｃｅｓｓｏｒ）上にマウスを一時的に停止させることにより、ユーザは、そのプロセッサに対してマップされている全てのパケット（及びそれらの対応パケット処理引数）を見ることができる。それに対応して、トリー図は、全ての登録されたパケット・タイプ並びにそれらの合法のコンテキスト・ラベルを含む。特定のパケット・タイプ上にマウスを一時的に停止させることにより、ユーザは、それに対してパケットがマップされる全てのプロセッサを見ることができる。新しいマッチ仕様を生成するため、ユーザは、パケット・タイプをプロセッサ上へドラッグしてドロップし得る。この動作は、新しいマッチ仕様（マッチスペック）をマッチ仕様パネルの中に挿入する。なお、そのことは次ぎに説明される。
【００８３】
図３４は、パケット・ディスパッチャ・ユーザ・インタフェースのマッチ仕様パネルの一実施形態である。マッチ仕様パネルは、図３４に示されるリスト図として実現される。リスト図は、全てのマッチ仕様（マッチスペック）、即ち、パケットをパケット処理モジュールに対してマップするパケット・ディスパッチ規則を示す。ユーザは、複数のマッチ仕様（マッチスペック）をパケット・タイプ、プロセッサ、引数又はコンテキストに従って、対応の列ヘッディング上をクリックすることによりソート（分類）することができる。同じ列を２度目にクリックすることにより、列は反対方向にソートされる。ユーザは、リスト図のフォーマットを、「図（Ｖｉｅｗ）」を右クリック及び選択することにより変えることができる。
【００８４】
マッチ仕様（マッチスペック）を作成するため、ユーザは、プロセッサ、パケット・タイプ又はパケット・コンテキストをプロセッサ及びパケット選択パネルからマッチ仕様パネル内の空の行上へドラッグし得る。この動作は、新しいマッチ仕様（マッチスペック）を生成し、それは、ドロップされたアイテムを含む。他方、ユーザがアイテムをプロセッサ及びパケット選択パネルからマッチ仕様パネル内のマッチ仕様（マッチスペック）上へドラッグする場合、マッチ仕様（マッチスペック）は、ドロップされたアイテムを組み込むことにより修正されるであろう。ユーザはまた、要素を右又はダブルクリックして、マッピング特性ダイアログ・ボックスを持ち出すことができる。
【００８５】
ユーザは、図３５に示される「マッチ仕様特性（Ｍａｔｃｈ　Ｓｐｃｆｉｃａｔｉｏｎ　Ｐｒｏｐｅｒｔｙ）」ダイアログ・ボックスを呼び出すことにより、即ちそれらをダブルクリックすることによりマッチ仕様（マッチスペック）を編集し得る。代替として、ユーザは、マッチ仕様（マッチスペック）上を右クリックして、「特性…（Ｐｒｏｐｅｒｔｙ．．．）」コマンドのポップメニュー及び選択を呼び出し得る。「マッチ仕様特性」ダイアログ・ボックスを介して、ユーザは、マッチ仕様のプロセッサ、引数及びパケット・タイプをセットし得る。更に、ユーザは、「追加…（Ａｄｄ．．．）」及び「削除（Ｄｅｌｅｔｅ）」ボタンを用いて、パケット・コンテキスト値の対をマッチ仕様に挿入し得る。ユーザがコンテキスト値の対を有する、マッチ仕様のパケット・タイプを変える場合、エディタは、いずれの無効の対、即ち、新しいパケット・タイプに対して有効でない対を取り除くであろう。
【００８６】
最後に、ユーザは、マッチ仕様パネル内のマッチ仕様（マッチスペック）を右クリックし、そして「削除」コマンドをポップアップ・メニューから選択することによりそのマッチ仕様（マッチスペック）を削除し得る。代替として、ユーザは、単純にマッチ仕様（マッチスペック）を選択し、そして削除キーを押してもよい。
【００８７】
テキスト抽出ユーザ・インタフェース　ユーザは、テキスト抽出ユーザ・インタフェースを介してテキスト抽出モジュール（ＴＥＭ）を訓練し得る。ユーザ・インタフェースは、ユーザがテキスト抽出規則、例えば、収集、エンティテイ、トークン、正規表現、プロダクション及びフォーマットを作成し、修正し、削除するのを可能にする。テキスト抽出ユーザ・インタフェースの１つの便益は、それによりユーザがそれらがリアルタイムで作成し、修正し、又は削除するいずれの規則の衝撃を直ちに「見る」のを可能にすることである。ユーザ・インタフェースは、ダイアログ・バー、規則パネル、注釈パネル及びグリッド・パネルから成る。これらの構成要素のそれぞれが更に詳細に説明されるであろう。
【００８８】
図３６に示されるテキスト抽出ユーザ・インタフェース・ダイアログ・バーは、ユーザがユーザ・インタフェース制御の頂部に存在し、そして次の機能を実行するのを可能にする１０個のボタンを含む。
・パケット・コンテンツの「ページ」をナビゲートする機能
・ファイル・モードからパケット・モードへ切り換える機能
・規則をテキスト抽出モジュール規則データベースから再ロードする機能
・現在のセッション中に行われる変化をセーブする機能
・パケット・モードからファイル・モードへ切り換える機能、及び
・ヘルプを呼び出す機能。
【００８９】
最初の４個のボタン、即ち、矢印ボタンにより、ユーザがパケット・コンテンツの最初の「ページ」、前の「ページ」、次の「ページ」、及び最後の「ページ」へ行くのを可能にする。パケット・コンテンツは、パケット・データベースから読み出される。（パケット・データベースは、選択された「パケットをデータベースにセーブする」処理オプションを有するツールを動作させることにより占拠される。）「ページ」は、注釈ペイン（ｐａｎｅ）に表示され、そして規則ペインにおいて現在選択されているエンティテイの識別されたトークン及びプロダクションを表示することにより注釈される。第５のボタン、即ち「パケットを再ロードする（Ｒｅｌｏａｄ　Ｐａｃｋｅｔ）」ボタンは、注釈ペインをファイル・モードからパケット・モードへ切り換える、即ち注釈ペインにおけるテキストは、パケット・データベースから読み出される。第６のボタン、即ち「データベースを再ロードする（ＲｅｌｏａｄＤＢ）」ボタンは、テキスト抽出規則をテキスト抽出規則リポジトリから再ロードする。ユーザは、現在の変化が廃棄されるであろうことを警告されるであろう。第７のボタン、即ち「データベースをセーブする（ＳａｖｅＤＢ）」ボタンは、テキスト抽出規則に対する変化をコミット（ｃｏｍｍｉｔ）し、そしてそれらをテキスト抽出規則リポジトリへ書き込む。第８のボタン、即ち「ファイルを開ける（ＯｐｅｎＦｉｌｅ）」ボタンは、注釈ペインをパケット・モードからファイル・モードへ切り換える、即ち、注釈ペインにおけるテキストは、ユーザによって選択されたファイルから読み出される。第９のボタン、即ち「〜について（Ａｂｏｕｔ）」ボタンは、テキスト抽出ユーザ・インタフェースについての関連情報を表示する。最後に、第１０のボタン、即ち「ヘルプ（Ｈｅｌｐ）」ボタンは、テキスト抽出ユーザ・インタフェース・ヘルプアプリケーションを起動する。
【００９０】
規則パネルは、図３７に示されるように階層トリー図内のテキスト抽出規則を表示する。トリー・ノードは、収集、エンティテイ、トークン、正規表現、プロダクション又はフォーマットのうちのいずれかであり得る。これらのノードの１つを表すアイコンは、ボックスで囲まれた黒の大文字である。その文字は、ノード・タイプの最初の文字、例えば、収集に対するＣ、エンティテイに対するＥ等に対応する。更に、どの収集がどのパケット・コンテンツを処理するかを指定するノードがまた、トリー内に存在する。ボックスで囲まれた黒丸はこれらのノードを表す。
【００９１】
ノードのテキストはそのタイプに依存する。収集ノードに対するテキストは収集の名前であり、それに括弧内にあるその省略形が続く。エンティテイ・ノードに対するテキストはエンティテイの名前であり、それに括弧内にあるその省略形が続く。同様に、トークン・ノードに対するテキストはトークンの名前であり、それに括弧内にあるその省略形が続く。しかしながら、トークンが前に識別されたエンティテイに言及する場合、参照エンティテイの名前及び省略形が続くテキスト「エンティテイ（Ｅｎｔｉｔｙ．）」は、四角括弧により囲まれ、そしてトークン・テキストへ添付される。正規表現ノードのテキストは正規表現自体であり、一方、プロダクション・ノードのテキストはプロダクションの文法である。フォーマット・ノードのテキストはフォーマットのラベルの名前である。最後に、「収集がパケット・コンテンツを処理する（ｃｏｌｌｅｃｔｉｏｎ　ｐｒｏｃｅｓｓｅｓ　ｐａｃｋｅｔ　ｃｏｎｔｅｎｔ）」ノードのテキストは、ピリオドにより分離された、パケット・タイプ及びコンテンツ・ラベルである。
【００９２】
ユーザは、規則を作成すること、規則を削除すること、規則をコピーすること、又は規則を移動することのような、規則パネル内の幾つかの操作を実行することができる。ユーザは、それらのノードをドラッグしてそれを別のノード上にドロップすることにより規則をコピー又は移動することができる。ユーザがノードを１つの収集からドラッグし、そしてそれを異なる収集の中にドロップする場合、ノード及びその系統がコピーされる。ユーザがノードを１つの収集からドラッグし、それを異なる位置であろうとも同じ収集の中にドロップする場合、ユーザは、彼／彼女がノード及びその子をコピーし又は移動するのを欲するかどうかについて、ポップアップ・ダイアログを介して、促される。ユーザはマウスがノード上にない間に規則パネルを右クリックする場合、ユーザが収集を生成するのを可能にするポップアップ・メニューが現れる。しかしながら、ユーザは、マウスがノード上にある間に右クリックする場合、ユーザが「選択された」ノードを削除し、又は子ノードを作成するのを可能にするポップアップ・メニューが現れる。例えば、ユーザは、マウスがエンティテイ上にあるとき右クリックする場合、ユーザがエンティテイを削除し、又はトークンを生成し、あるいはプロダクションを作成するのを可能にするポップアップ・メニューが現れる。ユーザは、マウスが正規表現ノード上にあるとき右クリックする場合、ユーザが正規表現を削除するのみを可能にするポップアップ・メニューが現れる。
【００９３】
注釈パネルは、図３８に示されるようにスクロール可能な図であり、そのスクロール可能な図は、現在のエンティテイのトークン及びプロダクションを識別することによりサンプル・テキストを注釈する。規則図の中の現在選択されているアイテムがエンティテイである場合、現在のエンティテイは、選択されたアイテムである。規則図の中の現在選択されているアイテムがエンティテイでない場合、現在のエンティテイは、その子孫が選択されたアイテムの中にあるエンティテイである。サンプル・テキストは、テキスト・ファイルから読み出されるか、又はパケット・リポジトリ内のデータからロードされ得る。サンプル・テキストが多くのラインを含む場合、注釈ペインは、異なるページの中の注釈されたテキストを表示する。ユーザは、ダイアログ・バー上のボタン「ダイアログ・バー」を介してページをナビゲートし得る。
【００９４】
サンプル・テキストの各ラインに対して、現在のエンティテイのトークン及びプロダクションが注釈される。トークン及びプロダクションは、テキストの上及びその下のそれぞれの水平方向の括弧の片方により識別される。トークンは更に、それらの省略された名前を括弧の頂部上に表示することにより注釈される。省略形がトークンの上で適合することができない場合、星印が代わりに表示される。マウスを星印の上で一時的に停止させることにより、ユーザは、省略形を表示するヒント・ウインドウを呼び出すであろう。同様の要領で、プロダクションは更に、選択されたエンティテイの名前を括弧の下に表示することにより注釈される。マウスをエンティテイの名前の上で一時的に停止することにより、ユーザは、プロダクションのフォーマット・ラベル及び値を表示するヒントを呼び出すであろう。
【００９５】
ユーザは、規則をグリッド・パネルを介して生成、修正及び削除することができる。グリッド・パネルは、図３９に示されるように複数の行及び列を含む。グリッドの最初の行は、規則図の中で現在選択されている、ノードのコンテンツを表示する。グリッドの中間の行は、現在選択されているノードの同胞である、ノードのコンテンツを表示する。星印
【００９６】
【表２】
2004502993.tif 000004
【００９７】
がマークされている、グリッドの最後の行は、空であり、そしてユーザが新しい規則を作成するのを可能にする。列並びに列ヘッダの数は、現在選択されているノードのタイプに依存する。
【００９８】
新しい規則を作成するため、ユーザは、適切な情報を最後の行の各列に入れ、そしてカーソルを異なる行へナビゲートしなければならない。ユーザは、グリッド上のいずれの列のコンテンツを編集することができる。現在編集されつつある行には記号がマークされる。行に対する変化をコミットするため、ユーザは、カーソルを異なる行へマウス又は矢印キー
【００９９】
【表３】
2004502993.tif 000005
【０１００】
によりナビゲートしなければならない。規則を削除するため、ユーザは、最も左の（編集できない）列上をクリックすることにより行を選択し、そして削除キーを押さなければならない。ユーザが確認すると直ちに、行（及び対応する規則）は削除されるであろう。
【０１０１】
パケット・エクスポート・ユーザ・インタフェース　ユーザは、パケット・エクスポート・モジュール（ＰＥＭ）をパケット・エクスポート・ユーザ・インタフェースを介して訓練し得る。ユーザ・インタフェースは、ユーザがパケット・エクスポート規則、例えば、パケット・コンテンツ／コンテキスト対データベース・テーブル・フィールド間でマッピングすることを作成、修正及び削除するのを可能にする。パケット・エクスポート・ユーザ・インタフェースの１つの便益は、それによりユーザがパケット・エクスポート規則を意味のある要領で視覚化するのを可能にすることである。ユーザ・インタフェースは、２つのパネル、即ち選択パネル及びグラフィックス・パネル、並びにステータス・バーから成る。各パネルは更に詳細に説明されるであろう。更に、ユーザが知識リポジトリ・スキーマをパケット・エクスポート規則データベースにインポートするのを可能にする制御が説明されるであろう。
【０１０２】
パケット・コンテンツ／コンテキストをデータベース・テーブル・フィールドに対してマッピングする前に、ユーザは、データベース・スキーマをパケット・エクスポート規則データベースに知識リポジトリ・スキーマ・インポート制御を介してインポートする。インポート制御は、２つのボタン及び２つのペインを含む。知識リポジトリ・スキーマをパケット・エクスポート規則データベースにインポートするため、ユーザは、インポート・ボタンを押すべきである。図４０に示されるように、知識リポジトリのテーブルが左ペインに表示され、一方現在選択されているテーブルのフィールドが右ペインに表示される。ユーザは、適切なテーブルをマウス又は矢印キーを介して選択することによりいずれのテーブルのフィールドをブラウズし得る。データベース・テーブル及びフィールドは、ステータス・アイコンにより処理され得る。新しいテーブル及びフィールド、即ち、前のインポート中に知識リポジトリの中に存在しなかったそれらのものは、緑プラス・アイコンによりフラグを立てられる。使われていないテーブル及びフィールド、即ち、前のインポート以来知識リポジトリから削除されたそれらのものは、赤の文字「ｘ」アイコンによりフラグを立てられる。修正されたフィールド、即ち、それらのタイプ及び／又は属性が前のインポート以来変化されたそれらのものは、黄色のチェックマーク・アイコンによりフラグを立てられる。使われていないテーブル及びフィールドの使われていないスキーマを削除するため、ユーザは、消去（ｐｕｒｇｅ）ボタンを押すべきである。
【０１０３】
選択パネル（ｓｅｌｅｃｔｉｏｎ　ｐａｎｅｌ）は、図４１に示されるようにトリー図の中の２つのリストを表示する。最初のリストは、システムに対して知られているパケット、即ち、パケット辞書に登録されているパケットを表示する。第２のリストは、知識リポジトリ・テーブルを表示する。グラフィックス・パネルの中のパケット又はテーブルを表示するため、ユーザは、トリー図の中の対応するアイテムをダブルクリックすべきである。ユーザがパケットを１つ又はそれより多いテーブルに対してマップする規則を有するそのパケットをダブルクリックする場合、マップされたテーブルはまた、マッピング規則と共に、グラフィックス・パネルの中に表示される。
【０１０４】
図４２に示されるようにグラフィックス・パネルは、その上でパケット・エクスポート規則が作成され、修正され又は削除され得るキャンバスである。パケットはウインドウとして表される。パケット・タイプは、ウインドウのタイトル・バーの中に表示される。コンテンツ及びコンテキスト・ラベルは、ウインドウの内側にリストされる。コンテンツ及びコンテキスト・ラベルは、異なるアイコンにより進められる。類似の要領で、知識リポジトリ・テーブルはウインドウとして表される。テーブルの名前は、ウインドウのタイトル・ボードの中に表示され、そしてテーブル・フィールドは、ウインドウの内側にリストされる。
【０１０５】
パケット又はテーブルをキャンバスに加えるため、選択パネルの中の対応するアイテム上をダブルクリックする。ユーザが、パケットを１つ又はそれより多いテーブルに対してマップする規則を有するそのパケットをダブルクリックする場合、マップされたテーブルはまた、マッピング規則と共に、グラフィックス・パネルの中に表示される。パケット又はテーブルをキャンバスから取り除くため、パケット又はテーブル・ウインドウの上右手隅の中の小さい「ｘ」ボタン上をクリックする。パケットがキャンバスから取り除かれる場合、それに対してマップされる全ての規則も同様に取り除かれる。テーブル・ウインドウは、それらに対してマップされる規則が無い限りのみ取り除かれることができる。従って、１つのマップは、最初に、テーブル・ウインドウに対してマップされているパケット・ウインドウを取り除く。ウインドウ及び規則をキャンバスから取り除くことは、それらを削除するものではない。対応するパケット・エクスポート規則は、依然パケット・エクスポート規則データベースの中に存在する。
【０１０６】
パケットとデータベース・テーブルとの間の新しいパケット・エクスポート（マッピング）規則を作成するため、ユーザは、最初に、パケット・ウインドウの中のコンテンツ又はコンテキストの上をクリックすることによりそのコンテンツ又はコンテキストを選択し、次いでデータベース・テーブル・ウインドウの中のフィールドの上をクリックすることによりそのフィールドを選択しなければならない。一旦前述の手順が実行されると、パケット・エクスポート・ユーザ・インタフェースは、マッピング規則を表すため、２つの選択されたアイテム間にラインを引く。最近選択されたコンテキスト又はコンテンツ・ラベルを持つ別のエクスポート規則を作成するため、パケット・ウインドウの中のラベルをダブルクリックし、次いで新しいデータベース・テーブル・フィールドを選択する。
【０１０７】
ユーザがマッピング規則即ちラインの上で左又は右マウス・ボタンをクリックするとき、そのラインは、規則が選択されたことを示すため太く表示される。これは、ユーザが規則の属性を変えるか、又はそれを削除するかを可能にする。規則が生成されるとき、それらの拡張方法は、「レベル」にセットされ、そしてパケット・コンテンツ／コンテキストは、記録セットを知識リポジトリにエクスポートするため必要とされない。しかしながら、規則がマップする対応するパケット及びデータベース・テーブルが既に規則を有する、即ち、ラインが既にそれらの間に引かれている場合、拡張レベルは、既存の規則のそれにセットされる。一実施形態において、規則の拡張方法が「レベル」であるその規則が１つの色で引かれ、これに対して、規則の拡張方法が「フル」であるその規則は異なる色で引かれる。ユーザがパケット及びデータベースをマップする規則の拡張方法を変えるとき、このパケットとデータベース・テーブルとの間の全規則の拡張方法が変えられる。最後に、ユーザがパケット・ウインドウ、データベース・テーブル・ウインドウ及び規則を除いて、キャンバス上の任意の位置を右クリックする場合、ユーザがマッピング規則をパケット・エクスポート規則データベースにセーブするのを可能にするポップアップ・メニューが現れる。
【０１０８】
リポジトリ　次のセクションにおいて、Ｄ２Ｋデータベースは、次の順序、即ち、インポート・フィルタ規則リポジトリ、パケット辞書リポジトリ、処理モジュール・リポジトリ、パケット・ディスパッチ規則、パケット・リポジトリ、テキスト抽出規則リポジトリ、パケット・エクスポート規則リポジトリ、メッセージ・ログ・リポジトリ及び知識ベースの順序で説明される。各データベースが簡単に記載される。
【０１０９】
一実施形態において、ユーザは、Ｄ２Ｋデータベースに格納されているデータを直接編集しない。代わりに、ユーザは、Ｄ２Ｋユーザ・インタフェースと対話し、次いでＤ２Ｋユーザ・インタフェースは、データベースのコンテンツを修正するであろう。
【０１１０】
インポート・フィルタ規則リポジトリ　動作（Ａｃｔｉｏｎ）テーブルは、パケット構成規則動作、即ち、データを無視する、データを無視し且つ新しいパケットを生成すること、新しいパケットを生成し且つデータをパケットの中にコンテンツとして挿入すること、データを現在のパケットの中にコンテンツとして挿入する、データを現在のパケットの中にコンテンツとして添付すること、及びデータを現在のパケットの中にコンテキストとして挿入することを格納する。
【０１１１】
フィールド・タイプ（ＦｉｅｌｄＴｙｐｅ）テーブルは、データ・フィールドの全体の及び省略形の名前を格納する。ＳＧＭＬインポート・フィルタの場合、データ・フィールドは、要素又は属性のいずれかである。
【０１１２】
ＩＤマップ系統（ＩｄＭａｐ，＿Ｌｉｎｅａｇｅ）テーブル及び作業空間（Ｗｏｒｋｓｐａｃｅ）テーブルは、データ構造のインポート及びパケット登録中にインポート・フィルタ規則により作成される。その系統テーブルは、コンテキストの承継（ｉｎｈｅｒｉｔａｎｃｅ）を促進するため各ノード子孫のマップをキャッシュする。
【０１１３】
パケット・タイプ（ＰａｃｋｅｔＴｙｐｅ）テーブル、コンテキスト・ラベル（ＣｏｎｔｅｘｔＬａｂｌｅ）テーブル及びコンテンツ・ラベル（ＣｏｎｔｅｎｔＬａｂｅｌ）テーブルは、パケット構成規則により生成されるパケットのパケット・タイプ、コンテンツ・ラベル及びコンテキスト・ラベルを格納する。
【０１１４】
文書構造（ＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅ）テーブルは、データ・ソースの構造が格納され処理される一時的バッファである。
パケット構成（ＰａｃｋｅｔＣｏｎｓｔｒｕｃｔｉｏｎ）テーブルは、パケット構成規則を格納する。テーブル内のデータは、入力データ・ソースの構造をインポートするプロセスにより生成され、そしてインポート・フィルタ・ユーザ・インタフェースにより修正される。
【０１１５】
パケット辞書リポジトリ　一実施形態において、パケット辞書データベースは６個のテーブルから成り、その１つは、一時的作業空間である。主テーブルは、ＰａｃｋｅｔＴｙｐｅ、ＣｏｎｔｅｎｔＬａｂｅｌ、ＣｏｎｔｅｘｔＬａｂｅｌ、ＰａｃｋｅｔＡｌｌｏｗｓＣｏｎｔｅｎｔ、及びＰａｃｋｅｔＡｌｌｏｗｓＣｏｎｔｅｘｔである。これらのテーブル内のデータは、合法のパケットのプロトタイプを指定する。幾つかの重要な（ｖｉｔａｌ）Ｄ２Ｋ機能は、パケット辞書を用いる。例えば、Ｄ２Ｋ訓練ユーザ・インタフェースは、パケット辞書を用いて、リスト・ボックス選択を制限し、それによりユーザが有効でない訓練規則を発生するのを禁止し、一方パケット・ファクトリは、パケット辞書を利用して、合法のパケットのみが生成されることを保証する。更に、幾つかの他のデータベースは、図４３に示されるようにパケット辞書テーブルへのリンクを含む。
【０１１６】
プロトタイプ登録（ＰｒｏｔｏｔｙｐｅＲｅｇｉｓｔｒａｔｉｏｎ）テーブルは作業空間であり、その作業空間は、パケット・プロトタイプを構成するため、幾つかのＤ２Ｋ構成要素により用いられる。次いで、パケット・プロトタイプは、パケット辞書を用いて登録される。
【０１１７】
パケット・タイプ（ＰａｃｋｅｔＴｙｐｅ）テーブル、コンテキスト・ラベル（ＣｏｎｔｅｘｔＬａｂｌｅ）テーブル及びコンテンツ・ラベル（ＣｏｎｔｅｎｔＬａｂｅｌ）テーブルは、合法のパケット・タイプ、コンテンツ・ラベル及びコンテキスト・ラベルをそれぞれ格納する。「パケットによるコンテンツの許可（ＰａｃｋｅｔＡｌｌｏｗｓＣｏｎｔｅｎｔ）」テーブル、及び「パケットによるコンテキストの許可（ＰａｃｋｅｔＡｌｌｏｗｓＣｏｎｔｅｘｔ）」テーブルは、どのコンテンツ及びコンテキスト・ラベルがどのパケットにおいて合法的であるかを指定する。
【０１１８】
パケット・モジュール・リポジトリ　処理モジュール・リポジトリは、登録された処理モジュールのリスト、並びにそれらを呼び出すため必要とされる情報を格納する。この情報は、プロセッサ（Ｐｒｏｃｅｓｓｏｒ）テーブルに格納される。更に、リポジトリは、どのパケットを各処理モジュールが生成することができるかを格納する。この情報は、「プロセッサにより登録されたコンテンツ（ＰｒｏｃｅｓｓｏｒＲｅｇｉｓｔｅｒｅｄＣｏｎｔｅｎｔ）テーブル、及び「プロセッサにより登録されたコンテキスト（ＰｒｏｃｅｓｓｏｒＲｅｇｉｓｔｅｒｅｄＣｏｎｔｅｘ）テーブルに格納される。一実施形態において、インポート・フィルタが処理モジュールでないにも拘わらず、このリポジトリは、どのパケットをインポート・フィルタが同様に生成することができるかを格納する。
【０１１９】
パケット・ディスパッチャ規則リポジトリ　パケット・ディスパッチャ規則リポジトリはパケット・ディスパッチ規則を格納する。マッチ仕様（ＭａｔｃｈＳｐｅｃ）は、マッチ仕様（ＭａｔｃｈＳｐｅｃ）テーブル、及び「マッチ仕様によるコンテキストの所持（ＭａｔｃｈＳｐｅｃＨａｓＣｏｎｔｅｘｔ）」テーブルに格納される。作業空間（Ｗｏｒｋｓｐａｃｅ）テーブルは、パケット・ディスパッチャ・インタフェースにより用いられる一時的作業空間である。
【０１２０】
パケット・リポジトリ　パケット・リポジトリは、パケットが継続され得るデータベースである。パケット・ディスパッチャは、パケットをリポジトリの中に存続させ、ユーザは、「パケットをデータベースにセーブする（Ｓａｖｅ　Ｐａｃｋｅｔ　ｉｎ　Ｄａｔａｂａｓｅ）」チェックボックスをエグゼクティブ・ウェブ・ページ上にセットする。パケットは、４つのテーブル、即ち、パケット（Ｐａｃｋｅｔ）テーブル、「パケットによるコンテンツの所持（ＰａｃｋｅｔＨａｓＣｏｎｔｅｎｔ）」テーブル、「コンテンツによる値の所持（ＣｏｎｔｅｎｔＨａｓＶａｌｕｅｓ）」テーブル、及び「パケットによるコンテキストの所持（ＰａｃｋｅｔＨａｓＣｏｎｔｅｘｔ）」テーブルに格納される。
【０１２１】
テキスト抽出規則リポジトリはテキスト抽出規則を格納し、そのテキスト抽出規則スキーマが図４４に示されている。トークンとエンティテイとの関係に注目されたい。全てのトークンは、その親エンティテイに対する関係を有する。直線はこの関係を示す。しかしながら、トークンが１つ又はそれより多い正規表現から成り得て、又はそれらが前に４つのエンティテイであり得ることを思い出されたい。トークンが後者のケースに入る場合、オプションの関係、即ち曲線は、非ヌルであり、そして前に見つけられたエンティテイを参照するであろう。
【０１２２】
収集（ｃｏｌｌｅｃｔｉｏｎ）は１つ又はそれより多いエンティテイを有するので、エンティテイは１つ又はそれより多いトークンを有し、トークンは１つ又はそれより多い正規表現等を有し、これらの１対多の関係を実現する仕方に関して判断がなされる。２つのコマンド表示が図４５に示されている。これらの表示を説明するため、トークンと正規表現エンティテイとを考えて見る。トークンは、１つ又はそれより多い正規表現を有し得て、例えば、文書ボリューム・トークンは、「ＦＩＮ」、「（ＭＭ）｜（ＡＭＭ）」及び「（ＷＭ）｜（ＷＤＭ）」のような正規表現を有し得る。前述の例は、図４５のオプションＡにより示されるように１対多のマッピングを意味する。代替のマッピングは、各正規表現が図４５のオプションＢに示されるように１つのトークンと関連付けられることである。第１のアプローチの利点は、正規表現が異なるトークンにより再使用され得ることであるが、これに対して、その欠点は、追加のデータベース・テーブルがその関係を格納するため必要とされることである。第２のアプローチの利点は、関係を別々のデータベース・テーブルに格納する必要がないことであり、これに対して、このアプローチの欠点は、データベースが、同じ正規表現が２つ以上のトークンにより参照されるため複写を含むことである。非技術的制約のため、本発明者は、後者のアプローチ、即ちオプションＢを選定する。
【０１２３】
ビン拡張方法（ＢｉｎＥｘｐａｎｓｉｏｎＭｅｔｈｏｄ）テーブルは、ビン拡張タイプ、即ち、「レベル」及び「フル（全）」の合法の値を含むルックアップ・テーブルである。
プロトタイプ（Ｐｒｏｔｏｔｙｐｅ）テーブルは作業空間であり、そしてテキスト抽出モジュールは、その作業空間を用いて、それが生成することができるパケットのプロトタイプを構成する。
【０１２４】
Ｃｏｌｌｅｃｔｉｏｎ、Ｅｎｔｉｔｙ、Ｔｏｋｅｎ、ＲｅｇＥｘｐｒ、Ｐｒｏｄｕｃｔｉｏｎ及びＦｏｒｍａｔの各テーブルは、収集、エンティテイ、トークン、正規表現、プロダクション及びフォーマットのそれぞれを格納する。
【０１２５】
ＥｎｔｉｔｙＮａｍｅテーブル及びＴｏｋｅｎＮａｍｅテーブルは、エンティテイ及びトークンの名前を格納する。エンティテイ（Ｅｎｔｉｔｙ）及びトークン（Ｔｏｋｅｎ）の両方のテーブルは、これらのテーブルからのエンティテイ及びトークンのそれぞれを参照する。これらの名前は、収集によるエンティテイの名前の正確な再使用及びエンティテイによるトークン名の正確な再使用をサポートするためそれら自体のテーブルに分離される。
【０１２６】
ＣｏｌｌｅｃｔｉｏｎＰｒｏｃｅｓｓｅｓＰａｃｋｅｔＣｏｎｔｅｎｔテーブルは、どのパケット・コンテンツがどの収集により処理されるかのリストを格納する。より正確であるため、テキスト抽出モジュールは、指定されたパケット・コンテンツの値を、規則の指定された収集に従って処理する。
【０１２７】
パケット・エクスポート規則リポジトリ　パケット・エクスポート規則リポジトリは、パケット・エクスポート規則を格納する。パケット・エクスポート・モジュールの挙動はこれらの規則により統治され、それらの規則はパケット・コンテンツ及びコンテキストをデータベース・テーブルのフィールドに対してマップする。パケット構成規則を訓練する前に、入力データの構造がその輪郭を描かれ、そしてインポート・フィルタ規則リポジトリにインポートされなければまさにならないように、知識リポジトリのスキーマは、パケット・エクスポート規則を訓練する前に、解析され、そしてパケット・エクスポート規則リポジトリにインポートされなければならない。
【０１２８】
拡張方法（ＥｘｐａｎｓｉｏｎＭｅｔｈｏｄ）テーブルは、ビン拡張タイプ、即ち、「レベル」及び「フル」の合法の値を含むルックアップ・テーブルである。
ＢｕｆＤＢＦｉｅｌｄテーブル及びＢｕｆＤＢＴａｂｌｅテーブルは一時的バッファであり、その一時的バッファに知識ベースのスキーマが、格納されそして処理される。これらのテーブル内のデータは、どのテーブル及び／又はフィールドが知識リポジトリ・スキーマの最後のインポート以来追加されたか、又は削除されたか、あるいは修正されたかを決定するためＤＢＴａｂｌｅテーブル及びＤＢＦｉｅｌｄテーブル内のデータと比較される。
【０１２９】
ＤＢＴａｂｌｅテーブル及びＤＢＦｉｅｌｄテーブルは、知識ベースのスキーマを格納する。これらのテーブルの両方は、スキーマ・インポート同士の間の差のフラグを立てるため、ＩｓＡｄｄｄｅｄフィールド及びＩｓＲｅｍｏｖｅｄフィールドを有する。更に、ＤＢＦｉｅｌｄテーブルはＩｓＭｏｄｉｆｉｅｄフィールドを同様に有する。
【０１３０】
ＭａｐＰａｃｋｅｔＴｙｐｅ２ＤＢＴａｂｌｅテーブル及びＭａｐＰａｃｋｅｔＩｎｆｏ２ＤＢＦｉｅｌｄテーブルは、パケット・エクスポート・マッピング規則を格納する。ＭａｐＰａｃｋｅｔＴｙｐｅ２ＤＢＴａｂｌｅは、どのパケットがどのデータベース・テーブルに対してマップされるかのリストを格納する。更に、値拡張方法はこのテーブルに格納される。ＭａｐＰａｃｋｅｔＩｎｆｏ２ＤＢＦｉｅｌｄテーブルは、どのパケット・コンテンツ／コンテキストがどのデータベース・テーブル・フィールドに対してマップされるかのリストを格納する。更に、コンテント値又はコンテキスト値が記録セットをエクスポートするため要求されるか否かを指定するフラグが、このテーブルに格納される。
【０１３１】
メッセージ・ログ・リポジトリ　Ｄ２Ｋは、メッセージ・ログ・リポジトリの中のエラー、警告及びデバッグ・メッセージを持続させる。メッセージ・ログは３つのテーブルを有する。ＭｏｄｕｌｅＴｙｐｅテーブルは、メッセージを生成することができるＤ２Ｋ構成要素のリストを格納する。Ｓｅｖｅｒｉｔｙ（重大さ）テーブルは、致命的、エラー、警告、メッセージ及びデバッグのようなエラーのクラスのリストを格納する。最後に、ＭｅｓｓａｇｅＬｏｇ（メッセージ・ログ）テーブルはメッセージを格納する。
【０１３２】
知識ベース　知識リポジトリのスキーマは、各Ｄ２Ｋアプリケーションに対して特有である。パケット・エクスポート・モジュールを訓練する前に、知識リポジトリ・スキーマは、パケット・エクスポート規則リポジトリにインポートされる。一旦インポートされると、ユーザは、パケット・コンテンツ及びコンテキストの値から成る記録セットをエクスポートするようパケット・エクスポート・モジュールを訓練する。
ハードウエア及び操作環境
図４６は、本発明のどの例示実施形態が実現され得るかに関連したコンピュータ化システムのブロック図である。コンピュータ９０は、プロセッサ９２、ランダム・アクセス・メモリ（ＲＡＭ）９４、読み出し専用メモリ（ＲＯＭ）９６、及びハード・ディスク・ドライブ、フロッピー・ディスク（登録商標）ドライブ（その中にフロッピー・ディスク（登録商標）を挿入することができる。）、光ディスク・ドライブ、テープ・カートリッジ・ドライブ等のような１つ又はそれより多い記憶装置９８を含む。ＲＡＭ９４及びＲＯＭ９６は、コンピュータのメモリを集約的に指している。メモリ、ハード・ドライブ、フロッピー・ディスク（登録商標）、ＣＤ−ＲＯＭ等は、コンピュータ可読媒体のタイプである。コンピュータ可読媒体は、プロセッサ９２により実行される命令を格納する。命令は、プロセッサ９２にバスを介して与えられる。本発明は、コンピュータ９０のいずれかのタイプに特に限定されない。そのようなコンピュータの構成及び動作は、当該技術では周知である。
【０１３３】
一実施形態においては、データ／知識（Ｄ２Ｋ）翻訳機が、コンピュータ９０のようなコンピュータ上で実行するソフトウエアの中に組み込まれている。一実施形態においては、Ｄ２Ｋシステムは、Ｃ＋＋コンピュータ言語を用いてソフトウエアで実現され、そして構成要素オブジェクト・モデル（ＣＯＭ）構成要素の集合としてパッケージされ、それは、ウェブ・ブラウザでインスタンス化（例示）され、且つＨＴＭＬウェブ・ページに埋め込まれたマイクロソフト・ビジュアル・ベーシック（Ｍｉｃｒｏｓｏｆｔ　Ｖｉｓｕａｌ　Ｂａｓｉｃ）（登録商標）及びＪａｖａ（登録商標）スクリプトを介して接続される。しかしながら、当業者は、他の互換性のあるハードウエア及びプログラミング言語を、本発明の範囲から外れることなく採用し得ることを認めるであろう。
【０１３４】
特定の実施形態が本明細書で説明され記載されたが、同じ目的を達成するため計算されたいずれの構成が、示された特定の実施形態に代わり得ることが当業者に認められるであろう。この出願は、本発明のいずれの適応又は変形をカバーすることを意図するものである。従って、本発明は特許請求の範囲及びその均等物によってのみ制限されることを明白に意図するものである。
【図面の簡単な説明】
【図１】
図１Ａは、本発明の一実施形態に従ったデータ／知識翻訳システムの高レベル・ブロック図である。
図１Ｂ、図１Ｃ及び図１Ｄは、データ／知識（Ｄ２Ｋ）翻訳システムの代替実施形態の高レベル・ブロック図である。
【図２】
図２は、図１に示されるデータ／知識翻訳機（Ｄ２Ｋ）システムを実行するための物理的アーキテクチャの例示実施形態のブロック図である。
【図３】
図３は、本発明の一実施形態に従ったＤ２Ｋ翻訳機を訓練するプロセスのフロー・チャートである。
【図４】
図４は、本発明の一実施形態に従った、Ｄ２Ｋ翻訳機を有する知識ベースを構成するためデータ・ソースを解析するプロセスのフロー・チャートである。
【図５】
図５は、図２に示されるパケットのためのパケット・データ構造の一実施形態のより詳細な図である。
【図６】
図６は、図２に示されるインポート・フィルタのような、本発明の一実施形態のインポート・フィルタに印加されることになる例示ソース・データを示す。
【図７】
図７は、図６の例示ソース・データに適用されることなる例示インポート・フィルタ規則を示す。
【図８】
図８は、図７に示される例示インポート・フィルタ規則を図６に示されるソース・データに適用することにより生成される第１のパケットの例示一実施形態を示す。
【図９】
図９は、図７に示される例示インポート・フィルタ規則を図６に示されるソース・データに適用することにより生成される第２のパケットの例示一実施形態を示す。
【図１０】
図１０は、図７に示される例示インポート・フィルタ規則を図６に示されるソース・データに印加することにより生成される第１のパケットの代替の例示実施形態を示す。
【図１１】
図１１は、図２のパケット・ディスパッチャにより使用の例示で親マッチ仕様規則を図示する。
【図１２】
図１２は、図２のテキスト抽出モジュールにより処理されることになるサンプル入力テキストである。
【図１３】
図１３は、テキスト抽出モジュールの集合の階層表示である。
【図１４】
図１４は、例示入力テキストの中でテキスト抽出モジュールが図１３の例示テキスト抽出規則により定義されるようなＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒ（装置番号）エンティテイを識別したその例示入力テキストである。
【図１５】
図１５は、例示入力テキストの中でテキスト抽出モジュールが図１３の例示テキスト抽出規則により定義されるようなＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅ（文書基準）エンティテイを識別したその例示入力テキストである。
【図１６】
図１６は、ビンの中にソートされたＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅプロダクション（図１３の例示テキスト抽出規則により定義されたように）に対するトークン値を示す。
【図１７】
図１７は、図１６のビンについての全拡張を実行することにより形成されたトークン値のセットを示す。
【図１８】
図１８は、マッチされたプロダクションのボリューム及びブックマーク・フォーマットを図１７のトークン値のセットに適用することから生じるフィールド・ラベル及び値を示す。
【図１９】
図１９は、図１８のフィールド・ラベル及び値から作成されるパケットの例示実施形態を示す。
【図２０】
図２０は、サンプル入力テキストの中でテキスト抽出モジュールが図１３の例示テキスト抽出規則により定義されるようなＦａｕｌｔエンティテイを識別したそのサンプル入力テキストである。
【図２１】
図２１は、ＴｅｍＦａｕｌｔＥｎｔｉｔｙパケットとＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙ及びＴｅｍＥｑｕｉｐｍｅｎｔＮｕｍｂｅｒＥｎｔｉｔｙパケットとの関係を図示する。
【図２２】
図２２は、サンプル知識ベースに対してパケットがエクスポートされるそのサンプル知識ベースのデータベース・スキーマを図示するブロック図である。
【図２３】
図２３は、例示エンティテイを例示テーブルに対してマップするパケット・エクスポート規則の図的表示である。
【図２４】
図２４は、図１９のＴｅｍＤｏｃｕｍｅｎｔＲｅｆｅｒｅｎｃｅＥｎｔｉｔｙパケットをエクスポートした後の例示テーブルである。
【図２５】
図２５は、図１９のパケットをエクスポートした後の５個の例示テーブルを示す。
【図２６】
図２６は、ウェブ・エグゼクティブに対するユーザ・インタフェースの例示実施形態である。
【図２７】
図２７は、インポート・フィルタ・エディタの一実施形態のスクリーン・キャプチャである。
【図２８】
図２８は、インポート・フィルタ・エディタの検索ダイアログ・ボックスの一実施形態である。
【図２９】
図２９は、インポート・フィルタ・エディタのパケット構成特性ダイアログ・ボックスの一実施形態である。
【図３０】
図３０は、インポート・フィルタ・エディタの「Ｎｅｘｔ（次の）」メニューの一実施形態である。
【図３１】
図３１は、インポート・フィルタ・エディタの「Ｂｏｏｋｍａｒｋ（ブックマーク）」メニューの一実施形態である。
【図３２】
図３２は、インポート・フィルタ・ユーザ・インタフェースのモードレスの「Ｃｕｒｒｅｎｔ　Ｐａｃｋｅｔ　Ｉｎｆｏｒｍａｔｉｏｎ（現在のパケット情報）」の一実施形態である。
【図３３】
図３３は、パケット・ディスパッチャ・ユーザ・インタフェースのプロセッサ及びパケット選択パネルの一実施形態である。
【図３４】
図３４は、パケット・ディスパッチ・ユーザ・インタフェースのマッチ仕様パネルの一実施形態である。
【図３５】
図３５は、パケット・ディスパッチ・ユーザ・インタフェースの一実施形態の「マッチスペックｉｆｉｃａｔｉｏｎ　Ｐｒｏｐｅｒｔｅｓ（マッチ仕様特性）」ダイアログ・ボックスである。
【図３６】
図３６は、テキスト抽出ユーザ・インタフェースのダイアログ・バーの一実施形態である。
【図３７】
図３７は、規則パネルの一実施形態のスクリーン・キャプチャである。
【図３８】
図３８は、注釈パネルの一実施形態のスクリーン・キャプチャである。
【図３９】
図３９は、グリッド・パネルの一実施形態のスクリーン・キャプチャである。
【図４０】
図４０は、知識リポジトリ・スキーマ・インポート制御の一実施形態のスクリーン・キャプチャである。
【図４１】
図４１は、パケット・エクスポート選択パネルの一実施形態のスクリーン・キャプチャである。
【図４２】
図４２は、グラフィックス・パネルの一実施形態のスクリーン・キャプチャである。
【図４３】
図４３は、パケット、パケット辞書、処理モジュール及びパケット・ディスパッチ規則データベース間の関係を図示するブロック図である。
【図４４】
図４４は、テキスト抽出規則データベースの一実施形態に対するスキーマのエンティテイ関係図である。
【図４５】
図４５は、「１対多」の関係を表す２つの方法を図示する。
【図４６】
図４６は、それに関連して本発明の例示実施形態が実行され得るコンピュータ化システムのブロック図である。
【図１】
2004502993.tif 000006
【図２】
2004502993.tif 000007
【図３】
2004502993.tif 000008
【図４】
2004502993.tif 000009
【図５】
2004502993.tif 000010
【図７】
2004502993.tif 000011
【図８】
2004502993.tif 000012
【図９】
2004502993.tif 000013
【図１０】
2004502993.tif 000014
【図１１】
2004502993.tif 000015
【図１２】
2004502993.tif 000016
【図１４】
2004502993.tif 000017
【図１５】
2004502993.tif 000018
【図２０】
2004502993.tif 000019
【図２６】
2004502993.tif 000020
【図３６】
2004502993.tif 000021
【図４３】
2004502993.tif 000022
【図４４】
2004502993.tif 000023
【図４５】
2004502993.tif 000024
【国際公開パンフレット】
2004502993.tif 000025
2004502993.tif 000026
2004502993.tif 000027
2004502993.tif 000028
2004502993.tif 000029
2004502993.tif 000030
2004502993.tif 000031
2004502993.tif 000032
2004502993.tif 000033
2004502993.tif 000034
2004502993.tif 000035
2004502993.tif 000036
2004502993.tif 000037
2004502993.tif 000038
2004502993.tif 000039
2004502993.tif 000040
2004502993.tif 000041
2004502993.tif 000042
2004502993.tif 000043
2004502993.tif 000044
2004502993.tif 000045
2004502993.tif 000046
2004502993.tif 000047
2004502993.tif 000048
2004502993.tif 000049
2004502993.tif 000050
2004502993.tif 000051
2004502993.tif 000052
2004502993.tif 000053
2004502993.tif 000054
2004502993.tif 000055
2004502993.tif 000056
2004502993.tif 000057
2004502993.tif 000058
2004502993.tif 000059
2004502993.tif 000060
2004502993.tif 000061
2004502993.tif 000062
2004502993.tif 000063
2004502993.tif 000064
2004502993.tif 000065
2004502993.tif 000066
2004502993.tif 000067
2004502993.tif 000068
2004502993.tif 000069
2004502993.tif 000070
2004502993.tif 000071
2004502993.tif 000072
2004502993.tif 000073
2004502993.tif 000074
2004502993.tif 000075
2004502993.tif 000076
2004502993.tif 000077
2004502993.tif 000078
2004502993.tif 000079
2004502993.tif 000080
2004502993.tif 000081
2004502993.tif 000082
2004502993.tif 000083
2004502993.tif 000084
2004502993.tif 000085
2004502993.tif 000086
2004502993.tif 000087
2004502993.tif 000088
2004502993.tif 000089
2004502993.tif 000090
2004502993.tif 000091
2004502993.tif 000092
2004502993.tif 000093
2004502993.tif 000094
2004502993.tif 000095
2004502993.tif 000096
2004502993.tif 000097
2004502993.tif 000098
2004502993.tif 000099
2004502993.tif 000100
2004502993.tif 000101
【国際公開パンフレット（コレクトバージョン）】
2004502993.tif 000102
2004502993.tif 000103
【国際調査報告】
2004502993.tif 000104
2004502993.tif 000105