(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-07
(45)【発行日】2023-07-18
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06Q 30/0201 20230101AFI20230710BHJP
【FI】
G06Q30/0201
(21)【出願番号】P 2020141065
(22)【出願日】2020-08-24
【審査請求日】2022-06-16
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100124084
【氏名又は名称】黒岩 久人
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】黒川 茂莉
(72)【発明者】
【氏名】米川 慧
【審査官】久宗 義明
(56)【参考文献】
【文献】特開2014-219785(JP,A)
【文献】特開2017-102710(JP,A)
【文献】特開2019-175419(JP,A)
【文献】特開2016-031678(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するユーザ群情報取得部と、
前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する確率設定部と、
前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する補完データ生成部と、
前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、前記補完データ生成部が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する更新部と、を備え、
前記補完データ生成部は、前記更新部が更新した前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する、
情報処理装置。
【請求項2】
前記確率設定部は、
前記属性確率の初期値を設定する初期確率設定部と、
EM(Expectation-Maximization)アルゴリズムのEステップにより前記所属確率を更新する所属確率更新部と、
前記EMアルゴリズムのMステップにより前記属性確率を更新する属性確率更新部と、
所定の収束条件を満たすまで前記所属確率更新部に前記所属確率を更新させるとともに、前記属性確率更新部に前記属性確率を更新させる最適化部と、
を備える請求項1に記載の情報処理装置。
【請求項3】
前記第1属性カテゴリーと前記第2属性カテゴリーとは、それぞれ商品に関する異なるカテゴリーを示しており、
前記第1属性情報と前記第2属性情報とは、それぞれ前記第1属性カテゴリーと前記第2属性カテゴリーとに含まれる商品の購入の有無を示す情報であり、
前記情報処理装置は、
前記補完データ生成部が生成した前記第2ユーザ群に含まれる前記第2属性情報に基づいて前記第2ユーザ群の各ユーザに推薦する前記第2属性カテゴリーの商品を選択するとともに、前記補完データ生成部が生成した前記第3ユーザ群に含まれる前記第1属性情報に基づいて前記第3ユーザ群の各ユーザに推薦する前記第1属性カテゴリーの商品を選択する推薦商品選択部をさらに備える、
請求項1又は2に記載の情報処理装置。
【請求項4】
プロセッサが、
(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するステップと、
前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定するステップと、
前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、
前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新するステップと、
更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、
を実行する情報処理方法。
【請求項5】
コンピュータに、
(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得する機能と、
前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する機能と、
前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、
前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する機能と、
更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザに対してアイテムの推薦をする際、アイテムを推薦する対象となる対象ユーザが評価したアイテムを同じように評価している類似ユーザの過去評価を参照して、対象ユーザが評価する可能性の高いアイテムを推定し補完する技術がある。このような技術の中には、他事業の顧客に対して自事業のアイテムの推薦などのアプローチを行うことも行われている。ここで、複数の事業間で共通の顧客に対して共通なクラスタを付与し、それをもとにデータの関連付けを行う技術も存在する(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術は、あらかじめ顧客がクラスタに分類されていることを前提としており、クラスタリングの精度を高めるための技術ではない。しかしながら、クラスタの分類精度は推定精度に影響するため、クラスタの分類を固定してしまうと、推定精度の向上には限界があると考えられる。このように、類似した情報に基づいて欠落している情報を推定する技術には改善の余地があると考えられる。
【0005】
本発明はこれらの点に鑑みてなされたものであり、類似した情報に基づいて推定する欠落情報の推定精度を向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、情報処理装置である。この装置は、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するユーザ群情報取得部と、前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する確率設定部と、前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する補完データ生成部と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、前記補完データ生成部が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する更新部と、を備え、前記補完データ生成部は、前記更新部が更新した前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する。
【0007】
前記確率設定部は、前記属性確率の初期値を設定する初期確率設定部と、EM(Expectation-Maximization)アルゴリズムのEステップにより前記所属確率を更新する所属確率更新部と、前記EMアルゴリズムのMステップにより前記属性確率を更新する属性確率更新部と、所定の収束条件を満たすまで前記所属確率更新部に前記所属確率を更新させるとともに、前記属性確率更新部に前記属性確率を更新させる最適化部と、を備えてもよい。
【0008】
前記第1属性カテゴリーと前記第2属性カテゴリーとは、それぞれ商品に関する異なるカテゴリーを示してもよく、前記第1属性情報と前記第2属性情報とは、それぞれ前記第1属性カテゴリーと前記第2属性カテゴリーとに含まれる商品の購入の有無を示す情報であってもよく、前記情報処理装置は、前記補完データ生成部が生成した前記第2ユーザ群に含まれる前記第2属性情報に基づいて前記第2ユーザ群の各ユーザに推薦する前記第2属性カテゴリーの商品を選択するとともに、前記補完データ生成部が生成した前記第3ユーザ群に含まれる前記第1属性情報に基づいて前記第3ユーザ群の各ユーザに推薦する前記第1属性カテゴリーの商品を選択する推薦商品選択部をさらに備えてもよい。
【0009】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得するステップと、前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定するステップと、前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新するステップと、更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成するステップと、を実行する。
【0010】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得する機能と、前記第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける前記第1属性情報と前記第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する機能と、前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に生成された情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された前記第1属性情報又は前記第2属性情報と、前記第1ユーザ群、前記第2ユーザ群、及び前記第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて前記識別関数、前記所属確率、及び前記属性確率を更新する機能と、更新された前記所属確率と前記属性確率とに基づいて、前記第2ユーザ群に含まれるユーザそれぞれに関する複数の前記第2属性情報と、前記第3ユーザ群に含まれるユーザそれぞれに関する複数の前記第1属性情報と、を生成する機能と、を実現させる。
【0011】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0012】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
本発明によれば、類似した情報に基づいて推定する欠落情報の推定精度を向上させることができる。
【図面の簡単な説明】
【0014】
【
図1】実施の形態に係る情報処理装置が実行する推定処理の概要を説明するための図である。
【
図2】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【
図3】確率設定部が設定する所属確率と属性確率との初期値の一例を示す図である。
【
図4】実施の形態に係る補完データ生成部による補完後のユーザデータベースを示す図である。
【
図5】二値化処理を施した補完後のユーザデータベースを示す図である。
【
図6】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0015】
<実施の形態の概要>
実施の形態の概要を述べる。実施の形態に係る情報処理装置は、欠如している情報と関連する情報に基づいて、欠如している情報を推定して補完する装置である。具体例としては、実施の形態に係る情報処理装置は、あるカテゴリーに含まれるアイテム群(例えば、生鮮食品)と、別のカテゴリーに含まれるアイテム群(例えば、インスタント食品)との両方のカテゴリーにおいて購買履歴があるユーザ群の購買履歴に基づいて、一方のカテゴリーに含まれるアイテム群のみの購買履歴があるユーザについて、他方のカテゴリーに含まれるアイテムを購買するか否かを示す傾向を推定する。
【0016】
図1(a)-(b)は、実施の形態に係る情報処理装置が実行する推定処理の概要を説明するための図である。具体的には、
図1(a)はユーザ属性とユーザ群との関係を説明するための図であり、
図1(b)は、実施の形態に係る情報処理装置の推定対象となる情報を説明するための図である。
【0017】
図1(a)において、第1ユーザ属性は、第1カテゴリーに含まれるアイテムの購買履歴を示す情報を示す。また、第2ユーザ属性は、第1カテゴリーとは異なる第2カテゴリーに含まれるアイテムの購買履歴を示す。
図1(a)において、第1ユーザ群は、第1ユーザ属性と第2ユーザ属性との二つの属性を持つユーザの集合である。
【0018】
第2ユーザ群は、第1ユーザ属性を持つが、第2ユーザ属性は持たないユーザの集合である。すなわち、第1ユーザ群に含まれるユーザは、第2カテゴリーのアイテムの購買の傾向をつかむことができないユーザである。一方、第3ユーザ群は、第2ユーザ属性を持つが、第1ユーザ属性は持たないユーザの集合である。すなわち、第3ユーザ群に含まれるユーザは、第1カテゴリーのアイテムの購買の傾向をつかむことができないユーザである。
【0019】
図1(b)は、各ユーザを特定するためのユーザ識別子と、各ユーザの属性情報とを対応づけて格納するユーザデータベースのデータ構造を模式的に示す図である。実施の形態に係る情報処理装置は、各ユーザにはユーザ識別子を一意に割り当てて管理している。
図1(b)においては、第1ユーザ群に含まれるユーザは、ユーザ識別子がUID0001、UID0002、UID0003、及びUID0004が割り当てられた4人のユーザである。第2ユーザ群に含まれるユーザは、ユーザ識別子がUID0005、UID0006、UID0007、UID0008、及びUID0009の5人のユーザであり、第3ユーザ群に含まれるユーザは、ユーザ識別子がUID0010及びUID0011の2人のユーザである。
【0020】
図1(b)において、第1属性情報は「S1」、「S2」、及び「S3」で示される3つの情報を含むが、これはそれぞれ第1カテゴリーに含まれる3つの異なるアイテムに関する購買の有無を示す情報であり、具体的には「1」は購買有、「0」は購買無を示している。例えば、ユーザ識別がUID0001であるユーザの「S1」は「1」であるので、このユーザは過去にS1に対応するアイテムを購買したことがあることを示している。同様に、第2属性情報に含まれる「T1」及び「T2」は、それぞれ第2カテゴリーに含まれる2つの異なるアイテムに関する購買の有無を示す情報である。例えば、ユーザ識別子がUID0004であるユーザは、過去にT1に対応するアイテムを購買したことがないことを示している。
【0021】
図1(b)において右肩上がりの斜線で示すように、第2ユーザ群に含まれるユーザはいずれも第2属性情報が空欄である。これは、第2ユーザ群に含まれるユーザについては、第2属性情報が不明であることを示している。また、
図1(b)において右肩下がりの斜線で示すように、第3ユーザ群に含まれるユーザはいずれも第1属性情報が空欄である。これは、第3ユーザ群に含まれるユーザについては、第1属性情報が不明であることを示している。実施の形態に係る情報処理装置の処理目的は、
図1(b)における斜線で示す領域、すなわち、第2ユーザ群に関する第2属性情報と、第3ユーザ群に関する第1属性情報とを推定することである。
【0022】
図1(a)-(b)は、説明の便宜のため、ユーザの総数は11であるが、一般には11よりも多いことが多く、また、各属性情報の種類数も3よりも多いことが多い。実施の形態に係る情報処理装置は、第1ユーザの属性情報を解析することにより、第1属性情報と第2属性情報との統計的な関係性を算出する。例えば、第1属性情がいずれも「1」であるユーザは、第1属性情報における「T1」が1である傾向が高いとする。この場合、第2ユーザ群において第1属性情報がいずれも「1」であるユーザは、第2属性情報におけるT1に対応する商品を購買する蓋然性が高いと考えられる。
【0023】
詳細は後述するが、実施の形態に係る情報処理装置は、2以上のクラスタを設定し、各ユーザがそれぞれのクラスタに属する確率を、既知のEM(Expectation-Maximization)アルゴリズムを用いて更新しながら推定する。実施の形態に係る情報処理装置は、さらに、既知の敵対的生成ネットワーク(Generative Adversarial Networks;GAN)の枠組みを用いることにより、推定した情報が、元からある情報であるか、あるいは推定された情報であるかの判別を難しくするという意味において、推定精度を高める。これにより、実施の形態に係る情報処理装置は、算出した関係性を用いて、第2ユーザ群における第2属性情報と、第3ユーザ群における第1属性情報との推定精度を向上させることができる。
【0024】
<実施の形態に係る情報処理装置1の機能構成>
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。
図2において、矢印は主なデータの流れを示しており、
図2に示していないデータの流れがあってもよい。
図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0025】
記憶部2は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。記憶部2は、
図1(b)に示すユーザデータベースも記憶している。
【0026】
制御部3は、情報処理装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによってユーザ群情報取得部30、確率設定部31、補完データ生成部32、更新部33、及び推薦商品選択部34として機能する。確率設定部31は、初期確率設定部310、所属確率更新部311、属性確率更新部312、及び最適化部313を含む。
【0027】
なお、
図2は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0028】
ユーザ群情報取得部30は、記憶部2に格納されているユーザデータベースを参照して、第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報を取得する。また、ユーザ群情報取得部30は、ユーザデータベースを参照して、第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報を取得する。さらに、ユーザ群情報取得部30は、ユーザデータベースを参照して、第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報を取得する。
【0029】
確率設定部31は、第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率と、各クラスタにおける第1属性情報と第2属性情報とのそれぞれの実現確率を示す属性確率と、を設定する。
【0030】
図3(a)-(c)は、確率設定部31が設定する所属確率と属性確率との一例を示す図である。具体的には、
図3(a)は確率設定部31が設定する属性確率の初期値の一例を示す図であり、
図3(b)は属性確率の初期値に基づいて算出した所属確率を示す図である。確率設定部31の初期確率設定部310は、例えば乱数等を用いることにより、属性確率の初期値を設定する。
【0031】
例えば、ユーザ識別子がUID00005であるユーザが第1クラスタに属している確率P(第1クラスタ|ID=UID00005)は、以下のように計算できる。
P(第1クラスタ|ID=UID00005)∝P(ID=UID00005,第1クラスタ)=P(S1=1|第1クラスタ)×P(S2=1|第1クラスタ)×P(S3=1|第1クラスタ)=0.89×0.0013×0.7499=0.000896。
【0032】
同様に、ユーザ識別子がUID00005であるユーザが第2クラスタに属している確率P(第2クラスタ|ID=UID00005)は、以下のように計算できる。
P(第2クラスタ|ID=UID00005)∝(ID=UID00005,第2クラスタ)=P(S1=1|第2クラスタ)×P(S2=1|第2クラスタ)×P(S3=1|第2クラスタ)=0.9856×0.0450×0.3888=0.01723。
【0033】
P(第1クラスタ|ID=UID00005)、P(第2クラスタ|ID=UID00005)の右辺には、それぞれ各クラスの事前確率であるP(第1クラスタ)、P(第2クラスタ)を乗算するのが正しいが、簡単のためP(第1クラスタ)=P(第2クラスタ)=0.5とみなして省略している。ただし、省略せずP(第1クラスタ)、P(第2クラスタ)を推定してもよい。
【0034】
これより、ユーザ識別子がUID0005のユーザに関する第1クラスタの事後確率P(第1クラスタ|ID=UID00005)は、P(ID=UID00005,第1クラスタ)とP(ID=UID00005,第2クラスタ)とに基づいて以下のように計算できる。
【0035】
P(第1クラスタ|ID=UID00005)=P(ID=UID00005,第1クラスタ)/(P(ID=UID00005,第1クラスタ)+P(ID=UID00005,第2クラスタ))=0.000896/(0.000896+0.01723)=0.0494。
【0036】
一方、ユーザ識別子がUID0005のユーザに関する第1クラスタの事後確率P(第2クラスタ|ID=UID00005)は、以下のように計算できる。
【0037】
P(第2クラスタ|ID=UID00005)=1-P(第1クラスタ|ID=UID00005)=0.9506。
【0038】
なお、
図3(a)に示す属性確率から、
図3(b)に示す所属確率を生成する処理は、EMアルゴリズムにおけるEステップに相当する。確率設定部31の所属確率更新部311は、EMアルゴリズムのEステップを実行することにより所属確率を更新する。
【0039】
確率設定部31の属性確率更新部312は、
図3(b)に示す所属確率に基づいて、EMアルゴリズムのMステップを実行することにより属性確率を更新する。確率設定部31の最適化部313は、所定の収束条件を満たすまで所属確率更新部311に所属確率を更新させるとともに、属性確率更新部312に属性確率を更新させる。これにより、確率設定部31は、最終的に
図3(c)に示す属性確率を生成する。図示はしないが、
図3(c)に示す属性確率に基づいて、属性確率更新部312は最終的な所属確率も算出する。
【0040】
図3に示す例では、確率設定部31は、第1クラスタと第2クラスタとの二つのクラスタを設定した場合の例を示している。
図3(a)において、例えば、ユーザが第1クラスタに属する場合、そのユーザが第1属性情報の「S3」の購入履歴がある可能性が74.99%(0.7499の割合)であることを示している。確率設定部31は、EMアルゴリズム及びGANのフレームワークを用いることにより、属性確率及び所属確率を更新する。
【0041】
図3(c)は、確率設定部31が更新処理によって生成した属性確率の一例を示す図である。例えば、P(T1=1|第1クラスタ)、P(T1=1|第2クラスタ)は以下のように計算される。
【0042】
P(T1=1|第1クラスタ)=
{P(T1=1|ID=UID0001)×P(第1クラスタ|ID=UID0001)
+P(T1=1|ID=UID0002)×P(第1クラスタ|ID=UID0002)
+P(T1=1|ID=UID0003)×P(第1クラスタ|ID=UID0003)
+P(T1=1|ID=UID0004)×P(第1クラスタ|ID=UID0004)
+P(T1=1|ID=UID0010)×P(第1クラスタ|ID=UID0010)
+P(T1=1|ID=UID0011)×P(第1クラスタ|ID=UID0011)}/{P(第1クラスタ|ID=UID0001)+P(第1クラスタ|ID=UID0002)+P(第1クラスタ|ID=UID0003)+P(第1クラスタ|ID=UID0004)+P(第1クラスタ|ID=UID0010)+P(第1クラスタ|ID=UID0011)}
={1×0.5293+1×0.9970+1×0.0075+0×0.0019+1×0.9558+0×0.1481}/{0.5293+0.9970+0.0075+0.0019+0.9558+0.1481}
=0.9432
【0043】
P(T1=1|第2クラスタ)=
{P(T1=1|ID=UID0001)×P(第2クラスタ|ID=UID0001)
+P(T1=1|ID=UID0002)×P(第2クラスタ|ID=UID0002)
+P(T1=1|ID=UID0003)×P(第2クラスタ|ID=UID0003)
+P(T1=1|ID=UID0004)×P(第2クラスタ|ID=UID0004)
+P(T1=1|ID=UID0010)×P(第2クラスタ|ID=UID0010)
+P(T1=1|ID=UID0011)×P(第2クラスタ|ID=UID0011)}/{P(第2クラスタ|ID=UID0001)+P(第2クラスタ|ID=UID0002)+P(第2クラスタ|ID=UID0003)+P(第2クラスタ|ID=UID0004)+P(第2クラスタ|ID=UID0010)+P(第2クラスタ|ID=UID0011)}
={1×0.4707+1×0.0030+1×0.9925+0.9981+1×0.0442+0×0.8519}/{0.4707+0.0030+0.9925+0.9981+0.0442+0.8519}
=0.4495
【0044】
確率設定部31が実行する更新処理により、
図3(a)に示す属性確率の初期値は、
図3(c)に示す値に更新される。更新処理を繰り返し行う場合は、更新後の値である
図3(c)に示す値を
図3(a)に設定し、
図3(c)に示す値を更新する。
【0045】
補完データ生成部32は、所属確率と属性確率とに基づいて、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報と、を生成する。
図1(b)に示すように、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報とは、いずれも欠落している情報である。
【0046】
例えば、補完データ生成部32は、ユーザ識別子がUID0005のユーザにおける「T1」が1である確率P(T1=1|ID=UID0005)は、以下のように計算できる。
P(T1=1|ID=UID0005)=P(T1=1|第1クラスタ)×P(第1クラスタ|ID=UID0005)+P(T1=1|第2クラスタ)×P(第2クラスタ|ID=UID0005)=0.9432×0.0494+0.4495×0.9506=0.4739。
【0047】
また、ユーザ識別子がUID0005のユーザにおける「T1」が0である確率P(T1=0|ID=UID0005)は、以下のように計算できる。
P(T1=0|ID=UID0005)=1-P(T1=1|ID=UID0005)=1-0.4739=0.5261。
【0048】
図4は、実施の形態に係る補完データ生成部32による補完後のユーザデータベースを示す図である。
図4においてアンダーラインで示すように、
図1(b)に示すユーザデータベースでは欠落している情報が補完データ生成部32によって補完されている。
【0049】
図5は、補完後のユーザデータベースを示す図であり、二値化処理を施した補完後のユーザデータベースを示す図である。より具体的には、
図4に示すデータベースの各値に対し、閾値(例えば、0.5)未満を0、閾値以上を1とする二値化を施した図である。
図5では、
図1で実現値が与えられているものは
図1の値を埋める。
【0050】
図2の説明に戻る。更新部33は、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、補完データ生成部32が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された第1属性情報又は第2属性情報と、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて識別関数、所属確率、及び属性確率を更新する。
【0051】
識別関数は、
図5に示す補完後のデータのうち実現値(x
n∈X
n)か、補完値(x
r∈X
r)かを識別する関数であり、入力が真なら1、偽なら0を返す関数である。識別評価関数O
Dの具体例は、以下の式(1)で表現できる。識別評価関数は大きい方がよい。
【0052】
【0053】
m次元のベクトルの入力x.=(x.1,x.2,・・・,x.m)とした場合(・には実現値を意味するn又は補完値を意味するrが入る)、一例として識別関数は以下の式(2)のように表現できる。
【0054】
【0055】
式(2)において、w1,w2,・・・,wmは、はベクトルの次元毎の識別関数の係数であり、exp(・)/Σexp(・)はsoftmax関数と呼ばれ、この関数を通すことにより出力値が[0,1]の範囲となり、かつ、出力値合計が1となる。
【0056】
識別関数はクラスタ毎に学習してもよい。その場合は、クラスタc毎にDcを作成し、識別評価関数ODは以下の式(3)のように設定する。
【0057】
【0058】
また、一例としてクラスタc毎の識別関数は以下の式(4)のように表現できる。
【0059】
【0060】
式(4)において、wc1,wc2,・・・,wcmは、クラスタc毎の識別関数の係数である。クラスタ毎の関数とすることで、クラスタ毎の実現値、補完値の割合の違いを考慮した識別を行うことが可能となる。ここで、更新部33は、ODの値が大きくなるように学習及び更新を所定の回数繰り返す。
【0061】
生成評価関数OGは、実現値(xn∈Xn)の補完生成のよさ(再構成損失)L(x,n)と、補完値(xr∈Xr)の真偽識別の行い難さを評価するために用いられる関数である。生成評価関数OGは、以下の式(5)に示すように、属性_S3と真偽識別の行い易さの加重和として設定する。
【0062】
【数5】
式(5)において、λは再構成損失と真偽識別の行い易さのバランスをとるハイパーパラメータである。
【0063】
識別関数をクラスタc毎に学習する場合は、生成評価関数OGは以下の式(6)のように設定する。
【0064】
【0065】
更新部33は、生成評価関数OGの値が小さくなるように学習及び更新を所定の回数繰り返す。また、実現値(xn∈Xn)の補完生成のよさ(再構成損失)L(xn)は以下の式(7)のように設定できる。生成評価関数は小さい方がよく、敵対的生成ネットワークは識別評価関数を大きくしつつ生成評価関数を小さくするミニマックスゲームにより属性確率等を最適化する。
【0066】
ΣlogL(xn)=-Σi∈ID_S{I(属性_S331=1,ID_S=i)logP(属性_S31=1|ID_S=i)+I(属性_S31=0,ID_S=i)logP(属性_S31=0|ID_S=i)+I(属性_S32=1,ID_S=i)logP(属性_S32=1|ID_S=i)+I(属性_S32=0,ID_S=i)logP(属性_S32=0|ID_S=i)+I(属性_S33=1,ID_S=i)logP(属性_S33=1|ID_S=i)+I(属性_S33=0,ID_S=i)logP(属性_S33=0|ID_S=i))-Σj∈ID_T{I(属性_T1=1,ID_T=j)logP(属性_T1=1|ID_T=j)+I(属性_T1=0,ID_T=j)logP(属性_T1=0|ID_T=j)+I(属性_T2=1,ID_T=j)logP(属性_T2=1|ID_T=j)+I(属性_T2=0,ID_T=j)logP(属性_T2=0|ID_T=j)) (7)
【0067】
式(7)において、ID_Sは第2ユーザ群のユーザ識別子を示し、ID_Tは第3ユーザ群のユーザ識別子を示す。また、例えばP(属性_S31=1|ID_S=i)などの確率値は、更新部33が
図4に示す補完後のユーザデータベースを参照することにより取得できる。
【0068】
ここで、
図3(a)に示す属性確率が生成評価関数において更新されるパラメータであり、
図4に示す補完後のユーザデータベースは補完データ生成部32により
図1(b)に示す属性情報及び
図3(a)に示す属性確率から再計算される。
【0069】
以上において、属性情報のみから計算できる単純なモデルの例を示しているが、階層ベイズモデルなど、より属性情報に関する多数のパラメータを有する複雑なモデルに変更しても構わない。また、I(属性S3=1,ID_S=i)はID_Sの属性S3=1ならば1、0ならば0を返す指示関数である。
【0070】
図2の説明に戻る。補完データ生成部32は、更新部33が更新した所属確率と属性確率とに基づいて、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報と、を生成する。
【0071】
このように、実施の形態に係る情報処理装置1は、EMアルゴリズムを用いることにより、各ユーザが属するクラスタを固定することなく、第1ユーザ群の属性情報に基づいて各ユーザの各クラスタの所属確率を推定する。これにより、各ユーザが所属するクラスタを固定する場合と比較して、先見情報の統計的な解析により各ユーザが属するクラスタを推定することができる。
【0072】
実施の形態に係る情報処理装置1は、さらに、EMアルゴリズムを用いることによって推定した値をいわば初期値として、GANのフレームワークを用いることにより、推定した欠損情報の精度を高める。これにより、情報処理装置1は、類似した情報に基づいて推定さする欠落情報の推定精度を向上させることができる。
【0073】
<実施の形態に係る情報処理装置1の利用シーン>
実施の形態に係る情報処理装置1は、例えば、あるユーザのアイテムの購買履歴に基づいて、その購買履歴が存在するアイテムと別のカテゴリーに含まれるアイテムのうち、ユーザに推薦するアイテムを選択することに用いることができる。
【0074】
この場合、第1属性カテゴリーと第2属性カテゴリーとは、それぞれ商品に関する異なるカテゴリーを示しているものとする。また、第1属性情報と第2属性情報とは、それぞれ第1属性カテゴリーと第2属性カテゴリーとに含まれる商品の購入の有無を示す情報であるものとする。
【0075】
推薦商品選択部34は、補完データ生成部32が生成した第2ユーザ群に含まれる第2属性情報に基づいて第2ユーザ群の各ユーザに推薦する第2属性カテゴリーの商品を選択する。同様に、推薦商品選択部は、補完データ生成部32が生成した第3ユーザ群に含まれる第1属性情報に基づいて第3ユーザ群の各ユーザに推薦する第1属性カテゴリーの商品を選択する。これにより、情報処理装置1は、二つのカテゴリーのうち一方のカテゴリーに含まれるアイテムの購買履歴のみが存在するユーザに対し、別のカテゴリーに含まれるアイテムの中から統計的に購買する可能性が高いアイテムを選択することができる。
【0076】
<情報処理装置1が実行する情報処理方法の処理フロー>
図6は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
【0077】
ユーザ群情報取得部30は、(1)第1ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報とを含む第1ユーザ群情報と、(2)第2ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第1属性カテゴリーに含まれる複数の第1属性情報のみを含む第2ユーザ群情報と、(3)第3ユーザ群に含まれるユーザそれぞれを特定するためのユーザ識別子と、各ユーザそれぞれに関する第2属性カテゴリーに含まれる複数の第2属性情報のみを含む第3ユーザ群情報と、を取得する(ステップS2)。
【0078】
確率設定部31は、第1ユーザ群に含まれるユーザそれぞれが、複数のクラスタそれぞれに所属する確率を示す所属確率を設定する(ステップS4)。また、確率設定部31は、各クラスタにおける第1属性情報と第2属性情報とのそれぞれの実現確率を示す属性確率を設定する(ステップS6)。
【0079】
補完データ生成部32は、所属確率と属性確率とに基づいて、第2ユーザ群に含まれるユーザそれぞれに関する複数の第2属性情報と、第3ユーザ群に含まれるユーザそれぞれに関する複数の第1属性情報と、を生成する(ステップS8)。
【0080】
更新部33は、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報及び第2属性情報に、補完データ生成部32が生成した情報が含まれるか否かを識別する識別関数から定まる識別評価関数と、生成された第1属性情報又は第2属性情報と、第1ユーザ群、第2ユーザ群、及び第3ユーザ群に含まれる各ユーザの第1属性情報又は第2属性情報の誤差を評価する生成評価関数とに基づいて、敵対的生成ネットワークを用いて識別関数、所属確率、及び属性確率を更新する(ステップS10)。
【0081】
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、類似した情報に基づいて推定する欠落情報の推定精度を向上させることができる。
【0082】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【符号の説明】
【0083】
1・・・情報処理装置
2・・・記憶部
3・・・制御部
30・・・ユーザ群情報取得部
31・・・確率設定部
310・・・初期確率設定部
311・・・所属確率更新部
312・・・属性確率更新部
313・・・最適化部
32・・・補完データ生成部
33・・・更新部
34・・・推薦商品選択部