(57)【要約】【課題】利便性を向上した対話処理方法、対話処理システム、及びプログラムを提供する。【解決手段】制御装置（２０）により入力文に対する応答文を生成する対話処理方法であって、入力文に含まれる概念である入力概念を抽出するステップと、複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置（３０）に格納されていて、抽出した入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を知識ベースから取得するステップと、入力概念と関連概念とに基づいて、入力文に対する応答文を生成するステップと、を含む。【選択図】図２
2017224155.tif 000002
【特許請求の範囲】
【請求項１】
制御装置により、入力文に対する応答文を生成する対話処理方法であって、
前記制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、
複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置に格納されていて、前記制御装置により、抽出した前記入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を前記知識ベースから取得するステップと、
前記制御装置により、前記入力概念と前記関連概念とに基づいて、前記入力文に対する応答文を生成するステップと、
を含む、対話処理方法。
【請求項２】
前記制御装置により、前記入力概念の上位概念を前記知識ベースから取得するステップと、
前記制御装置により、前記知識ベースから、前記上位概念に前記所定の関係情報と同一の関係情報によって関連付けられている別の概念を、前記入力概念の前記関連概念としてさらに取得するステップと、
をさらに含む、請求項１に記載の対話処理方法。
【請求項３】
前記所定の関係情報は、前記関連概念が前記入力概念の属性を示す情報である、請求項１又は請求項２に記載の対話処理方法。
【請求項４】
前記所定の関係情報は、前記関連概念が前記入力概念に対して提案されるべきものであることを示す情報である、請求項１又は請求項２に記載の対話処理方法。
【請求項５】
前記関連概念を前記知識ベースから取得した後、前記制御装置により、前記関連概念が前記入力文に含まれるか否かを判断し、前記関連概念が前記入力文に含まれない場合、前記関連概念についてユーザに問い合わせを行うステップをさらに含む、請求項１から請求項４のいずれかに記載の対話処理方法。
【請求項６】
前記制御装置により、先の入力文に含まれていた概念である先の入力概念を抽出した後に、新たな入力文に含まれている概念である新たな入力概念を抽出するステップと、
前記制御装置により、前記新たな入力概念と前記先の入力概念とが前記知識ベース内で同一の関連概念に関連付けられているかどうかを判断するステップと、
前記新たな入力概念と前記先の入力概念とが前記知識ベース内で同一の関連概念に関連付けられている場合、前記制御装置により、前記新たな入力概念に関する前記関連概念についてユーザに問い合わせを行うことなく、前記新たな入力概念と前記関連概念とに基づいて前記新たな入力文に対する応答文を生成するステップと、
をさらに含む、請求項５に記載の対話処理方法。
【請求項７】
前記新たな入力概念と前記先の入力概念とは、前記同一の関連概念に対して、同一の関係情報で関連付けられている、請求項６に記載の対話処理方法。
【請求項８】
前記新たな入力概念と前記先の入力概念とは、前記同一の関連概念に対して、異なる関係情報で関連付けられている、請求項６に記載の対話処理方法。
【請求項９】
入力文に対する応答文を生成する対話処理システムであって、
複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースを格納する記憶装置と、
入力文を示す情報を入力する入力装置と、
前記入力文に含まれる概念である入力概念を抽出し、抽出した前記入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を前記知識ベースから取得して、前記入力概念と前記関連概念とに基づいて、前記入力文に対する応答文を生成する、制御装置と、
前記応答文を示す情報を出力する出力装置と、
を含む、対話処理システム。
【請求項１０】
コンピュータに請求項１から請求項８のいずれかに記載の対話処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、入力した音声又はテキストに応じて応答文を生成する、対話処理方法、対話処理システム、及びプログラムに関する。
【背景技術】
【０００２】
ユーザの発話に基づいて、テレビ番組を自動で選択してチャンネルを選局する音声理解システムが開示されている（例えば、特許文献１参照）。この音声理解システムは、複数のキーワードスロットで構成されるタスクフレームを使用している。音声理解システムは、テレビ番組の選択に必要な情報をユーザの発話から取得して、取得した情報に基づいてキーワードスロットの値を埋めることにより、番組データベースの検索を可能にしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２５０５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の従来のシステムでは、ユーザの発話に基づいた処理を行うためには、複数のタスクフレームを予め作成する必要があり、不便であった。
【０００５】
本開示は、利便性を向上した対話処理方法、対話処理システム、及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様の対話処理方法は、
制御装置により、入力文に対する応答文を生成する対話処理方法であって、
前記制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、
複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置に格納されていて、前記制御装置により、抽出した前記入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を前記知識ベースから取得するステップと、
前記制御装置により、前記入力概念と前記関連概念とに基づいて、前記入力文に対する応答文を生成するステップと、
を含む。
【０００７】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム、並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより、実現してもよい。
【発明の効果】
【０００８】
本開示の対話処理方法、対話処理システム、及びプログラムによれば、利便性が向上する。
【図面の簡単な説明】
【０００９】
【図１】意味ネットワークを説明するための図
【図２】本発明の一態様の対話処理システムの構成を示すブロック図
【図３】本開示の第１実施形態の対話例を示す図
【図４】本開示の第１実施形態の対話処理を示すフローチャート
【図５】図４のステップＳ１の詳細を示すフローチャート
【図６】図４のステップＳ４の詳細を示すフローチャート
【図７】本開示の第１実施形態において、内部メモリに格納されたサブネットワークの例を示す図
【図８】図４のステップＳ５の詳細を示すフローチャート
【図９】図４のステップＳ６の詳細を示すフローチャート
【図１０】図４のステップＳ７の詳細を示すフローチャート
【図１１】本開示の第２実施形態の対話例を示す図
【図１２】本開示の第２及び第３実施形態の対話処理を示すフローチャート
【図１３】本開示の第２実施形態における、図１２のステップＳ９の詳細を示すフローチャート
【図１４】図１３のステップＳ９０３の詳細を示すフローチャート
【図１５】本開示の第２実施形態において、内部メモリに格納されたサブネットワークの例を示す図
【図１６】本開示の第３実施形態における、新たな関係詞を使用した意味ネットワークの例を示す図
【図１７】本開示の第３実施形態の対話例を示す図
【図１８】本開示の第３実施形態における、図１２のステップＳ９の詳細を示すフローチャート
【図１９】本開示の他の実施形態における、新たな関係詞を使用した意味ネットワークの例を示す図
【図２０】本開示の他の実施形態の対話例を示す図
【図２１】本開示の対話処理システムをクラウド（ネットワーク）を利用して実現する際の実装例を示した図
【図２２】本開示の対話処理システムをクラウド（ネットワーク）を利用して実現する際の別の実装例を示した図
【発明を実施するための形態】
【００１０】
（本発明の一態様を得るに至った経緯）
特許文献１に記載のようなタスクフレームを使用したフレームベースのシステムでは、所定のタスクの実行（例えば、テレビ番組の選択）を可能にするためには、予め、タスクフレーム（「フォームファイル」とも呼ぶ）を生成する必要がある。タスクフレームは、タスクを実行するために必要な１つ以上のキーワードスロットを含む。この場合の「キーワードスロット」は、タスクを実行するために必要な情報を意味する。例えば、映画タスクフレームは映画に関するキーワードスロットを含み、スポーツタスクフレームはスポーツ番組に関するキーワードスロットを含み、ニュースタスクフレームはニュース番組に関するキーワードスロットを含む。また、映画タスクフレーム、スポーツタスクフレーム、及びニュースタスクフレームは、例えば、「番組ジャンル」、「番組開始時間」、及び「番組終了時間」の情報を示すキーワードスロットを含む。従来のシステムは、ユーザの発話に、キーワードスロットに関する情報が含まれているかどうかを判断し、キーワードスロットに関する情報が含まれている場合に、そのキーワードスロットに対する値を埋めていく。例えば、ユーザが「１７時開始」と発話した場合、キーワードスロット「番組開始時間」に対して「１７時」の値を記憶する。このようにして、ユーザの発話から情報を取得して各キーワードスロットの値を埋めていくことにより、所望のタスクを実行することが可能になる。例えば、「番組ジャンル」、「番組開始時間」、及び「番組終了時間」の各キーワードスロットの値を埋めることによって、番組データベースから所望の番組を探し出すことが可能になる。
【００１１】
異なる複数のタスクフレームは、タスクを実行するために類似の情報（例えば、同一のキーワードスロット）を必要とする場合がある。例えば、映画タスクフレーム、スポーツタスクフレーム、及びニュースタスクフレームは、いずれも、「番組ジャンル」、「番組開始時間」、及び「番組終了時間」のキーワードスロットを必要とする。この場合、各タスクフレームを予め生成する際に、この同一のキーワードスロットを複製する必要がある。タスクフレームの数は、タスクの数に応じて決まり、タスクフレームの数が多いほどキーワードスロットの複製回数も多くなる可能性がある。そのため、複製されたキーワードスロットを持つ複数のタスクフレームを格納するために、大容量の記憶装置が必要になる。また、新たな情報に対応した新たなキーワードスロットを追加する場合、複数のタスクフレームを変更する必要が生じる場合がある。そのため、新たな情報を容易に追加することができない。
【００１２】
そこで、本開示では、複製されたキーワードスロットを持つ複数のタスクフレームを利用せずに対話処理を行う、対話処理システム及び対話処理方法を実現する。本開示の対話処理システム及び対話処理方法は、タスクフレームを使用することに代えて、複数の概念が互いに関連付けられた意味ネットワークを表す知識ベースを使用する。これにより、大容量の記憶装置を不要とし、さらに、新たな情報を簡単に知識ベースに追加することを可能にする。
【００１３】
（第１実施形態）
以下、本発明の一態様である実施形態について、図面を参照しながら説明する。
【００１４】
１．意味ネットワーク
図１は、本開示における意味ネットワークの一例を示す。意味ネットワーク１０００は、複数の概念を関係情報（関係詞）により互いに関連付けた有向グラフである。
【００１５】
以後の説明において、以下のように用語を定義する。
「概念」：自然言語に含まれる単語。例えば、ユーザが意図する動作に対応する動詞に関連する名詞及び形容詞。
「ノード」：意味ネットワーク１０００内において概念を表すもの。図１において円形で示されている。ノードは、ドメイン１、サブドメイン２、スロット３、及びスロット値４の総称である。
「エッジ」：ノード間を関係詞により相互に関連付けるもの。図１において矢印で示されている。
「関係詞」：ノード間の関係を表すもの。図１において、「IsA」、「HasMandatoryProperty」、「HasOptionalProperty」、「IsChoiceOf」が示されている。
「ドメイン」：最上位概念のノード。図１の「drink」及び「food」のノードがドメイン１に相当する。ドメインの概念はサブドメインの概念を一般化したものである。
「サブドメイン」：ドメインに関係詞「IsA」で関連付けられている、ドメインの下位概念のノード。図１の「coffee」、「tea」、「hamburger」、及び「salad」のノードがサブドメイン２に相当する。
「スロット」：ドメイン又はサブドメインに関係詞「HasMandatoryProperty」又は「HasOptionalProperty」で関連付けられている概念のノード。図１の「size」、「quantity」、「sugar option」、「temperature」、及び「dressing」のノードがスロット３に相当する。
「スロット値」：スロットの取り得る値であって、スロットに関係詞「IsChoiceOf」で関連付けられている概念のノード。図１の「small」、「medium」、「large」、「with sugar」、「no sugar」、「hot」、及び「iced」のノードがスロット値４に相当する。
【００１６】
本開示において、各関係詞は以下の意味を持つ。
関係詞「IsA」：接続元のノードが接続先のノードの下位概念であることを示す。
関係詞「HasMandatoryProperty」：接続先のノードが接続元のノードの必須の属性であることを示す。
関係詞「HasOptionalProperty」：接続先のノードが接続元のノードの任意の属性であることを示す。
関係詞「IsChoiceOf」：接続元のノードが接続先のスロットの属性の取り得る値であることを示す。
なお、関係詞の名称は、単なる例示であって、任意に決めることができる。但し、関係詞の名称を参照することによってノード間の関係性が分かり、その関係詞に基づいてノードが、「ドメイン」、「サブドメイン」、「スロット」、及び「スロット値」のいずれであるかが分かるようにすると利便性が向上する。
【００１７】
本開示において、「属性」とは、接続元のノード（ドメイン１又はサブドメイン２）についてのタスクを実行する際に必要となる情報のことを意味する。本開示において、ユーザの指示に応じた仕事を行うことを「タスクの実行」と呼ぶ。例えば、タスクの実行とは、実際にコーヒーを提供できる状態にした注文を受け付けることである。
【００１８】
図１に示す意味ネットワーク１０００は、ドメイン１として、ノード「drink」及び「food」を含む。ドメイン１「drink」は、関係詞「HasMandatoryProperty」によって１つの必須のスロット３「size」に関連付けられると共に、関係詞「HasOptionalProperty」によって１つの任意のスロット３「quantity」に関連付けられている。さらに、スロット値４であるノード「small」、「medium」、及び「large」が、関係詞「IsChoiceOf」によって、スロット３「size」に接続されている。ドメイン１「drink」は、関係詞「IsA」によって、サブドメイン２「coffee」及び「tea」に接続されていて、ドメイン１「drink」は、サブドメイン２「coffee」及び「tea」の上位概念であることを表している。ドメイン１「drink」は、一般的な飲み物を指し、ユーザが飲み物を注文する際に直接要求されることはほとんどない。ドメイン１「drink」に直接接続されている全てのスロット３及びスロット値４はサブドメイン２「coffee」及び「tea」に継承される。よって、ドメイン１「drink」に接続されているスロット３「size」及び「quantity」とスロット値４「small」、「medium」、「large」は、サブドメイン２内において複製されていない。また、サブドメイン２の「coffee」及び「tea」は、同一のスロット３に接続されている。そのため、スロット３「sugar option」及び「temperature」と、スロット値４「with sugar」、「no sugar」、「hot」、及び「iced」は複製されていない。なお、図１は、意味ネットワーク１０００の一部を例示するものであって、簡単にするために、スロット３「quantity」に対応するスロット値の記載は省略している。
【００１９】
２．対話処理システムの構成
図２は、本発明の一態様の対話処理システムの構成を示す。本開示の対話処理システムは、ユーザが発話すると又はテキスト（文字）を入力すると、図１に示すような意味ネットワーク１０００を参照して、ユーザの発話又はテキスト入力に応じた応答文を生成する。
【００２０】
本開示の対話処理システム１００は、ユーザの発話又はテキストを入力する入力装置１０と、入力した発話又はテキストに応じて応答文を生成する制御装置２０と、図１に示すような意味ネットワーク１０００を表す知識ベース３１を格納する記憶装置３０と、生成した応答文を音声又はテキストで出力する出力装置４０と、を含む。
【００２１】
入力装置１０は、ユーザが発した音声を入力する音声入力部１１と、テキストを入力する文字入力部１２とを含む。音声入力部１１は、例えば、マイクロフォンである。文字入力部１２は、例えば、キーボード又はタッチパネルである。
【００２２】
制御装置２０は、音声入力部１１が入力した音声をテキストに変換する音声認識部２１と、音声認識部２１及び文字入力部１２から出力されるテキスト（入力文）を処理する自然言語処理部２２と、を含む。自然言語処理部２２は、テキストの構文を解析して、構文から自然言語の概念を抽出する。自然言語処理部２２は、例えば、文の表層表現を意味表現に変換する一般的なセマンティックパーサを使用する。意味表現は、例えば、ユーザの意図の動詞句とそれに関連する目的語句からなり、本実施形態では、特に、目的語句に含まれる名詞や形容詞を抽出された概念として利用する。
【００２３】
制御装置２０は、さらに、抽出した概念に基づいて、知識ベース３１から、対話を実行するのに必要なノード及びエッジを取り出して文生成用のテンプレートを適用して応答文を生成する対話処理部２３と、取り出したノード及びエッジを格納するメモリ２４と、生成した応答文をテキストから音声に変換する音声合成部２５と、を含む。文生成用のテンプレートは、例えば、メモリ２４に格納されている。対話処理部２３は、ユーザとの対話中、メモリ２４に格納されたノード及びエッジを参照して、応答文を生成する。
【００２４】
音声認識部２１、自然言語処理部２２、対話処理部２３、及び音声合成部２５は、半導体素子などで実現可能である。これらの機能は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。例えば、マイコン、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ、ＡＳＩＣで構成することができる。メモリ２４は、例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭ、強誘電体メモリ、フラッシュメモリ、又は磁気ディスク、又はこれらの組み合わせによって実現できる。
【００２５】
制御装置２０は、例えば、制御装置２０内の各部（音声認識部２１、自然言語処理部２２、対話処理部２３、及び音声合成部２５）の機能をプログラムにより実現するサーバ装置である。例えば、制御装置２０は、上記各部の機能を実現するためのプログラムをメモリ２４に記憶していても良い。ＣＰＵが、メモリ２４に記憶されたプログラムをＲＡＭにコピーし、そのプログラムに含まれる命令をＲＡＭから順次読み出して実行することにより、上記各部の機能を実現する。また、プログラムを実行する際、以下の各実施形態で述べる各種処理で得られた情報がＲＡＭまたはメモリ２４に記憶され、適宜利用される。また、制御装置２０は、例えば、所定の通信規格（例えばＬＡＮ、ＷｉＦｉ）に準拠して外部機器との通信を行うためのインタフェース回路を備え、外部機器と通信を行うことができる。
【００２６】
知識ベース３１は、図１に示されるような意味ネットワーク１０００を表すデータベースである。知識ベース３１を格納する記憶装置３０は、例えば、クラウド上にあって、制御装置２０とインターネット経由で接続されても良い。しかし、知識ベース３１を格納するための記憶装置３０は、制御装置２０内に含まれても良い。すなわち、知識ベース３１は、その大きさに応じて、クラウド上にあっても良いし、制御装置２０内に格納されても良い。記憶装置３０は、例えば、ＳＳＤ、ＲＯＭ、ＤＲＡＭ、強誘電体メモリ、フラッシュメモリ、又は磁気ディスクなどで実現できる。
【００２７】
出力装置４０は、音声を出力する音声出力部４１と、テキストを出力する文字出力部４２とを含む。音声出力部４１は、例えばスピーカである。文字出力部４２は、例えば液晶ディスプレイである。
【００２８】
制御装置２０は、入力装置１０、記憶装置３０、及び出力装置４０と、無線通信により接続されても良いし、コネクタやケーブル等を介して有線接続されても良い。
【００２９】
３．対話処理
３．１  対話処理全体の流れ
図３に、対話処理システム１００がユーザと対話を行う例を示している。図３では、ユーザがコーヒーを注文する例を示している。ユーザが最初に「I would like a hot coffee, no sugar.」と発声して、砂糖なしのホットコーヒーを注文した場合（順番１）、ホットコーヒーのサイズがユーザにより指定されていないため、対話処理システム１００はサイズについてユーザに問い合わせをする（順番２）。この問い合わせに対して、ユーザがサイズについて回答すると（順番３）、対話処理システム１００はユーザの注文内容を確認する（順番４）。
【００３０】
図３に示すような対話を行うときの処理について、図４を使用して具体的に説明する。図４は、第１実施形態の制御装置２０による対話処理全体の流れを示している。ユーザが発話する又はタッチパネルなどにテキストを入力すると、制御装置２０は、入力装置１０を介してユーザの発話又はテキストを入力して、入力した発話又はテキストから入力概念を抽出する（Ｓ１）。制御装置２０は、抽出した入力概念に基づきタスクの実行の可否を判断する（Ｓ２）。
【００３１】
制御装置２０は、抽出した入力概念に基づきタスクの実行は未だできないと判断すれば（Ｓ２でＮｏ）、入力概念が内部のメモリ２４にあるか否かを判断する（Ｓ３）。入力概念が内部のメモリ２４になければ（ステップＳ３でＮｏ）、記憶装置３０にある知識ベース３１にアクセスして、知識ベース３１から必要なノードとノード間のエッジを抽出し、内部のメモリ２４に格納する（Ｓ４）。メモリ２４に格納したノードとエッジで構成される知識ベース３１の一部を「サブネットワーク」と呼ぶ。また、入力概念が内部のメモリ２４にあれば（ステップＳ３でＹｅｓ）、入力概念に基づいて、不要なノード及びエッジをメモリ２４内のサブネットワークから削除する（Ｓ５）。
【００３２】
その後、制御装置２０は、内部のメモリ２４に格納されているサブネットワークに基づいて、応答文を生成し（Ｓ６）、出力装置４０を介して、生成した応答文をユーザに出力する（Ｓ７）。出力した応答文に対して、ユーザからの回答を取得すると、ステップＳ１に戻り、対話処理を繰り返す。
【００３３】
このようにしてユーザと対話し、制御装置２０が抽出した入力概念に基づきタスクの実行ができると判断したときに（Ｓ２でＹｅｓ）、タスクが実行される。本開示の対話処理においては、タスクの実行は、必須のスロット３に対するスロット値４が全て決定された後に行われる。よって、例えば、全てのスロット値４が決まり、図３の順番５で示すように、ユーザが「Yes, its' fine.」のような肯定的な回答をしたときに、タスクの実行が可能であると判断する。タスクが実行されると、制御装置２０は、内部のメモリ２４に格納したサブネットワークを削除する（Ｓ８）。
【００３４】
以下、入力概念の抽出処理（ステップＳ１）、知識ベース３１へのアクセス処理（ステップＳ４）、メモリ２４内の不要なノードの削除処理（ステップＳ５）、応答文の生成処理（ステップＳ６）、及び応答文の出力処理（ステップＳ７）の詳細について、順に説明する。
【００３５】
３．２  入力概念の抽出
図５に、入力概念の抽出処理（図４のステップＳ１）の詳細を示す。制御装置２０は、音声入力部１１からユーザの発話を入力したかどうかを判断する（Ｓ１０１）。制御装置２０は、音声入力部１１からユーザの発話を入力していなければ、文字入力部１２からテキストを入力したか否かを判断する（Ｓ１０３）。音声入力部１１と文字入力部１２のいずれからも入力がなければ、ステップＳ１０１に戻る。制御装置２０は、音声入力部１１からユーザの発話を入力すると、音声認識部２１により、ユーザの発話をテキストに変換する（Ｓ１０２）。音声認識部２１によりユーザの発話をテキスト（入力文）に変換した後、又は文字入力部１２からテキスト（入力文）を入力した後、制御装置２０は、自然言語処理部２２により、テキストから自然言語の概念（入力概念）を抽出する（Ｓ１０４）。自然言語処理部２２は、セマンティックパーサを使用して、１以上の入力概念を含むリストを出力する。
【００３６】
３．３  サブネットワークの生成
図６は、タスクの実行に必要なノードを知識ベース３１から取り出す処理（図４のステップＳ４）の詳細を示している。対話処理部２３は、抽出された入力概念と一致するノードを知識ベース３１内で検索する（Ｓ４０１）。抽出された入力概念と一致するノードが知識ベース３１に無ければ、エラー処理を行う（Ｓ４１０）。例えば、エラーメッセージを生成し、出力装置４０を介して、ユーザに出力する。
【００３７】
抽出された入力概念と一致するノードが知識ベース３１に有れば、対話処理部２３は、入力概念について、関係詞「HasMandatoryProperty」と関係詞「HasOptionalProperty」で関連付けられている全てのノード（スロット３）を知識ベース３１から抽出する（Ｓ４０３）。例えば、図１においては、スロット３「sugar option」及び「temperature」が抽出される。対話処理部２３は、関係詞「IsA」に基づいて、抽出された入力概念の上位概念のノード（ドメイン１）を知識ベース３１から抽出する（Ｓ４０４）。例えば、図１においては、サブドメイン２「coffee」の上位概念であるドメイン１「drink」が抽出される。対話処理部２３は、上位概念のノード（ドメイン１）に対して、関係詞「HasMandatoryProperty」と関係詞「HasOptionalProperty」で関連付けられている全てのノード（スロット３）を知識ベース３１から抽出する（Ｓ４０５）。例えば、図１においては、スロット３「size」及び「quantity」が抽出される。なお、入力概念がドメイン１に相当する場合、すなわち、入力概念が上位概念を持たない場合は、ステップＳ４０４及びステップＳ４０５を実行しない。
【００３８】
対話処理部２３は、抽出したスロット３に対して関係詞「IsChoiceOf」で関連付けられているノード（スロット値４）を知識ベース３１内で検索し、スロット値４に対応する入力概念が、自然言語処理部２２が出力した入力概念のリストに含まれるか否かを判断する（Ｓ４０６）。例えば、図１においては、スロット３「size」の値４「small」、「medium」、「large」と、スロット３「sugar option」の値４「with sugar」及び「no sugar」と、スロット３「temperature」の値４「hot」及び「iced」とが、入力概念のリストに含まれるか否かが判断される。対話処理部２３は、ノード（スロット値４）に対応する概念が入力概念のリストにあると判断すれば、入力概念に含まれるスロット値４のみを知識ベース３１から抽出する（Ｓ４０８）。一方、スロット値４に対応する概念が入力概念のリストに無いと判断すれば、関係詞「IsChoiceOf」で関連付けられているノード（スロット値４）の全てを知識ベース３１から抽出する（Ｓ４０７）。図３の順番１での発話に示すように、ユーザが、最初に、砂糖なしのホットコーヒーを注文した場合は、スロット３「sugar option」の値４として、ノード「no sugar」のみを抽出し、スロット３「temperature」の値４として、ノード「hot」のみを抽出する。コーヒーのサイズについては、順番１の発話内では指定されていないため、スロット３「size」の値４については、「small」、「medium」、及び「large」の全てのノードを抽出する。
【００３９】
対話処理部２３は、知識ベース３１から抽出した全てのノード（ドメイン１、サブドメイン２、スロット３、及びスロット値４）と抽出したノードに関連しているエッジを内部のメモリ２４に格納する（Ｓ４０９）。このように、対話処理システム１００は、ユーザが要求したタスクを実行するのに必要なノードを対話中にリアルタイムで知識ベース３１内で検索し、知識ベース３１から取り出したノード及びエッジを含むサブネットワーク（知識ベース３１の一部）をメモリ２４に格納する。
【００４０】
図７に、図６の処理により、メモリ２４に格納されたサブネットワーク１０００ａの例を示す。図７において、実線で示されているノードが実際にメモリ２４に格納されたノードを示し、破線で示されているノードは知識ベース３１内にあるがメモリ２４には格納されていないノードを示している。図７に示すように、サブネットワークは、入力文に含まれるサブドメイン２と、もしあれば、その上位概念に対応するドメイン１、スロット３、及びスロット値４を含む。図６のステップＳ４０８においてスロット値４が決まっている場合は、決まっているスロット値４のみを抽出してメモリ２４に格納しているため、メモリ２４の容量が小さくてもサブネットワークを格納することができる。また、ステップＳ４０７においてスロット値４が決まっていない場合は、取り得る全てのスロット値４をメモリ２４に格納しているため、以後の対話処理中における記憶装置３０へのアクセス回数を減らすことができる。
【００４１】
図８に、メモリ２４内の不要なノードの削除処理（図４のステップＳ５）の詳細を示す。入力概念がメモリ２４内に既にある場合（図４のステップＳ３でＹｅｓ）、すなわち、図７に示すようなサブネットワーク１０００ａがメモリ２４内に格納されている場合、図８の処理が実行される。対話処理部２３は、入力概念に対応するノード（スロット値４）がメモリ２４内にあると判断すれば（Ｓ５０１でＹｅｓ）、そのスロット値４のみをメモリ２４に格納し、その他の取りうるスロット値４を削除する（Ｓ５０２）。例えば、図３の順番３で示されように、ユーザの回答から「small」の概念を抽出した場合は、スロット値４「medium」及び「large」をメモリ２４から削除し、スロット値４「small」のみをメモリ２４に残す。
【００４２】
３．４  応答文の出力
図９に、応答文の生成処理（図４のステップＳ６）の詳細を示す。本開示の対話処理においては、タスクの実行は、必須のスロット３の値４が全て決定された後に行われるため、タスクを実行する前に、必須のスロット３の値４を全て決定する必要がある。対話処理部２３は、関係詞「HasMandatoryProperty」で接続されたスロット３の値４が全て決定されているかどうかを判断する（Ｓ６０１）。すなわち、メモリ２４内において、各スロット３に対して関係詞「IsChoiceOf」で関連付けられているノード（スロット値４）が一つであるか否かを判断する。メモリ２４内において、１つのスロット３に対する値４が複数あれば、いずれの値を選択するかをユーザに問い合わせるための応答文を生成する（Ｓ６０２）。例えば、図７に示すようにスロット３「size」の値が決まっていない場合は、図３の順番２の発話に示すように、対話処理部２３は「OK. What size?」の問い合わせ文を生成する。関係詞「HasMandatoryProperty」で接続されている全てのスロット３の値４が決定されていれば（ステップＳ６０１でＹｅｓ）、すなわち、メモリ２４内において、各スロット３に対して関係詞「IsChoiceOf」で関連付けられているスロット値４が一つだけになると、対話処理部２３は、メモリ２４内のサブネットワークを参照して、注文を確認するための応答文を生成する（Ｓ６０３）。例えば、図３の順番４に示すように「OK, small hot coffee, no sugar, is that OK?」の応答文を生成する。
【００４３】
図１０に、応答文の出力処理（図４のステップＳ７）の詳細を示す。対話処理部２３は、応答文を生成すると、応答文を音声で出力するか否かを決定する（Ｓ７０１）。例えば、入力装置１０から制御装置２０にテキストが入力されていれば、音声で出力しないと判断して、文字出力部４２を介して、応答文をテキストでユーザに出力する（Ｓ７０４）。入力装置１０から制御装置２０に音声が入力されていた場合は、音声で出力すると判断して、音声合成部２５により応答文を音声に変換し（Ｓ７０２）、音声出力部４１を介してその音声をユーザに出力する（Ｓ７０３）。
【００４４】
４．効果等
本開示の対話処理システム１００が使用する知識ベース３１では、ドメイン１に接続されているノード（スロット３及びスロット値４）はサブドメイン２に継承されるため、ドメイン１に接続されているノードをサブドメイン２内において複製する必要がなくなる。また、複数のサブドメイン２が同一のノード（ドメイン１及びスロット３）に接続されているため、同一のスロット３及ぶスロット値４をサブドメイン毎に複製する必要がなくなる。なお、本実施形態では、２つの異なるサブドメイン２が同一のスロット３に関連付けられている例について説明したが、複数の異なるドメイン１が同一のノード（例えば、スロット３）に関連付けられていても良い。この場合、例えば、同一のノード（例えば、スロット３及ぶスロット値４）をドメイン毎に複製する必要がなくなる。よって、記憶装置３０及びメモリ２４の容量を小さくすることができる。さらに、新たな概念を追加する場合、新たな概念を表すノードと、新たなノードと既存のノード間のエッジとを知識ベース３１に追加するだけで良く、簡単に新たな概念を追加することができる。
【００４５】
本開示の対話処理システム１００は、ユーザの発話から抽出した自然言語概念を、知識ベース内３１で検索することによって、タスクを実行するために必要なコンテキスト（ノード及びエッジ）をサブネットワーク１０００ａとして、メモリ２４に格納している。サブネットワーク１０００ａは、ユーザとの対話中にリアルタイムで、メモリ２４内に構築される。このサブネットワーク１０００ａは、意味ネットワーク１０００からタスクの実行に必要な部分のみを抜粋したものであり、従来のタスクフレームに代わるものに相当する。すなわち、本開示の対話処理システム１００によれば、従来のようなタスクフレームに相当するものを対話前に作成する必要がなくなる。
【００４６】
このように、本開示の対話処理システム１００によれば、事前にサブネットワーク１０００ａを生成する必要がなく、記憶装置３０及びメモリ２４が小容量で良く、さらに簡単に新たな概念を追加できるため、利便性が良い。
【００４７】
（第２実施形態）
ユーザが対話の途中で最初の意図と異なるタスクの実行を望んだときの対話処理について説明する。本実施形態の対話処理システム１００は、第１実施形態と同様に、図２に示す構成を有し、図１に示すような意味ネットワーク１０００を表す知識ベース３１を使用する。
【００４８】
図１１に、ユーザが対話の途中で注文内容を変更した場合の対話例を示している。ユーザは、最初に「I would like a small hot coffee, no sugar.」と発声してコーヒーを注文している（順番１）。この最初の発話の中には、図１の意味ネットワーク１０００に示すように、サブドメイン２「coffee」とその上位概念のノード１「drink」に対して、関係詞「HasMandatoryProperty」で接続されるスロット３の値４は全て含まれている。よって、対話処理システム１００は、注文内容を確認するための応答文を出力する（順番２、図９のステップＳ６０３）。この応答文に対し、ユーザは、「Actually, make it a tea」と発声して、注文をコーヒーから紅茶に変更している（順番３）。このとき、ユーザは、新たな入力概念である「tea」のスロット３及びスロット値４については言及していない。しかし、対話処理システム１００は、最初の注文時のスロット３及びスロット値４を引き継いで、「OK, small hot tea, no sugar, is that OK?」と確認している（順番４）。本開示の対話処理システム１００が使用する、図１に示す意味ネットワーク１０００では、サブドメイン２の「coffee」と「tea」は、同一の関係詞「HasMandatoryProperty」により、共通のスロット３に接続されている。よって、対話処理システム１００は、最初のコーヒー注文時のスロット値４を参照することができ、そのスロット値４をユーザに確認するだけで良い。このように、最初の注文時のスロット値４を引き継いで、ユーザに確認する応答文を生成する処理について、具体的に以下に説明する。
【００４９】
図１２に、本開示の第２実施形態の対話処理の全体の流れを示す。図１２は、第１実施形態の図４のフローに共通ノードの確認処理（ステップＳ９）を追加したものである。図１１の順番１に示すように最初にコーヒーの注文を受けたときは、制御装置２０は、図７のサブネットワーク１０００ａに示すようにサブドメイン２「coffee」に関連するドメイン１、スロット３、及びスロット値４を知識ベース３１から抽出してメモリ２４に格納する。この時点では、サブドメイン２「tea」はメモリ２４に格納されていない。よって、ユーザが、再度、発話して、注文をコーヒーから紅茶に変更したとき、制御装置２０は、再度、知識ベース３１にアクセスし、知識ベース３１から新たな入力概念「tea」に関するノードを抽出して、内部のメモリ２４に格納する（Ｓ４）。このとき、まだメモリ２４内に格納されていないノードとエッジのみを新たに格納すれば良い。すなわち、新入力概念「tea」に関するノードとエッジが、旧入力概念「coffee」に関するサブネットワークに追加される。その後、対話処理部２３は、旧入力概念のサブドメイン２「coffee」と新入力概念のサブドメイン２「tea」とが共通のノード（ドメイン１、スロット３、スロット値４）を持っているかどうかを確認する処理を実行する（Ｓ９）。
【００５０】
図１３に、共通ノードの確認処理（図１２のステップＳ９）の詳細を示す。対話処理部２３は、旧入力概念のサブドメイン２「coffee」と新入力概念のサブドメイン２「tea」とが共通のノード（ドメイン１、スロット３、スロット値４）を持っているかどうかを判断する（Ｓ９０１）。旧入力概念に関連付けられているノードが新入力概念に関連付けられているノードと共通であれば、対話処理部２３は「IsChoiceOf」で関連付けられている共通のスロット値４が決定済みかどうかを判断する（Ｓ９０２）。共通のスロット値４が決定済みであれば（Ｓ９０２でＹｅｓ）、対話処理部２３は、決定済みのスロット値４をユーザに確認する処理を実行する（Ｓ９０３）。
【００５１】
旧入力概念のサブドメイン２「coffee」と新入力概念のサブドメイン２「tea」とが共通のノードを持っていない場合（Ｓ９０１でＮｏ）、共通のスロット値４がまだ決定されていない場合（Ｓ９０２でＮｏ）、又は決定済みのスロット値４をユーザに確認する処理を行った後（Ｓ９０３）、対話処理部２３は、旧入力概念のみに関するノードをメモリ２４から削除する（Ｓ９０４）。
【００５２】
図１４に、決定済みのスロット値をユーザに確認する処理（図１３のステップＳ９０３）の詳細を示す。対話処理部２３は、共通のスロット値４が既に決定済みのとき、その共通のスロット値４をユーザに確認するための応答文を生成する（Ｓ１３０１）。図１１の例では、ユーザの発話から抽出した新入力概念である「tea」と旧入力概念「coffee」とに共通するスロット３及びその値４（「size」-「small」,「temperature」-「hot」,及び「sugar option」-「no sugar」）に基づいて、「OK, small hot tea, no sugar, is that OK?」という応答文を生成している（順番４）。制御装置２０は、生成した応答文を出力し（Ｓ１３０２）、その応答文に対するユーザからの入力を受け取って、入力概念を抽出する（Ｓ１３０３）。応答文の出力処理（Ｓ１３０２）は上述した図１０に示す処理であり、入力概念の抽出処理（Ｓ１３０３）は上述した図５に示す処理である。対話処理部２３は、入力概念が肯定的な回答を示しているか否かを判断し（Ｓ１３０４）、肯定的な回答であれば、決定済みのスロット値４のみをメモリ２４に残し、その他のスロット値４をメモリ２４から削除する（Ｓ１３０５）。
【００５３】
図１５に、図１３の処理後にメモリ２４に格納されているサブネットワーク１０００ｂの例を示す。図１５において、実線で示されているノードが実際にメモリ２４に格納されたノードを示し、破線で示されているノードは知識ベース３１にはあるがメモリ２４には格納されていないノードを示している。図１１の対話例では、最初の注文時（順番１）にユーザが「small」、「hot」、及び「no sugar」を指定しているため、スロット３「size」、「sugar option」、及び「temperature」に対して、それぞれスロット値４「small」、「no sugar」、及び「hot」のみがメモリ２４に格納されていて、その他の取りうるスロット値４である「medium」、「large」、「with sugar」、「iced」はメモリ２４に格納されていない。また、サブドメイン２「coffee」は、サブドメイン２「tea」との共通ノードではないため、削除されている。このサブネットワーク１０００ｂに基づいて、最終的にタスクが実行される。すなわち、小さいサイズで砂糖無しの温かい紅茶がユーザに提供される。
【００５４】
以上のように、本実施形態の対話処理システム１００は、図１に示すような意味ネットワーク１０００を示す知識ベース３１を使用している。意味ネットワーク１０００において、サブドメイン２「coffee」と「tea」は、同一のドメイン１「drink」に属する類似の概念であって、共通のノード（ドメイン１、スロット３、及びスロット値４）を持っている。よって、ユーザが、一旦、ある特定のサブドメイン２のスロット値４を選択すれば、後から入力された別のサブドメイン２のスロット値４について、ユーザの選択がなかった場合でも、対話処理システム１００は、以前に選択されたスロット値４を使用することができる。これにより、図１１に示すように、ユーザが「a small hot coffee, no sugar」を注文した後に、ユーザが注文内容を「tea」に変更し且つ「tea」についてのスロット３及びスロット値４の概念が発話に含まれていない場合であっても、旧入力概念との共通のスロット３及びスロット値４を使用することによって、対話処理システム１００は、ユーザが、「small」、「hot」、且つ「no sugar」の飲み物を要求していると判断することができる。このように、本実施形態によれば、後から入力された別のサブドメイン２のスロット値４を再度問い合わせずに、以前に入力されたスロット値４をユーザに確認するだけで良い。そのため、ユーザは、「yes」又は「no」などのより短い回答で応答することができ、より円滑な対話の継続が可能になる。また、複数のサブドメイン２が共通のスロット３に接続されているため、例えば、対話処理システム１００が、ユーザはおそらく温かい飲み物を飲みたいと判断したときに、他の温かい飲み物を提案することも可能になる。
【００５５】
一方、従来のようなフレームベースでは、異なるサブドメインは別個のタスクフレームにおいて形成されているため、異なるサブドメイン間にまたがって利用できる情報はない。例えば、「coffee」と「tea」のタスクフレームはそれぞれ別個に生成されていて、相互に関係づけられていないため、サブドメインが「coffee」から「tea」に変わると、変更後のサブドメイン「tea」に対応するタスクフレームを新たに使用して対話をすることになる。よって、「coffee」に関する注文内容についてのスロット値の情報が残らず、「tea」について、再度、スロット値を問い合わる必要が生じる。例えば、スロット「size」の値について「small」、「medium」、及び「large」のいずれを選択するか、スロット「sugar option」について、「with sugar」又は「no sugar」か、スロット「temperature」について、「hot」又は「iced」かを、再度、ユーザに問わなければならない。従来のタスクフレームと比較すると、本開示における意味ネットワーク１０００は、異なるサブドメイン間の関係のより良い表現を提供する。また、同一スロット３に接続されているサブドメイン２は類似した概念であると見なすことができるため、対話処理システム１００は、サブドメイン２が共通のスロット３に接続されているかどうかに基づいて、異なるサブドメイン２間の類似度を簡単に推測することができる。概念間の類似度は、推論アルゴリズムを使用して、得ることができる。意味ネットワーク１０００内の複数のサブドメイン２間で共有されるスロット３の数が多くなればなるほど、これらの複数のサブドメイン２はより似ていると見なすことができる。よって、概念間の類似度を自動的に決定することもできる。
【００５６】
なお、最初のコーヒーの注文時（図１１の順番１）に、対話処理システム１００は、「coffee」の最上位概念であるドメイン１「drink」に紐付く全てのノードとエッジを知識ベース３１から抽出してメモリ２４に格納しても良い。すなわち、最初のコーヒーの注文を受けた時点で、サブドメイン２「coffee」だけではなく、サブドメイン２「tea」に関連するノードとエッジについてもメモリ２４に格納しておいても良い。この場合は、注文がコーヒーから紅茶に変更されたとき（図１１の順番３）において、サブドメイン２「tea」についてのサブネットワークの抽出及び格納処理（図１２のステップＳ４）を省略することができる。
【００５７】
（第３実施形態）
本実施形態では、新たな関係詞「HasGeneralProperty」により、ノードが接続されている場合の対話処理について説明する。図１６に、本実施形態における、新たな関係詞「HasGeneralProperty」を含む意味ネットワーク１０００の一例を示す。関係詞「HasGeneralProperty」は、接続先のノードが接続元のノードの一般的なプロパティ（特性）であることを示す。図１６に示すように、２つのサブドメイン２「coke」及び「coffee」が異なる関係詞によって同一のノード「iced」に直接又は間接的に接続されている。具体的には、ノード「iced」は、関係詞「HasGeneralProperty」によって、サブドメイン２「coke」に直接関連付けられている。これにより、「coke」は「iced」というプロパティを持つことを示している。すなわち、コーラは冷たい飲み物であることを示している。また、ノード「iced」は、関係詞「IsChoiceOf」と「HasMandatoryProperty」とにより、スロット３「temperature」を介して、サブドメイン２「coffee」に接続されている。これにより、コーヒーには冷たいものがあることを示している。
【００５８】
本実施形態において、制御装置２０は上述した図１２の対話処理を行う。図１６に示すように意味ネットワーク１０００が関係詞「HasGeneralProperty」を含む場合において、ユーザが対話の途中で注文内容を変更した場合の対話例を、図１７に示している。図１７において、ユーザは、最初に「I would like a coke.」と発声してコーラを注文している（図１７の順番１）。この最初の発話の中には、サブドメイン２「coke」の上位概念であるドメイン１「drink」に関係詞「HasMandatoryProperty」によって関連付けられているスロット３「size」の値が含まれていない。そこで、対話処理システム１００はユーザにサイズを確認する問い合わせ文を出力している（図１７の順番２、図９のステップＳ６０２）。この問い合わせ文に対し、ユーザは「No, actually, make it a coffee」と発声して注文をコーラからコーヒーに変更している（図１７の順番３）。制御装置２０は、最初に注文を受けたときには、入力概念「coke」に関するノードのみを知識ベース３１から抽出してメモリ２４に格納しているため、「coffee」の概念に関するノードはメモリ２４に格納されていない状態である（図１２のステップＳ３でＮｏ）。よって、ユーザが、再度、発話して、注文をコーラからコーヒーに変更したとき、制御装置２０は、再度、知識ベース３１にアクセスし、知識ベース３１から新たな入力概念「coffee」に関するノードを抽出して、内部のメモリ２４に格納する（図１２のステップＳ４）。その後、対話処理部２３は、旧入力概念のサブドメイン「coke」と新入力概念のサブドメイン「coffee」とが共通のノード（ドメイン１、スロット３、スロット値４）を持っているかどうかを確認する処理を実行する（Ｓ９）。
【００５９】
図１８に、図１３と異なる、本実施形態における共通ノードの確認処理（図１２のステップＳ９）の詳細を示す。対話処理部２３は、旧入力概念の一般的なプロパティ（特性）であるノードが、新入力概念のスロット値４であるかどうかを判断する（Ｓ１７０１）。例えば、旧入力概念のサブドメイン２「coke」に対して関係詞「HasGeneralProperty」によって関連付けられているノード「iced」が、新入力概念のサブドメイン２「coffee」に関連するスロット値４であるか否かを判断する。旧入力概念の一般的なプロパティであるノードが、新入力概念のスロット値４であれば（Ｓ１７０１でＹｅｓ）、対話処理部２３は、スロット値４をユーザに確認する処理を行う（Ｓ１７０２）。スロット値４をユーザに確認する処理（Ｓ１７０２）は、上述した図１４のステップＳ１３０１〜Ｓ１３０５の処理である。図１６の例では、ノード「iced」は、関係詞「HasMandatoryProperty」及び「IsChoiceOf」及びにより、ノード（スロット３）「temperature」を介して、ノード（サブドメイン２）「coffee」に接続されている。よって、対話処理部２３は、ノード「iced」はサブドメイン２「coffee」に関連するスロット値４であると判断して、スロット値４「iced」を確認する処理を行う。例えば、対話処理部２３は、新入力概念「coffee」とスロット値「iced」とに基づいて、「OK. Would you like iced coffee?」という応答文を生成し出力する（図１７の順番４）。旧入力概念の一般的なプロパティであるノードが新入力概念のスロット値４でない場合（ステップＳ１７０１でＮｏ）、又はスロット値４の確認処理（Ｓ１７０２）の後、対話処理部２３は、旧入力概念のみに関連するノードをメモリ２４から削除する（Ｓ１７０３）。
【００６０】
以上のように、本実施形態においては、一般的なプロパティを示す新たな関係詞「HasGeneralProperty」を使用することによって、あるサブドメイン２のスロット値４を別のサブドメイン２の一般的なプロパティを示すノードとして表すことができる。よって、対話処理システム１００は、新たな関係詞「HasGeneralProperty」を採用することによって、サブドメイン２の範囲内に制限されることなく、新たな概念についてのスロット値４を推定することができる。例えば、本実施形態のように、「coke」の一般的なプロパティ「iced」が、「coffee」のスロット３「temperature」の値４であると判断することによって、ユーザがコーラからコーヒーに変更したときに、アイスコーヒーを要求していると推定することができる。これにより、対話中にユーザの意図が変わったときであっても、ユーザが「yes」又は「no」などの短い回答で応答することができるような対話を継続させることができる。よって、円滑な対話を行うことが可能になる。また、新たな関係詞を用いた対話処理は、対話処理システム１００の理解能力を拡張するのにも有用である。
【００６１】
新たな関係詞「HasGeneralProperty」で示されるエッジは、任意のノードに接続することができる。例えば、ドメイン１に接続しても良いし、サブドメイン２に接続しても良い。新たな関係詞「HasGeneralProperty」は、異なるドメイン１又はサブドメイン２を、ある特定のノードを介して、接続するために使用されても良い。また、サブドメイン２同士が、新たな関係詞「HasGeneralProperty」により、直接、接続されても良い。これにより、対話処理システム１００は、ドメイン１又はサブドメイン２の範囲に制限されずに、関連のある概念をユーザに提案することができる。
【００６２】
対話処理システム１００は、推論アルゴリズムを使用して、ドメイン間又はサブドメイン間の類似度を探し出しても良い。複数のドメイン又は複数のサブドメインが共通の一般的なプロパティをより多く持つほど、それらはより類似していると見なすことができる。これにより、類似度に応じて、ユーザによって以前リクエストされたサブドメインに類似するサブドメインを意味ネットワーク１０００から探し出して提案することもできる。また、新たな概念を意味ネットワーク１０００に追加することが発生したときに、一般的なプロパティを示す新たな関係詞「HasGeneralProperty」を参照することによって、新たな概念が最も適合するサブドメイン又はドメインを自動的に推論して決定しても良い。
【００６３】
（他の実施形態）
以上のように、本出願において開示する技術の例示として、第１実施形態〜第３実施形態について説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施形態にも適用可能である。また、上記第１実施形態〜第３実施形態で説明した各構成要素を組み合わせて、新たな実施形態とすることも可能である。そこで、以下、他の実施形態を例示する。
【００６４】
図１９に、新たな関係詞「Suggest」を含む意味ネットワーク１０００の例を示す。図１９では、サブドメイン２「apple pie」とサブドメイン２「coffee」が新たな関係詞「Suggest」によって直接接続されている。新たな関係詞「Suggest」は、接続先のノードが、接続元のノードに基づいて、提案されるべきものであることを示している。新たな関係詞「Suggest」を使用した直接接続は、例えば、予め、「apple pie」と「coffee」が同時に注文されることが多いことが検証されたときに行われる。
【００６５】
図２０に、図１９に対応する対話例を示す。ユーザが最初に「apple pie」を注文すると、制御装置２０は、関係詞「Suggest」に基づいて、知識ベース３１からノード「coffee」を取り出してメモリ２４に格納し、「coffee」をユーザに提案する（図２０の順番２）。関係詞「Suggest」に基づく提案は、例えば、図９のステップＳ６０３の確認のための応答文の中で行う。このように、関係詞「Suggest」を採用することによって、ドメイン１又はサブドメイン２が異なる商品であってもユーザに提案することが可能になる。
【００６６】
なお、上述した対話処理システム１００の一部の機能をクラウド上で実現してもよい。例えば、図２１は、知識ベース３１、３２を管理する記憶装置３０（知識ベースサーバ）をクラウド上に設けたときの構成の例を示す。図２１に示すように、ネットワーク上に記憶装置３０を設け、端末装置５０は、対話処理システム１００における入力装置１０、制御装置２０及び出力装置４０のみを備えてもよい。端末装置５０の制御装置２０は、クラウド上にある記憶装置３０すなわち知識ベース３１にアクセスする。また、図２２は、制御装置２０および記憶装置３０をクラウド上に設けた構成の例を示す。図２２に示すように、ネットワーク上に制御装置２０と記憶装置３０を設け、端末装置５０は、対話処理システム１００における入力装置１０と出力装置４０のみを備えてもよい。端末装置５０は、入力文を示す音声信号またはテキスト情報をクラウド上にある制御装置２０に送信する。制御装置２０は、端末装置５０から受信した音声信号またはテキスト情報に基づき応答文を生成し、応答文に対応する音声信号またはテキストを端末装置５０に返信する。
【００６７】
上記実施形態では、制御装置２０がサーバ装置である例を示したが、制御装置２０は汎用のパーソナルコンピュータ又は携帯端末（スマートフォンなど）であっても良い。例えば、携帯端末である場合、メモリ２４はフラッシュメモリなどの内蔵ストレージである。
【００６８】
（本開示）
上記の実施形態では、以下の構成が開示されている。
（１）本開示の対話処理方法は、制御装置により、入力文に対する応答文を生成する対話処理方法であって、制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置に格納されていて、制御装置により、抽出した入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を知識ベースから取得するステップと、制御装置により、入力概念と関連概念とに基づいて、入力文に対する応答文を生成するステップと、を含む。
【００６９】
意味ネットワークを使用することにより、簡単に新たな概念を追加することができるようになる。例えば、新たな概念を追加する場合、新たな概念を表すノードと、新たなノードと既存のノード間のエッジとを知識ベースに追加するだけで良い。また、同一のノード（例えば、スロット３及ぶスロット値４）を複製する必要がなくなるため、記憶装置の容量を小さくすることができる。
【００７０】
（２）（１）の対話処理方法において、制御装置により、入力概念の上位概念を知識ベースから取得するステップと、制御装置により、知識ベースから、上位概念に所定の関係情報と同一の関係情報によって関連付けられている別の概念を、入力概念の関連概念としてさらに取得するステップと、をさらに含んでも良い。
【００７１】
このように、上位概念の関連概念を下位概念の関連概念として継承することにより、意味ネットワーク内において概念を複製する必要がなくなる。
【００７２】
（３）（１）または（２）の対話処理方法において、所定の関係情報は、関連概念が入力概念の属性を示す情報であっても良い。
【００７３】
（４）（１）または（２）の対話処理方法において、関連概念が入力概念に対して提案されるべきものであることを示す情報であっても良い。
【００７４】
（５）（１）から（４）のいずれかの対話処理方法において、関連概念を知識ベースから取得した後、制御装置により、関連概念が入力文に含まれるか否かを判断し、関連概念が入力文に含まれない場合、関連概念についてユーザに問い合わせを行うステップをさらに含んでも良い。
【００７５】
このように、関連概念が入力文に含まれない場合には、関連概念についての問い合わせを行うことによって、円滑に対話を継続することができる。
【００７６】
（６）（５）の対話処理方法において、制御装置により、先の入力文に含まれていた概念である先の入力概念を抽出した後に、新たな入力文に含まれている概念である新たな入力概念を抽出するステップと、制御装置により、新たな入力概念と先の入力概念とが知識ベース内で同一の関連概念に関連付けられているかどうかを判断するステップと、新たな入力概念と先の入力概念とが知識ベース内で同一の関連概念に関連付けられている場合、制御装置により、新たな入力概念に関する関連概念についてユーザに問い合わせを行うことなく、新たな入力概念と関連概念とに基づいて新たな入力文に対する応答文を生成するステップと、をさらに含んでも良い。
【００７７】
意味ネットワーク内では、概念が複製されていないため、新たな入力概念に関する関連概念と先の入力概念との関連概念とが同一になる場合がある。このような場合に、新たな入力概念が入力されたときに、先の入力概念に対して既に決定されている関連概念を利用することができる。よって、円滑な対話を継続でき、ユーザは簡単な短い回答によって応答することができるようになる。
【００７８】
（７）（６）の対話処理方法において、新たな入力概念と先の入力概念とは、同一の関連概念に対して、同一の関係情報で関連付けられても良い。
【００７９】
（８）（６）の対話処理方法において、新たな入力概念と先の入力概念とは、同一の関連概念に対して、異なる関係情報で関連付けられていても良い。
【００８０】
（９）本開示の対話処理システムは、入力文に対する応答文を生成する対話処理システムであって、複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースを格納する記憶装置と、入力文を示す情報を入力する入力装置と、入力文に含まれる概念である入力概念を抽出し、抽出した入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を知識ベースから取得して、入力概念と関連概念とに基づいて、入力文に対する応答文を生成する、制御装置と、応答文を示す情報を出力する出力装置と、を含む。
【００８１】
意味ネットワークを使用することにより、簡単に新たな概念を追加することができるようになる。また、同一のノードを複製する必要がなくなるため、記憶装置の容量を小さくすることができる。
【００８２】
（１０）本開示のプログラムは、コンピュータに（１）から（８）のいずれかに記載の対話処理方法を実行させるためのプログラムである。
【００８３】
本開示の全請求項に記載の対話処理方法及び対話処理システムは、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現される。
【産業上の利用可能性】
【００８４】
本開示の対話処理方法及び対話処理システムによれば、利便性良く、応答文を生成することが可能になるため、ユーザとの対話を自動的に行う種々の対話処理手段において有用である。
【符号の説明】
【００８５】
１０      入力装置
１１      音声入力部
１２      文字入力部
２０      制御装置
２１      音声認識部
２２      自然言語処理部
２３      対話処理部
２４      メモリ
２５      音声合成部
３０      記憶装置
３１      知識ベース
４０      出力装置
４１      音声出力部
４２      文字出力部
５０      端末装置
１００    対話処理システム
【図１】
2017224155.tif 000003
【図２】
2017224155.tif 000004
【図３】
2017224155.tif 000005
【図４】
2017224155.tif 000006
【図５】
2017224155.tif 000007
【図６】
2017224155.tif 000008
【図７】
2017224155.tif 000009
【図８】
2017224155.tif 000010
【図９】
2017224155.tif 000011
【図１０】
2017224155.tif 000012
【図１１】
2017224155.tif 000013
【図１２】
2017224155.tif 000014
【図１３】
2017224155.tif 000015
【図１４】
2017224155.tif 000016
【図１５】
2017224155.tif 000017
【図１６】
2017224155.tif 000018
【図１７】
2017224155.tif 000019
【図１８】
2017224155.tif 000020
【図１９】
2017224155.tif 000021
【図２０】
2017224155.tif 000022
【図２１】
2017224155.tif 000023
【図２２】
2017224155.tif 000024