JP2013225244A - 話題抽出装置及び話題抽出方法 - Google Patents

話題抽出装置及び話題抽出方法 Download PDF

Info

Publication number
JP2013225244A
JP2013225244A JP2012097703A JP2012097703A JP2013225244A JP 2013225244 A JP2013225244 A JP 2013225244A JP 2012097703 A JP2012097703 A JP 2012097703A JP 2012097703 A JP2012097703 A JP 2012097703A JP 2013225244 A JP2013225244 A JP 2013225244A
Authority
JP
Japan
Prior art keywords
character string
topic
word
determined
indicating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012097703A
Other languages
English (en)
Other versions
JP5512737B2 (ja
Inventor
Yuji Mori
勇二 森
Daisuke Torii
大祐 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2012097703A priority Critical patent/JP5512737B2/ja
Publication of JP2013225244A publication Critical patent/JP2013225244A/ja
Application granted granted Critical
Publication of JP5512737B2 publication Critical patent/JP5512737B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 テキストデータを対象に瞬間的な盛り上がりだけでなく継続的に盛り上がっている話題に関しては継続的かつリアルタイムに盛り上がっている話題を抽出する。
【解決手段】 話題抽出装置10は、複数の文書から話題を示す単語を抽出する構文解析部13と、単語が盛り上がりを判定する対象期間から遡った判断期間に新規に盛り上がった話題を示す単語として判定されたか否かを判断して、当該判断に応じた基準期間を設定して、対象期間及び基準期間での単語の出現頻度をカウントする盛り上がり値生成部16と、当該出現頻度に基づいて単語が盛り上がった話題を示す単語であるか否かを判定するグルーピング部18とを備える。
【選択図】 図1

Description

本発明は、複数のテキストデータから盛り上がっている話題を抽出する話題抽出装置及び話題抽出方法に関する。
近年、ブログの一種であるミニブログ(マイクロブログ)によるコミュニケーションが増加している。利用者は、主に自身の状況や雑記等を短い文章で、サービスを提供しているウェブサイトへ投稿する。その利用の手軽さから、従来のブログサービスにおいて投稿を行わなかったような一般ユーザも投稿を行っている。また、ミニブログサービスにはユーザが気に入った投稿を自分の友人に広める「拡散」の仕組みを提供しているものが多く、ユーザはより手軽に投稿を行うことが可能となっている。そういったユーザの大量の投稿を解析することで、その時ユーザの間で盛り上がっている話題を提供することができる。ストリームデータからの盛り上がり度の判定については、例えば、非特許文献1及び特許文献1に記載されている。
特開2010−85953号公報
Jon Kleinburg, "Bursty and hier archical Structure inStreams", Data Mining and Knowledge Discovery 8(4), pp.373-397. 2003
非特許文献1では、メール等のテキストのストリームデータを対象に、単語の出現間隔の変化からバースト判定を行っている。単語が等しい時間間隔で出現する時間帯を定常状態とし、定常状態に対して異常に短い時間間隔で当該単語が出現する時間帯をバーストと判定する。判定は状態遷移マシンを用いて、全てのデータの出現点に対して状態を判定することで行われる。過去の状態の遷移も含めて判定を行うため精細な解析が必要となり、リアルタイムの抽出には不向きである。
特許文献1では、収音音声信号を入力して、そのレベルについての長時間平均値と短時間平均値とを求め、これらの差分により盛り上がりの度合いを示す盛り上がり値を算出している。その計算の容易さからリアルタイムでの計算が可能だが、レベルの上昇に伴い長時間平均値が上昇するため、継続的な盛り上がりの抽出を行うことができない。また、そのままテキスト解析に用いると、頻度が高い単語が上位に挙がりやすくなってしまうという問題点がある。
本発明は、上記の問題点に鑑みてなされたものであり、ミニブログサービス等の大量のストリームデータのようなテキストデータを対象に瞬間的な盛り上がりだけでなく継続的に盛り上がっている話題に関しては継続的かつリアルタイムに盛り上がっている話題を抽出することができる話題抽出装置及び話題抽出方法を提供することを目的とする。
上記の目的を達成するために、本発明に係る話題抽出装置は、時刻に対応付けられた複数のテキストデータを取得するテキスト取得手段と、テキスト取得手段によって取得されたテキストデータから、話題を示す文字列を抽出する文字列抽出手段と、文字列抽出手段によって抽出された文字列が、盛り上がりを判定する時間枠から予め設定された時間遡った時刻までの判断期間に新規に盛り上がった話題を示す文字列として判定されたか否かを判断する判断手段と、判断手段によって、文字列が新規に盛り上がった話題を示す文字列として判定されなかったものと判断された場合には、テキストデータに対応付けられた時刻を参照して、時間枠での複数のテキストデータにおける当該文字列の出現頻度と時間枠から予め設定された時間遡った時刻までの参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規に盛り上がった話題を示す文字列であるか否かを判定すると共に、判断手段によって、当該文字列が新規に盛り上がった話題を示す文字列として判定されたものと判断された場合には、テキストデータに対応付けられた時刻を参照して、時間枠での複数のテキストデータにおける当該文字列の出現頻度と当該文字列が新規に盛り上がった話題を示す文字列として判定された際の参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規ではなく盛り上がった話題を示す文字列であるか否かを判定する盛り上がり判定手段と、を備える。
本発明に係る話題抽出装置では、文字列が、盛り上がりを判定する時間枠から予め設定された時間遡った時刻までの判断期間に新規に盛り上がった話題を示す文字列として判定されたか否かが判断される。当該文字列が新規に盛り上がった話題を示す文字列として判定されなかったものと判断された場合には、当該時間枠での当該文字列の出現頻度と時間枠から予め設定された時間遡った時刻までの参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規に盛り上がった話題を示す文字列であるか否かが判定される。一方で、当該文字列が新規に盛り上がった話題を示す文字列として判定されたものと判断された場合には、時間枠での当該文字列の出現頻度と当該文字列が新規に盛り上がった話題を示す文字列として判定された際の参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規ではなく盛り上がった話題を示す文字列であるか否かが判定される。
即ち、本発明に係る話題抽出装置では、判断期間に新規に盛り上がった話題を示す文字列として判定された場合には、その際の参照期間での当該文字列の出現頻度が用いられて、当該文字列が盛り上がった話題を示す文字列であるか否かが判定される。このように直近で盛り上がったとされた文字列(例えば、話題になった単語)と、そうでない文字列とで判定に用いる参照期間を分けることで、継続的に盛り上がっている話題を示す文字列を適切に抽出することができる。また、盛り上がった文字列の判定に出現頻度を用いているため、リアルタイム性が求められる状況で効率的にテキストデータから盛り上がり判定を行うことができる。即ち、本発明に係る話題抽出装置によれば、ミニブログサービス等の大量のストリームデータのようなテキストデータを対象に瞬間的な盛り上がりだけでなく継続的に盛り上がっている話題に関しては継続的かつリアルタイムに盛り上がっている話題を抽出することができる。
盛り上がり判定手段は、時間枠での出現頻度と時間枠及び参照期間での出現頻度との比から盛り上がり値を算出して、盛り上がり値に基づいて文字列が盛り上がった話題を示す文字列であるか否かを判定することとしてもよい。この構成によれば、確実かつ適切に盛り上がった話題を示す文字列を判定することができる。
盛り上がり判定手段は、盛り上がり値の順に予め設定された数の文字列を盛り上がった話題を示す文字列と判定することとしてもよい。この構成によれば、確実に一定数の盛り上がった話題を示す文字列を判定することができる。
盛り上がり判定手段は、時間枠において新規ではなく盛り上がった話題を示す文字列と判定する文字列の数を制限することとしてもよい。この構成によれば、新規ではなく盛り上がった話題を示す文字列を制限することで、盛り上がった話題を示す文字列が新規ではなく盛り上がったものばかりとなることを防止することができる。
盛り上がり判定手段は、文字列をグルーピングして、グルーピングされた文字列に対して盛り上がった話題を示す文字列であるか否かを判定することとしてもよい。この構成によれば、盛り上がった話題が同様の文字列ばかりとなることを防止して、盛り上がった話題を示す文字列として多様な文字列を抽出することができる。
盛り上がり判定手段は、2つの文字列又は文字列の読みについて、一方が他方に少なくとも部分一致しているか否かを判断することによってグルーピングを行うこととしてもよい。あるいは、盛り上がり判定手段は、一方の文字列を含むテキストデータの数、他方の文字列を含むテキストデータの数、及び両方の文字列を含むテキストデータの数から2つの文字列同士の共起度を算出して、共起度に基づいてグルーピングを行うこととしてもよい。この構成によれば、確実に文字列のグルーピングを行うことができ、グルーピングされると共に盛り上がった話題を示す文字列として適切な文字列を抽出することができる。
話題抽出装置は、文字列抽出手段によって抽出された文字列と抽出元のテキストデータとの対応関係を示す情報を格納するテキストインデックス格納手段と、検索クエリを入力して、当該検索クエリに合致する文字列を検索して、テキストインデックス格納手段に格納された情報を参照して、当該検索クエリに合致する文字列を含むテキストデータを示す情報を出力する検索手段と、を更に備えることとしてもよい。この構成によれば、盛り上がった話題を示す文字列だけでなく、文字列の抽出元のテキストデータの情報に関しても出力することができる。
話題抽出装置は、テキスト取得手段によって取得されたテキストデータをフィルタリングして、文字列抽出手段によって文字列が抽出されるテキストデータから除外するフィルタリング手段を更に備えることとしてもよい。この構成によれば、盛り上がった話題を示す文字列として抽出することが不適切な文字列やテキストデータを除外することができる。
ところで、本発明は、上記のように話題抽出装置の発明として記述できる他に、以下のように話題抽出方法の発明としても記述することができる。これはカテゴリ等が異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
即ち、本発明に係る話題抽出方法は、時刻に対応付けられた複数のテキストデータを取得するテキスト取得ステップと、テキスト取得ステップにおいて取得されたテキストデータから、話題を示す文字列を抽出する文字列抽出ステップと、文字列抽出ステップにおいて抽出された文字列が、盛り上がりを判定する時間枠から予め設定された時間遡った時刻までの判断期間に新規に盛り上がった話題を示す文字列として判定されたか否かを判断する判断ステップと、判断ステップにおいて、文字列が新規に盛り上がった話題を示す文字列として判定されなかったものと判断された場合には、テキストデータに対応付けられた時刻を参照して、時間枠での複数のテキストデータにおける当該文字列の出現頻度と時間枠から予め設定された時間遡った時刻までの参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規に盛り上がった話題を示す文字列であるか否かを判定すると共に、判断ステップにおいて、当該文字列が新規に盛り上がった話題を示す文字列として判定されたものと判断された場合には、テキストデータに対応付けられた時刻を参照して、時間枠での複数のテキストデータにおける当該文字列の出現頻度と当該文字列が新規に盛り上がった話題を示す文字列として判定された際の参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規ではなく盛り上がった話題を示す文字列であるか否かを判定する盛り上がり判定ステップと、を含む。
本発明では、直近で盛り上がったとされた文字列(例えば、話題になった単語)と、そうでない文字列とで判定に用いる参照期間を分けることで、継続的に盛り上がっている話題を示す文字列を適切に抽出することができる。また、盛り上がった文字列の判定に出現頻度を用いているため、リアルタイム性が求められる状況で効率的にテキストデータから盛り上がり判定を行うことができる。即ち、本発明によれば、ミニブログサービス等の大量のストリームデータのようなテキストデータを対象に瞬間的な盛り上がりだけでなく継続的に盛り上がっている話題に関しては継続的かつリアルタイムに盛り上がっている話題を抽出することができる。
本発明の実施形態に係る話題抽出装置の機能構成を示す図である。 話題抽出装置によって取得されるテキストデータである文書の例を示す図である。 話題抽出装置において抽出されて構文解析結果格納部に格納される単語(文字列)の例を示すテーブルである。 話題抽出装置において抽出されて文書インデックス格納部に格納される単語と文書IDとの対応関係を示す情報の例を示すテーブルである。 話題抽出装置において計算され盛り上がり値格納部に格納される盛り上がり値の例を示すテーブルである。 対象期間及び基準期間を模式的に示す図である。 盛り上がり値である対数尤度比を計算する際に用いる値を概念的に示した図である。 グループ情報格納部に格納に格納される情報の例を示すテーブルである。 共起度の算出を説明するための図である。 本発明の実施形態に係る話題抽出装置のハードウェア構成を示す図である。 本発明の実施形態に係る話題抽出装置で実行される処理全体(話題抽出方法)を示すフローチャートである。 本発明の実施形態に係る話題抽出装置で実行される、盛り上がり値の計算の処理(話題抽出方法)を示すフローチャートである。 本発明の実施形態に係る話題抽出装置で実行される、グルーピング及び盛り上がった話題を示す単語の判定の処理(話題抽出方法)を示すフローチャートである。
以下、図面と共に本発明に係る話題抽出装置及び話題抽出方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係る話題抽出装置(話題抽出サーバ)10を示す。話題抽出装置10は、複数のテキストデータから盛り上がっている話題を抽出する装置である。例えば、インターネット上で様々なユーザによってミニブログに投稿されたテキストデータから、インターネット上でどのような話題が盛り上がっているかを解析する。即ち、どのような単語がホットワードであるかを解析する。話題抽出装置10は、解析対象となるテキストデータを取得(受信)できるように、テキストデータを出力する装置(例えば、ミニブログのサービスを提供するサーバ)とインターネット等のネットワークを介して接続されており、情報の送受信を行うことができるようになっている。
図1に示すように、話題抽出装置10は、機能的には、文書受信部11と、文書フィルタリング部12と、構文解析部13と、構文解析結果格納部14と、文書インデックス格納部15と、盛り上がり値生成部16と、盛り上がり値格納部17と、グルーピング部18と、グループ情報格納部19と、検索部20とを備えて構成される。
文書受信部11は、解析対象となる複数のテキストデータを含む文書を取得するテキスト取得手段である。この文書は、時系列での解析が可能なように時刻が対応付けられている。文書に対応付けられた時刻は、例えば、当該文書が投稿された時刻である。この文書は、具体的には例えば、ミニブログサービスを含め、インターネット上で様々なユーザによって投稿された情報である。本文のテキスト情報の他、投稿者、画像、Webサイトへのリンク情報等を含んでいてもよい。文書は、HTML(HyperText Markup Language)、XML(ExtensibleMarkup Language)、JSON(JavaScript Object Notation)等のいかなるフォーマットであってもよい。また、テキストデータは例えば、テキストストリームであるが、それ以外の構成のテキストデータであってもよい。
文書受信部11は、例えば、話題抽出装置10に接続されたミニブログのサービスを提供するサーバから送信された文書を受信することで、文書を取得する。この際、文書受信部11は、ミニブログのサービスを提供するサーバに対して文書の送信を要求することとしてもよい。取得された文書の例を図2に示す。図2に示すように文書は、文書ID、投稿者、本文及び投稿日時が対応付けられたデータである。文書IDは、文書を一意に識別する識別子である。なお、文書IDは、話題抽出装置10によって受信された時点で予め付与されたものであってもよいし、話題抽出装置10によって付与されたものであってもよい(必ずしも受信する文書に含まれていなくてもよい)。投稿者は、文書を投稿した者を示す情報である。本文は、テキストデータ本体である。投稿日時は、当該文書が投稿された時刻である。文書受信部11は、取得した文書を文書フィルタリング部12に出力する。なお、文書の取得は、ミニブログのサービスを提供するサーバから文書が送信される度に行われてもよいし、一定期間(例えば、1時間)毎に当該サーバに文書の送信の要求を行うことで定期的に行われてもよい。
文書フィルタリング部12は、文書受信部11から入力された文書をフィルタリングして、解析するのに適切でない文書を解析対象から除外する(以降の処理から除外する)フィルタリング手段である。適切でない文書とは、例えば性的、暴力的な表現を含む文書、あるいは、所謂botや荒し等、意味の無い文書や似たような文書の投稿を繰り返すアカウントによる文書等を指す。文書フィルタリング部12は、例えば、予め用意されて記憶した単語(文字列)、アカウントのブラックリストと文書の本文や投稿者とを比較してフィルタリングを行う。文書フィルタリング部12は、フィルタリングによって解析するのに適切であると判断された文書を構文解析部13に出力する。文書フィルタリング部12は、解析対象から除外された文書を削除する。
構文解析部13は、文書フィルタリング部12から入力された文書から、話題を表すのに適切な意味を持つ文字列(以下、広い意味で単語と呼ぶ)を抽出する文字列抽出手段である。ここで言う単語とは、文法的な意味の単語の他、句、URL(Uniform Resource Locator)及び文書に付与されたタグ等を指す。単語の抽出には、任意の既存技術を利用することができる。主に構文解析の技術を用いることができるが、テキストデータから単語の抽出をすることができるものであればどのようなものが用いられてもよい。例えば、文書が日本語であれば、形態素解析を用いることができる。
図3に構文解析部13によって抽出された単語の例を示す。図3に示すように抽出された単語には、文書ID、品詞、読み及び時刻情報が対応付けられている。文書IDは、単語の抽出元である文書の文書IDである。品詞及び読みは、それぞれ単語の品詞及び読みであり、単語の抽出の際に合わせて抽出されるものである。但し、品詞及び読みは、必ずしも抽出される必要はなく、あるいは抽出できない場合には抽出されなくてもよい。時刻情報は、抽出元である文書に係る投稿日時の時刻と同じものである。なお、文書のフィルタリング及び単語の抽出は例えば、文書が取得される度に行われる。
構文解析部13は、図3に示す抽出した単語の情報を構文解析結果格納部14に出力する。構文解析結果格納部14は、構文解析部13から出力された時刻情報に対応付けられた単語の情報を格納する。この情報は、後述するように単語が、盛り上がった話題を示す単語であるかの判定に用いられる。
また、構文解析部13は、抽出した単語毎に単語の抽出元である文書の文書IDを文書インデックス格納部15に出力する。文書インデックス格納部15は、構文解析部13から入力された、抽出された単語と抽出元の文書との対応関係を示す情報を格納するテキストインデックス格納手段である。例えば、図4に示すように単語と文書IDとの対応関係を示す情報を格納する。なお、1つの単語に複数の文書IDが対応付けられていてもよい。この情報は、後述するように盛り上がった話題を示すものとされた単語から、その単語が出現する文書を検索するために用いられる。
盛り上がり値生成部16は、単語が盛り上がった話題を示す単語である度合いを示す盛り上がり値(盛り上がり度)を計算する手段(盛り上がり判定手段の一部)である。盛り上がり値生成部16は、構文解析結果格納部14に格納された情報を参照して、各単語のテキストデータにおける時系列な出現頻度(の変化)に基づいて盛り上がり値を計算する。盛り上がり値の計算は、予め設定された一定の時間間隔である時間枠毎の各単語の文書中の出現頻度(出現回数)が用いられて行われる。時間枠は、例えば1時間とされ、盛り上がり値の計算対象となる時間枠(以下、対象期間と呼ぶ)は、盛り上がり値算出の時点で直近(最新)のものとされる。計算された盛り上がり値は、例えば、図5に示すような情報とされる。図5において、対数尤度比が盛り上がり値に相当する。
盛り上がり値生成部16は、図5に示す計算した盛り上がり値の情報を盛り上がり値格納部17に出力する。盛り上がり値格納部17に格納されるデータ(レコード)は、単語及び計算時刻毎のデータとされる。即ち、同じ単語でも、計算時刻が異なれば複数のデータが存在する。盛り上がり値格納部17には、計算時刻が新しい順となり、かつ盛り上がり値が小さい(低い)順となるように、盛り上がり値生成部16から入力された情報を格納する。なお、本実施形態では、盛り上がり値である対数尤度比が小さいほど、その単語が盛り上がった話題を示す単語である度合いが高いことを示している。
具体的には、盛り上がり値生成部16は、以下の機能を有する。盛り上がり値生成部16は、単語が対象期間から予め設定された時間遡った時刻までの判断期間に新規に盛り上がった話題を示す文字列(以下、過去ワードと呼ぶ)として判定されたか否かを判断する判断手段である。本実施形態では、単語の盛り上がりの判定は、新規に盛り上がった話題を示す単語であるか、あるいは、新規ではなく盛り上がった話題を示す単語であるかの何れかの判定を行う。即ち、単語が過去ワードであるか否かの判定を行う。判断期間は、対象期間よりも十分長い期間とし、例えば24時間とされる。即ち、盛り上がり値生成部16は、単語が24時間以内に新規に盛り上がった話題に係るものとして判定されたかを判断する。
具体的には、盛り上がり値生成部16は、構文解析結果格納部14に格納された情報を参照して、対象期間において文書に出現(登場)した単語を抽出する。盛り上がり値生成部16は、新規フラグが図5に示す盛り上がり値格納部17に格納されているか否かを判断することで、単語が過去ワードであるか否かを判断する。なお、新規フラグについては後述する。
盛り上がり値生成部16は、単語が過去ワードでない(単語が判断期間において新規に盛り上がった話題を示す単語として判定されなかった)と判断された場合には、以下のように盛り上がり値を算出する。この場合、盛り上がり値生成部16は、構文解析結果格納部14に格納された各単語に対応付けられた時刻情報を参照して、対象期間での文書における当該単語の出現頻度(出現回数)と、対象期間を含み対象期間から予め設定された時間遡った時刻までの基準期間での当該単語の出現頻度(出現回数)とをカウントする。基準期間(通常期間)は、対象期間よりも十分長い期間とし、例えば24時間とされる。ここで、基準期間から対象期間を除いた期間を参照期間と呼ぶ。なお、本実施形態では、判断期間と基準期間とを同じ24時間としているが必ずしも同じ時間にする必要はない。
この場合、例えば、図6(a)に示すように最新の1時間が対象時間であり、最新の24時間が基準期間である。図6(a)では横軸が時間軸である。図6(a)において、丸がその時刻において盛り上がり値算出対象の単語が文書中に出現していることを示している。図6(a)では、基準期間において単語はt1〜t7のタイミングで合計7回出現している。基準期間の7回のうち、4回が対象期間に含まれており、単語の出現回数の大部分が直近に集中しているといえる。
盛り上がり値生成部16は、カウントした対象期間での当該単語の出現頻度と基準期間での単語の出現頻度(対象期間及び参照期間での単語の出現頻度)との比から盛り上がり値を算出する。盛り上がり値生成部16は、例えば、以下の式(1)に基づいて盛り上がり値である対数尤度比burst(w)を算出する。
Figure 2013225244

ここで、wは判定対象の単語、tgt(w)は当該単語の対象期間における出現頻度、c(w)は当該単語の基準期間における出現頻度、kは盛り上がり値生成部16に予め記憶された正の値であるスムージングパラメータである。算出の都合上対数を取っているが、logは単調増加関数であり、対数を取っても盛り上がり値の順序(ランキング)には影響しない。スムージングパラメータは、比で盛り上がり値を算出している関係上、出現頻度の極端に少ない単語が盛り上がっていると判定されるのを防ぐために用いる。但し、必ずしもスムージングパラメータを導入する必要はない。図7(a)に対数尤度比を計算する際に用いる値を概念的に示す。
盛り上がり値生成部16は、単語が過去ワードである(単語が判断期間において新規に盛り上がった話題を示す単語として判定された)と判断された場合には、以下のように盛り上がり値を算出する。この場合、盛り上がり値生成部16は、構文解析結果格納部14に格納された各単語に対応付けられた時刻情報を参照して、対象期間での文書における当該単語の出現頻度(出現回数)と、当該単語が新規に盛り上がった話題を示す単語として判定された際の参照期間(当該単語が新規に盛り上がった話題を示す単語として判定された際の基準期間から、その際の対象期間を除いた期間)での当該文字列の出現頻度とをカウントする。なお、基準期間における出現頻度は、過去ワードと判定された際にカウントした値を利用して算出してもよい。
常に直近24時間の出現頻度のうち、直近1時間の出現頻度の占める割合から、盛り上がりを判定することとすると、出現頻度が上がり続けないとホットワードに残ることができない。本実施形態のように、過去に盛り上がった話題を示す単語(ホットワード)であると判定された場合と同様の尺度で比較することで、継続的に出現する(つぶやかれている)単語がホットワードに残りやすいようにしている。
例えば、図6(b)に示すように図6(a)に示した場合の次の1時間の間に単語が4回出現している場合を考える。この場合、図6(a)の場合と同様に計算すると、基準期間に11回、対象期間に4回単語が登場したことになるが、引き続き盛り上がっているにもかかわらず、基準期間における出現頻度に占める対象期間における出現頻度の割合が減少してしまう。すなわち、ホットワードと判定されない恐れがある。そこで、図6(b)に示すように過去ワードと判断された(新規に盛り上がっていると判定された)対象期間を算出対象から除外する。即ち、当該対象期間と、過去ワードであると判定された際の基準期間BPから過去ワードであると判定された際の対象期間OPを除いた参照期間RPとを、計算対象となる基準期間とする。これにより、新規(初回)の場合と同様に、基準期間7回に対し、対象期間4回となり、引き続き盛り上がっていると判定可能になる。この場合も、判断期間に過去ワードと判定されなかった場合と同様に基準期間は、24時間である。
この場合、盛り上がり値生成部16は、例えば、以下の式(2)に基づいて、新規に盛り上がっていると判定されてからn回目の対象期間における単語の盛り上がり値である対数尤度比burst(w)を算出する。
Figure 2013225244

ここで、tgt(w)は当該単語の、新規に盛り上がっていると判定されてからn回目の対象期間における出現頻度、tgt(w)は当該単語の、新規に盛り上がっていると判定された際の対象期間における出現頻度、c(w)は新規に盛り上がっていると判定された際の当該単語の基準期間における出現頻度である。図7(b)にこの場合の対数尤度比を計算する際に用いる値を概念的に示す。
盛り上がり値生成部16は、算出した盛り上がり値を計算時刻と共に盛り上がり値格納部17に出力する。また、図5に示すように計算に用いた対象期間及び基準期間における出現頻度を合わせて盛り上がり値格納部17に格納させてもよい。なお、この時点では、各単語が盛り上がった話題を示す単語であるかの判定は行われていないため、図5に示すテーブルの「新規」のカラムに(仮に新規に盛り上がった話題を示す単語として判定される単語だったとしても)新規フラグはセットされない。なお、盛り上がり値生成部16によって判断された、単語が過去ワードであるか否か(単語が新規に盛り上がった話題を示すものであるか否か)を示す情報は、例えば、盛り上がり値格納部17に格納されてグルーピング部18にも把握可能となっている。
このようにして計算した盛り上がり値に基づいて、各単語が対象期間において盛り上がった話題を示す単語であるか否かを判定することとしてもよい。例えば、盛り上がり値の小さい順(盛り上がった度合いが高い順)に予め設定された数の単語を盛り上がった話題を示す単語と判定することとしてもよい。あるいは、盛り上がり値と予め設定された閾値とを比較して、その比較結果に基づいて盛り上がった話題を示す単語を判定することとしてもよい。本実施形態の例の場合、盛り上がり値が小さい程、盛り上がっているものであるので、盛り上がり値が閾値よりも小さい場合に盛り上がった話題を示す単語と判定する。
本実施形態では、単語が盛り上がった話題を示す単語であるか否かを判定するために更に以下の構成を有する。ミニブログサービスにおいては、ユーザが気に入った投稿を自分の友人に広める「拡散」という仕組みがある。その関係上、単一の投稿に由来してある話題が盛り上がるということがしばしば起こる。単語単位で盛り上がりを判定した場合、盛り上がっている話題を同一の文章から抽出した単語が占めてしまうということが起こりえる。そのため、グルーピング処理を施すことでより適切に盛り上がっている話題を示す単語を特定することができる。これにより、例えば、ユーザに効率的に盛り上がっている話題に一覧を提供することが可能になる。
グルーピング部18は、上記を実現するための構成であり、対象期間に出現した単語をグルーピングして、グルーピングされた単語に対して盛り上がった話題を示す単語であるか否かを判定する手段(盛り上がり判定手段の一部)である。グルーピング部18は、具体的に以下のようにグルーピングを行う。
グルーピング部18は、2つの単語がグルーピングされるべきものか、単語同士毎に判断する。具体的には、一方の単語が他方の単語に部分一致しているか否か(単語同士が包含関係にあるか)を判断することでグルーピングを行ってもよい。なお、部分一致の判断において、単語自体の部分一致に加えて、構文解析結果格納部14に格納されている単語の読み同士を比較して、それらが部分一致しているか(単語の読み同士が包含関係にあるか)の判断が行われてもよい。なお、読みについては、部分一致に加えて完全一致している場合にもグルーピングされるべき単語とされてもよい。
2つの単語同士が単語自体又は読みにおいて部分一致していた場合には、それらがグルーピングされるべきものであると判断する。グルーピングされるべきものであると判断された場合、2つの単語のうち文字列が長い方(文字数が多い方)を代表語としてグルーピングを行い、グルーピングに係る情報をグループ情報格納部19に格納する。図8にグループ情報格納部19に格納に格納される情報の例を示す。ここでは、「桜前線」との単語に対して、「桜」との単語が部分一致の関係にあるため、桜に対して桜前線を代表語に設定している。ここで、代表語とは実際に盛り上がっている単語として、ユーザに提示される単語である。なお、一つの単語に対して複数の単語と部分一致する場合には、例えば、当該複数の単語のうち盛り上がり値が最も小さい単語とグルーピングする。
また、グルーピング部18は、一方の単語を含む文書の数、他方の単語を含む文書の数、及び両方の単語を含む文書の数をカウントし、カウントしたそれらの数から2つの単語同士の共起度を算出して、共起度に基づいてグルーピングをしてもよい。このカウントは、例えば、構文解析結果格納部14に格納されている情報を参照して行われる。共起度の算出イメージを図9に、共起度を算出するための式(3)を以下にそれぞれ示す。
Figure 2013225244

この式(3)は2つの単語wとw´との共起度を算出するものである。wの出現する文書の数をa、w´の出現する文書の数をb、wとw´とが両方(同時に)出現する文書の数をcとしている。
式(3)はdice係数と呼ばれる共起式である。選択した単語wとその他の単語全ての共起度を算出し、共起度が予め設定した閾値以上の場合(あるいは、閾値を超える場合としてもよい)にはそれらの単語同士をグルーピングする。共起度が閾値を超える単語が複数ある場合には共起度の最も高い単語とグルーピングする。共起度としてdice係数を例示したが、その他Confidence、Liftといった共起尺度を用いてもよい。共起度でグルーピングを行う場合も、文字列が長い単語を代表語とする。
なお、上述した例では文字列の長い方の単語を代表語とする方法でグルーピング処理を行ったが、代表語の決定方法は単語の出現頻度や盛り上がり値が小さい値の単語(より盛り上がった話題に係る単語)を選択する方法でもよい。
グルーピング部18は、以下のような順序でグルーピングを行う。グルーピング部18は、盛り上がり値格納部17に格納されている情報を参照して、対象期間に出現した単語のうち盛り上がり値が最も小さい(最も盛り上がった話題に係る単語)ものを選択する。グルーピング部18は、選択した単語と、対象期間に出現した選択済みの単語とがグルーピングされるべきものか、選択済みの単語毎に判断する。なお、1度目の選択では、選択済みの単語が無いので上記の判断は行われない。
グルーピング部18は、選択した単語が選択済みの単語の何れともグルーピングされるものと判断しなかった場合、当該単語を代表語、及び代表語に対応付けられた単語とする。これは、例えば、図8のテーブルの1行目に示すように単語、代表語の何れもが桜前線とする。なお、選択した単語自身を代表語とする際には、選択した単語が過去ワードであり、かつ過去ワードである代表語の数が予め設定した一定数(過去ワードの代表語の上限)に到達しているか否かが判断される。選択した単語が過去ワードであり、かつ過去ワードである代表語の数が一定数に到達している場合には、選択した単語を代表語として追加しない。これは、盛り上がった話題を示す単語として、過去ワードの占める割合を一定未満にすることで、過去ワードばかりが盛り上がった話題を示す単語として挙がり続けることを防止するためである。上記の場合以外には、グルーピング部18は、選択した単語自身をグループ情報格納部19に代表語として格納させる。
グルーピング部18は、選択した単語自身を代表語とした(代表語が1つ増えた)後に、代表語の数がリクエスト数に到達したか否かを判断する。リクエスト数は、代表語の数として予め設定された数であり、過去ワードの代表語の上限よりも大きな値とされる。リクエスト数は、代表語の対応関係で表される単語のグループ数である。即ち、一定数の単語のグループが作成される。
グルーピング部18は、代表語の数が予め設定したリクエスト数に到達したと判断した場合は、その時点で設定されている代表語及び代表語に紐付く(対応付けられた)単語(関連語)を、当該対象期間において盛り上がった話題を示す単語(話題語)と判定する。グルーピング部18は、この代表語を盛り上がり値が小さい順(盛り上がっている話題を示す単語の順)にソートする。この場合、グルーピング部18は、代表語に対応する盛り上がり値を使用してソートしてもよいし、同一グループ内の単語に対応する盛り上がり値のうち、最も小さいものを使用してソートしてもよい。あるいは、同一グループ内の単語に対応するグループ盛り上がり値の平均値を使用してもよい。グルーピング部18は、話題語であると判定された単語のうち、判断期間に新規に盛り上がった話題を示す単語として判定されていないもの(過去ワードでないもの)を、新規に盛り上がった話題を示す単語(新規に話題語)とする。また、グルーピング部18は、話題語であると判定された単語のうち、判断期間に新規に盛り上がった話題を示す単語として判定されたもの(過去ワードであるもの)を、新規でなく盛り上がった話題を示す単語とする。グルーピング部18は、話題語のうち、新規に話題語とされた単語には、図5に示す盛り上がり値格納部17に格納される当該単語の新規カラムに新規フラグを付与する。この新規フラグが付与された単語は、判断期間の間、過去ワードと判断される。
グルーピング部18は、代表語の数が予め設定したリクエスト数に到達していないと判断した場合は、続いて、選択した単語を選択済みの単語として、新たに単語を選択する。この選択は、盛り上がり値格納部17に格納されている情報を参照して、対象期間に出現した選択済みの単語を除いた単語のうち盛り上がり値が最も小さい(最も盛り上がった話題に係る単語)ものを選択する。
続いて、グルーピング部18は、選択した単語と、対象期間に出現した選択済みの単語とがグルーピングされるべきものか、選択済みの単語毎に判断する。この判断は、上記のように単語又は単語の読みの比較、及び共起度の計算によって行われる。上記の判断によって選択された単語が、選択済みの単語の何れかとグルーピングされる場合には、両者の単語のうち一方を代表語として、もう一方を代表語に対応付けられる単語とされ、グループ情報格納部19に格納される。ここで、代表語だった単語が新たに別の代表語に対応付けられる単語になる場合は、当該代表語だった単語に対応付けられていた単語も新たに別の代表語に対応付けする。
一方でグルーピング部18は、選択した単語が、選択済みの単語の何れともグルーピングされなかった場合には、上記と同様に当該選択した単語を代表語とするか否かを判断して、代表語とした場合には再度、代表語の数がリクエスト数に到達したか否かを判断する。代表語の数がリクエスト数に到達していないと判断した場合には、グルーピング部18は、上記と同様に再度単語を選択する。代表語の数がリクエスト数に到達したと判断した場合には、上記と同様に話題語をソートして、新規に話題語とされた単語に新規フラグを付与する。
グルーピング部18は、グループ情報格納部19に格納されている、当該対象期間において盛り上がった話題を示す単語を出力する。例えば、グルーピング部18は、ミニブログのサービスを提供するサーバに送信する。当該サーバがユーザに盛り上がった話題を示す単語を提示することで、ユーザが当該対象期間においてどのような話題が盛り上がっているのかを知ることができる。
盛り上がり値生成部16及びグルーピング部18による盛り上がった話題を示す単語の判定の処理は、例えば、対象期間毎に、即ち上述したように1時間毎にリアルタイムで行われることとすればよい。但し、必ずしもそのように処理する必要はなく、例えば、1日毎に処理を行う等、複数の対象期間に関する処理がまとめて行われてもよい。
検索部20は、検索クエリを入力して、当該検索クエリに合致する単語を検索する検索手段である。検索クエリは、例えば、ミニブログのサービスを提供するサーバから送信されるキーワードである。このキーワードは、例えば、当該サーバがユーザに提示した盛り上がった話題を示す単語の中から選択されたものであり、盛り上がった話題を示す単語の何れかである。検索部20は、文書インデックス格納部15に格納された情報を参照して、当該検索クエリに合致する単語に対応付けられた文書(当該単語を含む文書)の一覧を示す情報を出力する。これによって、ユーザに盛り上がっている話題に係る文書にどのようなものがあるかの情報を提供することができる。また、検索クエリに合致する単語と、同一グループに所属する(代表語の対応関係がある)単語を含む文書も出力することとしてもよい。これによって、盛り上がっている話題に関する文書を効率的にユーザに提供することが可能になる。以上が、話題抽出装置10の機能構成である。
図10に話題抽出装置10のハードウェア構成を示す。図10に示すように話題抽出装置10は、CPU(Central Processing Unit)101、主記憶装置であるRAM(RandomAccess Memory)102及びROM(Read Only Memory)103、通信を行うための通信モジュール104、並びにハードディスク等の補助記憶装置105等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した話題抽出装置10の機能が発揮される。以上が、話題抽出装置10の構成である。
引き続いて、図11〜図13のフローチャートを用いて、本実施形態に係る話題抽出装置10で実行される処理である話題抽出方法を説明する。まず、図11のフローチャートを用いて話題抽出方法全体の処理について説明する。
話題抽出装置10では、まず、文書受信部11によって解析対象となる文書が取得される(S01、テキスト取得ステップ)。取得された文書は、文書受信部11から文書フィルタリング部12に出力される。続いて、文書フィルタリング部12によって、文書がフィルタリングされて、解析するのに適切でない文書を解析対象から除外されて削除される。具体的には、ブラックリストに含まれる単語又はアカウントを含む文書が削除される(S02、フィルタリングステップ)。削除されなかった文書が、文書フィルタリング部12から構文解析部13に入力される。
続いて、構文解析部13によって、文書から話題を示す単語が抽出される(S03、文字列抽出ステップ)。抽出された単語は、時刻情報等と共に構文解析結果格納部14に格納される。また、合わせて、構文解析部13によって、抽出された単語と単語の抽出元である文書の文書IDとの対応情報が生成されて、文書インデックス格納部15に格納される。
続いて、盛り上がり値生成部16によって、構文解析結果格納部14によって格納された情報が参照されて、対象期間に文書に出現した各単語について所定の期間における出現頻度がカウントされる。続いて、盛り上がり値生成部16によって、カウントされた出現頻度に基づいて各単語について、盛り上がり値である対数尤度比が算出される(S04、判断ステップ、盛り上がり判定ステップ)。各単語及び算出された対数尤度比は、対数尤度比の小さい順にソートされて盛り上がり値格納部17に格納される。
続いて、グルーピング部18によって、同一の話題を示すものとして単語がグルーピングされて、グループの代表語のうち、予め設定されたリクエスト数である上位n件及びその代表語に対応付けられた単語が、対象期間における話題語として選択される(S05、盛り上がり判定ステップ)。選択された対象期間における話題語はグループ情報格納部19に格納される。また、話題語の情報は、ミニブログのサービスを提供するサーバに送信される等して、ユーザに提供されるようにしてもよい。また、この情報に基づいて、上述した検索部20による検索処理が行われえる。以上が、話題抽出方法全体の処理である。
引き続いて、図12のフローチャートを用いて、盛り上がり値生成部16による盛り上がり値の計算の処理(図11のフローチャートのS04に相当)について説明する。この処理は対象期間において文書に出現した単語毎に行われる。まず、構文解析結果格納部14に格納された情報が参照されて、対象期間での当該単語の出現頻度がカウントされる(S401、盛り上がり判定ステップ)。続いて、単語が対象期間から予め設定された時間遡った時刻までの判断期間に話題になっていた単語か、即ち、過去ワードであるか否かが判断される(S402、判断ステップ)。
単語が過去ワードではないと判断された場合(S402のNO)には、基準期間が、対象期間を含み対象期間から予め設定された時間遡った時刻までの時間(例えば、直近24時間等の直近m時間)とされる(S403)。単語が過去ワードであると判断された場合(S402のYES)には、基準期間が、当該単語が新規に(初回に)盛り上がった話題を示す単語として判定された際の基準期間から、その際の対象期間を除いた期間を引き、現在の対象期間を加えた時間とされる(S404)。
S403及びS404に続いて、構文解析結果格納部14に格納された情報が参照されて、各場合で設定された基準期間での当該単語の出現頻度がカウントされる(S405、盛り上がり判定ステップ)。続いて、カウントされた対象期間の出現頻度、及び基準時間の出現頻度から盛り上がり値である対数尤度比が算出される(S406、盛り上がり判定ステップ)。以上が、盛り上がり値の計算の処理である。
引き続いて、図13のフローチャートを用いて、グルーピング部18によるグルーピング及び盛り上がった話題を示す単語の判定の処理(図11のフローチャートのS05に相当)について説明する。本処理では、盛り上がり値格納部17に格納されている情報が参照されて、対象期間に出現した未選択の単語のうち盛り上がり値が最も小さい(最も盛り上がった話題に係る単語)ものが選択される(S501、盛り上がり判定ステップ)。
続いて、選択された単語と選択済みの単語との文字列が部分一致するか否かが判断される(S502、盛り上がり判定ステップ)。それらの単語の文字列が部分一致すると判断された場合(S502のYES)は、それらの単語のうち文字列の長い単語が代表語とされ、それらが対応付けられてグループ情報格納部19に格納される(S503、盛り上がり判定ステップ)。
それらの単語の文字列が部分一致しないと判断された場合(S502のNO)は、続いて、選択された単語の読みと選択済みの単語の読みとが部分一致するか否かが判断される(S504、盛り上がり判定ステップ)。それらの単語の読みが部分一致すると判断された場合(S504のYES)は、それらの単語のうち文字列の長い単語が代表語とされ、それらが対応付けられてグループ情報格納部19に格納される(S503、盛り上がり判定ステップ)。
それらの単語の読みが部分一致しないと判断された場合(S504のNO)は、続いて、選択された単語と選択済みの単語との共起度が計算されて、当該共起度が一定の閾値以上か否かが判断される(S505、盛り上がり判定ステップ)。共起度が閾値以上であると判断された場合(S505のYES)は、それらの単語のうち文字列の長い単語が代表語とされ、それらが対応付けられてグループ情報格納部19に格納される(S503、盛り上がり判定ステップ)。
共起度が閾値以上でないと判断された場合(S505のNO)、続いて、選択された単語が過去ワード、かつ過去ワードの代表語が一定数に到達したか否かが判断される(S506、盛り上がり判定ステップ)。選択された単語が過去ワード、かつ過去ワードの代表語が一定数に到達したと判断された場合(S506のYES)、選択された単語が選択済みの単語とされて、S501に戻り、次の単語として対象期間に出現した未選択の単語のうち盛り上がり値が最も小さいものが選択され、以降の処理が繰り返される。
選択された単語が過去ワード、かつ過去ワードの代表語が一定数に到達したと判断されない場合(S506のNO)、選択された単語が、代表語及び当該代表語に対応する単語としてグループ情報格納部19に格納される(S507、盛り上がり判定ステップ)。
続いて、当該対象期間において、グループ情報格納部19に格納された代表語の数がリクエスト数に到達したか否かが判断される(S508、盛り上がり判定ステップ)。代表語の数がリクエスト数に到達していないと判断された場合(S508のNO)、選択された単語が選択済みの単語とされて、S501に戻り、次の単語として対象期間に出現した未選択の単語のうち盛り上がり値が最も小さいものが選択され、以降の処理が繰り返される。
代表語の数がリクエスト数に到達していると判断された場合(S508のYES)、それらの代表語が盛り上がった話題を示す単語である話題語とされて、それらの代表語が盛り上がり値の小さい順にソートされる(S509、盛り上がり判定ステップ)。この場合、グルーピング部18は、代表語に対応する盛り上がり値を使用してソートしてもよいし、同一グループ内の単語に対応する盛り上がり値のうち、最も小さいものを使用してソートしてもよい。あるいは、同一グループ内の単語に対応するグループ盛り上がり値の平均値を使用してもよい。
続いて、話題語とされた代表語のうち、新規に話題語とされた単語について、盛り上がり値格納部17に格納される当該単語の新規カラムに新規フラグが付与される。以上が、グルーピング及び盛り上がった話題を示す単語の判定の処理である。
上述したように、本実施形態では、単語が対象期間から遡った判断期間に新規に盛り上がった話題を示す単語として判定された場合(即ち、過去ワードである場合)には、その際の参照期間での当該単語の出現頻度が用いられて、当該単語が盛り上がった話題を示す文字列であるか否かが判定される。このように直近で盛り上がったとされた単語(例えば、話題になった単語)と、そうでない単語とで判定に用いる参照期間を分けることで、継続的に盛り上がっている話題を示す単語を適切に抽出することができる。また、盛り上がった単語の判定に出現頻度を用いているため、リアルタイム性が求められる状況で効率的にテキストデータから盛り上がり判定を行うことができる。即ち、本実施形態によれば、ミニブログサービス等の大量のストリームデータのようなテキストデータを対象に瞬間的な盛り上がりだけでなく継続的に盛り上がっている話題に関しては継続的かつリアルタイムに盛り上がっている話題を抽出することができる。
また、本実施形態のように対象期間での出現頻度と基準期間での出現頻度(対象期間及び参照期間での出現頻度)との比の値から盛り上がり値を算出することとしてもよい。この構成によれば、確実かつ適切に盛り上がった話題を示す単語を判定することができる。
また、本実施形態のように盛り上がり値の順に予め設定された数の単語を盛り上がった話題を示す単語とすることとしてもよい。この構成によれば、対象期間毎に単語の盛り上がり値にばらつきがあったとしても、確実に一定数の盛り上がった話題を示す文字列を判定することができる。これにより、ユーザに確実に一定数の単語を提示することができる。但し、閾値等を用いて、一定の基準を超えた単語のみを盛り上がった話題を示す単語とするような構成としてもよい。
また、新規ではなく盛り上がった話題を示す単語と判定する単語の数を限定してもよい(図13のS506の一定数に相当)。この構成によれば、新規ではなく盛り上がった話題を示す単語を制限することで、盛り上がった話題を示す文字列が新規ではなく盛り上がったものばかりとなることを防止することができる。但し、盛り上がった話題を示す文字列が新規ではなく盛り上がったものばかりとなってもよいような場合には、必ずしも上記の限定をする必要はない。
また、本実施形態のように、単語のグルーピングをした上で判定を行うこととしてもよい。この構成によれば、盛り上がった話題が同様の単語ばかりとなることを防止して、盛り上がった話題を示す単語として多様な文字列を抽出することができる。但し、盛り上がった話題が同様の単語ばかりとなってもよいような場合には、必ずしも上記の限定をする必要はない。
また、グルーピングの方法としては、単語自体を用いる方法や共起度を用いる方法とすることができる。この構成によれば、確実に単語のグルーピングを行うことができ、グルーピングされると共に盛り上がった話題を示す単語として適切な単語を抽出することができる。本実施形態では、グルーピングの方法として、単語又は単語の読みの比較、及び共起度の計算の全ての方法を用いたが、このうちの任意の1つの方法又は任意の2つの方法の組み合わせを用いてグルーピングしてもよい。また、グルーピングの方法としては他の任意の方法を用いてもよい。
また、本実施形態のように検索部20を設けて、盛り上がった話題を示す単語を含む文書を検索できるようにしてもよい。この構成によれば、盛り上がった話題を示す単語だけでなく、単語の抽出元のテキストデータの情報に関しても出力することができる。
また、本実施形態のように解析対象の文書をフィルタリングすることとしてもよい。この構成によれば、盛り上がった話題を示す単語として抽出することが不適切な単語や文書を除外することができる。
10…話題抽出装置、11…文書受信部、12…文書フィルタリング部、13…構文解析部、14…構文解析結果格納部、15…文書インデックス格納部、16…盛り上がり値生成部、17…盛り上がり値格納部、18…グルーピング部、19…グループ情報格納部、20…検索部、101…CPU、102…RAM、103…ROM、104…通信モジュール、105…補助記憶装置。

Claims (10)

  1. 時刻に対応付けられた複数のテキストデータを取得するテキスト取得手段と、
    前記テキスト取得手段によって取得されたテキストデータから、話題を示す文字列を抽出する文字列抽出手段と、
    前記文字列抽出手段によって抽出された文字列が、盛り上がりを判定する時間枠から予め設定された時間遡った時刻までの判断期間に新規に盛り上がった話題を示す文字列として判定されたか否かを判断する判断手段と、
    前記判断手段によって、前記文字列が新規に盛り上がった話題を示す文字列として判定されなかったものと判断された場合には、前記テキストデータに対応付けられた時刻を参照して、前記時間枠での前記複数のテキストデータにおける当該文字列の出現頻度と前記時間枠から予め設定された時間遡った時刻までの参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規に盛り上がった話題を示す文字列であるか否かを判定すると共に、前記判断手段によって、当該文字列が新規に盛り上がった話題を示す文字列として判定されたものと判断された場合には、前記テキストデータに対応付けられた時刻を参照して、前記時間枠での前記複数のテキストデータにおける当該文字列の出現頻度と当該文字列が新規に盛り上がった話題を示す文字列として判定された際の前記参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規ではなく盛り上がった話題を示す文字列であるか否かを判定する盛り上がり判定手段と、
    を備える話題抽出装置。
  2. 前記盛り上がり判定手段は、前記時間枠での前記出現頻度と前記時間枠及び前記参照期間での前記出現頻度との比から盛り上がり値を算出して、盛り上がり値に基づいて前記文字列が盛り上がった話題を示す文字列であるか否かを判定する請求項1に記載の話題抽出装置。
  3. 前記盛り上がり判定手段は、前記盛り上がり値の順に予め設定された数の文字列を盛り上がった話題を示す文字列と判定する請求項2に記載の話題抽出装置。
  4. 前記盛り上がり判定手段は、前記時間枠において前記新規ではなく盛り上がった話題を示す文字列と判定する文字列の数を制限する請求項1〜3の何れか一項に記載の話題抽出装置。
  5. 前記盛り上がり判定手段は、前記文字列をグルーピングして、グルーピングされた文字列に対して盛り上がった話題を示す文字列であるか否かを判定する請求項1〜4の何れか一項に記載の話題抽出装置。
  6. 前記盛り上がり判定手段は、2つの文字列又は文字列の読みについて、一方が他方に少なくとも部分一致しているか否かを判断することによってグルーピングを行う請求項5に記載の話題抽出装置。
  7. 前記盛り上がり判定手段は、一方の文字列を含むテキストデータの数、他方の文字列を含むテキストデータの数、及び両方の文字列を含むテキストデータの数から2つの文字列同士の共起度を算出して、共起度に基づいてグルーピングを行う請求項5又は6に記載の話題抽出装置。
  8. 前記文字列抽出手段によって抽出された文字列と抽出元のテキストデータとの対応関係を示す情報を格納するテキストインデックス格納手段と、
    検索クエリを入力して、当該検索クエリに合致する文字列を検索して、前記テキストインデックス格納手段に格納された情報を参照して、当該検索クエリに合致する文字列を含むテキストデータを示す情報を出力する検索手段と、
    を更に備える請求項1〜7の何れか一項に記載の話題抽出装置。
  9. 前記テキスト取得手段によって取得されたテキストデータをフィルタリングして、前記文字列抽出手段によって文字列が抽出されるテキストデータから除外するフィルタリング手段を更に備える請求項1〜8の何れか一項に記載の話題抽出装置。
  10. 時刻に対応付けられた複数のテキストデータを取得するテキスト取得ステップと、
    前記テキスト取得ステップにおいて取得されたテキストデータから、話題を示す文字列を抽出する文字列抽出ステップと、
    前記文字列抽出ステップにおいて抽出された文字列が、盛り上がりを判定する時間枠から予め設定された時間遡った時刻までの判断期間に新規に盛り上がった話題を示す文字列として判定されたか否かを判断する判断ステップと、
    前記判断ステップにおいて、前記文字列が新規に盛り上がった話題を示す文字列として判定されなかったものと判断された場合には、前記テキストデータに対応付けられた時刻を参照して、前記時間枠での前記複数のテキストデータにおける当該文字列の出現頻度と前記時間枠から予め設定された時間遡った時刻までの参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規に盛り上がった話題を示す文字列であるか否かを判定すると共に、前記判断ステップにおいて、当該文字列が新規に盛り上がった話題を示す文字列として判定されたものと判断された場合には、前記テキストデータに対応付けられた時刻を参照して、前記時間枠での前記複数のテキストデータにおける当該文字列の出現頻度と当該文字列が新規に盛り上がった話題を示す文字列として判定された際の前記参照期間での当該文字列の出現頻度とに基づいて、当該時間枠において当該文字列が新規ではなく盛り上がった話題を示す文字列であるか否かを判定する盛り上がり判定ステップと、
    を含む話題抽出方法。
JP2012097703A 2012-04-23 2012-04-23 話題抽出装置及び話題抽出方法 Active JP5512737B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012097703A JP5512737B2 (ja) 2012-04-23 2012-04-23 話題抽出装置及び話題抽出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012097703A JP5512737B2 (ja) 2012-04-23 2012-04-23 話題抽出装置及び話題抽出方法

Publications (2)

Publication Number Publication Date
JP2013225244A true JP2013225244A (ja) 2013-10-31
JP5512737B2 JP5512737B2 (ja) 2014-06-04

Family

ID=49595257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012097703A Active JP5512737B2 (ja) 2012-04-23 2012-04-23 話題抽出装置及び話題抽出方法

Country Status (1)

Country Link
JP (1) JP5512737B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102959A (ja) * 2013-11-22 2015-06-04 株式会社ユニバーサルエンターテインメント 情報更新装置、情報更新方法、プログラム
KR101702559B1 (ko) * 2015-08-04 2017-02-03 연세대학교 산학협력단 실시간 이슈 탐지를 위한 일반 및 단기간 단어 사전 생성 및 단어 매칭 기법 및 그 장치
CN107273346A (zh) * 2016-03-30 2017-10-20 邻客音公司 从文本中对热门见解的可扩展挖掘
CN112069394A (zh) * 2020-08-14 2020-12-11 上海风秩科技有限公司 文本信息的挖掘方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072840A (ja) * 2004-09-03 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 予測型話題性評価方法及び装置及びプログラム
JP2009116440A (ja) * 2007-11-02 2009-05-28 Yahoo Japan Corp 情報伝播抽出装置および情報伝播抽出方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072840A (ja) * 2004-09-03 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 予測型話題性評価方法及び装置及びプログラム
JP2009116440A (ja) * 2007-11-02 2009-05-28 Yahoo Japan Corp 情報伝播抽出装置および情報伝播抽出方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNH201100126002; 鳥居 大祐 他: 'Twitter連携によるリアルタイム検索システムの開発' NTT DOCOMOテクニカル・ジャーナル 第19巻 第4号, 20120101, pp.16-20, 社団法人電気通信協会 *
JPN6013033744; 鳥居 大祐 他: 'Twitter連携によるリアルタイム検索システムの開発' NTT DOCOMOテクニカル・ジャーナル 第19巻 第4号, 20120101, pp.16-20, 社団法人電気通信協会 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102959A (ja) * 2013-11-22 2015-06-04 株式会社ユニバーサルエンターテインメント 情報更新装置、情報更新方法、プログラム
KR101702559B1 (ko) * 2015-08-04 2017-02-03 연세대학교 산학협력단 실시간 이슈 탐지를 위한 일반 및 단기간 단어 사전 생성 및 단어 매칭 기법 및 그 장치
CN107273346A (zh) * 2016-03-30 2017-10-20 邻客音公司 从文本中对热门见解的可扩展挖掘
CN107273346B (zh) * 2016-03-30 2024-06-11 微软技术许可有限责任公司 从文本中对热门见解的可扩展挖掘
CN112069394A (zh) * 2020-08-14 2020-12-11 上海风秩科技有限公司 文本信息的挖掘方法及装置
CN112069394B (zh) * 2020-08-14 2023-09-29 上海风秩科技有限公司 文本信息的挖掘方法及装置

Also Published As

Publication number Publication date
JP5512737B2 (ja) 2014-06-04

Similar Documents

Publication Publication Date Title
US10776424B2 (en) System and method for identifying and ranking trending named entities in digital content objects
US10394864B2 (en) Method and server for extracting topic and evaluating suitability of the extracted topic
CN103886034B (zh) 一种建立索引及匹配用户的查询输入信息的方法和设备
US9286619B2 (en) System and method for generating social summaries
KR101702020B1 (ko) 온라인 소셜 네트워크용 클라이언트-측 검색 템플릿
US9063983B1 (en) Detecting name-triggering queries
CN106570144A (zh) 推荐信息的方法和装置
CN103546446B (zh) 一种钓鱼网站的检测方法、装置和终端
US20120066195A1 (en) Search assist powered by session analysis
US20190261863A1 (en) System and method for providing an indication of the well-being of an individual
KR101491628B1 (ko) 블로그에서 대중의 감성 변화에 영향을 미치는 키워드 추출 방법, 장치 및 시스템
CN103927297A (zh) 基于证据理论的中文微博可信度评估方法
JP5512737B2 (ja) 話題抽出装置及び話題抽出方法
US20130066894A1 (en) Information processing system, information processing method, program, and non-transitory information storage medium
KR20190122334A (ko) 소셜 네트워크 시스템 기반의 질의 응답 서비스 제공을 위한 전문가 추천 방법 및 전문가 추천 시스템
KR20180011261A (ko) 검색 처리 방법 및 장치
JP5731940B2 (ja) テキスト位置判定装置及びテキスト位置判定方法
CN108959364B (zh) 一种社交媒体事件级新闻中新闻媒体影响力评估方法
CN106844466A (zh) 事件脉络生成方法和装置
JP2013054606A (ja) 文書検索装置及び方法及びプログラム
Iserman et al. Dictionaries and decision trees for the 2019 CLPsych shared task
JP6279354B2 (ja) 話題特定装置、および話題特定方法
TWI534640B (zh) Chinese network information monitoring and analysis system and its method
KR101271171B1 (ko) 사용자가 선정한 키워드에 기반한 콘텐츠 관련정보 제공장치 및 방법
JP5548243B2 (ja) イベント発生地点抽出装置、方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140326

R150 Certificate of patent or registration of utility model

Ref document number: 5512737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250