JP3880504B2 - 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム - Google Patents

構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム Download PDF

Info

Publication number
JP3880504B2
JP3880504B2 JP2002312331A JP2002312331A JP3880504B2 JP 3880504 B2 JP3880504 B2 JP 3880504B2 JP 2002312331 A JP2002312331 A JP 2002312331A JP 2002312331 A JP2002312331 A JP 2002312331A JP 3880504 B2 JP3880504 B2 JP 3880504B2
Authority
JP
Japan
Prior art keywords
content
structured
node
hierarchical
target
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.)
Expired - Fee Related
Application number
JP2002312331A
Other languages
English (en)
Other versions
JP2004145794A (ja
Inventor
啓伸 ▲高▼木
千恵子 浅川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2002312331A priority Critical patent/JP3880504B2/ja
Priority to US10/692,222 priority patent/US7502995B2/en
Publication of JP2004145794A publication Critical patent/JP2004145794A/ja
Application granted granted Critical
Publication of JP3880504B2 publication Critical patent/JP3880504B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、アノテーションの使い回しやウェブ・コンテンツの切り出し等の処理に適する構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及び構造化・階層化コンテンツ用処理プログラムに係り、詳しくは、アノテーションの使い回しやウェブ・コンテンツの切り出し等の処理対象の構造化・階層化コンテンツを適切に検出できるマッチング・パターンを生成する構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及び構造化・階層化コンテンツ用処理プログラムに関するものである。
【0002】
【従来の技術】
近年、大量に存在するウェブ・ページから重要なコンテンツを含む部分を切り出してパーツ化することにより、高度に再利用する研究が様々な観点から注目されている。なお、本明細書において、「切り出し」とは、当業者において一般的に使用されている意味で使用しており、該切り出しによって切り出し元のウェブ・コンテンツから切り出し部分が削除されることはない。本明細書における「切り出し」とは、厳密に言うと、別のウェブ・ページ等に対象のコンテンツ部分を貼り付けるために、オリジナルのウェブ・コンテンツ等において対象のコンテンツ部分の範囲をコピーすることである。
【0003】
Web Serviceの分野では、既存のHTMLコンテンツとWeb Serviceの橋渡しをするブリッジング・テクノロジーとしてコンテンツ切り出しが注目されている。例えば、ニュース・サイトの記事をキーワード検索するHTMLフォームを切り出してXML入出力を定義することで、既存のサーバ・システムをそのままにWebサービス化することができる。
【0004】
また、様々な情報を統合(aggregate)してユーザの要求に合致したポータル・ページを提供する情報ポータル(Information Portal)の分野では、既存ウェブ・ページの部分コンポーネントは重要なコンテンツである。様々なニュース・サイトからトップ・ニュースやヘッドラインの領域を切り出して自由に組み合わせることでコンテンツを飛躍的に拡大させることができる。実際にmySiteOutliner、WebSphere Portal Server等では既存ウェブ・ページの一部をポータル・ページに組み込む仕組みが製品の一部として提供されている。
【0005】
また、ウェブ・サイトで更新された情報等をRSS(Rich Site Summary)というXML形式で提供することにより、第3者が利用できるようにする規格が広まってきている。現在はRSSは専用のサーバサードプログラム(CGI等)を用意することで生成されているが、ページ切り出し技術を用いれば、ページ内のヘッドライン・リストをRSSに変換することでダイナミックかつ、即時性の高いRSSを提供可能である。
【0006】
さらにトランスコーディングの分野では、ページ内の重要な情報を優先的に提示することで小画面デバイス(Pervasive device)ユーザや、拡大ブラウザを用いている弱視ユーザにも読みやすいページに変換する技術が研究されている。IBM WebSphere Transcoding PublisherにもXPathベースのアノテーション記述に基づいてpage clippingを行う機能が実装されている。
【0007】
このようにウェブ・ページコンテンツの一部分を適切に切り出すことにより、高度に再利用できることが知られている。(1)Webページの部分切り出しの従来技術の方法としては次の(a)XPathを用いる方法及び(b)独自タグを用いる方法の二つの方法がある。
【0008】
(a)XPathを用いる方法:
XPathを用いる方法はstaticで変化しないことが保証されている場合には強力な手法である。例えば、非特許文献1では、携帯端末用のページを生成するためにXpath指定によるコンテンツの切り出しが実装されている。しかし、指定の煩雑さ、応用範囲の狭さ等から、実際には携帯端末用の別ページが用意される場合が多く、広まっていない現実がある。また、非特許文献2では、Webページの一部分を選択し、その中で入力部分と出力部分を選択することでウェブ・ページを容易にWEBサービス化可能な枠組みを提案している。この技術はGUI環境で容易に切り出し、サービスの結合を行える点で優れているが、切り出しに関してはXPathに依存しているという問題がある。さらに、非特許文献3では、IBMのトップ・ページ等からXPathによって画像や記事のリストを切り出し、「パーソナルニュースペーパー」の一部に組み込んでいる。レイアウト変更によって切り出し部分がずれてしまうため、XPathの定義ファイルを人手で修正した上で自動配信することで対処している。
【0009】
(b) 独自タグを用いる方法:
該方法では、HTMLタグの中に独自のタグを混ぜる。HTMLコメントに特別な文字列を指定することもある。LYCOS、YAHOO等のポータルサービスで広く用いられている。例えば、ショッピング・ページのお勧め商品に関する説明をトップ・ページにも表示するといった用途でこの手法が用いられている。この手法は簡易HTMLパーザ(parser)等によって処理できるため、HTMLパーザを用いる場合に用いられることが多い。該方法では、元のコンテンツを変更しなければならないという問題がある。
【0010】
ウェブ・ページコンテンツの一部分切り出し技術ではないが、本発明に類似する従来技術を列挙する。
(2)XPathセットを手がかりとしたダイナミック・アノテーション・マッチング方法(特願2001−259846(特開2003−85087)。ただし、本願出願時ではまだ出願公開されていない。)
該方法では、アノテーション内に含まれるXPathを手がかりとして、複数のアノテーションの候補から適切なものを選択する。該方法により、すべてのレイアウトをカバーするだけのアノテーションを用意することで多くの場合正しいアノテーション・マッチングを行うことができるようになった。しかし、オーサリングの段階でXpathが誤ったノードを指すことも多く、これを修正するための機能としてサイト・パターン・アナライザが持っている、空コンテンツ・アラート、漏れテキスト・アラート、XPathの半自動修正等の機能が開発されたが、調整作業には手間がかかるのが現状である。
【0011】
(3)その他のアノテーション・マッチング方法:
RDF等多くの場合、アノテーションは対照表かURLの正規表現を利用してアノテーションとページのマッチングを行っている。これらの手法とはダイナミックなコンテンツでのマッチングを行っている点で大きく異なっている。
【0012】
(4)差分演算とその利用:
差分演算を用いて、アップデートされた情報のみを提示及び再利用したり、notificationメールを送信等したりするサービス・技術としては、DiffWeb (例:非特許文献4)、 HTML Diff(例:非特許文献5)及びMindIt(例:非特許文献6)等が知られている。これらの技術は「一つ前の過去のページ」との差分演算をおこない、そこから取り出したコンテンツを利用している。これに対し、本発明では目的が「マッチング・パターンの生成」である点で大きく異なっている。また要素技術にしても複数バージョンの過去ページとの差分演算および統計処理、隣接ページの概念とその差分演算等大きく異なっている。
【0013】
(5)差分演算によるシンプリフィケーション技術(特許文献1):
該技術では、差分演算によって一つのページからページ独自の情報を取り出して単純化する。該技術は、隣接ページのリストアップとその差分演算を行う点で共通性があるものの、ウェブ・ページコンテンツの一部切り出しについての具体的な方法を示唆しない。
【0014】
(6)ツリー構造のマッチング技術:
ツリー構造を対象に、その構造によるマッチング技術としては、正規表現マッチング技術(TRex), 生垣オートマトンに基づくツリー構造のマッチングとスキーマ言語への応用(relax, relaxNG)等が研究されている。これらの技術はマッチング・パターンの存在を前提としてマッチするサブツリー(ノード)の探索を行う技術であり、マッチング・パターンの自動生成への関連を示唆しない。
【0015】
(7)マッチング・パターンの自動生成についての関連した技術:
XMLのサンプル群からそれらにマッチするスキーマ記述を自動生成する「Examplotron」がある。この技術はXMLファイル群からある種のマッチング・パターンを自動生成する点で類似しているが、対象が「整形式(well-formatted)」な「ある暗黙のスキーマにのっとった」XMLファイル群である点、さらにタグの「入れ子構造」を手がかりに厳密なマッチング・パターンを生成する点で、後述の本発明の構成とは異なっている。
【0016】
(8)アノテーション付与の作業効率化(特許文献2):
レイアウト構造が近いページ・ファイルに対して共通のアノテーションを付与することにより、アノテーション付与の作業効率化を図っている。レイアウト構造が近いか否かの判定は、構造記述式の対比に基づいて行われ、ノードの出現態様や出現頻度に係る統計情報に基づくマッチング・パターンは利用しない。
【0017】
【特許文献1】
特開2002−55872
【特許文献2】
特開2002−245068
【非特許文献1】
WTP (WebSphere Transcoding Publisher, http://www-6.ibm.com/jp/software/network/transcoding/)
【非特許文献2】
CHIP[1] 伊藤 ”GUI部品とWEBサービスの統合による分散アプリケーションの構築手法”, ソフトウェア科学会WISS 2001プロシーディングス(http://ca.meme.hokudai.ac.jp/people/itok/CHIP/indexJ.html)
【非特許文献3】
IBM mySiteOutliner(http://www-6.ibm.com/jp/pc/clubibm/msol/index.shtml)
【非特許文献4】
DiffWeb (http://www.diffweb.com/)
【非特許文献5】
HTML Diff (http://www-db.stanford.edu/c3/c3.html)
【非特許文献6】
MindIt (http://mindit.netmind.com/mindit.shtml)
【0018】
【発明が解決しようとする課題】
本発明の目的は、ネットワークを介して配信される構造化・階層化コンテンツについて、例えばその一部切り出し及び共通のアノテーションの使い回し等の処理を行う際に、大きな威力を発揮する装置、方法及びプログラムを提供することである。
本発明の他の目的は、XPathを用いたりタグを付加したりすることなく、例えば構造化・階層化コンテンツの一部切り出し及び共通のアノテーションの使い回し等を達成できる構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法及び構造化・階層化コンテンツ用処理プログラムを提供することである。
【0019】
【課題を解決するための手段】
本発明では、コンテンツの一部切り出し及び複数のコンテンツに対する共通アノテーションの使い回し等の処理対象としての構造化・階層化コンテンツであるか否かを同定する(identify)ために、XPathではなく、マッチング・パターンを使用する。
【0020】
本発明では、ターゲット・コンテンツに対する過去及び/又は隣接の構造化・階層化コンテンツを調べ、ターゲット・サブツリーにおける各ノードについての出現態様及び該出現態様の出現頻度に係る統計情報に基づいて各ノードを分類して、マッチング・パターンを生成する。
【0021】
本発明の構造化・階層化コンテンツ用処理装置では、ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う。さらに、構造化・階層化コンテンツ用処理装置は、マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定手段、前記ターゲット・コンテンツに対する過去の複数個の構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出手段、過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成手段、前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類手段、及び該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成手段、を有している。
【0022】
本発明の構造化・階層化コンテンツ用処理方法では、ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う。さらに、本発明の構造化・階層化コンテンツ用処理方法は、マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定ステップ、前記ターゲット・コンテンツに対する過去の複数個の構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出ステップ、過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成ステップ、前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類ステップ、及び該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成ステップ、を有している。
【0023】
過去の各構造化・階層化コンテンツの代わりにターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを利用することもできる。ネットワークには、インターネットの外、イントラネット、エクストラネット等が含まれる。構造化・階層化コンテンツとは、コンテンツ本体の他に、構造情報及び階層情報を含むコンテンツと定義する。構造化・階層化コンテンツとして、例えばXML文書及びウェブ・ページ(HTMLファイル)がある。
【0024】
本発明の構造化・階層化コンテンツ用処理プログラムは、前記構造化・階層化コンテンツ用処理方法の各ステップをコンピュータに実行させる。
【0025】
判定対象の構造化・階層化コンテンツがターゲット・コンテンツに対して隣接構造化・階層化コンテンツであるか否かは、URL及び/又はレイアウトの近似性が判定要素とされる。デフォルト状態では、システムが、両者の近似性を加味して、総合的な近似性、すなわち判定対象の構造化・階層化コンテンツがターゲット・コンテンツに対して隣接構造化・階層化コンテンツであるか否かを判定する。このようなデフォルトに対して、オーサは、具体的近似性、すなわち判定対象の構造化・階層化コンテンツのURL及び/又はレイアウトが具体的にどのようになっていれば、判定対象の構造化・階層化コンテンツがターゲット・コンテンツに対して隣接構造化・階層化コンテンツであると判定するかの具体的条件を、各ターゲット・コンテンツの具体的内容に基づいて定め、該具体的条件をデフォルトに代えて、コンピュータに指示することも可能である。構造化・階層化コンテンツがターゲット・コンテンツに対して隣接構造化・階層化コンテンツであるか否かの判定を行う各手段(例:出現態様検出手段及び統計情報生成手段)及び各ステップ(例:出現態様検出ステップ及び統計情報生成ステップ)は、該具体的条件に基づいて判定を実施する。
【0026】
「隣接構造化・階層化コンテンツ」とは、そのURLがターゲット・コンテンツのURLとは相違するものの、(a)そのURLがターゲット・コンテンツのURLとの同一部分を所定割合以上で有している構造化・階層化コンテンツ、及び/又は(b)そのレイアウトの少なくとも主要部がターゲット・コンテンツのレイアウトと同一である構造化・階層化コンテンツであると、定義できる。(b)で定義される隣接構造化・階層化コンテンツには、そのレイアウトがターゲット・コンテンツのレイアウトとの同一の領域を所定割合以上、有している構造化・階層化コンテンツを含むものとする。
【0027】
隣接構造化・階層化コンテンツは少なくとも次の(a)及び(b)のものを含む。
(a)属しているディレクトリがターゲット・コンテンツと共通である構造化・階層化コンテンツ。構造化・階層化コンテンツがウェブ・コンテンツである場合の具体例(asahi.com)は次の通りである。
ターゲット・コンテンツとしてウェブ・コンテンツのURL:
http://www.asahi.com/0606/news/national06015.html
に対する隣接構造化・階層化コンテンツとして例えば次のURL。
http://www.asahi.com/0606/news/national06012.html
http://www.asahi.com/0606/news/national06013.html
http://www.asahi.com/0606/news/national06014.html
(b)所定の階層数(例えば2階層)上のディレクトリがターゲット・コンテンツのものと共通である構造化・階層化コンテンツ。構造化・階層化コンテンツがウェブ・コンテンツである場合の具体例(cnn.com)は次の通りである。
ターゲット・コンテンツとしてウェブ・コンテンツのURL:
http://www.cnn.com/2000/US/06/05/sea.based.defense/index.html
に対する隣接構造化・階層化コンテンツとして例えば次のURL。
http://www.cnn.com/2000/US/06/05/dday.remembrance/index.html
http://www.cnn.com/2000/US/06/05/helicopter.escape.03/index.html
http://www.cnn.com/2000/US/06/05/curbing.terrorism.02/index.html
【0028】
【発明の実施の形態】
構造化・階層化コンテンツ用処理装置は、ウェブ・ページの一部分を切り出す方法として、切り出したい領域を指定するだけで自動的にマッチング・パターンを高い精度で自動的に生成し、適切なコンテンツのロバスト(robust)な切り出しを実現する。マッチング・パターンの生成は「複数ページ(以降、ウェブ・コンテンツを適宜、「ページ」と呼ぶことにする。)との差分統計量」を基にする。指定された領域(DOMツリー上のあるノード)をあらかじめ保存しておいた過去のページ群と比較(差分演算)し、統計量を算出し、定常なノード、更新され必ず存在するノード、追加・消滅するノードに分類する。このようなノードの分類を施した上で繰り返しパターンの検出等の処理を行ったサブツリーがアノテーションのマッチング・パターンになる。過去のページが存在しない場合、隣接ページと同様の処理を行うことで同様にマッチング・パターンを得る。このようなマッチング・パターンは従来のXPathや埋め込みタグに基づく手法とは異なり、オリジナルのコンテンツを変更する必要がなく、マッチング・パターンを外部アノテーションとして適用するだけで正確な切り出しが可能になる。さらに、上位ノードの変更があってもまったく影響しない点で格段にロバストである。
【0029】
「アノテーション」とは、所定の構造化・階層化コンテンツAから別の構造化・階層化コンテンツBを作成するときに、Bに付加された所定の情報のことを言うものとする。この付加的な所定情報には、(a)コンテンツAの一部分を指定する情報、(b)コンテンツAにおいて指定された部分に関する情報、及び/又は(c)上記(a)及び(b)を適宜組み合わせた情報を含む。Bの具体例を挙げると、画面表示態様のBでは、画面表示態様のAの下側にAの主要項目をまとめたリストや、フォント・サイズ変更等の各種指示リストが付加される。このように付加されたものがアノテーションであり、ユーザは、該付加部の主要項目リストの項目をクリックすれば、B内のA部分の対応個所へジャンプできるようになっていたり、各種指示リストの項目をクリックすれば、A部分を含むBの字が大きく表示される等の対応の処理が行われたりする。なお、マッチング・パターンは、それをコンテンツAの一部分を指定する情報として利用し、付加情報(そのコンテンツ部分の役割、重要度などの情報)と組み合わせることによりアノテーションとして機能させることができる。
【0030】
図1はウェブ・コンテンツ処理装置14を装備する構造化・階層化コンテンツ用処理システム10の構成図ある。本発明が適用されるネットワークは、インターネット12に限定されず、イントラネット及びエクストラネット等であってもよい。ウェブ・コンテンツ処理装置14、ウェブ・クライアント15及びウェブ・サーバ16は、インターネット12へ接続され、インターネット12を介して相互にデータを送受可能になっている。1個のウェブ・コンテンツ処理装置14は、構造化・階層化コンテンツ用処理装置として振る舞い、複数個のウェブ・クライアント15からの要求に応じて複数個のウェブ・サーバ16の中から対応する1個又は複数個のウェブ・サーバ16よりウェブ・コンテンツをHTTP(HyperText Transfer Protocol)により取り寄せ、該ウェブ・コンテンツに所定の処理、例えばアノテーション付与及び/又はコンテンツ切り出し等の処理を行って、ウェブ・クライアント15へ処理済みのウェブ・コンテンツを送信する。なお、ユーザが実際に操作するウェブ・クライアント15としてのパーソナル・コンピュータは、インターネット12へ直接、接続されていなくてよい。該パーソナル・コンピュータは、直接的には社内のLANへ接続され、該LANのプロキシ・サーバやルータを介してインターネット12へ接続されていてもよい。
【0031】
図2は構造化・階層化コンテンツ用処理装置18のブロック図である。構造化・階層化コンテンツ用処理装置18は、それが処理対象とする構造化・階層化コンテンツがウェブ・コンテンツである場合には、図1のウェブ・コンテンツ処理装置14となる。構造化・階層化コンテンツ用処理装置18のオーサ(Author)は、複数の構造化・階層化コンテンツ(例えばウェブ・コンテンツ)に共通に使用できるアノテーションを作成したり、1個又は複数個の構造化・階層化コンテンツから所定のコンテンツ部分を切り出して(ここで言う「切り出し」とは切り出し元の構造化・階層化コンテンツから切り出しコンテンツ部分が削除されることを意味せず、該切り出しコンテンツ部分は切り出し元の構造化・階層化コンテンツに残る。∴ここで言う「切り出し」とは厳密に言うと「コピー」である。)、切り出した1個又は複数個のコンテンツ部分を貼り付けて新規な構造化・階層化コンテンツを作成したり等の、構造化・階層化コンテンツ編集作業を行う。オーサは、マッチング・パターンを抽出しようとする構造化・階層化コンテンツとしてのターゲット・コンテンツ20をネットワークを介して所定の構造化・階層化コンテンツ・サーバから読み込む。オーサは、次に、ターゲット・コンテンツ20から所定のコンテンツ部分を指定する。該指定されたコンテンツ部分を「ターゲット・コンテンツ部分21」と呼ぶことにする。構造化・階層化コンテンツ用処理装置18は、ターゲット・コンテンツ部分21に対して、ターゲット・コンテンツ20のDOMツリー上で、ターゲット・コンテンツ部分21を含む範囲に係るサブツリーをターゲット・サブツリーとして自動的に設定する。ターゲット・サブツリーは、ターゲット・コンテンツ部分21を含む範囲に係ることが要件であり、該範囲は、必要最小限の範囲にすることが好ましく、ターゲット・コンテンツ部分21より適当に大きいコンテンツ部分の範囲に設定されてもよい。オーサは、今回の編集作業に先立ち、構造化・階層化コンテンツ・データベース26に対して、ターゲット・コンテンツ20のURIを予め(例えば、今回の編集作業の1週間前、10日前、1月前等)通知しておく。構造化・階層化コンテンツ・データベース26は、通知後、自動的かつ定期的にターゲット・コンテンツ20に係るコンテンツにアクセスして、該コンテンツを蓄積する。したがって、該ターゲット・コンテンツ20の今回のユーザ作業では、ターゲット・コンテンツ20に対する過去の構造化・階層化コンテンツが十分な数だけ構造化・階層化コンテンツ・データベース26に蓄積されている。出現態様検出手段27は、ターゲット・コンテンツ20に対する過去の構造化・階層化コンテンツを構造化・階層化コンテンツ・データベース26より1個ずつ又はまとめて読み出し、ターゲット・コンテンツ部分21に係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照して、ターゲット・サブツリーの各ノードの出現態様を検出する。ターゲット・コンテンツ20に対する過去の複数個の構造化・階層化コンテンツは、好ましくは、現在の時点、すなわちマッチング・パターン生成処理時点に対して過去所定期間内の構造化・階層化コンテンツである。なお、ターゲット・コンテンツ20とターゲット・コンテンツ20に対して過去の構造化・階層化コンテンツとは、URI(Uniform Resource Locator)が同一となっている。統計情報生成手段28は、過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する。分類手段29は、出現態様検出手段27における出現態様検出結果及び統計情報生成手段28が生成した統計情報に基づいてターゲット・サブツリーの各ノードを分類する。
【0032】
出現態様検出手段27、統計情報生成手段28及び分類手段29における処理をより具体的に説明する。出現態様検出手段27では、ターゲット・コンテンツ20に係るターゲット・サブツリーと過去の1個の構造化・階層化コンテンツのツリーとを対照することにより、ターゲット・サブツリーの各ノードについて(N1)構造化・階層化コンテンツにも出現しかつ内容が同一であるノード、(N2)構造化・階層化コンテンツにも出現するが内容が異なるノード、(N3)構造化・階層化コンテンツには出現しないノードのいずれであるかを区分けできる。なお、ノードの内容とは、構造化・階層化コンテンツとしてのXMLでは、開始タグと終了タグとの間の記述内容のことである。出現態様検出手段27が過去の複数の所定個数の構造化・階層化コンテンツの各々についてそのツリーをターゲット・サブツリーと対照することにより、ターゲット・サブツリーの各ノードについて、(N1)及び(N2)の出現頻度の統計情報を検出できる。統計情報生成手段28はこの統計情報を生成する。分類手段29は、(N1)及び(N2)の態様で出現する頻度について予め設定した閾値V1,V2をもつ。典型的にはV1=V2であるが、V1及びV2は相互に異なった値であってもよい。典型的にはV1=V2=70%とする。分類手段29におけるノード分類の具体例は次の通りである。(N1)の態様による出現頻度≧V1であるノードは定常ノードに分類される。(N2)の態様による出現頻度≧V2であるノードは更新ノードに分類される。定常ノード及び更新ノードのいずれにも分類されなかったノードは付加ノードに分類される。
【0033】
マッチング・パターン生成手段30は分類手段29における分類結果に基づいてマッチング・パターンを生成する。マッチング・パターン生成手段30において生成されたマッチング・パターンとコンテンツ部分とのマッチング処理の詳細は後述の図6において説明する。
【0034】
図3はマッチング・パターン生成手段30のより具体的なブロック図である。繰り返し部分検出手段34は、定常ノード、更新ノード及び付加ノードの分類に基づいてターゲット・サブツリーにおける繰り返し部分を検出する。繰り返し情報付きマッチング・パターン生成手段35は、該繰り返し部分の存在情報を含むマッチング・パターンを生成する。こうして、生成されたマッチング・パターンは、マッチするか否かを判定される構造化・階層化コンテンツが、繰り返し部分を任意の回数、繰り返すものであっても、該マッチング・パターンにマッチするものとして使用可能となる。
【0035】
図4は分類手段29のより具体的なブロック図である。構造化・階層化コンテンツは表示時のレイアウトを良好にするために、スペーサ用イメージ及びビュレット・イメージを含むことがある。スペーサ用イメージとは、HTMLファイルの「spacer GIF」に対応し、空白領域を確保するために、1個の構造化・階層化コンテンツに複数個、使用され、それぞれ指定サイズの異なるイメージである。これに対し、ビュレット・イメージ(コンテンツにおいて列記された各項目の先頭に置くマーク)とは、HTMLファイルの「bullet イメージ」に対応し、1個の構造化・階層化コンテンツに複数個、使用され、サイズは、同一を指定されているか、又は指定無しとされている。スペーサ用イメージ検出手段38は、ターゲット・サブツリーのノードについてそれがスペーサ用イメージに係るノードであるか否かを検出する。ビュレット・イメージ検出手段39は、ターゲット・サブツリーのノードについてそれがビュレット・イメージに係るノードであるか否かを検出する。第1の分類付け手段40は、スペーサ用イメージに係るノードは付加ノードと分類する。第2の分類付け手段41は、ビュレット・イメージに係るノード同士へは、その表示内容が異なっていても定常ノード、更新ノード又は付加ノードの同一分類に割り当てる。分類出力手段42は、第1の分類付け手段40及び第2の分類付け手段41によるノードの分類付けをまとめる機能を備え、分類手段29の出力を生成する。
【0036】
図2の構造化・階層化コンテンツ用処理装置18はターゲット・コンテンツに対する過去の構造化・階層化コンテンツ(ターゲット・コンテンツに対してURIが同一となっている過去の構造化・階層化コンテンツ)に基づいてマッチング・パターンを生成するが、ターゲット・コンテンツに対する隣接の構造化・階層化コンテンツに基づいてマッチング・パターンを生成することもできる。隣接の構造化・階層化コンテンツに基づくマッチング・パターンの生成は、(a)ターゲット・コンテンツに対する過去のコンテンツ部分がないときのみ実施されてもよいし、(b)ターゲット・コンテンツに対する過去のコンテンツ部分の有無に関係なく実施されてもよい。例えば朝日新聞(www.asahi.com)のビジネス記事ページは次のようにURLの中に日付が含まれいて、現在の現在を含む所定期間、最新のビジネス記事と共に閲覧可能になっている。なお、下記の例では、該ビジネス記事は10月19日のものである。
「http://www.asahi.com/business/update/1019/002.html」
このようなケースに対しても、適切なマッチング・パターンを生成するため、本発明では「ターゲット・コンテンツに対する隣接構造化・階層化コンテンツ」なる概念を導入する。隣接構造化・階層化コンテンツとは、ターゲット・コンテンツに対して近似したURIを有し、マッチング・パターンによるマッチング判定のときに構造化・階層化コンテンツと同一グループに属させる構造化・階層化コンテンツである。URIの近似範囲は、オーサがどの程度の相違以下を同一グループに属すると判断するかにより変動する。URIには、各階層のディレクトリ(朝日新聞ビジネス記事の例では、/で区切られている部分)が含まれるが、隣接構造化・階層化コンテンツか否かの判定対象となっているコンテンツのURIが、ターゲット・コンテンツのURIに対して最高位の階層から所定数(1以上の数)の階層までのディレクトリは同一で、該同一ディレクトリの階層より下位の階層のディレクトリのみが相違しているときは、該判定対象のコンテンツ部分は隣接コンテンツ部分と判定してもよい。隣接コンテンツ部分の具体例を列挙すると、次の通りである。次の場合には、判定対象の構造化・階層化コンテンツは隣接構造化・階層化コンテンツと判定される。
(a)URIにおいて日付と認められる部分のみがターゲット・コンテンツに対して相違している。前述の朝日新聞ビジネス記事の例では、”1019”である。
(b)URIにおいて番号付けとして使用されている部分のみがターゲット・コンテンツに対して相違している。前述の朝日新聞ビジネス記事の例では、”002.html”である。
(c)前述の(a)及び(b)のみがターゲット・コンテンツに対して相違している。
【0037】
図2の構造化・階層化コンテンツ用処理装置18が過去の構造化・階層化コンテンツに代えて隣接構造化・階層化コンテンツに基づいてマッチング・パターンを生成する場合について、過去の構造化・階層化コンテンツに基づいてマッチング・パターンを生成する場合との相違点のみを説明する。構造化・階層化コンテンツ・データベース26は、任意の構造化・階層化コンテンツがオーサにより今回のターゲット・コンテンツ20として選択されるのに対処して、所定の構造化・階層化コンテンツに対する複数個の隣接構造化・階層化コンテンツを予め蓄積する。出現態様検出手段27は、ターゲット・コンテンツ20に対する隣接構造化・階層化コンテンツを構造化・階層化コンテンツ・データベース26より1個ずつ又はまとめて読み出し、ターゲット・コンテンツ20に係るターゲット・サブツリーとその隣接の各構造化・階層化コンテンツに係るツリーとを対照して、ターゲット・サブツリーの各ノードの出現態様を検出する。統計情報生成手段28は、複数個の隣接構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する。分類手段29は、出現態様検出手段27における出現態様検出結果及び統計情報生成手段28が生成した統計情報に基づいてターゲット・サブツリーの各ノードを分類する。過去の構造化・階層化コンテンツに代えて隣接構造化・階層化コンテンツを使用する場合の出現態様検出手段27、統計情報生成手段28及び分類手段29における処理をより具体的に説明すると、次の通りである。出現態様検出手段27では、ターゲット・コンテンツ20に係るターゲット・サブツリーと1個の隣接構造化・階層化コンテンツのツリーとを対照することにより、ターゲット・サブツリーの各ノードについて(N1)構造化・階層化コンテンツにも出現しかつ内容が同一であるノード、(N2)構造化・階層化コンテンツにも出現するが内容が異なるノード、(N3)構造化・階層化コンテンツには出現しないノードのいずれであるかを区分けできる。出現態様検出手段27が複数の所定個数の隣接構造化・階層化コンテンツの各々についてそのツリーをターゲット・サブツリーと対照することにより、ターゲット・サブツリーの各ノードについて、(N1)及び(N2)の出現頻度の統計情報を検出できる。統計情報生成手段28はこの統計情報を生成する。分類手段29は、(N1)及び(N2)の態様で出現する頻度について予め設定した閾値V1,V2をもつ。典型的にはV1=V2であるが、V1及びV2は相互に異なった値であってもよい。典型的にはV1=V2=70%とする。分類手段29におけるノード分類の具体例は次の通りである。(N1)の態様による出現頻度≧V1であるノードは定常ノードに分類される。(N2)の態様による出現頻度≧V2であるノードは更新ノードに分類される。定常ノード及び更新ノードのいずれにも分類されなかったノードは付加ノードに分類される。
【0038】
なお、図3のマッチング・パターン生成手段30及び図4の分類手段29は、過去の構造化・階層化コンテンツに代えて隣接構造化・階層化コンテンツに基づいてマッチング・パターンを生成する場合にも適用される。
【0039】
図5は過去の構造化・階層化コンテンツに基づいてマッチング・パターンを生成する方法のフローチャートである。該マッチング・パターン生成方法の各ステップの動作主体は、該マッチング・パターン生成方法の各ステップを実行するプログラムをインストールされるコンピュータ(該コンピュータは図1の例ではウェブ・コンテンツ処理装置14に相当する。)である。S46では、ターゲット・サブツリーを設定する。オーサは、マッチング・パターンを抽出しようとする構造化・階層化コンテンツとしてのターゲット・コンテンツ20をネットワークを介して所定の構造化・階層化コンテンツ・サーバから読み込み、次に、ターゲット・コンテンツ20から所定のコンテンツ部分を指定する。S46では、ターゲット・コンテンツ部分21に対して、ターゲット・コンテンツ20のDOMツリー上で、ターゲット・コンテンツ部分21の範囲を含むサブツリーをターゲット・サブツリーとして自動的に設定する。ターゲット・サブツリーは、ターゲット・コンテンツ部分21を含む範囲に係ることが要件であり、該範囲は、必要最小限の範囲にすることが好ましく、ターゲット・コンテンツ部分21より適当に大きいコンテンツ部分の範囲に設定されてもよい。S47では、ターゲット・コンテンツ20に対する過去の構造化・階層化コンテンツを構造化・階層化コンテンツ・データベース26より1個ずつ又はまとめて読み出す。S48では、ターゲット・コンテンツ20に係るターゲット・サブツリーとその過去の各構造化・階層化コンテンツに係るツリーとを対照して、ターゲット・サブツリーの各ノードの出現態様を検出する。ターゲット・コンテンツ20に対する過去の複数個の構造化・階層化コンテンツは、好ましくは、現在の時点、すなわちマッチング・パターン生成処理時点に対して過去所定期間内の構造化・階層化コンテンツである。なお、ターゲット・コンテンツ20とターゲット・コンテンツ20に対して過去の構造化・階層化コンテンツとは、URI(Uniform Resource Locator)が同一となっている。S49では、過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する。S50では、出現態様検出手段27における出現態様検出結果及び統計情報生成手段28が生成した統計情報に基づいてターゲット・サブツリーの各ノードを分類する。
【0040】
S48、S49及びS50における処理をより具体的に説明する。S48では、ターゲット・コンテンツ20に係るターゲット・サブツリーと過去の1個の構造化・階層化コンテンツのツリーとを対照することにより、ターゲット・サブツリーの各ノードについて(N1)構造化・階層化コンテンツにも出現しかつ内容が同一であるノード、(N2)構造化・階層化コンテンツにも出現するが内容が異なるノード、(N3)構造化・階層化コンテンツには出現しないノードのいずれであるかを区分けできる。S48が過去の複数の所定個数の構造化・階層化コンテンツの各々についてそのツリーをターゲット・サブツリーと対照することにより、ターゲット・サブツリーの各ノードについて、(N1)及び(N2)の出現頻度の統計情報を検出できる。S49はこの統計情報を生成する。S50は、(N1)及び(N2)の態様で出現する頻度について予め設定した閾値V1,V2をもつ。典型的にはV1=V2であるが、V1及びV2は相互に異なった値であってもよい。典型的にはV1=V2=70%とする。S50におけるノード分類の具体例は次の通りである。(N1)の態様による出現頻度≧V1であるノードは定常ノードに分類される。(N2)の態様による出現頻度≧V2であるノードは更新ノードに分類される。定常ノード及び更新ノードのいずれにも分類されなかったノードは付加ノードに分類される。
【0041】
S51では、S50における分類結果に基づいてマッチング・パターンを生成する。図6は図5のマッチング・パターン生成方法において生成されたマッチング・パターンを使用するマッチング判定方法のフローチャートである。S55では、これからマッチング・パターンとのマッチングを判定しようとするコンテンツ部分(以下、「被判定コンテンツ部分」と言う。)を読み出す。S56では、被判定コンテンツ部分がマッチング・パターンとマッチする部分をもつか否かを判定する。マッチング・パターンとマッチすると判定されるときの被判定コンテンツ部分は、該被判定コンテンツ部分を含む構造化・階層化コンテンツ(以下、「被判定コンテンツ」と言う。)において任意の位置にあってよい。すなわち、マッチング・パターンとマッチする被判定コンテンツ部分は、被判定コンテンツの任意の位置にあっても、マッチング・パターンとマッチすると、正しく判定される。S56の判定が正であれば、S57へ進み、否であれば、該方法を終了する。S57では、被判定コンテンツ部分に対して所定の処理を実施する。該所定の処理とは、例えば、(a)被判定コンテンツのコンテンツ部分への関連情報の関連付け、(b)被判定コンテンツのコンテンツ部分を他の構造化・階層化コンテンツに利用するために該被判定コンテンツの該被判定コンテンツ部分をコピーする処理(当業者は、該処理を「切り出し」と呼んでいる。)である。(a)の関連情報とは例えばアノテーションである。
【0042】
図7は図5のマッチング・パターン生成ステップ(S51)をより具体的に示すフローチャート部分である。S60では、定常ノード、更新ノード及び付加ノードの分類に基づいてターゲット・サブツリーにおける繰り返し部分を検出する。S61では、S60において検出した繰り返し部分の存在情報を含むマッチング・パターンを生成する。こうして、生成されたマッチング・パターンは、マッチするか否かを判定される構造化・階層化コンテンツが、任意の回数の繰り返し部分をもっていても、該マッチング・パターンにマッチするものとして使用可能となる。
【0043】
図8は分類手段29のより具体的なブロック図である。図8では、S64及びS65の系列と、S66及びS67の系列とは並列処理されるように記載されているが、一方及び他方の系列をそれぞれ先行及び後続させる直列処理にしてもよい。S64では、ターゲット・サブツリーのノードについてそれがスペーサ用イメージに係るノードであるか否かを検出する。S65では、スペーサ用イメージに係るノードは付加ノードと分類する。S66では、ターゲット・サブツリーのノードについてそれがビュレット・イメージに係るノードであるか否かを検出する。S67では、ビュレット・イメージに係るノード同士は、その表示内容が異なっても定常ノード、更新ノード又は付加ノードの同一分類に割り当てる。S68では、S65及びS67の分類結果をまとめ、出力する。
【0044】
図9はターゲット・コンテンツに対して隣接する複数個の構造化・階層化コンテンツに基づいてマッチング・パターンを生成する方法のフローチャートである。図5において、ターゲット・コンテンツに対する過去の構造化・階層化コンテンツに基づいてマッチング・パターンを生成する方法について説明したが、図9に係る生成方法は、(a)ターゲット・コンテンツに対する過去のコンテンツ部分がないときのみ実施されてもよいし、(b)ターゲット・コンテンツに対する過去のコンテンツ部分の有無に関係なく実施されてもよい。図5のフローチャートに対する図9のフローチャートの相違点は、図5のS47〜S50に代えて、S47b〜S50bを実施することである。相違点のみ説明する。
【0045】
S47bでは、ターゲット・コンテンツ20に対する隣接構造化・階層化コンテンツを構造化・階層化コンテンツ・データベース26より1個ずつ又はまとめて読み出す。S48bでは、ターゲット・コンテンツ20に係るターゲット・サブツリーとその各隣接構造化・階層化コンテンツに係るツリーとを対照して、ターゲット・サブツリーの各ノードの出現態様を検出する。S49bでは、複数個の隣接構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する。S50bでは、出現態様検出手段27における出現態様検出結果及び統計情報生成手段28が生成した統計情報に基づいてターゲット・サブツリーの各ノードを分類する。S48b、S49b及びS50bにおける処理をより具体的に説明する。S48bでは、ターゲット・コンテンツ20に係るターゲット・サブツリーと隣接の1個の構造化・階層化コンテンツのツリーとを対照することにより、ターゲット・サブツリーの各ノードについて(N1)構造化・階層化コンテンツにも出現しかつ内容が同一であるノード、(N2)構造化・階層化コンテンツにも出現するが内容が異なるノード、(N3)構造化・階層化コンテンツには出現しないノードのいずれであるかを区分けできる。S48bが隣接の複数の所定個数の構造化・階層化コンテンツの各々についてそのツリーをターゲット・サブツリーと対照することにより、ターゲット・サブツリーの各ノードについて、(N1)及び(N2)の出現頻度の統計情報を検出できる。S49bではこの統計情報を生成する。S50bでは、(N1)及び(N2)の態様で出現する頻度について予め設定した閾値V1,V2を取得する。典型的にはV1=V2であるが、V1及びV2は相互に異なった値であってもよい。典型的にはV1=V2=70%とする。S50bにおけるノード分類の具体例は次の通りである。(N1)の態様による出現頻度≧V1であるノードは定常ノードに分類される。(N2)の態様による出現頻度≧V2であるノードは更新ノードに分類される。定常ノード及び更新ノードのいずれにも分類されなかったノードは付加ノードに分類される。S51では、S50における分類結果に基づいてマッチング・パターンを生成する。
【0046】
なお、図7及び図8のフローチャートは、過去の構造化・階層化コンテンツに代えて隣接構造化・階層化コンテンツに基づいてマッチング・パターンを生成する場合にも適用される。
【0047】
【実施例】
実施例は構造化・階層化コンテンツとしてウェブ・コンテンツを選択したものである。過去ページ及び隣接ページとの差分演算の結果を用いて統計的に算出されるコンテンツのマッチング・パターンを切り出し部分特定に用いる。図10はウェブ・コンテンツ用処理装置74の構成図である。ウェブ・クライアント76、トランスコーディング・モジュール77及びウェブ・サーバ78はインターネットへ接続され、相互にデータを送受自在になっている。ユーザ75は、ウェブ・クライアント76を操作して、トランスコーディング・モジュール77へトランスコーディッドHTML81の送付を要求する。トランスコーディング・モジュール77は、ウェブ・クライアント76からの要求を受付けると、対応のウェブ・サーバ78からターゲットHTML79を受け取り、ターゲットHTML79をアノテーション・データベース80からのアノテーションに基づいて加工し(transcode)、トランスコーディッドHTML81をウェブ・クライアント76へ送る。なお、アノテーション・データベース80は、典型的にはトランスコーディング・モジュール77の実装されているコンピュータに装備されているが、トランスコーディング・モジュール77とは別の場所にあって、インターネットを介してトランスコーディング・モジュール77へ接続されていてもよい。アノテーション・エディタ85、キャッシュ・データベース86及びサイト・パターン・アナライザ88は、アノテーション・データベース80を装備するコンピュータに実装又は装備される。キャッシュ・データベース86には、隣接ページの算出アルゴリズム、複数バージョンの過去ページをキャッシュする仕組み、及び指定されたURLを定期的に巡回して該URLのページを取得する機能を装備する。キャッシュ・データベース86は、アノテーション・エディタ85を使用して、各ターゲットHTML79についてのアノテーションを作成する。アノテーション・オーサ84の作業効率を向上するために、同一のアノテーションを複数個のターゲットHTML79に共通に使用するアノテーションの使い回しが行われる。アノテーションの適切な使い回しを達成するために、類似した複数個のターゲットHTML79同士が1個のグループにまとめられ、各グループには同一のアノテーション・セットが使用される。なお、アノテーション・セットとは、複数個のアノテーションをまとめたものである。ターゲットHTML79が所定のグループに属するか否かは、ターゲットHTML79と所定のマッチング・パターンとを対照することにより判定される。
【0048】
マッチング・パターンは、「ページ内のどの部分に出現してもマッチするアノテーション」を実現するために、利用することが可能である。これによりレイアウトの変更に対してロバストな切り出しを実現できる。以下ではまず基本的な手法である隣接ページと過去ページとの差分によりマッチング・パターンを自動生成する手法を述べてから、実際のユーザインタフェース上でオペレーション例を述べる。
【0049】
[差分演算に基づく過去ページにおける出現頻度演算]
差分演算は、差分演算によるシンプリフィケーションで用いられた方法と同等のものを前提とする。XMLDiff等、厳密なXMLの差分演算を行うアルゴリズムを用いても本手法は実行可能である。ここでは図11のようにDOMツリーを一旦シリアライズしてからDPマッチングを用いてLongest common node string(LCNS)を算出する手法を用いるものとする。この手法は正確なツリーの差分演算を行えない代わりに、実用上問題がないことがすでに確認済みであること、高速であること、演算対象のエレメントをコントロールし易いこと等から本手法にも適している。以下の記述では差分演算にこの手法を用いるものとして記述する。また、下記の多くの処理ステップにおいて、差分演算の結果として「共通ノード」を用いている。「共通ノード」とは、2つのDOMツリーに共通するノード群であり、差分演算結果から差分以外の部分を選択することで得ることができる。今回用いるDPマッチングによる差分演算手法では、演算途中で共通部分をLCNSとして得ることができるため、実際の差分部分を算出することなく、共通ノードを得ることができる。そのため、演算途中に実際に差分算出は生じないが、一般的には差分演算の変種として捕らえることができるため、以下の記述では「差分演算」という記述を用いる。厳密には「差分演算の途中結果としての共通ノード群(LCNS)」を用いている。
【0050】
図11はDPマッチングの概略説明図である。第1及び第2の入力を例えばそれぞれ”KWPSIKAWNA”及び”ABPSAWNDS”とする。DPマッチングにより、それら入力のLongest common node string(LCNS)としての”PSAWN”が出力される。DPマッチングでは、余分な要素(例では第1の入力の”IK”)が割り込んでいても、要素同士の相対順番が同一であれは、それら要素からなるストリングをLCNSとして抽出できる。
【0051】
図12は差分演算にDPマッチングを適用した概略説明図である。ターゲット・ページと比較ページ(比較ページは過去ページ又は隣接ページである。)とのDOMツリーのターゲットの部分がそれぞれ直列化(serialise)手段91,92へ入力され、ツリー配置から直列配置へ変換される。DPマッチング手段93は、直列化手段91,92からの入力に基づいてのLongest common node string(LCNS)を算出する。差分手段としてのLCNS除去手段94は、ターゲット・ページのDOMツリーからLCNSを差し引いた値としての差分DOMツリーを出力する。
【0052】
□タイプA:過去のページが存在する場合のマッチング・パターンの算出
アノテーション・エディタを用いてアノテーション・オーサがすでにDOMツリー上のあるノード群をすでに指定した状態を考える。
ステップ1: ターゲット・サブツリーを決定する。対象ノード群が共通に持つ祖先ノードを一つ探索する。どんな場合でも<body>ノードは共通に持っているため、このようなノードが必ず存在することは明白である。
ステップ2: キャッシュから過去のページ・リスト取得する。アノテーション・オーサはあらかじめ数日から数週間分の過去のページを保存しておくことが望ましい。過去のページが多いほどロバストなパターンを生成可能である。
ステップ3: 各過去ページと現在ターゲットになっているページの差分演算を行う(1回目の差分演算)。差分演算のためのシリアライズを行う際には、指定されたグループ内の全エレメントをシリアライズ対象に追加する。DPマッチングによって選択されるノード列は「定常なノード」だけである。同一性のチェックにおいて「見かけと機能に関する重要なアトリビュート(属性)が一致している場合に」同一のタグと判定する。これは、ページオーサが同一の見え方・機能をもったタグを細かい点でことなるアトリビュートを付加している可能性があるためである。本実施例の実装では以下のようなアトリビュートにより同一性を判定した。課題によっては、例えば、imgのsrcタグが完全にakamai等の付加分散システムによってコントロールされている場合、同一性判定からsrcタグははずすべきであろう。
基本:"class", "id", "name", "style", "width", "height", "bgcolor"。
img系:"alt", "src"。
link系:"href"。
form系:"action", "method", "type", "value"。
table系 "align", "valign", "rowspan", "colspan", "size", "color", "face"。,
上記において、「見かけに関するアトリビュート」とは"bgcolor"等、HTMLファイルの表示状態において見栄えに関するものである。「機能に関するアトリビュート」とは、link系の"href"やform系の"action"及び "method"等、HTMLファイルの表示状態には影響のないものである。
【0053】
ステップ4: ターゲット・グループのツリー内の各ノードが過去ページに出現した頻度を「定常指数」として算出する。例えば、今、12個の過去ページと比較を行い、あるエレメントがそのうち8ページに出現した場合、8/12=0.67 が定常指数となる。この指数はこのような単純なパーセンテージだけでなく、頻度を示す数値であれば指数になり得る。
ステップ5: 定常ノードではないと判断されたノードを2回目の差分演算により、「必須・更新ノード(必ず出現し、更新されるノード。「必須・更新ノード」は、本明細書において適宜、「更新ノード」と省略して呼ぶ。)」と「付加ノード(追加削除される可能性があり変動するノード)」に分類する。ステップ3では、テキスト・ノードに対して文字列が完全にマッチングした場合のみ同一であると定義した。このステップでは、文字列や画像がマッチしなくとも「テキスト・ノード(画像エレメント)が存在した場合」には同一であると判断する。またanchor(a)エレメントはhref属性が一致せずとも同一と判断する。 iframe等のsrc属性、href属性を持つものも同様に処理する。ステップ2のノード・リストに含まれずにこのステップにおけるノード・リストに含まれるノードは「必ず出現し、常に更新されるノード(テキスト、アンカー、画像)」であると言うことができる。
【0054】
ステップ6: ステップ5でリストアップされたノードの頻度を算出する。この指数はステップ3と同様であり、単純なパーセンテージを使用することも可能である。
ステップ7:ステップ4と6の結果より各ノードを定常ノード、更新ノード、付加ノードに分類する。分類は指数を或る閾値で判定することで行う。例えば定常指数が70%を超えたときに定常なノードであると判定する。ただし、手順1で算出したターゲット・サブツリーのうち、アノテーション・オーサによって指定されていないノード群、(ステップ1の対象ノード群をルート・ノードとして葉の方向に伸びるサブツリーには含まれないノード群)はすべて「pat:type属性」に「any」を設定。
【0055】
このような差分演算の結果を図13及び図14に示す。図13及び図14はasahi.comのウェブ・コンテンツについての差分演算例を示したものであり、(a)はオリジナル(オリジナル・コンテンツ部分)、(b)は差分結果をそれぞれ示している。(b)において背景が色付きになっている部分が定常なノードであり、白い背景の部分が更新テキスト・ノードの部分である。図13においては「全文 >>」という文字列が、図14においては「最新ニュース」が定常なものとして判別できていることが分かる。
【0056】
ステップ8:さらに精度向上のために、イメージの種別判定を行う。これは、リストのbullet(ビュレット)や空白領域を確保するための「spacer GIF(スペーサGIF)」等を判定し、繰り返しパターンから除外するためである。spacer GIFは一つのページに複数使用され、かつ使用されるたびに指定サイズのことなるイメージとする。bullet イメージは一つのページに複数使用され、常に同じサイズで使用されるかサイズ指定のないイメージとする。次にパターン内のサブツリーの繰り返しを解析する。サブツリーの繰り返しパターンにいくつかの方法が存在するが、ここではシリアライズしたベクトルを対象に探索を行うことで比較的高速に検出を行うアルゴリズムを示す。
【0057】
ステップ9:分類したツリー構造をシリアライズし、各ノードに関し以下の情報を算出して新たなベクトルを生成する。
距離ベクトル( Distance vector):次に出現する「同一レベル・同一タグタイプ・同一値ノード」のシリアライズされたベクトル上での距離。
例えば、以下のような例を考える。
ここで、更新ノードは「pat:type="updated"」と、付加ノードは「pat:type="inserted"」と表記した。
Figure 0003880504
【0058】
図15はDOMツリーの一例である。この例では、エレメントdiv、ul及びliに相当するノードは定常ノードであり、最下層のノードは更新テキスト・ノード又は追加イメージ・ノードとなっている。図16は直列化されたノードのベクトルと各段の距離ベクトルとの関係を示している。図16において(a)は直列化されたノードのベクトル(シリアライズ・ベクトル)を示し、(b)及び(d)〜(f)はそれぞれ1段、2段、3段及び4段の距離ベクトルを示す。なお、この直列化は深さ優先方式の直列化となっている。図15のDOMツリーから図16(a)への変換において、シリアライズ・ベクトルには「付加ノード(pat:type="inserted")」を組み込まない。これにより一時的に挿入されたコンテンツをパターンの算出から除外することができ、パターンのロバストネス(robustness)を高めることができる。例えば、図18に示すようなパターンも図に示した部分を「付加ノード部分」として繰り返し判定から除外することができる。 付加ノードは後段の処理においてパターンに含められる。
【0059】
また、ステップ8においてビュレット(bullet)イメージと判定された画像は異なった画像が用いられていても同一画像と判定する。これにより、例えば、図19に示したようにbulletが変動する列挙パターンも繰り返しパターンとして検出可能になる。
【0060】
さらに、「2つ目の同一ノードまでの距離」を示す「2段目の距離ベクトル(distance vector)」を算出する(図16(d))。同様に3段目(図16(e))、4段目(図16(f))と順次算出し、すべてのノードの値がベクトル長の1/3以上になるまで段数を増やす。これは最長繰り返しパターンの1回の繰り返し(iteration)がベクトル長の1/3以下であるからである。図の例ではベクトル長が22ノードであるから4段目(図16(f))以降を算出する必要はない。
【0061】
ステップ10:ステップ7で算出したベクトルを基に繰り返しパターンを検出する。すなわち、距離ベクトルにおいて同一の距離が「2回繰り返し以上連続する部分」を探索する。例えば、距離「5」が連続した場合、それが10以上連続した場合に繰り返しパターンとして検出する。これは、同じエレメントパターンが3回繰り返し以上連続していることを意味するからである。
【0062】
図17の例では、1段目と3段目にまたがってパターンを検出している。 このとき、2段目及び3段目の距離ベクトルに含まれていてもかまわない。ただし、このとき、繰り返しパターンがサブツリー間に「またがらない」ようにチェックする。例えば、下記のようなDOM構造があった場合に、6から10、11から15を繰り返しとして検出するのではなく、8から12、13から17を検出するようにチェックを行う。すなわち下位のノードの繰り返しの距離は、上位のノードの繰り返しをまたがって、検出されないようにする。
【0063】
1:<ul>
2: <li>
3: <b>経済
4: </b>
5: </li>
6: <li><pat:text pat:type="updated"/></li>
7:</ul>
8:<ul>
9: <li><pat:text pat:type="updated"/></li>
10: <li><pat:text pat:type="updated"/></li>
11: <li><pat:text pat:type="updated"/></li>
12:</ul>
13:<ul>
14: <li><pat:text pat:type="updated"/></li>
15: <li><pat:text pat:type="updated"/></li>
16: <li><pat:text pat:type="updated"/></li>
17:</ul>
【0064】
ステップ11:検出された繰り返し部分を<repeat>タグで囲み、繰り返しを除去する。繰り返し部分は同一の距離(図17で「7」)が連続する部分に加えて、繰り返しの最後に対応する部分もパターンに加える。さらに、ステップ7においてシリアライズの際に除外したinsertedノードを対応する位置に挿入する。
【0065】
Figure 0003880504
【0066】
ステップ12:分類したツリー構造をマッチング用のパターンとして整形する。このアルゴリズムの出力例を示す。ただし便宜上、既存のパターン・マッチ記述ではなく、html記述にわずかにタグを追加するだけの独自表現を以下の説明では用いることにする。これは可読性を考慮したためであり、記述能力的には等価な既存言語に変換可能である(後述)。図20及び 図21はそれぞれ繰り返しを含むウェブ・コンテンツの例としてニュース・ライコス(News LYCOS)及びCNN.COMのウェブ・コンテンツのイメージを示している。また、図22はtd内にtableが構造化・階層化コンテンツ用処理システム10個以上連続するウェブ・コンテンツのイメージを示している。これらウェブ・コンテンツから自動生成されたパターン(XML形式)を以下に示す。ベースタグセットはxhtmlであり、patネーム・スペースとしてパターンのためのタグが挿入されている。なお、図21のウェブ・コンテンツでは、オーサは構造化・階層化コンテンツ用処理システム10個以上連続するtableの内の2個が選択されたとして、自動生成されたパターン(XML形式)を示す。
【0067】
また、ここではネーム・スペースを利用して"pat"というプレフィックスで繰り返し等を表現する記法を用いたが、他のツリー正規表現記述に等価に置き換えることが可能であるものとする。例えばrelaxNGで利用されているTREXの記述力は本手法におけるパターンのために十分な記述力をもっており、本手法のパターン記述に使用することが可能である。これに関しては後述する。
【0068】
図20のウェブ・コンテンツから自動生成されたパターン(XML形式)
Figure 0003880504
Figure 0003880504
【0069】
図21のウェブ・コンテンツから自動生成されたパターン(XML形式)
Figure 0003880504
Figure 0003880504
Figure 0003880504
【0070】
図22のウェブ・コンテンツから自動生成されたパターン(XML形式)
Figure 0003880504
Figure 0003880504
Figure 0003880504
【0071】
タイプB:過去ページが存在しない場合のマッチング・パターンの算出
過去ページが存在しない場合とは、過去ページのキャッシングが行われていないときのみならず、日々生成されるURL等で頻繁に発生する。例えば新聞記事のURLのように日付がURLの一部として利用されている場合等明らかに過去のページは存在し得ない(http://www.asahi.com/international/update/1005/010.html)。また、検索結果のページ等クエリーの場合も同様である。このような場合、「隣接ページ」という概念を導入する。隣接ページとは、以下のような条件を持つページ群である。
【0072】
(a) URLが近い。URLの近さはURLのエディットディスタンスにより定義する。例:
ターゲット:http://www.asahi.com/international/update/1005/010.html
隣接URL:http://www.asahi.com/international/update/1005/012.html
(b) レイアウトが近い。この判定にはテーブル構造の比較によりクラスタリング技術を利用する(例:前述した特許文献2)。この技術はテーブルの入れ子構造を基本として各ページのレイアウトをクラスタリングする手法であり、レイアウトの近いページのリストを得ることができる。
【0073】
これらの条件に当てはまるページ群が「隣接ページ」である。以下、処理のステップを述べる。同様に、アノテーション・エディタを用いてアノテーション・オーサがすでにツリー上のあるノードをすでに指定した状態を考える。
ステップ1:隣接ページのリストを取得する。キャッシュサーバが隣接ページの算出アルゴリズムを持つものとし、キャッシュサーバから隣接ページのリストを取得する。各隣接ページは現在のもののみならず、過去の隣接ページも取得する。
ステップ2:各隣接ページと現在ターゲットになっているページの差分演算を行う。タイプAのステップ2と同様に、差分演算のシリアライズを行う際に、テキスト・ノード、画像エレメントの同一性は「文字列もしくは画像が完全に同一」であることによって定義する。
ステップ3:ターゲット・グループのツリー内の各ノードが過去ページに出現した頻度を「定常指数」として算出する。
ステップ4:文字列や画像がマッチしなくとも「テキスト・ノード(画像エレメント)が存在した場合」には同一であると判断して各隣接ページとターゲット・ページの差分演算を行う。ステップ2のノード・リストに含まれずにこのステップにおけるノード・リストに含まれるノードは「必ず出現し、常に更新されるテキスト(画像)」であるといえることができる。
ステップ5:ステップ4でリストアップされたノードの頻度を算出する。この指数はステップ3と同様であり、単純なパーセンテージを使用することも可能である。
【0074】
ステップ6:ステップ3と5との結果より各ノードを定常ノード、更新ノード、付加ノードに分類する。分類は指数を或る閾値で判定することで行う。例えば定常指数が70%を超えたときに定常なノードであると判定する。この結果例を図23〜図25に示す。図23(a)及び(b)はasahi.comのINDEXページのイメージと差分結果を対比して示している。図24はasahi.comのスポーツ・ページのイメージを示し、図25は図24のイメージに基づく差分結果を示している。実際の差分演算は、多くの隣接ページに出現しているエリア程、青が濃くなるカラーで画面に表示されている。図24では、固定的なインデックスリストの項目が定常となっており、図23(b)は実際のカラーイメージをモノクロイメージにして示しているために見え難いが、「天気」、「社会」、・・・、「今日の朝刊」の項目及び各項目の左側のボタンのエリアが青の濃い定常ノードとして検出されている。また、図25において、記事本文はそのエリアの背景が白っぽい灰色で表示されており、記事本文は更新されるものとして検出されていることが分かる。
【0075】
ここからはタイプAのステップ8以降の処理と同様である。タイプAとタイプBの最も大きな違いは、比較するページの個数である。タイプAでは確実な過去のページという比較対照が存在するため、数ページの比較で適切にノードの分類をすることができる。しかし、タイプBでは隣接ページといういわば「確実ではない」及び「本質的に異なったレイアウトである可能性を含んだ」対象との差分演算を行わなければならない。そのため、できれば数百から数千ページのオーダーのページと差分演算を行った上で統計量として指数を算出することが望ましい。
【0076】
次に、本発明により生成されたマッチング・パターンについて種々の利用態様を説明する。
○フリー・アノテーション:
フリー・アノテーションとは、XPathを持たず(もしくは大まかなポジションのみで)ページ内のどこにそのグループが出現してもマッチさせる手法である。図26はフリー・アノテーションの概略説明図である。図26において図10と同一の要素は同符号で指示して、説明は省略する。ユーザ75が所定のアクセサブルHTML96の送信要求をトランスコーディング・モジュール77へ出す。トランスコーディング・モジュール77は、対応のウェブ・サーバ78から対応のターゲットHTML79を受け取り、該ターゲットHTML79に関連付けられる全部のアノテーションをアノテーション・データベースに要求する。アノテーション・データベース及びアノテーション・セット97における□は、それぞれ特定のグループを指すアノテーションに対応付けてマッチング・パターンを持っている。アノテーション・データベースはターゲットHTML79の各サブツリーにマッチするマッチング・パターンを持ったアノテーション・セット97を選択し、トランスコーディング・モジュール77へ返す。トランスコーディング・モジュール77は、アノテーション・データベースから返されたアノテーション・セット97に基づいてターゲットHTML79を変換(トランスコード)して作成したアクセサブルHTML96をウェブ・クライアント76へ送る。トランスコーディング・モジュール77では、ターゲットHTML79のトランスコードにおいて、ターゲットHTML79におけるロバストな切り出し位置指定を実現できる。また、トランスコーディングに用いた場合、ページ内で移動するグループや、あるサイトのすべてのページに対してあるパターンにマッチするグループを検出するといった用途に応用できる。このフリー・アノテーション処理を従来からのダイナミック・マッチングの手法の後に行うことで漏れテキストやアノテーションのマッチしなかったページに対してアノテーションを付加できる可能性があり、フェイル・セーフなシステムを構築することができる。
【0077】
図27はすでに公知のダイナミック・マッチングと図26のフリー・アノテーションとを組み合わせたフェイル・セーフ付きアノテーション処理についての概略説明図である。図27において図10及び図26と対応する部分は同一の符号を付け、説明は省略する。トランスコーディング・モジュール77は、第1段としてダイナミック・マッチングにおいてXPathについて全部のアノテーションがターゲットHTML79にマッチするアノテーション・セットを探索する。もしあれば、そのアノテーション・セットをトランスコーディング・モジュール77へ送り、トランスコーディング・モジュール77は、該アノテーション・セットに基づいてターゲットHTML79をトランスコードして、トランスコーディッドHTML81を作成し、トランスコーディッドHTML81をウェブ・クライアント76へ送る。もし、ダイナミック・マッチングにおいてマッチするアノテーション・セットがダイナミック・マッチング用アノテーション・データベース99において探索できなければ、トランスコーディング・モジュール77は、アノテーション・データベースにフリー・アノテーションの指示を出し、アノテーション・データベース80からアノテーション・セット97を受け取り、該アノテーション・セット97に基づいてターゲットHTML79をトランスコードして、トランスコーディッドHTML81を作成し、トランスコーディッドHTML81をウェブ・クライアント76へ送る。
【0078】
本手法には、ツリーの定常性を統計的手法を用いて算出しているために、「ページごとに大きくDOMツリー上で位置が変わる一連のノード群」をパターンとして算出することが困難であるという制限がある。例えば、あるテーブルが、リロードされるたびに、いかなる場所にも出現しうる場合、統計量として現れることは少ないと考えられる。そのため、本手法をもちいて検出可能な「フリーなグループ」とは「大きく変動しないデフォルトのポジションがある」ことが前提であり、その点で制限がある。ただし、アノテーションずれが発生するケースとしては「新たなtrが挿入されてずれる」「trの順序が入れ替わる」等の頻度が高いことが経験的に知られており、これらの変化に対して対応できる点で本手法は十分有効である。
【0079】
[フリー・アノテーション利用例:アノテーション・エディタによるフリー・アノテーションの作成]
以下は、アノテーション・エディタにおけるオーサの操作手順である。
ステップ1:アノテーション・エディタで、任意の領域(DOMツリーのサブツリー)を選択。
ステップ2: 新規グループ追加を指示。
ステップ3:グループ定義ダイアログにおいて「フリー・アノテーション」チェック・ボックスをチェック。これに伴い、 システムが自動的にマッチング・パターンを算出。
ステップ4: ユーザ(オーサ)は、アノテーション・エディタを用いてステップ3のマッチング・パターンについての他のページへの適用可能性を判断する。
【0080】
[フリー・アノテーション利用例:フリー・アノテーション用サイト・パターン・アナライザによるアノテーションの修正]
フリー・アノテーションは、これまでのでサイト・パターン・アナライザに類似した管理アプリケーションが必要になる。図28はフリー・アノテーション用サイト・パターン・アナライザ(SPA2)の画面予想図を示す。アノテーション・マッチングウィンドウの左側にはURLが並び、横軸にはフリー・アノテーションが並び、それぞれ各ページとのマッチングを表示している。アノテーションの番号をクリックすることでソートすることが可能である。オーサは、誤ってマッチしているパターンを発見した場合、以下のようなステップで修正を行う。
ステップ1:正しくマッチングしているURLを複数個選択。
ステップ2:誤ってマッチングしているURLを複数個選択。
この後、システムは、正しくマッチングしているURLにはすべてマッチし、誤っているグループにはマッチングしないようにマッチング・パターンを修正。
【0081】
○従来のダイナミック・マッチングへの応用:
従来型のダイナミック・マッチング手法へは、XPathに付け加えるコンテンツ条件として本手法を用いることができる。図29はダイナミック・マッチング手法にマッチング・パターンによるマッチングを組み込んだマッチング・システムの構成図である。図29において、図26の要素と同一のものは同符号で指示して、説明を省略する。アノテーション・データベース101では、ターゲットHTML79について、XPathによるマッチングに加えてマッチング・パターンによるマッチングについても判定する。結果、判定精度が向上する。なお、アノテーション・データベース101の各アノテーション・セットにおいて、塗りつぶされた□はXPath及びマッチング・パターンの両方にマッチしたアノテーションを意味する。
【0082】
[従来のダイナミック・マッチングへの応用例:アノテーション・エディタによるグループに対する詳細条件としてのグループマッチングの追加]
オーサの操作手順は次の通りである。
ステップ1:アノテーション・エディタで、任意の領域(DOMツリーのサブツリー)を選択。これは標準的な操作と何ら代わるところはない。
ステップ2:新規グループ追加を指示。
ステップ3:オート- グループ定義ダイアログにおいて「詳細化」ボタンを押す。
これに伴い、システムが自動的にマッチング・パターンを算出する。標準的なPC(パーソナル・コンピュータ)で演算時間はタイプAで数秒から数十秒、タイプBで数十秒から数分の処理時間が必要になる。
ステップ4:オーサは、アノテーション・エディタを用いて他のページへの適用可能性を判断する。
【0083】
[従来のダイナミック・マッチングへの応用例:サイト・パターン・アナライザによるダイナミック・マッチングアノテーションへの適用]
オーサの操作手順は次の通りである。
ステップ1:サイト・パターン・アナライザで誤ってマッチしているグループを探す。
ステップ2:- 正しくマッチしているページ及び誤ってマッチしているページを双方数ページずつを選択する。この操作はすでに実現されているXPathの半自動詳細化と同様である。
ステップ3: 一覧のうち、正しくマッチしているページから成るグループ群を選択し、「詳細化」を選択。
ステップ4:差分演算を用いて正しいグループ群が必ずマッチするマッチング・パターンを自動生成。
ステップ5:生成されたマッチング・パターンが誤りグループとマッチしないことを確認。誤りグループとのマッチが発生してしまう場合は、従来からのXPathの半自動修正機能を用いてさらに条件を詳細化する。
【0084】
次に隣接ページを用いた場合の精度について述べる。隣接ページをマッチング・パターンの生成に用いた場合、リストアップされる隣接ページによって生成されるマッチング・パターンが大きく左右されてしまう問題がある。図30は或るウェブ・コンテンツの所定領域を隣接ページとの差分演算処理した結果を示している。(a)はマッチング・パターンを求めようとするターゲットウェブ・コンテンツ、(b)は差分演算によりによりノードの種類を検出した結果を示す。(b)において、「関連情報」の領域の背景は、適宜変更される見出し文の領域の背景と同じく、薄い色になっている。「関連情報」という文字列は明らかに定常であり、マッチング・パターンに組み入れられるべきである。しかし、隣接ページとの差分を行った場合、このような場所の変動と大きい文字列を定常であると判断することは難しい。この問題には本発明では2つの方法で対処する。
(a)隣接ページの厳選。前述したレイアウトのクラスタリング技術をつかい同一のレイアウトを用いていると考えられるページのみをリストアップする。
(b) 誤り修正のためのインタフェース。前述のサイト・パターン・アナライザSPA, SPA2はこのような誤りを修正するためのインタフェースを持つ。
【0085】
○切り出した情報種別の判定:
図31は株価情報のウェブ・コンテンツから株価の数値を切り出すことについてのマッチング・パターンの利用説明図である。(a)は株価情報を提示するウェブ・コンテンツを示し、(b)過去ページとの差分演算による検出した定常ノードを示している。株価情報のテーブル等からの株価の数値の切り出しはアノテーションのマッチング・パターンとして組み入れることも考えられる。例えば「12時13分更新」というテキストに対して、<pat:data pat:type="date" pat:format="HH時MM分更新" pat:xpath="table[1]/tr[1]/td[3]/text()[1]"/>といった記述でHH, MMという時間情報を切り出すことが可能である。このように数値データ、テキストデータの切り出しをマッチングパターンに組み入れることも可能である。これにより、RSSやWSXLあるいはVoiceXMLへの変換に大きな効果があると考えられる。
【0086】
○ダイナミック・アノテーションの手法との融合・XPathセットマッチ高速化アルゴリズムの利用:
今回のサブツリーのマッチングをXPathセットのマッチングと捉えることも可能である。こうすることによりこれまでに提案しているXPathセットの高速マッチングの手法を利用することが可能である。ただし、repeatを用いた繰り返しやpat:type="inserted"を表現することができないため、すべてのマッチング・パターンを変換することはできない。
【0087】
(グループのXPathをルートとして)
/tr[1]
/tr[1]/td[1][@bgcolor="#006699"]
/tr[1]/td[1][@bgcolor="#006699"]/font[1][@color="#ffffff"]
/tr[1]/td[1][@bgcolor="#006699"]/font[1][@color="#ffffff"]/text()[1]
/tr[1]/td[1][@bgcolor="#006699"]/font[1][@color="#ffffff"]/b[1]
/tr[2]
/tr[2]/td[1]
/tr[2]/td[1]/small[1]
/tr[2]/td[1]/small[1]/li[1]
/tr[2]/td[1]/small[1]/li[1]/a[1]
/tr[2]/td[1]/small[1]/li[1]/a[1]/text()[1]
/tr[2]/td[1]/small[1]/li[2]
/tr[2]/td[1]/small[1]/li[2]/a[1]
/tr[2]/td[1]/small[1]/li[2]/a[1]/text()[1]
・・・
/tr[2]/td[1]/small[1]/li[6]
/tr[2]/td[1]/small[1]/li[6]/a[1]
/tr[2]/td[1]/small[1]/li[6]/a[1]/text()[1]
/tr[2]/td[1]/small[1]/li[6]/div[1][@align="right"]
/tr[2]/td[1]/small[1]/li[6]/div[1][@align="right"]/text()[1]
/tr[2]/td[1]/small[1]/li[6]/div[1][@align="right"]/a[1]
/tr[2]/td[1]/small[1]/li[6]/div[1][@align="right"]/a[1]/text()[1]
/tr[2]/td[1]/small[1]/li[6]/div[1][@align="right"]/text()[2]
【0088】
また、従来型ダイナミック・アノテーション・マッチングの手法と組み合わせる場合、他のグループが持っているXPathとマッチング・パターンから生成されるXPathをすべて列挙することにより、一体的に取り扱うことも可能である。
【0089】
○p, br, bタグ及びテキスト・ノードがランダムに出現する場合の対応:
或るコンテンツの本文等に、p, br, bタグ及びテキスト・ノードがランダムに出現する場合がある。このような場合に対処するために、p, br, bタグに増減があってもマッチさせることのできるマッチング・パターンを生成する必要がある。そのため、p, br, bタグの連続がターゲット・ページ、過去ページに出現した場合は、すべてを「ANY」ノードにするという処理を行う。すなわち、「ANY」マッチング・パターンにおける正規表現として利用する。
【0090】
○既存のツリーマッチング記述言語形式の生成:
今回、説明において独自のパターン記述を用いたが、これは等価なパターン・マッチング記述言語に変換可能である。しかし、元のツリー構造を保存できない、アトリビュートの厳密な記述が必要になるという点で煩雑になり可読性が低下するため説明には用いなかった。そこで、今回用いた記法を既存のパターン・マッチ言語(relaxNG形式)に変換する手法の一部を紹介する。
まず以下のようなパターンを考える。
【0091】
Figure 0003880504
【0092】
これをrelaxNG形式に変換例を以下に示す。ただし、アトリビュートの記述は一部省略した。relaxNGはXML文書全体のSchemaを記述するように設計されているため、本来、ルートタグを含めてすべてにマッチするパターンを記述するようにできている。ここではその枠組みをサブツリーのマッチングに用いる。そのため、実装としては、次のような2個のステップで処理を行うことになる。
ステップ1:HTML内のtableタグをすべてリストアップ
ステップ2:tableを一つずつ、マッチング・パターンとマッチするか評価
以下のサンプルはそのような実装を前提としている。なお、以下は、relaxNG形式による記述例である。
【0093】
Figure 0003880504
Figure 0003880504
Figure 0003880504
省略。TDタグにおいてここにはマッチングにおいて無視できないアトリビュートの列を記述する。
Figure 0003880504
省略。以下、freeAttributes定義が各タグごとに並ぶ。
Figure 0003880504
【0094】
○マッチング・パターン生成能力の点から見た本手法の制限:
ツリーの正規表現の自由度としてはrepeat(繰り返し)とembed(入れ子)の2種類が存在することが知られている。このうち、本手法はrepeatのみ検出することができる。これは、HTMLの領域マッチングに用いるという性質上、入れ子構造による規則性を記述する必要性が非常に低いことに基づいている。そのため、統計情報を用いるという基本アイディアに基づいて入れ子構造を算出するアルゴリズムに拡張することも可能である。
【0095】
[その他の実施例1:アノテーションによるトランスコーディング]
従来のアノテーションシステムによって、アノテーションがマッチせず漏れたページ、漏れた情報等に対して今回のフリー・アノテーションを用いてカバーする「フェイル・セーフ」システムを構築可能である。これはトランスコーディングの品質保証を通じてビジネスに大きく貢献する。さらに、本発明によりマッチング条件の詳細化を行うことで、アノテーション修正の手間が減り、アノテーション・オーサリング時間を短縮することができる。これもビジネスに大きく貢献する機能である。さらに、従来のトランスコーディングにおいてXpathの文字列マッチングを用いてしか判定することのできなかったグループ部分をフリー・アノテーションよってカバーすることができる。図32は所定の定常ノードが移動するウェブ・コンテンツの例を示している。図32のなかで「LYCOSサービス」や「関連トピックス」といった部分は、上下に場所が移動するばあいがあり、従来の枠組みでは取り扱いにくかった。このようなグループに対しても本手法であれば対処することが可能である。
【0096】
[その他の実施例2:リンク・リストの切り出しによりRSSの生成]
RSSとはRich Site Summaryと呼ばれ、XML形式であるサイトの要約を定義し、提供することで、サイトのサマリーをさまざまに再利用できるようにする規格である。従来はサイトごとに、CGI等をもちいてダイナミックにこのRSSを生成していた。しかし本発明を用いることにより、ウェブ・ページからダイナミックに生成可能になる。まず、アノテーション・エディタを用いてサイトのトップ・ニュースのリストにあたるリンク・リストを指定する、フリー・アノテーションを作成する。このグループに対し「RSSアトリビュート」を付加する。RSSエンジンは、このフリー・アノテーションを用いてウェブ・ページから直接RSS形式のデータを生成する。このような「特定の部分のみを指定するグループ」はXPathマッチングを用いた従来のアノテーションでは困難である。例えば、前述した図20に係るパターン(XML形式)の例では、<pat:text pat:type="any">に示した部分はその日のトップ記事の各タイトルになっている。そのため、パターン・マッチの過程でワイルドカード部分を切り出すことで以下のようなRSS記述を自動生成することが可能になる。
【0097】
Figure 0003880504
【0098】
[その他の実施例3:Webページの部分切り出しによるWEB サービス化]
Web サービスはXMLの交換により、様様なサービス、アプリケーションを提供する技術であるが、本発明を用いることにより、すでに存在するウェブ・ページのトランザクションの一部を切り出す形で容易に提供することができる可能性がある。図33は部分切り出しに利用する利用元のウェブ・コンテンツを例を示している。このページはあるニュース・サイト(ZDNET)内の過去の記事をキーワード検索し、提示するページである。このページをベースにしてキーワード検索を行うWebサービスを構築することができる。指定する必要のあるグループは2つ。一つは検索のためのフォーム部分103(図33)である。この領域は不動部分から構成されており、マッチング・パターンは生成し易い。
【0099】
次はフォーム部分103をHTMLで表現したものである。
Figure 0003880504
【0100】
次は、上記のHTMLから自動生成したSchemaの一部(RelaxNG形式)である。このSchemaは図34のSchema(1)として利用される。
Figure 0003880504
【0101】
図34は図33のウェブ・コンテンツからWeb サービスを自動生成する処理過程を示す。切り出されたフォームに対して、以下のような入力のためのXML Schema(図34のスキーマ(Schema)(1)とこのXMLを元のHTMLフォームに変換するためのXSLT (図34のXSLT(2))を自動生成することが可能である。
【0102】
Figure 0003880504
【0103】
さらにボキャブラリーの変更、自動生成のXSLT・XML Schema・WSDLの修正を行う必要があるが、プロトタイピングを行い、詳細な開発のベースとしての利用は可能であろう。
このようにWEBフォームを用いると完全ではないものの、比較的容易にWEBサービスのプロトタイピングを行うことができる。これはこれまでもCHIP等の技術でも一部実現可能である。
【0104】
問題は、検索結果の部分104(図33)である。検索結果の部分104は変動するコンテンツがダイナミックに生成される部分であり、パターン化が非常に困難である。しかし、本発明を用いることにより、定常ノード、更新ノード、付加ノードを判別し、さらには繰り返しパターンを検出することができるため、以下のようなパターンを自動的に生成することができる(図34のパターンによる切り出し(5))。次のパターン記述は、図34のパターンによる切り出し(5)に相当するものであり、RelaxNGではなく、独自形式である。
【0105】
Figure 0003880504
Figure 0003880504
【0106】
このパターンから、結果部分の切り出しを行い、出力のXMLをここから生成することができる。そして、繰り返し部分はitemize、繰り返しから外れる部分の更新部分を特別なタグで出力するXML Schema(図34 (4))及び切り出された部分HTMLをXML形式に変換するためのXSLT (図34 (3))、XMLをHTMLに復号するためのXSLT (図34 (6))を自動生成することが可能である。
【0107】
[その他の実施例4:情報統合(Information Aggregator)への適用:
ウェブ・ページの一部分を切り出して、情報を統合することは、IBM PortalServer等のポータル構築システムや、IBM mySiteOutliner等の情報抽出・提示システムにおいて広く行われている。本発明はこれらのシステムに応用することが可能である。例えば、IBM mySiteOutlinerでは、ウェブ・ページから、ヘッドライン・リンク・リストを抜き出すために以下のようなXPathを定義ファイルの中に保持している。
【0108】
Figure 0003880504
【0109】
切り出し部位の指定はXPath の「 /html[1]/body[1]/table[2]/tbody[1]/tr[1]/td[2]/table[2]/tbody[1]/tr[5]/td[2]/table[1]/tbody[1]/tr[1]/td[1]/table[2]/tbody[1]/tr[2]/td[1]」に依存している。通常このようなXPath形式はレイアウトの変更に対して弱く、メンテナンスに大きな負担がかかるという問題がある。つまり、レイアウトの変更を人間が監視し、変更があった場合には人手で再度正しいXPathをauthoringする必要がある。mySiteOutlinerの場合は、対象としているのが自社内ページコンテンツの切り出してあるため、レイアウト変更が事前にわかるため、変更されると同時に修正されたXMLファイルをユーザに配信することでこの問題に対処している。しかし管理コストの問題が依然として存在している。
【0110】
これに対し、本発明を適用することによって以下のように、マッチング・パターンを自動生成可能である。このパターンは対象としているテーブルのコンテンツ、とくに定常的な「新着情報」といった文字列や、テーブルのアトリビュートを手がかりとしているため、これらに対する変更が発生しない限りずれることはない。現状でずれが発生してしまうbody直下へのtableの挿入、上位テーブルタグにおけるtrの挿入、視覚的には影響がないdivタグspanタグの上位ノードへの挿入に対して完全にロバストである点で優れている。
Figure 0003880504
【0111】
このパターンにおいてロバストネスが損なわれる場合として例えば、以下のようなケースが考えられる。
(a)同一のパターンがマッチするコンテンツが同一ページ上に挿入される。
(b)背景色、フォントカラー等アトリビュートの変更
(a)に関しては、視覚的にも同一の領域が出現することを意味しており、稀なケースであると考えられる。2に関しては再度パターンを生成するほか対処方法がない。しかし本発明では、レイアウト変更前のページをも統計量算出に用いることで両方のレイアウトに対してロバストなパターンを生成できる可能性がある点で2の問題に対しても対処可能である。
【0112】
まとめとして本発明の構成に関して以下の事項を開示する。
(1):ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う構造化・階層化コンテンツ用処理装置であって、
マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定手段、前記ターゲット・コンテンツに対する過去の複数個の構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出手段、
過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成手段、
前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類手段、及び
該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成手段、
を有していることを特徴とする構造化・階層化コンテンツ用処理装置。
(2):前記所定の処理とは、該構造化・階層化コンテンツのコンテンツ部分への関連情報の関連付けであることを特徴とする(1)記載の構造化・階層化コンテンツ用処理装置。
(3):前記関連情報はアノテーションを含むことを特徴とする(2)記載の構造化・階層化コンテンツ用処理装置。
(4):前記所定の処理とは、構造化・階層化コンテンツのコンテンツ部分を他の構造化・階層化コンテンツに利用するために該構造化・階層化コンテンツの該コンテンツ部分をコピーする処理であることを特徴とする(1)記載の構造化・階層化コンテンツ用処理装置。
(5):構造化・階層化コンテンツとはウェブ・コンテンツであることを特徴とする(1)〜(4)のいずれかに記載の構造化・階層化コンテンツ用処理装置。
【0113】
(6):ターゲット・サブツリーのノードを、定常ノード、更新ノード及び付加ノードに分類する前記分類手段を有していることを特徴とする(1)〜(5)のいずれかに記載の構造化・階層化コンテンツ用処理装置。
(7):検出する前記出現態様として、(N1)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に同一となって出現態様、及び(N2)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に異なっている出現態様を含む前記出現態様検出手段、及び
統計情報により(N1)の出現態様による出現頻度が第1の閾値以上であると判明したノードは定常ノードに分類し、統計情報により(N2)の出現態様による出現頻度が第2の閾値以上であると判明したノードは更新ノードに分類し、定常ノード及び更新ノード以外のノードは付加ノードに分類する前記分類手段、
を有していることを特徴とする(6)記載の構造化・階層化コンテンツ用処理装置。
(8):前記マッチング・パターン生成手段は、
定常ノード、更新ノード及び付加ノードの分類に基づいてターゲット・サブツリーにおける繰り返し部分を検出する繰り返し部分検出手段、及び
該繰り返し部分の存在情報を含む前記マッチング・パターンを生成する繰り返し情報付きマッチング・パターン生成手段、
を有していることを特徴とする(6)又は(7)記載の構造化・階層化コンテンツ用処理装置。
(9):前記分類手段は、
イメージに係るノードについて、該ノードが空白領域を確保するためのスペーサ用イメージに係るノードであるか否かを検出するスペーサ用イメージ検出手段、
イメージに係るノードについて、該ノードが繰り返して同一サイズで複数個使用されるビュレット・イメージに係るノードであるか否かを検出するビュレット・イメージ検出手段、
スペーサ用イメージに係るノードは付加ノードと分類する第1の分類付け手段、
ビュレット・イメージに係るノード同士は、その表示内容が異なっても定常ノード、更新ノード又は付加ノードの同一分類に割り当てる第2の分類付け手段、を有していることを特徴とする(8)記載の構造化・階層化コンテンツ用処理装置。
(10):ターゲット・コンテンツに対する過去の構造化・階層化コンテンツが存在しない場合には、過去の各構造化・階層化コンテンツの代わりに該ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択しターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーと対照する前記対照手段、
を有していることを特徴とする(1)〜(9)のいずれかに記載の構造化・階層化コンテンツ用処理装置。
【0114】
(11):ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う構造化・階層化コンテンツ用処理装置であって、
マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定手段、
前記ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出手段、
過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成手段、
前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類手段、及び
該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成手段、
を有していることを特徴とする構造化・階層化コンテンツ用処理装置。
(12):ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う構造化・階層化コンテンツ用処理方法であって、
マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定ステップ、
前記ターゲット・コンテンツに対する過去の複数個の構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出ステップ、
過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成ステップ、
前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類ステップ、及び
該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成ステップ、
を有していることを特徴とする構造化・階層化コンテンツ用処理方法。
(13):前記所定の処理とは、該構造化・階層化コンテンツのコンテンツ部分への関連情報の関連付けであることを特徴とする(12)記載の構造化・階層化コンテンツ用処理方法。
(14):前記関連情報はアノテーションを含むことを特徴とする(13)記載の構造化・階層化コンテンツ用処理方法。
(15):前記所定の処理とは、構造化・階層化コンテンツのコンテンツ部分を他の構造化・階層化コンテンツに利用するために該構造化・階層化コンテンツの該コンテンツ部分をコピーする処理であることを特徴とする(12)記載の構造化・階層化コンテンツ用処理方法。
【0115】
(16):構造化・階層化コンテンツとはウェブ・コンテンツであることを特徴とする(12)〜(15)のいずれかに記載の構造化・階層化コンテンツ用処理方法。
(17):ターゲット・サブツリーのノードを、定常ノード、更新ノード及び付加ノードに分類する前記分類ステップを有していることを特徴とする(12)〜(16)のいずれかに記載の構造化・階層化コンテンツ用処理方法。
(18):検出する前記出現態様として、(N1)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に同一となって出現態様、及び(N2)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に異なっている出現態様を含む前記出現態様検出ステップ、及び
統計情報により(N1)の出現態様による出現頻度が第1の閾値以上であると判明したノードは定常ノードに分類し、統計情報により(N2)の出現態様による出現頻度が第2の閾値以上であると判明したノードは更新ノードに分類し、定常ノード及び更新ノード以外のノードは付加ノードに分類する前記分類ステップ、
を有していることを特徴とする(17)記載の構造化・階層化コンテンツ用処理方法。
(19):前記マッチング・パターン生成ステップは、
定常ノード、更新ノード及び付加ノードの分類に基づいてターゲット・サブツリーにおける繰り返し部分を検出する繰り返し部分検出ステップ、及び
該繰り返し部分の存在情報を含む前記マッチング・パターンを生成する繰り返し情報付きマッチング・パターン生成ステップ、
を有していることを特徴とする(17)又は(18)記載の構造化・階層化コンテンツ用処理方法。
(20):前記分類ステップは、
イメージに係るノードについて、該ノードが空白領域を確保するためのスペーサ用イメージに係るノードであるか否かを検出するスペーサ用イメージ検出ステップ、
イメージに係るノードについて、該ノードが繰り返して同一サイズで複数個使用されるビュレット・イメージに係るノードであるか否かを検出するビュレット・イメージ検出ステップ、
スペーサ用イメージに係るノードは付加ノードと分類する第1の分類付けステップ、
ビュレット・イメージに係るノード同士は、その表示内容が異なっても定常ノード、更新ノード又は付加ノードの同一分類に割り当てる第2の分類付けステップ、
を有していることを特徴とする(19)記載の構造化・階層化コンテンツ用処理方法。
【0116】
(21):ターゲット・コンテンツに対する過去の構造化・階層化コンテンツが存在しない場合には、過去の各構造化・階層化コンテンツの代わりに該ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択しターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーと対照する前記対照ステップ、
を有していることを特徴とする(12)〜(20)のいずれかに記載の構造化・階層化コンテンツ用処理方法。
(22):ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う構造化・階層化コンテンツ用処理方法であって、
マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定ステップ、
前記ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出ステップ、
過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成ステップ、
前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類ステップ、及び
該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成ステップ、
を有していることを特徴とする構造化・階層化コンテンツ用処理方法。
(23):(12)〜(22)のいずれかに記載の構造化・階層化コンテンツ
【0117】
【発明の効果】
本発明では、一部切り出し及び共通のアノテーションの使い回し等の処理対象としての構造化・階層化コンテンツであるか否かを同定する(identify)ために、XPathではなく、マッチング・パターンを使用する。結果、同定対象としての構造化・階層化コンテンツにおいて、同定コンテンツ部分が適宜、移動する場合にも、柔軟に対処できる。
【0118】
本発明では、ターゲット・コンテンツに対する過去及び/又は隣接の構造化・階層化コンテンツを調べ、ターゲット・サブツリーにおける各ノードについての出現態様及び該出現態様の出現頻度に係る統計情報に基づいて各ノードを分類して、マッチング・パターンを生成する。結果、構造化・階層化コンテンツであるか否かを同定するために、有意義なマッチング・パターンを生成することがふできる。
【図面の簡単な説明】
【図1】ウェブ・コンテンツ処理装置14を装備する構造化・階層化コンテンツ用処理システム10の構成図ある。
【図2】構造化・階層化コンテンツ用処理装置18のブロック図である。
【図3】マッチング・パターン生成手段30のより具体的なブロック図である。
【図4】分類手段29のより具体的なブロック図である。
【図5】過去の構造化・階層化コンテンツに基づいてマッチング・パターンを生成する方法のフローチャートである。
【図6】図5のマッチング・パターン生成方法において生成されたマッチング・パターンを使用するマッチング判定方法のフローチャートである。
【図7】図5のマッチング・パターン生成ステップ(S51)をより具体的に示すフローチャート部分である。
【図8】分類手段29のより具体的なブロック図である。
【図9】ターゲット・コンテンツに対して隣接する複数個の構造化・階層化コンテンツに基づいてマッチング・パターンを生成する方法のフローチャートである。
【図10】ウェブ・コンテンツ用処理装置74の構成図である。
【図11】DPマッチングの概略説明図である。
【図12】差分演算にDPマッチングを適用した概略説明図である。
【図13】sahi.comのウェブ・コンテンツについての第1の差分演算例を示す図である。
【図14】asahi.comのウェブ・コンテンツについての第2の差分演算例を示す図である。
【図15】DOMツリーの一例である。
【図16】直列化されたノードのベクトルと各段の距離ベクトルとの関係を示す図である。
【図17】各段の距離ベクトルを対比して示す図である。
【図18】繰り返し部の端部に付加ノード部分をもつウェブ・コンテンツを示す図である。
【図19】ビュレットが変動する列挙パターンももつウェブ・コンテンツを示す図である。
【図20】繰り返しを含むウェブ・コンテンツの例としてニュース・ライコス(News LYCOS)のイメージを示す図である。
【図21】繰り返しを含むウェブ・コンテンツの例としてCNN.COMのウェブ・コンテンツのイメージを示す図である。
【図22】td内にtableが構造化・階層化コンテンツ用処理システム10個以上連続するウェブ・コンテンツのイメージを示す図である。
【図23】asahi.comのINDEXページのイメージと差分結果を対比して示す図である。
【図24】asahi.comのスポーツ・ページのイメージを示す図である。
【図25】図24のイメージに基づく差分結果を示す図である。
【図26】フリー・アノテーションの概略説明図である。
【図27】すでに公知のダイナミック・マッチングと図26のフリー・アノテーションとを組み合わせたフェイル・セーフ付きアノテーション処理についての概略説明図である。
【図28】フリー・アノテーション用サイト・パターン・アナライザ(SPA2)の画面予想図を示す図である。
【図29】ダイナミック・マッチング手法にマッチング・パターンによるマッチングを組み込んだマッチング・システムの構成図である。
【図30】或るウェブ・コンテンツの所定領域を隣接ページとの差分演算処理した結果を示す図である。
【図31】株価情報のウェブ・コンテンツから株価の数値を切り出すことについてのマッチング・パターンの利用説明図である。
【図32】所定の定常ノードが移動するウェブ・コンテンツの例を示す図である。
【図33】部分切り出しに利用する利用元のウェブ・コンテンツを例を示す図である。
【図34】図33のウェブ・コンテンツからWeb サービスを自動生成する処理過程を示す図である。
【符号の説明】
10 構造化・階層化コンテンツ用処理システム
12 インターネット
14 ウェブ・コンテンツ処理装置
15 ウェブ・クライアント
16 ウェブ・サーバ
18 構造化・階層化コンテンツ用処理装置
20 ターゲット・コンテンツ
21 ターゲット・コンテンツ部分
25 ターゲット設定手段
26 構造化・階層化コンテンツ・データベース
27 出現態様検出手段
28 統計情報生成手段
29 分類手段
30 マッチング・パターン生成手段
34 繰り返し部分検出手段
35 繰り返し情報付きマッチング・パターン生成手段
38 スペーサ用イメージ検出手段
39 ビュレット・イメージ検出手段
40 第1の分類付け手段
41 第2の分類付け手段
42 分類出力手段

Claims (23)

  1. ネットワークを介して配信される構造化・階層化コンテンツの記述と、マッチング・パターンの記述とに基づき、マッチング・パターンの記述に対応する記述が前記構造化・階層化コンテンツの記述に含まれているか否かを判定し、該判定が正であれば、マッチング・パターンの記述に対応する構造化・階層化コンテンツ側記述部分をマッチング・コンテンツ部分とし、該マッチング・コンテンツ部分に対して所定の処理を行う構造化・階層化コンテンツ用処理装置であって、
    マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定手段、
    前記ターゲット・コンテンツに対する過去の複数個の構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出手段、
    過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成手段、
    前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類手段、及び
    該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成手段、
    を有していることを特徴とする構造化・階層化コンテンツ用処理装置。
  2. 前記所定の処理とは、該構造化・階層化コンテンツのコンテンツ部分への関連情報の関連付けであることを特徴とする請求項1記載の構造化・階層化コンテンツ用処理装置。
  3. 前記関連情報はアノテーションを含むことを特徴とする請求項2記載の構造化・階層化コンテンツ用処理装置。
  4. 前記所定の処理とは、構造化・階層化コンテンツのコンテンツ部分を他の構造化・階層化コンテンツに利用するために該構造化・階層化コンテンツの該コンテンツ部分をコピーする処理であることを特徴とする請求項1記載の構造化・階層化コンテンツ用処理装置。
  5. 構造化・階層化コンテンツとはウェブ・コンテンツであることを特徴とする請求項1記載の構造化・階層化コンテンツ用処理装置。
  6. ターゲット・サブツリーのノードを、定常ノード、更新ノード及び付加ノードに分類する前記分類手段を有していることを特徴とする請求項1記載の構造化・階層化コンテンツ用処理装置。
  7. 検出する前記出現態様として、(N1)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に同一となっている出現態様、及び(N2)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に異なっている出現態様を含む前記出現態様検出手段、及び
    統計情報により(N1)の出現態様による出現頻度が第1の閾値以上であると判明したノードは定常ノードに分類し、統計情報により(N2)の出現態様による出現頻度が第2の閾値以上であると判明したノードは更新ノードに分類し、定常ノード及び更新ノード以外のノードは付加ノードに分類する前記分類手段、
    を有していることを特徴とする請求項6記載の構造化・階層化コンテンツ用処理装置。
  8. 前記マッチング・パターン生成手段は、
    定常ノード、更新ノード及び付加ノードの分類に基づいてターゲット・サブツリーにおける繰り返し部分を検出する繰り返し部分検出手段、及び
    該繰り返し部分の存在情報を含む前記マッチング・パターンを生成する繰り返し情報付きマッチング・パターン生成手段、
    を有していることを特徴とする請求項6記載の構造化・階層化コンテンツ用処理装置。
  9. 前記分類手段は、
    イメージに係るノードについて、該ノードが空白領域を確保するためのスペーサ用イメージに係るノードであるか否かを検出するスペーサ用イメージ検出手段、
    イメージに係るノードについて、該ノードが繰り返して同一サイズで複数個使用されるビュレット・イメージに係るノードであるか否かを検出するビュレット・イメージ検出手段、
    スペーサ用イメージに係るノードは付加ノードと分類する第1の分類付け手段、
    ビュレット・イメージに係るノード同士は、その表示内容が異なっても定常ノード、更新ノード又は付加ノードの同一分類に割り当てる第2の分類付け手段、
    を有していることを特徴とする請求項8記載の構造化・階層化コンテンツ用処理装置。
  10. ターゲット・コンテンツに対する過去の構造化・階層化コンテンツが存在しない場合には、過去の各構造化・階層化コンテンツの代わりに該ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択しターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーと対照する前記対照手段、
    を有していることを特徴とする請求項1記載の構造化・階層化コンテンツ用処理装置。
  11. ネットワークを介して配信される構造化・階層化コンテンツの記述と、マッチング・パターンの記述とに基づき、マッチング・パターンの記述に対応する記述が前記構造化・階層化コンテンツの記述に含まれているか否かを判定し、該判定が正であれば、マッチング・パターンの記述に対応する構造化・階層化コンテンツ側記述部分をマッチング・コンテンツ部分とし、該マッチング・コンテンツ部分に対して所定の処理を行う構造化・階層化コンテンツ用処理装置であって、
    マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定手段、
    前記ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出手段、
    過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成手段、
    前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類手段、及び
    該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成手段、
    を有していることを特徴とする構造化・階層化コンテンツ用処理装置。
  12. ネットワークを介して配信される構造化・階層化コンテンツが所定のマッチング・パターンとマッチするコンテンツ部分を含むか否かを判定し、該判定が正であれば該構造化・階層化コンテンツについて所定の処理を行う構造化・階層化コンテンツ用処理方法であって、
    コンピュータが、マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定ステップ、
    前記コンピュータが、前記ターゲット・コンテンツに対する過去の複数個の構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと過去の各構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出ステップ、
    前記コンピュータが、過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成ステップ、
    前記コンピュータが、前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類ステップ、及び
    前記コンピュータが、該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成ステップ、
    を有していることを特徴とする構造化・階層化コンテンツ用処理方法。
  13. 前記所定の処理とは、該構造化・階層化コンテンツのコンテンツ部分への関連情報の関連付けであることを特徴とする請求項12記載の構造化・階層化コンテンツ用処理方法。
  14. 前記関連情報はアノテーションを含むことを特徴とする請求項13記載の構造化・階層化コンテンツ用処理方法。
  15. 前記所定の処理とは、構造化・階層化コンテンツのコンテンツ部分を他の構造化・階層化コンテンツに利用するために該構造化・階層化コンテンツの該コンテンツ部分をコピーする処理であることを特徴とする請求項12記載の構造化・階層化コンテンツ用処理方法。
  16. 構造化・階層化コンテンツとはウェブ・コンテンツであることを特徴とする請求項12記載の構造化・階層化コンテンツ用処理方法。
  17. 前記コンピュータが、ターゲット・サブツリーのノードを、定常ノード、更新ノード及び付加ノードに分類する前記分類ステップを有していることを特徴とする請求項12記載の構造化・階層化コンテンツ用処理方法。
  18. 検出する前記出現態様として、(N1)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に同一となっている出現態様、及び(N2)被検出ノードがターゲット・コンテンツ部分及び対照構造化・階層化コンテンツの両方に出現しその内容が相互に異なっている出現態様を含む前記出現態様検出ステップ、及び
    前記コンピュータが、統計情報により(N1)の出現態様による出現頻度が第1の閾値以上であると判明したノードは定常ノードに分類し、統計情報により(N2)の出現態様による出現頻度が第2の閾値以上であると判明したノードは更新ノードに分類し、定常ノード及び更新ノード以外のノードは付加ノードに分類する前記分類ステップ、
    を有していることを特徴とする請求項17記載の構造化・階層化コンテンツ用処理方法。
  19. 前記マッチング・パターン生成ステップは、
    前記コンピュータが、定常ノード、更新ノード及び付加ノードの分類に基づいてターゲット・サブツリーにおける繰り返し部分を検出する繰り返し部分検出ステップ、及び
    前記コンピュータが、該繰り返し部分の存在情報を含む前記マッチング・パターンを生成する繰り返し情報付きマッチング・パターン生成ステップ、
    を有していることを特徴とする請求項17記載の構造化・階層化コンテンツ用処理方法。
  20. 前記分類ステップは、
    前記コンピュータが、イメージに係るノードについて、該ノードが空白領域を確保するためのスペーサ用イメージに係るノードであるか否かを検出するスペーサ用イメージ検出ステップ、
    前記コンピュータが、イメージに係るノードについて、該ノードが繰り返して同一サイズで複数個使用されるビュレット・イメージに係るノードであるか否かを検出するビュレット・イメージ検出ステップ、
    前記コンピュータが、スペーサ用イメージに係るノードは付加ノードと分類する第1の分類付けステップ、
    前記コンピュータが、ビュレット・イメージに係るノード同士は、その表示内容が異なっても定常ノード、更新ノード又は付加ノードの同一分類に割り当てる第2の分類付けステップ、
    を有していることを特徴とする請求項19記載の構造化・階層化コンテンツ用処理方法。
  21. 前記コンピュータが、ターゲット・コンテンツに対する過去の構造化・階層化コンテンツが存在しない場合には、過去の各構造化・階層化コンテンツの代わりに該ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択しターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーと対照する前記対照ステップ、
    を有していることを特徴とする請求項12記載の構造化・階層化コンテンツ用処理方法。
  22. ネットワークを介して配信される構造化・階層化コンテンツの記述と、マッチング・パターンの記述とに基づき、マッチング・パターンの記述に対応する記述が前記構造化・階層化コンテンツの記述に含まれているか否かを判定し、該判定が正であれば、マッチング・パターンの記述に対応する構造化・階層化コンテンツ側記述部分をマッチング・コンテンツ部分とし、該マッチング・コンテンツ部分に対して所定の処理を行う構造化・階層化コンテンツ用処理方法であって、
    コンピュータが、マッチング・パターンを抽出しようとする構造化・階層化コンテンツ(以下、該構造化・階層化コンテンツを「ターゲット・コンテンツ」と言う。)におけるマッチング・パターンの抽出部分としてのターゲット・コンテンツ部分を含む範囲に係るターゲット・サブツリーを設定するターゲット・サブツリー設定ステップ、
    前記コンピュータが、前記ターゲット・コンテンツに対する複数個の隣接構造化・階層化コンテンツを選択し前記ターゲット・コンテンツに係るターゲット・サブツリーと各隣接構造化・階層化コンテンツに係るツリーとを対照してターゲット・サブツリーの各ノードの出現態様を検出する出現態様検出ステップ、
    前記コンピュータが、過去の複数個の構造化・階層化コンテンツに基づいて該ターゲット・サブツリーにおける各ノードについての出現態様の出現頻度に係る統計情報を生成する統計情報生成ステップ、
    前記コンピュータが、前記出現態様検出結果及び前記統計情報に基づいてターゲット・サブツリーの各ノードを分類する分類ステップ、及び
    前記コンピュータが、該分類に基づいて前記ターゲット・コンテンツ部分についてのマッチング・パターンを生成するマッチング・パターン生成ステップ、
    を有していることを特徴とする構造化・階層化コンテンツ用処理方法。
  23. 請求項12〜22のいずれかに記載の構造化・階層化コンテンツ用処理方法の各ステップをコンピュータに実行させるプログラム。
JP2002312331A 2002-10-28 2002-10-28 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム Expired - Fee Related JP3880504B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002312331A JP3880504B2 (ja) 2002-10-28 2002-10-28 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム
US10/692,222 US7502995B2 (en) 2002-10-28 2003-10-23 Processing structured/hierarchical content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002312331A JP3880504B2 (ja) 2002-10-28 2002-10-28 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2004145794A JP2004145794A (ja) 2004-05-20
JP3880504B2 true JP3880504B2 (ja) 2007-02-14

Family

ID=32457264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002312331A Expired - Fee Related JP3880504B2 (ja) 2002-10-28 2002-10-28 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US7502995B2 (ja)
JP (1) JP3880504B2 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3703080B2 (ja) * 2000-07-27 2005-10-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブコンテンツを簡略化するための方法、システムおよび媒体
US7231590B2 (en) * 2004-02-11 2007-06-12 Microsoft Corporation Method and apparatus for visually emphasizing numerical data contained within an electronic document
BRPI0401465A (pt) * 2004-04-20 2006-02-21 Embria Informatica Ltda sistema para administrar interações entre usuários e aplicações de software em um ambiente web
US7536636B2 (en) * 2004-04-26 2009-05-19 Kodak Graphic Communications Canada Company Systems and methods for comparing documents containing graphic elements
US7299406B2 (en) * 2004-06-02 2007-11-20 Research In Motion Limited Representing spreadsheet document content
JP4309818B2 (ja) * 2004-07-15 2009-08-05 株式会社東芝 構造化文書管理装置、検索装置、記憶方法、検索方法及びプログラム
JP2008508639A (ja) * 2004-08-02 2008-03-21 株式会社ジャストシステム 所望の機能を実現する排他プラグインを追加するための文書処理及び管理方法
WO2006043664A1 (ja) * 2004-10-22 2006-04-27 Access Co., Ltd. パラメータ設定、記憶方法
WO2006051954A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation 文書処理装置及び文書処理方法
WO2006051870A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation データ処理装置、文書処理装置及び文書処理方法
US8302011B2 (en) * 2005-01-24 2012-10-30 A9.Com, Inc. Technique for modifying presentation of information displayed to end users of a computer system
JP4755427B2 (ja) * 2005-02-23 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース・アクセス・システム、データベース・アクセス方法
JP4586652B2 (ja) * 2005-07-01 2010-11-24 日本電信電話株式会社 Rss文書の閲覧方法及び装置及びプログラム及びプログラムを格納した記憶媒体
KR100657324B1 (ko) * 2005-07-04 2006-12-14 삼성전자주식회사 XHTML-Print 데이터를 이용한 화상형성방법 및시스템
US7814328B1 (en) * 2005-09-12 2010-10-12 Microsoft Corporation Digital signatures for embedded code
US8060747B1 (en) 2005-09-12 2011-11-15 Microsoft Corporation Digital signatures for embedded code
US7836390B2 (en) * 2006-01-26 2010-11-16 Microsoft Corporation Strategies for processing annotations
US8205087B2 (en) * 2006-02-27 2012-06-19 Microsoft Corporation Tool for digitally signing multiple documents
US8190902B2 (en) * 2006-02-27 2012-05-29 Microsoft Corporation Techniques for digital signature formation and verification
US8429526B2 (en) * 2006-04-10 2013-04-23 Oracle International Corporation Efficient evaluation for diff of XML documents
US9561351B2 (en) * 2006-05-31 2017-02-07 Advanced Cardiovascular Systems, Inc. Drug delivery spiral coil construct
US7949301B2 (en) * 2006-07-21 2011-05-24 Research In Motion Limited Mobile communications device access from personal computer
JP4520450B2 (ja) * 2006-12-05 2010-08-04 富士通株式会社 アノテーション管理プログラム、アノテーション管理装置、アノテーション管理方法及びアノテーション表示プログラム
TW200836075A (en) * 2007-02-16 2008-09-01 Esobi Inc Method of converting hypertext markup language web page into pure text and system thereof
US20080313036A1 (en) * 2007-06-13 2008-12-18 Marc Mosko System and method for providing advertisements in online and hardcopy mediums
US7949560B2 (en) * 2007-06-13 2011-05-24 Palo Alto Research Center Incorporated System and method for providing print advertisements
JP4983436B2 (ja) * 2007-06-28 2012-07-25 ブラザー工業株式会社 データ構造、言語ファイル、情報処理装置および印刷装置
US8112388B2 (en) * 2007-08-03 2012-02-07 Sap Ag Dependency processing of computer files
US9224149B2 (en) * 2007-10-15 2015-12-29 Google Inc. External referencing by portable program modules
US9384175B2 (en) * 2008-02-19 2016-07-05 Adobe Systems Incorporated Determination of differences between electronic documents
TWI387890B (zh) * 2008-12-01 2013-03-01 Esobi Inc A method of converting a hypertext label language file into a plain text file
US8943045B2 (en) * 2009-01-28 2015-01-27 Oracle International Corporation Mechanisms for efficient autocompletion in XML search applications
KR20100138700A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
JP2011100403A (ja) * 2009-11-09 2011-05-19 Sony Corp 情報処理装置、情報抽出方法、プログラム及び情報処理システム
US9137206B2 (en) * 2009-11-20 2015-09-15 International Business Machines Corporation Service registry for saving and restoring a faceted selection
US9754045B2 (en) * 2011-04-01 2017-09-05 Harman International (China) Holdings Co., Ltd. System and method for web text content aggregation and presentation
US10013444B2 (en) * 2012-03-02 2018-07-03 International Business Machines Corporation Modifying an index node of a hierarchical dispersed storage index
US10163063B2 (en) 2012-03-07 2018-12-25 International Business Machines Corporation Automatically mining patterns for rule based data standardization systems
US10078626B1 (en) * 2012-11-27 2018-09-18 Amazon Technologies, Inc. Automated layout testing of content
US9880994B1 (en) 2013-06-21 2018-01-30 Nativo, Inc. Detecting compatible layouts for content-based native ads
CN105095206A (zh) * 2014-04-18 2015-11-25 富士通株式会社 信息处理方法以及信息处理装置
US10586071B2 (en) * 2017-11-24 2020-03-10 International Business Machines Corporation Safeguarding confidential information during a screen share session
US11645628B2 (en) * 2019-05-16 2023-05-09 Microsoft Technology Licensing, Llc Translation of time between calendar systems
US11341125B2 (en) * 2019-06-01 2022-05-24 Apple Inc. Methods and system for collection view update handling using a diffable data source
US11514405B1 (en) 2021-05-14 2022-11-29 Microsoft Technology Licensing, Llc Map calendar graphical user interface with dynamic time mold functionality
US11681424B2 (en) 2021-05-14 2023-06-20 Microsoft Technology Licensing, Llc Map calendar graphical user interface with content-variable view levels

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6970602B1 (en) * 1998-10-06 2005-11-29 International Business Machines Corporation Method and apparatus for transcoding multimedia using content analysis
US6826553B1 (en) * 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
JP2000227996A (ja) 1999-02-08 2000-08-15 Nippon Telegr & Teleph Corp <Ntt> 交通情報同報通信方法
FR2790846B1 (fr) * 1999-03-09 2001-05-04 S F C E Procede d'identification de document
JP4468542B2 (ja) 2000-03-17 2010-05-26 株式会社ダイヘン エアープラズマ切断機
US6826568B2 (en) * 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
JP4039484B2 (ja) * 2002-02-28 2008-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション XPath評価方法、これを用いたXML文書処理システム及びプログラム
US7171404B2 (en) * 2002-06-13 2007-01-30 Mark Logic Corporation Parent-child query indexing for XML databases
WO2003107174A1 (en) * 2002-06-13 2003-12-24 Cerisent Corporation Xml database mixed structural-textual classification system
US7437664B2 (en) * 2002-06-18 2008-10-14 Microsoft Corporation Comparing hierarchically-structured documents
US20040010752A1 (en) * 2002-07-09 2004-01-15 Lucent Technologies Inc. System and method for filtering XML documents with XPath expressions
US7620632B2 (en) * 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US8108765B2 (en) * 2006-10-11 2012-01-31 International Business Machines Corporation Identifying and annotating shared hierarchical markup document trees

Also Published As

Publication number Publication date
JP2004145794A (ja) 2004-05-20
US20050050044A1 (en) 2005-03-03
US7502995B2 (en) 2009-03-10

Similar Documents

Publication Publication Date Title
JP3880504B2 (ja) 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム
US7464078B2 (en) Method for automatically extracting by-line information
US7426513B2 (en) Client-based objectifying of text pages
EP1428139B1 (en) System and method for extracting content for submission to a search engine
US7058695B2 (en) System and media for simplifying web contents, and method thereof
Chen et al. Detecting web page structure for adaptive viewing on small form factor devices
US8051371B2 (en) Document analysis system and document adaptation system
US7069501B2 (en) Structured document processing system and structured document processing method
US7055094B2 (en) Virtual tags and the process of virtual tagging utilizing user feedback in transformation rules
US7155491B1 (en) Indirect address rewriting
US7861151B2 (en) Web site structure analysis
US7739354B2 (en) Adding data to text pages by means of an intermediary proxy
US7730395B2 (en) Virtual tags and the process of virtual tagging
EP2309400A1 (en) Pattern recognition in web search engine result pages
US20070083810A1 (en) Web content adaptation process and system
US20090248707A1 (en) Site-specific information-type detection methods and systems
US20060184639A1 (en) Web content adaption process and system
JP2010501096A (ja) ラッパー生成およびテンプレート検出の協同最適化
Myllymaki et al. Robust web data extraction with xml path expressions
US7216118B2 (en) Resilient document queries
EP1573582B1 (en) Method for searching for a desired element in a document
KR20120113818A (ko) 검색 결과 제공 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
Han et al. Wrapping Data into XML

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061025

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20061025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061107

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees