(57)【特許請求の範囲】
【請求項１】
歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるトピックを推定するのに確かな情報を得る歌詞のトピック推定情報生成システムであって、
複数のアーティストごとに、曲名及び前記歌詞からなる複数の歌詞データを取得する歌詞データ取得手段と、
１からＫ（正の整数）までの所定の数のトピック番号ｋ（１≦ｋ≦Ｋ）を生成するトピック番号生成手段と、
前記複数の歌詞データ中の複数の歌詞を形態素解析エンジンを用いた形態素解析により解析して複数の単語を抽出する解析手段と、
最初に前記複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意に前記トピック番号を割り当てた後、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakと前記ある歌詞データＳarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖにトピック番号ｋが割り当てられている回数Ｎkvとを基に前記ある歌詞データＳarのトピック番号がｋである確率ｐを求め、該確率から前記ある歌詞データＳarのトピック番号の確率分布を作成し、次に前記トピック番号の確率分布ｐに対応した出現確率に偏りのある乱数生成器を用いて、前記あるアーティストａの前記ある歌詞データＳarに割り当てた前記トピック番号を更新するトピック番号更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データの全てについて前記トピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行するトピック番号学習手段と、
前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語にランダムまたは任意にスイッチ変数の値を割り当てた後、前記あるアーティストａの前記複数の歌詞データ中の前記複数の単語に対して前記割り当てたスイッチ変数の値から前記ある単語ｖarjに割り当てた前記スイッチ変数ｘの値がトピック語であるか背景語であるかの確率を計算してスイッチ変数の値の確率分布λaを作成し、次に前記スイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、前記ある単語に割り当てた前記スイッチ変数の値を更新するスイッチ変数の値更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語の全てについて前記スイッチ変数の値の更新演算を実施するスイッチ変数の値更新学習演算を予め定めた回数実行するスイッチ変数の値学習手段と、
前記トピック番号学習手段の学習結果及び前記スイッチ変数の値学習手段の学習結果から、前記複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する出力手段とからなる歌詞のトピック推定情報生成システム。
【請求項２】
前記トピック番号学習手段において、前記トピック番号の確率分布を作成する際には、前記あるアーティストの前記ある歌詞データに割り当てたトピック番号以外の、全ての前記複数の歌詞データに割り当てたトピック番号が正しいと仮定していることを特徴とする請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項３】
前記スイッチ変数の値学習手段において、前記スイッチ変数の値更新演算を行う際には、前記あるアーティストの前記ある歌詞データの前記複数の単語中のある単語に割り当てたスイッチ変数ｘ以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定していることを特徴とする請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項４】
前記トピック番号学習手段は、
前記トピック番号の確率分布を作成する際に、前記あるアーティストａの前記ある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakを基に、前記ある歌詞データＳarのトピック番号がｋである第１の確率ｐ1を計算し、
前記ある歌詞データＳarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖにトピック番号ｋが割り当てられている回数Ｎkvを基に、前記ある歌詞データＳarのトピック番号がｋである第２の確率ｐ2を計算し、
前記第１の確率ｐ1と前記第２の確率ｐ2から前記ある歌詞データＳarのトピック番号がｋである確率ｐを計算し、
これらの計算を全てのトピック番号に関して実施して前記ある歌詞データＳarの前記トピック番号が１〜Ｋである確率の和が１になるように正規化して前記ある歌詞データＳarの前記トピック番号の確率分布とすることを特徴とする請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項５】
前記出力手段は、ある単語ｖにトピック番号ｋが割り当てられている回数Ｎkvから、各トピック番号毎の単語の確率分布を出力するように構成されている請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項６】
前記出力手段における、前記トピック番号ｋの単語ｖの生起確率θkvは、下記式により求められ、
θkv＝（Ｎkv＋β）／（Ｎk＋β｜Ｖ｜）
但し、Ｎkvはある単語ｖにトピック番号ｋが割り当てられた回数、Ｎkはトピック番号ｋが割り当てられた全単語数、βはスムージング用パラメータ、｜Ｖ｜は単語の種類数である請求項５に記載の歌詞のトピック推定情報生成システム。
【請求項７】
前記スイッチ変数の値学習手段は、
前記あるアーティストａの全曲の歌詞データ中で前記スイッチ変数の値として０が割り当てられている単語の数Ｎaoを基に、前記単語ｖarj のスイッチ変数の値が０である第３の確率ｐ3を計算し、
前記単語ｖarjを含む歌詞と同一の前記トピック番号ｚarが割り当てられた全アーティストの全曲の中で前記単語ｖarjに前記スイッチ変数の値として０が割り当てられている回数Ｎｚarｖarjを基に、前記単語ｖarjのスイッチ変数の値が０である第４の確率ｐ4を計算し、
前記第３の確率ｐ3と第４の確率ｐ4から前記スイッチ変数が０である第５の確率ｐ5を計算し、
前記あるアーティストの前記複数の歌詞データの中で前スイッチ変数の値として１が割り当てられている回数Ｎa1を基に、前記単語ｖarjの前記スイッチ変数の値が１である第６の確率ｐ6を計算し、
前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖarjに前記スイッチ変数の値として１が割り当てられている回数Ｎ1varjを基に、前記単語ｖarjの前記スイッチ変数の値が１である第７の確率ｐ7を計算し、
前記第６の確率ｐ6と第７の確率ｐ7から前記スイッチ変数が１である第８の確率ｐ8を計算し、
前記第６の確率ｐ6と第７の確率ｐ7から前記単語ｖarjの前記スイッチ変数の値が０である確率と１である確率の和が１になるように正規化しての前記スイッチ変数の値の確率分布とする請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項８】
前記出力手段における、前記複数の歌詞データ毎のトピック番号は、前記トピック番号学習手段において前記トピック番号更新学習演算を予め定めた回数実行して最後に前記複数の歌詞データに割り当てられたトピック番号である請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項９】
学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データに含まれる単語の確率分布を作成する第１の単語確率分布作成手段と、
前記複数のアーティストの前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第２の単語確率分布作成手段と、
前記第１の単語確率分布作成手段で得た前記新しい曲ｓの歌詞データに含まれる単語の確率分布と前記前記第２の単語確率分布作成手段で得た前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算手段と、
前記複数の曲の歌詞データに対応する前記複数の曲の歌詞データの類似度を、前記トピック番号の重みとして加算して前記トピック番号の重み分布を作成する重み分布作成手段と、
前記重みが最大のトピック番号を前記新しい曲ｓの歌詞データのトピック番号とするトピック番号決定手段とを更に備えていることを特徴とする請求項１に記載の歌詞のトピック推定情報生成システム。
【請求項１０】
背景の単語の生起確率を求めたい前記学習に使用しなかったあるアーティストの全ての曲の歌詞データに含まれる単語の確率分布を作成する第３の単語確率分布作成手段と、
前記アーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する第４の単語確率分布作成手段と、
前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する第５の単語確率分布作成手段と、
前記第３の単語確率分布作成手段で得た前記ある歌詞データに含まれる単語の確率分布と前記第４の単語確率分布作成手段で得た前記アーティスト毎の前記全ての曲の歌詞データに含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算手段と、
前記類似度演算手段で求めた前記アーティスト毎の前記類似度を前記第５の単語確率分布作成手段で得た前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布にそれぞれ前記類似度を乗算して得た確率分布を前記アーティスト毎に足し合わせて重みの和が１になるように正規化して、背景の単語の生起確率とする背景の単語の生起確率作成手段とを更に具備することを特徴とする請求項９に記載の歌詞のトピック推定情報生成システム。
【請求項１１】
歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるトピックを推定するのに確かな情報を得る歌詞のトピック推定情報生成システムであって、複数のアーティストごとに、曲名及び前記歌詞からなる複数の歌詞データを取得する歌詞データ取得手段と、
１からＫ（正の整数）までの所定の数のトピック番号ｋ（１≦ｋ≦Ｋ）を生成するトピック番号生成手段と、
前記複数の歌詞データ中の複数の歌詞を形態素解析エンジンを用いた形態素解析により解析して複数の単語を抽出する解析手段と、
形態素解析により解析して複数の単語を抽出する解析手段と、
最初に前記複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意に前記トピック番号を割り当てた後、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakと前記ある歌詞データＳarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖにトピック番号ｋが割り当てられている回数Ｎkvとを基に前記ある歌詞データＳarのトピック番号がｋである確率ｐを求め、該確率から前記ある歌詞データＳarのトピック番号の確率分布を作成し、次に前記トピック番号の確率分布ｐに対応した出現確率に偏りのある乱数生成器を用いて、前記あるアーティストａの前記ある歌詞データＳarに割り当てた前記トピック番号を更新するトピック番号更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データの全てについて前記トピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行するトピック番号学習手段と、
前記トピック番号学習手段の学習結果から、前記複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する出力手段とからなる歌詞のトピック推定情報生成システム。
【請求項１２】
前記トピック番号学習手段において、前記トピック番号の確率分布を作成する際には、前記あるアーティストの前記ある歌詞データに割り当てたトピック番号以外の、全ての前記複数の歌詞データに割り当てたトピック番号が正しいと仮定していることを特徴とする請求項１１に記載の歌詞のトピック推定情報生成システム。
【請求項１３】
前記トピック番号学習手段は、
前記トピック番号の確率分布を作成する際に、前記あるアーティストａの前記ある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakを基に、前記ある歌詞データＳarのトピック番号がｋである第１の確率ｐ1を計算し、
前記ある歌詞データＳarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖにトピック番号ｋが割り当てられている回数Ｎkvを基に、前記ある歌詞データＳarのトピック番号がｋである第２の確率ｐ2を計算し、
前記第１の確率ｐ1と前記第２の確率ｐ2から前記ある歌詞データＳarのトピック番号がｋである確率ｐを計算し、
これらの計算を全てのトピック番号に関して実施して前記ある歌詞データＳarの前記トピック番号が１〜Ｋである確率の和が１になるように正規化して前記ある歌詞データＳarの前記トピック番号の確率分布とすることを特徴とする請求項１１に記載の歌詞のトピック推定情報生成システム。
【請求項１４】
前記出力手段は、ある単語ｖにトピック番号ｋが割り当てられている回数Ｎkvから、各トピック番号毎の単語の確率分布を出力するように構成されている請求項１３に記載の歌詞のトピック推定情報生成システム。
【請求項１５】
前記出力手段における、前記トピック番号ｋの単語ｖの生起確率θkvは、下記式により求められ、
θkv＝（Ｎkv＋β）／（Ｎk＋β｜Ｖ｜）
但し、Ｎkvはある単語ｖにトピック番号ｋが割り当てられた回数、Ｎkはトピック番号ｋが割り当てられた全単語数、βはスムージング用パラメータ、｜Ｖ｜は単語の種類数である請求項１４に記載の歌詞のトピック推定情報生成システム。
【請求項１６】
学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データに含まれる単語の確率分布を作成する第１の単語確率分布作成手段と、
前記複数のアーティストの前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第２の単語確率分布作成手段と、
前記第１の単語確率分布作成手段で得た前記新しい曲ｓの歌詞データに含まれる単語の確率分布と前記前記第２の単語確率分布作成手段で得た前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算手段と、
前記複数の曲の歌詞データに対応する前記複数の曲の歌詞データの類似度を、前記トピック番号の重みとして加算して前記トピック番号の重み分布を作成する重み分布作成手段と、
前記重みが最大のトピック番号を前記新しい曲ｓの歌詞データのトピック番号とするトピック番号決定手段とを更に備えていることを特徴とする請求項１１に記載の歌詞のトピック推定情報生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歌詞のトピック推定情報生成システムに関するものである。
【背景技術】
【０００２】
歌詞のトピックは、歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるものである。この歌詞のトピックが正確に推定できれば、あるアーティストと歌詞のトピックの傾向が似たアーテッストを探して推薦したり、あるアーティストの曲の歌詞の傾向を知ることの自動化が可能になる。
【０００３】
従来、歌詞のトピックを推定する技術としては、ＬＤＡ(Latent Dirichlet Allocation)法（非特許文献１）とクラスタリング法（非特許文献２）と呼ばれる技術がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】D.M. Blei, A. Y. Ng, and M. I. Jordan, "Latent Dirichlet Allocation,"The Journal of Machine Learning Research, 2003, pp. 993-1022
【非特許文献２】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
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図２１（Ａ）に示すように、ＬＤＡ法では歌詞の単語毎にトピックが割り当てられるが、歌詞全体にトピックが割り当てられることがない。また図２１（Ｂ）に示すように、ＬＤＡ法ではアーティスト毎のトピック分布がモデル化されていない。さらに図２１（Ｃ）に示すように、ＬＤＡ法では歌詞中のいわゆる背景語を考慮していないので、各トピックの中でトピックとは無関係な単語の生起確率が高くなる可能性がある。
【０００６】
またクラスタリング法では、図２２（Ａ）に示すように、歌詞の中の単語の発生回数や出現の有無に基づいてトピックを定めるが、数学的妥当性が自明でないため、トピックの決定までに試行錯誤が必要になる。また図２２（Ｂ）に示すように、単語をクラスタリングするために様々な数学的手法を試行錯誤で用いる必要がある。さらに図２２（Ｃ）に示すように、クラスタリング法では歌詞中のいわゆる背景語を考慮していないので、各トピックと関連の低い単語も含めた類似度が計算されることになり、トピックとは無関係な単語の影響で歌詞間の類似度が高くなる可能性がある。
【０００７】
このような従来技術では、歌詞の意味解析を行う場合に、単語ごとにひとつのトピックを割り当てるのが一般的であり、歌詞のトピックの解釈が困難であった。また歌詞の数が少ないアーティストも歌詞の数が十分に存在するアーティストと同様の方法で推定器が構築され、意味解析の性能を低下させてしまっていた。
【０００８】
本発明の目的は、数学的妥当性を持ってアーティスト毎のトピック分布を求めることができ、従来よりも歌詞のトピックの解釈に有効な情報を提供できる歌詞のトピック推定情報生成システムを提供することにある。
【０００９】
本発明のさらなる目的は、トピック中において、歌詞中の背景語を考慮することにより、各トピックの中でトピックとは無関係な単語の生起確率が高くなるのを抑制できる歌詞のトピック推定情報生成システムを提供することにある。
【００１０】
本発明を方法発明またはコンピュータプログラムの発明として把握した場合の各発明の目的は、数学的妥当性を持ってアーティスト毎のトピック分布を求めることができ、従来よりも歌詞のトピックの解釈に有効な情報を提供できる歌詞のトピック推定情報生成方法及びプログラムを提供することにある。
【００１１】
また本発明を方法発明またはコンピュータプログラムの発明として把握した場合の各発明の目的は、トピック中において、歌詞中の背景語を考慮することにより、各トピックの中でトピックとは無関係な単語の生起確率が高くなるのを抑制できる歌詞のトピック推定情報生成方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、歌詞の内容から定まる歌詞の主題、本題またはテーマ等となるトピックを推定するのに確かな情報を得る歌詞のトピック推定情報生成システムであり、歌詞データ取得手段と、トピック番号生成手段と、解析手段と、トピック番号学習手段と出力手段とを備えている。歌詞データ取得手段は、複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データを取得する。トピック番号生成手段は、１からＫ（正の整数）までの所定の数のトピック番号ｋを生成する。解析手段は、複数の歌詞データ中の複数の歌詞を形態素解析エンジンを用いた形態素解析により解析して複数の単語を抽出する。
【００１３】
トピック番号学習手段は、複数のアーティスト毎の複数の歌詞データの全てについてトピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行する。トピック番号更新演算では、最初に複数のアーティスト毎の複数の歌詞データにランダムまたは任意にトピック番号を割り当てた後、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakと、ある歌詞データＳarを除く複数のアーティストの複数の歌詞データの中で各単語ｖにトピック番号ｋが割り当てられている回数Ｎkvを基に、ある歌詞データＳarのトピック番号がｋである確率を求め、該確率からある歌詞データＳarのトピック番号の確率分布を作成する。次にトピック番号の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、あるアーティストａのある歌詞データＳarに割り当てたトピック番号を更新するトピック番号更新演算を行う。そして出力手段は、トピック番号学習手段の学習結果から、複数のアーティスト毎に複数の歌詞データ毎のトピック番号とトピック番号毎の単語の確率分布を出力する。
【００１４】
なお出力手段における、複数の歌詞データ毎のトピック番号は、トピック番号学習手段においてトピック番号更新学習演算を予め定めた回数実行して、最後に複数の歌詞データに割り当てられたトピック番号とする。このように最後の割り当て結果を出力すると、複数の歌詞データに適したトピック番号を割り当てることができる。
【００１５】
なお歌詞データ取得手段では、複数のアーティスト毎に複数の歌詞データを取得し、出力手段では、複数のアーティスト毎の複数の歌詞データのトピック番号と該トピック番号毎の単語の確率分布を特定する。このようにするとアーティスト毎の複数の曲の歌詞のトピックをアーティストの個性を反映したものとして知ることができ、曲を選択する人に、アーティストを基準にした曲の情報を提供することができる。
【００１６】
また形態素解析は、文章中から名詞あるいは特定の品詞群を単語として抽出する形態素解析エンジンを用いて実施される。形態素解析エンジンは、現在、種々提案されており、形態素解析エンジを用いれば、曲が膨大な数になっても、単語の抽出を簡単に行える。
【００１７】
本発明によれば、任意のトピック数を決めると、トピック番号学習手段により最終的に更新されたアーティスト毎の複数の歌詞データ毎のトピック番号により、複数の歌詞データ毎のトピック番号が特定される。そして複数の歌詞データ毎のトピック番号が判ると、各トピック番号毎の単語の確率分布が判る。そのためトピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がない。また生起確率の高い複数の単語が分かると、それらの単語からトピックを把握するのに確かな情報が得られることになり、各歌詞のトピックの尤もらしい意味を求めることができる。
【００１８】
トピック番号学習手段においては、トピック番号の確率分布を作成する際には、あるアーティストのある歌詞データに割り当てたトピック番号以外の、全ての歌詞データに割り当てたトピック番号が正しいと仮定するのが好ましい。具体的には、トピック番号学習手段は、まずトピック番号の確率分布を作成する際に、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakを基に、ある歌詞データＳarのトピック番号がｋである第１の確率ｐ1を計算する。次に、ある歌詞データＳarを除く複数のアーティストの複数の歌詞データの中で単語ｖにトピック番号が割り当てられている回数Ｎkvを基に、ある歌詞データＳarのトピック番号がｋである第２の確率ｐ2を計算する。さらに第１の確率ｐ1と第２の確率ｐ2からある歌詞データＳarのトピック番号がｋである確率ｐを計算する。そして、これらの計算を全てのトピック番号に関して実施して、ある歌詞データＳarのトピック番号ｋが１〜Ｋである確率の和が１になるように正規化し、ある歌詞データＳarのトピック番号の確率分布とする。このように計算をすると、トピック番号の確率分布の精度が高くなる。
【００１９】
また出力手段は、ある単語ｖにトピック番号ｋが割り当てられている回数Ｎkvから、各トピック番号毎の単語の確率分布を出力するように構成されているのが好ましい。
【００２０】
出力手段における、トピック番号ｋの単語ｖの生起確率θkvは、下記式により求められ、
θkv＝（Ｎkv＋β）／（Ｎk＋β｜Ｖ｜）
但し、Ｎkvはある単語ｖにトピック番号ｋが割り当てられた回数、Ｎkはトピック番号ｋが割り当てられた全単語数、βはスムージング用パラメータ、｜Ｖ｜は単語の種類数である。
【００２１】
本発明では、スイッチ変数の値学習手段を更に備えていてもよい。スイッチ変数の値学習手段は、複数のアーティスト毎の複数の歌詞データに含まれる複数の単語の全てについてスイッチ変数の値の更新演算を実施するスイッチ変数の値更新学習演算を、予め定めた回数実行する。ここでスイッチ変数の値更新演算では、複数のアーティスト毎の複数の歌詞データに含まれる複数の単語にランダムまたは任意にスイッチ変数の値を割り当てる。その後、あるアーティストａの複数の歌詞データ中の複数の単語に対して割り当てたスイッチ変数の値から、ある単語ｖarjに割り当てたスイッチ変数ｘの値がトピック語である（ｘ＝０）か背景語である（ｘ＝１）かの確率を計算してスイッチ変数の値の確率分布λaを作成する。次にスイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、ある単語に割り当てたスイッチ変数の値を更新する。
【００２２】
スイッチ変数の値学習手段による学習は、トピック番号学習手段による学習の前でも後でも行うことができる。スイッチ変数の値学習手段を設けると、ある単語がトピック語であるか背景語であるかを考慮するため、設けない場合よりも、トピック番号の推定精度が高くなる。これはスイッチ変数の値を考慮して複数の歌詞データ毎のトピック番号と複数のトピック番号毎の単語の生起確率が判ると、トピック番号毎の単語の生起確率において、トピックと関係の弱い単語（背景語）の生起確率を低くすることができ、歌詞のトピック番号を推定する際に背景語の影響力を小さくすることができるからである。
【００２３】
スイッチ変数は、ある単語が想定されるトピックの主題に関連するものか背景に関連するものを規定する変数である。したがってこの変数を演算により特定すれば、トピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がなくなる。
【００２４】
スイッチ変数の値学習手段において、スイッチ変数の値更新演算を行う際には、あるアーティストのある歌詞データの複数の単語中のある単語に割り当てたスイッチ変数ｘ以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定するのが好ましい。具体的には、スイッチ変数の値学習手段では、次の計算を行う。まず、あるアーティストａの全曲の歌詞データ中で前記スイッチ変数の値として０が割り当てられている単語の数Ｎaoを基に、単語ｖarj のスイッチ変数の値が０である第３の確率ｐ3を計算する。次に単語ｖarjを含む歌詞と同一のトピック番号ｚarが割り当てられた全アーティストの全曲の中で単語ｖarjにスイッチ変数の値として０が割り当てられている回数Ｎｚarｖarjを基に、単語ｖarjのスイッチ変数の値が０である第４の確率ｐ4を計算する。そして第３の確率ｐ3と第４の確率ｐ4からスイッチ変数が０である第５の確率ｐ5を計算する。またあるアーティストの複数の歌詞データの中でスイッチ変数の値として１が割り当てられている回数Ｎa1を基に、単語ｖarjのスイッチ変数の値が１である第６の確率ｐ6を計算する。また複数のアーティストの複数の歌詞データの中で、単語ｖarjにスイッチ変数の値として１が割り当てられている回数Ｎ1varjを基に、単語ｖarjのスイッチ変数の値が１である第７の確率ｐ7を計算する。そして第６の確率ｐ6と第７の確率ｐ7から前記スイッチ変数が１である第８の確率ｐ8を計算し、第５の確率ｐ5および第８の確率ｐ8から単語ｖarjのスイッチ変数の値が０である確率と１である確率の和が１になるように正規化して、スイッチ変数の値の確率分布とする。このようにしてスイッチ変数の値の確率分布を求めると、アーティストaの全歌詞の中でスイッチ変数の値が０または１である割合および、単語ｖarjのスイッチ変数の値が全アーティストの全歌詞の中で０または１である割合の双方を考慮した結果としての確率分布を求めることができる。
【００２５】
また学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データのトピック番号を求める場合には、次の構成を採用すればよい。すなわち学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データに含まれる単語の確率分布を作成する第１の単語確率分布作成手段と、複数のアーティストの複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第２の単語確率分布作成手段と、第１の単語確率分布作成手段で得た新しい曲ｓの歌詞データに含まれる単語の確率分布と第２の単語確率分布作成手段で得た複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求める類似度演算手段と、複数の曲の歌詞データに対応する複数の曲の歌詞データの類似度を、トピック番号の重みとして加算してトピック番号の重み分布を作成する重み分布作成手段とをさらに設ける。そして重みが最大のトピック番号を新しい曲ｓの歌詞データのトピック番号とする。
【００２６】
また学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データのトピックを定めるためのさらなる情報を得るためには、第３の単語確率分布作成手段乃至第５の単語確率分布作成手段と、類似度演算手段と、生起確率作成手段とを設けた下記の構成を採用することができる。第３の単語確率分布作成手段は、背景の単語の生起確率を求めたい学習に使用しなかったアーティストの全ての曲の歌詞データに含まれる単語の確率分布を作成する。第４の単語確率分布作成手段は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する。第５の単語確率分布作成手段は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する。類似度演算手段は、第３の単語確率分布作成手段で得た新しい曲ｓの歌詞データに含まれる単語の確率分布と第４の単語確率分布作成手段で得たアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求める。また背景の単語の生起確率作成手段は、類似度演算手段で求めたアーティスト毎の類似度を第５の単語確率分布作成手段で得たアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布に基づいて背景の単語の生起確率を求める。具体的には、アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布に類似度をそれぞれ乗算して得た確率分布をアーティスト毎に足し合わせて重みの和が１になるように正規化して、背景の単語の生起確率とする。そして生起確率作成手段で求めた生起確率を、あるアーティストの背景語の確率分布とする。背景語の確率分布からも、トピックの意味合いを知ることができる。
【００２７】
本発明を歌詞のトピック推定情報生成方法として表現すると以下のように表現することができる。歌詞データ取得ステップでは、複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データを取得する。トピック番号生成ステップでは、１からＫ（正の整数）までの所定の数のトピック番号ｋ（１≦ｋ≦Ｋ）を生成する。解析ステップでは、複数の歌詞データ中の複数の歌詞を形態素解析により解析して複数の単語を抽出する。トピック番号学習ステップでは、最初に複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意にトピック番号を割り当てた後、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakとある歌詞データＳarを除く複数のアーティストの複数の歌詞データの中で単語ｖにトピック番号ｋが割り当てられている回数Ｎkvとを基にある歌詞データＳarのトピック番号がｋである確率ｐを求め、該確率からある歌詞データＳarのトピック番号の確率分布を作成し、次にトピック番号の確率分布ｐに対応した出現確率に偏りのある乱数生成器を用いて、あるアーティストａのある歌詞データＳarに割り当てたトピック番号を更新するトピック番号更新演算を行い、複数のアーティスト毎の複数の歌詞データの全てについてトピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行する。そして出力ステップでは、トピック番号学習ステップの学習結果から、複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する。
【００２８】
本発明は、本発明のトピック推定情報生成方法の各ステップをコンピュータを用いて実施する場合のトピック推定情報生成用コンピュータプログラムとしても特定することができる。なおこのコンピュータプログラムは、コンピュータ読み取り可能な記媒体に記憶されているのが好ましい。
【図面の簡単な説明】
【００２９】
【図１】本発明の歌詞のトピック推定情報生成システムの第１の実施の形態の構成を示すブロック図である。
【図２】本実施の形態をコンピュータを用いて実現する場合に用いるコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
【図３】歌詞の生成過程をモデル化したものを説明するために用いる図である。
【図４】アーティスト毎の曲を集める態様を示す図である。
【図５】形態素解析の一例を示す図である。
【図６】（Ａ）はトピック番号の付与を自動的に行うアルゴリズムのフローチャートであり、（Ｂ）は初期のトピック番号の付与の一例を示す図である。
【図７】トピック番号学習手段をソフトウエアで実現する場合のアルゴリズムの一例を示す図である。
【図８】図７のステップＳＴ４０８の詳細を示すフローチャートである。
【図９】本発明の歌詞のトピック推定情報生成システムの第２の実施の形態の構成を示すブロック図である。
【図１０】第２の実施の形態をコンピュータを用いて実現する場合に用いるコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
【図１１】歌詞の生成過程をモデル化したものを説明するために用いる図である。
【図１２】（Ａ）は複数のアーティスト毎の複数の歌詞データに含まれる複数の単語にランダムまたは任意にスイッチ変数の値を割り当てるアルゴリズムを示すフローチャートであり、（Ｂ）は初期のスイッチ変数の例を示す図である。
【図１３】図１０のステップＳＴ１４１２における「スイッチ変数の値の確率分布生成」ステップの詳細を示すフローチャートである。
【図１４】（Ａ）は複数のトピック番号毎の単語の生起確率の例を示す図であり、（Ｂ）は複数のアーティスト毎の複数の歌詞データ毎のトピック番号を特定した例を示す図である。
【図１５】学習に使用しなかったあるアーティストの新しい曲の歌詞データのトピック番号を求めるシステムの構成を示すブロック図である。
【図１６】（Ａ）は図１５のシステムをソフトウエアを用いて実現するためのアルゴリズムを示すフローチャートであり、（Ｂ）は図１６（Ａ）のアルゴリズムの考え方を模擬的に示した図である。
【図１７】アーティストの曲の歌詞データのトピックを定めるためのさらなる情報として背景の単語の生起確率を作成するシステムの構成を示すブロック図である。
【図１８】（Ａ）は図１７のシステムをソフトウエアを用いて実現するためのアルゴリズムを示すフローチャートであり、（Ｂ）は図１８（Ａ）のアルゴリズムの考え方を模擬的に示した図である。
【図１９】（Ａ）及び（Ｂ）は、実施の形態で得られるトピック毎の単語の確率分布の例を示す図であり、（Ｃ）は、背景後の単語の確率分布の例を示す図である。
【図２０】（Ａ）及び（Ｂ）は、それぞれアーティスト毎の曲の背景の単語の生起確率分布の例を示す図である。
【図２１】（Ａ）乃至（Ｃ）は、歌詞のトピックを推定する技術として、ＬＤＡ法を用いた場合における問題点を説明するために用いる図である。
【図２２】（Ａ）乃至（Ｃ）は、歌詞のトピックを推定する技術として、クラスタリング法を用いた場合における問題点を説明するために用いる図である。
【発明を実施するための形態】
【００３０】
以下図面を参照して本発明の実施の形態を詳細に説明する。
【００３１】
［第１の実施の形態］
図１は、本発明の歌詞のトピック推定情報生成システムの第１の実施の形態の構成を示すブロック図である。本実施の形態の各ブロックは、コンピュータにインストールされたコンピュータプログラムによりコンピュータ内に実現されるか、複数のプロセッサと複数のメモリによって構成される。図２は、本実施の形態の基本システムをコンピュータを用いて実現する場合に用いる歌詞のトピック推定情報生成方法及びコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
【００３２】
図１に示すように、本実施の形態の基本となる歌詞のトピック推定情報生成システム１は、歌詞データベース３、歌詞データ取得手段５、トピック番号生成手段７、トピック番号学習手段９、解析手段１１及び出力手段１３を備えている。
【００３３】
本発明では、図３に示す歌詞の生成過程をモデル化した歌詞の生成過程モデルをベースとして、図１の各構成要素を用いることとした。そこでまず図３に示す歌詞の生成過程モデルについて説明する。歌詞を作成する場合には、ステップＳ１でアーティスト名と曲名を決める。ここでは例えば、アーティスト名「関谷 洋」、曲名「戻らない夏」とする。次に曲のトピック番号を生成する（ステップＳ２）。ここでトピックとは、歌詞の内容から定まる歌詞の主題、本題またはテーマとなるもので、例えば「夏」、「女性の恋歌」、「旅」等である。このようなトピックをグループ分けする場合に、トピックに付けられる番号が、「トピック番号」である。本実施の形態において、「トピック番号」は、あくまでも番号であって、意味内容は含まない。大ざっぱに、アーティストの曲の歌詞のトピックを２０種類に分けるとすれば（複数の歌詞をその内容から２０のグループに分けるとすれば）、トピック番号は１〜２０の番号である。あるアーティストの複数の曲の歌詞をトピックの種類に分けて各トピックに番号を付け、トピック番号の発生確率を求めたものがトピック番号の確率分布である。次に歌詞に含まれるｊ番目の単語を決める場合には、トピックの単語分布から単語を順次生成する（ステップＳ４〜Ｓ５）。ｊ番目の単語が決められると、ｊ＋１番目の単語が決められ、すべの単語が決まると作詞は終了する。
【００３４】
以下の説明では、本実施の形態をコンピュータ等のハードウエアで実現する場合に用いる理論を数式を用いて逐次説明する。このモデルを数式で示すと次のようになる。入力として与えられたトピックの数をＫ、歌詞データ集合内のアーティスト集合をＡ、名詞あるいは特定の品詞群の集合をＶとする。トピックｋ（1≦ｋ≦Ｋ)は単語の確率分布φk＝(φk1・，φk2，・・・,φkV ) を持ち、単語ｖ∈Ｖの生起確率φkv はφkv≧０かつ
【００３５】
【数１】
0006763530.tif 000002
を満たす。
【００３６】
そしてアーティストａ∈Ａはトピック番号の確率分布θａ＝(θａ1，θａ2，．．．，θａK) を持ち、トピックk(1≦ｋ≦Ｋ) の生起確率θａk はθａk≧０かつ
【００３７】
【数２】
0006763530.tif 000003
を満たす。
【００３８】
アーティストａ∈Ａはスイッチ変数の値を選ぶための確率分布λa ＝(λa0; λa1) を持つ。λa0 はスイッチ変数の値が０である確率であり、単語がトピックから選択されることを表す。λa1はスイッチ変数の値が１である確率であり、単語が背景から選択されることを表す。λa0≧０ かつλa1≧０かつλa0 +λa1＝１を満たす。背景は単語の確率分布ψ＝（ψ1，ψ2，・・・ψ|V|）を持ち、単語ｖ∈Ｖの生起確率ψvはψv≧０かつ
【００３９】
【数３】
0006763530.tif 000004
を満たす。
【００４０】
本発明のシステムでは、図３のモデルを基礎として、歌詞のトピックを決定または推定するのに役立つ情報を自動生成する。歌詞データ取得手段５は、図２のステップＳＴ１及び図４に示すように、歌詞データベース３から複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データ（歌詞データ集合）を取得する。図４の例では、二人のアーティスト（関谷 洋と吉井 弘美）の曲をそれぞれ取得している。歌詞データベース３としては、例えば、MySQLを利用することができる。
【００４１】
これをコンピュータを用いて実現するために、アーティストａの歌詞データの総数をＲa、ｒ（１≦ｒ≦Ｒa）番目の歌詞をＳarとすると、アーティストａの歌詞集合Ｄaは、
【００４２】
【数４】
0006763530.tif 000005
と表される。さらに、全アーティストの歌詞集合Ｄ はＤ＝｛Ｄa｝a∈Aと表される。
【００４３】
トピック番号生成手段７は、図２のステップＳＴ２に示すように、１からＫ（正の整数）までの所定の数のトピック番号ｋを生成する。本実施の形態では、トピック番号生成手段７は、１〜２０のトピック番号を生成している。
【００４４】
そして解析手段１１は、図２のステップＳＴ３及び図５に示すように、複数の歌詞データ中の複数の歌詞を形態素解析により解析して複数の単語を抽出する。形態素解析は、文章中から名詞あるいは特定の品詞群を単語として抽出する形態素解析エンジンを用いて実施される。形態素解析エンジンは、現在、種々提案されており、形態素解析エンジンを用いれば、曲が膨大な数になっても、単語の抽出を簡単に行える。本実施の形態では、図５に示すようにオープンソースの形態素解析エンジンＭｅＣａｂ（ HYPERLINK "http://taku910.github.io/mecab/" http://taku910.github.io/mecab/）を使用している。なお数学的には、歌詞Ｓar に含まれる名詞あるいは特定の品詞群の数をＶar とする。
【００４５】
トピック番号学習手段９は、図２のステップＳＴ４及び図６（Ａ）のステップＳＴ４１〜ＳＴ４７に示すように、複数のアーティストｉ毎の複数の歌詞データにランダムまたは任意にトピック番号を割り当てる。本実施の形態では、図６（Ｂ）に示すように、最初は各トピック番号が付与される複数の歌詞データの生起確率が０．０５＝（１／Ｋ）になるようにしている。
【００４６】
図７はトピック番号学習手段９をコンピュータを用いて実現する場合のソフトウエアのアルゴリズムの一例を示している。図７のアルゴリズムでは、複数のアーティストｉ毎の複数の歌詞データの全てについてトピック番号更新演算（図７のＳＴ４０４〜ＳＴ４１１）を実施するトピック番号更新学習演算（ＳＴ４０３〜ＳＴ４１１）を、予め定めた回数（ＳＴ４０２）実行する。本実施の形態では、あるアーティストａのある曲即ち歌詞データＳarに割り当てたトピック番号ｋ（ｋ＝１からＫまでのいずれかの整数）以外の、全ての歌詞データに割り当てたトピック番号が正しいと仮定して、あるアーティストａのある歌詞データＳarに割り当てたトピック番号がｋである確率を計算してトピック番号の確率分布を作成する（ＳＴ４０８）。
【００４７】
図８は、ステップＳＴ４０８の詳細を示すフローチャートである。まずトピック番号ｋの確率分布を作成する際に、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakを基に、ある歌詞データＳarのトピック番号がｋである第１の確率ｐ1を計算する（ステップＳＴ４０８Ｄ）。次に、ある歌詞データＳarを除く複数のアーティストの複数の歌詞データの中で単語ｖにトピック番号ｋが割り当てられている回数Ｎkvを基に、ある歌詞データＳarのトピック番号がｋである第２の確率ｐ2を計算する（ＳＴ４０８Ｅ〜ＳＴ４０８Ｈ）。ステップＳＴ４０８Ｆでは、ある単語ｖが単語集合Ｖの中に在るか否かを判定し、ステップＳＴ４０８Ｇでは、その単語がある歌詞データＳarのなかに存在するかを判定する。ステップＳＴ４０８Ｇで「Ｎ」であればステップＳＴ４０８Ｉで、次の単語に変わる。そしてステップＳＴ４０８Ｆで「Ｎ」であれば、単語が無くなったので、ステップＳＴ４０８Ｊへと進む。ステップＳＴ４０８Ｊでは、第１の確率ｐ1と第２の確率ｐ2からある歌詞データＳarのトピック番号がｋである確率ｐを計算する。そして、これらの計算を全てのトピック番号（１〜Ｋ）に関して実施して、ある歌詞データＳarのトピック番号が１〜Ｋである確率の和が１になるように正規化し、ある歌詞データＳarのトピック番号の確率分布とする（ＳＴ４０８Ｃ）。このように計算をすると、トピック番号の確率分布の精度が高くなる。
【００４８】
次に図７のステップＳＴ４０９において、ある曲即ちある歌詞データＳarのトピック番号を更新する。このトピック番号の更新では、トピック番号の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、あるアーティストのある歌詞データに割り当てたトピック番号を更新する（ＳＴ４０９）。トピック番号更新演算（ＳＴ４０３，ＳＴ４０９）を、複数のアーティスト毎の複数の歌詞データの全てについて実施する（ＳＴ４０４，ＳＴ４１１）。そしてトピック番号更新演算を、複数のアーティスト毎の複数の歌詞データの全てについて実施するトピック番号更新学習演算（ＳＴ４０３〜ＳＴ４１１）を予め定めた回数［図７の例では５００回］実行する。なおトピック番号の確率分布は、イメージとしては、図６（Ｂ）に示すようなものである。またここで用いる「乱数生成器」は、概念で説明すれば、本実施の形態の場合、例えばトピック番号に対応する２０の面を有し、その面の面積が出現確率に比例している多面体からなる仮想のサイコロを振って出た面に割り当てられている数（１〜２０の数）を更新後のトピック番号とするものである。
【００４９】
図１の出力手段１３は、図２のステップＳＴ５に示すように、トピック番号学習手段９の学習結果から、複数のアーティストｉ毎に複数の歌詞データ毎のトピック番号とトピック番号毎の単語の確率分布を出力する。なお出力手段１３における、複数の歌詞データ毎のトピック番号は、トピック番号学習手段９においてトピック番号更新学習演算を予め定めた回数（本実施の形態では５００回）実行して、最後に複数の歌詞データに割り当てられたトピック番号とする。このように最後の割り当て結果を出力すると、複数の歌詞データに適したトピック番号を割り当てることができる。
【００５０】
具体的には、図７のステップＳＴ４０９における「トピック番号更新」で最後に更新した値を歌詞データに割り当てられたトピック番号とする。また出力手段１３は、ある単語ｖにトピック番号ｋが割り当てられている回数Ｎkvから、各トピック番号毎の単語の確率分布を出力する。具体的にはピック番号ｋの単語ｖの生起確率θkvは、下記式により求めて、この生起確率から各トピック番号毎の単語の確率分布を特定する。
【００５１】
θkv＝（Ｎkv＋β）／（Ｎk＋β｜Ｖ｜）
但し、Ｎkvはある単語ｖにトピック番号ｋが割り当てられた回数、Ｎkはトピック番号ｋが割り当てられた全単語数、βは単語の出現回数に対するスムージング用パラメータ、｜Ｖ｜は単語の種類数である。
【００５２】
（数式に基づくトピック番号の更新）
上記のトピック番号の更新を理論的に以下に説明する。まずθａ、φk、ψ、およびλaはそれぞれ事前分布としてパラメータα、β、γ、ρのディリクレ分布を持つと仮定する。アーティストａの曲Ｓar のトピック番号をｚar、アーティストａの歌詞Ｓar のｊ番目の単語のスイッチ変数の値をxarj とすると、歌詞集合Ｄ、トピック番号集合Ｚは
【００５３】
【数５】
0006763530.tif 000006
であり、スイッチ変数の値の集合Ｘは
【００５４】
【数６】
0006763530.tif 000007
であり、この同時分布は次式で表される。
【００５５】
【数７】
0006763530.tif 000008
ここで、
【００５６】
【数８】
0006763530.tif 000009
である。
【００５７】
Ｐ（Ｄ，Ｚ，Ｘ｜α、β、γ、ρ）は全アーティストの全曲に対するトピック番号の割り当て（Ｚ）および、全アーティストの全曲の全単語に対するスイッチ変数の値の割り当て（Ｘ）を決めたときに、全ての歌詞の単語（Ｄ）、全てのトピック番号（Ｚ）、全てのスイッチ変数の割り当て（Ｘ）、の組合せが生じる確率を表す。これらのパラメータを積分消去することで、式（１）は次のように計算できる。
【００５８】
【数９】
0006763530.tif 000010
Ｎa0 とＮa1 はそれぞれ、アーティストａの歌詞データの単語の中でスイッチ変数の値が０である単語数と１である単語数を表し、Ｎa ＝ Ｎa0+Ｎa1 である。Ｎ1v は単語ｖの中で、スイッチ変数の値が１であるものの数を表し、Ｎ1＝Σv∈VＮ1vである。Ｎk ＝Σv∈VＮkvであり、Ｎkvは単語ｖにスイッチ変数の値が０のもとでトピック番号ｋが割り当てられた回数である。Ｒakはアーティストaの歌詞の中でトピック番号ｋが割り当てられた歌詞の数であり、
【００５９】
【数１０】
0006763530.tif 000011
である。式（２）の中で下記式（３）の項は、全ての歌詞のトピック番号の割り当てが決まったときに、その割り当てが観測される確率を表す。
【００６０】
【数１１】
0006763530.tif 000012
式（２）の中で下記の式（４）の項は、全ての歌詞の全ての単語のスイッチ変数の値の割り当てが決まったときに、その割り当てが観測される確率を表す。
【００６１】
【数１２】
0006763530.tif 000013
式（２）の中で下記式（５）の項は、全ての歌詞のトピック番号の割り当ておよび、全ての歌詞の全ての単語のスイッチ変数の値の割り当てが決まったときに、全ての歌詞の全ての単語が観測される確率を表す。
【００６２】
【数１３】
0006763530.tif 000014
アーティストａの曲Ｓar のトピック番号をｚar とすると、ｚar＝ｋである確率は次式（６）で表される。
【００６３】
【数１４】
0006763530.tif 000015
上記式において＼ar はアーティストａのｒ番目の歌詞を除いたときの値を表す。Ｎar はアーティストaのｒ番目の歌詞内の単語数を、Ｎarv はアーティストａのｒ番目の歌詞内の単語ｖの数を表す。上記式（６）の中で下記式（７）の項は、アーティストａのｒ番目以外の曲にどれだけトピック番号ｋが割り当てられているかを表す。つまり、アーティストａの曲の中にトピック番号ｋが割り当てられた曲が多いほどアーティストａのｒ番目の曲のトピック番号がｋである確率が高くなる。
【００６４】
【数１５】
0006763530.tif 000016
式（６）の中で下記式（８）の項は、アーティストａのｒ番目以外の曲を見たときに、アーティストａのｒ番目の歌詞内の単語にどれだけトピック番号ｋが割り当てられているかを表す。たとえば、アーティストａのｒ番目の曲に「夏」という単語がある場合、アーティストａのｒ番目の曲以外の全アーティストの全曲の中の「夏」という単語にどれだけトピック番号ｋが割り当てられているかを見ることになる。ただし、曲のトピック番号がｋであるとき、その曲の歌詞内の全ての単語にもトピック番号ｋが割り当てられていると考える。つまり、アーティストａのｒ番目の歌詞内にトピック番号ｋが割り当てられた単語が多いほど、アーティストａのｒ番目の曲のトピック番号がｋである確率が高くなる。
【００６５】
【数１６】
0006763530.tif 000017
トピック番号の更新は式（２）の値が大きくなるように行われる。また、歌詞ごとのトピック番号の更新と並行して、トピック番号ごとの単語の確率分布も更新する。
【００６６】
なお上記説明におけるスイッチ変数は、理論的には、後述する第２の実施の形態のスイッチ変数の値学習手段１１５が出力するスイッチ変数であるが、第１の実施の形態では、スイッチ変数を０として、スイッチ変数の値は更新していない。したがって第１の実施の形態では、背景語は考慮されない。
【００６７】
［第２の実施の形態］
図９は、本発明の歌詞のトピック推定情報生成システムの第２の実施の形態の構成を示すブロック図である。本実施の形態の各ブロックは、コンピュータにインストールされたコンピュータプログラムによりコンピュータ内に実現されるか、複数のプロセッサと複数のメモリによって構成される。図１０は、第２の実施の形態をコンピュータを用いて実現する場合に用いるコンピュータプログラムのアルゴリズムの一例を示すフローチャートである。
【００６８】
第２の実施の形態が、図１乃至図８を用いて説明した第１の実施の形態と相違するのは、スイッチ変数の値学習手段１１５を更に備えている点であり、その他の点は第１の実施の形態と同じである。そこで図９には、図１に示した第１の実施の形態と同じ機能を発揮する構成要件には、図１に付した符号の数に１００の数の符号を付して説明を省略する。また図１０のフローチャートには、図７に図に示した第１の実施の形態のステップと同じ機能を発揮するステップには、図７に付したステップの符号の数に１０００の数の符号を付して説明を省略する。更に図１１に示す歌詞の生成過程をモデル化した図においても、図３に示すモデルと同じステップには、図３に図に示した第１の実施の形態のステップと同じ機能を発揮するステップには、図３に付したステップの符号の数に１０の数の符号を付して説明を省略する。
【００６９】
図９に示すように、本実施の形態では、スイッチ変数の値学習手段１１５を備えている。ここで歌詞に含まれるｊ番目の単語を決める場合に、トピックに関連する単語とするか、トピックに関連しない背景語とするかを決めるのが「スイッチ変数の値」である。即ちスイッチ変数は、ある単語が想定されるトピックの主題に関連するものか、背景に関連するものを規定する変数である。この変数を演算により特定すれば、トピックと関係のある単語集合及び無関係な単語集合を人手で規定する必要がなくなる。１００％トピックに関連する単語にする場合のスイッチ変数の値０の生起確率は１であり、５０％トピックに関連する単語にする場合のスイッチ変数の値０の生起確率は０．５である。ｊ番目の単語を決める場合には、ｊ番目の単語用のスイッチ変数の値の確率分布が使用されることになる。人が作詞をする場合には、このスイッチ変数の値の確率分布は人が決めることになる。
【００７０】
図１１のステップＳ１４乃至Ｓ１８では、ｊ番目の単語用のスイッチ変数の値の確率分布に基づいて、この確率分布がトピックを示しているか否かにより（ステップＳ１６）、ｊ番目の単語をトピックの単語の分布から生成するか（ステップＳ１７）、背景の単語分布から生成することになる（ステップＳ１８）。ｊ番目の単語が決められると、ｊ＋１番目の単語が決められ（ステップＳ１９）、すべの単語が決まると作詞は終了する。
【００７１】
スイッチ変数の値学習手段１１５は、スイッチ変数の値更新学習演算［図１０のステップＳＴ１４０９〜ＳＴ１４１５］を予め定めた回数［例では５００回］実行する。スイッチ変数の値更新学習演算では、まず事前の準備として、図１２（Ａ）に示すフローチャートのように、複数のアーティストｉ毎の複数の歌詞データに含まれる複数の単語にランダムまたは任意にスイッチ変数の値を割り当てる（ＳＴ１４１〜ＳＴ１５０）。図１２（Ｂ）に示すように、この例では、最初にトピックに関連する語である確率及び背景に関連する語である確率をそれぞれ、０．５としている。
【００７２】
図１０に示すように、スイッチ変数の値学習手段１１５では、あるアーティストのある歌詞データの複数の単語中のある単語ｖに割り当てたスイッチ変数ｘ（ｘ＝トピック語であるか背景語であるかの確率変数）以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定して、ある単語ｖに割り当てたスイッチ変数ｘの値が０または１である確率を計算してスイッチ変数の値の確率分布λaを作成する（図１０のステップＳＴ１４１０〜ＳＴ１４１２）。
【００７３】
図１３には、図１０のステップＳＴ１４１２における「スイッチ変数の値の確率分布生成」ステップの詳細が示されている。まず、あるアーティストａの全曲の歌詞データ中でスイッチ変数の値として０が割り当てられている単語ｖarjの数Ｎaoを基に、単語ｖarj のスイッチ変数の値が０である第３の確率ｐ3を計算する（ステップＳＴ１４１２Ａ）。次に単語ｖarjを含む歌詞と同じトピック番号ｚarが割り当てられた全アーティストの全曲の中で単語ｖarjにスイッチ変数の値として０が割り当てられている回数Ｎｚarｖarjを基に、単語ｖarjのスイッチ変数の値が０である第４の確率ｐ4を計算する（ステップＳＴ１４１２Ｂ）。そして第３の確率ｐ3と第４の確率ｐ4からスイッチ変数が０である第５の確率ｐ5を計算する（ステップＳＴ１４１２Ｃ）。またあるアーティストの複数の歌詞データの中でスイッチ変数の値として１が割り当てられている回数Ｎa1を基に、単語ｖarjのスイッチ変数の値が１である第６の確率ｐ6を計算する（ステップＳＴ１４１２Ｄ）。また複数のアーティストの複数の歌詞データの中で、単語ｖarjにスイッチ変数の値として１が割り当てられている回数Ｎ1varjを基に、単語ｖarjのスイッチ変数の値が１である第７の確率ｐ7を計算する（ステップＳＴ１４１２Ｅ）。そして第６の確率ｐ6と第７の確率ｐ7から前記スイッチ変数が１である第８の確率ｐ8を計算（ステップＳＴ１４１２Ｆ）し、第６の確率ｐ6と第７の確率ｐ7から単語ｖarjのスイッチ変数の値が０である確率と１である確率の和が１になるように正規化して、スイッチ変数の値の確率分布とする（ステップＳＴ１４１２Ｇ）。
【００７４】
（数式に基づくスイッチ変数の更新）
上記のスイッチ変数の更新を理論的に以下に説明する。まずアーティストａの歌詞Ｓar のｊ番目の単語のスイッチ変数の値をｘarj とすると、ｘarj＝０である確率は次式で表される。
【００７５】
【数１７】
0006763530.tif 000018
＼arj はアーティストａのｒ番目の歌詞のｊ番目の単語を除いたときの値を表す。上記式（９）の中で下記式（１０）の項は、アーティストａがどれだけトピックから単語を生成しやすいかを表し、その値が大きいほど、ａのｒ番目の歌詞のj 番目の単語のスイッチ変数の値が０である確率が高くなる。
【００７６】
【数１８】
0006763530.tif 000019
式（９）の中で下記式（１１）の項は、ａのｒ番目の歌詞のj 番目の単語がどれだけトピック番号ｚarにおいて生起しやすいかを表し、その値が大きいほど、ａのｒ番目の歌詞のｊ番目の単語のスイッチ変数の値が０である確率が高くなる。たとえば、ａのｒ番目の歌詞のj 番目の単語が「夏」である場合、それ以外の全アーティストのトピック番号ｚarが割り当てられた全曲の全単語の中で「夏」という単語にどれだけスイッチ変数の値として０が割り当てられているかを見ることになる。
【００７７】
【数１９】
0006763530.tif 000020
同様に、ｘarj＝１である確率は次式で表される。
【００７８】
【数２０】
0006763530.tif 000021
式（１２）の中で下記式（１３）の項は、アーティストａがどれだけ背景から単語を生成しやすいかを表し、その値が大きいほど、ａのｒ番目の歌詞のj 番目の単語のスイッチ変数の値が１である確率が高くなる。
【００７９】
【数２１】
0006763530.tif 000022
式（１２） の中で下記式（１４）の項は、ａのｒ番目の歌詞のｊ番目の単語がどれだけ背景から単語を生成しやすいかを表し、その値が大きいほど、ａのｒ番目の歌詞のｊ番目の単語のスイッチ変数の値が１である確率が高くなる。
【００８０】
【数２２】
0006763530.tif 000023
図１０のステップＳＴ１４１３の単語のスイッチ変数の値の更新は式（２）の値が大きくなるように行われるのが好ましい。また、単語ごとのスイッチ変数の値の更新と並行して、アーティストごとのスイッチ変数の値の確率分布も更新する。
【００８１】
具体的には、スイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、ある単語に割り当てたスイッチ変数を更新するスイッチ変数の値更新演算を、複数のアーティスト毎の複数の歌詞データに含まれる複数の単語の全てについて実施する（ステップＳＴ１４１２〜ＳＴ１４１６）。なおここで用いる「乱数生成器」は、概念で説明すれば、本実施の形態の場合、例えば２つのスイッチ変数に対応する２つの面を有し、その面の面積が出現確率に比例している２面体からなる仮想のサイコロを振って出た目の面に割り当てたスイッチ変数を更新するスイッチ変数とするものである。
【００８２】
図９の出力手段１１３は、図２のステップＳＴ５及び図１４（Ａ）及び図１４（Ｂ）に示すように、トピック番号学習手段１０９の学習結果及びスイッチ変数の値学習手段１１５の学習結果から、複数のアーティスト毎の複数の歌詞データ毎のトピック番号を特定し（図１４（Ｂ））、複数のトピック番号毎の単語の生起確率を生成する（図１４（Ａ））。このようにするとアーティスト毎の複数の曲の歌詞のトピックをアーティストの個性を反映したものとして知ることができ、曲を選択する人に、アーティストを基準にした曲の情報を提供することができる。
【００８３】
出力手段１１３が出力する複数の歌詞データ毎のトピック番号は、トピック番号学習手段１０９においてトピック番号更新学習演算を予め定めた回数［図１０では５００回：図１０のステップＳＴ１４０２］実行して、最後にあるアーティストの複数の歌詞データに割り当てられたトピック番号［図１０のステップＳＴ１４０９で最後に更新されたトピック番号］とする。このように最後の割り当てに従うと、複数の歌詞データに最も適したトピック番号を割り当てることができる。
【００８４】
また出力手段１１３が出力するトピック番号毎の単語の確率分布も、トピック番号学習手段１０９においてトピック番号更新学習演算を予め定めた回数［図１０では５００回：図１０のステップＳＴ１４０２］実行して、最後に記憶されたトピック番号毎の単語の確率分布である。出力手段１１３における、複数のトピック番号毎の単語の生起確率θkvは、下記式により求めるのが好ましい。
【００８５】
【数２３】
0006763530.tif 000024
但し、Ｎkvはある単語ｖにトピック番号ｋが割り当てられた回数、Ｎkはトピック番号ｋが割り当てられた全単語数、βはスムージング用パラメータ、Ｖは単語の種類数である。スムージング用パラメータとは、各トピック番号における各単語の擬似的な生起回数である。単語の種類数とは、図４に示した歌詞データ内の歌詞に含まれるユニークな単語数である。上記演算式を用いて演算を行うと、トピックに１度も割り当てられなかった単語に対しても０より大きい確率が割り当てられ、より人間の直感に近づくという利点が得られる。
【００８６】
（第２の実施の形態の効果）
第２の実施の形態によれば、任意のトピック数を決めると、トピック番号学習手段により最終的に更新された複数の歌詞データ毎のトピック番号により、複数の歌詞データ毎のトピック番号が特定される。またスイッチ変数の値学習手段により、最終的に更新されたスイッチ変数の値により、複数のトピック番号毎の単語の生起確率が生成される。複数の歌詞データ毎のトピック番号と複数のトピック番号毎の単語の生起確率が判ると、各トピック番号毎に生起確率が高い複数の単語が判る。そのためトピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がない。また生起確率の高い複数の単語が分かると、それらの単語からトピックを定めるのに確かな情報が得られることになり、各歌詞のトピックの尤もらしい意味を求めることができる。
【００８７】
［学習に使用しなかった歌詞のトピック番号推定システム］
学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データのトピック番号を求める場合には、図１５に示すシステムの構成を採用すればよい。図１６（Ａ）のステップＳＴ２０１〜２１１は、図１５の実施の形態をコンピュータを用いて実現する場合のソフトウエアのアルゴリズムを示している。図１６（Ｂ）は、図１６（Ａ）のアルゴリズムの考え方を模擬的に示した図である。本実施の形態では、学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データに含まれる単語の確率分布を作成するステップＳＴ２０２を実現する第１の単語確率分布作成手段１７と、複数のアーティストの複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成するステップＳＴ２０７を実現する第２の単語確率分布作成手段１９と、第１の単語確率分布作成手段１７で得た新しい曲ｓの歌詞データに含まれる単語の確率分布と第２の単語確率分布作成手段１９で得た複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求めるステップＳＴ２０８を実現する類似度演算手段２１と、複数の曲の歌詞データに対応する複数の曲の歌詞データの類似度を、トピック番号の重みとして加算してトピック番号の重み分布を作成するステップＳＴ２１１の一手段を実現する重み分布作成手段２３とをさらに設ける。そしてトピック番号決定手段２５で、決定重みが最大のトピック番号を新しい曲ｓの歌詞データのトピック番号とする（ステップＳＴ２１１の残手段）。このようにすると、学習に用いていない歌詞のトピックを簡単に決定することができる。
【００８８】
（背景の単語の生起確率を作成するシステム）
図１７は、学習に使用しなかったアーティストの曲ｓの歌詞データのトピックを定めるためのさらなる情報として背景の単語の生起確率を作成するシステムの構成を示すブロック図である。図１８（Ａ）のステップＳＴ３０１〜３０９は、図１７の実施の形態をコンピュータを用いて実現する場合のソフトウエアのアルゴリズムを示している。図１８（Ｂ）は、図１８（Ａ）のアルゴリズムの考え方を模擬的に示した図である。図１７において、図１の実施の形態と同じ部分には、図１に付した符号と同じ符号を付して説明を省略する。
【００８９】
本実施の形態では、第３の単語確率分布作成手段２７乃至第５の単語確率分布作成手段３１と、類似度演算手段３３と、生起確率分布作成手段３５とを備えている。第３の単語確率分布作成手段２７は、背景の単語の生起確率を求めたい学習に使用しなかったアーティストの全ての曲の歌詞データに含まれる単語の確率分布を作成する（ステップＳＴ３０２）。第４の単語確率分布作成手段２９は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する（ＳＴ３０６）。第５の単語確率分布作成手段３１は、学習に使用したアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する（ＳＴ３０６）。本実施の形態において、アーティスト毎の背景の単語分布は、図１１において全アーティストで共通の背景の単語分布を定めていたものを、アーティスト毎に背景の単語分布を定めることで求めることができる。類似度演算手段３３は、第３の単語確率分布作成手段２７で得た新しい曲ｓの歌詞データに含まれる単語の確率分布と第４の単語確率分布作成手段２９で得たアーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布との間のコサイン類似度あるいは任意の尺度の類似度をそれぞれ求める（ＳＴ３０７）。また背景の単語の生起確率分布作成手段３５は、類似度演算手段３３で求めたアーティスト毎の類似度を第５の単語確率分布作成手段３１で得たアーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布にそれぞれ乗算して得た確率分布をアーティスト毎に足し合わせて重みの和が１になるように正規化して、背景の単語の生起確率とする（ＳＴ３０９）。そして背景の単語の生起確率分布作成手段３５で求めた生起確率を、あるアーティストの背景語の生起確率分布とする。背景語の確率分布からも、トピックの意味合いを知ることができる。
【００９０】
［結果の例］
図１９（Ａ）及び（Ｂ）は、上記実施の形態で得られるトピック毎の単語の確率分布の例を示しており、図１９（Ｃ）は全ての曲の背景の単語の確率分布を示している。図１９（Ａ）のトピック毎の単語の確率分布からは、生起確率の高い語である「君」、「夢」、「僕」、「今」などから「前向き」というトピック１７の意味が定められている。図１９（Ｂ）のトピック毎の単語の確率分布からは、生起確率の高い語である「あなた」、「私」、「人」、「恋」などから「大人の女性の恋愛」というトピック１９の意味が定められている。図２０（Ａ）及び（Ｂ）は、それぞれアーティスト毎の曲の背景の単語の生起確率分布の例を示している。図２０（Ａ）は、あるアーティストAの曲の背景の単語の生起確率分布であり、図２０（Ｂ）は、あるアーティストBの曲の背景の単語の生起確率分布である。これらを見ると、アーティスト毎の背景の単語からもアーティストの曲のトピックの傾向に関する情報を得ることができる。
【００９１】
［方法及びコンピュータプログラム］
本発明を歌詞のトピック推定情報生成方法及びコンピュータプログラムとして表現すると、本発明の構成は以下のように表現することができる。
【００９２】
（１）複数のアーティストごとに、曲名及び歌詞からなる複数の歌詞データを取得する歌詞データ取得ステップと、
１からＫ（正の整数）までの所定の数のトピック番号ｋ（１≦ｋ≦Ｋ）を生成するトピック番号生成ステップと、
前記複数の歌詞データ中の複数の歌詞を形態素解析により解析して複数の単語を抽出する解析ステップと、
最初に前記複数のアーティスト毎の前記複数の歌詞データにランダムまたは任意に前記トピック番号ｋを割り当てた後、あるアーティストａのある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakと前記ある歌詞データＳarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖにトピック番号ｋが割り当てられている回数Ｎkvとを基に前記ある歌詞データＳarのトピック番号がｋである確率ｐを求め、該確率から前記ある歌詞データＳarのトピック番号の確率分布を作成し、次に前記トピック番号の確率分布ｐに対応した出現確率に偏りのある乱数生成器を用いて、前記あるアーティストａの前記ある歌詞データＳarに割り当てた前記トピック番号を更新するトピック番号更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データの全てについて前記トピック番号更新演算を実施するトピック番号更新学習演算を、予め定めた回数実行するトピック番号学習ステップと、
前記トピック番号学習ステップの学習結果から、前記複数の歌詞データ毎のトピック番号と前記トピック番号毎の単語の確率分布を特定する出力ステップとからなる歌詞のトピック推定情報生成方法。
【００９３】
（２）前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語にランダムまたは任意にスイッチ変数の値を割り当てた後、前記あるアーティストａの前記複数の歌詞データ中の前記複数の単語に対して前記割り当てたスイッチ変数の値から前記ある単語ｖarjに割り当てた前記スイッチ変数の値がｘである確率を計算してスイッチ変数の値の確率分布λaを作成し、次に前記スイッチ変数の値の確率分布に対応した出現確率に偏りのある乱数生成器を用いて、前記ある単語に割り当てた前記スイッチ変数の値を更新するスイッチ変数の値更新演算を行い、前記複数のアーティスト毎の前記複数の歌詞データに含まれる前記複数の単語の全てについて前記スイッチ変数の値の更新演算を実施するスイッチ変数の値更新学習演算を予め定めた回数実行するスイッチ変数の値学習ステップを更に備えていることを特徴とする（１）に記載の歌詞のトピック推定情報生成方法。
【００９４】
（３）前記トピック番号学習ステップにおいて、前記トピック番号の確率分布を作成する際には、前記あるアーティストの前記ある歌詞データに割り当てたトピック番号以外の、全ての前記複数の歌詞データに割り当てたトピック番号が正しいと仮定していることを特徴とする（１）に記載の歌詞のトピック推定情報生成方法。
【００９５】
（４）前記スイッチ変数の値学習ステップは、前記スイッチ変数の値更新演算を行う際には、前記あるアーティストの前記ある歌詞データの前記複数の単語中のある単語に割り当てたスイッチ変数ｘ以外の、全ての単語に割り当てたスイッチ変数の値が正しいと仮定していることを特徴とする（２）に記載の歌詞のトピック推定情報生成方法。
【００９６】
（５）前記トピック番号学習ステップは、
前記トピック番号の確率分布を作成する際に、前記あるアーティストａの前記ある歌詞データＳar以外の歌詞データでトピック番号ｋが割り当てられている歌詞データの数Ｒakを基に、前記ある歌詞データＳarのトピック番号がｋである第１の確率ｐ1を計算し、
前記ある歌詞データＳarを除く前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖにトピック番号ｋが割り当てられている回数Ｎkvを基に、前記ある歌詞データＳarのトピック番号がｋである第２の確率ｐ2を計算し、
前記第１の確率ｐ1と前記第２の確率ｐ2から前記ある歌詞データＳarのトピック番号がｋである確率ｐを計算し、
これらの計算を全てのトピック番号に関して実施して前記ある歌詞データＳarの前記トピック番号が１〜Ｋである確率の和が１になるように正規化して前記ある歌詞データＳarの前記トピック番号の確率分布とすることを特徴とする（１）に記載の歌詞のトピック推定情報生成方法。
【００９７】
（６）前記出力ステップは、前記第２の確率ｐ2を求める際の前記回数Ｎkvから、各トピック番号毎の単語の確率分布を出力するように構成されている（１）に記載の歌詞のトピック推定情報生成方法。
【００９８】
（７）前記出力ステップにおける、前記トピック番号ｋの単語ｖの生起確率θkvは、下記式により求められ、
θkv＝（Ｎkv＋β）／（Ｎk＋β｜Ｖ｜）
但し、Ｎkvはある単語ｖにトピック番号ｋが割り当てられた回数、Ｎkはトピック番号ｋが割り当てられた全単語数、βはスムージング用パラメータ、｜Ｖ｜は単語の種類数である（６）に記載の歌詞のトピック推定情報生成方法。
【００９９】
（８）前記スイッチ変数の値学習ステップは、
前記あるアーティストａの全曲の歌詞データ中で前記スイッチ変数の値として０が割り当てられている単語の数Ｎaoを基に、前記単語ｖarj のスイッチ変数の値が０である第３の確率ｐ3を計算し、
前記単語ｖarjを含む歌詞と同一の前記トピック番号ｚarが割り当てられた全アーティストの全曲の中で前記単語ｖarjに前記スイッチ変数の値として０が割り当てられている回数Ｎｚarｖarjを基に、前記単語ｖarjのスイッチ変数の値が０である第４の確率ｐ4を計算し、
前記第３の確率ｐ3と第４の確率ｐ4から前記スイッチ変数が０である第５の確率ｐ5を計算し、
前記あるアーティストの前記複数の歌詞データの中で前スイッチ変数の値として１が割り当てられている回数Ｎa1を基に、前記単語ｖarjの前記スイッチ変数の値が１である第６の確率ｐ6を計算し、
前記複数のアーティストの前記複数の歌詞データの中で前記単語ｖarjに前記スイッチ変数の値として１が割り当てられている回数Ｎ1varjを基に、前記単語ｖarjの前記スイッチ変数の値が１である第７の確率ｐ7を計算し、
前記第６の確率ｐ6と第７の確率ｐ7から前記スイッチ変数が１である第８の確率ｐ8を計算し、
前記第６の確率ｐ6と第７の確率ｐ7から前記単語ｖarjの前記スイッチ変数の値が０である確率と１である確率の和が１になるように正規化しての前記スイッチ変数の値の確率分布とする（２）に記載の歌詞のトピック推定情報生成方法。
【０１００】
（９）における、前記複数の歌詞データ毎のトピック番号は、前記トピック番号学習ステップにおいて前記トピック番号更新学習演算を予め定めた回数実行して最後に前記複数の歌詞データに割り当てられたトピック番号である（１）に記載の歌詞のトピック推定情報生成方法。
【０１０１】
（１０）学習に使用しなかったあるアーティストの新しい曲ｓの歌詞データに含まれる単語の確率分布を作成する第１の単語確率分布作成ステップと、
前記複数のアーティストの前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布を作成する第２の単語確率分布作成ステップと、
前記第１の単語確率分布作成ステップで得た前記新しい曲ｓの歌詞データに含まれる単語の確率分布と前記前記第２の単語確率分布作成ステップで得た前記複数の曲の歌詞データにそれぞれ含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算ステップと、
前記複数の曲の歌詞データに対応する前記複数の曲の歌詞データの類似度を、前記トピック番号の重みとして加算して前記トピック番号の重み分布を作成する重み分布作成ステップと、
前記重みが最大のトピック番号を前記新しい曲ｓの歌詞データのトピック番号とするトピック番号決定ステップとを更に備えていることを特徴とする（１）または（２）に記載の歌詞のトピック推定情報生成方法。
【０１０２】
（１１）背景の単語の生起確率を求めたい学習に使用しなかったあるアーティストａの全ての曲の歌詞データに含まれる単語の確率分布を作成する第３の単語確率分布作成ステップと、
前記アーティスト毎の全ての曲の歌詞データに含まれる単語の確率分布を作成する第４の単語確率分布作成ステップと、
前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布を作成する第５の単語確率分布作成ステップと、
前記第３の単語確率分布作成ステップで得た前記ある歌詞データに含まれる単語の確率分布と前記第４の単語確率分布作成ステップで得た前記アーティスト毎の前記全ての曲の歌詞データに含まれる単語の確率分布との間の類似度をそれぞれ求める類似度演算ステップと、
前記類似度演算ステップで求めた前記アーティスト毎の前記類似度を前記第５の単語確率分布作成ステップで得た前記アーティスト毎の全ての曲の歌詞データに含まれる背景の単語の確率分布にそれぞれ乗算して得た確率分布を前記アーティスト毎に足し合わせて重みの和が１になるように正規化して、背景の単語の生起確率とする背景の単語の生起確率作成ステップとを更に具備することを特徴とする（１０）に記載の歌詞のトピック推定情報生成方法。
【０１０３】
（１２）上記（１）乃至（１１）に記載の歌詞のトピック推定情報生成方法におけるステップを、コンピュータを用いて実現するための歌詞のトピック推定情報生成用プログラム。
【０１０４】
（１３）コンピュータ読み取り可能な記憶媒体に記憶された（１２）に記載の歌詞のトピック推定情報生成用コンピュータプログラム。
【産業上の利用可能性】
【０１０５】
本発明によれば、任意のトピック数を決めると、トピック番号学習手段により最終的に更新された複数の歌詞データ毎のトピック番号により、複数の歌詞データ毎のトピック番号が特定される。そして複数の歌詞データ毎のトピック番号が判ると、各トピック番号毎の単語の確率分布が判る。そのためトピックと関係のある単語集合及び、無関係な単語集合を人手で規定する必要がない。また生起確率の高い複数の単語が分かると、それらの単語からトピックを定めるのに確かな情報が得られることになり、各歌詞のトピックの尤もらしい意味を求めることができる。
【符号の説明】
【０１０６】
１，１０１  トピック推定情報生成システム
３，１０３  歌詞データベース
５，１０５  歌詞データ取得手段
７，１０７  トピック番号生成手段
９，１０９  トピック番号学習手段
１１，１１１  解析手段
１３，１１３  出力手段
１１５  スイッチ変数の値学習手段
【図１】
0006763530.tif 000025
【図２】
0006763530.tif 000026
【図３】
0006763530.tif 000027
【図４】
0006763530.tif 000028
【図５】
0006763530.tif 000029
【図６】
0006763530.tif 000030
【図７】
0006763530.tif 000031
【図８】
0006763530.tif 000032
【図９】
0006763530.tif 000033
【図１０】
0006763530.tif 000034
【図１１】
0006763530.tif 000035
【図１２】
0006763530.tif 000036
【図１３】
0006763530.tif 000037
【図１４】
0006763530.tif 000038
【図１５】
0006763530.tif 000039
【図１６】
0006763530.tif 000040
【図１７】
0006763530.tif 000041
【図１８】
0006763530.tif 000042
【図１９】
0006763530.tif 000043
【図２０】
0006763530.tif 000044
【図２１】
0006763530.tif 000045
【図２２】
0006763530.tif 000046