JP6601412B2 - 情報取得プログラム、情報取得方法および情報取得装置 - Google Patents

情報取得プログラム、情報取得方法および情報取得装置 Download PDF

Info

Publication number
JP6601412B2
JP6601412B2 JP2016558844A JP2016558844A JP6601412B2 JP 6601412 B2 JP6601412 B2 JP 6601412B2 JP 2016558844 A JP2016558844 A JP 2016558844A JP 2016558844 A JP2016558844 A JP 2016558844A JP 6601412 B2 JP6601412 B2 JP 6601412B2
Authority
JP
Japan
Prior art keywords
data
item
information
storage unit
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016558844A
Other languages
English (en)
Other versions
JPWO2016075830A1 (ja
Inventor
剛 米田
述史 野呂
哲 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2016075830A1 publication Critical patent/JPWO2016075830A1/ja
Application granted granted Critical
Publication of JP6601412B2 publication Critical patent/JP6601412B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F16/94Hypermedia
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/114Pagination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Description

本発明は、情報取得プログラム、情報取得方法および情報取得装置に関する。
インターネット上に公開されている情報を収集するためのツールとして、クローラツールが知られている。クローラツールは、インターネット上のホームページを巡回して、URL(Uniform Resource Locator)単位、すなわちページ単位で内容を保存する。また、ホームページの内容のうち、ユーザの求めるレイアウトフォーム内の項目に必要なデータを抽出して集約データを生成し、集約データをレイアウトフォームに合わせて出力することが提案されている。さらに、レイアウトフォーム上のデータ入力部に空欄が残ったときに、再度、データの抽出を行うことが提案されている。
また、構造情報を用いて構造化された構造化データから、予め指定した構造情報に対応したデータを取得して、テンプレートに配置することが提案されている。さらに、構造情報に対応するデータの少なくとも一部が存在していない場合に、データの補充に関する情報を送信することが提案されている。
特開2002−169836号公報 特開2008−282114号公報
しかしながら、例えば、抽出条件を変更して再度データを抽出したり、データの補充に関する情報を送信しても、レイアウトフォームやテンプレートの欄に対応する所望のデータが得られない場合がある。このため、取得したデータを用いた文書を生成する場合に、データ、すなわち情報の欠落が少ない文書を生成することが困難である。
一つの側面では、本発明は、文書に記載すべき情報を補完できる情報取得プログラム、情報取得方法および情報取得装置を提供することにある。
一つの態様では、情報取得プログラムは、あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で所定の関連を有する他のデータの位置を特定する情報とを記憶する記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて前記特定のデータを取得する処理をコンピュータに実行させる。また、情報取得プログラムは、前記記憶部を参照して、前記文書中における前記特定のデータに関連する前記他のデータの位置を用いて前記他のデータを取得するとともに、取得した前記他のデータを用いて前記他のデータと前記所定の関連を有するデータを取得する処理をコンピュータに実行させる。
文書に記載すべき情報を補完できる。
図1は、データ取得装置の構成の一例を示すブロック図である。 図2は、対象記憶部の一例を示す図である。 図3は、項目記憶部の一例を示す図である。 図4は、ページ記憶部の一例を示す図である。 図5は、抽出データ記憶部の一例を示す図である。 図6は、抽出対象部分の受付画面の一例を示す図である。 図7は、定義生成処理の一例を示すフローチャートである。 図8は、クロール処理の一例を示すフローチャートである。 図9は、クロール処理の他の一例を示すフローチャートである。 図10は、情報取得プログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示する情報取得プログラム、情報取得方法および情報取得装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組み合わせてもよい。
図1は、データ取得装置の構成の一例を示すブロック図である。図1に示すデータ取得装置100は、例えば、ネットワークNを介してインターネットに接続され、管理者に指定されたインターネット上のホームページ(以下、サイトともいう)を巡回し、所定のデータを取得してデータベースに蓄積する。データ取得装置100は、例えば、ある地域の観光情報を取得するために、観光スポットのサイトや都道府県が設けた観光情報サイトを巡回して、各観光スポットの住所、電話番号、説明文等のデータを取得する。このとき、各観光スポットのサイトや観光情報サイトでは、各種データのフォーマットが統一されていない場合が多い。このため、データ取得装置100は、取得するデータ項目の定義を予め生成し、定義に基づいて各サイトからデータを取得する。また、ある観光スポットの情報は、1つのサイトでは、所望のデータの全てについて取得できない場合がある。このため、データ取得装置100は、他のサイトの情報等を用いてある観光スポットの情報を補完する。
すなわち、データ取得装置100は、あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で所定の関連を有する他のデータの位置を特定する情報とを記憶部120に記憶する。データ取得装置100は、記憶部120を参照して、あるサイトの文書中における特定のデータの位置を特定する情報を用いて特定のデータを取得する。また、データ取得装置100は、記憶部120を参照して、文書中における特定のデータに関連する他のデータの位置を用いて他のデータを取得するとともに、取得した他のデータを用いて他のデータと所定の関連を有するデータを取得する。これにより、データ取得装置100は、各種データ、つまり文書に記載すべき情報の一部が不足した文書について、文書に記載すべき情報を補完できる。
ここで、文書としては、例えば、マークアップ言語で記述された文書が挙げられ、例えばHTML(HyperText Markup Language)文書、XML(Extensible Markup Language)文書等が挙げられる。なお、以下の説明では、一例として、HTML文書を用いたホームページを巡回し、不足するデータを補完する場合について説明する。
次に、データ取得装置100の構成について説明する。図1に示すように、データ取得装置100は、入力部101と、出力部102と、通信部110と、記憶部120と、制御部130とを有する。なお、データ取得装置100は、情報取得装置の一例である。また、データ取得装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。
入力部101は、例えば、キーボードやマウス等の入力デバイスであり、データ取得装置100の管理者から各種情報の入力を受け付ける。例えば、入力部101は、データ取得装置100の管理者により、巡回するサイトのURL、取得するデータ項目等が入力され、入力結果を制御部130に出力する。また、入力部101は、例えば、SD(Secure Digital)メモリカード等のリーダライタであってもよい。入力部101は、例えば、SDメモリカードから読み込んだ、巡回するサイトのURL、取得するデータ項目等を制御部130に出力する。なお、入力部101は、入力デバイスとSDメモリカード等のリーダライタとの双方を有してもよい。
出力部102は、例えば、各種情報を表示するための表示デバイスである。出力部102は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。また、出力部102は、SDメモリカード等のリーダライタであってもよい。出力部102は、制御部130から出力データが入力されると、出力データについて表示またはメモリカードへの書き込みを行う。なお、入力部101および出力部102は、一体化されてもよく、例えば、SDメモリカード等のリーダライタのように、双方の機能を有するデバイスであってもよい。また、出力部102は、例えば、表示デバイスとSDカードリーダライタの双方を有してもよい。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークNを介して、例えばインターネットと有線または無線で接続され、インターネット上の各種サイトのサーバとの間で情報の通信を司る通信インタフェースである。通信部110は、インターネット上の各種サイトからページ内容、例えば、HTML文書、画像ファイルや、問合せ情報に対する応答情報等を受信する。通信部110は、受信したページ内容および応答情報を制御部130に出力する。また、通信部110は、制御部130から入力されたページ要求、問合せ情報等をインターネット上の各種サイトに送信する。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、対象記憶部121と、項目記憶部122と、ページ記憶部123と、抽出データ記憶部124とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
対象記憶部121は、データを取得するクロール処理の対象となるサイトのURL(以下、対象URLという)と、HTML文書における抽出対象部分の位置特定情報とを対応付けて記憶する。すなわち、対象記憶部121は、対象URLの定義を記憶する。図2は、対象記憶部の一例を示す図である。図2に示すように、対象記憶部121は、「URLID」、「対象URL」、「抽出対象部分の位置特定情報」といった項目を有する。また、「抽出対象部分の位置特定情報」は、「タイトル」、「住所」といった項目を有する。なお、抽出対象部分の位置特定情報は、図示はしないが、他にも、施設名称、電話番号、更新日、位置情報、説明文といった項目を有する。対象記憶部121は、例えば、1つの対象URLごとに1レコードとして記憶する。
「URLID」は、対象URLを識別する。「対象URL」は、クロール処理でアクセスする対象となるHTML文書のURLを示す。対象URLは、例えば、管理者によって入力部101の入力デバイスにより入力される。「抽出対象部分の位置特定情報」は、対象URLのHTML文書内における抽出対象部分の位置を特定するための情報を示す。「タイトル」は、対象となるHTML文書内のタイトルについて、タグの名称、タグの文書内における順番、および、タグの階層構造のうち1つ以上を組み合わせて、タグの階層構造上の位置を示す。「住所」は、対象となるHTML文書内の住所について、タグの名称、タグの文書内における順番、および、タグの階層構造のうち1つ以上を組み合わせて、タグの階層構造上の位置を示す。
図2の1行目の例では、URLIDが「1」の対象URL「http://aaaa.bbb.ccc/ddd/eee/001.html」のHTML文書内における、タイトルおよび住所の位置特定情報を示す。タイトルの位置特定情報は、例えば、「<DIV class="title"> </DIV>,順番:1,/title/」と表現される。「<DIV class="title"> </DIV>」は、例えば、CSS(Cascading Style Sheets)セレクタを用いて抽出したタイトルを示すタグの名称を示す。「順番:1」は、当該HTML文書内のタイトルを示すタグのうち、1番目のタグを示す。「/title/」は、当該HTML文書のタイトルを示すタグの階層構造を示す。なお、当該HTML文書からタイトルとして抜き出されるデータは、DIVタグに囲まれた部分となる。
同様に、住所の位置特定情報は、例えば、「<DIV class="address"> </DIV>,順番:1,/info/address/」と表現される。「<DIV class="address"> </DIV>」は、例えば、CSSセレクタを用いて抽出した住所を示すタグの名称を示す。「順番:1」は、当該HTML文書内の住所を示すタグのうち、1番目のタグを示す。「/info/address/」は、当該HTML文書の住所を示すタグの階層構造を示す。なお、当該HTML文書から住所として抜き出されるデータは、DIVタグに囲まれた部分となる。また、抽出対象部分の位置特定情報は、タグの名称、タグの順番、および、タグの階層構造のうち1つ以上を用いて特定してもよい。
また、タグの名称は、正規表現を用いて表してもよい。図2の2行目の例では、住所を示すタグの名称を「/<DIV.*>(.+)</DIV>/ /住所:(.+)$/」と表現している。正規表現では、DIVタグに囲まれた箇所、または、「住所:」の後ろに続く箇所が、住所として抜き出されるデータとなる。さらに、抽出対象部分の位置特定情報は、CSSセレクタと正規表現を組み合わせてもよい。
また、図2の3行目の例のように、抽出対象部分の位置特定情報は、切り出し手法を用いて表現してもよい。この場合には、タイトルの位置特定情報は、例えば、CSSセレクタを用いて「div#left h2,順番:3,/tps/table/」と表現される。また、住所の位置特定情報は、例えば、CSSセレクタと正規表現とを用いて「#infoContent @<h3>所在地</h3>\s+?<p>(.+?)</p>@is,順番:5,/info/address/」と表現される。
図1の説明に戻って、項目記憶部122は、対象URLのページ内容から抽出するデータ項目の定義を記憶する。図3は、項目記憶部の一例を示す図である。図3に示すように、項目記憶部122は、「項目ID」、「データ名」、「データ型」、「切り出し手法」、「関連」といった項目を有する。項目記憶部122は、例えば、1つのデータ名ごとに、1レコードとして記憶する。
「項目ID」は、データ項目、すなわちデータ名を識別する。「データ名」は、抽出するデータの名前を示す。データ名は、例えば、タイトル、住所(住所情報)、施設名称(施設名称情報)、電話番号、更新日、位置情報(位置座標情報)、説明文といったデータが挙げられる。「データ型」は、抽出したデータを抽出データ記憶部124に記憶する際の当該データの型を示す。データ型は、例えば、文字、数字、日付、緯度経度といった型が挙げられる。「切り出し手法」は、対象URLのページ内容からデータを切り出す、つまり抜き出す手法を示す。切り出し手法は、例えば、CSSセレクタ、正規表現といった手法が挙げられる。「関連」は、データ名のうち、関連のあるデータ名を示す。関連は、例えば、住所と関連するデータ名として、施設名称、電話番号、位置情報といったデータ名が挙げられる。
図1の説明に戻って、ページ記憶部123は、対象URLについて、クロール処理でアクセスして取得したページ内容、すなわち、HTML文書、画像ファイル等を記憶する。図4は、ページ記憶部の一例を示す図である。図4に示すように、ページ記憶部123は、「URLID」、「対象URL」、「記憶領域」といった項目を有する。ページ記憶部123は、例えば、1つの対象URLごとに1レコードとして記憶する。
「URLID」は、対象URLを識別する。「対象URL」は、クロール処理でアクセスしたHTML文書のURLを示す。「記憶領域」は、取得したHTML文書や画像ファイル等を記憶した記憶領域を示す。記憶領域は、例えば、記憶部120のファイルシステムのディレクトリを記憶し、対応するディレクトリにHTML文書や画像ファイル等を記憶する。なお、ページ記憶部123は、記憶領域に、取得したHTML文書や画像ファイルを直接記憶するようにしてもよい。
図1の説明に戻って、抽出データ記憶部124は、HTML文書から抽出された、抽出対象部分のデータを記憶する。すなわち、抽出データ記憶部124は、クロール処理によって収集されたデータを格納するデータベースである。図5は、抽出データ記憶部の一例を示す図である。図5に示すように、抽出データ記憶部124は、「URLID」、「タイトル」、「住所」、「施設名称」、「電話番号」、「更新日」、「位置情報」、「説明文」といった項目を有する。抽出データ記憶部124は、例えば、1つのURLIDごとに1レコードとして記憶する。
「URLID」は、対象URLを識別する。「タイトル」は、対象URLのHTML文書から抽出されたデータ項目の1つであり、対象URLのHTML文書のタイトルを示す。「住所」は、対象URLのHTML文書から抽出されたデータ項目の1つであり、対象URLのHTML文書内に記載された住所を示す。「施設名称」は、対象URLのHTML文書から抽出されたデータ項目の1つであり、対象URLのHTML文書内に記載された施設の名称を示す。なお、タイトルと施設名称が同一である場合には、施設名称としてタイトルと同じデータを用いてもよい。
「電話番号」は、対象URLのHTML文書から抽出されたデータ項目の1つであり、対象URLのHTML文書内に記載された電話番号を示す。「更新日」は、対象URLのHTML文書から抽出されたデータ項目の1つであり、対象URLのHTML文書内に記載された更新日を示す。「位置情報」は、緯度経度を示す。緯度経度は、対象URLのHTML文書から抽出された住所に基づいて、例えば、外部のAPI(Application Programming Interface)サービスを利用することで取得される。なお、位置情報は、HTML文書内に緯度経度の記載があれば、当該緯度経度であってもよい。「説明文」は、対象URLのHTML文書から抽出されたデータ項目の1つであり、例えば、対象URLのHTML文書が観光スポットに関する文書であれば、文書内の観光スポットに関する説明文を示す。なお、住所等の各項目は、HTML文書内に記載がない場合には、例えば、タイトルに記載された観光スポット名を用いて、外部のAPIサービスを利用することで取得された住所等であってもよい。
図1の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部130は、登録部131と、クロール部132と、抽出部133と、補完部134と、出力制御部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
登録部131は、対象URLの定義およびデータ項目の定義を登録する。登録部131は、例えば、管理者が入力部101を操作することにより、抽出対象部分とするデータ名、データ型、切り出し手法および関連の入力を受け付ける。登録部131は、受け付けたデータ名、データ型、切り出し手法および関連を対応付けて、データ項目の定義を生成する。登録部131は、生成したデータ項目の定義を項目記憶部122に記憶する。つまり、登録部131は、生成したデータ項目の定義を項目記憶部122に登録する。なお、関連の項目は、入力されたデータ名に基づいて、登録部131が自動で割り当てるようにしてもよい。
登録部131は、対象URLに対応するHTML文書のソースを出力部102に出力して表示させる。登録部131は、例えば、管理者が入力部101を操作することにより、表示させた対象URLに対応するHTML文書のソース上で、抽出対象部分の選択を受け付ける。なお、登録部131は、対象URLのHTML文書を表示させて、HTML文書上で抽出対象部分の選択を受け付けるようにしてもよい。
登録部131は、受け付けた抽出対象部分に対応するタグの階層構造上の位置を特定する。登録部131は、特定した階層構造上の位置を抽出対象部分の位置特定情報とする。また、登録部131は、抽出対象部分に対応するタグの名称、および、タグの文書内における順番を、特定した階層構造上の位置とともに抽出対象部分の位置特定情報とする。登録部131は、対象URLのHTML文書内の各データ項目について、抽出対象部分の選択を受け付けて、タグの階層構造上の位置を特定する。また、登録部131は、対象URLが複数ある場合には、それぞれの対象URLに対応するHTML文書について、同様に抽出対象部分に対応するタグの階層構造上の位置を特定する。登録部131は、対象URLと抽出対象部分の位置特定情報とを対応付けて、対象URLの定義を生成する。登録部131は、生成した対象URLの定義を対象記憶部121に記憶する。つまり、登録部131は、生成した対象URLの定義を対象記憶部121に登録する。
ここで、図6を用いて、抽出対象部分の受付画面について説明する。図6は、抽出対象部分の受付画面の一例を示す図である。図6に示すように、受付画面21は、HTML文書のソースを表示する領域22と、抽出対象部分の選択を受け付ける領域23とを有する。登録部131は、例えば、抽出対象部分として住所の選択を受け付ける場合には、領域23内の抽出対象部分の選択欄で、住所が選択される。登録部131は、住所が選択されると、住所に対応するデータ項目の定義を項目記憶部122から読み出して抽出定義欄24に表示する。なお、抽出定義欄24は、編集可能なテキストとして表示されるようにしてもよい。
登録部131は、抽出定義欄24のCSSセレクタおよび正規表現のうち1つ以上に対応する部分を、領域22に表示されたソース上に抽出対象部分25として、例えばバックグラウンドを着色して表示させる。登録部131は、管理者により抽出対象部分25が確認され、例えば、図示しないユーザインタフェース上の選択ボタンが押下されることで、抽出対象部分25の選択を受け付ける。また、登録部131は、例えば、管理者のマウス操作によって領域22の抽出対象部分25が選択され、選択された抽出対象部分25を受け付けるようにしてもよい。
さらに、登録部131は、抽出対象部分25に対して、不要な文字を削る変換処理をしてもよい。図6の例では、登録部131は、管理者によって設定された変換処理欄26の変換定義を用いて、抽出対象部分25の文字列に対して変換処理を行う。登録部131は、例えば、変換結果27を抽出対象部分25の下に挿入して、バックグラウンドを抽出対象部分25と異なる色に着色して表示させる。登録部131は、変換処理を行った場合には、変換結果27を抽出対象部分として選択させて受け付けることができる。
図1の説明に戻って、クロール部132は、対象記憶部121を参照して、対象URLを含むホームページ、例えば、ある観光情報サイトのトップページにアクセスする。すなわち、クロール部132は、ある観光情報サイトのサーバに対して通信部110を介してページ要求を送信し、当該サーバから通信部110を介してページ内容を受信する。クロール部132は、例えば、定期的または不定期に、つまり予め管理者によって指定された間隔または任意のタイミングで、対象URLを含むホームページにアクセスする。指定された間隔は、例えば、1日、1週間、1ヶ月等のように任意の間隔とすることができる。クロール部132は、対象記憶部121を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象URLを選定する。クロール部132は、例えば、観光スポットごとのページの対象URLを選定する。クロール部132は、選定した対象URLからページ内容を取得する。クロール部132は、取得したページ内容をページ記憶部123に記憶する。また、クロール部132は、ページ内容の取得が完了したことを示す取得完了情報を抽出部133に出力する。
抽出部133は、クロール部132から取得完了情報が入力されると、対象記憶部121の抽出対象部分の位置特定情報を参照して、ページ記憶部123に記憶された対象URLのページ内容から、抽出対象部分のデータ項目のデータを抽出する。抽出部133は、抽出したデータをURLIDと対応付けて、項目記憶部122のデータ項目の定義に従って、抽出データ記憶部124に記憶する。
抽出部133は、抽出したデータのうち、特定のデータが抽出できたか否かを判定する。抽出部133は、特定のデータが抽出できた場合には、対象記憶部121および項目記憶部122を参照して、抽出した特定のデータに関連する他のデータの位置特定情報に基づき他のデータを抽出する。抽出部133は、例えば、特定のデータが施設名称であり、施設名称が抽出できた場合に、施設名称に関連する他のデータとして、例えば、住所を抽出する。抽出部133は、抽出した他のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、補完部134に抽出完了情報を出力する。なお、抽出部133は、抽出した他のデータが既に抽出データ記憶部124に記憶されている場合には、他のデータを新たに記憶せずに補完部134に抽出完了情報を出力する。
抽出部133は、特定のデータが抽出できない場合には、対象記憶部121および項目記憶部122を参照して、特定のデータに関連する他のデータの位置特定情報に基づき他のデータを抽出する。抽出部133は、例えば、特定のデータが施設名称であり、施設名称が抽出できない場合に、施設名称に関連する他のデータとして、例えば、住所を抽出する。抽出部133は、抽出した他のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、他のデータと所定の関連を有するデータの取得を要求する補完要求情報を補完部134に出力する。なお、他のデータと所定の関連を有するデータには、特定のデータが含まれ、上述の例では、施設名称が含まれる。なお、抽出部133は、抽出した他のデータが既に抽出データ記憶部124に記憶されている場合には、他のデータを新たに記憶せずに補完部134に補完要求情報を出力する。
抽出部133は、抽出対象部分のデータ項目のデータを抽出する場合に、項目記憶部122の切り出し手法で指定された手法を用いて抽出する。抽出部133は、例えば、住所を示すタグの階層が「/info/address/」で定義され、例えば「.address」と記述されたCSSセレクタを用いることで住所を抽出する。この場合には、抽出部133は、例えば、タグ内に「address」を含む項目を、住所として切り出すことができる。
また、抽出部133は、例えば、1行目に「.info」と記述され、2行目に「/<DIV.*>(.+)</DIV>/」と記述され、3行目に「/住所:(.+)$/」と記述された正規表現を用いることで住所を抽出する。この場合には、抽出部133は、例えば、DIVタグのクラスが「info」であるタグに含まれる階層から、「住所:」の文字列の後に続く文字列を住所として切り出すことができる。
補完部134は、抽出部133から抽出完了情報が入力されると、項目記憶部122および抽出データ記憶部124を参照して、抽出した他のデータを用いて他のデータと所定の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する。補完部134は、例えば、他のデータが住所である場合には、住所を含む問合せ情報を、住所を受信することで緯度経度を示す位置情報を返信するAPIサービスを提供するサーバに、通信部110およびネットワークNを介して送信する。補完部134は、当該サーバから問合せ情報に対する応答情報を、通信部110およびネットワークNを介して受信することで、他のデータと所定の関連を有するデータとして、位置情報を取得する。補完部134は、取得した他のデータと所定の関連を有するデータ、例えば住所に対応する位置情報を、対象URLのURLIDと対応付けて抽出データ記憶部124に記憶する。
補完部134は、抽出部133から補完要求情報が入力されると、項目記憶部122および抽出データ記憶部124を参照して、抽出した他のデータを用いて他のデータと所定の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する。補完部134は、例えば、他のデータが住所である場合には、住所を含む問合せ情報を、住所を受信することで施設名称を返信するAPIサービスを提供するサーバに、通信部110およびネットワークNを介して送信する。補完部134は、当該サーバから問合せ情報に対する応答情報を、通信部110およびネットワークNを介して受信することで、他のデータと所定の関連を有するデータとして、施設名称を取得する。すなわち、補完部134は、HTML文書から抽出できなかった施設名称について、補完することができる。
また、補完部134は、例えば、他のデータが住所である場合には、住所を含む問合せ情報を、住所を受信することで緯度経度を示す位置情報を返信するAPIサービスを提供するサーバに、通信部110およびネットワークNを介して送信する。補完部134は、当該サーバから問合せ情報に対する応答情報を、通信部110およびネットワークNを介して受信することで、他のデータと所定の関連を有するデータとして、位置情報を取得する。補完部134は、取得した他のデータと所定の関連を有するデータ、例えば、住所に対応する施設名称および位置情報を、対象URLのURLIDと対応付けて抽出データ記憶部124に記憶する。補完部134は、他のデータと所定の関連を有するデータを、抽出データ記憶部124に記憶すると、出力情報を出力制御部135に出力する。
すなわち、抽出部133は、あるサイトの文書中における特定のデータの位置を特定する情報を用いて特定のデータを取得する処理が実行できない場合に、文書中における特定のデータに関連する他のデータの位置を用いて他のデータを取得する。また、補完部134は、取得した他のデータを用いて他のデータと所定の関連を有するデータを取得する。補完部134は、取得した他のデータと所定の関連を有するデータを対象URLのURLIDと対応付けて抽出データ記憶部124に記憶する。補完部134は、取得した他のデータと所定の関連を有するデータを抽出データ記憶部124に記憶すると、出力情報を出力制御部135に出力する。
補完部134は、APIサービスとして、上述した住所と位置情報との関連を返信するサービスの他に、電話番号と施設名称との関連を相互に返信するサービスを用いることができる。また、補完部134は、APIサービスとして、例えば、タイトル、施設名称、住所、電話番号、位置情報、公式サイト等を相互に関連付けたデータベースを有し、これらのうち1つ以上の情報を受信すると他の情報を返信するAPIサービスを用いてもよい。例えば、住所と緯度経度との関連情報を提供するAPIサービスとしては、住所および緯度経度について相互に関連を有する情報を提供できるGoogle Maps API等が挙げられる。また、例えば、電話番号および施設名称について相互に関連を有する情報を提供できるAPIサービスとしては、Foursquare API等が挙げられる。言い換えると、補完部134は、他のデータを所定の関連に応じた検索エンジンに提供することで、他のデータと所定の関連を有するデータを取得する。
また、補完部134は、他のデータと所定の関連を有するデータとして、所定の関連を有する複数のデータを、インターネット上のAPIサービスから取得するようにしてもよい。補完部134は、例えば、HTML文書から施設名称が抽出できない場合に、施設名称に関連する住所をHTML文書から抽出し、住所に関連する位置情報についてAPIサービスを用いて取得する。また、補完部134は、例えば、施設名称に関連する電話番号を抽出し、電話番号に関連する施設名称についてAPIサービスを用いて取得する。なお、補完部134は、複数のデータについて、1つ目のデータが取得できない場合に、2つ目のデータを取得するといった処理を行ってもよいし、複数のデータをそれぞれ取得するような処理を行ってもよい。
すなわち、抽出部133は、あるサイトの文書中における特定のデータの位置を特定する情報を用いて特定のデータを得る処理が実行できない場合に、文書中における特定のデータに関連する第一のデータの位置を用いて第一のデータを取得する。また、補完部134は、取得した第一のデータを用いて第一のデータと第一の関連を有するデータを取得する。さらに、抽出部133は、第一のデータと第一の関連を有するデータが取得できない場合に、文書中における特定のデータに関連する第二のデータの位置を用いて第二のデータを取得する。また、補完部134は、取得した第二のデータを用いて第二のデータと第二の関連を有するデータを取得する。補完部134は、取得した第一のデータと第一の関連を有するデータ、または、第二のデータと第二の関連を有するデータを対象URLのURLIDと対応付けて抽出データ記憶部124に記憶する。補完部134は、取得した第一のデータと第一の関連を有するデータ、または、第二のデータと第二の関連を有するデータを抽出データ記憶部124に記憶すると、出力情報を出力制御部135に出力する。
出力制御部135は、補完部134から出力情報が入力されると、抽出データ記憶部124を参照して、抽出および取得したデータを出力データとして出力部102に出力して表示させる。また、出力制御部135は、抽出したデータの出力時に、過去のクロール処理または補完処理によって取得して抜き出したデータと、今回のクロール処理または補完処理によって取得して抜き出したデータとが異なる場合には、例えば表示色を変更するようにしてもよい。なお、出力制御部135は、出力部102がSDメモリカード等のリーダライタである場合には、抽出および取得したデータを出力データとして出力部102に出力して、SDメモリカード等に記憶させる。
次に、実施例のデータ取得装置100の動作について説明する。まず、クロール処理の対象URLの定義と、抜き出すデータ項目の定義とを生成する定義生成処理について説明する。
図7は、定義生成処理の一例を示すフローチャートである。登録部131は、例えば、管理者が入力部101を操作することにより、抽出対象部分とするデータ名、データ型、切り出し手法および関連の入力を受け付ける(ステップS1)。登録部131は、受け付けたデータ名、データ型、切り出し手法および関連を対応付けて、データ項目の定義を生成する。登録部131は、生成したデータ項目の定義を項目記憶部122に登録する(ステップS2)。
登録部131は、対象URLに対応するHTML文書のソースを出力部102に出力して表示させる(ステップS3)。登録部131は、例えば、管理者が入力部101を操作することにより、表示させた対象URLに対応するHTML文書のソース上で、抽出対象部分の選択を受け付ける(ステップS4)。登録部131は、受け付けた抽出対象部分に対応するタグの階層構造上の位置を特定する(ステップS5)。登録部131は、特定した階層構造上の位置を抽出対象部分の位置特定情報とする(ステップS6)。また、登録部131は、抽出対象部分に対応するタグの名称、および、タグの文書内における順番を、特定した階層構造上の位置とともに抽出対象部分の位置特定情報とする。なお、登録部131は、対象URLのHTML文書内に複数のデータ項目がある場合には、それぞれ抽出対象部分の選択を受け付けて、タグの階層構造上の位置を特定する。
登録部131は、対象URLと抽出対象部分の位置特定情報とを対応付けて、対象URLの定義を生成する。登録部131は、生成した対象URLの定義を対象記憶部121に登録する(ステップS7)。これにより、データ取得装置100は、データ項目の定義と対象URLの定義を登録することができる。
続いて、クロール処理について説明する。図8は、クロール処理の一例を示すフローチャートである。クロール部132は、対象記憶部121を参照して、対象URLを含むホームページにアクセスする(ステップS11)。クロール部132は、対象記憶部121を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象URLを選定する(ステップS12)。
クロール部132は、選定した対象URLからページ内容を取得する(ステップS13)。クロール部132は、取得したページ内容をページ記憶部123に記憶する。また、クロール部132は、ページ内容の取得が完了したことを示す取得完了情報を抽出部133に出力する。
抽出部133は、クロール部132から取得完了情報が入力されると、対象記憶部121の抽出対象部分の位置特定情報を参照して、ページ記憶部123に記憶された対象URLのページ内容から、抽出対象部分のデータ項目のデータを抽出する(ステップS14)。
抽出部133は、抽出したデータをURLIDと対応付けて、抽出データ記憶部124に記憶する(ステップS15)。抽出部133は、抽出したデータのうち、特定のデータが抽出できたか否かを判定する(ステップS16)。抽出部133は、特定のデータが抽出できた場合には(ステップS16:肯定)、対象記憶部121および項目記憶部122を参照して、抽出した特定のデータに関連する他のデータの位置特定情報に基づき他のデータを抽出する(ステップS17)。抽出部133は、抽出した他のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、補完部134に抽出完了情報を出力する。
補完部134は、抽出部133から抽出完了情報が入力されると、項目記憶部122および抽出データ記憶部124を参照して、抽出した他のデータを用いて他のデータと所定の関連を有するデータを取得する(ステップS18)。補完部134は、他のデータと所定の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する。
抽出部133は、特定のデータが抽出できない場合には(ステップS16:否定)、対象記憶部121および項目記憶部122を参照して、特定のデータに関連する他のデータの位置特定情報に基づき他のデータを抽出する(ステップS19)。抽出部133は、抽出した他のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、他のデータと所定の関連を有するデータの取得を要求する補完要求情報を補完部134に出力する。
補完部134は、抽出部133から補完要求情報が入力されると、項目記憶部122および抽出データ記憶部124を参照して、抽出した他のデータを用いて他のデータと所定の関連を有するデータを取得する(ステップS20)。補完部134は、他のデータと所定の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する。
補完部134は、取得した他のデータと所定の関連を有するデータを、URLIDと対応付けて抽出データ記憶部124に記憶する(ステップS21)。補完部134は、他のデータと所定の関連を有するデータを、抽出データ記憶部124に記憶すると、出力情報を出力制御部135に出力する。出力制御部135は、補完部134から出力情報が入力されると、抽出データ記憶部124を参照して、抽出および取得したデータを出力データとして出力部102に出力して表示させる(ステップS22)。これにより、データ取得装置100は、不足するデータ、つまり情報についてAPIサービスを用いて補完できるので、文書に記載すべき情報を補完できる。
次に、クロール処理の他の一例について説明する。図9は、クロール処理の他の一例を示すフローチャートである。図9に示すクロール処理は、図8のクロール処理と比べて、特定のデータに関連する他のデータの抽出、および、他のデータと関連を有するデータの取得を複数のデータについて行う点が異なる。
クロール部132は、対象記憶部121を参照して、対象URLを含むホームページにアクセスする(ステップS11)。クロール部132は、対象記憶部121を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象URLを選定する(ステップS12)。
クロール部132は、選定した対象URLからページ内容を取得する(ステップS13)。クロール部132は、取得したページ内容をページ記憶部123に記憶する。また、クロール部132は、ページ内容の取得が完了したことを示す取得完了情報を抽出部133に出力する。
抽出部133は、クロール部132から取得完了情報が入力されると、対象記憶部121の抽出対象部分の位置特定情報を参照して、ページ記憶部123に記憶された対象URLのページ内容から、抽出対象部分のデータ項目のデータを抽出する(ステップS14)。
抽出部133は、抽出したデータをURLIDと対応付けて、抽出データ記憶部124に記憶する(ステップS15)。抽出部133は、抽出したデータのうち、特定のデータが抽出できたか否かを判定する(ステップS16)。抽出部133は、特定のデータが抽出できた場合には(ステップS16:肯定)、対象記憶部121および項目記憶部122を参照して、抽出した特定のデータに関連する第一のデータの位置特定情報に基づき第一のデータを抽出する(ステップS31)。抽出部133は、抽出した第一のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、補完部134に抽出完了情報を出力する。
補完部134は、抽出部133から抽出完了情報が入力されると、抽出した第一のデータを用いて第一のデータと第一の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する(ステップS32)。
抽出部133は、特定のデータが抽出できない場合には(ステップS16:否定)、対象記憶部121および項目記憶部122を参照して、特定のデータに関連する第一のデータの位置特定情報に基づき第一のデータを抽出する(ステップS33)。抽出部133は、抽出した第一のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、第一のデータと第一の関連を有するデータの取得を要求する補完要求情報を補完部134に出力する。
補完部134は、抽出部133から補完要求情報が入力されると、抽出した第一のデータを用いて第一のデータと第一の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する(ステップS34)。
抽出部133は、補完部134が第一のデータと第一の関連を有するデータが取得できたか否かを判定する(ステップS35)。抽出部133は、補完部134が第一のデータと第一の関連を有するデータが取得できた場合には(ステップS35:肯定)、ステップS38に進む。抽出部133は、補完部134が第一のデータと第一の関連を有するデータが取得できない場合には(ステップS35:否定)、特定のデータに関連する第二のデータの位置特定情報に基づき第二のデータを抽出する(ステップS36)。すなわち、抽出部133は、対象記憶部121および項目記憶部122を参照して、特定のデータに関連する第二のデータの位置特定情報に基づき第二のデータを抽出する。抽出部133は、抽出した第二のデータをURLIDと対応付けて、抽出データ記憶部124に記憶すると、第二のデータと第二の関連を有するデータの取得を要求する補完要求情報を補完部134に出力する。
補完部134は、抽出部133から補完要求情報が入力されると、抽出した第二のデータを用いて第二のデータと第二の関連を有するデータを、例えば、インターネット上のAPIサービスから取得する(ステップS37)。
補完部134は、取得した、第一のデータと第一の関連を有するデータ、または、第二のデータと第二の関連を有するデータを、URLIDと対応付けて抽出データ記憶部124に記憶する(ステップS38)。補完部134は、第一のデータと第一の関連を有するデータ、または、第二のデータと第二の関連を有するデータを、抽出データ記憶部124に記憶すると、出力情報を出力制御部135に出力する。出力制御部135は、補完部134から出力情報が入力されると、抽出データ記憶部124を参照して、抽出および取得したデータを出力データとして出力部102に出力して表示させる(ステップS39)。これにより、データ取得装置100は、1つ目の関連するデータが取得できない場合に、2つ目の関連するデータを取得することができ、より文書に記載すべき情報を補完できる。
このように、データ取得装置100は、あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で所定の関連を有する他のデータの位置を特定する情報とを記憶部120に記憶する。データ取得装置100は、記憶部120を参照して、あるサイトの文書中における特定のデータの位置を特定する情報を用いて特定のデータを取得する。また、データ取得装置100は、記憶部120を参照して、文書中における特定のデータに関連する他のデータの位置を用いて他のデータを取得するとともに、取得した他のデータを用いて他のデータと所定の関連を有するデータを取得する。その結果、文書に記載すべき情報を補完できる。
また、データ取得装置100は、他のデータを所定の関連に応じた検索エンジンに提供することで他のデータと所定の関連を有するデータを取得する。その結果、より文書に記載すべき情報を補完できる。
また、データ取得装置100は、あるサイトの文書中における特定のデータの位置を特定する情報を用いて特定のデータを取得する処理が実行できない場合に、文書中における特定のデータに関連する他のデータの位置を用いて他のデータを取得する。また、データ取得装置100は、取得した他のデータを用いて他のデータと所定の関連を有するデータを取得する。その結果、文書から特定のデータを抽出できない場合であっても、他のデータを用いて特定のデータを補完することができる。
また、データ取得装置100は、文書として、マークアップ言語を用いた文書を用いる。その結果、タグの階層構造上の位置を用いてデータの位置を特定できる。
また、データ取得装置100は、所定の関連として、住所情報と位置座標情報、または、電話番号と施設名称情報を用いる。その結果、より文書に記載すべき情報を補完できる。
また、データ取得装置100は、あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第一の関連を有する第一のデータの位置を特定する情報とを記憶部120に記憶する。また、データ取得装置100は、該文書中における該特定のデータとの間で第二の関連を有する第二のデータの位置を特定する情報を記憶部120に記憶する。データ取得装置100は、記憶部120を参照して、あるサイトの文書中における特定のデータの位置を特定する情報を用いて特定のデータを得る処理が実行できない場合に、文書中における特定のデータに関連する第一のデータの位置を用いて第一のデータを取得する。また、データ取得装置100は、記憶部120を参照して、第一のデータと第一の関連を有するデータが取得できない場合に、文書中における特定のデータに関連する第二のデータの位置を用いて第二のデータを取得する。また、データ取得装置100は、取得した第二のデータを用いて第二のデータと第二の関連を有するデータを取得する。その結果、1つ目の関連するデータが取得できない場合に、2つ目の関連するデータを取得することができ、より文書に記載すべき情報を補完できる。
なお、上記実施例では、特定のデータに関連する他のデータの抽出、および、他のデータと関連を有するデータの取得を複数のデータについて行う場合に、2つのデータについて説明したが、これに限定されない。例えば、特定のデータに関連する他のデータの抽出数、および、他のデータと関連を有するデータの取得数は、任意の数のデータについて行うようにしてもよい。
また、上記実施例では、住所と位置情報、電話番号と施設名称とが所定の関連を有し、相互に補完する場合を一例として説明したが、これに限定されない。例えば、観光スポットの説明文が取得できない場合には、観光スポットの名称または施設名称と、当該観光スポットまたは施設の住所とに基づいて、インターネット上のAPIサービスや観光スポットの公式サイト等から説明文を取得するようにしてもよい。
また、上記実施例では、インターネット上のサイトから取得したHTML文書からデータを抽出したが、これに限定されない。例えば、SDメモリカードに格納したHTML文書を入力部101を介して取得して、取得したHTML文書からデータを抽出し、不足するデータをインターネット上のAPIサービスや観光スポットの公式サイト等から取得して補完するようにしてもよい。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、クロール部132と、抽出部133とを統合してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図10は、情報取得プログラムを実行するコンピュータの一例を示す図である。
図10が示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201〜208は、バス209に接続される。
ハードディスク装置208には、図1に示した登録部131、クロール部132、抽出部133、補完部134および出力制御部135の各処理部と同様の機能を有する情報取得プログラムが記憶される。また、ハードディスク装置208には、対象記憶部121、項目記憶部122、ページ記憶部123、抽出データ記憶部124、および、情報取得プログラムを実現するための各種データが記憶される。入力装置202は、入力部101と同等の機能を有し、例えば、コンピュータ200の管理者から、対象URL、定義、管理情報等の各種情報の入力を受け付ける。モニタ203は、出力部102と同等の機能を有し、例えば、コンピュータ200の管理者に対して管理情報の画面、受付画面、データ表示画面等の各種画面を表示する。インタフェース装置205は、例えば、印刷装置等が接続される。通信装置206は、例えば、図1に示した通信部110と同様の機能を有しネットワークNと接続され、インターネット上のサイトと各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図1に示した登録部131、クロール部132、抽出部133、補完部134および出力制御部135として機能させることができる。
なお、上記の情報取得プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの情報取得プログラムを記憶させておき、コンピュータ200がこれらから情報取得プログラムを読み出して実行するようにしてもよい。
100 データ取得装置
101 入力部
102 出力部
110 通信部
120 記憶部
121 対象記憶部
122 項目記憶部
123 ページ記憶部
124 抽出データ記憶部
130 制御部
131 登録部
132 クロール部
133 抽出部
134 補完部
135 出力制御部
N ネットワーク

Claims (10)

  1. あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で所定の関連を有する他のデータの位置を特定する情報とを記憶する第1記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて、前記文書から前記特定のデータを取得し、
    特定のデータの項目と他のデータの項目との所定の関連を、特定のデータの項目ごとに対応付けて記憶する第2記憶部を参照して、取得した前記特定のデータの項目に関連する他のデータの項目を特定し、
    前記第1記憶部を参照して、特定した前記他のデータの項目に対応する前記他のデータの位置を特定する情報を用いて、前記文書から前記他のデータを取得し、
    前記第2記憶部を参照して、取得した前記他のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と所定の関連を有する他のデータの項目を関連データの項目として特定し、
    前記第1記憶部を参照して、特定した前記関連データの項目に対応する特定のデータと所定の関連を有する前記他のデータの位置を特定する情報を用いて、取得した前記他のデータと前記所定の関連を有する前記関連データを取得する、
    処理をコンピュータに実行させることを特徴とする情報取得プログラム。
  2. 前記関連データを取得する処理は、取得した前記他のデータを、前記関連データとの間における前記所定の関連に応じた検索エンジンに提供することで前記関連データを取得することを特徴とする請求項1に記載の情報取得プログラム。
  3. 前記他のデータの項目を特定する処理は、前記特定のデータを取得する処理において、前記特定のデータが取得出来なかった場合に、取得を試みた前記特定のデータの項目に関連する他のデータの項目を特定する、
    ことを特徴とする請求項1に記載の情報取得プログラム。
  4. 前記文書は、マークアップ言語を用いた文書であることを特徴とする請求項1に記載の情報取得プログラム。
  5. 前記所定の関連は、住所情報と位置座標情報、または、電話番号と施設名称情報であることを特徴とする請求項1に記載の情報取得プログラム。
  6. あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第一の関連を有する第一のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第二の関連を有する第二のデータの位置を特定する情報とを記憶する第1記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて、前記文書から前記特定のデータが取得出来なかった場合に、特定のデータの項目と第一のデータの項目との第一の関連、および、特定のデータの項目と第二のデータの項目との第二の関連を、特定のデータの項目ごとに対応付けて記憶する第2記憶部を参照して、取得を試みた前記特定のデータの項目に関連する第一のデータの項目を特定し、
    前記第1記憶部を参照して、特定した前記第一のデータの項目に対応する前記第一のデータの位置を特定する情報を用いて、前記文書から前記第一のデータを取得し、
    前記第2記憶部を参照して、取得した前記第一のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と第一の関連を有する第一のデータの項目を第三のデータの項目として特定し、
    前記第1記憶部を参照して、特定した前記第三のデータの項目に対応する前記第一のデータの位置を特定する情報を用いて、取得した前記第一のデータと前記第一の関連を有する前記第三のデータを取得し、
    前記第三のデータが取得出来なかった場合に、前記第2記憶部を参照して、取得を試みた前記特定のデータの項目に関連する第二のデータの項目を特定し、
    前記第1記憶部を参照して、特定した前記第二のデータの項目に対応する前記第二のデータの位置を特定する情報を用いて、前記文書から前記第二のデータを取得し、
    前記第2記憶部を参照して、取得した前記第二のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と第二の関連を有する第二のデータの項目を関連データの項目として特定し、
    前記第1記憶部を参照して、特定した前記関連データの項目に対応する特定のデータと第二の関連を有する前記第二のデータの位置を特定する情報を用いて、取得した前記第二のデータと前記第二の関連を有する前記関連データを取得する、
    処理をコンピュータに実行させることを特徴とする情報取得プログラム。
  7. あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で所定の関連を有する他のデータの位置を特定する情報とを記憶する第1記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて、前記あるサイトのサーバから取得した前記文書から前記特定のデータを取得し、
    特定のデータの項目と他のデータの項目との所定の関連を、特定のデータの項目ごとに対応付けて記憶する第2記憶部を参照して、取得した前記特定のデータの項目に関連する他のデータの項目を特定し、
    前記第1記憶部を参照して、特定した前記他のデータの項目に対応する前記他のデータの位置を特定する情報用いて、前記あるサイトのサーバから取得した前記文書から前記他のデータを取得し、
    前記第2記憶部を参照して、取得した前記他のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と所定の関連を有する他のデータの項目を関連データの項目として特定し、
    前記第1記憶部を参照して、特定した前記関連データの項目に対応する特定のデータと所定の関連を有する前記他のデータの位置を特定する情報を用いて、取得した前記他のデータと前記所定の関連を有する前記関連データを前記文書から取得する、
    処理をコンピュータが実行することを特徴とする情報取得方法。
  8. あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第一の関連を有する第一のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第二の関連を有する第二のデータの位置を特定する情報とを記憶する第1記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて、前記あるサイトのサーバから取得した前記文書から前記特定のデータが取得出来なかった場合に、特定のデータの項目と第一のデータの項目との第一の関連、および、特定のデータの項目と第二のデータの項目との第二の関連を、特定のデータの項目ごとに対応付けて記憶する第2記憶部を参照して、取得を試みた前記特定のデータの項目に関連する第一のデータの項目を特定し、
    前記第1記憶部を参照して、特定した前記第一のデータの項目に対応する前記第一のデータの位置を特定する情報を用いて、前記文書から前記第一のデータを取得し、
    前記第2記憶部を参照して、取得した前記第一のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と第一の関連を有する第一のデータの項目を第三のデータの項目として特定し、
    前記第1記憶部を参照して、特定した前記第三のデータの項目に対応する前記第一のデータの位置を特定する情報を用いて、取得した前記第一のデータと前記第一の関連を有する前記第三のデータを前記文書から取得し、
    前記あるサイトのサーバから取得した前記文書から、前記第三のデータが取得出来なかった場合に、前記第2記憶部を参照して、取得を試みた前記特定のデータの項目に関連する第二のデータの項目を特定し、
    前記第1記憶部を参照して、特定した前記第二のデータの項目に対応する前記第二のデータの位置を特定する情報を用いて、前記文書から前記第二のデータを取得し、
    前記第2記憶部を参照して、取得した前記第二のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と第二の関連を有する第二のデータの項目を関連データの項目として特定し、
    前記第1記憶部を参照して、特定した前記関連データの項目に対応する特定のデータと第二の関連を有する前記第二のデータの位置を特定する情報を用いて、取得した前記第二のデータと前記第二の関連を有する前記関連データを前記文書から取得する、
    処理をコンピュータが実行することを特徴とする情報取得方法。
  9. あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で所定の関連を有する他のデータの位置を特定する情報とを記憶する第1記憶部と、
    特定のデータの項目と他のデータの項目との所定の関連を、特定のデータの項目ごとに対応付けて記憶する第2記憶部と、
    前記第1記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて、前記文書から前記特定のデータを取得する処理、取得した前記特定のデータの項目に関連する他のデータの項目を特定する処理、前記第1記憶部を参照して、特定した前記他のデータの項目に対応する前記他のデータの位置を特定する情報を用いて、前記文書から前記他のデータを取得する処理、前記第2記憶部を参照して、取得した前記他のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と所定の関連を有する他のデータの項目を関連データの項目として特定する処理、および、前記第1記憶部を参照して、特定した前記関連データの項目に対応する特定のデータと所定の関連を有する前記他のデータの位置を特定する情報を用いて、取得した前記他のデータと前記所定の関連を有する前記関連データを取得する処理の各処理を実行可能な制御部と、
    を有することを特徴とする情報取得装置。
  10. あるサイトの文書中における特定のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第一の関連を有する第一のデータの位置を特定する情報と、該文書中における該特定のデータとの間で第二の関連を有する第二のデータの位置を特定する情報とを記憶する第1記憶部と、
    特定のデータの項目と第一のデータの項目との第一の関連、および、特定のデータの項目と第二のデータの項目との第二の関連を、特定のデータの項目ごとに対応付けて記憶する第2記憶部と、
    前記第1記憶部を参照して、前記あるサイトの文書中における特定のデータの位置を特定する情報を用いて、前記文書から前記特定のデータが取得出来なかった場合に、前記第2記憶部を参照して、取得を試みた前記特定のデータの項目に関連する第一のデータの項目を特定する処理、前記第1記憶部を参照して、特定した前記第一のデータの項目に対応する前記第一のデータの位置を特定する情報を用いて、前記文書から前記第一のデータを取得する処理、前記第2記憶部を参照して、取得した前記第一のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と第一の関連を有する第一のデータの項目を第三のデータの項目として特定する処理、および、前記第1記憶部を参照して、特定した前記第三のデータの項目に対応する前記第一のデータの位置を特定する情報を用いて、取得した前記第一のデータと前記第一の関連を有する前記第三のデータを取得する処理の各処理を実行し、前記第三のデータが取得出来なかった場合に、前記第2記憶部を参照して、取得を試みた前記特定のデータの項目に関連する第二のデータの項目を特定する処理、前記第1記憶部を参照して、特定した前記第二のデータの項目に対応する前記第二のデータの位置を特定する情報を用いて、前記文書から前記第二のデータを取得する処理、前記第2記憶部を参照して、取得した前記第二のデータの項目を、特定のデータの項目とした場合における、該特定のデータの項目と第二の関連を有する第二のデータの項目を関連データの項目として特定する処理、および、前記第1記憶部を参照して、特定した前記関連データの項目に対応する特定のデータと第二の関連を有する前記第二のデータの位置を特定する情報を用いて、取得した前記第二のデータと前記第二の関連を有する前記関連データを取得する処理の各処理を実行可能な制御部と、
    を有することを特徴とする情報取得装置。
JP2016558844A 2014-11-14 2014-11-14 情報取得プログラム、情報取得方法および情報取得装置 Active JP6601412B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/080269 WO2016075830A1 (ja) 2014-11-14 2014-11-14 情報取得プログラム、情報取得方法および情報取得装置

Publications (2)

Publication Number Publication Date
JPWO2016075830A1 JPWO2016075830A1 (ja) 2017-08-31
JP6601412B2 true JP6601412B2 (ja) 2019-11-06

Family

ID=55953943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558844A Active JP6601412B2 (ja) 2014-11-14 2014-11-14 情報取得プログラム、情報取得方法および情報取得装置

Country Status (5)

Country Link
US (1) US10726076B2 (ja)
EP (1) EP3220287A4 (ja)
JP (1) JP6601412B2 (ja)
SG (1) SG11201703836RA (ja)
WO (1) WO2016075830A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922366B2 (en) * 2018-03-27 2021-02-16 International Business Machines Corporation Self-adaptive web crawling and text extraction

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3877957B2 (ja) 2000-11-30 2007-02-07 シャープ株式会社 情報の集約整理支援システム
JP2004086272A (ja) * 2002-08-23 2004-03-18 Ntt Data Corp 位置情報処理装置、方法及びコンピュータプログラム
JP4881205B2 (ja) * 2007-03-29 2012-02-22 ヤフー株式会社 ブックマーク管理装置、ブックマーク管理方法及びコンピュータプログラム
JP2008282114A (ja) 2007-05-09 2008-11-20 Profield Co Ltd 情報処理装置、サーバ装置、情報処理システム、情報処理方法、およびプログラム
JP4957796B2 (ja) * 2007-05-24 2012-06-20 富士通株式会社 差分算出プログラム、差分算出装置および差分算出方法
JP2011150462A (ja) * 2010-01-20 2011-08-04 Nec Corp 広告配信システム、広告配信装置、広告配信方法およびプログラム
US20120311436A1 (en) * 2011-06-03 2012-12-06 Research In Motion Limited Dynamic display of content using an electronic device
WO2014127535A1 (en) * 2013-02-22 2014-08-28 Google Inc. Systems and methods for automated content generation
US9304976B1 (en) * 2013-11-21 2016-04-05 Mashable, Inc. Positioning media to go viral

Also Published As

Publication number Publication date
EP3220287A1 (en) 2017-09-20
US10726076B2 (en) 2020-07-28
EP3220287A4 (en) 2017-10-11
SG11201703836RA (en) 2017-06-29
US20170242853A1 (en) 2017-08-24
JPWO2016075830A1 (ja) 2017-08-31
WO2016075830A1 (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
US10769216B2 (en) Data acquisition method, data acquisition apparatus, and recording medium
JP6764115B2 (ja) 表示プログラム、表示方法および表示装置
KR20170073693A (ko) 유사 그룹 요소 추출
JP4722697B2 (ja) 情報表示システム
JP6601412B2 (ja) 情報取得プログラム、情報取得方法および情報取得装置
JP2008123425A (ja) ウェブ文書データ提供装置、方法、およびシステム
JP2008071116A (ja) 情報配信システム、情報配信装置、情報配信方法および情報配信用プログラム
JP5585816B2 (ja) ポータルサイト生成システム、ポータルサイト生成方法、及びコンピュータプログラム
JP5426501B2 (ja) ドキュメント閲覧システム及びドキュメント画像配信装置並びにドキュメント閲覧方法
JP2018152015A (ja) 記憶制御装置、記憶制御プログラムおよび記憶制御方法
JP2006209598A (ja) サイト情報収集システム
JP6915322B2 (ja) ウェブサイト比較処理プログラム、ウェブサイト比較方法およびウェブサイトを比較する装置
JP6528341B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2017220104A (ja) クライアント装置、情報処理システム及びプログラム
JP6520955B2 (ja) データ検証プログラム、データ検証方法及びデータ検証装置
JP2020042660A (ja) 電子ファイル管理装置、電子ファイル管理プログラム、及び電子ファイル管理システム
EP3220284A1 (en) Data acquisition program, data acquisition method and data acquisition device
JP6485462B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2009176176A (ja) ウェブページ配信装置
JP2007279980A (ja) データ収集装置およびプログラム
Vigo et al. Automatic device-tailored evaluation of mobile web guidelines
JP2007086842A (ja) 入力フォーム提示システムおよび方法
US20150347610A1 (en) Methods and apparatus for modifying a plurality of markup language files
JP2008071115A (ja) ウェブページ作成支援装置
JP2008040868A (ja) コンテンツ発行装置、コンテンツ発行プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190923

R150 Certificate of patent or registration of utility model

Ref document number: 6601412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150