IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社NTTドコモの特許一覧

特許7503060種別推定用モデル生成システム及び種別推定システム
<>
  • 特許-種別推定用モデル生成システム及び種別推定システム 図1
  • 特許-種別推定用モデル生成システム及び種別推定システム 図2
  • 特許-種別推定用モデル生成システム及び種別推定システム 図3
  • 特許-種別推定用モデル生成システム及び種別推定システム 図4
  • 特許-種別推定用モデル生成システム及び種別推定システム 図5
  • 特許-種別推定用モデル生成システム及び種別推定システム 図6
  • 特許-種別推定用モデル生成システム及び種別推定システム 図7
  • 特許-種別推定用モデル生成システム及び種別推定システム 図8
  • 特許-種別推定用モデル生成システム及び種別推定システム 図9
  • 特許-種別推定用モデル生成システム及び種別推定システム 図10
  • 特許-種別推定用モデル生成システム及び種別推定システム 図11
  • 特許-種別推定用モデル生成システム及び種別推定システム 図12
  • 特許-種別推定用モデル生成システム及び種別推定システム 図13
  • 特許-種別推定用モデル生成システム及び種別推定システム 図14
  • 特許-種別推定用モデル生成システム及び種別推定システム 図15
  • 特許-種別推定用モデル生成システム及び種別推定システム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】種別推定用モデル生成システム及び種別推定システム
(51)【国際特許分類】
   G06F 16/906 20190101AFI20240612BHJP
   G10K 15/04 20060101ALI20240612BHJP
【FI】
G06F16/906
G10K15/04 302D
【請求項の数】 8
(21)【出願番号】P 2021530555
(86)(22)【出願日】2020-06-17
(86)【国際出願番号】 JP2020023774
(87)【国際公開番号】W WO2021005982
(87)【国際公開日】2021-01-14
【審査請求日】2023-04-20
(31)【優先権主張番号】P 2019126364
(32)【優先日】2019-07-05
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】田中 茂樹
(72)【発明者】
【氏名】深澤 佑介
【審査官】鹿野 博嗣
(56)【参考文献】
【文献】米国特許出願公開第2015/0297109(US,A1)
【文献】国際公開第2017/155966(WO,A1)
【文献】特開2008-176398(JP,A)
【文献】中国特許出願公開第107766561(CN,A)
【文献】中国特許出願公開第107818334(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G10K 15/04
(57)【特許請求の範囲】
【請求項1】
ユーザが複数の種別の何れに属するかの種別推定に用いる種別推定用モデルを生成する種別推定用モデル生成システムであって、
機械学習に用いる学習データである、利用された複数の楽曲に関する時系列の情報である学習用時系列情報、及び当該複数の楽曲を利用したユーザが属する種別を示す学習用種別情報を取得する学習データ取得部と、
前記学習データ取得部によって取得された学習用時系列情報に基づく情報を、楽曲の単位で時系列の順番で種別推定用モデルへの入力とし、前記学習データ取得部によって取得された学習用種別情報に基づく情報を種別推定用モデルの出力として機械学習を行って種別推定用モデルを生成するモデル生成部と、
を備える種別推定用モデル生成システム。
【請求項2】
前記学習データ取得部は、利用された楽曲の歌手に関する情報を含む学習用時系列情報を取得する請求項1に記載の種別推定用モデル生成システム。
【請求項3】
前記学習データ取得部は、利用された楽曲のジャンルに関する情報を含む学習用時系列情報を取得する請求項1又は2に記載の種別推定用モデル生成システム。
【請求項4】
前記学習データ取得部は、利用された楽曲の歌詞に含まれる単語に関する情報を含む学習用時系列情報を取得する請求項1~3の何れか一項に記載の種別推定用モデル生成システム。
【請求項5】
前記学習データ取得部は、利用された楽曲の音声データに関する情報を含む学習用時系列情報を取得する請求項1~4の何れか一項に記載の種別推定用モデル生成システム。
【請求項6】
前記学習データ取得部は、利用された複数の楽曲に関する時系列の情報であると共に楽曲が利用された時刻を示す情報を含む情報を取得し、当該時刻に基づいて学習用時系列情報及び学習用利用楽曲情報を生成する請求項1~5の何れか一項に記載の種別推定用モデル生成システム。
【請求項7】
前記学習データ取得部は、複数のユーザそれぞれについて学習用時系列情報を取得して、取得した学習用時系列情報のクラスタリングを行って推定対象の複数の種別を生成し、生成した種別に基づいて学習用種別情報を取得する請求項1~6の何れか一項に記載の種別推定用モデル生成システム。
【請求項8】
請求項1~7の何れか一項に記載の種別推定用モデル生成システムによって生成された種別推定用モデルを用いて複数の種別のうちユーザが属する種別を推定する種別推定システムであって、
利用された複数の楽曲に関する時系列の情報である種別推定用時系列情報を取得するモデル利用データ取得部と、
前記モデル利用データ取得部によって取得された種別推定用時系列情報に基づく情報を、楽曲の単位で時系列の順番で前記種別推定用モデルへ入力してユーザが属する種別を推定するモデル利用部と、
を備える種別推定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが複数の種別の何れに属するかの種別推定に用いる種別推定用モデルを生成する種別推定用モデル生成システム、及び種別推定用モデルを用いてユーザが属する種別を推定する種別推定システムに関する。
【背景技術】
【0002】
従来から、的確なサービスの提供のため、カラオケおけるユーザの歌唱履歴に基づいて、ユーザをクラスタリングすることが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2011-209483号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1に示される方法は、歌唱履歴に基づいてユーザをクラスタリングするものであるが、ユーザがどのような順番で楽曲を歌唱したかが適切に考慮されていない。例えば、複数のユーザからなるユーザグループでカラオケが行われる場合、通常、異なるユーザが順番に歌唱するため、ユーザ(ユーザグループ)のクラスタリングは、それまでに歌唱された楽曲の順番を考慮したものである必要がある。従って、特許文献1に示される方法は、そのような観点からは適切にクラスタリングを行えないおそれがある。
【0005】
本発明の一実施形態は、上記に鑑みてなされたものであり、利用された楽曲に基づくユーザの種別分けを適切に行うことができる種別推定用モデル生成システム及び種別推定システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、本発明の一実施形態に係る種別推定用モデル生成システムは、ユーザが複数の種別の何れに属するかの種別推定に用いる種別推定用モデルを生成する種別推定用モデル生成システムであって、機械学習に用いる学習データである、利用された複数の楽曲に関する時系列の情報である学習用時系列情報、及び当該複数の楽曲を利用したユーザが属する種別を示す学習用種別情報を取得する学習データ取得部と、学習データ取得部によって取得された学習用時系列情報に基づく情報を、楽曲の単位で時系列の順番で種別推定用モデルへの入力とし、学習データ取得部によって取得された学習用種別情報に基づく情報を種別推定用モデルの出力として機械学習を行って種別推定用モデルを生成するモデル生成部と、を備える。
【0007】
また、本発明の一実施形態に係る種別推定システムは、種別推定用モデル生成システムによって生成された種別推定用モデルを用いて複数の種別のうちユーザが属する種別を推定する種別推定システムであって、利用された複数の楽曲に関する時系列の情報である種別推定用時系列情報を取得するモデル利用データ取得部と、モデル利用データ取得部によって取得された種別推定用時系列情報に基づく情報を、楽曲の単位で時系列の順番で種別推定用モデルへ入力してユーザが属する種別を推定するモデル利用部と、を備える。
【0008】
本発明の一実施形態によれば、機械学習によって生成される種別推定用モデルに基づいて、種別の推定対象のユーザによって利用される複数の楽曲に関する時系列の情報である時系列情報が用いられてユーザの種別を推定することができる。時系列情報に基づく情報は、楽曲の単位で時系列の順番で種別推定用モデルへの入力とされるため、歌唱された楽曲の順番を考慮した種別の推定を行うことができる。従って、本発明の一実施形態によれば、利用された楽曲に基づくユーザの種別分けを適切に行うことができる。
【発明の効果】
【0009】
本発明の一実施形態によれば、利用された楽曲に基づくユーザの種別分けを適切に行うことができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態に係る種別推定用モデル生成システム及び種別推定システムであるレコメンドサーバの構成を示す図である。
図2】レコメンドサーバに記憶される楽曲等に関する情報の例を示すテーブルである。
図3】歌手IDから変換される特徴量の例を示すテーブルである。
図4】楽曲の歌詞に含まれる単語の重要度の例を示すテーブルである。
図5】楽曲の音声データから変換されるスペクトログラムの例を示す図である。
図6】過去に歌唱された楽曲を示す時系列の情報の例を示すテーブルである。
図7】楽曲レコメンド用モデルを生成するための学習データの例を示すテーブルである。
図8】楽曲レコメンド用モデルを生成するための学習データの対応関係の例を示す図である。
図9】種別推定用モデルを生成するための学習データの例を示す図である。
図10】ユーザの種別を生成するために行われるクラスタリングの例を示す図である。
図11】セッション毎に対応付けられる識別番号の例を示すテーブルである。
図12】種別推定用モデルを生成するための学習データの対応関係の例を示す図である。
図13】楽曲レコメンド用モデル及び種別推定用モデルの用いられ方を模式的に示す図である。
図14】本発明の実施形態に係る種別推定用モデル生成システム及び種別推定システムであるレコメンドサーバで楽曲レコメンド用モデル及び種別推定用モデルを生成する際に実行される処理を示すフローチャートである。
図15】本発明の実施形態に係る種別推定用モデル生成システム及び種別推定システムであるレコメンドサーバでユーザへの楽曲に関するレコメンドを行う際に実行される処理を示すフローチャートである。
図16】本発明の実施形態に係る種別推定用モデル生成システム及び種別推定システムであるレコメンドサーバのハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、図面と共に本発明に係る種別推定用モデル生成システム及び種別推定システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0012】
図1に本実施形態に係る種別推定用モデル生成システム及び種別推定システムであるレコメンドサーバ1を示す。レコメンドサーバ1は、楽曲に関する情報をユーザにレコメンドするシステムである。具体的には、レコメンドサーバ1は、ユーザがカラオケで歌唱する際に歌唱される楽曲、あるいは歌手をレコメンドする。レコメンドサーバ1は、最初に歌唱する楽曲に関するレコメンドを行う。また、レコメンドサーバ1は、楽曲が歌唱された後に次に歌唱する楽曲に関するレコメンドを行う。レコメンドサーバ1は、楽曲が歌唱される度に次に歌唱する楽曲に関するレコメンドを行ってもよい。
【0013】
本実施形態においてレコメンドの対象となるユーザは、同時にカラオケを行う複数のユーザからなるグループ、例えば、順番で歌唱するユーザのグループを含んでいてもよい。以下の説明では、単にユーザといった場合であっても、複数のユーザからなるグループも含むものとする。なお、レコメンドサーバ1は、カラオケ以外でユーザが利用する楽曲に関する情報をレコメンドするものであってもよい。例えば、レコメンドサーバ1は、ユーザが聴く楽曲に関するレコメンドを行うものであってもよい。
【0014】
レコメンドサーバ1は、機械学習を行って楽曲レコメンド用モデル(学習済モデル)を生成して、生成した楽曲レコメンド用モデルを用いてレコメンドする。また、レコメンドサーバ1は、ユーザが複数の種別の何れに属するかの種別推定を行って、種別推定の結果をユーザへのレコメンドに用いる。ユーザの種別は、ユーザが歌唱した楽曲に応じた区分である。レコメンドサーバ1は、機械学習を行って種別推定用モデル(学習済モデル)を生成して、生成した種別推定用モデルを用いて種別推定を行う。レコメンドサーバ1は、楽曲レコメンド用モデル及び種別推定用モデルを生成する構成としてモデル生成システム10と、レコメンド及び種別推定する構成としてモデル利用システム20とを含む。モデル生成システム10は、本実施形態に係る種別推定用モデル生成システムである。モデル利用システム20は、本実施形態に係る種別推定システムである。
【0015】
レコメンドサーバ1は、通信機能を有するサーバ装置によって構成されている。レコメンドサーバ1は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。レコメンドサーバ1は、端末30と、データサーバ40との間でインターネット及び専用回線等のネットワークを介して互いに情報の送受信を行うことができる。なお、情報の送受信の際には、それらの装置の間に設けられた中継サーバによって情報の中継が行われてもよい。
【0016】
端末30は、カラオケ店等の店舗でユーザによって用いられる端末である。端末30は、例えば、カラオケ店等の店舗において、ユーザが楽曲を検索、入力するのに用いられる。端末30は、例えば、カラオケ店の店舗に設けられている情報端末である。あるいは、端末30は、個々のユーザによって所有されるスマートフォン等の情報端末であってもよい。この場合、当該情報端末に当該端末30としての機能を実現するカラオケ店用のアプリケーションがインストールされて用いられる。端末30は、レコメンドサーバ1にレコメンドコンテンツの要求(リクエスト)を行って、レコメンドサーバ1からレコメンドに関する情報を受信して表示等の出力を行う。ユーザは、当該出力を参照して歌唱する楽曲を決めることができる。
【0017】
データサーバ40は、レコメンドサーバ1によるレコメンドに用いられるデータを記憶する装置である。具体的にどのような情報を記憶しているかについては後述する。データの種別毎に複数のデータサーバ40が設けられていてもよい。
【0018】
引き続いて、本実施形態に係るレコメンドサーバ1に含まれるモデル生成システム10と、モデル利用システム20とのそれぞれの機能を説明する。図1に示すように、モデル生成システム10は、学習データ取得部11と、モデル生成部12とを備えて構成される。
【0019】
学習データ取得部11は、楽曲レコメンド用モデルを作成する機械学習に用いる学習データを取得する機能部である。学習データ取得部11は、学習データとして、楽曲が利用された場所における、人の属性(特性)毎の人口を示す学習用人口情報、及び当該楽曲に関する学習用利用楽曲情報を取得する。学習データ取得部は、楽曲が利用される場所における、人の属性及び時刻毎の人口を示す学習用人口情報を取得する。人の属性は、人の職業及び嗜好の少なくとも何れかを含む。
【0020】
また、学習データ取得部11は、学習データとして、利用された複数の楽曲に関する時系列の情報である学習用時系列情報、及び当該複数の楽曲の後に利用された楽曲に関する学習用利用楽曲情報を取得する。学習データ取得部11は、利用された楽曲の歌手に関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された楽曲のジャンルに関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された楽曲の歌詞に含まれる単語に関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された楽曲の音声データに関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された複数の楽曲に関する時系列の情報であると共に楽曲が利用された時刻を示す情報を含む情報を取得し、当該時刻に基づいて学習用時系列情報及び学習用利用楽曲情報を生成する。学習データ取得部11は、当該複数の楽曲を利用したユーザが属する種別を示す学習用種別情報を取得する。具体的には、学習データ取得部11は、以下のように学習データを取得する。
【0021】
学習データ取得部11は、予め楽曲に関する情報を記憶している。この楽曲は、カラオケによって提供可能な楽曲、即ち、ユーザによって利用可能な楽曲である。学習データ取得部11は、図2(a)に示す楽曲テーブルを記憶している。楽曲テーブルは、楽曲ID、歌手名及びジャンル名等を対応付けて格納したものである。楽曲IDは、予め設定された各楽曲を特定する情報(識別子)である。歌手名は、当該楽曲を歌っている歌手の名前である。ジャンル名は、当該楽曲のジャンルを示す情報である。図2(a)に示すように、ジャンル名としては、「J-POP」「バラード」等がある。レコメンドサーバ1に予め記憶される情報は、特に説明する場合を除いてデータサーバ40等から取得されている。
【0022】
学習データ取得部11は、図2(b)に示す歌手IDテーブルを記憶している。楽曲テーブルは、歌手名及び歌手IDを対応付けて格納したものである。歌手IDは、予め設定された各歌手を特定する情報(識別子)である。歌手IDは、機械学習に用いるため、数値、例えば、図2(b)に示す整数とされる。学習データ取得部11は、図2(a)に示す楽曲テーブルの歌手名を、図2(b)に示す歌手IDテーブルによって示される対応付けに基づいて歌手IDに変換する。
【0023】
また、学習データ取得部11は、ジャンル名についても歌手名と同様にIDテーブルを記憶しており、当該IDテーブルに基づいて楽曲テーブルのジャンル名をジャンルIDに変換する。ジャンルIDも、歌手IDと同様に、機械学習に用いるため、数値、例えば、整数とされる。このように学習データ取得部11は、図2(c)に示すID化された(IDに変換された)楽曲テーブルを生成する。なお、IDテーブルについては、データサーバ40から取得されたものではなく、レコメンドサーバ1で生成されたものが用いられてもよい。
【0024】
後述するように、歌手IDは、楽曲レコメンド用モデルにおいて特徴量に変換される。特徴量の例を図3(a)に示す。特徴量は、予め設定された次元数の数値である。図3(a)に示す例では、2次元の特徴量である。特徴量の次元数は、通常、数次元~数十次元の数値とされる。特徴量は、機械学習時に更新されていき、よりよい数値に置き換えられる。ジャンルIDについても、歌手IDと同様に特徴量に変換される。図3(b)に特徴量化された(特徴量に変換された)楽曲テーブルを示す。
【0025】
学習データ取得部11は、各楽曲の歌詞を示す情報をデータサーバ40から取得する。学習データ取得部11は、歌詞を形態素解析して単語に分割する。学習データ取得部11は、各楽曲について、各単語の歌詞における出現頻度を考慮して各単語の重要度を算出する。重要度を算出する単語は、予め設定されていてもよい。例えば、動詞、形容詞及び形容動詞である単語についての重要度を算出することとしてもよい。学習データ取得部11は、以下の式によって、楽曲(歌詞)dにおける単語tの重要度tfidf(t,d)を算出する。
idf(t)=log(総楽曲数/単語tが出現する楽曲数)=log(N/df(t))
tf(t,d)=楽曲d内の単語tの出現回数/楽曲dの全ての単語の出現回数の和=f(t,d)/Σtk∈djf(t,d
tfidf(t,d)=tf(t,d)・idf(t
図4にある楽曲についての単語の重要度を示す。なお、楽曲の歌詞に基づく情報としては、単語の重要度以外の任意に特徴量化された情報が用いられてもよい。
【0026】
学習データ取得部11は、各楽曲の音声データをデータサーバ40から取得する。音声データは、例えば、カラオケの楽曲の再生に用いられるデータ(音源)であり、時刻毎の信号強度の数値である音声の波形のデータである。音声データとしては、MP3(MPEG-1 Audio Layer-3)が用いられてもよい。学習データ取得部11は、各楽曲の音声データをスペクトログラム(メルスペクトログラム)に変換する。学習データ取得部11は、各楽曲について、予め共通して設定された時間帯の音声データをスペクトログラムに変換する。例えば、楽曲の冒頭から1分間の音声データをスペクトログラムに変換する。これは、それぞれ時間長が異なる楽曲を同一のサイズのデータとして扱うためである。音声データのスペクトログラムへの変換は、従来の方法によって行うことができる。変換されたスペクトログラムは、時刻(例えば、楽曲の冒頭からの経過した秒)及び周波数(例えば、Hz)毎の信号強度の数値(例えば、dB)のデータとなる。図5にある楽曲についてのスペクトログラムの例を示す。図5に示すようにスペクトログラムは、画像として扱うことができる。なお、音声データに基づく情報としては、スペクトログラム以外の任意に特徴量化された情報が用いられてもよい。また、音声データに基づく情報として上記の波形のデータ自体が用いられてもよい。
【0027】
学習データ取得部11は、場所及び人の属性毎の人口を示す情報を予め記憶する。例えば、学習データ取得部11は、予め設定された500m四方のメッシュ毎の1時間毎の人口の情報を記憶する。人の属性は、カラオケにおける選曲に影響を及ぼし得る属性であり、人の職業及び嗜好である。職業の別としては、「会社員」「自営業」「専業主婦(夫)」「学生」「無職」等である。嗜好の別としては、「ショッピング」「アニメ」といったユーザが好む趣味等である。上記の情報は、メッシュ及び時間毎に職業の数×嗜好の数の人口を示す情報となる。なお、属性については、職業及び嗜好の何れか一方のみが用いられてもよい。また、それ以外のカラオケにおける選曲に影響を及ぼし得る属性、例えば、性別、年齢等の属性が用いられてもよい。上記の属性毎の人口の情報は、例えば、携帯電話機の位置を示す情報及び携帯電話機の契約者について登録された情報から空間統計情報として生成することができる。
【0028】
学習データ取得部11は、過去に利用された複数の楽曲に関する時系列の情報を取得する。具体的には、学習データ取得部11は、カラオケ店等の店舗において過去に歌唱された複数の楽曲を示す時系列の情報であるログを取得する。学習データ取得部11は、当該情報をデータサーバ40から取得する。図6に当該情報の例を示す。当該情報は、端末ID、歌唱時間、楽曲及び楽曲IDが対応付いたものである。端末IDは、カラオケ店等の店舗における楽曲の利用に用いられた端末30を特定する情報(識別子)である。それぞれの端末30には、予め端末IDが設定されている。歌唱時間は、利用(歌唱)された時刻を示す情報(例えば、図6に示すように年月日時分)である。楽曲は、利用(歌唱)された楽曲の楽曲名である。楽曲IDは、利用(歌唱)された楽曲の楽曲IDである。
【0029】
カラオケ店等の店舗では、端末30の利用の際にユーザがログインすることはほとんどない。そのため、本実施形態に示す情報のように、カラオケ店等の店舗における歌唱履歴には、どのユーザによって歌唱されたかを示す情報が含まれていない場合がある。機械学習のためには、楽曲の利用に係る履歴の情報をユーザ単位とする必要がある。学習データ取得部11は、取得した情報に含まれる歌唱時間に基づいて、機械学習に用いる情報である学習用時系列情報及び学習用利用楽曲情報を生成する。本実施形態では、ユーザが、カラオケの開始から終了まで、例えば、カラオケ店等の店舗への来店から退店までを1セッションとする。学習データ取得部11は、セッションを単位として上記の情報を生成する。
【0030】
学習データ取得部11は、取得した各情報について、同一の端末IDで直前に歌唱された楽曲の情報の歌唱時間を参照する。学習データ取得部11は、直前の楽曲の歌唱から、予め設定された一定時間経過しているか否かを判断する。一定時間経過していなければ同一のユーザによって歌唱が行われているとして、学習データ取得部11は、当該情報を直前の楽曲の情報と同一のセッションを構成する情報であるとする。一定時間経過していれば別のユーザによって歌唱が行われているとして、学習データ取得部11は、当該情報を直前の楽曲の情報と別のセッションを構成する情報であるとする。例えば、図6に示す情報の例では、1行目及び2行目の情報が1つのセッション、3行目及び4行目の情報が1つのセッション、5行目の情報が1つのセッションをそれぞれ構成する。
【0031】
学習データ取得部11は、各セッションで歌唱された楽曲の情報それぞれに楽曲IDをキーとして上述した楽曲に関する各情報を対応付ける。具体的には、図2(c)に示す歌手ID及びジャンルIDを含む楽曲メタ情報、図4に示す歌詞重要度情報、及び図5に示すスペクトログラム情報を対応付ける(結合する)。図7(a)に、あるセッションについての楽曲に関する各情報が対応付けられる前の情報、図7(b)に、あるセッションについての楽曲に関する各情報が対応付けられた後の情報を示す。
【0032】
続いて、学習データ取得部11は、上記の情報に基づいて、学習用時系列情報及び学習用利用楽曲情報を生成する。学習データ取得部11は、セッションの各情報によって示される楽曲を歌唱時間の順に1曲目、2曲目…とする。学習データ取得部11は、セッションにおける上記の順番の楽曲を、機械学習の際の楽曲レコメンド用モデルの出力(Y)に対応する楽曲とする。当該楽曲に係る情報が、学習用利用楽曲情報である。当該楽曲に係る情報のうち、楽曲ID及び歌手IDが、学習用利用楽曲情報とされる。学習データ取得部11は、学習用利用楽曲情報において、楽曲ID及び歌手IDを示す情報を、IDの種類分の次元の、IDに対応する要素を1とし、それ以外の要素を0とするベクトルに変換する。なお、学習用時系列情報では、上記の変換は行わず、数値の情報として扱う。
【0033】
学習データ取得部11は、セッションにおける、学習用利用楽曲情報に係る楽曲の直前の楽曲を、機械学習の際の楽曲レコメンド用モデルへの入力(X)に対応する楽曲とする。当該楽曲に係る情報が、学習用時系列情報である。当該楽曲に係る情報のうち、図7(b)に示す端末ID、歌唱時間、楽曲及び楽曲IDを除いた全ての情報が、学習用時系列情報とされる。学習用時系列情報と学習用利用楽曲情報との対応関係の例を図8に示す。なお、出力の1曲目の楽曲に対応する入力の楽曲はない。出力の1曲目の楽曲に対応する入力の情報(図8のX(直前の曲)の「0」の情報)は、図7(b)に示す端末ID、歌唱時間、楽曲及び楽曲IDを除いた全ての情報において、当該曲がないことを示す数値(例えば、0)とされる情報とする。
【0034】
学習データ取得部11は、各セッションに対応する場所を示す情報を取得する。各セッションに対応する場所は、セッションに係る歌唱が行われた際に用いられた端末30が位置する場所である。学習データ取得部11は、当該場所を示す情報として、当該場所が存在するメッシュを示す情報を取得する。例えば、端末30がカラオケ店等の店舗に設けられている場合、学習データ取得部11は、予め端末30の端末IDと当該端末30が設けられているメッシュとの対応関係を記憶しておき、セッションに係る情報によって示される端末IDから対応関係に基づいてメッシュを示す情報を取得する。また、端末30がユーザに携帯されている場合、学習データ取得部11は、予め位置と位置を含むメッシュとの対応関係を記憶しておき、セッションに係る情報とあわせて端末30の位置を示す位置情報(例えば、緯度及び経度の情報)を取得し、位置情報から対応関係に基づいてメッシュを示す情報を取得する。この場合、予め、端末30からカラオケが利用される際に端末30から位置情報が送信されてデータサーバ40にセッションに係る情報とあわせて記憶されるようにしておく。
【0035】
学習データ取得部11は、取得したメッシュを示す情報から、当該メッシュの人口を示す情報を取得する(自身が記憶した情報から読み出す)。また、学習データ取得部11は、セッションに係る時刻に応じた人口を示す情報を取得してもよい。例えば、セッションの最初の楽曲の歌唱時間を含む時間帯の人口の情報を取得してもよい。取得した人口を示す情報は、機械学習の際の楽曲レコメンド用モデルへの入力として用いられる学習用人口情報である。
【0036】
学習データ取得部11は、楽曲レコメンド用モデルの生成に十分な数のセッションについての学習用人口情報、学習用時系列情報及び学習用利用楽曲情報を取得する。即ち、楽曲レコメンド用モデルに十分な数のセッションについてのこれらの情報を予め用意しておく。
【0037】
また、学習データ取得部11は、種別推定用モデルを作成する機械学習に用いる学習データを取得する機能部である。学習データ取得部11は、学習データとして、利用された複数の楽曲に関する時系列の情報である学習用時系列情報、及び当該複数の楽曲を利用したユーザが属する種別を示す学習用種別情報を取得する。学習データ取得部11は、利用された楽曲の歌手に関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された楽曲のジャンルに関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された楽曲の歌詞に含まれる単語に関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された楽曲の音声データに関する情報を含む学習用時系列情報を取得する。学習データ取得部11は、利用された複数の楽曲に関する時系列の情報であると共に楽曲が利用された時刻を示す情報を含む情報を取得し、当該時刻に基づいて学習用時系列情報及び学習用利用楽曲情報を生成する。学習データ取得部11は、複数のユーザそれぞれについて学習用時系列情報を取得して、取得した学習用時系列情報のクラスタリングを行って推定対象の複数の種別を生成し、生成した種別に基づいて学習用種別情報を取得する。なお、ここで生成される種別は、クラスタリングの処理によって生成された疑似的なものである。具体的には、学習データ取得部11は、以下のように学習データを取得する。なお、以下の学習データの取得では、各セッションを各ユーザに対応するものとして扱う。
【0038】
学習データ取得部11は、楽曲レコメンド用モデルの生成用の学習データの生成に用いられた、各セッションで歌唱された楽曲の情報それぞれに楽曲に関する情報が対応付けられた情報(図7に例を示した情報)から学習用時系列情報を生成する。学習データ取得部11は、セッションの各情報によって示される楽曲を歌唱時間の順に1曲目、2曲目…とする。学習データ取得部11は、セッションにおける上記の順番の楽曲に係る情報を、学習用時系列情報に対応する楽曲とする。当該楽曲に係る情報のうち、図7(b)に示す端末ID、歌唱時間、楽曲及び楽曲IDを除いた全ての情報が、学習用時系列情報とされる。図9(a)に2つのセッション(セッションA,セッションB)についての学習用時系列情報の例を示す。この情報は、図8におけるX(直前の曲)に示す、楽曲レコメンド用モデルを生成するための学習用時系列情報から、「0」の情報を除いたものである。
【0039】
また、学習データ取得部11は、以下のように学習用種別情報を取得する。学習データ取得部11は、学習用時系列情報のクラスタリングを行って推定対象の複数の種別を生成し、生成した種別に基づいて学習用種別情報を取得する。学習データ取得部11は、全てのセッションのデータの長さを一定にする。例えば、予め設定された楽曲数(例えば、3曲)の楽曲に係る情報の長さとする。データの長さを一定にした情報を図9(b)に示す。
【0040】
例えば、図9(a)に示すセッションAのように学習用時系列情報が4曲以上の楽曲に係る情報を含む場合には、1曲目から3曲目までの楽曲に係る情報のみをクラスタリングに用いる。また、図9(a)に示すセッションBのように学習用時系列情報が2曲以下のみの楽曲に係る情報を含む場合には、不足分の楽曲数分の情報を新たに加える。新たに加える情報(図9(b)のセッションBの「0」の情報)は、図7(b)に示す端末ID、歌唱時間、楽曲及び楽曲IDを除いた全ての情報において、当該曲がないことを示す数値(例えば、0)とされる情報である。即ち、この場合、学習用時系列情報の後方にゼロ詰めする。また、クラスタリングの際に用いられる情報のうち、歌手ID及びジャンルIDといった数値がIDを示す情報については、IDの種類分の次元の、IDに対応する要素を1とし、それ以外の要素を0とするベクトルに変換する。なお、機械学習に用いる学習用時系列情報では、上記の変換は行わず、数値の情報として扱う。
【0041】
学習データ取得部11は、クラスタリング用のセッションの情報を図10に示すようにクラスタリングする。図10(a)は、クラスタリング前の各セッションの情報を模式的に示す図である。1つの点が1つのセッションに対応する。図10(b)は、クラスタリングのセッションの情報である。同じ点でプロットされたセッションが、同一のクラスタに属していることを示している。上記の通り、クラスタリング用のセッションの情報は全て同一の次元の数値(例えば、3曲分の楽曲の情報)から構成されるベクトルとなるため、クラスタリングは従来の方法と同様に行うことができる。例えば、k平均法を用いてクラスタリングを行うことができる。クラスタリングによって生成されたクラスタが、ユーザが属する種別(クラスタ種別)となる。学習データ取得部11は、各種別に識別番号(クラスタ番号)を付与して、図11に示すように各セッションに、それぞれのセッションが属する種別の識別番号を対応付ける。
【0042】
学習データ取得部11は、セッションにおける、当該セッションに含まれる楽曲数分の種別の識別番号の情報を、機械学習の際の種別推定用モデルの出力(Y)とする情報とする。当該情報が、学習用種別情報である。学習データ取得部11は、学習用種別情報において、種別の識別番号を、識別番号の種類分の次元の、識別番号に対応する要素を1とし、それ以外の要素を0とするベクトルに変換する。学習データ取得部11は、セッションにおける、学習用時系列情報を、機械学習の際の種別推定用モデルへの入力(X)とする情報とする。学習用時系列情報と学習用種別情報との対応関係の例を図12(a)及び図12(b)に示す。図12(a)及び図12(b)に示すように、1つの楽曲に係る情報と1つの識別番号の情報とが対応付いている。
【0043】
学習データ取得部11は、楽曲レコメンド用モデルの生成用の情報と同様に、種別推定用モデルの生成に十分な数のセッションについての学習用時系列情報及び学習用種別情報を取得する。なお、学習データ取得部11は、学習用時系列情報及び学習用種別情報を上記以外の方法で取得してもよい。学習データ取得部11は、取得した学習データをモデル生成部12に出力する。
【0044】
モデル生成部12は、学習データ取得部11によって取得された学習データを用いて機械学習を行って楽曲レコメンド用モデルを生成する機能部である。また、モデル生成部12は、学習データ取得部11によって取得された学習データを用いて機械学習を行って種別推定用モデルを生成する。図13にモデル生成部12によって生成される楽曲レコメンド用モデル及び種別推定用モデルの用いられ方を模式的に示す。
【0045】
モデル生成部12は、楽曲レコメンド用モデル生成のため、学習データ取得部11によって取得された学習用人口情報に基づく情報を楽曲レコメンド用モデルへの入力とし、学習データ取得部11によって取得された学習用利用楽曲情報に基づく情報を楽曲レコメンド用モデルの出力として機械学習を行う。モデル生成部12は、楽曲レコメンド用モデル生成のため、学習データ取得部11によって取得された学習用時系列情報に基づく情報を、楽曲の単位で時系列の順番で楽曲レコメンド用モデルへの入力とし、学習データ取得部11によって取得された学習用利用楽曲情報に基づく情報を楽曲レコメンド用モデルの出力として機械学習を行う。モデル生成部12は、楽曲レコメンド用モデル生成のため、学習データ取得部11によって取得された学習用種別情報に基づく情報も楽曲レコメンド用モデルへの入力として機械学習を行う。
【0046】
図13に示すように、モデル生成部12によって生成される楽曲レコメンド用モデルは、楽曲が利用される場所における、人の属性毎の人口を示すレコメンド用人口情報(図13の人口情報)、利用された複数の楽曲に関する時系列の情報であるレコメンド用時系列情報(図13の楽曲の時系列情報)、ユーザが属する種別を示すレコメンド用種別情報(図13の種別情報)に基づく情報を入力して、レコメンドする楽曲に関する情報(図13のレコメンド情報)を出力するモデルである。即ち、楽曲レコメンド用モデルは、人口情報、種別情報、及び図8に示すXである楽曲の時系列情報から、Yであるレコメンドする楽曲に関する情報を予測するモデルである。楽曲レコメンド用モデルは、例えば、ニューラルネットワークを含んで構成される。ニューラルネットワークは、多層のものであってもよい。即ち、モデル生成部12は、深層学習(ディープラーニング)を行って楽曲レコメンド用モデルを生成してもよい。
【0047】
例えば、楽曲レコメンド用モデルでは入力層に、人口情報を入力するためのニューロンとして人口情報の次元数のニューロンが設けられる。具体的には、上述したように職業の数×嗜好の数のニューロンが設けられる。
【0048】
また、例えば、楽曲レコメンド用モデルでは入力層に、楽曲に関する情報を入力するためのニューロンとして1つの楽曲に関する情報の次元数のニューロンが設けられる。具体的には、上述したように楽曲メタ情報、歌詞重要度情報、及びスペクトログラム情報の次元の数のニューロンが設けられる。楽曲レコメンド用モデルは、時系列の複数の楽曲に関する情報を時系列の楽曲の順番で入力する。また、楽曲レコメンド用モデルには、歌唱された楽曲に関する情報が入力される前に歌唱された楽曲がないことを示す情報が入力される。当該情報は、全ての数値を0とした楽曲メタ情報、歌詞重要度情報、及びスペクトログラム情報に相当する情報であり、図8のX(直前の曲)の「0」の情報と同様の情報である。当該情報を入力することで、ユーザによって1曲も楽曲が歌唱されていない状態でも、楽曲レコメンド用モデルは、レコメンドする楽曲に関する情報を出力することができる。
【0049】
また、例えば、楽曲レコメンド用モデルでは入力層に、種別情報を入力するためのニューロンとして種別情報の次元に対応する数(例えば、種別数)のニューロンが設けられる。なお、後述するように種別情報も、楽曲に関する情報と同様に時系列の情報となるので、楽曲レコメンド用モデルは、時系列の種別情報を入力する。
【0050】
例えば、楽曲レコメンド用モデルは、レコメンドする楽曲に関する情報として、それぞれの楽曲についてレコメンドする度合いを示す数値及び歌手についてレコメンドする度合いを示す数値をそれぞれ出力する。楽曲レコメンド用モデルでは出力層に、楽曲についてレコメンドする度合いを示す数値を出力するためのニューロンとして、レコメンドの対象となる楽曲の数のニューロンが設けられる。機械学習において、学習用利用楽曲情報として、歌唱された楽曲の要素を1とし、それ以外の楽曲の要素を0としたベクトルを用いる場合、出力される数値が大きい程、レコメンドする度合いが大きいことを示している。楽曲レコメンド用モデルでは出力層に、歌手についてレコメンドする度合いを示す数値を出力するためのニューロンとして、レコメンドの対象となる歌手の数のニューロンが設けられる。機械学習において、学習用利用楽曲情報として、歌唱された楽曲の歌手の要素を1とし、それ以外の歌手の要素を0としたベクトルを用いる場合、出力される数値が大きい程、レコメンドする度合いが大きいことを示している。
【0051】
楽曲レコメンド用モデルは、楽曲に関する情報が入力される毎にレコメンドする楽曲に関する情報を出力する。出力されるレコメンドする楽曲に関する情報は、入力された情報に係る楽曲の次にレコメンドする楽曲に関する情報である。まず、楽曲レコメンド用モデルは、前に歌唱された楽曲がないことを示す情報を入力すると1曲目にレコメンドする楽曲に関する情報を出力する。次に、楽曲レコメンド用モデルは、1曲目に歌唱された楽曲に関する情報を入力すると2曲目にレコメンドする楽曲に関する情報を出力する。このように楽曲レコメンド用モデルは、歌唱された楽曲に関する情報の順次の入力に応じて、順次、次にレコメンドする楽曲に関する情報を出力する。
【0052】
なお、モデル生成部12によって生成される楽曲レコメンド用モデルは、ニューラルネットワーク以外によって構成されていてもよい。
【0053】
モデル生成部12は、学習データ取得部11から学習データを入力する。モデル生成部12は、入力した学習データのうち、時系列の楽曲に関する情報である学習用時系列情報、学習用人口情報及び学習用種別情報によって示されるそれぞれの数値を楽曲レコメンド用モデルへの入力値とし、学習用利用楽曲情報を楽曲レコメンド用モデルの出力値として機械学習を行って楽曲レコメンド用モデルを生成する。学習用時系列情報及び学習用種別情報については、楽曲の単位でセッションの時系列の順番で楽曲レコメンド用モデルへの入力値とする。なお、学習用種別情報のうちの最初の情報(学習用時系列情報のうちの最初の情報である楽曲がないことを示す情報に対応する情報)については、何れの種別でもないことを示す情報(例えば、全ての種別に対応する要素を0とした情報)とされる。
【0054】
また、学習用利用楽曲情報については、楽曲の単位でセッションの時系列の順番で楽曲レコメンド用モデルの出力値とする。その際、図8に対応関係を示しているように、所定の学習用時系列情報及び学習用種別情報が入力値とされた際に、それらの情報に対応する学習用利用楽曲情報が出力値とされるようにする。即ち、セッションにおいて歌唱された楽曲の履歴に基づいて、次にレコメンドする楽曲の情報が出力されるようにする。
【0055】
楽曲レコメンド用モデルにおいて、1つの数値として入力される歌手IDは、図3(a)に示すような、予め設定された次元数の数値である特徴量に変換される。楽曲レコメンド用モデルの機械学習を開始する際に、モデル生成部12は、ランダムな数値で特徴量の初期値を与える。楽曲レコメンド用モデルでは、出力値の生成に変換後の特徴量が用いられる。特徴量への変換を行うことで、楽曲レコメンド用モデルにおいて数値としてのIDを適切に扱うことができ、適切な出力値を得ることができる。歌手IDと同様にジャンルIDについても特徴量に変換される。また、学習用人口情報についても特徴量に変換されてもよい。なお、楽曲レコメンド用モデルにおいて、各情報の特徴量への変換は行われなくてもよい。
【0056】
上記の通り、学習用時系列情報及び学習用種別情報は、楽曲の単位で順次、楽曲レコメンド用モデルに入力される。楽曲レコメンド用モデルにおいて、それらの情報を時系列の情報として扱うため、楽曲レコメンド用モデルの内部においてGRU(Gated Recurrent Unit)を用いる。
【0057】
上記の機械学習自体は、従来の機械学習の方法と同様に行うことができる。モデル生成部12は、生成した楽曲レコメンド用モデルをモデル利用システム20に出力する。
【0058】
モデル生成部12は、種別推定用モデルの生成のため、学習データ取得部11によって取得された学習用時系列情報に基づく情報を、楽曲の単位で時系列の順番で種別推定用モデルへの入力とし、学習データ取得部11によって取得された学習用種別情報に基づく情報を種別推定用モデルの出力として機械学習を行う。
【0059】
図13に示すように、モデル生成部12によって生成される種別推定用モデルは、ユーザによって利用された複数の楽曲に関する時系列の情報である種別推定用時系列情報(図13の楽曲の時系列情報)に基づく情報を入力して、推定されるユーザが属する種別に関する情報(図13の種別情報)を出力するモデルである。即ち、種別推定用モデルは、図12(a)及び図12(b)に示すXである楽曲の時系列情報から、Yである種別情報を予測するモデルである。種別推定用モデルは、例えば、ニューラルネットワークを含んで構成される。ニューラルネットワークは、多層のものであってもよい。即ち、モデル生成部12は、深層学習(ディープラーニング)を行って種別推定用モデルを生成してもよい。
【0060】
例えば、種別推定用モデルでは入力層に、楽曲に関する情報を入力するためのニューロンとして1つの楽曲に関する情報の次元数のニューロンが設けられる。当該ニューロンに関しては、以下を除いて、楽曲レコメンド用モデルにおける楽曲に関する情報を入力するためのニューロンと同様である。種別推定用モデルに対しては、楽曲レコメンド用モデルとは異なり、ユーザによって1曲も楽曲が歌唱されていない状態での学習及び推定(予測)は行われない。
【0061】
例えば、種別推定用モデルは、推定する種別に関する情報として、それぞれの種別についてユーザが属する度合いを示す数値を出力する。種別推定用モデルでは出力層に、ユーザが属する度合いを示す数値を出力するためのニューロンとして、種別の数のニューロンが設けられる。機械学習において、学習用種別情報として、ユーザが属する種別の識別番号の要素を1とし、それ以外の楽曲の要素を0としたベクトルを用いる場合、出力される数値が大きい程、ユーザがその種別に属する度合いが大きいことを示している。
【0062】
種別推定用モデルは、楽曲に関する情報が入力される毎に種別に関する情報を出力する。出力される種別に関する情報は、入力された情報に係る時系列の楽曲によって推定される種別に関する情報である。まず、種別推定用モデルは、1曲目に歌唱された楽曲に関する情報を入力するとその情報から推定される種別に関する情報を出力する。続いて、種別推定用モデルは、2曲目に歌唱された楽曲に関する情報を入力するとそれまでの情報(1曲目及び2曲目の情報)から推定される種別に関する情報を出力する。このように種別推定用モデルは、歌唱された楽曲に関する情報の順次の入力に応じて、順次、推定される種別に関する情報を出力する。なお、歌唱された楽曲に関する情報の順次の入力に応じて、各種別についてユーザが属する度合いも変化し得る。
【0063】
種別推定用モデルによって出力される種別に関する情報は、ユーザへの楽曲に関するレコメンドの際に図13に示すように楽曲レコメンド用モデルに入力される。
【0064】
なお、モデル生成部12によって生成される種別推定用モデルは、上記のようなニューラルネットワーク以外によって構成されていてもよい。
【0065】
モデル生成部12は、入力した学習データのうち、時系列の楽曲に関する情報である学習用時系列情報によって示されるそれぞれの数値を種別推定用モデルへの入力値とし、種別情報を種別推定用モデルの出力値として機械学習を行って種別推定用モデルを生成する。学習用時系列情報については、楽曲の単位でセッションの時系列の順番で種別推定用モデルへの入力値とする。
【0066】
また、種別情報については、図12に示すような、学習用時系列情報の単位に対応する単位で時系列の順番で種別推定用モデルの出力値とする。その際、図12に対応関係を示しているように、所定の学習用時系列情報が入力値とされた際に、その情報に対応する種別情報が出力値とされるようにする。即ち、セッションにおいて歌唱された楽曲の履歴から推定される種別の情報が出力されるようにする。
【0067】
上記の通り、学習用時系列情報は、楽曲の単位で順次、種別推定用モデルに入力される。種別推定用モデルにおいて、それらの情報を時系列の情報として扱うため、種別推定用モデルの内部においてGRUを用いる。
【0068】
上記の機械学習自体は、従来の機械学習の方法と同様に行うことができる。モデル生成部12は、生成した種別推定用モデルをモデル利用システム20に出力する。学習データ取得部11及びモデル生成部12による処理は、例えば、日次のバッチ処理として行われてもよい。以上が、本実施形態に係るモデル生成システム10の機能である。
【0069】
引き続いて、本実施形態に係るモデル利用システム20の機能を説明する。図1に示すように、モデル利用システム20は、モデル利用データ取得部21と、モデル利用部22とを備えて構成される。
【0070】
モデル利用データ取得部21は、楽曲レコメンド用モデル及び種別推定用モデルに用いられるモデル利用データを取得する機能部である。モデル利用データ取得部21は、当該モデル利用データとして、楽曲が利用される場所における、人の属性毎の人口を示すレコメンド用人口情報を取得する。モデル利用データ取得部21は、当該モデル利用データとして、利用された複数の楽曲に関する時系列の情報であるレコメンド用時系列情報を取得する。モデル利用データ取得部21は、当該モデル利用データとして、利用された複数の楽曲に関する時系列の情報である種別推定用時系列情報を取得する。
【0071】
モデル利用データ取得部21は、ユーザがカラオケ店等の店舗においてカラオケを行う、即ち、楽曲を利用する際のデータを取得する。ユーザがカラオケを行う際に、当該ユーザによって用いられる端末30からレコメンドサーバ1にレコメンドコンテンツの要求が行われる。レコメンドコンテンツの要求は、まず、ユーザが歌唱するための楽曲を登録する前に行われる。
【0072】
モデル利用データ取得部21は、カラオケが行われる場所を示す情報を取得する。例えば、モデル利用データ取得部21は、当該場所を示す情報として、当該場所が存在するメッシュを示す情報を取得する。レコメンドコンテンツの要求に端末30の端末ID又は端末30の位置を示す位置情報(例えば、緯度及び経度の情報)が含まれており、モデル利用データ取得部21は、学習データ取得部11による方法と同様に端末30の端末ID又は位置情報からメッシュを示す情報を取得する。モデル利用データ取得部21は、学習データ取得部11による方法と同様に、取得したメッシュを示す情報から、当該メッシュの人口を示す情報を、レコメンド用人口情報として取得する(自身が記憶した情報から読み出す)。なお、記憶した人口情報が、時間帯毎の情報であった場合、現時点の時刻に対応付けられた人口情報を取得する。
【0073】
ユーザがカラオケを開始し楽曲の歌唱を行うと、端末30は、ユーザが歌唱した楽曲を示す情報を、レコメンドコンテンツの要求に含めてレコメンドサーバ1に送信する。送信される情報は、例えば、図6の各行に示す情報である。送信される情報には、複数の楽曲に係る情報(例えば、直近N件のログ)が含まれていてもよい。モデル利用データ取得部21は、端末30から送信された情報を受信する。モデル利用データ取得部21は、図7に示すように、端末30から受信された楽曲の情報に楽曲IDをキーとして楽曲に関する各情報を対応付ける。対応付けられる情報は、楽曲メタ情報、歌詞重要度情報及びスペクトログラム情報である。当該対応付けは、学習データ取得部11による方法と同様に行われる。
【0074】
モデル利用データ取得部21は、端末30から逐次、送信される情報を受信して上記の対応付けを行う。また、モデル利用データ取得部21は、学習データ取得部11による方法と同様に取得した個々の楽曲に関する情報が、別の楽曲に関する情報と同一のセッションを構成するものであるかを判断してもよい。モデル利用データ取得部21は、当該判断に基づいてセッション毎の時系列の楽曲に関する情報を生成する。モデル利用データ取得部21は、生成した時系列の楽曲に関する情報を種別推定用時系列情報とする。また、モデル利用データ取得部21は、生成した時系列の楽曲に関する情報の前に、上述した歌唱された楽曲がないことを示す情報を付与してレコメンド用時系列情報とする。歌唱された楽曲がないことを示す情報は、ユーザが1曲も歌唱していない状態で楽曲レコメンド用モデルを用いてレコメンドする情報を決定するためのものである。なお、端末30から楽曲を示す情報が送信されていない場合、レコメンド用時系列情報は、歌唱された楽曲がないことを示す情報のみとなり、種別推定用時系列情報はないものとする。モデル利用データ取得部21は、上記の各情報をセッションに係るユーザへのレコメンドに用いる情報とする。
【0075】
モデル利用データ取得部21は、取得したレコメンド用人口情報、レコメンド用時系列情報及び種別推定用時系列情報をモデル利用部22に出力する。
【0076】
モデル利用部22は、楽曲レコメンド用モデル及び種別推定用モデルを用いて、ユーザへレコメンドする楽曲に関する情報を決定する機能部である。モデル利用部22は、モデル利用データ取得部21によって取得されたレコメンド用人口情報に基づく情報を、楽曲レコメンド用モデルへ入力してレコメンドする情報を決定する。モデル利用部22は、モデル利用データ取得部21によって取得されたレコメンド用時系列情報に基づく情報を、楽曲の単位で時系列の順番で楽曲レコメンド用モデルへ入力してレコメンドする情報を決定する。モデル利用部22は、モデル利用データ取得部21によって取得された種別推定用時系列情報に基づく情報を、楽曲の単位で時系列の順番で種別推定用モデルへ入力してユーザが属する種別を推定する。
【0077】
モデル利用部22は、モデル生成システム10によって生成された楽曲レコメンド用モデル及び種別推定用モデルを入力して記憶しておき、ユーザへレコメンドする楽曲に関する情報の決定に用いる。モデル利用部22は、モデル利用データ取得部21から、レコメンド用人口情報及びレコメンド用時系列情報(種別推定用時系列情報)を入力する。
【0078】
モデル利用部22は、種別推定用時系列情報を、種別推定用モデルへの入力値として、種別推定用モデルからの出力値である種別情報を得る。種別推定用時系列情報を種別推定用モデルへの入力値とする際には、楽曲の単位でセッションの時系列の順番で行われる。出力値となる種別情報は、各種別についてユーザが属する度合いを示す数値(ベクトル)である。出力値となる種別情報は、楽曲の単位で種別推定用時系列情報を種別推定用モデルへ入力する毎に得られる。即ち、出力値となる種別情報は、種別推定用時系列情報に係る楽曲毎に得られる。当該数値が、ユーザが属する種別の推定結果に相当する。なお、端末30から楽曲を示す情報が送信されていない場合、種別推定用時系列情報はないため、種別推定は行われない。
【0079】
モデル利用部22は、図13に示すように、レコメンド用人口情報(図13の人口情報)、レコメンド用時系列情報(図13の楽曲の時系列情報)、及び種別推定用モデルから得られた種別情報(図13の種別情報)を楽曲レコメンド用モデルへの入力値として、楽曲レコメンド用モデルからの出力値であるレコメンド情報を得る。レコメンド用時系列情報及び種別情報を種別推定用モデルへの入力値とする際には、楽曲の単位でセッションの時系列の順番で行われる。なお、レコメンド用時系列情報における、歌唱された楽曲がないことを示す情報に対応する種別情報はないため、歌唱された楽曲がないことを示す情報に対しては、何れの種別でもないことを示す情報を用いる。
【0080】
出力値となるレコメンド情報は、各楽曲についてレコメンドする度合いを示す数値及び各歌手についてレコメンドする度合いを示す数値(ベクトル)である。出力値となるレコメンド情報は、楽曲の単位でレコメンド用時系列情報を楽曲レコメンド用モデルへ入力する毎に得られる。即ち、出力値となるレコメンド情報は、レコメンド用時系列情報に係る楽曲毎(楽曲がない場合も含む)に得られる。
【0081】
モデル利用部22は、出力値に基づいてユーザにレコメンドする情報を決定する。例えば、最も数値が大きい楽曲及び歌手をユーザにレコメンドするものと決定する。あるいは、数値が大きいものから順に予め設定した数の楽曲及び歌手をユーザにレコメンドするものと決定する。モデル利用部22は、当該決定を新たなレコメンド情報が得られる度に、即ち、端末30から歌唱した楽曲として新たな楽曲を示す情報が送信される度に行う。モデル利用部22は、決定した情報を端末30に送信する。端末30は、レコメンドサーバ1から送信されたレコメンドに係る情報を受信して、表示等の出力を行う。ユーザは、当該表示を参照して次に歌唱する楽曲を決めることができる。
【0082】
モデル利用データ取得部21及びモデル利用部22による処理は、例えば、上記のように端末30からの情報の受信に応じたリアルタイム処理として行われる。以上が、本実施形態に係るモデル利用システム20の機能である。
【0083】
引き続いて、図14及び図15のフローチャートを用いて、本実施形態に係るレコメンドサーバ1で実行される処理(レコメンドサーバ1が行う動作方法)を説明する。まず、図14のフローチャートを用いて、楽曲レコメンド用モデル及び種別推定用モデルを生成する際に実行される処理、即ち、本実施形態に係るモデル生成システム10で実行される処理を説明する。
【0084】
本処理では、まず、学習データ取得部11によって、楽曲レコメンド用モデルを作成する機械学習に用いる学習データ、及び種別推定用モデルを作成する機械学習に用いる学習データが取得される(S01)。続いて、学習データ取得部11によって、取得した学習データのうちの学習用時系列情報のクラスタリングが行われて複数の種別が生成されて、生成された種別に基づく学習用種別情報が取得される(S02)。続いて、モデル生成部12によって、学習データのうち、学習用時系列情報及び学習用種別情報に基づいて機械学習が行われて、種別推定用モデルが生成される(S03)。この機械学習の際には、学習用時系列情報に基づく情報が種別推定用モデルへの入力とされ、学習用種別情報に基づく情報が種別推定用モデルの出力とされる。学習用時系列情報に基づく情報は、楽曲の単位で時系列の順番で種別推定用モデルへの入力とされる。
【0085】
続いて、モデル生成部12によって、学習データのうち、学習用時系列情報、学習用人口情報、学習用種別情報及び学習用利用楽曲情報に基づいて機械学習が行われて、楽曲レコメンド用モデルが生成される(S04)。この機械学習の際には、学習用時系列情報、学習用人口情報及び学習用種別情報に基づく情報が楽曲レコメンド用モデルへの入力とされ、学習用利用楽曲情報に基づく情報が楽曲レコメンド用モデルの出力とされる。学習用時系列情報に基づく情報は、楽曲の単位で時系列の順番で楽曲レコメンド用モデルへの入力とされる。以上が、楽曲レコメンド用モデル及び種別推定用モデルを生成する際に実行される処理である。
【0086】
引き続いて、図15のフローチャートを用いて、ユーザへの楽曲に関するレコメンドを行う際に実行される処理、即ち、本実施形態に係るモデル利用システム20で実行される処理を説明する。本処理では、まず、モデル利用データ取得部21によって、楽曲レコメンド用モデルに用いられるモデル利用データ、及び種別推定用モデルに用いられるモデル利用データが取得される(S11)。モデル利用データは、端末30から送信されるレコメンドコンテンツの要求の受信をトリガとして取得される。
【0087】
続いて、モデル利用部22によって、モデル利用データのうち、種別推定用時系列情報に基づく情報が種別推定用モデルへ入力されて、レコメンド対象のユーザが属する種別が推定される(S12)。種別推定用時系列情報に基づく情報は、楽曲の単位で時系列の順番で種別推定用モデルへの入力とされる。推定結果として、種別推定用モデルからの出力値である種別情報が得られる。
【0088】
続いて、モデル利用部22によって、モデル利用データのうち、レコメンド用人口情報に基づく情報及びレコメンド用時系列情報に基づく情報、並びに種別情報が楽曲レコメンド用モデルへ入力されて、ユーザへレコメンドする楽曲に関するレコメンド情報が決定される(S13)。レコメンド用時系列情報に基づく情報に基づく情報は、楽曲の単位で時系列の順番で楽曲レコメンド用モデルへの入力とされる。続いて、モデル利用部22によって、レコメンド用時系列情報に基づいてユーザへの楽曲に関するレコメンドが行われる(S14)。ユーザは、レコメンドされた情報を参照して次に歌唱する楽曲を決めることができる。
【0089】
なお、1曲目の楽曲が歌唱される前のレコメンドコンテンツの要求が受信された時点では、利用された複数の楽曲に関する時系列の情報である時系列情報がないため、上記の処理において時系列情報は用いられてない。この場合、種別の推定(S12)は行われない。以上が、ユーザへの楽曲に関するレコメンドを行う際に実行される処理である。
【0090】
本実施形態によれば、機械学習によって生成される種別推定用モデルに基づいて、種別の推定対象のユーザによって利用される複数の楽曲に関する時系列の情報である時系列情報が用いられてユーザの種別を推定することができる。時系列情報に基づく情報は、楽曲の単位で時系列の順番で種別推定用モデルへの入力とされるため、歌唱された楽曲の順番を考慮した種別の推定を行うことができる。従って、本実施形態によれば、利用された楽曲に基づくユーザの種別分けを適切に行うことができる。例えば、人数、年齢層、性別、関係等が得られないユーザグループに対しても、適切に種別分けを行うことができる。
【0091】
また、適切に推定された種別を用いてレコメンドを行うことで、適切なレコメンドを行うことができる。但し、ユーザの種別の推定は、レコメンド以外の目的で行われるものであってもよい。
【0092】
また、本実施形態のように、利用された複数の楽曲に関する時系列の情報である時系列情報は、楽曲の歌手に関する情報、楽曲のジャンルに関する情報、楽曲の歌詞に含まれる単語に関する情報及び楽曲の音声データに関する情報を含むこととしてもよい。これらの情報を用いることで、歌手、ジャンル、歌詞及び音声データ(例えば、曲調又は聴き心地)に応じた適切な種別の推定を行うことができる。なお、時系列情報は、これらの何れかが含まれないこととしてもよい。また、時系列情報は、上記以外の楽曲に関する情報を含んでいてもよい。
【0093】
また、本実施形態のように学習用時系列情報のクラスタリングを行って、推定が行われる種別自体を生成することとしてもよい。この構成によれば、推定する種別自体を適切なものとすることができる。但し、種別は予め設定されたものであってもよい。
【0094】
また、本実施形態では、同一の楽曲レコメンド用モデルによって楽曲のレコメンドも歌手のレコメンドも行うことができる。但し、必ずしもこれら両方をレコメンドするものである必要はなく、何れか一方のみをレコメンドするものであってもよい。また、上記以外でも楽曲に関するものであれば、どのような情報をレコメンドしてもよい。
【0095】
また、本実施形態では、レコメンドサーバ1は、モデル生成システム10と、モデル利用システム20とを含むこととしたが、モデル生成システム10と、モデル利用システム20とが独立してそれぞれ実施されてもよい。
【0096】
また、モデル生成システム10によって生成される楽曲レコメンド用モデル及び種別推定用モデルのそれぞれは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。楽曲レコメンド用モデル及び種別推定用モデルは、CPU及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された楽曲レコメンド用モデル及び種別推定用モデルからの指令に従って、ニューラルネットワークの入力層に情報を入力して、ニューラルネットワークにおける学習済の重み付け係数等に基づく演算を行って、ニューラルネットワークの出力層から結果を出力するように動作する。
【0097】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0098】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)又は送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0099】
例えば、本開示の一実施の形態におけるレコメンドサーバ1は、本開示の情報処理を行うコンピュータとして機能してもよい。図16は、本開示の一実施の形態に係るレコメンドサーバ1のハードウェア構成の一例を示す図である。上述のレコメンドサーバ1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。また、端末30及びデータサーバ40も同様の装置構成であってもよい。
【0100】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンドサーバ1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0101】
レコメンドサーバ1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【0102】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述のレコメンドサーバ1における各機能は、プロセッサ1001によって実現されてもよい。
【0103】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、レコメンドサーバ1における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0104】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0105】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。レコメンドサーバ1が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【0106】
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0107】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0108】
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0109】
また、レコメンドサーバ1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0110】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0111】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0112】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0113】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0114】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0115】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0116】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0117】
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0118】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0119】
サーバ及びクライアントの少なくとも一方は、送信装置、受信装置、通信装置などと呼ばれてもよい。なお、サーバ及びクライアントの少なくとも一方は、移動体に搭載されたデバイス、移動体自体などであってもよい。当該移動体は、乗り物(例えば、車、飛行機など)であってもよいし、無人で動く移動体(例えば、ドローン、自動運転車など)であってもよいし、ロボット(有人型又は無人型)であってもよい。なお、サーバ及びクライアントの少なくとも一方は、必ずしも通信動作時に移動しない装置も含む。例えば、サーバ及びクライアントの少なくとも一方は、センサなどのIoT(Internet of Things)機器であってもよい。
【0120】
また、本開示におけるサーバは、クライアント端末で読み替えてもよい。例えば、サーバ及びクライアント端末間の通信を、複数のユーザ端末間の通信(例えば、D2D(Device-to-Device)、V2X(Vehicle-to-Everything)などと呼ばれてもよい)に置き換えた構成について、本開示の各態様/実施形態を適用してもよい。この場合、上述のサーバが有する機能をクライアント端末が有する構成としてもよい。
【0121】
同様に、本開示におけるクライアント端末は、サーバで読み替えてもよい。この場合、上述のクライアント端末が有する機能をサーバが有する構成としてもよい。
【0122】
本開示で使用する「判断(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)」などで読み替えられてもよい。
【0123】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
【0124】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0125】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0126】
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0127】
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0128】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0129】
1…レコメンドサーバ、10…モデル生成システム、11…学習データ取得部、12…モデル生成部、20…モデル利用システム、21…モデル利用データ取得部、22…モデル利用部、30…端末、40…データサーバ、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…通信装置、1005…入力装置、1006…出力装置、1007…バス。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16