(57)【要約】【課題】コンテンツが変更されたとしても、アノテーションを復元するコンテンツ上の位置を特定できるアノテーション付与方法、アノテーション復元方法、アノテーション付与装置及びアノテーション復元装置を提供することを課題とする。【解決手段】アノテーション付与方法であって、コンピュータに、構造を有するコンテンツ上のいずれかの位置についてアノテーションを付与する際に、コンテンツにおける位置の下位側の構造をアノテーションと関連づけて記憶する、処理を実行させることにより上記課題を解決する。【選択図】  図７
2014081958.tif 000002
【特許請求の範囲】
【請求項１】
アノテーション付与方法であって、
コンピュータに、
構造を有するコンテンツ上のいずれかの位置についてアノテーションを付与する際に、前記コンテンツにおける前記位置の下位側の構造を前記アノテーションと関連づけて記憶する、
処理を実行させることを特徴とするアノテーション付与方法。
【請求項２】
記憶される前記位置の下位側の構造は、前記位置の下位側の複数のパスの中から出現頻度に応じて選択された１つのパスに関する構造である、ことを特徴とする請求項１記載のアノテーション付与方法。
【請求項３】
記憶される前記位置の下位側の構造は、前記位置の下位側の複数のパスの中から出現頻度が最も少ない１つのパスに関する構造である、ことを特徴とする請求項１記載のアノテーション付与方法。
【請求項４】
記憶される前記位置の下位側の構造は、前記位置を頂点とする木構造の一部であることを特徴とする請求項１記載のアノテーション付与方法。
【請求項５】
アノテーション復元方法であって、
コンピュータに、
コンテンツについてアノテーションが付与された位置の下位側の構造の記憶情報に基づいて、アノテーション復元対象のコンテンツ中に、記憶された前記構造に合致する構造が含まれることを検出すると、前記位置に対応づけてアノテーションを出力する、
処理を実行させることを特徴とするアノテーション復元方法。
【請求項６】
構造を有するコンテンツ上のいずれかの位置についてアノテーションを付与する際に、前記コンテンツにおける前記位置の下位側の構造を前記アノテーションと関連づけて記憶部に記憶させる手段、
を備えたことを特徴とするアノテーション付与装置。
【請求項７】
コンテンツについてアノテーションが付与された位置の下位側の構造の記憶情報に基づいて、アノテーション復元対象のコンテンツ中に、記憶された前記構造に合致する構造が含まれることが検出されると、前記位置に対応づけてアノテーションを表示部に出力する制御を行う手段、
を備えたことを特徴とするアノテーション復元装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者からの付与要求に基づき、コンテンツに基づく表示にアノテーションを付与し、利用者からの参照要求に基づき、コンテンツに基づく表示にアノテーションを復元させるアノテーション付与方法、アノテーション復元方法、アノテーション付与装置及びアノテーション復元装置に関する。
【背景技術】
【０００２】
近年、インターネットやイントラネット等のネットワーク上のコンテンツ（例えばＨＴＭＬデータ）に基づく表示（例えばＷｅｂページ）に二次情報としてアノテーション（注釈）を付与するＷｅｂアノテーション技術が、よく利用されるようになった。なお、アノテーションとは、コンテンツ（ＨＴＭＬデータ）に基づく表示（Ｗｅｂページ）に貼り付けられる内容をいう。
【０００３】
Ｗｅｂアノテーション技術は、ネットワーク上のコンテンツに対してコンテンツの作者と異なる別の第三者が、コンテンツに変更を加えることなく、Ｗｅｂページに対して付箋（コメントや意見など）、下線、マーカ等のアノテーションを付与し、Ｗｅｂページの閲覧（参照）時に、Ｗｅｂページに付与したアノテーションを復元させるものである。
【０００４】
図１は付箋紙のような形式のアノテーションが表示されたＷｅｂページの一例の画面イメージ図である。図１中、アノテーション１はＷｅｂページ上に付箋紙のような形式で表示されている。
【０００５】
Ｗｅｂアノテーション技術はアノテーション１が付与されたときに、アノテーション１が付与されたＷｅｂページの所在情報（例えばＵＲＬ）を保持しておき、そのＵＲＬで指定されるＷｅｂページの閲覧時に、Ｗｅｂページに付与したアノテーション１を復元することにより、時間をおいてのＷｅｂページの閲覧や、アノテーション１を付与したアノテータと異なる第三者によるＷｅｂページの閲覧であっても、アノテーション１を復元できる。このようなＷｅｂアノテーション技術は、情報共有、校正支援、レビュー支援、調査支援、広告システムなど、広く利用されている。
【０００６】
従来、Ｗｅｂページに対してアノテーション１を付与し、アノテーション１を複数の利用者で共有する場合は、仲介サーバにＷｅｂページの所在情報と、Ｗｅｂページに付与されたアノテーション１の構造位置情報及び内容とを登録しておく。構造位置情報はアノテーション１が付与されたＷｅｂページのコンテンツ上の位置を表している。なお、構造位置情報は木構造のパス表現（ＸＰａｔｈ）で表現される。
【０００７】
利用者が所在情報を指定してＷｅｂページを要求すると、仲介サーバはＷｅｂサーバからコンテンツを取得する。仲介サーバは利用者により指定された所在情報に対応するアノテーション１が登録されていれば、構造位置情報で表現されるコンテンツ上の位置にアノテーション１を復元して利用者のクライアントに送信する。このように、従来のＷｅｂアノテーション技術では、Ｗｅｂページに付与されたアノテーション１を複数の利用者で共有していた（例えば引用文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１５０５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のＷｅｂアノテーション技術は、アノテーションを付与したＷｅｂページのコンテンツ上の位置をＸＰａｔｈで表現している。従来のＷｅｂアノテーション技術では、アノテーションを復元する場合、登録しておいたＸＰａｔｈを利用して、アノテーションを復元するコンテンツ上の位置を特定する。
【００１０】
ところで、Ｗｅｂアノテーション技術はコンテンツの作者と異なる別の第三者がＷｅｂページにアノテーションを付与するものである。したがって、作者は付与されたアノテーションに関係なく、コンテンツの内容を変更することもある。コンテンツの内容が変更されると、コンテンツの木構造が変化してしまい、登録しておいたＸＰａｔｈの意味が無くなってしまう。ＸＰａｔｈの意味が無くなってしまうと、従来のＷｅｂアノテーション技術ではアノテーションを復元するコンテンツ上の位置を特定できなくなるという問題があった。
【００１１】
図２はＸＰａｔｈ取得時のコンテンツ及び木構造を表した説明図である。図２（Ａ）はＸＰａｔｈ取得時のコンテンツを表している。図２（Ｂ）は図２（Ａ）に示したコンテンツの木構造を表している。図２のコンテンツにおいて、タグ＜ＴＡＢＬＥ＞を表すＸＰａｔｈは「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」となる。
【００１２】
図３は内容が変更されたコンテンツ及び木構造を表した説明図である。図３（Ａ）は内容が変更されたコンテンツを表している。図３（Ｂ）は図３（Ａ）に示したコンテンツの木構造を表している。図３のコンテンツにおいて、タグ＜ＴＡＢＬＥ＞を表すＸＰａｔｈは「／ＨＴＭＬ／ＢＯＤＹ／ＤＩＶ／ＴＡＢＬＥ」となる。
【００１３】
このように、図２に示すコンテンツが図３に示す内容に変更された場合、ＸＰａｔｈ取得時に登録しておいたＸＰａｔｈ「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」は図３のコンテンツに存在しなくなるため、アノテーションを復元するコンテンツ上の位置を特定できなくなる。
【００１４】
従来のＷｅｂアノテーション技術では、タグ＜ＴＡＢＬＥ＞が変更により削除されてしまった場合を除き、コンテンツ内に存在しているにもかかわらず、アノテーションを復元するコンテンツ上の位置を特定できないという問題があった。
【００１５】
なお、Ｗｅｂアノテーション技術において、アノテーション付与とアノテーション復元との間には時間的なずれがある。このため、アノテーションを付与してから復元するまでの間にコンテンツの構造が変化することは、Ｗｅｂアノテーション技術において避けることができない。
【００１６】
本発明は、コンテンツが変更されたとしても、アノテーションを復元するコンテンツ上の位置を特定できるアノテーション付与方法、アノテーション復元方法、アノテーション付与装置及びアノテーション復元装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するため、本発明の一実施形態は、アノテーション付与方法であって、コンピュータに、構造を有するコンテンツ上のいずれかの位置についてアノテーションを付与する際に、前記コンテンツにおける前記位置の下位側の構造を前記アノテーションと関連づけて記憶する、処理を実行させることを特徴とするアノテーション付与方法である。
【００１８】
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１９】
上述の如く、本発明の一実施形態によれば、コンテンツが変更されたとしても、アノテーションを復元するコンテンツ上の位置を特定できる。
【図面の簡単な説明】
【００２０】
【図１】付箋紙のような形式のアノテーションが表示されたＷｅｂページの一例の画面イメージ図である。
【図２】ＸＰａｔｈ取得時のコンテンツ及び木構造を表した説明図である。
【図３】内容が変更されたコンテンツ及び木構造を表した説明図である。
【図４】本実施例のシステムの一例の構成図である。
【図５】本実施例のシステムの他の例の構成図である。
【図６】利用者端末の一例の構成図である。
【図７】利用者端末の一例の処理ブロック図である。
【図８】アノテーションＤＢに格納されるアノテーション情報の一例の構成図である。
【図９】特徴ＸＰａｔｈについて説明する為の説明図である。
【図１０】特徴情報について説明する為の説明図である。
【図１１】ＸＰａｔｈにより対象ノードが特定できない例を表した説明図である。
【図１２】特徴ＸＰａｔｈを用いたワイルドカード検索により複数の対象ノードが特定される例を表した説明図である。
【図１３】アノテーション付与処理の一例のフローチャートである。
【図１４】アノテーション復元処理の一例のフローチャートである。
【図１５】本実施例のアノテーションプログラムを適用したブラウザの一例の構成図である。
【発明を実施するための形態】
【００２１】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００２２】
（システム構成）
図４は本実施例のシステムの一例の構成図である。図４に示すシステムは、利用者端末１０、コンテンツサーバ２０、アノテーション情報管理サーバ３０、ネットワーク５０を有する。利用者端末１０、コンテンツサーバ２０及びアノテーション情報管理サーバ３０はネットワーク５０を介してデータ通信可能に接続されている。ネットワーク５０は、例えばインターネットやＬＡＮなど、データ通信可能な如何なる通信網であってもよい。
【００２３】
利用者端末１０はブラウザ１１がインストールされている。ブラウザ１１はプラグイン１２により拡張機能が追加されている。コンテンツサーバ２０はＷｅｂページ等のコンテンツ２１を格納している。アノテーション情報管理サーバ３０はアノテーションＤＢ３１を有し、アノテーション情報を管理している。
【００２４】
図５は本実施例のシステムの他の例の構成図である。図５に示すシステムは、図４のシステムと同様、利用者端末１０、コンテンツサーバ２０、アノテーション情報管理サーバ３０及びネットワーク５０を有する。なお、図５のブラウザ１１はプラグイン１２により拡張機能が追加されていない。また、図５のシステムは、コンテンツサーバ２０に、スクリプト２２が一部を構成するコンテンツ２１を格納している点で、図４のシステムと異なっている。
【００２５】
図４のシステムはプラグイン１２により本実施例に掛かるアノテーション機能を実現している。図５のシステムはスクリプト２２により本実施例に掛かるアノテーション機能を実現している。
【００２６】
（利用者端末１０の構成）
図６は利用者端末の一例の構成図である。利用者端末１０は、それぞれバスＢで相互に接続された入力装置６１、出力装置６２、ドライブ装置６３、補助記憶装置６４、主記憶装置６５、演算処理装置６６及びインターフェース装置６７を有する。
【００２７】
入力装置６１はキーボードやマウスなどである。入力装置６１は各種信号を入力するために用いられる。出力装置６２はディスプレイ装置などである。出力装置６２は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置６７はモデム、ＬＡＮカードなどである。インターフェース装置６７はネットワーク５０に接続する為に用いられる。
【００２８】
本実施例に掛かるアノテーションプログラムは利用者端末１０を制御する各種プログラムの少なくとも一部である。アノテーションプログラムは、例えばアノテーションプログラムを記録した記録媒体６８の配布やネットワーク５０からのプログラムのダウンロードなどによって提供される。アノテーションプログラムを記録した記録媒体６８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２９】
アノテーションプログラムを記録した記録媒体６８がドライブ装置６３にセットされるとアノテーションプログラムは、記録媒体６８からドライブ装置６３を介して補助記憶装置６４にインストールされる。ネットワーク５０からダウンロードされたアノテーションプログラムは、インターフェース装置６７を介して補助記憶装置６４にインストールされる。補助記憶装置６４はインストールされたアノテーションプログラムを格納すると共に必要なファイル、データ等を格納する。
【００３０】
主記憶装置６５には、補助記憶装置６４から読み出されたアノテーションプログラムが格納される。そして、演算処理装置６６は主記憶装置６５に格納されたアノテーションプログラムに従って、後述するような各種処理を実現している。
【００３１】
（利用者端末１０の処理ブロック）
図７は利用者端末の一例の処理ブロック図である。利用者端末１０は、Ｗｅｂ資源取得部７１、Ｗｅｂ資源解析結果準備部７２、アノテーション情報格納部７３、アノテーション付与部７４、アノテーション構造位置取得部７５、アノテーション埋め込み部７６、アノテーション情報取得部７７、アノテーション復元部７８、アノテーション構造位置取得部７９、アノテーション埋め込み部８０を有している。
【００３２】
Ｗｅｂ資源取得部７１は、Ｗｅｂ資源であるコンテンツの所在情報（ＵＲＬ）を指定されたときに、指定されたＵＲＬのコンテンツを、コンテンツサーバ２０から取得する。Ｗｅｂ資源解析結果準備部７２は、取り出されたコンテンツをそのままＷｅｂ資源解析結果とすることも可能であるが、通常、コンテンツをパージングした結果である木構造をＷｅｂ資源解析結果として保持する。
【００３３】
アノテーション付与部７４は、利用者からコンテンツに基づく表示（Ｗｅｂページ）に対するアノテーション付与の操作を受け付ける。アノテーション構造位置取得部７５はアノテーション付与の操作に基づき、利用者がアノテーションを付与したＷｅｂページのコンテンツ上の位置を表す構造位置情報（ＸＰａｔｈ）を取得する。アノテーション埋め込み部７６はアノテーション構造位置取得部７５が取得した構造位置情報に基づき、アノテーション内容をＷｅｂ資源解析結果の指定された位置に埋め込む。アノテーション付与部７４は、Ｗｅｂ資源解析結果をレンダリングエンジンに渡し、描画させることで、アノテーションが付与されたＷｅｂページの表示を行うことができる。
【００３４】
また、アノテーション情報格納部７３は利用者に付与されたアノテーションを復元する為のアノテーション情報をアノテーションＤＢ３１に格納させる。アノテーション情報には、アノテーションを付与したＷｅｂページのコンテンツのＵＲＬ、アノテーションの構造位置情報であるＸＰａｔｈ、後述の特徴ＸＰａｔｈ、後述の特徴情報、アノテーション内容が含まれる。
【００３５】
アノテーション情報取得部７７は取得したコンテンツに対応するアノテーション情報がアノテーションＤＢ３１に格納されていれば、アノテーションＤＢ３１からコンテンツに対応するアノテーション情報を取得する。
【００３６】
そして、アノテーション構造位置取得部７９はアノテーション情報に指示されているアノテーションの構造位置を探し出す。アノテーション埋め込み部８０はアノテーション構造位置取得部７９が探し出した構造位置に基づき、アノテーション内容をＷｅｂ資源解析結果の指定された位置に埋め込む。アノテーション復元部７８は、Ｗｅｂ資源解析結果をレンダリングエンジンに渡すことで、アノテーションが復元されたＷｅｂページを表示させることができる。
【００３７】
（アノテーションＤＢの構成）
図８はアノテーションＤＢに格納されるアノテーション情報の一例の構成図である。図８のアノテーションＤＢ３１は、ＵＲＬ、ＸＰａｔｈ、特徴ＸＰａｔｈ、特徴情報、アノテーション内容が対応付けられたレコードを有している。アノテーションＤＢ３１に含まれるＵＬＲはアノテーションを付与したＷｅｂページのコンテンツのＵＲＬである。ＸＰａｔｈはアノテーションが付与されたＷｅｂページのコンテンツ上の構造位置である。
【００３８】
特徴ＸＰａｔｈ及び特徴情報は、ＸＰａｔｈによりアノテーションが付与されたＷｅｂページのコンテンツ上の構造位置が特定できなかったときに、アノテーションが付与されたＷｅｂページのコンテンツ上の構造位置を検索する為に利用するものである。特徴ＸＰａｔｈ及び特徴情報の詳細は後述する。アノテーション内容はアノテーションに記述された情報である。
【００３９】
（特徴ＸＰａｔｈ及び特徴情報）
図９は特徴ＸＰａｔｈについて説明する為の説明図である。図９はアノテーションが付与されたＷｅｂページのコンテンツ上の構造位置がＸＰａｔｈ「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」である例を表している。アノテーション構造位置取得部７５はＸＰａｔｈ「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」により表される対象ノードを頂点とし、末端までの全てのＸＰａｔｈを抽出する。
【００４０】
図９の例では、ＸＰａｔｈ「／ＴＡＢＬＥ／ＴＲ／ＴＤ」が２回、ＸＰａｔｈ「／ＴＡＢＬＥ／ＴＲ／ＴＤ／Ｐ」が１回、抽出される。アノテーション構造位置取得部７５は抽出されたＸＰａｔｈの内、最も出現回数の少ないＸＰａｔｈを特徴ＸＰａｔｈとする。図９の例では、ＸＰａｔｈ「／ＴＡＢＬＥ／ＴＲ／ＴＤ／Ｐ」が特徴ＸＰａｔｈとなる。
【００４１】
図９に示すように、アノテーション構造位置取得部７５は対象ノードに含まれるＸＰａｔｈの内、最も出現回数の少ないＸＰａｔｈを特徴ＸＰａｔｈとして抽出する。最も出現回数の少ないＸＰａｔｈを特徴ＸＰａｔｈとして抽出する理由は、対象ノードの特徴を最も表していると考えられるからである。
【００４２】
なお、図９では対象ノードに含まれるＸＰａｔｈの内、最も出現回数の少ないＸＰａｔｈを特徴ＸＰａｔｈとして抽出したが、最も出現回数の多いＸＰａｔｈや平均的な出現回数のＸＰａｔｈなど、様々なバリエーションも考えられる。
【００４３】
ＸＰａｔｈとして、出現回数が少ないものを用いる場合は、再現位置を特定しやすくなるが、コンテンツの内容が変更された時に、特徴パスに関連する部分が変更される可能性が高くなり、特徴パスを発見できない可能性が上がる。ＸＰａｔｈとして、出現回数が多いものを用いる場合は、逆にコンテンツの内容が変更された場合でも特徴パスを発見することが可能であるが、他でも頻繁に使われるパスである可能性が高く、正しい再現位置を特定しにくくなる。平均値を使う場合は、上記特徴の中間となる。
【００４４】
例えば、アノテーションシステムを使い画面構成を複数人で検討する場合など、正しい再現位置に確実に戻すことが必要な場面では、少ないものを特徴パスとすることで、精度の高い情報提供ができる。また、足跡システムのように、再現位置のズレよりも情報があることを通知することが重要なシステムでは、多いものを選択すると良い。
【００４５】
図１０は特徴情報について説明する為の説明図である。図１０はアノテーションが付与されたＷｅｂページのコンテンツ上の構造位置がＸＰａｔｈ「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」である例を表している。アノテーション構造位置取得部７５は対象ノードに含まれるタグの種類と数とを特徴情報として抽出する。
【００４６】
図１０の例では、タグ＜ＴＡＢＬＥ＞が１回、タグ＜ＴＲ＞が１回、タグ＜ＴＤ＞が３回、タグ＜Ｐ＞が１回、抽出される。アノテーション構造位置取得部７５は抽出されたタグの種類と数とを特徴情報とする。なお、アノテーション構造位置取得部７５と同様な手順にてアノテーション構造位置取得部７９も特徴情報を抽出する。
【００４７】
図１１はＸＰａｔｈにより対象ノードが特定できない例を表した説明図である。ここで言う対象ノードとは、アノテーション情報に含まれているＸＰａｔｈで表されるノードである。
【００４８】
図１１（Ａ）は、アノテーション内容を付与したときのコンテンツを表している。図１１（Ａ）は図９に示すコンテンツと同様である。したがって、図１１（Ａ）に示すコンテンツはアノテーション情報に含まれるＸＰａｔｈが「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」となる。図１１（Ａ）に示すコンテンツはアノテーション情報に含まれる特徴ＸＰａｔｈが「／ＴＡＢＬＥ／ＴＲ／ＴＤ／Ｐ」となる。また、図１１（Ａ）に示すコンテンツはアノテーション情報に含まれる特徴情報が「タグ＜ＴＡＢＬＥ＞１回、タグ＜ＴＲ＞１回、タグ＜ＴＤ＞３回、タグ＜Ｐ＞１回」となる。
【００４９】
図１１（Ｂ）は内容が変更されたコンテンツを表している。図１１（Ｂ）のコンテンツは図１１（Ａ）に示す変更前のコンテンツから取得したＸＰａｔｈ「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」が存在していない。したがって、アノテーション構造位置取得部７９は図１１（Ａ）に示す変更前のコンテンツから取得したＸＰａｔｈで検索したとしても、図１１（Ｂ）のコンテンツに含まれる対象ノードを特定できない。
【００５０】
本実施例のシステムでは、アノテーション情報に含まれる特徴ＸＰａｔｈ「／ＴＡＢＬＥ／ＴＲ／ＴＤ／Ｐ」でワイルドカード検索「／／特徴ＸＰａｔｈ」を行うことにより対象ノードを特定できる。
【００５１】
なお、本実施例のシステムでは特徴ＸＰａｔｈ「／ＴＡＢＬＥ／ＴＲ／ＴＤ／Ｐ」でワイルドカード検索「／／特徴ＸＰａｔｈ」を行うことにより対象ノードを特定しようとした場合、複数の対象ノードが特定されることがある。特徴ＸＰａｔｈを用いたワイルドカード検索「／／特徴ＸＰａｔｈ」により複数の対象ノードが特定された場合は、図１２に示すように特徴情報を用いて１つの対象ノードを特定する。
【００５２】
図１２は特徴ＸＰａｔｈを用いたワイルドカード検索により複数の対象ノードが特定される例を表した説明図である。図１２（Ａ）は図１１（Ａ）と同様であるため、説明を省略する。図１２（Ｂ）は内容が変更されたコンテンツを表している。図１２（Ｂ）のコンテンツは、変更前のコンテンツから取得したＸＰａｔｈ「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ」が存在していない。したがって、アノテーション構造位置取得部７９は変更前のコンテンツから取得したＸＰａｔｈで検索したとしても、図１２（Ｂ）のコンテンツに含まれる対象ノードを特定できない。
【００５３】
そこで、アノテーション構造位置取得部７９は変更前のコンテンツから抽出した特徴ＸＰａｔｈ「／ＴＡＢＬＥ／ＴＲ／ＴＤ／Ｐ」でワイルドカード検索「／／特徴ＸＰａｔｈ」を行うが、２つの対象ノード１００、１０１を特定してしまう。
【００５４】
そこで、アノテーション構造位置取得部７９は特定した対象ノード１００、１０１に含まれるタグの種類と数とを特徴情報として抽出する。図１２（Ｂ）の場合、対象ノード１００は「タグ＜ＴＡＢＬＥ＞１回、タグ＜ＴＲ＞１回、タグ＜ＴＤ＞３回、タグ＜Ｐ＞１回」となる。また、対象ノード１０１は「タグ＜ＴＡＢＬＥ＞１回、タグ＜ＴＲ＞１回、タグ＜ＴＤ＞３回、タグ＜Ｐ＞３回」となる。
【００５５】
アノテーション構造位置取得部７９は対象ノード１００、１０１から抽出した特徴情報とアノテーション情報に含まれる特徴情報とを比較し、アノテーション情報に含まれる特徴情報との一致度が高い、言い換えれば一致する特徴情報の含有率が最も高い対象ノードを対象ノードとして特定する。
【００５６】
図１２（Ｂ）の場合、アノテーション構造位置取得部７９は対象ノード１００、１０１から抽出した特徴情報とアノテーション情報に含まれる特徴情報とを比較し、対象ノード１００を特定できる。
【００５７】
（利用者端末１０の処理手順）
図１３はアノテーション付与処理の一例のフローチャートである。アノテーション付与部７４は利用者からＷｅｂページに対するアノテーション付与要求があると、ステップＳ１に進み、ブラウザ１１に対するマウス操作で、利用者にアノテーションの付与位置を選択させる。ステップＳ２に進み、アノテーション付与部７４は例えばブラウザ１１に対するキーボード操作で、利用者にアノテーション内容であるコメントを入力させる。
【００５８】
ステップＳ３に進み、アノテーション構造位置取得部７５はアノテーションの付与位置（対象ノード）のＸＰａｔｈを取得する。ステップＳ４に進み、アノテーション構造位置取得部７５は対象ノードを頂点とし、末端までの全てのＸＰａｔｈを抽出する。
【００５９】
ステップＳ５に進み、アノテーション構造位置取得部７５はステップＳ４で抽出したＸＰａｔｈの内、最も出現回数の少ないＸＰａｔｈを特徴ＸＰａｔｈとして抽出する。アノテーション構造位置取得部７５はステップＳ６に進み、アノテーションの付与位置に含まれるタグの種類と数（出現回数）とを特徴情報として抽出する。
【００６０】
そして、ステップＳ７に進み、アノテーション情報格納部７３はＸＰａｔｈ、特徴ＸＰａｔｈ、特徴情報及びアノテーション内容をアノテーション情報としてアノテーションＤＢ３１に格納する。ステップＳ８に進み、アノテーション埋め込み部７６はステップＳ３でアノテーション構造位置取得部７５が取得したＸＰａｔｈに基づき、アノテーション内容をコンテンツのＷｅｂ資源解析結果の指定された位置に埋め込む。
【００６１】
その後、アノテーション付与部７４は、アノテーション内容が埋め込まれたＷｅｂ資源解析結果をレンダリングエンジンに渡すことで、アノテーションが付与されたコンテンツのＷｅｂページを表示させることができる。
【００６２】
図１４はアノテーション復元処理の一例のフローチャートである。Ｗｅｂ資源取得部７１は例えばブラウザ１１に対するキーボード操作で、使用者からＷｅｂページのＵＲＬの指定があると、ステップＳ１１に進み、ＷｅｂページのＵＲＬをブラウザ１１から取得する。
【００６３】
Ｗｅｂ資源取得部７１は取得したＵＲＬのＷｅｂページに対応したコンテンツをコンテンツサーバ２０から取得する。Ｗｅｂ資源解析結果準備部７２は、取得したコンテンツをパージングした結果である木構造をＷｅｂ資源解析結果として保持する。
【００６４】
ステップＳ１２に進み、アノテーション情報取得部７７はステップＳ１１で取得したＵＲＬに対応するアノテーション情報をアノテーションＤＢ３１から取得する。ステップＳ１３に進み、アノテーション構造位置取得部７９はアノテーション情報に含まれるＸＰａｔｈによる復元位置（対象ノード）の検索を行う。
【００６５】
ステップＳ１４に進み、アノテーション構造位置取得部７９はステップＳ１３の検索により復元位置を特定できればステップＳ２０に進み、特定した復元位置に基づき、Ｗｅｂ資源解析結果の指定された位置にアノテーション内容を埋め込む。
【００６６】
ステップＳ１４において、アノテーション構造位置取得部７９はステップＳ１３の検索により復元位置を特定できなければステップＳ１５に進み、アノテーション情報に含まれる特徴ＸＰａｔｈによる復元位置のワイルドカード検索を行う。
【００６７】
ステップＳ１６に進み、アノテーション構造位置取得部７９はステップＳ１５のワイルドカード検索により復元位置を特定できればステップＳ２０に進み、特定した復元位置に基づき、Ｗｅｂ資源解析結果の指定された位置にアノテーション内容を埋め込む。
【００６８】
ステップＳ１６において、アノテーション構造位置取得部７９はステップＳ１５のワイルドカード検索により複数の復元位置を特定してしまい、１つの復元位置を特定できなければステップＳ１７に進み、特定した複数の復元位置のそれぞれについて、復元位置に含まれるタグ毎の出現回数を特徴情報として抽出する。アノテーション構造位置取得部７９はステップＳ１７で抽出した特徴情報とアノテーション情報に含まれる特定情報とを比較して、ステップＳ１７で抽出した特徴情報の内、アノテーション情報に含まれる特定情報と一致する特定情報を特定できれば、ステップＳ２０に進む。
【００６９】
アノテーション構造位置取得部７９は特定した復元位置に基づき、Ｗｅｂ資源解析結果の指定された位置にアノテーション内容を埋め込む。また、アノテーション構造位置取得部７９はステップＳ１７で抽出した特徴情報の内、アノテーション情報に含まれる特定情報と一致する特定情報を特定できなければ、ステップＳ１９に進み、アノテーション情報に含まれる特徴情報との一致度が高い、言い換えれば一致する特徴情報の含有率が最も高い特定情報を特定する。
【００７０】
ステップＳ１９に続いてステップＳ２０に進み、アノテーション構造位置取得部７９は特定した復元位置に基づき、Ｗｅｂ資源解析結果の指定された位置にアノテーション内容を埋め込む。
【００７１】
その後、アノテーション復元部７８は、アノテーション内容が埋め込まれたＷｅｂ資源解析結果をレンダリングエンジンに渡すことで、アノテーションが付与されたＷｅｂページを表示させることができる。
【００７２】
（アノテーションプログラムがブラウザ１１に適用された例）
図１５は、本実施例のアノテーションプログラムを適用したブラウザの一例の構成図である。図１５のブラウザ２００は、典型的な構成を示したものであり、説明に不要なＣＳＳの処理やＰＤＦプラグイン等の細かい部分を省略している。
【００７３】
ネットワークを経由して受信されたＨＴＭＬ文書１５０をＨＴＭＬパーサ２０１は解析して、木構造（ＤＯＭツリー）２０２を生成する。これと同時に、Ｊａｖａｓｃｒｉｐｔ（登録商標）エンジン２０６はＨＴＭＬ文書１５０中にあったＪａｖａｓｃｒｉｐｔプログラム２０５を実行し、ＤＯＭツリー２０２の中身を書き換える。書き換えられたＤＯＭツリー２０２はレンダリングエンジン２０３に送られる。
【００７４】
レンダリングエンジン２０３は送られてきたＤＯＭツリー２０２を画面で見える形に変換する。そして、ユーザインタフェース２０４を介したユーザの操作等によってＪａｖａｓｃｒｉｐｔエンジン２０６はＤＯＭツリー２０２を書き換え、表示させる内容を変化させる。
【００７５】
アノテーションプログラム２１０は、典型的にブラウザ２００の中に保持される（すなわち、ブラウザ２００に組込まれる、あるいは機能拡張として付け加えられる形で実現される）。
【００７６】
そして、読み込まれたＨＴＭＬ文書１５０のＪａｖａｓｃｒｉｐｔプログラム２０５が実行されるのに追加して、アノテーションプログラム２１０は実行され、ＤＯＭツリー２０２を書き換える。なお、アノテーションプログラム２１０が参照するアノテーションＤＢ等のデータはブラウザ２００の外部に保持される。
【００７７】
アノテーションプログラム２１０を保持する別の実施形態としては、読み込まれるＨＴＭＬ文書に、アノテーションプログラム２１０を保持しておくことが考えられる。この実施形態では、適用できるＷｅｂページが限定されるが、ブラウザ２００にアノテーションプログラム２１０を保持するのと同じ効果を持たせることができる。
【００７８】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７９】
１    アノテーション
１０    利用者端末
１１    ブラウザ
１２    プラグイン
２０    コンテンツサーバ
２１    コンテンツ
２２    スクリプト
３０    アノテーション情報管理サーバ
３１    アノテーションＤＢ
５０    ネットワーク
６１    入力装置
６２    出力装置
６３    ドライブ装置
６４    補助記憶装置
６５    主記憶装置
６６    演算処理装置
６７    インターフェース装置
６８    記録媒体
７１    Ｗｅｂ資源取得部
７２    Ｗｅｂ資源解析結果準備部
７３    アノテーション情報格納部
７４    アノテーション付与部
７５    アノテーション構造位置取得部
７６    アノテーション埋め込み部
７７    アノテーション情報取得部
７８    アノテーション復元部
７９    アノテーション構造位置取得部
８０    アノテーション埋め込み部
１００、１０１    対象ノード
１５０    ＨＴＭＬ文書
２００    ブラウザ
２０１    ＨＴＭＬパーサ
２０２    ＤＯＭツリー
２０３    レンダリングエンジン
２０４    ユーザインタフェース
２０５    Ｊａｖａｓｃｒｉｐｔプログラム
２０６    Ｊａｖａｓｃｒｉｐｔエンジン
２１０    アノテーションプログラム
【図１】
2014081958.tif 000003
【図２】
2014081958.tif 000004
【図３】
2014081958.tif 000005
【図４】
2014081958.tif 000006
【図５】
2014081958.tif 000007
【図６】
2014081958.tif 000008
【図７】
2014081958.tif 000009
【図８】
2014081958.tif 000010
【図９】
2014081958.tif 000011
【図１０】
2014081958.tif 000012
【図１１】
2014081958.tif 000013
【図１２】
2014081958.tif 000014
【図１３】
2014081958.tif 000015
【図１４】
2014081958.tif 000016
【図１５】
2014081958.tif 000017