(57)【特許請求の範囲】
【請求項１】
多数の因果関係フレーズペアを記憶するフレーズペア記憶手段と、
前記フレーズペア記憶手段に記憶されたフレーズのうち、因果関係として連鎖可能なものを連鎖させることにより、因果関係ネットワークを構築するための因果関係ネットワーク構築手段と、
前記因果関係ネットワーク構築手段により構築された前記因果関係ネットワークにおける複数のコミュニティを検出するためのコミュニティ検出手段と、
任意のフレーズを初期フレーズとして選択する初期フレーズ選択手段と、
前記複数のコミュニティのうち、前記初期フレーズ選択手段により選択された初期フレーズを含むものの各々において、当該初期フレーズを起点として、因果関係として連鎖可能なフレーズを、予め定められた終了条件が成立するまで連鎖させることにより未来シナリオを生成する未来シナリオ生成手段とを含む、未来シナリオ生成装置。
【請求項２】
前記コミュニティ検出手段は、前記因果関係ネットワークに対してクリーク・パーコレーション法（ＣＰＭ）を用いて前記因果関係ネットワーク内のコミュニティを検出する手段を含む、請求項１に記載の未来シナリオ生成装置。
【請求項３】
前記コミュニティを検出する手段は、ＣＰＭ実行中のｋ−クリーク検出において、ｋ＝３〜６の範囲から選ばれた整数ｋを用いる、請求項２に記載の未来シナリオ生成装置。
【請求項４】
前記初期フレーズ選択手段は、ユーザにより入力された質問文から、前記初期フレーズとして、前記質問文の要部と因果的一貫性を有するフレーズを選択する手段を含む、請求項１〜請求項３のいずれかに記載の未来シナリオ生成装置。
【請求項５】
コンピュータが、フレーズペア記憶手段に多数の因果関係フレーズペアを記憶するステップと、
コンピュータが、前記フレーズペア記憶手段に記憶されたフレーズのうち、因果関係として連鎖可能なものを連鎖させることにより、因果関係ネットワークを生成するステップと、
コンピュータが、前記因果関係ネットワークにおける複数のコミュニティを検出するステップと、
コンピュータが、前記フレーズペア記憶手段に記憶された任意のフレーズを初期フレーズとして選択するステップと
コンピュータが、前記複数のコミュニティのうち、前記初期フレーズを含むものの各々において、当該初期フレーズを起点として、因果関係として連鎖可能なフレーズを、予め定められた終了条件が成立するまで連鎖させることにより未来シナリオを生成するステップとを含む、
未来シナリオ生成方法。
【請求項６】
コンピュータを、請求項１〜請求項４のいずれかに記載の全ての手段として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、大量の文書に記載された情報から、それら文書に記載された情報を超える範囲で、あらゆるリスクとチャンスとを考慮した意思決定を促進する、因果関係の連鎖からなる情報を生成するための技術に関する。
【背景技術】
【０００２】
現代社会のように、動きが複雑かつ大規模で、しかもその動きの影響が全世界に及ぶ可能性があるような社会では、いかにして将来を予測していくかが重要である。予測に基づいて準備を進めることにより、「不測の事態」が発生することが避けられる。このような予測は、政治、経済、その他もろもろの日常生活においてバランスのとれた適切な意思決定を下すうえで欠かせない。
【０００３】
しかし、考慮すべき情報が大量でかつ常に変化している現状に鑑みると、個人の、あるいは一組織であっても、その限られた知識と想像力とに頼るだけでは適切な予測を得ることはむずかしい。気象の予測のように、限られた範囲のデータで限られた事象を予測することについては実用化されてはいるが、そうした考え方を社会の動きに適用しようとする発想は、これまでは以下の特許文献１に開示されたものしか存在していなかった。
【０００４】
個人の能力を補強するための有力なツールとしてコンピュータがある。例えば情報を記憶することに関しては個人の能力はコンピュータに遠く及ばない。また、高度な自然言語処理技術も開発されている。こうした情報の記憶能力と自然言語処理技術とを駆使した質問応答システムも実現され、自然言語での質問に対して高い精度で正しい回答を提供することが可能になっている。
【０００５】
しかし、このような従来技術は、「○○とは何か？」のような、いわゆるＷｈａｔ型の質問には答えられても、「どうなる？」型の質問には答えることができない。特許文献１に開示されたシステムは、そうした問題を解決するために、コンピュータの力を生かして、あらゆるリスクとチャンスとを考慮した、将来起こり得る事象を予測するためのものである。こうした装置が実用化できれば、人々の意思決定に役立つものと思われる。特許文献１では、このような予測のために、因果関係の連鎖からなる「社会シナリオ」と呼ぶ情報を生成する。
【０００６】
図１にこの特許文献１に開示された質問・応答システムの概略構成を示す。図１を参照して、ユーザ３０が「スマホが普及するとどうなる？」という、「どうなる？」型の質問３２を社会シナリオ出力部３６に入力したものとする。社会シナリオ出力部３６には、予めインターネット上から収集された因果関係フレーズペア（後述）から生成した多数の社会シナリオからなる社会シナリオＤＢ３４が接続されている。社会シナリオ出力部３６は、社会シナリオＤＢ３４に格納されている社会シナリオの中で、質問３２に相当する原因を持つ因果関係を起点とする多数の社会シナリオを検索し、スコアリングして、スコアの最も高いものから順番に社会シナリオ３８を表示する。ユーザ３０は、この社会シナリオ３８の中で、興味のある回答を構成する因果関係の系統をたどっていくことができる。
【０００７】
因果関係フレーズペアとは、原因となる事柄を述べたフレーズ（原因フレーズ）とその結果となる事柄を述べたフレーズ（結果フレーズ）との組のことをいう。
【０００８】
図２を参照して、図１に示す社会シナリオ３８を生成する社会シナリオ生成システム６０は、以下の様な構成を持つ。社会シナリオ生成システム６０は、インターネット７０から多数の文書を収集するＷＥＢクローラ７２と、収集された文書をコンピュータ読取り可能な形式で蓄積するＷＥＢアーカイブ７４と、このＷＥＢアーカイブ７４から社会シナリオ３８を生成するための社会シナリオ生成装置７６とを含む。
【０００９】
社会シナリオ生成装置７６は、ＷＥＢアーカイブ７４に蓄積された文書から、因果関係フレーズペアを収集するための因果関係フレーズペア収集装置９０と、因果関係フレーズペア収集装置９０により収集された因果関係フレーズペアを、少なくともその原因フレーズをキーとしてアクセスし読出しできる様に蓄積する因果関係フレーズペアＤＢ９２と、因果関係フレーズペアＤＢ９２に蓄積された多数の因果関係フレーズペアにおいて、ある因果関係フレーズペアと、その因果関係フレーズペアの結果フレーズを原因フレーズとして持つような因果関係フレーズペアとを次々に連鎖させることにより多数の社会シナリオを生成する社会シナリオ生成部９４と、社会シナリオ生成部９４が生成する社会シナリオを蓄積する社会シナリオＤＢ３４と、ユーザからの質問に応答して社会シナリオＤＢ３４から回答として適切な社会シナリオ３８を取り出し、ランキングして出力する社会シナリオ出力部３６とを含む。なお、因果関係の連鎖において、連鎖の前半の因果関係フレーズペアの結果フレーズと、後半の因果関係の原因フレーズとは、文字列として異なっていても、意味的な一貫性（特許文献１では、因果関係に関する意味的な一貫性という意味で、この一貫性は「因果的一貫性」と呼ばれている。）を持つものであれば連鎖させる。
【００１０】
因果関係フレーズペア収集装置９０は、ＷＥＢアーカイブ７４から大量の因果関係フレーズペアを収集し、因果関係フレーズペアＤＢ９２に格納する。社会シナリオ生成部９４は、因果関係フレーズペアＤＢ９２に格納された因果関係フレーズペアについて、ある因果関係フレーズペアと、そのフレーズペアの結果フレーズと連鎖可能な（因果的一貫性を持つ）原因フレーズを持つ因果関係フレーズペアとを連鎖させることを繰返すことで、因果関係が連鎖した社会シナリオを生成する。１つの因果関係フレーズペアの結果フレーズと因果的一貫性を持つ原因フレーズを持つ因果関係フレーズペアの数は一般に複数と考えられる。したがって、社会シナリオの数は、因果関係フレーズペアの連鎖を多くすればするほど指数関数的に増加する。これら社会シナリオは社会シナリオＤＢ３４に蓄積される。ユーザが何らかの質問を社会シナリオ出力部３６に与えると、社会シナリオ出力部３６は、その質問の内容から原因フレーズを生成し、その原因フレーズを起点とする社会シナリオ３８を社会シナリオＤＢ３４から検索してユーザに提示する。この際、提示される社会シナリオは質問との関係に基づいてスコア付けされ、スコアの高いものからユーザに提示される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開2015-121897号公報
【非特許文献】
【００１２】
【非特許文献１】Gergely  Palla,  Imre  Derenyi,  Illes  Farkas,  and  Tamas  Vicsek.  2005.  Uncovering  the  overlapping  community  structure  of  complex  networks  in  nature  and  society.  Nature,  435:814-818.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記した特許文献１に記載の技術では、社会シナリオが大量に得られる。したがって、その中には非常に有用な社会シナリオが含まれていることが多い。しかし、ＷＥＢアーカイブ７４に格納される文書が多くなればなるほど、得られる社会シナリオの数が増加するため、社会シナリオの中に、実際には起こりえないようなもの、又は無意味なものまで含まれることがあるという問題がある。
【００１４】
例えば図３を参照して、「スマホが普及するとどうなる？」という質問１５０に対して、回答１５２を含む複数の回答が得られたものとする。回答１５２の次にはさらに回答１５４、１５６、１５８、１６０、１６２が連鎖的に得られるものとする。この中で、回答１６０を見ると、「輻輳が更に激しくなると」「速度低下がおき」、その結果、回答１６２のように「渋滞が発生する」という結論が得られるという社会シナリオが出現する。最初の質問１５０との関係から考えると、スマホが普及すると、交通渋滞が起こる、という結論が得られるということである。これはその内容から妥当な推論とは思えないし、図３に示す因果関係の連鎖から考えても正しい推論ということはできない。
【００１５】
特許文献１に記載の技術は、大量の社会シナリオを得ることができるため、人間が予測しないような推論結果が得られるという効果があるが、逆に１つの質問に対して得られる社会シナリオの中に、上記したように妥当でないものが大量に混入し、その結果、社会シナリオを利用する上で大きな障害になるという問題がある。
【００１６】
なお、本明細書の実施の形態では、ある質問から未来を予測するという点を強調するために、「社会シナリオ」という名称に代えて「未来シナリオ」という名称を使用する。
【００１７】
それ故にこの発明の目的は、適切な未来シナリオを大量に生成できる未来シナリオ生成装置及び方法、並びにそのためのコンピュータプログラムを提供することである。
【課題を解決するための手段】
【００１８】
本発明の第１の局面に係る未来シナリオ生成装置は、多数の因果関係フレーズペアを記憶するフレーズペア記憶手段と、フレーズペア記憶手段に記憶されたフレーズのうち、因果関係として連鎖可能なものを連鎖させることにより、因果関係ネットワークを構築するための因果関係ネットワーク構築手段と、因果関係ネットワーク構築手段により構築された因果関係ネットワークにおけるコミュニティを検出するためのコミュニティ検出手段と、任意のフレーズを初期フレーズとして選択する初期フレーズ選択手段と、初期フレーズ選択手段により選択された初期フレーズを起点として、当該初期フレーズと同じコミュニティに属する因果関係ペアを、予め定められた終了条件が成立するまで連鎖させることにより未来シナリオを生成する未来シナリオ生成手段とを含む。
【００１９】
好ましくは、コミュニティ検出手段は、因果関係ネットワークに対してクリーク・パーコレーション法（ＣＰＭ）を用いて因果関係ネットワーク内のコミュニティを検出する手段を含む。
【００２０】
より好ましくは、コミュニティを検出する手段は、ＣＰＭ実行中のｋ−クリーク検出において、ｋ＝３〜６の範囲から選ばれた整数ｋを用いる。
【００２１】
さらに好ましくは、初期フレーズ選択手段は、ユーザにより入力された質問文から、当該質問文の要部と因果的一貫性を有するフレーズを選択する手段を含む。
【００２２】
本発明の第２の局面に係る未来シナリオ生成方法は、コンピュータが、フレーズペア記憶手段に多数の因果関係フレーズペアを記憶するステップと、コンピュータが、フレーズペア記憶手段に記憶されたフレーズのうち、因果関係として連鎖可能なものを連鎖させることにより、因果関係ネットワークを生成するステップと、コンピュータが、因果関係ネットワークにおけるコミュニティを検出するステップと、コンピュータが、記憶手段に記憶された任意のフレーズを初期フレーズとして選択するステップと、コンピュータが、初期フレーズを起点として、当該初期フレーズと同じコミュニティに属する、因果関係として連鎖可能なフレーズを、予め定められた終了条件が成立するまで連鎖させることにより未来シナリオを生成するステップとを含む。
【００２３】
本発明の第３の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの未来シナリオ生成装置の全ての手段として機能させる。
【図面の簡単な説明】
【００２４】
【図１】「どうなる？」型の質問に対する回答を生成する質問・応答システムの機能を模式的に示す図である。
【図２】特許文献１に記載された従来の社会シナリオ生成システムのブロック図である。
【図３】特許文献１に記載された社会シナリオ生成システムの問題点を説明するための図である。
【図４】因果関係ネットワークの模式図である。
【図５】ＳＮＳにおけるコミュニティの概念を説明するための模式図である。
【図６】本発明において因果関係ネットワークにおいてコミュニティが形成されていることを示す模式図である。
【図７】本発明の第１の実施の形態に係る未来シナリオ生成装置のブロック図である。
【図８】図７に示す未来シナリオ生成部のブロック図である。
【図９】本発明の第２の実施の形態に係る未来シナリオ生成装置のブロック図である。
【図１０】本発明の第３の実施の形態に係る未来シナリオ生成装置のブロック図である。
【図１１】本発明の実施の形態に係る未来シナリオ生成システムを実現するためのコンピュータの外観を示す図である。
【図１２】図１１に示すコンピュータのハードウェア構成を説明するブロック図である。
【発明を実施するための形態】
【００２５】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２６】
なお、以下の説明は日本語についてのものであるが、日本語以外の言語であっても、本明細書に開示された実施の形態と同様の手法を用い、各国語に特有の配慮をすることにより、本発明の各実施の形態と同様の未来シナリオ生成装置を得ることができる。
【００２７】
図３に示したような状況が発生する原因を検討する。図４を参照して、上のようにして得られた因果関係ネットワーク１９０において、ノード２００が図１の質問３２に対応するものとする。質問３２を原因フレーズに持つ因果関係フレーズペアに対応して、ノード２００からノード２０２（「輻輳が激しくなる」）へのエッジが存在するものとし、さらに「輻輳が激しくなる」を原因フレーズに持つ因果関係フレーズペアにより、ノード２０２からノード２０４（「速度低下が起きる」）へのエッジが存在するものとする。そして、「速度低下が起きる」を原因フレーズに持つ因果関係フレーズペアのために、結果フレーズとしてノード２０６の「渋滞が発生する」が得られ、さらにはノード２０８の「交通が麻痺する」が得られるという形になっている。ここで、ノード２０４からノード２０６へのエッジは、実はスマートフォンに関するものではなく、自動車に関するものであった。特許文献１では、単に因果関係フレーズの文言のみに着目しているため、このように元となる質問３２とは無関係な因果関係フレーズからも社会シナリオが生成される。これが、特許文献１において生成される社会シナリオの中に、本来の質問とは無関係な因果関係の連鎖が入り込む原因である。
【００２８】
この問題を解決するにあたって、因果関係フレーズを構成する文言に着目して社会シナリオを絞り込むというアプローチもあり得る。しかしそのようなアプローチは、直感に頼りすぎたり、基準が恣意的になり明確な基準による選択ができなかったりするおそれが高い。したがって、文言以外の要素に着目して社会シナリオを絞り込む手法を見つけ出すことが望ましい。
【００２９】
この点で、本発明の発明者は、本発明のような未来シナリオの生成とは無縁の技術分野である、ＳＮＳ（ソーシャル・ネットワーキング・サービス）においてネットワークを構成する下位の未知のユニットを見出すための技術として、非特許文献１に記載されたものがあることに着目した。この技術は、主としてＳＮＳにおいてネットワーク内のコミュニティを見出したり、様々なタンパク質の構造の類似性に着目してタンパク質を分類したりする際に用いられる。図５を参照して、あるＳＮＳネットワーク２２０において、ある一部の人たちが、他の人たちよりも互いに緊密に結びついているグループ２３０、２３２、２３４等を非特許文献１に開示された手法により見出すことができる。こうしたグループをコミュニティと呼ぶ。コミュニティは、クラスタ、グループ、モジュールなどとも呼ばれる。この手法を特許文献１に開示された技術と組み合わせ、互いに関係の薄い因果関係を排除して、有用な未来シナリオのみを採用できれば、特許文献１に開示された発明を利用しやすくできる。
【００３０】
そこで、以下に述べる各実施の形態では、例えば、図６に示すように、図４に示す因果関係ネットワーク１９０において、スマートフォンに関する因果関係フレーズペアからなるコミュニティ２５０と、それ以外のトピックに関する因果関係フレーズペアからなるコミュニティ２５２及び２５４等にノードを分類する。そして、因果関係フレーズペアから未来シナリオを生成するにあたり、起点となる因果関係フレーズペアからは、その因果関係フレーズペアの属するコミュニティの中の因果関係フレーズペアのみを使用して未来シナリオを生成する。なお、本実施の形態では、１つのノードが複数のコミュニティに属することも許される。
【００３１】
このように、ＳＮＳにおけるコミュニティ検出技術を用いることで、ある因果関係フレーズペアから因果関係をたどって未来シナリオを生成するにあたり、途中でもとの因果関係フレーズの原因フレーズと無関係な因果関係フレーズが入り込む可能性が小さくなり、意味のある未来シナリオのみが得られる可能性が高くなる。しかもこの手法は、因果関係フレーズペアを構成する文言に直接的に基づくものではないため、もとの文書がどのような言語でも何ら手法に変更を加えることなく適用できるという効果がある。
【００３２】
＜第１の実施の形態＞
［構成］
図７を参照して、この発明の第１の実施の形態に係る未来シナリオ生成システム２７０は、ＷＥＢアーカイブ７４に基づいて、大筋として特許文献１に記載されたものと同様の手法で未来シナリオは生成されるが、構成としては同じコミュニティに属する因果関係フレーズペアのみから未来シナリオを生成する未来シナリオ生成装置２７２を含む。
【００３３】
未来シナリオ生成装置２７２は、図２に示すものと同様の因果関係フレーズペア収集装置９０及び因果関係フレーズペアＤＢ９２と、入出力装置２７４を用いた対話により、ユーザから質問の入力を受ける質問入力部２８０と、質問入力部２８０が受けた質問の要部と因果的一貫性を持つフレーズを初期フレーズとして、因果関係フレーズペアＤＢ９２に記憶された因果関係フレーズペアから、各因果関係に含まれる原因フレーズ及び結果フレーズをノードとし、互いの間に因果関係が存在する２つのフレーズを表すノード同士を結ぶ線をエッジとする因果関係ネットワーク（グラフ）を構築する因果関係ネットワーク構築装置２９０と、因果関係ネットワーク構築装置２９０により構築された因果関係ネットワークを記述するデータを記憶する因果関係ネットワークＤＢ２９２とを含む。なお、この因果関係ネットワークにおいて、各ノードは、そのノードの前段に連結されたノードとの関係では結果フレーズであるが、そのノードの後段に連結されたノードとの関係では原因フレーズとなる。
【００３４】
因果関係ネットワーク構築装置２９０におけるフレーズの連鎖では、特許文献１と同様、連鎖の前半の因果関係フレーズペアの結果フレーズと、後半の因果関係フレーズペアの原因フレーズとが同一の文字列でなくても、因果的一貫性があるものであればこれらフレーズを連鎖させる。
【００３５】
このような因果関係の連鎖を行なう場合、ある因果関係フレーズペアの結果フレーズと、他の因果関係フレーズペアの原因フレーズとが同一であれば連鎖を判断し易い。しかし、現実には文字上では異なっていても、２つの因果関係フレーズペアを連鎖させることができるようなフレーズ間の関係がある。それらを見落とすと、生成される未来シナリオの範囲が不当に狭くなってしまう危険性がある。そこで、２つの因果関係フレーズペアの連結部となりうる、ある因果関係フレーズペアの結果フレーズと、別の因果関係フレーズペアの原因フレーズとについて、文字列上で同一でなくても両者を実質的に同一視できる関係を見出すことが重要である。
【００３６】
本実施の形態でも、特許文献１と同様、このように文字列上で同一でなくてもフレーズが因果的一貫性を有する場合には当該フレーズを連鎖させる。この因果的一貫性は、上記特許文献１にも記載されている通り、言い換え及び含意を包含する新しい概念であり、従来の自然言語処理技術のみでは実現できない。因果関係ネットワーク構築装置２９０は、２つの因果関係フレーズペアについて、一方の結果フレーズと他方の原因フレーズとの因果的一貫性を評価することにより、因果的一貫性を持つ因果関係フレーズペアを連鎖させる。
【００３７】
因果関係の一貫性があるか否かについては、様々な基準を用いる。まず、因果関係ネットワークを構成するフレーズの中で、名詞が同じで、そのフレーズの構造を表す述語テンプレートの極性が同じフレーズを、因果的一貫性を持つ同義のフレーズとみなす。
【００３８】
述語テンプレートには、単純述語テンプレートと複雑述語テンプレートとがある。単純述語テンプレートとは、日本語において、助詞と述語との組合せ（例:＜を、食べる＞）のように１つの助詞と１つの述語とを結び付けたもののことをいう。例えば「が進行する。」、「を防ぐ。」、「が顕現する。」等である。この場合、文中では、単純述語テンプレートを構成する助詞の直前には、述語の主語、目的語等が配置される。複雑単語テンプレートとは、日本語の場合、助詞「の」と、１つの名詞と、単純述語テンプレートとを結び付けたものを複雑単語テンプレートと呼ぶ。本実施の形態では、日本語の文書のみを取り扱うのでこのような定義を用いるが、言語によって単純述語テンプレートと複雑述語テンプレートの定義がその言語によって異なる定義となるのは当然である。
【００３９】
極性とは、述語テンプレートの性質を表すために導入された概念である。本実施の形態では活性、不活性、及び中立という３つの極性を用いる。活性とは、文中において、述語テンプレートを構成する先頭の助詞の直前に位置する名詞の主語、目的語等の指す対象が持つ機能、効果等を発揮させる、増大させる方向の出来事を記述する述語テンプレートの極性である。不活性とは、対象が持つ機能、効果等を発揮させない方向の出来事を記述する述語テンプレートの極性である。中立とは、活性の定義にも不活性の定義にもあてはまらない述語テンプレートの極性である。
【００４０】
また、本実施の形態では、名詞が同じでフレーズ全体の極性が同じフレーズの対、及び名詞が同じで、大量文書中での出現文脈が類似しているテンプレートを持つフレーズの対を、因果的一貫性のある同義のフレーズとみなす。出現文脈が類似しているか否かは、テンプレートの分布類似度を予め計算しておくことで判定する。
【００４１】
なお、フレーズを連結するための手法としては、上記したように２つのフレーズの因果的一貫性を用いることだけには限定されない。例えば、２つのフレーズの間で因果的一貫性はないものの、意味的に考えてあるフレーズから別のフレーズへの因果関係を橋渡しする関係が存在する場合についても因果的一貫性があるものとみなしてよい。たとえば、一方のフレーズが「日光がさえぎられる」というものであり、他方のフレーズが「光合成が妨げられる」というものである場合、両者をつなぐリンクとして例えば「日光が光合成に必要だ」というフレーズを考えることができる。すると、このフレーズを媒介にして「日光がさえぎられる」というフレーズと「光合成が妨げられる」という原因フレーズとを連鎖させることができる。
【００４２】
未来シナリオ生成装置２７２はさらに、因果関係ネットワークＤＢ２９２に記憶された因果関係ネットワークにおいて、非特許文献１に記載された手法を用いてコミュニティを検出し、各コミュニティを形成するノードに対応するフレーズに、各コミュニティの識別子を付与することにより新たなネットワーク（因果関係ネットワークと呼ぶ。）を形成し出力するコミュニティ検出装置２９４と、この因果関係ネットワークを記憶する因果関係コミュニティＤＢ２９６と、因果関係コミュニティＤＢ２９６に格納された各ノードに対応するフレーズから、質問入力部２８０が受けた質問の要部と同じコミュニティに属するフレーズのみをたどることにより大量の未来シナリオを生成する未来シナリオ生成部２９８と、未来シナリオ生成部２９８により生成された未来シナリオを蓄積する未来シナリオＤＢ３００と、未来シナリオＤＢ３００に蓄積された未来シナリオをランキングし、質問に対する回答として出力する未来シナリオ出力部３０２とを含む。
【００４３】
因果関係コミュニティの検出には、本実施の形態では、クリーク・パーコレーション（clique  percolation法、ＣＰＭ）と呼ばれる手法を用いる。ＣＰＭでは、ネットワーク（グラフ）中でｋ個（ｋは正の整数である。）のノードからなる完全部分サブグラフ（これを「ｋ−クリーク」と呼ぶ。）を抽出し、それらを連結することでコミュニティを検出する。ここでいう完全部分サブグラフとは、サブグラフを構成するｋ個のノードが全て互いにエッジで接続されたようなサブグラフをいう。例えばｋ＝２の場合のｋ−クリークは２個のノードとそれらを結ぶ１本のエッジからなる。３−クリークは、３個のノードを互いに結ぶ３本のエッジからなるグラフであり、三角形状のものである。
【００４４】
２つのｋ―クリークが互いに隣接しているとは、２つのｋ−クリークが互いにｋ−１個のノードを共有している状態をいう。コミュニティとは、隣接したいくつかのｋ−クリークを経由して互いに到達できるようなｋ−クリークの集合からなるサブグラフのことをいう。この定義によれば、前述した通り、２つのコミュニティはノードを共有できる。
【００４５】
コミュニティの検出アルゴリズムの基本的なものは非特許文献１とその付属文書に開示されている。付属文書は以下で入手できる。
【００４６】
http://nature.com/nature/journal/v435/n7043/suppinfo/nature03607.html
【００４７】
さらに、ＣＰＭは、様々なソフトウェアとして実装されている。例えば以下のＵＲＬで配布されているものがある。
【００４８】
http://www.cfinder.org
https://github.com/aaronmcdaid/MaximalCliques
【００４９】
これら以外にもＣＰＭを実現するための多くのアルゴリズムが提供され、さらに処理を高速にするための研究が種々発表されている。
【００５０】
なお、ｋの値が小さいとネットワーク全体に近い大きさの巨大なコミュニティが形成されてしまい、コミュニティを検出する意味がなくなる。また、ｋの値が大きいと、個々のコミュニティが小さくなってしまい、未来シナリオを生成する際の多様性が失われてしまう。非特許文献１に記載されたコミュニティ検出方法では、ｋの値が３から６の範囲が好ましいとされている。したがって、意味的に整合した未来シナリオを十分な数だけ生成するためには、同様にｋ＝３〜６の範囲からｋの値を選択することが好ましい。もちろん、この範囲以外でもＣＰＭを用いることは可能であり、因果関係ネットワークの状態によってはｋの値をこれ以外の範囲からとってもよい。本実施の形態では、ｋ＝４としている。
【００５１】
また、ＣＰＭによるコミュニティの検出は、いわゆる無向グラフに対して行われる。一方、本実施の形態での因果関係ネットワークは有向グラフである。本実施の形態におけるコミュニティの検出にあたっては、この因果関係ネットワークを無向グラフであるとみなしてＣＰＭを適用する。
【００５２】
なお、コミュニティの検出にはＣＰＭ以外にも種々の方法を用いることができる。コミュニティ検出として知られているアルゴリズムには、例えば以下の様なものがある。これらの中には、無向グラフだけではなく有向グラフに対しても適用可能なものがある。また、１つのノードが複数のコミュニティに属することを許容するものもあれば、それを許容しないものもある。しかしいずれも、本実施の形態でネットワーク（グラフ）におけるコミュニティ検出を行うために使用できる。
【００５３】
Minimum-cut
Hierarchical  clustering
Girvan-Newmanアルゴリズム
Modularity  maximization
Ensemble-Based  Modularity  Maximization
Random  Walks  and  Modularity  Maximization
Support  Maximization
Statistical  inference
Speaker-listener  Label  Propagation
Locality  Sensitive  Hashing
Disjoint  Community  Detection
Matrix  Blocking  via  Cosine  Similarity
【００５４】
図８を参照して、未来シナリオ生成部２９８は、因果関係コミュニティＤＢ２９６に記憶されたコミュニティの識別子が付された因果関係ネットワークから、同じコミュニティ識別子が付されたフレーズのみからなるサブネットワークを別々に読み出す因果関係サブネットワーク読出部３１０と、因果関係サブネットワーク読出部３１０により読み出された因果関係サブネットワークをそれぞれ別々に記憶するコミュニティ別因果関係サブネットワークＤＢ３１２と、コミュニティ別因果関係サブネットワークＤＢ３１２に記憶されたサブネットワークごとに、質問入力部２８０により選択された初期フレーズを起点として、因果関係により連鎖可能なフレーズを連鎖させることにより複数の未来シナリオ候補を生成し出力することを、初期フレーズを変化させながら行なう未来シナリオ候補生成部３１４と、未来シナリオ候補生成部３１４の出力する未来シナリオ候補を蓄積し、未来シナリオとしての妥当性を示す所定のスコアによりランキングして未来シナリオＤＢ３００に出力する未来シナリオランキング部３１６とを含む。各サブネットワークはコミュニティを形成している。したがって、上記したように初期フレーズと同じサブネットワークに属するフレーズを連鎖させると、同じコミュニティに属する因果関係のみを連鎖させた未来シナリオを得ることができる。
【００５５】
なお、未来シナリオ候補生成部３１４において、初期フレーズから各未来シナリオを生成する処理は、所定の条件が充足されたところで終了させる。例えば初期フレーズから連鎖したフレーズの数が一定数になった時点でその未来シナリオの生成を終わるようにしてもよい。又はコミュニティ内で連鎖させるフレーズが見つからなくなった時点で終了するようにしてもよい。
【００５６】
［動作］
図７〜図８を参照して、この第１の実施の形態に係る未来シナリオ生成システム２７０は以下のように動作する。ＷＥＢクローラ７２はインターネット７０のサイトから大量の文書を収集し、ＷＥＢアーカイブ７４に記憶させる。ＷＥＢアーカイブ７４への文書の収集が完了すると、因果関係フレーズペア収集装置９０がＷＥＢアーカイブ７４に格納された文書内から、大量の因果関係フレーズペアを収集する。その手法は特許文献１に記載された通りである。収集された因果関係フレーズペアは因果関係フレーズペアＤＢ９２に格納される。
【００５７】
因果関係ネットワーク構築装置２９０は、因果関係フレーズペアＤＢ９２に格納された因果関係フレーズペアを、結果フレーズと原因フレーズとが因果的一貫性を有するものを探して両者を連鎖させることを全ての因果関係に対して行うことにより、因果関係ネットワークを生成し、因果関係ネットワークＤＢ２９２に格納する。
【００５８】
コミュニティ検出装置２９４は、因果関係ネットワークＤＢ２９２に記憶された情報により記述される因果関係ネットワークにおいて、非特許文献１に記載された手法を実現するＣＰＭを用いてコミュニティを検出し、各因果関係フレーズペアに、その属するコミュニティを示す識別子を付した新たな因果関係ネットワーク（因果関係コミュニティ）を記述する情報を生成し、因果関係コミュニティＤＢ２９６に格納する。
【００５９】
図８を参照して、因果関係サブネットワーク読出部３１０は、因果関係コミュニティＤＢ２９６から各コミュニティに属する因果関係フレーズペアからなるサブネットワークを読出し、サブネットワーク別にコミュニティ別因果関係サブネットワークＤＢ３１２に格納する。未来シナリオ候補生成部３１４は、コミュニティ別因果関係サブネットワークＤＢ３１２に記憶されたコミュニティ別のサブネットワークの各々に対し、そのサブネットワーク内のフレーズを因果関係の有無により次々に連鎖させることにより多数の未来シナリオ候補を生成し未来シナリオランキング部３１６に与える。サブネットワークごとにこの処理が実行されるので、各コミュニティに属したフレーズのみを連鎖させた多数の未来シナリオ候補が生成される。
【００６０】
未来シナリオランキング部３１６は、生成された未来シナリオを蓄積する。未来シナリオランキング部３１６は、全ての未来シナリオの生成が終了すると、それらを所定のスコアでランキングし、ランキングの上位が先頭に近く配置され、かつ各因果関係をたどることができるような未来シナリオ表示画面を生成し、図示しない表示装置に表示する。そして、ユーザの指示に応答して、要求された未来シナリオが表示されるように表示装置を制御する。
【００６１】
以上のようにこの実施の形態によれば、因果関係フレーズペアから因果関係ネットワークが構築され、因果関係ネットワークからコミュニティが検出される。未来シナリオの候補は、同一のコミュニティに属するフレーズのみから生成される。したがって、生成される未来シナリオ中に、別のコミュニティに属するフレーズが紛れ込んでしまうおそれが小さく、意味的に一貫した未来シナリオのみが得られる。コミュニティの検出はネットワークの形状のみによって判断される。因果関係フレーズペアを構成する文言は使用されない。したがって、因果関係フレーズペアが記述された言語にかかわらず、この手法により有用な未来シナリオを得ることができる。
【００６２】
＜第２の実施の形態＞
上記第１の実施の形態では、図７に示すように、因果関係ネットワークＤＢ２９２に記憶された因果関係ネットワークからコミュニティを検出し、コミュニティの識別子が各因果関係フレーズペアに付された新たなＤＢ（因果関係コミュニティＤＢ）が形成され、これからコミュニティ別のサブネットワークを構築している。しかし、本発明はそのような実施の形態には限定されない。例えば、因果関係ネットワークＤＢから因果関係コミュニティＤＢを新たに構築するのではなく、因果関係ネットワークの各レコードにコミュニティ識別子を記憶するためのフィールドを設けておき、各レコードに対応する因果関係フレーズペアが属するコミュニティを検出したらこのフィールドに識別子を格納するようにしても良い。第２の実施の形態はそのような構成である。
【００６３】
図９を参照して、第２の実施の形態に係る未来シナリオ生成システム３２０は図７の未来シナリオ生成装置２７２に代えて未来シナリオ生成装置３３０を含む。
【００６４】
未来シナリオ生成装置３３０が未来シナリオ生成装置２７２と異なるのは、図７の因果関係ネットワークＤＢ２９２、コミュニティ検出装置２９４、及び因果関係コミュニティＤＢ２９６を含まず、これらに代えて、上記したように予めコミュニティ識別子のフィールドが設けられた因果関係ネットワークのレコードからなる因果関係ネットワークＤＢ３４０を含む点である。未来シナリオ生成装置３３０はまた、因果関係ネットワークＤＢ３４０に格納された情報により表される因果関係ネットワークからコミュニティを検出し、各因果関係フレーズペアのレコードの識別子のフィールドに、その因果関係フレーズペアが属するコミュニティの識別子を代入してレコードを更新する処理を行うコミュニティ検出装置３４２を含む点でも未来シナリオ生成装置２７２と異なる。
【００６５】
この第２の実施の形態では、因果関係ネットワークＤＢ２９２から因果関係コミュニティＤＢ２９６を改めて構築するのではなく、因果関係サブネットワーク読出部３１０を更新することで因果関係コミュニティＤＢ２９６と同様の情報を得る点に特色がある。その他の構成及び動作は第１の実施の形態の構成及び動作と同一である。
【００６６】
＜第３の実施の形態＞
第１の実施の形態では因果関係ネットワークＤＢ２９２から因果関係コミュニティＤＢ２９６を構築している。第２の実施の形態では、因果関係ネットワークＤＢ３４０をコミュニティ識別子で更新することにより、因果関係コミュニティＤＢ２９６と同様の情報を因果関係ネットワークＤＢ３４０に持たせるようにしている。しかし本発明はそのような実施の形態には限定されない。この第３の実施の形態では、因果関係ネットワークＤＢ自体は変更されず、コミュニティと、コミュニティに属する因果関係フレーズペアとのリスト（コミュニティリストと呼ぶ。）を別のファイルに保存する。
【００６７】
図１０を参照して、この第３の実施の形態にかかる未来シナリオ生成システム３５０が図７に示す未来シナリオ生成システム２７０と異なるのは、未来シナリオ生成装置２７２に代えて未来シナリオ生成装置３６０を含む点である。
【００６８】
未来シナリオ生成装置３６０が図７の未来シナリオ生成装置２７２と異なるのは、図７のコミュニティ検出装置２９４、因果関係コミュニティＤＢ２９６及び未来シナリオ生成部２９８に代えて、因果関係ネットワークＤＢ２９２に記憶された情報により記述される因果関係ネットワークからコミュニティを検出し、コミュニティごとに、その識別子と、そのコミュニティに属する因果関係フレーズペアの識別子のリストとからなるコミュニティリストを出力するコミュニティ検出装置３７０と、このコミュニティリストを記憶するコミュニティリスト記憶部３７２と、コミュニティリスト記憶部３７２に記憶されたコミュニティリストを参照しながら、コミュニティごとに未来シナリオを生成し出力する未来シナリオ生成部３７４とを含む点である。
【００６９】
この第３の実施の形態では、コミュニティ検出装置３７０が因果関係ネットワークＤＢ２９２に記憶された情報に基づき、因果関係ネットワークのコミュニティを検出し、コミュニティごとにコミュニティリストをコミュニティリスト記憶部３７２に格納する。
【００７０】
未来シナリオ生成部３７４は、コミュニティリスト記憶部３７２に記憶されたコミュニティリストを読出し、コミュニティごとに、因果関係ネットワークＤＢ２９２からそのコミュニティを構成する因果関係フレーズペアを読出して未来シナリオを生成し未来シナリオＤＢ３００に出力する。
【００７１】
この第３の実施の形態では、未来シナリオ生成装置３６０があるコミュニティに関するコミュニティリストを生成しコミュニティリスト記憶部３７２に出力するたびに、未来シナリオ生成部３７４がそのコミュニティに関する処理を行うことができる。すなわち未来シナリオ生成装置３６０によるコミュニティ検出と未来シナリオ生成部３７４による未来シナリオの生成とを同時並列的に実行できるという効果が得られる。
【００７２】
その他の点において、未来シナリオ生成装置３６０は図７に示す未来シナリオ生成装置２７２と構成及び動作の点において同じである。
【００７３】
なお、上記実施の形態に係る未来シナリオ生成システムは、いずれも質問を受けてから因果関係ネットワークを構築し、構築された因果関係ネットワークから未来シナリオを生成している。しかし本発明は、そのような実施の形態には限定されない。
【００７４】
例えば、予め因果関係フレーズペアＤＢ９２に記憶された各フレーズについて、そのフレーズを起点とする因果関係ネットワークが得られるように、予め包括的な因果関係ネットワークを構築し、コミュニティの検出まで行っておくようにしてもよい。この場合、質問が入力された時点でその質問と意味的に同じフレーズがどのコミュニティに属するかを最初に決め、そのコミュニティに属するフレーズのみから未来シナリオを生成すればよい。
【００７５】
また、同様の手法をさらにすすめ、全ての未来シナリオを予め生成し、未来シナリオＤＢ３００に記憶しておいてもよい。各未来シナリオには、その未来シナリオを生成する際に用いられたフレーズが属するコミュニティの識別子を記憶しておく。質問が入力された時点で、その質問と意味的に同じフレーズを起点とし、同じコミュニティの識別子を持つ未来シナリオを検索し出力することで、質問に対する未来シナリオとして適切なものを選択し表示できる。
【００７６】
［コンピュータによる実現］
上記実施の形態に係るシステムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１１はこのコンピュータシステム９３０の外観を示し、図１２はコンピュータシステム９３０の内部構成を示す。
【００７７】
図１１を参照して、このコンピュータシステム９３０は、メモリポート９５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ９５０を有するコンピュータ９４０と、キーボード９４６と、マウス９４８と、モニタ９４２とを含む。
【００７８】
図１２を参照して、コンピュータ９４０は、メモリポート９５２及びＤＶＤドライブ９５０に加えて、ＣＰＵ（中央処理装置）９５６と、ＣＰＵ９５６、メモリポート９５２及びＤＶＤドライブ９５０に接続されたバス９６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）９５８と、バス９６６に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）９６０とを含む。コンピュータシステム９３０はさらに、他端末との通信を可能とするネットワークへの接続を提供するネットワークインターフェイス（Ｉ／Ｆ）９４４を含む。ネットワークI／Ｆ９４４は、インターネット７０に接続されてもよい。
【００７９】
コンピュータシステム９３０を上記した各実施の形態のシステムを構成する各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ９５０又はメモリポート９５２に装着されるＤＶＤ９６２又はリムーバブルメモリ９６４に記憶され、さらにハードディスク９５４に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ９４０に送信されハードディスク９５４に記憶されてもよい。プログラムは実行の際にＲＡＭ９６０にロードされる。ＤＶＤ９６２から、リムーバブルメモリ９６４から、又はネットワークを介して、直接にＲＡＭ９６０にプログラムをロードしてもよい。
【００８０】
このプログラムは、コンピュータ９４０を、上記実施の形態に係るシステムの各機能部として機能させるための複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ９４０上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、又は、コンピュータ９４０にインストールされる各種プログラミングツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。コンピュータシステム９３０の動作は周知である。したがってここでは繰返さない。
【００８１】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００８２】
３４  社会シナリオＤＢ
３６  社会シナリオ出力部
３８  社会シナリオ
６０  社会シナリオ生成システム
７０  インターネット
７４  ＷＥＢアーカイブ
７６  社会シナリオ生成装置
９０  因果関係フレーズペア収集装置
９２  因果関係フレーズペアＤＢ
９４  社会シナリオ生成部
１９０  因果関係ネットワーク
２５０、２５２、２５４  コミュニティ
２７０、３２０、３５０  未来シナリオ生成システム
２７２、３３０、３６０  未来シナリオ生成装置
２９０  因果関係ネットワーク構築装置
２９２、３４０  因果関係ネットワークＤＢ
２９４、３４２，３７０  コミュニティ検出装置
２９６  因果関係コミュニティＤＢ
２９８、３７４  未来シナリオ生成部
３００  未来シナリオＤＢ
３０２  未来シナリオ出力部
３１０  因果関係サブネットワーク読出部
３１２  コミュニティ別因果関係サブネットワークＤＢ
３１４  未来シナリオ候補生成部
３１６  未来シナリオランキング部
３７２  コミュニティリスト記憶部
【図１】
0006653499.tif 000002
【図２】
0006653499.tif 000003
【図３】
0006653499.tif 000004
【図４】
0006653499.tif 000005
【図５】
0006653499.tif 000006
【図６】
0006653499.tif 000007
【図７】
0006653499.tif 000008
【図８】
0006653499.tif 000009
【図９】
0006653499.tif 000010
【図１０】
0006653499.tif 000011
【図１１】
0006653499.tif 000012
【図１２】
0006653499.tif 000013