(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】発話終端検出装置、制御方法、及びプログラム
(51)【国際特許分類】
G10L 15/04 20130101AFI20231226BHJP
【FI】
G10L15/04 300Z
(21)【出願番号】P 2022502656
(86)(22)【出願日】2020-02-26
(86)【国際出願番号】 JP2020007711
(87)【国際公開番号】W WO2021171417
(87)【国際公開日】2021-09-02
【審査請求日】2022-08-17
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】古明地 秀治
(72)【発明者】
【氏名】山本 仁
【審査官】浜岸 広明
(56)【参考文献】
【文献】特開2002-258890(JP,A)
【文献】特開2017-187797(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
1つ以上の発話が含まれる音声信号を表すソースデータを取得し、前記ソースデータをテキストデータに変換する変換部と、
前記テキストデータを解析することにより、前記音声信号に含まれる各発話の終端を検出する検出部と、
前記検出部によって検出された発話の終端に基づいて、前記ソースデータによって表される音声信号を発話ごとの区間に区切り、各前記区間の音声信号を抽出し、抽出した各前記区間の音声信号に対して、音声認識処理を行う認識部とを有する
発話終端検出装置。
【請求項2】
前記テキストデータは音素列であり、
前記検出部は、音素列を単語列に変換する言語モデルを有し、
前記言語モデルは、音素列を、発話の終端を表す終端トークンが単語として含まれる単語列に変換するように学習されたものであり、
前記検出部は、
前記テキストデータを前記言語モデルに入力することで、前記テキストデータを単語列に変換し、
前記単語列に含まれる前記終端トークンを発話の終端として検出する、請求項1に記載の発話終端検出装置。
【請求項3】
前記テキストデータは単語列であり、
前記検出部は、前記テキストデータの中から発話の終端を表す単語を検出することで、発話の終端を検出する、請求項1に記載の発話終端検出装置。
【請求項4】
前記認識部は、各前記区間について、後ろ向きアルゴリズムを利用した音声認識処理を行う、請求項
1から3のいずれか一項に記載の発話終端検出装置。
【請求項5】
コンピュータによって実行される制御方法であって、
1つ以上の発話が含まれる音声信号を表すソースデータを取得し、前記ソースデータをテキストデータに変換する変換ステップと、
前記テキストデータを解析することにより、前記音声信号に含まれる各発話の終端を検出する検出ステップと、
前記検出ステップで検出された発話の終端に基づいて、前記ソースデータによって表される音声信号を発話ごとの区間に区切り、各前記区間の音声信号を抽出し、抽出した各前記区間の音声信号に対して、音声認識処理を行う認識ステップとを有する制御方法。
【請求項6】
制御方法をコンピュータに実行させるプログラムであって、
当該制御方法は、
1つ以上の発話が含まれる音声信号を表すソースデータを取得し、前記ソースデータをテキストデータに変換する変換ステップと、
前記テキストデータを解析することにより、前記音声信号に含まれる各発話の終端を検出する検出ステップと、
前記検出ステップで検出された発話の終端に基づいて、前記ソースデータによって表される音声信号を発話ごとの区間に区切り、各前記区間の音声信号を抽出し、抽出した各前記区間の音声信号に対して、音声認識処理を行う認識ステップとを有する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声認識に関する。
【背景技術】
【0002】
音声認識技術が開発されている。音声認識により、例えば、人の発話が含まれる音声信号が、その発話の内容を表すテキストデータに変換される。
【0003】
また、音声認識の精度を向上させる技術の1つとして、音声信号の中から音声区間(発話が含まれる区間)を検出する技術が知られている。例えば特許文献1は、音声区間の始端の特徴、音声区間の終端の特徴、及びそれ以外の区間の特徴のそれぞれを学習させた学習モデルを用いて、音声信号から音声区間を検出する技術が開発されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
音声区間検出では、音声信号が、発話が含まれる音声区間と、発話が含まれない無音区間とに分けられる。この際、発話間で息継ぎがほとんどない場合などには、1つの音声区間に複数の発話が含まれてしまうことがある。そのため、音声区間検出では、複数の発話が含まれる音声信号を、発話ごとに分割することが難しい。
【0006】
本発明は上述の課題に鑑みてなされたものである。本発明の目的の1つは、複数の発話が含まれる音声信号から各発話の終端を検出する技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の発話終端検出装置は、1)1つ以上の発話が含まれる音声信号を表すソースデータを取得し、ソースデータをテキストデータに変換する変換部と、2)テキストデータを解析することにより、音声信号に含まれる各発話の終端を検出する検出部と、を有する。
【0008】
本発明の制御方法はコンピュータによって実行される。当該制御方法は、1)1つ以上の発話が含まれる音声信号を表すソースデータを取得し、ソースデータをテキストデータに変換する変換ステップと、2)テキストデータを解析することにより、音声信号に含まれる各発話の終端を検出する検出ステップと、を有する。
【0009】
本発明のプログラムは、本発明の制御方法をコンピュータに実行させる。
【発明の効果】
【0010】
本発明によれば、複数の発話が含まれる音声信号から各発話の終端を検出する技術が提供される。
【図面の簡単な説明】
【0011】
【
図1】実施形態1に係る終端検出装置の動作を概念的に例示する図である。
【
図2】終端検出装置の機能構成を例示するブロック図である。
【
図3】終端検出装置を実現するための計算機を例示する図である。
【
図4】実施形態1の終端検出装置によって実行される処理の流れを例示するフローチャートである。
【
図5】終端トークンを含む単語列を例示する図である。
【
図6】認識部を有する発話終端検出装置の機能構成を例示するブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下の説明において、特に説明しない限り、各種所定の値(閾値など)は、その値を利用する機能構成部からアクセス可能な記憶装置に予め記憶させておく。
【0013】
[実施形態1]
<概要>
図1は、実施形態1に係る終端検出装置2000の動作を概念的に例示する図である。ここで、
図1を用いて説明する終端検出装置2000の動作は、終端検出装置2000の理解を容易にするための例示であり、終端検出装置2000の動作を限定するものではない。終端検出装置2000の動作の詳細やバリエーションについては後述する。
【0014】
終端検出装置2000は、音声信号の中から各発話の終端を検出するために利用される。なお、ここでいう発話とは、文章とも言い換えることができる。そのために、終端検出装置2000は以下のように動作する。終端検出装置2000はソースデータ10を取得する。ソースデータ10は、人の発話が記録された音声データであり、例えば会話やスピーチの録音データなどである。音声データは、例えば、音声信号の波形を表すベクトルデータなどである。
【0015】
終端検出装置2000は、ソースデータ10をテキストデータ30に変換する。例えばテキストデータ30は音素列や単語列である。そして、終端検出装置2000は、テキストデータ30を解析することで、ソースデータ10によって表される音声信号(以下、ソース音声信号)に含まれる各発話の終端を検出する。
【0016】
ソースデータ10からテキストデータ30への変換は、例えば、ソースデータ10を音声フレーム列20に変換し、その後、音声フレーム列20をテキストデータ30に変換するという方法で実現される。音声フレーム列20は、ソースデータ10から得られる複数の音声フレームの時系列データである。音声フレームは、例えば、ソース音声信号のうち、一部の時間区間の音声信号を表す音声データや、その音声データから得られる音声特徴量である。各音声フレームに対応する時間区間は、他の音声フレームに対応する時間区間とその一部が重複してもよいし、しなくてもよい。
【0017】
<作用効果の一例>
終端検出装置2000によれば、ソースデータ10をテキストデータ30に変換し、テキストデータ30を解析することにより、ソースデータ10によって表されている音声信号に含まれる発話の終端が検出される。終端検出装置2000によれば、このようにテキストデータの解析によって各発話の終端を検出することで、各発話の終端を高い精度で検出することができる。
【0018】
以下、終端検出装置2000についてより詳細に説明する。
【0019】
<機能構成の例>
図2は、終端検出装置2000の機能構成を例示するブロック図である。終端検出装置2000は、変換部2020及び検出部2040を有する。変換部2020は、ソースデータ10をテキストデータ30に変換する。検出部2040は、テキストデータ30から、ソース音声信号に含まれる1つ以上の発話それぞれの終端を検出する。
【0020】
<ハードウエア構成の例>
終端検出装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、終端検出装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【0021】
図3は、終端検出装置2000を実現するための計算機1000を例示する図である。計算機1000は、任意の計算機である。例えば計算機1000は、PC(Personal Computer)やサーバマシンなどといった、据え置き型の計算機である。その他にも例えば、計算機1000は、スマートフォンやタブレット端末などといった可搬型の計算機である。
【0022】
計算機1000は、終端検出装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。後者の場合、例えば、計算機1000に対して所定のアプリケーションをインストールすることにより、計算機1000で、終端検出装置2000の各機能が実現される。上記アプリケーションは、終端検出装置2000の機能構成部を実現するためのプログラムで構成される。
【0023】
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
【0024】
プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
【0025】
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
【0026】
ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。
【0027】
ストレージデバイス1080は、終端検出装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ1040は、このプログラムをメモリ1060に読み出して実行することで、終端検出装置2000の各機能構成部を実現する。
【0028】
ここで、終端検出装置2000は、1つの計算機1000で実現されてもよいし、複数の計算機1000で実現されてもよい。後者の場合、例えば終端検出装置2000は、変換部2020を実現する1つ以上の計算機1000と、検出部2040を実現する1つ以上の計算機1000とを有する分散システムとして実現される。
【0029】
<処理の流れ>
図4は、実施形態1の終端検出装置2000によって実行される処理の流れを例示するフローチャートである。変換部2020はソースデータ10を取得する(S102)。変換部2020はソースデータ10を音声フレーム列20に変換する(S104)。変換部2020は音声フレーム列20をテキストデータ30に変換する(S106)。検出部2040はテキストデータ30から発話の終端を検出する(S108)。
【0030】
<ソースデータ10の取得:S102>
変換部2020はソースデータ10を取得する(S102)。変換部2020がソースデータ10を取得する方法は任意である。例えば変換部2020は、ユーザが操作するユーザ端末から送信されるソースデータ10を受信することで、ソースデータ10を取得する。その他にも例えば、変換部2020は、変換部2020からアクセス可能な記憶装置に格納されているソースデータ10を取得してもよい。この場合、例えば終端検出装置2000は、ユーザ端末から、取得すべきソースデータ10の指定(ファイル名などの指定)を受け付ける。その他にも例えば、変換部2020は、上記記憶装置に格納されている1つ以上のデータをそれぞれソースデータ10として取得してもよい。すなわちこの場合、記憶装置に予め格納しておいた複数のソースデータ10についてバッチ処理が行われる。
【0031】
<音声フレームへの変換:S104>
変換部2020はソースデータ10を音声フレーム列20に変換する(S104)。ここで、録音データなどのソースデータを音声フレーム列20に変換する技術には、既存の技術を利用することができる。例えば、音声フレームを生成する処理は、所定長のタイムウインドウを、ソース音声信号の先頭から一定の時間幅で移動させながら、タイムウインドウに含まれる音声信号を順に抽出していく処理となる。このようにして抽出された各音声信号や、その音声信号から得られる特徴量が、音声フレームとして利用される。そして、抽出された音声フレームを時系列で並べたものが音声フレーム列20となる。
【0032】
<音声フレーム列20からテキストデータ30への変換:S104>
変換部2020は音声フレーム列20をテキストデータ30に変換する(S104)。音声フレーム列20をテキストデータ30に変換する方法は様々である。例えばテキストデータ30が音素列であるとする。この場合、例えば変換部2020は、音声フレーム列20を音素列に変換するように学習された音響モデルを有する。変換部2020は、音声フレーム列20に含まれる各音声フレームを順に音響モデルに入力していく。その結果、音響モデルから、音声フレーム列20に対応する音素列が得られる。なお、音声フレーム列を音素列に変換する音響モデルを生成する技術、及び音響モデルを用いて音声フレーム列を音素列に変換する具体的な技術には、既存の技術を利用することができる。
【0033】
テキストデータ30が単語列であるとする。この場合、例えば変換部2020は、音声フレーム列20を単語列に変換するように学習された変換モデル(いわゆる End-to-End 型の音声認識モデル)を有する。変換部2020は、音声フレーム列20に含まれる各音声フレームを順に変換モデルに入力していく。その結果、変換モデルから、音声フレーム列20に対応する単語列が得られる。なお、音声フレーム列を単語列に変換する End-to-End 型のモデルを生成する技術には既存の技術を利用することができる。
【0034】
<終端の検出:S108>
検出部2040は、変換部2020によって得られたテキストデータ30から、発話の終端を1つ以上検出する(S108)。ここで、テキストデータ30から発話の終端を検出する方法は様々である。以下、その方法をいくつか例示する。
【0035】
<<テキストデータ30が音素列である場合>>
例えば検出部2040は、言語モデルを用いて発話の終端を検出する。この言語モデルは、「音素列、正解の単語列」というペアを含む教師データを複数用いて予め学習しておく。音素列と正解の単語列は、同一の音声信号に基づいて生成される。音素列は、例えば、その音声信号を音声フレーム列に変換し、その音声フレーム列を音響モデルで音素列に変換することで生成される。正解の単語列は、例えば、その音声信号に含まれる発話について、人手で書き起こしを行うことで生成される。
【0036】
ここで、正解の単語列には、発話の終端を表す記号や文字である終端トークン(例えば「。」)も、1つの単語として含めておく。
図5は、終端トークンを含む単語列を例示する図である。点線で囲まれた各文字列が1つの単語を表している。
図5の単語列は、「本日は・・・お願いします」という第1の発話と、「まずは・・・ご覧下さい」という第2の発話の2つが含まれるソース音声信号に対応するものである。そのため、
図5の単語列には、第1の発話と第2の発話のそれぞれの末尾に、「。」という終端トークンが、1つの単語として含まれている。
【0037】
このように学習された言語モデルを利用すると、音声フレーム列を、
図5に例示した単語列のような、終端トークンを含む単語列に変換できる。そして、単語列の中で終端トークンが位置する部分を、発話の終端として検出できる。例えば
図5では、2つの終端トークンそれぞれを、第1の発話と第2の発話の終端として検出できる。
【0038】
そこで検出部2040は、変換部2020によって生成された音素列を、前述した言語モデルに入力する。その結果、各発話の終端が終端トークンで表されている単語列を得ることができる。検出部2040は、言語モデルから得られた単語列から終端トークンを検出することで、発話の終端を検出する。
【0039】
<<テキストデータ30が単語列である場合>>
例えば検出部2040は、発話の終端を表す単語のリスト(以下、終端単語リスト)を利用する。終端単語リストは、予め作成して、検出部2040からアクセス可能な記憶装置に格納しておく。検出部2040は、テキストデータ30に含まれる単語の中から、終端単語リストに含まれる単語と一致するものを検出する。そして、検出部2040は、検出された単語を、発話の終端として検出する。
【0040】
なお、ここでいう一致は、完全一致には限定されず、後方一致であってもよい。すなわち、テキストデータ30に含まれる単語の末尾部分が、終端単語リストに含まれる単語のいずれかと一致すればよい。例えば終端単語リストの中に、「します」という単語(以下、単語X)が含まれているとする。この場合、テキストデータ30に含まれる単語は、「します」である場合(単語Xと完全一致する場合)だけでなく、「お願いします」や「致します」などのように「します」で終わる単語である場合(単語Xと後方一致する場合)には、単語Xと一致すると判定される。
【0041】
その他にも例えば、単語が入力されたことに応じて、その単語が終端単語であるか否かを判別する判別モデルを予め用意しておいてもよい。この場合、検出部2040は、テキストデータ30に含まれる各単語をこの判別モデルに入力する。その結果、判別モデルから、入力された単語が終端単語であるか否かを示す情報(例えばフラグ)を得ることができる。
【0042】
判別モデルは、入力された単語が終端単語であるか否かを判別できるように、予め学習しておく。例えば学習は、「単語、正解の出力」という対応付けを表す教師データを用いて行われる。対応する単語が終端単語である場合、正解の出力は、対応する単語が終端単語であることを示す情報(例えば値が1のフラグ)である。一方、対応する単語が終端単語でない場合、正解の出力は、対応する単語が終端単語でないことを示す情報(例えば値が0のフラグ)である。
【0043】
<検出結果の利用方法>
以上のように、検出部2040により、ソースデータ10によって表されている発話の終端が検出される。検出された終端に関する情報を利用する方法は様々である。
【0044】
例えば終端検出装置2000は、検出部2040によって検出された終端に関する情報(以下、終端情報)を出力する。例えば終端情報は、各発話の終端が、ソース音声信号のどの部分に該当するのかを示す情報である。より具体的には、終端情報は、ソース音声信号の先頭を時点0とした相対的な時点として、各終端の時点を示す。
【0045】
この場合、終端検出装置2000は、検出部2040によって検出された終端単語や終端トークンが、ソース音声信号のどの部分に該当するのかを特定する必要がある。この点、音声信号から得られた単語列の各単語がその音声信号のどの部分から得られたものであるかを特定する技術には、既存の技術を利用することができる。そこで、終端単語を検出することで発話の終端を検出するケースでは、終端検出装置2000は、このような既存の技術を利用して、終端単語がソース音声信号のどの部分に該当するのかを特定する。
【0046】
一方、終端トークンを利用して発話の終端を検出するケースの場合、終端トークンそれ自体は、音声信号の中に表れていない。そこで例えば、終端検出装置2000は、テキストデータ30として生成された単語列において終端トークンの直前に位置する単語が、ソース音声信号のどの部分に該当するのかを特定する。そして、終端検出装置2000は、特定した部分の末尾の時点を、終端トークンに対応する時点(すなわち、終端の時点)として特定する。
【0047】
終端情報の出力先は任意である。例えば終端検出装置2000は、終端情報を記憶装置に格納したり、終端情報をディスプレイ装置に表示させたり、終端情報を他の任意の装置へ送信したりする。
【0048】
終端の検出結果を利用する方法は、終端情報を出力するという方法に限定されない。例えば終端検出装置2000は、終端の検出結果を音声認識に利用してもよい。この音声認識を行う機能構成部を認識部と呼ぶ。
図6は、認識部2060を有する終端検出装置2000の機能構成を例示するブロック図である。
【0049】
音声認識では、音声信号を発話ごとに区切ることができると、認識精度が向上する。しかしながら、発話の終端の検出に誤りがあると(例えば、誤って促音を発話の終端として検出してしまったりすると)、音声信号を発話ごとに区切る際に、その区切り位置に誤りが生じるため、認識精度が低下してしまう。
【0050】
この点、前述したように、終端検出装置2000によれば、発話の終端を精度良く検出することができる。そのため、終端検出装置2000によって検出された発話の終端に基づいてソースデータ10を発話ごとに分割して音声認識処理を行うことで、ソースデータ10について精度の高い音声認識処理を行うことができる。
【0051】
例えば認識部2060は、ソース音声信号のうち、検出部2040によって検出された終端に対応する時点から、その時点以降に所定レベル以上の音声が検出される時点までの間を、無音区間として特定する。また、認識部2060は、ソース音声信号の先頭から、その時点以降に所定のレベル以上の音声が検出される時点までの区間も、無音区間として特定する。さらに認識部2060は、このようにして特定された各無音区間をソースデータ10から取り除く。その結果、ソースデータ10から、それぞれが1つの発話を表す音声区間が1つ以上得られる。言い換えれば、ソース音声信号から、発話単位で音声区間を抽出することができる。認識部2060は、このようにして得られた各音声区間について任意の音声認識アルゴリズムを利用して、音声認識処理を行う。
【0052】
特に、終端検出装置2000では発話の終端を正確に検出できるため、後ろ向きアルゴリズムを利用した音声認識を高い精度で実現できる。そこで認識部2060は、音声認識処理に利用するアルゴリズムとして、後ろ向きアルゴリズムや、前向きアルゴリズムと後ろ向きアルゴリズムのペアを利用することが好適である。なお、後ろ向きアルゴリズムや、前向きアルゴリズムと後ろ向きアルゴリズムのペアで実現される具体的な音声認識の手法には、既存の手法を利用することができる。
【0053】
なお、終端検出装置2000では、発話の終端を検出する過程でも、ソース音声信号が単語列に変換されている。すなわち、ソース音声信号について音声認識が行われている。しかしながら、ソース音声信号が発話ごとに区切られていない状態での音声認識であるため、発話ごとにソース音声信号を区切った上で行う音声認識よりも認識精度が低い。そのため、発話ごとに音声信号を区切った上で再度音声認識を行うことが有用である。
【0054】
言い換えれば、終端検出装置2000では、まず、発話ごとに区切られていないソース音声信号に対し、発話の終端を検出できる程度の精度を持つ音声認識を行うことにより、発話の終端の検出が行われる。そして、その後に、終端の検出結果を利用して発話ごとに区切ったソース音声信号について、再度音声認識を行うことにより、最終的には、精度の高い音声認識が実現される。
【0055】
<利用シーンに応じたモデルの選択>
終端検出装置2000が利用する音響モデル、言語モデル、End-to-End 型の音声認識モデル、又は判別モデルなどといった各種のモデルは、利用シーンに応じて切り替えられることが好適である。例えば、コンピュータ分野の人たちの会議ではコンピュータ分野の専門用語が多く現れる一方、医学分野の人たちの会議では医学分野の専門用語が多く現れる。そこで例えば、分野ごとに学習済みモデルを用意しておく。その他にも例えば、日本語や英語などといった言語ごとにモデルを用意しておくことが好適である。
【0056】
利用シーン(分野や言語)ごとにモデルのセットを選択する方法には、様々な方法を採用できる。例えば、1つの終端検出装置2000において、利用シーンに応じてモデルを切り替えられるようにしておく。この場合、終端検出装置2000からアクセス可能な記憶装置に、利用シーンの識別情報と学習済みモデルとを対応付けて、予め格納しておく。終端検出装置2000は、ユーザに対し、利用シーンを選択する画面を提供する。終端検出装置2000は、ユーザによって選択された利用シーンに対応する学習済みモデルを記憶装置から読み出す。変換部2020や検出部2040は、読み出したモデルを利用する。これにより、ユーザによって選択された利用シーンに適した学習済みモデルを利用して、発話の終端の検出が行われる。
【0057】
その他にも例えば、終端検出装置2000を複数用意し、各終端検出装置2000にそれぞれ異なるモデルを設定しておいてもよい。この場合、利用シーンに対応した終端検出装置2000が利用されるようにする。例えば、ユーザからリクエストを受け付けるフロントエンドのマシンを用意し、そのマシンが前述した選択画面を提供するようにする。ユーザが選択画面で利用シーンを選択すると、選択された利用シーンに対応する終端検出装置2000を利用して、発話の終端の検出が行われる。
【0058】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 1つ以上の発話が含まれる音声信号を表すソースデータを取得し、前記ソースデータをテキストデータに変換する変換部と、
前記テキストデータを解析することにより、前記音声信号に含まれる各発話の終端を検出する検出部と、を有する発話終端検出装置。
2. 前記テキストデータは音素列であり、
前記検出部は、音素列を単語列に変換する言語モデルを有し、
前記言語モデルは、音素列を、発話の終端を表す終端トークンが単語として含まれる単語列に変換するように学習されたものであり、
前記検出部は、
前記テキストデータを前記言語モデルに入力することで、前記テキストデータを単語列に変換し、
前記単語列に含まれる前記終端トークンを発話の終端として検出する、1.に記載の発話終端検出装置。
3. 前記テキストデータは単語列であり、
前記検出部は、前記テキストデータの中から発話の終端を表す単語を検出することで、発話の終端を検出する、1.に記載の発話終端検出装置。
4. 前記検出部によって検出された発話の終端に基づいて、前記ソースデータによって表される音声信号を発話ごとの区間に区切り、各前記区間について音声認識処理を行う認識部を有する、1.から3いずれか一つに記載の発話終端検出装置。
5. 前記認識部は、各前記区間について、後ろ向きアルゴリズムを利用した音声認識処理を行う、4.に記載の発話終端検出装置。
6. コンピュータによって実行される制御方法であって、
1つ以上の発話が含まれる音声信号を表すソースデータを取得し、前記ソースデータをテキストデータに変換する変換ステップと、
前記テキストデータを解析することにより、前記音声信号に含まれる各発話の終端を検出する検出ステップと、を有する制御方法。
7. 前記テキストデータは音素列であり、
前記検出ステップにおいて、音素列を単語列に変換する言語モデルを有し、
前記言語モデルは、音素列を、発話の終端を表す終端トークンが単語として含まれる単語列に変換するように学習されたものであり、
前記検出ステップにおいて、
前記テキストデータを前記言語モデルに入力することで、前記テキストデータを単語列に変換し、
前記単語列に含まれる前記終端トークンを発話の終端として検出する、6.に記載の制御方法。
8. 前記テキストデータは単語列であり、
前記検出ステップにおいて、前記テキストデータの中から発話の終端を表す単語を検出することで、発話の終端を検出する、6.に記載の制御方法。
9. 前記検出ステップにおいて検出された発話の終端に基づいて、前記ソースデータによって表される音声信号を発話ごとの区間に区切り、各前記区間について音声認識処理を行う認識ステップを有する、6.から8いずれか一つに記載の制御方法。
10. 前記認識ステップにおいて、各前記区間について、後ろ向きアルゴリズムを利用した音声認識処理を行う、9.に記載の制御方法。
11. 6.から10いずれか一つに記載の制御方法をコンピュータに実行させるプログラム。
【符号の説明】
【0059】
10 ソースデータ
20 音声フレーム列
30 テキストデータ
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 終端検出装置
2020 変換部
2040 検出部
2060 認識部