[go: up one dir, main page]

JP7115265B2 - 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置 - Google Patents

対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置 Download PDF

Info

Publication number
JP7115265B2
JP7115265B2 JP2018225898A JP2018225898A JP7115265B2 JP 7115265 B2 JP7115265 B2 JP 7115265B2 JP 2018225898 A JP2018225898 A JP 2018225898A JP 2018225898 A JP2018225898 A JP 2018225898A JP 7115265 B2 JP7115265 B2 JP 7115265B2
Authority
JP
Japan
Prior art keywords
information
user
category
topic
dialogue
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.)
Active
Application number
JP2018225898A
Other languages
English (en)
Other versions
JP2020087352A (ja
Inventor
裕央 辻
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018225898A priority Critical patent/JP7115265B2/ja
Priority to US16/687,965 priority patent/US11675979B2/en
Publication of JP2020087352A publication Critical patent/JP2020087352A/ja
Application granted granted Critical
Publication of JP7115265B2 publication Critical patent/JP7115265B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置に関する。
FAQ(Frequently Asked Questions)システムやWebページの検索などに、タスク指向型の対話システムや一問一答型のチャットボットなどの対話システムが利用されている。近年では、ユーザ発話とユーザ発話への応答発話との対話関係を学習し、学習後の学習モデルを用いて、ユーザ発話から応答内容を選択して発話する対話システムが知られている。
特開2014-29668号公報 特開2009-48303号公報
しかしながら、1つのユーザ発話には複数の意図が含まれる場合があるが、従来手法では、複数の意図から1つの意図に断定して対話を進めるので、途中で意図の間違いに気づくことができず、ユーザが意図しない対話が進んでしまう。このため、ユーザの不快度が大きくなり、対話の途中で終了されるなど利便性の低下に繋がる。
一つの側面では、ユーザが意図しない対話の実行を抑制することができる対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置を提供することを目的とする。
第1の案では、対話制御方法は、ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第1の条件を満たすカテゴリとを特定する処理をコンピュータが実行する。対話制御方法は、特定した前記第1の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択する処理をコンピュータが実行する。対話制御方法は、前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第2の条件を満たすカテゴリとを特定する処理をコンピュータが実行する。対話制御方法は、特定した前記第2の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する処理をコンピュータが実行する。
一実施形態によれば、ユーザが意図しない対話の実行を抑制することができる。
図1は、実施例1にかかる対話システムの全体構成例を示す図である。 図2は、実施例1にかかる対話装置の機能構成を示す機能ブロック図である。 図3は、意図用の学習データDBに記憶される情報の例を示す図である。 図4は、シナリオ用の学習データDBに記憶される情報の例を示す図である。 図5は、ドメインDBに記憶される情報の例を示す図である。 図6は、シナリオDBに記憶される情報の例を示す図である。 図7は、対話DBに記憶される情報の例を示す図である。 図8は、意図推定を説明する図である。 図9は、ドメイン判定を説明する図である。 図10は、会話予測を説明する図である。 図11は、ドメイン切替を説明する図である。 図12は、具体例を説明する図である。 図13は、対話処理の流れを示すフローチャートである。 図14は、外部DBとの連携を説明する図である。 図15は、意図ラベル推定の再学習を説明する図である。 図16は、シナリオ推定の再学習を説明する図である。 図17は、ハードウェア構成例を説明する図である。
以下に、本願の開示する対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾がない範囲内で適宜組み合わせることができる。
[全体構成]
図1は、実施例1にかかる対話システムの全体構成例を示す図である。図1に示すように、この対話システムは、ユーザ端末1と対話装置10とがネットワークを介して相互に通信可能に接続されるシステムである。なお、ネットワークには、有線や無線を問わず、専用線やインターネットなどの各種通信網を採用することができる。また、本実施例では、対話装置10とユーザとが1対1である対話を一例にして説明するが、1対多の会話であっても、複数のユーザを含むグループを1つのユーザとして処理することで、同様に処理することができる。
ユーザ端末1は、ユーザが利用するコンピュータ装置の一例であり、例えばパーソナルコンピュータ、スマートフォン、携帯電話などである。ユーザ端末1は、Webブラウザや専用のアプリケーションを用いて対話装置10にアクセスし、音声入力や文字入力などにより、対話を実行する。例えば、ユーザ端末1は、対話装置10に各種問い合わせを実行い、問い合わせ結果を取得する。
対話装置10は、ユーザ端末1との間でWeb通信などを確立して、ユーザ端末1と対話を実行する対話制御装置や情報提示装置の一例である。この対話装置10は、チャットボットなどの対話システムを実現し、ユーザに対して自律型の対話制御を実行する。例えば、対話装置10は、ユーザの発話「会議室の空きを教えて」が入力されると、「A会議室と、B会議室が空いています。」などの応答を発話する。
このようなシステムにおける対話装置10は、ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第1の条件を満たすカテゴリとを特定する。そして、対話装置10は、特定した第1の条件を満たすカテゴリに基づき、複数の話題からユーザとの対話に用いる何れかの話題を選択する。その後、対話装置10は、選択した話題が妥当でないと判断した場合、複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第2の条件を満たすカテゴリとを特定する。そして、対話装置10は、特定した第2の条件を満たすカテゴリに基づき、複数の話題からユーザとの対話に用いる他の話題を選択する。
例えば、対話装置10は、ユーザから入力された発話(以降ではユーザ発話と記載する場合がある)から、ユーザの意図を複数推定する。そして、対話装置10は、最も確率の高い意図を選択し、選択した意図に基づいた内容をユーザに応答(発話)する。その後、対話装置10は、次のユーザ発話を受け付けると、当該ユーザ発話からユーザの意図を複数推定する。その後、対話装置10は、推定した意図と前回推定された意図とが異なる場合、今回推定された意図のうち、確率が1番高い意図ではなく、2番目に確率の高い意図に基づいた内容をユーザに応答する。
このようにすることで、対話装置10は、ユーザ発話の履歴から対話の流れを推定しつつ、対話の流れの変化や推定結果の間違いを迅速に検出して、ユーザが意図しない対話の実行を抑制することができる。
[機能構成]
図2は、実施例1にかかる対話装置10の機能構成を示す機能ブロック図である。図2に示すように、対話装置10は、通信部11、記憶部12、制御部20を有する。なお、ユーザ端末1は、一般的なコンピュータ装置と同様の構成を有するので、詳細な説明は省略する。
通信部11は、ユーザ端末1との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、ユーザ端末1との間でWeb通信やチャットボットによる通信を確立し、対話に関するデータの送受信を実行する。
記憶部12は、データや制御部20が実行するプログラムを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、意図用の学習データDB13、シナリオ用の学習データDB14、ドメインDB15、シナリオDB16、対話DB17、学習結果DB18、対話ログDB19を記憶する。
意図用の学習データDB13は、ユーザ発話からユーザの意図を推定する学習モデルを学習するための学習データを記憶するデータベースである。具体的には、意図用の学習データDB13は、意図推定用の学習モデルを学習するための教師データを記憶する。
図3は、意図用の学習データDB13に記憶される情報の例を示す図である。図3に示すように、意図用の学習データDB13は、「意図ラベル、データ(問い合わせ内容)」を対応付けて記憶する。ここで記憶される「意図ラベル」は、学習データの正解情報であり、いわゆる目的変数に該当する。「データ(問い合わせ内容)」は、学習データのデータ情報であり、いわゆる説明変数に該当する。図3の例では、ユーザ発話「会議室を予約して」に対しては、意図ラベル「会議室を予約したい」が正解情報として設定されていることを示す。すなわち、ユーザ発話が「会議室を予約して」である場合、ユーザの意図が「会議室を予約したい」であると学習される。
シナリオ用の学習データDB14は、意図の流れから対話のシナリオを推定する学習モデルを学習するための学習データを記憶するデータベースである。具体的には、シナリオ用の学習データDB14は、シナリオ推定用の学習モデルを学習するための教師データを記憶する。
図4は、シナリオ用の学習データDB14に記憶される情報の例を示す図である。図4に示すように、シナリオ用の学習データDB14は、「ラベル、データ」を対応付けて記憶する。ここで記憶される「ラベル」は、学習データの正解情報であり、いわゆる目的変数に該当する。「データ」は、学習データのデータ情報であり、いわゆる説明変数に該当する。
図4の例では、会話の意図ラベルが「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」、「会議室のプロジェクター」の流れである場合に、「会議室予約シナリオ」として学習することを示す。また、会話の意図ラベルが「パソコンを予約したい」、「機器を指定したい」、「スペックを指定したい」、「無線LANを指定したい」の流れである場合に、「パソコン予約シナリオ」として学習することを示す。
ドメインDB15は、ユーザとの対話の範囲を示すドメインに関する情報を記憶するデータベースである。すなわち、ドメインDB15は、ユーザとの対話における話題に関する情報を記憶する。図5は、ドメインDB15に記憶される情報の例を示す図である。図5に示すように、ドメインDB15は、一例として、会議室予約ドメインに属する情報と機器予約ドメインに属する情報とを記憶する。
図5の例では、会議室予約ドメインは、意図ラベルとして「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」を含む。また、意図ラベル「会議室を予約したい」には、意図データとして、「会議室を予約して」、「会議室を予約したい」、「会議室を確保したい」が含まれる。また、意図ラベル「場所を指定したい」には、意図データとして、「会議室をおねがい」、「会議室をよろしく」、「どこでもいいです」が含まれる。また、意図ラベル「日程を決めたい」には、意図データとして、「11/21でお願い」、「明後日でよろしく」、「来週火曜日空いてますか」が含まれる。
シナリオDB16は、各ドメインに含まれる対話のシナリオを記憶するデータベースである。図6は、シナリオDB16に記憶される情報の例を示す図である。図6に示すように、シナリオDB16は、「ドメイン、シナリオ」を対応付けて記憶する。ここで記憶される「ドメイン」は、ドメインDB15のドメインと同一であり、「シナリオ」は、ドメインに属する対話シナリオである。図6の例では、ドメイン「会議室予約ドメイン」には、「会議室予約シナリオ」が含まれることを示す。なお、1つのドメインには、1つ以上のシナリオが含まれる。
対話DB17は、対話装置10がユーザ発話に応答する応答内容に関する情報を記憶するデータベースである。図7は、対話DB17に記憶される情報の例を示す図である。図7に示すように、対話DB17は、「キーワード、応答内容、意図ラベル、ドメイン」を対応付けて記憶する。ここで記憶される「キーワード」は、ユーザ発話に含まれるキーワードである。「応答内容」は、ユーザ発話に対して応答する内容である。「意図ラベル」は、ユーザ発話から推定された意図ラベルである。「ドメイン」は、ユーザ発話から推定されたドメインを示す。
図7の例では、「会議室」と「予約」が含まれるユーザ発話を受け付け、意図ラベルが「会議室を予約して」と推定され、ドメインが「会議室予約ドメイン」と推定された場合は、対話装置10が「〇〇を予約します。」を応答することを示す。なお、〇〇は、実際に予約した会議室の名称等が挿入される。
なお、応答内容を特定または選択する手法は、図7に示す対話DB17に限定されるものではなく、公知の一般的な様々な手法を採用することができる。例えば、ユーザ発話と応答内容とを1対1で予め対応付けて記憶する手法、ユーザ発話に含まれるキーワードを用いて自動で応答内容を生成する手法、過去の履歴から応答内容を選択する手法などを採用することができる。
学習結果DB18は、学習結果を記憶するデータベースである。例えば、学習結果DB18は、制御部20による学習された意図推定用の学習モデルやシナリオ推定用の学習モデルを記憶する。例えば、学習結果DB18は、学習データの推定結果(分類結果)、機械学習やディープラーニングによって学習された各種パラメータを記憶する。
対話ログDB19は、ユーザ端末1と対話装置10との対話履歴を記憶するデータベースである。例えば、対話ログDB19は、ユーザ発話、対話装置10の応答内容、推定された意図ラベル、推定されたドメインやシナリオなどを対応付けて記憶する。
制御部20は、対話装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、学習部30、対話処理部40を有する。なお、学習部30、対話処理部40は、プロセッサなどの電子回路の一例やプロセッサが実行するプロセスの一例である。
学習部30は、意図学習部31とシナリオ学習部32を有し、意図推定用の学習モデルやシナリオ推定用の学習モデルを学習する処理部である。なお、学習モデルには、LSTM(Long Short-term Memory)やRNN(Recurrent Neural Network)などが用いられる。
意図学習部31は、意図用の学習データDB13に記憶される学習データを用いた教師有学習を実行して、意図推定用の学習モデルを生成する処理部である。例えば、意図学習部31は、データ「会議室を予約して」が入力された場合に、意図レベル「会議室を予約したい」が推定されるように学習モデルを学習し、データ「会議室を確保したい」が入力された場合に、意図レベル「会議室を予約したい」が推定されるように学習モデルを学習する。本実施例では、意図学習部31は、1つの入力データに対して10個の意図を推定するように、学習モデルを学習する。
なお、意図学習部31は、学習が完了すると、学習結果を学習結果DB18に格納する。また、学習を終了するタイミングは、所定数の学習データを用いた学習が終了した場合、学習データを入力したときの出力値と正解情報との誤差が所定値以下となった場合など、任意に設定することができる。
シナリオ学習部32は、シナリオ用の学習データDB14に記憶される学習データを用いた教師有学習を実行して、シナリオ推定用の学習モデルを生成する処理部である。例えば、シナリオ学習部32は、「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」、「会議室のプロジェクター」の順で意図が検出された場合に、「会議室予約シナリオ」と推定されるように学習モデルを学習する。
また、シナリオ学習部32は、シナリオ用の学習データDB14に記憶される学習データを用いた「会議室を予約したい」、「場所を指定したい」、「日程を決めたい」の意図の流れを説明変数、「会議室のプロジェクター」を目的変数として学習することで、意図の流れ(推定順)から次の意図を推定する学習モデルを生成することもできる。つまり、3つのユーザ意図から、未だ発話されていない4番目のユーザ発話の意図を推定する学習モデルを生成することもできる。例えば、シナリオ学習部32は、シナリオ用の学習データDB14に記憶される学習データの3つまでを説明変数、4つ目を目的変数として学習する。
なお、シナリオ学習部32は、学習が完了すると、学習結果を学習結果DB18に格納する。また、学習を終了するタイミングは、所定数の学習データを用いた学習が終了した場合、学習データを入力したときの出力値と正解情報との誤差が所定値以下となった場合など、任意に設定することができる。
また、本実施例では、4つの意図の流れからシナリオを推定する学習モデルの生成を例示したが、これに限定されるものではない。例えば、2つの意図の流れからシナリオを推定する学習モデルであってもよく、2つの意図の流れから推定する学習モデル、3つの意図の流れから推定する学習モデルのように、複数の学習モデルを生成することもできる。
対話処理部40は、意図推定部41、ドメイン判定部42、会話予測部43、ドメイン切替部44、応答部45を有し、ユーザ端末1との対話を実行する処理部である。具体的には、対話処理部40は、ユーザ発話から意図を推定し、推定された意図に属するドメインの範囲内で、対話を実行する。このとき、対話処理部40は、意図の流れからユーザが次に発話する意図を推定し、提案型の発話を実行する。
一方で、対話処理部40は、ユーザ発話ごとの意図の推定からドメインの正否を判定し、推定されたドメインがユーザの意図と異なる場合は、ドメインの切替を行って、ユーザ意図に沿ったドメインに切り替えて対話を実行する。このようにして、対話処理部40は、ユーザの意図に沿った対話を実現する。
意図推定部41は、ユーザ発話の内容からユーザの意図を推定する処理部である。例えば、意図推定部41は、学習結果DB18から学習結果を読み出して、学習済みの意図推定用の学習モデルを構築する。そして、意図推定部41は、ユーザ発話を検出すると、発話内容を学習済みの意図推定用の学習モデルに入力して、当該学習モデルの出力結果をとして、10個の「意図ラベル、推定精度」を取得する。
図8は、意図推定を説明する図である。図8に示すように、意図推定部41は、ユーザ発話「無線LANが使えるのを予約したいです。」を検出すると、発話内容である「無線LANが使えるのを予約したいです。」を学習済みモデルに入力する。そして、意図推定部41は、学習済みモデルの出力結果として、「会議室を予約したい、86%」、「日程を決めたい、65%」などを取得する。その後、意図推定部41は、推定結果をドメイン判定部42に出力する。
ドメイン判定部42は、対話中であるユーザ端末1との間のドメインが適切か否かを判定する処理部である。具体的には、ドメイン判定部42は、意図推定部41から推定結果を取得し、最も推定精度が高い意図ラベルを選択する。そして、ドメイン判定部42は、ドメインDB15を参照して、選択した意図ラベルに対応付けられるドメインを特定する。
その後、ドメイン判定部42は、特定したドメインが前回特定された直近のドメインと同じ場合は、会話予測部43や応答部45に応答処理を指示する。また、ドメイン判定部42は、特定したドメインが前回特定されたドメインと異なる場合は、ドメイン切替部44にドメイン切替処理を指示する。なお、ドメイン切替のタイミングは、前回と異なるドメインが特定されたタイミングや前回と異なるドメインが所定回数連続して特定されたタイミングなど任意に設定することができる。
図9は、ドメイン判定を説明する図である。図9に示すように、ドメイン判定部42は、意図推定部41の推定結果から、推定精度が最も高い意図ラベル「会議室を予約する」を特定する。続いて、ドメイン判定部42は、ドメインDB15を参照して、意図ラベル「会議室を予約する」が属するドメイン「会議室予約ドメイン」を特定する。
そして、ドメイン判定部42は、対話中のユーザ端末1との間の対話において特定されたドメインのうちの直近のドメインと、今回特定したドメイン「会議室予約ドメイン」とが一致する場合、ドメインの判定が適切と判定する(パターン1)。その後は、ドメイン「会議室予約ドメイン」の範囲内で応答処理が実行される。
一方、ドメイン判定部42は、対話中のユーザ端末1との間の対話において特定されたドメインのうちの直近のドメインと、今回特定したドメイン「会議室予約ドメイン」とが異なる場合、ドメインの判定が適切ではないと判定する(パターン2)。その後は、ドメインの切替処理が実行される。
なお、ドメイン判定部42は、今回特定したドメイン「会議室予約ドメイン」が対話の最初に特定されたドメインである場合、この対話のドメインを「会議室予約ドメイン」に決定する。その後は、ドメイン「会議室予約ドメイン」の範囲内で応答処理が実行される。
会話予測部43は、ユーザ発話の履歴から次のユーザ発話を予測し、次のユーザ発話が実行される前に、ユーザに対して提案型の発話を実行する処理部である。具体的には、会話予測部43は、ドメイン判定部42により応答処理の開始が指示されると、意図推定部41によって推定された各ユーザ発話の意図を学習済みの学習モデルに入力して、次のユーザ発話の意図を推定する。そして、会話予測部43は、推定された次のユーザ発話の意図に対応する内容を、ユーザに応答する。
図10は、会話予測を説明する図である。図10に示すように、意図推定部41によって、ユーザ発話「無線LANを使えるのを予約したいです。」の意図ラベルとして「予約したい」が推定され、ユーザ発話「1日中使いたいです。」の意図ラベルとして「場所を指定したい」が推定され、ユーザ発話「11/21でお願いします。」の意図ラベルとして「日程を決めたい」が推定されたとする。
この場合、会話予測部43は、意図ラベル「予約したい」、「場所を指定したい」、「日程を決めたい」の意図の推定順を学習モデルに入力し、推定結果として意図ラベル「会議室のプロジェクター」を取得する。つまり、会話予測部43は、学習結果を用いて、「予約したい」、「場所を指定したい」、「日程を決めたい」の発生順から次に発生する意図ラベルを「会議室のプロジェクター」と推定する。そして、会話予測部43は、推定された意図ラベル「会議室のプロジェクター」を応答部45に出力する。
その後、応答部45によって、次のユーザ発話が発生する前に、意図ラベル「会議室のプロジェクター」に対応する発話が実行される。例えば、会話予測部43は、ドメインDB15を参照し、現在の会議室予約ドメイン内で、意図ラベル「会議室のプロジェクター」と対応付けられる意図データ「プロジェクターを予約したいです。」を特定する。そして、応答部45は、意図データ「プロジェクターを予約したいです。」を誘導する内容である「プロジェクターが必要ですか」を、ユーザに対して発話する。
ドメイン切替部44は、ドメイン判定部42によって、推定されたドメインが不適切と判定された場合に、ドメインの切替を実行する処理部である。具体的には、ドメイン切替部44は、ドメインが不適切と判定された場合に、当該ドメインの推定までに得られた意図ラベルの推定結果を用いて適切なドメインの選定を実行し、ドメインの切替を実行する。
図11は、ドメイン切替を説明する図である。図11に示すように、ドメイン切替部44は、ユーザ発話1からユーザ発話3に対してドメイン「会議室予約」が推定された状態で、次のユーザ発話4に対して、ドメイン「会議室予約」とは異なるドメイン「機器予約」が推定された場合に、ドメイン切替を実行する。具体的には、ドメイン切替部44は、パターン1、パターン2、パターン3のいずれかを用いてドメイン切替を実行する。なお、パターン1は、条件1の一例であり、パターン2とパターン3は、条件2の一例である。
(パターン1)
ドメイン切替部44は、ドメイン切替の契機となったユーザ発話4の一つ前のユーザ発話3から推定された複数の意図ラベルを用いて、ドメイン切替を実行する。図11の例では、ドメイン切替部44は、ユーザ発話3から推定された10個の意図ドメインのうち、実際の応答に使用された最も推定精度が高い意図ラベル「日程を決めたい」ではなく、2番目に推定精度が高い意図ラベル「パソコンを予約したい」を特定する。そして、ドメイン切替部44は、ドメインDB15を参照し、意図ラベル「パソコンを予約したい」が属するドメインを特定し、特定したドメインに切り替える。
(パターン2)
また、ドメイン切替部44は、ドメイン切替の契機となったユーザ発話4までの各ユーザ発話の意図の流れを用いて、ドメイン切替を実行する。具体的には、ドメイン切替部44は、ユーザ発話1からユーザ発話4それぞれにおいて、最も推定精度が高い意図ラベルを学習済みのモデルに入力して、シナリオを推定する。図11の場合、ドメイン切替部44は、ユーザ発話1から推定された意図ラベル「会議室を予約したい」、ユーザ発話2から推定された意図ラベル「場所を指定したい」、ユーザ発話3から推定された意図ラベル「日程を決めたい」、ユーザ発話4から推定された意図ラベル「パソコンを予約したい」を学習済みの学習モデルに入力する。
そして、ドメイン切替部44は、推定結果としてシナリオを取得する。続いて、ドメイン切替部44は、シナリオDB16を参照して、推定されたシナリオが属するドメインを特定し、特定したドメインに切り替える。
(パターン3)
また、ドメイン切替部44は、ドメイン切替の契機となったユーザ発話4までの各ユーザ発話から推定された意図レベルを組み合わせて、ドメイン切替を実行する。図11の場合、ドメイン切替部44は、ユーザ発話1から推定された複数の意図ラベルから1つを選択し、ユーザ発話2から推定された複数の意図ラベルから1つを選択し、ユーザ発話3から推定された複数の意図ラベルから1つを選択し、ユーザ発話4から推定された複数の意図ラベルから1つを選択する。そして、ドメイン切替部44は、選択した4つの意図ラベルを学習済みの学習モデルに入力し、推定されたシナリオを取得する。
このように、ドメイン切替部44は、各ユーザ発話から推定された意図ラベルを用いて、複数の意図ラベルの組み合わせを生成し、学習済みの学習モデルを用いて、各組み合わせから推定されるシナリオおよび推定値を取得する。そして、ドメイン切替部44は、推定された複数のシナリオのうち推定精度(推定値)が最も高いシナリオを選択する。その後、ドメイン切替部44は、シナリオDB16を参照して、選択されたシナリオが属するドメインを特定し、特定したドメインに切り替える。
なお、ドメイン切替部44は、切替後のドメインを各処理部に通知する。また、ドメイン切替部44は、パターン1を実行して、ドメインが切り替わらなかった場合に、パターン2またはパターン3を実行するなど、各パターンを組み合わせることもできる。
図2に戻り、応答部45は、ユーザ発話に対する応答を実行する処理部である。具体的には、応答部45は、意図推定部41の推定結果、ドメイン判定部42の判定結果、会話予測部43の予測結果、ドメイン切替部44の切替結果に応じた内容を、応答としてユーザに発話する。
詳細には、応答部45は、ドメイン判定部42によりドメインが適切と判定され、会話予測部43により会話予測が実行されなかった場合、対話DB17などを用いて、最新のユーザ発話に対して応答する。一例を挙げると、応答部45は、「予約が完了しました。」や「了解しました」などの返事を応答する。
また、応答部45は、ドメイン判定部42によりドメインが適切と判定された場合に、それまでの推定された意図ラベルの流れを、学習済みのシナリオ推定用の学習モデルに入力する。そして、応答部45は、推定されたシナリオに沿った内容をユーザ発話に対して応答する。一例を挙げると、応答部45は、「会議室予約シナリオ」と推定された場合、プロジェクターやパソコンなどの付属機器の要否を問い合わせる内容を発話する。
また、応答部45は、ドメイン判定部42によりドメインが適切と判定され、会話予測部43により会話予測が実行された場合、予測結果にしたがった応答を実行する。例えば、応答部45は、ユーザ発話に対して意図ラベル「会議室のプロジェクター」が予測されたとする。この場合、応答部45は、ユーザ発話に対して「了解しました」などの返事を発話した後、次のユーザ発話が実行される前に、ユーザに対して、「プロジェクターが必要ですか」などの提案メッセージを発話する。
また、応答部45は、ドメイン切替部44によってドメイン切替が発生した場合、切替後のドメインが適切かをユーザに問い合わせる。例えば、応答部45は、ドメインが「会議室予約」から「機器予約」に切り替わった場合、ユーザに対して、「機器予約ですか」のメッセージを発話する。その後、応答部45は、「はい」などの肯定的なユーザ発話が検出されると、「何を予約しますか」などのように、ユーザの更なる発話を促すメッセージを発話する。一方、応答部45は、「いいえ」などの否定的なユーザ発話が検出されると、ドメイン切替部44に再度の切替処理を要求したり、「どのような用件ですか」などのように会話の意図を問い合わせるメッセージを発話したりすることができる。
[具体例]
次に、具体的な会話を用いた具体例を説明する。図12は、具体例を説明する図である。図12に示すように、ユーザは、貸出PCの予約を行うつもりで、「無線LANを使えるのを予約したいです」と発話する。対話装置10は、このユーザ発話「無線LANを使えるのを予約したいです」を意図データとして、学習済みの学習モデルに入力し、意図ラベルの推定結果を取得する。
そして、対話装置10は、推定結果のうち最も推定精度が高い意図ラベルを選択し、選択した意図ラベルが属するドメイン「会議室予約」を特定する。続いて、対話装置10は、ドメイン「会議室予約」の範囲内で応答内容「わかりました。何か条件はありますか?」を選択して発話する。
さらに、ユーザは、引き続き貸出PCの予約を行うつもりで、「1日中使いたいです。」と発話する。対話装置10は、このユーザ発話「1日中使いたいです。」を意図データとして、学習済みの学習モデルに入力し、意図ラベルの推定結果を取得する。
そして、対話装置10は、推定結果のうち最も推定精度が高い意図ラベルを選択し、選択した意図ラベルが属するドメイン「会議室予約」を特定する。続いて、対話装置10は、ドメイン「会議室予約」が前回と一致することから、ドメイン「会議室予約」の範囲内で対話を継続し、応答内容「A会議室を予約しました。プロジェクターは必要ですか?」を選択して発話する。
さらに、ユーザは、引き続き貸出PCの予約を行うつもりで、「マウスはついていますか?」と発話する。対話装置10は、このユーザ発話「マウスはついていますか?」を意図データとして、学習済みの学習モデルに入力し、意図ラベルの推定結果を取得する。
そして、対話装置10は、推定結果において、ドメイン「会議室予約」の推定精度が低いことを特定すると、今までに推定されたドメインが適切ではなかったと判定し、「すみません・・・」などの応答を発話するとともに、ドメイン切替を実行して推定結果の見直しを行う。
その後、対話装置10は、切替対象のドメインを「機器予約」と推定すると、ドメイン「機器予約」を問い合わせるメッセージとして「もしかして、パソコンの予約ですか?」などをユーザに対して発話する。このように、対話装置10は、話題の推定や話題の適用可否を迅速に実行し、適切な話題切替を実現する。
[処理の流れ]
図13は、対話処理の流れを示すフローチャートである。なお、学習部30による学習は完了しているものとする。図13に示すように、対話装置10は、ユーザから対話要求を受け付けると(S101:Yes)、チャットボットの画面などを表示して、対話を開始する(S102)。
続いて、意図推定部41は、ユーザ発話を検出すると(S103:Yes)、ユーザ発話を学習済みの学習モデルに入力して、意図(意図ラベル)を推定する(S104)。続いて、ドメイン判定部42は、推定された意図ラベルのうち、推定精度が最も高い意図ラベルを選択し、ドメインを特定する(S105)。
そして、ドメイン判定部42により特定されたドメインを維持すると判定されると(S106:Yes)、応答部45は、ユーザ発話に対する返事などの応答を発話する(S107)。続いて、会話予測部43は、現在までに推定された意図ラベルを学習済みの学習モデルに入力して会話予測を実行する(S108)。
ここで、会話が予測された場合(S109:Yes)、応答部45は、予測された内容に基づく発話を実行する(S110)。そして、ユーザにより対話終了の操作が行われた場合(S111:Yes)、対話装置10は対話を終了し、対話を継続する場合(S111:No)、対話装置10はS103以降を繰り返す。また、会話が予測されなかった場合(S109:No)、S110を実行することなく、S111が実行される。
また、S106において、ドメイン判定部42によりドメイン維持と判定されなかった場合(S106:No)、ドメイン切替部44は、これまでに推定された意図ラベルの推定結果を用いて、別のドメインを推定する(S112)。
続いて、応答部45は、ドメイン切替部44により推定された別のドメインが適切か否かを問い合わせるメッセージをユーザに発話して、ドメインの確認を実行する(S113)。
その後、ドメイン切替部44は、切替後のドメインを許容するユーザ発話を検出すると(S114:Yes)、推定された別のドメインに変更する(S115)。一方、切替後のドメインを許容しないユーザ発話が検出されると(S114:No)、現ドメインの維持や再度の切替が実行される(S116)。これらの後は、S103以降が実行される。なお、図13の処理において、処理中に対話終了の操作がユーザによって実行されると、処理順に関係なく、対話処理が終了する。
[効果]
実施例1にかかる対話装置10は、学習結果を用いることで、プッシュ型の発話を実行することができ、ユーザに対して自律的に発話を行うことができる。また、対話装置10は、ユーザ発話の繋がりを学習することができるので、ユーザとの対話の話題(ドメイン)を適切に選択することができる。
また、対話装置10は、意図の予測では精度の高い順に候補を複数提示することができ、過去(直近)の対話履歴からユーザが本当に言いたかったことを推測しなおすことができるので、自然な対話を実現することができる。この結果、対話装置10は、機械的な会話によるユーザの不信感を低減することができるので、ユーザの利便性を向上させることができる。
上記実施例1では、対話装置10が内部に記憶する情報を用いて、ユーザとの対話を実行する例を説明したが、これに限定されるものではない。例えば、対話装置10は、ユーザ発話から推定した意図レベルの結果に応じて、外部サーバや外部DBから情報を収集して応答することもできる。
図14は、外部DBとの連携を説明する図である。前提として、対話装置10は、意図ラベルと参照先の外部DBとの対応付けた連携DBを記憶する。なお、連携DBが記憶する外部DBに関する情報は、外部DBを検索可能なシステム情報の一例であり、例えばホスト名、URL(Uniform Resource Locator)、IP(Internet Protocol)アドレスなどの識別情報であり、ログインIDなどを含めることもできる。
そして、対話装置10は、対話処理の実行中に、ユーザから受け付けた第一の情報よりも後にユーザにより入力された第二の情報を受け付けると、第二の情報を含む検索条件を、特定したシステム情報により識別される検索先となりうるシステムに送信する。そして、対話装置10は、送信した検索条件に応じた検索結果を受け付けると、受け付けた検索結果をユーザに提示する。
例えば、対話装置10の意図推定部41は、ユーザからユーザ発話「試験に関する情報を知りたい」が入力されると、学習済みの学習モデルを用いて、ユーザ発話「試験に関する情報を知りたい」から意図ラベル「試験情報を知りたい」を特定する。続いて、対話装置10の応答部45は、連携DBを参照して、意図ラベル「試験情報を知りたい」に対応付けられる外部DBとして、受講情報DBを特定する。
その後、対話装置10の応答部45は、ユーザからユーザ発話「〇〇試験の申し込み日を知りたい」を受け付けると、ユーザ発話から検索キーワードとして「〇〇試験」と「申し込み日」を抽出する。そして、対話装置10の応答部45は、検索キーワードを用いて受講情報DBを検索し、検索結果として「11月30日から12月20日まで」を取得する。その後、対話装置10の応答部45は、検索結果「11月30日から12月20日まで」をユーザに対して発話する。なお、検索キーワードの抽出方法は、形態素解析で得られる単語を用いるなど、公知の様々な手法を用いることができる。
具体例を説明すると、図14に示すように、対話装置10は、ユーザ発話「申込のキャンセルをしたい」を受け付けると、学習済みの学習モデルに入力して、意図ラベル「キャンセルしたい」を推定する。すると、対話装置10の応答部45は、連携DBを参照して、意図ラベル「キャンセルしたい」に対応付けられるDB「受講情報」にアクセスしてキャンセル情報を取得し、「キャンセル期間は〇から〇までです。」を応答する。
また、対話装置10は、ユーザ発話「〇〇のキャンセル待ちの状況を教えて」を受け付けると、学習済みの学習モデルに入力して、意図ラベル「キャンセル待ちの状況を知りたい」を推定する。すると、対話装置10の応答部45は、連携DBを参照して、意図ラベル「キャンセル待ちの状況を知りたい」に対応付けられるDB「申込受付情報」にアクセスして受付情報を取得し、「12人がキャンセル待ちをしています。」を応答する。
また、対話装置10は、ユーザ発話「6月に川崎で開催される〇〇試験~」を受け付けると、学習済みの学習モデルに入力して、意図ラベル「○○試験の日程を教えて」を推定する。すると、対話装置10の応答部45は、連携DBを参照して、意図ラベル「○○試験の日程を教えて」に対応付けられるDB「日程情報」にアクセスして日程情報を取得し、「申込期間が~、試験期間が~」を応答する。
このように、対話装置10は、ユーザ意図に応じて、外部装置から情報を取得して応答することができるので、ユーザの意図や要望に適切に対応することができる。
ところで、対話装置10は、ユーザとの対話履歴から新たな学習データ(教師データ)を生成して、学習済みの学習モデルに対して再度の学習を定期的に繰り返すことで、学習モデルの推定精度を継続的に更新することができる。
図15は、意図ラベル推定の再学習を説明する図である。図15に示すように、意図推定部41は、ユーザ発話「無線LANが使えるのを予約したいです。」を検出すると学習済みの意図推定用の学習モデルを用いて、推定結果として、「会議室を予約したい、86%」、「日程を決めたい、65%」などを取得する。
この場合、意図学習部31は、ユーザ発話「無線LANが使えるのを予約したいです。」を説明変数、推定精度が最も高い意図ラベル「会議室を予約したい」を目的変数とする教師データを生成する。そして、意図学習部31は、データ「無線LANが使えるのを予約したいです。」を入力して、意図ラベル「会議室を予約したい」が出力されるように、学習済みの意図推定用の学習モデルを再度学習する。
図16は、シナリオ推定の再学習を説明する図である。図16に示すように、シナリオ学習部32は、ユーザ発話が4回実行された場合、1回目、2回目、3回目、4回目のユーザ発話それぞれから推定された推定精度が最も高い意図ラベルの組み合わせ(流れ)を説明変数とし、4回目のユーザ発話で推定されたドメインを説明変数とする教師データを生成する。
図16の場合、シナリオ学習部32は、「正解情報、データ」として「機器予約、(会議室を予約したい、場所を指定したい、日程を決めたい、パソコンを予約したい)」を生成する。そして、シナリオ学習部32は、意図ラベル「会議室を予約したい、場所を指定したい、日程を決めたい、パソコンを予約したい」の順で入力された場合に、シナリオが「機器予約」と推定されるように、シナリオ予測用の学習モデルの再学習を実行する。
なお、シナリオ学習部32は、1回目から3回目までの意図ラベルを説明変数、4回目までの意図ラベルを目的変数とする教師データを生成することもできる。例えば、シナリオ学習部32は、「正解情報、データ」として「パソコンを予約したい、(会議室を予約したい、場所を指定したい、日程を決めたい)」を生成する。そして、シナリオ学習部32は、意図ラベル「会議室を予約したい、場所を指定したい、日程を決めたい」の順で入力された場合に、4番目の意図ラベルとして「パソコンを予約したい」が推定されるように、学習済みの学習モデルの再学習を実行する。
このようにすることで、対話装置10は、ユーザとの間で実際にやり取りされた対話履歴から新たな学習データを生成して、学習済みの各学習モデルを定期的に学習して更新することができる。したがって、学術的なデータや統計的なデータのみを用いて学習する場合に比べて、より人間らしい意図を学習モデルに取り込むことができるので、人間らしい対話に近づくことができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[データや数値等]
上記実施例で用いた数値、データ例、ラベルの設定内容値、チャットボット画面の表示例、メッセージ内容等は、あくまで一例であり、任意に変更することができる。なお、意図ラベルは、カテゴリの一例であり分類できる指標であれば他の情報を用いることもできる。ドメインは、話題の一例である。また、ユーザ発話に限らず、ユーザがキーボードで入力した入力内容についても同様に処理することができる。
上述した実施例では、チャットボットを用いた例を説明したが、これに限定されるものではなく、例えば一般的なWebブラウザなどを用いることもできる。また、インターネットなどに限らず、イントラネットなども採用することができる。例えば、一般ユーザによるFAQに限らず、社内のFAQにも適用することができる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習部30と対話処理部40とを別々の装置で実現することもできる。なお、意図推定部41は、第1特定部の一例であり、ドメイン判定部42は、第1選択部の一例であり、ドメイン切替部44は、第2特定部と第2選択部の一例である。応答部45は、第1特定部、第2特定部、送信部、提示部の一例である。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図17は、ハードウェア構成例を説明する図である。図17に示すように、対話装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図17に示した各部は、バス等で相互に接続される。
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、図2に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図2に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、対話装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、学習部30と対話処理部40等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、学習部30と対話処理部40等と同様の処理を実行するプロセスを実行する。
このように対話装置10は、プログラムを読み出して実行することで対話方法を実行する情報処理装置として動作する。また、対話装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、対話装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 対話装置
11 通信部
12 記憶部
13 意図用の学習データDB
14 シナリオ用の学習データDB
15 ドメインDB
16 シナリオDB
17 対話DB
18 学習結果DB
19 対話ログDB
20 制御部
30 学習部
31 意図学習部
32 シナリオ学習部
40 対話処理部
41 意図推定部
42 ドメイン判定部
43 会話予測部
44 ドメイン切替部
45 応答部

Claims (14)

  1. ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第1の条件を満たすカテゴリとを特定し、
    特定した前記第1の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択し、
    前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第2の条件を満たすカテゴリとを特定し、
    特定した前記第2の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する、
    処理をコンピュータが実行することを特徴とする対話制御方法。
  2. 前記情報から前記カテゴリを推定するように学習された第1の学習モデルを用いて、前記ユーザにより入力された情報から複数のカテゴリを取得し、
    取得された前記複数のカテゴリのうち推定精度が最も高いカテゴリを選択し、
    選択された前記カテゴリが属する話題に応じた内容を、前記ユーザに対して応答する、処理を前記コンピュータが実行する請求項1に記載の対話制御方法。
  3. 選択された前記カテゴリが属する前記話題が直近の話題と異なる場合に妥当な話題ではないと判定し、
    前記第1の学習モデルによる取得された前記複数のカテゴリのうち、2番目に推定精度が高いカテゴリを、前記第2の条件を満たすカテゴリと特定し、
    特定された前記カテゴリが属する話題を、前記他の話題として選択する、処理を前記コンピュータが実行することを特徴とする請求項2に記載の対話制御方法。
  4. 選択された前記カテゴリが属する前記話題が直近の話題と異なる場合に妥当な話題ではないと判定し、
    カテゴリの推定順から対話シナリオを推定するように学習された第2の学習モデルを用いて、妥当ではないと判定された前記話題までに入力された情報ごとの各カテゴリから対話シナリオを推定し、
    推定された前記対話シナリオが属する話題を、前記他の話題として選択する、処理を前記コンピュータが実行することを特徴とする請求項2に記載の対話制御方法。
  5. 前記第一の話題が妥当である場合、前記カテゴリの推定順から次に入力される情報のカテゴリを推定するように学習された第3の学習モデルを用いて、前記話題までに入力された情報ごとの各カテゴリから前記次のカテゴリを推定し、
    推定された前記次のカテゴリに対応する内容を前記ユーザに応答する、処理を前記コンピュータが実行することを特徴とする請求項1に記載の対話制御方法。
  6. 前記第一の話題が妥当である場合、前記第1の条件を満たすカテゴリにしたがって、前記コンピュータとは異なる外部装置から情報を取得して、前記ユーザに応答する、処理を前記コンピュータが実行することを特徴とする請求項1に記載の対話制御方法。
  7. 前記ユーザが実際に入力した情報を説明変数とし、当該情報から推定された前記推定精度が最も高いカテゴリを目的変数とする学習データを生成し、
    生成した前記学習データを用いて、前記第1の学習モデルの再学習を実行する、処理を前記コンピュータが実行することを特徴とする請求項2に記載の対話制御方法。
  8. 前記ユーザが実際に入力した情報から推定された複数のカテゴリの推定順を説明変数とし、前記複数のカテゴリに対応する応答を行った後にユーザが実際に入力した情報のカテゴリを目的変数とする学習データを生成し、
    生成した前記学習データを用いて、前記第3の学習モデルの再学習を実行する、処理を前記コンピュータが実行することを特徴とする請求項5に記載の対話制御方法。
  9. ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第1の条件を満たすカテゴリとを特定し、
    特定した前記第1の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択し、
    前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第2の条件を満たすカテゴリとを特定し、
    特定した前記第2の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する、
    処理をコンピュータに実行させることを特徴とする対話制御プログラム。
  10. ユーザにより入力された複数の情報それぞれについて、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第1の条件を満たすカテゴリとを特定する第1特定部と、
    特定した前記第1の条件を満たすカテゴリに基づき、複数の話題から前記ユーザとの対話に用いる何れかの話題である第一の話題を選択する第1選択部と、
    前記第一の話題に基づいた対話処理が実行された後、前記第一の話題が妥当でないと判断した場合、前記複数の情報に含まれる少なくとも何れかの情報について、該情報の推定カテゴリである複数のカテゴリと、該複数のカテゴリのうち、第2の条件を満たすカテゴリとを特定する第2特定部と、
    特定した前記第2の条件を満たすカテゴリに基づき、前記複数の話題から前記ユーザとの対話に用いる他の話題を選択する第2選択部と
    を有することを特徴とする対話制御装置。
  11. ユーザにより入力された情報を受け付けると、前記情報に基づき、複数の話題から何れかの話題を選択し、
    前記何れかの話題に基づいた対話処理が実行された後、前記ユーザにより入力された新たな情報を受け付けると、前記新たな情報に基づき、前記何れかの話題が妥当であるか否かの判定を行い、
    前記何れかの話題が妥当ではないと判断した場合、前記新たな情報に基づき、前記複数の話題から他の話題を選択し、
    前記ユーザが意図する対話内容が、前記他の話題に応じた内容に関するかどうかを確認する問い掛けを実行する、
    処理をコンピュータが実行することを特徴とする対話制御方法。
  12. ユーザにより入力された情報を受け付けると、前記情報に基づき、複数の話題から何れかの話題を選択する選択部と、
    前記何れかの話題に基づいた対話処理が実行された後、前記ユーザにより入力された新たな情報を受け付けると、前記新たな情報に基づき、前記何れかの話題が妥当であるか否かの判定を行う判定部と、
    前記何れかの話題が妥当ではないと判断した場合、前記新たな情報に基づき、前記複数の話題から他の話題を選択する選択部と、
    前記ユーザが意図する対話内容が、前記他の話題に応じた内容に関するかどうかを確認する問い掛けを実行する対話実行部と、
    を有することを特徴とする対話制御装置。
  13. 対話処理の実行中に、ユーザにより入力された第一の情報を受け付けると、前記第一の情報のカテゴリを特定し、
    検索先となりうるシステムを識別するシステム情報をカテゴリに対応付けて記憶する記憶部を参照して、特定した前記カテゴリに対応付けられたシステム情報を特定し、
    前記対話処理の実行中に、前記第一の情報よりも後に前記ユーザにより入力された第二の情報を受け付けると、前記第二の情報を含む検索条件を、特定した前記システム情報により識別される検索先となりうるシステムに送信し、
    送信した前記検索条件に応じた検索結果を受け付けると、受け付けた前記検索結果を前記ユーザに提示する、
    処理をコンピュータが実行することを特徴とする情報提示方法。
  14. 対話処理の実行中に、ユーザにより入力された第一の情報を受け付けると、前記第一の情報のカテゴリを特定する第1特定部と、
    検索先となりうるシステムを識別するシステム情報をカテゴリに対応付けて記憶する記憶部を参照して、特定した前記カテゴリに対応付けられたシステム情報を特定する第2特定部と、
    前記対話処理の実行中に、前記第一の情報よりも後に前記ユーザにより入力された第二の情報を受け付けると、前記第二の情報を含む検索条件を、特定した前記システム情報により識別される検索先となりうるシステムに送信する送信部と、
    送信した前記検索条件に応じた検索結果を受け付けると、受け付けた前記検索結果を前記ユーザに提示する提示部と、
    を有することを特徴とする情報提示装置。
JP2018225898A 2018-11-30 2018-11-30 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置 Active JP7115265B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018225898A JP7115265B2 (ja) 2018-11-30 2018-11-30 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置
US16/687,965 US11675979B2 (en) 2018-11-30 2019-11-19 Interaction control system and interaction control method using machine learning model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018225898A JP7115265B2 (ja) 2018-11-30 2018-11-30 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置

Publications (2)

Publication Number Publication Date
JP2020087352A JP2020087352A (ja) 2020-06-04
JP7115265B2 true JP7115265B2 (ja) 2022-08-09

Family

ID=70848756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018225898A Active JP7115265B2 (ja) 2018-11-30 2018-11-30 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置

Country Status (2)

Country Link
US (1) US11675979B2 (ja)
JP (1) JP7115265B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102271068B1 (ko) * 2019-05-29 2021-06-30 주식회사 카카오 입력 발화의 의도를 추정하는 모델의 학습을 제어하는 방법 및 장치
WO2021074725A1 (en) * 2019-10-18 2021-04-22 Carrier Corporation Method and system for switching the premises
US12283145B2 (en) 2019-10-18 2025-04-22 Honeywell International Inc. Method and an apparatus for switching premises
US10841251B1 (en) * 2020-02-11 2020-11-17 Moveworks, Inc. Multi-domain chatbot
US11514897B2 (en) * 2020-09-25 2022-11-29 Genesys Telecommunications Laboratories, Inc. Systems and methods relating to bot authoring by mining intents from natural language conversations
KR102263656B1 (ko) * 2021-02-26 2021-06-11 주식회사 델타엑스 답변을 유도하는 대화 시스템 및 대화 방법
WO2022270603A1 (en) * 2021-06-23 2022-12-29 Hishab Japan Company Limited A system and method for delivering domain or use-case switch suggestion for an ongoing conversation
US11881217B2 (en) * 2021-06-30 2024-01-23 International Business Machines Corporation Solution guided response generation for dialog systems
US11677692B2 (en) * 2021-09-15 2023-06-13 International Business Machines Corporation Conversational systems content related to external events
US12367344B2 (en) * 2023-04-26 2025-07-22 Adobe Inc. Curricular next conversation prediction pretraining for transcript segmentation
WO2025004190A1 (ja) * 2023-06-27 2025-01-02 日本電信電話株式会社 インテント抽出装置、インテント抽出方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007079397A (ja) 2005-09-16 2007-03-29 Nippon Telegr & Teleph Corp <Ntt> 対話方法、対話装置、対話プログラムおよび記録媒体
JP2017125921A (ja) 2016-01-13 2017-07-20 日本電信電話株式会社 発話選択装置、方法、及びプログラム
JP6370962B1 (ja) 2017-05-12 2018-08-08 ヤフー株式会社 生成装置、生成方法および生成プログラム
JP2018151786A (ja) 2017-03-10 2018-09-27 ヤフー株式会社 分類装置、分類方法および分類プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121457A (ja) 1982-01-14 1983-07-19 Nec Corp 情報処理装置
US8126865B1 (en) * 2003-12-31 2012-02-28 Google Inc. Systems and methods for syndicating and hosting customized news content
GB0411377D0 (en) * 2004-05-21 2004-06-23 Univ Belfast Dialogue manager
JP4353212B2 (ja) 2006-07-20 2009-10-28 株式会社デンソー 単語列認識装置
KR100955776B1 (ko) 2006-12-27 2010-04-30 엔에이치엔(주) 검색 시스템 및 방법
JP4795309B2 (ja) 2007-07-02 2011-10-19 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP4625058B2 (ja) 2007-08-15 2011-02-02 ヤフー株式会社 仮想空間放送装置
JP5228529B2 (ja) 2008-02-26 2013-07-03 富士通株式会社 データ検索プログラム、データ検索装置およびデータ検索方法
WO2013042116A1 (en) * 2011-09-19 2013-03-28 Personetics Technologies Ltd. Advanced system and method for automated-context-aware-dialog with human users
JP5845200B2 (ja) 2012-06-25 2016-01-20 株式会社コナミデジタルエンタテインメント メッセージ閲覧システム、サーバ、端末装置、制御方法およびプログラム
JP6066471B2 (ja) * 2012-10-12 2017-01-25 本田技研工業株式会社 対話システム及び対話システム向け発話の判別方法
JP2014102626A (ja) 2012-11-19 2014-06-05 Ipros Corp レコメンド装置、プログラム、および方法
US10282419B2 (en) * 2012-12-12 2019-05-07 Nuance Communications, Inc. Multi-domain natural language processing architecture
JP6529761B2 (ja) 2012-12-28 2019-06-12 株式会社ユニバーサルエンターテインメント 話題提供システム、及び会話制御端末装置
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
JP6324433B2 (ja) 2016-04-26 2018-05-16 ヤフー株式会社 配信装置、配信方法および配信プログラム
JP6218057B1 (ja) 2017-07-14 2017-10-25 Jeインターナショナル株式会社 自動応答サーバー装置、端末装置、応答システム、応答方法、およびプログラム
US10453454B2 (en) * 2017-10-26 2019-10-22 Hitachi, Ltd. Dialog system with self-learning natural language understanding
US10762903B1 (en) * 2017-11-07 2020-09-01 Amazon Technologies, Inc. Conversational recovery for voice user interface
US10733982B2 (en) * 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10741176B2 (en) * 2018-01-31 2020-08-11 International Business Machines Corporation Customizing responses to users in automated dialogue systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007079397A (ja) 2005-09-16 2007-03-29 Nippon Telegr & Teleph Corp <Ntt> 対話方法、対話装置、対話プログラムおよび記録媒体
JP2017125921A (ja) 2016-01-13 2017-07-20 日本電信電話株式会社 発話選択装置、方法、及びプログラム
JP2018151786A (ja) 2017-03-10 2018-09-27 ヤフー株式会社 分類装置、分類方法および分類プログラム
JP6370962B1 (ja) 2017-05-12 2018-08-08 ヤフー株式会社 生成装置、生成方法および生成プログラム

Also Published As

Publication number Publication date
US20200175117A1 (en) 2020-06-04
US11675979B2 (en) 2023-06-13
JP2020087352A (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
JP7115265B2 (ja) 対話制御方法、対話制御プログラム、対話制御装置、情報提示方法および情報提示装置
US12008325B2 (en) Context-based natural language processing
KR102373905B1 (ko) 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축
JP6942841B2 (ja) ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成
KR102337820B1 (ko) 사용자 프로그래머블 자동화 어시스턴트
JP6947852B2 (ja) 複数のコンピューティングデバイスを使用したインターホン式の通信
US10546067B2 (en) Platform for creating customizable dialog system engines
EP3513324B1 (en) Computerized natural language query intent dispatching
JP6317111B2 (ja) ハイブリッド型クライアントサーバ音声認識
JP4155854B2 (ja) 対話制御システム及び方法
US10326863B2 (en) Speed and accuracy of computers when resolving client queries by using graph database model
JP2019503526A5 (ja)
US9369425B2 (en) Email and instant messaging agent for dialog system
CN110288995B (zh) 基于语音识别的交互方法、装置、存储介质和电子设备
CN110574104A (zh) 自动助理数据流
CN112767916B (zh) 智能语音设备的语音交互方法、装置、设备、介质及产品
CN115424624A (zh) 一种人机互动的服务处理方法、装置及相关设备
US20160098994A1 (en) Cross-platform dialog system
TW202028992A (zh) 語音查詢系統、語音查詢處理方法、智慧型揚聲器運用伺服器裝置、及程式
US20240321267A1 (en) A system and method for delivering domain or use-case switch suggestion for an ongoing conversation
EP3451189B1 (en) A system and method for user query recognition
JP2024542175A (ja) 口頭の発話を完了するための継続的なコンテンツの選択的生成および/または選択的レンダリング
CN110517675B (zh) 基于语音识别的交互方法、装置、存储介质和电子设备
Griol et al. Processing and fusioning multiple heterogeneous information sources in multimodal dialog systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220711

R150 Certificate of patent or registration of utility model

Ref document number: 7115265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150