(57)【要約】【課題】指定された位置に対応する情報と同等の概念を有する情報を効率よく抽出可能な抽出規則を作成できる抽出規則作成システムを提供する。【解決手段】組合せ位置情報作成手段８１は、タグ付きテキストと、文字列またはタグの位置を示す３個以上の位置情報と、キー情報とをもとに組合せ位置情報を作成する。単語タグ文字列作成手段８２は、その組合せ位置情報に含まれる位置情報が示す位置の単語またはタグを組み合わせた単語タグ文字列をその組合せ位置情報ごとに作成する。単語タグ文字列選択手段８３は、評価値を算出して単語タグ文字列を選択する。付属文字列抽出手段８４は、タグ付きテキストを文節ごとに分割した単語のうち、位置情報が示す位置の文字列を含む文節分割単語を抽出し、その文節分割単語から、位置情報が示す位置に含まれない付属文字列を抽出する。抽出規則作成手段８５は、単語タグ文字列と付属文字列とをもとに抽出規則を作成する。【選択図】図２１
2010262577.tif 000002
【特許請求の範囲】
【請求項１】
文字列中の任意の位置に付加された情報であって、当該情報が付加された文字列の位置を示す位置情報と、当該位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、当該タグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報と、当該位置情報が示す位置に対応する文字列ごとに定められ、当該文字列が前記各文字列の組合せを識別するキー文字列に該当するか否かを示すキー情報とをもとに、前記文字列の組合せにおけるキー文字列の位置情報と、当該組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報を作成する組合せ位置情報作成手段と、
前記タグ付きテキストと前記組合せ位置情報が与えられたときに、当該組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列を当該組合せ位置情報ごとに作成する単語タグ文字列作成手段と、
前記単語タグ文字列を選択する基準となる評価値を算出し、当該評価値を用いて前記単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択手段と、
前記タグ付きテキストを文節ごとに分割した単語のうち、前記位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、当該文節分割単語における文字列のうち、前記位置情報が示す位置に含まれない文字列である付属文字列を抽出する付属文字列抽出手段と、
前記単語タグ文字列選択手段が選択した単語タグ文字列と前記付属文字列とをもとに、前記タグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成手段とを備えた
ことを特徴とする抽出規則作成システム。
【請求項２】
タグ付きテキストと、当該タグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報が指定されたときに、前記位置情報が示す位置に対応する一つ以上の文字列を組み合わせた文字列群がすべて含まれるタグ付きテキスト数をタグ付きテキスト記憶手段に記憶されたタグ付きテキストの中から算出するテキスト数算出手段と、
前記テキスト数算出手段が算出したタグ付きテキスト数と前記文字列群に含まれる文字列数とをもとに、前記文字列群がキー文字列か否かを判断して、キー情報を作成するキー情報作成手段とを備え、
組合せ位置情報作成手段は、前記キー情報作成手段が作成したキー情報と位置情報及びタグ付きテキストをもとに組合せ位置情報を作成し、
前記キー情報作成手段は、前記文字列数がより小さい文字列の組合せであって、当該文字列の組合せにおける前記タグ付きテキスト数が、予め定められた閾値よりも小さい場合に、その組み合わせをキー文字列と判断してキー情報を作成する
請求項１記載の抽出規則作成システム。
【請求項３】
抽出規則に適合する文字列の組合せをタグ付きテキストから抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した一の文字列の組合せに対して、キー文字列が等しい他の文字列の組合せを結合させる文字列結合手段とを備えた
請求項１または請求項２に記載の抽出規則作成システム。
【請求項４】
文字列結合手段は、一の文字列の組合せに結合させる他の文字列の組合せが複数存在する場合に、一の文字列の組合せを含むタグ付きテキストと他の文字列の組合せを含むタグ付きテキストとの類似度を算出し、当該類似度に基づいて決定したタグ付きテキストに含まれる他の文字列の組合せを一の文字列の組合せに対して結合させる
請求項３記載の抽出規則作成システム。
【請求項５】
単語タグ文字列選択手段は、単語タグ文字列が１つのタグ付きテキスト内で適合する箇所がより少ないほど評価値を高く算出し、単語タグ文字列がより多くのタグ付きテキスト内で適合するほど評価値を高く算出する。
請求項１から請求項４のうちのいずれか１項に記載の抽出規則作成システム。
【請求項６】
単語タグ文字列作成手段は、作成した単語タグ文字列のうち、タグを一つ以上含む単語タグ文字列を選択する
請求項１から請求項５のうちのいずれか１項に記載の抽出規則作成システム。
【請求項７】
抽出規則作成手段は、単語タグ文字列に含まれる単語またはタグ及び付属文字列を、当該単語またはタグ及び付属文字列の開始位置が小さい順に結合して抽出規則を作成する
請求項１から請求項６のうちのいずれか１項に記載の抽出規則作成システム。
【請求項８】
組合せ位置情報作成手段は、キー文字列と、キー文字列以外の文字列とを組み合わせて組合せ位置情報を作成する
請求項１から請求項７のうちのいずれか１項に記載の抽出規則作成システム。
【請求項９】
文字列中の任意の位置に付加された情報であって、当該情報が付加された文字列の位置を示す位置情報と、当該位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、当該タグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報と、当該位置情報が示す位置に対応する文字列ごとに定められ、当該文字列が前記各文字列の組合せを識別するキー文字列に該当するか否かを示すキー情報とをもとに、前記文字列の組合せにおけるキー文字列の位置情報と、当該組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報を作成する組合せ位置情報作成ステップと、
前記タグ付きテキストと前記組合せ位置情報が与えられたときに、当該組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列を当該組合せ位置情報ごとに作成する単語タグ文字列作成ステップと、
前記単語タグ文字列を選択する基準となる評価値を算出し、当該評価値を用いて前記単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択ステップと、
前記タグ付きテキストを文節ごとに分割した単語のうち、前記位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、当該文節分割単語における文字列のうち、前記位置情報が示す位置に含まれない文字列である付属文字列を抽出する付属文字列抽出ステップと、
前記単語タグ文字列選択ステップで選択した単語タグ文字列と前記付属文字列とをもとに、前記タグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成ステップとを含む
ことを特徴とする抽出規則作成方法。
【請求項１０】
タグ付きテキストと、当該タグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報が指定されたときに、前記位置情報が示す位置に対応する一つ以上の文字列を組み合わせた文字列群がすべて含まれるタグ付きテキスト数をタグ付きテキスト記憶手段に記憶されたタグ付きテキストの中から算出するテキスト数算出ステップと、
前記テキスト数算出ステップで算出したタグ付きテキスト数と前記文字列群に含まれる文字列数とをもとに、前記文字列群がキー文字列か否かを判断して、キー情報を作成するキー情報作成ステップとを含み、
組合せ位置情報作成ステップで、前記キー情報作成ステップで作成したキー情報と位置情報及びタグ付きテキストをもとに組合せ位置情報を作成し、
前記キー情報作成ステップで、前記文字列数がより小さい文字列の組合せであって、当該文字列の組合せにおける前記タグ付きテキスト数が、予め定められた閾値よりも小さい場合に、その組み合わせをキー文字列と判断してキー情報を作成する
請求項９記載の抽出規則作成方法。
【請求項１１】
抽出規則に適合する文字列の組合せをタグ付きテキストから抽出する文字列抽出ステップと、
前記文字列抽出ステップで抽出した一の文字列の組合せに対して、キー文字列が等しい他の文字列の組合せを結合させる文字列結合ステップとを含む
請求項９または請求項１０に記載の抽出規則作成方法。
【請求項１２】
コンピュータに、
文字列中の任意の位置に付加された情報であって、当該情報が付加された文字列の位置を示す位置情報と、当該位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、当該タグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報と、当該位置情報が示す位置に対応する文字列ごとに定められ、当該文字列が前記各文字列の組合せを識別するキー文字列に該当するか否かを示すキー情報とをもとに、前記文字列の組合せにおけるキー文字列の位置情報と、当該組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報を作成する組合せ位置情報作成処理、
前記タグ付きテキストと前記組合せ位置情報が与えられたときに、当該組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列を当該組合せ位置情報ごとに作成する単語タグ文字列作成処理、
前記単語タグ文字列を選択する基準となる評価値を算出し、当該評価値を用いて前記単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択処理、
前記タグ付きテキストを文節ごとに分割した単語のうち、前記位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、当該文節分割単語における文字列のうち、前記位置情報が示す位置に含まれない文字列である付属文字列を抽出する付属文字列抽出処理、および、
前記単語タグ文字列選択処理で選択した単語タグ文字列と前記付属文字列とをもとに、前記タグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成処理を実行させる
ための抽出規則作成プログラム。
【請求項１３】
コンピュータに、
タグ付きテキストと、当該タグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報が指定されたときに、前記位置情報が示す位置に対応する一つ以上の文字列を組み合わせた文字列群がすべて含まれるタグ付きテキスト数をタグ付きテキスト記憶手段に記憶されたタグ付きテキストの中から算出するテキスト数算出処理、および、
前記テキスト数算出処理で算出したタグ付きテキスト数と前記文字列群に含まれる文字列数とをもとに、前記文字列群がキー文字列か否かを判断して、キー情報を作成するキー情報作成処理を実行させ、
組合せ位置情報作成処理で、前記キー情報作成処理で作成したキー情報と位置情報及びタグ付きテキストをもとに組合せ位置情報を作成させ、
前記キー情報作成処理で、前記文字列数がより小さい文字列の組合せであって、当該文字列の組合せにおける前記タグ付きテキスト数が、予め定められた閾値よりも小さい場合に、その組み合わせをキー文字列と判断してキー情報を作成させる
請求項１２記載の抽出規則作成プログラム。
【請求項１４】
コンピュータに、
抽出規則に適合する文字列の組合せをタグ付きテキストから抽出する文字列抽出処理、および、
前記文字列抽出処理で抽出した一の文字列の組合せに対して、キー文字列が等しい他の文字列の組合せを結合させる文字列結合処理を実行させる
請求項１２または請求項１３に記載の抽出規則作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書から情報を抽出するための抽出規則を作成する抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラムに関する。
【背景技術】
【０００２】
ある文書の中から情報を抽出する場合、指定した位置の情報と同等の概念をもつ他の情報も抽出したいと考える場合がある。抽出したい情報のパターンが分かれば、そのパターンに該当する他の情報も併せて抽出することができるため、より多くの情報を抽出することが可能になる。
【０００３】
以下の説明では、少なくとも、文字列の集合である本文と、文字列中の任意の位置に付加されたタグの集合を含む文書（以下、タグ付きテキストと記す。）から、より多くの情報を抽出するための抽出規則を作成する場合について説明する。ここで、タグとは、単語の属性を表す文字列（以下、タグ名と記す。）と、タグを付加する文字列の本文中の位置（開始位置及び終了位置）を含む情報である。
【０００４】
例えば、ユーザが、あるタグ付きテキストの中から複数の位置を指定したときに、そのタグ付きテキストと指定した位置を示す情報とをもとに、より多くの情報を抽出するための抽出規則を作成する方法として、以下のような方法が考えられる。すなわち、このような抽出規則を作成する方法の一つとして、指定した位置の文字列をすべて含む文章を取り出し、タグが付加された文字列をその付加されたタグに置き換える方法が考えられる。このように、指定した位置の文字列を、その文字列の属性を表わすタグに置き換えた抽出規則（以下、タグ置換抽出規則と記す。）を作成することにより、指定した位置の情報だけでなく、置き換えた属性に適合する情報も抽出することができる。
【０００５】
特許文献１には、多数の技術文書から多種類のファクトデータを自動的に抽出し、データベースを構築するファクトデータの抽出装置が記載されている。特許文献１に記載された抽出装置は、抽出パターンマッチテンプレート作成処理部（以下、作成処理部と記す。）が、ファクトデータ（抽出情報）を抽出するためのテンプレートを作成する。まず、作成処理部は、テンプレートに変換する文を単語（抽出情報）に切り分ける。そして、作成処理部は、切り分けた文中の単語（抽出情報）を抽出項目（タグの内容を表すラベル）に置換して、テンプレートを作成する。なお、文を単語に切り分ける手法（構文解析手法）については非特許文献１等に記載されている。
【０００６】
特許文献２には、関連性のある単語をキーワードとして追加して検索精度を向上させるとともに、出現頻度が高い一般的なキーワードを抑制して検索精度の低下を抑制する文書検索方法が記載されている。特許文献１に記載された文書検索方法は、関連語データベースから入力キーワードに対応する関連キーワードの候補を抽出する。そして、その候補の中から入力キーワードと同じコンテクスト情報を持ち、かつ出現頻度の高い単語を関連キーワードとして選択する。また、入力キーワードの出現頻度が閾値よりも高い場合には、関連キーワードを展開しないことで、キーワードが増え過ぎることによる検索精度の低下を抑制する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３３０９４７号（段落００５２〜００６４）
【特許文献２】特開平１０−１４９３７０号（段落００２４〜００２５，００４５〜００４７）
【非特許文献】
【０００８】
【非特許文献１】工藤拓、松本祐治、「チャンキングの段階適用による日本語係り受け解析」、ＩＰＳＪ  ＳＩＧ  Ｎｏｔｅｓ、情報処理学会、２００１年３月５日、Ｖｏｌ．２００１、Ｎｏ．２０、ｐ．９７−１０４
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のタグ置換抽出規則を使用してタグ付きテキストから情報を抽出しようとする場合、タグに置き換えた位置に対応する文字列と、タグに置き換えた付近の文字列が完全に一致しなければ他の情報を抽出できない。すなわち、同等の概念を有する他の情報を抽出しようとしても、タグに置き換えた位置に対応する文字列と、タグに置き換えた付近の文字列が完全に一致しなければその情報を抽出できないため、抽出の効率が悪いという課題がある。
【００１０】
また、特許文献１に記載された抽出装置も、切り分けた文中の単語（抽出情報）を抽出項目（タグの内容を表すラベル）に置換してテンプレートを作成する。そのため、特許文献１に記載されたテンプレートでは、ラベルに置き換えた位置に対応する文字列と、ラベルに置き換えた付近の文字列が完全一致しなければファクトデータを抽出できないため、抽出の効率が悪いという課題がある。
【００１１】
特許文献２に記載された文書検索方法では、入力キーワードに近い言葉も検索できるため、指定した文字列以外の情報も抽出できる。しかし、指定した文字列以外の情報を抽出するためには、抽出したい単語を含む類義語辞書や関連語辞書、シソーラス辞書などを予め関連語データベースに準備しなくてはならないという課題がある。
【００１２】
そこで、本発明は、指定された位置に対応する情報と同等の概念を有する情報を効率よく抽出可能な抽出規則を作成できる抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による抽出規則作成システムは、文字列中の任意の位置に付加された情報であって、その情報が付加された文字列の位置を示す位置情報と、その位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、そのタグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報と、その位置情報が示す位置に対応する文字列ごとに定められ、その文字列が各文字列の組合せを識別するキー文字列に該当するか否かを示すキー情報とをもとに、文字列の組合せにおけるキー文字列の位置情報と、その組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報を作成する組合せ位置情報作成手段と、タグ付きテキストと組合せ位置情報が与えられたときに、その組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列をその組合せ位置情報ごとに作成する単語タグ文字列作成手段と、単語タグ文字列を選択する基準となる評価値を算出し、その評価値を用いて単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択手段と、タグ付きテキストを文節ごとに分割した単語のうち、位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、その文節分割単語における文字列のうち、位置情報が示す位置に含まれない文字列である付属文字列を抽出する付属文字列抽出手段と、単語タグ文字列選択手段が選択した単語タグ文字列と付属文字列とをもとに、タグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成手段とを備えたことを特徴とする。
【００１４】
本発明による抽出規則作成方法は、文字列中の任意の位置に付加された情報であって、その情報が付加された文字列の位置を示す位置情報と、その位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、そのタグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報と、その位置情報が示す位置に対応する文字列ごとに定められ、その文字列が各文字列の組合せを識別するキー文字列に該当するか否かを示すキー情報とをもとに、文字列の組合せにおけるキー文字列の位置情報と、その組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報を作成する組合せ位置情報作成ステップと、タグ付きテキストと組合せ位置情報が与えられたときに、その組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列をその組合せ位置情報ごとに作成する単語タグ文字列作成ステップと、単語タグ文字列を選択する基準となる評価値を算出し、その評価値を用いて単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択ステップと、タグ付きテキストを文節ごとに分割した単語のうち、位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、その文節分割単語における文字列のうち、位置情報が示す位置に含まれない文字列である付属文字列を抽出する付属文字列抽出ステップと、単語タグ文字列選択ステップで選択した単語タグ文字列と付属文字列とをもとに、タグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成ステップとを含むことを特徴とする。
【００１５】
本発明による抽出規則作成プログラムは、コンピュータに、文字列中の任意の位置に付加された情報であって、その情報が付加された文字列の位置を示す位置情報と、その位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、そのタグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報と、その位置情報が示す位置に対応する文字列ごとに定められ、その文字列が各文字列の組合せを識別するキー文字列に該当するか否かを示すキー情報とをもとに、文字列の組合せにおけるキー文字列の位置情報と、その組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報を作成する組合せ位置情報作成処理、タグ付きテキストと組合せ位置情報が与えられたときに、その組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列をその組合せ位置情報ごとに作成する単語タグ文字列作成処理、単語タグ文字列を選択する基準となる評価値を算出し、その評価値を用いて単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択処理、タグ付きテキストを文節ごとに分割した単語のうち、位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、その文節分割単語における文字列のうち、位置情報が示す位置に含まれない文字列である付属文字列を抽出する付属文字列抽出処理、および、単語タグ文字列選択処理で選択した単語タグ文字列と付属文字列とをもとに、タグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成処理を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、指定された位置に対応する情報と同等の概念を有する情報を効率よく抽出可能な抽出規則を作成できる。
【図面の簡単な説明】
【００１７】
【図１】タグ付きテキストの例を示す説明図である。
【図２】指定抽出位置の例を示す説明図である。
【図３】抽出規則を表現した構文の例を示す説明図である。
【図４】本発明による抽出規則作成システムの一実施形態を示すブロック図である。
【図５】タグ付きテキストを記憶する形式の例を示す説明図である。
【図６】キー付き指定抽出位置リストの例を示す説明図である
【図７】指定抽出位置リストの例を示す説明図である。
【図８】本発明における抽出規則作成処理の例を示すフローチャートである。
【図９】キー指定抽出位置を特定する処理の例を示すフローチャートである。
【図１０】キー付き指定抽出位置リストを複数の指定抽出位置リストに分割する処理の例を示すフローチャートである。
【図１１】抽出規則を作成する処理の例を示すフローチャートである。
【図１２】指定抽出位置の情報をもとに、適切なパターンを特定する処理の例を示すフローチャートである。
【図１３】パターンを選び出す方法の例を示す状態遷移図である。
【図１４】文字列の組合せのパターンを列挙する処理の例を示すフローチャートである。
【図１５】指定抽出位置付近の文字列を取り出す処理の例を示すフローチャートである。
【図１６】抽出規則を作成するための情報の一覧を示す説明図である。
【図１７】抽出規則を作成する処理の例を示す説明図である。
【図１８】分割レコードリストの例を示す説明図である。
【図１９】複数の分割レコードリストを統合し、一つのレコードのリストを作成する処理の例を示すフローチャートである。
【図２０】分割レコードリストを統合したレコードの例を示す説明図である。
【図２１】本発明の最小構成を示す説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の説明で使用する用語について定義する。タグ付きテキストとは、少なくとも、文字列の集合である本文と、文字列中の任意の位置に付加されたタグの集合を含む文書である。図１は、タグ付きテキストの例を示す説明図である。図１に例示するタグ付きテキストは、「奈良県警は１４日、ａｂｃｄ容疑者（２０）を強盗殺人の容疑で逮捕したと発表。」という本文（ただし、ａｂは姓を表す漢字２文字、ｃｄは名を表す漢字２文字）と、本文中の各文字列に対して付加されたタグの集合を含んでいることを示す。
【００１９】
タグとは、単語の属性を表す文字列（以下、タグ名と記す。）と、タグを付加する文字列の本文中の位置（開始位置及び終了位置）を含む情報である。開始位置及び終了位置は、タグが付加された文字列の本文中の位置を、例えば、文頭を「０」とし、文字間を数えた数で表現する。図１に例示するタグ付きテキストでは、「ａｂｃｄ」に付加されたタグを、タグ名「人名」、開始位置「９」、終了位置「１３」とするタグを用いて表現できる。また、以下の説明では、タグ名をＴとするタグを「Ｔタグ」と記すこともある。
【００２０】
指定抽出位置とは、ユーザ又は外部のプログラム等が後述する抽出規則を作成するために指定するタグ付きテキスト中の文字列の位置であり、開始位置及び終了位置によって表される情報である。図２は、図１に例示するタグ付きテキストに対する指定抽出位置の例を示す説明図である。図２に示す例では、図１に例示するタグ付きテキストの９文字目から１３文字目（「ａｂｃｄ」）（ただし、「ａｂ」は、姓を表す漢字２文字、「ｃｄ」は、名を表す漢字２文字）、１７文字目から１９文字目（「２０」）、２１文字目から２５文字目（「強盗殺人」）の３つの指定抽出位置を示している。この場合、例えば、ユーザが、容疑者名と年齢と逮捕容疑という３つの値を１つの組として抽出したいと考えていると推測できる。
【００２１】
フィールドとは、各指定抽出位置に対応する概念（属性）のことと定義する。フィールドの例として、例えば、「容疑者名」や「年齢」、「逮捕容疑」などが挙げられる。また、フィールドの値とは、フィールドの内容を示す具体的内容である。例えば、フィールドが「容疑者名」であれば、具体的な氏名などを表す。
【００２２】
レコードとは、複数のフィールドの値によって構成される情報である。例えば、図２に例示する３つの指定抽出位置に対応するフィールドが、（「容疑者名」、「年齢」、「逮捕容疑」）の場合、図１に例示するタグ付きテキストにおけるレコードは、（「ａｂｃｄ」、「２０」、「強盗殺人」）になる。
【００２３】
キーフィールドとは、タグ付きテキストの集合から複数のレコードを取り出した場合に、各レコードを識別するためのユニークな値（キー）を持つと想定される一つ以上のフィールドを指す。なお、この用語は関係データベースの分野でも用いられ、その分野ではレコードを一意に識別するための、厳密にユニークな値を持つフィールド、と定義されることがある。本発明の説明では、厳密にユニークな値でなくともユニークな値（キー）を持つことが多いフィールド、として定義する。
【００２４】
例えば、新聞の逮捕情報を集めた記事の集合から、容疑者名、年齢、逮捕容疑という３つのフィールドの情報を取り出す場合、容疑者名がキーフィールドになると考えられる。これは、新聞の逮捕情報を想定した場合、年齢や逮捕容疑を指定しても特定のレコードを選び出すことができないが、容疑者名を指定することで、特定のレコードを選び出すことができるためである。
【００２５】
ただし、容疑者名を指定しても、同姓同名の人物が存在する場合や、同一人物が複数の容疑で逮捕される場合がある。そのため、このようなフィールドは、ＲＤＢ（Relational Database ）の分野で定義されるキーフィールドとは言えない場合がある。しかし、多くの場合、容疑者名でレコードを特定できるため、本発明ではこのようなフィールドもキーフィールドと定義する。なお、以下の説明では、あるフィールドＦがキーフィールドであることを、「Ｆがキーである」と記すこともある。
【００２６】
キー指定抽出位置とは、指定抽出位置のうち、キーフィールドに対応する指定抽出位置である。以下の説明では、ある指定抽出位置Ｓがキー指定抽出位置であることを、「Ｓがキーである」と記すこともある。
【００２７】
事例とは、一つのタグ付きテキストと、そのタグ付きテキストに対して指定する指定抽出位置の組を表す情報であり、ユーザ又は外部のプログラム等により作成される。
【００２８】
抽出規則とは、タグ付きテキストから情報を抽出するための規則である。この抽出規則を適切に作成することにより、ユーザが欲する情報をタグ付きテキストから抽出できるようになる。抽出規則は、少なくとも、文字列、タグ名及びワイルドカードの組み合わせ（テンプレートと記すこともある。）で表現され、そのテンプレート中には、指定抽出位置を示す情報を含む。
【００２９】
図３は、本発明における抽出規則を表現した構文の例を示す説明図である。図３に例示する構文では、抽出規則Ｒが、フレーズＰＨと抽出位置パターンＥＰとからなる列を一つ以上含む文字列で定義されていることを示す。フレーズＰＨとは、一つ以上の条件ＫＥＹからなる文字列である。また、条件ＫＥＹは、文字列そのもの、”［”と”］”で囲まれたタグ名、ワイルドカード（＊）、又は空文字（φ）のいずれかにより表現される。なお、抽出規則を表現した構文のことを、抽出するパターン（もしくは、単にパターン）と記すこともある。
【００３０】
抽出位置パターンＥＰは、指定抽出位置におけるタグ付きテキストの構成要素を組み合わせたパターンである。具体的には、抽出位置パターンＥＰは、一つ以上タグを含み、文字列とタグからなるパターンである。図３に例示する構文では、抽出位置パターンＥＰが、構成要素ＥＰＨの前後を記号「＄」で囲んだ文字列として定義されていることを示す。構成要素ＥＰＨは、タグと条件ＥＫＥＹとからなる列を一つ以上含む文字列、又は、構成要素ＥＰＨ自身に、条件ＥＫＥＹを結合した文字列である。また、条件ＥＫＥＹは、文字列そのもの、又は、”［”と”］”で囲まれたタグ名、又は空文字（φ）のいずれかにより表現される。
【００３１】
抽出規則Ｒの例として、「＄［人名］＄容疑者」という規則が挙げられる。この抽出規則は、人名タグと、「容疑者」という文字列が隣接している部分から、人名タグが付加されている部分の文字列を抽出する、という規則であることを示す。
【００３２】
また、別の例として、「奈良＊＄ａｂ［名詞］＄」（ただし、ａｂは、姓を表す漢字２文字）という規則が挙げられる。この抽出規則は、「奈良」という文字列の後ろに任意の文字列（＊）が存在し、その後ろに「ａｂ」という文字列が存在し、さらにその直後に名詞タグが隣接している文から、「ａｂ」と名詞タグ部分の文字列とを合わせて抽出する、という規則であることを示す。
【００３３】
なお、以下の説明では、抽出対象のタグ付きテキストの集合がある場合に、二つ以上の指定抽出位置を持つ事例からレコードを抽出する規則を作成する問題をレコード抽出規則作成問題と呼ぶことがある。
【００３４】
図４は、本発明による抽出規則作成システムの一実施形態を示すブロック図である。本発明における抽出規則作成システムは、対象文書記憶部１１と、主キー特定部１２と、関係分割部１３と、抽出規則作成部１４と、抽出実行部１５と、レコード統合部１６とを備えている。
【００３５】
対象文書記憶部１１は、抽出対象のタグ付きテキストの集合を記憶する記憶装置である。対象文書記憶部１１は、図１に例示したタグ付きテキストを任意の形式で保持する。タグ付きテキストは、例えば、管理者によって予め対象文書記憶部１１に登録される。図５は、対象文書記憶部１１がタグ付きテキストを記憶する形式の例を示す説明図である。図５に示す例では、対象文書記憶部１１が、本文テーブルとタグテーブルの二つのテーブルに分けて図１に例示したタグ付きテキストを記憶していることを示す。
【００３６】
本文テーブルは、タグ付きテキストを文ごとに記憶するテーブルである。本文テーブルは、タグ付きテキストのユニークな識別子である文書ＩＤと、文のユニークな識別子である文ＩＤとを、本文の文字列と対応付けて記憶する。
【００３７】
また、タグテーブルは、あるタグ付きテキストに付加されたすべてのタグを記憶するテーブルである。タグテーブルは、あるタグのタグ名と、本文の開始位置及び終了位置と、タグが付加された文書の文書ＩＤと、タグが付加された文の文ＩＤとを対応付けて記憶する。
【００３８】
主キー特定部１２は、ユーザもしくは外部のプログラムが指定した指定抽出位置の中から、キー指定抽出位置を特定し、各指定抽出位置に対応するフィールドがキーフィールドか否かを表す情報（以下、キー情報と記す。）を作成する。
【００３９】
主キー特定部１２は、ユーザもしくは外部のプログラムが対象文書記憶部１１に記憶された、あるタグ付きテキスト（以下、指定タグ付きテキストと記すこともある。）に対して指定抽出位置を指定したときに、その指定抽出位置に対応する文字列を取り出す。そして、主キー特定部１２は、取り出した文字列から選択した一つ以上の文字列の組み合わせ（文字列群）がすべて含まれるタグ付きテキスト数（以下、文字列包含テキスト数と記す。）を算出する。なお、文字列包含テキスト数から、指定タグ付きテキストの数を除いてもよい。また、タグ付きテキストにすべて含まれる文字列の数を、包含文字列数と記す。主キー特定部１２は、例えば、包含文字列数がより小さい文字列の組合せであって、その文字列の組合せにおける文字列包含テキスト数が、予め定められた閾値よりも小さい場合に、その組み合わせをキーとして特定する。
【００４０】
主キー特定部１２は、キー指定抽出位置を特定すると、その情報をもとにキー情報を作成する。本実施形態において、キー情報の「１」は抽出指定位置のフィールドがキーであることを表し、キー情報の「０」は抽出指定位置のフィールドがキーでないことを表す。すなわち、以下の説明では、抽出指定位置のフィールドがキーの場合、主キー特定部１２がキー情報に「１」を設定し、指定位置のフィールドがキーでない場合、主キー特定部１２がキー情報に「０」を設定する場合について説明する。また、キー情報と指定抽出位置とを併せた情報を、キー付き指定抽出位置リストと記す。
【００４１】
図６は、キー付き指定抽出位置リストの例を示す説明図である。図６に示す例は、図２に例示した３つの指定抽出位置に対して、それぞれキー情報を追加したことを示す。具体的には、図１に例示したタグ付きテキストに対して図２に例示した指定抽出位置が指定された場合に、主キー特定部１２が、９文字目から１３文字目の「人名」にあたるフィールド（図６の表に例示する１行目）をキーフィールドと特定し、そのフィールドを「１」に設定したキー情報を作成したことを示す。
【００４２】
関係分割部１３は、キー付き指定抽出位置リストを元に、キーとなる指定抽出位置と、キーでない一つの指定抽出位置の組に分割する処理を行う。すなわち、関係分割部１３は、キー付き指定抽出位置リストを元に、キー指定抽出位置の文字列と、キー指定抽出位置でない一つの指定抽出位置の文字列との組み合わせ（以下、指定抽出位置リストと記す。）を作成する。
【００４３】
図７は、関係分割部１３が作成した指定抽出位置リストの例を示す説明図である。図７に示す例では、関係分割部１３が図６に例示するキー付き指定抽出位置リストを、２つの指定抽出位置リストに分解したことを示す。具体的には、図６に例示するキー付き指定抽出位置リストは、「ａｂｃｄ」、「２０」、「強盗殺人」を示す３つの指定抽出位置から成る情報である。関係分割部１３は、これを二つに分割し、図７（Ａ）に例示する「ａｂｃｄ」と「２０」、図７（Ｂ）に例示する「ａｂｃｄ」と「強盗殺人」（Ｂ）という二つの指定抽出位置リストを作成する。
【００４４】
関係分割部１３は、分割した各指定抽出位置リストと、指定タグ付きテキストとを、後述の抽出規則作成部１４に通知する。例えば、図７に例示する指定抽出位置リスト（Ａ），（Ｂ）が作成された場合、関係分割部１３は、指定抽出位置リスト（Ａ）と図１に例示するタグ付きテキスト、及び、指定抽出位置リスト（Ｂ）と図１に例示するタグ付きテキストをそれぞれ抽出規則作成部１４に通知する。
【００４５】
抽出規則作成部１４は、関係分割部１３から受け取った指定抽出位置リストとタグ付きテキストとをもとに、抽出規則を作成する。
【００４６】
抽出規則作成部１４は、指定抽出位置リストと指定タグ付きテキストとを関係分割部１３から受け取ると、指定抽出位置リストに含まれる指定抽出位置ごとに、指定抽出位置の単語又はタグを組み合わせた文字列（以下、単語タグ文字列と記す。）を作成する。
【００４７】
抽出規則作成部１４は、作成した単語タグ文字列と、対象文書記憶部１１に記憶されたタグ付きテキストとをもとに、その単語タグ文字列の評価値を算出し、最も評価値が高い単語タグ文字列を特定する。例えば、抽出規則作成部１４は、単語タグ文字列が１つのタグ付きテキスト内で適合する箇所がより少ないほど評価値を高く算出し、単語タグ文字列がより多くのタグ付きテキスト内で適合するほど評価値を高く算出する。
【００４８】
例えば、対象文書記憶部１１内のタグ付きテキスト内にパターンｐが登場した総数（すなわち、適合するパターンが含まれる数）をｐｆ（ｐ）、対象文書記憶部１１内のタグ付きテキスト内にパターンｐが登場した回数（すなわち、適合するパターンが含まれる文書の種類）をｄｆ（ｐ）とするとき、評価値ｉｐｆｄｆ（ｐ）は次の式１で算出できる。
【００４９】
【数１】
2010262577.tif 000003
【００５０】
なお、評価値の算出方法は、単語タグ文字列が１つのタグ付きテキスト内で適合する箇所がより少ないほど評価値を高く算出し、単語タグ文字列がより多くのタグ付きテキスト内に適合するほど評価値を高く算出するような他の式を用いて算出してもよい。
【００５１】
次に、抽出規則作成部１４は、指定タグ付きリストを文節ごとに分割した単語のうち、指定抽出位置が示す位置の情報を含む単語（以下、文節分割単語と記す。）を抽出する。そして、抽出規則作成部１４は、その文節分割単語における文字列のうち、指定抽出位置が示す位置に含まれない文字列と、その文字列の位置情報を含む情報（以下、付属文字列情報と記す。）を抽出する。抽出規則作成部１４は、特定した単語タグ文字列及び付属文字列をもとに、抽出規則を作成する。
【００５２】
抽出実行部１５は、抽出規則作成部１４によって作成された抽出規則ごとに、対象文書記憶部１１内のタグ付きテキストと比較し、適合する部分を探索する。適合する部分が発見できた場合、抽出実行部１５は、抽出規則に適合する文字列を抽出指定位置ごとに組み合わせたレコードのリスト（以下、文字列抽出リスト、又は、分割レコードリストと記すこともある。）を抽出する。抽出処理は、タグ付きテキストの中から条件に該当する情報を検索する検索システムなどにより実現される。検索システムは、例えば、ＸＭＬ（Extensible Markup Language）文書内から条件に該当する情報を抽出するＸＭＬデータベースを備えた検索システムなどにより実現されるが、検索システムの態様は、上記態様に限定されない。
【００５３】
レコード統合部１６は、抽出実行部１５が抽出した各文字列抽出リストのレコードを、キーフィールドをもとに統合する。レコード統合部１６は、抽出実行部１５によって抽出されたレコード同士を比較し、キーフィールドが等しい複数のレコード同士を一つのレコードにまとめて（結合して）出力する。
【００５４】
主キー特定部１２と、関係分割部１３と、抽出規則作成部１４と、抽出実行部１５と、レコード統合部１６とは、プログラム（抽出規則作成プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、主キー特定部１２、関係分割部１３、抽出規則作成部１４、抽出実行部１５及びレコード統合部１６とを含む装置が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、主キー特定部１２、関係分割部１３、抽出規則作成部１４、抽出実行部１５及びレコード統合部１６として動作してもよい。また、主キー特定部１２と、関係分割部１３と、抽出規則作成部１４と、抽出実行部１５と、レコード統合部１６とは、それぞれが専用のハードウェアで実現されていてもよい。
【００５５】
次に、動作について説明する。図８は、本発明における抽出規則作成処理の例を示すフローチャートである。以下の説明では、ユーザもしくは外部のプログラムが、対象文書記憶部１１内の少なくとも一つのタグ付きテキストＴ１と、そのタグ付きテキストに対する指定抽出位置の集合とを入力することにより処理を開始する場合について説明する。
【００５６】
主キー特定部１２は、入力された各指定抽出位置がキーかどうかを判定する（ステップＳ１０）。主キー特定部１２は、入力されたｎ個の指定抽出位置の中から、ｋ個の指定抽出位置をキーとして選択する。ここでは、主キー特定部１２は、ｋの値がより小さく、取り出したｋ個の語をすべて含むタグ付きテキストの数がより小さいものを選択する。すなわち、主キー特定部１２は、より包含文字列数（ｋ）が小さく、より文字列包含テキスト数（ｋ個の語をすべて含むタグ付きテキストの数）が小さい１つ以上（ｋ個）の文字列に対応する指定抽出位置をキー指定抽出位置として特定する。
【００５７】
ステップＳ１０における処理について、図９を用いて説明する。図９は、キー指定抽出位置を特定する処理の例を示すフローチャートである。ある事例（すなわち、タグ付きテキストＴ１と、そのタグ付きテキストに対して指定するｎ個の指定抽出位置を表す情報）が入力されると、主キー特定部１２は、タグ付きテキストＴ１からｎ個の指定抽出位置にある文字列を取り出す（ステップＳ１１）。例えば、図１及び図２に例示するタグ付きテキスト及び指定抽出位置が入力されると、主キー特定部１２は、「ａｂｃｄ」、「２０」、「強盗殺人」の３つの語を取り出す。
【００５８】
次に、主キー特定部１２は、変数Ｋ＝１とし、ｎ個の語からＫ個の語を取り出した場合のすべての組み合わせを作成し、Ｋ個の語の組合せをすべて含むタグ付きテキストの数（すなわち、文字列包含テキスト数）を算出する（ステップＳ１２）。主キー特定部１２は、例えば、対象文書記憶部１１内のタグ付きテキストを一つずつ読み込み、そのタグ付きテキストにＫ個の語がすべて含まれるか否かを順に調べ、文字列包含テキスト数を数えてもよい。
【００５９】
主キー特定部１２は、文字列包含テキスト数が最小となるＫ語の組を取り出し、その文字列包含テキスト数が、予め定められた閾値θより小さいか否かを判定する（ステップＳ１３）。文字列包含テキスト数が閾値θよりも小さい場合（ステップＳ１３におけるＹＥＳ）、主キー特定部１２は、処理を終了し、そのＫ語の文字列に対応する指定抽出位置をキーとして特定する。そして、キーとして特定した指定抽出位置のキー情報に「１」を設定し、その結果を出力する（ステップＳ１４）。一方、文字列包含テキスト数が閾値θ以上の場合（ステップＳ１３におけるＮＯ）、Ｋに１を加算して、ステップＳ１２以降の処理を繰り返す。キー指定抽出位置が特定されたときの変数Ｋの値が、包含文字列数ｋの値に該当する。
【００６０】
文字列包含テキスト数が閾値θよりも小さい場合に、そのｋ語の文字列に対応する指定抽出位置をキーとして特定する理由について、以下、キーが１つの場合と、複数の場合を例に挙げて詳述する。
【００６１】
キーが１つになる場合の例として、例えば、新聞記事から、「犯罪者名」、「年齢」、「犯罪」の３つの組を取り出す場合を考える。この場合、「犯罪者名」が決まると、（同姓同名者が存在する場合を除き、）レコードが特定されるため、「犯罪者名」がキーになる。この場合、３つの組は、関係分割部１３によって、「犯罪者名」とその「年齢」、「犯罪者名」とその「犯罪」の２つの組に分解でき、抽出規則作成部１４が２つの抽出規則を作成することができる。
【００６２】
一方、キーが複数になる場合の例として、例えば、新聞記事から、「企業名」、「決算年度」、「赤字／黒字」の２つの組を取り出す場合を考える。この場合、企業は毎年決算を行っているので、「企業名」のみではレコードが特定されない。よって、「企業名」と「決算年度」の２つでキーになる。この場合、関係分割部１３は、結果として「企業名」、「決算年度」、「赤字／黒字」の組を作成し、抽出規則作成部１４が１つの抽出規則を作成することになる。
【００６３】
このように、キーが複数設定されると、関係を分解しにくくなってしまう（すなわち、分解効率が下がってしまう）。このため、関係を分解しやすくするため（すなわち、分解効率をあげるため）、主キー特定部１２は、よりｋが小さく、閾値θを下回るｋ語の組を選択する。
【００６４】
主キー特定部１２は、出力したキー情報と指定抽出位置とを併せた情報（キー付き指定抽出位置リスト）を、関係分割部１３に通知する。主キー特定部１２は、例えば、図６に例示するキー付き指定抽出位置リストを、関係分割部１３に通知する。
【００６５】
次に、関係分割部１３は、主キー特定部１２から受け取ったキー付き指定抽出位置リスト（すなわち、指定抽出位置とキー情報のリスト）を複数の指定抽出位置リストに分割する（図８におけるステップＳ２０）。
【００６６】
ステップＳ２０における処理について、図１０を用いて説明する。図１０は、キー付き指定抽出位置リストを複数の指定抽出位置リストに分割する処理の例を示すフローチャートである。関係分割部１３は、受け取った指定抽出位置とキー情報のうち、キー情報が「０」であるすべての指定抽出位置に対して、以下のステップＳ２１〜Ｓ２３の処理を行う。以下の説明では、キー情報が「０」である指定抽出位置をＮＫと記す。
【００６７】
まず、関係分割部１３は、入力された指定抽出位置のリストの中から、キー指定抽出位置をすべて読み込んだリストＬを作成する（ステップＳ２１）。次に、関係分割部１３は、リストＬにＮＫを追加する（ステップＳ２２）。最後に、関係分割部１３は、リストＬを指定抽出位置リストとして出力する（ステップＳ２３）。
【００６８】
関係分割部１３は、ステップＳ２０において作成された複数の指定抽出位置リストと、タグ付きテキストＴ１を抽出規則作成部１４に通知する。
【００６９】
次に、抽出規則作成部１４は、関係分割部１３から受け取った指定抽出位置リストごとに抽出規則を作成する（図８におけるステップＳ３０）。
【００７０】
ステップＳ３０における処理について、図１１を用いて説明する。図１１は、抽出規則を作成する処理の例を示すフローチャートである。抽出規則作成部１４は、指定抽出位置の情報をもとに、タグと文字列の組合せの中から適切なパターンを特定する（ステップＳ６０）。
【００７１】
ステップＳ６０における処理について、図１２及び図１３を用いて詳述する。図１２は、ステップＳ６０における処理の例を示すフローチャートである。抽出規則作成部１４は、指定抽出位置が指定されると、その指定抽出位置におけるタグと文字列の組合せのパターンを列挙する（ステップＳ６１）。図１３は、抽出規則作成部１４がパターンを選び出す方法の例を示す状態遷移図である。図１３に示す例では、事例として、図１に例示するタグ付きテキストと、指定抽出位置「９文字目から１３文字目」とが入力された場合について説明する。抽出規則作成部１４は、図１に例示するタグ付きテキストから、図１３に例示する状態遷移のすべてのパターンを調べ、「ａｂｃｄ」，「ａｂ[名詞]」，「[名詞]ｃｄ」，「[名詞][名詞]」，「[人名]」という５つのパターンを取り出す。このうち、タグを一つ以上含む組合せとして、「ａｂ[名詞]」，「[名詞]ｃｄ」，「[名詞][名詞]」，「[人名]」の４つのパターンを抽出する。
【００７２】
タグを含まないパターンは、特定の文字列（たとえば、「ａｂｃｄ」という文字列）しか収集できず、抽出規則としては効果が小さい。そのため、タグを一つ以上含む組合せを抽出することにより、無駄なパターンを予め省き、以後の計算量を小さくすることができる。
【００７３】
ステップＳ６１における処理（アルゴリズム）について、図１４を用いて説明する。図１４は、ステップＳ６１におけるアルゴリズムの例を示すフローチャートである。図１４に例示するアルゴリズムは、メソッド（generate）を再帰的に呼び出すことによってパターンを作成する。ここで、generateメソッドは、generateメソッドが呼び出された時点で作成されているパターンｎｏｗと、その時点の位置ｐｏｓと、終了位置ｅｎｄという３つの引数を持つ。
【００７４】
初めに、抽出規則作成部１４は、generateメソッドの引数として、ｎｏｗ＝””（空）、ｐｏｓ＝指定抽出位置の開始位置、ｅｎｄ＝指定抽出位置の終了位置、を受け取り、generateメソッドが示す処理を開始する。generateメソッドにおいて、抽出規則作成部１４は、位置ｐｏｓが終了位置ｅｎｄより大きいかどうかを調べる（ステップＳ６１１）。位置ｐｏｓが終了位置ｅｎｄより大きい場合（ステップＳ６１１におけるＹＥＳ）、抽出規則作成部１４は、処理を終了する（ステップＳ６１２）。位置ｐｏｓが終了位置ｅｎｄより大きくなく（ステップＳ６１１におけるＮＯ）、位置ｐｏｓが終了位置ｅｎｄと等しい場合（ステップＳ６１３におけるＹＥＳ）、抽出規則作成部１４は、状態遷移の終了位置に到達したと判定し、その時点のパターンｎｏｗを調べる。パターンｎｏｗにタグが一つでも含まれていれば、抽出規則作成部１４は、パターンｎｏｗの値をパターンとして抽出し、処理を終了する（ステップＳ６１４）。
【００７５】
一方、位置ｐｏｓが終了位置ｅｎｄと等しくない場合（ステップＳ６１３におけるＮＯ）、抽出規則作成部１４は、位置ｐｏｓを開始位置とするタグＴをすべて取り出し、それらのタグＴを現在のパターンに追加する。また、抽出規則作成部１４は、現在の位置ｐｏｓをタグＴの終了位置に更新した情報でgenerateメソッドを呼び出す（ステップＳ６１５）。さらに、抽出規則作成部１４は、現在の位置ｐｏｓの次の文字ｃを取り出す（ステップＳ６１６）。そして、抽出規則作成部１４は、パターンｎｏｗにその文字ｃを追加し、現在の位置ｐｏｓに１を加算した情報でgenerateメソッドを呼び出す（ステップＳ６１７）。
【００７６】
generateメソッドは、上記内容を実行するための処理である。すなわち、generateメソッドは、指定抽出位置を右に移動させながらパターンを作成する処理であると言える。
【００７７】
次に、抽出規則作成部１４は、抽出した複数のパターンごとに評価値を算出し、評価値が最も高いパターンを一つ選択する（図１２におけるステップＳ６２）。抽出規則作成部１４は、例えば、式１を用いて、単語タグ文字列が１つのタグ付きテキスト内で適合する箇所がより少ないほど評価値を高く算出し、より多くのタグ付きテキスト内に適合するほど評価値を高く算出する。
【００７８】
例えば、対象文書記憶部１１内に逮捕情報が含まれている場合、パターン「ａｂ［名詞］」及び「［名詞］ｃｄ」に適合するするタグ付きテキストの数は少なくなると考えられるため、評価値は低くなる。また、「［名詞］［名詞］」と「［人名］」という二つのパターンを比較した場合、「［名詞］［名詞］」は任意の複合名詞に適合するパターンであり、一つのタグ付きテキスト内に何度も登場する。そのため、パターンに適合する箇所は多くなると考えられるため、評価値は低くなる。また、「［人名］」というパターンは、ほぼすべてのタグ付きテキストに登場するものの、各タグ付きテキストに、数回（多くの場合１回から２回）しか登場しないと考えられるため、評価値は高くなる。
【００７９】
次に、抽出規則作成部１４は、指定抽出位置付近の文字列（すなわち、付属文字列情報）を取り出す（図１１におけるステップＳ７０）。以下、ステップＳ７０における処理について、図１５を用いて詳述する。
【００８０】
図１５は、ステップＳ７０における処理の例を示すフローチャートである。抽出規則作成部１４は、まず、タグ付きテキストの本文に対して構文解析を行い、本文を文節に分割する（ステップＳ７１）。例えば、図１に例示するタグ付きテキストの場合、抽出規則作成部１４は、本文を、「奈良県警は」，「１４日、」，「ａｂｃｄ容疑者」，「（２０）を」，「強盗殺人の」，「容疑で」，「逮捕したと」，「発表」という文節に分割できる。次に、抽出規則作成部１４は、指定抽出位置を含む文節（すなわち、文節分割単語）の中から、付属文字列情報を取り出す（ステップＳ７２）。例えば、指定抽出位置リストが図７（Ｂ）に示す例の場合、抽出規則作成部１４は、「ａｂｃｄ容疑者」という文節のうち「容疑者」（開始位置：１３、終了位置１７）を、「強盗殺人の」という文節のうち「の」（開始位置：２５、終了位置：２６）をそれぞれ付属文字列情報として抽出する。
【００８１】
次に、抽出規則作成部１４は、ステップＳ６０において特定したパターンと、ステップＳ７０において取り出した付属文字列情報とを合成して、抽出規則を作成する（図１１におけるステップＳ８０）。まず、抽出規則作成部１４は、ステップＳ６０において特定したパターンに、指定抽出位置の情報であることを示す識別子（以下、抽出位置識別子と記す。）を付与する。
【００８２】
図１６は、ステップＳ６０において特定したパターンと、そのパターンの開始位置及び終了位置、ステップＳ７０において取り出した文字列と、その文字列の開始位置及び終了位置、さらに、ステップＳ６０において特定したパターンに抽出位置識別子を付与した情報の一覧を示す説明図である。図１６に示す例では、例えば、図７（Ｂ）に例示する指定抽出位置のパターンとして選択された［人名］及び［犯罪］に抽出位置識別子「１（抽出対象位置である）」が付与され、それらの付属文字列情報に抽出位置識別子「０（抽出対象位置でない）」が付与されていることを示す。すなわち、図１６に例示する「抽出位置」とは、その位置が指定抽出位置である（１）か否（０）か、すなわち、ステップＳ６０で作成されたパターンである（１）か否（０）かを表す２値の情報であるといえる。
【００８３】
次に、抽出規則作成部１４は、ステップＳ６０において特定したパターンと、ステップＳ７０において取り出した付属文字列情報の中から、開始位置が小さいものから順に読み込み、読み込んだ文字列を結合して抽出規則を作成する。すなわち、抽出規則作成部１４は、ステップＳ６０において特定したパターンに含まれる単語またはタグと、付属文字列を、その単語またはタグ及び付属文字列の開始位置が小さい順に結合して抽出規則を作成する。以下、抽出規則を作成する方法について、図１６及び図１７を用いて詳述する。図１７は、抽出規則を作成する処理の例を示す説明図である。
【００８４】
まず、抽出規則作成部１４は、出力すべき抽出規則Ｒを初期化する（ステップＳ８１）。すなわち、抽出規則作成部１４は、抽出規則Ｒの内容を示す文字列が何も含まない状態にする。次に、抽出規則作成部１４は、次に行が存在するか否かを調べる（ステップＳ８２）。行が存在する場合（ステップＳ８２におけるＹＥＳ）、抽出規則作成部１４は、その行を読み込み（ステップＳ８３）、その行の開始位置と直前に読み込んだ行の終了位置とが等しいか否かを調べる（ステップＳ８４）。直前に読み込んだ行が存在し、且つ、現在の行の開始位置が直前に読み込んだ行の終了位置を一致しない場合（ステップＳ８４におけるＮＯ）、抽出規則作成部１４は、Ｒにワイルドカード記号「＊」を追加する（ステップＳ８５）。
【００８５】
一方、既に読み込んでいる行が存在しない場合、又は、現在の行の開始位置が直前に読み込んだ行の終了位置と一致する場合（ステップＳ８４におけるＹＥＳ）、抽出規則作成部１４は、その行が指定抽出位置か否かを判断する（ステップＳ８６）。例えば、抽出規則作成部１４は、抽出位置識別子が「１」か否かを判断する。読み込んだ行が指定抽出位置の場合（ステップＳ８６におけるＹＥＳ）、抽出規則作成部１４は、抽出位置であることを示す記号「＄」によってパターンを挟み、その文字列をＲに追加する（ステップＳ８７）。
【００８６】
一方、読み込んだ行が指定抽出位置でない場合（ステップＳ８６におけるＮＯ）、抽出規則作成部１４は、読み込んだ文字列をそのままＲに追加する（ステップＳ８７）。ステップＳ８７又はＳ８８における処理が完了すると、抽出規則作成部１４は、ステップＳ８２以降の処理を繰り返す。ステップＳ３２において、次の行が存在しない場合、抽出規則作成部１４は、Ｒを抽出規則として出力して（ステップＳ３９）、処理を完了する。
【００８７】
なお、抽出規則に適合する情報が広く抽出できるように、ステップＳ３９の処理で、付属文字列が抽出規則の最後の文字列に該当する場合、抽出規則作成部１４は、その文字を取り除いてもよい。
【００８８】
以上の処理により、抽出規則作成部１４は、指定抽出位置リストそれぞれに対して抽出規則を作成する。抽出規則作成部１４は、例えば、図７（Ａ）に対して「＄［人名］＄容疑者（＄［数値］＄）」という抽出規則を作成し、図７（Ｂ）に対して「＄［人名］＄容疑者＊＄［犯罪］＄」という抽出規則を作成する。
【００８９】
次に、抽出実行部１５は、抽出規則作成部１４が作成した指定抽出位置リストごとの抽出規則を用いて、抽出処理を実行する（図８におけるステップＳ４０）。抽出実行部１５は、対象文書記憶部１１内のタグ付きテキストの中から、抽出規則ごとに適合する部分を取り出したレコードのリスト（すなわち、文字列抽出リスト、又は、分割レコードリスト）を抽出する。
【００９０】
図１８は、分割レコードリストの例を示す説明図である。図１８（Ａ）は、図７（Ａ）に例示する指定抽出位置リストに対して作成された抽出規則「＄［人名］＄容疑者（＄［数値］＄）」を用いて抽出された分割レコードリストの例を示す。また、図１８（Ｂ）は、図７（Ｂ）に例示する指定抽出位置リストに対して作成された抽出規則「＄［人名］＄容疑者＊＄［犯罪］＄」を用いて抽出された分割レコードリストの例を示す。それぞれの抽出結果（分割レコードリスト）は、指定抽出位置リストの各位置に適合する値と、抽出元のタグ付きテキスト（すなわち、抽出規則に適合する文字列を検索したタグ付きテキスト）の文書番号とを示す。なお、図１８に示す例では、「ａｂ」，「ｅｆ」，「ｈｉ」が、それぞれ姓を表す漢字２文字、「ｃｄ」，「ｊｋ」が、それぞれ名を表す漢字２文字、「ｇ」が、名を表す漢字１文字である。
【００９１】
最後に、レコード統合部１６は、複数の分割レコードリストを統合し、一つのレコードのリストを作成する（図８におけるステップＳ５０）。以下、ステップＳ５０における処理について、図１９を用いて詳述する。
【００９２】
図１９は、ステップＳ５０における処理の例を示すフローチャートである。以下、レコード統合部１６が、ｎ個の分割レコードリストＲ［１］、Ｒ［２］、…、Ｒ［ｎ］をもとに一つのレコードのリストを作成する場合について説明する。レコード統合部１６は、分割レコードリストＲ［１］内の各レコードｒに対し、後述のステップＳ５１〜Ｓ５４の処理を行う。
【００９３】
レコード統合部１６は、まず、一時的な変数であるレコード配列ＲＬにＲ［１］から読み出したレコードｒを登録する（ステップＳ５１）。次に、レコード統合部１６は、レコードｒ内から、キー指定抽出位置の値ｖを取り出す（ステップＳ５２）。レコード統合部１６は、Ｒ［１］以外の各分割レコードリストのキー指定抽出位置の値がステップＳ５２における値ｖと等しいレコードを選択し、選択したレコードをレコード配列ＲＬに追加する（ステップＳ５３）。レコード統合部１６は、レコード配列ＲＬ内のレコードをすべて連結して一つのレコードにし、そのレコードの中から重複する値を削除したレコードを出力する（ステップＳ５４）。
【００９４】
なお、ステップＳ５３において、多義語などの問題により、値ｖに対して複数のレコードが選択される場合がある。このとき、レコード統合部１６は、レコードを選択するための他の方法を用いてもよい。
【００９５】
レコード統合部１６がレコードを選択するための他の方法を、図１８を用いて説明する。レコード統合部１６は、図１８（Ａ）に例示する分割レコードリストの３行目のレコードにおけるキー指定抽出位置の値ｖ「ａｂｃｄ」と等しいレコードを図１８（Ｂ）に例示する分割レコードリストから選択する。このとき、レコード統合部１６は、図１８（Ｂ）に例示する分割レコードリストから、値ｖ「ａｂｃｄ」と等しいレコードとして、３行目の「ａｂｃｄ、窃盗」と、４行目の「ａｂｃｄ、収賄」という二つのレコードを取り出すことができる。
【００９６】
このとき、レコード統合部１６は、それぞれのレコードが含まれるタグ付きテキスト同士の類似度を算出し、類似度の高い方のレコードを選択する。ここで、類似度とは、２つのタグ付きテキストに共通の単語が含まれる程度を示す値であり、例えば、次の式２で算出できる。
【００９７】
【数２】
2010262577.tif 000004
【００９８】
例えば、同じ事件やイベントについての記事であれば、共通の単語が多く登場すると考えられるため、類似度は高くなる。
【００９９】
図１８に例示する分割レコードリストが存在する場合、レコード統合部１６は、分割レコードリスト（Ａ）の３行目「ａｂｃｄ、２２」を取り出した文書４５６と、分割レコードリスト（Ｂ）の３行目の「ａｂｃｄ、窃盗」を取り出した文書５５６の間の類似度を算出する。同様に、レコード統合部１６は、分割レコードリスト（Ａ）の３行目「ａｂｃｄ、２２」を取り出した文書４５６と、分割レコードリスト（Ｂ）の４行目の「ａｂｃｄ、収賄」を取り出した文書９８３の間の類似度を算出する。レコード統合部１６は、これらの類似度に基づいて値ｖに対するレコードを選択する。例えば、レコード統合部１６は、算出した類似度が最も高い組み合わせを値ｖに対するレコードとして選択してもよい。もしくは、レコード統合部１６は、算出した類似度が高い上位ｎ個の組合せを値ｖに対するレコードとして選択してもよい。
【０１００】
上記説明では、ユーザもしくは外部のプログラムが、対象文書記憶部１１内の少なくとも一つのタグ付きテキストＴ１と、そのタグ付きテキストに対する指定抽出位置の集合とを入力することにより処理を開始する場合について説明した。ユーザもしくは外部のプログラムが、タグ付きテキストＴ１及び指定抽出位置の集合に加え、指定抽出位置のキー情報を入力する場合であれば、主キー特定部１２は、キー情報を作成しなくてもよい。
【０１０１】
本発明によれば、関係分割部１３が、タグ付きテキストと、３個以上の指定位置情報と、その抽出位置情報が示す位置に対応するレコードのキー情報とをもとに、指定抽出位置リストを作成する。次に、抽出規則作成部１４が、タグ付きテキストと指定抽出位置リストが与えられたときに、その指定抽出位置リストに含まれる指定抽出位置が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列を指定抽出位置リストごとに作成する。そして、抽出規則作成部１４は、単語タグ文字列を選択する基準となる評価値を算出し、その評価値を用いて単語タグ文字列の中から一の単語タグ文字列を選択する。また、抽出規則作成部１４は、タグ付きテキストを文節ごとに分割した単語のうち、指定位置情報が示す位置の文字列を含む文節分割単語を抽出し、その文節分割単語における文字列のうち、位置情報が示す位置に含まれない文字列である付属文字列を抽出する。そして、抽出規則作成部１４は、選択した単語タグ文字列と付属文字列とをもとに抽出規則を作成する。
【０１０２】
よって、指定された位置に対応する情報と同等の概念を有する情報を効率よく抽出可能な抽出規則を作成できる。すなわち、指定抽出位置が３つ以上あるレコード抽出規則作成問題においても、効率の良い抽出規則を作成することができる。これは、レコード抽出規則作成問題を、より小さい複数の問題に分割することによって、効率の良い抽出規則を作成していると言える。
【０１０３】
例えば、ユーザが入力する教師データが少数であっても、その入力をもとに即座に抽出規則を作成できるため、該当の情報をオンデマンドでユーザに提供することができる。
【０１０４】
また、本発明によれば、主キー特定部１２が、タグ付きテキストと、３個以上の指定位置情報が指定されたときに、対象文書記憶部１１に記憶されたタグ付きテキストの中から、指定位置情報が示す位置に対応する文字列の中から選択されたに文字列の組合せがすべて含まれるタグ付きテキストの数（すなわち、文字列包含テキスト数）を算出する。そして、主キー特定部１２は、文字列包含テキスト数と包含文字列数とをもとに、文字列の組合せがキー文字列か否かを判断して、キー情報を作成してもよい。この場合、関係分割部１３は、主キー特定部１２が生成したキー情報と抽出位置情報（すなわち、キー付き指定抽出位置リスト）及びタグ付きテキストをもとに文字列抽出リストを生成する。また、主キー特定部１２は、文字列数がより小さい文字列の組合せであって、その文字列の組合せにおける文字列包含テキスト数が、予め定められた閾値よりも小さい場合に、その組み合わせをキー文字列として特定する。
【０１０５】
この場合、ユーザもしくは外部のプログラムからキーを受け取る必要がなくなる。そのため、効率の良い抽出規則をより多く作成することができる。
【０１０６】
また、抽出実行部１５が抽出規則に適合するレコードをタグ付きテキストから抽出し、レコード統合部１６が、抽出した一つのレコードに対して、キー文字列が等しい他のレコードを結合させてもよい。この場合、ユーザもしくは外部のプログラムは、該当する情報を効率よく得ることができる。
【０１０７】
例えば、事例として、図１に例示するタグ付きテキストと、図２に例示する指定抽出位置が入力された場合を考える。上述のタグ置換抽出規則によれば、抽出規則を「＄［人名］＄容疑者（＄［数値］＄）を＄［犯罪］＄」と作成することができる。しかし、この規則では、３つのタグとその付近の文字列が完全一致しなければならず、抽出の効率が悪い。例えば、この規則では、「ａｂｃｄ容疑者（３４）を逮捕。ａｂｃｄ容疑者は強盗殺人の容疑で…」のように、人名と年齢、人名と逮捕容疑が複数の文に分かれているような場合や、それぞれの関係が複数の文書に分かれて記述される場合に対応できない。
【０１０８】
一方、本発明によれば、複数の指定抽出位置が与えられたときに、主キー特定部１２及び関係分割部１３が、キーとなる指定抽出位置と、キーでない指定抽出位置との関係に分割する。そして、例えば、図１に例示するタグ付きテキストと、図２に例示する指定抽出位置が入力された場合、抽出規則作成部１４が、人名とその年齢の関係を取り出す抽出規則である「＄［人名］＄容疑者（＄［数値］＄）」を作成する。同様に、抽出規則作成部１４が、人名と逮捕容疑との関係を取り出す抽出規則である「＄［人名］＄容疑者＊を＄[犯罪]＄」を作成する。よって、「ａｂｃｄ容疑者（３４）を逮捕。ａｂｃｄ容疑者は強盗殺人の容疑で…」のように、それぞれの関係が離れたタグ付きテキストが与えられた場合でも、抽出実行部１５が二つの抽出規則を使用することにより情報を抽出できる。そして、レコード統合部１６が、抽出結果として得られたそれぞれの情報を、［人名］をもとに結合するため、これらの情報を一つのレコードとして取り出すことができる。
【実施例】
【０１０９】
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。以下の説明では、対象文書記憶部１１に逮捕情報に関する新聞記事が数千記事登録されており、図１に例示するタグ付きテキストと、図２に例示する指定抽出位置の集合が入力される場合を例に挙げて説明する。
【０１１０】
図１に例示するタグ付きテキスト及び図２に例示する指定抽出位置の集合が入力されると、主キー特定部１２は、各指定抽出位置内の文字列が対象文書記憶部１１内に登場した総数（例えば、包含文字列数）を調べる。ここでは、「ａｂｃｄ」、「２０」、「強盗殺人」のうち、「ａｂｃｄ」が２回、「２０」が２８０回、「強盗殺人」が４５０回登場したとする。対象文書記憶部１１内に逮捕情報に関する新聞記事が含まれていることを加味すると、この仮定は妥当であると考えられる。このとき、主キー特定部１２は、「ａｂｃｄ」という文字列に相当する指定抽出位置である「９文字目から１３文字目」をキー指定抽出位置とし、図６に例示したキー付き指定抽出位置リストを出力する。
【０１１１】
次に、関係分割部１３は、このキー付き指定抽出位置リストを元に、「ａｂｃｄ」と「２０」、「ａｂｃｄ」と「強盗殺人」という関係に分割し、図７に例示する二つの指定抽出位置リスト（Ａ），（Ｂ）を作成する。抽出規則作成部１４は、図７に例示する指定抽出位置リスト（Ａ），（Ｂ）をもとに、「＄［人名］＄容疑者（＄［数値］＄）」という抽出規則と、「＄［人名］＄容疑者＊＄［犯罪］＄」という二つの抽出規則を作成する。
【０１１２】
抽出実行部１５は、作成された抽出規則ごとに、対象文書記憶部１１内のタグ付きテキストと比較し、適合する文字列を組み合わせた図１８に例示する分割レコードリストを抽出する。レコード統合部１６は、図１８に例示する二つの分割レコードリストを統合して、図２０に例示するレコードを作成する。
【０１１３】
他にも、本発明は、テキストマイニングなど、大量のテキストから特定の情報に注目して情報を収集、抽出、分析するアプリケーションなどにも適用可能である。
【０１１４】
次に、本発明の最小構成を説明する。図２１は、本発明の最小構成を示す説明図（ブロック図）である。本発明による抽出規則作成システムは、文字列中の任意の位置に付加された情報であって、その情報が付加された文字列の位置を示す位置情報と、その位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、そのタグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報（例えば、指定抽出位置）と、その位置情報が示す位置に対応する文字列ごとに定められ、その文字列が各文字列の組合せを識別するキー文字列（例えば、キー指定抽出位置の文字列）に該当するか否かを示すキー情報とをもとに、文字列の組合せにおけるキー文字列の位置情報と、その組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報（例えば、指定抽出位置リスト）を作成する組合せ位置情報作成手段８１（例えば、関係分割部１３）と、タグ付きテキストと組合せ位置情報が与えられたときに、その組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列をその組合せ位置情報ごとに作成する単語タグ文字列作成手段８２（例えば、抽出規則作成部１４）と、単語タグ文字列を選択する基準となる評価値を算出し、その評価値を用いて単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択手段８３（例えば、抽出規則作成部１４）と、タグ付きテキストを文節ごとに分割した単語のうち、位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、その文節分割単語における文字列のうち、位置情報が示す位置に含まれない文字列である付属文字列（例えば、付属文字列情報）を抽出する付属文字列抽出手段８４（例えば、抽出規則作成部１４）と、単語タグ文字列選択手段８３が選択した単語タグ文字列と付属文字列とをもとにタグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成手段８５（例えば、抽出規則作成部１４）とを備えている。
【０１１５】
そのような構成により、指定された位置に対応する情報と同等の概念を有する情報を効率よく抽出可能な抽出規則を作成できる。
【０１１６】
また、上記の実施形態には、以下に示す構成の抽出規則作成システムが開示されている。
【０１１７】
（１）文字列中の任意の位置に付加された情報であって、その情報が付加された文字列の位置を示す位置情報と、その位置に対応する単語の属性を示す属性情報とを表す情報であるタグの集合を含む文書であるタグ付きテキストと、そのタグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報（例えば、指定抽出位置）と、その位置情報が示す位置に対応する文字列ごとに定められ、その文字列が各文字列の組合せを識別するキー文字列（例えば、キー指定抽出位置の文字列）に該当するか否かを示すキー情報とをもとに、文字列の組合せにおけるキー文字列の位置情報と、その組合せにおけるキー文字列以外の文字列の位置情報との組合せである組合せ位置情報（例えば、指定抽出位置リスト）を作成する組合せ位置情報作成手段（例えば、関係分割部１３）と、タグ付きテキストと組合せ位置情報が与えられたときに、その組合せ位置情報に含まれる位置情報が示す位置に対応する単語またはタグを組み合わせた単語タグ文字列をその組合せ位置情報ごとに作成する単語タグ文字列作成手段（例えば、抽出規則作成部１４）と、単語タグ文字列を選択する基準となる評価値を算出し、その評価値を用いて単語タグ文字列の中から一の単語タグ文字列を選択する単語タグ文字列選択手段（例えば、抽出規則作成部１４）と、タグ付きテキストを文節ごとに分割した単語のうち、位置情報が示す位置の文字列を含む単語である文節分割単語を抽出し、その文節分割単語における文字列のうち、位置情報が示す位置に含まれない文字列である付属文字列（例えば、付属文字列情報）を抽出する付属文字列抽出手段（例えば、抽出規則作成部１４）と、単語タグ文字列選択手段が選択した単語タグ文字列と付属文字列とをもとにタグ付きテキストから文字列を抽出するための規則である抽出規則を作成する抽出規則作成手段（例えば、抽出規則作成部１４）とを備えた抽出規則作成システム。
【０１１８】
（２）タグ付きテキストと、そのタグ付きテキストに含まれる文字列またはタグの位置を示す３個以上の位置情報（例えば、指定抽出位置）が指定されたときに、位置情報が示す位置に対応する一つ以上の文字列を組み合わせた文字列群がすべて含まれるタグ付きテキスト数をタグ付きテキスト記憶手段（例えば、対象文書記憶部１１）に記憶されたタグ付きテキストの中から算出するテキスト数算出手段（例えば、主キー特定部１２）と、テキスト数算出手段が算出したタグ付きテキスト数と文字列群に含まれる文字列数（例えば、包含文字列数）とをもとに、文字列群がキー文字列か否かを判断して、キー情報を作成するキー情報作成手段とを備え、組合せ位置情報作成手段が、キー情報作成手段が作成したキー情報と位置情報（例えば、キー付き指定抽出位置リスト）及びタグ付きテキストをもとに組合せ位置情報を作成し、キー情報作成手段が、文字列数がより小さい文字列の組合せであって、その文字列の組合せにおけるタグ付きテキスト数が、予め定められた閾値（例えば、閾値θ）よりも小さい場合に、その組み合わせをキー文字列と判断してキー情報を作成する抽出規則作成システム。
【０１１９】
（３）抽出規則に適合する文字列の組合せ（例えば、レコード）をタグ付きテキストから抽出する文字列抽出手段（例えば、抽出実行部１５）と、文字列抽出手段が抽出した一の文字列の組合せに対して、キー文字列が等しい他の文字列の組合せを結合させる文字列結合手段（例えば、レコード統合部１６）とを備えた抽出規則作成システム。
【０１２０】
（４）文字列結合手段が、一の文字列の組合せに結合させる他の文字列の組合せが複数存在する場合に、一の文字列の組合せを含むタグ付きテキストと他の文字列の組合せを含むタグ付きテキストとの類似度を算出し、その類似度に基づいて決定したタグ付きテキストに含まれる他の文字列の組合せを一の文字列の組合せに対して結合させる抽出規則作成システム。
【０１２１】
（５）単語タグ文字列選択手段が、単語タグ文字列が１つのタグ付きテキスト内で適合する箇所がより少ないほど評価値を高く算出し、単語タグ文字列がより多くのタグ付きテキスト内で適合するほど評価値を高く算出する（例えば、式１を用いて算出する）抽出規則作成システム。
【０１２２】
（６）単語タグ文字列作成手段が、作成した単語タグ文字列のうち、タグを一つ以上含む単語タグ文字列を選択する抽出規則作成システム。
【０１２３】
（７）抽出規則作成手段が、単語タグ文字列に含まれる単語またはタグ及び付属文字列を、その単語またはタグ及び付属文字列の開始位置が小さい順に結合して抽出規則を作成する抽出規則作成システム。
【０１２４】
（８）組合せ位置情報作成手段が、キー文字列と、キー文字列以外の文字列とを組み合わせて組合せ位置情報を作成する抽出規則作成システム。
【産業上の利用可能性】
【０１２５】
本発明は、文書から情報を抽出するための抽出規則を作成する抽出規則作成システムに好適に適用される。
【符号の説明】
【０１２６】
１１  対象文書記憶部
１２  主キー特定部
１３  関係分割部
１４  抽出規則作成部
１５  抽出実行部
１６  レコード統合部
【図１】
2010262577.tif 000005
【図２】
2010262577.tif 000006
【図３】
2010262577.tif 000007
【図４】
2010262577.tif 000008
【図５】
2010262577.tif 000009
【図６】
2010262577.tif 000010
【図７】
2010262577.tif 000011
【図８】
2010262577.tif 000012
【図９】
2010262577.tif 000013
【図１０】
2010262577.tif 000014
【図１１】
2010262577.tif 000015
【図１２】
2010262577.tif 000016
【図１３】
2010262577.tif 000017
【図１４】
2010262577.tif 000018
【図１５】
2010262577.tif 000019
【図１６】
2010262577.tif 000020
【図１７】
2010262577.tif 000021
【図１８】
2010262577.tif 000022
【図１９】
2010262577.tif 000023
【図２０】
2010262577.tif 000024
【図２１】
2010262577.tif 000025