(57)【要約】【課題】目的とする情報が複数一覧される場合に、目的とする情報を含む範囲を適切に定めて目的とする情報を抽出する。【解決手段】情報抽出プログラムは、コンピュータに、要素が階層化された半構造化文書から、所定のパターンに対応する第１の要素を抽出し、抽出した第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定する処理を実行させる。情報抽出プログラムは、コンピュータに、特定した共通して上位となる要素より下位の共通しない要素の範囲の要素を、当該要素の階層構造を示すパスが同じ同士のグループに分類し、各グループの中から所定の属性に該当する第２の要素のグループを抽出する処理を実行させる。情報抽出プログラムは、コンピュータに、各第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、第１の要素と第２の要素とを対応付けて抽出する処理を実行させる。【選択図】図６
2018032273.tif 000002
【特許請求の範囲】
【請求項１】
要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出し、
抽出した第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定し、
特定した共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出し、
複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、前記第１の要素と前記第２の要素とを対応付けて抽出する
処理をコンピュータに実行させることを特徴とする情報抽出プログラム。
【請求項２】
前記特定する処理は、各第１の要素の上位の要素を他の第１の要素の上位の要素と比較して、共通して上位となる要素のうち、最も下位の要素を特定する
ことを特徴とする請求項１に記載の情報抽出プログラム。
【請求項３】
前記第２の要素のグループを抽出する処理は、グループごとに前記所定の属性に該当するかの評価値を算出し、算出した評価値に基づいて前記第２の要素のグループを抽出する
ことを特徴とする請求項１または２に記載の情報抽出プログラム。
【請求項４】
前記第１の要素を抽出する処理は、前記半構造化文書の各要素を、抽出の対象となる属性のデータを正規表現したパターンと比較して、当該パターンに該当する第１の要素を抽出する
ことを特徴とする請求項１〜３の何れか１つに記載の情報抽出プログラム。
【請求項５】
要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出し、
抽出した第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定し、
特定した共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出し、
複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、前記第１の要素と前記第２の要素とを対応付けて抽出する
処理をコンピュータが実行することを特徴とする情報抽出方法。
【請求項６】
要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出する第１の抽出部と、
前記第１の抽出部により抽出された第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定する特定部と、
前記特定部により特定された共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出し、複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、前記第１の要素と前記第２の要素とを対応付けて抽出する第２の抽出部と、
を有することを特徴とする情報抽出装置。
【請求項７】
要素が階層化された半構造化文書の各要素を、当該要素の階層構造を示すパスが同じ同士のグループに分類し、
分類された各グループの中から所定の属性に該当するグループを抽出する
処理をコンピュータに実行させることを特徴とする情報抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報抽出プログラム、情報抽出方法および情報抽出装置に関する。
【背景技術】
【０００２】
インターネットの普及により、様々なＷｅｂ（World  Wide  Web）サイトにより様々な情報が提供されている。ユーザは、様々なＷｅｂサイトから目的とする情報を検索する場合、手間がかかる。Ｗｅｂサイトは、ページ内にユーザの目的とする情報だけではなく、様々な情報が混在する。ＷｅｂサイトのＨＴＭＬ（HyperText  Markup  Language）文書は、記述形式が定められて構造化されているが、非定形のテキストなども含まれる半構造化文書（半構造データともいう）であり、Ｗｅｂサイトによって構造が異なる。また、Ｗｅｂサイトは、更新によりＨＴＭＬ文書の構造が変わる場合もある。このため、Ｗｅｂサイト内では、目的とする情報が記述される部分を事前学習で特定することができない。そこで、Ｗｅｂサイトで提供される様々な情報から、事前学習することなく目的とする情報を抽出する技術が提案されている。かかる技術では、例えば、ＷｅｂサイトのＨＴＭＬ文書から日付を検索し、検索された日付の下位の階層にあるテキストコンテンツを抽出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２３６２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術では、目的とする情報が抽出できない場合がある。ＨＴＭＬ文書の構造は、Ｗｅｂサイトによって様々である。例えば、目的とする情報が、日付の下位の階層にない場合がある。このような場合、日付の下位の階層を抽出対象範囲としても目的とする情報が抽出できない。
【０００５】
一つの側面では、目的とする情報が複数一覧される場合に、目的とする情報を含む範囲を適切に定めて目的とする情報を抽出できる情報抽出プログラム、情報抽出方法および情報抽出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、情報抽出プログラムは、コンピュータに、要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出する処理を実行させる。情報抽出プログラムは、コンピュータに、抽出された第１の要素が複数の場合、各第一要素の上位の要素のうち、共通して上位となる要素を特定する処理を実行させる。情報抽出プログラムは、コンピュータに、共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素を抽出する処理を実行させる。情報抽出プログラムは、コンピュータに、複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、第１の要素と第２の要素とを対応付けて抽出する処理を実行させる。
【発明の効果】
【０００７】
本発明の一の実施態様によれば、目的とする情報が複数一覧される場合に、目的とする情報を含む範囲を適切に定めて目的とする情報を抽出できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、システムの概略的な構成の一例を示す図である。
【図２】図２は、実施例１に係る情報抽出装置の機能的な構成の一例を示す図である。
【図３】図３は、抽出対象情報のデータ構成の一例を示す図である。
【図４】図４は、Ｗｅｂサイトの情報一覧を概略的に示した図である。
【図５Ａ】図５Ａは、ＨＴＭＬ文書の一例を示す図である。
【図５Ｂ】図５Ｂは、ＨＴＭＬ文書の要素の一例を示す図である。
【図６】図６は、ＨＴＭＬ文書の構造をツリー構造で示した一例を示す図である。
【図７】図７は、パス情報のデータ構成の一例を示す図である。
【図８】図８は、抽出対象モデルの一例を示す図である。
【図９】図９は、抽出情報のデータ構成の一例を示す図である。
【図１０】図１０は、分類結果の一例を示す図である。
【図１１】図１１は、イベントのタイトルとイベントの概要の文字数の分布の一例を示す図である。
【図１２】図１２は、イベント情報画面の一例を示す図である。
【図１３】図１３は、Ｗｅｂサイトのイベント一覧ページを模式的に示した図である。
【図１４】図１４は、ＨＴＭＬ文書の構造をツリー構造で示した一例を示す図である。
【図１５】図１５は、ＨＴＭＬ文書の構造をツリー構造で示した一例を示す図である。
【図１６】図１６は、処理の流れを機能的に示した図である。
【図１７】図１７は、クローリング処理の手順の一例を示すフローチャートである。
【図１８】図１８は、抽出処理の手順の一例を示すフローチャートである。
【図１９】図１９は、出力処理の手順の一例を示すフローチャートである。
【図２０】図２０は、実施例２に係る端末装置の概略的な構成を示す図である。
【図２１】図２１は、処理の流れを機能的に示した図である。
【図２２】図２２は、提供される情報の一例を示す図である。
【図２３】図２３は、処理の流れを機能的に示した図である。
【図２４】図２４は、処理の流れを機能的に示した図である。
【図２５】図２５は、情報抽出プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかる情報抽出プログラム、情報抽出方法および情報抽出装置の実施例を図面に基づいて詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせてもよい。
【実施例１】
【００１０】
［システム構成］
最初に、実施例１に係るシステムの一例を説明する。図１は、システムの概略的な構成の一例を示す図である。システム１０は、各種のＷｅｂサイトにより提供される様々な情報から目的とする情報を抽出するシステムである。以下では、Ｗｅｂサイトからイベントに関する情報を抽出する場合を例に説明する。
【００１１】
図１に示すように、システム１０は、情報抽出装置１１と、端末装置１２とを有する。情報抽出装置１１と端末装置１２は、ネットワーク１３を介して通信可能に接続され、各種の情報を交換することが可能とされている。かかるネットワーク１３の一態様としては、有線または無線を問わず、携帯電話などの移動体通信、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。ネットワーク１３は、インターネット（Internet）１４と接続されている。情報抽出装置１１および端末装置１２は、ネットワーク１３を介して、インターネット１４の様々な情報を提供する各種のＷｅｂサイトにアクセス可能とされている。
【００１２】
情報抽出装置１１は、Ｗｅｂサイトにより提供される様々な情報から目的とする情報を抽出する装置である。本実施例では、情報抽出装置１１は、Ｗｅｂサイトからイベントに関する情報を抽出する。情報抽出装置１１は、例えば、サーバコンピュータなどのコンピュータである。なお、本実施例では、情報抽出装置１１を１台のコンピュータとした場合を例として説明するが、複数台のコンピュータによるクラウドとして実装してもよい。
【００１３】
端末装置１２は、情報の提供を希望するユーザが使用する装置である。端末装置１２は、例えば、タブレット端末、スマートフォン、ＰＤＡ（Personal  Digital  Assistant）などの携帯端末装置である。なお、端末装置１２は、例えば、パーソナルコンピュータなどのコンピュータであってもよい。
【００１４】
ユーザは、端末装置１２から情報抽出装置１１に目的とする情報に関して登録を行う。例えば、ユーザは、端末装置１２から情報抽出装置１１に目的とする情報が提供されるＷｅｂサイトを登録する。本実施例では、ユーザは、イベントの情報が提供されるＷｅｂサイトのＵＲＬ（Uniform  Resource  Locator）を登録する。
【００１５】
情報抽出装置１１は、登録された情報に基づき、インターネット１４をクローリングし、Ｗｅｂサイトの各ページからイベントに関する情報を抽出する。本実施例では、情報抽出装置１１は、登録されたＵＲＬのＷｅｂサイトの各ページにアクセスし、イベントに関する情報を抽出する。
【００１６】
［情報抽出装置の構成］
次に、情報抽出装置１１の構成について説明する。図２は、実施例１に係る情報抽出装置の機能的な構成の一例を示す図である。図２に示すように、情報抽出装置１１は、通信Ｉ／Ｆ（interface）部２０と、記憶部２１と、制御部２２とを有する。
【００１７】
通信Ｉ／Ｆ部２０は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部２０としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。通信Ｉ／Ｆ部２０は、ネットワーク１３を介して他の装置と各種の情報を送受信する。
【００１８】
記憶部２１は、各種のデータを記憶する記憶デバイスである。例えば、記憶部２１は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの記憶装置である。なお、記憶部２１は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。
【００１９】
記憶部２１は、制御部２２で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。例えば、記憶部２１は、後述するクローリング処理、抽出処理、出力処理などの各種の処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部２１は、制御部２２で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部２１は、抽出対象情報３０と、ページ情報３１と、パス情報３２と、抽出対象モデル３３と、抽出情報３４とを記憶する。
【００２０】
抽出対象情報３０は、抽出対象に関する情報を記憶したデータである。例えば、抽出対象情報３０には、抽出対象とする情報や、抽出対象とする情報が提供されるＷｅｂサイトの情報が記憶される。本実施例では、抽出対象情報３０には、イベントの情報が提供されるＷｅｂサイトのＵＲＬが記憶される。
【００２１】
図３は、抽出対象情報のデータ構成の一例を示す図である。図３に示すように、抽出対象情報３０は、「Ｉｎｄｅｘ」、「ユーザ」、「ＵＲＬ」の各項目を有する。Ｉｎｄｅｘの項目は、抽出対象に関する情報を識別する識別番号を記憶する領域である。抽出対象に関する情報には、一意の識別番号が順に付与される。Ｉｎｄｅｘの項目には、付与された識別番号が記憶される。ユーザの項目は、抽出対象に関する情報を登録したユーザの識別情報を記憶する領域である。ＵＲＬの項目は、登録されたＷｅｂサイトのＵＲＬを記憶する領域である。図３の例では、Ｉｎｄｅｘ「１」として、ユーザ「Ａ」により登録されたＵＲＬ「http://XXXXX.co.jp/XXXX」が記憶されている。
【００２２】
図２に戻り、ページ情報３１は、Ｗｅｂサイトの情報を複製・保存した情報を記憶したデータである。例えば、ページ情報３１には、Ｗｅｂサイトを構成する各ページのＨＴＭＬ文書が記憶される。
【００２３】
ここで、Ｗｅｂサイトでは、同じ種別の複数の情報を掲示した情報一覧を提供している場合がある。例えば、観光施設のＷｅｂサイトでは、実施予定のイベント一覧を提供している場合がある。一般的に、Ｗｅｂサイトの情報一覧は、１つの情報に関する各属性値が近くにまとめて記述される。また、Ｗｅｂサイトの情報一覧は、各情報が連続して記述される。
【００２４】
図４は、Ｗｅｂサイトの情報一覧を概略的に示した図である。図４の例は、情報一覧として、複数のイベントに関する情報を掲示したイベント一覧を概略的に示している。一般的に、イベント一覧では、各イベントの情報が連続して掲示される。図４の例では、イベント１〜イベント３が連続して掲示されている。また、一般的に、イベント一覧では、イベントによって一部に情報が未設定の属性がある場合があるものの、イベントごとに、イベントに関する各属性の情報が同様の順番で掲示される。図４の例では、イベントごとに、イベントに関する各属性として、イベントのタイトル、イベントの開催期間、イベントの場所が同様の順番で掲示される。以下では、後述するタグの属性と区別するため、イベントの属性を「イベント属性」とも称する。図４の例では、タイトル、開催期間、場所がイベント属性に該当する。図４の例では、イベント１については、タイトル１、開催期間１、場所１および概要１が順に掲示されている。イベント２については、タイトル２、開催期間２および場所２が順に掲示されている。イベント３については、タイトル３、開催期間３、場所３および概要３が順に掲示されている。イベント一覧は、このようにイベントごとに類似した構成が繰り返される。
【００２５】
図５Ａは、ＨＴＭＬ文書の一例を示す図である。図５Ａの例は、ＨＴＭＬ文書のイベント一覧部分の一例を示している。ＨＴＭＬ文書は、半構造化文書である。半構造化文書は、記述形式が規約等により定められて要素が構造化されているが、非定形のテキストなども含まれる。半構造化文書としては、ＨＴＭＬ文書以外に、例えば、ＸＭＬ（Extensible  Markup  Language）文書、ＳＧＭＬ（Standard  Generalized  Markup  Language）文書などが挙げられる。
【００２６】
図５Ｂは、ＨＴＭＬ文書の要素の一例を示す図である。要素は、ＨＴＭＬ文書を構成する。要素は、開始タグと、終了タグとにより、要素の境界が明示的に示されており、開始タグと終了タグの間の部分が要素内容となる。開始タグは、“<”と“>”で囲まれて要素名が記述される。終了タグは、“</”と“>”で囲まれて要素名が記述される。また、要素は、属性として付加的な情報を付け加えることができる。要素に属性を付加する場合、開始タグには、付加する属性の属性名と属性値が記述される。以下では、イベント属性と区別するため、開始タグに記述される属性を「タグ属性」とも称する。
【００２７】
図５Ａには、イベントに関する情報が記載された２つのイベント情報範囲Ａ、Ｂが示されている。イベント情報範囲Ａには、イベントのページへのリンクと、タイトルと、イベントのイメージ画像と、開催期間と、イベントの説明とが含まれている。イベント情報範囲Ｂには、イベントのページへのリンクと、タイトルと、新しく掲載されたイベントであることを示すＮＥＷ表示と、イベントのイメージ画像、開催期間と、イベントの説明とが含まれている。タイトルや内容説明の「Ｘ」は、任意の文字または数値を表す。イベント一覧は、イベントごとに各イベント属性の情報が同様の順番で掲示される。このため、ＨＴＭＬ文書のイベント一覧部分は、イベントごとに類似した構造で記述されており、同じイベント属性の要素が同じ構造で記述される。例えば、図５Ａの例は、タイトルや開催期間、イベントの説明など同じ構造で記述されている。
【００２８】
図６は、ＨＴＭＬ文書の構造をツリー構造で示した一例を示す図である。図６の例は、ＨＴＭＬ文書のイベント一覧部分の構造をツリー構造で示している。図６の例は、例えば、ＨＴＭＬ文書を先頭から順に読み出し、開始タグと終了タグの間に出現する要素を、当該開始タグと終了タグの要素に従属する下位の要素として、ＨＴＭＬ文書の構造をツリー構造で示している。図６の例には、イベント１〜４について、タイトルと開催日に関する要素の構造を示しており、各要素に対応してタグを記載している。ＨＴＭＬ文書のイベント一覧部分は、同じイベント属性の要素が同じ構造で記述されるため、ツリー構造も同様となる。
【００２９】
図２に戻り、パス情報３２は、ＨＴＭＬ文書に含まれる各要素の階層構造に関する情報を記憶したデータである。例えば、パス情報３２には、ＨＴＭＬ文書に含まれる要素ごとに、階層構造を示すパスが記憶される。
【００３０】
図７は、パス情報のデータ構成の一例を示す図である。図７に示すように、パス情報３２は、「要素Ｉｎｄｅｘ」、「タグパス」、「要素内容」の各項目を有する。要素Ｉｎｄｅｘの項目は、ＨＴＭＬ文書に出現した要素を識別する識別番号を記憶する領域である。例えば、ＨＴＭＬ文書に含まれる要素には、ＨＴＭＬ文書の先頭から出現した順に一意の番号が付与される。要素Ｉｎｄｅｘの項目には、付与された番号が記憶される。タグパスの項目は、要素の階層構造を示すパスを記憶する領域である。例えば、タグパスの項目には、要素に対して階層構造が上位の各要素のタグが、上位側から順に並べて記憶される。以下では、各要素のタグを並べて要素の階層構造を示したパスを「タグパス」とも称する。タグパスは、必ずしも最上位の要素から求めなくてもよく、基準となる要素から求めてもよい。例えば、ＨＴＭＬ文書では、＜ｂｏｄｙ＞など中間部分の階層に位置する要素を基準としてタグパスを求めてもよい。要素内容の項目は、要素の要素内容を記憶する領域である。図７の例は、図５Ａのイベント情報範囲Ａ、Ｂを含んだＨＴＭＬ文書についてのパス情報３２を示している。図７の例では、要素Ｉｎｄｅｘ「１１」には、タグパス「＜ｈｔｍｌ＞＜ｂｏｄｙ＞・・・＜ｄｌ＞＜ｄｔ＞＜ａ＞」、要素内容「第ＸＸ回ＸＸコンテスト」が記憶されている。また、要素Ｉｎｄｅｘ「１２」には、タグパス「＜ｈｔｍｌ＞＜ｂｏｄｙ＞・・・＜ｄｌ＞＜ｄｄ＞＜ｄｌ＞＜ｄｄ＞＜ｐ＞」、要素内容「８／１（土）〜８／３１（月）」が記憶されている。また、要素Ｉｎｄｅｘ「１３」には、タグパス「＜ｈｔｍｌ＞＜ｂｏｄｙ＞・・・＜ｄｌ＞＜ｄｄ＞＜ｄｌ＞＜ｄｄ＞」、要素内容「ＸＸＸＸＸＸＸＸＸＸ・・・」が記憶されている。
【００３１】
図２に戻り、抽出対象モデル３３は、抽出対象情報のイベント属性を識別するために用いる各種の情報を記憶したデータである。本実施例では、ＨＴＭＬ文書に含まれる要素からイベントのタイトルを抽出する。このため、抽出対象モデル３３には、イベントのタイトルを識別するために用いるモデルの情報が記憶される。
【００３２】
図８は、抽出対象モデルの一例を示す図である。一般的に、イベントのタイトルには、タイトルの始め部分と終わり部分に特徴的な文字列が出現する場合が多い。例えば、イベントのタイトルには、始め部分に開催回数を示す「第ＸＸ回」などの文字列が出現する場合がある。また、イベントのタイトルには、終わり部分にイベントが展覧会であることを示す「展」などの文字列が出現する場合がある。本実施例では、イベントのタイトルの始め部分と終わり部分で頻繁に出現する文字列を抽出対象モデル３３に記憶する。図８の例では、始端は、始め部分に対して登録された文字列の例を示している。終端は、終わり部分に対して登録された文字列の例を示している。「○○」や「□□」は、文字が不定であることを示し、文字や文字数が任意であることを示すものとする。例えば、始端の「第○○回」は、始まり部分に「第１回」、「第１０回」、「第１００回」などがある場合に該当すると判定される。また、終端の「○○展」は、終わり部分に「Ｘ展」、「ＸＸ展」、「ＸＸＸ展」などがある場合に該当すると判定される。
【００３３】
図２に戻り、抽出情報３４は、抽出された要素に関する情報を記憶したデータである。抽出情報３４には、抽出された要素のうち、関連がある要素の要素内容が対応付けて記憶される。本実施例では、ＨＴＭＬ文書からイベントごとに、各イベント属性の要素内容が抽出される。抽出情報３４には、イベントごとに、各イベント属性の要素内容が対応付けて記憶される。
【００３４】
図９は、抽出情報のデータ構成の一例を示す図である。図９に示すように、抽出情報３４は、「Ｉｎｄｅｘ」、「ユーザ」、「期間」、「タイトル」、「抽出元」の各項目を有する。Ｉｎｄｅｘの項目は、対応付けられた情報を識別する識別番号を記憶する領域である。本実施例では、ＨＴＭＬ文書から抽出されたイベントごとに一意の番号が付与される。Ｉｎｄｅｘの項目には、付与された番号が記憶される。ユーザの項目は、イベントの情報の送信先となるユーザの識別情報を記憶する領域である。期間の項目は、抽出されたイベントの開催期間を記憶する領域である。タイトルの項目は、抽出されたイベントのタイトルを記憶する領域である。抽出元の項目は、イベントが抽出されたＷｅｂサイトのページのＵＲＬを記憶する領域である。図９の例では、Ｉｎｄｅｘ「１」には、ユーザ「Ａ」、期間「８／１（土）〜８／３１（月）」、タイトル「第ＸＸ回ＸＸコンテスト」、抽出元「http://XXXXX.co.jp/XXXX」が対応付けて記憶されている。また、Ｉｎｄｅｘ「２」には、ユーザ「Ａ」、期間「９／１（火）〜９／２３（水）」、タイトル「ＸＸショー」、抽出元「http://XXXXX.co.jp/XXXX」が対応付けて記憶されている。
【００３５】
図２に戻り、制御部２２は、情報抽出装置１１全体を制御するデバイスである。制御部２２としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。
【００３６】
制御部２２は、各種の処理手順を規定したプログラムやデータを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２２は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部２２は、受付部４０と、クローリング部４１と、第１の抽出部４２と、特定部４３と、第２の抽出部４４と、出力部４５とを有する。
【００３７】
受付部４０は、各種の受け付けを行う。例えば、受付部４０は、抽出対象に関する情報を受け付ける。例えば、受付部４０は、端末装置１２からの要求に応じて、ログイン画面を端末装置１２に表示させて、ユーザのログインを受け付ける。受付部４０は、ユーザのログインが成功すると、操作画面など各種の画面を表示させる。例えば、受付部４０は、抽出対象に関する情報を入力する入力画面を表示させ、抽出対象に関する情報の入力を受け付ける。例えば、受付部４０は、抽出対象に関する情報として、入力画面からイベントの情報が提供されるＷｅｂサイトのＵＲＬの指定を受け付ける。受付部４０は、ＷｅｂサイトのＵＲＬを受け付けると、受け付けたＷｅｂサイトのＵＲＬを、ユーザの識別情報と共に、抽出対象情報３０に格納する。
【００３８】
クローリング部４１は、抽出対象情報３０に基づき、インターネット１４のクローリングを行う。クローリングとは、例えば、ロボット型検索エンジンにおいて、プログラムがインターネット上のリンクを辿ってＷｅｂサイトを巡回し、Ｗｅｂページ上の情報を複製・保存することである。例えば、クローリング部４１は、所定のクローリングタイミングとなると、抽出対象情報３０に格納された各ＵＲＬのＷｅｂサイトにアクセスし、Ｗｅｂサイトの各ページのＨＴＭＬ文書をダウンロードする。クローリング部４１は、ダウンロードしたＷｅｂサイトの各ページのＨＴＭＬ文書にＷｅｂサイトを抽出対象に指定したユーザの識別情報を関連付けてページ情報３１に格納する。クローリングタイミングは、例えば、夜間の所定時刻であってもよく、一定期間ごとのタイミングなどであってもよく、ユーザが指定した指定時刻であってもよい。
【００３９】
第１の抽出部４２は、ページ情報３１に記憶されたＨＴＭＬ文書から、所定のパターンに対応する要素内容を抽出する。ここで、Ｗｅｂサイトで提供されるイベント一覧には、イベントごとに、開催日や開催期間などがあり、日付表記が含まれる。日付表記は、表記形式が複数種類あるものの、比較的判別しやすい。そこで、本実施例では、複数の属性値から構成されるイベント情報を抽出するにあたって、まず日付表記の抽出を行う。第１の抽出部４２は、日付を正規表現したパターンと、ＨＴＭＬ文書内の各要素の要素内容とを比較して、当該パターンに該当する日付表記を含む要素を抽出する。例えば、年が４桁、月が１または２桁、日が１または２桁の表記形式の日付の正規表現としては、下記の式（１）が例示できる。また、月が１または２桁、日が１または２桁の表記形式の日付の正規表現としては、下記の式（２）が例示できる。
【００４０】
【数１】
2018032273.tif 000003
【００４１】
ここで、「\d｛  ｝」は、｛｝内の数値の桁数の数字が連続して並ぶことを条件として指定するものである。例えば、「\d｛4｝」は、４桁の数字が連続して並ぶ条件を示す。「\d｛1,2｝」は、１桁または２桁の数字が連続して並ぶことを条件とする。[/\  ]は、続けて出現する文字を条件として指定するものである。例えば、[/\.年]は、「.」または「年」が続けて出現する条件を示す。なお、式（１）、（２）に示す正規表現のパターンは、一例である。なお、第１の抽出部４２は、日付の複数の表記形式をそれぞれ個別に正規表現した複数のパターンを用いて、日付を抽出してもよい。
【００４２】
第１の抽出部４２は、日付を正規表現した所定のパターンごとに、ＨＴＭＬ文書内の各要素の要素内容とパターンマッチングを行って、日付表記を含む要素を抽出する。なお、参加可能なイベントの情報をユーザに提供するため、第１の抽出部４２は、未来の日付を含む要素を抽出してもよい。例えば、第１の抽出部４２は、現在の日付より未来の日付を含む要素を抽出する。現在の日付は、例えば、処理時に情報抽出装置１１や外部装置からシステム日付から取得する。また、第１の抽出部４２は、現在の日付より所定期間以上未来の日付を含む要素を抽出してもよい。これにより、情報抽出装置１１は、ユーザが参加可能なイベントを抽出できる。以下では、第１の抽出部４２により抽出された日付表記を含む要素を「日付要素」とも記載する。これにより、例えば、図６の例では、開催日１〜４に該当する要素が抽出される。
【００４３】
特定部４３は、抽出した日付要素が複数の場合、各日付要素の上位の要素のうち、共通して上位となる要素を特定する。例えば、特定部４３は、抽出した日付要素が複数の場合、各日付要素の上位の要素を他の日付要素の上位の要素と比較して、共通して上位となる要素を特定する。そして、特定部４３は、特定された共通して上位となる要素のうち、最も下位の要素を特定する。すなわち、特定部４３は、階層構造において各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素を特定する。例えば、図６の例では、各日付要素の共通の祖先の要素として、開催日１〜４に対して共通して上位となるタグが＜ｄｉｖ＞の要素が特定される。
【００４４】
ここで、ＨＴＭＬ文書の構造は、Ｗｅｂサイトによって様々である。例えば、目的とする情報が、日付の下位の階層にない場合がある。このような場合、日付要素の下位の階層を抽出対象範囲としても目的とする情報が抽出できない。そこで、日付要素を起点に上位に抽出対象範囲を広げる手法が考えられる。例えば、日付要素の所定数上位の階層まで抽出対象範囲を広げる。しかし、かかる手法では、上位何階層まで抽出対象範囲を広げれば、目的とする情報を抽出できるかを定めることができない。このように、目的とする情報を抽出する際に情報の抽出範囲を限定すると、一部もしくは全ての情報が抽出できない場合がある。一方、目的とする情報を抽出する際に情報の抽出範囲を広げると、抽出したい情報以外のコンテンツを、誤って抽出してしまう懸念がある。
【００４５】
そこで、特定部４３は、階層構造において各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素を特定する。
【００４６】
第２の抽出部４４は、特定部４３により特定された各日付要素の共通の祖先の要素より下位の共通しない要素の範囲から、所定のイベント属性に該当する要素を抽出する。最初に、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位の共通しない要素の範囲の要素の分類を行う。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位の要素を、当該要素の階層構造を示すタグパスが同じ同士のグループに分類する。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位の各要素についてタグパスをそれぞれ求める。第２の抽出部４４は、要素内容とタグパスを対応付けてパス情報３２に格納する。これにより、例えば、図７に示すようなパス情報３２が記憶される。第２の抽出部４４は、パス情報３２に記憶された要素内容を、タグパス別にクラスタリングして、タグパスが同じもの同士のグループに分類する。
【００４７】
図１０は、分類結果の一例を示す図である。図１０は、図７に示したパス情報３２をタグパスが同じもの同士のグループに分類した結果を示している。ここで、ＨＴＭＬ文書のイベント一覧部分は、同じイベント属性の要素が同じ階層構造で記述されるため、同じイベント属性の要素が同じタグパスとなる。このため、タグパスで分類した場合、同じイベント属性の要素は、同じグループに分類される。例えば、図１０の例では、グループ１には、タイトルが分類されている。グループ２には、イベントの説明が分類されている。グループ３には、タイトルでもイベント説明でもない情報の表記（ここでは、ＮＥＷ表示）が分類されている。
【００４８】
第２の抽出部４４は、分類された各グループの中から所定のイベント属性に該当するグループを抽出する。本実施例では、タイトルに該当するグループを抽出する。例えば、第２の抽出部４４は、グループ別に、グループの要素内容がタイトルであるかを評価する。例えば、第２の抽出部４４は、グループ別に、グループの各要素内容が抽出対象モデル３３の始端、終端の条件を満たすかを判定し、条件を満たす場合、所定の値を加算して、グループごとに、タイトルと見なせる度合いを示す評価値を算出する。第２の抽出部４４は、グループごとの評価値に基づいて、タイトルに該当するグループを抽出する。例えば、第２の抽出部４４は、評価値が最も高いグループをタイトルに該当するグループと抽出する。例えば、図１０の例では、グループ１〜３について抽出対象モデル３３を用いて評価値を算出した場合、グループ１の評価値が最も高くなる。よって、グループ１がタイトルに該当するグループとして抽出される。なお、第２の抽出部４４は、所定の閾値を用いて評価を行ってもよい。例えば、第２の抽出部４４は、評価値が最も高いグループの評価値が閾値以上かを判定し、閾値以上の場合、評価値が最も高いグループをタイトルに該当するグループと判定してもよい。これにより、タイトルではない要素内容のグループをタイトルのグループと誤って抽出することを抑制できる。また、第２の抽出部４４は、その他の各種の評価方法により、グループの要素内容がタイトルであるかを評価してもよい。例えば、一般的に、イベントのタイトルは、イベントの概要などの説明文と比較して短い傾向がある。そこで、第２の抽出部４４は、例えば、文字数からグループの要素内容がタイトルであるかを評価してもよい。
【００４９】
図１１は、イベントのタイトルとイベントの概要の文字数の分布の一例を示す図である。図１１の例は、イベント一覧について、イベントのタイトルとイベントの概要の文字数ごとの出現した度合いの分布を示している。図１１に示すように、イベントのタイトルは、２〜６０文字以下に大部分が分布する。一方、イベントの概要は、９０〜９９文字にピークがあり、６０文字以下となることが少ない。そこで、第２の抽出部４４は、例えば、要素内容の文字数が２〜６０の範囲であるかにより、グループの要素内容がタイトルであるかを評価してもよい。なお、文字数の範囲は、一例であり、これに限定されるものではない。また、文字数の範囲は、外部や内部処理により適宜変更可能としてもよい。また、一般的に、イベントのタイトルは、体言止めとなる傾向がある。そこで、第２の抽出部４４は、例えば、形態素解析などの自然言語処理を行って、要素内容の文字列が体言止めであるかにより、グループの要素内容がタイトルであるかを評価してもよい。また、第２の抽出部４４は、要素内容がタイトルと見なさないリジェクトワードを含むかによりタイトルであるかを評価してもよい。また、第２の抽出部４４は、各種の評価方法を組み合わせて評価してもよい。例えば、第２の抽出部４４は、グループの要素内容の文字列の始端が抽出対象モデル３３の何れかの始端の条件を満たす場合、評価値に１を加算する。また、第２の抽出部４４は、グループの要素内容の文字列の終端が抽出対象モデル３３の何れかの終端の条件を満たす場合、評価値に１を加算する。また、第２の抽出部４４は、文字列長が１０文字であり、２文字以上６０文字未満である場合、評価値に１を加算する。また、第２の抽出部４４は、リジェクトワードと一致した場合、評価値から１の減算や、該当した要素内容に対するグループの評価値を０にする。第２の抽出部４４は、このように異なる評価方法を組み合わせて評価値を算出してもよい。また、第２の抽出部４４は、条件を満たす場合に評価値を加算すると、要素内容の数が多いグループの評価値が大きく算出される傾向があるため、評価値をグループ内の各要素内容の評価の平均値として算出してもよい。以下では、要素内容がタイトルに該当するグループの各要素を「タイトル要素」とも記載する。これにより、例えば、図６の例では、タイトル１〜４に該当する要素がタイトル要素として抽出される。
【００５０】
第２の抽出部４４は、イベントごとに、イベントに関連する要素を対応付ける。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位のうち、共通しない最も上位の要素の下位の範囲ごとに、日付要素とタイトル要素とを対応付けて抽出する。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位のうち、共通しない最も上位の要素を特定する。図６の例では、タグ＜ｄｉｖ＞の要素が各日付要素の共通の祖先であるため、タグ＜ｄｉｖ＞の要素の１つ下位のタグ＜ｄｌ＞の各要素が特定される。第２の抽出部４４は、タグ＜ｄｌ＞の各要素の下位の範囲ごとに、日付要素とタイトル要素とを対応付けて抽出する。図６の例では、タグ＜ｄｌ＞の要素の下位の各範囲が破線で示されている。図６の例では、タイトル１のタイトル要素と開催日１の日付要素、タイトル２のタイトル要素と開催日２の日付要素、タイトル３のタイトル要素と開催日３の日付要素、および、タイトル４のタイトル要素と開催日４の日付要素がそれぞれ対応付けて抽出される。
【００５１】
なお、日付要素とタイトル要素とを対応付ける手法は、上記に限定されない。例えば、第２の抽出部４４は、次のような手法により日付要素とタイトル要素とを対応付けしてもよい。例えば、第２の抽出部４４は、最も下位まで階層構造が共通する日付要素とタイトル要素とを対応付けて抽出する。例えば、第２の抽出部４４は、日付要素ごとに、日付要素の上位の要素と、各タイトル要素の上位の要素を比較し、共通して上位となる要素が最も下位まで共通するタイトル要素を特定する。すなわち、第２の抽出部４４は、共通の祖先となる要素が最も下位まで共通する日付要素とタイトル要素の組み合わせを特定する。図６の例では、開催日１の日付要素は、タイトル１のタイトル要素とタグ＜ｄｌ＞の要素まで要素が共通する。また、開催日１の日付要素は、タイトル２〜４のタイトル要素とタグ＜ｄｉｖ＞の要素まで要素が共通する。第２の抽出部４４は、開催日１の日付要素と、タイトル１のタイトル要素とを対応付けて抽出する。同様に、第２の抽出部４４は、開催日２の日付要素と、タイトル２のタイトル要素とを対応付けて抽出する。また、第２の抽出部４４は、開催日３の日付要素と、タイトル２のタイトル要素とを対応付けて抽出する。また、第２の抽出部４４は、開催日４の日付要素と、タイトル４のタイトル要素とを対応付けて抽出する。
【００５２】
第２の抽出部４４は、ＨＴＭＬ文書のＷｅｂサイトを指定したユーザと、ＷｅｂサイトのＨＴＭＬ文書に対応するページのＵＲＬと、対応付けて抽出された日付要素の日付と、タイトル要素のタイトルとを抽出情報３４に格納する。なお、第２の抽出部４４は、各日付要素の共通の祖先の要素以下の範囲に、リンクの要素が含まれる場合、リンクの要素も対応付けて抽出してもよい。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位のうち、共通しない最も上位の要素の下位の範囲ごとに、日付要素とタイトル要素とリンクの要素とを対応付けて抽出し、抽出情報３４に格納してもよい。
【００５３】
出力部４５は、イベントに関する情報を端末装置１２に出力する。例えば、出力部４５は、所定の出力タイミングとなると、抽出情報３４に記憶されたイベントの期間とタイトルと抽出元を送信先のユーザに出力する。例えば、出力部４５は、イベントの期間とタイトルと抽出元を一覧表示したイベント情報画面の画像情報を端末装置１２に送信して、端末装置１２にイベント情報画面を表示させる。出力タイミングは、例えば、ユーザから表示要求を受けたタイミングであってもよく、ユーザが指定した時刻など所定時刻であってもよく、一定期間ごとのタイミングなどであってもよい。
【００５４】
図１２は、イベント情報画面の一例を示す図である。図１２に示すイベント情報画面５０は、抽出されたイベント情報の期間、タイトル、抽出元を表示する表示領域５１が設けられており、イベントごとに、イベントの期間とタイトルと抽出元が表示される。これにより、ユーザは、どのようなイベントがあるかを把握できる。イベント情報画面５０では、抽出元が選択された場合、該当するＵＲＬのページが表示される。これにより、ユーザは、イベント情報が抽出されたページを容易に確認できる。なお、Ｗｅｂサイトは、クローリングによりＨＴＭＬ文書をダウンロードした後にイベント情報が書換えられる恐れがある。このため、イベント情報画面５０には、最新の情報について抽出元での確認を促すコメントが記載されている。
【００５５】
ところで、イベント一覧を提供するＷｅｂサイトでは、イベント一覧以外の部分に、日付を含む場合がある。例えば、Ｗｅｂサイトでは、画面のイベント一覧以外の部分に更新日などの日付を含む場合がある。
【００５６】
図１３は、Ｗｅｂサイトのイベント一覧ページを模式的に示した図である。図１３に示すイベント一覧ページ６０には、日付を含む日付表記１、日付表記２、日付表記３が含まれている。例えば、日付表記１は、お知らせと、お知らせが発生した日付を含んでいる。日付表記２は、イベント一覧であり、各イベントの開催日とタイトルを含んでいる。日付表記３は、ブログを表示する部分であり、ブログの投稿内容と、ブログの更新日付を含んでいる。日付表記１、日付表記２、日付表記３は、日付を含むため、イベント一覧の候補となってしまう。
【００５７】
ユーザが参加可能なイベントは、開催日が未来の日付のイベントである。一方、お知らせが発生した日付やブログの更新日付は、過去の日付である。そこで、第１の抽出部４２は、現在の日付より未来の日付の日付要素を抽出してもよい。例えば、第１の抽出部４２は、処理時にシステム日付を取得し、システム日付よりも未来の日付を含む日付要素を抽出してもよい。
【００５８】
特定部４３は、抽出された各日付要素について、それぞれの日付要素の上位の要素を他の日付要素の上位の要素と比較して、共通して上位となる要素のうち、最も下位の要素を特定する。すなわち、特定部４３は、日付要素ごとに、他の日付要素と共通の祖先となる要素のうち、最も下位の共通の祖先となる要素を特定する。また、特定部４３は、日付要素から特定された最も下位の共通の祖先となる要素の下位に、他の日付要素から特定された最も下位の共通の祖先となる要素がある場合、上位側の要素を除外する。例えば、特定部４３は、最も下位の共通の祖先となる要素Ａの下位に、他の日付要素から特定された最も下位の共通の祖先となる要素Ｂがある場合、要素Ａを最も下位の共通の祖先となる要素から除外する。
【００５９】
図１４は、ＨＴＭＬ文書の構造をツリー構造で示した一例を示す図である。図１４の例は、開催日などの日付表記を含む日付要素を全て抽出した場合を示しており、日付要素を開催日候補１〜６として示している。例えば、開催日候補１は、他の開催日候補と共通の祖先となる要素のうち、最も下位の共通の祖先となる要素がタグＡの要素と特定される。開催日候補２〜４は、他の開催日候補と共通の祖先となる要素のうち、最も下位の共通の祖先となる要素がタグＢの要素と特定される。開催日候補５、６は、他の開催日候補と共通の祖先となる要素のうち、最も下位の共通の祖先となる要素がタグＣの要素と特定される。特定部４３は、タグＡの要素の下位にタグＢの要素があるため、タグＡの要素を最も下位の共通の祖先となる要素から除外する。
【００６０】
第２の抽出部４４は、特定部４３により、最も下位の共通の祖先となる要素が複数特定された場合、特定された要素より下位の範囲ごとに、当該範囲の要素をタグパスが同じ同士のグループに分類する。例えば、第２の抽出部４４は、タグＢの要素の下位の範囲７０と、タグＣの要素の下位の範囲７１をそれぞれ別に、要素をタグパスが同じ同士のグループに分類する。これにより、日付表記２に対応する範囲７０と、日付表記３に対応する範囲７１が別々にタグパス別にクラスタリングされる。
【００６１】
第２の抽出部４４は、グループごとに、タイトルに該当するかの評価値を算出し、算出した評価値に基づいてタイトルに該当する要素のグループを抽出する。例えば、第２の抽出部４４は、評価値が最も高いグループの評価値が閾値以上かを判定し、閾値以上の場合、評価値が最も高いグループをタイトルに該当するグループと判定する。日付表記２には、イベント一覧が含まれるものとする。日付表記２に対応する範囲７０の要素をタグパスが同じ同士のグループに分類した場合、何れかのグループが、タイトル要素のグループとなる。このタイトル要素のグループは、評価値が高く算出される。このため、第２の抽出部４４は、タイトル要素のグループを抽出できる。また、タイトル要素のグループが抽出された範囲は、イベント一覧の範囲と判別できる。
【００６２】
また、イベント一覧では、イベントで開催日が未定の場合など、開催日を日付要素として抽出できない場合がある。図１５は、ＨＴＭＬ文書の構造をツリー構造で示した一例を示す図である。図１５の例は、イベント一覧の日付要素を開催日１〜５として示している。なお、開催日３は、開催日が未定などにより、未抽出であるものとする。この場合でも、特定部４３は、開催日１、２、４、５の最も下位の共通の祖先となる要素がタグＸの要素と特定する。第２の抽出部４４が、タグＸの要素より下位の要素を、当該要素が記述されたタグのタグパスが同じ同士のグループに分類した場合、タイトル１〜５の要素は、同じグループに分類される。グループごとに、タイトルに該当するかの評価値を算出した場合、タイトル要素のグループは、評価値が高く算出される。このため、タイトル１〜５を抽出できる。
【００６３】
第２の抽出部４４は、各日付要素の共通の祖先の要素より下位のうち、共通しない最も上位の要素の下位の範囲ごとに、日付要素とタイトル要素とを対応付けて抽出する。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位のうち、共通しない最も上位の要素を特定する。図１５の例では、タグ＜ｄｉｖ＞の要素が開催日１、２、４、５の共通の祖先であるため、タグ＜ｄｉｖ＞の要素の１つ下位のタグ＜ｄｌ＞の各要素が特定される。第２の抽出部４４は、タグ＜ｄｌ＞の各要素の下位の範囲ごとに、日付要素とタイトル要素とを対応付けて抽出する。図１５の例では、タグ＜ｄｌ＞の要素の下位の範囲が破線で示されている。図１５の例では、タイトル１のタイトル要素と開催日１の日付要素、タイトル２のタイトル要素と開催日２の日付要素、および、タイトル４のタイトル要素と開催日４の日付要素がそれぞれ対応付けて抽出される。一方、第２の抽出部４４は、範囲内の開催日３が未抽出であるため、タイトル３を対応付けずに抽出する。これにより、第２の抽出部４４は、一部の開催日が未抽出の場合でも、開催日とタイトルを正しく対応付けできる。
【００６４】
なお、日付要素とタイトル要素とを対応付ける手法は、上記に限定されない。例えば、第２の抽出部４４は、次のような手法により日付要素とタイトル要素とを対応付けしてもよい。例えば、第２の抽出部４４は、最も下位まで階層構造が共通する日付要素とタイトル要素とを対応付けて抽出する。すなわち、第２の抽出部４４は、共通の祖先となる要素が最も下位まで同じとなる日付要素とタイトル要素を対応付けて抽出する。例えば、開催日２とタイトル２は、タグＹの要素まで要素が共通する。また、開催日４とタイトル４は、タグＺの要素まで要素が共通する。このため、第２の抽出部４４は、開催日２とタイトル２を対応付けて抽出する。また、第２の抽出部４４は、開催日４とタイトル４を対応付けて抽出する。
【００６５】
一方、第２の抽出部４４は、日付要素ごとに、日付要素の上位の要素と、各タイトル要素の上位の要素を比較し、最も下位の共通の祖先となる要素を特定する。そして、第２の抽出部４４は、日付要素についての最も下位の共通の祖先となる要素の下位に、他の日付要素についての最も下位の共通の祖先となる要素がある場合、日付要素をタイトル要素と対応付けずに抽出する。また、第２の抽出部４４は、タイトル要素ごとに、タイトル要素の上位の要素と、各日付要素の上位の要素を比較し、最も下位で共通の祖先となる要素を特定する。そして、第２の抽出部４４は、タイトル要素についての最も下位で共通の祖先となる要素の下位に、他のタイトル要素についての最も下位で共通の祖先となる要素がある場合、タイトル要素を日付要素と対応付けずに抽出する。例えば、タイトル３は、タグＸの要素まで開催日１、２、４、５と要素が共通する。タイトル２は、タグＹの要素まで開催日２と要素が共通する。第２の抽出部４４は、タグＸの要素の下位にタグＹの要素があるため、タイトル３を対応付けずに抽出する。これにより、第２の抽出部４４は、一部の開催日が未抽出の場合でも、開催日とタイトルを正しく対応付けできる。
【００６６】
次に、図１６を用いて、Ｗｅｂサイトからイベントに関する情報を抽出し、イベントに関する情報を出力する処理の流れを説明する。図１６は、処理の流れを機能的に示した図である。
【００６７】
受付部４０は、抽出対象に関する情報を受け付ける。ユーザは、端末装置１２から情報抽出装置１１に抽出対象に関する情報を登録する。受付部４０は、受け付けた抽出対象に関する情報を抽出対象情報３０に格納する（Ｓ１０）。
【００６８】
クローリング部４１は、所定のクローリングタイミングとなると、抽出対象情報３０に格納された各ＵＲＬを読み出し、各ＵＲＬのＷｅｂサイトにアクセスする。クローリング部４１は、Ｗｅｂサイトの各ページのＨＴＭＬ文書をダウンロードし、ＨＴＭＬ文書をページ情報３１に格納する（Ｓ１１）。
【００６９】
第１の抽出部４２は、ページ情報３１に記憶されたＨＴＭＬ文書から、日付を正規表現したパターンに対応する日付要素を抽出する（Ｓ１２）。特定部４３は、抽出された各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素を特定する（Ｓ１３）。
【００７０】
第２の抽出部４４は、各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素より下位の各要素についてタグパスをそれぞれ求め、要素内容とタグパスを対応付けてパス情報３２に格納する（Ｓ１４）。第２の抽出部４４は、パス情報３２に記憶された要素内容を、タグパス別にクラスタリングして、タグパスが同じもの同士のグループに分類する（Ｓ１５）。
【００７１】
第２の抽出部４４は、分類された各グループの中から抽出対象モデル３３を用いてタイトル要素のグループを抽出する（Ｓ１６）。第２の抽出部４４は、各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素以下の範囲に、リンクが含まれる場合、リンクを抽出する（Ｓ１７）。第２の抽出部４４は、イベントごとに、イベントの日付要素と、タイトル要素と、リンクとを対応付けて抽出し、抽出情報３４に格納する（Ｓ１８）。
【００７２】
出力部４５は、所定の出力タイミングとなると、抽出情報３４からイベントの日付とタイトルとリンクを抽出し、イベントの日付とタイトルとリンクを一覧表示した画像情報を端末装置１２に送信して、端末装置１２にイベント情報画面を表示させる（Ｓ１９）。
【００７３】
［処理の流れ］
次に、本実施例に係る情報抽出装置１１が実行する各種の処理の流れについて説明する。最初に、本実施例に係る情報抽出装置１１がインターネット１４をクローリングするクローリング処理の流れを説明する。図１７は、クローリング処理の手順の一例を示すフローチャートである。このクローリング処理は、繰り返し実行される。例えば、クローリング処理は、処理が終了するごとに、繰り返し実行される。
【００７４】
図１７に示すように、クローリング部４１は、所定のクローリングタイミングであるか否かを判定する（Ｓ１００）。クローリングタイミングではない場合（Ｓ１００否定）、再度Ｓ１００へ移行する。
【００７５】
一方、クローリングタイミングである場合（Ｓ１００肯定）、クローリング部４１は、抽出対象情報３０に格納された各ＵＲＬを読み出す（Ｓ１０１）。クローリング部４１は、読み出した各ＵＲＬのうち、未アクセスのＵＲＬのＷｅｂサイトにアクセスする（Ｓ１０２）。クローリング部４１は、アクセス先のＷｅｂサイトの各ページのＨＴＭＬ文書をページ情報３１に格納する（Ｓ１０３）。クローリング部４１は、読み出した全てのＵＲＬへのアクセスが完了したか否かを判定する（Ｓ１０４）。アクセスが完了していない場合（Ｓ１０４否定）、上述のＳ１０１へ移行する。一方、アクセスが完了した場合（Ｓ１０４肯定）、処理を終了する。
【００７６】
次に、本実施例に係る情報抽出装置１１がＨＴＭＬ文書からイベントに関する情報を抽出する抽出処理の流れを説明する。図１８は、抽出処理の手順の一例を示すフローチャートである。この抽出処理は、所定のタイミング、例えば、クローリング処理が完了したタイミングで実行される。
【００７７】
図１８に示すように、第１の抽出部４２は、ページ情報３１に記憶されたＨＴＭＬ文書を順に読み出す（Ｓ１１０）。第１の抽出部４２は、読み出したＨＴＭＬ文書から、日付のパターンに対応する日付要素を抽出する（Ｓ１１１）。特定部４３は、抽出された各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素を特定する（Ｓ１１２）。
【００７８】
第２の抽出部４４は、各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素より下位の各要素についてタグパスをそれぞれ導出し、要素内容とタグパスを対応付けてパス情報３２に格納する（Ｓ１１３）。第２の抽出部４４は、パス情報３２に記憶された要素内容を、タグパス別にクラスタリングして、タグパスが同じもの同士のグループに分類する（Ｓ１１４）。第２の抽出部４４は、グループ別に、グループの要素がタイトルであるかを評価し、タイトルに該当するグループを抽出する（Ｓ１１５）。第２の抽出部４４は、各日付要素に共通して上位、かつ、最も下位となる共通の祖先の要素以下の範囲に、リンクが含まれる場合、リンクを抽出する（Ｓ１１６）。第２の抽出部４４は、イベントごとに、イベントの日付要素と、タイトル要素と、リンクとを対応付けて抽出し、抽出情報３４に格納する（Ｓ１１７）。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位のうち、共通しない最も上位の要素の下位の範囲ごとに、日付要素とタイトル要素とリンクとを対応付けて抽出し、抽出情報３４に格納する。
【００７９】
第１の抽出部４２は、ページ情報３１に記憶された全てのＨＴＭＬ文書に対して処理が完了したか否かを判定する（Ｓ１１８）。処理が完了していない場合（Ｓ１１８否定）、上述のＳ１１０へ移行する。一方、処理が完了した場合（Ｓ１１８肯定）、処理を終了する。ページ情報３１に記憶されたＨＴＭＬ文書は、抽出処理が完了したタイミングで削除してもよい。また、ページ情報３１に抽出処理済みのＨＴＭＬ文書をフラグで記録し、次回の抽出処理を開始するタイミングや、一定期間経過したタイミングなど所定の削除タイミングで、抽出処理済みのＨＴＭＬ文書を削除してもよい。
【００８０】
次に、本実施例に係る情報抽出装置１１がイベント情報を出力する出力処理の流れを説明する。図１９は、出力処理の手順の一例を示すフローチャートである。この出力処理は、繰り返し実行される。例えば、出力処理は、処理が終了するごとに、繰り返し実行される。
【００８１】
図１９に示すように、出力部４５は、所定の出力タイミングであるか否かを判定する（Ｓ１３０）。出力タイミングではない場合（Ｓ１３０否定）、再度Ｓ１３０へ移行する。
【００８２】
一方、出力タイミングである場合（Ｓ１３０肯定）、出力部４５は、イベントの日付とタイトルとリンクを一覧表示したイベント情報画面５０の画像情報を端末装置１２に送信し（Ｓ１３１）、処理を終了する。
【００８３】
［効果］
本実施例に係る情報抽出装置１１は、要素が階層化されたＨＴＭＬ文書から、所定のパターンに対応する１又は複数の第１の要素を抽出する。例えば、情報抽出装置１１は、ＨＴＭＬ文書から日付表記のパターンに対応する日付要素を抽出する。これにより、情報抽出装置１１は、ＨＴＭＬ文書にイベント一覧が含まれる場合、各イベントの開催日を抽出できる。情報抽出装置１１は、抽出した第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定する。例えば、情報抽出装置１１は、日付要素の上位の要素のうち、共通して上位となる要素を特定する。例えば、図６の例では、開催日１〜４に対して共通して上位となるタグ＜ｄｉｖ＞の要素を特定する。イベント一覧の各要素は、タグ＜ｄｉｖ＞の要素以下の範囲に含まれる。よって、情報抽出装置１１は、共通して上位となる要素を特定することにより、イベント一覧の範囲を特定できる。これにより、情報抽出装置１１は、目的とする情報が複数一覧される場合に、目的とする情報を含む範囲を適切に定めることができる。例えば、情報抽出装置１１は、イベント一覧に含まれる複数のタイトルを目的とする情報とする場合、イベント一覧の範囲を適切に定めることができる。ここで、ＨＴＭＬ文書の構造は、Ｗｅｂサイトによって様々である。また、ＨＴＭＬ文書の構造は、Ｗｅｂサイトの更新によっても構造が変わる場合がある。このため、予め定めた要素間の階層関係を用いて所定の属性の要素を抽出しようとした場合、目的とする情報が抽出できない場合がある。例えば、図６の例では、各イベントのタイトルが開催日の下位に無い。このため、従来の技術のように、日付の下位の階層を抽出してもタイトルが抽出できない。一方、本実施例に係る情報抽出装置１１は、Ｗｅｂサイトの情報一覧に用いられるＨＴＭＬ文書の構造的な特徴に着目することで、第１の要素と第２の要素の上下関係に関わらず、第２の要素を含む範囲を適切に定めることができる。情報抽出装置１１は、特定した共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類する。例えば、ＨＴＭＬ文書のイベント一覧は、イベントごとに類似した構造が繰り返され、同じイベント属性の要素が同じ構造で記述される。このため、情報抽出装置１１は、階層構造を示すパスが同じ同士のグループに分類すると、図１０に示すように、同じイベント属性の要素ごとのグループに分類できる。要素は、単独でイベント属性を判定した場合、イベント属性が誤って判定されてしまう場合がある。例えば、タイトルは、標準的な表記形式のパターンを定めることが難しい。このため、タイトル要素は、それぞれ単独でタイトルであるかを判定した場合、タイトル要素と判定されない場合がある。すなわち、各要素をそれぞれ単独で所定の属性に該当するか判定して抽出を行った場合、所定の属性であるにも関わらず、抽出できない場合がある。また、誤って所定の属性以外の属性の要素を所定の属性と判定して抽出してしまう場合がある。一方、情報抽出装置１１は、図１０に示すように、要素をイベント属性ごとのグループに分類する。情報抽出装置１１は、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出する。これにより、情報抽出装置１１は、目的とする情報が複数一覧される場合に、目的とする情報を含むグループを抽出できる。例えば、情報抽出装置１１は、ＨＴＭＬ文書にタイトルと判定し難い要素が含まれていても、タイトルの要素を含むグループを精度よく抽出できる。情報抽出装置１１は、各第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、第１の要素と第２の要素とを対応付けて抽出する。これにより、情報抽出装置１１は、目的とする情報が複数一覧される場合に、目的とする情報を含む範囲を適切に定めて目的とする情報を抽出できる。例えば、イベント一覧から日付要素とタイトル要素を含む範囲を適切に定めて日付要素とタイトル要素を抽出できる。また、本実施例に係る情報抽出装置１１は、第１の要素と第２の要素の上下関係に関わらず、第２の要素を抽出できる。例えば、日付要素に対してタイトル要素が上位にあったとしても、タイトル要素を抽出できる。さらに、本実施例に係る情報抽出装置１１は、対応関係がある第１の要素と第２の要素を適切に対応付けて抽出できる。例えば、イベント一覧からイベントごとに、日付要素とタイトル要素を対応付けて抽出できる。
【００８４】
また、本実施例に係る情報抽出装置１１は、各第１の要素の上位の要素を他の第１の要素の上位の要素と比較して、共通して上位となる要素のうち、最も下位の要素を特定する。例えば、情報抽出装置１１は、それぞれの日付要素の上位の要素を他の日付要素の上位の要素と比較して、共通して上位となる要素のうち、最も下位の要素を特定する。これにより、例えば、図６の例では、開催日１〜４に直近し、共通して上位となるタグ＜ｄｉｖ＞の要素が特定される。このタグ＜ｄｉｖ＞の要素以下の範囲は、イベント一覧の範囲となる。よって、情報抽出装置１１は、イベント一覧の範囲を特定できる。また、例えば、図１４に示すように、ＨＴＭＬ文書にイベント以外の日付が含まれる場合でも、開催日２〜４は、共通して上位となる要素のうち、最も下位の要素がタグＢの要素と特定される。これにより、情報抽出装置１１は、ＨＴＭＬ文書にイベント以外の日付が含まれる場合でも、イベント一覧の範囲を特定できる。
【００８５】
また、本実施例に係る情報抽出装置１１は、グループごとに所定の属性に該当するかの評価値を算出し、算出した評価値に基づいて第２の要素のグループを抽出する。上述のように、要素は、単独でイベント属性を判定した場合、イベント属性が誤って判定されてしまう場合がある。そこで、情報抽出装置１１は、グループごとに所定の属性に該当するかの評価値を算出し、算出した評価値に基づいて第２の要素のグループを抽出する。これにより、情報抽出装置１１は、例えば、ＨＴＭＬ文書にタイトルと判定し難い要素が含まれていても、タイトルの要素を精度よく抽出できる。
【００８６】
また、本実施例に係る情報抽出装置１１は、文書の各要素を、抽出の対象となるイベント属性のデータを正規表現したパターンと比較して、当該パターンに該当する第１の要素を抽出する。例えば、情報抽出装置１１は、式（１）、（２）に示した日付を正規表現したパターンと比較して、当該パターンに該当する日付要素を抽出する。イベント一覧などの情報一覧には、正規表現可能な属性の要素を含む場合がある。例えば、イベント一覧は、イベントの開催日が含まれる。このため、情報抽出装置１１は、正規表現したパターンに該当する要素を抽出することにより、ＨＴＭＬ文書に含まれるイベント一覧などの情報一覧の範囲を容易に抽出できる。
【実施例２】
【００８７】
次に、実施例２について説明する。実施例２では、端末装置１２を情報抽出装置として機能させる場合について説明する。図２０は、実施例２に係る端末装置の概略的な構成を示す図である。実施例２に係る端末装置１２の構成は、図２に示した実施例１に係る情報抽出装置１１と一部が同一であるため、同一の部分については同一の符号を付し、主に異なる部分について説明する。
【００８８】
端末装置１２は、通信Ｉ／Ｆ部８０と、表示部８１と、入力部８２と、記憶部８３と、制御部８４とを有する。
【００８９】
通信Ｉ／Ｆ部８０は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部８０は、ネットワーク１３を介して他の装置と各種の情報を送受信する。通信Ｉ／Ｆ部８０としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００９０】
表示部８１は、各種の情報を表示する表示デバイスである。表示部８１としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。
【００９１】
入力部８２は、各種の情報を入力する入力デバイスである。入力部８２としては、マウスやキーボード、タッチパネル、操作ボタンなどの操作の入力を受け付ける入力デバイスが挙げられる。
【００９２】
記憶部８３は、ハードディスク、ＳＳＤ、光ディスクなどの記憶装置である。なお、記憶部８３は、ＲＡＭ、フラッシュメモリ、ＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリであってもよい。
【００９３】
記憶部８３は、制御部８４で実行されるＯＳや各種プログラムを記憶する。例えば、記憶部８３は、各種の処理を実行するプログラムを記憶する。さらに、記憶部８３は、制御部８４で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部８３は、実施例１と同様に、抽出対象情報３０と、ページ情報３１と、パス情報３２と、抽出対象モデル３３と、抽出情報３４とを記憶する。
【００９４】
制御部８４は、端末装置１２を制御するデバイスである。制御部８４としては、ＣＰＵ、ＭＰＵ等の電子回路や、ＡＳＩＣ、ＦＰＧＡ等の集積回路を採用できる。制御部８４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部８４は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部８４は、実施例１と同様に、受付部４０と、クローリング部４１と、第１の抽出部４２と、特定部４３と、第２の抽出部４４と、出力部４５とを有する。
【００９５】
受付部４０は、各種の受け付けを行う。例えば、受付部４０は、操作画面など各種の画面を表示させる。例えば、受付部４０は、抽出対象に関する情報を入力する入力画面を表示部８１に表示させ、入力部８２から抽出対象に関する情報の入力を受け付ける。例えば、受付部４０は、抽出対象に関する情報として、入力画面からイベントの情報が提供されるＷｅｂサイトのＵＲＬの指定を受け付ける。受付部４０は、ＷｅｂサイトのＵＲＬの指定を受け付けると、受け付けたＷｅｂサイトのＵＲＬを、ユーザの識別情報と共に、抽出対象情報３０に格納する。
【００９６】
クローリング部４１は、所定のクローリングタイミングとなると、抽出対象情報３０に格納された各ＵＲＬのＷｅｂサイトにアクセスし、Ｗｅｂサイトの各ページのＨＴＭＬ文書をダウンロードする。クローリング部４１は、ダウンロードしたＷｅｂサイトの各ページのＨＴＭＬ文書にＷｅｂサイトを抽出対象に指定したユーザの識別情報を関連付けてページ情報３１に格納する。クローリングタイミングは、例えば、夜間の所定時刻であってもよく、一定期間ごとのタイミングなどであってもよく、ユーザが指定した指定時刻であってもよく、ユーザから処理開始の指示を受けたタイミングであってもよい。
【００９７】
出力部４５は、イベントに関する情報を表示部８１に出力する。例えば、出力部４５は、所定の出力タイミングとなると、抽出情報３４に記憶されたイベントの期間とタイトルと抽出元を一覧表示したイベント情報画面を表示部８１に表示させる。出力タイミングは、例えば、ユーザから表示要求を受けたタイミングであってもよく、ユーザが指定した時刻など所定時刻であってもよく、一定期間ごとのタイミングなどであってもよい。
【００９８】
このように端末装置１２を情報抽出装置として機能させた場合でも、端末装置１２は、情報抽出装置１１と同様に、目的とする情報が複数一覧される場合に、目的とする情報を含む範囲を適切に定めて目的とする情報を抽出できる。
【実施例３】
【００９９】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１００】
例えば、上記実施例では、Ｗｅｂサイトのイベント一覧からイベントに関する情報を抽出する場合を例示した。しかしながら、これらに限定されるものではない。情報抽出装置１１は、同じ種別の要素が同様の構成を繰り返す情報一覧を含むＷｅｂサイトであれば、同じ種別の要素を抽出できる。また、所定のパターンにより抽出する要素も日付要素に限定されるものではない。例えば、金額や、電話番号、住所表記など、正規表記可能であれば、パターンにより、金額や、電話番号、住所表記の要素を抽出できる。例えば、金額は、先頭に「￥」マークや、後端に「円」、３桁ごとの区切り文字「，」がある数値を金額として正規表現を定めることができる。電話番号は、数字の桁数や「−」の位置により正規表現を定めることができる。住所は、都道府県名と市郡区町村の有無と番地を示す数字の有無の組み合わせにより正規表現を定めることができる。住所の正規表現としては、下記の式（３）が例示できる。
【０１０１】
【数２】
2018032273.tif 000004
【０１０２】
例えば、Ｗｅｂサイトの株価一覧は、株価を表す金額と銘柄コードや銘柄名などが同様の構成を繰り返される。株価一覧では、金額表記の要素を抽出し、金額表記の要素について、共通して上位となる要素を特定することで、株価一覧の範囲を特定して情報を抽出できる。
【０１０３】
また、上記実施例では、Ｗｅｂサイトから抽出されたイベントに関する情報を全てユーザに提供する場合を例示した。しかしながら、これらに限定されるものではない。イベントに関する情報が大量に抽出される場合もある。また、抽出した情報の中には、ユーザが興味を持たない情報や不適切な情報も含まれる場合もある。そこで、情報抽出装置１１は、抽出した情報から選択的に情報をユーザに提供してもよい。
【０１０４】
例えば、情報抽出装置１１は、ユーザから検索条件の指定を受け付け、抽出されたイベントに関する情報のうち、検索条件に該当するイベントに関する情報を出力してもよい。図２１は、処理の流れを機能的に示した図である。図２１は、図１６と一部が同一であるため、同一の部分については同一の符号を付し、主に異なる部分について説明する。出力部４５は、検索条件の入力画面を端末装置１２に表示させて、端末装置１２から検索条件の指定を受ける。出力部４５は、検索条件が指定されると、抽出情報３４から検索条件に該当するイベントの日付とタイトルとリンクを検索する（Ｓ２０）。出力部４５は、検索されたイベントの日付とタイトルとリンクを一覧表示した画像情報を端末装置１２に送信して、端末装置１２にイベント情報画面を表示させる（Ｓ２１）。これにより、情報抽出装置１１は、抽出した情報の中には、ユーザが要求した情報のみを提供できる。図２２は、提供される情報の一例を示す図である。例えば、５つのイベントに関する情報が抽出されている。ユーザは、４月に開催されるイベントを検索条件に指定する。この場合、４月に開催されるイベントに関する情報のみを提供できる。
【０１０５】
また、例えば、情報抽出装置１１は、ユーザから事前にフィルタリング条件の指定を受け付け、出力タイミングとなると、抽出されたイベントに関する情報のうち、フィルタリング条件に該当するイベントに関する情報を出力してもよい。図２３は、処理の流れを機能的に示した図である。図２３は、図１６と一部が同一であるため、同一の部分については同一の符号を付し、主に異なる部分について説明する。受付部４０は、フィルタリング条件の入力画面を端末装置１２に表示させて、端末装置１２からフィルタリング条件の指定を受ける（Ｓ２５）。フィルタリング条件は、抽出するイベントの条件の指定でもよく、不要なイベントの条件の指定でもよい。受付部４０は、指定されたフィルタリング条件を記憶部２１に格納する。出力部４５は、所定の出力タイミングとなると、抽出情報３４からフィルタリング条件でイベントの日付とタイトルとリンクをフィルタリングする（Ｓ２６）。出力部４５は、フィルタリングにより抽出されたイベントの日付とタイトルとリンクを一覧表示した画像情報を端末装置１２に送信して、端末装置１２にイベント情報画面を表示させる（Ｓ２７）。この場合も、情報抽出装置１１は、抽出した情報の中には、ユーザが要求した情報のみを提供できる。
【０１０６】
また、例えば、情報抽出装置１１は、抽出されたイベントに関する情報のうち、ユーザの状況に対応したイベントに関する情報をフィルタリングして出力してもよい。図２４は、処理の流れを機能的に示した図である。図２４は、図１６と一部が同一であるため、同一の部分については同一の符号を付し、主に異なる部分について説明する。受付部４０は、フィルタリング条件の入力画面を端末装置１２に表示させて、端末装置１２からフィルタリング条件の指定を受ける（Ｓ３０）。このフィルタリング条件は、例えば、イベント開催地に１km以内に近づけば出力するなど、動的に変化するパラメータを基準とした条件である。受付部４０は、指定されたフィルタリング条件を記憶部２１に格納する。端末装置１２は、定期的にフィルタリング条件のパラメータの値を情報抽出装置１１へ送信する。例えば、端末装置１２は、現在位置の位置情報を情報抽出装置１１へ送信する。出力部４５は、パラメータの値を受信すると、抽出情報３４からパラメータの値を基準としてフィルタリング条件でイベントの日付とタイトルとリンクをフィルタリングする（Ｓ３１）。例えば、情報抽出装置１１は、位置情報が示す位置から１km以内が開催地のイベントをフィルタリングする。出力部４５は、フィルタリングにより抽出されたイベントの日付とタイトルとリンクを一覧表示した画像情報を端末装置１２に送信して、端末装置１２にイベント情報画面を表示させる（Ｓ３２）。これにより、情報抽出装置１１は、抽出されたイベントに関する情報のうち、ユーザの状況に対応したイベントに関する情報のみを提供できる。
【０１０７】
また、上記実施例では、情報を抽出する対象の文書としてＨＴＭＬ文書を例示した。しかしながら、これらに限定されるものではない。例えば、対象の文書は、ＸＭＬ（Extensible  Markup  Language）文書やマークアップ言語で記述された文書などであってもよい。
【０１０８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部４０、クローリング部４１、第１の抽出部４２、特定部４３、第２の抽出部４４および出力部４５の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。例えば、第２の抽出部４４は、各日付要素の共通の祖先の要素より下位の要素をタグパスが同じ同士のグループに分類する分類部と、分類された各グループの中から所定の属性に該当するグループを抽出する抽出部など、複数の処理部に分かれてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０９】
［情報抽出プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図２５は、情報抽出プログラムを実行するコンピュータを示す図である。
【０１１０】
図２５に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＨＤＤ（Hard  Disk  Drive）３２０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【０１１１】
ＨＤＤ３２０には上記の受付部４０、クローリング部４１、第１の抽出部４２、特定部４３、第２の抽出部４４および出力部４５の各処理部と同様の機能を発揮する情報抽出プログラム３２０ａが予め記憶される。なお、情報抽出プログラム３２０ａについては、適宜分離しても良い。
【０１１２】
また、ＨＤＤ３２０は、各種の情報を記憶する。例えば、ＨＤＤ３２０は、ＯＳや処理に用いる各種データを記憶する。
【０１１３】
ＣＰＵ３１０が、情報抽出プログラム３２０ａをＨＤＤ３２０から読み出して実行することで、受付部４０、クローリング部４１、第１の抽出部４２、特定部４３、第２の抽出部４４および出力部４５と同様の動作を実行する。すなわち、情報抽出プログラム３２０ａは、受付部４０、クローリング部４１、第１の抽出部４２、特定部４３、第２の抽出部４４および出力部４５と同様の動作を実行する。
【０１１４】
なお、上記した情報抽出プログラム３２０ａについては、必ずしも最初からＨＤＤ３２０に記憶させることを要しない。
【０１１５】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１１６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１１７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１８】
（付記１）要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出し、
抽出した第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定し、
特定した共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出し、
複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、前記第１の要素と前記第２の要素とを対応付けて抽出する
処理をコンピュータに実行させることを特徴とする情報抽出プログラム。
【０１１９】
（付記２）前記特定する処理は、各第１の要素の上位の要素を他の第１の要素の上位の要素と比較して、共通して上位となる要素のうち、最も下位の要素を特定する
ことを特徴とする付記１に記載の情報抽出プログラム。
【０１２０】
（付記３）前記第２の要素のグループを抽出する処理は、グループごとに前記所定の属性に該当するかの評価値を算出し、算出した評価値に基づいて前記第２の要素のグループを抽出する
ことを特徴とする付記１または２に記載の情報抽出プログラム。
【０１２１】
（付記４）前記第１の要素を抽出する処理は、前記半構造化文書の各要素を、抽出の対象となる属性のデータを正規表現したパターンと比較して、当該パターンに該当する第１の要素を抽出する
ことを特徴とする付記１〜３の何れか１つに記載の情報抽出プログラム。
【０１２２】
（付記５）第２の要素のグループを抽出する処理は、タグが複数特定された場合、特定されたタグより下位の範囲ごとに、当該範囲の要素をパスが同じ同士のグループに分類する
ことを特徴とする付記４に記載の情報抽出プログラム。
【０１２３】
（付記６）前記第１の要素と前記第２の要素とを対応付けて抽出する処理は、最も下位まで階層構造が共通する第１の要素と第２の要素とを対応付けて抽出する
ことを特徴とする付記１〜５の何れか１に記載の情報抽出プログラム。
【０１２４】
（付記７）要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出し、
抽出した第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定し、
特定した共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出し、
複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、前記第１の要素と前記第２の要素とを対応付けて抽出する
処理をコンピュータが実行することを特徴とする情報抽出方法。
【０１２５】
（付記８）要素が階層化された半構造化文書から、所定のパターンに対応する１又は複数の第１の要素を抽出する第１の抽出部と、
前記第１の抽出部により抽出された第１の要素が複数の場合、各第１の要素の上位の要素のうち、共通して上位となる要素を特定する特定部と、
前記特定部により特定された共通して上位となる要素より下位の要素を頂点とした範囲を、階層構造を示すパスが同じ同士のグループに分類し、分類された各グループの中から所定の属性に該当する第２の要素のグループを抽出し、複数の第１の要素に対して共通して上位とはならない最も上位の要素の下位の範囲ごとに、前記第１の要素と前記第２の要素とを対応付けて抽出する第２の抽出部と、
を有することを特徴とする情報抽出装置。
【０１２６】
（付記９）要素が階層化された半構造化文書の各要素を、当該要素の階層構造を示すパスが同じ同士のグループに分類し、
分類された各グループの中から所定の属性に該当するグループを抽出する
処理をコンピュータに実行させることを特徴とする情報抽出プログラム。
【０１２７】
（付記１０）要素が階層化された半構造化文書の各要素を、当該要素の階層構造を示すパスが同じ同士のグループに分類し、
分類された各グループの中から所定の属性に該当するグループを抽出する
処理をコンピュータが実行することを特徴とする情報抽出方法。
【０１２８】
（付記１１）要素が階層化された半構造化文書の各要素を、当該要素の階層構造を示すパスが同じ同士のグループに分類する分類部と、
前記分類部により分類された分類された各グループの中から所定の属性に該当するグループを抽出する抽出部と、
を有することを特徴とする情報抽出装置。
【符号の説明】
【０１２９】
１０  システム
１１  情報抽出装置
１２  端末装置
１３  ネットワーク
１４  インターネット
２０  通信Ｉ／Ｆ部
２１  記憶部
２２  制御部
３０  抽出対象情報
３１  ページ情報
３２  パス情報
３３  抽出対象モデル
３４  抽出情報
４０  受付部
４１  クローリング部
４２  第１の抽出部
４３  特定部
４４  第２の抽出部
４５  出力部
８０  通信Ｉ／Ｆ部
８１  表示部
８２  入力部
８３  記憶部
８４  制御部
【図１】
2018032273.tif 000005
【図２】
2018032273.tif 000006
【図３】
2018032273.tif 000007
【図４】
2018032273.tif 000008
【図５Ａ】
2018032273.tif 000009
【図５Ｂ】
2018032273.tif 000010
【図６】
2018032273.tif 000011
【図７】
2018032273.tif 000012
【図８】
2018032273.tif 000013
【図９】
2018032273.tif 000014
【図１０】
2018032273.tif 000015
【図１１】
2018032273.tif 000016
【図１２】
2018032273.tif 000017
【図１３】
2018032273.tif 000018
【図１４】
2018032273.tif 000019
【図１５】
2018032273.tif 000020
【図１６】
2018032273.tif 000021
【図１７】
2018032273.tif 000022
【図１８】
2018032273.tif 000023
【図１９】
2018032273.tif 000024
【図２０】
2018032273.tif 000025
【図２１】
2018032273.tif 000026
【図２２】
2018032273.tif 000027
【図２３】
2018032273.tif 000028
【図２４】
2018032273.tif 000029
【図２５】
2018032273.tif 000030