(57)【要約】      （修正有）【課題】性質が異なる複数の事例データを複数用いて、ランキング関数の生成を実現する。【解決手段】各ドメイン事例ＤＢ０１０，０２０には性質の異なる事例データが格納されている。事例ＤＢ生成機能部０３０は、両ＤＢ０１０，０２０の事例データを統合して事例ＤＢ０４０に保存する。順序関係ＤＢ生成機能部０５０は、事例ＤＢ０４０の事例同士に順序関係を付与して順序関係ＤＢ０６０に保存する。弱ランキング関数生成機能部０７０は、順序関係ＤＢ０６０に保存された順序関係をランキングするランキング関数を生成する。事例選択機能部１１０は、順序関係ＤＢ０６０の保存データを順次更新し、更新された順序関係に基づき生成された各ランキング関数をランキング関数格納ＤＢに保存する。弱ランキング関数統合機能部１００は、ランキング関数格納ＤＢの保存データを統合し、最終的なランキング関数を生成する。【選択図】図１
2011059947.tif 000002
【特許請求の範囲】
【請求項１】
検索キーワードに基づき電子文書群を検索した検索結果をランキングするためのランキング関数を生成する装置であって、
複数のドメイン事例データベースに格納された性質の異なる事例データを統合する事例データ統合手段と、
前記事例データ統合手段の統合した事例データに対して事例同士に順序関係を付与して順序関係データベースに保存する順序関係生成手段と、
前記順序関係データベースに保存された順序関係をランキングするためのランキング関数を生成するランキング関数生成手段と、
前記順序関係データベースの保存データを順次更新し、更新された順序関係に基づき前記ランキング関数生成手段が生成した各ランキング関数を関数格納データベースに保存する事例選択手段と、
前記関数格納データベースの保存データを統合し、最終的なランキング関数を生成するランキング関数統合手段と、
を備えることを特徴とするランキング関数生成装置。
【請求項２】
前記各ドメイン事例データベースに格納される事例データは、それぞれクエリ毎に各電子文書のスコアとクエリ検索時の特徴値とを有し、
前記事例データ統合手段は、前記各ドメイン事例データベースに格納された事例データに対して事例毎にドメインの種別を追記して事例データベースに保存し、
前記順序関係生成手段は、前記事例データベースに格納された同一クエリ・同一ドメインの事例データに対して、スコア差を有する事例同士の順序関係の重み情報をドメイン毎に前記順序関係データベースの保存し、
前記ランキング関数生成手段は、前記順序関係データベースに保存された重み情報に応じてランキング関数を生成し、
前記事例選択手段は、前記順序関係データベースに保存された重み情報の更新手法をドメインに応じて区別する
ことを特徴とする請求項１記載のランキング関数生成装置。
【請求項３】
前記事例選択手段は、前記順序関係データベースの保存データのうち、特定のドメインに対して前記重み情報を大きくして更新する一方、
他のドメインに対して前記重み情報を小さくして更新することを特徴とする請求項２記載のランキング関数生成装置。
【請求項４】
検索キーワードに基づき電子文書群を検索した検索結果をランキングするためのランキング関数を生成する方法であって、
事例データ統合手段が、複数のドメイン事例データベースに格納された性質の異なる事例データを統合する第１ステップと、
順序関係生成手段が、前記第１ステップで統合した事例データに対して事例同士に順序関係を付与して順序関係データベースに保存する第２ステップと、
ランキング関数生成手段が、前記順序関係データベースに保存された順序関係をランキングするためのランキング関数を生成する第３ステップと、
事例選択手段が、前記順序関係データベースに保存された順序関係を順次更新し、前記第３ステップを繰り返して生成された各ランキング関数を関数格納データベースに保存する第４ステップと、
ランキング関数統合手段が、前記関数格納データベースの保存データを統合し、最終的なランキング関数を生成する第５ステップと、
を有することを特徴とするランキング関数生成方法。
【請求項５】
前記第１ステップは、クエリ毎に各電子文書のスコアとクエリ検索時の特徴値とを含有する前記各ドメイン事例データベースの事例データに対して、事例毎にドメインを付加して事例データベースに保存し、
前記第２ステップは、前記ドメイン事例データベースに格納された同一クエリ・同一ドメインのレコードに対して、スコア差を有する事例同士の順序関係の重み情報をドメイン毎に前記順序関係データベースの保存し、
前記第３ステップは、前記順序関係データベースに保存された重み情報に応じてランキング関数を生成し、
前記第４ステップは、前記順序関係データベースに保存された重み情報の更新手法をドメインに応じて区別する
ことを特徴とする請求項４記載のランキング関数生成装置。
【請求項６】
前記第４ステップは、前記順序関係データベースの保存データのうち、特定のドメインに対して前記重み情報を大きくして更新する一方、
他のドメインに対して前記重み情報を小さくして更新することを特徴とする請求項５記載のランキング関数生成方法。
【請求項７】
請求項１〜請求項３のいずれか１項に記載のランキング関数生成装置の各手段としてコンピュータを機能させるためのランキング関数生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブ検索システムにおいて，検索結果のランキングを行うスコアを算出するためのランキング関数を生成する技術に関する。
【背景技術】
【０００２】
近年、インターネットの普及によって、インターネット上の膨大なＷｅｂ文書群（電子文書群）からユーザが必要とする情報を、的確に検索するウェブ検索システムの重要性が高まっている。このウェブ検索システムでは、検索結果のランキングを行うためのスコアを算出する。このスコア算出のためのランキング関数生成には非特許文献１．２の手法が利用されている。
【０００３】
図６に基づき概略を説明すれば、ランキング関数生成装置１は、目標ドメイン事例ＤＢ０１０の格納データを入力とし、順序関係ＤＢ生成機能部０５０，順序関係ＤＢ０６０，弱ランキング関数生成機能部０７０，事例選択機能部１１０，弱ランキング関数格納ＤＢ０９０，弱ランキング関数統合機能部１００を通じて、ランキング関数１２０を出力する。このとき目標ドメイン事例ＤＢ０１０には、非特許文献１．２などで用いられる機械学習アルゴリズムをもとに、ランキング関数を生成するために必要な順序関係ＤＢ０６０のデータ構築用の事例データが格納されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｙｏａｖ  Ｆｒｅｕｎｄ，Ｒａｊ  Ｉｙｅｒ，Ｒｏｂｅｒｔ  Ｅ．Ｓｃｈａｐｉｒｅ，Ｙｏｒａｍ  Ｓｉｎｇｅｒ．  ”Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｂｏｏｓｔｉｎｇ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｃｏｍｂｉｎｉｎｇ  Ｐｒｅｆｅｒｅｎｃｅｓ”．  Ｊｏｕｒｎａｌ  ｏｆ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｓｅａｒｃｈ，  Ｖｏｌ．４，  ｐｐ．  ９３３≡９６９，  ２００３．
【非特許文献２】Ｔｈｏｒｓｔｅｎ  Ｊｏａｃｈｉｍｓ，”Ｏｐｔｉｍｉｚｉｎｇ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅｓ  Ｕｓｉｎｇ  Ｃｌｉｃｋｔｈｒｏｕｇｈ  Ｄａｔａ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｄａｔａ  Ｍｉｎｉｎｇ  （ＫＤＤ），  ＡＣＭ，  ２００２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術によれば、ランキング関数生成装置１への入力として、人手による評価データもしくは非特許文献２のようにクリックスルーログ、即ち検索クエリに対するユーザのクリック履歴を検索システムが保存したログなどを元に生成された事例データが用いられてきた。
【０００６】
ところが、非特許文献１．２のような教師あり機械学習のアルゴリズムは、このような性質の異なる各事例データを同時に利用するとランキング関数の精度が低下するおそれがあり、その適用が困難な問題があった。
【０００７】
本発明は、上述のような問題点を解決するためになされたものであり、前述のように性質が異なる複数の事例データを複数用いて、ランキング関数の生成を実現することを解決課題としている。
【課題を解決するための手段】
【０００８】
そこで、本発明は、性質が異なる複数の事例データに対して、別ドメイン事例データの中から目標ドメイン事例データに近い事例を選択しながら学習を行うことにより、高精度のランキング関数生成を実現する。
【０００９】
本発明の一態様は、検索キーワードに基づき電子文書群を検索した検索結果をランキングするためのランキング関数を生成する装置であって、複数のドメイン事例データベースに格納された性質の異なる事例データを統合する事例データ統合手段と、前記事例統合手段の統合した事例データに対して事例同士に順序関係を付与して順序関係データベースに保存する順序関係生成手段と、前記順序関係データベースに保存された順序関係をランキングするためのランキング関数を生成するランキング関数生成手段と、前記順序関係データベースの保存データを順次更新し、更新された順序関係に基づき前記ランキング関数生成手段が生成した各ランキング関数を関数格納データベースに保存する事例選択手段と、前記関数格納データベースの保存データを統合し、最終的なランキング関数を生成するランキング関数統合手段と、を備える。
【００１０】
本発明の他の態様は、検索キーワードに基づき電子文書群を検索した検索結果をランキングするためのランキング関数を生成する方法であって、事例データ統合手段が、複数のドメイン事例データベースに格納された性質の異なる事例データを統合する第１ステップと、順序関係生成手段が、前記第１ステップで統合した事例データに対して事例同士に順序関係を付与して順序関係データベースに保存する第２ステップと、ランキング関数生成手段が、前記順序関係データベースに保存された順序関係をランキングするためのランキング関数を生成する第３ステップと、事例選択手段が、前記順序関係データベースに保存された順序関係を順次更新し、前記第３ステップを繰り返して生成された各ランキング関数を関数格納データベースに保存する第４ステップと、ランキング関数統合手段が、前記関数格納データベースの保存データを統合し、最終的なランキング関数を生成する第５ステップと、を有する。
【００１１】
なお、本発明は、前記装置としてコンピュータを機能させるプログラムに構成することができる。このプログラムは記録媒体に記録した態様で提供してもよい。
【発明の効果】
【００１２】
本発明によれば、性質が異なる複数の事例データ、例えば人手による評価データやクリックスルーログなどから得られる訓練データを用いて、ランキング関数の生成を行うことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るランキング関数生成装置の構成図。
【図２】同  全体処理を示すフローチャート図。
【図３】同  事例ＤＢ生成機能部の処理を示すフローチャート図。
【図４】同  順序関係Ｄｂ生成機能部の処理を示すフローチャート図。
【図５】同  事例選択機能部の処理を示すフローチャート図。
【図６】従来例のランキング関数生成装置の構成図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態に係るランキング関数生成装置を説明する。このランキング関数生成装置は、好ましくは従来ランキング関数生成に用いられてきた人手評価データなどの評価データを目標ドメイン事例データとし、目標ドメイン事例ＤＢに格納する。一方、目標ドメイン事例データと性質が異なるものの、ランキング関数生成に利用可能なクリックスルーログなどのデータを別ドメイン事例データとし、別ドメイン事例ＤＢに格納する。
【００１５】
ここでドメインが異なることは、データの性質が異なることを示している。この際、目標ドメインデータには、最終的に達成したいとされるスコアが付与された正解を用いるため、人手による評価データを目標ドメインデータに用いることが適切である。
【００１６】
≪装置構成例≫
図１に基づき前記ランキング関数生成装置の構成例を説明する。ここでは前記ランキング関数生成装置２は、図示省略のユーザ端末からの検索指示に応じて電子文書群を検索するＷｅｂ検索システム（いわゆる検索エンジン）を構成する。
【００１７】
具体的には前記ランキング関数生成装置２は、通常のコンピュータのハードウェアリソース、例えばＣＰＵ，メモリ（ＲＡＭ），ハードディスクドライブ装置，通信インタフェースなどを備える。
【００１８】
このハードウェアリソースとソフトウェアリソースとの協働の結果、前記ランキング関数生成装置２は、前記目標ドメイン事例ＤＢ０１０，前記別ドメイン事例ＤＢ０２０，事例ＤＢ生成機能部０３０，事例ＤＢ０４０，順序関係ＤＢ生成機能部０５０，順序関係ＤＢ０６０，弱ランキング関数生成機能部０７０，事例選択機能部１１０，弱ランキング関数格納ＤＢ０９０，弱ランキング関数統合機能部１００を有している。ここでは別ドメイン事例ＤＢ０２０，事例ＤＢ生成機能部０３０を有する点で従来技術と相違する。
【００１９】
このうち前記各ＤＢ０１０．０２０．０４０．０６０．０９０は、前記ハードディスクドライブ装置上に構築されているものとする。なお、前記各ドメイン事例ＤＢ０１０．０２０は、前記ランキング関数生成装置２に内蔵する必要はなく、データ送受信可能な外部データベースとして構築してもよい。表１．２は、前記各ドメイン事例ＤＢ０１０．０２０に格納されるデータ構成例を示している。
【００２０】
【表１】
2011059947.tif 000003
【００２１】
表１は、前記目標ドメイン事例ＤＢ０１０のデータ構成例を示し、ランキング関数を生成するために用いられる事例データが格納されている。ここでは「ｑｉｄ  １」のクエリにおいて、スコア５の文書はスコア４の文書よりもランキング上位に位置する情報を示している。また、特徴１〜特徴Ｋは、「ｑｉｄ  １」のクエリによって検索された際の各特徴の値を示している。この特徴は、例えば単語頻度のようにクエリに依存する値や、ページの重要度のように静的に付与されるものがある。ページの重要度は、Ｗｅｂページのリンク情報などを用いて算出される。
【００２２】
【表２】
2011059947.tif 000004
【００２３】
表２は、前記別ドメイン事例ＤＢ０２０のデータ構成例を示している。ここでは前記別ドメイン事例ＤＢ２０は、前記目標ドメイン事例ＤＢ０１０と異なる性質の事例データを保持するデータベースであり、基本的には前記目標ドメイン事例ＤＢ１０が保持するデータと同じ形式でクエリ，文書に対するスコアが付与されている。別ドメイン事例としては、例えばクリックスルーログ（ユーザのクリック履歴）などが挙げられる。
【００２４】
また、前記各機能部０３０．０５０．０７０．１００．１１０の概略を説明すれば、前記事例ＤＢ作成機能部０３０は、前記各ドメイン事例ＤＢ０１０．０２０から入力されたデータに基づき目標ドメイン、別ドメインという情報を保持した事例データを前記事例ＤＢ４０に格納する。また、前記順序関係ＤＢ生成機能部０５０は、前記事例ＤＢ０４０を参照してランキング関数を生成するために、それぞれの順序関係毎に重み初期値を設定する。この重み付き順序関係データを前記順序関係ＤＢ０６０に格納する。
【００２５】
前記弱ランキング関数生成機能部０７０は、前記順序関係ＤＢ０６０を参照して重み付き順序関係データに基づきランキング関数（以下、最終的に生成されるランキング関数と区別するために弱ランキング関数とする。）を生成する。
【００２６】
前記事例選択機能部１１０は、前記弱ランキング関数生成機能部０７０で生成された弱ランキング関数と、前記順序関係ＤＢ６０の格納データと、前記事例ＤＢ４０の格納データとを入力として、前記順序関係ＤＢ０６０に格納された順序関係の重みを更新する。この更新された重み付き順序関係データに基づき弱ランキング関数の生成が多数回にわたって試行される。
【００２７】
このとき順序関係の重みの更新は、従来技術とは異なり、前記事例ＤＢ０４０に格納された目標ドメインと別ドメインとで区別することにより、別ドメインデータ中から役立つ順序関係を選択する。すなわち、目標ドメインデータについては生成された弱ランキング関数で誤ってランキングされた順序関係の重みを大きくして更新する。
【００２８】
これにより次回の試行では、前回の試行で良好にランキングできなかった事例に対して有効に働くような弱ランキング関数を生成することができる。また、別ドメインデータについては誤ってランキングされた順序の重みを小さくして更新することによって、次回の試行で目標ドメイン学習のノイズとなるような順序関係の影響を排除することができる。このように各試行の結果生成された弱ランキング関数の情報は、前記事例選択機能部１１０を通じて前記弱ランキング関数ＤＢ０９０に格納される。
【００２９】
前記弱ランキング関数統合機能部１００は、前記弱ランキング関数ＤＢ０９０を参照して各試行の結果生成された弱ランキング関数を統合し、一つの最終的なランキング関数１２０を生成・出力する。出力されたランキング関数１２０は、Ｗｅｂ検索システム（いわゆる検索エンジン）にて、検索結果をランキングするスコア算出に利用される。
【００３０】
図２は、前記ランキング関数生成装置２の全体的な処理ステップ（Ｓ００１〜Ｓ００９）を示している。ここでは処理が開始されると、前記目標ドメイン事例ＤＢ０１０および前記別ドメイン事例ＤＢ０２０の格納データを入力として、前記事例ＤＢ生成機能部０３０を通じて前記事例ＤＢ０４０の格納データが作成される（Ｓ００１）。また、前記事例ＤＢ０４０の格納データを入力として、前記順序関係ＤＢ作成機能部０５０を通じて、前記順序関係ＤＢ０６０の格納データが作成される（Ｓ００２）。
【００３１】
つぎに前記弱ランキング関数生成機能部０７０は、あらかじめ設定された弱ランキング関数生成の総試行数Ｎに達するまで弱ランキング関数の生成を試行する（Ｓ００３〜Ｓ００５）。ここでは弱ランキング関数の生成は、試行回数Ｉ＝０を初期値とし、「試行回数Ｉ＜設定総試行数Ｎ」である限りＳ００６〜Ｓ００８の処理が繰り返される（Ｓ００４．Ｓ００５）。なお、総試行数Ｎは、閾値としてプログラムなどに設定しておけばよい。
【００３２】
すなわち、前記順序関係ＤＢ０６０および前記事例ＤＢ０４０の格納データを入力とし、前記弱ランキング関数生成機能部０７０により弱ランキング関数を生成する（Ｓ００６）。また、生成された弱ランキング関数と前記順序関係ＤＢ０６０および前記事例ＤＢ０４０の格納データを入力とし、前記事例選択機能部１１０により前記順序関係ＤＢ０６０および弱ランキング関数格納ＤＢ０９０の格納データを更新する（Ｓ００７）。
【００３３】
そして、試行回数「Ｉ」に「Ｉ＋１」を代入し（Ｓ００８）、「試行回数Ｉ＝設定総試行数Ｎ」が成立すれば、Ｓ００９に進む（Ｓ００５）。Ｓ００９では前記弱ランキング関数格納ＤＢ０９０の格納データを入力とし、前記弱ランキング関数統合機能部１００によりランキング関数１２０が生成され、処理を終了する。以下、前記各機能部０３０．０５０．０７０．１１０．１００の具体的な処理内容を説明する。
【００３４】
≪事例ＤＢ生成機能部０３０≫
前記事例ＤＢ生成機能部０３０は、各ドメイン事例ＤＢ０１０．０２０からの入力データを結合し、前記事例ＤＢ０４０に格納する。このとき連続番号の事例ＩＤとドメイン情報（目標ドメインであるか、別ドメインであるか）という情報を加える。これにより入力データに基づき目標ドメイン（ｔａｒｇｅｔ）、別ドメイン（ｄｉｆｆｅｒｅｎｔ）といった情報を保持した前記事例ＤＢ０４０が構築される。この処理内容を図３のフローチャートに基づき説明する。
【００３５】
Ｓ１０１〜Ｓ１０３：まず、処理が開始されると、前記事例ＤＢ４０に格納する事例ＩＤの番号「ｉ」に「１」を代入し（Ｓ１０１）、前記目標ドメイン事例ＤＢ０１０を参照して入力データ中の未処理レコードを取得する（Ｓ１０２）。ここで取得したレコードの先頭に事例ＩＤの番号「ｉ」，ドメイン（ｔａｒｇｅｔ）のカラムを加えたレコードを前記事例ＤＢ４０に追加する（Ｓ１０３）。
【００３６】
Ｓ１０４．Ｓ１０５：事例ＩＤの番号「ｉ」に「ｉ＋１」を代入し（Ｓ１０４）、前記目標ドメインＤＢ０１０に未処理レコードが存在するか否かを確認する（Ｓ１０５）。確認の結果、未処理のレコードがあればＳ１０２に戻ってＳ１０３の処理を繰り返す一方、未処理のレコードが無ければＳ１０６に進む。
【００３７】
Ｓ１０６．Ｓ１０７：つぎに前記別ドメイン事例ＤＢ０２０から未処理のレコードを取得する（Ｓ１０６）。ここでは取得したレコードの先頭に事例ＩＤ「ｉ」，ドメイン「ｄｉｆｆｅｒｅｎｔ」のカラムを加えたレコードを前記事例ＤＢ０４０に追加する（Ｓ１０７）。
【００３８】
Ｓ１０８．Ｓ１０９：事例ＩＤの番号「ｉ」に「ｉ＋１」を代入し（Ｓ１０８）、前記別ドメイン事例ＤＢ０２０に未処理レコードが存在するか否かを確認する（Ｓ１０９）。確認の結果、前記別ドメイン事例ＤＢ０２０に未処理のレコードが存在すれば、Ｓ１０６に戻ってＳ１０７の処理を繰り返す一方、未処理のレコードが無ければ処理を終了する。
【００３９】
なお、表３は、Ｓ１０１〜Ｓ１０９の処理の結果、前記事例ＤＢ０４０に格納されるレコードの一例を示している。ここでは前記事例ＤＢ０４０には、事例ＩＤ毎にドメイン（ｔａｒｇｅｔ／ｄｉｆｆｅｒｅｎｔ）やクエリ（ｑｉｄ）、スコア、特徴１〜Ｋの情報が格納されている。
【００４０】
【表３】
2011059947.tif 000005
【００４１】
≪順序関係ＤＢ生成機能部０５０≫
前記順序関係ＤＢ作成機能部０５０は、前記事例ＤＢ０４０の格納データを入力とし、前記順序関係ＤＢ０６０を生成する。ここでは同じクエリ（ｑｉｄ）・同じドメインのレコードについて、スコアに差がある事例同士をひとつの順序関係として，前記順序関係ＤＢ０６０に格納する。
【００４２】
このとき前記順序関係ＤＢ０６０は、事例同士の順序関係の情報（重み）を保持する。重みは、前記弱ランキング関数生成機能部０７０を用いて、弱ランキング関数を生成する際に用いられる。以下、図４のフローチャートに基づき前記作成機能部０５０の処理を説明する。ここでは前記事例ＤＢ０４０の格納データ総量（レコード総数）を「Ｍ」と表す。
【００４３】
Ｓ２０１．Ｓ２０２：処理が開始されると、まず「Ｍ」に「０」を代入し（Ｓ２０１）、前記事例ＤＢ０４０からドメイン毎にクエリ（ｑｉｄ）のユニーク集合を取得する（Ｓ２０２）。ここで取得したクエリ集合をＱとする。
【００４４】
Ｓ２０３：Ｓ２０２で取得した集合Ｑに未処理のクエリ（ｑｉｄ）が存在するか否かを確認する。確認の結果、未処理のクエリ（ｑｉｄ）が存在すればＳ２０４に進む一方、存在しなければＳ２１１に進む。
【００４５】
Ｓ２０４．Ｓ２０５：クエリ集合Ｑから次の未処理クエリｑとドメインｄを抽出する（Ｓ２０４）。つぎに前記事例ＤＢ０４０からクエリｑとドメインｄを含むレコードを取得し、スコア順にソートし、これを「Ｒ」とする（Ｓ２０５）。
【００４６】
Ｓ２０６：Ｓ２０５のソート結果Ｒに未処理のレコードがあるか否かを確認し、未処理のレコードがあればＳ２０７に進み、未処理のレコードが無ければＳ２０３に戻って次のクエリ（ｑｉｄ）の処理を実施する。
【００４７】
Ｓ２０７〜２０９：前記事例ＤＢ０４０からクエリｑとドメインｄを含む次の未処理レコードを取得する（Ｓ２０７）。取得したレコードを「ｒ」とする。ここではソート結果Ｒに含まれる「ｒ」以降のレコードのうち、「ｒ」よりもスコアの小さいドメインの等しいレコードを取得する（Ｓ２０８）。取得したレコードを「Ｒ’」とする。
【００４８】
この「Ｒ’」に含まれる各「ｒ’」について、「ｔａｒｇｅｔ／ｄｉｆｆｅｒｅｎｔ」のドメイン、「ｒ」の事例ＩＤを上位事例ＩＤ、「ｒ’」の事例ＩＤを下位ＩＤとして前記順序関係ＤＢ６０に出力する（Ｓ２０９）。
【００４９】
Ｓ２１０．Ｓ２１１：「Ｍ」に「Ｍ＋１」を代入し（Ｓ２１０）、Ｓ２０６に戻って未処理レコードの有無が確認される。このときソート結果Ｒに未処理のレコードが無ければ、Ｓ２０３にて未処理クエリの有無が確認される。
【００５０】
ここで未処理のクエリが集合Ｑに無ければ、全てのレコードの重みを１／Ｍに設定し（Ｓ２１１）、処理を終了する。設定される重みは初期値とする。なお、表４は、Ｓ２０１〜Ｓ２１１の処理の結果、前記順序関係ＤＢ０６０に格納されるレコードの一例を示し、ドメイン（ｔａｒｇｅｔ／ｄｉｆｆｅｒｅｎｔ）毎に上位事例ＩＤ、下位事例ＩＤ、重み（初期値）の情報が格納されている。
【００５１】
【表４】
2011059947.tif 000006
【００５２】
≪弱ランキング関数生成機能部０７０≫
前記弱ランキング関数生成機能部０７０には，例えば非特許文献１の「ＷｅａｋＬｅａｒｎ」アルゴリズムを利用することができる。ここでは弱ランキング関数生成機能部という名称であるが，通常のランキング関数生成装置を利用できる。
【００５３】
非特許文献１の「ＷｅａｋＬｅａｒｎ」アルゴリズムは、ひとつの特徴に着目し，その値が閾値以上であれば「１」，閾値以下であれば「０」を与えるランキング関数である。したがって、優位度，特徴ＩＤ，閾値の３つの情報を保持すれば，弱ランキング関数を再現することが可能である。
【００５４】
具体的には前記弱ランキング関数生成機能部０７０は、前記順序関係ＤＢ０６０に格納された順序関係の重みを考慮して、弱ランキング関数の生成を行う。このとき前記順序関係ＤＢ０６０において重みの大きい順序関係の誤りコスト（優位度）を大きく，重みの小さい順序関係を誤りコスト（優位度）が小さいとみなすことで、重みの大きい順序関係を適切にランキングするための弱ランキング関数を生成する。
【００５５】
≪事例選択機能部１１０≫
以下、前記事例選択機能部１１０の処理内容を、図５のフローチャートに基づき説明する。ここでは前記順序関係ＤＢ０６０に格納された順序関係の重み、即ち弱ランキング関数生成時の重みを順次更新していく。
【００５６】
Ｓ３０１：まず、前記弱ランキング関数生成機能部０７０を通じて生成された弱ランキング関数の生成元、即ち前記順序関係ＤＢ０６０の順序関係に対する重み付き正解率となる優位度αを算出する。αの算出方法は、例えば非特許文献１の方法などを利用する。
【００５７】
ここでは前記順序関係ＤＢ０６０のドメインが「ｔａｒｇｅｔ」であるレコードのうち、生成された弱ランキング関数によって誤ってランキングされた順序関係の重みの和を全体の重み和で正規化したものを「{ EMBED Equation.3  , }」とすると、式（１）を用いて優位度αを求めることができる。
【００５８】
【数１】
2011059947.tif 000007
【００５９】
Ｓ３０２．Ｓ３０２：前記正規化のための正規化総量Ｚに「０」を代入し（Ｓ３０２）、続いて前記順序関係ＤＢ０６０から未処理のレコードを取得する（Ｓ３０３）。ここで取得したレコードを「ｐ」とする。
【００６０】
Ｓ３０４．Ｓ３０５：弱ランキング関数によってＳ３０３で取得したレコードｐの上位事例と下位事例とをランキングする（Ｓ３０４）。このランキングは、前記事例ＤＢ０４０から入力された特徴１〜Ｋを用いる。このときレコードｐが、正しくランキングされた場合はＳ３０７に進む一方、正しくランキングされていない場合はＳ３０６に進む（Ｓ３０５）。
【００６１】
Ｓ３０６：前記順序関係ＤＢ０６０における順序関係のレコードｐの重みを更新する。重みの更新方法は、目標ドメイン事例（ｔａｒｇｅｔ）と別ドメイン事例（ｄｉｆｆｅｒｅｎｔ）とで異なる。ここでは前回の弱ランキング関数の生成試行における重みを「Ｗｔ」とすると、例えば式（２）の更新式で重みを更新することができる。
【００６２】
【数２】
2011059947.tif 000008
【００６３】
このとき別ドメインについては重みを下げる。例えば式（２）における「α」を式（３）とする。この式（３）において、「ｎ」は、順序関係ＤＢ０６０の「ｄｉｆｆｅｒｅｎｔ」ドメインのレコード数、Ｎは弱ランキング関数生成の設定総試行数を示している。
【００６４】
【数３】
2011059947.tif 000009
【００６５】
Ｓ３０７〜Ｓ３０９：正規化総量Ｚに「Ｚ＋ｐ」の重みを代入し（Ｓ３０７）、未処理のレコードが前記順序関係ＤＢ６０に存在するか否かを確認する（Ｓ３０８）。確認の結果、未処理のレコードが存在すればＳ３０３に戻って以後の処理を再開する一方、未処理のレコードが存在しなければＳ３０９に進む。Ｓ３０９では、前記順序関係ＤＢ０６０の全てのレコードの重みを正規化総量Ｚで除算した値に更新する。このＳ３０１〜Ｓ３０９の処理を弱ランキング関数の生成毎に実施することで前記弱ランキング関数ＤＢ０９０が構築される。
【００６６】
【表５】
2011059947.tif 000010
【００６７】
表５は、前記弱ランキング関数ＤＢ０９０の格納データ構成例を示している。ここでは非特許文献１のＷｅａｋＬｅａｒｎ」アルゴリズムを用いて弱ランキング関数を生成したデータ構成例を示している。このデータ構成例では、Ｓ３０６で順次更新された優位度と、弱ランキング関数生成時の閾値と、Ｓ３０４のランキングに用いた特徴ＩＤとが格納されている。
【００６８】
≪弱ランキング関数統合機能部１００≫
前記弱ランキング関数統合機能部１００は、非特許文献１に示される方法などで弱ランキング関数を統合し、最終的なランキング関数１２０を生成する。具体的には、前記弱ランキング関数ＤＢ０９０に格納された各弱ランキング関数（表５では試行１〜試行Ｎ）を、それぞれの優位度で重み付けして足し合わせてランキング関数１２０を生成する。
【００６９】
このとき試行１〜Ｎの全ての弱ランキング関数ではなく、例えば半分以降のＮ／２からＮの弱ランキング関数を足し合わせるなど、足し合わせる数を指定することも可能である。したがって、前記ランキング関数生成装置２によれば、従来技術では実現できなかった性質の異なる複数の事例データ、即ち人手による評価データやクリックスルーログなどから得られる複数の訓練データを用いて、ランキング関数の生成を行うことが可能となる。
【００７０】
なお、生成されたランキング関数１２０は、Ｗｅｂ検索システム（いわゆる検索エンジン）にて、検索キーワードに基づき電子文書群を検索した検索結果をランキングするためのスコア算出に利用され、電子文書群の検索結果がスコアに従ってソートされ、ユーザ端末に返信される。
【００７１】
≪プログラムなど≫
本発明は、前記ランキング関数生成装置２の各構成０１０．０１２．０３０〜０７０，０９０．１００．１１０の一部もしくは全部として、コンピュータを機能させるランキング関数生成プログラムに構成することもできる。このプログラムによれば、Ｓ００１〜Ｓ００９．Ｓ１０１〜Ｓ１０９．Ｓ２０１〜Ｓ２１１．Ｓ３０１〜Ｓ３０９の全ステップあるいは一部のステップをコンピュータに実行させることができる。
【００７２】
前記プログラムは、Ｗｅｂサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＭＯ，ＨＤＤ，Ｂｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標）などの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
【符号の説明】
【００７３】
２…ランキング関数生成装置
０１０…目標ドメイン事例ＤＢ（ドメイン事例データベース）
０１２…別ドメイン事例ＤＢ（ドメイン事例データベース）
０３０…事例ＤＢ生成機能部（事例データ統合手段）
０４０…事例ＤＢ（事例データベース）
０５０…順序関係ＤＢ生成機能部（順序関係生成手段）
０６０…順序関係ＤＢ（順序関係データベース）
０７０…弱ランキング関数生成機能部（ランキング関数生成手段）
０９０…弱ランキング関数格納ＤＢ（関数格納データベース）
１００…弱ランキング関数統合機能部（ランキング関数統合手段）
１１０…事例選択機能部（事例選択手段）
１２０…ランキング関数
【図１】
2011059947.tif 000011
【図２】
2011059947.tif 000012
【図３】
2011059947.tif 000013
【図４】
2011059947.tif 000014
【図５】
2011059947.tif 000015
【図６】
2011059947.tif 000016