JP2019144524A - ワード検出システム、ワード検出方法及びワード検出プログラム - Google Patents

ワード検出システム、ワード検出方法及びワード検出プログラム Download PDF

Info

Publication number
JP2019144524A
JP2019144524A JP2018170090A JP2018170090A JP2019144524A JP 2019144524 A JP2019144524 A JP 2019144524A JP 2018170090 A JP2018170090 A JP 2018170090A JP 2018170090 A JP2018170090 A JP 2018170090A JP 2019144524 A JP2019144524 A JP 2019144524A
Authority
JP
Japan
Prior art keywords
score
word
keyword
detected
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018170090A
Other languages
English (en)
Other versions
JP6852029B2 (ja
Inventor
浩司 藤村
Koji Fujimura
浩司 藤村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to US16/130,538 priority Critical patent/US10964311B2/en
Priority to CN201811068253.7A priority patent/CN110189750B/zh
Publication of JP2019144524A publication Critical patent/JP2019144524A/ja
Application granted granted Critical
Publication of JP6852029B2 publication Critical patent/JP6852029B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】音声データからキーとなるワードを正確にかつ素早く検出する。【解決手段】一実施形態に係るワード検出システムは、複数のフレームを含む音声データを取得して音声特徴量を生成し、ターゲットとなるワードに対応付けられた音声特徴量に基づく参照モデルを音声データの複数のフレームそれぞれとマッチングしてフレームスコアを算出し、そのフレームスコアからワードの第1スコアを算出し、ワードのフレームスコアを保持し、第1スコアに基づいて音声データからワードを検出し、検出したワードの始端、終端の時間情報を出力し、検出したワードの始端、終端の時間情報と保持されているフレームスコアに基づいて、ワードに対する第2スコアを算出し、第2スコアの値を用いて複数のワードに対する第2スコアまたは予め決められた閾値スコアまたはその両方と比較し、その比較結果に基づいて出力対象とするワードを決定する。【選択図】 図3

Description

本発明の実施形態は、ワード検出システム、ワード検出方法及びワード検出プログラムに関する。
近年、ユーザの音声から特定のキーワードを検出し、検出されたキーワードに対応する特定の動作を開始する機能を有する様々な機器が増加している。これにより、ユーザは、動作させたいキーワードを発声するだけで、複雑な操作を行うことなく、機器に所望の動作を行わせることができる。
特開2016−177474号公報
J. Junkawitsch, L, Neubauer, H. Hoge, G. Ruske, "A new keyword spotting algorithm with pre-calculated optimal thresholds," in Proc. ICSLP, pp. 2067-2070, 1996.
以上のように、従来のワード検出システムでは、所望の動作に対応するキーワードを発声するだけで、複雑な操作を行うことなく、電子機器に所望の動作を行わせることができる。しかしながら、キーワードの誤検出によって他の動作を行わせてしまったり、キーワードの検出に時間がかかって、そのタイムラグによる動作の遅れが問題になることがあった。
本実施形態は上記課題に鑑みなされたもので、音声データからキーとなるワードを正確にかつ素早く検出することのできるワード検出システム、ワード検出方法及びワード検出プログラムを提供することを目的とする。
一実施形態に係るワード検出システムは、音声取得部と、第1算出部と、保持部と、検出部と、第2算出部と、出力部とを具備する。音声取得部は、複数のフレームを含む音声データを取得して音声特徴量を生成する。第1算出部は、ターゲットとなるワードに対応付けられた前記音声特徴量に基づく参照モデルを前記音声データの複数のフレームそれぞれとマッチングすることによってフレームスコアを算出し、そのフレームスコアから前記ワードの第1スコアを算出する。保持部は、前記ワードのフレームスコアを保持する。検出部は、前記第1スコアに基づいて前記音声データから前記ワードを検出し、検出したワードの始端、終端の時間情報を出力する。第2算出部は、前記検出したワードの始端、終端の時間情報と前記保持部に保持されているフレームスコアに基づいて、前記ワードに対する第2スコアを算出する。出力部は、前記第2スコアの値を用いて複数のワードに対する第2スコアまたは予め決められた閾値スコアまたはその両方と比較し、その比較結果に基づいて出力対象とするワードを決定する。
実施形態に係る音声キーワード検出システムを概略的に示すブロック図。 実施形態に係る音声キーワード検出装置の具体的な構成を示すブロック図。 実施形態の音声キーワード検出装置の処理機能を示す機能ブロック図。 実施形態の音声キーワード検出装置の処理の流れを示すフローチャート。 実施形態の音声キーワード検出装置において、キーワードモデル格納部に格納されるデータの例を示す図。 実施形態の音声キーワード検出装置において、第1の実施例として、キーワード第2スコア算出部の具体的な動作例を示す状態遷移図。 第1の実施例において、音声入力から第2スコアが算出され、単語が決定出力されるまでの処理の流れを示す概念図。 実施形態の音声キーワード検出装置において、第2の実施例として、音声入力から第2スコアが算出され、単語が決定出力されるまでの処理の流れを示す概念図。 第2の実施例において、第2スコアによる比較処理の第1の例を示す概念図。 第2の実施例において、第2スコアによる比較処理の第2の例を示す概念図。 第2の実施例において、第2スコアによる比較処理の第3の例を示す概念図。 第3の実施例において、キーワード第2スコア算出部の具体的な動作例を示す状態遷移図。
以下、本発明に係る実施形態について、図面を参照して説明する。
図1は、実施形態に係る音声キーワード検出装置を備える音声キーワード検出システムの構成の例を示す。この音声キーワード検出システムは、クライアント装置(以下、クライアント)1とサーバ装置(以下、サーバ)2とを備える。サーバ2は、例えば、サーバコンピュータとして実現され得る。クライアント1は、タブレットコンピュータ、スマートフォン、携帯電話機、PDAといった携帯情報端末、パーソナルコンピュータ、または各種電子機器に内蔵される組み込みシステムとして実現され得る。クライアント1とサーバ2とは、ネットワーク3を介してデータをやり取りすることができる。また、クライアント1とサーバ2の少なくとも一方は、音声からキーワードを検出する音声キーワード検出機能を有している。
音声キーワード検出システムでは、クライアント1に設けられるマイクロホン等を用いて生成された音声データ(音声信号)からキーワードを検出することができる。より詳しくは、クライアント1は、当該クライアント1に設けられたマイクロホン等を用いて生成された音声データを、ネットワーク3を介してサーバ2に送信する。サーバ2は、音声キーワード検出機能を用いて、クライアント1から受信した音声データからキーワードを検出し、ネットワーク3を介してそのキーワードをクライアント1に送信する。これによりクライアント1は、例えば、検出されたキーワードに応じた特定の動作を開始することができる。なお、クライアント1は、音声データではなく、音声データを用いて生成された音声特徴量(例えば、音声特徴ベクトル列)をサーバ2に送信してもよい。サーバ2は、受信した音声特徴量からキーワードを検出し、そのキーワードをクライアント1に送信することもできる。
また、音声キーワード検出機能はクライアント1に設けられてもよい。その場合、クライアント1は、この音声キーワード検出機能を用いて、クライアント1に設けられたマイクロホン等を用いて生成された音声データからキーワードを検出することができる。
このように本実施形態では、クライアント1またはサーバ2の少なくとも一方が有する音声キーワード検出機能を用いて、音声データからキーワードを検出することができる。
以下では、説明を分かりやすくするために、音声キーワード検出機能を有するクライアント1を、本実施形態の音声キーワード検出装置10として例示する。
図2は、音声キーワード検出装置10のシステム構成を示すブロック図である。音声キーワード検出装置10は、CPU101、システムコントローラ102、主メモリ103、LCD104、BIOS−ROM105、不揮発性メモリ106、マイクロホン107、通信デバイス108、キーボード109、ポインティングデバイス110、エンベデッドコントローラ(EC)111等を備える。
CPU101は、音声キーワード検出装置10内の様々なコンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム(OS)201、および様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、音声キーワード検出プログラム202が含まれている。この音声キーワード検出プログラム202は、音声データからキーワードを検出するための命令群を含んでいる。
また、CPU101は、BIOS−ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラが内蔵されている。また、システムコントローラ102には、音声キーワード検出装置10のディスプレイモニタとして使用されるLCD104を制御する表示コントローラも内蔵されている。この表示コントローラによって生成される表示信号はLCD104に送られる。LCD104は、表示信号に基づいて画面イメージを表示する。
また、システムコントローラ102はオーディオコーデックを内蔵する。オーディオコーデックは、マイクロホン107を制御するように構成されている。オーディオコーデックは、マイクロホン107によって集音された音声に基づく音声信号(デジタル処理された音声波形を表すデータ列。以下、音声波形と称する。)を生成する。
通信デバイス108は、有線通信または無線通信を実行するように構成されたデバイスである。通信デバイス108は、信号を送信する送信部と、信号を受信する受信部とを含む。
キーボード109およびポインティングデバイス110は、ユーザによる入力のためのデバイスである。ポインティングデバイス110は、マウス、タッチパッド、タッチパネルのような、LCD104の画面上の点および点の動きを検出するためのデバイスである。
EC111は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC111は、ユーザによるパワーボタンの操作に応じて音声キーワード検出装置10を電源オンまたは電源オフする機能を有している。
上記構成による音声キーワード検出装置10は、音声波形からターゲットとなるキーワードの音声部分を検索し、検索された音声部分からターゲットのキーワードを検出する。この音声キーワード検出装置10を搭載する機器は、検出されたキーワードに応じて動作を行うアプリケーションを搭載している。このように、キーワードを受け付けて動作する機器に搭載される音声キーワード検出装置10には、常時音声を受け付け、そのキーワードの正確な検出が要求され、低電力・低計算量で動作するものが望まれる。また、ユーザがストレスを感じることなく快適に機器を動作させるためには、キーワードを受け付けてから即座に機器の動作を開始させる必要があり、低遅延の音声キーワード検出が望まれる。
ある機器で受理すべきキーワードが複数ある場合、音声波形に対して、ある時間の範囲内で発声したキーワード候補のスコアを比較し、その比較結果からキーワード(単語)の識別を行う方法がある。これに対して、特許文献1にあるように、検出に特化したスコアを用いて、ある音声波形の時間範囲内にそれぞれのキーワードの発声が所定の閾値スコアを超えて存在するかどうかの二値判別する方法がある。この方法によれば、低計算量で遅延時間の少ないアルゴリズムを適用することができる。しかし、後者の二値判定の方法の場合は、スコアが検出に特化したものになっているため、同じ発音列が多い二つのキーワードを区別することが困難になる。例えば、「コミュニケーション」と「コミュニケーター」というキーワードが設定されている場合では、「ター」と「ション」しか発音列に差がないため、「コミュニケー」までのスコアが高い場合、「コミュニケーション」と「コミュニケーター」どちらの発声に対しても、両方のキーワードが検出されてしまう。
このように、検出に特化したスコアを用いて、それぞれの音声キーワードに対して検出する/しないの二値判別を行う音声キーワード検出手法では、二つ以上のキーワード間で同じ発音列が多く含まれる場合、その同じ発音列を含むキーワードが全て検出されてしまうという課題があった。
そのため本実施形態では、検出に特化した第1検出スコアでキーワードを検出した後、検出された始端時間、終端時間と第1検出スコアの計算に用いたフレームスコアに基づいて、識別に用いるための第2検出スコアを算出し、キーワードを受理するかどうかを決定する。これにより、音声から素早く正確にキーワードを検出することができる。
図3は、音声キーワード検出装置10によって実行される音声キーワード検出プログラム202の機能構成を示すブロック図である。音声キーワード検出プログラム202は、音声取得部31、キーワード第1スコア算出部32、キーワード第1検出部33、キーワード第2スコア算出部34、キーワード第2検出部35、キーワードモデル格納部36、スコアバッファ37を備える。音声キーワード検出プログラム202の各部は、キーワードモデル格納部36に格納された様々なデータを読み出すことができ、またキーワードモデル格納部36にデータを書き込むことができる。キーワードモデル格納部36には、例えば、不揮発性メモリ106の一部の領域が割り当てられている。
キーワードモデル格納部36は、複数のキーワードに対応する複数のキーワードモデルを格納する。キーワードモデルは、対応するキーワードの音素、音韻、モーラ、発音表記、または表記文字に基づいて決定される。
音声取得部31は、複数のフレームを含む音声データを取得する。音声取得部31は、例えば、音声波形を受け付け、デジタル化し、フレーム毎の音声特徴量を音声データとして出力する。
キーワード第1スコア算出部32は、キーワードモデル格納部36にあるキーワードモデルを用いて音声特徴量に対するフレームスコアを算出し、そのスコアからキーワード第1スコア(逐次検出スコア)を算出する。また、フレームスコアをスコアバッファ37に保存する。
キーワード第1検出部33は、キーワード第1スコアと予め定められた閾値スコアとの比較結果に基づく判定によってキーワードの1次検出を行い、キーワードを検出した場合、そのキーワードの始端、終端情報を出力する。
キーワード第2スコア検出部34は、キーワード第1検出部33で検出されたキーワードの始端、終端情報および、スコアバッファ37に保存してあるフレームスコアを用いて、キーワード第2スコアを算出する。
キーワード第2検出部35は、他のキーワードの第2スコアまたは、予め定められた閾値、またはその両方と比較し、スコアが高いキーワードを検出結果として出力する。
上記音声キーワード検出プログラム202の処理の流れを説明する。
音声取得部31によって複数のフレームを含む音声データが取得されたとき、キーワード第1スコア算出部32は、例えば、キーワードに関連付けられた音素、音韻、発音表記、モーラ、または表記文字と、音声データの各フレームとをマッチングしてフレームスコアを算出した後、それを用いてキーワードに対する第1スコアを算出し、フレームスコアをスコアバッファ37に保存する。
次に、キーワード第1検出部33は、第1スコアに基づいて音声データからキーワードを検出する。より具体的には、キーワード第1検出部33は、キーワードに対する第1スコアが第1閾値スコアよりも大きい場合、キーワードを1次検出し、そのキーワードの始端終端情報を出力する。
キーワード第2スコア算出部34は、例えば、音声データに含まれる複数のフレームの内の一つ以上の第1フレームからキーワードが検出されたとき、その始端終端情報とスコアバッファ37に保存してあるフレームスコアを用いて第2スコアを算出する。
そして、キーワード第2検出部35は、他のキーワードの第2スコア、またはキーワードに対する第2閾値スコアと比較し、高いスコアのキーワードを検出結果として出力する。
次いで、図4のフローチャートを参照して、音声キーワード検出装置10によって実行される音声キーワード検出処理の手順の例を説明する。この音声キーワード検出処理は、例えば、CPU101によって音声キーワード検出プログラム202に含まれる命令群が実行されることによって実現される。
音声取得部31は、音声波形を受け付け、デジタル化し、音声特徴量を生成する(ステップS11)。音声波形は、マイクロホン107等を用いて収録されたものである。音声取得部31は、音声波形をアナログからデジタルに変換し、これにより得られたデジタルの音声データを用いて特徴ベクトルを特徴量として生成し出力する。音声波形のアナログからデジタルへの変換には、一般的なAD変換を用いて、アナログ波からデジタル波への変換を行う。音声取得部31は、この変換において、例えば、アナログ波を16kHzでサンプリングし、デジタル波の1サンプルの振幅値を16ビットで表す。音声取得部31は、このデジタル波を一定の時間毎に切り出す。ここでは、音声取得部31が、デジタル波を256点サンプルずつ、128点サンプルずらしながら切り出しを行う場合について例示する。この256点サンプルを1フレームとする。これにより、音声取得部31は、複数のフレームを含む音声データを取得する。
音声取得部31は、この256点サンプルからMel Frequency Cepstrum Coefficient(MFCC:メル周波数ケプストラム係数)特徴量−12次元を算出する。そして、音声取得部31は、このMFCC特徴量を3フレーム分だけバッファリングし、3フレーム分のMFCC特徴量を連結した36次元を、これら3フレームの内の中央フレームの時刻の特徴量として出力する。なお、抽出される特徴量はMFCCに限定されるものではなく、例えば、メルフィルタバンク特徴量やPerceptual Linear Prediction(PLP)、RSTA−PLP特徴量、またはピッチ特徴量、あるいはそれらのΔ成分、またはΔΔ成分を用いても良い。または、これら特徴量の組み合わせを用いても良い。また、連結フレーム数は3に限定されるものではなく、1フレーム以上であれば、何フレーム連結させても良い。さらに、切り出しサンプルサイズやフレーム周期は上記した値に限定されるものではない。
キーワード第1スコア算出部32は、音声取得部31によって生成された音声特徴量を受け取り、この音声特徴量とキーワードモデル格納部36にあるキーワードモデルを用いてフレームスコア、キーワード第1スコアを算出する(ステップS12)。
以下では、検出対象のキーワードが“コミュニケーション”、“コミュニケーター”、“ハロー”の三つである場合の具体的な例について説明する。これらキーワードに対して、キーワードモデルを用いて、フレーム毎に切り出された音声特徴量を示すベクトル列に対して累積スコアを算出する方法は多く存在するが、ここではleft-to-right型の隠れマルコフモデル(Hidden Markov Model:HMM)と特許文献1記載の方法で例示する。
まず、“コミュニケーション”、“コミュニケーター”、“ハロー”のキーワードをそれぞれ、w,w,wとする。これに対して、キーワードモデルとして、w(n=1,2,3)の3モデルがそれぞれ用意される。キーワードはleft-to-right型の音素HMMで表される。音素HMMは、キーワードw,w,wをそれぞれ表す音素文字(列)“k a my u n i k e i sy o n”、“k a my u n i k e i t a a”、“h e l o u”を1状態とする。また、音素HMMのパラメータとして、音素間の遷移確率はどの遷移間の確率も同確率とする。出力確率はフレーム毎の音素の出現確率(音響スコア)で表す。
本実施形態では、フレーム毎の音響スコア(フレームスコア)を計算するモデルは、複数のキーワードに対して共通のフィードフォワード型のニューラルネットワークとし、第1スコアは特許文献1記載の方法を用いて計算する方法を用いる。
音響スコアを算出するためのニューラルネットワークの出力層は、キーワードw,w,wをそれぞれ表す音素“k a my u n i k e i sy o n”、“k a my u n i k e i t a a”、“h e l o u”から重複するものを除き、無音区間に対する音素“sil”を加え、13個の出力ユニットから構成される。入力層は、算出した音声特徴量に相当する36個の入力ユニットから構成される。中間層は、256ユニットを持つ層を3つ重ねたものとする。ニューラルネットワークは、無音声区間を含む“コミュニケーション”、“コミュニケーター”、“ハロー”の3単語の読み上げ音声を使って、バックプロパゲーションを用いて学習する。
このように、キーワードに対する音素HMMを用意し、キーワードモデルwに対する音素HMMが音声取り込み開始からのフレーム数tにおいて終端に達するパスのキーワード第1スコアSは特許文献1記載の方法により計算する。このときキーワードモデルwに対するフレーム数tの最大累積スコアSを持つパスの音素HMMの始端フレームをtnsとする。
各フレームで計算されるフレームスコアはスコアバッファ37に保存される。ここでは過去8秒分のフレームスコアを格納することができるスコアバッファをキーワード毎に用意し、各フレームの各キーワードに対するフレームスコアをフレーム数tに対応づけて記録して持っておく。ここではキーワード毎にスコアバッファを用意しているが、キーワード間で共通の音素のスコアを共有してキーワード間で一つのスコアバッファを用いても良い。
キーワード第1スコア算出部32は、フレーム数tを時間方向にインクリメントしながらスコア計算を行う。このとき何フレームずつかスコア計算をスキップし計算量を削減することもできる。キーワード第1スコア算出部32は、累積スコアSを、当該キーワードの第1スコアとして用いる。
なお、キーワードモデルは、音素単位でのモデル化に限定されるものではなく、音韻、モーラ、発音表記、または表記文字の単位でモデル化することもできる。また、累積スコアの算出方法は、特許文献1を用いたものに限定されるものではなく、例えば、非特許文献1の方法なども適用できる。また、フレーム単位の音響スコア計算に対しては、フィードフォワード型のニューラルネットワークに限定されることはなく、リカレント構造のニューラルネットワーク、例えばLSTMなども適用できる。さらに、Gaussian Mixture Model(ガウス混合モデル)でも同様にフレーム単位の音響スコアを求めることもできる。
キーワード第1検出部33は、キーワード第1スコア(以下、第1スコア)と設定された第1閾値スコアとを比較することによって、第1閾値スコアを超えたスコアを有するキーワードがあるか否かを判定する(ステップS13)。すなわち、キーワード第1検出部33は、キーワードモデルwに対して予め用意された累積スコアSとこの累積スコアSに対する第1閾値スコアthとを比較する。(n=1,2,3)に対して、
th<S
を満たすnが一つ見つかった場合、そのnの値をmに代入する。n=1のとき、すなわち“コミュニケーション”がここでは検出されたとする。そのキーワードの始端時間をtmsとすると、始終端区間(tms,t)のキーワードwが検出されることとなる。第1閾値スコアthは、キーワードが含まれる開発音声データセットを使って、適合率および再現率の調和平均であるF値が最大となる値を全キーワードに対して一つ設定する。この場合、第1閾値スコアthの値を高くすれば、キーワードは検出されにくくなり、第1閾値スコアthの値を低くすれば、キーワードは検出されやすくなる。
第1閾値スコアを超えたキーワードがない場合、ステップS11の手順に戻り、後続する音声データからキーワードを検出するための処理が続行される。
一方、第1閾値スコアを超えたキーワードがあった場合、すなわち、キーワードが1次検出された場合、キーワード第2スコア算出部34では該当キーワードの検出始終端区間(tms,t)とスコアバッファ37のフレームスコアを用いて、検出されたキーワードwに対するキーワード第2スコア(以下、第2スコア)Dを算出する(ステップS14)。第2スコアDは検出始終端区間(tms,t)をキーワードwの端点とし、キーワードwの音素HMMとスコアバッファ37の対応する区間のフレームスコアを使うことによって、ビタビアルゴリズムで最大累積スコアを算出した後、その最大累積スコアを検出区間の長さ(t−tms)で割ることにより正規化する。また、このときに、キーワードwの検出始終端区間(tms,t)に対して、キーワードw、wの音素HMMとスコアバッファ37のフレームスコアを用いて第2スコアD、Dを算出する。第2スコアに対しては第2閾値スコアth2n(n=1,2,3)が予め定められる。検出区間(t−tms)がそれぞれのキーワードの音素数より少ないときにはビタビアルゴリズムは適応できないため、キーワードwに対して予め定められた第2スコアの第2閾値スコアth2mより小さい値を代入する。第2閾値スコアth2mも第1閾値スコアthと同じように調整することができる。ビタビアルゴリズムは端点が決まっている場合に高速に計算することができるため、計算量、遅延時間をほぼ増加させずに検出区間(tms,t)に対するキーワードの識別スコア(第2スコア)を計算することができる。
ここでは第2スコアを計算する区間を検出始終端区間(tms,t)としたが、始端終端にマージンdフレームを加えた上で区間を広げて(tms−d,t+d)、(tms>d)の中で第2スコアを求めて良い。終端時間にマージンdを設ける場合にはマージンdフレーム分処理を待つ必要がある。また、時間に対して前向きにビタビアルゴリズムを適用するとき、始端が固定され、終端が異なる区間に対しては、アルゴリズムの特性により、追加フレーム毎に逐次最大累積スコアが算出可能である。このため、マージンdフレーム内で最も第2スコアが高くなるものをそのキーワードの第2スコアとしても良い。始端の変化に関しても、終端を固定して時間方向に対して後ろ向きにビタビアルゴリズムを行えば、同様のことは可能である。また、始端終端の変化の組み合わせで最大のスコアを第2スコアとして用いても良い。
次に、キーワード第2検出部35では、キーワードwの1次検出始終端区間(tms,t)に対してキーワード毎に算出された第2スコアを用いて、単語の検出を行う。すなわち、キーワード第2検出部35では、キーワード第2スコア算出部34で算出されたそれぞれのキーワードに対する第2スコアD、D、Dを用いて、最も高い第2スコアを持ち、かつ、その第2スコアが該当するキーワードの第2閾値スコアth2n(n=1,2,3)よりも高いか判定し(ステップS15)、第2閾値スコアth2nを超えていた場合に、最も高い第2スコアを持つキーワードを検出する(ステップS16)。ここではキーワードwに対する第2スコアDが最も高かったとする。このとき、
th22<D
であれば、キーワードwが検出される。
第2閾値スコアを超えた第2スコアを持つキーワードがない場合、ステップS11の手順に戻り、後続する音声データからキーワードを検出するための処理が続行される。
次いで、図5を参照して、キーワードモデル格納部36に格納されるデータの例について説明する。このデータは、音声キーワード検出プログラム202内の各部によって読み出され、また更新され得るものである。
図5は、キーワードデータの一構成例を示す。各レコードは、例えば、ID、音素、および閾値スコアを含む。各レコードは、音素の代わりに、あるいは音素に加えて、音韻、モーラ、発音表記、および表記文字の少なくともいずれかを含んでいてもよい。
あるキーワードに対応するレコードにおいて、「ID」は、そのキーワードに付与された識別情報を示す。「音素」は、そのキーワードに対応する音素を示す。「閾値スコア」は、そのキーワードとして検出されるためのスコアの閾値を示す。
このキーワードデータは、例えば、キーワード第1スコア算出部32によるキーワードスコアの算出と、キーワード第1検出部33によるキーワードの検出と、キーワード第2スコア算出部34によるキーワード第2スコアの算出と、キーワード第2検出部35によるキーワードの検出に用いられる。
ところで、上記実施形態の説明では、クライアント1が音声キーワード検出機能を有するものとしたが、サーバ2が音声キーワード検出機能を有していてもよい。その場合、クライアント1は、マイクロホンを用いて集音された音声に基づく音声データを、通信デバイス等を介してネットワーク3上のサーバ2に送信する。サーバ2は、通信デバイスを介して、クライアント1から音声データを受信する。サーバ2は、上述した音声キーワード検出プログラム202を実行することによって、受信した音声データからキーワードを検出する。そして、サーバ2は、検出されたキーワードをクライアント1に送信する。したがって、クライアント1は、音声キーワード検出機能を有するサーバ2に音声データを送信することによって、クライアント1自体が音声キーワード検出機能を有する場合と同様に、キーワードを取得することができる。また、クライアント1が音声取得部31を有し、その出力である音声特徴量のみをサーバ2に送信し、その後の処理をサーバ2で実施するような形態も可能である。
なお、上記のプログラムは、コンピュータ装置に予めインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、個々の構成要素は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスク若しくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
以下、上記音声キーワード検出装置について、実施例を挙げて具体的に説明する。
(第1の実施例)
キーワード第2スコア算出部34の具体的な動作例として、入力音声から“beast”という単語(ワード)を検出する場合について、図6及び図7を参照して説明する。図6は、横軸(時間軸)にフレーム番号(frame)、縦軸に状態推移(state)を示している。図中点線は、全ての検出スコアのパスを示し、実線は逐次検出スコアPがP>0の検出スコアを持つパスを示し、一点鎖線は第2スコアの算出パスを示している。図7は、音声入力から第2スコアが算出され、単語が決定出力されるまでの処理の流れを示している。本実施形態では、音声入力があると(ステップS21)、フレーム毎に音声特徴量を生成し(特徴変換)(ステップS22)、逐次検出スコア算出処理によりフレーム毎にフレームスコアを算出して(ステップS23)、図6に示す始端のフレームスコアをスコアバッファ37に一次保存する(ステップS24)。次に、始端、終端の単語検出判定を行い(ステップS25)、始端、終端の時間情報とフレームスコアを基に第2スコアを算出し(ステップS26)、その第2スコアの結果に基づいて検出した単語を出力する(ステップS27)。このように始端、終端の定まっている系列スコアは高速に計算可能である。本実施形態において、第1スコアの算出パスと第2スコアの算出パスが同じであるが、逐次検出スコア算出時に、パスの長さや逐次検出スコアにしきい値を設けてパスの計算を打ち切るなどの近似計算を入れた場合では、第1スコアの算出パスと第2スコアの算出パスが異なってもよい。
(第2の実施例)
ところで、少計算量、メモリ、低遅延で動作する単語(ワード)の検出処理において、逐次検出スコア計算による単語検出は、計算量、メモリ量が少なく、低遅延で動作する。しかしながら、この検出方法では、近似スコア、または、検出に特化したスコアを用いるため、別の検出対象の単語とスコアを比較することが困難であり、類似した単語を全て検出してしまう(例えば構造、構想など)。このようなスコア比較行うための正確なスコア計算には計算量、メモリ量が増大する。そこで、本実施形態では、図7に示した第1の実施形態の処理に加え、図8に示すように、第2スコアの算出結果について、単語毎に第2スコアを比較するステップS28を追加することで類似した単語の誤検出を低下させる。
図9は、上記比較処理の第1の例を示している。この例では、一つのワードが検出された後に、予め定められた時間閾値内に別のワードが検出された場合を想定する。具体的には、検出対象を“beast”と“boost”とし、逐次検出スコアによって得られた区間1に対するbeastの第2スコアと逐次検出スコアによって得られた区間2(区間1より閾値Tだけ長い)に対するboostの第2スコアとを比較する。ここでは、区間1の第2スコアの方が区間2の第2スコアより大きい。スコアが大きい方がその単語らしいと判断する。これにより、beastを正しい検出結果として出力することができる。この場合、時間閾値の調整をユーザの画面操作に従って実行する調整機能を備えることが望ましい。
図10は、上記比較処理の第2の例を示している。この例では、一つのワードが検出された後に、検出されたワードに類似する別のワード候補を考慮する必要がある場合を想定する。具体的には、検出対象を“beast”とするとき、類似する単語候補として“boost”が登録されている場合、区間1に対してbeast、boostそれぞれの第2スコアを算出し、beastの第2スコアとboosの第2スコアとを比較する。ここでは、boostの第2スコアの方がbeastの第2スコアより大きい。スコアが大きい方がその単語らしいと判断する。これにより、boostを正しい検出結果として出力することができる。この場合、検出ワード候補に対する第2のスコアを算出するかどうかをユーザの画面操作に従って実行する選択機能を備えることが望ましい。
図11は、上記比較処理の第3の例を示している。この実施例では、第1の実施例、第2の実施例それぞれの処理を組み合わせ、検出対象を“beast”と“boost”とし、区間1に対するbeast、boostそれぞれの第2スコアを算出し、区間2(区間1より閾値Tだけ長い)に対するbeast、boostそれぞれの第2スコアを算出し、算出した第2スコアの中で最も大きいスコアを持つ検出対象を正しい検出結果として出力する。これにより、極めて高い精度で正しい単語を検出することができる。
上記第2スコアの計算、比較を簡略化するため、ユーザが指定した単語のみ第2スコアを計算、比較するようにする、ユーザが指定した単語のペア(例えばTurn on/Turn off)のみそれぞれの検出区間に対してそれぞれの第2スコアを計算、比較する、指定する文字や音素の距離の近さから自動で判別する(例えばHello、Good-byは比較的距離が遠いので、第2スコアを計算する必要はなし)といった手法が考えられる。このように、第2スコアの計算及び比較を簡略化することで、処理時間を飛躍的に短縮することが可能となる。
(第3の実施例)
実施形態の説明では、第2スコアを計算する区間を検出始終端区間(tms,t)としたが、始端または終端にマージンdフレームを加えた上で区間を広げての中で第2スコアを求めても良い。終端時間にマージンdを設ける場合にはマージンdフレーム分処理を待つ必要がある。また、時間に対して前向きにビタビアルゴリズムを適用するとき、始端が固定され、終端が異なる区間に対しては、アルゴリズムの特性により、追加フレーム毎に逐次最大累積スコアが算出可能である。このため、マージンdフレーム内で最も第2スコアが高くなるものをそのキーワードの第2スコアとしても良い。始端の変化に関しても、終端を固定して時間方向に対して後ろ向きにビタビアルゴリズムを行えば、同様のことは可能である。また、始端終端の変化の組み合わせで最大のスコアを第2スコアとして用いても良い。
より具体的にはキーワード第2スコア算出部34の具体的な動作例として、入力音声から“beast”という単語(ワード)を検出する場合について、図12を参照して説明する。第3実施例の差は、マージンフレーム(tms,t+d)、を加えたところであり、処理の流れは図7と同様であるため省略する。図12は、横軸(時間軸)にフレーム番号(frame)、縦軸に状態推移(state)を示している。図中の逐次検出スコアは前実施例で説明した第1スコア(平均局所スコア)に相当する。第1スコアに対する検出閾値は0として説明を行う。図中点線は、全ての検出スコアのパスを示し、実線は逐次検出スコアPがマージン1の場合の最大検出スコアをもつパスを示し、一点鎖線は第2スコアの算出パスを示している。図12は終端時間にマージン1を付け加えた場合の例であるが、検出スコアのパスと第2スコア算出パスが変わってもよい。
以上のように、本実施形態によれば、入力音声から素早く正確にキーワードを検出し出力することができ、音声キーワードを指示入力可能な機器の制御に効果的に利用することができる。
なお、上記の説明では、入力音声からキーワードを検出する場合について説明したが、キーワードでなくても、単にワード(単語)の検出にも利用可能である。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…サーバ、2…クライアント、3…ネットワーク、
10…音声キーワード検出装置、101…CPU、102…システムコントローラ、103…主メモリ、104…LCD、105…BIOS−ROM、106…不揮発性メモリ、107…マイクロホン、108…通信デバイス、109…キーボード、110…ポインティングデバイス、111…エンベデッドコントローラ(EC)、
201…オペレーティングシステム(OS)、202…音声キーワード検出プログラム、
31…音声取得部、32…キーワード第1スコア算出部、33…キーワード第1検出部、34…キーワード第2スコア算出部、35…キーワード第2検出部、36…キーワードモデル格納部、37…スコアバッファ。

Claims (10)

  1. 複数のフレームを含む音声データを取得して音声特徴量を生成する音声取得部と、
    ターゲットとなるワードに対応付けられた前記音声特徴量に基づく参照モデルを前記音声データの複数のフレームそれぞれとマッチングすることによってフレームスコアを算出し、そのフレームスコアから前記ワードの第1スコアを算出する第1算出部と、
    前記ワードのフレームスコアを保持する保持部と、
    前記第1スコアに基づいて前記音声データから前記ワードを検出し、検出したワードの始端、終端の時間情報を出力する検出部と、
    前記検出したワードの始端、終端の時間情報と前記保持部に保持されているフレームスコアに基づいて、前記ワードに対する第2スコアを算出する第2算出部と、
    前記第2スコアの値を用いて複数のワードに対する第2スコアまたは予め決められた閾値スコアまたはその両方と比較し、その比較結果に基づいて出力対象とするワードを決定する出力部と
    を具備するワード検出システム。
  2. 前記参照モデルは、前記音声特徴量として生成される音素、または音韻、または発音表記、または表記文字のいずれかに基づく請求項1記載のワード検出システム。
  3. 前記出力部は、さらに、前記第2スコアの算出結果から、複数のワードについてそれぞれの第2スコアを比較して、その比較結果に基づいて出力ワードを決定する請求項1記載のワード検出システム。
  4. 前記出力部は、一つのワードが検出された後に、予め定められた時間閾値内に別のワードが検出された場合に、前記第2スコアを比較し、その比較結果に基づいて出力するワードを決定する請求項3記載のワード検出システム。
  5. 前記出力部は、一つのワードが検出された後に、そのワードの始端、終端の時間情報を用いて検出されたワードとは別の検出ワード候補の第2スコアと比較し、その比較結果に基づいて出力するワードを決定する請求項3記載のワード検出システム。
  6. さらに、前記時間閾値の調整をユーザの画面操作に従って実行する調整手段を備える請求項4記載のワード検出システム。
  7. さらに、前記検出ワード候補に対する第2のスコアを算出するかどうかをユーザの画面操作に従って実行する選択手段を備える請求項5記載のワード検出システム。
  8. 前記出力部は、前記検出ワード候補に対して第2のスコアを算出するかどうかをワード間の距離に基づいて決定する請求項5記載のワード検出システム。
  9. 複数のフレームを含む音声データを取得して音声特徴量を生成し、
    ターゲットとなるワードに対応付けられた前記音声特徴量に基づく参照モデルを前記音声データの複数のフレームそれぞれとマッチングすることによってフレームスコアを算出し、そのフレームスコアから前記ワードの第1スコアを算出し、
    前記ワードのフレームスコアを保持し、
    前記第1スコアに基づいて前記音声データから前記ワードを検出し、検出したワードの始端、終端の時間情報を出力し、
    前記検出したワードの始端、終端の時間情報と前記保持されているフレームスコアに基づいて、前記ワードに対する第2スコアを算出し、
    前記第2スコアの値を用いて複数のワードに対する第2スコアまたは予め決められた閾値スコアまたはその両方と比較し、その比較結果に基づいて出力対象とするワードを決定する
    ワード検出方法。
  10. ユーザが発話する音声からワードを検出する処理をコンピュータに実行させるためのワード検出プログラムであって、
    複数のフレームを含む音声データを取得して音声特徴量を生成する音声取得ステップと、
    ターゲットとなるワードに対応付けられた前記音声特徴量に基づく参照モデルを前記音声データの複数のフレームそれぞれとマッチングすることによってフレームスコアを算出し、そのフレームスコアから前記ワードの第1スコアを算出する第1算出ステップと、
    前記ワードのフレームスコアを保持する保持ステップと、
    前記第1スコアに基づいて前記音声データから前記ワードを検出し、検出したワードの始端、終端の時間情報を出力する検出ステップと、
    前記検出したワードの始端、終端の時間情報と前記保持されているフレームスコアに基づいて、前記ワードに対する第2スコアを算出する第2算出ステップと、
    前記第2スコアの値を用いて複数のワードに対する第2スコアまたは予め決められた閾値スコアまたはその両方と比較し、その比較結果に基づいて出力対象とするワードを決定する出力ステップと
    を具備するワード検出プログラム。
JP2018170090A 2018-02-23 2018-09-11 ワード検出システム、ワード検出方法及びワード検出プログラム Active JP6852029B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/130,538 US10964311B2 (en) 2018-02-23 2018-09-13 Word detection system, word detection method, and storage medium
CN201811068253.7A CN110189750B (zh) 2018-02-23 2018-09-13 词语检测系统、词语检测方法以及记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018031225 2018-02-23
JP2018031225 2018-02-23

Publications (2)

Publication Number Publication Date
JP2019144524A true JP2019144524A (ja) 2019-08-29
JP6852029B2 JP6852029B2 (ja) 2021-03-31

Family

ID=67772278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018170090A Active JP6852029B2 (ja) 2018-02-23 2018-09-11 ワード検出システム、ワード検出方法及びワード検出プログラム

Country Status (1)

Country Link
JP (1) JP6852029B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111292766A (zh) * 2020-02-07 2020-06-16 北京字节跳动网络技术有限公司 用于生成语音样本的方法、装置、电子设备和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111292766A (zh) * 2020-02-07 2020-06-16 北京字节跳动网络技术有限公司 用于生成语音样本的方法、装置、电子设备和介质
CN111292766B (zh) * 2020-02-07 2023-08-08 抖音视界有限公司 用于生成语音样本的方法、装置、电子设备和介质

Also Published As

Publication number Publication date
JP6852029B2 (ja) 2021-03-31

Similar Documents

Publication Publication Date Title
JP5218052B2 (ja) 言語モデル生成システム、言語モデル生成方法および言語モデル生成用プログラム
CN109155132B (zh) 说话者验证方法和系统
US10923111B1 (en) Speech detection and speech recognition
US9484030B1 (en) Audio triggered commands
JP6585112B2 (ja) 音声キーワード検出装置および音声キーワード検出方法
JP6574169B2 (ja) 多方向の復号をする音声認識
JP6550068B2 (ja) 音声認識における発音予測
US20210312914A1 (en) Speech recognition using dialog history
JP6812843B2 (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
JP5172021B2 (ja) 自動音声認識音響モデルの適合
KR100845428B1 (ko) 휴대용 단말기의 음성 인식 시스템
KR101153078B1 (ko) 음성 분류 및 음성 인식을 위한 은닉 조건부 랜덤 필드모델
CN110706714B (zh) 说话者模型制作系统
CN114097026A (zh) 语音识别的上下文偏置
US20160118039A1 (en) Sound sample verification for generating sound detection model
JP2010020102A (ja) 音声認識装置、音声認識方法及びコンピュータプログラム
JP6699748B2 (ja) 対話装置、対話方法及び対話用コンピュータプログラム
JP5753769B2 (ja) 音声データ検索システムおよびそのためのプログラム
CN112750445B (zh) 语音转换方法、装置和系统及存储介质
US11823669B2 (en) Information processing apparatus and information processing method
JP4791857B2 (ja) 発話区間検出装置及び発話区間検出プログラム
CN110189750B (zh) 词语检测系统、词语检测方法以及记录介质
JP6852029B2 (ja) ワード検出システム、ワード検出方法及びワード検出プログラム
JP2008026721A (ja) 音声認識装置、音声認識方法、および音声認識用プログラム
JP2017211513A (ja) 音声認識装置、その方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210310

R151 Written notification of patent or utility model registration

Ref document number: 6852029

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151