IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特許7482086キーワード検出装置、方法及びプログラム
<>
  • 特許-キーワード検出装置、方法及びプログラム 図1
  • 特許-キーワード検出装置、方法及びプログラム 図2
  • 特許-キーワード検出装置、方法及びプログラム 図3
  • 特許-キーワード検出装置、方法及びプログラム 図4
  • 特許-キーワード検出装置、方法及びプログラム 図5
  • 特許-キーワード検出装置、方法及びプログラム 図6
  • 特許-キーワード検出装置、方法及びプログラム 図7
  • 特許-キーワード検出装置、方法及びプログラム 図8
  • 特許-キーワード検出装置、方法及びプログラム 図9
  • 特許-キーワード検出装置、方法及びプログラム 図10
  • 特許-キーワード検出装置、方法及びプログラム 図11
  • 特許-キーワード検出装置、方法及びプログラム 図12
  • 特許-キーワード検出装置、方法及びプログラム 図13
  • 特許-キーワード検出装置、方法及びプログラム 図14
  • 特許-キーワード検出装置、方法及びプログラム 図15
  • 特許-キーワード検出装置、方法及びプログラム 図16
  • 特許-キーワード検出装置、方法及びプログラム 図17
  • 特許-キーワード検出装置、方法及びプログラム 図18
  • 特許-キーワード検出装置、方法及びプログラム 図19
  • 特許-キーワード検出装置、方法及びプログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】キーワード検出装置、方法及びプログラム
(51)【国際特許分類】
   G10L 25/51 20130101AFI20240502BHJP
   G10L 15/10 20060101ALI20240502BHJP
【FI】
G10L25/51
G10L15/10 200W
【請求項の数】 4
(21)【出願番号】P 2021110285
(22)【出願日】2021-07-01
(65)【公開番号】P2023007190
(43)【公開日】2023-01-18
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】田中 大貴
(72)【発明者】
【氏名】籠嶋 岳彦
【審査官】毛利 太郎
(56)【参考文献】
【文献】特開平09-198083(JP,A)
【文献】特開平08-160987(JP,A)
【文献】特開2004-037799(JP,A)
【文献】米国特許出願公開第2004/0006470(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00 - 25/93
(57)【特許請求の範囲】
【請求項1】
音声信号から、特定のキーワードの発音列の構成単位の特徴をモデル化した隠れマルコフモデルを用いて、前記特定のキーワードに対応する音声区間を検出する検出部と、
前記音声区間について、前記特定のキーワードの発音列の構成単位の個数に応じた次元数を有する、前記隠れマルコフモデルの各状態の遷移回数に応じた特徴量に関する第1のベクトルを取得する取得部と、
前記第1のベクトルを、前記特定のキーワードに含まれる構成単位の個数に依存しない次元数を有する、前記遷移回数に応じた特徴量に関する第2のベクトルに変換する変換部と、
前記変換後の第2のベクトルに基づいて前記音声区間が正解検出か誤検出かを判定する判定部と、
を具備するキーワード検出装置。
【請求項2】
正解検出に対応する音声信号に関する前記遷移回数に応じた特徴量に関する第2のベクトルと、誤検出に対応する音声信号に関する前記遷移回数に応じた特徴量に関する第2のベクトルと、に基づいて正解検出及び誤検出を識別するように学習された識別器を記憶する識別器記憶部を更に備え、
前記判定部は、前記変換後の第2のベクトルを前記識別器に適用して正解検出か誤検出かを判定する、
請求項記載のキーワード検出装置。
【請求項3】
キーワード検出装置が行うキーワード検出方法であって、
音声信号から、特定のキーワードの発音列の構成単位の特徴をモデル化した隠れマルコフモデルを用いて、前記特定のキーワードに対応する音声区間を検出する検出し、
前記音声区間について、前記特定のキーワードの発音列の構成単位の個数に応じた次元数を有する、前記隠れマルコフモデルの各状態の遷移回数に応じた特徴量に関する第1のベクトルを取得し、
前記第1のベクトルを、前記特定のキーワードに含まれる構成単位の個数に依存しない次元数を有する、前記遷移回数に応じた特徴量に関する第2のベクトルに変換し、
前記変換後の第2のベクトルに基づいて前記音声区間が正解検出か誤検出かを判定する、
ことを具備するキーワード検出方法。
【請求項4】
コンピュータに、
音声信号から、特定のキーワードの発音列の構成単位の特徴をモデル化した隠れマルコフモデルを用いて、前記特定のキーワードに対応する音声区間を検出させる機能と、
前記音声区間について、前記特定のキーワードの発音列の構成単位の個数に応じた次元数を有する、前記隠れマルコフモデルの各状態の遷移回数に応じた特徴量に関する第1のベクトルを取得させる機能と、
前記第1のベクトルを、前記特定のキーワードに含まれる構成単位の個数に依存しない次元数を有する、前記遷移回数に応じた特徴量に関する第2のベクトルに変換させる機能と、
前記変換後の第2のベクトルに基づいて前記音声区間が正解検出か誤検出かを判定させる機能と、
を実現させるキーワード検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、キーワード検出装置、方法及びプログラムに関する。
【背景技術】
【0002】
キーワード検出技術では、キーワードの発音列を構成する単位の特徴を隠れマルコフモデル(HMM:Hidden Markov Model)でモデル化した音響モデルを用いて、入力された音声信号から、予め定められたキーワードに対応する音声区間を検出する。HMMの状態遷移パスから計算される検出判定スコアが設定する閾値を超した場合にキーワード検出を行う。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平08-160987号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に係る技術は、HMMのある状態のみが長く継続して、その他の状態では自己遷移を持たないという特徴に着目し、各状態のうち、自己遷移を持たない状態の割合に基づいて各候補の出力確率に重み付けを行い、この重み付けに基づいて不正解単語の湧き出しを排除する。この技術では、自己遷移を持たない状態を多く含むキーワードを誤認識する可能性がある。また、早い段階で設定した検出閾値を超えると、最終状態まで自己遷移を持たない状態が続くことがあるため、誤って誤認識する可能性がある。
【0005】
本発明が解決しようとする課題は、キーワードの正解検出又は誤検出を高精度に識別することが可能なキーワード検出装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
実施形態に係るキーワード検出装置は、検出部、取得部及び判定部を有する。検出部は、音声信号から、特定のキーワードの発音列の構成単位の特徴をモデル化した隠れマルコフモデルを用いて、前記特定のキーワードに対応する音声区間を検出する。取得部は、前記音声区間について、前記隠れマルコフモデルの各状態の遷移回数又は当該遷移回数に応じた特徴量に関する第1のベクトルを取得する。判定部は、前記取得された第1のベクトルに基づいて前記音声区間が正解検出か誤検出かを判定する。
【図面の簡単な説明】
【0007】
図1】第1実施形態に係るリモコン装置の外観図
図2】第1実施形態に係るリモコン装置の構成例を示す図
図3】第1実施形態に係るキーワード検出装置の機能構成例を示す図
図4】キーワード検出部の機能構成例を示す図
図5】第1実施形態にキーワード検出装置の処理例の流れを示す図
図6】候補音声区間の検出処理を模式的に示す図
図7】隠れマルコフモデル(HMM)の一例を示す図
図8】正解検出の状態遷移を示すグラフ
図9】誤検出の状態遷移を示すグラフ
図10】状態遷移回数確率分布を模式的に示す図
図11】正解検出に関する尤度特徴量ベクトルの算出方法を模式的に示す図
図12】誤検出に関する尤度特徴量ベクトルの算出方法を模式的に示す図
図13】未学習の識別器に対する学習処理を模式的に示す図
図14】正解検出又は誤検出の判定処理を模式的に示す図
図15】第2実施形態に係るキーワード検出装置の機能構成例を示す図
図16】第2実施形態にキーワード検出装置の処理例の流れを示す図
図17】正解検出に関する尤度変換特徴量ベクトルの一例を示す図
図18】誤検出に関する尤度変換特徴量ベクトルの一例を示す図
図19】第3実施形態に係るキーワード検出装置の機能構成例を示す図
図20】第1、第2及び第3実施形態に係るキーワード検出装置のハードウェア構成例を示す図
【発明を実施するための形態】
【0008】
以下、図面を参照しながら本実施形態に係わるキーワード検出装置、方法及びプログラムを説明する。
【0009】
(第1実施形態)
本実施形態では、本実施形態に係るキーワード検出装置が家電製品を操作するためのリモコン装置に搭載されているものとし、例として電気照明を操作する場合について説明する。リモコン装置は、「電気つけて」「暗くして」などのあらかじめ設定されたキーワード(以後、コマンドワードと呼ぶ)の音声に反応して電気照明を操作するものである。
【0010】
図1は、第1実施形態に係るリモコン装置100の外観図である。図1に示すように、リモコン装置100は、マイク101と通信機器102とを備えている。
【0011】
図2は、第1実施形態に係るリモコン装置100の構成例を示す図である。図2に示すように、リモコン装置100は、マイク101と通信機器102に加えて、キーワード検出装置103を備えている。マイク101は、操作者等が発したコマンドワードの発声を含む音声を観測し、アナログの音声信号に変換する。アナログの音声信号は、有線又は無線を介してキーワード検出装置103に入力される。
【0012】
キーワード検出装置103は、入力されたアナログの音声信号に対してコマンドワードの発声の有無を判定する。コマンドワードの発生が検出された場合、キーワード検出装置103は、コマンドワードに対応するIDを出力する。通信機器102は、IDが入力されると、当該IDに対応する制御信号に変換し、赤外線などを用いて電気照明器具104に送信する。電気照明器具104は、通信機器102から送信された制御信号を受信して規定の動作を行う。
【0013】
図3は、キーワード検出装置103の機能構成例を示す図である。キーワード検出装置103は、音声取得部111、キーワード検出部112、尤度特徴量取得部113、確率分布記憶部114、判定部115及び識別器記憶部116を有している。
【0014】
音声取得部111は、マイク101で観測されたアナログの音声信号をデジタルの音声信号に変換する。デジタルの音声信号は、キーワード検出部112に供給される。
【0015】
キーワード検出部112は、デジタルの音声信号から、特定のキーワード(コマンドワード)の発音列の構成単位の特徴をモデル化した隠れマルコフモデル(HMM)を用いて、当該コマンドワードに対応する音声区間を検出する。本実施形態に係る構成単位は、音素でもよいし、音節や単語等の任意の単位でもよいが、以下の説明を具体的に行うため、音素であるとする。具体的には、キーワード検出部112は、音声信号にコマンドワードに対応する音声信号が含まれているか否かを、HMMを用いて判定し、含まれていると判定された場合、コマンドワードに対応する音声区間が検出される。この時点では、コマンドワードの検出が正解検出であるか誤検出であるかは不明である。検出された音声区間を候補音声区間と呼ぶことにする。また、候補音声区間の検出は、コマンドワード候補の検出と表現することも可能である。
【0016】
図4は、キーワード検出部112の機能構成例を示す図である。図4に示すように、キーワード検出部112は、音響特徴量計算部121、スコア計算部122及び候補音声区間検出部123を有する。音響特徴量計算部121は、入力されたデジタルの音声信号から所定のフレーム単位でスペクトルの特徴を表す音響特徴ベクトルを計算する。スコア計算部122は、音響特徴ベクトルから各音素の尤度に対応する発声状態スコアを推定する。候補音声区間検出部123は、コマンドワードの発音列の構成単位に対応する発声状態スコアを用いて計算された検出判定スコアが、閾値以上となった場合、コマンドワードの発音列に対応する音声区間を、候補音声区間として検出する。
【0017】
図3に戻り、尤度特徴量取得部113は、検出された候補音声区間について、HMMの各状態の遷移回数に応じた特徴量に関する第1のベクトルを取得する。特徴量は、キーワード検出部112によるコマンドワードに対応する候補音声区間の検出が正解検出か誤検出かを判定するための指標である。第1のベクトルは、コマンドワードに対応するHMMの複数の状態にそれぞれ対応する複数の特徴量の系列を意味する。換言すれば、第1のベクトルは、コマンドワードの発音列の構成単位(例えば、音素)の個数に応じた次元数を有する。尤度特徴量取得部113は、具体的には、HMMの各状態の遷移回数と当該遷移回数に関する確率分布とに基づいて、特徴量として、尤度を算出する。以下、尤度に関する第1のベクトルを尤度特徴量ベクトルと呼ぶことにする。遷移回数に関する確率分布は、確率分布記憶部114に記憶されている。
【0018】
判定部115は、尤度特徴量ベクトルに基づいて、コマンドワードに対応する候補音声区間が、正解検出か誤検出かを判定する。具体的には、判定部115は、尤度特徴量ベクトルを、学習済みの識別器に適用し、コマンドワードに対応する候補音声区間が正解検出か誤検出かを判定する。判定結果は通信機器102に供給される。識別器は、入力された尤度特徴量ベクトルから、当該尤度特徴量ベクトルに対応する候補音声区間が正解検出か誤検出かを識別するように学習された機械学習モデルである。学習済みの識別器は、識別器記憶部116に記憶されている。
【0019】
次に、第1実施形態にキーワード検出装置103の一連の処理について詳細に説明する。
【0020】
図5は、第1実施形態にキーワード検出装置103の処理例の流れを示す図である。図5に示すように、まず、音声取得部111は、操作者が発声した音声に関する音声信号を取得する(ステップSA1)。より詳細には、操作者が任意の音声を発すると、マイク101は、当該音声をアナログの音声信号に変換する。音声取得部111は、当該アナログの音声信号を、有線又は無線を介して取得する。
【0021】
ステップSA1が行われるとキーワード検出部112は、ステップSA1において取得された音声信号の中から、コマンドワードに対応する候補音声区間(コマンドワード候補)を検出する(ステップSA2)。ステップSA2の処理について詳細に説明する。
【0022】
図6は、ステップSA2に係るキーワード検出部112による候補音声区間の検出処理を模式的に示す図である。図6に示すように、キーワード検出部112の音響特徴量計算部121は、音声認識処理で用いられるのと同様の処理によって、デジタルの音声信号から音響特徴ベクトル61を算出する(ステップSA21)。ステップSA21において音響特徴量計算部121は、まず、デジタルの音声信号に対して、例えばフレーム長10ms及びフレームシフト5msで短時間フーリエ変換を行いスペクトルに変換する。次に音響特徴量計算部121は、所定の帯域幅の仕様に基づいて帯域毎のパワースペクトルの総和を算出し、フィルタバンク特徴ベクトルに変換する。フィルタバンク特徴ベクトルは、音響特徴ベクトル61の一例である。フィルタバンク特徴ベクトル以外にも、MFCC(Mel Frequency Cepstral Coefficients)等の種々の音響特徴ベクトルを用いることが可能である。音響特徴ベクトル61はキーワード検出部112のスコア計算部122に供給される。
【0023】
ステップSA21が行われるとスコア計算部122は、ステップSA21において算出された音響特徴ベクトル61から発声状態スコアを算出する(ステップSA22)。発声状態スコアは、隠れマルコフモデル(HMM)における状態毎に算出される。
【0024】
図7は、隠れマルコフモデル(HMM)の一例を示す図である。図7に示すように、本実施例におけるHMMにおける各状態は、対応する音素を独立にモデル化したモノフォンでモデル化されているものとする。なお、本実施形態に係るHMMの状態は、モノフォンでモデル化する場合に限定されず、音素とその前の音素、または後ろの音素の依存関係を考慮するバイフォンや、前後の音素との依存関係を考慮するトライフォンなどでモデル化してもよい。また、本実施例では1音素あたりを1状態のHMMで表現したが、1音素あたり2状態、3状態・・・で表現してもよい。
【0025】
図6に示すように、スコア計算部122は、フレーム毎に音響特徴ベクトルを、学習済みDNN(Deep Neural Network)62に適用して、コマンドワードの発音列に含まれる複数の状態にそれぞれ対応する複数の発声状態スコアを計算する。学習済みDNN62は、フレーム毎の音響特徴ベクトルを入力して、コマンドワードの発音列に含まれる複数の状態にそれぞれ対応する複数の発声状態スコアを出力するように学習パラメータが訓練されたDNNである。学習済みDNN62のネットワーク構造は特に限定されないが、隠れ層に全結合層を含む回帰モデルが用いられるとよい。学習済みDNN62としては、全結合によるDNNの代わりに、CNN(Convolutional Neural Network)やLSTM(long short term memory)等が用いられてもよい。また、学習済みDNN62を使用する実施例に限定されず、音声認識で利用されている種々の手法により、音響特徴ベクトルから発声状態スコアが算出されてもよい。
【0026】
ステップSA22が行われると候補音声区間検出部123は、ステップSA22においてフレーム毎に算出された複数の状態にそれぞれ対応する複数の発声状態スコアに基づいてコマンドワード検出を行う(ステップSA23)。
【0027】
ステップSA23において候補音声区間検出部123は、状態とフレーム(時刻)とで表現されるトレリス空間63において、コマンドワードの初期音素に対応するHMMの初期状態から、当該コマンドワードの最終音素に対応するHMMの最終状態までの経路(状態遷移パス)のうち、閾値θを超える検出判定スコアを有する状態遷移パスP>θを探索する。検出判定スコアは、当該状態遷移パスの出現確率に関する指標である。検出判定スコアは、当該状態遷移パスが通る状態の発声状態スコアに基づいて算出される。
【0028】
一例として、まず、HMMの初期状態の発声状態スコアが閾値よりも高いフレームを始端フレームに設定する。HMMの初期状態からの遷移先の状態を探索する。HMMにおいて遷移先は、現状態の次の状態だけでなく、現状態も許容される。次に初期状態から遷移先の状態までの状態遷移パス毎の検出判定スコアが、遷移先の状態の発声状態スコアに基づいて算出される。フレーム毎に最大の検出判定スコアを有する状態遷移パスが選択される。このような状態遷移パスの取捨選択が、始端フレームから終端フレームまでの各フレームについて行われる。終端フレームにおいて選択された状態遷移パスPが閾値θよりも大きい場合(P>θ)、コマンドワードに対応する状態遷移パスとして検出される。始端フレームから終端フレームまでの音声区間が候補音声区間として検出される。状態遷移パスP>θの状態毎の状態遷移回数が記録される。
【0029】
ここで、正解検出と誤検出との状態遷移の相違について説明する。図8及び図9は、同一コマンドワードに対する正解検出及び誤検出の状態遷移を示すグラフである。図8及び図9の縦軸は状態の番号を表し、横軸はフレーム又は時間を表す。図8に示すように、正解検出では、各状態を数回ずつ遷移している。図9に示すように、誤検出では、ある状態のみが長く継続して(定常状態)、その他の状態では自己遷移を有さない(1状態遷移)という特徴を有している。本実施形態は、正解検出及び/又は誤検出における状態遷移回数の時間的な推移の統計を利用して、コマンドワード候補の検出が正解検出か誤検出かを判定する。
【0030】
ステップSA2が行われると尤度特徴量取得部113は、ステップSA2において検出された候補音声区間における状態毎の状態遷移回数を取得する(ステップSA3)。尤度特徴量取得部113は、ステップSA23において記録された状態遷移パスP>θの状態毎の状態遷移回数を取得する。
【0031】
ステップSA3が行われると尤度特徴量取得部113は、ステップSA3において取得された状態遷移回数と、状態遷移回数確率分布とに基づいて、尤度特徴量ベクトルを算出する(ステップSA4)。状態遷移回数確率分布は、HMMの各状態について、任意のプロセッサ(確率分布計算装置)により予め算出される。確率分布記憶部114は、状態遷移回数確率分布を検索可能に体系的に記憶している。
【0032】
図10は、状態遷移回数確率分布を模式的に示す図である。図10に示すように、状態遷移回数確率分布は、各音素をモデル化したHMMの各状態の遷移回数に関する確率分布である。状態遷移回数確率分布の縦軸は確率を表し、横軸は状態遷移回数を表している。
【0033】
確率分布計算装置による状態遷移回数確率分布の算出方法は以下の通りである。確率分布計算装置は、大量の発声音声信号から、各音素のHMMの状態遷移回数を算出する。一例として、音素単位がモノフォンでモデル化されている場合、1音素あたり1状態で表現された音素/a/のHMMについて、大量の発声音声信号から当該1状態の状態遷移回数が算出される。次に各状態において、N個の状態遷移回数毎に出現回数をカウントし、状態遷移回数の出現頻度に関するヒストグラムを生成する。ここで、Nは状態遷移回数のサンプル数を表している。最後に、状態遷移回数の出現回数をNで割ることで、状態遷移回数確率分布が生成される。本実施例では、状態遷移回数をサンプル数で割ることにより状態遷移回数確率分布を得るものとしたが、状態遷移回数確率分布は、正規分布や指数分布などの他の確率分布で表現されるものが用いられてもよい。
【0034】
図11及び図12は、それぞれ正解検出及び誤検出に関する尤度特徴量ベクトルの算出方法を模式的に示す図である。図11及び図12に示す実施例では、音素単位をモノフォンとし、1音素あたり1状態のHMMでコマンドワードをモデル化するものとする。例えば、コマンドワードが「電気つけて」である場合を考える。「電気つけて」の音素は「d」「e」「n」「k」「i」「t」「u」「k」「e」「t」「e」の11個であり、HMMの状態数は11個である。すなわち、コマンドワード候補として検出された候補音声区間の音声は、HMMの状態を11個持つことになる。図11に示す正解検出の例では、「電気つけて」と正しく発話された音声信号が入力され、この発話がキーワード検出部112によりコマンドワード「電気つけて」として検出されているとする。図12に示す誤検出の例では、雑音、例えば、「ガシャガシャ」という音の音声信号が入力され、この雑音がキーワード検出部112によりコマンドワード「電気つけて」として検出されているとする。
【0035】
図11及び図12に示すように、尤度特徴量取得部113は、候補音声区間に関するHMMの複数の状態各々について、当該状態に関する状態遷移回数と状態遷移回数確率分布とを照合し、状態遷移回数の尤度を算出する。具体的には、「電気つけて」の11個のHMM状態に対応する確率分布が確率分布記憶部114から読み出される。そして、コマンドワード候補の11個の各状態の状態遷移回数を、取得した各状態に対応する確率分布に当て嵌めて、11個の尤度を有する尤度特徴量ベクトルが算出される。尤度特徴量ベクトルは、各発音列に関する状態遷移回数の時間的な推移を表しているといえる。
【0036】
図11に示すように、正解検出の場合、全ての状態について概ね数回程度の状態遷移回数で推移する。従って尤度も全ての状態について概ね略一定の値で推移する。誤検出の場合、図12に示すように、ある状態(図12では「n」や「i」)について状態遷移回数が突出して多い。従って状態遷移回数が突出して多い状態については、正解検出の場合に比して、尤度特徴量が小さく異なった値を有している。
【0037】
ステップSA4が行われると判定部115は、ステップSA4において算出された尤度特徴量ベクトルを、学習済み識別器に適用して正解検出か誤検出か判定する(ステップSA5)。学習済みの識別器は、任意のプロセッサ(識別器学習装置)により予め学習されている。識別器記憶部116は、学習済み識別器を検索可能に体系的に記憶している。学習済み識別器は、キーワード検出部112により検出された候補音声区間に関する尤度特徴量ベクトルを入力して、当該候補音声区間が正解検出か誤検出かを識別するように学習された機械学習モデルである。学習済み識別器は、正解検出及び誤検出における状態遷移回数の時間的な推移の統計又は事前知識であると表現できる。上記の通り、尤度特徴量ベクトルがコマンドワードのHMMの状態の個数に応じた次元数を有し、且つ識別器が尤度特徴量ベクトルに基づいて学習されるので、学習済み識別器は、コマンドワードの種別又は構成単位(音素)数毎に用意される。以下、説明を具体的に行うため、識別器はコマンドワードの種別毎に用意されるものとする。
【0038】
図13は、未学習の識別器130に対する学習処理を模式的に示す図である。図13に示すように、識別器130は、あるコマンドワード候補に関する大量の正解検出の尤度特徴量ベクトル及び誤検出の尤度特徴量ベクトルに基づいて、識別器学習装置により学習される。大量の正解検出の尤度特徴量ベクトルと大量の誤検出の尤度特徴量ベクトルとは学習データとも呼ばれる。
【0039】
識別器学習装置は、ステップSA4と同様、正解検出の音声信号及び誤検出の音声信号各々から取得した各状態の遷移回数と状態遷移回数確率分布とを照合し、各状態の尤度を計算することにより尤度特徴量ベクトルを算出する。例えば、検出すべきコマンドワードを「電気つけて」とした場合、正解検出の音声信号は「電気つけて」の発声に関し、誤検出の音声信号は「電気つけて」ではない発声や雑音などに関する。「電気つけて」の場合、音素数が11個であるため、HMMの状態は11個となる。すなわち、11個の状態の遷移回数から11個の尤度が求まるため、11次元の尤度特徴量ベクトルが算出される。学習データ内の全ての正解検出と誤検出の音声信号に対して尤度特徴量ベクトルが計算され、その全ての尤度特徴量ベクトルを用いて未学習の識別器130に対する学習が行われる。
【0040】
識別器130としては、例えば、SVM(Support Vector Machine)が用いられる。この場合、識別器学習装置は、尤度特徴量ベクトルに関する11次元の特徴量空間において、正解検出の尤度特徴量ベクトルと誤検出の尤度特徴量ベクトルとの汎化誤差を最小にする決定境界を、学習データと決定境界との最短距離であるマージンを最大化することにより決定する。
【0041】
図14は、判定部115による正解検出又は誤検出の判定処理を模式的に示す図である。図14に示すように、判定部115は、上記処理で生成された学習済み識別器140を利用して、候補音声区間(コマンドワード候補)が正解検出か誤検出かを判定する。より詳細には、まず、判定部115は、ステップSA4において算出された、コマンドワード候補の音声信号に関する尤度特徴量ベクトルを取得する。これに並行して判定部115は、当該候補音声区間に対応するコマンドワードに関する学習済み識別器140を識別器記憶部116から読み出す。そして判定部115は、当該尤度特徴量ベクトルを識別器140に適用して、当該尤度特徴量ベクトルを決定境界に対して比較して正解検出か誤検出かを判定する。当該尤度特徴量ベクトルが決定境界よりも正解検出側にある場合、候補音声区間が正解検出であると判定され、当該尤度特徴量ベクトルが決定境界よりも誤検出側にある場合、候補音声区間が誤検出であると判定される。
【0042】
なお、本実施形態に係る識別器130は、SVMに限定されず、識別タスクで利用される種々の機械学習モデルが用いられればよい。例えば、SVMの代わりにK平均法やDNNなどが用いられてもよい。
【0043】
ステップSA5において正解検出であると判定された場合(ステップSA6:YES)、判定部115は、コマンドワードに対応するIDを出力する(ステップSA7)。例えば、出力されたIDは、リモコン装置100の通信機器102に供給される。通信機器102は、当該IDに対応する制御信号を電気照明器具104に送信する。例えば、コマンドワードが「電気付けて」である場合、「電気付けて」に対応するIDが通信機器102に供給され、当該IDに対応する制御信号が電気照明器具104に供給され、電気照明器具104は照明をONにする。コマンドワードが「電気消して」である場合、「電気消して」に対応するIDが通信機器102に供給され、当該IDに対応する制御信号が電気照明器具104に供給され、電気照明器具104は照明をOFFにする。
【0044】
一方、ステップSA5において誤検出であると判定された場合(ステップSA6:NO)、判定部115は、候補音声区間を棄却する(ステップSAS8)。
【0045】
ステップSA7又はSA8が行われると、第1実施形態にキーワード検出装置103の処理が終了する。
【0046】
以上述べた実施形態では、キーワード検出装置103は、HMMの状態遷移回数を統計的な特徴量で表現し、その特徴量で学習された識別器を使って候補音声区間(コマンドワード候補)が正解検出であるか誤検出であるかを判定し、コマンドワード検出を行う。HMM系列全体の状態遷移回数を統計的に見ることで、誤検出の湧き出しを排除しつつ適切なコマンドワード検出が可能になる。
【0047】
(第2実施形態)
第1実施形態に係る尤度特徴量ベクトルは、HMMの状態数に依存する次元数を有するものとした。第2実施形態に係るキーワード検出装置は、HMMの状態数に依存しない次元数を有する尤度特徴量ベクトルを使用して正解検出又は誤検出を判定する。以下、第2実施形態について説明する。なお以下の説明において、第1実施形態と略同一の機能を有する構成要素については、同一符号を付し、必要な場合にのみ重複説明する。
【0048】
図15は、第2実施形態に係るキーワード検出装置103の機能構成例を示す図である。図15に示すように、キーワード検出装置103は、音声取得部111、キーワード検出部112、尤度特徴量取得部113、確率分布記憶部114、変換部151、判定部152及び識別器記憶部153を有する。
【0049】
変換部151は、尤度特徴量取得部113により算出された尤度特徴量ベクトルを、コマンドワードに含まれる構成単位(例えば、音素)の個数に依存しない次元数を有する、遷移回数に応じた特徴量のベクトルに変換する。以下、当該ベクトルを尤度変換特徴量ベクトルと呼ぶ。なお、尤度特徴量取得部113により算出される尤度特徴量ベクトルは、コマンドワードに含まれる構成単位(例えば、音素)の個数に依存する次元を有する。
【0050】
判定部152は、尤度変換特徴量ベクトルに基づいて、コマンドワードに対応する候補音声区間が、正解検出か誤検出かを判定する。具体的には、判定部152は、尤度変換特徴量ベクトルを、第2実施形態に係る識別器に適用し、コマンドワードに対応する候補音声区間が正解検出か誤検出かを判定する。判定結果は通信機器102に供給される。識別器は、入力された尤度変換特徴量ベクトルから、当該尤度変換特徴量ベクトルに対応する候補音声区間が正解検出か誤検出かを識別するように学習された機械学習モデルである。識別器は、識別記憶部153に記憶されている。なお、第2実施形態に係る識別器は、第1実施形態のように、コマンドワードの種別又は構成単位(音素等)数毎に用意する必要はない。
【0051】
次に、第2実施形態にキーワード検出装置103の一連の処理について詳細に説明する。
【0052】
図16は、第2実施形態にキーワード検出装置103の処理例の流れを示す図である。図16に示すステップSB1からSB4は図5に示すステップSA1からSA4と同一であるので、ここでの説明を省略する。
【0053】
ステップSB4が行われると変換部151は、ステップSB4において算出された状態数依存の尤度特徴量ベクトルを、状態数非依存の尤度変換特徴量ベクトルに変換する(ステップSB5)。
【0054】
変換部151の詳細な動作について説明する。変換部151は、状態数依存の尤度特徴量ベクトルを入力とし、次元変換手法を用いて任意の次元の尤度変換特徴量ベクトルへと変換する。次元変換手法としては、例えば、離散コサイン変換を用いることができる。離散コサイン変換は、入力信号をコサイン基底で展開し、低周波や高周波などの周波数成分に分解して低周波成分へ情報を集中させる特徴がある。すなわち、入力信号を離散コサイン変換し、入力信号の重要な情報を多く含む低周波成分を任意の個数取得することで次元圧縮を行う。
【0055】
状態数依存の尤度特徴量ベクトルをXと表し、n次元の特徴量ベクトルへと変換を行う場合、下記(1)式に基づいて次元圧縮を行う。Nは尤度特徴量ベクトルの要素数、Cは尤度変換特徴量ベクトル、iは0≦i<Nを満たすXの要素番号、kは0≦k<nを満たすCの要素番号を表す。ここでは(1)式に基づく離散コサイン変換であったが、これ以外にも公知の式で表現される離散コサイン変換を用いてもよい。
【0056】
【数1】
【0057】
次に、変換部151の別の実施例について説明する。まず、コマンドワード候補のHMM状態を、前半、中間、後半の三区間に分け、尤度特徴量ベクトルXを分割する。このとき、尤度特徴量ベクトルの前半部をX、中間部をX、後半部をXと表す。次に、Xの平均μと標準偏差σ、Xの平均μと標準偏差σ、Xの平均μと標準偏差σを算出する。これらの平均と標準偏差とを結合し、一つの特徴量ベクトルC(n=6)を生成する。C(n=6)は下記(2)式で表現される。ここでは、前半、中間、後半の三区間に分けたが、他にも一区間、二区間、四区間・・・としてもよい。
【0058】
【数2】
【0059】
また変換部151は、上記の変換方法の他に公知の手法を用いることができる。離散コサイン変換による次元圧縮や、ベクトルを区間に分けて平均と標準偏差を求める圧縮方法の代わりに、ベクトル量子化やt-SNEを用いるようにしてもよい。
【0060】
ステップSB5が行われると判定部152は、ステップSB5において算出された尤度変換特徴量ベクトルを、学習済みの識別器に適用して正解検出か誤検出かを判定する(ステップSB6)。学習済みの識別器は、コマンドワードの種別に依らずに、任意のプロセッサ(識別器学習装置)により予め学習されている。識別器記憶部153は、学習済みの識別器を検索可能に体系的に記憶している。学習済みの識別器は、キーワード検出部112により検出された候補音声区間に関する尤度変換特徴量ベクトルを入力して、当該候補音声区間が正解検出か誤検出かを識別するように学習された機械学習モデルである。
【0061】
ここで、識別器記憶部153に記憶された学習済み識別器の詳細について説明する。ここでは、第1実施形態と同様、音素単位をモノフォンとし、1音素あたり1状態のHMMでモデル化して説明する。
【0062】
図17は、正解検出に関する尤度変換特徴量ベクトルの一例を示す図であり、図18は、誤検出に関する尤度変換特徴量ベクトルの一例を示す図である。図17及び図18においてコマンドワードは「電気つけて」及び「暗くして」の2種類であるとする。図17及び図18に示すように、識別器学習装置は、ステップSB4と同様、学習データ内の正解検出の音声信号及び誤検出の音声信号各々から取得した各状態の遷移回数及び状態遷移回数確率分布を照合し、各状態の尤度を計算することにより尤度特徴量ベクトルを算出する。図17及び図18ではコマンドワード「電気つけて」及び「暗くして」の正解検出及び誤検出の学習データを示しているが、このときのコマンドワードは何でもよく、「スイッチオン」や「消して」、照明操作に関係ない「拡大」や「エアコンつけて」などをコマンドワードとした時の学習データを用いることができる。学習データ内の正解検出の音声データは様々なコマンドワードの発声であり、誤検出の音声データはコマンドワードではない発声や雑音などになる。「電気つけて」の場合、その音素が「d」「e」「n」「k」「i」「t」「u」「k」「e」「t」「e」の11個であるため、HMMの状態は11個となる。すなわち、11個の状態の遷移回数から11個の尤度が求まるため、11次元の尤度特徴量ベクトルが算出される。「暗くして」の場合、その音素が「k」「u」「r」「a」「k」「u」「s」「i」「t」「e」の10個であるため、HMMの状態は10個であり、10次元の尤度特徴量ベクトルが算出される。
【0063】
次に、識別器学習装置は、尤度特徴量ベクトルから任意の次元数の尤度変換特徴量ベクトルが算出される。例えば、図17及び図18では、「電気つけて」の11次元の尤度特徴量ベクトルと「暗くして」の10次元の尤度特徴量ベクトルが、それぞれ6次元の尤度変換特徴量ベクトルに変換される。なお、異なる音声信号に対応する尤度特徴量ベクトルについて尤度変換特徴量ベクトルの次元数は同一値に設定される。学習データ内に含まれる全てのコマンドワードに関する正解検出及び誤検出の音声信号に対して、同一次元数の尤度変換特徴量ベクトルが算出される。識別器学習装置は、その全ての尤度変換特徴量ベクトルを用いて1個の未学習の識別器を学習する。識別器としては、例えば、SVMが用いられる。この場合、識別器学習装置は、尤度変換特徴量ベクトルに関する6次元の特徴量空間において、正解検出の尤度変換特徴量ベクトルと誤検出の尤度変換特徴量ベクトルとの汎化誤差を最小にする決定境界を、学習データと決定境界との最短距離であるマージンを最大化することにより決定する。学習に使用する尤度変換特徴量ベクトルは、次元数が所定数に固定されているので、コマンドワードの次元数に依存しない識別器が生成されることとなる。
【0064】
次に、判定部152の詳細な処理について説明する。上記処理で生成された学習済み識別器を利用して、候補音声区間(コマンドワード候補)が正解検出か誤検出かを判定する。より詳細には、まず、判定部152は、ステップSB5において算出された、コマンドワード候補の音声信号に関する尤度変換特徴量ベクトルを取得する。これに並行して判定部152は、学習済み識別器を識別器記憶部153から読み出す。そして判定部152は、当該尤度変換特徴量ベクトルを識別器に適用して、当該尤度変換特徴量ベクトルを決定境界に対して比較して正解検出か誤検出かを判定する。当該尤度変換特徴量ベクトルが決定境界よりも正解検出側にある場合、候補音声区間が正解検出であると判定され、当該尤度特徴量ベクトルが決定境界よりも誤検出側にある場合、候補音声区間が誤検出であると判定される。
【0065】
なお、第2実施形態に係る識別器も、SVMに限定されず、識別タスクで利用される種々の機械学習モデルが用いられればよい。例えば、SVMの代わりにK平均法やDNNなどが用いられてもよい。
【0066】
図16に示すステップSB7からSB9は図5に示すステップSA6からSA8と同一であるので、ここでの説明を省略する。
【0067】
上記の通り、第1実施形態ではコマンドワードに対応した識別器を用意する必要があったが、第2実施形態では、コマンドワードのHMM状態数に依存しない尤度変換特徴量ベクトルを用いて識別器を学習するため、コマンドワードの種別又は構成単位(音素等)数毎に識別器を生成する必要がなくなる。したがって、学習済み識別器の記憶容量を削減することができる。また、コマンドワードの種別に応じて学習済み識別器を使い分ける必要がないのでキーワード検出処理を簡略化することが可能になる。
【0068】
(第3実施形態)
第1及び第2実施形態に係る判定部115,152は、遷移回数に応じた尤度を要素に有する尤度特徴量ベクトルを用いて正解検出又は誤検出の判定を行うものとした。第3実施形態に係る判定部は、遷移回数を要素に有するベクトルを用いて正解検出又は誤検出の判定を行う。以下、第3実施形態について説明する。なお以下の説明において、第1及び第2実施形態と略同一の機能を有する構成要素については、同一符号を付し、必要な場合にのみ重複説明する。
【0069】
図19は、第3実施形態に係るキーワード検出装置103の機能構成例を示す図である。図19に示すように、キーワード検出装置103は、音声取得部111、キーワード検出部112、遷移回数取得部191、判定部192及び識別器記憶部193を有する。
【0070】
遷移回数取得部191は、キーワード検出装置103により検出された候補音声区間について、HMMの各状態の遷移回数に関するベクトル(以下、遷移回数ベクトルと呼ぶ)を取得する。遷移回数ベクトルは、コマンドワードに対応するHMMの複数の状態にそれぞれ対応する複数の遷移回数の系列を意味する。換言すれば、遷移回数ベクトルは、コマンドワードに対応するHMMの状態数に等しい次元数を有する。
【0071】
判定部192は、遷移回数ベクトルに基づいて、コマンドワードに対応する候補音声区間が、正解検出か誤検出かを判定する。具体的には、判定部192は、遷移回数ベクトルを、第3実施形態に係る識別器に適用し、正解検出又は誤検出を判定する。第3実施形態に係る識別器は、入力された遷移回数ベクトルから、当該遷移回数ベクトルに対応する候補音声区間が正解検出か誤検出からを識別するように学習された機械学習モデルである。学習済みの識別器は、正解検出及び誤検出における状態遷移回数の時間的な推移の統計又は事前知識であると表現できる。識別器は、識別器記憶部193に記憶されている。
【0072】
ここで、第3実施形態に係る識別器に対する学習処理について説明する。識別器は、コマンドワードの種別毎に、識別器学習装置により学習される。識別器学習装置は、あるコマンドワード候補に関する大量の正解検出の遷移回数ベクトル及び誤検出の遷移回数ベクトルに基づいて未学習の識別器を学習する。より詳細には、識別器学習装置は、正解検出の音声信号及び誤検出の音声信号各々から取得した各状態の遷移回数を取得し、遷移回数ベクトルを生成する。例えば、コマンドワード「電気つけて」の場合、音素数が11個であるため、HMMの状態は11個であり、11次元の遷移回数ベクトルが生成される。学習データ内の全ての正解検出及び誤検出の音声信号に対して遷移回数ベクトルが生成され、その全ての遷移回数ベクトルを用いて未学習の識別器が学習される。
【0073】
第3実施形態に係る識別器としては、例えば、SVMが用いられる。この場合、識別器学習装置は、遷移回数ベクトルに関する11次元の特徴量空間において、正解検出の遷移回数ベクトルと誤検出の遷移回数ベクトルとの汎化誤差を最小にする決定境界を、学習データと決定境界との最短距離であるマージンを最大化することにより決定する。なお、本実施形態に係る識別器130は、SVMに限定されず、識別タスクで利用される種々の機械学習モデルが用いられればよい。例えば、SVMの代わりにK平均法やDNNなどが用いられてもよい。
【0074】
第3実施形態によれば、遷移回数を用いて候補音声区間の正解検出又は誤検出を判定することが可能になる。尤度を算出する必要がないので、第1及び第2実施形態に比して処理を簡略化することが可能になる。
【0075】
なお、第3実施形態が第2実施形態に適用されてもよい。すなわち、第3実施形態に係る変換部は、コマンドワードの発音列の構成単位(例えば、音素)の個数、換言すれば、HMMの状態数に依存する遷移回数ベクトルを、HMMの状態数に依存しない遷移回数変換ベクトルに変換してもよい。この場合、第3実施形態に係る識別器は、正解検出の遷移回数変換ベクトルと誤検出の遷移回数変換ベクトルとに基づいて学習されることとなる。第3実施形態に係る判定部は、候補音声区間の遷移回数変換ベクトルを、当該識別器に適用して正解検出か誤検出かを判定することが可能である。
【0076】
(ハードウェア構成)
図20は、第1、第2及び第3実施形態に係るキーワード検出装置103のハードウェア構成例を示す図である。キーワード検出装置103は、処理回路201、主記憶装置202、補助記憶装置203、表示機器204及び入力機器205を備える。処理回路201、主記憶装置202、補助記憶装置203、表示機器204及び入力機器205は、バスを介して接続されている。
【0077】
処理回路201は、補助記憶装置203から主記憶装置202に読み出されたキーワード検出プログラムを実行し、音声取得部111、キーワード検出部112、尤度特徴量取得部113、判定部115、変換部151、判定部152、遷移回数取得部191及び判定部192として動作する。主記憶装置202は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。主記憶装置202は、確率分布記憶部114、識別器記憶部116、識別器記憶部153及び識別器記憶部193として動作する。補助記憶装置203は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及び、メモリカード等である。
【0078】
表示機器204は、種々の表示情報を表示する。表示機器204は、例えばディスプレイやプロジェクタ等である。入力機器205は、コンピュータを操作するためのインタフェースである。入力機器205は、例えばキーボードやマウス等である。コンピュータがスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示機器14及び入力機器205は、例えばタッチパネルである。
【0079】
コンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【0080】
コンピュータで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。またコンピュータで実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0081】
コンピュータで実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。コンピュータで実行されるプログラムは、上述のキーワード検出装置103の機能構成(機能ブロック)のうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、処理回路201が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置202上にロードされる。すなわち上記各機能ブロックは主記憶装置202上に生成される。
【0082】
上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0083】
キーワード検出装置103を実現するコンピュータの動作形態は任意でよい。例えば、キーワード検出装置103を1台のコンピュータにより実現してもよい。また例えば、キーワード検出装置103を、ネットワーク上のクラウドシステムとして動作させてもよい。
【0084】
(付言)
上記の実施形態に係るキーワード検出装置は、検出部、取得部及び判定部を有する。検出部は、音声信号から、コマンドワードの発音列の構成単位の特徴をモデル化した隠れマルコフモデルを用いて、当該コマンドワードに対応する候補音声区間を検出する。取得部は、検出された候補音声区間について、隠れマルコフモデルの各状態の遷移回数又は当該遷移回数に応じた特徴量に関するベクトルを取得する。判定部は、取得されたベクトルに基づいて候補音声区間が正解検出か誤検出かを判定する。
【0085】
上記の構成によれば、隠れマルコフモデルの各状態の遷移回数又は特徴量の系列であるベクトルに基づいて候補音声区間の正解検出又は誤検出を判定するので、特許文献1に比して、自己遷移を有さない状態を多く持つキーワードの誤判定を低減することができる。また、早い段階で検出されたキーワード候補に対しても適切に判定することができるようになる。
【0086】
かくして、本実施例によれば、キーワードの正解検出又は誤検出を高精度に識別することが可能になる。
【0087】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0088】
100…リモコン装置、101…マイク、102…通信機器、103…キーワード検出装置、104…電気照明器具、111…音声取得部、112…キーワード検出部、113…尤度特徴量取得部、114…確率分布記憶部、115…判定部、116…識別器記憶部、121…音響特徴量計算部、122…スコア計算部、123…候補音声区間検出部、130…未学習識別器、140…学習済み識別器、151…変換部、152…判定部、153…識別器記憶部、191…遷移回数取得部、192…判定部、193…識別器記憶部、201…処理回路、202…主記憶装置、203…補助記憶装置、204…表示機器、205…入力機器。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20