(57)【要約】【課題】議論における話者の発話に対する次のアクションを生成することができる次アクション生成装置を提供する。【解決手段】議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、ノードが表す論拠が言及されたこと、ノードが表す論拠について質問されたこと、及びノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、議論構造、議論構造におけるカレントノードのフラグ情報、カレントノードのサイド情報、及びシステムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定する。【選択図】図３
2018147197.tif 000002
【特許請求の範囲】
【請求項１】
議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、前記ノードが表す論拠が言及されたこと、前記ノードが表す論拠について質問されたこと、及び前記ノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、前記議論構造、前記議論構造における前記カレントノードの前記フラグ情報、前記カレントノードのサイド情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定する次アクション生成部
を含む次アクション生成装置。
【請求項２】
前記次アクション生成部は、次のアクションが決定されない場合、前記議論構造のノードが有するフラグ情報が表す、前記ノードが表す論拠が言及されたこと、又は、前記議論構造の、前記議論の中心となる論拠を表すノードの情報に基づいて、前記カレントノードを再設定し、前記再設定した前記カレントノードを用いて、次の発話で話題となるノード及び次のアクションを決定する
請求項１記載の次アクション生成装置。
【請求項３】
請求項１又は２記載の次アクション生成装置と、
前記次アクション生成装置により決定された次の発話で話題となるノード及び次のアクションに基づいて、システム側の次の発話を生成する次発話生成部と、
を含む次発話生成装置。
【請求項４】
前記次アクション生成部は、次のアクションとして、主張を表すＡｓｓｅｒｔｉｏｎ、質問を表すＱｕｅｓｔｉｏｎ、撤回を表すＲｅｔｒａｃｔｉｏｎ、譲歩を表すＣｏｎｃｅｓｓｉｏｎ、及びアクション不可を表すＮｕｌｌの何れかのアクションを生成し、
前記次発話生成部は、前記次の発話で話題となるノードに対応付けられた平叙文及び質問文、又は前記次のアクションに対して予め用意された発話テンプレートに基づいて、システム側の次の発話を生成する
請求項３記載の次発話生成装置。
【請求項５】
次アクション生成部を含む次アクション生成装置における次アクション生成方法であって、
前記次アクション生成部が、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、前記ノードが表す論拠が言及されたこと、前記ノードが表す論拠について質問されたこと、及び前記ノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、前記議論構造、前記議論構造における前記カレントノードの前記フラグ情報、前記カレントノードのサイド情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定するステップと、
を含む次アクション生成方法。
【請求項６】
次アクション生成部、及び次発話生成部を含む次発話生成装置における次発話生成方法であって、
前記次アクション生成部が、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、前記ノードが表す論拠が言及されたこと、前記ノードが表す論拠について質問されたこと、及び前記ノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、前記議論構造、前記議論構造における前記カレントノードの前記フラグ情報、前記カレントノードのサイド情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定するステップと、
前記次発話生成部が、前記次アクション生成部により決定された次の発話で話題となるノード及び次のアクションに基づいて、システム側の次の発話を生成するステップと、
を含む次発話生成方法。
【請求項７】
コンピュータを、請求項１又は２記載の次アクション生成装置の各部、又は、請求項３又は４記載の次発話生成装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、次アクション生成装置、次発話生成装置、次アクション生成方法、次発話生成方法、及びプログラムに関する。
【背景技術】
【０００２】
人間は議論によって合意形成を行う。議論を工学的に扱えるようにすることで、例えば、人間の議論を支援したり人間と議論を行ったりするシステムが実現できると考えられる。
【０００３】
トゥールミンの理論（非特許文献１を参照）によると、議論は、事実（データ）と、論拠と、結論とからなるとされる。一例として図１に示すように、「山は空気がよい」という事実があり、「空気がよいことは一般によいことである」という論拠があると、そこから、「山に行くのがよい」という結論が導かれるというモデルである。
【０００４】
また、ウォルトンが提案する議論のモデルでは、Ｐｒｅｍｉｓｅ（論拠）が支持（プラス）・不支持（マイナス）、もしくは、議論スキーム（支持・不支持のパターン）を持つ矢印で結ばれている（非特許文献２を参照）。矢印の先のＰｒｅｍｉｓｅは、Ｃｏｎｃｌｕｓｉｏｎと呼ぶこともある。また、議論の中心となるＣｏｎｃｌｕｓｉｏｎのことをＭａｉｎ  Ｉｓｓｕｅと呼ぶ。一例として図２に示すように、楕円はＰｒｅｍｉｓｅを表すノードである。Ｐｒｅｍｉｓｅには、その内容を表す文字列が付与されている。「草花がきれい」は「山に行くのがよい」にプラスで接続されており、支持する内容である。「登山は疲れる」は「山に行くのがよい」にマイナスでつながれており、反論となっている。また、「登山は疲れる」は「足腰が鍛えられる」とマイナスでつながれており反論となっている。
【０００５】
図２では、Ｐｒａｃｔｉｃａｌ  Ｒｅａｓｏｎｉｎｇ（ＰＲ）という議論スキームが用いられている。ＰＲの前のプラスは支持を表している。ＰＲは、「一般的に考えて良いという根拠を支持・不支持に用いる」という議論のパターンを表す。非特許文献２には、２９の議論スキームが列挙されている。ＰＲの他の議論スキームとしては、Ｅｘｐｅｒｔ  Ｏｐｉｎｉｏｎ（専門家がそう言っているという根拠を支持・不支持に用いる）等が挙げられる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】The Uses of Argument (updated edition)，Stephen E. Toulmin，Cam-bridge University Press, 2003.
【非特許文献２】Methods of Argumentation, Douglas Walton, Cambridge University Press, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記非特許文献１及び非特許文献２に開示されている技術は、議論の構造を定義するのみであって、リアルタイムに自動的に議論の構造を更新することができない。よって、議論に参加する自動的なシステムを生成することができない。
【０００８】
本発明は、議論における話者の発話に対する次のアクションを生成することができる次アクション生成装置、次アクション生成方法、及びプログラムを提供することを目的とする。
【０００９】
また、本発明は、議論における話者の発話に対する次の発話を生成することができる次発話生成装置、次発話生成方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の次アクション生成装置は、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、前記ノードが表す論拠が言及されたこと、前記ノードが表す論拠について質問されたこと、及び前記ノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、前記議論構造、前記議論構造における前記カレントノードの前記フラグ情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定する次アクション生成部を含む。
【００１１】
なお、前記次アクション生成部は、次のアクションが決定されない場合、前記議論構造のノードが有するフラグ情報が表す、前記ノードが表す論拠が言及されたこと、又は、前記議論構造の、前記議論の中心となる論拠を表すノードの情報に基づいて、前記カレントノードを再設定し、前記議論構造、前記再設定した前記カレントノードの前記フラグ情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定するようにしても良い。
【００１２】
上記目的を達成するために、本発明の次発話生成装置は、前記次アクション生成装置と、前記次アクション生成装置により決定された次の発話で話題となるノード及び次のアクションに基づいて、システム側の次の発話を生成する次発話生成部と、を含む。
【００１３】
なお、前記次アクション生成部は、次のアクションとして、主張を表すＡｓｓｅｒｔｉｏｎ、質問を表すＱｕｅｓｔｉｏｎ、撤回を表すＲｅｔｒａｃｔｉｏｎ、譲歩を表すＣｏｎｃｅｓｓｉｏｎ、及びアクション不可を表すＮｕｌｌの何れかのアクションを生成し、前記次発話生成部は、前記次の発話で話題となるノードに対応付けられた平叙文及び質問文、又は前記次のアクションに対して予め用意された発話テンプレートに基づいて、システム側の次の発話を生成するようにしても良い。
【００１４】
上記目的を達成するために、本発明の次アクション生成方法は、次アクション生成部を含む次アクション生成装置における次アクション生成方法であって、前記次アクション生成部が、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、前記ノードが表す論拠が言及されたこと、前記ノードが表す論拠について質問されたこと、及び前記ノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、前記議論構造、前記議論構造における前記カレントノードの前記フラグ情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定するステップを含む。
【００１５】
上記目的を達成するために、本発明の次発話生成方法は、次アクション生成部、及び次発話生成部を含む次発話生成装置における次発話生成方法であって、前記次アクション生成部が、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、前記ノードが表す論拠が言及されたこと、前記ノードが表す論拠について質問されたこと、及び前記ノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とし、前記議論構造、前記議論構造における前記カレントノードの前記フラグ情報、及び前記システムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションを決定するステップと、前記次発話生成部が、前記次アクション生成部により決定された次の発話で話題となるノード及び次のアクションに基づいて、システム側の次の発話を生成するステップと、を含む。
【００１６】
上記目的を達成するために、本発明のプログラムは、コンピュータを、上記次アクション生成装置の各部、又は、上記次発話生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明によれば、議論における話者の発話に対する次のアクションを生成することが可能となる。
【００１８】
また、本発明によれば、議論における話者の発話に対する次の発話を生成することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】トゥールミンが提案する議論のモデルを示す模式図である。
【図２】ウォルトンが提案する議論のモデルを示す模式図である。
【図３】実施形態に係る次発話生成装置の機能的な構成を示すブロック図である。
【図４】実施形態に係るノードの一例と、ノードに対応する発話文及び質問文の一例とを示す模式図である。
【図５】実施形態に係る次アクション生成ルールの一例を示す模式図である。
【図６】実施形態に係る発話テンプレートの一例を示す模式図である。
【図７】実施形態に係る次発話生成装置における、サイドＡのシステムによる発話の生成方法の一例を示す模式図である。
【図８】実施形態に係る次発話生成装置におけるノードの再設定方法の一例を示す模式図である。
【図９】実施形態に係る次発話生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本実施形態について図面を用いて説明する。
【００２１】
本実施形態に係る次発話生成装置は、所定の議論構造において、自動的に次発話を生成する装置である。議論構造としてはウォルトンのモデルを用いるが、本実施形態では、簡単のため、議論スキームは用いない場合について説明する。すなわち、議論構造はＰｒｅｍｉｓｅのノードがプラス又はマイナスの矢印によって接続されているのみとする。各ノードには、ノードの状態を表すフラグが付与されている。本実施形態では、現在議論の話題となっているノード（以下、「カレントノード」と呼ぶ。）と、カレントノードに付与されたフラグの情報から、次アクション生成ルールを用いて次アクションと次の発話の話題となるノードを決定し、決定した次アクション及びノードから発話を生成する。
【００２２】
図３は、本実施形態に係る次発話生成装置１０の機能的な構成を示すブロック図である。図３に示すように、本実施形態に係る次発話生成装置１０は、次アクション生成装置１１、次発話生成部１８、及び、発話テンプレート記憶部２０を備えている。また、本実施形態に係る次アクション生成装置１１は、議論構造記憶部１２、次アクション生成部１４、及び、次アクション生成ルール記憶部１６を備えている。
【００２３】
議論構造記憶部１２は、議論構造を示すデータを記憶している。本実施形態では、議論構造として、ウォルトンの議論構造を用いる。ただし、上述した通り、議論スキームについては扱わない。Ｐｒｅｍｉｓｅを表すノードは、プラスの矢印、又はマイナスの矢印によってのみ接続されている。各ノードの矢印元又は矢印先にノードがある場合には、矢印元を当該ノードの子ノードと呼び、矢印先を当該ノードの親ノードと呼ぶ。なお、Ｍａｉｎ  Ｉｓｓｕｅ以外のノードには、必ず親ノードが存在する。
【００２４】
各ノードは、下記（ａ）乃至（ｆ）に示す情報を持つものとする。
（ａ）ノードＩＤ
ノードＩＤは、議論構造中のノードについてユニークに付与されたＩＤである。
（ｂ）サイド
サイドは、議論構造におけるＭａｉｎ  Ｉｓｓｕｅを支持する側か、支持しない側かを表す。上述した通り、ここでは、支持する側をＡサイドと呼び、支持しない側をＢサイドと呼ぶ。
（ｃ）命題を表す文字列
この文字列は、Ｐｒｅｍｉｓｅの内容を表す文字列であり、例えば、「草花がきれい。」、「足腰が鍛えられる。」等の文字列が挙げられる。
【００２５】
（ｄ）Ｍｅｎｔｉｏｎｅｄフラグ（Ｍフラグ）
Ｍフラグは、当該ノードが議論において言及されたか否かを表す２値フラグである。「０」は言及されていない状態を表し、「１」は言及された状態を表す。
（ｅ）Ｑｕｅｓｔｉｏｎｅｄフラグ（Ｑフラグ）
Ｑフラグは、当該ノードが議論において質問されたかどうかを表す２値フラグである。「０」は質問されていない状態を表し、「１」は質問された状態を表す。
（ｆ）Ａｃｃｅｐｔｅｄフラグ（Ａフラグ）
Ａフラグは、議論の参加者によってアクセプトされたかどうかを表す３値フラグである。「ｕｎｄｅｆ」は未定義である状態を表し、「ａｃｃｅｐｔ」はアクセプトされた状態を表し、「ｄｅｆｅａｔ」はディフィートされた状態を表す。アクセプトされた状態とは、議論においてＰｒｅｍｉｓｅの内容が受理された（認められた）ことを表す。ディフィートされた状態とは、議論においてＰｒｅｍｉｓｅの内容が不受理となった（認められなかった）ことを表す。「ｕｎｄｅｆ」はアクセプトでもディフィートでもない状態を表す。
【００２６】
なお、議論構造記憶部１２に記憶されている議論構造を示すデータが、次アクション生成部１４に入力される際には、一例として図４に示すように、各ノード３０に対して、上述した命題を示す文字列、ノードＩＤ、サイド、フラグ情報等の各種情報が予め設定されている。また、本実施形態では、各ノード３０に対応する関連情報３２として、上記命題を表す文字列に対応する発話文が各ノード３０に付与されている。本実施形態では、一例として図４に示すように、発話文として、各ノード３０に対して予め定めた数（例えば、３個）の平叙文及び質問文がそれぞれ付与されている場合について説明する。
【００２７】
次アクション生成部１４は、議論構造、当該議論構造におけるカレントノードのフラグ情報、及びシステム（次発話生成装置１０）のサイド情報を入力とし、後述する次アクション生成ルールに従い、次の発話で話題となるノード及び次のアクションを決定する。また、次アクション生成部１４は、決定した次の発話で話題となるノード及び次のアクションを次発話生成部１８に出力する。
【００２８】
カレントノードＩＤは、議論において、現在の話題として指定されているＰｒｅｍｉｓｅのノードＩＤである。また、現在話題となっているＰｒｅｍｉｓｅのノードのことをカレントノードという。
【００２９】
システムのサイド情報は、システムがＭａｉｎ  Ｉｓｓｕｅを支持する側であるか支持しない側であるか等、システムがＭａｉｎ  Ｉｓｓｕｅに対する２つの側のうちのどちらを支持するかを表す情報である。ここでは、一方をＡサイドとし、他方をＢサイドとする。システムをどちらのサイドに設定するかは、システムにどちらの立ち位置で発言をさせたいかによる。
【００３０】
また、本実施形態では、アクションは、主張を表すＡｓｓｅｒｔｉｏｎ、質問を表すＱｕｅｓｔｉｏｎ、撤回を表すＲｅｔｒａｃｔｉｏｎ、情報を表すＣｏｎｃｅｓｓｉｏｎ、及び、アクション不可を表すＮｕｌｌの５種類とする。
【００３１】
下記（ｇ）乃至（ｋ）に、各々のアクションについて例示する。
（ｇ）Ａｓｓｅｒｔｉｏｎ（命題を述べる発話）
「私は山がいいと思います。」、「草花はきれいですよね。」
（ｈ）Ｑｕｅｓｔｉｏｎ（命題について質問をする発話）
「山がいいんですか？」、「登山は疲れませんか？」
（ｉ）Ｒｅｔｒａｃｔｉｏｎ（自身が述べた命題を撤回する発話）
「山は空気が美味しいというのは撤回します。」、「反論できません。」
（ｊ）Ｃｏｎｃｅｓｓｉｏｎ（相手が述べた命題を認める発話）
「たしかに草花はきれいですね。」、「それは認めざるを得ないですね。」
（ｋ）Ｎｕｌｌ：アクション不可を表すアクション
【００３２】
次アクション生成ルール記憶部１６は、次アクション生成ルールを示すデータを記憶している。図５に、次アクション生成ルールの一例を示す。なお、図５に示す次アクション生成ルール３４における「Ｃｕｒｒｅｎｔ」とは、カレントノードのことを指す。また、次アクション生成ルール記憶部１６は、次のアクションの候補及び次の発話で話題となるノードの候補を格納するためのアクションリストを記憶している。
【００３３】
次アクション生成ルール３４を用いて次のアクション及び次の発話で話題となるノードを決定する際には、まず、アクションリストを空にした状態とする。そして、一例として図５に示すように、次アクション生成ルール３４で示されるＩＦ−ＴＨＥＮルールに従って、次に生成可能なアクション及びノードをアクションリストに追加していく。
【００３４】
そして、最後にアクションリストが空でない場合には、アクションリストに追加されているアクション及びノードの組み合わせの中から１つのアクション及びノードの組み合わせを選択し、選択したアクション及びノードを出力する。１つのアクション及びノードの組み合わせを選択する方法としては、ランダムに選択する方法、先頭のアクション及びノードの組み合わせを選択する方法、各アクションについて優先度を予め定義しておき、優先度に応じてランダムに選択する方法等が挙げられる。もしくは、選択のためのルールを別途定義し、そのルールに従って選択しても良い。
【００３５】
一方、アクションリストが空である場合には、カレントノードが次のアクションを出力するのに適していないと考えられることから、カレントノードの再設定を行う。カレントノードの再設定方法としては、親ノードのＭｅｎｔｉｏｎｅｄフラグが立っているＰｒｅｍｉｓｅから１つのノードを選択してカレントノードとして設定する方法、親ノードがＭａｉｎ  ＩｓｓｕｅであるＰｒｅｍｉｓｅから一つのノードを選択してカレントノードとして設定する方法等が挙げられる。この際、カレントノードを選択する方法としては、ランダムに選択する方法が挙げられるが、上述した１つのアクションを選択する場合と同様に、他の方法を用いても良い。
【００３６】
カレントノードが再設定され、再設定されたカレントノードのサイドがシステムのサイドと同じである場合には、次のアクション及び次の発話の話題となるノードとして、再設定されたカレントノードについてのＡｓｓｅｒｔｉｏｎを出力する。また、カレントノードの再設定ができない場合、もしくは再設定されたノードのサイドがシステムのサイドと異なる場合には、次のアクションを出力できないため、Ｎｕｌｌのアクションを出力する。
【００３７】
次発話生成部１８は、次アクション生成部１４から出力された、次の発話で話題となるノード及び次のアクションを示すデータを入力とする。次発話生成部１８は、入力とした次の発話で話題となるノード及び次のアクションに対して、後述する発話テンプレートを参照し、次の発話を生成する。
【００３８】
発話テンプレート記憶部２０は、発話テンプレートを示すデータを記憶している。一例として図６に示すように、発話テンプレート３６においては、各アクションに対して複数のテンプレートが対応付けられて記述されている。また、発話テンプレート３６における一部のテンプレートには、発話の実行時にアクションの話題とするノードの情報を埋め込むための「ＳＴＲ」、「ＵＴＴ」、「Ｑ」等のスロットが用意されている。「ＳＴＲ」、「ＵＴＴ」、「Ｑ」等のスロットについて、下記（ｌ）乃至（ｎ）に示す。
【００３９】
（ｌ）ＳＴＲ：アクションの話題となるノードの命題を表す文字列
（ｍ）ＵＴＴ：アクションの話題となるノードに紐づいた発話（平叙文）
（ｎ）Ｑ：アクションの話題となるノードに紐づいた発話（質問文）
【００４０】
例えば、次の発話で話題となるノードが図４に示す「草花がきれい」というノード３０であり、次のアクションがＡｓｓｅｒｓｉｏｎであった場合について考える。この場合には、次発話生成部１８は、発話テンプレート記憶部２０に記憶されているテンプレートのＡｓｓｅｒｓｉｏｎに対応する「草花がきれいと思います．」及び「草花がきれい．」の発話と、関連情報３２によって示される平叙文である「草花がきれいですよね．」、「花がきれいです．」及び「緑が美しいと思います．」の発話とを次の発話の生成候補とする。
【００４１】
また、例えば、次の発話で話題となるノードが図４に示す「草花がきれい」というノード３０であり、次のアクションがＱｕｅｓｔｉｏｎであった場合について考える。この場合には、次発話生成部１８は、発話テンプレート記憶部２０に記憶されているテンプレートのＱｕｅｓｔｉｏｎに対応する「草花がきれいですか？」、「草花がきれい？」及び「本当ですか？」の発話と、「草花がきれいなんですか？」、「花がきれいなんですか？」、「花がきれいなんですか？」及び「緑が美しいと思うんですか？」の発話とを次の発話の生成候補とする。
【００４２】
このように、次のアクションに対応するテンプレートが複数ある場合、及び次の発話で話題となるノードに関連情報３２が付与されている場合には、次の発話の生成候補とする発話の中から１つの発話を選択する。発話の選択方法としては、例えば、ランダムに選択する方法等が挙げられる。次発話生成部１８は、選択した発話をシステムの発話として出力する。
【００４３】
ここで、発話の生成方法について幾つかの例を紹介する。
【００４４】
図７に、次発話生成装置１０における、サイドＡのシステムによる発話の生成方法の一例を示す。まず、次アクション生成部１４は、議論構造、カレントノード４０のカレントノードＩＤ（ここでは、ｎｏｄｅｉｄ＝１、Ａサイドとする）、及び、システムのサイド（ここでは、Ａサイドとする）を入力する。そして、次アクション生成部１４は、次アクション生成ルール３４に従って、アクションリストを取得する。ここでは、次アクション生成ルール３４において、以下の条件分岐に従うことになる。
【００４５】
・ＣｕｒｒｅｎｔにＭｅｎｔｉｏｎｅｄフラグが立っている
・ＣｕｒｒｅｎｔにＱｕｅｓｔｉｏｎｅｄフラグが立っていない
・Ｃｕｒｒｅｎｔの子ノードにＰｒｅｍｉｓｅがある
・Ｃｕｒｒｅｎｔのサイドとシステムのサイドとが同じである
・ＣｕｒｒｅｎｔにＭｅｎｔｉｏｎｅｄフラグが立っていないプラスの子ノードのＰｒｅｍｉｓｅがある
【００４６】
上記の条件分岐に従った結果、「当該ＰｒｅｍｉｓｅのＡｓｓｅｒｔｉｏｎをアクションリストに追加（複数あればすべて追加）」という処理を行う。この場合には、アクションリストにアクションを追加しており、アクションリストが空ではないため、次発話生成部１８は、「アクションリストから一つ選択して出力」を行う。
【００４７】
次発話生成部１８は、例えば、次の発話で話題となるノードとして「草花がきれい」（ｎｏｄｅｉｄ＝３）のノード４２を受け取り、次のアクションとしてＡｓｓｅｒｔｉｏｎを受け取り、発話テンプレート３６に従って発話文を生成するとする。ここでは、次の発話で話題となるノードに関連情報３２が付与されていないと仮定すると、次発話生成部１８は、発話テンプレート３６の「ＳＴＲと思います．」というテンプレートを用いて、「草花がきれいと思います．」という発話を生成し、生成した発話を出力する。
【００４８】
図８に、次発話生成装置１０における、サイドＡのシステムによる発話の生成方法の一例を示す。まず、次アクション生成部１４は、議論構造、カレントノード５０のカレントノードＩＤ（ここでは、ｎｏｄｅｉｄ＝３、Ａサイドとする）、及びシステムのサイド（ここでは、Ｂサイドとする）を入力する。そして、次アクション生成部１４は、次アクション生成ルール３４に従って、アクションリストを取得する。ここでは、以下の条件分岐に従うことになる。
【００４９】
・ＣｕｒｒｅｎｔにＭｅｎｔｉｏｎｅｄフラグが立っている
・ＣｕｒｒｅｎｔにＱｕｅｓｔｉｏｎｅｄフラグが立っていない
・Ｃｕｒｒｅｎｔの子ノードにＰｒｅｍｉｓｅがない
・Ｃｕｒｒｅｎｔのサイドとシステムのサイドとが異なる
・ＣｕｒｒｅｎｔのＡｃｃｅｐｔｅｄフラグがａｃｃｅｐｔでなく、ＣｕｒｒｅｎｔのＡｃｃｅｐｔｅｄフラグがｄｅｆｅａｔでもない
【００５０】
上記の条件分岐に従った結果、「ＣｕｒｒｅｎｔについてのＣｏｎｃｅｓｓｉｏｎをアクションリストに追加」がなされ、アクションリストが空ではないため、次発話生成部１８は、「アクションリストから一つ選択して出力」を行う。ここでは、次発話生成部１８は、発話テンプレート３６に従って、次の発話で話題となるノードとして「草花がきれい」（ｎｏｄｅｉｄ＝３）のノード５２を受け取り、次のアクションとしてＣｏｎｃｅｓｓｉｏｎを受け取り、「草花がきれいというのを認めます」という発話、もしくは「認めます」という発話を生成する。
【００５１】
もし、同じ状況で、システムがＡサイドであった場合には、発話テンプレート３６に従って「何もしない」の分岐に行くため、アクションリストが空になり、カレントノードの再設定が行われる。再設定先として、ｎｏｄｅｉｄ＝４のノード５４が選択される。その後、以下の条件分岐に進む。
【００５２】
・Ｃｕｒｒｅｎｔの再設定が成功
・Ｃｕｒｒｅｎｔのサイドとシステムのサイドとが異なる
【００５３】
このことから、次のアクションとしてＮｕｌｌが出力されることになり、次発話生成部１８により、「発話ができません．」という発話が生成される。
【００５４】
この状況からさらにシステムに次発話を生成させるためには、手作業により作成されたルール等を用いて議論構造を最新化しておく必要があるので注意が必要である。なお、本実施形態は、議論構造が所与の場合にシステムの次発話を生成する目的で考案されたものであって、議論構造自体を変更するものではない。
【００５５】
なお、本実施形態に係る次発話生成装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、各種プログラムを記憶するＲＯＭ（Read Only Memory）を備えたコンピュータ装置で構成される。また、次発話生成装置１０を構成するコンピュータは、ハードディスクドライブ、不揮発性メモリ等の記憶部を備えていても良い。本実施形態では、ＣＰＵがＲＯＭ、ハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、上述した機能が実現される。
【００５６】
本実施形態に係る次発話生成装置１０による次発話生成処理の流れを、図９に示すフローチャートを用いて説明する。本実施形態では、次発話生成装置１０に、話者の発話に対してシステム側の発話を生成する毎に、次発話生成処理が開始される。
【００５７】
ステップＳ１０１では、次アクション生成部１４が、議論構造記憶部１２に記憶されている議論構造を示すデータを読み出すことにより、議論構造を入力する。なお、議論構造は、話者の発話やシステム側の発話に応じて更新されているものとする
【００５８】
ステップＳ１０３では、次アクション生成部１４が、カレントノードのノードＩＤを、カレントノードＩＤとして入力する。
【００５９】
なお、カレントノードとしては、例えば、議論構造から、話者の発話に最も意味的に類似したノードが選択されて入力される。意味的に類似しているノードを議論構造から得るためには、発話と議論構造のノードの文字列との意味的な類似度を計算する必要があるが、ｗｏｒｄ２ｖｅｃに基づく文間の類似度を用いればよい。
【００６０】
ステップＳ１０５では、次アクション生成部１４が、システムのサイド情報を入力する。なお、本実施形態では、システムのサイド情報は、ユーザにより事前に入力され、ＲＡＭに予め記憶されているものとする。
【００６１】
ステップＳ１０７では、次アクション生成部１４が、入力した議論構造、当該議論構造におけるカレントノードのフラグ情報、カレントノードのサイド情報、及びシステムのサイド情報に基づいて、次アクション生成ルール３４に従って、次の発話で話題となるノード及び次のアクションを決定する。
【００６２】
ステップＳ１０９では、次発話生成部１８が、次の発話で話題となるノード及び次のアクションに基づいて、システム側の次の発話を生成する。
【００６３】
ステップＳ１１１では、次発話生成部１８が、生成したシステム側の次の発話を出力し、本次発話生成処理のプログラムの実行を終了する。なお、本実施形態では、生成した発話を表示装置に表示させたり、生成した発話を外部装置に送信したり、生成した発話を示す音声を音声発生手段に発生させたりすることにより、生成した発話を出力する。
【００６４】
このように、本実施形態では、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造であって、各ノードが、ノードが表す論拠が言及されたこと、ノードが表す論拠について質問されたこと、及びノードが表す論拠についてアクセプトされたことを表すフラグ情報と、議論の中心となる論拠を支持するか否かを表すサイド情報とを有する議論構造、現在話題となっているカレントノードのＩＤ、及びシステムのサイド情報を入力とする。また、議論構造、議論構造におけるカレントノードのフラグ情報、及びシステムのサイド情報に基づいて、次の発話で話題となるノード及び次のアクションが決定される。また、決定された次の発話で話題となるノード及び次のアクションに基づいて、システム側の次の発話が生成される。
【００６５】
なお、本実施形態では、次アクション生成装置１１により決定された次のアクションを用いて発話を生成する場合について説明したが、これに限らない。例えば、次アクション生成装置１１により決定された次のアクションを用いて感情、表情等を決定しても良い。
【００６６】
また、本実施形態では、図３に示す機能の構成要素の動作をプログラムとして構築し、次発話生成装置１０として利用されるコンピュータにインストールして実行させるが、これに限らず、ネットワークを介して流通させても良い。
【００６７】
また、構築されたプログラムをハードディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールしたり、配布したりしても良い。
【符号の説明】
【００６８】
１０  次発話生成装置
１１  次アクション生成装置
１２  議論構造記憶部
１４  次アクション生成部
１６  次アクション生成ルール記憶部
１８  次発話生成部
２０  発話テンプレート記憶部
【図１】
2018147197.tif 000003
【図２】
2018147197.tif 000004
【図３】
2018147197.tif 000005
【図４】
2018147197.tif 000006
【図５】
2018147197.tif 000007
【図６】
2018147197.tif 000008
【図７】
2018147197.tif 000009
【図８】
2018147197.tif 000010
【図９】
2018147197.tif 000011