特許第6763530号(P6763530)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人産業技術総合研究所の特許一覧

<>
  • 特許6763530-歌詞のトピック推定情報生成システム 図000025
  • 特許6763530-歌詞のトピック推定情報生成システム 図000026
  • 特許6763530-歌詞のトピック推定情報生成システム 図000027
  • 特許6763530-歌詞のトピック推定情報生成システム 図000028
  • 特許6763530-歌詞のトピック推定情報生成システム 図000029
  • 特許6763530-歌詞のトピック推定情報生成システム 図000030
  • 特許6763530-歌詞のトピック推定情報生成システム 図000031
  • 特許6763530-歌詞のトピック推定情報生成システム 図000032
  • 特許6763530-歌詞のトピック推定情報生成システム 図000033
  • 特許6763530-歌詞のトピック推定情報生成システム 図000034
  • 特許6763530-歌詞のトピック推定情報生成システム 図000035
  • 特許6763530-歌詞のトピック推定情報生成システム 図000036
  • 特許6763530-歌詞のトピック推定情報生成システム 図000037
  • 特許6763530-歌詞のトピック推定情報生成システム 図000038
  • 特許6763530-歌詞のトピック推定情報生成システム 図000039
  • 特許6763530-歌詞のトピック推定情報生成システム 図000040
  • 特許6763530-歌詞のトピック推定情報生成システム 図000041
  • 特許6763530-歌詞のトピック推定情報生成システム 図000042
  • 特許6763530-歌詞のトピック推定情報生成システム 図000043
  • 特許6763530-歌詞のトピック推定情報生成システム 図000044
  • 特許6763530-歌詞のトピック推定情報生成システム 図000045
  • 特許6763530-歌詞のトピック推定情報生成システム 図000046
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6763530
(24)【登録日】2020年9月14日
(45)【発行日】2020年9月30日
(54)【発明の名称】歌詞のトピック推定情報生成システム
(51)【国際特許分類】
   G06F 16/335 20190101AFI20200917BHJP
   G06F 40/30 20200101ALI20200917BHJP
   G06F 40/216 20200101ALI20200917BHJP
   G06N 7/00 20060101ALI20200917BHJP
   G06N 20/00 20190101ALI20200917BHJP
【FI】
   G06F16/335
   G06F40/30
   G06F40/216
   G06N7/00 150
   G06N20/00
【請求項の数】16
【全頁数】31
(21)【出願番号】特願2018-568598(P2018-568598)
(86)(22)【出願日】2018年2月15日
(86)【国際出願番号】JP2018005227
(87)【国際公開番号】WO2018151203
(87)【国際公開日】20180823
【審査請求日】2019年6月18日
(31)【優先権主張番号】特願2017-26196(P2017-26196)
(32)【優先日】2017年2月15日
(33)【優先権主張国】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度、国立研究開発法人科学技術振興機構戦略的創造研究推進事業(ACCEL)委託研究「次世代メディアコンテンツ生態系技術に関する研究開発と全体総括」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100091443
【弁理士】
【氏名又は名称】西浦 ▲嗣▼晴
(72)【発明者】
【氏名】佃 洸摂
(72)【発明者】
【氏名】後藤 真孝
【審査官】 吉田 誠
(56)【参考文献】
【文献】 東海 菜摘 他,ユーザの行動に基づいた楽曲推薦システムの提案,情報処理学会 研究報告 音楽情報科学(MUS) 2016−MUS−110 [online],日本,情報処理学会,2016年 2月22日,第1−5ページ
【文献】 平井 辰典 他,楽曲のビート類似度及び潜在トピックの類似度に基づくDJプレイの自動化,情報処理学会 研究報告 音楽情報科学(MUS) 2015−MUS−108 [online],日本,情報処理学会,2015年 8月24日,第1−8ページ
【文献】 佐々木 将人 他,LyricsRadar:歌詞の潜在的意味に基づく歌詞検索インタフェース,情報処理学会 論文誌(ジャーナル)[online],日本,情報処理学会,2016年 5月15日,Vol.57 No.5,第1365−1374ページ
【文献】 渡邉 研斗 他,大規模歌詞データからの潜在的トピック遷移のモデル化,第77回(平成27年)全国大会講演論文集(2) 人工知能と認知科学,2015年 3月17日,第2-371〜2-372ページ
【文献】 菊池 剛 他,多重トピック抽出手法を用いた歌詞に基づく楽曲情景推定手法の検討,電子情報通信学会2011年総合大会講演論文集 情報・システム1,2011年 2月28日,第26ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
G06F 40/00
G06N 7/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるトピックを推定するのに確かな情報を得る歌詞のトピック推定情報生成システムであって、
複数のアーティストごとに、曲名及び前記歌詞からなる複数の歌詞データを取得する歌詞データ取得手段と、
1からK(正の整数)までの所定の数のトピック番号k(1≦k≦K)を生成するトピック番号生成手段と、
前記複数の歌詞データ中の複数の歌詞を形態素解析エンジンを用いた形態素解析により解析して複数の単語を抽出する解析手段と、
最初に前記複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意に前記トピック番号を割り当てた後、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakと前記ある歌詞データSarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語vにトピック番号kが割り当てられている回数Nkvとを基に前記ある歌詞データSarのトピック番号がkである確率pを求め、該確率から前記ある歌詞データSarのトピック番号の確率分布を作成し、次に前記トピック番号の確率分布pに対応した出現確率に偏りのある乱数生成器を用いて、前記あるアーティストaの前記ある歌詞データSarに割り当てた前記トピック番号を更新するトピック番号更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データの全てについて前記トピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行するトピック番号学習手段と、
前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語にランダムまたは任意にスイッチ変数の値を割り当てた後、前記あるアーティストaの前記複数の歌詞データ中の前記複数の単語に対して前記割り当てたスイッチ変数の値から前記ある単語varjに割り当てた前記スイッチ変数xの値がトピック語であるか背景語であるかの確率を計算してスイッチ変数の値の確率分布λaを作成し、次に前記スイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、前記ある単語に割り当てた前記スイッチ変数の値を更新するスイッチ変数の値更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語の全てについて前記スイッチ変数の値の更新演算を実施するスイッチ変数の値更新学習演算を予め定めた回数実行するスイッチ変数の値学習手段と、
前記トピック番号学習手段の学習結果及び前記スイッチ変数の値学習手段の学習結果から、前記複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する出力手段とからなる歌詞のトピック推定情報生成システム。
【請求項2】
前記トピック番号学習手段において、前記トピック番号の確率分布を作成する際には、前記あるアーティストの前記ある歌詞データに割り当てたトピック番号以外の、全ての前記複数の歌詞データに割り当てたトピック番号が正しいと仮定していることを特徴とする請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項3】
前記スイッチ変数の値学習手段において、前記スイッチ変数の値更新演算を行う際には、前記あるアーティストの前記ある歌詞データの前記複数の単語中のある単語に割り当てたスイッチ変数x以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定していることを特徴とする請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項4】
前記トピック番号学習手段は、
前記トピック番号の確率分布を作成する際に、前記あるアーティストaの前記ある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakを基に、前記ある歌詞データSarのトピック番号がkである第1の確率p1を計算し、
前記ある歌詞データSarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語vにトピック番号kが割り当てられている回数Nkvを基に、前記ある歌詞データSarのトピック番号がkである第2の確率p2を計算し、
前記第1の確率p1と前記第2の確率p2から前記ある歌詞データSarのトピック番号がkである確率pを計算し、
これらの計算を全てのトピック番号に関して実施して前記ある歌詞データSarの前記トピック番号が1〜Kである確率の和が1になるように正規化して前記ある歌詞データSarの前記トピック番号の確率分布とすることを特徴とする請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項5】
前記出力手段は、ある単語vにトピック番号kが割り当てられている回数Nkvから、各トピック番号毎の単語の確率分布を出力するように構成されている請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項6】
前記出力手段における、前記トピック番号kの単語vの生起確率θkvは、下記式により求められ、
θkv=(Nkv+β)/(Nk+β|V|)
但し、Nkvはある単語vにトピック番号kが割り当てられた回数、Nkはトピック番号kが割り当てられた全単語数、βはスムージング用パラメータ、|V|は単語の種類数である請求項に記載の歌詞のトピック推定情報生成システム。
【請求項7】
前記スイッチ変数の値学習手段は、
前記あるアーティストaの全曲の歌詞データ中で前記スイッチ変数の値として0が割り当てられている単語の数Naoを基に、前記単語varj のスイッチ変数の値が0である第3の確率p3を計算し、
前記単語varjを含む歌詞と同一の前記トピック番号zarが割り当てられた全アーティストの全曲の中で前記単語varjに前記スイッチ変数の値として0が割り当てられている回数Nzararjを基に、前記単語varjのスイッチ変数の値が0である第4の確率p4を計算し、
前記第3の確率p3と第4の確率p4から前記スイッチ変数が0である第5の確率p5を計算し、
前記あるアーティストの前記複数の歌詞データの中で前スイッチ変数の値として1が割り当てられている回数Na1を基に、前記単語varjの前記スイッチ変数の値が1である第6の確率p6を計算し、
前記複数のアーティストの前記複数の歌詞データの中で前記単語varjに前記スイッチ変数の値として1が割り当てられている回数N1varjを基に、前記単語varjの前記スイッチ変数の値が1である第7の確率p7を計算し、
前記第6の確率p6と第7の確率p7から前記スイッチ変数が1である第8の確率p8を計算し、
前記第6の確率p6と第7の確率p7から前記単語varjの前記スイッチ変数の値が0である確率と1である確率の和が1になるように正規化しての前記スイッチ変数の値の確率分布とする請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項8】
前記出力手段における、前記複数の歌詞データ毎のトピック番号は、前記トピック番号学習手段において前記トピック番号更新学習演算を予め定めた回数実行して最後に前記複数の歌詞データに割り当てられたトピック番号である請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項9】
学習に使用しなかったあるアーティストの新しい曲sの歌詞データに含まれる単語の確率分布を作成する第1の単語確率分布作成手段と、
前記複数のアーティストの前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第2の単語確率分布作成手段と、
前記第1の単語確率分布作成手段で得た前記新しい曲sの歌詞データに含まれる単語の確率分布と前記前記第2の単語確率分布作成手段で得た前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算手段と、
前記複数の曲の歌詞データに対応する前記複数の曲の歌詞データの類似度を、前記トピック番号の重みとして加算して前記トピック番号の重み分布を作成する重み分布作成手段と、
前記重みが最大のトピック番号を前記新しい曲sの歌詞データのトピック番号とするトピック番号決定手段とを更に備えていることを特徴とする請求項1に記載の歌詞のトピック推定情報生成システム。
【請求項10】
背景の単語の生起確率を求めたい前記学習に使用しなかったあるアーティストの全ての曲の歌詞データに含まれる単語の確率分布を作成する第3の単語確率分布作成手段と、
前記アーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する第4の単語確率分布作成手段と、
前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する第5の単語確率分布作成手段と、
前記第3の単語確率分布作成手段で得た前記ある歌詞データに含まれる単語の確率分布と前記第4の単語確率分布作成手段で得た前記アーティスト毎の前記全ての曲の歌詞データに含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算手段と、
前記類似度演算手段で求めた前記アーティスト毎の前記類似度を前記第5の単語確率分布作成手段で得た前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布にそれぞれ前記類似度を乗算して得た確率分布を前記アーティスト毎に足し合わせて重みの和が1になるように正規化して、背景の単語の生起確率とする背景の単語の生起確率作成手段とを更に具備することを特徴とする請求項9に記載の歌詞のトピック推定情報生成システム。
【請求項11】
歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるトピックを推定するのに確かな情報を得る歌詞のトピック推定情報生成システムであって、複数のアーティストごとに、曲名及び前記歌詞からなる複数の歌詞データを取得する歌詞データ取得手段と、
1からK(正の整数)までの所定の数のトピック番号k(1≦k≦K)を生成するトピック番号生成手段と、
前記複数の歌詞データ中の複数の歌詞を形態素解析エンジンを用いた形態素解析により解析して複数の単語を抽出する解析手段と、
形態素解析により解析して複数の単語を抽出する解析手段と、
最初に前記複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意に前記トピック番号を割り当てた後、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakと前記ある歌詞データSarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語vにトピック番号kが割り当てられている回数Nkvとを基に前記ある歌詞データSarのトピック番号がkである確率pを求め、該確率から前記ある歌詞データSarのトピック番号の確率分布を作成し、次に前記トピック番号の確率分布pに対応した出現確率に偏りのある乱数生成器を用いて、前記あるアーティストaの前記ある歌詞データSarに割り当てた前記トピック番号を更新するトピック番号更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データの全てについて前記トピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行するトピック番号学習手段と、
前記トピック番号学習手段の学習結果から、前記複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する出力手段とからなる歌詞のトピック推定情報生成システム。
【請求項12】
前記トピック番号学習手段において、前記トピック番号の確率分布を作成する際には、前記あるアーティストの前記ある歌詞データに割り当てたトピック番号以外の、全ての前記複数の歌詞データに割り当てたトピック番号が正しいと仮定していることを特徴とする請求項11に記載の歌詞のトピック推定情報生成システム。
【請求項13】
前記トピック番号学習手段は、
前記トピック番号の確率分布を作成する際に、前記あるアーティストaの前記ある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakを基に、前記ある歌詞データSarのトピック番号がkである第1の確率p1を計算し、
前記ある歌詞データSarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語vにトピック番号kが割り当てられている回数Nkvを基に、前記ある歌詞データSarのトピック番号がkである第2の確率p2を計算し、
前記第1の確率p1と前記第2の確率p2から前記ある歌詞データSarのトピック番号がkである確率pを計算し、
これらの計算を全てのトピック番号に関して実施して前記ある歌詞データSarの前記トピック番号が1〜Kである確率の和が1になるように正規化して前記ある歌詞データSarの前記トピック番号の確率分布とすることを特徴とする請求項11に記載の歌詞のトピック推定情報生成システム。
【請求項14】
前記出力手段は、ある単語vにトピック番号kが割り当てられている回数Nkvから、各トピック番号毎の単語の確率分布を出力するように構成されている請求項13に記載の歌詞のトピック推定情報生成システム。
【請求項15】
前記出力手段における、前記トピック番号kの単語vの生起確率θkvは、下記式により求められ、
θkv=(Nkv+β)/(Nk+β|V|)
但し、Nkvはある単語vにトピック番号kが割り当てられた回数、Nkはトピック番号kが割り当てられた全単語数、βはスムージング用パラメータ、|V|は単語の種類数である請求項14に記載の歌詞のトピック推定情報生成システム。
【請求項16】
学習に使用しなかったあるアーティストの新しい曲sの歌詞データに含まれる単語の確率分布を作成する第1の単語確率分布作成手段と、
前記複数のアーティストの前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第2の単語確率分布作成手段と、
前記第1の単語確率分布作成手段で得た前記新しい曲sの歌詞データに含まれる単語の確率分布と前記前記第2の単語確率分布作成手段で得た前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算手段と、
前記複数の曲の歌詞データに対応する前記複数の曲の歌詞データの類似度を、前記トピック番号の重みとして加算して前記トピック番号の重み分布を作成する重み分布作成手段と、
前記重みが最大のトピック番号を前記新しい曲sの歌詞データのトピック番号とするトピック番号決定手段とを更に備えていることを特徴とする請求項11に記載の歌詞のトピック推定情報生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歌詞のトピック推定情報生成システムに関するものである。
【背景技術】
【0002】
歌詞のトピックは、歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるものである。この歌詞のトピックが正確に推定できれば、あるアーティストと歌詞のトピックの傾向が似たアーテッストを探して推薦したり、あるアーティストの曲の歌詞の傾向を知ることの自動化が可能になる。
【0003】
従来、歌詞のトピックを推定する技術としては、LDA(Latent Dirichlet Allocation)法(非特許文献1)とクラスタリング法(非特許文献2)と呼ばれる技術がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】D.M. Blei, A. Y. Ng, and M. I. Jordan, "Latent Dirichlet Allocation,"The Journal of Machine Learning Research, 2003, pp. 993-1022
【非特許文献2】F. Kleedorfer, P. Knees, and T. Pohle, "Oh Oh Oh, Woah! Towards Automatic Topic Detection in Song Lyrics," In Proceedings of ISMIR 2008, 2008, pp. 287-292
【発明の概要】
【発明が解決しようとする課題】
【0005】
図21(A)に示すように、LDA法では歌詞の単語毎にトピックが割り当てられるが、歌詞全体にトピックが割り当てられることがない。また図21(B)に示すように、LDA法ではアーティスト毎のトピック分布がモデル化されていない。さらに図21(C)に示すように、LDA法では歌詞中のいわゆる背景語を考慮していないので、各トピックの中でトピックとは無関係な単語の生起確率が高くなる可能性がある。
【0006】
またクラスタリング法では、図22(A)に示すように、歌詞の中の単語の発生回数や出現の有無に基づいてトピックを定めるが、数学的妥当性が自明でないため、トピックの決定までに試行錯誤が必要になる。また図22(B)に示すように、単語をクラスタリングするために様々な数学的手法を試行錯誤で用いる必要がある。さらに図22(C)に示すように、クラスタリング法では歌詞中のいわゆる背景語を考慮していないので、各トピックと関連の低い単語も含めた類似度が計算されることになり、トピックとは無関係な単語の影響で歌詞間の類似度が高くなる可能性がある。
【0007】
このような従来技術では、歌詞の意味解析を行う場合に、単語ごとにひとつのトピックを割り当てるのが一般的であり、歌詞のトピックの解釈が困難であった。また歌詞の数が少ないアーティストも歌詞の数が十分に存在するアーティストと同様の方法で推定器が構築され、意味解析の性能を低下させてしまっていた。
【0008】
本発明の目的は、数学的妥当性を持ってアーティスト毎のトピック分布を求めることができ、従来よりも歌詞のトピックの解釈に有効な情報を提供できる歌詞のトピック推定情報生成システムを提供することにある。
【0009】
本発明のさらなる目的は、トピック中において、歌詞中の背景語を考慮することにより、各トピックの中でトピックとは無関係な単語の生起確率が高くなるのを抑制できる歌詞のトピック推定情報生成システムを提供することにある。
【0010】
本発明を方法発明またはコンピュータプログラムの発明として把握した場合の各発明の目的は、数学的妥当性を持ってアーティスト毎のトピック分布を求めることができ、従来よりも歌詞のトピックの解釈に有効な情報を提供できる歌詞のトピック推定情報生成方法及びプログラムを提供することにある。
【0011】
また本発明を方法発明またはコンピュータプログラムの発明として把握した場合の各発明の目的は、トピック中において、歌詞中の背景語を考慮することにより、各トピックの中でトピックとは無関係な単語の生起確率が高くなるのを抑制できる歌詞のトピック推定情報生成方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明は、歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるトピックを推定するのに確かな情報を得る歌詞のトピック推定情報生成システムであり、歌詞データ取得手段と、トピック番号生成手段と、解析手段と、トピック番号学習手段と出力手段とを備えている。歌詞データ取得手段は、複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データを取得する。トピック番号生成手段は、1からK(正の整数)までの所定の数のトピック番号kを生成する。解析手段は、複数の歌詞データ中の複数の歌詞を形態素解析エンジンを用いた形態素解析により解析して複数の単語を抽出する。
【0013】
トピック番号学習手段は、複数のアーティスト毎の複数の歌詞データの全てについてトピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行する。トピック番号更新演算では、最初に複数のアーティスト毎の複数の歌詞データにランダムまたは任意にトピック番号を割り当てた後、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakと、ある歌詞データSarを除く複数のアーティストの複数の歌詞データの中で各単語vにトピック番号kが割り当てられている回数Nkvを基に、ある歌詞データSarのトピック番号がkである確率を求め、該確率からある歌詞データSarのトピック番号の確率分布を作成する。次にトピック番号の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、あるアーティストaのある歌詞データSarに割り当てたトピック番号を更新するトピック番号更新演算を行う。そして出力手段は、トピック番号学習手段の学習結果から、複数のアーティスト毎に複数の歌詞データ毎のトピック番号とトピック番号毎の単語の確率分布を出力する。
【0014】
なお出力手段における、複数の歌詞データ毎のトピック番号は、トピック番号学習手段においてトピック番号更新学習演算を予め定めた回数実行して、最後に複数の歌詞データに割り当てられたトピック番号とする。このように最後の割り当て結果を出力すると、複数の歌詞データに適したトピック番号を割り当てることができる。
【0015】
なお歌詞データ取得手段では、複数のアーティスト毎に複数の歌詞データを取得し、出力手段では、複数のアーティスト毎の複数の歌詞データのトピック番号と該トピック番号毎の単語の確率分布を特定する。このようにするとアーティスト毎の複数の曲の歌詞のトピックをアーティストの個性を反映したものとして知ることができ、曲を選択する人に、アーティストを基準にした曲の情報を提供することができる。
【0016】
また形態素解析は、文章中から名詞あるいは特定の品詞群を単語として抽出する形態素解析エンジンを用いて実施される。形態素解析エンジンは、現在、種々提案されており、形態素解析エンジを用いれば、曲が膨大な数になっても、単語の抽出を簡単に行える。
【0017】
本発明によれば、任意のトピック数を決めると、トピック番号学習手段により最終的に更新されたアーティスト毎の複数の歌詞データ毎のトピック番号により、複数の歌詞データ毎のトピック番号が特定される。そして複数の歌詞データ毎のトピック番号が判ると、各トピック番号毎の単語の確率分布が判る。そのためトピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がない。また生起確率の高い複数の単語が分かると、それらの単語からトピックを把握するのに確かな情報が得られることになり、各歌詞のトピックの尤もらしい意味を求めることができる。
【0018】
トピック番号学習手段においては、トピック番号の確率分布を作成する際には、あるアーティストのある歌詞データに割り当てたトピック番号以外の、全ての歌詞データに割り当てたトピック番号が正しいと仮定するのが好ましい。具体的には、トピック番号学習手段は、まずトピック番号の確率分布を作成する際に、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakを基に、ある歌詞データSarのトピック番号がkである第1の確率p1を計算する。次に、ある歌詞データSarを除く複数のアーティストの複数の歌詞データの中で単語vにトピック番号が割り当てられている回数Nkvを基に、ある歌詞データSarのトピック番号がkである第2の確率p2を計算する。さらに第1の確率p1と第2の確率p2からある歌詞データSarのトピック番号がkである確率pを計算する。そして、これらの計算を全てのトピック番号に関して実施して、ある歌詞データSarのトピック番号kが1〜Kである確率の和が1になるように正規化し、ある歌詞データSarのトピック番号の確率分布とする。このように計算をすると、トピック番号の確率分布の精度が高くなる。
【0019】
また出力手段は、ある単語vにトピック番号kが割り当てられている回数Nkvから、各トピック番号毎の単語の確率分布を出力するように構成されているのが好ましい。
【0020】
出力手段における、トピック番号kの単語vの生起確率θkvは、下記式により求められ、
θkv=(Nkv+β)/(Nk+β|V|)
但し、Nkvはある単語vにトピック番号kが割り当てられた回数、Nkはトピック番号kが割り当てられた全単語数、βはスムージング用パラメータ、|V|は単語の種類数である。
【0021】
本発明では、スイッチ変数の値学習手段を更に備えていてもよい。スイッチ変数の値学習手段は、複数のアーティスト毎の複数の歌詞データに含まれる複数の単語の全てについてスイッチ変数の値の更新演算を実施するスイッチ変数の値更新学習演算を、予め定めた回数実行する。ここでスイッチ変数の値更新演算では、複数のアーティスト毎の複数の歌詞データに含まれる複数の単語にランダムまたは任意にスイッチ変数の値を割り当てる。その後、あるアーティストaの複数の歌詞データ中の複数の単語に対して割り当てたスイッチ変数の値から、ある単語varjに割り当てたスイッチ変数xの値がトピック語である(x=0)か背景語である(x=1)かの確率を計算してスイッチ変数の値の確率分布λaを作成する。次にスイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、ある単語に割り当てたスイッチ変数の値を更新する。
【0022】
スイッチ変数の値学習手段による学習は、トピック番号学習手段による学習の前でも後でも行うことができる。スイッチ変数の値学習手段を設けると、ある単語がトピック語であるか背景語であるかを考慮するため、設けない場合よりも、トピック番号の推定精度が高くなる。これはスイッチ変数の値を考慮して複数の歌詞データ毎のトピック番号と複数のトピック番号毎の単語の生起確率が判ると、トピック番号毎の単語の生起確率において、トピックと関係の弱い単語(背景語)の生起確率を低くすることができ、歌詞のトピック番号を推定する際に背景語の影響力を小さくすることができるからである。
【0023】
スイッチ変数は、ある単語が想定されるトピックの主題に関連するものか背景に関連するものを規定する変数である。したがってこの変数を演算により特定すれば、トピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がなくなる。
【0024】
スイッチ変数の値学習手段において、スイッチ変数の値更新演算を行う際には、あるアーティストのある歌詞データの複数の単語中のある単語に割り当てたスイッチ変数x以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定するのが好ましい。具体的には、スイッチ変数の値学習手段では、次の計算を行う。まず、あるアーティストaの全曲の歌詞データ中で前記スイッチ変数の値として0が割り当てられている単語の数Naoを基に、単語varj のスイッチ変数の値が0である第3の確率p3を計算する。次に単語varjを含む歌詞と同一のトピック番号zarが割り当てられた全アーティストの全曲の中で単語varjにスイッチ変数の値として0が割り当てられている回数Nzararjを基に、単語varjのスイッチ変数の値が0である第4の確率p4を計算する。そして第3の確率p3と第4の確率p4からスイッチ変数が0である第5の確率p5を計算する。またあるアーティストの複数の歌詞データの中でスイッチ変数の値として1が割り当てられている回数Na1を基に、単語varjのスイッチ変数の値が1である第6の確率p6を計算する。また複数のアーティストの複数の歌詞データの中で、単語varjにスイッチ変数の値として1が割り当てられている回数N1varjを基に、単語varjのスイッチ変数の値が1である第7の確率p7を計算する。そして第6の確率p6と第7の確率p7から前記スイッチ変数が1である第8の確率p8を計算し、第5の確率p5および第8の確率p8から単語varjのスイッチ変数の値が0である確率と1である確率の和が1になるように正規化して、スイッチ変数の値の確率分布とする。このようにしてスイッチ変数の値の確率分布を求めると、アーティストaの全歌詞の中でスイッチ変数の値が0または1である割合および、単語varjのスイッチ変数の値が全アーティストの全歌詞の中で0または1である割合の双方を考慮した結果としての確率分布を求めることができる。
【0025】
また学習に使用しなかったあるアーティストの新しい曲sの歌詞データのトピック番号を求める場合には、次の構成を採用すればよい。すなわち学習に使用しなかったあるアーティストの新しい曲sの歌詞データに含まれる単語の確率分布を作成する第1の単語確率分布作成手段と、複数のアーティストの複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第2の単語確率分布作成手段と、第1の単語確率分布作成手段で得た新しい曲sの歌詞データに含まれる単語の確率分布と第2の単語確率分布作成手段で得た複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求める類似度演算手段と、複数の曲の歌詞データに対応する複数の曲の歌詞データの類似度を、トピック番号の重みとして加算してトピック番号の重み分布を作成する重み分布作成手段とをさらに設ける。そして重みが最大のトピック番号を新しい曲sの歌詞データのトピック番号とする。
【0026】
また学習に使用しなかったあるアーティストの新しい曲sの歌詞データのトピックを定めるためのさらなる情報を得るためには、第3の単語確率分布作成手段乃至第5の単語確率分布作成手段と、類似度演算手段と、生起確率作成手段とを設けた下記の構成を採用することができる。第3の単語確率分布作成手段は、背景の単語の生起確率を求めたい学習に使用しなかったアーティストの全ての曲の歌詞データに含まれる単語の確率分布を作成する。第4の単語確率分布作成手段は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する。第5の単語確率分布作成手段は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する。類似度演算手段は、第3の単語確率分布作成手段で得た新しい曲sの歌詞データに含まれる単語の確率分布と第4の単語確率分布作成手段で得たアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求める。また背景の単語の生起確率作成手段は、類似度演算手段で求めたアーティスト毎の類似度を第5の単語確率分布作成手段で得たアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布に基づいて背景の単語の生起確率を求める。具体的には、アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布に類似度をそれぞれ乗算して得た確率分布をアーティスト毎に足し合わせて重みの和が1になるように正規化して、背景の単語の生起確率とする。そして生起確率作成手段で求めた生起確率を、あるアーティストの背景語の確率分布とする。背景語の確率分布からも、トピックの意味合いを知ることができる。
【0027】
本発明を歌詞のトピック推定情報生成方法として表現すると以下のように表現することができる。歌詞データ取得ステップでは、複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データを取得する。トピック番号生成ステップでは、1からK(正の整数)までの所定の数のトピック番号k(1≦k≦K)を生成する。解析ステップでは、複数の歌詞データ中の複数の歌詞を形態素解析により解析して複数の単語を抽出する。トピック番号学習ステップでは、最初に複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意にトピック番号を割り当てた後、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakとある歌詞データSarを除く複数のアーティストの複数の歌詞データの中で単語vにトピック番号kが割り当てられている回数Nkvとを基にある歌詞データSarのトピック番号がkである確率pを求め、該確率からある歌詞データSarのトピック番号の確率分布を作成し、次にトピック番号の確率分布pに対応した出現確率に偏りのある乱数生成器を用いて、あるアーティストaのある歌詞データSarに割り当てたトピック番号を更新するトピック番号更新演算を行い、複数のアーティスト毎の複数の歌詞データの全てについてトピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行する。そして出力ステップでは、トピック番号学習ステップの学習結果から、複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する。
【0028】
本発明は、本発明のトピック推定情報生成方法の各ステップをコンピュータを用いて実施する場合のトピック推定情報生成用コンピュータプログラムとしても特定することができる。なおこのコンピュータプログラムは、コンピュータ読み取り可能な記媒体に記憶されているのが好ましい。
【図面の簡単な説明】
【0029】
図1】本発明の歌詞のトピック推定情報生成システムの第1の実施の形態の構成を示すブロック図である。
図2】本実施の形態をコンピュータを用いて実現する場合に用いるコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
図3】歌詞の生成過程をモデル化したものを説明するために用いる図である。
図4】アーティスト毎の曲を集める態様を示す図である。
図5】形態素解析の一例を示す図である。
図6】(A)はトピック番号の付与を自動的に行うアルゴリズムのフローチャートであり、(B)は初期のトピック番号の付与の一例を示す図である。
図7】トピック番号学習手段をソフトウエアで実現する場合のアルゴリズムの一例を示す図である。
図8図7のステップST408の詳細を示すフローチャートである。
図9】本発明の歌詞のトピック推定情報生成システムの第2の実施の形態の構成を示すブロック図である。
図10】第2の実施の形態をコンピュータを用いて実現する場合に用いるコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
図11】歌詞の生成過程をモデル化したものを説明するために用いる図である。
図12】(A)は複数のアーティスト毎の複数の歌詞データに含まれる複数の単語にランダムまたは任意にスイッチ変数の値を割り当てるアルゴリズムを示すフローチャートであり、(B)は初期のスイッチ変数の例を示す図である。
図13図10のステップST1412における「スイッチ変数の値の確率分布生成」ステップの詳細を示すフローチャートである。
図14】(A)は複数のトピック番号毎の単語の生起確率の例を示す図であり、(B)は複数のアーティスト毎の複数の歌詞データ毎のトピック番号を特定した例を示す図である。
図15】学習に使用しなかったあるアーティストの新しい曲の歌詞データのトピック番号を求めるシステムの構成を示すブロック図である。
図16】(A)は図15のシステムをソフトウエアを用いて実現するためのアルゴリズムを示すフローチャートであり、(B)は図16(A)のアルゴリズムの考え方を模擬的に示した図である。
図17】アーティストの曲の歌詞データのトピックを定めるためのさらなる情報として背景の単語の生起確率を作成するシステムの構成を示すブロック図である。
図18】(A)は図17のシステムをソフトウエアを用いて実現するためのアルゴリズムを示すフローチャートであり、(B)は図18(A)のアルゴリズムの考え方を模擬的に示した図である。
図19】(A)及び(B)は、実施の形態で得られるトピック毎の単語の確率分布の例を示す図であり、(C)は、背景後の単語の確率分布の例を示す図である。
図20】(A)及び(B)は、それぞれアーティスト毎の曲の背景の単語の生起確率分布の例を示す図である。
図21】(A)乃至(C)は、歌詞のトピックを推定する技術として、LDA法を用いた場合における問題点を説明するために用いる図である。
図22】(A)乃至(C)は、歌詞のトピックを推定する技術として、クラスタリング法を用いた場合における問題点を説明するために用いる図である。
【発明を実施するための形態】
【0030】
以下図面を参照して本発明の実施の形態を詳細に説明する。
【0031】
[第1の実施の形態]
図1は、本発明の歌詞のトピック推定情報生成システムの第1の実施の形態の構成を示すブロック図である。本実施の形態の各ブロックは、コンピュータにインストールされたコンピュータプログラムによりコンピュータ内に実現されるか、複数のプロセッサと複数のメモリによって構成される。図2は、本実施の形態の基本システムをコンピュータを用いて実現する場合に用いる歌詞のトピック推定情報生成方法及びコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
【0032】
図1に示すように、本実施の形態の基本となる歌詞のトピック推定情報生成システム1は、歌詞データベース3、歌詞データ取得手段5、トピック番号生成手段7、トピック番号学習手段9、解析手段11及び出力手段13を備えている。
【0033】
本発明では、図3に示す歌詞の生成過程をモデル化した歌詞の生成過程モデルをベースとして、図1の各構成要素を用いることとした。そこでまず図3に示す歌詞の生成過程モデルについて説明する。歌詞を作成する場合には、ステップS1でアーティスト名と曲名を決める。ここでは例えば、アーティスト名「関谷 洋」、曲名「戻らない夏」とする。次に曲のトピック番号を生成する(ステップS2)。ここでトピックとは、歌詞の内容から定まる歌詞の主題、本題またはテーマとなるもので、例えば「夏」、「女性の恋歌」、「旅」等である。このようなトピックをグループ分けする場合に、トピックに付けられる番号が、「トピック番号」である。本実施の形態において、「トピック番号」は、あくまでも番号であって、意味内容は含まない。大ざっぱに、アーティストの曲の歌詞のトピックを20種類に分けるとすれば(複数の歌詞をその内容から20のグループに分けるとすれば)、トピック番号は1〜20の番号である。あるアーティストの複数の曲の歌詞をトピックの種類に分けて各トピックに番号を付け、トピック番号の発生確率を求めたものがトピック番号の確率分布である。次に歌詞に含まれるj番目の単語を決める場合には、トピックの単語分布から単語を順次生成する(ステップS4〜S5)。j番目の単語が決められると、j+1番目の単語が決められ、すべの単語が決まると作詞は終了する。
【0034】
以下の説明では、本実施の形態をコンピュータ等のハードウエアで実現する場合に用いる理論を数式を用いて逐次説明する。このモデルを数式で示すと次のようになる。入力として与えられたトピックの数をK、歌詞データ集合内のアーティスト集合をA、名詞あるいは特定の品詞群の集合をVとする。トピックk(1≦k≦K)は単語の確率分布φk=(φk1・,φk2,・・・,φkV ) を持ち、単語v∈Vの生起確率φkv はφkv≧0かつ
【0035】
【数1】
を満たす。
【0036】
そしてアーティストa∈Aはトピック番号の確率分布θa=(θa1,θa2,...,θaK) を持ち、トピックk(1≦k≦K) の生起確率θak はθak≧0かつ
【0037】
【数2】
を満たす。
【0038】
アーティストa∈Aはスイッチ変数の値を選ぶための確率分布λa =(λa0; λa1) を持つ。λa0 はスイッチ変数の値が0である確率であり、単語がトピックから選択されることを表す。λa1はスイッチ変数の値が1である確率であり、単語が背景から選択されることを表す。λa0≧0 かつλa1≧0かつλa0a1=1を満たす。背景は単語の確率分布ψ=(ψ1,ψ2,・・・ψ|V|)を持ち、単語v∈Vの生起確率ψvはψv≧0かつ
【0039】
【数3】
を満たす。
【0040】
本発明のシステムでは、図3のモデルを基礎として、歌詞のトピックを決定または推定するのに役立つ情報を自動生成する。歌詞データ取得手段5は、図2のステップST1及び図4に示すように、歌詞データベース3から複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データ(歌詞データ集合)を取得する。図4の例では、二人のアーティスト(関谷 洋と吉井 弘美)の曲をそれぞれ取得している。歌詞データベース3としては、例えば、MySQLを利用することができる。
【0041】
これをコンピュータを用いて実現するために、アーティストaの歌詞データの総数をRa、r(1≦r≦Ra)番目の歌詞をSarとすると、アーティストaの歌詞集合Daは、
【0042】
【数4】
と表される。さらに、全アーティストの歌詞集合D はD={DaaAと表される。
【0043】
トピック番号生成手段7は、図2のステップST2に示すように、1からK(正の整数)までの所定の数のトピック番号kを生成する。本実施の形態では、トピック番号生成手段7は、1〜20のトピック番号を生成している。
【0044】
そして解析手段11は、図2のステップST3及び図5に示すように、複数の歌詞データ中の複数の歌詞を形態素解析により解析して複数の単語を抽出する。形態素解析は、文章中から名詞あるいは特定の品詞群を単語として抽出する形態素解析エンジンを用いて実施される。形態素解析エンジンは、現在、種々提案されており、形態素解析エンジンを用いれば、曲が膨大な数になっても、単語の抽出を簡単に行える。本実施の形態では、図5に示すようにオープンソースの形態素解析エンジンMeCab( HYPERLINK "http://taku910.github.io/mecab/" http://taku910.github.io/mecab/)を使用している。なお数学的には、歌詞Sar に含まれる名詞あるいは特定の品詞群の数をVar とする。
【0045】
トピック番号学習手段9は、図2のステップST4及び図6(A)のステップST41〜ST47に示すように、複数のアーティストi毎の複数の歌詞データにランダムまたは任意にトピック番号を割り当てる。本実施の形態では、図6(B)に示すように、最初は各トピック番号が付与される複数の歌詞データの生起確率が0.05=(1/K)になるようにしている。
【0046】
図7はトピック番号学習手段9をコンピュータを用いて実現する場合のソフトウエアのアルゴリズムの一例を示している。図7のアルゴリズムでは、複数のアーティストi毎の複数の歌詞データの全てについてトピック番号更新演算(図7のST404〜ST411)を実施するトピック番号更新学習演算(ST403〜ST411)を、予め定めた回数(ST402)実行する。本実施の形態では、あるアーティストaのある曲即ち歌詞データSarに割り当てたトピック番号k(k=1からKまでのいずれかの整数)以外の、全ての歌詞データに割り当てたトピック番号が正しいと仮定して、あるアーティストaのある歌詞データSarに割り当てたトピック番号がkである確率を計算してトピック番号の確率分布を作成する(ST408)。
【0047】
図8は、ステップST408の詳細を示すフローチャートである。まずトピック番号kの確率分布を作成する際に、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakを基に、ある歌詞データSarのトピック番号がkである第1の確率p1を計算する(ステップST408D)。次に、ある歌詞データSarを除く複数のアーティストの複数の歌詞データの中で単語vにトピック番号kが割り当てられている回数Nkvを基に、ある歌詞データSarのトピック番号がkである第2の確率p2を計算する(ST408E〜ST408H)。ステップST408Fでは、ある単語vが単語集合Vの中に在るか否かを判定し、ステップST408Gでは、その単語がある歌詞データSarのなかに存在するかを判定する。ステップST408Gで「N」であればステップST408Iで、次の単語に変わる。そしてステップST408Fで「N」であれば、単語が無くなったので、ステップST408Jへと進む。ステップST408Jでは、第1の確率p1と第2の確率p2からある歌詞データSarのトピック番号がkである確率pを計算する。そして、これらの計算を全てのトピック番号(1〜K)に関して実施して、ある歌詞データSarのトピック番号が1〜Kである確率の和が1になるように正規化し、ある歌詞データSarのトピック番号の確率分布とする(ST408C)。このように計算をすると、トピック番号の確率分布の精度が高くなる。
【0048】
次に図7のステップST409において、ある曲即ちある歌詞データSarのトピック番号を更新する。このトピック番号の更新では、トピック番号の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、あるアーティストのある歌詞データに割り当てたトピック番号を更新する(ST409)。トピック番号更新演算(ST403,ST409)を、複数のアーティスト毎の複数の歌詞データの全てについて実施する(ST404,ST411)。そしてトピック番号更新演算を、複数のアーティスト毎の複数の歌詞データの全てについて実施するトピック番号更新学習演算(ST403〜ST411)を予め定めた回数[図7の例では500回]実行する。なおトピック番号の確率分布は、イメージとしては、図6(B)に示すようなものである。またここで用いる「乱数生成器」は、概念で説明すれば、本実施の形態の場合、例えばトピック番号に対応する20の面を有し、その面の面積が出現確率に比例している多面体からなる仮想のサイコロを振って出た面に割り当てられている数(1〜20の数)を更新後のトピック番号とするものである。
【0049】
図1の出力手段13は、図2のステップST5に示すように、トピック番号学習手段9の学習結果から、複数のアーティストi毎に複数の歌詞データ毎のトピック番号とトピック番号毎の単語の確率分布を出力する。なお出力手段13における、複数の歌詞データ毎のトピック番号は、トピック番号学習手段9においてトピック番号更新学習演算を予め定めた回数(本実施の形態では500回)実行して、最後に複数の歌詞データに割り当てられたトピック番号とする。このように最後の割り当て結果を出力すると、複数の歌詞データに適したトピック番号を割り当てることができる。
【0050】
具体的には、図7のステップST409における「トピック番号更新」で最後に更新した値を歌詞データに割り当てられたトピック番号とする。また出力手段13は、ある単語vにトピック番号kが割り当てられている回数Nkvから、各トピック番号毎の単語の確率分布を出力する。具体的にはピック番号kの単語vの生起確率θkvは、下記式により求めて、この生起確率から各トピック番号毎の単語の確率分布を特定する。
【0051】
θkv=(Nkv+β)/(Nk+β|V|)
但し、Nkvはある単語vにトピック番号kが割り当てられた回数、Nkはトピック番号kが割り当てられた全単語数、βは単語の出現回数に対するスムージング用パラメータ、|V|は単語の種類数である。
【0052】
(数式に基づくトピック番号の更新)
上記のトピック番号の更新を理論的に以下に説明する。まずθa、φk、ψ、およびλaはそれぞれ事前分布としてパラメータα、β、γ、ρのディリクレ分布を持つと仮定する。アーティストaの曲Sar のトピック番号をzar、アーティストaの歌詞Sar のj番目の単語のスイッチ変数の値をxarj とすると、歌詞集合D、トピック番号集合Zは
【0053】
【数5】
であり、スイッチ変数の値の集合Xは
【0054】
【数6】
であり、この同時分布は次式で表される。
【0055】
【数7】
ここで、
【0056】
【数8】
である。
【0057】
P(D,Z,X|α、β、γ、ρ)は全アーティストの全曲に対するトピック番号の割り当て(Z)および、全アーティストの全曲の全単語に対するスイッチ変数の値の割り当て(X)を決めたときに、全ての歌詞の単語(D)、全てのトピック番号(Z)、全てのスイッチ変数の割り当て(X)、の組合せが生じる確率を表す。これらのパラメータを積分消去することで、式(1)は次のように計算できる。
【0058】
【数9】
a0 とNa1 はそれぞれ、アーティストaの歌詞データの単語の中でスイッチ変数の値が0である単語数と1である単語数を表し、Na = Na0+Na1 である。N1v は単語vの中で、スイッチ変数の値が1であるものの数を表し、N1=ΣvV1vである。Nk =ΣvVkvであり、Nkvは単語vにスイッチ変数の値が0のもとでトピック番号kが割り当てられた回数である。Rakはアーティストaの歌詞の中でトピック番号kが割り当てられた歌詞の数であり、
【0059】
【数10】
である。式(2)の中で下記式(3)の項は、全ての歌詞のトピック番号の割り当てが決まったときに、その割り当てが観測される確率を表す。
【0060】
【数11】
式(2)の中で下記の式(4)の項は、全ての歌詞の全ての単語のスイッチ変数の値の割り当てが決まったときに、その割り当てが観測される確率を表す。
【0061】
【数12】
式(2)の中で下記式(5)の項は、全ての歌詞のトピック番号の割り当ておよび、全ての歌詞の全ての単語のスイッチ変数の値の割り当てが決まったときに、全ての歌詞の全ての単語が観測される確率を表す。
【0062】
【数13】
アーティストaの曲Sar のトピック番号をzar とすると、zar=kである確率は次式(6)で表される。
【0063】
【数14】
上記式において\ar はアーティストaのr番目の歌詞を除いたときの値を表す。Nar はアーティストaのr番目の歌詞内の単語数を、Narv はアーティストaのr番目の歌詞内の単語vの数を表す。上記式(6)の中で下記式(7)の項は、アーティストaのr番目以外の曲にどれだけトピック番号kが割り当てられているかを表す。つまり、アーティストaの曲の中にトピック番号kが割り当てられた曲が多いほどアーティストaのr番目の曲のトピック番号がkである確率が高くなる。
【0064】
【数15】
式(6)の中で下記式(8)の項は、アーティストaのr番目以外の曲を見たときに、アーティストaのr番目の歌詞内の単語にどれだけトピック番号kが割り当てられているかを表す。たとえば、アーティストaのr番目の曲に「夏」という単語がある場合、アーティストaのr番目の曲以外の全アーティストの全曲の中の「夏」という単語にどれだけトピック番号kが割り当てられているかを見ることになる。ただし、曲のトピック番号がkであるとき、その曲の歌詞内の全ての単語にもトピック番号kが割り当てられていると考える。つまり、アーティストaのr番目の歌詞内にトピック番号kが割り当てられた単語が多いほど、アーティストaのr番目の曲のトピック番号がkである確率が高くなる。
【0065】
【数16】
トピック番号の更新は式(2)の値が大きくなるように行われる。また、歌詞ごとのトピック番号の更新と並行して、トピック番号ごとの単語の確率分布も更新する。
【0066】
なお上記説明におけるスイッチ変数は、理論的には、後述する第2の実施の形態のスイッチ変数の値学習手段115が出力するスイッチ変数であるが、第1の実施の形態では、スイッチ変数を0として、スイッチ変数の値は更新していない。したがって第1の実施の形態では、背景語は考慮されない。
【0067】
[第2の実施の形態]
図9は、本発明の歌詞のトピック推定情報生成システムの第2の実施の形態の構成を示すブロック図である。本実施の形態の各ブロックは、コンピュータにインストールされたコンピュータプログラムによりコンピュータ内に実現されるか、複数のプロセッサと複数のメモリによって構成される。図10は、第2の実施の形態をコンピュータを用いて実現する場合に用いるコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
【0068】
第2の実施の形態が、図1乃至図8を用いて説明した第1の実施の形態と相違するのは、スイッチ変数の値学習手段115を更に備えている点であり、その他の点は第1の実施の形態と同じである。そこで図9には、図1に示した第1の実施の形態と同じ機能を発揮する構成要件には、図1に付した符号の数に100の数の符号を付して説明を省略する。また図10のフローチャートには、図7に図に示した第1の実施の形態のステップと同じ機能を発揮するステップには、図7に付したステップの符号の数に1000の数の符号を付して説明を省略する。更に図11に示す歌詞の生成過程をモデル化した図においても、図3に示すモデルと同じステップには、図3に図に示した第1の実施の形態のステップと同じ機能を発揮するステップには、図3に付したステップの符号の数に10の数の符号を付して説明を省略する。
【0069】
図9に示すように、本実施の形態では、スイッチ変数の値学習手段115を備えている。ここで歌詞に含まれるj番目の単語を決める場合に、トピックに関連する単語とするか、トピックに関連しない背景語とするかを決めるのが「スイッチ変数の値」である。即ちスイッチ変数は、ある単語が想定されるトピックの主題に関連するものか、背景に関連するものを規定する変数である。この変数を演算により特定すれば、トピックと関係のある単語集合及び無関係な単語集合を人手で規定する必要がなくなる。100%トピックに関連する単語にする場合のスイッチ変数の値0の生起確率は1であり、50%トピックに関連する単語にする場合のスイッチ変数の値0の生起確率は0.5である。j番目の単語を決める場合には、j番目の単語用のスイッチ変数の値の確率分布が使用されることになる。人が作詞をする場合には、このスイッチ変数の値の確率分布は人が決めることになる。
【0070】
図11のステップS14乃至S18では、j番目の単語用のスイッチ変数の値の確率分布に基づいて、この確率分布がトピックを示しているか否かにより(ステップS16)、j番目の単語をトピックの単語の分布から生成するか(ステップS17)、背景の単語分布から生成することになる(ステップS18)。j番目の単語が決められると、j+1番目の単語が決められ(ステップS19)、すべの単語が決まると作詞は終了する。
【0071】
スイッチ変数の値学習手段115は、スイッチ変数の値更新学習演算[図10のステップST1409〜ST1415]を予め定めた回数[例では500回]実行する。スイッチ変数の値更新学習演算では、まず事前の準備として、図12(A)に示すフローチャートのように、複数のアーティストi毎の複数の歌詞データに含まれる複数の単語にランダムまたは任意にスイッチ変数の値を割り当てる(ST141〜ST150)。図12(B)に示すように、この例では、最初にトピックに関連する語である確率及び背景に関連する語である確率をそれぞれ、0.5としている。
【0072】
図10に示すように、スイッチ変数の値学習手段115では、あるアーティストのある歌詞データの複数の単語中のある単語vに割り当てたスイッチ変数x(x=トピック語であるか背景語であるかの確率変数)以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定して、ある単語vに割り当てたスイッチ変数xの値が0または1である確率を計算してスイッチ変数の値の確率分布λaを作成する(図10のステップST1410〜ST1412)。
【0073】
図13には、図10のステップST1412における「スイッチ変数の値の確率分布生成」ステップの詳細が示されている。まず、あるアーティストaの全曲の歌詞データ中でスイッチ変数の値として0が割り当てられている単語varjの数Naoを基に、単語varj のスイッチ変数の値が0である第3の確率p3を計算する(ステップST1412A)。次に単語varjを含む歌詞と同じトピック番号zarが割り当てられた全アーティストの全曲の中で単語varjにスイッチ変数の値として0が割り当てられている回数Nzararjを基に、単語varjのスイッチ変数の値が0である第4の確率p4を計算する(ステップST1412B)。そして第3の確率p3と第4の確率p4からスイッチ変数が0である第5の確率p5を計算する(ステップST1412C)。またあるアーティストの複数の歌詞データの中でスイッチ変数の値として1が割り当てられている回数Na1を基に、単語varjのスイッチ変数の値が1である第6の確率p6を計算する(ステップST1412D)。また複数のアーティストの複数の歌詞データの中で、単語varjにスイッチ変数の値として1が割り当てられている回数N1varjを基に、単語varjのスイッチ変数の値が1である第7の確率p7を計算する(ステップST1412E)。そして第6の確率p6と第7の確率p7から前記スイッチ変数が1である第8の確率p8を計算(ステップST1412F)し、第6の確率p6と第7の確率p7から単語varjのスイッチ変数の値が0である確率と1である確率の和が1になるように正規化して、スイッチ変数の値の確率分布とする(ステップST1412G)。
【0074】
(数式に基づくスイッチ変数の更新)
上記のスイッチ変数の更新を理論的に以下に説明する。まずアーティストaの歌詞Sar のj番目の単語のスイッチ変数の値をxarj とすると、xarj=0である確率は次式で表される。
【0075】
【数17】
arj はアーティストaのr番目の歌詞のj番目の単語を除いたときの値を表す。上記式(9)の中で下記式(10)の項は、アーティストaがどれだけトピックから単語を生成しやすいかを表し、その値が大きいほど、aのr番目の歌詞のj 番目の単語のスイッチ変数の値が0である確率が高くなる。
【0076】
【数18】
式(9)の中で下記式(11)の項は、aのr番目の歌詞のj 番目の単語がどれだけトピック番号zarにおいて生起しやすいかを表し、その値が大きいほど、aのr番目の歌詞のj番目の単語のスイッチ変数の値が0である確率が高くなる。たとえば、aのr番目の歌詞のj 番目の単語が「夏」である場合、それ以外の全アーティストのトピック番号zarが割り当てられた全曲の全単語の中で「夏」という単語にどれだけスイッチ変数の値として0が割り当てられているかを見ることになる。
【0077】
【数19】
同様に、xarj=1である確率は次式で表される。
【0078】
【数20】
式(12)の中で下記式(13)の項は、アーティストaがどれだけ背景から単語を生成しやすいかを表し、その値が大きいほど、aのr番目の歌詞のj 番目の単語のスイッチ変数の値が1である確率が高くなる。
【0079】
【数21】
式(12) の中で下記式(14)の項は、aのr番目の歌詞のj番目の単語がどれだけ背景から単語を生成しやすいかを表し、その値が大きいほど、aのr番目の歌詞のj番目の単語のスイッチ変数の値が1である確率が高くなる。
【0080】
【数22】
図10のステップST1413の単語のスイッチ変数の値の更新は式(2)の値が大きくなるように行われるのが好ましい。また、単語ごとのスイッチ変数の値の更新と並行して、アーティストごとのスイッチ変数の値の確率分布も更新する。
【0081】
具体的には、スイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、ある単語に割り当てたスイッチ変数を更新するスイッチ変数の値更新演算を、複数のアーティスト毎の複数の歌詞データに含まれる複数の単語の全てについて実施する(ステップST1412〜ST1416)。なおここで用いる「乱数生成器」は、概念で説明すれば、本実施の形態の場合、例えば2つのスイッチ変数に対応する2つの面を有し、その面の面積が出現確率に比例している2面体からなる仮想のサイコロを振って出た目の面に割り当てたスイッチ変数を更新するスイッチ変数とするものである。
【0082】
図9の出力手段113は、図2のステップST5及び図14(A)及び図14(B)に示すように、トピック番号学習手段109の学習結果及びスイッチ変数の値学習手段115の学習結果から、複数のアーティスト毎の複数の歌詞データ毎のトピック番号を特定し(図14(B))、複数のトピック番号毎の単語の生起確率を生成する(図14(A))。このようにするとアーティスト毎の複数の曲の歌詞のトピックをアーティストの個性を反映したものとして知ることができ、曲を選択する人に、アーティストを基準にした曲の情報を提供することができる。
【0083】
出力手段113が出力する複数の歌詞データ毎のトピック番号は、トピック番号学習手段109においてトピック番号更新学習演算を予め定めた回数[図10では500回:図10のステップST1402]実行して、最後にあるアーティストの複数の歌詞データに割り当てられたトピック番号[図10のステップST1409で最後に更新されたトピック番号]とする。このように最後の割り当てに従うと、複数の歌詞データに最も適したトピック番号を割り当てることができる。
【0084】
また出力手段113が出力するトピック番号毎の単語の確率分布も、トピック番号学習手段109においてトピック番号更新学習演算を予め定めた回数[図10では500回:図10のステップST1402]実行して、最後に記憶されたトピック番号毎の単語の確率分布である。出力手段113における、複数のトピック番号毎の単語の生起確率θkvは、下記式により求めるのが好ましい。
【0085】
【数23】
但し、Nkvはある単語vにトピック番号kが割り当てられた回数、Nkはトピック番号kが割り当てられた全単語数、βはスムージング用パラメータ、Vは単語の種類数である。スムージング用パラメータとは、各トピック番号における各単語の擬似的な生起回数である。単語の種類数とは、図4に示した歌詞データ内の歌詞に含まれるユニークな単語数である。上記演算式を用いて演算を行うと、トピックに1度も割り当てられなかった単語に対しても0より大きい確率が割り当てられ、より人間の直感に近づくという利点が得られる。
【0086】
(第2の実施の形態の効果)
第2の実施の形態によれば、任意のトピック数を決めると、トピック番号学習手段により最終的に更新された複数の歌詞データ毎のトピック番号により、複数の歌詞データ毎のトピック番号が特定される。またスイッチ変数の値学習手段により、最終的に更新されたスイッチ変数の値により、複数のトピック番号毎の単語の生起確率が生成される。複数の歌詞データ毎のトピック番号と複数のトピック番号毎の単語の生起確率が判ると、各トピック番号毎に生起確率が高い複数の単語が判る。そのためトピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がない。また生起確率の高い複数の単語が分かると、それらの単語からトピックを定めるのに確かな情報が得られることになり、各歌詞のトピックの尤もらしい意味を求めることができる。
【0087】
[学習に使用しなかった歌詞のトピック番号推定システム]
学習に使用しなかったあるアーティストの新しい曲sの歌詞データのトピック番号を求める場合には、図15に示すシステムの構成を採用すればよい。図16(A)のステップST201〜211は、図15の実施の形態をコンピュータを用いて実現する場合のソフトウエアのアルゴリズムを示している。図16(B)は、図16(A)のアルゴリズムの考え方を模擬的に示した図である。本実施の形態では、学習に使用しなかったあるアーティストの新しい曲sの歌詞データに含まれる単語の確率分布を作成するステップST202を実現する第1の単語確率分布作成手段17と、複数のアーティストの複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成するステップST207を実現する第2の単語確率分布作成手段19と、第1の単語確率分布作成手段17で得た新しい曲sの歌詞データに含まれる単語の確率分布と第2の単語確率分布作成手段19で得た複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求めるステップST208を実現する類似度演算手段21と、複数の曲の歌詞データに対応する複数の曲の歌詞データの類似度を、トピック番号の重みとして加算してトピック番号の重み分布を作成するステップST211の一手段を実現する重み分布作成手段23とをさらに設ける。そしてトピック番号決定手段25で、決定重みが最大のトピック番号を新しい曲sの歌詞データのトピック番号とする(ステップST211の残手段)。このようにすると、学習に用いていない歌詞のトピックを簡単に決定することができる。
【0088】
(背景の単語の生起確率を作成するシステム)
図17は、学習に使用しなかったアーティストの曲sの歌詞データのトピックを定めるためのさらなる情報として背景の単語の生起確率を作成するシステムの構成を示すブロック図である。図18(A)のステップST301〜309は、図17の実施の形態をコンピュータを用いて実現する場合のソフトウエアのアルゴリズムを示している。図18(B)は、図18(A)のアルゴリズムの考え方を模擬的に示した図である。図17において、図1の実施の形態と同じ部分には、図1に付した符号と同じ符号を付して説明を省略する。
【0089】
本実施の形態では、第3の単語確率分布作成手段27乃至第5の単語確率分布作成手段31と、類似度演算手段33と、生起確率分布作成手段35とを備えている。第3の単語確率分布作成手段27は、背景の単語の生起確率を求めたい学習に使用しなかったアーティストの全ての曲の歌詞データに含まれる単語の確率分布を作成する(ステップST302)。第4の単語確率分布作成手段29は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する(ST306)。第の単語確率分布作成手段31は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する(ST306)。本実施の形態において、アーティスト毎の背景の単語分布は、図11において全アーティストで共通の背景の単語分布を定めていたものを、アーティスト毎に背景の単語分布を定めることで求めることができる。類似度演算手段33は、第3の単語確率分布作成手段27で得た新しい曲sの歌詞データに含まれる単語の確率分布と第4の単語確率分布作成手段29で得たアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求める(ST307)。また背景の単語の生起確率分布作成手段35は、類似度演算手段33で求めたアーティスト毎の類似度を第5の単語確率分布作成手段31で得たアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布にそれぞれ乗算して得た確率分布をアーティスト毎に足し合わせて重みの和が1になるように正規化して、背景の単語の生起確率とする(ST309)。そして背景の単語の生起確率分布作成手段35で求めた生起確率を、あるアーティストの背景語の生起確率分布とする。背景語の確率分布からも、トピックの意味合いを知ることができる。
【0090】
[結果の例]
図19(A)及び(B)は、上記実施の形態で得られるトピック毎の単語の確率分布の例を示しており、図19(C)は全ての曲の背景の単語の確率分布を示している。図19(A)のトピック毎の単語の確率分布からは、生起確率の高い語である「君」、「夢」、「僕」、「今」などから「前向き」というトピック17の意味が定められている。図19(B)のトピック毎の単語の確率分布からは、生起確率の高い語である「あなた」、「私」、「人」、「恋」などから「大人の女性の恋愛」というトピック19の意味が定められている。図20(A)及び(B)は、それぞれアーティスト毎の曲の背景の単語の生起確率分布の例を示している。図20(A)は、あるアーティストAの曲の背景の単語の生起確率分布であり、図20(B)は、あるアーティストBの曲の背景の単語の生起確率分布である。これらを見ると、アーティスト毎の背景の単語からもアーティストの曲のトピックの傾向に関する情報を得ることができる。
【0091】
[方法及びコンピュータプログラム]
本発明を歌詞のトピック推定情報生成方法及びコンピュータプログラムとして表現すると、本発明の構成は以下のように表現することができる。
【0092】
(1)複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データを取得する歌詞データ取得ステップと、
1からK(正の整数)までの所定の数のトピック番号k(1≦k≦K)を生成するトピック番号生成ステップと、
前記複数の歌詞データ中の複数の歌詞を形態素解析により解析して複数の単語を抽出する解析ステップと、
最初に前記複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意に前記トピック番号kを割り当てた後、あるアーティストaのある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakと前記ある歌詞データSarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語vにトピック番号kが割り当てられている回数Nkvとを基に前記ある歌詞データSarのトピック番号がkである確率pを求め、該確率から前記ある歌詞データSarのトピック番号の確率分布を作成し、次に前記トピック番号の確率分布pに対応した出現確率に偏りのある乱数生成器を用いて、前記あるアーティストaの前記ある歌詞データSarに割り当てた前記トピック番号を更新するトピック番号更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データの全てについて前記トピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行するトピック番号学習ステップと、
前記トピック番号学習ステップの学習結果から、前記複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する出力ステップとからなる歌詞のトピック推定情報生成方法。
【0093】
(2)前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語にランダムまたは任意にスイッチ変数の値を割り当てた後、前記あるアーティストaの前記複数の歌詞データ中の前記複数の単語に対して前記割り当てたスイッチ変数の値から前記ある単語varjに割り当てた前記スイッチ変数の値がxである確率を計算してスイッチ変数の値の確率分布λaを作成し、次に前記スイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、前記ある単語に割り当てた前記スイッチ変数の値を更新するスイッチ変数の値更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語の全てについて前記スイッチ変数の値の更新演算を実施するスイッチ変数の値更新学習演算を予め定めた回数実行するスイッチ変数の値学習ステップを更に備えていることを特徴とする(1)に記載の歌詞のトピック推定情報生成方法。
【0094】
(3)前記トピック番号学習ステップにおいて、前記トピック番号の確率分布を作成する際には、前記あるアーティストの前記ある歌詞データに割り当てたトピック番号以外の、全ての前記複数の歌詞データに割り当てたトピック番号が正しいと仮定していることを特徴とする(1)に記載の歌詞のトピック推定情報生成方法。
【0095】
(4)前記スイッチ変数の値学習ステップは、前記スイッチ変数の値更新演算を行う際には、前記あるアーティストの前記ある歌詞データの前記複数の単語中のある単語に割り当てたスイッチ変数x以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定していることを特徴とする(2)に記載の歌詞のトピック推定情報生成方法。
【0096】
(5)前記トピック番号学習ステップは、
前記トピック番号の確率分布を作成する際に、前記あるアーティストaの前記ある歌詞データSar以外の歌詞データでトピック番号kが割り当てられている歌詞データの数Rakを基に、前記ある歌詞データSarのトピック番号がkである第1の確率p1を計算し、
前記ある歌詞データSarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語vにトピック番号kが割り当てられている回数Nkvを基に、前記ある歌詞データSarのトピック番号がkである第2の確率p2を計算し、
前記第1の確率p1と前記第2の確率p2から前記ある歌詞データSarのトピック番号がkである確率pを計算し、
これらの計算を全てのトピック番号に関して実施して前記ある歌詞データSarの前記トピック番号が1〜Kである確率の和が1になるように正規化して前記ある歌詞データSarの前記トピック番号の確率分布とすることを特徴とする(1)に記載の歌詞のトピック推定情報生成方法。
【0097】
(6)前記出力ステップは、前記第2の確率p2を求める際の前記回数Nkvから、各トピック番号毎の単語の確率分布を出力するように構成されている(1)に記載の歌詞のトピック推定情報生成方法。
【0098】
(7)前記出力ステップにおける、前記トピック番号kの単語vの生起確率θkvは、下記式により求められ、
θkv=(Nkv+β)/(Nk+β|V|)
但し、Nkvはある単語vにトピック番号kが割り当てられた回数、Nkはトピック番号kが割り当てられた全単語数、βはスムージング用パラメータ、|V|は単語の種類数である(6)に記載の歌詞のトピック推定情報生成方法。
【0099】
(8)前記スイッチ変数の値学習ステップは、
前記あるアーティストaの全曲の歌詞データ中で前記スイッチ変数の値として0が割り当てられている単語の数Naoを基に、前記単語varj のスイッチ変数の値が0である第3の確率p3を計算し、
前記単語varjを含む歌詞と同一の前記トピック番号zarが割り当てられた全アーティストの全曲の中で前記単語varjに前記スイッチ変数の値として0が割り当てられている回数Nzararjを基に、前記単語varjのスイッチ変数の値が0である第4の確率p4を計算し、
前記第3の確率p3と第4の確率p4から前記スイッチ変数が0である第5の確率p5を計算し、
前記あるアーティストの前記複数の歌詞データの中で前スイッチ変数の値として1が割り当てられている回数Na1を基に、前記単語varjの前記スイッチ変数の値が1である第6の確率p6を計算し、
前記複数のアーティストの前記複数の歌詞データの中で前記単語varjに前記スイッチ変数の値として1が割り当てられている回数N1varjを基に、前記単語varjの前記スイッチ変数の値が1である第7の確率p7を計算し、
前記第6の確率p6と第7の確率p7から前記スイッチ変数が1である第8の確率p8を計算し、
前記第6の確率p6と第7の確率p7から前記単語varjの前記スイッチ変数の値が0である確率と1である確率の和が1になるように正規化しての前記スイッチ変数の値の確率分布とする(2)に記載の歌詞のトピック推定情報生成方法。
【0100】
(9)における、前記複数の歌詞データ毎のトピック番号は、前記トピック番号学習ステップにおいて前記トピック番号更新学習演算を予め定めた回数実行して最後に前記複数の歌詞データに割り当てられたトピック番号である(1)に記載の歌詞のトピック推定情報生成方法。
【0101】
(10)学習に使用しなかったあるアーティストの新しい曲sの歌詞データに含まれる単語の確率分布を作成する第1の単語確率分布作成ステップと、
前記複数のアーティストの前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第2の単語確率分布作成ステップと、
前記第1の単語確率分布作成ステップで得た前記新しい曲sの歌詞データに含まれる単語の確率分布と前記前記第2の単語確率分布作成ステップで得た前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算ステップと、
前記複数の曲の歌詞データに対応する前記複数の曲の歌詞データの類似度を、前記トピック番号の重みとして加算して前記トピック番号の重み分布を作成する重み分布作成ステップと、
前記重みが最大のトピック番号を前記新しい曲sの歌詞データのトピック番号とするトピック番号決定ステップとを更に備えていることを特徴とする(1)または(2)に記載の歌詞のトピック推定情報生成方法。
【0102】
(11)背景の単語の生起確率を求めたい学習に使用しなかったあるアーティストaの全ての曲の歌詞データに含まれる単語の確率分布を作成する第3の単語確率分布作成ステップと、
前記アーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する第4の単語確率分布作成ステップと、
前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する第5の単語確率分布作成ステップと、
前記第3の単語確率分布作成ステップで得た前記ある歌詞データに含まれる単語の確率分布と前記第4の単語確率分布作成ステップで得た前記アーティスト毎の前記全ての曲の歌詞データに含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算ステップと、
前記類似度演算ステップで求めた前記アーティスト毎の前記類似度を前記第5の単語確率分布作成ステップで得た前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布にそれぞれ乗算して得た確率分布を前記アーティスト毎に足し合わせて重みの和が1になるように正規化して、背景の単語の生起確率とする背景の単語の生起確率作成ステップとを更に具備することを特徴とする(10)に記載の歌詞のトピック推定情報生成方法。
【0103】
(12)上記(1)乃至(11)に記載の歌詞のトピック推定情報生成方法におけるステップを、コンピュータを用いて実現するための歌詞のトピック推定情報生成用プログラム。
【0104】
(13)コンピュータ読み取り可能な記憶媒体に記憶された(12)に記載の歌詞のトピック推定情報生成用コンピュータプログラム。
【産業上の利用可能性】
【0105】
本発明によれば、任意のトピック数を決めると、トピック番号学習手段により最終的に更新された複数の歌詞データ毎のトピック番号により、複数の歌詞データ毎のトピック番号が特定される。そして複数の歌詞データ毎のトピック番号が判ると、各トピック番号毎の単語の確率分布が判る。そのためトピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がない。また生起確率の高い複数の単語が分かると、それらの単語からトピックを定めるのに確かな情報が得られることになり、各歌詞のトピックの尤もらしい意味を求めることができる。
【符号の説明】
【0106】
1,101 トピック推定情報生成システム
3,103 歌詞データベース
5,105 歌詞データ取得手段
7,107 トピック番号生成手段
9,109 トピック番号学習手段
11,111 解析手段
13,113 出力手段
115 スイッチ変数の値学習手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22