(57)【要約】【課題】  本発明は、情報源から情報を抽出することに関する。【解決手段】  抽出時に、情報源の中の文字列がアクセスされる。情報源に含まれるこれらの文字列と、単語およびワイルドカードを含む一般化された抽出パターンとの照合が行われる。ワイルドカードは、個々の文字列と個々の一般化された抽出パターンとの照合のため個々の文字列の中の少なくとも１つの単語をスキップできることを表す。【選択図】  図３
2005174336.tif 000002
【特許請求の範囲】
【請求項１】
情報源から情報を抽出するコンピュータに実装された方法であって、
前記情報源内の文字列にアクセスすることと、
前記情報源に含まれる前記文字列と一般化された抽出パターンとを比較し、少なくとも１つの一般化された抽出パターンと照合する前記情報源の中の文字列を識別することであって、前記一般化された抽出パターンは、単語およびワイルドカードを含み、前記ワイルドカードは、個々の文字列と個々の一般化された抽出パターンとの照合を行うために前記個々の文字列の中の少なくとも１つの単語をスキップできることを表すこととを備えたことを特徴とするコンピュータに実装された方法。
【請求項２】
前記情報源の中の文字列から照合のため識別されている少なくとも２つの要素を抽出することをさらに含み、前記少なくとも２つの要素は対応する一般化された抽出パターン内の少なくとも２つの対応する要素に基づいていることを特徴とする請求項１に記載のコンピュータに実装された方法。
【請求項３】
前記一般化された抽出パターンのそれぞれにおける前記対応する要素の少なくとも１つについて、前記対応する要素のうちの前記少なくとも１つと前記ワイルドカードとの間に少なくとも１つの単語が配置されていることを特徴とする請求項２に記載のコンピュータに実装された方法。
【請求項４】
前記ワイルドカードはスキップできる単語の数を示すことを特徴とする請求項１に記載のコンピュータに実装された方法。
【請求項５】
情報源から情報を抽出するためのコンピュータ読取り可能媒体であって、
単語を含む一般化された抽出パターンの集合と少なくとも１つのオプション単語の位置を示す標識を含むデータ構造と、
一般化された抽出パターンの前記集合を使用して前記情報源の中の文字列と前記一般化された抽出パターンとの照合を行う抽出モジュールとを備えたことを特徴とするコンピュータ読取り可能媒体。
【請求項６】
前記一般化された抽出パターンは、さらに、主題に関係する少なくとも２つの要素を含むことを特徴とする請求項５に記載のコンピュータ読取り可能媒体。
【請求項７】
前記一般化された抽出パターンについて、前記要素のうちの少なくとも１つと前記標識との間に少なくとも１つの単語が配置されていることを特徴とする請求項６に記載のコンピュータ読取り可能媒体。
【請求項８】
前記標識は情報抽出時にスキップできる単語の数を含むことを特徴とする請求項５に記載のコンピュータ読取り可能媒体。
【請求項９】
情報源から情報を抽出する際に使用するパターンを生成する方法であって、
主題に対応する少なくとも２つの要素を含む文字列の集合を確定することと、
前記文字列集合に対応する一般化された抽出パターンの集合を生成することであって、前記一般化された抽出パターンは、前記少なくとも２つの要素、単語、および少なくとも１つのオプション単語の位置を示す標識を含むこととを備えたことを特徴とする方法。
【請求項１０】
前記文字列集合における頻度しきい値の条件を満たさないパターンを前記一般化された抽出パターンの集合から削除することをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記一般化された抽出パターン内の前記少なくとも２つの要素のうちの１つの隣にある前記標識を含むパターンを前記一般化された抽出パターンの集合から削除することを含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記標識によりスキップされる単語の数がしきい値よりも多いパターンを前記一般化された抽出パターンの集合から削除することを含むことを特徴とする請求項９に記載の方法。
【請求項１３】
さらに前記一般化された抽出パターンの集合において前記一般化された抽出パターンをランク付けすることを含むことを特徴とする請求項９に記載の方法。
【請求項１４】
ランク付けする前記ステップは、さらに、それぞれの一般化された抽出パターンの精度スコアを計算することを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
ランク付けしきい値の条件を満たさないパターンを前記一般化された抽出パターンの集合から削除することをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１６】
さらに特定の標識によりスキップされる単語の数を判別することを含むことを特徴とする請求項９に記載の方法。
【請求項１７】
情報源から情報を抽出する際に使用するパターンを生成する方法であって、
主題に対応する少なくとも２つの要素を含む文字列の集合を確定することと、
複数の単語を含む前記文字列集合内の連続パターンと前記少なくとも２つの要素を識別することと、
識別された前記連続パターンから一般化された抽出パターンの集合を生成することであって、前記一般化された抽出パターンは、前記少なくとも２つの要素、単語およびワイルドカードを含み、前記ワイルドカードは前記連続パターンの組み合わせを表現することとを備えたことを特徴とする方法。
【請求項１８】
前記文字列集合における頻度しきい値の条件を満たさないパターンを前記一般化された抽出パターンの集合から削除することをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記一般化された抽出パターン内の前記少なくとも２つの要素のうちの１つの隣にあるワイルドカードを含むパターンを前記一般化された抽出パターンの集合から削除することを含むことを特徴とする請求項１７に記載の方法。
【請求項２０】
ワイルドカードによりスキップされる単語の数がしきい値よりも多いパターンを前記一般化された抽出パターンの集合から削除することを含むことを特徴とする請求項１７に記載の方法。
【請求項２１】
前記一般化された抽出パターンの集合において前記一般化された抽出パターンをランク付けすることをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２２】
ランク付けする前記ステップは、さらに、それぞれの一般化された抽出パターンの精度スコアを計算することを含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
ランク付けしきい値の条件を満たさないパターンを前記一般化された抽出パターンの集合から削除することをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２４】
特定のワイルドカードによりスキップされる単語の数を判別することをさらに含むことを特徴とする請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報抽出に関する。特に、本発明は情報抽出を実行するシステムと方法に関する。
【背景技術】
【０００２】
大量の情報を含む多くのデータベース、Ｗｅｂページ、およびドキュメントが存在する。従来、このような大量の既存の情報に対し、特定の主題に関係する関連情報を収集するためにさまざまな方法が用いられてきた。情報抽出とは、これらの情報源から有用な情報を抽出する手法を意味する。一般的に、情報抽出システムは、抽出パターン（または抽出規則）に基づいて情報を抽出する。
【０００３】
手作業で信頼できる抽出パターンを書いて開発するのは、困難であり、また時間もかかる。そのため、注釈付きの例から抽出パターンを自動的に学習する方法に対し多くの努力が費やされてきた。いくつかの自動学習システム（ａｕｔｏｍａｔｉｃ  ｌｅａｒｎｉｎｇ  ｓｙｓｔｅｍｓ）は、文章を構文解析し、その解析結果から文または句パターンを取得することにより自然言語パターンを学習する。他のアプローチは、構文的および意味論的制約を使用してパターンを発見する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、これらのアプローチは一般的に、開発コストが高い。他のアプローチでは、連続する表層文字列のパターン（ｃｏｎｓｅｃｕｔｉｖｅ  ｓｕｒｆａｃｅ  ｓｔｒｉｎｇ  ｐａｔｔｅｒｎｓ）を使用して、情報の特定のペアについて情報を抽出する。これら連続するパターンは、抽出すべき少量の情報のみを対象としており、したがって信頼できる抽出を行えるように大量の情報に対しては十分に一般化できない。
【０００５】
上記の問題を解決するために、多くのさまざまな方法が考案されている。情報抽出に使用するパターンを正確にかつ効率よく学習するためのシステムおよび方法があれば、これらの問題および／または他の問題もさらに解消し、より信頼できる、費用効果の高い情報抽出システムを実現できるであろう。
【課題を解決するための手段】
【０００６】
本発明は、情報源から情報を抽出することに関する。抽出時に、情報源の中の文字列がアクセスされる。情報源に含まれるこれらの文字列と、単語およびワイルドカードを含む一般化された抽出パターンとの照合が行われる。ワイルドカードは、個々の文字列と個々の一般化された抽出パターンとの照合のため個々の文字列の中の少なくとも１つの単語をスキップできることを表す。
【０００７】
本発明の他の態様は、情報源から情報を抽出するためのコンピュータ読取り可能媒体である。媒体は、単語を含む一般化された抽出パターンの集合と少なくとも１つのオプション単語の位置を示す標識とからなるデータ構造を含む。媒体は、さらに、一般化された抽出パターンの集合を使用して情報源の中の文字列と一般化された抽出パターンとの照合を行う抽出モジュールも含む。
【０００８】
本発明のさらに他の態様は、情報源から情報を抽出する際に使用するパターンを生成する方法である。この方法は、主題に対応する少なくとも２つの要素を含む文字列の集合を確定することを含む。その文字列の集合に対応する一般化された抽出パターンの集合が生成される。一般化された抽出パターンは、少なくとも２つの要素、単語、および少なくとも１つのオプション単語の位置を示す標識を含む。
【０００９】
情報源から情報を抽出する際に使用するパターンを生成する他の方法も本発明に関係する。この方法では、主題に対応する少なくとも２つの要素を含み、単語および少なくとも２つの要素を含む文字列の集合内の連続するパターンを識別する文字列の集合を確定する。一般化された抽出パターンの集合は、識別された連続パターンから生成される。一般化された抽出パターンは、少なくとも２つの要素、単語、およびワイルドカードを含む。ワイルドカードは、連続パターンの組み合わせを表現する。
【発明を実施するための最良の形態】
【００１０】
本発明は、情報抽出に関する。本明細書では情報抽出のためのパターンの作成に関して説明しているが、本発明は、他の種類の情報処理にも適用可能である。本発明について詳細に説明する前に、本発明を使用することができる具体的な環境の実施形態について説明する。
【００１１】
図１は、本発明を実装できる好適なコンピュータシステム環境１００の一実施例の図である。コンピュータシステム環境１００は、適切なコンピューティング環境の一例にすぎず、本発明の用途または機能性の範囲に関する制限を示唆する意図はない。コンピュータシステム環境１００は、コンピュータシステム環境１００に例示されている１つのコンポーネントまたはその組み合わせに関係する何らかの依存関係または要求条件があるものと解釈すべきでない。
【００１２】
本発明は、他の数多くの汎用または専用コンピュータシステム環境または構成で動作する。本発明とともに使用するのに好適と思われるよく知られているコンピュータシステム、環境、および／または構成の例として、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスを含む分散コンピューティング環境などがあるがこれに限定されない。
【００１３】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、本発明を、通信ネットワークを通じてリンクされているリモートプロセッシングデバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールをメモリ記憶デバイスなどのローカルとリモートの両方のコンピュータ記憶媒体に配置できる。以下では、図の助けを借りて、プログラムおよびモジュールにより実行されるタスクについて説明する。当業者であれば、説明および図を、プロセッサ実行可能命令として実装することができる。プロセッサ実行可能命令は、いかなる形態のコンピュータ読取り可能な媒体にも書き込むことが出来る。
【００１４】
図１を参照すると、本発明を実装するシステム例は、汎用コンピューティングデバイスをコンピュータ１１０の形で備えている。コンピュータ１１０が備えるコンポーネントとしては、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを備えるさまざまなシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１などがあるがこれに限定されない。システムバス１２１には、メモリバスまたはメモリコントローラ、周辺機器バス、およびさまざまなバスアーキテクチャを使用するローカルバスを含む数種類のバス構造がありえる。例えば、このようなアーキテクチャとしては、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとも呼ばれるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスがあるがこれに限定されない。
【００１５】
コンピュータ１１０は通常、さまざまなコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ１１０によってアクセスできる媒体であればどのような媒体でも１つであろうと複数であろうと使用でき、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体を含むがこれに限定されない。例えば、コンピュータ読取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納する方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含む。
【００１６】
コンピュータ記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または目的の情報を格納するために使用することができコンピュータ１１０によりアクセスできるその他の媒体があるがこれに限定されない。
【００１７】
通信媒体は、通常、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、または搬送波もしくはその他のトランスポートメカニズムなどの変調データ信号によるその他のデータを具現するものであり、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号において情報を符号化する方法により信号の特性のうち１つまたは複数が設定または変更された信号を意味する。例えば、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体があるがこれに限定されない。上記のいずれの組み合わせもコンピュータ読取り可能媒体の範囲に収まらなければならない。
【００１８】
システムメモリ１３０は、読み取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１３３は、通常、ＲＯＭ１３１に格納される。通常、ＲＡＭ１３２は、処理ユニット１２０によって即座にアクセス可能な、および／または処理ユニット１２０によって現在操作されているデータおよび／またはプログラムモジュールを格納する。例えば、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を例示しているがこれに限定されない。
【００１９】
コンピュータ１１０はさらに、その他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体を備えることもできる。例えば、図１は、取り外し不可能な不揮発性磁気媒体の読み書きを行うハードディスクドライブ１４１、取り外し可能な不揮発性磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたはその他の光媒体などの取り外し可能な不揮発性光ディスク１５６の読み書きを行う光ディスクドライブ１５５を示している。典型的なオペレーティング環境例で使用される得る他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル多目的ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどがあるがこれに限定されない。ハードディスクドライブ１４１は、通常、インターフェース１４０などの取り外し不可能なメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェース１５０などの取り外し可能なメモリインターフェースによりシステムバス１２１に接続される。
【００２０】
図１に示されている上記のドライブおよび関連するコンピュータ記憶媒体は、コンピュータ１１０用のコンピュータ読取り可能命令、データ構造体、プログラムモジュール、およびその他のデータを格納する機能を備える。例えば、図１では、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同じである場合もあれば異なる場合もあることに注意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７に対しては、ここで、異なる番号を割り当てて、最低でも、それが異なるコピーであることを示している。
【００２１】
ユーザは、キーボード１６２、マイク１６３、およびマウス、トラックボール、タッチパッドなどのポインティングデバイス１６１などの入力デバイスを介してコンピュータ１１０にコマンドおよび情報を入力できる。他の入力デバイス（図に示されていない）としては、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスやその他の入力デバイスは、システムバス１２１に結合されているユーザ入力インターフェース１６０を介して処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造により接続することもできる。モニタ１９１またはその他の種類の表示デバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタの他に、コンピュータはさらにスピーカ１９７およびプリンタ１９６などの他の周辺出力デバイスも備えることができ、これらは出力周辺インターフェース１９５を介して接続することができる。
【００２２】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することもできる。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の共通ネットワークノードでもよく、通常は、コンピュータ１１０に関係する上述の要素の多くまたはすべてを含む。図１に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１とワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【００２３】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０はネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、モデム１７２またはインターネットなどのＷＡＮ１７３上で通信を確立するためのその他の手段を備える。モデム１７２は、内蔵でも外付けでもよいが、ユーザ入力インターフェース１６０またはその他の適切なメカニズムを介してシステムバス１２１に接続できる。ネットワーク接続環境では、コンピュータ１１０またはその一部に関して示されているプログラムモジュールは、リモートメモリ記憶デバイスに格納されることができる。例えば、図１には、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０に常駐しているように示されている。図１に示されているネットワーク接続は典型例であり、コンピュータ間の通信リンクを確立するのに他の手段が使用可能であることは理解されるであろう。
【００２４】
図２は、データベース２０２から情報を抽出し、抽出された情報２０４の出力を供給する抽出モジュール２００を例示している。後述のように、抽出モジュール２００は、学習またはテスト用コーパスから学習した抽出パターンに基づいて動作する。当業者であれば理解するであろうが、抽出モジュール２００は、抽出パターンを含み、および／または抽出を実行するためのパターンを含むデータ構造体にアクセスすることができる。抽出時に、抽出パターンにより、データベース２０２内の文字列の照合が行われる。本発明の実施例では、抽出パターンは、学習用コーパスに基づいて生成された単語、要素、およびワイルドカードを含む。本明細書で使用されているように、文字列は一連の単語を含み、単語は英語、ドイツ語、中国語、および日本語などのさまざまな種類の言語の単語とすることができる。要素は、特定の主題に関係する情報を含む変数であり、ワイルドカードは、文字列内の単語をスキップできること、および／または照合時のオプション単語の位置を示す標識である。データベース２０２は、さまざまな異なる情報源とすることができる。例えば、データベース２０２は、ドキュメントの集合体、ニュースグループ記事、顧客フィードバックデータの集合体、および／または他の種類の情報とすることができ、ローカルシステム上にまたはインターネットなどのワイドエリアネットワーク上に格納することができる。情報は、テキストまたは例えばテキストに変換できる音声データを含むその他の形式のものとすることができる。抽出された情報２０４は、データベース２０２内のデータを適切に分析するためにレビューするかまたはさらに処理できる特定の主題に関係する複数のドキュメントからの抜粋とすることができる。
【００２５】
情報抽出は、特定の主題に関係する情報を抽出することに関係する。抽出された情報は、その主題に関連する関係要素の対、３つ組などを含むことができる。例えば、製品リリース情報を抽出する場合、これらの要素は会社要素と製品要素を含むことができる。主題が書籍に関係する場合、要素は書籍のタイトルおよび著者の情報を含むことができる。他の関係する要素として、発明者および発明情報、質問および回答の対を含めることもできる。一般に、ある一つの主題に関連している要素のうち１つまたは複数を「アンカー」と呼ぶことがあり、これは、通常、文字列に含まれる情報が特定の主題に関連付けられていることを示す。例えば、製品は、製品リリース情報に関係する会社／製品対におけるアンカーとすることができる。本発明の一態様は、抽出のための要素を含むパターンを生成することに関係する。
【００２６】
図３は、抽出モジュール２００により使用されるパターンを作成するためのさまざまなモジュールの流れ図を例示している。これらのモジュールは、パターン生成モジュール２１０およびパターンランク付けモジュール２１２を含む。パターン生成モジュール２１０は、正例コーパス（ｐｏｓｉｔｉｖｅ  ｅｘａｍｐｌｅ  ｃｏｒｐｕｓ）２１４に基づいてパターンを作成する。正例コーパス２１４には、抽出すべき情報の主題に関係する要素を含むテキストの文字列が入っている。パターン生成モジュール２１０では、正例コーパス２１４内の正例を使用して連続パターンを生成する。さらに、パターン生成モジュール２１０は、ワイルドカードを使用してパターンの組み合わせを表すことができる。結果として、ランク付けされていないパターン２１６に示されている、パターン生成モジュール２１０により生成されるパターンは、一般化された文字列を含む一つの組み合わせを表す。
【００２７】
以下に、典型的な正例コーパス２１４の一部をなす学習事例を示す。これらの事例は、それぞれ＜company＞タグおよび＜product＞タグを使って注釈を入れた会社要素および製品要素を含んでいる。正例コーパス２１４内の肯定的学習事例は以下のとおりである。
【００２８】
【表１】
2005174336.tif 000003
【００２９】
【表２】
2005174336.tif 000004
【００３０】
正学習事例（ｐｏｓｉｔｉｖｅ  ｔｒａｉｎｉｎｇ  ｉｎｓｔａｎｃｅｓ）が与えられた場合、主題に関係する要素を含む連続パターンを識別できる。例えば、以下の３つのパターンは上記事例から生成された連続パターンを表し、変数＜company＞および＜product＞は、特定の会社および製品情報を置き換えている。
【００３１】
【表３】
2005174336.tif 000005
【００３２】
これらの連続パターンが与えられた場合、ワイルドカードを含む連続パターンの要素を表現する一般化された抽出パターンをパターン生成モジュール２１０により、以下のように作成することができる。
【００３３】
【表４】
2005174336.tif 000006
【００３４】
ここで、ワイルドカード｛＼w+3｝は、「the」と「availability」との間で最大３個までの単語をスキップできることを表す。上記の一般化された抽出パターンは、それぞれの連続パターンを「カバー」する、つまりそれぞれの連続パターンは一般化された抽出パターンによって表現することができる。一般化された抽出パターンをワイルドカードとともに使用することにより、以下の文から製品情報「Microsoft Office 60 Minute Internet Kit Version 2.0」が抽出されるが、それは単語「immediate worldwide」を含む連続パターンをわざわざ追加しなくても、このパターンで単語「immediate worldwide」をスキップすることができるからである。
【００３５】
【表５】
2005174336.tif 000007
【００３６】
上記のように、パターン生成モジュール２１０は、ワイルドカードを含む正例コーパス２１４から生成されたランク付けされていないパターン２１６の出力をパターンランク付けモジュール２１２に供給する。パターンランク付けモジュール２１２は、正例および負例コーパス２１８を使用してパターン生成モジュール２１０から受け取ったパターンをランク付けする。負例は、１つの対のうち１つの要素を含むが、第２の要素、例えば上述のアンカーを含まない。例えば、以下の文は、会社情報を含むが、特定の製品を含まず、また製品リリースに関係していないため、負例である。
【００３７】
【表６】
2005174336.tif 000008
【００３８】
パターン生成モジュール２１０から得られるパターンは、さまざまな方法を使用して、パターンランク付けモジュール２１２によりランク付けすることができる。一つの方法では、特定のパターンＰの精度を計算するには、正例および負例コーパス２１８から抽出された正しい事例の数を、パターンＰを使用して正例および負例コーパス２１８から抽出された事例の数で除算する。より高い精度値を持つパターンは、パターンランク付けモジュール２１２により高いランクが付けられる。さらに、一つの対応するパターンが、その対応するパターンが照合できるすべての正事例と一致する場合に、これらのパターンは削除することができる。そこで、精度値が低いパターンは削除することができる。
【００３９】
ランク付けされたパターン２２０は、抽出モジュール２００を使用して抽出する際の基盤となる。その後、正例および／または負例２２２を使用することで、正しい有用な抽出された情報２０４を供給する抽出モジュール２００のパフォーマンスを評価することができる。抽出するときに、まず高いランク付けのパターンを使用して、データベース２０２内の文字列の照合を行うことができる。一つの実施形態では、照合は、左から右への順序で実行される。例えば、パターン「x  ＼w＋  y  ＼w+」では、xの出現の照合が行われ、次に、ｙの任意の出現の照合が行われる。
【００４０】
図４は、抽出モジュール２００により使用されるパターンを作成しランク付けするための方法２５０を例示している。方法２５０は、アプリオリアルゴリズムと呼ばれるアルゴリズムに基づいている。アプリオリアルゴリズムは、下位集合および関連する上位集合が類似の属性を共有することを基盤としており、下位集合と上位集合の両方の特性を包含するように下位集合と上位集合の組み合わせを表現することができる。以下のアルゴリズムを使用することで、方法２５０に関して以下で詳しく説明する、一般化された抽出パターンを生成することができる。
【００４１】
以下に示すアルゴリズムでは、Ｓは入力文字列の集合（つまり、正例コーパス２１４）であり、Ｐ１はＳに含まれる単語の集合であり、ｐ１はＰ１に含まれる個別の単語である。ＰｉおよびＰ（ｉ−１）は、アルゴリズムのｉ番目の反復に対するパターンの集合であり、ｐｉおよびｐ（ｉ−１）はｉ番目の集合内のパターンを表す。
【００４２】
【表７】
2005174336.tif 000009
【００４３】
方法２５０は、ステップ２５２から始まり、ステップ２５２で入力文字列の集合が設定される。入力文字列の集合は、図３では正例コーパス２１４である。入力文字列の集合は、パターンを含み、要素の対の場合、情報要素の所望の対の両方の部分が含まれる。入力文字列の集合が確定した後、ワイルドカードを含む一般化された抽出パターンがステップ２５４で生成される。一般化された抽出パターン（上記アルゴリズム内のサブアルゴリズムfind-generalized-extraction-patterns() でもある）の生成については、図５を参照してさらに詳しく説明される。一般化された抽出パターンは単語および要素を含み、さらにはそのパターンの中に他の単語が出現することができることを示すワイルドカードをも含む。
【００４４】
その後、一般化された抽出パターンを評価して、それらが信頼できる抽出候補を表すかどうかを判別することができる。ステップ２５６で、制約条件を満たさないパターンは削除される。パターン生成モジュール２１０により生成された一般化された抽出パターンを削除するために、多数の異なる制約を使用することができる。「境界制約」と呼ばれる制約があり、境界制約では、アンカーの直前または直後にワイルドカードを置くことができない。この制約により、アンカー情報がどこで開始し終了するのかを判別するのが困難なパターンを排除することができる。例えば、下記の一般化された抽出パターンは削除される。
【００４５】
【表８】
2005174336.tif 000010
【００４６】
上記の一般化された抽出パターンだと、「of Internet Explorer for no-charge download from the Internet」という文字列が、Microsoft Corp. today announced the immediate availability of Internet Explorer for no-charge download from the Internet.という文に対する製品であると不適切に判定する可能性がある。
【００４７】
他の制約として、「遠隔制約（ｄｉｓｔａｎｔ  ｃｏｎｓｔｒａｉｎｔ）」がある。遠隔制約では、ワイルドカードによりスキップできる単語の数を学習データに基づいてスキップされる単語の最大数以下に制限する。例えば、スキップすべき単語数を制限しない以下のパターンは使用されない。
【００４８】
【表９】
2005174336.tif 000011
【００４９】
上記のパターンでは、「enterprise and electronic-commerce solutions based on the Microsoft Windows NT Server operating system and the BackOffice family of products」を下記の文に対応する製品情報として誤って抽出する可能性がある。
【００５０】
【表１０】
2005174336.tif 000012
【００５１】
他の制約としては「島に関する制約（ｉｓｌａｎｄ  ｃｏｎｓｔｒａｉｎｔ）」と呼ばれる制約があり、これは、「孤立機能単語（ｉｓｏｌａｔｅｄ  ｆｕｎｃｔｉｏｎ  ｗｏｒｄ）」と呼ばれるものを禁止する。孤立機能単語は、一般に、抽出する情報に関係する特定の内容を含まない「the」、「a」、および「an」などの冠詞であり、ワイルドカードにより囲まれる。下記のパターンは、この島に関する制約条件を満たさない。
【００５２】
【表１１】
2005174336.tif 000013
【００５３】
上記のパターンだと、「Microsoft Entertainment Pack for the Windows CE operating system」を、以下の文に対して、リリースに関係しない製品情報として誤って抽出する可能性がある。
【００５４】
【表１２】
2005174336.tif 000014
【００５５】
ステップ２５８で、頻度しきい値を満たさないパターンは削除される。その結果、ふつう使用されないパターンは、このステップで削除される。ステップ２６０で、アンカーを含まないパターンは削除される。例えば、製品情報が関連する会社名とともに含まれないパターンは、情報抽出のためのパターンとして含まれない。これらのパターンが与えられた場合、パターンはステップ２６２でランク付けされる。上述のように、多くの異なるランク付け方法を使用して、パターンのランク付けを行うことができる。パターンのランクが低すぎる場合、削除することができる。
【００５６】
図５は、一般化された抽出パターンを生成する方法２８０を例示している。以下のアルゴリズムは、一般化された抽出パターンを生成するために使用することができ、上述のアルゴリズムのサブアルゴリズムとなっている。同じ変数が以下のアルゴリズムに適用される。
【００５７】
【表１３】
2005174336.tif 000015
【００５８】
方法２８０のステップ２８２で、正例コーパス２１４内の正事例から連続パターンが識別される。このステップは、上述のサブアルゴリズムの３行目から５行目に対応する。これらの連続パターンは、抽出する主題に関係する要素、例えば、会社と製品を含む。一方法では、類似の属性を共有する文字列の下位集合と上位集合とを組み合わせることにより入力文字列が与えられた場合に、パターンを再帰的に生成することができる。連続パターンが識別された後、方法２８０はステップ２８４に進み、そこで、連続パターンを組み合わせ、連続パターンをカバーする一般化された抽出パターンを表現することにより、ワイルドカードの位置および長さが識別される。このステップは、上述のサブアルゴリズムの６行目から８行目に対応する。次に、ステップ２８６でワイルドカードを含む一般化された抽出パターンが出力される。一般化された抽出パターンは、方法２５０に関して上で説明したようにさらに分析され、パターンの削除とランク付けが行われる。
【００５９】
上述の本発明を実装することにより、パターンの組み合わせを表し、より信頼性の高い情報抽出システムを実現する一般化された抽出パターンを作成できる。一般化された抽出パターンは、オプションの単語および／またはパターンの組み合わせが表現できる単語を照合時にスキップできることを表すワイルドカードに対する位置を含むことができる。抽出時に一般化されたパターンを使用することで、情報源に含まれる照合文字列を識別するためにさまざまな文字列の照合を行うことができる。
【００６０】
本発明は、特定の実施形態を参照しながら説明したが、当業者は本発明の精神と範囲を逸脱することなく形式と詳細に変更を加えられることを理解するであろう。
【図面の簡単な説明】
【００６１】
【図１】例示的なコンピュータシステム環境例の図である。
【図２】情報抽出の流れを示す図である。
【図３】情報抽出のためパターンを生成しランク付けする流れを示す図である。
【図４】一般化された抽出パターンを生成しランク付けする方法を説明する図である。
【図５】一般化された抽出パターンを生成する方法を説明する図である。
【符号の説明】
【００６２】
１３０  システムメモリ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  その他のプログラムモジュール
１３７  プログラムデータ
１２０  処理ユニット
１９０  ビデオインターフェース
１９５  出力周辺インターフェース
１４０  取り外し不可能不揮発性メモリインターフェース
１５０  取り外し可能不揮発性メモリインターフェース
１６０  ユーザ入力インターフェース
１７０  ネットワークインターフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  その他のプログラムモジュール
１４７  プログラムデータ
１９１  モニタ
１９６  プリンタ
１９７  スピーカ
１７１  ローカルエリアネットワーク
１７３  ワイドエリアネットワーク
１７２  モデム
１６２  キーボード
１６１  ポインティングデバイス
１６３  マイク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
２０２  データ
２００  抽出モジュール
２０４  抽出された情報
２１４  正例コーパス
２１０  パターン生成モジュール
２１６  ランク付けされていないパターン
２１８  正例および負例コーパス
２１２  パターンランク付けモジュール
２２０  ランク付けされたパターン
２００  抽出モジュール
２０４  抽出された情報
２２２  正例および／または負例
【図１】
2005174336.tif 000016
【図２】
2005174336.tif 000017
【図３】
2005174336.tif 000018
【図４】
2005174336.tif 000019
【図５】
2005174336.tif 000020