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

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

Info

Publication number
JP6699748B2
JP6699748B2 JP2018547103A JP2018547103A JP6699748B2 JP 6699748 B2 JP6699748 B2 JP 6699748B2 JP 2018547103 A JP2018547103 A JP 2018547103A JP 2018547103 A JP2018547103 A JP 2018547103A JP 6699748 B2 JP6699748 B2 JP 6699748B2
Authority
JP
Japan
Prior art keywords
keyword
voice
section
utterance
unit
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
JP2018547103A
Other languages
English (en)
Other versions
JPWO2018078885A1 (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
Publication of JPWO2018078885A1 publication Critical patent/JPWO2018078885A1/ja
Application granted granted Critical
Publication of JP6699748B2 publication Critical patent/JP6699748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Description

本発明は、例えば、ユーザと音声により対話する対話装置、対話方法及び対話用コンピュータプログラムに関する。
ユーザが発した音声を対話装置により認識し、その対話装置が認識した結果に応じて音声で応答する技術が研究されている。このような技術では、ユーザが発した音声に対して対話装置が何らかの処理していることをユーザに知らせて、ユーザが不安を感じないようにするために、対話装置が適度に応答することがもとめられる。そこで、ユーザが発した音声に応じて相槌を返す技術が研究されている(例えば、特許文献1及び2を参照)。
例えば、特許文献1に記載された技術では、会話をスタートさせるための質問がスピーカにより出力される。出力された質問に対する音声が入力されると、その音声が認識されて、その音声に該当する登録語が決定される。そして相槌群の中から登録語に応じた相槌が決定され、決定された相槌の合成音声が出力される。
また、特許文献2に開示された技術では、ユーザから発話された音声が認識されるとともに、意味処理タイミング及び応答タイミングが判定される。そして音声認識の結果に基づいて、意味処理タイミングでかつ応答タイミングであると判定されたときに、意味処理を行った内容が反映された音声での応答が行われる。またこの技術では、発話中の無音区間が応答タイミングであるか否か判定され、その無音区間が応答タイミングでないと判定された場合、相槌の音声が出力される。
特開2002−169591号公報 特開2005−196134号公報
対話装置が適切なタイミングで相槌を返すことで、ユーザは、対話装置がユーザの発話に対する処理を実行していることを知ることができるので、ユーザは、不安を感じずに対話装置との対話を行うことができる。しかし、対話装置が相槌を返すタイミングが不適切だと、不自然な対話になってしまうことがある。例えば、特許文献2に記載されているように、無音区間において対話装置が相槌を返す場合において、無音区間がユーザの発話における「間」であると、その「間」の次のユーザの発話と相槌とが重なってしまうことがある。一方、無音区間が開始されてから、ある程度以上経過しても、対話装置が相槌を返さなければ、ユーザは、自身の音声が対話装置により処理されていないと感じて発話を繰り返すことがある。
一つの側面では、本発明は、適切なタイミングでユーザに応答することが可能な対話装置を提供することを目的とする。
一つの実施形態によれば、対話装置が提供される。この対話装置は、ユーザの声が表された音声信号におけるユーザが発話している発話区間からユーザが発話したキーワードを検出するキーワード検出部と、キーワードが検出されると所定区間を設定し、その所定区間において音声信号が第1の時間長にわたって継続して無音となると第1の応答音声を音声出力部を介して出力させる応答部と、を有する。
一つの側面では、本明細書に開示された対話装置は、適切なタイミングでユーザに応答することができる。
図1は、一つの実施形態による対話装置の概略構成図である。 図2は、対話処理に関する処理部の機能ブロック図である。 図3は、音声信号中のキーワードの検出タイミングと、無音検知区間と、相槌の出力タイミングとの関係の一例を表すタイミングチャートである。 図4は、対話処理の動作フローチャートである。
以下、図を参照しつつ、対話装置について説明する。
この対話装置は、ユーザが発した音声を表す音声信号中の発話区間において、ユーザが設定されたキーワードを発したことを認識すると、キーワードが認識されたときから所定区間を設定する。そしてこの対話装置は、その所定区間内において音声信号が第1の時間長にわたって継続して無音となると、相槌の再生音声を出力する。その際、この対話装置は、第1の時間長を、相対的に短く設定することで、適切なタイミングで相槌の再生音声を出力することを可能とする。
なお、この対話装置は、音声認識を利用するマンマシンインターフェースを採用する様々な装置、例えば、ナビゲーションシステム、携帯電話機、コンピュータまたはロボットなどに実装できる。
図1は、一つの実施形態による対話装置の概略構成図である。対話装置1は、マイクロホン11と、アナログ/デジタルコンバータ12と、デジタル/アナログコンバータ13と、スピーカ14と、記憶部15と、処理部16とを有する。なお、対話装置1は、さらに、ユーザを検知するための人感センサ(図示せず)、タッチパネルといったユーザインターフェース(図示せず)及び他の機器と通信するための通信インターフェース(図示せず)などを有していてもよい。
マイクロホン11は、音声入力部の一例であり、ユーザの声を含む、対話装置1の周囲の音を集音し、その音の強度に応じたアナログ音声信号を生成する。そしてマイクロホン11は、そのアナログ音声信号をアナログ/デジタルコンバータ12(以下、A/Dコンバータと表記する)へ出力する。A/Dコンバータ12は、アナログの音声信号を所定のサンプリングレートでサンプリングすることにより、その音声信号をデジタル化する。なお、サンプリングレートは、例えば、音声信号からユーザの声を解析するために必要な周波数帯域がナイキスト周波数以下となるよう、例えば、16kHz〜32kHzに設定される。そしてA/Dコンバータ12は、デジタル化された音声信号を処理部16へ出力する。なお、以下では、デジタル化された音声信号を、単に音声信号と呼ぶ。
デジタル/アナログコンバータ13(以下、D/Aコンバータと表記する)は、処理部16から受信した、デジタルの再生音声信号をアナログの再生音声信号に変換する。そしてD/Aコンバータ13は、アナログ化された再生音声信号をスピーカ14へ出力する。スピーカ14は、音声出力部の一例であり、アナログ化された再生音声信号を音声として出力する。
記憶部15は、例えば、読み書き可能な不揮発性の半導体メモリと、読み書き可能な揮発性の半導体メモリとを有する。さらに、記憶部15は、磁気記録媒体あるいは光記録媒体及びそのアクセス装置を有していてもよい。そして記憶部15は、処理部16上で実行される対話処理で利用される各種のデータ及び対話処理の途中で生成される各種のデータを記憶する。例えば、記憶部15は、認識対象となるキーワード及びキーワードの音素系列、単語辞書、及び、質問とキーワードの対応関係を表すテーブルなどを記憶する。さらに、記憶部15は、質問、相槌または他の応答音声を表す再生音声信号を記憶する。さらに、記憶部15は、音声認識の結果に対して行われる処理に関するプログラム及びそのプログラムで利用される各種のデータを記憶してもよい。
処理部16は、例えば、一つまたは複数のプロセッサと、その周辺回路とを有する。そして処理部16は、対話処理を実行することで、ユーザからの発話に対して相槌の合成音声を出力するタイミングを決定する。さらに、処理部16は、音声信号に基づく音声認識の結果に応じた処理を実行する。
以下、処理部16の詳細について説明する。
図2は、対話処理に関する処理部16の機能ブロック図である。処理部16は、キーワード設定部21と、発話区間開始検出部22と、キーワード検出部23と、応答部24と、音声認識部25とを有する。処理部16が有するこれらの各部は、例えば、処理部16が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、処理部16が有するこれらの各部は、その各部の機能を実現する一つまたは複数の集積回路であってもよい。
処理部16は、例えば、人感センサが対話装置1から所定範囲内にユーザがいることを検知すると、対話処理を開始する。あるいは、処理部16は、ユーザインターフェースに対して所定の操作が行われると、対話処理を開始する。そして処理部16は、対話処理が開始されると、上記の各部の処理を実行する。
キーワード設定部21は、対話処理が開始されると、ユーザに対して発する質問を選択し、選択した質問の内容に応じたキーワードを設定する。例えば、キーワード設定部21は、ユーザインターフェースに対して実行された操作に応じて、予め用意された複数の質問の中から質問を選択する。あるいは、キーワード設定部21は、対話装置1で実行中のアプリケーションに応じて質問を選択してもよい。この場合、例えば、操作の内容、あるいは、アプリケーションの種別と質問との対応関係を表すテーブルが記憶部15に予め記憶される。そして、キーワード設定部21は、そのテーブルを参照して、実行された操作の内容または実行中のアプリケーションの種別に対応する質問を選択すればよい。
キーワード設定部21は、選択した質問に対応する再生音声信号を記憶部15から読出し、その再生音声信号をD/Aコンバータ13を介してスピーカ14へ出力する。そしてスピーカ14により、選択した質問の音声がユーザに対して発せられる。
またキーワード設定部21は、選択した質問に対応するキーワードを設定する。キーワードは、例えば、選択した質問に対して想定される回答に含まれる語句とすることができる。例えば、質問が「何処へ行きますか?」であれば、キーワードは、回答として想定される地名、例えば、「アメリカ」、「京都」などに設定される。また、質問が「何をなさいますか?」であれば、キーワードは、回答として想定される、対話装置1が実装された装置が実行可能な機能の名称に含まれる語句に設定される。例えば、その装置が実行可能な機能が何らかのチケットの予約であれば、キーワードは、「チケット」あるいは「予約」に設定される。
キーワードを設定するために、例えば、質問とキーワードとの対応関係を表すテーブルが予め記憶部15に記憶される。そしてキーワード設定部21は、そのテーブルを参照して、選択した質問に対応するキーワードを設定すればよい。なお、設定されるキーワードは一つであってもよく、あるいは、複数であってもよい。
キーワード設定部21は、設定したキーワードをキーワード検出部23へ通知する。またキーワード設定部21は、発話区間開始検出部22へ、質問が出力されたことを通知する。
対話処理が開始された後、処理部16は、入力された音声信号を、所定長を持つフレーム単位に分割する。フレーム長は、例えば、10msec〜20msecに設定される。そして各フレームは、時間順に発話区間開始検出部22、キーワード検出部23及び音声認識部25に入力される。
発話区間開始検出部22は、質問が出力された後、マイクロホン11及びA/Dコンバータ12を介して処理部16に入力された音声信号から、ユーザが発話している区間である発話区間の開始を検出する。発話区間では音声信号にユーザの声が含まれるため、発話区間における音声信号の信号対雑音比は、発話区間以外における音声信号の信号対雑音比よりも高くなると想定される。そこで、発話区間開始検出部22は、音声信号の信号対雑音比(以下では、単にSN比と表記する)をフレームごとに算出し、そのSN比に基づいて、発話区間の開始を検出する。
発話区間開始検出部22は、フレームが入力される度に、そのフレームについての音声信号のパワーを算出する。発話区間開始検出部22は、例えば、フレームごとに、次式に従ってパワーを算出する。
Figure 0006699748
ここで、Sk(n)は、最新のフレーム(以下、現フレームとも呼ぶ)のn番目のサンプリング点の信号値を表す。kはフレーム番号である。またNは、一つのフレームに含まれるサンプリング点の総数を表す。そしてSpow(k)は、現フレームのパワーを表す。
なお、発話区間開始検出部22は、各フレームについて、複数の周波数のそれぞれごとにパワーを算出してもよい。この場合、キーワード検出部23は、フレームごとに、音声信号を、時間周波数変換を用いて時間領域から周波数領域のスペクトル信号に変換する。なお、発話区間開始検出部22は、時間周波数変換として、例えば、高速フーリエ変換(Fast Fourier Transform,FFT)を用いることができる。そして発話区間開始検出部22は、周波数帯域ごとに、その周波数帯域に含まれるスペクトル信号の2乗和を、その周波数帯域のパワーとして算出できる。
また、発話区間開始検出部22は、フレームごとに、そのフレームにおける音声信号中の推定雑音成分を算出する。本実施形態では、発話区間開始検出部22は、直前のフレームにおいて推定雑音成分を、現フレームのパワーを用いて次式に従って更新することで、現フレームの推定雑音成分を算出する。
Figure 0006699748
ここで、Noise(k-1)は、直前のフレームにおける推定雑音成分を表し、Noise(k)は、現フレームにおける推定雑音成分を表す。またβは、忘却係数であり、例えば、0.9に設定される。
なお、パワーが周波数帯域ごとに算出されている場合には、キーワード検出部は、(2)式に従って、推定される雑音成分を周波数帯域ごとに算出してもよい。この場合には、(2)式において、Noise(k-1)、Noise(k)及びSpow(k)は、それぞれ、着目する周波数帯域についての直前のフレームの推定雑音成分、現フレームの推定雑音成分、パワーとなる。
なお、発話区間開始検出部22は、現フレームのパワーが所定の閾値以下である場合に限り、(2)式に従って推定雑音成分を更新すればよい。そして現フレームのパワーが所定の閾値より大きい場合には、発話区間開始検出部22は、Noise(k)=Noise(k-1)とすればよい。なお、所定の閾値は、例えば、Noise(k-1)に所定のオフセット値を加算した値とすることができる。
発話区間開始検出部22は、フレームごとに、SN比を算出する。例えば、発話区間開始検出部22は、次式に従ってSN比を算出する。
Figure 0006699748
ここで、SNR(k)は、現フレームのSN比を表す。なお、パワー及び推定雑音成分が周波数帯域ごとに算出されている場合には、発話区間開始検出部22は、(3)式に従って、SN比を周波数帯域ごとに算出してもよい。この場合には、(3)式において、Noise(k)、Spow(k)及びSNR(k)は、それぞれ、着目する周波数帯域についての現フレームの推定雑音成分、パワー、SN比となる。
本実施形態では、発話区間開始検出部22は、フレームごとに、そのフレームのSN比を有音判定閾値Thsnrと比較する。なお、有音判定閾値Thsnrは、例えば、音声信号中に推定雑音成分以外の信号成分が含まれることに相当する値、例えば、2〜3に設定される。そして発話区間開始検出部22は、SN比が有音判定閾値Thsnr以上であれば、そのフレームは発話区間に含まれると判定する。
さらに、周波数帯域ごとにSN比が算出されている場合には、発話区間開始検出部22は、SN比が有音判定閾値Thsnr以上となる周波数帯域の数が所定数以上となる場合に、そのフレームは発話区間に含まれると判定してもよい。なお、所定数は、例えば、SN比が算出される周波数帯域の総数の1/2とすることができる。
発話区間開始検出部22は、直前のフレームが発話区間に含まれず(すなわち、直前のフレームにおけるSN比が有音判定閾値Thsnr未満であり)、かつ、現フレームが発話区間に含まれる場合、現フレームから発話区間が開始されたと判定する。あるいは、発話区間開始検出部22は、発話区間に含まれるフレームが所定数(例えば、2〜5フレーム)連続した時点で、その連続するフレームの先頭から発話区間が開始されたと判定してもよい。
発話区間開始検出部22は、発話区間の開始を検出すると、発話区間が開始されたことをキーワード検出部23及び音声認識部25へ通知する。
キーワード検出部23は、発話区間が開始されると、その発話区間内においてキーワード設定部21により設定されたキーワードを検出する。キーワード検出部23は、発話区間に対して、様々なワードスポッティング技術の何れかを適用することで、対象となるキーワードを検出する。例えば、キーワード検出部23は、発話区間内のフレームごとに、ユーザの声の特徴を表す複数の特徴量を算出する。そしてキーワード検出部23は、フレームごとに、各特徴量を要素とする特徴ベクトルを生成する。
例えば、キーワード検出部23は、ユーザの声の特徴を表す特徴量として、メル周波数ケプストラム係数(Mel Frequency Cepstral Coefficient、MFCC)と、それらのΔケプストラム及びΔΔケプストラムを求める。
キーワード検出部23は、発話区間内に、検出対象となるキーワードに相当する長さを持つ検出区間を設定する。そしてキーワード検出部23は、検出区間内の各フレームから抽出された特徴量に基づいて、その検出区間についての最尤音素系列を探索する。なお、最尤音素系列は、最も確からしいと推定される、音声に含まれる各音素をその発声順に並べた音素系列である。
そのために、キーワード検出部23は、例えば、音響モデルとして隠れマルコフモデル(Hidden Markov Model, HMM)を利用し、音声の特徴ベクトルに対する各音素の出力確率を混合正規分布(Gaussian Mixture Model, GMM)により算出するGMM-HMMを用いる。
具体的に、キーワード検出部23は、検出区間中のフレームごとに、そのフレームの特徴ベクトルをGMMに入力することで、そのフレームについての、各音素に対応するHMMの各状態の出力確率を算出する。また、キーワード検出部23は、各フレームから算出された特徴ベクトルに対して、特徴ベクトルの要素ごとに平均値を推定してその要素の値から推定した平均値を差し引くCepstral Mean Normalization(CMN)と呼ばれる正規化を実行してもよい。そしてキーワード検出部23は、正規化された特徴ベクトルをGMMに入力してもよい。
キーワード検出部23は、フレームごとに、得られた出力確率を音素HMMの対応する状態についての出力確率として用いることで、着目する検出区間について、累積対数尤度が最大となる音素系列を最尤音素系列として求める。
例えば、キーワード検出部23は、遷移元である前のフレームの音素候補のHMMの状態から遷移先である現在のフレームのある音素候補のHMMの状態へ遷移する確率(状態遷移確率)の対数化値を算出する。さらに、キーワード検出部23は、現在のフレームのある音素候補のHMMの状態における出力確率の対数化値を算出する。そしてキーワード検出部23は、それらの対数化値を、前のフレームまでの音素候補のHMMの状態における累積対数尤度に加算することで、現在のフレームのある音素候補のHMMの状態における累積対数尤度を算出する。その際、キーワード検出部23は、遷移元の音素候補のHMMの状態の中から、遷移先である現在のフレームのある音素候補のHMMの状態に遷移した場合に、尤も累積対数尤度が大きい遷移元の音素候補を選択する。キーワード検出部23は、その選択を現在のフレームにおけるすべての音素候補のHMMの状態について行うViterbi演算を検出区間の最後のフレームまで進める。なお、キーワード検出部23は、上記の合計が所定値以上となる状態遷移を選択してもよい。そしてキーワード検出部23は、最後のフレームにおける累積対数尤度が最大となる状態を選び、その状態に到達するまでの状態遷移の履歴(Viterbiパス)をバックトラックすることにより求め、Viterbiパスに基づいてその音声区間における最尤音素系列を求める。
キーワード検出部23は、最尤音素系列と、検出対象となるキーワードの発声を表す音素系列(以下、単にキーワード音素系列と呼ぶ)とを比較することで、検出区間においてそのキーワードが発話されたか否かを判定する。例えば、キーワード検出部23は、最尤音素系列と、キーワード音素系列の一致度を算出し、一致度が一致判定閾値以上であれば、検出区間においてキーワードが発声されたと判定する。なお、一致度として、例えば、キーワード検出部23は、キーワード音素系列に含まれる音素の総数に対する、キーワード音素系列と最尤音素系列との間で一致した音素の数の比を算出する。あるいは、キーワード検出部23は、キーワード音素系列と最尤音素系列との間で動的計画法マッチングを行って、レーベンシュタイン距離LD(編集距離とも呼ばれる)を算出してもよい。そしてキーワード検出部23は、1/(1+LD)を一致度として算出してもよい。
キーワード検出部23は、検出区間においてキーワードが発話されていると判定すると、キーワードが検出されたことを応答部24へ通知する。
一方、キーワード検出部23は、一致度が一致判定閾値未満であれば、検出区間では検出対象となるキーワードは発話されていないと判定する。そしてキーワード検出部23は、発話区間中で所定数のフレーム(例えば、1〜2フレーム)だけ検出区間の開始タイミングを遅らせて、検出区間を再設定し、再設定した検出区間に対して上記の処理を実行して、キーワードが発話されたか否かを判定すればよい。なお、検出区間の開始タイミングから発話区間の終了までの長さが、検出区間の長さよりも短い場合には、キーワード検出部23は、キーワードを検出しなくてもよい。
また、キーワード検出部23は、音声信号が第2の時間長にわたって継続して無音となると、すなわち、ユーザの声が含まれない無音区間に相当するフレームが第2の時間長に対応する数だけ連続すると、発話区間が終了したと判定する。第2の時間長は、ユーザの発話中の「間」をユーザの発話の終了と誤検出しないように、例えば、500ミリ秒間〜1秒間に設定される。なお、キーワード検出部23は、例えば、SN比が有音判定閾値Thsnr未満となるフレームが無音区間に含まれると判定すればよい。そしてキーワード検出部23は、発話区間が終了したことを応答部24及び音声認識部25へ通知する。
応答部24は、キーワードが検出されたことが通知されると、無音検知区間を設定する。そして応答部24は、無音検知区間内において音声信号が第1の時間長にわたって継続して無音となると、すなわち、無音区間に相当するフレームが第1の時間長に対応する数だけ連続すると、相槌の再生音声信号を出力する。なお、相槌は、応答音声の一例である。
無音検知区間の長さは、例えば、ユーザが検出対象となるキーワードを発話してから発話を終了するまでの想定時間に応じて予め設定される。例えば、無音検知区間は、1秒間〜数秒間に設定される。なお、無音検知区間の長さは、検出対象となるキーワードごとに設定されてもよい。この場合には、例えば、記憶部15に、キーワードと無音検知区間の長さとの対応関係を表すテーブルが予め記憶され、応答部24は、そのテーブルを参照して、検出対象となるキーワードに対応する無音検知区間の長さを設定すればよい。これにより、応答部24は、キーワードに応じて、キーワードの発話から発話区間の終了までの長さに合わせて無音検知区間の長さを適切に設定できる。
応答部24は、無音検知区間が開始されると、無音検知区間内のフレームごとのSN比に応じて、無音区間に含まれるフレームを検出する。例えば、応答部24は、現フレームのSN比が有音判定閾値Thsnr未満であれば、現フレームは無音区間に含まれると判定する。
応答部24は、無音区間が第1の時間長にわたって継続するか否か判定する。そして応答部24は、無音区間が第1の時間長にわたって継続した場合、発話区間が終了したと判定する。そして応答部24は、相槌の再生音声信号を記憶部15から読み込み、その再生音声信号をD/Aコンバータ13を介してスピーカ14へ出力する。そしてスピーカ14により、相槌の音声が再生される。また、応答部24は、発話区間が終了したことを音声認識部25へ通知する。
ここで、第1の時間長は、第2の時間長よりも短い期間に設定される。例えば、第1の時間長は、例えば、数10ミリ秒間〜100ミリ秒間に設定される。これにより、対話装置1は、ユーザが発話を終えてから対話装置1が相槌を返すまでの待機時間を短くできる。またこの実施形態によれば、キーワードが検出されてから無音検知区間が設定されているので、その無音検知区間においてユーザの発話が終了することが想定されている。そのため、このように第1の時間長が比較的短く設定されても、ユーザの発話中の「間」を発話区間の終了と誤検出することが抑制される。さらに、その「間」において対話装置1が相槌を返してしまい、相槌とユーザの発話とが重なったり、あるいは、ユーザの発話を遮ることが抑制される。
なお、相槌は予め複数用意されていてもよい。そして応答部24は、複数の相槌の中からランダムに何れかの相槌を選択してもよい。あるいは、応答部24は、複数の相槌の中から、検出対象となるキーワードに応じて相槌を選択してもよい。そして、応答部24は、選択した相槌に対応する再生音声信号を記憶部15から読み出して、D/Aコンバータ13を介してスピーカ14へ出力してもよい。
さらに、応答部24は、キーワードが検出されていないとき、すなわち、無音検知区間が設定されていないときに、キーワード検出部23から発話区間の終了を通知された場合も、相槌の再生音声信号を出力してもよい。これにより、ユーザが想定されるキーワードを発話しなかった場合でも、対話装置1は、ユーザが発話を終了したときに相槌を返すので、ユーザが不安に感じることを抑制できる。
図3は、音声信号中のキーワードの検出タイミングと、無音検知区間と、相槌の出力タイミングとの関係の一例を表すタイミングチャートである。図3において、横軸は時間を表す。一番上には、マイクロホン11を介して入力される音声信号301が示される。この例では、時刻t0〜t4の間にユーザが「え〜っと・・・アメリカに行きます」と発話したものとする。上から2番目のチャート302は、キーワードが検出されるタイミングを表す。この例では、時刻t3において、キーワード「アメリカ」が検出される。
上から3番目のチャート303は、無音検知区間が設定されるタイミングを表す。この例では、キーワード「アメリカ」が検出された時刻t3から時刻t6まで、無音検知区間が設定される。
上から4番目のチャート304は、検出される無音区間を表す。この例では、発話中の「間」に相当する時刻t1〜t2の間、及び、発話が終了した時刻t4以降において無音区間が検出される。時刻t1〜t2は、無音検知区間には含まれず、一方、時刻t4は、無音検知区間に含まれている。そして一番下から2番目のチャート305は、キーワード検出後の無音検知区間において第1の時間長にわたって無音区間が継続した場合における、相槌が再生されるタイミングを表す。この例では、時刻t4から第1の時間長だけ経過した時刻t5において、相槌「はい」が再生される。
一番下のチャート306は、発話区間中においてキーワードが検出されなかった場合における、相槌が再生されるタイミングを表す。この場合には、時刻t1〜t2の「間」を発話区間の終了と誤検出することを防止するため、時刻t4から第2の時間長だけ経過した、時刻t5よりも後の時刻t7において、相槌が再生されることになる。
このように、キーワードが検出されている場合におけるユーザの発話が終了してから相槌が返されるまでの待機時間は、キーワードが検出されていない場合の待機時間よりも短くて済む。
なお、無音検知区間内に、一定時間継続した無音区間が検知されなければ、応答部24は、無音検知区間をリセットする。
音声認識部25は、発話区間が終了すると、発話区間全体に対して音声認識処理を実行して、その発話区間におけるユーザの発話内容を認識する。
音声認識部25は、発話区間全体にわたって最尤音素系列をもとめる。そのために、音声認識部25は、発話区間開始後においてフレームが入力される度に、キーワード検出部23と同様に、そのフレームから人の声の特徴を表す複数の特徴量を含む特徴ベクトルを生成する。なお、音声認識部25は、キーワード検出部23が特徴ベクトルを算出しているフレームについては、その特徴ベクトルを利用してもよい。
そして音声認識部25は、キーワード検出部23または応答部24から発話区間が終了したことを通知されると、その発話区間全体に対して最尤音素系列を求める。その際、音声認識部25は、キーワード検出部23と同様に、GMM-HMMを利用して、フレームごとに得られた出力確率を音素HMMの対応する状態についての出力確率として用いることで、累積対数尤度が最大となる音素系列を最尤音素系列として求めればよい。
音声認識部25は、単語ごとの音素系列を表す単語辞書を参照して、発話区間の最尤音素系列と一致する音素系列を持つ単語の組み合わせを言語モデルに従って検出することで、発話区間内の発話内容を認識する。あるいは、音声認識部25は、最尤音素系列から発話内容を認識するための他の技術を利用して、発話区間におけるユーザの発話内容を認識してもよい。
処理部16は、認識したユーザの発話内容と、処理部16にて実行されるアプリケーションとに応じた処理を実行する。例えば、処理部16は、発話内容に応じた応答語句を生成し、その応答語句に応じた合成音声信号を生成してもよい。そして処理部16は、生成した合成音声信号を、D/Aコンバータ13を介してスピーカ14へ出力してもよい。その際、処理部16は、例えば、発話内容を表す文字列を入力することで応答語句を生成するように予め生成されたニューラルネットワークなどを利用して、応答語句を生成してもよい。
あるいは、処理部16は、発話内容に応じた単語の組み合わせをクエリとして、対話装置1と接続されたネットワーク上で探索処理を実行してもよい。あるいはまた、処理部16は、発話内容を表す文字列と、対話装置1が実装された装置の操作コマンドとを比較し、発話内容を表す文字列が何れかの操作コマンドと一致する場合に、その操作コマンドに応じた処理を実行してもよい。
図4は、本実施形態による、対話処理の動作フローチャートである。
キーワード設定部21は、ユーザに発する質問を選択し、選択した質問の再生音声信号をD/Aコンバータ13を介してスピーカ14へ出力する(ステップS101)。また、キーワード設定部21は、選択した質問に応じたキーワードを設定する(ステップS102)。
発話区間開始検出部22は、マイクロホン11及びA/Dコンバータ12を介して入力された音声信号において発話区間が開始されたか否か判定する(ステップS103)。発話区間が開始されていなければ(ステップS103−No)、発話区間開始検出部22は、ステップS103の処理を繰り返す。一方、発話区間開始検出部22は、発話区間の開始を検出すると(ステップS103−Yes)、発話区間が開始されたことをキーワード検出部23及び音声認識部25へ通知する。そしてキーワード検出部23は、キーワード検出を開始するとともに、音声認識部25は、音声認識を開始する(ステップS104)。
キーワード検出部23は、発話区間に設定した検出区間においてキーワードが検出されたか否か判定する(ステップS105)。キーワードが検出された場合(ステップS105−Yes)、キーワード検出部23は、キーワードが検出されたことを応答部24へ通知する。そして応答部24は、無音検知区間を設定する(ステップS106)。
応答部24は、無音検知区間内で音声信号が第1の時間長にわたって継続して無音となったか否か判定する(ステップS107)。無音検知区間内で第1の時間長にわたって継続した無音区間が検知されていなければ(ステップS107−No)、応答部24は、無音検知区間が経過したか否か判定する(ステップS108)。無音検知区間が経過していなければ(ステップS108−No)、応答部24は、次フレーム以降について、ステップS107の処理を繰り返す。一方、無音検知区間が経過していれば(ステップS108−Yes)、応答部24は、無音検知区間をリセットする(ステップS109)。そして処理部16は、ステップS105以降の処理を繰り返す。
一方、ステップS107において、無音検知区間内で第1の時間長にわたって継続した無音区間が検知されると(ステップS107−Yes)、応答部24は、相槌の再生音声信号をD/Aコンバータ13を介してスピーカ14へ出力する(ステップS110)。さらに、応答部24は、発話区間が終了したことを音声認識部25へ通知する。
音声認識部25は、発話区間全体にわたって音声認識処理を実行して、発話区間中のユーザの発話内容を認識する(ステップS111)。そして処理部16は、認識された発話内容に応じた処理を実行する(ステップS112)。
また、ステップS105において、キーワードが検出されなかった場合(ステップS105−No)、キーワード検出部23は、無音区間が第2の時間長にわたって継続したか否か判定する(ステップS113)。第2の時間長にわたって継続した無音区間が検知されていなければ(ステップS113−No)、キーワード検出部23は、キーワードの検出区間を所定フレーム数だけ遅らせて、ステップS105以降の処理を繰り返す。
一方、無音区間が第2の時間長にわたって継続したことが検知されれば(ステップS113−Yes)、キーワード検出部23は、発話区間が終了したことを応答部24及び音声認識部25に通知する。そして処理部16は、ステップS110〜S112の処理を実行する。処理部16は、ステップS112の後、対話処理を終了する。
以上に説明してきたように、この対話装置は、入力された音声信号から、質問に応じたキーワードを検出すると、無音検知区間を設定する。そしてこの対話装置は、無音検知区間において、比較的短い第1の時間長にわたって、無音区間が継続したことを検知すると、相槌の再生音声信号を出力する。そのため、この対話装置は、ユーザの発話が終了してから相槌の再生音声を出力するまでの待機時間を短くできるので、ユーザに対して適切なタイミングで応答できる。
なお、変形例によれば、発話区間開始検出部22、キーワード検出部23及び応答部24は、フレームごとのパワーに基づいて、フレームが発話区間に含まれるか否かを検出してもよい。この場合には、発話区間開始検出部22、キーワード検出部23及び応答部24は、現フレームのパワーが所定のパワー閾値Thp以上であれば、現フレームは発話区間に含まれると判定してもよい。そして発話区間開始検出部22、キーワード検出部23及び応答部24は、そのパワーが所定のパワー閾値Thp未満であれば、現フレームは無音区間に含まれると判定してもよい。
また他の変形例によれば、発話区間開始検出部22、キーワード検出部23及び応答部24は、フレームごとの音声信号の周期性の強さを表すピッチゲインに基づいて、フレームが発話区間に含まれるか否かを検出してもよい。
この場合、発話区間開始検出部22は、フレームごとに、音声信号の長期自己相関C(d)を、遅延量d∈{dlow,...,dhigh}について算出する。
Figure 0006699748
ここで、Sk(n)は、現フレームkのn番目の信号値である。またNは、フレームに含まれるサンプリング点の総数を表す。なお、(n-d)が負となる場合、直前のフレームの対応する信号値(すなわち、Sk-1(N-(n-d)))がSk(n-d)として用いられる。そして遅延量dの範囲{dlow,...,dhigh}は、人の声の基本周波数(100〜300Hz)に相当する遅延量が含まれるように設定される。ピッチゲインは、基本周波数において最も高くなるためである。例えば、サンプリングレートが16kHzである場合、dlow=40、dhigh=286に設定される。
発話区間開始検出部22は、遅延量の範囲に含まれる遅延量dごとに長期自己相関C(d)を算出すると、長期自己相関C(d)のうちの最大値C(dmax)を求める。なお、dmaxは、長期自己相関C(d)の最大値C(dmax)に対応する遅延量であり、この遅延量はピッチ周期に相当する。そして発話区間開始検出部22は、次式に従ってピッチゲインgpitchを算出する。
Figure 0006699748
発話区間開始検出部22は、現フレームのピッチゲインgpitchが所定の閾値以上であれば、現フレームは発話区間に含まれると判定する。キーワード検出部23及び応答部24も、同様に、フレームごとにピッチゲインgpitchを算出し、ピッチゲインgpitchが所定の閾値未満となるフレームが無音区間に含まれると判定すればよい。このように、ピッチゲインを発話区間の検出に利用することで、対話装置1は、雑音が比較的大きい環境でも、発話区間と無音区間とを正確に区別することができる。そのため、対話装置1は、雑音が比較的大きい環境でも、相槌を返すタイミングを適切に決定できる。
さらに他の変形例によれば、応答部24は、キーワード検出後の無音検知区間内において無音区間が第1の時間長にわたって継続したときの相槌と、キーワードが検出されずに、発話区間が終了したときの相槌とを異ならせてもよい。キーワードが検出された場合には、ユーザは、質問に対して明りょうな回答を発話している可能性が高い。そこで、応答部24は、キーワード検出後の無音検知区間内において第1の時間長にわたって継続した無音区間したときの相槌を、肯定的な相槌、例えば、「はい」、「なるほど」、「了解しました」などとする。一方、キーワードが検出されずに発話区間が終了した場合には、ユーザは、質問に対して想定される回答と異なる回答をしたか、あるいは、回答を保留してあいまいな言葉(例えば、「う〜ん」、「どうしようかな」)を発していると想定される。そこで、応答部24は、キーワードが検出されずに発話区間が終了した場合の相槌を、回答を促すような相槌、例えば、「どうぞ」、「もう一度お願いします」などとすればよい。これにより、対話装置1は、ユーザの回答状況によらず、ユーザの発話に対する処理を実行していることをユーザに示すことができる。
さらに他の変形例によれば、対話装置1の使用環境に応じて予め質問及びキーワードは設定されていてもよい。この場合には、キーワード設定部21は省略されてもよい。そして処理部16は、例えば、対話装置1のユーザインターフェースに対して所定の操作が実行されると、その質問の再生音声信号を記憶部15から読み込んで、D/Aコンバータ13を介してスピーカ14へ出力すればよい。
さらに他の変形例によれば、応答部24は、発話区間中においてキーワードが検出されなければ、発話区間の終了が検知されても、相槌の再生音声信号をスピーカ14へ出力しないようにしてもよい。この場合には、音声認識部25により認識された、発話区間の発話内容に対して行われた処理の結果が、スピーカ14またはユーザインターフェースを介してユーザに通知されてもよい。
上記の実施形態または変形例による対話装置の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、磁気記録媒体または光記録媒体といったコンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
1 対話装置
11 マイクロホン
12 アナログ/デジタルコンバータ
13 デジタル/アナログコンバータ
14 スピーカ
15 記憶部
16 処理部
21 キーワード設定部
22 発話区間開始検出部
23 キーワード検出部
24 応答部
25 音声認識部

Claims (6)

  1. ユーザの声が表された音声信号における前記ユーザが発話している発話区間から前記ユーザが発話したキーワードを検出するキーワード検出部と、
    前記キーワードが検出されると所定区間を設定し、前記所定区間において前記音声信号が第1の時間長にわたって継続して無音となると第1の応答音声を音声出力部を介して出力させる応答部と、
    を有する対話装置。
  2. 前記応答部は、前記発話区間の開始後において前記キーワードが検出されていないときに前記音声信号が前記第1の時間長よりも長い第2の時間長にわたって継続して無音となると第2の応答音声を前記音声出力部を介して出力させる、請求項1に記載の対話装置。
  3. 前記第2の応答音声は、前記第1の応答音声と異なる音声である、請求項2に記載の対話装置。
  4. 前記ユーザに対する質問の音声を前記音声出力部を介して出力させるとともに、前記質問の内容に応じて前記キーワードを設定するキーワード設定部をさらに有する、請求項1〜3の何れか一項に記載の対話装置。
  5. プロセッサにより、ユーザの声が表された音声信号における前記ユーザが発話している発話区間から前記ユーザが発話したキーワードを検出し、
    前記プロセッサにより、前記キーワードが検出されると所定区間を設定し、
    前記プロセッサにより、前記所定区間において前記音声信号が第1の時間長にわたって継続して無音となると第1の応答音声を音声出力部を介して出力させる、
    ことを含む対話方法。
  6. ユーザの声が表された音声信号における前記ユーザが発話している発話区間から前記ユーザが発話したキーワードを検出し、
    前記キーワードが検出されると所定区間を設定し、
    前記所定区間において前記音声信号が第1の時間長にわたって継続して無音となると第1の応答音声を音声出力部を介して出力させる、
    ことをコンピュータに実行させるための対話用コンピュータプログラム。
JP2018547103A 2016-10-31 2016-10-31 対話装置、対話方法及び対話用コンピュータプログラム Active JP6699748B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/082355 WO2018078885A1 (ja) 2016-10-31 2016-10-31 対話装置、対話方法及び対話用コンピュータプログラム

Publications (2)

Publication Number Publication Date
JPWO2018078885A1 JPWO2018078885A1 (ja) 2019-06-24
JP6699748B2 true JP6699748B2 (ja) 2020-05-27

Family

ID=62024610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018547103A Active JP6699748B2 (ja) 2016-10-31 2016-10-31 対話装置、対話方法及び対話用コンピュータプログラム

Country Status (2)

Country Link
JP (1) JP6699748B2 (ja)
WO (1) WO2018078885A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019211599A (ja) * 2018-06-04 2019-12-12 本田技研工業株式会社 音声認識装置、音声認識方法およびプログラム
JP7248087B2 (ja) * 2018-09-11 2023-03-29 日本電信電話株式会社 連続発話推定装置、連続発話推定方法、およびプログラム
JP6992713B2 (ja) * 2018-09-11 2022-01-13 日本電信電話株式会社 連続発話推定装置、連続発話推定方法、およびプログラム
JP7001029B2 (ja) * 2018-09-11 2022-01-19 日本電信電話株式会社 キーワード検出装置、キーワード検出方法、およびプログラム
JP7251953B2 (ja) * 2018-11-19 2023-04-04 トヨタ自動車株式会社 音声認識装置、音声認識方法及び音声認識プログラム
CN114898755B (zh) * 2022-07-14 2023-01-17 科大讯飞股份有限公司 语音处理方法及相关装置、电子设备、存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03248268A (ja) * 1990-02-26 1991-11-06 Nec Corp 音声対話処理方式
JP3199972B2 (ja) * 1995-02-08 2001-08-20 シャープ株式会社 あいづち応答のある対話装置

Also Published As

Publication number Publication date
WO2018078885A1 (ja) 2018-05-03
JPWO2018078885A1 (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
US11710478B2 (en) Pre-wakeword speech processing
US11514901B2 (en) Anchored speech detection and speech recognition
US11854545B2 (en) Privacy mode based on speaker identifier
JP6699748B2 (ja) 対話装置、対話方法及び対話用コンピュータプログラム
US10923111B1 (en) Speech detection and speech recognition
US11361763B1 (en) Detecting system-directed speech
EP3314606B1 (en) Language model speech endpointing
US9484030B1 (en) Audio triggered commands
US10522134B1 (en) Speech based user recognition
EP1936606B1 (en) Multi-stage speech recognition
US11935525B1 (en) Speech processing optimizations based on microphone array
US20150154953A1 (en) Generation of wake-up words
EP2048655A1 (en) Context sensitive multi-stage speech recognition
JP6812843B2 (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
US20060206326A1 (en) Speech recognition method
US11302329B1 (en) Acoustic event detection
US20190180758A1 (en) Voice processing apparatus, voice processing method, and non-transitory computer-readable storage medium for storing program
JP6690484B2 (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
JP4758919B2 (ja) 音声認識装置及び音声認識プログラム
JP4791857B2 (ja) 発話区間検出装置及び発話区間検出プログラム
JP4700522B2 (ja) 音声認識装置及び音声認識プログラム
JP2009116075A (ja) 音声認識装置
US11735178B1 (en) Speech-processing system
JP4749990B2 (ja) 音声認識装置
Koo et al. The development of automatic speech recognition software for portable devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200413

R150 Certificate of patent or registration of utility model

Ref document number: 6699748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150