(57)【要約】【課題】アプリケーションプログラム内において、特定の一のユーザが、将来どのような行動をとるかを高精度で予測する。【解決手段】情報処理装置１は、膨大なアプリケーションプログラムの利用履歴を示すログデータを利用して機械学習により学習モデルを生成し、その学習モデルを特定のユーザのアプリケーションの利用履歴を示すログデータに適用することで、特定の一のユーザが、アプリケーションプログラム内において、将来どのような行動をとるかを高精度で予測する。また、情報処理装置１は、予測された確率に基づいて、当該特定の一のユーザに対して適切な広告を選択する。【選択図】図１
2019075094.tif 000002
【特許請求の範囲】
【請求項１】
一のユーザによるアプリケーションプログラムの利用履歴を示すログデータを取得するログデータ取得部と、
機械学習により生成された学習モデルを用いて前記ログデータを解析することにより、前記一のユーザによる前記アプリケーションプログラムの利用に関する予測結果である予測データを計算する予測処理部と、
前記予測処理部が生成した前記予測データを出力する出力部と、
を備える情報処理装置。
【請求項２】
前記機械学習が、ニューラルネットワークを利用したディープラーニングであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記アプリケーションプログラムがゲームである請求項１又は２記載の情報処理装置。
【請求項４】
前記予測結果が、前記一のユーザの課金率、ゲーム継続率、ゲーム離脱率に関するものであることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記出力部から出力された前記予測データを記憶する記憶部と、
前記記憶部に記憶された前記予測データを用いて前記一のユーザに対する広告を選択するマーケティング処理部と、
を備えることを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記出力部から出力された前記予測データを記憶する記憶部と、
前記記憶部に記憶された前記予測データを用いて対象となる広告を出すべきユーザを選定するマーケティング処理部と、
を備えることを特徴とする請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
請求項１〜６のいずれか一項に記載の情報処理装置によって生成された前記予測データを取得する予測データ取得部と、
前記予測データを用いて前記一のユーザに対する広告を選択するマーケティング処理部と、
を備えるマーケティング情報処理装置。
【請求項８】
一のユーザによるアプリケーションプログラムの利用履歴を示すログデータを取得する第１工程と、
機械学習により生成された学習モデルを用いて前記ログデータを解析することにより、前記一のユーザによる前記アプリケーションプログラムの利用に関する予測結果である予測データを計算する第２工程と、
前記予測処理部が生成した前記予測データを出力する第３工程と、
を備える情報処理方法。
【請求項９】
前記機械学習が、ニューラルネットワークを利用したディープラーニングであることを特徴とする請求項８記載の情報処理方法。
【請求項１０】
前記アプリケーションプログラムがゲームである請求項８又は９記載の情報処理方法。
【請求項１１】
前記予測結果が、前記一のユーザの課金率、ゲーム継続率、ゲーム離脱率に関するものであることを特徴とする請求項１０記載の情報処理方法。
【請求項１２】
コンピュータに、
一のユーザによるアプリケーションプログラムの利用履歴を示すログデータを取得する第１処理と、
機械学習により生成された学習モデルを用いて前記ログデータを解析することにより、前記一のユーザによる前記アプリケーションプログラムの利用に関する予測結果である予測データを計算する第２処理と、
前記予測処理部が生成した前記予測データを出力する第３処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一のユーザによるアプリケーションプログラムの利用履歴を示すログデータに基づいて、当該一のユーザのアプリケーションプログラムにおける将来的な行動に関する予測データを計算する情報処理装置、情報処理方法、プログラム及び当該一のユーザに対して最適な広告を選択するマーケティング情報処理装置に関する。
【背景技術】
【０００２】
アプリケーションプログラム内において、ある特定のユーザが将来どのような行動をとるかは、アプリケーションプログラムを運営する会社にとって非常に大きな関心事である。例えば、多数存在するユーザの中で、将来課金する可能性の高いユーザがいれば、その特定のユーザに対して、その特定のユーザに特化した形の課金を促す効率的な広告をすることができるからである。
【０００３】
これまでに、過去のアプリケーションプログラムの利用履歴を示すログデータに基づいて、ひとかたまりの複数ユーザ単位で将来の行動予測することは知られていた。例えば、２０代男性のユーザの課金率がいくらかなどの予測である。
【０００４】
しかしながら、このような複数ユーザ単位での将来行動予測は、確率の精度が高いものではなかった。そして、精度の低い確率に基づいた広告は、効率が悪いという点でも問題があった。
【０００５】
なお、ある特定のユーザに着目して将来の行動予測をすることは、従来においても不可能ではなかったが、ログデータが膨大になると分析の作業負担が大きくなり、現実的ではなかった。
【０００６】
特許文献１は、店舗における商品需要を適切に予測することができる需要予測システム等に関するものである。予測部１０３は、人の通行経路、通行量、来店数を予測し、それによって変動する商品需要を適切に予測する。
しかしながら、特許文献１記載の発明は、商品の需要予測という本発明とは別の分野であり、かつ、予測に当たっては、予測部１０３は、対象事象と種別および属性等が一致又は類似する過去の事象の実績情報を参考としており、この点で、ひとかたまりの単位で将来予測するものであった。
【０００７】
特許文献２は、消費者が購入しようとしている個々の商品についての需要を高精度で容易に予測することが可能な需要予測システム等に関するものである。
しかしながら、特許文献２記載の発明は、商品の需要予測という本発明とは別の分野であり、かつ、機械学習を用いたものでもなかった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１８−９２２６７号公報
【特許文献２】特開２０１４−１１９９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の通り、従来は、アプリケーションプログラムにおいて、一のユーザのアプリケーションプログラムにおける将来的な行動を予測することは知られていなかった。
【００１０】
また、アプリケーションプログラムを運営する会社は、多くのユーザがアプリケーションプログラム内において行った行動に関してログデータを保有しているが、このログデータは膨大かつ関連性の薄いデータも含むため、ログデータ保有会社がログデータを分析して将来予測につなげることは容易ではなかった。
【００１１】
本発明は、膨大なログデータを利用して機械学習により学習モデルを生成し、その学習モデルを特定のユーザに適用することで、（複数ユーザ単位ではなく）特定の一のユーザが、アプリケーションプログラム内において将来どのような行動をとるかを高精度で予測することを目的とする。
【００１２】
また、本発明は、予測された確率に基づいて、当該特定の一のユーザに対して適切な広告を選択する情報処理装置を提供する。
【課題を解決するための手段】
【００１３】
本発明に係る情報処理装置は、
一のユーザによるアプリケーションプログラムの利用履歴を示すログデータを取得するログデータ取得部と、
機械学習により生成された学習モデルを用いて前記ログデータを解析することにより、前記一のユーザによる前記アプリケーションプログラムの利用に関する予測結果である予測データを計算する予測処理部と、
前記予測処理部が生成した前記予測データを出力する出力部と、
を備えることを特徴とする。
【００１４】
本発明に係るマーケティング情報処理装置は、
本発明に係る情報処理装置によって生成された前記予測データを取得する予測データ取得部と、
前記予測データを用いて前記一のユーザに対する広告を選択するマーケティング処理部と、
を備えることを特徴とする。
【００１５】
本発明に係る情報処理方法は、
一のユーザによるアプリケーションプログラムの利用履歴を示すログデータを取得する第１工程と、
機械学習により生成された学習モデルを用いて前記ログデータを解析することにより、前記一のユーザによる前記アプリケーションプログラムの利用に関する予測結果である予測データを計算する第２工程と、
前記予測処理部が生成した前記予測データを出力する第３工程と、
を備えることを特徴とする。
【００１６】
本発明に係るプログラムは、
コンピュータに、
一のユーザによるアプリケーションプログラムの利用履歴を示すログデータを取得する第１処理と、
機械学習により生成された学習モデルを用いて前記ログデータを解析することにより、前記一のユーザによる前記アプリケーションプログラムの利用に関する予測結果である予測データを計算する第２処理と、
前記予測処理部が生成した前記予測データを出力する第３処理と、
を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、アプリケーションプログラム内において、特定のユーザが、将来どのような行動をとるかを高精度で予測する情報処理装置等を提供することができる。また、本発明によれば、予測データに基づいて、当該特定の一のユーザに対して適切な広告を選択する情報処理装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施の形態に係る情報処理装置１を示す機能ブロック図である。
【図２】本発明の別の実施の形態に係る情報処理装置１を示す機能ブロック図である。
【図３】本発明の一実施の形態に係るマーケティング情報処理装置２を示す機能ブロック図である。
【図４】機械学習処理部２２が実行する学習処理の一例を示すフローチャートである。
【図５】予測処理部１２が実行する予測処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００２０】
図１は、本発明の一実施の形態に係る情報処理装置１を示す機能ブロック図である。情報処理装置１は、ログデータ取得部１１、予測処理部１２及び出力部１３を備える。情報処理装置１の外部として図示しているログデータ記憶部２１、機械学習処理部２２及び学習モデル記憶部２３は、学習モデルを予測処理部１２に提供するためのものであり、本発明の必須の構成要素ではない。ただし、これらを情報処理装置１内に設けても差し支えない。
【００２１】
ログデータ取得部１１は、アプリケーションプログラムの利用履歴を示すログデータを取得し、予測処理部１２に送信する。取得したログデータは、ログデータ記憶部２１に送信しても良い。
【００２２】
ログデータは、通常は、アプリケーションプログラムを運営する会社がデータベースとして保有している。アプリケーションプログラム運営会社が本発明の情報処理装置等を利用する場合には、自社のデータベースからログデータを読み出すことによってログデータ取得部１１がログデータを取得することができる。
【００２３】
別の態様として、アプリケーションプログラム運営会社は、第三者であるデータ分析会社にログデータを渡して予測を依頼することもある。この場合は、データ分析会社が本発明の情報処理装置等を利用することになる。データ分析会社は、アプリケーションプログラム運営会社から、例えばネットワークを介して、ログデータをログデータ取得部１１において取得することができる。
【００２４】
アプリケーションプログラムの利用履歴としては、一般的には、例えば、ユーザID、アプリケーションプログラムの利用開始日・利用終了日、利用頻度、ログイン日時・時間、アプリケーションプログラムの利用に際してどのような行動を起こしたか、アプリケーションプログラムを通じて商品等を購入した場合は購入額等の詳細に関するログデータなどが挙げられる。
【００２５】
アプリケーションプログラムが電子商取引を扱うＥＣサイトの場合は、特に、ページの閲覧回数・時間、検索実行回数、検索キーワード、メルマガ開封、画像の閲覧回数、カートへの追加回数、カート追加までのページ遷移数、クーポン獲得数・失効数、お勧め商品タップ数・購入数、特集ページ閲覧数・購入数、決済手段登録数、決済手段登録までの遷移数、同一商品購入数、初購入商品、購入済み商品閲覧数などがログデータとして挙げられる。
【００２６】
アプリケーションプログラムがソーシャルネットワーキングサービス（いわゆるＳＮＳ）の場合は、送受信メッセージ数、送受信スタンプの種類（ポジティブなスタンプかネガティブなスタンプか）、受信メッセージの開封までの時間、一日当たりの送受信数、一日当たりの初送受信ユーザ数、もっともやり取りしてるユーザとの送受信数・期間、他人・自分の投稿へのリアクション数・コメント数、投稿数、リンク・広告のクリック数・戻るまでの経過時間などがログデータとして挙げられる。
【００２７】
アプリケーションプログラムがゲームの場合は、特に、ゲーム内での課金状況（課金日時、課金対象（アイテム・キャラクター等の購入、ゲーム内通貨の購入など）、課金額、課金の頻度など）、ゲームの利用状況（ゲームをダウンロードした日、ダウンロードしてからの経過日数、ログイン日時、ログイン時間、ゲームを最後に利用してからの経過日数など）、ゲーム内でのキャラクターの強化状況（キャラクターを強化した日時、回数、キャラクターの種類など）、ゲーム内でのアイテムの使用状況（所持するアイテムの種類、所持するアイテムの個数、アイテムの使用日時、アイテムの使用個数など）、ゲームの進行状況（ゲーム中で課される課題のクリア状況、課題への挑戦回数）、ゲーム内のユーザのステータス（プレイヤのレベル）などに関するログデータが挙げられる。
【００２８】
予測処理部１２は、ログデータ取得部１１から受信したログデータから一のユーザのログデータを抽出して、学習モデル記憶部２３に保管されている学習モデル（アルゴリズム）を実行することにより、当該一のユーザのアプリケーションプログラムの利用に関する予測結果である予測データを計算する。
【００２９】
予測データとしては、例えば、当該一のユーザが、今後一定期間アプリケーションプログラムを利用し続ける確率（一定期間継続率）、今後一定期間内にアプリケーションプログラムの利用を終了する確率（一定期間内離脱率）、今後一定期間アプリケーションプログラムにおいて商品等を購入する確率（一定期間内課金率）などである。
【００３０】
アプリケーションプログラムがゲームの場合は、予測データとしては、特に、当該一のユーザが、今後一定期間内に課金する確率（課金率）、今後継続的にプレイする確率（ゲーム継続率）、今後ゲームのプレイをやめてしまう確率（ゲーム離脱率）が重要である。
【００３１】
出力部１３は、予測処理部１２で生成された予測データを出力する。出力は、電子データとして出力してもよいし、プリントアウトすることによって出力してもよく、その方法を問わない。
【００３２】
ログデータ記憶部２１は、ログデータ取得部１１で取得したアプリケーションプログラムの利用履歴を示す膨大なログデータを保管する。このログデータは、学習モデルを生成するための教師データ（訓練データ）として用いられる。このログデータは、予測処理の対象となるログデータとして予測処理部１２に送信することもできる。
【００３３】
機械学習処理部２２は、予測処理部１２で実行される学習モデルを、機械学習を用いて生成する。その際、ログデータ記憶部２１に保管された膨大なログデータは、入出力ペアの教師データとなる。
【００３４】
機械学習で扱われるモデルとしては、決定木、帰納推論、ニューラルネットワーク、ディープラーニングなどあらゆる公知のモデルが用いられる。具体例としては、ＣＮＮ、ＲＮＮ、ＳＶＭ、ロジスティック回帰、ランダムフォレスト、Ｘｇｂｏｏｓｔなどが挙げられる。より精度の高い学習モデルを構築するためにも、機械学習として、ニューラルネットワークを利用したディープラーニングを使用することが好ましい。
【００３５】
学習モデルに含まれる変数は、予測データの生成に関連があるものを適宜選択して設定することができる。精度の高い予測データを計算するためには、通常は多くの変数を使用することになる。
【００３６】
アプリケーションプログラムの変数の例としては、例えば、アプリケーションプログラムの利用状況、行動内容、課金状況に関する数値が挙げられる。
【００３７】
アプリケーションプログラムがゲームの場合は、変数の例として、次のようなものが挙げられる。
・ゲーム内の通貨を購入する行為に関する数値（例：課金額）
・ゲーム内の通貨を消費してアイテムやキャラクター等を入手する抽選（一般的に「ガチャ」と呼ばれる）に関する数値（例：ガチャ回数）
・ゲーム内におけるアイテム消費に関する数値（例：特定のアイテムの消費個数）
・ゲーム内のキャラクターのステータスを向上させる行動に関する数値（例：レッスンを受けた回数）
・ゲーム内のキャラクターの強化に関する数値（例：キャラクター同士の合成回数）
・ユーザのゲーム内におけるステータスに関する数値（例：プレイヤーのレベル）
・ゲーム内におけるユーザの課題に関する数値（例：課題に挑戦した回数）
【００３８】
教師データとして、何を入出力ペアとして機械学習させるかは、何を予測するかで変わり得る。例えば、予測データとして、アプリケーションプログラムをインストール後に３日間利用し続けてきた一のユーザが、今後７日間利用し続ける確率（７日間継続率）を算出したい場合は、教師データの入力データとして、アプリケーションプログラムをインストール後に３日間利用し続けてきたユーザの利用履歴を示すログデータを抽出したデータを使用し、ペアとする出力データとして、７日間継続したかどうかを使用することになる。この教師データを入出力ペアとして機械学習処理部２２に大量に読み込ませることによって、学習モデルを構築することができる。
【００３９】
予測メニューとしては、上記の他、例えば、以下のものが挙げられる。
・アプリケーションプログラムをインストールした一のユーザが、今後１４日間利用し続ける確率（１４日間継続率）
・アプリケーションプログラムを一定期間使用せず、その後久しぶりに利用を開始した一のユーザが、今後７日間利用し続ける確率（復帰後７日間継続率）
・アプリケーションプログラムを現に利用している一のユーザが、翌週以降に全く利用しなくなる確率（離脱率）
・アプリケーションプログラムを現に課金している一のユーザが、翌月以降に全く課金しなくなる確率（課金離脱率）
・アプリケーションプログラムをインストールした一のユーザが、３０日以内に課金する確率（課金率）
・アプリケーションプログラムを一定期間使用せず、その後久しぶりに利用を開始した一のユーザが、３０日以内に課金する確率（復帰後課金率）
【００４０】
学習モデル記憶部２３は、機械学習処理部２２で生成された学習モデルを保管する。そして、予測処理部１２の求めに応じて、予測データの算出に必要な学習モデルを予測処理部１２に提供する。
【００４１】
図２は、本発明の別の実施の形態に係る情報処理装置１を示す機能ブロック図である。ここでは、情報処理装置１は、ログデータ取得部１１、予測処理部１２、出力部１３に加えて、記憶部１４及びマーケティング処理部１５を備える。更に、情報処理装置１は、図１において、情報処理装置１の外部として図示していた、ログデータ記憶部２１、機械学習処理部２２及び学習モデル記憶部２３を備える。
【００４２】
記憶部１４は、出力部１３から予測データを取得して記憶する。また、記憶部１４は、ユーザ向け広告のデータベースともなっており、複数の広告を記憶していてもよい。更に、記憶部１４は、マーケティング処理部１５にて処理する際に実行されるプログラムを記憶していてもよい。
【００４３】
マーケティング処理部１５は、記憶部１４から予測データを取得して、当該一のユーザに最適だと思われる広告を選択する、又は当該一のユーザに対しては広告しないということを選択する。
【００４４】
アプリケーションプログラムがゲームの場合、予測データは、例えば、当該一のユーザが今後一定期間内に課金する確率（課金率）や、当該一のユーザが次に購入するアイテムがＡである確率（アイテム毎の購入率）となる。
【００４５】
当該一のユーザの課金率が９５％、アイテムＡの購入率が他のアイテムの購入率に比べて最も高い場合、当該一のユーザがアイテムＡを購入する確率が非常に高いといえるので、マーケティング処理部１５は、記憶部１４に記憶されている複数の広告の中から、アイテムＡに関する広告を選択する。アプリケーションプログラム運営会社は、マーケティング処理部１５のこの判断に従って、当該一のユーザに広告を打つことで、効果の高いマーケティングが可能となる。
【００４６】
当該一のユーザの課金率が５％である場合、当該一のユーザはいずれのアイテムを購入する確率も少ないといえるので、マーケティング処理部１５は、当該一のユーザに広告を打たないという判断をする。アプリケーションプログラム運営会社は、マーケティング処理部１５のこの判断に従って、当該一のユーザに対しては広告しないと判断できるので、無駄な費用を節約できる。
【００４７】
また、マーケティング処理部１５は、類似する別の処理として、記憶部１４から予測データを取得して、既に対象となる広告が決まっている場合に、当該広告を出すべきユーザを選定することができる。例えば、対象広告がアイテムの広告である場合、マーケティング処理部１５は、予測データの中の課金率が一定値以上のユーザを選び出し、広告を出すべきユーザとして選定することができる。
【００４８】
図３は、本発明の一の実施の形態に係るマーケティング情報処理装置２を示す機能ブロック図である。マーケティング情報処理装置２は、予測データ取得部１６、記憶部１４及びマーケティング処理部１５を備える。マーケティング情報処理装置２は、情報処理装置１の外部に設けられている。
【００４９】
予測データ取得部１６は、情報処理装置１（図３では一部以外は省略）の出力部１３から予測データを取得する。予測データ取得部１６は、取得した予測データを記憶部１４に送信し、マーケティング処理部１５では広告が選択されるが、その処理については上記の通りである。
【００５０】
図４は、機械学習処理部２２が実行する学習処理の一例を示すフローチャートである。
【００５１】
ステップＳ２０において、機械学習処理部２２は、ログデータ、すなわち入出力ペアの教師データを取得する。
【００５２】
取得したデータが機械学習の教師データに適していない状態であれば、不要なデータを削除したり、データを整理したりするなど、機械学習のための前処理をする必要がある。この前処理は、表計算ソフトのマクロ機能を用いるなどして自動的に処理することができる。教師データは膨大であるので、このような自動処理は作業の効率化に不可欠である。
【００５３】
ステップＳ３０において、機械学習処理部２２は、取得した教師データを使用して、学習モデルを最適化（パラメータ調整又はチューニングともいう）する。具体的には、機械学習処理部２２は、学習モデル記憶部２３から学習モデルを読み出して、入出力ペアである教師データを入力することにより、学習モデルを再構築する。例えば、本発明において、ニューラルネットワークを利用したディープラーニングを使用する場合には、ニューラルネットワークを構成するノード間のパラメータが調整される。
【００５４】
ステップＳ４０において、機械学習処理部２２は、未学習のログデータ（教師データ）があるか否かを判定する。未学習のログデータ（教師データ）がある場合（ステップＳ４０でＹＥＳ）、ステップＳ２０の処理に移行する。これにより、学習モデルの学習が繰り返し行われることになり、予測データ算出の精度が向上する。一方、未学習のログデータ（教師データ）がない場合（ステップＳ４０でＮＯ）、ステップＳ５０の処理に移行する。
【００５５】
ステップＳ５０において、機械学習処理部２２は、学習が十分に行われたか否かを判定する。例えば、判定テストとして、機械学習処理部２２は、教師データ（入力データと出力データのペア）をいくつか適当にピックアップして、入力データに対して学習モデルを実行することで、正しく出力データを予測できたかどうかを確認することが可能となる。この正答率が、あらかじめ設定した閾値以上である場合に十分な学習が行われたと判断する。学習が十分であると判断された場合（ステップＳ５０でＹＥＳ）、ステップＳ６０の処理に移行する。一方、学習が十分でないと判断された場合（ステップＳ５０でＮＯ）、ステップＳ２０以降の処理を繰り返す。
【００５６】
ステップＳ６０において、機械学習処理部２２は、学習結果に基づいて、学習モデル記憶部２３に保管されている学習モデルを更新する。
【００５７】
図５は、予測処理部１２が実行する予測処理の一例を示すフローチャートである。
【００５８】
ステップＳ１０２において、予測処理部１２は、ログデータ取得部１１から、一のユーザのログデータを取得する。
【００５９】
ステップＳ１０３において、予測処理部１２は、一のユーザのログデータを入力して、学習モデルを実行する。
【００６０】
ステップＳ１０４において、予測処理部１２は、学習モデルを実行した結果としての予測データを出力する。
【００６１】
以上、図面を参照して実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【符号の説明】
【００６２】
１      情報処理装置
１１    ログデータ取得部
１２    予測処理部
１３    出力部
１４    記憶部
１５    マーケティング処理部
１６    予測データ取得部
２１    ログデータ記憶部
２２    機械学習処理部
２３    学習モデル記憶部
【図１】
2019075094.tif 000003
【図２】
2019075094.tif 000004
【図３】
2019075094.tif 000005
【図４】
2019075094.tif 000006
【図５】
2019075094.tif 000007