(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、ユーザに発声開始のタイミングを知らせることなく、音声信号の先頭部分が記録できなかったことによる誤認識を低減できる音声認識装置の実施形態について、図面を用いて説明する。
【0009】
図1は、本実施形態における音声認識装置10の要部構成を示すブロック図である。音声認識装置10は、音声入力の開始指示を受け付けると、開始指示を受け付けた後に入力された音声信号から音声発話を認識する。そして音声認識装置10は、開始指示を受け付けてから音声信号が入力されるまでの時間により音声発話の認識結果を修正するか否かを判定し、修正する場合、認識された音声発話を修正する。このような音声認識装置10は、例えば飲食店等で利用される携帯型の注文端末、工業機器の保守作業等で利用される保守記録端末、等の電子機器に組み込まれ、ユーザの発話による入力を支援する機能を果たすものである。
【0010】
図1に示すように音声認識装置10は、プロセッサ11、メインメモリ12、補助記憶デバイス13、時計部14、デジタイズ部15、入力ポート16、複数のデバイスインターフェース17,18及び出力部19等を備える。また音声認識装置10は、アドレスバス,データバス等を含むバスラインBLを備えており、このバスラインBLに、プロセッサ11、メインメモリ12、補助記憶デバイス13、時計部14、デジタイズ部15、入力ポート16、デバイスインターフェース17,18及び出力部19が接続されている。
【0011】
デジタイズ部15は、音声入力手段であるマイクロフォン20を接続し、マイクロフォン20を介して入力されたアナログの音声信号をデジタルの音声信号に変換する。マイクロフォン20は、音声認識装置10を搭載した電子機器に内蔵されていてもよいし、着脱自在に外部接続されるものであってもよい。なお、マイクロフォン20がデジタルデータの音声信号を出力するタイプのものである場合には、デジタイズ部15を省略できる。
【0012】
入力ポート16は、音声入力の開始指示手段である発話ボタン30を接続し、発話ボタン30のオン信号を入力する。ユーザは、マイクロフォン20に向かって発話する間、発話ボタン30を押下する。発話ボタン30は、押下されている間オン信号を出力する。発話ボタン30は、1回目の押下でオン信号を出力し、2回目の押下でオン信号を停止するタイプのものであってもよい。
【0013】
デバイスインターフェース17は、入力デバイス40を接続し、所定のプロトコルに従い入力デバイス40から入力データを取り込む。入力デバイス40は、キーボード、タッチパネル、ポインティングデバイス等である。デバイスインターフェース18は、表示デバイス50を接続し、所定のプロトコルに従い表示デバイス50に表示データを出力する。表示デバイス50は、液晶ディスプレイ、プラズマディスプレイ、EL(Electro Luminescent)ディスプレイ等である。なお、デバイスインターフェース17,18に接続されるデバイスは、入力デバイス40及び表示デバイス50に限定されるものではない。例えば表示デバイス50の代わりにプリンタが接続されてもよい。また、入力デバイス40の代わりにバーコードリーダ、RFIDリーダライタ、カードリーダライタ等が接続されてもよい。
【0014】
因みに、音声入力手段であるマイクロフォン20と、開始指示手段である発話ボタン30と、入力デバイス40と、表示デバイス50とは、音声認識装置10を搭載した電子機器に設けられる。その場合において、発話ボタン30は、入力デバイス40の一種であるキーボードまたはタッチパネルに設けられていてもよい。
【0015】
音声認識装置10は、プロセッサ11、メインメモリ12及び補助記憶デバイス13と、これらを接続するバスラインBLとによってコンピュータを構成する。
プロセッサ11は、上記コンピュータの中枢部分に相当する。プロセッサ11は、オペレーティングシステムやアプリケーションプログラムに従って、音声認識装置10としての機能を実現するべく各部を制御する。
【0016】
メインメモリ12は、上記コンピュータの主記憶部分に相当する。メインメモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ12は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。またメインメモリ12は、プロセッサ11が各部を制御するための処理を実行する上で必要なデータを不揮発性または揮発性のメモリ領域で記憶する。
【0017】
メインメモリ12は、揮発性のメモリ領域を、マイクロフォンを介して入力された音声信号の記録部として使用する。すなわちメインメモリ12は、デジタイズ部15でデジタルデータに変換された音声信号を所定のバッファリング単位で繰り返し上書き保存する領域を有する。なお、この記録部としての領域は、補助記憶デバイス13に形成されていてもよい。
【0018】
補助記憶デバイス13は、上記コンピュータの補助記憶部分に相当する。例えばEEPROM(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disc Drive)、SSD(Solid State Drive)等が補助記憶デバイス13として使用される。補助記憶デバイス213は、プロセッサ11が各種の処理を行う上で使用するデータや、プロセッサ11での処理によって生成されたデータを保存する。補助記憶デバイス13は、上記のアプリケーションプログラムを記憶する場合もある。
【0019】
補助記憶デバイス13は、音声認識に必要な単語辞書ファイル131及び言語辞書ファイル132を記憶する。単語辞書ファイル131は、
図2にその一例を示すように、種々の単語とその読み仮名とを予め記録したデータファイルである。例えば単語辞書ファイル131Aは、単語「焼き」、「秋」、「肉」、「行く」、「柿」、「咲き」、「滝」、「泣き」、「破棄」、「薪」、「脇」に対してそれぞれ読み仮名「yaki」、「aki」、「niku」、「iku」、「kaki」、「saki」、「taki」、「naki」、「haki」、「maki」、「waki」を記録する。
【0020】
言語辞書ファイル132は、
図3(a),(b)にその一例を示すように、種々の単語同士の繋がりの確率を予め記録したデータファイルである。例えば、言語辞書ファイル132Aは、単語「焼き」の後に、単語「焼き」が繋がる確率として“0.1”を、単語「秋」が繋がる確率として“0.1”を、単語「肉」が繋がる確率として“0.5”を、単語「行く」が繋がる確率として“0.1”を記録する。同様に言語辞書ファイル132Aは、単語「秋」の後に、単語「焼き」が繋がる確率として“0.1”を、単語「秋」が繋がる確率として“0.1”を、単語「肉」が繋がる確率として“0.1”を、単語「行く」が繋がる確率として“0.2”を記録する。
【0021】
一方、言語辞書ファイル132Bは、単語「行く」の前に、単語「柿」が繋がる確率として“0.2”を、単語「咲き」が繋がる確率として“0.1”を、単語「滝」が繋がる確率として“0.1”を、単語「泣き」が繋がる確率として“0.1”を、単語「破棄」が繋がる確率として“0.1”を、単語「薪」が繋がる確率として“0.1” 、単語「脇」が繋がる確率として“0.1”を記録する。同様に言語辞書ファイル132Bは、単語「肉」の前に、単語「柿」が繋がる確率として“0.3”を、単語「咲き」が繋がる確率として“0.1”を、単語「滝」が繋がる確率として“0.1”を、単語「泣き」が繋がる確率として“0.1”を、単語「破棄」が繋がる確率として“0.1”を、単語「薪」が繋がる確率として“0.1” 、単語「脇」が繋がる確率として“0.2”を記録する。
【0022】
図1に説明を戻す。
時計部14は、音声認識装置10の時刻情報源として機能する。プロセッサ11は、時計部14によって計時される時刻情報を基に、現在の日付及び時刻を計時する。なお、時計部14は、音声認識装置10が搭載された電子機器に備えられているものを兼用してもよい。
【0023】
出力部19は、この音声認識装置10で認識された結果である音声発話のデータを外部へ出力する。データの出力先は、例えばこの音声認識装置10を搭載した電子機器の制御ユニットである。
【0024】
かかる構成の音声認識装置10において、プロセッサ11は、押下検知部111、閾値判定部112、音声認識部113、修正部114及び出力制御部115としての機能を有している。これらの機能は、音声認識プログラムに従ってプロセッサ11が情報処理を行うことにより実現される。音声認識プログラムは、メインメモリ12又は補助記憶デバイス13に記憶されている。なお、音声認識プログラムがメインメモリ12又は補助記憶デバイス13に予め記憶されていなくてもよい。音声認識装置10を搭載した電子機器が備える書き込み可能な記憶デバイスに、この電子機器とは個別に譲渡された音声認識プログラムがユーザなどの操作に応じて書き込まれてもよい。音声認識プログラムの譲渡は、リムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。記録媒体は、CD−ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。
【0025】
図4は、プロセッサ11が音声認識プログラムに従って実行する情報処理手順を示す流れ図である。なお、
図4に示すとともに以下に説明する処理の内容は一例であって、同様な結果を得ることが可能であればその処理手順及び処理内容は特に限定されるものではない。
【0026】
音声認識プログラムが開始されると、プロセッサ11は、Act1として発話ボタン30が押下されるのを待ち受ける。入力ポート16を介してオン信号が入力されると、プロセッサ11は、発話ボタン30が押下されたことを検知する(Act1にてYES)。そしてプロセッサ11は、Act2として時計部14で計時されている時刻を検知時刻Pとしてメインメモリ12の所定領域に記憶させる(第1時刻取得手段)。ここに、プロセッサ11は、Act1及び2の処理を実行することにより、押下検知部(受付手段)111として機能する。
【0027】
検知時刻Pを記憶させた後、プロセッサ11は、Act3として音声信号が入力されるのを待ち受ける。デジタイズ部15を介してデジタル化された音声信号、いわゆる音データが入力されると(Act3にてYES)、プロセッサ11は、Act4として時計部14で計時されている時刻を音声開始時刻Dとしてメインメモリ12の所定領域に記憶させる(第2時刻取得手段)。またプロセッサ11は、Act5として音データをメインメモリ12の記録部に記録する。
【0028】
プロセッサ11は、Act6として音データの閾値判定を行う。閾値判定は、周囲に恒常的に生じている音データを認識対象から除外し、ユーザが発声した音声のデータのみを認識対象とする機能である。具体的には、記録部に記録された所定のバッファリング単位の音データが所定の音量THP以上であるかを判定し、所定の音量THP以上である場合にはその音データを認識対象とする。
【0029】
プロセッサ11は、Act7として閾値判定の結果を確認する。閾値判定の結果、音データを認識対象外とする場合(Act7にてNO)、プロセッサ11は、Act3の処理に戻る。そしてプロセッサ11は、Act3以降の処理を再度繰り返す。これに対し、音データを認識対象とする場合には(Act7にてYES)、プロセッサ11は、Act8の処理に進む。ここに、プロセッサ11は、Act6及びAct7の処理を実行することにより、閾値判定部112として機能する。
【0030】
Act8では、プロセッサ11は、音声認識を行う。すなわちプロセッサ11は、記録部に記録された音データの周波数特性を鑑み、その音データの音声特徴量を算出する。そしてプロセッサ11は、単語辞書ファイル131及び言語辞書ファイル132のデータを用いて確率的なパターン認識処理を行うことにより、音データから音声発話として認識した文字列を作成する。作成された音声発話の文字列は、メインメモリ12に一時的に記憶される。因みに、このような音声認識の手法は周知であるので、ここでの詳細な説明は省略する。また、音声認識の手法は特に限定されるものではなく、他の手法を用いて音データから音声発話としての文字列を認識してもよい。ここにプロセッサ11は、Act8の処理を実行することにより、音声認識部(認識手段)113として機能する。
【0031】
音データの音声認識を終えると、プロセッサ11は、Act9として音声発話の認識結果を修正するか否かを判定する(判定手段)。具体的にはプロセッサ11は、Act2の処理で取得した検知時刻PからAct4の処理で取得した音声開始時刻Dまでの経過時間(D−P)が、予め設定された閾値時間Tよりも短いか否かを調べる。そして短い場合には、プロセッサ11は修正の必要有りと判定する。これに対して短くない場合には、プロセッサ11は修正の必要無しと判定する。必要有りと判定した場合(Act9にてNO)、プロセッサ11は、Act10の処理を実行した後、Act11の処理へと進む。必要無しと判定した場合には(Act9にてYES)、プロセッサ11は、Act10の処理を実行することなく、Act11の処理へと進む。
【0032】
Act10では、プロセッサ11は、Act8の処理で認識された音声発話を修正する(修正手段)。なお、音声発話の修正手法については後述する。ここにプロセッサ11は、Act9及びAct10の処理を実行することにより、修正部114として機能する。
【0033】
Act11では、プロセッサ11は、Act8の処理で認識された音声発話又はAct10の処理で修正された音声発話のデータを、出力部19を介して外部へと出力する。あるいはプロセッサ11は、音声発話のデータを表示デバイス50へと出力して、認識結果を表示デバイスの画面上に表示させてもよい。ここにプロセッサ11は、Act11の処理を実行することにより、出力制御部115として機能する。
以上で、音声認識プログラムに基づくプロセッサ11の処理は終了する。
【0034】
図5及び
図6は、ユーザが「や・き・に・く」と発声した際の音声信号(アナログデータ)の具体例である。
図5の例において、発話ボタン30の押下検知時刻Pは「P1」で示されており、音声開始時刻Dは「D1」で示されている。すなわち
図5の例では、押下検知時刻Pから音声開始時刻Dまでの経過時間はT1で示されている。同様に、
図6の例において、発話ボタン30の押下検知時刻Pは「P2」で示されており、音声開始時刻Dは「D2」で示されている。すなわち
図6の例では、押下検知時刻Pから音声開始時刻Dまでの経過時間はT2で示されている。
【0035】
図5の例の場合、経過時間T1は十分に長いため、記録部に記録された音データの先頭部分に欠落は生じていない。その結果、音データは「ya・ki・ni・ku」であり、認識された音声発話は「焼き肉」となる。これに対し、
図6の例の場合は経過時間T2が短いため、記録部に記録された音データの先頭部分“y”が欠落している。その結果、音データは「a・ki・ni・ku」であり、認識された音声発話は、
図7の状態遷移図から「秋行く」となる。つまり、先頭の音データ「a」と次の音データ「ki」とから、単語「秋」が認識され、この単語「秋」に続く音データが「niku」の場合の確率は0.1、「iku」の場合の確率は0.2であることから、音声発話「秋行く」と認識される。
【0036】
ここで、本実施形態の音声認識装置10は、押下検知時刻Pから音声開始時刻Dまでの経過時間が予め設定された閾値時間Tよりも短い場合、プロセッサ11が音声発話の修正処理を行う。今、閾値時間Tが「T1>T>T2」の関係にあると仮定する。この場合、プロセッサ11は、
図5の例では修正を行わないが、
図6の例では修正を実行する。
【0037】
具体的にはプロセッサ11は、先ず、音データ「a・ki・ni・ku」の先頭「a」が母音である場合、この母音に子音を示す「k,s,t,n,h,m,y,r,w」を順次付加する。すなわちプロセッサ11は、音データ「ka・ki・ni・ku」、「sa・ki・ni・ku」「ta・ki・ni・ku」、「na・ki・ni・ku」、「ha・ki・ni・ku」、「ma・ki・ni・ku」、「ya・ki・ni・ku」、「ra・ki・ni・ku」、「wa・ki・ni・ku」を作成する。そしてプロセッサ11は、これらの音データのそれぞれについて、単語辞書ファイル131及び言語辞書ファイル132を用いたパターン認識処理を再度実行する。その結果、
図8に示す状態遷移図が作成されたと仮定すると、プロセッサ11は、この状態遷移図から繋がりの確率が最も高い音データ「ya・ki・ni・ku」を選出する。そしてプロセッサ11は、音声発話「秋行く」を「焼き肉」に修正する。
【0038】
このように、本実施形態の音声認識装置10によれば、ユーザが発話ボタン30を押下してから発声を開始するまでの時間が短く、記録部に記録された音声信号の先頭に欠落が生じたために誤認識してしまった場合でも、高い確率をもって音声発話を修正することができる。したがって、ユーザに発声開始のタイミングを知らせることなく、音声信号の先頭部分を記録できなかったことによる誤認識を低減できるので、認識精度の高い音声認識装置を提供することができる。
【0039】
また音声認識装置10によれば、表示画面に所定の画像を表示させてユーザに発声開始のタイミングを知らせる必要もなくなる。したがって、表示画面を有していない電子機器にも搭載できる上、プロセッサ11の処理負荷が大きくなる懸念もない。
また音声認識装置10のプロセッサ11は、ユーザが発話ボタン30を押下してから発声を開始するまでの時間が所定の閾値時間Tよりも短いときに修正を行い、閾値時間T以上のときには修正を行わない。したがって、ユーザが発話ボタン30を押下してから直ぐに発声したときだけ修正処理を行えばよいので、この点からもプロセッサ11の処理負荷が大幅に増加するようなことはない。
【0040】
またプロセッサ11は、開始指示を受け付けた第1時刻を取得する第1時刻取得手段と、音声信号の入力が開始された第2時刻を取得する第2時刻取得手段とを備えている。したがって、ユーザが発話ボタン30を押下してから発声を開始するまでの時間を正確に把握できるので、適切な閾値時間Tを設定することで、無駄な修正処理を実施するのを未然に防ぐことができる。
【0041】
また、認識した音声発話を修正する場合、プロセッサ11は、その音声発話の先頭の単語を、音声発話の2番目以降の単語と繋がりのある他の単語に置き換えて修正する。したがって、修正処理も比較的容易であり短時間で実行できるので、プロセッサ11の処理負荷が大幅に増加して認識速度が低下する懸念もない。
【0042】
以下、他の実施形態について説明する。
前記実施形態では、プロセッサ11が、
図4のAct2にて検知時刻Pを記憶し、Act4にて音声開始時刻Dを記憶した。他の実施形態では、Act1にて発話ボタン30が押下されたことを検知したならば、プロセッサ11がタイマをスタートさせ、Act3にて音データの入力を検知したならば、プロセッサ11がタイマをストップさせる。そしてAct9では、プロセッサ11がタイマの計時時間と閾値時間Tとを比較して、修正処理を行うか否かを判定する。このような構成であっても、前記実施形態と同様な作用効果を奏することができる。
【0043】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]音声入力手段を介して入力された音声信号を記録する記録部と、音声入力の開始指示を受け付ける受付手段と、前記受付手段により前記開始指示を受け付けた後に前記記録部に記録された音声信号から音声発話を認識する認識手段と、前記受付手段により前記開始指示を受け付けてから前記音声入力手段を介して音声信号が入力されるまでの時間により前記音声発話の認識結果を修正するか否かを判定する判定手段と、前記判定手段により修正すると判定された音声発話を修正する修正手段と、を具備する音声認識装置。
[2]前記判定手段は、前記時間が所定の閾値時間よりも短いとき修正すると判定する、付記[1]記載の音声認識装置。
[3]前記受付手段により前記開始指示を受け付けた第1時刻を取得する第1時刻取得手段と、前記音声入力手段を介して音声信号の入力が開始された第2時刻を取得する第2時刻取得手段と、をさらに具備し、前記判定手段は、前記第1時刻から前記第2時刻までの経過時間が前記閾値時間よりも短いとき修正すると判定する、付記[2]記載の音声認識装置。
[4]前記修正手段は、前記認識手段で認識した音声発話の先頭の単語を、前記音声発話の2番目以降の単語と繋がりのある他の単語に置き換えて修正する、付記[1]乃至[3]のうちいずれか1項記載の音声認識装置。
[5]音声入力の開始指示を受け付け、前記開始指示を受け付けた後に音声入力手段を介して入力された音声信号から音声発話を認識し、前記開始指示を受け付けてから前記音声信号が入力されるまでの時間により前記音声発話の認識結果を修正するか否かを判定し、修正する場合、前記認識された音声発話を修正する音声認識方法。
[6]音声入力手段を接続するとともに、前記音声入力手段を介して入力された音声信号を記録する記録部を備えたコンピュータに、音声入力の開始指示を受け付ける機能と、前記開始指示を受け付けた後に前記記録部に記録された音声信号から音声発話を認識する機能と、前記開始指示を受け付けてから前記音声入力手段を介して音声信号が入力されるまでの時間により前記音声発話の認識結果を修正するか否かを判定する機能と、前記修正すると判定された音声発話を修正する機能と、を実現させるための音声認識プログラム。