(57)【特許請求の範囲】
【請求項１】
少なくとも部分的に非構造化されたデータを処理する方法であって、
データ処理ツールにおいて少なくとも一つのデータソースから少なくとも部分的に非構造化されたデータであって、メインアプリケーションからの実際のデータを含む少なくとも部分的に非構造化されたデータを含むデータファイルを受信するステップと、
タグ付きデータを含む少なくとも部分的に構造化されたデータの生成をもたらすために、プロセッサによって少なくとも部分的に非構造化されたデータを処理するステップであって、タグ付きデータは少なくとも１つの対象項目を含み、
連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理することと、
正規表現処理プログラムを使用して少なくとも部分的に非構造化されたデータを処理すること、
の両方を含む、前記少なくとも部分的に非構造化されたデータを処理するステップと、
少なくとも部分的に構造化されたデータを含むデータファイルをメインアプリケーションへ送信するステップと、
タグ付きデータに少なくとも部分的に基づいて少なくとも部分的に構造化されたデータをメインアプリケーションへ組み込むステップであって、タグの存在、コンテンツ及び種類のうちの少なくとも１つに基づいてデータを含めること及び除外することの少なくとも１つを含む、少なくとも部分的に構造化されたデータを組み込むステップと、
ユーザインターフェースにおいて少なくとも部分的に構造化されたデータであって、間違ってタグ付けされたこと、及び間違いによりタグ付けされなかったことの少なくとも１つがなされた誤認データの少なくとも１つのセグメントを含む少なくとも部分的に構造化されたデータを表示するステップと、
ユーザインターフェースにおいて誤認データの少なくとも１つのセグメントのユーザ選択を受信するステップと、
再識別データを形成するために誤認データをアップデートするステップと
タグ付けされたことまたはタグ付けされなかったことが正しかったデータを含む再識別データを含めるように前記連想記憶アプリケーションをアップデートするステップと、
パースされたテキストセグメントと前記連想記憶アプリケーションに組み込まれたテキスト列の比較に基づいて、１つ以上のパースされたテキストセグメントをボイラープレートデータとして特定するステップと、
前記少なくとも部分的に構造化されたデータからパースされたテキストセグメントを含むデータを前記メインアプリケーションに組み込むステップとを備え、
前記ボイラープレートデータとして特定されたテキストは、前記メインアプリケーションへ組み込まれるデータから除外される、方法。
【請求項２】
少なくとも部分的に構造化されたデータが正確にタグ付けされているかを検証し、
少なくとも部分的に構造化されたデータをメインアプリケーションに組み込むことができるように、少なくとも部分的に構造化されたデータを解放する
ステップをさらに含む、請求項１に記載の方法。
【請求項３】
少なくとも部分的に構造化されたデータを検証するステップが、少なくとも部分的に構造化されたデータの一以上の識別タグを調べるステップを含む、請求項２に記載の方法。
【請求項４】
連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理するステップが、
少なくとも部分的に非構造化されたデータを少なくとも部分的に非構造化されたデータの一以上のセグメントにパースし、
少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントについて連想記憶アプリケーションにクエリを行い、
少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントと、連想記憶アプリケーションのデータの少なくとも１つのセグメントに関するスコアを生成し、
スコアに基づいて少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントをタグ付けする
ステップを含む、請求項１から３のいずれか１項に記載の方法。
【請求項５】
連想記憶アプリケーションにクエリを行うステップが、ボイラープレートを含むデータの少なくとも１つのセグメントを含む連想記憶アプリケーションにクエリを行うステップを含み、少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントをタグ付けするステップが、ボイラープレートを含む少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントをタグ付けするステップを含む、請求項４に記載の方法。
【請求項６】
誤認データの少なくとも１つのセグメントに基づいて連想記憶アプリケーションおよび正規表現処理プログラムのソースの正規表現パターンをアップデートする
ステップをさらに含む、請求項１から５のいずれか１項に記載の方法。
【請求項７】
少なくとも部分的に構造化されたデータを出力テーブル及び出力ハイパーテキストマークアップ言語（ＨＴＭＬ）ページのうちの一つに出力するステップをさらに含む、請求項１から６のいずれか１項に記載の方法。
【請求項８】
正規表現処理プログラムを使用して、少なくとも部分的に非構造化されたデータを処理するステップが、
少なくとも１つのソースの正規表現パターンを少なくとも部分的に非構造化されたデータに適用し、
少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントを少なくとも１つのソースの正規表現パターンと照合し、
少なくとも部分的に非構造化されたデータの少なくとも１つの照合済みセグメントを識別タグでタグ付けすることを含む、少なくとも部分的に非構造化されたデータの少なくとも一つの照合済みセグメントをタグ付けする
ステップを含む、請求項１から７のいずれか１項に記載の方法。
【請求項９】
少なくとも部分的に非構造化されたデータを処理するシステムであって、
処理装置と、
前記処理装置に通信可能に連結されたユーザインターフェースと、
前記処理装置に通信可能に連結された記憶装置及び前記処理装置に通信可能に連結された通信インターフェースのうちの少なくとも１つと、
を含むシステムであって、前記処理装置は、
前記記憶装置及び前記通信インターフェースのうちの少なくとも１つから少なくとも部分的に非構造化されたデータであって、メインアプリケーションからの実際のデータを備える少なくとも部分的に非構造化されたデータを受信し、
少なくとも１つの対象項目を含むタグ付きデータを含む少なくとも部分的に構造化されたデータの生成をもたらすために、
処理装置上で実行される連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理することと、
処理装置上で実行される正規表現処理プログラムを使用して少なくとも部分的に非構造化されたデータを処理すること、
の両方によって、処理装置上で実行されるデータ処理ツールを使用して少なくとも部分的に非構造化されたデータを処理し、
タグの存在に基づいてデータを含めること及び除外することの少なくとも１つを行うことにより、タグ付けに基づいて少なくとも部分的に構造化されたデータをメインアプリケーションに組み込み、
少なくとも部分的に構造化されたデータであって、間違ってタグ付けされたこと及び間違いによりタグ付けされなかったことの少なくとも１つがなされた誤認データの少なくとも１つのセグメントを含む、少なくとも部分的に構造化されたデータをユーザインターフェースにおいて表示させ、
誤認データの少なくとも１つのセグメントのユーザ選択を受信し、
再識別データを形成するために誤認データをアップデートし、
タグ付けされたことまたはタグ付けされなかったことが正しかったデータを含む再識別データを含めるように前記連想記憶アプリケーションをアップデートし、
パースされたテキストセグメントと前記連想記憶アプリケーションに組み込まれたテキスト列の比較に基づいて、１つ以上のパースされたテキストセグメントをボイラープレートデータとして特定し、
前記少なくとも部分的に構造化されたデータからパースされたテキストセグメントを含むデータを前記メインアプリケーションに組み込み、
前記ボイラープレートデータとして特定されたテキストは、前記メインアプリケーションへ組み込まれるデータから除外される、ようにプログラミングされている、システム。
【請求項１０】
前記処理装置がさらに、
誤認データの少なくとも１つのセグメントに基づいて、連想記憶アプリケーションおよび正規表現処理プログラムのソースの正規表現パターンをアップデートする
ようにプログラミングされている、請求項９に記載のシステム。
【請求項１１】
連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理するために、前記処理装置がさらに、
少なくとも部分的に非構造化されたデータを少なくとも部分的に非構造化されたデータの一以上のセグメントにパースし、
少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントについて、処理装置上で実行される連想記憶アプリケーションにクエリを行い、
少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントと、連想記憶アプリケーションのデータの少なくとも１つのセグメントに関するスコアを生成し、
スコアに基づいて少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントをタグ付けする
ようにプログラミングされている、請求項９又は１０に記載のシステム。
【請求項１２】
正規表現処理プログラムを使用して少なくとも部分的に非構造化されたデータを処理するために、前記処理装置がさらに、
少なくとも１つのソースの正規表現パターンを少なくとも部分的に非構造化されたデータに適用し、
少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントを少なくとも１つのソースの正規表現パターンと照合し、
少なくとも部分的に非構造化されたデータの少なくとも１つの照合済みセグメントをタグ付けする
ようにプログラミングされており、
前記処理装置がさらに、少なくとも部分的に構造化されたデータを前記記憶装置の出力テーブル及び出力ハイパーテキストマークアップ言語（ＨＴＭＬ）ページのうちの一つに出力して、前記ユーザインターフェースを介して表示するようにプログラミングされている、
請求項９から１１のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は概してデータ解析に関し、さらに具体的には非構造化データ及び／又は部分的に構造化されたデータを処理して、アプリケーションによって処理するための構造化データを生成することに関するものである。本明細書で使用する非構造化データとは、データを生成した人の構文／言語に基づくデータの自由形式及び変数を指すものである。
【背景技術】
【０００２】
データ解析システムにおいて、非構造化テキスト及び／又は部分的に構造化されたテキスト又は例えば文字数字の列及び非文字数字のデータ（画像、メタデータ等）等のその他のデータタイプ等のデータはしばしば、システムに追加する前にさらに構造化された形式に処理する及び／又は組織化する必要がある。しかしながら、非構造化テキスト及び／又は部分的に構造化されたデータから関連情報を識別する、パースする、及び抽出することは難しく、また時間がかかる可能性がある。この情報を識別するために汎用パーサー及び／又はエキストラクタを使用すると、データが無視される、誤認される、及び／又は不適切に脱構築される可能性がある。
【０００３】
これらのエラーを訂正するため、情報を適切に識別するようにアプリケーション特有のコードがしばしば作成される。しかしながら、この特化したコードを作成し実行するには多大な時間がかかる可能性があり、得られたコードは特定の状況にのみ応用可能である場合がある。さらに、非構造化テキスト及び／又は部分的に構造化されたデータのソースを定期的にアップデートすることは、さらに特化されたコードを必要とし得る新しい状況をもたらすため、これらの問題を悪化させる。さらに、通常特化されたコードは経験のある職員によってのみ作成及びアップデートが可能である。
【０００４】
自然言語法を実行して非構造化データ及び／又は部分的に構造化されたデータを処理及び／又は組織化することもできる。しかしながら、非構造化データ及び／又は部分的に構造化されたデータのソースによっては、自然言語は非構造化データ及び／又は部分的に構造化されたデータを組織化するのに効果的でない場合がある。さらに、自然言語法は適切にプログラミング及びアップデートを行うためにオントロジーの専門家及びデータマイニングの専門家を必要とする場合がある。最後に、ルールベースシステム、ニューラル・ネットワーク、及び／又はベイジアンネットワーク等の人工知能ツールを使用して、非構造化データ及び／又は部分的に構造化されたデータを処理する及び／又は組織化することができる。しかしながらこれらのシステムを実行する及び／又はアップデートするためにも、経験のある職員が必要である。
【発明の概要】
【０００５】
ある態様では、少なくとも部分的に非構造化されたデータを処理する方法が提供されている。この方法は、データ処理ツールにおいて少なくとも一つのデータソースから少なくとも部分的に非構造化されたデータを受信して、少なくとも部分的に非構造化されたデータを処理して、タグ付きデータを含む少なくとも部分的に構造化されたデータを生成することを含み、タグ付きデータには少なくとも一つの対象項目が含まれ、少なくとも部分的に非構造化されたデータの処理には、連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理する、及び正規表現処理プログラムを使用して少なくとも部分的に非構造化されたデータを処理することのうちの少なくとも一つが含まれる。この方法はさらに、少なくとも部分的に構造化されたデータをメインのアプリケーションへ送信し、少なくとも部分的にタグ付きデータに基づいて、少なくとも部分的に構造化されたデータをメインのアプリケーションへ組み込むことを含み、少なくとも部分的に構造化されたデータの組み込みには、タグの存在、コンテンツ、及び／又は種類に基づいてデータを含める及び除外することのうちの少なくとも一つが含まれる。
【０００６】
別の態様では、コンピュータによって実行可能な命令が具現化された一以上のコンピュータによって読み取り可能な記憶媒体が提供されている。少なくとも一つのプロセッサによって実行された時、コンピュータによって実行可能な命令により、少なくとも一つのプロセッサがデータ処理ツールにおいて少なくとも一つのデータソースから少なくとも部分的に非構造化されたデータを受信し、少なくとも部分的に非構造化されたデータを処理してタグ付きデータを含む少なくとも部分的に構造化されたデータを生成し、タグ付きデータには少なくとも一つの対象項目が含まれ、少なくとも部分的に非構造化されたデータを処理するために、コンピュータによって実行可能な命令によりプロセッサが、連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理する、及び正規表現処理プログラムを使用して少なくとも部分的に非構造化されたデータを処理することのうちの少なくとも一つを行う。この命令によりさらに、少なくとも一つのプロセッサが少なくとも部分的に構造化されたデータをメインのアプリケーションへ送信し、タグ付きデータに少なくとも部分的に基づいて、少なくとも部分的に構造化されたデータをメインのアプリケーションへ組み込み、少なくとも部分的に構造化されたデータの組み込みには、タグの存在に基づいてデータを含める及び除外することのうちの少なくとも一つが含まれる。
【０００７】
さらに別の態様では、少なくとも部分的に非構造化されたデータを処理するシステムが提供されている。このシステムは処理装置、処理装置に通信可能に連結されたユーザインターフェース、処理装置に通信可能に連結された少なくとも一つの記憶装置、処理装置に通信可能に連結された通信インターフェースを含む。処理装置は、少なくとも一つの記憶装置と通信インターフェースから少なくとも部分的に非構造化されたデータを受信し、処理装置で実行されるデータ処理ツールを使用して少なくとも部分的に非構造化されたデータを処理して、処理装置で実行される連想記憶アプリケーションを使用して少なくとも部分的に非構造化されたデータを処理する、及び処理装置で実行される正規表現処理プログラムを使用して少なくとも部分的に非構造化されたデータを処理することのうちの少なくとも一つを行うことによって、少なくとも一つの対象項目を含むタグ付きデータを含む少なくとも部分的に構造化されたデータを生成し、少なくとも部分的に構造化されたデータをタグ付けに基づいてメインアプリケーションに組み込むようにプログラミングされており、少なくとも部分的に構造化されたデータの組み込みには、タグの有無に基づいてデータを含める及び除外することのうちの少なくとも一つが含まれる。
【０００８】
説明した特徴、機能及び利点は、様々な実施形態において個別に達成することができる、または下記の説明及び図面を参照することによってさらに詳細を理解することができる更に別の実施形態と組み合わせることができる。
【図面の簡単な説明】
【０００９】
【図１】図１はテキストを処理する手順のフロー図である。
【図２Ａ】図２Ａは図１に示す手順を示す図である。
【図２Ｂ】図２Ｂは図１に示す手順を示す図である。
【図２Ｃ】図２Ｃは図１に示す手順を示す図である。
【図２Ｄ】図２Ｄは図１に示す手順を示す図である。
【図３】図３は非構造化テキストをタグ付けして構造化テキストを生成する例示の手順のフロー図である。
【図４】図４は正規表現処理プログラムを使用して非構造化テキストをタグ付けする例示の方法を示す図である。
【図５】図５は連想記憶アプリケーションを使用して非構造化テキストのタグ付けを行う例示の方法を示す図である。
【図６】図６は連想記憶アプリケーションを使用して非構造化テキストを識別しタグ付けする例示の方法のフロー図である。
【図７】図７は識別スコアを生成する例示の方法のフロー図である。
【図８Ａ】図８Ａは誤認テキストを識別し選択する例示のユーザインターフェースの実施形態である。
【図８Ｂ】図８Ｂは誤認テキストを識別し選択する例示のユーザインターフェースの実施形態である。
【図８Ｃ】図８Ｃは誤認テキストを識別し選択する例示のユーザインターフェースの実施形態である。
【図９】図９は例示のテキスト処理システムのブロック図である。
【図１０】図１０はデータ処理システムの図である。
【発明を実施するための形態】
【００１０】
本明細書に記載する方法及びシステムは、データソース（例：テキスト文書、データベースフィールドなど）に含まれうる対象項目の識別に関連するものである。本明細書に記載された実施例及び実施形態はテキストの処理を対象にしたものであるが、当然ながら実施形態は限定的なものと解釈すべきでない。テキスト処理の実施例及び実施形態は明確さのために記載されたものである。本明細書に使用される実施例は限定的なものと考えるように意図されたものでなく、説明するための例にすぎない。むしろ、本明細書に記載された実施形態は、一以上のテキスト、文字数字のデータ、埋込みオブジェクト、画像、メタデータ、ビデオ、音声、マルチメディア、及びすべての種類のデータ及び情報ストリームを含むどんな種類の情報及び／又はデータの処理をも含むように意図されており、上記データ及び情報のいかなる特定の形式又は種類にも限定されない。
【００１１】
したがってこの方法及びシステムは例えば、データ処理ツールを使用してデータのタグ付けを行ってデータを「構造化」すると同時に、処理中に生じたデータのすべての構造化の検証を行うことに関するものである。本明細書にさらに記載されているが、当然ながら実施形態は文書内の非構造化データの「構造化」に関するだけでなく、部分的に構造化されたデータを含む文書のさらなる構造化にも関するものである。さらに明確にするために、本明細書で使用する非構造化データは、例えば人の構文／言語に基づくフリー形式及び変数である、人によって通常入力されるテキスト等のデータを指すものである。例えば、電子メール及びノーツフィールドでは通常ユーザがフリー形式の応答を入力することができる。さらに本明細書で使用する構造化データは、データの情報がタグ付きである、又はそうでなければ組織化された方法で発呼されている場合に、構造化された及び／又は部分的に構造化されたものを指す。前述した文書内の対象項目へのタグの追加は、文書内のデータを構造化することと類似している。
【００１２】
上記実施形態は、既存のデータを処理する方法よりも改善された効率性及びパフォーマンスを提供する。本明細書にさらに記載するように、連想記憶アプリケーション及び／又は正規表現処理プログラムのうちのいずれかあるいは両方を使用して、データ内の対象項目を識別し、タグ付けを通して構造化し、検証することができる。連想記憶は、複数のデータと、複数のデータ間の複数の関連性を含む。連想記憶アプリケーションはまた、連想記憶エンジンを使用してデータソースを互いに組み込むことによって作成される連想記憶とも呼ばれる。連想記憶エンジンは、データベースソフトが多数のデータベースを制御するのと同じように、連想記憶の作成、メンテナンス及びアクセスを制御するアプリケーションである。連想記憶はその他のエンティティ及び属性に関連する及び／又は関連付けされるエンティティ及び属性を含む。エンティティは、特定の対象項目の連想記憶のインスタンスであり、属性は関連付けされたエンティティの特性及び／又は記述である。連想記憶は、連想記憶間の属性、エンティティ及び関連性を記憶する。
【００１３】
さらに、非構造化データ及び／又は部分的に構造化されたデータがさらに構造化されるデータに処理された後で、データ処理ツールによって誤認されたすべてのデータを識別することができる。誤認（間違ってタグ付けされた）データの上記インスタンスは、さらなるデータサンプルの識別、処理、及び検証におけるデータ処理ツールの能力を向上させ改善するために使用される。本明細書で使用する誤認データは、間違ってタグ付けされた及び／又は間違いによりタグ付けされなかったデータ（すなわち、例えば事前にタグ付けする必要があると識別されなかったが、後にタグ付けが必要であることが発見されたデータ等の処理中にタグ付けされるべきであったがされなかった未確認データ）を指すものである。
【００１４】
さらに、いくつかの実施形態では、ユーザインターフェースによりユーザが最新のデータ処理方法及びシステム、及び／又は連想記憶システム及び正規表現処理プログラムの経験者である必要なく、誤認データを識別し選択することが可能になる。本明細書に記載された方法及びシステムの少なくとも幾つかでは専門の職員がデータ処理ツールを維持し及びアップデートすることを必要としないため、本明細書に記載された方法及びシステムにより、既知のデータ解析システムに伴う費用の削減が促進される。
【００１５】
図１はテキストを処理する手順１００を示すフロー図である。手順１００は、例えば上に定義した非構造化テキスト及び／又は部分的に構造化されたテキスト等の処理すべきテキストを識別する１０２ことを含む。非構造化テキスト及び／又は部分的に構造化されたテキストにおいて対象項目が識別される１０４。例えば、ある実施形態において、顧客はデータアナリストに対して対象項目を視覚的に識別する１０４ことができる。対象項目は次にタグ付けされて１０６、テキストが少なくとも部分的に構造化される。対象項目は手動又は自動プロセスを使用してタグ付けする１０６ことができる。
【００１６】
（後にさらに説明するように）テキストに構造を提供するタグを含む、結果として得られた構造化テキスト（及び／又は部分的に構造化されたテキスト）が検証される１０８。検証１０８は、テキスト処理システムの一以上のコンポーネントに連結されたユーザインターフェース上に構造化テキストを表示し、テキストに構造を提供する様々なタグを観察することを含むことができる。上記タグを観察することによって、非構造化テキスト及び／又は部分的に構造化されたテキストが適切にタグ付けされたかどうかを迅速に検証することができる。さらに、いくつかの実施形態では、ユーザが間違いによりタグ付けされた又はタグ付けされていないすべてのテキストを選択して、利用している一以上のテキスト処理ツールをアップデートするのに使用することができる。構造化テキストが検証された１０８後で、構造化テキストはさらなる処理のために解放される。解放されたテキストは、タグ付けに基づいて構造化テキストを処理する及び／又は組み込む全ての好適なデータマイニング及び／又はデータ処理アプリケーションへ送ることができる。例えば、構造化テキストは後にさらに説明するようにメインのアプリケーションへ送ることができる。
【００１７】
図２Ａ〜Ｄは、対象項目を識別して必要に応じて対象項目をタグ付けすることによって、非構造化テキスト及び／又は部分的に構造化されたテキストを処理し、これによりテキストに構造、又は追加の構造を与える例示の手順を示す図である。手順は、様々なテキストを処理する方法及びシステムを使用して実行可能である。図２Ａは元の形式の非構造化テキスト２０２のサンプルを含む。非構造化テキスト２０２、及び／又は部分的に構造化されたテキスト（図２に図示せず）は例えばデータソースに記憶されうる。図２Ｂには、明確化のために非構造化テキスト２０２内の複数の対象項目２０４を太字フォントで示す。例示の実施形態では、対象項目２０４は非構造化テキスト２０２の著者、年、大学名、町名、品番、及び本のタイトルを含む。
【００１８】
テキストサンプルが部分的に非構造化されたテキストを含む実施形態では、対象項目のいくつかはすでにタグ付けされている場合がある。例えば、著者及び年は事前にタグ付けされている場合があるが、大学名はまだタグ付けされる必要があり得る。あるいは、対象項目２０４は、本明細書に記載されるようにタグ付けを通して識別及び処理される可能性のある非構造化テキスト及び／又は部分的に構造化されたテキスト内の項目の全てのカテゴリ及び／又は種類を含むことができる。例えば、本明細書に説明する特定の実施形態では、対象項目２０４は動物、日付、及び／又はボイラープレートテキストを含む。
【００１９】
当然ながら、「ボイラープレート」は、特にテキストが多数のソースによって作成された時に、しばしばスタイル、フォーマット、及び／又はコンテンツと同様のアプリケーション領域に基づくテキストのカテゴリを表す一般用語である。あるアプリケーション領域では、ボイラープレートは署名ブロック、法的免責、商標印、及び／又は遠隔地間会議情報を含む。本明細書においてしばしばテキストと呼ばれるが、ボイラープレートは一以上の文字数字データ、埋込みオブジェクト（画像、メタデータなど）も含む場合があることを注記すべきである。ある実施形態では、顧客は非構造化テキスト及び／又は部分的に構造化されたテキスト２０２において対象項目２０４を視覚的に識別する。
【００２０】
対象項目２０４が識別されると、対象項目２０４はタグ付けされ、この結果テキスト２０２が構造化される及び／又は部分的に構造化される。例示の実施形態では、顧客は例えばユーザインターフェースを使用して対象項目２０４を視覚的に識別する。ユーザインターフェースはテキスト処理システムの一以上のコンポーネントに連結させることができる。ある実施形態では、顧客はデータアナリストに対象項目２０４を説明する。追加の対象項目２０４をタグ付けしてテキストをさらに構造化すべきかを決定するために、データアナリストは顧客と非構造化テキスト及び／又は部分的に構造化されたテキスト２０２のパターン及び／又は項目を話し合う場合がある。データアナリストは次に、同じユーザインターフェース、又はテキスト処理システムの一以上のコンポーネントに連結された別のユーザインターフェースを使用して追加の対象項目２０４をタグ付けする。
【００２１】
あるいは、対象項目２０４を自動プロセスによってタグ付けし、テキストを構造化及び／又は部分的に構造化することができる。ある実施形態では、自動プロセスは適切な名詞、品番、及び／又は特定の種類の情報のその他全ての値の集合体の既知のリスト全体をクロールする。さらに自動プロセスは上述したように、連想記憶アプリケーション及び／又は正規表現処理プログラミングを使用して実行可能である。またさらに、自動プロセスはまた上記値の集合体を識別するためにオントロジーベースの方法を用いることもできる。この場合、また本明細書に記載していないその他の場合において、自動プロセスにおいて明らかとなった、結果として得られた対象項目２０４に適用可能なタグを適用して上記テキストに構造を加えることができる。
【００２２】
図２Ｃにおいて、対象項目２０４が識別されてタグ２０６が挿入され、これによりテキストが構造化される。例えば、日付タグを含むことは特に重要でありうる一方、除外タグは重要でない可能性がある。このため、上記タグ２０６の存在は、少なくとも部分的に構造化されたテキスト２０７を示す。例えば、構造化テキスト２０７において、「Ｈｅｎｒｙ  Ｄａｖｉｄ  Ｔｈｏｒｅａｕ」は「ａｕｔｈｏｒ」タグ２０８を使用してタグ付けされ、「１８６２」は「ｙｅａｒ」タグ２１０を使用してタグ付けされ、「Ｃｏｎｃｏｒｄ」は「ｃｉｔｙ」タグ２１２を使用してタグ付けされる。図２Ｃに示す実施例においては、タグ２０６はまた「ｐａｒｔ＿ｎｕｍｂｅｒ」タグ２１４と「ｂｏｏｋ＿ｔｉｔｌｅ」タグ２１６も含む。上で説明したように、タグ２０６はデータアナリストによって、又は自動プロセスを使用することによって非構造化テキスト及び／又は部分的に構造化されたテキスト２０２に挿入可能である。上記タグの挿入により、テキストの構造が生成される。
【００２３】
図２Ｄに示すように、各種のタグ２０６はまた固有の識別タグ、又は「ｉ−ｔａｇ」を含むこともできる。タグ及び「ｉ−ｔａｇ」の形式は変形し、ＨＴＭＬ／ＸＭＬスタイルのタグの使用又は完全に異なる形式を含む異なる形式を使用することができる。図２Ｄにおいて、ｉ−ｔａｇは太字フォントで示され、形式［ｉｘｘ］を有する。図２Ｄの個別のｉ−ｔａｇのうちの幾つかは下記の段落において個別に参照される。ｉ−ｔａｇにより、例えば顧客及び／又はデータアナリスト等のユーザが、各タグ２０６が対象項目２０４にいかに良く適用されているかを判断することが可能になる。さらに具体的には、ｉ−ｔａｇによりユーザが、所定のタグ２０４が期待したように対象項目２０４に良好に適用されタグ付けされたかどうか、一つのタグ２０６の適用が別の適用と矛盾していないかどうか、及び／又は一つのタグ２０６の適用は別のタグ２０６の適用と類似のもの、及び／又は複製であるか否かを迅速に判断することが可能になる。タグ２０６の適切な適用を判断しやすくするために、結果的に得られた構造化テキスト２０７はテキスト処理システムの一以上のコンポーネントに連結されたユーザインターフェース上に表示される。
【００２４】
例えば、図２Ｄにおいて、ａｕｔｈｏｒタグ２０８はｉ−ｔａｇ「［ｉ０１］」を含み、ｂｏｏｋ＿ｔｉｔｌｅタグ２１６はｉ−ｔａｇ「［ｉ０２］」を含む。ａｕｔｈｏｒタグ２０８とｂｏｏｋ＿ｔｉｔｌｅタグ２１６はいずれも対象項目２０４を正確にタグ付けしている。しかしながら、図２Ｄに示すように、不正確なタグ２２０により非構造化テキスト及び／又は部分的に構造化されたテキスト２０２において「１２３４−１」が誤認されている。つまり、ｉ−ｔａｇ「［ｉ０５］」を含むｐａｒｔ＿ｎｕｍｂｅｒタグ２１４は、フレーズの「彼のポーチから水辺までの距離は１２３４−１２５５フィートだった」の「１２３４−１」を品番として間違って識別している。つまりそのフレーズで使用される「１２３４−１」は対象項目２０４ではなく、適切に適用されればｐａｒｔ＿ｎｕｍｂｅｒタグ２１４でタグ付けされるべきではなかった。加えて、ｉ−ｔａｇ「ｉ１４」も「１２３４−１」の隣に見られ、これは別のタグ２０６がその特定のテキストに適用されたことを表す。ユーザインターフェース上で不正確なｉ−ｔａｇを閲覧することによって、データアナリストはｉ−ｔａｇ「［ｉ０５］」及び「［ｉ１４］」を含む少なくとも一つのタグ２０６が不適切に及び／又は不成功に機能したことを迅速に判断して、エラーを訂正するために適切なステップを踏むことができる。
【００２５】
タグ２０６を含む（部分的にのみ構造化されている可能性のある）構造化テキスト２０７が検証されたら（つまり全てのタグ２０６が適切に機能していると判断されたら）、構造化テキスト２０７はさらに処理を行うために解放される。ある実施形態では、ユーザはアプリケーションデータソースにおいて結果として得られた構造化テキストを検証して、テキスト処理ツールがメインデータソースからの非構造化及び／又は部分的に構造化されたテキストを適切に処理したかどうかを判断する。テキストが正確に処理されたことをユーザが確認した場合、ユーザは、本明細書に後に記載するように、メインアプリケーションが構造化テキストを組み込むことができるように、テキスト（構造化及び／又は部分的に構造化されたテキスト）をアプリケーションデータソースへ解放する。ユーザがテキストが間違って処理されたと判断した場合、ユーザは処理ツールのデータソース及び／又はテキスト処理ツールをアップデートして、全てのテキスト処理エラー及び／又は失敗を訂正する。実施形態において、検証及びアップデートは自動である又は部分的に自動である。
【００２６】
図３は、非構造化テキストのタグ付けを行って構造化（又は部分的に構造化された）テキストを生成する例示の手順のフロー図３００である。同じ手順を部分的に構造化されたテキストのさらなるタグ付けに用いて、テキストのさらなる構造化、及び非構造化テキストのタグ付けが行われるが、受け入れたテキスト及び対象項目のコンテンツによっては部分的に構造化されたテキストのみが得られる結果となり得ることを注記すべきである。さらに明確にするために、本明細書で使用する非構造化テキストは通常、人によって入力され、その人の構文／言語に基づいて自由形式及び変数であるテキストを指す。例えば、通常電子メール及びノーツフィールドによりユーザが自由形式の応答を入力することが可能になる。さらに、本明細書で使用するテキストは、テキストの情報がタグ付けされている、又はそうでなければ組織化された方法で発呼されている場合、構造化及び／又は部分的に構造化されていると見なされる。実施形態において、構造化テキストはテキストの情報を識別する一以上のタグを含むテキストを指している。処理のために、非構造化テキスト及び／又は部分的に構造化されたテキストはテキスト処理ツール３０４へ送られる。
【００２７】
本明細書に記載した実施形態では、テキスト処理ツール３０４は本明細書で詳しく説明するように、タグの挿入を通して非構造化テキスト及び／又は部分的に構造化されたテキスト３０２の構造化に使用される正規表現処理プログラム３０９及び連想記憶エンジン３０８内の連想記憶アプリケーション３０６のうちの一つ又は両方を含む。連想記憶アプリケーション３０６は連想記憶を含む。本明細書で使用する連想記憶は一以上のデータソースを使用して生成される情報記憶を指す。この情報記憶はその他のエンティティ及び属性に関連する及び／又は付随するエンティティ及び属性を含む。
【００２８】
エンティティとは特定の対象項目の連想記憶のインスタンスであり、属性とは関連エンティティの特性及び／又は記述である。連想記憶アプリケーション３０６により、ユーザがエンティティ及び／又はエンティティの種類の属性及び関連付けの両方を通して類似度の分析を行う及び類似クエリを実施することが可能になる。したがって、連想記憶アプリケーション３０６により、属性及びエンティティ間の以前識別されなかった相互関係を発見することが可能になる。連想記憶エンジン３０８により、連想記憶アプリケーション３０６が連想記憶に記憶されたエンティティ及びエンティティの関係についての情報を検索することが可能になる。
【００２９】
例示の実施形態では、テキスト処理ツール３０４はまた後に詳しく説明するように、非構造化テキスト及び／又は部分的に構造化されたテキスト３０２を処理するための正規表現処理プログラム３０９も含む。あるいは、テキスト処理ツール３０４は連想記憶アプリケーション３０６及び正規表現処理プログラム３０９のうちの一つのみを含むことができる。さらに、ある実施形態では、連想記憶アプリケーション３０６又は正規表現処理プログラム３０９は完成したテキスト処理ツール３０４を構成する。テキスト処理ツール３０４は本明細書で説明するように、連想記憶アプリケーション３０６及び／又は正規表現処理プログラム３０９を用いて、非構造化テキスト及び／又は部分的に構造化されたテキスト３０２を処理して構造化テキスト３１０を出力する。
【００３０】
図４は例えば正規表現処理プログラム３０９（図３に示す）等の正規表現処理プログラム（ＲＥＰＰ）４００を使用した非構造化テキスト及び／又は部分的に構造化されたテキストのタグ付け（構造化）を示す図である。本明細書にさらに記載するように、ＲＥＰＰ４００をシステムとともに使用することができる。アプリケーションによって、ＲＥＰＰ４００はテキスト処理ツールの一コンポーネントであってよく、又は完成したテキスト処理ツールを構成するものであってよい。処理されるべき非構造化テキスト及び／又は部分的に構造化されたテキストは、メインデータソースの一部であってよいソーステーブル４０２に記憶される。非構造化テキスト及び／又は部分的に構造化されたテキストはテキストの列としてソーステーブル４０２に整理される。
【００３１】
実施形態において、非構造化テキスト及び／又は部分的に構造化されたテキストにタグを加えるために、ユーザは例えばテキスト処理システムの一以上のコンポーネントに連結されたユーザインターフェース等のユーザインターフェースを使用してテキストの所望のセグメントを選択する。特定の実施形態により、ユーザが簡単にソースを手で直してタグを加えることも可能になる。テキストの選択されたセグメントは、タグ、したがって構造をテキストに加える処理のためにソーステーブル４０２からＲＥＰＰ４００へ送信される。あるいは、非構造化テキスト及び／又は部分的に構造化されたテキストのセグメント及び／又は列は、（ユーザがテキストを選択せずに）自動的にソーステーブル４０２からＲＥＰＰ４００へ送信することができる。ＲＥＰＰ４００はコンピュータによって読み取り可能な媒体において具現化された実行可能な命令によってプログラミング可能である。
【００３２】
ＲＥＰＰ４００において、テキストの選択されたセグメント及び／又は列に一以上のソースの正規表現パターン（ＳＲＥＰ）４０４が適用される。実施形態においてＳＲＥＰ４０４は処理ツールデータソースに記憶される。ＳＲＥＰ４０４の正規表現は、テキストの文字のシーケンスを照合するために使用される大部分のプログラミング言語（例：Ｊａｖａ（登録商標）、ＰＥＲＬ）で利用可能な標準の英数字及び非英数字である。
【００３３】
実施形態において、所定のＳＲＥＰ４０４は４種類のエントリ：所望の文字シーケンスを取得する正規表現パターン、置換パターン、特定の動作を行うためにＲＥＰＰ４００が使用する特殊文字（例：特定パターンを再帰的に適用する）、及び所定のＳＲＥＰ４０４の意図するタスクを記録するノーツフィールドを含むラインを含む。ＲＥＰＰ４００はＳＲＥＰ４０４を読み込み、各ＳＲＥＰ４０４ラインを最上部から最下部まで順に適用し、出力テーブル４０６及び出力ＨＴＭＬページ４０８のうちの少なくとも１つを出力する。ある実施形態においては、出力テーブル４０６は本明細書でさらに説明するようにアプリケーションデータソースの一部である。実施形態において、出力テーブル４０６と出力ＨＴＭＬページ４０８はいずれも、出力ＨＴＭＬページ４０８の「修正後」列に示すタグ付きテキストを含むデータ列を有し、タグ付きテキストは本明細書では構造化テキストと呼ばれる。
【００３４】
上記したように、ＳＲＥＰ４０４により選択されたテキストの所定のパターンを照合しタグ付けして上記テキストを構造化する。例えば、図４において、Ａｎｉｍａｌ  ＳＲＥＰはテキストセグメントの動物名を照合してタグ付けし、Ｄａｔｅ  ＳＲＥＰはテキストセグメント内の４文字の日付を照合し年としてタグ付けする。ａｎｉｍａｌ  ＳＲＥＰ及びｄａｔｅ  ＳＲＥＰは実施形態において適用可能なＳＲＥＰＳの具体例である。ａｎｉｍａｌ  ＳＲＥＰ及びｄａｔｅ  ＳＲＥＰは４０４に示す一般的なＳＲＥＰの実施例（例：パターン１、パターン２）と必ずしも相互に関連しているわけではないことを注記すべきである。
【００３５】
テキストのタグ付きセグメントは次に出力テーブル４０６及び／又は出力ＨＴＭＬページ４０８へ送信される。実施形態においては、ユーザはユーザインターフェースを利用して、テキストのタグ付きセグメントを出力テーブル４０６及び／又は出力ＨＴＭＬページ４０８へ送信するか否かを選択する。さらに、ある実施形態では、さらなる処理のためにテキストの構造化セグメントがアプリケーションへ送信される。下記のある実施例では、アプリケーションは、テキストに配置されたタグに少なくとも部分的に基づいた構造化テキスト（すなわちテキストのタグ付きセグメント）を組み込む。例えば、アプリケーションは特定のタグ付き単語及び／又はフレーズを含める又は除外することができる。
【００３６】
出力ＨＴＭＬページ４０８は、非構造化テキスト及び／又は部分的に構造化されたテキストのセグメントへＳＲＥＰ４０４を適用した結果を表示する。例えば図４において、出力ＨＴＭＬページ４０８は、テキスト４１０の第１セグメントの「ｆｏｘ」が動物としてタグ付けされ、テキスト４１２の第２セグメントの「１４９２」は年としてタグ付けされていることを示す。ある実施形態では、出力ＨＴＭＬページ４０８はユーザインターフェースの表示装置上に表示される。出力ＨＴＭＬページ４０８を閲覧することによって、ユーザは構造化テキストのセグメントがすべて不適切にタグ付けされていないかどうかを判断することができる。ユーザインターフェースを使用すれば、ある実施形態では、この誤認テキストを使用してＳＲＥＰ４０４をアップデートすることができ、例えばＳＲＥＰ４０４は不適切なタグ付けを生成した一以上の既存のパターンを訂正するためにアップデートされる。例えば、ユーザが誤認テキストを識別し及び／又は選択したときに、誤認テキストを使用して既存のＳＲＥＰ４０４を修正する及び／又は新たな非構造化テキスト及び／又は部分的に構造化されたテキストへ適用すべき新たなＳＲＥＰ４０４を作成することができる。
【００３７】
実施形態において、各ＳＲＥＰ４０４は固有の識別タグ、又は「ｉ−ｔａｇ」を含む。ｉ−ｔａｇにより、ユーザはＲＥＰＰ４００の操作中に各ＳＲＥＰ４０４がいかに良く機能しているかを判断することが可能になる。さらに具体的には、ｉ−ｔａｇにより、ユーザが期待したように所定のＳＲＥＰ４０４がテキストのセグメントを良好に照合しタグ付けしたかどうか、あるＳＲＥＰ４０４が別のＳＲＥＰ４０４の作業と対立していないかどうか、及び／又は一つのＳＲＥＰ４０４が別のＳＲＥＰ４０４の作業と類似のもの、及び／又は複製である作業を行ったか否かを判断することが可能になる。
【００３８】
例えば、図４においてＡｎｉｍａｌ  ＳＲＥＰはｉ−ｔａｇ「［ｉ２１］」を含み、Ｄａｔｅ  ＳＲＥＰはｉ−ｔａｇ「［ｉ２２］」を含む。したがって、出力ＨＴＭＬページ４０８では、テキスト４１０の第１セグメントは「［ｉ２１］」を含み、これはＡｎｉｍａｌ  ＳＲＥＰを使用してテキストの第１セグメント４１０がタグ付けされたことを表し、テキストの第２セグメント４１２が「［ｉ２２］」を含み、これはテキストの第２セグメント４１２はＤａｔｅ  ＳＲＥＰを使用してタグ付けされたことを表している。実施形態において非構造化テキスト及び／又は部分的に構造化されたテキストにタグを適用するために２つのＳＲＥＰ４０４が用いられているが、ＳＲＥＰ４０４はいくつでも適用可能であり、これによりＲＥＰＰ４００が本明細書に記載するように機能することが可能になる。
【００３９】
図５は、例えば連想記憶アプリケーション３０６等の連想記憶アプリケーション５００がどのように非構造化テキストを識別し、またタグ付けし、その結果構造化テキストを得るかを示す図である。実施形態において、非構造化テキスト及び／又は部分的に構造化されたテキストは一以上の列のデータソースに記憶される。非構造化テキストは多数の列内に分けることができ、これにより非構造化テキストは別々の列の多数のセグメントに分割される。例えばテキスト処理ツール３０４等のテキスト処理ツールは連想記憶アプリケーション５００を利用して、上述したように非構造化及び／又は部分的に構造化されたテキストの対象項目を識別しタグ付けする。
【００４０】
図５に示す実施例において、連想記憶アプリケーション５００は非構造化／部分的に構造化されたデータ内のボイラープレートテキストを識別しタグ付けし、これにより非構造化／部分的に構造化されたデータに構造を追加する。図５に示す実施例はボイラープレートの識別及びタグ付けを示すが、この実施例は単なる例に過ぎず、連想記憶アプリケーション５００を使用して非構造化及び／又は部分的に構造化されたテキスト及び／又はデータのすべての関連の対象項目を識別しタグ付けすることができる。
【００４１】
実施例の説明においては、当然ながら「ボイラープレート・データ」は、特にテキスト／データが多数のソースによって作成された場合に、しばしばスタイル、形式、及び／又はコンテンツが似ているテキスト及び／又はその他のデータ（例：英数字データ、埋込みオブジェクト、画像、メタデータ等）のカテゴリを表す一般用語である。ボイラープレート・データは、この実施例のために、署名欄、法的免責、商標印、及び／又は遠隔地間会議情報を含むが、この用語は限定的に解釈するべきではない。ボイラープレートは特定のアプリケーションにはおおむね不適切であり、メインアプリケーションが受けた場合に上記アプリケーションを使用した結果に悪影響を与える可能性があるため、上記アプリケーションからボイラープレートを除外する（つまり組み込まない）ことが望ましい。
【００４２】
この特定の実施例では、テキストのセグメントが既存のボイラープレートに似ている場合、これはボイラープレートとしてタグ付けされる。この実施例は、テキスト処理ツールがどのように連想記憶アプリケーションを利用して一実施形態においてテキストを識別しタグ付けするか、そして本明細書に記載される方法及びシステムの範囲を決して限定するものでないことを示すために提供されている。さらに具体的には、連想記憶アプリケーションを利用するように構成されている場合には、連想記憶アプリケーションを利用してボイラープレートの識別及びタグ付けに関連していないテキストの対象項目を識別することができる。
【００４３】
テキストを識別しタグ付けするために、テキスト処理ツール、例えばテキスト処理ツール３０４は例えば（図３に示す）連想記憶アプリケーション３０６等の連想記憶アプリケーション５００にクエリを行う。この実施形態において、連想記憶アプリケーション５００はデータベースから生成される。例えば、図５は、テキストの異なる文字列の固有の整数を含むラベル列５０４、テキストの異なる文字列を含むテキスト列５０６、及びテキストの文字列が対象項目であるか否かを識別する識別列５０８を含むデータベース５０２を示す。
【００４４】
例えば、データベース５０２において、テキストの「ＢＯＩＬＥＲＰＬＡＴＥ  ＩＳ  ＨＥＲＥ．」はボイラープレートとして識別され、その一方でテキストの「ＴＥＳＴＩＮＧ  ＯＮ  ＮＥＷ  ＥＱＵＩＰＭＥＮＴ」はボイラープレートではないと識別される。この実施形態においてデータベース５０２は３つの列を有するが、データベース５０２はテスト処理ツール及び連想記憶アプリケーションが本明細書に記載されたように機能することを可能にする任意の数の列を有していてよい。ある実施形態では、データベース５０２は例えばＳＲＥＰ４０４（図４に示す）等の正規表現パターンと平行であると考慮される。
【００４５】
実施形態において、連想記憶アプリケーション５００を生成するために、レベル列５０４及び識別列５０８は連想記憶アプリケーション５００に直接組み込まれる。実施形態において、テキスト列５０６のテキストのセグメントは直接連想記憶アプリケーション５００に組み込まれ、これによりテキスト列５０６と連想テキストセグメントは連想記憶アプリケーション５００の一部を形成する。あるいは、テキスト列５０６のテキストのセグメントを汎用単語パーサ及び／又はエキストラクタを使用して連想記憶アプリケーション５００に組み込むことができ、これによりテキスト列５０６のテキストを、連想記憶アプリケーション５００のテキストの一以上のセグメントを形成するキーワード及び／又はキーフレーズ等のキー用語に更に分割する及び／又はパースすることができる。
【００４６】
例えば、テキスト列５０６は名詞、動詞、及び／又は形容詞に分割する及び／又はパースすることができる。あるいは、連想記憶アプリケーション５００により、テキスト処理ツールが本明細書に記載したように機能することを可能にする任意のプロセスを使用して実行することができる。連想記憶アプリケーション５００を使用する場合、非構造化及び／又は部分的に構造化されたテキストはセグメントに分割及び／又はパースされ、後に詳しく説明するように連想記憶アプリケーション５００のテキスト列５０６のテキストのセグメントのコンポーネント及び／又はキーワードの分割と比較される。
【００４７】
この実施形態では、テキスト処理ツールはデータソースから例えばサンプルテキスト５１０等の非構造化及び／又は部分的に構造化されたテキストを受け取る。この実施形態では、汎用単語パーサ及び／又はエキストラクタを使用して非構造化及び／又は部分的に構造化されたテキストをテキストの個別のセグメントにパースすることによって、サンプルテキスト５１０が生成される。サンプルテキスト５１０を使用して連想記憶アプリケーション５００にクエリを実行することによって、テキスト処理ツールはサンプルテキスト５１０のセグメントを対象項目として識別しタグ付けして、結果として得られたテキスト５１２を生成する。
【００４８】
例えば、結果として得られたテキスト５１２において、テキストの「ＢＯＩＬＥＲＰＬＡＴＥ  ＩＳ  ＨＥＲＥ」はボイラープレートとしてタグ付けされ、テキストの「ＮＥＷ  ＥＱＵＩＰＭＥＮＴ  ＴＥＳＴＩＮＧ」はボイラープレートとしてタグ付けされていない。代替実施形態では、テキストの「ＮＥＷ  ＥＱＵＩＰＭＥＮＴ  ＴＥＳＴＩＮＧ」は非ボイラープレートとしてタグ付けすることができる。テキスト処理ツールは連想記憶アプリケーションのテキスト列５０６のコンテンツを利用してテキストを識別しタグ付けするため、非構造化テキスト及び／又は部分的に構造化されたテキストのセグメントが、連想記憶アプリケーションのテキストのセグメントとぴったり一致する必要はない。例えば、連想記憶アプリケーションがテキストのフレーズ「ＴＨＩＳ  ＩＳ  ＢＯＩＬＥＲＰＬＡＴＥ  ＴＥＳＴ」を含んでいたとしても、「ＴＨＩＳ  ＩＳ  ＢＯＩＬＥＲＰＬＡＴＥ」はボイラープレートとして識別されタグ付けされる。
【００４９】
図６は例えば連想記憶アプリケーション３０６等の連想記憶アプリケーションを使用してテキストを識別しタグ付けする例示の方法６００のフロー図である。例えばテキスト処理ツール３０４等のテキスト処理ツールは、処理すべき非構造化及び／又は部分的に構造化されたテキストを受け取る６０２。識別する目的で、非構造化及び／又は部分的に構造化されたテキストは例えば段落、文章、及び／又は単語等のテキストの個別のセグメントに分割及びパースされる。
【００５０】
非構造化及び／又は部分的に構造化されたテキストの各セグメントに対して、テキスト処理ツールは連想記憶アプリケーションにクエリ６０４を行い、非構造化及び／又は部分的に構造化されたテキストのセグメントのコンテンツの分割及び／又はキーワードの、連想記憶アプリケーションの（一又は複数の）テキスト列５０６のセグメントのコンテンツの分割及び／又はキーワードとの比較に基づいて、連想記憶アプリケーションは識別スコアを生成する６０６。テキスト処理ツールは識別スコアが所定の閾値を超えているか否かを判断する６０８。識別スコアが所定の閾値よりも高い場合、非構造化及び／又は部分的に構造化されたテキストのセグメントは対象項目としてタグ付けされる６１０。識別スコアが所定の閾値よりも低い場合、非構造化及び／又は部分的に構造化されたテキストのセグメントはタグ付けされない６１２。
【００５１】
識別スコアによってテキストのセグメントをタグ付けすることができ、このタグ付けに基づいてテキストのセグメントはメインアプリケーションに送られ６１４組み込まれる。タグ付けされたテキストは構造化テキストである。ある実施形態では、構造化テキストは出力テーブルに送られ、メインアプリケーションによって使用される。この実施形態では、テキスト処理ツールは連想記憶アプリケーションを利用して非構造化及び／又は部分的に構造化されたテキストの残りのセグメントを必要に応じて識別しタグ付けする。
【００５２】
図７は連想記憶アプリケーションが適用される非構造化及び／又は部分的に構造化されたテキストのセグメントに対して識別スコアを生成する例示の方法７００のフロー図である。連想記憶アプリケーションのテキストの各セグメント（すなわち、テキスト列５０６からのテキストの各文字列）に対し、テキスト処理ツールは非構造化及び／又は部分的に構造化されたテキストのセグメントの、連想記憶アプリケーションのテキストのセグメント（テキスト列５０６）との比較に対して、類似度スコアｓｉを決定する７０２。
【００５３】
例えば、類似度スコアｓｉは非構造化及び／又は部分的に構造化されたテキストのセグメントと連想記憶アプリケーションのテキストのセグメントとの間で一致する項目（例：単語）の数を、非構造化及び／又は部分的に構造化されたテキストのセグメントの項目の総数で割ったものと定義することができる。テキスト処理ツールは、類似度スコアｓｉが所定の類似度閾値を超えているか否かを決定する７０４。類似度スコアが所定の類似度閾値を下回る場合、テキスト処理ツールは連想記憶アプリケーションのテキストのセグメントに「０」の値を割り当てて、非構造化及び／又は部分的に構造化されたテキストの同じセグメントと、連想記憶アプリケーションのテキストの次のセグメントとの比較に対する類似度スコアｓｉの決定７０２を開始する。
【００５４】
類似度スコアｓｉが所定の類似度閾値よりも高い場合、テキスト処理ツールは例えばデータベース５０２の識別列５０８からの情報を使用して、連想記憶アプリケーションのテキストのセグメントが対象項目であるかどうかを決定する７０６。この実施形態では、連想記憶アプリケーションのテキストのセグメントが対象項目である場合、連想記憶アプリケーションのテキストのセグメントには類似度スコアに等しい値が割り当てられる。
【００５５】
連想記憶アプリケーションのテキストのセグメントが対象項目でない場合、連想記憶アプリケーションのテキストのセグメントには「０」の値が付与される。非構造化及び／又は部分的に構造化されたテキストの特定のセグメントに対する連想記憶アプリケーションのテキストの各セグメントに対して（すなわち、列５０６からのテキストの各文字列に対して）値が決定された後に、非構造化及び／又は部分的に構造化されたテキストのセグメントの識別スコアが、連想記憶アプリケーションのテキストの各セグメントに割り当てられた値を合計する７０８ことによって計算される。
【００５６】
図７は識別スコアを生成する例示の方法７００を示しているが、テキスト処理ツールが本明細書に記載した機能を果たすことを可能にする任意の方法を利用することができる。例えば、ある実施形態では、類似度スコアｓｉが所定の閾値よりも低い時、及び／又は連想記憶アプリケーションのテキストのセグメントが対象項目でない時は、連想記憶アプリケーションのテキストのセグメントには非ゼロの値が割り当てられる。さらに、その他の実施形態では、類似度スコア及び値を利用し、その他のさらに複雑な手順を使用して識別スコアを計算することができる。
【００５７】
図８Ａ〜８Ｃは、ユーザが上述した連想記憶アプリケーションに誤認テキストを加えることができるようにする例示のユーザインターフェースのスクリーンショットである。例示の実施形態では、ユーザインターフェースは、テキスト処理ツールによって処理された後の構造化テキストを表示する。例えば、上述した連想記憶アプリケーションの実施例に対して、ユーザインターフェースは電子メール８０２に関するテキストを表示する。このテキストは第１ボイラープレート区分８０４及び第２ボイラープレート区分８０６を含む。図８Ａに示すように、テキスト処理ツールは第２ボイラープレート区分８０６をボイラープレートテキストとして識別しタグ付けしているが、第１ボイラープレート区分８０４をボイラープレートテキストとして識別しタグ付けすることに失敗している。したがって、第１ボイラープレート区分８０４は誤認テキストである。
【００５８】
ユーザインターフェースを利用すれば、ユーザは誤認テキストを視覚的に識別することができる。さらに、ユーザは図８Ｂに示すように誤認テキストをウィンドウ８０８にコピーすることができる。パースボタン８１０を選択することによって、誤認テキストが処理ツールデータソースにロードされる。誤認テキストがテキスト処理ツールの連想記憶アプリケーションに送られると、確認ウィンドウ８１２がユーザインターフェース上に表示され、図８Ｃに示すように連想記憶アプリケーションが誤認テキストを含んでアップデートされていることをユーザに警告する。
【００５９】
したがって、テキスト処理ツールが誤認テキストを含む非構造化テキスト及び／又は部分的に構造化されたテキストを処理する時に、また例えばユーザとの交信を介してそのように通知された時に、テキスト処理ツールは進行中の上記誤認テキストを正確に処理するようにアップデートされる。このように、テキスト処理ツールは繰り返しアップデートされ、データソースからの新たな非構造化テキスト及び／又は部分的に構造化されたテキストを処理するテキスト処理ツールの能力が向上する。さらに、テキスト処理ツールのアップデートには、テキスト処理ツールの複雑なプログラミング、及び／又は連想記憶システム及び方法の専門知識は必要ではない。むしろ、ユーザはユーザインターフェースを使用して比較的迅速に簡単にテキスト処理ツールをアップデートすることができる。
【００６０】
図９は上述した実施形態の幾つか又はすべてを組み込む可能性がある例示のテキスト処理システム９００のブロック図である。システム９００は最終的に例えばメインアプリケーション９０４に組み込まれるべき非構造化テキスト及び／又は部分的に構造化されたテキスト（すなわち未処理テキスト）を受け取る及び／又は含むメインのデータソース９０２を含む。本明細書に記載する、メインアプリケーション９０４へのテキストの組み込みは、正確にタグ付けされた（構造化）テキストのメインアプリケーション９０４への入力を指している。メインデータソース９０２はシステム９００が本明細書に記載したように機能することを可能にする任意の数の個別のデータソースを含むことができる。この実施形態では、メインアプリケーション９０４はアプリケーションデータソース９０５からテキストを組み込む。
【００６１】
メインデータソース９０２は、例えばテキスト処理ツール３０４（図３に示す）等のテキスト処理ツール９０６に連結されている。この実施形態において、テキスト処理ツール９０６はメインデータソース９０２から非構造化テキスト及び／又は部分的に構造化されたテキストを受け取り、非構造化テキスト及び／又は部分的に構造化されたテキストを、上述したように適切なタグを加えることによって少なくとも部分的に構造化されたテキストに処理する。構造化テキストはタグ付けされているテキストの少なくとも一つのセグメントを含む。
【００６２】
本明細書で使用するテキストのセグメントとはテキストの一以上の単語を指し、単語とは全ての連続的な文字のセットであってよい。テキスト処理ツール９０６は、上に詳しく記載したように、非構造化テキスト及び／又は部分的に構造化されたテキストを処理するための、例えば連想記憶アプリケーション３０６（図３に示す）等の連想記憶アプリケーション、及び／又は例えば正規表現処理プログラム３０９（図３に示す）等の正規表現処理プログラムのうちの一方あるいは両方を含む。
【００６３】
テキスト処理ツール９０６はアプリケーションデータソース９０５を介してメインアプリケーション９０４に連結され、これによりメインデータソース９０２からの非構造化テキスト及び／又は部分的に構造化されたテキストがテキスト処理ツール９０６によって処理され、メインアプリケーション９０４での利用のために、構造化テキストとしてアプリケーションデータソース９０５に出力される。あるいは、テキスト処理ツール９０６から出力された構造化テキストは、アプリケーションデータソース９０５に送信される前に追加の処理が行われる場合がある。アプリケーションデータソース９０５は例えば、テキストの構造化を検証するのに使われる出力テーブル、及び／又は出力ハイパーテキストマークアップ言語（ＨＴＭＬ）ページを含むことができるが、その他の形式も考えられる。この実施形態では、メインアプリケーション９０４はアプリケーションデータソース９０５から構造化テキストを組み込む。
【００６４】
メインデータソース９０２から非構造化テキスト及び／又は部分的に構造化されたテキストを処理するために、テキスト処理ツール９０６は連想記憶アプリケーションにクエリを行う、及び／又は少なくとも一つのソースの正規表現パターンを非構造化テキスト及び／又は部分的に構造化されたテキストに適用する。例えば、ある実施形態では、テキスト処理ツール９０６は非構造化テキスト及び／又は部分的に構造化されたテキストのセグメントについて連想記憶アプリケーションにクエリを行い、類似度スコアを計算し、類似度スコアに基づいて非構造化テキスト及び／又は部分的に構造化されたテキストのセグメントをタグ付けするか否かを決定することによって、非構造化テキスト及び／又は部分的に構造化されたテキストを処理する。
【００６５】
非構造化テキスト及び／又は部分的に構造化されたテキストのテキスト処理ツール９０６での処理から生成された構造化テキストは、テキスト処理ツール９０６からアプリケーションデータソース９０５へ送信され、アプリケーションデータソース９０５においてメインアプリケーション９０４に組み込むことができる。メインアプリケーション９０４は、テキストのタグ付けされたセグメントに基づいて構造化テキストを組み込む。例えば、ある実施形態では、タグ付けされたテキストはメインアプリケーション９０４に組み込まれ、非構造化テキストはメインアプリケーション９０４に組み込まれない。明確にするために、本明細書に示した実施例では、ボイラープレートタグでタグ付けされたテキストは無視され、その他すべてはメインアプリケーションに組み込まれる。
【００６６】
この実施形態では、メインアプリケーション９０４はデータ解析アプリケーションであり、例えばビジネス・インテリジェンス・アプリケーション、連想記憶アプリケーション、及び／又はサーチエンジンを含むことができる。あるいは、メインアプリケーション９０４はシステム９００が本明細書に記載したように機能することを可能にする全てのアプリケーションであってよい。この実施形態では、テキスト処理ツール９０６は、構造化テキストがメインアプリケーション９０４に組み込まれる前に非構造化テキスト及び／又は部分的に構造化されたテキストを処理する。
【００６７】
メインアプリケーション９０４は、テキスト処理ツール９０６による非構造化テキスト及び／又は部分的に構造化されたテキストのタグ付けに基づいて構造化テキストを組み込む。メインアプリケーション９０４に組み込むためにテキストを処理することによって、メインアプリケーション９０４に組み込まれるテキストの総量が削減され、メインアプリケーション９０４へテキストを組み込む速度が速まり、メインアプリケーション９０４によって使用されるメモリ量が削減され、及び／又はメインアプリケーション９０４からテキストを読み出すことができる速度が速まり、その結果が改善される。
【００６８】
この実施形態では、メインアプリケーション９０４はユーザインターフェース９０８に連結されている。ユーザインターフェース９０８は例えばブラウン管（ＣＲＴ）、液晶表示装置（ＬＣＤ）、有機ＬＥＤ（ＯＬＥＤ）表示装置、及び／又は「電子インク」表示装置等の表示装置を含むことができる。さらに、ユーザインターフェース９０８は、ユーザが例えばキーボード、ポインティングデバイス、マウス、タッチペン、タッチパネル（例：タッチパッド又はタッチスクリーン）、ジャイロスコープ、加速度計、位置検出器、及び／又は音声ユーザ入力インターフェース等のユーザインターフェース９０８と接触することを可能にする入力装置を含むことができる。
【００６９】
ユーザインターフェース９０８を利用すれば、ユーザは構造化テキストを閲覧することができる。ユーザインターフェース９０８によりユーザが構造化テキストから誤認テキストを選択し抽出することが可能になる。つまり、ユーザはテキスト処理ツール９０６によって間違いにより処理された又は全く処理されなかったテキストのセグメントを選択し抽出することができる。この実施形態では、誤認テキストに関するデータ及び／又は誤認テキスト自体が次に、ユーザインターフェース９０８に連結された処理ツールデータソース９１０に送られる及び／又は記憶される。ある実施形態では、処理ツールデータソース９１０はまた、誤認テキストではないテキスト処理ツール９０６に送られるべき初期データも含む。
【００７０】
テキスト処理ツール９０６は、初期データだけでなくユーザインターフェース９０８において受信したユーザ入力から発信されたアップデートを利用して、本明細書に記載される方法及びシステムにしたがって非構造化テキスト及び／又は部分的に構造化されたテキストを処理する。ある実施形態では、一以上の追加のユーザインターフェースがテキスト処理システム９００の一以上のコンポーネントに連結されることにより、本明細書に記載された方法及びシステムの機能の有効化が促進される。図９に示すように、テキストの処理、処理したテキストのメインアプリケーション９０４への適用、ユーザインターフェース９０８を介してさらにテキストの処理が必要かどうかの見直しは反復及び繰り返しのプロセスであってよく、反復及び繰り返しのプロセスによりテキストのタグ付けが改善されると同時に得られた結果も改善される。
【００７１】
テキスト処理ツール９０６が連想記憶アプリケーションを含む実施形態では、処理ツールデータソース９１０は上述したように例えばユーザ入力に基づいて連想記憶アプリケーションをアップデートする。さらに、テキスト処理ツール９０６が正規表現処理プログラムを含む実施形態では、ソースの正規表現パターンをアップデートして、以前誤認されたテキストを含む非構造化テキスト及び／又は部分的に構造化されたテキストを適切に処理することができる。
【００７２】
メインデータソース９０２と同様に、処理ツールデータソース９１０はシステム９００が本明細書に記載したように機能することが可能になる任意の数の個別のデータソースを含むことができる。ある実施形態では、処理ツールデータソース９１０はユーザインターフェース９０８を介して受信した入力に基づいて定期的にテキスト処理ツール９０６の連想記憶アプリケーションへ全ての誤認テキストを送る。あるいは、処理ツールデータソース９１０は連続的に、又はいつでもユーザが新たな誤認テキストのセグメントを識別した時にテキスト処理ツール９０６へ誤認テキストを送ることができる。
【００７３】
テキスト処理ツール９０６は処理ツールデータソース９１０からの誤認テキストについてアップデートされ、これによりメインデータソース９０２からの非構造化テキスト及び／又は部分的に構造化されたテキストの今後の処理が改善される。したがって、テキスト処理ツール９０６によって最初に誤認されたテキストをテキスト処理ツール９０６に戻すことによって、テキスト処理ツール９０６は新たな非構造化テキスト及び／又は部分的に構造化されたテキストを処理する際に誤認テキストを利用するため、時間とともにテキスト処理ツール９０６の非構造化テキスト及び／又は部分的に構造化されたテキストを正確に処理する能力が向上する。この実施形態では一つのテキスト処理ツール９０６しか説明していないが、システム９００は本明細書に記載したようにシステム９００が機能することを可能にする任意の数のテキスト処理ツール９０６を含むことができる。例えば、システム９００は、異なるテキスト処理方法を利用する異なるメインデータソース９０２及び／又はテキスト処理ツール９０６からの異なる種類の非構造化テキスト及び／又は部分的に構造化されたテキストを処理するための異なるテキスト処理ツール９０６を含むことができる。
【００７４】
上述したように、この実施形態においては、テキスト処理ツール９０６は構造化テキストをアプリケーションデータソース９０５に送り、アプリケーションデータソース９０５はデータをメインアプリケーション９０４へ送る。さらに、構造化テキストはアプリケーションデータソース９０５の出力テーブル及び／又は出力ＨＴＭＬページに含まれていてよい。本明細書で説明した実施例においては、メインアプリケーション９０４は例えば、正規表現処理プログラム及び連想記憶アプリケーションのうちの一方あるいは両方を使用して説明したようにテキストがタグ付けされたか否かに基づいて、テキストを処理する。例えば、ある特定の実施例では、メインアプリケーション９０４はボイラープレートとしてタグ付けされているテキストを組み込まない。あるいは、メインアプリケーション９０４は、システム９００が本明細書に記載したように機能できるようにする任意の方法でアプリケーションデータソース９０５から構造化テキストを組み込むことができる。
【００７５】
システム９００は、データ処理ツール９０６のためのデータソース９１０を蓄積することによって、データ解析システム９０４の（専門的知識のない）ユーザがシステム９０４のパフォーマンスを向上させることを可能にするアーキテクチャを設定することによって作動する。ある実施形態では、パース性能９０６の適用には、比較するデータから開始して、データをパースして連想記憶エンティティ及び属性を判断し、データから得たエンティティ及び属性に基づいて類似の結果について連想記憶アプリケーションにクエリを行い、類似の結果のセットを利用して結果をランク付けしスコアをつけて、このスコアに基づいてエンティティ及び属性についての追加情報を暗示することを含む連想記憶データマークアッププロセスを適用することが含まれる。
【００７６】
追加情報は汎用エンティティ及び属性を、さらに領域特化型のエンティティ及び属性に変換する。領域特化型エンティティ及び属性を使用して、改善されたデータ解析システム９０４（例：連想記憶システム、ビジネス・インテリジェンス・アプリケーション、サーチエンジン等）において後に使用するためにデータをマークアップすることができる。さらに、これらの解析システムからの出力を調べて誤認データを識別し抽出することができ、この誤認データはユーザインターフェース９０８を介して「データ処理」連想記憶アプリケーション９０６のデータソース９１０へ送ることができる。
【００７７】
図１０は本明細書に記載する一以上の実施形態の実行に使用可能な例示のデータ処理システム１０００の図である。例えば、テキスト処理ツール３０４（データ処理ツール９０６）、連想記憶アプリケーション３０６、正規表現処理プログラム３０９、及び／又はテキスト処理システム９００の一以上のコンポーネントはデータ処理システム１０００を使用して実行可能である。この実施形態では、データ処理システム１０００は通信ファブリック１００２を含み、この通信ファブリック１００２はプロセッサ装置１００４、記憶装置１００６、永続記憶装置１００８、通信装置１０１０、入力／出力（Ｉ/Ｏ）装置１０１２、及び表示装置１０１４の間の通信を可能にする。
【００７８】
プロセッサ装置１００４は記憶装置１００６にロード可能なソフトウェアの命令を実行する。プロセッサ装置１００４は、特定の実行形態によって、一以上のプロセッサ一式であってよく、又はマルチプロセッサコアであってよい。さらに、プロセッサ装置１００４は、二次プロセッサを単一チップ上に有するメインプロセッサが設置された一又は複数の異機種環境のプロセッサシステムを使用して実行可能である。
【００７９】
別の実施例として、プロセッサ装置１００４は同じ種類の複数のプロセッサを含む対称なマルチプロセッサシステムであってよい。さらに、プロセッサ装置１００４は一以上のシステム及びマイクロコントローラ、マイクロプロセッサ、縮小命令セット回路（ＲＩＳＣ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、及び本明細書に記載された機能を実行することができるその他任意の回路を含む任意の好適なプログラマブル回路を使用して実行することができる。
【００８０】
記憶装置１００６及び永続記憶装置１００８は、記憶デバイスの実施例である。記憶デバイスは、一時的及び/又は永続的のいずれかの情報を記憶できる任意のハードウェアである。記憶装置１００６はこれらの実施例では例えば非限定的に、ランダム・アクセス・メモリ、又は他の任意の好適な揮発性又は非揮発性記憶デバイスであってよい。永続記憶装置１００８は、特定の実行形態によって様々な形態をとることができる。
【００８１】
例えば非限定的に、永続記憶装置１００８は一以上のコンポーネント又はデバイスを含むことができる。例えば、永続記憶装置１００８は、ハードドライブ、フラッシュメモリ、書き換え可能な光ディスク、書き換え可能な磁気テープ、又は上記の幾つかの組み合わせであってよい。永続記憶装置１００８によって使用される媒体はまた取り外し可能であってよい。例えば非限定的に、取り外し可能なハードドライブを永続記憶装置１００８に使用することが可能である。
【００８２】
永続記憶媒体１００８は、コンピュータが実行可能な命令が具体化されているコンピュータによって読み取り可能な記憶媒体であってよく、少なくとも１つのプロセッサによって実行された時、コンピュータが実行可能な命令によって、プロセッサは部分的に非構造化されたデータを受信し、連想記憶アプリケーションによって更に処理が可能になるように処理してタグを含める。これにより、部分的に構造化されたデータをメインアプリケーションへ伝達することがさらに可能になり、メインアプリケーションにおいてはタグ付けに基づいてデータを含める及び除外する処理を部分的に構造化されたデータに行うことができる。さらなる技術的効果は、部分的に構造化されたデータを一以上のセグメントにパースすることができ、部分的に構造化されたデータの少なくとも１つのセグメントについてのクエリが可能であることである。また、部分的に構造化されたデータの少なくとも１つのセグメント及び連想記憶アプリケーションのデータの少なくとも１つのセグメントに関するスコアを生成することもできる。これらの結果はユーザインターフェース上の表示を介して閲覧することができ、これによりユーザがタグ付けが正しいことを検証し、メインアプリケーションに組み込むために部分的に非構造化されたデータを解放することができる。ユーザは間違ってタグ付けされた部分的に非構造化されたデータを閲覧することによって、誤認データの一セグメントをアップデートする機会を得ることができる。正規表現処理プログラムが部分的に非構造化されたデータを処理する時に、少なくとも部分的に非構造化されたデータの少なくとも１つのセグメントを少なくとも１つのソースの正規表現パターンと照合して、一つの照合済みセグメントをタグ付けすることができる。コンピュータが実行可能な命令によって、プロセッサが少なくとも部分的に構造化されたデータを出力テーブル及び出力ハイパーテキストマークアップ言語（ＨＴＭＬ）ページのうちの一つに出力する。
【００８３】
通信装置１０１０はこれらの実施例では、その他のデータ処理システム又はデバイスとの通信を可能にする。これらの実施例では、通信装置１０１０はネットワークインターフェースカードである。通信装置１０１０は物理的及び無線通信リンクのいずれか、あるいは両方を使用して通信を可能にすることができる。
【００８４】
入力／出力装置１０１２により、データ処理システム１０００に接続可能なその他のデバイスとのデータの入力及び出力が可能になる。例えば非限定的に、入力／出力装置１０１２は、キーボード及びマウスを介してユーザ入力するための接続部を提供しうる。さらに、入力／出力装置１０１２は出力をプリンタに送ることができる。表示装置１０１４は、ユーザに情報を表示する機構を提供する。
【００８５】
オペレーティングシステム、アプリケーション、又はプログラムの命令は、永続記憶装置１００８に位置している。これらの命令は、記憶装置１００６にロードされプロセッサ装置１００４によって実行可能である。異なる実施形態のプロセスは、例えば記憶装置１００６等の記憶装置に位置しうるコンピュータによって実行される命令を使用して、プロセッサ装置１００４によって実施可能である。これらの命令は、プロセッサ装置１００４のうちの一つのプロセッサによって読み取り及び実行可能なプログラムコード、コンピュータが使用可能なプログラムコード、又はコンピュータによって読取可能なプログラムコードと呼ばれる。異なる実施形態のプログラムコードは、例えば記憶装置１００６又は永続記憶装置１００８等の異なる物理的な又は有形コンピュータによって読取可能な媒体上に具現化することができる。
【００８６】
プログラムコード１０１６は、選択的に取り外し可能で、データ処理システム１０００にロードする又は転送してプロセッサ装置１００４によって実行可能なコンピュータによって読取可能な媒体１０１８上に関数形式で位置している。プログラムコード１０１６及びコンピュータによって読取可能な媒体１０１８はこれらの実施例においてコンピュータプログラム製品１０２０を形成する。ある実施例では、コンピュータによって読取可能な媒体１０１８は例えば、永続記憶装置１００８の一部であるハードドライブ等の記憶デバイスに転送するために、永続記憶装置１００８の一部であるドライブ又はその他のデバイスに挿入されるあるいは配置される光又は磁気ディスク等の有形の形式であってよい。有形の形式では、コンピュータによって読み取り可能な媒体１０１８はまた、データ処理システム１０００に接続された、例えばハードドライブ、サムドライブ、又はフラッシュメモリ等の永続記憶装置の形態であってよい。コンピュータによって読取可能な媒体１０１８の有形の形式はまた、コンピュータに記録可能な記憶媒体とも呼ばれる。ある場合には、コンピュータによって読み取り可能な媒体１０１８は取外し可能でなくてもよい。
【００８７】
あるいは、プログラムコード１０１６は通信装置１０１０への通信リンクを介して、及び／又は入力／出力装置１０１２への接続部を介して、コンピュータによって読取可能な媒体１０１８からデータ処理システム１０００に転送することができる。通信リンク及び／又は接続部は実施例においては物理的又は無線であってよい。コンピュータによって読み取り可能な媒体はまた、例えばプログラムコードを含む通信リンク又は無線送信等の非有形媒体の形式であってもよい。
【００８８】
ある実施形態では、プログラムコード１０１６は、データ処理システム１０００内で使用するために、別のデバイス又はデータ処理システムから永続記憶装置１００８までネットワークを介してダウンロードすることができる。例えば、サーバデータ処理システムのコンピュータによって読取可能な記憶媒体に記憶されたプログラムコードは、サーバからデータ処理システム１０００までネットワークを介してダウンロードすることができる。プログラムコード１０１６を提供するデータ処理システムは、サーバコンピュータ、クライアントコンピュータ、又はプログラムコード１０１６を記憶し送信することができるその他何らかのデバイスであってよい。
【００８９】
データ処理システム１０００について示した異なるコンポーネントは、アーキテクチャ制限をもたらすように意図されたものではなく、異なる実施形態を実行可能である。異なる実施形態は、データ処理システム１０００について示したコンポーネントに追加の、あるいは代わりのコンポーネントを含むデータ処理システムにおいて実行可能である。図１０に示す他のコンポーネントは、図示した実施例から変更することができる。
【００９０】
一例として、データ処理システム１０００の記憶デバイスはデータを記憶できるいかなるハードウェア装置であってもよい。記憶装置１００６、永続記憶装置１００８、及びコンピュータによって読み取り可能な媒体１０１８は有形の形式の記憶デバイスの実施例である。
【００９１】
別の実施例では、バスシステムを使用して通信ファブリック１００２を実行することができ、バスシステムは例えばシステムバス又は入力／出力バス等の一以上のバスからなるものであってよい。当然ながら、バスシステムは、バスシステムに装着された異なるコンポーネント又はデバイスの間のデータの送信を可能にする任意の好適な種類のアーキテクチャを使用して実行することができる。加えて、通信装置はモデム、又はネットワークアダプタ等のデータの送受信に使用される一以上のデバイスを含むことができる。さらに、記憶装置は例えば非限定的に、通信ファブリック１００２に含まれうるインターフェース及びメモリコントローラハブに含まれる等の記憶装置１００６、又はキャッシュであってよい。
【００９２】
本明細書で説明した実施形態では、非構造化及び／又は部分的に構造化されたデータの処理を改善して、既存のデータ処理方法よりも効率性及びパフォーマンスを向上させるためにデータ処理ツールを使用する。データは連想記憶アプリケーション及び／又は正規表現処理プログラムを使用して処理することができる。さらに、非構造化及び／又は部分的に構造化されたデータを処理した後で、ユーザはデータ処理ツールによって誤認された及び／又は識別されていないデータ（例えば、無視された、又は不適切にタグ付けされたテキスト）を識別することができる。
【００９３】
この誤認データは、データ処理ツールの新たな非構造化及び／又は部分的に構造化されたデータを処理し識別する能力を改善し、また改良するために使用される。さらに、いくつかの実施形態では、ユーザインターフェースによりユーザが最新のデータ処理方法及びシステム、及び／又は連想記憶システムの経験者である必要なく、誤認データを識別し選択することが可能になる。本明細書に記載された方法及びシステムの少なくとも幾つかでは専門の職員がデータ処理ツールを維持し及びアップデートすることを必要としないため、本明細書に記載された方法及びシステムにより、既知のデータ解析システムに伴う費用の削減が促進される。
【００９４】
実施形態は少なくとも一部において、非構造化データ内の２つの項目間の関係及び／又は２つの項目間に見られる一致の判別に関するものである。説明した実施形態は連想記憶ソフトが処理できるように非構造化データを設定するように作動する。上記前処理により例えば、この技術を画像のメタデータ、メタデータの規格、及びウェブサイトのメタデータの調査に適用することができる等のさらなる処理の機会が得られる。結論として、実施形態は非構造化データ内のデータの関連セグメントを識別しタグ付けして、例えば、連想記憶システム、ビジネス・インテリジェンス・アプリケーション、サーチエンジン、及び／又は画像連想記憶システム等の改善されたデータ解析システムを構築する。
【００９５】
本明細書で説明した方法及びシステムにより、メインアプリケーション自体からの固有データでユーザがデータ処理ツールを構築することが可能になるため有利である。例えば、データ処理ツールは「実際のデータ」（実施例）に基づいて上記実施形態を使用して作成され、この「実際のデータ」によりデータ処理ツールが、多くの従来のルールベースのシステムよりもさらに堅固で、的確、又は精密なものに改善され得る。例えば、多くの従来のルールベースシステムでは、自然プログラミング言語の専門家等の専門家が例えば品番、整理番号等の一以上の領域特化型の項目を取得し、及び／又は対象のパターンを識別して情報を適切に識別するためのルール／コードを生成することが要求される。
【００９６】
さらに、本発明の実施形態を使用して、例えばデータを処理するための次の定期的なアップデート等の前処理段階において、システムのユーザは実施例を識別し、識別された実施例を使用して例えばデータの断片等の情報を戻すことによりデータ処理システムを構築することができる。このように、本発明の実施形態はわずかな量の初期データのみで作動可能である。したがって、この新規システムでは多くの従来のニューラル・ネットワークと比べ大量の訓練データの必要が回避される。最後に、例えば実際のデータ等のデータを最も良く知るユーザは対象項目、例えばボイラープレートを識別して、そのコンテンツをデータ処理ツールに入力することができ、これによりデータ処理ツールのアップデートが非構造化及び／又は部分的に構造化されたデータを含む問題空間が次回処理される時に適用される、又はアップデートされたデータがシステムに加えられるごとに増加する。
【００９７】
本明細書で説明したシステム及び方法にしたがってデータを処理することで、メインアプリケーションに組み込まれる例えばテキスト等のデータの総量が削減され、データの組み込み速度が上がり、データを記憶するのに使用されるメモリの量が減り、データを抽出することができる速度が速くなる。さらに、本明細書で説明した少なくとも幾つかの方法及びシステムでは、データ処理ツールを維持し及び／又はアップデートする専門職員を必要としないため、本明細書で説明した方法及びシステムにより既知のデータ解析システムに関連する費用を削減しやすくなる。
【００９８】
本明細書で説明した方法及びシステムを、非限定的に記憶デバイス、又はコンピュータの記憶領域を含むコンピュータによって読み取り可能な媒体で具現化される実行可能な命令として符号化することができる。一以上のプロセッサによって実行された時上記命令により、一又は複数のプロセッサが本明細書で説明した方法の少なくとも一部を実施する。本明細書で使用する「記憶デバイス」は有形品、例えばハードドライブ、ソリッドステートメモリデバイス、及び／又はデータを記憶するように作動可能な光ディスクである。
【００９９】
本発明の様々な実施形態の特徴が幾つかの図面において示し、その他の図面には示していない場合があるが、これは便宜上のみの理由からである。本発明の原理によれば、図面の全ての特徴を任意のその他の図面の任意の特徴と組み合わせて参照する及び／又は主張することができる。
【０１００】
ここに記述した説明は、当業者が任意のデバイス又はシステムを作成し使用して任意の組み込まれた方法を実施することを含み、これらの実施形態を実行することを可能にするために、実施例を使用して最適な態様を含む様々な実施形態を開示するものである。特許性のある範囲は請求項によって定義され、当業者が発想するその他の実施例を含むことができる。上記のその他の実施例は、請求項の字義通りの言葉と同一の構造要素を有する場合、又は請求項の字義通りの言葉との違いがごくわずかである同等の構造要素を含む場合は、請求項の範囲内であるとみなされる。
【符号の説明】
【０１０１】
１００    テキストを処理する手順
２０２    非構造化テキスト
２０４    対象項目
２０６    タグ
２０７    構造化テキスト
２０８    「ａｕｔｈｏｒ」タグ
２１０    「ｙｅａｒ」タグ
２１２    「ｃｉｔｙ」タグ
２１４    「ｐａｒｔ＿ｎｕｍｂｅｒ」タグ
２１６    「ｂｏｏｋ＿ｔｉｔｌｅ」タグ
３００    構造化（又は部分的に構造化された）テキストを生成する例示の手順のフロー図
４０２    ソーステーブル
４０４    ソースの正規表現パターン（ＳＲＥＰ）
４０６    出力テーブル
４０８    出力ＨＴＭＬページ
４１０    テキスト
４１２    テキスト
５００    連想記憶アプリケーション
５０２    データベース
５０４    ラベル列
５０６    テキスト列
５０８    識別列
５１０    サンプルテキスト
５１２    処理後テキスト
６００    テキストを識別しタグ付けする例示の方法のフロー図
７００    非構造化及び／又は部分的に構造化されたテキストのセグメントに対して識別スコアを生成する例示の方法のフロー図
８０２    電子メール
８０４    第１ボイラープレート区分
８０６    第２ボイラープレート区分
８０８    ウィンドウ
８１０    パースボタン
８１２    確認ウィンドウ
９００    例示のテキスト処理システムのブロック図
１０００    データ処理システム
１００２    通信ファブリック
１０２０    コンピュータプログラム製品
【図１】
0006022239.tif 000002
【図２Ａ】
0006022239.tif 000003
【図２Ｂ】
0006022239.tif 000004
【図２Ｃ】
0006022239.tif 000005
【図２Ｄ】
0006022239.tif 000006
【図３】
0006022239.tif 000007
【図４】
0006022239.tif 000008
【図５】
0006022239.tif 000009
【図６】
0006022239.tif 000010
【図７】
0006022239.tif 000011
【図８Ａ】
0006022239.tif 000012
【図８Ｂ】
0006022239.tif 000013
【図８Ｃ】
0006022239.tif 000014
【図９】
0006022239.tif 000015
【図１０】
0006022239.tif 000016