JP6493413B2 - データ取得プログラム、データ取得方法及びデータ取得装置 - Google Patents

データ取得プログラム、データ取得方法及びデータ取得装置 Download PDF

Info

Publication number
JP6493413B2
JP6493413B2 JP2016558847A JP2016558847A JP6493413B2 JP 6493413 B2 JP6493413 B2 JP 6493413B2 JP 2016558847 A JP2016558847 A JP 2016558847A JP 2016558847 A JP2016558847 A JP 2016558847A JP 6493413 B2 JP6493413 B2 JP 6493413B2
Authority
JP
Japan
Prior art keywords
data
unit
document
extracted
data acquisition
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
JP2016558847A
Other languages
English (en)
Other versions
JPWO2016075833A1 (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 JPWO2016075833A1 publication Critical patent/JPWO2016075833A1/ja
Application granted granted Critical
Publication of JP6493413B2 publication Critical patent/JP6493413B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ取得プログラム、データ取得方法及びデータ取得装置に関する。
インターネット上に公開されている情報を収集するためのツールとして、クローラツールが知られている。クローラツールは、インターネット上のホームページを巡回して、URL(Uniform Resource Locator)単位、すなわちページ単位で内容を保存する。また、保存したページ内容から、語彙と語彙との関係を定義したオントロジを利用して解析し、有用な情報を切り出しルールに基づいて自動的に取り出して、同じ意味を持つ情報等を統合してユーザに情報を提供することが提案されている。
また、HTML(HyperText Markup Language)文書に含まれるタグに基づいて表形式又はデータベース形式の情報を抽出し、タグが示す各情報間の従属関係に基づいて、項目に対して従属する属性及び属性値の関係を有する情報を抽出することが提案されている。ここで、表形式からの情報の抽出方法は、表形式の情報の直上方、直下方又は直左方に位置する情報を項目として抽出し、表形式の上端行又は左端列に位置する情報を属性とし、それぞれの下方又は右方に位置する情報を属性値として抽出することが挙げられている。
特開2004−62446号公報 特開2010−15202号公報
しかしながら、例えば、オントロジを利用する場合には、語彙と語彙との関係を予め登録することが必要となる。このため、オントロジに含まれない情報を取り出すことは困難である。また、例えば、表形式の所定の位置を項目、属性及び属性値であるとして抽出すると、表形式の途中に項目が出てくるときに、項目を属性値として抽出する場合がある。このため、様々な形式の表に対応して情報を抽出することが困難である。
一つの側面では、本発明は、HTML文書から抽出するデータの記載箇所の登録を支援できるデータ取得プログラム、データ取得方法及びデータ取得装置を提供することにある。
一つの態様では、データ取得プログラムは、HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する処理をコンピュータに実行させる。また、データ取得プログラムは、抽出した前記第一のデータと前記第二のデータとを対応付けて表示する処理をコンピュータに実行させる。また、データ取得プログラムは、表示した前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定する処理をコンピュータに実行させる。また、データ取得プログラムは、該階層構造上の位置を登録することを許容する処理をコンピュータに実行させる。
HTML文書から抽出するデータの記載箇所の登録を支援できる。
図1は、データ取得装置の構成の一例を示すブロック図である。 図2は、対象記憶部の一例を示す図である。 図3は、ページ記憶部の一例を示す図である。 図4は、抽出データ記憶部の一例を示す図である。 図5は、位置記憶部の一例を示す図である。 図6は、HTML文書及び抽出データの選択画面の一例を示す図である。 図7は、HTML文書及び抽出データの選択画面の他の一例を示す図である。 図8は、HTML文書及び抽出データの選択画面の他の一例を示す図である。 図9は、HTML文書及び抽出データの選択画面の他の一例を示す図である。 図10は、登録処理の一例を示すフローチャートである。 図11は、データ取得プログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示するデータ取得プログラム、データ取得方法及びデータ取得装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組み合わせてもよい。
図1は、データ取得装置の構成の一例を示すブロック図である。図1に示すデータ取得装置100は、例えば、ネットワークNを介してインターネットに接続され、管理者に指定されたインターネット上のホームページ(以下、サイトともいう)を巡回し、所定のデータを取得してデータベースに蓄積する。データ取得装置100は、例えば、ある地域の観光情報を取得するために、観光スポットのサイトや都道府県が設けた観光情報サイトを巡回して、各観光スポットの住所、電話番号、説明文等のデータを取得する。このとき、各観光スポットのサイトや観光情報サイトでは、各種データのフォーマットが統一されていない場合が多い。このため、データ取得装置100は、HTML文書の中から、第一のデータと第二のデータとの間が所定のタグ又は記号で区切られている場合に、第一のデータと第二のデータとを、項目名とその値のペアとして取得する。つまり、データ取得装置100は、HTML文書の中から、所定の規則性を有するデータをペアとして取得する。
すなわち、データ取得装置100は、HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する。また、データ取得装置100は、抽出した第一のデータと第二のデータとを対応付けて表示する。また、データ取得装置100は、表示した第一のデータ又は第二のデータが選択されたことを検出すると、文書における第一のデータ又は第二のデータの、文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する。これにより、データ取得装置100は、項目と値といった関係を有するデータを抽出して表示できる。また、データ取得装置100は、表示したデータが選択されると、文書中のデータに対応するタグの階層構造上の位置を特定するので、HTML文書から抽出するデータの記載箇所の登録を支援できる。
ここで、HTML文書は、タグの構造情報を含む文書の一例である。タグの構造情報を含む文書は、例えば、マークアップ言語で記述された文書が挙げられ、他にもXML(Extensible Markup Language)文書等が挙げられる。なお、以下の説明では、一例として、HTML文書を用いたホームページを巡回する場合について説明する。
次に、データ取得装置100の構成について説明する。図1に示すように、データ取得装置100は、入力部101と、表示部102と、通信部110と、記憶部120と、制御部130とを有する。なお、データ取得装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。
入力部101は、例えば、キーボードやマウス等の入力デバイスであり、データ取得装置100の管理者から各種情報の入力を受け付ける。例えば、入力部101は、データ取得装置100の管理者により、巡回するサイトのURL、取得するデータ項目等が入力され、入力結果を制御部130に出力する。また、入力部101は、例えば、SD(Secure Digital)メモリカード等のリーダライタであってもよい。入力部101は、例えば、SDメモリカードから読み込んだ、巡回するサイトのURL、取得するデータ項目等を制御部130に出力する。なお、入力部101は、入力デバイスとSDメモリカード等のリーダライタとの双方を有してもよい。
表示部102は、各種情報を表示するための表示デバイスである。表示部102は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部102は、制御部130から表示データが入力されると、入力された表示データを表示する。なお、表示部102は、出力部として、例えば、SDメモリカード等のリーダライタを有していてもよい。また、入力部101及び表示部102は、例えば、タッチパネルと液晶ディスプレイのように、一体化されたデバイスを用いてもよい。
通信部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という)をURLIDと対応付けて記憶する。図2は、対象記憶部の一例を示す図である。図2に示すように、対象記憶部121は、「URLID」、「対象URL」といった項目を有する。対象記憶部121は、例えば、1つの対象URLごとに1レコードとして記憶する。
「URLID」は、対象URLを識別する。「対象URL」は、クロール処理でアクセスする対象となるHTML文書のURLを示す。対象URLは、例えば、管理者によって入力部101の入力デバイスにより入力される。
図1の説明に戻って、ページ記憶部122は、対象URLについて、クロール処理でアクセスして取得したページ内容、すなわち、HTML文書、画像ファイル等を記憶する。図3は、ページ記憶部の一例を示す図である。図3に示すように、ページ記憶部122は、「URLID」、「対象URL」、「記憶領域」といった項目を有する。ページ記憶部122は、例えば、1つの対象URLごとに1レコードとして記憶する。
「URLID」は、対象URLを識別する。「対象URL」は、クロール処理でアクセスしたHTML文書のURLを示す。「記憶領域」は、取得したHTML文書や画像ファイル等を記憶した記憶領域を示す。記憶領域は、例えば、記憶部120のファイルシステムのディレクトリを記憶し、対応するディレクトリにHTML文書や画像ファイル等を記憶する。なお、ページ記憶部122は、記憶領域に、取得したHTML文書や画像ファイルを直接記憶するようにしてもよい。
図1の説明に戻って、抽出データ記憶部123は、HTML文書から抽出された第一のデータと第二のデータとを記憶する。すなわち、抽出データ記憶部123は、クロール処理によって収集されたデータを格納するデータベースである。図4は、抽出データ記憶部の一例を示す図である。図4に示すように、抽出データ記憶部123は、「URLID」、「第一のデータ」、「第二のデータ」といった項目を有する。抽出データ記憶部123は、例えば、1つのURLIDごとに、対応するHTML文書内の第一のデータと第二のデータとのペアを1つ以上記憶する。なお、抽出データ記憶部123に記憶されたデータは、任意のフォーマットの文書の各項目に、容易に登録できる。
「URLID」は、対象URLを識別する。「第一のデータ」は、例えば2つのデータが所定のタグ又は記号で区切られている場合における1つ目のデータを示す。「第二のデータ」は、例えば2つのデータが所定のタグ又は記号で区切られている場合における2つ目のデータを示す。図4の1行目の例では、URLID「1」の1つ目のペアは、第一のデータは「住所」であり、第二のデータは「四国中央市〇〇町××123−4」となる。
図1の説明に戻って、位置記憶部124は、HTML文書における第一のデータ及び第二のデータの位置特定情報を、URLIDと対応付けて記憶する。すなわち、位置記憶部124は、HTML文書からデータを抽出する定義として、HTML文書のタグの階層構造上の位置を記憶する。図5は、位置記憶部の一例を示す図である。図5に示すように、位置記憶部124は、「URLID」、「位置特定情報」といった項目を有する。位置記憶部124は、例えば、1つのURLIDごとに1レコードとして記憶する。
「URLID」は、対象URLを識別する。「位置特定情報」は、第一のデータ及び第二のデータの位置特定情報を示す。位置特定情報は、さらに、「DATA1」、「DATA2」といった項目を有する。「DATA1」は、例えば、対応するHTML文書内における、1つ目の第一のデータ及び第二のデータのペアの位置特定情報を示す。「DATA2」は、例えば、対応するHTML文書内における、2つ目の第一のデータ及び第二のデータのペアの位置特定情報を示す。
図5の1行目の例では、URLIDが「1」の「DATA1」は、第一のデータ(項目名)と第二のデータ(値)とが</DT><DD>タグで区切られ、当該区切りを有する1番目のペアであることを示す。また、「DATA2」は、第一のデータ(項目名)と第二のデータ(値)とが</DT><DD>タグで区切られ、当該区切りを有する2番目のペアであることを示す。
また、図5の2行目の例では、URLIDが「2」の「DATA1」は、第一のデータ(項目名)と第二のデータ(値)とが</TH><TD>タグで区切られ、当該区切りを有する1番目のペアであることを示す。また、「DATA2」は、第一のデータ(項目名)と第二のデータ(値)とが</TH><TD>タグで区切られ、当該区切りを有する2番目のペアであることを示す。
また、図5の3行目の例では、URLIDが「3」の「DATA1」は、第一のデータ(項目名)と第二のデータ(値)とが</TH><TD>タグ又は</TD><TD>タグで区切られたテーブルのうち、当該テーブルの1番目のペアであることを示す。また、「DATA2」は、第一のデータ(項目名)と第二のデータ(値)とが</TH><TD>タグ又は</TD><TD>タグで区切られたテーブルのうち、当該テーブルの2番目のペアであることを示す。
また、図5の4行目の例では、URLIDが「4」の「DATA1」は、第一のデータ(項目名)と第二のデータ(値)とが「/」(スラッシュ記号)で区切られ、当該区切りを有する1番目のペアであることを示す。また、「DATA2」は、第一のデータ(項目名)と第二のデータ(値)とが「/」(スラッシュ記号)で区切られ、当該区切りを有する2番目のペアであることを示す。
図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の入力デバイスが操作されることにより、対象URLの入力を受け付ける。受付部131は、受け付けた対象URLを対象記憶部121に記憶する。
クロール部132は、対象記憶部121を参照して、対象URLを含むホームページ、例えば、ある観光情報サイトのトップページにアクセスする。すなわち、クロール部132は、ある観光情報サイトのサーバに対して通信部110を介してページ要求を送信し、当該サーバから通信部110を介してページ内容を受信する。クロール部132は、例えば、定期的又は不定期に、つまり予め管理者によって指定された間隔又は任意のタイミングで、対象URLを含むホームページにアクセスする。指定された間隔は、例えば、1日、1週間、1ヶ月等のように任意の間隔とすることができる。クロール部132は、対象記憶部121を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象URLを選定する。クロール部132は、例えば、観光スポットごとのページの対象URLを選定する。クロール部132は、選定した対象URLからページ内容を取得する。クロール部132は、取得したページ内容をページ記憶部122に記憶する。また、クロール部132は、ページ内容の取得が完了したことを示す取得完了情報を抽出部133に出力する。
抽出部133は、クロール部132から取得完了情報が入力されると、ページ記憶部122に記憶された対象URLのページ内容から、ペアとなるデータを抽出する。抽出部133は、ペアとなるデータとして、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する。抽出部133は、対象URLのURLIDごとに、ペアとなる第一のデータと第二のデータとを対応付けて、抽出データ記憶部123に記憶する。抽出部133は、抽出した第一のデータと第二のデータとを抽出データ記憶部123に記憶すると、表示制御部134に、抽出完了情報を出力する。
なお、抽出部133は、対象URLのURLIDが、位置記憶部124に既に記憶されている場合には、位置記憶部124から位置特定情報を読み出して、データを抽出する定義として用いることができる。これにより、抽出部133は、過去に巡回したサイトについて、過去の巡回時に登録された位置特定情報に基づいて、容易にペアとなるデータを抽出できる。
ここで、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータは、例えば、表の開始と終了を示すタグに挟まれ、該表における見出しに対応するデータと該見出しに関連するセルに対応するデータである。また、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータは、例えば、リストの開始と終了を示すタグに挟まれ、該リストにおける用語に対応するデータと該用語に関連する説明に対応するデータである。
また、所定のタグは、例えば、DTタグの終了を示す</DT>タグと、DDタグの開始を示す<DD>タグとの組み合わせである</DT><DD>が挙げられる。また、所定のタグは、例えば、TABLEタグの一部であるTHタグの終了を示す</TH>タグと、TDタグの開始を示す<TD>タグとの組み合わせである</TH><TD>が挙げられる。また、所定の記号は、文章の区切りや、項目名と項目の内容との区切りに用いられる記号であれば任意の記号でよく、例えば、「/(スラッシュ)」、「:(コロン)」、「→(矢印)」等の記号が挙げられる。なお、所定の記号は、全角文字(2バイト文字)であっても半角文字(1バイト文字)であってもよい。また、所定のタグのアルファベット部分は、大文字と小文字の区別はしなくてもよい。つまり、所定のタグは、</DT><dd>又は</th><td>であっても、</dt><DD>又は</tH><Td>であってもよい。さらに、所定の記号の</TH>と<TD>との間には、空白や改行を1つ以上含んでもよい。また、開始タグである<DD>、<TD>、<TH>には、属性の指定を含んでもよい。例えば、<DD style=”color:red;”>や<TD nowrap>なども所定のタグとして認識可能である。
表示制御部134は、抽出部133から抽出完了情報が入力されると、抽出データ記憶部123を参照して、抽出した第一のデータと第二のデータとを対応付けて表示データを生成し、生成した表示データを表示部102に出力して表示させる。ここで、図6〜図9を用いて、HTML文書と、抽出した第一のデータと第二のデータとを対応付けた選択画面とについて説明する。図6は、HTML文書及び抽出データの選択画面の一例を示す図である。図7〜図9は、HTML文書及び抽出データの選択画面の他の一例を示す図である。
図6の例では、HTML文書21は、例えば、リストを表示するためのDLタグを用いて、DTタグで囲まれた範囲を第一のデータ、DDタグで囲まれた範囲を第二のデータとして、住所、電話番号、営業時間及び定休日について、それぞれ項目名及び値を有する。抽出部133は、</DT><DD>を第一のデータと第二のデータとの区切りとし、HTML文書21の各データを抽出して抽出データ記憶部123に記憶する。表示制御部134は、抽出データ記憶部123を参照して、選択画面22を表示部102に表示させる。選択画面22は、例えば、第一のデータとして「住所」、第二のデータとして「四国中央市〇〇町××123−4」というように、第一のデータと第二のデータとを対応付けて表示する。
図7の例では、HTML文書23は、例えば、TABLEタグを用いて、THタグで囲まれた範囲を第一のデータ、TDタグで囲まれた範囲を第二のデータとして、メニュー、及び、その価格を有する。抽出部133は、</TH><TD>を第一のデータと第二のデータとの区切りとし、HTML文書23の各データを抽出して抽出データ記憶部123に記憶する。表示制御部134は、抽出データ記憶部123を参照して、選択画面24を表示部102に表示させる。選択画面24は、例えば、第一のデータとして「もりそば」、第二のデータとして「520円」というように、第一のデータと第二のデータとを対応付けて表示する。
図8の例では、HTML文書25は、例えば、TABLEタグで構成されるテーブルが、図5の3行目の例のようにTHタグ又はTDタグの2列で構成され、1列目に項目名、2列目に値を有する。HTML文書25は、1列目のタグで囲まれた範囲を第一のデータ、2列目のタグで囲まれた範囲を第二のデータとして、完成年、形式及び堤高について、それぞれ項目名及び値を有する。抽出部133は、</TH><TD>タグ又は</TD><TD>タグを第一のデータと第二のデータとの区切りとし、1列目を項目名、2列目をその値としてHTML文書25の各データを抽出して抽出データ記憶部123に記憶する。表示制御部134は、抽出データ記憶部123を参照して、選択画面26を表示部102に表示させる。選択画面26は、例えば、第一のデータとして「完成年」、第二のデータとして「昭和52年3月完成」というように、第一のデータと第二のデータとを対応付けて表示する。
図9の例では、HTML文書27は、例えば、「/(スラッシュ)」記号を用いて、「/」の前を第一のデータ、「/」の後を第二のデータとして、住所、電話及び交通について、それぞれ項目名及び値を有する。抽出部133は、「/」を第一のデータと第二のデータとの区切りとし、HTML文書27の各データを抽出して抽出データ記憶部123に記憶する。表示制御部134は、抽出データ記憶部123を参照して、選択画面28を表示部102に表示させる。選択画面28は、例えば、第一のデータとして「住所」、第二のデータとして「熱海市〇〇町△△−××」というように、第一のデータと第二のデータとを対応付けて表示する。
図1の説明に戻って、登録部135は、例えば、管理者によって入力部101の入力デバイスが操作され、表示部102に表示された選択画面上の第一のデータ又は第二のデータが選択されたことを検出する。登録部135は、第一のデータ又は第二のデータが選択されたことを検出すると、HTML文書における、選択された第一のデータ又は第二のデータの、タグの階層構造上の位置を特定する。登録部135は、例えば、図6に示す選択画面22に表示された「住所」が選択されたことを検出すると、HTML文書21における「住所」に対応するDTタグが、当該HTML文書21内のDTタグの1番目であることを特定する。なお、登録部135は、第一のデータ又は第二のデータが選択された場合に、第一のデータ及び第二のデータのタグの階層構造上の位置を特定するようにしてもよい。登録部135は、特定したタグの階層構造上の位置を位置記憶部124に記憶する。すなわち、登録部135は、特定したタグの階層構造上の位置を位置特定情報として位置記憶部124に登録する。登録した位置特定情報は、次回以降のクロール処理、すなわち各サイトの巡回時に、各データを容易に抽出するために用いることができる。
次に、実施例のデータ取得装置100の動作について説明する。図10は、登録処理の一例を示すフローチャートである。
受付部131は、例えば、管理者によって入力部101の入力デバイスが操作されることにより、対象URLの入力を受け付ける(ステップS1)。受付部131は、受け付けた対象URLを対象記憶部121に記憶する。クロール部132は、定期的又は不定期に、対象記憶部121を参照して、対象URLを含むホームページにアクセスする(ステップS2)。クロール部132は、対象記憶部121を参照して、ホームページ内の全リンクのうち、ページ内容を取得する対象URLを選定する(ステップS3)。
クロール部132は、選定した対象URLからページ内容を取得する(ステップS4)。クロール部132は、取得したページ内容をページ記憶部122に記憶する。また、クロール部132は、ページ内容の取得が完了したことを示す取得完了情報を抽出部133に出力する。
抽出部133は、クロール部132から取得完了情報が入力されると、ページ記憶部122に記憶された対象URLのページ内容から、第一のデータと第二のデータとを抽出する(ステップS5)。抽出部133は、対象URLのURLIDごとに、ペアとなる第一のデータと第二のデータとを対応付けて、抽出データ記憶部123に記憶する。抽出部133は、抽出した第一のデータと第二のデータとを抽出データ記憶部123に記憶すると、表示制御部134に、抽出完了情報を出力する。
表示制御部134は、抽出部133から抽出完了情報が入力されると、抽出データ記憶部123を参照して、抽出した第一のデータと第二のデータとを対応付けて、表示部102に表示させる(ステップS6)。
登録部135は、例えば、管理者によって入力部101の入力デバイスが操作され、表示部102に表示された選択画面上の第一のデータ又は第二のデータが選択されたことを検出する(ステップS7)。
登録部135は、第一のデータ又は第二のデータの選択が選択されたことを検出すると、HTML文書における、選択された第一のデータ又は第二のデータの、タグの階層構造上の位置を特定する(ステップS8)。登録部135は、特定したタグの階層構造上の位置を位置特定情報として位置記憶部124に登録する(ステップS9)。これにより、データ取得装置100は、項目と値といった関係を有するデータを抽出して表示できる。また、データ取得装置100は、表示したデータが選択されると、文書中のデータに対応するタグの階層構造上の位置を特定するので、HTML文書から抽出するデータの記載箇所の登録を支援できる。
このように、データ取得装置100は、HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する。また、データ取得装置100は、抽出した第一のデータと第二のデータとを対応付けて表示する。また、データ取得装置100は、表示した第一のデータ又は第二のデータが選択されたことを検出すると、文書における第一のデータ又は第二のデータの、文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する。その結果、HTML文書から抽出するデータの記載箇所の登録を支援できる。
また、データ取得装置100は、所定のタグ又は記号で区切られた第一のデータと第二のデータとして、表の開始と終了を示すタグに挟まれ、該表における見出しに対応するデータと該見出しに関連するセルに対応するデータを抽出する。その結果、見出しのデータと、その見出しに関連するセルのデータとについて、表から容易に抽出できる。
また、データ取得装置100は、所定のタグ又は記号で区切られた第一のデータと第二のデータとして、リストの開始と終了を示すタグに挟まれ、該リストにおける用語に対応するデータと該用語に関連する説明に対応するデータを抽出する。その結果、用語のデータと、その用語の説明のデータとについて、リストから容易に抽出できる。
また、データ取得装置100は、所定のタグとして、</DT><DD>又は</TH><TD>を用いる。その結果、リスト又はテーブルから、ペアとなる第一のデータと第二のデータとを容易に抽出できる。
また、データ取得装置100は、所定の記号として、/又は:を用いる。その結果、タグを用いていない箇所であっても、ペアとなる第一のデータと第二のデータとを容易に抽出できる。
なお、上記実施例では、HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出したが、これに限定されない。例えば、プレーンテキストで記述された文書の中から、互いの間を所定の記号で区切られた第一のデータと第二のデータとを抽出してもよい。また、所定の記号に代えて、スペースを用いてもよいし、CR、LF等の改行コード等の制御文字を用いてもよい。
また、上記実施例では、項目名とその値を、第一のデータと第二のデータとして抽出したが、これに限定されない。例えば、ある項目名について、装置の状態、例えば、外部電源接続時と内蔵バッテリ使用時のように、複数の値がある場合には、組となるデータの数を増加させてもよい。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、クロール部132と、抽出部133とを統合してもよい。
さらに、各装置で行われる各種処理機能は、CPU(又はMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図11は、データ取得プログラムを実行するコンピュータの一例を示す図である。
図11が示すように、コンピュータ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 (7)

  1. HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出し、
    前記文書内の各行において抽出した前記第一のデータと前記第二のデータとを対応付けた組が複数ある場合には、該組ごとに分離するように、抽出した前記第一のデータと前記第二のデータとを対応付けて表示し、
    表示した前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する
    処理をコンピュータに実行させることを特徴とするデータ取得プログラム。
  2. 前記所定のタグ又は記号で区切られた第一のデータと第二のデータは、表の開始と終了を示すタグに挟まれ、該表における見出しに対応するデータと該見出しに関連するセルに対応するデータであることを特徴とする請求項1に記載のデータ取得プログラム。
  3. 前記所定のタグ又は記号で区切られた第一のデータと第二のデータは、リストの開始と終了を示すタグに挟まれ、該リストにおける用語に対応するデータと該用語に関連する説明に対応するデータであることを特徴とする請求項1に記載のデータ取得プログラム。
  4. 前記所定のタグは、</DT><DD>又は</TH><TD>であることを特徴とする請求項1に記載のデータ取得プログラム。
  5. 前記所定の記号は、/又は:であることを特徴とする請求項1に記載のデータ取得プログラム。
  6. HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出し、
    前記文書内の各行において抽出した前記第一のデータと前記第二のデータとを対応付けた組が複数ある場合には、該組ごとに分離するように、抽出した前記第一のデータと前記第二のデータとを対応付けて表示し、
    表示した前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する
    処理をコンピュータが実行することを特徴とするデータ取得方法。
  7. HTMLで記述された文書の中から、互いの間を所定のタグ又は記号で区切られた第一のデータと第二のデータとを抽出する抽出部と、
    前記文書内の各行において抽出した前記第一のデータと前記第二のデータとを対応付けた組が複数ある場合には、該組ごとに分離するように、抽出した前記第一のデータと前記第二のデータとを対応付けて表示させる表示制御部と、
    表示された前記第一のデータ又は前記第二のデータが選択されたことを検出すると、前記文書における前記第一のデータ又は前記第二のデータの、前記文書に含まれるタグの階層構造上の位置を特定し、該階層構造上の位置を登録することを許容する登録部と
    を有することを特徴とするデータ取得装置。
JP2016558847A 2014-11-14 2014-11-14 データ取得プログラム、データ取得方法及びデータ取得装置 Active JP6493413B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/080272 WO2016075833A1 (ja) 2014-11-14 2014-11-14 データ取得プログラム、データ取得方法及びデータ取得装置

Publications (2)

Publication Number Publication Date
JPWO2016075833A1 JPWO2016075833A1 (ja) 2017-09-28
JP6493413B2 true JP6493413B2 (ja) 2019-04-03

Family

ID=55953946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558847A Active JP6493413B2 (ja) 2014-11-14 2014-11-14 データ取得プログラム、データ取得方法及びデータ取得装置

Country Status (5)

Country Link
US (1) US20170242839A1 (ja)
EP (1) EP3220284A4 (ja)
JP (1) JP6493413B2 (ja)
SG (1) SG11201703829SA (ja)
WO (1) WO2016075833A1 (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 (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574486B1 (en) * 2000-11-06 2009-08-11 Telecommunication Systems, Inc. Web page content translator
JP2005301437A (ja) * 2004-04-07 2005-10-27 Hitachi Ins Software Ltd 適応型ウエブページデータ抽出装置および抽出プログラム
JP2005326970A (ja) * 2004-05-12 2005-11-24 Mitsubishi Electric Corp 構造化文書曖昧検索装置及びそのプログラム
US7788293B2 (en) * 2005-03-02 2010-08-31 Google Inc. Generating structured information
US7810021B2 (en) * 2006-02-24 2010-10-05 Paxson Dana W Apparatus and method for creating literary macramés
CN101094194B (zh) * 2006-06-19 2010-06-23 腾讯科技(深圳)有限公司 一种提取Web页面中用户所需Web信息的方法
WO2009110550A1 (ja) * 2008-03-06 2009-09-11 日本電気株式会社 属性抽出方法、システム及びプログラム
JP5225331B2 (ja) * 2010-06-30 2013-07-03 ヤフー株式会社 データ抽出装置及び方法
US8868621B2 (en) * 2010-10-21 2014-10-21 Rillip, Inc. Data extraction from HTML documents into tables for user comparison
JP5443322B2 (ja) * 2010-11-11 2014-03-19 日本電信電話株式会社 情報抽出装置、情報抽出方法および情報抽出プログラム
CN103034633B (zh) * 2011-09-30 2016-08-03 国际商业机器公司 生成扩展的搜索结果页面摘要的方法及装置
US20130311875A1 (en) * 2012-04-23 2013-11-21 Derek Edwin Pappas Web browser embedded button for structured data extraction and sharing via a social network
US9588785B2 (en) * 2013-10-04 2017-03-07 Aol Inc. General property hierarchy systems and methods for web applications
EP3161673B1 (en) * 2014-06-30 2020-12-02 Microsoft Technology Licensing, LLC Understanding tables for search

Also Published As

Publication number Publication date
EP3220284A1 (en) 2017-09-20
EP3220284A4 (en) 2017-09-20
WO2016075833A1 (ja) 2016-05-19
JPWO2016075833A1 (ja) 2017-09-28
US20170242839A1 (en) 2017-08-24
SG11201703829SA (en) 2017-06-29

Similar Documents

Publication Publication Date Title
US10769216B2 (en) Data acquisition method, data acquisition apparatus, and recording medium
JP7290391B2 (ja) 情報処理装置及びプログラム
CN114637866B (zh) 数字化新媒体的信息管理方法及装置
JP6493413B2 (ja) データ取得プログラム、データ取得方法及びデータ取得装置
JP6520955B2 (ja) データ検証プログラム、データ検証方法及びデータ検証装置
CN103246680A (zh) 一种在浏览器中将网页内容聚合展现的方法及装置
JP6780548B2 (ja) 特徴語分類プログラム、特徴語分類方法および情報処理装置
US10726076B2 (en) Information acquisition method, and information acquisition device
CN114004209A (zh) Pdf格式数据导出方法、装置、电子设备及可读存储介质
JP2008102773A (ja) データを共通のフォーマットに変換する方法
CN113139145A (zh) 页面生成方法、装置、电子设备及可读存储介质
CN111078949A (zh) 产品知识存储方法、装置、计算机设备和可读存储介质
JP2018152015A (ja) 記憶制御装置、記憶制御プログラムおよび記憶制御方法
JP6915322B2 (ja) ウェブサイト比較処理プログラム、ウェブサイト比較方法およびウェブサイトを比較する装置
EP3376410A1 (en) Method of searching information, information processing apparatus and non-transitory computer-readable storage medium
JP2008059262A (ja) トレーサビリティ管理システム
JP6805636B2 (ja) 情報抽出プログラム、情報抽出方法および情報抽出装置
JP5670377B2 (ja) Web閲覧履歴取得装置及びプログラム
CN114168836A (zh) 网页数据分析及可视化方法、装置、电子设备及介质
JP5252643B2 (ja) アクセシビリティ診断支援システム
JP2018151983A (ja) 位置情報出力プログラム、位置情報出力方法および情報処理装置
JP2011150447A (ja) レイアウト支援装置、レイアウト支援方法、プログラム
JP2011237908A (ja) 情報検索システム、情報検索方法及び情報検索プログラム
JP2019040261A (ja) 情報処理装置及びプログラム
JP2013114528A (ja) 例文表示装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180815

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: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150