JP7000096B2 - 対話処理装置および対話処理システム - Google Patents

対話処理装置および対話処理システム Download PDF

Info

Publication number
JP7000096B2
JP7000096B2 JP2017187858A JP2017187858A JP7000096B2 JP 7000096 B2 JP7000096 B2 JP 7000096B2 JP 2017187858 A JP2017187858 A JP 2017187858A JP 2017187858 A JP2017187858 A JP 2017187858A JP 7000096 B2 JP7000096 B2 JP 7000096B2
Authority
JP
Japan
Prior art keywords
dialogue
item
information
candidate
user
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
JP2017187858A
Other languages
English (en)
Other versions
JP2019061620A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2017187858A priority Critical patent/JP7000096B2/ja
Priority to CN201880058572.1A priority patent/CN111095237B/zh
Priority to PCT/JP2018/035497 priority patent/WO2019065647A1/ja
Publication of JP2019061620A publication Critical patent/JP2019061620A/ja
Priority to US16/811,197 priority patent/US10896074B2/en
Application granted granted Critical
Publication of JP7000096B2 publication Critical patent/JP7000096B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

本発明の実施形態は、対話処理装置および対話処理システムに関する。
従来、対話シナリオに基づいてユーザとの対話を行う対話処理装置が知られている。この種の対話処理装置は、対話シナリオの作り込みによって目的に応じた対話処理を実現できるが、様々な対話のバリエーションに柔軟に対応するためには、必要とされる対話シナリオの量が膨大になる。また、対話シナリオは、一般的に、所定の目的を達成するための一連の対話の流れに沿って個別に作成されるため、作成された対話シナリオに汎用性を持たせることが難しい。このため、対話処理を実現するための対話シナリオの作り込みに多大な労力を要するという問題があり、より簡便な構成で所定の目的を達成するための対話処理を実現できる仕組みが望まれている。
特開2007-264198号公報
本発明が解決しようとする課題は、簡便な構成で所定の目的を達成するための対話処理を実現できる対話処理装置および対話処理システムを提供することである。
実施形態の対話処理装置は、ユーザとの対話を通じて、所定の動作を実行するための1又は複数の項目の情報を獲得する対話処理装置であって、前記1又は複数の項目に対応する1又は複数の項目別処理部と、前記1又は複数の項目別処理部と連携してユーザとの対話を制御する対話制御部と、を備える。前記対話制御部は、ユーザの入力に応じた入力情報を前記1又は複数の項目別処理部の各々に送る。前記1又は複数の項目別処理部の各々は、前記対話制御部から受け取った前記入力情報から自身が獲得すべき情報の候補を抽出して、抽出した候補を該候補が獲得すべき情報であることの確からしさの度合いを示す情報とともに前記対話制御部に送る。前記対話制御部は、前記1又は複数の項目別処理部の各々から受け取った候補のうち、前記確からしさの度合いが第1基準を満たす候補を、該候補を送った項目別処理部に対応する項目の情報として確定し、情報が未確定の項目があれば、該項目の情報を問い合わせる応答をユーザに対して出力する。前記1又は複数の項目別処理部の各々は、獲得すべき情報の型に応じた対話知識に基づいて前記候補の抽出および前記確からしさの度合いの算出を行う基本ルールを有する汎用処理部に対して、対応する項目の項目名と自身の動作を決定付ける動作パラメータとが与えられることにより構築される。
図1は、第1実施形態に係る対話処理装置の機能的な構成例を示すブロック図である。 図2は、スロットテーブルの一例を示す図である。 図3は、テーブル情報の一例を示す図である。 図4は、項目別処理部の詳細を説明する図である。 図5は、項目別処理部の詳細を説明する図である。 図6は、項目別処理部の詳細を説明する図である。 図7は、項目別処理部の詳細を説明する図である。 図8は、対話制御部の詳細を説明する図である。 図9は、対話処理装置の動作例を説明する図である。 図10は、対話制御部による処理手順の一例を示すフローチャートである。 図11は、項目別処理部による処理手順の一例を示すフローチャートである。 図12は、第2実施形態に係る対話処理システムの概要を示すブロック図である。 図13は、複数の項目別処理部を階層構造とした構成例を説明する図である。 図14は、第1実施形態に係る対話処理装置や第2実施形態に係る対話処理システムのハードウェア構成例を示すブロック図である。
以下、実施形態の対話処理装置および対話処理システムについて、図面を参照して詳細に説明する。
<実施形態の概要>
本実施形態の対話処理装置は、ユーザが明確な目的をもって利用する目的達成型の対話処理装置であり、ユーザとの対話を通じて、その目的に応じた所定の動作を実行するための1又は複数の項目の情報を獲得する。例えば、目的が「商談記録」であれば、「訪問日時」、「訪問先」、「次回予定日」、「特記事項」などの各項目の情報を、ユーザとの対話を通じて獲得する。また、目的が「宿泊予約」であれば、「チェックイン予定日時」、「チェックアウト予定日時」、「宿泊人数」、「宿泊プラン」などの各項目の情報、目的がカーナビゲーションシステムの「経路探索」であれば、「目的地」、「有料道路利用の有無」などの各項目の情報が、それぞれ獲得すべき情報となる。なお、以下では獲得すべき情報が複数の項目の情報であるものとして説明するが、獲得すべき情報が1つの項目の情報であってもよい。
本実施形態の対話処理装置は、目的に応じた所定の動作を実行するために、スロットテーブルを用いる。スロットテーブルは、複数の項目の各々に対応する複数のスロットを有する。各スロットには、対話を通じて獲得される情報(項目値)が入力される。スロットテーブルのすべてのスロットが埋まると、そのスロットテーブルに基づいて、目的に応じた所定の動作が実行される。目的に応じた所定の動作は、例えば、目的が「商談記録」であれば商談記録をデータベースに登録するという動作である。また、目的が「宿泊予約」であれば宿泊予約クエリの実行、目的が「経路探索」であれば現在地から目的地までの経路の探索処理といった動作が、それぞれ目的に応じた所定の動作である。なお、スロットテーブルのすべてのスロットが埋まっていなくとも、所定の動作を実行するために必要な項目に対応するスロットが埋まった段階で所定の動作を実行してもよい。
本実施形態では、上述のスロットテーブルの各スロットに対応する複数の項目ごとに、その項目の情報を獲得するための処理を個別に行う小パーツ(本実施形態ではこれを「項目別処理部」と呼ぶ)を設け、複数の項目に対応する複数の項目別処理部を組み合わせて対話処理を実現することを基本とする。本実施形態の対話処理装置は、これら複数の項目別処理部と、これら複数の項目別処理部と連携してユーザとの対話を制御する対話制御部とを備えて構成される。対話制御部は、上述のスロットテーブルの各スロットに情報が入力されるように、複数の項目別処理部と連携しながらユーザとの対話を制御する。
本実施形態の対話処理装置が獲得すべき各項目の情報は、その項目の属性に応じた型に分類できる。例えば上述の「商談記録」を目的とする例において、項目が「訪問日時」や「次回予定日」であれば、獲得すべき情報は日時であるため日時型であり、項目が「訪問先」であれば、獲得すべき情報はいくつかの選択肢の中から選ばれる社名等であるため選択肢型である。また、項目が「特記事項」であれば、獲得すべき情報は特に制限のない任意の情報となるため自由記述型である。これらの情報を獲得するための処理は、その情報の型に応じてある程度一般化できる。そこで本実施形態では、獲得すべき情報の型に応じた汎用的な処理を定義した汎用処理部を型ごとに事前に用意しておき、これら汎用処理部をカスタマイズして上述の項目別処理部を構築する。
本実施形態では、以上のように、獲得すべき情報の型ごとに事前に用意された汎用処理部をカスタマイズして複数の項目別処理部を構築し、これら複数の項目別処理部を組み合わせて対話処理装置を構築する。したがって、従来の対話シナリオに基づいて対話処理を行う対話処理装置のように、達成すべき目的に応じた大量の対話シナリオを作り込むといった煩雑な作業を行うことなく適切な対話処理が可能となり、簡便な構成で所定の目的を達成するための対話処理を実現できる。以下では、達成すべき目的が「商談記録」である場合を例に挙げて、本実施形態の対話処理装置の具体的な構成例および動作を説明する。
<第1実施形態>
図1は、第1実施形態に係る対話処理装置10の機能的な構成例を示すブロック図である。本実施形態の対話処理装置10は、図1に示すように、対話制御部11と複数の項目別処理部12A,12B,12C,12D(以下、これらを特に区別しない場合は「項目別処理部12」と表記する)との組み合わせを、ユーザ50との間の対話処理を実現するための基本ユニットとして備える。この対話処理装置10は、スロットテーブル16の各スロットに入力する情報を獲得するために、ユーザ50との間の対話処理を行う。
スロットテーブル16の一例を図2に示す。スロットテーブル16は、図2に示すように、項目番号(図中の01,02,03,04)により識別される複数のスロット17A,17B,17C,17D(以下、これらを特に区別しない場合は「スロット17」と表記する)を有する。これら複数のスロット17は、達成すべき目的に応じた複数の項目に対応する。本実施形態では、達成すべき目的が「商談記録」であり、商談記録をデータベースに登録するために必要とされる情報は「訪問日時」、「訪問先」、「次回予定日」および「特記事項」の各項目の情報であるとする。このため、「訪問日時」の情報が入力される項目番号01のスロット17Aと、「訪問先」の情報が入力される項目番号02のスロット17Bと、「次回予定日」の情報が入力される項目番号03のスロット17Cと、「特記事項」の情報が入力される項目番号04のスロット17Dとを有するスロットテーブル16が作成される。
スロットテーブル16は、ユーザ50との間の対話処理を開始する際に作成され、ユーザとの対話を通じて獲得された情報が随時入力される。そして、すべてのスロット17が埋まると目的に応じた所定の動作が実行され、そのスロットテーブル16は削除される。つまり、スロットテーブル16は、ユーザ50との間で目的を達成するための一連の対話処理を行うたびに作成される一時的なテーブルである。このスロットテーブル16は、対話処理装置10の内部に永続的に保持されたテーブル情報に基づいて作成される。ここではスロットテーブル16について、対話処理装置10の内部に永続的に保持されたテーブル情報に基づいて都度作成する仕組みで説明したが、これに限らず、作成したスロットテーブル16を削除せずテーブル形式で保持するようにしてもよい。
テーブル情報18の一例を図3に示す。テーブル情報18は、図3に示すように、目的に応じた所定の動作を実行するために情報を獲得すべき複数の項目ごとに、項目番号と、情報の型と、項目名とを定義した情報である。図3に示すテーブル情報18は、図2に示すスロットテーブル16の各スロット17に入力される情報を決定付ける。すなわち、スロットテーブル16の項目番号01で識別されるスロット17Aには、項目名が「訪問日時」の項目の情報として日時型の情報が入力され、項目番号02で識別されるスロット17Bには、項目名が「訪問先」の項目の情報として選択肢型の情報が入力され、項目番号03で識別されるスロット17Cには、項目名が「次回予定日」の項目の情報として日時型の情報が入力され、項目番号04で識別されるスロット17Dには、項目名が「特記事項」の項目の情報として自由記述型の情報が入力されることが、図3に示すテーブル情報18に基づいて決定される。
上述のテーブル情報18は、例えば、目的に応じた対話処理装置10を構築する際に装置構築者によって入力され、対話処理装置10の内部に永続的に保持される。そして、ユーザ50との間の対話処理を開始する際に、このテーブル情報18を参照してスロットテーブル16が作成される。また、テーブル情報18は、複数の項目に対応する複数の項目別処理部12を構築するための情報としても用いられる。さらに、対話制御部11が後述のようにユーザ50に対して応答を出力する場合にも、このテーブル情報18が参照される。
対話制御部11は、複数の項目別処理部12と連携してユーザ50との対話を制御する。対話制御部11は、各々独立して動作する複数の項目別処理部12を取りまとめ、ユーザ50の入力に応じた入力テキストから、スロットテーブル16の各スロット17に入力する情報を獲得する役割を持つ。
具体的には、対話制御部11は、ユーザ50の入力を受け取って、ユーザ50の入力に応じた入力情報を複数の項目別処理部12の各々に送る。以下では、入力情報がテキスト(入力テキスト)であるものとして説明するが、これに限らない。ユーザ50の入力に応じた入力情報がテキストの場合、ユーザ50の入力はマイクにより取得された音声であってもよいし、キーボードなどで入力されたテキストであってもよい。ユーザ50の入力がテキストであれば、対話制御部11は、ユーザ50が入力したテキストをそのまま入力テキストとして複数の項目別処理部12の各々に送る。ユーザ50の入力が音声の場合、対話制御部11は、この音声を音声認識処理によりテキストに変換し、得られたテキストを入力テキストとして複数の項目別処理部12の各々に送る。なお、ユーザ50が入力した音声に対する音声認識処理を対話制御部11の外部で行い、音声から変換されたテキストを対話制御部11が受け取る構成であってもよい。音声認識処理は公知技術を利用すればよいため、詳細な説明を省略する。
その後、対話制御部11は、複数の項目別処理部12の各々から送られる後述の候補およびスコアを受け取る。そして、スコアが第1閾値以上の候補(第1基準を満たす候補)があれば、その候補を、その候補を送った項目別処理部12に対応する項目の情報として確定し、スロットテーブル16の対応する項目のスロット17に入力する。例えば、項目名が「訪問日時」の項目に対応する項目別処理部12Aから送られた候補のスコアが第1閾値以上であれば、対話制御部11は、項目別処理部12Aから送られた候補を、項目名が「訪問日時」の項目の情報として確定し、スロットテーブル16のスロット17Aに入力する。なお、スコアはその候補が獲得すべき情報であることの確からしさの度合いを示す情報の一例であり、スコア以外の情報を用いてもよい。例えば、スコアのような数値化された情報に限らず、その候補が獲得すべき情報であることの確からしさの度合いを示すラベル(例えば、「確実」、「あいまい」、「非該当」などのラベル)などを用いることもできる。この場合、ラベルが「確実」の候補は第1基準を満たす候補となり、ラベルが「あいまい」の候補は第1基準を満たさず、且つ、第2基準を満たす候補となる。
また、対話制御部11は、スロットテーブル16に情報が入力されていないスロット17がある場合、つまり、スロット17に入力する情報が未確定の項目がある場合に、その項目の情報を問い合わせる応答をユーザ50に対して出力する。例えば、ユーザ50の入力がテキストであれば、対話制御部11は、未確定の項目の情報を問い合わせる応答テキストを生成し、この応答テキストをユーザ50が使用する表示装置に表示させる。また、ユーザ50の入力が音声であれば、対話制御部11は、生成した応答テキストを音声合成処理により音声に変換し、得られた音声をユーザ50が使用するスピーカから出力させる。なお、応答テキストに対する音声合成処理を対話制御部11の外部で行い、ユーザ50が使用するスピーカから出力させる構成であってもよい。音声合成処理は公知技術を利用すればよいため、詳細な説明を省略する。
未確定の項目の情報を問い合わせる応答テキストは、例えば、「xxxは何ですか?」といったベースとなる汎用の応答テキストを用意しておき、「xxx」の部分に情報が未確定の項目名を挿入することで生成することができる。例えば、項目名が「次回予定日」の項目の情報が未確定であれば、ベースとなる応答テキストに「次回予定日」を挿入することで、「次回予定日は何ですか?」といった応答テキストを生成することができる。また、例えば「xxxはいつですか?」といった日時型に特有のベースとなる応答テキストを個別に用意しておき、問い合わせる情報が日時型であれば、その応答テキストを選択して項目名を挿入し、「次回予定日はいつですか?」といった応答テキストを生成するようにしてもよい。情報が未確定の項目が複数ある場合には、対話制御部11は、例えば項目番号が小さい項目から順に、その項目の情報を問い合わせる応答をユーザ50に出力すればよい。
また、対話制御部11は、複数の項目別処理部12のいずれかから、スコアが第1閾値未満で、且つ、第2閾値以上の候補(第1基準を満たさず、且つ、第2基準を満たす候補)を受け取った場合は(ただし、第1閾値>第2閾値)、その候補が正しいか否かを問い合わせる応答をユーザ50に対して出力する。この場合の応答テキストは、例えば、「xxxはyyyですか?」といったベースとなる汎用の応答テキストを用意しておき、「xxx」の部分に問い合わせの対象となる項目名を挿入し、「yyy」の部分に問い合わせの対象となる候補を挿入することで生成することができる。例えば、項目名が「訪問先」の項目に対応する項目別処理部12Bから受け取った候補が「山下工業」であり、その候補のスコアが第1閾値未満で、且つ、第2閾値以上であった場合、ベースとなる応答テキストに「訪問先」と「山下工業」を挿入することで、「訪問先は山下工業ですか?」といった応答テキストを生成することができる。
項目別処理部12から受け取った候補が正しいか否かを問い合わせる応答をユーザ50に対して出力した場合、対話制御部11は、ユーザ50からの次の入力に応じた入力テキストが例えば「はい」、「そうです」といった肯定表現を含む場合、問い合わせの対象とした候補を、問い合わせの対象とした項目に対応する情報として確定し、スロットテーブル16の対応する項目のスロット17に入力する。一方、ユーザ50からの次の入力に応じた入力テキストが例えば「いいえ」、「違います」といった否定表現を含む場合、あるいは肯定表現も否定表現も含まない場合は、対話制御部11は、その入力テキストを問い合わせの対象とした項目に対応する項目別処理部12に送り、この項目別処理部12から候補およびそのスコアが再度送られてくるのを待つ。なお、入力テキストを問い合わせの対象とした項目に対応する項目別処理部12だけでなく、全ての項目別処理部12に入力テキストを送ってもよい。また、対話制御部11は、複数の項目別処理部12からスコアが第1閾値未満で、且つ、第2閾値以上の候補が送られてきた場合には、例えば項目番号が小さい項目から順に、候補が正しいか否かを問い合わせる応答をユーザ50に出力すればよい。
対話制御部11は、スロットテーブル16の全てのスロット17が埋まるまで以上の処理を繰り返し、スロットテーブル16の全てのスロット17が埋まると、スロットテーブル16の各スロット17に入力された情報を用いて、目的に応じた所定の動作を実行する。本実施形態では、達成すべき目的が「商談記録」であるため、スロットテーブル16のスロット17Aに入力された「訪問日時」の情報と、スロット17Bに入力された「訪問先」の情報と、スロット17Cに入力された「次回予定日」の情報と、スロット17Dに入力された「特記事項」の情報とが、1つの商談記録として、データベースに登録される。なお、対話制御部11はスロットテーブル16の各スロット17に情報を入力する処理までを行い、目的に応じた所定の動作は、対話制御部11とは別のユニットが、スロットテーブル16の各スロット17に入力された情報に基づいて実行する構成であってもよい。
複数の項目別処理部12は、それぞれ、対話制御部11から送られた入力テキストを受け取り、その入力テキストから自身が獲得すべき情報の候補を抽出して、抽出した候補をその候補が獲得すべき情報であることの確からしさを示すスコアとともに、対話制御部11に送る。これら項目別処理部12は、上述のように、情報の型ごとに事前に用意された汎用処理部のうち、自身が獲得すべき情報の型に対応する汎用処理部をカスタマイズすることで構築される。汎用処理部は、獲得すべき情報の型に応じた対話知識に基づいて候補の抽出およびスコアの算出を行う基本ルールを有し、項目名と項目別処理部12の動作を決定づける動作パラメータとが与えられることによって、項目別処理部12として機能する。
図4は、項目名が「訪問日時」の項目に対応する項目別処理部12Aの詳細を説明する図である。項目別処理部12Aは、図4に示すように、日時型汎用処理部20Aに対して、項目名22Aと動作パラメータ23Aとが与えられることにより構築される。日時型汎用処理部20Aは、日時型の情報に対応する汎用処理部である。項目名22Aは「訪問日時」であり、動作パラメータ23Aは、項目別処理部12Aが獲得すべき情報が過去の日時である訪問日時であるため、「過去の日時」という情報獲得の条件である。
日時型汎用処理部20Aは、対話知識21Aに基づいて、入力テキストから日時を表していると推定される部分を候補として抽出し、抽出した各候補が日時を表している確からしさを示すスコアを候補ごとに算出し、スコアが最も高い候補をスコアとともに出力する。対話知識21Aは、日時型汎用処理部20Aの動作フローやスコア算出のルール、日時を表す文字列のリスト、日時を表す文字列を所定形式の数値の列に変換するルールなどを含む。例えば、入力テキストに「今日の15時」という文字列が含まれている場合、日時型汎用処理部20Aは対話知識21Aに基づき、「今日の15時」という文字列を「2017/06/26 15:00」といった所定形式の数値の列に変換する。また、対話知識21Aは、入力テキストに日時を表す文字列が項目名22Aとともに含まれている場合は、その文字列(候補)のスコアを最大にするといったルールが含まれていてもよい。
また、スコアの算出は、予め定めたスコア算出ルールに従って行うことができる。例えば、入力テキストに項目名22Aの一部が含まれている場合にベーススコアとして0.7を与え、更に動作パラメータ23Aに該当する場合、項目名22Aの全てが含まれる場合にそれぞれ、ベーススコアに0.1を加算するといった算出ルールに従ってスコアを算出する。例えば「今日の15時にxxにyyを紹介しました。」が入力されると、「今日の15時」が項目名22Aの一部の日時に該当するのでベーススコアとして0.7が与えられる。また、「紹介しました」という過去についての入力のため、「今日の15時」は過去の日時を指し、動作パラメータ23Aに該当するため0.1が加算され、スコアは0.8となる。一方、「訪問日時は今日の15時で・・・」や「今日の15時にxxを訪問しました。」など、入力テキストに項目名22Aの全てが含まれている場合はさらに0.1が加算されるため、スコアは0.9となる。
なお、入力テキストに項目名22Aが含まれておらず、動作パラメータ23Aにも該当しない場合は、スコアをゼロとするのではなく、入力テキストの文字列から項目名22A、動作パラメータ23Aに設定された情報との類似度などからスコアを算出する。その場合、ベーススコアより低いスコアを設定することが望ましい。
日時型汎用処理部20Aは、項目名22Aと動作パラメータ23Aとが与えられることにより、「訪問日時」の情報を獲得するための項目別処理部12Aとしてカスタマイズされる。項目別処理部12Aは、動作パラメータ23Aとして与えられた「過去の日時」を情報獲得の条件として、入力テキストから「訪問日時」の候補を抽出し、その候補が「訪問日時」である確からしさを表すスコアを算出し、スコアが最も高い候補をスコアとともに対話制御部11に送る。
図5は、項目名が「訪問先」の項目に対応する項目別処理部12Bの詳細を説明する図である。項目別処理部12Bは、図5に示すように、選択肢型汎用処理部20Bに対して、項目名22Bと動作パラメータ23Bとが与えられることにより構築される。選択肢型汎用処理部20Bは、選択肢型の情報に対応する汎用処理部である。項目名22Bは「訪問先」であり、動作パラメータ23Bは、項目別処理部12Bが獲得すべき情報がいくつかの選択肢の中から選ばれる社名等であるため、例えば「東京商事、海山建設、山田工業・・・」といった選択肢である。
選択肢型汎用処理部20Bは、対話知識21Bに基づいて、入力テキストから動作パラメータ23Bとして与えられる選択肢のいずれかに一致すると推定される部分を候補として抽出し、抽出した各候補がその選択肢を表している確からしさを示すスコアを候補ごとに算出し、スコアが最も高い候補をスコアとともに出力する。対話知識21Bは、選択肢型汎用処理部20Bの動作フローやスコア算出のルールなどを含む。また、対話知識21Bは、入力テキストに動作パラメータ23Bとして与えられた選択肢のいずれかに一致すると推定される文字列が項目名22Bとともに含まれている場合は、その文字列(候補)のスコアを最大にするといったルールが含まれていてもよい。
また、選択肢型汎用処理部20Bは、入力テキストが読みの情報を含む場合(例えば、ユーザ50から入力された音声に対する音声認識処理によって得られる読みの情報が入力テキストに付加される場合)、動作パラメータ23Bとして与えられる選択肢に読みの情報を付加しておき、入力テキストに含まれる読みの情報と選択肢の読みの情報とのマッチングにより、入力テキストから候補を抽出するようにしてもよい。
また、スコアの算出は、予め定めたスコア算出ルールに従って行うことができる。例えば日時型の場合と同様に、入力テキストが項目名22Bや動作パラメータ23Bを含むか否かに応じて算出することができる。例えば、動作パラメータ23Bを含む場合にベーススコア(0.7)を与え、項目名22Bも含む場合はスコアを加算する算出ルールとする。また、上述の読みの情報を用いたマッチングの結果をスコアに反映させることも可能であり、その場合、読みの情報の類似度に応じてスコアをプラスするようにするとよい。例えば、ユーザ50が「訪問先は海山商事」や「海山商事を訪問しました」と発話し、認識結果も全て正しい場合は項目名の「訪問先」、項目名の一部である「訪問」が含まれているためスコアを加算(+0.1)する。更に、動作パラメータ23Bに設定されている選択肢である「海山商事」を含むため、更にスコアを加算(+0.2)する。動作パラメータ23Bとの関係におけるスコア評価は、例えば、選択肢との対象文字列の一致、読みの情報の類似度、項目名との距離などに基づき評価することができる。評価(スコアのプラス値)は適宜設定可能である。
選択肢型の場合も、日時型の場合と同様、入力テキストが項目名22B、動作パラメータ23Bに該当しない場合は、スコアをゼロとするのではなく、例えば、入力テキストの読みの情報の一部のみが項目名22Bや動作パラメータ23Bに設定された情報と類似する場合など、一部の情報に基づき、項目名22B、動作パラメータ23Bに設定された情報との関係からスコアを算出できるようにする。その場合、ベーススコアより低いスコアを設定することが望ましい。後述する自由記述型汎用処理部20Dにおいても同様の考え方により、入力テキストが項目名、動作パラメータに該当しない場合におけるスコアを算出することが可能である。
選択肢型汎用処理部20Bは、項目名22Bと動作パラメータ23Bとが与えられることにより、「訪問先」の情報を獲得するための項目別処理部12Bとしてカスタマイズされる。項目別処理部12Bは、入力テキストから、動作パラメータ23Bとして与えられた選択肢のいずれかに一致すると推定される文字列を「訪問先」の候補として抽出し、その候補が「訪問先」である確からしさを表すスコアを算出し、スコアが最も高い候補をスコアとともに対話制御部11に送る。
図6は、項目名が「次回予定日」の項目に対応する項目別処理部12Cの詳細を説明する図である。項目別処理部12Cは、図6に示すように、日時型汎用処理部20Aに対して、項目名22Cと動作パラメータ23Cとが与えられることにより構築される。項目名22Cは「次回予定日」であり、動作パラメータ23Cは、項目別処理部12Cが獲得すべき情報が将来の日時である次回予定日であるため、「将来の日時」という情報獲得の条件である。
項目別処理部12Cに用いる日時型汎用処理部20Aは、上述の項目別処理部12Aに用いた日時型汎用処理部20Aと共通であり、入力テキストから日時を表していると推定される部分を候補として抽出し、抽出した各候補が日時を表している確からしさを示すスコアを候補ごとに算出し、スコアが最も高い候補をスコアとともに出力する。この日時型汎用処理部20Aは、項目名22Cと動作パラメータ23Cとが与えられることにより、「次回訪問日」の情報を獲得するための項目別処理部12Cとしてカスタマイズされる。項目別処理部12Cは、動作パラメータ23Cとして与えられた「将来の日時」を情報獲得の条件として、入力テキストから「次回予定日」の候補を抽出し、その候補が「次回予定日」である確からしさを表すスコアを算出し、スコアが最も高い候補をスコアとともに対話制御部11に送る。
図7は、項目名が「特記事項」の項目に対応する項目別処理部12Dの詳細を説明する図である。項目別処理部12Dは、図7に示すように、自由記述型汎用処理部20Dに対して、項目名22Dと動作パラメータ23Dとが与えられることにより構築される。自由記述型汎用処理部20Dは、自由記述型の情報に対応する汎用処理部である。項目名22Dは「特記事項」であり、動作パラメータ23Dは、「商談記録」に関する専門用語などを定義したユーザ辞書や、「特記事項」に対応するスロット17Dに入力する情報の文字数制限などである。
自由記述型汎用処理部20Dは、対話知識21Dに基づいて、入力テキストから項目名に対応するスロット17に入力する情報の候補を抽出し、抽出した候補が項目名に対応するスロット17に入力する情報である確からしさを示すスコアを算出し、候補をスコアとともに出力する。対話知識21Dは、自由記述型汎用処理部20Dの動作フローやスコア算出のルール、入力テキストに項目名が含まれていればその項目名の後に続く文字列を候補として抽出してスコアを最大化するといったルールなどを含む。
また、スコアの算出は、予め定めたスコア算出ルールに従って行うことができる。例えば、項目名22Dを含むか否かに応じてスコアを算出することができる。また、項目名22Dを含む場合にベーススコアを与え、入力テキスト中の項目名の出現位置によりスコアを加算するといった算出ルールに従って算出することができる。例えば入力テキストが「xxxxxx、特記事項はyyy」の場合、途中に「特記事項」とあるので「特記事項」以下の「yyy」の部分を自由記述内容として抽出して、ベーススコア(0.6)を与える。また、入力テキストが「特記事項はyyy」のように、先頭に項目名がある場合はスコアを加算(+0.2)する。さらに自由記述型の場合も日時型や選択肢型と同様に、読みの情報をスコアに反映させることも可能であり、表記は一致していなくても読みの情報が類似していれば項目名22Dを含むものとして、ベーススコアを与えるようにしてもよい。
自由記述型汎用処理部20Dは、項目名22Dと動作パラメータ23Dとが与えられることにより、「特記事項」の情報を獲得するための項目別処理部12Dとしてカスタマイズされる。項目別処理部12Dは、入力テキストから、動作パラメータ23Dとして与えられたユーザ辞書を用いて文字数制限を超えない文字列を候補として抽出し、その候補が「特記事項」である確からしさを表すスコアを算出して、候補をスコアとともに対話制御部11に送る。
以上のように、本実施形態の対話処理装置10が備える複数の項目別処理部12は、それぞれ、自身が獲得すべき情報の型に対応する汎用処理部に対して、項目名および動作パラメータが与えられることで構築される。汎用処理部は、情報の型に応じて事前に用意されたものを利用する。したがって、本実施形態の対話処理装置10を構築する際には、目的に応じた所定の動作を実行するために必要な項目ごとに、その情報の型に応じた汎用処理部を選択して項目名と動作パラメータを与えて項目別処理部12を構築し、複数の項目別処理部12を取りまとめる対話制御部11を設けるだけで、適切な対話処理が可能な対話処理装置10を構築できる。
なお、本実施形態では、達成すべき目的が「商談記録」である場合を想定するため、汎用処理部として日時型の情報に対応する日時型汎用処理部20A、選択肢型の情報に対応する選択肢型汎用処理部20Bおよび自由記述型の情報に対応する自由記述型汎用処理部20Dを例示した。しかし、様々な情報の型に応じた汎用処理部を事前に用意しておくことで、様々な目的に応じた項目ごとの情報を獲得する項目別処理部を容易に構築できる。
例えば、数値型の情報に対応する汎用処理部を事前に用意し、この汎用処理部に対して項目名として「宿泊予約」、動作パラメータとして「単位(人)、有効桁、上限下限」などを与えることで、「宿泊予約」の目的を達成するために必要な「宿泊人数」の情報を獲得する項目別処理部を構築できる。また、住所型の情報に対応する汎用処理部を事前に用意し、この汎用処理部に対して項目名として「目的地」、動作パラメータとして「住所データ、地図データ」などを与えれば、「経路探索」の目的を達成するために必要な「目的地」の情報を獲得する項目別処理部を構築できる。
また、上述の対話制御部11に対しても項目別処理部12と同様の仕組みを適用し、複数の項目別処理部12を取りまとめる基本ルールを有する汎用対話制御部をカスタマイズすることで、対話制御部11を構築するようにしてもよい。図8は、このように構築される対話制御部11の詳細を説明する図である。この対話制御部11は、図8に示すように、汎用対話制御部30に対して動作パラメータ32が与えられることにより構築される。
汎用対話制御部30は、対話知識31に基づき、ユーザ50との対話を制御する。対話知識31は、入力テキストを各項目別処理部12に送って候補をスコアとともに受け取り、スコアが第1閾値以上の候補をスロットテーブル16の該当するスロット17に入力するといった動作フロー、ユーザとの対話のルール、ユーザ50への応答に用いる上述のベースとなる汎用の応答テキストなどを含む。この汎用対話制御部30は、動作パラメータ32が与えられることにより、対話処理装置10が達成すべき目的に応じた対話制御部11にカスタマイズされる。動作パラメータ32は、例えば、スロットテーブル16の各スロット17に対応する項目名や、全てのスロット17が埋まった場合に実行する動作などである。
本実施形態の対話処理装置10では、ユーザ50との対話の履歴が対話履歴蓄積部13に蓄積される。対話履歴蓄積部13に蓄積された対話履歴は、例えば、項目別処理部12の対話知識21A,21B,21D(以下、これらを特に区別しない場合は「対話知識21」と表記する)を更新するために利用することができる。本実施形態の対話処理装置10は、対話履歴を用いて対話知識21を更新する更新部14を備える。
更新部14は、対話履歴蓄積部13に蓄積された対話履歴に基づいて、複数の項目別処理部12のいずれかに対応する項目の情報として確定すべき情報を確定できなかった事象を検出し、該情報を該項目の情報として確定できるように、該項目に対応する項目別処理部12の対話知識21を更新する。具体的には、例えば対話履歴蓄積部13に蓄積された対話履歴を、対話処理装置10の運用を管理する管理者に対して閲覧可能に提示する。管理者は対話履歴を確認して、入力テキストに含まれるある項目の情報が確定されずにユーザ50に対して問い合わせを行っている場合に、その情報と項目名を対話処理装置10に入力する。更新部14は、この管理者からの入力をもとに上述の事象を検出し、管理者から入力された情報が管理者から入力された項目名の項目別処理部12において適切に獲得されるように、その項目別処理部12の対話知識21を更新する。
また、更新部14は、対話履歴蓄積部13に蓄積された対話履歴から、対話制御部11がユーザ50に対して出力した、スコアが第1閾値未満で、且つ、第2閾値以上の候補が正しいか否かを問い合わせる応答と、その後の肯定表現を含む入力テキストの組み合わせの対話パターンを上述の事象として検出し、その対話パターンに含まれる候補のスコアが第1閾値以上となるように、その候補を対話制御部11に送った項目別処理部12の対話知識21を更新してもよい。
本実施形態の対話処理装置10では、対話制御部11が、調整可能な制御パラメータに従ってユーザ50との対話を制御することができる。ここで、ユーザ50との対話を制御する制御パラメータとは、例えば、応答テキストの言葉づかい(親密、丁寧など)や、応答テキストを音声合成して出力する場合の合成音の声質やスピードなどである。こうした制御パラメータをユーザ50の属性(年齢、性別など)に応じて適宜調整することで、ユーザ50にとって満足度の高い対話を実現することができる。本実施形態の対話処理装置10は、対話制御部11がユーザ50との対話を制御する制御パラメータを調整するパラメータ調整部15を備える。
パラメータ調整部15は、ユーザ50の属性を取得して、取得した属性に応じて上述の制御パラメータを調整する。ユーザ50の属性は、例えば、ユーザ50による明示的な指定(例えば年齢や性別の入力)を受け付けることで取得できる。あるいは、ユーザ50の顔画像をカメラで撮影し、この顔画像を解析してユーザ50の属性を推定するようにしてもよい。また、ユーザ50との対話履歴を解析してユーザ50の大まかな性格(厳格、気さくなど)を推定し、これをユーザ50の属性に含めてもよい。ユーザ50の属性に応じた制御パラメータの値は、例えば、様々な属性のユーザ50を対象として制御パラメータの値を変えながら対話処理を行ったときのユーザ50の満足度などを収集して統計処理することにより、最適な値を決めることができる。
次に、以上のように構成される本実施形態の対話処理装置10の動作について説明する。図9は、本実施形態の対話処理装置10の動作例を説明する図であり、ユーザ50が「今日の15時に東京商事に行きました」という入力を行った場合の対話処理装置10の動作例を示している。
対話制御部11は、ユーザ50の入力を受け取り、「今日の15時に東京商事を訪問しました」という入力テキストを複数の項目別処理部12の各々に送る(1)。複数の項目別処理部12のうち、項目名が「訪問日時」の項目に対応する項目別処理部12Aは、対話制御部11から受け取った「今日の15時に東京商事を訪問しました」という入力テキストから「今日の15時」を抽出して「2017/06/26 15:00」に変換する。スコアとしては、入力テキストが項目名22Aの「訪問」を含むとともに、「訪問しました」といった過去の日時を示しており、動作パラメータ23Aとして与えられた過去の日時という条件に合致するため、算出ルールに基づきベーススコア0.7に0.2が加算された0.9という高い値が算出される。このように、「今日の15時に東京商事を訪問しました。」から抽出された「今日の15時」のスコアは0.9となり、この「今日の15時」を変換した候補「2017/06/26 15:00」とともに、スコア0.9を対話制御部11に送る(2A)。なお、ここではスコアの値域が0~1.0であり、第1閾値は0.9、第2閾値は0.7であるものとする。
また、複数の項目別処理部12のうち、項目名が「訪問先」の項目に対応する項目別処理部12Bは、対話制御部11から受け取った「今日の15時に東京商事に行きました」という入力テキストから「訪問」、「東京商事」を抽出し、スコアを算出する。「訪問」は項目名22Bと一致するためスコアが0.8、「東京商事」は動作パラメータ23Bとして与えられた選択肢に含まれるため、スコアとして0.9という高い値が算出される。この場合、項目別処理部12は「東京商事」を候補としてスコア:0.9とともに対話制御部11に送る(2B)。
また、複数の項目別処理部12のうち、項目名が「次回予定日」の項目に対応する項目別処理部12Cは、対話制御部11から受け取った「今日の15時に東京商事を訪問しました」という入力テキストから「今日の15時」を抽出して「2017/06/26 15:00」に変換し、これを候補としてスコア:0.45とともに対話制御部11に送る(2C)。「今日の15時」は動作パラメータ23Cとして与えられた将来の日時という条件に合致しないため、スコアは0.45という比較的低い値となっている。
また、複数の項目別処理部12のうち、項目名が「特記事項」の項目に対応する項目別処理部12Dは、対話制御部11から受け取った「今日の15時に東京商事を訪問しました」という入力テキストをそのまま候補として抽出し、スコア:0.12とともに対話制御部11に送る(2D)。この候補は「特記事項」という項目名の後に続く文字列ではないため、スコアは0.12という低い値となっている。
複数の項目別処理部12の各々から候補とスコアを受け取った対話制御部11は、スコアが第1閾値以上の候補を、その候補を送った項目別処理部12に対応する項目の情報として確定し、スロットテーブル16の対応する項目のスロット17に入力する(3)。本例では、項目別処理部12Aから送られた「2017/06/26 15:00」のスコアが0.95であり、項目別処理部12Bから送られた「東京商事」のスコアが0.92である。このため対話制御部11は、「2017/06/26 15:00」を「訪問日時」の情報、「東京商事」を「訪問先」の情報として確定し、スロットテーブル16の「訪問日時」に対応するスロット17Aに「2017/06/26 15:00」を入力し、「訪問先」に対応するスロット17Bに「東京商事」を入力する。
なお、スコアが第1閾値未満で、且つ、第2閾値以上の候補を受け取った場合、対話制御部11は、その候補が正しいか否かを問い合わせる応答をユーザ50に対して出力するが、本例では、このような候補を受け取っていないため、候補が正しいか否かを問い合わせる応答は行わない。
次に、対話制御部11は、スロットテーブル16の全てのスロット17が埋まったか否かを確認し、情報が未入力のスロット17があれば、そのスロット17に入力する情報を問い合わせる応答をユーザ50に対して出力する(4)。本例では、「次回予定日」に対応するスロット17Cと「特記事項」に対応するスロット17Dが未入力であるため、項目番号が小さいスロット17Cに入力する「次回予定日」の情報を問い合わせる「次回予定日は何ですか?」といった応答を、ユーザ50に対して出力する。
本実施形態の対話処理装置10は、スロットテーブル16の全てのスロット17が埋まるまで以上の動作を繰り返し、ユーザ50との対話を通じて各項目の情報を獲得してスロットテーブル16の各スロット17に入力していく。そして、全てのスロット17が埋まると、対話制御部11が、スロットテーブル16に基づいて「商談記録」などの目的に応じた動作を実行する。
図10は、対話制御部11による処理手順の一例を示すフローチャートであり、ユーザ50からの入力を受け取るたびに対話制御部11が実行する処理の流れを示している。
対話制御部11は、ユーザ50からの入力を受け取ると、まず、その入力に応じた入力テキストを複数の項目別処理部12の各々に送る(ステップS101)。そして、対話制御部11は、各項目別処理部12から候補とスコアを受け取る(ステップS102)。
次に、対話制御部11は、各項目別処理部12から受け取った候補の中に、スコアが第1閾値以上の候補があるか否かを判定する(ステップS103)。そして、スコアが第1閾値以上の候補があれば(ステップS103:Yes)、その候補をスロットテーブル16の対応するスロット17に入力する(ステップS104)。一方、スコアが第1閾値以上の候補がなければ(ステップS103:No)、ステップS104の処理は行わずに次のステップS105に進む。
次に、対話制御部11は、各項目別処理部12から受け取った候補の中に、スコアが第1閾値未満で、且つ、第2閾値以上の候補があるか否かを判定する(ステップS105)。そして、スコアが第1閾値未満で、且つ、第2閾値以上の候補があれば(ステップS105:Yes)、対話制御部11は、その候補が正しいか否かを問い合わせる応答をユーザ50に対して出力し(ステップS106)、一連の処理を終了する。
一方、スコアが第1閾値未満で、且つ、第2閾値以上の候補がなければ(ステップS105:No)、対話制御部11は、スロットテーブル16の全てのスロット17が埋まったか否かを判定する(ステップS107)。そして、情報が入力されていないスロットがあれば(ステップS107:No)、対話制御部11は、その未確定のスロット17に入力する情報を問い合わせる応答をユーザ50に対して出力し(ステップS108)、一連の処理を終了する。一方、スロットテーブル16の全てのスロット17が埋まったら(ステップS107:Yes)、対話制御部11は、スロットテーブル16の各スロット17に入力された情報を用いて目的に応じた所定の動作を実行し(ステップS109)、一連の処理を終了する。
図11は、項目別処理部12による処理手順の一例を示すフローチャートであり、対話制御部11から入力テキストが送られるたびに項目別処理部12が実行する処理の流れを示している。
項目別処理部12は、対話制御部11から送られた入力テキストを受け取ると(ステップS201)、その入力テキストから候補の抽出とスコア算出を行う(ステップS202)。次に、項目別処理部12は、ステップS202で抽出した候補と、その候補に対して算出したスコアとともに対話制御部11に送って(ステップS203)、一連の処理を終了する。なお、項目別処理部12は、入力テキストを所定単位の文字列などの部分テキストに分割して処理してもよい。その場合、分割の方法としては、例えば入力テキストを意味解析して意味のまとまりを単位として入力テキストを区切るといった方法を用いることができる。また、分割の方法は獲得すべき情報の型に応じて異なっていてもよく、上述の対話知識21に分割のルールを含めた構成としてもよい。スコアの算出は分割した各部分テキスト対して行い、算出したスコアが最も高い部分テキストを候補とし、その候補をスコアとともに対話制御部11に送るようにするとよい。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の対話処理装置10は、情報の型ごとに事前に用意された汎用処理部をカスタマイズすることで構築された複数の項目別処理部12と、これら複数の項目別処理部12を取りまとめる対話制御部11との組み合わせにより、達成すべき目的に応じた対話処理を実現するようにしている。したがって、従来の対話シナリオに基づいて対話処理を行う対話処理装置のように、達成すべき目的に応じた大量の対話シナリオを作り込むといった煩雑な作業を行うことなく適切な対話処理が可能となり、簡便な構成で所定の目的を達成するための対話処理を実現できる。
また、本実施形態の対話処理装置10は、対話制御部11が入力テキストを複数の項目別処理部12の全てに送り、項目ごとの情報を獲得するための処理は複数の項目別処理部12の各々が独立して行う構成としているので、ユーザ50の1回の入力から複数の項目の情報を同時に獲得することができる。つまり、従来技術ではユーザ50の1回の入力から1つの項目の情報しか獲得できなかったが、本実施形態ではユーザ50の1回の入力から複数の項目の情報を獲得することができ、効率のよい対話を実現することができる。
(第1変形例)
なお、以上の説明では、項目別処理部12から送られた候補のスコアが第1閾値未満で、且つ、第2閾値以上の場合に、その候補が正しいか否かをユーザ50に問い合わせるための応答テキストを対話制御部11が作成するものとしたが、その候補を送った項目別処理部12が応答テキストを作成してもよい。この場合、項目別処理部12は、入力テキストから抽出した候補のスコアが第1閾値未満で、且つ、第2閾値以上の場合、その候補とスコアを対話制御部11に送る代わりに、その候補が正しいか否かを問い合わせる応答テキストを対話制御部11に送る。対話制御部11は、いずれかの項目別処理部12から応答テキストを受け取った場合、その応答テキスト、あるいは、音声合成処理によりその応答テキストから変換された合成音をユーザ50に対して出力する。
(第2変形例)
また、以上の説明では、スコアが第1閾値未満で、且つ、第2閾値以上の候補のみを対象として、その候補が正しいか否かをユーザ50に問い合わせるものとしたが、問い合わせの頻度をユーザ50が指定できるようにしてもよい。例えば、対話処理装置10の動作モードとして、「標準モード」と「確実モード」を設け、ユーザ50により「標準モード」が選択された場合は、上述の例と同様にスコアが第1閾値未満で、且つ、第2閾値以上の候補のみを対象として、その候補が正しいか否かをユーザ50に問い合わせるようにし、ユーザ50により「確実モード」が選択された場合は、スコアが第2閾値以上の全ての候補を対象として、その候補が正しいか否かをユーザ50に問い合わせるようにしてもよい。また、対話処理装置10の動作モードとしてさらに「簡易モード」を追加し、ユーザ50により「簡易モード」が選択された場合は、ユーザ50に対する問い合わせを行わずに、スコアが第1閾値未満で、且つ、第2閾値以上の候補を対応する項目の情報として確定するようにしてもよい。また、ユーザ50により「確実モード」が選択された場合は第1閾値の値を下げ、ユーザ50により「簡易モード」が選択された場合は第2閾値の値を上げるといったように、ユーザ50により選択された動作モードに応じてスコアに対する閾値を変化させる構成としてもよい。また、最後に入力された内容がこれでよいかを確認するモードや、選択したモードに関係なく、最終的に確定する内容に対して確認する仕組みを設けてもよい。
(第3変形例)
また、本実施形態の対話処理装置10は、スロットテーブル16の各スロット17に入力する情報を獲得するための複数の項目別処理部12だけでなく、ユーザ50との対話を円滑に進めるための対話処理部を備えた構成としてもよい。例えば、ユーザ50との対話処理の開始時に挨拶の応答を行う対話処理部を備えていてもよい。このような対話処理部は、項目別処理部12と同様の仕組みで構築することもできる。すなわち、例えば一問一答型の汎用処理部に対して、様々な挨拶のパターンを示す動作パラメータを与えることで、ユーザ50との対話処理の開始時に挨拶の応答を行う対話処理部を構築することができる。
<第2実施形態>
次に、第2実施形態について説明する。本実施形態は、達成すべき目的が互いに異なる複数の対話処理装置10を組み合わせて、多目的型の対話処理システムを構築した例である。
図12は、第2実施形態に係る対話処理システム100の概要を示すブロック図である。対話処理システム100は、図12に示すように、複数の対話処理装置10A,10B,10C(以下、これらを特に区別しない場合は「対話処理装置10」と表記する)と、選択部40とを備える。複数の対話処理装置10は、それぞれ上述の第1実施形態の対話処理装置10と同様の構成であるが、達成すべき目的(目的に応じて実行する所定の動作)が互いに異なっている。本実施形態では、対話処理装置10Aは「商談記録」を目的として構築され、対話処理装置10Bは「新規顧客登録」を目的として構築され、対話処理装置10Cは「受注記録」を目的として構築されたものとする。
選択部40は、ユーザ50の入力に応じた入力テキストに基づいて、ユーザ50が目的とする所定の動作を判断し、複数の対話処理装置10の中からユーザ50との対話を行う対話処理装置10を選択する。例えば、ユーザ50の入力に応じた入力テキストに「商談記録」に特有の文字列が含まれている場合、選択部40は、ユーザ50の目的が「商談記録」であると判断し、ユーザ50との対話を行う対話処理装置10として、「商談記録」に対応する対話処理装置10Aを選択する。また、ユーザ50の入力に応じた入力テキストに「新規顧客登録」に特有の文字列が含まれている場合、選択部40は、ユーザ50の目的が「新規顧客登録」であると判断し、ユーザ50との対話を行う対話処理装置10として、「新規顧客登録」に対応する対話処理装置10Bを選択する。また、ユーザ50の入力に応じた入力テキストに「受注記録」に特有の文字列が含まれている場合、選択部40は、ユーザ50の目的が「受注記録」であると判断し、ユーザ50との対話を行う対話処理装置10として、「受注記録」に対応する対話処理装置10Cを選択する。
また、選択部40は、入力テキストに基づいてユーザ50が目的とする所定の動作を判断できない場合(例えば、入力テキストに対話処理装置10の目的を表す文字列が含まれていない場合)は、全ての対話処理装置10の対話制御部11を介して各項目別処理部12に入力テキストを送り、各項目別処理部12においてスコアが算出されるようにする。各対話処理装置10の対話制御部11は、項目別処理部12から送られたスコアから最も高いスコアを選択して選択部40に送る。そして、選択部40は、各対話処理装置10の対話制御部11から送られたスコアに基づき、入力テキストを処理する対話処理装置10を選択するようにするとよい。例えば、入力テキストが「15時にxxを訪問しました」である場合、この入力テキストには「商談」、「新規顧客」、「受注」などの文字列は含まれないため、この入力テキストを処理すべき対話処理装置10を判断できない。そのため、各対話処理装置10に対して入力テキストを送って各項目別処理部12でのスコアの算出結果に基づき、例えば「商談記録」を目的とする対話処理装置10から「訪問先:xx」のスコア0.85が送られ、他の対話処理装置10からそれ以上のスコアが送られてこなければ、ユーザ50が目的とする所定の動作は「商談記録」であると推定し、入力テキストを処理する対話処理装置10として「商談記録」を目的とする対話処理装置10を選択する。また、この場合、選択部40からユーザ50に対して、「商談記録の入力でよろしいですか?」「訪問日時がxxx、訪問先がxxでよろしいですか?」といった問い合わせの処理を行うようにしてもよい。
以上のように、本実施形態の対話処理システム100は、達成すべき目的が互いに異なる複数の対話処理装置10を組み合わせて構築され、各対話処理装置10は上述の第1実施形態と同様の構成であるため、第1実施形態の対話処理装置10と同様に、大量の対話シナリオを作り込むといった煩雑な作業を行うことなく、簡便な構成で多目的の対話処理を適切に実現することができる。
<その他の変形例>
なお、上述の各実施形態および変形例では、複数の項目別処理部12と対話制御部11との組み合わせにより対話処理装置10が構成され、複数の対話処理装置10と選択部40との組み合わせにより対話処理システム100が構成されるものとして説明したが、対話処理装置10や対話処理システム100の構成としては様々なバリエーションが考えられる。例えば、上述の項目別処理部12、対話処理装置10、対話処理システム100をそれぞれ部品(以下では、項目別処理部12を「小エージェント」、対話処理装置10を「中エージェント」、対話処理システム100を「大エージェント」とする)として捉え、これら小エージェント、中エージェント、大エージェントの様々な組み合わせにより、階層数も含め様々な構成とすることができる。
また、上述の各実施形態および変形例では、簡単な対話シナリオを例に説明したが、小エージェント、中エージェント、大エージェントの組み合わせにより、膨大な量のシナリオ作成や様々な対話のバリエーションにも対応可能である。例えば、上述の各実施形態および変形例では、中エージェントは複数の小エージェントから構成されるものとして説明しているが、目的を達成するための対話の単位に応じて、中エージェントを複数の小エージェントから構成する場合のみならず、大エージェント、中エージェント、小エージェントそれぞれ単一のエージェントの組み合わせとして実現してもよいし、ユーザ50からの入力を小エージェントのみで処理する構成としてもよい。また、複数の小エージェントを、小エージェント群αとこの小エージェント群αのうちのいずれかにつながる小エージェント群βといったように階層で構成するなど、エージェントを自由に組み合わせて対話目的を達成する構成とすることができる。また、上述の大エージェント、中エージェント、小エージェントの組み合わせのみならず、各エージェントと他の仕組みで生成された既存の対話シナリオとのインタフェースを設けることで、各エージェントと既存の対話シナリオとを組み合わせることも可能である。
以下に、様々な構成のバリエーションの簡単な具体例を示す。例えば、対話目的があいさつの場合は、ユーザ50からの入力テキスト(こんにちは)に対してエージェントは同じく「こんにちは」を返答することで対話目的が達成されるため、ユーザ50からの入力情報を処理するエージェントして小エージェント(第1階層のみ)で構成することができる。続いて、宿泊予約が対話目的の場合を考える。この場合は、例えば「宿泊プランを聞き出す」という目的の中エージェントを設定することで実現できるが、図9に示すような中エージェント、複数の小エージェントの構成のみで細かな宿泊プラン(例えば値段や条件(禁煙、風呂付など)など)を聞き出すことができない場合もある。このような場合は、例えば図13に示すように、階層構造の小エージェント(項目別処理部12)群α,βを利用することで対応するこができる。小エージェント群αの中の1つがプランを選択させるための小エージェントとし、当該小エージェントから「値段と条件(禁煙、風呂付)のご希望は?」といった応答をすることで、再度、中エージェントを介してユーザ50から選択プランに対する回答が得られ、小エージェント群βの中の小エージェントで選択されたプランを確定情報として処理することで実現できる。このように対話目的に応じて、様々なエージェントの組み合わせにより様々な目的に応じた対話処理を実現することが可能となる。
<補足説明>
上述の第1実施形態に係る対話処理装置10や第2実施形態に係る対話処理システム100は、例えば、一般的なコンピュータを構成するハードウェアと、コンピュータで実行されるプログラム(ソフトウェア)との協働により実現することができる。例えば、コンピュータが所定のプログラムを実行することによって、上述の対話制御部11、項目別処理部12A~12D、更新部14、パラメータ調整部15などの対話処理装置10を構成する機能的な構成要素や、対話処理装置10A~10Cおよび選択部40などの対話処理システム100を構成する機能的な構成要素を実現することができる。また、コンピュータが備える大容量記憶装置を用いて、上述の対話履歴蓄積部13などを実現することができる。
図14は、上述の第1実施形態に係る対話処理装置10や第2実施形態に係る対話処理システム100のハードウェア構成例を示すブロック図である。対話処理装置10や対話処理システム100は、例えば図14に示すように、CPU101などのハードウェアプロセッサ(プロセッサ回路)と、RAM102やROM103などの記憶装置と、SSD104などの大容量記憶装置と、ネットワークを介して外部と通信を行う通信I/F105と、周辺機器を接続するための機器I/F106と、を備えた一般的なコンピュータとしてのハードウェア構成を用いて実現できる。
このとき、上記のプログラムは、例えば、磁気ディスク、光ディスク、半導体メモリ、またはこれに類する記録媒体に記録されて提供される。プログラムを記録する記録媒体は、コンピュータシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。また、上記プログラムを、コンピュータに予めインストールするように構成してもよいし、ネットワークを介して配布される上記のプログラムをコンピュータに適宜インストールするように構成してもよい。
上記のコンピュータで実行されるプログラムは、上述の対話制御部11、項目別処理部12A~12D、更新部14、パラメータ調整部15などの各部、あるいは、対話処理装置10A~10Cおよび選択部40などの各部を含むモジュール構成となっており、プロセッサがこのプログラムを適宜読み出して実行することにより、上述した各部がRAM102などの主記憶上に生成されるようになっている。
なお、上述の第1実施形態に係る対話処理装置10や第2実施形態に係る対話処理システム100は、上述した機能的な各部の一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアにより実現する構成であってもよい。
また、上述の第1実施形態に係る対話処理装置10や第2実施形態に係る対話処理システム100は、複数台のコンピュータを通信可能に接続したネットワークシステムとして構成し、上述した各部を複数台のコンピュータに分散して実現する構成であってもよい。また、上述の第1実施形態に係る対話処理装置10や第2実施形態に係る対話処理システム100は、クラウドシステム上で動作する仮想マシンであってもよい。
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10(10A,10B,10C) 対話処理装置
11 対話制御部
12(12A,12B,12C,12D) 項目別処理部
13 対話履歴蓄積部
14 更新部
15 パラメータ調整部
20A 日時型汎用処理部
20B 選択肢型汎用処理部
20D 自由記述型汎用処理部
21(21A,21B,21D) 対話知識
22A,22B,22C,22D 項目名
23A,23B,23C,23D 動作パラメータ
40 選択部
100 対話処理システム

Claims (7)

  1. ユーザとの対話を通じて、所定の動作を実行するための1又は複数の項目の情報を獲得する対話処理装置であって、
    前記1又は複数の項目に対応する1又は複数の項目別処理部と、
    前記1又は複数の項目別処理部と連携してユーザとの対話を制御する対話制御部と、を備え、
    前記対話制御部は、ユーザの入力に応じた入力情報を前記1又は複数の項目別処理部の各々に送り、
    前記1又は複数の項目別処理部の各々は、前記対話制御部から受け取った前記入力情報から自身が獲得すべき情報の候補を抽出して、抽出した候補を該候補が獲得すべき情報であることの確からしさの度合いを示す情報とともに前記対話制御部に送り、
    前記対話制御部は、前記1又は複数の項目別処理部の各々から受け取った候補のうち、前記確からしさの度合いが第1基準を満たす候補を、該候補を送った項目別処理部に対応する項目の情報として確定し、情報が未確定の項目があれば、該項目の情報を問い合わせる応答をユーザに対して出力し、
    前記1又は複数の項目別処理部の各々は、獲得すべき情報の型に応じた対話知識に基づいて前記候補の抽出および前記確からしさの度合いを算出する基本ルールを有する汎用処理部に対して、対応する項目の項目名と自身の動作を決定付ける動作パラメータとが与えられることにより構築される
    対話処理装置。
  2. 前記対話制御部は、前記1又は複数の項目別処理部のいずれかから前記確からしさの度合いが前記第1基準を満たさず、且つ、前記第1基準とは異なる第2基準を満たす候補を受け取った場合、該候補が正しいか否かを問い合わせる応答をユーザに対して出力する
    請求項1に記載の対話処理装置。
  3. 前記対話制御部は、前記1又は複数の項目のうち、前記所定の動作を実行するために必要な情報が確定すると、確定した項目の情報に基づいて前記所定の動作を実行する
    請求項1または2に記載の対話処理装置。
  4. ユーザとの対話の履歴を蓄積する対話履歴蓄積部と、
    前記履歴に基づいて、前記1又は複数の項目別処理部のいずれかに対応する項目の情報として確定すべき情報を確定できなかった事象を検出し、該情報を該項目の情報として確定できるように、該項目に対応する項目別処理部の前記対話知識を更新する更新部と、をさらに備える
    請求項1乃至3のいずれか一項に記載の対話処理装置。
  5. 前記対話制御部は、予め定められた動作モードが選択された場合であって、前記1又は複数の項目のうちのいずれかの項目の情報として確定すべき情報が前記入力情報に含まれると判断した場合、該項目に対応する項目別処理部から受け取った候補の前記確からしさの度合いが前記第1基準を満たさず、且つ、前記第1基準とは異なる第2基準を満たす場合であっても、該候補が正しいか否かを問い合わせる応答をユーザに対して出力せずに、該候補を該項目の情報として確定する
    請求項1に記載の対話処理装置。
  6. ユーザの属性を取得して、取得した属性に応じて前記対話制御部がユーザとの対話を制御する制御パラメータを調整するパラメータ調整部をさらに備える
    請求項1乃至5のいずれか一項に記載の対話処理装置。
  7. 請求項1乃至6のいずれか一項に記載の対話処理装置であって、前記所定の動作が互いに異なる複数の前記対話処理装置と、
    前記入力情報に基づいてユーザが目的とする前記所定の動作を判断し、該所定の動作に対応する前記対話処理装置を選択する選択部と、
    を備える対話処理システム。
JP2017187858A 2017-09-28 2017-09-28 対話処理装置および対話処理システム Active JP7000096B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017187858A JP7000096B2 (ja) 2017-09-28 2017-09-28 対話処理装置および対話処理システム
CN201880058572.1A CN111095237B (zh) 2017-09-28 2018-09-25 对话处理装置及对话处理系统
PCT/JP2018/035497 WO2019065647A1 (ja) 2017-09-28 2018-09-25 対話処理装置および対話処理システム
US16/811,197 US10896074B2 (en) 2017-09-28 2020-03-06 Interactive processing device and interactive processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017187858A JP7000096B2 (ja) 2017-09-28 2017-09-28 対話処理装置および対話処理システム

Publications (2)

Publication Number Publication Date
JP2019061620A JP2019061620A (ja) 2019-04-18
JP7000096B2 true JP7000096B2 (ja) 2022-01-19

Family

ID=65901392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017187858A Active JP7000096B2 (ja) 2017-09-28 2017-09-28 対話処理装置および対話処理システム

Country Status (4)

Country Link
US (1) US10896074B2 (ja)
JP (1) JP7000096B2 (ja)
CN (1) CN111095237B (ja)
WO (1) WO2019065647A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443355B (zh) * 2019-08-06 2021-11-16 思必驰科技股份有限公司 应用于复合对话任务的对话方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004045900A (ja) 2002-07-12 2004-02-12 Toyota Central Res & Dev Lab Inc 音声対話装置及びプログラム
WO2007088877A1 (ja) 2006-01-31 2007-08-09 Honda Motor Co., Ltd. 会話システムおよび会話ソフトウェア
JP2008506156A (ja) 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
JP2013542484A (ja) 2010-08-30 2013-11-21 本田技研工業株式会社 対話システムにおける思考追跡および行動選択
US20140136212A1 (en) 2012-11-14 2014-05-15 Electronics And Telecommunications Research Institute Spoken dialog system based on dual dialog management using hierarchical dialog task library

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264198A (ja) 2006-03-28 2007-10-11 Toshiba Corp 対話装置、対話方法、対話システム、コンピュータプログラム及び対話シナリオ生成装置
JP6604542B2 (ja) * 2015-04-02 2019-11-13 パナソニックIpマネジメント株式会社 対話方法、対話プログラム及び対話システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004045900A (ja) 2002-07-12 2004-02-12 Toyota Central Res & Dev Lab Inc 音声対話装置及びプログラム
JP2008506156A (ja) 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
WO2007088877A1 (ja) 2006-01-31 2007-08-09 Honda Motor Co., Ltd. 会話システムおよび会話ソフトウェア
JP2013542484A (ja) 2010-08-30 2013-11-21 本田技研工業株式会社 対話システムにおける思考追跡および行動選択
US20140136212A1 (en) 2012-11-14 2014-05-15 Electronics And Telecommunications Research Institute Spoken dialog system based on dual dialog management using hierarchical dialog task library

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
上野 晋一、外1名,ユーザと状況のモデルを用いたプランニングを行う音声対話システム,第40回 言語・音声理解と対話処理研究会資料,日本,社団法人人工知能学会,2004年03月05日,p.65-72
長森 誠、他4名,マルチドメイン音声対話システムの構築手法,情報処理学会研究報告,日本,社団法人情報処理学会,2000年06月02日,第2000巻,第53号,p.83-89

Also Published As

Publication number Publication date
US10896074B2 (en) 2021-01-19
CN111095237B (zh) 2023-10-13
WO2019065647A1 (ja) 2019-04-04
US20200210253A1 (en) 2020-07-02
CN111095237A (zh) 2020-05-01
JP2019061620A (ja) 2019-04-18

Similar Documents

Publication Publication Date Title
CN105895103B (zh) 一种语音识别方法及装置
CN102549652B (zh) 信息检索装置
US20190139537A1 (en) Dialogue system and dialogue method
CN110582762A (zh) 自动响应服务器装置、终端装置、响应系统、响应方法及程序
WO2013080406A1 (ja) 対話システム、冗長メッセージ排除方法および冗長メッセージ排除プログラム
JP2020505643A (ja) 音声認識方法、電子機器、及びコンピュータ記憶媒体
CN101567189A (zh) 声音识别结果修正装置、方法以及系统
KR20200067238A (ko) 화상처리장치, 그 제어 방법, 및 기억매체
TWI656500B (zh) 嚮導配對系統、嚮導配對方法以及電腦可讀取記憶媒體
US10410632B2 (en) Input support apparatus and computer program product
CN111488462A (zh) 基于知识图谱的推荐方法、装置、设备及介质
JP7058574B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2017125921A (ja) 発話選択装置、方法、及びプログラム
JP2019012439A (ja) 生成装置、生成方法及び生成プログラム
JP6993604B2 (ja) 学習データ生成装置、学習データ生成方法およびプログラム
JP7000096B2 (ja) 対話処理装置および対話処理システム
JP6275569B2 (ja) 対話装置、方法およびプログラム
JP3542578B2 (ja) 音声認識装置及びその方法、プログラム
JP3903993B2 (ja) 文章の感情認識装置及び文章の感情認識方法ならびにそのプログラム
JP7096199B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN110634480B (zh) 语音对话系统与模型创建装置及其方法
JP2017161644A (ja) 音声処理システムおよび音声処理方法
JP2004348552A (ja) 音声文書検索装置および方法およびプログラム
US11495225B2 (en) Response device, response method, and storage medium
KR20230029158A (ko) 쇼핑몰 배너 문장 자동 제작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211112

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: 20211124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211223

R150 Certificate of patent or registration of utility model

Ref document number: 7000096

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150