(57)【特許請求の範囲】
【請求項１】
ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出し、
前記文書内の各行において抽出した前記第一のデータと前記第二のデータとを対応付けた組が複数ある場合には、該組ごとに分離するように、抽出した前記第一のデータと前記第二のデータとを対応付けて表示し、
表示した前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する
処理をコンピュータに実行させることを特徴とするデータ取得プログラム。
【請求項２】
前記所定のタグ又は記号で区切られた第一のデータと第二のデータは、表の開始と終了を示すタグに挟まれ、該表における見出しに対応するデータと該見出しに関連するセルに対応するデータであることを特徴とする請求項１に記載のデータ取得プログラム。
【請求項３】
前記所定のタグ又は記号で区切られた第一のデータと第二のデータは、リストの開始と終了を示すタグに挟まれ、該リストにおける用語に対応するデータと該用語に関連する説明に対応するデータであることを特徴とする請求項１に記載のデータ取得プログラム。
【請求項４】
前記所定のタグは、</DT><DD>又は</TH><TD>であることを特徴とする請求項１に記載のデータ取得プログラム。
【請求項５】
前記所定の記号は、/又は：であることを特徴とする請求項１に記載のデータ取得プログラム。
【請求項６】
ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出し、
前記文書内の各行において抽出した前記第一のデータと前記第二のデータとを対応付けた組が複数ある場合には、該組ごとに分離するように、抽出した前記第一のデータと前記第二のデータとを対応付けて表示し、
表示した前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する
処理をコンピュータが実行することを特徴とするデータ取得方法。
【請求項７】
ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する抽出部と、
前記文書内の各行において抽出した前記第一のデータと前記第二のデータとを対応付けた組が複数ある場合には、該組ごとに分離するように、抽出した前記第一のデータと前記第二のデータとを対応付けて表示させる表示制御部と、
表示された前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する登録部と
を有することを特徴とするデータ取得装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ取得プログラム、データ取得方法及びデータ取得装置に関する。
【背景技術】
【０００２】
インターネット上に公開されている情報を収集するためのツールとして、クローラツールが知られている。クローラツールは、インターネット上のホームページを巡回して、ＵＲＬ（Uniform  Resource  Locator）単位、すなわちページ単位で内容を保存する。また、保存したページ内容から、語彙と語彙との関係を定義したオントロジを利用して解析し、有用な情報を切り出しルールに基づいて自動的に取り出して、同じ意味を持つ情報等を統合してユーザに情報を提供することが提案されている。【０００３】
また、ＨＴＭＬ（HyperText  Markup  Language）文書に含まれるタグに基づいて表形式又はデータベース形式の情報を抽出し、タグが示す各情報間の従属関係に基づいて、項目に対して従属する属性及び属性値の関係を有する情報を抽出することが提案されている。ここで、表形式からの情報の抽出方法は、表形式の情報の直上方、直下方又は直左方に位置する情報を項目として抽出し、表形式の上端行又は左端列に位置する情報を属性とし、それぞれの下方又は右方に位置する情報を属性値として抽出することが挙げられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−６２４４６号公報
【特許文献２】特開２０１０−１５２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば、オントロジを利用する場合には、語彙と語彙との関係を予め登録することが必要となる。このため、オントロジに含まれない情報を取り出すことは困難である。また、例えば、表形式の所定の位置を項目、属性及び属性値であるとして抽出すると、表形式の途中に項目が出てくるときに、項目を属性値として抽出する場合がある。このため、様々な形式の表に対応して情報を抽出することが困難である。【０００６】
一つの側面では、本発明は、ＨＴＭＬ文書から抽出するデータの記載箇所の登録を支援できるデータ取得プログラム、データ取得方法及びデータ取得装置を提供することにある。
【課題を解決するための手段】
【０００７】
一つの態様では、データ取得プログラムは、ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する処理をコンピュータに実行させる。また、データ取得プログラムは、抽出した前記第一のデータと前記第二のデータとを対応付けて表示する処理をコンピュータに実行させる。また、データ取得プログラムは、表示した前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定する処理をコンピュータに実行させる。また、データ取得プログラムは、該階層構造上の位置を登録することを許容する処理をコンピュータに実行させる。
【発明の効果】
【０００８】
ＨＴＭＬ文書から抽出するデータの記載箇所の登録を支援できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、データ取得装置の構成の一例を示すブロック図である。
【図２】図２は、対象記憶部の一例を示す図である。
【図３】図３は、ページ記憶部の一例を示す図である。
【図４】図４は、抽出データ記憶部の一例を示す図である。
【図５】図５は、位置記憶部の一例を示す図である。
【図６】図６は、ＨＴＭＬ文書及び抽出データの選択画面の一例を示す図である。
【図７】図７は、ＨＴＭＬ文書及び抽出データの選択画面の他の一例を示す図である。
【図８】図８は、ＨＴＭＬ文書及び抽出データの選択画面の他の一例を示す図である。
【図９】図９は、ＨＴＭＬ文書及び抽出データの選択画面の他の一例を示す図である。
【図１０】図１０は、登録処理の一例を示すフローチャートである。
【図１１】図１１は、データ取得プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示するデータ取得プログラム、データ取得方法及びデータ取得装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組み合わせてもよい。
【実施例】
【００１１】
図１は、データ取得装置の構成の一例を示すブロック図である。図１に示すデータ取得装置１００は、例えば、ネットワークＮを介してインターネットに接続され、管理者に指定されたインターネット上のホームページ（以下、サイトともいう）を巡回し、所定のデータを取得してデータベースに蓄積する。データ取得装置１００は、例えば、ある地域の観光情報を取得するために、観光スポットのサイトや都道府県が設けた観光情報サイトを巡回して、各観光スポットの住所、電話番号、説明文等のデータを取得する。このとき、各観光スポットのサイトや観光情報サイトでは、各種データのフォーマットが統一されていない場合が多い。このため、データ取得装置１００は、ＨＴＭＬ文書の中から、第一のデータと第二のデータとの間が所定のタグ又は記号で区切られている場合に、第一のデータと第二のデータとを、項目名とその値のペアとして取得する。つまり、データ取得装置１００は、ＨＴＭＬ文書の中から、所定の規則性を有するデータをペアとして取得する。【００１２】
すなわち、データ取得装置１００は、ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する。また、データ取得装置１００は、抽出した第一のデータと第二のデータとを対応付けて表示する。また、データ取得装置１００は、表示した第一のデータ又は第二のデータが選択されたことを検出すると、文書における第一のデータ又は第二のデータの、文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する。これにより、データ取得装置１００は、項目と値といった関係を有するデータを抽出して表示できる。また、データ取得装置１００は、表示したデータが選択されると、文書中のデータに対応するタグの階層構造上の位置を特定するので、ＨＴＭＬ文書から抽出するデータの記載箇所の登録を支援できる。【００１３】
ここで、ＨＴＭＬ文書は、タグの構造情報を含む文書の一例である。タグの構造情報を含む文書は、例えば、マークアップ言語で記述された文書が挙げられ、他にもＸＭＬ（Extensible  Markup  Language）文書等が挙げられる。なお、以下の説明では、一例として、ＨＴＭＬ文書を用いたホームページを巡回する場合について説明する。【００１４】
次に、データ取得装置１００の構成について説明する。図１に示すように、データ取得装置１００は、入力部１０１と、表示部１０２と、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、データ取得装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。【００１５】
入力部１０１は、例えば、キーボードやマウス等の入力デバイスであり、データ取得装置１００の管理者から各種情報の入力を受け付ける。例えば、入力部１０１は、データ取得装置１００の管理者により、巡回するサイトのＵＲＬ、取得するデータ項目等が入力され、入力結果を制御部１３０に出力する。また、入力部１０１は、例えば、ＳＤ（Secure  Digital）メモリカード等のリーダライタであってもよい。入力部１０１は、例えば、ＳＤメモリカードから読み込んだ、巡回するサイトのＵＲＬ、取得するデータ項目等を制御部１３０に出力する。なお、入力部１０１は、入力デバイスとＳＤメモリカード等のリーダライタとの双方を有してもよい。【００１６】
表示部１０２は、各種情報を表示するための表示デバイスである。表示部１０２は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１０２は、制御部１３０から表示データが入力されると、入力された表示データを表示する。なお、表示部１０２は、出力部として、例えば、ＳＤメモリカード等のリーダライタを有していてもよい。また、入力部１０１及び表示部１０２は、例えば、タッチパネルと液晶ディスプレイのように、一体化されたデバイスを用いてもよい。【００１７】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、ネットワークＮを介して、例えばインターネットと有線又は無線で接続され、インターネット上の各種サイトのサーバとの間で情報の通信を司る通信インタフェースである。通信部１１０は、インターネット上の各種サイトからページ内容、例えば、ＨＴＭＬ文書、画像ファイル等を受信する。通信部１１０は、受信したページ内容を制御部１３０に出力する。また、通信部１１０は、制御部１３０から入力されたページ要求等をインターネット上の各種サイトに送信する。【００１８】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、対象記憶部１２１と、ページ記憶部１２２と、抽出データ記憶部１２３と、位置記憶部１２４とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。【００１９】
対象記憶部１２１は、データを取得するクロール処理の対象となるサイトのＵＲＬ（以下、対象ＵＲＬという）をＵＲＬＩＤと対応付けて記憶する。図２は、対象記憶部の一例を示す図である。図２に示すように、対象記憶部１２１は、「ＵＲＬＩＤ」、「対象ＵＲＬ」といった項目を有する。対象記憶部１２１は、例えば、１つの対象ＵＲＬごとに１レコードとして記憶する。【００２０】
「ＵＲＬＩＤ」は、対象ＵＲＬを識別する。「対象ＵＲＬ」は、クロール処理でアクセスする対象となるＨＴＭＬ文書のＵＲＬを示す。対象ＵＲＬは、例えば、管理者によって入力部１０１の入力デバイスにより入力される。【００２１】
図１の説明に戻って、ページ記憶部１２２は、対象ＵＲＬについて、クロール処理でアクセスして取得したページ内容、すなわち、ＨＴＭＬ文書、画像ファイル等を記憶する。図３は、ページ記憶部の一例を示す図である。図３に示すように、ページ記憶部１２２は、「ＵＲＬＩＤ」、「対象ＵＲＬ」、「記憶領域」といった項目を有する。ページ記憶部１２２は、例えば、１つの対象ＵＲＬごとに１レコードとして記憶する。【００２２】
「ＵＲＬＩＤ」は、対象ＵＲＬを識別する。「対象ＵＲＬ」は、クロール処理でアクセスしたＨＴＭＬ文書のＵＲＬを示す。「記憶領域」は、取得したＨＴＭＬ文書や画像ファイル等を記憶した記憶領域を示す。記憶領域は、例えば、記憶部１２０のファイルシステムのディレクトリを記憶し、対応するディレクトリにＨＴＭＬ文書や画像ファイル等を記憶する。なお、ページ記憶部１２２は、記憶領域に、取得したＨＴＭＬ文書や画像ファイルを直接記憶するようにしてもよい。【００２３】
図１の説明に戻って、抽出データ記憶部１２３は、ＨＴＭＬ文書から抽出された第一のデータと第二のデータとを記憶する。すなわち、抽出データ記憶部１２３は、クロール処理によって収集されたデータを格納するデータベースである。図４は、抽出データ記憶部の一例を示す図である。図４に示すように、抽出データ記憶部１２３は、「ＵＲＬＩＤ」、「第一のデータ」、「第二のデータ」といった項目を有する。抽出データ記憶部１２３は、例えば、１つのＵＲＬＩＤごとに、対応するＨＴＭＬ文書内の第一のデータと第二のデータとのペアを１つ以上記憶する。なお、抽出データ記憶部１２３に記憶されたデータは、任意のフォーマットの文書の各項目に、容易に登録できる。【００２４】
「ＵＲＬＩＤ」は、対象ＵＲＬを識別する。「第一のデータ」は、例えば２つのデータが所定のタグ又は記号で区切られている場合における１つ目のデータを示す。「第二のデータ」は、例えば２つのデータが所定のタグ又は記号で区切られている場合における２つ目のデータを示す。図４の１行目の例では、ＵＲＬＩＤ「１」の１つ目のペアは、第一のデータは「住所」であり、第二のデータは「四国中央市〇〇町××１２３−４」となる。【００２５】
図１の説明に戻って、位置記憶部１２４は、ＨＴＭＬ文書における第一のデータ及び第二のデータの位置特定情報を、ＵＲＬＩＤと対応付けて記憶する。すなわち、位置記憶部１２４は、ＨＴＭＬ文書からデータを抽出する定義として、ＨＴＭＬ文書のタグの階層構造上の位置を記憶する。図５は、位置記憶部の一例を示す図である。図５に示すように、位置記憶部１２４は、「ＵＲＬＩＤ」、「位置特定情報」といった項目を有する。位置記憶部１２４は、例えば、１つのＵＲＬＩＤごとに１レコードとして記憶する。【００２６】
「ＵＲＬＩＤ」は、対象ＵＲＬを識別する。「位置特定情報」は、第一のデータ及び第二のデータの位置特定情報を示す。位置特定情報は、さらに、「ＤＡＴＡ１」、「ＤＡＴＡ２」といった項目を有する。「ＤＡＴＡ１」は、例えば、対応するＨＴＭＬ文書内における、１つ目の第一のデータ及び第二のデータのペアの位置特定情報を示す。「ＤＡＴＡ２」は、例えば、対応するＨＴＭＬ文書内における、２つ目の第一のデータ及び第二のデータのペアの位置特定情報を示す。【００２７】
図５の１行目の例では、ＵＲＬＩＤが「１」の「ＤＡＴＡ１」は、第一のデータ（項目名）と第二のデータ（値）とが</DT><DD>タグで区切られ、当該区切りを有する１番目のペアであることを示す。また、「ＤＡＴＡ２」は、第一のデータ（項目名）と第二のデータ（値）とが</DT><DD>タグで区切られ、当該区切りを有する２番目のペアであることを示す。【００２８】
また、図５の２行目の例では、ＵＲＬＩＤが「２」の「ＤＡＴＡ１」は、第一のデータ（項目名）と第二のデータ（値）とが</TH><TD>タグで区切られ、当該区切りを有する１番目のペアであることを示す。また、「ＤＡＴＡ２」は、第一のデータ（項目名）と第二のデータ（値）とが</TH><TD>タグで区切られ、当該区切りを有する２番目のペアであることを示す。【００２９】
また、図５の３行目の例では、ＵＲＬＩＤが「３」の「ＤＡＴＡ１」は、第一のデータ（項目名）と第二のデータ（値）とが</TH><TD>タグ又は</TD><TD>タグで区切られたテーブルのうち、当該テーブルの１番目のペアであることを示す。また、「ＤＡＴＡ２」は、第一のデータ（項目名）と第二のデータ（値）とが</TH><TD>タグ又は</TD><TD>タグで区切られたテーブルのうち、当該テーブルの２番目のペアであることを示す。【００３０】
また、図５の４行目の例では、ＵＲＬＩＤが「４」の「ＤＡＴＡ１」は、第一のデータ（項目名）と第二のデータ（値）とが「／」（スラッシュ記号）で区切られ、当該区切りを有する１番目のペアであることを示す。また、「ＤＡＴＡ２」は、第一のデータ（項目名）と第二のデータ（値）とが「／」（スラッシュ記号）で区切られ、当該区切りを有する２番目のペアであることを示す。【００３１】
図１の説明に戻って、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、受付部１３１と、クロール部１３２と、抽出部１３３と、表示制御部１３４と、登録部１３５とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。【００３２】
受付部１３１は、クロール処理で巡回する対象ＵＲＬを受け付ける。受付部１３１は、例えば、管理者によって入力部１０１の入力デバイスが操作されることにより、対象ＵＲＬの入力を受け付ける。受付部１３１は、受け付けた対象ＵＲＬを対象記憶部１２１に記憶する。【００３３】
クロール部１３２は、対象記憶部１２１を参照して、対象ＵＲＬを含むホームページ、例えば、ある観光情報サイトのトップページにアクセスする。すなわち、クロール部１３２は、ある観光情報サイトのサーバに対して通信部１１０を介してページ要求を送信し、当該サーバから通信部１１０を介してページ内容を受信する。クロール部１３２は、例えば、定期的又は不定期に、つまり予め管理者によって指定された間隔又は任意のタイミングで、対象ＵＲＬを含むホームページにアクセスする。指定された間隔は、例えば、１日、１週間、１ヶ月等のように任意の間隔とすることができる。クロール部１３２は、対象記憶部１２１を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象ＵＲＬを選定する。クロール部１３２は、例えば、観光スポットごとのページの対象ＵＲＬを選定する。クロール部１３２は、選定した対象ＵＲＬからページ内容を取得する。クロール部１３２は、取得したページ内容をページ記憶部１２２に記憶する。また、クロール部１３２は、ページ内容の取得が完了したことを示す取得完了情報を抽出部１３３に出力する。【００３４】
抽出部１３３は、クロール部１３２から取得完了情報が入力されると、ページ記憶部１２２に記憶された対象ＵＲＬのページ内容から、ペアとなるデータを抽出する。抽出部１３３は、ペアとなるデータとして、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する。抽出部１３３は、対象ＵＲＬのＵＲＬＩＤごとに、ペアとなる第一のデータと第二のデータとを対応付けて、抽出データ記憶部１２３に記憶する。抽出部１３３は、抽出した第一のデータと第二のデータとを抽出データ記憶部１２３に記憶すると、表示制御部１３４に、抽出完了情報を出力する。【００３５】
なお、抽出部１３３は、対象ＵＲＬのＵＲＬＩＤが、位置記憶部１２４に既に記憶されている場合には、位置記憶部１２４から位置特定情報を読み出して、データを抽出する定義として用いることができる。これにより、抽出部１３３は、過去に巡回したサイトについて、過去の巡回時に登録された位置特定情報に基づいて、容易にペアとなるデータを抽出できる。【００３６】
ここで、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータは、例えば、表の開始と終了を示すタグに挟まれ、該表における見出しに対応するデータと該見出しに関連するセルに対応するデータである。また、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータは、例えば、リストの開始と終了を示すタグに挟まれ、該リストにおける用語に対応するデータと該用語に関連する説明に対応するデータである。【００３７】
また、所定のタグは、例えば、ＤＴタグの終了を示す</DT>タグと、ＤＤタグの開始を示す<DD>タグとの組み合わせである</DT><DD>が挙げられる。また、所定のタグは、例えば、ＴＡＢＬＥタグの一部であるＴＨタグの終了を示す</TH>タグと、ＴＤタグの開始を示す<TD>タグとの組み合わせである</TH><TD>が挙げられる。また、所定の記号は、文章の区切りや、項目名と項目の内容との区切りに用いられる記号であれば任意の記号でよく、例えば、「／（スラッシュ）」、「：（コロン）」、「→（矢印）」等の記号が挙げられる。なお、所定の記号は、全角文字（２バイト文字）であっても半角文字（１バイト文字）であってもよい。また、所定のタグのアルファベット部分は、大文字と小文字の区別はしなくてもよい。つまり、所定のタグは、</DT><dd>又は</th><td>であっても、</dt><DD>又は</tH><Td>であってもよい。さらに、所定の記号の</TH>と<TD>との間には、空白や改行を１つ以上含んでもよい。また、開始タグである<DD>、<TD>、<TH>には、属性の指定を含んでもよい。例えば、<DD  style=”color:red;”>や<TD  nowrap>なども所定のタグとして認識可能である。【００３８】
表示制御部１３４は、抽出部１３３から抽出完了情報が入力されると、抽出データ記憶部１２３を参照して、抽出した第一のデータと第二のデータとを対応付けて表示データを生成し、生成した表示データを表示部１０２に出力して表示させる。ここで、図６〜図９を用いて、ＨＴＭＬ文書と、抽出した第一のデータと第二のデータとを対応付けた選択画面とについて説明する。図６は、ＨＴＭＬ文書及び抽出データの選択画面の一例を示す図である。図７〜図９は、ＨＴＭＬ文書及び抽出データの選択画面の他の一例を示す図である。【００３９】
図６の例では、ＨＴＭＬ文書２１は、例えば、リストを表示するためのＤＬタグを用いて、ＤＴタグで囲まれた範囲を第一のデータ、ＤＤタグで囲まれた範囲を第二のデータとして、住所、電話番号、営業時間及び定休日について、それぞれ項目名及び値を有する。抽出部１３３は、</DT><DD>を第一のデータと第二のデータとの区切りとし、ＨＴＭＬ文書２１の各データを抽出して抽出データ記憶部１２３に記憶する。表示制御部１３４は、抽出データ記憶部１２３を参照して、選択画面２２を表示部１０２に表示させる。選択画面２２は、例えば、第一のデータとして「住所」、第二のデータとして「四国中央市〇〇町××１２３−４」というように、第一のデータと第二のデータとを対応付けて表示する。【００４０】
図７の例では、ＨＴＭＬ文書２３は、例えば、ＴＡＢＬＥタグを用いて、ＴＨタグで囲まれた範囲を第一のデータ、ＴＤタグで囲まれた範囲を第二のデータとして、メニュー、及び、その価格を有する。抽出部１３３は、</TH><TD>を第一のデータと第二のデータとの区切りとし、ＨＴＭＬ文書２３の各データを抽出して抽出データ記憶部１２３に記憶する。表示制御部１３４は、抽出データ記憶部１２３を参照して、選択画面２４を表示部１０２に表示させる。選択画面２４は、例えば、第一のデータとして「もりそば」、第二のデータとして「５２０円」というように、第一のデータと第二のデータとを対応付けて表示する。【００４１】
図８の例では、ＨＴＭＬ文書２５は、例えば、ＴＡＢＬＥタグで構成されるテーブルが、図５の３行目の例のようにＴＨタグ又はＴＤタグの２列で構成され、１列目に項目名、２列目に値を有する。ＨＴＭＬ文書２５は、１列目のタグで囲まれた範囲を第一のデータ、２列目のタグで囲まれた範囲を第二のデータとして、完成年、形式及び堤高について、それぞれ項目名及び値を有する。抽出部１３３は、</TH><TD>タグ又は</TD><TD>タグを第一のデータと第二のデータとの区切りとし、１列目を項目名、２列目をその値としてＨＴＭＬ文書２５の各データを抽出して抽出データ記憶部１２３に記憶する。表示制御部１３４は、抽出データ記憶部１２３を参照して、選択画面２６を表示部１０２に表示させる。選択画面２６は、例えば、第一のデータとして「完成年」、第二のデータとして「昭和５２年３月完成」というように、第一のデータと第二のデータとを対応付けて表示する。【００４２】
図９の例では、ＨＴＭＬ文書２７は、例えば、「／（スラッシュ）」記号を用いて、「／」の前を第一のデータ、「／」の後を第二のデータとして、住所、電話及び交通について、それぞれ項目名及び値を有する。抽出部１３３は、「／」を第一のデータと第二のデータとの区切りとし、ＨＴＭＬ文書２７の各データを抽出して抽出データ記憶部１２３に記憶する。表示制御部１３４は、抽出データ記憶部１２３を参照して、選択画面２８を表示部１０２に表示させる。選択画面２８は、例えば、第一のデータとして「住所」、第二のデータとして「熱海市〇〇町△△−××」というように、第一のデータと第二のデータとを対応付けて表示する。【００４３】
図１の説明に戻って、登録部１３５は、例えば、管理者によって入力部１０１の入力デバイスが操作され、表示部１０２に表示された選択画面上の第一のデータ又は第二のデータが選択されたことを検出する。登録部１３５は、第一のデータ又は第二のデータが選択されたことを検出すると、ＨＴＭＬ文書における、選択された第一のデータ又は第二のデータの、タグの階層構造上の位置を特定する。登録部１３５は、例えば、図６に示す選択画面２２に表示された「住所」が選択されたことを検出すると、ＨＴＭＬ文書２１における「住所」に対応するＤＴタグが、当該ＨＴＭＬ文書２１内のＤＴタグの１番目であることを特定する。なお、登録部１３５は、第一のデータ又は第二のデータが選択された場合に、第一のデータ及び第二のデータのタグの階層構造上の位置を特定するようにしてもよい。登録部１３５は、特定したタグの階層構造上の位置を位置記憶部１２４に記憶する。すなわち、登録部１３５は、特定したタグの階層構造上の位置を位置特定情報として位置記憶部１２４に登録する。登録した位置特定情報は、次回以降のクロール処理、すなわち各サイトの巡回時に、各データを容易に抽出するために用いることができる。【００４４】
次に、実施例のデータ取得装置１００の動作について説明する。図１０は、登録処理の一例を示すフローチャートである。【００４５】
受付部１３１は、例えば、管理者によって入力部１０１の入力デバイスが操作されることにより、対象ＵＲＬの入力を受け付ける（ステップＳ１）。受付部１３１は、受け付けた対象ＵＲＬを対象記憶部１２１に記憶する。クロール部１３２は、定期的又は不定期に、対象記憶部１２１を参照して、対象ＵＲＬを含むホームページにアクセスする（ステップＳ２）。クロール部１３２は、対象記憶部１２１を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象ＵＲＬを選定する（ステップＳ３）。【００４６】
クロール部１３２は、選定した対象ＵＲＬからページ内容を取得する（ステップＳ４）。クロール部１３２は、取得したページ内容をページ記憶部１２２に記憶する。また、クロール部１３２は、ページ内容の取得が完了したことを示す取得完了情報を抽出部１３３に出力する。【００４７】
抽出部１３３は、クロール部１３２から取得完了情報が入力されると、ページ記憶部１２２に記憶された対象ＵＲＬのページ内容から、第一のデータと第二のデータとを抽出する（ステップＳ５）。抽出部１３３は、対象ＵＲＬのＵＲＬＩＤごとに、ペアとなる第一のデータと第二のデータとを対応付けて、抽出データ記憶部１２３に記憶する。抽出部１３３は、抽出した第一のデータと第二のデータとを抽出データ記憶部１２３に記憶すると、表示制御部１３４に、抽出完了情報を出力する。【００４８】
表示制御部１３４は、抽出部１３３から抽出完了情報が入力されると、抽出データ記憶部１２３を参照して、抽出した第一のデータと第二のデータとを対応付けて、表示部１０２に表示させる（ステップＳ６）。【００４９】
登録部１３５は、例えば、管理者によって入力部１０１の入力デバイスが操作され、表示部１０２に表示された選択画面上の第一のデータ又は第二のデータが選択されたことを検出する（ステップＳ７）。【００５０】
登録部１３５は、第一のデータ又は第二のデータの選択が選択されたことを検出すると、ＨＴＭＬ文書における、選択された第一のデータ又は第二のデータの、タグの階層構造上の位置を特定する（ステップＳ８）。登録部１３５は、特定したタグの階層構造上の位置を位置特定情報として位置記憶部１２４に登録する（ステップＳ９）。これにより、データ取得装置１００は、項目と値といった関係を有するデータを抽出して表示できる。また、データ取得装置１００は、表示したデータが選択されると、文書中のデータに対応するタグの階層構造上の位置を特定するので、ＨＴＭＬ文書から抽出するデータの記載箇所の登録を支援できる。【００５１】
このように、データ取得装置１００は、ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する。また、データ取得装置１００は、抽出した第一のデータと第二のデータとを対応付けて表示する。また、データ取得装置１００は、表示した第一のデータ又は第二のデータが選択されたことを検出すると、文書における第一のデータ又は第二のデータの、文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する。その結果、ＨＴＭＬ文書から抽出するデータの記載箇所の登録を支援できる。【００５２】
また、データ取得装置１００は、所定のタグ又は記号で区切られた第一のデータと第二のデータとして、表の開始と終了を示すタグに挟まれ、該表における見出しに対応するデータと該見出しに関連するセルに対応するデータを抽出する。その結果、見出しのデータと、その見出しに関連するセルのデータとについて、表から容易に抽出できる。【００５３】
また、データ取得装置１００は、所定のタグ又は記号で区切られた第一のデータと第二のデータとして、リストの開始と終了を示すタグに挟まれ、該リストにおける用語に対応するデータと該用語に関連する説明に対応するデータを抽出する。その結果、用語のデータと、その用語の説明のデータとについて、リストから容易に抽出できる。【００５４】
また、データ取得装置１００は、所定のタグとして、</DT><DD>又は</TH><TD>を用いる。その結果、リスト又はテーブルから、ペアとなる第一のデータと第二のデータとを容易に抽出できる。【００５５】
また、データ取得装置１００は、所定の記号として、/又は：を用いる。その結果、タグを用いていない箇所であっても、ペアとなる第一のデータと第二のデータとを容易に抽出できる。【００５６】
なお、上記実施例では、ＨＴＭＬで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出したが、これに限定されない。例えば、プレーンテキストで記述された文書の中から、互いの間を所定の記号で区切られた第一のデータと第二のデータとを抽出してもよい。また、所定の記号に代えて、スペースを用いてもよいし、ＣＲ、ＬＦ等の改行コード等の制御文字を用いてもよい。【００５７】
また、上記実施例では、項目名とその値を、第一のデータと第二のデータとして抽出したが、これに限定されない。例えば、ある項目名について、装置の状態、例えば、外部電源接続時と内蔵バッテリ使用時のように、複数の値がある場合には、組となるデータの数を増加させてもよい。【００５８】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、クロール部１３２と、抽出部１３３とを統合してもよい。【００５９】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよいことは言うまでもない。【００６０】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１１は、データ取得プログラムを実行するコンピュータの一例を示す図である。【００６１】
図１１が示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線又は無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。【００６２】
ハードディスク装置２０８には、図１に示した受付部１３１、クロール部１３２、抽出部１３３、表示制御部１３４及び登録部１３５の各処理部と同様の機能を有するデータ取得プログラムが記憶される。また、ハードディスク装置２０８には、対象記憶部１２１、ページ記憶部１２２、抽出データ記憶部１２３、位置記憶部１２４、及び、データ取得プログラムを実現するための各種データが記憶される。入力装置２０２は、入力部１０１と同等の機能を有し、例えば、コンピュータ２００の管理者から、対象ＵＲＬ、管理情報等の各種情報の入力を受け付ける。モニタ２０３は、表示部１０２と同等の機能を有し、例えば、コンピュータ２００の管理者に対して管理情報の画面、受付画面、選択画面等の各種画面を表示する。インタフェース装置２０５は、例えば、印刷装置等が接続される。通信装置２０６は、例えば、図１に示した通信部１１０と同様の機能を有しネットワークＮと接続され、インターネット上のサイトと各種情報をやりとりする。【００６３】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した受付部１３１、クロール部１３２、抽出部１３３、表示制御部１３４及び登録部１３５として機能させることができる。【００６４】
なお、上記のデータ取得プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのデータ取得プログラムを記憶させておき、コンピュータ２００がこれらからデータ取得プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００６５】
１００  データ取得装置
１０１  入力部
１０２  表示部
１１０  通信部
１２０  記憶部
１２１  対象記憶部
１２２  ページ記憶部
１２３  抽出データ記憶部
１２４  位置記憶部
１３０  制御部
１３１  受付部
１３２  クロール部
１３３  抽出部
１３４  表示制御部
１３５  登録部
Ｎ  ネットワーク
【図１】
0006493413.tif 000002
【図２】
0006493413.tif 000003
【図３】
0006493413.tif 000004
【図４】
0006493413.tif 000005
【図５】
0006493413.tif 000006
【図６】
0006493413.tif 000007
【図７】
0006493413.tif 000008
【図８】
0006493413.tif 000009
【図９】
0006493413.tif 000010
【図１０】
0006493413.tif 000011
【図１１】
0006493413.tif 000012