(57)【要約】【課題】マッチング結果を学習し、学習結果に基づいて候補者を選定することができる装置又は方法を提供すること。【解決手段】マッチング成功度算出装置１は、ユーザの素性ベクトルを生成する素性ベクトル生成部１１と、学習部１３へ入力するための入力リストを生成し、学習ＤＢ２２に記憶させる入力リスト生成部１２と、学習ＤＢ２２に記憶されている入力リストに基づいて学習を行い学習モデルを生成し、学習ＤＢ２２に記憶させる学習部１３と、任意の２人のユーザの合成素性ベクトルの入力を受付ける入力受付部１４と、学習ＤＢ２２に記憶された学習モデルと、入力受付部１４により入力された任意の２人の合成素性ベクトルと、に基づいて、任意の２人のユーザのマッチング成功度を算出するマッチング成功度算出部１５とを備える。【選択図】図１
2010244468.tif 000002
【特許請求の範囲】
【請求項１】
任意のユーザのマッチング成功度を算出するマッチング成功度算出装置であって、
マッチングを行うユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成する素性ベクトル生成手段と、
個々の前記ユーザの素性ベクトルに基づいて合成素性ベクトルを生成する合成素性ベクトル生成手段と、
前記合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関係付けて記憶するマッチング記憶手段と、
前記マッチング記憶手段に記憶された合成素性ベクトルと、前記過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成する学習手段と、
任意の２人のユーザの合成素性ベクトルの入力を受付ける入力受付手段と、
前記教師ベクトルと、入力された前記任意の２人のユーザの合成素性ベクトルと、に基づいて、前記任意の２人のユーザのマッチング成功度を算出するマッチング成功度算出手段と、を備えるマッチング成功度算出装置。
【請求項２】
前記合成素性ベクトル生成手段は、２人のユーザの素性ベクトルの各要素について、所定の演算を行うことにより前記合成素性ベクトルを生成することを特徴とする請求項１記載のマッチング成功度算出装置。
【請求項３】
前記教師ベクトルと、相対的に良好な結果を得られたマッチングを行った２人のユーザの合成素性ベクトルとの内積の値が、前記教師ベクトルと、相対的に良好な結果を得られなかったマッチングを行った２人のユーザの合成素性ベクトルとの内積の値に比べて高い値となることを特徴とする請求項２記載のマッチング成功度算出装置。
【請求項４】
前記入力受付手段は、一のユーザの素性ベクトルと、該一のユーザの候補となる複数のユーザの各素性ベクトルとから生成された２以上の合成素性ベクトルを受付け、
前記マッチング成功度算出手段は、前記２以上の合成素性ベクトルの各々と、前記教師ベクトルとの内積値を算出し、算出した結果として、内積値が高い合成素性ベクトルのユーザを、前記一のユーザとのマッチング成功度が高いとする、請求項１に記載のマッチング成功度算出装置。
【請求項５】
任意のグループのマッチング成功度を算出するマッチング成功度算出装置であって、
マッチングを行うグループに属するユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成する素性ベクトル生成手段と、
前記マッチングを行うグループに属する個々の前記ユーザの素性ベクトルを結合することで、合成素性ベクトルを生成する合成素性ベクトル生成手段と、
前記合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関連付けて記憶するマッチング記憶手段と、
前記マッチング記憶手段に記憶された合成素性ベクトルと、前記過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成する学習手段と、
任意の２つのグループの選択を受付ける選択受付手段と
前記教師ベクトルと、選択が受付けられた２つのグループに属する複数のユーザの合成素性ベクトルに基づいて、前記任意の２つのグループのマッチング成功度を算出するマッチング成功度算出手段と、を備えるマッチング成功度算出装置。
【請求項６】
前記マッチング成功度算出手段は、前記教師ベクトルと、第１のグループに属する複数のユーザのそれぞれについて、第２のグループに属する複数のユーザのそれぞれとのマッチング成功度を、前記教師ベクトルと、該第１のグループに属する複数のユーザと該第２のグループに属する複数のユーザとの合成素性ベクトルと、に基づいて算出し、該マッチング成功度の平均値を該第１のグループ及び該第２のグループのマッチング成功度として算出することを特徴とする請求項５に記載のマッチング成功度算出装置。
【請求項７】
任意のユーザのマッチング成功度を算出するマッチング成功度算出方法であって、
マッチングを行うユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成するステップと、
個々の前記ユーザの素性ベクトルに基づいて合成素性ベクトルを生成するステップと、
前記合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関係付けて記憶するステップと、
前記記憶するステップにおいて記憶された合成素性ベクトルと、前記過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成するステップと、
任意の２人のユーザの合成素性ベクトルの入力を受付けるステップと、
前記教師ベクトルと、入力された前記任意の２人のユーザの合成素性ベクトルと、に基づいて、前記任意の２人のユーザのマッチング成功度を算出するステップと、を備えるマッチング成功度算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マッチング成功度算出装置及び方法に関する。
【背景技術】
【０００２】
従来より、好相性の会員の組み合わせを抽出して会員に紹介する好相性会員紹介装置が提案されている（例えば、特許文献１）。特許文献１で提案された好相性会員紹介装置は、会員により、自身の個人情報、希望条件及びアンケートに対する回答が入力されると、アンケートの回答に基づいて当該会員の性格カテゴリを決定する。そして、好相性会員紹介装置は、予め記憶されている相性度テーブルを参照して会員の性格カテゴリと相性のよい性格カテゴリに属する複数の異性の会員を抽出し、さらに、会員の希望条件に基づいて、当該複数の異性の会員から候補となる異性の会員を決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１で提案された好相性会員紹介装置は、相性度テーブルという異性間の性格カテゴリに基づいて異性の会員を抽出し、その中から希望条件に沿った候補者を選定するにすぎない。このため、過去の紹介結果、すなわち、マッチング結果を装置で学習させて、学習結果に基づいて候補者を選定することについては示されていない。
【０００５】
本発明は、マッチング結果を学習し、学習結果に基づいて候補者を選定可能な装置又は方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）  任意のユーザのマッチング成功度を算出するマッチング成功度算出装置であって、マッチングを行うユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成する素性ベクトル生成手段と、個々の前記ユーザの素性ベクトルに基づいて合成素性ベクトルを生成する合成素性ベクトル生成手段と、前記合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関係付けて記憶するマッチング記憶手段と、前記マッチング記憶手段に記憶された合成素性ベクトルと、前記過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成する学習手段と、任意の２人のユーザの合成素性ベクトルの入力を受付ける入力受付手段と、前記教師ベクトルと、入力された前記任意の２人のユーザの合成素性ベクトルと、に基づいて、前記任意の２人のユーザのマッチング成功度を算出するマッチング成功度算出手段と、を備えるマッチング成功度算出装置。
【０００７】
（１）に記載のマッチング成功度算出装置によれば、素性ベクトル生成手段により、マッチングを行うユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成し、合成素性ベクトル生成手段により、個々のユーザの素性ベクトルに基づいて合成素性ベクトルを生成する。また、マッチング記憶手段により、合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関係付けて記憶する。また、学習手段により、マッチング記憶手段に記憶された合成素性ベクトルと、過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成し、入力受付手段により、任意の２人のユーザの合成素性ベクトルの入力を受付ける。また、マッチング成功度算出手段により、教師ベクトルと、入力された任意の２人のユーザの合成素性ベクトルと、に基づいて、任意の２人のユーザのマッチング成功度を算出する。
【０００８】
このようにすることで、（１）に記載のマッチング成功度算出装置は、生成した学習モデルに基づいて、任意の２人のユーザの組み合わせのマッチング成功度を算出できる。このため、本発明では、任意の２人のユーザの組み合わせを複数用意して、マッチング成功度を算出させることにより、マッチング成功度を比較してマッチングに適した候補者を選定可能となる。
【０００９】
（２）  前記合成素性ベクトル生成手段は、２人のユーザの素性ベクトルの各要素について、所定の演算を行うことにより前記合成素性ベクトルを生成することを特徴とする（１）記載のマッチング成功度算出装置。
【００１０】
（２）に記載のマッチング成功度算出装置によれば、２人のユーザの素性ベクトルの各要素について、所定の演算を行うことにより合成素性ベクトルを生成するので、２人のユーザの相違点や類似点を合成素性ベクトルに反映させることができる。
【００１１】
（３）  前記教師ベクトルと、相対的に良好な結果を得られたマッチングを行った２人のユーザの合成素性ベクトルとの内積の値が、前記教師ベクトルと、相対的に良好な結果を得られなかったマッチングを行った２人のユーザの合成素性ベクトルとの内積の値に比べて高い値となることを特徴とする（２）記載のマッチング成功度算出装置。
【００１２】
（３）に記載のマッチング成功度算出装置によれば、教師ベクトルは、相対的に良好な結果を得られたマッチングを行った２人のユーザの合成素性ベクトルとの内積の値が高くなるように生成される。このため、教師ベクトル及び２人のユーザの合成素性ベクトルの内積の値が相対的に高い場合には、相対的に高い内積の値に対応する２人のユーザの組み合わせが相対的に良好な結果を得られる組み合わせであると予想できる。
【００１３】
（４）  前記入力受付手段は、一のユーザの素性ベクトルと、該一のユーザの候補となる複数のユーザの各素性ベクトルとから生成された２以上の合成素性ベクトルを受付け、前記マッチング成功度算出手段は、前記２以上の合成素性ベクトルの各々と、前記教師ベクトルとの内積値を算出し、算出した結果として、内積値が高い合成素性ベクトルのユーザを、前記一のユーザとのマッチング成功度が高いとする、（１）に記載のマッチング成功度算出装置。
【００１４】
（４）に記載のマッチング成功度算出装置によれば、入力受付手段により、一のユーザの素性ベクトルと、該一のユーザの候補となる複数のユーザの各素性ベクトルとから生成された２以上の合成素性ベクトルを受付け、マッチング成功度算出手段により、２以上の合成素性ベクトルの各々と、教師ベクトルとの内積値を算出し、算出した結果として、内積値が高い合成素性ベクトルのユーザを、一のユーザとのマッチング成功度が高いとする。このようにすることで、一のユーザの候補となる複数のユーザについて、該一のユーザとのマッチング成功度が相対的に高いユーザを確認できる。
【００１５】
（５）  任意のグループのマッチング成功度を算出するマッチング成功度算出装置であって、マッチングを行うグループに属するユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成する素性ベクトル生成手段と、前記マッチングを行うグループに属する個々の前記ユーザの素性ベクトルを結合することで、合成素性ベクトルを生成する合成素性ベクトル生成手段と、前記合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関連付けて記憶するマッチング記憶手段と、前記マッチング記憶手段に記憶された合成素性ベクトルと、前記過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成する学習手段と、任意の２つのグループの選択を受付ける選択受付手段と前記教師ベクトルと、選択が受付けられた２つのグループに属する複数のユーザの合成素性ベクトルに基づいて、前記任意の２つのグループのマッチング成功度を算出するマッチング成功度算出手段と、を備えるマッチング成功度算出装置。
【００１６】
（５）に記載のマッチング成功度算出装置によれば、マッチング成功度算出手段により、任意の２つのグループのマッチング成功度を算出できる。このようにすることで、あるグループに対して、他の複数のグループのマッチング成功度を算出し、当該マッチング成功度を比較することにより、マッチング成功度が相対的に高いグループを確認できる。
【００１７】
（６）  前記マッチング成功度算出手段は、前記教師ベクトルと、第１のグループに属する複数のユーザのそれぞれについて、第２のグループに属する複数のユーザのそれぞれとのマッチング成功度を、前記教師ベクトルと、該第１のグループに属する複数のユーザと該第２のグループに属する複数のユーザとの合成素性ベクトルと、に基づいて算出し、該マッチング成功度の平均値を該第１のグループ及び該第２のグループのマッチング成功度として算出することを特徴とする（５）に記載のマッチング成功度算出装置。
【００１８】
（６）に記載のマッチング成功度算出装置によれば、マッチング成功度算出手段により、グループに属するユーザのマッチング成功度の平均値に基づいてグループのマッチング成功度を算出する。このため、グループに属するユーザそれぞれを均等に評価してグループのマッチング成功度を算出できる。
【００１９】
（７）  任意のユーザのマッチング成功度を算出するマッチング成功度算出方法であって、マッチングを行うユーザの個々のデータであって、予め所定のデータベースに記憶されたプロフィール情報を数値化し、各数値をベクトルの要素とすることで、ユーザの素性ベクトルを生成するステップと、個々の前記ユーザの素性ベクトルに基づいて合成素性ベクトルを生成するステップと、前記合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、を関係付けて記憶するステップと、前記記憶するステップにおいて記憶された合成素性ベクトルと、前記過去のマッチング成功履歴と、に基づいて、教師ベクトルを生成することで学習モデルを生成するステップと、任意の２人のユーザの合成素性ベクトルの入力を受付けるステップと、前記教師ベクトルと、入力された前記任意の２人のユーザの合成素性ベクトルと、に基づいて、前記任意の２人のユーザのマッチング成功度を算出するステップと、を備えるマッチング成功度算出方法。
【００２０】
このような構成によれば、当該方法を実施することにより、（１）と同様の効果が期待できる。
【発明の効果】
【００２１】
本発明によれば、マッチング結果を学習し、学習結果に基づいて候補者を選定可能な装置又は方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係るマッチング成功度算出装置１の全体構成を示す図である。
【図２】本実施形態に係るプロフィールテーブル２１ａを示す図である。
【図３】本実施形態に係る素性ベクトルテーブル２１ｂを示す図である。
【図４】本実施形態に係る実績テーブル２１ｃを示す図である。
【図５】本実施形態に係る入力リストテーブル２２ａを示す図である。
【図６】本実施形態に係るモデルテーブル２２ｂを示す図である。
【図７】本実施形態に係るウェイトｗを算出するコードを示す図である。
【図８】本実施形態に係るマッチング成功度算出装置１のハードウェア構成を示す図である。
【図９】本実施形態に係るマッチング成功度算出装置１がユーザの素性ベクトルを生成してから学習モデルを生成するまでの処理の流れを示すフローチャートである。
【図１０】本実施形態に係るマッチング成功度算出装置１の学習部１３における処理の流れを示すフローチャートである。
【図１１】本実施形態に係るマッチング成功度算出装置１のマッチング成功度算出部１５における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明のマッチング成功度算出装置の好ましい一実施形態について図面を参照しながら説明する。
【００２４】
［システム全体構成］
図１は、本実施形態に係るマッチング成功度算出装置１の全体構成を示す図である。
【００２５】
マッチング成功度算出装置１は、マッチングサービスを利用する任意の２人のユーザのマッチング成功度を算出する装置である。マッチング成功度算出装置１は、制御部１０及び記憶部２０を備える。
【００２６】
記憶部２０は、マッチング成功度算出装置１として機能させるための各種プログラム（図示省略）、本発明の機能を実行するプログラム（図示省略）、ユーザデータベース（以下、データベースをＤＢという）２１及び学習ＤＢ２２を記憶する。
【００２７】
ユーザＤＢ２１は、マッチングサービスを利用するユーザに係る情報を記憶する。ユーザＤＢ２１は、プロフィールテーブル２１ａ、素性ベクトルテーブル２１ｂ及び実績テーブル２１ｃを備える。
【００２８】
図２は、本実施形態に係るプロフィールテーブル２１ａを示す図である。プロフィールテーブル２１ａは、マッチングサービスを利用するユーザのプロフィール情報が格納されており、ユーザを一意に特定する「ユーザＩＤ」フィールドと、ユーザの姓名を示す「ユーザ名」フィールドと、ユーザの年齢を示す「年齢」フィールドと、ユーザの性別を示す「性別」フィールドと、ユーザの婚姻暦を示す「婚姻暦」フィールドが含まれている。プロフィールテーブル２１ａは、後述の素性ベクトル生成部１１によりユーザの素性ベクトルを生成するときと、後述のマッチング成功度算出部１５により任意の２人のユーザのマッチング成功度を算出するときに参照される。
【００２９】
図３は、本実施形態に係る素性ベクトルテーブル２１ｂを示す図である。素性ベクトルテーブル２１ｂには、素性ベクトルが格納されている。素性ベクトルとは、プロフィールテーブル２１ａに記憶されているユーザのプロフィール情報を数値化したものを、ベクトルの要素としたものである。素性ベクトルテーブル２１ｂには、ユーザＩＤを示す「ユーザＩＤ」フィールドと、ユーザの素性ベクトルを示す「素性ベクトル」フィールドとが含まれている。素性ベクトルテーブル２１ｂには、素性ベクトル生成部１１により生成された素性ベクトルが記憶される。また、素性ベクトルテーブル２１ｂは、後述の入力リスト生成部１２により入力リストを生成するときに参照される。
【００３０】
図４は、本実施形態に係る実績テーブル２１ｃを示す図である。実績テーブル２１ｃには、マッチングサービスを利用したユーザの実績、すなわち、過去のマッチング成功履歴を示す情報が記憶される。実績テーブル２１ｃには、マッチングを行った２人のユーザのうち、第１ユーザのユーザＩＤを示す「ユーザＩＤ１」フィールドと、第２のユーザのユーザＩＤを示す「ユーザＩＤ２」フィールドと、第１ユーザ及び第２ユーザの組み合わせによるマッチング成功履歴、すなわち、成功度を示す「成功度」フィールドとが含まれている。実績テーブル２１ｃは、入力リスト生成部１２により入力リストを生成するときに参照される。
【００３１】
ここで、本実施形態では、成功度は、成功度合いにより３種類の値のいずれかが設定される。マッチングが成功した場合には、成功度が３に設定され、マッチングが途中で失敗した場合には、成功度が２に設定され、マッチングが最初に失敗した場合には、成功度が１に設定される。すなわち、より成功した場合には、成功度の値が高く設定される。なお、本実施形態では、成功度合いにより３種類の値のいずれかが設定されることとしたが、これに限らない。例えば、５種類の値や１０種類の値等、３種類の値とは異なる設定としてもよい。
【００３２】
例えば、マッチングが、いわゆるお見合いであり、ユーザ「Ａ」の候補者として、ユーザ「Ｂ」、「Ｃ」、「Ｄ」が選ばれたとする。ユーザ「Ｂ」がユーザ「Ａ」とのマッチングを受け入れ、かつ、婚約等によりお見合いが成立した場合には、ユーザ「Ａ」及び「Ｂ」の成功度に３が設定される。また、ユーザ「Ｃ」がユーザ「Ａ」とのお見合いを一度受け入れたものの、途中辞退等によりお見合いが成立しなかった場合には、ユーザ「Ａ」及び「Ｃ」の成功度に２が設定される。また、ユーザ「Ｄ」がユーザ「Ａ」とのお見合いを受け入れることなく辞退した場合には、ユーザ「Ａ」及び「Ｄ」の成功度に１が設定される。
【００３３】
図１に戻り、学習ＤＢ２２は、後述の学習部１３の入出力情報を記憶する。学習ＤＢ２２は、入力リストテーブル２２ａ及びモデルテーブル２２ｂを備える。
【００３４】
図５は、本実施形態に係る入力リストテーブル２２ａを示す図である。入力リストテーブル２２ａには、学習部１３への入力情報として、合成素性ベクトルと、該合成素性ベクトルの各ユーザの過去のマッチング成功履歴と、が関連付けて記憶されている。入力リストテーブル２２ａには、２人のユーザの素性ベクトルを合成した合成素性ベクトルを一意に特定するための「シリアルＩＤ」フィールドと、合成素性ベクトルを示す「合成素性ベクトル」フィールドと、２人のユーザの成功履歴、すなわち、成功度を示す「成功度」フィールドとが含まれている。入力リストテーブル２２ａは、入力リスト生成部１２により生成された入力リストが記憶される。また、入力リストテーブル２２ａには、学習部１３が学習モデルを生成するときに参照される。
【００３５】
図６は、本実施形態に係るモデルテーブル２２ｂを示す図である。モデルテーブル２２ｂには、学習部１３により生成された学習モデルが記憶されており、学習モデルを示す「学習モデル」フィールドが含まれている。モデルテーブル２２ｂは、学習部１３により生成されたモデルが記憶される。また、モデルテーブル２２ｂは、マッチング成功度算出部１５によりマッチング成功度を算出するときに参照される。
【００３６】
図１に戻り、制御部１０は、マッチング成功度算出装置１に係る各機能を統括的に制御する部分であり、本発明に係る各機能として、素性ベクトル生成部１１と、入力リスト生成部１２と、学習部１３と、入力受付部１４と、マッチング成功度算出部１５とを備える。
【００３７】
素性ベクトル生成部１１は、プロフィールテーブル２１ａに記憶されているユーザのプロフィール情報を参照して、ユーザの素性ベクトルを生成し、生成した素性ベクトルを素性ベクトルテーブル２１ｂに記憶させる。素性ベクトルは、プロフィールテーブル２１ａを構成するフィールドのそれぞれをベクトル成分とする。また、それぞれのベクトル成分の値は正規化のために０から１の間の値となる。このため、素性ベクトルは０から１の間の数値の列で表現される。
【００３８】
入力リスト生成部１２は、学習部１３へ入力するための入力リストを生成し、入力リストテーブル２２ａに記憶させる。より具体的には、実績テーブル２１ｃを参照して、過去にマッチングを行った２人のユーザの組み合わせを抽出する。そして、抽出した組み合わせを構成する第１ユーザ及び第２ユーザの素性ベクトルを結合、すなわち、第１ユーザ及び第２ユーザの素性ベクトルに基づいて合成素性ベクトルを生成する。そして、合成素性ベクトルに対して、当該合成素性ベクトルを一意に特定するためにシリアルＩＤを付与するとともに、実績テーブル２１ｃに記憶されている２人のユーザの成功度を関連付けて入力リストを生成する。そして、生成した入力リストを入力リストテーブル２２ａに記憶させる。ここでは、合成素性ベクトルの算出方法として、第１ユーザ及び第２ユーザの素性ベクトルの差を取ることとする。このようにすることで、２人のユーザの相違点や類似点を合成素性ベクトルに反映させることができる。
【００３９】
学習部１３は、入力リストテーブル２２ａに記憶されている入力リスト、すなわち、合成素性ベクトルと、過去のマッチング成功履歴（成功度）と、に基づいて、教師ベクトルを生成することで学習モデルを生成する。続いて、学習部１３は、生成した学習モデルをモデルテーブル２２ｂに記憶させる。
【００４０】
より具体的には、学習部１３は、入力リストテーブル２２ａに記憶されている入力リストを参照して、成功度毎の合成素性ベクトルの集合を生成する。そして、学習部１３は、成功度毎の合成素性ベクトルの集合から、２つの集合Ｒ及びＮを定義する。２つの集合Ｒ及びＮの定義は、全ての成功度の組み合わせで行われるものである。すなわち、本実施形態では、成功度が１、２、３のいずれかに設定されるので、集合Ｒと集合Ｎの組み合わせとして、成功度３及び成功度２、成功度３及び成功度１並びに成功度２及び成功度１の３つが定義される。また、集合Ｒに応じた成功度が集合Ｎに応じた成功度よりも小さくなることはないものとする。
【００４１】
続いて、学習部１３は、集合Ｒ及びＮよりそれぞれ１つの合成素性ベクトルを抽出して、２つの合成素性ベクトルの組み合わせＳとして、（ｄｎｑ，ｄｒｑ）を生成する。例えば、成功度が３である合成素性ベクトルの集合をＲとして、集合Ｒが合成素性ベクトルｄ１ａ及びｄ１ｂから構成されるとする。そして、成功度が２である合成素性ベクトルの集合をＮとして、集合Ｎが合成素性ベクトルｄ２ａ及びｄ２ｂから構成されるとする。この場合には、２つの合成素性ベクトルの組み合わせＳとして、（ｄ２ａ，ｄ１ａ）、（ｄ２ｂ，ｄ１ａ）、（ｄ２ａ，ｄ１ｂ）、（ｄ２ｂ，ｄ１ｂ）の４つが生成される。
【００４２】
続いて、学習部１３は、学習モデルとして、教師ベクトルであるウェイトｗを生成する。ウェイトｗは、ウェイトｗ及び相対的に良好な結果を得られたマッチングを行った２人のユーザの合成素性ベクトルの内積の値が、ウェイトｗ及び相対的に良好な結果を得られなかったマッチングを行った２人のユーザの合成素性ベクトルの内積の値に比べて高い値となるベクトルである。ウェイトｗは、学習部１３が図７に示されるコードにより演算を行うことで生成される。図７に示されるコードにおいて、Ｔは集合Ｒ及びＮの組み合わせの数であり、Ｓｃｏｒｅ（ｄｎｑ，ｗｉ）は、ｄｎｑ及びｗｉの内積の値である。図７に示されるコードでは、学習モデルであるウェイトｗ及び比較対象のベクトルの内積の値が高いほど高い成功度となるようにウェイトｗの値を調整する。この調整は、ウェイトｗ及び成功度の低い集合に含まれるベクトルの内積の値がウェイトｗ及び成功度の高い集合に含まれるベクトルの内積の値に比べて高い場合に行われる。このため、ウェイトｗのベクトル成分において、高い成功度に影響を与え易いベクトル成分は、それ以外の成分に対して重み付けをされることとなる。
【００４３】
すなわち、学習部１３は、集合Ｎを構成する合成素性ベクトルｄｎｑ及びウェイトｗの内積の値と、集合Ｒを構成する合成素性ベクトルｄｒｑ及びウェイトｗの内積の値について比較を行う。学習部１３は、集合Ｎを構成する合成素性ベクトル及びウェイトｗの内積の値が、集合Ｒを構成する合成素性ベクトル及びウェイトｗの内積の値以上である場合には、ウェイトｗに対して、ｄｒｑとｄｎｑの差分に全組み合わせの数の逆数であるηｑで乗算した数を加算してウェイトｗを更新する。そして、学習部１３は、全組み合わせについて、この演算を行いウェイトｗを算出する。そして、学習部１３は、算出したウェイトｗを学習モデルとしてモデルテーブル２２ｂに記憶させる。
【００４４】
このようにすることで、学習モデルであるウェイトｗは、過去の結果に基づいて相対的に良好な結果を得られたマッチングとの内積の値が高くなるように生成される。このため、ウェイトｗ及び新たな２人のユーザの組み合わせの合成素性ベクトルの内積の値が相対的に高い場合には、新たな２人のユーザの組み合わせが相対的に良好な結果を得られる組み合わせであると予想できる。
【００４５】
入力受付部１４は、任意の２人のユーザの合成素性ベクトルの入力を受付ける。より具体的には、入力受付部１４は、任意の２人のユーザの組み合わせを後述の表示部に表示させて、ユーザに、任意の２人のユーザの組み合わせの選択を受付ける。選択が受付けられると、入力受付部１４は、選択された組み合わせを構成するユーザのプロフィール情報に基づいて合成素性ベクトルを生成してマッチング成功度算出部１５に受け渡す。
【００４６】
なお、本実施形態では、入力受付部１４は、任意の２人のユーザの合成素性ベクトルの入力を受付けることとしたが、これに限らない。例えば、入力受付部１４は、任意の２人のユーザ名やユーザＩＤを受付けることとする。そして、入力受付部１４は、任意の２人のユーザ名やユーザＩＤを受付けたことに応じて、任意の２人の合成素性ベクトルを生成して、マッチング成功度算出部１５に受け渡すこととしてもよい。
【００４７】
マッチング成功度算出部１５は、モデルテーブル２２ｂに記憶された学習モデル（教師ベクトル）と、入力受付部１４により入力された任意の２人の合成素性ベクトルと、に基づいて、任意の２人のユーザのマッチング成功度を算出する。具体的には、マッチング成功度算出部１５は、入力受付部１４により任意の２人の合成素性ベクトルを受け渡されると、入力受付部１４により入力された任意の２人の合成素性ベクトルと、モデルテーブル２２ｂに記憶された学習モデル（教師ベクトル）との内積の値を算出する。そして、算出した結果をマッチング成功度として、表示部に出力する。このように、マッチング成功度算出部１５は、任意の２人のユーザのマッチング成功度を算出する。このため、入力受付部１４により、任意の２人のユーザの合成素性ベクトルが複数回受付けられると、マッチング成功度算出部１５により、複数のマッチング成功度が算出されるので、当該複数のマッチング成功度の比較が可能となる。
【００４８】
なお、本実施形態では、マッチング成功度算出部１５は、入力受付部１４により入力された任意の２人の合成素性ベクトルを受付けて、当該任意の２人のマッチング成功度を算出することとしたが、これに限らない。例えば、入力受付部１４は、一のユーザの素性ベクトルと、当該一のユーザの候補となる複数のユーザの各素性ベクトルとから生成された２以上の合成素性ベクトルを受付ける。そして、マッチング成功度算出部１５は、入力受付部１４が受付けた２以上の合成素性ベクトルの各々と、モデルテーブル２２ｂに記憶された学習モデル（教師ベクトル）との内積値を算出する。そして、マッチング成功度算出部１５は、算出した結果として、内積値が高い合成素性ベクトルのユーザを、当該一のユーザとのマッチング成功度が高いものとして、表示部に表示させてもよい。このようにすることで、一のユーザの候補となる複数のユーザについて、該一のユーザとのマッチング成功度が相対的に高いユーザを確認できる。
【００４９】
また、マッチング成功度算出部１５は、所定時間内に、入力受付部１４より受け渡された任意の２人の合成素性ベクトルが複数である場合に、算出した複数のマッチング成功度をソートして、マッチング成功度の高い順に表示部に表示することとしてもよい。このようにすることで、所定時間内に入力受付部１４より受け渡された合成素性ベクトルに対応する任意の２人の組み合わせのうち、相対的に良好な組み合わせを選定することができる。なお、この場合における所定時間とは、後述の操作部により合成素性ベクトルの入力開始操作がされてから、入力終了操作がされるまでの時間である。
【００５０】
［マッチング成功度算出装置のハードウェア構成］
図８は、本実施形態に係るマッチング成功度算出装置１のハードウェア構成を示す図である。本発明が実施されるマッチング成功度算出装置１は標準的なものでよく、以下に構成の一例を示す。
【００５１】
マッチング成功度算出装置１は、バスライン１０００、制御部１０を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０（マルチプロセッサ構成ではＣＰＵ１０１２等複数のＣＰＵが追加されてもよい）、通信Ｉ／Ｆ（Ｉ／Ｆ：インターフェイス）１０２０、メインメモリ１０３０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０４０、表示装置１０５０、入力装置１０６０、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）コントローラ１０７０、ハードディスク１０７４、光ディスクドライブ１０７６、光ディスク１０７７及び半導体メモリ１０７８を備える。なお、ハードディスク１０７４、光ディスクドライブ１０７６、及び半導体メモリ１０７８をまとめて記憶部２０と呼ぶ。
【００５２】
ＣＰＵ１０１０は、マッチング成功度算出装置１に係る各種機能を統括的に制御する部分であり、ハードディスク１０７４等に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。通信Ｉ／Ｆ１０２０は、マッチング成功度算出装置１が、通信ネットワークを介して外部サーバ等と情報を送受信する場合のネットワーク・アダプタである。通信Ｉ／Ｆ１０２０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００５３】
メインメモリ１０３０は、ＣＰＵ１０１０により各種プログラムを実行する際に生成される情報を一時的に記憶する。ＢＩＯＳ１０４０は、マッチング成功度算出装置１の起動時にＣＰＵ１０１０が実行するブートプログラムや、マッチング成功度算出装置１のハードウェアに依存するプログラム等を記録する。表示装置１０５０は、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含み、表示部として機能する。表示装置１０５０は、マッチング成功度算出装置１により出力された情報を表示する。入力装置１０６０は、キーボードやマウス等を含み、マッチング成功度算出装置１の管理者による入力の受付けを行い、操作部として機能する。Ｉ／Ｏコントローラ１０７０は、ハードディスク１０７４、光ディスクドライブ１０７６及び半導体メモリ１０７８といった機器が接続され、情報の入出力制御を行う。
【００５４】
ハードディスク１０７４は、本ハードウェアをマッチング成功度算出装置１として機能させるための各種プログラム、本発明の機能を実行するプログラム及び上述のＤＢを記憶する。なお、マッチング成功度算出装置１は、外部に別途設けたハードディスク（図示せず）を外部記憶装置として利用することもできる。
【００５５】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ：登録商標）ドライブを使用することができる。光ディスクドライブ１０７６を使用する場合は、光ディスクドライブ１０７６に対応した光ディスク１０７７を使用する。光ディスク１０７７から光ディスクドライブ１０７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０３０又はハードディスク１０７４に提供することもできる。
【００５６】
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、マッチング成功度算出装置１は、上述のように、制御部１０、記憶部２０等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００５７】
また、マッチング成功度算出装置１は、ハードウェアの数に制限はなく、必要に応じて１又は複数のハードウェアで構成してよい。また、複数のハードウェアで構成する場合には、通信ネットワークを介して各ハードウェアを接続してもよい。例えば、機能毎に別サーバ（装置）とし、各サーバ間での信号の送受信により、各サーバを連携させることで、本実施形態の機能を実現してもよい。
【００５８】
［処理フロー］
図９は、本実施形態に係るマッチング成功度算出装置１がユーザの素性ベクトルを生成してから学習モデルを生成するまでの処理の流れを示すフローチャートである。
【００５９】
ステップＳ１１では、制御部１０（素性ベクトル生成部１１）は、プロフィールテーブル２１ａに記憶されているユーザのプロフィール情報を参照して、ユーザの素性ベクトルを生成する。そして、制御部１０（素性ベクトル生成部１１）は、生成した素性ベクトルを素性ベクトルテーブル２１ｂに記憶させる。
【００６０】
ステップＳ１２では、制御部１０（入力リスト生成部１２）は、実績テーブル２１ｃを参照して、過去にマッチングを行ったユーザの組み合わせを抽出する。ステップＳ１３では、制御部１０（入力リスト生成部１２）は、ステップＳ１２にて抽出したユーザの組み合わせを構成する第１ユーザ及び第２ユーザの素性ベクトルの各要素の差を取り、第１ユーザ及び第２ユーザの合成素性ベクトルを生成する。
【００６１】
ステップＳ１４では、制御部１０（入力リスト生成部１２）は、入力リストを生成して入力リストテーブル２２ａに記憶させる。より具体的には、制御部１０（入力リスト生成部１２）は、ステップＳ１３にて生成した合成素性ベクトルにシリアルＩＤを付与するとともに、実績テーブル２１ｃに記憶されているユーザの組み合わせの成功度を関連付けて入力リストを生成する。そして、生成した入力リストを入力リストテーブル２２ａに記憶させる。
【００６２】
ステップＳ１５では、制御部１０（学習部１３）は、入力リストに基づいて、学習モデルを生成する。詳細については、図１０で説明する。
【００６３】
図１０は、本実施形態に係るマッチング成功度算出装置１の学習部１３における処理の流れを示すフローチャートである。
【００６４】
ステップＳ１５１では、制御部１０（学習部１３）は、入力リストテーブル２２ａを参照して、成功度毎に合成素性ベクトルの集合を生成する。ステップＳ１５２では、制御部１０（学習部１３）は、ステップＳ１５１で生成した成功度毎の合成素性ベクトルの集合から、２つの集合Ｒ及びＮを定義する。
【００６５】
ステップＳ１５３では、制御部１０（学習部１３）は、ステップＳ１５２で定義された集合Ｒ及びＮよりそれぞれ１つの合成素性ベクトルを抽出して、２つの合成素性ベクトルの組み合わせとして、（ｄｎｑ，ｄｒｑ）を生成する。ｄｎｑは、集合Ｎの合成素性ベクトルであり、ｄｒｑは、集合Ｒの合成素性ベクトルである。
【００６６】
ステップＳ１５４では、制御部１０（学習部１３）は、集合Ｎを構成する合成素性ベクトルｄｎｑ及びウェイトｗｉの内積の値が、集合Ｒを構成する合成素性ベクトルｄｒｑ及びウェイトｗｉの内積の値以上であるか否かを判別する。この判別結果がＹＥＳのときは、ステップＳ１５５に移り、ＮＯのときは、ステップＳ１５６に移る。ここで、ウェイトｗｉは、ｉ回目に更新されたウェイトｗを示す。
【００６７】
ステップＳ１５５では、制御部１０（学習部１３）は、ウェイトｗｉに対して、ｄｒｑとｄｎｑの差を、組み合わせＳの合計値の逆数であるηｑで乗算した数を加算してウェイトｗｉを更新する。
【００６８】
ステップＳ１５６では、制御部１０（学習部１３）は、他の合成素性ベクトルの組み合わせ（ｄｎｑ，ｄｒｑ）が存在しているか否かを判別する。この判別結果がＹＥＳのときは、ステップＳ１５４に移り、ＮＯのときは、ステップＳ１５７に移る。
【００６９】
ステップＳ１５７では、制御部１０（学習部１３）は、他の集合の定義が可能であるか否かを判別する。この判別結果がＹＥＳのときは、Ｓ１５２に移り、ＮＯのときはＳ１５８に移る。ステップＳ１５８では、制御部１０（学習部１３）は、ウェイトｗｉをモデルテーブル２２ｂに記憶させる。この処理が終了すると、学習部１３における処理を終了する。このようにすることで、学習結果がモデルテーブル２２ｂに記憶されることとなる。
【００７０】
図１１は、本実施形態に係るマッチング成功度算出装置１のマッチング成功度算出部１５における処理の流れを示すフローチャートである。
【００７１】
ステップＳ２１では、制御部１０（マッチング成功度算出部１５）は、２人のユーザの組み合わせの入力を受付ける。ステップＳ２２では、制御部１０（マッチング成功度算出部１５）は、ステップＳ２１で受付けた組み合わせを構成する２人のユーザの合成素性ベクトルを生成する。より具体的には、制御部１０（マッチング成功度算出部１５）は、組み合わせを構成するユーザについてプロフィールテーブル２１ａを参照して、ユーザの素性ベクトルを生成する。そして、生成した素性ベクトルに基づいて合成素性ベクトル生成する。
【００７２】
ステップＳ２３では、制御部１０（マッチング成功度算出部１５）は、ステップＳ２２にて生成した合成素性ベクトル及びモデルテーブル２２ｂに記憶されている学習モデルの内積を算出する。
【００７３】
このように、本実施形態では、学習部１３は、過去のマッチング結果を学習して学習結果として学習モデルを生成してモデルテーブル２２ｂに記憶させる。そして、マッチング成功度算出部１５は、モデルテーブル２２ｂの学習モデルに基づいて、新たな２人のユーザの組み合わせのマッチング成功度を算出できる。このため、本発明では、新たな２人のユーザの組み合わせを複数用意して、マッチング成功度算出部１５にマッチング成功度を算出させることによりマッチング成功度を比較してマッチングに適した候補者を選定することができる。
【００７４】
以上、本発明の実施形態について説明したが、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００７５】
本実施形態に係るマッチング成功度算出装置１は、お見合いやビジネスパートナーといった、２人のユーザのマッチング成功度を算出することを想定しているが、これに限らない。例えば、過去のマッチング結果に基づいて２つのグループのマッチング成功度を算出させることとしてもよい。より具体的には、図１に示される機能に加えて、ユーザが所属するグループの情報を記憶するグループＤＢと、グループマッチング成功度算出部とを設ける。そして、マッチング成功度算出部１５は、グループＤＢを参照して第１のグループに所属するそれぞれのユーザを特定し、第１のグループに所属するそれぞれのユーザについて、第２のグループに属するそれぞれのユーザとのマッチング成功度をマッチング成功度算出部１５により算出する。そして、グループマッチング成功度算出部は、算出したマッチング成功度の平均値を算出して、当該平均値を第１のグループ及び第２のグループのマッチング成功度とする。このようにすることで、あるグループに対して、他の複数のグループのマッチング成功度を算出し、当該マッチング成功度を比較することにより他の複数のグループのマッチング成功度の順位を決定できる。また、グループに属するユーザのマッチング成功度の平均値に基づいてグループのマッチング成功度を算出するので、グループに属するユーザそれぞれを均等に評価してグループのマッチング成功度を算出できる。
【００７６】
また、本実施形態では、第１ユーザ及び第２ユーザの素性ベクトルの各要素の差を取ることにより合成素性ベクトルを生成することとしたが、これに限らない。すなわち、第１ユーザ及び第２ユーザの素性ベクトルに基づいて所定の演算を行うことにより、合成素性ベクトルを生成することとしてもよい。例えば、第１ユーザ及び第２ユーザの素性ベクトルを単純に結合して合成素性ベクトルを生成する方法や、成功度算出対象の２人のユーザ素性ベクトルを結合してベクトルを生成し、さらに、当該成功度算出対象の２人のユーザの素性ベクトルの差を当該生成したベクトルに対して結合させて合成素性ベクトルを生成する方法や、素性ベクトルを構成する要素において、複数の要素を指定し、当該指定した複数の要素に対して演算を施すことにより合成素性ベクトルを生成する方法といった、他の方法を用いて合成素性ベクトルを生成してもよい。
【００７７】
また、本実施形態では、図１０に示す処理、すなわち、検索システムにおけるページランクの学習方法を用いて学習モデル（Ｊｏｎａｔｈａｎ  Ｅｌｓａｓ，Ｆａｓｔ  ｌｅａｒｎｉｎｇ  ｏｆ  Ｄｏｃｕｍｅｎｔ  Ｒａｎｋｉｎｇ  Ｆｕｎｃｔｉｏｎｓ  ｗｉｔｈ  ｔｈｅ  Ｃｏｍｍｉｔｔｅｅ  Ｐｅｒｃｅｐｔｒｏｎ（ＷＳＤＭ  ２００８，  Ｃｏｍｍｉｔｔｅｅ  Ｐｅｒｃｅｐｔｒｏｎ)を生成することとしたが、これに限らず、他の学習方法を用いて学習モデルを生成することとしてもよい。すなわち、本実施形態では、例えば、Ｋｏｂｙ  Ｃｒａｍｍｅｒらが提案するＯｎｌｉｎｅ  Ｐａｓｓｉｖｅ−Ａｇｇｒｅｓｓｉｖｅ  Ａｌｇｏｒｉｔｈｍ（ＪＭＬＲ  ２００６，Ｐａｓｓｉｖｅ  Ａｇｇｒｅｓｓｉｖｅ）や、Ｔ．Ｊｏａｃｈｉｍｓらが提案するＯｐｔｉｍｉｚｉｎｇ  ｓｅａｒｃｈ  ｅｎｇｉｎｅｓ  ｕｓｉｎｇ  ｃｌｉｃｋｔｈｒｏｕｇｈ  ｄａｔａ（ＫＤＤ  ２００２，“ＲａｎｋｉｎｇＳＶＭ”）や、Ｚｈｅ  Ｃａｏらが提案するＬｅａｒｎｉｎｇ  ｔｏ  Ｒａｎｋ：Ｆｒｏｍ  Ｐａｉｒｗｉｓｅ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｌｉｓｔｗｉｓｅ  Ａｐｐｒｏａｃｈ（ＩＣＭＬ  ２００７，Ｍｉｃｒｏｓｏｆｔ  ｔｅｃｈ．ｒｅｐｏｒｔ，‘ＬｉｓｔＮｅｔ’）に記載される学習方法を用いて学習モデルを生成してもよい。
【００７８】
また、本実施形態では、成功度という指標を用いてマッチング成功度を算出しているが、これに限らない。例えば、ランクや得点といった、複数のユーザを客観的に評価できる指標を用いてもよい。
【符号の説明】
【００７９】
１  マッチング成功度算出装置
１０  制御部
１１  素性ベクトル生成部
１２  入力リスト生成部
１３  学習部
１４  入力受付部
１５  マッチング成功度算出部
２０  記憶部
２１  ユーザＤＢ
２２  学習ＤＢ
【図１】
2010244468.tif 000003
【図２】
2010244468.tif 000004
【図３】
2010244468.tif 000005
【図４】
2010244468.tif 000006
【図５】
2010244468.tif 000007
【図６】
2010244468.tif 000008
【図７】
2010244468.tif 000009
【図８】
2010244468.tif 000010
【図９】
2010244468.tif 000011
【図１０】
2010244468.tif 000012
【図１１】
2010244468.tif 000013