(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】レコメンド装置
(51)【国際特許分類】
G06Q 50/00 20240101AFI20240529BHJP
【FI】
G06Q50/00 300
(21)【出願番号】P 2020130262
(22)【出願日】2020-07-31
【審査請求日】2023-02-14
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】酒井 亮勢
(72)【発明者】
【氏名】勝間田 優樹
(72)【発明者】
【氏名】鈴木 もとこ
(72)【発明者】
【氏名】山田 曉
【審査官】加舎 理紅子
(56)【参考文献】
【文献】国際公開第2020/053631(WO,A1)
【文献】国際公開第2001/067319(WO,A1)
【文献】特開2013-089086(JP,A)
【文献】特開2018-088274(JP,A)
【文献】特開2002-196658(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
SNSに投稿する投稿内容をレコメンドするレコメンド装置であって、
対象ユーザの行動属性を取得する第1取得部と、
前記対象ユーザを含む複数のユーザが前記SNSに投稿した投稿データを取得する第2取得部と、
前記第1取得部によって取得された前記対象ユーザの前記行動属性、及び、前記第2取得部によって取得された前記投稿データ、に基づいて、前記対象ユーザに対してレコメンドされる、前記SNSに投稿する投稿内容を決定する決定部と、を備え
、
前記投稿内容は、互いに異なる複数の区分に対応しており、
前記決定部は、前記投稿データから導出される前記区分ごとの投稿の傾向と前記行動属性に応じて決められた前記投稿の傾向ごとの重み付けとを用いて前記区分ごとのレコメンド値を算出し、算出された前記レコメンド値に基づいて前記区分に対応する前記投稿内容を決定する、レコメンド装置。
【請求項2】
SNSに投稿する投稿内容をレコメンドするレコメンド装置であって、
対象ユーザの行動属性を取得する第1取得部と、
前記対象ユーザを含む複数のユーザが前記SNSに投稿した投稿データを取得する第2取得部と、
前記第1取得部によって取得された前記対象ユーザの前記行動属性、及び、前記第2取得部によって取得された前記投稿データ、に基づいて、前記対象ユーザに対してレコメンドされる、前記SNSに投稿する投稿内容を決定する決定部と、を備え
、
前記投稿内容は、互いに異なる複数の区分に対応しており、
前記決定部は、前記投稿データから導出される前記区分ごとの投稿の傾向に、前記行動属性に応じて決められた重み付けを反映させ、前記重み付けが反映された前記投稿の傾向に合致した前記区分に対応する前記投稿内容を決定する、レコメンド装置。
【請求項3】
前記投稿の傾向は、投稿数割合を含み、
前記投稿数割合は、全ての前記複数の区分における投稿数に対する前記複数の区分のそれぞれの投稿数の割合である、請求項
1又は2に記載のレコメンド装置。
【請求項4】
前記投稿の傾向は、前記複数のユーザのそれぞれの前記投稿数割合の平均を含む、請求項
3に記載のレコメンド装置。
【請求項5】
前記投稿の傾向は、前記複数の区分のそれぞれの投稿割合を含み、
前記投稿割合は、前記区分に対応する投稿内容を投稿したことのある前記ユーザの割合である、請求項
1又は2に記載のレコメンド装置。
【請求項6】
前記第1取得部は、前記複数のユーザが回答するアンケートの結果に基づいて前記行動属性を取得する、請求項1から請求項
5のいずれか一項に記載のレコメンド装置。
【請求項7】
前記行動属性は、前記アンケートの結果から導出される複数の行動バイアス情報に基づいて分類された複数のクラスによって構成されている、請求項
6に記載のレコメンド装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レコメンド装置に関する。
【背景技術】
【0002】
文献1には、SNS(Social Networking Service)に投稿する話題をユーザに推薦する装置が記載されている。この装置は、ユーザグループの嗜好に合致し、かつ、ユーザグループが実際にコミュニケーションを始め、コミュニケーションが長く続くような盛り上がる話題をユーザに推薦する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、どのような内容をSNSに投稿したいかはユーザによって異なる。そのため、ユーザが投稿したくなる内容をユーザにレコメンドすることは困難であった。
【0005】
本発明は、ユーザに対して、当該ユーザがSNSに投稿したくなる内容をレコメンドするレコメンド装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るレコメンド装置は、SNSに投稿する投稿内容をレコメンドする装置であって、対象ユーザの行動属性を取得する第1取得部と、対象ユーザを含む複数のユーザがSNSに投稿した投稿データを取得する第2取得部と、第1取得部によって取得された対象ユーザの行動属性、及び、第2取得部によって取得された投稿データ、に基づいて、対象ユーザに対してレコメンドされる、SNSに投稿する投稿内容を決定する決定部と、を備える。
【0007】
上記のレコメンド装置では、SNSに投稿された投稿データだけでなく、対象ユーザの行動属性を加味して、対象ユーザに対してSNSに投稿する投稿内容を決定する。例えば、投稿データからは現在の投稿の傾向などが把握できる。また、行動属性は、対象ユーザの意思決定における傾向を示し得る。そのため、レコメンド装置では、対象ユーザに対して、当該ユーザがSNSに投稿したくなる内容をレコメンドすることができる。
【発明の効果】
【0008】
本発明によれば、ユーザに対して、当該ユーザがSNSに投稿したくなる内容をレコメンドするレコメンド装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】一例に係るレコメンド装置の構成を示す図である。
【
図2】レコメンド装置によって用いられる情報を示す図である。
【
図4】SNSに投稿される投稿データから導出される投稿の傾向を示す図である。
【
図5】レコメンド部によって導出されるレコメンド値を説明するための図である。
【
図6】一例に係るレコメンド装置で実行される処理を示すシーケンス図である。
【
図7】一例に係るレコメンド装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0010】
以下、図面と共に一例のレコメンド装置の形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0011】
図1は、一例に係るレコメンド装置10と通信端末3とを含むレコメンドシステムを示す。
図1のレコメンドシステムでは、複数のユーザがそれぞれの通信端末3を介してSNSを利用している。レコメンド装置10は、SNSに投稿された内容とレコメンドの対象となるユーザの属性とを分析することによって、ユーザがSNSに投稿したくなる内容を推定する。
【0012】
通信端末3は、例えば、スマートフォン、携帯電話、タブレット端末、PDA(Personal Digital Assistant)、パーソナルコンピュータなどの情報処理端末である。通信端末3は、CPU(Central Processing Unit)、メモリ、通信モジュールなどのハードウェアから構成されている。通信端末3は、通信網を介してレコメンド装置10との間で情報の送受信を行う。例えば、通信端末3は、アプリケーションを起動することによって、通信網を介してレコメンド装置10に接続することができる。レコメンド装置10には、複数の通信端末3が同時に接続できる。
【0013】
レコメンド装置10は、SNSに投稿する投稿内容をユーザにレコメンドする装置である。レコメンド装置10は、サーバ装置等のコンピュータによって構成されている。レコメンド装置10は、複数のコンピュータ、即ち、コンピュータシステムによって構成されていてもよい。
【0014】
図1に示すようにレコメンド装置10は、情報取得部11と、ユーザ分析部(第1取得部の一例)12と、画像処理部(第2取得部の一例)13と、自然言語処理部(第2取得部の一例)15と、レコメンド部(決定部の一例)16と、を含んで構成される。レコメンド装置10がレコメンドの対象するSNSは、SNSサーバによって提供され得る。SNSサーバが提供するサービスは、複数のユーザのそれぞれが文字情報、画像情報等を投稿し、投稿された文字情報、画像情報等をユーザ間で閲覧するコミュニケーションサービスであってよい。なお、レコメンド装置10は、ユーザが利用するSNSを管理するSNSサーバとしての機能を備えていてもよい。また、レコメンド装置10は、SNSサーバとデータの送受信が可能であってもよい。
【0015】
情報取得部11は、複数のユーザのそれぞれが利用する通信端末3からユーザに関する情報を取得する機能部である。一例において、ユーザは、自身の通信端末3にインストールされたアプリケーションによってSNSを利用することができる。ユーザがSNSを開始する場合、アプリケーションは、ユーザに対してユーザ情報を入力するユーザ登録を求める。ユーザ情報は、ユーザの属性として、性別、年齢、年収、婚姻の有無、子供の数等の基本情報を含んでよい。また、ユーザ情報は、アプリケーションによって提供されるアンケートの結果を含んでいる。アプリケーションによって提供されるアンケートは、後述する行動属性(行動バイアス)の推定に利用される。
【0016】
また、情報取得部11は、ユーザがSNSの利用を開始した後に、フォロー数及びフォロワ数を取得する。フォロー数は、ユーザがフォローしている他のユーザの数である。フォロワー数は、ユーザをフォローしている他のユーザの数である。なお、情報取得部11は、ユーザがフォローしている他のユーザのユーザID、及び、ユーザをフォローしている他のユーザのユーザIDを取得してもよい。
【0017】
また、情報取得部11は、ユーザがSNSに投稿した投稿データを取得する。投稿データは、ユーザによってSNSに投稿された内容(文字情報、画像情報等)、投稿日時等を含む。通信端末3がGPS(Global Positioning System)等によって位置情報を取得している場合には、投稿日時における位置情報が投稿データの履歴に含まれてもよい。情報取得部11によって取得された各情報は、ユーザIDに関連づけられて格納される。なお、情報取得部11によって取得される各情報は、ユーザが利用する通信端末3から取得されてもよいし、SNSサーバから取得されてもよい。
【0018】
ユーザ分析部12は、情報取得部11によって取得されたユーザ情報に基づいて、ユーザの行動属性を推定する。一例において、ユーザの行動属性は、ユーザの基本情報とユーザの行動バイアスとを含む情報に基づいて生成され得る。行動バイアスとは、先入観、選好等によって、ユーザの意思決定、行動原理等に偏りを及ぼす因子を意味し得る。すなわち、行動バイアスとは、ユーザが起こす行動に寄与する心理的要因とも言える。
【0019】
例えば、ユーザがある店舗を訪れようとした場合において、別の店舗に行列ができていたと仮定する。この場合、行列ができている別の店舗を訪れるユーザと、行列を気にすることなく、目的の店舗を訪れるユーザとがいる。このような、同じ事象に対するそれぞれのユーザの行動を決定する要因の一つが行動バイアスである。ユーザ分析部12では、行動バイアスをユーザごとに取得する。一例において、行動バイアスは、数値によって示される複数の因子(行動バイアス情報)に分けられている。ユーザ分析部12は、取得された行動バイアス情報に基づいて、ユーザの行動属性を推定する。
【0020】
一例として、行動バイアス情報は、「同調バイアス」、「保有バイアス」、「コンコルド効果」、「同調効果」、「時間選好」等であってよい。一例のユーザ分析部12は、SNSの登録時にユーザが回答するアンケートの結果に基づいて行動バイアスを推定する。
【0021】
例えば、同調バイアスは、他者に対する同調のしやすさを示す指標であってよい。一例において、同調バイアスは、0から1までの数値で示され、数値が大きいほど他者に同調しやすいことを示す。例えば、高い数値の同調バイアスを有するユーザは、他のユーザがSNSに投稿した内容と同じ又は似た内容を投稿することを好む傾向があると推定され得る。
【0022】
また、保有バイアス(現状維持バイアス)は、現状を変えずに維持したがる傾向にあるかの指標であってよい。一例において、保有バイアスは、0から1までの数値で示され、数値が大きいほど現状維持の傾向があることを示す。例えば、高い数値の保有バイアスを有するユーザは、過去に自身がSNSに投稿した内容と同じ又は似た内容を投稿することを好む傾向があると推定され得る。
【0023】
また、コンコルド効果は、損失の拡大が予測できたとしても、それまでの投資を継続する傾向にあるかの指標であってよい。一例において、コンコルド効果は、0から1までの数値で示され、数値が大きいほど投資を継続する傾向があることを示す。例えば、高い数値のコンコルド効果を有するユーザは、一般に金銭的に裕福であると推定されるため、SNSへの投稿に高い費用が必要な内容を投稿することを好む傾向があると推定され得る。
【0024】
また、同調効果は、他者に対する同調のしにくさを示す指標であってよい。一例において、同調効果は、0から1までの数値で示され、数値が大きいほど他者に同調し難いことを示す。例えば、高い数値の同調効果を有するユーザは、他のユーザの投稿率の高い内容を投稿し難く、他のユーザの投稿率の低い内容を投稿し易い傾向にあると推定され得る。
【0025】
時間選好は、将来の消費よりも現在の消費を好む傾向を示す指標であってよい。一例において、時間選好は、0から1までの数値で示され、数値が大きいほど現在の消費を好むことを示す。一例では、ユーザが回答するアンケートに「あなたは今10000円貰うことができます。1週間待てば少し多めに貰うことができます。1週間待てる最低金額は次のうちどれですか?/回答:1)10100円、 2)10500円、 3)11000円、 4)12000円、 5)12001円以上」のような質問が含まれてもよい。この場合、回答の選択肢の数字が大きい人ほど時間選好が高くなる。
【0026】
図2に示すように、ユーザ分析部12は、アンケート結果から推定されたユーザの行動バイアスと、情報取得部11によって取得されたユーザの基本情報とをユーザIDに関連づけて、ユーザ属性として格納することができる。なお、
図2に示されるユーザの基本情報のうち、ユーザの婚姻の有無を示す「結婚」は、ユーザが結婚している場合には「1」であり、ユーザが結婚していない場合には「0」である。
【0027】
ユーザ分析部12は、取得されたユーザ属性に基づいて、ユーザの行動属性を推定する。一例の行動属性は、複数のクラス(バイアスクラス)によって構成されていてよい。例えば、バイアスクラスは、SNSへの投稿について同様の意思決定、行動原理等を有すると推定されるユーザの区分、として定義され得る。一例のユーザ分析部12は、それぞれのユーザが適切なバイアスクラスに分類されるように、ユーザの基本情報と行動バイアス情報とに基づいて、複数のユーザをクラスタリングする。クラスタリングの手法は特に限定されない。例えば、k近傍法を用いてクラスタリングする場合、各バイアスクラスの基準点を定義し、ベクトル空間内において最も近い基準点のバイアスクラスにユーザを分類する。クラスタリングが実施される場合、ユーザの基本情報は、例えば0から1までの数値に変換されてもよい。性別は、例えば、男を「1」とし、女を「0」とするダミー変数に変換されてもよい。年齢は、例えば100歳以上を1とし、100歳未満については実際の年齢を100で除した値に変換されてもよい。年収は、高さに応じて0から1までの数値に適宜変換されてもよい。子供の数は、数の多さに応じて0から1までの数値に適宜変換されてもよい。
【0028】
例えば、[年齢、時間選好、同調バイアス]のデータを用いてユーザを2つのクラスに分ける場合、一例として、20歳代で時間選好が高く同調バイアスが低い[0.2,1,0]と20歳代で時間選好が低く同調バイアスが高い[0.2,0,1]とを基準点にしてもよい。例えば、対象ユーザの[年齢、時間選好、同調バイアス]のデータが[0.4,0.1,0.8]の場合、[0.2,0,1]を基準点とするバイアスクラスに分類されることになる。
【0029】
それぞれのバイアスクラスは、バイアスクラスの特徴に応じて、投稿の内容を決定するためのパラメータを有している。
図3は、バイアスクラスを説明するための図であり、バイアスクラスとパラメータとの関係の一例を示している。
図3において、バイアスクラスの「1」は、同調バイアスが高いユーザが振り分けられるクラスである。当該クラスでは、フォロワの投稿率f2に対する重みw2を示すパラメータと、全ユーザの投稿率f3に対する重みw3を示すパラメータとが、高い値になっている。バイアスクラスの「2」は、現状維持バイアスが高いユーザが割り振られるクラスである。当該クラスでは、対象ユーザ自身の投稿率f1に対する重みw1が高い値になっている。バイアスクラスの「3」は、同調効果が高いユーザが割り振られるクラスである。当該クラスでは、他のユーザの投稿率の高い内容を投稿し難く、他のユーザの投稿率の低い内容を投稿するという傾向が現れるように、フォロワの投稿率f2に対する重みw2を示すパラメータと、全ユーザの投稿率f3に対する重みw3を示すパラメータとが決められている。バイアスクラスの「4」は、コンコルド効果が高いユーザが割り振られるクラスである。当該クラスでは、費用の高さf4に対する重みw4が高い値になっている。なお、投稿率f1~f3及び費用の高さf4については後述する。
【0030】
画像処理部13及び自然言語処理部15は、ユーザがSNSに投稿した投稿データを情報取得部11から取得する。そして、画像処理部13及び自然言語処理部15は、それぞれの投稿データの投稿内容を解析することによって、複数の区分を示すラベル(コンテンツ)のいずれかにそれぞれの投稿データを分類する。画像処理部13は、投稿データに画像情報が含まれる場合に、画像情報に対応する意味を投稿データにラベル付けする。例えば、画像処理部13は、画像認識処理によって、対象となる画像に含まれる被写体を認識する。画像認識処理は、種々の手法によって実現され得る。例えば、画像認識処理は、CNN(Convolutional Neural Network)を用いた機械学習によって構築された学習モデルが用いられてもよい。このような学習モデルは、例えば、予めラベル付けされた画像データを学習データとして機械学習によって構築され得る。学習モデルは、認識された画像に対応するラベルを当該画像に付与する。付与されるラベルの種類は、予め用意されていてもよい。例えば、ラベルは、ジャンルとジャンルを細分化したコンテンツとを含んでもよい。一例として、「飲食」というジャンルには、「ラーメン」、「寿司」、「ピザ」等が含まれ得る。
【0031】
自然言語処理部15は、投稿データに含まれる文字情報のそれぞれに文字情報に対応する意味をラベル付けする。例えば、自然言語処理部15は、ラベルとして予め用意された文字列が文字情報に含まれている場合に、当該文字列に対応するラベルを文字情報に付与する。
【0032】
一例として、ラーメンが撮影された画像と共に「ラーメンを食べに行ってきた」との文字列が投稿データに含まれている場合、画像処理部13によって当該画像に「ラーメン」のラベルが付与される。この場合、「ラーメン」の含まれるジャンルである「飲食」のラベルが同時に付与されてもよい。同様に、自然言語処理部15によって、当該文字情報に「ラーメン」及び「飲食」のラベルが付与される。なお、自然言語処理部15では、文字情報に「行ってきた」などの行動に関連する文字列が含まれる場合に、ユーザが行動したことを示すフラグを付与してもよい。
【0033】
また、自然言語処理部15は、文字情報に含まれる金額を示す情報を抽出してもよい。例えば、自然言語処理部15は、投稿データの文字情報に「円」の文字が含まれている場合に、「円」の文字の前の数字を抽出して、投稿データに関連する金額のデータとして記憶してもよい。
【0034】
それぞれの投稿データは、画像処理部13によって画像に付与されたラベル、及び自然言語処理部15によって文字情報に付与されたラベルに基づいて、いずれかのコンテンツに分類され得る。その場合、画像処理部13によって付与されたラベル及び自然言語処理部15によって付与されたラベルのいずれかが優先されて、投稿データのコンテンツが決定されてもよい。
【0035】
レコメンド部16は、レコメンドの対象であるユーザ(以下、対象ユーザという)に対して、今後の投稿内容をレコメンドする。一例のレコメンド部16は、情報取得部11によって取得された投稿データ、及び、ユーザ分析部12によって推定された対象ユーザの行動属性、に基づいて、対象ユーザに対してレコメンドされる、SNSに投稿する投稿内容を決定する。例えば、レコメンド部16は、投稿データから導出される投稿の傾向と、投稿の傾向についての行動属性の特徴とに基づいて、対象ユーザに対してレコメンドされる投稿内容を出力する。
【0036】
図4は、SNSに投稿される投稿データから導出される投稿の傾向を示す図である。
図4に示すように、投稿の傾向は、ジャンルj
j及びコンテンツc
jごとに算出され、例えば、自身の投稿率f1、フォロワーの投稿率f2、全ユーザの投稿率f3、及び、費用の高さf4を含んでよい。自身の投稿率f1は、対象ユーザの投稿数割合であってもよい。一例の投稿数割合は、全てのコンテンツにおける投稿数に対するそれぞれのコンテンツの投稿数の割合であってよい。すなわち、対象ユーザの投稿数割合は、対象ユーザによる全投稿数に対するそれぞれのコンテンツの対象ユーザの投稿数の割合である。
【0037】
フォロワーの投稿率f2は、対象ユーザのフォロワーのそれぞれの自身の投稿率f1の平均であってもよい。レコメンド部16は、対象ユーザのフォロワーのそれぞれのユーザIDに基づいて、フォロワーそれぞれの自身の投稿率f1を取得し、投稿率の平均を算出してもよい。
【0038】
同様に、全ユーザの投稿率f3は、全ユーザのそれぞれの自身の投稿率f1の平均であってもよい。レコメンド部16は、全ユーザのそれぞれのユーザIDに基づいて、全ユーザのそれぞれの自身の投稿率f1を取得し、投稿率の平均を算出してもよい。
【0039】
また、フォロワーの投稿率f2は、複数のコンテンツのそれぞれの投稿割合であってもよい。投稿割合は、コンテンツに対応する投稿内容を投稿したことのあるユーザの割合である。例えば、「ラーメン」についての投稿率f2が投稿割合で示される場合、投稿率f2は、対象ユーザのフォロワー数に対する、ラーメンについての投稿をしたことがあるフォロワー数の割合である。同様に、全ユーザの投稿率f3は、全ユーザを対象としたときの、複数のコンテンツのそれぞれの投稿割合であってもよい。
【0040】
費用の高さf4は、複数のコンテンツのそれぞれに関する費用の高さを示す指標である。一例において、コンテンツがユーザによって購入される物品である場合、費用の高さf4は、複数のコンテンツのそれぞれにおいて、投稿された画像の被写体の購入費用の推定値の平均であってよい。例えば、それぞれの投稿における被写体の購入費用は、自然言語処理部15によって取得される金額のデータであってもよい。一例において、費用の高さf4は、0から1までの数値で示されてもよい。この場合、数値が大きいほど、当該コンテンツに係る投稿を行うのに必要な費用が高いことを意味する。
【0041】
一例のレコメンド部16は、
図3に示す行動属性ごとの重み付けと、
図4に示す投稿の傾向と、に基づいて、対象ユーザに対してレコメンドされる投稿内容ごとにレコメンド値を推定する。レコメンド値が高いコンテンツは、対象ユーザの行動属性に合致していると推定される。
【0042】
例えば、レコメンド部16は、以下の式に基づいて、コンテンツc
jごとのレコメンド値Rec_c(c
j)を算出する。そして、レコメンド値Rec_c(c
j)が最大となるコンテンツc
jを対象ユーザの通信端末3に出力する。
【数1】
【0043】
図5は、ある対象ユーザについて、レコメンド部16によって導出されたレコメンド値Rec_cを例示した図である。
図5に示す算出結果の場合、「飲食」のジャンルにおける「ラーメン」についてのレコメンド値Rec_cが最も高くなっている。この場合、レコメンド部16は、対象ユーザの通信端末3に対して、例えば「ラーメンの投稿をしよう」などのメッセージを出力してもよい。
【0044】
レコメンド部16は、対象ユーザが投稿したことのあるジャンルのうちで最大のレコメンド値を示すコンテンツを出力してもよい。また、レコメンド部16は、対象ユーザの投稿数割合が所定の閾値以上であるジャンルのうちで最大のレコメンド値を示すコンテンツを出力してもよい。また、レコメンド部16は、以下の式に基づいて、複数(j_num)のジャンルごとにコンテンツのレコメンド値Rec_cの平均をジャンルのレコメンド値Rec_j(j
j)として算出し、対象ユーザにジャンルをレコメンドしてもよい。
【数2】
【0045】
続いて、
図6を参照して、レコメンド装置10の動作について説明する。
図6に示すように、情報取得部11は、例えばユーザの通信端末3のアプリケーションを介してユーザ情報及びSNSへの投稿内容を取得する(ステップS1)。ユーザ分析部12は、情報取得部11によって取得されたユーザ情報に基づいて、ユーザの行動バイアス情報を取得する(ステップS2:ユーザ分析)。そして、取得された行動バイアス情報と、ユーザの基本情報とに基づいて、複数のバイアスクラスに分類されるように複数のユーザをクラスタリングする(ステップS2:クラスタリング)。
【0046】
続いて、画像処理部13及び自然言語処理部15により、それぞれのユーザによって投稿された投稿データの内容が推定される(ステップS3,S4)。レコメンド部16は、SNSの投稿の傾向(すなわち、対象ユーザの投稿率、対象ユーザのフォロワの投稿率、全ユーザの投稿率、費用の高さなど)を取得し、取得された投稿の傾向と対象ユーザが属するバイアスクラスとに基づいて、対象ユーザにレコメンドされる投稿内容を推定する(ステップS5)。そして、レコメンド部16は推定された投稿内容を含む情報を対象ユーザの使用する通信端末3に送信する(ステップS6)。
【0047】
対象ユーザは、通信端末3を操作することによってレコメンド装置10からレコメンドされた投稿内容を確認することができる。例えば、レコメンドされた投稿内容を対象ユーザが気に入った場合、対象ユーザは、その投稿内容に応じた内容をSNSに投稿すると考えられる。一方、レコメンドされた投稿内容を対象ユーザが気に入らなかった場合、対象ユーザは、その投稿内容に応じた内容をSNSに投稿しない可能性がある。
【0048】
そこで、一例においては、レコメンド部16によって対象ユーザにレコメンドがされてから一定期間が経過した後、又は、一定回数の投稿が実行された後、レコメンドされた内容を対象ユーザが投稿しなかったときには、対象ユーザのバイアスクラスが更新されてもよい。例えば、画像処理部13及び自然言語処理部15は、対象ユーザにレコメンドがされてからの一定期間における対象ユーザの投稿内容にレコメンドの内容が含まれているか否かを判定する。対象ユーザの投稿にレコメンドの内容が含まれている場合、対象ユーザのバイアスクラスの更新は不要と判定される。対象ユーザの投稿にレコメンドの内容が含まれていない場合、ユーザ分析部12は、対象ユーザのバイアスクラスを更新するために、対象ユーザの行動バイアス情報(ユーザバイアス)を更新してもよい。
【0049】
一例において、ユーザ分析部12は、対象ユーザに送信されたレコメンドと同じ内容をレコメンドされて実際にレコメンドの内容を投稿した複数のユーザの行動バイアス情報を抽出する。そして、ユーザ分析部12は、抽出された行動バイアス情報について、行動バイアスごとに平均値(以下、平均バイアスという)を算出する。ユーザ分析部12は、対象ユーザの行動バイアスが平均バイアスから離れるように、対象ユーザの行動バイアスを修正する。例えば、ユーザ分析部12は、平均バイアスから対象ユーザの行動バイアスを差し引いた値を、一定の割合で対象ユーザの行動バイアスから減算してもよい。一例として、対象ユーザの行動バイアス(4種類)が[0.5,0.4,0.8,0.2]であり、算出された平均値が[0.35,0.44,0.5,0.82]の場合に、差分の五分の一を対象ユーザの行動バイアスから減算するとすると、対象ユーザの行動バイアスは、[0.53,0.3992,0.86,0.076]に更新される。ユーザ分析部12は、対象ユーザの更新後の行動バイアス情報に基づいて、複数のユーザをクラスタリングする。これにより、対象ユーザのバイアスクラスが更新され得る。
【0050】
以上、説明したように、一例のレコメンド装置10は、対象ユーザの行動属性を取得するユーザ分析部12と、対象ユーザを含む複数のユーザの投稿データを取得する画像処理部13及び自然言語処理部15と、ユーザ分析部12によって取得された対象ユーザの行動属性、及び、画像処理部13及び自然言語処理部15によって取得された投稿データ、に基づいて、対象ユーザに対してレコメンドされる投稿内容を決定するレコメンド部16と、を備える。
【0051】
上記のレコメンド装置10では、これまでにSNSに対して投稿された投稿データだけでなく、対象ユーザの行動属性を加味して、対象ユーザに対してSNSに投稿する投稿内容を決定する。例えば、投稿データからは現在の投稿の傾向などが把握できる。また、行動属性は、対象ユーザの意思決定における傾向を示し得る。そのため、レコメンド装置10では、対象ユーザに対して、当該ユーザがSNSに投稿したくなる内容をレコメンドすることができる。
【0052】
また、レコメンド部16は、投稿データから導出されるSNSの投稿の傾向と、投稿の傾向についての対象ユーザの行動属性の特徴とに基づいて、対象ユーザに対してレコメンドされる投稿内容を推定する。例えば、SNSの投稿の傾向には、対象ユーザの投稿の傾向、フォロワの投稿の傾向、全ユーザの投稿の傾向が含まれ得る。また、投稿の傾向とは、どのようなジャンル及びコンテンツにおいて、どのような内容が投稿されやすいか、又は、投稿されにくいかが含まれ得る。投稿の傾向についての行動属性の特徴とは、対象ユーザがどのような投稿の傾向に左右され易いかを示し得る。行動属性の特徴に基づいて、例えば、多くのユーザに投稿されている内容を好むのか、あまり投稿されない内容を好むのか、などが推定される。これにより、対象ユーザに好まれやすい投稿内容を推定することができる。
【0053】
また、投稿の傾向は、投稿数割合を含んでいてもよい。投稿数割合は、全てのコンテンツにおける投稿数に対するそれぞれのコンテンツの投稿数の割合である。例えば、フォロワの投稿の傾向、及び、全ユーザの投稿の傾向は、それぞれのユーザの投稿数割合の平均によって算出されてもよい。この場合、ユーザが好んで投稿するコンテンツを容易に把握することができる。
【0054】
また、投稿の傾向は、それぞれのコンテンツの投稿割合を含んでいてもよい。投稿割合は、コンテンツに対応する投稿内容を投稿したことのあるユーザの割合である。この場合、多くのユーザにとって興味のあるコンテンツを容易に把握することができる。
【0055】
また、ユーザ分析部12は、複数のユーザが回答するアンケートの結果に基づいて行動属性を取得する。例えば、ユーザが使用する通信端末から取得される各種情報によりユーザの行動属性を推定してもよいが、行動属性を推定することに特化したアンケートを用いることにより、精度良くユーザの行動属性を推定できる。
【0056】
また、行動属性は、アンケートの結果から導出される複数の行動バイアス情報に基づいて分類された複数のバイアスクラスによって構成されている。例えば、行動バイアス情報の各数値をそのまま演算に利用することもできるが、ユーザをバイアスクラスに分類することにより、演算処理の負担を軽減できる。
【0057】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0058】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0059】
例えば、本開示の一実施の形態におけるレコメンド装置10は、本開示の情報処理を行うコンピュータとして機能してもよい。
図7は、本開示の一実施の形態に係るレコメンド装置10のハードウェア構成の一例を示す図である。上述のレコメンド装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0060】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンド装置10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0061】
レコメンド装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【0062】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述のレコメンド装置10における各機能は、プロセッサ1001によって実現されてもよい。
【0063】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、レコメンド装置10における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0064】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0065】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。レコメンド装置10が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【0066】
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0067】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0068】
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0069】
また、レコメンド装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0070】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0071】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0072】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0073】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0074】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0075】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0076】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0077】
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0078】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0079】
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
【0080】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
【0081】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0082】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0083】
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0084】
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0085】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0086】
10…レコメンド装置、11…情報取得部、12…ユーザ分析部(第1取得部の一例)、13…画像処理部(第2取得部の一例)、15…自然言語処理部(第2取得部の一例)、16…レコメンド部(決定部の一例)16、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…通信装置、1005…入力装置、1006…出力装置、1007…バス。