(57)【特許請求の範囲】
【請求項１】
分析対象のトピックに関連する単語又は単語列（以下、「エンティティ」という）の曖昧性を解消する教師データの生成方法であって、
（ａ）コンピュータが、前記エンティティの集合に含まれる任意のエンティティを少なくとも１つ含んで発信されるメッセージを取得するステップと、
（ｂ）前記コンピュータが、取得したメッセージを該メッセージの発信者であるユーザ毎にまとめて、ユーザ毎のメッセージ集合を取得するステップと、
（ｃ）前記コンピュータが、前記ユーザ毎のメッセージ集合の中から、前記エンティティの集合に含まれる互いに異なるエンティティを第１閾値（１より大きい正の整数）以上含むメッセージ集合を特定し、該メッセージ集合のユーザをホットユーザとして識別するステップと、
（ｄ）前記コンピュータが、前記エンティティの集合に含まれるエンティティのうち曖昧性を解消すべきエンティティ（以下、「対象エンティティ」という）の指示を受け付けるステップと、
（ｅ）前記コンピュータが、ステップ（ａ）で取得したメッセージのうち前記対象エンティティを含むメッセージに含まれる各キーワードについて、前記ホットユーザのメッセージ集合における前記キーワードと前記対象エンティティとの共起しやすさを求めるステップと、
（ｆ）前記コンピュータが、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさに基づいて、前記対象エンティティに対する教師データを決定するステップと、
を含む方法。
【請求項２】
ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、前記対象エンティティ及び前記キーワードを含むメッセージを発信したユーザの総数に対する、前記対象エンティティ及び前記キーワードを含むメッセージを発信した前記ホットユーザの人数の割合を、前記対象エンティティを含むメッセージを発信したユーザの総数に対する、前記対象エンティティを含むメッセージを発信した前記ホットユーザの人数の割合で割った値を算出するステップを含む、請求項１に記載の方法。
【請求項３】
ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、対象エンティティについて言及したユーザが前記キーワードに言及する事象と、対象エンティティについて言及したユーザがホットユーザである事象についての自己相互情報量を算出するステップを含む、請求項１に記載の方法。
【請求項４】
ステップ（ｆ）において、前記コンピュータは、前記各キーワードについて算出した前記スコアと第２閾値とを比較することにより、前記各キーワードを前記対象エンティティに対する正例又は負例の教師データとするか否かを決定する、請求項２又は３に記載の方法。
【請求項５】
ステップ（ｆ）において、前記コンピュータは、ステップ（ａ）で取得した前記対象エンティティを含む各メッセージについて、該メッセージに含まれる前記各キーワードの前記スコアを足し合わせた合計値が、第３閾値よりも大きい場合に該メッセージを前記対象エンティティに対する正例の教師データと決定し、前記合計値が第４閾値よりも小さい場合に、前記メッセージを前記対象エンティティに対する負例の教師データと決定する、請求項２又は３に記載の方法。
【請求項６】
前記合計値の算出において、前記コンピュータは、キーワードごとの前記スコアに対し、該キーワードと前記対象エンティティとの同時出現頻度に応じた重み付けを行う、請求項５に記載の方法。
【請求項７】
前記コンピュータは、前記キーワードと前記対象エンティティとの前記同時出現頻度として、前記キーワードと前記対象エンティティとを含むメッセージを発信したユーザの人数を用いる、請求項６に記載の方法。
【請求項８】
ステップ（ｂ）において、前記コンピュータが、前記取得したメッセージを更に期間毎にまとめて、ユーザ及び期間毎のメッセージ集合を取得するステップと、ステップ（ｃ）において、前記コンピュータが、前記ユーザ及び期間毎のメッセージ集合の中から、前記エンティティの集合に含まれる互いに異なるエンティティを第５閾値（１より大きい整数）以上含むメッセージを特定し、該メッセージのユーザを該メッセージの期間におけるホットユーザとして識別するステップとを含む、請求項１に記載の方法。
【請求項９】
ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、前記対象エンティティ及び前記キーワードを含むメッセージを所定期間内において発信したユーザの総数に対する、前記対象エンティティ及び前記キーワードを含むメッセージを発信した前記所定期間内に含まれる全ての期間の前記ホットユーザの人数の割合を、前記対象エンティティを含むメッセージを前記所定期間内において発信したユーザの総数に対する、前記対象エンティティを含むメッセージを発信した前記所定期間内に含まれる全ての期間の前記ホットユーザの人数の割合で割った値を算出するステップを含む、請求項８に記載の方法。
【請求項１０】
ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、所定期間内において対象エンティティについて言及したユーザがキーワードに言及する事象と、前記所定期間内において対象エンティティについて言及したユーザがホットユーザーである事象についての自己相互情報量を算出するステップを含む、請求項８に記載の方法。
【請求項１１】
前記コンピュータに、請求項１乃至１０のいずれかに１項に記載の方法の各ステップを実行させるための教師データ生成プログラム。
【請求項１２】
請求項１乃至１０のいずれかに１項に記載の方法の各ステップを実行するように適合された手段を備える、教師データ生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析対象のトピックに関連する単語又は単語列（以下、「エンティティ」という）の曖昧性を解消するための教師データを自動生成する技術に関する。
【背景技術】
【０００２】
ある都市の主要な場所（例えば、観光スポット）や、イベント（例えば、モーターショー）に関するユーザーの声を分析することは、都市やイベントに対する評判や要求を把握する上で、地方自治体やイベント主催者にとって重要である。近年分析のために収集するユーザの声として、ソーシャルメディアの利用が検討されている。ソーシャルメディア、特にマイクロブログは通常のブログと比較してリアルタイム性が高いという特徴を持つ。そのため、ユーザーがイベント会場や観光スポットなどその場で感じたことがよりダイレクトにメッセージに反映されることが期待される。
【０００３】
分析対象のトピック（例えば、都市やイベント）に関連したメッセージをソーシャルメディアから収集するには、あらかじめその分析対象のトピックに関連するエンティティの集合を定義しておき、集合に含まれるエンティティを１以上含むメッセージを抽出すればよい。しかし、エンティティに曖昧性がある場合、上記の方法で収集したメッセージには分析対象のトピックとは関係のないメッセージが含まれる可能性がある。そのため、エンティティの曖昧性解消を行い、分析トピックと関係のないメッセージを除去する必要がある。
【０００４】
従来の語義曖昧性解消アルゴリズムは、多くがタグ付きコーパスを用いた教師あり学習に基づく（例えば非特許文献４を参照）。タグ付きコーパス、即ち教師データとは、上記の例では各エンティティに対して、分析対象のトピックかどうかの二値のラベルが付与されたメッセージ集合である。しかしながら、日々多様な話題が生み出されるソーシャルメディアにおいて、人手で教師データを作成するのは現実的ではない。教師データを自動獲得して曖昧性解消を行う手法が必要とされている。
【０００５】
そのような教師データを自動獲得する技術を開示する従来技術として、非特許文献１及び２が存在する。これらの文献は、企業のウェブサイトやウィキペディアを利用することで教師データを獲得し、曖昧性のある企業名に対して曖昧性解消を行う技術を開示する。
【０００６】
また、非特許文献３は、ウィキペディアで記事を執筆しているユーザに対して興味モデルを構築することにより、そのユーザがソーシャルメディアで発信したメッセージに含まれるエンティティの曖昧性を解消する技術を開示する。
【０００７】
また特許文献１は、検索語を含む検索要求と、検索目的に合致する分野の選択をユーザから受けると、分野別共起語ＤＢを参照して、共起語を１または複数追加して文書検索を実行する技術を開示する。
【０００８】
また特許文献２は、検索キーワードと共に同じ文書に出現する形態素を共起語として特定するにあたり、所定期間内に取得された形態素を共起語として抽出する技術を開示する。
【０００９】
また特許文献３は、複数の文書から、デフォルトトピックタグを含む文書を抽出し、抽出された文書における単語の出現頻度を算出し、該出現頻度を用いて、デフォルトトピックタグを含む文書以外の文書から、トピックに関連する文書を抽出する技術を開示する。
【００１０】
しかしながら非特許文献１〜３の技術は、ウィキペディアなどの外部知識を用いる技術であるため、外部知識の充実度合いに大きく依存するという問題がある。最も充実度が高い知識源として期待されるウィキペディア であっても、一般に知られていないようなエンティティについての情報はカバーしきれていないのが現状であり、ソーシャルメディアの話題の多様性に適応するのが難しいケースが存在する。
【００１１】
また、特許文献１の技術は、活用実績のある、または活用可能と判断した文書を登録し、登録した文書から共起語を抽出するが、抽出した共起語が曖昧性を解消する教師データとして有効に機能するには、文書の登録の際にその分野を一緒に登録することが必須となる。これは人手を要する作業でありコストがかかる。また、活用実績の有るような文書では、一般に知られていないようなエンティティについての情報はカバーしきれないという問題もある。
【００１２】
また、特許文献２の技術は、検索キーワードと共に同じ文書に出現する形態素を共起語として特定する。しかしながら、検索キーワードが文書内で意図する意味で使用されているとは限らないため、同一文書内に出現する形態素を共起語として抽出しても、抽出した形態素が検索キーワードの曖昧性を解消する教師データとして機能することは保証されない。
【００１３】
また特許文献３の技術は、トピックを示すデフォルトトピックタグを含む文書における単語の出現頻度を用いてトピックに関連する文書を抽出する。しかしながら、例えば文書に含まれるデフォルトトピックタグが１つの場合、その文書がトピックを示す文書であるとは限らない。文書に含まれる唯一のデフォルトトピックタグが曖昧性を有する場合はなおさらである。従って、トピックを示すデフォルトトピックタグを含む文書において出現頻度の高い単語を、曖昧性を解消する教師データとして利用することはできない。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００３−２２２７５号公報
【特許文献２】特開２０１４−００２６５３号公報
【特許文献３】特開２０１４−０３２５３６号公報
【非特許文献】
【００１５】
【非特許文献１】D. Spina, et al., "Discovering Filter Keywords for Company Name Disambiguation in Twitter." Expert Systems with Applications40.12 (2013): 4986-5003
【非特許文献２】Z. Miklos, et al., "Entity-based classificationof twitter messages." International Journal of Computer Science & Applications9.EPFL-ARTICLE-174746 (2012): 88-115.
【非特許文献３】E. L. Murnane, et al., "RESLVE:leveraging user interest to improve entity disambiguation on short text." Proceedings of the 22nd international conference on World Wide Webcompanion. International World Wide Web Conferences Steering Committee, 2013.
【非特許文献４】A. Davis,et al., " Named entity disambiguation in streaming data." Proceedingsof the 50th Annual Meeting of the Association for Computational Linguistics:Long Papers-Volume 1. Association for Computational Linguistics, 2012.
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明は、上記従来技術における問題点に鑑みてなされたものであり、ソーシャルメディアなどのように日々多様な話題が生み出されるメディアから発信されるメッセージに対しても適用可能であり、外部知識を必要としない、エンティティの曖昧性を解消するための教師データを自動生成する生成方法、生成システム、及び生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、上記従来技術の課題を解決するために以下の特徴を有する、エンティティの曖昧性を解消する教師データの生成方法を提供する。本発明の教師データの生成方法は、（ａ）コンピュータが、前記エンティティの集合に含まれる任意のエンティティを少なくとも１つ含んで発信されるメッセージを取得するステップと、（ｂ）前記コンピュータが、取得したメッセージを該メッセージの発信者であるユーザ毎にまとめて、ユーザ毎のメッセージ集合を取得するステップと、（ｃ）前記コンピュータが、前記ユーザ毎のメッセージ集合の中から、前記エンティティの集合に含まれる互いに異なる前記エンティティを第１閾値（１より大きい正の整数）以上含むメッセージ集合を特定し、該メッセージ集合のユーザをホットユーザとして識別するステップと、（ｄ）前記コンピュータが、前記エンティティの集合に含まれるエンティティのうち曖昧性を解消すべきエンティティ（以下、「対象エンティティ」という）の指示を受け付けるステップと、（ｅ）前記コンピュータが、ステップ（ａ）で取得したメッセージのうち前記対象エンティティを含むメッセージに含まれる各キーワードについて、前記ホットユーザのメッセージ集合における前記キーワードと前記対象エンティティとの共起しやすさを求めるステップと、（ｆ）前記コンピュータが、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさに基づいて、前記対象エンティティに対する教師データを決定するステップとを含む。
【００１８】
好ましくは、上記ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、前記対象エンティティ及び前記キーワードを含むメッセージを発信したユーザの総数に対する、前記対象エンティティ及び前記キーワードを含むメッセージを発信した前記ホットユーザの人数の割合を、前記対象エンティティを含むメッセージを発信したユーザの総数に対する、前記対象エンティティを含むメッセージを発信した前記ホットユーザの人数の割合で割った値を算出するステップを含む。これに代えて、上記ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、対象エンティティについて言及したユーザが前記キーワードに言及する事象と、対象エンティティについて言及したユーザがホットユーザである事象についての自己相互情報量を算出するステップを含んでもよい。
【００１９】
より好ましくは、上記ステップ（ｆ）において、前記コンピュータは、前記各キーワードについて算出した前記スコアと第２閾値とを比較することにより、前記各キーワードを前記対象エンティティに対する正例又は負例の教師データとするか否かを決定する。
【００２０】
また好ましくは、上記ステップ（ｆ）において、前記コンピュータは、ステップ（ａ）で取得した前記対象エンティティを含む各メッセージについて、該メッセージに含まれる前記各キーワードの前記スコアを足し合わせた合計値が、第３閾値よりも大きい場合に該メッセージを前記対象エンティティに対する正例の教師データと決定し、前記合計値が第４閾値よりも小さい場合に、前記メッセージを前記対象エンティティに対する負例の教師データと決定する。
【００２１】
より好ましくは、前記合計値の算出において、前記コンピュータは、キーワードごとの前記スコアに対し、該キーワードと前記対象エンティティとの同時出現頻度に応じた重み付けを行う。
【００２２】
更に好ましくは、前記コンピュータは、前記キーワードと前記対象エンティティとの前記同時出現頻度として、前記キーワードと前記対象エンティティとを含むメッセージを発信したユーザの人数を用いる。
【００２３】
また好ましくは、上記ステップ（ｂ）において、前記コンピュータが、前記取得したメッセージを更に期間毎にまとめて、ユーザ及び期間毎のメッセージ集合を取得するステップと、ステップ（ｃ）において、前記コンピュータが、前記ユーザ及び期間毎のメッセージ集合の中から、前記エンティティの集合に含まれる互いに異なるエンティティを第５閾値（１より大きい整数）以上含むメッセージを特定し、該メッセージのユーザを該メッセージの期間におけるホットユーザとして識別するステップとを含む。
【００２４】
更に好ましくは、上記ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、前記対象エンティティ及び前記キーワードを含むメッセージを所定期間内において発信したユーザの総数に対する、前記対象エンティティ及び前記キーワードを含むメッセージを発信した前記所定期間内に含まれる全ての期間の前記ホットユーザの人数の割合を、前記対象エンティティを含むメッセージを前記所定期間内において発信したユーザの総数に対する、前記対象エンティティを含むメッセージを発信した前記所定期間内に含まれる全ての期間の前記ホットユーザの人数の割合で割った値を算出するステップを含む。これに代えて、ステップ（ｅ）は、前記ホットユーザのメッセージ集合における前記各キーワードと前記対象エンティティとの共起しやすさを示すスコアとして、前記コンピュータが、所定期間内において対象エンティティについて言及したユーザがキーワードに言及する事象と、前記所定期間内において対象エンティティについて言及したユーザがホットユーザーである事象についての自己相互情報量を算出するステップを含んでもよい。
【００２５】
上記では、対象エンティティの曖昧性を解消する教師データの生成方法として本発明を説明した。しかし本発明は、そのような教師データの生成方法の各ステップをコンピュータに実行させる教師データ生成プログラム、及び該教師データ生成プログラムをコンピュータにインストールして実現される教師データの生成システムとして把握することもできる。
【発明の効果】
【００２６】
上述した構成の曖昧性を解消する教師データの生成方法によれば、分析対象のトピックについて熱心にメッセージを発信するユーザがホットユーザとして特定され、ホットユーザが発信したメッセージの集合においてエンティティとキーワードの共起しやすさが算出される。そして算出された共起しやすさに基づいて、エンティティの曖昧性を解消する教師データが決定される。このように本発明は、ホットユーザが発信したメッセージの集合を利用して教師データを生成するので、外部知識を必要としない上に、一般にはまだ知られていないようなエンティティについての情報もカバーし得る。本発明のその他の効果については、各実施の形態の記載から理解される。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係る教師データ生成システムを実現するのに好適な情報処理装置のハードウェア構成の一例を示す図である。
【図２】本実施形態に係る教師データ生成システムの機能ブロック図の一例を示す図である。
【図３】図３（ａ）は、あるエンティティとキーワードの共起しやすさを表す P/N スコアの算出に必要な値の意味を説明する図である。図３（ｂ）は、あるエンティティとキーワードの共起しやすさを表す P/Nスコアの算出に必要な値の意味を説明する別の図である。
【図４】本実施形態に係る教師データ生成処理の流れの一例を示すフローチャートある。
【図５】図４に示すフローチャートのステップ４０８の処理の流れの一例を示すフローチャートある。
【図６】分析対象のトピックとして東京モーターショー２０１３を用いた場合の、キーワードごとのP/N スコアの一例を示す表である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００２９】
図１は、本発明を実施するためのコンピュータ１００の例示的なハードウェア構成を示す。  コンピュータ１００は、ＣＰＵ１０２とメイン・メモリ１０４とを備えており、これらはバス１０６に接続されている。ＣＰＵ１０２は好ましくは、３２ビット又は６４ビットのアーキテクチャに基づくものである。当該ＣＰＵ１０２は例えば、インテル社のＣｏｒｅ（商標）ｉシリーズ、Ｃｏｒｅ（商標）２シリーズ、Ａｔｏｍ（商標）シリーズ、Ｘｅｏｎ（登録商標）シリーズ、Ｐｅｎｔｉｕｍ（登録商標）シリーズ若しくはＣｅｌｅｒｏｎ（登録商標）シリーズ、ＡＭＤ（Advanced Micro Devices）社のＡシリーズ、Ｐｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（商標）シリーズ若しくはＳｅｍｐｒｏｎ（商標）、又は、インターナショナル・ビジネス・マシーンズ・コーポレーションのＰｏｗｅｒ（商標）シリーズでありうる。
【００３０】
バス１０６には、ディスプレイ・コントローラ１０８を介して、ディスプレイ１１０、例えば液晶ディスプレイ（ＬＣＤ）が接続されうる。また、液晶ディスプレイ（ＬＣＤ）は例えば、タッチパネル・ディスプレイ又はフローティング・タッチ・ディスプレイであてもよい。ディスプレイ１１０は、コンピュータ１００上で動作中のソフトウェア、例えば本実施態様に従うコンピュータ・プログラムが稼働することによって表示される情報、例えば教師データを、適当なグラフィック・インタフェースで表示するために使用されうる。
【００３１】
バス１０６には任意的に、例えばＳＡＴＡ又はＩＤＥコントローラ１１２を介して、記憶装置１１４、例えばハードディスクドライブと、ドライブ１１６、例えばＣＤ、ＤＶＤ又はＢＤドライブが接続されうる。
【００３２】
バス１０６には、周辺装置コントローラ１１８を介して、例えばキーボード・マウス・コントローラ又はＵＳＢバスを介して、任意的に、キーボード１２０及びマウス１２２が接続されうる。
【００３３】
記憶装置１１４には、オペレーティング・システム、例えばＷｉｎｄｏｗｓ（登録商標）ＯＳ、ＵＮＩＸ（登録商標）、ＭａｃＯＳ（登録商標）など、及び、本施態様に従うコンピュータ・プログラム、及びその他のプログラム、並びにデータが、メイン・メモリ１０４にロード可能なように記憶されうる。
【００３４】
記憶装置１１４は、コンピュータ１００内に内蔵されていてもよく、当該コンピュータ１００がアクセス可能なようにケーブルを介して接続されていてもよく、又は、当該コンピュータ１００がアクセス可能なように有線又は無線ネットワークを介して接続されていてもよい。
【００３５】
ドライブ１１６は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤ１１７からコンピュータ・プログラム、例えばオペレーティング・システム又はアプリケーションを記憶装置１１４にインストールするために使用されうる。なお、コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【００３６】
通信インタフェース１２６は、例えばイーサネット（登録商標）・プロトコルに従う。通信インタフェース１２６は、通信コントローラ１２４を介してバス１０６に接続され、コンピュータ１００を通信回線１２８に有線又は無線接続する役割を担い、コンピュータ１００のオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インタフェース層を提供する。通信回線は例えば、有線ＬＡＮ接続規格に基づく有線ＬＡＮ環境、又は無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境、例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどのＷｉ−Ｆｉ無線ＬＡＮ環境、若しくは携帯電話網環境（例えば、３Ｇ、又は４Ｇ（ＬＴＥを含む）環境）でありうる。
【００３７】
コンピュータ１００は、通信回線１２８を介して他のコンピュータからのデータを受信し、記憶装置１１４上に格納しうる。
【００３８】
以上の説明により、コンピュータ１００は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、又は、これらの組み合わせによって実現されることが容易に理解されるであろう。なお、上記説明した構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。同様に本発明を実施するためのコンピュータ１００は、スピーカー等の他の構成要素を含むことも可能であることは言うまでもない。
【００３９】
図２は、本実施形態に係る教師データ生成システム２００の機能ブロック図の一例を示す。教師データ生成システム２００は、分析対象のトピックに対するエンティティの集合を入力として、分析対象のトピックについて熱心にメッセージを発信するユーザを見つけ出し、該ユーザの発信するメッセージの集合において、対象とするエンティティと共起しやすい／共起しにくいキーワードを特定することにより、対象とするエンティティに対する教師データを自動獲得する。そのような教師データ生成システム２００は、エンティティ集合格納部２０２と、メッセージ取得部２０４と、メッセージ格納部２０６と、分類部２０８と、ホットユーザ識別部２１０と、指示受付部２１２と、スコア算出部２１４と、教師データ決定部２１６とを含む。エンティティ集合格納部２０２とメッセージ格納部２０６とは、物理的に同一の記憶装置であってもよく、或いは複数の記憶装置であってもよい。以下各構成要素について説明する。
【００４０】
エンティティ集合格納部２０２は、分析対象のトピックに関連する単語又は単語列であるエンティティの集合を格納する。分析対象のトピックが例えば「東京モーターショー２０１３」であるとすると、エンティティの集合には、イベントのウェブサイトやガイドブックを参考に、出展企業名や出展車名をエンティティとして設定してよい。また、分析対象のトピックが例えば「京都」であるとすると、エンティティの集合には、ガイドブックを参考に、清水寺や金閣寺、鴨川といった観光名所をエンティティとして設定してよい。エンティティの集合は人手で作成してよく、或いは、既存の検索クエリ拡張手法などを利用して作成してもよい。以下では説明を簡単にするため、分析対象のトピックに対するエンティティ集合を記号E、エンティティ集合Eの要素であるエンティティを記号e（e∈E）で表す。
【００４１】
メッセージ取得部２０４は、エンティティ集合格納部２０２からエンティティ集合Eを読み出し、エンティティ集合E内の任意のエンティティeを少なくとも１つ含んでユーザより発信されるメッセージを取得する。好ましくは、メッセージ取得部２０６は、エンティティ集合E内の任意のエンティティeを少なくとも１つ含み、かつ、所定の期間内にユーザにより発信されたメッセージを取得する。メッセージ取得部２０４が取得するメッセージは、マイクロブログなどソーシャルメディアにより発信されるリアルタイム性の高いメッセージが好ましいが、これに限定されず、通常のブログの記事など他のユーザ発信情報であってもよい。
【００４２】
メッセージ取得部２０４は、メッセージを、各サービスにおいて提供されるＡＰＩを利用して取得してよく、又は、サービス提供者から直接入手してもよい。メッセージ取得部２０４は、更にウェブクローラーによって適切なアクセス権を有するメッセージを取得してもよい。メッセージは、メッセージの発信者を識別するユーザ情報、メッセージの発信時刻を示す時刻情報を含むメタデータを付加情報として含む。メタデータが存在せず、ユーザ情報がメッセージテキスト内に所定の書式に従って含まれる場合、メッセージ取得部２０４はメッセージテキストから所定の書式に基づいて文字列マッチングによりユーザ情報を抽出してよい。メッセージ取得部２０４は、取得したメッセージをメッセージ格納部２０６に格納する。
【００４３】
分類部２０８は、メッセージ格納部２０６からメッセージを読み出し、読み出したメッセージをメタデータに基づきユーザ毎にまとめて、ユーザ毎のメッセージ集合を生成する。好ましくは分類部２０８は、各ユーザのメッセージの集合をメタデータに基づき更に期間毎にまとめる。そして分類部２０８は、各メッセージについて形態素解析を行い、メッセージに含まれるエンティティeの集合と、メッセージに含まれる任意の単語又は単語列であるキーワードの集合とを作成する。以下では説明を簡単にするため、メッセージ取得部２０４により取得されたメッセージを記号m=(um,tm, Em, Wm)で表す。各記号の意味は以下の通りである。
U: メッセージ取得部２０４により収集されたメッセージを発信したユーザの集合
Di: 収集期間D1, D2, …, Dn (Di=[ti, ti+δ), ti+1=ti+δ)、但しδは期間の長さを表すパラメータ
um: メッセージ m を発信したユーザー、um∈U
tm: メッセージ m を発信した時刻、tm∈Di
Em: メッセージ m に含まれるエンティティ集合、Em⊆E
Wm: メッセージ m に含まれるキーワード集合
分類部２０８によりまとめられたメッセージmは再びメッセージ格納部２０６に格納される。
【００４４】
ホットユーザ識別部２１０は、メッセージ格納部２０６に格納される各ユーザuのメッセージ集合について、ユーザuが期間Diに発信したメッセージ集合に含まれるエンティティeの集合E(u, Di) を求める。そしてホットユーザ識別部２１０は、互いに異なるエンティティeを閾値θ（θは１より大きい正の整数）以上含むE(u, Di)を特定し、特定したE(u, Di)のユーザuをホットユーザとして識別する。従って、期間Diにおけるホットユーザとは、期間Diにおいて、θ以上のエンティティeについて言及したユーザであり、分析対象のトピックについて熱心にメッセージを発信するユーザである。以下では期間Diにおける分析対象のトピックのホットユーザを記号Uhot(Di)を用いて表す。Uhot(Di)= {u∈U | |E(u, Di)| ≧θ}である。ホットユーザ識別部２１０により識別されたホットユーザの情報は、後述するスコア算出部２１４に渡される。
【００４５】
指示受付部２１２は、ユーザから入力装置（例えば、図１のキーボード１２０やマウス１２２）を介して、または記憶装置（例えば、図１のＨＤＤ１１４、１１７）から読み出すことにより、エンティティ集合Eに含まれるエンティティeのうち曖昧性を解消すべきエンティティ（以下、「対象エンティティeo」という）の指示を受け付ける。対象エンティティeoの指示は、通信インタフェース（例えば、図１の通信インタフェース１２６）を介してリモート・コンピュータから受け取ってもよい。指示受付部２１２により受け付けられた対象エンティティeoの情報は、後述するスコア算出部２１４に渡される。
【００４６】
スコア算出部２１４は、ホットユーザが発信したメッセージにおいて、対象エンティティeoと各キーワードwの共起しやすさを表すP/Nスコア、PNscore(eo,w)を算出する。ここで各キーワードwは、メッセージ取得部２０４により取得されたメッセージのうち、対象エンティティeoを含むメッセージに含まれる任意の単語又は単語列である。このようなスコアを算出するのは次の理由による。即ち、分析対象のトピックに強い関心のあるホットユーザが発信するメッセージにおいて出現する対象エンティティeoは、分析対象のトピックの文脈で使用されていることが期待される。そのため、ホットユーザが発信したメッセージにおいて対象エンティティeoと共起しやすいキーワードwは、対象エンティティeoの曖昧性を解消する正の教師データとして利用できる。逆に言えば、そのような対象エンティティeoと共起しにくいキーワードwは、対象エンティティeoの曖昧性を解消する負の教師データとして利用できる。そこで、本発明では、対象エンティティeo に対する正の教師データ及び負の教師データとしての利用可能性を判別する指標として、キーワードwごとのP/Nスコア算出する。以下、PNscore(eo,w)の算出方法を説明する。
【００４７】
スコア算出部２１４はまず、期間Diにおいて、対象エンティティeoを含むメッセージを発信しているユーザー集合U(Di, eo)とホットユーザー集合Uhot(Di,eo)とをそれぞれ以下のように算出する。
・U(Di, eo) = {u∈U |∃m(u, tm,Em, Wm), tm∈Di∧eo∈Em}  −  （１）
・Uhot(Di, eo) = {u∈Uhot(Di)|∃m(u, tm, Em, Wm), tm∈Di∧eo∈Em}  −（２）
【００４８】
スコア算出部２１４は、上記（２）のホットユーザー集合Uhot(Di,eo)の総数をメッセージの収集期間に含まれる全期間について足し合わせたものを、上記（１）のユーザー集合U(Di, eo)の総数を上記収集期間に含まれる全期間について足し合わせたもので割ることにより、全期間において対象エンティティeo を含むメッセージを発信したユーザの総数に対するホットユーザの総数の割合ratiohot(eo)を算出する。
・ratiohot(eo)= ΣDi |Uhot(Di, eo)| /ΣDi |U(Di,eo)| −  （３）
【００４９】
スコア算出部２１４はまた、期間Diにおいて、対象エンティティeoを含み、かつ、キーワードwを含むメッセージを発信しているユーザー集合U(Di, eo,w)とホットユーザー集合Uhot (Di, eo, w) とをそれぞれ以下のように算出する。
・U(Di, eo, w) = {u∈U |∃m(u, tm,Em, Wm), tm∈Di∧eo∈Em∧w∈Wm }−  （４）
・Uhot (Di, eo, w) = {u∈Uhot (Di)|∃m(u, tm, Em, Wm), tm∈Di∧eo∈Em∧w∈Wm }−  （５）
【００５０】
スコア算出部２１４は、上記（５）のホットユーザー集合Uhot (Di,eo, w)の総数をメッセージの収集期間に含まれる全期間について足し合わせたものを、上記（４）のユーザー集合U(Di, eo,w)の総数を上記収集期間に含まれる全期間について足し合わせたもので割ることにより、全期間において対象エンティティeo を含み、かつ、キーワードwを含むメッセージを発信したユーザの総数に対するホットユーザの総数の割合ratiohot(eo,w)を算出する。
・ratiohot(eo, w) = ΣDi|Uhot(Di, eo, w)|/ ΣDi|U(Di,eo, w)|−  （６）
【００５１】
最終的にスコア算出部２１４は、上記（３）のratiohot(eo)と（６）のratiohot(eo, w)を用いて、ホットユーザーのメッセージ集合における、対象エンティティeoとキーワード w の共起しやすさを表すスコアPNscore(eo,w)を以下のように算出する。
・ PNscore(eo,w) = ratiohot(eo, w)/ ratiohot(eo) −  （７）
このようにして算出されるP/Nスコアは、ホットユーザが発信したメッセージにおいてキーワードwが対象エンティティeoと共起しやすい場合に１よりも大きい値を示し、ホットユーザが発信したメッセージにおいてキーワードwが対象エンティティeoと共起しにくい場合に１よりも小さい値を示す。スコア算出部２１４により算出されたキーワードwごとのP/Nスコアは後述する教師データ決定部２１６に渡される。
【００５２】
また、P/NスコアはPMI（自己相互情報量）をベースにしたスコアを採用することもできる。対象エンティティeoについて言及したユーザがキーワードwに言及する事象をx、対象エンティティeoについて言及したユーザーがホットユーザである事象をyとすると、P/Nスコアを次式のように定義することも可能である。
・PNscore(eo, w) = PMI(x, y) = log( Pr(x,y) / Pr(x) Pr(y) ) −  （８）
ここで、
・Pr(x) =ΣDi|U(Di, eo, w)| / ΣDi|U(Di, eo)| −  （９）
・Pr(y) =ΣDi |Uhot(Di, eo)|/ΣDi |U(Di,eo)| −  （１０）
・Pr(x,y)= ΣDi|Uhot(Di, eo, w)|/ ΣDi|U(Di,eo)| −  （１１）
である。このようにして算出されるP/Nスコアは、ホットユーザが発信したメッセージにおいてキーワードwが対象エンティティeoと共起しやすい場合に０よりも大きい値を示し、ホットユーザが発信したメッセージにおいてキーワードwが対象エンティティeoと共起しにくい場合に０よりも小さい値を示す。
【００５３】
ここで図３（ａ）、（ｂ）を参照して、P/Nスコアを具体的に説明する。図３（ａ）、（ｂ）に示す例は、分析対象のトピックを「東京モーターショー2013」とし、曖昧性を解消すべき対象エンティティeoを単語「Jaguar」とする。単語「Jaguar」は、ネコ科の哺乳類に関する文脈で用いられたり、車のブランド名に関する文脈で用いられるなど、複数の意味で用いられる。ここでは、分析対象のトピックが「東京モーターショー2013」であることから、車のブランド名に関する文脈で用いられる単語「Jaguar」と共起しやすい単語については、P/Nスコアは高い値を示し、共起しにくい単語についてはP/Nスコアは低い値を示すことが期待される。
【００５４】
図３（ａ）は、単語「Jaguar」を含むメッセージを発信したユーザの集合U(eo)と、単語「Jaguar」と単語「animal」を含むメッセージを発信したユーザの集合U(eo,w)と、分析対象のトピック「東京モーターショー2013」についてのホットユーザの集合Uhot(eo)の包含関係の一例を示す図である。図３（ａ）に示されるように、ホットユーザの集合Uhot(eo)の中で、単語「Jaguar」と単語「animal」を含むメッセージを発信したユーザはごく僅かである（領域３００を参照）。従って以下に示す式（１２）により表されるPNscore(eo,w)の値は１よりも小さくなり、また、式（８）により表されるPNscore(eo, w)の値も0よりも小さくなり、ホットユーザが発信するメッセージにおいて、単語「animal」は単語「Jaguar」と共起しにくい単語であることが分かる。
【数１】
0005957048.tif 000002
なお、式（１２）では、説明を簡単にするため期間のパラメータを省いている。式（１２）により表されるP/Nスコアが値１よりも小さいことから、また、式（８）により表されるP/Nスコアが値０よりも小さいことから、単語「animal」は、単語「Jaguar」に対して負の教師データとして利用できることが分かる。
【００５５】
図３（ｂ）は、単語「Jaguar」を含むメッセージを発信したユーザの集合U(eo)と、単語「Jaguar」と単語「coupe」を含むメッセージを発信したユーザの集合U(eo,w)と、分析対象のトピック「東京モーターショー2013」についてのホットユーザの集合Uhot(eo)の包含関係の一例を示す図である。図３（ｂ）に示されるように、ホットユーザの多くが、単語「Jaguar」と単語「coupe」を含むメッセージを発信している（領域３０２を参照）。従って上式（１２）により表されるPNscore(eo,w)の値は１よりも大きく、また、上式（８）により表されるPNscore(eo, w)の値は0よりも大きく、ホットユーザが発信するメッセージにおいて、単語「coupe」は単語「Jaguar」と共起しやすい単語であることが分かる。P/Nスコアが大きいことから、単語「coupe」は、単語「Jaguar」に対して正の教師データとして利用できることが分かる。
【００５６】
教師データ決定部２１６は、スコア算出部２１４により算出されたP/Nスコアに基づいて、対象エンティティeoに対する教師データを決定する。より具体的には、教師データ決定部２１６は、各キーワードwについて算出したP/Nスコアが、上式（７）を採用した場合は値１、上式（８）を採用した場合は値０よりも大きい場合に、該キーワードwを対象エンティティeoに対する正例の教師データと決定してよい。また、教師データ決定部２１６は、各キーワードwについて算出したP/Nスコアが、上式（７）を採用した場合は値１、上式（８）を採用した場合は値０よりも小さい場合に、該キーワードwを対象エンティティeoに対する負例の教師データと決定してよい。
【００５７】
上記に代えて教師データ決定部２１６は、メッセージ取得部２０４により取得された対象エンティティeoを含む各メッセージについて、正例及び負例の教師データを決定してもよい。より具体的には、教師データ決定部２１６は、上記メッセージに含まれる各キーワードwのP/Nスコアを足し合わせた合計値が、閾値τpよりも大きい場合に該メッセージを対象エンティティeoに対する正例の教師データと決定してよい。同様に教師データ決定部２１６は、上記合計値が閾値τnよりも小さい場合に、上記メッセージを対象エンティティeoに対する負例の教師データと決定してよい。
【００５８】
教師データ決定部２１６は更に、各メッセージについて各キーワードwのP/Nスコアを足し合わせた合計値を算出する際に、次式（１３）に示すように、キーワードwごとのP/Nスコアに対し、該キーワードwと対象エンティティeoとの同時出現頻度に応じた重み付けを行ってよい。
【数２】
0005957048.tif 000003
キーワードwと対象エンティティeoとの同時出現頻度としては、次式（１４）に示すように、キーワードwと対象エンティティeoとを含むメッセージを発信したユーザの人数を用いてよい。
【数３】
0005957048.tif 000004
教師データ決定部２１６により決定された教師データの情報は、対象エンティティeoの曖昧性を解消するために利用される。対象エンティティeoの曖昧性解消は、既知の教師あり文書分類の枠組み、例えば、ナイーブベイズ分類器やサポートベクタマシーンなど、を用いて行ってよい。これら技術は本発明の要旨ではなく公知技術であるため、本明細書において詳細な説明はしない。
【００５９】
また、教師データ決定部２１６により決定された教師データの情報そのものを、対象エンティティeoの曖昧性解消結果として用いることもできる。正例の教師データを対象トピックに関連するエンティティとして、負例の教師データを対象トピックに関連しないエンティティとして、対象エンティティeoの曖昧性解消結果として用いてもよい。
【００６０】
次に図４を参照して、本実施形態に係る教師データ生成システム２００による教師データ生成処理の流れの一例を説明する。教師データ生成処理はステップ４００で開始し、メッセージ取得部２０４は、エンティティ集合格納部２０２に格納される分析対象のトピックを示すエンティティの集合Eを参照して、エンティティの集合E内の任意のエンティティeを少なくとも１つ含む、所定の期間内に発信されたメッセージを取得し、メッセージ格納部２０６に格納する。
【００６１】
続いて分類部２０８は、メッセージと共に取得されたメタデータに基づいて、メッセージ取得部２０４により取得されたメッセージを、ユーザu毎、また、期間Di毎のメッセージに分類する（ステップ４０２）。続いてホットユーザ識別部２１０は、分類部２０８により分類されたユーザu毎かつ期間Di毎のメッセージの集合について、該集合内のメッセージに含まれるエンティティの集合E(u, Di)を求め、含まれるエンティティの数|E(u, Di)|が閾値θ以上であるメッセージ集合のユーザuを、期間Diにおけるホットユーザとして識別する（ステップ４０４）。
【００６２】
続いて指示受付部２１２は、ユーザから対象エンティティeoの指示を受け付ける（ステップ４０６）。続いてスコア算出部２１４は、対象エンティティeoを含むメッセージに含まれる各キーワードwについて、P/Nスコアを算出する（ステップ４０８）。スコア算出部２１４による処理の詳細は、図５を参照して後述する。最後に教師データ決定部２１６は、スコア算出部２１４により算出されたキーワードwごとのP/Nスコアに基づいて、対象エンティティeoに対する正例及び負例の教師データを決定する（ステップ４１０）。そして処理は終了する。
【００６３】
次に図５を参照して、スコア算出部２１４によるスコア算出処理の流れの一例を説明する。スコア算出処理はステップ５００で開始し、スコア算出部２１４は、期間Diにおいて、対象エンティティeoを含むメッセージを発信するユーザの集合U(Di, eo)と、同じく、期間Diにおいて、対象エンティティeoを含むメッセージを発信するホットユーザの集合Uhot(Di, eo)とを算出する。
【００６４】
続いてスコア算出部２１４は、期間Diにおいて、対象エンティティeoとP/Nスコアを算出するキーワードwとを含むメッセージを発信するユーザの集合U(Di, eo,w)と、同じく、期間Diにおいて、上記キーワードwと対象エンティティeoを含むメッセージを発信するホットユーザの集合Uhot (Di,eo, w)とを算出する（ステップ５０２）。
【００６５】
続いてスコア算出部２１４は、対象とする全期間における対象エンティティeoを含むメッセージを発信したユーザの総数に対する、上記全期間における対象エンティティeoを含むメッセージを発信したホットユーザの総数の割合ratiohot(eo)を算出する（ステップ５０４）。続いてスコア算出部２１４は、対象とする全期間における対象エンティティeo とP/Nスコアを算出するキーワードwとを含むメッセージを発信したユーザの総数に対する、対象とする全期間における上記キーワードwと対象エンティティeoとを含むメッセージを発信したホットユーザの総数の割合ratiohot(eo, w)を算出する（ステップ５０６）。
【００６６】
最後にスコア算出部２１４は、ステップ５０６で求めた値ratiohot(eo, w)を、ステップ５０４で求めた値ratiohot(eo)で割って、キーワードwについてのP/Nスコア（ratiohot(eo,w)/ratiohot(eo)）を得る（ステップ５０８）。そして処理は終了する。
【００６７】
次に図６を参照して、本発明が提案するP/Nスコアの評価実験について述べる。図６を参照して説明する評価実験の内容は以下の通りである。
・ 分析対象のトピック：東京モーターショー２０１３
・ エンティティ集合E：イベントのウェブサイトやガイドブックを参考に、147 の出展企業名や出展車名を設定 
・ 対象としたソーシャルメディア：Twitter
・ データ収集期間： 2013/11/22〜2013/12/01 （10日間、イベント開催期間と同じ）
・ 提案手法のパラメータ設定
期間の長さδ＝24時間
ホットユーザー判定のための閾値θ＝3
なお、P/Nスコアを算出するにあたり、収集したデータに対して以下の条件でノイズを除去を行った。
・ 日本語でないツイート
・ リツイート
・ 外部 URL を含むツイート
・ ボットユーザ
ここで、外部URLを含むツイートを除去したのは、広告を除外するためである。ただし、写真共有サービスや位置情報サービスへの URL を含むメッセージは、ユーザ体験が記述されることが多いことから除外対象外とした。また、ボットユーザの識別は、過去に2回以上、全く同じ内容のメッセージを発信しているユーザをボットユーザと定義して行った。
【００６８】
図６に示す表は、対象エンティティ「Jaguar」に対するキーワードの例とそのP/Nスコア（上式（７）により算出）である。表の右端のフィールドには、実際のメッセージにおける対象エンティティの意味を記載している。図６に示す表から、P/Nスコアが1より高い値を有するキーワードは、東京モーターショーの文脈で使用されており、従って、対象エンティティ「Jaguar」に対して正例の教師データとして利用できることが分かる。一方、P/Nスコアが1より小さい値を有するキーワードは、音楽や動物などの東京モーターショーとは異なる文脈で使用されており、従って、対象エンティティ「Jaguar」に対して負例の教師データとして利用できることが分かる。
【００６９】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更又は改良を加えることが可能であることが当業者に明らかである。従って、そのような変更又は改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【００７０】
なお、特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り任意の順序で実現しうることに留意すべきである。また、前の処理の出力を後の処理で用いる場合でも、前の処理と後の処理の間に他の処理が入ることは可能である場合があること、又は間に他の処理が入るように記載されていても前の処理を後の処理の直前に行うよう変更することも可能である場合があることも留意されたい。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」、「続いて、」等を用いて説明したとしても、この順で実施することが必須であることを必ずしも意味するとは限らない。
【図１】
0005957048.tif 000005
【図２】
0005957048.tif 000006
【図３】
0005957048.tif 000007
【図４】
0005957048.tif 000008
【図５】
0005957048.tif 000009
【図６】
0005957048.tif 000010