状況と嗜好に関するアノテーションを利用したプレイリスト生成システム
1 はじめに
近年MP3などの普及により膨大な楽曲の中からユーザにふさわしい楽曲を推薦する 現在プレイリスト生成に関する研究が盛んに行われている。
従来の楽曲推薦に関する研究は、協調フィルタリングによるプレイリス ト生成システムや、ジャンル・アーティストなどの情報を利用したもの などがある。これらの研究では、協調フィルタリングや、ジャンル・アー ティストなどのメタ情報が楽曲推薦について有効であることを示してい る。
一方、文書やビデオコンテンツなどに対するアノテーションの研究が進められている。コンテンツに対してメタ情報を関連付け、従来困難であった高度な検索や要約などを実現する手法である。我々は、ユーザの楽曲解釈に関するアノテーションを用い、ユーザの嗜好に合った楽曲を推薦システムを構築した。
本システムは協調フィルタリングに加え、個人適応を行うトランスコー ディングをプレイリスト生成の仕組みに取り入れた。さらに、ユーザと システムのインタラクションにより動的にユーザプロファイルを更新し、 プレイリスト生成を重ねるごとに個人適応を進める。さらにユーザの楽 曲鑑賞履歴を詳細に取得することでコンテンツの利用状況を正確に把握 し、ユーザプロファイルに反映させる。
2 歌詞とアノテーションによる楽曲間類似度推定
2.1 3種類の楽曲特徴量
楽曲の特徴量として、今回は歌詞のTF*IDFの値、楽曲情景、鑑賞状況 という3種類を採用した。例えば、文献では歌詞を特徴 量とする楽曲の意味的な解析が可能であると述べている。
どのような情景を歌っているかという楽曲情景、どのような状況の時 に聴きたいかという鑑賞状況については、鑑賞するユーザの解釈に大 きく依存する情報であるため、楽曲を自動解析して得ることが困難で ある。そこで新たに構築したアノテーションシステムにより、ユーザ から情報を収集し、その結果を利用した。楽曲情景、鑑賞状況に関す るアノテーション項目は、事前の予備実験において、どのような楽曲 情景、鑑賞状況が存在するか調査し、いつ・どこで・どのような心理 状態であるかなどの項目をそれぞれ設定した。
2.2 楽曲間類似度の計算
図のように、歌詞のTF*IDF値、楽曲情景、鑑賞状況の3種類の特徴量空間を形成することができる。これらの特徴量空間から、それぞれのコサイン距離を求め、2楽曲間の類似度を算出する。
また図の3種類の特徴量空間にユーザをマップすることで、ユーザと楽曲間、またユーザ間での類似度の測定が可能になる。歌詞と楽曲情景の特徴量空間へのユーザのマッピングは、それまでのインタラクション時に嗜好に合っているとフィードバックした楽曲の平均値を利用する。鑑賞状況については、ユーザの置かれる状況がそのつど異なるため、プレイリストを生成する時点で鑑賞状況入力フォームからの入力を鑑賞状況の特徴量空間にマップしている。
文献などで述べられるように、歌詞などの他にも楽曲推薦の際に有効であるとされているジャンルやアーティストなど多くの特徴量が存在する。本手法のように、複数の特徴量空間に楽曲をマップする手法であれば、これらの特徴量を随時取り込むことができる。
3 プレイリスト推薦システム
3.1 プレイリスト生成の流れ
プレイリスト生成の概要は、まず協調フィルタリングにより基となるプレイリストを発見し、次にトランスコーディングを行い、より嗜好に合ったプレイリストに変換する。さらにユーザとシステムがインタラクションにより、ユーザの要求に応じてプレイリストを微調整する。以下に詳細を述べる。
まず協調フィルタリングにより自分と似ているユーザを探し出す。ユーザがマップされている、歌詞と楽曲情景の特徴量空間を利用し、コサイン距離を用いてユーザ間の類似度を算出する。
次に自分の置かれた状況と、類似したユーザのプレイリスト生成時の 状況の類似度が閾値以上のプレイリストを発見する。それらのプレイ リストから、ユーザ嗜好の類似度、またユーザの置かれた状況と、そ のプレイリストが作成された時の状況の類似度、インタラクション時 に付加できるプレイリストのオススメ度を踏まえて、基プレイ リストを一つ選択する。
次に、基プレイリストから、ユーザの嗜好に合わせて新しいプレイリ ストを生成する。基プレイリストからユーザの嗜好に合わない楽曲を 除去し、さらに今まで聴いたことのある楽曲と、聴いたことのない楽 曲を一定の割合で含ませるといった処理を行う。今回は聴いたことの ない楽曲の割合を10曲中3曲とした。
以上の処理を経てユーザには図のようなプレイリストが表示される。ユーザは実際に楽曲を聴き、嗜好に合っているか、今の状況に合っているかといった情報をフィードバックすることができる。システムはユーザからのフィードバックを受け取り、ユーザが適合していないと判断した楽曲の入れ替えを行い再度ユーザに提示する。同時にフィードバック情報からユーザのプロファイルを更新し、次回のプレイリスト生成の際に、よりそのユーザの嗜好に合った楽曲選択ができるようにする。
3.2 視聴履歴の取得とユーザプロファイルへの反映
一般にユーザプロファイルに導入すべき情報として、どのコンテンツ を、どれだけ利用したかという情報が挙げられる。そこで本システム にプレイリストプレイヤを埋め込み、提示したプレイリストをどのよ うに聴いたかという鑑賞履歴を取得するように拡張した。
ユーザは図の上部のプレイリストプレイヤから、一般の 音楽プレイヤと同様の操作により楽曲を鑑賞することができる。プレ イリストプレイヤはスタート・ストップ・楽曲選択などの操作情報を 随時、システムに通知し、ユーザがどの楽曲のどの部分を何秒間鑑賞 したかという情報をプロファイルに反映させる。
このような鑑賞履歴の取得は、ユーザプロファイルへの反映だけ でなく、楽曲へのアノテーションとして利用することができる。ユー ザの解釈に関する情報であるアノテーションは、それぞれの楽曲ごと にその情報量が異なることが多い。そこで、アノテーションが十分に 集まっていない楽曲について、鑑賞履歴を利用し、情報量を補うこと が可能である。例えば、似たような状況において多くの人が繰り返し 聴いている楽曲であれば、その状況に合った楽曲ということができる。
4 今後の課題
作成されたプレイリストに関するライナーノーツの自動生成について考 察中である。ライナーノーツとはそのプレイリストの解説文である。解 説文によりプレイリストの価値を高めることで、楽曲コンテンツの価値 をも高めることが期待できる。また、楽曲のハイライト抽出にアノテー ションを利用し、ハイライトプレイリストを提示することなども検討中 である。