(57)【要約】【課題】ユーザが、感情を予測するシステムを継続的に利用する確率を高める。【解決手段】感情推測方法は、コンピュータが実行する、ユーザの感情との関連性がある事象を示す複数の事象情報を取得するステップと、複数の事象情報に基づいてユーザの感情を推測するステップと、感情の推測結果とともに、ユーザが当該感情を有すると推測した理由を含む説明をユーザの携帯端末に通知するステップと、を有する。【選択図】図１
2019191937.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する、
ユーザの感情との関連性がある事象を示す複数の事象情報を取得するステップと、
前記複数の事象情報に基づいて前記ユーザの感情を推測するステップと、
前記感情の推測結果とともに、前記ユーザが当該感情を有すると推測した理由を含む説明を前記ユーザの携帯端末に通知するステップと、
を有する感情推測方法。
【請求項２】
前記複数の事象情報を取得するステップにおいて、前記複数の事象情報として、前記ユーザの携帯端末の状態を示す複数の端末状態情報と、前記ユーザがネットワークを介して投稿した複数の投稿情報とを取得する、
請求項１に記載の感情推測方法。
【請求項３】
前記ユーザの感情を推測するステップにおいて、前記複数の端末状態情報及び前記複数の投稿情報のうち、前記感情の推測結果との関連性が相対的に大きい一以上の前記端末状態情報及び前記投稿情報を選択し、
前記通知するステップにおいて、選択した前記一以上の前記端末状態情報及び前記投稿情報に基づく前記説明を前記ユーザの携帯端末に通知する、
請求項２に記載の感情推測方法。
【請求項４】
前記端末状態情報が示す前記携帯端末の状態が取得された時刻と、前記投稿情報が示すイベントが発生した時刻とに基づいて、前記端末状態情報と前記投稿情報とを同期化するステップと、
同期化した前記端末状態情報及び前記投稿情報を機械学習モデルに入力するステップと、
をさらに有し、
前記ユーザの感情を推測するステップにおいて、前記機械学習モデルから出力された結果に基づいて前記感情を推測する、
請求項３に記載の感情推測方法。
【請求項５】
前記機械学習モデルに入力するステップにおいて、前記感情を推測する時点より前の所定の期間内に取得された前記端末状態情報及び前記投稿情報を機械学習モデルに入力する、
請求項４に記載の感情推測方法。
【請求項６】
前記機械学習モデルが、前記感情の変化を特定する時間間隔として予め設定された再帰単位時間ごとに再帰する再帰型ニューラルネットワークであり、
前記機械学習モデルに入力するステップにおいて、連続する複数の前記再帰単位時間において同期化された前記端末状態情報及び前記投稿情報を前記機械学習モデルに順次入力する、
請求項４又は５に記載の感情推測方法。
【請求項７】
前記選択するステップにおいて、前記機械学習モデルを用いて前記感情を推測した後に、前記機械学習モデルにおける複数の伝搬路に割り当てられた複数の重み係数の大きさに基づいて、前記一以上の前記端末状態情報及び前記投稿情報を選択する、
請求項４から６のいずれか一項に記載の感情推測方法。
【請求項８】
前記通知するステップにおいて、選択した前記一以上の端末状態情報及び投稿情報により特定される前記ユーザの行動内容を示す前記説明を前記ユーザの携帯端末に通知する、
請求項４から７のいずれか一項に記載の感情推測方法。
【請求項９】
ユーザの感情との関連性がある事象を示す複数の事象情報を取得する情報取得部と、
前記複数の事象情報に基づいて前記ユーザの感情を推測する推測部と、
前記感情の推測結果とともに、前記ユーザが当該感情を有すると推測した理由を含む説明を前記ユーザの携帯端末に通知する通知部と、
を有する感情推測装置。
【請求項１０】
コンピュータに、
ユーザの感情との関連性がある事象を示す複数の事象情報を取得するステップと、
前記複数の事象情報に基づいて前記ユーザの感情を推測するステップと、
前記感情の推測結果とともに、前記ユーザが当該感情を有すると推測した理由を含む説明を前記ユーザの携帯端末に通知するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の感情を推測するための感情推測方法、感情推測装置及びプログラムに関する。
【背景技術】
【０００２】
従来、人の感情（ムード）を推測するシステムが知られている。非特許文献１には、システムを利用するユーザにカードゲームをさせた結果に基づいてユーザの感情を推測する方法が開示されている。非特許文献２には、ユーザがスマートフォンのアプリケーションソフトウェアを用いて記録した自分の行動等に基づいてユーザの感情を推測する方法が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】［online］、［平成３０年４月１日検索］、インターネット（URL: https://www.moodscope.com/about/how-it-works/how-does-moodscope-work）
【非特許文献２】［online］、［平成３０年４月１日検索］、インターネット（URL:http://papers.www2017.com.au.s3-website-ap-southeast-2.amazonaws.com/proceedings/p715.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のシステムを利用することで、ユーザは、システムが推測した感情の通知を受けることで、自身がどのような感情を抱いていたのかを把握することができる。しかしながら、ユーザが、システムから通知された結果に納得できない場合、ユーザはシステムを信頼できなくなり、システムを利用しなくなってしまうという問題があった。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、ユーザが、感情を予測するシステムを継続的に利用する確率を高めるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様の感情推測方法は、コンピュータが実行する、ユーザの感情との関連性がある事象を示す複数の事象情報を取得するステップと、前記複数の事象情報に基づいて前記ユーザの感情を推測するステップと、前記感情の推測結果とともに、前記ユーザが当該感情を有すると推測した理由を含む説明を前記ユーザの携帯端末に通知するステップと、を有する。
【０００７】
前記複数の事象情報を取得するステップにおいて、前記複数の事象情報として、前記ユーザの携帯端末の状態を示す複数の端末状態情報と、前記ユーザがネットワークを介して投稿した複数の投稿情報とを取得してもよい。
【０００８】
前記ユーザの感情を推測するステップにおいて、前記複数の端末状態情報及び前記複数の投稿情報のうち、前記感情の推測結果との関連性が相対的に大きい一以上の前記端末状態情報及び前記投稿情報を選択し、前記通知するステップにおいて、選択した前記一以上の前記端末状態情報及び前記投稿情報に基づく前記説明を前記ユーザの携帯端末に通知してもよい。
【０００９】
感情推測方法は、前記端末状態情報が示す前記携帯端末の状態が取得された時刻と、前記投稿情報が示すイベントが発生した時刻とに基づいて、前記端末状態情報と前記投稿情報とを同期化するステップと、同期化した前記端末状態情報及び前記投稿情報を機械学習モデルに入力するステップと、をさらに有し、前記ユーザの感情を推測するステップにおいて、前記機械学習モデルから出力された結果に基づいて前記感情を推測してもよい。
【００１０】
前記機械学習モデルに入力するステップにおいて、前記感情を推測する時点より前の所定の期間内に取得された前記端末状態情報及び前記投稿情報を機械学習モデルに入力してもよい。前記機械学習モデルが、前記感情の変化を特定する時間間隔として予め設定された再帰単位時間ごとに再帰する再帰型ニューラルネットワークであり、前記機械学習モデルに入力するステップにおいて、連続する複数の前記再帰単位時間において同期化された前記端末状態情報及び前記投稿情報を前記機械学習モデルに順次入力してもよい。
【００１１】
前記選択するステップにおいて、前記機械学習モデルを用いて前記感情を推測した後に、前記機械学習モデルにおける複数の伝搬路に割り当てられた複数の重み係数の大きさに基づいて、前記一以上の前記端末状態情報及び前記投稿情報を選択してもよい。
【００１２】
前記通知するステップにおいて、選択した前記一以上の端末状態情報及び投稿情報により特定される前記ユーザの行動内容を示す前記説明を前記ユーザの携帯端末に通知してもよい。
【００１３】
本発明の第２の態様の感情推測装置は、ユーザの感情との関連性がある事象を示す複数の事象情報を取得する情報取得部と、前記複数の事象情報に基づいて前記ユーザの感情を推測する推測部と、前記感情の推測結果とともに、前記ユーザが当該感情を有すると推測した理由を含む説明を前記ユーザの携帯端末に通知する通知部と、を有する。
【００１４】
本発明の第３の態様のプログラムは、コンピュータに、ユーザの感情との関連性がある事象を示す複数の事象情報を取得するステップと、前記複数の事象情報に基づいて前記ユーザの感情を推測するステップと、前記感情の推測結果とともに、前記ユーザが当該感情を有すると推測した理由を含む説明を前記ユーザの携帯端末に通知するステップと、を実行させる。
【発明の効果】
【００１５】
本発明によれば、ユーザが、感情を予測するシステムを継続的に利用する確率を高めることができる効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】感情推測システムの構成を示す図である。
【図２】情報取得部の詳細構成を示す図である。
【図３】ＲＮＮの詳細構成を示す図である。
【図４】ＬＲＰアルゴリズムについて説明するための図である。
【図５】データベースの概要を示す図である。
【図６】ワンホットエンコーダーモデルを用いてユーザの行動に関する説明を作成する手順を示す。
【図７】感情推測システムがカテゴリーベクターモデルを用いてユーザの行動に関する説明を作成する手順を示す。
【発明を実施するための形態】
【００１７】
［感情推測システムＳの構成及び動作］
図１は、感情推測システムＳの構成を示す図である。感情推測システムＳは、ユーザによる携帯端末の使用状況、及びソーシャルネットワークアカウントでの投稿等の行動状況に関するデータを収集し、収集したデータに基づいてユーザの感情を推測する。
【００１８】
感情推測システムＳは、ユーザの感情を推測するために、図１に示す（Ｃ１）〜（Ｃ９）の構成部を有する。具体的には、感情推測システムＳは、ＯＳＮ  ＡＰＩ（Ｃ１）（Online Social Network Application Programming Interface）、ＯＳＮクローラ（Ｃ２）、端末クローラ（Ｃ３）、情報取得部（Ｃ４）、推定部（Ｃ５）、関連性特定部（Ｃ６）、通知部（Ｃ７）、データベース（Ｃ８）、及び特徴クラウド（Ｃ９）を有する。
【００１９】
感情推測システムＳが有する構成部のうち、一部の構成部は、感情推測装置として機能するサーバにより実現されてもよい。例えば、感情推測装置として機能するサーバのプロセッサがプログラムを実行することにより、情報取得部（Ｃ４）、推定部（Ｃ５）、関連性特定部（Ｃ６）、通知部（Ｃ７）として機能する。
【００２０】
ＯＳＮ  ＡＰＩ（Ｃ１）は、ツイッター（登録商標）、インスタグラム（登録商標）、Ｆａｃｅｂｏｏｋ（登録商標）等のソーシャルネットワークサービス（以下、ＳＮＳという）のサーバにアクセスするためのインターフェースである。
【００２１】
ＯＳＮクローラ（Ｃ２）は、ＯＳＮ  ＡＰＩ（Ｃ１）を介して、ユーザがＳＮＳに投稿したテキスト及び画像等の投稿情報をＳＮＳのサーバから収集する。ＯＳＮクローラ（Ｃ２）は、例えばＯＡｕｔｈ１プロトコル又はＯＡｕｔｈ２プロトコルを使用して投稿情報を収集する。ＯＳＮクローラ（Ｃ２）は、収集した投稿情報を情報取得部（Ｃ４）に通知する。
【００２２】
端末クローラ（Ｃ３）は、例えばユーザのスマートフォン等の携帯端末にインストールされたソフトウェアであり、携帯端末が内蔵するセンサー等のデバイスから出力される信号に基づく端末状態情報を定期的に収集する。端末クローラ（Ｃ３）は、携帯端末がＷｉ−Ｆｉ（登録商標）等のネットワークに接続されている間に、収集した端末状態情報を情報取得部（Ｃ４）に送信する。端末状態情報は、例えば、通話ログ、メール送信ログ、ショートメッセージ送信ログ、位置情報、又は動き情報のように、ユーザの行為に関連する任意の情報である。端末状態情報は、温度情報、湿度情報、明るさ情報のように、ユーザが置かれた環境を示す情報であってもよい。
【００２３】
情報取得部（Ｃ４）は、ユーザの感情との関連性がある事象を示す複数の事象情報を取得する。情報取得部（Ｃ４）は、複数の事象情報として、ユーザがネットワークを介して投稿した複数の投稿情報をＯＳＮクローラ（Ｃ２）から取得し、ユーザの携帯端末の状態を示す複数の端末状態情報を端末クローラ（Ｃ３）から取得し、取得した情報を集計する。投稿情報は散発的に発生するテキスト情報又は画像情報であるのに対して、端末状態情報は、投稿情報よりも高い頻度で発生する数値情報である。そこで、それぞれ性質が異なるこれらの情報を集計するために、情報取得部（Ｃ４）は、ＯＳＮ情報解析部４１と、端末情報解析部４２と、同期部４３とを有する。
【００２４】
図２は、情報取得部（Ｃ４）の詳細構成を示す図である。
ＯＳＮ情報解析部４１は、投稿情報に含まれる時間に関連する用語に基づいてテキスト解析して、ユーザのそれぞれの投稿内容が示しているイベントが行われた日時や場所を特定する。ＯＳＮ情報解析部４１は、特定した日時や場所と投稿内容とを関連付けて同期部４３に入力する。
【００２５】
端末情報解析部４２は、端末クローラ（Ｃ３）から入力された端末状態情報が取得された日時及び場所に関連付けて、端末の各種の状態を特定する。端末情報解析部４２は、例えば、携帯端末に内蔵されたＧＰＳ（Global Positioning System）センサーを介して特定された緯度・経度情報に基づいて、端末状態情報が取得された場所を特定する。端末情報解析部４２は、携帯端末に内蔵された各種のセンサーに基づいてユーザの動きを特定したり、通話相手・通話日時・通話位置を特定したりする。端末情報解析部４２は、特定した日時や場所と端末の状態とを関連付けて同期部４３に入力する。
【００２６】
同期部４３は、端末情報解析部４２から入力された端末状態情報が示す携帯端末の状態が取得された時刻と、ＯＳＮ情報解析部４１から入力された投稿情報が示すイベントが発生した時刻とに基づいて、端末状態情報と投稿情報とを同期化する。具体的には、同期部４３は、投稿情報により特定されたイベントと、当該イベントが行われた日時における端末の状態とを関連付ける。
【００２７】
同期部４３は、同期化した端末状態情報及び投稿情報を機械学習モデルに入力する。同期部４３は、例えば、端末状態情報及び投稿情報を機械学習モデルに入力する前に、ユーザが自宅にいたこと、仕事をしていたこと、野球を見に行っていたこと、食事をしていたこと等を特定し、特定したユーザの行動を示す情報を、機械学習モデルを有する推測部（Ｃ５）に通知する。同期部４３は、特定した行動をカテゴリー化し、行動のカテゴリーを推測部（Ｃ５）に通知してもよい。
【００２８】
推測部（Ｃ５）は、複数の事象情報に基づいてユーザの感情を推測する。推測部（Ｃ５）は、同期部４３から入力されたユーザの行動を示す情報を機械学習モデルに入力し、機械学習モデルから出力された結果に基づいて感情を推測するに基づいて、ユーザの感情を推測する。機械学習モデルは、例えば、予めユーザの行動と感情との関係を学習した再帰型ニューラルネットワーク（以下、ＲＮＮ（Recurrent Neural Networks）という）である。
【００２９】
推測部（Ｃ５）は、感情を推測する時点より前の所定の期間内に取得された端末状態情報及び投稿情報を機械学習モデルに入力する。所定の期間は、例えば、感情推測システムＳの管理者又はユーザにより設定された期間であり、ユーザの感情に影響が及ぶと考えられる過去の期間である。推測部（Ｃ５）は、連続する複数の再帰単位時間ごとに、同期化された端末状態情報及び投稿情報を機械学習モデルに順次入力する。
【００３０】
推測部（Ｃ５）は、エンベッド層５１及びＲＮＮ５２を有する。エンベッド層５１は、同期部４３から入力されたユーザの行動の内容を数値化することにより、ＲＮＮ５２がユーザの行動に基づいてユーザの感情を推測できるようにする。エンベッド層５１は、例えばワンホットエンコーダーモデル（ＯＨＥ：One-Hot Encoder）又はカテゴリーベクターモデル（Cat2Vec）を使用することにより、ユーザの行動の内容を数値化する。
【００３１】
図３は、ＲＮＮ５２の詳細構成を示す図である。ＲＮＮ５２は、感情の変化を特定する時間間隔として予め設定された再帰単位時間ごとに再帰する再帰型ニューラルネットワークである。ユーザは、リアルタイムでＳＮＳに投稿せず、一日ごとに投稿する場合も多いので、再帰単位時間は、例えば１日であることが望ましいが、ユーザが投稿するタイミングの傾向を示す投稿特性に基づいて再帰単位時間が設定されていてもよい。
【００３２】
図３に示すように、ＲＮＮ５２は、再帰単位時間ごとに割り当てられた複数のＲＮＮセル（ニューロン）を有する。少なくとも一部のＲＮＮセルは、ＬＳＴＭ（Long Short-Term Memory）層であってもよい。図３に示す例においては、ユーザの感情の推測に１日目からｔ日目（ｔは整数）までの間に取得された投稿情報及び端末状態情報に基づいて情報取得部（Ｃ４）が特定したユーザの行動を示す情報が、日ごとに割り当てられたＲＮＮセルを含む層に入力される。推測部（Ｃ５）は、複数のＲＮＮセルに入力されたユーザの行動を示す情報を、複数の層間で伝搬させることにより、ユーザの感情を推測する。
【００３３】
なお、ＲＮＮ５２がユーザの感情を推測できるようにするために、ユーザの携帯端末にインストールされたアプリケーションソフトウェアは、所定の学習期間において、再帰単位時間に対応する時間間隔（例えば１日間隔）で、ユーザが抱いている感情を取得する。具体的には、アプリケーションソフトウェアは、感情を入力又は選択する画面をディスプレイに表示し、ユーザが入力又は選択した感情を示す情報（以下、感情情報という）をメモリに記憶させる。アプリケーションソフトウェアは、感情情報を取得した日に関連付けて、取得した感情情報を推測部（Ｃ５）に通知する。
【００３４】
推測部（Ｃ５）は、所定の学習期間において、通知された感情情報と、同期部４３から入力された投稿情報及び端末状態情報に基づいて特定されたユーザの行動を示す情報とに基づいて学習し、各ユーザ用の学習モデルを作成する。学習期間が終了すると、アプリケーションソフトウェアは、ユーザが感情を入力又は選択する画面の表示を終了し、ＲＮＮ５２は、複数のＲＮＮセルに入力されたユーザの行動を示す情報に基づいて、ユーザの感情を推測する。このようにすることで、ＲＮＮ５２は、ユーザが情報を入力する手間をかけることなくユーザの感情を推測することができる。ＲＮＮ５２は、感情の推測結果を関連性特定部（Ｃ６）及び通知部（Ｃ７）に入力する。
【００３５】
なお、ＲＮＮ５２は、学習期間を短縮するために、学習モデルを作成する対象となるユーザの感情情報が十分に収集されるまでの間、感情推測システムＳが感情を推測する対象となる他のユーザの投稿情報及び端末状態情報と感情情報とを使用してもよい。ＲＮＮ５２は、複数の層のうち、入力層に近い層の学習に他のユーザの感情情報を使用し、出力層に近い層の学習には、学習モデルを作成する対象となるユーザ自身の感情情報を使用するようにしてもよい。このようにすることで、精度の高い学習モデルを短期間で作成することができる。
【００３６】
関連性特定部（Ｃ６）は、推測部（Ｃ５）が機械学習モデルを用いて感情を推測した後に、機械学習モデルにおける複数の伝搬路に割り当てられた複数の重み係数の大きさに基づいて、一以上の端末状態情報及び投稿情報を選択する。具体的には、関連性特定部（Ｃ６）は、複数の端末状態情報及び複数の投稿情報のうち、ＲＮＮ５２による感情の推測結果との関連性が相対的に大きい一以上の端末状態情報及び投稿情報を選択する。関連性特定部（Ｃ６）は、関連性が大きい端末状態情報及び投稿情報を選択するために、例えばＬＲＰ（Layer-wise Relevance Propagation）アルゴリズムを使用する。
【００３７】
図４は、ＬＲＰアルゴリズムについて説明するための図である。図４（ａ）に示すように、ＲＮＮ５２にデータＸが入力され、ＲＮＮ５２からＦ（ｘ）が出力されたとする。この場合、ＲＮＮ５２の内部処理は以下のように表される。
【数１】
2019191937.tif 000003
上記の式において、Ｒｉは、各ニューロンとユーザの感情の推測結果との関連性の大きさを示す値である。
【００３８】
ここで、図４（ｂ）に示すように、ＲＮＮ５２にＦ（ｘ）を入力し、入力したＦ（ｘ）を逆方向に伝搬させる場合、以下の式により、感情の推定結果に対する各ニューロンの関連性を算出することができる。
【数２】
2019191937.tif 000004
【００３９】
このようにして得られる値が大きなニューロンに対応するユーザの行動は、感情の推定結果との関連性が大きいといえる。例えば、図４（ｂ）に示す例において、黒丸で示すニューロンの関連性が大きい場合、関連性特定部（Ｃ６）は、ｆ３で示されるユーザの行動と感情の推定結果との関連性が大きいと特定する。
【００４０】
通知部（Ｃ７）は、感情の推測結果とともに、当該感情を有すると推測した理由を含む説明をユーザの携帯端末に通知する。通知部（Ｃ７）は、例えば、関連性特定部（Ｃ６）が選択した一以上の端末状態情報及び投稿情報により特定されるユーザの行動内容を示す説明をユーザの携帯端末に通知する。通知部（Ｃ７）は、ユーザに通知する説明を作成するために、推測部（Ｃ５）から入力された感情の推測結果をデコードすることにより、ユーザの感情を特定するとともに、関連性特定部（Ｃ６）から入力された関連性が大きいユーザの行動に基づいて、特定した感情との関連性が大きいユーザの行動を特定する。
【００４１】
具体的には、通知部（Ｃ７）は、デコード部７１及び集計部７２を有している。デコード部７１は、推測部（Ｃ５）から入力された感情の推測結果をデコードして特定したユーザの感情を集計部７２に通知する。
【００４２】
集計部７２は、ユーザの感情の推測結果との関連性が大きいユーザの行動を特定し、感情の推測結果とともに、推測結果との関連性が大きいユーザの行動に関する説明を作成する。集計部７２は、作成した説明をユーザの携帯端末に通知する。集計部７２は、例えば、各感情種別に関連付けられた条件のうち、感情との関連性が大きい上位Ｎ個（Ｎは整数）を選択し、選択した一以上の端末状態情報及び投稿情報に基づく説明をユーザの携帯端末に通知する。集計部７２は、作成した説明をデータベース（Ｃ８）に登録してもよい。
【００４３】
ユーザの行動に関する説明は、例えば、「いつ」、「どこで」、「誰と」、「何を」ユーザが行っていたかを示すテキスト情報を含む。ユーザは、これらの説明を読むことにより、推測結果の妥当性を確認するとともに、どのような行動をすることが良い感情を抱くことにつながるかを認識することが可能になる。
【００４４】
データベース（Ｃ８）は、ユーザの感情を記憶している。図５はデータベース（Ｃ８）の概要を示す図である。データベース（Ｃ８）は、感情種別（ポジティブ、ネガティブ、中間）に関連付けて、各感情が生じた条件を記憶している。具体的には、データベース（Ｃ８）は、感情種別ごとに、ユーザが「いつ」、「どこで」、「誰と」、「何を」行っていたかを記憶している。データベース（Ｃ８）は、各感情種別に関連付けられた条件のうち、感情との関連性が大きい上位Ｎ個（Ｎは整数）を選択し、選択した条件を特徴クラウド（Ｃ９）に通知する。
【００４５】
特徴クラウド（Ｃ９）は、ユーザが任意の場所からアクセスできるサーバであり、ユーザは、自身の携帯端末等を用いて特徴クラウド（Ｃ９）にアクセスすることにより、自身がどのような感情を抱いていたかを認識することができる。
【００４６】
［ユーザへの説明を作成する手順］
図６及び図７は、感情の推測結果と関連性の大きいユーザの行動に関する説明を作成する手順を説明するための図である。図６は、ワンホットエンコーダーモデルを用いてユーザの行動に関する説明を作成する手順を示す。
【００４７】
図６においては、ＲＮＮに入力される特徴として、特徴ｆ１及び特徴ｆ２が示されているが、他の多数の特徴も入力される。ＲＮＮに入力される特徴は、例えばユーザが行動した日時に関する特徴、場所に関する特徴、行動した内容に関する特徴、共に行動した人に関する特徴等である。
【００４８】
ワンホットエンコーダー（ＯＨＥ）は、特徴が示す数値を２値化する。図６に示す例において、ＯＨＥは、特徴ｆ１及び特徴ｆ２が示す２値データとして、０００１０１００を生成し、生成したデータをＲＮＮに入力している。
【００４９】
続いて、ＲＮＮから出力されたデータを、ＬＲＰを用いて逆伝搬処理を行うことにより、それぞれの特徴に対する関連性スコア（ＲＳ）を算出する。図６に示す例においては、特徴ｆ１に対応するＲＳ５と特徴ｆ２に対応するＲＳ８とが相対的に高いスコアを示しているものとする。
【００５０】
ＲＮＮが特徴ｆ１及び特徴ｆ２に対して相対的に高いスコアを示している原因を特定するために、最大値を出力する入力の値を示すＡｒｇｍａｘ関数とともにワンホットエンコーダが使用される。このデコーダの出力の多くは０に近い数値であり、関連性スコアの出力結果との関連性が大きい一つのカテゴリーに対応する数値だけが１に近い値を示す。図６に示す例においては、特徴ｆ１におけるカテゴリー４に対応する値が相対的に大きく、特徴ｆ２におけるカテゴリー１に対応する値が相対的に大きい。この結果を集計部７２が集計することにより、ユーザへの説明を生成することができる。
【００５１】
ところで、ワンホットエンコーダにより生成されたベクトルは高次元であり低密度である。したがって、大きなデータセットにおいては、ワンホットデンコーダを用いることが効率的とはいえない。さらに、ワンホットデンコーダは、特徴間の相関を考慮することができない。このような問題を解決するために、エンティティエンベディングを実行するカテゴリーベクターモデルを使用することが好ましい。
【００５２】
図７は、感情推測システムＳがカテゴリーベクターモデルを用いてユーザの行動に関する説明を作成する手順を示す。この方法を用いることで、感情推測システムＳは、入力ベクターのサイズを小さくすることが可能になるとともに、カテゴリーを越えて、感情の推測結果との関連性が高い特徴を示すことが可能になる。
【００５３】
感情推測システムＳは、潜在ベクトルを生成するために、それぞれの特徴に何個の潜在ベクトルを割り当てるかを決定する必要があるが、例えば学習期間中に、潜在ベクトルの数を決定することができる。感情推測システムＳは、学習期間中に行った学習の結果に基づいて、多次元空間内で、どのカテゴリーが他のカテゴリーに類似するかを探索し、感情に対応する何個の潜在ベクトルが存在するかを特定することができる。
【００５４】
ＲＮＮにより推定された結果との関連性が高い特徴を特定するために、感情推測システムＳは、ＬＲＰとともに、データを撹乱（perturb）してから、次元削減アルゴリズムの逆関数を実行する。このようにすることにより、ＲＮＮにより推定された結果との関連性が高い特徴を特定することができる。
【００５５】
以下、次元削減アルゴリズムの逆関数について説明する。次元を減らすための線形技術として、主成分分析（ＰＣＡ：Principal Component Analysis）が用いられる。主成分分析において、感情推測システムＳは、低次元で表される場合のデータの分散が最大化するように、データを低次元空間にマッピングする。続いて、感情推測システムＳは、データの共分散行列を生成し、この行列の固有ベクトルを算出する。
【００５６】
感情推測システムＳは、最も大きな固有値（主成分）に対応する固有ベクトルを、元データにおいて分散が最も大きな部分を再構築するために用いる。感情推測システムＳは、一以上の固有ベクトルを用いることにより、元空間を、固有ベクトルによって伸長された空間に絞り込むことができる。
【００５７】
ここで、元のＸがｎ行／ｐ列のデータ行列であるとする。平均ベクトルμを各行から減算することにより、中心化されたデータ行列Ｘを得ることができる。さらに、Ｖが、使用するｋ個の固有ベクトルに対応するｐ行／ｋ列のデータ行列であるとする。ｋ個の固有ベクトルは、相対的に大きな固有ベクトルであることが好ましい。
【００５８】
この場合、ＰＣＡ投射のｎ行／ｋ列の行列は、単にＺ＝ＸＶにより求められる。元データを再構築できるようにするために、行列Ｖの転置行列ＶＴを用いることにより、行列Ｚをｐ次元に変換する。その結果、Ｘ＾＝ＺＶＴ＝ＸＶＶＴとなる。
【００５９】
感情推測システムＳは、さらに平均ベクトルμを加算することにより、ＰＣスコア×固有ベクトルの転置行列＋平均ベクトルμとして、最終的なＰＣＡ再構築値（元のＸ）を得ることができる。
【００６０】
［感情推測システムＳによる効果］
以上説明したように、感情推測システムＳは、ユーザの感情との関連性がある事象を示す複数の事象情報を取得し、取得した複数の事象情報に基づいてユーザの感情を推測する。そして、感情推測システムＳは、ユーザの感情の推測結果とともに、ユーザが当該感情を有すると推測した理由を含む説明をユーザの携帯端末に通知する。このようにすることで、ユーザは、感情推測システムＳが推測した理由を把握できるので、ユーザが想定していた自身の感情と異なる推測結果が通知されたとしても、感情推測システムＳの推測結果に納得しやすくなる。その結果、ユーザが感情推測システムＳにより提供されるサービスを継続的に利用する可能性が高まる。
【００６１】
また、感情推測システムＳは、ユーザの感情との関連性がある事象として、ユーザの携帯端末の状態、及びユーザによるＳＮＳへの投稿内容を利用する。したがって、ＲＮＮの学習期間が終了すると、従来の技術のように、ユーザが定期的に自身の行動を入力する作業を行う必要がないのでユーザの負担が少なく、この点からも、ユーザが感情推測システムＳにより提供されるサービスを継続的に利用する確率が高まる。
【００６２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【符号の説明】
【００６３】
Ｃ１  ＯＳＮ  ＡＰＩ
Ｃ２  ＯＳＮクローラ
Ｃ３  端末クローラ
Ｃ４  情報取得部
Ｃ５  推定部
Ｃ６  関連性特定部
Ｃ７  通知部
Ｃ８  データベース
Ｃ９  特徴クラウド
４１  ＯＳＮ情報解析部
４２  端末情報解析部
４３  同期部
５１  エンベッド層
７１  デコード部
７２  集計部
【図１】
2019191937.tif 000005
【図２】
2019191937.tif 000006
【図３】
2019191937.tif 000007
【図４】
2019191937.tif 000008
【図５】
2019191937.tif 000009
【図６】
2019191937.tif 000010
【図７】
2019191937.tif 000011