(57)【特許請求の範囲】
【請求項１】
機械学習に使用される教師データを生成する教師データ生成装置であって、
第１クエリと、前記第１クエリと異なる第２クエリとを取得するクエリ取得手段と、
カテゴリと、前記カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶するカテゴリ情報記憶手段に基づいて、前記クエリ取得手段により取得された第１クエリに対応する第１のカテゴリと、前記クエリ取得手段により取得された第２クエリに対応する第２のカテゴリとの関連度を算出する関連度算出手段と、
前記第１クエリ及び前記第２クエリそれぞれの性質を表す情報と、前記第１クエリ及び前記第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する素性情報取得手段と、
前記第１クエリ、前記第２クエリ、前記関連度及び前記素性情報を関連付けて教師データとして所定の記憶手段に記憶させる記憶制御手段と、
を備える教師データ生成装置。
【請求項２】
前記関連度算出手段は、前記カテゴリ情報記憶手段に基づいて、前記第１のカテゴリと、前記第１のカテゴリに対して最上位となるカテゴリとのパスと、前記第２のカテゴリと、前記第２のカテゴリに対して最上位となるカテゴリとのパスとを特定し、特定されたパスに基づいて前記関連度を算出する、
請求項１に記載の教師データ生成装置。
【請求項３】
前記関連度算出手段は、特定されたパスのうち最上位のカテゴリから共通するパスの長さに基づいて前記関連度を算出する、
請求項２に記載の教師データ生成装置。
【請求項４】
前記関連度算出手段は、特定されたパスにおいて共通するパスの長さに基づいて前記関連度を算出する、
請求項２に記載の教師データ生成装置。
【請求項５】
前記関連度算出手段は、特定されたパスのうち最上位のカテゴリから共通するパスの長さと、特定されたパスにおいて共通するパスの長さとに基づいて前記関連度を算出する、
請求項２に記載の教師データ生成装置。
【請求項６】
コンピュータが、機械学習に使用される教師データの生成を実行する教師データ生成方法であって、
第１クエリと、前記第１クエリと異なる第２クエリとを取得するクエリ取得ステップと、
カテゴリと、前記カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶するカテゴリ情報記憶手段に基づいて、前記クエリ取得ステップにおいて取得された第１クエリに対応する第１のカテゴリと、前記クエリ取得ステップにおいて取得された第２クエリに対応する第２のカテゴリとの関連度を算出する関連度算出ステップと、
前記第１クエリ及び前記第２クエリそれぞれの性質を表す素性情報と、前記第１クエリ及び前記第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する素性情報取得ステップと、
前記第１クエリ、前記第２クエリ、前記関連度及び前記素性情報を関連付けて教師データとして所定の記憶手段に記憶させる記憶制御ステップと、
をコンピュータが実行する教師データ生成方法。
【請求項７】
機械学習に使用される教師データの生成をコンピュータに実行させる教師データ生成プログラムであって、
第１クエリと、前記第１クエリと異なる第２クエリとを取得するクエリ取得ステップと、
カテゴリと、前記カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶するカテゴリ情報記憶手段に基づいて、前記クエリ取得ステップにおいて取得された第１クエリに対応する第１のカテゴリと、前記クエリ取得ステップにおいて取得された第２クエリに対応する第２のカテゴリとの関連度を算出する関連度算出ステップと、
前記第１クエリ及び前記第２クエリそれぞれの性質を表す素性情報と、前記第１クエリ及び前記第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する素性情報取得ステップと、
前記第１クエリ、前記第２クエリ、前記関連度及び前記素性情報を関連付けて教師データとして所定の記憶手段に記憶させる記憶制御ステップと、
をコンピュータに実行させる教師データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習に使用される教師データを生成する教師データ生成装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータが大量に存在するデータを分類する場合に、機械学習を用いた分類が行われている。この機械学習のうち、教師あり学習と呼ばれる手法では、コンピュータが、サンプルデータについて、データの特徴を表す情報である素性情報と、分類結果とを予め定めた教師データを生成する。そして、コンピュータが、この教師データに基づいて分類パターンを学習した後、未分類のデータを、先の学習に基づいて分類を行う（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１８１９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されている教師あり学習では、サンプルデータからの教師データの生成が人手により行われている。このため、教師データの質が保証されるため、特許文献１に開示されている教師あり学習では、データの分類精度が高い。
【０００５】
しかしながら、特許文献１に開示されている教師あり学習では、教師データの生成を人手により行うため、教師データの生成に時間を要してしまうという問題がある。そこで、教師データの数を少なくする方法が考えられるが、教師データの数を少なくすると、機械学習の精度が低下してしまう。
【０００６】
本発明は、効率的に教師データを生成することができる教師データ生成装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）機械学習に使用される教師データを生成する教師データ生成装置であって、第１クエリと、前記第１クエリと異なる第２クエリとを取得するクエリ取得手段と、カテゴリと、前記カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶するカテゴリ情報記憶手段に基づいて、前記取得手段により取得された第１クエリに対応する第１のカテゴリと、前記取得手段により取得された第２クエリに対応する第２のカテゴリとの関連度を算出する関連度算出手段と、前記第１クエリ及び前記第２クエリそれぞれの性質を表す情報と、前記第１クエリ及び前記第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する素性情報取得手段と、前記第１クエリ、前記第２クエリ、前記関連度及び前記素性情報を関連付けて教師データとして所定の記憶手段に記憶させる記憶制御手段と、を備える教師データ生成装置。
【０００８】
（２）前記関連度算出手段は、前記カテゴリ情報記憶手段に基づいて、前記第１のカテゴリと、前記第１のカテゴリに対して最上位となるカテゴリとのパスと、前記第２のカテゴリと、前記第２のカテゴリに対して最上位となるカテゴリとのパスとを特定し、特定されたパスに基づいて前記関連度を算出する、（１）に記載の教師データ生成装置。
【０００９】
（３）前記関連度算出手段は、特定されたパスのうち最上位のカテゴリから共通するパスの長さに基づいて前記関連度を算出する、（２）に記載の教師データ生成装置。
【００１０】
（４）前記関連度算出手段は、特定されたパスにおいて共通するパスの長さに基づいて前記関連度を算出する、（２）に記載の教師データ生成装置。
【００１１】
（５）前記関連度算出手段は、特定されたパスのうち最上位のカテゴリから共通するパスの長さと、特定されたパスにおいて共通するパスの長さとに基づいて前記関連度を算出する、（２）に記載の教師データ生成装置。
【００１２】
（６）コンピュータが、機械学習に使用される教師データの生成を実行する教師データ生成方法であって、第１クエリと、前記第１クエリと異なる第２クエリとを取得するクエリ取得ステップと、カテゴリと、前記カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶するカテゴリ情報記憶手段に基づいて、前記クエリ取得ステップにおいて取得された第１クエリに対応する第１のカテゴリと、前記クエリ取得ステップにおいて取得された第２クエリに対応する第２のカテゴリとの関連度を算出する関連度算出ステップと、前記第１クエリ及び前記第２クエリそれぞれの性質を表す素性情報と、前記第１クエリ及び前記第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する素性情報取得ステップと、前記第１クエリ、前記第２クエリ、前記関連度及び前記素性情報を関連付けて教師データとして所定の記憶手段に記憶させる記憶制御ステップと、をコンピュータが実行する教師データ生成方法。
【００１３】
（７）機械学習に使用される教師データの生成をコンピュータに実行させる教師データ生成プログラムであって、第１クエリと、前記第１クエリと異なる第２クエリとを取得するクエリ取得ステップと、カテゴリと、前記カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶するカテゴリ情報記憶手段に基づいて、前記クエリ取得ステップにおいて取得された第１クエリに対応する第１のカテゴリと、前記クエリ取得ステップにおいて取得された第２クエリに対応する第２のカテゴリとの関連度を算出する関連度算出ステップと、前記第１クエリ及び前記第２クエリそれぞれの性質を表す素性情報と、前記第１クエリ及び前記第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する素性情報取得ステップと、前記第１クエリ、前記第２クエリ、前記関連度及び前記素性情報を関連付けて教師データとして所定の記憶手段に記憶させる記憶制御ステップと、をコンピュータに実行させる教師データ生成プログラム。
【発明の効果】
【００１４】
本発明によれば、効率的に教師データを生成することができる教師データ生成装置、方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】類似度判定システムを示す図である。
【図２】類似度判定システムを構成するクエリ抽出サーバ、教師データ生成サーバ及び類似度判定サーバの機能構成を示すブロック図である。
【図３】検索ログＤＢを示す図である。
【図４】教師データＤＢを示す図である。
【図５】カテゴリＤＢを示す図である。
【図６】クエリＤＢを示す図である。
【図７】クエリ抽出サーバ及び教師データ生成サーバが実行する教師データ生成処理の流れを示すフローチャートである。
【図８】類似度判定サーバが実行する類似度判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図を参照しながら説明する。
［類似度判定システムの概要］
図１は、本実施形態に係る類似度判定システム１を示す図である。
類似度判定システム１は、クエリ抽出サーバ２と、教師データ生成装置としての教師データ生成サーバ３と、類似度判定サーバ４とから構成されている。クエリ抽出サーバ２と、教師データ生成サーバ３と、類似度判定サーバ４とは、インターネット等の通信ネットワークＮを介して通信可能に構成されている。
【００１７】
類似度判定システム１では、クエリ抽出サーバ２が、検索エンジンにおいて用いられたクリックログから、第１のクエリと、第２のクエリとの組み合わせを抽出する。教師データ生成サーバ３は、クエリ抽出サーバ２において抽出された第１のクエリと、第２のクエリとについて、カテゴリ情報に基づいて関連度を算出するとともに、第１クエリ及び第２クエリそれぞれの性質を表す情報と、第１クエリ及び第２クエリの関連性を表す情報との少なくともいずれかを素性情報として取得する。そして、教師データ生成サーバ３は、第１クエリ、第２クエリ、関連度及び素性情報を関連付けて教師データを生成する。類似度判定サーバ４は、教師データ生成サーバ３において生成された教師データに基づいて機械学習を行い、識別モデルを生成する。そして、類似度判定サーバ４は、別途存在するクエリの組み合わせについて、識別モデルに基づいて類似度を判定する。
【００１８】
続いて、類似度判定システム１を構成する各サーバの機能構成について説明する。
図２は、本実施形態に係る類似度判定システム１を構成するクエリ抽出サーバ２、教師データ生成サーバ３及び類似度判定サーバ４の機能構成を示すブロック図である。
【００１９】
［クエリ抽出サーバ２の構成］
クエリ抽出サーバ２は、１又は複数の一般的なコンピュータによって構成される。一般的なコンピュータは、中央処理装置と、記憶デバイスと、通信デバイスと、入力デバイスと、表示デバイスと、これらの装置が接続されるバスラインとにより構成されている。中央処理装置は、ＣＰＵ等によって構成され、後述のクエリ抽出部２２として機能する。記憶デバイスは、メモリ（ＲＡＭ、ＲＯＭ）、ハードディスク（ＨＤＤ）及び光ディスク（ＣＤ、ＤＶＤ等）等によって構成され、後述の検索ログＤＢ２１として機能する。通信デバイスは、各種有線及び無線ＬＡＮ装置から構成される。表示デバイスは、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイにより構成される。入力デバイスは、タッチパネルあるいはキーボード及びポインティング・デバイス（マウス、トラッキングボール等）により構成される。このような一般的なコンピュータにおいて、ＣＰＵは、クエリ抽出サーバ２を統括的に制御し、教師データ生成処理のためのプログラム等、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００２０】
図２に示されるように、クエリ抽出サーバ２は、検索ログＤＢ２１と、クエリ抽出部２２とを備える。
【００２１】
図３は、本実施形態に係る検索ログＤＢ２１を示す図である。ここで、検索ログとは、図示しないユーザ端末のユーザが、ユーザ端末を介して検索エンジンにおいて検索を行った場合に、当該ユーザが検索結果ページにおいて一のＵＲＬを選択した履歴を示す情報である。検索ログＤＢ２１は、端末ＩＰアドレスと、検索日時と、セッションＩＤと、ランクと、検索クエリと、ＵＲＬとを関連付けて、検索ログとして記憶する。
【００２２】
端末ＩＰアドレスは、検索を行ったユーザ端末のＩＰアドレスである。検索日時は、ユーザ端末において検索が行われた日時である。セッションＩＤは、ユーザ端末において検索が行われたときの、ユーザ端末と検索エンジンとの間のセッションＩＤである。ランクは、ユーザ端末において、検索結果から選択されたＵＲＬに対応するＷｅｂページのページランクである。検索クエリは、検索エンジンが、ユーザ端末から１回の検索で受信した１以上の検索クエリである。ＵＲＬは、検索結果ページにおいて、ユーザ端末により選択されたＵＲＬである。
【００２３】
クエリ抽出部２２は、検索ログＤＢ２１に記憶されている検索ログを参照して、２つの検索クエリを使用して検索された場合の、当該２つの検索クエリの組み合わせを抽出する。クエリ抽出部２２は、抽出した２つの検索クエリの組み合わせを教師データ生成サーバ３に送信する。
【００２４】
［教師データ生成サーバ３の構成］
教師データ生成サーバ３は、クエリ抽出サーバ２と同様に１又は複数の一般的なコンピュータによって構成される。教師データ生成サーバ３のうち、クエリ抽出サーバ２と同様の構成については、説明を省略する。教師データ生成サーバ３の中央処理装置は、後述のクエリ受信部３２と、関連度算出部３４と、素性情報取得部３５と、記憶制御部３６として機能する。教師データ生成サーバ３の記憶デバイスは、後述の教師データＤＢ３１及びカテゴリＤＢ３３として機能する。
【００２５】
図２に示されるように、教師データ生成サーバ３は、教師データＤＢ３１と、クエリ受信部３２と、カテゴリＤＢ３３と、関連度算出部３４と、素性情報取得部３５と、記憶制御部３６とを備えている。
【００２６】
図４は、本実施形態に係る教師データＤＢ３１を示す図である。
図４に示されるように、教師データＤＢ３１は、教師データを記憶する。教師データは、第１クエリ、第２クエリ、関連度及び素性情報とから構成されている。
関連度は、第１クエリと第２クエリとの関連度を示す。素性情報は、第１クエリと第２クエリとのそれぞれの性質と、第１クエリ及び第２クエリの関連性を表す情報との少なくともいずれかを表す情報であり、複数の要素から構成されている。
【００２７】
クエリ受信部３２は、クエリ抽出サーバ２から、２つのクエリの組み合わせを受信することにより２つのクエリを取得する。この２つのクエリのうち、一方のクエリが第１クエリとなり、この第１クエリと異なる他方のクエリが第２クエリとなる。すなわち、クエリ受信部３２は、人手による入力操作を受け付けることなく、クエリ抽出サーバ２から自動的に、第１クエリと第２クエリとを受信する。
【００２８】
カテゴリＤＢ３３は、カテゴリと他のカテゴリとの親子関係を示す情報とを関連付けて記憶する。
図５は、本実施形態に係るカテゴリＤＢ３３を示す図である。図５に示されているように、カテゴリＤＢ３３は、カテゴリと、このカテゴリに直接的に接続される他のカテゴリとを関連付けて記憶する。
【００２９】
カテゴリは、例えば、ディレクトリ型の検索サービスにおける各ディレクトリの名称である。カテゴリＤＢ３３では、カテゴリの下位に他のカテゴリが複数関連付けられている。これにより、カテゴリＤＢ３３では、あるカテゴリが、複数のカテゴリの下位に存在する場合がある。
なお、本実施形態では、カテゴリＤＢ３３が、カテゴリと他のカテゴリとを含むこととしたが、カテゴリを識別するカテゴリコードと、他のカテゴリを識別するカテゴリコードとについても記憶させるようにしてもよい。
【００３０】
関連度算出部３４は、カテゴリＤＢ３３に基づいて、クエリ受信部３２において受信した第１クエリに対応する第１のカテゴリと、クエリ受信部３２において受信した第２クエリに対応する第２のカテゴリとの関連度を算出する。
【００３１】
具体的には、関連度算出部３４は、クエリ受信部３２において、第１クエリと第２クエリとを受信すると、カテゴリＤＢ３３を参照して、第１クエリに対応するカテゴリと、第２クエリに対応するカテゴリとを特定する。本実施形態において、クエリに対応するカテゴリとは、クエリを構成する文字列と一致する文字列を有するカテゴリのことをいう。ここで、第１クエリに対応するカテゴリを第１のカテゴリとする。また、第２クエリに対応するカテゴリを第２のカテゴリとする。
【００３２】
続いて、関連度算出部３４は、カテゴリＤＢ３３に基づいて、第１のカテゴリの上位のカテゴリであって、最上位となるカテゴリを特定する。例えば、関連度算出部３４は、抽出されたカテゴリに直接的に関連付けられている上位のカテゴリが存在しなくなるまで、上位のカテゴリを抽出する処理を繰り返す。関連度算出部３４は、抽出されたカテゴリに対して上位のカテゴリが存在しない場合、この抽出されたカテゴリを最上位のカテゴリと特定する。続いて、関連度算出部３４は、第１のカテゴリと最上位のカテゴリとのパスを特定する。この特定されたパスを第１のパスという。
【００３３】
例えば、第１のクエリが、「スペイン」であり、図５に示されるデータがカテゴリＤＢ３３に記憶されている場合、関連度算出部３４は、第１のクエリの最上位となるカテゴリとして、「地域」を抽出する。そして、関連度算出部３４は、第１のパスを、「地域／国／スペイン」と特定する。なお、この例では、第１のパスとして１つの例を示したが、第１のパスは、複数特定されるものとする。これは、「スペイン」の上位のカテゴリ（例えば、「国」）が、複数のカテゴリの下位に存在するためである。
【００３４】
続いて、関連度算出部３４は、第２のカテゴリに対して最上位となるカテゴリを特定する。最上位のカテゴリを特定する方法は、第１のカテゴリに対する最上位となるカテゴリを特定する方法と同一である。続いて、関連度算出部３４は、第２のカテゴリと最上位のカテゴリとのパスを特定する。この特定されたパスを第２のパスという。
【００３５】
例えば、第２のクエリが、「バルセロナ」であり、図５に示されるデータがカテゴリＤＢ３３に記憶されている場合、関連度算出部３４は、第２のクエリの最上位となるカテゴリとして、「地域」を抽出する。そして、関連度算出部３４は、第２のパスを、「地域／国／スペイン／自治体／カタロニア／市／バルセロナ」と特定する。なお、この例では、第１のパスと同様に、第２のパスが複数特定されるものとする。
【００３６】
続いて、関連度算出部３４は、第１のパスと、第２のパスに基づいて、以下の処理を行うことによって、第１のカテゴリと第２のカテゴリとの関連度を算出する。
すなわち、関連度算出部３４は、第１のパスと第２のパスとについて、それぞれの最上位のカテゴリが一致している場合、この最上位のカテゴリから共通するパスの長さを算出する。そして、関連度算出部３４は、このパスの長さについて、以下に示す式（１）に基づいて、関連度を算出する。
【００３７】
【数１】
0005394512.tif 000002
ここで、ｍａｘ｛｜Ｄ｜，｜Ｄ’｜｝は、特定された複数の第１のパスのうち最も長い距離と、特定された複数の第２のパスのうち最も長い距離とによって求められる。
また、｜Ｐ（Ｄ，Ｄ’）｜は、特定された第１のパスと第２のパスとの組み合わせのうち、最上位のカテゴリから共通するパスが最も長い組み合わせにおける、共通するパスの長さである。例えば、第１のパスが、「地域／国／スペイン」であり、第２のパスが、「地域／国／スペイン／自治体／カタロニア／市／バルセロナ」であり、第１のパスと第２のパスとは、「地域／国／スペイン」で共通する。そして、この第１のパスと第２のパスとの組み合わせが、共通するパスの最も長い組み合わせである場合、｜Ｐ（Ｄ，Ｄ’）｜は、「３」となる。
【００３８】
なお、関連度算出部３４は、上述のように関連度を算出する代わりに、第１のパスと第２のパスとについて、共通するパスを特定し、この共通のパスに基づいて関連度を算出するようにしてもよい。この場合、関連度算出部３４は、このパスの長さについて、以下に示す式（２）に基づいて、関連度を算出する。
【数２】
0005394512.tif 000003
【００３９】
ここで、Ｃ（Ｄ，Ｄ’）は、特定された第１のパスと第２のパスとの組み合わせのうち、共通するパスが最も長い組み合わせにおける、共通するパスの長さである。この共通するパスは、式（１）のように、最上位のカテゴリを基点とするものではなく、第１のパスと、第２のパスとについて、パスの途中から共通するものであってもよい。
【００４０】
また、関連度算出部３４は、上述した式（１）と式（２）との双方において算出された値に基づいて、関連度を算出するようにしてもよい。例えば、関連度算出部３４は、式（１）で算出された値と、式（２）で算出された値とに対して、それぞれ重み付けを行った後に、これらの値を加算して関連度を算出する。
【００４１】
なお、関連度算出部３４は、第１クエリに対応するカテゴリ及び第２クエリに対応するカテゴリのいずれかが特定できなかった場合、当該第１クエリと当該第２クエリとの関連度の算出に失敗したものとする。関連度の算出に失敗した場合、関連度算出部３４は、関連度の算出に続いて行われる素性情報取得部３５の処理と記憶制御部３６との処理を省略する。これにより、教師データ生成サーバ３は、関連度を算出することができなかった第１クエリと第２クエリとを教師データとして採用しない。これにより、教師データ生成サーバ３は、関連度が不明な情報が教師データに含まれることを防止することができ、教師データの精度を向上させることができる。
【００４２】
素性情報取得部３５は、第１クエリ及び第２クエリそれぞれの性質を表す素性情報を取得する。
具体的には、素性情報取得部３５は、第１クエリと第２クエリとのそれぞれについて、ファセット抽出特性、クエリテキスト特性、結果クリック特性、クエリセッション共起特性を含む素性情報を後述のクエリＤＢ４２から取得する。
【００４３】
ファセット抽出特性とは、例えば、検索ログＤＢ２１における第１クエリと第２クエリとの、一度に用いられた確率、検索キーワードの先頭で用いられた確率、検索キーワードの先頭以外で用いられた確率、同一セッション内での存在した確率、クリックされた頻度等を示す情報である。
【００４４】
クエリテキスト特性は、例えば、第１クエリ及び第２クエリそれぞれの、文字の長さ、構成される単語の量、マルチバイト文字基準によるレーベンシュタイン距離等を示す情報である。
【００４５】
結果クリック特性は、例えば、第１クエリ及び第２クエリそれぞれの、検索結果における情報量に基づいて算出される情報である。
【００４６】
なお、素性情報取得部３５は、素性情報をクエリＤＢ４２から取得することとしたが、これに限らない。例えば、素性情報取得部３５は、クエリテキスト特定について、第１のクエリ、第２のクエリそれぞれから算出するようにしてもよい。
【００４７】
記憶制御部３６は、クエリ受信部３２により受信した第１クエリ及び第２クエリ、関連度算出部３４により算出された関連度、並びに素性情報取得部３５により取得された素性情報を関連付けて教師データとし、この教師データを教師データＤＢ３１に記憶させる。
【００４８】
［類似度判定サーバ４の構成］
類似度判定サーバ４は、クエリ抽出サーバ２、教師データ生成サーバ３と同様に１又は複数の一般的なコンピュータによって構成される。類似度判定サーバ４のうち、クエリ抽出サーバ２と同様の構成については、説明を省略する。類似度判定サーバ４の中央処理装置は、後述のモデル生成部４１と、類似度判定部４３として機能する。類似度判定サーバ４の記憶デバイスは、後述のクエリＤＢ４２として機能する。
【００４９】
図２に示されるように、類似度判定サーバ４は、モデル生成部４１と、クエリＤＢ４２と、類似度判定部４３とを備えている。
【００５０】
モデル生成部４１は、教師データＤＢ３１を参照して、機械学習を行い、第１クエリと第２クエリとの識別モデルを生成する。具体的には、モデル生成部４１は、教師データＤＢ３１に記憶されている教師データに基づいて、第１クエリ、第２クエリ及び素性データの値と、関連度（類似度）との関係性について機械学習を行い、識別モデルを生成する。モデル生成部４１は、教師データＤＢ３１に記憶されている全てのデータに基づいて識別モデルを生成する。
【００５１】
図６は、本実施形態に係るクエリＤＢ４２を示す図である。図６に示されているように、クエリＤＢ４２は、第１クエリと、第２クエリと、素性情報とを関連付けて記憶する。すなわち、本実施形態において、クエリＤＢ４２に記憶されている第１クエリと第２クエリとは、予め素性情報が算出されているものの、類似性が未知であるものとする。
【００５２】
類似度判定部４３は、モデル生成部４１により生成された識別モデル及びクエリＤＢ４２に記憶されている素性情報を用いて、クエリＤＢ４２に記憶されている第１クエリ及び第２クエリの関連度（類似度）を判定する。なお、類似度判定部４３は、他のサーバから、第１クエリ及び第２クエリを受け付け、受け付けた第１クエリ及び第２クエリの関連度を判定するようにしてもよい。
【００５３】
［動作］
次に、図７及び図８を参照して、類似度判定システム１の動作を説明する。
図７は、クエリ抽出サーバ２及び教師データ生成サーバ３が実行する教師データ生成処理の流れを示すフローチャートである。
【００５４】
［クエリ抽出サーバ２及び教師データ生成サーバ３の動作］
クエリ抽出サーバ２のクエリ抽出部２２は、検索ログＤＢ２１に記憶されている検索ログを参照して、２つの検索クエリを抽出する（ステップＳ１）。
続いて、クエリ抽出サーバ２のクエリ抽出部２２は、ステップＳ１において抽出した２つの検索クエリを教師データ生成サーバ３に送信する（ステップＳ２）。
【００５５】
続いて、教師データ生成サーバ３のクエリ受信部３２は、クエリ抽出サーバ２から、２つのクエリを受信する（ステップＳ３）。
続いて、教師データ生成サーバ３の関連度算出部３４は、カテゴリＤＢ３３に基づいて、ステップＳ３において受け付けた第１クエリに対応する第１のカテゴリと、ステップＳ３において受け付けた第２クエリに対応する第２のカテゴリとの関連度を算出する（ステップＳ４）。
【００５６】
続いて、教師データ生成サーバ３の素性情報取得部３５は、クエリＤＢ４２から、第１クエリ及び第２クエリそれぞれの性質を表す素性情報を取得する（ステップＳ５）。なお、ステップＳ４の処理とステップＳ５の処理との順番は、説明した順番と逆の順番であってもよい。
【００５７】
続いて、教師データ生成サーバ３の記憶制御部３６は、ステップＳ３において受信した第１クエリ及び第２クエリ、ステップＳ４において算出された関連度、並びにステップＳ５において取得された素性情報を関連付けて教師データとし、この教師データを教師データＤＢ３１に記憶させる（ステップＳ６）。
【００５８】
［類似度判定サーバ４の動作］
図８は、類似度判定サーバ４が実行する類似度判定処理の流れを示すフローチャートである。
類似度判定サーバ４のモデル生成部４１は、教師データＤＢ３１に記憶されている教師データに基づいて、第１クエリ、第２クエリ及び素性データとの値と、類似度との関係性について機械学習を行い、識別モデルを生成する（ステップＳ１１）。
【００５９】
類似度判定サーバ４の類似度判定部４３は、モデル生成部４１により生成された識別モデル及びクエリＤＢ４２に記憶されている素性情報を用いて、クエリＤＢ４２に記憶されている第１クエリ及び第２クエリの類似度（関連度）を判定する（ステップＳ１２）。
【００６０】
以上のように、本実施形態に係る類似度判定システム１において、教師データ生成サーバ３は、関連度算出部３４により、カテゴリＤＢ３３に基づいて、クエリ受信部３２において受信した第１クエリに対応する第１のカテゴリと、クエリ受信部３２において受信した第２クエリに対応する第２のカテゴリとの関連度を算出する。そして、教師データ生成サーバ３は、素性情報取得部３５により、第１クエリ及び第２クエリそれぞれの性質を表す素性情報を取得し、記憶制御部３６により、第１クエリ、第２クエリ、関連度及び素性情報を関連付けて教師データとして教師データＤＢ３１に記憶させる。
【００６１】
このように、教師データ生成サーバ３は、人手により教師データの生成を行うことなく、教師データを自動的に生成することができるので、効率的に教師データを生成することが可能となる。
【００６２】
また、教師データ生成サーバ３は、関連度算出部３４により、カテゴリＤＢ３３に基づいて、第１のカテゴリと、第１のカテゴリに対して最上位となるカテゴリとのパスと、第２のカテゴリと、第２のカテゴリに対して最上位となるカテゴリとのパスとを特定し、特定されたパスに基づいて関連度を算出する。よって、教師データ生成サーバ３は、カテゴリＤＢ３３に記憶されているカテゴリの階層構造を利用して、関連度を算出することが可能となる。
【００６３】
また、教師データ生成サーバ３は、関連度算出部３４により、特定されたパスのうち最上位のカテゴリから共通するパスの長さに基づいて関連度を算出する。最上位のカテゴリからパスが共通する場合、これらのパスに対応する第１のカテゴリと第２のカテゴリとは、上下関係にあるため、最上位のカテゴリからパスが共通していない場合に比べて類似しているといえる。よって、教師データ生成サーバ３は、第１クエリと第２クエリとの関連度を精度よく算出することが可能となる。
【００６４】
また、教師データ生成サーバ３は、関連度算出部３４により、特定されたパスにおいて共通するパスの長さに基づいて関連度を算出する。パスが部分的に共通する場合、これらのパスに対応する第１のカテゴリと第２のカテゴリとは、あるカテゴリの下位に共通して存在しているといえる。このため、第１のカテゴリと第２のカテゴリとは、パスが共通していない場合に比べて類似しているといえる。よって、教師データ生成サーバ３は、第１クエリと第２クエリとの関連度を精度よく算出することが可能となる。
【００６５】
また、教師データ生成サーバ３は、関連度算出部３４により、特定されたパスのうち最上位のカテゴリから共通するパスの長さと、特定されたパスにおいて共通するパスの長さとに基づいて関連度を算出する。このようにすることで、教師データ生成サーバ３は、最上位のカテゴリからのパスの共通性と、パスの部分的な共通性との双方に基づいて関連度を算出することが可能となる。
【００６６】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００６７】
例えば、本実施形態では、教師データ生成サーバ３は、１つのサーバとして実現される場合を例に挙げて説明したが、教師データ生成サーバ３の機能を複数のサーバに分散して実装し、これらのサーバ全体が連携することによって教師データ生成サーバ３の機能を実現することも可能である。
【００６８】
また、本実施形態では、教師データ生成サーバ３において、カテゴリＤＢ３３を記憶することとしたが、教師データ生成サーバ３と異なるサーバに対してカテゴリＤＢ３３を記憶するようにしてもよい。この場合、教師データ生成サーバ３は、カテゴリＤＢ３３が記憶されたサーバにアクセスして、このサーバに記憶されたカテゴリＤＢ３３に基づいて関連度を算出する。
【００６９】
また、本実施形態では、類似度判定システム１は、クエリ抽出サーバ２と、教師データ生成サーバ３と、類似度判定サーバ４との３台のサーバから構成されるものとしたが、これに限らない。例えば、類似度判定システム１は、これらのサーバが備える機能を１台のサーバで実現するようにしてもよいし、４台以上のサーバで機能を分散して実現するようにしてもよい。
【００７０】
また、本実施形態では、教師データ生成サーバ３において、生成された教師データを教師データＤＢ３１に記憶させることとしたが、教師データ生成サーバ３と異なるサーバに対して教師データを記憶するようにしてもよい。この場合、類似度判定サーバ４は、教師データが記憶されたサーバにアクセスして、このサーバに記憶された教師データに基づいて識別モデルを生成する。
【００７１】
また、本実施形態では、関連度算出部３４は、関連度の算出に失敗した場合、関連度の算出に続いて行われる素性情報取得部３５の処理と記憶制御部３６との処理を省略するものとしたが、これに限らない。例えば、関連度算出部３４は、関連度の算出に失敗した場合、失敗したことを示すエラー情報を素性情報取得部３５及び記憶制御部３６に出力するようにしてもよい。そして、素性情報取得部３５と記憶制御部３６とのそれぞれにおいて、エラー情報を受信した場合に、それぞれの機能に係る処理を行わないようにしてもよい。
【符号の説明】
【００７２】
１  類似度判定システム
２  クエリ抽出サーバ
２１  検索ログＤＢ
２２  クエリ抽出部
３  教師データ生成サーバ
３１  教師データＤＢ
３２  クエリ受信部
３３  カテゴリＤＢ
３４  関連度算出部
３５  素性情報取得部
３６  記憶制御部
４  類似度判定サーバ
４１  モデル生成部
４２  クエリＤＢ
４３  類似度判定部
【図１】
0005394512.tif 000004
【図２】
0005394512.tif 000005
【図３】
0005394512.tif 000006
【図４】
0005394512.tif 000007
【図５】
0005394512.tif 000008
【図６】
0005394512.tif 000009
【図７】
0005394512.tif 000010
【図８】
0005394512.tif 000011