JP5391738B2 - Annotation program, annotation apparatus, and annotation method - Google Patents
Annotation program, annotation apparatus, and annotation method Download PDFInfo
- Publication number
- JP5391738B2 JP5391738B2 JP2009048544A JP2009048544A JP5391738B2 JP 5391738 B2 JP5391738 B2 JP 5391738B2 JP 2009048544 A JP2009048544 A JP 2009048544A JP 2009048544 A JP2009048544 A JP 2009048544A JP 5391738 B2 JP5391738 B2 JP 5391738B2
- Authority
- JP
- Japan
- Prior art keywords
- annotation
- operation log
- web resource
- web
- deletion
- 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
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、アノテーションプログラム、アノテーション装置及びアノテーション方法に係り、特に利用者からの付与要求に基づき情報へアノテーションを付与し、又は利用者からの参照要求に基づき情報にアノテーションを作用させるアノテーションプログラム、アノテーション装置及びアノテーション方法に関する。 The present invention relates to an annotation program, an annotation apparatus, and an annotation method, and in particular, an annotation program that adds an annotation to information based on a request from a user, or acts on information based on a reference request from a user, an annotation The present invention relates to an apparatus and an annotation method.
近年、インターネットやイントラネット等のネットワーク上の情報資源(例えばWebページ)に二次情報としてアノテーションを付与するWebアノテーション技術が、よく利用されるようになった。 In recent years, Web annotation technology for giving annotations as secondary information to information resources (for example, Web pages) on a network such as the Internet or an intranet has been often used.
Webアノテーション技術はネットワーク上のWebページに対してWebページの作者と異なる別の第三者が、そのWebページに対して、付箋,下線,又はマーカなどのアノテーションを付与し、そのWebページの閲覧(参照)時に、付与したアノテーションをWebページと同時に表示したり、又は付与したアノテーションに基づいた処理をWebページに加えたりするものである。 In Web annotation technology, another third party different from the Web page creator gives a Web page on the network an annotation such as a tag, underline, or marker, and browses the Web page. At the time of (reference), the added annotation is displayed simultaneously with the Web page, or processing based on the added annotation is added to the Web page.
通常はアノテーションが付与されたときに、そのWebページに対する一意の名前(例えばURL)を保持しておき、そのURLで指定されるWebページの閲覧時に、Webページに付与したアノテーションを復元することにより、時間をおいてのWebページの閲覧や、アノテーションを付与したアノテータと異なる第三者による閲覧であってもアノテーションを復元できる。 Normally, when an annotation is added, a unique name (for example, URL) for the Web page is held, and when the Web page specified by the URL is browsed, the annotation attached to the Web page is restored. An annotation can be restored even when browsing a Web page over time or browsing by a third party different from the annotator with the annotation.
このようなWebアノテーション技術は、情報共有、校正支援、レビュー支援、調査支援、広告システムなど、広く利用されている。 Such Web annotation technology is widely used for information sharing, proofreading support, review support, survey support, advertising systems, and the like.
従来、Webページに対してアノテーションを付与し、付与したアノテーションを複数の利用者で共有する場合は、共通サーバにWebページのURLと、そのURLで示されるHTMLファイルに付与されたアノテーションの位置及び内容とを管理テーブルに登録することがよく行われている。 Conventionally, when an annotation is given to a web page and the given annotation is shared by a plurality of users, the URL of the web page on the common server, the position of the annotation given to the HTML file indicated by the URL, The contents are often registered in a management table.
利用者がURLを指定してWebサーバにHTMLファイルを要求すると、共通サーバはWebサーバからHTMLファイルを取得する。次に、共通サーバは管理テーブルを参照し、指定されたURLに対応するアノテーションが登録されていれば、アノテーションをHTMLファイルに埋め込んで利用者のクライアントに送信する。共通サーバは、上記のようにすることで、Webページに付与されたアノテーションを複数の利用者で共有させることができる(例えば引用文献1参照)。 When the user designates a URL and requests an HTML file from the Web server, the common server acquires the HTML file from the Web server. Next, the common server refers to the management table, and if an annotation corresponding to the designated URL is registered, the annotation is embedded in the HTML file and transmitted to the user's client. The common server can share the annotation given to the Web page among a plurality of users by doing the above (see, for example, cited document 1).
なお、引用文献1に記載されている技術は、電子書籍のようなデジタルコンテンツを対象としているため、アノテーションの位置の特定に、ページ識別子と行識別子とを用いている。
Note that the technique described in the cited
しかしながら、アノテーション付与時とアノテーション復元時とは時間的なずれがあるため、アノテーションを付与してから復元するまでの間に、そのWebページに対して他のアノテーションが付与される操作や付与されていたアノテーションが削除される操作が行われているかもしれないし、あるいはアノテーションの対象となっているWebページ自身がニュース記事やブログなどのように変更されているかもしれない。 However, since there is a time lag between the time when an annotation is given and the time when the annotation is restored, an operation that gives another annotation to the Web page and the time when the annotation is given and restored. The annotation may have been deleted, or the annotation target Web page itself may have been changed, such as a news article or blog.
Webアノテーション技術では、このようなアノテーションの操作やWebページの変更などがあっても、アノテーション付与時の意図した位置(XY座標のような物理的な位置ではなく、Webページとの関係をとらえた位置)にアノテーションを復元したいという要望があった。 With Web annotation technology, even if such annotation operations or web page changes occur, the intended position at the time of annotation assignment (not the physical position such as XY coordinates, but the relationship with the Web page was captured. There was a request to restore the annotation to (position).
実際のWebページは、HTMLやXML等のWebページ記述言語(以下、HTMLを例に説明する)で記述されている。WebページではアノテーションもHTMLフラグメントとして記述される。ここでは説明のために各HTMLフラグメントを文字で示した一次元の文字列で説明する。 The actual Web page is described in a Web page description language such as HTML or XML (hereinafter described using HTML as an example). Annotations are also described as HTML fragments in the Web page. Here, for description, each HTML fragment will be described with a one-dimensional character string indicating characters.
アノテーションの無いWebページは「ABCDEFGHIJ」で示される。「ABCDEFGHIJ」の各文字は、実際、<table><tr><td>1</td><td>2</td></tr></table>のようなHTMLフラグメントである。 A web page without an annotation is indicated by “ABCDEFGHIJ”. Each character of “ABCDEFGHIJ” is actually an HTML fragment such as <table> <tr> <td> 1 </ td> <td> 2 </ td> </ tr> </ table>.
ここではWebページにアノテーション「X」を付与したものとする。アノテーション「X」は、実際、<div class="annotation">アノテーション</div>のようなHTMLフラグメントである。アノテーション「X」はWebページ中の位置を持つ。 Here, it is assumed that the annotation “X” is given to the Web page. The annotation “X” is actually an HTML fragment like <div class = "annotation"> annotation </ div>. The annotation “X” has a position in the Web page.
例えば「C」と「D」との間に付与される場合、アノテーション「X」は「3」という位置を持つ。実際、HTMLは図1のような木構造で表現される。図1は木構造で表現されたHTMLの一例の構成図である。図1において、「body」の下の2番目(左から2番目)の「h2」を指定するには、例えば「/html/body/h2[2]」という木構造のパス表現(Xpath)が用いられる。 For example, when it is given between “C” and “D”, the annotation “X” has a position of “3”. Actually, HTML is represented by a tree structure as shown in FIG. FIG. 1 is a configuration diagram of an example of HTML expressed in a tree structure. In FIG. 1, in order to specify the second (second from the left) “h2” under “body”, for example, a path expression (Xpath) of a tree structure “/ html / body / h2 [2]” is used. Used.
Xpathとは、XY座標のような表示に依存する物理的な位置ではなく、何段落目の何文字目のような表示と独立な文字の位置をいう。XpathはW3Cが勧告した標準仕様でXML文書の特定の要素を指し示す記述方法である。 Xpath is not a physical position depending on display such as XY coordinates, but a character position independent of the display of what character in what paragraph. Xpath is a standard method recommended by the W3C, and is a description method that points to a specific element of an XML document.
例えば位置「3」にアノテーション「X」が付与されると、アノテーションを保持するデータベース(DB)にはアノテーションの位置と内容とが保持される。ここでは、アノテーションの位置と内容とを(3,X)と表現する。 For example, when the annotation “X” is given to the position “3”, the position and content of the annotation are held in the database (DB) that holds the annotation. Here, the position and content of the annotation are expressed as (3, X).
ここで注意すべき点は、Webページが、インターネット上の他のWebサーバ上に存在することである。つまり、そのWebページ自身は管理下にはない。すなわち、Webページはこちら(本システム)側で自由に書き換えることができないし、また、こちらが意図しないうちに内容が書き換えられるかもしれない。このように、本システム側で管理するのは、どのWebページのどの位置にどのようなアノテーションが付与されているかという情報である。 What should be noted here is that the Web page exists on another Web server on the Internet. That is, the Web page itself is not under management. That is, the Web page cannot be freely rewritten on this side (this system), and the content may be rewritten before this is intended. Thus, what is managed on the system side is information on what annotations are assigned to which positions on which Web pages.
例えば(3,X)というアノテーションが付与されたWebページ「ABCDEFGHIJ」は、本システムに取り込まれると、「ABCXDEFGHIJ」(実際はHTML文書である)と復元される。復元されたWebページは、Web閲覧器(ブラウザ)等に渡されることでオリジナルのWebページに対してアノテーション「X」が付与されるように処理される。 For example, a Web page “ABCDEFGHIJ” with an annotation of (3, X) is restored to “ABCXDEFGHIJ” (actually an HTML document) when it is taken into this system. The restored web page is processed so that the annotation “X” is given to the original web page by being passed to a web browsing device (browser) or the like.
例えばアノテーション「X」は付箋紙のような形式で「C」と「D」との間の位置に表示される。図2は付箋紙のような形式のアノテーションが表示されたWebページの一例の画面イメージ図である。図2中、アノテーション1は元のHTMLに対して、HTMLフラグメントであり、これらが一緒になって一つのHTMLとなっている。
For example, the annotation “X” is displayed at a position between “C” and “D” in a form like a sticky note. FIG. 2 is a screen image diagram of an example of a Web page on which annotations in the form of sticky notes are displayed. In FIG. 2,
図2のようにアノテーションされているWebページに対し、さらに「G」と「H」との間にアノテーション「Y」を付与する場合は、既にアノテーション「X」が付与されているため、アノテーション「Y」の位置が「8」となる。アノテーションを保持するDBには(8,Y)が登録される。 When an annotation “Y” is further added between “G” and “H” to the annotated Web page as shown in FIG. 2, since the annotation “X” has already been added, the annotation “ The position of “Y” is “8”. (8, Y) is registered in the DB holding the annotation.
この結果、Webページのアノテーションは(3,X)、(8,Y)となり、本システムに取り込まれると、「ABCXDEFGYHIJ」(実際はHTML文書である)と復元される。 As a result, the annotation of the Web page becomes (3, X), (8, Y), and when it is taken into the system, it is restored as “ABCXDEFGHIHIJ” (actually an HTML document).
さらに「E」と「F」との間にアノテーション「Z」を付与されると、アノテーションを保持するDBには(6,Z)が登録される。アノテーションを保持するDBは、それぞれのアノテーション付与の順序関係を保つように(3,X)、(8,Y)、(6,Z)が保持される。 Further, when the annotation “Z” is given between “E” and “F”, (6, Z) is registered in the DB holding the annotation. The DB that holds annotations holds (3, X), (8, Y), and (6, Z) so as to maintain the order relationship of the annotations.
本システムでは、それぞれのアノテーション付与の順序関係を保ち、アノテーションの作用においても付与の順序関係を保つ。例えば「3」の位置にアノテーション「X」を付与することで、Webページは「ABCXDEFGHIJ」と復元される。次に「8」の位置にアノテーション「Y」を付与することで、Webページは「ABCXDEFGYHIJ」と復元される。最後に「6」の位置にアノテーション「Z」を付与することで、Webページは「ABCXDEZFGYHIJ」と復元される。このように、本システムではアノテーションの位置を正しく復元できる。 In this system, the order relationship of each annotation is maintained, and the order relationship of annotation is also maintained in the action of annotation. For example, by adding the annotation “X” to the position “3”, the Web page is restored as “ABCXDEFGHIJ”. Next, by adding the annotation “Y” to the position “8”, the Web page is restored as “ABCXDEFGYHIJ”. Finally, by adding the annotation “Z” to the position “6”, the Web page is restored as “ABCXDEZFGYHIJ”. In this way, the position of the annotation can be correctly restored in this system.
例えば、アノテーション付与の順序関係を破り、アノテーション(8,Y)の前にアノテーション(6,Z)を付与してしまうと、アノテーション(8,Y)は意図通りの位置に復元できない。 For example, if the order relationship of annotation is broken and annotation (6, Z) is added before annotation (8, Y), annotation (8, Y) cannot be restored to the intended position.
上述したように、本システムでは、アノテーション付与の順序関係を保存し、その順序でアノテーションを復元することで、同一のWebページに対して複数のアノテーションが存在しても正しい位置にアノテーションを復元できるようになっている。 As described above, in this system, annotation ordering relationship is saved, and annotations are restored in that order, so that annotations can be restored to the correct position even if multiple annotations exist for the same Web page. It is like that.
しかし、本システムではアノテーションの一部が削除されると、残りのアノテーションが意図どおりに復元されないという問題があった。例えば、アノテーションを保持するDBは、アノテーション付与の順序関係を保つように(3,X)、(8,Y)、(6,Z)が保持されたものとする。ここでは、アノテーション(3,X)が削除されたものとして説明する。 However, this system has a problem that when a part of the annotation is deleted, the remaining annotation is not restored as intended. For example, it is assumed that a DB that holds annotations holds (3, X), (8, Y), and (6, Z) so as to maintain the order relationship of annotation assignment. Here, it is assumed that the annotation (3, X) has been deleted.
前述したように、アノテーションとはWebページに直接付与するものではなく、どのWebページのどの位置にどんなアノテーションを付与したかを保持したデータベースのレコードである。したがって、アノテーションの削除とは、このレコードを削除することを意味している。 As described above, the annotation is not directly assigned to the Web page, but is a database record that holds what annotation is assigned to which position on which Web page. Therefore, deleting the annotation means deleting this record.
アノテーションを保持するDBからレコードを削除することで、そのアノテーションはWebページ上に復元されなくなり、Webページ上からそのアノテーションが削除されたようにみえる。この場合、アノテーションを保持するDBでは(8,Y)、(6,Z)が保持される。このWebページ「ABCDEFGHIJ」にアクセスし、「8」の位置にアノテーション「Y」を復元しようとすると、本システムでは、アノテーション「Y」の位置を決めたときに存在したアノテーション「X」が無くなってしまったため、「8」の位置が「G」と「H」との間でなく「H」の後ろになってしまう。同様に、本システムではアノテーション「Z」の位置を決めたときに存在したアノテーション「X」が無くなってしまったため、「6」の位置が「E」と「F」との間でなく「F」の後ろになってしまう。 By deleting the record from the DB holding the annotation, the annotation is not restored on the Web page, and it appears that the annotation has been deleted from the Web page. In this case, (8, Y) and (6, Z) are held in the DB holding the annotation. When accessing this web page “ABCDEFGHIJ” and attempting to restore the annotation “Y” at the position “8”, the annotation “X” that existed when the position of the annotation “Y” was determined is lost in this system. Therefore, the position of “8” is not between “G” and “H” but behind “H”. Similarly, in this system, the annotation “X” that existed when the position of the annotation “Z” was determined to be lost, so the position of “6” is not between “E” and “F” but “F”. Will be behind.
結果、Webページは期待した「ABCDEZFGYHIJ」でなく、「ABCDEFZGHYIJ」となってしまうという問題があった。 As a result, there is a problem that the Web page is not “ABCDEFZFGYHIJ” but “ABCDEFZGHYIJ”.
本発明の一実施形態は、上記の点に鑑みなされたもので、他のアノテーションの削除により生じるアノテーションの埋め込み位置のずれを防ぐことができるアノテーションプログラム、アノテーション装置及びアノテーション方法を提供することを目的とする。 An embodiment of the present invention has been made in view of the above points, and an object thereof is to provide an annotation program, an annotation apparatus, and an annotation method capable of preventing a shift in an annotation embedding position caused by deletion of another annotation. And
上記課題を解決するため、本発明の一実施形態は、アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、前記コンピュータを、Web資源を受信する受信手段と、受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段として動作させ、後で削除操作により削除されるアノテーションであっても、一時的に、前記マーカを付与して前記Web資源に埋め込み、前記操作ログから時系列に選択された削除操作に基づき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーションプログラムである。 In order to solve the above-described problem, an embodiment of the present invention is an annotation program for operating a computer that manages annotation information, the computer including a reception unit that receives a Web resource, and an operation log for the received Web resource. Annotation operation log acquisition unit that retrieves the Web resource identification information and operation log in association with each other in time series, and an operation for the Web resource that is extracted from the annotation operation log storage unit Annotation marker adding means for selecting a log in chronological order and adding an identifiable marker to the annotation embedded in the Web resource when the operation log is an annotation giving operation; and the annotation operation log storage means From An operation log for the extracted Web resource is selected in chronological order, and when the operation log is an annotation deletion operation, an annotation that is the target of the deletion operation embedded in the Web resource using the marker Even if an annotation is deleted later by a deletion operation, the marker is temporarily added and embedded in the Web resource, and the time series is recorded from the operation log. based on the selected delete operation, by using the marker, an annotation program that identify and delete the annotation is the subject of the delete operation embedded in Web resources.
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。 In addition, what applied the component, the expression, or arbitrary combinations of the component of one Embodiment of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention. .
上述の如く、本発明の一実施形態によれば、他のアノテーションの削除により生じるアノテーションの埋め込み位置のずれを防ぐことができるアノテーションプログラム、アノテーション装置及びアノテーション方法を提供できる。 As described above, according to an embodiment of the present invention, it is possible to provide an annotation program, an annotation apparatus, and an annotation method that can prevent a deviation in the annotation embedding position caused by deletion of another annotation.
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。 Next, modes for carrying out the present invention will be described based on the following embodiments with reference to the drawings.
(本実施例の概要)
本実施例は、時系列操作保持によるWebアノテーション位置復元方式について説明するものである。本実施例では、アノテーション位置をXPathのような構造位置情報で保持し、各アノテーションの構造位置情報から外部のWebページ(テキスト)上のアノテーション対応位置を求めてアノテーションを一時的に埋め込むWebアノテーションシステムについて説明する。
(Overview of this example)
In this embodiment, a Web annotation position restoration method using time series operation holding will be described. In the present embodiment, the annotation position is held as structure position information such as XPath, and the annotation corresponding position on the external web page (text) is obtained from the structure position information of each annotation, and the annotation is temporarily embedded. Will be described.
Webアノテーションシステムは、他のアノテーションの存在によって、構造位置情報からWebテキスト上のアノテーションを埋め込む具体的な位置を求める計算が影響を受ける。したがって、Webアノテーションシステムでは、あるアノテーションを付与する時に存在した他のアノテーションが削除されると、構造位置情報がずれ、アノテーションの埋め込み位置がずれるという問題が発生していた。 In the Web annotation system, the calculation for obtaining a specific position for embedding the annotation on the Web text from the structural position information is affected by the presence of other annotations. Therefore, in the Web annotation system, when other annotations that existed when a certain annotation is added are deleted, there is a problem that the structural position information is shifted and the embedded position of the annotation is shifted.
Webアノテーションシステムは、アノテーションの埋め込み位置がずれないようにするため、アノテーション付与時に存在していた他のアノテーションが削除されて存在しなくなったとしてもWeb資源(Webページ)解析結果上にダミーとして一時的に存在させる。このように、Webアノテーションシステムは、残りのアノテーションを埋め込む位置の位置計算を正しく行えるようにする。 In order to prevent the annotation embedding position from deviating, the Web annotation system is temporarily used as a dummy on the Web resource (Web page) analysis result even if other annotations that existed at the time of annotation assignment are deleted and no longer exist. Exist. As described above, the Web annotation system can correctly calculate the position where the remaining annotation is embedded.
さらに、Webアノテーションシステムはダミーとして付与したアノテーションを後で消去あるいは無視する処理を加えることで、他のアノテーションの削除等による埋め込み位置のずれの問題を解決する。 Furthermore, the Web annotation system solves the problem of displacement of the embedding position due to deletion of other annotations or the like by adding a process of erasing or ignoring the annotation given as a dummy later.
本実施例は、Web資源に対してWeb資源上の位置をXPathのような構造位置情報として外部記憶装置(アノテーションDB)に保持し、このアノテーションDBに保持されている構造位置情報にしたがってWeb資源に一時的にアノテーションテキストフラグメントを埋め込むことでアノテーションを行うWebアノテーションシステムを一例として説明する。 In the present embodiment, the position on the Web resource with respect to the Web resource is stored in the external storage device (annotation DB) as the structure position information such as XPath, and the Web resource according to the structure position information stored in the annotation DB A Web annotation system that performs annotation by temporarily embedding an annotation text fragment will be described as an example.
本実施例のWebアノテーションシステムでは、あるWebアノテーションを付与する時に存在していた他のWebアノテーションがアノテーションDBから削除されることによって引き起こされる構造位置情報計算のずれを補正し、付与時と同一の位置にWebアノテーションを復元する。 In the Web annotation system of the present embodiment, the deviation of the calculation of the structure position information caused by deleting other Web annotations that existed when a certain Web annotation was added from the annotation DB is corrected, and is the same as that at the time of giving Restore the Web annotation to the position.
上述の例では、アノテーション(3,X)、(8,Y)、(6,Z)が登録された後、アノテーション(3,X)が削除されたとしても、意図どおりにアノテーションが「ABCDEZFGYHIJ」と復元される。 In the above example, even if the annotation (3, X) is deleted after the annotation (3, X), (8, Y), (6, Z) is registered, the annotation is “ABCDEZFGYHIJ” as intended. And restored.
本実施例のWebアノテーションシステムでは、アノテーションの削除があったときに単純にアノテーションDBからアノテーションデータを削減してしまったのでは位置を復元できなくなってしまう。例えばアノテーションの削除があったときに意図どおりにアノテーションを復元する為には、削除も含めてすべてのアノテーションDBに対する操作を履歴として保持し、アノテーションDBに対する操作をWeb資源の解析結果であるWeb資源解析結果に対して復元するという方法が考えられる。 In the Web annotation system of the present embodiment, if the annotation data is simply deleted from the annotation DB when the annotation is deleted, the position cannot be restored. For example, in order to restore the annotation as intended when the annotation is deleted, all the operations on the annotation DB including deletion are retained as a history, and the operation on the annotation DB is a Web resource that is the analysis result of the Web resource. A method of restoring the analysis result can be considered.
しかし、アノテーションの削除は本来履歴を復元するだけならばアノテーションDBから対応するレコードを削除することになるが、これだけだとWeb資源解析結果に反映されたアノテーションテキストフラグメントが残ったままになってしまうという問題が新たに発生する。すなわち、各時点でのアノテーションDBの状態が反映されて作成されるWeb資源解析結果においては、アノテーションの付与・削除というアノテーションDBに対する個々の操作からWeb資源解析結果の差分を求め、本来直接的な操作が行われるのではないWeb資源解析結果上で履歴を復元することが課題となる。 However, deleting an annotation originally deletes the corresponding record from the annotation DB if only the history is restored. However, if only this is done, the annotation text fragment reflected in the Web resource analysis result remains. A new problem arises. That is, in the Web resource analysis result created by reflecting the state of the annotation DB at each time point, the difference of the Web resource analysis result is obtained from each operation on the annotation DB such as annotation addition / deletion, and is inherently direct. It becomes a problem to restore the history on the Web resource analysis result that is not operated.
具体的な例で示すと、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation">アノテーション</div><div>テキスト2</div>< div class="annotation">アノテーション</div><div>テキスト3</div></body></html>というようなWeb資源解析結果においては、アノテーションDB上の一つのアノテーションが削除された時、削除された後のアノテーションDBから新たなWeb資源解析結果を作成するのではなく、この一つのアノテーションが削除されたという履歴から、Web資源解析結果を正しく改変することが課題となる。
For example, <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation"> annotation </ div> <div>
この課題を解決するため、本実施例のWebアノテーションシステムはアノテーション付与操作のときにマーカを付与して埋め込んでおくことで、アノテーションDBからアノテーションが削除された時に、対応するマーカをWeb資源解析結果から探し出して削除するという操作を加える。 In order to solve this problem, the Web annotation system according to the present embodiment assigns and embeds a marker at the time of an annotation giving operation so that when the annotation is deleted from the annotation DB, the corresponding marker is displayed as a result of the Web resource analysis. Add an operation to find and delete from.
あるいは、本実施例のWebアノテーションシステムはアノテーションテキストフラグメントをWeb資源解析結果に付与するとき、そのアノテーションテキストフラグメントが後で削除されるアノテーションに対応するものであるかどうかを判定する。 Alternatively, when adding the annotation text fragment to the Web resource analysis result, the Web annotation system according to the present embodiment determines whether or not the annotation text fragment corresponds to the annotation to be deleted later.
後で削除されるアノテーションである場合、本実施例のWebアノテーションシステムは位置計算時に存在するものとして計算されるが作用時に無いものとして取り扱われるようなマーカを持ったアノテーションテキストフラグメントを付与する。 In the case of an annotation to be deleted later, the Web annotation system of the present embodiment gives an annotation text fragment having a marker that is calculated as being present at the time of position calculation but is handled as being absent at the time of operation.
操作ログを保持し、その履歴情報の操作順に再生する技術は例えば特開平7−134716号公報などで開示されている。特開平7−134716号公報ではハイパーメディア文書の状態を復元するため、時系列に操作履歴を保持しておき、後で操作履歴の先頭から操作を再実行することが示されている。特開平7−134716号公報に「対応する処理と同一の処理が行われる」とあるように、従来技術における履歴の再生とは、通常操作と同一の処理が行われることが前提となっている。例えばテキストの削除では、テキスト上のある位置からある位置までの範囲そのものと、削除という動作が直接履歴に残され、再生時に、その履歴に残された処理そのものが復元される。 A technique for holding an operation log and reproducing it in the operation order of the history information is disclosed in, for example, Japanese Patent Laid-Open No. 7-134716. Japanese Patent Application Laid-Open No. 7-134716 discloses that, in order to restore the state of a hypermedia document, an operation history is stored in time series, and the operation is later re-executed from the top of the operation history. As described in Japanese Patent Laid-Open No. 7-134716, “the same processing as the corresponding processing is performed”, the history reproduction in the prior art is premised on the same processing as the normal operation. . For example, in the deletion of text, the range from a certain position on the text to the certain position itself and the operation of deletion are directly left in the history, and the processing itself left in the history is restored at the time of reproduction.
ここで示すアノテーションでは、一般に削除操作がアノテーションDBから対応するレコードを削除するという処理が行われるだけのものであり、Web資源解析結果に対して何の操作も行われない。 In the annotation shown here, generally, the deletion operation is merely a process of deleting the corresponding record from the annotation DB, and no operation is performed on the Web resource analysis result.
したがって、特開平7−134716号公報で示されるような履歴情報の再生を行っただけでは、Web資源解析結果に一旦反映されてしまったアノテーションテキストフラグメントが残ったままになってしまう。もし、アノテーションDBから対応するレコードを取り除いた時点で新たにWeb資源解析結果を最初から作り直したのでは、従来の技術の課題として示したようにアノテーションの位置がずれてしまうという問題が起きる。すなわち特開平7−134716号公報に示されるような再生処理だけでは本課題が解決されない。 Therefore, only by reproducing the history information as disclosed in JP-A-7-134716, the annotation text fragment once reflected in the Web resource analysis result remains. If the Web resource analysis result is newly recreated from the beginning when the corresponding record is removed from the annotation DB, there arises a problem that the position of the annotation is shifted as shown in the problem of the conventional technology. That is, this problem cannot be solved only by a reproduction process as disclosed in Japanese Patent Laid-Open No. 7-134716.
すなわち、アノテーションの削除という操作に対して、通常のアノテーションDB上のレコードの削除という操作に加えて、本来削除されてWeb資源解析結果に存在しないはずなのに、履歴の再生という処理を設けてしまったせいでWeb資源解析結果に埋め込まれてしまったアノテーションテキストフラグメントを見つけだして、これをWeb資源解析結果から取り除く処理を新たに設けることが必要になる。この点は、従来の一般的なエディタにおける履歴の保存、及び、その実行履歴を再生する手法と本実施例のWebアノテーションシステムとの大きな相違点になる。 In other words, in addition to the operation of deleting an annotation in the normal annotation DB, in addition to the operation of deleting the annotation, a process of replaying the history is provided although it should have been deleted and should not exist in the Web resource analysis result. Therefore, it is necessary to newly provide a process for finding the annotation text fragment embedded in the Web resource analysis result and removing it from the Web resource analysis result. This point is a big difference between the technique of storing the history in a conventional general editor and reproducing the execution history, and the Web annotation system of the present embodiment.
なお、対応するアノテーションテキストフラグメントを見つけ出す為には、正しく対応するアノテーションテキストフラグメントを同定することが必要であり、アノテーション付与操作のときにマーカを付与して埋め込んでおくことが必要になる。 In order to find the corresponding annotation text fragment, it is necessary to correctly identify the corresponding annotation text fragment, and it is necessary to attach and embed a marker during the annotation assignment operation.
例えばアノテーション(3,X)というような、そもそも埋め込みが行われたときの位置情報は、ずれている可能性がある。Webページ「ABCXDEFGHIJ」は、アノテーション(3,Y)が付与されると、Webページ「ABCYXDEFGHIJ」となり、「3」という位置にアノテーション「Y」に対応するアノテーションテキストフラグメントが見つかるのであってアノテーション「X」に対応するアノテーションテキストフラグメントが見つかるものではない。 For example, the position information at the time of embedding such as annotation (3, X) may be shifted in the first place. When the annotation (3, Y) is given to the web page “ABCXDEFGHIJ”, the web page “ABCYXDEFGHIJ” is obtained, and an annotation text fragment corresponding to the annotation “Y” is found at the position “3”. An annotation text fragment corresponding to "is not found.
(本実施例の原理)
図3は本実施例のWebアノテーションシステムの説明図である。図3は、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーションマーカ付与部14,アノテーション埋込部15,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17,アノテーション作用部18,Web資源解析結果19,アノテーションDB20,アノテーション操作ログDB21を表している。
(Principle of this embodiment)
FIG. 3 is an explanatory diagram of the Web annotation system of this embodiment. FIG. 3 shows a Web
Web資源取得部10は、特定のWeb資源の所在情報(URL)を指定されたときに指定されたURLのWeb資源をネットワークから取り出す。Web資源解析結果準備部11は、取り出されたWeb資源をそのままWeb資源解析結果19とすることも可能であるが、通常、Web資源をパージングした結果である木構造をWeb資源解析結果19として保持する。
When the location information (URL) of a specific Web resource is specified, the Web
アノテーション復元部13は、取り出されたWeb資源に付与されたアノテーションの情報をアノテーションDB20から取り出す。アノテーション埋込部15は、Web資源解析結果19上でアノテーション情報に指示されている構造位置を探し出し、その構造位置にアノテーション内容を適切な形式で埋め込む。ここまでの処理は、Web資源に関連するすべてのアノテーションに対して行われる。
The
アノテーション作用部18は、アノテーション情報が埋め込まれたWeb資源解析結果19を作用させる。アノテーション作用部18が行う作用は、典型的に、レンダリングエンジンによって見える形に変換して表示させることである。
The
アノテーション操作ログDB21は、アノテーションDB20とは別にアノテーションに関する操作,アノテーション構造位置情報、アノテーション内容を保持している。アノテーション操作ログ取得部12は、現Web資源に対するアノテーション操作ログ(以降単に操作ログと記す)を取り出す。
The annotation
アノテーション復元部13では、アノテーションDBの情報にしたがって復元するのではなく、操作ログに記述されているアノテーション操作とアノテーション位置にしたがって時系列に処理する。操作ログに記録されたアノテーション操作がアノテーション付与であるとき、アノテーション埋込部15は操作ログに記述されている構造位置情報にしたがってWeb資源解析結果19上の位置を見つけ、アノテーション内容にしたがって作成したアノテーションテキストフラグメントを埋め込む。
The
そのとき、アノテーションマーカ付与部14は埋め込むアノテーションテキストフラグメントに対して、後で削除する際に識別可能なマーカを付与して埋め込む。従来、削除されたアノテーションはアノテーションDB20に無いため何もできなかった。本実施例では削除されたアノテーションも一旦Web資源解析結果19にアノテーションテキストフラグメントとして埋め込まれていることになるので、アノテーションの削除に対して対応するアノテーションテキストフラグメントをWeb資源解析結果19から削除することが必要になる。
At that time, the annotation
そのため、アノテーションテキストフラグメント特定部16は、アノテーションテキストフラグメントに埋め込まれた識別マーカを手がかりに、削除されたアノテーションに対応するアノテーションテキストフラグメントをWeb資源解析結果19上から探し出す。アノテーションフラグメント削除部17は削除されたアノテーションに対応するアノテーションテキストフラグメントをWeb資源解析結果19上から取り除く。
Therefore, the annotation text
以上のように、本実施例のWebアノテーションシステムでは、アノテーション付与だけでなくアノテーション削除も含めて操作ログとして記録し、削除されたアノテーションも一旦Web資源解析結果19に埋め込んでおく。
As described above, in the Web annotation system of this embodiment, not only annotations but also annotation deletions are recorded as operation logs, and the deleted annotations are once embedded in the Web
他のアノテーションの付与を行ったあとで、操作ログにしたがって実際に削除されたタイミングで、そのアノテーションテキストフラグメントをWeb資源解析結果19から削除することで、本実施例のWebアノテーションシステムは一部のアノテーションの削除があっても、残りのアノテーションの位置を正しく復元することが可能である。
After adding other annotations, the annotation text fragment is deleted from the Web
なお、本実施例のWebアノテーションシステムでは、アノテーション操作ログDB21にアノテーション情報のすべてを保持することで、アノテーションDB20をなくすこともできるし、操作ログの基本情報のみをアノテーション操作ログDBに保持21し、アノテーションの詳細情報をアノテーションDB20に保持するようにしてもよい。
In the Web annotation system of this embodiment, the
本実施例のWebアノテーションシステムは、例えばアノテーション付与時に、Webページ「ABCDEFGHIJ」に対してまず、位置「3」にアノテーション「X」が付与されると、アノテーションを保持するアノテーションDB20に、アノテーション位置とアノテーション内容とが保持される。同時に、本実施例のWebアノテーションシステムでは、アノテーション操作ログDB21に、位置「3」にアノテーション「X」を付与(挿入)と記録する。
For example, when the annotation “X” is first given to the position “3” for the Web page “ABCDEFGHIJ” when the annotation is given, the Web annotation system of the present embodiment, for example, the annotation position and the annotation position are stored in the
ここで、本実施例のWebアノテーションシステムは、アノテーション操作ログDB21に、(#1,insert,3,X)と記述することとする。なお、「#1」は、あとでアノテーション操作(イベント)を参照するための識別ID(イベント番号)である。
Here, the Web annotation system of this embodiment describes (# 1, insert, 3, X) in the annotation
次に、本実施例のWebアノテーションシステムは「G」と「H」との間の位置にアノテーション「Y」を付与したことを、(#2,insert,8,Y)とアノテーション操作ログDB21に記録する。なお、「G」と「H」との間の位置はアノテーション「X」が既に付与されているため、位置「8」となっている。
Next, the fact that the annotation “Y” is added to the position between “G” and “H” in the Web annotation system of the present embodiment is shown in (# 2, insert, 8, Y) and the annotation
次に、本実施例のWebアノテーションシステムは「E」と「F」との間の位置にアノテーション「Z」を付与したことを、(#3,insert,6,Z)とアノテーション操作ログDB21に記録する。なお、「E」と「F」との間の位置はアノテーション「X」が既に付与されているため、位置「6」となっている。
Next, the fact that the annotation “Z” is added to the position between “E” and “F” in the Web annotation system of the present embodiment is shown in (# 3, insert, 6, Z) and the annotation
その後、本実施例のWebアノテーションシステムはアノテーション「X」が削除されたことを(#4,delete,#1)としてアノテーション操作ログDB21に記録する。(#4,delete,#1)は、イベント1(#1)で付与したアノテーションを削除したという意味である。つまり、削除したアノテーションはアノテーション操作ログDB21においてイベント番号で示されている。以上のように、アノテーション操作ログDB21は操作ログを保持する。
Thereafter, the Web annotation system of the present embodiment records that the annotation “X” has been deleted (# 4, delete, # 1) in the annotation
アノテーション作用時、本実施例のWebアノテーションシステムは、アノテーション操作ログDB21から操作ログとして、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)、(#4,delete,#1)を取り出す。取り出した操作ログは、Webページ「ABCDEFGHIJ」に対して一旦アノテーション「X」が付与されて「ABCXDEFGHIJ」となり、アノテーション「Y」が付与されて「ABCXDEFGYHIJ」となり、アノテーション「Z」が付与されて「ABCXDEZFGYHIJ」となる。
At the time of annotation action, the Web annotation system of this embodiment uses (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert,) as operation logs from the annotation
実際に、アノテーション「X」にマーカとして「#1」のような識別子が付与されているので、操作ログ(#4,delete,#1)によりマーカ「#1」が付与されているアノテーション「X」が取り除かれてWebページは「ABCDEZFGYHIJ」となる。 Actually, since an identifier such as “# 1” is assigned to the annotation “X” as a marker, the annotation “X” to which the marker “# 1” is assigned by the operation log (# 4, delete, # 1). "Is removed, and the Web page becomes" ABCDEZFGYHIJ ".
以上、本実施例のWebアノテーションシステムはアノテーションの一部が削除されたとしても、削除されたアノテーションが存在する状態で、残ったアノテーションの位置が求められる。そして、本実施例のWebアノテーションシステムは削除が起こったタイミングでアノテーションの削除が行われるので、残りのアノテーションを正しい位置に復元できる。 As described above, the Web annotation system according to the present embodiment can obtain the position of the remaining annotation in the state where the deleted annotation exists even if a part of the annotation is deleted. Since the annotation is deleted at the timing when the deletion occurs in the Web annotation system of this embodiment, the remaining annotation can be restored to the correct position.
図4は本実施例のWebアノテーションシステムの他の例の説明図である。図4のWebアノテーションシステムは、図3のWebアノテーションシステムのアノテーション操作ログ取得部12とアノテーション復元部13との間に、アノテーション位置影響分析部30及びアノテーション操作ログ書き換え部31が設けられている。
FIG. 4 is an explanatory diagram of another example of the Web annotation system of this embodiment. The Web annotation system of FIG. 4 includes an annotation position
図3のWebアノテーションシステムは操作ログを真正直にすべて再生している。操作ログをすべて再生するのでは、アノテーションの付与と削除とが繰り返されたような場合に時間的オーバヘッドが大きくなってしまう。そこで、図4のWebアノテーションシステムでは、時間的オーバヘッドを削減するために、アノテーション位置影響分析部30及びアノテーション操作ログ書き換え部31を設け、アノテーション位置影響分析部30が他のアノテーションの位置に影響を与えないアノテーション操作をアノテーション操作ログDB21から取り除いている。
The Web annotation system in FIG. 3 reproduces all operation logs honestly. If all operation logs are reproduced, the time overhead increases when annotations are added and deleted repeatedly. Therefore, in the Web annotation system of FIG. 4, in order to reduce the temporal overhead, the annotation position
図3のWebアノテーションシステムでは、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,delete,#2)、(#4,insert,6,Z)のような操作ログに対しても正直にアノテーションY(#2)を付与し、アノテーションY(#2)を削除する。 In the Web annotation system of FIG. 3, (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, delete, # 2), (# 4, insert, 6, Z) Also, the annotation Y (# 2) is honestly given to the operation log like this, and the annotation Y (# 2) is deleted.
しかし、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,delete,#2)、(#4,insert,6,Z)のような操作ログの場合、アノテーションY(#2)が付与されてから削除されるまでに他のアノテーション操作がなく、アノテーションYの付与・削除の再生は無意味である。 However, operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, delete, # 2), (# 4, insert, 6, Z) In this case, there is no other annotation operation from the time when the annotation Y (# 2) is assigned until the annotation Y is deleted, and the reproduction of the giving / deleting of the annotation Y is meaningless.
(#1,insert,3,X)、(#2,insert,8,Y)、(#3,delete,#2)、(#4,insert,6,Z)のような操作ログの場合は、(#2,insert,8,Y)、(#3,delete,#2)の対を削除できる。 For operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, delete, # 2), (# 4, insert, 6, Z) , (# 2, insert, 8, Y), (# 3, delete, # 2) can be deleted.
同様に、(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)、(#4,delete,#2)のような操作ログの場合、(#2,insert,8,Y)と(#4,delete,#2)との間に(#3,insert,6,Z)があるが、(#3,insert,6,Z)は(#2,insert,8,Y)の前方への付与なのでアノテーションY(#2)に位置の計算が影響されないため、アノテーションYの付与・削除の再生は無意味である。 Similarly, operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert, 6, Z), (# 4, delete, # 2) In the case of (# 2, insert, 8, Y) and (# 4, delete, # 2), there is (# 3, insert, 6, Z), but (# 3, insert, 6, Z). ) Is assigned to the front of (# 2, insert, 8, Y), and the calculation of the position is not affected by the annotation Y (# 2). Therefore, the reproduction of adding / deleting the annotation Y is meaningless.
(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)、(#4,delete,#2)のような操作ログの場合は、(#2,insert,8,Y)、(#4,delete,#2)の対を削除できる。 For operation logs such as (# 1, insert, 3, X), (# 2, insert, 8, Y), (# 3, insert, 6, Z), (# 4, delete, # 2) , (# 2, insert, 8, Y), (# 4, delete, # 2) pairs can be deleted.
このように、図4のWebアノテーションシステムでは、アノテーション位置の影響を分析し、他のアノテーションの位置計算に影響を与えないアノテーション操作の対をアノテーション位置影響分析部30が見つけ出し、アノテーション操作ログ書き換え部31がアノテーション操作ログDB21から他のアノテーションの位置計算に影響を与えないアノテーション操作の対のレコードを削除する。
As described above, in the Web annotation system of FIG. 4, the influence of the annotation position is analyzed, and the annotation position
図5は本実施例のWebアノテーションシステムの他の例の説明図である。図5のWebアノテーションシステムは、図3のWebアノテーションシステムのアノテーションマーカ付与部14,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17に替えて、ダミーアノテーションテキストフラグメント生成部40が設けられていると共に、削除済みアノテーション認識手段41が新たに設けられている。
FIG. 5 is an explanatory diagram of another example of the Web annotation system of this embodiment. The Web annotation system of FIG. 5 includes a dummy annotation text
図5のWebアノテーションシステムは、削除されたアノテーションをアノテーションテキストフラグメントとしてWeb資源解析結果19に埋め込む時、真のアノテーションテキストフラグメントを埋め込むのではなく、ダミーアノテーションテキストフラグメントを埋め込む。
5 embeds a dummy annotation text fragment instead of embedding a true annotation text fragment when embedding the deleted annotation as an annotation text fragment in the web
ダミーアノテーションテキストフラグメントは、Web資源解析結果19に埋め込まれることにより、アノテーションの埋め込みポイントの位置を求めようとしたとき、正常に求められるようになり、アノテーション作用部18で処理しようとすると何もないのと同等になる。ダミーアノテーションテキストフラグメント生成部40はダミーアノテーションテキストフラグメントを生成する。
The dummy annotation text fragment is embedded in the Web
図5のWebアノテーションシステムは、アノテーション操作ログDB21に記録されている操作ログのうちアノテーション操作が付与の操作ログが、後に削除されているかどうかを判定する削除済みアノテーション認識手段41が設けられている。そして、削除済みアノテーション認識手段41はアノテーション操作ログDB21にある付与操作のアノテーションが、後に削除されているかどうかを判定する。
The Web annotation system of FIG. 5 is provided with a deleted
そして、図5のWebアノテーションシステムは、アノテーション操作ログDB21を用いて操作ログを時系列に処理する。アノテーション埋込部15は通常のアノテーション付与操作に対して、Web資源解析結果19上の対応する位置に通常のアノテーションテキストフラグメントを埋め込む。
Then, the Web annotation system of FIG. 5 processes the operation log in time series using the annotation
また、アノテーション埋込部15は削除されたアノテーションのアノテーション付与操作に対して、ダミーアノテーションテキストフラグメント生成部40が生成したダミーアノテーションテキストフラグメントを、Web資源解析結果19上の対応する位置に埋め込む。
Further, the
ダミーアノテーションテキストフラグメントは、後でアノテーション作用部18が処理するときに無視される(何も効果を示さない)が、アノテーションの位置計算においてアノテーションが付与されているときと同じ効果を示す。
The dummy annotation text fragment is ignored (not showing any effect) when the
例えばアノテーション操作ログDB21にはWebページ「ABCDEFGHIJ」に対する操作ログ(#1,insert,3,X)、(#2,insert,8,Y)、(#3,insert,6,Z)があるものとする。次にアノテーションX(#1)が削除されたとすると、図5のWebアノテーションシステムは、アノテーション操作ログDB21に(#4,delete,#1)を記録する。
For example, the annotation
ただし、図5のWebアノテーションシステムは図3のWebアノテーションシステムとことなり、削除操作のログを後で利用しないため、削除操作のログをアノテーション操作ログDB21に記録しなくてもよい。ただし、図5のWebアノテーションシステムはアノテーション操作ログDB21の操作ログ(#1,insert,3,X)に対して削除済みのマークを与える。
However, since the Web annotation system of FIG. 5 is different from the Web annotation system of FIG. 3 and the log of the deletion operation is not used later, the log of the deletion operation may not be recorded in the annotation
この結果、図5のWebアノテーションシステムは、後でアノテーション位置を復元する際、アノテーション「X」のアノテーション付与がダミーであることを表す「x」というアノテーションテキストフラグメントが付与されるので、Webページ「ABCDEFGHIJ」は「ABCxDEFGHIJ」となり、アノテーション「Y」,「Z」が正しいアノテーション位置である「ABCxDEZFGYHIJ」と復元される。 As a result, when the annotation position is later restored, the Web annotation system of FIG. 5 is provided with the annotation text fragment “x” indicating that the annotation assignment of the annotation “X” is a dummy. “ABCDEFFGHIJ” becomes “ABCxDEFGHHIJ”, and the annotations “Y” and “Z” are restored to “ABCxDEZFGYHIJ”, which is the correct annotation position.
しかも「x」はダミーなので、アノテーション作用時に何も効果を示さず、完全に削除されたのとほぼ同じ効果になる。ちなみに、図5のWebアノテーションシステムはアノテーションX(#1)が削除されたあと、「F」と「G」との間に、新たに「W」というアノテーションが付与されたとき、アノテーション「X」の痕跡「x」が「ABCxDEZFGYHIJ」というように残っているので、計算すると、アノテーション「W」の位置が「8」になる。一方、図3のWebアノテーションシステムは「ABCDEZFGYHIJ」に基づいて計算するのでアノテーション「W」の位置が「7」になる。 Moreover, since “x” is a dummy, it has no effect at the time of an annotation operation, and is almost the same effect as when it is completely deleted. Incidentally, when the annotation “X” is added between “F” and “G” after the annotation X (# 1) is deleted in the Web annotation system of FIG. Since the trace “x” remains as “ABCxDEZFGYHIJ”, the position of the annotation “W” becomes “8” when calculated. On the other hand, since the Web annotation system of FIG. 3 calculates based on “ABCDEZFGYHIJ”, the position of the annotation “W” becomes “7”.
図6は、本実施例のWebアノテーションシステムの一実施例の構成図である。図6のWebアノテーションシステムは、アノテーション付与装置50,アノテーション作用装置51,アノテーション管理サーバ52,アノテーション操作ログ管理装置53を有している。
FIG. 6 is a configuration diagram of an embodiment of the Web annotation system of the present embodiment. The Web annotation system of FIG. 6 includes an
アノテーション付与装置50は、Web閲覧器61,アノテーション付与拡張部62,アノテーション操作ログ拡張部63を有する。アノテーション作用装置51は、アノテーション作用拡張部64,アノテーション操作ログ拡張部65,Web閲覧器66を有する。アノテーション管理サーバ52は、アノテーションDB管理部67,アノテーションDB68を有する。アノテーション操作ログ管理装置53は、アノテーション一覧管理部69,アノテーション操作ログDB70を有する。
The
図6のWebアノテーションシステムはWebアノテーションをWeb閲覧器61,66の拡張機能として実施される。アノテーション付与装置50は、ユーザの特定の操作を受け、アノテーションを付与したり削除したりする。アノテーション作用装置51は、Web資源にアクセスした際にアノテーションを表示させるあるいは作用させる。
The Web annotation system of FIG. 6 is implemented as an extended function of the
アノテーション付与装置50およびアノテーション作用装置51の一つの実施形態はWeb閲覧器61,66を拡張するものである。なお、アノテーション付与装置50およびアノテーション作用装置51は同時に一つの閲覧器を拡張することができる。
One embodiment of the
図3のWebアノテーションシステムの場合、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーションマーカ付与部14,アノテーション埋込部15,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17,アノテーション作用部18が、図6のアノテーション作用装置51に対応する。
In the case of the Web annotation system of FIG. 3, the Web
図4のWebアノテーションシステムの場合、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーションマーカ付与部14,アノテーション埋込部15,アノテーションフラグメント特定部16,アノテーションフラグメント削除部17,アノテーション作用部18,アノテーション位置影響分析部30,アノテーション操作ログ書き換え部31が、図6のアノテーション作用装置51に対応する。
In the case of the Web annotation system of FIG. 4, the Web
図5のWebアノテーションシステムの場合、Web資源取得部10,Web資源解析結果準備部11,アノテーション操作ログ取得部12,アノテーション復元部13,アノテーション埋込部15,アノテーション作用部18,ダミーアノテーションテキストフラグメント生成部40が、図6のアノテーション作用装置51に対応する。
In the case of the Web annotation system of FIG. 5, the Web
図6のアノテーション付与装置50,アノテーション作用装置51,アノテーション管理サーバ52,アノテーション操作ログ管理装置53は、例えば図7に示すコンピュータシステムにより実現できる。
The
図7はコンピュータシステムの一例の構成図である。コンピュータシステムは、それぞれバスBで相互に接続されている入力装置81,出力装置82,ドライブ装置83,補助記憶装置84,主記憶装置85,演算処理装置86およびインターフェース装置87を有する。
FIG. 7 is a configuration diagram of an example of a computer system. The computer system includes an
入力装置81はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置82はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置87は、モデム,LANカードなどであり、ネットワークに接続する為に用いられる。
The
本実施例のアノテーションプログラムはアノテーション付与装置50,アノテーション作用装置51を制御する各種プログラムの少なくとも一部である。アノテーションプログラムは例えば記録媒体88の配布やネットワークからのダウンロードなどによって提供される。アノテーションプログラムを記録した記録媒体88は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
The annotation program of this embodiment is at least a part of various programs that control the
また、アノテーションプログラムを記録した記録媒体88がドライブ装置83にセットされると、アノテーションプログラムは記録媒体88からドライブ装置83を介して補助記憶装置84にインストールされる。ネットワークからダウンロードされたアノテーションプログラムは、インターフェース装置87を介して補助記憶装置84にインストールされる。補助記憶装置84は、インストールされたアノテーションプログラムを格納すると共に、必要なファイル,データ等を格納する。
When the
主記憶装置85は、コンピュータの起動時に補助記憶装置84からアノテーションプログラムを読み出して格納する。そして、演算処理装置86は主記憶装置85に格納されたアノテーションプログラムに従って、後述するような各種処理を実現している。
The
以下では、本実施例のWebアノテーションシステムにおいてアノテーションを表示する(作用させる)処理、アノテーションを付与する処理、アノテーションを削除する処理について説明する。 In the following, a process for displaying (acting) an annotation, a process for giving an annotation, and a process for deleting an annotation will be described in the Web annotation system of the present embodiment.
(アノテーション作用装置51が図3の構成である例)
本実施例のアノテーションプログラムを組み込んだWeb閲覧器(あるいは一般にWebクライアント)61,66は、図8に示すフローチャートのような動作を行う。図8はアノテーション作用装置のアノテーション表示処理を表したフローチャートである。
(An example in which the
Web browsing devices (or generally Web clients) 61 and 66 incorporating the annotation program of this embodiment perform operations as shown in the flowchart of FIG. FIG. 8 is a flowchart showing annotation display processing of the annotation action device.
ステップS1に進み、Web閲覧器66は表示(作用)するWeb資源の所在情報(URL)を受け取る。ステップS2に進み、Web閲覧器66は受け取ったURLで指定されるWeb資源をネットワークから読み込む。ステップS3に進み、Web閲覧器66は読み込んだWeb資源(HTMLなどで記述されたテキストファイル)をパーサによって解析し、構造を抽出する。抽出された構造は木構造(ツリー)の形をとる(例えばDOMツリー)。
In step S1, the
例えばWeb資源として以下のようなHTML<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div>テキスト2</div><div>テキスト3</div></body></html>があったとすると、パージング結果である木構造は、図9に示すようになる。図9は木構造の一例を示す説明図である。
For example, the following HTML <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div>
Web閲覧器66は図9に示すような木構造をレンダリングエンジンに送り、タグを解釈し(例えば<title>はタイトル、<h2>はヘッダー、<p>は段落など)、見える形に変換して表示する(あるいはレンダリングの代わりに何らかの作用が行われる)。
The
上記は静的なページの動きである。動的なページでは、Web閲覧器66がWeb資源をパーサによって解析したあと、例えばJavascriptで記述されたプログラムをJavascriptエンジンに送って実行し、木構造を変更する(動的に文書が作り出される)。
The above is a static page movement. In a dynamic page, after the
Web閲覧器66は木構造をレンダリングエンジンに送り、表示する。場合により、Web閲覧器66はユーザのアクションにより木構造を書き換え、新しい木構造をレンダリングエンジンに送り、表示するということを繰り返す。
The
本実施例のアノテーションプログラムを組み込んだWeb閲覧器66は通常のWebアノテーションが組み込まれたWeb閲覧器66と同様、読み込んだWeb資源をパーサで解析した結果(例えばDOMツリー)を、Web資源解析結果として、すぐにレンダリングエンジンに渡さずに以下の処理を行う。
The
アノテーション作用拡張部64は、現在表示(作用)しようとしているWeb資源に関連するアノテーションデータを、アノテーション管理サーバ52のアノテーションDB68からアノテーションDB管理部67を介して取り出し、アノテーションテキストフラグメントをWeb資源解析結果に埋め込んでいく(木構造上で接ぎ木する)。
The annotation
通常のWebアノテーションが組み込まれたWeb閲覧器66では、WebページのURL等を手がかりにアノテーションDB68からアノテーションデータを取り出し、アノテーションが付与された順に、Web資源解析結果の指定された位置にアノテーションテキストフラグメントを埋め込んで行く。
In the
なお、削除されたアノテーションのアノテーションデータはアノテーションDB68に存在しないため、Web資源解析結果に反映されない。一方、本実施例のアノテーションプログラムを組み込んだWeb閲覧器66は、アノテーション操作ログDB70が存在するので、アノテーションDB68にアクセスするのではなく、アノテーション操作ログDB70にアクセスする。
Note that the annotation data of the deleted annotation does not exist in the
ステップS4に進み、アノテーション操作ログ拡張部65はアノテーション操作ログDB70から、WebページのURL等を手がかりに操作ログをすべて取り出し、古い方から順に並べる。
In step S4, the annotation operation
図10はアノテーション操作ログDBに記録されている操作ログの一例を示す説明図である。図10に示す操作ログは、ID,操作種類,XPath又はID,アノテーション内容,アノテーションレコードをフィールドとして持つ。 FIG. 10 is an explanatory diagram showing an example of an operation log recorded in the annotation operation log DB. The operation log shown in FIG. 10 has ID, operation type, XPath or ID, annotation content, and annotation record as fields.
IDは各操作につけられたIDである。IDは例えば一連番号でよい。操作種類はアノテーションに関する操作の種類を記述したものである。操作種類は、「付与」あるいは「削除」という値が記述されている。 ID is an ID assigned to each operation. The ID may be a serial number, for example. The operation type describes the type of operation related to the annotation. As the operation type, a value of “grant” or “delete” is described.
XPath又はIDは、操作が「付与」のとき、アノテーションが付与された構造位置としてXPathが記述され、操作が「削除」のとき、どのアノテーションが削除されたのかを表す操作ログ上のIDが記述されている。アノテーション内容は、付与されたアノテーションに記述された情報である。アノテーション内容は、アノテーションテキストフラグメントの中に反映するものであり、文字列やリンクであったり、場合によってはHTMLそのものが記述されたりしてもよい。 XPath or ID describes the XPath as the structure position to which the annotation was added when the operation is “granted”, and the ID on the operation log indicating which annotation was deleted when the operation was “deleted” Has been. The annotation content is information described in the assigned annotation. The annotation content is reflected in the annotation text fragment, and may be a character string or a link, or the HTML itself may be described in some cases.
アノテーションレコードは、付与されたアノテーションのアノテーションDB68上のレコードを示すポインタである。アノテーションレコードは、アノテーションの削除操作が行われた時に、削除しようとしているアノテーションを指しているのかどうかを確認するために用いられるものである。
The annotation record is a pointer indicating a record on the
なお、図10ではXPath及びアノテーション内容をアノテーション操作ログDB70の中に直接記述する例を示した。XPath及びアノテーション内容はアノテーションDB68中のアノテーション情報とも重なるので、アノテーションレコードのポインタをたどってアノテーションDB68にアクセスして、取り出すこともできる。
FIG. 10 shows an example in which the XPath and the annotation content are described directly in the annotation
ただし、XPath及びアノテーション内容をアノテーションDB68から取り出す場合は、アノテーションが削除されたときにアノテーションDB68から単純にレコードを削除してしまったのでは、操作ログの復元ができなくなってしまう。
However, when the XPath and the annotation content are extracted from the
アノテーションの削除の際には、アノテーションDB68の削除するレコードの内容をどこかに転記/保存しておき、操作ログのアノテーションレコードが、転記/保存場所を示すようにしておくことが必要である。
When deleting the annotation, it is necessary to transfer / save the contents of the record to be deleted from the
また、アノテーションの削除の際には、アノテーションDB68の削除するレコードを削除済みとマークし、データ自身を削除しないようにするということで対応することもできる。
In addition, when deleting an annotation, it is possible to deal with it by marking the record to be deleted in the
ステップS5に進み、アノテーション操作ログ拡張部65は、操作ログの中の最初の(一番古い)操作(レコード)に注目する。ステップS6に進み、アノテーション操作ログ拡張部65は現在注目している操作(レコード)がある間、ステップS7に進む。ステップS7では、アノテーション操作ログ拡張部65が、注目している操作を付与か削除かで切り分ける。
In step S5, the annotation operation
注目している操作が付与であった場合、アノテーション操作ログ拡張部65はステップS8に進み、付与操作のときに付与されたアノテーション情報(XPath、アノテーション内容)を得る。ステップS9に進み、アノテーション操作ログ拡張部65はステップS8で得た構造位置情報(XPath)から、Web資源解析結果におけるアノテーションの位置を求める。
If the noticed operation is grant, the annotation operation
例えば図10の操作ログに含まれる/html/body/div[1]は、Web資源解析結果の木構造を上から順にhtml、body、divというノードを辿ることを示している。ここでdiv[1]はdivの1番目を示している。したがって、/html/body/div[1]は、図11の木構造において矢印で示したノードを示すことになる。図11は木構造とXPathが示す位置との関係を説明するための説明図である。 For example, / html / body / div [1] included in the operation log in FIG. 10 indicates that the tree structure of the Web resource analysis is traced from the top to the nodes html, body, and div. Here, div [1] indicates the first div. Therefore, / html / body / div [1] indicates a node indicated by an arrow in the tree structure of FIG. FIG. 11 is an explanatory diagram for explaining the relationship between the tree structure and the position indicated by XPath.
なお、上記ではWeb資源解析結果を木構造として示している。しかし、木構造は元のHTMLと対応しているのでWeb資源解析結果として、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div>テキスト2</div><div>テキスト3</div></body></html>のように元のテキストのまま保持し、テキスト上で処理を進めることも可能である。
In the above, the Web resource analysis result is shown as a tree structure. However, since the tree structure corresponds to the original HTML, the <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> < div>
ステップS10に進み、アノテーション操作ログ拡張部65はアノテーション内容からアノテーションテキストフラグメントを作成する。このとき、アノテーション操作ログ拡張部65のアノテーションマーカ付与部14に相当する部分がテキストに識別マーカを付与する。識別マーカとしては、例えば操作ログのID(一連番号)を用いる。
In step S10, the annotation operation
なお、アノテーションとしてどう作用させるかはテキストフラグメントにより作成することもできるし、<div class="annotation" id="001">X</div>のようなアノテーションテキストフラグメントのclass属性とその値を与え、CSS(Cascading Style Sheets)を使って処理することもできる。なお、タグで囲まれた部分にはアノテーション内容(アノテーションDB68の対応するレコードに記述されている具体的なテキストや画像へのリンクを含むHTMLテキストなど)を与える。
In addition, how to act as an annotation can be created by a text fragment, or the class attribute and its value of an annotation text fragment like <div class = "annotation" id = "001"> X </ div> It can also be processed using CSS (Cascading Style Sheets). Note that annotation content (such as specific text described in a corresponding record in the
ステップS11に進み、アノテーション操作ログ拡張部65は識別マーカをつけたアノテーションテキストフラグメントを、ステップS9で求めたWeb資源解析結果の位置に埋め込む。埋め込む位置は指定されたノードの前、後、下など取り決めによって決めることができる。
In step S11, the annotation operation
ここでは指定されたノードの後(弟)に埋め込むものとし、最初のアノテーションを埋め込んだWeb資源解析結果を図12に示す。図12は最初のアノテーションが埋め込まれたWeb資源解析結果を表す木構造の説明図である。なお、XPathのツリー表現では本来属性もノードで表現される。図12の木構造は簡略的に示したものである。図12において「X」とした部分はXPathとして#text(文字列)であるが、他の#textとの区別を明確にするために「X]と示している。その他の木構造を示す説明図においても同様である。 Here, it is assumed that it is embedded after the designated node (younger brother), and FIG. 12 shows the Web resource analysis result in which the first annotation is embedded. FIG. 12 is an explanatory diagram of a tree structure representing a Web resource analysis result in which the first annotation is embedded. In the XPath tree representation, attributes are also represented by nodes. The tree structure in FIG. 12 is shown in a simplified manner. 12, “X” is #text (character string) as XPath, but “X” is shown to clarify the distinction from other #text. The same applies to the drawings.
図12のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="001">X</div><div>テキスト2</div><div>テキスト3</div></body></html>となる。以上で、注目している付与操作の復元は終わる。
The text representation of the tree in Figure 12 is <html> <head> <title> Title </ title> </ head> <body> <h1> Header </ h1> <div>
ステップS12に進み、アノテーション操作ログ拡張部65は操作ログの中の次の操作に注目位置を移してステップS6に戻る。アノテーション操作ログ拡張部65は、最初の付与操作(ID=001)と同様にして、次の付与操作(ID=002)に対する処理を行う。付与操作(ID=002)に対する処理が終わったときのWeb資源解析結果の状態は図13に示すようになる。図13は2番目のアノテーションが埋め込まれたWeb資源解析結果を表す木構造の説明図である。
In step S12, the annotation operation
図13のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="001">X</div><div>テキスト2</div><div class="annotation" id="002">Y</div><div>テキスト3</div></body></html>となる。
The text representation of the tree in Figure 13 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation" id = "001"> X </ div> <div>
ステップS7において、注目している操作が削除であった場合、アノテーション操作ログ拡張部65はステップS13に進み、どのアノテーションが削除されたのかの情報として削除されたアノテーションの識別マーカを得る。例えば図10の操作ログでは、削除されたアノテーションの識別マーカとして、アノテーションが付与された時の操作ログのIDが記述されている。
In step S7, when the operation of interest is deletion, the annotation operation
ステップS14に進み、アノテーション操作ログ拡張部65は、Web資源解析結果上の削除された(識別マーカが付いた)アノテーションテキストフラグメントを求める。ステップS15に進み、アノテーション操作ログ拡張部65はステップS14で求めたテキストフラグメントをWeb資源解析結果から削除する。
In step S14, the annotation operation
図13の例では、div id=001以下(テキスト表現では<div class="annotation" id="001">X</div>)が削除される。図14は、div id=001以下が削除されたWeb資源解析結果を表す木構造の説明図である。図14のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div>テキスト2</div><div class="annotation" id="002">Y</div><div>テキスト3</div></body></html>となる。
In the example of FIG. 13, div id = 001 or less (<div class = "annotation" id = "001"> X </ div> in the text expression) is deleted. FIG. 14 is an explanatory diagram of a tree structure representing a Web resource analysis result from which div id = 001 or less has been deleted. The text representation of the tree in FIG. 14 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div>
なお、ここでは単純に削除を行っているが、アノテーションにアノテーションが付与されている場合もあるので、もう少し厳密な処理が必要である。なお、アノテーションにアノテーションが付与された実施例は後述する。 Although the deletion is simply performed here, an annotation may be added to the annotation, so a little more strict processing is required. An embodiment in which an annotation is added to the annotation will be described later.
ステップS6においてアノテーション操作ログDB70上の操作ログすべてをWeb資源解析結果に反映したと判定したら、アノテーション作用拡張部64及びアノテーション操作ログ拡張部65はWeb資源解析結果をレンダリングエンジンに渡す(あるいはレンダリング以外の作用を起こす)。
If it is determined in step S6 that all the operation logs on the annotation
なお、ここまでの例ではアノテーションが<div>から</div>までのような構造に対して付与される例を示してきた。しかし、アノテーションは文字列(#text)の一部に対して付与することもできる。例えば<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><p>テキスト1</p><p>abcde</p><p>テキスト3</p></body></html>は図15のようにツリー表現される。図15は木構造の一例を示す説明図である。
In the examples so far, examples have been shown in which annotations are assigned to structures such as <div> to </ div>. However, annotations can be added to a part of the character string (#text). <Html> <head> <title> Title </ title> </ head> <body> <h1> Header </ h1> <p>
ここでは、図15のツリーのabcdeという文字列のbとcとの間にX、dとeとの間にYというアノテーションを順に付与した場合について説明する。この場合のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><p>テキスト1</p><p>ab<div class="annotation" id="001">X</div>cd<div class="annotation" id="002">Y</div>e</p><p>テキスト3</p></body></html>となる。また、この場合の木構造は図16に示すようになる。図16は文字列の一部に対してアノテーションが付与されたWeb資源解析結果を表す木構造の説明図である。
Here, a case will be described in which annotations X are sequentially given between b and c in the character string abcde in the tree of FIG. 15 and Y between d and e in this order. The text representation of the tree in this case is <html> <head> <title> Title </ title> </ head> <body> <h1> Header </ h1> <p> Text1 </ p> <p> ab <div class = "annotation" id = "001"> X </ div> cd <div class = "annotation" id = "002"> Y </ div> e </ p> <p>
アノテーションXの構造位置を単に/html/body/p[2]/#text[1]としてしまうのでは、#textの何文字目に挿入されているのかわからなくなってしまうので、/html/body/p[2]/#text [1]:2というように前の#textブロックの構造位置と、その何文字目の後に挿入されているかのオフセット(上記例では:の後の数字)を記録している。同様にアノテーションYの構造位置は/html/body/p[2]/#text[2]:2と記録している。 If the structure position of annotation X is simply / html / body / p [2] / # text [1], it will not be understood what character #text is inserted, so / html / body / Record the structure position of the previous #text block and the offset after which the character is inserted (in the example above, the number after :), such as p [2] / # text [1]: 2. ing. Similarly, the structure position of annotation Y is recorded as / html / body / p [2] / # text [2]: 2.
ここで、アノテーションXが削除されたとすると、アノテーションYの位置が解決できなくなる(#text[2]:2ではなく#text[1]:4になる)のはアノテーションが<div>から</div>までのような構造に対して付与される例と同様である。 Here, if annotation X is deleted, the position of annotation Y cannot be resolved (it will be #text [1]: 4 instead of #text [2]: 2). It is the same as the example given to the structure up to>.
アノテーションXが削除されたとすると、アノテーションYの位置が解決できなくなる問題は、テキストに対してアノテーションした場合も、アノテーションが<div>から</div>までのような構造に対して付与される例と同様に解決される。 If annotation X is deleted, the problem that the position of annotation Y cannot be resolved is an example where annotation is given to a structure from <div> to </ div> even when annotating the text As well as solved.
また、アノテーションはアノテーションに対して付与することもできる。図17はアノテーションXが埋め込まれた木構造の説明図である。ここでは、アノテーションXという文字列(XPathは/html/body/div[2]/#text)に対してアノテーションYを付与したとする。なお、アノテーションXは何文字かの文字列であって、その中の任意の何文字かを指定することもできるが、アノテーションX全体が選択されたとして説明する。 An annotation can also be added to the annotation. FIG. 17 is an explanatory diagram of a tree structure in which the annotation X is embedded. Here, it is assumed that an annotation Y is given to a character string of annotation X (XPath is / html / body / div [2] / # text). Note that the annotation X is a character string of several characters, and any number of characters in the character string can be specified, but the following description assumes that the entire annotation X has been selected.
図18はアノテーションXにアノテーションYが付与された木構造の説明図である。図18のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="001">X<div class="annotation" id="002">Y</div></div><div>テキスト2</div><div>テキスト3</div></body></html>となる。
FIG. 18 is an explanatory diagram of a tree structure in which annotation Y is added to annotation X. The text representation of the tree in FIG. 18 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation" id = "001"> X <div class = "annotation" id = "002"> Y </ div> </ div> <div>
このとき、アノテーションYのXPathは、/html/body/div[2]/#text:n(nはXの文字数)と記録されることになる。従来は、アノテーションXが削除されると、div id=001のノードが作成されないので、アノテーションYはdiv id=001の後のノードの下に付与されることになってしまっていた。 At this time, the XPath of the annotation Y is recorded as / html / body / div [2] / # text: n (n is the number of X characters). Conventionally, when annotation X is deleted, a node with div id = 001 is not created, so annotation Y is to be assigned under the node after div id = 001.
このようなケースも考慮したアノテーションテキストフラグメントの削除するステップS23の処理は以下のようになる。例えばdiv id=001のノードを削除するとはdiv id=001のノード以下のすべてを単純に削除するのでなく、ノード以下にある他のアノテーションノードを保存するように削除する。すなわち、上記の例では、div id=001とXというテキスト部分とを削除し、div id=002以下をbodyの下(元のdiv id=001の位置)になるようにする(テキストでは、<body>‥<div id="001">X<div id="002">Y</div></div>‥</body>を<body>‥<div id="002">Y</div>‥</body>と変換することに相当する)。 The processing in step S23 for deleting the annotation text fragment in consideration of such a case is as follows. For example, deleting a node with div id = 001 does not simply delete everything below the node with div id = 001, but deletes other annotation nodes below the node. In other words, in the above example, div id = 001 and the text part X are deleted, and div id = 002 or less is placed under the body (position of the original div id = 001) (in the text, < body> …… <div id = "001"> X <div id = "002"> Y </ div> </ div> …… </ body> into <body> …… <div id = "002"> Y </ equivalent to div> ... </ body>).
すなわち、図19に示すような木構造になる。図19はアノテーションXが削除された木構造の説明図である。図19のツリーのテキスト表現は、<html><head><title>タイトル</title></head><body><h1>ヘッダー</h1><div>テキスト1</div><div class="annotation" id="002">Y</div><div>テキスト2</div><div>テキスト3</div></body></html>となる。
That is, a tree structure as shown in FIG. 19 is obtained. FIG. 19 is an explanatory diagram of a tree structure from which the annotation X is deleted. The text representation of the tree in FIG. 19 is <html> <head> <title> title </ title> </ head> <body> <h1> header </ h1> <div> text1 </ div> <div class = "annotation" id = "002"> Y </ div> <div>
図20はアノテーションが付与されたアノテーションをWeb資源解析結果から削除する処理を表したフローチャートである。ステップS21に進み、アノテーション操作ログ拡張部65は削除対象のノードとしてdiv id=001をPとする。ステップS22に進み、アノテーション操作ログ拡張部65はPの子ども要素としてノードX,ノードdiv id=002を注目要素として順にたどる。まず、アノテーション操作ログ拡張部65は注目要素としてノードXを処理する。
FIG. 20 is a flowchart showing a process of deleting an annotation with an annotation from the Web resource analysis result. In step S21, the annotation operation
ステップS23に進み、未処理の注目要素があるため、アノテーション操作ログ拡張部65はステップS24に進む。アノテーション操作ログ拡張部65は注目要素のノードXが他のアノテーションでないため、ステップS25に進み、注目要素のノードX以下をPから取り除く。ステップS27に進み、アノテーション操作ログ拡張部65は次の注目要素をノードdiv id=002としてステップS23に戻る。
Proceeding to step S23, since there is an unprocessed element of interest, the annotation operation
ステップS23に進み、未処理の注目要素があるため、アノテーション操作ログ拡張部65はステップS24に進む。アノテーション操作ログ拡張部65は注目要素のノードdiv id=002以下が他のアノテーションであるため、ステップS26に進む。ステップS26では、アノテーション操作ログ拡張部65が、注目要素のノードdiv id=002以下を残したままステップS27に進む。
Proceeding to step S23, since there is an unprocessed element of interest, the annotation operation
ステップS27に進み、アノテーション操作ログ拡張部65は次の注目要素を選択せずにステップS23に戻る。未処理の注目要素がないため、アノテーション操作ログ拡張部65はステップS28に進み、Pを残した要素であるノードdiv id=002以下に置き換えられる(ここでは残されたアノテーションが一つだったが、複数のアノテーションがあれば順序を保持しながらPを置き換える)。
In step S27, the annotation operation
(アノテーション付与装置50)
図6のアノテーション付与装置50は、例えば図21のフローチャートに示すような処理を行う。図21はアノテーション付与装置の処理を表したフローチャートである。
(Annotation giving device 50)
The
ステップS31に進み、アノテーション付与拡張部62は、注目しているWeb資源に対して、Web資源を表示する前に、そこに付与されているアノテーションを表示する処理を行って、アノテーションが付与されている状態でWeb資源の表示を行う。
In step S31, the annotation
ステップS32に進み、アノテーション付与拡張部62はユーザの操作を受ける。アノテーション付与拡張部62はユーザの操作がWeb資源に対するアノテーション付与ならステップS33に進み、アノテーション付与拡張部62はアノテーション付与部(図示せず)の呼び出しを行い、アノテーションの付与を行わせる。
In step S32, the annotation
アノテーション付与拡張部62はユーザの操作がWeb資源に対するアノテーション削除ならステップS34に進み、アノテーション削除部(図示せず)の呼び出しを行い、アノテーションの削除を行わせる。
If the user operation deletes an annotation for a Web resource, the annotation
アノテーション付与拡張部62はアノテーションの付与・削除が反映された結果をアノテーションDB68に記憶して、次のユーザ操作を待つ。また、アノテーション操作ログ拡張部63はアノテーションの付与・削除の結果をアノテーション操作ログDB70に記憶して、次のユーザ操作を待つ。
The annotation
図22はアノテーション付与操作の処理を表したフローチャートである。アノテーション付与操作は、ユーザに画面上の適当な位置を指定させ、アノテーション内容となるテキストを入力、あるいはファイル上の画像を指定させることによって行われる。 FIG. 22 is a flowchart showing the processing of the annotation giving operation. The annotation giving operation is performed by allowing the user to specify an appropriate position on the screen, inputting text as annotation content, or specifying an image on a file.
ステップS41に進み、アノテーション付与部はユーザに指定された画面上の位置が現在表示されているWeb資源のどの位置であるかを表すXPathを求める。このようにアノテーション付与部はWeb資源のURL,XPath,アノテーション内容等をアノテーション情報として受け取る。 In step S41, the annotation assigning unit obtains an XPath indicating the position of the Web resource currently displayed on the screen specified by the user. Thus, the annotation assigning unit receives the URL, XPath, annotation content, etc. of the Web resource as annotation information.
ステップS42に進み、アノテーション付与拡張部62は受け取ったWeb資源のURL,XPath,アノテーション内容等をアノテーション情報としてアノテーションDB68に登録する。なお、XPathは現在表示されているWeb資源に対して求められるため、アノテーションが既に付与されているならば、アノテーションを含めたXPathで求められる。
In step S42, the annotation
ステップS43に進み、アノテーション操作ログ拡張部63はアノテーション操作ログDB70にアノテーション付与のアノテーション操作ログを登録する。アノテーション操作ログ拡張部63は、現在のWeb資源の操作ログを記録しているアノテーション操作ログDB70の一連のレコードの最後に、操作種類として付与、アノテーション構造位置としてXPath、アノテーション内容、アノテーションレコードを登録する処理がさらに加わる。
In step S43, the annotation operation
図23はアノテーション削除操作の処理を表したフローチャートである。アノテーション削除操作は、ユーザが画面上のアノテーションを指定した後のアノテーション削除アクション(例えば用意されたボタンやメニューなど)によって行われる。 FIG. 23 is a flowchart showing the processing of the annotation deletion operation. The annotation deletion operation is performed by an annotation deletion action (for example, a prepared button or menu) after the user specifies an annotation on the screen.
ステップS51に進み、アノテーション削除部は、どのアノテーションに対する削除アクションであるかを認識する。ステップS52に進み、アノテーション付与拡張部62は削除対象のアノテーションに対応するアノテーションDB68上のレコードを求める。
In step S51, the annotation deletion unit recognizes which annotation is the deletion action. In step S52, the annotation
ステップS53に進み、アノテーション付与拡張部62は削除対象のアノテーションに対応する対応付与操作のレコードをアノテーションDB68上で特定する。ステップS53の処理の詳細は後述する。ステップS54に進み、アノテーション付与拡張部62はアノテーションDB68からステップS53で特定したレコードを削除する。
In
ステップS55に進み、アノテーション操作ログ拡張部63はアノテーション操作ログDB70にアノテーション削除のアノテーション操作ログを登録する。アノテーション操作ログ拡張部63は削除されたアノテーションが何であったかをID(識別マーカ)でアノテーション操作ログDB70に記録しておく。
In step S55, the annotation operation
ID(識別マーカ)としては、例えば付与されたときの操作ログ上でのIDを利用することができる。アノテーション操作ログ拡張部63は、現在のWeb資源の操作ログを記録しているアノテーション操作ログDB70の一連のレコードの最後に、操作種類として削除、ID(識別マーカ)を登録する処理がさらに加わる。
As the ID (identification marker), for example, the ID on the operation log when given can be used. The annotation operation
図24は、対応付与操作特定の処理を表したフローチャートである。対応付与操作特定の処理は、削除されたアノテーションがアノテーション操作ログDB70上の操作ログで表される、どの操作で付与されたのかを特定するものである。アノテーション操作ログ拡張部63は、現在のWeb資源の操作ログを最新のものから順にたどっていき、付与操作の中から、現在削除しようとしているアノテーションとアノテーション内容が一致する操作を求め、その付与操作のIDを対応付与操作のID(識別マーカ)とすればよい。アノテーション操作ログDB70へのアノテーション削除操作の登録は、操作種類フィールドに削除、XPathまたはIDフィールドにID(識別マーカ)を登録する。
FIG. 24 is a flowchart showing processing for specifying the correspondence assignment operation. The process of specifying the correspondence assignment operation is to identify the operation in which the deleted annotation is assigned by the operation log on the annotation
ステップS61に進み、アノテーション操作ログ拡張部63はアノテーション操作ログDB70上の最新の操作ログに注目する。ステップS62に進み、アノテーション操作ログ拡張部63は注目した操作ログの操作種類が付与ならば、ステップS63に進む。
In
ステップS63では、アノテーション操作ログ拡張部63が、注目した操作ログに記述されているアノテーションレコードに基づき、アノテーションDB68のレコードを読み出す。アノテーション操作ログ拡張部63は、読み出したアノテーションのレコードが現在削除しようとしているアノテーションのレコードと一致するかを判定する。
In step S63, the annotation operation
読み出したアノテーションのレコードが現在削除しようとしているアノテーションのレコードと一致すれば、現在の注目操作が現在削除しようとしているアノテーションに対応する付与操作なので、アノテーション操作ログ拡張部63は現在注目している操作のIDをアノテーション付与拡張部62に返して図24のフローチャートの処理を終了する。
If the read annotation record matches the annotation record that is currently to be deleted, the current operation of interest is an assign operation corresponding to the annotation that is currently being deleted. Is returned to the annotation assigning
読み出したアノテーションのレコードが現在削除しようとしているアノテーションのレコードと一致しなければ、現在の注目操作が現在削除しようとしているアノテーションに対応する付与操作でないので、アノテーション操作ログ拡張部63はステップS64に進み、注目する操作ログを一つ過去の操作ログに移し、ステップS62の処理に戻る。
If the read annotation record does not match the annotation record that is currently being deleted, the current operation of interest is not a grant operation corresponding to the annotation that is currently being deleted, and the annotation operation
(アノテーション作用装置51が図4の構成である例)
図4に示したアノテーション位置影響分析部30及びアノテーション操作ログ書き換え部31は、任意のタイミングにおいてアノテーション操作ログDB70を走査して、操作ログを書き換えることができる。典型的な実施形態は、アノテーション削除操作の処理において、操作ログに「削除操作」を登録したタイミングで行われるものである。
(An example in which the
The annotation position
すなわち、今回削除されたアノテーションに対して、アノテーション位置影響分析部30は、今回削除されたアノテーションに対応する付与操作と共に操作ログから削除しても他のアノテーション位置に影響がないかどうかを分析する。
That is, for the annotation deleted this time, the annotation position
影響がないならばアノテーション操作ログ書き換え部31は操作ログから対応する付与操作のレコードを削除する。また、アノテーション操作ログ拡張部63は今回の削除操作も操作ログに登録しない。
If there is no influence, the annotation operation
もし影響があるならば、操作ログの付与操作のレコードはそのままにして、今回の削除操作も操作ログに残すものである。アノテーション作用装置51が図4の構成である場合は図23に示したアノテーション削除操作の処理を以下のフローチャートに置き換えることになる。
If there is an influence, the operation log assignment operation record is left as it is, and the current deletion operation is also left in the operation log. When the
図25はアノテーション削除操作の処理を表した他の例のフローチャートである。図25のフローチャートのステップS71〜S75の処理は、上記の図23のフローチャートのステップS51〜S55の処理と同様である。ステップS76のアノテーション位置影響分析処理は、削除されたアノテーションに対して、そのアノテーションが付与された時点から削除までの間に、付与された他のアノテーションとの位置影響関係を求め、影響がある操作が一つもないときに、付与と削除の対を消す。 FIG. 25 is a flowchart of another example showing the processing of the annotation deletion operation. The processing in steps S71 to S75 in the flowchart in FIG. 25 is the same as the processing in steps S51 to S55 in the flowchart in FIG. The annotation position influence analysis processing in step S76 obtains a position influence relationship with other added annotations from the time when the annotation is added to the deletion annotation, and an operation having an influence is performed. When there is no, delete the grant / delete pair.
位置影響関係は、自分よりも前方、あるいは木構造の別ブロックかどうかを判定することで求める。また、対を消したことによって、これまでは消すことができなかった付与と削除の対の中で消すことができるようになった対をさらに消す。 The position influence relationship is obtained by determining whether the block is ahead of itself or another block of a tree structure. Further, by deleting the pair, the pair that can be deleted among the pair of grant and deletion that could not be deleted until now is further deleted.
図26はアノテーション位置影響分析処理を表したフローチャートである。ステップS81に進み、アノテーション位置影響分析部30は、削除されたアノテーションの操作ログ上のID(識別マーカ)を受け取る。アノテーション位置影響分析部30は受け取ったIDだけを要素とする要素数1のリストを作り、削除イベントリストとする。
FIG. 26 is a flowchart showing the annotation position influence analysis process. In step S81, the annotation position
ステップS82に進み、アノテーション位置影響分析部30は削除イベントリストから先頭の要素を取り出す。最初、削除イベントリストは要素数1のリストである。このためステップS82で取り出されるIDは、ステップS81で設定されたID(このIDで指定される操作は必ず削除である)である。また、要素を取り出した結果として、削除イベントリストは空になる。
In step S82, the annotation position
ステップS83に進み、アノテーション位置影響分析部30はステップS82で取り出したIDに対応する付与時のIDを求める。図23に示したアノテーション削除操作の処理では、操作ログにおける操作種類が削除のレコードに、対応する付与操作のID(識別マーカ)が登録されているので、操作ログにおける操作種類の値を取り出す。ここまでの処理により、アノテーション位置影響分析部30はアノテーションを削除する削除操作のIDと、削除操作に対応するアノテーションを付与した付与操作のIDとが得られる。
In step S83, the annotation position
ステップS84に進み、アノテーション位置影響分析部30はアノテーション操作ログDB70に記録されている操作ログを参照し、ステップS83で求めた付与操作から削除操作までの間に、ステップS83で求めた付与操作の操作ログを消すと、位置再現に影響のあるアノテーションの有無を判定する。ステップS84の処理の詳細は後述する。
Proceeding to step S84, the annotation position
位置再現に影響のあるアノテーションがあれば、アノテーション位置影響分析部30はステップS85に進み、ステップS83で求めた付与操作の操作ログを消去できないと判断し、アノテーション操作ログDB70に、ステップS83で求めた付与操作及び削除操作の操作ログを、そのまま残す。
If there is an annotation that affects position reproduction, the annotation position
ステップS85に続いてステップS86に進み、アノテーション位置影響分析部30は削除イベントリストが空かを判定する。削除イベントリストが空であれば、アノテーション位置影響分析部30は図26のフローチャートの処理を終了する。削除イベントリストが空でなければ、アノテーション位置影響分析部30はステップS82に戻る。
Progressing to step S86 following step S85, the annotation position
一方、アノテーション位置影響分析部30はステップS84において、位置再現に影響のあるアノテーションがなければ、ステップS83で求めた付与操作の操作ログを消去できると判断する。アノテーション位置影響分析部30はステップS87に進み、ステップS83で求めた対となる付与操作及び削除操作の操作ログを、アノテーション操作ログ書き換え部31にアノテーション操作ログDB70から削除させる。
On the other hand, in step S84, the annotation position
例えば操作ログが(#1,insert,3,X)、(#2,insert,5,Y)、(#3,delete,#1)である場合、#3における削除操作の時点では、#2で付与されたアノテーションYの存在により#1と#3との対(ペア)を操作ログから取り除くことができない。 For example, when the operation log is (# 1, insert, 3, X), (# 2, insert, 5, Y), (# 3, delete, # 1), at the time of the delete operation in # 3, # 2 The pair of # 1 and # 3 cannot be removed from the operation log due to the presence of the annotation Y given in.
しかし、(#4,delete,#2)という削除操作が加わると、#2と#4とのペアは操作ログから取り除くことができる。すると、#1と#3とのペアの間に影響のある付与操作が無くなり、#1と#3とのペアは操作ログから取り除くことができる。このような波及効果を実現するために、アノテーション位置影響分析部30はステップS87に続いてステップS88に進み、取り除いた付与操作及び削除操作の操作ログの間にある削除操作のIDを削除イベントリストに付け加えてステップS82の処理に戻る。ステップS82〜S88の処理を繰り返し行うことで、アノテーション位置影響分析部30は波及して取り除ける操作ログを求めることができる。
However, if a deletion operation of (# 4, delete, # 2) is added, the pair of # 2 and # 4 can be removed from the operation log. Then, there is no giving operation having an influence between the pair of # 1 and # 3, and the pair of # 1 and # 3 can be removed from the operation log. In order to realize such a ripple effect, the annotation position
ステップS84の処理である影響有無判定処理は、次のように行う。付与操作と削除操作の操作ログ上のIDが与えられたとき、アノテーション位置影響分析部30は、この付与操作および削除操作の操作ログをアノテーション操作ログDB70から取り除けるかどうかを判定する。
The influence presence / absence determination process, which is the process of step S84, is performed as follows. When the IDs on the operation logs of the grant operation and the delete operation are given, the annotation position
図27は付与操作および削除操作の操作ログをアノテーション操作ログDBから、どのようなときに取り除けて、どのようなときに取り除けないかを表した説明図である。例えばアノテーション操作ログDB70から操作ログを取り除きたいノードはノードIであるとする。
FIG. 27 is an explanatory diagram showing when the operation log of the assigning operation and the deleting operation can be removed from the annotation operation log DB, and when it cannot be removed. For example, it is assumed that the node I wants to remove the operation log from the annotation
ノードIの操作ログをアノテーション操作ログDB70から取り除けるのは、ノードIが付与されて削除されるまでの間に付与されたすべてのアノテーションの構造位置(XPath)が、ノードIの有無によらず不変であるときである。ノードIが付与されて削除されるまでの間に付与されたアノテーションの構造位置が、ノードIの有無により一つでも変化してしまうのであれば、ノードIの操作ログはアノテーション操作ログDB70から取り除けない。
The operation log of the node I can be removed from the annotation
図27のノードIの子孫であるノードJ,Kは、ノードIが無くなると当然構造位置が変わってしまう。また、ノードIの弟であるノードLと、その子孫であるノードM,NもノードIが無くなると構造位置が変わってしまう。 The nodes J and K which are descendants of the node I in FIG. 27 naturally change their structural positions when the node I disappears. In addition, the node L, which is the brother of the node I, and the nodes M and N, which are descendants of the node L, change their structural positions when the node I disappears.
一方、ノードIと親を共通にしないノードB,C,D,O,P及びQは、ノードIが無くなっても構造位置が不変である。ノードIと親が共通であっても、ノードIの前方にある兄であるノードFと、その子孫であるノードG,Hとは、ノードIが無くなっても構造位置が不変である。 On the other hand, the nodes B, C, D, O, P, and Q that do not share the parent with the node I have the same structure position even if the node I disappears. Even if node I and the parent are common, node F, which is the older brother in front of node I, and its descendants, nodes G and H, have the same structural position even if node I disappears.
結局、ノードIの付与から削除までの間に、自分自身(ノードI)の子孫、あるいは弟とその子孫になる位置に一つでもアノテーションが付与されたならば、アノテーション位置影響分析部30はノードIの操作ログをアノテーション操作ログDB70から取り除けないと判定する。また、ノードIの付与から削除までの間に、自分自身の子孫、あるいは弟とその子孫になる位置にアノテーションが付与されなければ、アノテーション位置影響分析部30はノードIの操作ログをアノテーション操作ログDB70から取り除けると判定する。
After all, if at least one annotation is given to a position that becomes a descendant of itself (node I) or a younger brother and its descendant during the period from addition to deletion of node I, the annotation position
図28は付与操作および削除操作の操作ログをアノテーション操作ログDBから取り除けるかどうかを判定する処理を表したフローチャートである。 FIG. 28 is a flowchart showing processing for determining whether or not the operation log of the assigning operation and the deleting operation can be removed from the annotation operation log DB.
ステップS91に進み、アノテーション位置影響分析部30は、付与操作のIDをiとし、削除操作のIDをjとする。ステップS92に進み、アノテーション位置影響分析部30はiの構造位置(XPath)を求めてpとする。
Proceeding to step S91, the annotation position
なお、アノテーションDB68やアノテーション操作ログDB70に登録されている構造位置は、どのノードの後にアノテーションを挿入するかの位置である。例えば図27の場合、ノードIは構造位置としてノードFが指定されている。しかし、ここではノードFの構造位置ではなくノードI自身の構造位置をpとする。
Note that the structure position registered in the
ステップS93に進み、アノテーション位置影響分析部30は注目する操作ログ上の位置iを、現在のiの次の操作ログのIDとする。なお、操作ログはアノテーション操作ログDB70から取り除かれていることもあるため、現在のiの次の操作ログのIDが連番でないこともある。
In step S93, the annotation position
ステップS94に進み、アノテーション位置影響分析部30は注目する操作ログ上の位置iが削除操作(j)よりも過去に行われた操作であるかを判定する。注目する操作ログ上の位置iが削除操作(j)よりも過去に行われた操作であれば、アノテーション位置影響分析部30はステップS95に進む。
In step S94, the annotation position
ステップS95では、アノテーション位置影響分析部30が、iで示される操作が付与操作であるかを判定する。iで示される操作が付与操作であれば、アノテーション位置影響分析部30はステップS96に進み、iで示される付与操作の構造位置を取り出し、その構造位置をqとする。なお、ここではpと同様に、付与されたアノテーション自身の構造位置をqとする。
In step S95, the annotation position
そして、ステップS97に進み、アノテーション位置影響分析部30はqがpの子孫であるか、あるいは弟であるか、あるいは弟の子孫であるかを判定する。qがpの子孫であるか、あるいは弟であるか、あるいは弟の子孫であれば、アノテーション位置影響分析部30は、影響のあるアノテーションが存在すると判定する。qがpの子孫でなく、あるいは弟でなく、あるいは弟の子孫でなければ、アノテーション位置影響分析部30は、ステップS93に戻る。
In step S97, the annotation position
なお、ステップS94において、注目する操作ログ上の位置iが削除操作(j)よりも過去に行われた操作でなければ(jと一致)、アノテーション位置影響分析部30は影響のあるアノテーションが存在しないと判定する。ステップS95において、iで示される操作が付与操作でなければ、アノテーション位置影響分析部30はステップS93に戻る。
In step S94, if the position i on the noticed operation log is not an operation performed before the deletion operation (j) (matches j), the annotation position
(アノテーション作用装置51が図5の構成である例)
図5の構成のアノテーション作用装置51は、アノテーションの削除操作に対し、アノテーション操作ログDB70内の対応するレコードに、図29に示すように、削除済みのマーカを付与する。図29はアノテーション操作ログDBの他の例の構成図である。図29のアノテーション操作ログDB70は、図10に示したアノテーション操作ログDB70と、付与したアノテーションが削除済か否かのマーカが記録されることが異なる。
(An example in which the
As shown in FIG. 29, the
また、図29のアノテーション操作ログDB70には、削除操作の操作ログが記録されない(記録されたとしても無視される)。図29のアノテーション操作ログDB70では操作種類のフィールドが残されているが、記録される操作ログが付与操作だけである為、操作種類のフィールドを無くしてもよい。
In addition, the operation log of the deletion operation is not recorded in the annotation
また、図29のアノテーション操作ログDB70はID003のXPathが図10のアノテーション操作ログDB70と異なっている。この理由はWeb資源解析結果に削除済の痕跡が残るからである。図30は、削除済の痕跡が残るWeb資源解析結果を表す木構造の説明図である。図30では、div class=deletedという削除済の痕跡が残っているため、アノテーションZの構造位置が/html/body/div[4]となる。
29 is different from the annotation
図31はアノテーション作用装置のアノテーション表示処理を表したフローチャートである。図31のフローチャートは、図8のフローチャートと比べて、アノテーションを表示(作用)するときに「削除済」マーカを考慮すること、削除済みのアノテーションを認識し「削除済」マーカを付与すること、とが異なる。 FIG. 31 is a flowchart showing annotation display processing of the annotation action device. Compared with the flowchart of FIG. 8, the flowchart of FIG. 31 considers the “deleted” marker when displaying (acting) the annotation, recognizes the deleted annotation, and assigns the “deleted” marker. Is different.
具体的に、図31のフローチャートは、図8のフローチャートと以下の点が異なっている。第1に、図5の構成のアノテーション作用装置51は、削除操作をアノテーション操作ログDB70に記録しないため、図8のフローチャートにおけるステップS7,S13〜S15が不要となる。
Specifically, the flowchart of FIG. 31 differs from the flowchart of FIG. 8 in the following points. First, since the
第2に、図5の構成のアノテーション作用装置51は、図8のフローチャートにおけるステップS10のテキストフラグメント化に対応する処理おいて、「削除済」マーカがある場合と「削除済」マーカがない場合とで作成するテキストフラグメントが異なる。第3に、図5の構成のアノテーション作用装置51は、後で操作ログを削除する必要がないので識別マーカも不要である。
Second, the
ステップS101〜S106、S107,S108,S112,S113の処理は図8のステップS1〜S6、S8、S9、S12、S16の処理と同様であるため、説明を省略する。 The processing in steps S101 to S106, S107, S108, S112, and S113 is the same as the processing in steps S1 to S6, S8, S9, S12, and S16 in FIG.
ステップS109に進み、アノテーション操作ログ拡張部65はアノテーションをテキストフラグ化する際に、アノテーションが既に削除されているか否かをアノテーション操作ログDB70のマーカのフィールドを参照して確認する。「削除済」マーカが付いていなければ、アノテーション操作ログ拡張部65はアノテーションが存在すると判定し、ステップS110に進む。ステップS110では、アノテーション操作ログ拡張部65が図8のステップS10と同様、アノテーション内容からアノテーション用のテキストフラグメントを作成するが、特に識別マーカをテキストフラグメントに埋め込む必要はない。
In step S109, the annotation operation
もし、「削除済」マーカが付いていれば、アノテーション操作ログ拡張部65は、既にアノテーションが削除されていると判定し、ステップS114に進む。ステップS114ではアノテーション操作ログ拡張部65がダミーのアノテーションテキストフラグメントを作成する。ダミーのアノテーションテキストフラグメントは、構造位置を計算する時にアノテーションがあるのと同様な働きをするが、表示や作用のときに何も効果を生じないようなテキストフラグメントである。具体的に、例えば属性値としてdeletedを持ち、テキスト要素が空のテキストフラグメントとして<div class="annotation deleted"/>を作成する。
If the “deleted” marker is attached, the annotation operation
削除済みアノテーションを認識する典型的な実施例は、アノテーションの削除操作が行われたときに呼び出されるものである。例えば、図23のアノテーション削除の実施例においてステップS55のアノテーション操作ログに「削除」を登録する代わりに、図31のフローチャートは、対応する付与操作(これは図23のフローチャートではステップS53において求まっている)のレコードに削除済というマーカを付与する点で異なる。 An exemplary embodiment for recognizing a deleted annotation is called when an annotation deletion operation is performed. For example, instead of registering “deletion” in the annotation operation log in step S55 in the annotation deletion embodiment of FIG. 23, the flowchart of FIG. 31 shows the corresponding assignment operation (this is determined in step S53 in the flowchart of FIG. 23). This is different in that a marker “deleted” is added to the record of “Yes”.
また、図5の削除済みアノテーション認識手段41は、アノテーションの削除操作時点で何もせず、ステップS109でアノテーションが既に削除されているかどうかを確認する際、「削除済」マーカの有無を確認するのではなく、アノテーションDB68にアクセスし、そのアノテーションのレコードが存在するかどうかでアノテーションが存在するか削除されているかを確認できる。なお、このやり方の場合には操作ログの「削除済」マーカのフィールドは不要である。なお、アノテーションDB68へのアクセスは、このタイミングでなくステップS107でアノテーション情報を取り出すときに行ってもよい。
Further, the deleted annotation recognition means 41 in FIG. 5 does nothing at the time of the annotation deletion operation, and checks whether or not the “deleted” marker is present when checking whether the annotation has already been deleted in step S109. Instead, it is possible to check whether the annotation exists or has been deleted by accessing the
(アノテーションプログラムがブラウザに適用された例)
図32は、本実施例のアノテーションプログラムを適用したブラウザの一例の構成図である。図32のブラウザ200は、典型的な構成を示したものであり、説明に不要なCSSの処理やPDFプラグイン等の細かい部分を省略している。
(Example of annotation program applied to browser)
FIG. 32 is a configuration diagram of an example of a browser to which the annotation program of this embodiment is applied. The
ネットワークを経由して受信されたHTML文書100をHTMLパーサ201は解析して、木構造(DOMツリー)202を生成する。これと同時に、Javascriptプログラム205はHTML文書100中にあったJavascriptプログラム205を実行し、DOMツリー202の中身を書き換える。書き換えられたDOMツリー202はレンダリングエンジン203に送られる。
The HTML parser 201 analyzes the HTML document 100 received via the network, and generates a tree structure (DOM tree) 202. At the same time, the
レンダリングエンジン203は送られてきたDOMツリー202を画面で見える形に変換する。そして、ユーザインタフェース204を介したユーザの操作等によってJavascriptプログラム205はDOMツリー202を書き換え、表示させる内容を変化させる。
The
アノテーションプログラム210は、典型的にブラウザ200の中に保持される(すなわち、ブラウザ200に組込まれる、あるいは機能拡張として付け加えられる形で実現される)。
The annotation program 210 is typically held in the browser 200 (ie, implemented in a form that is incorporated into the
そして、読み込まれたHTML文書100のJavascriptプログラム205が実行されるのに追加して、アノテーションプログラム210は実行され、DOMツリー202を書き換える。なお、アノテーションプログラム210が参照するアノテーションDB等のデータはブラウザ200の外部に保持される。
Then, in addition to the
アノテーションプログラム210を保持する別の実施形態としては、読み込まれるHTML文書に、アノテーションプログラム210を保持しておくことが考えられる。この実施形態では、適用できるWebページが限定されるが、ブラウザ200にアノテーションプログラム210を保持するのと同じ効果を持たせることができる。
As another embodiment for holding the annotation program 210, it is conceivable to hold the annotation program 210 in a read HTML document. In this embodiment, the applicable Web pages are limited, but the same effect as that in which the annotation program 210 is held in the
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
して動作させるアノテーションプログラム。
(付記2)
前記コンピュータを、
前記アノテーション操作ログ記憶手段に記憶されているアノテーションの付与操作及び削除操作の操作ログの対のうち、削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を分析するアノテーション位置影響分析手段と、
削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を前記アノテーション操作ログ記憶手段から削除するように書き換えるアノテーション操作ログ書き換え手段と
して動作させる付記1記載のアノテーションプログラム。
(付記3)
アノテーション情報を管理するコンピュータを動作させるアノテーションプログラムであって、
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込手段と
して動作させるアノテーションプログラム。
(付記4)
アノテーション情報を管理するアノテーション装置であって、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
を有するアノテーション装置。
(付記5)
アノテーション情報を管理するアノテーション装置であって、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込手段と
を有するアノテーション装置。
(付記6)
アノテーション情報を管理するアノテーション装置のアノテーション方法であって、
Web資源を受信する受信ステップと、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除ステップと
を有するアノテーション方法。
(付記7)
アノテーション情報を管理するアノテーション装置のアノテーション方法であって、
Web資源を受信する受信ステップと、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込ステップと
を有するアノテーション方法。
The present invention may have the following configurations as described below.
(Appendix 1)
An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation program that operates as an annotation specific deletion means that specifies and deletes the annotation that is the target of the operation.
(Appendix 2)
The computer,
Of annotation operation log pairs stored in the annotation operation log storage means, an annotation assignment operation and a deletion operation operation that do not affect other annotation assignment positions even if deleted. An annotation position influence analysis means for analyzing log pairs;
(Appendix 3)
An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, Dummy annotation generating means for generating dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation program that operates as an annotation embedding unit that embeds the dummy annotation in the Web resource when the operation is to add an annotation that has been deleted.
(Appendix 4)
An annotation device that manages annotation information,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation device having annotation specific deletion means for specifying and deleting an annotation to be operated.
(Appendix 5)
An annotation device that manages annotation information,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, Dummy annotation generating means for generating dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation apparatus comprising: an annotation embedding unit that embeds the dummy annotation in the Web resource when the operation is to add a deleted annotation.
(Appendix 6)
An annotation method for an annotation device that manages annotation information,
A receiving step of receiving a web resource;
An annotation operation log acquisition step for retrieving the operation log for the received Web resource from the annotation operation log storage unit that stores the Web resource identification information and the operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. An annotation marker giving step to be given;
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker An annotation method comprising: an annotation identification / deletion step for identifying and deleting an annotation to be operated.
(Appendix 7)
An annotation method for an annotation device that manages annotation information,
A receiving step of receiving a web resource;
An annotation operation log acquisition step for retrieving the operation log for the received Web resource from the annotation operation log storage unit that stores the Web resource identification information and the operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, A dummy annotation generation step for generating a dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation method comprising an annotation embedding step of embedding the dummy annotation in the Web resource when the deleted annotation is added.
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.
1 アノテーション
10 Web資源取得部
11 Web資源解析結果準備部
12 アノテーション操作ログ取得部
13 アノテーション復元部
14 アノテーションマーカ付与部
15 アノテーション埋込部
16 アノテーションフラグメント特定部
17 アノテーションフラグメント削除部
18 アノテーション作用部
19 Web資源解析結果
20 アノテーションDB
21 アノテーション操作ログDB
30 アノテーション位置影響分析部
31 アノテーション操作ログ書き換え部
40 ダミーアノテーションテキストフラグメント生成部
41 削除済みアノテーション認識手段
50 アノテーション付与装置
51 アノテーション作用装置
52 アノテーション管理サーバ
53 アノテーション操作ログ管理装置
61 Web閲覧器
62 アノテーション付与拡張部
63 アノテーション操作ログ拡張部
64 アノテーション作用拡張部
65 アノテーション操作ログ拡張部
66 Web閲覧器
67 アノテーションDB管理部
68 アノテーションDB
69 アノテーション一覧管理部
70 アノテーション操作ログDB
81 入力装置
82 出力装置
83 ドライブ装置
84 補助記憶装置
85 主記憶装置
86 演算処理装置
87 インターフェース装置
100 HTML文書
200 ブラウザ
201 HTMLパーサ
202 DOMツリー
203 レンダリングエンジン
204 ユーザインタフェース
205 Javascriptプログラム
206 Javascriptエンジン
DESCRIPTION OF
21 Annotation operation log DB
DESCRIPTION OF
69 Annotation
81
Claims (5)
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
して動作させ、
後で削除操作により削除されるアノテーションであっても、一時的に、前記マーカを付与して前記Web資源に埋め込み、前記操作ログから時系列に選択された削除操作に基づき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーションプログラム。 An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker Operate as annotation specific deletion means to identify and delete the annotation that is the target of operation ,
Even if the annotation is deleted later by a deletion operation, the marker is temporarily added and embedded in the Web resource, and the marker is used based on the deletion operation selected in time series from the operation log. Te, to delete identify the which is the subject of deletion operations that are embedded in a Web resource annotation program.
前記アノテーション操作ログ記憶手段に記憶されているアノテーションの付与操作及び削除操作の操作ログの対のうち、削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を分析するアノテーション位置影響分析手段と、
削除しても他のアノテーションの付与位置に影響を与えないアノテーションの付与操作及び削除操作の操作ログの対を前記アノテーション操作ログ記憶手段から削除するように書き換えるアノテーション操作ログ書き換え手段と
して動作させる請求項1記載のアノテーションプログラム。 The computer,
Of annotation operation log pairs stored in the annotation operation log storage means, an annotation assignment operation and a deletion operation operation that do not affect other annotation assignment positions even if deleted. An annotation position influence analysis means for analyzing log pairs;
An operation of an annotation operation log rewrite unit that rewrites an operation log pair of an annotation assignment operation and a deletion operation that does not affect another annotation assignment position even if deleted so as to be deleted from the annotation operation log storage unit. The annotation program according to 1.
前記コンピュータを、
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが既に削除されているアノテーションの付与操作であるとき、他のアノテーションの付与位置に影響を与え、前記アノテーションの作用時に影響を与えないダミーアノテーションの生成を行うダミーアノテーション生成手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログが存在するアノテーションの付与操作であるとき、前記アノテーションを前記Web資源に埋め込み、前記操作ログが既に削除されているアノテーションの付与操作であるとき、前記ダミーアノテーションを前記Web資源に埋め込むアノテーション埋込手段と
して動作させるアノテーションプログラム。 An annotation program for operating a computer for managing annotation information,
The computer,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
The operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation assignment operation that has already been deleted, it affects the assignment position of other annotations, Dummy annotation generating means for generating dummy annotation that does not affect the operation of the annotation;
An operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and when the operation log is an annotation giving operation, the annotation is embedded in the Web resource, and the operation log has already been stored. An annotation program that operates as an annotation embedding unit that embeds the dummy annotation in the Web resource when the operation is to add an annotation that has been deleted.
Web資源を受信する受信手段と、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与手段と、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除手段と
を有し、
後で削除操作により削除されるアノテーションであっても、一時的に、前記マーカを付与して前記Web資源に埋め込み、前記操作ログから時系列に選択された削除操作に基づき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション装置。 An annotation device that manages annotation information,
Receiving means for receiving Web resources;
An annotation operation log acquisition unit that retrieves an operation log for the received Web resource from an annotation operation log storage unit that stores Web resource identification information and an operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. Annotation marker giving means for giving,
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker the annotation is an operation target specifying to possess the annotation specific deletion means for deleting,
Even if the annotation is deleted later by a deletion operation, the marker is temporarily added and embedded in the Web resource, and the marker is used based on the deletion operation selected in time series from the operation log. An annotation device that identifies and deletes the annotation that is the target of the deletion operation embedded in the Web resource .
Web資源を受信する受信ステップと、
受信したWeb資源に対する操作ログを、Web資源の識別情報と操作ログとを対応付けて時系列に記憶しているアノテーション操作ログ記憶手段から取り出すアノテーション操作ログ取得ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの付与操作であるとき、前記Web資源に埋め込むアノテーションに、前記アノテーションを識別可能なマーカを付与するアノテーションマーカ付与ステップと、
前記アノテーション操作ログ記憶手段から取り出した前記Web資源に対する操作ログを時系列に選択し、前記操作ログがアノテーションの削除操作であるとき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション特定削除ステップと
を有し、
後で削除操作により削除されるアノテーションであっても、一時的に、前記マーカを付与して前記Web資源に埋め込み、前記操作ログから時系列に選択された削除操作に基づき、前記マーカを利用して、前記Web資源に埋め込まれている削除操作の対象であるアノテーションを特定して削除するアノテーション方法。 An annotation method for an annotation device that manages annotation information,
A receiving step of receiving a web resource;
An annotation operation log acquisition step for retrieving the operation log for the received Web resource from the annotation operation log storage unit that stores the Web resource identification information and the operation log in association with each other in time series;
When an operation log for the Web resource extracted from the annotation operation log storage unit is selected in time series, and the operation log is an annotation assignment operation, a marker that can identify the annotation is embedded in the annotation embedded in the Web resource. An annotation marker giving step to be given;
The operation log for the Web resource extracted from the annotation operation log storage means is selected in time series, and when the operation log is an annotation deletion operation, the deletion embedded in the Web resource using the marker operations that are the subject of the annotation specified by chromatic and annotation specific deletion step of deleting,
Even if the annotation is deleted later by a deletion operation, the marker is temporarily added and embedded in the Web resource, and the marker is used based on the deletion operation selected in time series from the operation log. An annotation method for identifying and deleting an annotation that is a target of a deletion operation embedded in the Web resource .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009048544A JP5391738B2 (en) | 2009-03-02 | 2009-03-02 | Annotation program, annotation apparatus, and annotation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009048544A JP5391738B2 (en) | 2009-03-02 | 2009-03-02 | Annotation program, annotation apparatus, and annotation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010204863A JP2010204863A (en) | 2010-09-16 |
JP5391738B2 true JP5391738B2 (en) | 2014-01-15 |
Family
ID=42966294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009048544A Expired - Fee Related JP5391738B2 (en) | 2009-03-02 | 2009-03-02 | Annotation program, annotation apparatus, and annotation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5391738B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130163762A1 (en) | 2010-09-13 | 2013-06-27 | Nec Corporation | Relay node device authentication mechanism |
CN112905405B (en) * | 2019-12-03 | 2022-12-23 | 武汉斗鱼鱼乐网络科技有限公司 | Label data processing method and device and storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3396177B2 (en) * | 1999-01-26 | 2003-04-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Web page customization system |
JP3772142B2 (en) * | 2002-10-18 | 2006-05-10 | 三菱電機インフォメーションシステムズ株式会社 | Structured document update management device, structured document update management method, computer-readable recording medium storing program, and program |
JP2006004298A (en) * | 2004-06-18 | 2006-01-05 | Fuji Xerox Co Ltd | Document processing apparatus, documents processing method, and document processing program |
-
2009
- 2009-03-02 JP JP2009048544A patent/JP5391738B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010204863A (en) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8065667B2 (en) | Injecting content into third party documents for document processing | |
US7299407B2 (en) | Marking and annotating electronic documents | |
US7162691B1 (en) | Methods and apparatus for indexing and searching of multi-media web pages | |
US20080091706A1 (en) | Apparatus, method, and computer program product for processing information | |
JP4716612B2 (en) | Method for redirecting the source of a data object displayed in an HTML document | |
US7844897B1 (en) | Blog template generation | |
JP2000222394A (en) | Document managing device and method and recording medium for recording its control program | |
JP2008090404A (en) | Document retrieval apparatus, method and program | |
CN114021042A (en) | Webpage content extraction method and device, computer equipment and storage medium | |
JP5098605B2 (en) | Annotation program, annotation device | |
JP5063877B2 (en) | Information processing apparatus and computer program | |
JP5391738B2 (en) | Annotation program, annotation apparatus, and annotation method | |
JP5267342B2 (en) | Mashup program, mashup device, and mashup method | |
US7581167B2 (en) | Method and system for automated simulation of dynamic URL-based Web application | |
JP5712496B2 (en) | Annotation restoration method, annotation assignment method, annotation restoration program, and annotation restoration apparatus | |
JP5494978B2 (en) | Information estimation apparatus, information estimation method, and program | |
JP2006065467A5 (en) | ||
JP2006065467A (en) | Device for creating data extraction definition information and method for creating data extraction definition information | |
JP2006134102A (en) | Program, method and apparatus for supporting directory edition | |
JP5765452B2 (en) | Annotation addition / restoration method and annotation addition / restoration apparatus | |
JP5476867B2 (en) | Mashup program, mashup device, and mashup method | |
JP2001034525A (en) | Web page display method and recording medium where processing program thereof is recorded | |
JP2006127117A (en) | Method, device, and program for recording/reproducing web reference operation, and storage medium storing program | |
JP5187064B2 (en) | Web resource tracking management program, Web resource tracking management device, and Web resource tracking management method | |
JP2001022788A (en) | Information retrieving device and recording medium recording information retrieval program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130514 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130716 |
|
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: 20130917 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130930 |
|
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 |