(57)【要約】【課題】事象間の正しい因果関係を保ちつつ、複数の事象をクラスタリングすることによって、因果関係ネットワークを分かりやすく要約させる。【解決手段】自然言語で記述された文書である自然言語文から抽出された互いに異なる複数の事象間の因果関係に対して、事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群がクラスタ対象選択部２０２にてクラスタリングの対象として選択され、クラスタリング対象の事象全てで共通の因果関係のみが統合されるデータ構造を持つ因果関係グラフが因果関係記憶部１０４に格納され、因果関係グラフの構造の複雑さがクラスタリングスコアとして数値化され、クラスタリングスコアが最小となるようにクラスタ対象選択部２０２によって選択された事象群が事象クラスタ評価部２０３にてクラスタリングされる。【選択図】図１
2008203964.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる複数の事象間の因果関係を示す因果関係グラフの構造の複雑さをクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように複数の前記事象をクラスタリングする因果関係分析装置。
【請求項２】
請求項１に記載の因果関係分析装置において、
前記クラスタリングスコアを、接点ノード数とエッジ数とノード内エッジ数とに基づいて計算することを特徴とする因果関係分析装置。
【請求項３】
互いに異なる複数の事象において、一部の事象だけに特定の因果関係を統合せずに、全ての事象で共通の因果関係のみを統合するデータ構造を持つ因果関係分析装置。
【請求項４】
自然言語で記述された文書である自然言語文から互いに異なる複数の事象間の因果関係を抽出する因果関係分析装置であって、
前記抽出された因果関係に対して、前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択するクラスタ対象選択部と、
前記クラスタリング対象の事象群の一部の事象だけに特定の因果関係を統合せずに、全ての事象で共通の因果関係のみを統合するデータ構造を持つ因果関係グラフを格納する因果関係記憶部と、
前記因果関係を示す因果関係グラフの構造の複雑さをクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように前記クラスタ対象選択部によって選択された事象群をクラスタリングする事象クラスタ評価部とを有する因果関係分析装置。
【請求項５】
請求項４に記載の因果関係分析装置において、
前記文書データを格納した文書群記憶部と、
前記事象の表現パタンを、単語属性の組み合わせパタンとして記憶した事象パタン記憶部と、
互いに異なる複数の事象間に因果関係があるか否かを特徴付ける接続表現と該接続表現よって決定される因果関係とを記憶した接続関係記憶部と、
前記文書を形態素解析し、前記表現パタンと接続表現とを使って因果関係を抽出する因果関係抽出部とを有し、
前記クラスタ対象選択部は、前記因果関係抽出部によって抽出された因果関係に対して、因果表現を構成する単語の一部が共通でかつ、共通の原因または結果事象を持つ事象群をクラスタリング対象として選択することを特徴とする因果関係分析装置。
【請求項６】
請求項５に記載の因果関係分析装置において、
前記因果関係記憶部から対応する因果関係グラフを検索し、検索された因果関係グラフを再帰的にたどりながら事象推移を予測する事象推移予測部を有することを特徴とする因果関係分析装置。
【請求項７】
請求項６に記載の因果関係分析装置において、
利用者が注目したい事象と注目する周期とを格納しておく注目事象記憶部と、
前記事象推移予測部にて予測された事象推移の予測結果を記憶する予測結果記憶部と、
前記注目事象記憶部に格納された周期にあわせて注目事象に関する事象推移予測を実行し、前回の予測結果と比較して相違点をアラートするアラート生成部とを有することを特徴とする因果関係分析装置。
【請求項８】
自然言語で記述された文書である自然言語文から互いに異なる複数の事象間の因果関係を抽出する因果関係分析方法であって、
前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択し、前記因果関係を示す因果関係グラフの構造の複雑さを数値化したクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように前記複数の事象をクラスタリングする事象クラスタ生成処理を有する因果関係分析方法。
【請求項９】
請求項８に記載の因果関係分析方法において、
前記自然言語文から形態素列、表層文字列または品詞列を元に事象を抽出し、互いに異なる複数の事象間に因果関係があるか否かを特徴付ける接続表現によって前記因果関係を決定する因果関係抽出処理と、
前記因果関係グラフを再帰的にたどりながら事象推移を予測する事象推移予測処理とを有することを特徴とする因果関係分析方法。
【請求項１０】
請求項８または請求項９に記載の因果関係分析方法において、
前記事象クラスタ処理は、
全ての事象について、前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択するステップと、
前記クラスタリングの対象となった事象群の中で、前記事象を表現する事象表現の修飾語の全ての組み合わせについて頻出パタンを数え上げし、該頻出パタンをクラスタリング戦略として列挙するステップと、
前記列挙された各クラスタリング戦略を適用した場合の、前記因果関係グラフの構造の複雑さを計算するステップと、
前記因果関係グラフの構造が最も単純になるクラスタリング戦略を採用して因果関係のグラフ構造を更新するステップとを有することを特徴とする因果関係分析方法。
【請求項１１】
請求項９に記載の因果関係分析方法において、
前記事象推移予測処理は、
検索条件として入力された自然言語文を形態素分割して事象に変換するステップと、
検索条件から変換された事象に該当する事象を前記因果関係グラフの中から検索するステップと、
前記検索された事象から、クラスタ全体に共通の因果関係と一部の事象だけに特定の因果関係とを区別して、再帰的に因果関係にある事象を列挙するステップと、
列挙された事象の推移スコアを前記事象間においてエッジに設定された出現頻度の合計と予め設定された前記事象間の推移コストと結果事象の次数とに基づいて求め、前記推移スコアの高い順にソートして表示するステップとを有することを特徴とする因果関係分析方法。
【請求項１２】
自然言語で記述された文書である自然言語文から事象間の因果関係を抽出する因果関係分析方法であって、
入力画面を通じて指定された、検索条件となる事象を自然言語文と、検索対象となる事象の推移の範囲である次数と、推移予測の方向とに基づいて、因果関係にある原因または結果の推移のリストを、前記事象間においてエッジに設定された出現頻度の合計と予め設定された前記事象間の推移コストと結果事象の次数とに基づいて求められた推移スコアの高い順に並べて表示するステップを有する因果関係分析方法。
【請求項１３】
請求項９に記載の因果関係分析方法において、
予め設定された周期で定期的に注目事象に関する事象推移予測を実行し、前回の予測結果からの変化を検出した場合に利用者に通知するアラート生成処理を有することを特徴とする因果関係分析方法。
【請求項１４】
請求項１３に記載の因果関係分析方法において、
前記アラート生成処理は、
予め利用者から指定された注目事象について、定期的に事象推移予測を行うステップと、
前回の事象推移予測結果と比較することにより、変化を検知するステップと、
変化が検知された場合に、利用者にアラートとして通知するステップと、
事象推移予測結果を保存するステップとを有することを特徴とする因果関係分析方法。
【請求項１５】
自然言語で記述された文書である自然言語文から互いに異なる複数の事象間の因果関係を抽出するプログラムあって、
前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択し、前記因果関係を示す因果関係グラフの構造の複雑さを数値化したクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように前記複数の事象をクラスタリングする手順をコンピュータに実行させるプログラム。
【請求項１６】
請求項１５に記載のプログラムにおいて、
前記自然言語文から形態素列、表層文字列または品詞列を元に事象を抽出し、互いに異なる複数の事象間に因果関係があるか否かを特徴付ける接続表現によって前記因果関係を決定する手順と、
前記因果関係グラフを再帰的にたどりながら事象推移を予測する手順とをコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
請求項１５または請求項１６に記載のプログラムにおいて、
全ての事象について、前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択する手順と、
前記クラスタリングの対象となった事象群の中で、前記事象を表現する事象表現の修飾語の全ての組み合わせについて頻出パタンを数え上げし、該頻出パタンをクラスタリング戦略として列挙する手順と、
前記列挙された各クラスタリング戦略を適用した場合の、前記因果関係グラフの構造の複雑さを計算する手順と、
前記因果関係グラフ構造が最も単純になるクラスタリング戦略を採用して因果関係のグラフ構造を更新する手順とをコンピュータに実行させることを特徴とするプログラム。
【請求項１８】
請求項１６記載のプログラムにおいて、
検索条件として入力された自然言語文を形態素分割して事象に変換する手順と、
検索条件から変換された事象に該当する事象を前記因果関係グラフの中から検索する手順と、
前記検索された事象から、クラスタ全体に共通の因果関係と一部の事象だけに特定の因果関係とを区別して、再帰的に因果関係にある事象を列挙する手順と、
列挙された事象の推移スコアを前記事象間においてエッジに設定された出現頻度の合計と予め設定された前記事象間の推移コストと結果事象の次数とに基づいて求め、前記推移スコアの高い順にソートして表示する手順とをコンピュータに実行させることを特徴とするプログラム。
【請求項１９】
請求項１６に記載のプログラムにおいて、
予め設定された周期で定期的に注目事象に関する事象推移予測を実行し、前回の予測結果からの変化を検出した場合に利用者に通知する手順とコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
請求項１９に記載のプログラムにおいて、
予め利用者から指定された注目事象について、定期的に事象推移予測を行う手順と、
前回の事象推移予測結果と比較することにより、変化を検知する手順と、
変化が検知された場合に、利用者にアラートとして通知する手順と、
事象推移予測結果を保存する手順とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、因果関係分析装置、因果関係分析方法及びプログラムに関し、特に、適切な因果関係を保ったまま、関連する事象をクラスタリングすることができる因果関係分析装置、因果関係分析方法及びプログラムに関する。
【背景技術】
【０００２】
因果関係に関する知識は、人間の持つ知能的な処理をコンピューターに理解させる上で必須であり、質問応答システムや対話システムなど幅広いアプリケーションへの適用の可能性がある。因果知識を扱うシステムの例として、エキスパートシステムが挙げられる。従来のエキスパートシステムでは、専門家の持っている因果関係に関する知識を、知識ベースとしてデータベース化し、それを用いて病気の診断や発電所の故障診断を行ったりすることができる。このデータベース化の作業は、主に人手に頼っており、膨大な労力と時間が必要になるという問題点がある。
【０００３】
これに対して、Ｗｅｂ等に蓄積された大量の電子化文書から因果知識を自動抽出する技術が考えられている（例えば、特許文献１参照。）。
【０００４】
特許文献１に記載された発明によれば、格フレームを用いて自然言語文の入力文書群から事象を抽出し、事象同士に挟まれた接続詞を手がかりに事象間の因果関係を抽出することができる。また、抽出された格フレームが表す事象をノード、因果関係をエッジとして因果知識グラフを構築することができる。また、自然言語文を入力として受け付け、入力文に対応する格フレームを因果知識グラフから検索し、検索されたノードとエッジを介して接続される各ノードを列挙することによって、次に起こりうる事象を推定することができる。
【０００５】
このように、自然言語文から因果知識を自動抽出する際には、事象を表現する言葉の揺らぎをうまくまとめる必要がある。特許文献1の発明では、格フレームにおける単語のまとめ方を事前にユーザーが決めることによって、「私は大学病院に行く」という表現を「（主体）が（場所）に行く」「（主体）が（病院）に行く」あるいは「（主体）が（教育機関）に行く」のように、任意の抽象度で整理することができる。
【０００６】
また、因果関係を表現する対象システムを限定することによって、事象間の階層関係を吸収する技術が考えられている（例えば、特許文献２参照。）。
【０００７】
特許文献２に記載された発明によれば、予めそのシステムの構成要素の階層関係を人手で構築しておくことによって、同一とみなすべき事象をまとめることができる。例えば、自動車の構成部品を「燃料系統」と「電気系統」に分け、さらに「電気系統」の構成要素として「ヘッドライト」「車幅ランプ」という包含関係を事前に階層構造として与えておく。このとき、「ヘッドライトの破損」と「車幅ランプの減灯」はいずれも「電気系統の故障」であるとまとめることができる。
【０００８】
また、自然言語文の表現のゆらぎを吸収しながらテキスト集合から特徴的な表現を抽出する技術が考えられている（例えば、非特許文献１参照。）。
【０００９】
非特許文献１に記載された技術によれば、自然言語文を構文解析した結果の構文木を無順序木と見なし、頻出する木構造を数え上げることによって、「メールを社外に送る」「社外にメールを送る」「社外に送ったメール」のような表現のゆらぎを同一とみなして頻出パタンを抽出することができる。
【特許文献１】特開平１１−２５００８５号公報
【特許文献２】特開２００４−１２６６４１号公報
【非特許文献１】森永聡、有村博紀、池田崇博、坂尾要祐、赤峯享："部分順序木枚挙を利用した特徴無順序木/自由木構造抽出"、第７回情報論敵学習理論ワークショップ（ＩＢＩＳ２００４）予稿集,ｐｐ１０６−１１１，２００４
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述したような従来の技術においては以下に示す問題点がある。
【００１１】
第１の問題点は、自然言語文から自動抽出した事象の表現のゆらぎを吸収して抽象化する際に、利用者が適切な事象のまとめ方を事前に決定することが困難であるということである。例えば、特許文献1の発明では、「私は大学病院に行く」という表現の抽象化の方法として、「（主体）が（場所）に行く」「（主体）が（病院）に行く」、あるいは「（主体）が（教育機関）に行く」のいずれを選択するのが適切であるかは自明ではない。例えば、「私は怪我をした」の結果事象として「私は大学病院に行く」が存在する場合、「（主体）が（病院）に行く」と抽象化することは差し支えないが、「（主体）が（教育機関）に行く」と抽象化してしまうと、不適切な因果関係になってしまう。このように、適切な抽象化の方法は前後の因果関係によって変わってくるが、特許文献1の発明では、抽象化の良し悪しを決定する基準がない。
【００１２】
第２の問題点は、表現の異なる事象を抽象化してまとめることによって元々接続関係にない事象同士がつながり、不適切な推論を行ってしまう可能性があることである。例えば、特許文献１に記載された発明では、「私は大学病院に行く」と「私は遊園地に行く」を両方とも「（主体）が（場所）に行く」と抽象化して一つのノードにすることができる。しかし、この抽象化によって「私は怪我をした」という病院に行く原因となる事象と「私はジェットコースターに乗る」という遊園地に行った結果となる事象が、「（主体）が（場所）に行く」という事象を介してつながってしまう可能性がある。このような状態で事象の推移を推論すると、「（主体）が怪我をした⇒（主体）が（場所）に行く⇒（主体）はジェットコースターに乗る」のような、不適切な事象の推移を導き出してしまう可能性がある。これは、特許文献１に記載された発明には、どの事象同士が抽象化可能であるかを判断する手段が存在せず、まったく関係の無い事象同士をも抽象化してまとめてしまう可能性があるからである。また、正しい因果関係を保持したまま事象を抽象化できるデータ構造、および、部分的に抽象化されたデータ構造を使って事象推移を推論する手段がないことも原因である。
【００１３】
これら第１及び第２の問題点に対して、適切な抽象度によるクラスタリングを行うために、特許文献２に記載されているような、構成要素間の階層関係の知識を予め人手で構築するアプローチでは、特定ドメインに限定された因果関係しか扱うことができない問題がある。その理由は、階層関係の知識の構築には人手による作業コストが膨大になるため、予め対象とするドメインを限定しなければならないからである。
【００１４】
また、構成要素間の階層知識を人手で構築する代わりに、非特許文献１に示される技術を応用して、頻出パタンを基準にノードのクラスタリングを行ったとしても、第２の問題点と同様、不適切な推論の問題が生ずることになる。例えば、「液晶テレビの販売台数が増加」「洗濯機の販売台数が増加」「エアコンの販売台数が増加」という３つの異なる事象があった場合に、頻出パタンである「販売台数が増加」という表現を基準にクラスタ化し、１つの事象にまとめたとする。このとき、「ワールドカップが開催された」という事象は、「液晶テレビの販売台数が上昇」という事象に独自の原因事象であるが、クラスタ化された事象「販売台数が増加」と関係づけてしまうと、「ワールドカップが開催される⇒洗濯機の販売台数が増加」といった不適切な推論がなされてしまう。その理由は、第２の問題点の理由と同じである。
【００１５】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、予め事象間の階層関係が与えられていなくても、正しい因果関係を保ちつつ、複数の事象をクラスタリングすることによって、因果関係ネットワークを分かりやすく要約させることができる因果関係分析装置、因果関係分析方法及びプログラムを提供する目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために本発明は、
因果関係分析装置であって、互いに異なる複数の事象間の因果関係を示す因果関係グラフの構造の複雑さをクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように複数の前記事象をクラスタリングする。
【００１７】
また、前記クラスタリングスコアを、接点ノード数とエッジ数とノード内エッジ数とに基づいて計算することを特徴とする。
【００１８】
また、互いに異なる複数の事象において、一部の事象だけに特定の因果関係を統合せずに、全ての事象で共通の因果関係のみを統合するデータ構造を持つ。
【００１９】
また、自然言語で記述された文書である自然言語文から互いに異なる複数の事象間の因果関係を抽出する因果関係分析装置であって、
前記抽出された因果関係に対して、前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択するクラスタ対象選択部と、
前記クラスタリング対象の事象群の一部の事象だけに特定の因果関係を統合せずに、全ての事象で共通の因果関係のみを統合するデータ構造を持つ因果関係グラフを格納する因果関係記憶部と、
前記因果関係を示す因果関係グラフの構造の複雑さをクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように前記クラスタ対象選択部によって選択された事象群をクラスタリングする事象クラスタ評価部とを有する。
【００２０】
また、前記文書データを格納した文書群記憶部と、
前記事象の表現パタンを、単語属性の組み合わせパタンとして記憶した事象パタン記憶部と、
互いに異なる複数の事象間に因果関係があるか否かを特徴付ける接続表現と該接続表現よって決定される因果関係とを記憶した接続関係記憶部と、
前記文書を形態素解析し、前記表現パタンと接続表現とを使って因果関係を抽出する因果関係抽出部とを有し、
前記クラスタ対象選択部は、前記因果関係抽出部によって抽出された因果関係に対して、因果表現を構成する単語の一部が共通でかつ、共通の原因または結果事象を持つ事象群をクラスタリング対象として選択することを特徴とする。
【００２１】
また、前記因果関係記憶部から対応する因果関係グラフを検索し、検索された因果関係グラフを再帰的にたどりながら事象推移を予測する事象推移予測部を有することを特徴とする。
【００２２】
また、利用者が注目したい事象と注目する周期とを格納しておく注目事象記憶部と、
前記事象推移予測部にて予測された事象推移の予測結果を記憶する予測結果記憶部と、
前記注目事象記憶部に格納された周期にあわせて注目事象に関する事象推移予測を実行し、前回の予測結果と比較して相違点をアラートするアラート生成部とを有することを特徴とする。
【００２３】
また、自然言語で記述された文書である自然言語文から互いに異なる複数の事象間の因果関係を抽出する因果関係分析方法であって、
前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択し、前記因果関係を示す因果関係グラフの構造の複雑さを数値化したクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように前記複数の事象をクラスタリングする事象クラスタ生成処理を有する。
【００２４】
また、前記自然言語文から形態素列、表層文字列または品詞列を元に事象を抽出し、互いに異なる複数の事象間に因果関係があるか否かを特徴付ける接続表現によって前記因果関係を決定する因果関係抽出処理と、
前記因果関係グラフを再帰的にたどりながら事象推移を予測する事象推移予測処理とを有することを特徴とする。
【００２５】
また、前記事象クラスタ処理は、
全ての事象について、前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択するステップと、
前記クラスタリングの対象となった事象群の中で、前記事象を表現する事象表現の修飾語の全ての組み合わせについて頻出パタンを数え上げし、該頻出パタンをクラスタリング戦略として列挙するステップと、
前記列挙された各クラスタリング戦略を適用した場合の、前記因果関係グラフの構造の複雑さを計算するステップと、
前記因果関係グラフの構造が最も単純になるクラスタリング戦略を採用して因果関係のグラフ構造を更新するステップとを有することを特徴とする。
【００２６】
また、前記事象推移予測処理は、
検索条件として入力された自然言語文を形態素分割して事象に変換するステップと、
検索条件から変換された事象に該当する事象を前記因果関係グラフの中から検索するステップと、
前記検索された事象から、クラスタ全体に共通の因果関係と一部の事象だけに特定の因果関係とを区別して、再帰的に因果関係にある事象を列挙するステップと、
列挙された事象の推移スコアを前記事象間においてエッジに設定された出現頻度の合計と予め設定された前記事象間の推移コストと結果事象の次数とに基づいて求め、前記推移スコアの高い順にソートして表示するステップとを有することを特徴とする。
【００２７】
また、自然言語で記述された文書である自然言語文から事象間の因果関係を抽出する因果関係分析方法であって、
入力画面を通じて指定された、検索条件となる事象を自然言語文と、検索対象となる事象の推移の範囲である次数と、推移予測の方向とに基づいて、因果関係にある原因または結果の推移のリストを、前記事象間においてエッジに設定された出現頻度の合計と予め設定された前記事象間の推移コストと結果事象の次数とに基づいて求められた推移スコアの高い順に並べて表示するステップを有する。
【００２８】
また、予め設定された周期で定期的に注目事象に関する事象推移予測を実行し、前回の予測結果からの変化を検出した場合に利用者に通知するアラート生成処理を有することを特徴とする。
【００２９】
また、前記アラート生成処理は、
予め利用者から指定された注目事象について、定期的に事象推移予測を行うステップと、
前回の事象推移予測結果と比較することにより、変化を検知するステップと、
変化が検知された場合に、利用者にアラートとして通知するステップと、
事象推移予測結果を保存するステップとを有することを特徴とする。
【００３０】
また、自然言語で記述された文書である自然言語文から互いに異なる複数の事象間の因果関係を抽出するプログラムあって、
前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択し、前記因果関係を示す因果関係グラフの構造の複雑さを数値化したクラスタリングスコアとして数値化し、前記クラスタリングスコアが最小となるように前記複数の事象をクラスタリングする手順をコンピュータに実行させる。
【００３１】
また、前記自然言語文から形態素列、表層文字列または品詞列を元に事象を抽出し、互いに異なる複数の事象間に因果関係があるか否かを特徴付ける接続表現によって前記因果関係を決定する手順と、
前記因果関係グラフを再帰的にたどりながら事象推移を予測する手順とをコンピュータに実行させることを特徴とする。
【００３２】
また、全ての事象について、前記事象を構成する単語の一部が同一でかつ、共通の原因または結果事象を持つ事象群をクラスタリングの対象として選択する手順と、
前記クラスタリングの対象となった事象群の中で、前記事象を表現する事象表現の修飾語の全ての組み合わせについて頻出パタンを数え上げし、該頻出パタンをクラスタリング戦略として列挙する手順と、
前記列挙された各クラスタリング戦略を適用した場合の、前記因果関係グラフの構造の複雑さを計算する手順と、
前記因果関係グラフ構造が最も単純になるクラスタリング戦略を採用して因果関係のグラフ構造を更新する手順とをコンピュータに実行させることを特徴とする。
【００３３】
また、検索条件として入力された自然言語文を形態素分割して事象に変換する手順と、
検索条件から変換された事象に該当する事象を前記因果関係グラフの中から検索する手順と、
前記検索された事象から、クラスタ全体に共通の因果関係と一部の事象だけに特定の因果関係とを区別して、再帰的に因果関係にある事象を列挙する手順と、
列挙された事象の推移スコアを前記事象間においてエッジに設定された出現頻度の合計と予め設定された前記事象間の推移コストと結果事象の次数とに基づいて求め、前記推移スコアの高い順にソートして表示する手順とをコンピュータに実行させることを特徴とする。
【００３４】
また、予め設定された周期で定期的に注目事象に関する事象推移予測を実行し、前回の予測結果からの変化を検出した場合に利用者に通知する手順とコンピュータに実行させることを特徴とする。
【００３５】
また、予め利用者から指定された注目事象について、定期的に事象推移予測を行う手順と、
前回の事象推移予測結果と比較することにより、変化を検知する手順と、
変化が検知された場合に、利用者にアラートとして通知する手順と、
事象推移予測結果を保存する手順とをコンピュータに実行させることを特徴とする。
【００３６】
上記のように構成された本発明においては、互いに異なる複数の事象間の因果関係を示す因果関係グラフの構造の複雑さがクラスタリングスコアとして数値化され、数値化されたクラスタリングスコアが最小となるように複数の事象がクラスタリングされる。
【００３７】
このため、簡潔な形の因果関係グラフに要約可能なクラスタリング方法を自動的に選択することができる。
【発明の効果】
【００３８】
以上説明したように本発明においては、互いに異なる複数の事象間の因果関係を示す因果関係グラフの構造の複雑さをクラスタリングスコアとして数値化し、数値化されたクラスタリングスコアが最小となるように複数の事象をクラスタリングする構成としたため、予め事象間の階層関係が与えられていなくても、正しい因果関係を保ちつつ、複数の事象をクラスタリングすることによって、因果関係ネットワークを分かりやすく要約させることができる。
【発明を実施するための最良の形態】
【００３９】
以下に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
（第１の実施の形態）
図１は、本発明の因果関係分析装置の第１の実施の形態を示す図である。
【００４０】
本形態は図１に示すように、因果関係分析装置１と、キーボード等の入力部３０１と、ディスプレイ装置や印刷装置等の出力部４０１とを含む。なお、入力部３０１及び出力部４０１は、因果関係分析装置１の外部にケーブル等で接続されたものであっても良い。
【００４１】
因果関係分析装置１は、さらに、情報を記憶する文書群記憶部１０１と、事象パタン記憶部１０２と、接続関係記憶部１０３と、因果関係記憶部１０４と、プログラム制御により動作する因果関係抽出部２０１と、クラスタ対象選択部２０２と、事象クラスタ評価部２０３と、事象推移予測部２０４とを含む。
【００４２】
文書群記憶部１０１には、新聞記事や各種報告書、またはＷｅｂページなどに記述されている自然言語文の集合など、電子化された文書データが格納されている。
【００４３】
図２は、図１に示した文書群記憶部１０１に記憶された文書データの一例を示す図である。
【００４４】
図１に示した文書群記憶部１０１には図２に示すように、文書を識別するための文書識別情報である文書ＩＤと自然言語で記述された文書とが対応付けられて文書データとして記憶されている。なお、文書データは、記事単位で１件の文書として登録する他にも、文単位で１件の文書として登録するなどの方法が考えられ、本実施の形態に示す方法に限定されない。また、文書データには、自然言語文以外にも、作者や日付のようなメタ情報が付与されていてもよく本実施の形態に示す方法に限定されない。また、文書記憶部１０１に記憶される文書データは静的でなくてもよく、データストリームのように、常に動的に追加・削除などの更新が行われていてもよく、本実施の形態に示す方法に限定されない。
【００４５】
事象パタン記憶部１０２には、どのような単語属性の組み合わせが事象表現を構成するかがルールとして記憶されている。ここで、事象とは、主語Ｓと、述語Ｖと、修飾語集合Ｍ＝[ｍ１， ｍ２， ．．．]との組み合わせで表現できるものとする。また、単語属性とは、表層文字列である表記、動詞や形容詞の活用の原形、品詞、読み（ふりがな、仮名表記）、同義表現や送り仮名、ひらがなカタカナ表記の違いを吸収した代表表記、「地名」や「色名」などの意味分類などを含む。
【００４６】
図３は、図１に示した事象パタン記憶部１０２に記憶された事象パタンの一例を示す図である。
【００４７】
図３における「｜」「？」「＋」「＊」「（）」などの演算子の意味は、一般的な正規表現演算子の意味と同じである。また、単語属性は「［（属性）：（値）］」として指定する。また、「＝」は右辺のグループにマッチした文字列を左辺の変数に代入するが、「＃」の右側のカッコ「（）」で囲まれた文字列は変数に代入しないことを意味する。例えば、「国内のタクシーの交通量が増加した」という文字列を形態素解析すると「国内／名詞  の／助詞  タクシー／名詞  の／助詞  交通／名詞  量／名詞  が／助詞  増加／サ変名詞  し／動詞  た／助動詞」となるが、これは図３の事象パタンＰ００１「Ｍ＝（［品詞：名詞］＃（［表記：の］|［表記：における］）？）＊Ｓ＝(［品詞：名詞］＋)［表記：が］Ｖ＝（［品詞：サ変名詞］|［品詞：動詞］）」にマッチし、「Ｍ＝｛国内、タクシー｝、Ｓ＝交通量、Ｖ＝増加」という事象が抽出されることになる。尚、一つの事象を構成する主語Ｓ、述語Ｖ、および修飾語集合Ｍは必ずしも全て必須というわけではなく、一部が空文字列であってもかまわない。また、本実施の形態では、入力文書が日本語による例について説明するが、入力文書が他の言語で記述されていてもよく、本実施の形態に述べる方法に限定されない。
【００４８】
接続関係記憶部１０３には、互いに異なる２つの事象間に因果関係があるか否かを特徴付ける接続表現と、原因・結果の順序関係（因果関係）とが記憶されている。
【００４９】
図４は、図１に示した接続関係記憶部１０３に格納されているデータの一例を示す図である。
【００５０】
図４に示すように、図１に示した接続関係記憶部１０３から、「に伴い」という接続表現では前件が原因、後件が結果の因果関係であることが分かる。一方、「その原因は」という接続表現では前件が結果、後件が原因の因果関係となることが分かる。
【００５１】
因果関係記憶部１０４には、文書記憶部１０１に格納された文書内で出現した因果関係とその出現頻度が因果関係グラフとして格納される。
【００５２】
図５は、図１に示した因果関係記憶部１０４に格納されている因果関係グラフの一例を示す図である。
【００５３】
図５では、事象をノードとし、事象間の因果関係がエッジとして表現されている。エッジには、同一の因果関係が何回出現したかの頻度情報が付与されている。図５を見ると、事象Ｅ１０１「ワールドカップが開催された」結果、事象Ｅ１０３「液晶テレビの販売台数が増加した」ことが文書データ中に１２回出現していたことが分かる。
【００５４】
因果関係抽出部２０１は、文書記憶部１０１に登録されている文書データを１件ずつ読み出し、事象パタン記憶部１０２に登録されているルールと、事象関係記憶部１０３に登録されている接続表現を元に因果関係を抽出し、その結果を因果関係記憶部１０４に記憶する。
【００５５】
クラスタ対象選択部２０２は、因果関係記憶部１０４に登録されている各事象について、事象を構成している主語Ｓ及び述語Ｖが同一で、かつ、共通の原因または結果事象を持つ事象群を、クラスタ化の対象とすべきノード群として選択する。選択の基準として主語Ｓ及び述語Ｖだけでなく、共通の原因または結果事象を持つという条件を考慮するのは、クラスタリングによって因果関係のエッジを統合でき、グラフ構造が単純になる可能性が高い事象群に絞ってクラスタリングの検討を行うことができるからである。
【００５６】
事象クラスタ評価部２０３は、クラスタ対象選択部２０２によって限定された事象群におけるキーワードの頻出パタンに基づいてクラスタリング戦略を列挙し、因果関係を保ったままクラスタ化を行った場合に、どの程度因果関係のグラフ構造が単純化されるかをクラスタリングスコアとして計算して比較し、最も単純化が可能なクラスタリング戦略を実行し、因果関係記憶部１０４のデータを更新する。
【００５７】
なお、因果関係分析装置１は、コンピュータとして動作するＣＰＵとメモリと入出力装置（入力部３０１及び出力部４０１）とから構成されたハードウェアと、後述する手順をＣＰＵに実行させるプログラムにより実現される。図１において、文書群記憶部１０１、事象パタン記憶部１０２、接続関係記憶部１０３、及び因果関係記憶部１０４はハードディスクにより実現される。
【００５８】
図６は、図５に示した因果関係グラフをクラスタ化した一例を示す図である。
【００５９】
図６を見ると、３つの事象、Ｅ１０３「Ｍ＝｛液晶テレビ｝、Ｓ＝販売台数、Ｖ＝増加」、Ｅ１０４「Ｍ＝｛洗濯機｝、Ｓ＝販売台数、Ｖ＝増加」、およびＥ１０５「Ｍ＝｛エアコン｝、Ｓ＝販売台数、Ｖ＝増加」が事象Ｅ１０６「Ｓ＝販売台数、Ｖ＝増加」としてクラスタリングされている。また、図５では事象Ｅ１０２「Ｓ＝価格、Ｖ＝低下」から事象Ｅ１０３とＥ１０４とＥ１０５とにそれぞれ個別に張られていたエッジが、図６では、事象Ｅ１０２から事象Ｅ１０６へのエッジとしてまとめられ、出現頻度が合計されて２２＋１２＋１６＝５０となっている。これにより、「価格が低下」したことを意味する事象Ｅ１０２を原因として、異なる３つの事象、Ｅ１０３とＥ１０４とＥ１０５とをまとめて「販売台数が増加する」という意味の事象Ｅ１０６を推論することができる。また、図６では、合計されている出現頻度の順序は、クラスタ化される前の事象の順序と一致させている。そのため、事象Ｅ１０２から事象Ｅ１０６内の個別の事象Ｅ１０３、Ｅ１０４、及びＥ１０５への推移が出現した頻度はそれぞれ２２回、１２回、及び１６回であることが分かる。
【００６０】
一方、図６では、事象Ｅ１０１「Ｓ＝ワールドカップ、Ｖ＝開催」からのエッジはクラスタ化された事象Ｅ１０６ではなく、事象Ｅ１０３「Ｍ＝｛液晶テレビ｝、Ｓ＝販売台数、Ｖ＝増加」に張られたままである。そのため、「ワールドカップが開催された」ことを意味する事象Ｅ１０１を原因として、「洗濯機の販売台数が増加する」ことを意味する事象Ｅ１０４や、「エアコンの販売台数が増加する」ことを意味する事象Ｅ１０５を結果とする不適切な推論が行われないような構造になっている。
【００６１】
事象推移予測部２０４は、ユーザーから自然言語文による事象の入力を受け付け、因果関係記憶部１０４の中から対応する事象を検索し、その原因または結果として推移する可能性のある事象の一覧を出力する。
【００６２】
図７は、図１に示した出力部４０１に出力された事象推移予測入力画面Ｃ１０１の一例を示す図である。
【００６３】
図７では、テキスト入力フォームＣ１０２に、入力として「交通量が増加する」という事象が入力されている。また、予測範囲を示す次数制限フォームＣ１０３に２が指定されている。次数とは、事象の推移を予測する際に、入力された事象から何件まで因果関係をたどるかを指定する数である。この画面で、「結果を推測」ボタンＣ１０４が選択された場合は、入力事象を開始点として結果事象の方向に推移を予測する。また、「原因を推測」ボタンＣ１０５が選択された場合は、入力事象を開始点として原因事象の方向にさかのぼって推移を予測する。「結果を推測」ボタンＣ１０４または「原因を推測」ボタンＣ１０５の選択方法については、タッチパネルを押下することにより選択するものであっても良いし、カーソル移動によって選択するものであっても良いし、従来の画面上での選択方法と同様である。
【００６４】
図８は、図１に示した出力部４０１に出力された事象推移予測結果画面Ｃ２０１の一例を示す図である。
【００６５】
図８では、入力された事象「交通量が増加する」から推移する可能性のある結果事象が根拠となる中間ノードとともに示されている。図８を見ると、「交通量が増加する」直接の結果として「二酸化炭素の排出量が増加」「騒音被害が増加」「交通事故が増加」の３つの事象があることが分かる。さらに、「二酸化炭素の排出量が増加」することを根拠として「地球温暖化が加速」する結果に推移する可能性もあることが分かる。
【００６６】
以下に、図１に示した因果関係分析装置１の動作、つまり因果関係分析装置１における因果関係分析方法についてフローチャートを用いて説明する。
【００６７】
なお、本実施の形態における因果関係分析装置１の動作は大きく、因果関係抽出処理と、事象クラスタ生成処理と、事象推移予測処理の３つの処理に分割できる。以下に、説明を簡潔にするために、（１）因果関係抽出処理、（２）事象クラスタ生成処理、（３）事象推移予測処理の順序によって実行されることを想定した説明を行うが、必ずしもこれら３つの処理が全て一括で実行される必要はない。例えば、因果関係抽出処理と事象クラスタ生成処理とを定期的に実行して因果関係記憶部１０４の内容を最新状態に保ちつつ、利用者から要求があった場合のみ事象推移予測処理を実行するといった使い方をすることもできる。あるいは、文書群記憶部１０１の内容に変更があった場合にのみ因果関係抽出処理と事象クラスタ生成処理とを実行して、因果関係記憶部１０４の内容を更新するなどの利用方法も考えられ、本実施の形態に述べる方法に限定されない。
【００６８】
まず、因果関係抽出処理について説明する。
【００６９】
図９は、図１に示した因果関係分析装置１における因果関係抽出処理を説明するためのフローチャートである。
【００７０】
因果関係抽出部２０１は、文書群記憶部１０１から１件ずつ文書を読み出し、形態素解析を用いて文書を形態素に分割する（ステップＳ１０１）。次に、得られた形態素と品詞列に対して、事象パタン記憶部１０２に登録されている事象パタンを適用し、マッチする部分を事象として抽出する（ステップＳ１０２）。さらに、抽出された複数の事象の間に、接続関係記憶部１０３に登録されている接続表現がないかチェックし（ステップＳ１０３）、因果関係があると認められれば因果関係記憶部２０１に原因・結果の関係を保存する（ステップＳ１０４）。この時、同一の原因・結果の関係が因果関係記憶部２０１に登録されていれば、その出現頻度を１増やす。この処理を未処理の文書がなくなるまで繰り返す（ステップＳ１０５）。
【００７１】
なお、ここでは説明を簡潔にするため、因果関係抽出部２０１が文書群記憶部１０１から１件ずつ文書を読み出して処理する場合について述べたが、文書群記憶部１０１を持たずに、因果関係分析装置１に対して文書がデータストリーム状に逐次入力される場合も同様に処理することができ、本実施の形態に述べる方法に限定されない。この場合、データストリームとして文書が到着する度に因果関係記憶部１０４が逐次更新されることになる。
【００７２】
次に、事象クラスタ生成処理について説明する。
【００７３】
図１０は、図１に示した因果関係分析装置１における事象クラスタ生成処理を説明するためのフローチャートである。また、図１１は、図１に示した因果関係記憶部１０４に格納されている因果関係グラフの一例を示す図である。また、図１２〜１６は、図１１に示した因果関係グラフにおけるクラスタリングスコアの計算例を示す図である。これらの図を参照しながら、事象クラスタ生成処理におけるクラスタリングがどのように行われるかを説明する。
【００７４】
クラスタ対象選択部２０２は、因果関係記憶部１０４に登録されている事象の中に、まだクラスタ化を検討していない事象があるかどうかを判断する（ステップＳ２０１）。
【００７５】
因果関係記憶部１０４に登録されている事象の中に、まだクラスタ化を検討していない事象がないと判断された場合、本処理は終了する。
【００７６】
また、因果関係記憶部１０４に登録されている事象の中に、まだクラスタ化を検討していない事象があると判断された場合は、まだクラスタ化を検討していない事象を１つ、ターゲットとしてピックアップする（ステップＳ２０２）。例えば、因果関係記憶部１０４に登録されている事象が図１１に示したようになっており、事象Ｅ２０１をターゲット事象としてピックアップしたとする。
【００７７】
次に、クラスタ対象選択部２０２は、ターゲット事象と共通の原因または結果事象を持ち、かつ、事象を構成している主語Ｓ及び述語Ｖが同一である事象群を、クラスタ化の対象とすべきノード群として選択する（ステップＳ２０３）。事象Ｅ２０１については、同一の原因または結果事象を共有する他の事象はないため、図１０のステップＳ２０１に戻る。
【００７８】
次に、事象Ｅ２０２をターゲット事象とすると、事象Ｅ２０３、事象Ｅ２０４、及び事象Ｅ２０５が同一の事象Ｅ２０１を原因事象として共有しており、主語Ｓ及び述語Ｖがいずれも「Ｓ＝売上、Ｖ＝増加」である。そこで、４つの事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、及び事象Ｅ２０５が、クラスタ化対象事象群として事象クラスタ評価部２０３に入力される（ステップＳ２０３）。
【００７９】
次に、事象クラスタ評価部２０３は、入力されたクラスタ化対象事象群における、修飾語群Ｍの組み合わせを変化させて、キーワードの頻出パタンを数え上げる。さらに、頻出パタンの全ての組み合わせによって、クラスタリング戦略を列挙する（ステップＳ２０４）。図１１に示したデータの場合、修飾語群Ｍが空集合である組み合わせ「Ｓ＝売上、Ｖ＝増加」を含む事象が４つと最も多く、次に、「Ｍ＝｛エアコン｝、Ｓ＝売上、Ｖ＝増加」または「Ｍ＝｛ビール｝、Ｓ＝売上、Ｖ＝増加」を含む事象がそれぞれ２つずつ存在することが分かる。したがって、列挙されるクラスタリング戦略は以下の８通りとなる。
【００８０】
（戦略１）４つの事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、及び事象Ｅ２０５を「Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０８と抽象化してクラスタリングを行う。
【００８１】
（戦略２）２つの事象Ｅ２０２及び事象Ｅ２０３を、「Ｍ＝｛エアコン｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０９と抽象化してクラスタリングを行う。
【００８２】
（戦略３）２つの事象Ｅ２０４及び事象Ｅ２０５を、「Ｍ＝｛ビール｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２１０と抽象化してクラスタリングを行う。
【００８３】
（戦略４）事象Ｅ２０８及び事象Ｅ２０９による抽象化を適用してクラスタリングを行う。
【００８４】
（戦略５）事象Ｅ２０８及び事象Ｅ２１０による抽象化を適用してクラスタリングを行う。
【００８５】
（戦略６）事象Ｅ２０９及び事象Ｅ２１０による抽象化を適用してクラスタリングを行う。
【００８６】
（戦略７）事象Ｅ２０８、事象Ｅ２０９、及び事象Ｅ２１０による抽象化を全て適用してクラスタリングを行う。
【００８７】
（戦略８）事象Ｅ２０８、事象Ｅ２０９、事象Ｅ２１０のいずれも適用しない。
【００８８】
次に、事象クラスタ評価部２０３は、各クラスタリング戦略を適用した場合のグラフ構造の複雑さを、クラスタリングスコアとして計算する（ステップＳ２０５）。この時、クラスタリング化された事象群に対するエッジは次のように更新する。
【００８９】
（更新ルール１）クラスタ化された事象群全てに共通の原因（または結果）となる事象があれば、その原因（または結果）事象からのエッジを１本に統合し、出現頻度を合計する。
【００９０】
（更新ルール２）クラスタ化されたノード群の一部だけに特定の原因（または結果）からのエッジがある場合は、クラスタ化された事象ではなく、クラスタ内の事象に直接リンクさせる。
【００９１】
また、クラスタリングスコアＣＳは、接点ノード数Ｎｎとエッジ数Ｎｅとノード内エッジ数Ｎｓとの３種類の数値を基準にして計算を行う。ここで、接点ノード数とは、因果関係を表すエッジの両端に直接接続されている事象ノードの数である。また、エッジ数とは、因果関係を表すエッジの数である。また、ノード内エッジ数とは、更新ルール２によって、クラスタ内の事象に直接リンクされているエッジの数である。本実施の形態では、クラスタリングスコアＣＳをＮｎ＊Ｎｅ＊(Ｎｓ＋１)として定義する。これは、単純な構造のグラフほどクラスタリングスコアＣＳが小さいことを意味しており、クラスタリングスコアＣＳが最小となるクラスタリング戦略を選択することによって、より単純なグラフ構造に要約することができる。ここで、Ｎｓに１を加算しているのは、クラスタリングを行っていない場合はノード内エッジ数Ｎｓがゼロであるため、クラスタリングスコアＣＳもゼロになってしまわないようにするための補正項である。
【００９２】
クラスタリング戦略１を適用した場合、図１２に示すように、事象Ｅ２０２と事象Ｅ２０３と事象Ｅ２０４と事象Ｅ２０５とが「Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０８としてまとめられている。
【００９３】
さらに、更新ルール１により、図１１では事象Ｅ２０１から事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、及び事象Ｅ２０５に個別に張られていたエッジが、図１２では１本に統合され、出現頻度が合計されて１１＋１３＋１２＋２１＝５７となっている。一方、事象Ｅ２０６へのエッジは事象Ｅ２０８内の全ての事象群が共有しているわけではないので、更新ルール２により、事象Ｅ２０２と事象Ｅ２０３とから直接リンクされている。また、事象Ｅ２０７へのエッジも、同様の理由により、事象Ｅ２０４と事象Ｅ２０５とから直接リンクされている。
【００９４】
図１２では、エッジの両端に位置する事象ノードは、事象Ｅ２０１、事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、事象Ｅ２０５、事象Ｅ２０６、事象Ｅ２０７、及び事象Ｅ２０８の全てであるため、接点ノード数Ｎｎ＝８となる。また、エッジ数Ｎｅ＝５本である。さらに、クラスタ化された事象Ｅ２０８の内部に直接リンクされているノード内エッジ数Ｎｓ＝４本である。したがって、クラスタリングスコアＣＳ＝８＊５＊(４＋１)＝２００となる。
【００９５】
また、クラスタリング戦略２を適用した場合は、図１３に示すように、事象Ｅ２０２と事象Ｅ２０３とが「Ｍ＝｛エアコン｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０９としてまとめられている。
【００９６】
さらに、更新ルール1により、図１１では事象Ｅ２０１から事象Ｅ２０２及び事象Ｅ２０３に個別に張られていたエッジが、図１３では１本に統合され、出現頻度が合計されて１１＋１３＝２４となっている。また、事象Ｅ２０６への２本のエッジも事象Ｅ２０９内の２つの事象が共有しているため、更新ルール１により１本に統合され、出現頻度が合計されて１２＋２３＝３５となっている。
【００９７】
図１３では、事象Ｅ２０２及び事象Ｅ２０３は事象Ｅ２０９の内部に隠蔽できているため、エッジの両端に位置する事象ノードは、事象Ｅ２０１、事象Ｅ２０４、事象Ｅ２０５、事象Ｅ２０６、事象Ｅ２０７、及び事象Ｅ２０９だけであり、接点ノード数Ｎｎ＝６となる。また、エッジ数Ｎｅ＝６本である。さらに、クラスタ化された事象Ｅ２０９の内部に直接リンクされているノード内エッジ数Ｎｓ＝０本である。したがって、クラスタリングスコアＣＳ＝６＊６＊(０＋１)＝３６となる。
【００９８】
また、クラスタリング戦略３を適用した場合のクラスタリングスコアＣＳは、クラスタリング戦略２の場合と同様であり、ＣＳ＝３６となる。
【００９９】
また、クラスタリング戦略４を適用した場合は、図１４に示すように、事象Ｅ２０２と事象Ｅ２０３と事象Ｅ２０４と事象Ｅ２０５とが「Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０８としてまとめられ、事象Ｅ２０８の内部で事象Ｅ２０２と事象Ｅ２０３とが「Ｍ＝｛エアコン｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０９としてまとめられている。
【０１００】
さらに、更新ルール１により、図１１では事象Ｅ２０１から事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、及び事象Ｅ２０５に個別に張られていたエッジが、図１４では１本に統合され、出現頻度が合計されて１１＋１３＋１２＋２１＝５７となっている。また、事象Ｅ２０６への２本のエッジも事象Ｅ２０９内の２つの事象が共有しているため、更新ルール１により１本に統合され、出現頻度が合計されて１２＋２３＝３５となっている。一方、事象Ｅ２０７への２本のエッジは、事象Ｅ２０８に含まれる４事象全てで共有されていないので、更新ルール２により、事象Ｅ２０４とＥ２０５とから直接リンクされている。
【０１０１】
図１４では、エッジの両端に位置する事象ノードは、事象Ｅ２０１、事象Ｅ２０４、事象Ｅ２０５、事象Ｅ２０６、事象Ｅ２０７、事象Ｅ２０８、及び事象Ｅ２０９であり、接点ノード数Ｎｎ＝７となる。また、エッジ数Ｎｅ＝４本である。さらに、クラスタ化された事象Ｅ２０８の内部に直接リンクされているノード内エッジ数Ｎｓ＝３本である。したがって、クラスタリングスコアＣＳ＝７＊４＊(３＋１)＝１１２となる。
【０１０２】
また、クラスタリング戦略５を適用した場合のクラスタリングスコアＣＳは、クラスタリング戦略４の場合と同様であり、ＣＳ＝１１２となる。
【０１０３】
また、クラスタリング戦略６を適用した場合は、図１５に示すように、事象Ｅ２０２と事象Ｅ２０３とが「Ｍ＝｛エアコン｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０９としてまとめられ、事象Ｅ２０４と事象Ｅ２０５とが「Ｍ＝｛ビール｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２１０としてまとめられている。さらに、更新ルール１により、図１１では事象Ｅ２０１から事象Ｅ２０２及び事象Ｅ２０３に個別に張られていたエッジが図１５では１本に統合され、出現頻度が合計されて１１＋１３＝２４となっている。同様に、図１１では事象Ｅ２０１から事象Ｅ２０４及び事象Ｅ２０５に個別に張られていたエッジが図１５では１本に統合され、出現頻度が合計されて１２＋２１＝３３となっている。また、事象Ｅ２０６への２本のエッジも事象Ｅ２０９内の２つの事象が共有しているため、更新ルール１により１本に統合され、出現頻度が合計されて１２＋２３＝３５となっている。また、事象Ｅ２０７への２本のエッジも事象Ｅ２１０内の２つの事象が共有しているため、更新ルール１により１本に統合され、出現頻度が合計されて１４＋１０＝２４となっている。
【０１０４】
図１５では、エッジの両端に位置する事象ノードは、事象Ｅ２０１、事象Ｅ２０６、事象Ｅ２０７、事象Ｅ２０９、及び事象Ｅ２１０のみであり、接点ノード数Ｎｎ＝５となる。また、エッジ数Ｎｅ＝４本である。さらに、クラスタ化された事象Ｅ２０９及び事象Ｅ２１０の内部に直接リンクされているエッジはないため、ノード内エッジ数Ｎｓ＝０本である。したがって、クラスタリングスコアＣＳ＝５＊４＊(０＋１)＝２０となる。
【０１０５】
また、クラスタリング戦略７を適用した場合は、図１６に示すように、事象Ｅ２０２と事象Ｅ２０３とが「Ｍ＝｛エアコン｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０９としてまとめられ、事象Ｅ２０４と事象Ｅ２０５とが「Ｍ＝｛ビール｝、Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２１０としてまとめられ、事象Ｅ２０９と事象Ｅ２０８とが「Ｓ＝売上、Ｖ＝増加」なる事象Ｅ２０８としてまとめられている。さらに、更新ルール１により、図１１では事象Ｅ２０１から事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、及び事象Ｅ２０５に個別に張られていたエッジが図１６では１本に統合され、出現頻度が合計されて１１＋１３＋１２＋２１＝５７となっている。また、事象Ｅ２０６への２本のエッジも事象Ｅ２０９内の２つの事象が共有しているため、更新ルール１により１本に統合され、出現頻度が合計されて１２＋２３＝３５となっている。また、事象Ｅ２０７への２本のエッジも事象Ｅ２１０内の２つの事象が共有しているため、更新ルール１により１本に統合され、出現頻度が合計されて１４＋１０＝２４となっている。
【０１０６】
図１６では、エッジの両端に位置する事象ノードは、事象Ｅ２０１、事象Ｅ２０６、事象Ｅ２０７、事象Ｅ２０８、事象Ｅ２０９、及び事象Ｅ２１０であり、接点ノード数Ｎｎ＝６となる。また、エッジ数Ｎｅ＝３本である。さらに、クラスタ化された事象Ｅ２０８の内部には２本のエッジが直接リンクされているため、ノード内エッジ数Ｎｓ＝２本である。したがって、クラスタリングスコアＣＳ＝６＊３＊(２＋１)＝５４となる。
【０１０７】
クラスタリング戦略８を適用した場合のクラスタリングスコアは、図１１に示したグラフ構造を元に計算できる。エッジの両端に位置する事象ノードは、事象Ｅ２０１、事象Ｅ２０２、事象Ｅ２０３、事象Ｅ２０４、事象Ｅ２０５、事象Ｅ２０６、及び事象Ｅ２０７であり、接点ノード数Ｎｎ＝７となる。また、エッジ数Ｎｅ＝８本である。さらに、ノード内エッジ数Ｎｓ＝０本である。したがって、クラスタリングスコアＣＳ＝７＊８＊(０＋１)＝５６となる。
【０１０８】
以上８通りのクラスタリング戦略を比較すると、図１５に示したクラスタリング戦略６を適用した場合のクラスタリングスコアＣＳが最小値２０をとり、最も単純なグラフ構造に要約できることがわかる。
【０１０９】
次に、事象クラスタ評価部２０３は、因果関係記憶部１０４に格納されている因果関係グラフの構造を、クラスタリングスコアが最小値をとるクラスタリング戦略を適用した場合のグラフ構造に更新する（ステップＳ２０６）。
【０１１０】
上記の処理を繰り返し、まだクラスタ化を検討していない事象がなくなった時点で処理を終了する。図１５では、続けて事象Ｅ２０６と事象Ｅ２０７についても検討するが、原因または結果事象を共有するクラスタ化対象事象が存在しないため、以上で事象クラスタ生成処理を終了する。
【０１１１】
なお、ここでは、クラスタリング戦略を列挙する際の頻出パタンとして、２回以上出現したものを全てクラスタリングに使うものとして説明を行ったが、クラスタリングに用いる頻出パタンの頻度の閾値を予め設定し、クラスタリング戦略を絞る方法も考えられ、本実施の形態に述べた方法に限定されない。
【０１１２】
また、ここでは、クラスタ対象選択部２０２が、ターゲット事象と共通の原因または結果事象を持ち、かつ、事象を構成している主語Ｓ及び述語Ｖが同一である事象群を、クラスタ化の対象とすべきノード群として選択する例について述べたが、主語Ｓ及び述語Ｖの他にも修飾語群Ｍの同一性も考慮してクラスタ化の対象とすべきノード群として選択する方法も考えられ、本実施の形態に述べた方法に限定されない。例えば、主語Ｓと述語Ｖと修飾語群Ｍとをキーワードベクトルとし、キーワードベクトル同士のコサイン類似度を求めることにより、事象表現の類似度が高い事象同士がクラスタ化の対象として選ばれることになる。
【０１１３】
また、ここでは、クラスタリングスコアＣＳを、接点ノード数Ｎｎ、エッジ数Ｎｅ、ノード内エッジ数Ｎｓを使ってＣＳ＝Ｎｎ＊Ｎｅ＊(Ｎｓ＋１)と定義した場合について説明したが、他にも、各パラメータに対する重みα、β、γを使って、ＣＳ＝(Ｎｎ＾α)＊(Ｎｅ＾β)＊[(Ｎｓ＋１)＾γ]として計算する方法も考えられ、本実施の形態に述べた方法に限定されない。この場合、グラフ構造の複雑さの指標として、何を重視するかを指定することができ、例えば、α＝β＝０、γ＝１と指定して計算したとすると、接点ノード数Ｎｎやエッジ数Ｎｅは考慮せず、ノード内エッジ数Ｎｓのみを考慮したクラスタリングを行うことが可能である。また、α＜βとなるような重みを使うことによって、接点ノード数Ｎｎよりもエッジ数Ｎｅの少なさを重要視したクラスタリングを行うことが可能である。また、ノード内エッジ数Ｎｓは単にクラスタ化された事象ノードの内部へのリンクの数として係数したが、クラスタ化が２重３重になされた場合に、クラスタ化事象の内部へ深くリンクされたエッジほど高い重みを付けて加算するなどの方法も考えられ、本実施の形態に述べた方法に限定されない。この場合、１つの事象が何重にも重なったクラスタリング事象の中に入り込んでしまうことを防ぐことができる。
【０１１４】
また、ここでは、全てのクラスタリング戦略を列挙し、それぞれの場合のクラスタリングスコアＣＳ計算し、値が最小となるクラスタリング戦略を選択する場合について説明したが、他にも、クラスタ化によって統合してもよい事象ノードの最大値Ｎｍａｘを予め決めておき、Ｎｍａｘより多くの事象ノードが含まれることになるクラスタリング戦略は予め列挙の対象から除外するなどの方法も考えられ、本実施の形態に述べた方法に限定されない。この場合、非常に抽象度の高いクラスタ化事象が予めクラスタリングスコア計算の対象から除外されることにより、処理の高速化が期待できる。
【０１１５】
また、ここでは、図１１に示した事象Ｅ２０１、事象Ｅ２０２という順序でターゲット事象としてクラスタ化すべきか否かを検討したが、他にもランダムにターゲット事象を選択するなどの方法も考えられ、本実施の形態に述べた方法に限定されない。また、複数の異なる順序を用いて事象クラスタ生成処理を繰り返し行い、その中でクラスタリングスコアＣＳが最小になった因果関係グラフを採用するなどの方法も考えられ、本実施の形態に述べた方法に限定されない。
【０１１６】
次に、事象推移予測処理について説明する。
【０１１７】
図１７は、図１に示した因果関係分析装置１における事象推移予測処理を説明するためのフローチャートである。
【０１１８】
事象推移予測部２０４は、図７に示した事象推移予測入力画面Ｃ１０１を通して、利用者からの検索条件として、事象を表現する自然言語で記述された文書である自然言語文と予測範囲を示す次数制限、および、推移予測の方向を受け付ける。入力された自然言語文は、形態素解析を用いて形態素と品詞列に分割され、事象パタン記憶部１０２に登録されている事象パタンを適用して修飾語集合Ｍと主語Ｓと述語Ｖとからなる事象に変換される（ステップＳ３０１）。
【０１１９】
次に、事象推移予測部２０４は、因果関係記憶部１０４に格納されている事象の中から、修飾語集合Ｍ、主語Ｓ、および述語Ｖが完全一致する事象を検索し、ターゲット事象ＴＥとする。また、このターゲット事象ＴＥの持つ次数ｄを０（ゼロ）に設定する（ステップＳ３０２）。また、カウンタ用の内部変数ｉの値も０（ゼロ）に初期化する（ステップＳ３０３）。
【０１２０】
図１８は、図１に示した因果関係記憶部１０４に格納されている因果関係グラフの一例を示す図である。以後、因果関係記憶部１０４に格納されている因果関係グラフが図１８に示す通りであり、最初のターゲット事象ＴＥが事象Ｅ３０１、次数制限が２、推移予測の方向が結果事象の方向である場合（図７で「結果を推測する」ボタンＣ１０４が選択された場合）を例に挙げて、事象推移予測処理の動作について具体的に詳細に説明する。
【０１２１】
事象推移予測部２０４は、以下の列挙ルールに従ってターゲット事象ＴＥからたどれる結果事象を列挙する。同時に、結果事象の次数をターゲット事象ＴＥの次数ｄに１加算したｄ＋１に設定し、エッジに設定されている出現頻度を元に推移スコアＴＳを計算する（ステップＳ３０４）。
【０１２２】
（列挙ルール１）ターゲット事象ＴＥを接点として、エッジで繋がっている結果事象を全て列挙する。
【０１２３】
（列挙ルール２）ターゲット事象ＴＥに含まれる内部事象を接点として、エッジで繋がっている結果事象を全て列挙する。
【０１２４】
（列挙ルール３）ターゲット事象ＴＥが含まれる外部事象を接点として、エッジで繋がっている結果事象を全て列挙する。
【０１２５】
推移スコアＴＳは、次数０の事象から結果事象までのエッジに設定された出現頻度の合計Ｆｔ、事象間の推移コストＴｃ、および、結果事象の次数ｄを使って、ＴＳ＝Ｆｔ／(Ｔｃ＾ｄ)として求める。ただし、次数０の事象から結果事象までのパスが複数存在する場合は、各パスにおける出現頻度の合計の最大値をＦｔとして用いることとする。推移コストＴｃは、結果事象の次数が高くなるほど、推移スコアＴＳが少なくなるようにするための重みであり、１より十分大きな値であれば良い。以下の例では、推移コストＴｃ＝１０として推移スコアを計算する場合について述べる。
【０１２６】
最初のターゲット事象ＴＥが図１８の事象Ｅ３０１である場合、列挙ルール１に該当する結果事象は事象Ｅ３０４及び事象Ｅ３０６となり、これら２つの事象の次数を０＋１＝１に設定する。また、事象Ｅ３０１から事象Ｅ３０４に推移する時の推移スコアは、３０／１０＝３であり、また、事象Ｅ３０１から事象Ｅ３０６に推移する時の推移スコアは、１５／１０＝１．５であると計算できる。また、ここでは、列挙ルール２および３に該当する結果事象は存在しない。
【０１２７】
ここで、クラスタリング前には事象Ｅ３０１から直接エッジが繋がっていたはずの事象Ｅ３０２及び事象Ｅ３０３は、図１８では列挙ルール１にも２にも該当しないため、結果事象として列挙されない点に注意する。その代わりに、これら２つの事象をクラスタリングした事象Ｅ３０４が列挙されている。これにより、事象Ｅ３０１からの事象推移を、個別の事象ではなく、事象Ｅ３０４として要約して解釈することができる。
【０１２８】
次に、次数ｄ＝ｉである事象全てについて、その結果事象が全て列挙されているかどうかを判断し（ステップＳ３０５）、その結果事象が全て列挙されていれば、カウンタ用の内部変数ｉの値を１加算する（ステップＳ３０６）。さらに、内部変数ｉの値が入力された次数制限以下であるかどうかを判断し（ステップＳ３０７）、内部変数ｉの値が入力された次数制限以下であれば、次数ｄ＝ｉである事象を次のターゲット事象ＴＥとして（ステップＳ３０８）、結果事象の列挙を行う（ステップＳ３０４）。
【０１２９】
図１８の例では、次数０であるのは事象Ｅ３０１だけであるため、内部変数ｉの値が１加算されて０から１になる。これは、制限次数の２よりも小さいので、次に、次数ｄ＝１の事象をターゲット事象ＴＥとする。次数ｄ＝１の事象には、事象Ｅ３０４及び事象Ｅ３０６がある。
【０１３０】
事象Ｅ３０４をターゲット事象ＴＥとすると、列挙ルール１には事象Ｅ３０９が、また、列挙ルール２には事象Ｅ３０８が該当するため、これら２つの事象の次数が１＋１＝２に設定される。また、次数０の事象Ｅ３０１から事象Ｅ３０９へのパスは、「事象Ｅ３０１→事象Ｅ３０４→事象Ｅ３０９」となるため、この場合の推移スコアは(３０＋５０)／(１０＾２)＝０．８となる。さらに、次数０の事象Ｅ３０１から事象Ｅ３０８へのパスは、「事象Ｅ３０１→事象Ｅ３０２→事象Ｅ３０８」となるため、この場合の推移スコアは(１０＋１７)／(１０＾２)＝０．２７となる。また、ここでは、列挙ルール3に該当する結果事象は存在しない。
【０１３１】
ここで、事象Ｅ３０１から事象Ｅ３０８へのパスが「事象Ｅ３０１→事象Ｅ３０４→事象Ｅ３０８」とはならないことに注意する。これは、事象Ｅ３０８に繋がっているエッジは、事象Ｅ３０４からではなく、その内部ノードである事象Ｅ３０２のみからリンクされているからである。そのため、正しいパスは「事象Ｅ３０１→事象Ｅ３０２→事象Ｅ３０８」となり、事象Ｅ３０１と事象Ｅ３０２との因果関係の頻度が１０であることから、推移スコアが(１０＋１７)／(１０＾２)＝０．２７となる。
【０１３２】
再び、次数ｄ＝ｉである事象全てについて、その結果事象が列挙されたか否かのチェックが行われるが（ステップＳ３０５）、次数ｄ＝１の事象Ｅ３０６の結果事象の列挙が終わっていないため、ターゲット事象ＴＥを事象Ｅ３０６として、図１７のステップＳ３０４に戻る。
【０１３３】
事象Ｅ３０６をターゲット事象ＴＥとすると、事象Ｅ３１０が列挙ルール３に該当するため、その次数が１＋１＝２に設定される。また、次数０の事象Ｅ３０１から事象Ｅ３１０へのパスは、「事象Ｅ３０１→事象Ｅ３０６→事象Ｅ３１０」となるため、この場合の推移スコアは(１５＋１４)／(１０＾２)＝０．２９となる。また、ここでは、列挙ルール１および２に該当する結果事象は存在しない。
【０１３４】
ここで、事象Ｅ３１１は事象Ｅ３０６の結果事象とならないことに注意する。事象Ｅ３０６と事象Ｅ３０７とを抽象化した事象Ｅ３０５が存在するが、事象Ｅ３１１は事象Ｅ３０７とのみ接続しているからである。このように、事象Ｅ３０６と事象Ｅ３０７とがクラスタ化されていても、事象Ｅ３０５を介して元々接続関係のない事象Ｅ３０１と事象Ｅ３１１とが結びついてしまうのを防ぎ、不適切な推論が起こらないようにすることができる。
【０１３５】
再び、次数ｄ＝ｉである事象全てについて、その結果事象が列挙されたか否かのチェックが行われ（ステップＳ３０５）、次数ｄ＝１である結果事象は全て列挙されたため、図１７のステップＳ３０６でカウンタ用の内部変数ｉの値が、１加算されて２となる。これは、制限次数の２と等しくなるため、これまで列挙していた全ての結果事象を、推移スコアの高い順にソートする（ステップＳ３０９）。図１８に示す因果関係グラフの場合、事象Ｅ３０１からの因果関係の推移を、推移スコアの高い順にソートした結果は図１８の下表のようになる。最終結果は、図８に示す事象推移予測結果画面Ｃ２０１の、事象推移リストＣ２０２として出力される。この時、事象推移予測部２０４は、修飾語集合Ｍと主語Ｓと述語Ｖとからなる事象表現を、修飾語集合Ｍの要素を格助詞「の」で接続し、主語Ｓの後ろに格助詞「が」を接続し、さらに述語Ｖを接続させることによって、人間が解釈しやすい自然言語文に整形して出力する。例えば、「Ｍ＝｛二酸化炭素｝、Ｓ＝排出量、Ｖ＝増加」という事象表現は、「二酸化炭素の排出量が増加」に変換することができる。図８の事象推移リストＣ２０２では、事象「Ｓ＝交通量、Ｖ＝増加」から事象「Ｍ＝｛二酸化炭素｝、Ｓ＝排出量、Ｖ＝増加」への推移が、「二酸化炭素の排出量が増加」「↑交通量の増加」と自然言語文に整形されて表示されており、同時に事象「二酸化炭素の排出量が増加」の次数と推移スコアがそれぞれ１と３．０であることが表示されている。
【０１３６】
なお、ここでは、結果事象の方向への推移を予測する例について説明を行ったが、上記の説明文中の「結果事象」を「原因事象」に読み替えることによって、原因事象の方向への推移の予測も同様に行うことができる。
【０１３７】
次に、本実施の形態の効果について説明する。
【０１３８】
本実施の形態では、修飾語集合Ｍの組み合わせの頻出パタンを元にクラスタリング戦略として列挙するように構成されている。そのため、予め事象間の階層関係が与えられていなくても、関連の深い事象同士をまとめて抽象度の高いクラスタに整理することができる。
【０１３９】
また、本実施の形態では、因果関係グラフの構造の簡潔さを表すクラスタリングスコアを用いて異なるクラスタリング戦略を比較するように構成されている。そのため、簡潔な形の因果関係グラフに要約可能なクラスタリング方法を自動的に選択することができる。
【０１４０】
また、本実施の形態では、クラスタ化された事象群全てに共通の原因（または結果）となる事象があれば、その原因（または結果）事象からのエッジを１本に統合するが、クラスタ化されたノード群の一部だけに特定の原因（または結果）からのエッジがある場合は、クラスタ化された事象ではなく、クラスタ内の事象に直接リンクさせるように構成されている。そのため、クラスタ化によって、元々関係のない事象同士が因果関係で結びつくことを防ぎ、正しい因果関係を保つことができる。
【０１４１】
また、本実施の形態では、（１）原因（または結果）事象から直接エッジで繋がっている結果（または原因）事象、（２）原因（または結果）に含まれる事象を接点としてエッジで繋がっている結果（または原因）事象、（３）原因（または結果）事象が含まれる事象を接点としてエッジで繋がっている結果（または原因）事象、を再帰的に列挙することによって事象推移予測を行うように構成されている。そのため、クラスタ化された事象を介して、元々接続関係のない事象に推移するような推論を防ぎ、正しい因果関係を保った事象推移のみを推論することができる。
（第２の実施の形態）
図１９は、本発明の因果関係分析装置の第２の実施の形態を示す図である。
【０１４２】
本形態は図１９に示すように、図1に示された第1の実施の形態における因果関係分析装置１に、情報を記憶する注目事象記憶部１０５と、予測結果記憶部１０６と、プログラム制御によって動作するアラート生成部２０５とが追加された因果関係分析装置２となっている。
【０１４３】
注目事象記憶部１０５は、利用者が予め設定された周期で定期的に注目したい注目事象と、その注目する周期間隔を格納する。注目事象の例としては、「Ｍ＝｛Ａ社｝、Ｓ＝株価、Ｖ＝上昇」などが挙げられる。また、周期間隔の例としては、日次、周次、月次などが挙げられる。
【０１４４】
予測結果記憶部１０６は、事象推移予測部２０４が予測した結果を保存する。
【０１４５】
アラート生成部２０５は、注目事象記憶部１０５に格納されている注目事象を入力条件として、事象推移予測部２０４の事象推移予測処理を指定されている周期間隔で実行し、予測結果記憶部１０６に格納されている以前の予測結果との比較を行い、出力結果に変更があるとアラートを出す。同時に、予測結果記憶部１０６を直近の結果に更新する。
【０１４６】
以下に、図１に示した因果関係分析装置２の動作、つまり因果関係分析装置２における因果関係分析方法についてフローチャートを用いて説明する。なお、図１９に示した因果関係抽出部２０１、クラスタ対象選択部２０２、事象クラスタ評価部２０３、および事象推移予測部２０４の動作は、図９にて説明した因果関係抽出処理のステップＳ１０１〜Ｓ１０５、図１０にて説明した事象クラスタ生成処理のステップＳ２０１〜Ｓ２０６、および図１７にて説明した事象推移予測処理のステップＳ３０１〜Ｓ３０９と同一であるため、説明は省略する。
【０１４７】
図２０は、図１９に示したアラート生成部２０５の動作を説明するためのフローチャートである。
【０１４８】
アラート生成部２０５は、注目事象記憶部１０５に格納されている注目事象を入力条件として、事象推移予測部２０４の事象推移予測処理を指定されている周期間隔で実行する（ステップＳ４０１）。次に、今回の予測結果と予測結果記憶部１０６に格納されている前回の予測結果との比較を行い（ステップＳ４０２）、変化があれば変化の内容を利用者にアラートとして通知する（ステップＳ４０３）。例えば、「Ｍ＝｛Ａ社｝、Ｓ＝株価、Ｖ＝上昇」の原因事象として「Ｍ＝｛Ａ社、エアコン｝、Ｓ＝株価、Ｖ＝上昇」があり、さらにその原因事象として「Ｓ＝猛暑、Ｖ＝続く」があった場合、これら３つの事象の推移スコアが上昇していれば、猛暑が続いたことによってＡ社の株価が上昇する可能性が、以前よりも高くなっているというアラートが利用者に示されることになる。また、予測結果記憶部１０６を更新し、次回のアラート生成処理時に比較できるようにしておく（ステップＳ４０４）。
【０１４９】
次に、本実施の形態の効果について説明する。
【０１５０】
本実施の形態では、注目事象について定期的に事象推移予測を実行し、変化を検出したらアラートを出すように構成されている。そのため、利用者が注目している事象に影響を及ぼす原因事象の変化や、注目事象によって引き起こされる結果事象の変化、およびそれら事象推移の実現可能性の変化をタイムリーに把握することができる。
（第３の実施の形態）
図２１は、本発明の因果関係分析装置の第３の実施の形態を示す図である。
【０１５１】
本形態は図２１に示すように、入力手段５０１と、データ処理装置５０２と、出力手段５０３と、記憶装置５０４とを備える。さらに、第1の実施の形態の因果関係分析装置1を実現するための因果関係分析プログラム５００を備える。
【０１５２】
入力手段５０１は、マウス、キーボード等、操作者からの指示を入力するための装置である。また、出力手段５０３は、表示画面、プリンタ等のデータ処理装置５０２による処理結果を出力する装置である。
【０１５３】
因果関係分析プログラム５００は、データ処理装置５０２に読み込まれ、データ処理装置５０２の動作を制御し、記憶装置５０４に入力メモリ５０５とワークメモリ５０６を生成する。データ処理装置５０２は、因果関係分析装置１を実現するためのプログラムの制御により、第１の実施の形態と同一の処理を実行する。
【０１５４】
図２１におけるデータ処理装置５０２は、図１における因果関係抽出部２０１、クラスタ対象選択部２０２、事象クラスタ評価部２０３、および事象推移予測部２０４の処理を実行する。また、図２１における記憶装置５０４には、図１における文書群記憶部１０１、事象パタン記憶部１０２、接続関係記憶部１０３、及び因果関係記憶部１０４の情報が格納される。ただし、文書群記憶部１０１は、記憶装置５０４に格納されたデータを利用する他に、データ処理装置５０２によって外部にあるデータベースにネットワーク（例えば、インターネット）を介してアクセスして取得する形態であっても良い。
（第４の実施の形態）
次に、本発明の第４の実施の形態について説明する。
【０１５５】
第４の実施の形態は、第３の実施の形態と同様に図２１の構成図を用いる。因果関係分析プログラム５００は、データ処理装置５０２に読み込まれ、データ処理装置５０２の動作を制御し、記憶装置５０４に入力メモリ５０５とワークメモリ５０６を生成する。データ処理装置５０２は、因果関係分析装置２を実現するためのプログラムの制御により、第２の実施の形態と同一の処理を実行する。
【０１５６】
図２１におけるデータ処理装置５０２は、図１９における因果関係抽出部２０１、クラスタ対象選択部２０２、事象クラスタ評価部２０３、事象推移予測部２０４、およびアラート生成部２０５の処理を実行する。また、図２１における記憶装置５０４には、図１における文書群記憶部１０１、事象パタン記憶部１０２、接続関係記憶部１０３、因果関係記憶部１０４、注目事象記憶部１０５、及び予測結果記憶部１０６の情報が格納される。ただし、文書群記憶部１０１は、記憶装置５０４に格納されたデータを利用する他に、データ処理装置５０２によって外部にあるデータベースにネットワーク（例えば、インターネット）を介してアクセスして取得する形態であっても良い。
【０１５７】
以上説明したように、本発明の因果関係分析装置は、以下の効果を有する。
【０１５８】
第１の効果は、予め事象間の階層関係が与えられていなくても、関連の深い事象同士をまとめて抽象度の高いクラスタに整理することができることである。その理由は、事象を表現する修飾語集合の組み合わせの頻出パタンを元にクラスタリングを行うからである。
【０１５９】
第２の効果は、簡潔な形の因果関係グラフに要約可能なクラスタリング戦略を自動的に選択することができることである。その理由は、因果関係グラフの構造の簡潔さを表すクラスタリングスコアを用いて異なるクラスタリング戦略を比較した上で、どの戦略を採用するかを決定するからである。
【０１６０】
第３の効果は、クラスタ化を行っても、元々接続関係のない事象同士が因果関係で結びつくことを防ぎ、正しい因果関係を保つことができることである。その理由は、クラスタ化された事象群全てに共通の原因（または結果）となる事象があれば、その原因（または結果）事象からのエッジを１本に統合するが、クラスタ化されたノード群の一部だけに特定の原因（または結果）からのエッジがある場合は、クラスタ化された事象ではなく、クラスタ内の事象に直接リンクさせるからである。
【０１６１】
第４の効果は、事象推移を予測する際に、クラスタ化された事象を介して、元々接続関係のない事象に推移するような推論を防ぎ、正しい因果関係を保った事象推移のみを推論することができることである。その理由は、（１）原因（または結果）事象から直接エッジで繋がっている結果（または原因）事象、（２）原因（または結果）に含まれる事象を接点としてエッジで繋がっている結果（または原因）事象、（３）原因（または結果）事象が含まれる事象を接点としてエッジで繋がっている結果（または原因）事象、のみを再帰的に列挙することによって事象推移予測を行うからである。
【０１６２】
第５の効果は、利用者が注目している事象に影響を及ぼす原因事象の変化や、注目事象によって引き起こされる結果事象の変化、およびそれら事象推移の実現可能性の変化をタイムリーに把握することができることである。その理由は、注目事象について定期的に事象推移予測を実行し、変化を検出してアラートを出すからである。
【０１６３】
また、本発明によれば、工業装置の障害報告書などの情報源から、因果関係を自動抽出し、不具合が起こった場合の原因を自動診断するといった用途に適用できる。また、新聞記事や株価情報を情報源として、経済動向を予測し、株の売買のタイミングを判断するといった用途に適用できる。
【０１６４】
また、本発明においては、上述した手順をＣＰＵに実行させるプログラムを因果関係分析装置にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを因果関係分析装置に読み込ませ、実行するものであっても良い。因果関係分析装置にて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、因果関係分析装置に内蔵されたＨＤＤ等を指す。
【図面の簡単な説明】
【０１６５】
【図１】本発明の因果関係分析装置の第１の実施の形態を示す図である。
【図２】図１に示した文書群記憶部に記憶された文書データの一例を示す図である。
【図３】図１に示した事象パタン記憶部に記憶された事象パタンの一例を示す図である。
【図４】図１に示した接続関係記憶部に格納されているデータの一例を示す図である。
【図５】図１に示した因果関係記憶部に格納されている因果関係グラフの一例を示す図である。
【図６】図５に示した因果関係グラフをクラスタ化した一例を示す図である。
【図７】図１に示した出力部に出力された事象推移予測入力画面Ｃ１０１の一例を示す図である。
【図８】図１に示した出力部に出力された事象推移予測結果画面Ｃ２０１の一例を示す図である。
【図９】図１に示した因果関係分析装置における因果関係抽出処理を説明するためのフローチャートである。
【図１０】図１に示した因果関係分析装置における事象クラスタ生成処理を説明するためのフローチャートである。
【図１１】図１に示した因果関係記憶部に格納されている因果関係グラフの一例を示す図である。
【図１２】図１１に示した因果関係グラフにおけるクラスタリングスコアの計算例を示す図である。
【図１３】図１１に示した因果関係グラフにおけるクラスタリングスコアの計算例を示す図である。
【図１４】図１１に示した因果関係グラフにおけるクラスタリングスコアの計算例を示す図である。
【図１５】図１１に示した因果関係グラフにおけるクラスタリングスコアの計算例を示す図である。
【図１６】図１１に示した因果関係グラフにおけるクラスタリングスコアの計算例を示す図である。
【図１７】図１に示した因果関係分析装置における事象推移予測処理を説明するためのフローチャートである。
【図１８】図１に示した因果関係記憶部に格納されている因果関係グラフの一例を示す図である。
【図１９】本発明の因果関係分析装置の第２の実施の形態を示す図である。
【図２０】図１９に示したアラート生成部の動作を説明するためのフローチャートである。
【図２１】本発明の因果関係分析装置の第３の実施の形態を示す図である。
【符号の説明】
【０１６６】
１，２    因果関係分析装置
１０１    文書群記憶部
１０２    事象パタン記憶部
１０３    接続関係記憶部
１０４    因果関係記憶部
１０５    注目事象記憶部
１０６    予測結果記憶部
２０１    因果関係抽出部
２０２    クラスタ対象選択部
２０３    事象クラスタ評価部
２０４    事象推移予測部
２０５    アラート生成部
３０１，５０１    入力部
４０１，５０３    出力部
５００    因果関係分析プログラム
５０２    データ処理装置
５０４    記憶装置
５０５    入力メモリ
５０６    ワークメモリ
【図１】
2008203964.tif 000003
【図２】
2008203964.tif 000004
【図３】
2008203964.tif 000005
【図４】
2008203964.tif 000006
【図５】
2008203964.tif 000007
【図６】
2008203964.tif 000008
【図７】
2008203964.tif 000009
【図８】
2008203964.tif 000010
【図９】
2008203964.tif 000011
【図１０】
2008203964.tif 000012
【図１１】
2008203964.tif 000013
【図１２】
2008203964.tif 000014
【図１３】
2008203964.tif 000015
【図１４】
2008203964.tif 000016
【図１５】
2008203964.tif 000017
【図１６】
2008203964.tif 000018
【図１７】
2008203964.tif 000019
【図１８】
2008203964.tif 000020
【図１９】
2008203964.tif 000021
【図２０】
2008203964.tif 000022
【図２１】
2008203964.tif 000023