(57)【特許請求の範囲】
【請求項１】
複数の語を夫々表すインスタンスを当該インスタンスが属するクラスと対応付けて定義
するとともに、前記インスタンス間の関連性を当該インスタンス間の距離により定義した
オントロジを記憶する記憶手段と、
特定のトピックに関する複数の文書中に含まれた各語のうち、出現する頻度が所定の閾
値以上となる各語を、当該特定のトピックに関連する連想トピックの集合として抽出する
抽出手段と、
前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該連想トピックの組
が同一の前記文書中に出現する頻度を共起度として夫々算出する第１算出手段と、
前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該連想トピックの組
の各語を表す前記インスタンス間の距離を概念距離として夫々算出する第２算出手段と、
前記連想トピックの組毎の共起度と概念距離との重み付けに基づいて、前記連想トピッ
クの集合を複数の部分集合に分割する分割手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記分割手段は、他の連想トピックの組と比較し、前記共起度がより低く、且つ、前記
概念距離がより遠くなる二つの連想トピックが、異なる部分集合に属するよう分割するこ
とを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分割手段は、他の連想トピックの組と比較し、前記共起度がより高く、且つ、前記
概念距離がより遠くなる二つの連想トピックが、異なる部分集合に属するよう分割するこ
とを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記連想トピックの組毎の共起度と概念距離との積に基づいて、一の連想トピックが他
の連想トピックと競合する度合いを示した競合度を夫々算出する競合度算出手段と、
前記連想トピックの組毎の共起度と概念距離との商に基づいて、一の連想トピックが他
の連想トピックと相関する度合いを示した相関度を夫々算出する相関度度算出手段と、
を備え、
前記分割手段は、前記連想トピックの組毎の競合度と相関度とに基づいて、前記連想ト
ピックの集合を複数の部分集合に分割することを特徴とする請求項１〜３の何れか一項に
記載の情報処理装置。
【請求項５】
前記連想トピックの集合と、前記連想トピックの組毎の競合度と相関度とに基づいて、
各連想トピックをノードで表すとともに、これらノード間を両ノードに対応する連想トピ
ックの競合度及び相関度を付加したエッジで接続したグラフを生成するグラフ生成手段を
更に備え、
前記分割手段は、前記エッジの各々に付加された競合度と相関度とに基づいて、当該エ
ッジを順次削除し、前記連想トピックの集合を表すノードの集合を複数の部分集合に分割
することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記分割手段は、前記グラフから前記競合度が最小となるエッジと、前記相関度が最大
となるエッジとを交互に削除することで、前記ノードの集合を複数の部分集合に分割する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記特定のトピックの入力を受け付け、当該特定のトピックに関する文書をネットワー
ク上から収集する収集手段を更に備え、
前記抽出手段は、前記収集手段により収集された複数の文書中から、前記連想トピック
を抽出することを特徴とする請求項１〜６の何れか一項に記載の情報処理装置。
【請求項８】
前記抽出手段は、前記複数の文書中に含まれた前記インスタンスを表す各語のうち、そ
の出現頻度が所定の閾値以上となる語を前記連想トピックとして抽出することを特徴とす
る請求項１〜７の何れか一項に記載の情報処理装置。
【請求項９】
語の集合を複数の部分集合に分割する情報処理装置の情報処理方法であって、
前記情報処理装置は、複数の語を夫々表すインスタンスを当該インスタンスが属するク
ラスと対応付けて定義するとともに、前記インスタンス間の関連性を当該インスタンス間
の距離により定義したオントロジを記憶する記憶手段を備え、
抽出手段が、特定のトピックに関する複数の文書中に含まれた各語のうち、出現する頻
度が所定の閾値以上となる各語を、当該特定のトピックに関連する連想トピックの集合と
して抽出する抽出工程と、
第１算出手段が、前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該
連想トピックの組が同一の前記文書中に出現する頻度を共起度として夫々算出する第１算
出工程と、
第２算出手段が、前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該
連想トピックの組の各語を表す前記インスタンス間の距離を概念距離として夫々算出する
第２算出工程と、
分割手段が、前記連想トピックの組毎の共起度と概念距離との重み付けに基づいて、前
記連想トピックの集合を複数の部分集合に分割する分割工程と、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定のトピックに関する文書から、この特定のトピックに関連する他のトピックを抽出することが可能な情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近時、ブログ（ウェブログ）やＳＮＳ（Social  Network  Service）等の消費者作成メディア（ＣＧＭ：Consumer  Generated  Media）での口コミを参考にして、商品を購入する消費者が増えてきている。そのため、マーケティングの分野では、ＣＧＭを対象とした口コミマーケティングが重要になってきている。
【０００３】
ＣＧＭにおける口コミの分析は、基本的にＣＧＭのテキストデータに対し自然言語処理を施すことで行われている。また、最近は分析結果の視覚化への要求が高まりつつあり、分析対象商品と比較されている関連商品や話題商品を抽出し、分析対象商品と対比させてポジショニングを分析することが行われている。以下、あるトピック（商品）について書かれた文書集合において、これら文書集合中に出現する関連商品や話題商品等の特徴的な語（商品名）を連想トピックと呼ぶ。
【０００４】
また従来、連想トピック間の表記の揺れ等を吸収するため、複数の連想トピックのうち、類似性を有する語や共起関係にある語の集合を複数の部分集合（クラスタ）に分割（ｃｌｕｓｔｅｒｒｉｎｇ）して利用することが行われている。例えば、非特許文献１には、語（用語）群の分割手法として、以下二つの手法が挙げられている。
１．語ｗ１と語ｗ２の他の語との共起の分布が似ていれば、同じクラスタとする手法。
２．語ｗ１と語ｗ２が頻繁に共起していれば、同じクラスタとする手法。
【０００５】
【非特許文献１】松尾豊、石塚満：語の共起の統計情報に基づく文書からのキーワード抽出アルゴリズム、人工知能学会誌、Ｖｏｌ．１７、Ｎｏ．３、ｐｐ．２１３−２２７、２００２．
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、連想トピックの中には、品詞、意味、分類の異なる語彙が含まれているためノイズが多く、従来の分割手法では扱いづらいという問題がある。特に、商品に特化した連想トピックの分析を行う場合、同じ商品分野の競合製品とそうでない製品とは共起の度合いが高くても、両製品を別のクラスタに分割することが望まれるが、上述した従来の手法では、共起間の関係にのみ基づいて分割を行うため対応することができないという問題がある。
【０００７】
本発明は上記に鑑みてなされたものであって、特定のトピックに関する文書から抽出した連想トピックの集合を、有意の単位で複数の部分集合に分割することが可能な情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、複数の語を夫々表すインスタンスを当該インスタンスが属するクラスと対応付けて定義するとともに、前記インスタンス間の関連性を当該インスタンス間の距離により定義したオントロジを記憶する記憶手段と、特定のトピックに関する複数の文書中に含まれた各語のうち、出現する頻度が所定の閾値以上となる各語を、当該特定のトピックに関連する連想トピックの集合として抽出する抽出手段と、前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該連想トピックの組が同一の前記文書中に出現する頻度を共起度として夫々算出する第１算出手段と、前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該連想トピックの組の各語を表す前記インスタンス間の距離を概念距離として夫々算出する第２算出手段と、前記連想トピックの組毎の共起度と概念距離とに基づいて、前記連想トピックの集合を複数の部分集合に分割する分割手段と、を備えたことを特徴とする。
【０００９】
また、本発明は、語の集合を複数の部分集合に分割する情報処理装置の情報処理方法であって、前記情報処理装置は、複数の語を夫々表すインスタンスを当該インスタンスが属するクラスと対応付けて定義するとともに、前記インスタンス間の関連性を当該インスタンス間の距離により定義したオントロジを記憶する記憶手段を備え、抽出手段が、特定のトピックに関する複数の文書中に含まれた各語のうち、出現する頻度が所定の閾値以上となる各語を、当該特定のトピックに関連する連想トピックの集合として抽出する抽出工程と、第１算出手段が、前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該連想トピックの組が同一の前記文書中に出現する頻度を共起度として夫々算出する第１算出工程と、第２算出手段が、前記連想トピックの集合の何れか二つの連想トピックの組毎に、当該連想トピックの組の各語を表す前記インスタンス間の距離を概念距離として夫々算出する第２算出工程と、分割手段が、前記連想トピックの組毎の共起度と概念距離とに基づいて、前記連想トピックの集合を複数の部分集合に分割する分割工程と、を含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、特定のトピックに関する文書から抽出した連想トピックの集合を、各連想トピック間の共起度と概念距離とに基づいて、複数の部分集合に分割することができるため、連想トピックの集合を有意の単位に分割することができる。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明にかかる情報処理装置及び情報処理方法の最良な実施形態を詳細に説明する。なお、以下では本発明にかかる情報処理装置及び情報処理方法をサーバ装置（連想トピック抽出サーバ１０）に適用した例を説明するが、本発明が適用される対象はこの例に限定されないものとする。
【００１２】
図１は、情報提供システム１００の構成を示したブロック図である。同図に示したように、情報提供システム１００は、連想トピック抽出サーバ１０と、クライアント端末２０と、ブログ検索サーバ３０と、複数のブログサイト４０とを有しており、各装置はインターネット等のネットワークＮを介して通信可能に接続されている。なお、ネットワークＮに接続される各装置の個数は特に問わないものとする。
【００１３】
連想トピック抽出サーバ１０は、クライアント端末２０から送信される、分析対象となる特定のトピックを表したキーワード（例えば、特定の商品名等）に応じ、当該キーワードに関連する連想トピックの集合を、関連する連想トピック間の部分集合に分割した状態で提供するサーバ装置である。以下、連想トピック抽出サーバ１０について詳細に説明する。
【００１４】
図２は、連想トピック抽出サーバ１０のハードウェア構成を示したブロック図である。図２に示したように、連想トピック抽出サーバ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、操作部１２と、表示部１３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５と、通信部１６と、記憶部１７とを備え、各部はバス１８により接続されている。
【００１５】
ＣＰＵ１１は、ＲＡＭ１５の所定領域を作業領域として、ＲＯＭ１４又は記憶部１７に予め記憶された各種制御プログラムとの協働により各種処理を実行し、連想トピック抽出サーバ１０を構成する各部の動作を統括的に制御する。
【００１６】
また、ＣＰＵ１１は、ＲＯＭ１４又は記憶部１７に予め記憶された所定のプログラムとの協働により、後述する各機能部（ブログ記事収集部１１１、トピック抽出部１１２、共起度算出部１１３、概念距離算出部１１４、競合度・相関度算出部１１５、クラスタリング部１１６、情報提供部１１７）の機能を実現させる。なお、各機能部の動作については後述する。
【００１７】
操作部１２は、キーボードやマウス等の各種入力デバイスを備え、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をＣＰＵ１１に出力する。表示部１３は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示デバイスを備え、ＣＰＵ１１からの表示信号に基づいて、各種情報を表示する。なお、表示部１３は、操作部１２と一体的にタッチパネルを構成する態様としてもよい。
【００１８】
ＲＯＭ１４は、連想トピック抽出サーバ１０の制御にかかるプログラムや各種設定情報等を書き換え不可能に記憶する。ＲＡＭ１５は、ＳＤＲＡＭ等の記憶手段であって、ＣＰＵ１１の作業領域として機能し、バッファの役割を果たす。通信部１６は、ネットワークＮを通じ外部の機器との間で通信を行うインタフェースである。
【００１９】
記憶部１７は、磁気的又は光学的に記録可能な記憶媒体を有し、連想トピック抽出サーバ１０の制御にかかるプログラムや各種設定情報等を書き換え可能に記憶する。また、記憶部１７は、複数の商品名を夫々表すインスタンスを当該インスタンスが属するクラスと対応付けて定義するとともに、各インスタンス間の関連性をインスタンス間の距離、即ち、各インスタンスが属するクラス間の距離により定義した商品オントロジ１７１を予め記憶している。以下、商品オントロジ１７１について説明する。
【００２０】
商品オントロジ１７１は、オントロジ技術を利用したデータモデルにより構成されるツリー構造状のデータ群である。ここで「オントロジ」とは、対象世界を特定の観点から知識表現言語を用いてモデリングしたものであって、言葉の持つ概念（コンセプト）を体系的に整理したものである。概念には主にクラスとインスタンスの２種類が用いられ、クラスは概念の分類名を、インスタンスは概念の実例を表す。
【００２１】
図３は、商品オントロジ１７１の一例を模式的に示した図である。同図では、オントロジの対象を自動車としており、自動車の種別に基づいてクラス分けが行われている。
【００２２】
図３に示したように、商品オントロジ１７１は、４つのクラスＣ１〜Ｃ４と、９つのインスタンスＩ１〜Ｉ９とから構成されている。ここで、クラスＣ２〜Ｃ４は車種を表しており、“セダン”、“ミニバン”、“ＳＵＶ（Ｓｐｏｒｔ  Ｕｔｉｌｉｔｙ  Ｖｅｈｉｃｌｅ）”が夫々定義されている。なお、クラスＣ１は商品オントロジ１７１のルートとなるクラスであって、本商品オントロジ１７１において最も上位概念となる“自動車”が定義されている。
【００２３】
また、インスタンスＩ１〜Ｉ９は各クラス（車種）に属する具体的な車名を夫々表している。例えば、クラスＣ２（セダン）に属する車名として“Ｃａｒ１”、“Ｃａｒ２”、“Ｃａｒ３”がインスタンスＩ１〜Ｉ３に夫々定義されている。また、クラスＣ３（ミニバン）に属する車名として“Ｃａｒ５”、“Ｃａｒ６”、“Ｃａｒ７”がインスタンスＩ４〜Ｉ６に夫々定義されている。また、クラスＣ４（ＳＵＶ）に属する車名として“Ｃａｒ４”、“Ｃａｒ８”、“Ｃａｒ９”がインスタンスＩ７〜Ｉ９に夫々定義されている。なお、記憶部１７に記憶される商品オントロジ１７１の態様は、図３の例に限定されず、自動車以外の商品や、商品以外の他の対象物について作成された商品オントロジ１７１を記憶することとしてもよい。
【００２４】
次に図４を参照して、ＣＰＵ１１とＲＯＭ１４又は記憶部１７に記憶された所定のプログラムとの協働により実現される連想トピック抽出サーバ１０の各機能部について説明する。
【００２５】
図４は、連想トピック抽出サーバ１０の機能構成を示したブロック図である。同図に示したように、連想トピック抽出サーバ１０は、ブログ記事収集部１１１と、トピック抽出部１１２と、共起度算出部１１３と、概念距離算出部１１４と、競合度・相関度算出部１１５と、クラスタリング部１１６と、情報提供部１１７とを備えている。
【００２６】
ブログ記事収集部１１１は、分析対象となる特定のトピックを表したキーワードを含む分析要求をクライアント端末２０から受け付け、このキーワードを検索キーとしてブログ検索サーバ３０に送信することで、当該キーワードに関係するブログ記事の取得先となるブログサイト４０のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）の一覧を、ブログ検索サーバ３０から取得する。
【００２７】
また、ブログ記事収集部１１１は、ブログ検索サーバ３０から取得した各ＵＲＬが示すブログサイト４０のブログ記事にアクセスすることで、分析対象とされたトピック（キーワード）に関係するブログ記事を収集し、ＲＡＭ１５や記憶部１７等の記憶装置に保持する。
【００２８】
なお、本実施形態では、ブログ記事の検索をブログ検索サーバ３０が行う構成としているが、これに限らず、例えば、連想トピック抽出サーバ１０がブログ検索サーバ３０の機能を備えることで、連想トピック抽出サーバ１０内でブログ記事の検索を行う態様としてもよい。
【００２９】
トピック抽出部１１２は、ブログ記事収集部１１１により収集されたブログ記事を分析し、当該ブログ記事中から特徴的な各語を連想トピックとして夫々抽出する。具体的に、トピック抽出部１１２は、商品オントロジ１７１の各インスタンスに定義された商品名がブログ記事中に出現する頻度（ブログ記事数）を、これら商品名の話題度を測るスコアとして夫々算出する。そして、トピック抽出部１１２は、算出したスコアのうち、スコアの値が所定の閾値以上となる商品名を連想トピックとして夫々抽出する。
【００３０】
なお、連想トピック抽出の指標となる閾値は、任意の値を設定することが可能であるとする。また、スコア算出の際に、各ブログ記事に付与されたトラックバックやコメントの数に応じたスコアの重み付けを行うこととしてもよい。また、本実施形態では、商品オントロジ１７１の各インスタンスに定義された商品名に基づいて連想トピックを抽出する態様としたが、これに限らず、例えば、各ブログ記事に含まれた語（商品名）を比較し、その出現頻度が所定の閾値以上となる語を連想トピックとしてもよい。
【００３１】
共起度算出部１１３は、トピック抽出部１１２により抽出された連想トピックの集合のうち何れか二つの連想トピックの組毎に、当該連想トピックの組が、ブログ記事収集部１１１により収集された同一のブログ記事中に出現する頻度（ブログ記事数）を共起度として夫々算出する。
【００３２】
概念距離算出部１１４は、商品オントロジ１７１上における、各連想トピック間の概念距離を夫々算出する。ここで「概念距離」は、二つの連想トピックに対応するインスタンス間の距離を意味し、概念距離算出部１１４は、トピック抽出部１１２により抽出された連想トピックの集合の何れか二つの連想トピックの組毎に、概念距離を夫々算出する。概念距離の算出は、例えば、商品オントロジ１７１をグラフと見なしたときのインスタンス間のホップ数（クラス数）を用いて算出することができる。
【００３３】
なお、概念距離の算出については、公知の技術を用いてもよく、例えば、Yumiko  Mizoguchi,  Toshiaki  Nakamoto,  Kazuma  Asakawa,  Shinichi  Nagano,  Masumi  Inaba,  Takahiro  Kawamura:TV  Navigation  Agent  for  Measuring  Semantic  Similarity  Between  Programs,Proc.  of  OTM  Workshops  2007,  pp.75-84,  2007に記載の技術を用いてもよい。
【００３４】
競合度・相関度算出部１１５は、共起度算出部１１３及び概念距離算出部１１４が、連想トピックの組毎に算出した共起度及び概念距離に基づいて、各連想トピック間の「競合度」及び「相関度」を夫々算出する。
【００３５】
ここで「競合度」は、二つの連想トピックが競合する度合いを表す指標であって、下記（１）式により、各連想トピック間の共起度及び概念距離から夫々算出される値である。
競合度＝共起度×概念的近さ      （１）
【００３６】
上記（１）式において、「概念的近さ」は、概念距離算出部１１４が算出した概念距離の逆数であって、概念的近さの値が大きくなるほど、連想トピック間の概念距離が近いことを意味する。すなわち、共起度がより高く且つ概念距離がより近くなる場合、二つの連想トピック間の競合度は高くなる。これにより、例えば、異なる二つの自動車メーカのセダン車の商品名（例えば、Ｃａｒ１、Ｃａｒ３）が、高い頻度で同一のブログ記事内に出現するような場合、両セダン車は競合度が高い商品と見なすことができる。
【００３７】
なお、本実施形態では、上記（１）式により競合度を求めることとしたが、この例に限らないものとする。例えば、共起度や概念距離に応じた重み付けを行うこととしてもよいし、共起度及び概念距離を用いた異なる式により競合度を算出してもよい。
【００３８】
一方、「相関度」は、二つの連想トピックが相関する度合いを表す指標であって、下記（２）式により、各連想トピック間の共起度及び概念距離から夫々算出される値である。
相関度＝共起度／概念的近さ      （２）
【００３９】
上記（２）式から明らかなように、共起度がより高く且つ概念距離がより遠くなる場合、二つの連想トピック間の相関度は高くなる。これにより、例えば、自動車メーカＡ社のセダン車（例えば、Ｃａｒ２）と、Ｂ社のＳＵＶ車（Ｃａｒ２８）との商品名が、高い頻度で同一ブログ記事に出現するような場合、両者は車種が異なる（セダン車とＳＵＶ車）ため直接競合する商品ではないものの、乗り換えの需要等何らかの相関関係があると見なすことができる。
【００４０】
なお、本実施形態では、上記（２）式により相関度を求めることとしたが、この例に限らないものとする。例えば、共起度や概念距離に応じた重み付けを行うこととしてもよいし、共起度及び概念距離を用いた異なる式により相関度を算出してもよい。
【００４１】
図５は、連想トピック間における、共起度及び概念距離の関係を模式的に示した図である。同図において、縦軸は共起度を表している。なお、共起度算出部１１３が算出した共起度のうち、最大のものが“１”、最小のものが“０”となるよう正規化している。また、横軸は概念的近さを表している。なお、概念距離算出部１１４が算出した概念距離のうち、最も近くを表す概念距離の逆数が“１”、最も遠くを表す概念距離の逆数が“０”となるよう正規化している。
【００４２】
上述したように、共起度がより高く且つ概念距離がより近くなるほど、即ち、共起度及び概念的近さが“１”に近づくほど、二つの連想トピックは競合関係にあることが分かる（図中、領域Ａ１参照）。また、共起度がより高く且つ概念距離がより遠くなるほど、即ち、共起度が“１”、概念的近さが“０”に近づくほど、二つの連想トピックは相関関係にあることが分かる（図中、領域Ａ２参照）。
【００４３】
なお、本実施形態では、競合度が高い関係にある二つの連想トピックを同一の部分集合とし、相関度が低い関係にある二つの連想トピックを同一の部分集合とする。
【００４４】
つまり、この図５から、共起度がより高く、且つ、概念距離がより近い関係にある二つの連想トピック、即ち、領域Ａ１の関係にある二つの連想トピックを、同一の部分集合にする。反対に、共起度がより低く、且つ、概念距離がより遠い関係にある二つの連想トピック、即ち、領域Ａ４の関係にある二つの連想トピックが、互いに異なる部分集合に属するよう分割する。
【００４５】
また、同様に、共起度がより低く、且つ、概念距離がより近い関係にある二つの連想トピック、即ち、領域Ａ３の関係にある二つの連想トピックを、同一の部分集合にする。反対に、共起度がより高く、且つ、概念距離がより遠い関係にある二つの連想トピック、即ち、領域Ａ２の関係にある二つの連想トピックが、互いに異なる部分集合に属するよう分割する。
【００４６】
これらの方針に沿って部分集合を構築することで、連想トピックの集合を有意の単位で分割できる。なお、図５において、領域Ａ１〜Ａ４の位置及び大きさは一例であって、本主旨を逸脱しない範囲で変更することが可能である。
【００４７】
図６−１は、競合度・相関度算出部１１５により算出された各連想トピック間の競合度の一例を示した図である。また、図６−２は、競合度・相関度算出部１１５により算出された各連想トピック間の相関度の一例を示した図である。なお、図６−１、図６−２では、連想トピックの集合が｛Ｃａｒ１、Ｃａｒ２、Ｃａｒ３、Ｃａｒ４、Ｃａｒ５、Ｃａｒ６、Ｃａｒ７｝で表される場合を示している。例えば、図６−１では、Ｃａｒ１とＣａｒ２の競合度は０．０７であり、図６−２では、Ｃａｒ１とＣａｒ２の相関度は０．００７である。相関度算出部１１５は、各連想トピック間について算出した競合度及び相関度を、図６−１、図６−２で示したような形態でＲＡＭ１５又は記憶部１７の所定の領域に保持する。
【００４８】
図４に戻り、クラスタリング部１１６は、競合度・相関度算出部１１５により算出された各連想トピック間の競合度及び相関度に基づいて、連想トピックを部分集合に分割する。
【００４９】
具体的に、クラスタリング部１１６は、各連想トピックをノードで表すとともに、これらノード間を、両ノードに対応する連想トピックの競合度及び相関度を付加したエッジで夫々接続することで、グラフ（以下、クラスタグラフという）を生成する。そして、クラスタリング部１１６は、このクラスタグラフから競合度が最小のエッジ、相関度が最大のエッジを順次削除して行くことで、クラスタグラフを構成するノード（連想トピック）群を、所定数のノードから構成される部分集合（クラスタ）に分割する。以下、クラスタリング部１１６の動作について説明する。
【００５０】
図７は、クラスタリング部１１６により生成されたクラスタグラフの一例を模式的に示した図である。なお、図７は、図６−１に示した競合度と、図６−２に示した相関度の値を用いて作成したもので、連想トピックの集合が｛Ｃａｒ１、Ｃａｒ２、Ｃａｒ３、Ｃａｒ４、Ｃａｒ５、Ｃａｒ６、Ｃａｒ７｝で表される場合を示している。同図において、各連想トピックを表すノードを矩形により表しており、各連想トピックに対応する商品名を矩形内に示している。また、各ノードを繋ぐエッジに付加された二つの数値のうち、下方の数値は、両ノードに対応する連想トピック間の競合度を表しており、上方の数値は、両ノードに対応する連想トピック間の相関度を表している。例えば、Ｃａｒ１とＣａｒ２の競合度は０．０７であり、相関度は０．００７である。なお、共起度が“０”、即ち、競合度及び相関度が“０”のエッジについては生成を省略している。
【００５１】
図７に示したように、クラスタグラフを構成する全てのノードは、エッジにより接続された状態、即ち、１つのクラスタＣＬ１を構成していることが分かる。クラスタリング部１１６では、各ノードを接続するエッジから、競合度が最小のエッジ、相関度が最大のエッジを交互に削除して行くことで、クラスタグラフを構成するノード群を、二つ以上のクラスタに分割する。
【００５２】
ここで、クラスタグラフから競合度が最小のエッジを削除する処理は、共起度がより低く、且つ、概念距離がより遠い関係にある二つの連想トピックを、互いに異なる部分集合に属するよう分割することに相当するものである。即ち、図５の領域Ａ４の関係にある二つの連想トピックを、互いに異なる部分集合に分割する。また、クラスタグラフから相関度が最大のエッジを削除する処理は、共起度がより高く、且つ、概念距離がより遠い関係にある二つの連想トピックを、互いに異なる部分集合に属するよう分割することに相当するものである。即ち、図５の領域Ａ２の関係にある二つの連想トピックを、互いに異なる部分集合に分割する。これらの処理により、競合度が最小のエッジ、相関度が最大のエッジを順次削除して行くことで、連想トピックの集合を有意の単位に分割することができる。なお、複数クラスタへの分割にかかる処理の詳細については後述する。
【００５３】
図４に戻り、情報提供部１１７は、クラスタリング部１１６により分割された各部分集合を分析結果として、通信部１６を介しクライアント端末２０に送信する。なお、本実施形態では、トピック抽出部１１２により抽出された連想トピックの分割結果のみをクライアント端末２０に送信する態様としたが、これに限らず、例えば、ブログ記事収集部１１１により収集されたブログ文書を併せて送信する態様としてもよい。
【００５４】
クライアント端末２０は、情報提供システム１００を利用するユーザが操作するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の端末装置である。クライアント端末２０は、ユーザから分析対象となる特定のトピックを表すキーワードの入力を受け付けると、このキーワードを少なくとも含んだ分析要求を連想トピック抽出サーバ１０に送信する。また、クライアント端末２０は、分析要求に応じて連想トピック抽出サーバ１０から送信される分析結果を受信すると、この分析結果を図示しない表示デバイス等に出力する。
【００５５】
なお、クライアント端末２０は、ＣＰＵ等により構成される制御部と、各種プログラム等を記憶するＲＯＭ、ＲＡＭ、ＨＤＤ等から構成される記憶部と、外部装置と通信を行う通信部と、これらを接続するバス（何れも図示せず）とを備え、ＬＣＤ等の表示デバイスから構成される表示部及びキーボードやマウス等の操作部（何れも図示せず）が接続された構成となっている。ここで、操作部は、ユーザからの操作を受け付ける入力デバイスである。
【００５６】
ブログ検索サーバ３０は、ブログサイト４０によりネットワークＮ上に公開された情報（ブログ記事）を、検索キーとなるキーワードを用いて検索を行うサーバ装置である。ここで、ブログ検索サーバ３０は、ネットワークＮ上の各サイトを定期的に巡回（クロール）することで、各ブログサイト４０が公開するブログ記事の索引と、そのブログ記事の取得先となるＵＲＬとを取得し、これらの情報を関連付けて図示しない記憶部にインデクスとして関連付けて記憶している。
【００５７】
また、ブログ検索サーバ３０は、連想トピック抽出サーバ１０から検索キーと指示されたキーワードを受信すると、このキーワードを含んだブログ記事の索引をインデクス中から検索し、該当するブログ記事の索引に関連付けられたＵＲＬの一覧を、連想トピック抽出サーバ１０に送信する。
【００５８】
なお、ブログ検索サーバ３０は、ＣＰＵ等により構成される制御部と、各種プログラム等を記憶するＲＯＭ、ＲＡＭ、ＨＤＤ等から構成される記憶部と、外部装置と通信を行う通信部と、これらを接続するバス（何れも図示せず）とを備え、ＬＣＤ等の表示デバイスから構成される表示部及びキーボードやマウス等の操作部（何れも図示せず）が接続された構成となっている。
【００５９】
ブログサイト４０は、一又は複数人のユーザにより記述された日記等のブログ記事を、ネットワークＮ上に公開するサーバ装置（Ｗｅｂサーバ）である。なお、各ブログサイト４０及び各ブログ記事には、ネットワークＮ上における所在地を指示するためのＵＲＬが付与されているものとする。
【００６０】
また、ブログサイト４０は、ＵＲＬに基づき、外部装置（連想トピック抽出サーバ１０等）から特定のブログ記事へのアクセスを受け付けると、アクセスが要求されたブログ記事を要求元の外部装置に送信することで、当該ブログ記事の提供を行う。
【００６１】
なお、ブログサイト４０は、ＣＰＵ等により構成される制御部と、各種プログラム等を記憶するＲＯＭ、ＲＡＭ、ＨＤＤ等から構成される記憶部と、外部装置と通信を行う通信部と、これらを接続するバス（何れも図示せず）とを備え、ＬＣＤ等の表示デバイスから構成される表示部及びキーボードやマウス等の操作部（何れも図示せず）が接続された構成となっている。
【００６２】
次に、情報提供システム１００における、連想トピック抽出サーバ１０の動作について説明する。まず、図８を参照して、情報提供システム１００の全体動作について説明する。
【００６３】
図８は、情報提供システム１００の各装置により実行される全体処理の手順を示したフローチャートである。同図において、ステップＳ１１〜Ｓ１３は、クライアント端末２０の図示しない制御部と記憶部に記憶されたプログラムとの協働により実行される処理を示している。また、ステップＳ２１〜Ｓ２８は、連想トピック抽出サーバ１０の各機能部により実行される処理を示している。また、ステップＳ３１、Ｓ３２は、ブログ検索サーバ３０の図示しない制御部と記憶部に記憶されたプログラムとの協働により実行される処理を示している。また、ステップＳ４１は、ブログサイト４０の図示しない制御部と記憶部に記憶されたプログラムとの協働により実行される処理を示している。なお、本処理の前提として、ブログ検索サーバ３０は、各ブログサイト４０が提供するブログ記事のインデクスを予め保持しているものとする。
【００６４】
まず、クライアント端末２０において、図示しない操作部を介し、ユーザから分析対象のキーワードが入力されると（ステップＳ１１）、クライアント端末２０は、このキーワードを少なくとも含んだ分析要求を連想トピック抽出サーバ１０に送信する（ステップＳ１２）。
【００６５】
一方、連想トピック抽出サーバ１０では、ブログ記事収集部１１１がクライアント端末２０から送信された分析要求を受け付けると、この分析要求に含まれたキーワードを検索キーとしてブログ検索サーバ３０に送信する（ステップＳ２１）。
【００６６】
ブログ検索サーバ３０では、連想トピック抽出サーバ１０から送信されたキーワードを受け付けると、図示しない記憶部に記憶されたインデクスから、このキーワードを含んだブログ記事の索引を検索する（ステップＳ３１）。次いで、ブログ検索サーバ３０は、検索したブログ記事の索引に関連付けて記憶されたＵＲＬの一覧を、連想トピック抽出サーバ１０に送信する（ステップＳ３２）。
【００６７】
一方、連想トピック抽出サーバ１０では、ブログ記事収集部１１１が、ＵＲＬの一覧をブログ検索サーバ３０から取得すると、当該ＵＲＬが示すブログサイト４０及びブログ記事宛に夫々アクセスすることで、各ブログサイト４０からブログ記事を収集する（ステップＳ２２）。このとき、アクセス先となったブログサイト４０では、連想トピック抽出サーバ１０からのアクセスに応じ、このアクセスにより要求されたブログ記事を、連想トピック抽出サーバ１０に送信（提供）する（ステップＳ４１）。
【００６８】
トピック抽出部１１２は、ステップＳ２２で収集されたブログ記事を、商品オントロジ１７１中に定義された各インスタンス（商品名）に基づいて分析することで、当該ブログ記事から連想トピックを抽出する（ステップＳ２３）。続いて、共起度算出部１１３は、ステップＳ２３で抽出された連想トピックにおいて、任意の二つの連想トピックが、ステップＳ２２で収集された同一のブログ記事内に出現する頻度（ブログ記事）を共起度として夫々算出する（ステップＳ２４）。
【００６９】
次に、概念距離算出部１１４は、ステップＳ２３で抽出された各連想トピック間について、商品オントロジ１７１上における概念距離を夫々算出する（ステップＳ２５）。次いで、競合度・相関度算出部１１５は、ステップＳ２４で算出された共起度と、ステップＳ２５で算出された概念距離とに基づき、上記（１）式、（２）式を用いることで、各連想トピック間の競合度及び相関度を夫々算出する（ステップＳ２６）。
【００７０】
続いて、クラスタリング部１１６は、ステップＳ２６で算出された競合度及び相関度に基づいて、連想トピックの部分集合化を行うクラスタリング処理を実行する（ステップＳ２７）。以下、図９を参照して、ステップＳ２７のクラスタリング処理について説明する。
【００７１】
図９は、クラスタリング処理の手順を示したフローチャートである。まず、クラスタリング部１１６は、ステップＳ２３で抽出された全ての連想トピックをノードで表すとともに、これらノード間を、両ノードに対応する連想トピックの競合度及び相関度を付加したエッジで夫々接続することで、クラスタグラフを生成する（ステップＳ２７１）。
【００７２】
次に、クラスタリング部１１６は、クラスタグラフに含まれた各クラスタを構成するノードの数が、所定の閾値以上か否かを判定する（ステップＳ２７２）。ここで、何れかのクラスタにノード数が閾値以上含まれていると判定した場合（ステップＳ２７２；Ｎｏ）、クラスタリング部１１６は、ノード数が閾値以上含まれた１のクラスタを処理対象に設定する（ステップＳ２７３）。なお、ステップＳ２７２での判定の指標となる閾値は、任意の値を設定することが可能であるものとする。
【００７３】
続いて、クラスタリング部１１６は、処理対象のクラスタから競合度が最小のエッジを削除すると（ステップＳ２７４）、当該クラスタが複数のクラスタに分割されたか否かを判定する（ステップＳ２７５）。ここで、複数のクラスタに分割されたと判定した場合（ステップＳ２７５；Ｙｅｓ）、ステップＳ２７２の処理に再び戻る。
【００７４】
一方、ステップＳ２７５において、複数のクラスタに分割されていないと判定した場合（ステップＳ２７５；Ｎｏ）、クラスタリング部１１６は、処理対象のクラスタから相関度が最大のエッジを削除する（ステップＳ２７６）。続いて、クラスタリング部１１６は、処理対象のクラスタが複数のクラスタに分割されたか否かを判定する（ステップＳ２７７）。
【００７５】
クラスタリング部１１６は、ステップＳ２７７において、処理対象のクラスタが複数のクラスタに分割されていないと判定した場合（ステップＳ２７７；Ｎｏ）、ステップＳ２７４の処理に再び戻り、処理対象のクラスタから競合度が最小のエッジを削除する。また、クラスタリング部１１６は、ステップＳ２７７において、処理対象のクラスタが複数のクラスタに分割されたと判定した場合（ステップＳ２７７；Ｙｅｓ）、ステップＳ２７２の処理に再び戻る。
【００７６】
一方、ステップＳ２７２において、クラスタリング部１１６が、クラスタグラフに含まれた全てのクラスタを構成するノードの数が、夫々閾値未満と判定した場合には（ステップＳ２７２；Ｙｅｓ）、ステップＳ２８の処理に移行する。
【００７７】
以下、図７、図１０−１〜図１０−７を参照し、クラスタリング処理の具体例について説明する。なお、以下の説明において、ステップＳ２７２での判定の指標となる閾値は“４”に設定されているものとする。
【００７８】
まず、クラスタリング部１１６は、ステップＳ２７１において、クラスタグラフを生成すると、続くステップＳ２７２で、クラスタグラフに含まれた各クラスタを構成するノードの数が、所定の閾値以上か否かを判定する。ここで、ステップＳ２７１で生成されたクラスタグラフが図７に示した状態であるとすると、このクラスタグラフには唯一のクラスタＣＬ１が存在し、このクラスタＣＬ１が７個のノードから構成されていることが分かる。そのため、クラスタリング部１１６は、ステップＳ２７３に移行し、クラスタＣＬ１を処理対象に設定する。
【００７９】
続いて、クラスタリング部１１６は、ステップＳ２７４において、クラスタＣＬ１から競合度が最小のエッジ、即ち、ノード「Ｃａｒ２」とノード「Ｃａｒ５」とを接続するエッジを削除すると、クラスタＣＬ１は図１０−１に示した状態となる。このとき、クラスタＣＬ１は複数のクラスタに分割されていないため、クラスタリング部１１６は、ステップＳ２７５において“否”と判定し、ステップＳ２７６に移行する。
【００８０】
次いで、クラスタリング部１１６は、ステップＳ２７６において、クラスタＣＬ１から相関度が最大のエッジ、即ち、ノード「Ｃａｒ４」とノード「Ｃａｒ７」とを接続するエッジを削除すると、クラスタＣＬ１は図１０−２に示した状態となる。図１０−２に示したように、クラスタＣＬ１は依然として複数のクラスタに分割されていないため、クラスタリング部１１６は、ステップＳ２７７において“否”と判定し、ステップＳ２７２に再び戻る。
【００８１】
クラスタリング部１１６は、２度目のステップＳ２７２において、クラスタＣＬ１を構成するノードの数が閾値以上と判定するため、ステップＳ２７３では、このクラスタＣＬ１を処理対象に再度設定する。
【００８２】
続くステップＳ２７４において、クラスタリング部１１６は、クラスタＣＬ１から競合度が最小のエッジ、即ち、ノード「Ｃａｒ３」とノード「Ｃａｒ６」とを接続するエッジを削除すると、クラスタＣＬ１は図１０−３に示した状態となる。このとき、クラスタＣＬ１は複数のクラスタに分割されていないため、クラスタリング部１１６は、ステップＳ２７５において“否”と判定し、ステップＳ２７６に移行する。
【００８３】
クラスタリング部１１６は、続くステップＳ２７６において、クラスタＣＬ１から相関度が最大のエッジ、即ち、ノード「Ｃａｒ４」とノード「Ｃａｒ６」とを接続するエッジを削除すると、クラスタＣＬ１は図１０−４に示した状態となる。このとき、クラスタＣＬ１は、図１０−４に示したように、クラスタＣＬ２とクラスタＣＬ３とに分割されることにため、クラスタリング部１１６は、続くステップＳ２７５で“正”と判定し、ステップＳ２７２の処理に再び戻る。
【００８４】
続いて、クラスタリング部１１６は、３度目のステップＳ２７２において、クラスタグラフに含まれたクラスタのうち、クラスタＣＬ２を構成するノードの数が閾値以上と判定するため、続くステップＳ２７３で、クラスタＣＬ２を処理対象に設定する。
【００８５】
クラスタリング部１１６は、続くステップＳ２７４において、クラスタＣＬ２から競合度が最小のエッジ、即ち、ノード「Ｃａｒ１」とノード「Ｃａｒ４」とを接続するエッジを削除すると、クラスタＣＬ２は図１０−５に示した状態となる。このとき、クラスタＣＬ２は複数のクラスタに分割されていないため、クラスタリング部１１６は、ステップＳ２７５において“否”と判定し、ステップＳ２７６に移行する。
【００８６】
次いで、クラスタリング部１１６は、ステップＳ２７６において、クラスタＣＬ２から相関度が最大のエッジ、即ち、ノード「Ｃａｒ２」とノード「Ｃａｒ４」とを接続するエッジを削除すると、クラスタＣＬ２は図１０−６に示した状態となる。このとき、クラスタＣＬ２は依然として複数のクラスタに分割されていないため、クラスタリング部１１６は、ステップＳ２７７において“否”と判定し、ステップＳ２７２に再び戻る。
【００８７】
クラスタリング部１１６は、４度目のステップＳ２７２において、クラスタＣＬ２を構成するノードの数が閾値以上と判定するため、続くステップＳ２７３で、クラスタＣＬ２を処置対象に再度設定する。
【００８８】
続いて、クラスタリング部１１６は、ステップＳ２７４において、クラスタＣＬ２から競合度が最小のエッジ、即ち、ノード「Ｃａｒ３」とノード「Ｃａｒ４」とを接続するエッジを削除すると、クラスタＣＬ２は図１０−７に示した状態となる。このとき、クラスタＣＬ２は、クラスタＣＬ４とクラスタＣＬ５とに分割されることになるため、クラスタリング部１１６は、続くステップＳ２７５で“正”と判定し、ステップＳ２７２に再び戻る。
【００８９】
そして、クラスタリング部１１６は、５度目のステップＳ２７２において、クラスタグラフに含まれる全てのクラスタ、即ち、クラスタＣＬ３、ＣＬ４、ＣＬ５を構成するノードの数が、夫々閾値未満と判定するため、ステップＳ２８の処理に移行する。
【００９０】
図８に戻り、情報提供部１１７は、ステップＳ２７の処理により分割された各クラスタに基づいて、各クラスタに含まれたノードが表す連想トピックの集合を分析結果として、通信部１６を介しクライアント端末２０に送信する（ステップＳ２８）。
【００９１】
例えば、ステップＳ２７の処理により、図１０−７の状態が得られた場合、情報提供部１１７は、分析結果として以下の情報をクライアント端末２０に送信する。
｛
｛Ｃａｒ１、Ｃａｒ２、Ｃａｒ３｝、
｛Ｃａｒ４｝、
｛Ｃａｒ５、Ｃａｒ６、Ｃａｒ７｝、
｝
【００９２】
一方、クライアント端末２０では、連想トピック抽出サーバ１０から送信された分析結果を受信すると、この分析結果を図示しない表示部に表示し（ステップＳ１３）、本処理を終了する。
【００９３】
以上のように、本実施形態によれば、特定のトピックに関する文書から抽出した連想トピックの集合を、各連想トピック間の共起度と概念距離とに基づいて、複数の部分集合に分割することができるため、連想トピックの集合を有意の単位に分割することができる。
【００９４】
特に、本実施形態のように商品に特化した連想トピックを対象とする場合、商品間の競合度及び相関度に基づいて、連想トピックの集合を有意の単位に分割することができるため、ポジショニング分析等の商品間の分析に有用なデータを提供することができる。
【００９５】
なお、本実施形態では、クライアント端末２０から送信された分析対象のキーワードに基づいて、連想トピック抽出サーバ１０が各種の処理を行う態様としたが、これに限らず、例えば、連想トピック抽出サーバ１０の操作部１２を介し、分析対象のキーワードが直接入力される態様としてもよい。
【００９６】
以上、発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加などが可能である。
【００９７】
例えば、上記実施形態の処理にかかるプログラムを、コンピュータで読み取り可能な記憶媒体として提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリ等、プログラムを記憶でき、且つ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【００９８】
また、上記実施形態の処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【図面の簡単な説明】
【００９９】
【図１】情報提供システムの構成を示した図である。
【図２】連想トピック抽出サーバのハードウェア構成を示した図である。
【図３】商品オントロジの一例を模式的に示した図である。
【図４】連想トピック抽出サーバの機能構成を示した図である。
【図５】共起度及び概念距離の関係を模式的に示した図である。
【図６−１】各連想トピック間についての競合度の一例を示した図である。
【図６−２】各連想トピック間についての相関度の一例を示した図である。
【図７】図６−１、図６−２の競合度及び相関度に基づいて生成されたクラスタグラフの一例を示した図である。
【図８】全体処理の手順を示したフローチャートである。
【図９】図８に示したクラスタリング処理の手順を示したフローチャートである。
【図１０−１】クラスタリング処理の動作を説明するための図である。
【図１０−２】クラスタリング処理の動作を説明するための図である。
【図１０−３】クラスタリング処理の動作を説明するための図である。
【図１０−４】クラスタリング処理の動作を説明するための図である。
【図１０−５】クラスタリング処理の動作を説明するための図である。
【図１０−６】クラスタリング処理の動作を説明するための図である。
【図１０−７】クラスタリング処理の動作を説明するための図である。
【符号の説明】
【０１００】
１００  情報提供システム
１０    連想トピック抽出サーバ
２０    クライアント端末
３０    ブログ検索サーバ
４０    ブログサイト
１１    ＣＰＵ
１２    操作部
１３    表示部
１４    ＲＯＭ
１５    ＲＡＭ
１６    通信部
１７    記憶部
１７１  商品オントロジ
１８    バス
１１１  ブログ記事収集部
１１２  トピック抽出部
１１３  共起度算出部
１１４  概念距離算出部
１１５  競合度、相関度算出部
１１６  クラスタリング部
１１７  情報提供部
【図１】
0005341366.tif 000002
【図２】
0005341366.tif 000003
【図３】
0005341366.tif 000004
【図４】
0005341366.tif 000005
【図５】
0005341366.tif 000006
【図６−１】
0005341366.tif 000007
【図６−２】
0005341366.tif 000008
【図７】
0005341366.tif 000009
【図８】
0005341366.tif 000010
【図９】
0005341366.tif 000011
【図１０−１】
0005341366.tif 000012
【図１０−２】
0005341366.tif 000013
【図１０−３】
0005341366.tif 000014
【図１０−４】
0005341366.tif 000015
【図１０−５】
0005341366.tif 000016
【図１０−６】
0005341366.tif 000017
【図１０−７】
0005341366.tif 000018