[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7229847B2 - 対話装置、対話方法、及び対話コンピュータプログラム - Google Patents

対話装置、対話方法、及び対話コンピュータプログラム Download PDF

Info

Publication number
JP7229847B2
JP7229847B2 JP2019090423A JP2019090423A JP7229847B2 JP 7229847 B2 JP7229847 B2 JP 7229847B2 JP 2019090423 A JP2019090423 A JP 2019090423A JP 2019090423 A JP2019090423 A JP 2019090423A JP 7229847 B2 JP7229847 B2 JP 7229847B2
Authority
JP
Japan
Prior art keywords
utterance
user
feature model
speech
end point
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
JP2019090423A
Other languages
English (en)
Other versions
JP2020187211A5 (ja
JP2020187211A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019090423A priority Critical patent/JP7229847B2/ja
Priority to EP20164080.2A priority patent/EP3739583B1/en
Priority to US16/824,634 priority patent/US11605377B2/en
Publication of JP2020187211A publication Critical patent/JP2020187211A/ja
Publication of JP2020187211A5 publication Critical patent/JP2020187211A5/ja
Application granted granted Critical
Publication of JP7229847B2 publication Critical patent/JP7229847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • 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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、対話装置、対話方法、及び対話コンピュータプログラムに関する。
コンピュータを用いた対話装置において、ユーザと対話装置との間で自然な会話を実現させるためには、対話装置の応答が出力されるまでの待ち時間を短縮することが重要である。従来技術においては、この待ち時間を短縮し、ユーザと対話装置の対話を円滑に行うための手段が提案されている。
例えば、特開2008-241890号公報(特許文献1)には、「まず、入力した音声から単語列を抽出する(S30)。また、入力した音声の話速を算出する(S40)。そして、現在の入力単語列に後続すると予測される単語列(以下、後続予測単語列という)とこの後続予測単語列に対応した出現確率とを記憶する出現確率リストと、抽出した単語列とを比較して、抽出した単語列に後続すると予測される後続予測単語列の中で最も出現確率の高い後続予測単語列を抽出する(S50)。更に、算出した話速を用い、後続予測単語列が入力されるのにかかる時間(以下、後続入力時間という)を算出する(S60)。その後、抽出した後続予測単語列の出現確率を確信度とし、抽出した後続予測単語列に付与する(S70)。その後、付与された確信度が応答判定値以上である場合に、この後続入力時間で、出力タイミング予測を確定させる(S80)。」技術が記載されている。
また、特開2015-135420号公報(特許文献2)には、「音声認識端末装置は、ユーザが発話した音声コマンドを取得し(S10)、取得した音声コマンドを音声認識サーバに送信して音声認識処理を要求する(S12)。このとき、音声認識端末装置は、音声認識サーバから応答メッセージを受信するまでの応答遅延時間を予測する。そして、予測した応答遅延時間を埋め合わせるための「つなぎ言葉」の内容を決定し、その決定したつなぎ言葉を応答メッセージを受信するまでの間に発話する(S14)。そして、音声認識端末装置は、音声認識サーバから応答メッセージを受信した場合、取得した応答メッセージに基づく出力処理を実行する(S16)。」技術が記載されている。
特開2008-241890号公報 特開2015-135420号公報
上記の特許文献1は、抽出した単語列に後続すると予測される後続予測単語列と、ユーザの話速を用いて、機械の応答を出力する適切なタイミングを計算することが記載されている。また、上記の特許文献2には、ユーザの発話に対する機械発話を生成するための待ち時間を埋め合わせるために、推定されている待ち時間に応じた「つなぎ言葉」を出力することが記載されている。
しかしながら、上記の特許文献のいずれにも、ユーザの次の発話について予測されている発話の長短属性(発話が長いか短いかを示す情報)に基づいて、適切な応答(機械発話)を生成するための機械学習モデルを選択することが考慮されていない。
そこで、本発明は、ユーザの発話の長短属性の予測に基づいて、ユーザ発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させる手段を提供することを目的とする。
上記の課題を解決するために、代表的な本発明の対話装置の1つは、ユーザ発話の長短属性を予測する予測部と、発話長短属性を用いて、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する選択部と、選択部が選択した特徴モデルを用いて、ユーザ発話の終了時点を推定する推定部とを含む。
本発明によれば、ユーザの次の発話について予測されている発話の長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させる手段を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
自動音声認識(Automatic Speech Recognition)の処理において、待ち時間による課題の一例を示す図である。 本発明の実施形態に係る対話装置の機能的構成を示す図である。 本発明の実施形態を実施するためのコンピュータシステムのブロック図である。 本発明の実施形態に係る対話方法のフローを示す図である。 本発明の実施形態に係る対話装置における対話の一例を示す図である。 本発明の実施形態に係る音声特徴モデル及び字句特徴モデルの重み付けを計算する処理の一例を示す図である。 本発明の実施形態に係る後続単語数予測の訓練用のデータの一例を示す図である。 本発明の実施形態に係る後続単語数予測の別の一例を示す図である。 発話における終了時点を推定するように適用された再帰型ニューラルネットワークにおけるセルの一例を示す図である。 本発明の実施形態に係るモデル重み付けの計算の変形例を示す図である。 本発明の実施形態に係る終了時点確率の計算の変形例を示す図である。
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
(ハードウェア構成)
まず、図1を参照して、本発明の概要について説明する。
従来の対話システムでは、ユーザが音声を発話してから当該発話に対する応答が対話システムから出力されるまで、多少の待ち時間が生じることがある。その要因の一つとしては、対話システムが、ユーザの発話が完全に終了したのか、ユーザが一時的に発話中にポーズしているのかを判定するために時間を要しているからである。
このような待ち時間が生じると、ユーザは自分が発した音声が対話システムに正常に受付けられたのか否か分からず、不安を感じたり、再度音声を発話したりすることがある。
そのため、ユーザと対話システムとの間で自然な会話を実現させるためには、対話システムにおけるユーザの待ち時間を短縮することが望ましい。
ユーザの待ち時間を短縮するためには、ユーザの発話における終了時点を検出するEOT(End of Turn)検出モデル及びBOP(Backchannel Opportunity Prediction)検出モデルが知られている。EOT検出モデルとは、対話システムがユーザの発話の入力を継続すべきか、発話の入力を中止し応答を生成すべきかを判定するモデルである。
また、BOPモデルとは、対話システムが「話を聞いている」又は「話を続けて」などといった意思を人間に対して明確にする相槌を打つべきかどうかを判定するモデルである。以下では、EOTを「発話終了」と呼び、BOPを「相槌機会」と呼ぶこともある。
なお、BOTもEOTも、いずれも対話装置から見れば、ユーザの発話の一次的な終了点であるため、これらを総称して、「終了時点」ということがある。
EOT検出モデル及びBOP検出モデルでは、大きく分けて、ユーザの発話の音声特徴(例えば、メル周波数ケプストラム係数、音高等)を用いて終了時点を推定する音声特徴モデルと、ユーザの発話を入力した自動音声認識手段から出力される字句特徴(ワード、音素、形態素等、言葉を構成する要素)を用いて終了時点を推定する字句特徴モデルを用いている。
一般に、字句特徴を用いた終了判定は、音声特徴を用いた終了判定よりも、精度が高く、ユーザの発話における終了時点(BOP及びEOT)を正しく計算できる確率が高い。しかし、字句特徴を用いた終了判定は、音声特徴を用いた終了判定よりも判定に多くの時間を要し、待ち時間(以下、「遅延」や「遅延時間」ということもある)が生じることが多い。
図1は、上述した待ち時間による課題の一例を示す図である。図1に示すように、ユーザ110の発話を構成する言葉120が時間と共に流れている。ASR(Automatic Speech Recognition)部分的出力112は、ユーザの発話途中で自動音声認識の手段によって認識される言葉である。終了時点検出114は、ユーザの発話におけるEOTやBOP等の終了時点を検出する手段である。応答生成116は、対話装置によって生成される応答(機械発話)である。
図1に示す例では、ユーザ110が「国分寺駅からえーと」との言葉を発した後、ユーザの発話は一時的に途切れている。そこで、対話システムは、ユーザの発話における終了時点を検出するが、この終了時点がBOPであるか、EOTであるかを判定し、適切な応答を生成するためには処理時間を要するため、システム側の応答が出るまでの間、遅延130が生じ、対話の自然性が損なわれることがある。
上述した課題を解決するために、本発明では、ユーザの次の発話の時間的特徴について予測する発話の長短属性に基づいて、ユーザの発話の終了時点を判定することとし、そのためのモデルを音声特徴モデル及び字句特徴モデルの少なくとも一方を選択することで、ユーザの待ち時間を短縮することができ、ユーザと対話装置との間でより自然な対話を実現させることができる。
次に、図2を参照し、本発明の実施形態に係る対話装置の機能的構成について説明する。
図2は、本発明の実施形態に係る対話装置250の機能的構成を示す図である。対話装置250は、自然言語を用いて、人間のユーザ210と情報を傍受するように構成されているコンピューティングデバイスである。対話装置250は、例えば特定のタスクの達成を目的とするタスク指向型対話システムであってもよく、雑談等、任意の話題に関する会話を実現できる非タスク指向型対話システムであってもよい。
一例として、対話装置250は、例えば、銀行に設置される端末であって、口座の開設や送金等を行うように構成されているものであってもよく、空港で乗客のチェックインや案内を行うように構成されているものであってもよい。
図2に示すように、対話装置250は、入力部252と、予測部254と、選択部256と、推定部258と、応答生成部260とを含む。
入力部252は、人間のユーザ210が自然言語音声で発する発話を入力する機能部である。入力部252は、例えば、「最寄りの駅はどこなの?」や「中華料理食べたいんだけど、美味しいところは近くにある?」などの発話を受け付けるマイクロフォンであってもよい。
予測部254は、ユーザの次の発話(例えば、機械発話に対するユーザの次の発話)の長短属性を予測する機能部である。ここでは、「発話の長短属性」とは、ユーザの次の発話の長さ(時間での長さや単語数での長さ)を示す情報である。この発話の長短属性は、例えばユーザの次の発話が所定の長さ基準(例えば10ワード以上、5秒以上)を満たすか否かを示すバイナリー情報であってもよく、ユーザの次の発話の推定される長さ(14ワード、7秒)を示す情報であってもよい。予測部254がユーザの次の発話の長短属性を予測する処理の詳細については後述する。
選択部256は、発話長短属性を用いて、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する機能部である。選択部は、例えば予測部254によって予測された発話の長短属性(及び・又は終了時点の推定が正解である確率を示す信頼値)に基づいて、音声特徴モデル及び字句特徴モデルのそれぞれに対して重み付けを設定して、所定の重み付け基準を達成するモデルを選択するように構成されてもよい。選択部256がユーザの発話の終了判定に用いるモデルを選択する処理の詳細については後述する。
推定部258は、選択部256によって選択されたモデルを用いて、ユーザ発話における終了時点を推定する機能部である。推定部258は、選択されたモデルを用いて、ユーザの発話における終了時点が相槌機会(BOP)である確率と、当該終了時点が発話終了(EOT)である確率を計算し、この計算の結果を示すメタデータであるタイミングラベルを生成してもよい。推定部258がユーザ発話における終了時点を推定する処理の詳細については後述する。
応答生成部260は、入力部252が受け付けるユーザ発話に対する機械発話を生成するための機能部である。この機械発話は、例えば、ユーザの発話が受け付けられたことを示すための、「はい」、「分かりました」、「かしこまりました」、「なるほどですね」、「そうですね」等の相槌であってもよく、「最寄りの駅はここから700メートルです」や「中華料理屋さんは近くにありませんが、ベトナム料理はいかがですか?」等、ユーザの発話の内容に応じて自然言語生成手段によって生成された応答であってもよい。
あるいは、対話装置がロボットに接続されており、ロボットを制御するような構成である場合、この機械発話は、ロボットの顔が頷くような動作であってもよい。また、対話装置がディスプレイなどの表示装置と接続されており、ディスプレイ上にキャラクタを表示するような形態の場合、この機械発話は、ディスプレイ上のキャラクタのアニメーションを生成することを含んでもよい。応答生成部260が応答を生成する処理の詳細については後述する。
ストレージ部262は、上述した機能部が用いる各種データを格納するための記憶部である。ストレージ部262は、例えば、過去のユーザとの対話履歴、発話を生成する際に使用するデータベース等を格納してもよい。このストレージ部262は、例えばフラッシュメモリ、ハードディスクドライブ等、任意の記憶媒体であってもよい。また、図2に示すように、ストレージ部262は、上述した音声特徴モデル264及び字句特徴モデル266を格納してもよい。しかし、本発明はこれに限定されず、音声特徴モデル264及び字句特徴モデル266が遠隔のサーバに格納され、インターネットやLAN等の通信ネットワークを介してアクセスされる構成でもよい。
次に、図3を参照して、本発明の実施形態に係る対話装置を構成するコンピュータシステム300のハードウェア構成について説明する。
図3は、本発明の実施形態を実施するためのコンピュータシステム300のハードウェア構成を示す図である。本明細書で開示される対話装置の機能は、任意のコンピューティングシステムによって実現されてもよい。以下では、本発明に係る対話装置の機能を実施するように構成された汎用的なコンピュータシステム300について説明する。
コンピュータシステム300の主要コンポーネントは、1つ以上のプロセッサ302、メモリ304、端末インターフェース312、ストレージインタフェース314、I/O(入出力)デバイスインタフェース316、及びネットワークインターフェース318を含む。これらのコンポーネントは、メモリバス306、I/Oバス308、バスインターフェースユニット309、及びI/Oバスインターフェースユニット310を介して、相互的に接続されてもよい。
コンピュータシステム300は、プロセッサ302と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)302A及び302Bを含んでもよい。ある実施形態では、コンピュータシステム300は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム300は単一のCPUシステムであってもよい。各プロセッサ302は、メモリ304に格納された命令を実行し、オンボードキャッシュを含んでもよい。
ある実施形態では、メモリ304は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。メモリ304は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ304は、対話管理アプリケーション350を格納していてもよい。ある実施形態では、対話管理アプリケーション350は、後述する機能をプロセッサ302上で実行する命令又は記述を含んでもよい。
ある実施形態では、対話管理アプリケーション350は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、対話管理アプリケーション350は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス(図示せず)が、バスインターフェースユニット309、プロセッサ302、またはコンピュータシステム300の他のハードウェアと直接通信するように提供されてもよい。
コンピュータシステム300は、プロセッサ302、メモリ304、表示システム324、及びI/Oバスインターフェースユニット310間の通信を行うバスインターフェースユニット309を含んでもよい。I/Oバスインターフェースユニット310は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス308と連結していてもよい。I/Oバスインターフェースユニット310は、I/Oバス308を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット312,314,316、及び318と通信してもよい。
表示システム324は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置326に提供することができる。また、コンピュータシステム300は、データを収集し、プロセッサ302に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
例えば、コンピュータシステム300は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム324は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置326に接続されてもよい。
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット312は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス320の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス320及びコンピュータシステム300に対して入力データや指示を入力し、コンピュータシステム300からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス320を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
ストレージインタフェース314は、1つ又は複数のディスクドライブや直接アクセスストレージ装置322(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置322は、任意の二次記憶装置として実装されてもよい。メモリ304の内容は、ストレージ装置322に記憶され、必要に応じてストレージ装置322から読み出されてもよい。I/Oデバイスインタフェース316は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース318は、コンピュータシステム300と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク330であってもよい。
ある実施形態では、コンピュータシステム300は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム300は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
次に、図4を参照して、本発明の実施形態に係る対話方法の全体のフローについて説明する。
図4は、本発明の実施形態に係る対話方法400の全体のフローを示す図である。上述したように、対話方法400は、ユーザと対話システムまたは対話装置との対話において、ユーザの次の発話について予測されている発話長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、対話装置の応答までのユーザの待ち時間を短縮させるためのものである。
以下、対話方法400のステップの詳細について説明する。
まず、ステップS410では、入力部(例えば、図2に示す入力部252)は、第1のユーザ発話の入力を受け付ける。ここで、第1のユーザ発話は、ユーザと対話装置との対話における発言、せりふ、言説、挨拶、声明等、任意の言葉であってもよい。上述したように、この第1のユーザ対話は、例えば、「最寄りの駅はどこなの?」や「中華料理食べたいんだけど、美味しいところは近くにある?」などの発話であってもよい。
次に、ステップS415では、応答生成部(例えば、図2に示す応答生成部260)は、ステップS410で入力された第1のユーザ発話に対する第1の対話装置側からの発話(以下、「機械発話」ということがある。)を生成する。第1の機械発話は、対話装置によって生成される、第1のユーザ発話への応答である。上述したように、この第1の機械発話は、相槌であってもよく、第1のユーザ発話の内容に応じて自然言語生成部によって生成された発話であってもよい。ここでは、「生成」とは、機械発話を作成する行為を意味し、機械発話をユーザに向けて出力することを含むものではない。従って、S415の段階では、第1の機械発話が応答生成部において作成されるが、この時点ではまだ出力されない。
なお、この第1の機械発話は、複数の発話行為のうち、少なくとも一つに該当するものである。一般には、発話行為とは、(ユーザ又は対話装置の)発話の意図を示したものであり、当該発話の内容から発話の意図、目的の種類を定義するものである。以下の表1では、機械発話及び当該機械発話に対応する発話行為の例を示す。後述するように、第1の機械発話がどの発話行為に対応するかは、応答生成部が管理している情報であり、この発話行為は、後述するステップS420の際に用いられる。
Figure 0007229847000001
次に、ステップS420では、予測部(例えば、図2に示す予測部254)は、ステップS415で生成された第1の機械発話に対するユーザの発話である、第2のユーザ発話について、発話長短属性を予測する。
上述したように、本発明において、発話長短属性とは、ユーザの発話(つまり、ユーザの次の発話である第2のユーザ発話)の長さ(時間での長さや単語数での長さ)を示す情報である。
以下では、説明の便宜上、所定の時間基準(例えば5秒)又は所定の単語数基準(例えば5ワード)を満たす発話のことを「長い」に属する発話とし、所定の時間基準又は所定の単語数基準を満たさない発話のことを「短い」に属する発話として説明する。しかし、これらの「長い」、「短い」の基準値は、あくまでも説明のための便宜的な基準値であり、何ら本発明を限定するものではない。
具体的には、予測部は、上述した第1の機械発話の発話行為を、蓄積されている対話データの履歴(いわゆるビッグデータ)を参照することで、ユーザが次に話すであろう第2のユーザ発話の長さ(「長い」か「短い」か)を予測する。例えば、第1の機械発話がイエス・ノー質問である場合、第2のユーザ発話は、第1の機械発話の質問を端的に肯定または否定する発話である可能性が高いため、第2のユーザ発話は「短い」に属する確率が高いと予測することができる。また、その一方で、第1の機械発話がオープン型質問の場合、第2のユーザ発話は、第1の機械発話の質問について、端的に肯定または否定するものではなく、説明的な情報を含む可能性が高いため、第2のユーザ発話が「長い」に属する確率が高いと予測することができる。
後述するように、ステップS420で予測した発話の長短属性を用いることで、ユーザの発話における終了時点を計算するための適切なモデルを選択することができる。
以下の表2では、第1機械発話の発話行為と、第2のユーザ発話の長短属性の対応関係を示す。
なお、表2に示す対応関係はあくまでも一例であり、どの発話行為がどの発話の長短属性に該当するかは、対話の場面に応じて適宜に変更されてもよい。
Figure 0007229847000002
なお、以上では、第2のユーザ発話の発話長短属性を第1の機械発話の発話行為に基づいて予測する場合について説明したが、本発明はこれに限定されない。例えば、第1の機械発話が出力された後に、第2のユーザ発話の一部を自動音声認識手段で分析し、この自動音声認識手段の部分的な分析結果も参照して発話長短属性を判定することもできる。このように、発話長短属性をリアルタイムでユーザの進行中の発話に基づいて予測することにより、発話長短属性をより正確に予測することもできる。
次に、ステップS425では、選択部(例えば、図2に示す選択部256)は、音声特徴モデル及び字句特徴モデルに対する重み付けを設定する。この重み付けとは、例えば0~1までの数字で表現され、あるモデルの重み付けが高い程、当該モデルが発話における終了時点の判定に適しているモデルであることを意味する。選択部は、例えばステップS420で予測した第2のユーザ発話の発話長短属性と、当該モデルの終了時点の推定が正解である確率を示す信頼値とに基づいて計算されて設定されてもよい。
上述したように、字句特徴モデルを用いた終了判定は、音声特徴モデルを用いた終了判定よりも、精度が高く、ユーザの発話における終了時点(BOP及びEOT)を正しく計算できる確率が高いものの、処理時間が長い。一方、音声特徴モデルを用いた終了判定は、字句特徴モデル程精度が字句特徴モデル程高くないが、処理時間が短い。これらの特徴は以下の表3で記載されている。
Figure 0007229847000003
第2のユーザ発話の発話長短属性は、第2のユーザ発話が「短い」と示す場合には、音声特徴モデルを用いた発話終了判定の精度が十分だが、発話の長短属性は、第2のユーザ発話が「長い」と示す場合には、音声特徴モデルを用いた発話終了判定の精度が不十分となることがある。そのため、原則として、第2のユーザ発話が短いと予測される場合には、音声特徴モデルの重み付けが字句特徴モデルよりも高く設定され、第2のユーザ発話が長いと予測される場合には、字句特徴モデルの重み付けが音声特徴モデルよりも高く設定されることとする。重み付けの計算及び設定の詳細については後述する。
次に、ステップS430では、選択部は、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデルを使用するか否かを判定する。ここでは、選択部は、音響特徴モデルの重み付けを参照し、この値が所定の基準以上(例えば0.51以上)のときに、音響特徴モデルを使用することを決定してもよい。または、重みに依らず、つねに音響特徴モデルを使うようにしてもよい。音声特徴モデルを使用する場合には、本処理はステップS435に進む。
ステップS430で音声特徴モデルが選択された場合、次に、ステップS435では、推定部(例えば、図2に示す推定部258)は、音声特徴モデルを用いて、第2のユーザ発話における終了時点を計算する。
具体的には、音声特徴モデルは、第2のユーザ発話がユーザから発される際に、当該発話のメル周波数ケプストラム係数や音高等の音声特徴を分析し、第2のユーザ発話における終了時点が相槌機会(BOP)である確率と、当該終了時点が発話終了(EOT)である確率を計算し、この計算の結果を示すメタデータであるタイミングラベルを生成してもよい。
このように、第2のユーザ発話が短いと予測される場合には、音声特徴モデルが良好な精度で終了時点を推定することができるため、EOT及びBOPの確率を高精度で迅速に計算することができる。
つまり、字句特徴モデルを用いた終了判定は、音声特徴モデルを用いた終了判定よりも、精度が高く、ユーザの発話における終了時点(BOP及びEOT)を正しく計算できる確率が高いものの、処理時間が長いという課題がある。
そこで、本発明では、字句特徴モデルの長い処理時間に対処するために、ユーザの発話の途中で、現時点から、何ワード後に現在の発話が終了するかを予測するための、「後続単語数予測モデル」を用いることとする。この後続単語数予測モデルを用いることにより、発話が何ワード後に終了するかを事前に予測し、対話装置の応答を生成する処理を早期に開始することで、対話装置の応答が生成されるまでの遅延を短縮することができる。
この後続単語数予測モデルは、ユーザの発話速度(平均として1秒に何ワード発しているか)及び対話装置の応答を生成するために要する時間(つまり、遅延時間)に基づいて、複数のサブモデルの中から選択される。それぞれのサブモデルは、ユーザ発話における終了時点を所定のワード数前に推定するように訓練された機械学習モデルである。例えば、この後続単語数予測モデルは、ユーザ発話における終了時点が5ワード後であることを推定するように訓練された5ワードサブモデルや、ユーザ発話における終了時点が3ワード後であることを推定するように訓練された5ワードサブモデル等、任意のワード数毎にサブモデルを有してもよい。
ステップS440でステップS445では、推定部は、ユーザの発話速度及び機械発話を生成するために要する時間(つまり、遅延時間)を計算する。例えば、推定部は、特定のユーザとの対話履歴を分析することで、当該ユーザが1秒に何ワードを発しているかを測定することでユーザの発話速度を計算してもよい。また、推定部は、第2のユーザ発話の発話行為に基づいて、第2の機械発話(つまり、第2のユーザ発話に対する対話装置の次の応答)を推定してもよい。
次に、ステップS450では、選択部は、ステップS445で計算されたユーザの発話速度及び遅延時間に基づいて、後続単語数予測モデルの複数のサブモデルの中から、適切なサブモデルを選択する。
具体的には、選択部は、発話速度と遅延時間をかけることで、乗算の結果であるワード数に一致するサブモデルを選択することができる。例えば、遅延時間が1秒であり、ユーザが平均として1秒に3ワードを発する場合みは、選択部は、3ワードのサブモデルを選択してもよい。これにより、ユーザの発話の終了時点を3ワード前に予測することとなるため、この時点(つまり、発話が終了する1秒前)に対話装置の応答を生成する処理を開始することで、ユーザの発話が終了した直後に対話装置の応答を出力することができる。
次に、ステップS455では、推定部は、選択されたサブモデルを用いて、第2のユーザ発話における終了時点を計算する。具体的には、このサブモデルは、第2のユーザ発話がユーザから発される際に、当該発話のワード、音素、形態素等の字句特徴を分析し、第2のユーザ発話における終了時点が相槌機会(BOP)である確率と、当該終了時点が発話終了(EOT)である確率を計算し、この計算の結果を示すメタデータであるタイミングラベルを生成してもよい。
次に、ステップS465では、推定部は、S435及びS455で計算されたEOT確率及びBOP確率を用いて、第2のユーザ発話に対する第2の機械発話を生成する。ここで使用する確率として、音響特徴モデル又は字句特徴モデルのいずれか一方が使用された場合には、得られた確率をそのまま使用することができる。
また、音響特徴モデル及び字句特徴モデルの両方が使用された場合には、両方の確率に対して、各特徴に対する重み付けを行った後、両値を加算した値を使用することができる。また、例えばBOPの確率がEOTの確率より高い場合には、推定部は、「はい」や「なるほど」等の相槌を打つ発話を生成してもよく、EOTの確率がBOPの確率より高い場合には、推定部は、自然言語処理の手段を用いて、ユーザの発話の内容に応じた発話を生成してもよい。その後、推定部は、第2の機械発話を出力する。
上述した対話方法により、ユーザの次の発話について予測されている発話の長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させることができる。
次に、図5を参照して、本発明の実施形態に係る対話装置における対話の一例について説明する。
図5は、本発明の実施形態に係る対話装置における対話の一例500を示す図である。図5には、人間のユーザ210と対話装置510の対話が示されている。また、ここでは、「対話装置」とは、例えば図2に示す対話装置250と同様の機能を有するものである。
図5に示す対話の例は、例えば、ユーザ210が対話装置510を用いて、ホテルを予約するための手続きを行うための会話であってもよい。図5に示すように、対話装置510は、「どのようなお部屋が好みですか?」との発話512を発する。この発話は、「オープン型質問」との発話行為に対応する。上述したように、対話装置510は、この発話行為に基づいて、次のユーザ発話の長短属性を予測することができる。
例えば、ここでは、対話装置510が発した発話がオープン型質問の発話行為に該当するため、ユーザの次の発話514が「知らせる」との発話行為に対応する可能性が高く、発話の長短属性が長いと予測し、長い発話における終了時点の判定に適した字句特徴モデルを選択してもよい。その後、対話装置510は、選択した字句特徴モデルを用いて、図4を参照して説明した処理に従って、ユーザの発話514における終了時点を判定し、次の機械発話516を生成してもよい。
なお、以上では、ユーザの次の発話が1つの発話行為のみに対応することを前提として一例を説明したが、実際には、ユーザの次の発話が対応する候補の発話行為が複数存在し、ユーザの次の発話の発話行為を100%の確率で予測できない場合がある。従って、1つのユーザ発話に対して複数の候補の発話行為が存在する場合には、対話装置510は、出現する可能性のある候補の発話行為の数を予測し、予測されている候補の発話行為のそれぞれが出現する確率と、それぞれの発話行為の想定されている発話長短属性との加重合計を計算することで、出現確率が最も高い発話行為を予測することができる。
また、対話装置510は、予測されている候補の発話行為のそれぞれが出現する確率を用いて、発話行為の平均情報量(エントロピー)を計算することができる。平均情報量は以下の数式1によって求められる。
Figure 0007229847000004
数式1では、Hは平均情報量であり、Iは出現する可能性のある候補の発話行為の数であり、piはi番目の発話行為が出現する確率である。一般に、この平均情報量は、情報の無秩序さ、曖昧さ、不確実さを表す尺度であり、平均情報量が高い程、特定の結果を予測する難易度が高い。
従って、ここでは、平均情報量が低いと、出現する可能性のある発話行為の数が少なく、どの発話行為が出現するかが特定しやすい。一方、平均情報量が高いと、出現する可能性のある発話行為の数が多く、どの発話行為が出現するかが特定しにくい。この場合には、字句特徴の重み付けをより高く設定したり、予測される候補の発話行為の発話長短属性の種類(長いか短いか)の出現率を考慮したり、平均情報量を用いて、字句特徴モデルをドメイン毎に訓練したりすることで、ユーザの次の発話の発話行為を予測してもよい。
これにより、1つのユーザ発話に対して複数の候補の発話行為が存在する場合にも、ユーザの発話の長短属性を予測し、ユーザ発話における終了判定に用いるモデルを適宜に選択することができる。
次に、図6を参照して、本発明の実施形態に係る音声特徴モデル及び字句特徴モデルの重み付けを計算する処理について説明する。
図6は、本発明の実施形態に係る音声特徴モデル及び字句特徴モデルの重み付けを計算する処理の一例を示す図である。図6に示すように、ユーザ発話605が時間と共に流れている。入力部(図示せず)はユーザ発話605の音声特徴610及び字句特徴615をそれぞれ取得する。上述したように、音声特徴610を用いて音声特徴モデル620によって発話における終了時点を判定するか、字句特徴615を用いて字句特徴モデル625によって発話における終了時点を判定するかは、音声特徴モデル620及び字句特徴モデル625に対して設定される重み付けで決定される。以下では、これらの重み付けを計算する処理について説明する。
上述したように、ここでの重み付けとは、例えば0~1までの数字で表現され、あるモデルの重み付けが高い程、当該モデルが発話における終了時点の判定に適しているモデルであることを意味する。この重み付けは、予測されるユーザの次の発話の発話長短属性と、当該モデルの終了時点の推定が正解である確率を示す信頼値とに基づいて計算されてもよい。
上述したように、発話の長短属性とは、ユーザの次の発話の長さ(長いか短いか)を示す情報であり、図4を参照して説明した処理により予測される。図6に示す計算部640は、予測される発話長短属性に基づいて、ユーザの次の発話が短いと判定される場合には、音声特徴モデルの重み付けαを、字句特徴モデルの重み付け(1-α)より高く設定し、ユーザの次の発話が長いと判定される場合には、字句特徴モデルの重み付けを、音声特徴モデルよりも高く設定するように構成されている。
以上では、音声特徴モデル及び字句特徴モデルの重み付けをユーザ発話の長短属性のみに基づいて計算した場合について説明したが、音声特徴モデル及び字句特徴モデルの重み付けは、発話の長短属性と、モデルの終了時点の推定が正解である確率を示す信頼値との両方に基づいて計算されてもよい。この場合には、発話の長短属性のみに基づいて重み付けを計算した場合に比べて、発話における終了時点を判定するモデルをより正確に選択することができる。
以下では、音声特徴モデル及び字句特徴モデルの重み付けを発話の長短属性及び信頼値の両方に基づいて計算する場合について説明する。
まず、計算部640は、特定のモデルの終了時点の推定が正解である確率を示す信頼値を計算する。この信頼値の計算は、入力される発話の信号雑音比に基づいて計算されてもよい。例えば、字句特徴は残響等のノイズによって大きく影響されるため、入力される音声には残響が多く含まれる場合には、字句特徴の信頼値が低くなる。一方、音声特徴は残響の影響を大きく受けないため、例えば入力される音声に残響が含まれる場合でも、音声特徴の信頼値が高く設定されてもよい。
なお、以上では、音声特徴モデル及び字句特徴モデルの信頼値を信号雑音比に基づいて計算する場合について説明したが、本発明はそれに限定されず、自動音声認識の精度等のパラメータに基づいて計算されてもよい。
以下では、予測される発話行為とモデルの信頼値とに基づいて、上述した重み付けを計算する手段について説明する。音声特徴モデルの重み付けαがユーザの次の発話の長短属性のみに基づいて計算される場合には、全体の重み付けαを以下の数式2、3、及び4で求めることができる。
Figure 0007229847000005
Figure 0007229847000006
Figure 0007229847000007
ここでは、αは字句特徴モデルの重み付けであり、dは発話の期待される長さを示す変数であり、dは発話が短い発話だとみなす発話長の閾値、dは発話が長い発話だとみなす発話長の閾値である。
一方、音声特徴モデルの重み付けαがユーザの発話の発話行為に基づいて計算される場合には、全体の重み付けαを以下の数式5で求められる。
Figure 0007229847000008
ここでは、Uは、予測される発話行為u及び対応する出現確率piを表すものであり、fDAは、発話行為を重み付けに変換する所定の関数である。また、Uは以下の数式6で求められる。
Figure 0007229847000009
上述した重み付けαは、重み付けの初期値であり、時間が経過するにつれて継続的に更新されてもよい。音声特徴モデルの信頼値c及び字句特徴モデルの信頼値cが0~1の範囲内で正規化され、これらの和が1であるとして、ある時間帯tにおける重み付けαは、以下の数式7及び数式8で求められる。
Figure 0007229847000010
Figure 0007229847000011
ここでは、αupdate+及びαupdate-は、重み付けに加算又は減算する値である。
また、ある時間帯tにおける重み付けαは、以下の数式9、10、及び11で求められる。
Figure 0007229847000012
Figure 0007229847000013
Figure 0007229847000014
ここでは、α0は、重み付けの初期値であり、tは重み付けが更新される前の時間帯であり、tは重み付けが更新された後の時間帯であり、αは更新された後の重み付けである。
上述した計算によって音声特徴モデル及び字句特徴モデルの重み付けを計算することで、特定のユーザ発話における終了時点を正確に推定できるモデルを選択することができるため、ユーザの待ち時間を短縮し、ユーザと対話装置との間でより自然な対話を実現させることができる。
次に、図7及び図8を参照して、本発明の実施形態に係る後続単語数予測の一例について説明する。
上述したように、字句特徴モデルを発話の終了判定に用いる場合には、音声特徴モデルを用いた終了判定よりも、ユーザの発話における終了時点(BOP及びEOT)を高い精度で推定できるが、処理時間が長いという課題がある。そこで、字句特徴モデルの長い処理時間を対処するため、ユーザの発話の途中で、その時点から何ワード後に当該発話の終了時点が来るかを予測するための、「後続単語数予測モデル」を用いている。この後続単語数予測モデルを用いることにより、機械発話を生成する処理を早期に開始することで、機械発話が生成されるまでの遅延を短縮することができる。
なお、後続単語数予測の処理のフローを図7を参照して説明したため、ここではその説明を省略し、後続単語数予測モデルにおけるサブモデルを訓練する手段について説明する。
上述したように、後続単語数予測モデルにおけるサブモデルとは、ユーザ発話における終了時点を所定のワード数前に推定するように訓練された機械学習モデルである。
例えば、この後続単語数予測モデルは、ユーザ発話における終了時点が5ワード後であることを推定するように訓練された5ワードサブモデルや、ユーザ発話における終了時点が3ワード後であることを推定するように訓練された5ワードサブモデル等、任意のワード数n毎に訓練されたサブモデルを有してもよい。
図7は、本発明の実施形態に係る後続単語数予測モデルを訓練するための単語列700の一例を示す図である。単語列700は、例えば過去に収集した対話履歴から抽出した発話であってもよく、訓練用に作成された発話であってもよい。図7に示すように、この単語列700には、発話における終了時点であるBOP及びEOTを示すタイミングラベルが付されている。これらの終了時点を示すラベルは、サブモデルの訓練プロセスにおいて、サブモデルが目指すべきグラウンドトゥルース(正しい終了時点として定められている情報)として機能する。
また、図7に示すように、単語列700は、訓練プロセスを促進するために、710a及び710bの二つのシーケンスに分割されている。原則として、単語列は、各BOPで別のシーケンスに分割される。例えば、単語列がBOPを3つ含む場合には、3つのシーケンスに分割されてもよい。
再帰型ニューラルネットワークを用いて、図7に示すような単語列700を教師データとして上述したサブモデルを訓練することで、発話における終了時点を任意のワード数n前に予測できるサブモデルを実現させることができる。この訓練プロセスにおいて、訓練途中のサブモデルの終了判定の、単語列700のタイミングラベルで示されている正しい終了判定に対する損失(loss)を最小化させることで、サブモデルの判定精度を向上させることができる。この損失は、以下の数式12で示される。
Figure 0007229847000015
また、数12におけるλiは、以下の数式13で示される。
Figure 0007229847000016
ここでは、iは特定のシーケンスが単語列において何番目のであるかを示す数字であり、Lはこのシーケンスに含まれる単語数である。nは、所望のワード数を示す数字である。piは、シーケンスi番目のグラウンドトゥルースであり、BOP又はEOTであれば1、それ以外ならば0となる値である。qiはシーケンスi番目の単語において、学習中の再帰型ニューラルネットワークが出力するBOPまたはEOTの確率値であり、0から1の間の値である。wposおよびwnegは、学習データのバランスをとるための係数である。具体的な計算方法としては、wposとしては、学習データに含まれるシーケンス列にある単語のうち、EOT又はBOPのラベルが付与されていない単語数を計算し、それをEOTまたはBOPのラベルが付与されている単語数で割った値を、wposとして用いる。wnegには、1を用いる。
また、図7に示す単語列700では、最後の単語にかならずEOT又はBOPのラベルが付与されているデータを示したが、それ以外にも、シーケンス内の単語のどれもEOT、BOPラベルが存在しないものを学習データに含んでもよい。このようなシーケンスを学習に用いる場合の損失は、以下の数式14で示される。
Figure 0007229847000017
最終的には、数式12と数式14で計算される損失を加算し、それが最小化されるように学習を行う。
図8は、訓練した後続単語数予測サブモデルの終了判定の結果を示すグラフである。以上の数式12を用いて、異なるワード数nで後続単語数予測モデルを訓練し、損失を最小化させることで、図8に示すように、1ワード前、2ワード前、3ワード前、4ワード前のそれぞれのワード数nについて、発話における終了時点を正確に判定できるサブモデルを実現させることができる。
なお、図8では、n=1、n=2、n=3、及びn=4の4つのサブモデルを訓練した場合を例示しているが、本発明はそれに限定されず、任意の数のサブモデルを訓練してもよい。
上述したように、ユーザの発話速度及び応答生成処理による遅延時間に基づいて、訓練したサブモデルの中から適切なサブモデルを選択することで、ユーザの発話における終了時点を事前に推定し、対話装置の応答を生成する処理を早めに開始することができる。これにより、字句特徴モデルによる遅延時間を短縮し、ユーザと対話装置の間で自然な会話を実現させることができる。
次に、図9を参照し、本発明の実施形態に係る機械発話の生成について説明する。
図9は、発話における終了時点を推定するように適用された再帰型ニューラルネットワークにおけるセル(RNNセル)950の一例を示す図である。図9に示すように、このセル950は、自動音声認識の結果から判定された第1のユーザ発話の発話行為、上述した予測部によって予測される第2のユーザ発話の発話行為、第1の機械発話の発話行為、及び対話の履歴を示す対話履歴を入力とする。それぞれの入力は、例えばベクトルとして表現されてもよい。
例えば、対話の履歴は、いわゆる「信念状態」(belief state)のベクトルとして表現されてもよい。この信念状態のベクトルは、ある対話において、現在の時点に至るまでの情報(ユーザの要求、対話装置からの提案等)を縮約した状態で記録するベクトルである。
なお、図9に示すように、セル950は、ニューラルネットワークにおいて他のセルの隠れ状態(Hidden states)を受信し、自分の隠れ状態を他のセルに渡すように構成されてもよい。
図9に示す情報を入力したセル950は、第2のユーザ発話に対する第2の機械発話を生成する。ユーザの発話における終了時点がBOP(相槌機会)である場合には、この第2の機会発話は「はい」や「なるほどですね」等の相槌であってもよく、終了時点がEOT「発話終了」である場合には、この第2の機械発話は自然言語生成を用いて生成された応答であってもよい。
なお、セル(RNNセル)950の出力は第2の発話機械に限らず、ユーザの状態を示す情報を含んでもよい。例えば、セル(RNNセル)950は、入力された情報を解析し、「ユーザが検討中」や「ユーザが同行人と相談中」等のユーザ状態を示す情報をベクトルとして出力してもよい。その後、上述した応答生成部は、このユーザ状態を示すベクトルに基づいて、適切な機械発話又は別の行動を決定してもよい。
次に、図10を参照し、本発明の実施形態に係るモデル重み付けの計算の変形例について説明する。
図10は、本発明の実施形態に係るモデル重み付けの計算の変形例を示す図である。図6では、予測部によって予測された発話長短属性を用いて音声特徴モデル及び字句特徴モデルの重み付けを計算する計算部640について説明したが、本実施形態に係る計算部は予測部の機能を担ってもよい。この場合には、発話長短属性を予測するための専用の機能部を設ける必要がないため、メモリやCPUの使用量を削減することができる。
図10に示すように、予測部の機能を担うように構成された計算部1050は、自動音声認識の結果から判定された第1のユーザ発話の発話行為、第2のユーザ発話の発話行為、第1の機械発話の発話行為、対話の履歴を示す対話履歴、字句特徴モデルの処理による遅延時間、音声特徴モデルの信頼値、及び字句特徴モデルの信頼値を入力とする。
その後、計算部1050は、入力した発話行為の情報に基づいてユーザの発話長短属性を推定し、推定した発話長短属性、字句特徴モデルの遅延時間、音声特徴モデルの信頼値、及び字句特徴モデルの信頼値に基づいて、字句特徴モデル及び音声特徴モデルの重み付けを計算してもよい。この重み付けの計算は、図6を参照して説明した処理と実質的に同様であるため、その説明は省略する。
次に、図11を参照して、本発明の実施形態に係る終了時点確率の計算の変形例について説明する。
図11は、本発明の実施形態に係る終了時点確率の計算の変形例を示す図である。以上では、音声特徴と、字句特徴とのうちのいずれか1つを用いて発話の終了時点を推定する処理について説明したが、本発明はそれに限定されず、音声特徴及び字句特徴の両方を用いて発話の終了時点を推定することも可能である。
音声特徴及び字句特徴の両方を用いて発話の終了時点を推定する場合には、まず、ニューラルネットワーク1110は、音声特徴、字句特徴、自動音声認識の結果から判定された第1のユーザ発話の発話行為、第2のユーザ発話の発話行為、第1の機械発話の発話行為、対話の履歴を示す対話履歴、及び字句特徴モデルの処理による遅延時間を入力とする。
続いて、音声特徴モデル1115及び字句特徴モデル1120のそれぞれは、入力した音声特徴及び字句特徴を用いて、発話の終了時点の相槌機会(BOP)の確率と、発話の終了時点の発話終了(EOT)の確率とを平行に計算する。その後、計算部1125は、音声特徴モデル1115及び字句特徴モデル1120が計算したそれぞれの確率を入力し、これらの確率の加重平均値を、例えば音声特徴モデル1115及び字句特徴モデル1120について設定された重み付けに基づいて計算してもよい。この加重平均値は終了時点の最終確率値として、上述した応答生成部に出力されてもよい。そして、応答生成部は、この終了時点の最終確率値を用いて、第2の機械発話を生成してもよい。
以上説明した実施形態により、ユーザの次の発話について予測されている発話の長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させ、ユーザと対話装置との間でより自然な会話を実現させることができる。
本発明に係る実施形態の機能は、ソフトウェアのプログラムコードによっても実現されてもよい。この場合、本発明の機能を実施するためのプログラムコードが記録された記憶媒体が装置やシステムに供給され、当該装置やシステムに搭載されるコンピューティングデバイス(CPU、MPU等)がプログラムコードを読み取って実施してもよい。記憶媒体から読出されたプログラムコードをコンピュータによって実行することで、前述した実施形態の機能が実現されることにとり、当該機能を実施するために用いられたプログラムコード、記憶媒体、及びコンピューティングデバイス自体が本発明の構成要素となる。
プログラムコードを記録するための記憶媒体としては、例えばフレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性メモリカード、ROM等がある。
また、対話装置の出力は、音声に限定されず、テキストを画面に表示するなどの方法で質問や応答をユーザに提示しても良いことはいうまでもない。
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
210 ユーザ
250 対話装置
252 入力部
254 予測部
256 選択部
258 推定部
260 応答生成部
262 ストレージ部
264 音声特徴モデル
266 字句特徴モデル

Claims (10)

  1. 対話装置であって、
    前記対話装置は、
    ユーザ発話の発話長短属性を予測する予測部と、
    前記発話長短属性を用いて、前記ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する選択部と、
    前記選択部が選択した特徴モデルを用いて、前記ユーザ発話の終了時点を推定する推定部と、
    を含む対話装置。
  2. 前記選択部は、
    前記発話長短属性と、前記終了時点の推定が正解である確率を示す信頼値とに基づいて、
    前記音声特徴モデル及び前記字句特徴モデルに対する重み付けを設定し、
    前記音声特徴モデル又は前記字句特徴モデルのいずれかから、所定の重み付け基準を達成するモデルを選択する、
    ことを特徴とする、請求項1に記載の対話装置。
  3. 前記字句特徴モデルは、
    複数のサブモデルを備え、
    前記複数のサブモデルは、前記ユーザ発話における終了時点を所定のワード数前に推定するように訓練された機械学習モデルであって、
    前記選択部は、
    前記字句特徴モデルを用いて前記ユーザ発話における終了時点を推定する場合には、
    前記ユーザ発話における終了時点から、機械発話が出力される時点までの遅延時間を計算し、
    以前のユーザ発話に基づいて、ユーザの発話速度を計算し、
    前記遅延時間及び前記ユーザの発話速度に基づいて、前記複数のサブモデルの中から、前記遅延時間を、所定の時間以内に短縮できるサブモデルを選択する、
    ことを特徴とする、請求項1に記載の対話装置。
  4. 前記字句特徴モデルは、ワード、音素、形態素のうちのいずれか1つを字句特徴として入力し、前記ユーザ発話における終了時点を推定する、
    ことを特徴とする、請求項1に記載の対話装置。
  5. 前記音声特徴モデル及び前記字句特徴モデルはいずれも、
    前記ユーザ発話における前記終了時点が相槌機会である相槌確率と、
    前記ユーザ発話における前記終了時点が発話終了である確率と、
    を計算することを特徴とする、請求項1に記載の対話装置。
  6. 前記対話装置は応答生成部を更に備え、
    前記応答生成部は、
    前記ユーザ発話における終了時点が相槌機会である確率が所定の相槌確率基準を達成する場合には、相槌応答を生成し、出力し、
    前記ユーザ発話における終了時点が発話終了である確率が所定の終了確率基準を達成する場合には、
    自然言語理解の手段を用いて、前記ユーザ発話の内容に応じた前記対話装置によって生成される応答(以下、「機械発話」という。)を生成する、
    ことを特徴とする、請求項5に記載の対話装置。
  7. 前記予測部は、
    前記機械発話の意図を示す機械発話行為を判定し、
    前記機械発話行為に基づいて、前記ユーザ発話を予測し、
    前記ユーザ発話の意図を示すユーザ発話行為を判定することで、
    前記ユーザ発話の発話長短属性を予測する、
    ことを特徴とする、請求項6に記載の対話装置。
  8. 前記音声特徴モデル及び字句特徴モデルは、再帰型ニューラルネットワークによって訓練可能である、
    ことを特徴とする、請求項1に記載の対話装置。
  9. 対話方法であって、
    前記対話方法は、
    ユーザからの発話(以下、「第1のユーザ発話」という)を受信する工程と、
    前記第1のユーザ発話に対する第1の機械発話を生成する工程と、
    前記第1の機械発話に対する第2のユーザ発話の発話長短属性を予測する工程と、
    前記発話長短属性と、前記第2のユーザ発話における終了時点の推定が正解である確率を示す信頼値とに基づいて、音声特徴モデル及び字句特徴モデルに対する重み付けを設定する工程と、
    前記音声特徴モデルの重み付けが所定の重み付け基準を満たす場合には、
    前記音声特徴モデルを用いて、前記第2のユーザ発話における終了時点を推定する工程と、
    前記字句特徴モデルの重み付けが所定の重み付け基準について計算された確率が所定の確率基準を満たす場合には、
    前記第2のユーザ発話における終了時点から、第2の機械発話が出力されるまでの遅延時間を計算する工程と、
    以前のユーザ発話に基づいて、ユーザの発話速度を計算する工程と、
    前記遅延時間及び前記ユーザの発話速度に基づいて、複数のサブモデルの中から、前記遅延時間を、所定の時間以上に短縮できるサブモデルを選択する工程と、
    選択されたサブモデルを用いて、前記第2のユーザ発話における終了時点を推定する工程と、
    を含む対話方法。
  10. 対話装置によって実行される対話コンピュータプログラムであって、
    前記対話コンピュータプログラムは、
    ユーザからの発話(以下、「第1のユーザ発話」という)を受信する工程と、
    前記第1のユーザ発話に対する第1の機械発話を生成する工程と、
    前記第1の機械発話に対する第2のユーザ発話の発話長短属性を予測する工程と、
    前記発話長短属性と、前記第2のユーザ発話における終了時点の推定が正解である確率を示す信頼値とに基づいて、音声特徴モデル及び字句特徴モデルに対する重み付けを設定する工程と、
    前記音声特徴モデルの重み付けが所定の重み付け基準を満たす場合には、
    前記音声特徴モデルを用いて、前記第2のユーザ発話における終了時点を推定する工程と、
    前記字句特徴モデルの重み付けが所定の重み付け基準について計算された確率が所定の確率基準を満たす場合には、
    前記第2のユーザ発話における終了時点から、第2の機械発話が出力されるまでの遅延時間を計算する工程と、
    以前のユーザ発話に基づいて、ユーザの発話速度を計算する工程と、
    前記遅延時間及び前記ユーザの発話速度に基づいて、複数のサブモデルの中から、前記遅延時間を、所定の時間以上に短縮できるサブモデルを選択する工程と、
    選択されたサブモデルを用いて、前記第2のユーザ発話における終了時点を推定する工程と、
    をプロセッサに実行させることを特徴とする対話コンピュータプログラム。
JP2019090423A 2019-05-13 2019-05-13 対話装置、対話方法、及び対話コンピュータプログラム Active JP7229847B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019090423A JP7229847B2 (ja) 2019-05-13 2019-05-13 対話装置、対話方法、及び対話コンピュータプログラム
EP20164080.2A EP3739583B1 (en) 2019-05-13 2020-03-19 Dialog device, dialog method, and dialog computer program
US16/824,634 US11605377B2 (en) 2019-05-13 2020-03-19 Dialog device, dialog method, and dialog computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019090423A JP7229847B2 (ja) 2019-05-13 2019-05-13 対話装置、対話方法、及び対話コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2020187211A JP2020187211A (ja) 2020-11-19
JP2020187211A5 JP2020187211A5 (ja) 2022-02-25
JP7229847B2 true JP7229847B2 (ja) 2023-02-28

Family

ID=69846252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019090423A Active JP7229847B2 (ja) 2019-05-13 2019-05-13 対話装置、対話方法、及び対話コンピュータプログラム

Country Status (3)

Country Link
US (1) US11605377B2 (ja)
EP (1) EP3739583B1 (ja)
JP (1) JP7229847B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7151606B2 (ja) * 2019-04-17 2022-10-12 日本電信電話株式会社 コマンド解析装置、コマンド解析方法、プログラム
US11050885B1 (en) * 2020-06-02 2021-06-29 Bank Of America Corporation Call interception heuristics
US11587567B2 (en) 2021-03-21 2023-02-21 International Business Machines Corporation User utterance generation for counterfactual analysis and improved conversation flow
KR20230158615A (ko) * 2021-08-17 2023-11-20 구글 엘엘씨 자동화된 어시스턴트를 위한 소프트 엔드포인팅을 사용한 자연스러운 대화 활성화
US12020703B2 (en) 2021-08-17 2024-06-25 Google Llc Enabling natural conversations with soft endpointing for an automated assistant
KR20230032086A (ko) * 2021-08-30 2023-03-07 한국전자기술연구원 대화형 에이전트 시스템에서 back-channel 자동 생성 방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069308A1 (ja) 2006-12-08 2008-06-12 Nec Corporation 音声認識装置および音声認識方法
JP2018124484A (ja) 2017-02-02 2018-08-09 トヨタ自動車株式会社 音声認識装置
JP2018523156A (ja) 2015-06-29 2018-08-16 アマゾン テクノロジーズ インコーポレイテッド 言語モデルスピーチエンドポインティング

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177810B2 (en) * 2001-04-10 2007-02-13 Sri International Method and apparatus for performing prosody-based endpointing of a speech signal
US8214213B1 (en) * 2006-04-27 2012-07-03 At&T Intellectual Property Ii, L.P. Speech recognition based on pronunciation modeling
JP4798039B2 (ja) 2007-03-26 2011-10-19 株式会社デンソー 音声対話装置および方法
US7996214B2 (en) * 2007-11-01 2011-08-09 At&T Intellectual Property I, L.P. System and method of exploiting prosodic features for dialog act tagging in a discriminative modeling framework
US9437186B1 (en) 2013-06-19 2016-09-06 Amazon Technologies, Inc. Enhanced endpoint detection for speech recognition
JP5958475B2 (ja) 2014-01-17 2016-08-02 株式会社デンソー 音声認識端末装置、音声認識システム、音声認識方法
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing
US10319374B2 (en) * 2015-11-25 2019-06-11 Baidu USA, LLC Deployed end-to-end speech recognition
US10235994B2 (en) * 2016-03-04 2019-03-19 Microsoft Technology Licensing, Llc Modular deep learning model
US12020174B2 (en) * 2016-08-16 2024-06-25 Ebay Inc. Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog
US10832658B2 (en) * 2017-11-15 2020-11-10 International Business Machines Corporation Quantized dialog language model for dialog systems
US10810996B2 (en) * 2018-07-31 2020-10-20 Nuance Communications, Inc. System and method for performing automatic speech recognition system parameter adjustment via machine learning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069308A1 (ja) 2006-12-08 2008-06-12 Nec Corporation 音声認識装置および音声認識方法
JP2018523156A (ja) 2015-06-29 2018-08-16 アマゾン テクノロジーズ インコーポレイテッド 言語モデルスピーチエンドポインティング
JP2018124484A (ja) 2017-02-02 2018-08-09 トヨタ自動車株式会社 音声認識装置

Also Published As

Publication number Publication date
EP3739583A1 (en) 2020-11-18
EP3739583B1 (en) 2022-09-14
US20200365146A1 (en) 2020-11-19
JP2020187211A (ja) 2020-11-19
US11605377B2 (en) 2023-03-14

Similar Documents

Publication Publication Date Title
JP7229847B2 (ja) 対話装置、対話方法、及び対話コンピュータプログラム
JP7508533B2 (ja) 話者埋め込みと訓練された生成モデルとを使用する話者ダイアライゼーション
JP6538779B2 (ja) 音声対話システム、音声対話方法、および音声対話システムを適合させる方法
US10152971B2 (en) System and method for advanced turn-taking for interactive spoken dialog systems
CN112673421B (zh) 训练和/或使用语言选择模型以自动确定用于口头话语的话音辨识的语言
KR101942521B1 (ko) 음성 엔드포인팅
US9230541B2 (en) Keyword detection for speech recognition
EP3619708B1 (en) Speaker diarization using an end-to-end model
JP7230806B2 (ja) 情報処理装置、及び情報処理方法
JP4729902B2 (ja) 音声対話システム
US10152298B1 (en) Confidence estimation based on frequency
JPWO2019017462A1 (ja) 満足度推定モデル学習装置、満足度推定装置、満足度推定モデル学習方法、満足度推定方法、およびプログラム
EP1385147A2 (en) Method of speech recognition using time-dependent interpolation and hidden dynamic value classes
KR20040088368A (ko) 스위칭 상태 공간 모델들을 갖는 변분 추론을 사용하는음성 인식 방법
CN113744755A (zh) 一种从音频信号生成语音动画的装置及方法
KR20180038707A (ko) 동적 가중치 값과 토픽 정보를 이용하는 음성인식 방법
JP7531164B2 (ja) 発話解析装置、発話解析方法及びプログラム
JP6110283B2 (ja) 共感反感箇所検出装置、共感反感箇所検出方法及びプログラム
CN116229946A (zh) 用于语音识别的系统和方法
JP6629172B2 (ja) 対話制御装置、その方法及びプログラム
KR20210081166A (ko) 다국어 음성 환경에서의 언어 식별 장치 및 방법
US20230343332A1 (en) Joint Segmenting and Automatic Speech Recognition
CN111402893A (zh) 语音识别模型确定方法、语音识别方法及装置、电子设备
JP2024538020A (ja) 自然会話音声システムのための非流暢性検出モデル
JP2024538717A (ja) エンドツーエンド音声認識モデルのオンデバイスバッチ処理のための単語境界を予測すること

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230215

R150 Certificate of patent or registration of utility model

Ref document number: 7229847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150