[第1の実施形態]
図1は、第1の実施形態に係る音声処理装置の機能的構成を示す図である。
図1に示すように、本実施形態の音声処理装置1は、入力受付部110と、音声区間検出部120と、特徴量抽出部130と、キーワード検出部150と、出力部160と、記憶部190とを備える。
入力受付部110は、処理の対象となる音声信号(音声データ)の入力を含む、各種情報の入力を受け付ける。入力受付部110は、例えば、モノラルマイク2により収音された1チャンネルの音声信号の入力を受け付ける。モノラルマイク2は、音声処理装置1に音声信号を入力する装置の一例である。また、入力受付部110は、例えば、記憶部190に記憶させる探索用データ193、キーワードリスト194、及び発音単位数情報195の入力を受け付ける。探索用データ193は、音声信号に含まれる最尤音素列の探索、前記最尤音素列に対する尤度の算出、およびキーワードリスト194で指定した各音素列に対する尤度の算出に用いる情報を含むデータである。キーワードリスト194は、音声信号から検出する所定のキーワードについての情報が複数登録されたリストである。本実施形態におけるキーワードリスト194には、キーワードについての情報として、割り込み発声全体の読みを示す音素列と、該割り込み発声全体のうちの先頭側(語頭側)の1~数文字分が欠落した割り込み発声の読みを示す音素列とが登録されている。発音単位数情報195は、割り込み発声を示すキーワードの発音単位数と、先頭側の削除された発音単位数とを含むデータである。割り込み発声を示すキーワードが日本語である場合、発音単位はモーラとする。入力受付部110は、音声信号191、探索用データ193、キーワードリスト194、及び発音単位数情報195を含む各種情報を、記憶部190に記憶させる。なお、入力受付部110は、処理の対象となる音声信号の全部又は一部を音声区間検出部120に転送可能であってもよい。
音声区間検出部120は、処理の対象となる音声信号から音声区間(発話区間)を検出する。ここで、音声区間は、音声信号のうちの目的の音声が含まれる区間(例えば、所定の人物が発話している区間)とする。音声区間検出部120は、既知の検出方法に従って、音声区間を検出する。例えば、音声区間検出部120は、音声信号のパワーに基づいて、音声信号における音声区間の開始時刻及び終了時刻を検出する。また、例えば、音声区間検出部120は、音声信号のパワーと零交差数とに基づいて、音声信号における音声区間の開始時刻及び終了時刻を検出する。
特徴量抽出部130は、既知の抽出方法に従って、音声区間に含まれる音声についての特徴量を抽出する。例えば、特徴量抽出部130は、特徴量として、メル周波数ケプストラム係数(Mel Frequency Cepstrum Coefficients:MFCC)、MFCCの時間変化量ΔMFCC、及び時間変化量ΔMFCCの時間変化量ΔΔMFCCを抽出する。特徴量抽出部130は、抽出した特徴量をキーワード検出部150に渡すとともに、記憶部190の特徴量履歴192に格納する。
キーワード検出部150は、音声区間から抽出した特徴量と、記憶部190に記憶させた探索用データ193とに基づいて、音声区間内の最尤音素列を探索する。探索用データ193は、例えば、音響モデル、及び発音辞書を含む。キーワード検出部150は、音声認識における既知の探索方法に従って、音声区間内の最尤音素系列を探索する。キーワード検出部150は、音声区間から抽出した特徴量に基づいて、音声区間内の発話内容を示す情報を探索する探索部の一例である。
キーワード検出部150は、音声区間の最尤音素列に対する尤度と、記憶部190に記憶させたキーワードリスト194において表記される音素列に対する尤度とに基づいて、音声区間に含まれる所定のキーワードを検出する。なお、本実施形態の音声処理装置1におけるキーワード検出部150は、検出したキーワードが割り込み発声を示すキーワードである場合、音声区間における該キーワードと対応する区間が、他者による割り込み発声と対応する区間であるか否かを判別する。キーワード検出部150は、音声区間のうちの割り込み発声を示すキーワードと対応する第1の部分区間における話者の特徴を示す情報と、該第1の部分区間よりも前の第2の部分区間における話者の特徴を示す情報とを抽出し、それらの情報を照合する。第1の部分区間の話者の情報と第2の部分区間の話者の情報との類似度が閾値以上である場合、キーワード検出部150は、該2つの部分区間の話者が同一であると認識する。すなわち、第1の部分区間の話者の情報と第2の部分区間の話者の情報との類似度が閾値よりも小さい場合、キーワード検出部150は、第1の部分区間の話者が第2の部分区間の話者とは異なると認識する。第1の部分区間の話者が第2の部分区間の話者とは異なる場合、キーワード検出部150は、音声信号における第1の部分区間が他者による割り込み発声と対応する区間であることを示す情報を記憶部190の検出履歴196に格納する。
また、キーワードリスト194には、割り込み発声とは異なる発声と対応したキーワードを登録することが可能である。音声信号に含まれる音声系列から割り込み発声とは異なる発声と対応したキーワードの読みを示す音素列を検出した場合、音声処理装置1は、音声信号における該キーワードと対応する部分区間を示す情報を記憶部190の検出履歴196に格納する。
本実施形態の音声処理装置1におけるキーワード検出部150は、キーワード照合部151と、割り込み候補検出部152と、開始点推定部153と、話者情報抽出部154と、話者照合部155とを含む。
キーワード照合部151は、音声区間の最尤音素系列に対する尤度と、キーワードリスト194に登録されたキーワードの読みを示す音素列に対する尤度を用いて照合し、音声区間に含まれるキーワードを検出する。キーワード照合部151は、ワードスポッティングにおける既知の照合方法に従って、音声区間最尤音素系列に対する尤度と、キーワードリスト194に登録されたキーワードの読みを示す音素列に対する尤度を用いて照合する。
割り込み候補検出部152は、キーワード照合部151が検出したキーワードのなかから、他者による割り込み発声の候補とするキーワードを検出する。なお、キーワードリスト194に登録されたキーワード(音素列)が全て割り込み発声についてのキーワードである場合、割り込み候補検出部152は、キーワード照合部151において検出された全てのキーワードを、他者による割り込み発声の候補として検出する。また、キーワードリスト194に割り込み発声とは異なる発声についてのキーワードが登録されている場合、割り込み候補検出部152は、キーワード照合部151が検出したキーワードのうちの割り込み発声を示すキーワードを割り込み発声の候補として検出する。また、割り込み候補検出部152は、例えば、キーワード照合部151が検出したキーワードが割り込み発声とは異なる発声を示すキーワードである場合、該キーワードを示す情報を記憶部190の検出履歴196に格納する。
開始点推定部153は、音声区間から割り込み発声の候補となるキーワードを検出した場合に、音声区間における該キーワードと対応した割り込み発声全体の発声が開始された時刻(開始点)を推定する。開始点推定部153は、記憶部190に記憶させた発音単位数情報195を参照して、割り込み発声の候補であるキーワードの発音単位数と削除された発音単位数とを取得する。その後、開始点推定部153は、音声区間におけるキーワードと対応する部分区間の時間長と、該キーワードの発音単位数と、削除された発音単位数とに基づいて、割り込み発声の開始点を推定する(算出する)。
話者情報抽出部154は、音声区間における割り込み発声の候補であるキーワードと対応する第1の部分区間の話者の特徴を示す情報、及び該第1の部分区間よりも前の第2の部分区間の話者の特徴を示す情報を抽出する。ここで、第2の部分区間は、例えば、処理の対象となっている音声区間における割り込み発声の開始点よりも前の部分区間とする。本実施形態の音声処理装置1における話者情報抽出部154は、記憶部190の特徴量履歴192で保持している特徴量(すなわち特徴量抽出部130が抽出した特徴量)に基づいて、各部分区間の話者の特徴を示す情報を抽出する。例えば、話者情報抽出部154は、部分区間毎に、上記のMFCC、ΔMFCC、及びΔΔMFCCに基づいて、話者の発声時の特徴を示すベクトル(例えば、i-vector)を抽出し、抽出した該ベクトルを、話者を示す情報とする。
話者照合部155は、第1の部分区間の話者を示す情報と、第2の部分区間の話者を示す情報とを照合し、該2つの部分区間の話者が同一であるか否かを判別する。話者照合部155は、例えば、第1の部分区間の話者を示す情報と、第2の部分区間の話者を示す情報との類似度を算出し、該類似度が閾値以上である場合には2つの部分区間の話者が同一であると認識する。例えば、話者を示す情報が上記の発声時の特徴を示すベクトルである場合、話者照合部155は、2つのベクトルのコサイン類似度を算出する。コサイン類似度は、0以上1以下の値となり、2つのベクトルの方向の差が小さいほど1に近い大きな値となる。このため、コサイン類似度が閾値以上である場合、話者照合部155は、第1の部分区間の話者と第2の部分区間の話者とが同一であると認識する。一方、コサイン類似度が閾値よりも小さい場合、話者照合部155は、第1の部分区間の話者が第2の部分区間の話者とは異なると認識する。すなわち、話者照合部155は、第1の部分区間の話者と第2の部分区間の話者とが異なる場合にのみ、音声区間における第1の部分区間が他者による割り込み発声であると認識する。音声区間における第1の部分区間が他者による割り込み発声であると認識した場合、話者照合部155は、他者による割り込み発声を示す情報を記憶部190の検出履歴196に格納する。検出履歴196に格納する割り込み発声を示す情報は、例えば、音声信号における割り込み発声の開始点(開始時刻)を含む。
出力部160は、記憶部190に記憶させた音声信号191及び検出履歴196を含む各種情報を外部装置3に出力する。外部装置3は、例えば、音声信号191の再生、及び検出履歴196の表示が可能な電子機器である。また、外部装置3は、音声信号191及び検出履歴196を蓄積するストレージ装置であってもよい。
本実施形態の音声処理装置1は、上記のように、キーワードリスト194を参照して音声区間に含まれる割り込み発声の候補を検出するとともに、発音単位数情報195を参照して音声区間における割り込み発声の候補の開始点を推定する。
図2は、キーワードリストの内容を示す図である。図3は、発音単位数情報の内容を示す図である。
図2には、日本語による割り込み発声の検出に用いるキーワードリスト194の一例を示している。
キーワードリスト194には、上記のように、音声区間から検出するキーワードの読みを示す音素列が複数登録される。図2のキーワードリスト194におけるIDは、登録された音素列(キーワード)を識別する識別子である。IDが1-1から1-5である5個の音素列は、それぞれ、「いやそうじゃないでしょ」という割り込み発声と対応する音素列である。このうちのIDが1-1である音素列は、割り込み発声全体の読みを示す音素列である。これに対し、IDが1-2から1-5までの4個の音素列は、それぞれ、「いやそうじゃないでしょ」という割り込み発声における先頭側(語頭側)の音素が発音単位で削除されており、かつ削除された音素の数が異なる。日本語の場合、発音単位にはモーラを用いることが好ましい。このため、図2のキーワードリスト194におけるIDが1-2の音素列では、「いやそうじゃないでしょ」という割り込み発声における先頭の1モーラ分の音素を削除している。また、IDが1-3の音素列では、「いやそうじゃないでしょ」という割り込み発声における先頭の2モーラ分の音素を削除している。更に、IDが1-4の音素列では「いやそうじゃないでしょ」という割り込み発声における先頭の3モーラ分の音素を削除しており、IDが1-5の音素列では「いやそうじゃないでしょ」という割り込み発声における先頭の4モーラ分の音素を削除している。
また、図2のキーワードリスト194におけるIDが2-1から2-5である5個の音素列は、それぞれ、「ごめんちょっとおしえて」という割り込み発声と対応する音素列である。このうちのIDが2-1である音素列は、割り込み発声全体の読みを示す音素列である。これに対し、IDが2-2から2-5までの4個の音素列は、それぞれ、「ごめんちょっとおしえて」という割り込み発声を示す音素列における先頭側(語頭側)の音素が発音単位(モーラ単位)で削除されており、かつ削除された音素の数が異なる。
更に、図3のキーワードリスト194におけるIDが3-1から3-5である5個の音素列は、それぞれ、「ごめんもういっかいいって」という割り込み発声と対応する音素列である。このうちのIDが3-1である音素列は、割り込み発声全体の読みを示す音素列である。これに対し、IDが3-2から3-5までの4個の音素列は、それぞれ、「ごめんもういっかいいって」という割り込み発声における先頭側(語頭側)の音素が発音単位(モーラ単位)で削除されており、かつ削除された音素の数が異なる。
このように、キーワードリスト194には、1つの割り込み発声(キーワード)に対する音素列として、該割り込み発声全体を示す音素列と、先頭側の音素が発音単位で削除された複数の音素列とを登録する。これにより、本実施形態の音声処理装置1では、ある話者が発話しているときに他の話者が割り込み発声をし、他者の割り込み発声の先頭部分が別の話者の発声と重なった場合にも、割り込み発声を検出することが可能となる。
なお、キーワードリスト194には、上記のように、割り込み発声とは異なる発声を示すキーワードが登録されていてもよい。例えば、キーワードリスト194には、「始めます」及び「以上です」のような会議において区切りとなるキーワードや、「わかりません」等のキーワードが登録されていてもよい。
上記のキーワードリスト194に基づいて音声区間における割り込み発声を示す音素列(キーワード)を検出する場合、該音素列と対応する第1の部分区間の話者が、該第1の部分区間よりも前の第2の部分区間の話者と同一である可能性もある。このため、本実施形態の音声処理装置1では、音声区間に含まれる割り込み発声と対応する音素列を検出した後、該音素列と対応する第1の部分区間の話者が、該第1の部分区間よりも前の第2の部分区間の話者と同一であるか否かを判別する。このとき、音声処理装置1は、発音単位数情報195を参照して第2の部分区間を決定する。
発音単位数情報195は、例えば、図3のように、キーワードリスト194に登録された割り込み発声を示すキーワードのそれぞれにおける、キーワードのモーラ数と先頭側の削除されたモーラ数(削除モーラ数)とを示す情報を含む。図3の発音単位数情報195におけるIDは、図2のキーワードリスト194におけるIDと対応している。例えば、発音単位数情報195においてIDが1-1であるキーワードは、キーワードリスト194におけるIDが1-1の音素列と対応するキーワード(いやそうじゃないでしょ)である。キーワードリスト194におけるIDが1-1の音素列は「いやそうじゃないでしょ」という割り込み発声のキーワード全体の読みを示す音素列である。したがって、発音単位数情報195におけるIDが1-1のキーワードについてのモーラ数及び削除モーラ数は、それぞれ、「9」及び「0」となっている。
また、例えば、発音単位数情報195においてIDが1-2のキーワードは、キーワードリスト194におけるIDが1-2の音素列と対応するキーワード(やそうじゃないでしょ)である。キーワードリスト194におけるIDが1-2の音素列は、「いやそうじゃないでしょ」という割り込み発声のキーワード全体のうちの、先頭の1モーラ分の音素が削除された音素列である。したがって、発音単位数情報195におけるIDが1-2のキーワードについてのモーラ数及び削除モーラ数は、それぞれ、「8」及び「1」となっている。
なお、キーワードリスト194及び発音単位数情報195に登録する1種類の割り込み発声についての音素列の数は、5個に限らず、適宜変更可能である。例えば、キーワードリスト194に音素列(キーワード)を登録する際には、登録する音素列のモーラ数(発音単位数)に最小値を設定し、割り込み発声の種類毎に、割り込み発声全体を示す音素列のモーラ数に応じて登録する音素列の数を変えてもよい。登録する音素列のモーラ数の最小値を5とする場合、キーワードリスト194には、例えば、「ごめんもういっかいいって」という割り込み発声についての音素列として、更にモーラ数が5である「かいいって」という音素列等を登録してもよい。
本実施形態の音声処理装置1は、ワードスポッティングと呼ばれる検出方法に従って、音声信号に含まれる所定のキーワード(割り込み発声)を検出する。更に、本実施形態の音声処理装置1は、ワードスポッティングにより検出した割り込み発声が他者による割り込み発声であるか否かを判別する。
本実施形態の音声処理装置1は、音声信号に含まれる他者による割り込み発声を検出する処理として、例えば、図4のフローチャートに沿った音声処理を行う。なお、音声処理装置1は、図4のフローチャートに沿った処理を、モノラルマイク2から音声信号を取得する処理と並列に行ってもよいし、音声信号の取得を終了した後で行ってもよい。
図4は、第1の実施形態に係る音声処理装置が行う音声処理の内容を説明するフローチャートである。
本実施形態の音声処理装置1は、図4のように、まず、処理の対象となる音声信号から音声区間を検出する(ステップS1)。ステップS1の処理は、音声処理装置1の音声区間検出部120が行う。音声区間検出部120は、既知の検出方法に従って、音声信号のうちの目的の音声が含まれる区間(例えば、所定の人物が発話している区間)を検出する。例えば、音声区間検出部120は、音声信号のパワーに基づいて、音声信号における音声区間の開始時刻及び終了時刻を検出する。
次に、音声処理装置1は、検出した音声区間の特徴量を抽出して保持する(ステップS2)。ステップS2の処理は、音声処理装置1の特徴量抽出部130が行う。特徴量抽出部130は、既知の抽出方法に従って、音声区間に含まれる音声についての特徴量を抽出する。例えば、特徴量抽出部130は、特徴量として、MFCC、MFCCの時間変化量ΔMFCC、及び時間変化量ΔMFCCの時間変化量ΔΔMFCCを抽出する。特徴量抽出部130は、抽出した特徴量をキーワード検出部150に渡すとともに、記憶部190の特徴量履歴192に格納する。このとき、特徴量履歴192は、例えば、記憶部190に含まれるリングバッファに記憶させておく。リングバッファのバッファ長は、音声処理装置1(話者情報抽出部154)が第2の部分区間の話者の情報を抽出する際に必要となる特徴量を保持しておくことが可能なバッファ長(例えば、10秒分以上の特徴量を保持可能なバッファ長)とする。
次に、音声処理装置1は、音声区間から抽出した特徴量と、探索用データ193とに基づいて、音声区間の発話内容と最もマッチした最尤音素列を探索する(ステップS3)。ステップS3の処理は、音声処理装置1のキーワード検出部150が行う。探索用データ193は、上記のように、音声認識に用いる音響モデル、及び発音辞書を含む。キーワード検出部150は、音声認識における既知の探索方法に従って、音声区間内の最尤音素系列を探索する。
次に、音声処理装置1は、音声区間の最尤音素系列と、キーワードリスト194とに基づいて、音声区間に含まれる所定のキーワードを検出するキーワード検出処理(ステップS4)を行う。ステップS4のキーワード検出処理は、音声処理装置1のキーワード検出部150が行う。キーワード検出部150は、ワードスポッティングと呼ばれる既知のキーワード検出方法に従い、キーワードリスト194に登録された音素列に対する尤度と音声区間の最尤音素系列内の音素列に対する尤度とを用いて照合し、キーワードを検出する。キーワードリスト194には、上記のように、割り込み発声を示すキーワードの音素列が複数登録されている(図2を参照)。ステップS4の処理では、キーワード検出部150は、音声区間から割り込み発声を示すキーワードを検出した場合に、音声区間における該キーワードと対応する部分区間の話者が、該部分区間よりも前の部分区間の話者と同一であるか否かを判別する。2つの部分区間の話者が同一である場合、キーワード検出部150は、割り込み発声を示すキーワードを検出したキーワードから除外する。そして、2つの部分区間の話者が異なる場合、キーワード検出部150は、割り込み発声を示すキーワードと対応する部分区間を他者による割り込み発声を示すキーワードとし、該キーワードを示す情報を記憶部190の検出履歴196に格納する。また、キーワード検出部150は、キーワードリスト194に登録された割り込み発声とは異なる発声を示すキーワードを検出した場合には、該キーワードを示す情報を記憶部190の検出履歴196に格納する。
キーワード検出処理を終えると、音声処理装置1は、音声処理を続けるか否かを判定する(ステップS5)。処理を続ける場合(ステップS5;YES)、音声処理装置1は、ステップS1以降の処理を繰り返す。一方、処理の対象となっている音声信号の最後まで処理を行った場合や、外部から処理終了の命令が入力された場合、音声処理装置1は、処理を続けないと判定する。処理を続けない場合(ステップS5;NO)、音声処理装置1は、音声処理を終了する。
なお、本実施形態の音声処理装置1は、上記のように、音声信号を取得する処理と並列にステップS1~S5の音声処理を行ってもよいし、音声信号を取得した後でステップS1~S5の音声処理を行ってもよい。また、本実施形態の音声処理装置1は、図4のようなループ処理に限らず、例えば、ステップS1~S4の各処理をパイプライン化した音声処理を行ってもよい。更に、本実施形態の音声処理装置1は、音声処理の実行中、或いは音声処理を終了した後等の任意のタイミングで、記憶部190の音声信号191及び検出履歴196等を外部装置3に送信する処理を行う。音声信号191及び検出履歴196等を外部装置3に送信する処理は、音声処理装置1の出力部160が行う。
本実施形態の音声処理装置1は、上記のように、キーワード検出処理(ステップS4)において、キーワードリスト194に登録されたキーワードを音声信号から検出した場合に、検出したキーワード毎に次の2つの判別処理を行う。第1の判別処理は、検出したキーワードが割り込み発声を示すキーワードであるか否かを判別する処理である。第2の判別処理は、音声信号において割り込み発声を示すキーワードと対応する第1部分区間の話者と、第1の部分区間よりも前の第2の部分区間の話者とが同一であるか否かを判別する処理である。また、本実施形態の音声処理装置1は、検出したキーワードが割り込み発声を示すキーワードであり、かつ該キーワードについての第1の部分区間の話者と第2の部分区間の話者とが同一である場合、該キーワードを検出したキーワードから除外する。このため、本実施形態の音声処理装置1は、ステップS4のキーワード検出処理として、例えば、図5A及び図5Bのフローチャートに沿った処理を行う。
図5Aは、第1の実施形態に係るキーワード検出処理の内容を説明するフローチャート(その1)である。図5Bは、第1の実施形態に係るキーワード検出処理の内容を説明するフローチャート(その2)である。なお、図5A及び図5Bのフローチャートにおける数字を記載した円は、それぞれ、結合子であり、数字の同じ円(結合子)同士が結合する。
キーワード検出処理は、上記のように、音声処理装置1のキーワード検出部150が行う。キーワード検出部150は、図5Aのように、まず、音声区間の最尤音素系列に対する尤度とキーワードリスト194に登録されたキーワードの音素列に対する尤度に基づいて、音声区間に含まれるキーワードを検出する(ステップS401)。ステップS401の処理は、キーワード検出部150に含まれるキーワード照合部151が行う。キーワード照合部151は、ワードスポッティングにおける既知の検出方法に従って、音声区間に含まれるキーワードを検出する(ステップS401)。例えば、キーワード照合部151は、キーワードリスト194に登録されたキーワードの音素列毎に尤度を算出し、音声区間の最尤音素系列に対する尤度を用いて照合して信頼度を算出する。そして、キーワードリスト194に登録されたキーワードの音素列のなかに信頼度が閾値以上となる音素列がある場合に、キーワード照合部151は、該音素列と対応したキーワードを音声区間に含まれるキーワードとして検出する。
次に、キーワード検出部150は、キーワードリスト194に登録されたキーワードを音声区間から検出したか否かを判定する(ステップS402)。ステップS402の判定は、例えば、キーワード照合部151が行う。現在処理の対象となっている音声区間からキーワードが検出されなかった場合(ステップS402;NO)、キーワード検出部150(キーワード照合部151)は、図5Bのように、照合すべき音声信号が終了したか否かを判定する。
一方、音声区間からキーワードが検出された場合(ステップS402;YES)、検出したキーワードが割り込み発声の候補であるか否かを判定する(ステップS403)。ステップS403の処理は、例えば、キーワード検出部150に含まれる割り込み候補検出部152が行う。ステップS403の判定処理では、割り込み候補検出部152は、検出したキーワードが、発音単位数情報195にキーワードのモーラ数及び削除モーラ数が登録されたキーワードであるか否かを判定する。例えば、割り込み候補検出部152は、検出したキーワードについてのキーワードリスト194におけるIDをキー情報として、発音単位数情報195のIDを検索する。発音単位数情報195にキー情報と一致するIDが存在する場合、割り込み候補検出部152は、検出したキーワードは割り込み発声の候補であると判定する。
検出したキーワードが割り込み発声の候補ではない場合(ステップS403;NO)、キーワード検出部150は、図5Bのように、次に、検出したキーワードに関する情報を検出履歴に格納する(ステップS409)。ステップS409の処理では、キーワード検出部150は、例えば、検出したキーワードを示す文字列、音声信号における検出したキーワードの発話開始時刻、及び他者による割り込み発話であるか否かを示す情報を検出履歴196に格納する。
ステップS409の処理の後、キーワード検出部150は、現在処理の対象となっている音声信号を全て処理したか否かを判定する(ステップS410)。ステップS410の判定処理は、例えば、割り込み候補検出部152が行う。ステップS410で処理していない音声信号が存在する場合(ステップS410;NO)、割り込み候補検出部152は、ステップS401以降の処理を行う。そして、全ての音声信号が処理済みである場合(ステップS410;YES)、キーワード検出部150(割り込み候補検出部152)は、キーワード検出処理を終了する。
これに対し、検出したキーワードが割り込み発声の候補である場合(ステップS403;YES)、キーワード検出部150は、次に、割り込み発声の候補のモーラ数と削除モーラ数とに基づいて、割り込み発声の開始点を推定する(ステップS404)。ステップS404の処理は、キーワード検出部150に含まれる開始点推定部153が行う。開始点推定部153は、例えば、まず、発音単位数情報195から割り込み発声の候補(検出したキーワード)のモーラ数及び削除モーラ数を取得する。その後、開始点推定部153は、例えば、下記式(1)により、音声信号における割り込み発声の開始点となる時刻T1を推定する。
T1=T2-Md・(TL1/M) (1)
式(1)におけるT2及びTL1は、それぞれ、音声信号のうちの割り込み発声の候補となっているキーワードと対応する部分区間(第1の部分区間)の開始時刻及び時間長である。また、式(1)におけるM及びMdは、それぞれ、発音単位数情報195に登録されたキーワードのモーラ数及び削除モーラ数である。すなわち、式(1)は、第1の部分区間における1モーラあたりの平均時間長TL1/Mを発話速度として、キーワードを含む割り込み発声全体の1語目を発声した時刻(開始点)T1を算出する数式である。例えば、割り込み発声の候補となったキーワードのモーラ数M及び削除モーラ数Mdがそれぞれ6及び3である場合、開始点推定部153は、時刻T2から3・(TL1/6)秒前となる時刻T1を、割り込み発声の開始点とする。
次に、キーワード検出部150は、音声信号における割り込み発声の候補と対応する第1の部分区間の話者情報と、音声信号における割り込み発声の開始点よりも前の第2の部分区間の話者情報とを抽出する(ステップS405)。ステップS405の処理は、キーワード検出部150に含まれる話者情報抽出部154が行う。話者情報抽出部154は、例えば、まず、音声信号における第1の部分区間から抽出した特徴量を特徴量履歴192から読み出し、該特徴量に基づいて、第1の部分区間の話者を示す情報を抽出する。その後、話者情報抽出部154は、音声信号における第2の部分区間から抽出した特徴量を特徴量履歴192から読み出し、該特徴量に基づいて、第2の部分区間の話者を示す情報を抽出する。話者情報抽出部154は、所定の時間長と開始点推定部153が算出した(推定した)割り込み発声の開始点とに基づいて、音声信号における第2の部分区間を特定する。第2の部分区間の時間長は、特定の時間長(固定値)に限らず、例えば、第1の部分区間の時間長や音声区間における割り込み発声の開始点よりも前となる部分区間の時間長に応じて変更可能な可変値であってもよい。ステップS405の処理では、話者情報抽出部154は、例えば、部分区間毎に、部分区間内の特徴量に基づく因子分析を行い、部分区間内における話者の特徴を示すベクトル(例えばi-vector)を抽出する。
次に、キーワード検出部150は、第1の部分区間の話者情報と第2の部分区間の話者情報との類似度を算出する(ステップS406)。ステップS406の処理は、キーワード検出部150に含まれる話者照合部155が行う。本実施形態における話者情報の類似度は、例えば、2つの話者情報の差異が小さいほど大きな値となる数式により算出する。第1の部分区間の話者情報及び第2の部分区間の話者情報として上記のベクトル(i-vector)を抽出した場合、話者照合部155は、類似度として、例えば、下記式(2)で表されるコサイン類似度Scを算出する。
式(2)における太字のwはベクトルを意味する。すなわち、式(2)において、w1は第1の部分区間の特徴量に基づいて抽出した第1のベクトル(i-vector)であり、太字のw2は第2の部分区間の特徴量に基づいて抽出した第2のベクトル(i-vector)である。
話者情報の類似度を算出すると、キーワード検出部150は、次に、算出した類似度が閾値以上であるか否かを判定する(ステップS423)。ステップS423の判定は、話者照合部155が行う。
話者情報の差異が小さいほど値が大きくなる数式により類似度を算出した場合、第1の部分区間の話者と第2の部分区間の話者とが同一であるときの類似度は、第1の部分区間の話者と第2の部分区間の話者とが異なるときの類似度よりも大きな値となる。例えば、式(2)で表されるコサイン類似度Scは、1≧Sc≧0であり、かつ、第1のベクトルw1と第2のベクトルw2との差異が小さいほど、1に近い大きな値となる。このため、算出した類似度が予め設定した閾値THS以上である場合には、話者照合部155は、第1の部分区間の話者と第2の部分区間の話者とが同一であると認識する。第1の部分区間の話者と第2の部分区間の話者とが同一である場合、第1の部分区間の発話内容は、第2の部分区間の話者が発声したものであり、第2の部分区間の話者とは異なる話者(他者)が発声した割り込み発声ではない。このため、算出した類似度Scが閾値以上である場合、話者照合部155は、音声信号における第1の部分区間を他者による割り込み発声と対応した区間でなないと認識する。言い換えると、算出した類似度Scが閾値以上である場合、話者照合部155は、第1の部分区間と対応するキーワードは、検出対象のキーワード(他者による割り込み発声を示すキーワード)ではないと認識する。このため、算出した類似度Scが閾値以上である場合(ステップS423;YES)、キーワード検出部150は、図5Bのように、次に、現在処理の対象となっている音声信号をすべて処理したか否かを判定する(ステップS410)。ステップS410の判定処理は、例えば、割り込み候補検出部152が行う。ステップS410で処理していない音声信号が存在する場合(ステップS410;NO)、割り込み候補検出部152は、ステップS401の処理を行う。そして、全ての音声信号が処理済みである場合(ステップS410;YES)、キーワード検出部150(割り込み候補検出部152)は、キーワード検出処理を終了する。
一方、算出した類似度が閾値よりも小さい場合(ステップS423;NO)、話者照合部155は、音声区間における第1の部分区間を他者による割り込み発声の区間であると認識する(ステップS408)。その後、キーワード検出部150は、検出したキーワードに関する情報を検出履歴に格納する(ステップS409)。ステップS409の処理では、キーワード検出部150は、例えば、検出したキーワードを示す文字列、音声信号における検出キーワードの発話開始時刻、及び他者による割り込み発話であるか否かを示す情報を検出履歴196に格納する。
ステップS409の処理の後、キーワード検出部150は、現在処理の対象となっている音声信号を全て処理したか否かを判定する(ステップS410)。ステップS410の判定処理は、例えば、割り込み候補検出部152が行う。ステップS410で処理していない音声信号が存在する場合(ステップS410;NO)、割り込み候補検出部152は、ステップS401の処理を行う。そして、全ての音声信号が処理済みである場合(ステップS410;YES)、キーワード検出部150(割り込み候補検出部152)は、キーワード検出処理を終了する。
このように、本実施形態に係るキーワード検出処理では、音声区間内に割り込み発声のキーワードと対応した第1の部分区間が存在する場合に、第1の部分区間の話者と、該第1の部分区間よりも前の第2の部分区間の話者とが同一であるか否かを判定する。そして、2つの部分区間の話者が異なる場合にのみ、本実施形態のキーワード検出処理では、割り込み発声のキーワードと対応した第1の部分区間を他者による割り込み発声の区間として検出する。このため、本実施形態に係るキーワード検出処理では、1人の話者が連続して発話している音声区間から検出された割り込み発声と対応するキーワードを他者による割り込み発声として誤検出することを防ぐことが可能となる。
図6は、他者による割り込み発声を含む音声信号の例を示す波形図である。
図6の波形図4は、横軸が音声信号5における時刻を示しており、縦軸が音声信号5の振幅を示している。すなわち、図6の波形図には、音声信号5のうちの時刻T0から時刻T3までの区間における振幅の時間変化を示している。時刻T0から時刻T3までの区間は、1人の話者(第2の話者)の発話中に他者(第1の話者)が割り込み発声を行うことにより、第2の話者が発声をやめた区間である。
波形図4における時刻T0から時刻T2(<T3)までの区間SB2は、第2の話者が発話している区間の一部である。一方、波形図4における時刻T1(T0<T1<T2)から時刻T3までの区間SB1は、第2の話者とは異なる第1の話者(他者)が割り込み発声を行っている区間の一部である。第2の話者が発話しているときに他者(第1の話者)が割り込み発声を行うと、第2の話者は発声をやめることが多い。このため、第2の話者が発話しているときに他者(第1の話者)が割り込み発声を行うと、図6の波形図4における時刻T1から時刻T2までの区間OLのように、第1の話者の発話区間SB1における最初の数語分だけ第2の話者の発声と第1の話者の発声とが重なる。
統計的言語モデルを利用した音声ディクテーションにより音声認識を行う音声認識装置では、時刻T1から時刻T2までの区間OLのような複数の話者の発声を含む区間を正しい文字列(単語列)に変換することが難しい。更に、音声ディクテーションによる音声認識では、区間OLの認識結果が区間OLの前後の区間の認識結果に対して悪影響を与える。このため、音声ディクテーションによる音声認識では、時刻T0から時刻T3までの区間を含む音声区間全体の認識結果における誤認識率が高くなる恐れがある。
これに対し、本実施形態の音声処理装置1では、上記のようにワードスポッティングと呼ばれる技術を適用し、時刻T0から時刻T3までの区間を含む音声区間から、割り込み発声を含む所望のキーワードを検出する。本実施形態の音声処理装置1で利用するキーワードリスト194は、図2のように、割り込み発声全体の読みを示す音素列に加え、割り込み発声の音素列における先頭側(語頭側)の音素を発音単位で削除した音素列を登録している。すなわち、キーワードリスト194には、図6の波形図4における第1の話者の発話区間SB1に発声された割り込み発声全体のうちの、時刻T1から時刻T2までの区間OLに第1の話者が発声した部分が削除された割り込み発声の読みを示す音素列が含まれる。このため、本実施形態の音声処理装置1では、2人の話者の発声が重なっている時刻T1から時刻T2までの区間OLの影響を受けることなく、音声信号5における時刻T2以降の情報に基づいて、割り込み発声を検出することが可能となる。
なお、キーワードリスト194に基づいて割り込み発声を検出した場合、検出した割り込み発声の話者が、割り込み発声を検出した区間の直前となる区間の話者と同一である可能性もある。例えば、1人の話者が連続して発話している音声区間には、キーワードリスト194における「じゃないでしょ」のような割り込み発声と対応した発声(音素列)が含まれる場合もある。このため、本実施形態の音声処理装置1では、キーワードリスト194に登録された割り込み発声の読みを示す音素列を音声信号5から検出した場合に、検出した割り込み発声が他者による割り込み発声であるか否かを判別する。
第2の話者の発話中に第1の話者が割り込み発声を行った場合、音声信号における第1の話者のみが発声している区間と第2の話者のみが発声している区間とでは、音響的な特徴量に明確な差異が生じる。これに対し、1人の話者が発話中に割り込み発声に該当するキーワードを発声した場合、音声信号におけるキーワードと対応する区間と他の区間とでは、音響的な特徴量の類似度が高くなる。このため、本実施形態の音声処理装置1は、検出した割り込み発声と対応する第1の部分区間における音響的な特徴量と、該第1の部分区間よりも前の第2の部分区間における音響的な特徴量とに基づいて、2つの部分区間の話者が同一であるか否かを判定する。本実施形態の音声処理装置1では、第1の部分区間及び第2の部分区間の音響的な特徴量として、特徴量抽出部130が抽出した特徴量を利用する。また、本実施形態の音声処理装置1では、第1の部分区間の特徴量と第2の部分区間の特徴量との類似度が閾値以上となる場合に、第1の部分区間の話者と第2の部分区間の話者とが同一であると判定する。
例えば、図6の波形図4における音声信号5では、時刻T2以降の区間が第1の部分区間となり、時刻T1以前の区間が第2の部分区間となる。このため、音声処理装置1は、例えば、第1の部分区間の特徴量に基づいて第1の部分区間の話者の発声時の特徴を示す第1の話者情報を抽出するとともに、第2の部分区間の特徴量に基づいて第2の部分区間の話者の発声時の特徴を示す第2の話者情報を抽出する。音声処理装置1における特徴量抽出部130は、音声信号5の音響的な特徴量として、例えば、MFCC,ΔMFCC,及びΔΔMFCCを抽出する。この場合、音声処理装置1では、第1の話者情報及び第2の話者情報として、例えば、それぞれの部分区間におけるMFCC,ΔMFCC,及びΔ(ΔMFCC)に基づいて、発声時の特徴を示すベクトル(例えばi-vector)を抽出する。図6の波形図4における音声信号5では、時刻T2以降の第1の部分区間と時刻T1以前の第2の部分区間とで話者が異なる。このように第1の部分区間の話者と第2の部分区間の話者とが異なる場合、第1の部分区間の特徴量から抽出したベクトル(第1の話者情報)と、第2の部分区間の特徴量から抽出したベクトル(第2の話者情報)との間には、明確な差異が生じる。このため、式(2)で算出されるコサイン類似度Scは、1>Sc>0であり、かつ1からの差が大きな値となる。この場合、音声処理装置1は、第1の部分区間の話者と第2の部分区間の話者とが同一ではないと認識する。
図7は、キーワードの検出方法を説明する図である。
図7の(a)には、音声信号5における1個の音声区間VB内の発話内容を模式的に示している。図7の(a)の音声区間VBには、第2の話者が発声した「だいじょうぶだとかんがえて」という発話内容と対応する音声501と、第1の話者が発声した「いやそうじゃないでしょ」という割り込み発声と対応する音声502とが含まれる。また、第1の話者は、第2の話者の発話中に割り込み発声を行っており、第1の話者の発声開始直後の「いやそ」の部分は、第2の話者の「がえて」という発声と重なっている。すなわち、図7の(a)の音声信号5では、時刻To1から時刻To2までの部分区間OLが、2人の発声が重なった区間となる。音声処理装置1は、例えば、音声区間VBを検出した後、該音声区間VBから特徴量を抽出し(ステップS2)、該音声区間VBの最尤音素列を探索する(ステップS3)。その後、音声処理装置1は、キーワードリスト194を参照し、音声区間VBの最尤音素列に対する尤度とキーワードリスト194に登録されたキーワードの音素列に対する尤度を用いて、音声区間VBから所定のキーワードを検出する(ステップS401)。
図7の(b)には、音声処理装置1が図7の(a)の音声信号5における音声区間VBに含まれるキーワードを検出する方法を模式的に示している。図7の(b)における音素列6は、図7の(a)の音声区間VBの最尤音素列の推定結果である。なお本説明のため、音素列6に示す最尤音素系列の推定結果には誤りがないものとし、発話内容と対応した音素列として示している。音声区間VBのうちの、時刻Ts1から時刻To1までの区間、及び時刻To2から時刻Te1までの区間は、それぞれ、1人の話者が発声している区間である。音声区間における1人の話者が発声している区間は、複数人が発話している区間と比べて、発話内容に対応した最尤音素列が得られやすい。このため、図7の(b)の音素列6における部分区間S1,S2の音素列は、それぞれ、発話内容に対応した最尤音素の並びとなりやすい。したがって、図7の(b)では、音素列6における部分区間S1,S2の音素列として発話内容の読みを示す音素の並びを示しているが、部分区間S1,S2の音素列は、それぞれ、実際の発話内容の読みとは一部が異なる音素の並びとなる場合もある。
これに対し、音素列6における時刻To1から時刻To2までの区間OLは、2人の話者が発声している区間である。このため、音素列6における区間OLの音素列は、発話内容と対応した音素の並びとは大きく異なる場合がある。よって、図7の(b)の音素列6では、区間OLの音素列を「***(どの音素が入るか分からないため*で表す)」で示している。
音声区間VBの最尤音素列6を得た後、音声処理装置1は、キーワードリスト194を参照して、音素列6に含まれる所定のキーワードを検出する(ステップS401)。キーワードリスト194には、例えば、図7の(b)のように、「いやそうじゃないでしょ」という割り込み発声の読みを示す音素列「i ya so u ja na i de syo」がキーワード194-1として登録されている。また、キーワードリスト194には、「いやそうじゃないでしょ」という割り込み発声全体から「いやそ」を削除した「うじゃないでしょ」という割り込み発声の読みを示す音素列「u ja na i de syo」がキーワード194-2として登録されている。音声処理装置1は、キーワードリスト194に登録されたキーワードの音素列毎に算出した尤度と、音声区間VBの最尤音素列6に対する尤度とを用いて照合し、信頼度の高いキーワードを音声区間VBに含まれるキーワードとして検出する。例えば、音声処理装置1は、音素列「u ja na i de syo」というキーワード194-2に対する尤度と、区間S2における最尤音素列に対する尤度を用いて照合したときに、キーワード194-2が区間S2に含まれる信頼度が高いと認識する。この場合、音声処理装置1は、音声区間VBにおける区間S2を「うじゃないでしょ」というキーワード(割り込み発声)と対応する区間として検出する。
図2のキーワードリスト194のように登録されたキーワードが割り込み発声とは異なる発声を示すキーワードを含む場合、音声処理装置1は、次に、検出したキーワードが割り込み発声の候補を示すキーワードであるか否かを判定する(ステップS403)。本実施形態の音声処理装置1は、上記のように、検出したキーワードが発音単位数情報195に登録されたキーワードである場合、検出したキーワードを割り込み発声の候補とする。図7の(b)の音素列6における区間S2の音素列601は、音素列「u ja na i de syo(うじゃないでしょ)」というキーワード194-2と対応する。「うじゃないでしょ」というキーワード194-2は、「いやそうじゃないでしょ」という割り込み発声全体のうちの「いやそ」を削除したキーワードであり、発音単位数情報195に登録されている(図3を参照)。すなわち、区間S2から検出した「うじゃないでしょ」というキーワード194-2は、割り込み発声の候補となる。このように検出したキーワードが割り込み発声の候補となる場合、音声処理装置1は、次に、割り込み発声の開始点を推定する(ステップS404)。音声処理装置1(開始点推定部153)は、例えば、割り込み発声の候補となるキーワードのモーラ数(発話単位数)と、削除モーラ数と、割り込み発声の候補となる区間の話者の発話速度とに基づいて、割り込み発声の開始点を推定する。
図8は、割り込み発声の開始点の推定方法を説明する図である。
図8には、図7の(a)の音声信号5における割り込み発声の開始点の推定方法の一例を示している。音声処理装置1は、図8の音声信号5における時刻Ts1から時刻Te1までの音声区間のうちの、時刻T2(To2)から時刻Te1までの部分区間を第1の部分区間として検出する。第1の部分区間は、第1の話者が発声した「いやそうじゃないでしょ」という割り込み発声(音声502)全体のうちの、先頭の3語(3モーラ)が削除された「うじゃないでしょ」という音素列と対応する。「うじゃないでしょ」というキーワードのモーラ数は、6である(図3を参照)。また、音声信号5における第1の部分区間の時間長TL1は、Te1-T2(秒)である。このため、音声処理装置1の開始点推定部153は、第1の部分区間における1モーラあたりの平均発声時間(Te1-T2)/6を、第1の部分区間の話者の発話速度とする。また、図3の発音単位数情報195において、「うじゃないでしょ」というキーワードと対応付けられた削除モーラ数は、3である。すなわち、開始点推定部153は、上記の式(1)における第1の部分区間の時間長TL1、文字列のモーラ数M、及び削除モーラ数Mdを、それぞれ、(Te1-T2)、6、及び3として、割り込み発声の開始点T1を算出する。すなわち、第1の部分区間の話者の発話速度をTm(秒/モーラ)とした場合、開始点推定部153は、時刻T2よりも3Tm(秒)だけ前となる時刻T1を、割り込み発声の開始点とする。
割り込み発声の開始点を推定した後、音声処理装置1は、話者情報抽出部154において、第1の部分区間及び該第1の部分区間よりも前の第2の部分区間の話者情報のそれぞれを抽出する(ステップS405)。本実施形態の音声処理装置1では、第2の部分区間を、割り込み発声の開始点T1よりも前となるように設定する。その後、音声処理装置1は、照合部155において2つの話者情報を照合し、2つの部分区間の話者が同一であるか否かを判別する(ステップS406及びS423)。
図9は、他者による割り込み発声であるか否かの判別方法を説明する図である。
図9の(a)には、図7の(a)の音声信号5における話者の発話内容と特徴量との関係を模式的に示している。すなわち、図9の(a)の音声信号5における時刻Ts1から時刻T2までの特徴量511は、第2の話者が「だいじょうぶだとかんがえて」と発声したときの特徴量を示している。また、図9の(a)の音声信号5における時刻T1から時刻Te1までの特徴量512は、第1の話者が「いやそうじゃないでしょ」と発声したときの特徴量を示している。
音声信号5における時刻T2から時刻Te1までの区間(第1の部分区間PB1)は、第1の話者のみが発話している区間である。このため、音声信号5における時刻T2から時刻Te1までの区間から抽出される特徴量は、第1の話者についての情報のみを含む。よって、音声処理装置1の話者情報抽出部154は、記憶部190の特徴量履歴192から、時刻T2から時刻Te1までの区間の特徴量を読み出し、該特徴量に基づいて、第1の話者の発声時の特徴を示す情報(第1の話者情報)を抽出する。特徴量履歴192に格納された特徴量がMFCC,ΔMFCC,及びΔΔMFCCである場合、話者情報抽出部154は、該特徴量に基づく因子分析により、話者の音響的な特徴を示すベクトル(例えばi-vector)を算出する。
また、話者情報抽出部154は、第1の部分区間PB1よりも前の第2の部分区間PB2として、割り込み発声の開始点(時刻T1)を終点とする所定の時間長TL2の部分区間を決定する。すなわち、話者情報抽出部154は、時刻T1よりも時間長TL2だけ前となる時刻Tpを算出し、時刻Tpから時刻T1までの区間を第2の部分区間PB2とする。なお、第2の部分区間PB2の時間長TL2は適宜設定すればよい。時間長TL2は、固定値に限らず、例えば、第1の部分区間PB1の時間長TL1、或いは音声区間における時刻T1よりも前の部分の時間長等に応じて変更される可変値であってもよい。第2の部分区間PB2を決定した後、話者情報抽出部154は、記憶部190の特徴量履歴192から、時刻Tpから時刻T1までの第2の部分区間PB2の特徴量を読み出し、該特徴量に基づいて、第2の話者の発声時の特徴を示す情報(第2の話者情報)を抽出する。
第1の話者情報及び第2の話者情報を抽出した後、音声処理装置1は、上記のように、話者照合部155において2つの話者情報を照合し、2つの部分区間の話者が同一であるか否かを判別する(ステップS406及びS423)。抽出した話者情報が、上記のようなベクトルである場合、音声処理装置1の話者照合部155は、第1の話者情報を示すベクトルと、第2の話者情報を示すベクトルとのコサイン類似度Scに基づいて、第1の話者と第2の話者とが同一であるか否かを判別する。この場合、話者照合部155は、式(2)によりコサイン類似度Scを算出する。
図9の(a)では、第2の話者の特徴量511及び第1の話者の特徴量512を、それぞれ、ドットパターンにおけるドットの密度で示している。図9の(a)の音声信号5では、第1の部分区間PB1で発声しているのは第1の話者であり、第2の部分区間PB2で発声しているのは第2の話者である。このため、音声信号5における第1の部分区間PB1の特徴量と第2の部分区間PB2の特徴量との間には、明確な差異が生じる。よって、第1の部分区間BP1の特徴量から抽出される話者情報と、第2の部分区間BP2の特徴量から抽出される話者情報との間には、明確な差異が生じる。このように、割り込み発声の候補と対応する第1の部分区間PB1の話者情報と、第2の部分区間PB2の話者情報とが異なる場合、式(2)により算出されるコサイン類似度CSは、1>CS>0であり、かつ、1との差が大きくなる。
一方、図9の(b)には、音声信号5における時刻Ts1から時刻Te1までの区間が、1人の話者(第2の話者)が発話し続けた区間である場合の、発話内容と特徴量との関係を模式的に示している。例えば、図9の(b)の音声信号5における時刻Ts1から時刻Te1までの区間の発話内容が、第2の話者が1人で発声した「だいじょうぶだとかんがえそうじゃないでしょうか」という内容であったとする。この場合、音声処理装置1は、音声区間における「そうじゃないでしょ」の部分を割り込み発声の候補として検出する。そのため、図9の(b)の音声信号5における時刻T2から時刻T4までの部分区間が「そうじゃないでしょ」と対応する区間である場合、音声処理装置1は、該区間を第1の部分区間PB1として検出する。
第1の部分区間PB1を検出した後、音声処理装置1は、上記のように、割り込み発声の開始点T1を推定して第2の部分区間PB2を決定する。その後、音声処理装置1は、第1の部分区間PB1の話者情報と第2の部分区間PB2の話者情報とに基づいて、第1の部分区間PB1の話者と第2の部分区間PB2の話者とが同一であるか否かを判別する。ここで、図9の(b)の音声信号5における第1の部分区間PB1及び第2の部分区間PB2は、いずれも第2の話者が発話している区間である。このため、音声処理装置1の特徴量抽出部130が音声信号5における第1の部分区間PB1及び第2の部分区間PB2から抽出した特徴量は、いずれも、第2の話者の発声時の特徴を示す特徴量513となる。よって、第1の部分区間BP1の特徴量513から抽出される話者情報と、第2の部分区間BP2の特徴量513から抽出される話者情報とは、略同一の情報となる。このように、割り込み発声の候補と対応する第1の部分区間PB1の話者情報と、第2の部分区間PB2の話者情報とが同一とみなせる場合、式(2)により算出されるコサイン類似度Scは、1>Sc>0であり、かつ、1に近い値となる。
すなわち、第1の部分区間PB1の話者と第2の部分区間PB2の話者とが異なる場合と、話者が同一である場合とでは、コサイン類似度Scの値の範囲に差異が生じる。このため、統計処理等を行って予め閾値THSを定めておくことで、音声処理装置1は、閾値THSとコサイン類似度Scとの大小関係に基づいて、第1の部分区間PB1の話者と第2の部分区間の話者PB2とが同一であるか否かを判別することが可能となる。
キーワードリスト194に登録されたキーワード(音素列)のうちの割り込み発声全体における先頭部分が削除された音素列は、割り込み発声を示す音素列に限らず、他のキーワード等の音素列の一部あるいは発音が類似する場合もある。このため、キーワードリスト194に基づいて音声区間に含まれるキーワードを検出する場合、音声処理装置1では、音声信号における他者による割り込み発声とは異なる部分区間を、割り込み発声として検出することがある。このように音声区間のうちのキーワードリスト194に登録されたキーワードと対応する区間を割り込み発声とする場合、他者による割り込み発声ではない部分を割り込み発声として誤検出する可能性が高くなる。例えば、キーワードリスト194に登録されたキーワードと対応する区間を割り込み発声とする場合、図9の(a)の音声信号5における第1の部分区間PB1、及び図9の(b)の音声信号5における第1の部分区間PB1は、いずれも割り込み発声となる。しかしながら、図9の(b)の音声信号5における第1の部分区間PB1は他者による割り込み発声ではないため、第1の部分区間PB1を割り込み発声として検出することは、誤検出となる。
これに対し、本実施形態の音声処理装置1では、キーワードリスト194を参照して検出した音声信号内の部分区間を割り込み発声の候補とし、音声信号から抽出した特徴量に基づいて、割り込み発声の候補が他者による割り込み発声であるか否かを判別する。すなわち、本実施形態の音声処理装置1では、1人の話者が発話している1つの音声区間から検出された割り込み発声の候補となる部分区間を、他者による割り込み発声ではないと認識する。例えば、本実施形態の音声処理装置1は、図9の(a)の音声信号5における第1の部分区間PB1は他者による割り込み発声と認識するが、図9の(b)の音声信号5における第1の部分区間PB1は割り込み発声ではないと認識する。このため、本実施形態の音声処理装置1では、音声信号における他者による割り込み発声ではない部分を割り込み発声として誤検出することを抑制することが可能となる。
以上のように、本実施形態の音声処理装置1は、キーワードリスト194に登録されたキーワードの読みを示す音素列に対する尤度と、音声信号の最尤音素列に対する尤度に基づいて、音声信号に含まれるキーワードを検出する。この際、キーワードリスト194には、割り込み発声全体を示す音素列と、該割り込み発声全体のうちの先頭側(語頭側)が発音単位で削除され、かつ削除された発音単位数が異なる複数の音素列とを登録しておく。そして、音声信号から割り込み発声と対応したキーワードを検出した場合、音声処理装置1は、音声信号における割り込み発声と対応する第1の部分区間の話者と、該第1の部分区間よりも前の第2の部分区間の話者とが同一であるか否かを判定する。本実施形態の音声処理装置1では、音声信号の第1の部分区間における音響的な特徴量に基づいて抽出した話者の情報と、音声信号の第2の部分区間における音響的な特徴量に基づいて抽出した話者の情報との類似度に基づいて、話者が同一であるか否かを判定する。そして、第1の部分区間の話者と、第2の部分区間の話者とが異なる場合にのみ、音声処理装置1は、第1の部分区間が他者による割り込み発声を示す区間であると認識する。このため、本実施形態の音声処理装置1では、キーワードリスト194に基づいて割り込み発声を示す区間として検出された区間のうちの、他者による割り込み発声ではない区間を割り込み発声の検出結果から除外することが可能となる。よって、本実施形態の音声処理装置1では、音声信号における他者による割り込み発声ではない区間を割り込み発声の区間とする誤検出を防ぐことが可能となる。
また、本実施形態の音声処理装置1が参照するキーワードリスト194は、割り込み発声全体を示す音素列と、該割り込み発声全体のうちの先頭側(語頭側)が発音単位で削除され、かつ削除された発音単位数が異なる複数の音素列とが登録されている。このため、本実施形態の音声処理装置1は、1人の話者(第2の話者)の発話中に他者(第1の話者)が割り込み発声をした場合に生じる語頭部分の認識誤り等による、割り込み発声の検出漏れを低減することが可能である。
しかも、本実施形態の音声処理装置1は、処理の対象となる音声信号の音響的な特徴量から抽出した話者の発声時の特徴を示す情報に基づいて、第1の部分区間の話者と第2の部分区間の話者とが同一であるか否かを判別する。このため、本実施形態の音声処理装置1では、話者の発声時の特徴を示す情報を予め用意することなく、2つの部分区間の話者が同一であるか否かを判別することが可能となる。
更に、本実施形態の音声処理装置1では、ワードスポッティングを適用し、音声信号から割り込み発声の候補を検出する。このため、本実施形態の音声処理装置1では、音声区間のうちの、複数の話者の発声が重なった部分区間とは異なる部分区間から割り込み発声の候補を検出することが可能である。また、音声信号における複数の話者の発声が重なる部分区間が相槌により生じたものである場合、複数の話者の発声が重なる部分区間の前後の区間の話者は同一であることが多い。本実施形態の音声処理装置1では、上記のように、複数の話者の発声が重なる部分区間の前後の区間(すなわち第1の部分区間及び第2の部分区間)の話者が同一である場合には、割り込み発声ではないと認識する。このため、本実施形態の音声処理装置1では、例えば、複数の話者の発声が重なる部分区間が割り込み発声によるものか、相槌等の割り込み発声等は異なる発声によるものかによらず、割り込み発声のみを適切に検出することが可能となる。
なお、図2のキーワードリスト194は、本実施形態の音声処理装置1が参照するキーワードリスト194の一例に過ぎない。キーワードリスト194は、割り込み発声全体の音素列と、該割り込み発声全体のうちの先頭側(語頭側)の音素が発音単位で削除されており、かつ削除された発音単位数が異なる音素列とを含む情報であればよい。このため、キーワードリスト194は、例えば、割り込み発声に関するキーワードの音素列のみが登録されたものであってもよい。更に、本実施形態では、キーワードリスト194とは別に、割り込み発声のキーワードのモーラ数及び削除モーラ数を登録した発音単位数情報195を用意しているが、これに限らず、キーワードリスト194に発音単位数情報195が含まれてもよい。
図10は、発音単位数情報を含むキーワードリストの例を示す図である。
図10のキーワードリスト194Bには、検出するキーワードの音素列と、割込フラグと、キーワードのモーラ数と、削除モーラ数とが登録される。検出するキーワードの音素列は、図2のキーワードリスト194に登録される音素列と同じである。
キーワードリスト194Bの割込フラグは、音素列(キーワード)が割り込み発声の候補であるか否かを識別する情報であり、割り込み発声の候補である場合を1、割り込み発声の候補ではない場合を0としている。例えば、「いやそうじゃないでしょ」というキーワードは割り込み発声の候補となるため、キーワードリスト194Bの作成者は、該キーワードを登録する際に割込フラグを1とする。一方、発話の開始を示す「はじめます」というキーワードは割り込み発声ではないため、キーワードリスト194Bの作成者は、該キーワードを登録する際に割込フラグを0とする。
キーワードリスト194Bのキーワードのモーラ数及び削除モーラ数は、それぞれ、図3の発音単位数情報195に登録されるキーワードのモーラ数及び削除モーラ数と同じである。なお、キーワードリスト194Bに含まれる割り込み発声ではないキーワードについては、キーワードのモーラ数及び削除モーラ数を無効な値とする。
図10のキーワードリスト194Bを利用する場合、音声処理装置1は、音声信号から検出したキーワードと対応付けられた割込フラグに基づいて、該キーワードが割り込み発声の候補であるか否かを判定する。また、検出したキーワードが割り込み発声の候補である場合、音声処理装置1は、キーワードリスト194Bからキーワードのモーラ数及び削除モーラ数を読み出して割り込み発声の開始点を推定する。
キーワードリスト194Bのように、音声信号から検出するキーワード(音素列)、割込フラグ、キーワードのモーラ数、及び削除モーラ数を含むリストを作成することにより、発音単位数情報195を別途作成する手間を省くことが可能となる。このため、例えば、キーワードリスト194に登録された割り込み発声を示すキーワードと、発音単位数情報195に登録されたキーワードとの齟齬による割り込み発声の検出漏れを防ぐことが可能となる。
また、キーワードリスト194及び発音単位数情報195における発音単位は、上記のモーラに限らず、音節であってもよい。
図11は、発音単位数情報の別の例を示す図である。
図11には、英語による割り込み発声の検出に用いる発音単位数情報195(195B)の一例を示している。英語の場合、発音単位には音節を用いることが好ましい。このため、図示は省略するが、英語の場合のキーワードリスト194には、割り込み発声全体の音素列と、該割り込み発声全体のうちの先頭側の音素を音節単位で削除し、かつ削除した音節単位数が異なる発声の音素列とを登録する。この場合、発音単位数情報195Bには、図11のように、割り込み発声を示すキーワード毎に、該キーワードの音節数と削除音節数とを登録する。
例えば、IDが1-1であるキーワードは、「If I may interrupt(話を遮ってしまいますが)」という割り込み発声を示すキーワードである。「If I may interrupt」という割り込み発声における「interrupt」は、音節数が3(in・ter・rupt)である。このため、「If I may interrupt」を割り込み発声全体の読みを示すキーワードとした場合、キーワードの音節数は6となり、削除音節数は0となる。また、IDが1-2であるキーワードは、「If I may interrupt」という割り込み発声全体のうちの先頭(語頭)の「If」が削除されている。このため、IDが1-2であるキーワード(I may interrupt)は、キーワードの音節数が5となり、削除音節数が1となる。
このように、キーワードリスト194及び発音単位数情報195における発音単位数は、キーワードの言語に応じて適宜変更可能である。
更に、本実施形態の音声処理装置1が参照するキーワードリスト194及び発音単位数情報195は、日本語の割り込み発声を示すキーワードと、英語の割り込み発声を示すキーワードとを含むものであってもよい。加えて、キーワードリスト194及び発音単位数情報195は、テーブル形式に限らず、別の形式であってもよい。また、キーワードリスト194及び発音単位数情報195は、割り込み発声の候補として検出するキーワードを示す情報と、割り込み発声の開始点の推定に必要な情報とを含むものであればよい。このため、発音単位数情報195は、例えば、キーワードの発音単位(モーラ数又は音節数)及び削除された発音単位の代わりに、平均的な発話速度と削除された発音単位数とに基づいて算出される時間長を含むものであってもよい。この場合、音声処理装置1の開始点推定部142は、割り込み発声の候補となるキーワードと対応付けられた時間長と、音声信号における割り込み発声の候補と対応する第1の部分区間の開始時刻T2とに基づいて、割り込み発声の開始点T1を推定する。
また、図4のフローチャートは、本実施形態の音声処理装置1が行う音声処理の一例に過ぎない。本実施形態の音声処理装置1が行う音声処理は、図4のフローチャートに沿った処理に限らず、適宜変更可能である。また、本実施形態の音声処理装置1が行う音声処理は、ステップS1からステップS4までの処理をパイプライン化してもよい。すなわち、本実施形態の音声処理装置1は、例えば、音声信号から音声区間を検出した後、該音声区間に対するステップS2からステップS4までの処理と並行して、音声信号から別の音声区間を検出する処理を行ってもよい。
また、図5A及び図5Bのフローチャートは、本実施形態の音声処理装置1が行うキーワード検出処理の一例に過ぎない。本実施形態の音声処理装置1が行うキーワード検出処理は、図5A及び図5Bのフローチャートに沿った処理に限らず、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。例えば、キーワードリスト194に登録されたキーワードが割り込み発声に関するもののみである場合、キーワード検出処理は、ステップS403の判定処理を省略することが可能である。また、キーワード検出処理におけるステップS405の処理は、第1の部分区間の話者情報を抽出する処理と、第2の部分区間の話者情報を抽出する処理とに分けてもよい。この場合、キーワード検出処理は、第1の部分区間の話者情報を抽出した後、割り込み発声の開始点を推定して第2の部分区間の話者情報を抽出する内容であってもよい。
また、本実施形態の音声処理装置1において音声区間から抽出する特徴量は、MFCC(メル周波数ケプストラム係数)、ΔMFCC、及びΔΔMFCCに限らず、適宜変更可能である。更に、第1の部分区間及び第2の部分区間のそれぞれから抽出する話者情報は、音声区間から抽出する特徴量に応じて適宜変更可能である。
加えて、本実施形態の音声処理装置1では、割り込み発声の候補と対応する第1の部分区間よりも前の第2の部分区間を設定する際に、候補となるキーワードにおいて削除されている発音単位の数に基づいて、第2の部分区間の終点を設定してもよい。例えば、割り込み発声の候補となるキーワードが、割り込み発声全体における最初の発音単位(モーラ又は音節)のみを削除したものである場合、割り込み発声の開始点は、第1の部分区間の開始時刻T2よりも1モーラ前又は1音節前の時刻となる。しかしながら、音声信号における1モーラ又は1音節の時間長は、1秒未満であり、第1の部分区間及び第2の部分区間の時間長(数秒程度)と比べて短い。このため、割り込み発声の候補と対応付けられた削除モーラ数又は削除音節数が「1」である場合、第1の部分区間の直前となる第1の話者の発声と第2の話者の発声とが重なった区間を第2の部分区間に含めても、第2の部分区間の話者の情報への影響は少ない。よって、キーワード検出処理では、音声処理装置1は、例えば、削除モーラ数又は削除音節数が所定の閾値以下である場合には、第1の部分区間の開始時刻T2を第2の部分区間の終了時刻とし、割り込み発声の開始点を推定する処理を省略してもよい。
また、本実施形態の音声処理装置1は、モノラルマイク2から入力される1チャンネルの音声信号に限らず、ステレオマイク又はマイクアレイから入力される複数チャンネルの音声信号のうちの1チャンネルの音声信号を音声処理の対象としてもよい。また、本実施形態の音声処理装置1は、モノラルマイク2等から直接入力される音声信号に限らず、例えば、デジタルボイスレコーダ等の録音装置で録音した音声信号を音声処理の対象としてもよい。
また、音声処理装置1とモノラルマイク2等の音声信号入力装置とは、例えば、インターネットやLocal Area Network等の通信ネットワークを介して接続されてもよい。また、音声処理装置1は、モノラルマイク2、ステレオマイク、及びマイクアレイのいずれかが内蔵された装置であってもよい。加えて、音声処理装置1と外部装置3とは、通信ネットワークを介して接続されてもよい。また、音声処理装置1は、例えば、外部装置3又は他の外部装置との通信を行いながら、外部装置3等に記憶させた認識用データ193を参照してキーワードを検出するものであってもよい。
更に、本実施形態に係る音声処理装置1は、例えば、音声信号に対する音声認識の結果、及び割り込み発声を検出する音声処理の結果等に基づいて、他の処理を行う機能を含むものであってもよい。
[第2の実施形態]
本実施形態では、第1の実施形態に係る音声処理装置1が行う音声処理におけるキーワード検出処理の別の例を説明する。
本実施形態に係る音声処理装置1は、図1のように、入力受付部110と、音声区間検出部120と、特徴量抽出部130と、キーワード検出部150と、出力部160と、記憶部190とを含む。また、本実施形態の音声処理装置1におけるキーワード検出部150は、キーワード照合部151と、割り込み候補検出部152と、開始点推定部153と、話者情報抽出部154と、話者照合部155とを含む。また、本実施形態の音声処理装置1における記憶部190には、音声信号191、特徴量履歴192、探索用データ193、キーワードリスト194、発音単位数情報195、検出履歴196を含む各種情報を記憶させる。なお、本実施形態の音声処理装置1では、キーワードリスト194及び発音単位数情報195の代わりに、図10のような割込フラグ、キーワードの発音単位数、及び削除した発音単位数を含むキーワードリスト194Bを作成して記憶部190に記憶させてもよい。
本実施形態に係る音声処理装置1は、モノラルマイク2等から入力された1チャンネルの音声信号を処理の対象として、図4のフローチャートに沿った音声処理を行う。このとき、本実施形態の音声処理装置1は、キーワード検出処理(ステップS4)として、例えば、図12A及び図12Bのフローチャートに沿った処理を行う。
図12Aは、第2の実施形態に係るキーワード検出処理の内容を説明するフローチャート(その1)である。図12Bは、第2の実施形態に係るキーワード検出処理の内容を説明するフローチャート(その2)である。なお、図12A及び図12Bのフローチャートのうちの、図5A及び図5Bのフローチャートと同じ処理を行うステップについては、図5A及び図5Bのフローチャートと同じ符号(例えば、S402及びS403等)を付している。
図12A及び図12Bのキーワード検出処理は、音声処理装置1のキーワード検出部150が行う。キーワード検出部150は、まず、キーワードリストに登録されているキーワード毎の音素列に対する尤度と、音声区間の最尤音素列に対数尤度を用いて照合してキーワード検出の信頼度を算出し、信頼度が閾値以上のキーワードを検出する(ステップS421)。ステップS421の処理は、キーワード検出部150に含まれるキーワード照合部151が行う。キーワード照合部151は、例えば、図3のキーワードリスト194に登録されたキーワード(音素列)毎の音素列に対する尤度と、音声区間の最尤音素列に対する尤度を用いて照合し、音声区間におけるキーワード検出の信頼度がしきい値を超えるキーワードを探索する。ここで、音声区間の最尤音素列は、キーワード検出部150が行った探索処理の結果である。
ステップS421の処理を終えると、キーワード検出部150は、次に、信頼度が閾値以上となるキーワードを検出したか否かを判定する(ステップS402)。ステップS402の判定は、例えば、キーワード照合部151が行う。現在処理の対象となっている音声区間からキーワードが検出されなかった場合(ステップS402;NO)、キーワード検出部150(キーワード照合部151)は、図5Bのように、現在処理の対象となっている音声信号を全て選択したか否かを判定する(ステップS410)。ステップS410の判定処理は、例えば、割り込み候補検出部152が行う。ステップS410で処理していない音声信号が存在する場合(ステップS410;NO)、割り込み候補検出部152は、ステップS401以降の処理を行う。そして、全ての音声信号が処理済みである場合(ステップS410;YES)、キーワード検出部150(割り込み候補検出部152)は、キーワード検出処理を終了する。
一方、音声区間からキーワードが検出された場合(ステップS402;YES)、キーワード検出部150は、次に、検出したキーワードが割り込み発声の候補であるか否かを判定する(ステップS403)。ステップS403の処理は、例えば、キーワード検出部150に含まれる割り込み候補検出部152が行う。ステップS403の処理では、割り込み候補検出部152は、検出したキーワードが、発音単位数情報195にキーワードのモーラ数及び削除モーラ数が登録されたキーワードであるか否かを判定する。
検出したキーワードが割り込み発声の候補ではない場合(ステップS403;NO)、キーワード検出部150は、図12Bのように、次に、検出したキーワードに関する情報を検出履歴に格納する(ステップS409)。ステップS409の処理では、キーワード検出部150は、例えば、検出したキーワードを示す文字列、音声信号における検出したキーワードの発話開始時刻、及び他者による割り込み発話であるか否かを示す情報を検出履歴196に格納する。
ステップS409の処理の後、キーワード検出部150は、現在処理の対象となっている音声信号を全て選択したか否かを判定する(ステップS410)。ステップS410の判定処理は、例えば、割り込み候補検出部152が行う。ステップS410で処理していない音声信号が存在する場合(ステップS410;NO)、割り込み候補検出部152は、ステップS401以降の処理を行う。そして、全ての音声信号が処理済みである場合(ステップS410;YES)、キーワード検出部150(割り込み候補検出部152)は、キーワード検出処理を終了する。
これに対し、検出したキーワードが割り込み発声の候補である場合(ステップS403;YES)、キーワード検出部150は、次に、割り込み発声の候補のモーラ数と削除モーラ数とに基づいて、割り込み発声の開始点を推定する(ステップS404)。ステップS404の処理は、キーワード検出部150に含まれる開始点推定部153が行う。開始点推定部153は、例えば、まず、発音単位数情報195から割り込み発声の候補(検出したキーワード)のモーラ数及び削除モーラ数を取得する。その後、開始点推定部153は、例えば、上記の式(1)により、音声信号における割り込み発声の開始点となる時刻T1を推定する。
次に、キーワード検出部150は、音声信号における割り込み発声の候補と対応する第1の部分区間の話者情報と、音声信号における割り込み発声の開始点よりも前の第2の部分区間の話者情報とを抽出する(ステップS405)。ステップS405の処理は、キーワード検出部150に含まれる話者情報抽出部154が行う。話者情報抽出部154は、例えば、まず、音声信号における第1の部分区間から抽出した特徴量を特徴量履歴192から読み出し、該特徴量に基づいて、第1の部分区間の話者を示す情報を抽出する。その後、話者情報抽出部154は、音声信号における第2の部分区間から抽出した特徴量を特徴量履歴192から読み出し、該特徴量に基づいて、第2の部分区間の話者を示す情報を抽出する。
次に、キーワード検出部150は、第1の部分区間の話者情報と第2の部分区間の話者情報との類似度を算出する(ステップS406)。ステップS406の処理は、キーワード検出部150に含まれる話者照合部155が行う。本実施形態における話者情報の類似度は、例えば、2つの話者情報の差異が小さいほど大きな値となる数式により算出する。第1の部分区間の話者情報及び第2の部分区間の話者情報として上記のベクトル(i-vector)を抽出した場合、話者照合部155は、類似度として、例えば、上記の式(2)で表されるコサイン類似度Scを算出する。
話者情報の類似度を算出すると、本実施形態の音声処理装置1におけるキーワード検出部150は、次に、割り込み発声の候補についての信頼度と話者情報の類似度とに基づいて、他者による割り込み発声である確かさを示す確度Pを算出する(ステップS422)。ステップS422の処理は、話者照合部155が行う。照合部155は、例えば、下記式(3)により確度Pを算出する。
P=logPk-α・logPs (3)
式(3)において、logPkはステップS421で算出した信頼度についての対数尤度であり、logPsはステップS423で算出した類似度についての対数尤度である。また、式(3)におけるαは、重み付けパラメータである。
確度Pを算出すると、キーワード検出部150は、次に、算出した確度Pが閾値THP以上であるか否かを判定する(ステップS423)。ステップS423の判定は、話者照合部155が行う。式(3)により算出される確度Pは、例えば、信頼度がある一定の値である場合、類似度が低いほど大きな値となる。すなわち、信頼度がある一定の値である場合に式(3)により算出される確度Pは、第1の部分区間の話者と第2の部分区間の話者とが異なるときの値が、第1の部分区間の話者と第2の部分区間の話者とが同一であるときの値よりも大きな値となる。このため、P≧THPである場合(ステップS423;YES)、話者照合部155は、図12Bのように、音声区間における第1の部分区間を他者による割り込み発声の区間であると認識する(ステップS408)。その後、キーワード検出部150は、検出したキーワードに関する情報を検出履歴に格納する(ステップS409)。ステップS423の判定がNOの時は図12Bの「1」に進む。ステップS409の処理では、キーワード検出部150は、例えば、検出したキーワードを示す文字列、音声信号における検出したキーワードの発話開始時刻、及び他者による割り込み発話であるか否かを示す情報を検出履歴196に格納する。
ステップS409の処理の後、キーワード検出部150は、現在処理の対象となっている音声信号を全て処理したか否かを判定する(ステップS410)。ステップS410の判定処理は、例えば、割り込み候補検出部152が行う。ステップS410で処理していない音声信号が存在する場合(ステップS410;NO)、割り込み候補検出部152は、ステップS401以降の処理を行う。そして、全ての音声信号が処理済みである場合(ステップS410;YES)、キーワード検出部150(割り込み候補検出部152)は、キーワード検出処理を終了する。
このように、本実施形態の音声処理装置1が行うキーワード検出処理では、音声信号における割り込み発声の候補についての信頼度と、話者情報の類似度とに基づいて、割り込み発声の候補が他者による割り込み発声であるか否かを判別する。このため、本実施形態の音声処理装置1は、例えば、信頼度の低い割り込み発声の候補を他者による割り込み発声とする誤検出、及び信頼度の高い割り込み発声の候補を他者による割り込み発声ではないとする検出漏れを防ぐことが可能となる。
なお、本実施形態の音声処理装置1が行う音声処理は、図4、図12A及び図12Bのフローチャートに沿った処理に限らず、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
また、本実施形態の音声処理装置1が参照するキーワードリスト194は、割り込み発声に関するキーワードのみが登録されたリストであってもよい。また、キーワードリスト194は、発音単位数情報195の内容を含むリストであってもよい。更にキーワードリスト194及び発音単位数情報195における発音単位は、モーラに限らず、音節であってもよい。
上記の各実施形態に係る音声処理装置1は、それぞれ、コンピュータと、該コンピュータに実行させるプログラムとにより実現可能である。以下、図13を参照して、コンピュータとプログラムとにより実現される音声処理装置1について説明する。
図13は、コンピュータのハードウェア構成を示す図である。
図13に示すように、コンピュータ9は、プロセッサ901と、主記憶装置902と、補助記憶装置903と、入力装置904と、出力装置905と、入出力インタフェース906と、通信制御装置907と、媒体駆動装置908とを備える。コンピュータ9におけるこれらの要素901~908は、バス910により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
プロセッサ901は、Central Processing Unit(CPU)やMicro Processing Unit(MPU)等である。プロセッサ901は、オペレーティングシステムを含む各種のプログラムを実行することにより、コンピュータ9の全体の動作を制御する。また、プロセッサ901は、例えば、図4のフローチャートに沿った処理を含む音声処理プログラムを実行することにより、1チャンネルの音声信号に含まれる、他者による割り込み発声を検出する。なお、プロセッサ901が実行する音声処理プログラムにおけるキーワード検出処理(ステップS4)は、例えば、図5A及び図5Bのフローチャートに沿った処理であってもよいし、図12A及び図12Bのフローチャートに沿った処理であってもよい。
主記憶装置902は、図示しないRead Only Memory(ROM)及びRandom Access Memory(RAM)を含む。主記憶装置902のROMには、例えば、コンピュータ9の起動時にプロセッサ901が読み出す所定の基本制御プログラム等が予め記録されている。また、主記憶装置902のRAMは、プロセッサ901が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。主記憶装置902のRAMは、例えば、音声信号191、特徴量履歴192、探索用データ193、キーワードリスト194、発音単位数情報195、及び検出履歴196の一部又は全部の記憶に利用可能である。
補助記憶装置903は、例えば、Hard Disk Drive(HDD)や、フラッシュメモリ等の不揮発性メモリ(Solid State Drive(SSD)を含む)等の、主記憶装置902のRAMと比べて容量の大きい記憶装置である。補助記憶装置903は、プロセッサ901によって実行される各種のプログラムや各種のデータ等の記憶に利用可能である。補助記憶装置903は、例えば、図4のフローチャートに沿った処理を含む音声処理プログラムの記憶に利用可能である。また、補助記憶装置903は、例えば、音声信号191、特徴量履歴192、探索用データ193、キーワードリスト194、発音単位数情報195、及び検出履歴196の一部又は全部の記憶に利用可能である。
入力装置904は、例えば、キーボード装置やタッチパネル装置等である。コンピュータ9のオペレータ(利用者)が入力装置904に対して所定の操作を行うと、入力装置904は、その操作内容と対応付けられている入力情報をプロセッサ901に送信する。入力装置904としてのキーボード装置やタッチパネル装置は、例えば、キーワードリスト194及び発音単位数情報195の入力、音声処理プログラムの実行命令の入力、処理の対象とする音声信号の選択等に利用可能である。なお、入力装置904は、例えば、音声信号を入力するモノラルマイク2等の装置を含んでもよい。
出力装置905は、例えば、液晶表示装置等の表示装置や、スピーカ等の音声再生装置である。出力装置905は、例えば、コンピュータ9において各種アプリケーションプログラムを実行したときの処理結果等の出力に利用可能である。出力装置905としての表示装置は、例えば、音声信号191の波形、及び割り込み発声の検出履歴196の表示に利用可能である。また、出力装置905としての音声再生装置は、例えば、音声信号191の再生に利用可能である。
入出力インタフェース906は、コンピュータ9と、他の電子装置等とを接続する。入出力インタフェース906は、例えば、Universal Serial Bus(USB)規格のコネクタ等を備える。入出力インタフェース906は、例えば、コンピュータ9とモノラルマイク2等のマイクロフォンとの接続、或いはコンピュータ9とデジタルボイスレコーダとの接続等に利用可能である。
通信制御装置907は、コンピュータ9をインターネット等の通信ネットワークに接続し、通信ネットワークを介したコンピュータ9と他の通信可能な電子装置との各種通信を制御する装置である。通信制御装置907は、例えば、コンピュータ9と、外部装置3との間での通信の制御等に利用可能である。
媒体駆動装置908は、可搬型記憶媒体10に記録されているプログラムやデータの読み出し、及び補助記憶装置903に記憶されたデータ等の可搬型記憶媒体10への書き込みを行う。媒体駆動装置908には、例えば、1種類又は複数種類の規格に対応したメモリカード用リーダ/ライタが利用可能である。コンピュータ9がメモリカード用リーダ/ライタを媒体駆動装置908として備える場合、可搬型記憶媒体10には、メモリカード用リーダ/ライタが対応している規格、例えば、Secure Digital(SD)規格のメモリカード(フラッシュメモリ)等を利用可能である。また、可搬型記録媒体10としては、例えば、USB規格のコネクタを備えたフラッシュメモリが利用可能である。更に、コンピュータ9が媒体駆動装置908として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体10として利用可能である。可搬型記録媒体10として利用可能な光ディスクには、例えば、Compact Disc(CD)、Digital Versatile Disc(DVD)、Blu-ray Disc(登録商標)等がある。可搬型記録媒体10は、例えば、図4のフローチャートに沿った処理を含む音声処理プログラムの記憶に利用可能である。また、可搬型記録媒体10は、例えば、音声信号191、特徴量履歴192、探索用データ193、キーワードリスト194、発音単位数情報195、及び検出履歴196の一部又は全部の記憶に利用可能である。なお、可搬型記録媒体10は、記録されたプログラムやデータの読み出しのみが可能なものであってもよいし、記録されたプログラムやデータの読み出し及び書き換えが可能なものであってもよい。更に、媒体駆動装置908は、例えば、可搬型記録媒体10からデータを読み出すことのみが可能な装置であってもよい。
コンピュータ9を音声処理装置1として動作させる場合、オペレータは、入力装置904等を利用して音声処理プログラムの実行開始命令をコンピュータ9に入力する。実行開始命令の入力を受け付けると、コンピュータ9のプロセッサ901は、補助記憶装置903等の非一時的な記録媒体に記憶させた音声処理プログラムを読み出して実行する。このとき、コンピュータ9のプロセッサ901は、処理の対象となる音声信号に含まれる他者による割り込み発声を検出する処理として、例えば、図4、図5A及び図5Bのフローチャートに沿った処理を実行する。なお、コンピュータ9のプロセッサ901が実行する音声処理プログラムは、図5A及び図5Bのフローチャートに沿ったキーワード検出処理の代わりに、例えば、図12A及び図12Bのフローチャートに沿ったキーワード検出処理を含むものであってもよい。
音声処理プログラムを実行している間、プロセッサ901は、音声処理装置1における音声区間検出部120、特徴量抽出部130、及びキーワード検出部150として機能する(動作する)。また、処理の対象となる音声信号がモノラルマイク2から順次入力される音声信号である場合、プロセッサ901は、更に、音声処理装置1における入力受付部110としても機能する。また、音声処理プログラムを実行している間、コンピュータ9の補助記憶装置903等の記憶装置は、音声処理装置1の記憶部190として機能する。
なお、音声処理装置1として動作させるコンピュータ9は、図13に示した要素901~908を全て含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ9は、媒体駆動装置908が省略されたものであってもよい。
また、コンピュータ9は、例えば、スマートフォン等の通話機能を備えた装置であってもよい。
以上記載した各実施形態に関し、更に以下の付記を開示する。
(付記1)
音声信号の最尤音素列を探索し、
割り込み発声全体を示す音素列と、前記割り込み発声全体を示す音素列における先頭側の音素が発音単位で削除され、かつ削除された音素数が異なる複数の音素列とを含むキーワードリストに基づいて、前記音声信号に含まれる割り込み発声の候補を、前記音声信号の最尤音素列に対する尤度と、前記キーワードリストに登録された音素列に対する尤度を用いて検出し、
前記音声信号における前記割り込み発声の候補となる前記音素列と対応する第1の部分区間の特徴量に基づいて、該第1の部分区間の話者の特徴を示す第1の話者情報を抽出するとともに、前記音声信号における前記第1の部分区間よりも前の第2の部分区間の特徴量に基づいて、該第2の部分区間の話者の特徴を示す第2の話者情報を抽出し、
前記第1の話者情報と前記第2の話者情報とを照合し、前記音声信号における前記第1の部分区間が、前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間であるか否かを判別する、
処理をコンピュータに実行させる音声処理プログラム。
(付記2)
前記判別する処理は、前記第1の話者情報と前記第2の話者情報との類似度を算出し、該類似度が閾値以上である場合に、前記第1の部分区間が、前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間であると判定する処理を含む、
ことを特徴とする付記1に記載の音声処理プログラム。
(付記3)
前記音声処理プログラムは、
前記第2の話者情報を抽出する前に、前記割り込み発声の候補となる前記音素列の発音単位に基づいて、前記音声信号における前記割り込み発声の候補となる前記音素列を含む割り込み発声全体の発声開始点を推定し、該発声開始点を終点とする所定の時間長の第2の部分区間を決定する処理を更に含む、
ことを特徴とする付記1に記載の音声処理プログラム。
(付記4)
前記割り込み発声情報は、前記音素列のそれぞれにおける発音単位数と、前記割り込み発声を示す音素列の全体から削除された発音単位数とを含み、
前記発声開始点を推定する処理は、前記音声信号における前記第1の部分区間の時間長と前記割り込み発声の候補である前記音素列の発音単位数とに基づいて算出される前記第1の部分区間における話者の発話速度と、前記音声信号における前記第1の部分区間の開始時刻と、前記割り込み発声の候補である前記音素列における前記削除された発音単位数とに基づいて、前記発声開始点を推定する、
ことを特徴とする付記3に記載の音声処理プログラム。
(付記5)
前記音声信号に含まれる前記キーワードを検出する処理は、前記音声信号における特徴量を抽出し、前記特徴量と、音響モデルと、単語辞書とに基づいて最尤音素列を探索することにより算出される尤度と、単語辞書に登録されたキーワードの音素列に対する尤度を用いて検出する処理を含み、
前記第1の話者情報及び前記第2の話者情報を抽出する処理は、前記最尤音素列を探索する処理において前記音声信号から抽出した前記特徴量に基づいて抽出する、
ことを特徴とする付記1に記載の音声処理プログラム。
(付記6)
前記割り込み発声の候補を検出する処理は、前記割り込み発声の候補が前記割り込み発声であることの確かさを示す信頼度を算出する処理を含み、
前記音声信号における前記第1の部分区間が、前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間であるか否かを判別する処理は、前記第1の話者情報と前記第2の話者情報との類似度を算出し、前記信頼度と前記類似度とに基づいて、前記第1の部分区間が、前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間である確度を算出した後、前記確度に基づいて、前記第1の部分区間が前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間であるか否かを判別する、
ことを特徴とする付記1に記載の音声処理プログラム。
(付記7)
前記割り込み発声情報における前記発音単位がモーラである、
ことを特徴とする付記1に記載の音声処理プログラム。
(付記8)
前記割り込み発声情報における前記発音単位が音節である、
ことを特徴とする付記1に記載の音声処理プログラム。
(付記9)
音声信号における音響的特徴量を抽出する特徴量抽出部と、
前記音響的特徴量に基づいて前記音声信号の最尤音素列を探索するキーワード照合部と、
割り込み発声全体を示す音素列と、前記割り込み発声全体を示す音素列における先頭側の音素が発音単位で削除され、かつ削除された音素数が異なる複数の音素列とを含むキーワードリストに基づいて、前記音声信号に含まれる割り込み発声の候補を前記最尤音素列に対する尤度とキーワードリストに登録された各キーワードの音素列に対する尤度を用いて検出する割り込み候補検出部と、
前記音声信号における前記割り込み発声の候補となる前記音素列と対応する第1の部分区間の特徴量に基づいて、該第1の部分区間の話者の特徴を示す第1の話者情報を抽出するとともに、前記音声信号における前記第1の部分区間よりも前の第2の部分区間の特徴量に基づいて、該第2の部分区間の話者の特徴を示す第2の話者情報を抽出する話者情報抽出部と、
前記第1の話者情報と前記第2の話者情報とを照合し、前記音声信号における前記第1の部分区間が、前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間であるか否かを判別する話者照合部と、
を備えることを特徴とする音声処理装置。
(付記10)
コンピュータが、
音声信号の最尤音素列を探索し、
割り込み発声を示す音素列と、前記割り込み発声を示す音素列における先頭側の音素が発音単位で削除され、かつ削除された音素数が異なる複数の音素列とを含むキーワードリストに基づいて、前記音声信号に含まれる割り込み発声の候補を前記最尤音素列に対する尤度とキーワードリストに登録された各キーワードの音素列に対する尤度を用いて検出し、
前記音声信号における前記割り込み発声の候補となる前記音素列と対応する第1の部分区間の特徴量に基づいて、該第1の部分区間の話者の特徴を示す第1の話者情報を抽出するとともに、前記音声信号における前記第1の部分区間よりも前の第2の部分区間の特徴量に基づいて、該第2の部分区間の話者の特徴を示す第2の話者情報を抽出し、
前記第1の話者情報と前記第2の話者情報とを照合し、前記音声信号における前記第1の部分区間が、前記第2の部分区間の話者とは異なる話者による割り込み発声を含む区間であるか否かを判別する、
処理を実行することを特徴とする音声処理方法。