(57)【要約】【課題】議論構造を自動的に拡張することができる。【解決手段】テンプレート作成部２２が、議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成する。追加命題出力部２８が、作成されたテンプレートを用いて、入力の命題の論拠となる命題を作成し、議論構造に追加するノードが表す命題として出力する。【選択図】図２
2019144692.tif 000002
【特許請求の範囲】
【請求項１】
議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成するテンプレート作成部と、
前記作成されたテンプレートを用いて、前記入力の命題の論拠となる命題を作成し、前記議論構造に追加するノードが表す命題として出力する追加命題出力部と、
を含む議論構造拡張装置。
【請求項２】
前記テンプレート作成部は、単語又は文節を埋めるためのブランクを有する前記テンプレートを作成し、
前記追加命題出力部は、前記テンプレートに含まれるブランクに、予め用意された単語リストの各単語又は文節リストの各文節を埋め込むことにより、追加命題候補を生成し、前記追加命題候補をランキングして、上位の前記追加命題候補を、前記議論構造に追加するノードが表す命題として出力する請求項１記載の議論構造拡張装置。
【請求項３】
テンプレート作成部が、議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成し、
追加命題出力部が、前記作成されたテンプレートを用いて、前記入力の命題の論拠となる命題を作成し、前記議論構造に追加するノードが表す命題として出力する
議論構造拡張方法。
【請求項４】
コンピュータを、請求項１又は２記載の議論構造拡張装置の各部として機能させるためのプログラム。
【請求項５】
議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造に追加するノードが表す命題を出力するためのデータ構造であって、
追加するノードが表す命題の議論スキーム、
追加するノードが表す命題が、拡張の対象となるノードが表す命題を支持するか否かを表す極性、及び
前記拡張の対象となるノードが表す命題に対して、単語若しくは文節を置換するか、又は単語若しくは文節を追加することによって書き換える書き換えパターン
の各々を項目として有するデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、議論構造拡張装置、議論構造拡張方法、プログラム、及びデータ構造に関する。
【背景技術】
【０００２】
対話システムにおいて、人間はコンピュータと対話をし、種々の情報を得たり、要望を満たしたりする。また、所定のタスクを達成するだけではなく、日常会話を行う対話システムも存在し、これらによって、人間は精神的な安定を得たり、承認欲を満たしたり、信頼関係を築いたりする。対話システムの類型については参考文献１や参考文献２に詳述されている。
【０００３】
[参考文献１] 河原達也，荒木雅弘，音声対話システム，オーム社，2006．
[参考文献２] 中野幹生，駒谷和範，船越孝太郎，中野有紀子，奥村学（監修）対話システム，コロナ社，2016．
【０００４】
一方、タスク達成や日常会話ではなく、より深い議論をコンピュータによって実現するための研究も進められている。議論は人間の価値判断を変えたり、思考を整理したりする働きがあり、人間にとって重要な役割を果たす。たとえば、議論のモデルを提案する研究がある。
【０００５】
ウォルトンのモデルでは、ウォルトンが提案する議論のモデル（参考文献３）では、命題が支持（プラス）・不支持（マイナス）、もしくは、議論スキーム（支持・不支持のパターン）を持つ矢印で結ばれている。ウォルトンのモデルにおける議論構造を図示すると図１１のようになる。楕円は命題を表すノードである。ノードには命題を表す文字列が付与されている。「草花がきれい」は「山に行くのがよい」にプラスで接続されており、支持する内容である。「登山は疲れる」は「山に行くのがよい」にマイナスでつながれており、反論となっている。また、「登山は疲れる」は「足腰が鍛えられる」とマイナスでつながれており反論となっている。図中では、Practical Reasoning（PR）という議論スキームが用いられている。PR の前のプラスは支持を表している。PR は「一般的に考えて良いという根拠を支持・不支持に用いる」という議論のパターンを表す。参考文献3 には、29 の議論スキームが列挙されている。PR の他には、Expert Opinion（専門家がそう言っているという根拠を支持・不支持に用いる）などがある。
【０００６】
[参考文献３] Methods of Argumentation, Douglas Walton, Cambridge University Press,2013.
【０００７】
議論構造を、テキストデータから自動的に抽出する試みは多い。そのような研究は以下の非特許文献１にまとめられている。
【０００８】
また、議論構造の応用として、人手で作成した議論構造に基づいて議論を行う対話システムに関する研究（参考文献４）が存在する。参考文献４では、ユーザ発話を議論構造中のノードにマッピングし、そのノードと接続関係にあるノードをシステム発話としてユーザに返すことで議論を行う。
【０００９】
[参考文献４] Ryuichiro Higashinaka ほか、Argumentative dialogue system based on argu-mentation structures、Proceedings of The 21st Workshop on the Semantics and Pragmaticsof Dialogue、p154-155、2017
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Lippi, M., Torroni, P., Argumentation Mining: State of the Art and Emerging Trends, ACM Transactions on Internet Technology, 16(2): 10, 2016.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記非特許文献１でまとめられているように、議論構造をテキストから抽出する試みは存在するが、議論構造が与えられたとき、論拠を自動的に追加することで、議論構造を拡張する技術は存在しない。
【００１２】
本発明は、議論構造を自動的に拡張することができる議論構造拡張装置、議論構造拡張方法、プログラム、及びデータ構造を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の議論構造拡張装置は、議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成するテンプレート作成部と、前記作成されたテンプレートを用いて、前記入力の命題の論拠となる命題を作成し、前記議論構造に追加するノードが表す命題として出力する追加命題出力部と、を含んで構成されている。
【００１４】
本発明の議論構造拡張方法は、テンプレート作成部が、議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成し、追加命題出力部が、前記作成されたテンプレートを用いて、前記入力の命題の論拠となる命題を作成し、前記議論構造に追加するノードが表す命題として出力する。
【００１５】
本発明のプログラムは、コンピュータを、上記議論構造拡張装置の各部として機能させるためのプログラムである。
【００１６】
本発明のデータ構造は、議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含む議論構造に追加するノードが表す命題を出力するためのデータ構造であって、追加するノードが表す命題の議論スキーム、追加するノードが表す命題が、拡張の対象となるノードが表す命題を支持するか否かを表す極性、及び前記拡張の対象となるノードが表す命題に対して、単語若しくは文節を置換するか、又は単語若しくは文節を追加することによって書き換える書き換えパターンの各々を項目として有するデータ構造である。
【発明の効果】
【００１７】
本発明に係る議論構造拡張装置、方法、及びプログラムによれば、議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成し、テンプレートを用いて、前記入力の命題の論拠となる命題を作成し、前記議論構造に追加するノードが表す命題として出力することにより、議論構造を自動的に拡張することができる。
【００１８】
本発明に係るデータ構造によれば、追加するノードが表す命題の議論スキーム、拡張の対象となるノードが表す命題を支持するか否かを表す極性、及び前記拡張の対象となるノードが表す命題に対して、単語若しくは文節を置換するか、又は単語若しくは文節を追加することによって書き換える書き換えパターンの各々を項目として有することにより、議論構造を自動的に拡張することができる。
【図面の簡単な説明】
【００１９】
【図１】拡張後の議論構造を示す模式図である。
【図２】本実施形態に係る議論構造拡張装置の機能的な構成を示すブロック図である。
【図３】テンプレートリストの一例を示す図である。
【図４】テンプレート作成部の出力の一例を示す図である。
【図５】要素リストの一例を示す図である。
【図６】穴埋め要素列挙部が出力する単語リストの一例を示す図である。
【図７】追加命題候補の一例を示す図である。
【図８】追加命題候補のランク及びスコアの一例を示す図である。
【図９】追加命題の出力例を示す図である。
【図１０】本実施形態に係る議論構造拡張処理の流れを示すフローチャートである。
【図１１】ウォルトンの理論における議論構造を示す模式図である。
【発明を実施するための形態】
【００２０】
以下、本実施形態について図面を用いて説明する。
【００２１】
＜本実施形態の概要＞
本実施形態に係る議論構造拡張装置は、あるドメインにおける所定の議論構造があるとき、その議論構造中のノードに対して、その論拠となるノードを自動的に追加する。具体的には、議論構造中の各ノードが表す命題（命題はテキストで表現される）に対して、その命題の論拠となる命題（支持を表す命題、または、不支持を表す命題）を作成し、それを追加ノードとして元のノードに接続する。追加されるノードの命題は、議論スキームごとに用意した、ノード作成用のテンプレートを用いて作成される。議論スキームは議論の典型的なパターンを表すため、議論スキームを用いることで、さまざまなノードに対して頑健に命題を追加することができる。
【００２２】
図１に追加されるノードの命題の一部を示す。図中には、「登山は疲れる」という命題に対して、EO（専門家の意見）、CO（合成）、CE（原因から結果）という議論スキームを用いて追加したノードが示されている。各議論スキームの詳細は実施例にて後述する。
【００２３】
＜本実施形態に係る議論構造拡張装置の構成＞
図２は、本実施形態に係る議論構造拡張装置１０の機能的な構成を示すブロック図である。図２に示すように、本実施形態に係る議論構造拡張装置１０は、入力部１２と、演算部１４と、出力部１６とを備えている。
【００２４】
入力部１２は、入力として、所定の議論構造中の任意のノードに記述されたテキスト（命題）を受け取る。なお、議論構造中のノードを入力として使用する場合は、そのノードに記述されたテキストを入力として利用する。
【００２５】
なお、議論構造は、議論の中心となる命題と、他の命題の論拠となる命題との各々を表すノードを含むものである。
【００２６】
演算部１４は、入力された命題の論拠となる命題（追加命題）が生成可能な場合、それを出力部１６により出力する。
【００２７】
演算部１４は、テンプレートリスト２０と、テンプレート作成部２２と、要素リスト２４と、穴埋め要素列挙部２６と、追加命題出力部２８とを備えている。
テンプレートリスト２０は、命題に対する所定の書き換えパターンを表すテンプレートのリストであり、議論構造に追加するノードが表す命題を出力するためのデータ構造である。テンプレートリスト２０は、追加するノードが表す命題の議論スキーム、追加するノードが表す命題が、拡張の対象となるノードが表す命題を支持するか否かを表す極性、及び拡張の対象となるノードが表す命題に対して、単語若しくは文節を置換するか、又は単語若しくは文節を追加することによって書き換える書き換えパターンの各々を項目として有するデータ構造である。
【００２８】
図３に、本実施の形態で利用しているテンプレートリストを示す。このテンプレートリストは、上記参考文献３で定義されている議論スキームを用いて、拡張の対象となる命題からその論拠となる命題を作成する際の書き換えのパターンをまとめたものである。図３の各列には、左から、追加される命題のスキームの通し番号、略称、英語名、追加される命題についての拡張の対象となる命題の支持・不支持（支持は‘+'、不支持は‘-' を表す）、書き換え方法、書き換えの例が示されている。書き換え後の出力に含まれる“（）” はブランクを表しており、ブランクに適切な穴埋め要素（単語または文節）を埋めることで、最終的なテンプレートが作成される。
【００２９】
書き換えは基本的に、入力に対して、1つ文節を置換するか、もしくは、1つ文節を追加することでテンプレートが作成されるように制限されている。これは、書き換え後のブランクの数が多くなった場合、適切な要素を自動で推定することが難しくなり、最終的に出力される追加命題の正解率が低くなるためである。参考文献３で定義されている議論スキームの中で、書き換えを1つの文節の置換、および、追加の操作で表現することができないスキームは、テンプレートリストから除外されている。
【００３０】
テンプレート作成部２２は、入力として、拡張の対象となるノードの命題を表すテキストを受け付け、テンプレートリスト２０に記憶されているテンプレートを用いて、追加命題候補作成用のテンプレートを作成する。
【００３１】
例えば、図４に示すように、「自動運転はよい」という入力に対して書き換えを行うことにより作成されたテンプレートと、入力とは関係なく作成されたテンプレートとが出力される。なお、"-"は、出力なしに対応し、該当するスキームではテンプレートが作成できなかったことを表す。
【００３２】
要素リスト２４には、テンプレートに埋まる可能性がある単語が列挙された単語リスト、および、文節が列挙された文節リストが格納されている。
【００３３】
図５に要素リストが含む単語リスト、および、文節リストの例を示す。“単語：”で始まる行は単語リストを表し、“文節：” で始まる行は文節リストを表す。
【００３４】
穴埋め要素列挙部２６は、要素リスト２４を用いて、テンプレート中のブランクに合わせて、単語リスト、もしくは、文節リストを全て出力する。
【００３５】
図６に、上記図４のACスキームのテンプレートに対して出力する要素の例を示す。このように、上記図４のAC スキームのテンプレートでは、ブランクの要素として単語が埋まるため、単語リストを全て出力する。
【００３６】
追加命題出力部２８は、作成されたテンプレートを用いて、入力の命題の論拠となる命題を作成し、議論構造に追加するノードが表す命題として出力する。
【００３７】
具体的には、追加命題出力部２８は、追加命題候補出力部３０と、追加命題候補ランキング部３２とを備えている。
【００３８】
追加命題候補出力部３０は、作成されたテンプレートに含まれるブランクに、要素リスト２４に含まれる単語リストの各単語又は文節リストの各文節を埋め込むことにより、追加命題候補を生成する。
【００３９】
具体的には、テンプレート１つにつき、穴埋め要素列挙部２６が出力した要素の個数分の追加命題候補を出力する。このとき、テンプレートのブランク１つには、要素１つを埋める。
【００４０】
図７に、テンプレート作成部２２が出力したACスキームのテンプレート（図４）、および、ACスキームに対して穴埋め要素列挙部２６が出力した要素リスト（図６）を用いて作成される追加命題候補の例を示す。
【００４１】
追加命題候補ランキング部３２は、追加命題候補をランキングして、上位の追加命題候補を、議論構造に追加するノードが表す命題として出力する。
【００４２】
具体的には、追加命題候補ランキング部３２は、追加命題候補出力部３０が出力した追加命題候補をランキングすることで、入力された命題の論拠となる命題を出力する。議論構造のノードを入力として使用した場合、追加命題候補ランキング部３２の出力は、支持もしくは不支持を表すノードの命題となる。追加命題候補をランキングする際には、文の出現確率を計算する手法（例えば、後述する言語モデル）、および、文間の類似度を計算する手法（例えば、後述するword2vec）を用いる。
【００４３】
言語モデルとは、任意の文字列について、その文字列が出現する確率を計算するためのモデルである。言語モデルを用いることで、出現する確率の低い不適切な文字列を判定することができる。言語モデルは、大規模なテキスト集合を用意し、それらを形態素解析ツールにかけて分ち書きした後、言語モデル作成ツールを利用することで、作成が可能である。例えば、大規模テキスト集合としてWikiepda（Ｒ）のダンプデータ（http://dumps. wikimedia.org/）、形態素解析ツールとしてMeCab（http://taku910. github.io/mecab/）、言語モデル作成ツールとしてkenlm（https://kheafield.com/code/kenlm/）を利用する。追加命題候補ランキング部３２では、あらかじめ作成した言語モデルを利用して、各追加命題候補が文として出現する確率を計算する。word2vecとは、単語をベクトルとして表現する手法である。word2vecを用いて作成したモデルを用いることで、任意の単語をベクトルとして表現することができ、それらの間の距離を計算することで、単語の内容の近さを推定することが可能である。また、2つの文があったとき、各文に含まれる単語のベクトル平均を計算し、それらの距離を計算することで、文の内容の近さを推定することも可能である。word2vecを用いることで、入力された命題と内容が大きく異なる不適切な追加命題候補を判定することができる。word2vecのモデルを作成するためには、言語モデルと同様に、分かち書きした大規模なテキスト集合を用意し、それらをword2vcのツールに適用する。word2vecの作成ツールとして、例えばgensim（https://radimrehurek.com/gensim/)を利用する。追加命題候補ランキング部３２では、あらかじめ作成したword2vecを用いて、入力された命題と追加命題候補の内容の近さを推定する。
【００４４】
言語モデルとword2vecを用いて、各追加命題候補の文としての出現確率、および、各追加命題候補と入力された命題の関連度を計算し、それらを重み付きで足し合わせることで、各追加命題候補の最終的なスコアを決定する。この計算式を以下に示す。
【００４５】
【数１】
2019144692.tif 000003
【００４６】
LangModelScoreは追加命題候補に対する言語モデルのスコア、Word2vecScoreは追加命題候補に対するword2vecのスコアを表す。wはLangModelScoreの重み係数を表す。この式に基づいて各追加命題候補に対してスコアを計算することで、ランキングを行う。例えば、wは0.5に設定してスコアを計算する。
【００４７】
図８に、図７で示した各追加命題候補に対して計算されたスコア、および、ランキングの例を示す。
【００４８】
図９に、図８の場合の実際の出力を示す。例えば、閾値として-1.0以上を出力するようにし、ランク1と2の「自動運転は経済によい」、「自動運転は安全によい」を出力する。このとき、追加命題候補の議論スキームの種類、および、そのスキームの支持・不支持を合わせて出力する。このような出力があれば、例えば、「自動運転は良いよね」という発話に対して、その理由となる発話「自動運転は経済に良いからね」を生成することが可能になる。
【００４９】
＜本実施形態に係る議論構造拡張装置１０の作用＞
本実施形態に係る議論構造拡張装置１０による議論構造拡張処理の流れを、図１０に示すフローチャートを用いて説明する。本実施形態では、議論構造拡張装置１０に、所定の議論構造中の、拡張の対象となるノードの命題を表すテキストが入力されると、議論構造拡張処理が開始される。
【００５０】
ステップＳ１００では、入力された、拡張の対象となるノードの命題を表すテキストを受け付け、テンプレートリスト２０に記憶されているテンプレートを用いて、追加命題候補作成用のテンプレートを作成する。
【００５１】
ステップＳ１０２では、要素リスト２４を用いて、テンプレート中のブランクに合わせて、単語リスト、もしくは、文節リストを全て出力する。
【００５２】
ステップＳ１０４では、作成されたテンプレートに含まれるブランクに、要素リスト２４に含まれる単語リストの各単語又は文節リストの各文節を埋め込むことにより、追加命題候補を生成する。
【００５３】
ステップＳ１０６では、追加命題候補をランキングして、上位の追加命題候補を、議論構造に追加するノードが表す命題として出力部１６により出力する。
【００５４】
以上説明したように、本実施形態に係る議論構造拡張装置によれば、議論構造の前記ノードが表す命題を入力とし、所定の書き換えパターンを用いて、テンプレートを作成し、テンプレートを用いて、入力の命題の論拠となる命題を作成し、議論構造に追加するノードが表す命題として出力することにより、議論構造を自動的に拡張することができる。
【００５５】
また、議論構造が拡張されることで、議論構造に基づく処理を行うシステムの性能が向上する。例えば、上記参考文献４のように、あらかじめ与えられた議論構造を用いて議論を行う対話システムでは、議論構造が拡張されることで、よりさまざまなユーザ発話を議論構造中のノードにマッピングさせることができるようになるため、システムがよりさまざまなユーザ発話に対して適切な応答を返すことが可能になる。
【００５６】
なお、本実施形態では、上述の議論構造拡張装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００５７】
また、構築されたプログラムをハードディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールしたり、配布したりしても良い。
【符号の説明】
【００５８】
１０   議論構造拡張装置
１２   入力部
１４   演算部
１６   出力部
２０   テンプレートリスト
２２   テンプレート作成部
２４   要素リスト
２６   要素列挙部
２８   追加命題出力部
３０   追加命題候補出力部
３２   追加命題候補ランキング部
【図１】
2019144692.tif 000004
【図２】
2019144692.tif 000005
【図３】
2019144692.tif 000006
【図４】
2019144692.tif 000007
【図５】
2019144692.tif 000008
【図６】
2019144692.tif 000009
【図７】
2019144692.tif 000010
【図８】
2019144692.tif 000011
【図９】
2019144692.tif 000012
【図１０】
2019144692.tif 000013
【図１１】
2019144692.tif 000014