IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許7212609予測プログラム、学習装置、予測装置、及び予測方法
<>
  • 特許-予測プログラム、学習装置、予測装置、及び予測方法 図1
  • 特許-予測プログラム、学習装置、予測装置、及び予測方法 図2
  • 特許-予測プログラム、学習装置、予測装置、及び予測方法 図3
  • 特許-予測プログラム、学習装置、予測装置、及び予測方法 図4
  • 特許-予測プログラム、学習装置、予測装置、及び予測方法 図5
  • 特許-予測プログラム、学習装置、予測装置、及び予測方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-17
(45)【発行日】2023-01-25
(54)【発明の名称】予測プログラム、学習装置、予測装置、及び予測方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230118BHJP
   G06Q 10/04 20230101ALI20230118BHJP
   G06Q 30/02 20230101ALI20230118BHJP
【FI】
G06N20/00 130
G06Q10/04
G06Q30/02
【請求項の数】 7
(21)【出願番号】P 2019228265
(22)【出願日】2019-12-18
(65)【公開番号】P2021096694
(43)【公開日】2021-06-24
【審査請求日】2021-11-17
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】牛 コウ
(72)【発明者】
【氏名】米川 慧
(72)【発明者】
【氏名】黒川 茂莉
(72)【発明者】
【氏名】小野 智弘
【審査官】加藤 優一
(56)【参考文献】
【文献】特開2009-064365(JP,A)
【文献】特開2019-003261(JP,A)
【文献】特表2019-502212(JP,A)
【文献】WANG, Shoujin,Attention-Based Transactional Context Embedding for Next-Item Recommendation,The Thirty-Second AAAI Conference on Artificial Intelligence,2018年04月26日,[検索日:2022年09月22日]インターネット<URL:https://ojs.aaai.org/index.php/AAAI/article/view/11851>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06Q 10/00-10/10
G06Q 30/00-30/08
G06Q 50/00-50/20
G06Q 50/26-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
ユーザの所定行動に対応するアイテムを示す入力ベクトルと、前記入力ベクトルに対応するアイテムの前記所定行動が発生した時刻からの経過時間との入力を受け付ける受付部、
前記入力ベクトルを、前記アイテムの特徴を示す特徴ベクトルに変換する第1変換部、
前記第1変換部により変換された前記特徴ベクトルを、前記アイテムと他の前記アイテムとの影響度であって、前記受付部が受け付けた前記経過時間に基づいて決定される影響度に基づいて、前記ユーザの前記所定行動の発生傾向を示すコンテキストベクトルに変換する第2変換部、及び、
前記コンテキストベクトルを、複数の前記アイテムの少なくともいずれかを示す出力ベクトルに変換する第3変換部、
として機能させる予測プログラム。
【請求項2】
前記第2変換部は、複数の前記アイテムのそれぞれに対応する前記所定行動である第1所定行動の発生と、他の前記アイテムに対応する前記所定行動である第2所定行動の発生との関係の周期的な変化に基づいて、前記受付部が受け付けた経過時間に対応する前記影響度を算出し、当該影響度に基づいて、前記特徴ベクトルを前記コンテキストベクトルに変換する、
請求項1に記載の予測プログラム。
【請求項3】
前記第2変換部は、複数の前記アイテムのそれぞれに対応する前記所定行動である第1所定行動の発生と、他の前記アイテムに対応する前記所定行動である第2所定行動の発生との関係の強さの、先の所定行動が発生してからの経過時間に伴う増加傾向及び減少傾向に基づいて、前記受付部が受け付けた経過時間に対応する前記影響度を算出し、当該影響度に基づいて、前記特徴ベクトルを前記コンテキストベクトルに変換する、
請求項1又は2に記載の予測プログラム。
【請求項4】
請求項1から3のいずれか1項に記載の予測プログラムを学習する学習装置であって、
前記予測プログラムは、前記第1変換部、前記第2変換部、前記第3変換部として機能するニューラルネットワークを構成するパラメータとしての重みを含み、
ユーザの所定行動に対応するアイテムを識別するアイテム識別情報と、前記所定行動が発生した時刻とを含む時系列データを取得する時系列データ取得部と、
前記時系列データ取得部が取得した時系列データに基づいて、複数の前記アイテムのそれぞれが示す前記所定行動である第1所定行動の発生と、他の前記アイテムが示す前記所定行動である第2所定行動の発生との関係を示し、前記第1所定行動に対応する複数のアイテムを示す入力ベクトルと、前記第2所定行動に対応するアイテムを示す出力ベクトルとを含む第1教師データと、前記第1所定行動と前記第2所定行動との時間間隔を示すデータである第2教師データとを生成する教師データ生成部と、
前記予測プログラムが有する前記受付部に、前記教師データ生成部が生成した前記第1教師データに含まれる入力ベクトルと、前記第2教師データとを入力した場合に、当該予測プログラムが有する前記第3変換部により出力される出力ベクトルが、前記第1教師データに含まれる出力ベクトルとなるように、当該予測プログラムに含まれる前記重みを学習する学習部と、
を備える学習装置。
【請求項5】
請求項1から3のいずれか1項に記載の予測プログラムが有する前記受付部に第1アイテムを示す入力ベクトル及び前記第1アイテムに対応する前記所定行動が発生した時刻からの経過時間を示す情報を入力することにより、前記予測プログラムが有する前記第3変換部から当該第1アイテムに対応する第2アイテムを示す出力ベクトルを取得し、当該第2アイテムに対応する前記所定行動を前記ユーザが行うと予測する予測部を備える、
予測装置。
【請求項6】
前記所定行動は、前記アイテムの購入行動であり、
前記予測部が前記第2アイテムに対応する前記所定行動を前記ユーザが行うと予測すると、当該第2アイテムを広告する広告情報を前記ユーザの端末に配信する広告配信部をさらに備える、
請求項5に記載の予測装置。
【請求項7】
コンピュータが実行する、
ユーザの所定行動に対応するアイテムを示す入力ベクトルと、前記入力ベクトルに対応するアイテムの前記所定行動が発生した時刻からの経過時間との入力を受け付けるステップと、
前記入力ベクトルを、前記アイテムの特徴を示す特徴ベクトルに変換するステップと、
変換された前記特徴ベクトルを、前記アイテムと他の前記アイテムとの影響度であって、受け付けられた前記経過時間に基づいて決定される影響度に基づいて、前記ユーザの前記所定行動の発生傾向を示すコンテキストベクトルに変換するステップと、
変換された前記コンテキストベクトルを、複数の前記アイテムの少なくともいずれかを示す出力ベクトルに変換するステップと、
を備える予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アイテムの入力に対して関連するアイテムを予測する予測プログラム及び予測方法、当該予測プログラムの学習を行う学習装置、当該予測プログラムを用いて予測を行う予測装置に関する。
【背景技術】
【0002】
幅広い業種で時系列データ分析が使われている。時系列データ分析では、過去のデータに基づいて将来のデータを推定する場面が多い。従来、線形の時系列解析手法(例えば、自己回帰和分移動平均モデル)がよく使われてきたが、機械学習手法も提案されている。機械学習技術は非線形な時系列データや複雑な周期の時系列データにも効果的に対応できる。
【0003】
近年、時系列データの各アイテムに特徴ベクトルを割り当てることにより、アイテムのクラスタリングや時系列パターンの分類等を行う機械学習技術が提案されている。例えば、非特許文献1には、Word2Vec(Doc2Vec)を利用して、全ユーザの時系列データセットの各アイテムに特徴ベクトルを割り当て、当該特徴ベクトルに基づいて、ユーザにアイテムの推薦を行うことが開示されている。また、非特許文献2には、ユーザが購入した複数のアイテムのそれぞれについて、アイテム間の共起だけではなく、アイテム間の影響度も反映した特徴ベクトルを生成し、広告推薦を行うことが開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Ozsoy, Makbule Gulcin. "From word embeddings to item recommendation." arXiv preprint arXiv:1601.01356, 2016年
【文献】Wang, Shoujin, et al. "Attention-based transactional context embedding for next-item recommendation." Thirty-Second AAAI Conference on Artificial Intelligence, 2018年
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、ユーザは、購入行動等の所定行動を常に同じ傾向で行うとは限らない。例えば、所定行動が購入行動である場合、ユーザは、所定のアイテムを周期的に購入することがある。また、ユーザは、所定のアイテムを購入したタイミングにおいて、所定のアイテムと関連した他のアイテムを購入する可能性が高いものの、所定のアイテムを購入したタイミングから時間が経過すればするほど、当該他のアイテムを購入する可能性が低くなることもある。しかしながら、従来の技術では、購入行動等のユーザの所定行動の時間的な変化について考慮していないという問題があった。
【0006】
そこで、本発明はこれらの点に鑑みてなされたものであり、所定行動の発生の時間的な変化を考慮して、所定行動に対応するアイテムに関連するアイテムを特定することができる予測プログラム及び予測方法を提供することを目的とする。また、本発明は、上記予測プログラムを学習するための学習装置、及び上記予測プログラムを用いて所定行動の発生を予測する予測装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様に係る予測プログラムは、コンピュータを、ユーザの所定行動に対応するアイテムを示す入力ベクトルと、前記入力ベクトルに対応するアイテムの前記所定行動が発生した時刻からの経過時間との入力を受け付ける受付部、前記入力ベクトルを、前記アイテムの特徴を示す特徴ベクトルに変換する第1変換部、前記第1変換部により変換された前記特徴ベクトルを、前記アイテムと他の前記アイテムとの影響度であって、前記受付部が受け付けた前記経過時間に基づいて決定される影響度に基づいて、前記ユーザの前記所定行動の発生傾向を示すコンテキストベクトルに変換する第2変換部、及び、前記コンテキストベクトルを、複数の前記アイテムの少なくともいずれかを示す出力ベクトルに変換する第3変換部、として機能させる。
【0008】
前記第2変換部は、複数の前記アイテムのそれぞれに対応する前記所定行動である第1所定行動の発生と、他の前記アイテムに対応する前記所定行動である第2所定行動の発生との関係の周期的な変化に基づいて、前記受付部が受け付けた経過時間に対応する前記影響度を算出し、当該影響度に基づいて、前記特徴ベクトルを前記コンテキストベクトルに変換してもよい。
【0009】
前記第2変換部は、複数の前記アイテムのそれぞれに対応する前記所定行動である第1所定行動の発生と、他の前記アイテムに対応する前記所定行動である第2所定行動の発生との関係の強さの、先の所定行動が発生してからの経過時間に伴う増加傾向及び減少傾向に基づいて、前記受付部が受け付けた経過時間に対応する前記影響度を算出し、当該影響度に基づいて、前記特徴ベクトルを前記コンテキストベクトルに変換してもよい。
【0010】
本発明の第2の態様に係る学習装置は、ユーザの所定行動に対応するアイテムを識別するアイテム識別情報と、前記所定行動が発生した時刻とを含む時系列データを取得する時系列データ取得部と、前記時系列データ取得部が取得した時系列データに基づいて、複数の前記アイテムのそれぞれに対する前記所定行動である第1所定行動の発生と、他の前記アイテムに対する前記所定行動である第2所定行動の発生との関係を示す第1教師データと、前記第1所定行動と前記第2所定行動との時間間隔を示す第2教師データとを生成する教師データ生成部と、前記教師データ生成部が生成した前記第1教師データ及び前記第2教師データに基づいて、前記予測プログラムに含まれるパラメータを学習する学習部と、を備える。
【0011】
本発明の第3の態様に係る予測装置は、前記予測プログラムに第1アイテムを示す入力ベクトル及び前記第1アイテムに対応する前記所定行動が発生した時刻からの経過時間を示す情報を入力することにより、前記予測プログラムから、当該第1アイテムに対応する第2アイテムを示す出力ベクトルを取得し、当該第2アイテムに対応する前記所定行動を前記ユーザが行うと予測する予測部を備える。
【0012】
前記所定の行動は、前記アイテムの購入行動であり、前記予測装置は、前記予測部が予測した前記第2アイテムを広告する広告情報を前記ユーザの端末に配信する広告配信部をさらに備えてもよい。
【0013】
本発明の第4の態様に係る予測方法は、コンピュータが実行する、ユーザの所定行動に対応するアイテムを示す入力ベクトルと、前記入力ベクトルに対応するアイテムの前記所定行動が発生した時刻からの経過時間との入力を受け付けるステップと、前記入力ベクトルを、前記アイテムの特徴を示す特徴ベクトルに変換するステップと、変換された前記特徴ベクトルを、前記アイテムと他の前記アイテムとの影響度であって、受け付けられた前記経過時間に基づいて決定される影響度に基づいて、前記ユーザの前記所定行動の発生傾向を示すコンテキストベクトルに変換するステップと、変換された前記コンテキストベクトルを、複数の前記アイテムの少なくともいずれかを示す出力ベクトルに変換するステップと、を備える。
【発明の効果】
【0014】
本発明によれば、所定行動の発生の時間的な変化を考慮して、所定行動に対応するアイテムに関連するアイテムを特定することができる。また、本発明によれば、上記予測プログラムを学習するための学習装置、及び上記予測プログラムを用いて所定行動の発生を予測する予測装置を提供することができるという効果を奏する。
【図面の簡単な説明】
【0015】
図1】本実施形態に係る情報処理装置の概要を説明するための図である。
図2】本実施形態に係るニューラルネットワークの構成を示す図である。
図3】本実施形態に係るアテンションネットワークの概要を示す図である。
図4】本実施形態に係る情報処理装置の構成を示す図である。
図5】本実施形態に係る時系列データの例を示す図である。
図6】本実施形態に係る情報処理装置における処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
[特徴ベクトル生成装置の概要]
図1は、本実施形態に係る情報処理装置1の概要を説明するための図である。情報処理装置1は、ユーザの第1アイテムに対応する所定行動に連動して発生する第2アイテムに対応する所定行動を予測する予測プログラムのパラメータを学習する学習装置として機能するとともに、当該予測プログラムを用いて、第2アイテムに対応する所定行動を予測する予測装置として機能する。
【0017】
情報処理装置1は、ユーザの所定行動に対応するアイテムを示すアイテム情報と、所定行動が発生した時刻とを含む時系列データを取得する(図1の(1))。情報処理装置1は、取得した時系列データに基づいて、複数のアイテムのそれぞれに対する所定行動である第1所定行動の発生と、他のアイテムに対する所定行動である第2所定行動の発生との関係性を示す第1教師データと、当該第1所定行動と第2所定行動との時間間隔を示す第2教師データを生成する(図1の(2))。
【0018】
情報処理装置1は、生成した第1教師データと、第2教師データとに基づいて、予測プログラムに含まれるパラメータを学習する(図1の(3))。第1教師データと、第2教師データとに基づいて学習を行うことにより、予測プログラムは、所定行動の関連性の時間的な変化に対応して所定行動の発生を予測することができる。
【0019】
その後、情報処理装置1は、予測プログラムの学習が完了した後に、当該予測プログラムに、複数の第1アイテムに対応する入力ベクトルと、第1のアイテムに対応する所定行動が発生した時刻からの経過時間を示す情報とを入力する。情報処理装置1は、予測プログラムから、第1アイテムに対応する第2アイテムを示す出力ベクトルを取得し、当該第2アイテムに対応する所定行動をユーザが行うと予測する(図1の(4))。このようにすることで、情報処理装置1は、所定行動の時間的な変化を考慮して、所定行動の発生の予測を行うことができる。
以下、予測プログラム及び情報処理装置1の構成について説明する。
【0020】
[ニューラルネットワークの構成]
まず、予測プログラムの構成について説明する。予測プログラムは、コンピュータにより実行される、ニューラルネットワークとして機能するプログラムである。
【0021】
図2は、本実施形態に係るニューラルネットワークの構成を示す図である。図2では、ニューラルネットワークのパラメータの学習の概念も併せて表現している。図2に示すように、ニューラルネットワークは、受付部としての入力レイヤ、第1変換部としての第1変換レイヤ、第1埋込レイヤ、第2変換部としての第2変換レイヤ、第2埋込レイヤ、第3変換部としての第3変換レイヤ、及び出力部としての出力レイヤを有している。
【0022】
入力レイヤは、ユーザの所定行動に対応するアイテムを示す入力ベクトルと、入力ベクトルに対応するアイテムの所定行動が発生した時刻からの経過時間Δtとの入力を受け付ける。
【0023】
第1変換レイヤは、パラメータとしての第1重み行列Wを用いて、アイテムを示す入力ベクトルを、入力ベクトルよりも低次元であって、当該アイテムの特徴を示す特徴ベクトルに変換するレイヤである。
【0024】
第1埋込レイヤには、複数のアイテムのそれぞれの特徴を示す特徴ベクトルが埋め込まれる。図2に示す例では、アイテムを識別するアイテム識別情報v1に対応する入力ベクトル(ワンホットベクトル)がアイテムvに対応する特徴ベクトルhに変換されて埋め込まれ、アイテム識別情報vjに対応する入力ベクトルがアイテムvに対応する特徴ベクトルhに変換されて埋め込まれていることが示されている。
【0025】
第2変換レイヤは、第1変換レイヤにより変換された特徴ベクトルを、当該特徴ベクトルに対応するアイテムと、他のアイテムとの影響度であって、入力レイヤにおいて入力された経過時間Δtに基づいて決定される影響度に基づいて、ユーザの所定行動の発生傾向を示すコンテキストベクトルeに変換する。
【0026】
例えば、第2変換レイヤでは、複数の特徴ベクトルh~hのそれぞれに対応して影響度αt1~αtjが設けられている。第2変換レイヤは、以下に示す式(1)に基づいてコンテキストベクトルeに変換する。なお、影響度αti~αtjの総和は1である。cは、ユーザが購入した全てのアイテムを示し、jはcに含まれるアイテムを示している。
【数1】
【0027】
ここで、影響度αti~αtjは、アテンションネットワークAにおいて算出される。アテンションネットワークAの詳細については、後述する。
【0028】
第2埋込レイヤは、第2変換レイヤにより変換されたコンテキストベクトルが埋め込まれる。
第3変換レイヤは、パラメータとしての第2重み行列Wを用いて、コンテキストベクトルを、複数のアイテムの少なくともいずれかを示す出力ベクトルに変換する。出力レイヤには第3変換レイヤがコンテキストベクトルから変換された出力ベクトルが出力される。
【0029】
[アテンションネットワークA]
続いて、アテンションネットワークAにおける機能について説明する。アテンションネットワークAは、複数のアイテムのそれぞれに対応する所定行動である第1所定行動の発生と、他のアイテムに対応する所定行動である第2所定行動の発生との関係の周期的な変化に基づいて、入力レイヤにおいて受け付けられた経過時間Δtに対応する影響度を算出する。また、アテンションネットワークAは、複数のアイテムのそれぞれに対応する所定行動である第1所定行動の発生と、他のアイテムに対応する所定行動である第2所定行動の発生との関係の強さの、第1所定行動が発生してからの経過時間に伴う増加傾向及び減少傾向に基づいて、入力レイヤにおいて受け付けられた経過時間Δtに対応する影響度を算出する。
【0030】
以下に、図3を参照しながら本実施形態に係るアテンションネットワークAの説明を行う。図3は、本実施形態に係るアテンションネットワークAの概要を示す図である。アテンションネットワークAは、複数のアイテムのそれぞれの特徴ベクトルh~hについて、各アイテムに対応する所定の行動の発生の関係性の時間的な変化が反映された拡張特徴値e(h)~e(h)を生成する。そして、アテンションネットワークAは、生成された拡張特徴値e(h)~e(h)に基づいて影響度αti~αtjを算出する。影響度αtjは、以下に示す式(2)に基づいて算出される。cは、ユーザが購入した全てのアイテムを示し、j及びj’はcに含まれるアイテムを示している。
【数2】
【0031】
また、拡張特徴値e(h)~e(h)は、以下に示す式(3)に基づいて算出される。
【数3】
【0032】
式(3)及び図3に示すように、アテンションネットワークAは、特徴ベクトルhの各要素に、I個の重みベクトルw α(ただし、1≦i≦I)を乗算することにより、特徴ベクトルhを、I個の要素を有する中間ベクトルγに変換する。続いて、アテンションネットワークAは、中間ベクトルγのI個の要素γのそれぞれに、所定の行動の発生の関係性の時間的な変化に対応する重み値βを乗算し、乗算結果の総和を算出することにより、拡張特徴値e(h)に変換する。
【0033】
重み値βは、以下に示す式(4)又は式(5)により算出される。
【数4】
【数5】
【0034】
すなわち、アテンションネットワークAは、時間変化を示すI個の関数Fを有している。関数Fには、Sinusoid関数F1と、Relu関数F2とが含まれている。Sinusoid関数F1は、第1所定行動の発生と第2所定行動の発生との関係の周期的な変化を影響度に反映するための関数である。Relu関数F2は、第1所定行動の発生と第2所定行動の発生との関係の強さの、先の所定行動が発生してからの経過時間に伴う増加傾向及び減少傾向を影響度に反映するための関数である。アテンションネットワークAは、i番目の関数Fに、入力レイヤにて入力された時間間隔Δtと重み値w’との乗算結果を入力することにより、時間間隔Δtに対応する周期性及び傾向を影響度に反映するための重み値βを算出する。なお、関数Fには、Relu関数F2が含まれるものとしたが、これに限らない。Relu関数F2の代わりに、Sigmoid関数やtanh関数等の、他の単調活性化関数が用いられてもよい。
【0035】
なお、影響度αtjは、式(3)に基づいて算出されることとしたが、これに限らない。例えば、以下に示す式(6)に基づいて算出されてもよい。
【数6】
【0036】
[情報処理装置1の構成例]
続いて、本実施形態に係る情報処理装置1について説明する。図4は、本実施形態に係る情報処理装置1の構成を示す図である。情報処理装置1は、記憶部11と、制御部12とを備える。
【0037】
記憶部11は、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)等である。記憶部11は、情報処理装置1を機能させるための各種プログラムを記憶する。例えば、記憶部11は、情報処理装置1の制御部12を、時系列データ取得部121、教師データ生成部122、及び学習部123として機能させる学習用プログラムと、制御部12を予測部124及び広告配信部125として機能させる予測プログラムを記憶する。なお、学習用プログラムと、予測プログラムとは1つのプログラムに統合されていてもよい。
【0038】
制御部12は、例えばCPU(Central Processing Unit)である。制御部12は、記憶部11に記憶されている各種プログラムを実行することにより、情報処理装置1に係る機能を制御する。制御部12は、記憶部11に記憶されている学習用プログラムを実行することにより、時系列データ取得部121、教師データ生成部122、及び学習部123として機能する。また、制御部12は、記憶部11に記憶されている予測プログラムを実行することにより、予測部124及び広告配信部125として機能する。
【0039】
[ニューラルネットワークの学習]
本実施形態において、時系列データ取得部121、教師データ生成部122、及び学習部123は、協働することにより、図2に示すニューラルネットワークのパラメータの学習を行う。以下、時系列データ取得部121、教師データ生成部122、及び学習部123の機能について説明する。
【0040】
時系列データ取得部121は、ユーザの所定行動に対応するアイテムを識別するアイテム識別情報と、当該所定行動が発生した時刻とを含む時系列データを取得する。所定行動は、例えばユーザによるアイテムの購入行動であり、アイテムは、例えば商品やサービスである。時系列データ取得部121は、時系列データとして、ユーザのECサイトにおけるアイテムの購入履歴を示す購入履歴情報を取得する。時系列データ取得部121は、例えば、ECサイト(不図示)から、時系列データを所定時間おきに取得する。
【0041】
図5は、本実施形態に係る時系列データの例を示す図である。時系列データには、所定行動に対応するアイテムを識別するアイテム識別情報と、所定行動が発生した時刻と、所定行動を発生させたユーザを識別するユーザ識別情報とを関連付けたイベントデータが複数含まれている。
【0042】
図5に示す例では、楕円形状のマークMは、イベントデータを示している。また、図5に示す矢印は時刻を示しており、矢印上の楕円マークの位置が、所定行動が発生した時刻を示している。また、マークMの上部に示されるv1~v7は、所定行動に対応するアイテムのアイテム識別情報を示している。図5において、3つのマークMに同一のアイテム識別情報v1が付されているが、これは、アイテム識別情報v1のアイテムに対応する所定行動が3回発生したことを示している。
【0043】
教師データ生成部122は、時系列データ取得部121が取得した時系列データに基づいて、複数のアイテムのそれぞれに対する所定行動である第1所定行動の発生と、当該アイテムと同一のアイテム又は異なる他のアイテムに対する所定行動である第2所定行動の発生との関係を示す第1教師データと、第1所定行動と第2所定行動との時間間隔を示す第2教師データとを生成する。
【0044】
教師データ生成部122は、例えば、以下に示すように第1教師データを生成する。まず、教師データ生成部122は、アイテムの出現順にアイテム識別情報を含むシーケンスデータを生成する。教師データ生成部122は、全てのアイテム識別情報の個数を要素数とする入力ベクトル及び出力ベクトルを定義する。そして、教師データ生成部122は、シーケンスデータを参照し、予め定められたウィンドウサイズに基づいてアイテムの出現関係を示す入力ベクトルと出力ベクトルとの組み合わせを第1教師データとして生成する。ここで、入力ベクトル及び出力ベクトルはone-hotベクトルである。
【0045】
教師データ生成部122は、シーケンスデータを参照し、第2所定行動に対応するアイテムに対し、ウィンドウサイズに基づいて、当該アイテムの前に出現するアイテムを第1所定行動に対応するアイテムとして抽出する。例えば、ウィンドウサイズが「4」の場合、教師データ生成部122は、図5に示す時系列データに対応するシーケンスデータ[v1,v2,v3,v4,v1,v5,v6,v7,v2,v3,v1]のうち、5番目に出現するアイテム「v1」を基準として、前の4つのアイテムを「v1」、「v2」、「v3」、「v4」を抽出する。その後、6番目に出現するアイテム「v5」を基準として、前の4つのアイテムを「v2」、「v3」、「v4」、「v1」を抽出する。教師データ生成部122は、このように基準とするアイテムを1つずつずらして、基準となるアイテムの前のアイテムを抽出する。
【0046】
続いて、教師データ生成部122は、前の4つのアイテムが出現したことを示すone-hotベクトルを入力ベクトルとして生成するとともに、基準とするアイテムが出現したことを示すone-hotベクトルを出力ベクトルとして生成する。そして、教師データ生成部122は、生成した1つの出力ベクトルに対する4つの入力ベクトルの組み合わせを第1教師データとする。例えば、5番目に出現するアイテム「v1」と前の4つのアイテム「v1」、「v2」、「v3」、「v4」を1つの出力と入力との組み合わせとする。
【0047】
また、ウィンドウサイズはアイテムの数ではなく、時間の長さとしてもよい。例えば、ウィンドウサイズが「1か月間」の場合、第2所定行動に対応するアイテムに対し、当該行動の直前1か月間に出現するアイテムを第1所定行動に対応するアイテムとして抽出してもよい。
【0048】
また、教師データ生成部122は、第1教師データが示す第1所定行動が発生した時刻tと、当該第1教師データが示す第2所定行動が発生した時刻tとの時間間隔Δtを示す情報を第2教師データとして生成する。
【0049】
学習部123は、教師データ生成部122が生成した第1教師データ及び第2教師データに基づいて、予測プログラムに含まれるパラメータを学習する。具体的には、予測プログラムは、図2に示すニューラルネットワークの入力レイヤに、第1教師データに含まれる複数の入力ベクトルと、第2教師データが示す時間間隔Δtを入力したときの出力ベクトルの値が、第1教師データに含まれる出力ベクトルであるとして、ニューラルネットワークにおける複数のレイヤのそれぞれに対応するパラメータを学習する。学習を行うことにより、第1埋込レイヤにおいて、複数のアイテムのそれぞれの所定行動の発生の関係性の時間的な変化が反映された特徴ベクトルが生成されることとなる。
【0050】
[所定行動の予測及び広告配信]
本実施形態において、予測部124及び広告配信部125は、協働することにより、学習部123により学習が行われたニューラルネットワークを用いて、所定行動の発生を予測し、当該所定行動に対応するアイテムの広告をユーザに配信する。以下、予測部124及び広告配信部125の機能について説明する。
【0051】
予測部124は、学習部123により学習が行われたニューラルネットワークに、予測の対象時刻の直前のウィンドウサイズにおけるユーザの所定行動に対応する複数の第1アイテムに対応する複数の入力ベクトルと、これらの第1アイテムに対応する所定行動が発生した時刻から予測の対象時刻までの経過時間Δtを示す情報(複数のΔt)を入力する。そして、予測部124は、ニューラルネットワークから、当該複数の第1アイテムに対応する第2アイテムを示す出力ベクトルを取得し、当該第2アイテムに対応する所定行動をユーザが行うと予測する。
【0052】
例えば、予測部124は、出力ベクトルを構成する各要素のうち、最大値を有する要素を特定する。そして、予測部124は、ユーザが、特定した要素を示す第2アイテムに対応する所定行動を行うと予測する。なお、予測部124は、出力ベクトルを構成する各要素のうち、値が相対的に大きい要素を特定してもよい。そして、予測部124は、ユーザが、特定した複数の要素のそれぞれが示す複数の第2アイテムに対応する所定行動を行うと予測してもよい。
【0053】
ここで、第1アイテムに対応する所定行動が発生した時刻からの経過時間は、実際の経過時間ではなく、任意の経過時間を入力してもよい。このようにすることで、情報処理装置1は、第1のアイテムに対応する所定行動が発生した時刻からの任意の経過時間に対応する第2アイテムを予測することができる。
【0054】
広告配信部125は、予測部124が予測した第2アイテムを広告する広告情報をユーザの端末に配信する。例えば、記憶部11には、ユーザの端末に対応するメールアドレスや、SNSのIDが記憶されている。広告配信部125は、記憶部11に記憶されているメールアドレスや、SNSのIDに基づいて、予測部124が予測した第2アイテムを広告する広告情報を配信する。
【0055】
[情報処理装置1における処理の流れ]
続いて、情報処理装置1における処理の流れについて説明する。図6は、本実施形態に係る情報処理装置1における処理の流れの一例を示すフローチャートである。
【0056】
まず、時系列データ取得部121は、ユーザの所定行動に対応するアイテムを識別するアイテム識別情報と、所定行動が発生した時刻とを含む時系列データを取得する(S1)。
続いて、教師データ生成部122は、時系列データに基づいて、複数のアイテムのそれぞれに対する所定行動の発生と、他のアイテムに対する所定行動の発生との関係を示す第1教師データと、これらの所定行動の時間間隔を示す第2教師データとを生成する(S2)。
【0057】
続いて、学習部123は、教師データ生成部が生成した第1教師データ及び第2教師データに基づいて、ニューラルネットワークに含まれるパラメータの学習を実施する(S3)。
続いて、予測部124は、学習済のニューラルネットワークに、第1アイテムを示す入力ベクトル及び第1アイテムに対応する所定行動が発生した時刻からの経過時間を示す情報を入力し、当該経過時間後に発生する所定の行動に対応する第2アイテムを予測する(S4)。
続いて、広告配信部125は、ユーザの端末に、S4において予測された第2アイテムに対応する広告を配信する(S5)。
【0058】
[本実施形態における効果]
以上の通り、本実施形態に係る予測プログラムは、コンピュータを、ユーザの所定行動に対応するアイテムを示す入力ベクトルと、入力ベクトルに対応するアイテムの所定行動が発生した時刻からの経過時間との入力を受け付ける入力レイヤ、入力ベクトルを、アイテムの特徴を示す特徴ベクトルに変換する第1変換レイヤ、第1変換レイヤにより変換された特徴ベクトルを、アイテムと他のアイテムとの影響度であって、入力レイヤが受け付けた経過時間に基づいて決定される影響度に基づいて、ユーザの所定行動の発生傾向を示すコンテキストベクトルに変換する第2変換レイヤ、及び、コンテキストベクトルを、複数のアイテムの少なくともいずれかを示す出力ベクトルに変換する第3変換レイヤ、として機能させる。
【0059】
また、本実施形態に係る情報処理装置1は、予測プログラムに第1アイテムを示す入力ベクトル及び第1アイテムに対応する所定行動が発生した時刻からの経過時間を示す情報を入力することにより、予測プログラムから、当該第1アイテムに対応する第2アイテムを示す出力ベクトルを取得する。そして、情報処理装置1は、当該第2アイテムに対応する所定行動をユーザが行うと予測する。
【0060】
このようにすることで、予測プログラム及び情報処理装置1は、所定行動の発生の時間的な変化を考慮して、第1アイテムに対応する所定行動の発生に関連して発生する第2アイテムに対応する所定行動の発生を予測することができる。
【0061】
また、本実施形態に係る情報処理装置1は、ユーザの所定行動に対応するアイテムを識別するアイテム識別情報と、所定行動が発生した時刻とを含む時系列データを取得し、当該時系列データに基づいて、複数のアイテムのそれぞれに対する所定行動である第1所定行動の発生と、他のアイテムに対する所定行動である第2所定行動の発生との関係を示す第1教師データと、第1所定行動と第2所定行動との時間間隔を示す第2教師データとを生成し、当該第1教師データ及び第2教師データに基づいて、予測プログラムに含まれるパラメータを学習する。このようにすることで、情報処理装置1は、予測プログラムにおける、入力されたアイテム及び時間間隔に対応するアイテムの予測精度を向上させることができる。
【0062】
以上、本発明を上記の実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。また、特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【符号の説明】
【0063】
1・・・情報処理装置、11・・・記憶部、12・・・制御部、121・・・時系列データ取得部、122・・・教師データ生成部、123・・・学習部、124・・・予測部、125・・・広告配信部
図1
図2
図3
図4
図5
図6