以下、本発明の一実施の形態を図面を参照しつつ説明する。
図1を用いて、本実施形態の歌唱情報処理システムの全体構成を説明する。
図1において、歌唱情報処理システム1は、演奏曲の再生を行うカラオケ装置100を利用するユーザの演奏曲に関する歌唱情報を処理するシステムである。この歌唱情報処理システム1は、カラオケ店舗等のカラオケルームKRにそれぞれに設置された、カラオケ装置100及びリモコン200と、ホストサーバ300と、広告配信サーバ400とを有している。
なお、カラオケ装置100とリモコン200とは、例えば無線又は有線のLocal Area Network(LAN)等のネットワークNW1を介し、互いに情報送受信可能に接続されている。また、カラオケ装置100やリモコン200と、ホストサーバ300と、広告配信サーバ400とは、上記ネットワークNW1と、例えば通信ネットワーク等のネットワークNW2とを介し、互いに情報送受信可能に接続されている。
カラオケ装置100は、演奏曲データを用いて、演奏曲の再生サービスを提供する楽曲再生装置である。このカラオケ装置100は、制御部101と、再生手段としての再生部102と、表示部103と、音声出力部104と、操作部105と、通信制御部106と、大容量記憶装置107と備えている。
制御部101は、図示しないCPU及びRAM、ROM等のメモリを備えている。この制御部101は、RAMの一時記憶機能を利用しつつ、ROMや大容量記憶装置107に予め記憶された各種プログラムを実行する。これにより、カラオケ装置100全体の制御を行う。
大容量記憶装置107は、例えばHard Disk Drive(HDD)などから構成される。この大容量記憶装置107には、複数の演奏曲データ、及び、予め広告配信サーバ400より出力された複数の広告情報等の各種情報が記憶されている。なお、演奏曲データには、楽曲データとしてのMusical Instrument Digital Interface(MIDI;登録商標)データ、及び、映像データ等が含まれている。また、広告情報は、特定の商品等を広告する動画情報や静止画情報である。
再生部102は、上記大容量記憶装置107に記憶された演奏曲データを用いて演奏曲を再生する。またこれと共に、再生部102は、上記大容量記憶装置107に記憶された広告情報を再生する。
表示部103は、例えば液晶ディスプレイなどから構成される。この表示部103は、上記再生部102によって再生された演奏曲や広告情報に係わる動画や静止画の映像を表示する。
音声出力部104は、例えばアンプやスピーカなどから構成される。この音声出力部104は、上記再生部102によって再生された演奏曲や広告情報に係わる音声、及び、図示しないマイクにより入力されたユーザの歌唱音声等を出力する。
操作部105は、複数のキーやスイッチなどから構成される。ユーザは、この操作部105又は後述のリモコン200の操作部205を用いて、演奏曲に関する選曲操作等の各種操作を行うことができる。
通信制御部106は、リモコン200、ホストサーバ300、広告配信サーバ400との間で、上記ネットワークNW1,NW2を介し行われる情報通信の制御を行う。
リモコン200は、ユーザが演奏曲に関する選曲操作、言い換えれば、演奏曲の予約等の各種操作を行うための操作端末である。このリモコン200は、制御部201と、表示部203と、操作部205と、通信制御部206と、記憶装置207とを備えている。
制御部201は、図示しないCPU及びRAM、ROM等のメモリを備えている。この制御部201は、RAMの一時記憶機能を利用しつつ、ROMや記憶装置207に予め記憶された各種プログラムを実行する。これにより、リモコン200全体の制御を行う。
表示部203は、例えば液晶ディスプレイなどから構成され、各種表示を行う。
操作部205は、複数のキーやスイッチなどから構成される。ユーザは、この操作部205又は上記カラオケ装置100の操作部105を用いて、演奏曲に関する選曲操作等の各種操作を行うことができる。
通信制御部206は、カラオケ装置100、ホストサーバ300、広告配信サーバ400との間で、上記ネットワークNW1,NW2を介し行われる情報通信の制御を行う。
記憶装置207は、例えば不揮発性メモリなどから構成され、各種情報を記憶する。
ホストサーバ300は、制御部301と、通信制御部306と、大容量記憶装置307とを備えている。
制御部301は、図示しないCPU及びRAM、ROM等のメモリを備えている。この制御部301は、RAMの一時記憶機能を利用しつつ、ROMや大容量記憶装置307に予め記憶された各種プログラムを実行する。これにより、ホストサーバ300全体の制御を行う。
通信制御部306は、カラオケ装置100、リモコン200、広告配信サーバ400との間で、上記ネットワークNW2,NW1を介し行われる情報通信の制御を行う。
大容量記憶装置307は、例えばHDDなどから構成される。なお、この大容量記憶装置307は、各請求項記載の、第1記憶手段及び第2記憶手段に相当する。
この大容量記憶装置307の図示しないデータベース記憶エリアには、会員データベース(図示せず)、歌唱履歴データベース3071(後述の図2参照)、ログイン・ログアウトデータベース3072(後述の図3参照)、及び、ユニットID−歌手IDデータベース3073(後述の図4参照)が記憶されている。
会員データベースには、カラオケ装置100による演奏曲の再生サービスに係わる会員として登録されたユーザの会員情報が記憶されている。ユーザの会員情報には、当該ユーザのユーザ識別情報であるユーザID、性別、生年月日等が含まれている。
なお、上記会員として登録されたユーザが、ユーザ識別情報を登録した登録ユーザに相当する。以下適宜、上記会員として登録されたユーザを「登録ユーザ」と称する。また、上記会員として登録されていないユーザが、ユーザ識別情報を登録していない非登録ユーザに相当する。以下適宜、上記会員として登録されていないユーザを「非登録ユーザ」と称する。
広告配信サーバ400は、複数の広告情報を格納した広告データベース(図示せず)を備えている。この広告配信サーバ400は、上記広告データベースに格納された広告情報を、上記ネットワークNW2,NW1を介しカラオケ装置100等へ出力する。
図2に、上記歌唱履歴データベース3071の記憶内容の一例を示す。
図2に示すように、歌唱履歴データベース3071には、演奏曲に関する登録ユーザの選曲操作に基づく当該登録ユーザの歌唱履歴情報と、演奏曲に関する非登録ユーザの選曲操作に基づく当該非登録ユーザの歌唱履歴情報と、が記憶されている。
登録ユーザの歌唱履歴情報には、上記選曲操作を行った登録ユーザのユーザIDと、選曲された演奏曲の再生を行ったカラオケ装置100の装置識別情報である装置IDと、選曲された演奏曲が歌唱された時刻情報である歌唱日時と、選曲された演奏曲の曲識別情報である曲IDと、選曲された演奏曲の歌手識別情報である歌手IDと、が含まれている。
非登録ユーザの歌唱履歴情報には、上記選曲操作を行ったユーザが非登録ユーザである旨を表す「GUSUT」と、選曲された演奏曲の再生を行ったカラオケ装置100の装置IDと、選曲された演奏曲に係わる歌唱日時と、選曲された演奏曲の曲IDと、選曲された演奏曲の歌手IDと、が含まれている。
なお、登録ユーザ及び非登録ユーザの歌唱履歴情報としては、上記に限られず、例えば選曲された演奏曲の曲ジャンル識別情報であるジャンルID等、上記以外の情報を含めるようにしてもよい。上記曲ID、歌手ID、及びジャンルIDは、それぞれ、各請求項記載の歌唱対象識別情報に相当する。
また、登録ユーザのユーザIDには、ホストサーバ300の制御部301が適宜のタイミングで実行する所定のクラスタリング処理により、互いに嗜好の異なる複数の(この例では10つの)ユニットのユニット識別情報であるユニットIDのいずれかが予め対応付けられている。クラスタリングとは、例えば公知のK−means法やSelf Organizing Maps(SOM)法などのクラスタリング手法を用いて、複数のデータを外的基準なしに自動的に分類する手法、又は、そのアルゴリズムである。すなわち、登録ユーザは、上記10つのユニットのいずれかに属しているのである。なお、以下適宜、登録ユーザが属するユニットのユニットIDを「第1ユニットID」と称する。
図3に、上記ログイン・ログアウトデータベース3072の記憶内容の一例を示す。
図3に示すように、ログイン・ログアウトデータベース3072には、複数の登録ユーザのログイン・ログアウト情報が記憶されている。
登録ユーザのログイン・ログアウト情報には、ホストサーバ300の制御部301が実行する所定のユーザ認証処理を経て、リモコン200の表示部203における登録ユーザ固有の閲覧画面であるマイページにアクセス可能となった登録ユーザのユーザIDと、ログイン日時と、ログアウト日時と、が含まれている。
ログイン日時は、当該登録ユーザが上記マイページにログインした際の時刻情報である。ログアウト日時は、当該登録ユーザが上記マイページからログアウトした際の時刻情報である。
図4に、上記ユニットID−歌手IDデータベース3073の記憶内容の一例を示す。
図4に示すように、ユニットID−歌手IDデータベース3073には、複数の上記歌唱対象識別情報(この例では歌手ID)と、上記10つのユニットIDと、が対応付けられた分類情報が予め記憶されている。なお、上記歌唱対象分類情報における複数の歌唱対象識別情報としては、複数の歌手IDに限られず、複数の曲IDや複数のジャンルIDなどであってもよい。
当該分類情報においては、各ユニットIDに対して、複数の(この例では5つの)歌手IDがそれぞれ対応付けられている。具体的には、各ユニットIDに対して、当該ユニットIDに係わるユニットに属する複数の登録ユーザの間で、演奏曲が多く歌唱された上位5人の歌手に係る歌手ID、言い換えれば、人気の高い上位5人の歌手に係る歌手IDがそれぞれ対応付けられている。なお、各ユニットIDに対して対応付けられる複数の歌手IDとしては、上記のような歌手IDに限られない。
また、以下適宜、各ユニットIDに対して対応付けられた5つの歌手IDを、上記人気の高い歌手に係る歌手IDから順に、「第1歌手ID」「第2歌手ID」「第3歌手ID」「第4歌手ID」「第5歌手ID」と称する。すなわち、第1歌手IDは、ユニットに属する複数の登録ユーザの間で最も人気のある歌手に係る歌手IDである。第2歌手IDは、ユニットに属する複数の登録ユーザの間で2番目に人気のある歌手に係る歌手IDである。第3歌手IDは、ユニットに属する複数の登録ユーザの間で3番目に人気のある歌手に係る歌手IDである。第4歌手IDは、ユニットに属する複数の登録ユーザの間で4番目に人気のある歌手に係る歌手IDである。第5歌手IDは、ユニットに属する複数の登録ユーザの間で5番目に人気のある歌手に係る歌手IDである。
図4に示す例では、例えばユニットID「1」に対しては、第1歌手IDとして歌手ID「3」、第2歌手IDとして歌手ID「4」、第3歌手IDとして歌手ID「1」、第4歌手IDとして歌手ID「2」、及び、第5歌手IDとして歌手ID「6」が対応付けられている。説明は省略するが、上記以外のユニットID「2」〜ユニットID「10」に対しても、それぞれ同様に、5つの歌手IDが対応付けられている。
上記構成の本実施形態の最大の特徴は、非登録ユーザに対応付けるユニットIDを決定すること、非登録ユーザに対応付けられたユニットIDを当該非登録ユーザが随伴する登録ユーザのユーザIDに対応付けたゲストユニット情報(後述)を記憶すること、及び、演奏曲に関する登録ユーザの選曲操作に基づき、記憶されたゲストユニット情報において、当該登録ユーザのユーザIDに対応付けられたユニットIDを取得すること、にある。以下、その詳細を説明する。
図5を用いて、ホストサーバ300の制御部301が実行する、ゲストユニット情報の記憶に関する処理に関する制御手順を説明する。
図5において、例えばホストサーバ300の操作者によりゲストユニット情報(後述)を大容量記憶装置307に記憶させる指示がなされることによって、図中「START」位置で表されるように、このフローが開始される。
まずステップSS10で、制御部301は、上記ログイン・ログアウトデータベース3072(図3参照)の中から、まだ抽出していないログイン・ログアウト情報を1レコード抽出する。なお、レコードとは、データベースを構成するデータの単位である。
その後、ステップSS20で、制御部301は、上記歌唱履歴データベース3071(図2参照)に記憶された複数の登録ユーザ及び非登録ユーザの歌唱履歴情報のうち、当該歌唱履歴情報に含まれる装置IDが上記ステップSS10で抽出されたログイン・ログアウト情報に含まれるユーザIDに対応付けられた装置IDと一致し、かつ、当該歌唱履歴情報に含まれる歌唱日時が当該ログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲内となる、登録ユーザ及び非登録ユーザの歌唱履歴情報を取得すなわち抽出する。これにより、上記ステップSS10で抽出されたログイン・ログアウト情報に係わる登録ユーザが上記マイページにログインしている時間範囲に、当該登録ユーザと同じカラオケ装置100を利用していた登録ユーザ及び非登録ユーザの歌唱履歴情報が抽出される。言い換えれば、上記登録ユーザが上記マイページにログインしている時間範囲に、当該登録ユーザと同じカラオケルームKRにいた登録ユーザ及び非登録ユーザの歌唱履歴情報が抽出される。なお、本実施形態では、歌唱履歴データベース3071から、登録ユーザ及び非登録ユーザの歌唱履歴情報を抽出しているが、これに限られず、非登録ユーザの歌唱履歴情報だけを抽出するようにしてもよい。また、このステップSS30の手順は、各請求項記載の歌唱履歴取得手段として機能する。
そして、ステップSS100に移り、制御部301は、上記ステップS20で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDの決定、及び、当該非登録ユーザが随伴する登録ユーザに係わるゲストユニット情報(後述)の記憶を行うゲスト分析処理を実行する。なお、このステップSS100の詳細内容については、後述の図6で説明する。
その後、ステップSS30で、制御部301は、上記ログイン・ログアウトデータベース3072の中に、まだ上記ステップSS10で抽出されていないログイン・ログアウト情報が存在するかどうかを判定する。まだ上記ステップSS10で抽出されていないログイン・ログアウト情報が存在する場合には、ステップSS30の判定が満たされず、ステップSS10に戻り同様の手順を繰り返す。一方、既に上記ステップSS10ですべてのログイン・ログアウト情報が抽出されている場合には、ステップSS30の判定が満たされて、このフローを終了する。
図6を用いて、上記図5のステップSS100の詳細手順を説明する。
図6において、まずステップSS110で、制御部301は、例えば当該制御部301のRAM等のメモリに記憶された第1度数分布表3011(後述の図8参照)内の上記10つのユニットIDのすべてに係わる出現頻度数Hを0に初期化する。
出現頻度数Hは、上記歌唱履歴データベース3071に記憶された非登録ユーザの歌唱履歴情報のうち、上記図5のステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲における歌手IDの出現頻度である。なお、上記ステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲は、各請求項記載の所定の時間範囲に相当する。
その後、ステップSS120で、制御部301は、上記図5のステップSS20で抽出された登録ユーザ及び非登録ユーザの歌唱履歴情報の中から、まだ抽出していない登録ユーザ又は非登録ユーザの歌唱履歴情報を1レコード抽出する。
そして、ステップSS130に移り、制御部301は、上記ステップSS120で抽出された登録ユーザ又は非登録ユーザの歌唱履歴情報が、非登録ユーザの歌唱履歴情報であるかどうかを判定する。この判定は、例えば、上記ステップSS120で抽出された歌唱履歴情報に、上記「GUEST」及びユーザIDのどちらが含まれているかを判定することで足りる。上記ステップSS120で抽出された歌唱履歴情報に「GUEST」が含まれている場合には、上記ステップSS120で抽出された歌唱履歴情報が非登録ユーザの歌唱履歴情報であるとみなされる。この場合には、ステップSS130の判定が満たされて、ステップSS140に移る。
ステップSS140では、制御部301は、上記ステップSS120で抽出された非登録ユーザの歌唱履歴情報に含まれる歌手IDを取得する。
その後、ステップSS150で、制御部301は、例えば当該制御部301のRAM等のメモリに、上記ユニットID−歌手IDデータベース3073(図4参照)に記憶された分類情報を読み込む。
そして、ステップSS200に移り、制御部301は、上記ステップSS140で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報とに基づき、上記10つのユニットIDのそれぞれに係わる出現頻度数Hを算出する出現頻度算出処理を実行する。その後、ステップSS160に移る。なお、このステップSS200の詳細内容については、後述の図7で説明する。
一方、ステップSS130において、上記ステップSS120で抽出された歌唱履歴情報にユーザIDが含まれていた場合には、上記ステップSS120で抽出された歌唱履歴情報が登録ユーザの歌唱履歴情報であったとみなされる。この場合には、ステップSS130の判定が満たされず、ステップSS160に直接移る。
ステップSS160では、制御部301は、上記図5のステップSS20で抽出された登録ユーザ及び非登録ユーザの歌唱履歴情報の中に、まだ上記ステップSS120で抽出されていない歌唱履歴情報が存在するかどうかを判定する。まだ上記ステップSS120で抽出されていない歌唱履歴情報が存在する場合には、ステップSS160の判定が満たされず、ステップSS120に戻り同様の手順を繰り返す。一方、既に上記ステップSS120ですべての歌唱履歴情報が抽出されている場合には、ステップSS160の判定が満たされて、ステップSS170に移る。
ステップSS170では、制御部301は、上記10つのユニットIDの中から、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。具体的には、制御部301は、上記ステップSS200で算出された上記10つのユニットIDのそれぞれに係わる出現頻度数H、すなわち、第1度数分布表3011(後述の図8参照)内の上記10つのユニットIDのそれぞれに係わる出現頻度数Hを用いて、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。さらに具体的には、制御部301は、上記10つのユニットIDのうち、第1度数分布表3011内の出現頻度数Hの高い上位所定数の(この例では上位3つの)ユニットIDを、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDとして決定する(後述の図8参照)。そして、制御部301は、その決定された3つのユニットIDを、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付ける。なお、以下適宜、非登録ユーザに対応付けられたユニットIDを「第2ユニットID」と称する。また、このステップSS170の手順は、各請求項記載のユニット情報決定手段として機能する。
その後、ステップSS180で、制御部301は、上記ステップSS170で非登録ユーザに対応付けられた3つの第2ユニットIDと、当該非登録ユーザが随伴する登録ユーザ、すなわち上記図5のステップSS10でログイン・ログアウト情報が抽出された登録ユーザに係わる上記第1ユニットIDとを当該登録ユーザのユーザIDに対応付けたゲストユニット情報を、大容量記憶装置307の適宜の領域に記憶させる(後述の図9参照)。その後、このルーチンを終了する。
図7を用いて、上記図6のステップSS200の詳細手順を説明する。
図7において、まずステップSS210で、制御部301は、上記10つのユニットIDのいずれかに対応する変数Jの値を1に設定する。なお、この例では、J=1がユニットID「1」、J=2がユニットID「2」、J=3がユニットID「3」、J=4がユニットID「4」、J=5がユニットID「5」、J=6がユニットID「6」、J=7がユニットID「7」、J=8がユニットID「8」、J=9がユニットID「9」、J=10がユニットID「10」にそれぞれ対応する。
その後、ステップSS220で、制御部301は、上記図6のステップSS150で読み込まれた分類情報において、1つのユニットID対して対応付けられた5つの歌手IDのいずれかに対応する、すなわち、第1歌手ID、第2歌手ID、第3歌手ID、第4歌手ID、及び第5歌手IDのいずれかに対応する、変数Kの値を1に設定する。なお、この例では、K=1が第1歌手ID、K=2が第2歌手ID、K=3が第3歌手ID、K=4が第4歌手ID、K=5が第5歌手IDにそれぞれ対応する。
そして、ステップSS230に移り、制御部301は、上記図6のステップSS140で取得された歌手IDと、上記図6のステップSS150で読み込まれた分類情報における、この時点での変数Jの値に対応するユニットIDに対して対応付けられた、この時点での変数Kの値に対応する歌手IDと、が一致するかどうかを判定する。
例えば、上記ステップSS140で取得された歌手IDが「3」であり、J=1であり、K=1である場合がある。この場合、上記ステップSS140で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報における、J=1に対応するユニットID「1」対して対応付けられた、K=1に対応する第1歌手IDと、が共に「3」で一致する。この例のように、上記ステップSS140で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報における、この時点での変数Jの値に対応するユニットIDに対して対応付けられた、この時点での変数Kの値に対応する歌手IDと、が一致する場合には、ステップSS230の判定が満たされて、ステップSS240に移る。
ステップSS240では、制御部301は、この時点での変数Jの値に対応するユニットIDに係わる出現頻度数H(以下適宜、出現頻度数H[J]と記載する)に対し1を加算し、第1度数分布表3011(後述の図8参照)内の出現頻度数H[J]の値を更新する。その後、ステップSS250に移る。
一方、例えば、上記ステップSS140で取得された歌手IDが「1」であり、J=1であり、K=1である場合がある。この場合、上記ステップSS140で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報における、J=1に対応するユニットID「1」対して対応付けられた、K=1に対応する第1歌手IDと、が一致しない。この例のように、上記ステップSS140で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報における、この時点での変数Jの値に対応するユニットIDに対して対応付けられた、この時点での変数Kの値に対応する歌手IDと、が一致しない場合には、ステップSS230の判定が満たされず、ステップSS250に直接移る。
ステップSS250では、制御部301は、変数Kの値が、上記図6のステップSS150で読み込まれた分類情報において、1つのユニットIDに対して対応付けられた歌手IDの数Kmax(この例ではKmax=5)と等しくなったかどうかを判定する。K<Kmaxである場合には、ステップSS250の判定が満たされず、ステップSS260に移る。ステップSS260では、制御部301は、変数Kの値に1を加える。その後、上記ステップSS230に戻り同様の手順を繰り返す。そして、K=Kmaxとなった場合には、ステップSS250の判定が満たされて、ステップSS270に移る。
ステップSS270では、制御部301は、変数Jの値が、上記図6のステップSS150で読み込まれた分類情報に含まれるユニットIDの数Jmax(この例ではJmax=10)と等しくなったかどうかを判定する。J<Jmaxである場合には、ステップSS270の判定が満たされず、ステップSS280に移る。ステップSS280では、制御部301は、変数Jの値に1を加える。その後、上記ステップSS220に戻り同様の手順を繰り返す。そして、J=Jmaxとなった場合には、ステップSS270の判定が満たされて、このルーチンを終了する。
以上説明したように、ステップSS200では、制御部301は、上記図6のステップSS140で取得された歌手IDと、上記図6のステップSS150で読み込まれた分類情報とを用いて、出現頻度数Hを各ユニットIDごとに算出する。すなわち、上記図5のステップSS20で抽出された非登録ユーザの歌唱履歴情報に含まれる歌手IDと、上記ユニットID−歌手IDデータベース3073に記憶された分類情報とを用いて、出現頻度数Hを各ユニットIDごとに算出するのである。したがって、ステップSS200のすべての手順、すなわち、ステップSS210〜ステップSS280の手順が、各請求項記載の出現頻度算出手順として機能する。
図8に、上記第1度数分布表3011の一例を示す。
図8に示すように、第1度数分布表3011においては、上記ステップSS200において算出された、上記10つのユニットIDのそれぞれに係わる出現頻度数Hが表されている。
図8に示す例では、ユニットID「1」に係わる出現頻度数Hが1、ユニットID「2」に係わる出現頻度数Hが0、ユニットID「3」に係わる出現頻度数Hが3、ユニットID「4」に係わる出現頻度数Hが3、ユニットID「5」に係わる出現頻度数Hが1、ユニットID「6」に係わる出現頻度数Hが0、ユニットID「7」に係わる出現頻度数Hが0、ユニットID「8」に係わる出現頻度数Hが0、ユニットID「9」に係わる出現頻度数Hが0、ユニットID「10」に係わる出現頻度数Hが1、とそれぞれ表されている。
この場合、上記図6のステップSS170では、上記ステップSS200で算出された出現頻度数H、すなわち、第1度数分布表3011における出現頻度数Hの高い上位3つのユニットID「1」、ユニットID「3」、及びユニットID「4」が、上記図6のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDとして決定されることとなる。
図9に、上記図6のステップSS180において大容量記憶装置307の適宜の領域に記憶されたゲストユニット情報の一例を示す。
図9に示すように、大容量記憶装置307の適宜の領域には、複数の登録ユーザに係わるゲストユニット情報が記憶されている。
登録ユーザに係わるゲストユニット情報は、前述したように、当該登録ユーザのユーザIDに、当該登録ユーザに係わる上記第1ユニットIDと、当該登録ユーザに係わる3つの上記第2ユニットIDと、を対応付けた情報である。
図9に示す例では、例えばユーザID「100」に対しては、第1ユニットIDとしてユニットID「1」、3つの第2ユニットIDとして3つのユニットID「3」「4」「1」がそれぞれ対応付けられている。
図10を用いて、ホストサーバ300の制御部301が実行する、登録ユーザのユーザIDに対応付けられたユニットIDの出力に関する制御手順を説明する。
図10において、例えば登録ユーザが上記マイページにログインすることによって、図中「START」位置で表されるように、このフローが開始される。
まずステップSS510で、制御部301は、リモコン200の操作部205又はカラオケ装置100の操作部105を用いた、演奏曲に関する登録ユーザの選曲操作に基づき、当該登録ユーザのユーザIDを取得する。
その後、ステップSS520で、制御部301は、上記図6のステップSS180で大容量記憶装置307の適宜の領域に記憶されたゲストユニット情報において、上記ステップSS510で取得された登録ユーザのユーザIDに対応付けられたユニットID、すなわち第1ユニットID及び3つの第2ユニットIDを取得する。なお、このステップSS520の手順が、各請求項記載のユニット情報取得手段として機能する。
そして、ステップSS530に移り、制御部301は、上記ステップSS520で取得された複数のユニットIDを、通信制御部306及びネットワークNW2,NW1を介しカラオケ装置100へ出力する。その後、このフローを終了する。
図11を用いて、カラオケ装置100の制御部101が実行する、広告情報の再生に関する制御手順を説明する。
図11において、例えば登録ユーザが上記マイページにログインすることによって、図中「START」位置で表されるように、このフローが開始される。
まずステップSK510で、制御部101は、上記図10のステップSS530でホストサーバ300の制御部301により出力された複数のユニットIDを取得する。
その後、ステップSK520で、制御部101は、上記ステップSK510で取得された複数のユニットIDのうち、いずれか1つのユニットIDを選定する。
そして、ステップSK530に移り、制御部101は、1つの演奏曲の再生終了後に、次の演奏曲の予約が行われていない状態、すなわち、いわゆる曲間となっているかどうかを判定する。曲間となるまでは、ステップSK530の判定が満たされずループして待機する。そして、曲間となったら、ステップSK530の判定が満たされてステップSK540に移る。
ステップSK540では、制御部101は、予め広告配信サーバ400より出力され大容量記憶装置107に記憶された、上記ステップSK520で選定されたユニットIDに対応付けられた広告情報を読み出す。
その後、ステップSK550で、制御部101は、演奏曲の予約が行われるまでの間に、すなわち、1つの演奏曲の再生終了後、次の演奏曲の再生開始までの間に、上記ステップSK540で読み出された広告情報を再生するように、再生部102を制御する。これにより、当該広告情報に係わる映像が表示部103で表示され、当該広告情報に係わる音声が音声出力部104から出力される。なお、上記ステップSK540で読み出された広告情報を再生するように再生部102を制御する、すなわち、当該広告情報を再生部102により再生させることは、実質的には、上記ステップSS520により取得されたユニットIDに対応付けられた広告情報を出力することに相当する。すなわち、このステップSK550の手順が、各請求項記載の広告情報出力手段として機能する。なお、広告情報の再生中に、演奏曲の予約が行われた場合には、広告情報の再生が一時停止され、当該演奏曲の再生が開始される。そして、再び、曲間となったら、一時停止中の広告情報の再生が再開される。そして、1つの広告情報の再生が終了したら、ステップSK560に移る。
ステップSK560では、制御部101は、所定の終了操作、例えばカラオケ装置100の電源オフ、が行われたかどうかを判定する。終了操作が行われていない場合には、ステップSK560の判定が満たされず、上記ステップSK520に戻り同様の手順を繰り返す。そして、終了操作が行われたら、ステップSK560の判定が満たされて、このフローを終了する。
以上説明したように、本実施形態においては、カラオケ装置100による演奏曲の再生サービスを受けるためにユーザが演奏曲の選曲操作を行うと、その操作内容が歌唱履歴情報となる。そして、ユーザの歌唱履歴情報は、ホストサーバ300の歌唱履歴データベース3071(図2を参照)に記憶される。ホストサーバ300の制御部301は、上記歌唱履歴データベース3071に記憶された複数の登録ユーザ及び非登録ユーザの歌唱履歴情報のうち、少なくとも非登録ユーザの歌唱履歴情報(上記の例では登録ユーザ及び非登録ユーザの歌唱履歴情報)を取得する(図5のステップSS20を参照)。
その後、ホストサーバ300の制御部301は、上記のようにして取得された非登録ユーザの歌唱履歴情報に含まれる歌唱対象識別情報(上記の例では歌手ID)に、ホストサーバ300のユニットID−歌手IDデータベース3073(図4を参照)に記憶された上記分類情報を適用することで、当該非登録ユーザに対応付ける少なくとも1つのユニットID(上記の例では3つのユニットID)を決定する(図6のステップSS170を参照)。このようにして非登録ユーザに対応付けられたユニットIDは、歌唱履歴形成時に随伴していた登録ユーザのユーザIDに対応付けられてゲストユニット情報となり、当該ゲストユニット情報がホストサーバ300の大容量記憶装置307に記憶される(図6のステップSS180を参照)。
このようにして非登録ユーザに係わるゲストユニット情報が大容量記憶装置307に記憶された後、当該非登録ユーザが上記随伴した登録ユーザとともに再びカラオケ装置100の再生サービスを受けに来場すると、ホストサーバ300の制御部301は、演奏曲に関する登録ユーザの選曲操作に基づき、当該登録ユーザのユーザIDを取得する(図10のステップSS510を参照)。その後、大容量記憶装置307にアクセスし、大容量記憶装置307に記憶済みの上記ゲストユニット情報において当該ユーザIDに対応付けられたユニットIDを取得する(図10のステップSS520を参照)。そして、カラオケ装置100の制御部101は、予め広告配信サーバ400より出力され大容量記憶装置107に記憶された、上記取得されたユニットIDに合致した広告情報を、再生部102により再生させる(図11のステップSS550を参照)。これにより、上記非登録ユーザに対し、当該広告情報に対応した動画再生等が行われ、広告が提供される。
以上のようにして、本実施形態においては、ユーザIDを登録していない非登録ユーザであっても、当該非登録ユーザの歌唱履歴に応じて対応するユニットを決定し、随伴した登録ユーザのユーザIDに対応付けて記憶しておく。その後に来場したときは、上記登録ユーザのユーザIDを手がかりに、前回来場時の歌唱履歴を反映した上記ユニットに対し好適な広告情報、言い換えれば、前回来場時の歌唱履歴から推測された当該非登録ユーザの嗜好に適合した広告情報を、確実に提供することができる。この結果、非登録ユーザに対しても有益な広告を効果的に提供することができる。
また、本実施形態においては、非登録ユーザの嗜好を分析して当該嗜好に最適な広告を提供するために、歌唱履歴に含まれる歌唱対象識別情報が用いられる。歌唱対象識別情報としては、前述したように、曲ID、歌手ID、ジャンルID等が考えられる。しかしながら、曲IDは演奏曲それぞれに固有のものであって演奏曲の曲数分存在することから、この曲IDを歌唱対象識別情報として用いる場合にはデータ数が膨大となり、処理負担が大きい。これに対し、ジャンルIDは数ジャンル〜数十ジャンル程度となり、歌唱対象識別情報として用いる場合にはデータ数が少なすぎ、分析精度の向上が困難である。そこで本実施形態では特に、歌唱対象識別情報として、歌手IDを用いる。これにより、データ数が多すぎることによる処理負担の増大を回避しつつ、比較的高い分析精度を確保することができる。これにより、非登録ユーザに有益な広告情報を高精度かつ効率的に特定して、円滑に非登録ユーザに提供することができる。
ここで、非登録ユーザがカラオケ装置100の再生サービスを受け歌唱を行うとき、上記曲ID、歌手ID、及びジャンルID等の歌唱対象識別情報の出現頻度が高い演奏曲ほど、当該非登録ユーザの嗜好をより強く反映している。そこで本実施形態では特に、ホストサーバ300の制御部301は、非登録ユーザの歌唱履歴情報のうち、所定の時間範囲(上記の例では図5のステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲)における歌手IDの出現頻度、この例では上記出現頻度数Hの高低に応じて、当該非登録ユーザに対応付けるユニットIDを決定する。これにより、当該非登録ユーザの嗜好に対し精度よく合致した広告情報を提供することができる。
また、本実施形態では特に、ホストサーバ300の制御部301は、非登録ユーザの歌唱履歴情報のうち、上記所定の時間範囲における歌手IDの出現頻度、この例では上記出現頻度数Hを各ユニットごとに算出する(図7を参照)。そして、各ユニットIDごとに算出された出現頻度数Hの高低に応じて、非登録ユーザに対応付けるユニットIDを決定する。これにより、当該非登録ユーザの嗜好に対し精度よく合致した広告情報を、高精度に提供することができる。
また、本実施形態では特に、ホストサーバ300の制御部301は、上記10つのユニットIDのうち、上記算出された出現頻度数Hの高い上位所定数の(上記の例では上位3つの)ユニットIDを、非登録ユーザに対応付けるユニットIDとして決定する。これにより、当該非登録ユーザの嗜好に対し精度よく合致した広告情報を、より高精度に提供することができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を順次説明する。
(1)登録ユーザの歌唱履歴情報に含まれる歌手IDも参酌する場合
上記実施形態においては、複数のユーザのうち、非登録ユーザの歌唱履歴情報に含まれる歌手IDと、上記ユニットID−歌手IDデータベース3073に記憶された分類情報とに基づき、当該非登録ユーザに対応付けるユニットIDを決定していたが、これに限られない。すなわち、非登録ユーザ及び登録ユーザの歌唱履歴情報に含まれる歌手IDと、上記ユニットID−歌手IDデータベース3073に記憶された分類情報とに基づき、当該非登録ユーザに対応付けるユニットIDを決定するようにしてもよい。
図12を用いて、本変形例におけるステップSS100の詳細手順を説明する。なお、図12は、前述の図6に対応する図である。図6と同等の手順には同符号を付し説明を省略する。
図12において、前述の図6と異なる点は、ステップSS130の手順を省略し、さらに、ステップSS110、ステップSS140、ステップSS200、及びステップSS170に代えて、ステップSS110′、ステップSS140′、ステップSS200′、及びステップSS170′を設けた点である。
すなわち、まずステップSS110に代えて設けたステップSS110′で、制御部301は、例えば当該制御部301のRAM等のメモリに記憶された第2度数分布表(図示せず)内の上記10つのユニットIDのすべてに係わる出現頻度数H′を0に初期化する。
出現頻度数H′は、上記歌唱履歴データベース3071に記憶された登録ユーザ及び非登録ユーザの歌唱履歴情報のうち、前述の図5のステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲における歌手IDの出現頻度である。
その後のステップSS120は、前述の図6と同様であり、まだ抽出していない登録ユーザ又は非登録ユーザの歌唱履歴情報を1レコード抽出したら、ステップSS140に代えて設けたステップSS140′に移る。
ステップSS140′では、制御部301は、上記ステップSS120で抽出された登録ユーザ又は非登録ユーザの歌唱履歴情報に含まれる歌手IDを取得する。
その後のステップSS150は、前述の図6と同様であり、分類情報を読み込んだら、ステップSS200に代えて設けたステップSS200′に移る。
ステップSS200′では、制御部301は、上記ステップSS140′で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報とに基づき、上記10つのユニットIDのそれぞれに係わる出現頻度数H′を算出する出現頻度算出処理を実行する。なお、ステップSS200′の詳細手順は、前述の図7に示すステップSS200の詳細手順において、「ステップSS140」を「ステップSS140′」、「出現頻度数H」を「出現頻度数H′」、「第1度数分布表3011」を「第2度数分布表」、とそれぞれ置き換えて記載した内容と同様である。
つまり、ステップSS200′では、制御部301は、上記ステップSS140′で取得された歌手IDと、上記ステップSS150で読み込まれた分類情報とを用いて、出現頻度数H′を各ユニットIDごとに算出する。すなわち、前述の図5のステップSS20で抽出された非登録ユーザ及び登録ユーザの歌唱履歴情報に含まれる歌手IDと、上記ユニットID−歌手IDデータベース3073に記憶された分類情報とを用いて、出現頻度数H′を各ユニットIDごとに算出するのである。このステップSS200′の手順は、各請求項記載の出現頻度算出手順として機能する。
その後のステップSS160は、前述の図6と同様であり、まだ上記ステップSS120で抽出されていない歌唱履歴情報が存在するかどうかを判定し、既に上記ステップSS120ですべての歌唱履歴情報が抽出されている場合には、ステップSS160の判定が満たされて、ステップSS170に代えて設けたステップSS170′に移る。
ステップSS170′では、制御部301は、上記10つのユニットIDの中から、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。具体的には、制御部301は、上記ステップSS200′で算出された上記10つのユニットIDのそれぞれに係わる出現頻度数H′、すなわち、第2度数分布表内の上記10つのユニットIDのそれぞれに係わる出現頻度数H′を用いて、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。さらに具体的には、制御部301は、上記10つのユニットIDのうち、第2度数分布表内の出現頻度数H′の高い上位所定数の(この例では上位3つの)ユニットIDを、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDとして決定する。そして、制御部301は、その決定された3つのユニットIDを、上記ステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付ける。なお、このステップSS170′の手順は、各請求項記載のユニット情報決定手段として機能する。
その後のステップSS180は、前述の図6とほぼ同様であり、上記ステップSS170′で非登録ユーザに対応付けられた3つの第2ユニットIDと、当該非登録ユーザが随伴する登録ユーザに係わる第1ユニットIDとを当該登録ユーザのユーザIDに対応付けたゲストユニット情報を、大容量記憶装置307の適宜の領域に記憶させる。その後、このルーチンを終了する。
ここで、非登録ユーザが登録ユーザに随伴して演奏曲の再生サービスを受け歌唱を行った場合、登録ユーザの歌唱履歴は、非登録ユーザの歌唱履歴とある程度の類似関係や相関関係等がある場合が多い。そこで本変形例においては、ホストサーバ300の制御部301は、非登録ユーザの歌唱履歴に含まれる歌手IDのみならず、登録ユーザの歌唱履歴に含まれる歌手IDをも参酌して、非登録ユーザに対応付けるユニットIDを決定する。これにより、さらに効果的な広告情報を非登録ユーザに対し提供することができる。
(2)出現頻度数に対し重み付けを行う場合(その1)
上記実施形態においては、出現頻度数Hを用いて、非登録ユーザに対応付けるユニットIDを決定していたが、これに限られない。すなわち、出現頻度数に対して、時刻情報を加味した重み付けを実行し、非登録ユーザに対応付けるユニットIDを決定するようにしてもよい。
図13を用いて、本変形例におけるステップSS100の詳細手順を説明する。なお、図13は、前述の図6及び図12に対応する図である。図6と同等の手順には同符号を付し説明を省略する。
図13において、前述の図6と異なる点は、ステップSS110、ステップSS200、及びステップSS170に代えて、ステップSS110A、ステップSS200A、及びステップSS170Aを設けた点である。
すなわち、まずステップSS110に代えて設けたステップSS110Aで、制御部301は、例えば当該制御部301のRAM等のメモリに記憶された第3度数分布表(図示せず)内の上記10つのユニットIDのすべてに係わる出現頻度数H1を0に初期化する。
出現頻度数H1は、上記歌唱履歴データベース3071に記憶された非登録ユーザの歌唱履歴情報のうち、前述の図5のステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲における歌手IDの出現頻度である(詳細は後述)。
その後のステップSS120、ステップSS130、ステップSS140、及びステップSS150は、前述の図6と同様である。ステップSS150において、分類情報を読み込んだら、ステップSS200に代えて設けたステップSS200Aに移る。
ステップSS200Aでは、制御部301は、前述のステップSS140で取得された歌手IDと、前述のステップSS150で読み込まれた分類情報とに基づき、上記10つのユニットIDのそれぞれに係わる出現頻度数H1を算出する出現頻度算出処理を実行する。その後、ステップSS160に移る。なお、このステップSS200Aの詳細内容については、後述の図14で説明する。
その後のステップSS160は、前述の図6と同様であり、まだ前述のステップSS120で抽出されていない歌唱履歴情報が存在するかどうかを判定し、既に前述のステップSS120ですべての歌唱履歴情報が抽出されている場合には、ステップSS160の判定が満たされて、ステップSS170に代えて設けたステップSS170Aに移る。
ステップSS170Aでは、制御部301は、上記10つのユニットIDの中から、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。具体的には、制御部301は、上記ステップSS200Aで算出された上記10つのユニットIDのそれぞれに係わる出現頻度数H1、すなわち、第3度数分布表内の上記10つのユニットIDのそれぞれに係わる出現頻度数H1を用いて、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。さらに具体的には、制御部301は、上記10つのユニットIDのうち、第3度数分布表内の出現頻度数H1の高い上位所定数の(この例では上位3つの)ユニットIDを、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDとして決定する。そして、制御部301は、その決定された3つのユニットIDを、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付ける。なお、このステップSS170Aの手順は、各請求項記載のユニット情報決定手段として機能する。
その後のステップSS180は、前述の図6とほぼ同様であり、上記ステップSS170Aで非登録ユーザに対応付けられた3つの第2ユニットIDと、当該非登録ユーザが随伴する登録ユーザに係わる第1ユニットIDとを当該登録ユーザのユーザIDに対応付けたゲストユニット情報を、大容量記憶装置307の適宜の領域に記憶させる。その後、このルーチンを終了する。
図14を用いて、上記図13のステップSS200Aの詳細手順を説明する。なお、図14は、前述の図7に対応する図である。図7と同等の手順には同符号を付し説明を省略する。
図14において、前述の図7と異なる点は、ステップSS240に代えてステップSS240Aを設け、さらに、ステップSS230と当該ステップSS240Aとの間に、新たにステップSS235を設けた点である。すなわち、ステップSS230の判定が満たされたら、新たに設けたステップSS235に移る。
ステップSS235では、制御部301は、所定の時間範囲における歌唱対象識別情報に係わる時刻情報、すなわち前述のステップSS120で抽出された非登録ユーザの歌唱履歴情報に含まれる歌手IDに係わる時刻情報として、当該非登録ユーザの歌唱履歴情報に含まれる歌唱日時と、前述の図5のステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時とを用いて、これら歌唱日時とログイン日時との時間差△T[分]を算出する。そして、その算出された時間差△T[分]に基づき、第2重み付け係数としての係数Mを設定する。
そして、ステップSS240に代えて設けたステップSS240Aに移り、制御部301は、この時点での変数Jの値に対応するユニットIDに係わる出現頻度数H1(以下適宜、出現頻度数H1[J]と記載する)に対し、上記ステップSS235で設定された係数Mを加算し、第3度数分布表内の出現頻度数H1の値を更新する。これは実質的には、所定の時間範囲における各歌手IDの出現頻度数H1[J]に対し、当該歌手IDに係わる時刻情報に基づく係数Mを加算した第2頻度情報を生成することに相当する。すなわち、係数Mを加算した後の出現頻度数H1が、各請求項記載の第2頻度情報に相当する。したがって、上記図13のステップSS170Aにおいては、制御部301は、当該ステップSS240Aで生成された上記第2頻度情報を用いて、非登録ユーザに対応付けるユニットIDを決定しているのである。
その後のステップSS250、ステップSS260、ステップSS270、及びステップSS280は、前述の図7と同様であるので、説明を省略する。
なお、ステップSS200Aのすべての手順が、各請求項記載の出現頻度算出手順として機能する。また、そのうちステップSS240Aの手順は、第2頻度情報生成手段としても機能する。
ここで、ユーザが上記所定の時間範囲内において演奏曲の再生サービスを受けつつ歌唱を行った場合、例えば発売からまもない新曲はなるべく早い序盤の時間帯に歌う、自分の得意な曲は喉の調子がよくなった中盤以降の時間帯に歌う、終盤の時間帯はレパートリーがなくなって自分の嗜好とはあまり関係のない曲を歌う、等、時間的な前後関係と演奏曲の選曲内容との間に何らかの関係がある場合がある。
そこで本変形例において、このような傾向に応じて、ホストサーバ300の制御部301が、上記所定の時間範囲内における各歌手IDの出現頻度数H1に対し、時刻情報を加味した所望の第2重み付け係数、上記の例ではログイン日時と歌唱日時の時刻情報を加味した係数Mを加算する(又は乗じるようにしてもよい)ことで重み付けを実行する。これにより、上記第3度数分布表内の出現頻度数H1の値を更新する。そして、上記のようにして重み付けがなされた後の出現頻度数H1を用いて、非登録ユーザに対応付けるユニットIDを決定する。これにより、特に重み付け等のない出現頻度数を用いて上記決定を行う場合に比べ、時間的な前後関係と演奏曲の選曲内容との間の関係を加味した、さらに効果的な広告情報を非登録ユーザに対し提供することができる。
(3)出現頻度数に対し重み付けを行う場合(その2)
上記実施形態においては、出現頻度数Hを用いて、非登録ユーザに対応付けるユニットIDを決定していたが、これに限られない。すなわち、出現頻度数に対して、事前に各歌手IDに付与されている重み付け係数を乗じる又は加算することで重み付けを実行し、非登録ユーザに対応付けるユニットIDを決定するようにしてもよい。
本変形例においては、ホストサーバ300の大容量記憶装置307のデータベース記憶エリアに、上記ユニットID−歌手IDデータベース3073に代えてユニットID−歌手IDデータベース3073′が記憶されている。
図15に、上記ユニットID−歌手IDデータベース3073′の記憶内容の一例を示す。
図15に示すように、ユニットID−歌手IDデータベース3073′には、複数の上記歌唱対象識別情報(この例では歌手ID)と、上記10つのユニットIDと、が対応付けられた分類情報が予め記憶されている。なお、上記歌唱対象分類情報における複数の歌唱対象識別情報としては、複数の歌手IDに限られず、複数の曲IDや複数のジャンルIDなどであってもよい。
当該分類情報においては、各ユニットIDに対して、複数の(この例では5つの)歌手IDがそれぞれ対応付けられている。具体的には、各ユニットIDに対して、所定の第1重み付け係数としての係数Wがそれぞれ付与された、当該ユニットIDに係わるユニットに属する複数の登録ユーザの間で人気の高い上位5人の歌手に係る第1歌手ID〜第5歌手IDがそれぞれ対応付けられている。なお、各ユニットIDに対して対応付けられる複数の歌手IDとしては、上記のような歌手IDに限られない。
図15に示す例では、ユニットに属する複数の登録ユーザの間での人気の高い歌手に係る歌手IDほど、値が大きい係数Wが付与され、ユニットに属する複数の登録ユーザの間での人気の低い歌手に係る歌手IDほど、値が小さい係数Wが付与されている。すなわち、第1歌手IDには係数W=5、第2歌手IDには係数W=4、第3歌手IDには係数W=3、第4歌手IDには係数W=2、第5歌手IDには係数W=1がそれぞれ付与されている。
図16を用いて、本変形例におけるステップSS100の詳細手順を説明する。なお、図15は、前述の図6、図12、及び図13に対応する図である。図6と同等の手順には同符号を付し説明を省略する。
図16において、前述の図6と異なる点は、ステップSS110、ステップSS200、及びステップSS170に代えて、ステップSS110B、ステップSS200B、及びステップSS170Bを設けた点である。
すなわち、まずステップSS110に代えて設けたステップSS110Bで、制御部301は、例えば当該制御部301のRAM等のメモリに記憶された第4度数分布表(図示せず)内の上記10つのユニットIDのすべてに係わる出現頻度数H2を0に初期化する。
出現頻度数H2は、上記歌唱履歴データベース3071に記憶された非登録ユーザの歌唱履歴情報のうち、前述の図5のステップSS10で抽出されたログイン・ログアウト情報に含まれるログイン日時からログアウト日時までの時間範囲における歌手IDの出現頻度である(詳細は後述)。
その後のステップSS120、ステップSS130、ステップSS140、及びステップSS150は、前述の図6とほぼ同様である。すなわち、ステップSS150において、例えば当該制御部301のRAM等のメモリに、上記ユニットID−歌手IDデータベース3073′(図15参照)に記憶された分類情報を読み込んだら、ステップSS200に代えて設けたステップSS200Bに移る。
ステップSS200Bでは、制御部301は、前述のステップSS140で取得された歌手IDと、前述のステップSS150で読み込まれた分類情報とに基づき、上記10つのユニットIDのそれぞれに係わる出現頻度数H2を算出する出現頻度算出処理を実行する。その後、ステップSS160に移る。なお、このステップSS200Bの詳細内容については、後述の図17で説明する。
その後のステップSS160は、前述の図6と同様であり、まだ前述のステップSS120で抽出されていない歌唱履歴情報が存在するかどうかを判定し、既に前述のステップSS120ですべての歌唱履歴情報が抽出されている場合には、ステップSS160の判定が満たされて、ステップSS170に代えて設けたステップSS170Bに移る。
ステップSS170Aでは、制御部301は、上記10つのユニットIDの中から、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。具体的には、制御部301は、上記ステップSS200Bで算出された上記10つのユニットIDのそれぞれに係わる出現頻度数H2、すなわち、第4度数分布表内の上記10つのユニットIDのそれぞれに係わる出現頻度数H2を用いて、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDを決定する。さらに具体的には、制御部301は、上記10つのユニットIDのうち、第4度数分布表内の出現頻度数H2の高い上位所定数の(この例では上位3つの)ユニットIDを、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付けるユニットIDとして決定する。そして、制御部301は、その決定された3つのユニットIDを、前述のステップSS120で歌唱履歴情報が抽出された非登録ユーザに対応付ける。なお、このステップSS170Bの手順は、各請求項記載のユニット情報決定手段として機能する。
その後のステップSS180は、前述の図6とほぼ同様であり、上記ステップSS170Bで非登録ユーザに対応付けられた3つの第2ユニットIDと、当該非登録ユーザが随伴する登録ユーザに係わる第1ユニットIDとを当該登録ユーザのユーザIDに対応付けたゲストユニット情報を、大容量記憶装置307の適宜の領域に記憶させる。その後、このルーチンを終了する。
図17を用いて、上記図16のステップSS200Bの詳細手順を説明する。なお、図17は、前述の図7及び図14に対応する図である。図7と同等の手順には同符号を付し説明を省略する。
図14において、前述の図7と異なる点は、ステップSS240に代えてステップSS240Bを設け、さらに、ステップSS230と当該ステップSS240Bとの間に、新たにステップSS237を設けた点である。すなわち、ステップSS230の判定が満たされたら、新たに設けたステップSS237に移る。
ステップSS237では、制御部301は、前述のステップSS150で読み込まれた分類情報において、1つのユニットIDに対して対応付けられた歌手IDの数Kmax(この例ではKmax=5)から、この時点での変数Kの値を差し引き、そして、1を加算する。これにより、ユニットID−歌手IDデータベース3073′(図15参照)に記憶されている分類情報において、上記第1歌手ID〜第5歌手IDにそれぞれ付与されている上記係数Wをのうち、この時点での変数Kの値に対応する歌手IDに付与されている上記係数Wを求めている。
そして、ステップSS240に代えて設けたステップSS240Bに移り、制御部301は、この時点での変数Jの値に対応するユニットIDに係わる出現頻度数H2(以下適宜、出現頻度数H2[J]と記載する)に対し、上記ステップSS237で求められた係数Wを加算し、第4度数分布表内の出現頻度数H1の値を更新する。これは実質的には、所定の時間範囲における各歌手IDの出現頻度数H2[J]に対し、対応する係数Wを加算した第1頻度情報を生成することに相当する。すなわち、係数Wを加算した後の出現頻度数H2が、各請求項記載の第1頻度情報に相当する。したがって、上記図16のステップSS170Bにおいては、制御部301は、当該ステップSS240Bで生成された上記第1頻度情報を用いて、非登録ユーザに対応付けるユニットIDを決定しているのである。
その後のステップSS250、ステップSS260、ステップSS270、及びステップSS280は、前述の図7と同様であるので、説明を省略する。
なお、ステップSS200Aのすべての手順が、各請求項記載の出現頻度算出手順として機能する。また、そのうちステップSS240Bの手順は、第1頻度情報生成手段としても機能する。
本変形例においては、上記ユニットID−歌手IDデータベース3073′(図15を参照)に記憶された分類情報において、各ユニットIDに対し5つの第1歌手ID〜第5歌手がそれぞれ対応付けられるとき、各歌手IDごとに係数Wが予めそれぞれ付与されている。ホストサーバ300の制御部301は、上記所定の時間範囲内における各歌歌手IDの出現頻度H2数に対し、上記予め付与された係数Wを加算する(又は乗じるようにしてもよい)ことで重み付けを実行する。これにより、上記第4度数分布表内の出現頻度数H1の値を更新する。そして、上記のようにして重み付けがなされた後の出現頻度数H2を用いて、非登録ユーザに対応付けるユニットIDを決定する。これにより、事前に各歌手IDに係数Wを付与する際に、統計的な観点、取引上の観点、情報処理上の観点等の種々の観点において有益な態様で付与を行っておくことで、特に重み付け等のない出現頻度数を用いて上記決定を行う場合に比べ、さらに効果的な広告情報を非登録ユーザに対し提供することができる。
なお、以上においては、広告配信サーバ400は、前述の広告データベースに格納された複数の広告情報を予めカラオケ装置100へ出力しておき、カラオケ装置100の制御部101が、これら複数の広告情報のうち、上記図11のステップSK510で取得されたユニットIDに対応付けられた広告情報を、1つの演奏曲の再生終了後、次の再生開始までの間に、再生部102により再生させていたが、これに限られない。例えば、表示部103の表示画面を複数に分割し、そのうち1つの画面には演奏曲に対応した歌詞テロップを表示させると共に、別の画面には当該広告情報を表示させるようにしてもよい。また例えば、広告配信サーバ400が、前述の広告データベースに格納された広告情報を適宜のタイミングでリモコン200へ出力し、操作部205が一定時間操作されていないと判断された場合に、リモコン200の制御部201が、上記図11のステップSK520で取得されたユニットIDに対応付けられた広告情報を、表示部203全体に表示させるようにしてもよい。あるいは、表示部203の表示画面を複数に分割し、そのうち1つの画面には演奏曲の選曲画面を表示させると共に、別の画面には当該広告情報を表示させるようにしてもよい。この場合には、リモコン200の制御部201が、各請求項記載の広告情報出力手段として機能する。
なお、図5、図6、図7等に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。