(57)【要約】【課題】  発話区間の語尾の音高遷移のみでは発話者の意図を判断することが困難である場合においても適切に発話者の意図を判断する。【解決手段】  音声信号の中に１つの発話区間に含まれる複数の部分発話区間を特定し、部分発話区間毎に音声信号の変化を分析する。具体的には、音声信号を、各々の間に継続時間長が時間閾値ＴＨ４より長い無音区間を挟む発話区間ＵＰ１に区切るとともに、各発話区間を、継続時間長が時間閾値ＴＨ４より短い無音区間を間に挟んだ１または複数の部分発話区間ＰＵＰ１〜ＰＵＰ３に区切る。【選択図】図２
2020067495.tif 000002
【特許請求の範囲】
【請求項１】
音声信号の中に１つの発話区間に含まれる複数の部分発話区間を特定する特定部と、
部分発話区間毎に音声信号の変化を分析する分析部と
を有する音声分析装置。
【請求項２】
前記特定部は、前記音声信号の中に、第１判定基準により発話終了が判定された終期を有する前記発話区間を特定し、前記音声信号の中に、前記第１判定基準とは異なる第２判定基準により発話終了が判定された終期を有する前記複数の部分発話区間を特定する請求項１に記載の音声分析装置。
【請求項３】
前記特定部は、前記音声信号の中に、継続時間長が時間閾値より長い無音区間を挟む発話区間を特定し、前記音声信号の中に、継続時間長が前記時間閾値より短い短無音区間を間に挟んだ前記複数の部分発話区間を特定する請求項１に記載の音声分析装置。
【請求項４】
前記特定部は、前記音声信号の音量が第１の音量閾値を超えるタイミングを前記部分発話区間の始期とし、前記音声信号の音量が前記第１の音量閾値より低い第２の音量閾値未満になるタイミングを前記部分発話区間の終期とする請求項１〜３のいずれか１の請求項に記載の音声分析装置。
【請求項５】
請求項１〜４のいずれか１の請求項に記載の音声分析装置を備えた音声合成装置であって、前記発話区間毎に、前記発話区間毎の分析結果に基づき、その発話区間の音声に対する応答音声を合成する音声合成装置。
【請求項６】
音声信号の中に１つの発話区間に含まれる複数の部分発話区間を特定し、
部分発話区間毎に音声信号の変化を分析する音声分析方法。
【請求項７】
コンピュータを、
音声信号の中に１つの発話区間に含まれる複数の部分発話区間を特定する特定部と、
部分発話区間毎に音声信号の変化を分析する分析部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、対話装置等に好適な音声分析装置、音声分析方法および音声分析プログラムに関する。
【背景技術】
【０００２】
利用者の発話に対して応答を提供する対話装置において、自然な対話を実現するためには、対話装置側が、利用者の発話の音高変化等の態様に基づいて、発話者の意図を判断し、発話者の意図に対応した応答を提供する必要がある。このような要求に応える技術として、例えば特許文献１に開示された技術がある。特許文献１に開示の技術では、発話区間の語尾の音高変化に基づいて応答を制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−６９０３８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
音声信号から発話区間を抽出し、この発話区間の末尾の音高の遷移から発話者の意図を判断する場合において、発話区間中に疑問を意図する音高の遷移があると、意図の判断が困難になる場合がある。
【０００５】
以下の例では、句読点は音高の下降遷移、疑問符は音高の上昇遷移を表すものとする。
例１：「今日、ラーメンでいい？」
例２：「今日、ラーメンでいい？ね。」
例３：「今日、ラーメンでいい？ね？」
【０００６】
例１において、対話装置は、発話区間単位で音声の分析を行った場合、発話区間の末尾「いい？」の音高の上昇遷移を検出するため、疑問の意図があると判断し、予め疑問の意図の問いかけに対して録音された応答を出力する。この場合、適切な対話が実現される。
【０００７】
例２において、対話装置は、発話区間単位で音声の分析を行った場合、発話区間の末尾「ね。」の音高の下降遷移を検出するため、確認の意図があると判断し、予め確認の意図の問いかけに対して録音された応答を出力する。この場合、末尾「ね。」の前の「いい？」の音高が上昇遷移しており、疑問の意図を表している。従って、応答が発話者の意図に沿わず、不適切な対話となる。
【０００８】
例３において、対話装置は、発話区間単位で音声の分析を行った場合、発話区間の末尾「ね？」の音高の上昇遷移を検出するため、疑問の意図があると判断し、予め疑問の意図の問いかけに対して録音された応答を出力する。しかし、対話装置は、発話者の意図に関する判断において、末尾「ね？」の前の「いい？」の音高の上昇遷移を考慮しないため、疑問の意図の強度を判断し損なう。このため、不適切な対話となる。
【０００９】
発話者に対して適切な応答をするため、発話の音声認識を行って発話者の意図を分析することも考えられる。しかし、音声認識を行うとすると、装置が大規模化し、かつ、発話から応答までの時間が長くなる問題がある。
【００１０】
この発明は以上のような事情に鑑みてなされたものであり、発話区間の語尾の音高遷移のみでは発話者の意図を判断することが困難である場合においても適切かつ簡易に発話者の意図を判断することができる技術的手段を提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明は、音声信号の中に１つの発話区間に含まれる複数の部分発話区間を特定する特定部と、部分発話区間毎に音声信号の変化を分析する分析部とを有する音声分析装置を提供する。
【図面の簡単な説明】
【００１２】
【図１】この発明の一実施形態である対話装置の構成を示すブロック図である。
【図２】同対話装置の音声分析装置としての機能を説明するタイムチャートである。
【図３】同実施形態における制御装置が音声分析プログラムを実行することにより実現される機能の構成を示す機能ブロック図である。
【図４】同音声分析プログラムの処理内容を示すフローチャートである。
【図５】同音声分析プログラムの発話区間処理の処理内容を示すフローチャートである。
【図６】同実施形態の第１動作例を示すタイムチャートである。
【図７】同実施形態の第２動作例を示すタイムチャートである。
【図８】同実施形態の第３動作例を示すタイムチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照し、この発明の実施形態について説明する。
【００１４】
図１はこの発明による音声分析装置の一実施形態である対話装置の構成を示すブロック図である。この対話装置は、制御装置１と、演算装置２と、記憶装置３と、表示装置４と、操作装置５と、収音装置６と、放音装置７とを有する。
【００１５】
制御装置１は、対話装置の制御中枢であり、ＣＰＵにより構成されている。記憶装置３は、ＲＡＭ等の揮発性記憶部と、ＲＯＭやハードディスク等の不揮発性記憶部とを有する。不揮発性記憶部には、各種のプログラムが記憶されている。これらのプログラムには、ユーザの発話音声を分析する音声分析プログラムと、発話音声の分析結果に基づいてユーザの発話音声に対する応答音声を合成する音声合成プログラムが含まれる。制御装置１は、揮発性記憶部をワークエリアとして使用し、不揮発性記憶部に記憶された各プログラムを実行する。演算装置２は、例えばＤＳＰであり、制御装置１が音声分析プログラムや音声合成プログラムを実行する際に、制御装置１による制御の下、音声分析や音声合成のための演算処理を実行する。表示装置４は、例えば液晶パネルであり、ユーザに対して各種の情報表示を行う。操作装置５は、キーボードやマウス等、ユーザからの指示を受け取るための各種の操作子を含む。収音装置６は、ユーザの発話音声を収音するマイクロホンと、このマイクロホンが出力するアナログ音声信号をＡ／Ｄ変換し、音声信号のサンプル列を出力するＡ／Ｄ変換器を含む。制御装置１は、この収音装置６によって出力される音声信号のサンプル列を処理対象とし、上述した音声分析プログラムを実行するとともに、音声合成プログラムを実行し、応答音声のサンプル列を出力する。放音装置７は、この応答音声のサンプル列をＤ／Ａ変換してアナログ音声信号を出力するＤ／Ａ変換器と、このアナログ音声信号を音声として放音するスピーカとを含む。
【００１６】
本実施形態において、制御装置１は、音声分析プログラムを実行することにより音声分析装置として機能する。図２は制御装置１の音声分析装置としての機能を説明するタイムチャートである。図２において、横軸は時刻、縦軸は処理対象である音声信号の音量（音圧レベル）である。
【００１７】
本実施形態において、制御装置１は、収音装置６から出力される音声信号のサンプル列を一定時間長のフレームに分割し、各フレームの発生時刻を監視しつつ、音声分析プログラム１０を実行する。図３は本実施形態において、制御装置１が音声分析プログラム１０を実行することにより実現される機能の構成を示す機能ブロック図である。図３に示すように、音声分析プログラム１０に基づくこの機能構成は、特定部１１と、分析部１２とを含む。特定部１１（制御装置１）は、音声信号の中に１つの発話区間ＵＰ１に含まれる複数の部分発話区間ＰＵＰ１〜ＰＵＰ３を特定する。分析部１２（制御装置１）は、部分発話区間毎に音声信号の変化を分析する。
【００１８】
より具体的には、特定部１１は、音声信号の中に、各々第１の終了判定基準（以下、第１判定基準）により発話終了が判定された終期ｔ６を有する発話区間ＵＰ１を特定し、発話区間ＵＰ１の中に、第１の終了判定基準より細分が可能な第２の終了判定基準（以下、第２判定基準）により発話終了が判定された終期ｔ２、ｔ４、ｔ６を有する複数の部分発話区間ＰＵＰ１〜ＰＵＰ３を特定するものである。
【００１９】
ここで、第１および第２の終了判定基準とは、例えば音声信号の音量が閾値ＴＨ２未満になってから、閾値ＴＨ２より大きい閾値ＴＨ１を超えるまでの無音区間の長さに関する判断基準である。
【００２０】
図２に示す例では、時刻ｔ６において音声信号の音量が閾値ＴＨ２未満になってから閾値ＴＨ４より長い時間が経過した時刻ｔ７になっても、音量が閾値ＴＨ１を超えない。すなわち、時刻ｔ６以降の無音区間の継続時間（無音時間）長は閾値ＴＨ４を超える。このため、時刻ｔ６は、発話区間ＵＰ１の終期と判断される。
【００２１】
一方、図２に示す例では、時刻ｔ２において音声信号の音量が閾値ＴＨ２未満になってから、閾値ＴＨ４よりも短い閾値ＴＨ３より長い時間が経過した時刻ｔ３に、音量が閾値ＴＨ１を超える。すなわち、時刻ｔ２以降の無音時間は、その長さが閾値ＴＨ４より短く閾値ＴＨ３より長い。そこで、時刻ｔ２は、部分発話区間ＰＵＰ１の終期と判定される。部分発話区間ＰＵＰ２についても同様である。
【００２２】
ここで、部分発話区間の終期に関する第２判定基準に用いられる閾値ＴＨ３は、発話区間の終期に関する第１判定基準に用いられる閾値ＴＨ４よりも短い。従って、第２判定基準を用いることで、第１判定基準により検出された発話区間を、それより短い部分発話区間に細分することができる。すなわち、無音区間の判定基準として、第２判定基準（ＴＨ３）は第１判定基準（ＴＨ４）より緩いと言える。ここで、第２判定基準が「緩い」というのは、言い換えると、第１判定基準に基づいて区切られた１つの発話区間内に、さらに、部分発話区間の区切りである短い無音区間を判定できる、ということである。
【００２３】
本実施形態では、無音区間の長さに基づいて、部分発話区間または発話区間の終期を決定している。従って、この点に着目して捉えるならば、音声分析プログラム１０に係る前記機能構成の特定部１１は、音声信号の中に、各々の間に継続時間長が閾値ＴＨ４より長い無音区間を挟む発話区間を特定し、各発話区間の中に、継続時間長が時間閾値ＴＨ４より短い短無音区間ｔ２〜ｔ３、ｔ４〜ｔ５を間に挟んだ１または複数の部分発話区間ＰＵＰ１〜ＰＵＰ３を特定し、音声分析プログラム１０に係る前記機能構成の分析部１２は、部分発話区間毎に音声信号の変化を分析するものである、ということができる。
【００２４】
本実施形態において、制御装置１は、音声分析プログラム１０と並行して音声合成プログラムを実行する。音声分析プログラム１０では、発話区間を構成する部分発話区間毎に、音声信号の音高の遷移等を分析し、分析結果を音声合成プログラムに引き渡す。音声合成プログラムでは、この分析結果に基づいて、ユーザの発話に対する応答内容を判定し、応答音声のサンプル列を合成し、放音装置７に供給する。すなわち、制御装置１は、音声分析プログラム１０と並行して音声合成プログラムを実行することにより、発話区間の音声に対する応答音声を合成する音声合成装置として機能する。
以上が本実施形態の構成である。
【００２５】
図４は本実施形態における音声分析プログラム１０の処理内容を示すフローチャートである。図５は同プログラム１０における発話区間処理Ｓ４の処理内容を示すフローチャートである。図５に示された各処理のうちＳ４２４３３が上述した分析部１２（制御装置１）により実行される処理であり、それ以外の処理が上述した特定部１１（制御装置１）により実行される処理である。図６〜図８は本実施形態の第１〜第３動作例を示すタイムチャートである。図６〜図８において、横軸は時刻、縦軸は処理対象である音声信号の音量である。
【００２６】
まず、図４および図５のフローチャートを参照し、図６の第１動作例について説明する。操作装置５に対して所定の操作が行われると、制御装置１は、記憶装置３に記憶された音声分析プログラム１０および音声合成プログラムの実行を開始する。なお、本実施形態の特徴は音声分析プログラム１０にあるため、以下では、音声分析プログラム１０の処理内容の説明が中心となる。
【００２７】
以下の説明において、仮発話区間とは、音声信号の音量が閾値ＴＨ１を超えることにより開始される区間である。本実施形態では、継続時間長が閾値ＴＨ５より長い区間を部分発話区間とする。従って、音声信号の音量が閾値ＴＨ１を超えるタイミングでは、未だ、そのタイミングから開始される区間が部分発話区間となるか否か不明である。そこで、本実施形態では、音声信号の音量が閾値ＴＨ１より大きくなることにより開始される区間を仮発話区間とする。この仮発話区間の継続時間長が閾値ＴＨ５を超える時点で、当該仮発話区間は部分発話区間となる。また、以下の説明において、仮無音区間とは、音声信号の音量が閾値ＴＨ２未満になることにより開始される区間である。本実施形態では、継続時間長が閾値ＴＨ３より長い区間を無音区間とする。従って、音声信号の音量が閾値ＴＨ２より小さくなったタイミングでは、そのタイミングから開始される区間が無音区間となるか否か不明である。そこで、本実施形態では、音声信号の音量が閾値ＴＨ２未満になることにより開始される区間を仮無音区間とする。この仮無音区間の継続時間長が閾値ＴＨ３を超える時点で、当該無音区間は無音区間となる。
【００２８】
音声分析プログラム１０において、制御装置１は、まず、初期化処理Ｓ１を実行する。この初期化処理Ｓ１において、制御装置１は、仮無音区間の継続時間長である仮無音時間を「０」、部分発話区間数を「０」、仮発話区間の継続時間長である仮発話時間を「０」、仮発話区間状態フラグをＯＦＦとする。
【００２９】
次に制御装置１は、収音装置６から１フレーム分の入力音声信号のサンプル列を取得し、記憶装置３内のバッファ領域に格納する（Ｓ２）。次に制御装置１は、バッファ領域に格納した入力音声信号のサンプル列から音高や音量等、入力音声のパラメータを抽出する（Ｓ３）。次に制御装置１は図５に示す発話区間処理Ｓ４を実行する。この発話区間処理Ｓ４では、音声信号から発話区間、部分発話区間を抽出し、発話区間を構成する部分発話区間毎に音声信号の変化を分析する。次に制御装置１は、操作装置５の操作等により終了指示が発生したか否かを判断する。この判断結果が「ＹＥＳ」である場合、制御装置１は音声分析プログラム１０を終了する。一方、この判断結果が「ＮＯ」である場合、制御装置１はＳ２に戻って処理Ｓ２〜Ｓ４を再び実行する。このように、終了指示が発生するまでの間、処理Ｓ２〜Ｓ５が繰り返される。
【００３０】
次に図５の発話区間処理Ｓ４の処理内容について説明する。
図５の発話区間処理Ｓ４では、まず、仮発話区間状態フラグがＯＦＦであるか否かを判断する（Ｓ４１）。図６の第１動作例において、初期化処理Ｓ１後、音声信号の音量が閾値ＴＨ１以下である期間は、仮発話区間状態フラグがＯＦＦとなる。このため、Ｓ４１の判断結果が「ＹＥＳ」となり、制御装置１の処理は、仮無音区間処理Ｓ４２に進む。
【００３１】
この仮無音区間処理Ｓ４２において、制御装置１は、まず、音声信号の音量が閾値ＴＨ１より大きいか否かを判断する（Ｓ４２１）。図６の第１動作例において、時刻ｔ１よりも以前の期間は、音声信号の音量が閾値ＴＨ１よりも小さいため、Ｓ４２１の判断結果は「ＮＯ」となる。この結果、制御装置１は、仮無音区間継続処理Ｓ４２４を実行する。
【００３２】
この仮無音区間継続処理Ｓ４２４において、制御装置１は、まず、仮無音時間の更新を行う（Ｓ４２４１）。具体的には、初期化処理Ｓ１、Ｓ４２４３４、Ｓ４２４１およびＳ４３３の実行タイミングのうちの最新のタイミングからの経過時間を仮無音時間に加算する。算出された仮無音時間は、現在の仮無音区間の開始からその時点までの経過時間である。次に制御装置１は、仮無音時間が閾値ＴＨ４より長いか否かを判断する（Ｓ４２４２）。この判断結果が「ＮＯ」である場合、制御装置１は、仮無音区間継続処理Ｓ４２４、仮無音区間処理Ｓ４２および発話区間処理Ｓ４を終了し、図４のＳ５に進む。
【００３３】
図６の第１動作例において、時刻ｔ１より前の無音区間は、Ｓ４１の判断結果が「ＹＥＳ」、Ｓ４２１の判断結果が「ＮＯ」、Ｓ４２４２の判断結果が「ＮＯ」となって、仮無音時間の更新（Ｓ４２４１）が繰り返される。そして、仮無音時間が閾値ＴＨ４を超えると、Ｓ４２４２の判断結果が「ＹＥＳ」となり、Ｓ４２４３１以降の処理で仮無音時間の「０」リセットが行われるが、その詳細については後述する。
【００３４】
この後、音声信号の音量が上がって、時刻ｔ１に閾値ＴＨ１を超える。この結果、Ｓ４２１の判断結果が「ＹＥＳ」となり、制御装置１は、仮無音時間が閾値ＴＨ３より長いか否かを判断する（Ｓ４２２）。この判断結果が「ＹＥＳ」である場合、制御装置１の処理はＳ４２３に進む。一方、Ｓ４２２の判断結果が「ＮＯ」である場合、制御装置１は、部分発話区間数が０か否かを判断する（Ｓ４２５）。この判断結果が「ＹＥＳ」である場合、制御装置１の処理はＳ４２３に進む。
【００３５】
図６の第１動作例の時刻ｔ１において、仮無音時間が閾値ＴＨ３を超える場合には、Ｓ４２２の判断結果が「ＹＥＳ」となってＳ４２３に進む。一方、時刻ｔ１において仮無音時間が閾値ＴＨ３以下である場合には、Ｓ４２２の判断結果が「ＮＯ」となってＳ４２５に進むが、初期化処理Ｓ１直後の時刻ｔ１では部分発話区間数が０であるため、Ｓ４２５の判断結果が「ＹＥＳ」となってＳ４２３に進む。このように時刻ｔ１では、仮無音時間が閾値ＴＨ３を超えるか否かに拘わらず、処理はＳ４２３に進む。
【００３６】
次にＳ４２３に進むと、制御装置１は、仮発話区間開始処理を実行する。具体的には、制御装置１は、仮発話区間状態フラグをＯＮとし、仮発話時間を０に初期化する。この仮発話区間開始処理Ｓ４２３を終えると、制御装置１は、仮無音区間処理Ｓ４２および発話区間処理Ｓ４を終了し、図４のＳ５に進む。
【００３７】
その後、発話区間処理Ｓ４では、仮発話区間状態フラグがＯＮであるため、Ｓ４１の判断結果が「ＮＯ」となり、制御装置１は、仮発話区間処理Ｓ４３を実行する。この仮発話区間処理Ｓ４３において、制御装置１は、まず、入力音声信号の音量が閾値ＴＨ２未満であるか否かを判断する（Ｓ４３１）。図６の第１動作例において、時刻ｔ１が過ぎて時刻ｔ２になるまでの期間は、入力音声信号の音量が閾値ＴＨ２より大きい。従って、この間は、Ｓ４３１の判断結果が「ＮＯ」となり、制御装置１は、仮発話区間継続処理Ｓ４３４を実行する。この仮発話区間継続処理Ｓ４３４では、仮発話時間の更新を行う。具体的には、Ｓ４２３およびＳ４３４の実行タイミングのうちの最新のタイミングからの経過時間を仮発話時間に加算する。算出された仮発話時間は、現在の仮発話区間の開始からその時点までの経過時間である。Ｓ４３４が終了すると、制御装置１は、仮発話区間処理Ｓ４３および発話区間処理Ｓ４を終了し、図４のＳ５に進む。
【００３８】
その後、入力音声信号の音量が下がって、時刻ｔ２に閾値ＴＨ２未満になる。そして、発話区間処理Ｓ４では、Ｓ４１の判断結果が「ＮＯ」となり、仮発話区間処理Ｓ４３ではＳ４３１の判断結果が「ＹＥＳ」となり、制御装置１は、仮発話時間が閾値ＴＨ５より長いか否かを判断する（Ｓ４３２）。図６の第１動作例では、時刻ｔ１から時刻ｔ２までの仮発話時間が閾値ＴＨ５を超える。このため、Ｓ４３２の判断結果が「ＹＥＳ」となり、制御装置１は仮無音区間開始処理Ｓ４３３を実行する。この仮無音区間開始処理Ｓ４３３において、制御装置１は、入力音声信号における時刻ｔ１から時刻ｔ２までの区間を未登録の部分発話区間ＰＵＰ１とし、仮発話区間状態フラグをＯＦＦとし、仮無音時間を０に初期化する。この時、部分発話区間数は１である。この仮無音区間開始処理Ｓ４３３が終了すると、制御装置１は、仮発話区間処理Ｓ４３および発話区間処理Ｓ４を終了し、図４のＳ５に進む。
【００３９】
その後、発話区間処理Ｓ４では、仮発話区間状態フラグがＯＦＦであるため、Ｓ４１の判断結果が「ＹＥＳ」となって仮無音区間処理Ｓ４２に進む。そして、仮無音区間処理Ｓ４２において、入力音声信号の音量が閾値ＴＨ１未満である場合には、Ｓ４２１の判断結果が「ＮＯ」となって仮無音区間継続処理Ｓ４２４に進む。そして、仮無音区間継続処理Ｓ４２４では、仮無音時間の更新を行い（Ｓ４２４１）、仮無音時間が閾値ＴＨ４より長いか否かを判断し（Ｓ４２４２）、Ｓ４２４２の判断結果が「ＮＯ」である場合は、仮無音区間継続処理Ｓ４２４、仮無音区間処理Ｓ４２および発話区間処理Ｓ４を終了し、図４のＳ５に進む。第１動作例の最初の仮無音区間では、仮無音時間が閾値ＴＨ４を超えることなく、このような処理が時刻ｔ３になるまで繰り返される。
【００４０】
そして、入力音声信号の音量が上がって、時刻ｔ３に閾値ＴＨ１を超える。この結果、仮無音区間処理Ｓ４２では、Ｓ４２１の判断結果が「ＹＥＳ」となり、制御装置１は、仮無音時間が閾値ＴＨ３より長いか否かを判断する（Ｓ４２２）。この第１動作例では、仮無音時間ｔ３−ｔ２が閾値ＴＨ３を超えるため、Ｓ４２２の判断結果が「ＹＥＳ」となり、制御装置１は仮発話区間開始処理Ｓ４２３を実行し、仮無音区間処理Ｓ４２および発話区間処理Ｓ４を終了し、図４のＳ５に進む。以後、時刻ｔ４になるまでの間、制御装置１は、Ｓ４１、Ｓ４３１、Ｓ４３４の処理を繰り返す。
【００４１】
そして、入力音声信号の音量が下がって、時刻ｔ４に閾値ＴＨ２未満になる。この結果、仮発話区間処理Ｓ４３では、Ｓ４３１の判断結果が「ＹＥＳ」となり、制御装置１は、仮発話時間ｔ４−ｔ３が閾値ＴＨ５より長いか否かを判断する（Ｓ４３２）。第１動作例では、このＳ４３２の判断結果は「ＹＥＳ」となる。この結果、制御装置１は、仮無音区間開始処理Ｓ４３３を実行し、入力音声信号における時刻ｔ３から時刻ｔ４までの区間を未登録の部分発話区間ＰＵＰ２とし、仮発話区間状態フラグをＯＦＦとし、仮無音時間を０に初期化する。この時、部分発話区間数は２である。この仮無音区間開始処理Ｓ４３３が終了すると、制御装置１は、仮発話区間処理Ｓ４３および発話区間処理Ｓ４を終了し、図４のＳ５に進む。
【００４２】
その後、第１動作例では、入力音声信号の音量が上がって閾値ＴＨ１を超える時刻ｔ５においてｔ５−ｔ４＞ＴＨ３であり、入力信号の音量が下がって閾値ＴＨ２未満になる時刻ｔ６においてｔ６−ｔ５＞ＴＨ５である。この場合の動作は、部分発話区間ＰＵＰ１、ＰＵＰ２について行われた動作と同様である。
【００４３】
時刻ｔ６において、発話区間処理Ｓ４の仮発話区間処理Ｓ４３では、Ｓ４３１の判断結果が「ＹＥＳ」、Ｓ４３２の判断結果が「ＹＥＳ」となり、制御装置１は、仮無音区間開始処理Ｓ４３３を実行し、入力音声信号における時刻ｔ５から時刻ｔ６までの区間を未登録の部分発話区間ＰＵＰ３とし、仮発話区間状態フラグをＯＦＦとし、仮無音時間を０に初期化する。以後、制御装置１は、Ｓ４１、Ｓ４２１、Ｓ４２４１、Ｓ４２４２の処理を繰り返す。
【００４４】
そして、第１動作例では、時刻ｔ７において仮無音時間が閾値ＴＨ４を超え、この仮無音区間が無音区間であることが確定する。この結果、仮無音区間継続処理Ｓ４２４では、Ｓ４２４２の判断結果が「ＹＥＳ」となり、制御装置１は、部分発話区間処理Ｓ４２４３を実行する。
【００４５】
この部分発話区間処理Ｓ４２４３において、制御装置１は、まず、部分発話区間数が１以上か否かを判断する（Ｓ４２４３１）。第１動作例では、時刻ｔ７において、部分発話区間としてＰＵＰ１、ＰＵＰ２、ＰＵＰ３の３つが検出されており、部分発話区間数は３である。このため、Ｓ４２４３１の判断結果は「ＹＥＳ」となり、制御装置１は発話区間構成処理Ｓ４２４３２を実行する。具体的には、制御装置１は、部分発話区間ＰＵＰ１、ＰＵＰ２、ＰＵＰ３を含む時刻ｔ１から時刻ｔ６までの区間を発話区間ＵＰ１として登録する。次に制御装置１は発話区間分析処理Ｓ４２４３３を実行する。この発話区間分析処理Ｓ４２４３３の詳細については後述する。次に制御装置１はリセットＳ４２４３４を実行する。このリセットＳ４２４３４では、仮無音時間を「０」に、部分発話区間数を「０」にリセットする。時刻ｔ７以降もＳ４２４１で仮無音時間の更新は継続され、仮無音時間が閾値ＴＨ４を超えるごとに、Ｓ４２４２で「ＹＥＳ」と判定されるが、部分発話区間数が「０」なのでＳ４２４３１で「ＮＯ」と判断され、Ｓ４２４３４で仮無音時間が「０」にリセットされる。この無音区間確定後の仮無音時間の更新は、必ずしも行わなくてもよい。
【００４６】
以上が本実施形態の第１動作例である。なお、上述した処理には、閾値との比較に基づく分岐が複数あるが、それぞれ、閾値に等しい場合
にＹＥＳとＮＯの何れに分岐するかは、本発明の本質には余り関係がないので、必要に応じて適宜変えてよい。
【００４７】
次に図４および図５のフローチャートを参照し、図７の第２動作例について説明する。この第２動作例は、次の点において第１動作例（図６）と異なる。第１動作例では、入力音声信号の音量が閾値ＴＨ２未満になる時刻ｔ２から閾値ＴＨ１を超える時刻ｔ３までの仮無音時間ｔ３−ｔ２が閾値ＴＨ３より長い。これに対し、第２動作例では、当該仮無音時間ｔ３−ｔ２が閾値ＴＨ３以下である。
【００４８】
この第２動作例では、時刻ｔ３において、発話区間処理Ｓ４のＳ４１の判断結果が「ＹＥＳ」、仮無音区間処理Ｓ４２のＳ４２１の判断結果が「ＹＥＳ」となってＳ４２２に進んだとき、仮無音時間が閾値ＴＨ３以下であるため、Ｓ４２２の判断結果が「ＮＯ」となる。そして、時刻ｔ３においては、時刻ｔ１から時刻ｔ２までの区間が部分発話区間であるため、Ｓ４２５の判断結果が「ＮＯ」となる。この結果、制御装置１は、仮発話区間再開処理Ｓ４２６を実行する。この仮発話区間再開処理Ｓ４２６では、時刻ｔ１から時刻ｔ２まで継続した（直前の）部分発話区間と時刻ｔ３以降の仮発話区間とを接続して一体化する。具体的には、仮発話区間状態フラグをＯＮとし、時刻ｔ１から時刻ｔ３までの経過時間を仮発話時間とする。この仮発話区間再開処理Ｓ４２６が行われる結果、第２動作例では、時刻ｔ１が部分発話区間ＰＵＰ１の始期となり、時刻ｔ３の後、入力音声信号の音量が閾値ＴＨ２未満になる時刻ｔ４が同部分発話区間ＰＵＰ１の終期となる。結果的に、第２動作例では、２つの部分発話区間ＰＵＰ１、ＰＵＰ２が検出される。
【００４９】
次に図４および図５のフローチャートを参照し、図８の第３動作例について説明する。この第３動作例は、次の点において第１動作例（図６）と異なる。第１動作例では、入力音声信号の音量が閾値ＴＨ１を超える時刻ｔ１から閾値ＴＨ２未満になる時刻ｔ２までの仮発話時間ｔ２−ｔ１が閾値ＴＨ５を超えていた。これに対し、第３動作例では、当該仮発話時間ｔ２−ｔ１が閾値ＴＨ５以下である。
【００５０】
この第３動作例では、時刻ｔ２において、発話区間処理Ｓ４のＳ４１の判断結果が「ＮＯ」、仮発話区間処理Ｓ４３のＳ４３１の判断結果が「ＹＥＳ」となってＳ４３２に進んだとき、仮発話時間が閾値ＴＨ５以下であるため、Ｓ４３２の判断結果が「ＮＯ」となる。この結果、制御装置１は、仮無音区間再開処理Ｓ４３５を実行する。この仮無音区間再開処理Ｓ４３５では、時刻ｔ１までの無音区間における仮無音区間と時刻ｔ２以降の仮無音区間とを接続して、１つの仮無音区間として一体化する。具体的には、仮発話区間状態フラグをＯＦＦとし、時刻０から時刻ｔ３までの経過時間を仮無音時間とする。この仮無音区間再開処理Ｓ４３５が行われる結果、第３動作例では、時刻ｔ３から始まる部分発話区間が最初の部分発話区間ＰＵＰ１となる。すなわち、本実施形態では、仮発話時間が閾値ＴＨ５以下である区間は部分発話区間とせず、直前の仮無音区間の継続部として取り扱う。なお、第３動作例では、無音区間の後の最初の仮発話区間が直前の仮無音区間に組み込まれる例を示したが、例えば図６の部分発話区間ＰＵＰ２等、２番目以降に生じる仮発話区間についても同様であり、当該仮発話区間の継続時間長が閾値ＴＨ５以下である場合には、当該仮発話区間はその直前の仮無音区間に組み込まれる。結果的に、第３動作例では、２つの部分発話区間ＰＵＰ１、ＰＵＰ２が検出される。
【００５１】
次に発話区間処理Ｓ４において実行される発話区間分析Ｓ４２４３３について説明する。以下では、上述した例１〜例３が発話区間の発話内容である場合を例に発話区間分析Ｓ４２４３３について説明する。
例１：「今日、ラーメンでいい？」
例２：「今日、ラーメンでいい？ね。」
例３：「今日、ラーメンでいい？ね？」
【００５２】
発話区間分析Ｓ４２４３３では、Ｓ４２４３２において構成した発話区間を構成する各部分発話区間について音声信号の音高遷移を求める。
【００５３】
例１の場合、発話区間分析Ｓ４２４３３では、発話区間を構成する部分発話区間「今日、」と部分発話区間「ラーメンでいい？」の各々の音高遷移を求めるが、最後の部分発話区間「ラーメンでいい？」の末尾において音高の上昇遷移が観測される。このため、発話区間分析Ｓ４２４３３では、当該発話区間の発話には疑問の意図があると判断する。
【００５４】
例２の場合、発話区間分析Ｓ４２４３３では、発話区間を構成する部分発話区間「今日、」と、部分発話区間「ラーメンでいい？」と、部分発話区間「ね。」の各々の音高遷移を求めるが、発話区間の途中の部分発話区間「ラーメンでいい？」の末尾において音高の上昇遷移が観測される。このため、発話区間分析Ｓ４２４３３では、当該発話区間の発話には疑問の意図があると判断する。
【００５５】
例３の場合、発話区間分析Ｓ４２４３３では、発話区間を構成する部分発話区間「今日、」と、部分発話区間「ラーメンでいい？」と、部分発話区間「ね？」の各々の音高遷移を求めるが、発話区間の２番目の部分発話区間「ラーメンでいい？」の末尾と、発話区間の最後の部分発話区間「ね？」の末尾とにおいて音高の上昇遷移が観測される。そして、発話区間分析Ｓ４２４３３では、発話区間を構成する各部分発話区間のうち、末尾に音高の上昇遷移が観測された部分発話区間の数を、当該発話区間の疑問の意図の強度（念押し）と判断する。従って、例３の場合、発話区間分析Ｓ４２４３３では、発話者が疑問の意図の念押しをしているとの判断が行われる。
【００５６】
音声分析プログラム１０では、この発話区間分析Ｓ４２４３３により判断された発話者の意図を示す情報を音声合成プログラムに引き渡す。音声合成プログラムでは、この発話者の意図を示す情報に基づいて、発話者に対する応答音声の内容を決定する。例１〜例３では、いずれも疑問の意図ありと判断されたので、特許文献１のように、当該発話に対する応答の音声を、疑問に対する応答に固有の特性となるよう制御する。なお、例３で生成する音声については、疑問が「念押し」に相当するので、その分だけ、例１、例２の疑問に対する応答の特性とは異なる特性となるよう制御してもよい。
【００５７】
以上のように、本実施形態によれば、音声信号を１または複数の部分発話区間を含む発話区間に区切り、部分発話区間毎に音声信号の変化、具体的には音高の遷移を分析するので、１つの発話の発話区間の語尾の音高遷移のみでは、その発話における発話者の意図を判断することが困難である場合（例えば例２）においても、適切かつ簡易に発話者の意図を判断し、その発話に対する応答の音声を制御することができる。
【００５８】
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば次の通りである。
【００５９】
（１）上記実施形態では、入力音声信号を、短無音区間を間に挟んだ部分発話区間に区切るとともに、短無音区間よりも長い仮無音区間（発話区間の終期）が生じた場合に、それまでに区切られた１または複数の部分発話区間をまとめて１つの発話区間を構成した。しかし、この発明の適用範囲は、このような態様に限定されるものではない。例えば次のような他の態様も考えられる。まず、音声信号において継続時間長が第１の時間閾値を超える無音区間を見つけ、音声信号からこの無音区間で区切られた１ないし複数の発話区間を抽出する。次に、１つの発話区間内において継続時間長が第２の時間閾値（＜第１の時間閾値）を超える短無音区間を見つけ、その発話区間からこの短無音区間で区切られた１ないし複数の部分発話区間を抽出する。このような態様においても上記実施形態と同様な効果が得られる。
【００６０】
（２）上記実施形態では、音量に基づいて判定された仮無音区間の継続時間の長さ（仮無音時間）に基づいて、部分発話区間の区切り（短無音区間）と発話区間の区切り（無音区間）とを判定している。しかし、第１判定基準と第２判定基準の少なくとも一方について、仮無音時間の基準に加え、または仮無音時間の基準に代えて、当該区間の音量、音高、スペクトル等、仮無音時間以外のファクタを基準として、仮無音区間ないし無音区間を判定してもよい。例えば発話の終了時に現れやすい音声の特徴を部分発話区間や発話区間の終了要件にしてもよい。その場合、部分発話区間の終期よりも発話区間の終期の方が「終わった」感が強くなるように部分発話区間や発話区間の終了要件を定めればよい。
【００６１】
（３）発話者の意図を分析するために、音高遷移の分析と、音声認識エンジンまたは感情認識エンジンとを併用してもよい。このようにすることで、頑健に発話者の意図を分析することができる。
【００６２】
（４）部分発話区間を、意図分析の単位のみならず、音声認識または感情認識の単位として用いてもよい。
【００６３】
（５）上記実施形態の音声分析プログラム１０を、音声制御装置や音声対話評価装置等、対話装置以外の装置に適用してもよい。
【００６４】
（６）上記実施形態の音声分析プログラムを利用させるサービスをクラウドサーバが提供してもよい。
【００６５】
（７）上記実施形態の音声分析プログラムをＰＣアプリケーションやスマートフォンアプリケーションとして提供してもよい。
【００６６】
（８）この発明は、玩具やカーナビゲーションシステム等において、音声を分析する装置として実現することも可能である。
【００６７】
（９）対話を自然なものにするために、発話区間を構成する一部の部分発話区間、例えば音高の上昇遷移が末尾にあるような発話者の意図が現れる部分発話区間の音高に対して所定の関係、例えば協和音関係を持つように応答音声の音高を制御してもよい。
【符号の説明】
【００６８】
１……制御装置、２……演算装置、３……記憶装置、４……表示装置、５……操作装置、６……収音装置、７……放音装置、ＵＰ１……発話区間、ＰＵＰ１〜ＰＵＰ３……部分発話区間、１０……音声分析プログラム、１１……特定部、１２……分析部。
【図１】
2020067495.tif 000003
【図２】
2020067495.tif 000004
【図３】
2020067495.tif 000005
【図４】
2020067495.tif 000006
【図５】
2020067495.tif 000007
【図６】
2020067495.tif 000008
【図７】
2020067495.tif 000009
【図８】
2020067495.tif 000010