JP2014203392A - 文書管理装置、文書管理方法、及びプログラム - Google Patents
文書管理装置、文書管理方法、及びプログラム Download PDFInfo
- Publication number
- JP2014203392A JP2014203392A JP2013081315A JP2013081315A JP2014203392A JP 2014203392 A JP2014203392 A JP 2014203392A JP 2013081315 A JP2013081315 A JP 2013081315A JP 2013081315 A JP2013081315 A JP 2013081315A JP 2014203392 A JP2014203392 A JP 2014203392A
- Authority
- JP
- Japan
- Prior art keywords
- document
- file
- user
- revision
- recommended
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】操作ログの存在しない文書に対して文書を推奨することが可能な文書管理装置、文書管理方法、及び文書管理プログラムを提供する。【解決手段】本発明は、指定された文書から別の文書を推奨する文書管理装置であり、文書のリビジョン履歴を記録する版管理手段(10)と、文書に操作を行った利用者と、当該操作の種類とから成る操作ログを記録する操作履歴記録手段(12)と、前記文書管理装置を使用する利用者を識別する認証手段(5)と、前記操作ログから、当該利用者と、前記指定された文書とに関連する文書を算出する協調フィルタリングレコメンド手段(9)と、前記リビジョン履歴から前記指定された文書を含むファイルツリーを構成するファイル群を取得することと、当該ファイル群を前記指定された文書からノードの距離が近い順にソートすることとにより、推奨すべき文書の一覧を作成する文書推奨計算手段(8)とを備える。【選択図】図1
Description
本発明は、文書管理装置、文書管理方法、及び文書管理プログラムに関する。具体的には、本発明は、文書管理システムにおいて文書の推奨(本明細書では「推奨」を「レコメンド」とも呼ぶ)を効率的に行うための技術を用いた文書管理装置、文書管理方法、及び文書管理プログラムに関する。
近年、サーバーコンピューター側で各種処理を行う形態として、クラウドコンピューティングシステムやSaaS(Software as a Service)という技術が利用されている。従来、利用者が所有するコンピュータで管理されていた文書も、クラウド環境への移行が順次進められている。
記憶容量に制限の無いクラウド上の文書管理において、増加の一途を辿る文書群を手作業で整理することは容易ではない。従って、クラウド上の文書管理システムの利用者は、文書をとりあえずクラウド環境へ保存した後、検索によって所望の文書へアクセスすることが多い。このような状況においては、スケールアウトにより比較的容易に改善することが出来る記憶容量又は計算性能よりも、通信トラフィックが課題となる。よって、クラウド上の文書管理システムを利用して目的の文書を検索するに当たっては、検索操作を極力少なくするように効率化することが重要となる。
従来、キーワード検索、分類(フォルダ階層)による検索など、利用者の明示的な指示(意思)に従った検索が行われてきた。これに対し、今後のクラウド上の文書管理で必要とされる検索においては、利用者の行動(操作)履歴に基づき、利用者が潜在的に求める文書を、利用者からの明示的な指示なしにレコメンドする技術が重要となってくる。
従来技術の例として、文書が閲覧された場合に関連リンク記憶部を参照して、閲覧された文書と有効な関連リンクを有する文書を抽出するシステムが提案されている(特許文献1を参照)。特許文献1に記載されたシステムは、リンク参照によるページ遷移、テキストデータのコピーアンドペーストによる文書複製、検索キーワードを用いた検索により得た文書を参照したことなどを、関連イベントとして記憶する。
また、利用者がクリックした商品の詳細情報をWebページに表示する際に、クリックされた商品と関連する複数のレコメンド商品を、同じWebページ上のレコメンド情報表示欄に表示するシステムが提案されている(特許文献2を参照)。このシステムでは、関連するレコメンド商品は、例えば、商品間の相関(商品間の併買性)、個人と商品の相関(個人の好みの傾向)、売れ筋の情報(ランク情報など)などを複合的に勘案するハイブリッド・レコメンド処理を行なったうえで表示される。
特許文献2に記載の技術は、EC(electronic commerce)サイトにおいて顧客へ商品を追加的にレコメンドする販促目的の技術である。しかし、レコメンド対象であるアイテムを商品から文書に置き換えた場合、文書の併参照性を相関として文書のレコメンドを行うことも出来るので、特許文献2に記載の技術は、文書管理に適用可能な技術である。
特許文献1に記載の技術では、関連イベントとして、文書の複製を記憶する。しかし、特許文献1に記載された技術を利用して検索を行った場合、利用者の明示的な操作(ここでは複製元の文書指定)による分類による検索の域を出ない。つまり、複製元の文書を利用者が自ら辿り、更に推薦による検索を続けていくことが必要であり、検索操作を削減するという効果は得られない。
また、特許文献1に示す技術に基づくと、文書管理システムの管理下にある操作ログの情報によって文書はレコメンドされるため、文書管理システム内で操作の無い(又は少ない)文書はレコメンドされない。
一方、新しいプロジェクトにおける文書の中には、別の既存プロジェクトにおける文書をひな形に作成されたものが多く存在する。しかしながら、この新しいプロジェクトにおける文書群には十分な操作ログが蓄積されていないため、相関のある文書をレコメンドすることが出来なかった。
これに対して、特許文献2に示すように、複数の相関情報を考慮して複合的にレコメンドするハイブリッド・レコメンド方式を用いることが考えられる。しかし、文書検索という観点からは検索操作を極力少なくしたいという目的から外れ、多くの選択肢の中から手作業による検索が必要となってしまう。
本発明は、指定された文書から別の文書を推奨する文書管理装置であって、文書のリビ
ジョン履歴を記録する版管理手段と、文書に操作を行った利用者と、当該操作の種類とから成る操作ログを記録する操作履歴記録手段と、前記文書管理装置を使用する利用者を識別する認証手段と、前記操作ログから、当該利用者と、前記指定された文書とに関連する文書を算出するレコメンド手段と、前記リビジョン履歴から前記指定された文書を含むファイルツリーを構成するファイル群を取得することと、当該ファイル群を前記指定された文書からノードの距離が近い順にソートすることとにより、推奨すべき文書の一覧を作成する文書推奨計算手段とを備えたことを特徴とする。
ジョン履歴を記録する版管理手段と、文書に操作を行った利用者と、当該操作の種類とから成る操作ログを記録する操作履歴記録手段と、前記文書管理装置を使用する利用者を識別する認証手段と、前記操作ログから、当該利用者と、前記指定された文書とに関連する文書を算出するレコメンド手段と、前記リビジョン履歴から前記指定された文書を含むファイルツリーを構成するファイル群を取得することと、当該ファイル群を前記指定された文書からノードの距離が近い順にソートすることとにより、推奨すべき文書の一覧を作成する文書推奨計算手段とを備えたことを特徴とする。
本発明により、別プロジェクトにおける文書をひな形にして複製により新規作成された新規文書に対する相関文書を提示できるようになる。結果、操作ログの存在しない文書に対しても文書をレコメンドすることが出来るようになり、検索操作を削減する効果が得られる。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
図1は、本発明の実施形態に係るシステム構成を示すブロック図である。
文書管理サービス(1)は、ネットワーク(20)を介して接続されたクライアントPC(2)からアクセスして利用するクラウド上のサービスである。利用者はクライアントPC(2)におけるWebブラウザ(3)を操作することにより、Webサーバ(4)によって提供されるユーザインタフェースを利用することが出来る。
Webサーバ(4)により、認証手段(5)、文書編集手段(6)、及びファイルブラウザ(7)が提供される。認証手段(5)は、クライアントPC(2)からアクセスする利用者を識別することが出来るので、文書管理サービス(1)は、提供する各種機能をどの利用者が操作したかを判断、記録することが出来る。文書編集手段(6)は、文書管理サービス(1)上で各種文書を新規作成、編集、保存する。ファイルブラウザ(7)は、文書編集手段(6)で編集する文書の検索、選択を行う機能を提供する。ファイルブラウザ(7)は、利用者がある文書を選択すると、文書推奨計算手段(8)を呼び出して利用者にレコメンドする文書を算出させる。算出結果は、レコメンド文書一覧としてファイルブラウザ(7)を介してWebサーバ(4)が提供するユーザインタフェースで表示され、利用者に提示される。また、ファイルブラウザ(7)は、文書管理サービス(1)上に保存されているファイル若しくはフォルダの移動、複製、又は削除などのファイル操作機能も提供する。
文書推奨計算手段(8)は、版管理手段(10)によって記録されている情報と、協調フィルタリングレコメンド手段(9)の出力結果とを基にして、クライアントPC(2)を介して利用者がある文書を選択した際に、関連するレコメンド文書の一覧を算出する。
協調フィルタリングレコメンド手段(9)は、操作履歴記録手段(12)によって記録されている情報を基にして、クライアントPC(2)を介して利用者がある文書を選択した際に、関連するレコメンド文書の一覧を文書推奨計算手段(8)に提示する。
版管理手段(10)は、文書編集手段(6)及びファイルブラウザ(7)によりファイル又はフォルダが更新される毎にそのリビジョンを記録する。
ファイルシステム(11)は、文書編集手段(6)、ファイルブラウザ(7)、版管理手段(10)、操作履歴記録手段(12)の処理結果を記憶手段(13)に記録する。
操作履歴記録手段(12)は、文書編集手段(6)及びファイルブラウザ(7)でファイルが操作される毎にその操作を記録する。
図2は、本発明の実施形態に係る版管理手段(10)によって管理されるファイル及びフォルダ群のリビジョン履歴の例を示す図である。本実施形態における版管理では、グローバルリビジョン番号を採用し、版管理手段(10)で管理されるファイル群全体に対して一つのリビジョン番号が付されるものとする。従って、一つのファイルに注目すると、その注目したファイルに変化がなくとも、リビジョン番号が変わることがあり得る。
図2は、左から右へrevision 1からrevision 7までのリビジョンのファイル群の変遷を示している。また、図2は、上から順に行毎に、個々のファイルを識別するfile id毎の情報を示している。なお、版管理手段(10)は、リビジョン毎に且つfile id毎に、元ファイル(src)と、アクション(action)と、ファイルシステム(11)上のパス(path)とから成る情報を保持する。
revision 1において、版管理手段(10)上に一つのファイルが存在している。file idが1であるaというファイル名(パス)のファイルである。actionの欄がnewであることが、このファイルがrevision 1において新規作成されたことを示している。srcの欄が1であることは、元ファイルはそのファイル自身であることを示す。
次のrevision 2において、file idが1のファイルaは更新されている。actionの欄がupdateであることが、ファイルが更新されたことを示している。また、file idが2であるbというファイルが新規に追加されている。
次のrevision 3において、ファイルaはさらに更新されている(actionの欄がupdateである)。また、file idが2のbというファイルは、cというファイルに移動されている。actionの欄がmoveであることが、ファイルが移動されたことを示している。
次のrevision 4において、ファイルa及びファイルcは更新されている(actionの欄がupdateである)。また、revision 3におけるfile idが1のファイルaが複製及び更新(actionの欄がcopy, updateである)された結果、file idが3であるdというファイルが追加された。actionの欄がcopyであることが、ファイルが複製されたことを示している。ファイルdに関し、srcの欄が1であることが、ファイルdがファイルaから複製されたことを示している。また、file idが4のeというフォルダ(pathの欄がe/)が新規に追加されている(actionの欄がnewである)。
次のrevision 5において、ファイルa及びファイルcは更新されている(actionの欄がupdateである)。revision 4におけるfile idが3のファイルdは、フォルダeの下のe/dへ移動(actionの欄がmoveである)され、内容も更新されている(actionの欄がupdateである)。フォルダeの下へファイルdが移動されているため、file idが4のフォルダeも更新(actionの欄がupdateである)されている。さらに、ファイルfと、ファイルgとが新規に追加されている。
次のrevision 6において、revision 5におけるfile idが1のファイルaは削除されている。ファイルaが削除されたことは、actionの欄がremoveであることと、pathの欄が空欄であることとによって示されている。ファイルc、ファイルe/d、及びフォルダe/は、更新されている(actionの欄がupdateである)。また、ファイルf、ファイルgについては変更が無いため、actionの欄が空欄になっている。
次のrevision 7において、file idが1のファイルは既に存在しないため、対応するsrcの欄、actionの欄、及びpathの欄は、空欄である。ファイルc、ファイルe/d、フォルダe/、ファイルf、及びファイルgは変更が無いため、actionの欄が空欄になっている。file idが7のaというファイルが新規に追加されている(actionの欄がnewである)。このaと言うファイルは、revision 1からrevision 5までのfile idが1のファイルaとは別のファイルである。
図3は、リビジョン履歴を表すリビジョンツリー及びファイルの複製関係を表すファイルツリーの例を示す図である。
図3の(a)は、図2に示すリビジョン履歴に対応しており、file idが1のファイル及びfile idが3のファイルに関するリビジョンツリーを示している。図2に示した通り、revision 3からrevision 4にかけてfile idが1のファイルは、file idが3のファイルへ複製される。file idが1のファイル及びfile idが3のファイルはそれぞれ、revision 7までの間に更新されている。図3の(a)において、矢印は、更新、複製、若しくは移動又はそれらの組み合わせを示している。図3の(a)では、file id毎に四角で囲ってツリーを図示している。図3の(a)中で“a:1”等と表されるノードは、一つのリビジョンの一つのファイルを示している。ノードは‘:’で区切り、左がファイル名(パス)、右はリビジョン番号を示している。以後の説明においては、このリビジョンツリーによってリビジョン履歴を表す。
図3の(b)は、図3の(a)と同じfile idについて、一つのファイルにおける更新履歴と、リビジョン番号とを省略し、file idの値及びそのfile idに対応する最新リビジョンのファイル名(パス)のみを示した図である。図3の(b)は、ファイルの複製関係のツリーを表す。以後、図3の(a)に示すような図をリビジョンツリー、図3の(b)に示すような図をファイルツリーと呼ぶ。
図4は、操作履歴記録手段(12)によって記録された操作ログの一例である。操作の履歴の操作種別は、リビジョン履歴に記録されている操作(即ち、新規作成、更新、移動、複製、及び削除)の他に、利用者による文書の「参照」を含む。操作履歴は、file id単位で記録されている。この操作ログはファイルシステム(11)を介して記憶手段(13)に保存され、協調フィルタリングレコメンド手段(9)がレコメンド文書を算出する際に用いられる。
図4に示す例において、操作ログ(100)は4つのカラムを持っている。カラム「time stamp」(101)は、操作が行われた日時を示す。カラム「file id」(102)は、操作対象ファイルのfile idを示す。カラム「ユーザー」(103)は、その操作を行った利用者を示す。カラム「操作種別」(104)は、行われた操作の種類を示す。
協調フィルタリングレコメンド手段(9)は、記憶手段(13)に保存された操作ログから、利用者と、利用者により指定された文書とに関連付けられた文書を算出する。具体的には、同一利用者により、同時に参照された文書群を抽出する。ここで、十分短い所定の時間内に参照された複数の文書を同時に参照された文書とみなすことも出来る。協調フィルタリングレコメンド手段(9)は、さらに、同時に参照した文書の傾向が類似する利用者を抽出する。このようにして抽出された情報に基づいて、「ある利用者」が「ある文書」を選択した際に、「ある利用者」と類似した傾向を有する利用者(「ある利用者」を含む)が「ある文書」と同時に参照した文書群を提示する。
図5は、図3の(a)に示した例とは別のリビジョンツリーと、そのリビジョンツリーに含まれるファイルからある利用者(例えば、User-A)のために、協調フィルタリングレコメンド手段(9)によりレコメンドされた文書一覧とを示した図である。
図5に示すように、file idが100の文書(.docファイル)からは、User-Aのために、file idが50、55、60、70のファイルが順番にレコメンドされている。同様に、file idが300の文書(.docファイル)からは、file idが250、60のファイルが順番にレコメンドされている。
なお、file idが200の文書(.docファイル)からは、ファイルがレコメンドされていない。これは、User-Aと類似する傾向を有するUser-Aの類似利用者において、file idが200の文書と同時に参照した文書が存在しないことを示す。
図6は、図5に示したfile idが50のファイルを含むリビジョンツリーの例を示した図である。
図6に示すように、file idが50のファイルの最新リビジョンはDesign10.docのリビジョン181である。file idが50のファイルは、最新リビジョンの時点でDesign10.docというファイル名で参照することになる。file idが50のファイルはfile idが10のファイルから複製された。また、file idが50のファイルからはfile idが150のファイルが複製されている。file idが150のファイルは、最新リビジョンの時点でDesign20.docというファイル名で参照する。
図6におけるfile idが50のファイルと同様に、他のレコメンド文書(図5に示した例では、file idが55、60、70、250のファイル)についても、それぞれファイルの関係が存在する。図7に、それらのレコメンド文書と、ファイルツリーとの関係を図示した。図7中の破線の矢印は、レコメンド文書一覧の各レコメンド文書から、各レコメンド文書に対するファイルツリーにおけるノードへの対応を表している。
図7に示すように、file idが55のファイルは、file idが20のファイルから複製された。file idが55のファイルからは、file idが170のファイルと、file idが180のファイルとが複製されている。file idが60のファイルの元ファイルは、そのファイル自身である。file idが70のファイルの元ファイルは、そのファイル自身である。file idが70のファイルからは、file idが210のファイルが複製されている。file idが250のファイルの元ファイルは、そのファイル自身である。
図8は、図7に示したファイルツリーと、各文書に対応したレコメンド文書一覧とから決まる利用者User-Aに最終的に提示するレコメンド文書一覧を示した図である。図8は、利用者User-Aが、file idが200のファイルを選択した際に、利用者User-Aに最終的に提示されるレコメンド文書一覧を表している。利用者User-Aに提示すべき文書のファイル名が、file idと共に順位付けされている。以下、図8に示したような、利用者に最終的に提示するレコメンド文書一覧を作成する処理の流れを説明する。
図9は、本実施形態に係る文書推奨計算手段(8)において、レコメンド文書一覧を求める手順を示したフローチャートである。図9に示すフローチャートは、図8に例示したような最終的なレコメンド文書一覧を作成する手順を示す。
ステップS1000において、文書推奨計算手段(8)は、処理を開始する。
ステップS1001において、文書推奨計算手段(8)は、文書を参照する利用者のユーザIDを、認証手段(5)から取得する。取得したユーザIDをUIDとする。
ステップS1002において、文書推奨計算手段(8)は、利用者が参照する文書のfile idを、ファイルシステム(11)を介して取得する。取得したfile idをFidとする。
ステップS1003において、文書推奨計算手段(8)は、版管理手段(10)が実行する処理を呼び出す。版管理手段(10)が実行する処理の詳細は、後述する(図13を参照)。ステップS1003では、文書推奨計算手段(8)は、パラメータとして、階層と、親等と、file idとを指定する。最初に、階層は0に指定され、親等は0に指定され、file idはFidに指定される。ステップS1003の結果、文書推奨計算手段(8)は、Fidを含むファイルツリーを構成するファイル群(ファイル集合S)を取得する。ファイル集合Sは、リビジョンツリーを構成するfile id(図5に示す例では、100、200、300)と、file idに対応する階層と、file idに対応する親等との項目から成る一覧である。
ステップS1004において、文書推奨計算手段(8)は、ファイル集合Sについて、親等順にソートし、次いで階層順にソートし、次いでfile id順にソートする。親等順のソート、階層順のソート、及びfile id順のソートは夫々、昇順で行われ、値の小さい方から大きい方へ順に並べられる。図10に、ステップS1004の結果得られるソート後のファイル集合Sの例を示す。
階層は、ファイルツリーの階層を相対的に表す整数値である。指定file idのファイルに対して複製されたファイルの階層を1とし、指定file idのファイルの複製元のファイルの階層を−1とする。
親等は、指定file idのファイルからのファイルツリー上におけるノードの距離を表す。ファイルツリー上で隣接するファイル間のノードの距離を1とする。
次に、文書推奨計算手段(8)は、ステップS1005〜S1008において、ファイル集合Sに含まれる各file idに対するレコメンドリストを取得する。ステップS1005、S1008に示すように、ステップS1006、S1007の処理は、ファイル集合Sに含まれるfile id毎に、且つ、ソートされたfile idの順に、繰り返して行われる。
ステップS1006において、文書推奨計算手段(8)は、ファイル集合Sに含まれるfile idに対するレコメンド文書一覧(FRLISTn)を協調フィルタリングレコメンド手段(9)から取得する。レコメンド文書一覧(FRLISTn)は、ユーザIDがUIDの使用者にレコメンドされる文書一覧である。
ステップS1007において、文書推奨計算手段(8)は、レコメンド文書一覧(FRLISTn)をレコメンド文書一覧(FRLISTm)へマージする。
ステップS1005からS1008までの処理の結果、文書推奨計算手段(8)は、レコメンド文書一覧(FRLISTm)として図11に示すようなfile idのリストを得る。図11に示す例では、レコメンド文書一覧(FRLISTm)中にfile id 60が重複して存在する。
次にステップS1009において、文書推奨計算手段(8)は、レコメンド文書一覧(FRLISTm)から重複するfile idを除去する。ここで、同じfile idが出現した場合には、リストの最先に出現したものを優先して残し、後に出現したものを取り除く。図12に、図11に示したレコメンド文書一覧(FRLISTm)に対し、ステップS1009の処理を施した結果を示す。図11、図12から、後に出現した60が除去されたことが分かる。なお、図10から図12に示した例は、図5に示したリビジョンツリーに対応する例である。
次に、文書推奨計算手段(8)は、ステップS1010からS1015において、レコメンド文書一覧(FRLISTm)に含まれる各file idについての複製ファイルの一覧を取得する。ステップS1010、S1015に示すように、ステップS1011〜S1014の処理は、レコメンド文書一覧(FRLISTm)に含まれるfile id毎に、且つ、レコメンド文書一覧(FRLISTm)中のfile idの順に、繰り返して行われる。
ステップS1011において、文書推奨計算手段(8)は、レコメンド文書一覧(FRLISTm)からfile idを取得する。取得したfile idをrfidとする。
ステップS1012において、文書推奨計算手段(8)は、版管理手段(10)により実行される処理を呼び出す。版管理手段(10)により実行される処理の詳細は、後述する(図14を参照)。ステップS1012では、文書推奨計算手段(8)は、パラメータとして、階層と、file idとを指定する。最初に、階層は0に指定され、file idはrfidに指定される。ステップS1012の結果、文書推奨計算手段(8)は、ファイル集合Tを取得する。
ステップS1013において、文書推奨計算手段(8)は、ファイル集合Tについて、階層順にソートし、次いでfile id順にソートする。階層順のソート及びfile id順のソートは夫々、昇順で行われ、値の小さい方から大きい方へ順に並べられる。
ステップS1014において、文書推奨計算手段(8)は、ステップS1013の結果得たfile id一覧を追加レコメンド文書一覧(FRLISTm2)へ順にマージする。図7に示した例を挙げて説明すると、例えば、レコメンド文書file id 50に対するfile id 150が追加レコメンド文書一覧(FRLISTm2)に追加される。また、レコメント文書file id 55に対するfile id 170及びfile id180が追加レコメンド文書一覧(FRLISTm2)に追加される。さらに、レコメント文書file id 70に対するfile id 210が追加レコメンド文書一覧(FRLISTm2)に追加される。
ステップS1010からS1015までの処理の結果、文書推奨計算手段(8)は、追加レコメンド文書一覧(FRLISTm2)として、図15に示すようなfile idのリストを得る。なお、図15に示す例は、図5に示したリビジョンツリーに対応する追加レコメンド文書一覧(FRLISTm2)の例である。
ステップS1016において、文書推奨計算手段(8)は、レコメンド文書一覧(FRLISTm)の最後に追加レコメンド文書一覧(FRLISTm2)を追加する。
ステップS1017において、文書推奨計算手段(8)は、ステップS1016の結果得たFRLISTmの各file idからパス一覧を作成する。最終的には、図8に示したようなレコメンド文書一覧が作成される。
図13は、図9のステップS1003において実行される一連の処理を説明するためのフローチャートである。図13は、本実施形態に係る版管理手段(10)において、指定されたfile id(Fid)のファイルを含むファイルツリーを構成するファイル群(即ち、Fidのリビジョン履歴)を取得する手順を示したフローチャートである。
図13に示す処理手順は、ステップS1100において、版管理手段(10)が、文書推奨計算手段(8)から階層と、親等と、file id(=Fid)とをパラメータとして受け取ることで開始する。また、図13に示す処理手順は、再帰的に呼び出される処理手順である。
階層は、ファイルツリーの階層を相対的に表す整数値である。指定file idのファイルに対して複製されたファイルの階層を1とし、指定file idのファイルの複製元のファイルの階層を−1とする。親等は、指定file idのファイルからのファイルツリー上におけるノードの距離を表す。ファイルツリー上で隣接するファイル間のノードの距離を1とする。また、図13の処理手順におけるファイル集合Sは、再帰呼び出しにおいても共通で参照・更新されるグローバル変数である。
ステップS1101において、版管理手段(10)は、Fidが最初に現れるリビジョンをリビジョン履歴から特定する。このリビジョンをリビジョンRとする。
ステップS1102において、版管理手段(10)は、パラメータとして受け取った階層と、親等と、Fidとの組をファイル集合Sに追加する。
ステップS1103において、版管理手段(10)は、リビジョンRにおけるfild idがFidのファイルのsrc値を取得し、取得したsrc値をparentとして保持する。parentは、file idがFidのファイルが他のファイルからの複製である場合は、file idがFidのファイルの親ファイルのfile idを示す。
ステップS1104において、版管理手段(10)は、file idがFidのファイルが他のファイルからの複製であるか否かを判断する。file idがparentのファイルがファイル集合Sに含まれる場合、file idがFidのファイルは他のファイルからの複製ではなく新規作成であるので、親ノードは辿らない。この場合、処理はステップS1106に進む。file idがparentのファイルがファイル集合Sに含まれない場合、file idがFidのファイルは他のファイルからの複製である。この場合、処理はステップS1105に進む。
ステップS1105において、版管理手段(10)は、図13のフローを再帰的に実行することにより親ノードから辿る祖先ノードのファイル群を取得する。
次に、ステップS1106〜S1114において、版管理手段(10)は、子孫ノードのファイル群を取得する。
ステップS1106において、版管理手段(10)は、リビジョンRをインクリメントする。
ステップS1107、S1113に示すように、ステップS1108〜S1112の処理は、リビジョンRに含まれるfile id毎に繰り返して行われる。
ステップS1008において、版管理手段(10)は、リビジョンRからfile idを取得する。取得したfile idをCfidとする。
ステップS1109において、版管理手段(10)は、file idがCfidのファイルがファイル集合Sに含まれるか否かを判断する。file idがCfidのファイルがファイル集合Sに含まれる場合、処理はステップS1113に進む。file idがCfidのファイルがファイル集合Sに含まれない場合、処理はステップS1110に進む。
ステップS1100において、版管理手段(10)は、file idがCfidのファイルのsrc値がFidと等しいか否かを判断する。file idがCfidのファイルのsrc値がFidと等しい場合、処理はステップS1111に進む。file idがCfidのファイルのsrc値がFidと等しくない場合、処理はステップS1113に進む。
ステップS1111において、版管理手段(10)は、パラメータとして受け取った階層+1と、親等+1と、Cfidとの組をファイル集合Sに追加する。
ステップS1112において、版管理手段(10)は、図13のフローを再帰的に実行することにより子ノードから辿る子孫ノードのファイル群を取得する。
ステップS1114において、版管理手段(10)は、リビジョンRにおけるfile idがFidのファイルが存在するか否かを判断する。リビジョンRにおけるfile idがFidのファイルが存在する場合、処理はステップS1106に戻る。リビジョンRにおけるfile idがFidのファイルが存在しない場合、処理はステップS1115に進み、一連の処理は終了する。
ステップS1106、ステップS1114に示すように、子孫ノードのファイル群を取得する処理は、file idがFidのファイルが存在する間でリビジョンを順に辿る繰返し処理である。そして、ステップS1107〜ステップS1110に示すように、各リビジョンについて、ファイル集合Sにまだ含まれず、かつ、Fidを元に複製されているファイル(Cfid)を探す。ファイル集合Sにまだ含まれず、かつ、Fidを元に複製されているファイル(Cfid)
を見つける度に、ファイル集合Sへ子ファイルを追加(ステップS1111)し、図13のフローを再帰的に呼び出すことにより子ノードから辿る子孫ノードのファイル群を取得する(ステップS1112)。
を見つける度に、ファイル集合Sへ子ファイルを追加(ステップS1111)し、図13のフローを再帰的に呼び出すことにより子ノードから辿る子孫ノードのファイル群を取得する(ステップS1112)。
以上の処理により、図9におけるステップS1003の処理が実行された後には、指定されたfile id(Fid)から辿れるファイル群を取得することが出来る。
図14は、図9のステップS1012において実行される一連の処理を説明するためのフローチャートである。図14は、本実施形態に係る版管理手段(10)において、指定されたfile idから複製されたファイル群を取得する手順を示したフローチャートである。
図14に示す処理手順は、ステップS1200において、版管理手段(10)が、文書推奨計算手段(8)から、パラメータとして、階層と、file id(図14ではFidと表している)とを受け取ることで開始する。前述したとおり、最初、階層は0に指定され、file idはrfidに指定される。また、図14に示す処理手順は、再帰的に呼び出される処理手順である。
階層は、図13に示すフローチャートと同様、ファイルの階層を相対的に表す整数値である。また、図14の処理手順におけるファイル集合Tは、再帰呼び出しにおいても共有で参照・更新されるグローバル変数である。
まず、ステップS1201において、版管理手段(10)は、Fidが最初に現れるリビジョンをリビジョン履歴から特定する。このリビジョンをリビジョンRとする。
ステップS1202において、版管理手段(10)は、リビジョンRをインクリメントする。
ステップS1203、S1209に示すように、ステップS1204〜S1208の処理は、リビジョンRに含まれるfile id毎に繰り返して行われる。
ステップS1204において、版管理手段(10)は、リビジョンRからfile idを取得する。取得したfile idをCfidとする。
ステップS1205において、版管理手段(10)は、file idがCfidのファイルがファイル集合Tに含まれるか否かを判断する。file idがCfidのファイルがファイル集合Tに含まれる場合、処理はステップS1209に進む。file idがCfidのファイルがファイル集合Tに含まれない場合、処理はステップS1206に進む。
ステップS1206において、版管理手段(10)は、file idがCfidのファイルのsrc値がFidと等しいか否かを判断する。file idがCfidのファイルのsrc値がFidと等しい場合、処理はステップS1207に進む。file idがCfidのファイルのsrc値がFidと等しくない場合、処理はステップS1209に進む。
ステップS1207において、版管理手段(10)は、パラメータとして受け取った階層+1と、Cfidとの組をファイル集合Tに追加する。
ステップS1208において、版管理手段(10)は、図14のフローを再帰的に実行することにより子ノードから辿る子孫ノードのファイル群を取得する。
ステップS1210において、版管理手段(10)は、リビジョンRにおいてfile idがFidのファイルが存在するか否かを判断する。リビジョンRにおいてfile idがFidのファイルが存在する場合、処理はステップS1202に戻る。リビジョンRにおいてfile idがFidのファイルが存在しない場合、処理はステップS1211に進み、一連の処理は終了する。
ステップS1202からステップS1210において、子孫ノードのファイル群を取得する。ステップS1202、ステップS1210に示すように、子孫ノードのファイル群を取得する処理は、file idがFidのファイルが存在する間でリビジョンを順に辿る繰返し処理である。そして、ステップS1203〜ステップS1206に示すように、各リビジョンについて、ファイル集合Tにまだ含まれず、かつ、Fidを元に複製されているファイル(Cfid)を探す。ファイル集合Tに含まれず、かつ、Fidを元に複製されたファイル(Cfid)を見つけると、ファイル集合Tへ子ファイルを追加し(S1207)、図14のフローを再帰的に呼び出すことで子ノードから辿る子孫ノードのファイル群を取得する(S1208)。
以上の処理により、図9におけるステップS1012を処理が実行された後には、指定されたfile id(rfid)から辿れるファイル群を取得できる。
以上の構成により、操作ログが未だ十分に存在しない新規文書においても、複製元文書のレコメンド文書を辿り、レコメンド文書先のファイルツリーも辿ることで、利用者に提示されるレコメンド文書の精度を向上させることが出来る。
[その他の実施形態]
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
Claims (4)
- 指定された文書から別の文書を推奨する文書管理装置であって、
文書のリビジョン履歴を記録する版管理手段と、
文書に操作を行った利用者と、当該操作の種類とから成る操作ログを記録する操作履歴記録手段と、
前記文書管理装置を使用する利用者を識別する認証手段と、
前記操作ログから、当該利用者と、前記指定された文書とに関連する文書を算出するレコメンド手段と、
前記リビジョン履歴から前記指定された文書を含むファイルツリーを構成するファイル群を取得することと、当該ファイル群を前記指定された文書からノードの距離が近い順にソートすることとにより、推奨すべき文書の一覧を作成する文書推奨計算手段と
を備えたことを特徴とする文書管理装置。 - 請求項1に記載の文書管理装置であって、前記文書推奨計算手段は、前記推奨すべき文書の一覧に含まれる各文書から複製された文書を取得し、前記推奨すべき文書の一覧に追加することを特徴とする、文書管理装置。
- 指定された文書から別の文書を推奨する文書管理方法であって、
版管理手段が、文書のリビジョン履歴を記録するステップと、
操作履歴記録手段が、文書に操作を行った利用者と、当該操作の種類とから成る操作ログを記録するステップと、
認証手段が、前記文書管理方法を使用する利用者を識別するステップと、
レコメンド手段が、前記操作ログから、当該利用者と、前記指定された文書とに関連する文書を算出するステップと、
文書推奨計算手段が、前記リビジョン履歴から前記指定された文書を含むファイルツリーを構成するファイル群を取得することと、当該ファイル群を前記指定された文書からノードの距離が近い順にソートすることとにより、推奨すべき文書の一覧を作成するステップと
を備えたことを特徴とする文書管理方法。 - コンピュータを請求項1又は2に記載の文書管理装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013081315A JP2014203392A (ja) | 2013-04-09 | 2013-04-09 | 文書管理装置、文書管理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013081315A JP2014203392A (ja) | 2013-04-09 | 2013-04-09 | 文書管理装置、文書管理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014203392A true JP2014203392A (ja) | 2014-10-27 |
Family
ID=52353749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013081315A Pending JP2014203392A (ja) | 2013-04-09 | 2013-04-09 | 文書管理装置、文書管理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014203392A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704566A (zh) * | 2016-04-25 | 2016-06-22 | 浪潮软件集团有限公司 | 一种基于电视机顶盒的视频推荐系统 |
CN114084168A (zh) * | 2021-10-27 | 2022-02-25 | 北京百度网讯科技有限公司 | 自动驾驶系统控制方法、装置、电子设备及可读存储介质 |
-
2013
- 2013-04-09 JP JP2013081315A patent/JP2014203392A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704566A (zh) * | 2016-04-25 | 2016-06-22 | 浪潮软件集团有限公司 | 一种基于电视机顶盒的视频推荐系统 |
CN114084168A (zh) * | 2021-10-27 | 2022-02-25 | 北京百度网讯科技有限公司 | 自动驾驶系统控制方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11989694B2 (en) | Managing projects in a content management system | |
JP5656563B2 (ja) | 文書管理システム、文書管理システムの制御方法、プログラム | |
US8473473B2 (en) | Object oriented data and metadata based search | |
JP4769005B2 (ja) | 情報処理支援システム及び情報処理支援プログラム | |
JP2020513599A (ja) | コンテンツ管理システムにおけるタスクの管理 | |
CN1613047B (zh) | 文件系统外壳 | |
US20070027887A1 (en) | Web application for argument maps | |
JP2013143039A (ja) | 頻出パターン抽出装置、頻出パターン抽出方法、及びプログラム | |
US20040183837A1 (en) | Document management method and apparatus | |
KR20150132444A (ko) | 클리핑 기능을 이용하는 협업 저작을 위한 방법, 장치 및 컴퓨터 판독가능 매체 | |
JP6008693B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US20080313158A1 (en) | Database file management system, integration module and browsing interface of database file management system, database file management method | |
US9411880B2 (en) | System and method for dynamically configuring content-driven relationships among data elements | |
JP2008226235A (ja) | 情報フィードバックシステム、情報フィードバック方法、情報管理サーバ、情報管理方法及びプログラム | |
EP1630692A1 (en) | Method for processing information, apparatus therefor and program therefor | |
DeRidder et al. | Leveraging encoded archival description for access to digital content: a cost and usability analysis | |
KR20110133909A (ko) | 모든 자연어 표현의 각각의 의미마다 별도의 용어를 동적으로 생성하는 방법 및 이를 기반으로 하는 사전 관리기,문서작성기, 용어 주석기, 검색 시스템 및 문서정보체계 구축장치 | |
JP4876151B2 (ja) | 検索キーワード候補表示システム、検索キーワード候補表示方法およびプログラム | |
JP2013239058A (ja) | 情報処理装置、方法及びプログラム | |
JP2014203392A (ja) | 文書管理装置、文書管理方法、及びプログラム | |
KR100834293B1 (ko) | 문서 처리 시스템 및 방법 | |
RU2602783C2 (ru) | Управление версиями прецедентов | |
Owens et al. | The invention and dissemination of the spacer gif: Implications for the future of access and use of web archives | |
Singhal et al. | Computational transformation from web to Ebook archiving | |
Cabrera et al. | Extracting the Main Path of Historic Events from Wikipedia |