以下に、本願に係る学習装置、学習方法、および学習プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法、および学習プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
[実施形態]
〔1.情報提供システムについて〕
まず、図1を用いて、学習装置の一例である情報提供装置10や端末装置100、および検索サーバ200を有し、利用者の意図の変遷の特徴に応じた情報を提供する情報提供システム1の一例について説明する。図1は、実施形態に係る情報提供システムの一例を示す図である。図1に示すように、情報提供システム1は、情報提供装置10と、端末装置100と、検索サーバ200とを有する。なお、情報提供システム1は、任意の数の端末装置100や任意の数の情報提供装置10を有していてもよい。また、情報提供システム1は、例えば、検索サーバ200を有さずともよく、各種任意の外部サーバを有していてもよい。
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図7を参照。)を介して、端末装置100や検索サーバ200と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の端末装置100と通信可能であってもよく、図示しない各種の外部サーバや外部システムと通信可能であってもよい。
端末装置100は、利用者が利用する端末装置であり、例えば、PC(Personal Computer)やサーバ装置、各種のスマートデバイス等により実現される。また、端末装置100は、各種の被写体を撮影可能なカメラを有するとともに、カメラを用いて撮影された静止画像や動画像等の撮影画像を情報提供装置10に送信する機能を有する。また、端末装置100は、後述する提供処理により情報提供装置10が生成した情報を受信すると、受信した情報を画面上に表示することで、利用者に対して各種の情報提供を実現する機能を有するものとする。
〔1−2.情報提供装置10が実行する処理の流れの一例〕
以下、図1を用いて、情報提供装置10が実行する学習処理および、学習処理により学習が行われたモデルを用いて実行する提供処理の流れの一例について説明する。まず、利用者Uは、端末装置100を介して検索クエリの入力を行う(ステップS1)。このような場合、検索サーバ200は、検索クエリに対応する検索処理を実行し、検索結果を端末装置100に提供する(ステップS2)。
続いて、情報提供装置10は、検索クエリの履歴等を、利用者の行動を示す行動情報として取得する(ステップS3)。より具体的には、情報提供装置10は、所定のセッション内において利用者が連続して入力した複数の検索クエリの履歴を取得する。そして、情報提供装置10は、各検索クエリから、検索クエリを入力した際の利用者の意図を推定する意図推定モデルM1の学習を行う(ステップS4)。
〔1−2−1.意図推定モデルについて〕
ここで、情報提供装置10が学習を行う意図推定モデルM1について説明する。例えば、利用者が興味を有すると推定される情報を提供するために、利用者が入力した検索クエリの履歴に応じた情報を提供する技術等が考えられる。例えば、利用者が検索クエリ「銀座」を入力した場合は、「銀座」と関連する取引対象の情報を利用者に提供するといった手法が考えらえる。しかしながら、このような技術では、利用者が過去に入力した検索クエリと対応する取引対象の情報を提供しているに過ぎないため、利用者に対して適切な情報を提供しているとは言えない場合がある。
一方で、利用者が行ったある行動を検知した際に、検知した行動を行った利用者の意図を推定し、推定した意図に応じた情報を提供することで、利用者に対して適切な情報を提供することができると考えられる。例えば、利用者が検索クエリ「銀座」を入力した際に、利用者が「銀座に宿泊しようとしている」意図を有すると推定される場合には、利用者に対して、銀座に所在するホテルの情報を提供することで、利用者の検索意図に応じた情報を提供できると考えらえる。
そこで、情報提供装置10は、利用者の検索クエリに基づいて、利用者がその検索クエリを入力した次に行う行動を予測するようにモデルの学習を行うことで、利用者の行動を予測する予測モデルを生成する。すなわち、情報提供装置10は、利用者が検索クエリを入力した際の意図(すなわち、利用者がある行動を行った際の意図)を推定する意図推定モデルM1の学習を行う。
例えば、図2は、実施形態に係る情報提供装置が実行する意図推定モデルの学習の一例を示す図である。例えば、図2に示す例では、利用者Uが意図#1を持って検索クエリ#1を入力し、その後、利用者Uが意図#2を持って検索クエリ#2を入力したものとする。ここで、検索クエリ#1の入力と検索クエリ#2の入力とが連続して行われた場合等、所定の同一セッション内(例えば、所定の時間内や端末装置100と検索サーバ200とのセッションが保たれている場合等)において検索クエリ#1、#2が入力された場合は、利用者の意図#1と意図#2とは、類似していると考えられる。
そこで、情報提供装置10は、検索クエリの文字列をベクトルへと変換するモデルであって、利用者が入力した第1検索クエリから生成したベクトルと、利用者が第1検索クエリの次に入力した第2検索クエリから生成したベクトルとが類似するように、意図推定モデルM1の学習を行う。すなわち、情報提供装置10は、連続する検索クエリは、利用者の同一または類似する意図を示すと見做し、第1検索クエリから、利用者が第1検索クエリの次に入力する第2検索クエリを予測して、第2検索クエリと対応するベクトルを出力する意図推定モデルM1の学習を行う。
例えば、情報提供装置10は、検索クエリ#1を意図推定モデルM1に入力し、意図推定モデルM1に意図ベクトル#1を生成させる。また、情報提供装置10は、検索クエリ#2を意図推定モデルM1に入力し、意図ベクトル#2を生成させる。そして、情報提供装置10は、意図ベクトル#1と意図ベクトル#2とが類似するように、意図推定モデルM1の学習を行う。このような処理を、利用者が同一セッション内において連続して入力した検索クエリごとに実行することで、情報提供装置10は、検索クエリから利用者の意図を推定する意図推定モデルM1の学習を実現することができる。
ここで、このような意図推定モデルは、任意の種別のモデルが採用可能である。例えば、情報提供装置10は、SVM(Support Vector Machine)やDNN(Deep Neural Network)をモデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNN(Recurrent Neural Network)であってもよい。また、RNNは、LSTM(Long short-term memory)等であってもよい。すなわち、意図推定モデルは、任意の形式のモデルが採用可能である。また、意図推定モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。
一方、利用者の意図が連続的に変化するものであり、離散的に変化することが稀であると考えると、利用者の意図をよりよく推定するために、ある時点よりも前に利用者が入力した検索クエリの変遷から、利用者の意図を推定するといった手法も考えられる。例えば、情報提供装置10は、意図推定モデルM1として、過去に入力された情報の内容と、各情報が入力された順番に応じて出力を変化させる再帰型ニューラルネットワーク、すなわち、RNNやLSTMを用いることで、利用者の意図をより良く推定することができると考えられる。
例えば、情報提供装置10は、意図推定モデルM1となるLSTMを準備する。そして、情報提供装置10は、意図推定モデルM1に対して検索クエリ#1を入力することで意図推定モデルM1に意図ベクトル#1を生成させる。続いて、情報提供装置10は、検索クエリ#1を入力した意図推定モデルM1に対して検索クエリ#2を入力し、意図推定モデルM1に意図ベクトル#2を生成させる。このような場合、LSTMである意図推定モデルM1は、利用者が入力した検索クエリ#1と検索クエリ#2との内容、および、検索クエリ#1を入力した後で検索クエリ#2を入力したという順番に基づいて、意図ベクトル#2を生成することとなる。そして、情報提供装置10は、意図ベクトル#1と意図ベクトル#2とが類似するように、意図推定モデルM1の学習を行う。
続いて、情報提供装置10は、検索クエリ#2を入力した意図推定モデルM1に対して検索クエリ#2の次に利用者が入力した検索クエリ#3を入力し、意図推定モデルM1に意図ベクトル#3を生成させる。このような場合、LSTMである意図推定モデルM1は、利用者が入力した検索クエリ#1と検索クエリ#2と検索クエリ#3の内容、および、検索クエリ#1を入力した後で検索クエリ#2を入力し、その後、検索クエリ#3を入力したという順番に基づいて、意図ベクトル#3を生成することとなる。そして、情報提供装置10は、意図ベクトル#2と意図ベクトル#3とが類似するように、意図推定モデルM1の学習を行う。
このような学習を行った場合、情報提供装置10は、利用者が連続して入力した各検索クエリの特徴と共に、各検索クエリを入力した順番に応じて意図ベクトルを出力するように、意図推定モデルM1の学習を行うことができる。この結果、情報提供装置10は、例えば、過去に利用者が入力した検索クエリの特徴や入力順に基づいて、利用者の意図を推定する意図推定モデルM1の学習を実現することができる。
〔1−2−2.変遷推定モデルについて〕
図1に戻り、説明を続ける。例えば、ステップS4において学習を行った意図推定モデルM1は、利用者が入力した検索クエリから、利用者がその検索クエリを入力した際の意図を推定することができる。一方で、このような利用者の意図の変遷が有する特徴をさらに学習した場合、利用者の将来の意図を推定するモデルを実現できるとも考えられる。
そこで、情報提供装置10は、意図推定モデルの学習を行った場合、意図推定モデルにより推定された意図の変遷が有する特徴を変遷推定モデルM2に学習させる(ステップS5)。より具体的には、情報提供装置10は、利用者が入力した検索クエリから、行動情報が示す行動を行った際の利用者の意図を示す意図情報を生成する。例えば、情報提供装置10は、上述した意図推定モデルM1を用いて、利用者の意図を示す意図ベクトルを意図情報として生成する。そして、情報提供装置10は、生成した意図情報が示す意図の変遷が有する特徴を意図推定モデルM1とは異なる変遷推定モデルM2に学習させる。
例えば、情報提供装置10は、意図推定モデルM1に行動情報を入力した際に意図推定モデルM1が出力したベクトルの変遷が有する特徴を変遷推定モデルM2に学習させる。より具体的には、情報提供装置10は、変遷推定モデルM2に対して第1行動情報から意図推定モデルM1が生成したベクトルを入力した際に変遷推定モデルM2が出力するベクトルと、第2行動情報から意図推定モデルM1が生成したベクトルとが類似するように、変遷推定モデルM2の学習を行う。
このような学習処理を、利用者の連続する行動(例えば、利用者が連続して入力した複数の検索クエリ)に対して実行することで、情報提供装置10は、利用者の意図を示す意図ベクトルの変遷が有する特徴を変遷推定モデルM2に学習させることができる。この結果、情報提供装置10は、意図推定モデルM1と、変遷推定モデルM2とを用いて、利用者がある検索クエリを入力した場合に、将来における利用者の意図を適切に推定することができる。
例えば、図3は、実施形態に係る情報提供装置が実行する変遷推定モデルの学習の一例を示す図である。なお、図3に示す例では、利用者が検索クエリ#1、#2、#3の順に検索クエリを入力したものとする。例えば、情報提供装置10は、学習済の意図推定モデルM1を用いて、検索クエリ#1から意図ベクトル#1を生成する。続いて、情報提供装置10は、意図推定モデルM1に対して検索クエリ#2から意図ベクトル#2を生成する。
また、情報提供装置10は、変遷推定モデルM2として、意図推定モデルM1と同様に、LSTMを準備する。なお、情報提供装置10は、LSTM以外にも、任意の形式のモデルを変遷推定モデルM2としてもよい。そして、情報提供装置10は、変遷推定モデルM2に意図ベクトル#1を入力した際に変遷推定モデルM2が出力する推定ベクトル#1と、意図推定モデルM1が検索クエリ#2から生成した意図ベクトル#2とが類似するように、変遷推定モデルM2の学習を行う。
続いて、情報提供装置10は、意図ベクトル#1を入力した変遷推定モデルM2に意図ベクトル#2を入力した際に変遷推定モデルM2が出力する推定ベクトル#2と、意図推定モデルM1が検索クエリ#3から生成した意図ベクトル#3とが類似するように、変遷推定モデルM2の学習を行う。また、情報提供装置10は、利用者が連続して入力した各検索クエリを順番に意図推定モデルM1に入力し、意図推定モデルM1が順に出力する意図ベクトル#1の変遷が有する特徴を変遷推定モデルM2に学習させる。このような処理の結果、情報提供装置10は、変遷推定モデルM2に対し、利用者の意図が徐々に変化していく対応を学習させることができる。この結果、情報提供装置10は、例えば、利用者が連続して入力した複数の検索クエリから、利用者の将来の意図を推定するモデルを実現することができる。
なお、図3に示す例では、情報提供装置10は、利用者がある検索クエリを入力した際に、次に検索クエリを入力する意図の推定を行うように変遷推定モデルM2の学習を行った、しかしながら、実施形態は、これに限定されるものではない。後述するように、情報提供装置10は、利用者が所定の意図の元入力した複数の検索クエリの変遷から、利用者が所定のコンバージョンを行った際の意図を示す意図情報を推定するように、変遷推定モデルM2の学習を行ってもよい。
例えば、情報提供装置10は、検索クエリ#1、#2、#3、#4が連続して入力されていた際に、検索クエリ#1、#2、#3、#4を順に意図推定モデルM1に入力することで、意図ベクトル#1、#2、#3、#4を生成する。続いて、情報提供装置10は、意図ベクトル#1、#2、#3を順に変遷推定モデルM2に入力することで最終的に得られた推定ベクトル(すなわち、意図ベクトル#3を入力した際に変遷推定モデルM2が出力したベクトル)が、意図ベクトル#4と類似するように、意図推定モデルM2の学習を行ってもよい。すなわち、情報提供装置10は、入力とする利用者の行動のステップ数に係わらず、将来における利用者の意図を示す意図ベクトルを出力するように、意図推定モデルM2の学習を行ってよい。
すなわち、情報提供装置10は、変遷推定モデルM2が、検索クエリ#3についての処理(意図ベクトル#3から推定ベクトル#3を出力する処理)を行う際に、検索クエリ#2や検索クエリ#1等、過去に推定を行った際の情報をコンテキストとして引き継ぐように、すなわち、過去の情報に基づく処理が再帰的に行われるように、変遷推定モデルM2の学習を行うこととなる。
〔1−2−3.提供処理について〕
図1に戻り、説明を続ける。上述したステップS5に続き、情報提供装置10は、利用者の将来の意図に応じた情報を提供する提供処理を実行する。例えば、情報提供装置10は、検索クエリの履歴と、変遷推定モデルM2とを用いて、両者の将来の行動の意図を予測する(ステップS6)。
例えば、図4は、実施形態に係る情報提供装置が変遷推定モデルを用いて将来の行動の意図を予測する処理の一例を示す図である。なお、図4に示す意図推定モデルM1および変遷推定モデルM2は、上述した学習処理により学習済のモデルであるものとする。例えば、情報提供装置10は、利用者が入力した最新の検索クエリ#10よりも過去に利用者が入力した検索クエリを用いて、意図推定モデルM1および変遷推定モデルM2の学習を行う。続いて、情報提供装置10は、利用者が入力した最新の検索クエリ#10を意図推定モデルM1に入力し、意図ベクトル#10を生成する。そして、情報提供装置10は、意図ベクトル#10を変遷推定モデルM2に入力し、推定ベクトル#10を生成する。
続いて、情報提供装置10は、推定ベクトル#10を検索クエリ等の行動情報に変換する。すなわち、情報提供装置10は、利用者の意図の変遷が有する特徴から推定される将来の利用者の意図を示す推定ベクトル#10から、推定した意図を有する際に利用者がおおなうであろう行動を推定する。例えば、情報提供装置10は、推定ベクトル#10から、推定ベクトル#10が示す意図(推定意図#1)を有する際に利用者が入力するであろう検索クエリ#11を推定する。
なお、このような推定ベクトルから検索クエリ等の行動情報への変換は、ある検索クエリから生成される推定ベクトルと、その検索クエリの次に入力された検索クエリとの関係性を学習することにより実現可能である。例えば、情報提供装置10は、検索クエリ#1から生成した推定ベクトル#1が入力された際に、検索クエリ#1の次に入力された検索クエリ#2を出力するように変換モデルの学習を行うことで、推定モデルから検索クエリへの変換を行う変換モデルを生成すればよい。
続いて、情報提供装置10は、検索クエリ#11を意図推定モデルM1に入力することで、意図ベクトル#11を生成する。そして、情報提供装置10は、意図ベクトル#11を変遷推定モデルM2に入力し、推定ベクトル#11を生成する。このような推定ベクトル#11は、利用者が推定意図#1を有した後に有すると推定される推定意図#2を示すと考えられる。そこで、情報提供装置10は、変換モデルを用いて推定ベクトル#11を検索クエリ#12へと変換する。
そして、情報提供装置10は、意図推定モデルM1を用いて、検索クエリ#12から意図ベクトル#12を生成し、変遷推定モデルM2を用いて、生成した意図ベクトル#12から推定ベクトル#12を生成する。そして、情報提供装置10は、生成した推定ベクトル#12に基づいて、利用者の将来の行動を推定する。例えば、情報提供装置10は、推定ベクトル#13から、利用者が将来意図#2の後で有すると推定される将来意図#3や、変換モデルを用いて推定ベクトル#12を検索クエリへと変換することで、利用者が将来意図#3を有する際に入力するであろう検索クエリを予測する。
すなわち、情報提供装置10は、意図の変遷の推定対象となる対象利用者の行動情報から、変遷推定モデルM2を用いて、対象利用者の意図の変遷を推定する。より具体的には、情報提供装置10は、行動情報から推定された対象利用者の意図の変遷に基づいて、対象利用者の将来の行動を推定し、将来の行動が行われる際の利用者の意図を示す将来意図情報を生成し、将来意図情報から、変遷推定モデルM2を用いて、対象利用者のさらに将来の行動を推定する。
図1に戻り、説明を続ける。情報提供装置10は、利用者の将来の行動の意図を予測した場合、予測結果に応じた情報を生成し、利用者Uに対して提供する(ステップS7)。例えば、情報提供装置10は、図4に示す処理を1回若しくは繰り返し実行することで、所定期間が経過した後の利用者の意図や、利用者が行う行動(例えば、利用者が入力する検索クエリ)を予測する。そして、情報提供装置10は、予測結果に応じたコンテンツを生成し、生成したコンテンツを利用者Uに対して提供する。
より具体的な例を挙げると、情報提供装置10は、利用者が最後に入力した検索クエリ#10から、将来意図#1と対応する推定ベクトル#10を生成し、生成した推定ベクトル#10から、将来意図#1を有する際に利用者が入力するであろう検索クエリ#11を生成する。続いて、情報提供装置10は、検索クエリ#11から、利用者が推定意図#1を有した後で有すると推定される推定意図#2と対応する推定ベクトル#11を生成し、生成した推定ベクトル#11から、利用者が将来意図#2を有する際に入力するであろう検索クエリ#12を生成する。そして、情報提供装置10は、生成した検索クエリ#12から、利用者が推定意図#2の次に有するであろう推定意図#3と対応する推定ベクトル#12を生成し、生成した推定ベクトル#12から、利用者が将来入力するであろう検索クエリ#13を生成する。
また、情報提供装置10は、検索クエリ#13と対応する取引対象を示すコンテンツや、検索クエリ#13と対応するニュースコンテンツ等を収集する。そして、情報提供装置10は、収集したコンテンツを利用者Uに対して提供する。このような処理の結果、情報提供装置10は、利用者が将来有するであろう意図に応じたコンテンツを提供することができる。
〔1−3.情報提供装置が実行する処理のバリエーションについて〕
上述した例では、情報提供装置10は、利用者が連続して入力した検索クエリを用いて、利用者が将来有する意図を考慮し、利用者が将来入力するであろう検索クエリを推定する処理の一例について説明した。しかしながら、上述した説明は、あくまで一例であり、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
〔1−3−1.コンバージョンについて〕
上述した例では、情報提供装置10は、意図#1に基づく検索クエリ#1から意図ベクトル#1を生成し、意図ベクトル#1から生成される推定ベクトル#1が、意図#2に基づく検索クエリ#2から生成される意図ベクトル#2と類似するように、変遷推定モデルM2の学習を行った。しかしながら、実施形態は、これに限定されるものではない。
例えば、推定ベクトル#1と意図ベクトル#2とが類似するように変遷推定モデルM2を学習した場合は、情報提供装置10は、利用者による検索クエリ#2の入力をコンバージョンとし、利用者が検索クエリ#2を入力する前に入力した検索クエリ#1から利用者のコンバージョンを予測する変遷推定モデルM2を学習することとなる。ここで、情報提供装置10は、検索クエリの変遷から、その後に生じる所定のコンバージョンを行った際の利用者の意図を推定するように、変遷推定モデルM2の学習を行ってもよい。
例えば、情報提供装置10は、利用者が所定の検索クエリを入力するまで(すなわち
利用者が所定のコンバージョンを実行するまで)、意図推定モデルM1を用いて各検索クエリから意図ベクトルを生成し、生成した意図ベクトルを順次変遷推定モデルM2に入力する。ここで、情報提供装置10は、変遷推定モデルM2が連続して生成する推定ベクトルが類似するように、変遷推定モデルM2の学習を行ってもよい。そして、情報提供装置10は、利用者が所定の検索クエリを入力した際の意図ベクトルと、前回変遷推定モデルM2が生成した推定ベクトルとが類似するように、変遷推定モデルM2の学習を行ってもよい。
このような処理を実行した場合、情報提供装置10は、コンバージョンへと至るまでの利用者の意図の変遷が有する特徴を変遷推定モデルM2に学習させることができる。この結果、情報提供装置10は、例えば、利用者が入力した検索クエリ等、利用者の各種行動から、コンバージョンへと至るまでの利用者の意図の変遷を推定する変遷推定モデルM2の学習を行うことができる。
なお、情報提供装置10は、任意の行動をコンバージョンとして採用してよい。例えば、情報提供装置10は、取引対象を含む検索クエリの入力等、予め定められたキーワードを含む検索クエリの入力をコンバージョンとして採用してよい。また、後述する説明により明らかとなるように、情報提供装置10は、所定の検索クエリのみならず、例えば、所定のコンテンツの選択や閲覧、所定の店舗への移動や各種決済の行動をコンバージョンとして採用してよい。
〔1−3−2.利用者の行動について〕
上述した説明では、情報提供装置10は、利用者が連続して入力した検索クエリを用いて、利用者の意図を推定する意図推定モデルM1の学習を行うとともに、意図推定モデルM1が検索クエリから生成した意図ベクトルの変遷が有する特徴を変遷推定モデルM2に学習させた。しかしながら、実施形態は、これに限定されるものではない。
例えば、情報提供装置10は、クリック若しくはタップ等により利用者が選択した各種のコンテンツから利用者の意図を推定し、推定した意図の変遷の特徴を有するように意図推定モデルM1や変遷推定モデルM2の学習を行ってよい。また、情報提供装置10は、利用者が閲覧したニュースや広告、SNS(Social Networking Service)の投稿情報等のコンテンツから利用者の意図を推定し、推定した意図の変遷の特徴を有するように意図推定モデルM1や変遷推定モデルM2の学習を行ってよい。例えば、情報提供装置10は、利用者が選択もしくは閲覧したコンテンツを意図ベクトルに変換する意図推定モデルM1を学習し、意図推定モデルM1が生成したベクトルの変遷の特徴を学習してもよい。
例えば、情報提供装置10は、利用者がSNS等に投稿したコンテンツを意図ベクトルに変換する意図推定モデルM1を学習し、意図推定モデルM1が生成したベクトルの変遷の特徴を学習してもよい。また、情報提供装置10は、利用者が購入した取引対象や、利用者が販売コンテンツ等の関連するコンテンツを閲覧した取引対象の情報(例えば、取引対象の種別、名称、カテゴリ、価格等)を意図ベクトルに変換する意図推定モデルM1を学習し、意図推定モデルM1が生成したベクトルの変遷の特徴を学習してもよい。
また、情報提供装置10は、GPS(Global Positioning System)等の測位システムを用いて利用者の位置を示す位置情報を取得し、取得した利用者の位置を意図ベクトルに変換する意図推定モデルM1を学習し、意図推定モデルM1を用いて位置情報から生成したベクトルの変遷の特徴を学習してもよい。また、情報提供装置10は、利用者が訪問した店舗を意図ベクトルに変換する意図推定モデルM1を学習し、意図推定モデルM1を用いて、利用者が訪問した店舗から生成したベクトルの変遷の特徴を学習してもよい。
また、情報提供装置10は、各種のウェアラブルデバイスや、端末装置100が有する各種のセンサ情報に基づいて、利用者の歩行状態や動きなどの行為を示す行為情報を取得し、取得した行為情報を意図ベクトルに変換する意図推定モデルM1を学習し、意図推定モデルM1を用いて行為情報から生成したベクトルの変遷の特徴を学習してもよい。
すなわち、情報提供装置10は、利用者の意図を示す任意の行動を示す行動情報を取得し、取得した行動情報から利用者の意図を示す意図ベクトルを生成する意図推定モデルM1を学習する。そして、情報提供装置10は、意図推定モデルM1を用いて生成した意図ベクトルの変遷の特徴を変遷推定モデルM2に学習させることで、利用者の各種行動から利用者の将来の意図を推定してもよい。
例えば、図5は、実施形態に係る情報提供装置が行動情報を用いて実行する変遷推定モデルの学習の一例を示す図である。例えば、情報提供装置10は、行動#1を示す行動情報を意図推定モデルM1に入力した際に意図推定モデルM1が出力する意図ベクトル#1と、利用者が行動#1と連続して行った行動#2を示す行動情報を意図推定モデルM1に入力した際に意図推定モデルM2が出力する意図ベクトル#2とが類似するように、意図推定モデルM1の学習を行う。
すなわち、情報提供装置10は、利用者が第1行動を行った際の意図と、利用者が第1行動を行った後で所定の期間内に第2行動を行った際の意図とが類似するものとして、意図情報(例えば、意図ベクトル)を生成する。また、情報提供装置10は、利用者が第1行動を行った際の意図と、利用者が当該第1行動と連続して行った第2行動を行った際の意図とが類似するものとして、意図情報を生成してもよい。より具体的には、情報提供装置10は、第1行動を示す第1行動情報を入力した際と、第2行動を示す第2行動情報とを入力した際とで類似するベクトルを出力するように学習が行われた意図推定モデルM1を用いて、各行動情報から、意図情報を生成する。
また、情報提供装置10は、学習済の意図推定モデルM1を用いて、各行動#1〜#3から意図ベクトル#1〜#3を生成する。そして、情報提供装置10は、変遷推定モデルM2に意図ベクトル#1を入力した際に変遷推定モデルM2が出力する推定ベクトル#1と、意図ベクトル#2とが類似するように、変遷推定モデルM2の学習を行い、変遷推定モデルM2に意図ベクトル#2を入力した際に変遷推定モデルM2が出力する推定ベクトル#2と、意図ベクトル#3とが類似するように、変遷推定モデルM2の学習を行う。
このように、情報提供装置10は、利用者の行動を示す複数の行動情報を取得し、行動情報が示す行動を行った際の利用者の意図を示す意図情報を生成する。そして、情報提供装置10は、生成した意図情報が示す意図の変遷が有する特徴を変遷推定モデルM2に学習させる。
このような処理の結果、情報提供装置10は、利用者により行われた各種の行動を示す行動情報から、利用者の意図を推定し、推定した意図の変遷が有する特徴に基づいて、将来の利用者の意図を推定する。この結果、情報提供装置10は、利用者の将来の意図に基づいた各種の情報を提供することができるので、利用者に対してより適切な情報を提供することができる。
〔1−3−3.複数種別の行動について〕
上述した例では、情報提供装置10は、利用者の行動として、利用者が入力した検索クエリから利用者の意図を推定し、推定した意図の変遷が有する特徴を変遷推定モデルM2に学習させた。ここで、情報提供装置10は、利用者の行動として、複数種別の行動を用いた学習を行ってもよい。
例えば、利用者がウェブ検索を行う場合、検索クエリを入力し、その後、検索結果に含まれるリンクからいずれかのリンクをクリックし、リンク先のコンテンツを参照すると考えられる。このような一連の利用者の行動を考慮して、情報提供装置10は、利用者の意図の変遷が有する特徴を変遷推定モデルM2に学習させてもよい。
例えば、図6は、実施形態に係る情報提供装置が複数種別の行動から意図を予測する処理の一例を示す図である。例えば、図6に示す例では、利用者が意図#1の元検索クエリ#1を入力した後に、意図#4の元検索結果からリンクのクリックを行い、その後、意図#3の元検索クエリ#3を入力したものとする。
このような場合、情報提供装置10は、検索クエリ#1を入力した際に出力する意図ベクトル#1と、利用者がリンクをクリックした旨を示す行動情報を入力した際に出力する意図ベクトル#4とが類似するように、意図推定モデルM1の学習を行う。なお、情報提供装置10は、例えば、利用者がクリックしたリンクを示す情報や、リンク先のコンテンツを示す情報等を行動情報としてもよい。
そして、情報提供装置10は、意図ベクトル#1を入力した際に出力する推定ベクトル#1が、意図ベクトル#4に類似し、意図ベクトル#4を入力した際に出力する推定ベクトル#4が、検索クエリ#3を入力した際に意図推定モデルM1が出力する意図ベクトル#3と類似するように、変遷推定モデルM2の学習を行う。このような学習を行った場合、意図推定モデルM1および変遷推定モデルM2は、利用者の検索クエリやクリック行動といったウェブ上の行動から、利用者の意図を推定し、将来の意図を推定することができる。
なお、情報提供装置10は、例えば、アテンションやトランスフォーマ等、モデルの入出力に対して各種の重みづけを行う技術を用いて、クリック行動を意図ベクトルや推定ベクトルに反映させてもよい。例えば、情報提供装置10は、検索クエリに続くクリック行動が行われたか否かに応じて、意図ベクトルの各要素のうち所定の要素の値を修正してもよい。また、情報提供装置10は、例えば、検索クエリとクリック行動とを交互に学習させる必要はない。すなわち、情報提供装置10は、利用者が連続して実行した行動を示す行動情報を、利用者が行動を行った順序で用いることで、利用者の意図および意図の変遷が有する特徴の学習を実現してよい。
〔1−3−4.検索クエリについて〕
また、情報提供装置10は、任意の検索クエリを示す情報を行動情報としてもよい。例えば、情報提供装置10は、1つ若しくはスペースで区切られた複数の検索クエリを示す行動情報を用いてもよい。また、情報提供装置10は、ウェブ検索のみならず、例えば、各種の電子商店街で入力された検索クエリや、地図アプリなどで入力された検索クエリを採用してもよい。また、情報提供装置10は、検索クエリそのものを入力としてもよく、w2v等の技術を用いて、検索クエリをベクトル化した情報を行動情報としてもよい。
例えば、情報提供装置10は、検索クエリをそのまま採用する場合、例えば、RNNやLSTMである意図推定モデルM1に対し、検索クエリを構成する文字列を先頭から1文字ずつ入力することで、検索クエリから意図ベクトルの生成を行ってもよい。また、情報提供装置10は、w2v等、意味が類似する単語を類似するベクトルへと変換する変換モデルを用いて、検索クエリとして入力された1つ或いは複数の単語をベクトル化し、各ベクトルを結合したベクトルや、各ベクトルの合成となる合成ベクトル等を行動情報として、意図推定モデルM1に入力してもよい。
〔1−3−5.モデルの構造について〕
上述した例では、情報提供装置10は、意図推定モデルM1を用いて行動情報から意図ベクトルといった意図を示す意図情報を生成し、生成した意図情報を用いて、意図の変遷が有する特徴を変遷推定モデルM2に学習させた。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、学習済の意図推定モデルM1に対し、学習済の変遷推定モデルM2を結合させた1つのモデルを生成し、生成したモデルを用いて、利用者の行動情報から、利用者の将来の意図に基づいた行動を示す情報を出力するようにしてもよい。
また、情報提供装置10は、RNNやLSTM等の再帰型ニューラルネットワーク以外にも、畳み込みニューラルネットワーク等、各種任意のニューラルネットワークを採用してもよい。また、情報提供装置10は、このような各種のニューラルネットワークにより実現される変遷推定モデルM2について、利用者が第1行動を行った際の意図を示す第1意図情報が入力された場合に、利用者が第1行動と連続する第2行動を行った際の意図を示す第2意図情報が入力された場合と類似するベクトルを出力するように学習を行えばよい。
〔1−3−6.双曲空間に対する投影について〕
ここで、第1情報を入力した際にモデルが出力する第1ベクトルと、第1情報と類似する第2情報を入力した際にモデルが出力する第2ベクトルとが類似するようにモデルの学習を行った場合、情報提供装置10は、入力された情報を上方の類似性に応じた空間上に投影するモデルを生成することができる。例えば、情報提供装置10は、第1ベクトルと第2ベクトルとのコサイン距離が類似するようにモデルの学習を行った場合、情報の類似性をコサイン距離に反映させた空間上に情報を投影するモデルを実現することができる。また、例えば、情報提供装置10は、第1ベクトルと第2ベクトルとのユークリッド距離が類似するようにモデルの学習を行った場合、情報の類似性をユークリッド距離に反映させた空間上に情報を投影するモデルを実現することができる。
しかしながら、実施形態は、これに限定されるものではない。例えば、非ユークリッド空間の一例である双曲空間上に分散表現を投影することで、単語の分散表現の精度を向上させる技術が知られている(“Poincare Embeddings for Learning Hierarchical Representations”,Maximilian Nickel, Douwe Kiela <インターネット>https://arxiv.org/pdf/1705.08039.pdf(平成31年9月13日検索))。例えば、非特許文献1においては、ある単語の前後に来る単語を予測するタスクにおいて、単語の分散表現を双曲空間であるポアンカレ空間上で学習する。このようなポアンカレ空間においては、空間の端に近づけば近づくほど、距離の尺度が指数関数的に増加していくため、有限の空間内に無限の情報(空間上の点)を投影することができる。
例えば、このようなポアンカレ空間の一例であるポアンカレディスクに、枝分かれしていく情報を埋め込む処理を考える。このようなポアンカレディスクにおいては、中心から円周上に向かうにつれ、距離の尺度が指数関数的に増加していく。このため、ポアンカレディスクの中心から円周方向に、枝分かれしていくツリーを埋め込んだ場合、ポアンカレディスク上においては、各枝の角度および長さを一定に保ったまま、任意の数の枝分かれを有するツリーを自然に埋め込むことができる。このようなポアンカレディスクの特徴は、さらに高次元なポアンカレ空間においても保持される。
一方で、利用者の行動は、利用者の意図の変遷により変化していくと考えられるが、このような利用者の意図の変遷は、ツリー構造を有するとも考えられる。このため、利用者の行動やその意図をポアンカレ空間上のベクトルへと変換した場合、行動や意図が有する階層構造を空間上へと自然に埋め込む(投影する)ことができる。また、ポアンカレ空間上においては、円周方向に近づく程距離の尺度が増加する。このため、ポアンカレ空間上で利用者の行動や意図を示すベクトルを学習した場合は、多くの階層関係をベクトルに反映させることができるので、クラスタリングの精度向上や、ベクトルの次元数の削減を実現することができると考えられる。
そこで、情報提供装置10は、意図推定モデルM1が生成した意図ベクトルを双曲空間上に投影した推定ベクトルを出力するように変遷推定モデルM2の学習を行う。例えば、情報提供装置10は、意図推定モデルM1が第1行動から第1意図ベクトルを生成し、第2行動から第2意図ベクトルを生成した場合、第2意図ベクトルに対応する第2推定ベクトルを、第1意図ベクトルに対応する第1推定ベクトルから双曲空間上において枝分かれするベクトルとなるように、変遷推定モデルM2の学習を行う。
例えば、情報提供装置10は、双曲空間として、ミンコフスキー空間上に分散表現を投影する。より具体的には、情報提供装置10は、ミンコフスキー空間の二葉双曲面(Hyperboloid of two sheets)が有する2つの超平面のうち、焦点軸上の座標が正となる超平面上の分散表現を生成する。
例えば、情報提供装置10は、x軸、y軸およびz軸により構成される3次元空間を設定し、この3次元空間においてz軸を焦点軸とする二葉双曲面を設定する。また、情報提供装置10は、設定した3次元空間において、生成した2次元の意図ベクトルが示す位置から、xy平面に対する垂線を設定し、二葉双曲面のうちz軸方向の成分が正となる曲面と垂線との交点を分散表現の投影先とする。すなわち、情報提供装置10は、利用者の意図を示す双曲空間上の分散表現を生成する。
そして、情報提供装置10は、双曲空間上における分散表現同士の距離を判定する。例えば、情報提供装置10は、意図#1からユークリッド空間上の意図ベクトル#1を生成し、意図#2からユークリッド空間上の意図ベクトル#2を生成する。そして、情報提供装置10は、意図ベクトル#1と意図ベクトル#2との間の双曲空間上における距離を算出する。
そして、情報提供装置10は、意図#1と意図#2とが類似する場合(例えば、同一セッション内における行動に対応する意図である場合)は、意図ベクトル#1と意図ベクトル#2との間の双曲空間上における距離がより小さくなるように変遷推定モデルM2を学習する。一方、情報提供装置10は、意図#1と意図#2とが類似しない場合(例えば、同一セッション内における行動に対応する意図ではない場合)は、文章#1と文章#2とが類似しない場合には、意図ベクトル#1と意図ベクトル#2との間の双曲空間上における距離がより大きくなるように変遷推定モデルM2を学習する。
例えば、情報提供装置10は、意図ベクトルを双曲空間上に投影する関数fを固定し、バックプロパゲーション等の学習手法を用いて、変遷推定モデルM2のノード間を接続する接続係数を修正してもよい。また、情報提供装置10は、意図ベクトルを双曲空間上に投影する関数fを修正してもよい。すなわち、情報提供装置10は、意図の類似性を双曲空間上における距離へと投影することができる変遷推定モデルM2を学習するのであれば、任意の学習を行ってよい。
ここで、情報提供装置10は、双曲空間上の分散表現を生成するのであれば、任意の空間を双曲空間として採用可能である。例えば、情報提供装置10は、任意の次元数を有するミンコフスキー空間上の分散表現を生成してもよい。また、情報提供装置10は、二葉双曲面の任意の面上の分散表現を生成してよい。
また、情報提供装置10は、ポアンカレ円板模型(所謂ポアンカレディスク)における任意の次元の円板上、若しくは、ポアンカレ球体模型における任意の次元の球面上の分散表現を生成してもよい。すなわち、情報提供装置10は、双曲幾何学が適用可能な空間上の分散表現を生成し、このような空間上において双曲幾何学を用いた距離に基づいて、情報が有する概念の類似性を判定するのであれば、任意の双曲空間を採用してよい。
なお、情報提供装置10は、検索クエリ等の各行動情報を双曲空間上に投影する意図推定モデルM1の学習を行い、学習済の意図推定モデルM1が生成したベクトルを、さらに、双曲空間上に投影する変遷推定モデルM2の学習を行ってもよい。
このような学習を行った場合、情報提供装置10は、ツリー状の構造を有する情報群を辿るように、利用者の意図が変遷するものとして、利用者の意図の変遷が有する特徴を学習することとなる。この結果、情報提供装置10は、利用者の将来の意図をより精度良く推定することができる。
例えば、図7は、実施形態に係る情報提供装置が双曲空間上に意図を投影した際の効果の一例を説明する図である。例えば、利用者が連続してウェブ検索等の行動を行った場合、それら連続する行動は、利用者の連続して遷移する意図を示していると考えられる。ここで、このような利用者の意図が、行動および行動結果に応じて変化する点を考慮すると、利用者の各意図は、図7に示すようなツリー型の構造で表現できると考えらえる。
例えば、利用者が意図#1の元でウェブ検索を行った場合、利用者の意図は、検索結果に応じて、意図#1−1若しくは意図#1−2に分岐すると考えられる。また、利用者が意図#1−1の元でウェブ検索を行った場合、利用者の意図は、検索結果に応じて、意図#1−1−1や意図#1−1−2等の複数の意図に分岐すると考えられる。また、利用者が意図#1−2の元でウェブ検索を行った場合、利用者の意図は、検索結果に応じて、意図#1−2−1や意図#1−2−2等の複数の意図に分岐すると考えられる。また、利用者の意図は、検索結果に応じて、意図#1−1−1、意図#1−1−2、意図#1−2−1、意図#1−2−2は、それぞれ異なる意図に分岐すると考えらえる。
このようなツリー型の構造を有する利用者の意図の変遷を双曲空間上に投影した場合、双曲空間上において異なる枝に属する意図同士の距離を所定値以上に保ちつつ、同一の枝に属する意図同士の距離を近づけることができる。このため、情報提供装置10は、ツリー型の構造を有する利用者の意図の変遷を精度良く変遷推定モデルM2に学習させることができる。
また、このように利用者の意図を双曲空間上に投影した場合、情報提供装置10は、利用者の将来の意図をより精度良く推定することができる。例えば、意図#1−1−1および意図#1−1−2が、ウェブ検索に関連する意図であるウェブ検索関連意図を示すと推定される場合、情報提供装置10は、利用者が意図#1−1の元で行った行動から、利用者の将来の意図がウェブ検索関連意図であると推定し、自動的にウェブ検索を行った結果を先取り的に提供してもよい。また、例えば、意図#1−2−1および意図#1−2−2が、取引対象の購買に関連する意図である購買関連意図を示すと推定される場合、情報提供装置10は、利用者が意図#1−2の元で行った行動から、利用者の将来の意図が購買関連意図であると推定し、自動的に商品検索を行った結果を先取り的に提供してもよい。
〔1−3−7.モデルの学習単位について〕
なお、情報提供装置10は、全利用者に対して共通するモデルの学習を行ってもよく、各利用者ごとに専用のモデルの学習を行ってもよい。また、例えば、情報提供装置10は、全利用者の検索クエリの履歴に基づいて、全利用者に対して共通する意図推定モデルM1や変遷推定モデルM2の学習を行う。そして、情報提供装置10は、利用者ごとに、意図推定モデルM1や変遷推定モデルM2のチューニングを行ってもよい。また、情報提供装置10は、全利用者に対して共通する図推定モデルM1や変遷推定モデルM2を各利用者の端末装置100に配信し、端末装置100側で、意図推定モデルM1や変遷推定モデルM2のチューニングを行わせてもよい。
ここで、利用者の行動と意図との関係性は、利用者の位置や利用者が行動を行った日時、利用者が行動を行った際に家族と一緒であったか、友人と一緒であったか等、利用者の状態のコンテキストに応じて変化すると考えられる。例えば、利用者が所定の検索クエリを入力していたとしても、利用者の意図やその意図の変遷は、利用者が仕事中である場合と、利用者がプライベートである場合とで異なるとも考えられる。
そこで、情報提供装置10は、利用者が行動を行った際の状態ごとに異なる意図推定モデルM1や変遷推定モデルM2の学習を行ってもよい。例えば、検索サーバ200は、端末装置100から、検索クエリのみならず、GPS(Global Positioning System)等の測位システムを用いて取得された位置を示す位置情報や、端末装置100が有する加速度センサやジャイロセンサ、温度センサ、照度センサ等の各種センサが検出した情報をコンテキスト情報として取得する。なお、検索サーバ200は、端末装置100を介して、利用者が着用するウェアラブルデバイスが取得したコンテキスト情報を取得してもよい。
続いて、情報提供装置10は、検索サーバ200から、検索クエリと、その検索クエリが入力された際の利用者のコンテキストを示すコンテキスト情報とを取得する。そして、情報提供装置10は、コンテキスト情報が示す利用者のコンテキストに応じたグループに検索クエリを分類し、各グループの検索クエリを個別に用いて、意図推定モデルM1や変遷推定モデルM2の学習を行ってもよい。このような処理の結果、情報提供装置10は、コンテキストごとに意図推定モデルM1や変遷推定モデルM2の学習を行うことができる。
なお、情報提供装置10は、任意の公知技術を用いて、コンテキスト情報から利用者のコンテキストを推定してよい。また、情報提供装置10は、図示を省略した各種の外部サーバや、端末装置100、利用者が着用するウェアラブルデバイスが各種のセンサ情報から推定した利用者のコンテキストを示すコンテキスト情報を取得してもよい。
また、情報提供装置10は、コンテキスト情報ごとに学習を行った意図推定モデルM1を用いて、利用者に対する情報提供を行ってもよい。すなわち、情報提供装置10は、変遷推定モデルM2の学習を行わずとも、利用者のコンテキストごとに利用者の意図を推定し、推定した意図に応じた情報提供を行ってもよい。すなわち、情報提供装置10は、利用者の行動を示す複数の行動情報と、利用者が各行動を行った際の状態を示す状態情報とを取得し、利用者の第1行動を示す第1行動情報を入力した際と、第1行動よりも後で利用者が行った第2行動であって、第1行動が行われた際と類似する状態で利用者が行った第2行動を示す第2行動情報とを入力した際とで類似するベクトルを出力するように第2モデルを学習してもよい。
〔1−3−8.適用対象について〕
ここで、情報提供装置10は、任意の種別の行動情報から利用者の意図を推定し、推定した意図に応じた任意の種別の情報を提供して良い。
例えば、情報提供装置10は、利用者が選択した情報を行動情報として取得してもよい。このような行動情報から利用者の意図を推定する意図推定モデルM1や変遷推定モデルM2の学習を行った場合、情報提供装置10は、利用者が各種の情報を選択した意図や、その意図の変遷を学習させるとともに、利用者が選択した情報から利用者の将来の意図を推定することができる。例えば、情報提供装置10は、トラベルサイトやグルメサイト、ホテルの予約サイトにおけるクリック履歴から、利用者がどのようなホテルや店舗を探しているのかといった意図や、将来、どのようなホテルや店舗を予約するかといった将来の意図を推定することができる。
また、例えば、情報提供装置10は、利用者が閲覧した情報と関連する情報を行動情報として取得してもよい。このような行動情報から利用者の意図を推定する意図推定モデルM1や変遷推定モデルM2の学習を行った場合、情報提供装置10は、利用者が情報を選択した意図や、その意図の変遷を学習させるとともに、利用者が閲覧した情報から利用者の将来の意図を推定することができる。例えば、情報提供装置10は、ニュースの履歴から、ニュースを閲覧する際の利用者の意図や、ニュースを閲覧した利用者が将来どのような意図を有し、どのようなニュースを閲覧するかといった推定を実現することができる。
また、例えば、情報提供装置10は、利用者が選択した取引対象を示す情報を行動情報として取得してもよい。このような行動情報から利用者の意図を推定する意図推定モデルM1や変遷推定モデルM2の学習を行った場合、情報提供装置10は、利用者が取引対象を選択した意図や、その意図の変遷を学習させるとともに、利用者が閲覧したり購入したりした取引対象から利用者の将来の意図を推定することができる。例えば、情報提供装置10は、利用者が閲覧した取引対象の販売ページや電子商店街における検索クエリ等から、利用者が取引対象を購入或いは取引対象の販売ページを閲覧する際の利用者の意図(例えば、取引対象の購入を悩んでいるのか、購入しようとしているのか、情報を収集しようとしているのか等)を推定し、将来、どのような取引対象を購入するのかといった推定を実現することができる。
なお、上述した処理以外にも、情報提供装置10は、任意の行動情報を採用し、任意の行動情報に基づいて利用者の意図や将来の意図の推定を行ってよい。例えば、情報提供装置10は、利用者が閲覧したり購入したりしたウェブコンテンツ(電子書籍や音楽、映画等)を示す各種のメタデータを行動情報とし、利用者が将来興味を有するウェブコンテンツのメタデータを予測する。そして、情報提供装置10は、予測したメタデータと類似するメタデータのウェブコンテンツを利用者に対して提案してもよい。例えば、情報提供装置10は、ウェブコンテンツの著者、製作者、作曲家、監督、ランキング、レビュー内容、配信者等、任意の情報をメタデータとして採用してよい。また、情報提供装置10は、利用者が選択、購入、閲覧したコンテンツを提案するインフルエンサーの情報をメタデータとして採用し、将来利用者が興味を有しうるコンテンツの推定を行ってもよい。
また、情報提供装置10は、所定のコンバージョンを利用者が行うまでの行動を示す行動情報を用いて、変遷推定モデルM2の学習を行う。続いて、情報提供装置10は、図4等に示すように、利用者が実行した最新の行動を示す行動情報から、利用者がコンバージョンを行うと推定される迄、将来の行動を逐次推定する。このような推定を行った回数は、利用者がコンバージョンを行うまでの意図の段階を示すと考えらえる。そこで、情報提供装置10は、利用者がコンバージョンを行うと推定される迄、将来の行動を逐次推定すし、推定を行った回数に基づいて、コンバージョンを行うまでの利用者の意図の状態を推定し、推定した状態に応じた情報を提供してもよい。
例えば、利用者が取引対象を購入するまでには、取引対象を認知し、購入を検討し、その後、購入するといった段階があると考えられる。このため、利用者による取引対象の購入をコンバージョンとし、コンバージョンへと至るまでの利用者の各行動から、利用者の意図を推定し、推定した意図の変遷をモデルに学習させた場合、モデルは、取引対象を認知し、購入を検討し、その後、購入するといったコンバージョンへと至る意図の変遷の特徴を学習していると考えられる。
このようなモデルを用いて、情報提供装置10は、利用者の最新の行動から、利用者の将来の意図を段階的に推定することで、コンバージョンへと至るまでの利用者の意図の段階を推定することができる。例えば、情報提供装置10は、1段階或いは2段階先の利用者の将来の意図を推定した際に、利用者がコンバージョンへと至ると推定される場合、利用者が取引対象の購入を検討していると推定し、取引対象の購入を提案する情報を提供しても良い。また、例えば、情報提供装置10は、5段階先の利用者の将来の意図を推定した際に、利用者がコンバージョンへと至ると推定される場合、利用者が取引対象を認知していると推定し、取引対象に関する詳細な説明や、他の利用者のレビュー等を提供してもよい。
このように、情報提供装置10は、コンバージョンへと至るまでの利用者の意図の段階を推定し、推定した段階に応じた情報を提供してもよい。このような処理を実行した場合、情報提供装置10は、利用者に対してより適切な情報を提供することができる。
なお、情報提供装置10は、任意の種別の行動を示す行動情報から、任意の種別のコンバージョンへと至るまでの段階の推定を行ってよい。例えば、情報提供装置10は、検索クエリの履歴やクリックの履歴から、利用者が取引対象の購入や店舗の予約を行うまでの段階の推定を行ってよい。また、例えば、情報提供装置10は、端末装置100の位置履歴や、利用者の決済履歴に基づいて、実店舗の訪問や実店舗の利用を特定し、特定した訪問や利用をコンバージョンとする。そして、情報提供装置10は、コンバージョンまでに利用者が閲覧したコンテンツや検索クエリ等を行動情報として、モデルの学習を行う。このような場合、情報提供装置10は、利用者が閲覧したコンテンツや検索クエリから、利用者が店舗を訪問或いは利用するまでの段階を推定するモデルを学習することができる。なお、情報提供装置10は、利用者の位置履歴や店舗の利用履歴等を行動情報としてもよい。
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図8は、実施形態に係る情報提供装置の構成例を示す図である。図8に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100との間で情報の送受信を行う。
記憶部30は、対象物を所定の位置から撮影した画像である基準画像に基づく基準情報を記憶する。例えば、記憶部30は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、行動履歴データベース31およびモデルデータベース32を記憶する。
以下、図9、10を用いて、記憶部30に登録される情報の一例を説明する。行動履歴データベース31には、利用者の行動を示す行動情報が登録される。例えば、図9は、実施形態に係る行動履歴データベースに登録される情報の一例を示す図である。図9に示すように、行動履歴データベース31には、「利用者ID(Identifier)」、「利用者情報」、「コンテキスト情報」、「行動情報」、および「日時情報」といった情報が対応付けて登録されている。
ここで、「利用者ID」とは、利用者を識別するための識別子である。また、「利用者情報」とは、利用者の氏名、性別、年代、趣味嗜好等、利用者のデモグラフィック属性やサイコグラフィック属性といった各種の属性を示す情報である。また、「コンテキスト情報」とは、対応付けられた行動情報が示す行動をどのようなコンテキスト(状態)で行ったかを示す情報である。また、「行動情報」とは、利用者の行動を示す情報である。また、「日時情報」とは、対応付けられた行動情報が示す行動が行われた日時もしくは、行動情報が取得された日時を示す情報である。
例えば、図9に示す例では、行動履歴データベース31には、利用者ID「利用者#1」、利用者情報「利用者情報#1」、コンテキスト情報「コンテキスト#1」、行動情報「行動情報#1−1」、日時情報「日時情報#1−1」といった情報が登録されている。このような情報は、利用者ID「利用者#1」が示す利用者の各種属性が、利用者情報「利用者情報#1」である旨を示す。また、このような情報は、利用者ID「利用者#1」が示す利用者が、コンテキスト情報「コンテキスト#1」が示す状態において、行動情報「行動情報#1−1」が示す行動を、日時情報「日時情報#1−1」が示す日時に行った旨を示す。
なお、図9に示す情報以外にも、行動履歴データベース31には、任意の情報が登録されていてよい。また、図9に示す例では、「利用者#1」、「利用者情報#1」、「コンテキスト#1」、「行動情報#1−1」、「日時情報#1−1」といった概念的な値を記載したが、実際には、利用者を識別するための文字列や数値、利用者の属性を示す文字列、コンテキストを識別するための文字列や数値、利用者の行動を示す数値や文字列若しくは利用者が入力した文字列、日時を示す数値等が登録されることとなる。
モデルデータベース32には、意図推定モデルM1や変遷推定モデルM2が登録される。例えば、図10は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。図10に示すように、モデルデータベース32には、「モデルID」、「モデル種別」、「対応利用者」、および「対応コンテキスト」といった情報が対応付けて登録されている。
ここで、「モデルID」とは、モデルを識別するための識別子である。また、「モデル種別」とは、モデルが意図推定モデルであるか、変遷推定モデルであるかを示す情報である。また、「対応利用者」とは、対応付けられたモデルを用いて意図の推定や意図の変遷の推定を行う利用者を示す情報である。また、「対応コンテキスト」とは、対応付けられたモデルを用いて意図の推定や変遷の推定を行う際の利用者のコンテキストを示す情報である。
例えば、図10に示す例では、モデルID「モデル#1」、モデル種別「変遷推定モデル」、対応利用者「利用者#1」、および対応コンテキスト「コンテキスト#1」といった情報が対応付けて登録されている。このような情報は、モデルID「モデル#1」が示すモデルの種別が、モデル種別「変遷推定モデル」であり、対応利用者「利用者#1」が示す利用者が、対応コンテキスト「コンテキスト#1」が示す状態において行った行動に基づき、学習が行われたモデルである旨を示す。
なお、図10に示す情報以外にも、モデルデータベース32には、任意の情報が登録されていてよい。また、図10に示す例では、「モデル#1」、「利用者#1」、「コンテキスト#1」といった概念的な値を記載したが、実際には、モデルや利用者を識別するための文字列や数値、コンテキストを識別するための文字列や数値等が登録されることとなる。
図8に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図8に示すように、制御部40は、取得部41、生成部42、学習部43、受付部44、推定部45、および提供部46を有する。
取得部41は、利用者の行動を示す複数の行動情報を取得する。例えば、取得部41は、利用者がウェブ上で行った行動を示す行動情報を取得する。より具体的な例を挙げると、取得部41は、検索クエリや投稿情報等、利用者が入力した情報を行動情報として取得する。また、取得部41は、利用者がクリックしたコンテンツ等の各種情報を行動情報として取得してもよく、利用者が閲覧したコンテンツやコンテンツのメタデータ等、コンテンツと関連する情報を行動情報として取得してもよい。また、取得部41は、利用者が閲覧若しくは購入した取引対象等、利用者が選択した取引対象を示す情報を行動情報として取得してもよい。
なお、取得部41は、行動情報を取得するとともに、行動情報が示す行動を行った日時を示す日時情報や、行動を行った際の利用者のコンテキストを示すコンテキスト情報を取得する。そして、取得部41は、利用者を示す利用者IDと、行動情報と、コンテキスト情報とを対応付けて行動履歴データベース31に登録する。ここで、取得部41は、コンテキスト情報が各種のセンサ情報である場合、予め定められた状態のうち利用者がいずれの状態にあるかを推定し、推定した状態を示すコンテキスト情報と対応付けて行動情報を登録してもよい。
生成部42は、各行動情報から、行動情報が示す行動を行った際の利用者の意図を示す意図情報を生成する。例えば、生成部42は、変遷推定モデルM2の学習対象となる利用者の行動情報を行動履歴データベース31から取得するとともに、モデルデータベース32から、変遷推定モデルM2の学習対象となる利用者の意図推定モデルM1を読み出す。なお、生成部42は、変遷推定モデルM2を利用者とコンテキストとの組合せごとに学習する場合、学習対象となる利用者とコンテキストとの組合せと対応付けられた行動情報と意図推定モデルM1とを読み出してもよい。
そして、生成部42は、意図推定モデルM1に行動情報を入力することで、意図ベクトルを生成する。より具体的には、生成部42は、LSTMである意図推定モデルM1に対し、利用者が行った順(例えば、日時情報が示す日時が古い順)で行動情報を入力することで、意図ベクトルの生成を行う。
ここで、学習部43は、利用者が第1行動を行った際の意図と、利用者が第1行動を行った後で所定の期間内に第2行動を行った際の意図とが類似するものとして、意図推定モデルM1の学習を行う。すなわち、学習部43は、利用者が第1行動を行った際の意図と、利用者が第1行動の後で行った所定の第2行動を行った際の意図とが類似するものとして、LSTM等の意図推定モデルM1の学習を行う。
このため、生成部42は、意図推定モデルM1として、第1行動情報が入力された場合に出力したベクトルと、第1行動情報と連続して第2行動情報が入力された場合に出力したベクトルとが類似するように学習が行われた再帰型ニューラルネットワークを用いて、意図情報を生成する。例えば、生成部42は、意図推定モデルM1に行動情報を入力することで、意図推定モデルM1が出力したベクトルを意図情報として生成する。すなわち、生成部42は、第1行動を示す第1行動情報から生成された第1意図ベクトルと、第2行動を示す第2行動情報から生成された第2意図ベクトルとが類似するように、意図ベクトルの生成を行うこととなる。
学習部43は、意図情報が示す意図の変遷が有する特徴を変遷推定モデルM2に学習させる。例えば、学習部43は、学習対象となる変遷推定モデルM2として、LSTM等の再帰型ニューラルネットワークを準備する。そして、学習部43は、変遷推定モデルM2に意図推定モデルM1が生成したベクトルの変遷が有する特徴を学習させる。例えば、学習部43は、バックプロパゲーション等、各種の公知技術を用いて、変遷推定モデルM2の学習を行わせる。
例えば、学習部43は、第1行動情報から意図推定モデルM1が生成した第1意図ベクトルを入力した際に変遷推定モデルM2が生成したベクトルと、第2行動情報から意図推定モデルM1が生成した第2意図ベクトルとが類似するように変遷推定モデルM2の学習を行ってもよい。より具体的には、学習部43は、変遷推定モデルM2として、第1行動情報が入力された場合に意図推定モデルM1が生成した第1意図ベクトルが入力された際に出力する第1ベクトルと、第1意図ベクトルと連続して、第2行動情報が入力された場合に意図推定モデルM1が生成した第2意図ベクトルが入力された際に出力する第2ベクトルとが類似するように、再帰型ニューラルネットワークの学習を行ってもよい。
また、学習部43は、利用者が第2行動を行う前に行った複数の第1行動を示す第1行動情報から意図推定モデルM1が生成した複数の第1意図ベクトルを、第1行動が行われた順に変遷推定モデルM2に入力した際に変遷推定モデルM2が生成した推定ベクトルと、第2行動情報から意図推定モデルM1が生成した第2意図ベクトルとが類似するように変遷推定モデルM2の学習を行ってもよい。すなわち、学習部43は、利用者が所定のコンバージョンを行うまでの意図の変遷が有する特徴を変遷推定モデルM2に学習させてもよい。換言すると、学習部43は、利用者が第1行動を行った際の意図を示す第1意図情報が入力された場合に、利用者が第2行動を行った際の意図を示す第2意図情報が入力された場合と類似するベクトルを出力するように変遷推定モデルM2を学習させてよい。
なお、学習部43は、意図推定モデルM1が生成したベクトルを双曲空間上に投影したベクトルを出力するように変遷推定モデルM2の学習を行ってもよい。例えば、学習部43は、双曲空間上において第2意図ベクトルを第1ベクトルから枝分かれるベクトルへと投影するように変遷推定モデルM2の学習を行ってもよい。
また、学習部43は、利用者ごと、若しくは、利用者が行動を行った状態ごとに異なる変遷推定モデルM2の学習を行ってもよい。また、学習部43は、意図推定モデルM1の学習を、利用者ごと、利用者が行動を行った状態ごとに行ってもよい。
受付部44は、意図の変遷の推定対象となる対象利用者の行動情報を受付ける。例えば、受付部44は、図示を省略した外部サーバ等から、対象利用者の指定を受付けると、対象利用者が実行した行動情報のうち、所定期間内の行動情報(例えば、最新の行動情報等)を検索サーバ200等から受付ける。
推定部45は、学習部43により学習された変遷推定モデルM2を用いて、受付部44により受付けられた行動情報から、対象利用者の意図の変遷を推定する。例えば、推定部45は、対象利用者の意図推定モデルM1と変遷推定モデルM2をモデルデータベース32から読み出す。なお、推定部45は、利用者の状態に応じた意図推定モデルM1と変遷推定モデルM2をモデルデータベース32から読み出してもよい。
続いて、推定部45は、受付部44により受付けられた行動情報を意図推定モデルM1に入力し、意図推定モデルM1が生成した意図ベクトルを変遷推定モデルM2に入力することで、利用者の将来の行動の意図を推定する。続いて、推定部45は、推定した意図から対象利用者の将来の行動を推定する。例えば、推定部45は、推定ベクトルを行動情報に変換する変換モデルを用いて、推定ベクトルから将来の行動情報を推定する。このような場合、生成部42は、意図推定モデルM1に推定された行動情報を入力することで、さらに将来の行動の意図を示す将来意図情報を生成する。そして、推定部45は、生成された将来意図情報から、変遷推定モデルM2を用いて、対象利用者のさらに将来の行動を推定する。なお、推定部45は、このような処理を繰り返し実行することで、さらに将来の意図および行動の推定を行ってよい。
提供部46は、推定された対象利用者の将来の意図若しくは行動に応じた情報を提供する。例えば、提供部46は、推定部45によって推定された将来の行動若しくは意図に応じた情報を生成し、生成した情報を端末装置100に送信する。例えば、提供部46は、推定部45が利用者が将来入力する検索クエリを推定した場合、推定された検索クエリと対応するコンテンツを先取り的に提供してもよい。
また、例えば、推定部45は、利用者が所定のコンバージョンを実行すると推定されるまで、上述した処理を繰り返し実行し、利用者が所定のコンバージョンを実行すると推定されるまで処理を実行した回数を計数する。そして、推定部45は、計数した回数に応じて、利用者が所定のコンバージョンへと至るまでの段階を推定する。このような場合、提供部46は、推定した段階に応じた情報を提供してもよい。
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図11を用いて、情報提供装置10が実行する処理の流れについて説明する。図11は、実施形態に係る情報提供装置が実行する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、学習処理の実行タイミングであるか否かを判定し(ステップS101)、実行タイミングであると判定した場合は(ステップS101:Yes)、行動情報を取得する(ステップS102)。続いて、情報提供装置10は、連続する行動を示す行動情報を入力した際に、類似するベクトルが出力されるように、意図推定モデルM2の学習を行う(ステップS103)。そして、情報提供装置10は、意図推定モデルM2が出力するベクトルの変遷が有する特徴を変遷推定モデルM2に学習させる(ステップS104)。
続いて、情報提供装置10は、提供処理の実行タイミングであるか否かを判定する(ステップS105)。そして、情報提供装置10は、提供処理の実行タイミングであると判定した場合は(ステップS105:Yes)、各モデルを用いて、直近の行動情報から、将来の意図に対応する推定ベクトルを生成する(ステップS106)。続いて、情報提供装置10は、推定ベクトルと対応する行動を推定し(ステップS107)、各モデルと推定した行動とから、さらに将来の利用者の意図を推定する(ステップS108)。そして、情報提供装置10は、推定した意図と対応する行動に基づいて、利用者に提供する情報を選択し(ステップS109)、選択した情報を提供して(ステップS110)、処理を終了する。
なお、情報提供装置10は、学習処理の実行タイミングではないと判定した場合は(ステップS101:No)、ステップS105を実行する。また、情報提供装置10は、提供処理の実行タイミングではないと判定した場合は(ステップS105:No)、処理を終了する。
〔4.変形例〕
上記では、情報提供装置10による処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
〔4−1.実行主体〕
上述した例では、各モデルの学習を情報提供装置10が実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、上述した学習処理は、端末装置100がスタンドアローンで実行してもよく、例えば、端末装置100と情報提供装置10とが協調して処理を実行してもよい。例えば、端末装置100は、情報提供装置10が複数の利用者ごとに生成したモデルを、端末装置100側で、各利用者用にチューニングしてもよく、或いは、利用者のコンテキストに応じたチューニングを行ってもよい。すなわち、端末装置100は、エッジコンピューティングの技術を用いて、情報提供装置10が生成した共用のモデルを、利用者や利用者独自のコンテキストに応じて修正する学習処理を実行して良い。このような場合、情報提供装置10は、全ての利用者について多くの行動情報を取得する必要がないため、各利用者のプライバシーを保護することができる。
〔4−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔4−3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔5.効果〕
上述したように、情報提供装置10は、利用者の行動を示す複数の行動情報を取得し、行動情報が示す行動を行った際の利用者の意図を示す意図情報を生成する。そして、情報提供装置10は、生成した意図情報が示す意図の変遷が有する特徴を変遷推定モデルM2に学習させる。このような処理の結果、情報提供装置10は、利用者の将来の意図を推定する変遷推定モデルM2を実現できるので、例えば、利用者の将来の意図に応じた情報提供を実現する結果、より適切な情報の提供を実現することができる。
例えば、情報提供装置10は、利用者が第1行動を行った際の意図と、利用者が第1行動を行った後で所定の期間内に第2行動を行った際の意図とが類似するものとして、意図情報を生成する。また、例えば、情報提供装置10は、利用者が第1行動を行った際の意図と、利用者が第1行動の後で行った所定の第2行動を行った際の意図とが類似するものとして、意図情報を生成する。このような処理の結果、情報提供装置10は、利用者の意図を適切に示す意図情報を生成することができる結果、利用者の意図の変遷を精度良く学習させることができる。
また、情報提供装置10は、第1行動を示す第1行動情報を入力した際と、第2行動を示す第2行動情報とを入力した際とで類似するベクトルを出力するように学習が行われた意図推定モデルM1を用いて、取得部により取得された各行動情報から、意図情報を生成する。例えば、情報提供装置10は、意図推定モデルM1として、第1行動情報が入力された場合に出力したベクトルと、第1行動情報と連続して第2行動情報が入力された場合に出力したベクトルとが類似するように学習が行われた再帰型ニューラルネットワークを用いて、意図情報を生成する。より具体的には、情報提供装置10は、意図推定モデルM1に行動情報を入力することで、意図推定モデルM1が出力したベクトルを意図情報として生成し、変遷推定モデルM2に意図推定モデルM1が生成したベクトルの変遷が有する特徴を学習させる。また、情報提供装置10は、第1行動情報から意図推定モデルM1が生成したベクトルから変遷推定モデルM2が生成したベクトルと、第2行動情報から意図推定モデルM1が生成したベクトルとが類似するように変遷推定モデルM2の学習を行う。
上述した各処理の結果、情報提供装置10は、利用者の意図の変遷を変遷推定モデルM2に学習させることができる。
また、情報提供装置10は、利用者が第2行動を行う前に行った複数の第1行動を示す第1行動情報から意図推定モデルM1が生成した複数のベクトルを、第1行動が行われた順に変遷推定モデルM2に入力した際に変遷推定モデルM2が生成したベクトルと、第2行動情報から意図推定モデルM1が生成したベクトルとが類似するように変遷推定モデルM2の学習を行う。また、情報提供装置10は、変遷推定モデルM2として、第1行動情報が入力された場合に意図推定モデルM1が生成した第1意図ベクトルが入力された際に出力する第1ベクトルと、第1意図ベクトルと連続して、第2行動情報が入力された場合に意図推定モデルM1が生成した第2意図ベクトルが入力された際に出力する第2ベクトルとが類似するように、再帰型ニューラルネットワークの学習を行う。
上述した各処理の結果、情報提供装置10は、例えば、利用者がコンバージョンを行うまでの意図の変遷が有する特徴を変遷推定モデルM2に学習させることができる。
また、情報提供装置10は、意図推定モデルM1が生成したベクトルを双曲空間上に投影したベクトルを出力するように変遷推定モデルM2の学習を行う。また、例えば、情報提供装置10は、双曲空間上において第2意図ベクトルを第1ベクトルから枝分かれるベクトルへと投影するように変遷推定モデルM2の学習を行う。このような処理の結果、情報提供装置10は、利用者の意図の分岐を考慮して、利用者の意図の変遷が有する特徴を変遷推定モデルM2に学習させることができるので、変遷推定モデルM2による推定精度をさらに向上させることができる。
また、情報提供装置10は、利用者が第1行動を行った際の意図を示す第1意図情報が入力された場合に、利用者が第2行動を行った際の意図を示す第2意図情報が入力された場合と類似するベクトルを出力するように変遷推定モデルM2を学習させる。このため、情報提供装置10は、将来の利用者の意図を推定する変遷推定モデルM2を実現できる。
なお、情報提供装置10は、利用者ごとに異なる変遷推定モデルM2の学習を行ってもよく、利用者が行動を行った際の状態ごとに異なる変遷推定モデルM2の学習を行ってもよい。このような処理を実行した場合、情報提供装置10は、利用者の意図の変遷が有する特徴を、利用者ごと、あるいは、利用者の状態ごとに変遷推定モデルM2に学習させることができるので、変遷推定モデルM2による推定精度をさらに向上させることができる。
また、情報提供装置10は、利用者がウェブ上で行った行動を示す行動情報を取得してもよく、利用者が入力した情報を行動情報として取得してもよい。また、情報提供装置10は、利用者が選択した情報を行動情報として取得してもよく、利用者が閲覧した情報と関連する情報を行動情報として取得してもよい。また、情報提供装置10は、利用者が選択した取引対象を示す情報を行動情報として取得してもよい。この結果、情報提供装置10は、各種の利用者の行動から利用者の意図を推定し、意図の変遷が有する特徴を変遷推定モデルM2に学習させることができる。
また、情報提供装置10は、意図の変遷の推定対象となる対象利用者の行動情報を受付けると、変遷推定モデルM2を用いて、行動情報から、対象利用者の意図の変遷を推定する。例えば、情報提供装置10は、受付けられた行動情報から推定された対象利用者の意図の変遷に基づいて、対象利用者の将来の行動を推定し、推定した将来の行動が行われる際の利用者の意図を示す将来意図情報を生成し、将来意図情報から、変遷推定モデルM2を用いて、対象利用者のさらに将来の行動を推定する。このような処理の結果、情報提供装置10は、利用者の将来の意図や行動に応じた情報を先取り的に提供することができる。
また、情報提供装置10は、利用者の行動を示す複数の行動情報と、利用者が各行動を行った際の状態を示す状態情報とを取得する。そして、情報提供装置10は、利用者の第1行動を示す第1行動情報を入力した際と、第1行動よりも後で利用者が行った第2行動であって、第1行動が行われた際と類似する状態で利用者が行った第2行動を示す第2行動情報とを入力した際とで類似するベクトルを出力するように意図推定モデルM1を学習する。このような処理の結果、情報提供装置10は、利用者の意図をより精度良く推定することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、付与部は、特定手段や特定回路に読み替えることができる。