対話システムとは

近年、コンピュータやロボットと自然な言葉で対話する研究が多く見られる。本研究室においてもSageによる意味解析とMetis内の文類似度計算エンジンGraphMatchを用いて、対話システムを開発している。タスク指向型対話システムとしては目標達成を支援するEveSeekや小説内の人物と類推ベースで対話するEveStory、非タスク指向型対話システムとしては、質問に答えたり雑談をするHERMESなどがあります。


雑談対話システムHermes

暫時知識追加可能な対話型問い合わせシステムの第1歩として、自然語で推論ルールや知識を記述する対話型の質問応答システムEveを研究しています。人同士のような対話を人と計算機の間で行うシステムの開発を、対話の基となる推論ルールや知識を、全て自然語のみで記述することでどの程度実現できるかを検証しています。Eveは、対話、領域、知識、推論ルールを全て自然語文で表現します。

昨今では,人間同士の対話ではなくシステムと対話を楽しむという場面も増えてきており,ユーザとシステムが雑談のような目的のない対話を展開する非タスク指向型対話システムの研究が盛んに行われている.非タスク指向型対話システムでは,自然な応答の生成,文脈の把握,盛り上がりやユーモアなど魅力的な対話の演出など様々な能力が求められる.その中でも,特定の話題にとどまらない新たな話題や意見の提示による話題の展開や,対話を継続したくなるような魅力のある自然な応答の生成は,非タスク指向型対話において重要な要素である.そこで,会話形式のデータを持つTwitterをリアルタイムで検索し,対話の展開力と自然さを重視した非タスク指向型対話システムの構築を行った.
応答にユーザの発話文に関連した話題や異なる意見が含むことで,ユーザに次の発話を促せるという考えのもとに,ユーザの入力発話に対するシステムからの応答候補にユーザの発話文に含まれている話題以外の「新しい話題」,および深層格reverseおよびinter-reverseによって評価する「逆説」を含んでいるかを重視する.また,より自然な応答を返すために,ユーザの発話および応答候補に「態度」という素性を設定し,ユーザとシステムの互いの態度を自然な形で変化させる.態度の分類は語意とモダリティを用いて行い,ユーザ発話の態度とシステム応答の態度の対応関係については予備実験の結果から作成したルールにより決定する.提案手法では,これらの素性に基づいてTwitterから抽出した応答候補文を評価し,応答を決定する.この際,応答の態度ごとに適切な「相槌」を付与することにより,応答の自然さおよび対人魅力の向上を目指す.
以下に、2014年2月の頃のTwitterを相手にした対話デモを示す。


Hermes デモ(2014.2)



類推対話システムEveStory

人間と計算機の自然な対話を、類推を用いて実現することを目的に、類推応答による物語の登場人物との対話システムEVEの研究開発を行った。類推による応答生成は、グラフ照合により入力発話と物語中のn番目の発話(類似発話)間の類似点及び類似発話とn+1番目の発話(類似応答)間の類似点を求め,これを基に類推することで,入力発話に対応した応答を類似応答から生成する。発話間の類似性評価には意味グラフ照合を用いる。小説を意味グラフとして蓄積したもの及び,発話の発話者及び発話相手を小説知識と呼び,これを小説から自動構築する。本研究では,応答生成の精度向上と,利用者の具体的な属性情報を応答発話に組み込むことにより,親近感のある応答生成の実現を目指す。
類推応答型推論の処理の流れを図1に示す。まず小説の全ての発話に対し、発話ごとで行われている対話状況の情報を対話知識として格納する。格納される情報は、発話を発している人物、発話相手、状態や場所、心的状況がある。ユーザが入力発話Aを入力すると、対話知識からこれに類似した類似発話Bを取得し、小説内の対話において、この類似発話Bに対する応答を類似応答Cとして求める。最後に、類似発話Bから類似応答Cが得られる推論の類推として、入力発話Aから応答発話Dを生成する。入力発話Aから類似発話Bを取得する類似発話検索は、質問応答型推論と同様にMetis内の意味グラフ照合を用いて、小説内のすべての発話の中で入力発話Aと最も高いグラフ類似度を持つ発話として類似発話Bを求める。小説内の各発話には多数の文が存在することもある一方で、ユーザの入力発話は短いことが多いので、類似発話Bを求める際の検索対象は、小説内の各発話の最後の2文に限定した。また、発話A・B間で類似している文節対を照合対A・Bとする。

類推型応答の概要

図1 類推型応答の概要


類似発話Bから類似応答Cが得られる推論の類推として、入力発話Aから応答発話Dを生成する方法として、発話B・C間には文節レベルで当然多くの差異B・Cがある、言い換えれば発話Bにはない文節が発話Cには多く出現する。これらは発話Cの発話者が発話Bを受けて自らの意図や目的に応じて推論して得た結果である。この推論の過程をすべてモデル化することは難しい。そこで、差異B・Cのうち、発話Bにはなく発話Cにおいて登場した固有表現を表す差異文節群B・Cにのみ注目し、その他の文節は発話Bから発話Cが生成される時は常に出現するものと考え、この発話推論のモデルの不変化部分と考える。固有表現からなる差異文節群B・Cのみをモデルの可変部分と考え、この中に登場する文節Nがなぜ出現したのかを考え、小説内における文節NCの発話Bや発話Cの発話者との関係Rと求め、発話Aの発話者であるユーザにとってこの関係Rにある文節NAを求めて、発話C内において文節NCを文節NAに置換して応答発話Dを求める。例えば、図2に示すように、文節NCが、発話Cの発話者の相手、すなわち発話Bの発話者であった場合は、文節NAはユーザネームとなる。


類推応答型推論による応答生成例-ユーザネームによる置換

図2 類推応答型推論による応答生成例-ユーザネームによる置換


以下に、シャーロックホームズの小説を基にした対話例を示す。


Eve 小説対話



目標対話システムEveSeek

 暫時知識追加可能な対話型問い合わせシステムの第1歩として、自然語で推論ルールや知識を記述する対話型の質問応答システムEveSeek Eveを研究しています。人同士のような対話を人と計算機の間で行うシステムの開発を、対話の基となる推論ルールや知識を、全て自然語のみで記述することでどの程度実現できるかを検証しています。Eveは、対話、領域、知識、推論ルールを全て自然語文で表現します。

  1. 目標スタック

  2. 推論を行う方式としてSTRIPSで用いられた目標スタックを利用しています。目標スタックに積まれた初期の目標を推論ルールによって部分目標に展開し目標スタックに積んでいきます。この展開は、各部分目標がEveによって実行可能な原始的な要求に展開されるまで続けられます。


  3. 部分目標展開ルール(Suger)

  4. 目標を部分目標に展開する為の自然語で記述した推論ルールを、部分目標展開ルール(Suger)と名づけます。例えば、「何の属性を決定する為には、何の属性を検索し、何の属性を修正して貰う。」などがあります。


  5. 実行可能行為(Exeact)

  6. プログラムで記述するのは、Eveが具体的な処理を実行する原始的な要求を表す基本的な語のみとし、このような語を実行可能行為(Exeact)と名づけます。例えば、「調査する(知識検索)」や「間違いを正しくする(修正処理)」などです。


  7. 本研究室のSAGEとMetisの利用

  8. システムとしての開発を容易にする為に、自然語で記述された推論ルールや知識を意味解析システムSAGEによって意味グラフに展開し、それらの検索や実行処理を語の意味と語間の深層格を基に記述します。また、問い合わせシステムとしての原始要求の内、インターネットや新聞への問い合わせ要求を質問応答システムMetisを利用して実現しています。


  9. 対話例

  10. 図1のような流れで、図2のような対話を行います。


    全体の流れ

    図1 全体の流れ


    Eveの対話例

    図2 EveSeekの対話例


  11. この対話例で使用した部分目標展開ルール(Suger)

    • 何を特定する為には、何の属性を決定し、何の属性の属性値を決定する。

    • 何の属性を決定する為には、何の属性を検索し、何の属性を修正して貰う。

    • 何の属性の属性値を決定する為には、何の属性の属性値を検索する。

    • 挨拶の何をする為には、何の属性を検索し、何の属性の属性値を決定し、「属性値」を表示する。


  12. この対話例で使用した実行可能行為

  13. 実行可能行為
    処理名 見出し語 概念ID
    検索 調査する 0x30f874
    修正 間違いを正しくする 0x1016d6
    表示 明らかにして示す 0x3ce5ee

  14. この対話例で使用した知識

    • 電車の属性は、名前と出発時刻と到着時刻と乗り場と停留所と到着地です。

    • 成田空港行きの電車は、成田エクスプレス1か…か成田エクスプレス51です。

    • 成田エクスプレス27の出発時刻は、13時33分です。

    • 成田エクスプレス11の出発時刻は、08時30分です。

    • 成田エクスプレス17の出発時刻は、10時33分です。

    • 成田エクスプレス21の出発時刻は、12時03分です。

    • 成田エクスプレス23の出発時刻は、12時33分です。

    • 成田エクスプレス25の出発時刻は、13時03分です。

    • 成田エクスプレス25の名前は、成田エクスプレス25です。

    • 成田エクスプレス25の乗り場は、4番ホームです。

    • ホームの属性は、乗り場です。

    • 4番ホームの乗り場は、右手のエスカレーターの2階下です。

    • ありがとうございますの属性は、適当な返答です。

    • ありがとうございますの適当な返答は、どういたしましてです。