(57)【要約】【課題】因果関係を連鎖させて得られるシナリオ候補が妥当か否かを判定するシナリオパッセージ分類器とシナリオ分類器を提供する。【解決手段】シナリオパッセージ分類器は、シナリオ候補に含まれる全名詞句が、１文書の一定数以内の文からなる文書断片内で共起している文書断片の集合を検索するサポートパッセージ検索部３０６と、シナリオ候補と、検索された各サポートパッセージの各々との組み合わせの各々から素性を抽出する素性抽出部３１４と、素性の元となったサポートパッセージに基づいて、シナリオ候補の信頼度を表すスコアを出力する分類器３１６と、分類器３１６により出力されたスコアを蓄積し、最大値をシナリオ候補の信頼度として選択するスコア蓄積部３１８及び最大値選択部３３０を含む。シナリオ分類器は、このシナリオパッセージ分類器の出力するスコアを含む素性により、シナリオ候補の因果関係としての妥当性を判定する。【選択図】図６
2018055142.tif 000002
【特許請求の範囲】
【請求項１】
連鎖した因果関係を表す可能性がある少なくとも３つのイベント表現からなるシナリオ候補を受け、複数の文書において当該シナリオ候補の内容を支持するパッセージを求めることにより、当該シナリオ候補の信頼度を表すスコアを出力するためのシナリオパッセージ分類器であって、
シナリオパッセージ分類器は、前記複数の文書を記憶する、機械可読な記憶装置に接続されて用いられ、
前記シナリオ候補に含まれる全ての名詞句が、１文書の一定数以内の文を含む文書断片内で共起しているような文書断片の集合を前記複数の文書内で検索するための文書断片検索手段と、
前記シナリオ候補と、前記文書断片検索手段により検索された各文書断片の各々との組み合わせの各々から、予め定められた素性を抽出するための素性抽出手段と、
前記シナリオ候補に関する前記組み合わせの各々について、前記素性を受け、当該素性の元となった前記文書断片に基づいて算出される、入力されたシナリオ候補の信頼度を表すスコアを出力するよう、予め機械学習により学習済のスコア出力手段と、
前記シナリオ候補に関する前記組み合わせの各々について、前記スコア出力手段により出力されたスコアの内の最大値を前記シナリオ候補の信頼度として選択し出力するためのスコア選択手段とを含む、シナリオパッセージ分類器。
【請求項２】
前記一定数は２以上かつ１０以下の整数である、請求項１に記載のシナリオパッセージ分類器。
【請求項３】
前記一定数は３以上かつ８以下である、請求項２に記載のシナリオパッセージ分類器。
【請求項４】
前記シナリオ候補のうち、前記スコアがしきい値以上となったシナリオ候補を記憶するための記憶手段をさらに含む、請求項１に記載のシナリオパッセージ分類器。
【請求項５】
連鎖した因果関係を表す可能性がある少なくとも３つのイベント表現からなるシナリオ候補を受け、当該シナリオ候補が因果関係として妥当か否かを判定するシナリオ分類器であって、
前記シナリオ候補の入力を受け、当該シナリオ候補を、請求項１〜請求項３の何れかに記載のシナリオパッセージ分類器に与え、当該シナリオパッセージ分類器の出力する信頼度のスコアを受信するスコア受信手段と、
前記シナリオ候補から、所定の素性を抽出するための素性抽出手段と、
前記素性抽出手段により抽出された前記所定の素性と、前記スコア受信手段が受信したスコアとを含む入力を受けると、前記シナリオ候補の、因果関係としての妥当性を示すスコアを出力するよう、予め機械学習により学習済の判定手段とを含む、シナリオ分類器。
【請求項６】
コンピュータを、請求項１〜請求項５の何れかに記載の各手段として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は人工知能分野における自然言語処理に関し、特に、因果関係を表す表現を連鎖させることにより得られる因果関係候補（「シナリオ候補」という。）が、連続する因果関係として妥当か否かを判定するための技術に関する。
【背景技術】
【０００２】
因果関係とは、「地球温暖化が進む→氷河が減る」、「氷河が減る→海面が上昇する」というように、原因となるイベントを表す表現（イベント表現）とその結果となるイベント表現とを順序付きのペアにしたデータのことをいう。さらに、このような因果関係を２つ以上連鎖させることにより得られる「地球温暖化が進む→氷河が減る→海面が上昇する。」のような、３つ以上のイベント表現からなる表現をシナリオと呼ぶ。このようなシナリオの自動生成は、「起こり得る未来の展開を予測し、将来の戦略や対応を練る」シナリオプランニングと呼ばれるシミュレーションに基づく意思決定手法を自動化する試みとみなせる。自動生成によって得られたシナリオを観察することで、将来における潜在的なチャンス及びリスクを考慮したより良い意思決定を行うことができる。その結果、シナリオに示されたチャンスを獲得したり、シナリオに示されたリスクを回避したりするために役立つ。
【０００３】
シナリオの自動生成に関して、近年盛んに研究が行われている。非特許文献１には、２０１３年に発表された論文に記載されている「地球温暖化が進む→海水温が上昇する→腸炎ビブリオが汚染する→食中毒が増加する」というようなシナリオを、当該論文が投稿される前の文書のみを用いて生成したことが報告されている。
【０００４】
非特許文献１に記載の技術は、大規模なウェブアーカイブから獲得した因果関係を連結することで、シナリオを生成した。著者らが獲得した因果関係は「地球温暖化が進む→海水温が上昇する」のような２つのイベントから構成されている。「地球温暖化が進む→海水温が上昇する」と「海水温が上昇する→腸炎ビブリオが汚染する」という２つの因果関係を連結することで、「地球温暖化が進む→海水温が上昇する→腸炎ビブリオが汚染する」というシナリオを生成した。
【０００５】
非特許文献１では、２つの因果関係の内、一方の結果部分と、他方の原因部分とが実質的に同一であると判定されたときに、これら２つの因果関係を連結可能と判定する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Hashimoto,  C.,  Torisawa,  K.,  Kloetzer,  J.,  Sano,  M.,  Varga,  I.,  Oh,  J.-H.,  and  Kidawara,  Y.  (2014).  “Toward  Future  Scenario  Generation:  Extracting  Event  Causality  Exploiting  Semantic  Relation,  Context,  and  Association  Features.”  In  Proceedings  of  the  52nd  Annual  Meeting  of  the  Association  for  Computational  Linguistics  (ACL  2014),  pp.  987-997.
【非特許文献２】Hashimoto,  C.,  Torisawa,  K.,  Saeger,  S.  D.,  Oh,  J.-H.,  and  Kazama,  J.  (2012).  “Excitatory  or  inhibitory:  A  new  semantic  orientation  extractions  contradiction  and  causality  from  the  web.”  In  Proceedings  of  EMNLP-CoNLL  2012:  Conference  on  Empirical  Methods  in  Natural  Language  Processing  and  Natural  Language  Learning,  pp.  619-630.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、非特許文献１に記載された手法では「バリウムを飲む→Ｘ線検査を受ける→飛行機に搭乗する」のような、一貫性の無い誤ったシナリオを生成してしまう可能性がある。このようなシナリオを生成してしまう原因の１つとして、連結する因果関係間の文脈の一貫性を十分に確認できていないことが挙げられる。「バリウムを飲む→Ｘ線検査を受ける→飛行機に搭乗する」というシナリオは、「バリウムを飲む→Ｘ線検査を受ける」という病院の文脈の因果関係と、「Ｘ線検査を受ける→飛行機に搭乗する」という空港の文脈の因果関係を、それぞれの文脈を考慮せず連結したために生じたと考えられる。この問題を避けるために、非特許文献１に記載された手法では因果関係の抽出元の文に含まれる単語の重複度合いを用いて、連結する因果関係間の一貫性の有無を図るフィルタを作成した。その結果一定の有効性をあげたが、適用したフィルタの効果は十分とは言えなかった。
【０００８】
それ故に本発明の目的は、因果関係を連鎖させて得られるシナリオ候補が、文脈に一貫性がある妥当なものか否かを判定するためのシナリオ分類器、そのためにシナリオ候補の信頼度を算出するシナリオパッセージ分類器を提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の局面に係るシナリオパッセージ分類器は、連鎖した因果関係を表す可能性がある少なくとも３つのイベント表現からなるシナリオ候補を受け、複数の文書において当該シナリオ候補の内容を支持するパッセージを求めることにより、当該シナリオ候補の信頼度を表すスコアを出力する、このシナリオパッセージ分類器は、複数の文書を含む、コンピュータ読取り可能な記憶装置に接続されて用いられる。このシナリオパッセージ分類器は、シナリオ候補に含まれる全ての名詞句が、１文書の一定数以内の文を含む文書断片内で共起しているような文書断片の集合を上記複数の文書内で検索するための文書断片検索手段と、シナリオ候補と、文書断片検索手段により検索された各文書断片の各々との組合せの各々から、予め定められた素性を抽出するための素性抽出手段と、シナリオ候補に関する組合せの各々について、素性を受け、当該素性の元となった文書断片に基づいて算出される、入力されたシナリオ候補の信頼度を表すスコアを出力するよう、予め機械学習により学習済のスコア出力手段と、シナリオ候補に関する組合せの各々について、スコア出力手段により出力されたスコアの内の最大値をシナリオ候補の信頼度として選択し出力するためのスコア選択手段とを含む。
【００１０】
好ましくは、一定数は２以上かつ１０以下の整数であり、より好ましくは、３以上かつ８以下である。
【００１１】
さらに好ましくは、シナリオパッセージ分類器はさらに、シナリオ候補の内、スコアがしきい値以上となったシナリオ候補を記憶するための記憶手段を含む。
【００１２】
本発明の第２の局面に係るシナリオ分類器は、連鎖した因果関係を表す可能性がある少なくとも３つのイベント表現からなるシナリオ候補を受け、当該シナリオ候補が因果関係として妥当か否かを判定する。このシナリオ分類器は、シナリオ候補の入力を受け、当該シナリオ候補を、上記した何れかのシナリオパッセージ分類器に与え、当該シナリオパッセージ分類器の出力する信頼度のスコアを受信するスコア受信手段と、シナリオ候補から、所定の素性を抽出するための素性抽出手段と、素性抽出手段により抽出された所定の素性と、スコア受信手段が受信したスコアとを含む入力を受けると、シナリオ候補の、因果関係としての妥当性を示すスコアを出力するよう、予め機械学習により学習済の判定手段とを含む。
【００１３】
本発明の第３の局面に係るコンピュータプログラムは、コンピュータを、上記した各装置の各手段として機能させる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態に係るシナリオ生成システムの構成を示すブロック図である。
【図２】図１に示すシナリオ生成システムで使用されるシナリオ候補生成部のブロック図である。
【図３】図１に示すシナリオ生成システムで使用されるシナリオ分類器のブロック図である。
【図４】図３に示すシナリオ分類器に含まれる基本素性抽出部のブロック図である。
【図５】図３に示すシナリオ分類器に含まれるシナリオパッセージ分類器素性抽出部のブロック図である。
【図６】図１に示すシナリオ生成システムで使用されるシナリオパッセージ分類器のブロック図である。
【図７】図６に示すシナリオパッセージ分類器で使用される素性抽出部のブロック図である。
【図８】グループ別意味シナリオスコアを算出するためのプログラムの制御構造を示すフローチャートである。
【図９】分類器が使用する素性の一覧を表形式で示す図である。
【図１０】シナリオパッセージ分類器が使用する素性の一覧を表形式で示す図である。
【図１１】実験において各手法により得られたスコアによって、シナリオ−シナリオパッセージの組をランキングして得たPRカーブを示すグラフである。
【図１２】実験において各手法により得られたスコアによってシナリオをランキングした時のPRカーブを示すグラフである。
【図１３】本発明の一実施の形態に係るシナリオ生成システムを実現するコンピュータシステムの外観図である。
【図１４】図１３に示すコンピュータのブロック図である。
【発明を実施するための形態】
【００１５】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の説明で用いる「ＳＶＭ」とは、機械学習の分野でよく知られた分類器である「サポート・ベクトル・マシン」のことをいう。また本明細書では、「ＳＰＰＲ」とはシナリオパッセージ分類器（Scenario  Passage  Pair  Recognizer)のことをいう。
【００１６】
［第１の実施の形態］
〔構成〕
〈全体構成〉
図１に、本発明の一実施の形態に係るシナリオ生成システム３０のブロック図を示す。図１を参照して、シナリオ生成システム３０は、因果関係を表すイベント表現のペアからなる因果関係表現を多数記憶するための、コンピュータ読出可能な記憶装置である因果関係表現記憶部４０と、因果関係表現記憶部４０に接続され、因果関係表現記憶部４０に含まれる因果関係の内、一方の因果関係の結果部分と、他方の因果関係の原因部分とが実質的に一致するような因果関係ペアを取出し、実質的に一致する部分でこのペアを連鎖させることによりシナリオ候補を生成するためのシナリオ候補生成部４２と、シナリオ候補生成部４２により生成された多数のシナリオ候補を記憶するためのシナリオ候補記憶部４４と、シナリオ候補記憶部４４に記憶されたシナリオ候補の各々について、それらが現れる文脈を考慮して、因果関係を表すものとして妥当か否かを示すスコアを算出し、スコアの降順にシナリオ候補を並べたシナリオ候補ランキング５２を出力するためのシナリオ分類器４６とを含む。シナリオ候補生成部４２によるシナリオ候補の生成は非特許文献１によるものと同様である。
【００１７】
シナリオ生成システム３０はさらに、インターネット上のウェブから収集した大量の文書を記憶したウェブアーカイブ５０と、シナリオ分類器４６からシナリオ候補を受取り、ウェブアーカイブ５０から、シナリオ候補を表現する可能性のある文書断片を抽出し、抽出された文書断片が全体としてシナリオ候補の示す内容を表現（支持）しているか否かを判定する処理を行い、その結果に基づいて、シナリオ候補の因果関係としての信頼度を示すスコアを算出してシナリオ分類器４６に出力する処理と、スコアの高いシナリオ候補をシナリオパッセージとして別途出力する処理とを行うためのシナリオパッセージ分類器４８と、シナリオパッセージ分類器４８の出力する、スコアの高いシナリオ候補を、シナリオ分類器４６の学習時に正例として使用するために記憶するための正例記憶部５４とを含む。
【００１８】
因果関係表現記憶部４０に記憶された因果関係表現の各々は、原因を表すイベント表現と、その結果を表すイベント表現とを示す表現の組合せである。これらイベント表現は、「地球温暖化が進む」、「氷河が減る」のように、名詞句と述部との組合せからなる。実際には、これらイベント表現は、本実施の形態では、「Ｘが進む」＋「地球温暖化」、及び「Ｘが減る」＋「氷河」のように、主語に相当する部分を示すスロット（変数）を持つ述部と、そのスロットに挿入される名詞句との組合せとして表現されている。「Ｘが進む」のように、スロットと述部とを組合せたものを、本明細書では「述語テンプレート」と呼ぶ。すなわち、各因果関係は、述語テンプレートと名詞句との組合せにより表現される。
【００１９】
述語テンプレートには、活性不活性極性と呼ばれる極性（以下、活性不活性極性を単に「極性」と呼ぶ。）が割り当てられる。この極性は、非特許文献２において報告されたものであり、因果関係又は対立するイベント表現を獲得するために導入されたものである。述語テンプレートは、その極性によって、活性、不活性、極性なしのいずれかに分類される。活性の極性は、「Ｘが進む」のように項部分の名詞句の働き、活動、意思又は役割を活発にする述語テンプレートに付与される。不活性の極性は、「Ｘが止まる」のように、項部分の名詞句の効果を抑えたり、抑圧したりする述語テンプレートに付与される。活性と不活性のどちらにも分類されない述語テンプレートは極性なしに分類される。述語テンプレートの極性は、予め大量の文書に対する自然言語処理を行って決定される。
【００２０】
〈シナリオ候補生成部４２の構成〉
図２を参照して、シナリオ候補生成部４２は、因果関係表現記憶部４０に記憶されている因果関係の内、一方の結果部と他方の原因部とが名詞句を共有するような因果関係の対を選択する因果関係対選択部７０と、因果関係対選択部７０により選択された因果関係の対の内、両者が共有する名詞句を結果部に持つ第１の因果関係候補を選択する第１候補選択部７２と、両者が共有する名詞句を原因部に持つ第２の因果関係候補を選択する第２候補選択部７４とを含む。
【００２１】
シナリオ候補生成部４２はさらに、述語テンプレートの極性を記憶するためのテンプレート極性記憶部８０と、テンプレート極性記憶部８０を参照することにより、第１候補選択部７２により選択された第１の因果関係候補の述語テンプレートの極性を判定し、第１の因果関係候補に付して出力する第１候補極性判定部７６と、テンプレート極性記憶部８０を参照して、第２候補選択部７４により選択された第２の因果関係候補の述語テンプレートの極性を判定し、第２の因果関係候補に付して出力する第２候補極性判定部７８と、第１候補極性判定部７６の出力する第１の因果関係候補と第２候補極性判定部７８が出力する第２の因果関係候補とについて、それらの述語テンプレートの極性が一致する因果関係候補の組合せをシナリオ候補として選択し、シナリオ候補記憶部４４に出力するシナリオ候補選択部８２とを含む。
【００２２】
〈シナリオ分類器４６の構成〉
図３を参照して、シナリオ分類器４６は、シナリオ候補記憶部４４に記憶されたシナリオ候補を順番に１つずつ読出し出力するシナリオ候補読出部１００と、シナリオ候補読出部１００が出力したシナリオ候補について、後述するような基本素性１２２を抽出し、あわせて、シナリオパッセージ分類器４８の出力を用いて得られるＳＰＰＲ素性の抽出に用いられるＳＰＰＲ素性生成用情報１０４を出力する基本素性抽出部１０２と、シナリオ候補読出部１００の出力するシナリオ候補をシナリオパッセージ分類器４８に送信し、ＳＰＰＲ素性の出力を要求するシナリオ送信部１０６と、シナリオ送信部１０６により送信された要求に応じてシナリオパッセージ分類器４８から送信されてくる、そのシナリオ候補が実際の文書の文書断片によりどの程度サポートされているかを示すスコアを受信し、信頼度スコア１２０として出力するスコア受信部１０８とを含む。信頼度スコア１２０は、このスコアとともに、シナリオ候補をサポートするサポートパッセージが見つかったか否かを示すフラグを含む。
【００２３】
シナリオ分類器４６はさらに、基本素性抽出部１０２からのＳＰＰＲ素性生成用情報１０４及びスコア受信部１０８からの信頼度スコア１２０を受け、シナリオパッセージ分類器４８による判定の結果を反映したＳＰＰＲ素性１２４を出力するためのＳＰＰＲ素性抽出部１１０と、基本素性抽出部１０２からの基本素性１２２及びＳＰＰＲ素性抽出部１１０からのＳＰＰＲ素性１２４からなる素性ベクトルを受け、素性の値に応じて、シナリオ候補読出部１００の出力したシナリオ候補が因果関係を表すシナリオとしてどの程度妥当かを表すスコアを算出し出力するように予め機械学習により学習済のＳＶＭ１１２とを含む。
【００２４】
シナリオ分類器４６はさらに、ＳＶＭ１１２の出力するスコアと、シナリオ候補読出部１００が出力したシナリオ候補とを受け、シナリオ候補とＳＶＭ１１２の出力したスコアとを互いに関連付けて記録するために出力するスコア記録部１１４と、スコア記録部１１４の出力するシナリオ候補とそのスコアとを互いに関連付けて読出可能に蓄積して記憶するスコア付シナリオ候補記憶部１１６と、スコア付シナリオ候補記憶部１１６に記憶されたシナリオ候補を、そのスコアの降順でソートすることによりランク付してシナリオ候補ランキング５２を生成し出力するためのシナリオ候補ランキング部１１８を含む。
【００２５】
シナリオ分類器４６のＳＶＭ１１２が使用する素性について、図９に一覧を示す。
【００２６】
図９を参照して、この素性は４つのグループに別れる。第１のグループはB1〜B4、第２のグループはH1〜H4，第３のグループはSP1〜SP3，第４のグループはGSP1〜GSP3からなる。
【００２７】
第１のグループのB1は、シナリオ内の述語テンプレート、B2はシナリオ内の述語テンプレートの活性不活性極性、B3はウェブアーカイブ６億文書から獲得したシナリオ内の名詞句の対数頻度、B4は参考文献１のアルゴリズムをベースとして、ウェブアーカイブ６億文書から獲得したシナリオ内のシナリオ名詞句の意味クラスである。
【００２８】
第２のグループのH1は、与えられたシナリオ内に含まれる因果関係の非特許文献１によるＳＶＭスコアをシグモイド関数で[0,1]に正規化した値、H2は非特許文献１によるシナリオのスコア（H1を乗算した値）、H3はシナリオに含まれる因果関係の抽出元の文書の間の、単語重複のコサイン類似度、H4はシナリオの接合部分（２つの因果関係を接続する、両者に共通するイベント表現の述語テンプレート）の含意関係スコアを示す。このスコアは、順向き及び逆向きの２種類である。
【００２９】
第３のグループのSP1は、シナリオパッセージ認識の信頼度スコアをシグモイド関数で[0,1]に正規化した値である。文書断片が発見できなかったときのシナリオのシナリオパッセージ認識の信頼度スコアは０として扱う。SP2は、シナリオパッセージ認識において、入力されたシナリオに対応する文書断片が発見できたかどうかを示す。SP3は正規化したシナリオスコア（H2）と正規化したシナリオパッセージ認識の信頼度スコア（SP1）の和である。
【００３０】
第４のグループのGSP1、GSP2及びGSP3は、それぞれ第３のグループのSP1、SP2及びSP3に対応するものである。GSP1、GSP2及びGSP3は、シナリオパッセージ認識の信頼度スコアを、犯科したシナリオ（意味シナリオ）でグループ化し、その最大値を求めてSP1〜SP3を求めたものである。例えば、シナリオ「地球温暖化が進行する→氷河が減少する→海面が上昇する」は、意味化シナリオでは「#C101:活性→#C73:不活性→#C33:活性(「#C」は意味クラスを表す。)」として表現される。GSP1〜GSP3の獲得の際には、まず全てのシナリオ候補に対してシナリオパッセージ認識のスコアを求めた後、全シナリオを意味化シナリオに置き換え、共通の意味化シナリオを持つシナリオとスコアをグループ化する。その後、各グループ内でのスコアの最大値をそのグループに属するシナリオのシナリオパッセージ認識のスコアとして扱い、SP1〜SP3と同様の方法で素性を獲得する。
【００３１】
《シナリオ分類器４６の基本素性抽出部１０２の構成》
図４を参照して、基本素性抽出部１０２は、種々様々な情報を用いて基本素性１２２を生成する。基本素性抽出部１０２が基本素性１２２を生成する際に使用する情報には、因果関係スコア、対数頻度、名詞句クラス、抽出元文書、含意関係スコア、及び述語テンプレート極性がある。これらについて以下、説明する。
【００３２】
−因果関係スコア−
因果関係スコアとは、与えられたシナリオに含まれる因果関係の各々について、非特許文献１による教師なしのシナリオ生成で使用されていたＳＶＭの出力するスコアを、シグモイド関数で［０，１］の範囲に正規化した値のことをいう。このスコアは、各因果関係自身の、因果関係としての確からしさを表す指標の１つである。この値は事前に計算され、因果関係ごとに因果関係スコア記憶部１４０にＤＢ化して記憶されており、因果関係をキーにその因果関係スコアを検索できる。因果関係スコアの算出には、本実施の形態では非特許文献１の手法を用いた。
【００３３】
−対数頻度−
事前に、大量の文書に含まれる名詞句毎に、その出現頻度を求めて対数をとったものである。この情報は対数頻度記憶部１４２にＤＢ化されて記憶されており、名詞句をキーに、その対数頻度を検索できる。
【００３４】
−名詞句クラス−
名詞句の意味クラスである。本実施の形態では、末尾に記載した参考文献１に開示された手法をベースに、ウェブアーカイブに含まれる大量の文書から名詞句クラスを予め算出し、名詞句クラス記憶部１４４にＤＢ化して記憶してある。名詞句クラスは、名詞句をキーに名詞句クラス記憶部１４４を検索することができる。
【００３５】
−抽出元文書−
後述するように、素性の一部は、与えられたシナリオに含まれる因果関係の抽出元の文書間の単語重複の類似度（コサイン類似度）を含む。本実施の形態では、この素性を算出するために、シナリオの抽出元となる文書を全て抽出元文書記憶部１４６に記憶しておき、実際のシナリオ候補が選択されると、その都度この類似度を算出する。
【００３６】
−含意関係スコア−
含意関係スコアは、２つの述語テンプレートの間で、一方が他方を含意している程度を表すスコアである。述語テンプレートの順序を変えることにより、２つの述語テンプレートの間でこのスコアは２つ算出される。含意関係スコアは、参考文献２にしたがって予め算出し、含意関係スコア記憶部１４８に２つの述語テンプレートの順序付ペアをキーにしてデータベース化し、記憶してある。
【００３７】
−述語テンプレート極性−
各述語テンプレートには、前述したとおり非特許文献２の技術を用いて極性が割り当てられている。この値を述語テンプレートごとに極性記憶部１５０に記憶しておき、述語テンプレートをキーにその極性を知ることができる。
【００３８】
図４を参照して、基本素性抽出部１０２は、シナリオ候補１５２が与えられると、そのシナリオ候補に含まれるイベント表現を構成する「名詞句＋述部」の名詞句部分（シナリオ名詞句)を抽出する名詞句抽出部１５６と、名詞句抽出部１５６により抽出された各シナリオ名詞句について、それらの対数頻度を対数頻度記憶部１４２から検索し、素性の一部として出力する対数頻度検索部１５４と、名詞句抽出部１５６により抽出された各シナリオ名詞句について、その名詞句クラスを名詞句クラス記憶部１４４から検索して決定し、素性の一部として出力する名詞句クラス決定部１５８と、シナリオ候補１５２に含まれる各因果関係の因果関係スコアを因果関係スコア記憶部１４０から検索し素性の一部として出力する因果関係スコア検索部１６０と、因果関係スコア検索部１６０により検索された、シナリオ候補１５２に含まれる各因果関係のスコアを互いに乗算することによりシナリオスコアを算出し、素性の一部として出力するためのシナリオスコア算出部１６８とを含む。
【００３９】
基本素性抽出部１０２はさらに、シナリオ候補１５２から各因果関係のイベント表現を構成する述語テンプレートを抽出するテンプレート抽出部１６４と、テンプレート抽出部１６４により抽出された各述語テンプレートの極性を極性記憶部１５０から検索することで各述語テンプレートの極性を決定し、素性の一部として出力する極性決定部１７２と、テンプレート抽出部１６４が抽出した２つの述語テンプレートの組合せについて、両方向の含意関係スコアを含意関係スコア記憶部１４８から読出すための含意関係スコア読出部１７０と、シナリオ候補１５２に含まれる因果関係が抽出された元文書の間で、それら文書内に含まれる単語の分布の類似度を算出し、素性の一部として出力する単語類似度算出部１７４とを含む。
【００４０】
基本素性抽出部１０２はさらに、各シナリオ名詞句について対数頻度検索部１５４により検索された対数頻度、各シナリオ名詞句に対して名詞句クラス決定部１５８により決定された名詞句クラス、シナリオ候補１５２に含まれる各因果関係について因果関係スコア検索部１６０により検索された因果関係スコア、シナリオスコア算出部１６８により算出されたシナリオスコア、テンプレート抽出部１６４によりシナリオ候補から抽出された述語テンプレート、極性決定部１７２により決定された各述語テンプレートの極性、含意関係スコア読出部１７０が出力する述語テンプレートの各組合せについての両方向の含意関係スコア、及び単語類似度算出部１７４により出力される、シナリオ候補１５２に含まれる因果関係が抽出された元文書の間の単語の分布の類似度を受け、基本素性１２２に変換してＳＶＭ１１２に出力する素性ベクトル変換部１７８を含む。名詞句クラス決定部１５８が決定した、各名詞句クラス１８４、シナリオスコア算出部１６８が算出したシナリオスコア１８２、及び極性決定部１７２が決定した各述語テンプレートの極性１８０は、ＳＰＰＲ素性生成用情報１０４として図３に示すＳＰＰＲ素性抽出部１１０に与えられる。
【００４１】
《シナリオ分類器４６のＳＰＰＲ素性抽出部１１０の構成》
図５を参照して、ＳＰＰＲ素性抽出部１１０は、図３に示すスコア受信部１０８からの信頼度スコア１２０、基本素性抽出部１０２からのＳＰＰＲ素性生成用情報１０４（極性１８０、シナリオスコア１８２、名詞句クラス１８４）、及び予め算出されたグループ別意味シナリオスコアを用いてＳＰＰＲ素性１２４を算出する。
【００４２】
グループ別意味シナリオとは、シナリオ候補に含まれるシナリオ名詞句を全て該当する名詞句クラスに置換し、述語テンプレートをそれらの極性に置換したものである。グループ別意味シナリオスコアは以下のように算出される。予め、大量の文書から全てのシナリオ候補を求め、それら全てを意味シナリオに置き換える。このように求めた意味シナリオの全てについて後述するＳＰＰＲスコアを求め、共通の意味シナリオごとにスコアをグループ化する。各グループの最大のスコアをそのグループの意味シナリオスコアとする。このスコアを予め算出しておき、グループ別意味シナリオスコア記憶部２２０にＤＢ化して記憶しておく。シナリオを意味シナリオに置き換えて、対応するグループのスコアをグループ別意味シナリオスコア記憶部２２０から取出すことにより、そのシナリオの意味シナリオスコアが得られる。
【００４３】
ＳＰＰＲ素性抽出部１１０は、信頼度スコア１２０の値から、シナリオ候補をサポートするサポートパッセージがあったか否かを示すフラグを抽出し、素性の一部として出力するフラグ抽出部２４０と、フラグ抽出部２４０により抽出されたフラグが、シナリオ候補をサポートするサポートパッセージの存在を示すときには、信頼度スコア１２０をシグモイド関数により［０，１］に正規化し素性の一部として出力し、サポートするサポートパッセージがなかったときには信頼度スコアとして０を出力するスコア正規化部２４２と、基本素性抽出部１０２からのシナリオスコア１８２を［０，１］に正規化するシナリオスコア正規化部２４４と、シナリオスコア正規化部２４４により正規化されたシナリオスコアと、スコア正規化部２４２により正規化された信頼度スコアの和を算出し、素性の一部として出力するスコア加算部２４６とを含む。
【００４４】
シナリオ候補をサポートするようなサポートパッセージが見つからなかった場合には、ここで算出する各種の素性は信頼性を持たない。しかし、シナリオ候補をサポートするサポートパッセージが見つからなかった場合でも、シナリオ候補と意味的に類似したシナリオが、高い信頼度スコアを持っている場合、シナリオ候補も適切である可能性が高いと考えられる。そこで、入力されたシナリオ候補から意味シナリオを作成し、そうした意味シナリオについて、これまで述べたのと同様の素性を算出し、ランキングに用いる。
【００４５】
すなわち、ＳＰＰＲ素性抽出部１１０はさらに、述語テンプレートの極性１８０と名詞句クラス１８４とに基づいて、シナリオ候補から意味シナリオを作成する意味シナリオ作成部２４８と、意味シナリオ作成部２４８により作成された意味シナリオについて、グループ別意味シナリオスコア記憶部２２０を検索して該当するグループの意味シナリオスコアを読出す意味シナリオスコア検索部２５０を含む。意味シナリオスコア検索部２５０はこのとき、該当するグループが存在しているか否かを示すフラグを出力する。ＳＰＰＲ素性抽出部１１０はさらに、意味シナリオスコアを［０，１］に正規化するためのスコア正規化部２５２と、作成された意味シナリオの該当する意味シナリオグループがグループ別意味シナリオスコア記憶部２２０に存在していたか否かを示すフラグを意味シナリオスコア検索部２５０の出力から抽出するフラグ抽出部２５４と、意味シナリオスコア検索部２５０が出力する意味シナリオスコアと、シナリオスコア正規化部２４４により算出された正規化されたシナリオスコアとを加算し、素性の一部として出力するスコア加算部２５６と、フラグ抽出部２４０、スコア正規化部２４２、スコア加算部２４６、スコア正規化部２５２、フラグ抽出部２５４、及びスコア加算部２５６の出力をまとめて素性ベクトルの一部に変換し、ＳＰＰＲ素性１２４として出力する素性ベクトル変換部２５８とを含む。
【００４６】
〈シナリオパッセージ分類器４８の構成〉
図６を参照して、シナリオパッセージ分類器４８は、ウェブ上の大量の文書を予め収集し記憶しておくウェブアーカイブ記憶部３０８と、シナリオ分類器４６からシナリオ候補を受信するためのシナリオ候補受信部３００と、シナリオ候補受信部３００が受信したシナリオ候補を記憶するためのシナリオ候補記憶部３０２と、シナリオ候補記憶部３０２に記憶されたシナリオ候補３２８からシナリオ名詞句を抽出するための名詞句抽出部３０４と、名詞句抽出部３０４により抽出されたシナリオ名詞句が、１文書の一定範囲（本実施の形態では３文以内で、全ての名詞句を含む最小の文数の文）に全て共起している文書断片をウェブアーカイブ記憶部３０８で検索して取出すための文書断片検索部３０６とを含む。本実施の形態では、一定範囲として３文以内としているが、２文以内でもよく、また４以上の任意の文数を上限としてもよい。好ましくは、この範囲は２文以上でかつ１０文以下、より好ましくは３文以上で８文以下である。
【００４７】
シナリオパッセージ分類器４８はさらに、図４に示すものと同様の名詞句クラス記憶部３１０と、各述語テンプレートについてその極性を記憶する極性記憶部３１２と、文書断片検索部３０６により取出された文書断片について、名詞句クラス記憶部３１０に記憶された名詞句クラス情報と、極性記憶部３１２に記憶された述語テンプレートの極性情報と、シナリオ候補記憶部３０２に記憶されたシナリオ候補３２８とを用いて、当該文書断片が、シナリオ候補に記載されていた事項を全体として表現（支持）しているか否かを判定するための素性を抽出する素性抽出部３１４と、素性抽出部３１４により抽出された素性の入力を受けると、シナリオ候補３２８が、その文書断片の全体により表現されている度合い（信頼度）を示すスコアを出力するように、予め機械学習により学習した分類器３１６とを含む。なお、本実施の形態では、この分類器３１６はＳＶＭであるが、分類器はＳＶＭには限定されない。教師ありのモデルで回帰を適用してスコアを出力できるものであれば、どのようなモデルを用いてもよい。
【００４８】
シナリオパッセージ分類器４８はさらに、分類器３１６の出力するスコアを蓄積するスコア蓄積部３１８と、処理中のシナリオ候補に対する文書断片の検索とスコアの蓄積が全て完了したことに応答して、スコア蓄積部３１８に蓄積されているスコアの最大値を選択する最大値選択部３３０と、最大値選択部３３０が選択したスコアをシナリオ候補の信頼度スコアとしてシナリオ分類器４６に応答として送信するスコア応答部３２０と、分類器３１６が出力したスコアをしきい値と比較し、処理中のシナリオ候補がシナリオとして信頼できるか否かを判定するための判定部３２４と、判定部３２４が判定に用いるしきい値を記憶するしきい値記憶部３２２と、判定部３２４によりシナリオとして信頼できると判定されたシナリオ候補を、シナリオ分類器４６の学習に用いる正例として選択し、文書断片からなるサポートパッセージとペアにして正例記憶部５４に出力するための正例選択部３２６とを含む。
【００４９】
１つのシナリオ候補に対し、文書断片検索部３０６はウェブアーカイブ記憶部３０８から可能な限りの文書断片を検索し、それらの全てについて分類器３１６によりスコアを算出する。スコア蓄積部３１８はそのスコアを蓄積し、全ての文書断片についてスコアの算出が完了すると、最大値選択部３３０がその中の最大値を選択しスコア応答部３２０を介してシナリオ分類器４６に送信する。このようにスコアの最大値を選択することにより、文書断片の中に１つでもシナリオ候補を十分にサポートするものがあれば、そのシナリオ候補の信頼度スコアは高くなる。
【００５０】
《シナリオパッセージ分類器４８の素性抽出部３１４の構成》
図７を参照して、シナリオパッセージ分類器４８の素性抽出部３１４は、文書断片検索部３０６からの文書断片３４０を受けると、その中に含まれる各文について形態素解析を行って形態素列を出力する形態素解析部３５０と、形態素解析部３５０から出力される形態素列に対して係り受け解析を行い、係り受け木を出力する係り受け解析部３５２とを含む。こうして得られた形態素列及び係り受け木から、文書断片がシナリオ候補を表現しているか否かを判定する分類器に使用される素性が抽出される。これら素性は、大きく分けて、単語部分列（WS）、係り受け木の部分木（D1、D2）、名詞句のクラス（NC）、述語テンプレートの極性（EP1、EP2）に分類される。これら素性の概略を図１０に示す。
【００５１】
WS、D1、D2は、文書断片上に含まれるシナリオ名詞句の周辺文脈を、文字列及び統語係り受け木から捉える素性である。これらの素性は、例えば「によって」、「のため」といった因果関係を示唆する表現等を捉えるためのものである。
【００５２】
WSは文書断片上における２つのシナリオ名詞句間の単語列を捉える素性であって、各シナリオ名詞句の組に対する、２つのシナリオ名詞句間に現れる単語の表層系、基本形、品詞のｎグラム（ｎ＝１、２、３）である。この際、シナリオ名詞句が複数の文にまたがることを考慮して、全ての文間に文区切りを示す特別な記号（EOS）が存在するものとしてWSを獲得した。
【００５３】
D1は文書断片上における２つのシナリオ名詞句間の係り受け木のパス上の単語列を、表層系、基本形、品詞のｎグラム（ｎ＝１、２、３）として捉える素性である。D1は、係り受け部分木上の２つのシナリオ名詞句について、WSと同様にシナリオ名詞句が複数の文にまたがることを考慮して、２つのシナリオ名詞句に相当する文節が異なる文内に存在している場合、これら文節がいずれも文書断片内の共通のルート（仮想ルートと呼ばれる。）に係っているとみなして各シナリオ名詞句間の係り受け部分木上の単語列を獲得する。
【００５４】
D2は、各シナリオ名詞句の組に対する、係り受け木上における２つのシナリオ名詞句それぞれから仮想ルート間の、２つのシナリオ名詞句の部分木の共通部分に現れる単語の表層系、基本形、及び品詞のｎグラム（ｎ＝１、２、３）である。２つのシナリオ名詞句が異なる文に存在する場合、それらの共通の親は仮想ルートとなるため、獲得できるｎグラムは存在しない。
【００５５】
なお、文書断片上に存在するシナリオ名詞句がサポートパッセージ判定に強く影響しすぎることを避けるために、文書断片上のシナリオ名詞句を特殊な記号「N0、N1、N2 (番号はシナリオ上でのイベント表現の順序を表す)」に置き換えた後、WS、D1、D2を獲得した。
【００５６】
以上の処理を実現するために、素性抽出部３１４はさらに、形態素解析部３５０の出力する形態素列を受けて、各単語を対応する記号に変換する単語・記号変換部３５４と、単語・記号変換部３５４により単語が記号に変換された形態素列から上記したｎグラムの単語列をそれぞれ抽出し素性の一部として出力する単語部分列抽出部３５６と、係り受け解析部３５２が出力する係り受け木を受け、係り受け木上の係り受け部分木を抽出する係り受け部分木抽出部３５８と、係り受け部分木抽出部３５８により抽出された係り受け部分木上の単語の各々を上記した記号に置換するための単語・記号置換部３６０と、単語・記号置換部３６０により単語が記号に置換された係り受け部分木から単語部分列としてｎグラムを抽出し、素性の一部として出力するための単語部分列抽出部３６２とを含む。
【００５７】
素性抽出部３１４はさらに、形態素解析部３５０から出力される形態素列からシナリオ名詞句を抽出するための名詞句抽出部３６４と、名詞句抽出部３６４により抽出された各シナリオ名詞句について、名詞句クラス記憶部３１０を参照して名詞句クラスを決定し素性の一部として出力する名詞句クラス決定部３６６と、形態素解析部３５０が出力する形態素列から各イベント表現の形態素列を抽出するテンプレート抽出部３６８と、テンプレート抽出部３６８が出力した述語テンプレートの各々について、極性記憶部３１２を参照して極性を決定し、出力する極性決定部３７０と、シナリオ候補３２８に含まれる述語テンプレートを抽出するテンプレート抽出部３７４と、テンプレート抽出部３７４が抽出した各述語テンプレートについて、極性記憶部３１２を参照してその極性を決定し出力する極性決定部３７６と、極性決定部３７０及び極性決定部３７６の出力に基づき、シナリオ候補３２８内の各シナリオ名詞句に対して、シナリオ候補３２８内の述語テンプレートの極性と文書断片３４０内の同じシナリオ名詞句の述語テンプレートの極性とを比較し、両者が同じか否かを示す信号を素性の一部として出力する極性比較部３７２と、極性決定部３７６が出力する述語テンプレート内の各名詞句に対する述語テンプレートの極性と、極性決定部３７０の出力する、文書断片３４０内の対応するシナリオ名詞句の述語テンプレートの極性とを比較し、同じ極性の数と、異なる極性の数を素性の一部として出力する極性異同計数部３７８と、単語部分列抽出部３５６、単語部分列抽出部３６２、名詞句クラス決定部３６６、極性比較部３７２及び極性異同計数部３７８から出力される各素性を素性ベクトルに変換する素性ベクトル変換部３８０を含む。
【００５８】
〈グループ別意味シナリオスコアの生成処理〉
図５に示すグループ別意味シナリオスコア記憶部２２０に記憶されるグループ別意味シナリオスコアの作成方法について、図８を参照して説明する。図８は、グループ別意味シナリオスコアを算出する処理を実現するプログラムのフローチャートである。
【００５９】
図８を参照して、このプログラムは、まず、図１に示す因果関係表現記憶部４０に格納された全ての因果関係から、可能性のある全てのシナリオ候補を生成し、各シナリオ候補について、シナリオパッセージ分類器４８を用いて信頼度スコアを計算するステップ４００と、ステップ４００で生成した全てのシナリオ候補を意味シナリオに変換するステップ４０２と、ステップ４０２で得られた意味シナリオを同じ意味シナリオに分類するステップ４０４と、ステップ４０４でグループ化された各グループについて、そのグループに含まれる意味シナリオに付された信頼度スコアの最大値を決定し、それを当該グループの代表スコアとして記憶するステップ４０６と、ステップ４０６で決定されたグループスコアを各グループに付されたグループ番号等の識別情報をキーにしてデータベース化しグループ別意味シナリオスコア記憶部２２０に格納するステップ４０８とを含む。
【００６０】
〔動作〕
〈シナリオパッセージ分類器４８の事前学習〉
図６に示すシナリオパッセージ分類器４８については、事前に機械学習による学習を行う。すなわち、最初にシナリオ候補とそのシナリオ候補のサポートパッセージとからなる学習データを準備する。この学習データのシナリオ候補をシナリオ候補記憶部３０２に記憶させ、名詞句抽出部３０４によりそのシナリオ候補を十分にサポートするシナリオパッセージを予め準備しておき、素性抽出部３１４により素性を抽出する。分類器３１６にこの素性を正例として与える。また、シナリオ候補に対して明らかにそれをサポートしないパッセージをこれも予め選択しておき、同様にして素性抽出部３１４で素性を抽出し、分類器３１６に負例として与える。こうした事前学習により、分類器３１６によるサポーパッセージスコアの算出を事前学習できる。
【００６１】
〈グループ別意味シナリオスコアの作成〉
図５に示すグループ別意味シナリオスコア記憶部２２０が記憶するグループ別意味シナリオスコア記憶部２２０についても、予め作成する必要がある。ただしグループ別意味シナリオスコア記憶部２２０は、シナリオ生成システム３０の全体がある程度動作可能にならないと集積ができない。そこで、グループ別意味シナリオスコアについては、学習当初はグループ別に暫定的な値をセットしておき、シナリオ生成システム３０の学習が進んでいくのにあわせて、図８に示す方法で新たに作成しなおしていくことが望ましい。
【００６２】
〈シナリオ分類器４６の事前学習〉
シナリオ分類器４６の学習を行うにあたり、人手で学習データを準備してもよいが、学習データを準備するのは大変である。そこで、図６に示すシナリオパッセージ分類器４８を用いて予め正例と思われるデータを正例記憶部５４に蓄積する。この処理では、まず図１に示すウェブアーカイブ５０に大量の文書を準備する。因果関係表現記憶部４０には、予めこれら文書から一定量の因果関係表現を抽出し記憶させておく。
【００６３】
シナリオ候補生成部４２によりシナリオ候補１５２を生成し、シナリオ候補記憶部４４に記憶させる。図２を参照して、因果関係対選択部７０は、一方の結果部と他方の原因部とが名詞句を共有するような因果関係の対を因果関係表現記憶部４０に記憶された因果関係から抽出する。この対の内、結果部が他方の原因部と共通している因果関係を第１候補選択部７２が選択し、原因部が他方の結果部と共通している因果関係を第２候補選択部７４が選択する。第１候補極性判定部７６は、第１候補選択部７２により選択された因果関係の述語テンプレートの極性についてテンプレート極性記憶部８０を参照して決定する。同様に第２候補極性判定部７８は、第２候補選択部７４により選択された因果関係の述語テンプレートの極性についてテンプレート極性記憶部８０を参照して決定する。シナリオ候補選択部８２は、この第１候補と第２候補について、それらの述語テンプレートの極性が一致す場合にはその因果関係の対をシナリオ候補として選択し、シナリオ候補記憶部４４に出力する。シナリオ候補記憶部４４はシナリオ候補を蓄積する。
【００６４】
図３を参照して、シナリオ候補読出部１００がシナリオ候補記憶部４４からシナリオ候補を選択し、シナリオ送信部１０６に与える。シナリオ送信部１０６はこのシナリオ候補を図６に示すシナリオパッセージ分類器４８のシナリオ候補受信部３００に与える。シナリオ生成システム３０はこのシナリオ候補を受信するとシナリオ候補記憶部３０２に記憶させる。
【００６５】
図６を参照して、名詞句抽出部３０４は、シナリオ候補記憶部３０２にシナリオ候補が記憶されると、このシナリオ候補に含まれるシナリオ名詞句を抽出し、文書断片検索部３０６に与える。文書断片検索部３０６は、ウェブアーカイブ記憶部３０８を検索し、３文以内にこれら全てのシナリオ名詞句が共起している文書断片をサポートパッセージとして抽出する。素性抽出部３１４は、シナリオ候補記憶部３０２に記憶されているシナリオ候補と文書断片検索部３０６が抽出した各文書断片との組から素性を抽出し分類器３１６に与える。分類器３１６は既に学習済であるので、この文書断片がシナリオ候補を全体として表現しているか否かを示すスコアを出力する。判定部３２４は、このスコアをしきい値記憶部３２２に予め格納されているしきい値と比較し、スコアがしきい値以上であれば、正例選択部３２６に指示して、シナリオ候補と文書断片との組合せを正例として、シナリオ候補とサポートパッセージのペアとして正例記憶部５４に記憶させる。スコアがしきい値未満であれば判定部３２４は何もせず、このシナリオ候補と文書断片との組合せを捨てる。
【００６６】
あるシナリオ候補について、ウェブアーカイブ記憶部３０８から抽出される全ての文書断片との組合せに対する上記した処理が完了すると、シナリオ候補生成部４２が因果関係表現記憶部４０から次のシナリオ候補を抽出し、上と同じ処理を繰返す。こうして全てのシナリオ候補について処理を終了したときには、図６に示される正例記憶部５４には、シナリオ分類器４６の学習に正例として使用できるようなシナリオ候補とサポートパッセージとの組合せが蓄積されている。この組合せが準備できれば、シナリオ分類器４６の学習を行うことができる。なお、シナリオ分類器４６の学習のための学習データは、多大な労力を伴うが人手で準備することもできるし、何らかの他の方法で準備するようにしてもよいことはもちろんである。
【００６７】
シナリオ分類器４６の学習は以下のようにして行われる。予め、図１及び図２に示すシナリオ候補記憶部４４にシナリオ候補を記憶しておく。このシナリオ候補に対する正例及び負例に相当するシナリオパッセージを予め図１に示すウェブアーカイブ５０に記憶させておく。これらは予め人手により準備する。ただし、正例については、既に述べたようにシナリオパッセージ分類器４８により正例記憶部５４に予め蓄積しておくことができるのでこれを用いる。後は、これらシナリオ候補についてシナリオ分類器４６及びシナリオパッセージ分類器４８を動作させ、シナリオ分類器４６のＳＶＭ１１２によるスコア推定結果が予め準備した正解データと一致する率が最大になるよう、ＳＶＭ１１２の学習を行う。
【００６８】
以下、シナリオ分類器４６及びシナリオパッセージ分類器４８の学習が終了した後、実際にシナリオ分類器４６によりシナリオ候補の抽出及びランキングを行う際のシナリオ分類器４６及びシナリオパッセージ分類器４８の動作を説明する。
【００６９】
〈シナリオ候補生成部４２の動作〉
図２を参照して、シナリオ候補生成部４２の因果関係対選択部７０は、因果関係表現記憶部４０に記憶されている因果関係の内、一方の結果部と他方の原因部とがシナリオ名詞句を共有するような因果関係の対を選択する。第１候補選択部７２は、因果関係対選択部７０により選択された因果関係の対の内、両者が共有するシナリオ名詞句を結果部に持つ第１の因果関係候補を選択する。第２候補選択部７４は、両者が共有するシナリオ名詞句を原因部に持つ第２の因果関係候補を選択する。第１候補極性判定部７６は、テンプレート極性記憶部８０を参照することにより、第１候補選択部７２により選択された第１の因果関係候補の述語テンプレートの極性を判定し、第１の因果関係候補に付して出力する。同様に、第２候補極性判定部７８は、テンプレート極性記憶部８０を参照して、第２候補選択部７４により選択された第２の因果関係候補の述語テンプレートの極性を判定し、第２の因果関係候補に付して出力する。シナリオ候補選択部８２は、第１候補極性判定部７６の出力する第１の因果関係候補と、第２候補極性判定部７８が出力する第２の因果関係候補とについて、それらの述語テンプレートの極性が一致する因果関係候補の組合せをシナリオ候補として選択し、シナリオ候補記憶部４４に出力する。
【００７０】
〈シナリオ分類器４６及びシナリオパッセージ分類器４８の動作〉
図３を参照して、シナリオ分類器４６のシナリオ候補読出部１００は、シナリオ候補記憶部４４に記憶されたシナリオ候補を順番に１つずつ読出して出力する。基本素性抽出部１０２は、シナリオ候補読出部１００が出力したシナリオ候補から基本素性１２２を抽出してＳＶＭ１１２に出力し、あわせて、ＳＰＰＲ素性の抽出に用いられるＳＰＰＲ素性生成用情報１０４をＳＰＰＲ素性抽出部１１０に出力する。基本素性抽出部１０２の動作については、図４を参照して説明したことから明らかであるので、ここでは繰返さない。
【００７１】
シナリオ送信部１０６は、シナリオ候補読出部１００の出力するシナリオ候補をシナリオパッセージ分類器４８に送信し、ＳＰＰＲ素性の出力を要求する。
【００７２】
図６を参照して、シナリオパッセージ分類器４８のシナリオ候補受信部３００はこの要求を受信し、シナリオ候補をシナリオ候補記憶部３０２に格納する。名詞句抽出部３０４は、シナリオ候補記憶部３０２に記憶されたシナリオ候補からシナリオ名詞句を抽出し文書断片検索部３０６に与える。文書断片検索部３０６は、名詞句抽出部３０４により抽出された全てのシナリオ名詞句が、３文以内の範囲で共起しているような文書断片であって、その最小の文数の文からなる部分を文書断片としてウェブアーカイブ記憶部３０８から取出し、素性抽出部３１４に与える。素性抽出部３１４は、文書断片検索部３０６により抽出された文書断片の各々について、名詞句クラス記憶部３１０に記憶された名詞句クラス情報と、極性記憶部３１２に記憶された述語テンプレートの極性情報と、シナリオ候補受信部３００の受信したシナリオ候補とから分類器３１６に与える素性を抽出する。素性抽出の過程については図７を参照して既に説明したとおりである。
【００７３】
分類器３１６は、素性抽出部３１４により抽出された素性の入力を受けると、処理中のシナリオ候補が、その文書断片の全体により表されている度合いを示すスコアを出力する。スコア蓄積部３１８は、このスコアを蓄積する。最大値選択部３３０は、シナリオ候補受信部３００が受信したシナリオ候補に対する文書断片の検索とそれらのスコア計算が全て完了したことに応答して、スコア蓄積部３１８に蓄積されたスコアの最大値を選択する。スコア応答部３２０は、この最大値をシナリオ候補の信頼度スコアとしてシナリオ分類器４６に応答として送信する。なお、文書断片検索部３０６によりサポートパッセージがウェブアーカイブ記憶部３０８中から抽出できなかった場合、本実施の形態では、最大値選択部３３０はスコアの値は出力せず、サポートパッセージが見つからなかったことを示すフラグをセットする。スコア応答部３２０はこれに応答して、そのフラグを含む応答をシナリオ分類器４６に送信する。
【００７４】
本実施の形態では、このときには判定部３２４及び正例選択部３２６は動作しない。しかし、分類器３１６の出力するスコアがしきい値より高く、かつそのシナリオ候補に対するサポートパッセージとしてこれまで蓄積されていなかったものが検出されたときには、これを正例選択部３２６により正例記憶部５４にさらに蓄積するようにしてもよい。
【００７５】
再び図３を参照して、シナリオ分類器４６のスコア受信部１０８は、シナリオパッセージ分類器４８から送信されてくるスコアを受信し、信頼度スコア１２０としてＳＰＰＲ素性抽出部１１０に対し出力する。信頼度スコア１２０は、このスコアとともに、シナリオ候補をサポートするサポートパッセージが見つかったか否かを示すフラグを含んでいる。
【００７６】
図５を参照して、ＳＰＰＲ素性抽出部１１０のフラグ抽出部２４０は、信頼度スコア１２０を受信すると、信頼度スコア１２０に含まれるフラグの値を抽出しフラグ抽出部２４０とスコア正規化部２４２に出力する。スコア正規化部２４２は、フラグ抽出部２４０により抽出されたフラグがサポートパッセージの存在を示すときには、信頼度スコア１２０内のスコアをシグモイド関数により［０，１］に正規化し素性の一部として出力する。スコア正規化部２４２は、サポートするサポートパッセージがなかったときには信頼度スコアとして０を出力する。スコア正規化部２４２の出力する正規化後のスコアはスコア加算部２４６と素性ベクトル変換部２５８とに与えられる。
【００７７】
シナリオスコア正規化部２４４は、基本素性抽出部１０２からのシナリオスコア１８２を［０，１］に正規化しスコア加算部２４６及びスコア加算部２５６に与える。スコア加算部２４６は、シナリオスコア正規化部２４４により正規化されたシナリオスコアと、スコア正規化部２４２により正規化された信頼度スコアの和を算出し、素性の一部として素性ベクトル変換部２５８に出力する。
【００７８】
ＳＰＰＲ素性抽出部１１０の意味シナリオ作成部２４８は、述語テンプレートの極性１８０と名詞句クラス１８４とに基づいて、シナリオ候補から意味シナリオを作成し意味シナリオスコア検索部２５０に与える。意味シナリオスコア検索部２５０は、この意味シナリオについて、グループ別意味シナリオスコア記憶部２２０を検索して該当するグループの意味シナリオスコアを読出し、スコア正規化部２５２、フラグ抽出部２５４、及びスコア加算部２５６に与える。意味シナリオスコア検索部２５０はこのとき、該当するグループが存在しているか否かを示すフラグも出力する。
【００７９】
ＳＰＰＲ素性抽出部１１０のスコア正規化部２５２は、意味シナリオスコア検索部２５０を［０，１］に正規化し、素性の一部として素性ベクトル変換部２５８に出力する。フラグ抽出部２５４は、意味シナリオスコア検索部２５０の出力から、作成された意味シナリオに該当する意味シナリオグループがグループ別意味シナリオスコア記憶部２２０に存在していたか否かを示すフラグを抽出し、素性の一部として素性ベクトル変換部２５８に与える。スコア加算部２５６は、意味シナリオスコア検索部２５０が出力する意味シナリオスコアと、シナリオスコア正規化部２４４により算出された正規化されたシナリオスコアとを加算し、素性の一部として素性ベクトル変換部２５８に与える。素性ベクトル変換部２５８は、フラグ抽出部２４０、スコア正規化部２４２、スコア加算部２４６、スコア正規化部２５２、フラグ抽出部２５４、及びスコア加算部２５６の出力をまとめて素性ベクトルの一部に変換し、ＳＰＰＲ素性１２４として出力する。このＳＰＰＲ素性１２４は図３に示すＳＶＭ１１２に与えられる。
【００８０】
図３に戻り、ＳＶＭ１１２は、基本素性抽出部１０２からの基本素性１２２及びＳＰＰＲ素性抽出部１１０からのＳＰＰＲ素性１２４からなる素性ベクトルを受け、素性の値に応じて、シナリオ候補読出部１００の出力したシナリオ候補が因果関係を表すシナリオとしてどの程度妥当かを表すスコアを算出し出力する。スコア記録部１１４は、このスコアとシナリオ候補読出部１００が出力したシナリオ候補とを互いに関連付けてスコア付シナリオ候補記憶部１１６に格納する。シナリオ候補ランキング部１１８は、スコア付シナリオ候補記憶部１１６に記憶されたシナリオ候補を、そのスコアの降順でソートすることによりランク付してシナリオ候補ランキング５２を生成し出力する。
【００８１】
［実験結果］
上のような構成を持つシナリオ生成システム３０について、テストデータを用いて従来の手法と比較する実験を行った。
【００８２】
〈データセット〉
テストデータとして、２つの因果関係を連結して作成した217,836のシナリオ候補を準備した。以降このデータをSRsourceと呼ぶ。シナリオランキングの評価のために、SRsourceから6,000のシナリオ候補をランダムにサンプルした後、3人のアノテータによって、サンプルしたシナリオ候補がシナリオとして適切かを判定した。シナリオ候補判定の際は、構成している因果関係それぞれが正しく、かつシナリオ全体に一貫性があり、イベント表現の繋がりが適切な場合に、シナリオ候補が適切であると判定するようにアノテータに指示した。評価に用いる最終的なラベルは多数決によって決定した。Kappa値は、0.51であった。以降、このアノテーションした6,000のシナリオをSRsamplesと呼ぶ。
【００８３】
SRsamplesは、学習データ用のSRtrainingとテストデータ用のSRtestに分割した。これらの内容を次の表１に示す。
【００８４】
【表１】
2018055142.tif 000003
この時、SRtrainingとSRtest間にはシナリオ内に含まれる3つの名詞句に重複が生じないように分割した。
【００８５】
次に、サポートパッセージ判定の評価に用いるラベル付きデータを作成した。上記実施の形態で示した条件を満たすように、SRsamplesのシナリオを用いてウェブアーカイブの6億文書から文書断片を獲得した。SRsamplesの6,000シナリオの内、2,180種のシナリオに対して文書断片が発見され、合計149,850のシナリオ−文書断片の組を得ることができた。この149,850のシナリオ−文書断片の組から、学習データとして18,410(SPtraining)、テストデータとして3,141(SPtest)を抽出した。このSPtrainingとSPtestに対して、文書断片上でシナリオが表現されているかを３人のアノテータによって判定した。判定の際には、文書断片がシナリオを表現している(含意している)場合に、シナリオ−文書断片の組が適切であると判定するようにアノテータに指示した。評価に用いる最終的なラベルは多数決で判定した。Kappa値は0.65であった。
【００８６】
さらに、サポートパッセージ判定の評価に用いる追加の学習データを作成した。シナリオ内に含まれる２つの因果関係の一方に対して、Web６億文書からその因果関係の抽出元の文を検索する。その後、抽出元に含まれる因果関係をｃ、抽出元の文をｓとした時、シナリオ内のｃに含まれない残りの名詞句がｓ以前(もしくは以降)の７文以内に存在する場合、ｓからその名詞句を含む文までの文書断片をサポートパッセージの候補とみなして抽出した。上述の手法で抽出したシナリオ-文書断片の内、19,746組を追加の学習データ(SPadd)として利用した。このSPaddに対して、シナリオが文書断片上で表現されているかを３人のアノテータによって判定した。判定の際には、文書断片がシナリオを表現している（含意している)場合に、シナリオ-文書断片の組が適切であると判定するようにアノテータへ指示した。実際の評価に用いる最終的なラベルは多数決で判定した。Kappa値は0.61となった。
【００８７】
〈サポートパッセージ判定の評価〉
まず、表２のデータを用いてサポートパッセージ判定の評価を実施した。
【００８８】
【表２】
2018055142.tif 000004
この際、SPtrainingから一部分割した開発セットを用いて、SVMのハイパーパラメータであるカーネルとC値を、それぞれ２次多項式カーネル、C=0.0001に決定した。
【００８９】
上記実施の形態に係るサポートパッセージ判定(Proposed)のモデルと比較するベースライン手法として、OkapiBM25とPosiProbの2つを用いた。OkapiBM25は、情報検索で用いられる一般的なアルゴリズムであり、Lucene(https://lucene.apache.org/core/)等の全文検索を行うソフトウェアで利用されている。PosiProbは、全ての入力を正例とみなして出力するモデルである。OkapiBM25では、SPtestに含まれる各シナリオ−文書断片の組に対して、そのシナリオに含まれる全ての内容語をクエリとし、対応する文書断片のスコアを計算した。
【００９０】
図１１は各手法が出力したスコアによって、シナリオ−文書断片の組をランキングして得たPrecision-Recallカーブ(PRカーブ)である。PRカーブは、検索結果の上位の何件かによる再現率を横軸に、適合率を縦軸に、件数を変化させてプロットしたものである。このカーブが上にあるほど望ましい検索結果であるとされている。図１１によれば、上記実施の形態に係るサポートパッセージ判定のモデルの性能が、ベースライン手法の性能を大きく上回っていることが確認できる。実施の形態の手法でも、再現率が大きくなるにしたがい精度低下が見られるが、スコア上位の事例に関しては正しいシナリオ−文書断片の組が獲得できていることが確認できる。
【００９１】
〈シナリオランキング判定の評価〉
表１のデータを用いて、本発明の提案手法であるサポートパッセージの有無を素性として取入れたシナリオランキングのモデルの評価を実施した。本実験では、SRtraining上の交差検定によって、SVMのハイパーパラメータであるカーネルとC値を、それぞれ３次多項式カーネル、C=0.001に決定した。
【００９２】
ＳＶＭ１１２のテストを行うために、ウェブアーカイブ６億ページから文書断片を探し、シナリオパッセージ認識のスコアを計算した。この時、シナリオパッセージ認識内のサポートパッセージ判定では、SPtrainingとSPaddを用いて学習した。
【００９３】
上記実施の形態(Proposed)との比較手法として、非特許文献１による教師なしランキング手法(Hashi14)をベースラインとして用いた。Hashi14は、上記実施の形態で利用した(因果関係のスコアを元に計算したシナリオのスコア)によって、シナリオをランキングしたものである。
【００９４】
Hashi14の他の比較対象として、BaseとBase+AddDataの２つを用いた。BaseはProposedの素性からSP1〜SP3（図９参照）とGSP1〜GSP3（図９参照）を取除いたモデルである。Base+AddDataは、BaseにSPaddの正例のシナリオ−文書断片の組に含まれる1,493のシナリオを正例として学習データに追加したモデルである。追加するシナリオは、正例のシナリオ−文書断片から抽出したシナリオ、即ちサポートパッセージを持つシナリオであり、またDCaddのデータはSRtraining及びSRtest間のシナリオ内における３つのシナリオ名詞句に重複がないため、SRtrainingへの追加の正例として利用できる。SPaddから得た追加のシナリオは、元々の訓練セットであるSRtrainingの正例より多く獲得できたため、大きな性能向上が期待される。ProposedとBaseの差が、シナリオパッセージ認識のスコアによる素性の恩恵ではなく、単にSPaddに含まれる正例のシナリオが間接的に影響した可能性が考えられたため、Base+AddDataを比較対象として採用した。もし、ProposedがBase+AddDataを上回れば、シナリオパッセージ認識のスコアの使用が真にシナリオランキングに有用であること示唆していると考えられる。
【００９５】
図１２は、各手法の出力したスコアによってシナリオをランキングした時のPRカーブである。ProposedはベースラインのHashi14、Base、Base+AddDataと比較して、高い性能を達成している。またシナリオのランキングを利用したWilcoxonの符号検定によって、Proposedと各ベースライン間にp=0.05の有意性を確認した。
【００９６】
［コンピュータによる実現］
この発明の上記実施の形態に係るシナリオ生成システム３０及びその構成要素は、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図１３はこのコンピュータシステム５３０の外観を示し、図１４はコンピュータシステム５３０の内部構成を示す。
【００９７】
図１３を参照して、このコンピュータシステム５３０は、メモリポート５５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ５５０を有するコンピュータ５４０と、キーボード５４６と、マウス５４８と、モニタ５４２とを含む。
【００９８】
図１４を参照して、コンピュータ５４０は、メモリポート５５２及びＤＶＤドライブ５５０に加えて、ＣＰＵ（中央処理装置）５５６と、ＣＰＵ５５６、メモリポート５５２及びＤＶＤドライブ５５０に接続されたバス５６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）５５８と、バス５６６に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）５６０と、不揮発性メモリであるハードディスクドライブ（ＨＤＤ）５５４を含む。コンピュータシステム５３０はさらに、プリンタ５４４と、他端末との通信を可能とするローカルエリアネットワーク（ＬＡＮ）５７２への接続を提供するネットワークインターフェイスカード（ＮＩＣ）５７４を含む。
【００９９】
本実施の形態では、図１に示す因果関係表現記憶部４０、シナリオ候補記憶部４４、ウェブアーカイブ５０及び正例記憶部５４、図２に示すテンプレート極性記憶部８０、図４に示す因果関係スコア記憶部１４０、対数頻度記憶部１４２、名詞句クラス記憶部１４４、抽出元文書記憶部１４６、含意関係スコア記憶部１４８、及び極性記憶部１５０、図５に示すグループ別意味シナリオスコア記憶部２２０、図６に示すウェブアーカイブ記憶部３０８、名詞句クラス記憶部３１０、極性記憶部３１２、しきい値記憶部３２２、並びに図７に示す名詞句クラス記憶部３１０及び極性記憶部３１２等は、いずれもＨＤＤ５５４又はＲＡＭ５６０により実現される。
【０１００】
コンピュータシステム５３０にシナリオ生成システム３０及びその構成要素の機能を実現させるためのコンピュータプログラムは、ＤＶＤドライブ５５０又はメモリポート５５２に装着されるＤＶＤ５６２又はリムーバブルメモリ５６４に記憶され、さらにＨＤＤ５５４に転送される。又は、プログラムはネットワーク５７２を通じてコンピュータ５４０に送信されＨＤＤ５５４に記憶されてもよい。プログラムは実行の際にＲＡＭ５６０にロードされる。ＤＶＤ５６２から、リムーバブルメモリ５６４から、又はネットワーク５７２及びＮＩＣ５７４を介して、直接にＲＡＭ５６０にプログラムをロードしてもよい。
【０１０１】
このプログラムは、コンピュータ５４０にこの実施の形態のシナリオ生成システム３０として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ５４０上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、又はコンピュータ５４０にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」を呼出すことにより、上記したシナリオ生成システム３０及びその構成要素としての動作を実行する命令のみを含んでいればよい。コンピュータシステム５３０の動作は周知であるので、ここでは繰返さない。
【０１０２】
［参考文献一覧］
〈参考文献１〉
Kazama,  J.  and  Torisawa,  K.  (2008).  “Inducing  gazetteers  for  named  entity  recognition  by  large-scale  clustering  of  dependency  relations.”  In  Proceedings  of  the  46th  Annual  Meeting  of  the  Association  for  Computational  Linguistics:  Human  Language  Technologies  (ACL-08:  HLT),  pp.  407-415.
〈参考文献２〉
Chikara  Hashimoto,  Kentaro  Torisawa,  Kow  Kuroda,  Masaki  Murata,  and  Jun’ichi  Kazama.  2009.  Large-scale  verb  entailment  acquisition  from  the  web.  In  Proceedings  of  the  2009  Conference  on  Empirical  Methods  in  Natural  Language  Processing  (EMNLP2009),  pages  1172-1181.
【０１０３】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１０４】
３０     シナリオ生成システム
４０     因果関係表現記憶部
４２     シナリオ候補生成部
４４、３０２      シナリオ候補記憶部
４６     シナリオ分類器
４８     シナリオパッセージ分類器
５０     ウェブアーカイブ
５２     シナリオ候補ランキング
５４     正例記憶部
７０     因果関係対選択部
８０     テンプレート極性記憶部
８２     シナリオ候補選択部
１００   シナリオ候補読出部
１０２   基本素性抽出部
１０４   ＳＰＰＲ素性生成用情報
１０６   シナリオ送信部
１１０   ＳＰＰＲ素性抽出部
１１２   ＳＶＭ
１１８   シナリオ候補ランキング部
１４０   因果関係スコア記憶部
１４２   対数頻度記憶部
１４４、３１０    名詞句クラス記憶部
１４６   抽出元文書記憶部
１５２、３２８    シナリオ候補
１５４   対数頻度検出部
１５６、３０４、３６４     名詞句抽出部
１５８、３６６    名詞句クラス決定部
１６４、３６８、３７４     テンプレート抽出部
１６８   シナリオスコア算出部
１７２、３７０、３７６     極性決定部
１７４   単語類似度算出部
２２０   グループ別意味シナリオスコア記憶部
３０６   文書断片検索部
３１４   素性抽出部
３１６   分類器
３１８   スコア蓄積部
３３０   最大値選択部
３４０   文書断片
【図１】
2018055142.tif 000005
【図２】
2018055142.tif 000006
【図３】
2018055142.tif 000007
【図４】
2018055142.tif 000008
【図５】
2018055142.tif 000009
【図６】
2018055142.tif 000010
【図７】
2018055142.tif 000011
【図８】
2018055142.tif 000012
【図９】
2018055142.tif 000013
【図１０】
2018055142.tif 000014
【図１１】
2018055142.tif 000015
【図１２】
2018055142.tif 000016
【図１３】
2018055142.tif 000017
【図１４】
2018055142.tif 000018