(57)【要約】【課題】通知用情報に基づいてユーザの端末装置へ通知するメッセージを自動的に生成する情報処理装置、情報処理方法、およびプログラムを提供すること。【解決手段】情報処理装置は、学習部と、生成部と、通知部とを備える。学習部は、過去に通知されたメッセージに対するユーザの応答履歴に基づいて、前記ユーザに対するメッセージ生成用強化学習モデルを強化学習により学習する。生成部は、メッセージ生成用強化学習モデルを用いて、ユーザの端末装置へ通知するメッセージを生成する。通知部は、ユーザにプッシュ通知を行うための情報に基づいて、生成部によって生成されたメッセージを端末装置へ通知する。【選択図】図１
2018129068.tif 000002
【特許請求の範囲】
【請求項１】
過去に通知されたメッセージに対するユーザの応答履歴に基づいて、前記ユーザに対するメッセージ生成用強化学習モデルを強化学習により学習する学習部と、
前記メッセージ生成用強化学習モデルを用いて、前記ユーザの端末装置へ通知するメッセージを生成する生成部と、
前記ユーザにプッシュ通知を行うための情報に基づいて、前記生成部によって生成された前記メッセージを前記端末装置へ通知する通知部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記学習部は、
前記過去に通知されたメッセージに対する応答の有無を含む応答履歴に基づいて、前記メッセージ生成用強化学習モデルを学習する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記学習部は、
前記過去に通知されたメッセージに対する対話回数を含む応答履歴に基づいて、前記メッセージ生成用強化学習モデルを学習する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記生成部は、
前記メッセージ生成用強化学習モデルを用いて選択されたキーワードに基づいて、メッセージ生成モデルを用いて前記メッセージを生成する
ことを特徴とする請求項１から３のいずれか一つに記載の情報処理装置。
【請求項５】
前記学習部は、
他のユーザの応答履歴を含む応答履歴に基づいて、前記メッセージ生成モデルを強化学習により学習する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記通知部は、
前記ユーザのコンテキストに基づいて、前記生成部によって生成された前記メッセージを前記端末装置へ通知する
ことを特徴とする請求項１から５のいずれか一つに記載の情報処理装置。
【請求項７】
前記生成部は、
前記強化学習により生成され、入力される単語に対して、単語を出力する学習モデルを用いて前記端末装置へ通知する前記メッセージを生成する
ことを特徴とする請求項１から６のいずれか一つに記載の情報処理装置。
【請求項８】
前記生成部は、
前記強化学習により生成され、入力される単語に対応した入力ベクトルに対して、出力ベクトルを出力する学習モデルを用いて前記端末装置へ通知する前記メッセージを生成する
ことを特徴とする請求項１から６のいずれか一つに記載の情報処理装置。
【請求項９】
情報処理装置が実行する情報処理方法であって、
過去に通知されたメッセージに対するユーザの応答履歴に基づいて、前記ユーザに対するメッセージ生成用強化学習モデルを強化学習により学習する学習工程と、
前記メッセージ生成用強化学習モデルを用いて、前記ユーザの端末装置へ通知するメッセージを生成する生成工程と、
前記ユーザにプッシュ通知を行うための情報に基づいて、前記生成工程によって生成された前記メッセージを前記端末装置へ通知する通知工程と
を含むことを特徴とする情報処理方法。
【請求項１０】
過去に通知されたメッセージに対するユーザの応答履歴に基づいて、前記ユーザに対するメッセージ生成用強化学習モデルを強化学習により学習する学習手順と、
前記メッセージ生成用強化学習モデルを用いて、前記ユーザの端末装置へ通知するメッセージを生成する生成手順と、
前記ユーザにプッシュ通知を行うための情報に基づいて、前記生成手順によって生成された前記メッセージを前記端末装置へ通知する通知手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ユーザの端末装置に送信する固定対話ノードの間に、動的対話ノードを挿入する際に、強化学習を用いて動的対話ノードの挿入行動を制御する情報処理装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１２５１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記情報処理装置では、動的対話ノードは、固定対話ノードの文に対し類似確率の高いものが選択され、シナリオの進行に沿って挿入される。
【０００５】
上記情報処理装置では、シナリオの進行に沿って動的対話ノードが挿入されるが、通知用情報に基づいて情報処理装置からユーザの端末装置へ、対話ノードなどのメッセージを通知する場合がある。すなわち、プッシュ型の通知を情報処理装置からユーザの端末装置へ行う場合がある。
【０００６】
プッシュ型の通知を行う場合には、上記情報処理装置で存在するシナリオがなく、また固定対話ノードに対応するメッセージがないため、ユーザの端末装置へ通知するメッセージを生成することが困難である。
【０００７】
本願は、上記に鑑みてなされたものであって、通知用情報に基づいてユーザの端末装置へ通知するメッセージを自動的に生成する情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願にかかる情報処理装置は、学習部と、生成部と、通知部とを備える。学習部は、過去に通知されたメッセージに対するユーザの応答履歴に基づいて、前記ユーザに対するメッセージ生成用強化学習モデルを強化学習により学習する。生成部は、メッセージ生成用強化学習モデルを用いて、ユーザの端末装置へ通知するメッセージを生成する。通知部は、ユーザにプッシュ通知を行うための情報に基づいて、生成部によって生成されたメッセージを端末装置へ通知する。
【発明の効果】
【０００９】
実施形態の一態様によれば、通知用情報に基づいてユーザの端末装置へ通知するメッセージを自動的に生成する情報処理装置、情報処理方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報処理の説明図である。
【図２】図２は、情報処理システムの構成例を示す図である。
【図３】図３は、情報処理装置の構成例を示す図である。
【図４】図４は、スコアの一例を示す図である。
【図５】図５は、実施形態に係る通知メッセージ生成処理の一例を示すフローチャートである。
【図６】図６は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１１】
以下に、本願にかかる情報処理装置、情報処理方法、およびプログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願にかかる情報処理装置、情報処理方法、およびプログラムが限定されるものではない。
【００１２】
[１．情報処理]
実施形態に係る情報処理の一例について説明する。図１は、実施形態に係る情報処理の説明図である。ここでは、情報処理装置１によって情報処理が実行される。
【００１３】
情報処理装置１は、強化学習モデル（メッセージ生成用強化学習モデル、学習モデル）を用いてキーワードを選択する（ステップＳ１）。
【００１４】
強化学習モデルは、詳しくは後述するが、ユーザの端末装置２へプッシュ通知されるメッセージ（以下、通知メッセージという。）を生成する際に、報酬の積算値（以下、スコアという。）が大きいキーワードを選択するモデルである。
【００１５】
強化学習モデルは、ユーザの端末装置２へ送信された通知メッセージに対し、ユーザの応答が良い通知メッセージに関するキーワードのスコアが大きくなるように学習される。
【００１６】
例えば、ユーザが、キーワード「野球」に関する通知メッセージよりも、キーワード「サッカー」に関する通知メッセージに対して応答が良い場合、キーワード「サッカー」のスコアが、キーワード「野球」のスコアよりも大きくなるように、強化学習モデルは、学習される。
【００１７】
情報処理装置１は、選択したキーワードに基づいて、対話モデルを用いて通知メッセージを生成する（ステップＳ２）。なお、通知メッセージは、通知用情報に基づいたプッシュ通知を行うタイミングで生成されてもよく、また、プッシュ通知を行うタイミングよりも前に生成されてもよい。通知用情報は、ユーザにプッシュ通知を行うための情報であり、正午、１９時など予め設定された時間である。
【００１８】
対話モデルは、キーワードと、キーワードにおける通知メッセージとを対として学習されたモデルである。学習に用いられる通知メッセージは、例えば、人手によって生成されてもよく、ウェブや、ツイッター（登録商標）などから得られる文章から収集されてもよい。対話モデルは、通知メッセージを自然文として生成するモデルである。
【００１９】
情報処理装置１は、対話モデルを用いてキーワードに関する通知メッセージを生成する。例えば、選択されたキーワードが「サッカー」であった場合、対話モデルを用いて「サッカー」に関する「サッカーの試合結果知っていますか？」などの通知メッセージを生成する。
【００２０】
情報処理装置１は、通知用情報に基づいてプッシュ通知を行うタイミングとなると、生成した通知メッセージをユーザの端末装置２に送信する（ステップＳ３）。
【００２１】
このように、情報処理装置１は、強化学習モデルを用いて、ユーザの端末装置２にプッシュ通知する通知メッセージを自動的に生成することができる。また、通知メッセージは、強化学習モデルに基づいたキーワードに関する内容であるため、ユーザの満足度を向上させることができる。
【００２２】
[２．情報処理システム５の構成]
図２は、情報処理システム５の構成例を示す図である。図２に示すように、実施形態に係る情報処理システム５は、情報処理装置１と、端末装置２と、音声認識サーバ３と、音声合成サーバ４とを備える。
【００２３】
端末装置２、音声認識サーバ３、音声合成サーバ４、および情報処理装置１は、ネットワークＮを介して無線または有線で互いに通信可能に接続される。ネットワークＮは、例えば、ＬＡＮ（Local  Area  Network）や、インターネットなどのＷＡＮ（Wide  Area  Network）である。
【００２４】
端末装置２は、スマートフォンや、タブレット型端末や、デスクトップ型ＰＣ（Personal  Computer）や、ノート型ＰＣや、ＰＤＡ（Personal  Digital  Assistant）等により実現される。
【００２５】
音声認識サーバ３は、音声情報に対して自然言語処理を実行し、音声データをテキストデータに変換する装置である。音声認識サーバ３は、端末装置２から発話の音声データを受信すると、音声データをテキストデータに変換する。音声認識サーバ３は、音声データを変換したテキストデータを情報処理装置１に送信する。
【００２６】
音声合成サーバ４は、情報処理装置１によって生成された通知メッセージなどのテキストデータを音声データに変換する。音声合成サーバ４は、テキストデータを変換した音声データを、端末装置２に送信する。
【００２７】
情報処理装置１は、端末装置２へ送信する通知メッセージのテキストデータを生成する。また、情報処理装置１は、端末装置２から送信されたテキストデータ、または音声認識サーバ３を介して音声データが変換されたテキストデータに基づいて、通知メッセージのテキストデータを生成する。情報処理装置１は、生成した通知メッセージや、その他のメッセージのテキストデータを、音声合成サーバ４、および端末装置２に送信する。
【００２８】
なお、音声認識サーバ３や音声合成サーバ４を、情報処理装置１と一体的に構成してもよい。また、端末装置２が、音声認識機能や、音声合成機能を有する場合には、これらの機能を用いて、音声データとテキストデータとを変換してもよい。
【００２９】
[３．情報処理装置１の構成]
次に、実施形態に係る情報処理装置１について、図３を参照し説明する。図３は、情報処理装置１の構成例を示す図である。
【００３０】
情報処理装置１は、受信部１０と、送信部２０と、記憶部３０と、処理部４０とを備える。
【００３１】
受信部１０は、ネットワークＮを介して、ユーザの端末装置２から操作情報を受信する。操作情報には、ユーザの応答履歴情報（応答履歴）や、行動履歴情報が含まれる。
【００３２】
応答履歴情報は、通知メッセージに対するユーザの応答履歴に関する情報である。応答履歴情報には、通知メッセージに対するユーザの応答の有無が含まれる。また、通知メッセージに対するユーザの応答には、通知メッセージに対するユーザの発話などに基づく応答メッセージや、通知メッセージに対するユーザの端末装置２の操作（クリック情報や、タッチ情報）が含まれる。また、応答履歴情報には、今回の通知メッセージに対する応答履歴情報、および過去の通知メッセージに対する応答履歴情報が含まれる。
【００３３】
行動履歴情報には、ユーザの発話履歴情報、ユーザの検索履歴情報、ユーザの閲覧履歴情報などが含まれる。
【００３４】
ユーザの発話履歴情報は、ユーザが端末装置２を介して他のユーザとの間で行った対話や発話の内容や、情報処理装置１との間で行った対話や発話の内容に関する情報である。なお、ここでは、ユーザの発話履歴情報には、通知メッセージに対するユーザの応答メッセージは含まれない。
【００３５】
ユーザの検索履歴情報は、ユーザが端末装置２を介して行った検索によって入力された単語情報や、ユーザによりクリックされたコンテンツ情報、例えば、ユーザにクリックされた記事中の単語情報である。
【００３６】
ユーザの閲覧履歴情報は、ユーザが端末装置２によって閲覧したウェブページの情報や、ユーザの商品購入履歴に関する情報である。
【００３７】
また、受信部１０は、ネットワークＮを介して外部に設置されたサーバなどからデータを受信する。
【００３８】
記憶部３０は、対話モデル記憶部３１と、強化学習モデル記憶部３２と、単語記憶部３３とを備える。記憶部３０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【００３９】
対話モデル記憶部３１は、対話モデルを記憶する。対話モデルは、ネットワークＮを介して新たに取得され、更新されてもよい。
【００４０】
強化学習モデル記憶部３２は、キーワードを選択するための強化学習モデルを記憶する。強化学習モデルは、強化学習、例えば、Ｑ−ｌｅａｒｎｉｎｇにより生成され、学習される。
【００４１】
強化学習とは、或る状態に対して行動を与えた場合に、与えた行動によって将来的に得られる報酬が最大となるような行動を優先的に選択する学習方法である。状態に対し、様々な行動が試され、試された行動に応じた報酬を受け取ることで強化学習モデルが更新される。
【００４２】
実施形態に係る強化学習は、直近の行動履歴情報における単語集合を「状態」とし、キーワードを「行動」とし、キーワードに関する通知メッセージに対するユーザの応答を「報酬」として行われる。
【００４３】
例えば、通知メッセージに対してユーザの応答があった場合の報酬は、「＋１」である。また、例えば、通知メッセージに対してユーザの応答がなかった場合の報酬は、「０」である。また、例えば、通知メッセージに対して、ユーザが発話を行い、発話内容が通知メッセージに対して肯定的な内容であった場合の報酬は、「＋１」であり、否定的な内容であった場合の報酬は、「−１」である。また、通知メッセージに対して、所定回数以上の対話が続いた場合の報酬は、「＋５」である。所定回数は、予め設定された回数である。
【００４４】
直近の行動履歴情報とは、プッシュ通知を行う前、第１所定時間内の行動履歴情報である。第１所定時間は、予め設定された時間であり、例えば、２４時間、１週間である。
【００４５】
強化学習モデルでは、各キーワードに対する報酬の積算値であるスコアが付されており、プッシュ通知によるメッセージを生成する際に、直近の行動履歴情報によって抽出される単語であり、スコアが最も大きいキーワードが選択される。
【００４６】
なお、強化学習モデルにおけるスコアの初期値は、例えば、一般的なキーワードランキングや、或るキーワードについて応答を行うシステムにおけるユーザの応答率に基づいて設定される。例えば、ランキングが高いキーワードに対するスコアの初期値が大きくなる。
【００４７】
これにより、強化学習の初期段階でも、話題性が低いキーワードに関する通知メッセージが生成されることを抑制し、そのような通知メッセージがユーザの端末装置２へ送信されることを抑制することができる。
【００４８】
単語記憶部３３は、直近の行動履歴情報から、後述する解析部４１によって抽出された単語を一時的に記憶する。具体的には、単語記憶部３３は、解析部４１によって抽出された単語を第２所定時間記憶する。第２所定時間は、予め設定された時間であり、第１所定時間と同じ時間でもよく、第１所定時間よりも長い時間であってもよい。
【００４９】
処理部４０は、解析部４１と、選択部４２と、生成部４３と、学習部４４とを備える。
【００５０】
解析部４１は、通知メッセージに対するユーザの応答の有無を判定する。解析部４１は、通知メッセージに対して、第３所定時間内に応答、例えば、通知メッセージに対する端末装置２の操作情報、または応答メッセージを受信した場合には、通知メッセージに対するユーザの応答が有ったと判定する。また、解析部４１は、通知メッセージに対して、第３所定時間内に応答がない場合には、通知メッセージに対するユーザの応答が無かったと判定する。第３所定時間は、予め設定された時間である。
【００５１】
また、解析部４１は、通知メッセージに対して応答メッセージを受信した場合には、応答メッセージのテキストデータに対して、形態素解析等を用いて、応答メッセージを解析し、応答メッセージに含まれる単語群を抽出する。そして、解析部４１は、応答メッセージが通知メッセージに対して肯定的な内容であるか、否定的な内容であるかを特定する。
【００５２】
また、解析部４１は、ユーザの行動履歴情報から、行動履歴情報に含まれる単語を抽出する。例えば、ユーザが「昨日のサッカー楽しかったね」と発話した場合、解析部４１は、「昨日」、「サッカー」といった単語を抽出する。
【００５３】
選択部４２は、通知用情報に基づいてプッシュ通知を行うタイミングとなると、強化学習モデルを用いてキーワードを選択する。選択部４２は、強化学習モデルを用いて、単語記憶部３３に記憶された単語の中から、スコアが最も大きい単語をキーワードとして選択する。すなわち、選択部４２は、直近の行動履歴情報から抽出された単語の中から、強化学習モデルにおいて最もスコアが大きい単語をキーワードとして選択する。
【００５４】
例えば、強化学習により得られたスコアが、図４に示すスコアであり、単語記憶部３３に「スポーツ」、「サッカー」、および「野球」が記憶されている場合、選択部４２は、「サッカー」をキーワードとして選択する。図４は、スコアの一例を示す図である。
【００５５】
生成部４３は、選択部４２によって選択されたキーワードに基づいて、対話モデルを用いて、通知メッセージを生成する。すなわち、生成部４３は、強化学習モデルを用い、さらに対話モデルを用いて通知メッセージを生成する。生成部４３は、キーワードに対し、キーワードに関する自然文を通知メッセージとして生成する。
【００５６】
例えば、選択部４２によって選択されたキーワードが「サッカー」である場合、対話モデルを用いて「サッカーの試合結果知っていますか？」や、「日本代表の試合が○月○○日にあります」などとする通知メッセージを自動的に生成する。
【００５７】
なお、生成部４３は、対話モデルを用いて、キーワードに対して、複数の通知メッセージ候補を生成してもよい。この場合、生成部４３は、複数の通知メッセージ候補の中から所定の確率で通知メッセージを選択する。所定の確率は、予め設定された確率であり、例えば同一の確率である。
【００５８】
送信部２０は、ネットワークＮを介して、端末装置２や、音声合成サーバ４（図２参照）に、生成部４３によって生成された通知メッセージを、通知用情報に基づいて送信し、プッシュ通知する。
【００５９】
学習部４４は、通知メッセージに対するユーザの応答に基づいて、キーワードに対する報酬を与え、強化学習モデルを学習する。学習部４４は、過去に送信された通知メッセージに対するユーザの応答履歴に基づいて、強化学習モデルを学習する。
【００６０】
例えば、通知メッセージに対してユーザの応答が有った場合には、学習部４４は通知メッセージを生成した際に選択されたキーワードに報酬「＋１」を与え、強化学習モデルを学習する。また、通知メッセージに対してユーザの応答が無かった場合には、学習部４４は通知メッセージを生成した際に選択されたキーワードに報酬「０」を与え、強化学習モデルを学習する。また、通知メッセージに対して、所定回数以上の対話が続いた場合には、学習部４４は、通知メッセージを生成した際に選択されたキーワードに報酬「＋５」を与え、強化学習モデルを学習する。
【００６１】
[４．通知メッセージ生成処理]
次に、通知メッセージ生成処理について図５を参照し説明する。図５は、実施形態に係る通知メッセージ生成処理の一例を示すフローチャートである。
【００６２】
選択部４２は、通知用情報に基づいてプッシュ通知を行うタイミングとなると、単語記憶部３３に記憶された単語の中から、強化学習モデルを用いて、キーワードを選択する（ステップＳ１０）。
【００６３】
生成部４３は、選択部４２によって選択されたキーワードに基づいて、対話モデルを用いて通知メッセージを生成する（ステップＳ１１）。
【００６４】
送信部２０は、生成部４３によって生成された通知メッセージを、ユーザの端末装置２へ送信する（ステップＳ１２）。
【００６５】
受信部１０は、通知メッセージに対するユーザの応答を受信し（ステップＳ１３）、解析部４１は、ユーザの応答を解析する（ステップＳ１４）。
【００６６】
学習部４４は、通知メッセージに対するユーザの応答内容に基づいて、選択部４２によって選択されたキーワードに対して報酬を与え、スコアを更新し、強化学習モデルを学習する（ステップＳ１５）。
【００６７】
[５．変形例]
上記実施形態に加えて、以下の変形例を適用することも可能である。
【００６８】
上記実施形態では、強化学習モデルの「状態」を直近の行動履歴情報における単語集合とし、「行動」を単語集合の中の１つの単語としたキーワードとしたが、「行動」を別途用意されたキーワード集合から選択されたキーワードとしてもよい。
【００６９】
また、この場合、対話モデルは、キーワードに関連する文章から、通知メッセージを生成するモデルである。例えば、情報処理装置１が、ニュース記事について、プッシュ通知する場合には、対話モデルは、ニュース記事と、ニュース記事のサマリとを対として学習される。すなわち、この場合の対話モデルは、選択されたキーワードのニュースから、そのニュース記事のサマリを選択し、通知メッセージとして生成するモデルである。
【００７０】
なお、キーワードに関するニュースは、人気順に選択されてもよく、また、既存の推薦エンジンを用いて選択されてもよい。ニュース記事のサマリを通知メッセージとして通知することで、端末装置２の狭い通知領域に可読性を向上させた通知メッセージを表示させることができる。
【００７１】
選択部４２は、ユーザの行動履歴情報に応じて、別途用意されたキーワード集合から、強化学習モデルにおいて最もスコアが大きいキーワードを選択する。
【００７２】
生成部４３は、選択部４２によって選択された、キーワードに基づいて、対話モデルを用いて、通知メッセージを生成する。
【００７３】
例えば、ニュース記事で、「ヨシノリ、今季６度目の猛打賞で３割復帰！通算３０００安打で歴代２５位浮上！」があり、選択部４２によって、キーワードとして「野球」が選択された場合、生成部４３は、対話モデルにより、上記ニュース記事のサマリ「ヨシノリ「猛打賞」打率３割に！」を通知メッセージとして生成する。そして、送信部２０は、生成した通知メッセージをプッシュ通知する。
【００７４】
なお、対話モデルは、通知メッセージに特定のキーワード（例えば、「ヨシノリ」）が含まれるように学習されてもよい。
【００７５】
また、対話モデルの代わりに、ＲＮＮ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒモデルを用いてもよい。このＲＮＮ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒモデルは、ニュース記事をエンコード用のＲＮＮモデルで実数ベクトルに変換した後、そのベクトルを入力とするデコード用のＲＮＮモデルでニュース記事のサマリを通知メッセージとして生成するモデルである。
【００７６】
なお、「行動」を別途用意されたカテゴリー集合から選択されたカテゴリー、例えば、ニュース記事であれば、「野球」、「アイドル」、「株」などとしてもよい。
【００７７】
また、「行動」をツイッターなどから抽出されたバズワードとしてもよく、生成部４３は、対話モデルを用いて、ツイッターなどの盛り上がりのサマリを通知メッセージとして生成してもよい。
【００７８】
このように、情報処理装置１は、キーワード集合から選択されたキーワードに関連する通知メッセージを自動的に生成することができる。したがって、通知メッセージに対するユーザの満足度を向上させることができる。
【００７９】
上記実施形態では、強化学習モデルを用いてキーワードを選択したが、通知メッセージを生成する対話モデルを強化学習により選択してもよい。
【００８０】
情報処理装置１においては、対話モデル記憶部３１は、対話モデルを複数記憶し、選択部４２は、強化学習によって学習され、対話モデルを選択するための強化学習モデル（以下、強化対話モデルという。）を用いて、通話メッセージを選択する。すなわち、対話モデルが強化学習における「行動」となる。なお、強化対話モデルは、記憶部３０に記憶される。
【００８１】
対話モデル記憶部３１は、対話モデルの種類として、例えば、主に問いかけの通知メッセージを生成するモデルや、主に結果などを直接通知する通知メッセージを生成するモデルなどを記憶する。このような対話モデルは、モデルを生成する際の文章として、例えば、問いかけの内容の文章、および結果などを直接通知する内容の文章が用いられる。
【００８２】
生成部４３は、強化学習モデルによって選択したキーワードと、強化対話モデルによって選択された対話モデルとを用いて、通知メッセージを生成する。
【００８３】
情報処理装置１では、同じキーワードに対し、用いられる対話モデルに応じて異なる通知メッセージを生成することができる。
【００８４】
例えば、キーワードが「サッカー」である場合に、主に問いかけの通知メッセージを生成する対話モデルを用いると通知メッセージとして「サッカーの試合結果知っていますか？」が生成され、主に結果などを直接通知する対話モデルを用いると通知メッセージとして「○○チームは勝ちました！」が生成される。
【００８５】
学習部４４は、通知メッセージに対するユーザの応答に基づいて、キーワードに対して報酬を与えて強化学習モデルを学習し、さらに対話モデルに対して報酬を与えて強化対話モデルを学習する。
【００８６】
例えば、「サッカーの試合結果知っていますか？」の通知メッセージが、「○○チームは勝ちました！」の通知メッセージよりも、ユーザの応答率などが良い場合には、強化対話モデルでは、「サッカーの試合結果知っていますか？」を生成する対話モデルに対するスコアが大きくなる。
【００８７】
情報処理装置１は、キーワードに対し、ユーザの応答率などが良い通知メッセーを生成することができる。したがって、通知メッセージに対するユーザの満足度を向上させることができる。
【００８８】
なお、情報処理装置１は、他のユーザに通知メッセージを送信し、その応答に基づいて、対話モデルに報酬を与えてもよい。すなわち、情報処理装置１は、他のユーザの応答履歴情報に基づいて、強化対話モデルを学習してもよい。
【００８９】
これにより、情報処理装置１は、多くのユーザの応答率などが良い通知メッセージを生成することができる。
【００９０】
なお、選択部４２は、強化学習モデルによって選択されたキーワードを含め、強化対話モデルを用いて、対話モデルを選択してもよい。すなわち、選択部４２は、キーワード別、またはキーワードが属するカテゴリー別に対話モデルを選択してもよい。
【００９１】
これにより、情報処理装置１は、キーワードなどに応じて、ユーザの応答率などが良い通知メッセージを自動的に生成することができる。したがって、通知メッセージに対するユーザの満足度を向上させることができる。
【００９２】
また、上記変形例に加えて、以下の変形例を適用することが可能である。
【００９３】
対話モデルは、問いかけの内容の通知メッセージを生成するように学習されてもよい。
【００９４】
これにより、情報処理装置１は、ユーザの応答率を高くすることができる。
【００９５】
選択部４２は、キーワードとして、例えば、ツイッターなどで話題となっている単語をキーワードとして選択してもよい。
【００９６】
これにより、情報処理装置１は、通知メッセージを多様化させることができる。また、情報処理装置１は、新たなキーワードに関する通知メッセージに対してユーザの応答を得ることができ、得られた応答に基づいて強化学習モデルを学習することができる。
【００９７】
また、選択部４２は、周期的にキーワードのスコアを大きくしてもよい。例えば、オリンピックの開催年には、オリンピックに関するキーワードのスコアを大きくする。
【００９８】
これにより、情報処理装置１は、話題性のある通知メッセージを自動的に生成し、ユーザの端末装置２へ送信することができる。
【００９９】
また、学習部４４は、クラウドソーシングによって得られる文章に基づいて対話モデルを学習してもよい。
【０１００】
これにより、情報処理装置１は、通知メッセージを多様化させることができる。
【０１０１】
なお、学習部４４を情報処理装置１の外部の装置に設け、情報処理装置１は、異なる装置が生成した強化学習モデルを、ネットワークＮを介して受信部１０によって受信し、用いてもよい。
【０１０２】
また、情報処理装置１は、ゲーミフィケーションのシステムを適用しても良い。例えば、ユーザの応答回数を「ポイント」とし、応答回数が予め設定された値よりも大きくなると、「レベル」を高くする。そして、生成部４３は、レベルに応じて通知メッセージを変更する。例えば、レベルが高くなると、生成部４３は、より親密な通知メッセージ、例えば個人的な内容を通知メッセージとして生成する。また、情報処理装置１は、レベルが高くなると、プッシュ通知回数を増やしてもよい。なお、連続する対話回数や、応答内容が肯定的な場合には、ポイントを大きくしてもよい。
【０１０３】
これにより、ユーザと情報処理装置１との親密性を向上させ、通知メッセージに対するユーザの応答率を高くすることができる。
【０１０４】
また、通知用情報は、ユーザの行動履歴情報を含んでもよい。情報処理装置１は、ユーザの発話内容に基づいたタイミングで通知メッセージを生成し、ユーザの端末装置２に通知メッセージを送信する。
【０１０５】
例えば、ユーザが「休日にサッカーをした」と発話した場合に、情報処理装置１は、そのタイミングで、強化学習モデルを用いてキーワードとして「サッカー」を選択し、例えば、「サッカーといえば、オリンピックの試合は見た？」などと通知メッセージを生成し、通知メッセージをユーザの端末装置２へ送信する。
【０１０６】
これにより、情報処理装置１は、ユーザの行動履歴に基づいて、ユーザが興味を示すタイミングで、通知メッセージをユーザの端末装置２へ送信するとともに、ユーザとの自然な対話を行うことができる。
【０１０７】
また、通知用情報は、ユーザのコンテキストに基づくタイミングに関する情報であってもよい。コンテキストは、ユーザの属性情報や、ユーザの位置情報や、ユーザの運動状態情報などの情報である。
【０１０８】
例えば、情報処理装置１は、ユーザの端末装置２から得られる位置情報に基づいて、ユーザが帰宅したタイミングで、通知メッセージを送信する。
【０１０９】
これにより、情報処理装置１は、ユーザの応答率が高くなるタイミングで、通知メッセージを送信することができる。
【０１１０】
また、通知用情報は、ユーザの発話に対して応答するメッセージを送信するタイミングに関する情報であってもよい。
【０１１１】
この場合、生成部４３は、対話モデルとして、ユーザの発話を入力文とし、対応する通知メッセージを生成するＲＮＮ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒモデルを用いてもよい。このＲＮＮ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒモデルは、入力文をエンコード用のＲＮＮモデルで実数ベクトルに変換した後、そのベクトルを入力とするデコード用のＲＮＮモデルで出力文を生成するモデルである。生成部４３は、ＲＮＮ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒモデルを用いてキーワードを含む通知メッセージを生成する。
【０１１２】
例えば、ユーザの発話が「今日の話題は？」であり、キーワードが「サッカー」である場合に、生成部４３は、「今日の話題は？」を入力文として、ＲＮＮ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒモデルを用いて生成確率の高い順に通知メッセージ候補を生成する。通知メッセージ候補の生成には、ビーム探索などの近似解法を用いてもよい。
【０１１３】
そして、生成部４３は、生成した通知メッセージ候補の中で、キーワード「サッカー」を含むメッセージのみを選択し、さらにその中から生成確率が予め設定された閾値以上のメッセージを通知メッセージとして選択する。生成部４３は、例えば、複数の通知メッセージから所定の確率で通知メッセージを選択する。このようにして、生成部４３は、通知メッセージを生成してもよい。
【０１１４】
情報処理装置１は、ユーザの発話に対して応答するメッセージを、強化学習モデルを用いて自動的に生成することができる。
【０１１５】
また、行動履歴情報から抽出される単語や、キーワードを実数ベクトルで示す分散表現を用いてもよい。この場合、生成部４３は、強化学習モデルと対話モデルとを１つにした学習モデルを用いて、通知メッセージを生成してもよい。生成部４３は、キーワードの分散表現に対し、例えばコサイン類似度が高い分散表現の通知メッセージを選択し、通知メッセージを生成する。
【０１１６】
学習部４４は、キーワードにおける分散表現と、通知メッセージにおける分散表現とが、分散表現空間上で近くに存在するように学習モデルを学習する。学習モデルは、例えば、ＬＳＴＭ（Long  Short-Term  Memory）を備えたＲＮＮ（Recurrent  Neural  Network）の技術を用いて学習され、生成される。
【０１１７】
これにより、情報処理装置１は、例えば、ユーザの直近の行動履歴情報における単語に、強化学習モデルにおけるキーワードと一致する単語が無い場合でも、類似するキーワードに対して、通知メッセージを自動的に生成することができる。
【０１１８】
また、生成部４３は、言語モデルを用いて、通知メッセージを生成してもよい。言語モデルは、一般的なメッセージの出現率を統計的にまとめたモデルである。生成部４３によって、キーワードに基づいて複数の通知メッセージ候補が生成された場合には、言語モデルを用いて、一般的なメッセージとなる通知メッセージ候補が通知メッセージとして選択される確率を低くする。
【０１１９】
これにより、情報処理装置１は、一般的なメッセージが通知メッセージとして選択されることを抑制し、一般的なメッセージがユーザの端末装置２へ送信されることを抑制することができる。そのため、通知メッセージに対するユーザの満足度が低下することを抑制することができる。
【０１２０】
[６．効果]
情報処理装置１は、生成部４３と、送信部２０とを備える。生成部４３は、強化学習により学習された強化学習モデルを用いて、ユーザの端末装置２へ送信する通知メッセージを生成する。送信部２０は、通知用情報に基づいて、生成部４３によって生成された通知メッセージをユーザの端末装置２へ送信する。
【０１２１】
これにより、情報処理装置１は、ユーザの端末装置２へ送信する通知メッセージを、強化学習モデルを用いて自動的に生成することができる。また、情報処理装置１は、ユーザの応答率などが良い通知メッセージを自動的に生成することができる。
【０１２２】
学習部４４は、過去に送信された通知メッセージに対する応答履歴情報に基づいて、強化学習モデルを学習する。
【０１２３】
これにより、情報処理装置１は、ユーザの応答率などが良い通知メッセージを自動的に生成することができる。
【０１２４】
学習部４４は、過去に送信された通知メッセージに対するユーザの応答の有無に基づいて、強化学習モデルを学習する。
【０１２５】
これにより、情報処理装置１は、ユーザの応答、例えば、ユーザの応答率が高い通知メッセージを自動的に生成することができる。
【０１２６】
学習部４４は、過去に送信された通知メッセージに基づく対話回数に基づいて、強化学習モデルを学習する。
【０１２７】
これにより、情報処理装置１は、例えば、対話が続いた通知メッセージに関するキーワードのスコアを大きくし、ユーザの応答率などが良い通知メッセージを自動的に生成することができる。
【０１２８】
生成部４３は、強化学習モデルを用いて選択されたキーワードに基づいて、対話モデルを用いて通知メッセージを生成する。
【０１２９】
これにより、情報処理装置１は、キーワードに関する自然な文を通知メッセージとして自動的に生成することができる。
【０１３０】
学習部４４は、他のユーザの応答履歴に基づいて、強化学習により対話モデルを学習する。
【０１３１】
これにより、情報処理装置１は、ユーザの応答率などが良い通知メッセージを自動的に生成することができる。
【０１３２】
送信部２０は、ユーザのコンテキストに基づいて、通知メッセージを送信する。
【０１３３】
これにより、情報処理装置１は、通知メッセージに対するユーザの応答率を高くすることができる。
【０１３４】
送信部２０は、通知メッセージをユーザの端末装置２へプッシュ通知する。
【０１３５】
これにより、情報処理装置１は、例えば、端末装置２におけるニュースなどの通知機能を有するアプリケーションの利用率を向上させることができる。
【０１３６】
生成部４３は、直近の行動履歴情報から抽出される単語に対して、単語をキーワードとして選択する強化学習モデルを用いて、通知メッセージを生成する。
【０１３７】
これにより、情報処理装置１は、例えば、直近の行動履歴情報から抽出される単語と同一の単語がキーワードとして選択され、キーワードの単語と関連性が高い通知メッセージを、正確に生成することができる。
【０１３８】
生成部４３は、単語に対応したベクトルに対して、学習モデルを用いて、通知メッセージを生成する。
【０１３９】
これにより、情報処理装置１は、例えば、ユーザの直近の行動履歴情報における単語に、学習モデルにおけるキーワードと一致する単語が無い場合でも、類似するキーワードに対して、通知メッセージを生成することができる。
【０１４０】
[７．ハードウェアの構成]
上記してきた実施形態に係る情報処理装置１は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、情報処理装置１の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１４１】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１４２】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が決定したデータをネットワークＮを介して他の機器へ送信する。
【０１４３】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、決定したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１４４】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１４５】
例えば、コンピュータ１０００が実施形態に係る情報処理装置１として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、処理部４０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１４６】
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１４７】
[８．その他]
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１４８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１４９】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１５０】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部４３は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【０１５１】
１    情報処理装置
２    端末装置
１０  受信部
２０  送信部（通知部）
３０  記憶部
４０  処理部
４１  解析部
４２  選択部
４３  生成部
４４  学習部
【図１】
2018129068.tif 000003
【図２】
2018129068.tif 000004
【図３】
2018129068.tif 000005
【図４】
2018129068.tif 000006
【図５】
2018129068.tif 000007
【図６】
2018129068.tif 000008