JP2007293698A - 文書管理システムおよび文書管理プログラム - Google Patents
文書管理システムおよび文書管理プログラム Download PDFInfo
- Publication number
- JP2007293698A JP2007293698A JP2006122369A JP2006122369A JP2007293698A JP 2007293698 A JP2007293698 A JP 2007293698A JP 2006122369 A JP2006122369 A JP 2006122369A JP 2006122369 A JP2006122369 A JP 2006122369A JP 2007293698 A JP2007293698 A JP 2007293698A
- Authority
- JP
- Japan
- Prior art keywords
- document
- citation
- history
- management system
- component
- 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.)
- Abandoned
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】文書に含まれる部分文書の文書間の引用履歴を管理可能な技術を提供すること。
【解決手段】ユニークな識別子である文書IDが付与された文書と前記文書中にあらかじめ定義された範囲の文書片であり、ユニークな識別子である部分文書IDが付与された部品文書とを管理する手段0101と、前記部分文書がある文書から他の文書へ引用された場合に、当該引用履歴を記録する手段0102と、前記文書間で前記部品文書のコピー・ペースト操作を許可し、それ以外の範囲の文書片のコピー・ペースト操作を禁止する手段0103とを備えた。
【選択図】 図1
【解決手段】ユニークな識別子である文書IDが付与された文書と前記文書中にあらかじめ定義された範囲の文書片であり、ユニークな識別子である部分文書IDが付与された部品文書とを管理する手段0101と、前記部分文書がある文書から他の文書へ引用された場合に、当該引用履歴を記録する手段0102と、前記文書間で前記部品文書のコピー・ペースト操作を許可し、それ以外の範囲の文書片のコピー・ペースト操作を禁止する手段0103とを備えた。
【選択図】 図1
Description
本発明は、文書の格納、編集、及び引用管理を行うための技術に関する。
文書管理システムとして、例えば特許文献1(特開2004−145743号公報)及び特許文献2(米国特許第6,493,731号)に記載されたものが知られている。これらの文献には、管理している文書を自由に編集することができることが記載されている。また、そのような引用操作が行われた場合には、どの文書からどの文書へ引用が行われたかという情報を履歴として蓄積することが記載されている。しかし、特許文献1及び特許文献2に記載されたシステムでは、どの文書からどの文書へ引用が行われたかという履歴を蓄積しているが、文書中のどのような文書片が引用されたかを記録していない。
なお、特許文献3(特開2004−145743号公報)には、蓄積された引用履歴を表や有効グラフなどの形式で表示する機能を有するシステムも知られている。
また、特許文献4(特開2004−46357号公報)には、構造化文書の中に含まれるコンテンツを、それよりさらに細かい操作単位としてのサブコンテンツ単位で容易に編集することができる技術を開示している。この技術では、構造化文書に一致または含まれる、少なくとも1つの要素からなる予め操作単位として定められた部分文書に、少なくとも当該部分文書が操作単位であることを表す情報が含まれており、この情報を基に、少なくとも当該部分文書と当該部分文書の位置情報とを含む部分文書毎の部品データを作成して、構造化文書を部品データの集合として記憶しておき、操作対象として選択された前記部分文書に対する操作内容に応じて、当該操作対象の部分文書に対応する部品データを更新することにより構造化文書を編集するようにしている。しかし、特許文献3には、文書片の文書間の引用に関する記載はない。
特開2004−145743号公報
米国特許第6,493,731号
特開2004−145743号公報
特開2004−46357号公報
本発明は、文書に含まれる部分文書の文書間の引用履歴を管理可能な技術を提供することを目的とする。
本発明では、文書編集機能を限定する代わりに、引用履歴として、どの文書からどの文書へどのような文書片が引用されたかという情報を記録することに特徴がある。
具体的には、本発明の局面に係る発明は、ユニークな識別子である文書IDが付与された文書と前記文書中にあらかじめ定義された範囲の文書片であり、ユニークな識別子である部分文書IDが付与された部品文書とを管理する手段と、前記部分文書がある文書から他の文書へ引用された場合に、当該引用履歴を記録する手段と、前記文書間で前記部品文書のコピー・ペースト操作を許可し、それ以外の範囲の文書片のコピー・ペースト操作を禁止する手段と、を具備することを特徴とする。
具体的には、本発明の局面に係る発明は、ユニークな識別子である文書IDが付与された文書と前記文書中にあらかじめ定義された範囲の文書片であり、ユニークな識別子である部分文書IDが付与された部品文書とを管理する手段と、前記部分文書がある文書から他の文書へ引用された場合に、当該引用履歴を記録する手段と、前記文書間で前記部品文書のコピー・ペースト操作を許可し、それ以外の範囲の文書片のコピー・ペースト操作を禁止する手段と、を具備することを特徴とする。
本発明によれば、文書に含まれる部分文書の文書間の引用履歴を管理可能な技術を提供することができる。
図面を参照して本発明の実施の形態を説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る文書管理システムの概略構成を示す図である。本実施態様に係る文書管理システムは、文書管理部0101と、引用履歴管理部0102と、文書編集部0103と、引用履歴可視化部0104と、引用文書オープン部0105と、文書関連性分析部0106とを備えている。これらの各部は、通常の汎用コンピュータ(例えば、パーソナルコンピュータPC)で実現可能であり、例えば、文書管理部0101や引用履歴管理部0102は、WebサーバやPCのハードディスクなどの記憶装置と、それらの動作を制御したり、その他の必要な処理を実行するプログラムモジュールで構成され、文書編集部0103〜文書関連性分析部0106は、それぞれの役割を実行するプログラムモジュールで構成される。これらのプログラムモジュールは、図示しないCPUで実行され、所定の処理を行う。なお、図1において、文書管理部0101〜文書関連性分析部0106の各部(以下、「モジュール」と称する場合もある)の間を結ぶ線はデータあるいは命令が交換される可能性があることを示している。なお、本実施態様では、文書管理部0101と、引用履歴管理部0102は、外部サーバに用意されているものとして説明する。また、以下の説明においては、文書管理部0101と引用履歴管理部0102は、Webサーバに置かれているものとして説明する。ここにおいて、文書管理部0101と引用履歴管理部0102が、Webサーバそのものであっても良い。
図1は、本発明の第1の実施形態に係る文書管理システムの概略構成を示す図である。本実施態様に係る文書管理システムは、文書管理部0101と、引用履歴管理部0102と、文書編集部0103と、引用履歴可視化部0104と、引用文書オープン部0105と、文書関連性分析部0106とを備えている。これらの各部は、通常の汎用コンピュータ(例えば、パーソナルコンピュータPC)で実現可能であり、例えば、文書管理部0101や引用履歴管理部0102は、WebサーバやPCのハードディスクなどの記憶装置と、それらの動作を制御したり、その他の必要な処理を実行するプログラムモジュールで構成され、文書編集部0103〜文書関連性分析部0106は、それぞれの役割を実行するプログラムモジュールで構成される。これらのプログラムモジュールは、図示しないCPUで実行され、所定の処理を行う。なお、図1において、文書管理部0101〜文書関連性分析部0106の各部(以下、「モジュール」と称する場合もある)の間を結ぶ線はデータあるいは命令が交換される可能性があることを示している。なお、本実施態様では、文書管理部0101と、引用履歴管理部0102は、外部サーバに用意されているものとして説明する。また、以下の説明においては、文書管理部0101と引用履歴管理部0102は、Webサーバに置かれているものとして説明する。ここにおいて、文書管理部0101と引用履歴管理部0102が、Webサーバそのものであっても良い。
本実施態様に係るシステムは、主に、以下の6つの機能要素から構成されている。なお、機能の次に括弧書きで示したモジュールは、各機能を実現する上で主な働きをするモジュールであることを意味する。
(1)文書編集機能(文書編集部0103+文書管理部0101)
(2)引用履歴の格納機能(文書編集部0103+引用履歴管理部0102)
(3)引用の表示機能(引用履歴可視化部0104+文書編集部0103+引用履歴管理部0102)
(4)引用履歴のオープン機能(引用文書オープン部0105+引用履歴管理部0102+文書管理部0101)
(5)文書関連性分析機能(文書関連性分析部0106+引用履歴管理部0102+文書管理部0101)
上記のように、本実施態様では、各機能に対して異なるモジュールが主に活躍するような構成となっている。なお、上記の構成は、以降の実施形態についても同様である。上記のような構成において、各機能の詳細について説明する。
(1)文書編集機能(文書編集部0103+文書管理部0101)
(2)引用履歴の格納機能(文書編集部0103+引用履歴管理部0102)
(3)引用の表示機能(引用履歴可視化部0104+文書編集部0103+引用履歴管理部0102)
(4)引用履歴のオープン機能(引用文書オープン部0105+引用履歴管理部0102+文書管理部0101)
(5)文書関連性分析機能(文書関連性分析部0106+引用履歴管理部0102+文書管理部0101)
上記のように、本実施態様では、各機能に対して異なるモジュールが主に活躍するような構成となっている。なお、上記の構成は、以降の実施形態についても同様である。上記のような構成において、各機能の詳細について説明する。
(1)文書編集機能
文書編集機能は、基本的に、文書を文書管理部0101から取り出す機能と、文書を編集する機能と、文書編集結果を文書管理部0101にアップロードする機能とを備えている。以下、具体的に説明する。
文書編集機能は、基本的に、文書を文書管理部0101から取り出す機能と、文書を編集する機能と、文書編集結果を文書管理部0101にアップロードする機能とを備えている。以下、具体的に説明する。
(1−1)文書の取り出し
文書管理部0101は、複数の文書を有する文書群を蓄積しており、これらの文書には、それぞれIDが付されている。ユーザは、文書編集部0103に所望文書のIDを入力することで、文書管理部0101から、所望の文書を取り出すことができる。
文書管理部0101は、複数の文書を有する文書群を蓄積しており、これらの文書には、それぞれIDが付されている。ユーザは、文書編集部0103に所望文書のIDを入力することで、文書管理部0101から、所望の文書を取り出すことができる。
本実施態様に係る文書管理システムの1つの実施例としてWebシステムに類似した形態で実現した例について説明する。具体的には、Webサーバに文書管理部0101が置かれており、文書管理部0101に蓄積されている各文書には固有のIDとしてURLが割り当てられている。一方、文書編集部0103は、HTMLなどの公知の形式のWebページを表示することができるWebブラウザの1種であり、一般的なWebブラウザと似たGUI構成を持っている。図2は、文書編集部0103による編集画面の画面例を示す図である。
図2に示すように、編集画面は、「URLテキストボックス」と、「メイン領域」と、「更新ボタン」とで構成されている。ここで、ユーザが、図示しないキーボードなどの入力装置からURLテキストボックスに所望文書のURLを入力すると、該当する文書が文書管理部0101からダウンロードされて、メイン領域に表示される。このメイン領域に表示された文書は、詳細は後述するように、文書編集部0103によって編集ができるようになっている。
文書を取得際に、URLを用いずに、文書IDを用いる方法もある。その場合には、文書IDを入力するHTMLフォームページを通じて所望の文書を取得するという方法で良い。この文書IDは、後述の引用に関する機能で重要な役割を果たすものであり、各文書に対してユニーク性と一貫性が補償されていなければならない。それに対してURLは文書IDとしては不確かという面がある。例えば、CGIのWebページの場合、同じURLであっても取得するごとに内容が異なるということが可能である。文書をユニークなものとして取得するために、本実施形態では、文書取得にはURLを用い、文書IDとしてはルートエレメントのpz:idを用いる方式を採用する。
(1−2)文書の編集
文書の編集は、部品定義がなされた文書を処理対象として行われる。部品定義がなされた文書とは、当該文書において、編集可能な文書片である「部品文書」を含む文書をいう。この編集は、特許文献3に記載された方式などを用いて行う。以下、その方式について、図3を参照して、簡単に紹介する。
文書の編集は、部品定義がなされた文書を処理対象として行われる。部品定義がなされた文書とは、当該文書において、編集可能な文書片である「部品文書」を含む文書をいう。この編集は、特許文献3に記載された方式などを用いて行う。以下、その方式について、図3を参照して、簡単に紹介する。
図3は、文書管理部0101からダウンロードされた文書であって、文書編集機能で取り扱う文書の一例を示す図である。図3(a)にダウンロードした文書例を示す。以下の文書が、ダウンロードした文書の文書例である。
<?xml version="1.0"?>
<cats pz:id="xks" ps:style="cats.xsl" xmlns:ps="http://www.toshiba.co.jp/ps">
<title>tos shopping catalog</title>
<date>2005/10/06</date>
<cat pz:id="0001" pz:component="yes" ps:style="cat.xsl">
<img>note.jpg</img>
<name>tos notepc x</name>
<price>120000</price>
<hdd>250<hdd>
<memory>256</memory>
</cat>
<cat pz:id="0002" pz:component="yes" ps:style="cat.xsl">
<name>tos deskpc a</name>
<img>desk.jpg</img>
<price>220000</price>
<hdd>200<hdd>
<memory>512</memory>
<cat pz:id="0003" pz:component="yes" ps:style="cat.xsl">
<img>disp.jpg</img>
<name>tos display1</name>
<price>50000</price>
<screensize>17</screensize>
</cat>
</cat>
</cats>
上記の文書例において、3つの部品文書が定義されており、それぞれ<cat pz:id="0001" pz:component="yes" ps:style="cat.xsl">、<cat pz:id="0002" pz:component="yes" ps:style="cat.xsl">、及び<cat pz:id="0003" pz:component="yes" ps:style="cat.xsl">から始まり、</cat>で終了する部品文書となっている。ここで、「pz:component」という属性は、その属性が属するエレメントではさまれた範囲の文書片が部品文書であるということを宣言しており、かつその部品文書に対するドラッグ・ドロップ操作あるいはコピー・ペースト操作の可否を示すものであって、”yes”は当該部品文書のドラッグ・ドロップ操作あるいはコピー・ペースト操作が可能であることを示している。ここで、3番目の部品文書は、2番目の部品文書に対して入れ子構造となっており、図3(a)に定義された文書を文書編集部0103にロードすると、図3(b)に示したようなイメージで表示される。図3(b)において、点線で示した部分は、部品文書としての境界線であり、各部品文書は、「pz:style」で示されたスタイルシートによって、ビューとして展開されている。
<cats pz:id="xks" ps:style="cats.xsl" xmlns:ps="http://www.toshiba.co.jp/ps">
<title>tos shopping catalog</title>
<date>2005/10/06</date>
<cat pz:id="0001" pz:component="yes" ps:style="cat.xsl">
<img>note.jpg</img>
<name>tos notepc x</name>
<price>120000</price>
<hdd>250<hdd>
<memory>256</memory>
</cat>
<cat pz:id="0002" pz:component="yes" ps:style="cat.xsl">
<name>tos deskpc a</name>
<img>desk.jpg</img>
<price>220000</price>
<hdd>200<hdd>
<memory>512</memory>
<cat pz:id="0003" pz:component="yes" ps:style="cat.xsl">
<img>disp.jpg</img>
<name>tos display1</name>
<price>50000</price>
<screensize>17</screensize>
</cat>
</cat>
</cats>
上記の文書例において、3つの部品文書が定義されており、それぞれ<cat pz:id="0001" pz:component="yes" ps:style="cat.xsl">、<cat pz:id="0002" pz:component="yes" ps:style="cat.xsl">、及び<cat pz:id="0003" pz:component="yes" ps:style="cat.xsl">から始まり、</cat>で終了する部品文書となっている。ここで、「pz:component」という属性は、その属性が属するエレメントではさまれた範囲の文書片が部品文書であるということを宣言しており、かつその部品文書に対するドラッグ・ドロップ操作あるいはコピー・ペースト操作の可否を示すものであって、”yes”は当該部品文書のドラッグ・ドロップ操作あるいはコピー・ペースト操作が可能であることを示している。ここで、3番目の部品文書は、2番目の部品文書に対して入れ子構造となっており、図3(a)に定義された文書を文書編集部0103にロードすると、図3(b)に示したようなイメージで表示される。図3(b)において、点線で示した部分は、部品文書としての境界線であり、各部品文書は、「pz:style」で示されたスタイルシートによって、ビューとして展開されている。
上記のように、本発明の実施形態では、取り扱う文書を部品文書の入れ子として定義された複合文書としている。部品文書とは、文書作成者が再利用単位として定義した文書片である。本発明の文書編集機能では、部品文書の単位でしか、コピー・ペーストなどの再利用作業を許可しないという限定をしている。このことから、本発明では、文書間での文書片のコピー・ペースト操作(すなわち「引用操作」)は部品文書の単位でのみ可能である。なおこの部品編集機能については特許文献3に記載された実現方法を利用できる。なお文書および文書片と述べるものは、単なるテキストのみならず、たとえばHTMLのような画像、音声、映像などを含むマルチメディア文書も対象とする。
図3(b)に示す文書編集部0103によって表示された文書では、各部品文書に対してドラッグ・ドロップ操作あるいはコピー・ペースト操作ができるようになっている。これにより、部品文書という単位での文書片の再利用が可能である。これらの操作は文書間でも実行可能であり、これにより部品文書単位での引用ができる。なお、部品文書以外の範囲でのドラッグ・ドロップ操作(あるいはコピー・ペースト操作)はできないようになっている。また、ドラッグ・ドロップ操作(あるいはコピー・ペースト操作)によってやりとりされる部品文書の具体的内容は、その部品文書に対応する「pz:component」属性を持つエレメント以下の文書片である。
また各部品文書には、「pz:id」という特別な属性が割り当てられている。これは、各部品文書に対してユニークに与えられているIDを記述しているもので、以下、「部品文書ID」と呼ぶ。部品文書IDは、後続の引用履歴の格納処理、引用の表示機能、引用履歴のオープン機能、文書関連性分析部0106、引用履歴貼付け機能で用いるものであるため、ここではその説明を省略する。以上が特許文献3に記載された方式に基づいて実現した部品文書の再利用の機能である。
本発明は、後述する引用履歴機能を実現した点に特徴を有する。この機能を実現するための要件は「再利用できる文書片単位があらかじめ定められており、かつ各文書片にIDが割り振られており、それ以外の文書片の範囲では再利用できないようになっていること」である。したがって、この要件を満たしていれば、文書編集機能の実現には他の方式が用いられても良い。
また、文書編集機能によって、このような部品引用操作のほかに、部品文書の削除が可能である。この場合において、特定の部品文書を指定して削除操作を行うと、その部品文書を削除することが可能である。この削除機能を加えることで、基本的な部品操作機能が取りそろうことになるが、本明細書では部品文書の引用履歴を特徴とするため、削除については説明を省略する。
また特許文献3に記載の方式を用いて、このような部品操作のほかに、部品文書のコンテンツの編集機能などもオプショナルとして具備することも可能である。これにより高い編集性をユーザに提供することができる。ただし、コンテンツの編集機能においても、「pz:」から始まる特別な命令の値を変更することはできないように実装する必要がある。
(1−3)文書編集結果のアップロード
文書編集部0103で行われた文書編集結果を文書管理部0101にアップロードするには、図2の「更新ボタン」をクリックする。そうすると、当該URLとともに文書内容がアップロードされる。文書管理部0101は、URLを文書IDとみなし(または文書中に文書IDが記載されている場合はそのID値を用いる)、新しく送信されてきた文書内容を、当該IDに対応する内容として上書き格納する。
文書編集部0103で行われた文書編集結果を文書管理部0101にアップロードするには、図2の「更新ボタン」をクリックする。そうすると、当該URLとともに文書内容がアップロードされる。文書管理部0101は、URLを文書IDとみなし(または文書中に文書IDが記載されている場合はそのID値を用いる)、新しく送信されてきた文書内容を、当該IDに対応する内容として上書き格納する。
(2)引用履歴の格納処理
引用履歴の格納処理は、文書編集機能のバックグランドとして働く処理である。基本的な動作は、以下の通りである。文書編集機能において、ユーザが文書を編集する際に、文書間での引用作業が行われると、文書編集部0103が引用履歴管理部0102に対して対応する履歴レコードをアップロードする。そして、引用履歴管理部0102がその履歴レコードを格納する。
引用履歴の格納処理は、文書編集機能のバックグランドとして働く処理である。基本的な動作は、以下の通りである。文書編集機能において、ユーザが文書を編集する際に、文書間での引用作業が行われると、文書編集部0103が引用履歴管理部0102に対して対応する履歴レコードをアップロードする。そして、引用履歴管理部0102がその履歴レコードを格納する。
具体例として、文書編集部0103を2つ起動してそれぞれ文書Aと文書Bを開き、文書Aから文書Bに対して部品文書Xを引用した場合を例に取って説明する。ただし、A、Bはそれぞれ文書ID、Xは部品文書IDである。この場合における引用履歴の格納処理の詳細を図4に示す。図4は、引用履歴の格納処理の手順を示すフローチャートである。
文書編集部0103は、A、B、Xおよび現在時刻を元に引用履歴レコードを生成する(ステップ0401)。この場合において、時刻の厳密化を求める場合はミリセカンドまで精度を高めても良い。次に、文書編集部0103は履歴レコードを引用履歴管理部へ送信する(ステップ0402)。そして、引用履歴管理部0102は受理した引用履歴レコードにユニークな履歴レコードIDを付与し(ステップ0403)、引用履歴レコードをデータベースなどに蓄積する(ステップ0404)。
上記の処理において、引用履歴レコードは、
履歴レコードID、
時刻、
引用元文書ID、
引用先文書ID、
引用対象の部品文書ID
のような項目を持つようなスキーマである。
履歴レコードID、
時刻、
引用元文書ID、
引用先文書ID、
引用対象の部品文書ID
のような項目を持つようなスキーマである。
(3)引用の表示機能
引用の表示機能は、引用履歴管理部0102において蓄積されている引用履歴レコード群をユーザ向けに表示する機能であり、中心的役割を果たすモジュールは、引用履歴可視化部0104である。表示形式として、テーブル表示形式および有向グラフ表示形式の2種類がある。
引用の表示機能は、引用履歴管理部0102において蓄積されている引用履歴レコード群をユーザ向けに表示する機能であり、中心的役割を果たすモジュールは、引用履歴可視化部0104である。表示形式として、テーブル表示形式および有向グラフ表示形式の2種類がある。
テーブル表示形式とは、図5に示すように、履歴レコードを単に時系列に列挙する表示形式である。有向グラフ表示形式とは、詳細は後述する図8に示すように、文書をノードとし、文書間で行われた引用のやりとりをアーク(ノード間を結ぶ矢印)として有向グラフ化し、さらにアーク上に引用された部品文書を時刻、IDつきで表示する形式である。
実際には、引用履歴可視化部0104は、テーブル表示向けと有向グラフ表示向けで、それぞれ独立的なサブモジュールに分かれている。ここでは、それぞれのモジュールを、引用履歴テーブル表示形式出力部と有向グラフ表示形式出力部と呼ぶ。以下、各モジュールの処理を説明する。
(3ー1)引用履歴テーブル表示形式出力部
本発明の一実施形態に係る文書システムにおいて、引用履歴テーブル表示形式出力部は、一般的なCGIとして実装している。図6は、引用履歴テーブル表示形式出力部0601を用いてテーブル表示を行う場合の概要について説明するための図である。
本発明の一実施形態に係る文書システムにおいて、引用履歴テーブル表示形式出力部は、一般的なCGIとして実装している。図6は、引用履歴テーブル表示形式出力部0601を用いてテーブル表示を行う場合の概要について説明するための図である。
文書編集部0103において、Webブラウザ上の検索条件を入力するためのHTMLフォームページ0602が表示されているものとする。そこで、HTMLフォームページ0602に引用履歴の検索条件を入力すると、該検索条件がHTTP POSTなどの通信方式でWebサーバに検索要求として送信される。なお、HTMLフォームページ0602において、時刻のみ時間の範囲を指定するようになっている。また、検索条件の各項目はすべて埋める必要はない。すべての項目を空にした場合(すなわち、何も入力しない場合)は、すべての履歴レコードが検索条件に該当することになる。
この検索要求を受けてWebサーバ上に設置されているCGIである引用履歴テーブル表示形式出力部0601が起動される。なお、HTMLフォームページ0602のようなGUIからではなく、他モジュールからAPIとして引用履歴テーブル表示形式出力部0601機能を呼び出すことももちろん可能である(引用履歴テーブル表示形式出力部0601の左側に記載しているロリポップ記号は、API受信口を示す際に慣例的に用いられる記号である)。その場合は、他モジュールはプログラム内部でHTTP POSTを送信する処理となる。実際、後述の機能ではAPIとして当該機能を呼び出すようになっている。
引用履歴テーブル表示形式出力部0601の入力パラメータは、履歴レコードID、時間(開始時刻および終了時刻)、引用元文書ID、引用先文書ID、引用対照の部品文書IDの6つである。検索条件作成においては、これらはすべてANDとして解釈される。また、省略パラメータに対しては、前述のように無条件として解釈される。
引用履歴テーブル表示形式出力部0601は、受信した検索条件をSQLなどに翻訳して、引用履歴管理部0102に蓄積されている引用履歴レコードを検索する。そして、検索の結果、取得した引用履歴レコード群(1つでも良い)を元にHTMLページを生成して、HTTPレスポンスとしてWebブラウザ(文書編集部0103)に返す。するとWebブラウザは、当該HTMLページ0603を表示する。
検索結果を出力するHTMLページ0603に掲載されているテーブルは、履歴レコードID、時刻、引用元文書ID、引用先文書ID、引用対象の部品文書IDの5つのカラムを用意している。このテーブルには、次のような機能が提供されている。テーブル上に用意されたカラムのうち、引用元文書IDカラム、引用先文書IDカラム、引用対象の部品文書IDカラム上に表示されているID値をクリックすると、該当する文書あるいは部品文書が、文書編集部0103によって表示される。その動作詳細を、図7を参照して、説明する。
図7は、文書IDや部品文書IDから文書を問い合わせる動作の概要を示す図である。図7において、Webサーバは、文書検索部0701を備えている。また、HTMLページ0603は、図6のHTMLページ0603と同様のHTMLページであり、文書編集部0103上で表示されている画面である。
HTMLページ0603において、ここでは、引用元文書IDカラム、引用先文書IDカラム、引用対象の部品文書IDカラムに表示されている各IDの値はハイパーリンクとなっていて、そのリンク先がCGIとして実装されている文書検索部0701となっている。そして、当該ハイパーリンクをクリックすると、そのID値を付けてHTTP POSTまたはGETなどで文書検索部0701へ検索要求がかかる。
文書検索部0701は受信したIDを元に、文書管理部0101に対して文書検索をかける。文書管理部0101では、文書および部品文書はすべて異なるIDを持つようにIDを発番しており、IDを元に一意に資源(すなわち、文書および部品文書)が決定されるようになっている。この検索結果として得られた文書あるいは部品文書をHTTPレスポンスとして返す。すると、文書編集部0103は、該当する文書または部品文書0703を表示する。
なおここでの処理においては無関係であるが、文書または部品文書のIDを入力するHTMLフォームページ0702のように、通常HTMLページからIDを入力させる画面を用意して当該機能を利用する仕組みを用意することができる。これを利用して、最初に文書を開く際の文書問い合わせ方法として、URLを入力する方法のほかに、文書IDを入力する方法を提供することも可能である。
(3−2)有向グラフ表示形式出力部
上記のように、引用履歴は、有向グラフで表示することができる。図8は、引用履歴レコードの有向グラフ表示形式例を示す図である。この引用履歴有向グラフで表示する機能は、主に、図9のような構成で動作する。図9は、引用履歴の検索から検索結果を有向グラフで表示する場合の動作の概要を示す図である。この場合において、Webサーバは、更に、有向グラフ表示CGI0901と、有向グラフ生成部0902と、前向き有向グラフ生成部0903と、後ろ向き有向グラフ生成部0904とを備えている。
上記のように、引用履歴は、有向グラフで表示することができる。図8は、引用履歴レコードの有向グラフ表示形式例を示す図である。この引用履歴有向グラフで表示する機能は、主に、図9のような構成で動作する。図9は、引用履歴の検索から検索結果を有向グラフで表示する場合の動作の概要を示す図である。この場合において、Webサーバは、更に、有向グラフ表示CGI0901と、有向グラフ生成部0902と、前向き有向グラフ生成部0903と、後ろ向き有向グラフ生成部0904とを備えている。
上記の構成において、引用履歴テーブル表示機能での方式と同様に、システムの最前線の入力インターフェースとなる有効グラフ表示CGI0901は、CGIとして作成されており、HTMLページ0905や文書編集部0103などからのHTTP POST要求などによって起動することができる。そして、グラフ作成処理結果がHTMLページ0906のように、文書編集部0103に返される。
また引用履歴テーブル表示機能における引用履歴テーブル表示形式出力部0601と同様に、HTMLページ0905のような検索画面からしか有効グラフ表示CGI0901を起動することができないわけではなく、別モジュールのプログラムからAPI的に呼び出すことも可能である(引用履歴テーブル表示形式出力部0601に記載のロリポップ記号はAPI受信口を示す慣例的な記号である)。
この場合において、引用履歴の検索に係る入力としては「起点部品文書ID」「追跡文書ID」「ホップ数」「時刻上限」の4つであり、これらは1つも省略してはならない。そして、これらの入力は引用履歴レコードの検索条件として扱われる。ここで、起点の文書IDは、グラフ生成する際において、開始地点となるノードとなる。起点の部品文書IDは、グラフ化に際して、やりとりを追跡する対象とする部品文書を指定している。ホップ数は、グラフ生成の際に、開始地点ノードからの距離の上限である。ホップ数が5であれば、5を超える距離のノードは生成しないでそれ以上は打ち切りとなる。時刻上限とは、引用履歴を検索する際の時刻の上限であり、検索の際には、指定された時刻上限を超えない最近の引用履歴を探す。
このようにして図8に示すグラフが生成される。有効グラフ表示CGI0901が作るグラフには、その生成過程における探索アルゴリズムから、次のような特徴がある。
1. 指定された起点文書を開始ノードとする。
2. 指定された追跡部品文書IDの引用のやりとりのみを検索対象として、グラフを拡大する。
3. 引用のやり取りは前方、後方の両方を対象とする、すなわち引用先を漸次的に追いかける前方、引用元を漸次的に追いかける後方の両方でグラフを拡大する。
4. グラフ拡大における第一歩、すなわち起点文書しかノードがない瞬間のグラフ拡大(ホップ数1)においては、時刻上限を超えない最近の引用履歴を対象とする。
5. グラフ拡大においては、指定されたホップ数を超えるとき、その枝についてはそれ以上のグラフ拡大は行わない。
これにより、注目したい特定の部品文書がどのような経路で文書間をやりとりされたのかを可視化することができる。
1. 指定された起点文書を開始ノードとする。
2. 指定された追跡部品文書IDの引用のやりとりのみを検索対象として、グラフを拡大する。
3. 引用のやり取りは前方、後方の両方を対象とする、すなわち引用先を漸次的に追いかける前方、引用元を漸次的に追いかける後方の両方でグラフを拡大する。
4. グラフ拡大における第一歩、すなわち起点文書しかノードがない瞬間のグラフ拡大(ホップ数1)においては、時刻上限を超えない最近の引用履歴を対象とする。
5. グラフ拡大においては、指定されたホップ数を超えるとき、その枝についてはそれ以上のグラフ拡大は行わない。
これにより、注目したい特定の部品文書がどのような経路で文書間をやりとりされたのかを可視化することができる。
また、本発明の実施形態では、文書片の表層的な内容一致を元に引用の流れを追跡しているのではなく、部品文書IDをベースとしてコンテンツのやり取りを追跡しているため、引用された文書片(すなわち、部品文書)が改変されていたとしても追跡できる。なおグラフ生成処理の実際としては、有効グラフ表示CGI0901が単独で行うのではなく、有向グラフ生成部0902、前向き有向グラフ生成部0903、後ろ向き有向グラフ生成部0904が部分的な処理を行った結果をまとめる形で、有効グラフ表示CGI0901が最終結果を返すようになっている。具体的な、処理の流れを、図10を参照して説明する。図10は、引用履歴レコード有向グラフ表示モジュール群(有効グラフ表示CGI0901〜後ろ向き有向グラフ生成部0904)の連携処理の流れを示す図である。
まず、有効グラフ表示CGI0901は外部からのHTTP POSTを受信し、検索条件である追跡部品文書ID、起点文書ID、ホップ数、時刻上限を取り出す。有向グラフ生成部0902にこれらの項目を入力として、グラフ生成を要求する(ステップ1001)。有向グラフ生成部0902は4つのパラメータを受け取り、起点文書IDを元にノードを生成する(ステップ1002)。ここで、ノードには起点文書IDをデータとして書き込む。
次に、有向グラフ生成部0902は、4つのパラメータおよび起点文書に対応するノードを入力として、前向き有向グラフ生成部0903を呼び出し、前向きグラフを生成させる(ステップ1003)。これにより、前方側のグラフが完成する(前向きグラフの生成方法の詳細は後述する)。なおノードを引数として渡すとき、すでにグラフ構造ができている場合は、それらの構造も紐付けされた状態で渡される。
有向グラフ生成部0902は、4つのパラメータおよび起点文書に対応するノードを入力として、後ろ向き有向グラフ生成部0904を呼び出し後ろ向きグラフを生成させる(ステップ1004)。これにより、後方側のグラフが完成する(後ろ向きグラフの生成方法の詳細は後述する)。なおノードを引数として渡すときに、すでにグラフ構造ができている場合は、それらの構造も紐付けされた状態で渡される。
有向グラフ生成部0902は、完成したグラフを有効グラフ表示CGI0901に返す(ステップ1005)。有効グラフ表示CGI0901は有向グラフ生成部0902から受け取ったグラフ構造データを読み取り、それを視覚的に表現するHTML形式の文書に変換する。また各ノードはクリックすれば、対応する文書が開くようにハイパーリンクをしかける。また各アーク上に記載されている部品文書についても、同様に対応する部品文書が開くようにハイパーリンクを仕掛ける。このハイパーリンク先は、文書検索部0701のようにIDを検索条件として対応する文書を開くCGIとすればよい。この変換結果を、HTTPレスポンスとして返す(ステップ1006)。
上記において、前向きグラフの生成方法(前向き有向グラフ生成部0903による処理)および後ろ向きグラフの生成方法(後ろ向き有向グラフ生成部0904による処理)について、以下に詳細に説明する。
(3−3)有向グラフ表示形式出力部の前向き有向グラフ生成手順
前向き有向グラフ生成処理は、前向き有向グラフ生成部0903が主体となって行うものであり、前向き有向グラフ生成部0903は、入力引数として、起点文書ID、追跡部品文書ID、ホップ数、時刻上限、カレントノードの5つのパラメータを、有向グラフ生成部0902から受け取る。なお、引数として渡されたカレントノードにグラフ構造ができている場合は、それらの構造も紐付けされた状態で渡される。したがってすでにグラフ構造がある程度構築されている場合は、その続きの構築作業ができるようになっているものとする。図11は、前向き有向グラフ生成部0903による前向き有向グラフの生成手順を示すフローチャートである。
前向き有向グラフ生成処理は、前向き有向グラフ生成部0903が主体となって行うものであり、前向き有向グラフ生成部0903は、入力引数として、起点文書ID、追跡部品文書ID、ホップ数、時刻上限、カレントノードの5つのパラメータを、有向グラフ生成部0902から受け取る。なお、引数として渡されたカレントノードにグラフ構造ができている場合は、それらの構造も紐付けされた状態で渡される。したがってすでにグラフ構造がある程度構築されている場合は、その続きの構築作業ができるようになっているものとする。図11は、前向き有向グラフ生成部0903による前向き有向グラフの生成手順を示すフローチャートである。
前向き有向グラフ生成部0903は、ホップ数を判定する。ホップ数0なら終了する(ステップ1101)。そして、次の条件で引用履歴管理部から履歴レコードを検索する(ステップ1102)。
履歴レコードID=無指定
時刻<時刻上限
引用元文書ID=起点文書ID
引用先文書ID=無指定
引用対象の部品文書ID=追跡部品文書ID
ソート方法:時刻で降順
件数上限:5件
なお、上記の検索条件において、件数上限5というのは、当該ノードを起点として前向き方向に展開されるノード数の上限となる。この理由は、ノード数が多いとグラフが見難くなるためである。もしより多くの展開数で出力するシステムにした場合はこの数を増やして実装すればよい。
履歴レコードID=無指定
時刻<時刻上限
引用元文書ID=起点文書ID
引用先文書ID=無指定
引用対象の部品文書ID=追跡部品文書ID
ソート方法:時刻で降順
件数上限:5件
なお、上記の検索条件において、件数上限5というのは、当該ノードを起点として前向き方向に展開されるノード数の上限となる。この理由は、ノード数が多いとグラフが見難くなるためである。もしより多くの展開数で出力するシステムにした場合はこの数を増やして実装すればよい。
検索の結果得られた履歴レコード群それぞれに対して、ステップ1104からステップ1108の処理を行う(ステップ1103)。
まず、注目する履歴レコードについて次の処理を行う(ステップ1108)。
(1)グラフ上に存在するノード群から、引用先文書IDに対応するノードがあるどうか探索する。もしすでに存在すれば、1103に戻る。もしなければ次の(2)と(3)の処理を行う(ステップ1104)。
(2)ノードを新規作成し引用先文書IDをデータとして記載する。
(3)カレントノードから引用先文書ノードへアークで結び、アーク上に部品文書IDを履歴レコードの時刻とともに記載する。
まず、注目する履歴レコードについて次の処理を行う(ステップ1108)。
(1)グラフ上に存在するノード群から、引用先文書IDに対応するノードがあるどうか探索する。もしすでに存在すれば、1103に戻る。もしなければ次の(2)と(3)の処理を行う(ステップ1104)。
(2)ノードを新規作成し引用先文書IDをデータとして記載する。
(3)カレントノードから引用先文書ノードへアークで結び、アーク上に部品文書IDを履歴レコードの時刻とともに記載する。
次に、以下を引数パラメータとしてステップ1101をサブプロシージャとして呼び出す(ステップ1105)。なお、ステップ1101の実行完了後、このステップに戻ってくる。
起点文書ID<=引用先文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用先文書IDに対応するノード
そして、以下を引数パラメータとしてステップ1201をサブプロシージャとして呼び出す(ステップ1106)。なお、ステップ1201の実行完了後、このステップに戻ってくる。
起点文書ID<=引用先文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用先文書IDに対応するノード
検索結果の履歴レコードすべてに対して処理が終了するまで、ステップ1203からの処理を実行する(ステップ1107)。
上記のようにして、前向き有向グラフが生成される。
起点文書ID<=引用先文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用先文書IDに対応するノード
そして、以下を引数パラメータとしてステップ1201をサブプロシージャとして呼び出す(ステップ1106)。なお、ステップ1201の実行完了後、このステップに戻ってくる。
起点文書ID<=引用先文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用先文書IDに対応するノード
検索結果の履歴レコードすべてに対して処理が終了するまで、ステップ1203からの処理を実行する(ステップ1107)。
上記のようにして、前向き有向グラフが生成される。
(3−4)有向グラフ表示形式出力部の後ろ向き有向グラフ生成手順
後ろ向き有向グラフ生成処理は、後ろ向き有向グラフ生成部0904が主体となって行うものであり、入力引数として、起点文書ID、追跡部品文書ID、ホップ数、時刻上限、カレントノードの5つのパラメータを、有向グラフ生成部0902から受け取る。なお引数として渡されたカレントノードにグラフ構造ができている場合は、それらの構造も紐付けされた状態で渡される。したがってすでにグラフ構造がある程度構築されている場合は、その続きの構築作業ができるようになっているものとする。図12は、後ろ向き有向グラフ生成部0904による後ろ向き有向グラフの生成手順を示すフローチャートである。
後ろ向き有向グラフ生成処理は、後ろ向き有向グラフ生成部0904が主体となって行うものであり、入力引数として、起点文書ID、追跡部品文書ID、ホップ数、時刻上限、カレントノードの5つのパラメータを、有向グラフ生成部0902から受け取る。なお引数として渡されたカレントノードにグラフ構造ができている場合は、それらの構造も紐付けされた状態で渡される。したがってすでにグラフ構造がある程度構築されている場合は、その続きの構築作業ができるようになっているものとする。図12は、後ろ向き有向グラフ生成部0904による後ろ向き有向グラフの生成手順を示すフローチャートである。
後ろ向き有向グラフ生成部0904は、ホップ数を判定する。0なら終了する(ステップ1201)。そして、次の条件で引用履歴管理部から履歴レコードを検索する(ステップ1202)。
履歴レコードID=指定なし
時刻<時刻上限
引用元文書ID=無指定
引用先文書ID=起点文書ID
引用対象の部品文書ID=追跡部品文書ID
ソート方法:時刻で降順
件数上限:5件
なお、上記の検索条件において、件数上限5というのは、当該ノードを起点として後ろ向き方向に展開されるノード数の上限となる。この理由は、ノード数が多いとグラフが見難くなるためである。もしより多くの展開数で出力するシステムにした場合はこの数を増やして実装すればよい。
履歴レコードID=指定なし
時刻<時刻上限
引用元文書ID=無指定
引用先文書ID=起点文書ID
引用対象の部品文書ID=追跡部品文書ID
ソート方法:時刻で降順
件数上限:5件
なお、上記の検索条件において、件数上限5というのは、当該ノードを起点として後ろ向き方向に展開されるノード数の上限となる。この理由は、ノード数が多いとグラフが見難くなるためである。もしより多くの展開数で出力するシステムにした場合はこの数を増やして実装すればよい。
検索の結果得られた履歴レコード群それぞれに対して、ステップ1204からステップ1208の処理を行う(ステップ1203)。
まず、注目する履歴レコードについて次を行う(ステップ1208)。
まず、注目する履歴レコードについて次を行う(ステップ1208)。
(1)グラフ上に存在するノード群から、引用元文書IDに対応するノードがあるどうか探索する。もしすでに存在すれば、1203に戻る。もしなければ次の(2)と(3)の処理を行う(ステップ1204)。
(2)ノードを新規作成し引用元文書IDをデータとして記載する。
(3)引用元文書ノードからカレントノードへアークで結び、アーク上に部品文書IDを履歴レコードの時刻とともに記載する。
次に、以下を引数パラメータとしてステップ1101をサブプロシージャとして呼び出す(ステップ1205)。なお、ステップ1101の実行完了後、このステップに戻ってくる。
(2)ノードを新規作成し引用元文書IDをデータとして記載する。
(3)引用元文書ノードからカレントノードへアークで結び、アーク上に部品文書IDを履歴レコードの時刻とともに記載する。
次に、以下を引数パラメータとしてステップ1101をサブプロシージャとして呼び出す(ステップ1205)。なお、ステップ1101の実行完了後、このステップに戻ってくる。
起点文書ID<=引用元文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用元文書IDに対応するノード
そして、以下を引数パラメータとしてステップ1201をサブプロシージャとして呼び出す(ステップ1206)。なお、ステップ1201の実行完了後、このステップに戻ってくる。
起点文書ID<=引用元文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用元文書IDに対応するノード
検索結果の履歴レコードすべてに対して処理が終了するまで、ステップ1203からの処理を実行する(ステップ1207)。
上記のようにして、後ろ向き有向グラフが生成される。
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用元文書IDに対応するノード
そして、以下を引数パラメータとしてステップ1201をサブプロシージャとして呼び出す(ステップ1206)。なお、ステップ1201の実行完了後、このステップに戻ってくる。
起点文書ID<=引用元文書ID
追跡部品文書<=変更なし
ホップ数<=ホップ数−1
時刻上限<=履歴レコードの時刻
カレントノード<=引用元文書IDに対応するノード
検索結果の履歴レコードすべてに対して処理が終了するまで、ステップ1203からの処理を実行する(ステップ1207)。
上記のようにして、後ろ向き有向グラフが生成される。
(4)引用履歴のオープン機能
引用履歴オープン機能は、図3(b)に示すような文書編集部0103によって閲覧している複合文書において、ユーザが興味を持った部品文書上あるいは文書全体に対して、引用履歴表示コマンド操作を行うと、該当する履歴が別ウィンドウで表示されるという機能である。図13は、引用履歴オープン機能の利用イメージを示す図である。図13に示すように、図3(b)に示すような文書を表示している際に、別のウィンドウでテーブル形式の履歴やグラフ形式の履歴が表示できるようになっている。
引用履歴オープン機能は、図3(b)に示すような文書編集部0103によって閲覧している複合文書において、ユーザが興味を持った部品文書上あるいは文書全体に対して、引用履歴表示コマンド操作を行うと、該当する履歴が別ウィンドウで表示されるという機能である。図13は、引用履歴オープン機能の利用イメージを示す図である。図13に示すように、図3(b)に示すような文書を表示している際に、別のウィンドウでテーブル形式の履歴やグラフ形式の履歴が表示できるようになっている。
別ウィンドウで表示された履歴画面は、前述のように、ハイパーリンクをクリックすれば、対応する文書や部品文書が開くようになっている。したがって履歴画面を機軸に関連文書を次々開くこともできる。この機能は当該システムにおける特徴的な効果を発揮する機能の1つである。
この機能を実現している主たるモジュールは、引用文書オープン部0105である。引用文書オープン部0105は、図14に示すように、テーブル形式引用履歴オープン部1401とグラフ形式引用履歴オープン部1402とを有している。テーブル形式引用履歴オープン部1401は、テーブル表示形式で引用履歴を表示し、グラフ形式引用履歴オープン部1402は、グラフ表示形式で引用履歴を表示する。図14は、それぞれの表示形式に対する命令の流れを示す図である。
なお、上記の2つの表示形式においても、それぞれ特定の部品文書を追跡する方法と文書単位で追跡する方法の2種類が用意されている。従って、全部で4種類の追跡方法が用意されている。以下、それぞれの追跡方法について具体的な動作詳細を説明する。
(4−1)引用履歴オープン機能の動作詳細/部品文書:テーブル形式
この機能は、指定された部品文書に関して、当該文書に限らずいずれかの文書において、現在時刻以前で引用のやりとりがあった履歴をすべて一覧表示する機能である。なお、数が多過ぎる場合は、上限件数を設けるなどの工夫があっても良い。これは当該部品文書を起点にして近傍の履歴を探すのではなく、文書群全体について検索が行われるため、文書管理者などの立場の人間にとって便利な機能である。
この機能は、指定された部品文書に関して、当該文書に限らずいずれかの文書において、現在時刻以前で引用のやりとりがあった履歴をすべて一覧表示する機能である。なお、数が多過ぎる場合は、上限件数を設けるなどの工夫があっても良い。これは当該部品文書を起点にして近傍の履歴を探すのではなく、文書群全体について検索が行われるため、文書管理者などの立場の人間にとって便利な機能である。
本機能に関する、処理の流れを図15に示す。図15は、引用履歴オープン機能の動作の流れを示す図であって、部品文書単位で検索を行ってテーブル形式で表示する場合の処理の流れを示す図である。
ユーザが文書編集部0103で表示されている文書のうち、興味のある部品文書の上で、「履歴開く(テーブル)」というコンテクストメニューを実行する(ステップ1501)。すると、文書編集部0103は、次の引数でテーブル形式引用履歴オープン部1401を起動する(ステップ1502)。
追跡部品文書ID:指定された部品文書の部品文書ID
時刻上限:現在時刻
テーブル形式引用履歴オープン部0401は、受け取った引数を元に、引用履歴テーブル表示形式出力部0601を起動し、検索結果のHTML文書を受け取る(ステップ1503)。そして、文書編集部0103は、HTML文書を別ウィンドウで表示する(ステップ1504)。
ユーザが文書編集部0103で表示されている文書のうち、興味のある部品文書の上で、「履歴開く(テーブル)」というコンテクストメニューを実行する(ステップ1501)。すると、文書編集部0103は、次の引数でテーブル形式引用履歴オープン部1401を起動する(ステップ1502)。
追跡部品文書ID:指定された部品文書の部品文書ID
時刻上限:現在時刻
テーブル形式引用履歴オープン部0401は、受け取った引数を元に、引用履歴テーブル表示形式出力部0601を起動し、検索結果のHTML文書を受け取る(ステップ1503)。そして、文書編集部0103は、HTML文書を別ウィンドウで表示する(ステップ1504)。
(4−2)引用履歴オープン機能の動作詳細/文書:テーブル形式
この機能は、指定された文書に含まれるすべての部品文書に関して、当該文書に限らずいずれかの文書において、現在時刻以前で引用のやりとりがあった履歴をすべて一覧表示する機能である。なお、数が多過ぎる場合は、上限件数を設けるなどの工夫があっても良い。この機能は当該文書を起点にして近傍の履歴を探すのではなく、文書群全体について検索が行われるため、上記と同様に、文書管理者などの立場の人間にとって便利な機能である。
この機能は、指定された文書に含まれるすべての部品文書に関して、当該文書に限らずいずれかの文書において、現在時刻以前で引用のやりとりがあった履歴をすべて一覧表示する機能である。なお、数が多過ぎる場合は、上限件数を設けるなどの工夫があっても良い。この機能は当該文書を起点にして近傍の履歴を探すのではなく、文書群全体について検索が行われるため、上記と同様に、文書管理者などの立場の人間にとって便利な機能である。
本機能に関する、処理の流れを図16に示す。図16は、引用履歴オープン機能の動作の流れを示す図であって、文書単位で検索を行ってテーブル形式で表示する場合の処理の流れを示す図である。
ユーザが文書編集部0103で表示されている文書のうち、部品文書以外の領域で、「履歴開く(テーブル)」というコンテクストメニューを実行する(ステップ1601)。すると、文書編集部0103は、当該文書に含まれるすべての部品文書IDをリストアップする(ステップ1602)。見つかった部品文書ID群それぞれについて、ステップ1604とステップ1605の処理を行う(ステップ1603)。
ユーザが文書編集部0103で表示されている文書のうち、部品文書以外の領域で、「履歴開く(テーブル)」というコンテクストメニューを実行する(ステップ1601)。すると、文書編集部0103は、当該文書に含まれるすべての部品文書IDをリストアップする(ステップ1602)。見つかった部品文書ID群それぞれについて、ステップ1604とステップ1605の処理を行う(ステップ1603)。
文書編集部0103は、次の引数でテーブル形式引用履歴オープン部1401を起動する(ステップ1604)。
追跡部品文書ID:指定された部品文書の部品文書ID
時刻上限:現在時刻
そして、テーブル形式引用履歴オープン部0401は、受け取った引数を元に、引用履歴テーブル表示形式出力部0601を起動し、検索結果のHTML文書を受け取る(ステップ1605)。
追跡部品文書ID:指定された部品文書の部品文書ID
時刻上限:現在時刻
そして、テーブル形式引用履歴オープン部0401は、受け取った引数を元に、引用履歴テーブル表示形式出力部0601を起動し、検索結果のHTML文書を受け取る(ステップ1605)。
すべての部品文書IDについて行うまでステップ1604と1605の処理を繰り返す(ステップ1606)。そして、HTML文書群として得られた検索結果を1つのHTML文書にマージし(ステップ1607)、マージされたHTML文書を別ウィンドウで表示する(ステップ1608)。
(4−3)引用履歴オープン機能の動作詳細/部品文書:グラフ形式
この機能は、指定された部品文書に関して、当該文書との引用のやりとりにおける近傍の履歴をグラフで表示する機能である。この機能は、文書を編集したり閲覧しているユーザにとって、作成経緯を理解したり、関連する情報を発掘するなどの効果を狙うものである。たとえば、ある閲覧文書において、この部品文書はどういう経緯でこの文書に組み込まれたのだろうか?という疑問に対して、履歴を表示することで、経緯を知ることができるという効果がある。また、この部品文書の引用関係における近傍の文書群を見ることで関連文書を確認できるので、新しい知識発掘や知識拡大につなげることができるという効果がある。
この機能は、指定された部品文書に関して、当該文書との引用のやりとりにおける近傍の履歴をグラフで表示する機能である。この機能は、文書を編集したり閲覧しているユーザにとって、作成経緯を理解したり、関連する情報を発掘するなどの効果を狙うものである。たとえば、ある閲覧文書において、この部品文書はどういう経緯でこの文書に組み込まれたのだろうか?という疑問に対して、履歴を表示することで、経緯を知ることができるという効果がある。また、この部品文書の引用関係における近傍の文書群を見ることで関連文書を確認できるので、新しい知識発掘や知識拡大につなげることができるという効果がある。
本機能に関する、処理の流れを図17に示す。図17は、引用履歴オープン機能の動作の流れを示す図であって、部品文書単位で検索を行ってグラフ形式で表示する場合の処理の流れを示す図である。
ユーザが文書編集部0103で表示されている文書のうち、部品文書以外の領域で、「履歴開く(グラフ)」というコンテクストメニューを実行する(ステップ1701)。すると、文書編集部0103は、次の引数でグラフ形式引用履歴オープン部1402を起動する(ステップ1702)。
追跡部品文書ID:指定された部品文書の部品文書ID
起点文書ID:当該文書の文書ID
時刻上限:現在時刻
ホップ数:3
上記の引数において、ホップ数は3としたが、一度に見られる探索範囲をもっと広くしたいのであれば、この数を増やして実装すればよい。
ユーザが文書編集部0103で表示されている文書のうち、部品文書以外の領域で、「履歴開く(グラフ)」というコンテクストメニューを実行する(ステップ1701)。すると、文書編集部0103は、次の引数でグラフ形式引用履歴オープン部1402を起動する(ステップ1702)。
追跡部品文書ID:指定された部品文書の部品文書ID
起点文書ID:当該文書の文書ID
時刻上限:現在時刻
ホップ数:3
上記の引数において、ホップ数は3としたが、一度に見られる探索範囲をもっと広くしたいのであれば、この数を増やして実装すればよい。
グラフ形式引用履歴オープン部1402は、受け取った引数を元に、有効グラフ表示CGI0901有向グラフ表示CGIを起動し、検索結果のHTML文書を受け取る(ステップ1703)。そして、HTML文書を別ウィンドウで表示する(ステップ1704)。
(4−4)引用履歴オープン機能の動作詳細/文書:グラフ形式
この機能は、指定された文書に含まれるすべての部品文書に関して、当該文書との引用のやりとりにおける近傍の履歴をグラフで表示する機能である。この機能は、文書を編集したり閲覧しているユーザにとって、作成経緯を理解したり、関連する情報を発掘するなどの効果を狙うものである。たとえば、ある閲覧文書において、「この部品文書はどういう経緯でこの文書に組み込まれたのだろうか?」という疑問に対して、履歴を表示することで、経緯を知ることができるという効果がある。また、この部品文書の引用関係における近傍の文書群を見ることで関連文書を確認できるので、新しい知識発掘や知識拡大につなげることができるという効果がある。
この機能は、指定された文書に含まれるすべての部品文書に関して、当該文書との引用のやりとりにおける近傍の履歴をグラフで表示する機能である。この機能は、文書を編集したり閲覧しているユーザにとって、作成経緯を理解したり、関連する情報を発掘するなどの効果を狙うものである。たとえば、ある閲覧文書において、「この部品文書はどういう経緯でこの文書に組み込まれたのだろうか?」という疑問に対して、履歴を表示することで、経緯を知ることができるという効果がある。また、この部品文書の引用関係における近傍の文書群を見ることで関連文書を確認できるので、新しい知識発掘や知識拡大につなげることができるという効果がある。
本機能に関する、処理の流れを図18に示す。図18は、引用履歴オープン機能の動作の流れを示す図であって、文書単位で検索を行ってグラフ形式で表示する場合の処理の流れを示す図である。
ユーザが文書編集部0103で表示されている文書のうち、部品文書以外の領域で、「履歴開く(グラフ)」というコンテクストメニューを実行する(ステップ1801)。すると、文書編集部0103は、当該文書のIDを元にノードを生成する(ステップ1802)。これを起点文書IDとする。ノードには起点文書IDがデータとして書き込まれる。
ユーザが文書編集部0103で表示されている文書のうち、部品文書以外の領域で、「履歴開く(グラフ)」というコンテクストメニューを実行する(ステップ1801)。すると、文書編集部0103は、当該文書のIDを元にノードを生成する(ステップ1802)。これを起点文書IDとする。ノードには起点文書IDがデータとして書き込まれる。
文書編集部0103は、当該文書に含まれるすべての部品文書IDをリストアップする(ステップ1803)。そして、見つかった部品文書ID群それぞれについて、ステップ1805とステップ1806の処理を行う(ステップ1804)。
文書編集部0103は、次の引数でグラフ形式引用履歴オープン部1402を起動する(ステップ1805)。
追跡部品文書ID:指定された部品文書の部品文書ID
起点文書ID:当該文書の文書ID
時刻上限:現在時刻
ホップ数:3
カレントノード:起点文書に対応するノード
上記の引数において、ホップ数は3としたが、一度に見られる探索範囲をもっと広くしたいのであれば、この数を増やして実装すればよい。
追跡部品文書ID:指定された部品文書の部品文書ID
起点文書ID:当該文書の文書ID
時刻上限:現在時刻
ホップ数:3
カレントノード:起点文書に対応するノード
上記の引数において、ホップ数は3としたが、一度に見られる探索範囲をもっと広くしたいのであれば、この数を増やして実装すればよい。
グラフ形式引用履歴オープン部1402は、受け取った引数を元に、有向グラフ生成部0902を呼び出す。これにより現在注目する部品文書についてのグラフが追加生成される(ステップ1806)。そして、すべての部品文書IDについて行うまでステップ1805とステップ1806の処理を繰り返す(ステップ1807)。
ステップ1808の処理は、ステップ1006の処理と同様の処理である。具体的には、グラフ形式引用履歴オープン部1402は、得られたグラフ構造データを読み取り、それを視覚的に表現するHTML形式の文書に変換する。また、各ノードはクリックすれば、対応する文書が開くようにハイパーリンクをしかける。また、各アーク上に記載されている部品文書についても、同様に対応する部品文書が開くようにハイパーリンクを仕掛ける。このハイパーリンク先は、文書検索部0701のようにIDを検索条件として対応する文書を開くCGIとすればよい。この変換結果のHTMLを、別ウィンドウで表示する。
(5)文書関連性分析機能
文書関連性分析機能は、蓄積された引用履歴を元に、文書同士の関連性の強さを測定する機能である。このような文書間の関連性を測定する機能は、さまざまなシステムによってさまざまな方式で提供されている。しかし、どのようなシステムであったとしても、システムが収集済みのデータ群を材料として、何らかの評価関数を用いてスコアを算出する、ということは同じである。ただし、本発明の一実施形態に係る文書管理システムは文書間で引用された部品文書を特定できるという特徴を有しているので、文書間の関連性を、部品文書のやりとりの流れを用いて測定することができる。ここでは、その特徴を活かした評価関数の一例およびその実装例を示す。
文書関連性分析機能は、蓄積された引用履歴を元に、文書同士の関連性の強さを測定する機能である。このような文書間の関連性を測定する機能は、さまざまなシステムによってさまざまな方式で提供されている。しかし、どのようなシステムであったとしても、システムが収集済みのデータ群を材料として、何らかの評価関数を用いてスコアを算出する、ということは同じである。ただし、本発明の一実施形態に係る文書管理システムは文書間で引用された部品文書を特定できるという特徴を有しているので、文書間の関連性を、部品文書のやりとりの流れを用いて測定することができる。ここでは、その特徴を活かした評価関数の一例およびその実装例を示す。
本実施態様に係る文書管理システムでの評価関数を定義するための基本的な考え方として、「部品文書流通パス」という概念を導入する。「部品文書流通パス」を、特定の部品文書、すなわち同じ部品文書IDを持つ部品文書が複数の文書を渡り歩いた経路として定義する。たとえば、部品文書Xが、文書A→文書B→文書Cと渡り歩いたとしたら、部品文書流通パスは、A→B→Cとなる。更に、本実施態様に係る文書管理システムでは、「部品文書流通パスの長さ」という概念を導入する。「部品文書流通パスの長さ」は、部品文書流通パスにおける引用の回数として定義され、例えば部品文書流通パスがA→B→Cならば、部品文書流通パスの長さは2となる。
とする。なお、Path(X,Y)は、文書Xと文書Yとの部品文書流通パスの長さである。上式のように、評価関数は、文書Xと文書Yの間に存在する各部品文書流通パスそれぞれについて、部品文書流通パスの逆数を計算し、その値を足し合わせたものとして表され、この式によってスコアが求められる。
上記の評価関数において、1つの部品文書流通パスにおいて、その逆数をとっているのは、距離が遠くなればなるほど(すなわち、パスの長さが長くなるほど)スコアが単調減少するが、0よりは大きくなるという特徴があるからである。これにより、流通パスが数多く存在するほうが、スコアが高くなるものの、パスの長さが長くなるにつれてとスコアの上昇量は少なくなる。なお、部品文書の流れに注目した上記の評価関数としては、今回は逆数を用いたが、単調減少する関数であれば、逆数に限らず他の関数を用いることができる。
図19を参照して、上記の関数を用いて、スコアを計算する手順を説明する。図19は、本実施態様に係る文章関連性分析の動作の流れを示すフローチャートである。図19に示す文章関連性分析の動作は、基本的に、文書関連性分析部0106が実行するが、以下の説明では、評価機能を文書編集部0103から呼び出せるようにしている。これにより、ユーザは編集作業中に、関連性の強い文書群をオンデマンドで表示させることができる。しかし評価機能の利用形態は、これに限るものではない。
まず、ユーザが文書編集部0103で表示している文書上から「関連文書を開く」コンテクストメニューを実行することにより処理が開始される(ステップ1901)。すると、文書編集部0103は、当該文書IDを引数として文書関連性分析部0106を起動する(ステップ1902)。
文書関連性分析部0106は、文書、グラフ形式での引用履歴オープン機能(ステップ1801〜1807)の一部(最後のHTML生成以外のステップ)を実行する(ステップ1903)。これにより、文書近傍のグラフが得られる。そして、グラフ上に存在するノードをリストアップし、ノードごとにステップ1905とステップ1906を実行する(ステップ1904)。
注目ノードの文書とカレントノードの文書との間に存在する部品文書流通パスをすべてリストアップする(ステップ1905)。ただし、部品文書流通パスと判定されるためには、同じ部品文書のアークだけで到達できるパスでなければならない。次に、得られたパス群それぞれについて長さの逆数を計算してその合計値を計算して、この値を一時的に記憶する(ステップ1906)。これが当注目ノードとカレントノードとの間の関連性となる。そして、グラフ上のノードすべてに対する処理が終了するまで、ステップ1905とステップ1906を繰り返す(ステップ1907)。
グラフ上のすべてのノードについて得られた各関連性のスコアを元に、スコアの高い順に文書IDをソートする(ステップ1908)。そして、ソートされた文書IDのリストをハイパーリンク形式で1つのHTMLページにまとめ、別ウィンドウに表示する(ステップ1909)。
これにより、部品文書を用いた文書の関連性を分析することができる。
これにより、部品文書を用いた文書の関連性を分析することができる。
(第2の実施形態)
第2の実施形態は、第1の実施形態に「引用履歴貼り付け機能」を付加したものである。「引用履歴貼り付け機能」は、引用履歴オープン機能によって、表示された履歴レコードを、文書中に貼り付けることができる機能である。例えば、この機能により、文書の作成経緯や手順などを説明する文書を作成するという目的で履歴レコードを貼り付けることができる。この際、ユーザは、当該文書を後から読む読者にとって、特に重要と思われる履歴だけを選択的に貼り付ければよい。
第2の実施形態は、第1の実施形態に「引用履歴貼り付け機能」を付加したものである。「引用履歴貼り付け機能」は、引用履歴オープン機能によって、表示された履歴レコードを、文書中に貼り付けることができる機能である。例えば、この機能により、文書の作成経緯や手順などを説明する文書を作成するという目的で履歴レコードを貼り付けることができる。この際、ユーザは、当該文書を後から読む読者にとって、特に重要と思われる履歴だけを選択的に貼り付ければよい。
第2の実施形態において、その構成は、第1の実施形態と同じであるので、図示及び詳細な説明を省略する。また、第2の実施形態で追加した引用履歴貼り付け機能は、第1の実施形態及び以降の実施形態と組み合わせて用いることもできる。なお、この引用履歴貼り付け機能は、文書編集部0103によって実行されるものとする。
第1の実施形態では、引用履歴オープン機能によって表示される画面はHTMLを用いていたが、第2の実施形態では、本発明の一実施形態に係る文書管理システムが編集対象として利用している複合文書0301の形式を用いるようにし、さらにこの複合文書において履歴レコードを部品文書として定義した形で提供するということである。
図20は、引用履歴貼り付け機能の利用イメージを示す図である。図20に示すように、履歴ウィンドウから文書へドラッグアンドドロップによって選択的に履歴レコードを貼り付けている。なおこ、の利用イメージでは、部品文書がそのままの表示形式で張り付いているが、特許文献3に記載の機能を用いて、ドロップ時に適切な表示形式に自動調整された形で貼り付けることもできる。ただし、引用履歴レコードを貼り付ける操作を行った場合には、その操作自体は引用履歴として記録されない。
なお、具体的には、第1の実施形態において、ステップ1504、ステップ1607、ステップ1704、ステップ1808で、いずれも検索して得られた履歴レコード群を元にHTML文書を生成しているが、本実施態様では、複合文書0301の形式で生成するように変更すればよい。
(第3の実施形態)
第3の実施形態は、第1の実施形態に「部品文書COPYIDによる引用履歴管理機能」を付加したものである。第3の実施形態において、その構成は、第1の実施形態と同じであるので、図示及び詳細な説明を省略する。また、第3の実施形態で追加した部品文書COPYIDによる引用履歴管理機能は、第1の実施形態及びその他の実施形態と組み合わせて用いることもできる。
第3の実施形態は、第1の実施形態に「部品文書COPYIDによる引用履歴管理機能」を付加したものである。第3の実施形態において、その構成は、第1の実施形態と同じであるので、図示及び詳細な説明を省略する。また、第3の実施形態で追加した部品文書COPYIDによる引用履歴管理機能は、第1の実施形態及びその他の実施形態と組み合わせて用いることもできる。
本実施態様において、「部品文書COPYID」とは、引用すなわち文書間でのコピー・ペースト操作、あるいは同一文書内でのコピー・ペースト操作によって、複数になる同一部品文書を区別するIDである。すなわち、同一部品文書IDを持つ部品文書であっても、個別に異なる部品文書COPYIDが発番されることになる。これは、文書編集部0103において、部品文書が複製された瞬間にCOPYIDを新規発番することによって実現される。
本実施態様における部品文書COPYIDの導入によってもたらされる最大の効果は、文書関連性分析機能で説明した部品文書流通パスについて、真のパスが得られるということである。第1の実施形態では、部品文書IDを元に部品文書のやりとりの流れを同定していた。しかし、実際には、同一文書中に、同じ部品文書IDを持つ部品文書が複数存在する可能性がある。このようなケースに対して、これらの複数の部品文書のいずれの部品文書を引用したのか第1の実施形態では区別できない。
その例を図24に挙げる。文書A〜Fの6文書があり、文書Aに部品文書Xがある。矢印は引用を示している。1つの引用(コピーペースト)の流れとして、文書A、B、D、Eの遷移で部品文書Xが引用されている。もう1つの引用の流れとして、文書A、C、D、Fの遷移で部品文書Xが引用されている。第1の実施形態では、文書Fが文書Dのどちらの部品文書Xを引用したものかを区別することはできない。文書Dには部品文書Xが2つあるが、どちらも同じ部品文書IDだからである。部品文書Xがどこから来たものかという区別が付かなくても、同じ部品文書Xなのであるから、知識伝播という意味では特に問題とならない。しかし、たとえば情報漏れを調べる管理者などにとってコンテンツの流れを完全に追いかけたいというニーズもある。また、特許文献3に記載のようなコンテンツ編集機能など搭載している場合には、文書Aから来た部品文書Xと、文書Bから来た部品文書Xとでは、内容が異なる場合がある。すなわち、同じIDなので大元のルーツは同じだが内容更新されていて異なるものになっている場合がある。その場合は、知識伝播という意味でも区別できたほうが好ましい。
そこで、文書編集部0103が取り扱う構造文書を、本実施態様では図21に示す形式とする。すなわち、図21に示すように、部品文書に、「pz:id」という属性と並び、「pz:copyid」という属性が追加されている。この場合において、文書編集部0103は、例えば図3に示すような形式の文書をロードした場合に、部品文書にpz:copyidが付加されていないので、当該部品文書にCOPYIDを発番して属性として付与する。なお、COPYIDの発番には、GUIDなどの必ずユニークになるアルゴリズムを用いればよい。
文書編集部0103は、引用操作またはコピー・ペースト操作によって、部品文書が複製された場合には、コピーとして新しく生成された部品文書に対して、新しくCOPYIDを発番する。さらに、その操作が引用操作(つまり文書間でのコピー・ペースト)の場合は、COPYIDを含む履歴レコードを生成する。この処理手順は、図4のうち、ステップ0401を次のように改良したものとなる。
文書Aから文書Bに部品文書Xが引用され、引用前のCOPYIDはx1、引用後のCOPYIDはx2であった場合に、ステップ0401の処理を、「文書編集部0103は、A、B、X、x1、x2および現在時刻を元に引用履歴レコードを生成する」と変更する。これによって、複数の部品文書Xに対して、それぞれユニークなCOPYIDが付されることになる。
これによって生成される引用履歴レコードは以下のような項目を持つようなスキーマである。
履歴レコードID
時刻
引用元文書ID
引用先文書ID
引用対象の部品文書ID
引用元部品文書COPYID
引用先部品文書COPYID
引用履歴の表示機能(テーブル、グラフを問わない)においては、入力する検索条件の構成、検索アルゴリズムはまったく同じである。ただし、その表示形式のみが異なる。その表示例として、引用履歴のテーブル表示形式の例を図22に示し、引用履歴のグラフ表示形式の例を図23に示す。
履歴レコードID
時刻
引用元文書ID
引用先文書ID
引用対象の部品文書ID
引用元部品文書COPYID
引用先部品文書COPYID
引用履歴の表示機能(テーブル、グラフを問わない)においては、入力する検索条件の構成、検索アルゴリズムはまったく同じである。ただし、その表示形式のみが異なる。その表示例として、引用履歴のテーブル表示形式の例を図22に示し、引用履歴のグラフ表示形式の例を図23に示す。
図22に示すように、テーブル表示形式の場合は、引用元部品文書COPYIDと引用先部品文書COPYIDのカラムが追加された形で表示される。また、図23に示すように、グラフ表示形式の場合は、アーク上に表示されている部品文書の左下および右下において、引用元部品文書COPYIDと引用先部品文書COPYIDが表示される。
なお、図23の例では、すべての引用において同じ部品文書IDが対象となっているが、例えば、左上の文書から来た部品文書は右上の文書へ渡され、左下の文書から来た部品文書は右下の文書へ渡されていることが、COPYIDからわかる。また、表示された各COPYIDをクリックすれば、そのCOPYIDを持つ部品文書を開くようにしても良い。
本実施態様における、COPYIDの導入によって最も大きな効果を得るのは、文書関連性分析機能である。本実施態様では、文書関連性分析機能における、関連性をスコアリングする評価関数の礎となっている部品文書流通パスの定義が変わる。
第1の実施形態では、部品文書流通パスは、同じ部品文書IDを持つ部品文書が複数の文書を渡り歩いた流れとしていた。すなわち、文書A→文書B→文書Cというアークが存在するとき、AとBの間、BとCの間に、同一部品文書IDが存在するとき、部品文書流通パスとして認定された。
しかし、本実施形態では、連続的なアークリストにおいて各アークの接する終端同士でCOPYIDが一致するような、連続的なアークリストが成立するとき、部品文書流通パスとして認定される。すなわち、文書A→文書B→文書Cというアークが存在するとき、AB間アークでの引用先部品文書COPYIDと、BC間アークでの引用元部品文書COPYIDが一致するとき、部品文書流通パスとして認定される。
具体的には、図19のステップ1905が、本実施態様では次のように変更される。ステップ1905では、注目ノードの文書とカレントノードの文書との間に存在する部品文書流通パスをすべてリストアップする。ただし、部品文書流通パスと判定されるためには、文書間を結ぶ連続的なアークリストにおいて各アークの接する終端同士でCOPYIDが一致するような、連続的なアークリストが成立しなければならない。
(第4の実施形態)
第4の実施形態は、第1の実施形態に「文書版管理機能」を付加したものである。「文書版管理機能」とは、文書を更新保存する際に、上書きすることなく、古い内容も残す機能である。第4の実施形態において、その構成は、第1の実施形態と同じであるので、図示及び詳細な説明を省略する。また、第4の実施形態で追加した文書版管理機能は、第1の実施形態及びその他の実施形態と組み合わせて用いることもできる。
第4の実施形態は、第1の実施形態に「文書版管理機能」を付加したものである。「文書版管理機能」とは、文書を更新保存する際に、上書きすることなく、古い内容も残す機能である。第4の実施形態において、その構成は、第1の実施形態と同じであるので、図示及び詳細な説明を省略する。また、第4の実施形態で追加した文書版管理機能は、第1の実施形態及びその他の実施形態と組み合わせて用いることもできる。
履歴をたどって関連する文書を開くという操作をユーザが行ったとき、現在ではその文書が引用した当初とは内容が異なっている可能性がある。ユーザがこのような操作を行うとき、ユーザが見たいのは引用時(すなわち更新前)における当該文書の内容である可能性が高い。しかし第1の実施形態では最新文書内容しか開示できないため、その要望に対応できない。本実施形態では、このような要求に対応させたものである。
本実施態様では、まず、文書編集結果のアップロード処理を次のように変更している。文書編集部0103の更新ボタンをクリックすることにより、文書編集部0103で行われた文書編集結果を文書管理部0101にアップロードする。そうすると、当該URLとともに文書内容がアップロードされる。文書管理部0101はURLを文書IDとみなし(または文書中に文書IDが記載されている場合はそのID値を用いる)、新しく送信されてきた文書内容を、当該IDおよび更新時刻と関連付けた形で追加格納する。
そして、文書ID、部品文書IDから文書を問い合わせる文書検索部0701の機能を次のように変更する。
文書検索部0701は、HTTP POSTまたはGETによって、IDおよび時刻上限のパラメータを受信するようになっている。ただし時刻上限パラメータは省略することも可能である。省略した場合は、時刻上限は現在時刻となる。そして、文書検索部0701は、指定IDに一致し、かつ時刻上限より過去の更新時刻である、文書または部品文書を検索する。この検索結果として得られた文書あるいは部品文書をHTTPレスポンスとして返す。これにより、複数の版に対する文書(或いは部分文書)が、検索されることになる。
文書検索部0701は、HTTP POSTまたはGETによって、IDおよび時刻上限のパラメータを受信するようになっている。ただし時刻上限パラメータは省略することも可能である。省略した場合は、時刻上限は現在時刻となる。そして、文書検索部0701は、指定IDに一致し、かつ時刻上限より過去の更新時刻である、文書または部品文書を検索する。この検索結果として得られた文書あるいは部品文書をHTTPレスポンスとして返す。これにより、複数の版に対する文書(或いは部分文書)が、検索されることになる。
次に、図7のHTMLページ0603として説明した「IDをクリックしたときに文書を開く機能」について、以下のように変更する。
HTMLページ0603検索結果を表示するHTMLページにおいて、引用元文書IDカラム、引用先文書IDカラム、引用対象の部品文書IDカラムに表示されている各ID値はハイパーリンクとなっていて、そのリンク先がCGIとして実装されている文書検索部0701である。クリックすると、そのID値および引用履歴の時刻を付けて、HTTP POSTまたはGETなどで文書検索部0701へ要求がかかる。
HTMLページ0603検索結果を表示するHTMLページにおいて、引用元文書IDカラム、引用先文書IDカラム、引用対象の部品文書IDカラムに表示されている各ID値はハイパーリンクとなっていて、そのリンク先がCGIとして実装されている文書検索部0701である。クリックすると、そのID値および引用履歴の時刻を付けて、HTTP POSTまたはGETなどで文書検索部0701へ要求がかかる。
上記変更では、クリック時に引用履歴の時刻をつけていることに特徴がある。これにより、その引用履歴が行われる以前の版の文書が問い合わされることになる。
そして、図10のステップ1006として説明したHTML化処理について、以下のように変更する。
ステップ1006では、有効グラフ表示CGI0901は有向グラフ生成部0902から受け取ったグラフ構造データを読み取り、それを視覚的に表現するHTML形式の文書に変換する。また各ノードはクリックすれば、対応する文書が開くようにハイパーリンクをしかける。また各アーク上に記載されている部品文書についても、同様に対応する部品文書が開くようにハイパーリンクを仕掛ける。このハイパーリンク先は、文書検索部0701のようにIDおよび引用履歴の時刻を検索条件として対応する文書を開くCGIとすればよい。この変換結果を、HTTPレスポンスとして返す。
ステップ1006では、有効グラフ表示CGI0901は有向グラフ生成部0902から受け取ったグラフ構造データを読み取り、それを視覚的に表現するHTML形式の文書に変換する。また各ノードはクリックすれば、対応する文書が開くようにハイパーリンクをしかける。また各アーク上に記載されている部品文書についても、同様に対応する部品文書が開くようにハイパーリンクを仕掛ける。このハイパーリンク先は、文書検索部0701のようにIDおよび引用履歴の時刻を検索条件として対応する文書を開くCGIとすればよい。この変換結果を、HTTPレスポンスとして返す。
すなわち、ハイパーリンク先となるCGIに対して、IDだけでなく引用履歴の時刻も併せてパラメータとして渡すように改良している。これにより、その引用履歴が行われる以前の版の文書が問い合わされることになる。
従来、自由な範囲の部品文書の文書間引用が可能であるため、引用される部品文書のバリエーションは無限となる。これに対して、本発明は、引用可能な部品文書はあらかじめ定められたものに限定されるため、引用される部品文書のバリエーションは有限であり管理可能となる。本発明は、この有限性を利用し、引用対象となる部品文書すべてにユニークなIDを割り当てるようにし、引用履歴にこのIDも併せて記録するようにしている。これにより、引用履歴として、どの文書からどの文書へどの部品文書が引用されたか、という情報を記録することを可能としている。従って、本発明によれば、下記のような効果が得られる。
(1) 特定の部品文書の流通経路を特定できる
たとえば、部品文書Xが文書A→文書B→文書Cなどを渡り歩いてきたということがわかる。従来技術では、文書Aと文書B、文書Bと文書Cの間に引用があったことはわかるが、特定部品文書が文書間をどのような流通経路を経てきたかは明確化できなかった。
たとえば、部品文書Xが文書A→文書B→文書Cなどを渡り歩いてきたということがわかる。従来技術では、文書Aと文書B、文書Bと文書Cの間に引用があったことはわかるが、特定部品文書が文書間をどのような流通経路を経てきたかは明確化できなかった。
(2) 部品文書を軸にしたコンテクストセンシティブな履歴表示ができる
表示している文書の特定の部品文書をユーザが指定し、その部品文書を基点としてその引用関係を表示する機能を実現できる。従来技術では、引用可能な部品文書は自由であり、加えてIDなどで管理されているわけでもないので、特定の部品文書を指し示して、その部品文書にまつわる履歴を表示するという機能を実現することは不可能である。
また、本発明では、部品文書の表層的な内容一致を元に引用の流れを追跡しているのではなく、部品文書IDをベースとしてコンテンツのやり取りを追跡しているため、引用された部品文書が改変されていたとしても追跡できる。
表示している文書の特定の部品文書をユーザが指定し、その部品文書を基点としてその引用関係を表示する機能を実現できる。従来技術では、引用可能な部品文書は自由であり、加えてIDなどで管理されているわけでもないので、特定の部品文書を指し示して、その部品文書にまつわる履歴を表示するという機能を実現することは不可能である。
また、本発明では、部品文書の表層的な内容一致を元に引用の流れを追跡しているのではなく、部品文書IDをベースとしてコンテンツのやり取りを追跡しているため、引用された部品文書が改変されていたとしても追跡できる。
(3) 部品文書単位での利用状況を分析処理にかけることができる
本効果として、単純な例としては、例えば、部品文書Xが引用された回数を割り出すことができる。別の例としては、同一部品文書を引用ホップ数から文書間の関係の高さを割り出すことができる。従来技術は、文書Aが他文書から引用された回数を割り出すなど、文書単位での利用状況の分析はできるが、文書内での部品文書の利用状況を分析することは原理的に不可能である。
本効果として、単純な例としては、例えば、部品文書Xが引用された回数を割り出すことができる。別の例としては、同一部品文書を引用ホップ数から文書間の関係の高さを割り出すことができる。従来技術は、文書Aが他文書から引用された回数を割り出すなど、文書単位での利用状況の分析はできるが、文書内での部品文書の利用状況を分析することは原理的に不可能である。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
0101…文書管理部
0102…引用履歴管理部
0103…文書編集部
0104…引用履歴可視化部
0105…引用文書オープン部
0106…文書関連性分析部
0102…引用履歴管理部
0103…文書編集部
0104…引用履歴可視化部
0105…引用文書オープン部
0106…文書関連性分析部
Claims (14)
- ユニークな識別子である文書IDが付与された文書と前記文書中にあらかじめ定義された範囲の文書片であり、ユニークな識別子である部分文書IDが付与された部品文書とを管理する手段と、
前記部分文書がある文書から他の文書へ引用された場合に、当該引用履歴を記録する手段と、
前記文書間で前記部品文書のコピー・ペースト操作を許可し、それ以外の範囲の文書片のコピー・ペースト操作を禁止する手段と、
を具備することを特徴とする文書管理システム。 - 請求項1に記載の文書管理システムにおいて、前記引用履歴は、少なくとも、引用元となった文書の文書IDと、引用先となった文書の文書IDと、引用された部分文書の部品文書IDを含むことを特徴とする文書管理システム。
- 請求項1又は請求項2に記載の文書管理システムにおいて、
部分文書IDに基づいて、前記引用履歴から当該部分文書IDを含む引用履歴を検索する手段と、
前記検索の結果得られた引用履歴を、少なくとも引用元となった文書の文書ID、引用先となった文書の文書ID、引用対象となった文書片の部品文書IDをカラムとして持つ表形式で表示する手段と、を更に具備することを特徴とする文書管理システム。 - 請求項1又は請求項2に記載の文書管理システムにおいて、
部分文書IDに基づいて、前記引用履歴から当該部分文書IDを含む引用履歴を検索する手段と、
前記検索の結果得られた引用履歴を、前記部分文書IDを含む文書IDをノードとし、前記部分文書IDの引用関係をアークとするグラフとして表示する手段と、を更に具備することを特徴とする文書管理システム。 - 請求項3に記載の文書管理システムにおいて、前記表形式で表示する手段は、前記検索の結果得られた引用履歴をマージして、少なくとも引用元となった文書の文書ID、引用先となった文書の文書ID、引用対象となった文書片の部品文書IDをカラムとして持つ表形式で表示することを特徴とする文書管理システム。
- 請求項4に記載の文書管理システムにおいて、前記グラフを表示する手段は、前記検索の結果得られた引用履歴に基づいて得られたグラフをマージして新たなグラフを表示することを特徴とする文書管理システム。
- 請求項3から請求項6のいずれか1項に記載の文書管理システムにおいて、前記表示されている引用履歴の文書IDまたは部品文書IDの選択操作により、当該部品文書ID又は文書IDに該当する文書あるいは部品文書を検索して表示する手段を更に具備することを特徴とする文書管理システム。
- 請求項1から請求項7のいずれか1項に記載の文書管理システムにおいて、前記引用履歴に基づいて、前記文書間の関連性を分析する手段を更に具備することを特徴とする文書管理システム。
- 請求項8に記載の文書管理システムにおいて、前記分析する手段は、前記引用履歴に記載されている部品文書IDを用いて、第1の文書が持つ部品文書が第2の文書に引用されたパスをすべて検索して、当該パスの長さを引数とする関数を用いて関連性を分析することを特徴とする文書管理システム。
- 請求項9に記載の文書管理システムにおいて、前記関数は、前記パスの長さを引数として単調減少する関数であることを特徴とする文書管理システム。
- 請求項1から請求項6のいずれか1項に記載の文書管理システムにおいて、前記管理する手段は、前記引用履歴のうち所望の引用履歴を選択して、文書中に貼り付けることを特徴とする文書管理システム。
- 請求項1から請求項11のいずれか1項に記載の文書管理システムにおいて、前記管理する手段は、同一部品文書が複数である場合に、当該部品文書にそれぞれ区別可能な識別子を付加することを特徴とする文書管理システム。
- 請求項1から請求項12のいずれか1項に記載の文書管理システムにおいて、前記管理する手段は、編集前後の前記部分文書をその更新時刻と合わせて管理することを特徴とする文書管理システム。
- 文書に含まれる部品文書の文書間の引用を管理するプログラムにおいて、
ユニークな識別子である文書IDが付与された文書と前記文書中にあらかじめ定義された範囲の文書片であり、ユニークな識別子である部分文書IDが付与された部品文書とを記憶手段に記憶させる手段と、
前記部分文書がある文書から他の文書へ引用された場合に、当該引用履歴を記録する手段と、
前記文書間で前記部品文書のコピー・ペースト操作を許可し、それ以外の範囲の文書片のコピー・ペースト操作を禁止する手段と、を具備することを特徴とする文書管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006122369A JP2007293698A (ja) | 2006-04-26 | 2006-04-26 | 文書管理システムおよび文書管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006122369A JP2007293698A (ja) | 2006-04-26 | 2006-04-26 | 文書管理システムおよび文書管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007293698A true JP2007293698A (ja) | 2007-11-08 |
Family
ID=38764263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006122369A Abandoned JP2007293698A (ja) | 2006-04-26 | 2006-04-26 | 文書管理システムおよび文書管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007293698A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265902A (ja) * | 2008-04-24 | 2009-11-12 | Ricoh Co Ltd | 文書管理装置、文書管理方法、情報処理プログラム及び記録媒体 |
JP2010108453A (ja) * | 2008-10-31 | 2010-05-13 | Internatl Business Mach Corp <Ibm> | 文書部品管理装置、方法、およびプログラム |
JP2011022705A (ja) * | 2009-07-14 | 2011-02-03 | Hitachi Ltd | 証跡管理方法、システム、及びプログラム |
JP2011096139A (ja) * | 2009-10-30 | 2011-05-12 | Nomura Research Institute Ltd | 約款作成支援装置 |
KR101221832B1 (ko) | 2011-12-08 | 2013-01-15 | 동국대학교 경주캠퍼스 산학협력단 | 타저작물 인용에 대한 저작권 보호프로그램이 수록된 기록매체 및 이를 이용한 저작권 보호방법 |
JP2018005759A (ja) * | 2016-07-07 | 2018-01-11 | 株式会社野村総合研究所 | 引用マップ生成装置、引用マップ生成方法およびコンピュータプログラム |
JP2023511468A (ja) * | 2019-09-28 | 2023-03-20 | チョ,ヨン-ファ | 電子著作物間の関係に基づく著作管理方法及び著作管理システム |
-
2006
- 2006-04-26 JP JP2006122369A patent/JP2007293698A/ja not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265902A (ja) * | 2008-04-24 | 2009-11-12 | Ricoh Co Ltd | 文書管理装置、文書管理方法、情報処理プログラム及び記録媒体 |
JP2010108453A (ja) * | 2008-10-31 | 2010-05-13 | Internatl Business Mach Corp <Ibm> | 文書部品管理装置、方法、およびプログラム |
JP2011022705A (ja) * | 2009-07-14 | 2011-02-03 | Hitachi Ltd | 証跡管理方法、システム、及びプログラム |
JP2011096139A (ja) * | 2009-10-30 | 2011-05-12 | Nomura Research Institute Ltd | 約款作成支援装置 |
KR101221832B1 (ko) | 2011-12-08 | 2013-01-15 | 동국대학교 경주캠퍼스 산학협력단 | 타저작물 인용에 대한 저작권 보호프로그램이 수록된 기록매체 및 이를 이용한 저작권 보호방법 |
JP2018005759A (ja) * | 2016-07-07 | 2018-01-11 | 株式会社野村総合研究所 | 引用マップ生成装置、引用マップ生成方法およびコンピュータプログラム |
JP2023511468A (ja) * | 2019-09-28 | 2023-03-20 | チョ,ヨン-ファ | 電子著作物間の関係に基づく著作管理方法及び著作管理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7246316B2 (en) | Methods and apparatus for automatically generating presentations | |
JP4576477B2 (ja) | データベーススキーマからのウェブフォームの自動生成方法 | |
US9569436B2 (en) | Computer implemented method and system for annotating a contract | |
JP4637113B2 (ja) | 階層データの好ましいビューを構築するための方法 | |
JP4444867B2 (ja) | 業務プロセスモデル作成支援システムおよびプログラム,ならびに業務プロセスモデル作成処理方法 | |
JP4796185B2 (ja) | 業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法 | |
JP2007293698A (ja) | 文書管理システムおよび文書管理プログラム | |
JP5452229B2 (ja) | 検索機能を備えたバナー広告提供方法およびシステム、またはこの方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体 | |
US20080313215A1 (en) | System and method for the generation and storage of contextually anchored links and for navigation within information systems based on such links | |
CN100444591C (zh) | 获取网页关键字的方法及其应用*** | |
JPH0962665A (ja) | 文書管理装置 | |
US11556592B1 (en) | Storage estimate generation | |
CN107148616A (zh) | 用于分布式版本控制的高效注释*** | |
JP2007272872A (ja) | 情報検索方法、情報検索装置、情報検索システム、及び情報検索プログラム | |
JP2011022705A (ja) | 証跡管理方法、システム、及びプログラム | |
JP2004220215A (ja) | 計算機を利用した業務誘導支援システムおよび業務誘導支援方法 | |
JP2008226235A (ja) | 情報フィードバックシステム、情報フィードバック方法、情報管理サーバ、情報管理方法及びプログラム | |
JP7262154B2 (ja) | コンテンツ配置プログラム、コンテンツ配置装置およびコンテンツ配置方法、Webサイト構築支援プログラム、Webサイト構築支援装置およびWebサイト構築支援方法、ならびに、経済規模出力プログラム、経済規模出力装置および経済規模出力方法 | |
JP2009500764A (ja) | 情報価値を反映した情報検索方法及びその装置 | |
TWI438638B (zh) | Integration of Easy Information Aggregate Files | |
JP2006031377A (ja) | 構造化文書管理装置、検索装置、記憶方法、検索方法及びプログラム | |
US20160117352A1 (en) | Apparatus and method for supporting visualization of connection relationship | |
JP4469818B2 (ja) | データ管理装置、データプログラム及びデータ管理方法 | |
EP1901219A1 (en) | Workflow management system | |
JP2005122509A (ja) | 階層構造データ分析方法、分析装置および分析プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070928 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20100201 |