(57)【要約】      （修正有）【課題】データレコードのリストが繰り返し構造を有する可変数のデータレコードからデータを抽出する。【解決手段】テンプレート文書オブジェクトモデル（ＤＯＭ）によって表されるテンプレートウェブページを受信し、レコードノードを選択する。当該レコードノードは、テンプレートＤＯＭの、抽出されるべきデータを含む部分木の根ノードである。その後、レコードノード部分木及びデータフィールド部分パスがメモリ内に格納される。レコードノードはレコードノード部分木の根ノードであり、データフィールド部分パスは、レコードノードからデータフィールドノードへのテンプレートＤＯＭの相対パスである。抽出段階の間に、ＤＯＭ木によって表されるウェブページが受信され、レコードノード部分木の構造に従ってＤＯＭ木のマッチする部分木が特定される。次に、データフィールド部分パスに従ってマッチする部分木からデータが抽出される。【選択図】図１
2010086517.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施される、ウェブページからデータを抽出する方法であって、
テンプレート文書オブジェクトモデル（ＤＯＭ）によって表されるテンプレートウェブページを受信するステップと、
レコードノードを選択するステップであって、該レコードノードは、抽出されるべきデータを含む、前記テンプレートＤＯＭの部分木の根ノードである、ステップと、
レコードノード部分木及びデータフィールド部分パスをメモリ内に格納するステップであって、前記レコードノードは該レコードノード部分木の根ノードであり、該データフィールド部分パスは、前記レコードノードからデータフィールドノードへの前記テンプレートＤＯＭの相対パスである、ステップと、
ＤＯＭ木によって表されるウェブページを受信するステップと、
前記レコードノード部分木の構造に従って前記ＤＯＭ木のマッチする部分木を特定するステップと、
前記データフィールド部分パスに従って前記マッチする部分木からデータを抽出するステップと、
を含む、方法。
【請求項２】
前記選択するステップは、
表示画面の第１の部分上に前記テンプレートウェブページを表示するステップ、
前記テンプレートウェブページにおいて、抽出されるべきデータの位置を表すサンプルデータを特定するステップ、及び
前記表示画面の第２の部分上に、前記サンプルデータに対応するＸＰａｔｈ式を表示するステップ、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ＸＰａｔｈ式上でコンピュータマウスポインタを動かして、現在のレコードノードを示すステップと、
前記現在のレコードノードに対応する前記テンプレートウェブページの部分をプログラムによって強調表示するステップと、
前記抽出されるべきデータが前記表示画面の前記第１の部分上で強調表示されるとき、前記現在のレコードノードを前記レコードノードとして選択するステップと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記ＸＰａｔｈ式のノードから前記レコードノードをユーザが手作業で選択するステップをさらに含む、請求項２に記載の方法。
【請求項５】
前記選択するステップは、
表示画面上に前記テンプレートウェブページを表示するステップと、
前記テンプレートウェブページの一部分をユーザが手作業で強調表示するステップと、
前記テンプレートウェブページの前記強調表示された一部分に対応する、前記テンプレートＤＯＭの一部分を特定するステップと、
前記テンプレートＤＯＭの一部分の最小根ノードを前記レコードノードとして選択するステップと、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記選択するステップは、
前記テンプレートＤＯＭにおいてサンプルデータフィールドを特定するステップと、
前記サンプルデータフィールドに対応する葉ノードに対する最小共通祖先（ＬＣＡ）を求めるステップと、
ＬＣＡ部分木を前記テンプレートＤＯＭの部分木と比較して、マッチする部分木を特定するステップであって、前記ＬＣＡ部分木は、前記ＬＣＡノードが根ノードである前記テンプレートＤＯＭの部分木である、ステップと、
すべてのマッチする部分木の最小共通祖先ノードを前記レコードノードとして選択するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記マッチする部分木が、前記レコードノード部分木の対応するタグにマッチする非葉ノードのすべてのタグを有している、請求項１に記載の方法。
【請求項８】
前記レコードノード部分木の不変の葉ノードを特定するステップと、
前記マッチする部分木から部分木を選択するステップであって、対応する葉ノードは前記不変の葉ノードとマッチする、ステップと、
をさらに含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはウェブページを分析することに関し、より詳細にはウェブページからデータを抽出することに関する。
【背景技術】
【０００２】
ウェブページ
ウェブページ（web page又はwebpage）はワールドワイドウェブ（ＷＷＷ）に適した情報資源であり、ウェブページにはウェブブラウザを使用してアクセスすることができる。情報の形式は通常、ハイパーテキストマークアップ言語（ＨＴＭＬ）、又は拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ）であり、ハイパーテキストリンクを介して他のウェブページへのナビゲーションを提供することができる。ハイパーテキスト転送プロトコル（ＨＴＴＰ）のようなプロトコルを使用して、ウェブページを、ローカルコンピュータ又はリモートウェブサーバから取り出すことができる。
【０００３】
通常、ウェブページは人間のユーザ向けである。その結果、ほとんどのウェブページのレイアウトは、ウェブページの視覚表現に焦点を置き、最大限のユーザ利便性のために設計される。これは通常、ウェブページのコンテンツ及び視覚レイアウトの両方を、ＨＴＭＬを用いて符号化することによって達成される。
【０００４】
１つ又は複数のウェブページからの情報を組み合わせることが必要であることが多い。たとえば、幾つかの形態の交通機関（飛行機、電車、タクシー）を使用して旅行の日程を組む場合、旅行の出発地及び目的地に関する具体的な情報と併せて、電車の時刻表、利用可能な航空便のリスト、及び地図作成サービスを調べる必要がある場合がある。ほとんどのケースでは、この情報は交通機関提供者の種々のウェブサイトから入手可能であり、人間のユーザにとって、旅行の日程を組むために当該情報を取り出し、使用することは問題ではないだろう。
【０００５】
場合によっては、ウェブページのコンテンツをコンピュータプログラムによって分析及び使用することが有利である。しかし、人間のユーザにとって、ＨＴＭＬに従って符号化及びレンダリングされたウェブページのコンテンツを理解することは簡単であるが、コンピュータプログラムにとって、そうすることは、より困難である。主な理由は、ウェブページのためのＨＴＭＬコードのストリームは、少なくとも３つの別個のタイプの情報、すなわち、ユーザに通信される実際のデータ、データにラベル付けする説明的文字列、及びＨＴＭＬタグのような書式設定命令を含む可能性があることである。
【０００６】
ウェブスクレイピング
ウェブスクレイピング方法は、コンテンツを、当該コンテンツを別のコンテキストでの使用に適した別の形式に変換する目的で、ウェブサイトから抽出する。ウェブサイトをスクレイピングする或るユーザは、情報を当該ユーザ自身のデータベースに格納するか、又は他の方法で情報を操作することを望む場合がある。他のユーザは、特に、頻繁な変化を受ける情報を扱うとき、可能な最も最近のデータを取得する手段としてデータ抽出技法を利用する場合がある。株価を分析する投資家、住宅リストを調査する不動産業者、気象パターンを研究する気象学者、又は保険の価格を追う保険代理業者は、ウェブスクレイピングを行う可能性があるユーザの幾つかの例である。
【０００７】
ウェブスクレイピングソフトウェアは容易に利用可能である。パール言語、及び総合パールアーカイブネットワークのモジュールは、スクリーンスクレイピングに適した多くの機能を含む。Ｍｉｃｒｏｓｏｆｔは、自身のウェブサービスインプリメンテーション内に、ＷＳＤＬ標準への拡張及び正規表現の使用の助けによってウェブページからデータを抽出するウェブサービスを作成する能力を組み込んでいる。ＰＨＰは汎用スクリプト言語である。現在のＰＨＰは、粗悪に形成されたＨＴＭＬ文書を構文解析して文書オブジェクトモデル（ＤＯＭ）ツリーにすると共に、当該文書に対して、それらがあたかもＸＭＬで良好に形成されたかのように作用する機能を含む、多数の拡張可能マークアップ言語（ＸＭＬ）及びＤＯＭの追加を含む。Ｊａｖａは、Ｗ３ＣのＸＱｕｅｒｙ仕様を強化することによって、ウェブスクレイピング技法へのサポートを提供する。Ｐｙｔｈｏｎ及びＲｕｂｙもウェブスクレイピングのためのライブラリを有する。
【０００８】
ウェブページからデータを抽出する方法は一般に、２つの主なカテゴリ、すなわち、教師あり（supervised）及び教師なし（unsupervised）に分かれる。
【０００９】
教師あり（supervised）法
教師あり法は、ウェブページ内のデータフィールドの場所、又はウェブページのソースコードからデータフィールドを抽出する方法のいずれかに関する明示的な命令を必要とする。幾つかの教師あり法は、ＨＴＭＬストリーム内の要素にマッチする抽出ルールを使用する。通常、そのようなルールを書くには、かなりのプログラミング技能が必要とされる。他の教師あり法は、人間のユーザが、レンダリングされたウェブページ上のデータ項目を、たとえば、それらをコンピュータマウスを使用して強調表示することによって指し示すことを必要とし、その後、対応する抽出ルールが自動的に生成される。
【００１０】
教師なし（unsupervised）法
教師なし法は、ウェブページの幾つかのインスタンスの入力を必要とし、その後、当該方法はそのインスタンスから、ウェブページのいずれの部分がデータであり、いずれの部分が文字列を書式設定及びラベル付けしているのかを推測することができる。これらの方法は通常、ウェブページの複数のインスタンスを比較し、可変部分をデータフィールドとして、不変部分を書式設定テンプレートとして扱う。これらの方法の１つの欠点は、これらの方法が、複数のインスタンス例、たとえば異なる複数の検索単語に対して取得される検索結果を必要とすることである。
【００１１】
ウェブページの構造を、当該構造のＤＯＭ木によって表すことができる。ＤＯＭ（文書オブジェクトモデル）自体は、ＪａｖａＳｃｒｉｐｔ及びＣ＋＋のようなプログラミング言語からウェブページの構成要素へのアクセスを可能にするアプリケーションプログラミングインタフェース（ＡＰＩ）である。ウェブページのコンテンツを木として概念的に表すことができ、ここで文書全体は木の根であり、文字列段落、太字文字列、テーブル、リスト等の後続の視覚要素は部分木である。たとえば、テーブル内の太字文字列は、ＤＯＭ木内のノードの以下のパス、すなわち、親が文書ノード（木の根）であるテーブルノード、親がテーブルノードであるテーブル行ノード、親がテーブル行ノードであるテーブルセルノード、親がテーブルセルノードである太字選択ノード、及び最後に親が太字選択ノードである文字列ノードによって、降順に表される。ＤＯＭ木内の木ノード（葉ノード又は内部ノード）へのパスを、木の根からこのノードに到達するのに必要とされる木における走査順序を含むＸＰａｔｈ式によって表すことができる。
【００１２】
ウェブページ構造
２つのウェブページが、変化することができる木の葉ノードを除いて同一のＤＯＭ木を有するとき、それらの２つのウェブページは同じ構造を有する。すなわち、２つの文書がそれぞれ２つの行及び４つの列を共に有するテーブルを含むが、テーブルのセル内に異なる文字列を有する場合、それらの２つの文書は同じ構造を有する。しかしながら、一方のウェブページが２つの行を有するテーブルを含み、他方のウェブページが３つの行を有するテーブルを含む場合、２つの文書は異なる構造を有する。
【００１３】
教師あり法及び教師なし法は共に、固定構造を有するウェブページ上で良好に機能する。これは、抽出されるべき情報を、ＤＯＭ木内の厳密に同じ位置において常に見つけることができるためである。しかしながら、ウェブページの構造が可変であるとき、ページのＤＯＭ木における実際のデータフィールドへのパスも変化し、必要なデータを抽出する方法を指定することは簡単ではない。
【００１４】
ウェブページ構造における１つの特定の変形形態は非常に一般的であり、大きな実際的意義がある。この変形形態は、ウェブページが可変数のデータレコードを含み、当該データレコードのそれぞれが同じ繰返し構造を有するときに発生する。たとえば、検索エンジンの出力は可変数の結果を含むことができる。これらの結果のそれぞれが同じ構造を有する。たとえば、オンラインブックストアを検索した結果は検索基準に応じて決まる。しかしながら、各本は、同じデータフィールド、たとえば、題名、著者、発行元、年を有するレコードによって表され、通常、レコード毎に全く同じように符号化される。
【００１５】
データフィールドへの明示的なパスに依拠する単純な教師あり法は、このケースでは失敗する。これは、必要とされる抽出ルールの数はページ内のレコード数に応じて決まり、これは事前には分からないためである。教師なし方法も同様に失敗する場合がある。これは、教師なし法が繰返し構造を検出することができるのが、ウェブページの、価値のあるデータを一切含まない部分においてであるためである。
【００１６】
繰返し構造を有するウェブページに対処するため、ウェブコンテンツマイニング方法は可能な抽出ルールを生成し、それらを適性の降順でユーザに提示する（特許文献１を参照のこと）。この方法の不利な点は、ユーザが多くの可能性の中から正確な抽出ルールを選択しなくてはならず、正確なルールを特定することは困難である場合があることである。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】米国特許第７，２１０，１３６号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１８】
データレコードのリストが繰返し構造を有する、可変数のデータレコードからデータを抽出する方法をユーザに提供することが所望されている。
【課題を解決するための手段】
【００１９】
本発明の実施の形態は、ウェブページからデータを抽出する方法を提供する。ウェブページはフィールド内にデータを格納する。フィールドはデータレコードを形成し、データレコードは繰返し構造、たとえば可変数の項目又は行を有するリスト又はテーブルを有する。
【００２０】
本発明の実施の形態は、抽出されるべき単一のデータレコードが手作業でマーキングされているウェブページの一例を入力として受信する。次に、本方法は他のウェブページ内の対応するデータレコードを確定することができる。
【００２１】
マーキングされているレコードに対応するＸＰａｔｈ式がユーザに提示される。ユーザは、ＸＰａｔｈ式の、抽出されるべきデータレコードを表すレコードノードに対応する部分を選択する。根がレコードノードである部分木の構造全体を、この部分木内のすべてのデータフィールドへのパスと共に格納する。実行時に、格納した部分木を、ウェブページの新規インスタンスのＤＯＭ木とマッチングする。マッチする毎に、レコードノード部分木内の格納されているパスに従ってデータフィールドが抽出される。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態による、ウェブページからデータを抽出する方法のフロー図である。
【図２】本発明の一実施形態による、レコードノード部分木及びデータフィールド部分パスを構築する方法のフロー図である。
【図３】本発明の実施形態による、ウェブページからデータを抽出する方法のフロー図である。
【図４】本発明の実施形態によるユーザインタフェースのブロック図である。
【図５】本発明の一実施形態によるレコードノードの視覚選択のブロック図である。
【発明を実施するための形態】
【００２３】
図１は、ウェブページ２５からデータ１０を抽出する（９０）方法１００を示す。クライアントコンピュータ（クライアント）３０は、ウェブサーバコンピュータ（サーバ）４０に、テンプレートウェブページ２０を要求する（３５）。クライアント３０は通常、ユーザによって操作されるパーソナルコンピュータである。本発明の一実施形態では、クライアント３０はユーザ介入なしで動作する。
【００２４】
一実施形態では、クライアント３０は、ウェブブラウザ３１の助けによってテンプレートウェブページ２０をロードする。しかしながら、ウェブページ処理のために他のアプリケーション、たとえばＸＭＬエディタを利用することができる。
【００２５】
本発明の好ましい実施形態では、サーバ４０はウェブサーバである。クライアント３０はＨＴＴＰ要求３５をサーバ４０に送信し、サーバ４０からのＨＴＴＰ応答４５内でテンプレートウェブページ２０を受信する。
【００２６】
本発明の幾つかの実施形態は、異なる伝送制御プロトコル（ＴＣＰ）及び異なるタイプのサーバを利用する。たとえば、本発明の一実施形態はファイル転送プロトコル（ＦＴＰ）を使用し、サーバ４０はＦＴＰサーバである。
【００２７】
一実施形態では、クライアント３０は、ウェブページブラウザの助けによってテンプレートウェブページ２０をロードする。ウェブブラウザは、テンプレートウェブページ２０を表すテンプレートＤＯＭ木３２を生成する。レコードノード５５が選択され（５０）、レコードノード部分木６０及びデータフィールド部分パス６５がメモリ７０内に格納される。メモリは、クライアント３０、サーバ、又は別のコンピュータの一部分とすることができる。メモリ８０は、任意のタイプのコンピュータメモリ、たとえばランダムアクセスメモリ（ＲＡＭ）とすることができる。
【００２８】
レコードノード５５は、ウェブページのＤＯＭ木の、データ１０を保有する部分木であるレコードノード部分木の根ノードである。レコードノード５５からデータ１０を保有するデータフィールドへのパスが、データフィールド部分パスである。新たなウェブページ２５は、テンプレートウェブページ２０と同様の構造、すなわち、可変数のデータレコードを有し、当該データレコードのそれぞれがテンプレートウェブページ２０のデータレコードと同じ構造を有する。ウェブページ２５がサーバ、たとえばサーバ４０から取り出されると、レコードノード部分木６０及びデータフィールド部分パス６５が使用されてデータ１０が抽出される（９０）。
【００２９】
学習段階
図２は、テンプレートウェブページ２０からレコードノード部分木６０及びデータフィールド部分パス６５を取り出す方法２００を示す。テンプレートウェブページ２０がサーバ４０から取り出され（２１０）、表示される（２２０）。ブラウザによって、テンプレートウェブページ２０を表すテンプレートＤＯＭ木２３０が生成される。代替的に、テンプレートＤＯＭ木２３０を他のソフトウェアによってテンプレートウェブページ２０から構築することができる。
【００３０】
ユーザはデータフィールドを位置特定し、そのレコード内の関心のあるサンプルデータ２４５をマーキングする（２４０）。方法２００はサンプルデータ２４５を取り出すための中間ＸＰａｔｈ式２５５を構築し（２５０）、当該式２５５をユーザに表示する（２６０）。
【００３１】
図４に示すように、本発明の好ましい実施形態において、テンプレートウェブページ２０が表示画面４１０の第１の部分４３０上に表示され、ＸＰａｔｈ式２５５が表示画面４１０の第２の部分４２０上に表示される。
【００３２】
ユーザは、データ部分木、すなわち、テンプレートＤＯＭ木のサンプルデータ２４５を保持する部分木の、最小根ノードに対応するレコードノード５５を手作業で選択する。たとえば、サンプルデータ２４５がウェブページ２０のテーブルの一部分である場合、レコードノード５５は対応するテーブルノードである。
【００３３】
一実施形態では、ユーザはカーソル４４０をＸＰａｔｈ式２５５上で、たとえば式２５５の左から右へ動かすことによって、レコードノード５５を選択することができる。ユーザがカーソル４４０を式２５５上で動かすのと同時に、ウェブページの、カーソル位置によって示されるノードに対応する部分が強調表示される。
【００３４】
図５は、レコードノード５５の選択の一例を示す。上述したように、テンプレートウェブページ２０は表示画面４１０の第１の部分４３０上に表示され、ＸＰａｔｈ式２５５は表示画面４１０の第２の部分４２０上に表示される。ユーザがカーソル４４０をＸＰａｔｈ式２５５の一部分５１０上に置く場合、当該部分５１０はテンプレートウェブページ２０の第１のテーブル５３５の第１行５２５の第１列５１５に対応しており、列５１５が画面４１０の第１の部分４３０上で強調表示される。ユーザがカーソル４４０をＸＰａｔｈ式２５５の一部分５２０上に置く場合、行５２５が強調表示される。同様に、ユーザがカーソル４４０を式２５５の一部分５３０又は５４０上に置く場合、テーブル５３５又はウェブページ２０全体が強調表示される。
【００３５】
このように、カーソルをＸＰａｔｈ式２５５上で動かすことによって、テンプレートウェブページ２０の、ユーザは選択されたレコードノードに対応する部分を示すことができる。たとえば、ユーザがデータ１０をテーブル５３５全体から抽出することを望む場合、ユーザはテーブル５３５に対応するレコードノード５５を選択する。ユーザは、カーソルを式２５５上で動かすとき、カーソル４４０において、テーブル５３５全体が強調表示されるときのノード、すなわち、ｔａｂｌｅ［１］ノード５３０を選択する。
【００３６】
代替的に、本発明の他の実施形態において、ユーザがカーソルを用いてテンプレートウェブページ２０の部分を強調表示すると、強調表示された部分に対応するノードがレコードノード５５として選択される。代替的に、ユーザがＸＰａｔｈ式に精通している場合、ユーザは、手作業で、又はプログラムによってレコードノード５５を選択することができる。
【００３７】
レコードノード５５が選択されると、根ノードがレコードノード５５であるＤＯＭ部分木の全体構造であるレコードノード部分木６０が、後続の使用のためにメモリ２９０内に格納される。同様に、レコードノード５５からデータフィールドに対応する葉ノードへの相対パスであるデータフィールド部分パス６５がメモリ２９０内に格納される。
【００３８】
一実施形態は、レコードノード部分木６０を自動的に選択する。この実施形態では、サンプルデータ２４５に対応するすべての葉ノードに対する最小共通祖先（ＬＣＡ）、すなわちＬＣＡ  ＤＯＭ木ノードが、ＬＣＡアルゴリズムを使用して求められる。ＬＣＡアルゴリズムは、たとえば、参照により本明細書に援用されるTarjan著「Applications of Path Compression on Balanced Trees」（Journal of the ACM(JACM), v.26 n.4, pp.690-715, Oct. 1979）を参照されたい。
【００３９】
根ノードがＬＣＡノードであるＬＣＡ部分木の構造は、レコードノード部分木６０の一部分に対応する。ＬＣＡ部分木をテンプレートウェブページ２０のすべての部分木とマッチングすることによって、ウェブページ内のすべての他のレコード内の対応するデータフィールドを特定することが可能である。マッチする部分木のすべての根のＬＣＡノードはすべてのレコード部分木の親であるノードである。通常、このノードはテーブル又はリストに対応する。したがって、根がこのＬＣＡノードの１つの子である部分木の構造を、レコードノード部分木６０の構造としてメモリ２９０内に格納することができる。
【００４０】
抽出段階
図３は本発明の実施形態による、レコードノード部分木６０及びデータフィールド部分パス６５を使用してウェブページからデータを抽出する方法３００のステップを示す。抽出段階の間に、ウェブページ３０５が取り出される（３１０）。ウェブページ３０５は、テンプレートウェブページと同一である、データレコードの基本構造を有するべきであるが、場合によっては異なる数のレコードを有する。ウェブページ３０５のＤＯＭ木３１５がウェブブラウザによって構築される。ＤＯＭ木３１５内で、レコードノード部分木６０の構造が、すべての部分木の構造とマッチングされる。
【００４１】
一実施形態では、ウェブページ３０５のＤＯＭ木３１５が適切な順序、たとえば深さ優先探索においてトラバースされ、ウェブページ３０５の各部分木の構造が、格納されているレコードノード部分木６０の構造と比較されてマッチする部分木が選択される（３２０）。２つの木の、葉ノードではないすべてのノードのタグがマッチするとき、成功したマッチが発生し、それらの２つの部分木においてすべてのマッチするノードは同じ数の子孫を有する。マッチが検出されるとき、新たなウェブページ３０５のＤＯＭ木のマッチする部分木はデータレコードに対応する。さらに、予め格納したデータフィールド部分パス６５を使用して、すべての発見されたデータレコードからデータ１０が抽出される（３３０）。
【００４２】
本発明の別の実施形態は、レコードノード部分木６０を用いてテンプレートウェブページ２０をトラバースして、レコードノード部分木６０の構造を有するテンプレートＤＯＭ木２３０の他の部分を特定する。テンプレートＤＯＭ木２３０の部分木に対する特定されたマッチはすべて、レコードノード部分木６０の構造と同じ構造の他のデータレコードに対応する。
【００４３】
マッチが発生すると、方法１００は、レコードノード部分木６０のいずれの葉ノードが変化し、いずれの葉ノードが変化しないかを追跡する。書式設定文字列を表さない葉ノード、たとえば説明的ラベル又はデータフィールド名は、非書式設定葉ノードとしてラベル付けされる。
【００４４】
レコードノード部分木６０を、ＤＯＭ木３１５のすべての部分木とマッチングするとき、２つの部分木において不変の葉ノードがマッチする場合にしかマッチは特定されない。この実施形態によって、ウェブページ３０５におけるレコードを特定する精度が向上する。
【００４５】
本発明を好ましい実施形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応及び変更を行うことができることは理解されたい。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るすべてのこのような変形及び変更を包含することである。
【図１】
2010086517.tif 000003
【図２】
2010086517.tif 000004
【図３】
2010086517.tif 000005
【図４】
2010086517.tif 000006
【図５】
2010086517.tif 000007
【外国語明細書】
2010086517.tif 000008
2010086517.tif 000009
2010086517.tif 000010
2010086517.tif 000011
2010086517.tif 000012
2010086517.tif 000013
2010086517.tif 000014
2010086517.tif 000015
2010086517.tif 000016
2010086517.tif 000017
2010086517.tif 000018
2010086517.tif 000019
2010086517.tif 000020
2010086517.tif 000021
2010086517.tif 000022
2010086517.tif 000023
2010086517.tif 000024
2010086517.tif 000025
2010086517.tif 000026
2010086517.tif 000027
2010086517.tif 000028
2010086517.tif 000029
2010086517.tif 000030