(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-10
(45)【発行日】2024-04-18
(54)【発明の名称】推定用モデル生成システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240411BHJP
G06N 3/08 20230101ALI20240411BHJP
【FI】
G06N20/00 130
G06N3/08
(21)【出願番号】P 2021530560
(86)(22)【出願日】2020-06-17
(86)【国際出願番号】 JP2020023824
(87)【国際公開番号】W WO2021005987
(87)【国際公開日】2021-01-14
【審査請求日】2023-04-20
(31)【優先権主張番号】P 2019126360
(32)【優先日】2019-07-05
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】田中 茂樹
(72)【発明者】
【氏名】深澤 佑介
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開平11-052965(JP,A)
【文献】HSU, Kai-Chun et al.,Neural Network Based Next-Song Recommendation,arxiv [online],2016年,all 5 pages,Retrieved from the Internet: <URL: https://arxiv.org/abs/1606.07722>
【文献】OORD, Aaron van den et al.,Deep content-based music recommendation,Advances in Neural Information Processing Systems 26 (NIPS 2013),Neural Information Processing System Foundation, I,2013年,pp.1-9,Retrieved from the Internet: <URL: https://papers.nips.cc/paper/5004-deep-content-based-music-recommendation>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
楽曲に関する情報に基づく推定に用いる推定用モデルを生成する推定用モデル生成システムであって、
機械学習に用いる学習データである、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた学習用情報を取得する学習データ取得部と、
前記学習データ取得部によって取得された学習用情報を、前記順番の次元においてカーネルによる畳み込みを行う推定用モデルへの入力として機械学習を行って推定用モデルを生成するモデル生成部と、
を備え
、
前記モデル生成部は、前記順番の次元以外の次元においてプーリングを行う推定用モデルを生成する推定用モデル生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽曲に関する情報に基づく推定に用いる推定用モデルを生成する推定用モデル生成システム、及び推定用モデルを用いて推定を行う推定システムに関する。
【背景技術】
【0002】
従来から、カラオケおけるユーザの歌唱履歴に基づいて、ユーザに楽曲をレコメンドすることが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1に示される方法は、ユーザが過去に歌唱したことがない楽曲であってもレコメンドし得るものであるが、ユーザがどのような順番で楽曲を歌唱したかが適切に考慮されていない。例えば、複数のユーザからなるユーザグループでカラオケが行われる場合、通常、異なるユーザが順番に歌唱するため、次にレコメンドされる楽曲はそれまでに歌唱された楽曲の順番を考慮したものである必要がある。従って、特許文献1に示される方法は、そのような観点からは適切にレコメンドを行えないおそれがある。
【0005】
本発明の一実施形態は、上記に鑑みてなされたものであり、適切に楽曲に関する情報に基づく推定を行うことができる推定用モデル生成システム及び推定システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、本発明の一実施形態に係る推定用モデル生成システムは、楽曲に関する情報に基づく推定に用いる推定用モデルを生成する推定用モデル生成システムであって、機械学習に用いる学習データである、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた学習用情報を取得する学習データ取得部と、学習データ取得部によって取得された学習用情報を、順番の次元においてカーネルによる畳み込みを行う推定用モデルへの入力として機械学習を行って推定用モデルを生成するモデル生成部と、を備え、モデル生成部は、順番の次元以外の次元においてプーリングを行う推定用モデルを生成する。
【0007】
また、本発明の一実施形態に係る推定システムは、推定用モデル生成システムによって生成された推定用モデルを用いて推定を行う推定システムであって、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた推定用情報を取得するモデル利用データ取得部と、モデル利用データ取得部によって取得された推定用情報を、推定用モデルへ入力して推定を行うモデル利用部と、を備える。
【0008】
本発明の一実施形態によれば、機械学習によって生成される推定用モデルに基づいて、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた情報が用いられて推定を行うことができる。この推定用モデルでは、順番の次元においてカーネルによる畳み込みが行われる。そのため、推定において、楽曲の順番に関する特徴が適切に考慮される。例えば、畳み込みによって順番方向の多少のズレに対しても頑健な推定を行うことができる。従って、本発明の一実施形態によれば、適切に楽曲に関する情報に基づく推定を行うことができる。
【発明の効果】
【0009】
本発明の一実施形態によれば、適切に楽曲に関する情報に基づく推定を行うことができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る推定用モデル生成システム及び推定システムであるレコメンドサーバの構成を示す図である。
【
図2】楽曲の音声データから変換されるスペクトログラムの例を示す図である。
【
図3】過去に歌唱された楽曲を示す時系列の情報の例を示すテーブルである。
【
図4】推定用モデルに含まれるカーネル、及びカーネルによる畳み込みの例を示す図である。
【
図5】推定用モデルによるゼロパディングを模式的に示す図である。
【
図6】推定用モデルによるマックスプーリングの例を示す図である。
【
図7】本発明の実施形態に係る推定用モデル生成システム及び推定システムであるレコメンドサーバで推定用モデルを生成する際に実行される処理を示すフローチャートである。
【
図8】本発明の実施形態に係る推定用モデル生成システム及び推定システムであるレコメンドサーバでユーザへの楽曲に関するレコメンドを行う際に実行される処理を示すフローチャートである。
【
図9】本発明の実施形態に係る推定用モデル生成システム及び推定システムであるレコメンドサーバのハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、図面と共に本発明に係る推定用モデル生成システム及び推定システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0012】
図1に本実施形態に係る推定用モデル生成システム及び推定システムであるレコメンドサーバ1を示す。レコメンドサーバ1は、楽曲に関する情報をユーザにレコメンドするシステムである。具体的には、レコメンドサーバ1は、ユーザがカラオケで歌唱する際に歌唱される楽曲、あるいは歌手をレコメンドする。レコメンドサーバ1は、楽曲が歌唱された後に次に歌唱する楽曲に関するレコメンドを行う。レコメンドサーバ1は、楽曲が歌唱される度に次に歌唱する楽曲に関するレコメンドを行ってもよい。
【0013】
本実施形態においてレコメンドの対象となるユーザは、同時にカラオケを行う複数のユーザからなるグループ、例えば、順番で歌唱するユーザのグループを含んでいてもよい。以下の説明では、単にユーザといった場合であっても、複数のユーザからなるグループも含むものとする。なお、レコメンドサーバ1は、カラオケ以外でユーザが利用する楽曲に関する情報をレコメンドするものであってもよい。例えば、レコメンドサーバ1は、ユーザが聴く楽曲に関するレコメンドを行うものであってもよい。
【0014】
レコメンドサーバ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は、学習データとして、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた学習用情報を取得する。音声データに関する情報は、スペクトログラムである。具体的には、学習データ取得部11は、以下のように学習データを取得する。
【0020】
学習データ取得部11は、予め楽曲に関する情報を記憶している。この楽曲は、カラオケによって提供可能な楽曲、即ち、ユーザによって利用可能な楽曲である。学習データ取得部11は、それぞれ予め設定された、各楽曲を特定する情報(識別子)である楽曲ID、及び当該楽曲を歌っている歌手を特定する情報(識別子)である歌手ID等を対応付けて記憶している。レコメンドサーバ1に予め記憶される情報は、特に説明する場合を除いてデータサーバ40等から取得されている。
【0021】
学習データ取得部11は、各楽曲の音声データをデータサーバ40から取得する。音声データは、例えば、カラオケの楽曲の再生に用いられるデータ(音源)であり、時刻毎の信号強度の数値である音声の波形のデータである。音声データとしては、MP3(MPEG-1 Audio Layer-3)が用いられてもよい。学習データ取得部11は、各楽曲の音声データをスペクトログラム(メルスペクトログラム)に変換する。学習データ取得部11は、各楽曲について、予め共通して設定された時間帯の音声データをスペクトログラムに変換する。例えば、楽曲の冒頭から1分間の音声データをスペクトログラムに変換する。これは、それぞれ時間長が異なる楽曲を同一のサイズのデータとして扱うためである。音声データのスペクトログラムへの変換は、従来の方法によって行うことができる。変換されたスペクトログラムは、時刻(例えば、楽曲の冒頭からの経過した秒)及び周波数(例えば、Hz)毎の信号強度の数値(例えば、dB)のデータとなる。
図2にある楽曲についてのスペクトログラムの例を示す。
図2に示すようにスペクトログラムは、画像として扱うことができる。なお、音声データに基づく情報としては、スペクトログラム以外の任意に特徴量化された情報が用いられてもよい。また、音声データに基づく情報として上記の波形のデータ自体が用いられてもよい。
【0022】
学習データ取得部11は、過去に利用された複数の楽曲に関する時系列の情報を取得する。具体的には、学習データ取得部11は、カラオケ店等の店舗において過去に歌唱された複数の楽曲を示す時系列の情報であるログを取得する。学習データ取得部11は、当該情報をデータサーバ40から取得する。
図3に当該情報の例を示す。当該情報は、端末ID、歌唱時間、楽曲及び楽曲IDが対応付いたものである。端末IDは、カラオケ店等の店舗における楽曲の利用に用いられた端末30を特定する情報(識別子)である。それぞれの端末30には、予め端末IDが設定されている。歌唱時間は、利用(歌唱)された時刻を示す情報(例えば、
図3に示すように年月日時分)である。楽曲は、利用(歌唱)された楽曲の楽曲名である。楽曲IDは、利用(歌唱)された楽曲の楽曲IDである。
【0023】
カラオケ店等の店舗では、端末30の利用の際にユーザがログインすることはほとんどない。そのため、本実施形態に示す情報のように、カラオケ店等の店舗における歌唱履歴には、どのユーザによって歌唱されたかを示す情報が含まれていない場合がある。機械学習のためには、楽曲の利用に係る履歴の情報をユーザ単位とする必要がある。学習データ取得部11は、取得した情報に含まれる歌唱時間に基づいて、学習データを生成する。本実施形態では、ユーザが、カラオケの開始から終了まで、例えば、カラオケ店等の店舗への来店から退店までを1セッションとする。学習データ取得部11は、セッションを単位として上記の情報を生成する。
【0024】
学習データ取得部11は、取得した各情報について、同一の端末IDで直前に歌唱された楽曲の情報の歌唱時間を参照する。学習データ取得部11は、直前の楽曲の歌唱から、予め設定された一定時間経過しているか否かを判断する。一定時間経過していなければ同一のユーザによって歌唱が行われているとして、学習データ取得部11は、当該情報を直前の楽曲の情報と同一のセッションを構成する情報であるとする。一定時間経過していれば別のユーザによって歌唱が行われているとして、学習データ取得部11は、当該情報を直前の楽曲の情報と別のセッションを構成する情報であるとする。例えば、
図3に示す情報の例では、1行目及び2行目の情報が1つのセッション、3行目及び4行目の情報が1つのセッション、5行目の情報が1つのセッションをそれぞれ構成する。セッションを構成する楽曲は、上記のように歌唱された順番を有している。
【0025】
学習データ取得部11は、各セッションで歌唱された楽曲の情報それぞれに楽曲IDをキーとして上述した音声データに基づく情報であるスペクトログラムを対応付ける。
【0026】
続いて、学習データ取得部11は、上記の情報に基づいて、学習用情報を生成する。学習データ取得部11は、予め設定された数の複数の楽曲のスペクトログラムを、楽曲の順番の次元で順番順に並べて学習用情報を生成して取得する。上記のようにスペクトログラムは、時刻及び周波数の二次元の情報である。学習用情報は、それらの次元に加えて楽曲の順番の次元を有しているので三次元の情報となる。学習用情報を構成するスペクトログラムの数、即ち、楽曲の数は、推定用モデルへの1回の入力に対応するものである。例えば、この数が3であるとすると3曲分のスペクトログラムを含む学習用情報が推定用モデルへの1回の入力となる。推定用モデルは、連続する3曲の楽曲のスペクトログラムを入力して、その3曲の最後の楽曲の次にレコメンドする楽曲に関する情報を出力する。
【0027】
学習データ取得部11は、セッションに含まれる楽曲から、学習用情報を生成するための連続する楽曲の全ての組み合わせを特定する。セッションに含まれる楽曲のうち最後の楽曲については、学習用情報の生成には用いられない。例えば、セッションが5曲の楽曲から構成されている場合、1曲目~3曲目の楽曲、及び2曲目~4曲目の楽曲を、学習用情報を生成するための連続する楽曲とする。学習データ取得部11は、これらの楽曲のスペクトログラムを取得し(読み出して)、順番順に並べて学習用情報を生成する。
【0028】
学習データ取得部11は、学習用データとして、学習用情報に対応する複数の楽曲の後に利用された楽曲に関する学習用利用楽曲情報を生成して取得する。学習データ取得部11は、セッションにおける、学習用情報に対応する複数の楽曲のうちの最後の楽曲の次の楽曲を、機械学習の際の推定用モデルの出力に対応する楽曲とする。例えば、セッションの1曲目~3曲目の楽曲が学習用情報に対応する楽曲である場合、4曲目の楽曲が推定用モデルの出力に対応する楽曲である。当該楽曲に係る情報が、学習用利用楽曲情報である。当該楽曲に係る情報のうち、楽曲ID及び歌手IDが、学習用利用楽曲情報とされる。学習データ取得部11は、学習用利用楽曲情報において、楽曲ID及び歌手IDを示す情報を、IDの種類分の次元の、IDに対応する要素を1とし、それ以外の要素を0とするベクトルに変換する。
【0029】
学習データ取得部11は、推定用モデルの生成に十分な数のセッションについての学習用情報及び学習用利用楽曲情報を取得する。即ち、推定用モデルの生成に十分な数のセッションについてのこれらの情報を予め用意しておく。学習データ取得部11は、取得した学習データをモデル生成部12に出力する。
【0030】
モデル生成部12は、学習データ取得部11によって取得された学習データを用いて機械学習を行って推定用モデルを生成する機能部である。モデル生成部12によって生成される推定用モデルは、カーネルによる畳み込みを行う。カーネルによる畳み込みは、順番の次元において行われる。また、推定用モデルは、順番の次元以外の次元においてプーリングを行う。また、推定用モデルは、レコメンドする楽曲に関する情報を出力する。モデル生成部12は、推定用モデル生成のため、学習データ取得部11によって取得された学習用情報を、推定用モデルへの入力として機械学習を行う。
【0031】
モデル生成部12によって生成される推定用モデルは、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた推定用情報を入力して、レコメンドする楽曲に関する情報を出力するモデルである。即ち、推定用モデルは、推定用情報から、レコメンドする楽曲に関する情報を推定(予測)するモデルである。推定状情報を構成する楽曲の数は、上記の各学習用情報を構成する楽曲の数と同じである。推定用モデルは、例えば、ニューラルネットワークを含んで構成される。ニューラルネットワークは、多層のものであってもよい。即ち、モデル生成部12は、深層学習(ディープラーニング)を行って推定用モデルを生成してもよい。
【0032】
例えば、推定用モデルでは入力層に、推定用情報を入力するためのニューロンとして推定用情報に対応する数のニューロンが設けられる。具体的には、上述したようにスペクトログラムの時刻の数×周波数の数×推定用情報を構成する楽曲の数のニューロンが設けられる。
【0033】
例えば、推定用モデルは、レコメンドする楽曲に関する情報として、それぞれの楽曲についてレコメンドする度合いを示す数値及び歌手についてレコメンドする度合いを示す数値をそれぞれ出力する。推定用モデルでは出力層に、楽曲についてレコメンドする度合いを示す数値を出力するためのニューロンとして、レコメンドの対象となる楽曲の数のニューロンが設けられる。機械学習において、学習用利用楽曲情報として、歌唱された楽曲の要素を1とし、それ以外の楽曲の要素を0としたベクトルを用いる場合、出力される数値が大きい程、レコメンドする度合いが大きいことを示している。推定用モデルでは出力層に、歌手についてレコメンドする度合いを示す数値を出力するためのニューロンとして、レコメンドの対象となる歌手の数のニューロンが設けられる。機械学習において、学習用利用楽曲情報として、歌唱された楽曲の歌手の要素を1とし、それ以外の歌手の要素を0としたベクトルを用いる場合、出力される数値が大きい程、レコメンドする度合いが大きいことを示している。
【0034】
推定用モデルは、順番を有する複数の楽曲に係る推定用情報の入力に応じて、レコメンドする楽曲に関する情報を出力する。出力されるレコメンドする楽曲に関する情報は、入力された推定用情報に係る複数の楽曲のうち最後の楽曲の次にレコメンドする楽曲に関する情報である。
【0035】
なお、モデル生成部12によって生成される推定用モデルは、後述するカーネル等が適用可能であればニューラルネットワーク以外によって構成されていてもよい。
【0036】
ここで、推定用モデルにおける、カーネルを用いた畳み込み(Convolution)について説明する。カーネルは、通常、画像を入力としたニューラルネットワークにおいて用いられる。カーネルは、予め設定された次元の四角形数値配列(3×3等)である。元画像の各ピクセルの画素値にカーネルを掛けることで特徴化された出力画像を得ることができる。深層学習でカーネルの数値を学習させることで、目的に有用な特徴を抽出することができる。カーネルを複数層重ねて学習させることで、下層ではより複雑な特徴を捉えることができる。
【0037】
画像の各画素値をそのまま用いて機械学習による推定を行うと、入力する画像に1ピクセルのズレがあった場合でも推定結果が全く違うものになり得る。人間の目はピクセル単位で画像を捉えているのではなく、どこに角がある等、画像の特徴を捉えている。畳み込みを行うことで人間の目に近い特徴化を行い、多少のズレ等に左右されずに画像の特徴を捉えた推定を行うことができる。本実施形態においても、楽曲の順番方向に畳み込みを行って楽曲の順番方向における特徴化を行う。
【0038】
モデル生成部12によって生成される推定用モデルは、推定用情報に対してカーネルによる畳み込みを行う。なお、ここでの推定用情報には、推定用モデルにおいて途中経過として種々の演算が行われた後の推定用情報も含まれる。カーネルのサイズ及び推定用モデルにおいてどこでカーネルが適用されるかについては予め設定されている。また、複数のカーネルが、推定用モデルに設けられていてもよい。カーネルは、推定用情報(学習用情報)の楽曲の順番の次元方向に畳み込みを行うように設定される。例えば、
図4に示すように、カーネルKのサイズは、推定用情報A1,A2のうちの時刻の次元D1、周波数の次元D2及び楽曲の順番の次元D3のそれぞれの次元において2要素分のサイズ(即ち、2×2×2要素のサイズ)とされる。なお、カーネルKは、少なくとも楽曲の順番の次元D3において複数の要素を含むサイズであればよい。
【0039】
図4に示すように、推定用モデルでは、畳み込み前の推定用情報A1の各要素(ピクセル)について、当該要素の数値及び当該要素の周囲のカーネルに対応する要素の数値とカーネルの対応する位置の数値との積が算出されて、畳み込み後の推定用情報A2の要素の数値とされる。例えば、上記の2×2×2要素のサイズのカーネルを用いる場合、対象となる要素に対して、それぞれの次元D1,D2,D3の次の要素までの範囲がカーネルKと掛け合わされる範囲Rとされる。それらの要素の数値とカーネルの対応する位置の数値とが掛け合わされて、それらの和が畳み込み後の推定用情報A2の要素Eの数値とされる。畳み込み前の推定用情報A1の全ての要素に対して上記の演算が行われて、畳み込み後の推定用情報A2が生成される。なお、畳み込み前の推定用情報A1と畳み込み後の推定用情報A2のサイズは同じになる。
【0040】
なお、畳み込み前の推定用情報A1のうち、畳み込みを行う各次元の端の要素についても畳み込みを行うため、推定用モデルでは、畳み込みを行う前に畳み込み前の推定用情報A1に対して畳み込みを行う次元方向に要素が加えられる。例えば、上記の2×2×2要素のサイズのカーネルを用いる場合、
図5に模式的に示すように畳み込み前の推定用情報A1の各次元D1,D2,D3における最後の要素の次に数値が0である要素を加えるゼロパディングが行われる。なお、
図5では、時刻の次元D1及び周波数の次元D2のみを示しているが、楽曲の順番の次元D3に対しても0の要素が加えられる。また、
図5では、各次元D1,D2の要素数と加えられた0の要素数とが一致していない。
【0041】
モデル生成部12によって生成される推定用モデルは、推定用情報に対してプーリングを行う。なお、ここでの推定用情報には、推定用モデルにおいて途中経過として種々の演算が行われた後の推定用情報も含まれる。プーリングは、情報のサイズを小さくして、情報の特徴をより出すための処理である。プーリングのサイズ及び推定用モデルにおいてどこでプーリングが行われるかについては予め設定されている。推定用モデルにおいて複数回のプーリングが行われてもよい。プーリングは、畳み込みの後に行われてもよい。例えば、推定用モデルは、推定用情報に対してマックスプーリング(Max Pooling)を行う。推定用モデルは、楽曲の順番の次元D3以外の次元においてプーリングを行う。推定用モデルは、時刻の次元D1及び周波数の次元D2の両方又は何れかにおいてプーリングを行う。
【0042】
例えば、
図6(a)に示すように、推定用モデルは、時刻の次元D1及び周波数の次元D2の2×2の要素の領域において、一番大きい数値のみを残すことでこれらの二次元方向の要素数を元の半分にする二次元マックスプーリングを行う。この結果、
図6(b)に示すようにマックスプーリング後の推定用情報A4の時刻の次元D1及び周波数の次元D2の要素数は、マックスプーリング前の推定用情報A3の時刻の次元D1及び周波数の次元D2の要素数の半分になる。一方で、マックスプーリング後の推定用情報A4の楽曲の順番の次元D3の要素数は、マックスプーリング前の推定用情報A3の楽曲の順番の次元D3の要素数と同じになる。
【0043】
モデル生成部12は、学習データ取得部11から学習データを入力する。モデル生成部12は、入力した学習データのうち、学習用情報によって示されるそれぞれの数値を推定用モデルへの入力値とし、学習用利用楽曲情報を推定用モデルの出力値として機械学習を行って推定用モデルを生成する。
【0044】
推定用モデルの機械学習を開始する際に、モデル生成部12は、例えば、ランダムな数値又は予めの設定値としてカーネルの初期値を与える。機械学習では、カーネルを構成する数値も学習される。即ち、カーネルを構成する数値も学習時に徐々に変更され、目的に合った数値となる。
【0045】
上記の機械学習自体は、従来の機械学習の方法と同様に行うことができる。モデル生成部12は、生成した推定用モデルをモデル利用システム20に出力する。学習データ取得部11及びモデル生成部12による処理は、例えば、日次のバッチ処理として行われてもよい。以上が、本実施形態に係るモデル生成システム10の機能である。
【0046】
引き続いて、本実施形態に係るモデル利用システム20の機能を説明する。
図1に示すように、モデル利用システム20は、モデル利用データ取得部21と、モデル利用部22とを備えて構成される。
【0047】
モデル利用データ取得部21は、推定用モデルに用いられるモデル利用データを取得する機能部である。モデル利用データ取得部21は、当該モデル利用データとして、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた推定用情報を取得する。
【0048】
モデル利用データ取得部21は、ユーザがカラオケ店等の店舗においてカラオケを行う、即ち、楽曲を利用する際のデータを取得する。ユーザがカラオケを行う際に、当該ユーザによって用いられる端末30からレコメンドサーバ1にレコメンドコンテンツの要求が行われる。レコメンドコンテンツの要求は、ユーザが楽曲を歌唱した後に行われる。
【0049】
ユーザがカラオケを開始し楽曲の歌唱を行うと、端末30は、ユーザが歌唱した楽曲を示す情報を、レコメンドコンテンツの要求に含めてレコメンドサーバ1に送信する。送信される情報は、例えば、
図3の各行に示す情報である。送信される情報には、複数の楽曲に係る情報(例えば、直近N件のログ)が含まれていてもよい。モデル利用データ取得部21は、端末30から送信された情報を受信する。モデル利用データ取得部21は、端末30から受信された楽曲の情報に楽曲IDをキーとして上述した音声データに基づく情報であるスペクトログラムを対応付ける。当該対応付けは、学習データ取得部11による方法と同様に行われる。
【0050】
モデル利用データ取得部21は、端末30から逐次、送信される情報を受信して上記の対応付けを行う。また、モデル利用データ取得部21は、学習データ取得部11による方法と同様に取得した個々の楽曲に関する情報が、別の楽曲に関する情報と同一のセッションを構成するものであるかを判断してもよい。モデル利用データ取得部21は、当該判断に基づいてセッション毎の時系列の楽曲に関する情報を生成する。モデル利用データ取得部21は、生成した時系列の楽曲に関する情報から推定用情報を生成して取得する。モデル利用データ取得部21は、セッションの最新の楽曲を含む、当該最新の楽曲から遡って予め設定された数の複数の楽曲のスペクトログラムを、楽曲の順番の次元で順番順に並べて推定用情報を生成して取得する。予め設定された数は、上述した学習用情報を生成する際の数と同様である。モデル利用データ取得部21は、生成した推定用情報をセッションに係るユーザへのレコメンドに用いる情報とする。
【0051】
モデル利用データ取得部21は、取得した推定用情報をモデル利用部22に出力する。
【0052】
モデル利用部22は、モデル利用データ取得部21によって取得された推定用情報を、推定用モデルへ入力して推定を行う機能部である。モデル利用部22は、モデル利用データ取得部21によって取得された推定用情報を、推定用モデルへ入力してレコメンドする情報を決定する。
【0053】
モデル利用部22は、モデル生成システム10によって生成された推定用モデルを入力して記憶しておき、ユーザへレコメンドする楽曲に関する情報の決定に用いる。モデル利用部22は、モデル利用データ取得部21から、推定用情報を入力する。
【0054】
モデル利用部22は、推定用情報を、推定用モデルへの入力値として、推定用モデルからの出力値であるレコメンド情報を得る。この際の演算では、入力された推定用情報に対して、楽曲の順番の次元においてカーネルによる畳み込み(その前処理としてのゼロパディングを含む)、及び楽曲の順番の次元以外においてプーリングが行われる。出力値となるレコメンド情報は、各楽曲についてレコメンドする度合いを示す数値及び各歌手についてレコメンドする度合いを示す数値(ベクトル)である。
【0055】
モデル利用部22は、出力値に基づいてユーザにレコメンドする情報を決定する。例えば、最も数値が大きい楽曲及び歌手をユーザにレコメンドするものと決定する。あるいは、数値が大きいものから順に予め設定した数の楽曲及び歌手をユーザにレコメンドするものと決定する。モデル利用部22は、当該決定を新たなレコメンド情報が得られる度に、即ち、端末30から歌唱した楽曲として新たな楽曲を示す情報が送信される度に行う。モデル利用部22は、決定した情報を端末30に送信する。端末30は、レコメンドサーバ1から送信されたレコメンドに係る情報を受信して、表示等の出力を行う。ユーザは、当該表示を参照して次に歌唱する楽曲を決めることができる。
【0056】
モデル利用データ取得部21及びモデル利用部22による処理は、例えば、上記のように端末30からの情報の受信に応じたリアルタイム処理として行われる。以上が、本実施形態に係るモデル利用システム20の機能である。
【0057】
引き続いて、
図7及び
図8のフローチャートを用いて、本実施形態に係るレコメンドサーバ1で実行される処理(レコメンドサーバ1が行う動作方法)を説明する。まず、
図7のフローチャートを用いて、推定用モデルを生成する際に実行される処理、即ち、本実施形態に係るモデル生成システム10で実行される処理を説明する。
【0058】
本処理では、まず、学習データ取得部11によって、推定用モデルを作成する機械学習に用いる学習データが取得される(S01)。学習データは、学習用情報及び学習用利用楽曲情報である。続いて、モデル生成部12によって、学習データに基づいて機械学習が行われて、推定用モデルが生成される(S02)。この機械学習の際には、学習用情報が推定用モデルへの入力とされ、学習用利用楽曲情報に基づく情報が推定用モデルの出力とされる。機械学習によって生成される推定用モデルは、楽曲の順番の次元においてカーネルによる畳み込みを行い、また、楽曲の順番の次元以外においてプーリングを行うものである。以上が、推定用モデルを生成する際に実行される処理である。
【0059】
引き続いて、
図8のフローチャートを用いて、ユーザへの楽曲に関するレコメンドを行う際に実行される処理、即ち、本実施形態に係るモデル利用システム20で実行される処理を説明する。本処理では、まず、モデル利用データ取得部21によって、推定用モデルに用いられるモデル利用データが取得される(S11)。モデル利用データは、端末30から送信されるレコメンドコンテンツの要求の受信をトリガとして取得される。モデル利用データは、推定用情報である。
【0060】
続いて、モデル利用部22によって、モデル利用データである推定用情報が推定用モデルへ入力されて、ユーザへレコメンドする楽曲に関するレコメンド情報が決定される(S12)。この際の演算では、入力された推定用情報に対して、楽曲の順番の次元においてカーネルによる畳み込み(その前処理としてのゼロパディングを含む)、及び楽曲の順番の次元以外においてプーリングが行われる。続いて、モデル利用部22によって、レコメンド用時系列情報に基づいてユーザへの楽曲に関するレコメンドが行われる(S13)。ユーザは、レコメンドされた情報を参照して次に歌唱する楽曲を決めることができる。以上が、ユーザへの楽曲に関するレコメンドを行う際に実行される処理である。
【0061】
本実施形態によれば、機械学習によって生成される推定用モデルに基づいて、順番を有する複数の楽曲の音声データに関する情報が当該順番の次元で当該順番順に並べられた情報が用いられて推定を行うことができる。この推定用モデルでは、順番の次元においてカーネルによる畳み込みが行われる。そのため、推定において、楽曲の順番に関する特徴が適切に考慮される。例えば、畳み込みによって順番方向の多少のズレに対しても頑健な推定を行うことができる。従って、本実施形態によれば、適切に楽曲に関する情報に基づく推定を行うことができる。また、本実施形態によれば、推定用モデルによって楽曲の順番方向の解釈が行われるので、当該解釈を別アルゴリズムで行う必要がない。
【0062】
また、本実施形態のように、順番の次元以外の次元(例えば、スペクトログラムにおける時刻及び周波数)においてプーリングを行う推定用モデルの生成、及び当ギア推定用モデルによる推定が行われてもよい。例えば、本実施形態のようにマックスプーリングを行うこととしてもよい。この構成によれば、順番の次元以外の次元においては適切な特徴化を行うと共に、順番の次元においてはプーリングを行わないことで順番の次元方向での特徴の欠落を防ぐことができる。従って、この構成によれば、更に適切な推定を行うことができる。但し、必ずしも、上記のプーリングを行う推定用モデルとする必要はない。
【0063】
また、本実施形態のように音声データに関する情報は、スペクトログラムとすることとしてもよい。この構成によれば、確実かつ適切に楽曲に関する情報に基づく推定を行うことができる。但し、音声データに関する情報として、スペクトログラム以外の情報が用いられてもよい。
【0064】
また、本実施形態のように推定用モデルは、レコメンドする楽曲に関する情報を出力するものであってもよい。この構成によれば、歌唱された楽曲の順番を考慮したレコメンドを行うことができ、適切に楽曲に関するレコメンドを行うことができる。但し、推定用モデルは、必ずしも楽曲に関するレコメンドを行うものでなくてもよく、楽曲に関する情報に基づいて何らかの推定を行うものであればよい。例えば、推定用モデルは、ユーザの種別を推定するものであってもよい。
【0065】
また、本実施形態では、同一の推定用モデルによって楽曲のレコメンドも歌手のレコメンドも行うことができる。但し、必ずしもこれら両方をレコメンドするものである必要はなく、何れか一方のみをレコメンドするものであってもよい。また、上記以外でも楽曲に関するものであれば、どのような情報をレコメンドしてもよい。
【0066】
また、機械学習による推定用モデルの生成及び生成した推定用モデルを用いた推定では、順番を有する複数の楽曲の音声データに関する情報以外の情報も用いられてもよい。即ち、順番を有する複数の楽曲の音声データに関する情報以外の情報が、推定用モデルへの入力とされてもよい。
【0067】
また、本実施形態では、レコメンドサーバ1は、モデル生成システム10と、モデル利用システム20とを含むこととしたが、モデル生成システム10と、モデル利用システム20とが独立してそれぞれ実施されてもよい。
【0068】
また、モデル生成システム10によって生成される推定用モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定される。推定用モデルは、CPU及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された推定用モデルからの指令に従って、ニューラルネットワークの入力層に情報を入力して、ニューラルネットワークにおける学習済の重み付け係数等に基づく演算を行って、ニューラルネットワークの出力層から結果を出力するように動作する。
【0069】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0070】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)又は送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0071】
例えば、本開示の一実施の形態におけるレコメンドサーバ1は、本開示の情報処理を行うコンピュータとして機能してもよい。
図9は、本開示の一実施の形態に係るレコメンドサーバ1のハードウェア構成の一例を示す図である。上述のレコメンドサーバ1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。また、端末30及びデータサーバ40も同様の装置構成であってもよい。
【0072】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンドサーバ1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0073】
レコメンドサーバ1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【0074】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述のレコメンドサーバ1における各機能は、プロセッサ1001によって実現されてもよい。
【0075】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、レコメンドサーバ1における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0076】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0077】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。レコメンドサーバ1が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【0078】
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0079】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0080】
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0081】
また、レコメンドサーバ1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0082】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0083】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0084】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0085】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0086】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0087】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0088】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0089】
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0090】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0091】
サーバ及びクライアントの少なくとも一方は、送信装置、受信装置、通信装置などと呼ばれてもよい。なお、サーバ及びクライアントの少なくとも一方は、移動体に搭載されたデバイス、移動体自体などであってもよい。当該移動体は、乗り物(例えば、車、飛行機など)であってもよいし、無人で動く移動体(例えば、ドローン、自動運転車など)であってもよいし、ロボット(有人型又は無人型)であってもよい。なお、サーバ及びクライアントの少なくとも一方は、必ずしも通信動作時に移動しない装置も含む。例えば、サーバ及びクライアントの少なくとも一方は、センサなどのIoT(Internet of Things)機器であってもよい。
【0092】
また、本開示におけるサーバは、クライアント端末で読み替えてもよい。例えば、サーバ及びクライアント端末間の通信を、複数のユーザ端末間の通信(例えば、D2D(Device-to-Device)、V2X(Vehicle-to-Everything)などと呼ばれてもよい)に置き換えた構成について、本開示の各態様/実施形態を適用してもよい。この場合、上述のサーバが有する機能をクライアント端末が有する構成としてもよい。
【0093】
同様に、本開示におけるクライアント端末は、サーバで読み替えてもよい。この場合、上述のクライアント端末が有する機能をサーバが有する構成としてもよい。
【0094】
本開示で使用する「判断(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)」などで読み替えられてもよい。
【0095】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
【0096】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0097】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0098】
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0099】
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0100】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0101】
1…レコメンドサーバ、10…モデル生成システム、11…学習データ取得部、12…モデル生成部、20…モデル利用システム、21…モデル利用データ取得部、22…モデル利用部、30…端末、40…データサーバ、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…通信装置、1005…入力装置、1006…出力装置、1007…バス。