(57)【特許請求の範囲】
【請求項１】
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるコンピュータを、
利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、
利用者からの前記情報資源の参照要求に基づき、前記情報資源に関連のある同系列の前記情報資源のグループを前記情報資源特定情報に基づいて抽出し、前記アノテーション管理手段から前記グループの前記情報資源特定情報に対応する前記アノテーション情報及び第１疑似識別子を検索し、利用者からの参照要求のあった前記情報資源に含まれる１つ以上の情報を特定する第２疑似識別子を求め、前記第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている、前記第２疑似識別子で特定される１つ以上の情報に作用させるアノテーション作用手段と
して機能させる為のアノテーションプログラム。
【請求項２】
前記情報は、ネットワーク上の情報資源に含まれる１つ以上の記事であり、
前記アノテーション付与手段は、前記コンピュータを、
前記アノテーションの付与対象となる記事を特定する第１疑似識別子を更に前記記事上の前記アノテーションを付与した論理位置情報と対応付けてアノテーション管理手段に登録するアノテーション位置登録手段として機能させ、
前記アノテーション作用手段は、前記コンピュータを、
利用者からの参照要求のあった前記情報資源に含まれる１つ以上の記事を特定する第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記論理位置情報から、前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の記事に作用させる位置を復元するアノテーション位置復元手段と
して機能させる請求項１記載のアノテーションプログラム。
【請求項３】
前記情報資源に関連のある同系列の前記情報資源のグループは、前記情報資源特定情報が指示する前記情報資源に含まれる前記記事のコピーが置かれる前記情報資源、前記記事が移動する先の前記情報資源、前記記事の移動元の前記情報資源であること
を特徴とする請求項２記載のアノテーションプログラム。
【請求項４】
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるアノテーション装置であって、
利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、
利用者からの前記情報資源の参照要求に基づき、前記情報資源に関連のある同系列の前記情報資源のグループを前記情報資源特定情報に基づいて抽出し、前記アノテーション管理手段から前記グループの前記情報資源特定情報に対応する前記アノテーション情報及び第１疑似識別子を検索し、利用者からの参照要求のあった前記情報資源に含まれる１つ以上の情報を特定する第２疑似識別子を求め、前記第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている、前記第２疑似識別子で特定される１つ以上の情報に作用させるアノテーション作用手段と
を有するアノテーション装置。
【請求項５】
前記情報は、ネットワーク上の情報資源に含まれる１つ以上の記事であり、
前記アノテーション付与手段は、
前記アノテーションの付与対象となる記事を特定する第１疑似識別子を更に前記記事上の前記アノテーションを付与した論理位置情報と対応付けてアノテーション管理手段に登録するアノテーション位置登録手段を有し、
前記アノテーション作用手段は、
利用者からの参照要求のあった前記情報資源に含まれる１つ以上の記事を特定する第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記論理位置情報から、前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の記事に作用させる位置を復元するアノテーション位置復元手段を有する請求項４記載のアノテーション装置。
【請求項６】
前記情報資源に関連のある同系列の前記情報資源のグループは、前記情報資源特定情報が指示する前記情報資源に含まれる前記記事のコピーが置かれる前記情報資源、前記記事が移動する先の前記情報資源、前記記事の移動元の前記情報資源であること
を特徴とする請求項５記載のアノテーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アノテーションプログラム、アノテーション装置に係り、特に利用者からの付与要求に基づき情報へアノテーションを付与し、又は利用者からの参照要求に基づき情報にアノテーションを作用させるアノテーションプログラム、アノテーション装置に関する。
【背景技術】
【０００２】
近年、インターネットやイントラネット等のネットワーク上の情報資源（例えばＷｅｂページ）に二次的情報としてアノテーションを付与するＷｅｂアノテーションが、よく利用されるようになった。
【０００３】
Ｗｅｂアノテーションは、ネットワーク上のＷｅｂページに対してＷｅｂページの作者と異なる別の第三者が、そのＷｅｂページに対して、付箋，下線，又はマーカなどのアノテーションを付与し、Ｗｅｂページの閲覧（参照）時に、付与したアノテーションをＷｅｂページと同時に表示したり、又は付与したアノテーションに基づいた処理をＷｅｂページに加えたりするものである。
【０００４】
通常はアノテーションが付与されたときに、そのＷｅｂページに対する一意の名前（例えばＵＲＬ）を保持しておき、そのＵＲＬで指定されるＷｅｂページの閲覧時に、Ｗｅｂページに付与したアノテーションを復元することにより、時間をおいてのＷｅｂページの閲覧や、アノテーションを付与したアノテータと異なる第三者による閲覧であってもアノテーションを復元できる。
【０００５】
従来、Ｗｅｂページの情報に対してアノテーションを付与し、付与したアノテーションを複数の利用者で共有する場合は、共通サーバにＷｅｂページのＵＲＬと、そのＵＲＬで示されるＨＴＭＬファイルに付与されたアノテーションの位置及び内容とを管理テーブルに登録することがよく行われている。
【０００６】
利用者がＵＲＬを指定してＷｅｂサーバにＨＴＭＬファイルを要求すると、共通サーバはＷｅｂサーバからＨＴＭＬファイルを取得する。次に、共通サーバは管理テーブルを参照し、指定されたＵＲＬに対応するアノテーションが登録されていれば、アノテーションをＨＴＭＬファイルに埋め込んで利用者のクライアントに送信する。共通サーバは、上記のようにすることで、Ｗｅｂページの情報に付与されたアノテーションを複数の利用者で共有できる（例えば引用文献１参照）。
【０００７】
なお、引用文献１に記載されている技術は、電子書籍のようなデジタルコンテンツを対象としているため、アノテーションの位置の特定に、ページ識別子と行識別子とを用いている。すなわち、従来の技術はＷｅｂページが一意のＵＲＬを持ち、時間を経てもＵＲＬが変わらない場合に有効であった。
【０００８】
また、従来、一般の電子文書に対するアノテーションの付与に対して、電子文書が更新されてもアノテーションを付与時の文書要素に関連付けて表示する場合は、付与された周辺情報を保持し、電子文書の更新後に、保持している周辺情報と近似する文書要素にアノテーションを復元する方法が知られている（例えば引用文献２参照）。
【０００９】
Ｗｅｂページに対するアノテーションでは、記事が追加されてＷｅｂページ内部の構成は変化するが構造は変化しない。また、アノテーションの付与時と同一のＵＲＬ内に記事が存在する場合には、アノテーションの付与時に、記事そのもの或いは記事の特徴を取り出して記事を特定できるようにした情報（記事の疑似ＩＤ）を抽出し、その疑似ＩＤをアノテーションのＵＲＬ，内容，論理位置と共に保持する。
【００１０】
論理位置とは、ＸＹ座標のような表示に依存する物理的な位置ではなく、何段落目の何文字目のような表示とは独立な文字の位置をいう。例えばＷ３Ｃで規定されているＸＭＬ文書の一部をアドレッシングするＸｐａｔｈ（XML Path Language）言語が代表的なものである。
【００１１】
Ｗｅｂページの閲覧時には単純に指定された論理位置にアノテーションを復元するのではなく、兄弟記事のそれぞれから同一の疑似ＩＤを有する記事を探し出し、移動した先の記事に対応する位置にアノテーションを復元する方法も知られている（例えば非特許文献１参照）。
【特許文献１】特開２０００−１５５７６６号公報
【特許文献２】特許第３７５５３１５号
【非特許文献１】電子情報通信学会Ｗｅｂインテリジェンスとインタラクション研究会２００７．７「Ｗｈａｔ’ｓ  Ｎｅｗ型ＷｅｂページにおけるＸｐａｔｈと記事のマッチング手法」
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、ネットワーク上のＷｅｂページが扱う情報はフロー型情報とストック型情報とに大別される。ブログやニュース等はフロー型情報の一例である。ブログやニュース等を扱うサイトでは、一つのＵＲＬで指定されるＷｅｂページに複数の記事を有する。これらの記事は、ある場合に別のＵＲＬで指定されるＷｅｂページ（例えば単独の記事だけを有するＷｅｂページ，カテゴリ別あるいは月別などに構成され直されたＷｅｂページ）に存在することもある。
【００１３】
また、ブログやニュース等を扱うサイトでは時間とともに別の記事が追加され、Ｗｅｂページ内の構成が変更される。Ｗｅｂページ内の記事数が制限されている場合には「次のページ」というような形式で、最初のＵＲＬとは別のＵＲＬで指定されるＷｅｂページの中に記事が移動する場合もあった。
【００１４】
このため、引用文献１に記載されている技術におけるページという概念を使用することができないという問題があった。また、ブログやニュース等を扱うサイトでは行という概念もないため、引用文献１に記載されている技術における行という概念を使用することもできないという問題があった。
【００１５】
ブログやニュース等を扱うサイトでは、アノテーションがＷｅｂページそのものに付与されるというよりも記事に対して付与される。そこで、ブログやニュース等を扱うサイトでは、記事のコピーが別のＵＲＬで指定されるＷｅｂページにも存在したり、あるいは記事が別のＵＲＬで指定されるＷｅｂページに移動したりしても、記事のコピーが存在するＷｅｂページが閲覧される場合、記事に付与されたアノテーションとして表示等、作用させる必要があった。
【００１６】
また、引用文献２及び非特許文献１に記載されている技術では同一記事のコピーが別のＵＲＬで指定されるＷｅｂページに存在する場合、別のＵＲＬで指定されるＷｅｂページの閲覧においてアノテーションを表示等、作用させることができなかった。また、引用文献２及び非特許文献１に記載されている技術では、同一記事のコピーが別のＵＲＬで指定されるＷｅｂページに移動した場合、移動先の別のＵＲＬで指定されるＷｅｂページの閲覧においてアノテーションを表示等、作用させることができなかった。
【００１７】
本発明は、上記の点に鑑みなされたもので、アノテーションを付与した情報の位置が変化しても、アノテーションを付与した情報にアノテーションを正確に作用させることができるアノテーションプログラム、アノテーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記課題を解決するため、本発明は、ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるコンピュータを、利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、利用者からの前記情報資源の参照要求に基づき、前記情報資源に関連のある同系列の前記情報資源のグループを前記情報資源特定情報に基づいて抽出し、前記アノテーション管理手段から前記グループの前記情報資源特定情報に対応する前記アノテーション情報及び第１疑似識別子を検索し、利用者からの参照要求のあった前記情報資源に含まれる１つ以上の情報を特定する第２疑似識別子を求め、前記第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている、前記第２疑似識別子で特定される１つ以上の情報に作用させるアノテーション作用手段として機能させる為のアノテーションプログラムであることを特徴とする。
【００１９】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００２０】
本発明によれば、アノテーションを付与した情報の位置が変化しても、アノテーションを付与した情報にアノテーションを正確に作用させることができるアノテーションプログラム、アノテーション装置を提供可能である。
【発明を実施するための最良の形態】
【００２１】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００２２】
（本発明の概要）
一般に同一記事のコピーが保持されていたり、同一記事のコピーが移動したりするＵＲＬは元の記事のＵＲＬと無関係なものではなく、同系列（サイトが同じ、ディレクトリが同じなど）にある。
【００２３】
本発明は、インターネットやイントラネット等のネットワーク上のＷｅｂページに含まれる記事に付与されたアノテーションにおいて、無秩序に（人の自由意志によって）行われるコピーや移動ではないシステマティックな記事のコピー・移動があった場合に、アノテーションの付与されたＷｅｂページのＵＲＬとは別のＵＲＬへの記事の移動・コピーに際しても、そのコピー先あるいは移動先のＵＲＬのＷｅｂページの閲覧において、正確にアノテーションの表示等、作用させるものである。
【００２４】
例えば、本発明はＵＲＬが「http://foo/bar1.html」のＷｅｂページにある記事Aにアノテーションを付与したとして、ＵＲＬが「http://foo/bar2.html」のＷｅｂページの閲覧に際して、記事Aと同じものがＵＲＬ「http://foo/bar2.html」のＷｅｂページにあった場合に、ＵＲＬ「http://foo/bar1.html」のＷｅｂページに含まれる記事AのアノテーションをＵＲＬ「http://foo/bar2.html」のＷｅｂページに反映させるものである。
【００２５】
次に、サンプルのＨＴＭＬテキストで説明する。例えばＵＲＬ「http://foo/bar1.html」のＷｅｂページが図１に示すようなものであるとする。図１は、Ｗｅｂページの一例のイメージ図である。図１のＷｅｂページは、記事が水平線で区切られ、各記事に日付，タイトル，記事内容が含まれている。そして、図１のＷｅｂページは新しい記事が登録されると上に追加される。図１のＷｅｂページには一定の記事数だけが掲載される。図１のＷｅｂページは底に「前のページ」というリンクがあって、古くなった記事がリンク先に掲載されている。
【００２６】
図１のＷｅｂページに含まれる記事３０１２の「記事３０１２の内容」という文字列にアノテーションを付与したとすると、図２のＷｅｂページに示すように、指定した文字列の後にアノテーションが表示される。図２は、アノテーションが付与されたＷｅｂページの一例のイメージ図である。図２のＷｅｂページは、記事３０１２の「記事３０１２の内容」という文字列の後にアノテーションが表示された例を表している。
【００２７】
図２のＷｅｂページは時間が経つと記事が追加されるため、誰かが閲覧すると例えば図３のＷｅｂページのようになっている。図３は、記事が追加されたＷｅｂページの一例のイメージ図である。
【００２８】
図３のＷｅｂページは、図２のＷｅｂページとＵＲＬが同じであるが、記事３０１４及び３０１５が追加され、図２のＷｅｂページに掲載されていた記事３０１１及び３０１２が「前のページ」という図４に示すようなリンク先のＷｅｂページに移動している。図４はリンク先のＷｅｂページの一例のイメージ図である。例えばリンク先のＷｅｂページのＵＲＬは「http://foo/bar2.html」であるとする。
【００２９】
Ｗｅｂページ内部の位置だけを憶えている従来の技術では、記事３０１２に付与したアノテーションを記事３０１４のところに表示し、ＵＲＬが「http://foo/bar2.html」の記事３０１２のところに何も表示しない。また、Ｗｅｂページ内の記事の移動を考慮する場合には、ＵＲＬが「http://foo/bar1.html」の記事３０１４のところにアノテーションが表示されなくなるが、相変わらずＵＲＬが「http://foo/bar2.html」の記事３０１２のところにアノテーションが表示されないままである。
【００３０】
本発明はＵＲＬが「http://foo/bar1.html」の記事３０１２に付与されたアノテーションを記事３０１２のＷｅｂページ間の移動があっても復元するものである。例えば図４のＷｅｂページではＵＲＬが「http://foo/bar2.html」のＷｅｂページにアクセスした際、記事３０１２の対応する位置にアノテーションを復元しようとするものである。
【００３１】
すなわち、本発明は図５のＷｅｂページに示すように、アノテーションを復元するものである。図５はリンク先のＷｅｂページに復元したアノテーションの一例のイメージ図である。図５のＷｅｂページに復元されたアノテーションは、図２のＷｅｂページに付与されたときとＵＲＬ及び位置が物理的に変化している。
【００３２】
なお、図１〜図５では説明を容易化するため、「記事３０１０」のように記事番号で記事が一意に特定できるようにしたが、実際に、このような記事番号が付与されているのではなく、通常のテキストがタイトルになっており、本文が別の記事であってもタイトルが同じというようなこともあり得る。
【００３３】
（本発明の原理）
図６は本発明の原理を表した説明図である。図６中、同系統ＵＲＬグループ抽出部１はＵＲＬが与えられたときに、そのＵＲＬが指示する情報資源（Ｗｅｂページ）の中の記事のコピーが置かれたＷｅｂページ、あるいは時間の経過によって記事が移動する先のＷｅｂページ又は移動元のＷｅｂページのＵＲＬの集合（パターン）を求める。
【００３４】
アノテーション取り出し部２は同系統ＵＲＬグループ抽出部１が求めたＵＲＬの集合を与えられると、同系統ＵＲＬグループ抽出部１が求めたＵＲＬの集合の各ＵＲＬに付与されたアノテーションデータを取り出す。
【００３５】
同一記事判定部３はアノテーション取り出し部２が取り出したアノテーションデータを与えられると、アノテーション取り出し部２で取り出された各アノテーションデータに対して、そのアノテーションデータが指し示す記事と同一とみなせる記事が、現在閲覧しようとするＷｅｂページの中に存在するかどうかを判定する。
【００３６】
アノテーション処理部４は同一記事判定部３でアノテーションデータが指し示す記事と同一とみなせる記事が、現在閲覧しようとするＷｅｂページの中に存在すると判定された場合に、同一記事判定部３で同一とみなせる記事が存在するアノテーションデータに対して、そのアノテーションデータを現在閲覧しようとするＷｅｂページに作用させる。ここでアノテーションデータを現在閲覧しようとするＷｅｂページに作用させるとは、例えばアノテーションを付加情報としてＷｅｂページ上に表示させるように、適切な形式でアノテーションデータをＷｅｂページに埋め込む処理を意味する。
【００３７】
以上のように、本発明ではＵＲＬを同系列のグループで管理し、アノテーションの付与された記事の同一性を判定することで、アノテーションを付与した記事のコピーや移動に対して、アノテーションが付与されたＷｅｂページのＵＲＬとは異なるＵＲＬが指示するＷｅｂページの閲覧においてもアノテーションを作用させることが可能となる。
【００３８】
また、本発明では同一記事判定部３を有することで、アノテーションを付与したＵＲＬが指示するＷｅｂページの再度の閲覧において、元の記事の消滅に対してアノテーションを付与しなくすることも可能となる。
【００３９】
図７は本発明の他の原理を表した説明図である。図７はアノテーション位置の復元を伴う点で図６に表した原理と異なる。図６は、別のＵＲＬが指示するＷｅｂページの閲覧において、同系列のＵＲＬの中でアノテーションが付与された記事の有無が分かるが、付与された位置を保持するアノテーションの場合、アノテーションの付与時とＷｅｂページの構成等が変わってしまうため、アノテーションが付与されていた記事中の位置を復元することができない。
【００４０】
そこで、図７では図６の構成にアノテーション位置復元部５を追加している。このアノテーション位置復元部５では、アノテーション付与時にアノテーションの記事内での相対位置を求め、閲覧時に同一記事判定部３でアノテーションデータが指し示す記事と同一とみなせると判定された記事に対する相対位置から、閲覧するＷｅｂページ内におけるアノテーションの絶対位置を求める。
【００４１】
具体的に、アノテーション位置復元部５は同一記事判定部３でアノテーションデータが指し示す記事と同一とみなせる記事が、現在閲覧しようとするＷｅｂページの中に存在すると判定された場合に、同一とみなせる記事が存在するアノテーションの記事に対する相対位置から、閲覧するＷｅｂページ内でアノテーションを付与する絶対位置を求め、アノテーションの絶対位置をアノテーション処理部４に与える。アノテーション位置復元部５を有することで、本発明ではアノテーションが付与された記事中の位置を復元できる。
【００４２】
図８は本発明の他の原理を説明した説明図である。図８は記事の疑似ＩＤをキーとした点で図６及び図７に表した原理と異なる。図６及び図７に表した原理はＵＲＬをキーとした為、同一記事の判定が必要であった。
【００４３】
記事取り出し部６は現在閲覧しようとするＷｅｂページの記事を取り出す。記事ＩＤ取得部７は記事取り出し部６が取り出した記事から記事の疑似ＩＤを取得する。記事ＩＤによるアノテーション獲得部８は記事ＩＤ取得部７が取得した記事の疑似ＩＤをキーとしてアノテーションデータを獲得する。アノテーション処理部４は、獲得したアノテーションデータを現在閲覧しようとするＷｅｂページに作用させる。
【００４４】
以上のように、記事（の疑似ＩＤ）をキーとすることで、本発明では同一記事の判定や同系列のＵＲＬのグループの抽出が原理的には不要になる。
【実施例１】
【００４５】
図９は本発明によるアノテーション方法を実現するシステムの一例の構成図である。図９のシステムは、アノテーション付与装置１０，アノテーション管理サーバ２０及びアノテーション作用装置３０を含む構成である。
【００４６】
アノテーション付与装置１０は、ＵＲＬで指定されるＷｅｂページにアノテーションを付与する。アノテーション管理サーバ２０はＷｅｂページに付与されたアノテーションを管理する。アノテーション作用装置３０はＵＲＬで指定されるＷｅｂページにアクセスした時にアノテーションを作用させる。
【００４７】
典型的なアノテーション付与装置１０は、Ｗｅｂ閲覧器（例えばブラウザ）に拡張機能を追加したものである。アノテーション付与装置１０は、Ｗｅｂページ受信部１１と、アノテーション情報獲得部１２と、論理位置特定部１３と、記事特定部１４と、記事内部相対論理位置取得部１５と、アノテーション作成部１６と、記事疑似ＩＤ付与部１７と、アノテーション送信部１８とを含む構成である。
【００４８】
Ｗｅｂページ受信部１１は、ネットワーク上のＷｅｂサーバにＵＲＬを送り、対応するＷｅｂページを受け取る。アノテーション情報獲得部１２は、ユーザによるＷｅｂページ内のフラグメントの指定とアノテーション内容の指定の結果を受け取る。論理位置特定部１３は指定されたフラグメントのＷｅｂページ内での論理位置を計算する。
【００４９】
アノテーション作成部１６は、論理位置特定部１３によって計算された論理位置及びアノテーション内容からアノテーション管理サーバ２０のアノテーションデータベース２２に格納するアノテーションデータを作成する。アノテーション送信部１８は作成されたアノテーションデータを、アノテーションデータベース２２の管理を行うアノテーション管理サーバ２０に送る。
【００５０】
ここまでは典型的なアノテーション付与装置１０の構成である。本発明では、記事特定部１４と、記事内部相対論理位置取得部１５と、記事疑似ＩＤ付与部１７とを更に含む構成である。記事特定部１４は、付与されたアノテーションが、どの記事に付与されたかを求める。
【００５１】
記事疑似ＩＤ付与部１７は、記事を一意に特定するために、記事の特徴情報から記事を特定するための疑似IDを生成し、アノテーションデータに記事疑似ＩＤを与える。記事内部相対論理位置取得部１５は、後でアノテーション位置を復元する為、アノテーションが付与された論理位置から記事内部での相対論理位置を求め、アノテーションデータにアノテーション相対論理位置を与える。
【００５２】
また、アノテーション管理サーバ２０は、アノテーションデータベース管理部２１及びアノテーションデータベース２２を含む構成である。アノテーションデータベース２２はアノテーションデータを格納している。アノテーションデータベース管理部２１は、アノテーションデータベース２２に対するアノテーションの格納、検索などを行う。
【００５３】
また、典型的なアノテーション作用装置３０も、Ｗｅｂ閲覧器に拡張機能を追加したものである。アノテーション作用装置３０は、アノテーション取り出し部３１と、アノテーション作用部３２と、記事特定部３３と、同一記事判定部３４と、同系列ＵＲＬグループ抽出部３５と、Ｗｅｂページ受信部３６と、アノテーション位置復元部３７とを含む構成である。
【００５４】
Ｗｅｂページ受信部３６は、ＵＲＬを与えるとＷｅｂサーバからＷｅｂページを取ってくる。なお、アノテーション作用装置３０は受信したＷｅｂページを表示する表示部（図示せず）も含む構成である。
【００５５】
アノテーション取り出し部３１は、指定されたＵＲＬに対するアノテーションデータをアノテーション管理サーバ２０に問い合わせ、指定されたＵＲＬに対するアノテーションデータをアノテーション管理サーバ２０から取ってくる。また、アノテーション作用部３２はアノテーション管理サーバ２０から取ってきたアノテーションデータをＷｅｂページに作用させる。
【００５６】
最も典型的なアノテーションの作用はアノテーションの内容をＷｅｂページと合わせて表示するものである。その場合、アノテーション作用部３２は、アノテーションデータをＷｅｂページに埋め込んで表示部に渡すという処理を行う。
【００５７】
同系列ＵＲＬグループ抽出部３５は与えられたＵＲＬから同系列のＵＲＬのグループを取り出す。アノテーション取り出し部３１は同系列のＵＲＬのグループとして取り出された個々のＵＲＬに対するアノテーションデータをアノテーション管理サーバ２０から取り出す。記事特定部３３は、指定されたＵＲＬに対するＷｅｂページに含まれる記事を特定する。
【００５８】
同一記事判定部３４はアノテーション管理サーバ２０から取り出されたアノテーションデータが付与されている記事と同一とみなせる記事が、指定されたＵＲＬに対するＷｅｂページに含まれるかを判定し、同一とみなせる記事が含まれると判定したアノテーションデータをアノテーション作用部３２に引き渡す。
【００５９】
さらに記事におけるアノテーションの位置を保持するために、アノテーション位置復元部３７は、同一とみなせる記事があると判定されたアノテーションに対して、元々のアノテーションの記事内部での相対位置及び現在のＷｅｂページの対応する記事の位置からアノテーションを作用させる位置を決める。
【００６０】
図９のアノテーション付与装置１０，アノテーション管理サーバ２０，アノテーション作用装置３０は、例えば図１０のようなハードウェア構成により実現される。なお、アノテーション付与装置１０，アノテーション管理サーバ２０，アノテーション作用装置３０は別々の筐体により実現してもよいし、１つの筐体により実現してもよい。以下の説明ではアノテーション付与装置１０，アノテーション管理サーバ２０，アノテーション作用装置３０をアノテーション装置と総称する。
【００６１】
図１０は、アノテーション装置の一例のハードウェア構成図である。アノテーション装置は、それぞれバスＢで相互に接続されている入力装置５１，出力装置５２，ドライブ装置５３，補助記憶装置５４，主記憶装置５５，演算処理装置５６およびインターフェース装置５７で構成される。
【００６２】
入力装置５１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置５２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置５７は、モデム，ＬＡＮカードなどで構成されており、ネットワークに接続する為に用いられる。
【００６３】
本発明のアノテーションプログラムはアノテーション装置を制御する各種プログラムの少なくとも一部である。アノテーションプログラムは記録媒体５８の配布やネットワークからのダウンロードなどによって提供される。アノテーションプログラムを記録した記録媒体５８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００６４】
また、アノテーションプログラムを記録した記録媒体５８がドライブ装置５３にセットされると、アノテーションプログラムは記録媒体５８からドライブ装置５３を介して補助記憶装置５４にインストールされる。ネットワークからダウンロードされたアノテーションプログラムは、インターフェース装置５７を介して補助記憶装置５４にインストールされる。
【００６５】
アノテーション装置は、インストールされたアノテーションプログラムを格納すると共に、必要なファイル，データ等を格納する。主記憶装置５５は、起動時に補助記憶装置５４からアノテーションプログラムを読み出して格納する。そして、演算処理装置５６は主記憶装置５５に格納されたアノテーションプログラムに従って、後述するような各種処理を実現している。
【００６６】
（典型的な閲覧器）
図９ではアノテーション付与装置１０とアノテーション作用装置３０とを別々のものとして説明した。しかしながら、典型的な実施例では、１つのＷｅｂ閲覧器に対して、アノテーション付与の拡張とアノテーション作用の拡張の両方を施したものになる。このような実施例では閲覧器の処理は以下のようになる。
【００６７】
図１１は典型的な閲覧器の処理手順を表したフローチャートである。閲覧時の処理として閲覧器はまず、ステップＳ１に進み、Ｗｅｂページの表示を行う。閲覧器はステップＳ２に進み、利用者のアクションを受け付ける。利用者のアクションとしては、例えばアノテーション付与要求がある。利用者は、マウスドラッグによりＷｅｂページ中のフラグメントを指定し、そのまま右クリックしてメニューを表示させ、そのメニューの中からアノテーション付与という項目を選ぶ。そして、利用者はアノテーション内容としてテキストを入力することによってアノテーション付与要求を行う。閲覧器は受け付けたアクションに応じた処理をステップＳ３以降で行う。
【００６８】
ステップＳ３では、閲覧器がアノテーション付与要求を受け付けたかを判定する。アノテーション付与要求を受け付けたと判定すると、閲覧器はステップＳ４に進み、受け付けたアクションのアクション解析（マウスドラッグされたフラグメントや入力されたテキストを取り出し、フラグメントを求める）をする。ステップＳ５に進み、閲覧器はフラグメントの論理位置（Ｘｐａｔｈ）を求める。なお、Ｘｐａｔｈの具体例は後述する。
【００６９】
ステップＳ６に進み、閲覧器はアノテーション登録（現ＷｅｂページのＵＲＬと論理位置、アノテーション内容などからなるアノテーションデータ（レコード）を作り出して、それをアノテーション管理サーバ２０に送ってアノテーションデータベース２２への登録を要求する）を行う。その後、閲覧器はステップＳ１の閲覧時の処理に戻ることで、付与したアノテーションを表示に反映させることになる。
【００７０】
なお、利用者のアクションとしては、アノテーション付与要求以外に、アノテーション削除などのアノテーションに関するものや、アドレス欄に移動先のＵＲＬを記述する移動要求とかの一般の閲覧器におけるアクションがある。
【００７１】
（アノテーションデータ例）
アノテーションデータはアノテーション管理サーバ２０のアノテーションデータベース２２で管理される。図１２はアノテーションデータの一例の構成図である。図１２に示したアノテーションデータは、アノテーションが付与されたＷｅｂページのＵＲＬと、アノテーションが付与された記事を特定するための記事疑似ＩＤと、Ｗｅｂページ内のどこにアノテーションが付与されたかを示すアノテーションの論理位置と、アノテーションの内容とを有している。その他、アノテーションデータは、アノテーション付与日、アノテーション付与者、アノテーション内容のカテゴリ等の付帯情報を有することもある。
【００７２】
例えば図１２のアノテーションデータにおいて、第２レコードは、ある時点でＵＲＬ「http://foo/bar1.html」の論理位置「/body/div/div/div[2]/div/p/text()[0:9]」で示されるフラグメントに「アノテーション」というテキストがアノテーションとして付与されたことを示している。また、このアノテーションが付与された時の、そのフラグメントが属する記事は記事疑似ＩＤ「34e3fce74489」で示されるものである。仮にアノテーションが付与された時のＵＲＬ「http://foo/bar1.html」が図１３のＨＴＭＬであったとする。
【００７３】
図１３はＨＴＭＬの一例の構成図である。図１３に示したＨＴＭＬの木構造は図１４のようになる。図１４はＨＴＭＬの木構造を表した一例の構成図である。例えば図１３のＨＴＭＬに含まれる２番目の記事「記事３０１２」のテキストまでのパスは、図１４の点線で示したようになる。
【００７４】
例えば図１３のＨＴＭＬに含まれる２番目の記事「記事３０１２」のテキストまでのパスをＸｐａｔｈで表現すると「/body/div/div/div[2]/div/p/text()」となる。アノテーションの具体的な位置は、さらにテキスト（文字列）内のオフセットが必要であり、また始点と終点が必要になる。したがって、「記事３０１２」の本文の０から９文字目というフラグメントは「/body/div/div/div[2]/div/p/text()[0:9]」と表現されることになる。ここでは簡単のために始点と終点やオフセットを同時に表現したが、分割して表現してもよい。
【００７５】
なお、今閲覧しようとしているＷｅｂページとアノテーションが付与された時のＷｅｂページとは時間差もあるので、同じではないかもしれない。また、ＵＲＬや論理位置が同じであっても同じ記事とは限らない。さらに、上の例では「http://foo/bar2.html」にアノテーションが付与された時の記事は、閲覧しようとしている今はもうないかもしれない。
【００７６】
また図１２では、第２レコードも第３レコードも同じＵＲＬの同じ論理位置へのアノテーションであるが、記事疑似ＩＤが異なるので違う記事に付与されていることを示している。このように記事疑似ＩＤは記事を特定するために記事から計算して求めたものであり、例えば記事（上の例では<hr />に囲まれた部分のテキスト）のハッシュコードなどが用いられる。記事の疑似ＩＤについては後述する。
【００７７】
（閲覧時の処理）
閲覧時における閲覧器の処理は図１５に示すようになる。図１５は閲覧時における閲覧器の処理手順を表したフローチャートである。
【００７８】
ステップＳ１１に進み、閲覧器は、まず「http://foo/bar2.html」のような表示すべきＷｅｂページのＵＲＬが与えられる。ステップＳ１２に進み、閲覧器は与えられたＵＲＬに対応するＷｅｂページを読み込む。ここまでは通常の閲覧器と同じである。
【００７９】
従来のＷｅｂアノテーション機能付きの閲覧器では、ここで指定されたＵＲＬに付与されたアノテーションデータをアノテーション管理サーバ２０から取り出す。本発明による閲覧器は同系列ＵＲＬグループ抽出部３５を有しており、ステップＳ１３において、指定されたＵＲＬの同系列のグループの全アノテーションデータを読み込むことが大きな違いである。
【００８０】
例えばアノテーションデータが図１２のようなものである場合、従来の閲覧器であればＵＲＬが「http://foo/bar2.html」と一致するレコードのみを読み込む。一方、本発明の閲覧器では、ＵＲＬが「http://foo/bar2.html」と一致するレコードの他、同系列のＵＲＬのグループのレコードであるＵＲＬが「http://foo/bar1.html」のレコードも読み込む。
【００８１】
図１２のアノテーションデータでは、第２，３及び４のレコードが読み込まれることになる。この処理の実施例は後述する。閲覧器は、取り出されたアノテーションデータの集合の個々の要素であるアノテーションデータに対して以下の処理を行う。
【００８２】
ステップＳ１４に進み、閲覧器はステップＳ１３でアノテーション管理サーバ２０から取り出したアノテーションデータがまだあるか否かを判定する。アノテーションデータがまだあれば、閲覧器は一つのアノテーションデータを選択する。
【００８３】
ステップＳ１５に進み、閲覧器はステップＳ１１で指定されたＵＲＬに対応するＷｅｂページにステップＳ１４で選択したアノテーションの付与された記事が存在するか（対応する記事があるか）を判定する（同一記事判定部３４）。なお、記事の定義及び同一記事判定部３４の詳細については後述する。
【００８４】
対応する記事があれば、閲覧器はステップＳ１６に進み、その対応する記事に対してアノテーションデータを作用させる（アノテーション作用部３２）。なお、アノテーション作用部３２の詳細については後述する。ステップＳ１６に続いてステップＳ１７に進み、閲覧器はステップＳ１３でアノテーション管理サーバ２０から取り出した次のアノテーションデータを扱うため、ステップＳ１４に戻る。
【００８５】
なお、対応する記事がなければ、閲覧器は、ステップＳ１４で選択したアノテーションデータに関して何もしない。閲覧器はステップＳ１５に続いてステップＳ１７に進み、ステップＳ１３でアノテーション管理サーバ２０から取り出した次のアノテーションデータを扱うため、ステップＳ１４に戻る。
【００８６】
このように閲覧器は指定されたＵＲＬの同系列のグループの全アノテーションデータの個々のアノテーションデータに対して、そのアノテーションデータに対応する記事が指定されたＵＲＬに対応するＷｅｂページに有るかを判定する。アノテーションデータに対応する記事が指定されたＵＲＬに対応するＷｅｂページにあれば、閲覧器はアノテーションを作用させる（アノテーション作用部３２）。アノテーション作用部３２の具体例は後述する。
【００８７】
すべてのアノテーションデータの処理が終わったら、閲覧器はステップＳ１４に続いてステップＳ１８に進み、アノテーションを作用させたＷｅｂページの表示を行う。図１５では同系列のＵＲＬの集合をＷｅｂページの閲覧時に求める実施例を示したが、別の実施例として、アノテーションの付与時に同系列のＵＲＬの集合を求めてもよい。この場合は同系列のＵＲＬの集合をアノテーションデータとともに保持しておく。
【００８８】
アノテーション取り出し部３１では、閲覧しようとしているＵＲＬの同系列の集合とアノテーションを貼られた時のＵＲＬとのマッチングを取る代わりに、閲覧しようとしているＵＲＬと、アノテーションを貼られた時のＵＲＬから求めた同系列のＵＲＬの集合とのマッチングがとられることになる。
【００８９】
（同系列のグループの全アノテーションデータの読み込みの処理）
閲覧しようとしているＵＲＬの同系列のグループの全アノテーションの読み込み時における処理は、図１６に示すようになる。図１６は、閲覧しようとしているＵＲＬの同系列のグループの全アノテーションの読み込み時における処理手順を表したフローチャートである。
【００９０】
ステップＳ２１に進み、アノテーション取り出し部３１は表示すべきＷｅｂページのＵＲＬを受け取る。アノテーション処理部３１はステップＳ２２に進み、ステップＳ２１で与えられたＵＲＬに対する同系列のＵＲＬのグループを求める。この同系列のＵＲＬのグループを求める手順の詳細は後述する。
【００９１】
同系列のＵＲＬのグループはＵＲＬを元とする集合である。したがって、同系列のＵＲＬのグループは、外延的記法（集合に属する元をすべて列挙する）で表現することもできるし、内包的記法（集合に属するための元が満たさなければならない条件を明示する）で表現することもできる。
【００９２】
同系列のＵＲＬのグループの具体的な表現としては、正規表現（パターン表現）で記述することができる。閲覧器は同系列のＵＲＬのグループのパターン表現をアノテーション管理サーバ２０に送る。
【００９３】
アノテーション管理サーバ２０はステップＳ２３に進み、アノテーションデータを読み込む。ステップＳ２４に進み、アノテーション管理サーバ２０はアノテーションデータがまだあれば、ステップＳ２５に進む。アノテーション管理サーバ２０は、ステップＳ２３で読み込んだアノテーションデータのＵＲＬが同系列のＵＲＬのグループのパターン表現とマッチするかを判定する。
【００９４】
同系列のＵＲＬのグループのパターン表現とマッチすれば、アノテーション管理サーバ２０はステップＳ２６に進み、ステップＳ２３で読み込んだアノテーションデータを適合として残す。アノテーション管理サーバ２０は同系列のＵＲＬのグループのパターン表現とマッチしなければステップＳ２７に進み、ステップＳ２３で読み込んだアノテーションデータを不適合として捨てる。
【００９５】
アノテーション管理サーバ２０は、ステップＳ２４においてアノテーションデータがもう無いと判定するまで、ステップＳ２３〜Ｓ２７の処理を繰り返し行う。アノテーション管理サーバ２０は、ステップＳ２４においてアノテーションデータがもう無いと判定するとステップＳ２８に進み、適合として残したアノテーションデータを閲覧器に返すことにより閲覧しようとしているＵＲＬの同系列のグループの全アノテーションデータを閲覧器に返すことができる。
【００９６】
図１６に示したフローチャートでは、同系列のＵＲＬのグループのパターン表現に合致するＵＲＬのアノテーションデータを取り込むことで、同系列のＵＲＬのグループの全アノテーションデータの読み込みができる。
【００９７】
（同系列のＵＲＬのグループを求める処理）
同系列のグループのＵＲＬとは、一つの記事のコピーが置かれたり、時間経過に伴って記事が移動されたりするＵＲＬを言う。ブログやニュースでは、同系列のグループのＵＲＬのタイプがほぼ決まっており、例えば与えられたＵＲＬに対して通常一つ上のディレクトリが以下のすべてのＵＲＬというように決めておけばよい。
【００９８】
すなわち現在のＵＲＬが「http://サイト名/ディレクトリ1/…/ディレクトリn-1/ディレクトリn/ファイル名」ならば「ディレクトリn-1」配下のすべてのＵＲＬとしておけばよい。しかし、これでは本来、同系列のグループでないＵＲＬが混入することもある。
【００９９】
雑音の混入を防ぐためには、例えば全てのディレクトリの全てのファイルとするのではなく、cat[1-9]+/[0-9]*.{html,htm,php}のようにディレクトリ名やファイル名を、パターンを指定することで制約することもできる。いずれにしろ同系列のＵＲＬをより正しく求めることは別の技術課題である。なお、同系列でないＵＲＬの混入があっても同一記事判定部３４で同一の記事がないと判定されるので、無駄な同一判定をするという時間的ロスがあるだけで本発明を実施する上では、大きな問題にはならない。
【０１００】
（記事の定義と認定処理）
記事は文章の単位である。記事はブログにおいてエントリーと呼ばれることもある。記事は、日付、タイトル、本文、投稿者、投稿日時、コメント、トラックバック、パーマリンクなどを持つ。記事の認定処理の一つの実施例は、規則による切り分けである。一般にブログは定型的な構造を持つ。そこで、記事の認定処理では、各ブログに対して予めどのようなパターンで記事が存在するかを規則で保持し、その規則を参照することで記事を切り出す。図１３の例では、<hr />と<hr />との間を記事として切り出せばよい。
【０１０１】
別の例として例えば「MovableType」というツールで作成したブログでは、記事が図１７のような構造をしている。図１７は記事の構造を表した一例の構成図である。図１７の例では、例えば「class="entry"」の内部を記事とするように決めてやればよい。
【０１０２】
認定処理の別の実施例としては個々の規則によらず自動認定を行うこともできる。例えば記事が複数存在するならば、その構造は繰り返しになることから、繰り返し構造を利用して記事を認定できる（"HTML2RSS: Automatic Generation of RSS Feed based on Structure
Analysis of HTML Document" http://www2006.org/programme/item.php?id=p3など）。
【０１０３】
実際の運用では、規則が存在するならば規則を利用し、存在しなければ自動認定を行うなどの融合的な処理が行われる。
【０１０４】
（同一記事の判定処理）
同一記事の判定処理は、アノテーションデータが示すアノテーションの付与された記事が現在閲覧しようとするＷｅｂページに存在するかを判定するものである。
【０１０５】
同一記事の判定処理の一つの実施例は、アノテーション付与時における記事疑似ＩＤの付与がある。即ち、アノテーション付与アクションにおいて通常のアクション解析、フラグメントの論理位置計算、アノテーション登録において、フラグメントの論理位置計算とアノテーション登録の間に、閲覧器は図１８に示すような処理を行う。
【０１０６】
図１８はアノテーション付与時における記事疑似ＩＤ付与の処理手順を表した一例のフローチャートである。ステップＳ３１に進み、閲覧器はアノテーションが付与された記事の取り出しを行う。ステップＳ３２に進み、閲覧器はアノテーションが付与された記事から後述のように記事疑似ＩＤの作成を行う。
【０１０７】
ステップＳ３３に進み、閲覧器は通常のアノテーションデータに、記事疑似ＩＤを付け加えてアノテーションデータとして、アノテーション登録を行う。図１８に示した処理手順によりアノテーションデータは記事疑似ＩＤを有することになる。なお、記事ＩＤではなく記事疑似ＩＤとしたのは、記事ＩＤが記事に対して一意のものであるのに対し、記事疑似ＩＤが記事の特徴から作成したものであり、一意性を１００％保証できていないことによる。
【０１０８】
Ｗｅｂページの閲覧時、同一記事判定部３４は図１９に示すような処理を行う。図１９はＷｅｂページの閲覧時における同一記事の判定処理手順を表した一例のフローチャートである。
【０１０９】
ステップＳ４１に進み、同一記事判定部３４は現在閲覧しようとするＷｅｂページと同系列のＵＲＬのグループの全アノテーションデータのうち、同一記事の判定処理を行う記事の記事疑似ＩＤを取り出しておく。ステップＳ４２，Ｓ４３に進み、同一記事判定部３４は現在閲覧しようとするＷｅｂページの最初の記事から順に記事がなくなるまで記事を取り出して以下の処理を行う。
【０１１０】
同一記事判定部３４は、ステップＳ４４に進み、取り出した（注目している）記事の記事疑似ＩＤを求める。ステップＳ４５に進み、ステップＳ４４で求めた記事疑似ＩＤがステップＳ４１でアノテーションデータから取り出された記事疑似ＩＤと一致しているならば、注目している記事はアノテーションデータが示すところの記事と同じとみなせることになる。
【０１１１】
したがって、ステップＳ４４で求めた記事疑似ＩＤがステップＳ４１でアノテーションデータから取り出された記事疑似ＩＤと一致していれば、同一記事判定部３４はステップＳ４８に進み、現在閲覧しようとするＷｅｂページに記事疑似ＩＤで示される記事があると判定する。
【０１１２】
もし一致しないのならば、同一記事判定部３４は、注目している記事がアノテーションデータの示す記事と異なるので、ステップＳ４６に進み、次の記事の処理に進む。同一記事判定部３４は現在閲覧しようとするＷｅｂページの最初の記事から順に記事がなくなるまで記事を取り出したあと、ステップＳ４７に進み、現在閲覧しようとするＷｅｂページに記事疑似ＩＤで示される記事がないと判定する。
【０１１３】
（記事の記事疑似ＩＤ取得処理）
記事の記事疑似ＩＤ取得処理は、記事の同一性を判定するために、記事の特徴情報から記事疑似ＩＤを求めるものである。最も単純な手法は、記事全体あるいはタイトルの文字列を記事疑似ＩＤとするものである。しかし、記事全体あるいはタイトルの文字列を記事疑似ＩＤとする手法は記事疑似ＩＤの容量が大きくなり、また同一性の判定にも時間がかかる。
【０１１４】
そこで通常は、記事の記事疑似ＩＤ取得処理として、記事全体あるいは一部の文字列をハッシュコードにより数値化することが行われている。その他の記事疑似ＩＤとしては記事が投稿された日時情報を用いることもできる。また各記事のパーマリンクを記事疑似ＩＤとすることもできる。パーマリンク（固定リンク）とは、Ｗｅｂページの中の個々の記事に対して設けられたＵＲＬを与えたものである。
（参考：IT用語辞典  http://www.sophia-it.com/
content/%E3%83%91%E3%83%BC%E3%83%9E%E3%83%AA%E3%83%B3%E3%82%AF）
（アノテーション処理）
アノテーション作用部３２は、アノテーションデータを、その対応する記事に対して作用させる。アノテーションデータには、少なくともアノテーションが付与されたＷｅｂページのＵＲＬと、アノテーションが付与された記事を特定するための記事疑似ＩＤと、アノテーション内容とを持っている。また、アノテーションの位置を復元する場合にはアノテーションを作用させるべき位置として論理位置を持っている。
【０１１５】
アノテーションデータの記事に対する作用としての典型例は、アノテーションデータの追加表示である。この場合、アノテーションデータを作用させるとは、Ｗｅｂページの適切な位置にアノテーションデータの示すデータを埋め込んだ表示用のＷｅｂページを作りあげていくことであり、最後にアノテーションデータが埋め込まれたＷｅｂページを表示するものである。なお、アノテーションの記事に対する作用の別例としては、メタデータの埋め込みなどのＷｅｂページに副作用を持たせるものもある（表示の色や大きさを変えるなど）。
【０１１６】
図２０は、アノテーション処理手順を表した一例のフローチャートである。ステップＳ５１，Ｓ５２に進み、アノテーション作用部３２は同一記事の判定処理により現在閲覧しようとするＷｅｂページにあると判定された記事のアノテーションデータを無くなるまで順番に取り出す。
【０１１７】
アノテーションデータを取り出すと、アノテーション作用部３２はステップＳ５３に進み、取り出したアノテーションデータに含まれる論理位置からＷｅｂページにおける実際の位置を求める。アノテーション作用部３２は、ステップＳ５４に進み、取り出したアノテーションの種類が表示用か、その他の種類かを判定する。
【０１１８】
取り出したアノテーションの種類が表示用であれば、アノテーション作用部３２はステップＳ５５に進み、表示用のＨＴＭＬフラグメントを作成する。ステップＳ５６に進み、アノテーション作用部３２は作成した表示用のＨＴＭＬフラグメントを表示用一時ＨＴＭＬに埋め込み、Ｗｅｂページの適切な位置にアノテーションデータの示すデータを埋め込んだ表示用のＷｅｂページを作りあげる。
【０１１９】
なお、アノテーション作用部３２は同一記事の判定処理により現在閲覧しようとするＷｅｂページにあると判定された記事のアノテーションデータを無くなるまで順番に取り出したあと、ステップＳ５７に進み、表示用一時ＨＴＭＬを表示部に渡すことによりアノテーションデータが埋め込まれたＷｅｂページを表示できる。
【０１２０】
（アノテーション位置の復元処理）
アノテーションが付与された時のアノテーションの記事内部での位置を復元する為にはアノテーション付与時にアノテーションの付与された位置がどの記事の内部にあたるのかアノテーションが付与された記事を特定し、アノテーションが付与された位置の記事内部での論理位置を求め、その論理位置をアノテーションが付与されたＷｅｂページのＵＲＬ，アノテーションが付与された記事の記事疑似ＩＤやアノテーションの内容と共にアノテーションデータとして記録しておく。
【０１２１】
そしてＷｅｂページの閲覧時、アノテーションを復元する際に、アノテーションデータから記事の論理位置を取り出し、対応する記事の論理位置の場所を求め、その場所をアノテーションの作用位置とする。図２１及び図２２はＨＴＭＬの木構造を表した一例の構成図である。
【０１２２】
例えば図２１の木構造の例では、<hr />と<hr />の間を記事として定義するならば「/body/div/div/div[2]/div/p/text()」の記事は点線で示した「/body/div/div/hr[2]/」から「/body/div/div/hr[3]/」の範囲になる。したがって、記事内でのアノテーションの論理位置は「div/div/p/text()」となる。
【０１２３】
したがって、記事３０１２が「http://foo/bar2.html」に移った例では、記事３０１２の位置を認識した後は、例えば図２２に点線で示す論理位置を使ってアノテーションを付与するべき位置を決定することができる。アノテーション位置の復元処理における論理位置の計算は、例えば図２３のフローチャートで示す処理手順により行われる。図２３は論理位置の計算を行う処理手順を表した一例のフローチャートである。
【０１２４】
ステップＳ６１に進み、アノテーション位置復元部３７は、まず記事のパターンから記事範囲の上位ノードを求める。図２１の例では<hr />で区切られた範囲を記事と認定したので、記事範囲の上位ノードのＸｐａｔｈが「/body/div/div」となる。
【０１２５】
ステップＳ６２に進み、アノテーション位置復元部３７はアノテーションのＸｐａｔｈを求める。図２１の例ではアノテーションのＸｐａｔｈとして「/body/div/div/div[2]/div/p/text()」を求める。ステップＳ６３，Ｓ６４ではアノテーション位置復元部３７が、記事範囲外に出るまでアノテーションのＸｐａｔｈ「/body/div/div/div[2]/div/p/text()」を１つずつ上位にたどる。この例では「/body/div/div」までたどりつく。
【０１２６】
記事範囲外に出ると、アノテーション位置復元部３７はステップＳ６５に進み、記事パターンからアノテーションを包含する記事範囲を求める（点線で囲まれた部分）。そしてアノテーション位置復元部３７は、現在位置である「/body/div/div」からアノテーション位置までの記事範囲内でのＸｐａｔｈを求める。
【０１２７】
図２１の例では、現在位置である「/body/div/div」からアノテーション位置までの記事範囲内でのＸｐａｔｈが「div/div/p/text()」となる。なお、上位ノードからの全体範囲では２番目の「div」なので「div[2]/div/p/text()」であるが、記事範囲に限定すると最初の「div」になるのでこのようになる。
【０１２８】
これまではアノテーションデータベース２２にアノテーションの論理位置を格納した例を示したが、アノテーション位置の復元をする上では記事内部での相対論理位置を格納する方が良い。相対論理位置を格納するとアノテーションデータは図２４のようになる。図２４は相対論理位置を格納するとアノテーションデータの一例の構成図である。なお、実際には記事以外の固定部分へのアノテーションも考えられる。そのようなアノテーションに対しては、論理位置を保持しておくことになる。
【０１２９】
相対論理位置からのアノテーション位置の復元は、例えば図２５のフローチャートで示す処理手順により行われる。図２５は相対論理位置からのアノテーション位置の復元処理手順を表した一例のフローチャートである。相対論理位置からのアノテーション位置の復元処理では、認定された記事と相対論理位置からアノテーションの位置を復元する。
【０１３０】
ステップＳ７１に進み、アノテーション位置復元部３７は記事の上位ノード「/body/div/div」を求める。ステップＳ７２に進み、アノテーション位置復元部３７は相対論理位置及び記事範囲から最初の子ノードを求める。アノテーション位置復元部３７は記事の上位ノードから相対論理位置のＸｐａｔｈにしたがって木構造をたどる。
【０１３１】
その際、アノテーション位置復元部３７は、最初の子ノードを認定された記事範囲内での相対論理位置としてたどる。図２１の例では、記事の上位ノードが「/body/div/div」であり、相対論理位置が「div/div/p/text()」であるが、記事範囲から最初の「div」が全体でも最初の「div」であることを求め、後は順にたどることで、「/body/div/div/div/div/p/text()」にたどりつく。アノテーション位置復元部３７はステップＳ７５に進み、たどりついたところを復元場所とする。
【０１３２】
（まとめ）
本発明は、フロー型情報のアノテーションに対応するために、記事内容から記事を特定するための情報（記事疑似ID）を計算して持たせるが、ページをまたがった移動や、関連ページへの複写に対応するために、指定されたＵＲＬに付与されたアノテーションだけではなく、閲覧しようとしているＵＲＬの同系列のグループの全アノテーションをとりにいくことがポイントである。しかし、これだけではアノテーションの位置を復元できないので、本発明はアノテーションの位置を各ＵＲＬに依存した位置ではなく記事における相対位置で管理することでアノテーションの位置の復元も可能としている。
【実施例２】
【０１３３】
実施例１では閲覧しようとしているＵＲＬをキーとして、閲覧しようとしているＵＲＬの同系列のグループの全アノテーション（関連するアノテーション）を取り出す例を示したが、別の実施例として、記事疑似ＩＤをキーとして関連するアノテーションを取り出すこともできる。
【０１３４】
閲覧時における閲覧器の処理は図２６に示すようになる。図２６は閲覧時における閲覧器の処理手順を表したフローチャートである。
【０１３５】
ステップＳ８１に進み、閲覧器は、まず「http://foo/bar2.html」のような表示すべきＷｅｂページのＵＲＬが与えられる。ステップＳ８２に進み、閲覧器は与えられたＵＲＬに対応するＷｅｂページを読み込む。ステップＳ８３，Ｓ８４では、閲覧器が、読み込んだＷｅｂページ中にある記事を順番に取り出す。
【０１３６】
ステップＳ８５に進み、閲覧器は取り出した記事の記事疑似ＩＤを求める。ステップＳ８６に進み、閲覧器はステップＳ８５で求めた記事疑似ＩＤをキーとしてアノテーション管理サーバ２０に対してアノテーションデータを取り出すように依頼する。
【０１３７】
アノテーション管理サーバ２０は記事疑似ＩＤに対応するアノテーションデータがあれば、記事疑似ＩＤに対応する１つ以上のアノテーションデータを閲覧器に渡す。ステップＳ８７に進み、閲覧器は記事疑似ＩＤに対応するアノテーションデータを渡されると、ステップＳ８８に進み、アノテーションデータを対応する記事に作用させたあと、ステップＳ８３に戻る。閲覧器は記事疑似ＩＤに対応するアノテーションデータを渡されなければ、そのままステップＳ８３に戻る。なお、アノテーションデータを対応する記事に作用させる仕方は実施例１と同様である。
【０１３８】
読み込んだＷｅｂページ中にあるすべての記事に対して処理が終了したら、閲覧器はステップＳ８４に続いてステップＳ８９に進み、アノテーションを作用させたＷｅｂページの表示を行う。
【０１３９】
例えば与えられたＵＲＬ「http://foo/bar2.html」に対して図２７のＨＴＭＬで表されるＷｅｂページを読み込んだとする。図２７はＨＴＭＬの一例の構成図である。閲覧器は図２７の点線で囲んだ<hr />と<hr />との間を記事として認定し、図２７の点線で囲んだ部分を記事として切り出す。
【０１４０】
閲覧器は、切り出した記事から記事疑似ＩＤ「34e3fce74489」を計算し、この記事疑似ＩＤ「34e3fce74489」をキーとしてアノテーションデータベース２２からアノテーションデータを取り出す。例えば図２４のアノテーションデータの場合、第２レコードを構成するＵＲＬ「http://foo/bar1.html」、記事疑似ＩＤ「34e3fce74489」、相対論理位置「div/div/p/text()[0:9]、アノテーション内容「アノテーション」が見つかるので、閲覧器は前述のようにアノテーションデータをＷｅｂページに作用させたあと、Ｗｅｂページを表示させる。
【０１４１】
（まとめ）
本発明は、フロー型情報のアノテーションに対応するために、記事内容から記事を特定するための情報（記事疑似ID）を計算して持たせるが、ページをまたがった移動や、関連ページへの複写に対応するために、閲覧しようとしているＵＲＬの同系列のグループを特定せずに、記事疑似ＩＤを直接検索することにより記事単位のアノテーションを可能としている。
【０１４２】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるコンピュータを、
利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、
利用者からの前記情報資源の参照要求に基づき、前記情報資源に含まれている１つ以上の情報を特定する第２疑似識別子で前記アノテーション管理手段を検索し、前記第２疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の情報に作用させるアノテーション作用手段と
して機能させる為のアノテーションプログラム。
（付記２）
前記情報は、ネットワーク上の情報資源に含まれる１つ以上の記事であり、
前記アノテーション付与手段は、前記コンピュータを、
利用者からの前記アノテーションの付与要求に基づいて前記アノテーションの付与対象となる記事を特定する第１記事特定手段と、
前記特定した記事から前記第１疑似識別子を生成する第１疑似識別子生成手段と、
前記生成した第１疑似識別子を前記情報資源特定情報及び前記アノテーション情報と対応付けてアノテーション管理手段に登録する登録手段と
して機能させる為の付記１記載のアノテーションプログラム。
（付記３）
前記アノテーション情報は、前記アノテーションの内容を有しており、
前記アノテーション作用手段は、前記コンピュータを、
利用者からの前記ネットワーク上の情報資源の参照要求に基づいて前記情報資源に含まれる１つ以上の記事を特定する第２記事特定手段と、
前記特定した記事から第２疑似識別子を生成する第２疑似識別子生成手段と、
前記第２疑似識別子に対応する前記アノテーションの内容を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の記事に作用させるように前記情報資源を更新するアノテーション処理手段と
して機能させる付記２記載のアノテーションプログラム。
（付記４）
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるコンピュータを、
利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、
利用者からの前記情報資源の参照要求に基づき、前記情報資源に関連のある同系列の前記情報資源のグループを前記情報資源特定情報に基づいて抽出し、前記アノテーション管理手段から前記グループの前記情報資源特定情報に対応する前記アノテーション情報及び第１疑似識別子を検索し、利用者からの参照要求のあった前記情報資源に含まれる１つ以上の情報を特定する第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の情報に作用させるアノテーション作用手段と
して機能させる為のアノテーションプログラム。
（付記５）
前記情報は、ネットワーク上の情報資源に含まれる１つ以上の記事であり、
前記アノテーション付与手段は、前記コンピュータを、
前記アノテーションの付与対象となる記事を特定する第１疑似識別子を更に前記記事上の前記アノテーションを付与した論理位置情報と対応付けてアノテーション管理手段に登録するアノテーション位置登録手段として機能させ、
前記アノテーション作用手段は、前記コンピュータを、
利用者からの参照要求のあった前記情報資源に含まれる１つ以上の記事を特定する第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記論理位置情報から、前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の記事に作用させる位置を復元するアノテーション位置復元手段と
して機能させる付記４記載のアノテーションプログラム。
（付記６）
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるアノテーション装置であって、
利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、
利用者からの前記情報資源の参照要求に基づき、前記情報資源に含まれている１つ以上の情報を特定する第２疑似識別子で前記アノテーション管理手段を検索し、前記第２疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の情報に作用させるアノテーション作用手段と
を有するアノテーション装置。
（付記７）
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるアノテーション装置であって、
利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与手段と、
利用者からの前記情報資源の参照要求に基づき、前記情報資源に関連のある同系列の前記情報資源のグループを前記情報資源特定情報に基づいて抽出し、前記アノテーション管理手段から前記グループの前記情報資源特定情報に対応する前記アノテーション情報及び第１疑似識別子を検索し、利用者からの参照要求のあった前記情報資源に含まれる１つ以上の情報を特定する第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の情報に作用させるアノテーション作用手段と
を有するアノテーション装置。
（付記８）
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるアノテーション装置のアノテーション方法であって、
前記アノテーション装置が、利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与ステップと、
前記アノテーション装置が、利用者からの前記情報資源の参照要求に基づき、前記情報資源に含まれている１つ以上の情報を特定する第２疑似識別子で前記アノテーション管理手段を検索し、前記第２疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の情報に作用させるアノテーション作用ステップと
を有するアノテーション方法。
（付記９）
ネットワーク上の情報資源に含まれている１つ以上の情報に対してアノテーションを付与し、又は前記情報にアノテーションを作用させるアノテーション装置のアノテーション方法であって、
前記アノテーション装置が、利用者からの前記アノテーションの付与要求に基づき、前記アノテーションの付与対象となる情報を特定する第１疑似識別子を情報資源特定情報及びアノテーション情報と対応付けてアノテーション管理手段に登録するアノテーション付与ステップと、
前記アノテーション装置が、利用者からの前記情報資源の参照要求に基づき、前記情報資源に関連のある同系列の前記情報資源のグループを前記情報資源特定情報に基づいて抽出し、前記アノテーション管理手段から前記グループの前記情報資源特定情報に対応する前記アノテーション情報及び第１疑似識別子を検索し、利用者からの参照要求のあった前記情報資源に含まれる１つ以上の情報を特定する第２疑似識別子に前記第１疑似識別子と同一のものがあれば前記第１疑似識別子に対応する前記アノテーション情報を前記利用者から参照要求のあった前記情報資源に含まれている１つ以上の情報に作用させるアノテーション作用ステップと
を有するアノテーション方法。
【０１４３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【０１４４】
【図１】Ｗｅｂページの一例のイメージ図である。
【図２】アノテーションが付与されたＷｅｂページの一例のイメージ図である。
【図３】記事が追加されたＷｅｂページの一例のイメージ図である。
【図４】リンク先のＷｅｂページの一例のイメージ図である。
【図５】リンク先のＷｅｂページに復元したアノテーションの一例のイメージ図である。
【図６】本発明の原理を表した説明図である。
【図７】本発明の他の原理を表した説明図である。
【図８】本発明の他の原理を説明した説明図である。
【図９】本発明によるアノテーション方法を実現するシステムの一例の構成図である。
【図１０】アノテーション装置の一例のハードウェア構成図である。
【図１１】典型的な閲覧器の処理手順を表したフローチャートである。
【図１２】アノテーションデータの一例の構成図である。
【図１３】ＨＴＭＬの一例の構成図である。
【図１４】ＨＴＭＬの木構造を表した一例の構成図である。
【図１５】閲覧時における閲覧器の処理手順を表したフローチャートである。
【図１６】閲覧しようとしているＵＲＬの同系列のグループの全アノテーションの読み込み時における処理手順を表したフローチャートである。
【図１７】記事の構造を表した一例の構成図である。
【図１８】アノテーション付与時における記事疑似ＩＤ付与の処理手順を表した一例のフローチャートである。
【図１９】Ｗｅｂページの閲覧時における同一記事の判定処理手順を表した一例のフローチャートである。
【図２０】アノテーション処理手順を表した一例のフローチャートである。
【図２１】ＨＴＭＬの木構造を表した一例の構成図である。
【図２２】ＨＴＭＬの木構造を表した一例の構成図である。
【図２３】論理位置の計算を行う処理手順を表した一例のフローチャートである。
【図２４】相対論理位置を格納するとアノテーションデータの一例の構成図である。
【図２５】相対論理位置からのアノテーション位置の復元処理手順を表した一例のフローチャートである。
【図２６】閲覧時における閲覧器の処理手順を表したフローチャートである。
【図２７】ＨＴＭＬの一例の構成図である。
【符号の説明】
【０１４５】
１    同系統ＵＲＬグループ抽出部
２    アノテーション取り出し部
３    同一記事判定部
４    アノテーション処理部
５    アノテーション位置復元部
６    記事取り出し部
７    記事ＩＤ取得部
８    記事ＩＤによるアノテーション獲得部
１０    アノテーション付与装置
１１    Ｗｅｂページ受信部
１２    アノテーション情報獲得部
１３    論理位置特定部
１４    記事特定部
１５    記事内部相対論理位置取得部
１６    アノテーション作成部
１７    記事疑似ＩＤ付与部
１８    アノテーション送信部
２０    アノテーション管理サーバ
２１    アノテーションデータベース管理部
２２    アノテーションデータベース
３０    アノテーション作用装置
３１    アノテーション取り出し部
３２    アノテーション作用部
３３    記事特定部
３４    同一記事判定部
３５    同系列ＵＲＬグループ抽出部
３６    Ｗｅｂページ受信部
３７    アノテーション位置復元部
【図１】
0005098605.tif 000002
【図２】
0005098605.tif 000003
【図３】
0005098605.tif 000004
【図４】
0005098605.tif 000005
【図５】
0005098605.tif 000006
【図６】
0005098605.tif 000007
【図７】
0005098605.tif 000008
【図８】
0005098605.tif 000009
【図９】
0005098605.tif 000010
【図１０】
0005098605.tif 000011
【図１１】
0005098605.tif 000012
【図１２】
0005098605.tif 000013
【図１３】
0005098605.tif 000014
【図１４】
0005098605.tif 000015
【図１５】
0005098605.tif 000016
【図１６】
0005098605.tif 000017
【図１７】
0005098605.tif 000018
【図１８】
0005098605.tif 000019
【図１９】
0005098605.tif 000020
【図２０】
0005098605.tif 000021
【図２１】
0005098605.tif 000022
【図２２】
0005098605.tif 000023
【図２３】
0005098605.tif 000024
【図２４】
0005098605.tif 000025
【図２５】
0005098605.tif 000026
【図２６】
0005098605.tif 000027
【図２７】
0005098605.tif 000028