【文献】
矢倉 大夢、外2名,作業用BGMに特化した音楽推薦システム,情報処理学会 研究報告 音楽情報科学(MUS) 2016−MUS−112,日本,情報処理学会,2016年 7月23日,p.1−10
【文献】
畑中 衛、外5名,SNSを用いた視覚的日記自動生成システム「Feeling Diary」,情報処理学会 研究報告 ゲーム情報学(GI) 2016−GI−36,日本,情報処理学会,2016年 7月29日,p.1−6
(58)【調査した分野】(Int.Cl.,DB名)
前記選択部は、過去に選択した前記推奨楽曲を前記ユーザが聞いた時のフィードバックに基づいて推定された前記ユーザの嗜好性に基づいて新たな前記推奨楽曲を選択する、
請求項1から5のいずれか一項に記載の楽曲選択装置。
前記ユーザの嗜好性の探索が終了した後に、過去に選択した前記推奨楽曲を前記ユーザが聞いた時のフィードバックに基づいて前記ユーザの嗜好性の変化を監視する検出部を更に備え、
前記選択部は、嗜好性が変化したことを前記検出部において検出した場合、前記ユーザの嗜好性の探索を再開する、
請求項1から6のいずれか一項に記載の楽曲選択装置。
【発明を実施するための形態】
【0016】
[楽曲選択システムSの概要]
図1は、本実施の形態に係る楽曲選択システムSの構成を示す図である。楽曲選択システムSは、ユーザの嗜好に合う楽曲を選択するためのシステムである。楽曲選択システムSは、複数の通信端末100、楽曲選択装置200及び複数のソーシャルネットワークサーバ300を備える。複数の通信端末100、楽曲選択装置200及び複数のソーシャルネットワークサーバ300は、インターネット等のネットワークNを介して互いに接続されている。
【0017】
通信端末100は、ネットワークNを介してソーシャルネットワークサーバ300に投稿メッセージ又は投稿画像を投稿するために用いられる装置であり、例えばスマートフォン又はタブレットである。ソーシャルネットワークサービスは、例えば、ツイッター(登録商標)、LiveJournalである。通信端末100は、Fitbit(登録商標)のようなウェアラブルデバイスであってもよい。この場合、通信端末100は、ユーザの運動量を計測し、計測した運動量をFitbitのWEBサーバ又はFitbitに連携するソーシャルネットワークサーバ300等に送信する。
【0018】
通信端末100は、ユーザのソーシャルネットワークのアカウントに関連付けられたユーザデータをソーシャルネットワークサーバ300から取得する(図中の(1))。ユーザデータは、例えば、ユーザが投稿した投稿メッセージ、投稿画像又はFitbitのサーバが管理するユーザの運動量データである。通信端末100は、複数のソーシャルネットワークサーバ300からユーザデータをそれぞれ取得してもよい。通信端末100は、ネットワークNを介して、取得したユーザデータを楽曲選択装置200へ送信する。
【0019】
楽曲選択装置200は、ユーザの嗜好に合う楽曲をユーザに推奨する。より詳しくは、楽曲選択装置200は、通信端末100から取得したユーザデータを分析することにより、ユーザの感情を予測する(図中の(2))。楽曲選択装置200は、予測したユーザの感情にマッチングする楽曲をユーザの嗜好に合う楽曲として選択する。楽曲選択装置200は、選択した楽曲をユーザに推奨する(図中の(3))。
【0020】
楽曲選択装置200は、推奨した楽曲についてのユーザの評価を示すフィードバックを取得する(図中の(4))。例えば、楽曲選択装置200は、楽曲を推奨した後にユーザがソーシャルネットワークサーバ300に投稿したユーザデータを分析することにより、推奨した楽曲についてのユーザのフィードバックを取得する。
【0021】
このように、楽曲選択システムSにおいては、楽曲選択装置200が、ユーザの投稿メッセージ又は投稿画像に基づいてユーザの感情を推定し、推定した感情に合う楽曲をユーザに推奨する。したがって、ユーザの手を煩わせることなく、ユーザが、聞きたい楽曲を聞くことができるようになるので、ユーザの満足度を高めることができる。
【0022】
[楽曲選択装置200の構成]
図2は、楽曲選択装置200の構成を示す図である。楽曲選択装置200は、通信部201、記憶部202及び制御部203を備える。通信部201は、ネットワークNを介して、通信端末100及びソーシャルネットワークサーバ300と通信するための通信インターフェースである。記憶部202は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の記憶媒体である。
【0023】
記憶部202は、制御部203が実行するプログラムを記憶している。また、記憶部202は、ユーザの感情を推定したり、ユーザに楽曲を推奨したりするために用いられる各種のデータを記憶している。記憶部202が記憶している各種のデータの詳細については後述する。
【0024】
制御部203は、例えばCPU(Central Processing Unit)である。制御部203は、記憶部202に記憶されたプログラムを実行することにより、収集部1、感情推定部2、推奨部3として機能する。収集部1は、通信部201を介して、ユーザデータを取得し、ユーザデータにおける投稿メッセージをポジティブ、ネガティブ及び中立の感情に分類する。収集部1は、データ取得部11及び特徴抽出部12を有する。
【0025】
データ取得部11は、通信部201を介して、ソーシャルネットワークサーバ300においてユーザのアカウントに関連付けられたユーザデータを通信端末100から取得する。アカウントは、例えば、ソーシャルネットワークのユーザIDである。データ取得部11は、過去のユーザデータとして、例えば、直近3年間のユーザデータを取得する。また、データ取得部11は、通信端末100又はソーシャルネットワークサーバ300からその後に追加されたユーザデータを定期的に取得する。例えば、データ取得部11は、その後に追加されたユーザデータを毎日取得する。
【0026】
特徴抽出部12は、データ取得部11が取得したユーザデータにおける投稿メッセージから感情を示す特徴を抽出する。特徴抽出部12は、通信端末100のユーザがソーシャルネットワークサーバ300に投稿した投稿メッセージ等に示される言語的特徴と、通信端末100のユーザがソーシャルネットワークサーバ300に投稿した写真等の投稿画像に示される非言語的特徴とをユーザデータから抽出する。特徴抽出部12は、投稿メッセージ及び投稿画像から、ユーザの感情との相関性があると考えられる、ネット上の特徴、ソーシャルの特徴、及び身体的特徴を抽出する。以下、特徴抽出部12が抽出する各種の特徴について説明する。
【0027】
(ネット上の特徴)
特徴抽出部12は、ユーザデータにおいて、投稿メッセージを検索するための検索用タグの数を抽出する。検索用タグは、例えばソーシャルネットワークサービスがツイッターである場合におけるハッシュタグである。また、特徴抽出部12は、他のユーザが投稿メッセージをお気に入りに指定した1日当たりの数又は投稿画像の数を抽出する。特徴抽出部12は、ソーシャルネットワークサービスがツイッターの場合には、ツイッター以外のアプリケーションで生成されたツイートの数を抽出する。
【0028】
特徴抽出部12は、ユーザが投稿メッセージ又は投稿画像を投稿した曜日を抽出する。例えば、特徴抽出部12は、ユーザが投稿メッセージ又は投稿画像を投稿した曜日が月曜日から金曜日までの平日であるか、土曜日又は日曜日の休日であるかを抽出する。
【0029】
特徴抽出部12は、所定期間における積極的行動の数と、受動的行動の数とを計数する。所定期間は、ユーザの感情を統計的に推定するための期間であり、例えば、3日間である。積極的行動は、投稿メッセージを投稿することである。受動的行動は、自分又は他のユーザが過去に投稿した投稿メッセージを再投稿することである。特徴抽出部12は、積極的行動の数と受動的行動の数との合計に対する積極的行動の数の割合を抽出する。
【0030】
(ソーシャルの特徴)
投稿メッセージの数が多いユーザは、感情のポジティブ度が高い傾向がある。そこで、特徴抽出部12は、1日当たりの投稿メッセージの数を抽出する。また、他のユーザに言及している投稿メッセージ(例えばツイッターにおけるメンション)の数が多い方が、感情のポジティブ度が高い傾向がある。そこで、特徴抽出部12は、ユーザデータにおいて、所定期間において投稿した投稿メッセージにおける他のユーザに言及した数を抽出する。所定期間は、ユーザの感情を統計的に推定するための期間である。この場合、投稿メッセージにおける他のユーザに言及した数は、一の他のユーザに言及した数であってもよく、複数の他のユーザに言及した数の合計であってもよい。
【0031】
また、ユーザが特定のユーザについて言及している場合に、ユーザの感情におけるポジティブ度が高くなる傾向がある。そこで、特徴抽出部12は、投稿メッセージにおいてユーザが特定の他のユーザに言及した場合におけるユーザの感情を、同じ投稿メッセージから抽出した特徴により予測し、予測した感情を、ユーザが言及した他のユーザに関連付けて記憶部202に記憶する。特徴抽出部12は、記憶した他のユーザが再度言及された投稿メッセージをデータ取得部11が取得した場合に、記憶部202に記憶されている感情に関連付けられた特徴として、言及された他のユーザを抽出する。
【0032】
例えば、特徴抽出部12は、「○○さんに会ってよかった」という投稿メッセージを抽出した場合に、「よかった」という文字列からユーザの感情が「ポジティブ」であると予測する。このとき、特徴抽出部12は、他のユーザ「○○」を感情「ポジティブ」に関連付けて記憶する。特徴抽出部12は、次以降に「○○さんに会った」という投稿メッセージをデータ取得部11において取得した場合に、他のユーザ「○○」を感情「ポジティブ」に関連付けた特徴として抽出する。
【0033】
(身体的特徴)
特徴抽出部12は、データ取得部11が取得したユーザデータにおいて投稿メッセージに位置情報が関連付けられている場合には、位置情報が示す位置を同じ投稿メッセージにおいて示された感情に関連付けて記憶部202に記憶させる。位置情報は、例えば、GPS(Global Positioning System)情報である。
【0034】
例えば、特徴抽出部12は、△△市を示す位置情報に「空気がきれいでリフレッシュできた」というメッセージが関連付けられている場合に、「リフレッシュ」という文字列からユーザがポジティブな感情であると予測し、△△市を示す位置情報をポジティブな感情に関連付けて記憶部202に記憶させる。特徴抽出部12は、次以降に△△市を示す位置情報を含む投稿メッセージ又は投稿画像をデータ取得部11において取得した場合に、記憶部202を参照して、ポジティブな感情に関連付けた特徴としてこの位置情報を抽出する。
【0035】
また、ユーザは、一のソーシャルネットワークサービス上の投稿を他のソーシャルネットワークサービスにおいて共有した場合、ポジティブ度が高い傾向にある。そこで、特徴抽出部12は、ソーシャルネットワークサービスにおいてユーザが運動した運動量を公開した投稿の数を抽出する。例えば、特徴抽出部12は、ソーシャルネットワークがツイッターである場合に、Fitbitが計測したユーザの運動量がツイッターに投稿された数を抽出する。
【0036】
また、ユーザが運動した後に、運動する前よりもポジティブ度が高い傾向にある。そこで、特徴抽出部12は、ユーザが歩いた歩数を示すユーザデータを取得した場合に、ユーザデータから歩数を抽出する。
【0037】
[ユーザの感情の推定]
感情推定部2は、データ取得部11が取得したユーザデータに基づいて、ユーザの感情を推定する。感情推定部2は、データ学習部21及び予測モデル部22を有する。データ学習部21は、特徴抽出部12が抽出した各種の特徴が、ユーザのどのような感情に対応するかを学習する。データ学習部21は、ユーザの感情が表れている投稿メッセージに基づいてユーザの感情を推定した結果と、特徴抽出部12が抽出した各種の特徴との相関度を算出することにより、投稿メッセージによらずともユーザの感情を推定できるようにする。
【0038】
まず、データ学習部21は、所定の期間内の投稿メッセージに表れている感情の割合(0と1の間の値)を算出することにより、ユーザデータにおけるユーザの感情を推定する。データ学習部21は、例えば、以下の式によりユーザの感情を推定する。
【0039】
(数1)
M=N
pos/(N
pos+N
neg+N
neu)・・・(1)
【0040】
式中、Mは感情であり、N
posは、ポジティブな感情を示す投稿メッセージの数である。N
negは、ネガティブな感情を示す投稿メッセージの数である。N
neuは、中立的な投稿メッセージの数である。中立的な投稿メッセージは、ポジティブ又はネガティブな感情のいずれも示していない投稿メッセージ、あるいは、ポジティブ及びネガティブな感情を同程度に示している投稿メッセージである。
【0041】
データ学習部21は、「今日はすばらしい一日だった」という文字列を含む投稿メッセージをデータ取得部11において取得した場合に、「すばらしい」という文字列をポジティブな用語であると認識し、取得した投稿メッセージをポジティブな感情を示す投稿メッセージであると判定する。
【0042】
一方、データ学習部21は、「今日は残念なことがあった」という文字列を含む投稿メッセージをデータ取得部11において取得した場合に、「残念な」という文字列をネガティブな用語であると認識し、取得した投稿メッセージをネガティブな感情を示す投稿メッセージであると判定する。データ学習部21は、ユーザの感情を示す文字列を認識しなかった場合に、あるいは、ポジティブ及びネガティブな感情を示す文字列を同程度に認識した場合に、この投稿メッセージを中立的な投稿メッセージであると判定する。また、データ学習部21は、ユーザの感情におけるポジティブ度と同様の手法により、ユーザの感情における興奮度を推定する。
【0043】
続いて、データ学習部21は、推定した感情と、特徴抽出部12が抽出した特徴との相関度を求める。例えば、データ学習部21は、推定した感情と、特徴抽出部12が抽出した特徴との相関度を示すピアソン係数を求める。データ学習部21は、特徴抽出部12が抽出した特徴との相関度が閾値以上である感情が、特徴抽出部12が抽出した特徴に表れている感情であることを学習する。データ学習部21は、学習した結果を予測モデル部22に通知する。
【0044】
予測モデル部22は、特徴抽出部12が抽出した特徴の入力を受けると、入力された特徴に対応する感情を示す情報を出力する。具体的には、予測モデル部22は、特徴抽出部12が抽出した特徴と、ユーザの感情とを関連付けたデータを記憶するメモリを有しており、特徴抽出部12が抽出した特徴の入力を受けると、入力された特徴に関連付けられている感情を示す情報を出力する。
【0045】
[ユーザの感情に適した楽曲の推奨]
推奨部3は、ユーザの嗜好に合った楽曲をユーザに推奨する。推奨部3は、マップ管理部31、マッチング部32、及び選択部33を有する。
【0046】
マップ管理部31は、複数の楽曲と人の感情との関係を示す感情マップを生成する。マップ管理部31は、例えば、ユーザごとに感情マップを生成し、生成した感情マップを記憶部202に記憶させる。
【0047】
図3を参照して、マップ管理部31の詳細な動作について説明する。マップ管理部31は、感情マップを生成する前の前処理として、楽曲を聞いているときのユーザの感情を示す情報を予測モデル部22に出力させ、予測モデル部22が出力したユーザの感情を示す情報をユーザが聞いていた楽曲に関連付けて記憶部202に記憶しておく。
【0048】
マップ管理部31は、取得したユーザの感情を示す情報を元に、3種類(ポジティブ、ネガティブ、ニュートラル)の感情の種別のうち、楽曲をいずれかの種別に分類する(
図3中の(1))。例えば、マップ管理部31は、ある楽曲を聴いているときのユーザの感情がポジティブであることを示す情報を予測モデル部22が出力した場合は、当該楽曲をポジティブの種別に分類する。マップ管理部31は、感情の種別を示す二次元空間(以下、感情二次元空間という)に各楽曲を配置する(
図3中の(2))。感情二次元空間は、例えば、感情の種別を二次元空間で表現する誘発性興奮(valence-arousal, VA)感情空間であり、マップ管理部31は、各楽曲をこの感情二次元空間に配置することで、複数の楽曲と人の感情とを関係づけることができる。
【0049】
楽曲の感情は、各楽曲について、例えば、43の値のベクトルが割り当てられる高次元データにより示される。t−SNEアルゴリズムは、高次元データを可視化するためのツールであり、楽曲の感情を示す高次元データを、感情二次元空間に対応する二次元データに変換する。マップ管理部31は、t−SNEアルゴリズムを用いて、データポイント間の類似性を同時確率に変換し、配置する低次元データの同時確率と高次元データの同時確率との間のKullback-Leibler情報量の最小化を試みる。マップ管理部31は、このようにして生成したユーザの感情二次元空間における楽曲の位置を示す3種類の感情マップを記憶部202に記憶させる(
図3中の(3))。
【0050】
マッチング部32は、ポジティブ、ネガティブ及び中立の3つの感情についての感情マップのうち、感情推定部2が推定したユーザの感情にマッチングする感情マップを選択する。マッチング部32は、ユーザに推奨楽曲を推奨する場合には、ユーザの感情マップからユーザの感情にマッチングする感情マップを選択する。
【0051】
図4を参照して、マッチング部32による感情マップの選択について説明する。
図4は、予測モデル部22が作成した感情マップを示す。
図4(a)は、ポジティブな感情に対応する感情マップを示し、
図4(b)は、中立的な感情に対応する感情マップを示し、
図4(c)は、ネガティブな感情に対応する感情マップを示す。
【0052】
図4(a)に示すように、マップ管理部31は、感情マップにおいて複数の楽曲を二次元空間に配置する。感情マップに配置された丸印は、それぞれ楽曲を示す。楽曲間の感情マップ上における距離が近いほど、楽曲の特徴が類似することを示す。
【0053】
図4(a)の感情マップには、ポジティブ度が高い状態に適した楽曲が配置されている。マッチング部32は、予測モデル部22が出力したユーザの感情のポジティブ度が第1閾値より高い場合には、ポジティブな感情に対応する感情マップを選択する。第1閾値は、例えば、3つの感情マップに配置される楽曲数が互いに等しくなるように定められる。
【0054】
図4(b)は、中立的な感情に対応する感情マップを示す。この感情マップには、
図4(a)の感情マップに比べてポジティブ度が低い状態に適した楽曲が配置されている。マッチング部32は、予測モデル部22が出力したユーザの感情のポジティブ度が第1閾値以下であって第2閾値より高い場合に、中立的な感情に対応する感情マップを選択する。第2閾値は、例えば、第1閾値と同様に、3つの感情マップに配置される楽曲数が互いに等しくなるように定める。
【0055】
図4(c)は、ネガティブな感情に対応する感情マップを示す。この感情マップには、
図4(b)の感情マップに比べてポジティブ度が低い楽曲が配置される。マッチング部32は、データ学習部21が推定したユーザの感情のポジティブ度が第2閾値以下である場合に、ネガティブな感情に対応する感情マップを選択する。
【0056】
[推奨楽曲の選択]
図2の説明に戻る。選択部33は、複数の楽曲の特徴を示す楽曲データを記憶部202から取得する。楽曲データは、例えば、記憶部202が記憶している感情マップにおける楽曲の位置を示すデータである。選択部33は、記憶部202に記憶された楽曲と感情との関係に基づいて、予測モデル部22が推定したユーザの感情に適した推奨楽曲を選択する。
【0057】
より詳しくは、選択部33は、取得した楽曲データが示す複数の楽曲の特徴と、予測モデル部22が推定したユーザの感情とを比較することにより、複数の楽曲からユーザに推奨するための推奨楽曲を選択する。本実施の形態の例では、まず、選択部33は、マッチング部32が選択した感情マップにおいて最も高い人気度Q
0を有する楽曲を最初の推奨楽曲として選択する。人気度Q
0は以下の式(2)により示される。
【0058】
(数2)
Q
0=楽曲を聞いた回数÷全楽曲を聞いた合計回数・・・(2)
【0059】
選択部33は、複数の感情マップのうち、マッチング部32が選択した感情マップにおいて推奨楽曲を選択する。このような構成を採用することにより、選択部33は、全ての楽曲が配置された感情マップから推奨楽曲を選択する場合に比べて、推奨楽曲を選択するためのプロセッサの処理負荷を軽減することができる。
【0060】
また、選択部33は、2回目以降の推奨楽曲の選択では、過去に選択した推奨楽曲をユーザが聞いた時のフィードバックに基づいてユーザの嗜好性を推定し、推定した嗜好性に基づいて新たな推奨楽曲を選択する。より詳しくは、選択部33は、ユーザの推奨楽曲に対する暗示的なフィードバックを考慮して、2回目以降の推奨楽曲を選択する。このとき、選択部33は、ユーザの明示的な指示又は評価を必要とせず、暗示的なフィードバックに基づいてユーザの嗜好性を推定する。暗示的なフィードバックは、楽曲を選択するクリック操作、リスニング時間(lt)、楽曲のリピート、お気に入り/プレイリストに楽曲を加えること(fv)、リスニング回数(nl)等である。本発明者は、以下の式(3)に示すように、楽曲に対するユーザの嗜好と、感情マップ上における楽曲の位置に基づいて、暗示的なフィードバックを数値化できることを見出した。
【0061】
(数3)
R
t(u,s,m)=R
pref,t(u,s,m)+R
d,t(u,s,m)…(3)
【0062】
式中、R
pref,tは、楽曲に対するユーザの嗜好を示し、R
d,tは、感情マップ上における楽曲の位置に基づいて付与するリウォードを示す。R
pref,t及びR
d,tは、それぞれ以下の式(4)により示される。
【0064】
式中、c
kは、暗示的フィードバックの各因子の重みであり、r
k,t(u,s,m)は、楽曲s及びK={lt,fv,nl}についての因子kの値である。
【0065】
選択部33は、直前に選択した推奨楽曲との類似度に基づいて、新たな推奨楽曲を選択する。類似度は、感情マップにおける2つの楽曲間の距離であり、2つの楽曲の間の距離が小さいほど類似度が高くなる。選択部33は、探索期間T
1と活用期間T
2とでは異なる推奨楽曲を選択する。探索期間T
1は、ユーザの嗜好を探索している期間であり、活用期間T
2は、ユーザの嗜好の特定が終了した後の期間である。
【0066】
選択部33は、探索期間T
1においては、直近の推奨楽曲とは異なる傾向の楽曲を選ぶことにより新たな楽曲を探索し、ユーザの嗜好について学習する。選択部33は、ユーザの嗜好性を探索している探索期間T
1の間、直前に選択した推奨楽曲との類似度が所定の閾値よりも小さな推奨楽曲を選択する。所定の閾値は、例えば、ユーザが指定してもよく、直前に選択した推奨楽曲との感情マップにおける距離が、感情マップ中における全ての楽曲の間の平均距離であるd
avgより大きくなる程度の値である。d
avgは、例えば、ポジティブな感情に対応する感情マップ上に楽曲s
1,s
2,・・・,s
100が配置されている場合、楽曲s
j−s
k(j=1,2,・・・,100、k=1,2,・・・,100、j≠k)の全ての組み合わせにおける距離の平均値である。
【0067】
探索期間T
1においては、新たな推奨楽曲と直前に選択した推奨楽曲との間の感情マップにおける距離がd
avgより大きい場合には、R
d,t(u,s,m)にd(st,st−1)が加算される。一方、探索期間T
1においては、新たな推奨楽曲と直前に選択した推奨楽曲との間の感情マップにおける距離がd
avgより小さい場合には、R
d,t(u,s,m)からd(st,st−1)が減算される。このようにすることで、選択部33は、さまざまな種類の楽曲を選択することができるので、ユーザがどのような楽曲を好むかを短期間で特定することが可能になる。
【0068】
また、選択部33は、ユーザの嗜好性の探索が終了した後の活用期間T
2において直前に選択した推奨楽曲との類似度が所定の閾値以上の推奨楽曲を選択する。所定の閾値は、例えば、ユーザが指定してもよく、直前に選択した推奨楽曲との感情マップにおける距離がd
avgより小さくなる程度の値である。具体的には、選択部33は、活用期間T
2においては、新たな推奨楽曲と直前に選択した推奨楽曲との間の感情マップにおける距離がd
avgより小さい場合には、R
d,t(u,s,m)にd(st,st−1)が加算される。一方、活用期間T
2においては、新たな推奨楽曲と直前に選択した推奨楽曲との間の感情マップにおける距離がd
avgより大きい場合には、R
d,t(u,s,m)からd(st,st−1)が減算される。このようにすることで、選択部33は、ユーザが嗜好する楽曲を選択しやすくなる。
【0069】
選択部33は、探索期間T
1及び活用期間T
2において楽曲の確率P(u,s,m)を算出する。より詳しくは、選択部33は、ソフトマックス法を用いて、次の式(5)により、楽曲の確率P(u,s,m)を算出する。選択部33は、最も高い確率を有する楽曲を推奨楽曲として選択する。
【0071】
式中、更新関数Q
t(u,s,m)は、以下の式(6)により定義される。
(数6)
Q
t(u,s,m)=Q
t-1(u,s,m)+α
t(R
t(u,s,m)-Q
t-1(u,s,m))…(6)
【0072】
式(6)中、α
tは、新規に獲得した情報を古い情報よりどの程度優先するかを示す係数である。α
tが0である場合、選択部33が新規に獲得した情報を全く考慮せず、古い情報のみを考慮することを示す。α
tが1である場合、選択部33が新規に獲得した情報のみを考慮し、古い情報を考慮しないことを示す。
【0073】
選択部33は、選択した推奨楽曲をユーザに推奨する。例えば、選択部33は、通信部201を介して、選択した推奨楽曲を推奨するメッセージをユーザの通信端末100に送信する。また、選択部33は、選択した推奨楽曲の音声データを記憶部202から読み出し、選択した推奨楽曲を推奨するメッセージとともに推奨楽曲の音声データをユーザの通信端末100に送信する。
【0074】
[嗜好性の変化の検出]
同一のユーザであっても、楽曲を聞く時の感情に応じて、聞きたい楽曲が変わることがある。そこで、マップ管理部31は、選択部33が過去に選択した推奨楽曲をユーザが聞いた時のフィードバックに基づいて、記憶部202に記憶された関係(感情マップ)を変更する更新部として機能する。選択部33は、更新後の感情マップを用いて推奨楽曲を選択することで、ユーザの感情の変化に起因してユーザの嗜好が変化した場合においても適切な推奨楽曲をユーザに推奨することができる。
【0075】
マップ管理部31は、選択部33によるユーザの嗜好性の探索が終了した活用期間T
2では、選択部33が過去に選択した推奨楽曲をユーザが聞いた時のフィードバックに基づいて、ユーザの嗜好性の変化を監視する検出部として機能する。このフィードバックは、例えば、暗示的なフィードバックである。マップ管理部31は、選択部33が過去に選択した推奨楽曲をユーザが聞いた時のフィードバックを分析することにより、ユーザの嗜好の変化を検出する。例えば、マップ管理部31は、式(3)に示すリウォードの変化をページヒンクレイテスト(Page-Hinkley Test, PHT)により特定した場合に、ユーザの嗜好の変化を検出する(ページヒンクレイテストについては、Hartland,C.,Gelly,S., Baskiotis,N., Teytaud, O., &Sebag,M.(2006).Multi-armed band it, dynamic environment sand meta-bandits. Preprint. http://hal.archives-ouvertes.fr/hal-00113668/en/.参照)。
【0076】
マップ管理部31は、選択部33が過去に選択した推奨楽曲をユーザが聞いた時のフィードバックに基づいて、記憶部202に記憶された複数の楽曲と人の感情との関係を変更する。例えば、マップ管理部31は、ユーザの暗示的なフィードバックを分析することによってユーザの嗜好性の変化を検出した場合に、複数の楽曲と人の感情との関係を示す感情マップを更新する。
【0077】
マップ管理部31は、ユーザの推奨楽曲に対する暗示的なフィードバックを参照して、楽曲の感情をそれぞれ再度数値化する。マップ管理部31は、予測モデル部22と同様のt−SNEアルゴリズムを用いるが、式(6)に示す暗示的なフィードバックを感情マップに反映させる。マップ管理部31は、例えばネガティブな感情に対応する推奨楽曲をユーザに推奨した後のユーザの暗示的なフィードバックが、この推奨楽曲に対するユーザの評価が良好でないことを示す場合に、感情マップにおけるこの楽曲の位置を移動させる。
【0078】
選択部33は、過去に選択した推奨楽曲をユーザが聞いた時のフィードバックに基づいてマップ管理部31により推定されたユーザの嗜好性に基づいて更新された感情マップを参照することで、新たな推奨楽曲を選択する。このような構成を採用することにより、選択部33は、過去に選択した推奨楽曲がユーザの嗜好に合っていない場合に、ユーザの嗜好性に合うように推奨楽曲の選択方法を改善することができる。
【0079】
選択部33は、活用期間T
2においてユーザの嗜好が変化した場合には、ユーザの嗜好に合う楽曲を再度探索することが望ましい。そこで、選択部33は、活用期間T
2においてユーザの嗜好が変化したことをマップ管理部31において検出した場合には、活用期間T
2を探索期間T
1に戻す。選択部33は、活用期間T
2を探索期間T
1に戻すことにより、直近の推奨楽曲とは異なる傾向の楽曲を選ぶことを優先し、ユーザの嗜好性の探索を再開する。
【0080】
[記憶部202が記憶するデータ]
図5は、記憶部202が記憶するデータについて説明するための図である。本実施の形態の例では、楽曲選択装置200は、クラウドベースのサーバからなり、記憶部202は、第1記憶部A1、第2記憶部A2及び第3記憶部A3を備える。
【0081】
第1記憶部A1は、例えば、ソーシャルブログサービスであるLive Journal2データベースから取得したデータセットである。第1記憶部A1は、ユーザが異なる感情において聞いた楽曲の履歴を記憶している。第1記憶部A1は、ブログの記事と、楽曲を聞いたときの感情と、聞いた楽曲とを関連付けて記憶している。例えば、第1記憶部A1には、楽曲1を聞いた時の感情1と、楽曲1とに記事1が関連付けて記憶されている。マップ管理部31は、第1記憶部が記憶している楽曲に関連付けられた感情を参照して、感情マップを生成する。
【0082】
マップ管理部31が生成した感情マップはユーザごとに異なるため、第2記憶部A2は、ユーザIDに関連付けて感情マップを記憶している。また、第1記憶部A1には、データ学習部21が推定したユーザの感情と、複数の楽曲の音声データとが関連付けて記憶されている。
【0083】
予測モデル部22は、生成した感情マップを第2記憶部A2に記憶させる。第2記憶部A2が記憶している感情マップは、マップ管理部31により更新される。
【0084】
図5の例では、ユーザID1に感情マップ1が関連付けられ、ユーザID2に感情マップ2が関連付けられている。第2記憶部A2では、ポジティブ、ネガティブ及び中立の感情に対応する感情マップがそれぞれ一のユーザIDに関連付けられる。マッチング部32は、ポジティブ、ネガティブ及び中立の感情に対応する感情マップのうち、選択部33による推奨楽曲の選択のための感情マップを選択し、選択した感情マップを第2記憶部A2から取得する。
【0085】
第3記憶部A3には、複数のユーザのソーシャルネットワークのアカウントがユーザIDに関連付けて記憶されている。
図5の例では、ソーシャルネットワークのアカウントとして、ツイッターID1と、Instagram(登録商標)のID1とがユーザID1に関連付けられている。マップ管理部31は、通信部201を介して、ユーザが利用しているソーシャルネットワークサービスのアカウントを通信端末100から取得し、第3記憶部A3に記憶させる。データ取得部11は、ツイッターID等のユーザのアカウントを第3記憶部A3から取得し、取得したアカウントにソーシャルネットワークサーバ300において関連付けられたユーザデータを定期的に通信端末100又はソーシャルネットワークサーバ300から取得する。
【0086】
[楽曲選択装置200による楽曲選択処理]
図6は、楽曲選択装置200が楽曲を選択する処理を示したフローチャートである。この処理手順は、例えば、マップ管理部31が新規ユーザから楽曲を推奨することの要求を受信したときに開始する。
【0087】
まず、マップ管理部31は、ユーザが利用しているソーシャルネットワークサービスのアカウントを通信端末100から取得する(S101)。データ取得部11は、ユーザのソーシャルネットワークサービスのアカウントにソーシャルネットワークサーバ300において関連付けられたユーザデータを通信端末100から取得する(S102)。特徴抽出部12は、データ取得部11が取得したユーザデータから特徴を抽出する(S103)。
【0088】
データ学習部21は、ユーザの投稿メッセージを分析することによりユーザの感情を推定し、推定したユーザの感情と特徴抽出部12が抽出した特徴との間の相関度を算出することにより、予測モデル部22を更新する(S104)。その後、予測モデル部22は、ユーザの感情と有意な相関度を示す特徴が入力されると、入力された特徴に対応する感情を示すデータを出力する(S105)。その後、選択部33は、感情マップを参照することにより、予測モデル部22から入力された感情に対応する楽曲を選択して、通信端末100に推奨する(S106)。
【0089】
[本発明による作用効果]
本実施の形態によれば、選択部33は、感情推定部2が推定したユーザの感情と、楽曲の特徴を示す楽曲データにおける複数の楽曲の特徴とを比較することにより、複数の楽曲から推奨楽曲を選択する。感情推定部2は、ユーザがソーシャルネットワークに投稿する行動の特徴に基づいてユーザの感情を推定する。したがって、楽曲選択装置200は、ユーザが感情状態を入力することなく、ユーザの嗜好に合った楽曲を推奨することができる。
【0090】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。