(57)【要約】【課題】各トピックについて、人気がある著者と、人気がある著者の文書の中に含まれるキーワードとを発見するような解析を可能にする。【解決手段】行列加工部２２によって、解析対象のデータに基づいて、ストーリーｊに含まれるユーザｉの投稿文書の数を示すＩ×Ｊの行列Ｘと、単語ｎがストーリーｊに含まれる投稿文書において出現する回数を示すＮ×Ｊの行列Ｙと、ユーザｉの人気度合いを示す指標を示すＩ×Ｍの行列Ｙを生成する。行列分解部２３によって、行列Ｘ、Ｙ、Ｚを、トピックｋに該当するストーリーに、人気があるユーザｉが付与された文書が含まれることを示すＩ×Ｋの基底行列Ｗ、トピックｋに該当するストーリーに含まれる、人気がある記ユーザの投稿文書において単語ｎが出現することを示すＮ×Ｋの基底行列Ａ、係数行列Ｈ、及び係数行列Ｂに分解する。【選択図】図１
2014089518.tif 000002
【特許請求の範囲】
【請求項１】
著者を示すユーザ情報が各々付与された複数の文書と、共通する話題について予め収集された複数の前記文書からなる複数の文書集合とを解析する文書解析装置であって、
前記複数の文書に対して形態素解析を行った形態素解析結果、複数の文書集合に含まれる前記複数の文書に対して形態素解析結果を行った形態素解析結果、及び前記ユーザ情報毎に与えられた前記ユーザ情報が示す著者の人気度合いを示す指標に基づいて、前記ユーザ情報ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が付与された文書のうち、前記文書集合ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）に含まれる文書の数を示す非負値の要素ｘi,jを持つＩ×Ｊの行列Ｘと、単語ｎが前記文書集合ｊに含まれる全ての文書において出現する回数を示す非負値の要素ｙn,jを持つＮ×Ｊ（１≦ｎ≦Ｎ，Ｎは１以上の整数）の行列Ｙと、前記ユーザ情報ｉが示す著者の人気度合いを示すｍ番目（１≦ｍ≦Ｍ，Ｍは１以上の整数）の指標を示す非負値の要素ｚi,mを持つＩ×Ｍの行列Ｙを生成する行列加工手段と、
前記行列加工手段によって生成された前記行列Ｘ、前記行列Ｙ、及び前記行列Ｚを、以下の式に示す目的関数Ｄを最小化するように、トピックｋ（１≦ｋ≦Ｋ，Ｋは１以上の整数）に該当する前記文書集合に、人気がある著者を示す前記ユーザ情報ｉが付与された文書が含まれることを示す非負値の要素ｗi,kを持つＩ×Ｋの基底行列Ｗ、前記トピックｋに該当する前記文書集合に含まれる、人気がある著者を示す前記ユーザ情報が付与された全ての文書において単語ｎが出現することを示す非負値の要素ａn,kを持つＮ×Ｋの基底行列Ａ、前記文書集合ｊにおいて、前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉと、前記トピックｋについて前記出現することを示す各要素ａn,kに対応する単語ｎとが同時に出現することを示す非負値の要素ｈk,jを持つＫ×Ｊの係数行列Ｈ、及び前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉが示す著者の人気度合いを示す指標ｍの平均値を示す非負値の要素ｂk,mを持つＫ×Ｍの係数行列Ｂに分解する行列分解手段と、
を含む文書解析装置。
【数１】
2014089518.tif 000014
ただし、λ、ηは予め定めた重み係数であり、ｄは、要素間の距離であり、Ｋは予め定められた値であり、＾ｘi,j、＾ｙn,j、＾ｚi,mは、以下の式で表される。
【数２】
2014089518.tif 000015
【請求項２】
前記行列分解手段は、
前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂの各要素に初期値を設定する初期化手段と、
前記初期化手段によって初期値が設定された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂ、又は前回更新された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂに基づいて、前記目的関数Ｄを最小化するように、前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂを更新する行列更新手段と、
予め定められた繰り返し終了条件を満たすまで、前記行列更新手段による更新を繰り返し行う終了判定手段と、
を含む請求項１記載の文書解析装置。
【請求項３】
前記行列更新手段は、前記初期化手段によって初期値が設定された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂ、又は前回更新された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂに基づいて、以下の式に従って、前記基底行列Ｗの各要素ｗi,knew、前記基底行列Ａの各要素ａn,knew、前記係数行列Ｈの各要素ｈk,jnew、及び前記係数行列Ｂの各要素ｂk,mnewに更新する請求項２記載の文書解析装置。
【数３】
2014089518.tif 000016
【請求項４】
著者を示すユーザ情報が各々付与された複数の文書と、共通する話題について予め収集された複数の前記文書からなる複数の文書集合とを解析する文書解析装置における文書解析方法であって、
行列加工手段によって、前記複数の文書に対して形態素解析を行った形態素解析結果、複数の文書集合に含まれる前記複数の文書に対して形態素解析結果を行った形態素解析結果、及び前記ユーザ情報毎に与えられた前記ユーザ情報が示す著者の人気度合いを示す指標に基づいて、前記ユーザ情報ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が付与された文書のうち、前記文書集合ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）に含まれる文書の数を示す非負値の要素ｘi,jを持つＩ×Ｊの行列Ｘと、単語ｎが前記文書集合ｊに含まれる全ての文書において出現する回数を示す非負値の要素ｙn,jを持つＮ×Ｊ（１≦ｎ≦Ｎ，Ｎは１以上の整数）の行列Ｙと、前記ユーザ情報ｉが示す著者の人気度合いを示すｍ番目（１≦ｍ≦Ｍ，Ｍは１以上の整数）の指標を示す非負値の要素ｚi,mを持つＩ×Ｍの行列Ｙを生成し、
行列分解手段によって、前記行列加工手段によって生成された前記行列Ｘ、前記行列Ｙ、及び前記行列Ｚを、以下の式に示す目的関数Ｄを最小化するように、トピックｋ（１≦ｋ≦Ｋ，Ｋは１以上の整数）に該当する前記文書集合に、人気がある著者を示す前記ユーザ情報ｉが付与された文書が含まれることを示す非負値の要素ｗi,kを持つＩ×Ｋの基底行列Ｗ、前記トピックｋに該当する前記文書集合に含まれる、人気がある著者を示す前記ユーザ情報が付与された全ての文書において単語ｎが出現することを示す非負値の要素ａn,kを持つＮ×Ｋの基底行列Ａ、前記文書集合ｊにおいて、前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉと、前記トピックｋについて前記出現することを示す各要素ａn,kに対応する単語ｎとが同時に出現することを示す非負値の要素ｈk,jを持つＫ×Ｊの係数行列Ｈ、及び前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉが示す著者の人気度合いを示す指標ｍの平均値を示す非負値の要素ｂk,mを持つＫ×Ｍの係数行列Ｂに分解する
文書解析方法。
【数４】
2014089518.tif 000017
ただし、λ、ηは予め定めた重み係数であり、ｄは、要素間の距離であり、Ｋは予め定められた値であり、＾ｘi,j、＾ｙn,j、＾ｚi,mは、以下の式で表される。
【数５】
2014089518.tif 000018
【請求項５】
前記行列分解手段によって分解することは、
初期化手段によって、前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂの各要素に初期値を設定し、
行列更新手段によって、前記初期化手段によって初期値が設定された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂ、又は前回更新された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂに基づいて、前記目的関数Ｄを最小化するように、前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂを更新し、
終了判定手段によって、予め定められた繰り返し終了条件を満たすまで、前記行列更新手段による更新を繰り返し行うこと
を含む請求項４記載の文書解析方法。
【請求項６】
前記行列更新手段によって更新することは、
前記初期化手段によって初期値が設定された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂ、又は前回更新された前記基底行列Ｗ、前記基底行列Ａ、前記係数行列Ｈ、及び前記係数行列Ｂに基づいて、以下の式に従って、前記基底行列Ｗの各要素ｗi,knew、前記基底行列Ａの各要素ａn,knew、前記係数行列Ｈの各要素ｈk,jnew、及び前記係数行列Ｂの各要素ｂk,mnewに更新する請求項５記載の文書解析方法。
【数６】
2014089518.tif 000019
【請求項７】
コンピュータを、請求項１〜請求項３の何れか１項記載の文書解析装置を構成する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書解析装置、方法、及びプログラムに係り、特に、著者を示すユーザ情報が付与された複数の文書を解析する文書解析装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、マイクロブログサービス（Twitter（登録商標）など）のような短いテキストの投稿が大量に行われているウェブサイトの中から、信頼度の高い投稿者（例えば、その話題に関する専門家などの）を解析する技術の研究開発が進められている。しかし、マイクロブログの投稿は１投稿あたりの文字数が非常に短いため、投稿されたテキストそのものから得られる情報が少ないため解析が困難であるという問題がある。
【０００３】
非特許文献１では、マイクロブログの投稿内容自体は利用せず、一連の投稿に対して付与されたタイトルのような情報と会話の構造やユーザの関係性などを用いて、ある話題に関する専門家を発見する技術が提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】S. Ghosh, N. Sharma, F. Benevenuto, N. Ganguly, and K. P. Gummadi. Cognos: “Crowdsourcing search for topic experts in microblogs,” In Proceedings of SIGIR, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の非特許文献１に記載の技術では、専門家を発見できる話題が、投稿に対して予め付与されたタイトルといった限定されたテキスト中に含まれるキーワードに基づくものに限定される、という問題がある。つまり、投稿内容には含まれるがタイトルに含まれないキーワードに応じた話題についての専門家を発見するような解析を行うことができない。
【０００６】
本発明は、上記の事実を鑑みてなされたものであり、各トピックについて、人気がある著者と、人気がある著者の文書の中に含まれるキーワードとを発見するような解析が可能な文書解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために本発明に係る文書解析装置は、著者を示すユーザ情報が各々付与された複数の文書と、共通する話題について予め収集された複数の前記文書からなる複数の文書集合とを解析する文書解析装置であって、前記複数の文書に対して形態素解析を行った形態素解析結果、複数の文書集合に含まれる前記複数の文書に対して形態素解析結果を行った形態素解析結果、及び前記ユーザ情報毎に与えられた前記ユーザ情報が示す著者の人気度合いを示す指標に基づいて、前記ユーザ情報ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が付与された文書のうち、前記文書集合ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）に含まれる文書の数を示す非負値の要素ｘi,jを持つＩ×Ｊの行列Ｘと、単語ｎが前記文書集合ｊに含まれる全ての文書において出現する回数を示す非負値の要素ｙn,jを持つＮ×Ｊ（１≦ｎ≦Ｎ，Ｎは１以上の整数）の行列Ｙと、前記ユーザ情報ｉが示す著者の人気度合いを示すｍ番目（１≦ｍ≦Ｍ，Ｍは１以上の整数）の指標を示す非負値の要素ｚi,mを持つＩ×Ｍの行列Ｙを生成する行列加工手段と、前記行列加工手段によって生成された前記行列Ｘ、前記行列Ｙ、及び前記行列Ｚを、以下の式に示す目的関数Ｄを最小化するように、トピックｋ（１≦ｋ≦Ｋ，Ｋは１以上の整数）に該当する前記文書集合に、人気がある著者を示す前記ユーザ情報ｉが付与された文書が含まれることを示す非負値の要素ｗi,kを持つＩ×Ｋの基底行列Ｗ、前記トピックｋに該当する前記文書集合に含まれる、人気がある著者を示す前記ユーザ情報が付与された全ての文書において単語ｎが出現することを示す非負値の要素ａn,kを持つＮ×Ｋの基底行列Ａ、前記文書集合ｊにおいて、前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉと、前記トピックｋについて前記出現することを示す各要素ａn,kに対応する単語ｎとが同時に出現することを示す非負値の要素ｈk,jを持つＫ×Ｊの係数行列Ｈ、及び前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉが示す著者の人気度合いを示す指標ｍの平均値を示す非負値の要素ｂk,mを持つＫ×Ｍの係数行列Ｂに分解する行列分解手段と、を含んで構成されている。
【０００８】
【数１】
2014089518.tif 000003
【０００９】
ただし、λ、ηは予め定めた重み係数であり、ｄは、要素間の距離であり、Ｋは予め定められた値であり、＾ｘi,j、＾ｙn,j、＾ｚi,mは、以下の式で表される。
【００１０】
【数２】
2014089518.tif 000004
【００１１】
本発明に係る文書解析方法は、著者を示すユーザ情報が各々付与された複数の文書と、共通する話題について予め収集された複数の前記文書からなる複数の文書集合とを解析する文書解析装置における文書解析方法であって、行列加工手段によって、前記複数の文書に対して形態素解析を行った形態素解析結果、複数の文書集合に含まれる前記複数の文書に対して形態素解析結果を行った形態素解析結果、及び前記ユーザ情報毎に与えられた前記ユーザ情報が示す著者の人気度合いを示す指標に基づいて、前記ユーザ情報ｉ（１≦ｉ≦Ｉ，Ｉは１以上の整数）が付与された文書のうち、前記文書集合ｊ（１≦ｊ≦Ｊ，Ｊは１以上の整数）に含まれる文書の数を示す非負値の要素ｘi,jを持つＩ×Ｊの行列Ｘと、単語ｎが前記文書集合ｊに含まれる全ての文書において出現する回数を示す非負値の要素ｙn,jを持つＮ×Ｊ（１≦ｎ≦Ｎ，Ｎは１以上の整数）の行列Ｙと、前記ユーザ情報ｉが示す著者の人気度合いを示すｍ番目（１≦ｍ≦Ｍ，Ｍは１以上の整数）の指標を示す非負値の要素ｚi,mを持つＩ×Ｍの行列Ｙを生成し、行列分解手段によって、前記行列加工手段によって生成された前記行列Ｘ、前記行列Ｙ、及び前記行列Ｚを、以下の式に示す目的関数Ｄを最小化するように、トピックｋ（１≦ｋ≦Ｋ，Ｋは１以上の整数）に該当する前記文書集合に、人気がある著者を示す前記ユーザ情報ｉが付与された文書が含まれることを示す非負値の要素ｗi,kを持つＩ×Ｋの基底行列Ｗ、前記トピックｋに該当する前記文書集合に含まれる、人気がある著者を示す前記ユーザ情報が付与された全ての文書において単語ｎが出現することを示す非負値の要素ａn,kを持つＮ×Ｋの基底行列Ａ、前記文書集合ｊにおいて、前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉと、前記トピックｋについて前記出現することを示す各要素ａn,kに対応する単語ｎとが同時に出現することを示す非負値の要素ｈk,jを持つＫ×Ｊの係数行列Ｈ、及び前記トピックｋについて前記文書が含まれることを示す各要素ｗi,kに対応するユーザ情報ｉが示す著者の人気度合いを示す指標ｍの平均値を示す非負値の要素ｂk,mを持つＫ×Ｍの係数行列Ｂに分解する。
【００１２】
【数３】
2014089518.tif 000005
【００１３】
ただし、λ、ηは予め定めた重み係数であり、ｄは、要素間の距離であり、Ｋは予め定められた値であり、＾ｘi,j、＾ｙn,j、＾ｚi,mは、以下の式で表される。
【００１４】
【数４】
2014089518.tif 000006
【００１５】
本発明に係るプログラムは、コンピュータを、上記の文書解析装置の各手段として機能させるためのプログラムである。
【発明の効果】
【００１６】
以上説明したように、本発明の文書解析装置、方法、及びプログラムによれば、共通する話題について予め収集された文書集合とユーザ情報が示す著者の人気度合いを示す指標とを用いて生成された行列Ｘ、行列Ｙ、行列Ｙを、トピックｋに該当する文書集合に、人気がある著者を示すユーザ情報ｉが付与された文書が含まれることを示す基底行列Ｗ、トピックｋに該当する文書集合に含まれる、人気がある著者を示すユーザ情報が付与された全ての文書において単語ｎが出現することを示す基底行列Ａ、係数行列Ｈ、及び係数行列Ｂに分解することにより、各トピックについて、人気がある著者と、人気がある著者の文書の中に含まれるキーワードとを発見するような解析が可能となる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る文書解析装置の構成を示す概略図である。
【図２】行列Ｘ、Ｙ、Ｚを説明するための図である。
【図３】行列Ｗ、Ｈ、Ａ、Ｂを説明するための図である。
【図４】本発明の実施の形態に係る文書解析装置における行列分解部の構成を示す図である。
【図５】本発明の実施の形態に係る文書解析装置における文書解析処理ルーチンの内容を示すフローチャートである。
【図６】実験結果を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、Twitter（登録商標）などのマイクロブログサービスの投稿文書を対象として、文書を解析する文書解析装置に、本発明を適用した場合を例に説明する。
【００１９】
＜発明の概要＞
マイクロブログサービスの投稿文書を対象として、その中から興味のある話題に関する投稿文書を１箇所に収集し（集めたものをストーリーと呼ぶ）、自分の作成したストーリーを他者と共有できるようにするソーシャルキュレーションサービス（Togetter（登録商標）など）も提供されている。ソーシャルキュレーションサービスのユーザは、信頼性の高い投稿文書を収集していると予想され、複数のユーザが収集している同じ話題に関する投稿文書の投稿者（著者）は、信頼性が高いことが予想される。
【００２０】
本発明では、マイクロブログサービスの投稿文書のみでなく、マイクロブログを加工して公開するソーシャルキュレーションサービスによって提供される投稿文書集合も同時に解析することで、マイクロブログサービス上で注目されている話題と、その話題に関して信頼性の高いユーザ（著者）の集団を同時に解析する。また、解析の精度をより高めるために、マイクロブログサービス上での人気度合い（友人数とリスト登録数）を更に加味した解析を行う。
【００２１】
ここで、複数の文書を入力とし、それらの文書に共通して現れる単語とその単語の出現頻度を表す指標とを同時に解析する手法として、非負値行列分解（ＮＭＦ、参考文献１）が知られている。
【００２２】
参考文献１：Daniel D. Lee & H. Sebastian Seung, “Learning the parts of objects by non-negative matrix factorization”
【００２３】
NMFはある行列Xを非負値の基底行列Wと非負値の係数行列Hに分解する手法である。行列Xは、ある文書である単語が出現する回数を数え上げた列ベクトルからなる行列である。このような行列Xを分解すると、複数の文書で頻繁に同時に出現する単語が、基底行列Wの基底により抽出される。(例：court、government、council、culture、supreme、constitutional、rights、justiceなど)。また、ある文書において、上記の単語がどの程度同時に頻繁に現れるかを表す指標が係数行列Hに現れる。
【００２４】
本発明では、マイクロブログの投稿文書だけでなく、ソーシャルキュレーションサービスのストーリーのデータやマイクロブログサービス上での友人数とリスト登録数などの補助情報も入力として利用し、これらを同時に解析する必要がある。これらの情報を１つの２次元行列(X)にまとめることはできないため、NMFをそのまま適用することはできない。そこで本発明では、非負値行列分解（NMF）を拡張したStacked非負値行列分解(SNMF)を提案する。
【００２５】
＜文書解析装置の構成＞
図１に示すように、本実施の形態に係る文書解析装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、後述する文書解析処理ルーチンを実行するためのプログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とを備えたコンピュータで構成され、機能的には次に示すように構成されている。文書解析装置１００は、入力部１と、演算部２と、出力部３とを備えている。
【００２６】
入力部１は、ユーザにより入力された、解析対象のデータとしての、マイクロブログサービスの複数の投稿文書と、投稿文書を収集して予め生成された、ソーシャルキュレーションサービスの複数のストーリーのデータ（投稿文書集合）と、マイクロブログサービス上の各ユーザの人気度を表す指標（友人数及びリスト登録数）を受け付ける。マイクロブログサービスの投稿文書は、著者を示すユーザ情報が付与された文書データであり、文書データは、投稿文書について形態素解析を行った形態素解析結果のデータである。ソーシャルキュレーションサービスのストーリーのデータは、ある話題に共通するものとして収集された、著者を示すユーザ情報が付与された複数の投稿文書からなる投稿文書集合であり、投稿文書集合の各投稿文書のデータは、各投稿文書について形態素解析を行った形態素解析結果のデータである。ユーザの人気度を表す指標は、投稿文書の著者であるユーザの各々についての人気度を表す指標であり、友人数は、例えば、当該ユーザに対するフォロワーの数であり、リスト登録数は、当該ユーザが他のユーザによってリストに登録されているリストの数である。
【００２７】
マイクロブログサービスのユーザ（投稿文書の投稿者（著者））数をI人、ソーシャルキュレーションサービスのストーリーのデータ（投稿文書集合）の総数をJ個、投稿文書に含まれる単語の種類数をN種類、ユーザの人気度を表す指標の種類数をM種類とする。なお、単語の種類数やユーザの人気度を表す指標の種類数は、解析対象データに含まれる全単語や全種類の指標を対象とする必要はなく、解析したい単語や解析したい種類の指標のみを選択しても良い。ユーザを表すインデックスをi={1,…,I}、単語を表すインデックスをn={1,…,N}、ストーリーを表すインデックスをj={1,…J}、ユーザの人気度を表す指標のインデックスをm={1,…,M}とする。
【００２８】
演算部２は、データ記憶部２１と、行列加工部２２と、行列分解部２３とを備えている。
【００２９】
データ記憶部２１は、入力部１により入力された、マイクロブログサービスの複数の投稿文書と、ソーシャルキュレーションサービスの複数のストーリーのデータと、マイクロブログサービス上の各ユーザの人気度を表す指標（友人数及びリスト登録数）とを記憶している。
【００３０】
行列加工部２２は、データ記憶部２１に記憶された解析対象のデータに基づいて、図２に示すように、各ストーリーにおける各ユーザの出現回数を表現したI×J次元の行列Xと、各ストーリーにおける各単語の出現回数を表現したN×J次元の行列Yと、各ユーザの人気度を表す指標を表現したI×M次元の行列Zとを生成する。
【００３１】
行列Ｘのi行j列の要素xijは、i番目のユーザが著者となる投稿文書がj番目のストーリーで出現した回数である。行列Ｙのn行j列の要素ynjは、n番目の単語がj番目のストーリーに含まれる全投稿文書で出現した回数である。行列Ｚのi行m列の要素ｚimは、i番目のユーザについてのm番目の人気度を表す指標である。
【００３２】
ユーザの人気度を表す指標には、あるユーザのマイクロブログサービス上での友人（フォロワー）数とリスト登録数の２種類を扱う（つまり、M=2である）。これらの数値は、実際の値（フォロワー数やリスト登録数）を~zimとして、以下のようにスケーリング変換する。
【００３３】
【数５】
2014089518.tif 000007
【００３４】
行列分解部２３は、行列加工部２２によって生成された行列X、Y、Zを、以下の（１）式に示す目的関数Ｄを最小化するように基底行列W、係数行列H、基底行列A、係数行列Bへ分解する。
【００３５】
【数６】
2014089518.tif 000008
【００３６】
ここで、λとηは予め定めた重み係数である。ここで、dは以下の式に示す一般化KL距離である。
【００３７】
【数７】
2014089518.tif 000009
【００３８】
ここで、行列W、H、A、Bは図３に示すように、それぞれI×K行列、K×J行列、N×K行列、K×M行列である。I, J, N, Mの値は解析対象のデータで用いたものと同じであり、Kは任意の自然数であり予め設定された値である。
【００３９】
基底行列Ｗのi行k列の要素wi,kは、トピックｋに該当するストーリーのデータに、人気があるユーザｉが著者となる投稿文書が含まれる度合いを示す非負値の値である。基底行列Ａのn行k列の要素ａn,kは、
【００４０】
トピックｋに該当するストーリーのデータに含まれる、人気があるユーザが著者となる全ての投稿文書において単語ｎが出現する度合いを示す非負値の値である。係数行列Ｈのｋ行ｊ列の要素ｈk,jは、ストーリーのデータｊにおいて、トピックｋについて上記の投稿文書が含まれることを示す各要素ｗi,kに対応するユーザｉと、トピックｋについて上記の単語が出現することを示す各要素ａn,kに対応する単語ｎとが同時に出現することを示す非負値の値である。係数行列Ｂのｋ行ｍ列の要素ｂk,mは、トピックｋについて上記の投稿文書が含まれることを示す各要素ｗi,kに対応するユーザｉの人気度合いを示す指標ｍの平均値を示す非負値の値である。
【００４１】
行列分解部２３の詳細構成を図４に示す。行列分解部２３は、初期化部２３１、行列更新部２３２、及び計算終了評価部２３３を備えている。
【００４２】
初期化部２３１は、行列W、H、A、Bの各要素を乱数によって初期化する。
【００４３】
行列更新部２３２は、以下の（２）式により、行列W、H、A、B の各要素を更新する。
【００４４】
【数８】
2014089518.tif 000010
【００４５】
ここで、ｗi,knewは更新後の基底行列Ｗのi行k列の要素、ｈk,jnewは更新後の基底行列Ｈのk行j列の要素、ａn,knewは更新後の係数行列Ａのｎ行ｋ列の要素、ｂk,mnewは更新後の係数行列Ｂのｋ行ｍ列の要素である。また、ｘ＾ｉ，ｊ，ｙ＾ｎ，ｊ，ｚ＾ｉ，ｍは、以下の式で表される。
【００４６】
【数９】
2014089518.tif 000011
【００４７】
行列更新部２３２の最大繰り返し数をTとする。t回目の行列更新部２３２の計算から得られたW、H、A、BをW(t)、H(t)、A(t)、B(t)と置く。初期化部２３１から出力される初期化された行列はW(0)、H(0)、A(0)、B(0)とする。
【００４８】
計算終了評価部２３３は、行列更新部２３２の繰り返し数がTに到達した場合、もしくは、以下の式に示す条件を満たした場合に計算を終了し、行列W(t)、H(t)、A(t)、B(t)を出力部３により出力する。
【００４９】
【数１０】
2014089518.tif 000012
【００５０】
上記の式は、上記（１）式の目的関数Ｄの変化分（t回目の計算結果と前回のt-1回目の計算結果の差分の絶対値）が、予め定めた誤差ε以下になった場合に、行列W(t)、H(t)、A(t)、B(t)が収束した（上記（１）式の目的関数Ｄが最小化された）と判定し、計算を終了することを意味する。
【００５１】
以上の処理により出力された行列W, Aは基底行列であり、行列H, Bは係数行列である。基底行列Wには、トピックｋ毎に、ソーシャルキュレーションサービスのトピックｋに該当するストーリーに頻繁に表れるユーザで、かつ、マイクロブログデータにおいて人気度の高いユーザがその基底に現れる。また、基底行列Aには、トピックｋ毎に、ソーシャルキュレーションサービスのトピックｋに該当するストーリーに含まれる投稿文書に頻繁に表れる単語で、かつ、マイクロブログデータにおいて人気度の高いユーザの投稿文書によく現れる単語がその基底に現れる。係数行列Hでは、トピックｋ毎に、ソーシャルキュレーションサービスの各ストーリーｊにおいて、行列Wの当該トピックｋの基底に現れるユーザと、行列Aの当該トピックｋの基底に現れる各単語がどの程度同時に頻繁に現れるかを表す指標がその値に現れる。係数行列Bには、トピックｋ毎に、行列Wの当該トピックｋの基底に現れるユーザが平均的にもつフォロワー数やリスト登録数が現れる。
【００５２】
＜文書解析装置の作用＞
次に、本実施の形態に係る文書解析装置１００の作用について説明する。まず、文書解析装置１００は、解析対象のデータ（マイクロブログサービスの複数の投稿文書についての形態素解析結果のデータと、ソーシャルキュレーションサービスの複数のストーリーのデータに含まれる各投稿文書についての形態素解析結果のデータと、マイクロブログサービス上の各ユーザの人気度を表す指標（友人数及びリスト登録数））が入力されると、文書解析装置１００において、データ記憶部２１に、入力された解析対象のデータが格納される。
【００５３】
そして、文書解析装置１００において、図５に示す文書解析処理ルーチンが実行される。
【００５４】
まず、ステップＳ１０１において、データ記憶部２１に記憶された解析対象のデータを読み込み、ステップＳ１０２において、上記ステップＳ１０１で読み込んだ解析対象のデータに基づいて、行列Ｘ、Ｙ、Ｚを生成する。
【００５５】
次のステップＳ１０３では、行列Ｗ、Ｈ、Ａ、Ｂの各要素を、乱数により初期化する。そして、ステップＳ１０４では、上記ステップＳ１０２で生成された行列Ｘ、Ｙ、Ｚと、上記ステップＳ１０３で初期化された行列Ｗ、Ｈ、Ａ、Ｂ、又はステップＳ１０４で前回更新された行列Ｗ、Ｈ、Ａ、Ｂとに基づいて、上記（２）式に従って、行列Ｗ、Ｈ、Ａ、Ｂの各要素を更新する。
【００５６】
ステップＳ１０５では、繰り返し回数が、予め定められた回数Ｔに到達したか否かを判定し、繰り返し回数がＴに到達していない場合には、上記ステップＳ１０４へ戻る。一方、繰り返し回数がＴに到達した場合には、上記（１）式の基準Ｄが最小化されたと判断し、ステップＳ１０６へ移行する。
【００５７】
ステップＳ１０６では、最終的に得られた行列Ｗ、Ｈ、Ａ、Ｂを、出力部３により出力して、文書解析処理ルーチンを終了する。
【００５８】
＜実施例＞
以下に、実施例を示す。本発明の効果を示すために、マイクロブログサービスであるTwitter（登録商標）と、そのソーシャルキュレーションサービスの１つであるTogetter（登録商標）から得たデータセットに対して、NMFとSNMFを用いて解析を行った結果について、定量的な評価と定性的な評価を行った。
【００５９】
なお、NMFの場合は、本発明の分解対象である行列X,Y,ZのうちXを入力データとしてNMFにより行列WとHに分解した。パープレキシティという指標を用いて定量的な評価を行った。パープレキシティは、モデルとデータの間の誤差を表し、良いモデルほどパープレキシティの値が減少する。分解結果のパープレキシティを以下の表１に示す。
【００６０】
【表１】
2014089518.tif 000013
SNMF（本発明）によって、パープレキシティの改善が確認できた。
【００６１】
次に定性的な評価を行う。行列分解によって得られた基底行列WとAの一部を表示する。Wの基底とそのトピックに対応するAの基底から、値の大きいユーザと単語を図6に表示する。話題１では、経済に関する単語（経済、消費、政策、円、デフレ等）と経済に関してソーシャルキュレーションに頻繁に現れるユーザが見られる。ユーザに関してTwitter（登録商標）のプロフィールを確認すると、経済に関する専門家が含まれていることが確認できた。話題４に関しては東日本大震災に関する単語（町、避難、情報など）が高い値を持ち、同時にユーザの中には岩手県広報課のアカウントなどが確認できた。話題５に関しても、同様に地震に関する単語（地震、福島、震度、速報、揺れるなど）が高い値を持ち、ユーザの中には時事通信のニュースを発信するアカウントや、首相官邸のアカウントなどが含まれている。従来のNMFではこのような結果は見られない。以上から、SNMFによってマイクロブログサービス上の特定の話題とその話題に関して信頼性の高い情報を発信しているユーザを発見出来るようになったといえる。
【００６２】
以上説明したように、本実施の形態に係る文書解析装置によれば、複数の投稿文書と、共通する話題について予め収集されたストーリーのデータと、各ユーザの人気度合いを示す指標とを用いて生成された行列Ｘ、行列Ｙ、行列Ｙを、トピックｋに該当するストーリーに、人気が高いユーザｉの投稿文書が含まれることを示す基底行列Ｗ、トピックｋに該当するストーリーに含まれる、人気が高いユーザの投稿文書において単語ｎが出現することを示す基底行列Ａ、係数行列Ｈ、及び係数行列Ｂに分解することにより、各トピックについて、人気が高いユーザと、人気が高ユーザの文書の中に含まれるキーワードとを発見するような解析が可能となる。
【００６３】
また、複数の解析対象データを同時に解析するため、Nonnegative Matrix Factorization（NMF）技術を拡張し、複数の補助情報を利用した行列分解を行えるようした。また、複数の解析対象データを同時に解析することにより、定量的にも定性的にも、より高い精度で、Twitter(登録商標)などのマイクロブログサービスの投稿データ（短いテキストの投稿が大量に蓄積されたデータ）の中から、信頼度の高いユーザ（例えばある話題に関する専門家など）を発見することができる。
【００６４】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００６５】
例えば、投稿文書そのものや、ストーリーのデータ（投稿文書集合）が文書解析装置に入力されてもよい。この場合には、文書解析装置は、入力された投稿文書、及びストーリーのデータに含まれる各投稿文書に対して、形態素解析を行うようにすればよい。
【００６６】
また、人気度合いを示す指標として、友人数やリスト登録数以外の指標を用いてもよい。
【００６７】
また、目的関数Ｄで用いる距離ｄが、一般化ＫＬ距離である場合を例に説明したが、これに限定されるものではなく、他の距離を用いてもよい。
【００６８】
また、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、プログラムをインストールすることによっても実現可能である。
【００６９】
また、上述の文書解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００７０】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００７１】
１     入力部
２     演算部
３     出力部
２１   データ記憶部
２２   行列加工部
２３   行列分解部
１００ 文書解析装置
２３１ 初期化部
２３２ 行列更新部
２３３ 計算終了評価部
【図１】
2014089518.tif 000020
【図２】
2014089518.tif 000021
【図３】
2014089518.tif 000022
【図４】
2014089518.tif 000023
【図５】
2014089518.tif 000024
【図６】
2014089518.tif 000025