(57)【特許請求の範囲】
【請求項１】
制御装置により入力文に対する応答文を生成する対話処理方法であって、
タスクの実行に関連する知識に基づいて生成された、複数の概念を互いに関連付けるタスク知識ベースと、一般的な知識に関して生成された、複数の概念を互いに関連付ける一般知識ベースと、が記憶装置に格納されていて、
前記制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、
前記制御装置により、抽出した前記入力概念が前記タスク知識ベースにあるか否かを判断するステップと、
抽出した前記入力概念が前記タスク知識ベースにある場合は、前記制御装置により、前記タスク知識ベースのみを参照して、前記入力概念に基づいて、前記入力文に対する応答文を生成するステップと、
抽出した前記入力概念が前記タスク知識ベースにない場合は、前記制御装置により、前記タスク知識ベースと前記一般知識ベースの両方を参照して、前記入力概念に基づいて、前記入力文に対する応答文を生成するステップとを含み、
前記入力概念が前記タスク知識ベースにない場合は、
前記制御装置により、前記タスク知識ベースと前記一般知識ベースの両方に含まれる概念である共通概念に基づいて、前記タスク知識ベースと前記一般知識ベースを結合した結合知識情報を生成し、
前記制御装置により、前記結合知識情報を参照して、前記入力概念に基づいた前記応答文を生成する、
対話処理方法。
【請求項２】
前記共通概念は、前記一般知識ベースにおいて前記入力概念に直接、又は所定数以下の他の概念を介して間接的に接続されている概念であって、且つ前記タスク知識ベースにも含まれる概念である、請求項１に記載の対話処理方法。
【請求項３】
前記タスク知識ベースは、前記複数の概念の最上位に位置する最上位概念を含み、
前記応答文の生成において、
前記制御装置により、前記入力概念から前記最上位概念に至る経路を前記結合知識情報内で探索し、
前記制御装置により、前記入力概念から前記最上位概念までの距離が最短となる最短経路を、探索された前記経路の中から選択し、
前記応答文の生成は、前記最短経路に含まれる概念に基づいて行われる、
請求項１に記載の対話処理方法。
【請求項４】
前記タスク知識ベースと前記一般知識ベースにおいて、前記複数の概念は複数種類の関係情報の中の少なくとも１つによって互いに関連付けられていて、
前記複数種類の関係情報には、それぞれに対応する重みが予め付けられていて、
前記最短経路は、前記入力概念から前記最上位概念に至る経路内の前記重みの合計値が最小となる経路である、
請求項３に記載の対話処理方法。
【請求項５】
前記タスク知識ベースと前記一般知識ベースにおいて、前記複数の概念は複数種類の関係情報の中の少なくとも１つによって互いに関連付けられていて、
前記応答文の生成は、前記最短経路の中で、前記最上位概念から所定の関係情報でたどることができる、前記最上位概念から最も遠い概念に基づいて行われる、
請求項３に記載の対話処理方法。
【請求項６】
前記所定の関係情報は、互いに関連付けられている概念が上位概念と下位概念の関係を
示す情報である、請求項５に記載の対話処理方法。
【請求項７】
入力文に対する応答文を生成する対話処理システムであって、
タスクの実行に関連する知識に基づいて生成された、複数の概念を互いに関連付けるタスク知識ベースと、一般的な知識に関して生成された、複数の概念を互いに関連付ける一般知識ベースと、を格納する記憶装置と、
入力文を示す情報を入力する入力装置と、
前記入力文に含まれる概念である入力概念を抽出し、抽出した前記入力概念に基づいて、前記入力文に対する応答文を生成する、制御装置と、
前記応答文を示す情報を出力する出力装置と、
を備え、
前記制御装置は、
抽出した前記入力概念が前記タスク知識ベースにあるか否かを判断し、
抽出した前記入力概念が前記タスク知識ベースにある場合は、前記タスク知識ベースのみを参照して、前記入力文に対する応答文を生成し、
抽出した前記入力概念が前記タスク知識ベースにない場合は、前記タスク知識ベースと前記一般知識ベースの両方を参照して、前記入力文に対する応答文を生成し、
前記入力概念が前記タスク知識ベースにない場合は、前記タスク知識ベースと前記一般知識ベースの両方に含まれる概念である共通概念に基づいて、前記タスク知識ベースと前記一般知識ベースを結合した結合知識情報を生成し、前記結合知識情報を参照して、前記入力概念に基づいた前記応答文を生成する、
対話処理システム。
【請求項８】
コンピュータに請求項１から請求項６のいずれか一つに記載の対話処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、入力した音声又はテキストに応じて応答文を生成する、対話処理方法、対話処理システム、及びプログラムに関する。
【背景技術】
【０００２】
知識ベースを利用してユーザからの要求に応える知識ベースシステムが開示されている（例えば、特許文献１参照）。この知識ベースシステムは複数の知識処理装置を備え、複数の知識処理装置の各々が自己の知識ベースを備えている。この知識ベースシステムにおいて、ある知識処理装置が自己の知識ベースを使用してユーザの要求を解決できないときは、他の知識処理装置に解決を依頼することによって、ユーザの要求を解決できるようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−２７６６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の従来の知識ベースシステムでは、一つの知識処理装置が備える知識ベースだけではユーザの要求に対応できないことがあり、要求に対する応答能力が高くなかった。
【０００５】
本開示は、応答能力の高い、対話処理方法、対話処理システム、及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様の対話処理方法は、
制御装置により入力文に対する応答文を生成する対話処理方法であって、
タスクの実行に関連する知識に基づいて生成された、複数の概念を互いに関連付けるタスク知識ベースと、一般的な知識に関して生成された、複数の概念を互いに関連付ける一般知識ベースと、が記憶装置に格納されていて、
前記制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、
前記制御装置により、抽出した前記入力概念が前記タスク知識ベースにあるか否かを判断するステップと、
抽出した前記入力概念が前記タスク知識ベースにある場合は、前記制御装置により、前記タスク知識ベースのみを参照して、前記入力概念に基づいて、前記入力文に対する応答文を生成するステップと、
抽出した前記入力概念が前記タスク知識ベースにない場合は、前記制御装置により、前記タスク知識ベースと前記一般知識ベースの両方を参照して、前記入力概念に基づいて、前記入力文に対する応答文を生成するステップと、
を含む。
【０００７】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム、並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより、実現してもよい。
【発明の効果】
【０００８】
本開示の対話処理方法、対話処理システム、及びプログラムによれば、応答能力が高くなる。
【図面の簡単な説明】
【０００９】
【図１】（ａ）はタスク知識ベースの一例を示し、（ｂ）は一般知識ベースの一例を示す図
【図２】本発明の一態様の対話処理システムの構成を示すブロック図
【図３】本開示の実施形態の対話処理の概略を示すフローチャート
【図４】図３のステップＳ３０３の詳細の処理を示すフローチャート
【図５】本開示の実施形態におけるタスク知識ベースの具体例を示す図
【図６】本開示の実施形態における一般知識ベースの具体例を示す図
【図７】本開示の実施形態における結合知識情報の具体例を示す図
【図８】図４のステップＳ４０６の詳細の処理を示すフローチャート
【図９】本開示の対話処理システムをクラウド（ネットワーク）を利用して実現する際の実装例を示した図
【図１０】本開示の対話処理システムをクラウド（ネットワーク）を利用して実現する際の別の実装例を示した図
【発明を実施するための形態】
【００１０】
（本発明の一態様を得るに至った経緯）
近年、人工知能による業務の代行が検討されている。業務の形態の中でも特に接客などの対人業務において、顧客との口頭のコミュニケーションを通じて、顧客の要望に応えることが必要とされる。そのため、タスク実行型の対話技術が検討されている。
【００１１】
図１（ａ）に、タスク知識ベースの一例を示す。タスク知識ベースは、タスクの実行に関連する知識を含む知識ベースである。図１（ｂ）に、一般知識ベースの一例を示す。一般知識ベースは、一般的な知識を含む知識ベースである。
以後の説明において、以下のように用語を定義する。
「概念」：自然言語に含まれる単語、又は２つ以上の単語で構成される語句。
「アクション」：タスクの実行に関連する動作。
「ノード」：知識ベース内において、概念及びアクションを表すもの（図１に楕円で示されている）。
「ルート」：知識ベース内の最上位概念。
「エッジ」：知識ベース内において、ノード間を関係詞により相互に関連付けるもの（図１に矢印で示されている）。
「関係詞」：ノード間の関係を表すもの（図１の「IsA」、「HasFeature」、「Antonym」、「RelatedTo」、「ToDo」）。
「知識」：概念、アクション、概念と概念の関係、及び概念とアクションの関係を含むもの。
【００１２】
本開示において、「タスクの実行」とは、ユーザの指示に応じた仕事を行うことである。例えば、タスクの実行とは、実際にコーヒーを提供できる状態にした注文を受け付けることである。
【００１３】
本開示において、各関係詞は以下の意味を持つ。
関係詞「IsA」：概念の上下関係を表す。具体的には、接続元のノードが接続先のノードの下位概念であることを示す。例えば、図１（ａ）において、ノード２ａ「Concept_01」はルートノード１ａ「TASK root」の下位概念であることを示している。
関係詞「HasFeature」：特徴（性質）を持つことを表す。具体的には、接続元のノードが接続先のノードを特徴として持つことを示す。
関係詞「RelatedTo」：接続元と接続先の概念に関係があることを表す。
関係詞「Antonym」：接続元と接続先の概念が対義語であることを表す。
関係詞「ToDo」：接続元のノード２ａに対してアクションノード４ａを関連付けるものであり、接続先のアクションノード４ａに示されるアクションを実行すべきであることを表す。具体的には、例えば、ノード２ａ「Concept_01」に関連してアクションノード４ａの「Action_01」を実行すべきであることを示している。
【００１４】
図１（ａ）及び図１（ｂ）に示すように、タスク知識ベース３１及び一般知識ベース３２は、それぞれ、複数の概念を関係詞によって互いに関連付けた有向グラフである。
【００１５】
タスク知識ベース３１は、タスクの実行に関連する知識に基づいて生成され、タスクの実行に関連する知識を含む。図１（ａ）に示すように、タスク知識ベース３１は、ルートノード１ａ「TASK root」の下位に、各概念を表すノード２ａを含む。ノード２ａ間は、関係詞「IsA」、「RelatedTo」、及び「HasFeature」などで表されるエッジ３ａによって接続されている。タスク知識ベース３１は、動作を表すアクションノード４ａ「Action_01」及び「Action_02」を含む。アクションノード４ａは、関係詞「ToDo」により、概念を表すノード２ａに接続されている。このようなタスク知識ベース３１は、タスク知識ベース３１の記述者による想定に基づいて、生成される。しかし、ユーザの要求は多様であり、事前に、すべての要求を予測して、タスクの実行に必要な全ての知識を含むタスク知識ベース３１を生成することは困難である。また、タスクを確実に実行できるようにタスク知識ベース３１を正確に生成するためには、タスク知識ベース３１の質が要求される。そのため、タスク知識ベース３１は手作業で構築される場合が多く、タスク知識ベース３１の量は制限され、あらゆる概念を網羅することは難しい。よって、タスク知識ベース３１のみでは、ユーザの要求を解釈できない場合が発生する。
【００１６】
一方、図１（ｂ）に示すような一般知識ベース３２は、コーパス（大量の言語データ）から機械的に構築され、一般的な知識を含む。一般知識ベース３２は、一般に、概念の上下関係に関する情報（例えば関係詞「IsA」で表す）と、概念の持つ性質に関する情報（例えば関係詞「HasFeature」で表す）を多く含む。一般知識ベース３２は、タスク知識ベース３１にあるような、タスクの実行に関連するアクションノード４ａを含まないため、一般知識ベース３２だけでは、ユーザが要求するようなタスクを実行することが難しい。また、機械的な構築方法によって大規模な知識ベースを構築することは可能になるが、概念が精度良く関連付けられていないことも多く、ユーザが要求するようなタスクを実行することが難しい。
【００１７】
以上のように、手作業で作られた小規模のタスク知識ベース３１においては概念の網羅性が乏しく、機械が自動生成した大規模な一般知識ベース３２ではタスクを達成することが困難である。よって、タスク知識ベース３１のみ、又は一般知識ベース３２のみでは、高い応答能力で、タスクを実行することが難しい。
【００１８】
よって、本開示の対話処理システムは、タスクの実行に関連する知識を含むタスク知識ベース３１と、広範囲な知識について高い網羅性を有する一般知識ベース３２とを併用し、高い応答能力で、タスクを実行することを可能にする。
【００１９】
（実施の形態）
１．対話処理システムの構成
図２は、本発明の一態様の対話処理システムの構成を示す。本開示の対話処理システム１００は、ユーザの発話又はテキストを入力する入力装置１０と、入力した発話又はテキストに応じて応答文を生成する制御装置２０と、タスク知識ベース３１及び一般知識ベース３２を格納する記憶装置３０と、生成した応答文を音声又はテキストで出力する出力装置４０と、を含む。
【００２０】
入力装置１０は、ユーザが発した音声を入力する音声入力部１１と、テキストを入力する文字入力部１２とを含む。音声入力部１１は、例えば、マイクロフォンである。文字入力部１２は、例えば、キーボード又はタッチパネルである。
【００２１】
制御装置２０は、音声入力部１１が入力した音声をテキスト（テキストデータ）に変換する音声認識部２１と、音声認識部２１及び文字入力部１２から出力されるテキスト（入力文）を処理する自然言語処理部２２と、を含む。自然言語処理部２２は、テキストの構文を解析して、構文から自然言語の概念を抽出する。自然言語処理部２２は、例えば、文の表層表現を意味表現に変換する一般的なセマンティックパーサを使用する。意味表現は、例えば、ユーザの意図の動詞句とそれに関連する目的語句からなり、本実施形態では、特に、目的語句に含まれる名詞や形容詞を抽出された概念として利用する。
【００２２】
制御装置２０は、さらに、抽出した概念に基づいて、タスク知識ベース３１と一般知識ベース３２を参照して結合知識情報３３を生成して、入力文に対する応答文を生成する対話処理部２３と、生成した結合知識情報３３を格納するメモリ２４と、生成した応答文をテキスト（テキストデータ）から音声（音声信号）に音声合成により変換する音声合成部２５と、を含む。応答文の生成は、文生成用のテンプレートを適用するなどの、一般的な方法により行うことができる。
【００２３】
音声認識部２１、自然言語処理部２２、対話処理部２３、及び音声合成部２５は、半導体素子などで実現可能である。これらの機能は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。例えば、マイコン、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ、ＡＳＩＣで構成することができる。メモリ２４は、例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭ、強誘電体メモリ、フラッシュメモリ、又は磁気ディスク、又はこれらの組み合わせによって実現できる。
【００２４】
制御装置２０は、例えば、制御装置２０内の各部（音声認識部２１、自然言語処理部２２、対話処理部２３、及び音声合成部２５）の機能をプログラムにより実現するサーバ装置である。例えば、制御装置２０は、上記各部の機能を実現するためのプログラムをメモリ２４に記憶していても良い。ＣＰＵが、メモリ２４に記憶されたプログラムをＲＡＭにコピーし、そのプログラムに含まれる命令をＲＡＭから順次読み出して実行することにより、上記各部の機能を実現する。また、プログラムを実行する際、以下の各実施形態で述べる各種処理で得られた情報がＲＡＭまたはメモリ２４に記憶され、適宜利用される。また、制御装置２０は、例えば、所定の通信規格（例えばＬＡＮ、ＷｉＦｉ）に準拠して外部機器との通信を行うためのインタフェース回路を備え、外部機器と通信を行うことができる。
【００２５】
タスク知識ベース３１は、図１（ａ）に示すような、複数の概念を関係詞により互いに関連付けたものであって、タスクの実行に関連する知識（アクション等）の情報を含む知識ベースである。一般知識ベース３２は、図１（ｂ）に示すような、複数の概念を関係詞により互いに関連付けたものであって、一般的な知識（上下関係、性質等）の情報を含む知識ベースである。記憶装置３０は、例えば、クラウド上にあって、制御装置２０とインターネット経由により接続されても良い。しかし、記憶装置３０は、制御装置２０内に含まれても良い。タスク知識ベース３１及び一般知識ベース３２は、別個の記憶装置に格納されても良い。タスク知識ベース３１及び一般知識ベース３２は、その大きさに応じてそれぞれ、クラウド上にあっても良いし、制御装置２０内に格納されても良い。記憶装置３０は、例えば、ＳＳＤ、ＲＯＭ、ＤＲＡＭ、強誘電体メモリ、フラッシュメモリ、又は磁気ディスクなどで実現できる。
【００２６】
出力装置４０は、音声を出力する音声出力部４１と、テキストを出力する文字出力部４２とを含む。音声出力部４１は、例えばスピーカである。文字出力部４２は、例えば液晶ディスプレイである。
【００２７】
制御装置２０は、入力装置１０、記憶装置３０、及び出力装置４０と、無線通信により接続されても良いし、コネクタやケーブル等を介して有線接続されても良い。
【００２８】
２．対話処理
図３は、制御装置２０による対話処理の全体の流れを示している。図３は、音声による対話をユーザと行う例を示している。制御装置２０は、音声入力部１１からユーザの発話を入力すると（Ｓ３０１）、音声認識部２１により、ユーザの発話をテキストに変換する（Ｓ３０２）。制御装置２０は、自然言語処理部２２により、テキストから自然言語概念を抽出し、対話処理部２３により、抽出した概念に基づいて、タスク知識ベース３１、又はタスク知識ベース３１と一般知識ベース３２の両方を使用して、応答文を生成する（Ｓ３０３）。制御装置２０は、音声合成部２５によって応答文をテキストから音声に変換し（Ｓ３０４）、音声出力部４１から応答文に対応する音声を出力する（Ｓ３０５）。なお、ユーザとテキストによる対話を行う場合は、ステップＳ３０１において文字入力部１２からテキストを入力し、音声からテキストへの変換処理（Ｓ３０２）とテキストから音声への変換処理（Ｓ３０４）を省略し、ステップＳ３０５において文字出力部４２により応答文をテキストで出力する。
【００２９】
以下、応答文の生成（図３のステップＳ３０３）の具体的な処理について、対話処理システム１００が、飲食店において注文の自動受付を行う場合を例にして説明する。図４に、応答文の生成（図３のステップＳ３０３）の詳細の処理を示す。図５に、対話処理システム１００が飲食店の注文の自動受付を行うシステムである場合の、タスク知識ベース３１の一部の具体例を示す。図６に、一般知識ベース３２の一部の具体例を示す。
【００３０】
図４において、自然言語処理部２２は、音声認識部２１又は文字入力部１２から出力されるテキスト（入力文）に含まれる主要概念を抽出する(ステップＳ４０１)。例えば、ユーザが「I want something warm.」と発声すると、自然言語処理部２２は、入力文に対して構文解析を行い、目的語である「something warm」を抽出する。次に、一般に検索の対象外である「stop word」として定義される「something」を入力文から除き、残った「warm」を主要概念として抽出する。
【００３１】
対話処理部２３は、抽出された主要概念がタスク知識ベース３１に含まれるか否かを調べる（Ｓ４０２）。主要概念がタスク知識ベース３１に含まれていれば（Ｓ４０２でＹｅｓ）、タスク実行のための応答文を生成する（Ｓ４０９）。ここでのタスク実行のための応答文の生成は、タスク知識ベース３１内において、主要概念及びその上位概念に関係詞「ToDo」によって関連付けられているアクションノード４ａに示されるアクションを実行することである。例えば、図５に示すようなアクションノード４「confirm order」に従い、注文を確認するための応答文を生成する。図５に示すような注文の自動受付を行うためのタスク知識ベース３１には、例えば、さまざまな商品に関する情報を体系化した商品知識と、商品に付随して確認すべきこと又はお薦めすべきことを記述した行動知識とが含まれる。対話処理システム１００は、ユーザが要望した注文の対話に基づいて、タスク知識ベース３１だけで、ユーザの対話に含まれる概念を解釈できて対話処理を完了させることができる場合は、タスク知識ベース３１だけを使用して対話処理を完了させ、ユーザの注文を受け付ける。
【００３２】
一方、タスク知識ベース３１には含まれない概念を解釈する必要が生じれば、一般知識ベース３１を併用して、一般知識ベース３１内の概念をタスク知識ベース３１内の概念と紐付けして、対話を継続する。そのために、まず、主要概念がタスク知識ベース３１に含まれていなければ（Ｓ４０２でＮｏ）、対話処理部２３は、一般知識ベース３２から近傍概念を抽出する（ステップＳ４０３）。例えば、「warm」は図５に示すタスク知識ベース３１に含まれていないため、図６の一般知識ベース３２から主要概念「warm」の近傍概念が抽出される。「近傍概念」とは、具体的には、一般知識ベース３２において、１つのエッジでたどることができる概念間のグラフ距離を「１」とした場合の、主要概念からグラフ距離が所定数以下（本実施形態においては、２以下）までの概念のことである。図６の例では、主要概念のノード５ｂ「warm」から、グラフ距離が「１」である近傍概念「cold」，「tea」，「hot」，「water」，「soup」，「coffee」と、グラフ距離が「２」である近傍概念「salad」，「drink」，「fire」，「ice」，「snow」とが、抽出される。なお、図６は、主要概念「warm」に関連付けられている概念の一部のみを示していて、例えば、全体としては、主要概念「warm」からグラフ距離が「１」の範囲には１０個の概念が関連付けられていて、グラフ距離が「２」までの範囲には１１０個の概念が関連付けられていて、グラフ距離が「３」までの範囲になれば１１１０個の概念が関連付けられている。この場合、グラフ距離が「２」までの範囲の概念を近傍概念として抽出すると、１１０個の概念が抽出されることになる。一般知識ベース３２から抽出する概念を主要概念の近傍に存在する概念に制限することによって、入力された主要概念と関連性の低い概念を抽出して、関連性の低い概念に基づいて応答文を生成することを防ぐ。また、図４及び図８に示す対話処理に関する処理量を低く抑えることもできる。
【００３３】
対話処理部２３は、抽出した近傍概念がタスク知識ベース３１に含まれるかどうかを確認する（ステップＳ４０４）。抽出した近傍概念のいずれもがタスク知識ベース３１に含まれない場合、エラー処理を実行する（ステップＳ４１０）。例えば、エラー処理として、エラーメッセージ「I do not understand.」を生成する。
【００３４】
抽出した近傍概念のうちタスク知識ベース３１に含まれるものがあれば、対話処理部２３は、近傍概念のうち一般知識ベース３２とタスク知識ベース３１の両方に含まれる概念を「共通概念」とし、その共通概念に基づいて、タスク知識ベース３１に含まれる概念と一般知識ベース３２に含まれる概念とを結合した結合知識情報３３を生成する（ステップＳ４０５）。図５及び図６において、共通概念のノード２ａｂを太枠で示している。図７に、図５のタスク知識ベース３１と図６の一般知識ベース３２とにより生成された結合知識情報３３を示す。図７に示す結合知識情報３３は、共通概念「salad」，「drink」，「cold」，「tea」，及び「hot」に基づいて、生成されたものである。図７において、実線のエッジ３ａはタスク知識ベース３１内のエッジを示し、点線のエッジ３ｂは一般知識ベース３２内のエッジを示している。また、実線のノード１ａ、２ａ及び４ａはタスク知識ベース３１内のノードを示し、点線のノード２ｂ及び５ｂは一般知識ベース３２内のノードを示している。但し、実線で示されているノードのうち、点線のエッジに接続されているノード２ａｂは、タスク知識ベース３１と一般知識ベース３２の両方に存在する共通概念を示している。
【００３５】
対話処理部２３は、生成した結合知識情報３３に基づいて、重要関連概念を抽出する（ステップＳ４０６）。「重要関連概念」とは、応答文の生成に必要な、主要概念の代わりとなる概念である。重要関連概念の抽出処理の詳細については、図８を使用して後述する。この重要関連概念の抽出処理によって、例えば、重要関連概念として「tea」が抽出されると、対話処理部２３は、重要関連概念「tea」について確認処理を行う（ステップＳ４０７）。確認処理として、例えば、「We have tea. How about it?」という問い合わせ文を生成し、出力しても良い。重要関連概念についての確認が取れた（又は承諾が得られた）場合、例えば、重要関連概念についての問い合わせ文に対してユーザから肯定的な回答を受け取ったときは（Ｓ４０８でＹｅｓ）、タスク実行のための応答文を生成する（Ｓ４０９）。具体的には、結合知識情報３３内で、関係詞「IsA」に基づいて重要関連概念「tea」の上位概念をたどって全ての上位概念を抽出し、重要関連概念「tea」と全ての上位概念に関係詞「ToDo」によって関連付けられているアクションノード４ａに示されるアクションを順番に実行する。例えば、図７においては、重要関連概念「tea」に、レモンとミルクに要否を確認するためのアクションノード４ａ「confirm milk/lemon」が関連付けられているため、ユーザとの対話履歴にレモンとミルクの要否についての情報がなければ、レモンとミルクの要否を問い合わせるための応答文を生成する。これにより、ユーザからレモンとミルクの要否に関する情報を取得する。また、上位概念のノード「drink」に、サイズを確認するためのアクションノード４ａ「confirm size」が関連付けられているため、ユーザとの対話履歴にサイズについての情報がなければ、サイズについて問い合わせるための応答文を生成する。これにより、ユーザからサイズについての情報を取得する。さらに、ルートノード１ａ「menu root」に関連付けられているアクションノード４ａ「confirm order」に基づいて、注文内容についての最終確認を行う。例えば、他の注文がないかどうかを問い合わせても良い。重要関連概念の確認において、ユーザの確認が取れなかった（又は承諾が得られなかった）場合、例えばユーザから否定的な回答を受け取ったとき（Ｓ４０８でＮｏ）は、エラーメッセージを生成する等のエラー処理を実行する（ステップＳ４１０）。なお、重要関連概念の確認において、ユーザから否定的な回答を受け取ったときに（Ｓ４０８でＮｏ）、重要関連概念として選ばれなかった他の重要関連概念の候補を使用した確認を行ってもよい。
【００３６】
図８に、重要関連概念の抽出処理（図４のステップＳ４０６）の詳細を示す。対話処理部２３は、図７に示すような結合知識情報３３内で、主要概念のノード５ｂ「warm」から、タスク知識ベース３１のルートノード１ａ「menu root」に至るまでの全ての経路を探索する（ステップＳ８０１）。探索して見つかった経路が、重要関連概念を探すための経路の候補となる。具体的には、主要概念のノード５ｂ「warm」から近傍概念のノード２ａｂ「salad」，「drink」，「cold」，「tea」，及び「hot」のそれぞれを経由してルートノード１ａ「menu root」に至る経路を探索する。例えば、「warm」−「soup」−「salad」−「menu root」を通る経路、「warm」−「water」−「drink」−「menu root」を通る経路、「warm」−「tea」−「drink」−「menu root」を通る経路などが、候補として探し出される。
【００３７】
次に、対話処理部２３は、候補として見つかった経路の中から最短経路を選択する（Ｓ８０２）。本実施形態においては、概念間の関連性に関して、関係詞に重みを予め設定しておく。対話処理部２３は、主要概念のノード５ｂからルートノード１ａに至るまでの経路の重みの合計を計算して、合計値の大きさに基づいて、経路を一つ選択する。例えば、概念間の関連性の近いものほど重みが小さくなるように設定し、関係詞{IsA, HasFeature, RelatedTo, Antonym}のそれぞれに対して、{0.5, 1.0, 3.0, 10.0}を設定する。この場合、図７に示す経路の重み付き距離{「tea」を通る経路, 「hot」を通る経路, 「cold」を通る経路, 「water」を通る経路, 「soup」を通る経路}は、それぞれ、{4.0, 5.0, 5.0, 13.5, 13.5}となる。この中で、概念間の関連性が最も近い経路、すなわち、経路の重み付き距離の値が最小の経路を選択する。この場合、最短経路は「tea」を通る経路である。図７において、最短経路を太線で示している。重み付きの最短経路を求める際に、例えば、ダイクストラ法（Dijkstraのアルゴリズム）を利用することができる。このように、関係詞に応じた重み付き経路を計算することによって、例えば、経路上に存在する関係詞の多様な組み合わせ間の重要性についての序列に関するルールを作成することなく、数値の比較によって序列をつけることができる。
【００３８】
次に、対話処理部２３は、最短経路上にある概念の中から一つを重要関連概念として抽出する（ステップＳ８０３）。具体的には、最短経路沿いにあって、タスク知識ベース３１内でルートノード１ａから関係詞「IsA」でたどることができる概念のうち、最も下位の概念を主要概念の重要関連概念として抽出する。下位概念であるほど概念が具体的であり、且つ主要概念からの距離が近いからである。図７の例では、最短経路に、概念「menu root」、「drink」、「tea」、及び「warm」が含まれる。この中で、タスク知識ベース３１内にあり、ルートノード１ａから関係詞「IsA」のみでたどることができる概念のうち最も下位の概念である「tea」が主要概念「warm」の重要関連概念として抽出される。このようにして抽出した重要関連概念を抽出することによって、ユーザの「I want something warm.」という要望に対して、「We have tea. How about it?」と返すことができる（図４のステップＳ４０７）。
【００３９】
３．効果等
誤りなくタスクを実行することを目指してタスク知識ベース３１を生成する場合、人手により吟味して生成する必要が生じるため、一般的に、タスク知識ベース３１の規模は小さくなりやすい。そのため、ユーザの発話に含まれる概念が、タスク知識ベース３１に含まれないことが起こりやすい。一方、一般知識ベース３２は、機械がルールに基づき、大量のテキストデータから知識を抽出することによって生成するため、大規模の知識ベースを実現できる。しかし、一般知識ベース３２は、動作に直接関連付けられていないため、タスクを実行するのに必要な知識が含まれていないことが多い。また、一般知識ベース３２は、大規模であって、知識の組み合わせ方が膨大であるため、一般知識ベース３２内だけで、タスクの実行に必要な知識を探索することは難しい。
【００４０】
本実施形態の対話処理システム１００は、タスクの実行に関連する知識を含むタスク知識ベース３１と、一般的な概念に対しての網羅性の高い一般知識ベース３２とを併用することによって、タスク知識ベース３１のみでは対応できない概念についても対応可能にしている。具体的には、一般知識ベース３２とタスク知識ベース３１の共通概念に基づいて、入力文から抽出した主要概念に関する結合知識情報３３を生成し、結合知識情報３３内で、一般知識ベース３２内の主要概念のノード５ｂからタスク知識ベース３１内のルートノード１ａに至る経路を探索し、探索した経路の中から重要関連概念を抽出することによって、タスクの達成につながる応答文を決定している。よって、タスク知識ベース３１に含まれない要求についても、タスク達成に向けた対話を継続することが可能となる。よって、ユーザの要求に対して高い応答能力で、対話を継続することができる。このように、本実施形態によれば、タスク知識ベース３１と一般知識ベース３２とを併用することによって、より広い範囲の概念をカバーして、より確実にタスクを実行することができる。
【００４１】
本実施形態においては、関係詞の重みを使用して、最短経路を選択した（図８のＳ８０２）。仮に、グラフ距離の短いもの（すなわち、エッジの数が少ないもの）を最短経路として選択すると、図７においてはグラフ距離が３になる、「soup」を通る経路、「water」を通る経路、及び「tea」を通る経路が最短経路として選択されることになる。しかし、「soup」を通る経路上には「salad」が含まれ、この「salad」が重要関連概念として抽出された場合、「I want something warm.」というユーザの要望に対して、「We have salad. How about it?」と返すことになり、適切ではない。これは、経路上にある「soup」と「salad」が関係詞「Antonym」（反意語）によって関連付けられているからである。よって、関係詞「Antonym」（反意語）の関係が含まれるような経路は、最短経路として選択される可能性が低くなるようにすることが好ましい。本実施形態によれば、概念間の関連性の近いものほど重みが小さくなるように設定して、経路の重み付き距離の値が最小の経路を選択しているため、好ましくない重要関連概念を抽出する可能性を低減することができる。
【００４２】
なお、上述した対話処理システム１００の一部の機能をクラウド上で実現してもよい。例えば、図９は、知識ベース３１、３２を管理する記憶装置３０（知識ベースサーバ）をクラウド上に設けたときの構成の例を示す。図９に示すように、ネットワーク上に記憶装置３０を設け、端末装置５０は、対話処理システム１００における入力装置１０、制御装置２０及び出力装置４０のみを備えてもよい。端末装置５０の制御装置２０は、クラウド上にある記憶装置３０すなわち知識ベース３１、３２にアクセスする。また、図１０は、制御装置２０および記憶装置３０をクラウド上に設けた構成の例を示す。図１０に示すように、ネットワーク上に制御装置２０と記憶装置３０を設け、端末装置５０は、対話処理システム１００における入力装置１０と出力装置４０のみを備えてもよい。端末装置５０は、入力文を示す音声信号またはテキスト情報をクラウド上にある制御装置２０に送信する。制御装置２０は、端末装置５０から受信した音声信号またはテキスト情報に基づき応答文を生成し、応答文に対応する音声信号またはテキストを端末装置５０に返信する。
【００４３】
上記実施形態では、制御装置２０がサーバ装置である例を示したが、制御装置２０は汎用のパーソナルコンピュータ又は携帯端末（スマートフォンなど）であっても良い。例えば、携帯端末である場合、メモリ２４はフラッシュメモリなどの内蔵ストレージである。
【００４４】
（本開示）
上記の実施形態では、以下の構成が開示されている。
（１）本開示の対話処理方法は、制御装置により入力文に対する応答文を生成する対話処理方法であって、タスクの実行に関連する知識に基づいて生成された、複数の概念を互いに関連付けるタスク知識ベースと、一般的な知識に関して生成された、複数の概念を互いに関連付ける一般知識ベースと、が記憶装置に格納されていて、制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、制御装置により、抽出した入力概念がタスク知識ベースにあるか否かを判断するステップと、抽出した入力概念がタスク知識ベースにある場合は、制御装置により、タスク知識ベースのみを参照して、入力概念に基づいて、入力文に対する応答文を生成するステップと、抽出した入力概念がタスク知識ベースにない場合は、制御装置により、タスク知識ベースと一般知識ベースの両方を参照して、入力概念に基づいて、入力文に対する応答文を生成するステップと、を含む。
【００４５】
このように、タスク知識ベースと一般知識ベースとを併用することによって、タスク知識ベースだけでは対応できない入力概念に対しても対応することが可能になり、高い応答能力で、ユーザと対話を継続することができる。その結果、タスクの実行を達成することができる。
【００４６】
（２）（１）の対話処理方法において、入力概念がタスク知識ベースにない場合は、制御装置により、タスク知識ベースと一般知識ベースの両方に含まれる概念である共通概念に基づいて、タスク知識ベースと一般知識ベースを結合した結合知識情報を生成し、制御装置により、結合知識情報を参照して、入力概念に基づいた応答分を生成しても良い。
【００４７】
これにより、結合知識情報に基づいて、タスク知識ベースだけでは対応できない入力概念に対しても対応することが可能になる。
【００４８】
（３）（２）の対話処理方法において、共通概念は、一般知識ベースにおいて入力概念に直接、又は所定数以下の他の概念を介して間接的に接続されている概念であって、且つタスク知識ベースにも含まれる概念であっても良い。
【００４９】
このように、一般知識ベースから抽出する概念を主要概念の近傍に存在する概念に制限することによって、入力概念との関連性の低い応答文を生成することを防ぐことができる。また、対話処理に関する処理量を低減することができる。
【００５０】
（４）（２）又は（３）の対話処理方法において、タスク知識ベースは、複数の概念の最上位に位置する最上位概念を含み、応答分の生成において、制御装置により、入力概念から最上位概念に至る経路を結合知識情報内で探索し、制御装置により、入力概念から最上位概念までの距離が最短となる最短経路を、探索された経路の中から選択し、応答文の生成は、最短経路に含まれる概念に基づいて行われても良い。
【００５１】
最短経路には入力概念と関連性が高い概念が含まれるため、入力概念との関連性が高い概念を使用して応答文を生成することができる。
【００５２】
（５）（４）の対話処理方法において、タスク知識ベースと一般知識ベースにおいて、複数の概念は複数種類の関係情報の中の少なくとも１つによって互いに関連付けられていて、複数種類の関係情報には、それぞれに対応する重みが予め付けられていて、最短経路は、入力概念から最上位概念に至る経路内の重みの合計値が最小となる経路であっても良い。
【００５３】
関係情報（関係詞）に応じた重み付き経路の計算を使用することにより、経路上に存在する関係情報の多様な組み合わせ間の重要性についての序列に関するルールを作成することなく、数値の比較による序列をつけることができるようになる。
【００５４】
（６）（４）の対話処理方法において、タスク知識ベースと一般知識ベースにおいて、複数の概念は複数種類の関係情報の中の少なくとも１つによって互いに関連付けられていて、応答文の生成は、最短経路の中で、最上位概念から所定の関係情報でたどることができる、最上位概念から最も遠い概念に基づいて行われても良い。
【００５５】
これにより、入力概念に最も関連している概念によって、応答文を生成することができる。
【００５６】
（７）所定の関係情報は、互いに関連付けられている概念が上位概念と下位概念の関係を示す情報であっても良い。
【００５７】
これにより、入力概念に最も関連している概念によって、応答文を生成することができる。
【００５８】
（８）本開示の対話処理システムは、入力文に対する応答文を生成する対話処理システムであって、タスクの実行に関連する知識に基づいて生成された、複数の概念を互いに関連付けるタスク知識ベースと、一般的な知識に関して生成された、複数の概念を互いに関連付ける一般知識ベースと、を格納する記憶装置と、入力文を示す情報を入力する入力装置と、入力文に含まれる概念である入力概念を抽出し、抽出した入力概念に基づいて、入力文に対する応答文を生成する、制御装置と、応答文を示す情報を出力する出力装置と、を備え、制御装置は、抽出した入力概念がタスク知識ベースにあるか否かを判断し、抽出した入力概念がタスク知識にある場合は、タスク知識ベースのみを参照して、入力文に対する応答文を生成し、抽出した入力概念がタスク知識ベースにない場合は、タスク知識ベースと一般知識ベースの両方を参照して、入力文に対する応答文を生成する。
【００５９】
このように、タスク知識ベースと一般知識ベースとを併用することによって、タスク知識ベースだけでは対応できない入力概念に対しても対応することが可能になり、高い応答能力で、ユーザと対話を継続することができる。その結果、タスクの実行を達成することができる。
【００６０】
（９）本開示のプログラムは、コンピュータに（１）から（７）のいずれか一つに記載の対話処理方法を実行させる。
【００６１】
本開示の全請求項に記載の対話処理方法及び対話処理システムは、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現される。
【産業上の利用可能性】
【００６２】
本開示の対話処理方法及び対話処理システムによれば、高い応答能力で、応答文を生成することが可能になるため、ユーザとの対話を自動的に行う種々の対話処理手段において有用である。
【符号の説明】
【００６３】
１０      入力装置
１１      音声入力部
１２      文字入力部
２０      制御装置
２１      音声認識部
２２      自然言語処理部
２３      対話処理部
２４      メモリ
２５      音声合成部
３０      記憶装置
３１      タスク知識ベース
３２      一般知識ベース
４０      出力装置
４１      音声出力部
４２      文字出力部
５０      端末装置
１００    対話処理システム
【図１】
0006655835.tif 000002
【図２】
0006655835.tif 000003
【図３】
0006655835.tif 000004
【図４】
0006655835.tif 000005
【図５】
0006655835.tif 000006
【図６】
0006655835.tif 000007
【図７】
0006655835.tif 000008
【図８】
0006655835.tif 000009
【図９】
0006655835.tif 000010
【図１０】
0006655835.tif 000011