(57)【要約】【課題】  ファイルシステムに適した検索ランキング方法を提供する。【解決手段】  本発明の方法は、検索式（クエリ）を受け取ることと、検索式に対する個々のファイル項目の最終適合度スコアを少なくとも部分的に現在のファイルシステム・エネルギーツリー上の個々のノードのエネルギー・スコアに従い計算して、最終適合度スコアに基づき検索結果のリストを出力することと、ユーザがファイルシステムに行う操作に応答してファイルシステム・エネルギーツリーを更新することとを含む。ファイルシステム・エネルギーツリーはファイルシステムのツリー構造に対応するツリー構造をもち、その個々のノードはそれぞれファイルシステムの個々のファイル項目に対応する。ユーザが関心のあるファイルおよびファイル・フォルダは通常、ファイルシステム検索の検索結果リストの相対的に高い位置に配列される。さらに、ファイルへのユーザのクリックが増えるにつれて、検索結果リストはユーザの関心もしくは嗜好の変化に動的に適応できる。【選択図】図１
2007272888.tif 000002
【特許請求の範囲】
【請求項１】
ファイルシステムに適した検索ランキング方法であって、
検索式を受け取ることと、
前記検索式に対する個々のファイル項目の最終適合度スコアを少なくとも部分的に現在のファイルシステム・エネルギーツリー上の個々のノードのエネルギー・スコアに従い計算して、前記最終適合度スコアに基づき検索結果のリストを出力することと、
ユーザがファイルシステムに行う操作に応答して、前記ファイルシステム・エネルギーツリーを更新することとを含み、
前記ファイルシステム・エネルギーツリーが前記ファイルシステムのツリー構造に対応するツリー構造を有し、前記個々のノードがそれぞれ前記ファイルシステムの個々のファイル項目に対応する、前記方法。
【請求項２】
ユーザがファイル項目に行うクリックに応答して、前記ファイルシステム・エネルギーツリー上の前記ファイル項目に対応するノードのエネルギー・スコアを増加し、
前記ノードの増加したエネルギー・スコアを少なくとも部分的に、前記ファイルシステム・エネルギーツリーの経路に沿って他の関連ノードに伝達する、請求項１に記載の方法。
【請求項３】
前記ノードの増加したエネルギー・スコアを少なくとも部分的に、所定の伝達深度内のノードに伝達し、
Ｅ’（ｎ）＝Ｅ（ｎ）＋ｐｄｉｓｔ（ｎ，ｄ）
ここで、ｄは前記クリックされたファイル項目に対応するノードを表し、ｎは前記所定の伝達深度内のあらゆるノードを表し、Ｅ（ｎ）はノードｎの原始エネルギー・スコアを表し、Ｅ’（ｎ）はノードｎの更新されたエネルギー・スコアを表し、ｐは０から１の範囲の値のエネルギー伝達率を表し、ｄｉｓｔ（ｎ，ｄ）は前記ファイルシステム・エネルギーツリーの構造上のツリー経路に沿ったノードｎからノードｄまでの距離を表し、ｄｉｓｔ（ｎ，ｄ）が所定の伝達深度以下である、前記式を満たす、請求項２に記載の方法。
【請求項４】
ユーザがファイル項目を作成するために行う操作に応答して、対応するノードが前記ファイルシステム・エネルギーツリーに作成され、前記作成されたノードがその親ノードのエネルギー・スコアと等しいエネルギー・スコアをもつように割り当てられる、請求項１に記載の方法。
【請求項５】
ユーザがファイル項目を削除するために行う操作に応答して、対応するノードが前記ファイルシステム・エネルギーツリーから削除される、請求項１に記載の方法。
【請求項６】
ユーザがファイル項目を第１位置から第２位置に移動するために行う操作に応答して、対応するノードを前記ファイルシステム・エネルギーツリーの第１位置から削除し、対応するノードを前記ファイルシステム・エネルギーツリーの第２位置に作成し、作成されたノードをその現在の親ノードのエネルギー・スコアと等しいエネルギー・スコアをもつように割り当てる、請求項１に記載の方法。
【請求項７】
前記ファイルシステム・エネルギーツリーを、個々のノードが等しいエネルギー・スコアをもつように初期設定する、請求項１に記載の方法。
【請求項８】
前記ファイル項目がファイルとファイル・フォルダを含む、請求項１から７のいずれかに記載の方法。
【請求項９】
ファイル検索モジュールと、ファイル・インデックスと、検索結果ランキング・モジュールとを含み、前記ファイル検索モジュールで受け取った検索式に従ってファイル項目を探し、検索結果のリストを前記検索結果ランキング・モジュールより出力するファイルシステム検索エンジンであって、
ファイルシステムのツリー構造に対応するツリー構造をもつファイルシステム・エネルギーツリーおよびその個々のノードのエネルギー・スコアを記録するファイルシステム・エネルギーツリー・インデックスで、前記個々のノードがそれぞれ前記ファイルシステム内の個々のファイル項目に対応する、前記ファイルシステム・エネルギーツリー・インデックスと、
ユーザが前記ファイルシステムに行う操作に応答して、前記ファイルシステム・エネルギーツリー・インデックスに記録される前記ファイルシステム・エネルギーツリーを更新するエネルギーツリー更新モジュールとをさらに含み、
前記検索結果ランキング・モジュールを使って、少なくとも部分的に現在の前記ファイルシステム・エネルギーツリー・インデックスに記録される個々のノードの各エネルギー・スコアに従い前記検索式に対する個々のファイル項目の最終適合度スコアを計算して、前記最終適合度スコアに従い前記検索結果のリストの前記ファイル項目をランク付けする、前記ファイルシステム検索エンジン。
【請求項１０】
ユーザがファイル項目に行うクリックを取得して、対応する情報を前記エネルギーツリー更新モジュールに提供する履歴記録モジュールをさらに含む、請求項９に記載のファイルシステム検索エンジン。
【請求項１１】
ユーザがファイルシステムのファイル項目を作成、削除、および移動するために行う操作をモニタリングして、対応する情報を前記エネルギーツリー更新モジュールに提供するファイルシステム・モニタリング・モジュールをさらに含む、請求項９に記載のファイルシステム検索エンジン。
【請求項１２】
ファイルシステムに適した検索ランキング用プログラムであって、  コンピュータに、  
検索式を受け取るステップと、
ファイルシステムのツリー構造に対応するツリー構造を有し、個々のノードがそれぞれ前記ファイルシステムの個々のファイル項目に対応するファイルシステム・エネルギーツリーにより、前記検索式に対する個々の前記ファイル項目の最終適合度スコアを少なくとも部分的に現在の前記ファイルシステム・エネルギーツリー上の個々の前記ノードのエネルギー・スコアに従い計算して、前記最終適合度スコアに基づき検索結果のリストを出力するステップと、
ユーザがファイルシステムに行う操作に対応して、前記ファイルシステム・エネルギーツリーを更新するステップと、
を実行させるための前記プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に特定の情報項目の検索ランキングに関係し、具体的にはファイルシステムの検索ランキング方法、関連の検索エンジンおよびコンピュータ・プログラムに関係する。
【背景技術】
【０００２】
コンピュータ技術が絶え間なく発展するにつれて、人々はますます膨大な情報の保管をコンピュータ・システム（コンピュータ・ネットワークを含む）に頼るようになっている。現在広く使われている検索エンジンは、ユーザが役立つ情報を便利にかつ素早く取得するために大量の情報から検索しやすくすることを目的としている。情報検索の分野では、検索エンジンが大成功を収めており、数多くの有用な技術が開発され採用されている。その中でも、検索エンジンの様々な技術改良および最適化は検索ランキングに直接反映されている。
【０００３】
重要な検索ランキング技術は、グーグルの創設者であるセルゲイ・ブリン（Ｓｅｒｇｅｒ  Ｂｒｉｎ）とローレンス・ペイジ（Ｌａｗｒｅｎｃｅ  Ｐａｇｅ）が１９９８年に提案したＰａｇｅＲａｎｋアルゴリズム、および同年にＪ．クラインベルク（Ｊ．Ｋｌｅｉｎｂｅｒｇ）が提案したＨＩＴＳアルゴリズムなど、ウエブページ間のハイパーリンクを使ってウエブページをランク付けすることである。ＰａｇｅＲａｎｋの基本原理は、ウエブページ間のリンク関係を利用して、ウエブページの重要性、すなわちウエブページのオーソリティ・スコアを計算することである。ＰａｇｅＲａｎｋアルゴリズムは次の２つの基本前提に従う。何度も引用されたウエブページは非常に重要性が高いであろうということと、何度も引用されていないが、重要なウエブページに引用されたウエブページも非常に重要性が高いであろうということである。グーグルの検索エンジンはウエブページのＰａｇｅＲａｎｋスコアをＰａｇｅＲａｎｋアルゴリズムで計算し、それにしたがってウエブページが１セットの検索結果に登場する位置を判定する。ウエブページのＰａｇｅＲａｎｋスコアが高いほど、結果におけるこのウエブページの位置が高くなる。ＰａｇｅＲａｎｋアルゴリズムを適用すれば、従来の検索ランキング方法を改良し、検索結果の精度を高め、ユーザが実際に求めるウエブページを探し出すのにかかる平均時間は大幅に短縮される。
【０００４】
しかし、リンク解析に基づいたこのような検索ランキング方法は、ファイルシステムには適していない。その主な理由は、ファイルシステムでは、ウエブ・リンクと同様の関連付けがファイル間に存在しないからである。加えて、ファイルシステムのデータセットはウエブのデータセットほど大きくないが、ファイルシステムのデータの種類はウエブのデータの種類よりもはるかに多い。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在、ファイルシステムにおける検索ランキングは主にキーワードによる検索方法で行われている。従来のキーワードによる検索方法の基本原理は、検索エンジンがまずドキュメントのコンテンツを解析し、そのドキュメントのキーワードを抽出し、そのドキュメントで特定のキーワードが出現する頻度と位置、およびドキュメントのセット全体におけるこのキーワードを含むドキュメントの数を合計し、これら情報のインデックスを作成することである。ユーザが検索式（クエリ）を入力した後、検索エンジンはまず検索式要求を解析し、インデックスに各キーワードを含む一致ドキュメントを探し出し、さらに各ドキュメントの検索式に対する最終適合度スコアを計算し、最後に最終適合度スコアの大きさに応じてドキュメントをランク付けし、ランク付けした結果をユーザに返す。このような方法は、ほとんどの場合、ユーザの検索式要求を非常に単純なキーワードで正確に記述できない点が問題で、その検索結果の精度は自然言語の認識技術の限界と最終適合度スコアを計算する方法のために比較的低い。
【０００６】
従来のキーワードによる検索方法に加えて、ファイルシステムの検索ランキングの検索結果に更なる改良を施すために検索ログ解析方法も利用できる。検索語の入力およびクリックの履歴など、検索結果に対するユーザのフィードバックおよび操作に基づいて、検索ログ解析方法はユーザの検索の関心に更なる解析を行い、ユーザの検索特性を追跡して、検索効果を改善できる。
【０００７】
しかし、従来のキーワード検索方法および検索ログ解析方法はどちらも検索ランキングに対するファイルシステムのツリー構造の影響を無視しており、両方法では、ファイル同士の潜在的な関係がランキングに反映されない。
【０００８】
先行技術はユーザに対してファイルシステムの構造的な特徴に適し、ユーザのインタラクションに動的に適応できる検索ランキング手法を提供していないことが分かる。
【課題を解決するための手段】
【０００９】
先行技術の欠点を克服するために、本発明は、ファイルシステムの構造に基づいた、検索ランキング方法、関連の検索エンジン、およびユーザと検索エンジン・システムとのインタラクションを利用したファイルシステムを検索する方法に適応するコンピュータ・プログラムを提供する。
【００１０】
本発明の一側面によると、検索式を受け取ることと、少なくとも部分的に現在のファイルシステム・エネルギーツリー上の個々のノードのエネルギー・スコアに従い、検索式に対する個々のファイル項目の最終適合度スコアを計算して、最終適合度スコアに基づき検索結果のリストを出力することと、ユーザがファイルシステムに行う操作に応答して、ファイルシステム・エネルギーツリーを更新することを含む、ファイルシステムに適した検索ランキング方法であって、ファイルシステム・エネルギーツリーがファイルシステムのツリー構造に対応するツリー構造を有し、その個々のノードがそれぞれファイルシステムの個々のファイル項目に対応する、前記方法を提供する。
【００１１】
本発明の別の側面によると、ファイル検索モジュールと、ファイル・インデックスと、検索結果ランキング・モジュールとを含むファイルシステム検索エンジンを提供し、ファイルシステム検索エンジンは受け取った検索式に従いファイル項目を検索して、検索結果のリストを出力するようになされ、ファイルシステム検索エンジンはさらに、ファイルシステムのツリー構造に対応するツリー構造をもつファイルシステム・エネルギーツリーおよびその個々のノードのエネルギー・スコアを記録するファイルシステム・エネルギーツリー・インデックスで、個々のノードがそれぞれファイルシステムの個々のファイル項目に対応するファイルシステム・エネルギーツリー・インデックスと、ユーザがファイルシステムに行う操作に応答して、ファイルシステム・エネルギーツリー・インデックスに記録されたファイルシステム・エネルギーツリーを更新するエネルギーツリー更新モジュールとを含み、検索結果ランキング・モジュールを使って、少なくとも部分的に現在のファイルシステム・エネルギーツリー・インデックスに記録された個々のノードの各エネルギー・スコアに従い、検索式に対する個々のファイル項目の最終適合度スコアを計算して、最終適合度スコアに従い検索結果のリストにファイル項目をランク付けする。
【００１２】
本発明のさらに別の側面によると、本発明による方法を実施するために使われるコンピュータ・プログラム・コードを内蔵したコンピュータ・プログラムを提供する。
【００１３】
本発明を使って、ユーザがファイルシステムの検索を行うとき、関心のあるファイルおよびファイル・フォルダが通常検索結果のリストの相対的に高い位置に配列される。しかも、ユーザによるファイルのクリックが増えると、エネルギーツリーのエネルギー分布が更新され続けるため、ユーザのインタラクションに応答してユーザの関心もくしは嗜好を常に追跡でき、ユーザの関心または嗜好の変化に動的に適応できるように検索結果のリストを然るべく調整できる。
【００１４】
本発明の他の特徴および利点は、添付の図面に照らしながら本発明の実施例の詳細な説明を読めばさらに明らかになるであろう。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例を添付の図面を参照しながら説明していく。図１は、本発明の一実施例による検索ランキングのプロセスフローを示す。図１に示されるように、ステップＳ１００でプロセスフローが始まる。ステップＳ１０２で、ユーザが入力した検索式ｑが受け取られる。
【００１６】
ステップＳ１０４で、検索式ｑに従いファイル項目の検索が行われる。例えば、採用するファイルシステム検索エンジンがキーワードによる検索エンジンの場合、ファイルシステム検索エンジンは検索式ｑに基づき、ファイルシステム・インデックスの情報を使って検索式ｑに対する各ファイル項目ｄのコンテンツ・スコアｓ（ｑ，ｄ）を計算できる。一般的に、コンテンツ・スコアｓ（ｑ，ｄ）は、従来のファイルシステム検索エンジンの検索結果のランキングの基礎の働きをする。
【００１７】
当業者には、以下の説明から、ここでは例としてキーワードによる検索が挙げられているが、本発明の技術的な解決策は特定の先行技術に制限されるものではなく、この検索ステップを実施するためにその例が採用されているに過ぎないことは理解されるであろう。さらに、検索式ｑに従うファイル項目の検索プロセスは、あらゆる周知のアルゴリズム、プロセスおよびやり方で実施でき、プロセスをどのように実施するのかは本発明では任意に選択される。
【００１８】
ステップＳ１０６で、コンテンツ・スコアに基づいて、各ファイルの最終適合度スコアを現在のファイルのエネルギー・スコアに従って計算し、検索結果のリストを出力する。
【００１９】
本発明によると、特定の検索ランキングプロセスを開始する前に（ファイルシステム検索エンジンの初期設定中など）、ファイルシステムの構造に基づいて（ファイルシステムはディレクトリをノンリーフ・ノードとし、ファイルをリーフ・ノードとするツリー構造に対応するであろう）、ファイルシステム検索エンジンはまずファイルシステムのツリーと同じ構造をもつファイルシステム・エネルギーツリーを作成し、その各ノードのスコアが対応するファイルまたはファイル・フォルダのエネルギー・スコアを表し、エネルギー・スコアはそのファイルまたはファイル・フォルダに対するユーザの関心もしくは嗜好を示すパラメータである。この初期設定プロセス中、すべてのノードのエネルギー・スコアは互いに同じであってもよい。
【００２０】
ステップＳ１０４で述べたように、ファイルシステム検索エンジンは、各ファイルｄに、受け取った検索式ｑに従うランキング用のコンテンツ・スコアｓ（ｑ，ｄ）を提供する。現在のファイルシステム・エネルギーツリーおよびランキング用のコンテンツ・スコアで提供される情報に従い、各ファイルの最終適合度スコアｓ’（ｑ，ｄ）を計算して、最終検索ランキングで使用する。例えば、ファイルｄと所与の検索式ｑの場合、最終適合度スコアｓ’（ｑ，ｄ）、コンテンツ・スコアｓ（ｑ，ｄ）、およびエネルギー・スコアＥ（ｄ）の関係を以下の式で定義できる。
【００２１】
（式１）
ｓ’（ｑ，ｄ）＝βｓ（ｑ，ｄ）＋（１−β）Ｅ（ｄ）
【００２２】
ここで、βは０と１の間のパラメータであり、最終適合度スコアと最終適合度スコアにおけるエネルギー・スコアの割合との釣り合いをとるために使う。
【００２３】
そのため、このステップで最終適合度スコアに基づいて出力した検索結果のリストは少なくとも部分的には、ファイルシステムを操作しているときのユーザの関心もしくは嗜好を反映する。
【００２４】
ステップＳ１０８で、ユーザがファイルシステムに行う操作（問い合わせ、ファイルまたはファイル・フォルダを開く、ファイルまたはファイル・フォルダを挿入する、あるいはファイルまたはファイル・フォルダを削除する等）に応答して、ファイルシステム・エネルギーツリーが更新されるため、ファイルシステム・エネルギーツリーはファイルシステムの現在の構造とある一定の種類のファイルまたはファイル・フォルダに対するユーザの関心もしくは嗜好を動的に反映できる。
【００２５】
ステップＳ１１０で、検索が終了したかどうかが判定される。判定結果が「はい」の場合、ステップＳ１１２でプロセスが終了する。判定結果が「いいえ」の場合、プロセスはステップＳ１０２に戻って、新しい検索式ｑを受け取って、それ以降のステップに進む。
【００２６】
エネルギー・スコアとは、ファイルシステムを操作しているときのユーザの関心もしくは嗜好を動的に反映するパラメータである。ランキング手法にファイルのエネルギー・スコアを導入することによって、検索結果は少なくとも部分的にはユーザの関心もしくは嗜好に基づいてランク付けされることになり、そのためユーザは所望するファイルまたはファイル・フォルダをより便利にかつ効率的に探し出せる。
【００２７】
以下、どのようにファイルシステム・エネルギーツリーを動的に更新して、ユーザの関心もしくは嗜好を然るべくかつ効果的に反映させるかを例示するために、詳細に説明していく。まず、以下での説明を容易にするために、いくつかの基本用語を定義する。
【００２８】
リーフ・ノードｄ：前述したように、ファイルシステムにおいてリーフ・ノードとは、ｈｔｍｌ、ｄｏｃ、ｐｄｆ等などのあらゆる形式のファイルをいう。
【００２９】
ノンリーフ・ノードｆ：前述したように、ファイルシステムにおいてノンリーフ・ノードとは、ファイル・フォルダをいう（ここでおよびこれ以降、便宜上、各ファイル・フォルダは１つのファイル（複数のファイル）を含むとみなす。実際の実施では、空のファイル・フォルダはリーフ・ノードと同等に扱うことができる）。
【００３０】
ノードｎ：これはリーフ・ノードとノンリーフ・ノードの両方を含む。
【００３１】
伝達深度ｄｅｐｔｈ：これはユーザのインタラクションに応答してプロセス中のエネルギー伝達の範囲を表し、例えば、その範囲でエネルギーが伝達される経路の最大数として表すことができる。
【００３２】
図２は、ファイルシステム検索エネルギーの初期設定中に作成されるファイルシステム・エネルギーツリーの一例を概略的に示す。
【００３３】
図２に示すように、エネルギーツリーのルート・ノードＡはノンリーフ・ノードであり、ファイルシステムのルート・ディレクトリＡに対応するであろう。ノードＡの子ノードはノードＢ、Ｃ、およびＤを含み、そのうちリーフ・ノードＣがルート・ディレクトリＡの下のファイルＣに対応し、ノンリーフ・ノードＢおよびＤがそれぞれルート・ディレクトリＡの下のファイル・フォルダＢおよびＤに対応する。同様に、ノードＢと接続するものは、子ノードＥ、Ｆ、Ｇを含み、そのうちリーフ・ノードＥおよびＧはそれぞれファイル・フォルダＢのファイルＥおよびＧに対応し、ノンリーフ・ノードＦはファイル・フォルダＢのファイル・フォルダＦに対応する。ノードＦと接続するものはリーフ・ノードＪおよびＫを含み、それぞれファイル・フォルダＦのファイルＪおよびＫに対応する。ノードＤと接続するものはリーフ・ノードＨおよびＩを含み、それぞれファイル・フォルダＤのファイルＨおよびＩに対応する。
【００３４】
図２に示すエネルギーツリーの初期設定中、すべてのノードのエネルギー・スコアは同じスコアに設定してもよい。
【００３５】
図３、図４、および図５は、ユーザがファイルをクリックした後、図２で示すファイルシステム・エネルギーツリーのエネルギー・スコアの更新を概略的に示す。
【００３６】
ひとつのファイル、例えばファイルＫをユーザがクリックすると、ユーザは他のファイルよりもファイルＫに関心があるとみなすことができよう。このため、図３に示すように、このクリックに応答して、対応するノードＫのエネルギー・スコアが加算される。この時点で、ノードＫは起点ノードになる。
【００３７】
検索およびランキングの状況では、ユーザがファイルＫに関心がある場合、ユーザはこのファイルにだけ関心があることを意味するのではなく、ファイルＫに密接な関係があるいくつかのファイルおよびファイル・フォルダにも関心がありうることを示す。ユーザは同じディレクトリの下もしくは同じファイル・フォルダ内に関連ファイルまたはカテゴリーの似たファイルを入れるのが常であるため、ファイルＫと密接な関係がある当該ファイルは、ファイル・フォルダＦ（ツリー構造で親ノード）およびファイルＫと同じファイル・フォルダＦ内のファイルＪ（ツリー構造で兄弟ノード）を含みうる。このように、加えられたエネルギーのすべてがノードＫに静的にとどまっているわけではない。
【００３８】
本発明の一実施例によると、エネルギーは、ファイルシステム・エネルギーツリーの構造に従いノードＫと接続するリンクを介して伝達する。図４に示すように、ノードＫ自体のエネルギーの一部がノードＦに伝達する。このため、図５に示すように、ノードＦはそれ自身のエネルギーをノードＦと接続するリンクを介して、その子ノードＪおよびその親ノードＢに一部伝達する。残りは類推によって推定できるであろう。エネルギーはファイルシステム・エネルギーツリー内で伝達する。
【００３９】
このエネルギー伝達アルゴリズムの効率を改善するために、エネルギーがノードに追加されたときのエネルギー伝達深度ｄｅｐｔｈ、すなわちエネルギーが伝達する経路の最大数を本発明の実施で指定できる。図５に示す例では、伝達深度ｄｅｐｔｈが２に等しいと指定される。エネルギーはノードＫすなわち起点ノードの祖父ノードとして機能するノードＢに伝達し、ノードＢとノードＫの間の経路または距離は２である。伝達深度ｄｅｐｔｈが２に等しいと指定されるため、ノードＢはその親ノードＡまたはその子ノードＥ、Ｇにエネルギーを伝達しない。当然、当業者には、伝達深度は特定のファイルシステムおよび検索ランキングの必要条件に基づいて選択でき、そのため伝達深度は本発明の制限要因とならないこと、またエネルギー伝達はエネルギー伝達深度を他の制限条件と組み合わせることによってさらに細かく定義できることは理解されるであろう。例えば、伝達深度ｄｅｐｔｈが３に等しく、かつエネルギーは最も遠くて起点ノードの祖父ノードにしか伝達されないと指定できる。このような複合条件では、ノードＢはそのエネルギーをその子ノードＥおよびＧに伝達できるが、そのエネルギーをその親ノードＡには伝達しない。そのため、エネルギー伝達の制限条件は非常に柔軟に設定できる。
【００４０】
本発明による検索ランキング方法では、各ノードのエネルギー・スコアを少なくとも部分的にはノードに対応するファイルの最終適合度スコアとして採用することから、より優れたランキング効果を生むことができる。例えば、図５では、ノードＫはノードＢよりエネルギーが大きいため、この２つのノードが検索式ｑに対してそれぞれ同じスコアの場合、ノードＫの最終適合度スコアがノードＢのそれよりも高くなる。さらに、ファイルＫは、リストの位置がはるかに高いなど、検索結果のリストのランキング位置が高くなる。このように、ユーザが関心があるファイルおよびファイル・フォルダは通常検索結果のリストで相対的に高い位置に配列されるため、ユーザが検索しやすくなる。さらに、ユーザからのファイルのクリックが増えると、クリックされた起点ノードとその隣接ノードにエネルギーが追加されるので、エネルギーツリーのエネルギー分布は継続的に更新される。そのため、ファイルシステム・エネルギーツリーに基づいた検索ランキングのプロセスはユーザの関心もしくは嗜好を常に追跡して、検索結果のリストを然るべく調整できるため、ユーザの関心もしくは嗜好の変化に動的に適応できる。
【００４１】
図６は、本発明の一実施例による、ユーザのクリックに応答してファイルシステム・エネルギーツリーを更新するフローを示す。図６に示すように、ステップＳ４００でプロセスのフローが始まる。ステップＳ４０２で、ファイルｄをユーザがクリックする。
【００４２】
ステップＳ４０４で、ファイルｄに対応するノードｄが事前に初期設定されているセットＣに入れられ、セットＣは現在のエネルギー・スコアが更新されることになるノードを入れるために使う。ステップＳ４０６で、現在の深度が０に初期設定される。
【００４３】
ステップＳ４０８で、セットＣ内の各ノードｎ（ｎ∈Ｃ）の新しいエネルギー・スコアが計算され、各ノードｎの新しいエネルギー・スコアＥ’（ｎ）は以下の式を満たす。
【００４４】
（式２）
Ｅ’（ｎ）＝Ｅ（ｎ）＋ｐｄｉｓｔ（ｎ，ｄ）
【００４５】
ここで、Ｅ（ｎ）はノードｎの原始エネルギー・スコアであり、ｐは０から１までの範囲の値のエネルギー伝達率であり、ｄｉｓｔ（ｎ，ｄ）はファイルシステム・エネルギーツリーの構造でツリーの経路に沿ったノードｎからノードｄまでの距離を表す。例えば、ユーザがクリックしたファイルのエネルギー・スコアは１増加する。ノードからその親ノードまでの距離は１であるから、その親ノードのエネルギーはｐ１の分だけ増える。またノードからその祖父ノードおよびその兄弟ノードまでの距離は２であるから、その祖父ノードとその兄弟ノードのエネルギー・スコアはそれぞれｐ２の分だけ増える。
【００４６】
ステップＳ４１０で、現在の深度は１増える。ステップＳ４１２で、現在の深度が伝達深度ｄｅｐｔｈ以下であるかどうかを判定する。ステップＳ４１２の判定結果が「はい」の場合、プロセスはステップＳ４１４に進む。
【００４７】
ステップＳ４１４で、現在のセットＣ内のすべての要素ノードの隣接ノードが取得され、セットＣ内の現在のノードが消去された後、新しく取得したすべてのノードがセットＣに挿入される。あるノードの隣接ノードとは、その親ノードおよびその子ノードを含め（もしあれば）、そのノードと直接接続するノードのことをいう。
【００４８】
ステップＳ４１４の後、プロセスはステップＳ４０８に戻ってプロセスを続ける。ステップＳ４１２の判定結果が「いいえ」の場合、プロセスはステップＳ４１６で終了する。
【００４９】
当業者であればエネルギー伝達率ｐおよび伝達深度に異なる値を選択することができ、あるいは特定のファイルシステムおよび検索条件の特徴に適応するように他のエネルギー伝達式を設計することもできることに留意するべきである。例えば、伝達深度ｄｅｐｔｈは指定しなくてもよく、またエネルギー伝達の距離をエネルギー伝達値ｐｄｉｓｔ（ｎ，ｄ）の大きさだけで制限することができる。すなわち、エネルギー伝達閾値を予め定義できる。各関連ノードに関して、そのエネルギー伝達値ｐｄｉｓｔ（ｎ，ｄ）が前記閾値より大きい場合、そのエネルギーをその隣接ノードに伝達し続ける。そのエネルギー伝達値ｐｄｉｓｔ（ｎ，ｄ）が前記閾値以下の場合、その隣接ノードへのそのエネルギーの伝達が停止する。
【００５０】
図７は、ユーザが新しいファイルを作成したときに、図５に示すファイルシステム・エネルギーツリーのエネルギー・スコアの更新を概略的に示す。ユーザはファイル・フォルダＦにノードＦの子ノードＭに対応する新しいファイルＭを作成する。対応するエネルギー・スコアはノードＭに直接割り当て得る。例えば、ノードＭはエネルギー・スコアがその親ノードＦと同じになるように割り当て得る。
【００５１】
ユーザがファイルまたはファイル・フォルダを削除した場合、対応するノードは他のノードのエネルギー・スコアを調整しなくてもファイルシステム・エネルギーツリーからただ削除され得る。
【００５２】
同様に、ユーザがファイルまたはファイル・フォルダを移動する操作の場合、それは作成プロセスと削除プロセスに分解され得る。
【００５３】
当業者には、検索ランキングのパフォーマンスを最適にするために、ユーザの特定の操作に応答してファイルシステム・エネルギーツリーのエネルギー・スコアを更新するルールを望むとおりに設計できることは理解されるであろう。そのため、特定の実施方法は本発明の制限要因とはならない。
【００５４】
図８は、本発明の一実施例によるファイルシステム検索エンジンの概略ブロック図を示す。この図では、参照番号６００はファイルシステム検索エンジンを示す。参照番号６１４はファイル検索モジュールを示す。参照番号６１０はファイル検索モジュール６１４をサポートするために使うファイル・インデックスを示す。参照番号６０２はファイルシステム検索エンジン内の検索結果ランキング・モジュールを示す。参照番号６０４はファイルのクリック操作および開く操作を記録する履歴記録モジュールを示す。参照番号６０６はファイルシステム・エネルギーツリーを更新するエネルギーツリー更新モジュールを示す。参照番号６０８はファイルの作成、削除および移動など、ファイルシステムの変更をモニタするファイルシステム・モニタリング・モジュールを示す。参照番号６１２はファイルシステム・エネルギーツリーの構造と各ノードのエネルギー・スコアを記録するファイルシステム・エネルギーツリー・インデックスを示す。
【００５５】
図８に示すように、ファイルシステム・エネルギーツリー・インデックス６１２は、ファイルシステムに作成されたエネルギーツリー構造と各ノードのエネルギー・スコアを記録する。検索式ｑを受け取ると、ファイルシステム検索エンジン６００のファイル検索モジュール６１４がファイル・インデックス６１０に基づいて関連ファイルを探し、各ファイルにランキング用のコンテンツ・スコアを提供する。ファイル検索モジュール６１４が提供するコンテンツ・スコアおよびファイルシステム・エネルギーツリー・インデックス６１２が提供する各ノードのエネルギー・スコアに従い、検索結果ランキング・モジュール６０２が各ファイルの最終適合度スコアを計算して、最終検索ランキングで使用する。履歴記録モジュール６０４がユーザによるファイルのクリックを記録して、記録した情報をエネルギーツリー更新モジュール６０６に提供する。履歴記録モジュール６０４が提供する情報に基づき、エネルギーツリー更新モジュール６０６は、例えば前述のエネルギー伝達方法を使ってエネルギーツリーで更新する必要のあるノードのエネルギー・スコアを計算し、結果をファイルシステム・エネルギーツリー・インデックス６１２に提供して、ファイルシステム・エネルギーツリーの情報を更新する。ファイルシステム・モニタリング・モジュール６０８は、ファイルまたはファイル・フォルダの作成、削除、および移動など、ファイルシステムに対するユーザの操作をモニタして、記録した情報をエネルギーツリー更新モジュール６０６に提供する。同様に、例えば上記所定のルールに従い、エネルギーツリー更新モジュール６０６は、エネルギーツリーのツリー構造および対応するノードのエネルギー・スコアに関する情報など、ファイルシステム・エネルギーツリー・インデックス６１２に記録される情報を更新する。
【００５６】
本発明によるファイルシステム検索エンジン６００に適するファイル検索モジュール６１４とそれに対応するファイル・インデックス６１０は、どんな種類でもよいことに留意するべきである。例えば、ファイル検索モジュール６１４はキーワード、ヘッダー、日付、およびその種の他のものにしたがってファイルの重要性のスコアをつけることができ、ファイル・インデックス６１０は、インデックスとしてキーワードを使う一元化されたインデックス構造、または複数の分散インデックス構造のいずれでもよい。すなわち、どのように特定のファイル・インデックスを構成するか、およびファイル検索モジュールでどのようにファイル検索を行うかは本発明の制限要因とはならない。そのため、本発明によるファイルシステム検索エンジンはファイルシステム内のファイル・フォルダをファイル項目として扱い、それを出力用の検索結果のリストのファイルと一緒にランク付けすることもできる。当業者には、検索結果ランキング・モジュールがファイルで処理を行うのと同様に各ファイル・フォルダで処理を行う、すなわち、各ファイル・フォルダの現在のエネルギー・スコアに関連する最終適合度スコアを計算して検索ランキングを行うことは理解されるであろう。
【００５７】
図８は本発明のファイルシステム検索エンジンを実施することができる一例を示しているにすぎない。当業者には、特に各モジュールの機能をソフトウェアと合わせて実施すれば、モジュールの具体的な実施形態に様々な手法が利用できることは理解されるであろう。例えば、図示する履歴記録モジュール６０４とファイルシステム・モニタリング・モジュール６０８を同じモジュールに統合してもよく、または直接エネルギーツリー更新モジュール６０６に統合することもできる。
【００５８】
図９は、本発明の実施例を実施できるコンピュータ・システムを概略的に示す。図９に示すコンピュータ・システムは、中央処理装置（ＣＰＵ）７０１と、ランダム・アクセス・メモリ（ＲＡＭ）７０２と、読取専用メモリ（ＲＯＭ）７０３と、システム・バス７０４と、ハードディスク（ＨＤ）コントローラ７０５と、キーボード・コントローラ７０６と、シリアル・インターフェース・コントローラ７０７と、パラレル・インターフェース・コントローラ７０８と、ディスプレイ・コントローラ７０９と、ハードディスク７１０と、キーボード７１１と、シリアル外部デバイス７１２と、パラレル外部デバイス７１３と、ディスプレイ７１４とを有する。これらコンポーネントの中で、ＣＰＵ７０１、ＲＡＭ７０２、ＲＯＭ７０３、ＨＤコントローラ７０５、キーボード・コントローラ７０６、シリアル・インターフェース・コントローラ７０７、パラレル・インターフェース・コントローラ７０８、およびディスプレイ・コントローラ７０９はシステム・バス７０４と接続する。ハードディスク７１０はＨＤコントローラ７０５と接続し、キーボード７１１はキーボード・コントローラ７０６と接続し、シリアル外部デバイス７１２はシリアル・インターフェース・コントローラ７０７と接続し、パラレル外部デバイス７１３はパラレル・インターフェース・コントローラ７０８と接続し、ディスプレイ７１４はディスプレイ・コントローラ７０９と接続する。
【００５９】
図９に示す各コンポーネントの機能は当技術分野で十分に周知であり、図示する構造も従来のものである。このような構造はパーソナル・コンピュータに適用できるだけでなく、パームＰＣ、携帯情報端末（ＰＤＡ）、および携帯電話等などの携帯機器にも適用できる。別のアプリケーションでは、図９の一部のコンポーネントを省くことができる。図９に示すシステム全体は、ハードディスク７１０、ＥＰＲＯＭ、またはその他不揮発性メモリに通常ソフトウェアとして格納されるコンピュータ読み取り可能命令によって制御される。ソフトウェアはネットワーク（図では図示せず）からダウンロードすることもできる。ハードディスク７１０に格納される、またはネットワークからダウンロードされるソフトウェアはＲＡＭ７０２にロードでき、ＣＰＵ７０１がソフトウェアで決まる機能を履行するようにソフトウェアを実行できる。
【００６０】
図９に示すコンピュータ・システムは本発明によるファイルシステムの検索ランキングをサポートできるが、上記コンピュータ・システムはコンピュータ・システムの単なる一例にすぎない。当業者には、コンピュータ・システムに合った他の多くの設計も本発明の実施例を実施できることは理解されるであろう。
【００６１】
本発明は、例えば図９に示すコンピュータ・システムで使用するコンピュータ・プログラムとして実施することもでき、これは本発明によるファイルシステムに検索ランキング方法を実施するコードを内蔵する。コードは使用前に他のコンピュータ・システムのメモリに格納してもよい。例えば、コードはハードディスク、光ディスク、またはフロッピー（登録商標）などの取り外し可能なメモリに格納することができる。代わりの方法として、コードはインターネットまたは他のコンピュータ・ネットワークからダウンロードしてもよい。
【００６２】
本発明の実施例を添付の図面を参照しながら説明してきたが、当業者は添付の請求項で定義される範囲内で様々な変更もしくは改変を行うことができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施例による検索ランキングのプロセスフローを示す図である。
【図２】ファイルシステム検索エンジンの初期設定中に作成されるファイルシステム・エネルギーツリーの一例を概略的に示す図である。
【図３】ユーザがファイルをクリックした後、図２に示すファイルシステム・エネルギーツリーのエネルギー・スコアの更新を概略的に示す図である。
【図４】ユーザがファイルをクリックした後、図２に示すファイルシステム・エネルギーツリーのエネルギー・スコアの更新を概略的に示す図である。
【図５】ユーザがファイルをクリックした後、図２に示すファイルシステム・エネルギーツリーのエネルギー・スコアの更新を概略的に示す図である。
【図６】本発明の一実施例による、ユーザのクリックに応答してファイルシステム・エネルギーツリーを更新するフローを示す図である。
【図７】ユーザが新しいファイルを作成したときに、図５に示すファイルシステム・エネルギーツリーのエネルギー・スコアの更新を概略的に示す図である。
【図８】本発明の一実施例によるファイルシステム検索エンジンの概略ブロック図である。
【図９】本発明の実施例を実装できるコンピュータ・システムを概略的に示す図である。
【図１】
2007272888.tif 000003
【図２】
2007272888.tif 000004
【図３】
2007272888.tif 000005
【図４】
2007272888.tif 000006
【図５】
2007272888.tif 000007
【図６】
2007272888.tif 000008
【図７】
2007272888.tif 000009
【図８】
2007272888.tif 000010
【図９】
2007272888.tif 000011