説明

ファイル検索システム

【課題】 リンク関係を持たないファイル群から、作業に関連するファイルを検索するファイル検索システムを提供する。
【解決手段】 ファイル間相互の関連度の演算処理は、まず、アクセスログを取得し(ステップS201)、ユーザが作業を行っている時間を定義して活動時間を演算し、ファイル名ごとにアクセスログを分類し、すぐにロックを離す拡張子を抽出する(ステップS202〜S204)。そして、それらの結果を用いて、前処理A,B,Cによって、アクセスログの修正を行う(ステップS205〜207)。次に、修正されたアクセスログから、ファイルごとにファイル使用時間を集計する(ステップS208)。そして、ファイル同士のファイル使用時間の重複する区間を求めて、その重複する区間に係るパラメータを所定の式に入力して関連度を演算する(ステップS209)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キーワードなどによるリンク関係を持たないファイル群から、作業に関連するファイルを検索するファイル検索システムに関する。
【背景技術】
【0002】
近年のサーバにおけるファイルシステムでは、ファイルの数と種類がともに爆発的に増加している。そのため、ファイルシステムは、ディレクトリの階層構造を提供して、ファイルが格納された論理的な配置を管理する構成を採っている。しかし、取り扱うファイル数が増えることによって、利用したいファイルを容易に見つけ出すことが困難になってきている。このような問題点の解決策として、キーワードを含むファイルを見つけ出すファイル検索システムが提供されている。
【0003】
ファイル検索システムは、キーワードを含むファイル名(ディレクトリパス名を含む)やファイル中にそのキーワードを含む文字列を有するファイルを対象として、検索を行う。例えば、特許文献1には、キーワード検索されたリンク関係を有するファイル間に対して、リンク重要度を定義して、リンク重要度の大きいファイルが抽出され易いように構成した発明が開示されている。
【0004】
また、非特許文献1には、ユーザがWebページを閲覧していた場面を再現できるように画像を記憶しておき、ユーザが再生場面を見て、過去の記憶を想起させる記憶想起支援ツールについて記載されている。この記憶想起支援ツールにおける検索機能として、ユーザが思い出したキーワードを含むWebページをアクティブに何ページも表示していた期間に表示していたWebページがキーワードとの関連度が大きいとして、検索結果の上位にランク付けることが開示されている。
【特許文献1】特開2001−290843号公報(段落[0019]〜[0033])
【非特許文献1】森田哲之、日高哲雄、田中明通、加藤泰久著、「記憶想起支援ツール『Memory-Retriever』」、INTERACTION2007、2007年3月15日
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1と非特許文献1は、キーワードを用いた検索が前提となっている。したがって、キーワードに関連のある内容を含むファイルであっても、ファイル名やファイル中にそのキーワードを含まない画像ファイルやデータファイルなどを検出することが困難である。
【0006】
そこで、本発明は前記した従来技術の問題点に鑑みて、キーワードなどによるリンク関係を持たないファイル群から、作業に関連するファイルを検索するファイル検索システムを提供することにある。
【課題を解決するための手段】
【0007】
前記課題を解決するために、ファイル検索システムは、サーバに蓄積されたファイル群から作業に関連するファイルを検索するものであって、ファイルにアクセスした履歴からファイル間の関連度を導出する関連度導出手段と、キーワード検索された検索ファイルに対してこの検索ファイルと所定以上の関連度を有するファイル群を出力する出力手段と、を備え、前記関連度導出手段が、前記履歴を参照して、作業を行っていた活動時間区間を算出し、前記活動時間区間の範囲内で定められるファイルを使用していたファイル使用時間を算出し、前記ファイル使用時間の重複に基づいて前記関連度を算出することを特徴とする。
【0008】
かかる構成によれば、キーワードなどによるリンク関係を持たないファイルであっても、サーバにアクセスした履歴を用いて、活動時間区間(作業していた時間帯)を推定し、その活動時間区間と重複して使用していたファイル同士が相互に関連すると判定することが可能となる。
【0009】
また、前記ファイル検索システムにおいて、前記活動時間区間は、前記履歴に記録されているアクセス時刻とファイル名を読み出して、所定時間幅内に前記アクセス時刻の記録がある場合に、当該所定時間幅内で作業を行っていたと判定して算出されること、を特徴とする。
【0010】
かかる構成によれば、作業していた時間(活動時間区間)を別途特別なアプリケーションを用いて割り出す必要がなく、アクセス時刻の記録から、容易に活動時間区間を算出することが可能となる。
【0011】
また、前記ファイル検索システムにおいて、前記ファイル使用時間は、前記履歴に記録されているファイルをオープンした時刻からファイルをクローズした時刻までと、前記活動時間区間とが重複する時間として算出されること、を特徴とする。
【0012】
かかる構成によれば、ファイルをオープンしている時間に対して、活動時間区間との重複を調べることによって、作業実態に基づいてファイルを使用していた時間を精度よく推定することが可能となる。
【0013】
また、前記ファイル検索システムにおいて、前記関連度の導出手段は、前記ファイル群の全てのファイルから選択された一のファイルと他のファイルに対して、前記ファイル使用時間が重複する場合に、重複している時間を共起時間とし、この共起時間が複数存在する場合に、その個数を共起回数とし、先の前記共起時間の終了から次の前記共起時間の開始までを共起間隔とし、前記一のファイルのファイル使用時間の開始時間または前記他のファイルのファイル使用時間の開始時間と前記共起時間の開始時間との差を使用開始パターンとしたとき、前記共起時間と前記共起回数と前記共起間隔と前記使用開始パターンの少なくとも一つの情報に基づく演算を行って、前記選択された一のファイルと他のファイルとの関連度を演算すること、を特徴とする。
そして、前記演算は、前記共起時間のみが情報となる場合には、前記共起時間の累積が底となり、前記共起回数のみが情報となる場合には、前記共起回数が底となり、前記共起間隔のみが情報となる場合には、前記共起間隔を累積したものの逆数が底となり、前記使用開始パターンのみが情報となる場合には、前記使用開始パターンの累積が底となって、それぞれの所定の値が指数となる関連度算出式を用いること、さらに、前記関連度算出式を組み合わせて、2またはそれ以上の式を乗算する関連度算出式を用いることを特徴とする。
【0014】
かかる構成によれば、関連度は、前記共起時間、前記共起回数、前記共起間隔および前記開始時間パターンの少なくとも一つを情報とする関連度算出式を用いて算出される。そして、関連度を算出されるファイル同士は、キーワードなどによるリンク関係を持たないものであっても構わない。
【0015】
また、前記ファイル検索システムにおいて、前記関連度の算出は、前記オープンに対応するクローズの履歴が欠けている場合には、前記履歴から削除する第1の処理、前記オープンされたままになっているファイルに対して、先の前記活動時間区間の終了から次の前記活動時間区間の開始までの間が所定時間以上離れている場合は、前記先の活動時間区間までの前記活動時間区間と重複する時間を、前記ファイル使用時間と判定する第2の処理、ファイルをオープンした時刻と当該ファイルをクローズした時刻との間隔が所定値以下になるファイルの種類に対しては、前記活動時間区間において、最初にオープンした時刻から最後にクローズした時刻までを前記ファイル使用時間と判定する第3の処理、の少なくとも一つを行うこと、を特徴とする。
【0016】
かかる構成によれば、第1の処理は、ファイルにアクセスした履歴(アクセスログ)において、クローズの履歴が欠けてしまう場合に関連度を算出可能とする処理である。そのような履歴を用いると、ファイル検索システムは、ファイルがずっとオープンされたままだと認識して関連度を分析してしまう。そこで、前処理として、オープンとクローズとの対応がとれるように、オープンを削除することによって、関連度の演算における擾乱を低減することが可能となる。
第2の処理は、履歴では、オープンとクローズの対応がとれてはいるが、例えば、ずっとファイルがオープンしたままとなっており、使用していないと思われる時間にも対処する処理である。すなわち、ファイルがオープンされた状態のまま、先の前記活動時間区間の終了から次の前記活動時間区間の開始までの間が所定時間以上離れている場合は、当該ファイルを作業に用いていないと推測されて、ファイルを使用していないものとしている。そして、活動時間区間の間が所定時間以上離れる前までの活動時間区間と、ファイルがオープンしている時間とが重複するときを、ファイルの使用時間と判定し、関連度の演算における擾乱を低減することが可能となる。
第3の処理は、オープンするとすぐにクローズしてしまう(ロックを離してしまう)性質のファイルのように、オープンとクローズが所定値以下に記録される場合に対処する処理である。この場合には、活動時間区間内で、最初にオープンした時刻から最後にクローズした時刻まで、ずっと、そのファイルを使用していたとみなす。このことによって、より実態に近いファイルの使用時間を推定することが可能となる。
【発明の効果】
【0017】
本発明によれば、キーワードなどによるリンク関係を持たないファイル群から、作業に関連するファイルを検索することが可能となる。
【発明を実施するための最良の形態】
【0018】
次に、本発明を実施するための最良の形態(以降、「実施形態」と称す)について、適宜図面を参照しながら詳細に説明する。
【0019】
(実施形態)
本発明の実施形態に係るファイル検索システム1の構成について図1を用いて説明する。図1は、ファイル検索システム1の構成を示す図である。
ファイル検索システム1は、サーバ11,12と端末21,22とファイル関連度管理装置100とがネットワーク30を介して接続され、通信可能に構成される。
【0020】
サーバ11,12は、大量のファイルを蓄積していて、どのファイルに誰がアクセスしたかについて履歴(アクセスログ)を記録する。現在のほとんどのファイルシステムでは、ディレクトリの階層構造が提供されており、ファイルには、ディレクトリパス名を付して、履歴が管理されている。
端末21,22は、文書作成やファイル検索などの作業を行うユーザが使用するものである。端末の種類は、PC(Personal Computer)であっても、サーバに接続される専用の端末であっても構わない。
ファイル関連度管理装置100は、サーバ11,12から履歴を取得して、ユーザに同時に利用されるファイルの関連度を算出する。そして、端末21,22によってキーワード検索が実行されたときに、検出されたキーワードを含むファイル情報(ファイル名)を取得して、ファイルの関連度を参照して、取得したファイル名との関連度を検出して、関連度の大きいファイル名を、端末21,22に表示する。
なお、サーバ11,12や端末21,22の台数は、1台であっても、3以上であっても構わない。
【0021】
次に、ファイル関連度管理装置100のハードウェア構成について図2を用いて説明する。図2は、ファイル関連度管理装置100のハードウェア構成を示す図である。
ファイル関連度管理装置100は、図2に示すように、処理部110、入出力部120、記憶部130および通信制御部140がバスを介して接続され、相互に通信可能なように構成される。
【0022】
処理部110は、演算処理を実行するCPU(Central Processing Unit)111と、このCPU111が演算処理に用いる記憶部であるメインメモリ112とを備える。メインメモリ112は、RAM(Random Access Memory)などにより実現される。そして、記憶部130に格納されたアプリケーションプログラムがメインメモリ112に展開され、CPU111が、それを実行することにより種々の処理を具現化する。
【0023】
入出力部120は、ファイル関連度管理装置100に接続されるキーボードやマウスなどの入力装置(不図示)と、処理部110によって演算処理された結果などの各種データを表示するディスプレイなどの表示装置(不図示)によって構成される。
【0024】
記憶部130は、CPU111が演算処理に用いる各種データや演算結果、または、入出力部120によって送受信されるデータを記憶する。記憶部130は、図示しないROM(Read Only Memory)やハードディスク装置などにより実現される。
【0025】
通信制御部140は、通信インタフェース(不図示)を備え、処理部110によって演算処理された情報を、ネットワーク30(図1参照)を介して、他の装置に送信し、他の装置から情報を受信する制御を行う。
【0026】
次に、ファイル関連度管理装置100の機能について、図3を用いて説明する(適宜図1参照)。図3は、ファイル関連度管理装置100の機能を示す図である。
【0027】
ファイル関連度管理装置100の処理部110は、アクセスログ収集部113、アクセスログ解析部114、アクセスログ前処理部115、活動時間演算部116、ファイル使用時間演算部117および関連度演算部118を備える。
【0028】
アクセスログ収集部113は、サーバ11、12からアクセスログ(履歴)を取得する。履歴を取得するタイミングは、定期的でも、必要があるときでも随時であっても構わない。
アクセスログ解析部114は、取得したアクセスログ(履歴)をファイル名ごとに分類したり、後記するように、すぐにロックを離す拡張子を抽出する。
アクセスログ前処理部115は、関連度を算出する前に、アクセスログ(履歴)の生データに対して、予め定めた条件に沿って補足や修正を行う。予め定めた条件とは、例えば、オープンに対するクローズが欠けている履歴を削除することや、長時間オープン状態のファイルに対してファイルの使用時間を定めること、などである。
活動時間演算部116は、ユーザが作業をしている時間区間(活動時間区間)を算出する。すなわち、活動時間区間以外は、ファイルがオープンしていても、使用しているとはみなさない。
ファイル使用時間演算部117は、活動時間演算部116によって算出された活動時間区間とファイルがオープンされている時間とが重複する時間(ファイル使用時間)を算出する。なお、この処理では、アクセスログ解析部114およびアクセスログ前処理部115によって補正された履歴が使用される。そして、ファイルごとに、ファイル使用時間が算出される。
関連度演算部118は、ファイル使用時間演算部117が算出したファイル使用時間を、ファイル名ごとに突き合わせて、ファイル使用時間が重複する時間(共起時間)を算出する。そして、その共起時間と共起回数などを変数とする所定の数式によって関連度を算出する。なお、この所定の数式については後記する。算出した関連度は、ファイル名ごとに関連度DB(Data Base)131に記憶される。
【0029】
なお、請求項に記載の関連度導出手段は、アクセスログ収集部113、アクセスログ解析部114、アクセスログ前処理部115、活動時間演算部116、ファイル使用時間演算部117および関連度演算部118の機能を総称したものである。
【0030】
また、入出力部120は、ファイル関連度管理装置100を起動させるなどの操作を行うための操作入力部121と、各種データを表示する表示部122とを備える。
記憶部130は、処理部110によって算出された関連度を関連度DB131に記憶する。そして、通信制御部140や操作入力部121からファイル名が取得された場合に、関連度DB131が参照されて、取得されたファイル名に対して関連度を有するファイル群が抽出される。
通信制御部140は、端末21,22から、ファイル検索された結果であるファイル名(ファイル集合F)を受信したり、抽出された前記の関連度を有するファイル名を端末21,22に送信したりする。
【0031】
ここで、アクセスログ収集部113が取得する履歴について、図4を用いて説明する(適宜図3参照)。図4は、履歴の一例を示す図である。
【0032】
図4において、履歴は、アクセス時刻、アクセス種別、アクセスIDおよびファイル名を要素とする。なお、図4に示した履歴は、関連度を算出するために必要な要素のみを示したものである。
アクセス時刻は、ファイルにアクセスのあった時刻を表す。番号1について説明すると、2007年5月2日の16時51分9秒にアクセスがあったことを表している。
アクセス種別は、open(オープン)またはclose(クローズ)を表す。すなわち、openは、ファイルがオープンされた(使用できるように開かれた)ことを表し、closeは、ファイルがクローズされた(使用を止めるために閉じられた)ことを表す。
アクセスIDは、誰がアクセスしたのか、あるいは、どの端末からアクセスされたのかなどを識別する表示である。例えば、アクセスIDは、サーバ11,12(図1参照)へのログイン名または端末に付されたIPアドレスや名前などである。
ファイル名は、ファイルに付された名前である。サーバ11,12がディレクトリの階層構造を提供しているファイルシステムを有している場合には、ディレクトリパス名を含めたファイル名となっている。
なお、図4は、アクセスIDがA11の場合について抽出した場合の履歴を示しているが、複数のアクセスIDが混在していても、特定のアクセスIDについて抽出することが可能である。
【0033】
次に、履歴に対する補正処理と関連度算出の流れについて、図5を用いて説明する(適宜図1,4参照)。図5は、履歴に対する補正処理と関連度算出の流れを示す図である。
【0034】
以下、取得した履歴が、図4に示すようなデータであったものとして説明する。
まず、ファイル関連度管理装置100は、サーバ11,12からアクセスログ(履歴)を取得する(ステップS201)。
次に、特定のアクセスID(図4においてはA11)に対して、作業を行っている時間、すなわち、活動時間(活動時間区間)を演算する(ステップS202)。
【0035】
ここで、ステップ202における、活動時間の演算について、図6を用いて、より詳細に説明する。図6の(a)は、活動時間の算出の処理の概念を示す図、(b)は、活動時間の算出の処理の流れを示す図、(c)は、活動時間の算出の処理結果の一例を示す図である。
【0036】
活動時間は、所定時間幅の範囲内にアクセス時刻の履歴が存在すれば、その所定時間幅の区間を、作業とみなすことと決めている。例えば、所定時間幅を30分に設定すると、図6の(a)に、図4のopenに係るアクセス時刻をプロットして示したように、活動時間の区間(活動時間区間)は、16時30分から17時30分と、18時30分から19時となる。
【0037】
図6の(b)は、一つの所定時間幅について活動時間を算出する処理の流れを示している。まず、ステップS201において取得されたアクセスログの中から、処理対象となるアクセスIDのアクセスログ(履歴)を取得する(ステップS301)。そして、予め設定した所定時間幅にアクセスログ(履歴)が存在するか否かを判定する(ステップS302)。すなわち、アクセスした時刻が所定時間幅の範囲内に入っているか否かを判定する。そして、所定時間幅にアクセスログが存在する場合には(ステップS302でYes)、その所定時間幅の時間帯を活動時間とみなして、活動フラグを1に設定する(ステップS303)。一方、所定時間幅にアクセスログが存在しない場合には(ステップS302でNo)、その所定時間幅については処理を終了する。その後、次の所定時間幅について、ステップS302に戻って処理を実行する。
【0038】
図6の(c)は、処理結果の一例を示している。活動フラグが1となっている時間帯が、活動時間区間を表している。この処理結果は、記憶部130に記憶される(図3参照)。そして、ステップS202の処理結果は、ステップS206,S207に引き渡される。
なお、活動フラグは1でなくてもよく、識別可能な符号であれば他の符号であっても構わない。
【0039】
図5に戻って、ステップS203では、ステップS201において取得されたアクセスログの中から、ファイル名ごとにアクセスログ(履歴)を分類する。この処理は、ファイル名ごとにファイル使用時間を算出するために必要となる処理である。そして、ステップS203の処理結果は、ステップS205,S206,S207に引き渡される。
【0040】
次に、ステップS204では、ステップS201において取得されたアクセスログに対して統計処理を施して、すぐにロックを離す拡張子を抽出する。「すぐにロックを離す」とは、openとcloseに係るアクセスログ(履歴)が、ほぼ同時刻として記録されてしまうようなケースを指している。これは、ファイルをオープンするとメモリに読み込んでロックを開放してしまうためである。そうすると、実際にはファイルを使用していても、履歴上は、ほぼ0秒しかオープンされていないので、あたかも使用されなかったかのように認識されてしまう。これを防ぐために、ファイル名の種別を表す拡張子(例えば、doc、txtなど)ごとに、ファイルがオープンされている時間区間(openからcloseまでの時間区間)を集計して平均値を求め、その平均値が所定値以下の場合には、その拡張子に対して、補正を行うことにする。そして、補正の対象となった拡張子がステップS207に引き渡される。
【0041】
次に、前処理A(ステップS205)について説明する。この前処理Aへの入力は、ステップS203の出力であり、openに対応するcloseが欠けている場合の処理である。図4の履歴では、番号3が、このケースに該当する。closeが欠けていることは、openされたファイル名に対応するcloseがあるか否かを照合することによって、見つけ出すことが可能である。そして、そのようなopenに係る履歴を削除して、履歴全体の中で、openとcloseとの対応がとれるように補正する。
【0042】
前処理B(ステップS206)は、実際には使用していないのに、ファイルがオープンされたままになっている場合に対応して、ファイル使用時間を求める処理である。この前処理Bへの入力は、ステップS202,S203の出力である。なお、前処理Aとの違いは、openされたファイル名に対応するcloseが存在する点である。
図4の履歴では、番号4,13がこのケースに相当する。2007年5月2日16時54分15秒にオープンして、2007年5月3日8時37分56秒にクローズしている。しかも、番号12と番号13との間は14時間6分34秒であって、この間にはアクセスが無い。
このように長時間アクセスが無い場合には、ファイルは使用されていなかったと判断することとした。
【0043】
この前処理Bについて、図7を用いて、より詳細に説明する。図7の(a)は、前処理Bにおける処理の概念を示す図、(b)は、前処理Bにおける処理の流れを示す図、(c)は、前処理Bにおける処理結果の一例を示す図である。
【0044】
まず、前処理Bでは、ファイル使用時間を算出するために、(1)ファイルがオープンしている時間と活動時間(活動時間区間)とが重複している区間であること、かつ、(2)活動時間(活動時間区間)でない時間が所定時間以上となる場合には、その活動時間でない区間より前の活動時間区間までの履歴を用いること、
を条件として設定した。
前記したように、図4の履歴では、番号4,13のファイル名DDD.docが対象となる。
図7の(a)において、ドットを付した横棒400で示したように、活動時間(活動時間区間)と重複する区間が、ファイルを使用した状態、すなわち、ファイル使用時間であると決定される。それにともなって、openやcloseの履歴が追加される。
【0045】
図7の(b)は、前処理Bの処理の流れを示している。まず、処理対象となるアクセスIDのアクセスログ(履歴)を取得し(ステップS401)、活動時間でない時間区間が所定時間より小さいか否かを判定する(ステップS402)。そして、活動時間でない時間区間が所定時間より小さい場合には(ステップS402でYes)、活動時間区間にファイルを使用したとみなして、アクセスログ(履歴)のopenやcloseを補正する(ステップS403)。そして、ステップS402へ戻って、処理を繰り返す。一方、活動時間でない時間区間(先の活動時間区間の終了から次の活動時間区間の開始までの間)が所定時間以上である場合には(ステップS402でNo)、当該アクセスIDに対応するそれ以降(所定時間以上となった時刻以降)のアクセスログを削除し(ステップS404)、処理を終了する。
【0046】
図7の(c)は、処理結果の一例を示している。番号3−1,3−2,3−3は、補正されたアクセスログであって、活動時間と重複するように補正されている。また、番号12と番号13との間には、14時間以上ものアクセスの無い時間帯が存在しているため、番号13は削除される。ただし、本発明の実施形態では、所定時間を5時間と設定しているが、これに限られない。
【0047】
次に、図5に戻って、前処理C(ステップS207)について説明する。前処理Cへの入力は、ステップS202、ステップS203、ステップS204の出力である。
【0048】
この前処理Cについて、図8を用いて、より詳細に説明する。図8の(a)は、前処理Cにおける処理の概念を示す図、(b)は、前処理Cにおける処理の流れを示す図、(c)は、前処理Cにおける処理結果の一例を示す図である。
【0049】
まず、前処理Cでは、ファイル使用時間を算出するために、ステップS204から取得したファイルの拡張子(html, texなど)が付されたファイルを対象として、活動時間区間で最初のopenに係る履歴と、最後のcloseに係る履歴のみを残して、それ以外の履歴を削除する条件を設定した。
例えば、図4の履歴では、番号5,6,8,9,11,12のファイル名CCC.htmlが対象となる。
図8の(a)において、ドットを付した横棒500で示したように、活動時間区間において、最初のopenに係る履歴と最後のcloseに係る履歴との間の区間が、ファイルを使用した状態であると決定される。それにともなって、openとcloseの履歴が削除される。
【0050】
図8の(b)は、一つの活動時間区間についての前処理Cの処理の流れを示している。まず、処理対象となるアクセスIDのアクセスログ(履歴)を取得し(ステップS501)、活動時間区間の最後のアクセスか否かを判定する(ステップS502)。そして、最後のアクセスである場合には(ステップS502でYes)、活動時間区間の最初のopenと最後のcloseを残して、それ以外を削除し(ステップS503)、他の活動時間区間についても、同様にステップS502,S503を繰り返し実行する。一方、最後のアクセスでない場合には(ステップS502でNo)、ステップS502へ戻って処理を続ける。
【0051】
図8の(c)は、処理結果の一例を示している。すなわち、図4の履歴では、最初のopenと最後のcloseではない番号6,8が削除される。
【0052】
図5に戻って、前処理A、前処理Bおよび前処理Cによって履歴に補正がなされた後、ファイル名ごとに、ファイル使用時間が集計される(ステップS208)。
ここで、ファイル使用時間について、図9を用いて説明する。図9の(a)は、特定のファイル名についてのファイル使用時間表の一例を示す説明図、(b)は、別のファイル名についてのファイル使用時間表の一例を示す説明図、(c)は、両方のファイルが重複して使用されている共起時間表の一例を示す説明図である。
なお、図9は、同じアクセスIDに対して取得された履歴としている。ここで、図9(a)と(b)に示すファイル使用時間表は、ファイル使用開始時刻(ファイルの開始時刻)と、ファイル使用時間長とが関連づけられて構成される。また、図9(c)に示す共起時間表は、二つのファイル使用時間表を突合してファイル使用時間が重複するファイル共起開始時刻(共起時間の開始時刻)とファイル共起時間長とを算出した結果である。
【0053】
再び、図5に戻って、次に、関連度の演算(ステップS209)について説明する。
まず、関連を調べようとする二つのファイル名のファイル使用時間表から、ファイル使用開始時刻とファイル使用時間とを取得して突合し、図9の(c)に示すように、共起(重複)している時間帯のファイル共起開始時刻とファイル共起時間長を算出する。そして、ファイル共起時間の累積Tと、ファイル共起時間の回数Kと、ファイル使用開始パターンの類似度Pと、共起の間隔度Dとを求めて、関連度算出式R=Tαβγδによって、関連度Rを算出する(0≦α,β,γ,δ≦1)。なお、α,β,γ,δは、それぞれ、T,K,P,Dに対する重み付けを行う指数である。
なお、関連度の数式は、前記の式に限られるものではなく、後記する変数T,K,P,Dのいずれかひとつ、または、それらの組み合わせであっても構わない。
【0054】
ここで、ファイル共起時間の累積Tと、ファイル共起時間の回数Kと、ファイル使用開始パターンの類似度Pと、共起の間隔度Dについて、図10を用いて詳しく説明する。図10は、関連度算出式の変数について示す図である。
【0055】
図10において、横軸は時間を示す。そして、ファイルXとファイルYについてのファイル使用時間表のデータがプロットされているものとする。これらファイルXとファイルYとの共起時間表が、最上段にプロットされている。
ファイル共起時間(共起時間)の累積Tは、T=Σti(ただし、i=1〜n)である。なお、図10では、nは4である。なお、tiがファイル共起時間長である。
また、ファイル共起時間の回数(共起回数)Kは、K=nである。
ファイル使用開始パターンの類似度Pは、P=1/Σpi(ただし、i=1〜n)であって、piが0の場合には、P=1である。なお、piがファイル使用開始時刻と共起開始時刻との差である。
共起の間隔度Dは、D=Σdi(i+1)(ただし、i=1〜n-1)であって、n=1の場合にはD=1である。なお、di(i+1)が共起間隔である。
【0056】
変数T,K,PおよびDは、以下の考えを表現可能な式としている。すなわち、
(1)共起時間の累積が長いほど関連度が大きい。
(2)共起回数が多いほど関連度が大きい。
(3)ファイル使用開始パターンが類似しているほど関連度が大きい。
(4)共起の間隔が離れているほど関連度が大きい。
そして、(1)〜(3)は、使用実態に基づく使用者の直感に合致させている。また、(4)は、先の共起と次の共起との間に長い間隔があっても、再び共起するということは、より密接に関連していると思われる。
【0057】
そして、関連度Rは、図11に示すように、それぞれ2つのファイル間の関連度を示すデータベースとして、記憶部130の関連度DB131(図3参照)に記憶される。
なお、関連度DB131は、定期的に新しい履歴を加えて、図5に示す処理(ステップS201〜ステップS210)を行うことによって、更新してもよい。また、必要があるときに、随時更新しても構わない。
【0058】
次に、ファイル関連度管理装置100における関連度の算出処理および検索処理の流れについて、図12を用いて説明する。図12は、ファイル関連度管理装置100における関連度の算出処理および検索処理の流れを示す図である。
【0059】
まず、関連度の算出処理では、ファイル関連度管理装置100は、アクセスログ(履歴)をサーバ11,12から取得するために、アクセスログ要求を送信する(ステップS601)。サーバ11,12は、アクセスログ要求を受信すると、アクセスログを送信する(ステップS602)。ファイル関連度管理装置100は、アクセスログを取得し(ステップ603)、関連度の算出、記憶、更新を行う(ステップS604)。
このステップS601〜ステップS604は、定期的に行ってもよく、また、適宜必要が生じたときに行っても構わない。また、ファイル関連度管理装置100の機能が、サーバ11,12に備えられている場合には、ステップS601,S602の処理は不要であり、直接、アクセスログを取得(ステップS603)するところから開始される。
【0060】
次に、検索処理においては、端末21,22がキーワード検索の実行を指示して(ステップS605)、キーワードを含むファイル(ファイル集合F)を取得する(ステップS606)。そして、端末21,22は、キーワードを含むファイル集合Fをファイル関連度管理装置100に送信する(ステップS607)。一方、ファイル関連度管理装置100は、ファイル集合Fの情報を受け付けて、ファイル集合Fに含まれるファイル名を用いて関連度DB131(図3参照)を参照して、ファイル集合Fに含まれるファイル名に関連するファイル名の関連度を抽出する(ステップS608)。そして、ファイル関連度管理装置100は、関連度の高い(大きい)ファイル名を端末21,22に送信する(ステップS609)。そして、端末21,22は、送信されてきた関連度の高い(大きい)ファイル名を表示する(ステップS610)。
なお、ステップS605〜ステップS607は、サーバ11,12が行っても構わない。
【0061】
なお、請求項に記載の出力手段は、ファイル関連度管理装置100の処理部110(図2参照)がステップS608〜S609を実行するものである。
【0062】
なお、ステップS608においては、関連度に予め設定した閾値以上のファイル名についてのみ検索を実行することも、検索時間の短縮のために有効である。
そのために、閾値Rthを以下のようにして算出する。
まず、学習セット用のファイルの集合をHとする。各ファイルh(ただし、h∈H)に関して、学習データを収集する実験に参加した被験者から、共起時間に対して関連のあるものと判断したか否かの情報が収集される。
ここで、ファイルhと共起しているファイルの集合をQ(h)とする。次に、ファイル集合Q(h)の各要素qiに対して、被験者が関連のあるものと判断した場合を正解、関連がないものと判断した場合を不正解として関連付ける。
次に、Q(h)の要素の中で、正解と判断され、かつ、最もhとの関連度が小さい要素qkを求めて、hに対する閾値R(h,qk)を求める。そして、ファイル集合Hに含まれる全てのhに対して、閾値R(h,qk)を算出し、それらの平均値をRthとする。
すなわち、
th=Σh∈HR(h,qk)/|H|
によって、閾値Rthを算出する。ただし、|H|は、ファイル集合Hに含まれるファイルの個数である。
【0063】
(評価実験例)
次に、本発明の実施形態に関して、事前に行った評価実験について説明する。
【0064】
(実験環境)
アクセスログの採取には,現在広く用いられているWindows(登録商標) 互換ファイルサーバのSamba を用いた。評価実験では,ユーザの環境に特別なアプリケーションをインストールしなくても,ファイルの使用時間を抽出することが出来るためSambaを用いたが,Samba 以外のファイルサーバであっても,ファイルのオープン/クローズ情報が取得出来るものなら同様に提案手法を適用することが出来る。
評価実験では,ファイルサーバSamba2.2.3a をログレベル2で起動し,二人の被験者が、そのファイルサーバを端末から約4ヶ月間使用した。この期間に被験者は学会発表の準備などがあり,それに向けての論文のテキストファイル,画像ファイル,実験のデータファイルなどに対するアクセスログが採取された。システムファイル等のアクセスは無視するように,解析対象の拡張子はbib,doc,gif,htm,html,jpg,mpg,mpeg,pdf,ppt,tex,txt,xls とした.また、活動時間幅は30分 、前処理Bにおける活動時間でない時間に係る所定値は5時間 、ステップS204におけるオープンされている時間の平均値に係る所定値は10秒 とした。
【0065】
(評価指標)
評価結果の評価指標として、情報検索システムの分野では一般的に用いられている、再現率(Recall)と適合率(Precision)とを用いた。
再現率は検索対象としているファイル群の中で適合しているファイル(正解ファイル)に対してどれだけの適合したファイルを検索できているかという網羅性の指標である。また、適合率は検索結果として得られたファイル群の中にどれだけ適合したファイルを含んでいるかという正確性の指標である。
再現率=検索された適合したファイルの数/全対象文書中の正解ファイルの数
適合率=検索された適合したファイルの数/検索されたファイルの数
【0066】
(評価結果)
まず、それぞれの被験者のアクセスログからファイル使用時間表を作成した。次に、全ファイルの中からランダムに選択されたファイルに対して共起時間を算出した。そして、被験者は、共起時間に対して、作業に関連があると判断した場合を正解、作業に関連がないと判断した場合を不正解として、評価した。
評価したファイル数と全ファイル数を、表1に示す。
【0067】
【表1】

【0068】
次に、表1に示す評価したファイルの集合の中からランダムに半分のファイルを選択し、学習セットとした。関連度Rは、R=Tαβγδによって算出した。このとき、関連度Rの指数(α,β,γ,δ)は、学習セットに含まれる全てのファイルの再現率の平均値が最大となるときの値とした。そして、関連度の閾値Gthも算出した。その結果を表2に示す。
【0069】
【表2】

【0070】
表2に示した指数を用いて、評価セットの各ファイルに対して、再現率と適合率を求めた。その結果を表3に示す。
【0071】
【表3】

【0072】
表3に示す結果は、実用上問題ないと考える。そして、キーワードなどによるリンク関係を持たないファイル群から、作業に関連するファイルを検索することが可能となる。
【図面の簡単な説明】
【0073】
【図1】ファイル検索システムの構成を示す図である。
【図2】ファイル関連度管理装置のハードウェア構成を示す図である。
【図3】ファイル関連度管理装置の機能を示す図である。
【図4】履歴の一例を示す図である。
【図5】履歴に対する補正処理と関連度算出の流れを示す図である。
【図6】(a)は、活動時間の算出の処理の概念を示す図、(b)は、活動時間の算出の処理の流れを示す図、(c)は、活動時間の算出の処理結果の一例を示す図である。
【図7】(a)は、前処理Bにおける処理の概念を示す図、(b)は、前処理Bにおける処理の流れを示す図、(c)は、前処理Bにおける処理結果の一例を示す図である。
【図8】(a)は、前処理Cにおける処理の概念を示す図、(b)は、前処理Cにおける処理の流れを示す図、(c)は、前処理Cにおける処理結果の一例を示す図である。
【図9】(a)は、特定のファイル名についてのファイル使用時間表の一例を示す説明図、(b)は、別のファイル名についてのファイル使用時間表の一例を示す説明図、(c)は、両方のファイルが重複して使用されている共起時間表の一例を示す説明図である。
【図10】関連度算出式の変数について示す図である。
【図11】ファイル間の関連度を示す図である。
【図12】ファイル関連度管理装置における関連度の算出処理および検索処理の流れを示す図である。
【符号の説明】
【0074】
1 ファイル検索システム
11,12 サーバ
21,22 端末
30 ネットワーク
100 ファイル関連度管理装置
110 処理部
113 アクセスログ収集部
114 アクセスログ解析部
115 アクセスログ前処理部
116 活動時間演算部
117 ファイル使用時間演算部
118 関連度演算部
120 入出力部
130 記憶部
131 関連度DB
140 通信制御部

【特許請求の範囲】
【請求項1】
サーバに蓄積されたファイル群から作業に関連するファイルを検索するファイル検索システムであって、
ファイルにアクセスした履歴からファイル間の関連度を導出する関連度導出手段と、
キーワード検索された検索ファイルに対してこの検索ファイルと所定以上の関連度を有するファイル群を出力する出力手段と、を備え、
前記関連度導出手段は、前記履歴を参照して、作業を行っていた活動時間区間を算出し、前記活動時間区間の範囲内で定められるファイルを使用していたファイル使用時間を算出し、前記ファイル使用時間の重複に基づいて前記関連度を算出することを特徴とするファイル検索システム。
【請求項2】
前記活動時間区間は、
前記履歴に記録されているアクセス時刻とファイル名を読み出して、所定時間幅内に前記アクセス時刻の記録がある場合に、当該所定時間幅内で作業を行っていたと判定して算出されること、
を特徴とする請求項1に記載のファイル検索システム。
【請求項3】
前記ファイル使用時間は、
前記履歴に記録されているファイルをオープンした時刻からファイルをクローズした時刻までと、前記活動時間区間とが重複する時間として算出されること、
を特徴とする請求項1または請求項2に記載のファイル検索システム。
【請求項4】
前記関連度導出手段は、
前記サーバに蓄積されたファイル群の全てのファイルから選択された一のファイルと他のファイルに対して、
前記ファイル使用時間が重複する場合は、重複している時間を共起時間とし、
この共起時間が複数存在する場合は、その個数を共起回数とし、
先の前記共起時間の終了から次の前記共起時間の開始までを共起間隔とし、
前記一のファイルのファイル使用時間の開始時刻または前記他のファイルのファイル使用時間の開始時刻と前記共起時間の開始時刻との差を使用開始パターンとしたとき、
前記共起時間と前記共起回数と前記共起間隔と前記使用開始パターンの少なくとも一つの情報に基づく演算を行って、前記選択された一のファイルと他のファイルとの関連度を演算すること、
を特徴とする請求項1乃至請求項3のいずれか一項に記載のファイル検索システム。
【請求項5】
前記演算は、前記共起時間のみが情報となる場合には、前記共起時間の累積が底となり、所定の値が指数となる関連度算出式を用いることを特徴とする請求項4に記載のファイル検索システム。
【請求項6】
前記演算は、前記共起回数のみが情報となる場合には、前記共起回数が底となり、所定の値が指数となる関連度算出式を用いることを特徴とする請求項4に記載のファイル検索システム。
【請求項7】
前記演算は、前記共起間隔のみが情報となる場合には、前記共起間隔を累積したものの逆数が底となり、所定の値が指数となる関連度算出式を用いることを特徴とする請求項4に記載のファイル検索システム。
【請求項8】
前記演算は、前記使用開始パターンのみが情報となる場合には、前記使用開始パターンの累積が底となり、所定の値が指数となる関連度算出式を用いることを特徴とする請求項4に記載のファイル検索システム。
【請求項9】
前記演算は、請求項5に記載の式と、請求項6に記載の式と、請求項7に記載の式と、請求項8に記載の式と、の組み合わせにおいて、2またはそれ以上の式を乗算する関連度算出式を用いることを特徴とする請求項4に記載のファイル検索システム。
【請求項10】
前記関連度の算出は、
前記オープンに対応するクローズの履歴が欠けている場合には、前記履歴から削除する第1の処理、
前記オープンされたままになっているファイルに対して、先の前記活動時間区間の終了から次の前記活動時間区間の開始までの間が所定時間以上離れている場合は、前記先の活動時間区間までの前記活動時間区間と重複する時間を、前記ファイル使用時間と判定する第2の処理、
ファイルをオープンした時刻と当該ファイルをクローズした時刻との間隔が所定値以下になるファイルの種類に対しては、前記活動時間区間において、最初にオープンした時刻から最後にクローズした時刻までを前記ファイル使用時間と判定する第3の処理、
の少なくとも一つを行うこと、
を特徴とする請求項1に記載のファイル検索システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2009−3553(P2009−3553A)
【公開日】平成21年1月8日(2009.1.8)
【国際特許分類】
【出願番号】特願2007−161612(P2007−161612)
【出願日】平成19年6月19日(2007.6.19)
【出願人】(304021417)国立大学法人東京工業大学 (1,821)
【Fターム(参考)】