(57)【特許請求の範囲】
【請求項１】
ウェブページ情報を抽出する方法であって、
実行可能な命令で構成される１つ以上のプロセッサの制御下で、
サンプルページの文書オブジェクトモデル（ＤＯＭ）構造を分析して、前記ＤＯＭ構造内の抽出される情報の位置を取得することと、
前記ＤＯＭ構造内の抽出される前記情報の前記位置に対応するノードをターゲットノードとしてレンダリングし、前記ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、前記ノードがルートノードであるかを判定し、そうでない場合、前記ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、前記ターゲットノードから前記ルートノードまでの取得された前記候補パスをパスセットとしてレンダリングすることと、
抽出されるページのＤＯＭ構造を分析し、前記パスセット内の前記ルートノードから開始するパスを用いて抽出される前記ページの前記ＤＯＭ構造内に抽出される前記情報を配置し、抽出される前記ウェブページの前記ＤＯＭ構造内の抽出される前記情報の前記位置に対応するノードを抽出されたノード候補セットとして取得することと、
最も高いロバスト性を有するノードを前記抽出されたノード候補セットから選択して、最後に抽出されたノードとし、前記抽出されたノードを用いて抽出された情報を取得することと、を含む、方法。
【請求項２】
前記ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、前記ノードがルートノードであるかを判定し、そうでない場合、前記ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、前記ターゲットノードから前記ルートノードまでの取得された前記候補パスをパスセットとしてレンダリングすることは、
前記ターゲットノードから開始して、前記ターゲットノードを現在のノードとしてレンダリングすることと、
事前に取得された前記現在のノードの最近傍の相対位置情報をトラバースし、それから相対位置ｉに対応するＢｉノードを選択し、Ｂｉが前記ルートノードであるかを判定することと、
Ｂｉが前記ルートノードであると判定された場合、そのパスをパスリストに追加し、そうでない場合、Ｂｉを前記現在のノードとして使用し、前記ルートノードが探し出されるまで別のノードを再帰的に探し出し、そのパスを前記パスリストに追加することと、
前記パスリスト内のパスを前記パスセットとしてレンダリングすることと、を含む、請求項１に記載の方法。
【請求項３】
最も高いロバスト性を有するノードを前記抽出されたノード候補セットから選択して、最後に抽出されたノードとすることは、
信頼性判定のルールに基づいて、前記抽出されたノード候補セット内の抽出された候補ノードに対応するパスに関連するスコアを算出し、最も高いスコアを有するパスに対応するノードを前記最後に抽出されたノードとして選択することを含む、請求項２に記載の方法。
【請求項４】
前記ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、前記ノードがルートノードであるかを判定し、そうでない場合、前記ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、前記ターゲットノードから前記ルートノードまでの取得された前記候補パスをパスセットとしてレンダリングすることは、
前記ターゲットノードから開始して、前記ターゲットノードを現在のノードとしてレンダリングすることと、
事前に取得された前記現在のノードの最近傍の相対位置情報をトラバースし、それから相対位置ｉに対応するＢｉノードを選択し、Ｂｉが前記ルートノードであるかを判定することと、
Ｂｉが前記ルートノードであると判定された場合、そのパスをパスリストに追加することと、
Ｂｉが前記ルートノードではないと判定された場合、前記信頼性判定のルールに従ってスコア減点の条件を算出および判定し、前記スコア減点が設定閾値以下である場合、前記Ｂｉノードを前記現在のノードとして使用し、前記ルートノードが探し出されるまで別のノードを再帰的に探し続け、そのパスを前記パスリストに追加し、前記スコア減点が前記閾値を超える場合、現在のパス上での検索を停止することと、
前記パスリスト内で最小のスコア減点を有する最初のＮパスを前記パスセットとして記憶することと、を含む、請求項１に記載の方法。
【請求項５】
前記ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、前記ノードがルートノードであるかを判定し、そうでない場合、前記ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、前記ターゲットノードから前記ルートノードまでの取得された前記候補パスをパスセットとしてレンダリングすることは、
前記ターゲットノードから開始して、前記ターゲットノードを現在のノードとしてレンダリングすることと、
事前に取得された前記現在のノードの最近傍の相対位置情報をトラバースし、それから相対位置ｉに対応するＢｉノードを選択し、Ｂｉが前記ルートノードであるかを判定することと、
Ｂｉが前記ルートノードであると判定された場合、そのパスをパスリストに追加し、そうでない場合、Ｂｉを前記現在のノードとして使用し、前記ルートノードが探し出されるまで別のノードを再帰的に探し出し、そのパスを前記パスリストに追加することと、
前記信頼性判定のルールに従って、スコア減点を前記パスリスト内にあるすべてのパスに対して行い、パスの合計スコア減点が前記閾値を超えるかを判定し、前記閾値を超えない場合、前記パスに関連する結果を保持することと、
前記パスリスト内で最小のスコア減点を有する最初のＮパスを前記パスセットとして記憶することと、を含む、請求項１に記載の方法。
【請求項６】
前記パスリスト内で最小のスコア減点を有する前記最初のＮパスは、パスセットとして記憶され、Ｎは、既定の整数である、請求項５に記載の方法。
【請求項７】
最も高いロバスト性を有するノードを前記抽出された候補ノードセットから選択して、最後に抽出されたノードとすることは、
最も高いスコアを有するパスに対応するノードを前記抽出されたノード候補セットから前記最後に抽出されたノードとして選択することを含む、請求項５に記載の方法。
【請求項８】
前記信頼性判定のルールは、相対位置情報に関連するルール、ノードの総数に関連するルール、および／またはシフト位置情報に関連するルールを含む、請求項５に記載の方法。
【請求項９】
事前に前記ノードに対応する前記相対位置情報を取得することは、
前記ＤＯＭ構造をトラバースして、前記ノードのテキストおよびスタイル情報を取得することと、
前記テキストおよびスタイル情報を用いて、それぞれのノードの最近傍の相対位置情報を取得することと、を含む、請求項１に記載の方法。
【請求項１０】
前記ターゲットノードから前記ルートノードまでの取得された前記候補パスを前記パスセットとしてレンダリングするときに、
前記取得されたパスセット内の前記ノードのパス情報を用いて前記ノード間のパス類似性を算出し、繰り返し構造を有するパスを識別することをさらに含む、請求項１に記載の方法。
【請求項１１】
前記取得されたパスセット内の前記ノードのパス情報を用いて前記ノード間のパス類似性を算出し、繰り返し構造を有するパスを識別することは、
前記ノードの前記パス情報を用いて兄弟ノード間の前記パス類似性を算出することと、
前記パス類似性を用いて前記繰り返し構造を有するすべての兄弟ノードを取得し、前記繰り返し構造を有する兄弟ノードのシフト情報を記録することと、
前記繰り返し構造を有するすべての前記兄弟ノードによって所有される同等のパスを、抽出中に使用される前記パスセットとしてフィルタ処理することと、を含む、請求項１０に記載の方法。
【請求項１２】
前記パスセットを用いて抽出される前記ウェブページの前記抽出されたノードセットを取得することは、
前記パスセットを用いて抽出される前記ウェブページの前記抽出されたノード候補セットを取得し、パスが繰り返し構造を指す場合、前記繰り返し構造を有する前記兄弟ノードの前記シフト情報を用いて、前記繰り返し構造を有する複数のパスを抽出し、抽出される前記ウェブページ情報に対応する前記ノードを前記抽出されたノード候補セットとして取得することを含む、請求項１１に記載の方法。
【請求項１３】
前記ノードの前記パス情報を用いて兄弟ノード間の前記パス類似性を算出することは、以下を含み、
【数１】
0005944985.tif 000008
式中、ｓｉｍ（Ａ，Ｂ）は、ノードＡとノードＢとの間の類似性の程度を表し、
パス（Ａ∩Ｂ）は、前記ノードＡおよびＢに関連する同等のパスのセットを表し、
パス（Ａ∪Ｂ）は、前記ノードＡおよびＢに関連するすべての前記パスを含むセットを表し、
スコア（ｘ）は、パスｘのスコア減点を表す、請求項１１に記載の方法。
【請求項１４】
前記パスセットに対する前記最後に抽出されたノードに対応する前記パスの重みを設定閾値と比較して、関連した抽出が成功したかを判定し、それから得られた結果が前記設定閾値を超える場合、前記抽出が失敗したと判定し、前記得られた結果が前記設定閾値以下である場合、前記抽出が成功したと判定することをさらに含む、請求項に１記載の方法。
【請求項１５】
ウェブページ情報を抽出するシステムであって、
サンプルページの文書オブジェクトモデル（ＤＯＭ）構造を分析し、前記ＤＯＭ構造内の抽出される情報の位置を取得するために使用される、サンプルページ抽出情報位置取得ユニットと、
前記ＤＯＭ構造内に抽出される前記情報の前記位置に対応するノードをターゲットノードとしてレンダリングし、前記ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、前記ノードがルートノードであるかを判定し、そうでない場合、前記ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、前記ターゲットノードから前記ルートノードまでの取得された前記候補パスをパスセットとしてレンダリングするために使用される、パスセット取得ユニットと、
抽出されるページのＤＯＭ構造を分析し、前記パスセット内の前記ルートノードから開始するパスを用いて抽出される前記ページの前記ＤＯＭ構造内に抽出される前記情報を配置し、抽出されるページの前記ＤＯＭ構造内の抽出される前記情報の前記位置に対応するノードを抽出されたノード候補セットとして取得するために使用される、抽出されたノード候補取得ユニットと、
最も高いロバスト性を有するノードを前記抽出されたノード候補セットから選択して、最後に抽出されたノードとし、前記抽出されたノードを用いて抽出された情報を取得するために使用される、抽出された情報取得ユニットと、を備える、システム。
【請求項１６】
前記ＤＯＭ構造をトラバースして、ノードのテキストおよびスタイル情報を取得し、前記テキストおよびスタイル情報を用いて、それぞれのノードの最近傍の相対位置情報を取得するために使用される、ノード位置情報取得サブユニットをさらに備える、請求項１５に記載のシステム。
【請求項１７】
前記取得されたパスセット内の前記ノードのパス情報を用いて前記ノード間のパス類似性を算出し、繰り返し構造を有するパスを識別するために使用される、繰り返し構造認識ユニットをさらに備える、請求項１５に記載のシステム。
【請求項１８】
前記繰り返し構造認識ユニットは、
前記ノードの前記パス情報を用いて兄弟ノード間の前記パス類似性を算出するために使用される、パス類似性算出サブユニットと、
前記パス類似性を用いて前記繰り返し構造を有するすべての兄弟ノードを取得する、繰り返し兄弟ノード取得サブユニットと、
前記繰り返し構造を有する兄弟ノードのシフト情報を記録するために使用される、シフト情報記録サブユニットと、
前記繰り返し構造を有するすべての前記兄弟ノードによって所有される同等のパスを抽出中に使用される前記パスセットとしてフィルタ処理するために使用される、同等のパス取得サブユニットと、を備える、請求項１７に記載のシステム。
【請求項１９】
前記パスセットに対する前記最後に抽出されたノードに対応する前記パスの重みを設定閾値と比較して、関連した抽出が成功したかを判定する抽出結果判定ユニットをさらに備える、請求項１５に記載のシステム。
【請求項２０】
１つ以上のプロセッサによって実行されるときに、行為を行うように前記１つ以上のプロセッサを設定する、実行可能な命令を記憶する１つ以上のコンピュータ可読媒体であって、前記行為が、
サンプルページの文書オブジェクトモデル（ＤＯＭ）構造を分析して、前記ＤＯＭ構造内の抽出される情報の位置を取得することと、
前記ＤＯＭ構造内に抽出される前記情報の前記位置に対応するノードをターゲットノードとしてレンダリングし、前記ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、前記ノードがルートノードであるかを判定し、そうでない場合、前記ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、前記ターゲットノードから前記ルートノードまでの取得された前記候補パスをパスセットとしてレンダリングすることと、
抽出されるページのＤＯＭ構造を分析し、前記パスセット内の前記ルートノードから開始するパスを用いて抽出される前記ページの前記ＤＯＭ構造内に抽出される前記情報を配置し、抽出される前記ウェブページの前記ＤＯＭ構造内の抽出される前記情報の前記位置に対応するノードを抽出されたノード候補セットとして取得することと、
最も高いロバスト性を有するノードを前記抽出されたノード候補セットから選択して、最後に抽出されたノードとし、前記抽出されたノードを用いて抽出された情報を取得することと、を含む、１つ以上のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術の分野に関し、具体的には、ウェブページ情報を抽出する方法およびシステムに関する。
【背景技術】
【０００２】
本出願は、参照によりその全体が本明細書に組み込まれる、２０１１年６月１５日出願の中国特許出願第２０１１１０１６１１１３．６号、表題「Ｍｅｔｈｏｄ  ａｎｄ  ｓｙｓｔｅｍ  ｏｆ  ｅｘｔｒａｃｔｉｎｇ  ｗｅｂ  ｐａｇｅ  ｉｎｆｏｒｍａｔｉｏｎ」に対する優先権を主張する。
【０００３】
インターネットの急速な発展に伴い、インターネットは、情報流通の最も重要な基盤になっている。しかしながら、インターネット上での情報の爆発的な普及を考慮して、ユーザが所望する情報をいかに迅速かつ効率的に取得することができるかが、対処されるべき問題となっている。従来の検索エンジンは、キーワード検索を介してウェブページを取得するのに役立ち得る。しかしながら、それらは、関連ページのリンクを提供するだけであり得る。ユーザは、依然として、手動でウェブページをブラウズして、ユーザが所望する情報を探し出さなければならない。その一方で、正確なクエリをカスタマイズすることができないため、いくつかの検索結果は、ユーザが所望するものではなく、したがって、正確かつ特殊化された検索結果が提供されない場合がある。インターネットをデータベース等の情報源であるかのようにクエリするのが理想的な方法である。したがって、ウェブページ情報抽出が出現している。ウェブページ情報抽出は、目的とするウェブページ情報を異なる情報源から取得し、ユーザが、データベース内の情報を用いて、情報クエリ、検索、データマイニング、またはデータ分析を行うことができるように、情報、すなわち、ユーザが目的とする情報を抽出して、データベースに記憶することができる。ウェブページ情報抽出の目的は、ウェブページのテキスト情報を抽出し、そのテキスト情報を構造化データとして表現することである。そのようにする目的は、処理するのが困難なテキスト情報を、容易に処理および分析される構造化データに変換することである。
【０００４】
ウェブページは、文書オブジェクトモデル（ＤＯＭ）およびハイパーテキストマークアップ言語（ＨＴＭＬ）によって定義された文書であり、重要な情報が通常バックエンドデータベースに記憶され、かつ固定ページテンプレートを用いてユーザに提示される半構造化文書である。ウェブページは、実際には、ファイルである。ユーザに提示されるものは、通常、ブラウザによって解釈されたコンテンツである。メニューから「ソースを見る」を選択すると、ノートパッドを用いてウェブページの実際のコンテンツ見ることができる。見ることができるように、ウェブページは、実際には、様々なタグ（例えば、ヘッダ、フォント、色、サイズ等）を用いたウェブページ上のテキスト、画像、表、および音声等の要素を説明するテキストファイルである。これらのタグは、ウェブページに表示されるテキストコンテンツを切り離す。タグは、構造化情報を文書に導入する。これらのタグに基づいて、文書は、ＤＯＭ構造と称されるツリー構造として表され得る。ＤＯＭ構造内に抽出されるコンテンツの位置を配置することによって、ウェブページ情報の抽出を実現することができる。ウェブページ情報を抽出する一般的なプロセスは、抽出されるコンテンツの位置情報をサンプルページから取得することと、同一のテンプレートを用いたウェブページのデータセットの場合、位置情報を用いてコンテンツ抽出を実行することとを含む。位置情報の正確さは、ウェブページ情報抽出の質を直接決定する。ウェブページが急速に更新されるため、ＤＯＭ構造は、複雑であり、かつ頻繁に変更され、したがって、位置情報の修正につながり易く、位置決め失敗または誤った情報の抽出をもたらす。ウェブページ情報抽出システムは、ウェブページコンテンツの正確でロバストな（「ロバスト」とは、「強い」、「頑丈な」、または「安定した」等の意味を有する）位置決めの解決策の発見を目指す。
【０００５】
現行の科学技術において、ＸＰＡＴＨ（ＸＰＡＴＨとは、ＸＭＬ文書内の情報を探し出すための言語であり、ＸＰＡＴＨは、パス表現を用いてＸＭＬ文書内のノードまたはノードセットを選択する）を自動的に生成して、ウェブページ情報の抽出を行う方法が存在する。ＸＰＡＴＨを自動的に生成する方法は、ユーザがウェブページからの抽出のためにコンテンツを選択することと、プロセスがＤＯＭ構造内に抽出されたコンテンツの位置を記録することと、ＤＯＭルートノードからレベル毎にターゲットノードまでのタグ名情報およびシフト情報のみを含むＸＰＡＴＨパスを自動的に生成することと、ＸＰＡＴＨを用いて抽出されるウェブページのセットから情報を取得することとを含む。自動的に生成されたＸＰＡＴＨは、概して、タグ名およびシフトの情報のみを記録し、位置決め情報を過度に単純化するため、絶え間なく変わるウェブページ構造についていくことができない。さらに、ウェブページのコンテンツが更新された後、コンテンツの配置失敗または抽出を目的としないコンテンツの配置等の問題は、ＸＰＡＴＨパス上の要素が変更された後に生じる。同時に、ＸＰＡＴＨの記録された情報が過度に単純化されるため、ＸＰＡＴＨを用いて繰り返し構造の識別問題を解決することはできない。したがって、繰り返し構造の識別および抽出を実行するためのさらなる算出が要求される。
【０００６】
本開示を実行するときに、本発明者は、少なくとも、ウェブページ情報抽出が、概して、半自動情報抽出方法を使用し、かつページ構造を分析することによって抽出される情報を配置するといった現行の科学技術において存在する問題を発見した。ウェブページ情報は、動的に変更されるデータの種類であり、かつリアルタイムで更新されるため、位置情報は、ウェブページのコンテンツが更新され、ウェブページの構造が変更された後に無効になり、抽出失敗または不正確な抽出結果につながる。
【０００７】
その一方で、現行の科学技術は、繰り返し構造の識別の問題を有能に解決することができない。自動ＸＰＡＴＨ生成方法は、ＸＰＡＴＨを用いて繰り返し構造の識別の問題を解決することができず、繰り返し構造の識別および抽出の実行のためにさらなる算出を要求する。
【０００８】
上述の問題を解決するために、本開示の実施形態は、ウェブページのコンテンツが更新され、ウェブページの構造が変更された後でも、情報を正確に配置し、かつ良好なロバスト性で正確な抽出結果を取得することができる、ウェブページ情報を抽出する方法およびシステムを提供する。
【発明の概要】
【０００９】
技術的提案は以下の通りである。
本開示の実施形態は、ウェブページ情報の抽出の方法を提供する。該方法は、サンプルページのＤＯＭ構造を分析して、ＤＯＭ構造内の抽出される情報の位置を取得することと、ＤＯＭ構造内の抽出される情報の位置に対応するノードをターゲットノードとしてレンダリングし、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、該ノードがルートノードであるかを判定し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングすることと、抽出されるページのＤＯＭ構造を分析し、パスセット内のルートノードから開始するパスを用いて抽出されるページのＤＯＭ構造内に抽出される情報を配置し、抽出されるウェブページのＤＯＭ構造内の抽出される情報の位置に対応するノードを抽出されたノード候補セットとして取得することと、最も高いロバスト性を有するノードを抽出されたノード候補セットから選択して、最後に抽出されたノードとし、抽出されたノードを用いて抽出された情報を取得することと、を含む。
【００１０】
好ましくは、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得し、該ノードがルートノードであるかを判定し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングすることは、特に、ターゲットノードから開始して、ターゲットノードを現在のノードとしてレンダリングすることと、事前に取得された現在のノードの最近傍の相対位置情報をトラバースし、それから相対位置ｉに対応するＢｉノードを選択し、Ｂｉがルートノードであるかを判定することと、Ｂｉがルートノードであると判定された場合、そのパスをパスリストに追加し、そうでない場合、Ｂｉを現在のノードとして使用し、ルートノードが探し出されるまで別のノードを再帰的に探し出し、そのパスをパスリストに追加することと、パスリスト内のパスをパスセットとしてレンダリングすることと、を含む。
【００１１】
好ましくは、最も高いロバスト性を有するノードを抽出されたノード候補セットから選択して、最後に抽出されたノードとすることは、信頼性判定のルールに従って、抽出されたノード候補セット中の抽出された候補ノードに対応するパスに関連するスコアを算出し、最も高いスコアを有するパスに対応するノードを最後に抽出されたノードとして選択することを含む。
【００１２】
好ましくは、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得し、該ノードがルートノードであるかを判定し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングすることは、特に、ターゲットノードから開始して、ターゲットノードを現在のノードとしてレンダリングすることと、事前に取得された現在のノードの最近傍の相対位置情報をトラバースし、それから相対位置ｉに対応するＢｉノードを選択し、Ｂｉがルートノードであるかを判定することと、Ｂｉがルートノードであると判定された場合、そのパスをパスリストに追加することと、Ｂｉがルートノードではないと判定された場合、信頼性判定のルールに従ってスコア減点の条件を算出および判定し、スコア減点が設定閾値以下である場合、Ｂｉノードを現在のノードとして使用し、ルートノードが探し出されるまで別のノードを再帰的に探し続け、そのパスをパスリストに追加し、スコア減点が閾値を超える場合、現在のパス上での検索を停止することと、パスリスト内で最小のスコア減点を有する最初のＮパスをパスセットとして記憶することと、を含む。
【００１３】
好ましくは、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得し、該ノードがルートノードであるかを判断し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングすることは、特に、ターゲットノードから開始して、ターゲットノードを現在のノードとしてレンダリングすることと、事前に取得された現在のノードの最近傍の相対位置情報をトラバースし、それから相対位置ｉに対応するＢｉノードを選択し、Ｂｉがルートノードであるかを判定することと、Ｂｉがルートノードであると判定された場合、そのパスをパスリストに追加し、そうでない場合、Ｂｉを現在のノードとして使用し、ルートノードが探し出されるまで別のノードを再帰的に探し出し、そのパスをパスリストに追加することと、信頼性判定のルールに従って、スコア減点をパスリスト内にあるすべてのパスに対して行い、パスの合計スコア減点が閾値を超えるかを判定し、閾値を超えない場合、パスに関連する結果を保持することと、パスリスト内で最小のスコア減点を有する最初のＮパスをパスセットとして記憶することと、を含む。
【００１４】
好ましくは、パスリスト内で最小のスコア減点を有する最初のＮパスは、パスセットとして記憶され、Ｎは、既定の整数である。
【００１５】
好ましくは、最も高いロバスト性を有するノードを抽出されたノード候補セットから選択して、最後に抽出されたノードとすることは、最も高いスコアを有するパスに対応するノードを抽出されたノード候補セットから最後の抽出された最終ノードとして選択することを含む。
【００１６】
好ましくは、信頼性判定のルールは、相対位置情報に関連するルール、ノードの総数に関連するルール、および／またはシフト位置情報に関連するルールを含む。
【００１７】
好ましくは、事前にノードに対応する相対位置情報を取得することは、ＤＯＭ構造をトラバースして、ノードのテキストおよびスタイル情報を取得することと、該テキストおよびスタイル情報を用いて、それぞれのノードの最近傍の相対位置情報を取得することと、を含む。
【００１８】
好ましくは、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングするときに、該方法は、取得されたパスセット内のノードのパス情報を用いてノード間のパス類似性を算出し、繰り返し構造を有するパスを識別することをさらに含む。
【００１９】
好ましくは、取得されたパスセット内のノードのパス情報を用いてノード間のパス類似性を算出し、繰り返し構造を有するパスを識別することは、ノードのパス情報を用いて兄弟ノード間のパス類似性を算出することと、パス類似性を用いて繰り返し構造を有するすべての兄弟ノードを取得し、繰り返し構造を有する兄弟ノードのシフト情報を記録することと、繰り返し構造を有するすべての兄弟ノードによって所有される同等のパスを、抽出中に使用されるパスセットとしてフィルタ処理することと、を含む。
【００２０】
好ましくは、パスセットを用いて抽出されるウェブページの抽出されたノードセットを取得することは、パスセットを用いて抽出されるウェブページの抽出されたノード候補セットを取得し、パスが繰り返し構造を指す場合、繰り返し構造を有する兄弟ノードのシフト情報を用いて、繰り返し構造を有する複数のパスを抽出し、抽出されるウェブページ情報に対応するノードを抽出されたノード候補セットとして取得することを含む。
【００２１】
好ましくは、ノードのパス情報を用いて兄弟ノード間のパス類似性を算出することは、以下を含み、
【００２２】
【数１】
0005944985.tif 000002
【００２３】
式中、ｓｉｍ（Ａ，Ｂ）は、ノードＡとノードＢとの間の類似性の程度を表し、パス（Ａ∩Ｂ）は、ノードＡおよびＢに関連する同等のパスのセットを表し、パス（Ａ∪Ｂ）は、ノードＡおよびＢに関連するすべてのパスを含むセットを表し、スコア（ｘ）は、パスｘのスコア減点を表す。
【００２４】
好ましくは、該方法は、パスセットに対する最後に抽出されたノードに対応するパスの重みを設定閾値と比較して、関連した抽出が成功したかを判定し、それから得られた結果が設定閾値を超える場合、抽出が失敗したと判定し、得られた結果が設定閾値以下である場合、抽出が成功したと判定することをさらに含む。
【００２５】
本開示の実施形態は、ウェブページ情報を抽出するシステムをさらに開示し、該システムは、サンプルページのＤＯＭ構造を分析し、ＤＯＭ構造内の抽出される情報の位置を取得するために使用される、サンプルページ抽出情報位置取得ユニットと、ＤＯＭ構造内の抽出される情報の位置に対応するノードをターゲットノードとしてレンダリングし、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、該ノードがルートノードであるかを判定し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングするために使用される、パスセット取得ユニットと、抽出されるページのＤＯＭ構造を分析し、パスセット内のルートノードから開始するパスを用いて抽出されるページのＤＯＭ構造内に抽出される情報を配置し、抽出されるページのＤＯＭ構造内の抽出される情報の位置に対応するノードを抽出されたノード候補セットとして取得するために使用される、抽出されたノード候補セット取得ユニットと、最も高いロバスト性を有するノードを抽出されたノード候補セットから選択して、最後に抽出されたノードとし、抽出されたノードを用いて抽出された情報を取得するために使用される、抽出された情報取得ユニットと、を含む。
【００２６】
好ましくは、該システムは、ＤＯＭ構造をトラバースしてノードのテキストおよびスタイル情報を取得し、該テキストおよびスタイル情報を用いてそれぞれのノードの最近傍の相対位置情報を取得するために使用される、ノード位置情報取得サブユニットをさらに含む。
【００２７】
好ましくは、該システムは、取得されたパスセット内のノードのパス情報を用いてノード間のパス類似性を算出し、繰り返し構造を有するパスを識別するために使用される、繰り返し構造認識ユニットをさらに含む。
【００２８】
好ましくは、繰り返し構造認識ユニットは、ノードのパス情報を用いて兄弟ノード間のパス類似性を算出するために使用される、パス類似性算出サブユニットと、パス類似性を用いて繰り返し構造を有するすべての兄弟ノードを取得する、繰り返し兄弟ノード取得サブユニットと、繰り返し構造を有する兄弟ノードのシフト情報を記録するために使用される、シフト情報記録サブユニットと、繰り返し構造を有するすべての兄弟ノードによって所有される同等のパスを抽出中に使用されるパスセットとしてフィルタ処理するために使用される、同等のパス取得サブユニットと、を含む。
【００２９】
好ましくは、該システムは、パスセットに対する最後に抽出されたノードに対応するパスの重みを設定閾値と比較して、関連した抽出が成功したかを判定する抽出結果判定ユニットを含む。
【００３０】
複数のパスを位置決めする技術を使用し、かつＤＯＭ構造およびテキストコンテンツを分析することによって、本開示は、パターンを自動的に見つけ出し、多数の加重されているが厳密に順序付けられていないパスを生成し、複数のパスを配置することによってコンテンツを抽出し、パスの関連した重みに基づいて最後の抽出結果を選択する。多数のパスが豊富なページ情報を含むため、ウェブページのコンテンツが更新され、ウェブページの構造が変更された後の無効な位置情報の結果生じる抽出失敗または不正確な抽出結果の問題は、対話コストを増加させることなくデータの正確さを維持しながら解決される。
【００３１】
その一方で、多数のパスに関連する豊富な情報に基づいて、繰り返し構造の判定を、パスの類似性の全体の程度を算出することによって達成することができ、したがって、繰り返し構造を識別および抽出する問題を有能に解決する。
【００３２】
本開示の例示的な実施形態または現行の科学技術の技術スキームをより明確に理解するために、例示的な実施形態または現行の科学技術の説明に不可欠な添付の図が、以下に簡潔に説明される。以下の図は、本開示の少数の例示的な実施形態を構成するにすぎない。これらの添付の図に基づいて、当業者であれば、独創的に努力することなく、他の図を得ることができる。
【図面の簡単な説明】
【００３３】
【図１】本開示の例示の方法を説明するフローチャートである。
【図２】本開示の第１の実施形態に従う方法を説明するフローチャートである。
【図３】本開示の第１の実施形態に従うＤＯＭ構造を説明する概略図である。
【図４】本開示の第１の実施形態に従うパス選択を説明するチャートである。
【図５】本開示の実施形態に従う取得された抽出された候補ノードセットを説明する概略図である。
【図６】本開示の第２の実施形態に従う方法を説明する概略図である。
【図７】本開示の第２の実施形態に従うパス選択を説明するチャートである。
【図８】本開示の第３の実施形態に従う方法を説明する概略図である。
【図９】本開示の第３の実施形態に従うパス選択を説明するチャートである。
【図１０】本出願の方法の実施形態に従うシステムを説明する概略図である。
【図１１】図１０でより詳細に説明される例示的なシステムである。
【発明を実施するための形態】
【００３４】
本開示は、ウェブページ情報を抽出する方法を開示する。当業者が本開示における技術スキームを理解するために、例示的な実施形態の技術スキームは、例示的な実施形態の添付の図を用いてより明確かつ完全に説明される。本明細書に記載の例示的な実施形態は、本開示の例示的な実施形態すべてではなく一部のみを構成する。本開示の例示的な実施形態に基づいて、当業者であれば、依然として本開示の範囲内であるすべての他の例示的な実施形態を得ることができる。
【００３５】
ウェブページは、その重要な情報が通常バックエンドデータベースに記憶され、固定ページテンプレートでユーザに提示される半構造化された文書である。ウェブページ情報を抽出する一般的なプロセスは、抽出されるコンテンツの位置情報をサンプルページから取得することと、それと同一のテンプレートを用いたウェブページのデータセットの場合、位置情報を用いてコンテンツ抽出を実行することと、を含む。位置情報の正確さは、ウェブページ情報抽出の質を直接決定する。現行の科学技術において、ＸＰＡＴＨ（ＸＰＡＴＨとは、ＸＭＬ文書内の情報を探し出すための言語であり、ＸＰＡＴＨは、パス表現を用いてＸＭＬ文書内のノードまたはノードセットを選択する）を自動的に生成して、ウェブページ情報の抽出を行う方法が存在する。ＸＰＡＴＨを自動的に生成する方法は、ユーザがウェブページからの抽出のためにコンテンツを選択することと、プロセスがＤＯＭ構造内に抽出されたコンテンツの位置を記録することと、ＤＯＭルートノードからレベル毎にターゲットノードまでのタグ名情報およびシフト情報のみを含むＸＰＡＴＨパスを自動的に生成することと、ＸＰＡＴＨを用いて抽出されるウェブページのセットから情報を取得することとを含む。自動的に生成されたＸＰＡＴＨは、概して、タグ名およびシフトの情報のみを記録し、位置決め情報を過度に単純化するため、絶え間なく変わるウェブページ構造についていくことができない。さらに、ウェブページのコンテンツが更新された後、コンテンツの配置失敗または抽出を目的としないコンテンツの配置等の問題は、ＸＰＡＴＨパス上の要素が変更された後に生じる。同時に、ＸＰＡＴＨの記録された情報が過度に単純化されるため、ＸＰＡＴＨを用いて、繰り返し構造の識別問題を解決することができず、繰り返し構造の識別および抽出を実行するためにさらなる算出を要求する。
【００３６】
上述のことを考慮して、本開示は、ウェブページ情報を抽出する方法を提供する。本開示によって提供される技術的提案において、サンプルページのパスセットが取得されるとき、逆位置決め方法は、ターゲットノードからルートノードまでの複数のパスを取得するために使用される。その後、複数のパスを位置決めする方法は、複数のパスによって形成されるパスセットに基づいて抽出されるページの情報を配置するために使用される。したがって、抽出されるページの情報を配置するために複数のパスが取得されるため、ページ情報が修正され、構造が変更された場合でも、抽出されるコンテンツを良好なロバスト性で正確に配置することができるが、但し、ページが実質的に再構築されていないことを条件とする。
【００３７】
図１は、本開示の実施形態に従う方法のフローチャートである。本開示のウェブページ情報を抽出する方法は、添付の図と併せて以下で説明される。
【００３８】
ウェブページ情報を抽出する方法は、以下の手順を含む。
【００３９】
Ｓ１０１は、サンプルページのＤＯＭ構造を分析し、ＤＯＭ構造内の抽出される情報の位置を取得する。
【００４０】
Ｓ１０２は、ＤＯＭ構造内の抽出される情報の位置に対応するノードをターゲットノードとしてレンダリングし、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、該ノードがルートノードであるかを判定し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングする。
【００４１】
Ｓ１０３は、抽出されるページのＤＯＭ構造を分析し、パスセット内のルートノードから開始するパスを用いて抽出されるページのＤＯＭ構造内に抽出される情報を配置し、抽出されるページのＤＯＭ構造内の抽出される情報の位置に対応するノードを抽出されたノード候補セットとして取得する。
【００４２】
Ｓ１０４は、最も高いロバスト性を有するノードを抽出されたノード候補セットから選択して、最後に抽出されたノードとし、抽出されたノードを用いて抽出された情報を取得する。
【実施例１】
【００４３】
本開示によって提供される技術的提案において、我々は、最初に、サンプルページ内に抽出される情報の位置情報、すなわち、ターゲットノードの位置情報を取得し、ターゲットノードの位置情報を用いてターゲットノードからルートノードまでの複数のパスを取得する必要があり、ここで逆位置決め方法が使用される。サンプルページは、通常、ユーザによって提供され、抽出されるウェブページと同一のウェブページテンプレートを用いるウェブページである。該方法の考えられる実行は、抽出されることが所望される情報に基づいてユーザにウェブアドレスを入力させ、関連したウェブページをサンプルページとしてダウンロードさせることである。サンプルページは、異なるウェブサイトからダウンロードされてもよい。したがって、抽出されるウェブページは、この場合、サンプルページと同一のテンプレートを有するウェブページのセットに相当する。他の方法は、サンプルページを取得するために使用されてもよく、本開示によって限定されるものではない。
【００４４】
現行の科学技術において、ユーザは、抽出されるサンプルページ内の情報を選択し、プロセスは、ＤＯＭ構造内の抽出される情報の位置を記録し、バックエンドは、ルートノードからレベル毎にターゲットノードまでのパスを自動的に生成する。それらのノードのいずれかに変更が生じた場合、コンテンツの配置失敗の問題が生じ得る。本開示によって提供される技術的提案は、最近傍の相対位置情報を用いて複数のパスを取得し、抽出されるページのルートノードから開始する複数のパスを用いてターゲットノード、すなわち、抽出されるコンテンツを探し出す。
【００４５】
図２を参照して、図２は、本開示の第１の実施形態に従う方法を説明するフローチャートであり、図と併せて以下で説明される。
【００４６】
Ｓ２０１は、サンプルページから抽出される情報を選択する。
【００４７】
抽出される情報は、ユーザが目的とする情報であり、ウェブページ情報抽出に関して、ユーザがウェブページ情報抽出を介して抽出することを所望する情報の種類に相当する。抽出される情報は、概して、ユーザによって定義および提供される。本開示によって提供される実施形態において、ユーザは、抽出される情報を対話型インタフェースを介してサンプルページから選択することができる。この時に、ユーザは、ライン選択またはフレーム選択を用いてサンプルページ内に抽出される情報を示すことができる。ユーザによって示されるサンプルページ内に抽出される情報が「履歴およびソース」である場合、ユーザは、ラインまたはフレーム選択を用いて抽出される情報を選択することができる。
【００４８】
Ｓ２０２は、サンプルページのＤＯＭ構造を分析し、ＤＯＭツリーを構築し、ＤＯＭ構造内の抽出される情報の位置を取得し、ターゲットノードの位置情報を取得する。
【００４９】
ＤＯＭ（文書オブジェクトモデル）は、
【００５０】
0005944985.tif 000003
【００５１】
と呼ばれる中国名を有する。ＤＯＭは、オブジェクト管理グループ（ＯＭＧ）の規格に基づいて設計され、オブジェクト指向様式で文書モデルを説明する。ＤＯＭは、文書を表し、かつ修正するために必要とされるオブジェクト、これらのオブジェクトの挙動および属性、ならび にこれらのオブジェクト間の関係を定義する。ＤＯＭは、ノードの層によって形成される文書上に全ウェブページをマッピングする。すべてのＤＯＭ構造は、１つのルートノードのみを有し、それぞれのＨＴＭＬタグがツリー上でノードを表すツリー構造である。
【００５２】
表１は、ＤＯＭ構造の簡単な例を示す。
［表１］
<html>
<head>
<body id=“view”>
<div id=“usrbar”>
<div id=“wrap”>
<div id=“header”>
<div id=“page”>
<div id=“content-wrap”class=“layout grid-m0s245 w1000”>
<div id=“content”class=“col-main article”>
<div class=“main-wrap main-shadow”>
<div class=“content-hd”>
<div class=“content-bd main-body”>
<div class=“text”>
<span class=“editable-lemma”data-edit-id=“page94238”></span>
<h1 class=“title”>regular expression<h1>
<script>
<script type=“text/javascript”>
<div class=“clear”> </div>
<style type=“text/css”>
<div class=“mod-top”>
<fieldset id=“catalog-0”class=“text_dir nslog-area”>
<div class=“clear”></div>
<script type=“test/javascript”>
<div id=“lemmacontent-0 ”class=“lemma-main-content”>
<h2 class=“headline-1 first bk-sidecatalog-title”>
<span class=“text_edit editable-title”data-edit>
<a class=“nslog:1019” onclich=“bk.view.edit.Le”>
< /span/>
<a name=“1”></a>
<span class=“headline-content”>history and source</span>
</h2>
【００５３】
ＤＯＭ文書内の抽出される情報の位置、「履歴およびソース」は、以下である：
＜ｓｐａｎ  ｃｌａｓｓ＝“ｈｅａｄｌｉｎｅ−ｃｏｎｔｅｎｔ”＞ｈｉｓｔｏｒｙ  ａｎｄ  ｓｏｕｒｃｅ＜／ｓｐａｎ＞
【００５４】
このような方法で、ＤＯＭ内の抽出される情報の位置情報、すなわち、ターゲットノードの位置情報が取得される。
【００５５】
Ｓ２０３は、サンプルページのＤＯＭ構造をトラバースして、それぞれのノードに関連するテキストおよびスタイル属性の情報を取得する。ノードのテキストおよびスタイル情報は、主に、ノードの相対位置情報定義の準備のために取得される。本開示によって提供される技術的提案において、ターゲットノードからルートノードまでのすべてのパスは、相対位置情報を用いて取得される。相対位置情報に基づいて、ターゲットノードからルートノードまでの複数のパスが探し出される。
【００５６】
我々は、以下のようにノードの情報を導入する。ノードの情報は、主に、以下のものを含む：
（１）ＨＴＭＬタグ名
＜ｓｐａｎ  ｃｌａｓｓ＝“ｈｅａｄｌｉｎｅ−ｃｏｎｔｅｎｔ”＞ｈｉｓｔｏｒｙ  ａｎｄ  ｓｏｕｒｃｅ＜／ｓｐａｎ＞において、関連したタグ名は「ｓｐａｎ」である。
（２）テキストコンテンツ
例えば、＜ｓｐａｎ＞ｐｒｉｃｅ：＜／ｓｐａｎ＞
＜ｓｔｒｏｎｇ  ｉｄ＝“Ｊ−ＳｔｒＰｒｉｃｅ”＞７１９．０＜／ｓｔｒｏｎｇ＞
この中で、「ｐｒｉｃｅ」は、ノードのテキスト情報である。
（３）タグスタイルＩＤ（識別子）
例えば、＜ｓｐａｎ＞ｐｒｉｃｅ：＜／ｓｐａｎ＞
＜ｓｔｒｏｎｇ  ｉｄ＝“Ｊ−ＳｔｒＰｒｉｃｅ”＞７１９．０＜／ｓｔｒｏｎｇ＞
記録された価格に対するタグ「ｓｔｒｏｎｇ」のＩＤは、Ｊ＿ＳｔｒＰｒｉｃｅである。
（４）タグスタイルクラス（カテゴリー）
＜ｓｐａｎ  ｃｌａｓｓ＝“ｈｅａｄｌｉｎｅ−ｃｏｎｔｅｎｔ”＞ｈｉｓｔｏｒｙ  ａｎｄ  ｓｏｕｒｃｅ＜／ｓｐａｎ＞
タグ「ｓｐａｎ」のクラスは、ｃｌａｓｓ＝ｈｅａｄｌｉｎｅ−ｃｏｎｔｅｎｔである。
（５）他のスタイル属性は、主に、名称、ｓｒｃ、ｈｒｅｆ、ａｌｔ等を含む。
【００５７】
Ｓ２０４は、テキストおよびスタイル情報を用いてそれぞれのノードの最近接の相対位置情報を取得する。
【００５８】
本開示によって提供される実施形態において、最近接の相対位置情報を、２つの主なクラスに分けることができる。
【００５９】
１つのクラスは、ターゲットノードと兄弟、親、または子関係を有するノードの情報に相当し、同一の親ノードに直接接続するノードは、兄弟ノードと呼ばれる。
【００６０】
説明用の例として、Ａは、ターゲットノードであり、Ｂは、Ａに隣接したノードである。ノードＡとノードＢとの間のノード層関係に基づいて、ノードＡと以下の関係を有するノードＢを、最近傍と定義することができる：ＢがＡの左側の兄弟であり、ＢがＡの右側の兄弟であり、ＢがＡの親であり、ＢがＡの子である。それに対応して、ノードＢの位置情報は、最近傍の相対位置情報と称され得る。
【００６１】
もう１つのクラスは、ターゲットノードと直接層関係を有し、かつテキストおよびスタイル属性を有するノードを指す。直接層関係は、本明細書において、ＢがＡの親、子、または子孫であると定義される。説明用の例を用いる。Ａは、ターゲットノードである。Ｂは、Ａの子孫ノードであり、スタイルＩＤをＸＸＸとして有するノードである。ここで、ノードＢの位置情報は、最近傍の相対位置情報と称され得る。同様に、Ａの子孫ノードであり、かつスタイルクラスをＸＸＸとして有するノードＢ、Ａの子孫ノードであり、かつテキストをＸＸＸとして有するノードＢ、ならびＡの子ノードであり、かつタグをＸＸＸとして有するノードＢはすべて、最近傍の相対位置情報と定義されてもよい。ここで、Ｂは、Ａと直接層関係を有するノードであり、例えば、Ｂは、Ａの親、子、または子孫ノード等である。その一方で、ウェブページの構造内で、スタイルをＩＤまたはクラスとして有するノードは、特別な種類のノードであり、特別な意味を有するノードである。これらのノードは、ウェブページの構造の重要な要素である。したがって、本開示の実施形態において、最近傍の相対位置情報を定義するとき、ターゲットノードと直接層関係を有し、かつＩＤまたはクラス等のスタイル属性を有するノードは、最隣接ノードとしても定義される。具体的には、注目を集めるべき他の重要な属性を、実際のニーズに基づいて定義することもできる。本開示は、それを限定しない。
【００６２】
図３は、本開示の第１の実施形態に従うＤＯＭ構造の概略図である。図中の接続線は、親子関係のみを識別し、同一の親と直接接続したノードは、兄弟ノードと呼ばれる。それぞれのノードのテキストおよびスタイル情報は、次の表に表される。
【００６３】
【表１】
0005944985.tif 000004
【００６４】
図３において、「ルート」として表されるノードは、ルートノードであり、ノードＤの最近傍の位置情報を、以下のように説明することができる。
（１）ターゲットノードと兄弟、親、または子関係を有するノードの情報。
Ｄは、Ｅの左側の兄弟である。
Ｄは、Ｂの子である。
Ｄは、Ｂの第１の子である。
Ｆは、Ｄの第１の子ノードである。
（２）ターゲットノードと直接層関係を有し、かつテキストまたはスタイル属性を有するノードの位置情報。
Ｄは、ｄｉｖのタグを有するＢの第１の子ノードである。
Ｄは、ａｂｃのスタイルＩＤを有するＢの第１の子孫ノードである。
Ｄは、ａｂｃのスタイルを有するルートの第１の子孫ノードである。
Ｄは、ｄｉｖ−ｔｏｐのクラスを有するＢの第１の子孫ノードである。
Ｄは、ｄｉｖ−ｔｏｐのクラスを有するルートの第１の子孫ノードである。
Ｆは、ａのタグを有するＤの第１の子ノードである。
Ｆは、「ｇｏｏｇｌｅ」のテキストを有するＤの第１の子孫ノードである。
Ｆは、ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍのｓｒｃ属性を有するＤの第１の子孫ノードである。
【００６５】
それぞれのノードの最近傍の相対位置情報を取得することにより、ターゲットノードからルートノードまでのパスを、相対位置情報に基づいて探し出すことができる。
【００６６】
ＡおよびＢが２つのノードを表し、かつＢがＡに最隣接した位置を有するノードである表３の描写は、最近傍に関連するある特定の相対位置情報の一例である。
【００６７】
［表３］
Aは、Bの左側の兄弟である。
Aは、Bの右側の兄弟である。
Aは、Bの親である（第１層より上）。
Aは、Bのn番目の子ノードである（子は、親の下の第１の層に限定されると定義される）。
Aは、XXXのタグを有するBの子のn番目のノードである（一般的）。
Aは、XXXのスタイルidを有するBの子孫間のn番目のノード（ノードB下のフォレストの全ノードセット）である。
Aは、XXXのスタイルクラスを有するBの子孫間のn番目のノードである。
Aは、XXXのテキストを有するBの子孫間のn番目のノードである。
Aは、yのスタイル属性の値xを有するBの子孫間のn番目のノードである。
Bは、Aのn番目の子ノードである。
Bは、XXXのタグを有するAの子のn番目のノードである。
Bは、XXXのスタイルIDを有するAの子孫間のn番目のノードである。
Bは、XXXのスタイルクラスを有するAの子孫間のn番目のノードである。
Bは、XXXのテキストを有するAの子孫間のn番目のノードである。
Bは、yのスタイル属性の値xを有するAの子孫間のn番目のノードである。
【００６８】
「ＡがＸＸＸのテキストを有するＢの子孫間のｎ番目のノードである」という相対位置情報を定義するとき、Ｓ２０３で取得された関連したノードのテキスト情報が使用される。
【００６９】
「ＢがＸＸＸのスタイルｉｄを有するＡの子孫間のｎ番目のノードである」という相対位置情報を定義するとき、Ｓ２０３で取得された関連したノードのタグスタイルＩＤ情報が使用される。
【００７０】
「ＢがＸＸＸのスタイルクラスを有するＡの子孫間のｎ番目のノードである」という相対位置情報を定義するとき、Ｓ２０３で取得された関連したノードのタグスタイルクラス情報が使用される。
【００７１】
Ｓ２０５は、先に取得されたノードの位置情報を使用し、ターゲットノードから開始して、ターゲットノードからルートノードまでのすべてのパスをパスセットとして探し出す。
【００７２】
Ｓ２０２で取得されるＤＯＭ構造内の抽出される情報の位置に対応するノードは、ターゲットノードとしてレンダリングされる。ターゲットノードから開始して、先に取得された相対位置情報がトラバースされてノードを取得し、ノードがルートノードであるかの判定が下される。そうでない場合、ルートノードが探し出されるまで別のノードが再帰的に探し出され、候補パスを形成する。ターゲットノードからルートノードまでの取得されたすべての候補パスは、パスセットを形成する。
【００７３】
図４は、本開示の第１の実施形態に従うパス選択のチャートである。プロセスの詳細は、図と併せて以下で説明される。
【００７４】
Ｓ２５１は、ターゲットノードから開始して、ターゲットノードを現在のノードとして設定する。
【００７５】
Ｓ２５２は、現在のノードの最近傍の先に取得された相対位置情報をトラバースし、それから相対位置ｉに対応するノードＢｉを選択して、Ｂｉがルートノードであるかを判定する。
【００７６】
Ｂｉがルートノードであると判定された場合、Ｓ２５３は、関連したパスをパスリストに追加し、そうでない場合、Ｂｉを現在のノードとして使用し、ルートノードが探し出されるまで別のノードを再帰的に探し続け、そのパスをパスリストに追加する。
【００７７】
Ｓ２５４は、パスリスト内のパスをパスセットとしてレンダリングする。
【００７８】
本開示のパス選択方法の例は、図３および先に定義された相対位置と併せて以下で説明される。
【００７９】
本開示の実施形態において、我々は、ノードの最近傍の相対位置情報を使用し、ターゲットノードから開始して、ターゲットノードからルートノードまでのパスをパスセットとして探し出し、レンダリングする。この場合、ターゲットノードからルートノードまでの探し出されたパスは、ターゲットノードからルートノードまで層毎に上に進むパスだけではなく、ホッピングパスでもある。図３に示されるように、「ルート」ノードは、ルートノードであり、ターゲットノードは、Ｄである。ノードＢは、ターゲットノードＤの親ノードと定義され、ノードＥは、Ｄの右側の兄弟であり、ノードＦは、ノードＤの第１の子ノードである。したがって、我々は、ターゲットノードＤからルートノードまでの少なくとも４つのパスを探し出すことができる。
（１）ターゲットノードＤからノードＢ、その後ルートノードまでのパス。
（２）ターゲットノードＤからノードＥ、ノードＢ、その後ルートノードまでのパス。
（３）ターゲットノードＤからノードＢ、ノードＡ、その後ルートノードまでのパス。
（４）Ｄの相対位置情報の１つが「Ｄは、ａｂｃのスタイルを有するルートの第１の子孫ノードである」と説明される場合、ターゲットノードＤからルートノードまでの直接パスを探し出すことができる。
【００８０】
上記のパスにおいて、第１のパスを、ターゲットノードからルートノードまでの層毎に上に進むパスと見なすことができる。
【００８１】
第２のパスは、「ＤはＥの左側の兄弟である」および「ＢはＥの親である」という相対位置情報を使用して、ターゲットノードＤからノードＥ、ノードＢ、その後ルートノードまでのパスを探し出す。
【００８２】
第３のパスは、「ＤはＢの第１の子である」および「ＡはＢの右側の兄弟である」という相対位置情報を使用して、ターゲットノードＤからノードＢ、ノードＡ、その後ルートノードまでのパスを探し出す。
【００８３】
第４のパスは、「Ｄはａｂｃのスタイルを有するルートの第１の子孫ノードである」という相対位置情報を使用して、ターゲットノードＤからルートノードまでの直接パスを探し出す。パスセットを用いて抽出されるページのターゲットノードを探し出すとき、このパスを用いて、ターゲットノードをルートノードから取得することができる。
【００８４】
パスリスト内の上記のパスは、パスセットとしてレンダリングされる。上記のパスのうち、第１のパスのみが、ターゲットノードからルートノードまでの層毎に上に進むパスである。他のパスは、相対位置情報およびホッピングを用いるパスである。ウェブページのコンテンツまたは構造に任意の変更が生じた場合、ターゲットノードをこれらの複数のパスに基づいて引き続き配置することができる。
【００８５】
Ｓ２０６は、抽出されるページのＤＯＭ構造を分析する。
【００８６】
抽出されるウェブページは、サンプルページと同一のウェブページテンプレートを有するページのセットに相当する。本開示によって提供される実施形態において、抽出されるページを、ネットワーククローラツールを用いて取得することができる。ネットワーククローラ（ウェブページスパイダー、ネットワークアンドロイドとも呼ばれる）は、ある特定の基準に従ってワールドワイドウェブ上で情報を自動的にクロールするプロセスまたはスクリプトである。概して、ネットワーククローラは、検索エンジンのためにワールドワイドウェブからページをダウンロードする自動ウェブページ抽出プロセスであり、検索エンジンの重要な要素である。抽出されるページを取得するとき、我々は、ネットワーククローラツールを用いてページを取得することができる。抽出される全ページのＤＯＭ構造を取得するために、抽出されるページのＤＯＭツリーが作成される。
【００８７】
Ｓ２０７は、パスセット内のルートノードから開始するパスを用いて抽出されるページのＤＯＭ構造内の抽出される情報の位置を配置し、抽出されるページのＤＯＭ構造内の抽出される情報の位置に対応するノードを抽出されたノード候補セットとして取得する。
【００８８】
図５は、本開示の実施形態に従うパスセットを用いて抽出されるページの抽出されたノード候補セットを取得する概略図である。図５で示されるように、パスは、インタプリタを用いてＤＯＭ内のポインティング要素の位置を配置することができる。したがって、Ｓ２０５で取得されたパスセットを用いて、抽出されるページの抽出されたノード候補セットを取得することができる。本明細書で使用される方法は、パスセット内の複数のパスを用いて、抽出されるページのコンテンツを配置すること、すなわち、ルートノードから開始して、抽出されるコンテンツであるターゲットノードを探し出すことである。
【００８９】
微妙な違いがページ構造内に存在し得るため、パスは、抽出されるページ内の要素、例えば、図５のＡおよびＢを配置するときに、異なるノードを指してもよい。図中でヌルで表される無効な位置決め等の無効な位置決めは、ページ構造の違いが原因で生じる場合もある。例えば、ページコンテンツまたはページ構造が更新されるとき、ルートノードからターゲットノードまでのパス内のある特定のノードを変更することができる。ＸＰＡＴＨを自動的に生成する方法、すなわち、ルートノードからターゲットノードまでの層毎に上に進むパスを用いる方法が使用される場合、コンテンツを配置することができない場合がある。その一方で、相対位置情報を用いて複数のパスを取得するため、抽出されるページの要素がパスセットを用いてインタプリタによって配置されるときに、複数の異なるノードを配置することができる。
【００９０】
Ｓ２０８は、最もロバストなノードを抽出されたノード候補セットから最後に抽出されたノードとして選択し、抽出されたノードを用いて情報を抽出する。
【００９１】
本開示の実施形態において、最後に抽出されたノードを選択するとき、最もロバストなノードが最後に抽出されたノードとして選択される。最もロバストなノードは、最も正確かつロバストに位置決めされるノードセット内のノードに相当する。最もロバストなノードを選択するとき、信頼性判定のルールが使用される。具体的には、信頼性判定のルールに従って、抽出されたノード候補セット内の抽出された候補ノードに応答するパスに関連するスコアが算出され、最も高いスコアを有するパスに対応するノードは、最後の抽出されるノードとして選択される。最もロバストなノードの選択は、本開示において提供される例示の方法に限定されない。他の算出方法を用いて、最もロバストなノードを選択することができる。
【００９２】
ここで、信頼性判定のルールが使用される。信頼性判定のルールは、重要性および安定性の違いに基づいて、異なる相対位置情報、パス長、およびシフト位置情報を有するノードの信頼性を判定する。我々は、信頼性判定のルールを以下のように定義する。
【００９３】
（１）相対位置情報に関連するルール
完全なパスは、一連の相対位置情報から構成されており、相対位置情報の種類によって信頼性判定のルールは異なる。
【００９４】
表４は、それぞれの信頼性に従う相対位置情報の降順を示す。
【００９５】
【表２】
0005944985.tif 000005
【００９６】
表４は、それぞれの信頼性に従う相対位置情報の降順を示す。我々は、相対位置情報の信頼性を判定する２つの主な基準を有し、１つは、特徴的なタグの重要性の程度であり、もう１つは、それが変更される可能性である。具体的には、ウェブページ構造において、スタイルＩＤおよびスタイルクラスのマーカーを有するノードは、多くの場合、特別な種類のノードであり、ウェブページ情報抽出における使用に非常に好適である。さらに、これらの種類のノードは、多くの場合、ウェブページ構造が変更されるときにほとんど変更されず、安定した信頼性のあるノードである。したがって、我々は、上に列記されるそれらの信頼性を有することができる。ｓｒｃ属性、ｈｒｅｆ属性、またはａｌｔ属性を有するノードは、多くの場合、リンクに相当する。これらの種類のノードは、全体のウェブページ構造において一意性を有する場合が多い。それらの対応するコンテンツが、多くの場合、より重要または有意である一方で、変更される可能性は比較的低い。したがって、これらは、我々がパス選択を行うときにかなりの注目を集めるノードである。テキスト情報を有するノードは、多くの場合、我々が目的とする情報を直接探し出すのに役立ち、例えば、「価格」情報を有するノードは、我々が価格に関連する情報を抽出するときに目的とする情報を迅速に探し出すのに役立つ。この表において、ターゲットノードから親ノードまでの関係が１対１である一方で、ターゲットノードから子ノード（複数を含む）までの関係が多数対１であり得、したがって、より低い信頼性を有するため、親ノードは子ノードよりも信頼性が高い。
【００９７】
（２）ノードの総数に関連するルール
パスの信頼性は、パス内を通過するノードの総数に基づいて判定される。通過するノードの数が多いほど、パスは長く、信頼性は低く、ロバスト性は低い。これは、ノードの総数が増加するにつれてパスの長さが長くなるためである。それらのノードのうちのいずれか１つの情報が変更される場合、ターゲットノードの不正確な位置決めが生じ得る。ノードの数が増加するにつれて、この種の危険性が増加し、したがって、信頼性が低下する。
【００９８】
（３）シフト位置情報に関連するルール
ノードの位置情報を説明するとき、我々は、以下のように表現する：ＡはＢのｎ番目の子ノードであり、Ａは＊＊＊のスタイルＩＤを有するｎ番目の子孫ノードである。ここで、シフト位置は、位置情報のシフト数（序数等）またはシフトの総数（合計数）を指す。シフト数が多いほど、シフトの総数は多く、信頼性は低い。これは、シフト位置がノード間の関係の親密さの程度を反映するためである。より大きいシフト位置は、ノード間の関係の親密性がより低く、したがって、信頼性が比較的低いことを示す。
【００９９】
我々は、上記の信頼性判定のルールを用いてパスの信頼性およびロバスト性を判定し、パスの信頼性およびロバスト性を判定することによって、最も高いロバスト性を有するノードを最後に抽出されたノードとして選択する。ここで、我々は、信頼性判定のルールに従ってパスのスコアを提供し、より高い信頼性を有するパスにより高いスコアを与える。上記の３種類の信頼性判定ルールを、個別に、または組み合わせて使用することができる。判定が３種類のルールの組み合わせを用いて行われる場合、その結果は、より正確なものとなる。
【０１００】
例えば、それぞれのパスに１００の合計スコアを有しさせ、３つのパスをステップＳ２０８で取得された抽出されたノード候補セット内に取得させ、２つのパスがノードＡを通過し、１つのパスがノードＢを通過する。ノードＡを通過するパスに対して減点されたスコアが、それぞれ、７０および８０である場合、ノードＡの合計スコアは、（１００−７０）＋（１００−８０）＝５０である。ノードＢを通過するパスに対して減点されたスコアが１０である場合、ノードＢの合計スコアは、１００−１０＝９０である。したがって、最も高いスコアを有する抽出結果は、ノードＢを指すパスである。その結果、最終的に抽出されるノードは、Ｂである。
【０１０１】
Ｓ２０９は、最後に抽出されたノードに対応するパスに関連する重みを設定閾値と比較し、関連した抽出が成功したかを判定する。
【０１０２】
本開示の実施形態において、最後に抽出されたノードの「合計ノードスコア」を「全てのパスの合計スコア」で割った後に得られた結果が設定閾値と比較され、関連した抽出が成功したかを判定する。得られた結果が設定閾値を超える場合、抽出が失敗したと判定される。得られた結果が設定閾値以下である場合、抽出が成功したと判定される。
【実施例２】
【０１０３】
本開示の好ましい実施形態において、ターゲットノードからルートノードまでのすべてのパスをパスセットとして取得するとき、信頼性判定のルールを用いて、最小のスコア減点を有するターゲットノードからルートノードまでの最初のＮパスをパスセットとして探し出す。ロバスト性が高いほど、スコア減点は小さい。このようにして、取得されたパスは、もはやターゲットノードからルートノードまでのすべてのパスではないが、最小のスコア減点を有するパスセット内の好ましいパスである。
【０１０４】
本開示の第２の実施形態は、添付の図と併せて以下で説明される。図６は、第２の例示の方法の概略図である。
【０１０５】
Ｓ６０１は、抽出される情報をサンプルページから選択する。
【０１０６】
Ｓ６０２は、サンプルページのＤＯＭ構造を分析し、ＤＯＭ構造を作成し、ＤＯＭ構造内の抽出される情報の位置を取得する。
【０１０７】
Ｓ６０３は、サンプルページのＤＯＭ構造をトラバースして、それぞれのノードのテキストおよびスタイル属性情報を取得する。
【０１０８】
Ｓ６０４は、Ｓ６０３で取得されたテキストおよびスタイル属性情報を用いて、それぞれのノードの最近傍の相対位置情報を取得する。
【０１０９】
Ｓ６０５は、相対位置情報を利用し、ターゲットノードからルートノードまでのパスを探し出す（これは、ターゲットノードから開始する）ときに、信頼性判定のルールに従ってパスのスコア減点を行い、最小のスコア減点を有する最初のＮパスをパスセットとしてレンダリングする。
【０１１０】
ターゲットノードは、ＤＯＭ構造内に抽出される情報の位置に対応するノードに相当する。パスは、一連の相対位置情報と定義される。ノードは、Ｓ６０４で取得された位置情報をトラバースすることによって選択される。全体のパススコア減点が算出される。閾値を超える場合、その伝播は停止される。さもなければ、次のノードがルートノードになるまで、次のノードは再帰的に探し出される。
【０１１１】
図７は、本開示の第２の実施形態に従うパス選択を説明するチャートである。具体的なプロセスは、添付の図と併せて以下で説明される。
【０１１２】
Ｓ６５１は、ターゲットノードから開始して、ターゲットノードを現在のノードとして設定する。
【０１１３】
Ｓ６５２は、Ｓ６０４で取得された現在のノードの最近傍の先に取得された相対位置情報をトラバースし、それから相対位置ｉに対応するノードＢｉを選択して、Ｂｉがルートノードであるかを判定する。
【０１１４】
Ｓ６５３は、Ｂｉがルートノードであると判定された場合、関連したパスをパスリストに追加し、そうでない場合、Ｓ６５４に進む。
【０１１５】
Ｓ６５４は、信頼性判定のルールに従ってスコア減点の条件を算出および判定し、スコア減点が閾値以下である場合、Ｂｉを現在のノードとして設定してＳ６５２に進み、スコア減点が閾値を超える場合、伝播を停止する。
【０１１６】
Ｓ６５５は、パスリスト内で最小のスコア減点を有する最初のＮパスをパスセットとしてレンダリングする。
【０１１７】
Ｓ６５４で、現在のパスのスコア減点の条件を算出および判定するときに、信頼性判定のルールは、以下のように設計される。
【０１１８】
（１）位置情報のルール
完全なパスは、一連の相対位置情報から構成されており、相対位置情報の種類によって信頼性判定のルールは異なる。
【０１１９】
表５は、それぞれの信頼性に従う相対位置情報の降順を示す。
【０１２０】
【表３】
0005944985.tif 000006
【０１２１】
表５は、それぞれの信頼性に従う相対位置情報の降順を示す。第１の実施形態において説明されるように、我々は、相対位置情報の信頼性を判定する２つの主な基準を有し、１つは、特徴的なタグの重要性の程度であり、もう１つは、それが変更される可能性である。
【０１２２】
（２）ノードの総数に関連するルール
パスの信頼性は、パス内を通過するノードの総数に基づいて判定される。通過するノードの数が多いほど、すなわち、パスが長いほど、信頼性は低い。
【０１２３】
（３）シフト位置情報に関連するルール
判定は、位置情報のシフト数（序数等）またはシフトの総数（合計数）を指すシフト位置に基づく。シフト数が多いほど、シフトの総数は多く、信頼性は低い。
【０１２４】
上記の３種類の信頼性判定ルールを、個別に、または組み合わせて使用することができる。判定が３種類のルールの組み合わせを用いて行われる場合、その結果は、より正確なものとなる。
【０１２５】
Ｓ６０６は、抽出されるページのＤＯＭ構造を分析し、抽出されるページのＤＯＭツリーを作成し、抽出されるページの全ＤＯＭ構造を取得する。
【０１２６】
Ｓ６０７は、パスセットを用いて抽出されたノード候補セットを取得する。
【０１２７】
図５で示されるように、パスは、インタプリタを用いてＤＯＭ内のポインティング要素を配置することができる。このようにして、Ｓ６０５で取得されたパスセットを用いて、抽出されるページの抽出されたノード候補セットを取得することができる。本明細書で使用される方法は、パスセット内の複数のパスを用いて、抽出されるページのコンテンツを配置すること、すなわち、ルートノードから開始して、抽出されるコンテンツであるターゲットノードを探し出すことである。
【０１２８】
微妙な違いがページ構造内に存在し得るため、パスセットは、抽出されるページ内の要素を配置するときに異なるノードを指し得る。
【０１２９】
Ｓ６０８は、最もロバストなノードを抽出されたノード候補セットから最後に抽出されたノードとして選択し、抽出されたノードを用いて情報を抽出する。
【０１３０】
Ｓ６０９は、最後に抽出されたノードに対応するパスに関連する重みを設定閾値と比較し、関連した抽出が成功したかを判定する。
【０１３１】
本開示の実施形態において、最後に抽出されたノードの「合計ノードスコア」を「全てのパスの合計スコア」で割った後に得られた結果が設定閾値と比較され、関連した抽出が成功したかを判定する。得られた結果が設定閾値を超える場合、抽出が失敗したと判定される。得られた結果が設定閾値以下である場合、抽出が成功したと判定される。
【実施例３】
【０１３２】
本開示の別の好ましい実施形態において、信頼性判定のルールは、最小のスコア減点を有するターゲットノードからルートノードまでのパスを探し出してパスセットを形成するためにも使用される。第３の実施形態と第２の実施形態との主な相違点は、ターゲットノードからルートノードまでのすべてのパスを探し出した後、第３の実施形態は、信頼性判定のルールに従って探し出されたパスのすべてのスコア減点を行い、それから最小の減点を有する最初のＮパスを選択することである。その一方で、第２の実施形態は、伝播プロセス中に信頼性判定のルールに従ってスコア減点を行い、閾値を超えるスコア減点が発生したときに伝播を停止する。
【０１３３】
図８は、本開示の第３の例示の方法のフローチャートであり、添付の図と併せて以下で説明される。
【０１３４】
Ｓ８０１は、抽出される情報をサンプルページから選択する。
【０１３５】
本開示によって提供される実施形態において、ユーザは、抽出される情報を対話型インタフェースを介してサンプルページから選択することができる。この時点で、ユーザは、ライン選択またはフレーム選択を用いてサンプルページ内に抽出される情報を示すことができる。ユーザによって示されるサンプルページ内に抽出される情報が「履歴およびソース」である場合、ユーザは、ラインまたはフレーム選択を用いて抽出される情報を選択することができる。
【０１３６】
Ｓ８０２は、サンプルページのＤＯＭ構造を分析し、ＤＯＭツリーを構築し、ＤＯＭ構造内の抽出される情報の位置を取得し、ターゲットノードの位置情報を取得する。
【０１３７】
Ｓ８０３は、サンプルページのＤＯＭ構造をトラバースして、それぞれのノードに関連するテキストおよびスタイル属性の情報を取得する。
【０１３８】
Ｓ８０４は、Ｓ８０３で取得されたテキストおよびスタイル情報を用いて、それぞれのノードの最近傍の相対位置情報を取得する。
【０１３９】
Ｓ８０５は、ターゲットノードから開始して、ターゲットノードからルートノードまでのすべてのパスを探し出し、信頼性判定のルールを用いてすべてのパスのスコア減点を行い、最小のスコア減点を有する最初のＮパスを探し出す。
【０１４０】
図９は、本開示の第３の実施形態に従うパス選択のチャートである。具体的なプロセスは、添付の図と併せて以下で説明される。
【０１４１】
具体的なプロセスは、以下の通りである。
【０１４２】
Ｓ８５１は、ターゲットノードから開始して、ターゲットノードを現在のノードとして設定する。
【０１４３】
Ｓ８５２は、Ｓ８０４で取得された現在のノードの最近傍の先に取得された相対位置情報をトラバースし、それから相対位置ｉに対応するノードＢｉを選択して、Ｂｉがルートノードであるかを判定する。
【０１４４】
Ｓ８５３は、Ｂｉがルートノードであると判定された場合、関連したパスをパスリストに追加し、そうでない場合、Ｂｉを現在のノードとして設定して、ルートノードが探し出されるまでＳ８５２に進む。
【０１４５】
Ｓ８５４は、信頼性判定のルールに従ってすべての探し出されたパスのスコア減点を算出し、全体のパススコア減点が閾値を超えるかを判定し、閾値を超えない場合、そのパス結果を保持する。
【０１４６】
Ｓ８５５は、パスリスト内で最小のスコア減点を有する最初のＮパスをパスセットとしてレンダリングする。
【０１４７】
Ｓ８０６は、抽出されるページのＤＯＭ構造を分析する。
【０１４８】
Ｓ８０７は、パスセットを用いて抽出されたノード候補セットを取得する。
【０１４９】
微妙な違いがページ構造内に存在し得るため、パスセットは、抽出されるページ内の要素を配置するときに異なるノードを指し得る。
【０１５０】
Ｓ８０８は、最もロバストなノードを抽出されたノード候補セットから最後に抽出されたノードとして選択し、抽出されたノードを用いて情報を抽出する。
【０１５１】
Ｓ８０９は、最後に抽出されたノードに対応するパスに関連する重みを設定閾値と比較し、関連した抽出が成功したかを判定する。
【０１５２】
本開示の実施形態において、最後に抽出されたノードの「合計ノードスコア」を「全てのパスの合計スコア」で割った後に得られた結果が設定閾値と比較され、関連した抽出が成功したかを判定する。得られた結果が設定閾値を超える場合、抽出が失敗したと判定される。得られた結果が設定閾値以下である場合、抽出が成功したと判定される。
【０１５３】
本開示の別の実施形態において、該方法は、繰り返し構造を識別することをさらに含む。ページ情報の抽出を、単純構造からの単一の情報の抽出、繰り返し構造からの複数の情報の抽出に分類することができる。繰り返し構造を識別することは、繰り返し構造を有する複数のパスの情報抽出を可能にする。
【０１５４】
繰り返し構造の抽出方法は、ノードのパス情報を用いて兄弟ノード間のパス類似性を算出することと、パス類似性を用いて繰り返し構造を有するすべての兄弟ノードを取得し、繰り返し構造を有する兄弟ノードのシフト情報を記録することと、繰り返し構造を有するすべての兄弟ノードによって所有される同等のパスを抽出中に使用されるパスセットとしてフィルタ処理することと、を含む。
【０１５５】
兄弟ノードは、同一の親ノードに直接接続されるノードと定義される。本開示の実施形態に従って、２つの検索結果のヘッダが、ＤＯＭ内に同一の構造を有する場合、我々は、この種の同一の（または実質的に同様の）ＤＯＭツリー構造を繰り返し構造と称する。
【０１５６】
以下の表に示されるように、表６および７の２つの検索結果のヘッダは、繰り返しコンテンツである。
［表６］
Sister Jiang Baidu Baike
Sister Jiangは、以前にJiang Zhiweiと呼ばれた有名な殉難者Jiang Zhuyunのニックネームである。Jiang Zhuyunは、1920年8月20日に四川省自貢市で生まれ……
Baike.baidu.com/view/59656.htm−ウェブページスクリーンショット−同様の結果
［表７］
Sister Jiang全シリーズ−オンラインで高解像度で観る−Youkuビデオチャンネル
Sister Jiang、Sister Jiangをオンラインで観る、Sister Jiang全シリーズ、Sister Jiangのテレビドラマ……
www.youku.com/show_page/id_zaa64e69ada5a11de97c0.html−ウェブページスクリーンショット
【０１５７】
表６のウェブページに対応するＤＯＭ構造は、表８に示される。表７のウェブページに対応するＤＯＭ構造は、表９に示される。
［表８］
<li class=“g”>
<div class=“vsc”sig=“GD-”rawurl= “http://baike.baidu.com/view/59656.htm”>
<div class=“vspi”></div>
<span class=“t1”>
<h8 class=“r”>
<a class=”1” onmousedown“return clk(this.href, “”, “”, “”, “1”, “”, ’occAAFjAA’)”href=“http://baike.baidu.com/view/59656.htm”>
<em>Sister Jiang</em>
_Baidu Baike
</a>
</h3>
<button class=“vspib”></button>
</span>
<div class=“s”>
</div>
</li>
［表９］
<li class=“g”>
<div class=“vsc”sig=“6G1”rawurl=“http:// www.youku.com/show_page/id_zaa64e69ada5a11de97c0.html”>
<div class=“vspi”></div>
<span class=“t1”>
<h8 class=“r”>
<a class=”1” onmousedown“return clk(this.href, “”, “”, “”, “1”, “”, ’occ8QFjAB’)”href=“http:// www.youku.com/show_page/id_zaa64e69ada5a11de97c0.html”>
<em>Sister Jiang</em>
全シリーズ−オンラインで高解像度で観る−Youkuビデオチャンネル
</a>
</h3>
<button class=“vspib”></button>
</span>
<div class=“s”>
</div>
</li>
【０１５８】
表８および９に示されるように、太字斜体部分は、繰り返し構造内のヘッダである。
【０１５９】
同等のパスの判定：２つのパスのシフトのみが異なる場合、その２つのパスは、同等であると見なされる。
【０１６０】
例えば、
第１のヘッダに関連するパス：
Ａ．第１の「ｌｉ」要素の第１の「ｅｍ」要素の親
Ｂ．第１の「ｌｉ」要素の第１の「ａ」要素
Ｃ．第１の「ｌｉ」要素の「１」要素のクラスを有する第１の「ａ」要素
第２のヘッダに関連するパス：
Ａ‘．第２の「ｌｉ」要素の第１の「ｅｍ」要素の親
Ｂ‘．第２の「ｌｉ」要素の第１の「ａ」要素
Ｃ‘．第２の「ｌｉ」要素の「１」要素のクラスを有する第１の「ａ」要素
対応する３対のパスは、同等であると判定され、すなわち、ＡおよびＡ’、ＢおよびＢ’、ならびにＣおよびＣ’は、それらのシフトのみが異なるため、それぞれ、同等であると判定される。
【０１６１】
繰り返し構造を判定し、かつノード間の類似性の程度を算出するとき、我々は、以下の算出方法を用いる。
【０１６２】
ｓｉｍ（Ａ，Ｂ）の算出方法：
【０１６３】
【数２】
0005944985.tif 000007
【０１６４】
式中、ｓｉｍ（Ａ，Ｂ）は、ノードＡとノードＢとの間の類似度の度合を表し、
パス（Ａ∩Ｂ）は、ノードＡおよびＢに関連する同等のパスのセットを表し、
パス（Ａ∪Ｂ）は、ノードＡおよびＢに関連するすべてのパスを含むセットを表し、
スコア（ｘ）は、パスｘのスコア減点を表す。
【０１６５】
したがって、閾値および確立されたスコア化機能に基づいて、ノードＡの繰り返し兄弟ノードを配置することができる。その後、同等のパスを有するすべての繰り返し兄弟ノードを、抽出中に使用されるパスとしてフィルタ処理することができる。繰り返し兄弟のシフト情報を記録および使用して、複数のデータを繰り返し構造から抽出することができる。
【０１６６】
それに対応して、ＸＰＡＴＨセットを用いて抽出されるページを抽出するとき、パスが繰り返し構造を指す場合、繰り返し兄弟のシフト情報を記録し、複数のデータを抽出するステップを行う。前述のように、ページ情報の抽出を、単純構造からの単一の情報の抽出、繰り返し構造からの複数の情報の抽出に分類することができる。パスが繰り返し構造を指す場合、繰り返し兄弟のシフト情報を先に記録したため、我々は、繰り返し兄弟のシフト情報を用いて、繰り返し構造が抽出されるときに繰り返し構造を有する複数のデータを抽出することができる。
【０１６７】
例示的な実施形態の上記の説明から、当業者であれば、開示の方法およびシステムを、必須のユニバーサルハードウェアプラットフォームを使用するソフトウェアを用いて、または以前の実行アプローチが多くの状況において好ましいハードウェアを用いて実行することができることを明確に理解することができる。この理解に基づいて、本開示の技術スキームまたは現行の科学技術への貢献を、ソフトウェア製品の形態で実行することができる。ソフトウェア製品を、不揮発性記憶媒体、例えば、ＲＯＭ／ＲＡＭ、ディスク、コンパクトディスク等に記憶してもよく、コンピューティングデバイス（例えば、パソコン、サーバ、もしくはネットワークデバイス等）に関する命令を含み、本開示の例示的な実施形態または例示的な実施形態のある特定の箇所で説明される方法を実行する。これらの記憶媒体には、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク、または光ディスク等のプログラミングコードを記憶することができる媒体が含まれる。
【０１６８】
上記の例示的な方法に対応して、本開示は、ウェブページ情報を抽出するシステムをさらに提供する。
【０１６９】
図１０は、例示的なシステム概略図であり、添付の図と併せて以下で説明される。
【０１７０】
サンプルページ抽出情報位置取得ユニット１００１は、サンプルページのＤＯＭ構造を分析し、ＤＯＭ構造内の抽出される情報の位置を取得するために使用される。
【０１７１】
パスセット取得ユニット１００２は、ＤＯＭ構造内の抽出される情報の位置に対応するノードをターゲットノードとしてレンダリングし、ターゲットノードから開始して、事前に取得された相対位置情報をトラバースしてノードを取得して、該ノードがルートノードであるかを判定し、そうでない場合、ルートノードが探し出されるまで別のノードを再帰的に探し続けて候補パスを作成し、ターゲットノードからルートノードまでの取得された候補パスをパスセットとしてレンダリングするために使用される。
【０１７２】
抽出されたノード候補セット取得ユニット１００３は、抽出されるページのＤＯＭ構造を分析し、パスセット内のルートノードから開始するパスを用いて抽出されるページのＤＯＭ構造内に抽出される情報を配置し、抽出されるページのＤＯＭ構造内の抽出される情報の位置に対応するノードを抽出されたノード候補セットとして取得するために使用される。
【０１７３】
抽出された情報取得ユニット１００４は、最も高いロバスト性を有するノードを抽出されたノード候補セットから選択して、最後に抽出されたノードとし、抽出されたノードを用いて抽出された情報を取得するために使用される。
【０１７４】
ノード位置情報取得サブユニットは、ＤＯＭ構造をトラバースしてノードのテキストおよびスタイル情報を取得し、該テキストおよびスタイル情報を用いてそれぞれのノードの最近傍の相対位置情報を取得するために使用される。
【０１７５】
該システムは、取得されたパスセット内のノードのパス情報を用いてノード間のパス類似性を算出し、かつ繰り返し構造を有するパスを識別するために使用される繰り返し構造認識ユニットをさらに含む。
【０１７６】
繰り返し構造認識ユニットは、ノードのパス情報を用いて兄弟ノード間のパス類似性を算出するために使用される、パス類似性算出サブユニットと、パス類似性を用いて繰り返し構造を有するすべての兄弟ノードを取得する、繰り返し兄弟ノード取得サブユニットと、繰り返し構造を有する兄弟ノードのシフト情報を記録するために使用される、シフト情報記録サブユニットと、抽出中に使用されるパスセットとして繰り返し構造を有するすべての兄弟ノードによって所有される同等のパスをフィルタ処理するために使用される、同等のパス取得サブユニットと、を含む。
【０１７７】
該システムは、パスセットに対する最後に抽出されたノードに対応するパスの重みを設定閾値と比較して、関連した抽出が成功したかを判定する抽出結果判定ユニットを含む。
【０１７８】
図１１は、上述のシステム等の例示的なシステム１１００をより詳細に説明する。一実施形態において、システム１１００は、１つ以上のプロセッサ１１０１、ネットワークインタフェース１１０２、メモリ１１０３、および入出力インタフェース１１０４を含むことができるが、これらに限定されない。
【０１７９】
メモリ１１０３は、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリ、および／または読み出し専用メモリ（ＲＯＭ）もしくはフラッシュＲＡＭ等の不揮発性メモリの形態で、コンピュータ可読媒体を含んでもよい。メモリ１１０３は、コンピュータ可読媒体の一例である。
【０１８０】
コンピュータ可読媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の、情報を記憶するための任意の方法または科学技術を用いて実装される揮発性及び不揮発性の取り外し可能および取り外し不可能な媒体が含まれる。コンピュータ記憶媒体の例には、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、フラッシュメモリ、もしくは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、またはコンピューティングデバイスによるアクセス用に情報を記憶するために使用することができる任意の他の非伝送媒体が挙げられるが、これらに限定されない。本明細書で定義されるように、コンピュータ可読媒体には、変調データシグナルおよび搬送波等の一過性媒体は含まれない。
【０１８１】
メモリ１１０３は、プログラムユニット１１０５およびプログラムデータ１１０６を含んでもよい。一実施形態において、プログラムユニット１１０５は、サンプルページ抽出情報位置取得ユニット１１０７、パスセット取得ユニット１１０８、抽出されたノード候補セット取得ユニット１１０９、および抽出情報取得ユニット１１１０を含んでもよい。一実施形態において、プログラムユニット１１０５は、ノード位置情報取得サブユニット１１１１、繰り返し構造認識ユニット１１１２、パス類似性算出サブユニット１１１３、繰り返し兄弟ノード取得サブユニット１１１４、シフト情報記録サブユニット１１１５、同等のパス取得サブユニット１１１６、および抽出結果判定ユニット１１１７をさらに含んでもよい。これらのプログラムユニットおよび任意のサブユニットならびに／またはモジュールに関する詳細を、上記の実施形態において見出すことができる。
【０１８２】
本開示によって提供される技術的提案において、サンプルページのパスセットが取得されるとき、逆位置決め方法を用いて、ＤＯＭ構造およびテキストコンテンツを分析することによって、ターゲットノードからルートノードまでの複数の厳密に順序付けられていないパスを取得する。その後、複数のパスを位置決めする方法を用いて、複数のパスによって形成されるパスセットに基づいて、抽出されるページの情報を配置する。したがって、抽出されるページの情報を配置するために複数のパスが取得されるため、ページ情報が修正され、構造が変更された場合でも、抽出されるコンテンツを良好なロバスト性で正確に配置することができるが、但し、ページが実質的に再構築されていないことを条件とする。
【０１８３】
さらに、信頼性判定のルールを用いて、開示の方法およびシステムは、多数の加重されているが厳密に順序付けられていないパスを取得し、複数のパスを配置することによってコンテンツを抽出し、最後の抽出結果をそれらのパスの関連した重みに基づいて選択する。多数のパスが豊富なページ情報を含むため、正確な位置決め結果は、対話コストを増加させることなくデータの正確さを維持することを前提に得られる。したがって、ウェブページのコンテンツが更新され、ウェブページの構造が変更された後の無効な位置情報の結果生じる抽出失敗または不正確な抽出結果の問題は、解決される。
【０１８４】
さらに、複数のパスに関連する豊富な情報およびパスの類似性の全体の程度の算出に基づいて、本開示で提供される技術スキームは、繰り返し構造の判定を完了し、したがって、繰り返し構造を識別および抽出する問題を解決する。
【０１８５】
上述の説明は、本開示の特定の実施例にすぎない。当業者であれば、本開示を、本開示の原理から逸脱することなく、多くの方法で変更または修正することができることに留意されたい。これらの修正点および改良点も、本開示の保護範囲内に包含されるべきである。
【図１】
0005944985.tif 000009
【図２】
0005944985.tif 000010
【図３】
0005944985.tif 000011
【図４】
0005944985.tif 000012
【図５】
0005944985.tif 000013
【図６】
0005944985.tif 000014
【図７】
0005944985.tif 000015
【図８】
0005944985.tif 000016
【図９】
0005944985.tif 000017
【図１０】
0005944985.tif 000018
【図１１】
0005944985.tif 000019