(57)【要約】【課題】構造化文書の検索における検索結果情報の表示の際に、検索結果情報に含まれる構造化文書をユーザの利便性が高まるように合理的に順序付けする。【解決手段】静的スコア計算部１４４は、静的条件をもとに、検索結果情報に含まれる構造化文書に対して静的スコアを算出する。動的スコア計算部１４２は、動的条件をもとに、検索結果情報に含まれる構造化文書に対して動的スコアを算出する。文書スコア付与部１４６は、静的スコア・動的スコアをもとに各構造化文書の文書スコアを算出する。順序決定部１４８は、文書スコアに基づいて各構造化文書の順序を決定する。【選択図】図２
2008225957.tif 000002
【特許請求の範囲】
【請求項１】
タグの階層構造に基づく経路式によってデータの位置が特定される構造化文書を保持するデータベースを検索し、その検索結果を順序付けして出力する文書検索装置であって、
ユーザによる前記順序付けのための静的条件の設定入力を検出する静的条件受付部と、
前記静的条件を保持する静的条件保持部と、
構造化文書の検索条件として、検索文字列と前記順序付けのための動的条件を含む検索要求情報のユーザによる入力を検出する検索要求受付部と、
前記検索文字列を含む構造化文書を前記データベースから検索し、その検索結果を検索結果情報として取得する検索実行部と、
前記検索結果情報に含まれる複数の構造化文書と前記動的条件との適合度を動的スコアとして算出する動的スコア計算部と、
前記検索結果情報に含まれる複数の構造化文書と前記静的条件との適合度を静的スコアとして算出する静的スコア計算部と、
前記動的スコアと前記静的スコアに基づいて構造化文書ごとに文書スコアを算出する文書スコア付与部と、
前記構造化文書に付与された前記文書スコアをもとに、前記検索結果情報に含まれる複数の構造化文書の順序を決定する順序決定部と、
前記検索結果情報に含まれる複数の構造化文書を前記決定された順序にて優先順位付けして画面表示させる検索結果出力部と、
を備えることを特徴とする文書検索装置。
【請求項２】
前記動的条件には、更に、前記文書スコアの算出において、前記動的スコアと前記静的スコアが寄与する割合についての重み付け設定が含まれ、
前記文書スコア付与部は、前記重み付け設定に基づいて、前記動的スコアと前記静的スコアから前記文書スコアを算出することを特徴とする請求項１に記載の文書検索装置。
【請求項３】
前記重み付け設定において、前記静的スコアのみに重み付けが設定され、前記動的スコアには重み付けが設定されない場合、
前記文書スコア付与部は、前記動的スコアの前記文書スコアに対する寄与を無効化し、前記静的スコアのみに基づいて前記文書スコアを算出することを特徴とする請求項２に記載の文書検索装置。
【請求項４】
前記動的条件には、前記構造化文書内の特定の領域を指定する経路式が含まれ、
前記検索実行部は、前記経路式で指定された特定の領域に前記検索文字列を含む構造化文書を前記データベースから検索し、その検索結果を検索結果情報として取得することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項５】
前記動的条件には、複数種類の経路式と、前記複数種類の経路式のそれぞれについてのスコア調整値が含まれ、
前記動的スコア計算部は、前記動的条件として指定された経路式が示す領域に前記検索文字列を含む構造化文書の動的スコアを前記経路式に対応するスコア調整値により調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項６】
前記動的条件には、前記構造化文書の中の部分領域として動的スコア領域を指定する動的スコア領域指定情報が含まれ、
前記動的スコア計算部は、前記動的スコア領域を対象として動的スコアを算出し、
前記動的スコア領域指定情報は、前記構造化文書のタグ構造において末端に位置するノードにより示される領域、前記構造化文書の所定ノードとその所定ノードの近傍のノードにより示される領域、または前記構造化文書の全体として示される領域、のいずれかを前記動的スコア領域として指定する情報であることを特徴とする請求項１から５のいずれかに記載の文書検索装置。
【請求項７】
前記静的条件には、前記構造化文書内の特定の領域を指定する経路式と、前記経路式により指定される領域に前記検索文字列を含む構造化文書の静的スコアを調整するためのスコア調整値が含まれ、
前記静的スコア計算部は、前記経路式で指定された領域に前記検索文字列を含む構造化文書の静的スコアを前記スコア調整値により調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項８】
前記静的条件には、前記構造化文書内の特定のノードを指定する経路式と、前記特定のノードの値に基づいて各構造化文書を順序付けるための規則を示す静的順序付け情報が含まれ、
前記静的スコア計算部は、構造化文書から前記経路式で指定された特定のノードの値を取得し、前記静的順序付け情報を参照して、前記特定のノードの値に基づいて前記構造化文書の静的スコアを調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項９】
前記静的条件には、前記構造化文書内の特定のノードを指定する経路式と、前記特定のノードの値の範囲を指定する情報が含まれ、
前記静的スコア計算部は、構造化文書から前記経路式で指定された特定のノードの値を取得し、前記特定のノードの値と前記範囲を指定する情報をもとに、前記構造化文書の静的スコアを調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項１０】
前記静的条件には、前記構造化文書内の特定のノードを指定する経路式と、前記特定のノードの値との比較対象となる所定の固定値と、前記所定の固定値と関連付けられたスコア調整値が含まれ、
前記静的スコア計算部は、構造化文書から前記経路式で指定された特定のノードの値を取得し、前記特定のノードの値が前記固定値と一致するときには、前記構造化文書の静的スコアを前記固定値に対応する前記スコア調整値により調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項１１】
前記静的条件には、前記構造化文書内の特定のノードを指定する経路式と、前記特定のノードの値をもとにスコア調整値を算出するスコア計算式が含まれ、
前記静的スコア計算部は、構造化文書から前記経路式で指定された特定のノードの値を取得し、前記特定のノードの値と前記スコア計算式からスコア調整値を算出して、前記構造化文書の静的スコアを前記スコア調整値により調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項１２】
前記静的スコアは、複数種類の静的条件に対応付けられる複数種類のスコア調整値により調整され、
前記静的条件には、前記静的スコアの算出に複数のスコア調整値が寄与する割合についての重み付け設定が含まれ、
前記静的スコア計算部は、前記重み付け設定に基づいて、前記複数のスコア調整値により前記静的スコアを調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項１３】
前記静的スコアは、複数種類の静的条件に対応付けられる複数種類のスコア調整値により調整され、
前記動的条件には、前記静的スコアの算出に複数のスコア調整値が寄与する割合についての重み付け設定が含まれ、
前記静的スコア計算部は、前記重み付け設定に基づいて、複数のスコア調整値により前記静的スコアを調整することを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項１４】
タグの階層構造に基づく経路式によってデータの位置が特定される構造化文書を保持するデータベースを検索し、その検索結果を順序付けして出力する文書検索方法であって、
ユーザによる前記順序付けのための静的条件の設定入力を検出するステップと、
構造化文書の検索条件として、検索文字列と前記順序付けのための動的条件を含む検索要求情報のユーザによる入力を検出するステップと、
前記検索文字列を含む構造化文書を前記データベースから検索し、その検索結果を検索結果情報として取得するステップと、
前記検索結果情報に含まれる複数の構造化文書と前記動的条件との適合度を動的スコアとして算出するステップと、
前記検索結果情報に含まれる複数の構造化文書と前記静的条件との適合度を静的スコアとして算出するステップと、
前記動的スコアと前記静的スコアに基づいて構造化文書ごとに文書スコアを算出するステップと、
前記構造化文書に付与された前記文書スコアをもとに、前記検索結果情報に含まれる複数の構造化文書の順序を決定するステップと、
前記検索結果情報に含まれる複数の構造化文書を前記決定された順序にて優先順位付けして画面表示させるステップと、
を備えることを特徴とする文書検索方法。
【請求項１５】
タグの階層構造に基づく経路式によってデータの位置が特定される構造化文書を保持するデータベースを検索し、その検索結果を順序付けして出力する文書検索機能をコンピュータに実現させるコンピュータプログラムであって、
ユーザによる前記順序付けのための静的条件の設定入力を検出する機能と、
前記静的条件を保持する機能と、
構造化文書の検索条件として、検索文字列と前記順序付けのための動的条件を含む検索要求情報のユーザによる入力を検出する機能と、
前記検索文字列を含む構造化文書を前記データベースから検索し、その検索結果を検索結果情報として取得する機能と、
前記検索結果情報に含まれる複数の構造化文書と前記動的条件との適合度を動的スコアとして算出する機能と、
前記検索結果情報に含まれる複数の構造化文書と前記静的条件との適合度を静的スコアとして算出する機能と、
前記動的スコアと前記静的スコアに基づいて構造化文書ごとに文書スコアを算出する機能と、
前記構造化文書に付与された前記文書スコアをもとに、前記検索結果情報に含まれる複数の構造化文書の順序を決定する機能と、
前記検索結果情報に含まれる複数の構造化文書を前記決定された順序にて優先順位付けして画面表示させる機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書を対象とした情報検索技術に関する。
【背景技術】
【０００２】
コンピュータの普及とネットワーク技術の進展にともない、ネットワークを介した電子情報の交換が盛んになっている。これにより、従来においては紙ベースで行われていた事務処理の多くが、ネットワークベースの処理に置き換えられつつある。特に、近年では多くの文書ファイルが、ＸＭＬ（eXtensible Markup Language）やＨＴＭＬ（Hyper Text Markup Language）、ＸＨＴＭＬ（eXtensible HyperText Markup Language）とよばれる構造化文書として作成されるようになってきている。ネットワーク技術の進展と情報検索性に優れた構造化文書の普及は、情報取得コストを急激に低下させている。
【特許文献１】特開２００６−０４８５３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
通常、文書検索処理では、データの検索条件が入力され、検索条件に適合するデータを含む文書が特定される。文書が特定されると、ユーザはその文書の内容を閲読することにより、求める情報が確かに存在しているかを確認する。複数の文書が特定された場合、複数の文書に対して何らかの順序付けがなされ、その順序付けに応じて構造化文書を表示するのが一般的である。多くのユーザは概ね、上位に表示された文書から内容の閲読を行う。
本発明者は、この閲読に伴うユーザの負荷に着目し、情報取得効率をいっそう高めるためには、求める情報を含む可能性が高い文書を高精度で特定し、上位に順序付けする技術が重要であると想到した。
【０００４】
本発明は、本発明者による上記着目に基づいて完成された発明であり、その主たる目的は、構造化文書群のうち、所定の検索条件に該当する構造化文書を示す情報（以下、「検索結果情報」と呼ぶ。）の表示の際に、検索結果情報に含まれる構造化文書をユーザの利便性が高まるように合理的に順序付けするための技術、を提供することにある。
【課題を解決するための手段】
【０００５】
本発明のある態様は、タグの階層構造に基づく経路式によってデータの位置が特定される構造化文書を保持するデータベースを検索し、その検索結果を順序付けして出力する文書検索装置に関する。本装置では、ユーザによる順序付けのための静的条件の設定入力を検出する静的条件受付部と、静的条件を保持する静的条件保持部と、構造化文書の検索条件として、検索文字列と順序付けのための動的条件を含む検索要求情報のユーザによる入力を検出する検索要求受付部と、検索文字列を含む構造化文書をデータベースから検索し、その検索結果を検索結果情報として取得する検索実行部と、検索結果情報に含まれる複数の構造化文書と動的条件との適合度を動的スコアとして算出する動的スコア計算部と、検索結果情報に含まれる複数の構造化文書と静的条件との適合度を静的スコアとして算出する静的スコア計算部と、動的スコアと静的スコアに基づいて構造化文書ごとに文書スコアを算出する文書スコア付与部と、構造化文書に付与された文書スコアをもとに、検索結果情報に含まれる複数の構造化文書の順序を決定する順序決定部と、検索結果情報に含まれる複数の構造化文書を決定された順序にて優先順位付けして画面表示させる検索結果出力部と、を備える。
【０００６】
この構成によれば、所定の評価基準に基づく静的条件を静的スコアに反映し、また検索を実行するユーザ（以下、「検索実行ユーザ」と呼ぶ。）の主観に基づく動的条件を動的スコアに反映して、最終的な文書スコアを算出し、検索結果情報に含まれる構造化文書の順序付けができる。これにより、所定の評価基準に基づきつつ、検索実行ユーザの要求も満足するように、検索結果情報に含まれる構造化文書を合理的に順序付けしやすくなる。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、システム、プログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、構造化文書の検索における検索結果情報の表示の際に、検索結果情報に含まれる構造化文書をユーザの利便性が高まるように合理的に順序付けしやすくなる。
【発明を実施するための最良の形態】
【０００９】
本実施の形態に係る文書検索装置は、検索結果情報に含まれる複数の構造化文書に対し、静的条件に基づいて静的スコアを算出する機能、動的条件に基づいて動的スコアを算出する機能、静的・動的スコアに基づいて文書スコアを算出する機能、そして文書スコアに基づいて構造化文書の順序を決定する機能を備える。これにより、検索結果情報に含まれる構造化文書を合理的に順序付けし、検索実行ユーザにとって利便性の高い文書検索機能を提供する。
【００１０】
データベースに含まれる文書は、外部公開用の文書と内部公開用の文書、信頼度の高い文書と低い文書のように、様々な評価基準に基づいて分類することができる。静的条件とは、このようにデータベースに含まれる文書群（以下、「コーパス」と呼ぶ。）全体におけるある文書の位置づけを示す条件である。例えば、「信頼度が高い文書」という静的条件にてコーパスから文書検索を実行する場合、社外公開用の文書には社内レビュー中の文書よりも高い静的スコアが付与される。あるいは、社長が作成した文書には一般社員が作成した文書よりも高い静的スコアが付与されるかもしれない。ここでいう静的スコアとは、所定の静的条件に対する各文書の適合度を示す。静的スコアの具体的な算出方法については後述する。
【００１１】
なお、静的条件は、データベースに様々な構造化文書を登録する側のユーザである文書登録ユーザによって指定される。ここでいう文書登録ユーザには、実際に構造化文書を登録するユーザだけでなく、静的条件のみを登録するユーザも含む。
【００１２】
一方、動的条件とは、検索実行ユーザの主観に基づく基準とある文書との適合度を測る条件である。例えば、検索文字列に加えて、「第１優先：タイトル領域、第２優先：キーワード領域」という動的条件にてコーパスから文書検索を実行する場合、タイトル領域に検索文字列を含む文書にはキーワード領域のみに検索文字列を含む文書よりも高い動的スコアが付与される。あるいは、本文領域のみに検索文字列を含む文書には動的スコアは付与されないかもしれない。ここでいう動的スコアとは、検索実行ユーザが指定する動的条件に対する各文書の適合度を示す。
【００１３】
なお、動的条件として、文書の中での検索文字列の出現回数が指定されてもよい。この場合、検索文字列の出現回数に基づいて動的スコアが付与される。その他の動的スコアの具体的な算出方法については後述する。
【００１４】
図１は、文書検索装置１００の処理の概要を示す模式図である。
検索実行ユーザが文書検索装置１００に対して、検索文字列と動的条件を含む検索要求情報を入力すると、文書検索装置１００はその検索文字列を含む構造化文書をデータベース３００から検索し、複数の構造化文書を含む検索結果情報を取得する。検索文字列は一定の意味をなす文字列であり、自然文であってもよいしキーワードであってもよい。データベース３００の構造化文書は、ＸＭＬ文書やＸＨＴＭＬ文書のようにタグによって構造化された文書である。
【００１５】
文書検索装置１００の検索ランキング制御部１４０は、検索結果情報に含まれる各構造化文書に対し、動的スコア・静的スコアを算出する。ここで、動的スコア算出は、動的条件に基づいて行い、静的スコア算出は、静的条件保持部１２０の静的条件に基づいて行う。そして、動的スコア・静的スコアから文書スコアを算出し、文書スコアをもとに各構造化文書を順序付けする。ここでいう文書スコアとは、それぞれの構造化文書の動的スコア・静的スコアをもとに所定の評価関数により算出され、順序付けの基準となるスコアである。最終的に文書検索装置１００は、優先順位付けがされた複数の構造化文書を検索結果情報として検索実行ユーザに返却する。
【００１６】
図２は、文書検索装置１００の構成を示す機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１７】
文書検索装置１００は、ユーザインタフェイス処理部１１０、静的条件保持部１２０、検索実行部１３０、検索ランキング制御部１４０を含む。
前述したようにデータベース３００は、検索対象となる構造化文書を保持し、通信ネットワーク２００を介して文書検索装置１００と接続される。ここで、通信ネットワーク２００には、インターネット、ＬＡＮ、ＷＡＮ等様々な通信手段が含まれる。さらには、文書検索装置１００とデータベース３００は同一のハードウェア上で実現されてもよい。
検索実行部１３０は、ユーザからの検索要求情報に含まれる検索文字列を含む構造化文書をデータベース３００から検索し、その検索結果を検索結果情報として取得する。
【００１８】
ユーザインタフェイス処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェイス全般に関する処理を担当する。本実施例においては、ユーザインタフェイス処理部１１０により文書検索装置１００のユーザインタフェイスサービスが提供されるものとして説明する。別例として、ユーザはインターネットを介して文書検索装置１００を操作してもよい。または、クライアントアプリケーションが通信ネットワークを介して文書検索装置１００と入出力を行ってもよい。いずれの場合も、図示しない通信部が、ユーザ端末またはクライアントアプリケーションからの検索要求情報を受信し、またその要求に基づいて実行された検索結果情報をユーザ端末またはクライアントアプリケーションに送信することになる。
【００１９】
ユーザインタフェイス処理部１１０は、静的条件受付部１１２と検索要求受付部１１４、検索結果出力部１１６を含む。
静的条件受付部１１２は、文書登録ユーザからの静的条件の入力操作を受け付け、前述した静的条件保持部１２０に静的条件を格納する。検索要求受付部１１４は、検索実行ユーザからの検索要求情報の入力操作を受け付ける。検索結果出力部１１６は、検索結果情報に含まれる複数の構造化文書を検索ランキング制御部１４０が決定した順序にて優先順位付けして検索実行ユーザの画面に表示させる。
【００２０】
本実施の形態における、検索実行ユーザの画面に表示させられる「検索結果情報」は、文書スコアが上位のものから所定数の文書名とその文書の一部を示すページとして提供される。なお、その他の表示態様であってもよい。例えば、文書スコアが上位の文書は、他の文書と比較してフォントが大きく表示される、他の文書と比較して目立つところに表示される、等の態様であってもよい。また、文書スコアに応じて、一部の文書については文書名のみの提供とされてもよい。
【００２１】
図１にて機能を説明した検索ランキング制御部１４０は、動的スコア計算部１４２、静的スコア計算部１４４、文書スコア付与部１４６、順序決定部１４８を含む。
動的スコア計算部１４２は、検索結果情報に含まれる複数の構造化文書と動的条件との適合度を動的スコアとして算出する。静的スコア計算部１４４は、検索結果情報に含まれる複数の構造化文書と静的条件との適合度を静的スコアとして算出する。動的スコアの算出、及び静的スコアの算出の例は後述する。
順序決定部１４８は、文書スコア付与部１４６が算出した構造化文書の文書スコアに基づいて、検索結果情報に含まれる複数の構造化文書名を並べる順序を決定する。順序の決定方法は一部のアルゴリズムには限定されない。例えば、文書スコアの降順・昇順で順序を決定してもよいし、文書スコアとその他のパラメータを調整して順序を決定してもよい。
【００２２】
文書スコア付与部１４６は、各構造化文書に対する動的スコア・静的スコアをもとに、構造化文書ごとの文書スコアを算出する。文書スコアは、各構造化文書の順序が文書スコアにより判定できる形式で出力されれば、どのように算出されてもよい。例えば、動的スコア・静的スコアの単純な加算でもよいし、積算や既知の様々な算術的・統計的手法を用いて算出されてもよい。
【００２３】
さらに、動的スコア・静的スコアのそれぞれが文書スコアに寄与する割合を示す重み付けの設定が動的条件の一部として与えられ、文書スコア付与部１４６はその重み付け設定に従って、動的スコア及び静的スコアが文書スコアの算出に寄与する割合を変更してもよい。これにより検索実行ユーザの主観的な基準に基づく動的スコアと、客観的な基準に基づく静的スコアの重み付けを調整でき、検索実行ユーザの状況や共通的な順序付けポリシ等に応じた最適な順序付けを実現できる。
【００２４】
以下重み付け設定に基づく文書スコア算出の例を示す。例えば重み付け設定が、動的：静的＝１：１である場合で、動的スコアが５０点満点中２０点、静的スコアが５０点満点中３０点で、文書スコアの満点が１００点である場合には、文書スコアへの寄与度に差がないためそのまま和算をして、文書スコアは５０点となる。別の例として、スコアはそのままで、重み付け設定のみ動的：静的＝２：３とすると、動的スコアの寄与度は４０％となるため、４０点満点に正規化すると動的スコアの寄与分は１６点となる。同様に静的スコアの寄与度は６０％となるため、６０点満点に正規化すると静的スコアの寄与分は３６点となる。その結果、文書スコアは５２点となる。
【００２５】
このように、検索実行ユーザの主観的な基準での順序付けを重くしたければ、文書スコアに対する動的スコアの寄与分を大きくすればよい。逆にコーパスでの構造化文書の位置づけを示す信頼度や重要度といった客観的な基準での順序付けを重くしたければ、文書スコアに対する静的スコアの寄与分を大きくすればよい。
【００２６】
重み付けの設定の極端な例として、静的スコアの重み付けを１００％に設定し、動的スコアの重み付けがゼロに設定された場合について説明する。この場合、検索要求情報に含まれる動的条件は意味を失い、検索文字列に基づく構造化文書の絞り込みのみ行われる。文書スコア付与部１４６は、動的スコアの文書スコアに対する寄与を無効化し、静的スコアのみに基づいて文書スコアを算出する。この重み付けの設定の下では、構造化文書の動的スコアは文書スコアに反映されないため、静的スコアが大きい構造化文書はそのまま文書スコアが大きい構造化文書となる。信頼度や重要度といった客観的な基準にのみ基づいて構造化文書を順序付けした検索結果情報を得たい場合に、この設定は有用である。
逆の極端な例として、動的スコアの重み付けを１００％に設定し、静的スコアの重み付けがゼロに設定された場合について説明する。この場合、文書スコア付与部１４６は、静的スコアの文書スコアに対する寄与を無効化し、動的スコアのみに基づいて文書スコアを算出する。検索実行ユーザの主観的な基準にのみ基づいて構造化文書を順序付けした検索結果情報を得たい場合に、この設定は有用である。
【００２７】
図３は、文書検索装置１００での処理の流れを示すフローチャートである。同図は、ここまで説明した各機能ブロックによる処理の流れを示している。なお、静的条件については、構造化文書登録時にユーザにより入力され、静的条件受付部１１２を介して静的条件保持部１２０に保持されているものとする。
検索要求受付部１１４は、ユーザによる検索要求情報の入力を検出する（ステップＳ１）。検索要求情報には、検索文字列と動的条件が含まれる。検索実行部１３０は検索文字列を含む構造化文書をデータベース３００から検索し、その検索結果を検索結果情報として取得する（ステップＳ２）。動的スコア計算部１４２は、検索結果情報に含まれる各構造化文書と動的条件から動的スコアを算出する（ステップＳ３）。ただし、動的スコアの重み付けがゼロの場合、Ｓ３の処理はスキップされる。静的スコア計算部１４４は、検索結果情報に含まれる各構造化文書と静的条件から静的スコアを算出する（ステップＳ４）。ただし、静的スコアの重み付けがゼロの場合、Ｓ４の処理はスキップされる。文書スコア付与部１４６は、各構造化文書の動的スコア・静的スコアから、その文書の文書スコアを算出する（ステップＳ５）。順序決定部１４８は、構造化文書の文書スコアから、検索結果情報に含まれる複数の構造化文書の順序を決定する（ステップＳ６）。検索結果出力部１１６は、決定された順序をもとに、各構造化文書に対し優先順位付けして画面表示させる（ステップＳ７）。
【００２８】
以下、動的スコア、及び静的スコアの算出方法について、具体例を挙げて説明する。なお以下においては、構造化文書としてＸＭＬ文書、経路式としてＸＰａｔｈを例として示す。
【００２９】
なお、本明細書では、ＸＰａｔｈ式のように、タグの階層構造に基づいてタグのパスを示す構文のことを「経路式」と呼ぶ。例えば、以下のようなＸＭＬ文書があったとする。
<doc>
<title></title>
<gaiyou>
<comment>コメント１</comment>
</gaiyou>
<body>
<chapter1>
<comment>コメント２</comment>
</chapter1>
</body>
</doc>
ここで、「コメント１」に係る「comment」タグは「/doc/gaiyou/comment」という経路式で特定でき、「コメント２」に係る「comment」タグは「/doc/body/chapter1/comment」という経路式で特定できる。
【００３０】
ＸＰａｔｈは、省略記号にも対応できる表記法となっている。例えば、「//comment」という経路式は、ＸＭＬ文書のどこかにある「comment」タグを意味し、前述のＸＭＬ文書では、２つの「comment」タグが指定されることになる。また、「/*/*/comment」という経路式は、ＸＭＬ文書の第３階層のどこかにある「comment」タグを意味し、前述のＸＭＬ文書では「コメント１」に係る「comment」タグが指定されることになる。
【００３１】
ユーザが省略記号のない経路式を記述できれば、構造化文書の特定のタグを一意に指定することができる。しかし、常に正確に経路式がわかるとは限らない。例えば、指定すべきタグが「body」タグの下の「comment」タグであるとはわかっていても、「body」タグと「comment」タグとの間に、どのようなタグが何階層あるかわからないことがある。このような場合に、タグの名前をキーとして柔軟なタグの指定を許容する、前述したような省略記号を含む経路式は有用である。また、タグの名前をキーとして複数のタグを一度に指定したい場合にも、省略記号を含む経路式は有用である。
本明細書では、省略記号を含む経路式を「不完全経路式」と呼び、省略記号を含まない経路式を「完全経路式」と呼ぶ。完全経路式は、構造化文書の特定のタグを一意に特定することができる経路式であり、不完全経路式は、構造化文書の特定のタグを一意に特定するには不十分な経路式であるといえる。言い換えれば、不完全経路式は、複数のタグを一度に指定できる、柔軟性のある経路式であるともいえる。
本明細書の「経路式」とは、完全経路式と不完全経路式の両方を含む概念である。
【００３２】
（実施例１）
本実施例の動的条件には、構造化文書内の特定の領域を指定する経路式が含まれる。以下、動的条件または静的条件に指定される経路式のことを特に「指定経路式」と呼ぶことにする。検索実行部１３０は、指定経路式で指定された特定の領域（以下、「指定経路領域」と呼ぶ。）に検索文字列を含む構造化文書をデータベース３００から検索して、その検索結果を検索結果情報として取得する。
【００３３】
図４、図５は、データベース３００に登録されている構造化文書の例である。例えば、検索実行ユーザが検索文字列として「内線番号」、指定経路式「/doc/keywordt」を指定したとする。この場合、図４の構造化文書は指定経路領域に検索文字列「内線番号」を含んでいるため、この構造化文書は検索結果情報に含まれる。一方で図５の構造化文書は指定経路領域に検索文字列を含まないため、検索結果情報には含まれない。つまり指定経路領域に検索文字列を含む構造化文書だけが検索結果情報に含まれる。
【００３４】
本実施例によれば、データベースに登録された多数の構造化文書の中から、検索実行ユーザが指定した検索文字列を特定の領域に含むことを条件にして、検索結果情報に含まれる構造化文書を絞り込むことができる。この結果、ユーザが検索結果情報を閲読する際の利便性が向上する。
例えば、検索実行ユーザが検索文字列を「内線番号」として、検索の範囲を特に指定しない場合、図５の構造化文書も「/doc/body」に検索文字列を含むため検索結果情報に含まれることになる。しかし、指定経路式「/doc/keywordt」を与えることで、指定経路領域に検索文字列「内線番号」を含まない図５の構造化文書は検索結果情報には含まれなくなる。もし、この検索実行ユーザが内線番号表を必要とする状況であれば、この実施例に係る方法により、検索実行ユーザにとって不要な図５に係る文書を排除して検索結果情報を閲読する負荷を軽減することができる。
【００３５】
変形例として、検索実行部１３０は、検索文字列を含む構造化文書をデータベース３００から検索して、その検索結果を検索結果情報として取得してもよい。このとき動的スコア計算部１４２は、指定経路領域に検索文字列を含む構造化文書に対してのみ所定のスコア調整値により動的スコアを調整する。
上の例でいえば、図４の構造化文書も、図５の構造化文書も、ともに文書中に検索文字列「内線番号」を含むため、検索結果情報に含まれることになる。図４の構造化文書は指定経路領域に「内線番号」を含むため、動的スコア計算部１４２は、図４の構造化文書の動的スコアを、所定のスコア調整値を加算等して増加させる。一方で、図５の構造化文書は指定経路領域に「内線番号」を含まないため、動的スコア計算部１４２は、図５の構造化文書の動的スコアを増加させない。その結果、図４の構造化文書の方が上位に順序付けされやすくなる。ただし、図５の構造化文書も検索結果情報には含まれるため、検索実行ユーザは図５の構造化文書についても検索結果情報の表示から確認することができる。
【００３６】
（実施例２）
本実施例の動的条件には、複数種類の指定経路式と、各指定経路式に対するスコア調整値が含まれる。動的スコア計算部１４２は、指定経路領域に検索文字列を含む構造化文書の動的スコアを指定経路式に対応するスコア調整値により調整する。
【００３７】
検索実行ユーザが検索文字列として「内線番号」、動的条件として（指定経路式，スコア調整値）＝（/doc/title，１０倍）、（/doc/body，１．５倍）を指定したとする。
例えば、ある構造化文書が指定経路領域に検索文字列を含む場合、動的スコアとして１点が加算される。「/doc/title」に「内線番号」を含むなら、その１０倍の１０点が加算される。一方、「/doc/body」に「内線番号」を含むなら、１．５点が加算される。「/doc/body」に「内線番号」を３回含むなら、１．５×３＝４．５点が加算される。すなわち、「/doc/body」に検索文字列「内線番号」を複数含むよりも、「/doc/title」に「内線番号」が含まれる方が動的スコアは高くなりやすい。言い換えれば、検索実行ユーザは、「/doc/title」に「内線番号」を含む構造化文書は、求める構造化文書である可能性が高いと考えていることになる。本実施例によれば、このような検索実行ユーザの検索ポリシを緻密に反映させた形で文書検索を実行できる。
【００３８】
なお、本実施例では動的スコアのスコア調整の例として、積算を示したが、これは加算でもよく、他の文書の動的スコアを減算してもよい。さらに、その他の既知の算術的・統計的スコア計算方法でスコア調整がされてもよい。加算の場合には、例えば、指定経路式に対応するスコア加算値を構造化文書の動的スコアに加算する。減算の場合には、例えば、指定経路式に対応するスコア減算値を他の構造化文書の動的スコアから減算する。他の実施例においても同様である。
【００３９】
また、前述したように、指定経路式には不完全経路式を指定することもできる。動的条件として不完全経路式が指定された場合、指定経路領域は複数になることがある。本実施例の場合、個々の指定経路領域ごとに検索文字列の存否が判断され、動的スコアが調整される。例えば、以下のようなＸＭＬ文書が検索結果情報に含まれたとする。
<doc>
<title></title>
<gaiyou>
<comment>ＴＯＤＯ  ○○を修正して下さい。</comment>
</gaiyou>
<body>
<chapter1>
<comment>ＴＯＤＯ  △△を削除して下さい。</comment>
</chapter1>
</body>
</doc>
ここで、指定経路式として「//comment」が指定されると、指定経路領域は「/doc/gaiyou/comment」のデータ領域、「/doc/body/chapter1/comment」のデータ領域となる。検索文字列が「ＴＯＤＯ」だったとすると、それぞれの指定経路領域に検索文字列を含むため、本ＸＭＬ文書の動的スコアは２回調整される。
ここで示したように、ユーザは指定経路式として不完全経路式を指定することで、タグ名をキーとして、構造化文書内の複数の領域を柔軟に指定できる。他の実施例においても同様である。本実施例では、指定したそれぞれの領域の値をもとに動的スコアの調整ができる。
【００４０】
（実施例３）
本実施例の動的条件には、構造化文書の中の部分領域として動的スコア領域を指定する動的スコア領域指定情報が含まれる。動的スコア領域指定情報は、構造化文書のタグ構造において末端に位置するノードにより示される領域を指定する情報であってもよいし、構造化文書の所定ノードとその所定ノードの近傍のノードにより示される領域を指定する情報であってもよいし、または構造化文書の全体として示される領域を指定する情報であってもよい。動的スコア計算部１４２は、指定された動的スコア領域を対象として動的スコアを算出する。
【００４１】
図６は、本実施例の動的スコア領域指定情報で指定する領域の説明をする図である。検索実行ユーザは、動的スコアの付与対象となる領域を以下のように指定することができる。
１）構造化文書のタグ構造において末端に位置するノードにより示される領域４１２
２）構造化文書の所定ノードとその所定ノードの近傍のノードにより示される領域４１０
３）構造化文書の全体として示される領域４００
また、上記２における、構造化文書の所定ノードとその所定ノードの近傍のノードにより示される領域、は検索実行ユーザが指定してもよいし、文書検索装置１００が自動的に近傍ノードの計算を行ってもよい。
【００４２】
近傍ノードとは、構造化文書における特定のノードと階層構造上における位置が近いノードのことをいう。例えば、図４の構造化文書において、検索実行ユーザにより「/doc/title」が指定された場合に、構造化文書における階層の深さが同じで、隣り合うノードである「/doc/author」及び「/doc/keywordt」を近傍ノードと判定してもよい。
【００４３】
本実施例の具体例を示す。図４の構造化文書において、検索文字列を「社内書類」として、動的スコア領域指定情報を「/doc/title」ノードとした場合には、動的スコア計算部１４２は、この構造化文書の動的スコアを増加させない。しかし、動的スコア領域指定情報を「/doc/title」ノード及びその近傍ノードとした場合であって、「/doc/keywordt」が「/doc/title」の近傍ノードとなる場合には、動的スコア計算部１４２は、この構造化文書の動的スコアを増加させる。
【００４４】
本実施例によれば、動的スコアを算出する領域を検索実行ユーザが指定することにより、検索結果情報に含まれる構造化文書の表示を、検索実行ユーザの意思を反映した順序にしやすくなる。例えば、特定のノードがわかっていて、その中の検索文字列の出現回数で順序付けをしたい場合は上記１を指定すればよい。また、文書全体における検索文字列の出現回数で順序付けをしたい場合は上記３を指定すればよい。さらにまた、検索文字列がありそうなだいたいの位置はわかるがもしかすると違うかもしれないと考える場合や、階層構造上の位置が近い近傍ノードも含んだ部分領域における検索文字列の出現回数で順序付けをしたい場合は上記２を指定すればよい。このように、検索実行ユーザの構造化文書の構造の理解及び順序付けのニーズに応じて順序付けを柔軟に変更できる点で有用である。さらに、文書検索装置１００が近傍ノードを自動計算することで、前述した例のように検索実行ユーザの構造化文書の構造の理解を補完し、さらに検索実行ユーザの利便性を高めることができる。
【００４５】
なお、近傍ノードの計算については、所定ノードから固定値の距離にあるノードを固定的に近傍ノードと判定してもよい。また、所定ノードを基準ノードとし、さらに構造化文書から近傍ノードの候補となる比較ノードを選択し、基準ノードと比較ノードの階層構造上における位置の近さに基づいて近傍ノードを判定してもよい。
後者の例を以下説明する。ここでは、基準ノードと比較ノードの階層構造上における位置の近さをタグ隣接度として算出し、そのタグ隣接度が所定の閾値以上となる比較ノードを、近傍ノードとして判定する。タグ隣接度の算出にあたっては、まず、基準タグと比較タグの共通する親タグのうち、ルートノードから見て階層が最も深い位置にあるタグを共通タグとして特定する。次に、共通タグ、基準タグ、および比較タグの階層の深さをもとに深度要素値を算出する。そして、共通タグから基準タグへの経路、および共通タグから比較タグへの経路をもとに順序要素値を算出する。最後に、タグ隣接度を深度要素値と順序要素値の加重平均により算出する。
【００４６】
深度要素値は、共通タグが深い位置にあり、共通タグの深さと基準タグの深さの差、共通タグの深さと比較タグの深さの差が小さいほど大きくなる。すなわち、タグの階層において、深い位置で深さに関して近い関係にある基準タグと比較タグの深度要素値は大きくなるという特徴を持つ。
順序要素値は、共通タグが深い位置にあり、共通タグから基準タグへの経路と共通タグから比較タグへの経路が近い関係にあるほど大きくなる。すなわち、順序要素値は、タグの階層において深い位置で経路に関して近い関係にある基準タグと比較タグについては大きな値となるという特徴を持つ。
タグ隣接度は、深度要素値が大きいほど大きく、同じく、順序要素値が大きいほど大きくなるという特徴を持つ。
【００４７】
通常、タグの階層構造は文章構造をそのまま規定することが多く、タグの階層構造によって文書の内容がある程度構造化される。例えば、共通タグが深いほど、共通タグのスコープにおいて示される領域が詳細化・具体化されることが多い。また、共通タグに対して、基準タグや比較タグが深さや経路の面で近い位置にあるほど、共通タグのスコープに含まれる情報のうちでも、基準タグのスコープにある情報と比較タグのスコープにある情報が密接な関係にあることが多い。前述した近傍ノードの計算は、このような知見に基づくものであり、基準ノードから固定値の距離のノードを固定的に近傍ノードとするのに比べて、近傍ノードの範囲を合理的に特定しやすくなる。
【００４８】
（実施例４）
本実施例において、静的条件には、構造化文書内の特定の領域を指定する経路式と、その指定経路領域に検索文字列を含む構造化文書の静的スコアを調整するためのスコア調整値が含まれる。静的スコア計算部１４４は、指定経路領域に検索文字列を含む構造化文書の静的スコアをスコア調整値により調整する。
【００４９】
静的条件保持部１２０は、静的条件を保持する間、指定経路領域を含む文書の文書ＩＤと、指定経路領域のノードＩＤと、スコア調整値の組を第１のインデックスとして作成して保持する。静的スコア計算部１４４は、検索結果情報に含まれる各構造化文書から、検索文字列を含む文書の文書ＩＤと検索文字列を含むノードのノードＩＤの組を取得し第２のインデックスとして作成する。静的スコア計算部１４４は、さらに、第１のインデックスと第２のインデックスの文書ＩＤ・ノードＩＤを比較し、一致した場合には、その文書ＩＤ・ノードＩＤに対応するスコア加算値により構造化文書の静的スコアを調整する。
【００５０】
図４の構造化文書の文書登録ユーザが静的条件として、指定経路式「/doc/keywordt」を指定し、それに対応するスコア調整値として「５０」を指定していたとする。検索実行ユーザが検索文字列として「内線番号」を指定したとすると、この構造化文書は「/doc/keywordt」に「内線番号」を含むため、静的スコア計算部１４４は、この構造化文書の静的スコアにスコア調整値「５０」を加算する。
【００５１】
このように、構造化文書における指定経路領域でのキーワードの存否に基づいたスコア調整を行うことで、客観的な基準に基づいて順序付けされた検索結果情報の表示が可能となる。言い換えれば、登録される構造化文書に関するキーワードを特定の領域に記述し、そのキーワードとの合致で順序付けをする、という共通的な基準の設定が可能となる。例えば、「検索文字列とキーワードタグの文字列が合致した文書は高い順序付けにする」といった共通的なポリシに基づいて検索結果情報に含まれる構造化文書の順序付けを行いたい場合などに有用である。
【００５２】
（実施例５）
本実施例において、静的条件には、構造化文書内の特定のノードを指定する経路式と、特定のノードの値に基づいて各構造化文書を順序付けるための規則を示す静的順序付け情報が含まれる。静的スコア計算部１４４は、構造化文書から経路式で指定された特定のノードの値を取得し、静的順序付け情報を参照して、特定のノードの値に基づいて構造化文書の静的スコアを算出する。
【００５３】
本実施例における静的順序付け情報とは、例えば「昇順」や「降順」のように特定のデータ列を順序づけるための規則を示す。
静的条件保持部１２０は、静的条件を保持する間、経路式で指定される特定のノードを含む文書の文書ＩＤと、経路式で指定される特定のノードのノードＩＤと、静的順序付け情報の組を第１のインデックスとして作成して保持する。静的スコア計算部１４４は、検索結果情報に含まれる各構造化文書から、検索文字列を含む文書の文書ＩＤを取得し第２のインデックスとして作成する。静的スコア計算部１４４は、さらに、第１のインデックスと第２のインデックスの文書ＩＤを比較し、一致した場合には、第１のインデックスで保持されているノードＩＤに指定されるノードの値を取得する。そして、そのノードの値と静的順序付け情報に基づいて順序づけられるように構造化文書の静的スコアを所定の調整スコアで調整する。
【００５４】
静的条件として、経路式に「/doc/doc_rank」を指定し、それに対応する静的順序付け情報として「昇順」を指定していたとする。静的スコア計算部１４４は、検索結果情報に含まれる各構造化文書の「/doc/doc_rank」を取得し、それが降順に順序付けされるように各構造化文書の静的スコアを調整する。ここで、この静的条件に図４及び図５の構造化文書が関連付けられていたとする。
この場合、図４の構造化文書の「/doc/doc_rank」は「８０」となっており、図５の構造化文書の「/doc/doc_rank」は「２００」となっている。静的順序づけ情報は「昇順」となっているため、静的スコア計算部１４４は、図４の構造化文書が図５の構造化文書よりも高い順序づけになるように静的スコアを調整する。例えば、図４の構造化文書の静的スコアには図５の構造化文書の静的スコアよりも大きなスコア調整値を加算する。
【００５５】
このように、構造化文書における文書登録ユーザが指定した特定のノードの値と順序付け情報に基づいたスコア調整を行うことで、客観的な基準に基づいて順序付けされた検索結果情報の表示が可能となる。言い換えれば、登録される構造化文書の順序付けのための値を特定のノードに記述し、そのノードの値と順序付け情報に基づき順序付けする、という共通的な基準の設定が可能となる。例えば、共通的な社内ポリシに基づいて検索結果情報に含まれる構造化文書の順序付けを行いたい場合などに有用である。
【００５６】
前述の例でさらに示すと、「/doc/doc_rank」の値を、文書作成組織が社長室であれば「２０」とし、文書作成組織が総務部であれば「８０」とし、文書作成組織が人事部であれば「６０」する。そして静的順序付け情報を「昇順」とする。この場合、静的スコアは「/doc/doc_rank」の大きさの順に調整され、データベース３００に多数の登録文書があった場合でも、文書作成組織が「社長室」、「人事部」、「総務部」の順で文書が順序付けされやすくなる。
他の例としては、「更新日時」を記述したノードに基づく順序付けや、不動産情報における「駅からの徒歩時間」を記述したノードに基づく順序付けなどが可能になる。
【００５７】
（実施例６）
本実施例において、静的条件には、構造化文書内の特定のノードを指定する経路式と、特定のノードの値の範囲を指定する情報が含まれ、静的スコア計算部１４４は、構造化文書から経路式で指定された特定のノードの値を取得し、特定のノードの値と範囲を指定する情報をもとに、構造化文書の静的スコアを調整する
【００５８】
本実施例における範囲を指定する情報とは、例えば「閾値以上」や「第１の閾値以上で第２の閾値以下」のように特定の値の範囲を指定する範囲指定情報である。
静的条件保持部１２０は、静的条件を保持する間、経路式で指定される特定のノードを含む文書の文書ＩＤと、経路式で指定される特定のノードのノードＩＤと、範囲指定情報の組を第１のインデックスとして作成して保持する。静的スコア計算部１４４は、検索結果情報に含まれる各構造化文書から、検索文字列を含む文書の文書ＩＤを取得し第２のインデックスとして作成する。静的スコア計算部１４４は、さらに、第１のインデックスと第２のインデックスの文書ＩＤを比較し、一致した場合には、第１のインデックスで保持されているノードＩＤに指定されるノードの値を取得する。そして、そのノードの値が範囲指定情報で指定される範囲に含まれるかを判定し、含まれる場合、構造化文書の静的スコアを所定の調整スコアで調整する。
【００５９】
静的条件として、経路式に「/doc/date」を指定し、それに対応する範囲指定情報として「２００６年４月１日以降」を指定していたとする。つまり、２００６年４月１日以降の新しい文書を静的スコアの面で優遇し、高い順序づけを行うという共通的な基準があることになる。静的スコア計算部１４４は、各構造化文書の「/doc/date」の値を取得し、その値と範囲指定情報とを比較する。構造化文書の「/doc/date」の値が範囲指定情報の条件を満たす場合、静的スコア計算部１４４はその構造化文書の静的スコアを調整する。
この場合、図４の構造化文書の「/doc/date」は「２００７／０２／０１」となっており、図５の構造化文書の「/doc/date」は「２００６／０１／０８」となっている。したがって静的スコア計算部１４４は、範囲指定情報の条件を満たす図４の構造化文書の静的スコアを、所定のスコア調整値を加算等することで増加させる。
【００６０】
なお、この静的スコアの調整に関し、静的スコア計算部１４４は、ノードの値が範囲指定情報で指定される範囲に含まれるかを判定し、含まれる場合、構造化文書の静的スコアをそのノードの値に応じて異なる調整スコアで調整してもよい。例えば、第１の閾値以上で第２の閾値以下のような範囲指定情報であった場合、ノードの値が、第１の閾値と同じ値の場合には最小の調整スコアを加算し、第２の閾値と同じ値の場合には最大の調整スコアを加算し、その間である場合にはノードの値に応じて最小調整スコアと最大の調整スコアとの加重平均値を加算してもよい。つまり、ノードの値が、第１の閾値に近いほど小さい調整スコアを加算し、第２の閾値に近いほど大きい調整スコアを加算するようにしてもよい。
【００６１】
さらに、この静的スコアの調整に関し、静的スコア計算部１４４は、ノードの値が範囲指定情報で指定される範囲に含まれるかを判定し、含まれない場合でも、構造化文書の静的スコアをそのノードの値に応じて異なる調整スコアで調整してよい。例えば、第１の閾値以上で第２の閾値以下のような範囲指定情報であった場合、ノードの値が、第１の閾値未満の場合には常に最小の調整スコアを加算し、第２の閾値より大きい場合には常に最大の調整スコアを加算してもよい。
【００６２】
このように、構造化文書における文書登録ユーザが指定した特定のノードの値と範囲指定情報に基づいたスコア調整を行うことで、客観的な基準に基づいて順序付けされた検索結果情報の表示が可能となる。言い換えれば、登録される構造化文書の順序付けのための情報を特定のノードに記述し、その情報が特定の範囲に含まれる場合には高い順序付けをする、という共通的な基準の設定が可能になる。前述の例では、２００６年４月１日以降の新しい内線番号表を上位に順位付けしやすくなるという効果がある。逆に、現在の状況と対応しない可能性が高い、古い内線番号表を下位に順序付けしやすくなる。
他の例としては、売上実績が目標に満たない売上月報の抽出、不動産情報における駅からの徒歩時間の範囲指定での検索などが可能になる。
【００６３】
（実施例７）
本実施例において、静的条件には、構造化文書内の特定のノードを指定する経路式と、特定のノードの値との比較対象となる所定の固定値と、所定の固定値と関連付けられたスコア調整値が含まれる。静的スコア計算部１４４は、構造化文書から経路式で指定された特定のノードの値を取得し、特定のノードの値が固定値と一致するときには、構造化文書の静的スコアをその固定値に対応するスコア調整値により調整する。
【００６４】
静的条件保持部１２０は、静的条件を保持する際に、経路式で指定される特定のノードを含む文書の文書ＩＤと、経路式で指定される特定のノードのノードＩＤの組を第１のインデックスとして作成する。そして、ノードＩＤと、比較対象となる固定値と、スコア調整値の組をレコードとする固定値テーブルを作成する。静的スコア計算部１４４は、検索結果情報に含まれる構造化文書から、検索文字列を含む文書の文書ＩＤを取得し第２のインデックスとして作成する。静的スコア計算部１４４は、さらに、第１のインデックスと第２のインデックスの文書ＩＤを比較し、一致した場合には、第１のインデックスで保持されているノードＩＤに指定されるノードの値を取得する。次に、そのノードの値が固定値テーブルで保持するいずれかの固定値と一致するかを判定し、一致する場合、その固定値に対応するスコア調整値により構造化文書の静的スコアを調整する。
【００６５】
静的条件として、経路式に「/doc/author」を指定し、固定値とそれに対応するスコア調整値として以下のように指定していたとする。
（固定値，スコア調整値）＝（Ａ社長，１００）、（Ｂ部長，８０）、（Ｃ課長，６０）。
図７は、本実施例における構造化文書の例である。検索実行ユーザが検索文字列として「年頭の業務指針」を指定したとすると、検索実行部１３０は、図７の構造化文書を検索結果情報として取得する。静的スコア計算部１４４は、各構造化文書の「/doc/author」の値を取得し、その値が固定値テーブルに存在するかを判定する。この場合には、「Ｂ部長」は固定値テーブルに存在するため、対応するスコア調整値８０で図７の構造化文書の静的スコアを加算等して増加させる。
【００６６】
このように、構造化文書における文書登録ユーザが指定した特定のノードの値と範囲指定情報に基づいたスコア調整を行うことで、客観的な基準に基づいて順序付けされた検索結果情報の表示が可能となる。言い換えれば、構造化文書の特定のノードの値が、所定の固定値である場合には高い順序付けをする、という共通的な基準の設定が可能になる。前述の例では、データベース３００に多数の登録文書があった場合でも、「/doc/author」の値つまり作成者が「Ａ社長」「Ｂ部長」「Ｃ課長」の順で順序付けされやすくなる。
【００６７】
（実施例８）
本実施例において、静的条件には、構造化文書内の特定のノードを指定する経路式と、その特定のノードの値をもとにスコア調整値を算出するスコア計算式が含まれる。静的スコア計算部１４４は、構造化文書から経路式で指定された特定のノードの値を取得し、その特定のノードの値とスコア計算式からスコア調整値を算出して、構造化文書の静的スコアをスコア調整値により調整する。本実施例における計算式には、四則演算・階乗計算・累乗計算・対数関数・三角関数等、既知の計算方法が含まれる。
【００６８】
静的条件保持部１２０は、静的条件を保持する際に、経路式で指定される特定のノードを含む文書の文書ＩＤと、経路式で指定される特定の領域のノードＩＤの組を第１のインデックスとして作成するとともに、スコア計算式を文書ＩＤと関連付けて保持する。静的スコア計算部１４４は、検索結果情報に含まれる構造化文書から、検索文字列を含む文書の文書ＩＤを取得し第２のインデックスとして作成する。静的スコア計算部１４４は、さらに、第１のインデックスと第２のインデックスの文書ＩＤを比較し、一致した場合には、第１のインデックスで保持されているノードＩＤに指定されるノードの値を取得する。次に、文書ＩＤと関連付けられた計算式を取得し、先に取得したノードの値をもとにスコア加算値を算出する。最後に、算出したスコア加算値により構造化文書の静的スコアを調整する。
【００６９】
ここでは、本実施例に係る文書検索装置１００による役職を利用した静的スコア算出の例を示す。例えば役職区分が以下の場合に、構造化文書を作成者の役職順に順序付けをしたいとする。
（役職，役職区分）＝（社長，１）、（部長，１０）、（課長，５０）、（一般社員，１００）
ここで、図７の構造化文書を検索対象とする場合には、経路式を「役職区分  ＝  /doc/author[@yakusyoku]」とすると、<author>の属性であるyakusyokuの値が変数「役職区分」に取得できる。スコア計算式を「スコア  ＝  １００００−役職区分^２」とすると、図８のような検索結果情報が表示される。なお、「＾」は、べき乗を示す。
【００７０】
また別の例として、本実施例に係る文書検索装置１００による店舗情報を利用した静的スコア算出の例を示す。例えば、店舗データとして店舗位置の東経・北緯の数値、及び現在位置の東経・北緯の数値がわかるとする。
この場合、店舗情報について記述された構造化文書から、例えば以下のような経路式で店舗位置の東経・北緯の数値を取得する。
店舗位置東経  ＝  /doc/shop/gps/tokei
店舗位置北緯  ＝  /doc/shop/gps/hokui
また、以下のようなスコア計算式を用いると、図９のような検索結果情報が表示される。
【数１】
2008225957.tif 000003
【００７１】
検索結果情報に含まれる構造化文書の順序付けの精度を高めるためには、構造化文書に存在する様々な情報をスコア計算のパラメータとして取得する必要がある。さらに、それらのパラメータを複雑に組み合わせてスコアを計算する必要もある。
本実施例によれば、構造化文書に存在する役職区分やＧＰＳ位置情報といった既存の様々な情報を取得できる。また取得した情報を活用し任意の計算式で静的スコアを算出できる。これにより、順序付けの柔軟性と精度をいっそう高めることができる。
【００７２】
（実施例９）
本実施例において、静的スコアは、複数種類の静的条件に対応付けられる複数種類のスコア調整値により調整され、さらに静的条件には、前記静的スコアの算出に複数のスコア調整値が寄与する割合についての重み付け設定が含まれ、静的スコア計算部１４４は、その重み付け設定に基づいて、複数のスコア調整値により静的スコアを調整する。
【００７３】
本実施例の重み付け設定は、静的条件保持部１２０に保持される。静的スコア計算部１４４は、静的条件保持部１２０のこの重み付け設定を参照して静的スコアの算出を行う。
上記の実施例４から７において、静的条件に基づく順序付けについて例を示した。これらはいずれも同時に設定されうるものであり、また同じ実施例に係る静的条件についても同時に複数の静的条件が設定されうる。これは例えば、構造化文書に対して作成者・作成日時・重要度といった複数の評価基準に基づいて順序付けを行いたい場合に起こりうる。本実施例では、これら複数の静的条件の重み付けを調整できるようにすることで組織の共通的なポリシ等に応じた最適な順序付けを実現する。
【００７４】
例えば、同一の構造化文書における静的条件として、（１）実施例４に係るキーワード合致によるスコア調整、（２）実施例６に係る更新日時によるスコア調整、（３）実施例７に係る作成者によるスコア調整、が設定されているとする。この場合、（１）の寄与度は４０％、（２）の寄与度は３０％、（３）の寄与度は３０％と設定されていたとすると、どんなに社長が作成した文書であっても、キーワードに合致がなければ静的スコアは小さく算出される。また、キーワードに合致したとしても更新日時が古ければ静的スコアは小さく算出される。
【００７５】
なお、本実施例の重み付けの設定は、動的条件として検索実行ユーザにより与えられてもよい。この場合には、静的スコア計算部１４４は、動的条件に含まれるこの重み付けの設定を取得して静的スコアの算出を行う。これにより、検索実行ユーザの主観に基づき複数の静的条件個々の重み付けが可能になる。
【００７６】
本明細書におけるいずれの実施例においても、静的条件の登録は構造化文書の登録の前であっても、後であってもよい。構造化文書の登録の前に静的条件が登録された場合、構造化文書の登録時に、関連付けられた静的条件に基き前述した第１のインデックスが作成される。構造化文書の登録の後に静的条件が登録された場合、静的条件の登録時に、関連付けられた構造化文書を走査し前述した第１のインデックスが作成される。
さらに、静的条件と構造化文書の関連付けに関し、文書登録ユーザは登録済みの静的条件を文書登録時に選択するようにしてもよい。または、文書のタイトルや作成者に基づいて、自動的に登録済みの静的条件が登録文書に対し関連付けられるようにしてもよい。これにより、文書登録ユーザの手間が軽減されるとともに、文書登録ユーザの手作業によるミスを減らすことができる。さらに、組織の共通ポリシに基づく順序付けを徹底できる点で有用である。
【００７７】
さらに、いずれの実施例においても、経路式の指定先の領域は、構造化文書と物理的に同一のファイルの領域には限られない。例えば、図４や図５等で示した実体情報を格納する実体文書に関連付けられた、注釈情報を格納する注釈文書についても指定することができる。
【００７８】
ここで、「実体情報」とは検索対象コンテンツとなるデータであり、たとえば、要素やタグ、属性などである。「実体文書」とは実体情報を格納する構造化文書である。「注釈情報」とは実体情報に対して、ユーザが付与する注釈を示すデータであり、たとえば、要素やタグ、属性などである。「注釈文書」とは注釈情報を格納する構造化文書である。実体情報と注釈情報は、それぞれ実体文書と注釈文書という別々の文書に分けて格納され、実体文書と注釈文書のそれぞれについて、データと文書の対応関係がインデックス化される。この２種類のインデックス情報により、実体情報と注釈情報の両面から、求める実体文書を検索できる。
【００７９】
経路式の指定先を注釈文書内の注釈情報とした場合には、注釈情報の値により、実体文書を検索結果情報に含めることができ、また注釈文書と関連付けられた実体文書の動的スコア及び静的スコアの調整ができる。例えば、実施例１の場合であれば、経路式を注釈文書に対する「//ＴＯＤＯ」とすることで、注釈文書内の「ＴＯＤＯ」ノードの領域の注釈情報と関連する実体情報を検索結果情報に含めることができる。また例えば、実施例４の場合であれば、注釈文書内の特定のタグを指定しておき、検索文字列がそのタグの要素と合致した場合には、その注釈文書と関連する実体文書の静的スコアを増加等させ、高い順序を付けることができる。
【００８０】
実体文書の記述に対する他者からの修正依頼や記述内容の変更予定のメモなどは、注釈文書側に記述されることが多い。したがって検索実行ユーザは、注釈文書の注釈情報をもとに検索結果情報に含まれる実体情報を順序付けしたいと考えることもある。本実施例では、このような検索実行ユーザのニーズに応え、注釈情報の値による実体文書のスコア調整を実現することで検索実行ユーザの利便性を高める。
【００８１】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８２】
本実施例ではＸＭＬ文書を対象として説明したが、文書検索装置１００は、ＸＨＴＭＬやＨＴＭＬ、ＳＧＭＬなど、タグの階層構造に基づく経路式によってデータの位置が特定されるタイプの文書ファイルであれば、いずれを対象としても応用可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態に係る文書検索装置の処理の概要を示す模式図である。
【図２】文書検索装置の構成を示す機能ブロック図である。
【図３】文書検索装置での処理の流れを示すフローチャートである。
【図４】構造化文書の例である。
【図５】構造化文書の例である。
【図６】動的スコア領域指定情報で指定する領域の説明をする図である。
【図７】構造化文書の例である。
【図８】検索結果情報の表示例である。
【図９】検索結果情報の表示例である。
【符号の説明】
【００８４】
１００  文書検索装置、１１０  ユーザインタフェイス処理部、１１２  静的条件受付部、１１４  検索要求受付部、１１６  検索結果出力部、１２０  静的条件保持部、１３０  検索実行部、１４０  検索ランキング制御部、１４２  動的スコア計算部、１４４  静的スコア計算部、１４６  文書スコア付与部、１４８  順序決定部、２００  通信ネットワーク、３００  データベース、４００  構造化文書の全体として示される領域、４１０  構造化文書の所定ノードとその所定ノードの近傍のノードにより示される領域、４１２  構造化文書のタグ構造において末端に位置するノードにより示される領域、Ｓ１  検索要求情報を検出するステップ、Ｓ２  検索結果情報を取得するステップ、Ｓ３  動的スコアを算出するステップ、Ｓ４  静的スコアを算出するステップ、Ｓ５  文書スコアを算出するステップ、Ｓ６  各文書の順序を決定するステップ、Ｓ７  結果を画面表示するステップ。
【図１】
2008225957.tif 000004
【図２】
2008225957.tif 000005
【図３】
2008225957.tif 000006
【図４】
2008225957.tif 000007
【図５】
2008225957.tif 000008
【図６】
2008225957.tif 000009
【図７】
2008225957.tif 000010
【図８】
2008225957.tif 000011
【図９】
2008225957.tif 000012