(57)【特許請求の範囲】
【請求項１】
日時情報を属性として持つ文書を入力する文書入力手段と、
前記文書入力手段により指定期間に入力された複数の文書の各々に含まれるキーワードを解析することにより、各文書が表す単語ベクトルを求めるキーワード解析手段と、
前記複数の文書における文書の組において、前記単語ベクトルの内積が最大となる文書の組を同じ話題に属する話題クラスタとして抽出する話題クラスタ抽出手段と、
前記話題クラスタから出現頻度の高い順に所定個数のキーワードを特徴的なキーワード群として抽出するキーワード抽出手段と、
文書の数、文書に含まれる日付の分散、文書に含まれるキーワードのＣ−ｖａｌｕｅの値のいずれかの判定基準によって前記話題クラスタをサブ話題の話題クラスタに分割することにより、話題を構造化可能であるかを判定する話題構造化判定手段と、
前記話題が構造化可能であると判定されたならば、前記話題クラスタについて前記話題が構造化可能であると判定されなくなるまで繰り返し話題クラスタの抽出を行うよう前記話題クラスタ抽出手段を制御するとともに、これにより抽出されるサブ話題の話題クラスタであるサブ話題クラスタにおいて前記特徴的なキーワード群を抽出するよう前記キーワード抽出手段を制御する手段と、
前記サブ話題クラスタにおいて前記特徴的なキーワード群を前記日時情報に基づいて並べて提示するキーワード提示手段と、を備えるキーワード提示装置。
【請求項２】
前記話題クラスタと前記サブ話題クラスタのそれぞれのキーワード群の分類または階層化を行うことによりキーワードを構造化するキーワード構造化手段をさらに備えることを特徴とする請求項１に記載のキーワード提示装置。
【請求項３】
前記話題クラスタまたは前記サブ話題クラスタのジャンルを推定してジャンル名を付与するジャンル推定手段をさらに備えることを特徴とする請求項１記載のキーワード提示装置。
【請求項４】
前記話題クラスタまたは前記サブ話題クラスタのキーワード群に基づいて検索クエリを生成する検索クエリ生成手段をさらに備えることを特徴とする請求項１記載のキーワード提示装置。
【請求項５】
前記キーワード提示手段により提示されたキーワード群においていずれかのキーワードが選択された際に、該キーワードに対して前記検索クエリを付加する請求項４記載のキーワード提示装置。
【請求項６】
前記話題クラスタと前記サブ話題クラスタのそれぞれのキーワード群の分類または階層化を行うことによりキーワードを構造化する手段をさらに具備し、
前記検索クエリ生成手段は、前記キーワードの構造結果を利用してキーワードを複数組み合わせた検索クエリを生成することを特徴とする請求項４記載のキーワード提示装置。
【請求項７】
前記検索クエリ生成手段は、予め指定された特定のキーワード列を付与することを特徴とする請求項４記載のキーワード提示装置。
【請求項８】
前記話題クラスタまたは前記サブ話題クラスタのジャンルを推定し、ジャンル名を付与するジャンル推定手段をさらに備え、
前記検索クエリ生成手段は、前記ジャンル推定手段により推定されたジャンル名に応じて検索クエリ生成方法を切り替えることを特徴とする請求項４記載のキーワード提示装置。
【請求項９】
前記キーワード抽出手段により抽出されたキーワード群を、各キーワードのスコアとともに格納するキーワード格納手段をさらに備えることを特徴とする請求項１記載のキーワード提示装置。
【請求項１０】
前記話題クラスタ抽出手段は、前記キーワード格納手段に格納されているスコアの履歴も併せて用いることにより、前記話題クラスタを抽出する際のスコアを算出することを特徴とする請求項９記載のキーワード提示装置。
【請求項１１】
前記キーワード格納手段に格納されている各キーワードのスコアを互いに比較することにより、前記各キーワードに属性を付与することを特徴とする請求項９記載のキーワード提示装置。
【請求項１２】
前記キーワード格納手段に格納されているキーワードとの比較により判定される新着のキーワードに、新着であることを示す属性を付与することを特徴とする請求項９記載のキーワード提示装置。
【請求項１３】
前記文書入力手段に入力される文書は、インターネット上のＷｅｂページのニュース記事であることを特徴とする請求項１記載のキーワード提示装置。
【請求項１４】
前記文書入力手段に入力される文書は、電子番組ガイド（ＥＰＧ：Electronic Program Guide）に含まれる情報であることを特徴とする請求項１記載のキーワード提示装置。
【請求項１５】
前記文書入力手段に、指定された少なくとも１つ以上の期間に含まれる文書集合が入力されることを特徴とする請求項１記載のキーワード提示装置。
【請求項１６】
前記キーワード抽出手段は、キーワード自身の属性に基づくスコアを算出することを特徴とする請求項１記載のキーワード提示装置。
【請求項１７】
前記スコアをキーワードの出現頻度とすることを特徴とする請求項１６記載のキーワード提示装置。
【請求項１８】
前記キーワード構造生成手段は、キーワードの出現元の文書の共通性による共起情報を活用することにより、前記キーワード群の分類および階層化を行うことを特徴とする請求項２記載のキーワード提示装置。
【請求項１９】
前記キーワード抽出手段は、キーワードの包含関係を利用して前記キーワード群を抽出することを特徴とする請求項１記載のキーワード提示装置。
【請求項２０】
前記キーワード提示手段は、キーワードに対する所定の操作に応答して該キーワードを含む文書を表示する表示手段を具備することを特徴とする請求項１記載のキーワード提示装置。
【請求項２１】
前記キーワード提示手段は、前記属性の有無または種類に従い、その属性を識別可能なマークを表示することを特徴とする請求項１１記載のキーワード提示装置。
【請求項２２】
前記キーワード提示手段は、前記属性の有無または種類に従い、前記キーワード群の表示順序を変更することを特徴とする請求項１１記載のキーワード提示装置。
【請求項２３】
コンピュータを、
日時情報を属性として持つ文書を入力する文書入力手段、
前記文書入力手段により指定期間に入力された複数の文書の各々に含まれるキーワードを解析することにより、各文書が表す単語ベクトルを求めるキーワード解析手段、
前記複数の文書における文書の組において、前記単語ベクトルの内積が最大となる文書の組を同じ話題に属する話題クラスタとして抽出する話題クラスタ抽出手段、
前記話題クラスタから出現頻度の高い順に所定個数のキーワードを特徴的なキーワード群として抽出するキーワード抽出手段、
文書の数、文書に含まれる日付の分散、文書に含まれるキーワードのＣ−ｖａｌｕｅの値のいずれかの判定基準によって前記話題クラスタをサブ話題の話題クラスタに分割することにより、話題を構造化可能であるかを判定する話題構造化判定手段、
前記話題が構造化可能であると判定されたならば、前記話題クラスタについて前記話題が構造化可能であると判定されなくなるまで繰り返し話題クラスタの抽出を行うよう前記話題クラスタ抽出手段を制御するとともに、これにより抽出されるサブ話題の話題クラスタであるサブ話題クラスタにおいて前記特徴的なキーワード群を抽出するよう前記キーワード抽出手段を制御する手段、
前記サブ話題クラスタにおいて前記特徴的なキーワード群を前記日時情報に基づいて並べて提示するキーワード提示手段、として機能させるためのキーワード提示プログラム。
【請求項２４】
日時情報を属性として持つ文書を文書入力手段が入力するステップと、
前記文書入力手段により指定期間に入力された複数の文書の各々に含まれるキーワードをキーワード解析手段が解析することにより、各文書が表す単語ベクトルを求めるステップと、
前記複数の文書における文書の組において、前記単語ベクトルの内積が最大となる文書の組を同じ話題に属する話題クラスタとして話題クラスタ抽出手段が抽出するステップと、
前記話題クラスタから出現頻度の高い順に所定個数のキーワードを特徴的なキーワード群としてキーワード抽出手段が抽出するステップと、
文書の数、文書に含まれる日付の分散、文書に含まれるキーワードのＣ−ｖａｌｕｅの値のいずれかの判定基準によって前記話題クラスタをサブ話題の話題クラスタに分割することにより、話題を構造化可能であるかを話題構造化判定手段が判定するステップと、
前記話題が構造化可能であると判定されたならば、前記話題クラスタについて前記話題が構造化可能であると判定されなくなるまで繰り返し話題クラスタの抽出を行うよう前記話題クラスタ抽出手段を制御するとともに、これにより抽出されるサブ話題の話題クラスタであるサブ話題クラスタにおいて前記特徴的なキーワード群を抽出するよう前記キーワード抽出手段を制御するステップと、
キーワード提示手段が、前記サブ話題クラスタにおいて前記特徴的なキーワード群を前記日時情報に基づいて並べて提示するステップとを有するキーワード提示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、日時情報を属性としてもつ複数の文書から、ある期間における話題や時事情報を示すキーワードを検出し、効果的に提示するキーワード提示のための装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
現在話題になっていること、流行している話題や時事情報を知りたいというニーズは強く、様々な技術が開発されている。なかでも、話題や時事情報を知るために、文書情報を活用した時事キーワードの抽出技術が注目されている。例えば、Ｗｅｂ上の技術であるＷｅｂ検索エンジンでは、世の中の様々な情報に対するニーズを検索キーワードという形でリアルタイムに知ることができ、日々の話題を知る手段として注目されている。
【０００３】
ある期間に話題となるニュースを抽出する技術としては、Ｗｅｂ上で検索されたキーワードのランキング情報を表示する技術がある。これは、一定期間の頻度を元に検索ランキングを作成し、ブログ検索エンジンなどで最近追加されたエントリに共通して含まれるキーワードを話題の兆しとして表示する技術である。
【０００４】
非特許文献１では、個人が日記や記事を投稿するインターネット上のＷｅｂサイト（ブログ（ｂｌｏｇ）として知られている）に書き込まれたキーワードの頻度から、現在「旬」であるキーワードを表示する技術について記載されている。このような手法を用いて提示されたキーワードは、時事情報を示すキーワードの一種と言えるものである。非特許文献１に記載の技術では、２４時間、１週間、１ヶ月といった単位で時事情報を示すキーワードをランキング形式で提示することが可能になっている。
【０００５】
また、特許文献１に開示されているキーワード抽出方法では、新規な単語のクラスタリングにより話題を提示することを試みている。
【特許文献１】特開２００１−３２５２７２号公報
【非特許文献１】ｋｉｚａｓｉ．ｊｐ（ブログに記された無数のコトバから変化のｋｉｚａｓｉを発見するサイト）、「平成１８年７月２６日検索」、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｋｉｚａｓｉ．ｊｐ／＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
非特許文献１には、一定期間で頻度が高いキーワード（時事情報を示すキーワード）を提示することに加え、当該時事情報を示すキーワードに関連性を有するキーワードを提示することについても記載されている。
【０００７】
しかしながら、非特許文献１に記載の技術は、ある話題が提示されたときに、その話題がどのように進展しているかが分かるような提示を行うものではない。すなわち、１つの大きな話題に対して複数のサブ話題があるような場合、その大きな話題にはどのようなサブ話題が含まれ、それらが何時どのような順序で出現しているかを知ることができないという問題がある。
【０００８】
例えば、時事情報を示すキーワードとして「○○傷害事件」が抽出され、該キーワードに関連性を有するキーワードとして「事件発生」「指名手配」「犯人逮捕」が抽出されたとする。非特許文献１に記載の技術において、これらキーワードの新鮮さや出現期間に応じて表示順序を制御したり、話題の推移を可視化して制御することは行われない。例えば「○○傷害事件」という一つの大きな話題のサブ話題は、「事件発生」「指名手配」「犯人逮捕」と見ることができるが、これらサブ話題は、「事件発生→指名手配→犯人逮捕」という順序で表示されることが好ましい。しかしながら、非特許文献１に記載の技術ではこのような表示制御は行われない。そもそも、一つの大きな話題「○○傷害事件」を構成しているサブ話題を表すキーワードが、それぞれ「事件発生」「指名手配」「犯人逮捕」であることもユーザは把握することができない。したがって、Ｗｅｂから適切なニュース記事を検索するための検索クエリをどのように決めればよいかの指針も得られない。
【０００９】
特許文献１では、キーワードを抽出してからクラスタリング処理を行うため、キーワードの出現した文脈は考慮されない場合がある。その結果、同じキーワードが全く別の話題に含まれる可能性がある。
【００１０】
本発明は、かかる事情を考慮してなされたものであって、話題をサブ話題に細分化し、サブ話題を代表するキーワードを抽出して提示することにより、ある話題の推移や関連する話題、あるいはその話題が現在どのような状況であるかをユーザに提示することができるキーワード提示のための装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一観点に係るキーワード提示装置は、日時情報を属性として持つ文書を入力する文書入力手段と、前記文書入力手段により指定期間に入力された複数の文書の各々に含まれるキーワードを解析することにより、各文書が表す単語ベクトルを求めるキーワード解析手段と、前記複数の文書における文書の組において、前記単語ベクトルの内積が最大となる文書の組を同じ話題に属する話題クラスタとして抽出する話題クラスタ抽出手段と、前記話題クラスタから出現頻度の高い順に所定個数のキーワードを特徴的なキーワード群として抽出するキーワード抽出手段と、文書の数、文書に含まれる日付の分散、文書に含まれるキーワードのＣ−ｖａｌｕｅの値のいずれかの判定基準によって前記話題クラスタをサブ話題の話題クラスタに分割することにより、話題を構造化可能であるかを判定する話題構造化判定手段と、前記話題が構造化可能であると判定されたならば、前記話題クラスタについて前記話題が構造化可能であると判定されなくなるまで繰り返し話題クラスタの抽出を行うよう前記話題クラスタ抽出手段を制御するとともに、これにより抽出されるサブ話題の話題クラスタであるサブ話題クラスタにおいて前記特徴的なキーワード群を抽出するよう前記キーワード抽出手段を制御する手段と、前記サブ話題クラスタにおいて前記特徴的なキーワード群を前記日時情報に基づいて並べて提示するキーワード提示手段と、を備える。
【発明の効果】
【００１２】
本発明によれば、話題をサブ話題に細分化し、サブ話題を代表するキーワードを抽出して提示することにより、ある話題の推移や関連する話題、あるいはその話題が現在どのような状況であるかをユーザに提示することができるキーワード提示のための装置、方法、及びプログラムを提供できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１４】
図１は、本発明の実施の一形態に係るキーワード提示装置を含むシステム構築例を示す模式図である。
【００１５】
本システムは、図１に示すように、キーワード提示装置であるサーバコンピュータ（以下、「サーバ」という）１にＬＡＮ（Local Area Network）等のネットワーク２を介してクライアントコンピュータ（以下、「クライアント」という）３が複数台接続されたサーバクライアントシステムを想定する。サーバ１およびクライアント３は、例えば、一般的なパーソナルコンピュータである。
【００１６】
図２は、サーバ１のハードウェア構成図である。サーバ１は、情報処理を行うＣＰＵ（Central Processing Unit）１０１、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）１０２、各種データを書換え可能に記憶するＲＡＭ（Random Access Memory）１０３、各種データベースとして機能するとともに各種のプログラムを格納するＨＤＤ（Hard Disk Drive）１０４、記憶媒体１１０を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのＣＤ−ＲＯＭドライブ等の媒体駆動装置１０５、ネットワーク２を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置１０６、処理経過や結果等を操作者に表示するＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示部１０７、並びに操作者がＣＰＵ１０１に命令や情報等を入力するためのキーボードやマウス等の入力部１０８等から構成されており、これらの各部間で送受信されるデータをバスコントローラ１０９が調停して動作する。
【００１７】
このようなサーバ１およびクライアント３では、ユーザが電源を投入するとＣＰＵ１０１がＲＯＭ１０２内のローダーというプログラムを起動させ、ＨＤＤ１０４よりＯＳ（Operating System）というコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ１０３に読み込み、このＯＳを起動させる。このようなＯＳは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）等が知られている。これらのＯＳ上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００１８】
ここで、サーバ１は、アプリケーションプログラムとして、キーワード提示プログラムをＨＤＤ１０４に記憶している。この意味でＨＤＤ１０４は、キーワード提示プログラムを記憶する記憶媒体として機能する。
【００１９】
また、一般的には、サーバ１のＨＤＤ１０４にインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭやＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体１１０に記録され、この記憶媒体１１０に記録された動作プログラムがＨＤＤ１０４にインストールされる。このため、ＣＤ−ＲＯＭ等の光情報記録メディアやＦＤ等の磁気メディア等の可搬性を有する記憶媒体１１０も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えば通信制御装置１０６を介して外部から取り込まれ、ＨＤＤ１０４にインストールされても良い。
【００２０】
サーバ１は、ＯＳ上で動作するキーワード提示プログラムが起動すると、このキーワード提示プログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。サーバ１のＣＰＵ１０１が実行する各種の演算処理のうち、本実施の形態の特徴的な処理について以下に説明する。
【００２１】
図３は、サーバ１の機能ブロック図である。サーバ１は、キーワードを提示するためのプログラムとして実現することができ、図３に示すように、文書入力部１１、話題クラスタ抽出部１２、キーワード解析部１３、話題キーワード抽出部１４、話題キーワード構造生成部１５、話題構造化判定部１６、話題キーワード構造格納部１７、ジャンル学習部１８、ジャンル学習データ格納部１９、ジャンル推定部２０、検索クエリ生成部２１、および話題キーワード提示部２２を有する。
【００２２】
話題キーワード構造格納部１７は、ＨＤＤ１０４、記憶媒体１１０、ＲＡＭ１０３などの一般的に利用されているあらゆる記憶手段により構成することができる。
【００２３】
以下、各機能ブロックについて説明する。なお、それぞれの機能ブロックを構成するデータ構造や処理の流れは、必要に応じて後述する。
【００２４】
文書入力部１１は、属性として日時情報を持つ複数の文書の入力し、予め指定された日数の期間に該当する文書集合を得る。属性として日時情報を持つ文書とは、例えば、インターネット上のＷｅｂページのニュース記事（図４（ａ）参照）やＲＳＳ（Rich Site Summary）、あるいはＥＰＧ（Electronic Program Guide：電子番組ガイド）上の情報（図４（ｂ）参照）などである。いずれの文書も、本文あるいは更新時刻などの属性として日時情報を含むことが必要である。これらの文書の配信元としては、指定された特定のＷｅｂサイトやデータベースに存在するデータが用いられる。また、Ｗｅｂページのニュース記事（図４（ａ）参照）やＥＰＧ上の情報（図４（ｂ）参照）には、それぞれを一意に識別可能な文書ＩＤが付されている。
【００２５】
話題クラスタ抽出部１２は、文書入力部１１に入力された指定期間に該当する文書について、キーワード解析部１３により解析されたキーワード群から、同じ話題に属する文書のクラスタを抽出する。すなわち、話題クラスタ抽出部１２は、文書入力部１１から文書を受け取ると、キーワード解析部１３に一旦渡す。話題クラスタの生成方法の例としては、キーワード解析部１３によって解析されたキーワードを用いて各文書を表す単語ベクトルを求め、単語ベクトルの内積が最大となる文書の組を同じ話題とみなす、という作業を内積値が閾値になるまで繰り返す方法が考えられる。この結果、話題クラスタの集合が得られる。
【００２６】
キーワード解析部１３は、文書入力部１１により指定期間に入力された複数の文書を話題クラスタ抽出部１２から受け取り、既存の自然言語処理技術（例えば、形態素解析やｎ−ｇｒａｍ抽出など）を用い、Ｗｅｂ上のテキストやＥＰＧのテキストに含まれる代表的なキーワードを解析する。例えば、文字列「自然言語処理」を形態素解析すると、例えば「自然」「言語」「処理」という単語などをキーワードとして切り出すことができる。また、文書数とキーワードの出現頻度から計算されるＴＦ（Term Frequency）やＩＤＦ（Inversed Document Frequency）などを用いて各キーワードに対する重み付けが行われる。これは上述の単語ベクトルの各要素に利用される。各要素が示す値を用いて、上記単語ベクトルの内積の値が計算される。なお、本実施形態ではＴＦやＩＤＦを用いた処理について記載しているが、例えばキーワード間の単語数や文字数に基づく距離や、各単語の出現日時の差など、その他のパラメタに基づく重み付け手段を用いてもよい。
【００２７】
話題キーワード抽出部１４は、話題クラスタ抽出部１２により抽出されたそれぞれの話題クラスタに対し、よく含まれるキーワード（特徴的な見出しキーワード）を話題キーワードとして抽出する。キーワードとしてはどの長さまで抽出すべきかを示す基準が必要であるが、例えばＣ−ｖａｌｕｅ（K. Frantsi and S. Ananiadou, Extracting Nested Collocations, in Proceedings of COLING-96, pp.41-46, 1996.）などの手法を利用することが可能である。
【００２８】
話題キーワード構造生成部１５は、話題キーワード抽出部１４により抽出された複数の話題キーワードについて、後述する話題キーワード構造格納部１７の結果に応じて関連付けを行い、話題キーワードを構造化する。
【００２９】
話題構造化判定部１６は、それぞれの話題クラスタが示す話題をさらに細分化できるかどうかを判定する。判定基準としては、例えばクラスタを構成する文書情報の数、文書情報に含まれる日付の分散、文書情報に含まれるキーワードのＣ−ｖａｌｕｅの値、などを利用することができる。この値が閾値を超える場合には、そのクラスタは細分化可能であると判断される。この場合、そのクラスタを文書集合として、話題クラスタ抽出部１２以降の処理が再帰的に実行される。つまり、話題が構造化可能であると判定されたならば、話題クラスタについて、話題が構造化可能であると判定されなくなるまで繰り返し話題クラスタの抽出を行うよう話題クラスタ抽出部１２を制御するとともに、これにより抽出されるサブ話題の話題クラスタであるサブ話題クラスタにおいて特徴的なキーワード群を抽出するよう話題キーワード抽出部１４を制御する。再帰的な実行においては、話題の分割を適切に行うための手段として、話題キーワードを計算に用いずにそれ以外のキーワードに基づいてクラスタを分割する方法、あるいは各クラスタを構成する記事を全体の集合とみなして再度、ＴＦやＩＤＦ、Ｃ−ｖａｌｕｅを計算する方法が利用される。これらの分割判定は一度に全てのクラスタに対して適用しても良いし、各クラスタ毎に判定してもよい。また、図３では話題構造化判定を行って再帰的な処理が可能であると判定された場合のみ再度クラスタリングが行われるが、先にクラスタリング処理を行った後に各クラスタが話題を構成する単位として適当か判断するようにしても良い。図１４に、先にクラスタリング処理を行う場合の構成について示す。この場合は、クラスタリングされた結果に対して判定を行い、その細分化が適当であると判断された場合のみ、後述する話題キーワード構造格納部１７への格納が行われ、適当でない場合はクラスタリング結果は破棄される。
【００３０】
話題キーワード構造格納部１７は、話題キーワード構造生成部１５によって生成された時事キーワードおよびその構造を格納する。話題キーワード構造格納部１７に格納された時事キーワードおよびその構造は、次回以降の実行時あるいは話題クラスタの細分化時に参照される。
【００３１】
ジャンル推定部２０は、話題構造化判定部１６により全ての話題構造化が終了した後、話題キーワード構造格納部１７に格納された全ての話題キーワードあるいは話題クラスタに対しジャンル情報を付加する。ジャンル推定は、予め与えられたｎ個のジャンル（「判定不能」または「その他」も含む）のいずれに属するか分類する問題であり、ｋ−ＮＮ（k-nearest neighbor）法、ＳＶＭ（Support Vector Machine）といった手法により適切であると判定されたジャンルに分類される。ジャンル推定に必要なデータは後述するようにジャンル学習部１８により学習され、ジャンル学習データ格納部１９に格納されたものを用いる。ジャンルの推定結果は話題キーワード構造格納部１７に格納される。
【００３２】
ジャンル学習部１８はジャンル情報と文書が対になったＥＰＧまたはＲＳＳなどの文書情報を入力とし、それぞれの文書に含まれるキーワードが「どのジャンルにより含まれやすいか」あるいは「どのジャンルに含まれにくいか」を重みとして算出する。その結果がジャンル学習データ格納部１９に格納される。
【００３３】
検索クエリ生成部２１は、話題キーワード構造生成部１５によって生成された話題キーワードとその構造、およびジャンル情報を元に、インターネット上の検索エンジンで検索するための検索クエリを埋め込んだＷｅｂページを生成する。
【００３４】
話題キーワード提示部２２は、検索クエリ生成部２１により生成されたＷｅｂページを、各ユーザが使用するクライアント３からのネットワーク２を介した表示要求に応じて提示する。
【００３５】
次に、キーワード提示プログラムに従ってサーバ１のＣＰＵ１０１が実行する処理のうち、話題クラスタ抽出部１２およびキーワード解析部１３における話題クラスタ抽出処理について図５のフローチャートを参照して説明する。
【００３６】
図５に示すように、まず、キーワード解析部１３は指定期間内に文書入力部１１を介して入力された複数の文書の各々について形態素解析を行って、一つの文書を複数の単語に分割する（ステップＳ１）。
【００３７】
次に、キーワード解析部１３は、分割された形態素のＴＦ−ＩＤＦ値を計算することにより、単語毎の重みを考慮した文書毎の単語ベクトルを生成する（ステップＳ２）。
【００３８】
そして、キーワード解析部１３は、ステップＳ２で生成した単語ベクトルから、助詞や記号のようにキーワードとして用いられない不要な表現を除外する（ステップＳ３）。
【００３９】
ここまでの処理はキーワード解析部１３において行われ、解析された結果の単語一覧が話題クラスタ抽出部１２に戻される。
【００４０】
話題クラスタ抽出部１２に戻された単語一覧は、話題クラスタ抽出部１２によってそれぞれ単語ベクトルの内積が計算され、話題クラスタ抽出部１２は計算された内積の最大値を計算し（ステップＳ４）、その値が閾値を超えるかどうかが判定される（ステップＳ５）。
【００４１】
なお、本実施の形態においては、話題クラスタ抽出部１２は、文書集合やキーワード自身の属性である出現頻度を用いてスコアを算出するようにしたが、これに限るものではなく、キーワードの長さ、形態素情報などの文書集合におけるキーワード自身の属性を用いてスコアを算出するようにしても良い。
【００４２】
単語ベクトルの内積の最大値が閾値より大きい場合（ステップＳ５のＹｅｓ）、最大値を与える２つの文書は同じクラスタに属するとみなされる（ステップＳ６）。そして、ステップ４の処理が繰り返し実行される。
【００４３】
単語ベクトルの内積の最大値が閾値以下の場合（ステップＳ５のＮｏ）、クラスタリング処理は終了し、クラスタの個数が閾値より大きいかどうかを判定する（ステップＳ７）。閾値より大きい場合は頻度の高い順に閾値までの個数だけクラスタを残し、残りは除去する（ステップ８）。ここまでの処理により話題クラスタが与えられる。
【００４４】
次に、各話題クラスタについて、話題キーワード抽出部１４において話題を表すキーワードを抽出する処理の流れを図６のフローチャートを参照して説明する。
【００４５】
図６に示すように、まず、複数の形態素を連結することにより、２単語以上からなるキーワードの候補を生成する（ステップＳ１１）。
【００４６】
そして、ステップＳ１１で生成したキーワードの候補から助詞や記号のようにキーワードとして用いられない不要な表現を除去する（ステップＳ１２）。
【００４７】
話題キーワード抽出部１４は、出現頻度の高い順に時事キーワードの候補とし（ステップＳ１３）、候補として抽出されたキーワードに文字列の包含関係があるか否かを判定する（ステップＳ１４）。
【００４８】
話題キーワード抽出部１４は、過去に算出したキーワードの出現頻度の履歴も併せて用いることによりキーワードの出現頻度を算出する。過去に算出したキーワードの出現頻度の履歴は、話題キーワード構造格納部１７に格納されているキーワードに対応付けられているものとする。
【００４９】
本実施の形態において、話題キーワード抽出部１４は、文書集合におけるキーワード自身の属性である出現頻度を用いてスコアを算出することとしたが、これに限るものではなく、キーワードの長さ、形態素情報などの文書集合におけるキーワード自身の属性を用いてスコアを算出するようにしても良い。
【００５０】
キーワードに文字列の包含関係がある場合は（ステップＳ１４のＹｅｓ）、包含されるキーワードが除去される（ステップＳ１５）。キーワードに文字列の包含関係がある場合とは、例えば、「ＸＸ問題」「ＸＸ」「問題」というキーワードについて考えると、「ＸＸ問題」と「ＸＸ」および「問題」とは包含関係があるので、包含されるキーワード「ＸＸ」および「問題」はステップＳ１５で除去される。
【００５１】
一方、キーワードに文字列の包含関係がない場合は（ステップＳ１４のＮｏ）、そのままステップＳ１６に進む。
【００５２】
すなわち、話題キーワード抽出部１４は、キーワード解析部１３により解析された各キーワードの包含関係を利用してキーワードを抽出する。
【００５３】
このようにして得られたキーワード一覧が話題キーワードの集合となるが、抽出されたキーワードの個数が予め設定された閾値よりも多い場合は（ステップＳ１６のＹｅｓ）、頻度の高い順に閾値の個数までを採用し、残りを除去する（ステップＳ１７）。以上により、話題クラスタから所定個数の特徴的な話題キーワード群が得られる。
【００５４】
図７は、抽出された話題キーワード一覧の構造を示す模式図である。図７に示すように、得られた時事キーワードは、キーワード自身の文字列の他に、指定期間、出現頻度、出現元文書のＩＤを属性として有している。
【００５５】
次に、話題構造化判定部１６により話題が細分化可能であると分かった場合に、話題クラスタ抽出部１２によって細分化された話題クラスタの各々が示す話題を「サブ話題」と呼ぶ。また、サブ話題の見出しとなるキーワードを「サブ話題キーワード」と呼ぶことにする。話題キーワード構造生成部１５における話題キーワードおよびサブ話題キーワードの構造化処理について図８のフローチャートを参照して説明する。
【００５６】
図８に示すように、まず、細分化可能な話題クラスタを構成する文書を入力として話題クラスタ抽出部１２によるクラスタリングを行う。（ステップＳ２１）。この時、話題クラスタそのものを構成する話題キーワードは計算に含めない。また、サブ話題は近い日に出現したものが同じクラスタに属しやすいよう日付の近さも計算に用いる。
【００５７】
次に、結果として得られたサブ話題のクラスタからサブ話題キーワードを話題キーワード抽出部１４により抽出する（ステップＳ２２）。
【００５８】
次に、得られたそれぞれのサブ話題キーワード群を小見出しとし、細分化前の話題クラスタを示す話題キーワード（大見出しとする）に関連付ける（ステップＳ２３）。大見出し、小見出しの区別は、後述するキーワード提示における表示に反映される。
【００５９】
このように話題キーワード構造生成部１５は、キーワードの出現元の文書の共通性による共起情報を活用することにより、キーワードの分類および階層化を行っている。
【００６０】
続いて、それぞれのキーワードについて、話題キーワード構造格納部１７にキーワードが格納されているか否かを判定する（ステップＳ２４）。そして、話題キーワード構造格納部１７に格納されていないキーワードに対しては（ステップＳ２４のＮｏ）、新着フラグを付与し（ステップＳ２５）、話題キーワード構造格納部１７に既に格納されているキーワードに対しては（ステップＳ２４のＹｅｓ）、前回の出現頻度との差分を計算する（ステップＳ２６）。すなわち、話題キーワード構造生成部１５は、過去にキーワードが抽出されたか否かを話題キーワード構造格納部１７に格納されているキーワードと比較することにより新着のキーワードであることを判定し、キーワードに新着であることを示す属性（新着フラグ）を付与する。
【００６１】
以上説明したステップＳ２４〜Ｓ２６の処理は、未処理のキーワードが存在しなくなるまで（ステップＳ２７のＮｏ）、繰り返される。
【００６２】
上記のような処理の結果、得られたキーワード構造の例を図９に示す。それぞれの話題キーワードに対して話題ＩＤ、サブ話題ＩＤ、話題キーワード抽出時に付加された属性（指定期間、出現頻度、出現元文書のＩＤ）に加え、大見出し／小見出しの別、大見出し／小見出しの順位、新着フラグの有無、前日との順位差、およびジャンルが付与されている。「前日との順位差」は、「新着」が“０”の大見出し（つまり、前日との順位の比較ができるもの）に対してのみ付与される。また、例えば、前日は小見出しとして表示されていたものが翌日は大見出しに昇格したような場合については、大見出しとしては「新着」扱いとなる。なお、図９に示す属性に限るものではなく、小見出しから大見出しに昇格したような場合を明示する「昇格」などの属性を追加することが考えられる。ジャンルに関してはこの時点では与えられず、後からジャンル推定部２０によって算出される。
【００６３】
すなわち、話題キーワード構造生成部１５は、過去に算出したキーワードのスコア（例えば、出現頻度など）との比較により、キーワードに属性を付与する。
【００６４】
次に、ジャンル推定部２０におけるジャンル推定処理について述べる。この手順を図１０を参照しながら説明する。まず、ジャンル学習部１８において、ジャンル情報と対になった文書について単語ベクトルを計算する（ステップ３１）。次に、それぞれのキーワードがどのジャンルで出現しやすいかを計算する。これは、各キーワードのジャンル毎の出現割合を計算することにより得られる（ステップ３２）。この結果はジャンル学習データ格納部１９に格納される。
【００６５】
そして、それぞれの話題キーワードがどのジャンルに含まれるか計算する段階で、ジャンル推定部２０はそれぞれの話題キーワードが含まれるクラスタの単語ベクトルについて、ジャンル学習データ格納部１９に格納されたキーワード毎の対象ジャンルにおける出現割合を重みとした単語ベクトルとの内積を計算することによりジャンル毎のスコアが計算される（ステップ３３）。そのスコアの最大値が閾値以上であるかどうかを判定し（ステップ３４）、閾値を超えていれば当該ジャンルが話題キーワードの属するジャンルであるとみなされる。また、閾値を超えていない場合はジャンルに分類できないことを表すので、「ジャンル不明」または「その他ジャンル」であるとみなされる。いずれにしても、結果は話題キーワード構造格納部１７に反映される。
【００６６】
このようにして構造化（分類および階層化）されたそれぞれの話題キーワードに対して、ユーザに提示される前に検索クエリ生成部２１において検索クエリが付加される。話各題に対しては、それぞれの話題キーワード、あるいは話題キーワードを全て「ＡＮＤ」または「ＯＲ」で連結したものが検索クエリとして付加され、サブ話題に対しては、従属する話題の話題キーワードと、サブ話題の話題キーワードまたはサブ話題の話題キーワードを全て「ＡＮＤ」または「ＯＲ」で連結したものとの「ＡＮＤ」が検索クエリとして構成される。これにより、例えば元の話題である「ＸＸ問題」のような広いキーワードに対し、「疑惑」「謝罪」などのキーワードにより限定された文脈での検索結果を得ることが期待できる。すなわち、検索クエリ生成部２１は、話題キーワード構造生成部１５によって構成されたキーワード構造に従い、検索キーワードを複数組み合わせた検索クエリを生成する。なお、クエリ生成に関しては、「ＡＮＤ」はなるべく的確な結果を得るために、「ＯＲ」はなるべく多くの結果を得るために利用される。あるいは、ニュース記事を検索結果として得るために「ニュース」などの定型的なクエリを付与してもよい。すなわち、検索クエリ生成部２１は、予め指定された特定のキーワード列を付与することも可能である。また、それぞれの話題キーワードが属するジャンルに応じて、クエリを変更してもよい。例えば、ジャンルが「スポーツ」である場合は、検索対象としてスポーツ新聞のサイトに限定する、などの処理を行うことが考えられる。
【００６７】
そして、話題キーワード構造生成部１５によって生成された話題キーワードおよびその構造を元に検索クエリ生成部２１において生成された検索クエリを含むＷｅｂページは、各ユーザが使用するクライアント３においてＷｅｂブラウザで閲覧可能になっている。
【００６８】
図１１に示す話題キーワードの表示例から分かるように、大見出しの話題キーワードが、図９に示すスコアの順位に従った順序で表示される。また、小見出しは、大見出しと関連付けられた階層構造で表示される。さらに、小見出しは、図９に示すスコアの順位に従った順序で並べて表示される。このようなスコアの順位に従った順序は、指定期間における時間的な変化として現れることが多い。指定期間における時間的な変化は、例えば大見出しの話題情報が現在どのような状況であるかということである。また、新着の見出しに対しては、文字やアイコンなどを用いることにより（図１１では「Ｎｅｗ！」）、表示効果に違いを持たせることが可能になっている。すなわち、話題キーワード提示部２２は、属性の有無または種類に従い、その属性の存在を確認することのできるアイコン・記号・表示効果などのマークを表示する。
【００６９】
また、図１１に示すように、それぞれの話題キーワードはアンカーテキストとなっており、ハイパーリンクによってＷｅｂ上の検索サイトに関連付けられている。そして、話題キーワードをクリックすると、話題キーワードに付加されている検索クエリによるＷｅｂ上の検索サイトにおける検索結果一覧ページに移動して閲覧することができるようになっている。すなわち、各話題キーワードはＷｅｂ上の検索エンジンへのクエリとなっていることにより、ユーザはキーボードによりキーワードを入力しなくとも、ニュースをはじめとする話題情報を容易に取得することが可能になっている。これにより、キーワードの組み合わせを入力・検索する手間を減らすことが可能となる。
【００７０】
また、図１２は話題キーワードの別の表示例を示す図である。図１２に示す表示例は、文書入力時に、短期間の集合と長期間の集合の２種類から話題キーワードを抽出し、短期間の集合から生成された話題を「今日ホットな話題」の欄Ａに表示し、長期間の集合から短期間の集合を除いたものを「最近ウォッチ中の話題」の欄Ｂに表示することで、期間の違いに応じたキーワード提示を行うことができるようにしたものである。
【００７１】
なお、表示された話題キーワードに関しては、順位の変動に応じて順位の変化を示すアイコンや矢印を示すことで、そのキーワードの示す話題の注目度合いの変化を知ることが可能になっている。図１２においては、新着の話題キーワードには「星印」を付して、新着であることが分かるようにしている。
【００７２】
また、図１２においては、順位によらず、頻度が急上昇したキーワードに関しては、「赤丸急上昇の話題」の欄Ｃに表示することで、急に話題となったキーワードを知ることができるようにしている。
【００７３】
さらに、小見出しの表示順序に関しても、頻度の高いものを順に並べるだけでなく、新着フラグの付いたものを優先的に並べることでより話題性の高い表示をユーザに提示することが可能である。すなわち、話題キーワード提示部２２は、属性の有無または種類に従い、その表示順序を変更する。
【００７４】
さらに、キーワードだけを見てもそれが何を意味するか分からない場合があるが、図１２に示す表示例では、検索サイトを開かなくとも、キーワードが出現した元の文書データを表示することにより文脈を知ることができるようになっている。すなわち、話題キーワード提示部２２は、所定の操作があった場合に、話題キーワードを含む元文書を表示する。図１２では、マウスポインタＰをキーワードの上に置くことにより、キーワードが出現した元の文書データＤを表示しているので、「決戦」というキーワードがどのように使われたかを即座に知ることができる。
【００７５】
また、図１３は話題キーワードのさらに別の表示例を示す図である。図１３に示す表示例は、話題キーワードが含まれるクラスタのサイズをグラフとして表示するとともに、サブ話題キーワードが出現した日に表示することで、話題キーワードの動向がサブ話題のつながりにより表現される。あるサブ話題がどれだけの期間続いているかを示す場合は、図１３のように、期間を示す図形が重畳される。この図形は常に表示しても良いし、ユーザがグラフ、話題、あるいはサブ話題を選択した時のみ表示してもよい。表示グラフで表示する数値は、クラスタのサイズに限らず、話題キーワードの出現頻度など、関連する属性を数値化されたものであれば何でも良い。図１３では棒グラフが用いられているが、折れ線グラフなど、他の形式のグラフを用いてもよい。また、話題キーワードに対してジャンル情報を表示することで、それぞれの話題がどのジャンルに属するかを知ることができる。ジャンルに関しては、図１３のように話題毎にジャンルを付加しても良いし、各サブ話題毎にジャンルを付加してもよい。実際には、ある話題が複数のジャンルにまたがる場合もあり、そのような場合にサブ話題毎にジャンルが分かれていると違いを表現しやすいと考えられる。それぞれのキーワードに対しては、図１２と同様に、マウスポインタをキーワードの上に置くことにより、キーワードが出現した元の文書データを表示してもよい。同様に、表示された話題キーワードに関しては、順位の変動に応じて順位の変化を示すアイコンや矢印を示すことで、そのキーワードの示す話題の注目度合いの変化が分かるようにしても良いし、新着の話題キーワードには「星印」を付して、新着であることが分かるようにしてもよい。
【００７６】
以上説明した実施の形態によれば、指定期間に入力された複数の文書に含まれるキーワードを解析し、各キーワードのスコア順に抽出された各キーワードを分類および階層化したキーワード構造を生成する。そして、キーワード構造に従って各キーワードを分類および階層化するとともに、分類および階層化された各キーワードをスコア順に並べて提示する。これにより、日時情報を属性としてもつ文書から、ある日時における話題情報を示すキーワードである話題キーワードを効果的に検出・提示することができる。また、分類および階層化された各キーワードをスコア順に並べて提示することで、ある話題キーワードに対して階層化されていて関連性を有するキーワードの並び順から指定期間における時間的な変化、例えば当該話題情報が現在どのような状況であるかをユーザに提示することができる。より具体的には、単に「最近の話題」を見せるだけでなく、「最近話題になっている○○事件がどうなったのか」という進展や状態をユーザに効果的に見せることができる。
【００７７】
すなわち、本実施の形態は、日々配信されるテレビ番組の番組表情報やＷｅｂなどから入手可能な文書情報を記録し、それぞれのキーワードがどのように出現したか、その頻度や新しさを算出し、話題キーワードを知るための見出し情報を生成することで、現在話題となっているキーワードは何か、またそのキーワードはどの程度長く続いている話題を示すものか容易に理解し、検索できるようにしたものである。
【００７８】
また、過去の処理結果であるキーワード構造を再利用することで、新着キーワードやキーワードの出現頻度や順位の変化を知ることができ、その結果を表示内容に反映させることにより、大見出しで示される話題の状況や、最新のキーワードの組を容易に知ることが可能になる。
【００７９】
なお、本実施の形態においては、検索クエリ生成部２１は、話題キーワード提示部２２により各キーワードを提示する前に、各キーワードに対して検索クエリを付加するようにしたが、これに限るものではない。例えば、検索クエリ生成部２１は、話題キーワード提示部２２により提示された各キーワードが選択された際に、選択されたキーワードに対して検索クエリを付加するようにしても良い。
【００８０】
また、本実施の形態において、話題キーワード提示部２２は、検索クエリ生成部２１により生成されたＷｅｂページを、各ユーザが使用するクライアント３からのネットワーク２を介した表示要求に応じて提示するようにしたが、これに限るものではない。例えば、Ｗｅｂページを予め各ユーザが使用するクライアント３上にダウンロードし、ローカルファイルを表示するようにしても良い。
【００８１】
また、本実施の形態においては、キーワード提示装置であるサーバ１にネットワーク２を介してクライアント３が複数台接続されたサーバクライアントシステムを想定したが、これに限るものではなく、キーワード提示装置をスタンドアロンで使用するものであっても良い。
【００８２】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８３】
【図１】一実施形態に係るキーワード提示装置を含むシステム構築例を示す模式図
【図２】サーバのハードウェア構成図
【図３】サーバの機能ブロック図
【図４】（ａ）はインターネット上のＷｅｂページのニュース記事を例示的に示す模式図、（ｂ）はＥＰＧ上の情報を例示的に示す模式図
【図５】話題クラスタ抽出処理の手順を示すフローチャート
【図６】キーワード抽出処理の手順を示すフローチャート
【図７】話題キーワード一覧の構造を示す模式図
【図８】話題キーワードの構造化処理の手順を示すフローチャート
【図９】話題キーワード構造の一例を示す模式図
【図１０】ジャンル推定処理の手順を示すフローチャート
【図１１】話題キーワードの表示例を示す図
【図１２】話題キーワードの別の表示例を示す図
【図１３】話題キーワードの別の表示例を示す図
【図１４】別の実施形態に係るサーバの機能ブロック図
【符号の説明】
【００８４】
１１…文書入力部、１２…話題クラスタ抽出部、１３…キーワード解析部、１４…話題キーワード抽出部、１５…話題キーワード構造生成部、１６…話題構造化判定部、１７…話題キーワード構造格納部、１８…ジャンル学習部、１９…ジャンル学習データ格納部、２０…ジャンル推定部、２１…検索クエリ生成部、２２…話題キーワード提示部
【図１】
0004342575.tif 000002
【図２】
0004342575.tif 000003
【図３】
0004342575.tif 000004
【図４】
0004342575.tif 000005
【図５】
0004342575.tif 000006
【図６】
0004342575.tif 000007
【図７】
0004342575.tif 000008
【図８】
0004342575.tif 000009
【図９】
0004342575.tif 000010
【図１０】
0004342575.tif 000011
【図１１】
0004342575.tif 000012
【図１２】
0004342575.tif 000013
【図１３】
0004342575.tif 000014
【図１４】
0004342575.tif 000015