(57)【要約】【課題】表記揺れなどが頻出するような抽出対象においてもWrapperを生成することを可能とし、また、どのページから情報を抽出するかを入力せずに抽出することを可能にする。【解決手段】本発明は、サンプルデータ、文書集合、抽出したい情報を定義した属性データを入力し、サンプルデータを学習させ、属性データを付与して抽出すべき語を判定し、抽出すべき語に対して最も特殊なWrapperを生成し、生成されたWrapperの類似度に基づいてクラスタを生成し、生成されたクラスタ内でWrapperを任意の方法で一般化し、記憶手段に格納する。【選択図】図１
2008129943.tif 000002
【特許請求の範囲】
【請求項１】
情報を構造化する装置における構造化文書生成方法であって、
情報入力手段が、サンプルデータ、文書集合、抽出したい情報を定義した属性データを入力する情報入力ステップと、
抽出語判定手段が、前記サンプルデータを学習させ、前記属性データを付与して抽出すべき語を判定する抽出語判定ステップと、
特殊Wrapper生成手段が、前記抽出すべき語と判定された文字列のみを抽出するためのWrapperを生成する特殊Wrapper生成ステップと、
クラスタ生成手段が、前記特殊Wrapper生成ステップで生成された前記Wrapperの類似度に基づいてクラスタを生成するクラスタ生成ステップと、
一般化手段が、前記クラスタ生成ステップで生成されたクラスタ内で前記Wrapperを任意の方法で一般化し、記憶手段に格納する一般化ステップと、
を行うことを特徴とする構造化文書生成方法。
【請求項２】
前記抽出語判定ステップにおいて、前記抽出語判定手段が、
前記サンプルデータの文字列情報を用いて、学習させることにより分類器を生成する文書学習ステップと、
前記分類器を利用して前記抽出すべき語を判定する文書分類ステップと、
を行う請求項１記載の構造化文書生成方法。
【請求項３】
情報を構造化する装置における構造化文書生成装置であって、
サンプルデータ、文書集合、抽出したい情報を定義した属性データを入力する情報入力手段と、
前記サンプルデータを学習させ、前記属性データを付与して抽出すべき語を判定する抽出語判定手段と、
前記抽出すべき語と判定された文字列のみを抽出するためのWrapperを生成する特殊Wrapper生成手段と、
前記特殊Wrapper生成手段で生成された前記Wrapperの類似度に基づいてクラスタを生成するクラスタ生成手段と、
前記クラスタ生成手段で生成されたクラスタ内で前記Wrapperを任意の方法で一般化し、記憶手段に格納する一般化手段と、
を有することを特徴とする構造化文書生成装置。
【請求項４】
前記抽出語判定手段は、
前記サンプルデータの文字列情報を用いて学習させることにより分類器を生成する文書学習手段と、
前記分類器を利用して前記抽出すべき語を判定する文書分類手段と、
を含む請求項３記載の構造化文書生成装置。
【請求項５】
コンピュータを、
請求項３または４記載の構造化文書生成装置として機能させることを特徴とする構造文書生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書生成方法及び装置及びプログラムに係り、特に、Ｗｅｂ上に散在する専門分野の文書を検索するために、文書を自動的に構造化するための構造化文書生成方法及び装置及びプログラムに関する。
【０００２】
専門分野とは、例えば、料理のレシピやパーソナルコンピュータのトラブルシューティング等のような分野を指す。構造化とはその専門分野において抽出したい属性を文字列に付与することを指す。専門分野の検索では、通常の文字列検索だけでなく、例えば、レシピを対象とした検索の場合、料理の材料を検索する際に、その材料の量で絞り込む検索をすることがある。この材料や量の情報を抽出することを構造化と呼ぶ。この構造化にはいくつかの手法が存在するが、ここでは、ＨＴＭＬ(Hyper text markup language)文書やＭＬ(mailing list)文書などの半構造化文書を対象とし、その文書のタグに基づいて抽出する。このタグに基づいて抽出する抽出器のことをWrapperと呼ぶ。本発明はこうしたＷｅｂ上にある専門分野の文書から材料名や量を半自動的に抽出する情報抽出（特に、Wrapperに関する）分野に属する。
【背景技術】
【０００３】
半構造化された文書から構造化された情報を抽出する技術として以下のようなものがある。
【０００４】
まず、情報を抽出する文書集合、その文書集合の中で抽出したい文字列、及びその文字列が属する属性、を入力として、Ｗｅｂページからタグを目印に文字列を抽出し、情報の抽出を行う方法がある（例えば、特許文献１参照）。例えば、"<tr><td>で囲まれた￥で始まる単語は価格である"等である。この手法は、同じようなタグ構造で記述されるＷｅｂページ群には適用できるが、異なる構造で記述されるＷｅｂページ群に適用する場合は、あるページの中のどの文字列が抽出したいかを特定する必要があるため手間がかかる。
【０００５】
この抽出するためのルールを半自動的に生成する従来技術として、シードと呼ばれる文字列群、その文字列群が属する属性情報、及び文書集合を入力とし、入力された文字列が文書集合内で出現するパタンを学習し、そのパタンに当てはまる文字列を抽出することでシードには登録されていない新しい文字列を抽出することができる（例えば、非特許文献１参照）。この手法はシードとしていくつかの文字列を入力する必要があるものの、その文字列が文書集合内のどこに出現しているのかを特定する必要がないため、前述の特許文献１の技術よりも手間がかからないというメリットがある。
【特許文献１】特許第３１６０２６号公報「半構造化文書情報統合検索装置および半構造化文書情報抽出装置、その方法、ならびにそのプログラムを格納する記憶媒体」
【非特許文献１】E. Agichtein and L. Gravano. Snowball:  Extracting relations from large plain-text collections.  Proceedings of ACM DL2000, pages 85-94, 2000
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の非特許文献１の技術では、抽出される文字列が同表記される場合は良いが、異なる表記をする文字列を抽出したい場合は大量のシードを必要としてしまう。例えば、映画のタイトルのように記述形式がある程度限られていて、文書集合内に頻出する場合は、上記の非特許文献１の方法は有効であるが、料理レシピのタイトルのように異表記される文字列や、料理レシピの手順等のように同表記で記述されない情報を抽出することは困難であるという問題がある。
【０００７】
また、文書集合を入力とした際に、どのＷｅｂページから抽出を行うのかを特定できないという課題がある。例えば、レシピサイト全体を入力とした場合、レシピが記述されているページと記述されていないページを同様に扱ってしまうと、Wrapperの一般化に失敗してしまう恐れがある。Wrapperの一般化とは、あるページで生成されたWrapperから様々なページに適用可能なWrapperを生成する過程を指す。
【０００８】
本発明は、上記の点に鑑みなされたもので、表記揺れなどが頻出するような抽出対象においてもWrapperを生成することを可能とし、また、どのページから情報を抽出するかを入力せずに抽出することが可能な構造化文書生成方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
図１は、本発明の原理を説明するための図である。
【００１０】
本発明（請求項１）は、情報を構造化する装置における構造化文書生成方法であって、
情報入力手段が、サンプルデータ、文書集合、抽出したい情報を定義した属性データを入力する情報入力ステップ（ステップ１）と、
抽出語判定手段が、サンプルデータを学習させ、属性データを付与して抽出すべき語を判定する抽出語判定ステップ（ステップ２）と、
特殊Wrapper生成手段が、抽出すべき語と判定された文字列のみを抽出するためのWrapperを生成する特殊Wrapper生成ステップ（ステップ３）と、
クラスタ生成手段が、特殊Wrapper生成ステップ（ステップ３）で生成されたWrapperの類似度に基づいてクラスタを生成するクラスタ生成ステップ（ステップ４）と、
一般化手段が、クラスタ生成ステップ（ステップ４）で生成されたクラスタ内でWrapperを任意の方法で一般化し、記憶手段に格納する一般化ステップ（ステップ５）と、を行う。
【００１１】
また、本発明（請求項２）は、抽出語判定ステップ（ステップ２）において、抽出語判定手段が、
サンプルデータの文字列情報を用いて、学習させることにより分類器を生成する文書学習ステップと、
分類器を利用して抽出すべき語を判定する文書分類ステップと、を行う。
【００１２】
図２は、本発明の原理構成図である。
【００１３】
本発明（請求項３）は、情報を構造化する装置における構造化文書生成装置であって、
サンプルデータ、文書集合、抽出したい情報を定義した属性データを入力する情報入力手段１４０と、
サンプルデータを学習させ、属性データを付与して抽出すべき語を判定する抽出語判定手段１５０と、
前記抽出すべき語と判定された文字列のみを抽出するためのWrapperを生成する特殊Wrapper生成手段１６０と、
特殊Wrapper生成手段１６０で生成されたWrapperの類似度に基づいてクラスタを生成するクラスタ生成手段１７０と、
クラスタ生成手段１７０で生成されたクラスタ内でWrapperを任意の方法で一般化し、記憶手段に格納する一般化手段１８０と、を有する。
【００１４】
また、本発明（請求項４）は、抽出語判定手段１５０において、
サンプルデータの文字列情報を用いて、学習させることにより分類器を生成する文書学習手段と、
分類器を利用して抽出すべき語を判定する文書分類手段と、を含む。
【００１５】
本発明（請求項５）は、コンピュータを、請求項３または４記載の構造化文書生成装置として機能させる構造文書生成プログラムである。
【発明の効果】
【００１６】
上記のように本発明によれば、従来抽出語判定部においてサンプルデータに存在する文字列のみを抽出対象としていたが、文書学習機能を導入することでサンプルデータに類似したデータも抽出対象とすることができるため、表記揺れなどが頻出するような抽出対象においてもWrapperを生成することが可能となる。
【００１７】
また、特殊Wrapperを入力としてクラスタを生成し、そのクラスタ内でのみ、Wrapperの一般化をすることで、それぞれのクラスタに合わせたWrapperを生成するため、どのページから情報を抽出するかを入力せずに抽出することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、図面と共に本発明の実施の形態を説明する。
【００１９】
本発明は、入力されたデータから情報抽出器（Wrapper）を生成する情報抽出器生成フェーズと、生成された情報抽出器を適用する情報抽出器適用フェーズがある。
【００２０】
［情報抽出器生成フェーズ］
まず、情報抽出器生成フェーズについて説明する。
【００２１】
図３は、本発明の一実施の形態における情報構造化装置の構成を示す。
【００２２】
同図に示す情報構造化装置は、サンプルデータ１１０、文書集合１２０、属性データ１３０を入力する情報入力部１４０、入力された文書集合１２０を分割して分類する抽出語判定部１５０、抽出語判定部１５０より判定された文字列を抽出するための最も特殊なWrapper（抽出すべき語と判定された文字列のみを抽出するためのWrapper）を生成する特殊Wrapper生成部１６０、生成されたWrapperから入力された文書をクラスタ化するクラスタ生成部１７０、特殊Wrapperとクラスタから一般化されたWrapperを生成するWrapper生成部１８０及び、Wrapper生成部１８０で生成された一般化されたWrapperを格納するWrapper記憶部１９０から構成される。
【００２３】
情報入力部１４０では、図４に示されるようなサンプルデータ、図５に示されるような文書集合及び図６に示されるような属性データを入力する。
【００２４】
図４のサンプルデータは、属性と実際の値を示す。例えば、"材料：たまねぎ"というレコードは、材料という属性に「たまねぎ」という値を持つデータが存在することを示している。この属性と後述する図６の属性は関連付けられている。
【００２５】
図５の文書集合は、HTML(Hyper Text Markup Language)等で記述された文書を指し、ネットワークを経由してＷｅｂから収集を行う。
【００２６】
図６は抽出したい属性の設定ファイル例である。属性の欄には図５の属性名を記述し、スロットの欄にはその属性がマルチスロットなのか、シングルスロットなのかを記述する。マルチスロットとは図４の「材料」のようにあるページ内に複数の値を採り得る属性を指し、シングルスロットはある文書内に一つしか存在しない属性を指す。値の欄にはその属性がどういう値を採り得るのかが記述されており、学習、テキスト、数値などの値を採り得る。"学習"とは、前述した表記揺れなどが起こりやすい属性に対して、抽出語を判定する際に学習を利用する。"テキスト"とは文字列が抽出される属性を示し、"数値"とは数値情報が抽出される属性であることを示す。
【００２７】
抽出語判定部１５０は、入力された文書集合１２０を分割し、分割された単位毎に分類を行う。分割はＨＴＭＬのタグを目印に文章を分割する。このＨＴＭＬのタグで分割した単位をトークンと呼ぶ。このトークンに対して図６に属性データ１３０を付与するのが抽出語判定部１５０である。付与する属性が学習型属性の場合は抽出すべきトークンであるかを後述する分類器が判別する。
【００２８】
図７に学習型属性のデータを入力とした際の抽出語判定部１５０（学習時）の構成を示す。文書学習部１５１では、サンプルデータ１１０を入力として分類器１５２を作成する。分類器１５２は、例えば入力となったデータ１１０を形態素解析し、ユニークな形態素列をベクトルとしてSupport Vector Machines（以下ＳＶＭと記す）などで分類器１５２を作成する。全文書のユニークな単語列を（ｗ１，ｗ２，ｗ３，…，ｗｎ）とすると、単語ｗ１のみで構成される文書は（１，０，０，…，０）と表現できる。このデータを用いて分類器１５２を作成する。この場合他のサンプルデータには不正解が存在しないので、例えば、"B.Schlkoph, J.C.Platt, J. Shaew-Taylor, A.J.Smola and R.C.Williamson, Estimating the Support of High-Dimensional Distribution, Neural Computation, 13, 2001."に示すOne Class SVMを利用しても良い。
【００２９】
図８に抽出語判定部１５０（適用時）の構成を示す。文書分割部１５３は文書をトークン毎に分割する。文書分類部１５４は、前述した抽出語判定部１５０（学習時）で出力された分類器１５２を利用して文書集合の中から抽出語かどうかを分類し、抽出語判定済みの文書集合を抽出語判定済み文書集合記憶部１５５に出力する。学習属性でない属性に関してはサンプルデータとして入力された文書列がトークンと一致する場合にそのトークンを抽出すべき語として判定する。図９に、図４のサンプルデータを与え、抽出すべき語を属性名のタグに変換した例を示す。サンプルデータに登録されているデータは、＜材料＞や＜量＞などに判別すべき語を変換する。また、「たまねぎ」というデータはサンプルデータに登録されていないため、判別すべき語とされていない。
【００３０】
特殊Wrapper生成部１６０では、抽出語判定部１５０において抽出すべきと判定された文字列に対して最も特殊なWrapperを生成する。図１０に、材料データにおける最も特殊なWrapperの例を示す。最も特殊なWrapperは＜材料＞や＜属性＞が付与されたタグから、左右ｎ個（例では５個）ずつを抜き出してWrapperを作成する。ｎは任意に与えることができる。Ｌは抽出語判定部１５０で抽出すべき語の左のタグで、Ｒは右のタグである。ＩＤはそのタグを抽出したＵＲＬを示す。
【００３１】
クラスタ生成部１７０では、特殊Wrapper生成部１６０で作成されたWrapperを利用してＷｅｂページをクラスタリングする。
【００３２】
図１１は、本発明の一実施の形態におけるクラスタ生成のフローチャートである。
【００３３】
ステップ１０１）  クラスタ生成部１７０は、入力としてＩＤ（ｘ，ｙ，…）とWrapper（Ｗｘ＝｛ｘ１，ｘ２，ｘ３，ｘ４，…，ｘｋ｝，Ｗｙ＝｛ｙ１，ｙ２，ｙ３，ｙ４，…，ｙｋ｝…）のセットが入力される。任意の２つのＩＤ（ｘ，ｙ）間の距離Ｓｘｙは例えば下記のようなユークリッド距離で定義される。
【００３４】
【数１】
2008129943.tif 000003
ここで、Ｗは全ての文書で存在するユニークなWrapperセットであり、ｘｋはそのWrapper wｋの頻度情報を利用してもよい。算出されたＳｘｙが低いほど生成されるWrapperが類似しているので、Ｗｅｂページの構造が類似していると定義する。なお、距離を算出する方法はユークリッド距離でなく、例えば、マンハッタン距離などを利用してもよい。この距離に基づいてクラスタリングを行う。ここでは最長距離法を利用したクラスタリングの例を示す。
【００３５】
ステップ１０２）  前述した距離を全てのＩＤ間で計算する。
【００３６】
ステップ１０３）  ＩＤ間の距離が最も小さいものが指定した閾値よりも低い（近い）場合は、ステップ１０４に移行し、そうでない場合は処理を終了する。
【００３７】
ステップ１０４）  そのＩＤの２点を結合して新ＩＤｚとして登録し、ｘ，ｙを削除する。閾値は事前に設定しておく。
【００３８】
ｚと任意の点ｔとの距離を計算する際は、
【００３９】
【数２】
2008129943.tif 000004
のようにｚのクラスタメンバｘ，ｙの中で最も遠い距離をそのクラスタの任意のＩＤ間の距離とする。これをＩＤ間の類似度が閾値より高くなるまで繰り返す。
【００４０】
Wrapper生成部１８０では、ＩＤ、生成された特殊なWrapper及びクラスタ生成部１７０で生成されたクラスタを入力とし、前述したクラスタ毎にWrapperを一般化する。
【００４１】
図１２は、本発明の一実施の形態におけるWrapperの一般化のフローチャートである。
【００４２】
ステップ２０１）  Wrapper生成部１８０は、前述したクラスタが持つWrapperのセットを入力とする。
【００４３】
ステップ２０２）  入力されたWrapperの出現頻度が低い（例えば、頻度１）ものは削除する。
【００４４】
ステップ２０３）  Wrapperを一般化するか否かを判定し、一般化が可能であれば、ステップ２０４に移行し、そうでなければステップ２０５に移行する。一般化が可能であるか否かの判定は、入力されたWrapperを適用した際に、そのWrapperで抽出できるトークン数が１より大きくなったときにWrapperの一般化ができないと判定する。
【００４５】
ステップ２０４）  一般化が可能であれば、入力となったWrapperを一般化する。一般化は例えば、Wrapperの要素を一つずつ削除することで実現される。図１３にWrapperを一般化するための動作アルゴリズムを示す。以下、ステップ３０１，３０２においてWrapperの一般化について説明する。
【００４６】
ステップ３０１）  図１０で示したＬ，Ｒで記述長が長いWrapperを取得する。「記述長が長い」とは含まれる要素数が大きいことをさす。記述長が同様の場合は共通するWrapperの数が少ない方を一般化する。その数も同様の場合は、Ｒを一般化する。
【００４７】
ステップ３０２）  Ｌが選択された場合はＬの最初の要素を削除し、Ｒが選択された場合はＲの最後の要素を削除する。図１４に図１０のWrapperを一般化する過程例を示す。入力を最上部のWrapperとすると、Ｌの要素数は５でＲの要素数が４なので、Ｌの最初の要素である＜レシピタイトル＞を削除することで一般化される。次のステップではＬとＲの要素数が等しいので、Ｒの要素の末尾を削除して一般化を行う。
【００４８】
上記のステップ３０１，３０２を繰り返すことでWrapperを一般化する。Wrapperの一般化の方法は、"N.Kushmerick; Wrapper induction: efficiency and  expressiveness, Artificial Intelligence, Vol. 118,. 15-68 (2000)"に記載されているHLRT WrapperやOCLR Wrapperの一般化アルゴリズムを利用してもよい。
【００４９】
ステップ２０５）  一般化されたWrapperをWrapper記憶部１９０に保存する。
【００５０】
［情報抽出器適用フェーズ］
次に、情報抽出器適用フェーズでは、上記の情報抽出器生成フェーズにより生成されたWrapperを適用する。
【００５１】
図１６は、本発明の一実施の形態における情報構造化装置（適用時）の構成を示す。
【００５２】
同図において、図３と同一構成部分には同一符号を付し、その説明を省略する。
【００５３】
図１６に示す適用時の情報構造化装置は、情報入力部１３０、抽出語判定部１５０、情報抽出器生成フェーズで作成された一般化されたWrapperを文書集合に適用するWrapper適用部２１０と、Wrapper適用部２１０によって抽出されたデータを格納する抽出データ記憶部２２０から構成される。情報抽出器適用フェーズの抽出語判定部１５０の構成は図８で述べたとおりである。
【００５４】
情報抽出器適用フェーズでは、Wrapper適用部２１０において、抽出部判定部１５０で前述の情報抽出器生成フェーズと同様の抽出語判定を行った後、Wrapper記憶部１９０から一般化されたWrapperを読み込んで文書集合に適用し、最終的な抽出データを得て、抽出データ記憶部２２０に保存する。
【００５５】
情報抽出器生成フェーズにおいてWrapperが一般化されているため情報入力部１４０で入力となったサンプルデータ以外のデータが抽出データとして抽出される。
【００５６】
なお、図３及び、図１６の情報構造化装置の動作をプログラムとして構築し、情報構造化装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００５７】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００５８】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００５９】
本発明は、文書検索における文書を構造化する技術、特に、Wrapperに適用可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の一実施の形態における情報構造化装置の構成図である。
【図４】本発明の一実施の形態におけるサンプルデータの例である。
【図５】本発明の一実施の形態における文書集合の例である。
【図６】本発明の一実施の形態における属性データの例である。
【図７】本発明の一実施の形態における抽出語判定部の構成図（学習時）である。
【図８】本発明の一実施の形態における抽出語判定部の構成図（適用時）である。
【図９】本発明の一実施の形態における変換後の文書データの例である。
【図１０】本発明の一実施の形態における最も特殊なWrapperの例である。
【図１１】本発明の一実施の形態におけるクラスタ生成のフローチャートである。
【図１２】本発明の一実施の形態におけるWrapperの一般化のフローチャートである。
【図１３】本発明の一実施の形態におけるWrapper一般化アルゴリズムである。
【図１４】本発明の一実施の形態におけるWrapper一般化過程の例である。
【図１５】本発明の一実施の形態における一般化されたWrapperの例である。
【図１６】本発明の一実施の形態における情報構造化装置（適用時）の構成図である。
【符号の説明】
【００６１】
１１０  サンプルデータ
１２０  文書集合
１３０  属性データ
１４０  情報入力手段、情報入力部
１５０  抽出語判定手段、抽出語判定部
１５１  文書学習部
１５２  分類器
１５３  文書分割部
１５４  文書分類部
１５５  抽出語判定済み文書集合記憶部
１６０  特殊Wrapper生成手段、特殊Wrapper生成部
１７０  クラスタ生成手段、クラスタ生成部
１８０  一般化手段、Wrapper生成部
１９０  記憶手段、（一般化された）Wrapper記憶部
２１０  Wrapper適用部
２２０  抽出データ記憶部
【図１】
2008129943.tif 000005
【図２】
2008129943.tif 000006
【図３】
2008129943.tif 000007
【図４】
2008129943.tif 000008
【図５】
2008129943.tif 000009
【図６】
2008129943.tif 000010
【図７】
2008129943.tif 000011
【図８】
2008129943.tif 000012
【図９】
2008129943.tif 000013
【図１０】
2008129943.tif 000014
【図１１】
2008129943.tif 000015
【図１２】
2008129943.tif 000016
【図１３】
2008129943.tif 000017
【図１４】
2008129943.tif 000018
【図１５】
2008129943.tif 000019
【図１６】
2008129943.tif 000020