情報抽出装置、情報抽出方法及びプログラム
【課題】 抽出用パターンの記述を複雑にすることなく、パターンの照合ミスによる誤った情報抽出を減少させる。
【解決手段】 入出力インタフェース部11に抽出対象文が入力されると、形態素解析部13はこの抽出対象文から形態素の並びを生成し、係り受け解析部14はこの抽出対象文から係り受け情報を生成する。照合対象ブロック作成部15は、係り受け解析部14において生成された係り受け情報を基に照合対象ブロックを作成し、パターンマッチング部16はこの照合対象ブロックに対応する形態素の並びについて、パターンデータベース24に登録された抽出用パターンと照合を行う。合致した場合には情報を抽出するとともに照合対象ブロックに含まれる末尾の文字列以外の文字列を抽出対象文から削除する。削除後の抽出対象文についてもパターンマッチング部16による照合を行う。
【解決手段】 入出力インタフェース部11に抽出対象文が入力されると、形態素解析部13はこの抽出対象文から形態素の並びを生成し、係り受け解析部14はこの抽出対象文から係り受け情報を生成する。照合対象ブロック作成部15は、係り受け解析部14において生成された係り受け情報を基に照合対象ブロックを作成し、パターンマッチング部16はこの照合対象ブロックに対応する形態素の並びについて、パターンデータベース24に登録された抽出用パターンと照合を行う。合致した場合には情報を抽出するとともに照合対象ブロックに含まれる末尾の文字列以外の文字列を抽出対象文から削除する。削除後の抽出対象文についてもパターンマッチング部16による照合を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト情報から指定した情報を抽出する情報抽出装置、情報抽出方法及びプログラムに関する。
【背景技術】
【0002】
従来、テキスト処理技術の一つとして、情報抽出技術がある。これは、文字情報からなるテキスト情報を解析して指定した情報を持つ文、フレーズ、単語等のオブジェクトを抽出する技術である。この技術は、企業名、個人名、住所、電話番号等の基本的な情報を持つオブジェクトの抽出に加えて、提携や出資等に代表される企業同士の関係や個人の交友関係、人的交流等、オブジェクト相互の関係抽出に応用されつつある。
【0003】
この情報抽出技術の中で近年主流となっている手法に、パターンマッチングを活用したものがある。この手法では、抽出したい関係情報等に関する表現や語順などの記述を精査して、予め抽出用パターンを作成しておき、抽出対象とする文とパターンとを照合することにより情報を抽出する。例えば、新聞記事等の情報源に下記の例文1があり、「甲社と乙社は資本提携で合意」というフレーズに合致する抽出用パターンが予め登録されていると、パターンマッチングにより<A社、B社、資本提携、合意>という関係情報が抽出される。
「A社とB社は十日、相互に株式を持ち合う資本提携で合意したと発表した。」・・・例文1
【0004】
以下、抽出対象とする文と予め登録された抽出用パターンとを照合する処理について詳細に説明する。この処理は、形態素解析とパターンマッチングに分けられる。形態素解析技術は、文を単語単位に分割する、自然言語処理技術で最も基本的かつ重要な技術である。形態素とは、それ以上に細かくすると意味がなくなってしまう最小の文字列を言う。日本語は英語のように単語同士が空白で区切られていないので、まず文を形態素に分割する必要がある。形態素解析は、辞書を用いて文をこのような最小の文字列ごと、すなわち単語単位に分割するものである。例えば、上記の例文1は、[表1]に示すような単語列に分割される。なお、解析結果の途中部分は省略している。
【0005】
【表1】
【0006】
また、パターンマッチングとは、品詞や意味等、単語の属性の並びを抽出用パターンとして予め登録しておき、抽出対象とする文を形態素解析で分割した単語列について先頭から順にこの抽出用パターンと照合し、合致する単語の並びがあるか否かをチェックするものである。合致する並びがあれば、抽出用パターンにおいて指定された情報、ここでは抽出対象となる単語の集合を抽出結果として出力する。
【0007】
図12はデータベース等に予め登録される抽出用パターンを記述した定義ファイルの一部分を示す例であり、コンピュータにおいてパターンマッチングの処理が実行されるときにコンピュータに読み込まれるものである。なお、この定義ファイルにおいて「%」の文字で始まる行はコメント行であり、コンピュータによる処理には用いられない。それ以外の行は、合致するパターン、すなわち、合致する単語の並びを記述したものである。また、欄外左側の数字は以下で説明に用いる行番号を示し、この定義ファイルには含まれない。
【0008】
この抽出用パターンが予め登録されているとき、[表1]のように分割された単語列において、「A社」、「と」、「B社」、「は」の並びは抽出用パターンの8行目の名称「COM_PAIR」のパターンと合致し、「資本」、「提携」の並びは抽出用パターンの12行目の名称「WHAT」のパターンと合致し、「合意」は抽出用パターンの16行目の名称「DO1」のパターンと合致し、そして、「A社とB社は」、「資本提携」、「で」、「合意」の並びは抽出用パターンの22行目の名称「TEIKEI1」のパターンと合致する。そこで、<A社、B社、資本提携、合意>という関係情報が出力される。ここで一例として示した提携のほか、合併や親会社/子会社関係、出資等、様々な関係情報を抽出する抽出用パターンを作成し、合致した関係情報を抽出することができる。
なお、従来技術として特許文献1、非特許文献1、非特許文献2が知られている。
【特許文献1】特開2000−112969号公報
【非特許文献1】木田敦子、乾裕子、桑畑和佳子、橋本三奈子、落谷亮、西野文人「情報抽出のための新聞記事テキスト分析」、言語処理学会第4回年次大会発表論文集、1998年3月、p.238−241
【非特許文献2】関根聡「テキストからの情報抽出」、情報処理学会誌、1999年4月、Vol.40、No.4、p.370−373
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来の情報抽出の手法であるパターンマッチングは、上記のように関係を表現する単語の並びから、抽出用パターンに合致する並びを発見するものである。この抽出用パターンは様々に表現された文に対応するため、単語と単語の間に任意の文字列が含まれてもよいとする緩やかな制約を設けることが多い。しかし、例えば1つの文に出現する企業数が増える等、文が複雑になるにつれて、抽出用パターンが予期せぬ箇所と合致してしまい、結果として誤った抽出が行われるという問題がある。例えば、
「A社は十四日、C社と今月末に提携すると発表した。」
「X社と提携したY社は医薬品最大手である。」
「A社はC社に出資することを決定した。」
「A社の子会社のB社は経営を刷新した。」
という文に対応して、それぞれ、<A社,C社,提携>、<X社,Y社,提携>、<A社,C社,出資>、<A社,B社,子会社>というように、第1の企業と第2の企業の間における提携、出資、子会社のいずれかの関係情報を抽出できる抽出用パターンが予め登録されている場合について説明する。このとき、下記の例文2について抽出処理を行うと、<A社,B社,子会社>、<B社,E社,出資>、<D社,E社,提携>に加えて、<A社,D社,子会社>、<A社,E社,子会社>、<B社,D社,提携>等の誤った関係情報が抽出されてしまう可能性がある。
「A社の子会社のB社は十日、D社と提携したE社に新たに出資する計画を発表した。」・・・例文2
【0010】
この問題に対して、パターンの制約を厳しくするという解決策が考えられる。すなわち、単語と単語の間に任意の文字列が含まれていてもよいとはぜずに、例えば、単語と単語の間に含まれ得る各種の表現を抽出用パターンの定義ファイルに記述する。しかし、すべての表現について記述することは困難であることから、抽出用パターンと合致する文の減少を引き起こし、抽出漏れが多く発生してしまうという新たな問題が発生する。また、抽出用パターンが複雑化すると、抽出用パターンを記述した定義ファイルへの追加、修正等のメンテナンスが困難になるという新たな問題が発生する。
本発明は、上記の事情を考慮してなされたものであり、その目的は、抽出用パターンの記述を複雑にすることなく、パターンの照合ミスによる誤った情報抽出を減少させる情報抽出装置、情報抽出方法及びプログラムを提供することである。
【課題を解決するための手段】
【0011】
本発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する係り受け解析部と、前記抽出対象文から生成された形態素の並びのうち特定された照合対象となる文字列の並びに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出するパターンマッチング部と、前記係り受け解析部において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する手段と、該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除する文字列縮退手段と、前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、前記抽出した文字列が文末の文字列の場合に、前記文字列縮退手段により縮退後の文字列の並びについて前記パターンマッチング部による照合を行う手段と、を備えた照合対象ブロック作成部と、を具備することを特徴とする情報抽出装置である。
【0012】
請求項2に記載の発明は、請求項1に記載の情報抽出装置において、前記照合対象ブロック作成部は、既に作成した照合対象ブロック末尾の文字列の係り先が前記係り受け解析部において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする。
【0013】
請求項3に記載の発明は、請求項2に記載の情報抽出装置において、前記照合対象ブロック作成部は、最初に、前記係り受け解析部において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで、繰り返し照合対象ブロックを作成することを特徴とする。
【0014】
請求項4に記載の発明は、抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の過程と、前記第1の過程において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の過程と、該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の過程と、前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の過程と、前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の過程と、前記抽出した文字列が文末の文字列の場合に、前記第4の過程により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の過程と、を有することを特徴とする情報抽出方法である。
【0015】
請求項5に記載の発明は、請求項4に記載の情報抽出方法において、前記第3及び第5の過程は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の過程において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする。
【0016】
請求項6に記載の発明は、請求項5に記載の情報抽出方法において、前記第3の過程は、最初に、前記第1の過程において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の過程は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする。
【0017】
請求項7に記載の発明は、コンピュータに、抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の処理と、前記第1の処理において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の処理と、該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の処理と、前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の処理と、前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の処理と、前記抽出した文字列が文末の文字列の場合に、前記第4の処理により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の処理と、を実行させるためのプログラムである。
【0018】
請求項8に記載の発明は、請求項7に記載のプログラムにおいて、前記第3及び第5の処理は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の処理において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする。
【0019】
請求項9に記載の発明は、請求項8に記載のプログラムにおいて、前記第3の処理は、最初に、前記第1の処理において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の処理は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする。
【発明の効果】
【0020】
本発明によれば、パターンマッチングによる関係情報抽出を行う際に、係り受け解析によって得られる係り受け情報を用いて照合範囲を限定することで、パターンの照合ミスによる誤った抽出結果を減少させることができる。検証実験によれば誤抽出が1/3に減少する結果が得られた。また、文が長くなったり複雑になったりする場合でも、従来のように照合回数が急激に増大することがなく、効率的に情報抽出を行うことができる。また、抽出用パターンの記述が複雑化せず、メンテナンス性が高い。
【発明を実施するための最良の形態】
【0021】
以下、図面を参照し、本発明の実施形態について説明する。図1はこの実施形態における情報抽出装置1の構成を示すブロック図である。情報抽出装置1は、情報の入出力及び各種の処理を行う処理部10と、処理部10において用いられる辞書、抽出用パターン等が格納された記憶部20から構成される。処理部10の入出力インタフェース部11は、ネットワークを介して情報抽出の対象となるテキスト情報の取得及び情報抽出結果の出力を行うための通信手段、あるいは、記録媒体に記録されたテキスト情報を読み取り、記録媒体に情報抽出結果を出力するための記録媒体読み書き手段、あるいは、利用者によるテキスト情報の入力、情報抽出結果の表示に用いられるキーボード、マウス、ディスプレイを有する。例えば、この入出力インタフェース部11は、文献その他の資料が格納されたデータベース、インターネットを介して接続されたサーバ等、各種の情報源からテキスト情報を入力し、情報抽出結果を結果登録用のデータベースに出力する。
【0022】
処理部10の抽出箇所特定部12は、入出力インタフェース部11を介して入力されたテキスト情報を抽出対象文として情報抽出を行う箇所を特定し、パターンマッチング部16はこの特定された箇所からパターンマッチングにより情報抽出を行う。情報抽出結果は入出力インタフェース部11を介して出力される。
抽出箇所特定部12は、形態素解析部13、係り受け解析部14、照合対象ブロック作成部15から構成される。形態素解析部13は、記憶部20に格納された基本辞書21及び分野依存辞書22を用いて、抽出対象文の形態素解析を行い、結果を出力する。係り受け解析部14は、記憶部20に格納された係り受け解析規則23を用いて、抽出対象文の係り受け解析を行い、結果を出力する。照合対象ブロック作成部15は、係り受け解析部14による係り受け解析の結果を記憶するメモリを有し、抽出対象文の中でパターンマッチング部16による照合の対象となる照合対象ブロックを作成して出力する。
【0023】
パターンマッチング部16は、形態素解析部13が出力する形態素解析の結果、及び、照合対象ブロック作成部15が出力する照合対象ブロックを入力し、記憶部20のパターンデータベース24に記憶された抽出用パターンを用いて、パターンマッチングにより情報抽出を行い、結果を出力する。
【0024】
次に、上述した情報抽出装置1の動作を説明する。図2は、情報抽出装置1における情報抽出処理の流れを示すフローチャートである。情報抽出装置1の入出力インタフェース部11に抽出対象文となるテキスト情報が入力されると、この抽出対象文は形態素解析部13及び係り受け解析部14に入力される(図1参照)。形態素解析部13は、この抽出対象文の形態素解析を行う(ステップS001)。例えば、上記の例文2について形態素解析を行うと、その結果、[表2]に示すデータが生成される。なお、[表2]は形態素解析の出力結果のうち、形態素と品詞のみ示す。
【0025】
【表2】
【0026】
一方、係り受け解析部14は抽出対象文の係り受け解析を行う(ステップS001)。この係り受け解析は、形態素解析部13における形態素解析と並行して行ってもよい。例えば、上記の例文2について係り受け解析を行うと、その結果、[表3]に示すように、係り受け関係を有する文字列の並びと、各々の文字列の係り先を示す情報が生成される。
【0027】
【表3】
【0028】
[表3]において、IDとは文字列ごとに付与された識別番号であり、例えば1から始まって1づつ増加する連番が付与される。また、係り先IDとは係り先となる文字列のIDを示す。すなわち、「A社の」の係り先はIDが2の「子会社の」であり、「子会社の」の係り先はIDが3の「B社は」である。また、「B社は」と「十日、」と「計画を」の係り先はIDが11の「発表した。」であることを示す。その他の文字列の係り先の見方も同様である。ただし、「発表した。」は文末の文字列なので係り先はない。図7は、この係り受け関係のイメージを示す図である。左側の数字は各文字列に付与されたIDを示し、折れ線は各々の文字列を係り先の文字列と結んだものである。
【0029】
次に、係り受けを利用した情報抽出処理を行う(図2のステップS002)。この処理は、照合対象ブロック作成部15及びパターンマッチング部16によって行われる(図1参照)。すなわち、照合対象ブロック作成部15は上述した係り受け解析部14によって生成された文字列の並びから照合対象ブロックを順次作成し、作成するごとにパターンマッチング部16に出力する。パターンマッチング部16は、形態素解析部13において生成された形態素の並びのうち、この照合対象ブロックに含まれる文字列に対応する部分と抽出用パターンとの照合を行う。
【0030】
図3は、上記の係り受けを利用した情報抽出処理の流れを示すフローチャートである。照合対象ブロックは、係り受け解析部14(図1)によって生成された文字列の並びを基に作成される。まず、照合対象ブロック作成部15(図1)は、照合対象ブロック末尾の文字列を示すIDの値を1に初期化する(ステップS021)。
【0031】
次に、照合対象ブロックの作成を行う(ステップS022)。照合対象ブロックは、次の規則に従って作成される。
(1)照合対象ブロックの先頭の文字列は、他の文字列の係り先となっていない文字列とする。
(2)照合対象ブロックは、先頭の文字列から連続する後続の文字列を追加して拡張する。
(3)ただし、照合対象ブロック末尾の文字列が、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列に係る場合には、それ以上照合対象ブロックを拡張せず、その照合対象ブロックについて照合を行った後に、照合対象ブロックの先頭とする文字列をシフト(移動)して新たな照合対象ブロックを作成する。すなわち、抽出対象文の係り受け解析により生成された文字列の並びにおいて、その照合対象ブロック末尾の文字列の次の文字列を先頭の文字列とする新たな照合対象ブロックを作成する。ここで、照合対象ブロック末尾の文字列が、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列に係る場合とは、図7に示す係り受け関係のイメージ図において、末尾の文字列である「発表した。」から見て、照合対象ブロックの最後の文字列とその次の文字列とが別々の枝にある場合である。
【0032】
上記の規則による照合対象ブロックの作成を図8及び図9に例示する。図8は、後続の文字列を追加して照合対象ブロックを拡張する例を示す図である。(a)に示す文字列「A社の」のみからなる照合対象ブロック30に後続の文字列「子会社の」を追加して(b)に示す照合対象ブロック31に拡張され、さらにその後続の文字列「B社は」を追加して(c)に示す照合対象ブロック32に拡張されている。
【0033】
また、図9は、先頭の文字列をシフトして新たに照合対象ブロックを作成する例を示す図である。図9において「B社は」及び「十日、」は文末の文字列である「発表した。」に係っていることから、(a)に示す「A社の」、「子会社の」、「B社は」からなる照合対象ブロック32はこれ以上拡張せず、この照合対象ブロック32について照合を行った後、新たに(b)に示す「十日、」のみからなる照合対象ブロック40を作成する。この「十日、」は文末の文字列である「発表した。」に係っていることから、「十日、」のみからなる照合対象ブロック40はこれ以上拡張せず、この照合対象ブロック40について照合を行った後、新たに(c)に示す「D社と」のみからなる照合対象ブロック50を作成する。この「D社と」は文末の文字列である「発表した。」には係らないことから、この照合対象ブロック50について照合を行った後、後続する文字列である「提携した」を追加して照合対象ブロック51を作成する。
【0034】
図4は、上記の照合対象ブロックの作成処理の流れを示すフローチャートである。照合対象ブロック作成部15(図1)は、まず、係り受け解析部14において生成された文字列の並びをメモリに記憶する。そして、照合対象ブロック末尾の文字列を示すIDの値が1に等しいか否か判定する(ステップS221)。1に等しい場合は判定結果が「Yes」となり、ステップS222へ進み、1でない場合は判定結果が「No」となり、ステップS223へ進む。
【0035】
ステップS222において、IDの値が1である文字列は文頭文字列、すなわち、抽出対象文の係り受け解析により生成された文字列の並びの先頭の文字列であり、この文頭文字列からなる照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。
【0036】
ステップS223へ進む場合には、照合対象ブロック末尾の文字列を示すIDの値が1ではないので、このIDは抽出対象文の係り受け解析により生成された文字列の並びの先頭から2番目以降のいずれかの文字列を示すものである。従って、少なくともIDの値が1である場合の照合対象ブロックの作成に伴うブロック内パターンマッチング(図3のステップS024)が既に行われており、現在の照合対象ブロックが直前のパターンマッチングに成功したか否か判定することが可能である。直前のパターンマッチングに成功した場合は判定結果が「Yes」となり、ステップS224へ進み、成功しなかった場合は判定結果が「No」となり、ステップS225へ進む。
【0037】
ステップS224において、現在の照合対象ブロックに含まれる文字列のうち他の文字列の係り先となっていてIDの値が最も大きいもの、すなわち、現在の照合対象ブロックに含まれる文字列のうち末尾の文字列を残して、照合対象ブロックを縮退する。すなわち、この照合対象ブロックに含まれる末尾の文字列以外の文字列をメモリに記憶した文字列の並びから削除する。
【0038】
ステップS225において、照合対象ブロック末尾の文字列を示すIDの値が、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列のIDと一致するか否か判定する。一致する場合は判定結果が「Yes」となり、ステップS226へ進み、文字列を含まない空の照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。一方、一致しなかった場合は判定結果が「No」となり、ステップS227へ進む。
【0039】
ステップS227において、照合対象ブロック末尾の文字列の係り先IDが、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列のIDと一致するか否か判定する。一致する場合は判定結果が「Yes」となり、ステップS228へ進み、抽出対象文の係り受け解析により生成された文字列の並びにおいて、照合対象ブロック末尾の文字列の次の文字列のみからなる新たな照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。一方、一致しなかった場合は判定結果が「No」となり、ステップS229へ進み、抽出対象文の係り受け解析により生成された文字列の並びにおいて、現在の照合対象ブロック末尾にその次の文字列を追加した新たな照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。
【0040】
図3に戻り、上記のようにステップS022において作成された照合対象ブロックに1つ以上の文字列が含まれるか否か判定する(ステップS023)。文字列が含まれない場合は判定結果が「No」となり、係り受けを利用した情報抽出処理を終了する。すなわち、図2に戻りステップS003へ進む。一方、1つ以上の文字列が含まれる場合は判定結果が「Yes」となり、ステップS024へ進む。
ステップS024において、照合対象ブロック作成部15(図1)は、ステップS022で作成された照合対象ブロックをパターンマッチング部16(図1)へ出力し、パターンマッチング部16は、この照合対象ブロックについて抽出用パターンとの照合を行う。
【0041】
図5は、ブロック内パターンマッチングの処理の流れを示すフローチャートである。パターンマッチング部16(図1)は、上記のようにして作成された照合対象ブロックについて抽出用パターンとの照合を行う(ステップS241)。
次に、パターンマッチング部16は、照合対象ブロックが抽出用パターンに合致したか否か判定する(ステップS242)。合致した場合は判定結果が「Yes」となり、ステップS243へ進み、抽出用パターンにおいて指定された情報を抽出する。抽出された情報は、入出力インタフェース部11(図1)を介して出力される。一方、合致しなかった場合は判定結果が「No」となり、ブロック内パターンマッチングの処理を終了する。
【0042】
図3に戻り、以上でブロック内パターンマッチングの処理(ステップS024)が終了したので、照合対象ブロック作成部15(図1)は、照合対象ブロック末尾の文字列を示すIDの値を1増加させる(ステップS025)。そして、ステップS022へ戻る。
【0043】
図2に戻り、以上で係り受けを利用した情報抽出処理(ステップS002)が終了したので、ブロック別照合後の文に対する情報抽出処理(ステップS003)へ進む。図6は、ブロック別照合後の文に対する情報抽出処理の流れを示すフローチャートである。まず、パターンマッチング部16(図1)は、係り受けを利用した情報抽出処理(ステップS002)を行った結果、照合対象ブロックの作成(図3のステップS022)におけるブロックの縮退(図4のステップS224)によって、抽出対象文の係り受け解析により生成された文字列の並びのうち一部の文字列が削除された文、すなわち、メモリに記憶された文字列の並びのうち削除されずに残っている文字列からなる文について、抽出用パターンと照合を行う(ステップS031)。
【0044】
次に、パターンマッチング部16(図1)は、照合対象ブロックが抽出用パターンに合致したか否か判定する(ステップS032)。合致した場合は判定結果が「Yes」となり、ステップS033へ進み、抽出用パターンにおいて指定された情報を抽出する。抽出された情報は、入出力インタフェース部11(図1)を介して出力される。一方、合致しなかった場合は判定結果が「No」となり、ブロック別照合後の文に対する情報抽出処理を終了する。
【0045】
以上説明した処理について、図10及び図11を参照して前述の例文2を抽出対象文とする具体例を示す。前述の例と同様に、第1の企業と第2の企業の間における提携、出資、子会社のいずれかの関係情報を抽出できる抽出用パターンがパターンデータベース24(図1)に予め登録されているものとする。
図10は、照合対象ブロックの縮退の例を示す図である。図3のステップS022において図10(a)に示す照合対象ブロック32が作成されたところから説明する。このとき照合対象ブロック32には文字列が含まれるのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロック32と抽出用パターンとを照合した結果、パターンマッチングに成功し、<A社、B社、子会社>という関係情報が抽出される。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。図4のステップS221において、このときのIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック32は直前のパターンマッチングに成功したので、判定結果が「Yes」となり、ステップS224へ進む。ステップS224において、図10(b)に示すように照合対象ブロック32の縮退により、照合対象ブロック32の末尾の文字列「B社は」を残して文字列の並びから「A社の」及び「子会社の」が削除されて、図10(c)に示すように「B社は」のみからなる照合対象ブロック33が作成される。
【0046】
また、図11は、照合対象ブロックの縮退、照合対象ブロックの拡張、及び、ブロック別照合後の文に対する情報抽出処理の例を示す図である。図3のステップS022において図11(a)に示す照合対象ブロック52が作成されたところから説明する。このとき照合対象ブロック52には文字列が含まれるのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロック52と抽出用パターンとを照合した結果、パターンマッチングに成功し、<D社、E社、提携>という関係情報が抽出される。
【0047】
次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。図4のステップS221においてIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック32は直前のパターンマッチングに成功したので、判定結果が「Yes」となり、ステップS224へ進む。ステップS224において、図11(b)に示すように照合対象ブロック52の縮退により、照合対象ブロック52の末尾の文字列「E社に」を残して文字列の並びから「D社と」及び「提携した」が削除されて、「E社に」のみからなる照合対象ブロックが作成される。次に、ステップS225において、照合対象ブロック末尾の文字列である「E社に」のIDは前述の[表3]に示す通り「7」であるので、文末の文字列のIDである「11」と一致せず、判定結果は「No」となり、ステップS227へ進む。ステップS227において、照合対象ブロック末尾の文字列である「E社に」の係り先IDは前述の[表3]に示す通り「9」であるので、文末の文字列のIDである「11」と一致せず、判定結果は「No」となり、ステップS229へ進む。ステップS229において、「E社に」のみからなる現在の照合対象ブロック末尾に次の文字列である「新たに」が追加される。
【0048】
図3に戻り、この照合対象ブロックは文字列を含むのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロックと抽出用パターンを照合した結果、パターンマッチングは成功しない。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。
【0049】
上記ように照合対象ブロックの作成とブロック内パターンマッチングを繰り返し、現在の照合対象ブロックが図11(c)に示す照合対象ブロック53まで拡張されてもステップS024のパターンマッチングは成功しない。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。図4のステップS221においてIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック53は直前のパターンマッチングに成功していないので、判定結果が「No」となり、ステップS225へ進む。ステップS225において、照合対象ブロック53の末尾の文字列である「計画を」のIDは前述の[表3]に示す通り「10」であるので、文末の文字列のIDである「11」と一致せず、判定結果は「No」となり、ステップS227へ進む。ステップS227において、照合対象ブロック末尾の文字列である「計画を」の係り先IDは前述の[表3]に示す通り「11」であるので、文末の文字列のIDである「11」と一致し、判定結果は「Yes」となり、ステップS228へ進む。ステップS228において、照合対象ブロック53の末尾の「計画を」の次の文字列である「発表した。」のみからなる新たな照合対象ブロック60が作成される。
図3に戻り、この照合対象ブロックは文字列を含むのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロックと抽出用パターンを照合した結果、パターンマッチングは成功しない。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。
【0050】
図4のステップS221においてIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック60は直前のパターンマッチングに成功していないので、判定結果が「No」となり、ステップS225へ進む。ステップS225において、照合対象ブロック60の末尾の文字列である「発表した。」のIDは前述の[表3]に示す通り「11」であるので、文末の文字列のIDである「11」と一致し、判定結果は「Yes」となり、ステップS226へ進む。ステップS226において、文字列を含まない空の照合対象ブロックが作成される。
【0051】
図3に戻り、この照合対象ブロックは文字列を含まないのでステップS023の判定結果は「No」となり、係り受けを利用した情報抽出処理(図2のステップS002)を終了する。図2に戻り、次にステップS003のブロック別照合後の文、すなわち図11(e)に示す文に対する情報抽出処理を行う。図6のステップS031において、この文と抽出用パターンとを照合した結果、パターンマッチングに成功し、ステップS032の判定結果が「Yes」となってステップS033へ進み、ステップS033において<B社、E社、出資>という関係情報が抽出される。
【0052】
以上、企業の関係情報を例に説明したが、人同士、組織同士、製品同士等、企業以外のオブジェクト相互の関係情報の抽出も同様に行うことができる。また、関係情報以外の情報抽出にも本発明を適用することができる。
【0053】
上述した情報抽出装置1をコンピュータを用いて実現する場合には、上述した動作の過程がプログラムの形式でコンピュータ読み取り可能な記録媒体に記憶され、このプログラムをコンピュータが読み出して実行することによって、上記の処理が行われる。ここでいうコンピュータとは、OSや周辺機器等のハードウェアを含むものである。
【0054】
また、「コンピュータ読み取り可能な記録媒体」とは、ROMの他に、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0055】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0056】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【産業上の利用可能性】
【0057】
本発明は、テキスト情報から予め登録された抽出用パターンに合致する情報を抽出する情報抽出装置に用いられる。
【図面の簡単な説明】
【0058】
【図1】本発明の実施形態による情報抽出装置1の構成を示すブロック図である。
【図2】情報抽出装置1における情報抽出処理の流れを示すフローチャートである。
【図3】係り受けを利用した情報抽出処理の流れを示すフローチャートである。
【図4】照合対象ブロックの作成処理の流れを示すフローチャートである。
【図5】ブロック内パターンマッチングの処理の流れを示すフローチャートである。
【図6】ブロック別照合後の文に対する情報抽出処理の流れを示すフローチャートである。
【図7】係り受け関係のイメージを示す図である。
【図8】後続の文字列を追加して照合対象ブロックを拡張する例を示す図である。
【図9】先頭の文字列をシフトして新たに照合対象ブロックを作成する例を示す図である。
【図10】照合対象ブロックの縮退の例を示す図である。
【図11】照合対象ブロックの縮退、照合対象ブロックの拡張、及び、ブロック別照合後の文に対する情報抽出処理の例を示す図である。
【図12】抽出用パターンの例を示す図である。
【符号の説明】
【0059】
1…情報抽出装置
10…処理部
11…入出力インタフェース部
12…抽出箇所特定部
13…形態素解析部
14…係り受け解析部
15…照合対象ブロック作成部
16…パターンマッチング部
20…記憶部
21…基本辞書
22…分野依存辞書
23…係り受け解析規則
24…パターンデータベース
30、31、32、33、40、50、51、52、53、60…照合対象ブロック
【技術分野】
【0001】
本発明は、テキスト情報から指定した情報を抽出する情報抽出装置、情報抽出方法及びプログラムに関する。
【背景技術】
【0002】
従来、テキスト処理技術の一つとして、情報抽出技術がある。これは、文字情報からなるテキスト情報を解析して指定した情報を持つ文、フレーズ、単語等のオブジェクトを抽出する技術である。この技術は、企業名、個人名、住所、電話番号等の基本的な情報を持つオブジェクトの抽出に加えて、提携や出資等に代表される企業同士の関係や個人の交友関係、人的交流等、オブジェクト相互の関係抽出に応用されつつある。
【0003】
この情報抽出技術の中で近年主流となっている手法に、パターンマッチングを活用したものがある。この手法では、抽出したい関係情報等に関する表現や語順などの記述を精査して、予め抽出用パターンを作成しておき、抽出対象とする文とパターンとを照合することにより情報を抽出する。例えば、新聞記事等の情報源に下記の例文1があり、「甲社と乙社は資本提携で合意」というフレーズに合致する抽出用パターンが予め登録されていると、パターンマッチングにより<A社、B社、資本提携、合意>という関係情報が抽出される。
「A社とB社は十日、相互に株式を持ち合う資本提携で合意したと発表した。」・・・例文1
【0004】
以下、抽出対象とする文と予め登録された抽出用パターンとを照合する処理について詳細に説明する。この処理は、形態素解析とパターンマッチングに分けられる。形態素解析技術は、文を単語単位に分割する、自然言語処理技術で最も基本的かつ重要な技術である。形態素とは、それ以上に細かくすると意味がなくなってしまう最小の文字列を言う。日本語は英語のように単語同士が空白で区切られていないので、まず文を形態素に分割する必要がある。形態素解析は、辞書を用いて文をこのような最小の文字列ごと、すなわち単語単位に分割するものである。例えば、上記の例文1は、[表1]に示すような単語列に分割される。なお、解析結果の途中部分は省略している。
【0005】
【表1】
【0006】
また、パターンマッチングとは、品詞や意味等、単語の属性の並びを抽出用パターンとして予め登録しておき、抽出対象とする文を形態素解析で分割した単語列について先頭から順にこの抽出用パターンと照合し、合致する単語の並びがあるか否かをチェックするものである。合致する並びがあれば、抽出用パターンにおいて指定された情報、ここでは抽出対象となる単語の集合を抽出結果として出力する。
【0007】
図12はデータベース等に予め登録される抽出用パターンを記述した定義ファイルの一部分を示す例であり、コンピュータにおいてパターンマッチングの処理が実行されるときにコンピュータに読み込まれるものである。なお、この定義ファイルにおいて「%」の文字で始まる行はコメント行であり、コンピュータによる処理には用いられない。それ以外の行は、合致するパターン、すなわち、合致する単語の並びを記述したものである。また、欄外左側の数字は以下で説明に用いる行番号を示し、この定義ファイルには含まれない。
【0008】
この抽出用パターンが予め登録されているとき、[表1]のように分割された単語列において、「A社」、「と」、「B社」、「は」の並びは抽出用パターンの8行目の名称「COM_PAIR」のパターンと合致し、「資本」、「提携」の並びは抽出用パターンの12行目の名称「WHAT」のパターンと合致し、「合意」は抽出用パターンの16行目の名称「DO1」のパターンと合致し、そして、「A社とB社は」、「資本提携」、「で」、「合意」の並びは抽出用パターンの22行目の名称「TEIKEI1」のパターンと合致する。そこで、<A社、B社、資本提携、合意>という関係情報が出力される。ここで一例として示した提携のほか、合併や親会社/子会社関係、出資等、様々な関係情報を抽出する抽出用パターンを作成し、合致した関係情報を抽出することができる。
なお、従来技術として特許文献1、非特許文献1、非特許文献2が知られている。
【特許文献1】特開2000−112969号公報
【非特許文献1】木田敦子、乾裕子、桑畑和佳子、橋本三奈子、落谷亮、西野文人「情報抽出のための新聞記事テキスト分析」、言語処理学会第4回年次大会発表論文集、1998年3月、p.238−241
【非特許文献2】関根聡「テキストからの情報抽出」、情報処理学会誌、1999年4月、Vol.40、No.4、p.370−373
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来の情報抽出の手法であるパターンマッチングは、上記のように関係を表現する単語の並びから、抽出用パターンに合致する並びを発見するものである。この抽出用パターンは様々に表現された文に対応するため、単語と単語の間に任意の文字列が含まれてもよいとする緩やかな制約を設けることが多い。しかし、例えば1つの文に出現する企業数が増える等、文が複雑になるにつれて、抽出用パターンが予期せぬ箇所と合致してしまい、結果として誤った抽出が行われるという問題がある。例えば、
「A社は十四日、C社と今月末に提携すると発表した。」
「X社と提携したY社は医薬品最大手である。」
「A社はC社に出資することを決定した。」
「A社の子会社のB社は経営を刷新した。」
という文に対応して、それぞれ、<A社,C社,提携>、<X社,Y社,提携>、<A社,C社,出資>、<A社,B社,子会社>というように、第1の企業と第2の企業の間における提携、出資、子会社のいずれかの関係情報を抽出できる抽出用パターンが予め登録されている場合について説明する。このとき、下記の例文2について抽出処理を行うと、<A社,B社,子会社>、<B社,E社,出資>、<D社,E社,提携>に加えて、<A社,D社,子会社>、<A社,E社,子会社>、<B社,D社,提携>等の誤った関係情報が抽出されてしまう可能性がある。
「A社の子会社のB社は十日、D社と提携したE社に新たに出資する計画を発表した。」・・・例文2
【0010】
この問題に対して、パターンの制約を厳しくするという解決策が考えられる。すなわち、単語と単語の間に任意の文字列が含まれていてもよいとはぜずに、例えば、単語と単語の間に含まれ得る各種の表現を抽出用パターンの定義ファイルに記述する。しかし、すべての表現について記述することは困難であることから、抽出用パターンと合致する文の減少を引き起こし、抽出漏れが多く発生してしまうという新たな問題が発生する。また、抽出用パターンが複雑化すると、抽出用パターンを記述した定義ファイルへの追加、修正等のメンテナンスが困難になるという新たな問題が発生する。
本発明は、上記の事情を考慮してなされたものであり、その目的は、抽出用パターンの記述を複雑にすることなく、パターンの照合ミスによる誤った情報抽出を減少させる情報抽出装置、情報抽出方法及びプログラムを提供することである。
【課題を解決するための手段】
【0011】
本発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する係り受け解析部と、前記抽出対象文から生成された形態素の並びのうち特定された照合対象となる文字列の並びに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出するパターンマッチング部と、前記係り受け解析部において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する手段と、該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除する文字列縮退手段と、前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、前記抽出した文字列が文末の文字列の場合に、前記文字列縮退手段により縮退後の文字列の並びについて前記パターンマッチング部による照合を行う手段と、を備えた照合対象ブロック作成部と、を具備することを特徴とする情報抽出装置である。
【0012】
請求項2に記載の発明は、請求項1に記載の情報抽出装置において、前記照合対象ブロック作成部は、既に作成した照合対象ブロック末尾の文字列の係り先が前記係り受け解析部において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする。
【0013】
請求項3に記載の発明は、請求項2に記載の情報抽出装置において、前記照合対象ブロック作成部は、最初に、前記係り受け解析部において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで、繰り返し照合対象ブロックを作成することを特徴とする。
【0014】
請求項4に記載の発明は、抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の過程と、前記第1の過程において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の過程と、該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の過程と、前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の過程と、前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の過程と、前記抽出した文字列が文末の文字列の場合に、前記第4の過程により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の過程と、を有することを特徴とする情報抽出方法である。
【0015】
請求項5に記載の発明は、請求項4に記載の情報抽出方法において、前記第3及び第5の過程は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の過程において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする。
【0016】
請求項6に記載の発明は、請求項5に記載の情報抽出方法において、前記第3の過程は、最初に、前記第1の過程において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の過程は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする。
【0017】
請求項7に記載の発明は、コンピュータに、抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の処理と、前記第1の処理において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の処理と、該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の処理と、前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の処理と、前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の処理と、前記抽出した文字列が文末の文字列の場合に、前記第4の処理により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の処理と、を実行させるためのプログラムである。
【0018】
請求項8に記載の発明は、請求項7に記載のプログラムにおいて、前記第3及び第5の処理は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の処理において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする。
【0019】
請求項9に記載の発明は、請求項8に記載のプログラムにおいて、前記第3の処理は、最初に、前記第1の処理において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の処理は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする。
【発明の効果】
【0020】
本発明によれば、パターンマッチングによる関係情報抽出を行う際に、係り受け解析によって得られる係り受け情報を用いて照合範囲を限定することで、パターンの照合ミスによる誤った抽出結果を減少させることができる。検証実験によれば誤抽出が1/3に減少する結果が得られた。また、文が長くなったり複雑になったりする場合でも、従来のように照合回数が急激に増大することがなく、効率的に情報抽出を行うことができる。また、抽出用パターンの記述が複雑化せず、メンテナンス性が高い。
【発明を実施するための最良の形態】
【0021】
以下、図面を参照し、本発明の実施形態について説明する。図1はこの実施形態における情報抽出装置1の構成を示すブロック図である。情報抽出装置1は、情報の入出力及び各種の処理を行う処理部10と、処理部10において用いられる辞書、抽出用パターン等が格納された記憶部20から構成される。処理部10の入出力インタフェース部11は、ネットワークを介して情報抽出の対象となるテキスト情報の取得及び情報抽出結果の出力を行うための通信手段、あるいは、記録媒体に記録されたテキスト情報を読み取り、記録媒体に情報抽出結果を出力するための記録媒体読み書き手段、あるいは、利用者によるテキスト情報の入力、情報抽出結果の表示に用いられるキーボード、マウス、ディスプレイを有する。例えば、この入出力インタフェース部11は、文献その他の資料が格納されたデータベース、インターネットを介して接続されたサーバ等、各種の情報源からテキスト情報を入力し、情報抽出結果を結果登録用のデータベースに出力する。
【0022】
処理部10の抽出箇所特定部12は、入出力インタフェース部11を介して入力されたテキスト情報を抽出対象文として情報抽出を行う箇所を特定し、パターンマッチング部16はこの特定された箇所からパターンマッチングにより情報抽出を行う。情報抽出結果は入出力インタフェース部11を介して出力される。
抽出箇所特定部12は、形態素解析部13、係り受け解析部14、照合対象ブロック作成部15から構成される。形態素解析部13は、記憶部20に格納された基本辞書21及び分野依存辞書22を用いて、抽出対象文の形態素解析を行い、結果を出力する。係り受け解析部14は、記憶部20に格納された係り受け解析規則23を用いて、抽出対象文の係り受け解析を行い、結果を出力する。照合対象ブロック作成部15は、係り受け解析部14による係り受け解析の結果を記憶するメモリを有し、抽出対象文の中でパターンマッチング部16による照合の対象となる照合対象ブロックを作成して出力する。
【0023】
パターンマッチング部16は、形態素解析部13が出力する形態素解析の結果、及び、照合対象ブロック作成部15が出力する照合対象ブロックを入力し、記憶部20のパターンデータベース24に記憶された抽出用パターンを用いて、パターンマッチングにより情報抽出を行い、結果を出力する。
【0024】
次に、上述した情報抽出装置1の動作を説明する。図2は、情報抽出装置1における情報抽出処理の流れを示すフローチャートである。情報抽出装置1の入出力インタフェース部11に抽出対象文となるテキスト情報が入力されると、この抽出対象文は形態素解析部13及び係り受け解析部14に入力される(図1参照)。形態素解析部13は、この抽出対象文の形態素解析を行う(ステップS001)。例えば、上記の例文2について形態素解析を行うと、その結果、[表2]に示すデータが生成される。なお、[表2]は形態素解析の出力結果のうち、形態素と品詞のみ示す。
【0025】
【表2】
【0026】
一方、係り受け解析部14は抽出対象文の係り受け解析を行う(ステップS001)。この係り受け解析は、形態素解析部13における形態素解析と並行して行ってもよい。例えば、上記の例文2について係り受け解析を行うと、その結果、[表3]に示すように、係り受け関係を有する文字列の並びと、各々の文字列の係り先を示す情報が生成される。
【0027】
【表3】
【0028】
[表3]において、IDとは文字列ごとに付与された識別番号であり、例えば1から始まって1づつ増加する連番が付与される。また、係り先IDとは係り先となる文字列のIDを示す。すなわち、「A社の」の係り先はIDが2の「子会社の」であり、「子会社の」の係り先はIDが3の「B社は」である。また、「B社は」と「十日、」と「計画を」の係り先はIDが11の「発表した。」であることを示す。その他の文字列の係り先の見方も同様である。ただし、「発表した。」は文末の文字列なので係り先はない。図7は、この係り受け関係のイメージを示す図である。左側の数字は各文字列に付与されたIDを示し、折れ線は各々の文字列を係り先の文字列と結んだものである。
【0029】
次に、係り受けを利用した情報抽出処理を行う(図2のステップS002)。この処理は、照合対象ブロック作成部15及びパターンマッチング部16によって行われる(図1参照)。すなわち、照合対象ブロック作成部15は上述した係り受け解析部14によって生成された文字列の並びから照合対象ブロックを順次作成し、作成するごとにパターンマッチング部16に出力する。パターンマッチング部16は、形態素解析部13において生成された形態素の並びのうち、この照合対象ブロックに含まれる文字列に対応する部分と抽出用パターンとの照合を行う。
【0030】
図3は、上記の係り受けを利用した情報抽出処理の流れを示すフローチャートである。照合対象ブロックは、係り受け解析部14(図1)によって生成された文字列の並びを基に作成される。まず、照合対象ブロック作成部15(図1)は、照合対象ブロック末尾の文字列を示すIDの値を1に初期化する(ステップS021)。
【0031】
次に、照合対象ブロックの作成を行う(ステップS022)。照合対象ブロックは、次の規則に従って作成される。
(1)照合対象ブロックの先頭の文字列は、他の文字列の係り先となっていない文字列とする。
(2)照合対象ブロックは、先頭の文字列から連続する後続の文字列を追加して拡張する。
(3)ただし、照合対象ブロック末尾の文字列が、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列に係る場合には、それ以上照合対象ブロックを拡張せず、その照合対象ブロックについて照合を行った後に、照合対象ブロックの先頭とする文字列をシフト(移動)して新たな照合対象ブロックを作成する。すなわち、抽出対象文の係り受け解析により生成された文字列の並びにおいて、その照合対象ブロック末尾の文字列の次の文字列を先頭の文字列とする新たな照合対象ブロックを作成する。ここで、照合対象ブロック末尾の文字列が、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列に係る場合とは、図7に示す係り受け関係のイメージ図において、末尾の文字列である「発表した。」から見て、照合対象ブロックの最後の文字列とその次の文字列とが別々の枝にある場合である。
【0032】
上記の規則による照合対象ブロックの作成を図8及び図9に例示する。図8は、後続の文字列を追加して照合対象ブロックを拡張する例を示す図である。(a)に示す文字列「A社の」のみからなる照合対象ブロック30に後続の文字列「子会社の」を追加して(b)に示す照合対象ブロック31に拡張され、さらにその後続の文字列「B社は」を追加して(c)に示す照合対象ブロック32に拡張されている。
【0033】
また、図9は、先頭の文字列をシフトして新たに照合対象ブロックを作成する例を示す図である。図9において「B社は」及び「十日、」は文末の文字列である「発表した。」に係っていることから、(a)に示す「A社の」、「子会社の」、「B社は」からなる照合対象ブロック32はこれ以上拡張せず、この照合対象ブロック32について照合を行った後、新たに(b)に示す「十日、」のみからなる照合対象ブロック40を作成する。この「十日、」は文末の文字列である「発表した。」に係っていることから、「十日、」のみからなる照合対象ブロック40はこれ以上拡張せず、この照合対象ブロック40について照合を行った後、新たに(c)に示す「D社と」のみからなる照合対象ブロック50を作成する。この「D社と」は文末の文字列である「発表した。」には係らないことから、この照合対象ブロック50について照合を行った後、後続する文字列である「提携した」を追加して照合対象ブロック51を作成する。
【0034】
図4は、上記の照合対象ブロックの作成処理の流れを示すフローチャートである。照合対象ブロック作成部15(図1)は、まず、係り受け解析部14において生成された文字列の並びをメモリに記憶する。そして、照合対象ブロック末尾の文字列を示すIDの値が1に等しいか否か判定する(ステップS221)。1に等しい場合は判定結果が「Yes」となり、ステップS222へ進み、1でない場合は判定結果が「No」となり、ステップS223へ進む。
【0035】
ステップS222において、IDの値が1である文字列は文頭文字列、すなわち、抽出対象文の係り受け解析により生成された文字列の並びの先頭の文字列であり、この文頭文字列からなる照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。
【0036】
ステップS223へ進む場合には、照合対象ブロック末尾の文字列を示すIDの値が1ではないので、このIDは抽出対象文の係り受け解析により生成された文字列の並びの先頭から2番目以降のいずれかの文字列を示すものである。従って、少なくともIDの値が1である場合の照合対象ブロックの作成に伴うブロック内パターンマッチング(図3のステップS024)が既に行われており、現在の照合対象ブロックが直前のパターンマッチングに成功したか否か判定することが可能である。直前のパターンマッチングに成功した場合は判定結果が「Yes」となり、ステップS224へ進み、成功しなかった場合は判定結果が「No」となり、ステップS225へ進む。
【0037】
ステップS224において、現在の照合対象ブロックに含まれる文字列のうち他の文字列の係り先となっていてIDの値が最も大きいもの、すなわち、現在の照合対象ブロックに含まれる文字列のうち末尾の文字列を残して、照合対象ブロックを縮退する。すなわち、この照合対象ブロックに含まれる末尾の文字列以外の文字列をメモリに記憶した文字列の並びから削除する。
【0038】
ステップS225において、照合対象ブロック末尾の文字列を示すIDの値が、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列のIDと一致するか否か判定する。一致する場合は判定結果が「Yes」となり、ステップS226へ進み、文字列を含まない空の照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。一方、一致しなかった場合は判定結果が「No」となり、ステップS227へ進む。
【0039】
ステップS227において、照合対象ブロック末尾の文字列の係り先IDが、抽出対象文の係り受け解析により生成された文字列の並びの末尾の文字列のIDと一致するか否か判定する。一致する場合は判定結果が「Yes」となり、ステップS228へ進み、抽出対象文の係り受け解析により生成された文字列の並びにおいて、照合対象ブロック末尾の文字列の次の文字列のみからなる新たな照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。一方、一致しなかった場合は判定結果が「No」となり、ステップS229へ進み、抽出対象文の係り受け解析により生成された文字列の並びにおいて、現在の照合対象ブロック末尾にその次の文字列を追加した新たな照合対象ブロックを作成し、照合対象ブロックの作成処理を終了する。
【0040】
図3に戻り、上記のようにステップS022において作成された照合対象ブロックに1つ以上の文字列が含まれるか否か判定する(ステップS023)。文字列が含まれない場合は判定結果が「No」となり、係り受けを利用した情報抽出処理を終了する。すなわち、図2に戻りステップS003へ進む。一方、1つ以上の文字列が含まれる場合は判定結果が「Yes」となり、ステップS024へ進む。
ステップS024において、照合対象ブロック作成部15(図1)は、ステップS022で作成された照合対象ブロックをパターンマッチング部16(図1)へ出力し、パターンマッチング部16は、この照合対象ブロックについて抽出用パターンとの照合を行う。
【0041】
図5は、ブロック内パターンマッチングの処理の流れを示すフローチャートである。パターンマッチング部16(図1)は、上記のようにして作成された照合対象ブロックについて抽出用パターンとの照合を行う(ステップS241)。
次に、パターンマッチング部16は、照合対象ブロックが抽出用パターンに合致したか否か判定する(ステップS242)。合致した場合は判定結果が「Yes」となり、ステップS243へ進み、抽出用パターンにおいて指定された情報を抽出する。抽出された情報は、入出力インタフェース部11(図1)を介して出力される。一方、合致しなかった場合は判定結果が「No」となり、ブロック内パターンマッチングの処理を終了する。
【0042】
図3に戻り、以上でブロック内パターンマッチングの処理(ステップS024)が終了したので、照合対象ブロック作成部15(図1)は、照合対象ブロック末尾の文字列を示すIDの値を1増加させる(ステップS025)。そして、ステップS022へ戻る。
【0043】
図2に戻り、以上で係り受けを利用した情報抽出処理(ステップS002)が終了したので、ブロック別照合後の文に対する情報抽出処理(ステップS003)へ進む。図6は、ブロック別照合後の文に対する情報抽出処理の流れを示すフローチャートである。まず、パターンマッチング部16(図1)は、係り受けを利用した情報抽出処理(ステップS002)を行った結果、照合対象ブロックの作成(図3のステップS022)におけるブロックの縮退(図4のステップS224)によって、抽出対象文の係り受け解析により生成された文字列の並びのうち一部の文字列が削除された文、すなわち、メモリに記憶された文字列の並びのうち削除されずに残っている文字列からなる文について、抽出用パターンと照合を行う(ステップS031)。
【0044】
次に、パターンマッチング部16(図1)は、照合対象ブロックが抽出用パターンに合致したか否か判定する(ステップS032)。合致した場合は判定結果が「Yes」となり、ステップS033へ進み、抽出用パターンにおいて指定された情報を抽出する。抽出された情報は、入出力インタフェース部11(図1)を介して出力される。一方、合致しなかった場合は判定結果が「No」となり、ブロック別照合後の文に対する情報抽出処理を終了する。
【0045】
以上説明した処理について、図10及び図11を参照して前述の例文2を抽出対象文とする具体例を示す。前述の例と同様に、第1の企業と第2の企業の間における提携、出資、子会社のいずれかの関係情報を抽出できる抽出用パターンがパターンデータベース24(図1)に予め登録されているものとする。
図10は、照合対象ブロックの縮退の例を示す図である。図3のステップS022において図10(a)に示す照合対象ブロック32が作成されたところから説明する。このとき照合対象ブロック32には文字列が含まれるのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロック32と抽出用パターンとを照合した結果、パターンマッチングに成功し、<A社、B社、子会社>という関係情報が抽出される。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。図4のステップS221において、このときのIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック32は直前のパターンマッチングに成功したので、判定結果が「Yes」となり、ステップS224へ進む。ステップS224において、図10(b)に示すように照合対象ブロック32の縮退により、照合対象ブロック32の末尾の文字列「B社は」を残して文字列の並びから「A社の」及び「子会社の」が削除されて、図10(c)に示すように「B社は」のみからなる照合対象ブロック33が作成される。
【0046】
また、図11は、照合対象ブロックの縮退、照合対象ブロックの拡張、及び、ブロック別照合後の文に対する情報抽出処理の例を示す図である。図3のステップS022において図11(a)に示す照合対象ブロック52が作成されたところから説明する。このとき照合対象ブロック52には文字列が含まれるのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロック52と抽出用パターンとを照合した結果、パターンマッチングに成功し、<D社、E社、提携>という関係情報が抽出される。
【0047】
次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。図4のステップS221においてIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック32は直前のパターンマッチングに成功したので、判定結果が「Yes」となり、ステップS224へ進む。ステップS224において、図11(b)に示すように照合対象ブロック52の縮退により、照合対象ブロック52の末尾の文字列「E社に」を残して文字列の並びから「D社と」及び「提携した」が削除されて、「E社に」のみからなる照合対象ブロックが作成される。次に、ステップS225において、照合対象ブロック末尾の文字列である「E社に」のIDは前述の[表3]に示す通り「7」であるので、文末の文字列のIDである「11」と一致せず、判定結果は「No」となり、ステップS227へ進む。ステップS227において、照合対象ブロック末尾の文字列である「E社に」の係り先IDは前述の[表3]に示す通り「9」であるので、文末の文字列のIDである「11」と一致せず、判定結果は「No」となり、ステップS229へ進む。ステップS229において、「E社に」のみからなる現在の照合対象ブロック末尾に次の文字列である「新たに」が追加される。
【0048】
図3に戻り、この照合対象ブロックは文字列を含むのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロックと抽出用パターンを照合した結果、パターンマッチングは成功しない。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。
【0049】
上記ように照合対象ブロックの作成とブロック内パターンマッチングを繰り返し、現在の照合対象ブロックが図11(c)に示す照合対象ブロック53まで拡張されてもステップS024のパターンマッチングは成功しない。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。図4のステップS221においてIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック53は直前のパターンマッチングに成功していないので、判定結果が「No」となり、ステップS225へ進む。ステップS225において、照合対象ブロック53の末尾の文字列である「計画を」のIDは前述の[表3]に示す通り「10」であるので、文末の文字列のIDである「11」と一致せず、判定結果は「No」となり、ステップS227へ進む。ステップS227において、照合対象ブロック末尾の文字列である「計画を」の係り先IDは前述の[表3]に示す通り「11」であるので、文末の文字列のIDである「11」と一致し、判定結果は「Yes」となり、ステップS228へ進む。ステップS228において、照合対象ブロック53の末尾の「計画を」の次の文字列である「発表した。」のみからなる新たな照合対象ブロック60が作成される。
図3に戻り、この照合対象ブロックは文字列を含むのでステップS023の判定結果は「Yes」となり、ステップS024のブロック内パターンマッチングにおいて、この照合対象ブロックと抽出用パターンを照合した結果、パターンマッチングは成功しない。次に、ステップS025においてIDの値を1増加させ、ステップS022へ戻り、照合対象ブロックの作成を行う。
【0050】
図4のステップS221においてIDの値は明らかに2以上であり1ではないので判定結果が「No」となりステップS223へ進む。ステップS223において現在の照合対象ブロック60は直前のパターンマッチングに成功していないので、判定結果が「No」となり、ステップS225へ進む。ステップS225において、照合対象ブロック60の末尾の文字列である「発表した。」のIDは前述の[表3]に示す通り「11」であるので、文末の文字列のIDである「11」と一致し、判定結果は「Yes」となり、ステップS226へ進む。ステップS226において、文字列を含まない空の照合対象ブロックが作成される。
【0051】
図3に戻り、この照合対象ブロックは文字列を含まないのでステップS023の判定結果は「No」となり、係り受けを利用した情報抽出処理(図2のステップS002)を終了する。図2に戻り、次にステップS003のブロック別照合後の文、すなわち図11(e)に示す文に対する情報抽出処理を行う。図6のステップS031において、この文と抽出用パターンとを照合した結果、パターンマッチングに成功し、ステップS032の判定結果が「Yes」となってステップS033へ進み、ステップS033において<B社、E社、出資>という関係情報が抽出される。
【0052】
以上、企業の関係情報を例に説明したが、人同士、組織同士、製品同士等、企業以外のオブジェクト相互の関係情報の抽出も同様に行うことができる。また、関係情報以外の情報抽出にも本発明を適用することができる。
【0053】
上述した情報抽出装置1をコンピュータを用いて実現する場合には、上述した動作の過程がプログラムの形式でコンピュータ読み取り可能な記録媒体に記憶され、このプログラムをコンピュータが読み出して実行することによって、上記の処理が行われる。ここでいうコンピュータとは、OSや周辺機器等のハードウェアを含むものである。
【0054】
また、「コンピュータ読み取り可能な記録媒体」とは、ROMの他に、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0055】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0056】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【産業上の利用可能性】
【0057】
本発明は、テキスト情報から予め登録された抽出用パターンに合致する情報を抽出する情報抽出装置に用いられる。
【図面の簡単な説明】
【0058】
【図1】本発明の実施形態による情報抽出装置1の構成を示すブロック図である。
【図2】情報抽出装置1における情報抽出処理の流れを示すフローチャートである。
【図3】係り受けを利用した情報抽出処理の流れを示すフローチャートである。
【図4】照合対象ブロックの作成処理の流れを示すフローチャートである。
【図5】ブロック内パターンマッチングの処理の流れを示すフローチャートである。
【図6】ブロック別照合後の文に対する情報抽出処理の流れを示すフローチャートである。
【図7】係り受け関係のイメージを示す図である。
【図8】後続の文字列を追加して照合対象ブロックを拡張する例を示す図である。
【図9】先頭の文字列をシフトして新たに照合対象ブロックを作成する例を示す図である。
【図10】照合対象ブロックの縮退の例を示す図である。
【図11】照合対象ブロックの縮退、照合対象ブロックの拡張、及び、ブロック別照合後の文に対する情報抽出処理の例を示す図である。
【図12】抽出用パターンの例を示す図である。
【符号の説明】
【0059】
1…情報抽出装置
10…処理部
11…入出力インタフェース部
12…抽出箇所特定部
13…形態素解析部
14…係り受け解析部
15…照合対象ブロック作成部
16…パターンマッチング部
20…記憶部
21…基本辞書
22…分野依存辞書
23…係り受け解析規則
24…パターンデータベース
30、31、32、33、40、50、51、52、53、60…照合対象ブロック
【特許請求の範囲】
【請求項1】
抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する係り受け解析部と、
前記抽出対象文から生成された形態素の並びのうち特定された照合対象となる文字列の並びに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出するパターンマッチング部と、
前記係り受け解析部において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する手段と、
該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、
前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除する文字列縮退手段と、
前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、
前記抽出した文字列が文末の文字列の場合に、前記文字列縮退手段により縮退後の文字列の並びについて前記パターンマッチング部による照合を行う手段と、
を備えた照合対象ブロック作成部と、
を具備することを特徴とする情報抽出装置。
【請求項2】
前記照合対象ブロック作成部は、既に作成した照合対象ブロック末尾の文字列の係り先が前記係り受け解析部において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする請求項1に記載の情報抽出装置。
【請求項3】
前記照合対象ブロック作成部は、最初に、前記係り受け解析部において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで、繰り返し照合対象ブロックを作成することを特徴とする請求項2に記載の情報抽出装置。
【請求項4】
抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の過程と、
前記第1の過程において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の過程と、
該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の過程と、
前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の過程と、
前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の過程と、
前記抽出した文字列が文末の文字列の場合に、前記第4の過程により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の過程と、
を有することを特徴とする情報抽出方法。
【請求項5】
前記第3及び第5の過程は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の過程において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする請求項4に記載の情報抽出方法。
【請求項6】
前記第3の過程は、最初に、前記第1の過程において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の過程は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする請求項5に記載の情報抽出方法。
【請求項7】
コンピュータに、
抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の処理と、
前記第1の処理において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の処理と、
該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の処理と、
前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の処理と、
前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の処理と、
前記抽出した文字列が文末の文字列の場合に、前記第4の処理により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の処理と、
を実行させるためのプログラム。
【請求項8】
前記第3及び第5の処理は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の処理において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする請求項7に記載のプログラム。
【請求項9】
前記第3の処理は、最初に、前記第1の処理において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の処理は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする請求項8に記載のプログラム。
【請求項1】
抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する係り受け解析部と、
前記抽出対象文から生成された形態素の並びのうち特定された照合対象となる文字列の並びに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出するパターンマッチング部と、
前記係り受け解析部において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する手段と、
該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、
前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除する文字列縮退手段と、
前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記作成した照合対象ブロックを特定された照合対象となる文字列の並びとして前記パターンマッチング部による照合を行う手段と、
前記抽出した文字列が文末の文字列の場合に、前記文字列縮退手段により縮退後の文字列の並びについて前記パターンマッチング部による照合を行う手段と、
を備えた照合対象ブロック作成部と、
を具備することを特徴とする情報抽出装置。
【請求項2】
前記照合対象ブロック作成部は、既に作成した照合対象ブロック末尾の文字列の係り先が前記係り受け解析部において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする請求項1に記載の情報抽出装置。
【請求項3】
前記照合対象ブロック作成部は、最初に、前記係り受け解析部において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで、繰り返し照合対象ブロックを作成することを特徴とする請求項2に記載の情報抽出装置。
【請求項4】
抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の過程と、
前記第1の過程において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の過程と、
該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の過程と、
前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の過程と、
前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の過程と、
前記抽出した文字列が文末の文字列の場合に、前記第4の過程により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の過程と、
を有することを特徴とする情報抽出方法。
【請求項5】
前記第3及び第5の過程は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の過程において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする請求項4に記載の情報抽出方法。
【請求項6】
前記第3の過程は、最初に、前記第1の過程において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の過程は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする請求項5に記載の情報抽出方法。
【請求項7】
コンピュータに、
抽出対象文と該抽出対象文から生成された形態素の並びから係り受け解析を行い係り受け関係を有する文字列の並び及び各々の文字列の係り先を示す情報を生成する第1の処理と、
前記第1の処理において生成された文字列の並びと各々の文字列の係り先文字列の情報を記憶する第2の処理と、
該記憶した文字列の並びを先頭から順次抽出し、最後に抽出した文字列が文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、抽出した文字列に後続の文字列を抽出して追加し、照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第3の処理と、
前記照合で合致した場合に、前記照合対象ブロックに含まれる末尾の文字列以外の文字列を前記記憶した文字列の並びから削除することにより文字列を縮退する第4の処理と、
前記照合対象ブロックの末尾の文字列が、文末の文字列ではなく、かつ、前記文字列の並びの係り先文字列が、文末の文字列ではない場合、既に作成した照合対象ブロックに後続の文字列を抽出して追加し、新たな照合対象ブロックを作成し、前記抽出対象文から生成された形態素の並びのうち前記作成した照合対象ブロックに対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第5の処理と、
前記抽出した文字列が文末の文字列の場合に、前記第4の処理により縮退後の文字列の並びについて、前記抽出対象文から生成された形態素の並びのうち対応する部分と予めデータベースに登録された抽出用パターンとを照合し、合致した場合に前記抽出用パターンにおいて指定された情報を抽出する第6の処理と、
を実行させるためのプログラム。
【請求項8】
前記第3及び第5の処理は、既に作成した照合対象ブロック末尾の文字列の係り先が前記第1の処理において生成された文字列の並びの末尾の文字列である場合に、前記文字列の並びにおいて前記既に作成した照合対象ブロック末尾の文字列の次の文字列のみを新たな照合対象ブロックとすることを特徴とする請求項7に記載のプログラム。
【請求項9】
前記第3の処理は、最初に、前記第1の処理において生成された文字列の並びの先頭の文字列のみからなる照合対象ブロックを作成し、前記第3から第5の処理は、前記文字列の並びの末尾の文字列のみからなる照合対象ブロックが作成されるまで繰り返されることを特徴とする請求項8に記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2006−338133(P2006−338133A)
【公開日】平成18年12月14日(2006.12.14)
【国際特許分類】
【出願番号】特願2005−159432(P2005−159432)
【出願日】平成17年5月31日(2005.5.31)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
【公開日】平成18年12月14日(2006.12.14)
【国際特許分類】
【出願日】平成17年5月31日(2005.5.31)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
[ Back to top ]