JP2006004111A - Web情報抽出方法及び装置とそのプログラム - Google Patents

Web情報抽出方法及び装置とそのプログラム Download PDF

Info

Publication number
JP2006004111A
JP2006004111A JP2004178813A JP2004178813A JP2006004111A JP 2006004111 A JP2006004111 A JP 2006004111A JP 2004178813 A JP2004178813 A JP 2004178813A JP 2004178813 A JP2004178813 A JP 2004178813A JP 2006004111 A JP2006004111 A JP 2006004111A
Authority
JP
Japan
Prior art keywords
information
data
web
extraction
acquired
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.)
Pending
Application number
JP2004178813A
Other languages
English (en)
Inventor
Daishiro Yokozeki
大子郎 横関
Shunsuke Miyata
俊介 宮田
Koji Tokumaru
浩二 徳丸
Hirokazu Kakuta
裕和 加来田
Takahiro Toyoda
貴広 豊田
Ryuji Nakayama
隆二 中山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004178813A priority Critical patent/JP2006004111A/ja
Publication of JP2006004111A publication Critical patent/JP2006004111A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】常に最新のWebサイトから情報を抽出することを可能とし、さらにWebサイトが複数のWebページを持つ場合であっても各Webページに応じた情報抽出を可能とする。
【解決手段】各Webページを特定するための構造情報と各Webページそれぞれに対して所望の情報を抽出するための抽出ルールとを、構造解析部24に記憶しておく。そして、抽出元Webサイト31〜3nから取得された抽出対象のWebページを上記記憶されている構造情報と比較することにより、抽出対象のWebページがどの構造情報と一致するかを判定し、この判定結果をもとに解析定義情報管理部25において抽出ルールを選択する。そして、この選択された抽出ルールに基づき、抽出対象のWebページから所望の情報を抽出するようにしたものである。
【選択図】 図3

Description

この発明は、複数のWebページから情報を選択的に抽出し、抽出された情報をもとにWeb統合ページを作成する方法及び装置とこの装置で使用されるプログラムに関する。
近年、WWW(World-Wide Web)システムを利用した情報提供サービスが急速に広まっている。公開されるWebコンテンツは、テキストのみならず、静止画像、音声、動画像など多種多様な電子メディアによって効果的に表現され、流行や社会情勢に応じて動的に変化する。
Webコンテンツを閲覧するためのクライアントソフトウェアはWebブラウザと呼ばれ、現在ではパーソナル・コンピュータだけではなく、携帯電話やPDA(Personal Digital Assistants)などの携帯端末にも搭載されている。クライアントはこのWebブラウザを搭載した端末を使用することにより、いつでもまたどこでも所望のWeb情報を閲覧することが可能になる。Webコンテンツは、HTML(HyperText Markup Language)、XML(eXtensible Markup Language)、XHTML(eXtensible HyperText Markup Language)などのマークアップ言語で記述された電子文書である。これらのマークアップ言語は、平易な言語であり、また機械語に翻訳する必要もないため、プログラマでなくとも比較的簡単に作成することができる。そのため、様々な情報がWWWシステムにより提供され、大変便利である。
しかしながら、その一方で情報量が膨大であるために、情報閲覧者が必要な情報を収集するのに時間や手間がかかる場合がある。そこで従来では、複数のWebサイトから収集した情報を1つのWebサイトに統合し、情報の一覧性を高める試みがなされている。例えば、様々な商店のWebサイトから商品の価格情報を横断的に取得して比較可能とするWebサイトや、利用者の金融関連(口座情報、株価情報、証券管理等)の情報を一元的に管理するWebサイトが挙げられる。
このようなサイトを構築するために、関連する情報を含む複数のWebページから特定の情報を抽出し、抽出された情報を統合したWebサイトを設ける仕組みが提案されている。(例えば、特許文献1を参照。)。
しかし、上記の方法であると、抽出元への参照ではなく、抽出した文書そのものを蓄積するため、抽出した情報は切り取った時点のものであり、利用者がWebブラウザ等を用いてアクセスした時点の最新のWebサイトの内容が反映されるものではない。
また、上記の機能に加え、抽出した文書そのものと、抽出元の文書の所在位置を同時に保持する仕組みが提案されている。(例えば、特許文献2を参照。)。
上記方法であると、抽出元の文書へ辿る手段は提供されるが、抽出した文書そのものを蓄積するため、抽出した情報は切り取った時点のものであり、利用者がWebブラウザ等を用いてアクセスした時点の最新のWebサイトの内容が反映されるものではない。
また、取得した文書データを特定構造のデータオブジェクトに変換し、変換後のオブジェクトから指定した部分を取得する仕組みが提案されている。(例えば、特許文献3を参照。)。
この場合、情報は必要に応じて随時取得に行くため、抽出した文書の情報は最新のWebサイトの内容が反映される。しかし、同一のURI(Uniform Resource Identifier)に対して、同一構造のデータが返却されることが前提になっており、異なった構造のデータが返却された場合に正確に処理することができない。
特開2001−109742
特開平11−110405号
特開2002−342310
以上述べたように、抽出元への参照ではなく、抽出した文書そのものを蓄積する方法である場合、利用者がWebブラウザ等を用いてアクセスした時点の最新のWebサイトの情報の入手が保証されない。また、たとえ抽出した文書と抽出元の文書の所在位置とを同時に保持する方法であっても、利用者が明示的に最新の情報を取得する操作を行わない場合には抽出元の情報がいつ変更されたのかが分からないため、抽出元と蓄積した情報の整合がとれない可能性がある。さらに、一般にWebをインタフェースとして用いたアプリケーションはWebブラウザにおける利用者の入力やサーバの状態などに応じて、たとえ同一のURIに対しても異なる構造を返却することがある。このような場合であっても、同一のURIに対して同一構造が返却されると認識されてしまうため、正確に情報抽出を行うことができない。
この発明は上記事情に着目したもので、その目的とするところは、常に最新のWebサイトから情報を抽出することを可能とし、さらに同一のURIに対して異なった構造のデータが返却された場合にも対応できるようにして、各Webページに対して適切な情報抽出処理を行うことが可能なWeb情報抽出方法及び装置とそのプログラムを提供することにある。
上記目的を達成するためにこの発明は、Web情報抽出装置に、取得対象として想定される情報データのデータ構造を表す複数の構造情報と、これらの構造情報に対応する1つ以上の抽出ルールを、相互に対応付けて記憶する記憶手段を設ける。この状態で、1つ以上のWeb情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得し、この取得された情報データを上記記憶手段に記憶される複数の構造情報と照合して、上記取得された情報データのデータ構造を識別する。そして、この識別されたデータ構造に対応する抽出ルールを上記記憶手段から選択的に読み出し、読み出された抽出ルールに従い、上記取得された情報データからそのデータ構造中の特定の部分データを抽出するようにしたものである。
したがってこの発明によれば、例えば同一のURIに対して複数のWebページが存在する場合であっても、それぞれのWebページが識別され、この識別されたWebページに対応する1つ以上の抽出ルールが選択されて情報データの抽出が行われる。このため、各Webページに対して正確に情報抽出を行うことができる。また、抽出対象のWebページは、情報抽出の際に随時取得されるため、Web情報提供サイトから常に最新の情報を抽出することが可能となる。
またこの発明は、次のような各種機能を備えることも特徴とする。
第1の機能は、上記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、構造情報として上記記憶手段に記憶しておく。そして、データ構造を識別する際に、上記取得された情報データのマークアップ言語のデータ構造を上記記憶された木構造情報と照合することにより、上記取得された情報データのデータ構造を識別するものである。
すなわち、Webにおける情報は、日々更新される。例えば、株価情報の提供サイトは日々刻々とその情報は更新される。しかし、ページのデザインやレイアウトはそれに比べ、長い期間で維持される。つまり、Webは、例えば株価情報のように、データベース等から取得し、頻繁に更新される動的な部分とデザインやレイアウトを決める静的な部分の組み合わせにより構成されるという前提を置くことができる。それを実現する技術のASP(Active Server Pages)、JSP(Java(登録商標)Server Pages)等でも静的なマークアップ言語に対し、プログラム的に動的な情報を埋め込むための構文を提供している。以下にその例を示す。
<table>
<tr><td>星座</td><td>運勢</td></tr>
<tr><td><%=seiza%></td><td><%=seiza.getUnsei()%></td></tr>
</table>
上記の下線部がプログラム的に動的な情報を埋め込んでいる部分であり、それ以外がページのデザインなどを決める静的な部分である。
この発明では、上記サイトのような事情を鑑みて、データ構造を識別する際に上記取得された情報データからテキスト、コメント部分などの動的な部分を無視して判定することを特徴としている。
第2の機能は、上記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらにさらに、前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの1構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を、構造情報として上記記憶手段に記憶しておく。そして、データ構造を識別する際に、上記取得された情報データのマークアップ言語のデータ構造を上記記憶された木構造情報と照合することにより、上記取得された情報データのデータ構造を識別するものである。
すなわち、Webにおける情報提供を行う際には、繰り返し構造を含む場合がある。例えばニュースを提供するサイトでは、あるときにはニュースが10件あり、またべつのときにはニュースが20件あるというように、経路検索結果では乗り換え回数に応じて経路情報の数が異なる。以下にその例を示す。
<table>
<%for(int i=0; i <keiroNumber;i++){%>
<tr><td>out.printIn(keiro[i])</td></tr>
<%}%>
</table>
この例では、抽出元のWebサイトにおけるページ表示処理において、経路の数だけfor文により経路が表示される。
この発明では、上記のような情報提供形態を鑑みて、上記取得された情報データが反復構造を含む場合においては、そのうちの1構造のみを残し、反復構造を含まないページに変換することにより、正確に情報抽出が行えることを特徴としている。
上記第1及び第2の機能を備えることにより、テキスト要素やコメント要素などの動的要素の更新が頻繁に行われても、記憶されている構造情報を更新する必要がなくなるか又は減少するため、構造情報の管理に要する手間が省ける。また、第2の機能のようにデータ要素に繰り返し構造を含む場合には、1構造のみを残す処理を行うことで、を、取得された情報データとのデータ構造を正確に照合することができる。
第3の機能は、データ構造の識別処理に先立ち、取得された情報データのマークアップ言語の構造に基づいて上記木構造情報により表される構造情報を作成し、この作成された構造情報を記憶手段に格納する手段をさらに備えるものである。
このようにすると、Web情報抽出装置において構造情報の作成処理が自動的に行われる。このため、例えばWeb情報抽出装置の管理者が自身で構造情報を作成して記憶手段に記憶させる作業が不要となり、管理上の負担が軽減される。
要するにこの発明によれば、常に最新のWebサイトから情報を抽出することを可能とし、さらに同一のURIに対して異なった構造のデータが返却された場合にも対応できるようにして、各Webページに対して適切な情報抽出処理を行うことが可能なWeb情報抽出方法及び装置とそのプログラムを提供することができる。
図1は、この発明に係わる情報抽出装置を備えるシステムの一実施形態を示す概略構成図である。なお、この発明における情報抽出装置が、利用者の端末に設けられる場合と、利用者の端末とは別のWebサイトに設けられる場合とで、装置の基本構成は変わらないため、この実施形態では情報抽出装置がWebサイトに設けられる場合を例にとって説明する。
この実施形態のシステムは、利用者端末1と、情報抽出機能を備える抽出Webサイト2と、情報が抽出される側のWebサイト(以後、抽出元Webサイトと呼称する)3とを、通信ネットワークNWを介して接続可能としたものである。
通信ネットワークNWは、有線通信ネットワークと無線通信ネットワークを含む。有線通信ネットワークは、インターネットに代表されるコンピュータ・ネットワークとユーザ端末との間を接続するための加入者網とから構成される。加入者網には、ADSL(Asymmetric Digital Subscriber Network)に加え、有線LAN(Local Area Network)等の企業内通信ネットワーク、CATV(Cable Television)ネットワークを含む。また、移動通信ネットワークは、例えば携帯電話通信ネットワーク、PHS(Personal Handyphone System)、無線LAN等を含む。
利用者端末1は、例えばパーソナル・コンピュータ、携帯電話機或いはPDAにより構成される。これらの端末はいずれも、通信インタフェースと、Webブラウザとを備える。通信インタフェースは、他の利用者端末等との間で通信ネットワークNWを介して通信を行うために使用される。Webブラウザは、Webサイトを閲覧するために使用される。
抽出元Webサイト31〜3nは、通信ネットワークNWのインターネット上に公開されるWebサイトである。抽出元Webサイト31〜3nからは、それぞれ同一のURLを持ち構成の異なる複数のWebページが送信されるものとする。
情報抽出Webサイト2は、この発明に係わる情報抽出装置を備えるもので、次のように構成される。図2はその機能構成を示すブロック図である。すなわち、情報抽出Webサイト2は、Webアプリケーション21と、この発明に係わる情報抽出装置を構成する、エンジン22、プロトコル処理部23、構造解析部24、解析定義情報管理部25および情報抽出部26とを備える。
Webアプリケーション21は、情報抽出Webサイト2を構成するWebサーバ上に配置されるアプリケーション・プログラムであり、利用者端末1のWebブラウザから送信されるリクエストを受信してエンジン22を呼び出す。そして、エンジン22から取得した情報抽出結果を、Webブラウザで閲覧可能な形式に整形した後要求元のWebブラウザへ返送する機能を有する。
エンジン22は、Webアプリケーション21からの入力の受け付けと、Webアプリケーション21への出力の返却等の入出力処理を行う。またエンジン22は、プロトコル処理部23、構造解析部24、解析定義情報管理部25および情報抽出部26の制御を行う機能も有する。
プロトコル処理部23は、Webアプリケーション21からの要求に対して、HTTPリクエストを生成し、生成されたHTTPリクエストを通信ネットワークNWを介して抽出元Webサイト31〜3nへ送信する。また、上記送信したHTTPリクエストに対する応答、すなわちHTTPレスポンスを受信する機能を有する。
構造解析部24は、プロトコル処理部23により受信されたHTTPレスポンスから得られるマークアップデータと、予め解析定義情報管理部25に記憶されている各Webページの構造情報とを比較する。そして、この比較結果をもとに、上記マークアップデータがどのWebページの構造に対応するかを特定する。
解析定義情報管理部25は、URI、構造情報および抽出ルールの組を記憶しかつ管理する機能を有する。1つのURIに対しては、複数の構造情報と1つ以上の抽出ルールがそれぞれ関連付けられる。構造情報とは、抽出元Webサイト31〜3nから返却されたマークアップデータがどのWebページに対応するものかを特定するための情報である。また抽出ルールとは、情報抽出対象の抽出元マークアップデータから特定の情報を抽出するための情報である。これらは、事前にシステム管理者により情報抽出対象である抽出元Webサイト31〜3nをもとに作成される。
情報抽出部26は、情報抽出対象の抽出元マークアップデータおよび所望の情報を抽出するための1つ以上の抽出ルールを受け取る。そして、抽出元マークアップデータに対し上記受け取った抽出ルールを適用し、これにより抽出元マークアップデータから部分木を抽出して、この抽出された部分木を抽出結果マークアップデータとしてエンジン22に返送する。
このように抽出ルールにより取得された1つ以上の抽出結果マークアップデータは、Webアプリケーションによって、例えばデザイン、レイアウトされブラウザに表示されたり、抽出結果をデータとして利用し計算処理や他のプログラムに渡す等の処理に用いられる。
複数の抽出ルールにより複数のマークアップ言語を取得する理由は抽出結果を後者のようにデータとして利用する形態を想定しているからである。
例えば、以下のような株価情報に対し、
<ul><li>
<table>
<tr><td>銘柄</td><td>株価</td></tr>
<tr><td>NTT</td><td>5,000</td></tr>
</table>
</li></ul>
株価部分のみを切り出しWebブラウザに提示するだけであれば、単にtable部分を抽出すればよいが、銘柄、株価をそれぞれデータとして取得する場合には、以下のように2つの抽出ルールを作成する必要がある。
銘柄:“/ul/li/table/tr[2]/td”
株価:“/ul/li/table/tr[2]/td[2]”
このような場合を想定し、抽出ルールを複数作成することを可能としている。
次に、以上のように構成されたシステムによるWeb情報の抽出処理動作を説明する。図3は、図2に示した情報抽出装置の処理手順と処理内容を示すシーケンス図である。
(1)抽出元マークアップデータの取得
利用者端末1のWebブラウザからHTTPリクエストが送信されると、このHTTPリクエストはWebアプリケーション21により受信される。Webアプリケーション21は、エンジン22が提供するAPIを、上記HTTPリクエスト(をプログラムで扱う形式に変換したオブジェクト)を引数として呼び出す。そうするとエンジン22は、シーケンスS31において受信されたHTTPリクエストに含まれる宛先アドレスを、情報抽出Webサイトのアドレスから抽出元Webサイト31〜3nのアドレスに変換し、このアドレスが変換されたHTTPリクエストをプロトコル処理部23に通知する。
プロトコル処理部23は、上記通知されたHTTPリクエストを抽出元Webサイト31〜3nへ送信し、処理結果であるHTTPレスポンスを受信する。そして、受信されたHTTPレスポンス(をプログラムで扱う形式に変換したオブジェクト)をエンジン22に返却する。エンジン22は、上記返却されたHTTPレスポンス中から抽出元マークアップデータを取得する。
(2)構造情報の取得
シーケンスS32においてエンジン22は、上記取得された抽出元マークアップデータに挿入されている抽出元Webサイト31〜3nのURIをキーとして、解析定義情報管理部25から構造情報を取得する。このとき、抽出元Webサイト31〜3nと同一のURIにより返却される複数のページが存在する場合は、これら複数のページに対応する構造情報をそれぞれ取得する。
(3)構造判定
シーケンスS33において構造解析部24は、上記エンジン22により取得された抽出元Webサイト31〜3nの抽出元マークアップデータと、上記解析定義情報管理部25により取得された構造情報をもとに、構造判定を行う。そして、1つ以上の構造情報の中から抽出元マークアップデータと同一の構造情報を検索し、その識別子であるWebページIDをエンジン22に返却する。
(4)抽出ルールの取得
エンジン22は、シーケンスS34において、上記シーケンスS31により取得されたURIと、上記シーケンスS33により構造解析部24から返却されたWebページIDとをキーにして、解析定義情報管理部25から後述する抽出ルールを取得する。
(5)情報抽出
シーケンスS35において情報抽出部25は、上記シーケンスS31により取得された抽出元マークアップデータと、シーケンスS34により取得された抽出ルールとをもとに、情報抽出を行う。そして、上記情報抽出により取得された抽出結果マークアップデータをエンジン22に返却する。エンジン22は上記返送された抽出結果マークアップデータを、要求元のWebアプリケーション21に返送する。
以上述べた情報抽出処理動作の具体例を説明する。ここでは、WWWを用いた列車の経路探索システムを例として挙げる。このシステムは、図4に示す入力画面D1(ページID:P1)、駅名候補選択画面D2(ページID:P2)、経路結果表示画面D3(ページID:P3)、およびエラー画面D4(ページID:P4)を備える。これら4画面を情報抽出元Webページとする。
入力画面D1は、利用者に経路探索条件を入力させる画面である。経路探索条件としては、乗車駅、下車駅および出発日があり、これらの入力欄が入力画面D1に表示される。
駅名候補選択画面D2は、入力画面D1において入力された乗車駅または下車駅の駅名に対し、複数の駅名候補が存在する場合に表示される。複数の駅名候補を選択可能な形式でそれぞれ表示し、利用者に選択させる。
経路結果表示画面D3は、入力画面D1において入力された条件をもとに経路探索を実行した結果を表示する。入力画面D1において入力された乗車駅または下車駅が1つに特定されない場合には、駅名候補選択画面D2を経由して経路結果表示画面D3が表示される。
エラー画面D4は、入力画面D1において入力された乗車駅または下車駅の駅名が存在しない場合に表示される。このエラー画面D4には、「戻る」キーが表示され、この「戻る」キーが操作されると、上記入力画面D1に戻り、利用者に経路探索条件を再度入力させる。
これら4画面は全て同一URI(http://domain/servlet/route)を持つ。入力画面D1の入力結果に応じて、駅名候補選択画面D2、経路結果表示画面D3またはエラー画面D4のいずれかに画面が遷移する。各画面において破線枠で囲まれた部分を情報抽出対象とする。
抽出ルールは、GUI(Graphical User Interface)エディタ等を用いて対話的に抽出部分を指定することで作成される。図5に入力画面D1のHTML文書、図6に駅名候補選択画面D2のHTML文書、図7に経路結果表示画面D3のHTML文書、および図8にエラー画面D4のHTML文書をそれぞれ示す。これらのHTML文書がそれぞれ抽出元マークアップデータとなる。さらに、図9に入力画面D1の構造情報、図10に駅名候補選択画面D2の構造情報、図11に経路結果表示画面D3の構造情報、および図12にエラー画面D4の構造情報をそれぞれ示す。図13には、解析定義情報管理部25において記憶されているURI、構造情報および抽出ルールの内容と構成を示す。
抽出ルールとは、抽出元Webサイト31〜3nから返却されたマークアップデータから特定の部分を抽出するための情報である。その目的を満たすものであればどのようなものでも利用可能であるが、この実施形態ではXPathを用いて表現する。
XPathは、木構造で表現されるマークアップ言語の特定のノード、若しくはノード郡を指し示すための位置指定言語であり、“/html/body/table[1]/tr[1]/td”のような記法を持つ言語である。XPathは、大文字、小文字を区別する言語であるが、HTMLはタグ名に大文字、小文字を許容する言語である。したがって厳密に言えば、抽出ルール適用時にタグ名を全て大文字化、または小文字化する等の処理が必要になるが、本質には関わらないので、ここではその処理を省略する。この実施形態では、抽出ルールの適用範囲は、XPathで指定されたある一つのノード以下の子要素を抽出対象とみなすものとする。
また、構造情報とは、同一のURIを持つWebサイトが複数存在した場合に、各ページを判別するための情報であり、この実施形態ではWebページのマークアップ構造を表わす骨組み部分とする。したがって構造情報は、Webページのマークアップデータから動的要素・属性要素と想定されるヘッダ、テキストノード、属性ノード、およびコメントノード等を削除した、枠組みのみの木構造情報で構成される。
図14は解析定義情報管理部25において構造情報の作成する手順と処理内容を示すフローチャートである。解析定義情報管理部25は、ステップ14aにおいて抽出元マークアップデータに対して動的要素および属性削除処理を行う。その詳細がステップ14b以降である。ステップ14bにおいて、ある部分木上のノードnに対して処理を行うものとする。
はじめに、解析定義情報管理部25は、ステップ14cにより、属性削除処理を行う。次にステップ14dから14hにおいて、動的要素の削除処理をノードnの全子要素に対して繰り返し行う。解析定義情報管理部25は、ステップ14eにより上記ノードnの全子要素である各要素が動的要素であるか判定し、ステップ14fにて該当する要素を削除する。ここでの動的要素とは、頻繁に更新が行われると想定されるテキスト要素やコメント要素などを指す。上記各要素がステップ14eにより動的要素でないと判定した場合については、ステップ14gにおいてその子要素に対して再帰的に動的要素または属性削除処理を行う。解析定義情報管理部25は、ノードnの全子要素に対して動的要素削除処理が完了すると、ステップ14iにおいてノードnの任意の2個の要素に対し、構造判定処理を行い、同型のものがあれば一方を削除する。
構造解析部24では、以上のように作成された構造情報を用いて構造判定を行う。構造判定においては、エンジン22から取得した抽出元マークアップデータを解析し、構造情報に含まれる全ノードが木構造情報の同一の位置に存在するかを調べる。つまり構造情報⊆抽出元マークアップデータであるかを判定する。結果が真の場合、該当するページIDを返却する。
以下に、図15に示すフローチャートを参照して上述した経路探索システムにおける情報抽出手順を説明する。
利用者端末1に入力画面D1が表示されているものとする。この入力画面D1に入力された乗車駅・下車駅に応じて、駅名候補選択画面D2、経路結果表示画面D3、またはエラー画面D4のいずれかに画面が遷移する。このフローチャートにおいて、上記いずれかのマークアップデータを受信し、受信したマークアップデータからどの画面であるかを識別し、所望の情報を抽出する手順を説明する。
(a)乗車駅「新宿」、下車駅「国分寺」の場合
まずエンジン22は、抽出元Webサイト31〜3nから抽出元マークアップデータを受信する(ステップ15a)。この場合、乗車駅「新宿」という駅名には、複数の候補があるので、抽出元マークアップデータとして図6に示す駅名候補選択画面D2のHTMLデータを受信する。次にエンジン22は、この受信された抽出元マークアップデータのURIをキーとして、解析定義情報管理部25から図9〜12に示すページID:P1〜P4に対応する構造情報を取得する(ステップ15b)。
そして、上記取得された抽出元マークアップデータおよび構造情報を構造解析部24に通知する。構造解析部24は、上記通知された抽出元マークアップデータと構造情報とを照合し、これにより抽出元マークアップデータの構造を判定する。この構造判定の結果、抽出元マークアップデータは駅名候補選択画面D2であると判定されると、構造解析部24はページID:P2をエンジン22に返却する(ステップ15c:P2)。
エンジン22は、上記解析定義情報管理部25から取得されたURIと、上記構造解析部24から返却されたページID:P2とをキーとして、ページID:P2に対応する抽出ルール“//body/table/tr[4]/td/table/tr/td[2]/table”を取得する(ステップ15d)。そして、上記抽出元マークアップデータと、上記取得されたページID:P2に対応する抽出ルールとを情報抽出部26に転送する。情報抽出部26は、上記転送された抽出元マークアップデータに対し抽出ルールを適用する(ステップ15g)。この情報抽出の結果、図6の下線部分の「table」要素以下の部分木が得られる。エンジン22は、上記情報抽出部26から返送された部分木を、抽出結果マークアップデータとして呼出元のWebアプリケーション21に返却する(ステップ15h)。
(b)乗車駅「阿佐ヶ谷」、下車駅「国分寺」の場合
この場合、乗車駅「阿佐ヶ谷」は、他に選択候補がなく特定可能な駅名であるので、エンジン22は抽出元マークアップデータとして図7に示す経路結果表示画面D3のHTMLデータを受信する(ステップ15a)。このとき上記受信されたマークアップデータは、上記(a)の場合と同一のURIである。このため、エンジン22はステップ15bにおいて、同じく図9〜12に示すページID:P1〜P4に対応する構造情報を取得し、この取得された構造情報を抽出元マークアップデータと共に構造解析部24に通知する。構造解析部24は、通知された抽出元マークアップデータと構造情報とを照合する。そして、構造判定の結果、抽出元マークアップデータは経路結果表示画面D3であると判定されると、ページID:P3を返却する(ステップ15c:P3)。
続いてエンジン22は、上記抽出元マークアップデータのURIと、上記構造解析部24から返却されたページID:P3を、解析定義情報管理部25に通知する。解析定義情報管理部25は、上記通知されたURIとページID:P3をキーとして、下記のページID:P3に対応する抽出ルールを取得する(ステップ15e)。
“//body/table/tr[2]/td/table/tr/td[1]/table”,
“//body/table/tr[2]/td/table/tr[1]/td[1]/table[2]/tbody/tr[1]/td[1]/p[1]/text()”,
“//body/table/tr[2]/td/table/tr[1]/td[1]/table[2]/tbody/tr[1]/td[1]/p[2]/text()”。
エンジン22は、抽出元マークアップデータと、上記取得されたページID:P3に対応する抽出ルールを情報抽出部26に渡す。情報抽出部26は、抽出元マークアップデータに対し抽出ルールを適用する(ステップ15g)。この情報抽出の結果、図7の下線部分の「table」要素以下の部分木、つまり18分および310円が得られる。エンジン22は、これらを抽出結果マークアップデータとして呼出元のWebアプリケーション21に返却する(ステップ15h)。
(c)乗車駅「存在しない駅名」、下車駅「国分寺」の場合
この場合、乗車駅は、「存在しない駅名」であるので、エンジン22は抽出元マークアップデータとして図8に示すエラー画面D4のHTMLデータを受信する(ステップ15a)。受信したマークアップデータは、上記(a)の場合と同一のURIであるため、同じく図9〜12に示すページIDP1〜P4に対応する構造情報が取得される(ステップ15b)。構造解析部24は、抽出元マークアップデータと、上記取得された構造情報とを照合する。そして、構造判定の結果、抽出元マークアップデータはエラー画面D4であると判定されると、エンジン22に対しページID:P4を返却する(ステップ15c:P4)。
エンジン22は、上記抽出元マークアップデータのURIと、上記構造解析部24から返却されたページID:P4を、解析定義情報管理部25に通知する。解析定義情報管理部25は、上記通知されたURIとページID:P4をキーとして、下記のページID:P4に対応する抽出ルールを取得する。
“//body/table/tr[4]/td/table/tr/td[2]/table”を取得する(ステップ15f)。そして、抽出元マークアップデータと、上記取得されたページID:P4に対応する抽出ルールを情報抽出部26に渡し、情報抽出部26は抽出元マークアップデータに対し上記抽出ルールを適用する(ステップ15g)。この情報抽出の結果、図8の下線部分の「table」要素以下の部分木が得られる。エンジン22はそれを抽出結果マークアップデータとして呼出元のWebアプリケーション21に返却する(ステップ15h)。
以上述べたようにこの実施形態によれば、抽出元Webサイト31〜3nの構造情報と所望の情報を抽出するための抽出ルールとを相互に対応づけて予め解析定義情報管理部25に記憶しておくことで、最新のWebサイトから所望の情報を抽出することが可能である。よって、情報提供者は情報抽出元Webサイトの更新を監視することなく、最新の情報を情報閲覧者に提供することができる。また、同一のURIを持つ複数のWebページが存在する場合であっても、解析定義情報管理部25に記憶されている構造情報により、どのWebページであるかを識別することが可能である。このため、それぞれのWebページに対応した抽出ルールを適用し、所望の情報を正確に抽出することができる。
また、構造情報にはWebページのテキストデータから動的要素および属性要素などを除く木構造情報、すなわち骨組み部分としている。このため、動的要素、すなわち、テキスト要素やコメント要素などの更新が頻繁に行われても、記憶している構造情報を更新する必要がないため手間を省くことができる。
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では情報抽出装置を情報抽出Webサイト2に設けたが、利用者端末1に設けることも可能である。また、抽出ルールについても、上記実施形態ではXPathの記法を適用したが、抽出される箇所が特定できれば、どのような情報でも利用可能である。
また、前記実施形態では複数のWebサイト31〜3nから情報を取得する場合を例にとって説明したが、1つのWebサイトから複数種のWebを取得する場合にも適用可能である。すなわち、1つのURIに対し構造情報は複数個(n個)設定される。また、構造情報に対するページIDの関係は1:1であり、さらに1つのページIDに対する抽出ルールの関係は1:nに設定される。なお、1つのページIDに対する抽出ルールの関係は1:1でもよい。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
この発明に係わる情報抽出装置を備えるシステムの一実施形態を示す図。 図1に示した情報抽出装置の機能構成を示すブロック図。 図1に示した情報抽出装置の処理手順と処理内容を示すシーケンス図。 情報抽出元WebサイトからダウンロードされるページID:P1〜P4に対応する情報抽出元Webページの画面構成の一例を示す図。 図4に示したページID:P1に対応する情報抽出元WebページのHTML文書を示す図。 図4に示したページID:P2に対応する情報抽出元WebページのHTML文書を示す図。 図4に示したページID:P3に対応する情報抽出元WebページのHTML文書を示す図。 図4に示したページID:P4に対応する情報抽出元WebページのHTML文書を示す図。 図4に示したページID:P1に対応する情報抽出元Webページの構造情報を示す図。 図4に示したページID:P2に対応する情報抽出元Webページの構造情報を示す図。 図4に示したページID:P3に対応する情報抽出元Webページの構造情報を示す図。 図4に示したページID:P4に対応する情報抽出元Webページの構造情報を示す図。 解析定義情報管理部に記憶される情報の一例を示す図。 構造情報の作成手順と処理内容を示すフローチャート。 図4に示したページID:P2〜P4に対応する情報抽出元Webページにおける情報抽出手順と処理内容を示すフローチャート。
符号の説明
1…利用者端末、2…情報抽出Webサイト、31〜3n…抽出元Webサイト、21…Webアプリケーション、22…エンジン、23…プロトコル処理部、24…構造解析部、25…解析定義情報管理部、26…情報抽出部、NW…通信ネットワーク。

Claims (12)

  1. 1つ以上のWeb情報提供サイトに対し通信ネットワークを介して接続されるWeb情報抽出装置において、前記1つ以上のWeb情報提供サイトから情報データを取得し、取得された情報データから特定の部分データを抽出して統合ページを作成する方法であって、
    前記Web情報抽出装置が、前記1つ以上のWeb情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得する過程と、
    前記Web情報抽出装置が、前記取得された情報データを予め記憶手段に記憶しておいた複数の構造情報と照合して、前記取得された情報データのデータ構造を識別する過程と、
    前記Web情報抽出装置が、前記識別されたデータ構造に対応する抽出ルールを、予め前記構造情報に対応付けて前記記憶手段に記憶しておいた1つ以上の抽出ルールの中から選択する過程と、
    前記Web情報抽出装置が、前記選択された抽出ルールに従い、前記取得された情報データからそのデータ構造中の特定の部分データを抽出する過程と
    を具備することを特徴とするWeb情報抽出方法。
  2. 前記データ構造を識別する過程は、前記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、前記構造情報として前記記憶手段に予め記憶しておき、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項1記載のWeb情報抽出方法。
  3. 前記データ構造を識別する過程は、前記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらに前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの1構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を予め記憶しておき、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項1記載のWeb情報抽出方法。
  4. 前記Web情報抽出装置が、前記データ構造の識別過程に先立ち、前記取得された情報データのマークアップ言語の構造に基づいて前記木構造情報により表される構造情報を作成し、この作成された構造情報を前記記憶手段に格納する過程を、さらに具備することを特徴とする請求項2又は3記載のWeb情報抽出方法。
  5. 1つ以上のWeb情報提供サイトに対し通信ネットワークを介して接続され、前記1つ以上のWeb情報提供サイトから情報データを取得して、この取得された情報データから特定の部分データを抽出して統合ページを作成するWeb情報抽出装置であって、
    取得対象として想定される情報データのデータ構造を表す複数の構造情報と、これらの各構造情報に対応する1つ以上の抽出ルールを、対応付けて記憶する記憶手段と、
    前記1つ以上のWeb情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得する手段と、
    前記取得された情報データを前記記憶手段に記憶される複数の構造情報と照合して、前記取得された情報データのデータ構造を識別する手段と、
    前記識別されたデータ構造に対応する抽出ルールを、前記記憶手段から選択的に読み出す手段と、
    前記読み出された抽出ルールに従い、前記取得された情報データからそのデータ構造中の特定の部分データを抽出する手段と
    を具備することを特徴とするWeb情報抽出装置。
  6. 前記記憶手段は、前記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、前記構造情報として記憶し、
    前記データ構造を識別する手段は、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項4記載のWeb情報抽出装置。
  7. 前記記憶手段は、前記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらに前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの1構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を、前記構造情報として記憶し、
    前記データ構造を識別する手段は、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項4記載のWeb情報抽出装置。
  8. 前記データ構造の識別処理に先立ち、前記取得された情報データのマークアップ言語の構造に基づいて前記木構造情報により表される構造情報を作成し、この作成された構造情報を前記記憶手段に格納する手段を、さらに具備することを特徴とする請求項6又は7記載のWeb情報抽出装置。
  9. 1つ以上のWeb情報提供サイトに対し通信ネットワークを介して接続され、前記1つ以上のWeb情報提供サイトから情報データを取得し、この取得された情報データから特定の部分データを抽出して統合ページを作成する、コンピュータを備えるWeb情報抽出装置で使用されるプログラムであって、
    前記1つ以上のWeb情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得する処理と、
    前記取得された情報データを予め記憶手段に記憶しておいた複数の構造情報と照合して、前記取得された情報データのデータ構造を識別する処理と、
    前記識別されたデータ構造に対応する抽出ルールを、予め前記構造情報に対応付けて前記記憶手段に記憶しておいた1つ以上の抽出ルールの中から選択する処理と、
    前記選択された抽出ルールに従い、前記取得された情報データからそのデータ構造中の特定の部分データを抽出する処理と
    を、前記コンピュータに実行させることを特徴とするプログラム。
  10. 前記データ構造を識別する処理は、前記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、前記構造情報として前記記憶手段に予め記憶し、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項9記載のプログラム。
  11. 前記データ構造を識別する処理は、前記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらに前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの1構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を予め記憶しておき、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項9記載のプログラム。
  12. 前記データ構造の識別処理に先立ち、前記取得された情報データのマークアップ言語の構造に基づいて前記木構造情報により表される構造情報を作成し、この作成された構造情報を前記記憶手段に格納する処理を、さらに前記コンピュータに実行させることを特徴とする請求項10又は11記載のプログラム。
JP2004178813A 2004-06-16 2004-06-16 Web情報抽出方法及び装置とそのプログラム Pending JP2006004111A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004178813A JP2006004111A (ja) 2004-06-16 2004-06-16 Web情報抽出方法及び装置とそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004178813A JP2006004111A (ja) 2004-06-16 2004-06-16 Web情報抽出方法及び装置とそのプログラム

Publications (1)

Publication Number Publication Date
JP2006004111A true JP2006004111A (ja) 2006-01-05

Family

ID=35772466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004178813A Pending JP2006004111A (ja) 2004-06-16 2004-06-16 Web情報抽出方法及び装置とそのプログラム

Country Status (1)

Country Link
JP (1) JP2006004111A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266200B2 (en) 2006-11-29 2012-09-11 Nec Corporation Application interaction system, application interaction method, recording medium, and application interaction program
JP2015528931A (ja) * 2012-06-08 2015-10-01 フリーダム サイエンティフィック インコーポレイテッド カスタマイズ可能なウェブページ出力を備えたスクリーンリーダー
JP7228937B1 (ja) 2022-02-17 2023-02-27 株式会社Jx通信社 情報処理装置、プログラムおよび情報処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266200B2 (en) 2006-11-29 2012-09-11 Nec Corporation Application interaction system, application interaction method, recording medium, and application interaction program
JP2015528931A (ja) * 2012-06-08 2015-10-01 フリーダム サイエンティフィック インコーポレイテッド カスタマイズ可能なウェブページ出力を備えたスクリーンリーダー
JP7228937B1 (ja) 2022-02-17 2023-02-27 株式会社Jx通信社 情報処理装置、プログラムおよび情報処理方法
JP2023119614A (ja) * 2022-02-17 2023-08-29 株式会社Jx通信社 情報処理装置、プログラムおよび情報処理方法

Similar Documents

Publication Publication Date Title
JP5505671B2 (ja) 更新通知方法及びブラウザ
CA2673110C (en) Method and system for intellegent processing of electronic information
KR100490734B1 (ko) 주석기반 문서 자동 생성장치 및 방법
US8572105B2 (en) Method and system for desktop tagging of a web page
KR101409673B1 (ko) 지속 저장 포탈
US7324997B2 (en) Bookmark managing system and bookmark managing method
JP5233220B2 (ja) ページ付加情報共有管理方法
JP2005284334A (ja) Webページ更新通知方法及び装置
CN101231636A (zh) 一种便捷的信息搜索方法、系统及一种输入法系统
US20120290911A1 (en) Method for Content Folding
US20090172520A1 (en) Method of managing web services using integrated document
JP5309121B2 (ja) 情報処理方法、プログラム、情報処理システム
JP2004164623A (ja) 表示データ生成装置、表示データ生成システム、表示データ生成方法、表示データ生成プログラム及び記録媒体
US7865821B2 (en) Electronic document update notification device and electronic document update notifying method
KR20120122959A (ko) 웹 컨텐츠 수집방법 및 수집장치, 그 기록매체
JP2008071116A (ja) 情報配信システム、情報配信装置、情報配信方法および情報配信用プログラム
JP2006004111A (ja) Web情報抽出方法及び装置とそのプログラム
JP2004341942A (ja) コンテンツ分類方法、コンテンツ分類装置、コンテンツ分類用プログラムおよびコンテンツ分類用プログラムを記憶した記憶媒体
JP2002082936A (ja) コンテンツデータ表示装置とコンテンツデータ表示システム
JP2010049598A (ja) ウェブサイト作成支援装置及びウェブサイト作成支援プログラム
JP2007025753A (ja) ウェブログサーバ及びウェブログサービス提供システム
US7590634B2 (en) Detection of inaccessible resources
KR100827023B1 (ko) Rss 피드의 음성 서비스 시스템과 그 서비스 방법 및 이를 기록한 기록매체
KR100965343B1 (ko) 사용자의 검색 결과 활용 패턴의 공유를 이용한 검색 엔진운영 방법 및 시스템
JP5386470B2 (ja) 情報記憶装置、情報処理装置、及びプログラム