JP6585112B2 - 音声キーワード検出装置および音声キーワード検出方法 - Google Patents

音声キーワード検出装置および音声キーワード検出方法 Download PDF

Info

Publication number
JP6585112B2
JP6585112B2 JP2017053324A JP2017053324A JP6585112B2 JP 6585112 B2 JP6585112 B2 JP 6585112B2 JP 2017053324 A JP2017053324 A JP 2017053324A JP 2017053324 A JP2017053324 A JP 2017053324A JP 6585112 B2 JP6585112 B2 JP 6585112B2
Authority
JP
Japan
Prior art keywords
keyword
sub
score
frames
keywords
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.)
Active
Application number
JP2017053324A
Other languages
English (en)
Other versions
JP2018155957A (ja
Inventor
浩司 藤村
浩司 藤村
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 JP2017053324A priority Critical patent/JP6585112B2/ja
Priority to US15/691,159 priority patent/US10553206B2/en
Priority to CN201710766822.4A priority patent/CN108630200B/zh
Publication of JP2018155957A publication Critical patent/JP2018155957A/ja
Application granted granted Critical
Publication of JP6585112B2 publication Critical patent/JP6585112B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/027Syllables being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

本発明の実施形態は、音声からキーワードを検出する音声キーワード検出装置、および該装置に適用される音声キーワード検出方法に関する。
近年、音声に含まれるキーワードの音声を検出し、そのキーワードに応じて特定の動作を開始する機能を有する様々な電子機器が増加している。ユーザは、キーワードを発声するだけで、複雑な操作を行うことなく、電子機器に所望の動作を行わせることができる。
米国特許出願公開第2014/0337031号明細書 米国特許出願公開第2016/0275405号明細書
本発明が解決しようとする課題は、音声から素早く正確にキーワードを検出できる音声キーワード検出装置、音声キーワード検出方法、およびプログラムを提供することである。
実施形態によれば、音声キーワード検出装置は、音声取得手段と、キーワードスコア算出手段と、キーワード検出手段と、受理決定手段と、キーワード出力手段とを具備する。音声取得手段は、複数のフレームを含む音声データを取得する。キーワードスコア算出手段は、第1キーワードを構成する第1サブキーワードと前記第1サブキーワードに後続する第2サブキーワードとにそれぞれ関連付けられた音素、音韻、発音表記、モーラ、または表記と、前記音声データの各フレームとをマッチングすることによって、前記第1サブキーワードに対する第1スコアと前記第2サブキーワードに対する第2スコアとを算出する。キーワード検出手段は、前記第1スコアに基づいて前記音声データから前記第1サブキーワードを検出し、前記第2スコアに基づいて前記音声データから前記第2サブキーワードを検出する。受理決定手段は、前記複数のフレームの内の一つ以上の第1フレームから前記第1サブキーワードが検出されたとき、前記第1サブキーワードを受理することを決定し、前記複数のフレームの内の一つ以上の第2フレームから前記第2サブキーワードが検出されたとき、前記一つ以上の第1フレームの始端時間と終端時間の少なくとも一方と、前記一つ以上の第2フレームの始端時間と終端時間の少なくとも一方とに基づいて、前記第2サブキーワードを受理するか否かを決定する。キーワード出力手段は、前記第2サブキーワードを受理することが決定された場合、前記第1キーワードを出力する。
第1の実施形態に係る音声キーワード検出装置を備える音声キーワード検出システムの構成の例を示すブロック図。 同実施形態の音声キーワード検出装置のシステム構成を示すブロック図。 同実施形態の音声キーワード検出装置によって実行される音声キーワード検出プログラムの機能構成を示すブロック図。 同実施形態の音声キーワード検出装置によって実行される音声キーワード検出処理の手順の例を示すフローチャート。 同実施形態の音声キーワード検出装置によって用いられるキーワード/サブキーワードモデルを説明するための図。 同実施形態の音声キーワード検出装置が音声から一つのキーワードの音声を検出する動作の例を説明するための図。 同実施形態の音声キーワード検出装置によって用いられるキーワード/サブキーワードデータの一構成例を示す図。 同実施形態の音声キーワード検出装置によって用いられる複合キーワードデータの一構成例を示す図。 同実施形態の音声キーワード検出装置によって用いられる時間差分閾値データの一構成例を示す図。 同実施形態の音声キーワード検出装置によって用いられるスコアデータの一構成例を示す図。 第2の実施形態に係る音声キーワード検出装置によって実行される音声キーワード検出プログラムの機能構成を示すブロック図。 同実施形態の音声キーワード検出装置によって表示される閾値調整画面の例を示す図。 同実施形態の音声キーワード検出装置によって表示される時間差分閾値調整画面の例を示す図。 同実施形態の音声キーワード検出装置によって実行される閾値調整処理の手順の例を示すフローチャート。 第3の実施形態に係る音声キーワード検出装置によって実行される音声キーワード検出プログラムの機能構成を示すブロック図。 同実施形態の音声キーワード検出装置によって実行されるキーワードモデル構築処理の手順の例を示すフローチャート。 同実施形態のキーワード検出装置によって作成されるradix treeの例を説明するための図。
以下、実施の形態について図面を参照して説明する。
(第1の実施形態)
図1は、第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、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を電源オンまたは電源オフする機能を有している。
近年、音声波形からターゲットのキーワード音声を検出し、そのキーワードに応じた機器の動作を行うアプリケーションが増加している。キーワードを受け付けて動作する機器は常時音声を受け付け、そのキーワードが発声されるかどうかを検出するため、低電力・低計算量で動作するものが望まれる。また、ユーザが快適に機器を動作させるためには、キーワード受け付け後に、なるべく早く機器の動作を開始させる必要があり、低遅延の音声キーワード検出が望まれる。
ある機器で受理すべきキーワードが複数ある場合、音声波形に対して、ある時間の範囲内でどのキーワード候補を発声したスコアが高かったかを比較し、単語の識別を行う方法よりも、ある音声波形の時間範囲内にそれぞれのキーワード発声が所定の閾値スコアを超えて存在するかどうかの二値判別にしたほうが低計算量で遅延時間の少ないアルゴリズムが適用できる。しかし、後者の場合は、同じ発音列が多い二つのキーワードを区別することが困難になる。例えば、「コミュニケーション」と「コミュニケーター」というキーワードが設定されている場合では、「ター」と「ション」しか発音列に差がないため、「コミュニケー」までのスコアが高い場合、「コミュニケーション」と「コミュニケーター」どちらの発声に対しても両方のキーワードが検出されてしまう。
このように、それぞれの音声キーワードに対して検出する/しないの二値判別を行う音声キーワード検出手法では、二つ以上のキーワード間で同じ発音列が多く含まれる場合、その同じ発音列を含むキーワードが全て検出されてしまうという課題があった。
そのため本実施形態では、キーワードを分割することによって得られた各サブキーワードを音声から検出した後、サブキーワードが検出された始端時間と終端時間の少なくとも一方に基づいて、複数のサブキーワードで構成されるキーワード(以下、複合キーワードとも称する)を受理するかどうかを決定する。これにより、音声から素早く正確にキーワードを検出することができる。
図3は、音声キーワード検出装置10によって実行される音声キーワード検出プログラム202の機能構成を示すブロック図である。音声キーワード検出プログラム202は、音声取得部31、キーワードスコア算出部32、キーワード検出部33、サブキーワード受理決定部34、および複合キーワード検出部35を備える。音声キーワード検出プログラム202の各部は、キーワードモデル格納部36に格納された様々なデータを読み出すことができ、またキーワードモデル格納部36にデータを書き込むことができる。キーワードモデル格納部36には、例えば、不揮発性メモリ106の一部の領域が割り当てられている。
キーワードモデル格納部36は、複数のキーワードに対応する複数のキーワードモデルを格納する。キーワードモデルは、対応するキーワードの音素、音韻、モーラ、発音表記、または表記に基づいて決定される。また、複数のキーワードモデルの内の一つ以上のキーワードモデルは、対応するキーワードの一部を表す二つ以上のサブキーワードに対応する二つ以上のサブキーワードモデルで構成される複合キーワードモデルである。サブキーワードモデルも、対応するサブキーワードの音素、音韻、モーラ、発音表記、または表記に基づいて決定され、キーワードモデル格納部36に格納される。また、複合キーワードモデルは、キーワードを構成するサブキーワード間の発声順の前後関係を示す情報も含んでいる。
音声取得部31は、複数のフレームを含む音声データを取得する。音声取得部31は、例えば、音声波形を受け付け、デジタル化し、フレーム毎の音声特徴量を出力する。
キーワードスコア算出部32は、キーワードモデル格納部36にあるキーワードモデルおよびサブキーワードモデル(以下、キーワード/サブキーワードモデルとも称する)を用いて音声特徴量に対するキーワードスコアを算出する。
キーワード検出部33は、キーワードスコアとあらかじめ定められた閾値スコアとに基づく判定によって、キーワードおよびサブキーワードの検出を行う。
サブキーワード受理決定部34は、キーワード検出部33によってサブキーワードが検出されたとき、サブキーワードの始端情報と終端情報の少なくとも一方に基づいて、そのサブキーワードを受理するかどうかを決定する。
複合キーワード検出部35は、サブキーワード受理決定部34で受理されたサブキーワードが複合キーワードを構成する最終のサブキーワードである場合、この複合キーワードを検出結果として出力する。
ここで、キーワードモデル格納部36に、
(1)第1サブキーワードと、この第1サブキーワードに後続する第2サブキーワードとで構成される第1キーワードのキーワードモデル(複合キーワードモデル)と、
(2)第2サブキーワードと、この第1サブキーワードに後続する第3サブキーワードとで構成される第2キーワードのキーワードモデル(複合キーワードモデル)と、
(3)第3キーワードのキーワードモデルと、
が格納される場合について例示する。
音声取得部31によって複数のフレームを含む音声データが取得されたとき、キーワードスコア算出部32は、例えば、第1キーワードを構成する第1サブキーワードと、この第1サブキーワードに後続する第2サブキーワードとにそれぞれ関連付けられた音素、音韻、発音表記、モーラ、または表記と、音声データの各フレームとをマッチングすることによって、第1サブキーワードに対する第1スコアと第2サブキーワードに対する第2スコアとを算出する。
次に、キーワード検出部33は、第1スコアに基づいて音声データから第1サブキーワードを検出し、第2スコアに基づいて音声データから第2サブキーワードを検出する。より具体的には、キーワード検出部33は、第1サブキーワードに対する第1スコアが第1閾値スコアよりも大きい場合、第1サブキーワードを検出し、第2サブキーワードに対する第2スコアが第2閾値スコアよりも大きい場合、第2サブキーワードを検出する。
サブキーワード受理決定部34は、例えば、音声データに含まれる複数のフレームの内の一つ以上の第1フレームから第1サブキーワードが検出されたとき、第1サブキーワードを受理することを決定する。そして、サブキーワード受理決定部34は、複数のフレームの内の一つ以上の第2フレームから第2サブキーワードが検出されたとき、一つ以上の第1フレームの始端時間と終端時間の少なくとも一方と、一つ以上の第2フレームの始端時間と終端時間の少なくとも一方とに基づいて、第2サブキーワードを受理するか否かを決定する。サブキーワード受理決定部34は、例えば、一つ以上の第1フレームの終端時間と、一つ以上の第2フレームの始端時間との第1差分が第1時間差分閾値と第2時間差分閾値とで規定される範囲内である場合、第2サブキーワードを受理することを決定する。サブキーワード受理決定部34は、例えば、第1差分が第1時間差分閾値以上であり、且つ第2時間差分閾値未満である場合(但し、第1時間差分閾値<第2時間差分閾値)、第2サブキーワードを受理することを決定する。
そして、複合キーワード検出部35は、サブキーワード受理決定部34によって第2サブキーワードを受理することが決定された場合、この第2サブキーワードが第1キーワードを構成する最終のサブキーワードであるので、第1キーワードを出力する。
なお、キーワードスコア算出部32は、第2キーワードが第1サブキーワードと、この第1サブキーワードに後続する第3サブキーワードとで構成される場合、第3サブキーワードに関連付けられた音素、音韻、発音表記、モーラ、または表記と、音声データの各フレームとをマッチングすることによって、第3サブキーワードに対する第3スコアをさらに算出してもよい。
キーワード検出部33は、第3スコアに基づいて第3サブキーワードをさらに検出する。キーワード検出部33は、例えば、第1サブキーワードに対する第1スコアが第1閾値スコアよりも大きい場合、第1サブキーワードを検出し、第2サブキーワードに対する第2スコアが第2閾値スコア以下である場合、第2サブキーワードを検出せず、第3サブキーワードに対する第3スコアが第3閾値スコアよりも大きい場合、第3サブキーワードを検出する。
次いで、サブキーワード受理決定部34は、複数のフレームの内の一つ以上の第3フレームから第1サブキーワードが検出されたとき、第1サブキーワードを受理することを決定する。そして、サブキーワード受理決定部34は、複数のフレームの内の一つ以上の第4フレームから第3サブキーワードが検出されたとき、一つ以上の第3フレームの始端時間と終端時間の少なくとも一方と、一つ以上の第4フレームの始端時間と終端時間の少なくとも一方とに基づいて、第3サブキーワードを受理するか否かを決定する。サブキーワード受理決定部34は、例えば、一つ以上の第3フレームの終端時間と、一つ以上の第4フレームの始端時間との第2差分が第3時間差分閾値と第4時間差分閾値とで規定される範囲内である場合、第3サブキーワードを受理することを決定する。サブキーワード受理決定部34は、例えば、第2差分が第3時間差分閾値以上であり、且つ第4時間差分閾値未満である場合(但し、第3時間差分閾値<第4時間差分閾値)、第3サブキーワードを受理することを決定する。
そして、複合キーワード検出部35は、第3サブキーワードを受理することが決定された場合、第2キーワードを出力する。
また、キーワードスコア算出部32は、第3キーワードに関連付けられた音素、音韻、発音表記、モーラ、または表記と、音声データの各フレームとをマッチングすることによって、第3キーワードに対するスコアを算出してもよい。
その場合、キーワード検出部33は、第3キーワードに対するスコアに基づいて第3キーワードを検出し、検出された第3キーワードを出力する。キーワード検出部33は、例えば、第3キーワードに対するスコアが閾値スコアよりも大きい場合に、第3キーワードを検出し、出力する。
次いで、図4のフローチャートを参照して、音声キーワード検出装置10によって実行される音声キーワード検出処理の手順の例を説明する。この音声キーワード検出処理は、例えば、CPU101によって音声キーワード検出プログラム202に含まれる命令群が実行されることによって実現される。
音声取得部31は、音声波形を受け付け、デジタル化し、音声特徴量を生成する(ステップS11)。音声波形は、マイクロホン107等を用いて収録されたものである。音声取得部31は、音声波形をアナログからデジタルに変換し、これにより得られたデジタルの音声データを用いて特徴ベクトルを生成する。音声波形のアナログからデジタルへの変換には、一般的なAD変換を用いて、アナログ波からデジタル波に変換を行う。音声取得部31は、この変換において、例えば、アナログ波を16kHzでサンプリングし、デジタル波の1サンプルの振幅値を16ビットで表す。音声取得部31は、このデジタル波を一定の時間毎に切り出す。
ここでは、音声取得部31が、デジタル波を256点サンプルずつ、128点サンプルずらしながら切り出しを行う場合について例示する。この256点サンプルを1フレームとする。これにより、音声取得部31は、複数のフレームを含む音声データを取得する。
音声取得部31は、この256点サンプルからMel Frequency Cepstral Coefficient(MFCC)特徴量12次元を算出する。そして、音声取得部31は、このMFCC特徴量を3フレーム分だけバッファリングし、3フレーム分のMFCC特徴量を連結した36次元を、これら3フレームの内の中央フレームの時刻の特徴量として出力する。抽出される特徴量はMFCCに限定されるものではなく、例えば、メルフィルタバンク特徴量やPerceptual Linear Prediction(PLP)、RSTA−PLP特徴量、またはピッチ特徴量、あるいはそれらのΔ成分、またはΔΔ成分を用いても良い。または、これら特徴量の組み合わせを用いても良い。また、連結フレーム数は3に限定されるものではなく、1フレーム以上であれば、何フレーム連結させても良い。さらに、切り出しサンプルサイズやフレーム周期は上記した値に限定されるものではない。
キーワードスコア算出部32は、キーワードモデル格納部36にあるキーワードモデルおよびサブキーワードモデル(キーワード/サブキーワードモデル)を用いて音声特徴量に対するキーワード/サブキーワードスコア(以下、単にスコアとも称する)を算出する(ステップS12)。キーワードスコア算出部32は、音声取得部31によって生成された音声特徴量を受け取り、キーワード/サブキーワードモデルを用いてキーワード/サブキーワードスコアを算出する。
以下では、検出対象のキーワードが“コミュニケーション”、“コミュニケーター”、“ハロー”の三つである場合の具体的な例について説明する。これらキーワードに対して、キーワードモデルを用いて、フレーム毎に切り出された音声特徴ベクトル列に対して累積スコアを算出する方法は多く存在するが、ここではleft−to−right型の隠れマルコフモデル(Hidden Markov Model:HMM)とビタビアルゴリズムとを用いる方法で例示する。
図5に示すように、“コミュニケー”、“ション”、“ター”、“ハロー”のキーワードまたはサブキーワードをそれぞれ、w,w,w,wとし、複合キーワード“コミュニケーション”、“コミュニケーター”をそれぞれサブキーワードの連結で表し、
=(w,w), W=(w,w
とする。まず、キーワード/サブキーワードモデルとして、w (n=1,2,3,4)のモデルがそれぞれ用意される。キーワード/サブキーワードモデルはleft−to−right型の音素HMMで表される。音素HMMはw,w,w,wをそれぞれ表す音素列“k a my u n i k e i”、“sy o n”、“t a a”、“h e l o u”の音素を1状態とし、HMMのパラメータとして、音素間の遷移確率はどの遷移間の確率も同確率とし、出力確率はフレーム毎の音素の出現確率(音響スコア)で表す。本実施形態では、フレーム毎の音響スコアを計算するモデルは複数のキーワードに対して共通のフィードフォワード型のニューラルネットワークとし、累積スコアはビタビアルゴリズムを用いて計算する方法を用いる。
音響スコアを算出するためのニューラルネットワークの出力層はw,w,w,wをそれぞれ表す音素“k a my u n i k e i”、“sy o n”、“t a a”、“h e l o u”から重複するものを除き、無音区間に対する音素“sil”を加え、13個の出力ユニットから構成される。入力層は前記算出した音声特徴量に相当する36個の入力ユニットから構成される。ここでは中間層は256ユニットを持つ層を3つ重ねたものとする。ニューラルネットワークは無音声区間を含む“コミュニケーション”、“コミュニケーター”、“ハロー”の3単語の読み上げ音声を使って、バックプロパゲーションを用いて学習する。
このように、キーワードに対する音素HMMを用意し、wに対する音素HMMが音声取り込み開始からのフレーム数tにおいて終端に達するパスの中での最大累積音響スコアSとそのスコアを持つパスの特定はビタビアルゴリズムを用いて簡単に計算できる。このときのwnに対する最大累積音響スコアSを持つパスの音素HMMの始端フレームをtnsとする。このような方法には、例えば、上記特許文献2に記載された方法を適用することができる。
キーワードスコア算出部32は、tを時間方向にインクリメントしながらスコア計算を行う。このとき何フレームずつかスコア計算をスキップし計算量を削減することもできる。最大累積音響スコアSは、例えば、対数尤度の時系列の和であり、この和を特定の範囲(例えば、1から100までの範囲、または0から100までの範囲)に正規化した値として用いてもよい。キーワードスコア算出部32は、例えば、あるキーワードまたはサブキーワードの最大累積音響スコアSを、当該キーワードまたはサブキーワードのキーワード/サブキーワードスコアとして用いる。
なお、キーワード/サブキーワードモデルは、音素単位でのモデル化に限定されるものではなく、音韻、モーラ、発音表記、または表記文字の単位でモデル化することもできる。また、累積スコアの算出方法は、HMMとビタビアルゴリズムを用いたものに限定されるものではなく、リカレント構造をもったニューラルネットワーク、例えば、Long short−term memory(LSTM)とConnectionist Temporal Classificationを組み合わせたもので算出する方法や、Attention Modelを用いて算出する方法も適用できる。また、フレーム単位の音響スコア計算に対しては、フィードフォワード型のニューラルネットワークに限定されることはなく、リカレント構造のニューラルネットワーク、例えばLSTMなども適用できる。さらに、Gaussian Mixture Modelでも同様にフレーム単位の音響スコアを求めることもできる。
キーワード検出部33は、キーワード/サブキーワードスコアと設定された閾値スコアとを比較することによって、閾値スコアを超えたスコアを有するキーワードまたはサブキーワードがあるか否かを判定する(ステップS13)。キーワード検出部33は、wに対してあらかじめ用意された累積音響スコアに対する閾値スコアthと最大累積音響スコアSとを比較する。(n=1,2,3,4)に対して、
th<S
を満たすnが一つ見つかった場合、そのnの値をmに代入する。そのキーワードの始端時間をtmsとすると、始終端区間(tms,t)のキーワードwが検出されることとなる。閾値スコアthは、キーワードおよびサブキーワードが含まれる開発音声データセットを使って、適合率および再現率の調和平均であるF値が最大となる値を全キーワードに対して一つ設定する。この場合、閾値スコアthの値を高くすれば、キーワードおよびサブキーワードは検出されにくくなり、閾値スコアthの値を低くすれば、キーワードおよびサブキーワードは検出されやすくなる。また、例えば、最大累積音響スコアSが特定の範囲に正規化された値である場合には、閾値スコアthもこの特定の範囲のいずれかの値に設定されるようにしてもよい。
キーワード検出部33は、wが検出された場合、その検出区間を音声取り込み開始から数えて何番目に検出された区間であるかをカウントする。図6に示すように、キーワード検出部33は、現在の処理フレームtで検出された区間カウントi(i=1,2,3,……)を用い、始端時間ts(i)および終端時間te(i)(但し、ts(i)<te(i))を、i番目にキーワードまたはサブキーワードを検出した区間の始端および終端のフレームカウント(フレーム番号)とする。そして、キーワード検出部33は、始終端区間(ts(i),te(i))と、検出されたキーワードまたはサブキーワードwとをひもづけて、所定の記憶領域(例えば、主メモリ103または不揮発性メモリ106のワークエリア)に記憶しておく。なお、検出方法はここで述べられているものに限定されるものではなく、例えば、区間の長さによる累積スコアのばらつきを抑えるために、上記特許文献2のような方法で、平均局所スコアが閾値スコアを超えるかどうかのような検出を行っても良い。
閾値を超えたキーワードまたはサブキーワードがない場合(ステップS13のNO)、ステップS11の手順に戻り、後続する音声データからキーワードまたはサブキーワードを検出するための処理が続行される。
一方、閾値を超えたキーワードまたはサブキーワードがあった場合、すなわち、キーワードまたはサブキーワードが検出された場合(ステップS13のYES)、キーワード検出部33は、検出されたキーワードが、複合キーワードを構成する先頭のサブキーワードと、複合キーワードを構成する2番目以降のサブキーワードと、通常のキーワード(すなわち、複数のサブキーワードに分割されないキーワード)のいずれであるかを判定する(ステップS14)。
検出されたキーワードが、複合キーワードを構成する先頭のサブキーワードである場合(ステップS14の“先頭のサブキーワード”)、ステップS11の手順に戻る。図6の例では、検出されたサブキーワード74(“コミュニケー”)がこの先頭のサブキーワードに相当する。
検出されたキーワードがサブキーワードではない通常のキーワードである場合(ステップS14の“通常のキーワード”)、キーワード検出部33は、そのキーワードが検出されたことを出力する(ステップS15)。
検出されたキーワードが、複合キーワードを構成する2番目以降のサブキーワードである場合(ステップS14の“2番目以降のサブキーワード”)、ステップS16の手順に進む。図6の例では、検出されたサブキーワード71,73,75(“ション”)とサブキーワード72(“ター”)がこの2番目以降のサブキーワードに相当する。
このように、本実施形態では、検出されたキーワード/サブキーワードがw1“コミュニケー”の場合に、複合キーワードの先頭のサブキーワードであると判定される。また、検出されたキーワード/サブキーワードが、w“ション”またはw“ター”の場合に、複合キーワードの2番目以降のサブキーワードであると判定される。さらに、検出されたキーワード/サブキーワードがw“ハロー”である場合に、通常のキーワードであると判定される。
検出されたキーワードが、複合キーワードを構成する2番目以降のサブキーワードである場合(ステップS14の“2番目以降のサブキーワード”)、サブキーワード受理決定部34は、検出されたサブキーワードの始端時間と終端時間の少なくとも一方に基づいて、サブキーワードを受理するかどうかを決定する(ステップS16)。ここでは、複合キーワードを構成するサブキーワードw“ション”またはw“ター”がステップS14で検出された場合について例示する。
サブキーワード受理決定部34は、w“ション”またはw“ター”が検出された際に、例えば、k番目の区間(0≦k<i)で複合キーワードを構成する前のサブキーワードw“コミュニケー”が検出されている場合に、w“ション”またはw“ター”に対して受理判定を行う。
サブキーワード受理決定部34は、図6に示すように、(ts(k),te(k))にひもづいた単語がw“コミュニケー”であることを満たすkで最大値のものをK(図6の例では、K=i−1)とし、K番目の区間の始端時間(ts(K),te(K))と、i番目の区間の終端時間(ts(i),te(i))とを用いて比較を行う。複合キーワードW(l=1,2)に対しては、時間差分閾値である受理最小値Tmin lおよび受理最大値Tmax l(但し、Tmin l<Tmax l)があらかじめ設定されている。サブキーワード受理決定部34は、以下の式を満たす場合に、i番目に検出されたサブキーワードを受理する。
min l<ts(i)−te(K)<Tmax l
なお、受理最小値Tmin lおよびTmax lは負の値も取り得る。時間差分閾値である受理最小値Tmin lおよび受理最大値Tmax lも、閾値スコアthと同じように、キーワードおよびサブキーワードが含まれる開発音声データセットを使って、例えば、適合率および再現率の調和平均であるF値が最大となる値を全キーワードに対して一つ設定する。
検出されたサブキーワードが受理されなかった場合(ステップS16のNo)、ステップS11の手順に戻る。図6の例には、検出されたサブキーワード71,72,73が受理されなかったこと(Reject)が示されている。
検出されたサブキーワードが受理された場合(ステップS16のYes)、複合キーワード検出部35は、受理されたサブキーワードが複合キーワードを構成する最終のサブキーワードであるかどうかを判定する(ステップS17)。受理されたサブキーワードが複合キーワードを構成する最終のサブキーワードでない場合(ステップS17のNo)、ステップS11の手順に戻る。
一方、受理されたサブキーワードが、複合キーワードを構成する最終のサブキーワードである場合(ステップS17のYes)、複合キーワード検出部35は、その複合キーワードが検出されたことを出力する(ステップS18)。図6に示した例のように、複合キーワード検出部35は、例えば、キーワードW“コミュニケーション”の先頭のサブキーワードであるw“コミュニケー”が検出された後に、最終のサブキーワードであるw“ション”がステップS16で受理されている場合には、キーワードW“コミュニケーション”を出力する。また、複合キーワード検出部35は、例えば、キーワードW“コミュニケーター”の先頭のサブキーワードであるw“コミュニケー”が検出された後に、最終のサブキーワードであるw“ター”がステップS16で受理されている場合には、キーワードW“コミュニケーター”を出力する。
以上により、複合キーワードを含むキーワードを検出することができる。
次いで、図7から図10を参照して、キーワードモデル格納部36に格納されるデータの例について説明する。このデータは、音声キーワード検出プログラム202内の各部によって読み出され、また更新され得るものである。
図7は、キーワード/サブキーワードデータの一構成例を示す。キーワード/サブキーワードデータは、複数のキーワードまたはサブキーワードに対応する複数のレコードを含む。各レコードは、例えば、ID、音素、および閾値スコアを含む。各レコードは、音素の代わりに、あるいは音素に加えて、音韻、モーラ、発音表記、および表記の少なくともいずれかを含んでいてもよい。
あるキーワードまたはサブキーワードに対応するレコードにおいて、「ID」は、そのキーワードまたはサブキーワードに付与された識別情報を示す。「音素」は、そのキーワードまたはサブキーワードに対応する音素を示す。「閾値スコア」は、そのキーワードまたはサブキーワードとして検出されるためのスコアの閾値を示す。
このキーワード/サブキーワードデータは、例えば、キーワードスコア算出部32によるキーワード/サブキーワードスコアの算出と、キーワード検出部33によるキーワードおよびサブキーワードの検出に用いられる。
図8は、複合キーワードデータの一構成例を示す。複合キーワードデータは、複数の複合キーワードに対応する複数のレコードを含む。各レコードは、例えば、IDとサブキーワード列とを含む。
ある複合キーワードに対応するレコードにおいて、「ID」は、その複合キーワードに付与された識別情報を示す。「サブキーワード列」は、その複合キーワードを構成する複数のサブキーワードに付与された複数のIDの順列を示す。この「サブキーワード列」には、例えば、図7のキーワード/サブキーワードデータに含まれる複数のIDの順列が示されている。
この複合キーワードデータとキーワード/サブキーワードデータを用いることによって、キーワード検出部33は、例えば、検出されたキーワード/サブキーワードが、複合キーワードの先頭のキーワードと、複合キーワードの二番目以降のサブキーワードと、通常のキーワードのいずれであるかを決定することができる。
図9は、時間差分閾値データの一構成例を示す。時間差分閾値データは、複数のサブキーワードの組に対応する複数のレコードを含む。各レコードは、例えば、サブキーワード列、受理最小値、および受理最大値を含む。
あるサブキーワードの組に対応するレコードにおいて、「サブキーワード列」は、そのサブキーワードの組を構成する二つのサブキーワードに付与された二つのIDの順列を示す。この「サブキーワード列」には、例えば、図7のサブキーワードデータに含まれる二つのIDの順列が示されている。
「受理最小値」は、音声データから検出された二つのサブキーワードを、そのサブキーワードの組として受理するためのサブキーワード間の最小の検出間隔を示す。「受理最大値」は、音声データから検出された二つのサブキーワードを、そのサブキーワードの組として受理するためのサブキーワード間の最大の検出間隔を示す。「受理最小値」および「受理最大値」で示される間隔は、例えば、フレーム数に基づく値であってもよいし、時間に基づく値であってもよい。
この時間差分閾値データを用いて、サブキーワード受理決定部34は、検出されたサブキーワードの組を受理するか否かを決定することができる。
図10は、スコアデータの一構成例を示す。スコアデータは、音声データからサブキーワードを検出するために、キーワードスコア算出部32およびキーワード検出部33によって生成される一時データである。スコアデータは、複数のサブキーワードに対応する複数のレコードを含む。各レコードは、例えば、ID、スコア、始端時間、および終端時間を含む。
あるサブキーワードに対応するレコードにおいて、「ID」は、そのサブキーワードに付与されたIDを示す。この「サブキーワード列」には、例えば、図7のサブキーワードデータに含まれるIDの一つが示されている。
「スコア」は、そのサブキーワードに関する尤度を示す。「始端時間」は、そのサブキーワードが検出された音声データ上の期間の始端の時間を示す。「終端時間」は、そのサブキーワードが検出された音声データ上の期間の終端の時間を示す。「始端時間」および「終端時間」で示される時間は、時刻であってもよいし、フレームカウントであってもよい。「スコア」で示される値は、音声データの内の、始端時間から終端時間までのデータが、そのサブキーワードに対応する尤もらしさを示す。
以上説明したように、本実施形態によれば、音声から素早く正確にキーワードを検出することができる。サブキーワード受理決定部34は、音声データの複数のフレームの内の一つ以上の第1フレームから第1サブキーワードが検出されたとき、第1サブキーワードを受理することを決定する。そして、サブキーワード受理決定部34は、複数のフレームの内の一つ以上の第2フレームから第2サブキーワードが検出されたとき、一つ以上の第1フレームの始端時間と終端時間の少なくとも一方と、一つ以上の第2フレームの始端時間と終端時間の少なくとも一方とに基づいて、第2サブキーワードを受理するか否かを決定する。複合キーワード検出部35は、第2サブキーワードを受理することが決定された場合、第1キーワードを出力する。これにより、例えば、二つ以上のキーワード間で同じ発音列が多く含まれる場合にも、それら二つ以上のキーワードの内の一つのキーワードを素早く正確に検出することができる。
なお、図1を参照して上述したように、サーバ2が音声キーワード検出機能を有していてもよい。その場合、クライアント1は、マイクロホンを用いて集音された音声に基づく音声データを、通信デバイス等を介してネットワーク3上のサーバ2に送信する。
サーバ2は、通信デバイスを介して、クライアント1から音声データを受信する。サーバ2は、上述した音声キーワード検出プログラム202を実行することによって、受信した音声データからキーワードを検出する。そして、サーバ2は、検出されたキーワードをクライアント1に送信する。
したがって、クライアント1は、音声キーワード検出機能を有するサーバ2に音声データを送信することによって、クライアント1自体が音声キーワード検出機能を有する場合と同様に、キーワードを取得することができる。また、クライアント1に音声取得部31を有し、その出力である音声特徴量のみをサーバ2に送信し、その後の処理をサーバ2で実施するような形態も可能である。
(第2の実施形態)
図11は、第2の実施形態に係る音声キーワード検出装置10上で実行される音声キーワード検出プログラム202の機能構成を示す。この音声キーワード検出装置10は、第1の実施形態において説明したシステム構成を有している。本実施形態の音声キーワード検出プログラム202は、音声取得部31、キーワードスコア算出部32、キーワード検出部33、サブキーワード受理決定部34、および複合キーワード検出部35に加えて、閾値スコア表示部41、閾値スコア調整部42、時間差分閾値表示部43、および時間差分閾値調整部44を備える。音声キーワード検出プログラム202の各部は、キーワードモデル格納部36に格納された様々なデータを読み出すことができ、またキーワードモデル格納部36にデータを書き込むことができる。音声取得部31、キーワードスコア算出部32、キーワード検出部33、サブキーワード受理決定部34、複合キーワード検出部35、およびキーワードモデル格納部36は、第1の実施形態と同様の構成を有する。以下では第1の実施形態との差分部分のみに焦点を絞り説明を行う。
閾値スコア表示部41は、キーワードモデル格納部36に格納されているキーワードおよびサブキーワードの各々の現在の閾値スコアをLCD104の画面に表示する。また、閾値スコア表示部41は、キーワードモデル格納部36に格納されているキーワードおよびサブキーワードの現在の閾値スコアを変更するためのユーザインターフェースをLCD104の画面に表示してもよい。このユーザインターフェースは、例えば、閾値スコアを書き換え可能なテキストエリア、閾値スコアを増加又は減少させるためのボタン、複数の値から任意の値を選択するためのプルダウンメニュー等を含む。閾値スコア表示部41は、キーボード109やポインティングデバイス110を用いたユーザによる操作に応じて、閾値スコアの変更を受け付ける。
閾値スコア調整部42は、表示されたユーザインターフェースを用いた操作に応じて、閾値スコアを変更する。閾値スコア調整部42は、例えば、閾値スコア表示部41から受け取った閾値スコアを、キーワード検出部33によって用いられる各キーワード/サブキーワードの閾値スコアに反映させる。閾値スコア調整部42は、閾値スコア表示部41から受け取ったあるキーワードまたはサブキーワードの閾値スコアで、キーワードモデル格納部36に格納されている、そのキーワードまたはサブキーワードの閾値スコアを書き換えるようにしてもよい。
例えば、閾値スコア表示部41は、第1サブキーワードを検出するために用いられる第1閾値スコアと、第2サブキーワードを検出するために用いられる第2閾値スコアの少なくとも一方を変更するためのユーザインターフェースを画面に表示する。閾値スコア調整部42は、このユーザインターフェースを用いた操作に応じて、第1閾値スコアと第2閾値スコアの少なくとも一方を変更する。
時間差分閾値表示部43は、キーワードモデル格納部36に格納されている複合キーワードを構成するサブキーワード間の現在の時間差分閾値をLCD104の画面に表示する。また、時間差分閾値表示部43は、キーワードモデル格納部36に格納されている複合キーワードを構成するサブキーワード間の現在の時間差分閾値を変更するためのユーザインターフェースをLCD104の画面に表示してもよい。この時間差分閾値は、例えば、サブキーワード間の時間差分が受理される範囲を示す時間差分の最小値と最大値とを含む。また、ユーザインターフェースは、例えば、時間差分閾値を書き換え可能なテキストエリア、時間差分閾値を増加又は減少させるためのボタン、複数の値から任意の値を選択するためのプルダウンメニュー等を含む。時間差分閾値表示部43は、キーボード109やポインティングデバイス110を用いたユーザによる操作に応じて、時間差分閾値(例えば、最小値および最大値)の変更を受け付ける。
時間差分閾値調整部44は、表示されたユーザインターフェースを用いた操作に応じて、時間差分閾値を変更する。時間差分閾値調整部44は、例えば、時間差分閾値表示部43から受け取った時間差分閾値を、サブキーワード受理決定部34によって用いられるサブキーワード間の時間差分閾値に反映させる。時間差分閾値調整部44は、時間差分閾値表示部43から受け取った、あるサブキーワード間の時間差分閾値で、キーワードモデル格納部36に格納されている、そのサブキーワード間の時間差分閾値を書き換えるようにしてもよい。
例えば、時間差分閾値表示部43は、第1サブキーワードの後に検出された第2サブキーワードを受理するか否かを判定するために用いられる第1時間差分閾値と第2時間差分閾値の少なくとも一方を変更するためのユーザインターフェースを画面に表示する。時間差分閾値調整部44は、このユーザインターフェースを用いた操作に応じて、第1時間差分閾値と第2時間差分閾値の少なくとも一方を変更する。サブキーワード受理決定部34は、上述したように、第1サブキーワードが検出された一つ以上の第1フレームの終端時間と、第1サブキーワードに後続する第2サブキーワードが検出された一つ以上の第2フレームの始端時間との第1差分が第1時間差分閾値と第2時間差分閾値とで規定される範囲内である場合、第2サブキーワードを受理することを決定することができる。
図12は、閾値スコア表示部41によってディスプレイ(LCD104)に表示される閾値スコア調整画面81の例を示す。この閾値スコア調整画面81では、サブキーワードである“communica”、“tion”、および“tor”のそれぞれの閾値スコアと、キーワードである“Hello”の閾値スコアとが表示されている。表示されている閾値スコアは、ユーザによる操作(例えば、ユーザによる数値の入力)に応じて変更可能である。閾値スコア調整部42は、あるキーワードまたはサブキーワードの閾値スコアを変更するためのユーザ操作に応じて、そのキーワードまたはサブキーワードの閾値スコアを変更することができる。
また、図13は、時間差分閾値表示部43によってディスプレイに表示される時間差分閾値調整画面82の例を示す。この時間差分閾値調整画面82では、サブキーワードの組を受理するか否かを判定するための受理最小値および受理最大値が表示されている。より詳しくは、サブキーワード“communica”に後続するサブキーワード“tion”を受理するか否かを判定するための受理最小値および受理最大値と、サブキーワード“communica”に後続するサブキーワード“tor”を受理するか否かを判定するための受理最小値および受理最大値とが表示されている。表示されている受理最小値および受理最大値は、ユーザによる操作(例えば、ユーザによる数値の入力)に応じて変更可能である。時間差分閾値調整部44は、あるサブキーワードの組の受理最小値または受理最大値を変更するためのユーザ操作に応じて、そのサブキーワードの組の受理最小値または受理最大値を変更することができる。
次いで、図14のフローチャートを参照して、音声キーワード検出装置10によって実行される閾値調整処理の手順の例を説明する。本実施形態でも、第1の実施形態と同じように、検出対象のキーワードが“コミュニケーション”、“コミュニケーター”、“ハロー”の三つであるとする。そして、“コミュニケー”、“ション”、“ター”、“ハロー”のキーワードまたはサブキーワードをそれぞれ、w,w,w,wとし、複合キーワード“コミュニケーション”、“コミュニケーター”をそれぞれサブキーワードの連結で表される
=(w,w), W=(w,w
とする。また、キーワード/サブキーワードモデルとして、w(但し、n=1,2,3,4)のモデルが第1の実施形態と同じ方法で、それぞれ用意してあるとする。
まず、閾値スコア表示部41は、キーワードおよびサブキーワードの現在の閾値スコアをLCD104の画面に表示する(ステップS21)。ここではキーワードモデル格納部36に格納されているキーワードまたはサブキーワードの語(例えば、表記)と、それに関連付けられた、キーワード検出部33で使用される閾値スコアとが、図12で示した閾値スコア調整画面81のように表示される。ここで表示されるのは現在の閾値スコアであり、初期値のままであれば、全てのキーワードおよびサブキーワードに対して同じ値である、例えば、
th=20 (n=1,2,3,4)
が設定されている。
次に、閾値スコア表示部41は、ユーザによる操作に応じて、閾値スコアの変更を受け付ける(ステップS22)。ユーザは、例えば、キーワードまたはサブキーワードの出易さや出難さを調整するために、閾値スコアを変更する操作を行う。例えば、サブキーワードw“tion”、およびサブキーワードw“tor”が他のキーワード/サブキーワードに比べ検出され過ぎる場合、ユーザは、図12に示した閾値スコア表示部41によって表示される閾値スコア調整画面81の表内において、グラフィカルユーザインターフェース(GUI)を介した操作で、サブキーワードw,wに対する閾値スコアを20から40に変更する。閾値スコア表示部41は、ユーザ操作によるこの閾値スコアの変更を受け付ける。
閾値スコア調整部42は、ステップS22で変更された(受け付けた)閾値スコアを、キーワードおよびサブキーワードを検出する際の閾値スコアに反映させる(ステップS23)。閾値スコア調整部42は、例えば、ユーザ操作によって、閾値スコア調整画面81上の表において20から40に変更されたサブキーワードw,wに対する閾値スコアth,thをそれぞれ40に書き換える。これにより、ユーザはキーワードおよびサブキーワードの出易さ(検出されやすさ)を自由に調整することができる。
次いで、時間差分閾値表示部43は、各複合キーワードの現在の時間差分閾値スコアをLCD104の画面に表示する(ステップS24)。ここではキーワードモデル格納部36に格納されている複合キーワードと、それに関連付けられた、サブキーワード受理決定部34で使用される時間差分閾値とが、図13で示した時間差分閾値調整画面82のように表示される。ここで表示されるのは現在の時間差分閾値である受理最小値Tmin lおよび受理最大値Tmax lであり、初期値のままであれば、全てのサブキーワードの組(複合キーワード)に対して同じ値である、例えば、
min l=0 (l=1,2), Tmax l=50 (l=1,2)
が設定されている。
次に、時間差分閾値表示部43は、ユーザによる操作に応じて、時間差分閾値の変更を受け付ける(ステップS25)。例えば、複合キーワードW“communica−tor”が、複合キーワードW“communica−tion”に比べ検出され過ぎる場合、ユーザは図13に示した時間差分閾値表示部43によって表示される時間差分閾値調整画面82の表内において、GUIを介した操作で、複合キーワードWに対する時間差分閾値を、“Tmin 2=5”および“Tmax 2=40”に変更する。時間差分閾値表示部43は、ユーザ操作によるこの時間差分閾値の変更を受け付ける。
時間差分閾値調整部44は、ステップS25で変更された(受け付けた)時間差分閾値を、サブキーワードを受理するか否かを決定する際の時間差分閾値に反映させる(ステップS26)。時間差分閾値調整部44は、例えば、ユーザ操作によって、時間差分閾値調整画面82上の表において変更された時間差分閾値を、サブキーワード受理決定部34によって用いられるTmin 2,Tmax 2に代入(設定)する。すなわち、
min 2=0, Tmax 2=50
から
min 2=5, Tmax 2=40
に変更される。これにより、ユーザは複合キーワードの出易さ(検出されやすさ)を自由に調整することができる。
なお、ここでは、複合キーワード毎に時間差分閾値が調整される例を示したが、複合キーワードの内の、2組、3組の単語の連結単位毎に時間差分閾値が調整されても良い。例えば、一つの複合キーワードが三つ以上のサブキーワードで構成され、したがって、複数のサブキーワードの組を含む場合、サブキーワードの組毎に(サブキーワードの連結単位毎に)、時間差分閾値が調整されても良い。
なお、閾値スコアの更新のためのステップS21からステップS23までの手順と、時間差分閾値の更新のためのステップS24からステップS26までの手順とは、その順序を任意に入れ替えることができる。例えば、ステップS24からステップS26までの手順の後に、ステップS21からステップS23までの手順が実行されてもよく、また、ステップS21からステップS23までの手順と、ステップS24からステップS26までの手順とが並行して実行されてもよい。
以上説明したように、本実施形態によれば、音声キーワード検出装置10によるキーワードおよびサブキーワードの検出されやすさを容易に調整することができる。ユーザは、画面に表示された閾値スコアや時間差分閾値を、ユーザインターフェースを介して容易に変更できる。したがって、変更された閾値スコアに応じて、キーワードおよびサブキーワードの検出されやすさを、また変更された時間差分閾値に応じて、複合キーワード(サブキーワードの組)の検出されやすさを容易に調整することができる。
なお、閾値スコアは、ユーザインターフェースを介して入力されるだけでなく、所定のフォーマットのデータとして入力されてもよい。閾値スコア調整部42は、例えば、キーワードまたはサブキーワードと、そのキーワードまたはサブキーワードに対応する閾値スコアとが記述されたデータを用いて、キーワード検出部33によって用いられる閾値スコアを更新することができる。
同様に、時間差分閾値を示す受理最小値と受理最大値とは、ユーザインターフェースを介して入力されるだけでなく、所定のフォーマットのデータとして入力されてもよい。時間差分閾値調整部44はは、例えば、サブキーワードの組と、そのサブキーワードの組に対応する受理最小値および受理最大値とが記述されたデータを用いて、サブキーワード受理決定部34によって用いられる受理最小値および受理最大値を更新することができる。
なお、図1を参照して上述したように、サーバ2が音声キーワード検出機能を有する場合、サーバ2はクライアント1に対して、サーバ2上で用いられる閾値スコアおよび時間差分閾値を変更するためのウェブベースのユーザインターフェースを提供してもよい。サーバ2は、例えば、ウェブブラウザや専用のアプリケーションを介して、図12および図13に示したような、閾値スコアおよび時間差分閾値を変更するためのユーザインターフェースをクライアント1の画面に表示させ、変更された値を受け付ける。
(第3の実施形態)
図15は、第3の実施形態に係る音声キーワード検出装置10上で実行される音声キーワード検出プログラム202の機能構成を示す。この音声キーワード検出装置10は、第1の実施形態において説明したシステム構成を有している。本実施形態の音声キーワード検出プログラム202は、音声取得部31、キーワードスコア算出部32、キーワード検出部33、サブキーワード受理決定部34、および複合キーワード検出部35に加えて、キーワードリスト取得部51およびキーワードモデル構築部52を備える。音声キーワード検出プログラム202の各部は、キーワードモデル格納部36に格納された様々なデータを読み出すことができ、またキーワードモデル格納部36にデータを書き込むことができる。音声取得部31、キーワードスコア算出部32、キーワード検出部33、サブキーワード受理決定部34、複合キーワード検出部35、およびキーワードモデル格納部36は、第1の実施形態と同様の構成を有する。以下では第1の実施形態との差分部分のみに焦点を絞り説明を行う。
キーワードリスト取得部51は、複数のキーワードを含むキーワードリストを取得する。キーワードリスト取得部51は、例えば、ユーザがキーボード109等を用いてテキスト入力したキーワードのリストを取得してもよいし、所定のフォーマットで複数のキーワードが記述されたデータをキーワードのリストとして取得してもよい。
キーワードモデル構築部52は、取得されたキーワードのリストから、各キーワードを表す音素、音韻、モーラ、発音表記、または表記が、複数のキーワード間で共通である部分と、異なる部分とを抽出し、抽出された共通部分と異なる部分とに基づくキーワードモデルおよびサブキーワードモデル(キーワード/サブキーワードモデル)を構築する。キーワードモデル構築部52は、例えば、各キーワードを表す音素、音韻、発音表記、モーラ、または表記が、複数のキーワード間で同じである部分に対応するサブキーワードと、異なる部分に対応するサブキーワードとを決定し、決定されたサブキーワードに基づくサブキーワードモデルを構築する。そして、キーワードモデル構築部52は、決定されたサブキーワード(サブキーワードモデル)を用いて、複数のキーワードの内の二つ以上のキーワードをそれぞれ構成する複数のサブキーワードと、当該複数のサブキーワード間の発声順の前後関係とを規定する複合キーワードモデルを決定(構築)する。構築されたキーワードモデル(複合キーワードモデル)およびサブキーワードモデルは、キーワードモデル格納部36に保存される。
キーワードスコア算出部32は、第1サブキーワードとこの第1サブキーワードに後続する第2キーワードとで構成される第1キーワードに対応する複合キーワードモデルを用いて、例えば、第1サブキーワードに対する第1スコアと、第2サブキーワードに対する第2スコアを算出する。そして、キーワード受理決定部34は、この複合キーワードモデルを用いて、第1サブキーワードと第2サブキーワードとを受理することを決定する。
図16のフローチャートを参照して、音声キーワード検出装置10によって実行されるキーワードモデル構築処理の手順の例を示す。この音声キーワード検出装置10は、例えば、CPU101によって音声キーワード検出プログラム202に含まれる命令群が実行されることによって実現される。
まず、キーワードリスト取得部51は、キーワードのリストを受け付ける(ステップS31)。キーワードリスト取得部51は、例えば、キーワードである“コミュニケーション”、“コミュニケーター”、および“ハロー”と、これらにそれぞれ関連付けられた音素列“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”を取得する。
次に、キーワードモデル構築部52では、取得したキーワードのリストから、キーワード間の共通部分と、異なる部分とを抽出する(ステップS32)。共通部分と異なる部分との抽出には音素列とradix tree(基数木)とが用いられる。複数のキーワードの音素列をradix tree構造に置き換えると、radix tree構造の辺の部分が、共通部分と異なる部分のいずれかに相当し、またキーワードとサブキーワードのいずれかとなる。
キーワードモデル構築部52は、例えば、以下のようにしてradix treeを作成する。
まず、キーワードモデル構築部52は、キーワードのリストに含まれる一つ目のキーワードの音素列をradix treeに登録する。
次に、二つ目のキーワードの音素列を登録するとき、キーワードモデル構築部52は、radix treeをルートから、その二つ目のキーワードの音素列が一致するところまで走査する。そして、二つ目のキーワードの一部に、現在のradix treeには存在しない、異なる部分が見つかった場合、キーワードモデル構築部52は、その異なる部分を登録するために、radix treeに新たな辺を追加する。キーワードモデル構築部52は、その異なる部分を、すなわち、二つ目のキーワードの残りの音素列を、追加された辺のラベルとして登録する。なお、残りの音素列の先頭から途中の一部分までが共通である辺がradix treeに既に登録されている場合には、キーワードモデル構築部52は、その残りの音素列と、既に登録されている辺との共通部分に対応する辺を、radix treeに新たに登録し、そこから二つに分岐して、それぞれ異なる部分に対応する辺がさらに登録されるように設計する。全ての音素列がradix treeに登録されることにより、取得されたキーワードのリストに対するradix treeを作成することができる。
次いで、キーワードモデル構築部52は、ステップS32で抽出された、キーワードの共通部分と異なる部分とに基づき、キーワード/サブキーワードモデルを構築する(ステップS33)。キーワードモデル構築部52は、例えば、第1の実施形態と同じように、各キーワード、サブキーワードに対して、音素HMMを構築する。この音素HMMを構築される際に用いられる複合キーワードの前後関係は、例えば、ステップS32で作成されたradix treeをルートから辿ることによって得ることができる。これにより、キーワードのリストから自動的にキーワードの共通部分と異なる部分とを抽出し、それらに対するキーワード/サブキーワードモデルを構築することが可能となる。
そして、キーワードモデル構築部52は、構築されたキーワード/サブキーワードモデルをキーワードモデル格納部36に保存する(ステップS34)。
図17は、キーワードモデル構築部52によって作成されるradix treeの具体的な例を示す。
このradix treeを作成するために、キーワードモデル構築部52は、まず、一つ目のキーワード“コミュニケーション”に対応する音素列“k a my u n i k e i sy o n”を、ルート91に接続する辺としてradix treeに登録する。
次に、キーワードモデル構築部52は、二つ目のキーワード“コミュニケーター”に対応する音素列“k a my u n i k e i t a a”を登録するとき、radix treeをルート91から、その二つ目のキーワードの音素列が一致するところまで走査する。作成中のradix treeには、音素列“k a my u n i k e i t a a”に完全に一致する辺がなく、この音素列の先頭から途中の一部分までが共通である辺“k a my u n i k e i sy o n”が既に登録されている。そのため、キーワードモデル構築部52は、音素列“k a my u n i k e i t a a”と、既に登録されている辺“k a my u n i k e i sy o n”との共通部分に対応する辺“k a my u n i k e i”92を、既に登録されている辺“k a my u n i k e i sy o n”に替えて、radix treeに新たに登録する。そして、キーワードモデル構築部52は、そこから二つに分岐して、それぞれ異なる部分に対応する辺“t a a”94と辺“sy o n”95がさらに登録されるように設計する。
次いで、キーワードモデル構築部52は、三つ目のキーワード“ハロー”に対応する音素列“h e l o u”を登録するとき、radix treeをルート91から、その三つ目のキーワードの音素列が一致するところまで走査する。作成中のradix treeには、音素列“h e l o u”に完全に一致する辺がなく、この音素列の先頭から途中の一部分までが共通である辺もない。そのため、キーワードモデル構築部52は、音素列“h e l o u”を、ルート91に接続する辺93としてradix treeに登録する。
以上の構成により、取得されたキーワード“コミュニケーション”、“コミュニケーター”、および“ハロー”に対するradix treeを作成することができる。上述したように、キーワードモデル構築部52は、このradix treeを用いて、キーワード間の共通部分と異なる部分とを得ることができるので、取得したキーワードのリストに対応するキーワード/サブキーワードモデルを容易に構築することができる。キーワードの共通部分の抽出は、radix treeのみに限定されることはなく、Longest Common SubsequenceアルゴリズムやDynamic Programmingマッチングなどを使っても良い。
なお、本発明のいくつかの実施形態に記載された音声キーワード検出装置10は、上記の音声キーワード検出プログラム202を汎用のコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラム202を配布して、このプログラム202をコンピュータ装置に適宜インストールすることで実現してもよい。また、キーワードモデル格納部36は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
また、本発明のいくつかの実施形態に記載された様々な機能の各々は、回路(処理回路)によって実現されてもよい。処理回路の例には、中央処理装置(CPU)のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム(命令群)を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。これら実施形態に記載されたCPU以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
また、本発明のいくつかの実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、これら実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…音声キーワード検出装置、101…CPU、102…システムコントローラ、103…主メモリ、104…LCD、105…BIOS−ROM、106…不揮発性メモリ、107…マイクロホン、108…通信デバイス、109…キーボード、110…ポインティングデバイス、111…EC、201…OS、202…音声キーワード検出プログラム、31…音声取得部、32…キーワードスコア算出部、33…キーワード検出部、34…サブキーワード受理決定部、35…複合キーワード検出部、36…キーワードモデル格納部。

Claims (12)

  1. 複数のフレームを含む音声データを取得する音声取得手段と、
    第1キーワードを構成する第1サブキーワードと前記第1サブキーワードに後続する第2サブキーワードとにそれぞれ関連付けられた音素、音韻、発音表記、モーラ、または表記と、前記音声データの各フレームとをマッチングすることによって、前記第1サブキーワードに対する第1スコアと前記第2サブキーワードに対する第2スコアとを算出するキーワードスコア算出手段と、
    前記第1スコアに基づいて前記音声データから前記第1サブキーワードを検出し、前記第2スコアに基づいて前記音声データから前記第2サブキーワードを検出するキーワード検出手段と、
    前記複数のフレームの内の一つ以上の第1フレームから前記第1サブキーワードが検出されたとき、前記第1サブキーワードを受理することを決定し、前記複数のフレームの内の一つ以上の第2フレームから前記第2サブキーワードが検出されたとき、前記一つ以上の第1フレームの始端時間と終端時間の少なくとも一方と、前記一つ以上の第2フレームの始端時間と終端時間の少なくとも一方とに基づいて、前記第2サブキーワードを受理するか否かを決定する受理決定手段と、
    前記第2サブキーワードを受理することが決定された場合、前記第1キーワードを出力するキーワード出力手段とを具備する音声キーワード検出装置。
  2. 前記キーワードスコア算出手段は、さらに、第2キーワードが前記第1サブキーワードと前記第1サブキーワードに後続する第3サブキーワードとで構成される場合に、前記第3サブキーワードに関連付けられた音素、音韻、発音表記、モーラ、または表記と、前記音声データの各フレームとをマッチングすることによって、前記第3サブキーワードに対する第3スコアを算出し、
    前記キーワード検出手段は、さらに、前記第3スコアに基づいて前記第3サブキーワードを検出し、
    前記受理決定手段は、さらに、前記複数のフレームの内の一つ以上の第3フレームから前記第1サブキーワードが検出されたとき、前記第1サブキーワードを受理することを決定し、前記複数のフレームの内の一つ以上の第4フレームから前記第3サブキーワードが検出されたとき、前記一つ以上の第3フレームの始端時間と終端時間の少なくとも一方と、前記一つ以上の第4フレームの始端時間と終端時間の少なくとも一方とに基づいて、前記第3サブキーワードを受理するか否かを決定し、
    前記キーワード出力手段は、さらに、前記第3サブキーワードを受理することが決定された場合、前記第2キーワードを出力する請求項1記載の音声キーワード検出装置。
  3. 前記キーワードスコア算出手段は、さらに、第3キーワードに関連付けられた音素、音韻、発音表記、モーラ、または表記と、前記音声データの各フレームとをマッチングすることによって、前記第3キーワードに対するスコアを算出し、
    前記キーワード検出手段は、さらに、前記第3キーワードに対するスコアに基づいて前記第3キーワードを検出し、前記検出された第3キーワードを出力する請求項1記載の音声キーワード検出装置。
  4. 前記キーワード検出手段は、前記第1サブキーワードに対する前記第1スコアが第1閾値スコアよりも大きい場合、前記第1サブキーワードを検出し、前記第2サブキーワードに対する前記第2スコアが第2閾値スコアよりも大きい場合、前記第2サブキーワードを検出する請求項1記載の音声キーワード検出装置。
  5. 前記第1閾値スコアと前記第2閾値スコアの少なくとも一方を変更する第1変更手段をさらに具備する請求項4記載の音声キーワード検出装置。
  6. 前記第1閾値スコアと前記第2閾値スコアの少なくとも一方を変更するためのユーザインターフェースを画面に表示する第1表示制御手段をさらに具備し、
    前記第1変更手段は、前記表示されたユーザインターフェースを用いた操作に応じて、前記第1閾値スコアと前記第2閾値スコアの少なくとも一方を変更する請求項5記載の音声キーワード検出装置。
  7. 前記受理決定手段は、前記一つ以上の第1フレームの終端時間と、前記一つ以上の第2フレームの始端時間との第1差分が第1時間差分閾値と第2時間差分閾値とで規定される範囲内である場合、前記第2サブキーワードを受理することを決定する請求項1記載の音声キーワード検出装置。
  8. 前記第1時間差分閾値と前記第2時間差分閾値の少なくとも一方を変更する第2変更手段をさらに具備する請求項7記載の音声キーワード検出装置。
  9. 前記第1時間差分閾値と前記第2時間差分閾値の少なくとも一方を変更するためのユーザインターフェースを画面に表示する第2表示制御手段をさらに具備し、
    前記第2変更手段は、前記表示されたユーザインターフェースを用いた操作に応じて、前記第1時間差分閾値と前記第2時間差分閾値の少なくとも一方を変更する請求項8記載の音声キーワード検出装置。
  10. 複数のキーワードを取得するキーワード取得手段と、
    各キーワードを表す音素、音韻、発音表記、モーラ、または表記が、前記複数のキーワード間で同じである部分に対応するサブキーワードと、異なる部分に対応するサブキーワードとを決定し、前記決定されたサブキーワードを用いて、前記複数のキーワードの内の二つ以上のキーワードをそれぞれ構成する複数のサブキーワードと、当該複数のサブキーワード間の発声順の前後関係とを規定する複合キーワードモデルを決定するキーワードモデル構築手段とをさらに具備し、
    前記キーワードスコア算出手段は、前記複合キーワードモデルを用いて、前記第1スコアと前記第2スコアとを算出し、
    前記受理決定手段は、前記複合キーワードモデルを用いて、前記第1サブキーワードと前記第2サブキーワードとを受理することを決定する請求項1記載の音声キーワード検出装置。
  11. 複数のフレームを含む音声データを取得し、
    第1キーワードを構成する第1サブキーワードと前記第1サブキーワードに後続する第2サブキーワードとにそれぞれ関連付けられた音素、音韻、発音表記、モーラ、または表記と、前記音声データの各フレームとをマッチングすることによって、前記第1サブキーワードに対する第1スコアと前記第2サブキーワードに対する第2スコアとを算出し、
    前記第1スコアに基づいて前記音声データから前記第1サブキーワードを検出し、前記第2スコアに基づいて前記音声データから前記第2サブキーワードを検出し、
    前記複数のフレームの内の一つ以上の第1フレームから前記第1サブキーワードが検出されたとき、前記第1サブキーワードを受理することを決定し、前記複数のフレームの内の一つ以上の第2フレームから前記第2サブキーワードが検出されたとき、前記一つ以上の第1フレームの始端時間と終端時間の少なくとも一方と、前記一つ以上の第2フレームの始端時間と終端時間の少なくとも一方とに基づいて、前記第2サブキーワードを受理するか否かを決定し、
    前記第2サブキーワードを受理することが決定された場合、前記第1キーワードを出力する、音声キーワード検出方法。
  12. コンピュータにより実行されるプログラムであって、前記プログラムは、
    複数のフレームを含む音声データを取得する手順と、
    第1キーワードを構成する第1サブキーワードと前記第1サブキーワードに後続する第2サブキーワードとにそれぞれ関連付けられた音素、音韻、発音表記、モーラ、または表記と、前記音声データの各フレームとをマッチングすることによって、前記第1サブキーワードに対する第1スコアと前記第2サブキーワードに対する第2スコアとを算出する手順と、
    前記第1スコアに基づいて前記音声データから前記第1サブキーワードを検出し、前記第2スコアに基づいて前記音声データから前記第2サブキーワードを検出する手順と、
    前記複数のフレームの内の一つ以上の第1フレームから前記第1サブキーワードが検出されたとき、前記第1サブキーワードを受理することを決定し、前記複数のフレームの内の一つ以上の第2フレームから前記第2サブキーワードが検出されたとき、前記一つ以上の第1フレームの始端時間と終端時間の少なくとも一方と、前記一つ以上の第2フレームの始端時間と終端時間の少なくとも一方とに基づいて、前記第2サブキーワードを受理するか否かを決定する手順と、
    前記第2サブキーワードを受理することが決定された場合、前記第1キーワードを出力する手順とを前記コンピュータに実行させるプログラム。
JP2017053324A 2017-03-17 2017-03-17 音声キーワード検出装置および音声キーワード検出方法 Active JP6585112B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017053324A JP6585112B2 (ja) 2017-03-17 2017-03-17 音声キーワード検出装置および音声キーワード検出方法
US15/691,159 US10553206B2 (en) 2017-03-17 2017-08-30 Voice keyword detection apparatus and voice keyword detection method
CN201710766822.4A CN108630200B (zh) 2017-03-17 2017-08-31 声音关键字检测装置以及声音关键字检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017053324A JP6585112B2 (ja) 2017-03-17 2017-03-17 音声キーワード検出装置および音声キーワード検出方法

Publications (2)

Publication Number Publication Date
JP2018155957A JP2018155957A (ja) 2018-10-04
JP6585112B2 true JP6585112B2 (ja) 2019-10-02

Family

ID=63519586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017053324A Active JP6585112B2 (ja) 2017-03-17 2017-03-17 音声キーワード検出装置および音声キーワード検出方法

Country Status (3)

Country Link
US (1) US10553206B2 (ja)
JP (1) JP6585112B2 (ja)
CN (1) CN108630200B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189750B (zh) 2018-02-23 2022-11-15 株式会社东芝 词语检测系统、词语检测方法以及记录介质
KR102622357B1 (ko) * 2018-07-13 2024-01-08 구글 엘엘씨 종단 간 스트리밍 키워드 탐지
US11170770B2 (en) * 2018-08-03 2021-11-09 International Business Machines Corporation Dynamic adjustment of response thresholds in a dialogue system
US11308939B1 (en) * 2018-09-25 2022-04-19 Amazon Technologies, Inc. Wakeword detection using multi-word model
CN109599124B (zh) * 2018-11-23 2023-01-10 腾讯科技(深圳)有限公司 一种音频数据处理方法、装置及存储介质
JP7191792B2 (ja) 2019-08-23 2022-12-19 株式会社東芝 情報処理装置、情報処理方法およびプログラム
JP7098587B2 (ja) 2019-08-29 2022-07-11 株式会社東芝 情報処理装置、キーワード検出装置、情報処理方法およびプログラム
CN113658609B (zh) * 2021-10-20 2022-01-04 北京世纪好未来教育科技有限公司 关键字匹配信息的确定方法、装置、电子设备和介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3581752B2 (ja) * 1995-10-09 2004-10-27 株式会社リコー 音声認識装置及び音声認識方法
US7720682B2 (en) * 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
JP2000259653A (ja) * 1999-03-09 2000-09-22 Mitsubishi Electric Corp 音声認識装置及び音声認識方法
JP4541781B2 (ja) * 2004-06-29 2010-09-08 キヤノン株式会社 音声認識装置および方法
US8620658B2 (en) * 2007-04-16 2013-12-31 Sony Corporation Voice chat system, information processing apparatus, speech recognition method, keyword data electrode detection method, and program for speech recognition
JP4342575B2 (ja) * 2007-06-25 2009-10-14 株式会社東芝 キーワード提示のための装置、方法、及びプログラム
JP5098613B2 (ja) * 2007-12-10 2012-12-12 富士通株式会社 音声認識装置及びコンピュータプログラム
CN102334119B (zh) * 2009-02-26 2014-05-21 国立大学法人丰桥技术科学大学 声音检索装置及声音检索方法
WO2011125793A1 (ja) * 2010-03-31 2011-10-13 楽天株式会社 検索システム、検索方法、検索プログラム及び記録媒体
CN102867512A (zh) * 2011-07-04 2013-01-09 余喆 自然语音识别方法和装置
CN103794208A (zh) * 2012-10-29 2014-05-14 无敌科技(西安)有限公司 利用语音特征将英文单词发音按音节分开的装置与方法
CN104143330A (zh) * 2013-05-07 2014-11-12 佳能株式会社 语音识别方法和语音识别系统
US20140337031A1 (en) * 2013-05-07 2014-11-13 Qualcomm Incorporated Method and apparatus for detecting a target keyword
US20140337030A1 (en) * 2013-05-07 2014-11-13 Qualcomm Incorporated Adaptive audio frame processing for keyword detection
US9202462B2 (en) * 2013-09-30 2015-12-01 Google Inc. Key phrase detection
US9520127B2 (en) * 2014-04-29 2016-12-13 Microsoft Technology Licensing, Llc Shared hidden layer combination for speech recognition systems
US9607618B2 (en) * 2014-12-16 2017-03-28 Nice-Systems Ltd Out of vocabulary pattern learning
JP6461660B2 (ja) 2015-03-19 2019-01-30 株式会社東芝 検出装置、検出方法およびプログラム
CN106297776B (zh) * 2015-05-22 2019-07-09 中国科学院声学研究所 一种基于音频模板的语音关键词检索方法
CN105632487B (zh) * 2015-12-31 2020-04-21 北京奇艺世纪科技有限公司 一种语音识别方法和装置
CN105957518B (zh) * 2016-06-16 2019-05-31 内蒙古大学 一种蒙古语大词汇量连续语音识别的方法

Also Published As

Publication number Publication date
CN108630200A (zh) 2018-10-09
JP2018155957A (ja) 2018-10-04
CN108630200B (zh) 2022-01-07
US20180268809A1 (en) 2018-09-20
US10553206B2 (en) 2020-02-04

Similar Documents

Publication Publication Date Title
JP6585112B2 (ja) 音声キーワード検出装置および音声キーワード検出方法
JP6550068B2 (ja) 音声認識における発音予測
JP4195428B2 (ja) 多数の音声特徴を利用する音声認識
US20210312914A1 (en) Speech recognition using dialog history
JP5218052B2 (ja) 言語モデル生成システム、言語モデル生成方法および言語モデル生成用プログラム
US20220343895A1 (en) User-defined keyword spotting
CN114097026A (zh) 语音识别的上下文偏置
US11024298B2 (en) Methods and apparatus for speech recognition using a garbage model
JP6812843B2 (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
JP6011565B2 (ja) 音声検索装置、音声検索方法及びプログラム
JP2005208643A (ja) ユーザ訂正を用いた自動音声認識学習のためのシステムおよび方法
JP5753769B2 (ja) 音声データ検索システムおよびそのためのプログラム
JP2019219574A (ja) 話者モデル作成システム、認識システム、プログラムおよび制御装置
CN112750445B (zh) 语音转换方法、装置和系统及存储介质
US20170270923A1 (en) Voice processing device and voice processing method
JP2018045127A (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
CN110189750B (zh) 词语检测系统、词语检测方法以及记录介质
JP5068225B2 (ja) 音声ファイルの検索システム、方法及びプログラム
US11961510B2 (en) Information processing apparatus, keyword detecting apparatus, and information processing method
Thennattil et al. Phonetic engine for continuous speech in Malayalam
JP2010164918A (ja) 音声翻訳装置、および方法
JP4839291B2 (ja) 音声認識装置およびコンピュータプログラム
JP6852029B2 (ja) ワード検出システム、ワード検出方法及びワード検出プログラム
JP6526602B2 (ja) 音声認識装置、その方法、及びプログラム
KR101037801B1 (ko) 부단위 인식을 이용한 핵심어 검출 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190716

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: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190904

R151 Written notification of patent or utility model registration

Ref document number: 6585112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151