(57)【要約】【課題】常に最新のＷｅｂサイトから情報を抽出することを可能とし、さらにＷｅｂサイトが複数のＷｅｂページを持つ場合であっても各Ｗｅｂページに応じた情報抽出を可能とする。【解決手段】各Ｗｅｂページを特定するための構造情報と各Ｗｅｂページそれぞれに対して所望の情報を抽出するための抽出ルールとを、構造解析部２４に記憶しておく。そして、抽出元Ｗｅｂサイト３１〜３ｎから取得された抽出対象のＷｅｂページを上記記憶されている構造情報と比較することにより、抽出対象のＷｅｂページがどの構造情報と一致するかを判定し、この判定結果をもとに解析定義情報管理部２５において抽出ルールを選択する。そして、この選択された抽出ルールに基づき、抽出対象のＷｅｂページから所望の情報を抽出するようにしたものである。【選択図】      図３
2006004111.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のＷｅｂ情報提供サイトに対し通信ネットワークを介して接続されるＷｅｂ情報抽出装置において、前記１つ以上のＷｅｂ情報提供サイトから情報データを取得し、取得された情報データから特定の部分データを抽出して統合ページを作成する方法であって、
前記Ｗｅｂ情報抽出装置が、前記１つ以上のＷｅｂ情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得する過程と、
前記Ｗｅｂ情報抽出装置が、前記取得された情報データを予め記憶手段に記憶しておいた複数の構造情報と照合して、前記取得された情報データのデータ構造を識別する過程と、
前記Ｗｅｂ情報抽出装置が、前記識別されたデータ構造に対応する抽出ルールを、予め前記構造情報に対応付けて前記記憶手段に記憶しておいた１つ以上の抽出ルールの中から選択する過程と、
前記Ｗｅｂ情報抽出装置が、前記選択された抽出ルールに従い、前記取得された情報データからそのデータ構造中の特定の部分データを抽出する過程と
を具備することを特徴とするＷｅｂ情報抽出方法。
【請求項２】
前記データ構造を識別する過程は、前記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、前記構造情報として前記記憶手段に予め記憶しておき、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項１記載のＷｅｂ情報抽出方法。
【請求項３】
前記データ構造を識別する過程は、前記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらに前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの１構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を予め記憶しておき、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項１記載のＷｅｂ情報抽出方法。
【請求項４】
前記Ｗｅｂ情報抽出装置が、前記データ構造の識別過程に先立ち、前記取得された情報データのマークアップ言語の構造に基づいて前記木構造情報により表される構造情報を作成し、この作成された構造情報を前記記憶手段に格納する過程を、さらに具備することを特徴とする請求項２又は３記載のＷｅｂ情報抽出方法。
【請求項５】
１つ以上のＷｅｂ情報提供サイトに対し通信ネットワークを介して接続され、前記１つ以上のＷｅｂ情報提供サイトから情報データを取得して、この取得された情報データから特定の部分データを抽出して統合ページを作成するＷｅｂ情報抽出装置であって、
取得対象として想定される情報データのデータ構造を表す複数の構造情報と、これらの各構造情報に対応する１つ以上の抽出ルールを、対応付けて記憶する記憶手段と、
前記１つ以上のＷｅｂ情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得する手段と、
前記取得された情報データを前記記憶手段に記憶される複数の構造情報と照合して、前記取得された情報データのデータ構造を識別する手段と、
前記識別されたデータ構造に対応する抽出ルールを、前記記憶手段から選択的に読み出す手段と、
前記読み出された抽出ルールに従い、前記取得された情報データからそのデータ構造中の特定の部分データを抽出する手段と
を具備することを特徴とするＷｅｂ情報抽出装置。
【請求項６】
前記記憶手段は、前記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、前記構造情報として記憶し、
前記データ構造を識別する手段は、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項４記載のＷｅｂ情報抽出装置。
【請求項７】
前記記憶手段は、前記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらに前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの１構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を、前記構造情報として記憶し、
前記データ構造を識別する手段は、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項４記載のＷｅｂ情報抽出装置。
【請求項８】
前記データ構造の識別処理に先立ち、前記取得された情報データのマークアップ言語の構造に基づいて前記木構造情報により表される構造情報を作成し、この作成された構造情報を前記記憶手段に格納する手段を、さらに具備することを特徴とする請求項６又は７記載のＷｅｂ情報抽出装置。
【請求項９】
１つ以上のＷｅｂ情報提供サイトに対し通信ネットワークを介して接続され、前記１つ以上のＷｅｂ情報提供サイトから情報データを取得し、この取得された情報データから特定の部分データを抽出して統合ページを作成する、コンピュータを備えるＷｅｂ情報抽出装置で使用されるプログラムであって、
前記１つ以上のＷｅｂ情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得する処理と、
前記取得された情報データを予め記憶手段に記憶しておいた複数の構造情報と照合して、前記取得された情報データのデータ構造を識別する処理と、
前記識別されたデータ構造に対応する抽出ルールを、予め前記構造情報に対応付けて前記記憶手段に記憶しておいた１つ以上の抽出ルールの中から選択する処理と、
前記選択された抽出ルールに従い、前記取得された情報データからそのデータ構造中の特定の部分データを抽出する処理と
を、前記コンピュータに実行させることを特徴とするプログラム。
【請求項１０】
前記データ構造を識別する処理は、前記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、前記構造情報として前記記憶手段に予め記憶し、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項９記載のプログラム。
【請求項１１】
前記データ構造を識別する処理は、前記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらに前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの１構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を予め記憶しておき、前記取得された情報データのマークアップ言語のデータ構造を前記記憶された木構造情報と照合することにより、前記取得された情報データのデータ構造を識別することを特徴とする請求項９記載のプログラム。
【請求項１２】
前記データ構造の識別処理に先立ち、前記取得された情報データのマークアップ言語の構造に基づいて前記木構造情報により表される構造情報を作成し、この作成された構造情報を前記記憶手段に格納する処理を、さらに前記コンピュータに実行させることを特徴とする請求項１０又は１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のＷｅｂページから情報を選択的に抽出し、抽出された情報をもとにＷｅｂ統合ページを作成する方法及び装置とこの装置で使用されるプログラムに関する。
【背景技術】
【０００２】
近年、ＷＷＷ（World-Wide Web）システムを利用した情報提供サービスが急速に広まっている。公開されるＷｅｂコンテンツは、テキストのみならず、静止画像、音声、動画像など多種多様な電子メディアによって効果的に表現され、流行や社会情勢に応じて動的に変化する。
【０００３】
Ｗｅｂコンテンツを閲覧するためのクライアントソフトウェアはＷｅｂブラウザと呼ばれ、現在ではパーソナル・コンピュータだけではなく、携帯電話やＰＤＡ（Personal Digital Assistants）などの携帯端末にも搭載されている。クライアントはこのＷｅｂブラウザを搭載した端末を使用することにより、いつでもまたどこでも所望のＷｅｂ情報を閲覧することが可能になる。Ｗｅｂコンテンツは、ＨＴＭＬ（HyperText Markup Language）、ＸＭＬ(eXtensible Markup Language)、ＸＨＴＭＬ(eXtensible HyperText Markup Language)などのマークアップ言語で記述された電子文書である。これらのマークアップ言語は、平易な言語であり、また機械語に翻訳する必要もないため、プログラマでなくとも比較的簡単に作成することができる。そのため、様々な情報がＷＷＷシステムにより提供され、大変便利である。
【０００４】
しかしながら、その一方で情報量が膨大であるために、情報閲覧者が必要な情報を収集するのに時間や手間がかかる場合がある。そこで従来では、複数のＷｅｂサイトから収集した情報を１つのＷｅｂサイトに統合し、情報の一覧性を高める試みがなされている。例えば、様々な商店のＷｅｂサイトから商品の価格情報を横断的に取得して比較可能とするＷｅｂサイトや、利用者の金融関連（口座情報、株価情報、証券管理等）の情報を一元的に管理するＷｅｂサイトが挙げられる。
【０００５】
このようなサイトを構築するために、関連する情報を含む複数のＷｅｂページから特定の情報を抽出し、抽出された情報を統合したＷｅｂサイトを設ける仕組みが提案されている。（例えば、特許文献１を参照。）。  
しかし、上記の方法であると、抽出元への参照ではなく、抽出した文書そのものを蓄積するため、抽出した情報は切り取った時点のものであり、利用者がＷｅｂブラウザ等を用いてアクセスした時点の最新のＷｅｂサイトの内容が反映されるものではない。
【０００６】
また、上記の機能に加え、抽出した文書そのものと、抽出元の文書の所在位置を同時に保持する仕組みが提案されている。（例えば、特許文献２を参照。）。  
上記方法であると、抽出元の文書へ辿る手段は提供されるが、抽出した文書そのものを蓄積するため、抽出した情報は切り取った時点のものであり、利用者がＷｅｂブラウザ等を用いてアクセスした時点の最新のＷｅｂサイトの内容が反映されるものではない。
【０００７】
また、取得した文書データを特定構造のデータオブジェクトに変換し、変換後のオブジェクトから指定した部分を取得する仕組みが提案されている。（例えば、特許文献３を参照。）。  
この場合、情報は必要に応じて随時取得に行くため、抽出した文書の情報は最新のＷｅｂサイトの内容が反映される。しかし、同一のＵＲＩ（Uniform Resource Identifier）に対して、同一構造のデータが返却されることが前提になっており、異なった構造のデータが返却された場合に正確に処理することができない。
【０００８】
【特許文献１】特開２００１−１０９７４２
【０００９】
【特許文献２】特開平１１−１１０４０５号
【００１０】
【特許文献３】特開２００２−３４２３１０
【発明の開示】
【発明が解決しようとする課題】
【００１１】
以上述べたように、抽出元への参照ではなく、抽出した文書そのものを蓄積する方法である場合、利用者がＷｅｂブラウザ等を用いてアクセスした時点の最新のＷｅｂサイトの情報の入手が保証されない。また、たとえ抽出した文書と抽出元の文書の所在位置とを同時に保持する方法であっても、利用者が明示的に最新の情報を取得する操作を行わない場合には抽出元の情報がいつ変更されたのかが分からないため、抽出元と蓄積した情報の整合がとれない可能性がある。さらに、一般にＷｅｂをインタフェースとして用いたアプリケーションはＷｅｂブラウザにおける利用者の入力やサーバの状態などに応じて、たとえ同一のＵＲＩに対しても異なる構造を返却することがある。このような場合であっても、同一のＵＲＩに対して同一構造が返却されると認識されてしまうため、正確に情報抽出を行うことができない。
【００１２】
この発明は上記事情に着目したもので、その目的とするところは、常に最新のＷｅｂサイトから情報を抽出することを可能とし、さらに同一のＵＲＩに対して異なった構造のデータが返却された場合にも対応できるようにして、各Ｗｅｂページに対して適切な情報抽出処理を行うことが可能なＷｅｂ情報抽出方法及び装置とそのプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するためにこの発明は、Ｗｅｂ情報抽出装置に、取得対象として想定される情報データのデータ構造を表す複数の構造情報と、これらの構造情報に対応する１つ以上の抽出ルールを、相互に対応付けて記憶する記憶手段を設ける。この状態で、１つ以上のＷｅｂ情報提供サイトからマークアップ言語により記述された情報データを通信ネットワークを介してそれぞれ取得し、この取得された情報データを上記記憶手段に記憶される複数の構造情報と照合して、上記取得された情報データのデータ構造を識別する。そして、この識別されたデータ構造に対応する抽出ルールを上記記憶手段から選択的に読み出し、読み出された抽出ルールに従い、上記取得された情報データからそのデータ構造中の特定の部分データを抽出するようにしたものである。
【００１４】
したがってこの発明によれば、例えば同一のＵＲＩに対して複数のＷｅｂページが存在する場合であっても、それぞれのＷｅｂページが識別され、この識別されたＷｅｂページに対応する１つ以上の抽出ルールが選択されて情報データの抽出が行われる。このため、各Ｗｅｂページに対して正確に情報抽出を行うことができる。また、抽出対象のＷｅｂページは、情報抽出の際に随時取得されるため、Ｗｅｂ情報提供サイトから常に最新の情報を抽出することが可能となる。
【００１５】
またこの発明は、次のような各種機能を備えることも特徴とする。  
第１の機能は、上記マークアップ言語のデータ要素のうち少なくとも動的情報及び装飾情報を除いた枠組みを表す木構造情報を、構造情報として上記記憶手段に記憶しておく。そして、データ構造を識別する際に、上記取得された情報データのマークアップ言語のデータ構造を上記記憶された木構造情報と照合することにより、上記取得された情報データのデータ構造を識別するものである。
【００１６】
すなわち、Ｗｅｂにおける情報は、日々更新される。例えば、株価情報の提供サイトは日々刻々とその情報は更新される。しかし、ページのデザインやレイアウトはそれに比べ、長い期間で維持される。つまり、Ｗｅｂは、例えば株価情報のように、データベース等から取得し、頻繁に更新される動的な部分とデザインやレイアウトを決める静的な部分の組み合わせにより構成されるという前提を置くことができる。それを実現する技術のＡＳＰ（Active Server Pages）、ＪＳＰ（Java（登録商標）Server Pages）等でも静的なマークアップ言語に対し、プログラム的に動的な情報を埋め込むための構文を提供している。以下にその例を示す。  
<table>  
<tr><td>星座</td><td>運勢</td></tr>  
<tr><td><%=seiza%></td><td><%=seiza.getUnsei()%></td></tr>  
</table>  
上記の下線部がプログラム的に動的な情報を埋め込んでいる部分であり、それ以外がページのデザインなどを決める静的な部分である。  
この発明では、上記サイトのような事情を鑑みて、データ構造を識別する際に上記取得された情報データからテキスト、コメント部分などの動的な部分を無視して判定することを特徴としている。
【００１７】
第２の機能は、上記マークアップ言語のデータ要素のうち動的情報及び装飾情報を削除し、さらにさらに、前記マークアップ言語のデータ要素が繰り返し構造を含む場合にはそのうちの１構造のみを残して他を削除した後のデータ要素の枠組みを表す木構造情報を、構造情報として上記記憶手段に記憶しておく。そして、データ構造を識別する際に、上記取得された情報データのマークアップ言語のデータ構造を上記記憶された木構造情報と照合することにより、上記取得された情報データのデータ構造を識別するものである。
すなわち、Ｗｅｂにおける情報提供を行う際には、繰り返し構造を含む場合がある。例えばニュースを提供するサイトでは、あるときにはニュースが１０件あり、またべつのときにはニュースが２０件あるというように、経路検索結果では乗り換え回数に応じて経路情報の数が異なる。以下にその例を示す。  
<table>
<%for(int i=0; i <keiroNumber;i++){%>
<tr><td>out.printIn(keiro[i])</td></tr>
<%}%>  
</table>  
この例では、抽出元のＷｅｂサイトにおけるページ表示処理において、経路の数だけｆｏｒ文により経路が表示される。  
この発明では、上記のような情報提供形態を鑑みて、上記取得された情報データが反復構造を含む場合においては、そのうちの１構造のみを残し、反復構造を含まないページに変換することにより、正確に情報抽出が行えることを特徴としている。
【００１８】
上記第１及び第２の機能を備えることにより、テキスト要素やコメント要素などの動的要素の更新が頻繁に行われても、記憶されている構造情報を更新する必要がなくなるか又は減少するため、構造情報の管理に要する手間が省ける。また、第２の機能のようにデータ要素に繰り返し構造を含む場合には、１構造のみを残す処理を行うことで、を、取得された情報データとのデータ構造を正確に照合することができる。
【００１９】
第３の機能は、データ構造の識別処理に先立ち、取得された情報データのマークアップ言語の構造に基づいて上記木構造情報により表される構造情報を作成し、この作成された構造情報を記憶手段に格納する手段をさらに備えるものである。  
このようにすると、Ｗｅｂ情報抽出装置において構造情報の作成処理が自動的に行われる。このため、例えばＷｅｂ情報抽出装置の管理者が自身で構造情報を作成して記憶手段に記憶させる作業が不要となり、管理上の負担が軽減される。
【発明の効果】
【００２０】
要するにこの発明によれば、常に最新のＷｅｂサイトから情報を抽出することを可能とし、さらに同一のＵＲＩに対して異なった構造のデータが返却された場合にも対応できるようにして、各Ｗｅｂページに対して適切な情報抽出処理を行うことが可能なＷｅｂ情報抽出方法及び装置とそのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２１】
図１は、この発明に係わる情報抽出装置を備えるシステムの一実施形態を示す概略構成図である。なお、この発明における情報抽出装置が、利用者の端末に設けられる場合と、利用者の端末とは別のＷｅｂサイトに設けられる場合とで、装置の基本構成は変わらないため、この実施形態では情報抽出装置がＷｅｂサイトに設けられる場合を例にとって説明する。
【００２２】
この実施形態のシステムは、利用者端末１と、情報抽出機能を備える抽出Ｗｅｂサイト２と、情報が抽出される側のＷｅｂサイト（以後、抽出元Ｗｅｂサイトと呼称する）３とを、通信ネットワークＮＷを介して接続可能としたものである。
通信ネットワークＮＷは、有線通信ネットワークと無線通信ネットワークを含む。有線通信ネットワークは、インターネットに代表されるコンピュータ・ネットワークとユーザ端末との間を接続するための加入者網とから構成される。加入者網には、ＡＤＳＬ（Asymmetric Digital Subscriber Network）に加え、有線ＬＡＮ（Local Area Network）等の企業内通信ネットワーク、ＣＡＴＶ（Cable Television）ネットワークを含む。また、移動通信ネットワークは、例えば携帯電話通信ネットワーク、ＰＨＳ（Personal Handyphone System）、無線ＬＡＮ等を含む。
【００２３】
利用者端末１は、例えばパーソナル・コンピュータ、携帯電話機或いはＰＤＡにより構成される。これらの端末はいずれも、通信インタフェースと、Ｗｅｂブラウザとを備える。通信インタフェースは、他の利用者端末等との間で通信ネットワークＮＷを介して通信を行うために使用される。Ｗｅｂブラウザは、Ｗｅｂサイトを閲覧するために使用される。
【００２４】
抽出元Ｗｅｂサイト３１〜３ｎは、通信ネットワークＮＷのインターネット上に公開されるＷｅｂサイトである。抽出元Ｗｅｂサイト３１〜３ｎからは、それぞれ同一のＵＲＬを持ち構成の異なる複数のＷｅｂページが送信されるものとする。
【００２５】
情報抽出Ｗｅｂサイト２は、この発明に係わる情報抽出装置を備えるもので、次のように構成される。図２はその機能構成を示すブロック図である。すなわち、情報抽出Ｗｅｂサイト２は、Ｗｅｂアプリケーション２１と、この発明に係わる情報抽出装置を構成する、エンジン２２、プロトコル処理部２３、構造解析部２４、解析定義情報管理部２５および情報抽出部２６とを備える。
【００２６】
Ｗｅｂアプリケーション２１は、情報抽出Ｗｅｂサイト２を構成するＷｅｂサーバ上に配置されるアプリケーション・プログラムであり、利用者端末１のＷｅｂブラウザから送信されるリクエストを受信してエンジン２２を呼び出す。そして、エンジン２２から取得した情報抽出結果を、Ｗｅｂブラウザで閲覧可能な形式に整形した後要求元のＷｅｂブラウザへ返送する機能を有する。
【００２７】
エンジン２２は、Ｗｅｂアプリケーション２１からの入力の受け付けと、Ｗｅｂアプリケーション２１への出力の返却等の入出力処理を行う。またエンジン２２は、プロトコル処理部２３、構造解析部２４、解析定義情報管理部２５および情報抽出部２６の制御を行う機能も有する。
【００２８】
プロトコル処理部２３は、Ｗｅｂアプリケーション２１からの要求に対して、ＨＴＴＰリクエストを生成し、生成されたＨＴＴＰリクエストを通信ネットワークＮＷを介して抽出元Ｗｅｂサイト３１〜３ｎへ送信する。また、上記送信したＨＴＴＰリクエストに対する応答、すなわちＨＴＴＰレスポンスを受信する機能を有する。
【００２９】
構造解析部２４は、プロトコル処理部２３により受信されたＨＴＴＰレスポンスから得られるマークアップデータと、予め解析定義情報管理部２５に記憶されている各Ｗｅｂページの構造情報とを比較する。そして、この比較結果をもとに、上記マークアップデータがどのＷｅｂページの構造に対応するかを特定する。
【００３０】
解析定義情報管理部２５は、ＵＲＩ、構造情報および抽出ルールの組を記憶しかつ管理する機能を有する。１つのＵＲＩに対しては、複数の構造情報と１つ以上の抽出ルールがそれぞれ関連付けられる。構造情報とは、抽出元Ｗｅｂサイト３１〜３ｎから返却されたマークアップデータがどのＷｅｂページに対応するものかを特定するための情報である。また抽出ルールとは、情報抽出対象の抽出元マークアップデータから特定の情報を抽出するための情報である。これらは、事前にシステム管理者により情報抽出対象である抽出元Ｗｅｂサイト３１〜３ｎをもとに作成される。
【００３１】
情報抽出部２６は、情報抽出対象の抽出元マークアップデータおよび所望の情報を抽出するための１つ以上の抽出ルールを受け取る。そして、抽出元マークアップデータに対し上記受け取った抽出ルールを適用し、これにより抽出元マークアップデータから部分木を抽出して、この抽出された部分木を抽出結果マークアップデータとしてエンジン２２に返送する。
【００３２】
このように抽出ルールにより取得された１つ以上の抽出結果マークアップデータは、Ｗｅｂアプリケーションによって、例えばデザイン、レイアウトされブラウザに表示されたり、抽出結果をデータとして利用し計算処理や他のプログラムに渡す等の処理に用いられる。  
【００３３】
複数の抽出ルールにより複数のマークアップ言語を取得する理由は抽出結果を後者のようにデータとして利用する形態を想定しているからである。  
例えば、以下のような株価情報に対し、  
<ul><li>
<table>
<tr><td>銘柄</td><td>株価</td></tr>
<tr><td>NTT</td><td>5,000</td></tr>
</table>
</li></ul>
株価部分のみを切り出しＷｅｂブラウザに提示するだけであれば、単にtable部分を抽出すればよいが、銘柄、株価をそれぞれデータとして取得する場合には、以下のように２つの抽出ルールを作成する必要がある。  
銘柄：“/ul/li/table/tr[2]/td”
株価：“/ul/li/table/tr[2]/td[2]”
このような場合を想定し、抽出ルールを複数作成することを可能としている。
【００３４】
次に、以上のように構成されたシステムによるＷｅｂ情報の抽出処理動作を説明する。図３は、図２に示した情報抽出装置の処理手順と処理内容を示すシーケンス図である。  
（１）抽出元マークアップデータの取得  
利用者端末１のＷｅｂブラウザからＨＴＴＰリクエストが送信されると、このＨＴＴＰリクエストはＷｅｂアプリケーション２１により受信される。Ｗｅｂアプリケーション２１は、エンジン２２が提供するＡＰＩを、上記ＨＴＴＰリクエスト（をプログラムで扱う形式に変換したオブジェクト）を引数として呼び出す。そうするとエンジン２２は、シーケンスＳ３１において受信されたＨＴＴＰリクエストに含まれる宛先アドレスを、情報抽出Ｗｅｂサイトのアドレスから抽出元Ｗｅｂサイト３１〜３ｎのアドレスに変換し、このアドレスが変換されたＨＴＴＰリクエストをプロトコル処理部２３に通知する。
【００３５】
プロトコル処理部２３は、上記通知されたＨＴＴＰリクエストを抽出元Ｗｅｂサイト３１〜３ｎへ送信し、処理結果であるＨＴＴＰレスポンスを受信する。そして、受信されたＨＴＴＰレスポンス（をプログラムで扱う形式に変換したオブジェクト）をエンジン２２に返却する。エンジン２２は、上記返却されたＨＴＴＰレスポンス中から抽出元マークアップデータを取得する。
【００３６】
（２）構造情報の取得  
シーケンスＳ３２においてエンジン２２は、上記取得された抽出元マークアップデータに挿入されている抽出元Ｗｅｂサイト３１〜３ｎのＵＲＩをキーとして、解析定義情報管理部２５から構造情報を取得する。このとき、抽出元Ｗｅｂサイト３１〜３ｎと同一のＵＲＩにより返却される複数のページが存在する場合は、これら複数のページに対応する構造情報をそれぞれ取得する。
【００３７】
（３）構造判定  
シーケンスＳ３３において構造解析部２４は、上記エンジン２２により取得された抽出元Ｗｅｂサイト３１〜３ｎの抽出元マークアップデータと、上記解析定義情報管理部２５により取得された構造情報をもとに、構造判定を行う。そして、１つ以上の構造情報の中から抽出元マークアップデータと同一の構造情報を検索し、その識別子であるＷｅｂページＩＤをエンジン２２に返却する。
【００３８】
（４）抽出ルールの取得  
エンジン２２は、シーケンスＳ３４において、上記シーケンスＳ３１により取得されたＵＲＩと、上記シーケンスＳ３３により構造解析部２４から返却されたＷｅｂページＩＤとをキーにして、解析定義情報管理部２５から後述する抽出ルールを取得する。
【００３９】
（５）情報抽出  
シーケンスＳ３５において情報抽出部２５は、上記シーケンスＳ３１により取得された抽出元マークアップデータと、シーケンスＳ３４により取得された抽出ルールとをもとに、情報抽出を行う。そして、上記情報抽出により取得された抽出結果マークアップデータをエンジン２２に返却する。エンジン２２は上記返送された抽出結果マークアップデータを、要求元のＷｅｂアプリケーション２１に返送する。
【００４０】
以上述べた情報抽出処理動作の具体例を説明する。ここでは、ＷＷＷを用いた列車の経路探索システムを例として挙げる。このシステムは、図４に示す入力画面Ｄ１（ページＩＤ：Ｐ１）、駅名候補選択画面Ｄ２（ページＩＤ：Ｐ２）、経路結果表示画面Ｄ３（ページＩＤ：Ｐ３）、およびエラー画面Ｄ４（ページＩＤ：Ｐ４）を備える。これら４画面を情報抽出元Ｗｅｂページとする。
【００４１】
入力画面Ｄ１は、利用者に経路探索条件を入力させる画面である。経路探索条件としては、乗車駅、下車駅および出発日があり、これらの入力欄が入力画面Ｄ１に表示される。  
駅名候補選択画面Ｄ２は、入力画面Ｄ１において入力された乗車駅または下車駅の駅名に対し、複数の駅名候補が存在する場合に表示される。複数の駅名候補を選択可能な形式でそれぞれ表示し、利用者に選択させる。
【００４２】
経路結果表示画面Ｄ３は、入力画面Ｄ１において入力された条件をもとに経路探索を実行した結果を表示する。入力画面Ｄ１において入力された乗車駅または下車駅が１つに特定されない場合には、駅名候補選択画面Ｄ２を経由して経路結果表示画面Ｄ３が表示される。
【００４３】
エラー画面Ｄ４は、入力画面Ｄ１において入力された乗車駅または下車駅の駅名が存在しない場合に表示される。このエラー画面Ｄ４には、「戻る」キーが表示され、この「戻る」キーが操作されると、上記入力画面Ｄ１に戻り、利用者に経路探索条件を再度入力させる。
【００４４】
これら４画面は全て同一ＵＲＩ（http://domain/servlet/route）を持つ。入力画面Ｄ１の入力結果に応じて、駅名候補選択画面Ｄ２、経路結果表示画面Ｄ３またはエラー画面Ｄ４のいずれかに画面が遷移する。各画面において破線枠で囲まれた部分を情報抽出対象とする。
【００４５】
抽出ルールは、ＧＵＩ（Graphical User Interface）エディタ等を用いて対話的に抽出部分を指定することで作成される。図５に入力画面Ｄ１のＨＴＭＬ文書、図６に駅名候補選択画面Ｄ２のＨＴＭＬ文書、図７に経路結果表示画面Ｄ３のＨＴＭＬ文書、および図８にエラー画面Ｄ４のＨＴＭＬ文書をそれぞれ示す。これらのＨＴＭＬ文書がそれぞれ抽出元マークアップデータとなる。さらに、図９に入力画面Ｄ１の構造情報、図１０に駅名候補選択画面Ｄ２の構造情報、図１１に経路結果表示画面Ｄ３の構造情報、および図１２にエラー画面Ｄ４の構造情報をそれぞれ示す。図１３には、解析定義情報管理部２５において記憶されているＵＲＩ、構造情報および抽出ルールの内容と構成を示す。
【００４６】
抽出ルールとは、抽出元Ｗｅｂサイト３１〜３ｎから返却されたマークアップデータから特定の部分を抽出するための情報である。その目的を満たすものであればどのようなものでも利用可能であるが、この実施形態ではＸＰａｔｈを用いて表現する。  
ＸＰａｔｈは、木構造で表現されるマークアップ言語の特定のノード、若しくはノード郡を指し示すための位置指定言語であり、“/html/body/table[1]/tr[1]/td”のような記法を持つ言語である。ＸＰａｔｈは、大文字、小文字を区別する言語であるが、ＨＴＭＬはタグ名に大文字、小文字を許容する言語である。したがって厳密に言えば、抽出ルール適用時にタグ名を全て大文字化、または小文字化する等の処理が必要になるが、本質には関わらないので、ここではその処理を省略する。この実施形態では、抽出ルールの適用範囲は、ＸＰａｔｈで指定されたある一つのノード以下の子要素を抽出対象とみなすものとする。
【００４７】
また、構造情報とは、同一のＵＲＩを持つＷｅｂサイトが複数存在した場合に、各ページを判別するための情報であり、この実施形態ではＷｅｂページのマークアップ構造を表わす骨組み部分とする。したがって構造情報は、Ｗｅｂページのマークアップデータから動的要素・属性要素と想定されるヘッダ、テキストノード、属性ノード、およびコメントノード等を削除した、枠組みのみの木構造情報で構成される。
【００４８】
図１４は解析定義情報管理部２５において構造情報の作成する手順と処理内容を示すフローチャートである。解析定義情報管理部２５は、ステップ１４ａにおいて抽出元マークアップデータに対して動的要素および属性削除処理を行う。その詳細がステップ１４ｂ以降である。ステップ１４ｂにおいて、ある部分木上のノードｎに対して処理を行うものとする。
【００４９】
はじめに、解析定義情報管理部２５は、ステップ１４ｃにより、属性削除処理を行う。次にステップ１４ｄから１４ｈにおいて、動的要素の削除処理をノードｎの全子要素に対して繰り返し行う。解析定義情報管理部２５は、ステップ１４ｅにより上記ノードｎの全子要素である各要素が動的要素であるか判定し、ステップ１４ｆにて該当する要素を削除する。ここでの動的要素とは、頻繁に更新が行われると想定されるテキスト要素やコメント要素などを指す。上記各要素がステップ１４ｅにより動的要素でないと判定した場合については、ステップ１４ｇにおいてその子要素に対して再帰的に動的要素または属性削除処理を行う。解析定義情報管理部２５は、ノードｎの全子要素に対して動的要素削除処理が完了すると、ステップ１４ｉにおいてノードｎの任意の２個の要素に対し、構造判定処理を行い、同型のものがあれば一方を削除する。
【００５０】
構造解析部２４では、以上のように作成された構造情報を用いて構造判定を行う。構造判定においては、エンジン２２から取得した抽出元マークアップデータを解析し、構造情報に含まれる全ノードが木構造情報の同一の位置に存在するかを調べる。つまり構造情報⊆抽出元マークアップデータであるかを判定する。結果が真の場合、該当するページＩＤを返却する。
【００５１】
以下に、図１５に示すフローチャートを参照して上述した経路探索システムにおける情報抽出手順を説明する。  
利用者端末１に入力画面Ｄ１が表示されているものとする。この入力画面Ｄ１に入力された乗車駅・下車駅に応じて、駅名候補選択画面Ｄ２、経路結果表示画面Ｄ３、またはエラー画面Ｄ４のいずれかに画面が遷移する。このフローチャートにおいて、上記いずれかのマークアップデータを受信し、受信したマークアップデータからどの画面であるかを識別し、所望の情報を抽出する手順を説明する。
【００５２】
（ａ）乗車駅「新宿」、下車駅「国分寺」の場合  
まずエンジン２２は、抽出元Ｗｅｂサイト３１〜３ｎから抽出元マークアップデータを受信する（ステップ１５ａ）。この場合、乗車駅「新宿」という駅名には、複数の候補があるので、抽出元マークアップデータとして図６に示す駅名候補選択画面Ｄ２のＨＴＭＬデータを受信する。次にエンジン２２は、この受信された抽出元マークアップデータのＵＲＩをキーとして、解析定義情報管理部２５から図９〜１２に示すページＩＤ：Ｐ１〜Ｐ４に対応する構造情報を取得する（ステップ１５ｂ）。
【００５３】
そして、上記取得された抽出元マークアップデータおよび構造情報を構造解析部２４に通知する。構造解析部２４は、上記通知された抽出元マークアップデータと構造情報とを照合し、これにより抽出元マークアップデータの構造を判定する。この構造判定の結果、抽出元マークアップデータは駅名候補選択画面Ｄ２であると判定されると、構造解析部２４はページＩＤ：Ｐ２をエンジン２２に返却する（ステップ１５ｃ：Ｐ２）。
【００５４】
エンジン２２は、上記解析定義情報管理部２５から取得されたＵＲＩと、上記構造解析部２４から返却されたページＩＤ：Ｐ２とをキーとして、ページＩＤ：Ｐ２に対応する抽出ルール“//body/table/tr[4]/td/table/tr/td[2]/table”を取得する（ステップ１５ｄ）。そして、上記抽出元マークアップデータと、上記取得されたページＩＤ：Ｐ２に対応する抽出ルールとを情報抽出部２６に転送する。情報抽出部２６は、上記転送された抽出元マークアップデータに対し抽出ルールを適用する（ステップ１５ｇ）。この情報抽出の結果、図６の下線部分の「table」要素以下の部分木が得られる。エンジン２２は、上記情報抽出部２６から返送された部分木を、抽出結果マークアップデータとして呼出元のＷｅｂアプリケーション２１に返却する（ステップ１５ｈ）。
【００５５】
（ｂ）乗車駅「阿佐ヶ谷」、下車駅「国分寺」の場合  
この場合、乗車駅「阿佐ヶ谷」は、他に選択候補がなく特定可能な駅名であるので、エンジン２２は抽出元マークアップデータとして図７に示す経路結果表示画面Ｄ３のＨＴＭＬデータを受信する（ステップ１５ａ）。このとき上記受信されたマークアップデータは、上記（a）の場合と同一のＵＲＩである。このため、エンジン２２はステップ１５ｂにおいて、同じく図９〜１２に示すページＩＤ：Ｐ１〜Ｐ４に対応する構造情報を取得し、この取得された構造情報を抽出元マークアップデータと共に構造解析部２４に通知する。構造解析部２４は、通知された抽出元マークアップデータと構造情報とを照合する。そして、構造判定の結果、抽出元マークアップデータは経路結果表示画面Ｄ３であると判定されると、ページＩＤ：Ｐ３を返却する（ステップ１５ｃ：Ｐ３）。
【００５６】
続いてエンジン２２は、上記抽出元マークアップデータのＵＲＩと、上記構造解析部２４から返却されたページＩＤ：Ｐ３を、解析定義情報管理部２５に通知する。解析定義情報管理部２５は、上記通知されたＵＲＩとページＩＤ：Ｐ３をキーとして、下記のページＩＤ：Ｐ３に対応する抽出ルールを取得する（ステップ１５ｅ）。  
“//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()”。
【００５７】
エンジン２２は、抽出元マークアップデータと、上記取得されたページＩＤ：Ｐ３に対応する抽出ルールを情報抽出部２６に渡す。情報抽出部２６は、抽出元マークアップデータに対し抽出ルールを適用する（ステップ１５ｇ）。この情報抽出の結果、図７の下線部分の「table」要素以下の部分木、つまり１８分および３１０円が得られる。エンジン２２は、これらを抽出結果マークアップデータとして呼出元のＷｅｂアプリケーション２１に返却する（ステップ１５ｈ）。
【００５８】
（ｃ）乗車駅「存在しない駅名」、下車駅「国分寺」の場合  
この場合、乗車駅は、「存在しない駅名」であるので、エンジン２２は抽出元マークアップデータとして図８に示すエラー画面Ｄ４のＨＴＭＬデータを受信する（ステップ１５ａ）。受信したマークアップデータは、上記（a）の場合と同一のＵＲＩであるため、同じく図９〜１２に示すページＩＤＰ１〜Ｐ４に対応する構造情報が取得される（ステップ１５ｂ）。構造解析部２４は、抽出元マークアップデータと、上記取得された構造情報とを照合する。そして、構造判定の結果、抽出元マークアップデータはエラー画面Ｄ４であると判定されると、エンジン２２に対しページＩＤ：Ｐ４を返却する（ステップ１５ｃ：Ｐ４）。
【００５９】
エンジン２２は、上記抽出元マークアップデータのＵＲＩと、上記構造解析部２４から返却されたページＩＤ：Ｐ４を、解析定義情報管理部２５に通知する。解析定義情報管理部２５は、上記通知されたＵＲＩとページＩＤ：Ｐ４をキーとして、下記のページＩＤ：Ｐ４に対応する抽出ルールを取得する。  
“//body/table/tr[4]/td/table/tr/td[2]/table”を取得する（ステップ１５ｆ）。そして、抽出元マークアップデータと、上記取得されたページＩＤ：Ｐ４に対応する抽出ルールを情報抽出部２６に渡し、情報抽出部２６は抽出元マークアップデータに対し上記抽出ルールを適用する（ステップ１５ｇ）。この情報抽出の結果、図８の下線部分の「table」要素以下の部分木が得られる。エンジン２２はそれを抽出結果マークアップデータとして呼出元のＷｅｂアプリケーション２１に返却する（ステップ１５ｈ）。
【００６０】
以上述べたようにこの実施形態によれば、抽出元Ｗｅｂサイト３１〜３ｎの構造情報と所望の情報を抽出するための抽出ルールとを相互に対応づけて予め解析定義情報管理部２５に記憶しておくことで、最新のＷｅｂサイトから所望の情報を抽出することが可能である。よって、情報提供者は情報抽出元Ｗｅｂサイトの更新を監視することなく、最新の情報を情報閲覧者に提供することができる。また、同一のＵＲＩを持つ複数のＷｅｂページが存在する場合であっても、解析定義情報管理部２５に記憶されている構造情報により、どのＷｅｂページであるかを識別することが可能である。このため、それぞれのＷｅｂページに対応した抽出ルールを適用し、所望の情報を正確に抽出することができる。
【００６１】
また、構造情報にはＷｅｂページのテキストデータから動的要素および属性要素などを除く木構造情報、すなわち骨組み部分としている。このため、動的要素、すなわち、テキスト要素やコメント要素などの更新が頻繁に行われても、記憶している構造情報を更新する必要がないため手間を省くことができる。
【００６２】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では情報抽出装置を情報抽出Ｗｅｂサイト２に設けたが、利用者端末１に設けることも可能である。また、抽出ルールについても、上記実施形態ではＸＰａｔｈの記法を適用したが、抽出される箇所が特定できれば、どのような情報でも利用可能である。
また、前記実施形態では複数のＷｅｂサイト３１〜３ｎから情報を取得する場合を例にとって説明したが、１つのＷｅｂサイトから複数種のＷｅｂを取得する場合にも適用可能である。すなわち、１つのＵＲＩに対し構造情報は複数個（ｎ個）設定される。また、構造情報に対するページＩＤの関係は１：１であり、さらに１つのページＩＤに対する抽出ルールの関係は１：ｎに設定される。なお、１つのページＩＤに対する抽出ルールの関係は１：１でもよい。
【００６３】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６４】
【図１】この発明に係わる情報抽出装置を備えるシステムの一実施形態を示す図。
【図２】図１に示した情報抽出装置の機能構成を示すブロック図。
【図３】図１に示した情報抽出装置の処理手順と処理内容を示すシーケンス図。
【図４】情報抽出元ＷｅｂサイトからダウンロードされるページＩＤ：Ｐ１〜Ｐ４に対応する情報抽出元Ｗｅｂページの画面構成の一例を示す図。
【図５】図４に示したページＩＤ：Ｐ１に対応する情報抽出元ＷｅｂページのＨＴＭＬ文書を示す図。
【図６】図４に示したページＩＤ：Ｐ２に対応する情報抽出元ＷｅｂページのＨＴＭＬ文書を示す図。
【図７】図４に示したページＩＤ：Ｐ３に対応する情報抽出元ＷｅｂページのＨＴＭＬ文書を示す図。
【図８】図４に示したページＩＤ：Ｐ４に対応する情報抽出元ＷｅｂページのＨＴＭＬ文書を示す図。
【図９】図４に示したページＩＤ：Ｐ１に対応する情報抽出元Ｗｅｂページの構造情報を示す図。
【図１０】図４に示したページＩＤ：Ｐ２に対応する情報抽出元Ｗｅｂページの構造情報を示す図。
【図１１】図４に示したページＩＤ：Ｐ３に対応する情報抽出元Ｗｅｂページの構造情報を示す図。
【図１２】図４に示したページＩＤ：Ｐ４に対応する情報抽出元Ｗｅｂページの構造情報を示す図。
【図１３】解析定義情報管理部に記憶される情報の一例を示す図。
【図１４】構造情報の作成手順と処理内容を示すフローチャート。
【図１５】図４に示したページＩＤ：Ｐ２〜Ｐ４に対応する情報抽出元Ｗｅｂページにおける情報抽出手順と処理内容を示すフローチャート。
【符号の説明】
【００６５】
１…利用者端末、２…情報抽出Ｗｅｂサイト、３１〜３ｎ…抽出元Ｗｅｂサイト、２１…Ｗｅｂアプリケーション、２２…エンジン、２３…プロトコル処理部、２４…構造解析部、２５…解析定義情報管理部、２６…情報抽出部、ＮＷ…通信ネットワーク。
【図１】
2006004111.tif 000003
【図２】
2006004111.tif 000004
【図３】
2006004111.tif 000005
【図４】
2006004111.tif 000006
【図５】
2006004111.tif 000007
【図６】
2006004111.tif 000008
【図７】
2006004111.tif 000009
【図８】
2006004111.tif 000010
【図９】
2006004111.tif 000011
【図１０】
2006004111.tif 000012
【図１１】
2006004111.tif 000013
【図１２】
2006004111.tif 000014
【図１３】
2006004111.tif 000015
【図１４】
2006004111.tif 000016
【図１５】
2006004111.tif 000017