(57)【要約】【課題】ユーザが把握しやすいように話題を具体的かつ高速に抽出する。【解決手段】話題抽出装置は、メッセージを語に分割するメッセージ分割部１−１と、分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部１−２と、抽出された話題が出現したメッセージに後続するメッセージのうち話題を含むメッセージの数である支持数を求める話題情報作成部１−３と、支持数を分子の構成要素に持ち、後続するメッセージの数を分母の構成要素に持つ式により、話題のスコアを求めるスコア計算部１−４とを有する。【選択図】        図１
2004348415.tif 000002
【特許請求の範囲】
【請求項１】
メッセージのリストから話題を抽出する話題抽出装置であって、
前記メッセージを語に分割するメッセージ分割部と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、
前記抽出された話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数を求める話題情報作成部と、
前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有することを特徴とする話題抽出装置。
【請求項２】
メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出装置であって、
前記入力されたメッセージを語に分割するメッセージ分割部と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、
前記抽出された話題とこの話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持部と、
前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除部と、
前記メッセージ情報リスト中の各メッセージ情報の話題のうち前記入力されたメッセージから抽出された話題と一致する話題の支持数を増加させる支持数計数部と、
前記入力されたメッセージに対してこのメッセージから抽出された各話題の支持数を０としたメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加部と、
前記メッセージ情報リストに保持されている話題に対して、前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有することを特徴とする話題抽出装置。
【請求項３】
メッセージのリストから話題を抽出する話題抽出装置であって、
前記メッセージを語に分割するメッセージ分割部と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、
前記抽出された話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数を求める話題情報作成部と、
前記話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有することを特徴とする話題抽出装置。
【請求項４】
メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出装置であって、
前記入力されたメッセージを語に分割するメッセージ分割部と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、
前記抽出された話題とこの話題を構成する語と前記話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持部と、
前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除部と、
前記メッセージ情報リスト中の各メッセージ情報の話題を構成する語のうち前記入力されたメッセージに含まれる語と一致する語の支持数を増加させる支持数計数部と、
前記入力されたメッセージに対してこのメッセージから抽出された話題とこの話題を構成する語とこの話題を構成する語の支持数０とを含むメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加部と、
前記メッセージ情報リストに保持されている話題に対して、この話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有することを特徴とする話題抽出装置。
【請求項５】
請求項１または２記載の話題抽出装置において、
前記スコア計算部は、前記話題のスコアを求める際に、この話題が出現したメッセージの数を分母の構成要素とする式により、前記話題の支持数を重み付けすることを特徴とする話題抽出装置。
【請求項６】
請求項３または４記載の話題抽出装置において、
前記スコア計算部は、前記話題のスコアを求める際に、前記話題を構成する語が出現したメッセージの数を分母の構成要素とする式により、前記話題を構成する語の支持数を重み付けすることを特徴とする話題抽出装置。
【請求項７】
メッセージのリストから話題を抽出する話題抽出方法であって、
前記メッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数を求める話題情報作成手順と、
前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とを有することを特徴とする話題抽出方法。
【請求項８】
メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出方法であって、
前記入力されたメッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題とこの話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持手順と、
前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除手順と、
前記メッセージ情報リスト中の各メッセージ情報の話題のうち前記入力されたメッセージから抽出された話題と一致する話題の支持数を増加させる支持数計数手順と、
前記入力されたメッセージに対してこのメッセージから抽出された各話題の支持数を０としたメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加手順と、
前記メッセージ情報リストに保持されている話題に対して、前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とを有することを特徴とする話題抽出方法。
【請求項９】
メッセージのリストから話題を抽出する話題抽出方法であって、
前記メッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数を求める話題情報作成手順と、
前記話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とを有することを特徴とする話題抽出方法。
【請求項１０】
メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出方法であって、
前記入力されたメッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題とこの話題を構成する語と前記話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持手順と、
前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除手順と、
前記メッセージ情報リスト中の各メッセージ情報の話題を構成する語のうち前記入力されたメッセージに含まれる語と一致する語の支持数を増加させる支持数計数手順と、
前記入力されたメッセージに対してこのメッセージから抽出された話題とこの話題を構成する語とこの話題を構成する語の支持数０とを含むメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加手順と、
前記メッセージ情報リストに保持されている話題に対して、この話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とを有することを特徴とする話題抽出方法。
【請求項１１】
請求項７または８記載の話題抽出方法において、
前記スコア計算手順は、前記話題のスコアを求める際に、この話題が出現したメッセージの数を分母の構成要素とする式により、前記話題の支持数を重み付けすることを特徴とする話題抽出方法。
【請求項１２】
請求項９または１０記載の話題抽出方法において、
前記スコア計算手順は、前記話題のスコアを求める際に、前記話題を構成する語が出現したメッセージの数を分母の構成要素とする式により、前記話題を構成する語の支持数を重み付けすることを特徴とする話題抽出方法。
【請求項１３】
メッセージのリストから話題を抽出する話題抽出装置としてコンピュータを動作させる話題抽出プログラムであって、
前記メッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数を求める話題情報作成手順と、
前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とをコンピュータに実行させることを特徴とする話題抽出プログラム。
【請求項１４】
メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出装置としてコンピュータを動作させる話題抽出プログラムであって、
前記入力されたメッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題とこの話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持手順と、
前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除手順と、
前記メッセージ情報リスト中の各メッセージ情報の話題のうち前記入力されたメッセージから抽出された話題と一致する話題の支持数を増加させる支持数計数手順と、
前記入力されたメッセージに対してこのメッセージから抽出された各話題の支持数を０としたメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加手順と、
前記メッセージ情報リストに保持されている話題に対して、前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とをコンピュータに実行させることを特徴とする話題抽出プログラム。
【請求項１５】
メッセージのリストから話題を抽出する話題抽出装置としてコンピュータを動作させる話題抽出プログラムであって、
前記メッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数を求める話題情報作成手順と、
前記話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とをコンピュータに実行させることを特徴とする話題抽出プログラム。
【請求項１６】
メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出装置としてコンピュータを動作させる話題抽出プログラムであって、
前記入力されたメッセージを語に分割するメッセージ分割手順と、
前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出手順と、
前記抽出された話題とこの話題を構成する語と前記話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持手順と、
前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除手順と、
前記メッセージ情報リスト中の各メッセージ情報の話題を構成する語のうち前記入力されたメッセージに含まれる語と一致する語の支持数を増加させる支持数計数手順と、
前記入力されたメッセージに対してこのメッセージから抽出された話題とこの話題を構成する語とこの話題を構成する語の支持数０とを含むメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加手順と、
前記メッセージ情報リストに保持されている話題に対して、この話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算手順とをコンピュータに実行させることを特徴とする話題抽出プログラム。
【請求項１７】
請求項１３または１４記載の話題抽出プログラムにおいて、
前記スコア計算手順は、前記話題のスコアを求める際に、この話題が出現したメッセージの数を分母の構成要素とする式により、前記話題の支持数を重み付けすることを特徴とする話題抽出プログラム。
【請求項１８】
請求項１５または１６記載の話題抽出プログラムにおいて、
前記スコア計算手順は、前記話題のスコアを求める際に、前記話題を構成する語が出現したメッセージの数を分母の構成要素とする式により、前記話題を構成する語の支持数を重み付けすることを特徴とする話題抽出プログラム。
【請求項１９】
請求項１３乃至１８のいずれか１項に記載の話題抽出プログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、掲示板システムやチャットシステムなどのコミュニケーションシステムに係り、特にメッセージの列から話題を抽出する話題抽出装置、話題抽出方法、プログラムおよび記録媒体に関するものである。
【０００２】
【従来の技術】
掲示板システムやチャットシステムを用いたコミュニケーションの場は、インターネットの普及に伴い増加している。そのため、ユーザが参加するコミュニケーションの場も増加し、自分が日々参加しているコミュニケーションの場でどんな話題が盛り上がっているかをチェックするのに多くの時間を要するようになってきている。また、始めてその場を知ったユーザにとって、実際に参加して（覗いて）みないとそこで何が話されているかわからないのでは、その場への参加の敷居が高くなり、新規ユーザの取り込みが難しい。そのため、コミュニケーションの場でどんな話題が盛り上がっているかをユーザが一目でわかるようにすることが望まれる。
【０００３】
掲示板システムにおいて盛り上がる話題を表す語を発見する方法として、語の媒介影響量を用いる手法（以降、媒介手法と呼ぶ）がある（例えば、非特許文献１参照）。この媒介手法では、話題を「店」、「色」、「フリーズ」等の語で表し、コメントの返信関係と返信関係にあるコメント間で共通する語を用いて求められるコメントの媒介影響量から語の媒介影響量を求め、媒介影響量の大きい語ほど盛り上がる話題とみなす。
【０００４】
また、時系列をもつ複数の文書からトピックを抽出する装置として、複数のニュース記事からトピックを抽出するトピック抽出装置がある（例えば、特許文献１参照）。このトピック抽出装置では、最も古い記事を初期クラスタとして、古い記事から順にクラスタとの類似度がしきい値以上であれば最も類似度が高いクラスタにマージし、しきい値に達しない場合はその記事をクラスタとする新たなクラスタを生成し、記事群をクラスタに分類する。そして、各クラスタにおいて単語の寄与度に基づいて代表記事を抽出し、代表記事の中の寄与度の大きい名詞句をクラスタのラベルとし、寄与度が大きい代表記事を持つクラスタのラベルから順にトピックの候補として抽出する。
【０００５】
【非特許文献１】
松村、大澤、石塚著，「テキストによるコミュニケーションにおける影響の普及モデル」，人工知能学会論文誌，  ２００２年，Ｖｏｌ．１７，Ｎｏ．３，ｐ．２５９−２６７
【特許文献１】
特開２０００−２５９６６６号公報
【０００６】
【発明が解決しようとする課題】
前記媒介手法では、話題が語で表されるので話題の具体性にかけ、ユーザが話題をみて掲示板を見てみようという気が起こりにくいという問題点があった。また、媒介手法では、明示的な返信関係を必要とするため、返信機能を用意していない掲示板システムには適用できない。また、チャットシステムなどで会話をリアルタイムで行う場合、明示的な返信を必要とすることはユーザにとっては煩わしいので適さない。
【０００７】
また、前記トピック抽出装置では、クラスタ内の単語寄与度で話題を決定するため、１記事からなるクラスタのラベルに対してスコアが高くなる。このトピック抽出装置をコミュニケーションシステムに適用した場合は、他のメッセージから支持されないメッセージに含まれる話題、すなわち１人よがりな話題のスコアが高くなり、ユーザに提示するには相応しくない。また、トピック抽出装置では、類似度や寄与度などのスコアに単位時間内の単語の出現頻度を用いているため、同じ単語が繰り返し現れるメッセージがあると、そのメッセージにある単語の重要度が上がり、そのメッセージ中の話題が有利となる。コミュニケーションシステムでは、このようなメッセージは同じ単語を連呼するメッセージ（荒らしメッセージ）で、意味のない場合が多い。また、トピック抽出装置は、スコアに発言されてからの経過時間を考慮しておらず、過去に盛り上がったが今は盛り上がっていない話題に対してスコアが高くなることがある。このような話題をユーザが見て掲示板に参加した場合、実際の会話は既に他の話題に移ってしまっていて、目的とした話題に関して会話ができない。また、各記事には話題は１つであることを前提としてクラスタ中から選択する名詞句は１つであるため、複数の共通の話題を含む記事から構成されるクラスタの場合、残りの話題を抽出することができない。また、クラスタリングでは初期クラスタの選び方により、結果が異なるという性質をもつため、クラスタリングを用いるトピック抽出装置は、処理の高速化が難しい。話題の抽出処理が高速にできない場合、ユーザに提示する話題と実際にコミュニケーションの場で行なわれている話題との間で時間のずれが生じ、ユーザが提示された話題を見て興味をもってコミュニケーションの場を訪れた時点では既に他の話題に移ってしまっており、ユーザが興味をもった話題の会話に加われないという問題が生じる。
【０００８】
本発明は上述の問題を解決するためになされたものであり、明示的な返信を必要とせず、一人よがりな話題や荒らしメッセージに出現する話題の影響を受けず、ユーザが話題の把握がしやすいようにより具体的に話題を表現でき、複数の話題をもつメッセージからも洩れなく話題を抽出でき、最近の盛り上がり度で話題をスコアリング可能とし、更にはそれら処理を高速に行う話題抽出装置、話題抽出方法、プログラムおよび記録媒体を提供し、コミュニケーションの場で盛り上がっている話題を一目でユーザがわかるようにすることを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、メッセージのリストから話題を抽出する話題抽出装置であって、前記メッセージを語に分割するメッセージ分割部と、前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、前記抽出された話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数を求める話題情報作成部と、前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有するものである。
また、本発明は、メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出装置であって、前記入力されたメッセージを語に分割するメッセージ分割部と、前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、前記抽出された話題とこの話題が出現したメッセージに後続するメッセージのうち前記話題を含むメッセージの数である支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持部と、前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除部と、前記メッセージ情報リスト中の各メッセージ情報の話題のうち前記入力されたメッセージから抽出された話題と一致する話題の支持数を増加させる支持数計数部と、前記入力されたメッセージに対してこのメッセージから抽出された各話題の支持数を０としたメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加部と、前記メッセージ情報リストに保持されている話題に対して、前記支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有するものである。
【００１０】
また、本発明は、メッセージのリストから話題を抽出する話題抽出装置であって、前記メッセージを語に分割するメッセージ分割部と、前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、前記抽出された話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数を求める話題情報作成部と、前記話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有するものである。
また、本発明は、メッセージの入力に応じてメッセージ列から話題を抽出する話題抽出装置であって、前記入力されたメッセージを語に分割するメッセージ分割部と、前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部と、前記抽出された話題とこの話題を構成する語と前記話題が出現したメッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である語の支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ（Ｎは自然数）件のメッセージについて古いものから順に前記メッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持部と、前記メッセージが入力されたとき、前記メッセージ情報リスト中の前記メッセージ情報の数がＮ件に達している場合は、最も古い前記メッセージ情報を前記メッセージ情報リストから削除するメッセージ情報削除部と、前記メッセージ情報リスト中の各メッセージ情報の話題を構成する語のうち前記入力されたメッセージに含まれる語と一致する語の支持数を増加させる支持数計数部と、前記入力されたメッセージに対してこのメッセージから抽出された話題とこの話題を構成する語とこの話題を構成する語の支持数０とを含むメッセージ情報を作成して、前記メッセージ情報リストに追加するメッセージ情報追加部と、前記メッセージ情報リストに保持されている話題に対して、この話題を構成する語の支持数を分子の構成要素に持ち、前記後続するメッセージの数を分母の構成要素に持つ式により、前記話題のスコアを求めるスコア計算部とを有するものである。
【００１１】
また、本発明の話題抽出装置の１構成例において、前記スコア計算部は、前記話題のスコアを求める際に、この話題が出現したメッセージの数を分母の構成要素とする式により、前記話題の支持数を重み付けするようにしてもよい。
また、本発明の話題抽出装置の１構成例において、前記スコア計算部は、前記話題のスコアを求める際に、前記話題を構成する語が出現したメッセージの数を分母の構成要素とする式により、前記話題を構成する語の支持数を重み付けするようにしてもよい。
【００１２】
【発明の実施の形態】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の第１の実施の形態となる話題抽出装置の構成を示すブロック図である。図１の話題抽出装置は、請求項１記載の実施の形態例を示すものであり、メッセージのリストＭＬから話題を抽出する装置である。この話題抽出装置は、メッセージを語に分割するメッセージ分割部１−１と、分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する話題候補抽出部１−２と、抽出された話題が出現したメッセージに後続するメッセージのうち話題を含むメッセージの数である支持数を求める話題情報作成部１−３と、支持数を分子の構成要素に持ち、後続するメッセージの数を分母の構成要素に持つ式により、話題のスコアを求めるスコア計算部１−４とから構成される。
【００１３】
図２は図１の話題抽出装置の動作を示すフローチャートである。以下、図２を用いて話題抽出装置について説明する。
まず、メッセージ分割部１−１は、メッセージのリストＭＬの古いメッセージから順にメッセージ毎に語に分解する（図２ステップ２−１）。メッセージ分割部１−１は、内部に図示しない辞書を有し、メッセージを辞書に登録されている語に分割する。
【００１４】
例えば、辞書に「インフルエンザ」、「ワクチン」、「予防」、「接種」「小児科」、「医者」、「病院」、「大学」、「保健所」、「体調」、「保険」、「健康」、「掛金」という語が登録されているとする。
【００１５】
一方、メッセージのリストＭＬに古い順に、メッセージｍ１として「インフルエンザワクチンはどこで接種できるのでしょうか。今年はインフルエンザが流行しそうで心配です。大学病院がよいのでしょうか。」、メッセージｍ２として「ワクチンの接種なら近所の小児科の病院でもよいのはないでしょうか。インフルエンザは子供にとっては命取りになりかねません。」、メッセージｍ３として「ワクチンの接種に子供をつれていくのは大変ですよね。」、メッセージｍ４として「インフルエンザワクチンには小さい頃、いやな記憶があります。体調が悪くてその後、寝込んだんです。」、メッセージｍ５として「最近では小児科がある病院は少なくなりましたね。インフルエンザワクチンなら、私の町では保健所で接種できます。」が与えられたとする。
【００１６】
メッセージ分割部１−１は、メッセージｍ１を「インフルエンザ（ｄｉｃ）」、「ワクチン（ｄｉｃ）」、「はどこで」、「接種（ｄｉｃ）」、「できるのでしょうか。」、「今年は」、「インフルエンザ（ｄｉｃ）」、「が流行しそうで心配です。」、「大学（ｄｉｃ）」、「病院（ｄｉｃ）」、「がよいのでしょうか。」のように分割する。ここで、（ｄｉｃ）は、メッセージ分割部１−１の辞書に登録されている語（以下、登録語と呼ぶ）であることを示す記号である。
【００１７】
話題候補抽出部１−２は、メッセージ分割部１−１によって分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する（図２ステップ２−２）。今、パタンとして「（（ｄｉｃ）（の）？）＋（ｄｉｃ）」が与えられているものとする。「＋」は１回以上の繰り返しを表し、「？」は０回または１回の繰り返しを表す。したがって、このパタンは、登録語が２回以上連続する語の列を抽出するパタンとなる。なお、登録語と登録語との間の「の」の後に「？」があるので、登録語と登録語との間には、「の」があってもよいし、なくてもよい。このようなパタンにより、話題候補抽出部１−２は、メッセージｍ１の語の列から「インフルエンザワクチン」、「大学病院」を話題として抽出する。
【００１８】
話題情報作成部１−３は、話題候補抽出部１−２によって抽出された話題に対して当該話題が出現したメッセージの後続メッセージにおける支持数を求める（図２ステップ２−３）。この処理は例えば以下のように実現できる。
話題情報作成部１−３は、メッセージｍ１について図３（ａ）に示す領域ａ１を設け、この領域ａ１にメッセージｍ１から抽出された話題と、この話題の支持数とを格納する。ここで、支持数は、話題が出現したメッセージに後続するメッセージのうち当該話題を含むメッセージの数なので、メッセージｍ１から抽出した話題「インフルエンザワクチン」および「大学病院」の支持数をメッセージｍ１について求めることはできない。したがって、図３（ａ）の領域ａ１に格納される「インフルエンザワクチン」および「大学病院」の支持数は共に０である。
【００１９】
メッセージ分割部１−１および話題候補抽出部１−２は、メッセージｍ２から「ワクチンの接種」、「小児科の病院」を話題として抽出する（図２ステップ２−１，２−２）。話題情報作成部１−３は、メッセージｍ２について図３（ｂ）に示す領域ａ２を設け、この領域ａ２にメッセージｍ２から抽出された話題と、この話題の支持数とを格納する。
【００２０】
メッセージｍ１から抽出した話題「インフルエンザワクチン」および「大学病院」はメッセージｍ２に存在せず、またメッセージｍ２から抽出した話題「ワクチンの接種」および「小児科の病院」のメッセージｍ２における支持数は０である。したがって、話題情報作成部１−３は、図３（ｂ）に示すように「インフルエンザワクチン」、「大学病院」、「ワクチンの接種」および「小児科の病院」の各支持数を０とする（図２ステップ２−３）。
【００２１】
メッセージ分割部１−１および話題候補抽出部１−２は、メッセージｍ３から「ワクチンの接種」を話題として抽出する（図２ステップ２−１，２−２）。話題情報作成部１−３は、メッセージｍ３について図３（ｃ）に示す領域ａ３を設け、この領域ａ３にメッセージｍ３から抽出された話題と、この話題の支持数とを格納する。
【００２２】
メッセージｍ１から抽出した話題「インフルエンザワクチン」および「大学病院」はメッセージｍ２，ｍ３に存在せず、メッセージｍ２から抽出した話題「ワクチンの接種」はメッセージｍ３に存在し、「小児科の病院」はメッセージｍ３に存在しない。また、メッセージｍ３から抽出した話題「ワクチンの接種」のメッセージｍ３における支持数は０である。したがって、話題情報作成部１−３は、図３（ｃ）に示すようにメッセージｍ１から抽出した話題「インフルエンザワクチン」および「大学病院」の支持数を０、メッセージｍ２から抽出した話題「ワクチンの接種」の支持数を１、「小児科の病院」の支持数を０、メッセージｍ３から抽出した話題「ワクチンの接種」の支持数を０とする（図２ステップ２−３）。
【００２３】
メッセージ分割部１−１および話題候補抽出部１−２は、メッセージｍ４，ｍ５から「インフルエンザワクチン」を話題として抽出する（図２ステップ２−１，２−２）。話題情報作成部１−３は、メッセージｍ４，ｍ５について図３（ｄ）に示す領域ａ４，ａ５を設け、この領域ａ４，ａ５にメッセージｍ４，ｍ５から抽出された話題と、この話題の支持数とを格納する。
【００２４】
メッセージｍ１から抽出した話題「インフルエンザワクチン」はメッセージｍ４，ｍ５に存在し、「大学病院」はメッセージｍ２〜ｍ５に存在せず、メッセージｍ２から抽出した話題「ワクチンの接種」はメッセージｍ３に存在し、「小児科の病院」はメッセージｍ３〜ｍ５に存在せず、メッセージｍ３から抽出した話題「ワクチンの接種」はメッセージｍ４，ｍ５に存在せず、メッセージｍ４から抽出した話題「インフルエンザワクチン」はメッセージｍ５に存在する。また、メッセージｍ５から抽出した話題「インフルエンザワクチン」のメッセージｍ５における支持数は０である。
【００２５】
したがって、話題情報作成部１−３は、図３（ｄ）に示すようにメッセージｍ１から抽出した話題「インフルエンザワクチン」の支持数を２、「大学病院」の支持数を０、メッセージｍ２から抽出した話題「ワクチンの接種」の支持数を１、「小児科の病院」の支持数を０、メッセージｍ３から抽出した話題「ワクチンの接種」の支持数を０、メッセージｍ４から抽出した話題「インフルエンザワクチン」の支持数を１、メッセージｍ５から抽出した話題「インフルエンザワクチン」の支持数を０とする（図２ステップ２−３）。以上のようなステップ２−１〜２−３の動作は全てのメッセージを処理するまで（図２ステップ２−４においてＹＥＳ）、繰り返し行われる。
【００２６】
次に、スコア計算部１−４は、話題候補抽出部１−２によって抽出されたメッセージｍｉ  の話題ｗｊ  に対して、話題ｗｊ  の支持数Ｓｍｉ，ｗｊ  を分子の構成要素にもち、メッセージｍｉ  に後続するメッセージの数Ｍｉ  を分母の構成要素に持つ式により、話題ｗｊ  のスコアｓｃｏｒｅｍｉ，ｗｊ  を求め（図２ステップ２−５）、話題ｗｊ  とスコアｓｃｏｒｅｍｉ，ｗｊ  とを出力する（図２ステップ２−６）。この話題ｗｊ  とスコアｓｃｏｒｅｍｉ，ｗｊ  とは、結果保持部１−５に格納される。スコアｓｃｏｒｅｍｉ，ｗｊ  の算出には、例えば以下の式を用いることができる。なお、後続メッセージ数Ｍｉ  ＝０のときはスコアを０とする。
【００２７】
【数１】
2004348415.tif 000003
【００２８】
複数のメッセージに登場する話題の場合、メッセージ毎にスコアが算出されるので、このような話題については複数のスコアが算出される。１つの話題について複数のスコアが算出される場合、最も古いメッセージで算出されたスコアをその話題のスコアとして採用してもよいし、最大のスコアを採用してもよい。
【００２９】
最も古いメッセージで算出されたスコアを採用する場合は、当該話題が現れてから最新のメッセージまでの間の当該話題が出現するメッセージの密度を求めることになるので、スコアが高いものほど話題が出現してから密に話されていることを意味する。したがって、最も古いメッセージで算出されたスコアを採用する場合、スコアを算出した各話題のうち、スコアが高いものを盛り上がっている話題として提供することは好適である。図４（ａ）の例では、話題Ａより話題Ｂの方がスコアが高くなる。
【００３０】
一方、最大のスコアを採用する場合は、各話題が最新メッセージまででもっとも密に現れている区間での密度を求めていることになる。したがって、最大のスコアを採用する場合、スコアを算出した各話題のうち、スコアが高いものを盛り上がっている話題として提供することは好適である。図４（ｂ）の例では、話題Ｂより話題Ｃの方がスコアが高くなる。
式（１）を使って求めた各メッセージｍ１〜ｍ５の話題のスコアは以下のようになる。
【００３１】
メッセージｍ１では、話題「インフルエンザワクチン」のスコアが２／４、「大学病院」のスコアが０／４となり、メッセージｍ２では、話題「ワクチンの接種」のスコアが１／３、「小児科の病院」のスコアが０／３となり、メッセージｍ３では、話題「ワクチンの接種」のスコアが０／２となり、メッセージｍ４では、話題「インフルエンザワクチン」のスコアが１／１となり、メッセージｍ５では、話題「インフルエンザワクチン」のスコアが０となる。
【００３２】
このようなスコアの算出結果において、話題毎に最大のスコアを採用した場合、話題「インフルエンザワクチン」のスコアが１．０、「ワクチンの接種」のスコアが０．３３、「大学病院」のスコアが０、「小児科の病院」のスコアが０となり、最新のメッセージｍ５に近いところで密に話されている「インフルエンザワクチン」の方が「ワクチンの接種」よりスコアが高くなり、盛り上がっている話題の順でユーザに話題を提示できることは明らかである。
【００３３】
また、「インフルエンザ」のように単語で話題を表すよりも、本実施の形態の「インフルエンザワクチン」のように語の列でユーザに提示する方が、具体的に話題を表現できるので、ユーザにとって、わかりやすく興味を引きやすいことは明らかである。
また、本実施の形態において、図５のように話題からメッセージにおける支持数を参照するインデックスを設けることにより、高速な処理が可能となる。
【００３４】
なお、メッセージ分割部１−１は、形態素解析装置を用いて品詞情報が付与された単語列にメッセージを分割し、話題候補抽出部１−２は、予め定義された品詞パタンにマッチする品詞列に対応する単語列を話題とするようにしてもよい。品詞パタンとしては、例えば名詞句を表す「（（名詞）（の）？）＋（名詞）」を定義できる。
【００３５】
また、本実施の形態では、式（１）を用いて話題のスコアを算出しているが、スコアは支持数の多い話題を優先するために支持数を分子の構成要素とし、話題の新鮮さを減少させるために後続メッセージ数を分母の構成要素にもたせているので、支持数を分子の構成要素、後続メッセージ数を分母の構成要素に持つ式であれば、式（１）に限定されるものではない。
【００３６】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。図６は本発明の第２の実施の形態となる話題抽出装置の構成を示すブロック図であり、図１と同一の構成には同一の符号を付してある。図６の話題抽出装置は、請求項２記載の実施の形態例を示すものであり、メッセージの入力に応じてメッセージ列から話題を抽出する装置である。この話題抽出装置は、メッセージ分割部６−１と、話題候補抽出部１−２と、短期メッセージ保持部６−２と、スコア計算部１−４とから構成される。話題候補抽出部１−２とスコア計算部１−４とは第１の実施の形態と同じである。また、短期メッセージ保持部６−２は、メッセージ情報リスト保持部とメッセージ情報削除部と支持数計数部とメッセージ情報追加部とを構成している。
【００３７】
図７は、図６の話題抽出装置の動作を示すフローチャートであり、図２と同一の処理には同一の符号を付してある。以下、図７を用いて話題抽出装置について説明する。
短期メッセージ保持部６−２は、メッセージが入力された順序を保持すると共に、最も後に入力された最大Ｎ件のメッセージについて古いものから順にメッセージ情報を記録したメッセージ情報リストＭＩＬを保持する。
【００３８】
図８（ａ）にメッセージ情報リストＭＩＬの例を示す。図８（ａ）は最大値Ｎ＝５とし、第１の実施の形態のメッセージｍ１〜ｍ５までを処理した状態を示している。メッセージ情報リストＭＩＬの要素であるメッセージ情報ＭＩは、このメッセージ情報の対応メッセージから抽出された話題と、前記対応メッセージに後続するメッセージのうち前記抽出された話題を含むメッセージの数である支持数とからなる。
【００３９】
以下、メッセージｍ１〜ｍ５が図６の話題抽出装置に順次入力され、続いてメッセージｍ６「近所には大学病院はあるけれど、小児科の病院はないのです。ワクチンの接種のために朝から順番取りはしたくないので、午後に予約をいれようかしら。」が入力された場合の動作を説明する。
【００４０】
メッセージｍ６が入力されると（図７ステップ７−２においてＹＥＳ）、メッセージ分割部６−１は、第１の実施の形態のメッセージ分割部１−１の分割処理と同様にメッセージｍ６を語に分割し（図７のステップ７−３）、話題候補抽出部１−２は、メッセージ分割部６−１によって分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する（図７ステップ２−２）。
【００４１】
メッセージｍ６を分割した単語列は、「近所には」、「大学（ｄｉｃ）」、「病院（ｄｉｃ）」、「はあるけれど、」、「小児科（ｄｉｃ）」、「の」、「病院（ｄｉｃ）」、「はないのです。」、「ワクチン（ｄｉｃ）」、「の」、「接種（ｄｉｃ）」、「のために朝から順番取りはしたくないので、午後に予約をいれようかしら。」となり、これらの単語列から抽出される話題は、「大学病院」、「小児科の病院」、「ワクチンの接種」となる。
【００４２】
短期メッセージ保持部６−２は、話題候補抽出部１−２によってメッセージから話題が抽出されると、まずメッセージ情報リストＭＩＬ中のメッセージ情報ＭＩの数が最大値Ｎに達しているかどうか調べ（図７ステップ７−４）、メッセージ情報ＭＩの数が最大値Ｎに達している場合は最も古いメッセージ情報ＭＩをメッセージ情報リストＭＩＬから削除する（図７ステップ７−５）。
【００４３】
短期メッセージ保持部６−２は、ステップ７−４または７−５の処理終了後、メッセージ情報リストＭＩＬ中の各メッセージ情報ＭＩの話題のうち入力されたメッセージｍ６から抽出された話題と一致する話題の支持数を１増加させると共に、入力されたメッセージｍ６に対応するメッセージ情報ＭＩを新たに作成して、作成したメッセージ情報ＭＩをメッセージ情報リストＭＩＬに追加する（図７ステップ７−６）。このとき、新たに作成したメッセージ情報ＭＩには、メッセージｍ６から抽出された話題が含まれるが、この話題の支持数は全て０とする。
【００４４】
図８（ａ）に示したとおり、メッセージ情報リストＭＩＬ中のメッセージ情報ＭＩの数は最大値Ｎ＝５に既に達しているので、短期メッセージ保持部６−２は、最も古いメッセージ情報（メッセージｍ１に対応するメッセージ情報）をメッセージ情報リストＭＩＬから削除する。その後、短期メッセージ保持部６−２は、メッセージ情報リストＭＩＬ中の各メッセージ情報ＭＩの話題のうち、入力されたメッセージｍ６に含まれる話題「大学病院」、「小児科の病院」あるいは「ワクチンの接種」と同一の話題の支持数を１増加させ、メッセージｍ６に対応するメッセージ情報ＭＩを新たに作成する。ステップ７−６の処理の結果を図８（ｂ）に示す。
【００４５】
スコア計算部１−４は、短期メッセージ保持部６−２のメッセージ情報リストＭＩＬに保持されている話題に対して、第１の実施の形態と同様にしてスコアを求め（図７ステップ２−５）、話題とスコアとを出力する（図７ステップ２−６）。以上のようなステップ２−２，２−５，２−６，７−２〜７−６の処理がユーザから処理停止の指示があるまで（図７ステップ７−１においてＹＥＳ）、繰り返し行われる。
【００４６】
以上のように、本実施の形態では、短期メッセージ保持部６−２によって過去の処理結果を再利用し、また一定のメッセージ数Ｎ以下を対象に処理を行なうことにより、メッセージの入力に即して高速に話題の抽出が可能となることは明らかである。
【００４７】
また、本実施の形態においても、第１の実施の形態と同様の構造をもつ、話題からメッセージにおける支持数を参照するインデックスを設け、メッセージの追加・削除処理に応じて話題からメッセージにおける支持数への参照ポインタのインデックスへの追加・削除を行なうことにより、各話題を含むメッセージを高速に探せるので、より高速な処理が可能となることは明らかである。
【００４８】
［第３の実施の形態］
次に、本発明の第３の実施の形態について説明する。図９は本発明の第３の実施の形態となる話題抽出装置の構成を示すブロック図であり、図１と同一の構成には同一の符号を付してある。図９の話題抽出装置は、請求項３記載の実施の形態例を示すものであり、メッセージのリストから話題を抽出する装置である。この話題抽出装置は、メッセージ分割部１−１と、話題候補抽出部１−２と、話題情報作成部９−１と、スコア計算部９−２とから構成される。メッセージ分割部１−１および話題候補抽出部１−２は第１の実施の形態と同じである。
【００４９】
図１０は、図９の話題抽出装置の動作を示すフローチャートであり、図２と同一の処理には同一の符号を付してある。以下、図１０を用いて話題抽出装置について説明する。第１の実施の形態と同様に、メッセージ分割部１−１は、メッセージのリストＭＬの古いメッセージから順にメッセージ毎に語に分解し（図１０ステップ２−１）、話題候補抽出部１−２は、メッセージ分割部１−１によって分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する（図１０ステップ２−２）。ここでは、第１の実施の形態と同じメッセージｍ１〜ｍ５が与えられたとする。
【００５０】
話題情報作成部９−１は、前記抽出された話題が出現したメッセージに後続するメッセージにおいて当該話題を構成する語が出現した回数である、語の支持数を求める（図１０ステップ１０−１）。この処理は例えば以下のように実現できる。
【００５１】
例えば、メッセージ分割部１−１は、メッセージｍ１を語「インフルエンザ（ｄｉｃ）」、「ワクチン（ｄｉｃ）」、「はどこで」、「接種（ｄｉｃ）」、「できるのでしょうか。」、「今年は」、「インフルエンザ（ｄｉｃ）」、「が流行しそうで心配です。」、「大学（ｄｉｃ）」、「病院（ｄｉｃ）」、「がよいのでしょうか。」に分割し（図１０ステップ２−１）、これらの単語列から話題「インフルエンザワクチン」、「大学病院」を抽出する（図１０ステップ２−２）。
【００５２】
話題情報作成部９−１は、メッセージｍ１について図１１（ａ）に示す領域ｂ１を設け、この領域ｂ１にメッセージｍ１から抽出された話題と、この話題を構成する語と、これらの語の支持数とを格納する（図１０ステップ１０−１）。語の支持数は、話題が出現したメッセージに後続するメッセージにおいて当該話題を構成する語が出現した回数なので、メッセージｍ１から抽出された話題「インフルエンザワクチン」および「大学病院」の支持数をメッセージｍ１について求めることはできない。したがって、図１１（ａ）の領域ｂ１に格納される支持数は全て０である。
【００５３】
次に、メッセージ分割部１−１は、メッセージｍ２を語「ワクチン（ｄｉｃ）」、「の」、「接種（ｄｉｃ）」、「なら近所の」、「小児科（ｄｉｃ）」、「の」、「病院（ｄｉｃ）」、「でもよいのはないでしょうか。」、「インフルエンザ（ｄｉｃ）」、「は子供にとっては命取りになりかねません。」に分割し（図１０ステップ２−１）、話題候補抽出部１−２は、これらの単語列から話題「ワクチンの接種」、「小児科の病院」を抽出する（図１０ステップ２−２）。
【００５４】
話題情報作成部９−１は、メッセージｍ２について図１１（ｂ）に示す領域ｂ２を設け、この領域ｂ２にメッセージｍ２から抽出された話題と、この話題を構成する語と、これらの語の支持数とを格納する（図１０ステップ１０−１）。また、メッセージｍ２には、メッセージｍ１の話題「インフルエンザワクチン」、「大学病院」を構成する語「ワクチン」、「病院」、「インフルエンザ」が存在するので、話題情報作成部９−１は、領域ｂ１に格納したメッセージｍ１の話題を構成する語「インフルエンザ」、「ワクチン」、「病院」の支持数を各々１増加させる。
【００５５】
続いて、メッセージ分割部１−１および話題候補抽出部１−２は、メッセージｍ３から話題「ワクチンの接種」を抽出する（図１０ステップ２−１，２−２）。話題情報作成部９−１は、メッセージｍ３について図１２に示す領域ｂ３を設け、この領域ｂ３にメッセージｍ３から抽出された話題と、この話題を構成する語と、これらの語の支持数とを格納する（図１０ステップ１０−１）。
【００５６】
メッセージｍ３には、メッセージｍ１の話題「インフルエンザワクチン」を構成する語「ワクチン」が存在するので、話題情報作成部９−１は、領域ｂ１に格納したメッセージｍ１の話題を構成する語「ワクチン」の支持数を１増加させる。また、メッセージｍ３には、メッセージｍ２の話題「ワクチンの接種」、「小児科の病院」を構成する語「ワクチン」、「の」、「接種」が存在するので、話題情報作成部９−１は、領域ｂ２に格納したメッセージｍ２の話題を構成する語「ワクチン」、「の」、「接種」の支持数を各々１増加させる。
【００５７】
メッセージｍ４についても同様に処理される。話題情報作成部９−１は、メッセージｍ４について領域ｂ４を設け、この領域ｂ４にメッセージｍ４から抽出された話題と、この話題を構成する語と、これらの語の支持数とを格納し、また領域ｂ１，ｂ２，ｂ３に格納したメッセージｍ１，ｍ２，ｍ３の話題を構成する語の支持数をメッセージｍ４中の語に基づいて更新する（図１０ステップ１０−１）。メッセージｍ５についても領域ｂ５が設けられ、同様の処理が行われる。メッセージｍ５まで処理した結果を図１３に示す。
【００５８】
次に、スコア計算部９−４は、話題候補抽出部１−２によって抽出されたメッセージｍｉ  の話題ｗｊ  に対して、話題ｗｊ  を構成する要素ｔｋ（ｔｋ∈ｗｊ）  の支持数Ｓｍｉ，ｗｊ、ｔｋを分子の構成要素にもち、メッセージｍｉ  に後続するメッセージの数Ｍｉ  を分母の構成要素に持つ式により、話題ｗｊ  のスコアｓｃｏｒｅｍｉ，ｗｊ  を求め（図１０ステップ１０−２）、話題ｗｊ  とスコアｓｃｏｒｅｍｉ，ｗｊ  とを出力する（図１０ステップ２−６）。この話題ｗｊ  とスコアｓｃｏｒｅｍｉ，ｗｊ  とは、結果保持部１−５に格納される。スコアｓｃｏｒｅｍｉ，ｗｊ  の算出には、例えば以下の式を用いることができる。
【００５９】
【数２】
2004348415.tif 000004
【００６０】
式（２）において、｜ｗｊ  ｜は話題ｗｊ  を構成する要素ｔｋ  の数を表す。話題ｗｊ  を構成する要素ｔｋ  は、話題ｗｊ  を構成する語としてもよいし、話題ｗｊ  を構成する語のうちメッセージ分割部１−１の辞書に登録されている語のみとしてもよい。また、メッセージ分割部１−１に形態素解析装置を用いた場合は、話題ｗｊ  を構成する語のうち、例えば名詞のみというように品詞を限定してもよい。
【００６１】
第１の実施の形態と同様に、複数のメッセージに登場する話題の場合、複数のスコアが算出されるので、最も古いメッセージで算出されたスコアをその話題のスコアとして採用してもよいし、最大のスコアを採用してもよい。
今、話題の構成要素として前述の登録語のみを用いた場合、式（２）を使って求めた各メッセージｍ１〜ｍ５の話題のスコアは以下のようになる。
【００６２】
メッセージｍ１では、話題「インフルエンザワクチン」、「大学病院」を構成する語「インフルエンザ」の支持数が３、「ワクチン」の支持数が４、「大学」の支持数が０、「病院」の支持数が２である。その結果、話題「インフルエンザワクチン」のスコアは（３／４＋４／４）／２＝０．８７５となり、話題「大学病院」のスコアは（０／４＋２／４）／２＝０．２５となる。
【００６３】
メッセージｍ２では、話題「ワクチンの接種」、「小児科の病院」を構成する語「ワクチン」の支持数が３、「接種」の支持数が２、「小児科」の支持数が１、「病院」の支持数が１である。その結果、話題「ワクチンの接種」のスコアは（３／３＋２／３）／２＝０．８３となり、話題「小児科の病院」のスコアは（１／３＋１／３）／２＝０．３３となる。
【００６４】
メッセージｍ３では、話題「ワクチンの接種」を構成する語「ワクチン」の支持数が２、「接種」の支持数が１である。その結果、話題「ワクチンの接種」のスコアは（２／２＋１／２）／２＝０．７５となる。
メッセージｍ４では、話題「インフルエンザワクチン」を構成する語「インフルエンザ」の支持数が１、「ワクチン」の支持数が１である。その結果、話題「インフルエンザワクチン」のスコアは（１／１＋１／１）／２＝１．０となる。
【００６５】
メッセージｍ５では、話題「インフルエンザワクチン」を構成する語「インフルエンザ」の支持数が０、「ワクチン」の支持数が０である。その結果、話題「インフルエンザワクチン」のスコアは（０＋０）／２＝０となる。
【００６６】
以上のようなスコアの算出結果において、話題毎に最大のスコアを採用した場合、話題「インフルエンザワクチン」のスコアが１．０、「ワクチンの接種」のスコアが０．８３、「大学病院」のスコアが０．２５、「小児科の病院」のスコアが０．３３となり、最新メッセージに近いところで構成する語が密に話されている話題の方がスコアが高くなり、盛り上がっている話題の順でユーザに話題をできることは明らかである。
【００６７】
また、第１の実施の形態では、スコア０であった「大学病院」と「小児科の病院」にもスコアをつけることが可能となっている。語の支持数を用いることにより、より細かいスコアづけが可能となり、同じ話題の表現が繰り返し現れにくい対象に対しても、適用可能となることは明らかである。
【００６８】
また、本実施の形態において、図１４のように語からメッセージにおける支持数を参照するインデックスを設けることにより、高速な処理が可能となることは明らかである。
また、本実施の形態では、話題のスコアは語の支持数の平均をもとに求めたが、平均をとらずに加算のみにしてもよい。多くの語から構成される話題を優先して提示したい場合は加算のみにするのが好適である。
【００６９】
［第４の実施の形態］
次に、本発明の第４の実施の形態について説明する。図１５は本発明の第４の実施の形態となる話題抽出装置の構成を示すブロック図であり、図１、図６と同一の構成には同一の符号を付してある。図１５の話題抽出装置は、請求項４記載の実施の形態例を示すものであり、メッセージの入力に応じてメッセージ列から話題を抽出する装置である。この話題抽出装置は、メッセージ分割部６−１と、話題候補抽出部１−２と、短期メッセージ保持部１３−１と、スコア計算部１３−２とから構成される。話題候補抽出部１−２は第１の実施の形態と同じであり、メッセージ分割部６−１は第２の実施の形態と同じである。また、短期メッセージ保持部１３−１は、メッセージ情報リスト保持部とメッセージ情報削除部と支持数計数部とメッセージ情報追加部とを構成している。
【００７０】
図１６は、図１５の話題抽出装置の動作を示すフローチャートであり、図２、図７、図１０と同一の処理には同一の符号を付してある。以下、図１６を用いて話題抽出装置について説明する。
短期メッセージ保持部１３−１は、メッセージが入力された順序を保持すると共に、最も後に入力された最大Ｎ件のメッセージについて古いものから順にメッセージ情報を記録したメッセージ情報リストＭＩＬ’を保持する。
【００７１】
図１７にメッセージ情報リストＭＩＬ’の例を示す。図１７は最大値Ｎ＝５とし、第１の実施の形態のメッセージｍ１〜ｍ５までを処理した状態を示している。メッセージ情報リストＭＩＬ’の要素であるメッセージ情報ＭＩ’は、このメッセージ情報の対応メッセージから抽出された話題と、この話題を構成する語と、前記対応メッセージに後続するメッセージにおいて前記話題を構成する語が出現した回数である、語の支持数とからなる。
【００７２】
以下、メッセージｍ１〜ｍ５が図１５の話題抽出装置に順次入力され、続いてメッセージｍ６「近所には大学病院はあるけれど、小児科の病院はないのです。ワクチンの接種のために朝から順番取りはしたくないので、午後に予約をいれようかしら。」が入力された場合の動作を説明する。
【００７３】
メッセージｍ６が入力されると（図１６ステップ７−２においてＹＥＳ）、メッセージ分割部６−１は、第１の実施の形態のメッセージ分割部１−１の分割処理と同様にメッセージｍ６を語に分割し（図１６のステップ１４−１）、話題候補抽出部１−２は、メッセージ分割部６−１によって分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出する（図１６ステップ２−２）。
【００７４】
メッセージｍ６を分割した単語列は、「近所には」、「大学（ｄｉｃ）」、「病院（ｄｉｃ）」、「はあるけれど、」、「小児科（ｄｉｃ）」、「の」、「病院（ｄｉｃ）」、「はないのです。」、「ワクチン（ｄｉｃ）」、「の」、「接種（ｄｉｃ）」、「のために朝から順番取りはしたくないので、午後に予約をいれようかしら。」となり、これらの単語列から抽出される話題は、「大学病院」、「小児科の病院」、「ワクチンの接種」となる。
【００７５】
短期メッセージ保持部１３−１は、話題候補抽出部１−２によってメッセージから話題が抽出されると、まずメッセージ情報リストＭＩＬ’中のメッセージ情報ＭＩ’の数が最大値Ｎに達しているかどうか調べ（図１６ステップ１４−２）、メッセージ情報ＭＩ’の数が最大値Ｎに達している場合は最も古いメッセージ情報ＭＩ’をメッセージ情報リストＭＩＬ’から削除する（図１６ステップ１４−３）。
【００７６】
短期メッセージ保持部１３−１は、ステップ１４−２または１４−３の処理終了後、メッセージ情報リストＭＩＬ’中の各メッセージ情報ＭＩ’の各話題に対して、その話題を構成する語のうち入力されたメッセージｍ６に含まれる語と一致する語の支持数を１増加させ、入力されたメッセージｍ６に対応するメッセージ情報ＭＩ’を新たに作成して、作成したメッセージ情報ＭＩ’をメッセージ情報リストＭＩＬ’に追加する（図１６ステップ１４−４）。このとき、新たに作成したメッセージ情報ＭＩ’には、メッセージｍ６から抽出された話題と、この話題を構成する語と、語の支持数とが記録されるが、語の支持数は全て０とする。
【００７７】
図１７の例では、メッセージ情報リストＭＩＬ’中のメッセージ情報ＭＩ’の数は最大値Ｎ＝５に既に達しているので、短期メッセージ保持部１３−１は、最も古いメッセージ情報（メッセージｍ１に対応するメッセージ情報）をメッセージ情報リストＭＩＬ’から削除する。その後、短期メッセージ保持部１３−１は、メッセージｍ６に含まれる語「近所には」、「大学（ｄｉｃ）」、「病院（ｄｉｃ）」、「はあるけれど、」、「小児科（ｄｉｃ）」、「の」、「病院（ｄｉｃ）」、「はないのです。」、「ワクチン（ｄｉｃ）」、「の」、「接種（ｄｉｃ）」、「のために朝から順番取りはしたくないので、午後に予約をいれようかしら。」に応じて、メッセージ情報リストＭＩＬ’に記録されたメッセージ情報ＭＩ’の話題を構成する語「大学」、「小児科」、「ワクチン」、「接種」、「病院」、「の」の支持数をそれぞれ１増やす。結果を図１８に示す。
【００７８】
スコア計算部１３−２は、短期メッセージ保持部１３−１のメッセージ情報リストＭＩＬ’に保持されている話題に対して、第３の実施の形態と同様にしてスコアを求め（図１６ステップ１０−２）、話題とスコアとを出力する（図１６ステップ２−６）。以上のようなステップ７−２，１４−１，２−２，１４−２，１４−３，１４−４，１０−２，２−６の処理がユーザから処理停止の指示があるまで（図１６ステップ７−１においてＹＥＳ）、繰り返し行われる。
【００７９】
以上のように、本実施の形態では、短期メッセージ保持部１３−１によって過去の処理結果を再利用し、また一定のメッセージ数Ｎ以下を対象に処理を行なうことにより、同じ話題の表現が繰り返し現れにくい対象に対してもメッセージの入力に即して高速に話題の抽出が可能となることは明らかである。
【００８０】
また、本実施の形態において、図１９のように各メッセージに出現する語を記憶するとともに語からメッセージにおける支持数を参照するインデックスを設け、メッセージの追加・削除処理に応じて、語からメッセージにおける語の支持数への参照ポインタをインデックスへ追加・削除することにより、各語の支持数に高速にアクセスできるので、高速な処理が可能となることは明らかである。
【００８１】
［第５の実施の形態］
次に、本発明の第５の実施の形態について説明する。図２０（ａ）、図２０（ｂ）は本発明の第５の実施の形態となる話題抽出装置の構成を示すブロック図であり、図１、図６と同一の構成には同一の符号を付してある。図２０（ａ）は、第１の実施の形態の話題抽出装置に本発明の請求項５を適用したものであり、図２０（ｂ）は第２の実施の形態の話題抽出装置に請求項５を適用したものである。メッセージ分割部１−１および話題抽候抽出部１−２の動作は第１の実施の形態と同じであるので、説明は省略する。
【００８２】
図２０（ａ）の話題抽出装置において、話題情報作成部１７−１は、第１の実施の形態の話題情報作成部１−３と同様に各メッセージを処理する際に抽出された話題ｗｊ  の支持数Ｓｍｉ，ｗｊ  を求めると共に、話題ｗｊ  が出現したメッセージの数ＤＦｗｊを求める。なお、メッセージ数ＤＦｗｊは、話題抽候抽出部１−２が話題ｗｊ  を抽出した入力メッセージも含むので、支持数Ｓｍｉ，ｗｊ  ＋１となる。
【００８３】
図２０（ｂ）の話題抽出装置において短期メッセージ保持部１７−３は、第２の実施の形態の短期メッセージ保持部６−２と同様に各メッセージを処理する際にメッセージ情報リストＭＩＬを保持すると共に、話題抽候抽出部１−２で得られた話題ｗｊ  に対して、話題ｗｊ  が出現したメッセージの数ＤＦｗｊを求める。ただし、短期メッセージ保持部６−２と同様にメッセージ情報リストＭＩＬ中のメッセージ情報の数が最大値Ｎに達していて、最も古いメッセージ情報を削除する場合は、削除するメッセージ情報に含まれる話題のメッセージ数を１減らす。
【００８４】
今、メッセージｍ１’として、「インフルエンザワクチンを接種しようと思うのだけど、値段が心配。」、メッセージｍ２’として「小学校で昔やっていたけど、今は任意なんだっけ。インフルエンザワクチンかぁ。注射恐かったな。」、メッセージｍ３’として「保険の掛金たくさん払っているのだから、健康保険が使えないのかな。インフルエンザワクチンぐらい市で負担してくれてもいいのにね。」、メッセージｍ４’として「私の市では市がインフルエンザワクチンに限らず予防接種の費用は負担してくれますよ。ただし、１２才以下に限りますが。健康保険をつかっても４月から３割負担。掛金下げてほしいよね。」が与えられたとする。
【００８５】
このメッセージｍ１’〜ｍ４’を図２０（ａ）または図２０（ｂ）の話題抽出装置で処理した場合のメッセージ数ＤＦｗｊの状態を図２１に示す。ここでは、メッセージｍ１’，ｍ２’，ｍ３’，ｍ４’の順に古いものとする。また、メッセージ分割部１−１の辞書には第１の実施の形態と同じものを使用する。
【００８６】
図２０（ａ）または図２０（ｂ）の話題抽出装置のスコア計算部１７−２は、第１の実施の形態のスコア計算部１−４と同様に、抽出されたメッセージｍｉ  の話題ｗｊ  に対して、話題ｗｊ  の支持数Ｓｍｉ，ｗｊ  を分子の構成要素にもち、メッセージｍｉ  に後続するメッセージの数Ｍｉ  を分母の構成要素に持つ式により、話題ｗｊ  のスコアｓｃｏｒｅｍｉ，ｗｊ  を求めるが、話題ｗｊ  が出現したメッセージの数ＤＦｗｊを分母の構成要素とする式により、話題ｗｊ  の支持数Ｓｍｉ，ｗｊ  を重み付けする。スコア計算部１７−２から出力された話題ｗｊ  とスコアｓｃｏｒｅｍｉ，ｗｊ  とは、結果保持部１−５に格納される。スコアｓｃｏｒｅｍｉ，ｗｊ  の算出には、例えば以下の式を用いることができる。なお、後続メッセージ数Ｍｉ  ＝０のときはスコアを０とする。
【００８７】
【数３】
2004348415.tif 000005
【００８８】
式（３）を使って求めた各メッセージｍ１’〜ｍ４’の話題のスコアは以下のようになる。
メッセージｍ１’では、話題「インフルエンザワクチン」のスコアが（３／３）×（１／４）＝０．２５となり、メッセージｍ２’では、話題「インフルエンザワクチン」のスコアが（２／２）×（１／４）＝０．２５となり、メッセージｍ３’では、話題「保険の掛金」のスコアが０×（１／１）、「健康保険」のスコアが（１／１）×（１／２）＝０．５、「インフルエンザワクチン」のスコアが（１／１）×（１／４）＝０．２５となり、メッセージｍ４’では、話題「インフルエンザワクチン」のスコアが０、「予防接種」のスコアが０、「健康保険」のスコアも０となる。
【００８９】
このようなスコアの算出結果において、話題毎に最大のスコアを採用した場合、話題「インフルエンザワクチン」のスコアが０．２５、「健康保険」のスコアが０．５、「保険の掛金」のスコアが０、「予防接種」のスコアが０となり、最新メッセージに近いところで密に話されていてかつ目新しい話題である「健康保険」の方が「インフルエンザワクチン」よりスコアが高くなり、盛り上がっている新しい話題をユーザに提供できることは明らかである。
【００９０】
［第６の実施の形態］
次に、本発明の第６の実施の形態について説明する。図２２（ａ）、図２２（ｂ）は本発明の第６の実施の形態となる話題抽出装置の構成を示すブロック図であり、図９、図１５と同一の構成には同一の符号を付してある。図２２（ａ）は、第３の実施の形態の話題抽出装置に本発明の請求項６を適用したものであり、図２２（ｂ）は第４の実施の形態の話題抽出装置に請求項６を適用したものである。メッセージ分割部１−１および話題抽候抽出部１−２の動作は第１の実施の形態と同じであるので、説明は省略する。
【００９１】
図２２（ａ）の話題抽出装置において、話題情報作成部１９−１は、第３の実施の形態の話題情報作成部９−１と同様に各メッセージを処理する際に抽出された話題に対して、その話題を構成する語の支持数を求めると共に、メッセージ分割部１−１で得られた語に対して、その語が出現したメッセージの数ＤＦｔｋを求める。
【００９２】
図２２（ｂ）の話題抽出装置において短期メッセージ保持部１９−３は、第４の実施の形態の短期メッセージ保持部１３−１と同様に各メッセージを処理する際にメッセージ情報リストＭＩＬ’を保持すると共に、メッセージ分割部１−１で得られた語に対して、その語が出現したメッセージの数ＤＦｔｋを求める。ただし、短期メッセージ保持部１３−１と同様にメッセージ情報リストＭＩＬ’中のメッセージ情報の数が最大値Ｎに達していて、最も古いメッセージ情報を削除する場合は、削除するメッセージ情報に含まれる語のメッセージ数を１減らす。
【００９３】
第５の実施の形態と同じメッセージｍ１’〜ｍ４’を図２２（ａ）または図２２（ｂ）の話題抽出装置で処理した場合のメッセージ数ＤＦｔｋの状態を図２３に示す。メッセージ分割部１−１の辞書には第１の実施の形態と同じものを使用する。
【００９４】
図２２（ａ）または図２２（ｂ）の話題抽出装置のスコア計算部１９−２は、各話題に対して当該話題を構成する語の支持数を話題抽出装置がスコア計算の対象とするメッセージの中で当該語が出現したメッセージの数を分母の構成要素とする式で重みづけして各話題のスコアを求めることを特徴とする。
【００９５】
すなわち、スコア計算部１９−２は、第３の実施の形態のスコア計算部９−４と同様に、抽出されたメッセージｍｉ  の話題ｗｊ  に対して、話題ｗｊ  を構成する要素ｔｋ（ｔｋ∈ｗｊ）  の支持数Ｓｍｉ，ｗｊ、ｔｋを分子の構成要素にもち、メッセージｍｉ  に後続するメッセージの数Ｍｉ  を分母の構成要素に持つ式により、話題ｗｊ  のスコアｓｃｏｒｅｍｉ，ｗｊ  を求めるが、話題ｗｊ  を構成する要素ｔｋ  が出現したメッセージの数ＤＦｔｋを分母の構成要素とする式により、話題ｗｊ  を構成する要素ｔｋ  の支持数Ｓｍｉ，ｗｊ、ｔｋを重み付けする。スコア計算部１９−２から出力された話題ｗｊ  とスコアｓｃｏｒｅｍｉ，ｗｊ  とは、結果保持部１−５に格納される。スコアｓｃｏｒｅｍｉ，ｗｊ  の算出には、例えば以下の式を用いることができる。
【００９６】
【数４】
2004348415.tif 000006
【００９７】
今、話題の構成要素として前述の登録語のみを用いた場合、式（４）を使って求めた各メッセージｍ１’〜ｍ４’の話題のスコアは以下のようになる。
メッセージｍ１’では、話題「インフルエンザワクチン」を構成する語「インフルエンザ」の重み付けした支持数が（３／３）×（１／４）＝０．２５、「ワクチン」の重み付けした支持数が（３／３）×（１／４）＝０．２５である。その結果、話題「インフルエンザワクチン」のスコアは（０．２５＋０．２５）／２＝０．２５となる。
【００９８】
メッセージｍ２’では、話題「インフルエンザワクチン」を構成する語「インフルエンザ」の重み付けした支持数が（２／２）×（１／４）＝０．２５、「ワクチン」の重み付けした支持数が（２／２）×（１／４）＝０．２５である。その結果、話題「インフルエンザワクチン」のスコアは（０．２５＋０．２５）／２＝０．２５となる。
【００９９】
メッセージｍ３’では、話題「保険の掛金」、「健康保険」、「インフルエンザワクチン」を構成する語「保険」の重み付けした支持数が（１／１）×（１／２）＝０．５、「掛金」の重み付けした支持数が（１／１）×（１／２）＝０．５、「健康」の重み付けした支持数が（１／１）×（１／２）＝０．５、「インフルエンザ」の重み付けした支持数が（１／１）×（１／４）＝０．２５、「ワクチン」の重み付けした支持数が（１／１）×（１／４）＝０．２５である。その結果、話題「保険の掛金」のスコアは（０．５＋０．５）／２＝０．５、「健康保険」のスコアは（０．５＋０．５）／２＝０．５、「インフルエンザワクチン」のスコアは（０．２５＋０．２５）／２＝０．２５となる。
メッセージｍ４’では、話題「インフルエンザワクチン」のスコアは０、「予防接種」のスコアは０、「健康保険」のスコアも０となる。
【０１００】
このようなスコアの算出結果において、話題毎に最大のスコアを採用した場合、話題「インフルエンザワクチン」のスコアが０．２５、「健康保険」のスコアが０．５、「保険の掛金」のスコアが０．５、「予防接種」のスコアが０となり、第５の実施の形態ではスコアが０であった話題に対してもスコア付け可能であり、同じ話題の表現が繰り返し現れにくい対象に対しても最新メッセージに近いところで密に話されていてかつ目新しい話題の順でユーザに話題をできることは明らかである。
【０１０１】
なお、メッセージ数を求める語はメッセージ分割部１−１で得られる語全てではなく、話題の構成要素として用いる条件を満たす語、例えば辞書中に存在する語や品詞が名詞となる語に限ってもよい。
【０１０２】
また、第５の実施の形態および第６の実施の形態において、メッセージ情報リスト中のメッセージ情報の数が最大値Ｎに達していた場合に削除するメッセージ情報に含まれる語や話題のメッセージ数の減算処理を行なわずに、語や話題を含むメッセージ数ＤＦをためていってもよい。その場合、メッセージでよく出現する一般的な語を含む話題のスコアやよく出現する話題のスコアを小さくでき、一般的な話題が提示されることを抑制できる。
【０１０３】
［第７の実施の形態］
次に、本発明の第７の実施の形態について説明する。掲示板システムやチャットシステムのように複数人でのメッセージの共有を実現するメッセージ共有システムと本発明の話題抽出装置とを用いて、コミュニケーションの場で盛り上がっている話題をユーザに提示可能なコミュニケーションシステムの構成を図２４に示す。
【０１０４】
本実施の形態では、メッセージの書き込み先（例えば掲示板システムの板）をチャネルと呼ぶ。
メッセージ入出力部２１−１は、少なくとも１つ存在し、ユーザがメッセージ共有システム２１−２への入力を行なう機能とメッセージ共有システム２１−２からの出力を表示する機能をもつ。このメッセージ入出力部２１−１は、ネットワークにつながり、キーボード、ディスプレイを有する一般のパーソナルコンピュータで実現可能である。
【０１０５】
メッセージ入出力部２１−１の動きを図２５に示す。ユーザは、チャネル名を指定して掲示板へのメッセージの入力とメッセージの参照を行なう。メッセージ入出力部２１−１は、ユーザから入力があると（図２５ステップ２５−２においてＹＥＳ）、メッセージ共有システム２１−２へ入力内容を送信し（ステップ２５−３）、処理結果を表示する（ステップ２５−４）。
【０１０６】
また、ユーザからの入力が一定期間無い場合（ステップ２５−５においてＹＥＳ）、メッセージ入出力部２１−１は、メッセージや話題の最新の状態をメッセージ共有システム２１−２から取得して表示する（ステップ２５−６）以上のステップ２５−２〜２５−６の処理がユーザから終了指示があるまで（ステップ２５−１においてＹＥＳ）、繰り返し行われる。
【０１０７】
次に、メッセージ共有システム２１−２は、入出力制御部２１−２−１、メッセージ管理部２１−２−２、メッセージ保持部２１−２−３、話題一覧作成部２１−２−４、メッセージ転送部２１−２−５、チャネル一覧作成部２１−２−６から構成される。
【０１０８】
入出力制御部２１−２−１は、メッセージ入出力部２１−１からの入力を解釈し、メッセージ管理部２１−２−２や話題取得部２１−２−４、メッセージ転送部２１−２−５、チャネル一覧作成部２１−２−６を用いて必要な処理を行ない、結果を入力元のメッセージ入出力部２１−１へ返却する。
【０１０９】
メッセージ保持部２１−２−３は、ユーザから入力されたメッセージをメッセージＩＤ、チャネル名と関連づけて保持する。メッセージＩＤは、メッセージの入力順序を保存するものとし、メッセージ保持部２１−２−３への格納時にメッセージ管理部２１−２−２がメッセージＩＤを作成しメッセージに対応づける。例えば、メッセージＩＤは、０から始まる整数とし、メッセージの入力に応じて値を１ずつ増加させればよい。メッセージ保持部２１−２−３に保持されるチャネル名、メッセージＩＤおよびメッセージの例を図２６に示す。
【０１１０】
メッセージ管理部２１−２−２は、要求に応じてメッセージ保持部２１−２−３へのメッセージの登録、指定されたチャネルのメッセージの取得を行なう。
チャネル一覧作成部２１−２−６は、メッセージ保持部２１−２−３で保持されているチャネル名全てを取得し、取得した各チャネルの話題とそのスコアを話題処理部２１−３より取得し、チャネル名とそのチャネルの上位Ｎ件の話題を含む一覧を生成する。
【０１１１】
話題一覧作成部２１−２−４は、指定されたチャネルの話題を話題処理部２１−３より取得し、話題の一覧を生成する。
メッセージ転送部２１−２−５は、指定されたチャネル名とメッセージを話題処理部２１−３へ送信する。以上のメッセージ共有システム２１−２の動きを図２７に示す。
【０１１２】
メッセージ共有システム２１−２は、ユーザから入力があると（図２７ステップ２７−２においてＹＥＳ）、メッセージ参照要求かどうか判定し（ステップ２７−３）、メッセージ参照要求の場合には、指定されたチャネルのメッセージをメッセージ保持部２１−２−３より取得する（ステップ２７−４）。
【０１１３】
メッセージ共有システム２１−２は、メッセージ参照要求でない場合、メッセージ登録要求かどうか判定し（ステップ２７−５）、メッセージ登録要求の場合、指定されたチャネル名とメッセージＩＤを関係付けてメッセージ保持部２１−２−３へ登録し（ステップ２７−６）、チャネル名を指定してメッセージを後述する話題処理部２１−３へ送信する（ステップ２７−７）。
【０１１４】
メッセージ共有システム２１−２は、メッセージ登録要求でない場合、チャネル一覧要求かどうか判定し（ステップ２７−８）、チャネル一覧要求の場合、メッセージ保持部２１−２−３より全てのチャネル名を取得し、各チャネルの話題とそのスコアを話題処理部２１−３より取得し、話題が表示されたチャネル一覧を作成する（ステップ２７−９）。
【０１１５】
メッセージ共有システム２１−２は、チャネル一覧要求でない場合、話題一覧要求かどうか判定し（ステップ２７−１０）、話題一覧要求の場合、指定されたチャネル名の話題とそのスコアを話題処理部２１−３より取得し、話題の一覧を作成する（ステップ２７−１１）。
そして、メッセージ共有システム２１−２は、ステップ２７−４，２７−７，２７−９，２７−１１の処理後、結果を出力する（ステップ２７−１２）。
【０１１６】
次に、話題処理部２１−３は、話題管理部２１−３−１と、１つ以上の話題保持部２１−３−３とから構成される。各話題保持部２１−３−３は、メッセージ列から話題の抽出を行ないスコアを付与する話題抽出部２１−３−３−Ａと、抽出された話題を保持する結果保持部２１−３−３−Ｂから構成される。この話題抽出部２１−３−３−Ａと結果保持部２１−３−３−Ｂとは、第１の実施の形態〜第６の実施の形態の話題抽出装置と結果保持部とにより実現される。
【０１１７】
話題管理部２１−３−１は、チャネル毎に話題保持部２１−３−３を作成し、指定されたチャネルを担当する話題保持部２１−３−３へ依頼し、メッセージの追加、話題の取得を行なう。
話題保持部２１−３−３は、メッセージの追加依頼に応じて、受信したメッセージまで含めた話題の抽出とスコアの算出とを行ない、結果保持部に話題とそのスコアの一覧とを保存する。また、話題保持部２１−３−３は、話題の取得依頼に応じて、結果保持部に保持されている話題の一覧を話題管理部２１−３−１へ返却する。
【０１１８】
なお、話題処理部２１−３へチャネル名を指定する際、メッセージ共有システム２１−２がメッセージ共有システムの名前やホスト名をチャネル名に付加したものをチャネル名として話題処理部２１−３へ通知することにより、話題処理部２１−３は複数のメッセージ共有システムの話題を扱うことが可能となる。
【０１１９】
また、メッセージ共有システム２１−２は、メッセージとともにそのメッセージＩＤも話題処理部２１−３へ送信し、話題抽出装置が各メッセージのＩＤも記憶し、各話題に対して、短期メッセージ保持部や話題情報作成部内に存在するその話題が出現する最も古いメッセージのＩＤをそのスコアと一緒に結果保持部へ出力し、メッセージ共有システム２１−２からの話題取得要求に対して話題処理部２１−３が前記メッセージのＩＤも話題と一緒に返却することにより、メッセージ共有システム２１−２で、盛り上がっている話題についてどのメッセージから読み始めたよいかをユーザに提示可能となる。
【０１２０】
例えば、第６の実施の形態の例では、話題「インフルエンザワクチン」はメッセージｍ１’，ｍ２’，ｍ３’，ｍ４’に存在するが、最も古いメッセージであるメッセージｍ１’の識別子であるｍ１’を結果保持部へ話題と共に出力する。
【０１２１】
メッセージ共有システム２１−２と話題処理部２１−３とメッセージ入出力部２１−２とは、同一マシン上に存在する必要はなく、ネットワークで接続された複数のマシンに分散して存在してもよい。
【０１２２】
図２８（ａ）は従来のメッセージ共有システムのチャネルの一覧の例を示している。チャネル名のみが表示されているため、各チャネルがどんな話題で盛り上がっているかを把握することができない。
図２８（ｂ）は本実施の形態によるチャネルの一覧の例を示している。本実施の形態により、チャネルの一覧に盛り上がっている話題を一緒に表示することが可能となり、どのチャネルでどんな話題が盛り上がっているかを一目で把握可能となる。
【０１２３】
図２９にメッセージの例を示す。図３０の「ｃｏｍｍｅｎｔ」の列は、表示されている話題について読み始めるのに適したメッセージＩＤを示す。本実施の形態によれば、チャネル毎の話題の一覧も提示できるようになるので、図２９のメッセージに対する図３０の話題の一覧の例が示すように、全てのメッセージを読まなくても、話題の流れを把握できるようになる。
【０１２４】
なお、本実施の形態では、メッセージ共有システム２１−２のクライアントであるメッセージ入出力部２１−１が定期的に話題の最新状態を取得しにいく例をあげているが、チャットシステムのようにシステムに参加しているユーザにサーバからメッセージを送信するシステムとして、メッセージの入力毎に、特定のメッセージ入出力部２１−１から入力されたメッセージと共に最新の話題の状態をシステムにログインしている全てのメッセージ入出力部２１−１に送信するようにしてもよい。
【０１２５】
なお、第１の実施の形態〜第６の実施の形態の話題抽出装置と第７の実施の形態のコミュニケーションシステムは、コンピュータで実現することができる。このコンピュータは、ＣＰＵと、ＲＯＭと、ＲＡＭと、フレキシブルディスク装置等の補助記憶装置と、ハードディスク装置等の大容量の外部記憶装置と、ディスプレイ装置との間のインタフェース装置といった構成を有している。
【０１２６】
コンピュータを話題抽出装置として機能させるための話題抽出プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、メモリカード等の記録媒体に記録された状態で提供される。この記録媒体をコンピュータの補助記憶装置に挿入すると、媒体に記録されたプログラムが読み取られる。そして、ＣＰＵは、読み込んだプログラムをＲＡＭあるいは外部記憶装置に書き込み、このプログラムに従って第１の実施の形態〜第７の実施の形態で説明したような処理を実行する。
【０１２７】
【発明の効果】
本発明によれば、メッセージ分割部によりメッセージを語に分割し、話題候補抽出部により前記分割された語の列から予め与えられたパタンにマッチする語の列を話題として抽出することにより、話題をより具体的に表現可能となる。話題情報作成部で話題が出現したメッセージに後続するメッセージで当該話題を含むメッセージ数を話題に対する支持数として求め、スコア計算部でスコアを求める式で、前記支持数を分子の構成要素にもたせることにより支持数の多い話題を優先でき、後続メッセージ数を分母の構成要素にもたせることにより話題の新鮮さを減少させることができる。また、支持数を用いることにより、一人よがりな話題の影響を排除できる。また、後続メッセージ中で密に現れる話題に高いスコアを与えることが可能となるので最近の盛り上がり度で話題をスコアリング可能となる。スコア計算部で話題の出現回数を必要としないので、荒らしメッセージに出現する話題の影響を受けない。また、話題情報作成部で話題が出現したメッセージに後続するメッセージで当該話題を含むメッセージを利用することにより、明示的な返信を必要とせずに話題のスコアリングが可能となる。各メッセージに対して話題候補抽出部で抽出された話題全てに対して、話題情報作成部とスコア計算部によりスコアを求めることにより、複数の話題をもつメッセージからも洩れなく話題を抽出し、スコア付け可能となる。その結果、盛り上がっている話題をユーザに提示することができるので、今、どの会話に参加すれば面白いかユーザが判断でき、会話の話題を把握した上でユーザが参加してくるので、より会話を活性化させることができる。また、会話に入らなくてもユーザは会話で盛り上がってる話題を把握でき、多くの会話の場から興味のある場に容易に参加できる。また、具体的な話題が提示されるため、提示された話題がユーザの興味をひき、会話の場へのユーザの来訪率を上げることができる。話題の計算に時間量を入れ時間経過ととにスコア減衰させていくモデルを用いた従来の手法では、メッセージが入力されない期間が長く続くと話題のスコアがなくなり、話題の提示がなくなってしまうが、本発明では話題のスコア計算に時間量ではなくメッセージ数を用いるので、メッセージが入力されない期間が長く続いても話題を提示しつづけることができ、ユーザは常に話題を見ることができる。
【０１２８】
また、メッセージ分割部と、話題候補抽出部と、抽出された話題とこの話題が出現したメッセージに後続するメッセージのうち話題を含むメッセージの数である支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ件のメッセージについて古いものから順にメッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持部と、メッセージ情報削除部と、メッセージ情報リスト中の各メッセージ情報の話題のうち入力されたメッセージから抽出された話題と一致する話題の支持数を増加させる支持数計数部と、抽出された各話題の支持数を０としたメッセージ情報を作成してメッセージ情報リストに追加するメッセージ情報追加部と、支持数を分子の構成要素に持ち、後続するメッセージの数を分母の構成要素に持つ式により、話題のスコアを求めるスコア計算部とを設けることにより、スコア計算部で後続のメッセージから決まる支持数と後続メッセージ数から話題のスコアを求めるので、過去の全てのメッセージを対象とする必要がなく、更にメッセージ情報リスト保持部においてメッセージ情報を要素とするメッセージ情報リストを保持することにより、過去の計算結果を利用することができるため、メッセージの入力に対して高速に話題の逐次抽出が可能となる。
【０１２９】
また、メッセージ分割部と、話題候補抽出部と、抽出された話題が出現したメッセージに後続するメッセージにおいて話題を構成する語が出現した回数である語の支持数を求める話題情報作成部と、話題を構成する語の支持数を分子の構成要素に持ち、後続するメッセージの数を分母の構成要素に持つ式により、話題のスコアを求めるスコア計算部とを設けることにより、話題のスコアを話題を構成する語の支持数を用いてスコア付けするので、後続メッセージでは省略形のように話題の部分文字列として表されて話題がメッセージの中で完全に同じ形で現れにくいメッセージ列、すなわち名詞句が繰り返されないようなメッセージ列に対しても話題の抽出が可能となる。
【０１３０】
また、メッセージ分割部と、話題候補抽出部と、抽出された話題とこの話題を構成する語と話題が出現したメッセージに後続するメッセージにおいて話題を構成する語が出現した回数である語の支持数とが含まれる情報をメッセージ情報と定義したとき、最も後に入力された最大Ｎ件のメッセージについて古いものから順にメッセージ情報を記録したメッセージ情報リストを保持するメッセージ情報リスト保持部と、メッセージ情報削除部と、メッセージ情報リスト中の各メッセージ情報の話題を構成する語のうち入力されたメッセージに含まれる語と一致する語の支持数を増加させる支持数計数部と、抽出された話題とこの話題を構成する語とこの話題を構成する語の支持数０とを含むメッセージ情報を作成してメッセージ情報リストに追加するメッセージ情報追加部と、話題を構成する語の支持数を分子の構成要素に持ち、後続するメッセージの数を分母の構成要素に持つ式により、話題のスコアを求めるスコア計算部とを設けることにより、スコア計算部で後続のメッセージから決まる語の支持数と後続メッセージ数から話題のスコアを求めるので、過去の全てのメッセージを対象とする必要がなく、更にメッセージ情報リスト保持部においてメッセージ情報を要素とするメッセージ情報リストを保持することにより、過去の計算結果を利用することができるため、話題がメッセージの中で完全に同じ形で現れないメッセージ列においてメッセージの入力に対して高速に話題の逐次抽出が可能となる。また、短期メッセージのみ処理するので、処理が軽く、メモリ使用量を少なくすることができる。
【０１３１】
また、話題のスコアを求める際に、この話題が出現したメッセージの数を分母の構成要素とする式により、話題の支持数を重み付けすることにより、多くのメッセージで話される一般的な話題のスコアを小さくすることができ、珍しい話題を優先することができる。
【０１３２】
同様に、話題のスコアを求める際に、話題を構成する語が出現したメッセージの数を分母の構成要素とする式により、話題を構成する語の支持数を重み付けすることにより、多くのメッセージで話される一般的な話題のスコアを小さくすることができ、珍しい話題を優先することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態となる話題抽出装置の構成を示すブロック図である。
【図２】図１の話題抽出装置の動作を示すフローチャートである。
【図３】本発明の第１の実施の形態における話題の支持数の例を示す図である。
【図４】本発明の第１の実施の形態におけるスコアリングの例を説明する図である。
【図５】本発明の第１の実施の形態におけるインデックスの例を示す図である。
【図６】本発明の第２の実施の形態となる話題抽出装置の構成を示すブロック図である。
【図７】図６の話題抽出装置の動作を示すフローチャートである。
【図８】本発明の第２の実施の形態におけるメッセージ情報リストの例を示す図である。
【図９】本発明の第３の実施の形態となる話題抽出装置の構成を示すブロック図である。
【図１０】図９の話題抽出装置の動作を示すフローチャートである。
【図１１】本発明の第３の実施の形態における話題を構成する語の支持数の例を示す図である。
【図１２】本発明の第３の実施の形態における話題を構成する語の支持数の例を示す図である。
【図１３】本発明の第３の実施の形態における話題を構成する語の支持数の例を示す図である。
【図１４】本発明の第３の実施の形態におけるインデックスの例を示す図である。
【図１５】本発明の第４の実施の形態となる話題抽出装置の構成を示すブロック図である。
【図１６】図１５の話題抽出装置の動作を示すフローチャートである。
【図１７】本発明の第４の実施の形態におけるメッセージ情報リストの例を示す図である。
【図１８】本発明の第４の実施の形態におけるメッセージ情報リストの例を示す図である。
【図１９】本発明の第４の実施の形態におけるインデックスの例を示す図である。
【図２０】本発明の第５の実施の形態となる話題抽出装置の構成を示すブロック図である。
【図２１】本発明の第５の実施の形態におけるメッセージ数の例を示す図である。
【図２２】本発明の第６の実施の形態となる話題抽出装置の構成を示すブロック図である。
【図２３】本発明の第６の実施の形態におけるメッセージ数の例を示す図である。
【図２４】本発明の第７の実施の形態となるコミュニケーションシステムの構成を示すブロック図である。
【図２５】本発明の第７の実施の形態におけるメッセージ入出力部の動作を示すフローチャートである。
【図２６】本発明の第７の実施の形態においてメッセージ保持部に保持されるチャネル名、メッセージＩＤおよびメッセージの例を示す図である。
【図２７】本発明の第７の実施の形態におけるメッセージ共有システムの動作を示すフローチャートである。
【図２８】本発明の第７の実施の形態におけるチャネル一覧の例を示す図である。
【図２９】本発明の第７の実施の形態におけるメッセージの例を示す図である。
【図３０】本発明の第７の実施の形態における話題の一覧の例を示す図である。
【符号の説明】
１−１、６−１…メッセージ分割部、１−２…話題候補抽出部、１−３、９−１、１７−１，１９−１…話題情報作成部、１−４、９−２，１３−２，１７−２，１９−２…スコア計算部、１−５…結果保持部、６−２、１３−１、１７−３、１９−３…短期メッセージ保持部、２１−１…メッセージ入出力部、２１−２…メッセージ共有システム、２１−３…話題処理部、２１−２−１…入出力制御部、２１−２−２…メッセージ管理部、２１−２−３…メッセージ保持部、２１−２−４…話題一覧作成部、２１−２−５…メッセージ転送部、２１−２−６…チャネル一覧作成部、２１−３−１…話題管理部、２１−３−３…話題保持部、２１−３−３−Ａ…話題抽出部２１−３−３−Ａ、２１−３−３−Ｂ…結果保持部２１−３−３−Ｂ。
【図１】
2004348415.tif 000007
【図２】
2004348415.tif 000008
【図３】
2004348415.tif 000009
【図４】
2004348415.tif 000010
【図５】
2004348415.tif 000011
【図６】
2004348415.tif 000012
【図７】
2004348415.tif 000013
【図８】
2004348415.tif 000014
【図９】
2004348415.tif 000015
【図１０】
2004348415.tif 000016
【図１１】
2004348415.tif 000017
【図１２】
2004348415.tif 000018
【図１３】
2004348415.tif 000019
【図１４】
2004348415.tif 000020
【図１５】
2004348415.tif 000021
【図１６】
2004348415.tif 000022
【図１７】
2004348415.tif 000023
【図１８】
2004348415.tif 000024
【図１９】
2004348415.tif 000025
【図２０】
2004348415.tif 000026
【図２１】
2004348415.tif 000027
【図２２】
2004348415.tif 000028
【図２３】
2004348415.tif 000029
【図２４】
2004348415.tif 000030
【図２５】
2004348415.tif 000031
【図２６】
2004348415.tif 000032
【図２７】
2004348415.tif 000033
【図２８】
2004348415.tif 000034
【図２９】
2004348415.tif 000035
【図３０】
2004348415.tif 000036