(57)【要約】【課題】  レコメンドの精度の評価を行うため等の多数の行動データを容易に取得する。【解決手段】  行動データ識別システムであるレコメンドエンジン評価システム１０は、ユーザの行動に対する条件及び当該条件に応じたユーザの行動を示す行動データを取得する学習用データ取得部１１と、取得された行動データに基づいて、相互の機械学習によって、真の行動データと偽の行動データとを識別する識別モデル、及び当該識別モデルによって真の行動データと識別されるような偽の行動データを生成する生成モデルを生成するモデル生成部１２と、生成された生成モデルとは独立して、識別対象の行動データを取得する識別用データ取得部１３と、生成された識別モデルを用いて、取得された識別対象の行動データの真偽を識別する識別部１４とを備える。【選択図】  図１
2020027517.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの行動に対する条件及び当該条件に応じたユーザの行動を示す行動データを取得する学習用データ取得部と、
前記学習用データ取得部によって取得された行動データに基づいて、相互の機械学習によって、真の行動データと偽の行動データとを識別する識別モデル、及び当該識別モデルによって真の行動データと識別されるような偽の行動データを生成する生成モデルを生成するモデル生成部と、
前記モデル生成部によって生成された生成モデルとは独立して、識別対象の行動データを取得する識別用データ取得部と、
前記モデル生成部によって生成された識別モデルを用いて、前記識別用データ取得部によって取得された行動データの真偽を識別する識別部と、
を備える行動データ識別システム。
【請求項２】
前記条件は、ユーザにレコメンドされるコンテンツを含み、ユーザの行動は、当該レコメンドに対するユーザの行動である請求項１に記載の行動データ識別システム。
【請求項３】
前記識別部による識別に応じた行動データを用いて、前記レコメンドの評価を行う評価部を更に備える請求項２に記載の行動データ識別システム。
【請求項４】
前記識別用データ取得部は、条件を示す情報を取得して、当該条件に対する複数の行動に係る識別対象の複数の行動データを生成する請求項１〜３の何れか一項に記載の行動データ識別システム。
【請求項５】
前記モデル生成部は、ＧＡＮ（Generative  Adversarial  Network）によって相互の機械学習を行う請求項１〜４の何れか一項に記載の行動データ識別システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの行動を示す行動データに係る識別を行う行動データ識別システムに関する。
【背景技術】
【０００２】
従来から、ユーザに応じた動画のレコメンドを行うことが提案されている（例えば、特許文献１参照）。例えば、ユーザの満足度を向上させるためにユーザの嗜好に合わせたコンテンツがレコメンドされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１６１１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般にレコメンドの精度は、レコメンドしたコンテンツのＣＴＲ（Click  Through  Rate、クリック率）及び視聴時間等といったレコメンドに対するユーザの好意的な行動で評価される。そのため、レコメンドの精度の評価を行うためには、レコメンドに対するユーザの行動を示す行動データを多く取得する必要がある。しかしながら通常、行動データを取得するにはユーザに対して実際のレコメンドを行う必要があるため、多数の行動データを多く取得するには困難な場合がある。
【０００５】
本発明は、上記に鑑みてなされたものであり、レコメンドの精度の評価を行うため等の多数の行動データを容易に取得することができる行動データ識別システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明に係る行動データ識別システムは、ユーザの行動に対する条件及び当該条件に応じたユーザの行動を示す行動データを取得する学習用データ取得部と、学習用データ取得部によって取得された行動データに基づいて、相互の機械学習によって、真の行動データと偽の行動データとを識別する識別モデル、及び当該識別モデルによって真の行動データと識別されるような偽の行動データを生成する生成モデルを生成するモデル生成部と、モデル生成部によって生成された生成モデルとは独立して、識別対象の行動データを取得する識別用データ取得部と、モデル生成部によって生成された識別モデルを用いて、識別用データ取得部によって取得された行動データの真偽を識別する識別部と、を備える。
【０００７】
本発明に係る行動データ識別システムでは、実際のユーザの行動に係る少数の行動データ、即ち、少数の真の行動データが取得できれば、それに基づいて識別モデルが生成される。また、当該識別モデルが用いられて識別対象の行動データの真偽が識別されることによって、当該識別対象の行動データから多数の妥当性の高い行動データが取得される。従って、本発明に係る行動データ識別システムによれば、レコメンドの精度の評価を行うため等の多数の行動データを容易に取得することができる。
【発明の効果】
【０００８】
本発明では、実際のユーザの行動に係る少数の行動データ、即ち、少数の真の行動データが取得できれば、それに基づいて識別モデルが生成される。また、当該識別モデルが用いられて識別対象の行動データの真偽が識別されることによって、当該識別対象の行動データから多数の妥当性の高い行動データが取得される。従って、本発明によれば、レコメンドの精度の評価を行うため等の多数の行動データを容易に取得することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る行動データ識別システムであるレコメンドエンジン評価システムの構成を示す図である。
【図２】行動データの例を示すテーブルである。
【図３】Ｇｅｎｅｒａｔｏｒの機能を模式的に示す図である。
【図４】Ｄｉｓｃｒｉｍｉｎａｔｏｒの機能を模式的に示す図である。
【図５】レコメンドの精度の評価に用いられる行動データの例を示す図である。
【図６】本発明の実施形態に係る行動データ識別システムであるレコメンドエンジン評価システムで実行される処理全体を示すフローチャートである。
【図７】本発明の実施形態に係る行動データ識別システムであるレコメンドエンジン評価システムで実行されるＧＡＮによるＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成全体（機械学習全体）の処理を示すフローチャートである。
【図８】本発明の実施形態に係る行動データ識別システムであるレコメンドエンジン評価システムで実行されるＤｉｓｃｒｉｍｉｎａｔｏｒの学習の処理を示すフローチャートである。
【図９】本発明の実施形態に係る行動データ識別システムであるレコメンドエンジン評価システムで実行されるＧｅｎｅｒａｔｏｒの学習の処理を示すフローチャートである。
【図１０】本発明の実施形態に係る行動データ識別システムであるレコメンドエンジン評価システムのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面と共に本発明に係る行動データ識別システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１１】
図１に本実施形態に係る行動データ識別システムであるレコメンドエンジン評価システム１０を示す。レコメンドエンジン評価システム１０は、レコメンドエンジンによるレコメンドの精度を評価するシステム（装置）である。レコメンドエンジンは、ユーザにレコメンドされる動画等のコンテンツを決定するシステム（装置）である。レコメンドエンジンは、ユーザの属性及び状態の少なくとも何れかに応じて、ユーザに合ったコンテンツをレコメンドされるコンテンツとして決定する。なお、レコメンドは、動画等のコンテンツを対象とするものに限られず広告（プッシュ広告）等を対象とするものであってもよい。
【００１２】
コンテンツのレコメンドは、例えば、ユーザが所持する端末にコンテンツを示す情報が送信されることで行われる。当該端末においてコンテンツを示す情報の表示等の出力が行われて、ユーザは、レコメンドされたコンテンツを認識することができる。ユーザは、レコメンドされたコンテンツに興味を持った場合、端末を操作してレコメンドされたコンテンツを取得して参照（例えば、視聴）することができる。
【００１３】
レコメンドエンジン評価システム１０は、例えば、レコメンドされたコンテンツがユーザに参照（例えば、視聴）されている程、レコメンドの精度が高いと評価する。上述したように通常、レコメンドの精度の評価を行うためには、レコメンドに対するユーザの行動に係る実際の行動データが必要となる。しかしながら通常、実際の行動データを取得するには、ユーザに対して実際のレコメンドを行う必要があるため、多数の行動データを取得するには困難な場合があった。また、レコメンドエンジンは、レコメンドの精度の評価を受けてチューニングされる。通常、レコメンドの精度の評価とチューニングとが繰り返し行われるため、多数の行動データを取得できたとしても、従来はレコメンドエンジンのチューニングに非常に時間が掛かっていた。
【００１４】
そこで、本実施形態に係るレコメンドエンジン評価システム１０は、実際のレコメンドに基づかない人工的な行動データを取得して、当該行動データを用いてレコメンドの精度を評価する。レコメンドエンジン評価システム１０は、例えば、サーバ装置、ＰＣ（パーソナルコンピュータ）等のコンピュータによって実現される。また、レコメンドエンジン評価システム１０は、複数のコンピュータ、即ち、コンピュータシステムによって実現されてもよい。
【００１５】
引き続いて、本実施形態に係るレコメンドエンジン評価システム１０の機能を説明する。図１に示すようにレコメンドエンジン評価システム１０は、学習用データ取得部１１と、モデル生成部１２と、識別用データ取得部１３と、識別部１４と、評価部１５とを備えて構成される。
【００１６】
学習用データ取得部１１は、ユーザの行動に対する条件及び当該条件に応じたユーザの行動を示す行動データを取得する機能部である。条件は、ユーザにレコメンドされるコンテンツを含み、ユーザの行動は、当該レコメンドに対するユーザの行動である。学習用データ取得部１１は、実際に行われたレコメンドに対する実際のユーザの行動に係る実際の行動データを取得する。即ち、実際の行動データを生成するために、予め、実際のユーザに対して実際のコンテンツをレコメンドしておく。レコメンドに対するユーザの行動は、例えば、レコメンドされたコンテンツを取得して視聴したか否か、及び視聴した場合の視聴時間である。レコメンドされるコンテンツは、評価対象のレコメンドエンジンによって決定されたものでも、それ以外によって決定されたものでもよい。
【００１７】
ユーザの行動に対する条件は、ユーザに係るもの及びコンテンツに係るものを含む。ユーザに係る条件としては、例えば、年齢、性別及び興味等のユーザの属性、並びにレコメンドされた際の時刻及び場所等のレコメンドされた際のユーザの状態を含む。コンテンツに係る条件としては、コンテンツのジャンル及びコンテンツの長さ等である。なお、ユーザの行動に対する条件及びユーザの行動としては、上記以外のものが含まれていてもよい。また、ユーザに係る条件及びコンテンツに係る条件として、上記の全てが含まれている必要はない。
【００１８】
行動データは、例えば、実際のレコメンドのレコメンドログに基づいて、レコメンドエンジン評価システム１０の管理者によって生成される。学習用データ取得部１１は、例えば、レコメンドエンジン評価システム１０への行動データの入力操作を受け付けて行動データを取得する。あるいは、学習用データ取得部１１が、レコメンドログを取得して、レコメンドログに基づいて行動データを生成してもよい。
【００１９】
学習用データ取得部１１によって取得される行動データの例を図２に示す。図２における個々のレコード（１つの行に相当）が、１つの行動データに対応する。ユーザメタの欄の情報は、ユーザの属性を示す情報である。ユーザメタの欄は、数値である特徴量１〜３の情報を含む。特徴量１〜３は、ユーザの属性を複数次元の数値としたものである。なお、数値の次元数は、図２に示すような３次元に限られず、任意でよい。ユーザの属性の数値化は、従来の技術によって行うことができる。ユーザの属性の数値化は、行動データがレコメンドエンジン評価システム１０に入力される時点で予め行われていてもよいし、年齢、性別及び興味といったユーザの属性を示す情報に基づいて学習用データ取得部１１によって行われてもよい。以下の数値化された情報についても同様である。
【００２０】
コンテンツメタの欄の情報は、レコメンドされたコンテンツに係る条件を示す情報である。コンテンツメタの欄の情報は、ユーザメタの欄の情報と同様に複数次元の数値にされている。条件の欄の情報は、ユーザの状態を示す情報である。そのうち、時間の情報は、レコメンドが１日中の何時に行われたかを示している。例えば、時間の欄の「２３」は、２３時にレコメンドが行われたことを示している。場所の情報は、レコメンドされた際にユーザがどこにいたかを示している。例えば、場所の欄の「０」は家、「１」は職場、「２」は移動中であったことを示している。
【００２１】
行動の欄の情報は、レコメンドに対するユーザの行動を示す情報である。クリックの欄の情報は、ユーザがレコメンドされたコンテンツを取得（視聴）するためにレコメンドから一定時間以内にクリックしたか否かを示している。例えば、クリックの欄の「１」は、クリックしたことを示しており、「０」は、クリックしなかったことを示している。視聴時間は、レコメンドされたコンテンツを視聴した時間（例えば、分単位での時間）である。クリックされていない行動データについては、視聴時間は０となる。
【００２２】
図２に示すフォーマットの行動データは、レコメンドの精度の評価に用いることができるものである。但し、学習用データ取得部１１によって取得される実際の行動データの数は、レコメンドの精度の評価に十分である必要はない。学習用データ取得部１１によって取得される実際の行動データは、後述する人工的な行動データの取得のために用いられる。学習用データ取得部１１によって取得される実際の行動データの数は、後述する機械学習が適切に行える数とするのがよい。人工的な行動データも、図２に示す実際の行動データのフォーマットと同様のフォーマットのデータである。なお、行動データは、必ずしも図２に示すものである必要はなく、ユーザの行動に対する条件及び当該条件に応じたユーザの行動を示すデータであればよい。
【００２３】
学習用データ取得部１１は、取得した実際の行動データをレコメンドエンジン評価システム１０に記憶させる。記憶された実際の行動データは、後述する機能部によって用いられる。
【００２４】
モデル生成部１２は、学習用データ取得部１１によって取得された行動データに基づいて、相互の機械学習によって、真の行動データと偽の行動データとを識別する識別モデル、及び当該識別モデルによって真の行動データと識別されるような偽の行動データを生成する生成モデルを生成する機能部である。モデル生成部１２は、ＧＡＮ（Generative  Adversarial  Network、敵対的生成ネットワーク）によって相互の機械学習を行う。
【００２５】
モデル生成部１２によって生成される生成モデルは、ＧＡＮにおけるＧｅｎｅｒａｔｏｒである。図３に示すようにＧｅｎｅｒａｔｏｒは、入力値から、偽の行動データである偽データを出力する。入力値は、例えば、ランダムな値（ノイズ）である。図２に示すように偽データは、学習用データ取得部１１によって取得される行動データと同じフォーマットのデータである。Ｇｅｎｅｒａｔｏｒは、より正解データ（真の行動データ）らしい偽データを出力する。ここでいう正解データは、学習用データ取得部１１によって取得される実際の行動データである。
【００２６】
モデル生成部１２によって生成される識別モデルは、ＧＡＮにおけるＤｉｓｃｒｉｍｉｎａｔｏｒである。Ｄｉｓｃｒｉｍｉｎａｔｏｒは、行動データを入力して、当該行動データが正解データであるか、偽データであるかを示す情報を出力する。図４に示すように、例えば、Ｄｉｓｃｒｉｍｉｎａｔｏｒは、入力した行動データが正解データである尤度（０〜１）（確率）を出力する。Ｄｉｓｃｒｉｍｉｎａｔｏｒは、正解データを入力すると１に近い尤度、偽データを入力すると０に近い尤度を出力する。
【００２７】
ＧＡＮによる機械学習では、以下のようにＧｅｎｅｒａｔｏｒとＤｉｓｃｒｉｍｉｎａｔｏｒとを敵対させ交互に学習させていくことで両方の精度を高める。モデル生成部１２は、予めＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒそれぞれの初期モデルを記憶しておく。Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒは、ニューラルネットワークにより構成されている。モデル生成部１２は、相互の機械学習を行うことで、Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒを構成するニューラルネットワークの重み付け係数であるパラメータを最適化（高精度化）する。なお、Ｇｅｎｅｒａｔｏｒの初期モデル（未学習のＧｅｎｅｒａｔｏｒ）は、ほとんどの場合、正解データからかけ離れた偽データを出力するが、上述したように機械学習を行うことで、より正解データらしい偽データを出力可能になる。また、また、Ｄｉｓｃｒｉｍｉｎａｔｏｒの初期モデル（未学習のＤｉｓｃｒｉｍｉｎａｔｏｒ）は、ほとんどの場合、正解データにも偽データにも曖昧な尤度を出力するが、上述したように機械学習を行うことで、正解データを入力すると１に近い尤度、偽データを入力すると０に近い尤度を出力可能になる。
【００２８】
モデル生成部１２は、学習用データ取得部１１によって取得された行動データに基づいて、従来のＧＡＮと同様にＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの相互の機械学習を行って、学習済みのＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒを生成する。例えば、モデル生成部１２は、以下のように学習済みのＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒを生成する。
【００２９】
モデル生成部１２は、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習及びＧｅｎｅｒａｔｏｒの学習を順番に行う。Ｄｉｓｃｒｉｍｉｎａｔｏｒ及びＧｅｎｅｒａｔｏｒの一方を学習させる時、他方は固定し（即ち、パラメータを更新せず）評価のみに使用する。なお、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習及びＧｅｎｅｒａｔｏｒの学習の順番は、上記の順番でなくてもよく逆であってもよい。
【００３０】
以下、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習を説明する。モデル生成部１２は、ランダムな値を発生させ、その値をＧｅｎｅｒａｔｏｒに入力して偽データを生成する。また、学習用データ取得部１１によって取得されてレコメンドエンジン評価システム１０に記憶されている正解データを読み出す。モデル生成部１２は、偽データ及び正解データのそれぞれをＤｉｓｃｒｉｍｉｎａｔｏｒに入力して行動データの真偽の識別を行う。即ち、モデル生成部１２は、偽データ及び正解データのそれぞれをＤｉｓｃｒｉｍｉｎａｔｏｒに入力して出力値である尤度の値を取得する。Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習で用いる偽データ及び正解データそれぞれは、複数あってもよい。
【００３１】
モデル生成部１２は、Ｄｉｓｃｒｉｍｉｎａｔｏｒによる識別結果を示す値、即ち、Ｄｉｓｃｒｉｍｉｎａｔｏｒからの出力値である尤度の値からＬｏｓｓを算出する。偽データの場合、Ｄｉｓｃｒｉｍｉｎａｔｏｒからの出力値は０になるべきであるので、Ｌｏｓｓは０と出力値である尤度との差分となる。正解データの場合、Ｄｉｓｃｒｉｍｉｎａｔｏｒからの出力値は１になるべきであるので、Ｌｏｓｓは１と出力値である尤度との差分となる。モデル生成部１２は、Ｌｏｓｓに基づいてＤｉｓｃｒｉｍｉｎａｔｏｒのパラメータを更新する。パラメータの更新はＬｏｓｓを小さくするように行われる。パラメータの更新は、具体的には従来のＧＡＮと同様に行われる。
【００３２】
続いて、モデル生成部１２は、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習が収束したか判断する。例えば、一定回数連続して（例えば、５回）Ｌｏｓｓにほとんど変化がない（変化が一定の閾値以下）場合に収束したと判断する。収束していないと判断したら、モデル生成部１２は、パラメータ更新後のＤｉｓｃｒｉｍｉｎａｔｏｒによる上記の行動データの真偽の識別以降の処理を改めて行う。収束していると判断したら、モデル生成部１２は、その時点でＤｉｓｃｒｉｍｉｎａｔｏｒの学習を終了する。また、上記にかえてあるいは加えて、パラメータ更新の回数の上限を予め決めておき、繰り返しの回数がその上限に達したら、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習を終了してもよい。また、上記以外のＤｉｓｃｒｉｍｉｎａｔｏｒの学習の終了条件を用いてもよい。
【００３３】
続いて、Ｇｅｎｅｒａｔｏｒの学習を説明する。モデル生成部１２は、ランダムな値を発生させ、その値をＧｅｎｅｒａｔｏｒに入力して偽データを生成する。モデル生成部１２は、偽データをＤｉｓｃｒｉｍｉｎａｔｏｒに入力して行動データの真偽の識別を行う。即ち、モデル生成部１２は、偽データをＤｉｓｃｒｉｍｉｎａｔｏｒに入力して出力値である尤度の値を取得する。Ｇｅｎｅｒａｔｏｒの学習で用いる偽データ（生成する偽データ）は、複数あってもよい。
【００３４】
モデル生成部１２は、Ｄｉｓｃｒｉｍｉｎａｔｏｒによる識別結果を示す値、即ち、Ｄｉｓｃｒｉｍｉｎａｔｏｒからの出力値である尤度の値からＬｏｓｓを算出する。偽データの場合、Ｄｉｓｃｒｉｍｉｎａｔｏｒからの出力値は０になるべきであるので、Ｌｏｓｓは０と出力値である尤度との差分となる。モデル生成部１２は、Ｌｏｓｓに基づいてＧｅｎｅｒａｔｏｒのパラメータを更新する。パラメータの更新はＬｏｓｓを小さくするように行われる。パラメータの更新は、具体的には従来のＧＡＮと同様に行われる。
【００３５】
続いて、モデル生成部１２は、Ｇｅｎｅｒａｔｏｒの学習が収束したか判断する。例えば、一定回数連続して（例えば、５回）Ｌｏｓｓにほとんど変化がない（変化が一定の閾値以下）場合に収束したと判断する。収束していないと判断したら、モデル生成部１２は、パラメータ更新後のＧｅｎｅｒａｔｏｒによって偽データを生成し、それ以降の処理を改めて行う。収束していると判断したら、モデル生成部１２は、その時点でＧｅｎｅｒａｔｏｒの学習を終了する。また、上記にかえてあるいは加えて、パラメータ更新の回数の上限を予め決めておき、繰り返しの回数がその上限に達したら、Ｇｅｎｅｒａｔｏｒの学習を終了してもよい。また、上記以外のＧｅｎｅｒａｔｏｒの学習の終了条件を用いてもよい。
【００３６】
モデル生成部１２は、Ｄｉｓｃｒｉｍｉｎａｔｏｒ及びＧｅｎｅｒａｔｏｒそれぞれの学習を終了したら、学習全体の収束を判断する。学習全体の収束の判断は、具体的には従来のＧＡＮと同様に行われる。収束していないと判断したら、モデル生成部１２は、改めて、Ｄｉｓｃｒｉｍｉｎａｔｏｒ及びＧｅｎｅｒａｔｏｒの上述した学習を行って収束を判断する。収束していると判断したら、モデル生成部１２は、その時点のＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒを、学習済みのＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒとする。
【００３７】
モデル生成部１２は、生成したＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒをレコメンドエンジン評価システム１０に記憶させる。記憶されたＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒは、後述する機能部によって用いられる。
【００３８】
なお、モデル生成部１２によって生成されるＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。当該予測モデルは、ＣＰＵ及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのＣＰＵが、メモリに記憶されたＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒからの指令に従って、ニューラルネットワークの入力層に情報を入力して、ニューラルネットワークにおける学習済の重み付け係数等に基づく演算を行って、ニューラルネットワークの出力層から結果を出力するように動作する。
【００３９】
識別用データ取得部１３は、モデル生成部１２によって生成された生成モデルとは独立して、識別対象の行動データを取得する機能部である。識別用データ取得部１３によって取得される識別対象の行動データは、モデル生成部によって生成された生成モデルとは独立したものである。即ち、識別対象の行動データは、生成モデルによって生成されたものではない。識別対象の行動データは、レコメンドの精度の評価に用いる候補となるものである。モデル生成部１２によって生成されたＤｉｓｃｒｉｍｉｎａｔｏｒは、人工的な行動データ、即ち、偽の行動データが尤もらしいか否かの判断（識別）を行うことが可能である。そこで、ユーザにコンテンツをレコメンドした際の複数のユーザの行動についての行動データに対して、Ｄｉｓｃｒｉｍｉｎａｔｏｒが識別を行うことで、レコメンドの精度の評価に用いる行動データを決定することができる。例えば、同一のコンテンツに対してユーザが視聴（クリック）したことを示す行動データと、ユーザが視聴しなかったことを示す行動データとの両方に対して、Ｄｉｓｃｒｉｍｉｎａｔｏｒが識別を行うことで、それらのうちの一方をレコメンドの精度の評価に用いる行動データを決定することができる。
【００４０】
識別用データ取得部１３は、条件を示す情報を取得して、当該条件に対する複数の行動に係る識別対象の複数の行動データを生成する。具体的には、識別用データ取得部１３は、以下のように識別対象の行動データを生成して取得する。識別用データ取得部１３によって生成されて取得される行動データは、学習用データ取得部１１によって取得される行動データと同じフォーマットのデータである。識別用データ取得部１３は、条件を示す情報として、ユーザに係るもの及びコンテンツに係るもの取得する。具体的には、識別用データ取得部１３は、コンテンツのレコメンド対象となるユーザに係る情報と、当該ユーザに対してレコメンドされるコンテンツとしてレコメンドエンジンによって決定されたコンテンツに係る情報とを取得する。識別用データ取得部１３は、当該ユーザ及び当該コンテンツについての、図２に示す行動データのユーザメタ、コンテンツメタ及び条件の欄に相当する情報を取得する。識別用データ取得部１３は、例えば、レコメンドエンジン評価システム１０への当該情報の入力操作を受け付けて当該情報を取得する。
【００４１】
識別用データ取得部１３は、取得した当該ユーザ及び当該コンテンツについての情報に、当該ユーザの複数の行動を示す情報（即ち、図２に示す行動データの行動の欄に相当する情報）を対応付けて、複数の行動データを生成する。複数の行動は、例えば、クリックした及びクリックしないである。また、クリックした場合の視聴時間は、例えば、コンテンツ毎に予め設定されていてもよい。クリックしない場合の視聴時間は０である。これによって１つのユーザ及びコンテンツの組み合わせについて、クリックした場合の行動データと、クリックしない場合の行動データとの２つの行動データが生成される。即ち、同一のユーザ及びコンテンツの条件で、ユーザがクリックするパターンと、クリックしないパターンとの偽データが生成される。生成される行動データの例を図５（Ｄｉｓｃｒｉｍｉｎａｔｏｒの入力前の行動データ）に示す。図５に示すように、ユーザメタ、コンテンツメタ及び条件の欄の情報が同一であり、行動の欄の情報が異なる（クリックの欄がそれぞれ１と０とになっている）行動データが生成される。
【００４２】
上述したようにレコメンドの精度の評価には多数の行動データが必要となる。そこで識別用データ取得部１３は、多数のユーザ及びコンテンツの組み合わせについて、行動データを生成して取得することとしてもよい。識別用データ取得部１３は、取得した行動データを識別部１４に出力する。
【００４３】
なお、上記の例では、１つのユーザ及びコンテンツについて２つの行動データが生成されているが、クリックされた場合に視聴時間が異なる複数の行動データが生成されてもよい。例えば、視聴時間が、コンテンツの最初までの行動データ、コンテンツの中ほどまでの行動データ、及びコンテンツの最後までの行動データが生成されてもよい。また、レコメンドエンジンによってレコメンドされるコンテンツに限らず、レコメンド候補となる（レコメンドされる可能性がある）ユーザとコンテンツとの全ての組み合わせについて、識別対象の行動データを生成して取得することとしてもよい。また、識別対象の行動データは、識別用データ取得部１３による生成ではなく、外部からの入力等によって取得されてもよい。また、取得される識別対象の行動データに係るユーザ及びコンテンツは、上述したレコメンドエンジンのレコメンドに係るものでなくてもよく、任意のものであってもよい。
【００４４】
識別部１４は、モデル生成部１２によって生成された識別モデルを用いて、識別用データ取得部１３によって取得された行動データの真偽を識別する機能部である。識別部１４は、識別用データ取得部１３から識別対象の行動データを入力する。また、識別部１４は、モデル生成部１２によって生成されてレコメンドエンジン評価システム１０に記憶されている識別モデルであるＤｉｓｃｒｉｍｉｎａｔｏｒを読み出す。
【００４５】
識別部１４は、識別対象の行動データのそれぞれをＤｉｓｃｒｉｍｉｎａｔｏｒに入力して行動データの真偽の識別を行う。即ち、図５に示すように、識別部１４は、識別対象の行動データのそれぞれをＤｉｓｃｒｉｍｉｎａｔｏｒに入力して出力値である尤度の値を取得する。識別部１４は、同一のユーザ及びコンテンツの条件に対して、最も高い尤度となる行動データをレコメンドの精度の評価に用いる行動データと決定する。識別部１４は、複数のパターンの偽データ（識別対象の行動データ）に対して、どれが尤もらしいか識別（判別）することで欠損のない行動テーブルを生成することができる。
【００４６】
上記の決定によって、ユーザ及びコンテンツ毎にコンテンツに対するユーザの尤もらしい行動を決定することができる。図５にある条件下でコンテンツをレコメンドされた場合のユーザの行動である視聴時間のテーブルを示す。
【００４７】
識別部１４は、レコメンドの精度の評価に用いる行動データと決定した行動データ（あるいは、当該行動データに応じた情報（例えば、上記の視聴時間のテーブル））を評価部１５に出力する。
【００４８】
評価部１５は、識別部１４による識別に応じた行動データを用いて、レコメンドの評価を行う機能部である。評価部１５は、識別部１４から、レコメンドの精度の評価に用いる行動データと決定された行動データ（あるいは、当該行動データに応じた情報）を入力する。評価部１５は、当該行動データを用いてレコメンドの精度の評価（レコメンドエンジンの評価）を行う。
【００４９】
例えば、評価部１５は、当該行動データからＣＴＲを算出する。ＣＴＲは、識別部１４から入力された行動データのうちクリックされたことを示す行動データの数を、全行動データの数（レコメンドが行われた数、インプレッション数）で割ることで算出することができる。また、クリックされたが数秒で見るのを止めてしまったといった実質失敗と考えられるレコメンドを除外して厳密な評価を行うために一定時間以上視聴された行動データの数を、全行動データの数で割ることで有効クリック率を算出することとしてもよい。あるいは、レコメンドしたコンテンツの平均視聴時間を算出してもよい。
【００５０】
また、識別用データ取得部１３によって生成されて取得される識別対象の行動データが、レコメンド対象となるユーザとコンテンツとの全ての組み合わせについてのものである場合、評価部１５は、以下のようにレコメンドの評価を行うこととしてもよい。この場合、評価部１５は、レコメンド対象となるユーザに対してレコメンドされるコンテンツとしてレコメンドエンジンによって決定されたコンテンツに係る情報を取得する。評価部１５は、識別部１４から入力した行動データの応じた情報（例えば、上述した視聴時間のテーブル）を照会して、レコメンドエンジンによってレコメンドされるコンテンツがユーザに視聴されているか（レコメンドされるコンテンツがどれくらい当たっているか）を計測する。
【００５１】
なお、レコメンドの評価には、識別部１４によって識別された行動データ、即ち、人工的に生成された行動データだけではなく、学習用データ取得部１１によって取得された実際の行動データも用いられてもよい。また、レコメンドの精度の評価は、識別部１４から入力された情報が用いられるものであれば、どのような方法で行われてもよい。
【００５２】
評価部１５は、上記のように算出したレコメンドの精度の評価を示す情報を出力する。例えば、評価部１５は、レコメンドエンジン評価システム１０が備える表示装置にレコメンドの精度の評価を示す情報を表示して、レコメンドエンジン評価システム１０の管理者等によって参照できるようにしてもよい。あるいは、評価部１５は、レコメンドエンジン評価システム１０以外の装置に当該情報を送信することとしてもよい。また、それ以外の出力が行われてもよい。以上が、本実施形態に係るレコメンドエンジン評価システム１０の機能である。
【００５３】
引き続いて、図６〜図９のフローチャートを用いて、本実施形態に係るレコメンドエンジン評価システム１０で実行される処理（レコメンドエンジン評価システム１０が行う動作方法）を説明する。図６に示すように、本処理では、まず、学習用データ取得部１１によって、レコメンドログに基づく実際の行動データが取得される（Ｓ０１）。続いて、モデル生成部１２によって、Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒが生成される（Ｓ０２）。Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成は、ＧＡＮによって行われる。
【００５４】
Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成（Ｓ０２）について、図７〜図９のフローチャートを用いて詳細に説明する。図７にＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成全体（機械学習全体）の処理に係るフローチャートを示す。図８にＤｉｓｃｒｉｍｉｎａｔｏｒの学習の処理に係るフローチャートを示す。図９にＧｅｎｅｒａｔｏｒの学習の処理に係るフローチャートを示す。
【００５５】
図７に示すようにＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成では、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習が行われる（Ｓ２１）。続いて、Ｇｅｎｅｒａｔｏｒの学習が行われる（Ｓ２２）。続いて、学習全体の収束が判断される（Ｓ２３）。収束していないと判断されたら（Ｓ２３のＮＯ）、再度、Ｓ２１〜Ｓ２３の処理が行われる。収束していると判断されたら（Ｓ２３のＹＥＳ）、その時点のＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒが、学習済みのＧｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒとされて、Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成の処理が終了する。
【００５６】
図８に示すようにＤｉｓｃｒｉｍｉｎａｔｏｒの学習では、まず、Ｇｅｎｅｒａｔｏｒによって偽データが生成される（Ｓ２１１）。また、学習用データ取得部１１によって取得されてレコメンドエンジン評価システム１０に記憶されている正解データが読み出される（Ｓ２１２）。続いて、Ｄｉｓｃｒｉｍｉｎａｔｏｒによって偽データ及び正解データのそれぞれの真偽が識別される（Ｓ２１３）。続いて、それぞれの識別結果に応じたＬｏｓｓが算出される（Ｓ２１４）。続いて、Ｌｏｓｓに基づいてＤｉｓｃｒｉｍｉｎａｔｏｒのパラメータが更新される（Ｓ２１５）。続いて、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習の収束が判断される（Ｓ２１６）。収束していないと判断されたら（Ｓ２１６のＮＯ）、再度、Ｓ２１３〜Ｓ２１６の処理が行われる。収束していると判断されたら（Ｓ２１６のＹＥＳ）、Ｄｉｓｃｒｉｍｉｎａｔｏｒの学習の処理が終了する。
【００５７】
図９に示すようにＧｅｎｅｒａｔｏｒの学習では、まず、Ｇｅｎｅｒａｔｏｒによって偽データが生成される（Ｓ２２１）。続いて、Ｄｉｓｃｒｉｍｉｎａｔｏｒによって偽データの真偽が識別される（Ｓ２２２）。続いて、識別結果に応じたＬｏｓｓが算出される（Ｓ２２３）。続いて、Ｌｏｓｓに基づいてＧｅｎｅｒａｔｏｒのパラメータが更新される（Ｓ２２４）。続いて、Ｇｅｎｅｒａｔｏｒの学習の収束が判断される（Ｓ２２５）。収束していないと判断されたら（Ｓ２２５のＮＯ）、再度、Ｓ２２１〜Ｓ２２５の処理が行われる。収束していると判断されたら（Ｓ２２５のＹＥＳ）、Ｇｅｎｅｒａｔｏｒの学習の処理が終了する。
【００５８】
Ｇｅｎｅｒａｔｏｒ及びＤｉｓｃｒｉｍｉｎａｔｏｒの生成（Ｓ０２）が終了したら続いて、図６に示すように、識別用データ取得部１３によって、識別対象の行動データが取得される（Ｓ０３）。識別対象の行動データは、レコメンドの精度の評価に用いる候補となるものであり、所定の条件に対する複数の行動に係る複数の行動データである。続いて、識別部１４によって、識別対象の行動データのそれぞれの真偽の識別が行われる（Ｓ０４）。当該識別は、Ｄｉｓｃｒｉｍｉｎａｔｏｒが用いて行われる。続いて、当該識別に応じた行動データが用いられて、評価部１５によってレコメンドの精度の評価が行われる（Ｓ０５）。以上が、本実施形態に係るレコメンドエンジン評価システム１０で実行される処理である。
【００５９】
本実施形態では、実際のユーザの行動に係る少数の行動データ、即ち、少数の真の行動データが取得できれば、それに基づいて識別モデルが生成される。また、当該識別モデルが用いられて識別対象の行動データの真偽が識別されることによって、当該識別対象の行動データから多数の妥当性の高い行動データが取得される。このように、本実施形態によれば、ユーザに実際のレコメンドを行わずに、検証環境においてレコメンドの精度の評価に用いることができる行動データを取得することができる。従って、本実施形態によれば、レコメンドの精度の評価を行うための多数の行動データを容易に取得することができる。
【００６０】
多数の行動データを容易に取得できることで、レコメンドの精度の評価も容易に行うことができる。その結果、従来では不可能であった、レコメンドエンジンの設計、効果検証（評価）及びレコメンドエンジンのチューニングを検証環境で行うことができるようになる。その結果を従来と比べてレコメンドエンジンのチューニングを短い時間で行うことができる。
【００６１】
また、ユーザに対して多数のレコメンドを行わずに行動データを生成することができるため、当該レコメンドのためのネットワークの負荷及び装置の処理負荷を低減することができる。
【００６２】
また、本実施形態のようにレコメンドの評価を行うこととしてもよい。この構成によれば、レコメンドの評価まで確実に行うことができる。但し、本発明に係る行動データ識別システムは、レコメンドの評価まで行う必要はなく、識別対象の行動データの真偽の識別を行うものであればよい。
【００６３】
また、本実施形態のように、識別対象の行動データの取得において、条件に対する複数の行動に係る識別対象の複数の行動データを生成することとしてもよい。この構成によれば、条件に応じた妥当性の高いユーザの行動を示す行動データを確実に取得することができる。例えば、上述したようにレコメンドされたコンテンツに対してユーザがクリックするか否かを示す妥当性の高いユーザの行動を示す行動データを確実に取得することができる。
【００６４】
また、本実施形態のように、識別モデル（上述したＤｉｓｃｒｉｍｉｎａｔｏｒに相当）及び生成モデル（上述したＧｅｎｅｒａｔｏｒ）は、ＧＡＮによる相互の機械学習によって生成されることとしてもよい。この構成によれば、実際の行動データから、確実かつ適切に識別モデルを生成することができ、確実かつ適切に本発明を実施することができる。但し、必ずしもＧＡＮによる相互の機械学習によって識別モデル及び生成モデルが生成される必要はなく、それ以外の方法の相互の機械学習によって識別モデル及び生成モデルが生成されてもよい。
【００６５】
なお、本実施形態では、行動データは、レコメンドの精度の評価を行うためのものであったが、それ以外の目的に用いられるものであってもよい。また、本実施形態では、行動データは、コンテンツのレコメンドに対するユーザの行動に係るものであるとしたが、これに限られず、条件に応じたユーザの行動に係るものであればどのようなものでもよい。
【００６６】
昨今、ＧＡＮの研究は活発であるが、ほとんどの研究の目的は学習されたＧｅｎｅｒａｔｏｒを用いて尤もらしい画像を生成することである。また、目標設定から学会発表は数多くあるが、実際のビジネスに適用された例はほぼない。
【００６７】
本発明者は、ＧＡＮは画像に特化したものではなく普遍的であり、人らしい行動に係る行動データすら生成可能であるという点に気付き、その気付きに基づいて発明した。ビジネスにおいて人の行動、特にこちらのアクションに対するレスポンスを事前予測できることの利益は大きく、本発明はあらゆるビジネスに取り入れられ、ビジネスの在り方を変え得る画期的なものである。
【００６８】
また、ＧＡＮの研究では、ほとんどの場合Ｇｅｎｅｒａｔｏｒを用いて目的を達成しようとするが、本実施形態では、Ｄｉｓｃｒｉｍｉｎａｔｏｒを用いて目的を達成する点も非常に画期的である。ＧＡＮは、尤もらしいデータを生成できることが特徴的であり、それを行うＧｅｎｅｒａｔｏｒが注目されがちであるが、Ｇｅｎｅｒａｔｏｒによって生成されるデータはコントロールできない。そのため、あるユーザがある条件下で取り得る尤もらしい行動といったある程度条件を指定したデータの生成は不可能である。本実施形態では、一定条件下でのあり得るデータを定義した上で、非常に高度な分別機であるＤｉｓｃｒｉｍｉｎａｔｏｒに尤もらしい行動を選ばせることで条件指定でのデータ生成を可能とした。この発想によりＧＡＮはコントロール可能な尤もらしいデータ生成機として活用可能となり、ＧＡＮの可能性を大きく広げた。
【００６９】
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に(例えば、有線及び／又は無線)で接続し、これら複数の装置により実現されてもよい。
【００７０】
例えば、本発明の一実施の形態におけるレコメンドエンジン評価システム１０は、本実施形態のレコメンドエンジン評価システム１０の処理を行うコンピュータとして機能してもよい。図１０は、本実施形態に係るレコメンドエンジン評価システム１０のハードウェア構成の一例を示す図である。上述のレコメンドエンジン評価システム１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。
【００７１】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンドエンジン評価システム１０のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００７２】
レコメンドエンジン評価システム１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信や、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００７３】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。例えば、レコメンドエンジン評価システム１０の各機能は、プロセッサ１００１で実現されてもよい。
【００７４】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュールやデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、レコメンドエンジン評価システム１０の各機能は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００７５】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００７６】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバその他の適切な媒体であってもよい。
【００７７】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述のレコメンドエンジン評価システム１０の各機能は、通信装置１００４で実現されてもよい。
【００７８】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００７９】
また、プロセッサ１００１やメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００８０】
また、レコメンドエンジン評価システム１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００８１】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【００８２】
情報の通知は、本明細書で説明した態様／実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング（例えば、ＤＣＩ（Downlink  Control  Information）、ＵＣＩ（Uplink  Control  Information））、上位レイヤシグナリング（例えば、ＲＲＣ（Radio  Resource  Control）シグナリング、ＭＡＣ（Medium  Access  Control）シグナリング、報知情報（ＭＩＢ（Master  Information  Block）、ＳＩＢ（System  Information  Block）））、その他の信号又はこれらの組み合わせによって実施されてもよい。また、ＲＲＣシグナリングは、ＲＲＣメッセージと呼ばれてもよく、例えば、ＲＲＣ接続セットアップ（RRC Connection Setup）メッセージ、ＲＲＣ接続再構成（RRC ConnectionReconfiguration）メッセージなどであってもよい。
【００８３】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００８４】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００８５】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：trueまたはfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００８６】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００８７】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００８８】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００８９】
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００９０】
なお、本明細書で説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及び／又はシンボルは信号（シグナル）であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア（ＣＣ）は、キャリア周波数、セルなどと呼ばれてもよい。
【００９１】
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【００９２】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
【００９３】
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル（例えば、ＰＵＣＣＨ、ＰＤＣＣＨなど）及び情報要素（例えば、ＴＰＣなど）は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
【００９４】
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)（例えば、テーブル、データベースまたは別のデータ構造での探索）、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【００９５】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、２又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された２つの要素間に１又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、２つの要素は、１又はそれ以上の電線、ケーブル及び／又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光（可視及び不可視の両方）領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
【００９６】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００９７】
本明細書で「第１の」、「第２の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１および第２の要素への参照は、２つの要素のみがそこで採用され得ること、または何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【００９８】
「含む（include）」、「含んでいる（including）」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または（or）」は、排他的論理和ではないことが意図される。
【００９９】
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【０１００】
１０…レコメンドエンジン評価システム、１１…学習用データ取得部、１２…モデル生成部、１３…識別用データ取得部、１４…識別部、１５…評価部、１００１…プロセッサ、１００２…メモリ、１００３…ストレージ、１００４…通信装置、１００５…入力装置、１００６…出力装置、１００７…バス。
【図１】
2020027517.tif 000003
【図２】
2020027517.tif 000004
【図３】
2020027517.tif 000005
【図４】
2020027517.tif 000006
【図５】
2020027517.tif 000007
【図６】
2020027517.tif 000008
【図７】
2020027517.tif 000009
【図８】
2020027517.tif 000010
【図９】
2020027517.tif 000011
【図１０】
2020027517.tif 000012