JP2017224155A - 対話処理方法、対話処理システム、及びプログラム - Google Patents

対話処理方法、対話処理システム、及びプログラム Download PDF

Info

Publication number
JP2017224155A
JP2017224155A JP2016119127A JP2016119127A JP2017224155A JP 2017224155 A JP2017224155 A JP 2017224155A JP 2016119127 A JP2016119127 A JP 2016119127A JP 2016119127 A JP2016119127 A JP 2016119127A JP 2017224155 A JP2017224155 A JP 2017224155A
Authority
JP
Japan
Prior art keywords
concept
input
sentence
control device
knowledge base
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016119127A
Other languages
English (en)
Inventor
ヴィヴィアネ・オリヴェイラ
Oliveira Viviane
遠藤 充
Mitsuru Endo
充 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2016119127A priority Critical patent/JP2017224155A/ja
Publication of JP2017224155A publication Critical patent/JP2017224155A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】利便性を向上した対話処理方法、対話処理システム、及びプログラムを提供する。【解決手段】制御装置(20)により入力文に対する応答文を生成する対話処理方法であって、入力文に含まれる概念である入力概念を抽出するステップと、複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置(30)に格納されていて、抽出した入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を知識ベースから取得するステップと、入力概念と関連概念とに基づいて、入力文に対する応答文を生成するステップと、を含む。【選択図】図2

Description

本開示は、入力した音声又はテキストに応じて応答文を生成する、対話処理方法、対話処理システム、及びプログラムに関する。
ユーザの発話に基づいて、テレビ番組を自動で選択してチャンネルを選局する音声理解システムが開示されている(例えば、特許文献1参照)。この音声理解システムは、複数のキーワードスロットで構成されるタスクフレームを使用している。音声理解システムは、テレビ番組の選択に必要な情報をユーザの発話から取得して、取得した情報に基づいてキーワードスロットの値を埋めることにより、番組データベースの検索を可能にしている。
特開2000−250575号公報
特許文献1に記載の従来のシステムでは、ユーザの発話に基づいた処理を行うためには、複数のタスクフレームを予め作成する必要があり、不便であった。
本開示は、利便性を向上した対話処理方法、対話処理システム、及びプログラムを提供する。
本発明の一態様の対話処理方法は、
制御装置により、入力文に対する応答文を生成する対話処理方法であって、
前記制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、
複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置に格納されていて、前記制御装置により、抽出した前記入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を前記知識ベースから取得するステップと、
前記制御装置により、前記入力概念と前記関連概念とに基づいて、前記入力文に対する応答文を生成するステップと、
を含む。
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム、並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより、実現してもよい。
本開示の対話処理方法、対話処理システム、及びプログラムによれば、利便性が向上する。
意味ネットワークを説明するための図 本発明の一態様の対話処理システムの構成を示すブロック図 本開示の第1実施形態の対話例を示す図 本開示の第1実施形態の対話処理を示すフローチャート 図4のステップS1の詳細を示すフローチャート 図4のステップS4の詳細を示すフローチャート 本開示の第1実施形態において、内部メモリに格納されたサブネットワークの例を示す図 図4のステップS5の詳細を示すフローチャート 図4のステップS6の詳細を示すフローチャート 図4のステップS7の詳細を示すフローチャート 本開示の第2実施形態の対話例を示す図 本開示の第2及び第3実施形態の対話処理を示すフローチャート 本開示の第2実施形態における、図12のステップS9の詳細を示すフローチャート 図13のステップS903の詳細を示すフローチャート 本開示の第2実施形態において、内部メモリに格納されたサブネットワークの例を示す図 本開示の第3実施形態における、新たな関係詞を使用した意味ネットワークの例を示す図 本開示の第3実施形態の対話例を示す図 本開示の第3実施形態における、図12のステップS9の詳細を示すフローチャート 本開示の他の実施形態における、新たな関係詞を使用した意味ネットワークの例を示す図 本開示の他の実施形態の対話例を示す図 本開示の対話処理システムをクラウド(ネットワーク)を利用して実現する際の実装例を示した図 本開示の対話処理システムをクラウド(ネットワーク)を利用して実現する際の別の実装例を示した図
(本発明の一態様を得るに至った経緯)
特許文献1に記載のようなタスクフレームを使用したフレームベースのシステムでは、所定のタスクの実行(例えば、テレビ番組の選択)を可能にするためには、予め、タスクフレーム(「フォームファイル」とも呼ぶ)を生成する必要がある。タスクフレームは、タスクを実行するために必要な1つ以上のキーワードスロットを含む。この場合の「キーワードスロット」は、タスクを実行するために必要な情報を意味する。例えば、映画タスクフレームは映画に関するキーワードスロットを含み、スポーツタスクフレームはスポーツ番組に関するキーワードスロットを含み、ニュースタスクフレームはニュース番組に関するキーワードスロットを含む。また、映画タスクフレーム、スポーツタスクフレーム、及びニュースタスクフレームは、例えば、「番組ジャンル」、「番組開始時間」、及び「番組終了時間」の情報を示すキーワードスロットを含む。従来のシステムは、ユーザの発話に、キーワードスロットに関する情報が含まれているかどうかを判断し、キーワードスロットに関する情報が含まれている場合に、そのキーワードスロットに対する値を埋めていく。例えば、ユーザが「17時開始」と発話した場合、キーワードスロット「番組開始時間」に対して「17時」の値を記憶する。このようにして、ユーザの発話から情報を取得して各キーワードスロットの値を埋めていくことにより、所望のタスクを実行することが可能になる。例えば、「番組ジャンル」、「番組開始時間」、及び「番組終了時間」の各キーワードスロットの値を埋めることによって、番組データベースから所望の番組を探し出すことが可能になる。
異なる複数のタスクフレームは、タスクを実行するために類似の情報(例えば、同一のキーワードスロット)を必要とする場合がある。例えば、映画タスクフレーム、スポーツタスクフレーム、及びニュースタスクフレームは、いずれも、「番組ジャンル」、「番組開始時間」、及び「番組終了時間」のキーワードスロットを必要とする。この場合、各タスクフレームを予め生成する際に、この同一のキーワードスロットを複製する必要がある。タスクフレームの数は、タスクの数に応じて決まり、タスクフレームの数が多いほどキーワードスロットの複製回数も多くなる可能性がある。そのため、複製されたキーワードスロットを持つ複数のタスクフレームを格納するために、大容量の記憶装置が必要になる。また、新たな情報に対応した新たなキーワードスロットを追加する場合、複数のタスクフレームを変更する必要が生じる場合がある。そのため、新たな情報を容易に追加することができない。
そこで、本開示では、複製されたキーワードスロットを持つ複数のタスクフレームを利用せずに対話処理を行う、対話処理システム及び対話処理方法を実現する。本開示の対話処理システム及び対話処理方法は、タスクフレームを使用することに代えて、複数の概念が互いに関連付けられた意味ネットワークを表す知識ベースを使用する。これにより、大容量の記憶装置を不要とし、さらに、新たな情報を簡単に知識ベースに追加することを可能にする。
(第1実施形態)
以下、本発明の一態様である実施形態について、図面を参照しながら説明する。
1.意味ネットワーク
図1は、本開示における意味ネットワークの一例を示す。意味ネットワーク1000は、複数の概念を関係情報(関係詞)により互いに関連付けた有向グラフである。
以後の説明において、以下のように用語を定義する。
「概念」:自然言語に含まれる単語。例えば、ユーザが意図する動作に対応する動詞に関連する名詞及び形容詞。
「ノード」:意味ネットワーク1000内において概念を表すもの。図1において円形で示されている。ノードは、ドメイン1、サブドメイン2、スロット3、及びスロット値4の総称である。
「エッジ」:ノード間を関係詞により相互に関連付けるもの。図1において矢印で示されている。
「関係詞」:ノード間の関係を表すもの。図1において、「IsA」、「HasMandatoryProperty」、「HasOptionalProperty」、「IsChoiceOf」が示されている。
「ドメイン」:最上位概念のノード。図1の「drink」及び「food」のノードがドメイン1に相当する。ドメインの概念はサブドメインの概念を一般化したものである。
「サブドメイン」:ドメインに関係詞「IsA」で関連付けられている、ドメインの下位概念のノード。図1の「coffee」、「tea」、「hamburger」、及び「salad」のノードがサブドメイン2に相当する。
「スロット」:ドメイン又はサブドメインに関係詞「HasMandatoryProperty」又は「HasOptionalProperty」で関連付けられている概念のノード。図1の「size」、「quantity」、「sugar option」、「temperature」、及び「dressing」のノードがスロット3に相当する。
「スロット値」:スロットの取り得る値であって、スロットに関係詞「IsChoiceOf」で関連付けられている概念のノード。図1の「small」、「medium」、「large」、「with sugar」、「no sugar」、「hot」、及び「iced」のノードがスロット値4に相当する。
本開示において、各関係詞は以下の意味を持つ。
関係詞「IsA」:接続元のノードが接続先のノードの下位概念であることを示す。
関係詞「HasMandatoryProperty」:接続先のノードが接続元のノードの必須の属性であることを示す。
関係詞「HasOptionalProperty」:接続先のノードが接続元のノードの任意の属性であることを示す。
関係詞「IsChoiceOf」:接続元のノードが接続先のスロットの属性の取り得る値であることを示す。
なお、関係詞の名称は、単なる例示であって、任意に決めることができる。但し、関係詞の名称を参照することによってノード間の関係性が分かり、その関係詞に基づいてノードが、「ドメイン」、「サブドメイン」、「スロット」、及び「スロット値」のいずれであるかが分かるようにすると利便性が向上する。
本開示において、「属性」とは、接続元のノード(ドメイン1又はサブドメイン2)についてのタスクを実行する際に必要となる情報のことを意味する。本開示において、ユーザの指示に応じた仕事を行うことを「タスクの実行」と呼ぶ。例えば、タスクの実行とは、実際にコーヒーを提供できる状態にした注文を受け付けることである。
図1に示す意味ネットワーク1000は、ドメイン1として、ノード「drink」及び「food」を含む。ドメイン1「drink」は、関係詞「HasMandatoryProperty」によって1つの必須のスロット3「size」に関連付けられると共に、関係詞「HasOptionalProperty」によって1つの任意のスロット3「quantity」に関連付けられている。さらに、スロット値4であるノード「small」、「medium」、及び「large」が、関係詞「IsChoiceOf」によって、スロット3「size」に接続されている。ドメイン1「drink」は、関係詞「IsA」によって、サブドメイン2「coffee」及び「tea」に接続されていて、ドメイン1「drink」は、サブドメイン2「coffee」及び「tea」の上位概念であることを表している。ドメイン1「drink」は、一般的な飲み物を指し、ユーザが飲み物を注文する際に直接要求されることはほとんどない。ドメイン1「drink」に直接接続されている全てのスロット3及びスロット値4はサブドメイン2「coffee」及び「tea」に継承される。よって、ドメイン1「drink」に接続されているスロット3「size」及び「quantity」とスロット値4「small」、「medium」、「large」は、サブドメイン2内において複製されていない。また、サブドメイン2の「coffee」及び「tea」は、同一のスロット3に接続されている。そのため、スロット3「sugar option」及び「temperature」と、スロット値4「with sugar」、「no sugar」、「hot」、及び「iced」は複製されていない。なお、図1は、意味ネットワーク1000の一部を例示するものであって、簡単にするために、スロット3「quantity」に対応するスロット値の記載は省略している。
2.対話処理システムの構成
図2は、本発明の一態様の対話処理システムの構成を示す。本開示の対話処理システムは、ユーザが発話すると又はテキスト(文字)を入力すると、図1に示すような意味ネットワーク1000を参照して、ユーザの発話又はテキスト入力に応じた応答文を生成する。
本開示の対話処理システム100は、ユーザの発話又はテキストを入力する入力装置10と、入力した発話又はテキストに応じて応答文を生成する制御装置20と、図1に示すような意味ネットワーク1000を表す知識ベース31を格納する記憶装置30と、生成した応答文を音声又はテキストで出力する出力装置40と、を含む。
入力装置10は、ユーザが発した音声を入力する音声入力部11と、テキストを入力する文字入力部12とを含む。音声入力部11は、例えば、マイクロフォンである。文字入力部12は、例えば、キーボード又はタッチパネルである。
制御装置20は、音声入力部11が入力した音声をテキストに変換する音声認識部21と、音声認識部21及び文字入力部12から出力されるテキスト(入力文)を処理する自然言語処理部22と、を含む。自然言語処理部22は、テキストの構文を解析して、構文から自然言語の概念を抽出する。自然言語処理部22は、例えば、文の表層表現を意味表現に変換する一般的なセマンティックパーサを使用する。意味表現は、例えば、ユーザの意図の動詞句とそれに関連する目的語句からなり、本実施形態では、特に、目的語句に含まれる名詞や形容詞を抽出された概念として利用する。
制御装置20は、さらに、抽出した概念に基づいて、知識ベース31から、対話を実行するのに必要なノード及びエッジを取り出して文生成用のテンプレートを適用して応答文を生成する対話処理部23と、取り出したノード及びエッジを格納するメモリ24と、生成した応答文をテキストから音声に変換する音声合成部25と、を含む。文生成用のテンプレートは、例えば、メモリ24に格納されている。対話処理部23は、ユーザとの対話中、メモリ24に格納されたノード及びエッジを参照して、応答文を生成する。
音声認識部21、自然言語処理部22、対話処理部23、及び音声合成部25は、半導体素子などで実現可能である。これらの機能は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。例えば、マイコン、CPU、MPU、DSP、FPGA、ASICで構成することができる。メモリ24は、例えば、RAM、DRAM、ROM、強誘電体メモリ、フラッシュメモリ、又は磁気ディスク、又はこれらの組み合わせによって実現できる。
制御装置20は、例えば、制御装置20内の各部(音声認識部21、自然言語処理部22、対話処理部23、及び音声合成部25)の機能をプログラムにより実現するサーバ装置である。例えば、制御装置20は、上記各部の機能を実現するためのプログラムをメモリ24に記憶していても良い。CPUが、メモリ24に記憶されたプログラムをRAMにコピーし、そのプログラムに含まれる命令をRAMから順次読み出して実行することにより、上記各部の機能を実現する。また、プログラムを実行する際、以下の各実施形態で述べる各種処理で得られた情報がRAMまたはメモリ24に記憶され、適宜利用される。また、制御装置20は、例えば、所定の通信規格(例えばLAN、WiFi)に準拠して外部機器との通信を行うためのインタフェース回路を備え、外部機器と通信を行うことができる。
知識ベース31は、図1に示されるような意味ネットワーク1000を表すデータベースである。知識ベース31を格納する記憶装置30は、例えば、クラウド上にあって、制御装置20とインターネット経由で接続されても良い。しかし、知識ベース31を格納するための記憶装置30は、制御装置20内に含まれても良い。すなわち、知識ベース31は、その大きさに応じて、クラウド上にあっても良いし、制御装置20内に格納されても良い。記憶装置30は、例えば、SSD、ROM、DRAM、強誘電体メモリ、フラッシュメモリ、又は磁気ディスクなどで実現できる。
出力装置40は、音声を出力する音声出力部41と、テキストを出力する文字出力部42とを含む。音声出力部41は、例えばスピーカである。文字出力部42は、例えば液晶ディスプレイである。
制御装置20は、入力装置10、記憶装置30、及び出力装置40と、無線通信により接続されても良いし、コネクタやケーブル等を介して有線接続されても良い。
3.対話処理
3.1 対話処理全体の流れ
図3に、対話処理システム100がユーザと対話を行う例を示している。図3では、ユーザがコーヒーを注文する例を示している。ユーザが最初に「I would like a hot coffee, no sugar.」と発声して、砂糖なしのホットコーヒーを注文した場合(順番1)、ホットコーヒーのサイズがユーザにより指定されていないため、対話処理システム100はサイズについてユーザに問い合わせをする(順番2)。この問い合わせに対して、ユーザがサイズについて回答すると(順番3)、対話処理システム100はユーザの注文内容を確認する(順番4)。
図3に示すような対話を行うときの処理について、図4を使用して具体的に説明する。図4は、第1実施形態の制御装置20による対話処理全体の流れを示している。ユーザが発話する又はタッチパネルなどにテキストを入力すると、制御装置20は、入力装置10を介してユーザの発話又はテキストを入力して、入力した発話又はテキストから入力概念を抽出する(S1)。制御装置20は、抽出した入力概念に基づきタスクの実行の可否を判断する(S2)。
制御装置20は、抽出した入力概念に基づきタスクの実行は未だできないと判断すれば(S2でNo)、入力概念が内部のメモリ24にあるか否かを判断する(S3)。入力概念が内部のメモリ24になければ(ステップS3でNo)、記憶装置30にある知識ベース31にアクセスして、知識ベース31から必要なノードとノード間のエッジを抽出し、内部のメモリ24に格納する(S4)。メモリ24に格納したノードとエッジで構成される知識ベース31の一部を「サブネットワーク」と呼ぶ。また、入力概念が内部のメモリ24にあれば(ステップS3でYes)、入力概念に基づいて、不要なノード及びエッジをメモリ24内のサブネットワークから削除する(S5)。
その後、制御装置20は、内部のメモリ24に格納されているサブネットワークに基づいて、応答文を生成し(S6)、出力装置40を介して、生成した応答文をユーザに出力する(S7)。出力した応答文に対して、ユーザからの回答を取得すると、ステップS1に戻り、対話処理を繰り返す。
このようにしてユーザと対話し、制御装置20が抽出した入力概念に基づきタスクの実行ができると判断したときに(S2でYes)、タスクが実行される。本開示の対話処理においては、タスクの実行は、必須のスロット3に対するスロット値4が全て決定された後に行われる。よって、例えば、全てのスロット値4が決まり、図3の順番5で示すように、ユーザが「Yes, its' fine.」のような肯定的な回答をしたときに、タスクの実行が可能であると判断する。タスクが実行されると、制御装置20は、内部のメモリ24に格納したサブネットワークを削除する(S8)。
以下、入力概念の抽出処理(ステップS1)、知識ベース31へのアクセス処理(ステップS4)、メモリ24内の不要なノードの削除処理(ステップS5)、応答文の生成処理(ステップS6)、及び応答文の出力処理(ステップS7)の詳細について、順に説明する。
3.2 入力概念の抽出
図5に、入力概念の抽出処理(図4のステップS1)の詳細を示す。制御装置20は、音声入力部11からユーザの発話を入力したかどうかを判断する(S101)。制御装置20は、音声入力部11からユーザの発話を入力していなければ、文字入力部12からテキストを入力したか否かを判断する(S103)。音声入力部11と文字入力部12のいずれからも入力がなければ、ステップS101に戻る。制御装置20は、音声入力部11からユーザの発話を入力すると、音声認識部21により、ユーザの発話をテキストに変換する(S102)。音声認識部21によりユーザの発話をテキスト(入力文)に変換した後、又は文字入力部12からテキスト(入力文)を入力した後、制御装置20は、自然言語処理部22により、テキストから自然言語の概念(入力概念)を抽出する(S104)。自然言語処理部22は、セマンティックパーサを使用して、1以上の入力概念を含むリストを出力する。
3.3 サブネットワークの生成
図6は、タスクの実行に必要なノードを知識ベース31から取り出す処理(図4のステップS4)の詳細を示している。対話処理部23は、抽出された入力概念と一致するノードを知識ベース31内で検索する(S401)。抽出された入力概念と一致するノードが知識ベース31に無ければ、エラー処理を行う(S410)。例えば、エラーメッセージを生成し、出力装置40を介して、ユーザに出力する。
抽出された入力概念と一致するノードが知識ベース31に有れば、対話処理部23は、入力概念について、関係詞「HasMandatoryProperty」と関係詞「HasOptionalProperty」で関連付けられている全てのノード(スロット3)を知識ベース31から抽出する(S403)。例えば、図1においては、スロット3「sugar option」及び「temperature」が抽出される。対話処理部23は、関係詞「IsA」に基づいて、抽出された入力概念の上位概念のノード(ドメイン1)を知識ベース31から抽出する(S404)。例えば、図1においては、サブドメイン2「coffee」の上位概念であるドメイン1「drink」が抽出される。対話処理部23は、上位概念のノード(ドメイン1)に対して、関係詞「HasMandatoryProperty」と関係詞「HasOptionalProperty」で関連付けられている全てのノード(スロット3)を知識ベース31から抽出する(S405)。例えば、図1においては、スロット3「size」及び「quantity」が抽出される。なお、入力概念がドメイン1に相当する場合、すなわち、入力概念が上位概念を持たない場合は、ステップS404及びステップS405を実行しない。
対話処理部23は、抽出したスロット3に対して関係詞「IsChoiceOf」で関連付けられているノード(スロット値4)を知識ベース31内で検索し、スロット値4に対応する入力概念が、自然言語処理部22が出力した入力概念のリストに含まれるか否かを判断する(S406)。例えば、図1においては、スロット3「size」の値4「small」、「medium」、「large」と、スロット3「sugar option」の値4「with sugar」及び「no sugar」と、スロット3「temperature」の値4「hot」及び「iced」とが、入力概念のリストに含まれるか否かが判断される。対話処理部23は、ノード(スロット値4)に対応する概念が入力概念のリストにあると判断すれば、入力概念に含まれるスロット値4のみを知識ベース31から抽出する(S408)。一方、スロット値4に対応する概念が入力概念のリストに無いと判断すれば、関係詞「IsChoiceOf」で関連付けられているノード(スロット値4)の全てを知識ベース31から抽出する(S407)。図3の順番1での発話に示すように、ユーザが、最初に、砂糖なしのホットコーヒーを注文した場合は、スロット3「sugar option」の値4として、ノード「no sugar」のみを抽出し、スロット3「temperature」の値4として、ノード「hot」のみを抽出する。コーヒーのサイズについては、順番1の発話内では指定されていないため、スロット3「size」の値4については、「small」、「medium」、及び「large」の全てのノードを抽出する。
対話処理部23は、知識ベース31から抽出した全てのノード(ドメイン1、サブドメイン2、スロット3、及びスロット値4)と抽出したノードに関連しているエッジを内部のメモリ24に格納する(S409)。このように、対話処理システム100は、ユーザが要求したタスクを実行するのに必要なノードを対話中にリアルタイムで知識ベース31内で検索し、知識ベース31から取り出したノード及びエッジを含むサブネットワーク(知識ベース31の一部)をメモリ24に格納する。
図7に、図6の処理により、メモリ24に格納されたサブネットワーク1000aの例を示す。図7において、実線で示されているノードが実際にメモリ24に格納されたノードを示し、破線で示されているノードは知識ベース31内にあるがメモリ24には格納されていないノードを示している。図7に示すように、サブネットワークは、入力文に含まれるサブドメイン2と、もしあれば、その上位概念に対応するドメイン1、スロット3、及びスロット値4を含む。図6のステップS408においてスロット値4が決まっている場合は、決まっているスロット値4のみを抽出してメモリ24に格納しているため、メモリ24の容量が小さくてもサブネットワークを格納することができる。また、ステップS407においてスロット値4が決まっていない場合は、取り得る全てのスロット値4をメモリ24に格納しているため、以後の対話処理中における記憶装置30へのアクセス回数を減らすことができる。
図8に、メモリ24内の不要なノードの削除処理(図4のステップS5)の詳細を示す。入力概念がメモリ24内に既にある場合(図4のステップS3でYes)、すなわち、図7に示すようなサブネットワーク1000aがメモリ24内に格納されている場合、図8の処理が実行される。対話処理部23は、入力概念に対応するノード(スロット値4)がメモリ24内にあると判断すれば(S501でYes)、そのスロット値4のみをメモリ24に格納し、その他の取りうるスロット値4を削除する(S502)。例えば、図3の順番3で示されように、ユーザの回答から「small」の概念を抽出した場合は、スロット値4「medium」及び「large」をメモリ24から削除し、スロット値4「small」のみをメモリ24に残す。
3.4 応答文の出力
図9に、応答文の生成処理(図4のステップS6)の詳細を示す。本開示の対話処理においては、タスクの実行は、必須のスロット3の値4が全て決定された後に行われるため、タスクを実行する前に、必須のスロット3の値4を全て決定する必要がある。対話処理部23は、関係詞「HasMandatoryProperty」で接続されたスロット3の値4が全て決定されているかどうかを判断する(S601)。すなわち、メモリ24内において、各スロット3に対して関係詞「IsChoiceOf」で関連付けられているノード(スロット値4)が一つであるか否かを判断する。メモリ24内において、1つのスロット3に対する値4が複数あれば、いずれの値を選択するかをユーザに問い合わせるための応答文を生成する(S602)。例えば、図7に示すようにスロット3「size」の値が決まっていない場合は、図3の順番2の発話に示すように、対話処理部23は「OK. What size?」の問い合わせ文を生成する。関係詞「HasMandatoryProperty」で接続されている全てのスロット3の値4が決定されていれば(ステップS601でYes)、すなわち、メモリ24内において、各スロット3に対して関係詞「IsChoiceOf」で関連付けられているスロット値4が一つだけになると、対話処理部23は、メモリ24内のサブネットワークを参照して、注文を確認するための応答文を生成する(S603)。例えば、図3の順番4に示すように「OK, small hot coffee, no sugar, is that OK?」の応答文を生成する。
図10に、応答文の出力処理(図4のステップS7)の詳細を示す。対話処理部23は、応答文を生成すると、応答文を音声で出力するか否かを決定する(S701)。例えば、入力装置10から制御装置20にテキストが入力されていれば、音声で出力しないと判断して、文字出力部42を介して、応答文をテキストでユーザに出力する(S704)。入力装置10から制御装置20に音声が入力されていた場合は、音声で出力すると判断して、音声合成部25により応答文を音声に変換し(S702)、音声出力部41を介してその音声をユーザに出力する(S703)。
4.効果等
本開示の対話処理システム100が使用する知識ベース31では、ドメイン1に接続されているノード(スロット3及びスロット値4)はサブドメイン2に継承されるため、ドメイン1に接続されているノードをサブドメイン2内において複製する必要がなくなる。また、複数のサブドメイン2が同一のノード(ドメイン1及びスロット3)に接続されているため、同一のスロット3及ぶスロット値4をサブドメイン毎に複製する必要がなくなる。なお、本実施形態では、2つの異なるサブドメイン2が同一のスロット3に関連付けられている例について説明したが、複数の異なるドメイン1が同一のノード(例えば、スロット3)に関連付けられていても良い。この場合、例えば、同一のノード(例えば、スロット3及ぶスロット値4)をドメイン毎に複製する必要がなくなる。よって、記憶装置30及びメモリ24の容量を小さくすることができる。さらに、新たな概念を追加する場合、新たな概念を表すノードと、新たなノードと既存のノード間のエッジとを知識ベース31に追加するだけで良く、簡単に新たな概念を追加することができる。
本開示の対話処理システム100は、ユーザの発話から抽出した自然言語概念を、知識ベース内31で検索することによって、タスクを実行するために必要なコンテキスト(ノード及びエッジ)をサブネットワーク1000aとして、メモリ24に格納している。サブネットワーク1000aは、ユーザとの対話中にリアルタイムで、メモリ24内に構築される。このサブネットワーク1000aは、意味ネットワーク1000からタスクの実行に必要な部分のみを抜粋したものであり、従来のタスクフレームに代わるものに相当する。すなわち、本開示の対話処理システム100によれば、従来のようなタスクフレームに相当するものを対話前に作成する必要がなくなる。
このように、本開示の対話処理システム100によれば、事前にサブネットワーク1000aを生成する必要がなく、記憶装置30及びメモリ24が小容量で良く、さらに簡単に新たな概念を追加できるため、利便性が良い。
(第2実施形態)
ユーザが対話の途中で最初の意図と異なるタスクの実行を望んだときの対話処理について説明する。本実施形態の対話処理システム100は、第1実施形態と同様に、図2に示す構成を有し、図1に示すような意味ネットワーク1000を表す知識ベース31を使用する。
図11に、ユーザが対話の途中で注文内容を変更した場合の対話例を示している。ユーザは、最初に「I would like a small hot coffee, no sugar.」と発声してコーヒーを注文している(順番1)。この最初の発話の中には、図1の意味ネットワーク1000に示すように、サブドメイン2「coffee」とその上位概念のノード1「drink」に対して、関係詞「HasMandatoryProperty」で接続されるスロット3の値4は全て含まれている。よって、対話処理システム100は、注文内容を確認するための応答文を出力する(順番2、図9のステップS603)。この応答文に対し、ユーザは、「Actually, make it a tea」と発声して、注文をコーヒーから紅茶に変更している(順番3)。このとき、ユーザは、新たな入力概念である「tea」のスロット3及びスロット値4については言及していない。しかし、対話処理システム100は、最初の注文時のスロット3及びスロット値4を引き継いで、「OK, small hot tea, no sugar, is that OK?」と確認している(順番4)。本開示の対話処理システム100が使用する、図1に示す意味ネットワーク1000では、サブドメイン2の「coffee」と「tea」は、同一の関係詞「HasMandatoryProperty」により、共通のスロット3に接続されている。よって、対話処理システム100は、最初のコーヒー注文時のスロット値4を参照することができ、そのスロット値4をユーザに確認するだけで良い。このように、最初の注文時のスロット値4を引き継いで、ユーザに確認する応答文を生成する処理について、具体的に以下に説明する。
図12に、本開示の第2実施形態の対話処理の全体の流れを示す。図12は、第1実施形態の図4のフローに共通ノードの確認処理(ステップS9)を追加したものである。図11の順番1に示すように最初にコーヒーの注文を受けたときは、制御装置20は、図7のサブネットワーク1000aに示すようにサブドメイン2「coffee」に関連するドメイン1、スロット3、及びスロット値4を知識ベース31から抽出してメモリ24に格納する。この時点では、サブドメイン2「tea」はメモリ24に格納されていない。よって、ユーザが、再度、発話して、注文をコーヒーから紅茶に変更したとき、制御装置20は、再度、知識ベース31にアクセスし、知識ベース31から新たな入力概念「tea」に関するノードを抽出して、内部のメモリ24に格納する(S4)。このとき、まだメモリ24内に格納されていないノードとエッジのみを新たに格納すれば良い。すなわち、新入力概念「tea」に関するノードとエッジが、旧入力概念「coffee」に関するサブネットワークに追加される。その後、対話処理部23は、旧入力概念のサブドメイン2「coffee」と新入力概念のサブドメイン2「tea」とが共通のノード(ドメイン1、スロット3、スロット値4)を持っているかどうかを確認する処理を実行する(S9)。
図13に、共通ノードの確認処理(図12のステップS9)の詳細を示す。対話処理部23は、旧入力概念のサブドメイン2「coffee」と新入力概念のサブドメイン2「tea」とが共通のノード(ドメイン1、スロット3、スロット値4)を持っているかどうかを判断する(S901)。旧入力概念に関連付けられているノードが新入力概念に関連付けられているノードと共通であれば、対話処理部23は「IsChoiceOf」で関連付けられている共通のスロット値4が決定済みかどうかを判断する(S902)。共通のスロット値4が決定済みであれば(S902でYes)、対話処理部23は、決定済みのスロット値4をユーザに確認する処理を実行する(S903)。
旧入力概念のサブドメイン2「coffee」と新入力概念のサブドメイン2「tea」とが共通のノードを持っていない場合(S901でNo)、共通のスロット値4がまだ決定されていない場合(S902でNo)、又は決定済みのスロット値4をユーザに確認する処理を行った後(S903)、対話処理部23は、旧入力概念のみに関するノードをメモリ24から削除する(S904)。
図14に、決定済みのスロット値をユーザに確認する処理(図13のステップS903)の詳細を示す。対話処理部23は、共通のスロット値4が既に決定済みのとき、その共通のスロット値4をユーザに確認するための応答文を生成する(S1301)。図11の例では、ユーザの発話から抽出した新入力概念である「tea」と旧入力概念「coffee」とに共通するスロット3及びその値4(「size」-「small」,「temperature」-「hot」,及び「sugar option」-「no sugar」)に基づいて、「OK, small hot tea, no sugar, is that OK?」という応答文を生成している(順番4)。制御装置20は、生成した応答文を出力し(S1302)、その応答文に対するユーザからの入力を受け取って、入力概念を抽出する(S1303)。応答文の出力処理(S1302)は上述した図10に示す処理であり、入力概念の抽出処理(S1303)は上述した図5に示す処理である。対話処理部23は、入力概念が肯定的な回答を示しているか否かを判断し(S1304)、肯定的な回答であれば、決定済みのスロット値4のみをメモリ24に残し、その他のスロット値4をメモリ24から削除する(S1305)。
図15に、図13の処理後にメモリ24に格納されているサブネットワーク1000bの例を示す。図15において、実線で示されているノードが実際にメモリ24に格納されたノードを示し、破線で示されているノードは知識ベース31にはあるがメモリ24には格納されていないノードを示している。図11の対話例では、最初の注文時(順番1)にユーザが「small」、「hot」、及び「no sugar」を指定しているため、スロット3「size」、「sugar option」、及び「temperature」に対して、それぞれスロット値4「small」、「no sugar」、及び「hot」のみがメモリ24に格納されていて、その他の取りうるスロット値4である「medium」、「large」、「with sugar」、「iced」はメモリ24に格納されていない。また、サブドメイン2「coffee」は、サブドメイン2「tea」との共通ノードではないため、削除されている。このサブネットワーク1000bに基づいて、最終的にタスクが実行される。すなわち、小さいサイズで砂糖無しの温かい紅茶がユーザに提供される。
以上のように、本実施形態の対話処理システム100は、図1に示すような意味ネットワーク1000を示す知識ベース31を使用している。意味ネットワーク1000において、サブドメイン2「coffee」と「tea」は、同一のドメイン1「drink」に属する類似の概念であって、共通のノード(ドメイン1、スロット3、及びスロット値4)を持っている。よって、ユーザが、一旦、ある特定のサブドメイン2のスロット値4を選択すれば、後から入力された別のサブドメイン2のスロット値4について、ユーザの選択がなかった場合でも、対話処理システム100は、以前に選択されたスロット値4を使用することができる。これにより、図11に示すように、ユーザが「a small hot coffee, no sugar」を注文した後に、ユーザが注文内容を「tea」に変更し且つ「tea」についてのスロット3及びスロット値4の概念が発話に含まれていない場合であっても、旧入力概念との共通のスロット3及びスロット値4を使用することによって、対話処理システム100は、ユーザが、「small」、「hot」、且つ「no sugar」の飲み物を要求していると判断することができる。このように、本実施形態によれば、後から入力された別のサブドメイン2のスロット値4を再度問い合わせずに、以前に入力されたスロット値4をユーザに確認するだけで良い。そのため、ユーザは、「yes」又は「no」などのより短い回答で応答することができ、より円滑な対話の継続が可能になる。また、複数のサブドメイン2が共通のスロット3に接続されているため、例えば、対話処理システム100が、ユーザはおそらく温かい飲み物を飲みたいと判断したときに、他の温かい飲み物を提案することも可能になる。
一方、従来のようなフレームベースでは、異なるサブドメインは別個のタスクフレームにおいて形成されているため、異なるサブドメイン間にまたがって利用できる情報はない。例えば、「coffee」と「tea」のタスクフレームはそれぞれ別個に生成されていて、相互に関係づけられていないため、サブドメインが「coffee」から「tea」に変わると、変更後のサブドメイン「tea」に対応するタスクフレームを新たに使用して対話をすることになる。よって、「coffee」に関する注文内容についてのスロット値の情報が残らず、「tea」について、再度、スロット値を問い合わる必要が生じる。例えば、スロット「size」の値について「small」、「medium」、及び「large」のいずれを選択するか、スロット「sugar option」について、「with sugar」又は「no sugar」か、スロット「temperature」について、「hot」又は「iced」かを、再度、ユーザに問わなければならない。従来のタスクフレームと比較すると、本開示における意味ネットワーク1000は、異なるサブドメイン間の関係のより良い表現を提供する。また、同一スロット3に接続されているサブドメイン2は類似した概念であると見なすことができるため、対話処理システム100は、サブドメイン2が共通のスロット3に接続されているかどうかに基づいて、異なるサブドメイン2間の類似度を簡単に推測することができる。概念間の類似度は、推論アルゴリズムを使用して、得ることができる。意味ネットワーク1000内の複数のサブドメイン2間で共有されるスロット3の数が多くなればなるほど、これらの複数のサブドメイン2はより似ていると見なすことができる。よって、概念間の類似度を自動的に決定することもできる。
なお、最初のコーヒーの注文時(図11の順番1)に、対話処理システム100は、「coffee」の最上位概念であるドメイン1「drink」に紐付く全てのノードとエッジを知識ベース31から抽出してメモリ24に格納しても良い。すなわち、最初のコーヒーの注文を受けた時点で、サブドメイン2「coffee」だけではなく、サブドメイン2「tea」に関連するノードとエッジについてもメモリ24に格納しておいても良い。この場合は、注文がコーヒーから紅茶に変更されたとき(図11の順番3)において、サブドメイン2「tea」についてのサブネットワークの抽出及び格納処理(図12のステップS4)を省略することができる。
(第3実施形態)
本実施形態では、新たな関係詞「HasGeneralProperty」により、ノードが接続されている場合の対話処理について説明する。図16に、本実施形態における、新たな関係詞「HasGeneralProperty」を含む意味ネットワーク1000の一例を示す。関係詞「HasGeneralProperty」は、接続先のノードが接続元のノードの一般的なプロパティ(特性)であることを示す。図16に示すように、2つのサブドメイン2「coke」及び「coffee」が異なる関係詞によって同一のノード「iced」に直接又は間接的に接続されている。具体的には、ノード「iced」は、関係詞「HasGeneralProperty」によって、サブドメイン2「coke」に直接関連付けられている。これにより、「coke」は「iced」というプロパティを持つことを示している。すなわち、コーラは冷たい飲み物であることを示している。また、ノード「iced」は、関係詞「IsChoiceOf」と「HasMandatoryProperty」とにより、スロット3「temperature」を介して、サブドメイン2「coffee」に接続されている。これにより、コーヒーには冷たいものがあることを示している。
本実施形態において、制御装置20は上述した図12の対話処理を行う。図16に示すように意味ネットワーク1000が関係詞「HasGeneralProperty」を含む場合において、ユーザが対話の途中で注文内容を変更した場合の対話例を、図17に示している。図17において、ユーザは、最初に「I would like a coke.」と発声してコーラを注文している(図17の順番1)。この最初の発話の中には、サブドメイン2「coke」の上位概念であるドメイン1「drink」に関係詞「HasMandatoryProperty」によって関連付けられているスロット3「size」の値が含まれていない。そこで、対話処理システム100はユーザにサイズを確認する問い合わせ文を出力している(図17の順番2、図9のステップS602)。この問い合わせ文に対し、ユーザは「No, actually, make it a coffee」と発声して注文をコーラからコーヒーに変更している(図17の順番3)。制御装置20は、最初に注文を受けたときには、入力概念「coke」に関するノードのみを知識ベース31から抽出してメモリ24に格納しているため、「coffee」の概念に関するノードはメモリ24に格納されていない状態である(図12のステップS3でNo)。よって、ユーザが、再度、発話して、注文をコーラからコーヒーに変更したとき、制御装置20は、再度、知識ベース31にアクセスし、知識ベース31から新たな入力概念「coffee」に関するノードを抽出して、内部のメモリ24に格納する(図12のステップS4)。その後、対話処理部23は、旧入力概念のサブドメイン「coke」と新入力概念のサブドメイン「coffee」とが共通のノード(ドメイン1、スロット3、スロット値4)を持っているかどうかを確認する処理を実行する(S9)。
図18に、図13と異なる、本実施形態における共通ノードの確認処理(図12のステップS9)の詳細を示す。対話処理部23は、旧入力概念の一般的なプロパティ(特性)であるノードが、新入力概念のスロット値4であるかどうかを判断する(S1701)。例えば、旧入力概念のサブドメイン2「coke」に対して関係詞「HasGeneralProperty」によって関連付けられているノード「iced」が、新入力概念のサブドメイン2「coffee」に関連するスロット値4であるか否かを判断する。旧入力概念の一般的なプロパティであるノードが、新入力概念のスロット値4であれば(S1701でYes)、対話処理部23は、スロット値4をユーザに確認する処理を行う(S1702)。スロット値4をユーザに確認する処理(S1702)は、上述した図14のステップS1301〜S1305の処理である。図16の例では、ノード「iced」は、関係詞「HasMandatoryProperty」及び「IsChoiceOf」及びにより、ノード(スロット3)「temperature」を介して、ノード(サブドメイン2)「coffee」に接続されている。よって、対話処理部23は、ノード「iced」はサブドメイン2「coffee」に関連するスロット値4であると判断して、スロット値4「iced」を確認する処理を行う。例えば、対話処理部23は、新入力概念「coffee」とスロット値「iced」とに基づいて、「OK. Would you like iced coffee?」という応答文を生成し出力する(図17の順番4)。旧入力概念の一般的なプロパティであるノードが新入力概念のスロット値4でない場合(ステップS1701でNo)、又はスロット値4の確認処理(S1702)の後、対話処理部23は、旧入力概念のみに関連するノードをメモリ24から削除する(S1703)。
以上のように、本実施形態においては、一般的なプロパティを示す新たな関係詞「HasGeneralProperty」を使用することによって、あるサブドメイン2のスロット値4を別のサブドメイン2の一般的なプロパティを示すノードとして表すことができる。よって、対話処理システム100は、新たな関係詞「HasGeneralProperty」を採用することによって、サブドメイン2の範囲内に制限されることなく、新たな概念についてのスロット値4を推定することができる。例えば、本実施形態のように、「coke」の一般的なプロパティ「iced」が、「coffee」のスロット3「temperature」の値4であると判断することによって、ユーザがコーラからコーヒーに変更したときに、アイスコーヒーを要求していると推定することができる。これにより、対話中にユーザの意図が変わったときであっても、ユーザが「yes」又は「no」などの短い回答で応答することができるような対話を継続させることができる。よって、円滑な対話を行うことが可能になる。また、新たな関係詞を用いた対話処理は、対話処理システム100の理解能力を拡張するのにも有用である。
新たな関係詞「HasGeneralProperty」で示されるエッジは、任意のノードに接続することができる。例えば、ドメイン1に接続しても良いし、サブドメイン2に接続しても良い。新たな関係詞「HasGeneralProperty」は、異なるドメイン1又はサブドメイン2を、ある特定のノードを介して、接続するために使用されても良い。また、サブドメイン2同士が、新たな関係詞「HasGeneralProperty」により、直接、接続されても良い。これにより、対話処理システム100は、ドメイン1又はサブドメイン2の範囲に制限されずに、関連のある概念をユーザに提案することができる。
対話処理システム100は、推論アルゴリズムを使用して、ドメイン間又はサブドメイン間の類似度を探し出しても良い。複数のドメイン又は複数のサブドメインが共通の一般的なプロパティをより多く持つほど、それらはより類似していると見なすことができる。これにより、類似度に応じて、ユーザによって以前リクエストされたサブドメインに類似するサブドメインを意味ネットワーク1000から探し出して提案することもできる。また、新たな概念を意味ネットワーク1000に追加することが発生したときに、一般的なプロパティを示す新たな関係詞「HasGeneralProperty」を参照することによって、新たな概念が最も適合するサブドメイン又はドメインを自動的に推論して決定しても良い。
(他の実施形態)
以上のように、本出願において開示する技術の例示として、第1実施形態〜第3実施形態について説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施形態にも適用可能である。また、上記第1実施形態〜第3実施形態で説明した各構成要素を組み合わせて、新たな実施形態とすることも可能である。そこで、以下、他の実施形態を例示する。
図19に、新たな関係詞「Suggest」を含む意味ネットワーク1000の例を示す。図19では、サブドメイン2「apple pie」とサブドメイン2「coffee」が新たな関係詞「Suggest」によって直接接続されている。新たな関係詞「Suggest」は、接続先のノードが、接続元のノードに基づいて、提案されるべきものであることを示している。新たな関係詞「Suggest」を使用した直接接続は、例えば、予め、「apple pie」と「coffee」が同時に注文されることが多いことが検証されたときに行われる。
図20に、図19に対応する対話例を示す。ユーザが最初に「apple pie」を注文すると、制御装置20は、関係詞「Suggest」に基づいて、知識ベース31からノード「coffee」を取り出してメモリ24に格納し、「coffee」をユーザに提案する(図20の順番2)。関係詞「Suggest」に基づく提案は、例えば、図9のステップS603の確認のための応答文の中で行う。このように、関係詞「Suggest」を採用することによって、ドメイン1又はサブドメイン2が異なる商品であってもユーザに提案することが可能になる。
なお、上述した対話処理システム100の一部の機能をクラウド上で実現してもよい。例えば、図21は、知識ベース31、32を管理する記憶装置30(知識ベースサーバ)をクラウド上に設けたときの構成の例を示す。図21に示すように、ネットワーク上に記憶装置30を設け、端末装置50は、対話処理システム100における入力装置10、制御装置20及び出力装置40のみを備えてもよい。端末装置50の制御装置20は、クラウド上にある記憶装置30すなわち知識ベース31にアクセスする。また、図22は、制御装置20および記憶装置30をクラウド上に設けた構成の例を示す。図22に示すように、ネットワーク上に制御装置20と記憶装置30を設け、端末装置50は、対話処理システム100における入力装置10と出力装置40のみを備えてもよい。端末装置50は、入力文を示す音声信号またはテキスト情報をクラウド上にある制御装置20に送信する。制御装置20は、端末装置50から受信した音声信号またはテキスト情報に基づき応答文を生成し、応答文に対応する音声信号またはテキストを端末装置50に返信する。
上記実施形態では、制御装置20がサーバ装置である例を示したが、制御装置20は汎用のパーソナルコンピュータ又は携帯端末(スマートフォンなど)であっても良い。例えば、携帯端末である場合、メモリ24はフラッシュメモリなどの内蔵ストレージである。
(本開示)
上記の実施形態では、以下の構成が開示されている。
(1)本開示の対話処理方法は、制御装置により、入力文に対する応答文を生成する対話処理方法であって、制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置に格納されていて、制御装置により、抽出した入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を知識ベースから取得するステップと、制御装置により、入力概念と関連概念とに基づいて、入力文に対する応答文を生成するステップと、を含む。
意味ネットワークを使用することにより、簡単に新たな概念を追加することができるようになる。例えば、新たな概念を追加する場合、新たな概念を表すノードと、新たなノードと既存のノード間のエッジとを知識ベースに追加するだけで良い。また、同一のノード(例えば、スロット3及ぶスロット値4)を複製する必要がなくなるため、記憶装置の容量を小さくすることができる。
(2)(1)の対話処理方法において、制御装置により、入力概念の上位概念を知識ベースから取得するステップと、制御装置により、知識ベースから、上位概念に所定の関係情報と同一の関係情報によって関連付けられている別の概念を、入力概念の関連概念としてさらに取得するステップと、をさらに含んでも良い。
このように、上位概念の関連概念を下位概念の関連概念として継承することにより、意味ネットワーク内において概念を複製する必要がなくなる。
(3)(1)または(2)の対話処理方法において、所定の関係情報は、関連概念が入力概念の属性を示す情報であっても良い。
(4)(1)または(2)の対話処理方法において、関連概念が入力概念に対して提案されるべきものであることを示す情報であっても良い。
(5)(1)から(4)のいずれかの対話処理方法において、関連概念を知識ベースから取得した後、制御装置により、関連概念が入力文に含まれるか否かを判断し、関連概念が入力文に含まれない場合、関連概念についてユーザに問い合わせを行うステップをさらに含んでも良い。
このように、関連概念が入力文に含まれない場合には、関連概念についての問い合わせを行うことによって、円滑に対話を継続することができる。
(6)(5)の対話処理方法において、制御装置により、先の入力文に含まれていた概念である先の入力概念を抽出した後に、新たな入力文に含まれている概念である新たな入力概念を抽出するステップと、制御装置により、新たな入力概念と先の入力概念とが知識ベース内で同一の関連概念に関連付けられているかどうかを判断するステップと、新たな入力概念と先の入力概念とが知識ベース内で同一の関連概念に関連付けられている場合、制御装置により、新たな入力概念に関する関連概念についてユーザに問い合わせを行うことなく、新たな入力概念と関連概念とに基づいて新たな入力文に対する応答文を生成するステップと、をさらに含んでも良い。
意味ネットワーク内では、概念が複製されていないため、新たな入力概念に関する関連概念と先の入力概念との関連概念とが同一になる場合がある。このような場合に、新たな入力概念が入力されたときに、先の入力概念に対して既に決定されている関連概念を利用することができる。よって、円滑な対話を継続でき、ユーザは簡単な短い回答によって応答することができるようになる。
(7)(6)の対話処理方法において、新たな入力概念と先の入力概念とは、同一の関連概念に対して、同一の関係情報で関連付けられても良い。
(8)(6)の対話処理方法において、新たな入力概念と先の入力概念とは、同一の関連概念に対して、異なる関係情報で関連付けられていても良い。
(9)本開示の対話処理システムは、入力文に対する応答文を生成する対話処理システムであって、複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースを格納する記憶装置と、入力文を示す情報を入力する入力装置と、入力文に含まれる概念である入力概念を抽出し、抽出した入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を知識ベースから取得して、入力概念と関連概念とに基づいて、入力文に対する応答文を生成する、制御装置と、応答文を示す情報を出力する出力装置と、を含む。
意味ネットワークを使用することにより、簡単に新たな概念を追加することができるようになる。また、同一のノードを複製する必要がなくなるため、記憶装置の容量を小さくすることができる。
(10)本開示のプログラムは、コンピュータに(1)から(8)のいずれかに記載の対話処理方法を実行させるためのプログラムである。
本開示の全請求項に記載の対話処理方法及び対話処理システムは、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現される。
本開示の対話処理方法及び対話処理システムによれば、利便性良く、応答文を生成することが可能になるため、ユーザとの対話を自動的に行う種々の対話処理手段において有用である。
10 入力装置
11 音声入力部
12 文字入力部
20 制御装置
21 音声認識部
22 自然言語処理部
23 対話処理部
24 メモリ
25 音声合成部
30 記憶装置
31 知識ベース
40 出力装置
41 音声出力部
42 文字出力部
50 端末装置
100 対話処理システム

Claims (10)

  1. 制御装置により、入力文に対する応答文を生成する対話処理方法であって、
    前記制御装置により、入力文に含まれる概念である入力概念を抽出するステップと、
    複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースが記憶装置に格納されていて、前記制御装置により、抽出した前記入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を前記知識ベースから取得するステップと、
    前記制御装置により、前記入力概念と前記関連概念とに基づいて、前記入力文に対する応答文を生成するステップと、
    を含む、対話処理方法。
  2. 前記制御装置により、前記入力概念の上位概念を前記知識ベースから取得するステップと、
    前記制御装置により、前記知識ベースから、前記上位概念に前記所定の関係情報と同一の関係情報によって関連付けられている別の概念を、前記入力概念の前記関連概念としてさらに取得するステップと、
    をさらに含む、請求項1に記載の対話処理方法。
  3. 前記所定の関係情報は、前記関連概念が前記入力概念の属性を示す情報である、請求項1又は請求項2に記載の対話処理方法。
  4. 前記所定の関係情報は、前記関連概念が前記入力概念に対して提案されるべきものであることを示す情報である、請求項1又は請求項2に記載の対話処理方法。
  5. 前記関連概念を前記知識ベースから取得した後、前記制御装置により、前記関連概念が前記入力文に含まれるか否かを判断し、前記関連概念が前記入力文に含まれない場合、前記関連概念についてユーザに問い合わせを行うステップをさらに含む、請求項1から請求項4のいずれかに記載の対話処理方法。
  6. 前記制御装置により、先の入力文に含まれていた概念である先の入力概念を抽出した後に、新たな入力文に含まれている概念である新たな入力概念を抽出するステップと、
    前記制御装置により、前記新たな入力概念と前記先の入力概念とが前記知識ベース内で同一の関連概念に関連付けられているかどうかを判断するステップと、
    前記新たな入力概念と前記先の入力概念とが前記知識ベース内で同一の関連概念に関連付けられている場合、前記制御装置により、前記新たな入力概念に関する前記関連概念についてユーザに問い合わせを行うことなく、前記新たな入力概念と前記関連概念とに基づいて前記新たな入力文に対する応答文を生成するステップと、
    をさらに含む、請求項5に記載の対話処理方法。
  7. 前記新たな入力概念と前記先の入力概念とは、前記同一の関連概念に対して、同一の関係情報で関連付けられている、請求項6に記載の対話処理方法。
  8. 前記新たな入力概念と前記先の入力概念とは、前記同一の関連概念に対して、異なる関係情報で関連付けられている、請求項6に記載の対話処理方法。
  9. 入力文に対する応答文を生成する対話処理システムであって、
    複数の概念が関係情報によって互いに関連付けられた意味ネットワークを表す知識ベースを格納する記憶装置と、
    入力文を示す情報を入力する入力装置と、
    前記入力文に含まれる概念である入力概念を抽出し、抽出した前記入力概念に所定の関係情報によって関連付けられている別の概念である関連概念を前記知識ベースから取得して、前記入力概念と前記関連概念とに基づいて、前記入力文に対する応答文を生成する、制御装置と、
    前記応答文を示す情報を出力する出力装置と、
    を含む、対話処理システム。
  10. コンピュータに請求項1から請求項8のいずれかに記載の対話処理方法を実行させるためのプログラム。
JP2016119127A 2016-06-15 2016-06-15 対話処理方法、対話処理システム、及びプログラム Pending JP2017224155A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016119127A JP2017224155A (ja) 2016-06-15 2016-06-15 対話処理方法、対話処理システム、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016119127A JP2017224155A (ja) 2016-06-15 2016-06-15 対話処理方法、対話処理システム、及びプログラム

Publications (1)

Publication Number Publication Date
JP2017224155A true JP2017224155A (ja) 2017-12-21

Family

ID=60688070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016119127A Pending JP2017224155A (ja) 2016-06-15 2016-06-15 対話処理方法、対話処理システム、及びプログラム

Country Status (1)

Country Link
JP (1) JP2017224155A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092764A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機
JP2019092766A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機
CN111801730A (zh) * 2017-12-29 2020-10-20 得麦股份有限公司 用于人工智能驱动的自动伴侣的系统和方法
CN112204654A (zh) * 2018-02-15 2021-01-08 得麦股份有限公司 用于基于预测的先发式对话内容生成的系统和方法
JP2022500726A (ja) * 2018-09-27 2022-01-04 セールスフォース ドット コム インコーポレイティッド タスク指向型対話のためのグローバル−ローカルメモリポインタネットワーク
JP7481475B2 (ja) 2020-03-18 2024-05-10 エーアイ スピーチ カンパニー リミテッド 対話テキストの機能領域確定方法及び装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092764A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機
JP2019092766A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機
CN111801730A (zh) * 2017-12-29 2020-10-20 得麦股份有限公司 用于人工智能驱动的自动伴侣的系统和方法
CN112204654A (zh) * 2018-02-15 2021-01-08 得麦股份有限公司 用于基于预测的先发式对话内容生成的系统和方法
JP2022500726A (ja) * 2018-09-27 2022-01-04 セールスフォース ドット コム インコーポレイティッド タスク指向型対話のためのグローバル−ローカルメモリポインタネットワーク
JP7209806B2 (ja) 2018-09-27 2023-01-20 セールスフォース ドット コム インコーポレイティッド タスク指向型対話のためのグローバル-ローカルメモリポインタネットワーク
JP7209806B6 (ja) 2018-09-27 2023-02-28 セールスフォース インコーポレイテッド タスク指向型対話のためのグローバル-ローカルメモリポインタネットワーク
JP7481475B2 (ja) 2020-03-18 2024-05-10 エーアイ スピーチ カンパニー リミテッド 対話テキストの機能領域確定方法及び装置

Similar Documents

Publication Publication Date Title
JP2017224155A (ja) 対話処理方法、対話処理システム、及びプログラム
US11509726B2 (en) Encapsulating and synchronizing state interactions between devices
JP7095000B2 (ja) 会話型インターフェースの一部として動的に適用されるフィルタリングオペレータを伴う適応会話状態管理のための方法
US11893061B2 (en) Systems and methods for editing and replaying natural language queries
US9691379B1 (en) Selecting from multiple content sources
US10282139B2 (en) Processing method, processing system, and storage medium
US11354510B2 (en) System and method for semantic analysis of song lyrics in a media content environment
US11366573B2 (en) Automatic development of a service-specific chatbot
JP2017107078A (ja) 音声対話方法、音声対話装置及び音声対話プログラム
US10360260B2 (en) System and method for semantic analysis of song lyrics in a media content environment
US11769064B2 (en) Onboarding of entity data
US20200117740A1 (en) Data analytics platform with interactive natural language query interface
US11514907B2 (en) Activation of remote devices in a networked system
US11321331B1 (en) Generating query answers
US11886486B2 (en) Apparatus, systems and methods for providing segues to contextualize media content
JP6257076B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
KR20140096622A (ko) 지식 제공 방법 및 장치