以下、各図面に示す同一または類似の構成要素、部材、手順または信号には、すべての図面において同様の符号を付し、それによって重複する説明は適宜省略される。また、各図面の説明において重要でない一部部材は省略される。
ストリーミングサービスプラットフォームには、類似度マッチング(ユーザとストリーム間のマッチング)ロジックや協調フィルタリングロジックなど、多様なレコメンデーション方式やロジックが存在する。従来、プラットフォーム上のレコメンデーションロジックは、より良いレコメンデーションを実現するために、時折更新されていた。レコメンデーションロジックはプラットフォーム全体で一貫しており、すべてのユーザに対して同じレコメンデーションロジックが同時に提供される。しかしながら、異なるレコメンデーションロジックは、異なるユーザに対して異なって作用する場合がある。従来のレコメンデーションシステムは、カスタマイズされたレコメンデーションロジックですべての人にサービスを提供することはできない。
本発明は、よりカスタマイズされた方法でコンテンツをレコメンドするシステムまたは方法を提供する。
図1に、本発明の一部の実施態様に基づくライブストリーミングシステム1の構成を示す概略図を示す。当該ライブストリーミングシステム1は、ストリーミングの配信者(ライバー、アンカー、ストリーマーとも呼ばれる)LVと視聴者(オーディエンスとも呼ばれる)AU(AU1、AU2...)に、リアルタイムで交流または通信するためのライブストリーミングサービスを提供する。図1に示すように、当該ライブストリーミングシステム1は、サーバ10と、ユーザ端末20と、ユーザ端末30(30a、30b...)を含む。一部の実施態様において、当該ストリーマーと視聴者は、集合的にユーザと呼ばれてもよい。当該サーバ10は、ネットワークNWに接続された、1以上の情報処理装置を含むことができる。当該ユーザ端末20、30は、例えば、スマートフォン、タブレット、ノートPC、レコーダー、携帯ゲーム機、ウェアラブル端末などのモバイル端末装置、あるいはデスクトップPCなどの据え置き型装置であってもよい。当該サーバ10、当該ユーザ端末20及び当該ユーザ端末30は、各種有線または無線ネットワークNWを介して相互に通信可能に接続される。
当該ライブストリーミングシステム1には、配信者LV、視聴者AU、及び当該サーバ10を管理する管理者(またはアプリプロバイダー、図示せず)が参加する。当該配信者LVは、自身のユーザ端末20でコンテンツを記録し、当該サーバ10に直接または間接的にアップロードすることにより、リアルタイムで当該コンテンツを配信する者である。当該コンテンツの例としては、当該配信者自身の歌、トーク、パフォーマンス、ゲームプレイ、その他あらゆるコンテンツであってもよい。当該管理者は、当該サーバ10上で当該コンテンツをライブストリーミングするためのプラットフォームを提供するとともに、当該配信者LVと当該視聴者AU間のリアルタイムの交流を仲介または管理する。当該視聴者AUは、自分のユーザ端末30で当該プラットフォームにアクセスし、所望のコンテンツを選択して視聴する。当該視聴者AUは、選択したコンテンツのライブストリーミング中に、当該ユーザ端末30を介してコメントや応援、贈り物の送信などの操作を実行する。当該コンテンツを配信している当該配信者LVは、それらのコメント、応援、または贈り物に対して応答してもよい。当該応答が、映像および(または)音声で当該視聴者AUに送信され、双方向のコミュニケーションが確立される。
「ライブストリーミング」という用語は、当該配信者LVのユーザ端末20で記録したコンテンツを、当該視聴者AUのユーザ端末30で実質的にリアルタイムに再生・視聴することを可能にするデータ伝送モードを指しても、そのような伝送モードにより実現されるライブブロードキャストを指してもよい。当該ライブストリーミングは、HTTPライブストリーミング、CMAF(Common Media Application Format)、WebRTC(Web Real-Time Communications)、RTMP(Real―Time Messaging Protocol)、MPEG DASHなどの既存のライブストリーミング技術を利用して実現されてもよい。ライブストリーミングには、当該配信者LVによるコンテンツの記録と同時に、当該視聴者AUが所定の遅延をもって当該コンテンツを視聴でき伝送モードを含む。当該遅延の長さについては、当該配信者LVと当該視聴者AUの交流が成立可能な程度の遅延であってもよい。なお、当該ライブストリーミングは、当該コンテンツの全記録データを一度当該サーバに格納し、その後ユーザの要求に応じて当該サーバから当該ユーザに提供する、いわゆるオンデマンド配信と区別される。
ここでいう「映像データ」とは、当該ユーザ端末20または30の撮像機能を用いて生成された画像データ(映像データとも呼ばれる)と、当該ユーザ端末20または30の音声入力機能を用いて生成された音声データとを含むデータを指す。当該映像データは、当該ユーザがコンテンツを視聴できるように、当該ユーザ端末20、30で再生される。一部の実施態様において、当該配信者のユーザ端末における映像データの生成と当該視聴者のユーザ端末における映像データの再生との間に、当該映像データに対して圧縮、展開、符号化、復号化、トランスコーディングなど、その形式、サイズ、またはデータの仕様を変更する処理が行われると想定される。しかし、そのような処理の前後で、当該映像データが表す当該コンテンツ(例えば、映像や音声)は実質的に変化しないため、本明細書においては、そのような処理後の当該映像データを、そのような処理前の当該映像データと同一ものと表現している。すなわち、当該配信者のユーザ端末で映像データが生成された後、当該サーバ10を介して当該視聴者のユーザ端末で再生される場合、当該配信者のユーザ端末で生成された当該映像データ、当該サーバ10を通過する当該映像データ、および当該視聴者のユーザ端末で受信して再生される当該映像データは、いずれも同一の映像データである。
図1に示す例において、当該配信者LVは、ライブストリーミングデータを提供する。当該配信者LVのユーザ端末20は、当該配信者LVの映像や音声を記録して当該ストリーミングデータを生成し、生成された当該データは当該ネットワークNWを介して当該サーバ10に送信される。同時に、当該ユーザ端末20は、当該配信者LVの記録された映像VDを当該ユーザ端末20のディスプレイに表示し、当該配信者LVが現在行っているライブストリーミングコンテンツを確認できるようにする。
当該プラットフォームに当該配信者LVのライブストリーミングを視聴することを要求した当該視聴者AU1、AU2のそれぞれのユーザ端末30a、30bは、当該ネットワークNWを介して当該ライブストリーミングに関連する映像データ(以下、「ライブストリーミングの映像データ」と呼ばれてもよい)を受信し、受信した当該映像データを再生して当該映像VD1、VD2をディスプレイに表示し、スピーカーから音声を出力する。当該ユーザ端末30a、30bでそれぞれ表示される映像VD1、VD2は、当該配信者LVの当該ユーザ端末20により撮像された映像VDと実質的に同じであり、当該ユーザ端末30a、30bで出力される音声は、当該配信者LVの当該ユーザ端末20で記録された音声と実質的に同じである。
当該配信者LVの当該ユーザ端末20での映像・音声の記録と、当該視聴者AU1、AU2の当該ユーザ端末30a、30bでの映像データの再生は、実質的に同時に行われる。当該視聴者AU1が、当該配信者LVにより提供される当該コンテンツに関するコメントを当該ユーザ端末30aに入力すると、当該サーバ10は当該コメントを配信者LVの当該ユーザ端末20にリアルタイムで表示するとともに、当該視聴者AU1とAU2の当該ユーザ端末30aと30bにも当該コメントをそれぞれ表示する。当該配信者LVが当該コメントを読み、当該コメントに対応するトークを展開すると、そのトークの映像と音声が、それぞれ当該視聴者AU1、AU2のユーザ端末30a、30bに表示される。このインタラクティブな動作は、当該配信者LVと当該視聴者AU1間で会話が成立していると認識される。これにより、当該ライブストリーミングシステム1では、一方的なコミュニケーションではなく、双方向のコミュニケーションを可能にするライブストリーミングを実現する。
図2は、本発明の一部の実施態様に基づく、図1のユーザ端末30の機能と構成を示すブロック図である。当該ユーザ端末20は、当該ユーザ端末30と同じまたは類似した機能と構成を有する。図2の各ブロックと以降のブロック図は、ハードウェアがコンピュータのCPUや機械装置などの要素によって実現されてもよく、ソフトウェアがコンピュータプログラムなどによって実現されてもよい。機能ブロックは、これらの要素間の連携動作により実現されてもよい。したがって、これらの機能ブロックは、ハードウェアとソフトウェアの組み合わせによる多様な形態で実現され得ることが、当業者には理解されよう。
当該配信者LV及び当該視聴者AUは、当該ネットワークNWを介してダウンロードサイトからライブストリーミングアプリケーションプログラム(以下、ライブストリーミングアプリケーションという)をダウンロードし、当該ユーザ端末20、30にインストールしてもよい。あるいは、当該ライブストリーミングアプリケーションは、当該ユーザ端末20と30に予めインストールされていてもよい。当該ライブストリーミングアプリケーションが当該ユーザ端末20、30上で実行されると、当該ユーザ端末20、30は、当該ネットワークNWを介して当該サーバ10と通信し、各種機能を実装または実行する。以下、当該ライブストリーミングアプリケーションが実行されるユーザ端末20、30(CPUなどのプロセッサ)によって実装される機能を、当該ユーザ端末20、30の機能として説明する。これらの機能は、実際には、当該ユーザ端末20、30上で当該ライブストリーミングアプリケーションにより実現される。一部の実施態様において、これらの機能は、HTML(HyperText Markup Language)などのプログラミング言語で記述され、当該サーバ10から当該ネットワークNWを介して当該ユーザ端末20、30のウェブブラウザに送信され、当該ウェブブラウザにより実行されるコンピュータプログラムによって実現されてもよい。
当該ユーザ端末30は、配信ユニット100と視聴ユニット200を含む。当該配信ユニット100は、当該ユーザ(またはユーザ側)の映像と音声が記録された映像データを生成し、当該映像データを当該サーバ10に提供する。当該視聴ユニット200は、当該サーバ10から映像データを受信し、当該映像データを再生する。当該ユーザは、ライブストリーミングを行う際に、当該配信ユニット100を起動し、当該ユーザが映像を視聴する際に、当該視聴ユニット200を起動する。当該配信ユニット100が起動される当該ユーザ端末は、当該配信者の端末、すなわち、当該映像データを生成する当該ユーザ端末である。当該視聴ユニット200が起動される当該ユーザ端末は、当該視聴者の端末、即ち、当該映像データが再現され、再生される当該ユーザ端末である。
当該配信ユニット100は、撮像コントロールユニット102と、オーディオコントロールユニット104と、映像送信ユニット106と、配信者側UIコントロールユニット108を含む。当該撮像コントロールユニット102は、カメラ(図2に表示せず)に接続され、当該カメラで実行される撮像を制御する。当該撮像コントロールユニット102は、当該カメラからの画像データを取得する。当該オーディオコントロールユニット104は、マイク(図2に表示せず)に接続され、当該マイクからの音声入力を制御する。当該オーディオコントロールユニット104は、当該マイクから当該オーディオデータを取得する。当該映像送信ユニット106は、当該撮像コントロールユニット102により取得された当該画像データと、当該オーディオコントロールユニット104により取得された当該オーディオデータを含む映像データを、当該ネットワークNWを介して当該サーバ10に送信する。当該映像データは、当該映像送信ユニット106によりリアルタイムに送信される。すなわち、当該撮像コントロールユニット102と当該オーディオコントロールユニット104による当該映像データの生成と、生成された当該映像データの当該映像送信ユニット106による送信とは、実質的に同時に実行される。当該配信者側UIコントロールユニット108は、当該配信者のUI(ユーザインターフェイス)をコントロールする。当該配信者側UIコントロールユニット108は、ディスプレイ(図2に表示せず)に接続されてもよく、当該映像送信ユニット106により送信される当該映像データを再生することにより、当該ディスプレイに映像を表示する。当該配信者側UIコントロールユニット108は、操作オブジェクトや指示許諾オブジェクトを当該ディスプレイに表示し、当該オブジェクトをタップした当該配信者からの入力を受け付けてもよい。
当該視聴ユニット200は、視聴者側UIコントロールユニット202と、重ね合わせ情報生成ユニット204と、入力情報送信ユニット206を含む。当該視聴ユニット200は、当該ネットワークNWを介して当該サーバ10から、当該配信者、当該ユーザ端末30のユーザである視聴者、及び他の視聴者が参加する、ライブストリーミングに関連する映像データを受信する。当該視聴者側UIコントロールユニット202は、当該視聴者のUIを制御する。当該視聴者側UIコントロールユニット202は、ディスプレイとスピーカー(図2に表示せず)に接続され、受信した映像データを再生して、当該ディスプレイに映像を表示し、当該スピーカーから音声を出力する。当該映像が当該ディスプレイに出力され、当該音声が当該スピーカーから出力されている状態を「映像データが再生されている」状態と呼ぶことができる。当該視聴者側UIコントロールユニット202は、タッチパネル、キーボード、ディスプレイ等の入力手段(図2に表示せず)にも接続され、当該入力手段を介してユーザの入力を取得する。当該重ね合わせ情報生成ユニット204は、当該サーバ10からの映像データから生成された画像上に、所定のフレーム画像を重ねる。当該フレーム画像には、当該ユーザからの入力を受け付けるためのさまざまなユーザインターフェイスオブジェクト(以下、単に「オブジェクト」という)、当該視聴者により入力されたコメント、及び(または)当該サーバ10から取得した情報などが含まれる。当該入力情報送信ユニット206は、当該ネットワークNWを介して、当該視聴者側UIコントロールユニット202により取得された当該ユーザ入力を当該サーバ10に送信する。
図3に、本発明の一部の実施態様に基づく、図1の当該サーバ10の機能と構成を示すブロック図を示す。当該サーバ10は、配信情報提供ユニット302と、中継ユニット304と、贈り物処理ユニット306と、支払い処理ユニット308と、ストリームDB310と、ユーザDB312と、贈り物DB314と、検出ユニット330と、レコメンドユニット332と、レコメンデーションロジックDB350と、インタラクションDB352と、スコアDB354を含む。
当該配信者側の当該ユーザ端末20から当該ネットワークNWを介してライブストリーミングの開始通知または要求を受信すると、当該配信情報提供ユニット302は、このライブストリーミングを識別するためのストリームIDと当該ライブストリーミングを行う配信者の配信者IDをストリームDB310に登録する。
当該配信情報提供ユニット302が、当該ネットワークNWを介して当該視聴者側の当該ユーザ端末30の当該視聴ユニット200からライブストリームに関する情報の提供要求を受信すると、当該配信情報提供ユニット302は、当該ストリームDB310から現在利用可能なライブストリームを取得または確認し、利用可能なライブストリームのリストを作成する。当該配信情報提供ユニット302は、作成したリストを当該ネットワークNW経由で要求元の当該ユーザ端末30に送信する。要求元の当該ユーザ端末30の当該視聴者側UIコントロールユニット202は、受信したリストに基づいてライブストリーム選択画面を生成し、当該ユーザ端末30のディスプレイ上に表示する。
当該ユーザ端末30の当該入力情報送信ユニット206が、当該ライブストリーム選択画面上で当該視聴者の選択結果を受信すると、当該入力情報送信ユニット206は、選択されたライブストリームのストリームIDを含む配信要求を生成し、当該ネットワークNWを介して当該サーバ10に当該要求を送信する。当該配信情報提供ユニット302は、要求元の当該ユーザ端末30に対して、受信した当該配信要求に含まれる当該ストリームIDで指定されるライブストリームの提供を開始する。当該配信情報提供ユニット302は、当該ストリームIDの(または対応する)視聴者IDに、要求元の当該ユーザ端末30の当該視聴者のユーザIDを含めるように当該ストリームDB310を更新する。
当該中継ユニット304は、当該配信情報提供ユニット302により開始された当該ライブストリーミングにおいて、配信者側の当該ユーザ端末20から視聴者側の当該ユーザ端末30に当該映像データを中継する。当該中継ユニット304は、当該ライブストリーミング中または当該映像データの再生中に、当該入力情報送信ユニット206から視聴者によるユーザ入力を表す信号を受信する。当該ユーザ入力を表す信号は、当該ユーザ端末30のディスプレイに表示されたオブジェクトを指定するオブジェクト指定信号であってもよい。当該オブジェクト指定信号は、当該視聴者の視聴者ID、当該視聴者が視聴しているライブストリームの配信者の配信者ID、及び当該オブジェクトを特定するオブジェクトIDを含んでもよい。当該オブジェクトが贈り物であるとき、当該オブジェクトIDは贈り物IDである。同様に、当該中継ユニット304は、当該ユーザ端末20の当該配信ユニット100から、当該映像データの再生中(またはライブストリーミング中)に配信者により行われたユーザ入力を表す信号を受信する。当該信号は、オブジェクト指定信号であってもよい。
また、当該ユーザ入力を表す信号は、視聴者が当該ユーザ端末30に入力したコメントと当該視聴者の視聴者IDを含むコメント入力信号であってもよい。当該コメント入力信号を受信すると、当該中継ユニット304は、当該コメントと信号に含まれる当該視聴者IDを、当該配信者の当該ユーザ端末20と他の視聴者の当該ユーザ端末30に送信する。これらユーザ端末20、30において、当該視聴者側UIコントロールユニット202と、当該重ね合わせ情報生成ユニット204は、同じく受信した当該視聴者IDと関連付けられたディスプレイ上に受信したコメントを表示する。
当該贈り物処理ユニット306は、当該オブジェクト指定信号に含まれる贈り物IDによって特定される贈り物のポイントに基づき、当該配信者のポイントを増加させ、当該ユーザDB312を更新する。具体的には、当該贈り物処理ユニット306は、当該贈り物DB314を参照して、受信した当該オブジェクト指定信号に含まれる当該贈り物IDに対して付与するポイントを特定する。その後、当該贈り物処理ユニット306は、当該ユーザDB312を更新し、当該オブジェクト指定信号に含まれる当該配信者IDの(または当該配信者IDに対応する)ポイントに、特定されたポイントを追加する。
当該支払い処理ユニット308は、当該オブジェクト指定信号の受信に応答して、視聴者からの贈り物の代金の支払いを処理する。具体的には、当該支払い処理ユニット308は、当該贈り物DB314を参照して、当該オブジェクト指定信号に含まれる当該贈り物IDにより特定される当該贈り物の価格ポイントを特定する。その後、当該支払い処理ユニット308は、当該ユーザDB312を更新し、当該オブジェクト指定信号に含まれる当該視聴者IDにより特定される当該視聴者のポイントから、特定された当該価格ポイントを差し引く。
図4は、図3のストリームDB310の例示的データ構造を示す表である。当該ストリームDB310は、現在行われているライブストリームに関する情報を保持する。当該ストリームDB310は、ストリームID、配信者ID、視聴者IDを、相互に関連付けて格納する。当該ストリームIDは、当該ライブストリーミングシステム1により提供されるライブストリーミングプラットフォームにおけるライブストリームを識別するためのIDである。当該配信者IDは、当該ライブストリームを提供する配信者を識別するためのユーザIDである。当該視聴者IDは、当該ライブストリームの視聴者を識別するためのユーザIDである。一部の実施態様による当該ライブストリーミングシステム1により提供されるライブストリーミングプラットフォームにおいて、ユーザがライブストリームを開始すると、当該ユーザは配信者となり、同じユーザが別のユーザによりブロードキャストされるライブストリームを視聴すると、当該ユーザは視聴者にもなる。したがって、配信者と視聴者の区別は固定されておらず、あるとき配信者IDとして登録されたユーザIDが、別のときに視聴者IDとして登録されることもあり得る。
図5は、図3のユーザDB312の例示的データ構造を示す表である。当該ユーザDB312は、ユーザに関する情報を保持する。当該ユーザDB312は、当該ユーザIDと当該ポイントを、相互に関連付けて格納する。当該ユーザIDは、ユーザを識別する。当該ポイントは、対応する当該ユーザが保持するポイントに相当する。当該ポイントは、当該ライブストリーミングプラットフォーム内で流通する電子的な価値である。一部の実施態様において、配信者がライブストリーム中に視聴者から贈り物を受け取ると、当該配信者のポイントは当該贈り物に対応する価値だけ増加する。当該ポイントは、例えば、当該配信者が当該ライブストリーミングプラットフォームの管理者から受け取る報酬(金銭など)の量を決定するために使用される。一部の実施態様において、当該配信者が視聴者から贈り物を受け取る際に、当該ポイントに代えて、当該贈り物に対応する金額を付与してもよい。
図6は、図3の贈り物DB314の例示的データ構造を示す表である。当該贈り物DB314は、当該ライブストリーミング中に当該視聴者が利用できる贈り物についての情報を保持する。贈り物は、電子データである。贈り物は、ポイントまたは金銭で購入するか、無償で提供することができてもよい。贈り物は、視聴者が配信者に贈ることができる。配信者に贈り物を贈ることは、贈り物を使う、贈り物を送る、贈り物を投げるなどとも呼ばれる。贈り物の中には、購入と同時に使用できるものと、購入後、購入した視聴者が後から任意のタイミングで使用できるものとがある。視聴者が配信者に贈り物を贈ると、当該贈り物に対応する量のポイントが当該配信者に付与される。贈り物が使用されると、その使用によって当該贈り物に関連するエフェクトが発生してもよい。例えば、ライブストリーミング画面に当該贈り物に対応したエフェクト(視覚的効果や聴覚的効果など)が表示される。
当該贈り物DB314は、贈り物ID、付与ポイント、価格ポイントを、相互に関連付けて格納する。当該贈り物IDは、贈り物を識別するためのものである。当該付与ポイントは、配信者に贈り物が贈られたときに当該配信者に付与されるポイントの量である。当該価格ポイントは、贈り物の使用(購入)に対して支払われるポイントの量である。視聴者は、ライブストリームを視聴しているときに、所望の贈り物の当該価格ポイントを支払うことで、配信者に当該所望の贈り物を贈ることができる。当該価格ポイントの支払いは、適宜の電子決済手段により行うことができる。例えば、視聴者が管理者に当該価格ポイントを支払うことにより、支払いが行われてもよい。あるいは、銀行振り込みやクレジットカードによる支払いが利用されてもよい。当該管理者は、当該付与ポイントと当該価格ポイントとの関係を任意に設定することができる。例えば、付与ポイント=価格ポイントとして設定してもよい。あるいは、当該付与ポイントに1.2などの所定の係数を乗じたポイントを当該価格ポイントとして設定しても、当該付与ポイントに所定の手数料ポイントを加算したポイントを当該価格ポイントとして設定してもよい。
一部の実施態様において、当該配信情報提供ユニット302は、当該レコメンデーションロジックDB350に格納されたレコメンデーションロジックに基づいて、視聴者(または当該視聴者のユーザ端末)にコンテンツ(またはストリーム)を提供(またはレコメンド)する。例えば、当該配信情報提供ユニット302は、レコメンデーションロジックAに基づいて、コンテンツAを視聴者に提供してもよい。当該配信情報提供ユニット302は、レコメンデーションロジックBに基づいて、コンテンツBを当該視聴者に提供してもよい。コンテンツAとコンテンツBは、当該視聴者に提供され、当該視聴者の当該ユーザ端末に同時に表示されてもよい。
当該検出ユニット330は、当該視聴者(または当該視聴者のユーザ端末)からインタラクションデータを取得するように構成される。当該インタラクションデータは、当該視聴者にレコメンドされた当該コンテンツに関する当該視聴者のインタラクション操作を含んでもよい。例えば、当該インタラクションデータは、異なるレコメンデーションロジックに基づいてレコメンドされたコンテンツに関する当該視聴者のクリック率または(平均)定着時間を含んでもよい。
一部の実施態様において、レコメンデーションロジックに関する視聴者のクリック率は、[当該レコメンデーションロジックによってレコメンドされ、当該視聴者によってクリックされたストリーム数]を(例えば、所定期間内に)[当該レコメンデーションロジックによって当該視聴者にレコメンドされたストリーム合計数]で除したものとして定義されてもよい。
一部の実施態様において、レコメンデーションロジックに関する視聴者の平均定着時間は、(例えば、所定期間内に)[当該視聴者が当該レコメンデーションロジックによってレコメンドされたストリームに費やした平均時間長さ]として定義されてもよい。例えば、ある視聴者が、ロジックAがレコメンドしたストリームA1に1分、ロジックAがレコメンドしたストリームA2に2分、ロジックBがレコメンドしたストリームB1に5分、ロジックBがレコメンドしたストリームB2に7分をそれぞれ費やしたとする。ロジックAに関する当該視聴者の平均定着時間は1.5分となる。ロジックBに関する当該視聴者の平均定着時間は6分となる。
一部の実施態様において、当該インタラクションデータ(またはインタラクション操作)は、当該視聴者にレコメンドされたコンテンツに関する当該視聴者の視聴時間、贈り物回数、贈り物数量、コメント数および/またはフォロー操作を含んでもよい。
当該レコメンドユニット332は、視聴者にレコメンドされるコンテンツ(またはストリーム)を決定または調整するように構成される。例えば、当該レコメンドユニット332は、当該視聴者の当該ユーザ端末に表示するそれぞれのレコメンデーションロジックによってレコメンドされたコンテンツの割り当てを調整してもよい。当該レコメンドユニット332は、当該インタラクションデータに基づいてコンテンツの割り当てを調整してもよい。
例えば、当該インタラクションデータに基づいて、当該レコメンドユニット332は、当該視聴者がロジックAによってレコメンドされたコンテンツとより多く相互作用した(例えば、クリック率が高い、定着時間が長い、贈り物回数が多い、贈り物数量が多い、コメント数が多い、及び/またはフォロー操作が多い)と判断する。その後、当該レコメンドユニット332は、ロジックAからレコメンドされたコンテンツをより多く当該視聴者に表示するように、コンテンツの割り当てを調整する。一部の実施態様において、当該レコメンドユニット332は、ロジックAによってレコメンドされたコンテンツを他のロジックによってレコメンドされたコンテンツよりも高い順序で(またはより高い優先度で)表示するようにコンテンツの割り当てを調整してもよい。
一部の実施態様において、当該レコメンドユニット332は、異なるレコメンデーションロジックおよびインタラクションデータに基づいて、当該視聴者向けストリームのスコアを計算し、当該スコアに基づいてレコメンデーションを行ってもよい。当該スコアは、当該スコアDB354に格納されてもよい。
図7は、図3のレコメンデーションロジックDB350の例示的データ構造を示す表である。当該レコメンデーションロジックDB350は、ロジックIDとレコメンデーションロジック(またはレコメンデーションアルゴリズム)を相互に関連付けて格納する。
一部の実施態様において、当該類似度マッチングロジックは、ユーザ属性とストリーム属性を使用し、各視聴者-ストリームのペアに対して類似度スコアを算出する。その後、当該類似度マッチングロジックは視聴者らに対し、当該ストリームと当該視聴者らの類似度スコアに基づいて、コンテンツをレコメンドする。一部の実施態様において、当該協調フィルタリングロジックは、類似の視聴者による反応に基づいて、視聴者が好む可能性があるコンテンツをレコメンドする。一部の実施態様において、サムネイルレコメンデーションは、ストリームのサムネイルの人気度(例えば、クリック率)に応じてストリームをレコメンドする。一部の実施態様において、人気度ベースのフィルタリングロジックは、視聴数、いいねの数、贈り物の数、共有数などの人気度に基づいてストリームをレコメンドする。人気の高いストリームは、すべての視聴者が関心を持つ可能性が高いと想定する。一部の実施態様において、人口統計ベースのフィルタリングロジックは、年齢、性別、場所など、視聴者の人口統計情報に基づいてストリームをレコメンドする。類似の人口統計情報を持つ視聴者は、同様の嗜好や関心を持っている可能性が高いと想定する。
図8は、図3のインタラクションDB352の例示的データを示す表である。当該インタラクションDB352は、クリック率、視聴者ID、異なるロジックによりレコメンドされるコンテンツを相互に関連付けて格納する。
図8に示すように、ロジックRL2がレコメンドするコンテンツに対する視聴者V1のクリック率は0.4である。ロジックRL1がレコメンドするコンテンツに対する視聴者V2のクリック率は0.6である。ロジックRL3がレコメンドするコンテンツに対する視聴者V3のクリック率は0.7である。一部の実施態様において、クリック率0.7とは、70%の割合を意味してもよい。この実施態様において、視聴者V1は、ロジックRL2によってレコメンドされるコンテンツをより好む(またはより多く相互作用した)と判定されてもよい。視聴者V2は、ロジックRL1によってレコメンドされるコンテンツをより好む(またはより多く相互作用した)と判定されてもよい。視聴者V3は、ロジックRL3によってレコメンドされるコンテンツをより好む(またはより多く相互作用した)と判定されてもよい。
図9は、図3のインタラクションDB352の例示的データを示す表である。当該インタラクションDB352は、平均定着時間、視聴者ID、異なるロジックによりレコメンドされるコンテンツを相互に関連付けて格納する。
図9に示すように、ロジックRL2によりレコメンドされるコンテンツに対する視聴者V1の当該平均定着時間は5分である。ロジックRL1がレコメンドするコンテンツに対する視聴者V2の平均定着時間は7分である。ロジックRL1がレコメンドするコンテンツに対する視聴者V3の平均定着時間は6分である。この実施態様において、視聴者V1は、ロジックRL2によってレコメンドされるコンテンツをより好む(またはより多く相互作用した)と判定されてもよい。視聴者V2は、ロジックRL1によってレコメンドされるコンテンツをより好む(またはより多く相互作用した)と判定されてもよい。視聴者V3は、ロジックRL1によってレコメンドされるコンテンツをより好む(またはより多く相互作用した)と判定されてもよい。
図10に、本発明の一部の実施態様に基づく方法を示す例示的なフローチャートを示す。
工程S1000において、当該レコメンドユニット332は、レコメンデーションロジックRL1に基づき、視聴者V1について利用可能な各ストリームのレコメンデーションスコアを決定または算出する。
工程S1002において、当該レコメンドユニット332は、レコメンデーションロジックRL2に基づき、視聴者V1について利用可能な各ストリームのレコメンデーションスコアを決定または算出する。
一部の実施態様において、レコメンデーションスコアは、対応するレコメンデーションロジックによって、対応するストリームのコンテンツ属性データおよび当該視聴者の視聴者属性データに基づき、決定される。当該コンテンツ属性データは、当該ストリームのタグまたはラベルを含んでもよい。当該コンテンツ属性データは、リアルタイムで検出または決定されてもよい。当該視聴者属性データは、例えば、性別、国籍、視聴者の位置、または当該視聴者が提供する嗜好を含んでもよい。例えば、当該類似性マッチングロジックは、当該レコメンデーションスコアを、当該コンテンツ属性データと当該視聴者属性データとの間の類似性スコア(またはマッチングスコア)になる(またはそれに基づく)ように決定してもよい。一部の実施態様において、当該レコメンデーションスコアは、リアルタイムで決定される。
一部の実施態様において、レコメンデーションスコアは、対応するレコメンデーションロジックによって、対応するストリームのコンテンツ属性データに基づき、決定されてもよい。例えば、一部の実施態様において、人気度ベースのフィルタリングロジックは、当該レコメンデーションスコアを人気度スコアとなる(または人気度スコアに基づく)ように決定してもよい。当該人気スコアは、当該ストリームがどの程度人気があるかによって決定されてもよい。例えば、より多くのコメント、より多くの贈り物、および(または)より多くのフォロー操作が、当該ストリームのより高い人気度スコアにつながる可能性がある。
一部の実施態様において、協調フィルタリングロジックは、視聴者V1に対するストリームの当該レコメンデーションスコアを、同じくストリームを好む類似の視聴者(視聴者V1に類似した視聴者)の数に基づいて決定してもよい。例えば、より多くの類似の視聴者があるストリームを好んだ(または相互作用した)場合、当該ストリームに関して当該視聴者の当該レコメンデーションスコアが高く設定されてもよい。
工程S1004において、当該レコメンドユニット332は、工程S1000とS1002で算出されたスコアに基づき、視聴者V1に対してストリームをレコメンドする。一部の実施態様において、当該配信情報提供ユニット302が、当該レコメンデーションプロセスに関与してもよい。一部の実施態様において、それぞれのロジックから当該視聴者にレコメンドされるストリームの数は同じであってもよい。例えば、RL1に基づいてより高いスコアを有するN個のストリームと、RL2に基づいてより高いスコアを有するN個のストリームが、視聴者V1に提示されてもよい。一部の実施態様において、それぞれのロジックから当該視聴者にレコメンドされるストリームの割り当ては、均等または公平な方法であってもよい。一部の実施態様において、閾値より高いスコアを有するストリームまたは上位N個の高いスコアを有するストリームのみが、視聴者V1に提示される。
工程S1006において、当該検出ユニット330は、視聴者V1のユーザ端末から、レコメンドされたストリームに関するインタラクションデータを取得(または更新)する。当該インタラクションデータは、当該インタラクションDB352に格納されてもよい。
工程S1008において、当該レコメンドユニット332は、当該インタラクションデータに基づき、視聴者V1について各ストリームの混合スコアを算出(または更新)する。当該レコメンドユニット332は、ロジックRL1に基づき、視聴者V1について各ストリームの混合スコアを算出する。当該レコメンドユニット332は、ロジックRL2に基づき、視聴者V1について各ストリームの混合スコアを算出する。一部の実施態様において、当該混合スコアは、工程S1000とS1002で算出された当該レコメンデーションスコアの更新バージョンと見なされてもよい。当該レコメンドユニット332は、当該インタラクションデータから重みデータを算出し、当該重みデータを利用してレコメンデーションスコアを更新してもよい。
工程S1010において、当該レコメンドユニット332は、工程S1008で算出された当該混合スコアに基づき、視聴者V1にストリームをレコメンドする。当該レコメンドユニット332は、視聴者V1にレコメンドされるストリームを調整してもよい。当該レコメンドユニット332は、当該混合スコアに基づき、ロジックRL1とロジックRL2からのストリームの割り当てを調整してもよい。混合スコアが高いストリームを先に提示したり、優先順位を高くしたりしてもよい。
工程S1010の後、フローは工程S1006に戻る。工程S1006、S1008、S1010は、定期的に実行されてもよい。当該インタラクションデータが更新され、更新された当該インタラクションデータに基づき当該混合スコアが更新され、更新された当該混合スコアに基づき当該視聴者にレコメンドするストリームの割り当てが更新される。
図11は、本発明の一部の実施態様に基づくレコメンデーションの例を示す概略図である。
タイミングt1では、レコメンデーションロジックRL1、RL2に基づいて、視聴者V1、V2に対してストリーム(S1、S2、S3、S4、S5、S6)のスコア(または初期レコメンデーションスコア)が算出される。RL1では、スコアが視聴者データに依存しているため、視聴者によってスコアが異なる。RL2では、スコアが視聴者データから独立しているため、異なる視聴者でスコアが同じである。例えば、RL1は類似性マッチングロジック、RL2は人気度フィルタリングロジックとすることができる。
タイミングt1(またはタイミングt1~t3)において、ストリームS5、S1、S6、S2が視聴者V1の画面に表示される(またはレコメンドされる)。これは、視聴者V1に対して(RL1またはRL2に基づき)それらのスコアが高いためである。表示順序はスコアに基づく。
タイミングt1(またはタイミングt1~t3)において、ストリームS1、S6、S4、S2が視聴者V2の画面に表示される(またはレコメンドされる)。これは、視聴者V2に対して(ロジックRL1またはロジックRL2に基づき)それらのスコアが高いためである。表示順序はスコアに基づく。この実施態様において、ロジックRL1に基づき算出されたストリームS2の当該スコアと、ロジックRL2に基づき算出されたストリームS3の当該スコアが同じ(いずれも3)である。本実施態様では、ロジックバランスにより、当該ストリームS2が選択される。
タイミングt2において、レコメンドされたストリームに対する当該視聴者V1、V2のインタラクションデータに基づき、(各視聴者-ロジックのペアについて)重みが算出される。当該インタラクションデータは、クリック率及び(または)定着時間を含んでもよい。図11に示すように、タイミングt2において、当該重みデータによって当該視聴者V1がロジックRL1に基づき選択されたストリーム(S5、S2)とより相互作用しており、当該視聴者V2がロジックRL2に基づき選択されたストリーム(S1、S6)とより多く相互作用していることが示されている。
一部の実施態様において、視聴者-ロジックのペアに対する重みは、ロジックに基づいて選択されたストリームに関して、当該視聴者がより高いクリック率及び(または)定着時間を示したとき大きくなってもよい。一部の実施態様において、視聴者-ロジックのペアに対する重みは、ロジックに基づいて選択されたストリームに関して、当該視聴者により実行されたクリック率、定着時間及び(または)その他インタラクション操作に比例してもよい。当該重みは、当該レコメンドユニット332によって決定または算出されてもよい。
タイミングt3において、タイミングt2で算出された初期レコメンデーションスコアと重みデータに基づき、各ロジックに関して、各視聴者についてストリーム(S1、S2、S3、S4、S5、S6)のスコア(または混合スコア/更新されたレコメンデーションスコア)が算出される。例えば、V1-S1のペアでは、ロジックRL1で、初期レコメンデーションスコア1と重み0.7に基づき、視聴者V1に関してストリームS1の混合スコア0.7が算出される。例えば、V2-S1のペアでは、ロジックRL2で、初期レコメンデーションスコア7と重み0.7に基づき、視聴者V2に関してストリームS1の混合スコア2.8が算出される。
タイミングt3(またはタイミングt3の直後)に、ストリームS5、S2、S4、S3が視聴者V1の画面に表示(またはレコメンド)される。これは、視聴者V1に関して、それらストリームの(RL1またはRL2に基づく)混合スコアがより高いためである。表示順序はそれらの混合スコアに基づく。この実施態様において、ロジックRL1に基づき算出されたストリームS3の当該混合スコアと、ロジックRL2に基づき算出されたストリームS1の当該混合スコアが同じ(いずれも1.4)である。視聴者V1に対してロジックRL1がより高い重みを有するため、ストリームS3が選択される。
タイミングt3(またはタイミングt3の直後)に、ストリームS1、S6、S4、S3が視聴者V2の画面に表示(またはレコメンド)される。これは、視聴者V2に関して、それらストリームの(ロジックRL1またはロジックRL2に基づく)混合スコアがより高いためである。表示順序はそれらの混合スコアに基づく。
タイミングt4において、レコメンドされたストリームに対する視聴者V1、V2の新たに受信したインタラクションデータに基づき、(各視聴者-ロジックのペアについて)重みが算出(または更新)される。当該インタラクションデータは、クリック率及び(または)定着時間を含んでもよい。当該重みデータは、当該視聴者からの選択結果によってリアルタイムで更新され、当該重みデータは、各視聴者に固有のものである。
一部の実施態様において、新しいレコメンデーションロジック向けに決定された最小の重みが存在してもよい。それにより、新しいロジックによってレコメンドされたコンテンツが一定期間表示され、その後の割り当て調整のために対応するインタラクションデータが収集されるように確約できる。
一部の実施態様において、当該スコアデータまたは重みデータは、当該レコメンドユニット332によって算出され、当該スコアDB354に格納されてもよい。一部の実施態様において、タイミングt2とタイミングt3は、実質的に同じであってもよい。
一部の実施態様において、当該視聴者に表示されるストリーム(または重みデータ、あるいは混合スコア)のリフレッシュ(または更新)は、当該視聴者が所定の数のストリームと相互作用する(または視聴する)たびに1回実行されてもよい。また、タイミングt1とタイミングt3間の長さは固定でなくてもよい。
本発明は、異なるユーザに対してカスタマイズされた方法でコンテンツをレコメンドするものである。本発明は、異なる視聴者のインタラクションデータを利用することにより、異なるレコメンデーションロジックに基づき、異なる視聴者にコンテンツをレコメンドするものである。各視聴者は、自分に最適なレコメンデーションロジック/バージョンを有することができる。本発明は、ユーザの行動履歴に基づき、各ユーザに最適なレコメンデーションロジック/バージョンを自動的に見つけるものである。当該レコメンデーションスロットは、視聴者がストリーミングアプリケーションを使用し続けることで「カスタマイズ」される。
一部の実施態様において、異なるレコメンデーションロジックに関する視聴者の好みを判定する際に、機械学習が利用されてもよい。例えば、アンサンブル学習が実施されてもよい。当該インタラクションデータは、各視聴者の嗜好データを配信(または予測)するために、機械学習モデルに入力されてもよい。
一部の実施態様において、視聴者に対しては、スコア(レコメンデーションスコアまたは混合スコア)がそれぞれのレコメンデーションロジックの閾値より高いストリームのみがレコメンドされてもよい。
一部の実施態様において、視聴者がストリームに入った後に取得されたインタラクションデータは、視聴者がストリームに入る前に取得されたインタラクションデータよりも、重みデータの決定により大きい影響力を有してもよい。例えば、図8と図9を参照する。クリック率のデータは、視聴者V3がロジックRL3によってレコメンドされるコンテンツをより好んでいることを示している。定着時間のデータは、視聴者V3がロジックRL1によってレコメンドされるコンテンツをより好んでいることを示している。当該定着時間のデータは、当該視聴者が入って実際のコンテンツを視聴した後に取得されるため、重みデータの決定により大きい影響力を有する。図8に示す実施態様において、より高いクリック率は、視聴者V3が、サムネイルレコメンデーションロジックによってレコメンドされたストリームのサムネイルにより引き付けられていることを示している。しかし、図9の当該定着時間データから、視聴者V3は、実際には類似性マッチングロジックによってレコメンドされるストリームを好んでいることが分かる。
一部の実施態様において、異なるレコメンデーションロジックに関して視聴者の好み(または重みデータ)を判定する前に、あるロジックでスコアが高く、別のロジックでスコアが低いストリームを選択し、当該視聴者に表示してもよい。例えば、第1のストリーム群と第2のストリーム群が視聴者に表示される。当該第1のストリーム群は、当該視聴者について、第1のロジックに基づき第1の閾値より高いスコアと、第2のロジックに基づき第2の閾値より低いスコアとを有する。したがって、当該第1のストリーム群は、当該第1のロジックの良い代表となり得る。当該第2のストリーム群は、当該視聴者について、第1のロジックに基づき第3の閾値より低いスコアと、第2のロジックに基づき第4の閾値より高いスコアとを有する。したがって、当該第2のストリーム群は、当該第2のロジックの良い代表となり得る。この方法により、異なるレコメンデーションロジックに関して視聴者の好みを判定する際に、後で取得されるインタラクションデータの信頼性がより高くなる。この方法により、視聴者の好むレコメンデーションロジックを判定する際の混乱や誤判定を減らすことができる。
例えば、図11において、タイミングt1で、ストリームS5、S1、S6、S2が視聴者V1に表示される。ストリームS5は、ロジックRL1に基づく高いスコア(7)と、ロジックRL2に基づく低いスコア(2)を有する。ストリームS2は、ロジックRL1に基づく高いスコア(5)と、ロジックRL2に基づく低いスコア(1)を有する。ストリームS1は、ロジックRL1に基づく低いスコア(1)と、ロジックRL2に基づく高いスコア(7)を有する。ストリームS6は、ロジックRL1に基づく低いスコア(1)と、ロジックRL2に基づく高いスコア(6)を有する。したがって、視聴者V1がストリームS5および(または)S2とより多く相互作用する場合、視聴者V1は、ロジックRL1によってレコメンドされるコンテンツを好むことが明白である。視聴者V1がストリームS1および(または)S6とより多く相互作用する場合、視聴者V1がロジックRL2によってレコメンドされるコンテンツを好むことが明白である。
一部の実施態様において、VIP探索視聴者が特定されてもよい。異なるレコメンデーションロジックによってレコメンドされたストリームが、VIP探索視聴者にレコメンドされる。彼らのインタラクションデータに基づいて重みデータが算出され、後のレコメンデーションに使用される。VIP探索視聴者は、特定の配信者にこだわらず、多くの配信者と交流(例えば、贈り物送信、コメント、フォローなど)していること、または新しい配信者を探索し続けていること、の1つ以上の視聴者属性データ(またはインタラクション行動)によって定義されてもよい。彼らの好みはまだ形成されていない、あるいは固定されていない可能性があり、本発明は、彼らが所望するレコメンデーションロジックに基づき、彼らにコンテンツをレコメンドするために役立つ可能性がある。
図12を参照しながら、当該情報処理装置のハードウェア構成について説明する。図12は、本発明の一部の実施態様に基づく情報処理装置のハードウェア構成例を示すブロック図である。図に示された情報処理装置900は、例えば、一部の実施態様における、当該サーバ10及び(または)当該ユーザ端末20、30を実現することができる。
当該情報処理装置900は、CPU901と、ROM(リードオンリーメモリ)903と、RAM(ランダムアクセスメモリ)905を含む。また、当該情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェイス913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート925、通信装置929を含んでもよい。さらに、当該情報処理装置900は、カメラ(図示せず)などの撮像装置を含む。また、当該情報処理装置900は、当該CPU901に加えて、あるいは当該CPU901の代わりに、DSP(デジタルシグナルプロセッサ)やASIC(特定用途向け集積回路)を含んでもよい。
当該CPU901は、演算処理装置および制御装置として機能し、当該ROM903、当該RAM905、当該ストレージ装置919、または当該リムーバブル記録媒体923に格納された各種プログラムに従って、当該情報処理装置900のすべてまたは一部の動作を制御する。例えば、当該CPU901は、一部の実施態様における当該サーバ10及び当該ユーザ端末20、30に含まれる各機能ユニットの動作全般を制御する。当該ROM903は、当該CPU901が使用するプログラムや演算パラメータなどを格納する。当該RAM905は、当該CPU901の実行時に使用されるプログラムや、実行時に適宜変化するパラメータなどを格納する主記憶装置として機能する。当該CPU901、ROM903、RAM905は、ホストバス907によって相互接続され、当該ホストバス907は、CPUバスなどの内部バスであってもよい。さらに、当該ホストバス907は、ブリッジ909を介してPCI(ペリフェラルコンポーネントインターコネクト/インターフェイス)バスなどの外部バス911に接続される。
当該入力装置915は、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバーなどのユーザが操作する装置、あるいはマイクに代表される音センサ、加速度センサ、傾斜センサ、赤外線センサ、深度センサ、温度センサ、湿度センサなど物理量を電気信号に変換する装置であってもよい。当該入力装置915は、例えば、赤外線等の電波を利用したリモコン装置や、当該情報処理装置900の操作に対応した携帯電話等の外部接続装置927であってもよい。当該入力装置915は、当該ユーザが入力した情報または検出された物理量に基づいて入力信号を生成し、当該CPU901に出力する入力制御回路を含む。当該ユーザは、当該入力装置915を操作することにより、当該情報処理装置900に各種データを入力し、動作を指示する。
当該出力装置917は、取得した情報を視覚的または聴覚的に当該ユーザに通知することができる装置である。当該出力装置917は、例えば、LCD、PDP、OLED等のディスプレイ、スピーカーやヘッドフォン等の音声出力装置、プリンタなどであってもよい。当該出力装置917は、当該情報処理装置900による処理結果を、テキスト、画像などの映像、または音声などのオーディオとして出力する。
当該ストレージ装置919は、データストレージ用装置であり、当該情報処理装置900のストレージユニットの一例として構成される。当該ストレージ装置919は、例えば、ハードディスクドライブ(HDD)などの磁気記憶装置、半導体記憶装置、光記憶装置、または光磁気記憶装置である。このストレージ装置919は、当該CPU901が実行するプログラム、各種データ、外部から取得した各種データなどを格納する。
当該ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブル記録媒体923のリーダー/ライターであり、当該情報処理装置900に内蔵または外付けされる。当該ドライブ921は、装着されたリムーバブル記録媒体923に記録された情報を読み出し、当該RAM905にそれを出力する。さらに、当該ドライブ921は、装着された当該リムーバブル記録媒体923に記録を書き込む。
当該接続ポート925は、当該情報処理装置900に機器を直接接続するためのポートである。当該接続ポート925は、例えば、USB(ユニバーサルシリアルバス)ポート、IEEE1394ポート、またはSCSI(小型計算機システムインターフェイス)ポートなどであってもよい。さらに、当該接続ポート925は、RS―232Cポート、光オーディオ端子、HDMI(登録商標)(高精細度マルチメディアインターフェイス)ポートなどであってもよい。当該接続ポート925に当該外部接続装置927を接続することにより、当該情報処理装置900と当該外部接続装置927との間で様々なデータのやり取りを行うことができる。
当該通信装置929は、例えば、当該ネットワークNWに接続するための通信装置で形成された通信インターフェイスである。当該通信装置929は、例えば、有線または無線のローカルエリアネットワーク(LAN)、Bluetooth(商標)、または、無線USB(WUSB)用の通信カードであってもよい。さらに、当該通信装置929は、光通信用のルータ、ADSL(非対称デジタル加入者線)用のルータ、または、各種通信用のモデムなどであってもよい。当該通信装置929は、TCP/IPなどの所定のプロトコルを用いて、インターネット上や他の通信装置との間で信号等の送受信を行う。当該通信装置929に接続される当該通信ネットワークNWは、有線または無線で接続されるネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、電波通信、衛星通信などである。当該通信装置929は、通信装置としての機能を実現する。
当該撮像装置(図示せず)は、CCD(電荷結合デバイス)やCMOS(相補型金属酸化膜半導体)などの撮像素子と、当該撮像素子上の被写体像の結像を制御するためのレンズなど各種部材を用いて現実空間の画像を撮像し、撮像画像を生成する装置である。当該撮像装置は、静止画を撮像しても、動画を撮像してもよい。
以上、本実施態様に係る当該ライブストリーミングシステム1の構成及び動作について説明した。本実施態様は単なる一例であり、各構成要素や各処理の組み合わせについてさまざまな変更が可能であり、それらの変更も本発明の範囲内であることは当業者には理解されるところである。
本発明で説明した処理及び手順は、明示的に説明したものに加えて、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせにより実現することができる。例えば、本明細書で説明した処理および手順は、その処理および手順に対応するロジックを集積回路、揮発性メモリ、不揮発性メモリ、非一時的なコンピュータ可読媒体、磁気ディスクなどの媒体に実装することにより実現することができる。さらに、本明細書に記載された処理および手順は、その処理および手順に対応するコンピュータプログラムとして実現することができ、各種のコンピュータにより実行することができる。
さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読媒体に格納されたプログラムに統合されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされ、プロセッサにより実行されるものとしてもよい。
以上、本発明の技術的内容及び特徴を説明したが、本発明の属する技術分野において通常の知識を有する者であれば、本発明の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本発明の範囲は、既に開示された実施態様に限定されず、本発明から逸脱しない別の変形や修正を含む、特許請求の範囲に含まれる範囲である。
図13は、本発明の一部の実施態様に基づくレコメンデーションシステムの概略図である。システムは6つのライブストリームS1、S2、S3、S4、S5、S6をVIP探索ユーザにレコメンドする。VIP探索ユーザとは、新しいストリーマー(または配信者)を積極的に探して支援し、その支出額が閾値を超えているユーザである。システムは、ユーザの行動データを監視および分析することにより、VIP探索ユーザを決定してもよい。レコメンドされる6つのライブストリームは、異なる種類の機械学習レコメンデーションモデルからのものである。レコメンドされた3つのライブストリームS1、S2、S3は、高い潜在性を有するストリーマーを選択するための機械学習レコメンデーションモデルからのものである。レコメンドされたライブストリームS4は、よいサムネイルを有するストリームを選択するための機械学習レコメンデーションモデルからのものである。レコメンドされたライブストリームS5は、ユーザの関心が高いストリームを選択するための機械学習レコメンデーションモデルからのものである。レコメンドされたライブストリームS6は、新しいストリーマーを選択するための機械学習レコメンデーションモデルからのものである。
レコメンドされたライブストリームにおけるユーザアクティビティ(またはインタラクションデータ)は、システムにおいて記録される。当該システムは、記録された当該ユーザアクティビティを受信するように構成されたフィードバックロジックユニットを有する。当該フィードバックロジックユニットは、フィードバックロジックに基づいて、当該機械学習レコメンデーションモデルへのレコメンデーションページ上のスロットの割り当てを制御するように構成される。当該フィードバックロジックは、あるユーザによってより多くの機械学習レコメンデーションモデルの結果が好まれる(あるいは相互作用が行われる)ほど、当該ユーザについての当該レコメンデーションページ上のスロットがより多く当該機械学習レコメンデーションモデルに割り当てられるように手配される。
以下で、当該フィードバックロジックの一例について説明する。2つの機械学習レコメンデーションモデルRS1、RS2があるものと仮定する。ユーザAについてのユーザアクティビティは、当該ユーザAがRS1によってレコメンドされた3つのライブストリームを視聴し、それら3つのうち、当該ユーザは2つのライブストリームに「いいね」を押し、当該ユーザAは1つも「ひどいね」を押さなかったことを示した。当該ユーザAについてのユーザアクティビティは、当該ユーザAがRS2によってレコメンドされた2つのライブストリームを視聴し、それら2つのうち、当該ユーザは1つのライブストリームに「いいね」を押し、1つのライブストリームに「ひどいね」を押したことを示した。図14は、ユーザAが探索したライブストリームの数を示す表である。
フィードバックロジックユニットは、図14に示すデータを受信する。当該フィードバックロジックユニットは、RS1とRS2それぞれの「好感度」を算出する。当該フィードバックロジックユニットは、RS1とRS2のそれぞれについて、視聴率、「いいね」率、非「ひどいね」率を算出する。当該フィードバックロジックユニットは、RS1とRS2のそれぞれについて、算出された3つの比率の平均比率を算出する。
RS1の当該視聴率は、RS1によりレコメンドされたライブストリームの数をライブストリームの総数で割った値に等しい。この場合、3/5=0.6(60%)となる。RS1の「いいね」率は、RS1によってレコメンドされ、「いいね」が押されたライブストリーム数を「いいね」が押されたライブストリームの総数で割った値に等しい。この場合、2/3=0.6667(66.67%)となる。RS1の非「ひどいね」率は、1-(RS1によってレコメンドされ、「ひどいね」が押されたライブストリーム数を「ひどいね」が押されたライブストリームの総数で割った値)に等しい。この場合、1-(0/1)=1(100%)となる。RS2についても比率が同様に算出される。図15は、RS1とRS2のそれぞれについて算出された比率を示す表である。
当該フィードバックロジックユニットは、算出された平均比率に応じて、RS1とRS2のそれぞれにスロットを割り当てるように構成される。図15に示す例において、合計6つのスロットがある。6つのスロットのうち5つのスロットがRS1に割り当てられ、1スロットがRS2に割り当てられている。当該フィードバックロジックユニットは、24.44%/100%×6~1.46...~1の計算により、RS2への割り当てが1であると決定する。当該フィードバックロジックユニットは、75.56%/100%×6~4.53...~5の計算により、RS2への割り当てが5であると決定する。
図16は、ユーザのユーザ端末のディスプレイに表示されるレコメンデーションページのスロットの変化を説明する概略図である。当該レコメンデーションページ700は現在利用可能なライブストリームのサムネイル用に6つのスロット(スロットSL1~スロットSL6)を有する。当該スロットの位置が当該ページ700の上方にあるほど、そのスロットに表示されたサムネイルは、ユーザの注目を集める。したがって、そのようなサムネイルがクリックされる確率が高くなる。例えば、当該スロットSL1は、当該スロットSL3よりも視聴される機会の点で優れている。まず、RS1の結果、ユーザにレコメンドされる上位3つのライブストリームを表す3つのサムネイルが、当該スロットSL1、SL3、SL5に配置される。RS2の結果、ユーザにレコメンドされる上位3つのライブストリームを表す3つのサムネイルが、当該スロットSL2、SL4、SL6に配置される。これは、RS1とRS2で好感度に差がないことを想定している。したがって、RS1とRS2の視聴される機会が同等となるようにスロットが割り当てられる。ここで、当該ユーザが当該スロットSL1に配置されたサムネイルを選択する。当該スロットSL1にある当該サムネイル(RS1によってレコメンドされたライブストリームを表す)を示すユーザアクティビティ(インタラクションデータなど)が当該システムに送信される。
当該システムのフィードバックロジックユニットが、上記で説明した計算を行う。その後、当該フィードバックロジックユニットが、5つのスロットをRS1に割り当て、1つのスロットをRS2に割り当てるべきであると判断する。当該フィードバックロジックユニットは、その指示を当該ユーザの当該ユーザ端末に送信する。当該ユーザ端末は、当該指示を受信したことに応答して、当該レコメンデーションページ700上のスロットの再割当を実行する。当該フィードバックロジックユニットの判断により、RS1に5つのスロット(SL1~SL5)が割り当てられ、RS2に1つのスロット(SL6)が割り当てられる。当該スロットSL1~SL5には、RS1の結果当該ユーザに対してレコメンドされる上位5つのライブストリームを表す5つのサムネイルが配置される。当該スロットSL6には、RS2の結果当該ユーザに対してレコメンドされる上位のライブストリームを表すサムネイルが1つ配置される。このような仕組みにすることで、各ユーザに最適なレコメンデーションページを提供することができる。当該システムは、選択履歴を確認することで、各ユーザに最適なスロット配置を自動的に見つける。当該ユーザがライブストリーミングアプリケーションを使い続けることで、当該スロットが「カスタマイズ」される。
上記実施態様によれば、当該レコメンデーションページが当該ユーザの好みにより合致するようになり、当該ユーザの満足度が向上する。ユーザによって、当該レコメンデーションシステムの異なるバージョン、あるいは複数のバージョンの組み合わせが自身の好みにより合っていると感じる場合がある。本実施態様では、当該ユーザが気に入ったライブストリームの割合を徐々に増やすことで、この状況に対処することができる。
一部の実施態様において、レコメンデーションモデルに割り当てられるスロットの数を変更する代わりに、レコメンデーションモデルに割り当てられるスロットの位置を変更することも可能である。例えば、図16に示すように、当該ユーザが当該スロットSL1に配置されたサムネイルを選択した後、スロットSL1~SL3が視聴される機会を高めるためにRS1に割り当てられ、残りのスロットSL4~SL6がRS2に割り当てられてもよい。
一部の実施態様において、各レコメンデーションモデルに対してスロットの下限数が設定されてもよい。下限数を1とすると、特定のレコメンデーションモデルの平均比率がゼロに近い場合でも、その特定のレコメンデーションモデルに割り当てられるスロットが少なくとも1つ存在することになる。これにより、ユーザによる探索に十分な多様性を確保することができる。
上述において開示された実施態様は、以下のようにも説明される。
サーバであって、第1の割当ユニットと、第2の割当ユニットと、通信ユニットと、を含み、
当該第1の割当ユニットが、ストリーム情報を要求するユーザ端末上に表示されるページ上の異なる位置に異なるレコメンデーションロジックを割り当てるように構成され、当該割当が当該ユーザに関する情報に基づいて行われ、
当該第2の割当ユニットが、当該第1の割当ユニットによって割り当てられた当該レコメンデーションロジックを介して、ある位置にストリームを割り当てるように構成され、当該ストリームが、当該レコメンデーションロジックからレコメンドされたストリームとして出力され、
当該通信ユニットが、ネットワークを介して、要求元ユーザ端末に、当該第2の割当ユニットでの割当結果を送信するように構成される。
図17は、本発明の一部の実施態様に基づくレコメンデーションサーバのブロック図である。当該サーバは、通信ユニットと、スロット割当ユニットと、レコメンデーションロジックAと、レコメンデーションロジックBと、レコメンデーションロジックCと、ストリーム割当ユニットと、ストリームDBと、ユーザDBと、レコメンデーションリストAと、レコメンデーションリストBと、レコメンデーションリストCと、最終リストを含む。
当該通信ユニットは、ネットワークを介して、ユーザのユーザ端末と通信するように構成される。当該ストリームDBは、当該ライブストリーミングプラットフォームで進行中のライブストリームに関する情報を格納する。当該ユーザDBは、当該ライブストリーミングプラットフォームに登録されている当該ユーザに関する情報を格納する。
レコメンデーションロジックとは、ライブストリームとそれらにマッチングするスコアが記載されたレコメンデーションリストを出力するアルゴリズムである。当該ロジックは、ルールベースまたは機械学習ベースとすることができる。本実施例では、3つの異なるレコメンデーションロジックがあるが、本発明はこれに限定されず、任意の数および任意のタイプのレコメンデーションロジックを使用することができる。
図18は、本発明の一部の実施態様に基づく方法を示す例示的なフローチャートである。当該通信ユニットは、ユーザの端末から、ネットワークを介して、当該ユーザにレコメンドされるストリームリストに対する要求を受信する。当該スロット割当ユニットは、当該要求の受信に応答して、当該要求元ユーザに関する情報を取得する。当該スロット割当ユニットは、当該ユーザ情報に基づいて、当該レコメンデーションページ上の各スロットまたは位置をレコメンデーションロジックに割り当てる。このスロット割当は、ルールベースまたは機械学習ベースとすることができる。
当該ストリーム割当ユニットは、当該レコメンデーションロジックにより出力されたレコメンデーションリストを取得する。当該ストリーム割当ユニットは、当該レコメンデーションリストに含まれるストリームを当該スロットに割り当て、最終リストを生成する。当該通信ユニットは、生成された当該最終リストを、ネットワークを介して当該要求元ユーザ端末に送信する。
図19は、本発明の一実施態様に基づく例示的なプロセスとデータを示す概略図である。当該通信ユニットは、当該レコメンドされたストリームに対する当該要求を受信する。当該スロット割当ユニットは、当該要求の受信に応答して、当該要求元ユーザに関する当該情報を取得する。当該情報は、当該要求元ユーザの属性(性別、年齢、選択したカテゴリなど)、当該要求元ユーザの行動履歴(視聴履歴、配信履歴、ページ閲覧履歴など)を含んでいてもよい。当該スロット割当ユニットは、当該要求元ユーザの情報を使用して、スロット対ロジックの割り当てを生成する。例えば、当該スロット割当ユニットは、当該要求元ユーザを以下の3つのカテゴリのいずれかに分類してもよい:
長期ユーザ:XX日またはそれ以上前に登録されたユーザ
中期ユーザ:YY日より前かつXX日までに登録されたユーザ
新規ユーザ:直近のYY日以内に登録されたユーザ。
その後、当該スロット割当ユニットは、それぞれのユーザカテゴリに対応するスロット対ロジックの割当を生成してもよい。この例では、それぞれのカテゴリ(長期、中期、新規)に対応する3つの割り当てがある。
各レコメンデーションロジックA、B、Cは、そのレコメンデーションリストA、B、Cを出力する。当該レコメンデーションロジックは、当該要求元ユーザの情報を使用して当該リストを生成してもよい。一例として、あるロジックは、当該要求元ユーザの属性と当該ストリームのコンテンツタグに基づいて、当該要求元ユーザと各ストリーム間のマッチングスコアを算出する。また、当該ロジックは、当該要求元ユーザの情報を使用しなくてもよい。次のような例がある。レコメンデーションロジックA:レベルがAA未満のストリーマーのストリームが抽出され、当該ストリームがそれらストリームの達成度スコアによりソートされる。レコメンデーションロジックB:レベルがBB未満かつAA以上のストリーマーのストリームが抽出され、当該ストリームがそれらストリームの達成度スコアによりソートされる。レコメンデーションロジックC:レベルBB以上のストリーマーのストリームが抽出され、当該ストリームがそれらストリームの達成度スコアによりソートされる。
当該ストリーム割当ユニットは、生成された当該スロット対ロジックの割当と3つの当該レコメンデーションリストを参照する。当該ストリーム割当ユニットは、当該スロットに対応する当該レコメンデーションロジックの当該レコメンデーションリストに記載された順序で、当該ストリームを当該スロットに割り当て、最終リストを生成する。当該通信ユニットは、ネットワークを介して当該最終リストを当該要求元ユーザの端末に送信する。当該要求元ユーザの端末は、当該最終リストの受信に応答して、当該最終リストに基づき当該レコメンデーションページを生成する。当該レコメンデーションページの各スロットには、当該最終リストで指定されたそれぞれのストリームのサムネイルが表示される。当該ストリーム割当ユニットは、図13、図14、図15、図16に関連して説明したように、当該レコメンデーションページでの選択結果に基づいて更新されてもよい。
上述の構成においては、まずスロット対ロジックの割り当てまたはマッピングが決定され、その後、それぞれのロジックを介して各スロットにストリームが割り当てられる。これは、当該要求元ユーザにとって最適なロジックが選択され、当該レコメンデーションページの構築に選択された当該ロジックの結果のみが使用される状況と対照的である。そういった状況では、ユーザはレコメンデーションの一側面しか見ることができず、バラエティに欠ける。上述した構成では、異なるロジックがスロットに割り当てられている。そのため、ユーザはレコメンデーションページで異なる種類のレコメンデーション結果を見ることができる。また、異なるロジックが異なるレコメンデーション結果を生成するため、ストリーマーは潜在的視聴者への露出機会が増える。したがって、すべての優れたストリーマーを対象とした露出の分散と、達成度スコアでのソート維持が実現される。
図13、図14、図15、図16で説明した実施例の変化例
RS1は、ユーザの優先カテゴリのストリームが抽出された後、抽出された当該ストリームがフォロワー変換でソートされるロジックであってもよい。当該フォロワー変換とは、ストリームでフォロー操作を実行したユーザ数を、ストリームに参加したユーザ数で割った値である。当該フォロワー変換は、当該ユーザに関する事前知識を必要としない。従って、当該フォロワー変換によるソートは、新規視聴者に対する最初のストリーム提示に適している。優先カテゴリとは、ユーザの好みとして静的または動的に記録されているストリームカテゴリである。
RS2は、ユーザがフォローしているストリーマーのストリームが抽出され、抽出された当該ストリームがスコアによりソートされるロジックであってもよい。
図11または図16の変化例
最初のストリームレコメンデーションは、「支持」ユーザの視聴履歴に由来してもよい。当該支持ユーザとは、当該ライブストリーミングプラットフォームにおいて長期的な経験を有するユーザである。具体的には、当該支持ユーザの視聴履歴から得られる当該最初のストリームレコメンデーションを新規ユーザに提供することは、当該新規ユーザが当該ライブストリーミングプラットフォームに関与する確率を高めることに有効である。