(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-15
(45)【発行日】2022-07-26
(54)【発明の名称】成長グラフ基盤のプレイリスト推薦方法およびシステム
(51)【国際特許分類】
G06F 16/635 20190101AFI20220719BHJP
G06Q 50/10 20120101ALI20220719BHJP
G06F 16/638 20190101ALI20220719BHJP
【FI】
G06F16/635
G06Q50/10
G06F16/638
(21)【出願番号】P 2020544831
(86)(22)【出願日】2018-02-26
(86)【国際出願番号】 KR2018002317
(87)【国際公開番号】W WO2019164040
(87)【国際公開日】2019-08-29
【審査請求日】2021-01-29
(73)【特許権者】
【識別番号】516014409
【氏名又は名称】ライン プラス コーポレーション
【氏名又は名称原語表記】LINE Plus Corporation
【住所又は居所原語表記】11th Fl.,42,Hwangsaeul-ro 360beon-gil,Bundang-gu,Seongnam-si,Gyeonggi-do.13591
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェー,ジンウォン
(72)【発明者】
【氏名】ジョン,ジェホン
(72)【発明者】
【氏名】チョウ,ミンギョン
(72)【発明者】
【氏名】チョウ,ソンヨン
(72)【発明者】
【氏名】リュ,デウォン
【審査官】田川 泰宏
(56)【参考文献】
【文献】国際公開第2017/067156(WO,A2)
【文献】米国特許出願公開第2008/0091721(US,A1)
【文献】木村 昭悟,クラウドプレイリストネットワークを用いた音楽ストリーミング再生リストの自動生成,電子情報通信学会技術研究報告(PRMU2014-61),日本,一般社団法人電子情報通信学会,第114巻,第230号,p.39
【文献】植田 聖司,プレイリスト生成における遷移確率を用いたスコアリング手法の提案,第9回データ工学と情報マネジメントに関するフォーラム (第15回日本データベース学会年次大会) [online] ,日本,電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2017年02月27日,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/635
G06Q 50/10
G06F 16/638
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行するプレイリスト提供方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記プレイリスト提供方法は、
前記少なくとも1つのプロセッサにより、音楽コンテンツ間の類似度に基づいて複数のプレイリストを構成する段階、および
前記少なくとも1つのプロセッサにより、前記プレイリストそれぞれをノードとするツリーグラフを提供することによって前記プレイリストを推薦する段階
を含
み、
前記推薦する段階は、
前記ツリーグラフの各ノードに配置されたプレイリストが消費されることによって漸次的に前記ツリーグラフのノードを拡張し、他のプレイリストを追加で配置する段階
をさらに含む、プレイリスト提供方法。
【請求項2】
前記推薦する段階は、
前記ツリーグラフから選択されたノードを基準に少なくとも1つ以上の深さを追加しながらノードを拡張する段階
を含む、請求項1に記載のプレイリスト提供方法。
【請求項3】
前記推薦する段階は、
前記ツリーグラフのルートノードに、音楽コンテンツに対するユーザの選好度が反映された初期プレイリストを配置する段階
を含む、請求項1に記載のプレイリスト提供方法。
【請求項4】
前記推薦する段階は、
前記ツリーグラフ上でユーザが消費したプレイリストのノードを視覚化する段階
を含む、請求項1に記載のプレイリスト提供方法。
【請求項5】
前記推薦する段階は、
前記ツリーグラフ上でユーザが消費したプレイリストのノードをマーキングおよび連結して前記ユーザのコンテンツ消費経路を視覚化する段階
を含む、請求項1に記載のプレイリスト提供方法。
【請求項6】
前記プレイリスト提供方法は、
前記少なくとも1つのプロセッサにより、前記ツリーグラフで提供されるプレイリストに対するユーザの消費履歴と関連するデータを管理する段階
をさらに含む、請求項1に記載のプレイリスト提供方法。
【請求項7】
前記構成する段階は、
前記ユーザの消費履歴と関連するデータを利用して前記ユーザが選好する音源特徴を抽出する段階、および
前記抽出された音源特徴に対応する曲で個人化されたプレイリストを構成する段階
を含む、請求項
6に記載のプレイリスト提供方法。
【請求項8】
前記個人化されたプレイリストを構成する段階は、
前記ユーザが選好する音源特徴を共通して持ちながら、プレイリスト間に一部の音源特徴が互いに異なる複数の個人化されたプレイリストを構成する段階
を含む、請求項
7に記載のプレイリスト提供方法。
【請求項9】
前記構成する段階は、
前記音楽コンテンツそれぞれに対し、前記音楽コンテンツの音源データをディープラーニング学習モデルに基づいて学習して固有の音源特徴を生成する段階、および
前記音源特徴を利用して前記音楽コンテンツ間の類似度を算出し、前記音楽コンテンツ間の類似度に基づいて前記プレイリストを構成する段階
を含む、請求項1に記載のプレイリスト提供方法。
【請求項10】
請求項1~
9のうちのいずれか一項に記載のプレイリスト提供方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項11】
コンピュータシステムによって実現されるプレイリスト提供システムであって、
メモリ、および
前記メモリに接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
音楽コンテンツ間の類似度に基づいて複数のプレイリストを構成するプレイリスト構成部、および
前記プレイリストそれぞれをノードとするツリーグラフを提供することによって前記プレイリストを推薦するプレイリスト提供部
を含
み、
前記プレイリスト提供部は、
前記ツリーグラフの各ノードに配置されたプレイリストが消費されることによって漸次的に前記ツリーグラフのノードを拡張し、他のプレイリストを追加で配置すること
を特徴とする、プレイリスト提供システム。
【請求項12】
前記プレイリスト提供部は、
前記ツリーグラフから選択されたノードを基準に少なくとも1つ以上の深さを追加しながらノードを拡張すること
を特徴とする、請求項
11に記載のプレイリスト提供システム。
【請求項13】
前記プレイリスト提供部は、
前記ツリーグラフのルートノードに、音楽コンテンツに対するユーザの選好度が反映された初期プレイリストを配置すること
を特徴とする、請求項
11に記載のプレイリスト提供システム。
【請求項14】
前記プレイリスト提供部は、
前記ツリーグラフ上でユーザが消費したプレイリストのノードを視覚化すること
を特徴とする、請求項
11に記載のプレイリスト提供システム。
【請求項15】
前記プレイリスト提供部は、
前記ツリーグラフ上でユーザが消費したプレイリストのノードをマーキングおよび連結して前記ユーザのコンテンツ消費経路を視覚化すること
を特徴とする、請求項
11に記載のプレイリスト提供システム。
【請求項16】
前記少なくとも1つのプロセッサは、
前記ツリーグラフで提供されるプレイリストに対するユーザの消費履歴と関連するデータを管理する消費履歴管理部
をさらに含む、請求項
11に記載のプレイリスト提供システム。
【請求項17】
前記プレイリスト構成部は、
前記ユーザの消費履歴と関連するデータを利用して前記ユーザが選好する音源特徴を抽出し、
前記抽出された音源特徴に対応する曲で個人化されたプレイリストを構成すること
を特徴とする、請求項
16に記載のプレイリスト提供システム。
【請求項18】
前記プレイリスト構成部は、
前記ユーザが選好する音源特徴を共通して持ちながら、プレイリスト間に一部の音源特徴が互いに異なる複数の個人化されたプレイリストを構成すること
を特徴とする、請求項
17に記載のプレイリスト提供システム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、プレイリストを推薦する技術に関する。
【背景技術】
【0002】
通信網を介して電子機器やコンピュータにコンテンツをダウンロードしたりリアルタイムでストリーミングすることでコンテンツを利用するユーザが増加するにつれ、コンテンツを効率よく普及し、ユーザの趣向に合ったコンテンツを推薦するサービスに対する要求が高まっている。
【0003】
コンテンツを推薦する技術の一例として、韓国公開特許第10-2013-0008696号公報(公開日2013年1月23日)には、他のユーザとの交流により、誰でも利用可能なコンテンツのプレイリストを生成することができる技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
新たな推薦方式である複数のノードを有するグラフ形態でプレイリストを提供することができる。
【0005】
グラフ形態のプレイリストを提供することによってより多くの選択肢を提供し、より能動的かつ連鎖的な消費が可能となるようにサポートすることができる。
【課題を解決するための手段】
【0006】
コンピュータシステムが実行するプレイリスト提供方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記プレイリスト提供方法は、前記少なくとも1つのプロセッサにより、音楽コンテンツ間の類似度に基づいて複数のプレイリストを構成する段階、および前記少なくとも1つのプロセッサにより、前記プレイリストそれぞれをノードとするツリーグラフを提供することによって前記プレイリストを推薦する段階を含む、プレイリスト提供方法を提供する。
【0007】
前記プレイリスト提供方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
【0008】
コンピュータシステムによって実現されるプレイリスト提供システムであって、メモリ、および前記メモリに接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、音楽コンテンツ間の類似度に基づいて複数のプレイリストを構成するプレイリスト構成部、および前記プレイリストそれぞれをノードとするツリーグラフを提供することによって前記プレイリストを推薦するプレイリスト提供部を含む、プレイリスト提供システムを提供する。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【
図3】本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。
【
図4】本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【
図5】本発明の一実施形態における、プレイリストを構成する過程の例を示したフローチャートである。
【
図6】本発明の一実施形態における、漸次的に成長するツリー形状のグラフによってプレイリストを推薦する過程を示した例示図である。
【
図7】本発明の一実施形態における、漸次的に成長するツリー形状のグラフによってプレイリストを推薦する過程を示した例示図である。
【
図8】本発明の一実施形態における、漸次的に成長するツリー形状のグラフによってプレイリストを推薦する過程を示した例示図である。
【
図9】本発明の一実施形態における、漸次的に成長するツリー形状のグラフによってプレイリストを推薦する過程を示した例示図である。
【発明を実施するための形態】
【0010】
<発明の概要>
コンピュータシステムが実行するプレイリスト提供方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記プレイリスト提供方法は、前記少なくとも1つのプロセッサにより、音楽コンテンツ間の類似度に基づいて複数のプレイリストを構成する段階、および前記少なくとも1つのプロセッサにより、前記プレイリストそれぞれをノードとするツリーグラフを提供することによって前記プレイリストを推薦する段階を含む、プレイリスト提供方法を提供する。
【0011】
一側面によると、前記推薦する段階は、前記ツリーグラフから選択されたノードを基準に少なくとも1つ以上の深さを追加しながらノードを拡張する段階を含んでよい。
【0012】
他の側面によると、前記推薦する段階は、前記ツリーグラフのルートノードに音楽コンテンツに対するユーザの選好度が反映された初期プレイリストを配置する段階を含んでよい。
【0013】
また他の側面によると記推薦する段階は、前記ツリーグラフの各ノードに配置されたプレイリストが消費されることによって前記ツリーグラフのノードを漸次的に拡張し、他のプレイリストを追加で配置する段階をさらに含んでよい。
【0014】
また他の側面によると、前記推薦する段階は、前記ツリーグラフ上において、ユーザが消費したプレイリストのノードを視覚化する段階を含んでよい。
【0015】
また他の側面によると、前記推薦する段階は、前記ツリーグラフ上において、ユーザが消費したプレイリストのノードをマーキングおよび連結して前記ユーザのコンテンツ消費経路を視覚化する段階を含んでよい。
【0016】
また他の側面によると、前記プレイリスト提供方法は、前記少なくとも1つのプロセッサにより、前記ツリーグラフによって提供されるプレイリストに対するユーザの消費履歴と関連するデータを管理する段階をさらに含んでよい。
【0017】
また他の側面によると、前記構成する段階は、前記ユーザの消費履歴と関連するデータを利用して前記ユーザが選好する音源特徴を抽出する段階、および前記抽出された音源特徴に対応する曲によって個人化されたプレイリストを構成する段階を含んでよい。
【0018】
また他の側面によると、前記個人化されたプレイリストを構成する段階は、前記ユーザが選好する音源の特徴を共通して持ちながら、プレイリスト間に一部の音源の特徴が互いに異なる複数の個人化されたプレイリストを構成する段階を含んでよい。
【0019】
さらに他の側面によると、前記構成する段階は、前記音楽コンテンツそれぞれに対して前記音楽コンテンツの音源データをディープラーニング学習モデルに基づいて学習して固有の音源特徴を生成する段階、および前記音源特徴を利用して前記音楽コンテンツ間の類似度を算出し、前記音楽コンテンツ間の類似度に基づいて前記プレイリストを構成する段階を含んでよい。
【0020】
前記プレイリスト提供方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
【0021】
コンピュータシステムによって実現されるプレイリスト提供システムであって、メモリ、および前記メモリに接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、音楽コンテンツ間の類似度に基づいて複数のプレイリストを構成するプレイリスト構成部、および前記プレイリストそれぞれをノードとするツリーグラフを提供することによって前記プレイリストを推薦するプレイリスト提供部を含む、プレイリスト提供システムを提供する。
【0022】
<発明の詳細>
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0023】
本発明の実施形態は、プレイリストを推薦する技術に関し、より詳細には、プレイリストを複数のノードを有するグラフ形態で提供する技術に関する。
【0024】
本明細書で具体的に開示される事項を含む実施形態は、複数のノードを有するグラフ形態でプレイリストを提供することができ、これによって効率性、多様性、娯楽要素、利便性、費用節減などの側面において相当な長所を達成することができる。
【0025】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。
【0026】
複数の電子機器110、120、130、140は、コンピュータシステムによって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレット、ゲームコンソール、ウェアラブルデバイス、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイスなどがある。一例として、
図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータシステムのうちの1つを意味してよい。
【0027】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0028】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、複数の電子機器110、120、130、140においてインストールされて実行されるコンピュータプログラムであるアプリケーションを通じ、該当のアプリケーションが目的とするサービス(一例として、音楽サービスなど)を第1サービスとして複数の電子機器110、120、130、140に提供してよい。他の例として、サーバ160は、上述したアプリケーションのインストールおよび実行のためのファイルを複数の電子機器110、120、130、140に配布するサービスを第2サービスとして提供してよい。
【0029】
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
図2では、電子機器に対する例として電子機器110の内部構成およびサーバ150の内部構成について説明する。また、他の電子機器120、130、140やサーバ160も、上述した電子機器110またはサーバ150と同一または類似の内部構成を有してよい。
【0030】
電子機器110およびサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、非一時的なコンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)、フラッシュメモリ(flash memory)などのような永続的大容量記録装置を含んでよい。ここで、ROM、SSD、フラッシュメモリ、ディスクドライブのような永続的大容量記録装置は、メモリ211、221とは区分される別の永続的記録装置として電子機器110やサーバ150に含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電子機器110においてインストールされて実行されるブラウザや、特定のサービスの提供のために電子機器110にインストールされたアプリケーションなどのためのコード)が記録されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータ読み取り可能な記録媒体からロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるコンピュータプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
【0031】
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0032】
通信モジュール213、223は、ネットワーク170を介して電子機器110とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器110および/またはサーバ150が他の電子機器(一例として、電子機器120)または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器110のプロセッサ212がメモリ211のような記録装置に記録されたプログラムコードにしたがって生成した要求が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器110の通信モジュール213を通じて電子機器110に受信されてよい。例えば、通信モジュール213を通じて受信されたサーバ150の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器110がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0033】
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイスなどのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器110と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150に接続するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器110のプロセッサ212がメモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器120が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてよい。
【0034】
また、他の実施形態において、電子機器110およびサーバ150は、
図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器110は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器110がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が、電子機器110にさらに含まれるように実現されてよい。
【0035】
以下では、複数のノードを有するグラフ形態でプレイリストを提供する方法およびシステムの具体的な実施形態について説明する。
【0036】
本明細書において、プレイリストとは、推薦対象となる音楽コンテンツを意味するものであって、共通する特徴を持つ少なくとも1つの音楽コンテンツからなるトラック集などを意味してよい。
【0037】
従来には独立的なプレイリストを単発性の推薦形態で提供していたため、その大部分が単発的な消費に留まっていた。本発明は、複数のノードを有するツリーグラフでプレイリストを推薦することにより、プレイリストに対するより多くの選択肢をユーザに提供することができ、より能動的かつ連鎖的な消費が可能となるようにサポートすることができる。
【0038】
図3は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、
図4は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【0039】
本実施形態に係るサーバ150は、クライアントである複数の電子機器110、120、130、140を対象に音楽サービスを提供するプラットフォームの役割を担う。サーバ150は、電子機器110、120、130、140上にインストールされたアプリケーションと連動して音楽サービスを提供してよい。
【0040】
サーバ150のプロセッサ222は、
図4に係るプレイリスト提供方法を実行するための構成要素として、
図3に示すように、プレイリスト構成部310、プレイリスト提供部320、および消費履歴管理部330を含んでよい。実施形態によって、プロセッサ222の構成要素は、選択的にプロセッサ222に含まれても除外されてもよい。また、実施形態によって、プロセッサ222の構成要素は、プロセッサ222の機能の表現のために分離されても併合されてもよい。
【0041】
このようなプロセッサ222およびプロセッサ222の構成要素は、
図4のプレイリスト提供方法が含む段階410~440を実行するようにサーバ150を制御してよい。例えば、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードと少なくとも1つのプログラムのコードとによる命令を実行するように実現されてよい。
【0042】
ここで、プロセッサ222の構成要素は、サーバ150に記録されたプログラムコードが提供する命令にしたがってプロセッサ222によって実行されるプロセッサ222の互いに異なる機能の表現であってよい。例えば、サーバ150がプレイリストを構成するように上述した命令にしたがってサーバ150を制御するプロセッサ222の機能的表現として、プレイリスト構成部310が利用されてよい。
【0043】
段階410で、プロセッサ222は、サーバ150の制御と関連する命令がロードされたメモリ221から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、以下で説明する段階420~440をプロセッサ222が実行するように制御するための命令を含んでよい。
【0044】
段階420で、プレイリスト構成部310は、音楽コンテンツ間の類似度に基づき、類似する音楽コンテンツからなる複数のプレイリストを構成してよい。本発明では、プレイリストを推薦する過程においてより多くの選択肢を提供するためにツリーグラフ形態のユーザインタフェースを利用し、ツリーグラフの各ノードとして推薦プレイリストを提供してよい。このとき、プレイリスト構成部310は、音楽コンテンツに対するユーザの消費履歴と関連するデータ(以下、「消費履歴データ」とする)に基づいてユーザに個人化されたプレイリストを構成してよい。プレイリスト構成部310は、ユーザの消費履歴データを利用してユーザが選好する音源特徴を抽出し、抽出された音源特徴に対応する曲で個人化されたプレイリストを構成してよい。このとき、音源特徴とは、メロディーはもちろん、アルバム、アーティスト、ジャンル、ビートなどのような音楽コンテンツの特徴を決定するパラメータを意味してよい。プレイリスト構成部310は、音楽コンテンツ間の類似度に基づき、ユーザが選好する音源特徴を持つ曲によって複数の個人化されたプレイリストを構成するようになるが、このとき、複数の個人化されたプレイリストは、ある程度の類似性を持つと同時に、適切な差別性を持ってもよい。言い換えれば、プレイリスト構成部310は、ユーザが選好する音源特徴を共通して持ちながら、プレイリスト間に一部の音源特徴が互いに異なる複数の個人化されたプレイリストを構成してよい。例えば、プレイリスト構成部310は、ユーザが選好するジャンルと同じジャンルの曲でプレイリストを生成するが、このとき、ビートがそれぞれ異なるプレイリストを生成してよい。
【0045】
一例として、プレイリスト構成部310は、ディープラーニング基盤の学習モデルを利用してプレイリストを構成してよい。
図5は、本発明の一実施形態における、プレイリストを構成する過程の一例を示したフローチャートである。
【0046】
段階501で、プレイリスト構成部310は、音楽コンテンツそれぞれに対して音楽コンテンツの音源データの入力を受け、入力を受けた音源データを学習データ形態で処理してよい。このとき、音楽コンテンツとは、オーディオファイルフォーマットを有するすべてのデジタルデータを意味してよく、例えば、MP3(MPEG AudioLayer-3)、WAVE(Waveform AudioFormat)、FLAC(Free Lossless AudioCodec)などを含んでよい。また、プレイリスト構成部310は、音楽コンテンツと関連するテキスト情報の入力をともに受けてよいが、このとき、テキスト情報は、歌詞を含むか、あるいは歌手、ジャンル、曲名、アルバム名などのようなメタ情報、または音楽コンテンツの分類や検索などと関連して入力されたハッシュタグ、クエリなどの情報を含んでよい。続いて、プレイリスト構成部310は、前処理によって音源データを時間-周波数で表現してよい。例えば、プレイリスト構成部310は、音源データをメルスペクトログラム(Mel-spectrogram)やMFCC(Mel Frequency Cepstral Coefficient)のような時間-周波数-サイズ形態のデータに変換してよい。また、プレイリスト構成部310は、音楽コンテンツに対してテキスト情報の入力をともに受けた場合、テキスト情報を前処理してよい。一例として、プレイリスト構成部310は、形態素分析器、索引語抽出器などのような言語前処理器を利用して入力されたテキスト情報から意味のないテキストをフィルタリングしてよい。言い換えれば、プレイリスト構成部310は、テキスト情報に含まれた助詞、助動詞などの不要な品詞の単語や、特殊記号(例えば、!、?、/など)などを取り除き、体言や語根に該当する単語を抽出してよい。
【0047】
段階502で、プレイリスト構成部310は、音源データに対して前処理された学習データを学習モデルに基づいて学習して固有の特徴を生成した後、生成された固有の特徴をデータベース(図示せず)に記録してよい。プレイリスト構成部310は、ディープラーニングに基づいて音源データ自体の固有の音響特徴を生成してよい。一例として、プレイリスト構成部310は、CNN(Convolutional Neural Network)基盤の学習モデルを利用してよい。プレイリスト構成部310は、CNN学習モデルを利用して音源データを多次元実数ベクトルで表現してよい。CNN学習モデルは音源データ学習層を含んでよく、以下の過程1~3は、音源データ学習層で音源データに対応する実数ベクトルを生成する過程の例であってよい。
【0048】
過程1で、音楽コンテンツの音源データ(一例として、mp3ファイル)は、前処理によってメルスペクトログラムやMFCCのような時間-周波数-サイズ形態のデータに変換されてよい。
【0049】
過程2で、変換された音源データから1つ以上の短い時間区間(1~10秒)の複数の周波数フレームがサンプリングされ、音源データの学習モデルに対する入力データとして使用されてよい。例えば、プレイリスト構成部310は、複数のフレームをサンプリングすることにより、音源データ学習層で音楽モデルのサンプルとして提示されるCNNモデルの入力として活用してよい。これにより、音源データの学習のためのCNNモデルは、サンプリングされたフレームの数と同じ数のチャンネルを有するモデルとなる。あるいは、生成されたフレームそれぞれを単一チャネルとして使用し、各フレームに対して固有のコンボリューション/プーリング過程を経た後、生成されたフレーム別の特徴ベクトルを接合して全結合層の入力としての使用も可能である。
【0050】
過程3では、音源データ学習層が含む複数のコンボリューションおよびプーリング層を繰り返し構成することにより、音楽フレームから抽象化された特徴を生成してよい。コンボリューションでパッチのサイズは多様に構成されてよく、プーリングも、最大値を利用したプーリング技法、平均値を利用したプーリング技法、および前記2つのプーリング技法を接合したハイブリッドプーリング技法などの複数のプーリング技法のうちの少なくとも1つが使用されてよい。
【0051】
複数のコンボリューションおよびプーリング層の上には音響特徴を生成するための全結合層があり、各層別の関数は、シグモイド(sigmoid)関数、双曲線(Hyperbolic Tangent:tanh)関数、ReLU(Rectified Linear Unit)関数などのような多様な関数が使用されてよい。結局、音源データに対して1つの多次元実数ベクトルが生成されるようになる。例えば、与えられた最初の音源データm0は、音楽学習モデルの出力層でx0={0.2、-0.1、0.3、・・・}の形態のように1つの多次元実数ベクトルで表現されてよい。
【0052】
また、プレイリスト構成部310は、音楽コンテンツに対してテキスト情報の入力をともに受けた場合、テキスト情報も多次元実数ベクトルで表現してよい。一例として、プレイリスト構成部310は、テキスト情報に対する前処理によってフィルタリングされたテキストを、事前に学習された学習モデルを利用して言語ベクトルとして生成してよい。例えば、言語ベクトルは、数値型多次元ベクトル形態で表現されてよい。言語ベクトルの生成のために、単語出現頻度ヒストグラム、TF(term frequency)/IDF(inverse document frequency)、言語学習モデル(例えば、word2vec、phrase2vec、document2vecなど)などが使用されてよい。例えば、「イ・スンファン GoodDay バラード 1992」のような歌手/ジャンル/曲名/年度は、1つのn次元実数ベクトルv={0.3、-1.2、1.2、・・・}のように表現可能である。このとき、言語学習モデルのためのテキスト情報フィールド(歌手、ジャンル、曲名、年度など)の順序に固定されることはなく、目的に合うように変更可能である。
【0053】
上述したプレイリスト構成部310は、音楽コンテンツ別に、音源データに対する特徴ベクトルとテキスト情報に対する言語ベクトルとをデータベースに記録および維持してよい。音源データに対する特徴ベクトルとテキスト情報に対する言語ベクトルは、それぞれ個別のデータベースで構築されてもよいし、あるいは1つのデータベースで構築されてもよい。このようなデータベースは、サーバ150に含まれる構成要素として実現されてもよいし、あるいはサーバ150と連動可能な個別のシステム上に構築された外部データベースとして存在することも可能である。
【0054】
段階503で、プレイリスト構成部310は、音楽コンテンツそれぞれに対し、データベースに記録された音源データに対する固有の特徴を利用して音源間の類似度を算出してよく、音源間の類似度に基づいて音楽コンテンツに対するプレイリストを自動で構成してよい。一例として、プレイリスト構成部310は、音源データに対する特徴ベクトルを利用して音源間の類似度を算出してよく、他の例として、音源データに対する特徴ベクトルとともにテキスト情報に対する言語ベクトルを複合的に利用して音源間の類似度を算出してもよい。このとき、プレイリスト構成部310は、ユーザがここ最近に消費した曲またはユーザが現在消費中のプレイリストを構成している曲のうちの少なくとも1つをシード曲とし、シード曲と類似する曲とのチェーン形態によってプレイリストを無限に構成してよい。さらに、プレイリスト構成部310は、音楽コンテンツに対するユーザの消費履歴データに基づき、ユーザが選好する曲でプレイリストを構成してよい。
【0055】
したがって、本発明は、音楽コンテンツの音源データとテキスト情報とを学習したモデルを利用した音楽コンテンツ間の類似性に基づき、類似する曲でプレイリストを自動構成することができる。
【0056】
再び
図4において、段階430で、プレイリスト提供部320は、段階420で構成されたプレイリストそれぞれをノードとするツリーグラフを提供することによってプレイリストを推薦してよい。プレイリスト提供部320は、深さとノードの数が事前に固定されたツリーグラフによってプレイリストを推薦してよく、他の例としては、ツリーグラフから選択されたプレイリストのノードを基準に少なくとも1つ以上の深さを追加してノードを漸次的に拡張しながらプレイリストを推薦してもよい。このとき、互いに連結されたノードのプレイリストは、相互間に類似性を持つと同時に、ある程度の差別性も持つ。例えば、プレイリスト提供部320は、ユーザが選好するジャンルと同じ曲のプレイリストを各ノードに配置するようになるが、このとき、各ノードのプレイリストは、ビートが互いに異なる曲で構成されてよい。
【0057】
図6を参照すると、ツリーグラフ600のルートノードとして初期プレイリストSが配置されており、初期プレイリストSは、ユーザ選好度が反映されたプレイリストであってよい。一例として、ルートノードのプレイリストSは、ここ最近の一定時間内に累積されたユーザの消費履歴データから抽出された音源特徴、つまり、ユーザが選好する音源特徴に対応する曲で構成されてよい。
【0058】
プレイリスト提供部320は、ルートノードから始まってツリーグラフ600のノードを拡張していく形態でプレイリストを推薦してよい。
図7を参照すると、プレイリスト構成部310は、ユーザがルートノードのプレイリストSを消費している途中または消費を完了した時点に、ルートノードのプレイリストSを基準に新たなプレイリストI~IVを構成してよい。このとき、プレイリスト提供部320は、ユーザがルートノードのプレイリストSの消費を完了してから一定の時間(例えば、1日)が経過すれば、ツリーグラフ600のルートノードから子ノードを拡張し、拡張されたノードとして新たに構成されたプレイリストI~IVを追加で配置してよい。
【0059】
また、
図8を参照すると、プレイリスト構成部310は、ユーザがツリーグラフ600において、プレイリストI~IVのうちのいずれか1つのプレイリストを消費している途中または消費を完了した時点に新たなプレイリストV~XIを構成し、プレイリスト提供部320は、以前のプレイリストの消費を完了してから一定の時間(例えば、1日)が経過すれば、ツリーグラフ600のノードを拡張し、拡張されたノードとして新たに構成されたプレイリストV~XIを追加で配置してよい。
【0060】
例えば、
図6~8を参照すると、初期プレイリストSが消費された次の日にツリーグラフ600のノードが拡張されて新たなプレイリストI~IVが追加で配置されてよい。プレイリストI~IVが追加で配置されたツリーグラフ600においてプレイリストIIが消費されれば、その次の日にプレイリストIIのノードから新たなプレイリスト推薦のための子ノードが拡張され、プレイリストIIIが消費されれば、その次の日にプレイリストIIIのノードから新たなプレイリスト推薦のための子ノードが拡張されてよい。このように、プレイリストが消費される順にノードが拡張されることの他にも、プレイリストI~IVのうちのいずれか1つのプレイリストが消費されれば、その次の日に該当のノードと同じ深さのノードのうちの隣接するノードから子ノードが拡張されてもよいし、同じ深さのすべてのノードから一括して子ノードが拡張されることも可能である。ツリーグラフ600のノード拡張の規則や順序などは、いくらでも変更可能である。
【0061】
したがって、漸次的に成長するツリー形状のグラフを利用してプレイリストを推薦することでより多くの選択肢を提供することができ、ツリーグラフの漸次的な成長によって娯楽要素を提供することができる。
【0062】
互いに連結されたノードのプレイリストは、相互間に類似性を持つと同時にある程度の差別性も持っているが、1つの親ノードから派生した子ノード同士も、ある程度の類似性と差別性を持つ。
【0063】
ユーザは、ツリーグラフ600でノードを自由に移動しながら推薦プレイリストを消費するようになるが、このとき、プレイリスト提供部320は、ユーザが消費したプレイリストに対するヒストリーをツリーグラフ600上で視覚化してよい。このとき、プレイリスト提供部320は、ツリーグラフ600でユーザが消費したプレイリストのノードをマーキングおよび連結してコンテンツ消費経路を視覚化してよい。
図9に示すように、プレイリスト提供部320は、ツリーグラフ600上でユーザが消費したプレイリスト(例えば、S、II、III、VI、IX)のノードを、消費されていない他のノードと区分して表示してよい。
【0064】
再び
図4において、段階440で、消費履歴管理部330は、ツリーグラフで提供されるプレイリストに対するユーザの消費履歴と関連するデータを管理してよい。消費履歴管理部330は、音楽サービスを利用するユーザそれぞれの音楽再生ログを消費履歴データとして記録および管理してよい。消費履歴データは、ユーザが消費したプレイリストに関する情報を含むものであって、各プレイリストに対して該当のプレイリストの識別子(例えば、IDなど)、該当のプレイリストが再生された回数、該当のプレイリストの総再生時間のうちどの程度が再生されたかを示す再生の割合、該当のプレイリストに対するユーザからのフィードバック(例えば、「いいね」のようなユーザ反応や「お気に入り」登録など)、該当のプレイリストの連続再生の可否、該当のプレイリストが消費された当時の時間とユーザ位置などが含まれてよい。このとき、位置は、位置情報収集に事前に同意したユーザの場合は、該当のユーザの電子機器110から自動で収集されてよい。また、消費履歴管理部330は、ユーザが消費したプレイリストに含まれる曲のメタ情報、一例として、曲識別子、アルバム情報、アーティスト情報、ジャンル情報を含むメタデータを消費履歴データとして記録および管理してよい。また、消費履歴管理部330は、ユーザが消費したプレイリストと関連する外部情報、一例として、該当のプレイリストが消費された当時の天気や社会的イシューなどを消費履歴データとして記録および管理してよい。上述した消費履歴データは、プレイリストに対するユーザの消費形態を分析するために活用されてよく、特に、プレイリスト構成部310でプレイリストを個人化して構成するために活用されてよい。ユーザがツリーグラフを利用して消費したプレイリストに対する消費履歴データを収集し、これを次の推薦過程でのプレイリストの構成のために使用することにより、プレイリストの推薦をより精巧化することができる。
【0065】
ユーザが推薦プレイリストに対して直接的にフィードバックをしなくても、ツリーグラフを利用した間接的な方式によって詳細かつ精巧なフィードバックデータを収集することができ、これによってユーザの消費履歴と行動を容易に把握することができることから、ユーザに個人化されたプレイリストを構成するために活用することができる。
【0066】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0067】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0068】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスクのような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0069】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0070】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【0071】
本発明の実施形態は、さらに以下の課題を解決する。
【0072】
漸次的に成長するツリー形状のグラフでプレイリストを提供することにより、ゲーム的な要素によって付随的な楽しみを提供することができる。
【0073】
成長グラフのノードを自由に移動しながらプレイリストを消費するようにサポートし、ユーザの消費ヒストリーを成長グラフ上に効果的に視覚化することができる。
【0074】
成長グラフのノードを移動しながらプレイリストを消費する形態を容易に把握することができ、成長グラフによる消費形態に基づいてプレイリストの推薦をより精巧化することができる。