(58)【調査した分野】(Int.Cl.,DB名)
少なくとも部分的に構造化されたデータを検証するステップが、少なくとも部分的に構造化されたデータの一以上の識別タグを調べるステップを含む、請求項2に記載の方法。
連想記憶アプリケーションにクエリを行うステップが、ボイラープレートを含むデータの少なくとも1つのセグメントを含む連想記憶アプリケーションにクエリを行うステップを含み、少なくとも部分的に非構造化されたデータの少なくとも1つのセグメントをタグ付けするステップが、ボイラープレートを含む少なくとも部分的に非構造化されたデータの少なくとも1つのセグメントをタグ付けするステップを含む、請求項4に記載の方法。
少なくとも部分的に構造化されたデータを出力テーブル及び出力ハイパーテキストマークアップ言語(HTML)ページのうちの一つに出力するステップをさらに含む、請求項1から6のいずれか1項に記載の方法。
【発明を実施するための形態】
【0010】
本明細書に記載する方法及びシステムは、データソース(例:テキスト文書、データベースフィールドなど)に含まれうる対象項目の識別に関連するものである。本明細書に記載された実施例及び実施形態はテキストの処理を対象にしたものであるが、当然ながら実施形態は限定的なものと解釈すべきでない。テキスト処理の実施例及び実施形態は明確さのために記載されたものである。本明細書に使用される実施例は限定的なものと考えるように意図されたものでなく、説明するための例にすぎない。むしろ、本明細書に記載された実施形態は、一以上のテキスト、文字数字のデータ、埋込みオブジェクト、画像、メタデータ、ビデオ、音声、マルチメディア、及びすべての種類のデータ及び情報ストリームを含むどんな種類の情報及び/又はデータの処理をも含むように意図されており、上記データ及び情報のいかなる特定の形式又は種類にも限定されない。
【0011】
したがってこの方法及びシステムは例えば、データ処理ツールを使用してデータのタグ付けを行ってデータを「構造化」すると同時に、処理中に生じたデータのすべての構造化の検証を行うことに関するものである。本明細書にさらに記載されているが、当然ながら実施形態は文書内の非構造化データの「構造化」に関するだけでなく、部分的に構造化されたデータを含む文書のさらなる構造化にも関するものである。さらに明確にするために、本明細書で使用する非構造化データは、例えば人の構文/言語に基づくフリー形式及び変数である、人によって通常入力されるテキスト等のデータを指すものである。例えば、電子メール及びノーツフィールドでは通常ユーザがフリー形式の応答を入力することができる。さらに本明細書で使用する構造化データは、データの情報がタグ付きである、又はそうでなければ組織化された方法で発呼されている場合に、構造化された及び/又は部分的に構造化されたものを指す。前述した文書内の対象項目へのタグの追加は、文書内のデータを構造化することと類似している。
【0012】
上記実施形態は、既存のデータを処理する方法よりも改善された効率性及びパフォーマンスを提供する。本明細書にさらに記載するように、連想記憶アプリケーション及び/又は正規表現処理プログラムのうちのいずれかあるいは両方を使用して、データ内の対象項目を識別し、タグ付けを通して構造化し、検証することができる。連想記憶は、複数のデータと、複数のデータ間の複数の関連性を含む。連想記憶アプリケーションはまた、連想記憶エンジンを使用してデータソースを互いに組み込むことによって作成される連想記憶とも呼ばれる。連想記憶エンジンは、データベースソフトが多数のデータベースを制御するのと同じように、連想記憶の作成、メンテナンス及びアクセスを制御するアプリケーションである。連想記憶はその他のエンティティ及び属性に関連する及び/又は関連付けされるエンティティ及び属性を含む。エンティティは、特定の対象項目の連想記憶のインスタンスであり、属性は関連付けされたエンティティの特性及び/又は記述である。連想記憶は、連想記憶間の属性、エンティティ及び関連性を記憶する。
【0013】
さらに、非構造化データ及び/又は部分的に構造化されたデータがさらに構造化されるデータに処理された後で、データ処理ツールによって誤認されたすべてのデータを識別することができる。誤認(間違ってタグ付けされた)データの上記インスタンスは、さらなるデータサンプルの識別、処理、及び検証におけるデータ処理ツールの能力を向上させ改善するために使用される。本明細書で使用する誤認データは、間違ってタグ付けされた及び/又は間違
いによりタグ付けされなかったデータ(すなわち、例えば事前にタグ付けする必要があると識別されなかったが、後にタグ付けが必要であることが発見されたデータ等の処理中にタグ付けされるべきであったがされなかった未確認データ)を指すものである。
【0014】
さらに、いくつかの実施形態では、ユーザインターフェースによりユーザが最新のデータ処理方法及びシステム、及び/又は連想記憶システム及び正規表現処理プログラムの経験者である必要なく、誤認データを識別し選択することが可能になる。本明細書に記載された方法及びシステムの少なくとも幾つかでは専門の職員がデータ処理ツールを維持し及びアップデートすることを必要としないため、本明細書に記載された方法及びシステムにより、既知のデータ解析システムに伴う費用の削減が促進される。
【0015】
図1はテキストを処理する手順100を示すフロー図である。手順100は、例えば上に定義した非構造化テキスト及び/又は部分的に構造化されたテキスト等の処理すべきテキストを識別する102ことを含む。非構造化テキスト及び/又は部分的に構造化されたテキストにおいて対象項目が識別される104。例えば、ある実施形態において、顧客はデータアナリストに対して対象項目を視覚的に識別する104ことができる。対象項目は次にタグ付けされて106、テキストが少なくとも部分的に構造化される。対象項目は手動又は自動プロセスを使用してタグ付けする106ことができる。
【0016】
(後にさらに説明するように)テキストに構造を提供するタグを含む、結果として得られた構造化テキスト(及び/又は部分的に構造化されたテキスト)が検証される108。検証108は、テキスト処理システムの一以上のコンポーネントに連結されたユーザインターフェース上に構造化テキストを表示し、テキストに構造を提供する様々なタグを観察することを含むことができる。上記タグを観察することによって、非構造化テキスト及び/又は部分的に構造化されたテキストが適切にタグ付けされたかどうかを迅速に検証することができる。さらに、いくつかの実施形態では、ユーザが間違
いによりタグ付けされた又はタグ付けされていないすべてのテキストを選択して、利用している一以上のテキスト処理ツールをアップデートするのに使用することができる。構造化テキストが検証された108後で、構造化テキストはさらなる処理のために
解放される。解放されたテキストは、タグ付けに基づいて構造化テキストを処理する及び/又は組み込む全ての好適なデータマイニング及び/又はデータ処理アプリケーションへ送ることができる。例えば、構造化テキストは後にさらに説明するようにメインのアプリケーションへ送ることができる。
【0017】
図2A〜Dは、対象項目を識別して必要に応じて対象項目をタグ付けすることによって、非構造化テキスト及び/又は部分的に構造化されたテキストを処理し、これによりテキストに構造、又は追加の構造を与える例示の手順を示す図である。手順は、様々なテキストを処理する方法及びシステムを使用して実行可能である。
図2Aは元の形式の非構造化テキスト202のサンプルを含む。非構造化テキスト202、及び/又は部分的に構造化されたテキスト(
図2に図示せず)は例えばデータソースに記憶されうる。
図2Bには、明確化のために非構造化テキスト202内の複数の対象項目204を太字フォントで示す。例示の実施形態では、対象項目204は非構造化テキスト202の著者、年、大学名、町名、品番、及び本のタイトルを含む。
【0018】
テキストサンプルが部分的に非構造化されたテキストを含む実施形態では、対象項目のいくつかはすでにタグ付けされている場合がある。例えば、著者及び年は事前にタグ付けされている場合があるが、大学名はまだタグ付けされる必要があり得る。あるいは、対象項目204は、本明細書に記載されるようにタグ付けを通して識別及び処理される可能性のある非構造化テキスト及び/又は部分的に構造化されたテキスト内の項目の全てのカテゴリ及び/又は種類を含むことができる。例えば、本明細書に説明する特定の実施形態では、対象項目204は動物、日付、及び/又はボイラープレートテキストを含む。
【0019】
当然ながら、「ボイラープレート」は、特にテキストが多数のソースによって作成された時に、しばしばスタイル、フォーマット、及び/又はコンテンツと同様のアプリケーション領域に基づくテキストのカテゴリを表す一般用語である。あるアプリケーション領域では、ボイラープレートは署名ブロック、法的免責、商標印、及び/又は遠隔地間会議情報を含む。本明細書においてしばしばテキストと呼ばれるが、ボイラープレートは一以上の文字数字データ、埋込みオブジェクト(画像、メタデータなど)も含む場合があることを注記すべきである。ある実施形態では、顧客は非構造化テキスト及び/又は部分的に構造化されたテキスト202において対象項目204を視覚的に識別する。
【0020】
対象項目204が識別されると、対象項目204はタグ付けされ、この結果テキスト202が構造化される及び/又は部分的に構造化される。例示の実施形態では、顧客は例えばユーザインターフェースを使用して対象項目204を視覚的に識別する。ユーザインターフェースはテキスト処理システムの一以上のコンポーネントに連結させることができる。ある実施形態では、顧客はデータアナリストに対象項目204を説明する。追加の対象項目204をタグ付けしてテキストをさらに構造化すべきかを決定するために、データアナリストは顧客と非構造化テキスト及び/又は部分的に構造化されたテキスト202のパターン及び/又は項目を話し合う場合がある。データアナリストは次に、同じユーザインターフェース、又はテキスト処理システムの一以上のコンポーネントに連結された別のユーザインターフェースを使用して追加の対象項目204をタグ付けする。
【0021】
あるいは、対象項目204を自動プロセスによってタグ付けし、テキストを構造化及び/又は部分的に構造化することができる。ある実施形態では、自動プロセスは適切な名詞、品番、及び/又は特定の種類の情報のその他全ての値の集合体の既知のリスト全体をクロールする。さらに自動プロセスは上述したように、連想記憶アプリケーション及び/又は正規表現処理プログラミングを使用して実行可能である。またさらに、自動プロセスはまた上記値の集合体を識別するためにオントロジーベースの方法を用いることもできる。この場合、また本明細書に記載していないその他の場合において、自動プロセスにおいて明らかとなった、結果として得られた対象項目204に適用可能なタグを適用して上記テキストに構造を加えることができる。
【0022】
図2Cにおいて、対象項目204が識別されてタグ206が挿入され、これによりテキストが構造化される。例えば、日付タグを含むことは特に重要でありうる一方、除外タグは重要でない可能性がある。このため、上記タグ206の存在は、少なくとも部分的に構造化されたテキスト207を示す。例えば、構造化テキスト207において、「Henry David Thoreau」は「author」タグ208を使用してタグ付けされ、「1862」は「year」タグ210を使用してタグ付けされ、「Concord」は「city」タグ212を使用してタグ付けされる。
図2Cに示す実施例においては、タグ206はまた「part_number」タグ214と「book_title」タグ216も含む。上で説明したように、タグ206はデータアナリストによって、又は自動プロセスを使用することによって非構造化テキスト及び/又は部分的に構造化されたテキスト202に挿入可能である。上記タグの挿入により、テキストの構造が生成される。
【0023】
図2Dに示すように、各種のタグ206はまた固有の識別タグ、又は「i−tag」を含むこともできる。タグ及び「i−tag」の形式は変形し、HTML/XMLスタイルのタグの使用又は完全に異なる形式を含む異なる形式を使用することができる。
図2Dにおいて、i−tagは太字フォントで示され、形式[ixx]を有する。
図2Dの個別のi−tagのうちの幾つかは下記の段落において個別に参照される。i−tagにより、例えば顧客及び/又はデータアナリスト等のユーザが、各タグ206が対象項目204にいかに良く適用されているかを判断することが可能になる。さらに具体的には、i−tagによりユーザが、所定のタグ204が期待したように対象項目204に良好に適用されタグ付けされたかどうか、一つのタグ206の適用が別の適用と矛盾していないかどうか、及び/又は一つのタグ206の適用は別のタグ206の適用と類似のもの、及び/又は複製であるか否かを迅速に判断することが可能になる。タグ206の適切な適用を判断しやすくするために、結果的に得られた構造化テキスト207はテキスト処理システムの一以上のコンポーネントに連結されたユーザインターフェース上に表示される。
【0024】
例えば、
図2Dにおいて、authorタグ208はi−tag「[i01]」を含み、book_titleタグ216はi−tag「[i02]」を含む。authorタグ208とbook_titleタグ216はいずれも対象項目204を正確にタグ付けしている。しかしながら、
図2Dに示すように、不正確なタグ220により非構造化テキスト及び/又は部分的に構造化されたテキスト202において「1234−1」が誤認されている。つまり、i−tag「[i05]」を含むpart_numberタグ214は、フレーズの「彼のポーチから水辺までの距離は1234−1255フィートだった」の「1234−1」を品番として間違って識別している。つまりそのフレーズで使用される「1234−1」は対象項目204ではなく、適切に適用されればpart_numberタグ214でタグ付けされるべきではなかった。加えて、i−tag「i14」も「1234−1」の隣に見られ、これは別のタグ206がその特定のテキストに適用されたことを表す。ユーザインターフェース上で不正確なi−tagを閲覧することによって、データアナリストはi−tag「[i05]」及び「[i14]」を含む少なくとも一つのタグ206が不適切に及び/又は不成功に機能したことを迅速に判断して、エラーを訂正するために適切なステップを踏むことができる。
【0025】
タグ206を含む(部分的にのみ構造化されている可能性のある)構造化テキスト207が検証されたら(つまり全てのタグ206が適切に機能していると判断されたら)、構造化テキスト207はさらに処理を行うために
解放される。ある実施形態では、ユーザはアプリケーションデータソースにおいて結果として得られた構造化テキストを検証して、テキスト処理ツールがメインデータソースからの非構造化及び/又は部分的に構造化されたテキストを適切に処理したかどうかを判断する。テキストが正確に処理されたことをユーザが確認した場合、ユーザは、本明細書に後に記載するように、メインアプリケーションが構造化テキストを組み込むことができるように、テキスト(構造化及び/又は部分的に構造化されたテキスト)をアプリケーションデータソースへ
解放する。ユーザがテキストが間違って処理されたと判断した場合、ユーザは処理ツールのデータソース及び/又はテキスト処理ツールをアップデートして、全てのテキスト処理エラー及び/又は失敗を訂正する。実施形態において、検証及びアップデートは自動である又は部分的に自動である。
【0026】
図3は、非構造化テキストのタグ付けを行って構造化(又は部分的に構造化された)テキストを生成する例示の手順のフロー
図300である。同じ手順を部分的に構造化されたテキストのさらなるタグ付けに用いて、テキストのさらなる構造化、及び非構造化テキストのタグ付けが行われるが、受け入れたテキスト及び対象項目のコンテンツによっては部分的に構造化されたテキストのみが得られる結果となり得ることを注記すべきである。さらに明確にするために、本明細書で使用する非構造化テキストは通常、人によって入力され、その人の構文/言語に基づいて自由形式及び変数であるテキストを指す。例えば、通常電子メール及びノーツフィールドによりユーザが自由形式の応答を入力することが可能になる。さらに、本明細書で使用するテキストは、テキストの情報がタグ付けされている、又はそうでなければ組織化された方法で発呼されている場合、構造化及び/又は部分的に構造化されていると見なされる。実施形態において、構造化テキストはテキストの情報を識別する一以上のタグを含むテキストを指している。処理のために、非構造化テキスト及び/又は部分的に構造化されたテキストはテキスト処理ツール304へ送られる。
【0027】
本明細書に記載した実施形態では、テキスト処理ツール304は本明細書で詳しく説明するように、タグの挿入を通して非構造化テキスト及び/又は部分的に構造化されたテキスト302の構造化に使用される正規表現処理プログラム309及び連想記憶エンジン308内の連想記憶アプリケーション306のうちの一つ又は両方を含む。連想記憶アプリケーション306は連想記憶を含む。本明細書で使用する連想記憶は一以上のデータソースを使用して生成される情報記憶を指す。この情報記憶はその他のエンティティ及び属性に関連する及び/又は付随するエンティティ及び属性を含む。
【0028】
エンティティとは特定の対象項目の連想記憶のインスタンスであり、属性とは関連エンティティの特性及び/又は記述である。連想記憶アプリケーション306により、ユーザがエンティティ及び/又はエンティティの種類の属性及び関連付けの両方を通して類似度の分析を行う及び類似クエリを実施することが可能になる。したがって、連想記憶アプリケーション306により、属性及びエンティティ間の以前識別されなかった相互関係を発見することが可能になる。連想記憶エンジン308により、連想記憶アプリケーション306が連想記憶に記憶されたエンティティ及びエンティティの関係についての情報を検索することが可能になる。
【0029】
例示の実施形態では、テキスト処理ツール304はまた後に詳しく説明するように、非構造化テキスト及び/又は部分的に構造化されたテキスト302を処理するための正規表現処理プログラム309も含む。あるいは、テキスト処理ツール304は連想記憶アプリケーション306及び正規表現処理プログラム309のうちの一つのみを含むことができる。さらに、ある実施形態では、連想記憶アプリケーション306又は正規表現処理プログラム309は完成したテキスト処理ツール304を構成する。テキスト処理ツール304は本明細書で説明するように、連想記憶アプリケーション306及び/又は正規表現処理プログラム309を用いて、非構造化テキスト及び/又は部分的に構造化されたテキスト302を処理して構造化テキスト310を出力する。
【0030】
図4は例えば正規表現処理プログラム309(
図3に示す)等の正規表現処理プログラム(REPP)400を使用した非構造化テキスト及び/又は部分的に構造化されたテキストのタグ付け(構造化)を示す図である。本明細書にさらに記載するように、REPP400をシステムとともに使用することができる。アプリケーションによって、REPP400はテキスト処理ツールの一コンポーネントであってよく、又は完成したテキスト処理ツールを構成するものであってよい。処理されるべき非構造化テキスト及び/又は部分的に構造化されたテキストは、メインデータソースの一部であってよいソーステーブル402に記憶される。非構造化テキスト及び/又は部分的に構造化されたテキストはテキストの列としてソーステーブル402に整理される。
【0031】
実施形態において、非構造化テキスト及び/又は部分的に構造化されたテキストにタグを加えるために、ユーザは例えばテキスト処理システムの一以上のコンポーネントに連結されたユーザインターフェース等のユーザインターフェースを使用してテキストの所望のセグメントを選択する。特定の実施形態により、ユーザが簡単にソースを手で直してタグを加えることも可能になる。テキストの選択されたセグメントは、タグ、したがって構造をテキストに加える処理のためにソーステーブル402からREPP400へ送信される。あるいは、非構造化テキスト及び/又は部分的に構造化されたテキストのセグメント及び/又は列は、(ユーザがテキストを選択せずに)自動的にソーステーブル402からREPP400へ送信することができる。REPP400はコンピュータによって読み取り可能な媒体において具現化された実行可能な命令によってプログラミング可能である。
【0032】
REPP400において、テキストの選択されたセグメント及び/又は列に一以上のソースの正規表現パターン(SREP)404が適用される。実施形態においてSREP404は処理ツールデータソースに記憶される。SREP404の正規表現は、テキストの文字のシーケンスを照合するために使用される大部分のプログラミング言語(例:Java(登録商標)、PERL)で利用可能な標準の英数字及び非英数字である。
【0033】
実施形態において、所定のSREP404は4種類のエントリ:所望の文字シーケンスを取得する正規表現パターン、置換パターン、特定の動作を行うためにREPP400が使用する特殊文字(例:特定パターンを再帰的に適用する)、及び所定のSREP404の意図するタスクを記録するノーツフィールドを含むラインを含む。REPP400はSREP404を読み込み、各SREP404ラインを最上部から最下部まで順に適用し、出力テーブル406及び出力HTMLページ408のうちの少なくとも1つを出力する。ある実施形態においては、出力テーブル406は本明細書でさらに説明するようにアプリケーションデータソースの一部である。実施形態において、出力テーブル406と出力HTMLページ408はいずれも、出力HTMLページ408の「修正後」列に示すタグ付きテキストを含むデータ列を有し、タグ付きテキストは本明細書では構造化テキストと呼ばれる。
【0034】
上記したように、SREP404により選択されたテキストの所定のパターンを照合しタグ付けして上記テキストを構造化する。例えば、
図4において、Animal SREPはテキストセグメントの動物名を照合してタグ付けし、Date SREPはテキストセグメント内の4文字の日付を照合し年としてタグ付けする。animal SREP及びdate SREPは実施形態において適用可能なSREPSの具体例である。animal SREP及びdate SREPは404に示す一般的なSREPの実施例(例:パターン1、パターン2)と必ずしも相互に関連しているわけではないことを注記すべきである。
【0035】
テキストのタグ付きセグメントは次に出力テーブル406及び/又は出力HTMLページ408へ送信される。実施形態においては、ユーザはユーザインターフェースを利用して、テキストのタグ付きセグメントを出力テーブル406及び/又は出力HTMLページ408へ送信するか否かを選択する。さらに、ある実施形態では、さらなる処理のためにテキストの構造化セグメントがアプリケーションへ送信される。下記のある実施例では、アプリケーションは
、テキストに配置されたタグに
少なくとも部分的に基づい
た構造化テキスト(すなわちテキストのタグ付きセグメント)を組み込む。例えば、アプリケーションは特定のタグ付き単語及び/又はフレーズを含める又は除外することができる。
【0036】
出力HTMLページ408は、非構造化テキスト及び/又は部分的に構造化されたテキストのセグメントへSREP404を適用した結果を表示する。例えば
図4において、出力HTMLページ408は、テキスト410の第1セグメントの「fox」が動物としてタグ付けされ、テキスト412の第2セグメントの「1492」は年としてタグ付けされていることを示す。ある実施形態では、出力HTMLページ408はユーザインターフェースの表示装置上に表示される。出力HTMLページ408を閲覧することによって、ユーザは構造化テキストのセグメントがすべて不適切にタグ付けされていないかどうかを判断することができる。ユーザインターフェースを使用すれば、ある実施形態では、この誤認テキストを使用してSREP404をアップデートすることができ、例えばSREP404は不適切なタグ付けを生成した一以上の既存のパターンを訂正するためにアップデートされる。例えば、ユーザが誤認テキストを識別し及び/又は選択したときに、誤認テキストを使用して既存のSREP404を修正する及び/又は新たな非構造化テキスト及び/又は部分的に構造化されたテキストへ適用すべき新たなSREP404を作成することができる。
【0037】
実施形態において、各SREP404は固有の識別タグ、又は「i−tag」を含む。i−tagにより、ユーザはREPP400の操作中に各SREP404がいかに良く機能しているかを判断することが可能になる。さらに具体的には、i−tagにより、ユーザが期待したように所定のSREP404がテキストのセグメントを良好に照合しタグ付けしたかどうか、あるSREP404が別のSREP404の作業と対立していないかどうか、及び/又は一つのSREP404が別のSREP404の作業と類似のもの、及び/又は複製である作業を行ったか否かを判断することが可能になる。
【0038】
例えば、
図4においてAnimal SREPはi−tag「[i21]」を含み、Date SREPはi−tag「[i22]」を含む。したがって、出力HTMLページ408では、テキスト410の第1セグメントは「[i21]」を含み、これはAnimal SREPを使用してテキストの第1セグメント410がタグ付けされたことを表し、テキストの第2セグメント412が「[i22]」を含み、これはテキストの第2セグメント412はDate SREPを使用してタグ付けされたことを表している。実施形態において非構造化テキスト及び/又は部分的に構造化されたテキストにタグを適用するために2つのSREP404が用いられているが、SREP404はいくつでも適用可能であり、これによりREPP400が本明細書に記載するように機能することが可能になる。
【0039】
図5は、例えば連想記憶アプリケーション306等の連想記憶アプリケーション500がどのように非構造化テキストを識別し、またタグ付けし、その結果構造化テキストを得るかを示す図である。実施形態において、非構造化テキスト及び/又は部分的に構造化されたテキストは一以上の列のデータソースに記憶される。非構造化テキストは多数の列内に分けることができ、これにより非構造化テキストは別々の列の多数のセグメントに分割される。例えばテキスト処理ツール304等のテキスト処理ツールは連想記憶アプリケーション500を利用して、上述したように非構造化及び/又は部分的に構造化されたテキストの対象項目を識別しタグ付けする。
【0040】
図5に示す実施例において、連想記憶アプリケーション500は非構造化/部分的に構造化されたデータ内のボイラープレートテキストを識別しタグ付けし、これにより非構造化/部分的に構造化されたデータに構造を追加する。
図5に示す実施例はボイラープレートの識別及びタグ付けを示すが、この実施例は単なる例に過ぎず、連想記憶アプリケーション500を使用して非構造化及び/又は部分的に構造化されたテキスト及び/又はデータのすべての関連の対象項目を識別しタグ付けすることができる。
【0041】
実施例の説明においては、当然ながら「ボイラープレート・データ」は、特にテキスト/データが多数のソースによって作成された場合に、しばしばスタイル、形式、及び/又はコンテンツが似ているテキスト及び/又はその他のデータ(例:英数字データ、埋込みオブジェクト、画像、メタデータ等)のカテゴリを表す一般用語である。ボイラープレート・データは、この実施例のために、署名欄、法的免責、商標印、及び/又は遠隔地間会議情報を含むが、この用語は限定的に解釈するべきではない。ボイラープレートは特定のアプリケーションにはおおむね不適切であり、メインアプリケーションが受けた場合に上記アプリケーションを使用した結果に悪影響を与える可能性があるため、上記アプリケーションからボイラープレートを除外する(つまり組み込まない)ことが望ましい。
【0042】
この特定の実施例では、テキストのセグメントが既存のボイラープレートに似ている場合、これはボイラープレートとしてタグ付けされる。この実施例は、テキスト処理ツールがどのように連想記憶アプリケーションを利用して一実施形態においてテキストを識別しタグ付けするか、そして本明細書に記載される方法及びシステムの範囲を決して限定するものでないことを示すために提供されている。さらに具体的には、連想記憶アプリケーションを利用するように構成されている場合には、連想記憶アプリケーションを利用してボイラープレートの識別及びタグ付けに関連していないテキストの対象項目を識別することができる。
【0043】
テキストを識別しタグ付けするために、テキスト処理ツール、例えばテキスト処理ツール304は例えば(
図3に示す)連想記憶アプリケーション306等の連想記憶アプリケーション500にクエリを行う。この実施形態において、連想記憶アプリケーション500はデータベースから生成される。例えば、
図5は、テキストの異なる文字列の固有の整数を含むラベル列504、テキストの異なる文字列を含むテキスト列506、及びテキストの文字列が対象項目であるか否かを識別する識別列508を含むデータベース502を示す。
【0044】
例えば、データベース502において、テキストの「BOILERPLATE IS HERE.」はボイラープレートとして識別され、その一方でテキストの「TESTING ON NEW EQUIPMENT」はボイラープレートではないと識別される。この実施形態においてデータベース502は3つの列を有するが、データベース502はテスト処理ツール及び連想記憶アプリケーションが本明細書に記載されたように機能することを可能にする任意の数の列を有していてよい。ある実施形態では、データベース502は例えばSREP404(
図4に示す)等の正規表現パターンと平行であると考慮される。
【0045】
実施形態において、連想記憶アプリケーション500を生成するために、レベル列504及び識別列508は連想記憶アプリケーション500に直接組み込まれる。実施形態において、テキスト列506のテキストのセグメントは直接連想記憶アプリケーション500に組み込まれ、これによりテキスト列506と連想テキストセグメントは連想記憶アプリケーション500の一部を形成する。あるいは、テキスト列506のテキストのセグメントを汎用単語パーサ及び/又はエキストラクタを使用して連想記憶アプリケーション500に組み込むことができ、これによりテキスト列506のテキストを、連想記憶アプリケーション500のテキストの一以上のセグメントを形成するキーワード及び/又はキーフレーズ等のキー用語に更に分割する及び/又はパースすることができる。
【0046】
例えば、テキスト列506は名詞、動詞、及び/又は形容詞に分割する及び/又はパースすることができる。あるいは、連想記憶アプリケーション500により、テキスト処理ツールが本明細書に記載したように機能することを可能にする任意のプロセスを使用して実行することができる。連想記憶アプリケーション500を使用する場合、非構造化及び/又は部分的に構造化されたテキストはセグメントに分割及び/又はパースされ、後に詳しく説明するように連想記憶アプリケーション500のテキスト列506のテキストのセグメントのコンポーネント及び/又はキーワードの分割と比較される。
【0047】
この実施形態では、テキスト処理ツールはデータソースから例えばサンプルテキスト510等の非構造化及び/又は部分的に構造化されたテキストを受け取る。この実施形態では、汎用単語パーサ及び/又はエキストラクタを使用して非構造化及び/又は部分的に構造化されたテキストをテキストの個別のセグメントにパースすることによって、サンプルテキスト510が生成される。サンプルテキスト510を使用して連想記憶アプリケーション500にクエリを実行することによって、テキスト処理ツールはサンプルテキスト510のセグメントを対象項目として識別しタグ付けして、結果として得られたテキスト512を生成する。
【0048】
例えば、結果として得られたテキスト512において、テキストの「BOILERPLATE IS HERE」はボイラープレートとしてタグ付けされ、テキストの「NEW EQUIPMENT TESTING」はボイラープレートとしてタグ付けされていない。代替実施形態では、テキストの「NEW EQUIPMENT TESTING」は非ボイラープレートとしてタグ付けすることができる。テキスト処理ツールは連想記憶アプリケーションのテキスト列506のコンテンツを利用してテキストを識別しタグ付けするため、非構造化テキスト及び/又は部分的に構造化されたテキストのセグメントが、連想記憶アプリケーションのテキストのセグメントとぴったり一致する必要はない。例えば、連想記憶アプリケーションがテキストのフレーズ「THIS IS BOILERPLATE TEST」を含んでいたとしても、「THIS IS BOILERPLATE」はボイラープレートとして識別されタグ付けされる。
【0049】
図6は例えば連想記憶アプリケーション306等の連想記憶アプリケーションを使用してテキストを識別しタグ付けする例示の方法600のフロー図である。例えばテキスト処理ツール304等のテキスト処理ツールは、処理すべき非構造化及び/又は部分的に構造化されたテキストを受け取る602。識別する目的で、非構造化及び/又は部分的に構造化されたテキストは例えば段落、文章、及び/又は単語等のテキストの個別のセグメントに分割及びパースされる。
【0050】
非構造化及び/又は部分的に構造化されたテキストの各セグメントに対して、テキスト処理ツールは連想記憶アプリケーションにクエリ604を行い、非構造化及び/又は部分的に構造化されたテキストのセグメントのコンテンツの分割及び/又はキーワードの、連想記憶アプリケーションの(一又は複数の)テキスト列506のセグメントのコンテンツの分割及び/又はキーワードとの比較に基づいて、連想記憶アプリケーションは識別スコアを生成する606。テキスト処理ツールは識別スコアが所定の閾値を超えているか否かを判断する608。識別スコアが所定の閾値よりも高い場合、非構造化及び/又は部分的に構造化されたテキストのセグメントは対象項目としてタグ付けされる610。識別スコアが所定の閾値よりも低い場合、非構造化及び/又は部分的に構造化されたテキストのセグメントはタグ付けされない612。
【0051】
識別スコアによってテキストのセグメントをタグ付けすることができ、このタグ付けに基づいてテキストのセグメントはメインアプリケーションに送られ614組み込まれる。タグ付けされたテキストは構造化テキストである。ある実施形態では、構造化テキストは出力テーブルに送られ、メインアプリケーションによって使用される。この実施形態では、テキスト処理ツールは連想記憶アプリケーションを利用して非構造化及び/又は部分的に構造化されたテキストの残りのセグメントを必要に応じて識別しタグ付けする。
【0052】
図7は連想記憶アプリケーションが適用される非構造化及び/又は部分的に構造化されたテキストのセグメントに対して識別スコアを生成する例示の方法700のフロー図である。連想記憶アプリケーションのテキストの各セグメント(すなわち、テキスト列506からのテキストの各文字列)に対し、テキスト処理ツールは非構造化及び/又は部分的に構造化されたテキストのセグメントの、連想記憶アプリケーションのテキストのセグメント(テキスト列506)との比較に対して、類似度スコアs
iを決定する702。
【0053】
例えば、類似度スコアs
iは非構造化及び/又は部分的に構造化されたテキストのセグメントと連想記憶アプリケーションのテキストのセグメントとの間で一致する項目(例:単語)の数を、非構造化及び/又は部分的に構造化されたテキストのセグメントの項目の総数で割ったものと定義することができる。テキスト処理ツールは、類似度スコアs
iが所定の類似度閾値を超えているか否かを決定する704。類似度スコアが所定の類似度閾値を下回る場合、テキスト処理ツールは連想記憶アプリケーションのテキストのセグメントに「0」の値を割り当てて、非構造化及び/又は部分的に構造化されたテキストの同じセグメントと、連想記憶アプリケーションのテキストの次のセグメントとの比較に対する類似度スコアs
iの決定702を開始する。
【0054】
類似度スコアs
iが所定の類似度閾値よりも高い場合、テキスト処理ツールは例えばデータベース502の識別列508からの情報を使用して、連想記憶アプリケーションのテキストのセグメントが対象項目であるかどうかを決定する706。この実施形態では、連想記憶アプリケーションのテキストのセグメントが対象項目である場合、連想記憶アプリケーションのテキストのセグメントには類似度スコアに等しい値が割り当てられる。
【0055】
連想記憶アプリケーションのテキストのセグメントが対象項目でない場合、連想記憶アプリケーションのテキストのセグメントには「0」の値が付与される。非構造化及び/又は部分的に構造化されたテキストの特定のセグメントに対する連想記憶アプリケーションのテキストの各セグメントに対して(すなわち、列506からのテキストの各文字列に対して)値が決定された後に、非構造化及び/又は部分的に構造化されたテキストのセグメントの識別スコアが、連想記憶アプリケーションのテキストの各セグメントに割り当てられた値を合計する708ことによって計算される。
【0056】
図7は識別スコアを生成する例示の方法700を示しているが、テキスト処理ツールが本明細書に記載した機能を果たすことを可能にする任意の方法を利用することができる。例えば、ある実施形態では、類似度スコアs
iが所定の閾値よりも低い時、及び/又は連想記憶アプリケーションのテキストのセグメントが対象項目でない時は、連想記憶アプリケーションのテキストのセグメントには非ゼロの値が割り当てられる。さらに、その他の実施形態では、類似度スコア及び値を利用し、その他のさらに複雑な手順を使用して識別スコアを計算することができる。
【0057】
図8A〜8Cは、ユーザが上述した連想記憶アプリケーションに誤認テキストを加えることができるようにする例示のユーザインターフェースのスクリーンショットである。例示の実施形態では、ユーザインターフェースは、テキスト処理ツールによって処理された後の構造化テキストを表示する。例えば、上述した連想記憶アプリケーションの実施例に対して、ユーザインターフェースは電子メール802に関するテキストを表示する。このテキストは第1ボイラープレート区分804及び第2ボイラープレート区分806を含む。
図8Aに示すように、テキスト処理ツールは第2ボイラープレート区分806をボイラープレートテキストとして識別しタグ付けしているが、第1ボイラープレート区分804をボイラープレートテキストとして識別しタグ付けすることに失敗している。したがって、第1ボイラープレート区分804は誤認テキストである。
【0058】
ユーザインターフェースを利用すれば、ユーザは誤認テキストを視覚的に識別することができる。さらに、ユーザは
図8Bに示すように誤認テキストをウィンドウ808にコピーすることができる。パースボタン810を選択することによって、誤認テキストが処理ツールデータソースにロードされる。誤認テキストがテキスト処理ツールの連想記憶アプリケーションに送られると、確認ウィンドウ812がユーザインターフェース上に表示され、
図8Cに示すように連想記憶アプリケーションが誤認テキストを含んでアップデートされていることをユーザに警告する。
【0059】
したがって、テキスト処理ツールが誤認テキストを含む非構造化テキスト及び/又は部分的に構造化されたテキストを処理する時に、また例えばユーザとの交信を介してそのように通知された時に、テキスト処理ツールは進行中の上記誤認テキストを正確に処理するようにアップデートされる。このように、テキスト処理ツールは繰り返しアップデートされ、データソースからの新たな非構造化テキスト及び/又は部分的に構造化されたテキストを処理するテキスト処理ツールの能力が向上する。さらに、テキスト処理ツールのアップデートには、テキスト処理ツールの複雑なプログラミング、及び/又は連想記憶システム及び方法の専門知識は必要ではない。むしろ、ユーザはユーザインターフェースを使用して比較的迅速に簡単にテキスト処理ツールをアップデートすることができる。
【0060】
図9は上述した実施形態の幾つか又はすべてを組み込む可能性がある例示のテキスト処理システム900のブロック図である。システム900は最終的に例えばメインアプリケーション904に組み込まれるべき非構造化テキスト及び/又は部分的に構造化されたテキスト(すなわち未処理テキスト)を受け取る及び/又は含むメインのデータソース902を含む。本明細書に記載する、メインアプリケーション904へのテキストの組み込みは、正確にタグ付けされた(構造化)テキストのメインアプリケーション904への入力を指している。メインデータソース902はシステム900が本明細書に記載したように機能することを可能にする任意の数の個別のデータソースを含むことができる。この実施形態では、メインアプリケーション904はアプリケーションデータソース905からテキストを組み込む。
【0061】
メインデータソース902は、例えばテキスト処理ツール304(
図3に示す)等のテキスト処理ツール906に連結されている。この実施形態において、テキスト処理ツール906はメインデータソース902から非構造化テキスト及び/又は部分的に構造化されたテキストを受け取り、非構造化テキスト及び/又は部分的に構造化されたテキストを、上述したように適切なタグを加えることによって少なくとも部分的に構造化されたテキストに処理する。構造化テキストはタグ付けされているテキストの少なくとも一つのセグメントを含む。
【0062】
本明細書で使用するテキストのセグメントとはテキストの一以上の単語を指し、単語とは全ての連続的な文字のセットであってよい。テキスト処理ツール906は、上に詳しく記載したように、非構造化テキスト及び/又は部分的に構造化されたテキストを処理するための、例えば連想記憶アプリケーション306(
図3に示す)等の連想記憶アプリケーション、及び/又は例えば正規表現処理プログラム309(
図3に示す)等の正規表現処理プログラムのうちの一方あるいは両方を含む。
【0063】
テキスト処理ツール906はアプリケーションデータソース905を介してメインアプリケーション904に連結され、これによりメインデータソース902からの非構造化テキスト及び/又は部分的に構造化されたテキストがテキスト処理ツール906によって処理され、メインアプリケーション904での利用のために、構造化テキストとしてアプリケーションデータソース905に出力される。あるいは、テキスト処理ツール906から出力された構造化テキストは、アプリケーションデータソース905に送信される前に追加の処理が行われる場合がある。アプリケーションデータソース905は例えば、テキストの構造化を検証するのに使われる出力テーブル、及び/又は出力ハイパーテキストマークアップ言語(HTML)ページを含むことができるが、その他の形式も考えられる。この実施形態では、メインアプリケーション904はアプリケーションデータソース905から構造化テキストを組み込む。
【0064】
メインデータソース902から非構造化テキスト及び/又は部分的に構造化されたテキストを処理するために、テキスト処理ツール906は連想記憶アプリケーションにクエリを行う、及び/又は少なくとも一つのソースの正規表現パターンを非構造化テキスト及び/又は部分的に構造化されたテキストに適用する。例えば、ある実施形態では、テキスト処理ツール906は非構造化テキスト及び/又は部分的に構造化されたテキストのセグメントについて連想記憶アプリケーションにクエリを行い、類似度スコアを計算し、類似度スコアに基づいて非構造化テキスト及び/又は部分的に構造化されたテキストのセグメントをタグ付けするか否かを決定することによって、非構造化テキスト及び/又は部分的に構造化されたテキストを処理する。
【0065】
非構造化テキスト及び/又は部分的に構造化されたテキストのテキスト処理ツール906での処理から生成された構造化テキストは、テキスト処理ツール906からアプリケーションデータソース905へ送信され、アプリケーションデータソース905においてメインアプリケーション904に組み込むことができる。メインアプリケーション904は、テキストのタグ付けされたセグメントに基づいて構造化テキストを組み込む。例えば、ある実施形態では、タグ付けされたテキストはメインアプリケーション904に組み込まれ、非構造化テキストはメインアプリケーション904に組み込まれない。明確にするために、本明細書に示した実施例では、ボイラープレートタグでタグ付けされたテキストは無視され、その他すべてはメインアプリケーションに組み込まれる。
【0066】
この実施形態では、メインアプリケーション904はデータ解析アプリケーションであり、例えばビジネス・インテリジェンス・アプリケーション、連想記憶アプリケーション、及び/又はサーチエンジンを含むことができる。あるいは、メインアプリケーション904はシステム900が本明細書に記載したように機能することを可能にする全てのアプリケーションであってよい。この実施形態では、テキスト処理ツール906は、構造化テキストがメインアプリケーション904に組み込まれる前に非構造化テキスト及び/又は部分的に構造化されたテキストを処理する。
【0067】
メインアプリケーション904は、テキスト処理ツール906による非構造化テキスト及び/又は部分的に構造化されたテキストのタグ付けに基づいて構造化テキストを組み込む。メインアプリケーション904に組み込むためにテキストを処理することによって、メインアプリケーション904に組み込まれるテキストの総量が削減され、メインアプリケーション904へテキストを組み込む速度が速まり、メインアプリケーション904によって使用されるメモリ量が削減され、及び/又はメインアプリケーション904からテキストを読み出すことができる速度が速まり、その結果が改善される。
【0068】
この実施形態では、メインアプリケーション904はユーザインターフェース908に連結されている。ユーザインターフェース908は例えばブラウン管(CRT)、液晶表示装置(LCD)、有機LED(OLED)表示装置、及び/又は「電子インク」表示装置等の表示装置を含むことができる。さらに、ユーザインターフェース908は、ユーザが例えばキーボード、ポインティングデバイス、マウス、タッチペン、タッチパネル(例:タッチパッド又はタッチスクリーン)、ジャイロスコープ、加速度計、位置検出器、及び/又は音声ユーザ入力インターフェース等のユーザインターフェース908と接触することを可能にする入力装置を含むことができる。
【0069】
ユーザインターフェース908を利用すれば、ユーザは構造化テキストを閲覧することができる。ユーザインターフェース908によりユーザが構造化テキストから誤認テキストを選択し抽出することが可能になる。つまり、ユーザはテキスト処理ツール906によって間違
いにより処理された又は全く処理されなかったテキストのセグメントを選択し抽出することができる。この実施形態では、誤認テキストに関するデータ及び/又は誤認テキスト自体が次に、ユーザインターフェース908に連結された処理ツールデータソース910に送られる及び/又は記憶される。ある実施形態では、処理ツールデータソース910はまた、誤認テキストではないテキスト処理ツール906に送られるべき初期データも含む。
【0070】
テキスト処理ツール906は、初期データだけでなくユーザインターフェース908において受信したユーザ入力から発信されたアップデートを利用して、本明細書に記載される方法及びシステムにしたがって非構造化テキスト及び/又は部分的に構造化されたテキストを処理する。ある実施形態では、一以上の追加のユーザインターフェースがテキスト処理システム900の一以上のコンポーネントに連結されることにより、本明細書に記載された方法及びシステムの機能の有効化が促進される。
図9に示すように、テキストの処理、処理したテキストのメインアプリケーション904への適用、ユーザインターフェース908を介してさらにテキストの処理が必要かどうかの見直しは反復及び繰り返しのプロセスであってよく、反復及び繰り返しのプロセスによりテキストのタグ付けが改善されると同時に得られた結果も改善される。
【0071】
テキスト処理ツール906が連想記憶アプリケーションを含む実施形態では、処理ツールデータソース910は上述したように例えばユーザ入力に基づいて連想記憶アプリケーションをアップデートする。さらに、テキスト処理ツール906が正規表現処理プログラムを含む実施形態では、ソースの正規表現パターンをアップデートして、以前誤認されたテキストを含む非構造化テキスト及び/又は部分的に構造化されたテキストを適切に処理することができる。
【0072】
メインデータソース902と同様に、処理ツールデータソース910はシステム900が本明細書に記載したように機能することが可能になる任意の数の個別のデータソースを含むことができる。ある実施形態では、処理ツールデータソース910はユーザインターフェース908を介して受信した入力に基づいて定期的にテキスト処理ツール906の連想記憶アプリケーションへ全ての誤認テキストを送る。あるいは、処理ツールデータソース910は連続的に、又はいつでもユーザが新たな誤認テキストのセグメントを識別した時にテキスト処理ツール906へ誤認テキストを送ることができる。
【0073】
テキスト処理ツール906は処理ツールデータソース910からの誤認テキストについてアップデートされ、これによりメインデータソース902からの非構造化テキスト及び/又は部分的に構造化されたテキストの今後の処理が改善される。したがって、テキスト処理ツール906によって最初に誤認されたテキストをテキスト処理ツール906に戻すことによって、テキスト処理ツール906は新たな非構造化テキスト及び/又は部分的に構造化されたテキストを処理する際に誤認テキストを利用するため、時間とともにテキスト処理ツール906の非構造化テキスト及び/又は部分的に構造化されたテキストを正確に処理する能力が向上する。この実施形態では一つのテキスト処理ツール906しか説明していないが、システム900は本明細書に記載したようにシステム900が機能することを可能にする任意の数のテキスト処理ツール906を含むことができる。例えば、システム900は、異なるテキスト処理方法を利用する異なるメインデータソース902及び/又はテキスト処理ツール906からの異なる種類の非構造化テキスト及び/又は部分的に構造化されたテキストを処理するための異なるテキスト処理ツール906を含むことができる。
【0074】
上述したように、この実施形態においては、テキスト処理ツール906は構造化テキストをアプリケーションデータソース905に送り、アプリケーションデータソース905はデータをメインアプリケーション904へ送る。さらに、構造化テキストはアプリケーションデータソース905の出力テーブル及び/又は出力HTMLページに含まれていてよい。本明細書で説明した実施例においては、メインアプリケーション904は例えば、正規表現処理プログラム及び連想記憶アプリケーションのうちの一方あるいは両方を使用して説明したようにテキストがタグ付けされたか否かに基づいて、テキストを処理する。例えば、ある特定の実施例では、メインアプリケーション904はボイラープレートとしてタグ付けされているテキストを組み込まない。あるいは、メインアプリケーション904は、システム900が本明細書に記載したように機能できるようにする任意の方法でアプリケーションデータソース905から構造化テキストを組み込むことができる。
【0075】
システム900は、データ処理ツール906のためのデータソース910を蓄積することによって、データ解析システム904の(専門的知識のない)ユーザがシステム904のパフォーマンスを向上させることを可能にするアーキテクチャを設定することによって作動する。ある実施形態では、パース性能906の適用には、比較するデータから開始して、データをパースして連想記憶エンティティ及び属性を判断し、データから得たエンティティ及び属性に基づいて類似の結果について連想記憶アプリケーションにクエリを行い、類似の結果のセットを利用して結果をランク付けしスコアをつけて、このスコアに基づいてエンティティ及び属性についての追加情報を暗示することを含む連想記憶データマークアッププロセスを適用することが含まれる。
【0076】
追加情報は汎用エンティティ及び属性を、さらに領域特化型のエンティティ及び属性に変換する。領域特化型エンティティ及び属性を使用して、改善されたデータ解析システム904(例:連想記憶システム、ビジネス・インテリジェンス・アプリケーション、サーチエンジン等)において後に使用するためにデータをマークアップすることができる。さらに、これらの解析システムからの出力を調べて誤認データを識別し抽出することができ、この誤認データはユーザインターフェース908を介して「データ処理」連想記憶アプリケーション906のデータソース910へ送ることができる。
【0077】
図10は本明細書に記載する一以上の実施形態の実行に使用可能な例示のデータ処理システム1000の図である。例えば、テキスト処理ツール304(データ処理ツール906)、連想記憶アプリケーション306、正規表現処理プログラム309、及び/又はテキスト処理システム900の一以上のコンポーネントはデータ処理システム1000を使用して実行可能である。この実施形態では、データ処理システム1000は通信ファブリック1002を含み、この通信ファブリック1002はプロセッサ装置1004、記憶装置1006、永続記憶装置1008、通信装置1010、入力/出力(I/O)装置1012、及び表示装置1014の間の通信を可能にする。
【0078】
プロセッサ装置1004は記憶装置1006にロード可能なソフトウェアの命令を実行する。プロセッサ装置1004は、特定の実行形態によって、一以上のプロセッサ一式であってよく、又はマルチプロセッサコアであってよい。さらに、プロセッサ装置1004は、二次プロセッサを単一チップ上に有するメインプロセッサが設置された一又は複数の異機種環境のプロセッサシステムを使用して実行可能である。
【0079】
別の実施例として、プロセッサ装置1004は同じ種類の複数のプロセッサを含む対称なマルチプロセッサシステムであってよい。さらに、プロセッサ装置1004は一以上のシステム及びマイクロコントローラ、マイクロプロセッサ、縮小命令セット回路(RISC)、特定用途向け集積回路(ASIC)、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、及び本明細書に記載された機能を実行することができるその他任意の回路を含む任意の好適なプログラマブル回路を使用して実行することができる。
【0080】
記憶装置1006及び永続記憶装置1008は、記憶デバイスの実施例である。記憶デバイスは、一時的及び/又は永続的のいずれかの情報を記憶できる任意のハードウェアである。記憶装置1006はこれらの実施例では例えば非限定的に、ランダム・アクセス・メモリ、又は他の任意の好適な揮発性又は非揮発性記憶デバイスであってよい。永続記憶装置1008は、特定の実行形態によって様々な形態をとることができる。
【0081】
例えば非限定的に、永続記憶装置1008は一以上のコンポーネント又はデバイスを含むことができる。例えば、永続記憶装置1008は、ハードドライブ、フラッシュメモリ、書き換え可能な光ディスク、書き換え可能な磁気テープ、又は上記の幾つかの組み合わせであってよい。永続記憶装置1008によって使用される媒体はまた取り外し可能であってよい。例えば非限定的に、取り外し可能なハードドライブを永続記憶装置1008に使用することが可能である。
【0082】
永続記憶媒体1008は、コンピュータが実行可能な命令が具体化されているコンピュータによって読み取り可能な記憶媒体であってよく、少なくとも1つのプロセッサによって実行された時、コンピュータが実行可能な命令によって、プロセッサは部分的に非構造化されたデータを受信し、連想記憶アプリケーションによって更に処理が可能になるように処理してタグを含める。これにより、部分的に構造化されたデータをメインアプリケーションへ伝達することがさらに可能になり、メインアプリケーションにおいてはタグ付けに基づいてデータを含める及び除外する処理を部分的に構造化されたデータに行うことができる。さらなる技術的効果は、部分的に構造化されたデータを一以上のセグメントにパースすることができ、部分的に構造化されたデータの少なくとも1つのセグメントについてのクエリが可能であることである。また、部分的に構造化されたデータの少なくとも1つのセグメント及び連想記憶アプリケーションのデータの少なくとも1つのセグメントに関するスコアを生成することもできる。これらの結果はユーザインターフェース上の表示を介して閲覧することができ、これによりユーザがタグ付けが正しいことを検証し、メインアプリケーションに組み込むために部分的に非構造化されたデータを
解放することができる。ユーザは間違ってタグ付けされた部分的に非構造化されたデータを閲覧することによって、誤認データの一セグメントをアップデートする機会を得ることができる。正規表現処理プログラムが部分的に非構造化されたデータを処理する時に、少なくとも部分的に非構造化されたデータの少なくとも1つのセグメントを少なくとも1つのソースの正規表現パターンと照合して、一つの照合済みセグメントをタグ付けすることができる。コンピュータが実行可能な命令によって、プロセッサが少なくとも部分的に構造化されたデータを出力テーブル及び出力ハイパーテキストマークアップ言語(HTML)ページのうちの一つに出力する。
【0083】
通信装置1010はこれらの実施例では、その他のデータ処理システム又はデバイスとの通信を可能にする。これらの実施例では、通信装置1010はネットワークインターフェースカードである。通信装置1010は物理的及び無線通信リンクのいずれか、あるいは両方を使用して通信を可能にすることができる。
【0084】
入力/出力装置1012により、データ処理システム1000に接続可能なその他のデバイスとのデータの入力及び出力が可能になる。例えば非限定的に、入力/出力装置1012は、キーボード及びマウスを介してユーザ入力するための接続部を提供しうる。さらに、入力/出力装置1012は出力をプリンタに送ることができる。表示装置1014は、ユーザに情報を表示する機構を提供する。
【0085】
オペレーティングシステム、アプリケーション、又はプログラムの命令は、永続記憶装置1008に位置している。これらの命令は、記憶装置1006にロードされプロセッサ装置1004によって実行可能である。異なる実施形態のプロセスは、例えば記憶装置1006等の記憶装置に位置しうるコンピュータによって実行される命令を使用して、プロセッサ装置1004によって実施可能である。これらの命令は、プロセッサ装置1004のうちの一つのプロセッサによって読み取り及び実行可能なプログラムコード、コンピュータが使用可能なプログラムコード、又はコンピュータによって読取可能なプログラムコードと呼ばれる。異なる実施形態のプログラムコードは、例えば記憶装置1006又は永続記憶装置1008等の異なる物理的な又は有形コンピュータによって読取可能な媒体上に具現化することができる。
【0086】
プログラムコード1016は、選択的に取り外し可能で、データ処理システム1000にロードする又は転送してプロセッサ装置1004によって実行可能なコンピュータによって読取可能な媒体1018上に関数形式で位置している。プログラムコード1016及びコンピュータによって読取可能な媒体1018はこれらの実施例においてコンピュータプログラム製品1020を形成する。ある実施例では、コンピュータによって読取可能な媒体1018は例えば、永続記憶装置1008の一部であるハードドライブ等の記憶デバイスに転送するために、永続記憶装置1008の一部であるドライブ又はその他のデバイスに挿入されるあるいは配置される光又は磁気ディスク等の有形の形式であってよい。有形の形式では、コンピュータによって読み取り可能な媒体1018はまた、データ処理システム1000に接続された、例えばハードドライブ、サムドライブ、又はフラッシュメモリ等の永続記憶装置の形態であってよい。コンピュータによって読取可能な媒体1018の有形の形式はまた、コンピュータに記録可能な記憶媒体とも呼ばれる。ある場合には、コンピュータによって読み取り可能な媒体1018は取外し可能でなくてもよい。
【0087】
あるいは、プログラムコード1016は通信装置1010への通信リンクを介して、及び/又は入力/出力装置1012への接続部を介して、コンピュータによって読取可能な媒体1018からデータ処理システム1000に転送することができる。通信リンク及び/又は接続部は実施例においては物理的又は無線であってよい。コンピュータによって読み取り可能な媒体はまた、例えばプログラムコードを含む通信リンク又は無線送信等の非有形媒体の形式であってもよい。
【0088】
ある実施形態では、プログラムコード1016は、データ処理システム1000内で使用するために、別のデバイス又はデータ処理システムから永続記憶装置1008までネットワークを介してダウンロードすることができる。例えば、サーバデータ処理システムのコンピュータによって読取可能な記憶媒体に記憶されたプログラムコードは、サーバからデータ処理システム1000までネットワークを介してダウンロードすることができる。プログラムコード1016を提供するデータ処理システムは、サーバコンピュータ、クライアントコンピュータ、又はプログラムコード1016を記憶し送信することができるその他何らかのデバイスであってよい。
【0089】
データ処理システム1000について示した異なるコンポーネントは、アーキテクチャ制限をもたらすように意図されたものではなく、異なる実施形態を実行可能である。異なる実施形態は、データ処理システム1000について示したコンポーネントに追加の、あるいは代わりのコンポーネントを含むデータ処理システムにおいて実行可能である。
図10に示す他のコンポーネントは、図示した実施例から変更することができる。
【0090】
一例として、データ処理システム1000の記憶デバイスはデータを記憶できるいかなるハードウェア装置であってもよい。記憶装置1006、永続記憶装置1008、及びコンピュータによって読み取り可能な媒体1018は有形の形式の記憶デバイスの実施例である。
【0091】
別の実施例では、バスシステムを使用して通信ファブリック1002を実行することができ、バスシステムは例えばシステムバス又は入力/出力バス等の一以上のバスからなるものであってよい。当然ながら、バスシステムは、バスシステムに装着された異なるコンポーネント又はデバイスの間のデータの送信を可能にする任意の好適な種類のアーキテクチャを使用して実行することができる。加えて、通信装置はモデム、又はネットワークアダプタ等のデータの送受信に使用される一以上のデバイスを含むことができる。さらに、記憶装置は例えば非限定的に、通信ファブリック1002に含まれうるインターフェース及びメモリコントローラハブに含まれる等の記憶装置1006、又はキャッシュであってよい。
【0092】
本明細書で説明した実施形態では、非構造化及び/又は部分的に構造化されたデータの処理を改善して、既存のデータ処理方法よりも効率性及びパフォーマンスを向上させるためにデータ処理ツールを使用する。データは連想記憶アプリケーション及び/又は正規表現処理プログラムを使用して処理することができる。さらに、非構造化及び/又は部分的に構造化されたデータを処理した後で、ユーザはデータ処理ツールによって誤認された及び/又は識別されていないデータ(例えば、無視された、又は不適切にタグ付けされたテキスト)を識別することができる。
【0093】
この誤認データは、データ処理ツールの新たな非構造化及び/又は部分的に構造化されたデータを処理し識別する能力を改善し、また改良するために使用される。さらに、いくつかの実施形態では、ユーザインターフェースによりユーザが最新のデータ処理方法及びシステム、及び/又は連想記憶システムの経験者である必要なく、誤認データを識別し選択することが可能になる。本明細書に記載された方法及びシステムの少なくとも幾つかでは専門の職員がデータ処理ツールを維持し及びアップデートすることを必要としないため、本明細書に記載された方法及びシステムにより、既知のデータ解析システムに伴う費用の削減が促進される。
【0094】
実施形態は少なくとも一部において、非構造化データ内の2つの項目間の関係及び/又は2つの項目間に見られる
一致の
判別に関するものである。説明した実施形態は連想記憶ソフトが処理できるように非構造化データを設定するように作動する。上記前処理により例えば、この技術を画像のメタデータ、メタデータの規格、及びウェブサイトのメタデータの調査に適用することができる等のさらなる処理の機会が得られる。結論として、実施形態は非構造化データ内のデータの関連セグメントを識別しタグ付けして、例えば、連想記憶システム、ビジネス・インテリジェンス・アプリケーション、サーチエンジン、及び/又は画像連想記憶システム等の改善されたデータ解析システムを構築する。
【0095】
本明細書で説明した方法及びシステムにより、メインアプリケーション自体からの固有データでユーザがデータ処理ツールを構築することが可能になるため有利である。例えば、データ処理ツールは「実際のデータ」(実施例)に基づいて上記実施形態を使用して作成され、この「実際のデータ」によりデータ処理ツールが、多くの従来のルールベースのシステムよりもさらに堅固で、的確、又は精密なものに改善され得る。例えば、多くの従来のルールベースシステムでは、自然プログラミング言語の専門家等の専門家が例えば品番、整理番号等の一以上の領域特化型の項目を取得し、及び/又は対象のパターンを識別して情報を適切に識別するためのルール/コードを生成することが要求される。
【0096】
さらに、本発明の実施形態を使用して、例えばデータを処理するための次の定期的なアップデート等の前処理段階において、システムのユーザは実施例を識別し、識別された実施例を使用して例えばデータの断片等の情報を戻すことによりデータ処理システムを構築することができる。このように、本発明の実施形態はわずかな量の初期データのみで作動可能である。したがって、この新規システムでは多くの従来のニューラル・ネットワークと比べ大量の訓練データの必要が回避される。最後に、例えば実際のデータ等のデータを最も良く知るユーザは対象項目、例えばボイラープレートを識別して、そのコンテンツをデータ処理ツールに入力することができ、これによりデータ処理ツールのアップデートが非構造化及び/又は部分的に構造化されたデータを含む問題空間が次回処理される時に適用される、又はアップデートされたデータがシステムに加えられるごとに増加する。
【0097】
本明細書で説明したシステム及び方法にしたがってデータを処理することで、メインアプリケーションに組み込まれる例えばテキスト等のデータの総量が削減され、データの組み込み速度が上がり、データを記憶するのに使用されるメモリの量が減り、データを抽出することができる速度が速くなる。さらに、本明細書で説明した少なくとも幾つかの方法及びシステムでは、データ処理ツールを維持し及び/又はアップデートする専門職員を必要としないため、本明細書で説明した方法及びシステムにより既知のデータ解析システムに関連する費用を削減しやすくなる。
【0098】
本明細書で説明した方法及びシステムを、非限定的に記憶デバイス、又はコンピュータの記憶領域を含むコンピュータによって読み取り可能な媒体で具現化される実行可能な命令として符号化することができる。一以上のプロセッサによって実行された時上記命令により、一又は複数のプロセッサが本明細書で説明した方法の少なくとも一部を実施する。本明細書で使用する「記憶デバイス」は有形品、例えばハードドライブ、ソリッドステートメモリデバイス、及び/又はデータを記憶するように作動可能な光ディスクである。
【0099】
本発明の様々な実施形態の特徴が幾つかの図面において示し、その他の図面には示していない場合があるが、これは便宜上のみの理由からである。本発明の原理によれば、図面の全ての特徴を任意のその他の図面の任意の特徴と組み合わせて参照する及び/又は主張することができる。
【0100】
ここに記述した説明は、当業者が任意のデバイス又はシステムを作成し使用して任意の組み込まれた方法を実施することを含み、これらの実施形態を実行することを可能にするために、実施例を使用して最適な態様を含む様々な実施形態を開示するものである。特許性のある範囲は請求項によって定義され、当業者が発想するその他の実施例を含むことができる。上記のその他の実施例は、請求項の字義通りの言葉と同一の構造要素を有する場合、又は請求項の字義通りの言葉との違いがごくわずかである同等の構造要素を含む場合は、請求項の範囲内であるとみなされる。