JP5802784B2 - 音声処理装置および音声処理方法 - Google Patents
音声処理装置および音声処理方法 Download PDFInfo
- Publication number
- JP5802784B2 JP5802784B2 JP2014060862A JP2014060862A JP5802784B2 JP 5802784 B2 JP5802784 B2 JP 5802784B2 JP 2014060862 A JP2014060862 A JP 2014060862A JP 2014060862 A JP2014060862 A JP 2014060862A JP 5802784 B2 JP5802784 B2 JP 5802784B2
- Authority
- JP
- Japan
- Prior art keywords
- voice
- voice recognition
- data
- speech
- recognition
- 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
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Description
本発明の実施形態は、音声処理装置および音声処理方法に関する。
在宅医療・介護など現場においては、医療・介護職の複数の職員が、患者や被介護者のケアや日常生活の世話にかかわっている。複数の職員は、その中で、患者や被介護者の状態を観察したり診断したりする。一人の職員が連続的・継続的に患者を観察するわけではなく、多職種の複数の職員が、それぞれ異なる日時、異なる間隔で、患者を訪問し、観察する。このため、各職員が、患者についての情報を共有するため、電子カルテシステムや看護・介護記録システム、あるいはSNSに、患者の観察結果を登録することが行われている。
患者について観察結果を共有するためのシステムとして、音声メッセージを用いた情報共有システム(以降、音声つぶやきシステムと呼ぶ)が知られている。音声つぶやきシステムでは、各職員が、スマートフォン等の携帯端末のマイクに、患者の観察結果を発話し、携帯端末に搭載された音声つぶやき登録アプリケーションでこれを記録することで、音声メッセージを生成する。各職員は、生成した音声メッセージをサーバに送信し、職員間で共有されるよう登録する。この際、音声メッセージを音声認識により変換してテキストとし、当該テキスト、発話対象となった患者のIDや、発話者の職員ID、発話時刻、発話場所、音声メッセージから抽出したキーワードなどのタグを、当該音声メッセージに添付する。このようにテキストやタグが添付された音声メッセージを、音声つぶやきと呼ぶ。各職員は、サーバに蓄積された音声つぶやきを、携帯端末やパソコンから、閲覧あるいは視聴することができる。
音声つぶやきシステムの場合に、職員は、音声認識したテキストをサーバに送信する前に、テキストの内容が発話した音声に一致しているか事前に確認したい場合がある。また、一般的に、発話した内容をテキスト化してユーザ端末に保存する場合も、発話した内容が正しく音声認識されているか、確認したい場合がある。この際、音声認識したテキストを出来るだけ速く確認できるようにしつつ、ユーザ端末の低消費電力・低コストを図ることが望まれる。
ここで、音声メッセージをテキストに変換する音声認識は、端末内部で行うことや、外部の音声認識システムを利用する方法がある。また、発話を録音した音声ファイルを音声認識するバッチ音声認識や、発話中に音声認識をするリアルタイム音声認識がある。上記したような音声認識を出来るだけ速く確認しつつ、ユーザ端末の低消費電力・低コストを図る観点から、外部の音声認識システムを利用したリアルタイム音声認識を用いることが考えられる。
しかしながら、リアルタイム音声認識の場合、発話の途中で通信が途絶えた場合や、音声認識システムが多数のユーザの音声を音声認識してリソースが逼迫している場合には、音声認識が失敗する可能性が高い。音声認識が失敗した場合、ユーザは一から発話をし直さなければならず、ユーザの負荷が大きい。
本発明の実施形態は、ユーザの発話中に音声認識を行う場合に、途中で音声認識に失敗した場合でも、ユーザが発話をし直すことなく、当該発話した内容のテキストを取得可能にすることを目的とする。
本発明の実施形態として音声処理装置は、取得部、送信部、記憶部、受信部、および制御部を備える。
前記取得部は、ユーザが発話した内容を表す音声データを順次取得する。
前記送信部は、前記取得部により取得された音声データの音声認識依頼を、音声認識システムに送信する。
前記記憶部は、前記取得部により取得された音声データを記憶する。
前記受信部は、前記音声認識システムから、前記音声データを音声認識により変換したテキストまたは前記音声データの音声認識の失敗を示す情報、を含む音声認識応答を受信する。
前記制御部は、前記音声認識応答に基づき前記音声認識に失敗した音声データを特定し、前記記憶部に記憶された音声データに基づき、前記音声認識に失敗した音声データを含むデータの音声認識依頼を、前記音声認識システムへ送信するよう制御する。
以下、図面を参照しながら、本発明の実施形態について説明する。
(第1の実施形態)
図1は、本発明の実施形態に係る音声処理装置の機能ブロック図である。音声処理装置101が、ネットワーク301を介して、音声認識システム201に接続されている。
図1は、本発明の実施形態に係る音声処理装置の機能ブロック図である。音声処理装置101が、ネットワーク301を介して、音声認識システム201に接続されている。
音声処理装置101は、録音部(取得部)11、ファイル記憶部12、送信部13、受信部14、認識結果記憶部15、制御部16、表示部17、入力部18を備える。
音声処理装置101は、スマートフォン、携帯端末、タブレット、PCなどのユーザ端末に実装されることができる。音声処理装置101が備える各処理部の機能は、ユーザ端末が一般的に備えるCPU、メモリ、補助記憶装置、通信装置、入出力インタフェースを利用して実現できる。音声処理装置101が搭載されるユーザ端末には、ユーザが発話した音声を収集して電気信号に変換するマイクが備え付けられているか、外部接続によりマイクを取り付け可能であるとする。マイクが、音声処理装置101に組み込まれることも可能である。
図1の各処理部の動作は、一例として、CPU上で稼働するオペレーティングシステム(OS)と、OS上で稼働するアプリケーションにより達成される動作として実現できる。
入力部18は、ユーザが各種指示を入力する入力インタフェースである。例えば、タッチパネル、入力ボタン、マウス、キーボードなどがある。入力部18で入力された情報は、制御部16へ送られる。
表示部17は、外部から入力される画像信号に基づき、画像を表示する出力インタフェースである。表示部17は、例えば、液晶パネル、有機ELパネル、電子インクパネルなどがある。
上述のように音声処理装置が搭載されるユーザ端末には、マイクが搭載されているか、マイクを外部接続可能である。このマイクでは、ユーザが発話した音声を収集し、当該音声をアナログの電気信号に変換する。電気信号はさらに所定の形式の音声デジタルデータに変換され、録音部11に入力される。音声デジタルデータへの変換は、例えば、ユーザ端末のCPUや、マイク内部、または別の処理回路により行われる。
録音部11は、入力される音声デジタルデータの先頭から一定サイズごとに、データを音声データとして取得する取得部(図示せず)を備える。録音部11は、取得部により取得した音声データを順次、メモリ(図示せず)に格納する。メモリへ格納する際、当該音声データを、1つ前に取得された音声データに後続するように配置する。これにより、メモリ上では、録音開始から終了までに取得された各音声データが時系列に結合される。録音部11は、これらの結合された音声データにファイルヘッダ等を付加することで、予め定めた形式の音声ファイルを作成する。ファイル形式は任意でよい。一例として、WAVE(RIFF waveform Audio Format)形式やPCM(Pulse Code Modulation)形式がある。非可逆の圧縮フォーマットであるmp3形式などでもよい。なお、音声ファイルを所定の形式で可逆圧縮し、圧縮した音声ファイルを、代わりに格納してもよい。録音部11は、メモリ上に作成した音声ファイルを、ファイル記憶部12に格納する。メモリとファイル記憶部12が同一の媒体であれば、この格納動作は省略できる。
また、録音部11は、上記のように一定サイズごとに取り出した音声データに、識別子を付与する。識別子として、音声データの取得時刻を付与してもよい。時刻は、図示しないシステム時計から取得すればよい。取得時刻の代わりに、順次増加するシーケンス番号など、別の種類の識別子を付与してもよい。また、音声データには、音声認識システム201が提供する音声認識サービスのプロトコルに応じた情報(ヘッダ等)を付加してもよい。このヘッダ内の所定フィールドに上記識別子を含めても良い。録音部11は、識別子を付与した音声データを、送信部13に送る。ユーザが発話中であれば、ユーザの発話と並行して、音声データが送信部13に送られることになる。
ファイル記憶部12は、録音部11により生成された音声ファイルを内部に記憶する。ファイル記憶部12は、例えばOSに搭載されているファイルシステムによって管理されている。ファイル記憶部12は、ハードディスク、SSD、メモリなど、任意の記憶媒体で構成できる。
送信部13は、所定の通信プロトコルに基づき、音声認識システム201と通信する。使用する通信プロトコルは任意でよいが、例えばTCP(またはUDP)/IPベースのプロトコル処理を行う。TCP/IPベースのプロトコル処理として、TCP/IPより上位のhttpを利用することも可能である。また、送信部13は、ネットワーク301との通信用のプロトコルも処理する。例えば、無線LAN規格に従ったプロトコル、3Gなどのセルラー方式対応のプロトコル、または、イーサーネットプロトコル等が挙げられる。
送信部13は、録音部11から入力される一定サイズごとの音声データとその識別子から、当該音声データの音声認識を要求する音声認識依頼を生成する。音声認識依頼は、音声データとその識別子を含む。送信部13は、生成した音声認識依頼のデータをパケット化し、音声認識システム201に、ネットワーク301を介して送信する。ユーザが発話中であれば、音声認識依頼が発話中に音声認識システム201に送信されることになる。
音声認識システム201は、音声処理装置101から音声認識依頼を受信し、音声認識依頼から音声データと識別子を抽出する。音声認識システム201は、当該音声データを音声認識によりテキストに変換する。このテキストとは、任意の文字列のことである。音声認識システム201は、音声認識に成功した場合は、生成したテキストと、抽出した識別子とを含む音声認識結果を生成する。音声認識結果に、音声認識が成功したことを表す成功情報を含めても良い。
一方、音声認識システム201は、音声認識に失敗した場合は、音声認識に失敗したことを示す失敗情報と識別子とを含む音声認識結果を生成する。音声認識に失敗する場合としては、音声認識システム201が多数の音声データを処理中でリソースに余裕がない場合や、システムトラブルにより音声認識そのものができない状態である場合がある。または、当該音声データ自体に異常がある場合(処理できない値が含まれる場合)などがある。
音声認識システム201は、音声認識に成功した場合、および失敗した場合のいずれの場合も、音声認識結果を生成し、音声認識結果を含む音声認識応答を、音声処理装置101に送信する。
受信部14は、所定の通信プロトコルに基づき、音声認識システム201と通信する。また、受信部14は、ネットワーク301と、無線または有線用の通信プロトコルの処理を行う。これらの通信プロトコルは、送信部13の場合と同様である。受信部14は、音声認識システム201から音声認識応答を、ネットワーク301を介して受信する。受信部14は、音声認識応答から音声認識結果を取り出す。音声認識結果には、音声認識が成功した場合は、音声データを変換したテキストと、識別子が含まれる。さらに、音声認識が成功したことを示す成功情報が含まれても良い。一方、音声データの音声認識に失敗した場合には、音声認識結果には、音声認識に失敗したことを示す失敗情報と識別子が含まれる。
制御部16は、録音部11の開始および終了を含む動作を制御する。例えば、入力部18からのユーザ指示により録音部11を起動して、音声録音を開始する。また、入力部18からのユーザ指示により、録音部11を停止することで、音声録音を終了する。
また、制御部16は、各音声データの送信時に、各音声データに付加された識別子を認識結果記憶部15あるいは別のメモリに、リストとして格納することで、送信済みの音声データを管理する。また、受信部14で取得された各音声認識結果を認識結果記憶部15あるいは別のメモリに、リストとして格納することで、受信済みの音声認識結果を管理する。制御部16は、送信済みの音声データに付加した識別子と、受信済みの音声認識結果内の識別子を比較することで、送信した音声データのうち、どの音声データの音声認識結果が受信されているかを把握できる。
制御部16は、各音声認識結果に基づき、今回のユーザの発話に対する音声認識が成功したか否かを決定する。具体的に、音声認識システム201に送信した音声データのうち、少なくともH(Hは1以上の整数)個の音声データの音声認識に失敗した場合は、今回の発話に対する音声認識は失敗したと決定する。一方、失敗した音声データの個数がH個未満のときは、成功したと決定する。例えば、H=1の場合、送信したすべての音声データに対する音声認識が成功した場合は、今回の発話の音声認識は成功したと決定し、1つの音声データでも音声認識に失敗した場合は、今回の発話の音声認識は失敗したと決定する。以下では、H=1の場合を想定して説明を行うが、本実施形態はこれに限定されない。
制御部16は、今回の発話に関し、成功の決定をした場合は、各音声データから変換されたテキストを時系列に結合して発話テキストを生成し、発話テキストを画面に表示する。
例えば、ユーザが「山田さんを訪問しました。顔色はよいです。しかし念のため解熱薬を処方しておきます。以上です。」と発話した場合を考える。この発話に基づき音声データが複数個(ここでは4つ)順次、取得され、それぞれを含む音声認識依頼が、音声認識システム201に送信され、4つの音声認識結果が返されたとする。1番目の音声認識結果には、「山田さんを訪問しました。」のテキストが含まれ、2番目の音声認識結果には「顔色はよいです。」のテキストが含まれ、3番目の音声認識結果には、「しかし念のため解熱薬を処方しておきます。」のテキストが含まれ、4番目の音声認識結果には、「以上です。」のテキストが含まれていたとする。この場合、すべての音声データの音声認識が成功したため、成功の決定がなされ、これらのテキストを結合した発話テキスト「山田さんを訪問しました。顔色はよいです。しかし念のため解熱薬を処方しておきます。以上です。」を画面に表示する。
一方、失敗の決定をした場合は、音声認識失敗のメッセージを画面に表示する。その際、今回発話した内容を再度発話する必要がないことをユーザに通知するメッセージを、アプリケーション画面に表示してもよい。または、音声認識システム201に音声認識を(自発的に)再依頼する旨をユーザに通知するメッセージを、当該画面に表示してもよい。これは、発話開始から終了までの音声のデータを音声ファイルに保存してあるため、後にこの音声ファイルを用いて、音声認識システム201に音声認識を依頼できるためである。音声認識失敗の場合に画面に表示するメッセージの例として、「リアルタイムの音声認識に失敗したが、発話開始から終了までの音声を録音した音声ファイルにより、再度音声認識を試みる」旨を表示してもよい。これによりユーザは、一度発話した内容を再度発話する必要がないことを把握できる。上述した今回発話した内容を再度発話する必要がないことをユーザに通知するメッセージは、音声データの取得が完了した直後や、音声ファイルを生成した直後や、音声認識依頼の送信が完了した直後など、音声データの取得が完了した後の任意の時点で表示してもよい。
認識結果記憶部15は、ユーザの発話と、発話に対する音声認識結果と、音声ファイルとの対応を管理するための対応情報を記憶している。対応情報は、例えばテーブル形式など任意の形式で保持することができる。ここでは、対応情報はテーブル形式を有し、このテーブルを認識結果テーブルと呼ぶ。認識結果記憶部15は、ハードディスク、SSD、メモリなど、任意の記憶媒体で構成できる。ファイル記憶部12と同じ装置であっても、異なる装置であってもよい。
図4に、認識結果テーブルの例を示す。認識結果テーブルは、例えばテキストファイル、またはデータベースとして保持されることができる。認識結果テーブルは、「発話日時」、「認識結果」、「音声ファイル」の列を有する。ユーザの発話ごと(録音の1単位ごと)に、制御部16により1つのエントリーが追加される。
「発話日時」列は、ユーザの発話日時を特定する情報を保持する。例えば、アプリケーションの画面上の「登録ボタン」を選択(タッチ、クリックなど)した日時、もしくは発話を開始した日時を格納する。発話を開始した日時は、最初に取得される音声データの先頭のタイミングの日時である。発話日時により、ユーザの発話が識別される。なお、発話ごとに、発話の識別情報(発話ID)を発番する場合は、その発話IDを保持する列を設けても良い。
「認識結果」列は、ユーザの発話に対して、各音声データから変換されたテキストを結合した発話テキスト、または、音声認識が未完了であることを示す情報を保持する。音声認識が未完了であることを示す情報の例として、音声認識に失敗したことを示す情報がある。図4では<失敗>という情報がこれに相当する。
「音声ファイル」列は、ファイル記憶部12に記憶されている音声ファイルへのパスを保持する。パスとは、音声ファイルの格納場所を特定する情報である。この情報は、ファイル記憶部12を管理するファイルシステムから取得できる。
制御部16は、上述のように、今回の発話に関し、音声認識の成功または失敗の決定をしたら、認識結果テーブルに、エントリーを追加する。具体的に、成功または失敗のいずれを決定した場合も、「発話日時」列に、発話日時を特定する情報を格納し、「音声ファイル」列には、今回のユーザの発話に関する音声ファイルへのパスを格納する。「認識結果」列には、成功の場合は、発話テキストを格納し、失敗の場合は、音声認識の未完了または失敗を表す情報(ここでは、<失敗>)を格納する。
また、制御部16は、一定時間間隔で、この認識結果テーブルに基づき、音声認識に失敗した発話をチェックする。例えば、「認識結果」列が「<失敗>」になっているエントリーを特定する。制御部16は、特定した発話に対応する音声ファイルを、「音声ファイル」列に保持されているファイルパスに従って、ファイル記憶部12から読み出す。音声ファイルが、音声認識システム201が対応しないデータ形式で圧縮して記憶されている場合は、読み出した音声ファイルを、音声認識システム201が対応するデータ形式に復号する。
制御部16は、当該音声ファイルに含まれる音声データ全体を取り出し、当該音声データ全体の音声認識依頼を、音声認識システム201に送信する。音声データ全体でなく、一定サイズごとに音声データ全体を分割して、ファイルの先頭側から順番に、送信してもよい。この場合も、各音声データには識別子を付与して送信することで、受信部14で取得される音声認識結果との対応付けが可能である。なお、音声認識システム201が、音声ファイルそのものに対応している場合は、音声ファイルから音声データを取り出さずに、音声ファイル自体を送信することも可能である。
受信部14は、音声認識システム201から、音声認識結果を含む音声認識応答を受信する。音声データ全体を一括で送信した場合で、音声認識が成功だった場合、音声認識結果内のテキスト(発話テキスト)は、該当するエントリーの「認識結果」列に追加(<失敗>を上書き)される。音声データを分割して送信した場合は、すべての音声データの音声認識が成功した場合のみ、各音声データに対応するテキストを結合した発話テキストが、「認識結果」列に格納される。1つでも音声データの音声認識に失敗した場合は、失敗を表す情報(<失敗>等)が格納される。
再音声認識に成功した場合、制御部16は、その旨のメッセージを、表示部17に出力することで、ユーザに通知してもよい。また、音声認識された発話テキストを、当該メッセージと同じ画面または別の画面で、表示部17に表示してもよい。発話テキストを、ユーザから指示された時点で表示部17に表示してもよい。なお、メッセージの出力時に、スピーカから通知音を鳴らしたり、またはバイブを振動させたりしてもよい。
一方、再度の音声認識に失敗した場合、その旨のメッセージを、表示部17に出力してもよい。このとき、通知音を鳴らしたり、バイブを振動させたりしてもよい。成功の場合と失敗の場合とで、通知音のパターンや音量、バイブの振動パターンや強さを変えても良い。
制御部16は、上述した処理以外にも、各種の制御を行うことができる。例えば、ユーザに各種入力を促すための画面を表示部17に表示し、入力された指示に応じた動作を行う。
また、制御部16は、認識結果テーブルに基づき、発話日時の一覧等を表示部17に表示し、ユーザにより選択された発話日時に対応する発話テキストを表示してもよい。また、ユーザから、表示された発話テキストに対する編集の指示を受けて、テキストを修正してもよい。これにより、発話テキストに、ユーザの発話内容と異なる部分があった場合に、ユーザが正しい表現に修正できる。また、制御部16は、ユーザから音声ファイルの再生指示を受け付け、ユーザから指示された音声ファイルを、スピーカを用いて再生してもよい。
また制御部16は、認識結果テーブルに格納されている各発話の発話テキスト、またはファイルパスに示される音声ファイルを、別途設けたサーバに送信してもよい。このサーバは、複数のユーザ端末(音声処理装置)から発話テキストまたは音声ファイルを収集して、ユーザ別、発話日時別など様々な属性に分類して、発話テキストまたは音声ファイルを管理する。サーバは、各ユーザ端末からの問い合わせに対して、要求された属性の発話テキストまたは音声ファイルをユーザ端末に送信してもよい。
図2および図3に、本音声処理装置101の動作のフローチャートを示す。
(ステップS101)制御部16が、アプリケーションの画面を表示部17に表示する。ユーザが、入力部18を介して、アプリケーション画面上の「登録ボタン」をタッチすると、制御部16はこれを検知して、画面上に、発話を促すメッセージ(「お話し下さい」)を表示する。これと同時に、制御部16は、録音部11を起動する。ユーザは、音声を入力可能な状態となる。
このとき、制御部16は、アプリケーション画面上に、音声入力中であることを示す表示を行っても良い。表示内容としては、例えば、ユーザの発話音量を示すバーや、波形がある。
ユーザは、ユーザ端末に搭載されているマイクに向かって、発話を開始する。録音部11には、発話の冒頭から、音声信号を所定形式でデジタル化したデジタルデータが入力される。録音部11は、デジタルデータの先頭から一定サイズに達するごとに、一定サイズ分のデータを、音声データとして切り出す。
(ステップS102)録音部11は、一定サイズの音声データを取得するごとに、メモリ上に音声データを追加し、発話時刻順に音声データを後続するように結合する。すべての音声データを結合したら、ファイルヘッダ等の情報を設定することで、音声ファイルを生成する。
(ステップS103)また、録音部11は、一定サイズの音声データを取得するごとに、識別子を付与する。送信部13は、音声データと識別子を含む音声認識依頼を、音声認識システム201に送信する。このとき、制御部16は、音声データに付加した識別子をメモリに格納して、リスト管理する。
受信部14は、音声認識システム201から、音声認識結果を含む音声認識応答を、ネットワーク301を介して受信する。制御部16は、音声認識結果を認識結果記憶部15に格納して、リスト管理する。音声認識結果には、音声認識が成功の場合は、音声データを変換したテキストと識別子が含まれ、失敗の場合は、音声認識に失敗したことを示す失敗情報と識別子が含まれる。音声認識が成功の場合に、音声認識結果内に、成功を示す情報がさらに含まれてもよい。
(ステップS104)制御部16は、認識結果記憶部15を定期的に確認し、送信部13から送信した音声認識依頼に対応する音声認識結果が取得されているかを調べる。制御部16は、音声データに付加したのと同じ識別子を有する音声認識結果が、認識結果記憶部15に存在するかで確認を行う。
(ステップS105)制御部16は、認識結果記憶部15に音声認識結果が存在する場合は、その音声認識結果の内容を調べる。
(ステップS106)音声認識結果に失敗情報が含まれる場合は、今回の発話の音声認識は失敗したことを決定する。すなわち、音声認識システム201に送信する音声データのうち1つでも音声認識に失敗した場合は、今回のユーザの発話に対する音声認識は失敗したと決定する。このとき、制御部16は、この失敗の決定を記憶するため、認識結果記憶部15の所定領域、またはメモリ上の領域に予め所定のフラグを格納しておき、このフラグに、失敗を示す値を設定する(ステップS107)。フラグの初期値は、成功を示す値が設定されているとする。
(ステップS108)ステップS107で失敗を記録した後、ユーザの発話が終了したかを判断する。ステップS105で音声認識結果にテキスト(または成功を示す情報)が含まれる場合、または、ステップS105で音声認識結果がないと判断された場合も、ユーザの発話が終了したかを判断する。ユーザは、発話を終了した時点で、アプリケーション画面上の「発話終了ボタン」を押し、制御部16は、このボタンの押下を検知することで、発話終了を判定する。制御部16は、発話終了を判定したら、録音部11の処理状態を確認する。録音部11の処理が完了していれば、録音部11を停止させる。録音部11がまだ動作中であれば、処理が完了するまで待機する。これにより、録音が終了する。
なお、ユーザが録音を明示的に終了させる以外に、制御部16が、発話の空白を検出することで、自動的に録音を終了することもできる。発話の空白は、例えば、音量が閾値以下の区間が一定時間以上、継続した場合がある。ユーザの発話がまだ終了していない場合は、ステップS101に戻り、音声データの取得処理を行う。
(ステップS109)制御部16は、ユーザの発話が終了したと判定したら、未送信の音声データが残っているかを調べる。例えば送信部13の送信バッファに、未送信の音声確認依頼が残っている場合(音声認識システム201から送達確認応答(ACK)が返ってきていない場合も含む)、未送信の音声データが残っていると判断する。または、ユーザの発話が終了したが、録音部11の動作が継続している場合も、未送信の音声データが残っていると判断する。未送信の音声データが残っていれば、ステップS103に戻り、送信処理を引き続き行う。
(ステップS110)未送信の音声データが残っていなければ、すなわち、すべての音声データが送信済みであれば、すべての音声データに対応する音声認識結果が、受信済みかを判断する。まだ受信していない音声認識結果が存在する場合は、ステップS104に戻る。
(ステップS111)すべての音声データに対応する音声認識結果が受信済みであれば、前述した所定のフラグを確認する。なお、この時点では、ユーザの発話は完了し、全ての音声データが送信済みであり、全ての音声データに対する音声認識結果が受信済みである
(ステップS112)所定のフラグに失敗を示す値が設定されている場合、これは、ユーザによる発話の開始から終了までの全ての音声データのうち、少なくとも1つの音声データの音声認識に失敗したことを意味する。この場合は、音声認識失敗のメッセージを画面に表示する。その際、上述したように、今回の発話と同じ内容を再度発話する必要がないことをユーザに通知するメッセージを、アプリケーション画面上に表示してもよい。
(ステップS113)一方、所定のフラグに失敗を示す値が設定されていない場合、これは、ユーザによる発話の開始から終了までの全ての音声データに対して音声認識が成功したことを意味する。この場合は、音声認識結果に含まれるテキストを時系列に結合した発話テキストを生成し、生成した発話テキストを画面に表示する。
(ステップS114)制御部16は、認識結果記憶部15内の認識結果テーブルに、今回の発話に関するエントリーを追加する。すなわち、制御部16は、「発話日時」列に、今回の発話日時、「音声ファイル」列に、今回の発話に関する音声ファイルへのパスを格納する。「認識結果」列に、今回の発話の音声認識が成功の場合は、発話テキストを格納し、失敗の場合は、失敗を表す情報(ここでは、<失敗>)を格納する。
ここで、ネットワーク301の状況によっては、音声認識依頼の送信に時間がかかる場合や、音声認識システム201からすべての音声認識応答が届くまでに時間がかかる場合もあり得る。そこで、発話の日時から一定時間以内にすべての音声認識依頼の送信が完了しない場合、またはすべての音声認識応答が届かない場合は、今回の音声認識は失敗と決定し、図2および図3のフローにおいて、失敗と決定した場合と同様の処理を行っても良い。ここでは、発話の日時を一定時間の起点にしたが、任意の日時を起点にしてもよい。
図5は、音声認識に失敗した発話に対する再音声認識(バッチ音声認識)の制御のフローチャートである。
(S201)制御部16は、一定時間間隔で、認識結果記憶部15に保持された認識結果テーブルに基づき、音声認識に失敗した発話をチェックする。
(S202)制御部16は、特定した発話に対応する音声ファイルを、「音声ファイル」列に保持されているファイルパスに従って、ファイル記憶部12から読み出す。
(S203)制御部16は、読み出した音声ファイルに含まれる音声データを取り出し、当該音声データの音声認識依頼を、音声認識システム201に送信する。上述したように、 音声データの送信方法として、音声データの全体を一括で送信してもよいし、一定サイズごとに音声データを分割して、ファイルの先頭側から順番に、送信してもよい。
(S204)受信部14は、音声認識システム201から、音声認識結果を含む音声認識応答を受信する。音声データ全体を一括で送信した場合で、音声認識が成功だった場合は、音声認識結果内のテキストを、発話テキストとして、エントリーの「認識結果」列に書き込む。音声データを分割して送信した場合は、図2および図3に示した処理と同様に、すべての音声データの音声認識が成功した場合のみ、各音声データに対応するテキストを結合して発話テキストとし、「認識結果」列に書き込む。1つでも音声データの音声認識に失敗した場合は、失敗を表す情報(<失敗>等)を格納する。
(S205)再音声認識に成功した場合、制御部16は、その旨のメッセージを、表示部17に出力することで、ユーザに通知してもよい。また、音声認識された発話テキストを、当該メッセージと同じ画面、または別の画面で、表示部17に表示してもよい。または、発話テキストを、ユーザから指示された時点で表示してもよい。再度の音声認識に失敗した場合、その旨のメッセージを、表示部17に出力してもよい。
なお、ステップS202で音声ファイルを取り出してから、音声認識依頼の送信を開始し、音声認識結果が返ってくるまでの間、認識結果テーブルの「認識結果」列に、音声認識中を示す情報を格納しておいてもよい。音声認識中を示す情報として、例えば、「音声認識中」の文字を格納してもよい。制御部16は、ステップS201でのチェック時に、「認識結果」列に、音声認識中を示す情報が含まれるエントリーについては、音声ファイルの取り出しを行わないようにする。これにより、同じ音声ファイルが、重複して再音声認識依頼されることを防止できる。
なお、本フローの処理は、図2および図3のフローの処理が行われている間、すなわち、ユーザが発話して、発話中にこれに基づく音声認識のための処理が行われている間は、行わなくてもよい。これにより、音声処理装置101および音声認識システム201の負荷を下げて、リアルタイム音声認識の成功の可能性を高めることができる。
上述した認識結果テーブルは、種々のバリエーションが可能である。例えば、一つの端末を複数のユーザが使い、アプリケーションへのログインID、パスワードにより、ユーザを切り替える場合は、認識結果テーブルにユーザIDを保持する列を設けても良い。
また、別の例として、認識結果テーブルから「認識結果」の列を削除して、「発話日時」と「音声ファイル」列のみを含むテーブルを作成してもよい。このテーブルには、発話に対する音声認識に失敗したときのみ、エントリーを追加する。成功したときは、発話テキストをユーザに画面で提示し、所定の手続を経た後、音声処理装置から消去する。所定の手続として、例えば「確認ボタン」などをユーザがタッチすることで、テキストを確認したことを表明した場合や、発話テキストを、他の装置(例えば前述したサーバ)に送信することなどがある。
本実施形態では、音声処理装置101は、ネットワーク301を介して音声認識システム201と通信したが、音声認識システムが音声処理装置101内に組み込まれても良い。この場合、音声認識システムは、CPUと同じバス、またはチップセット等を介して別のバスに接続されてもよい。または、音声認識システムの機能が、CPUによるプログラム実行として実現されてもよい。
以上、本実施形態によれば、ユーザの発話中に、発話と並行して音声認識システムに音声認識を依頼するとともに、発話内容を音声ファイルとして記憶しておく。音声認識に失敗した場合は、この音声ファイルに基づき再度、音声認識を依頼する。よって、再度ユーザに発話させることなく、音声認識を依頼でき、ユーザの負荷を低減することができる。また、音声認識に失敗した場合に、再度の発話は不要である旨のメッセージをユーザに通知することにより、ユーザは再度の発話は不要であると把握できる。よって、ユーザは、その場での音声認識の成功を確認できなくとも、安心してその後の作業を行うことができる。
(第2の実施形態)
本実施形態では、ユーザの発話状況、音声認識システム201に送信した音声データに対する音声認識結果の到達状況、および音声認識結果の内容に応じて、ユーザに通知するメッセージを制御する。
本実施形態では、ユーザの発話状況、音声認識システム201に送信した音声データに対する音声認識結果の到達状況、および音声認識結果の内容に応じて、ユーザに通知するメッセージを制御する。
ここでは、音声認識中であることを通知するメッセージ、音声認識が成功したことを通知するメッセージ、音声認識に失敗したことを通知するメッセージの表示を制御する場合を示す。
音声認識中であることを通知するメッセージは、少なくとも1つの音声データに対する音声認識結果が受信されておらず、かつ、失敗を示す情報を含む音声認識結果が1つも受信されていないときに、表示する。具体的に、以下の2つの条件が満たされる場合に表示する。
(条件1)送信したいずれかの音声データに対する音声認識結果が返ってきていない
(条件2)送信したいずれの音声データについても失敗が返ってきていない
メッセージの具体例として、たとえば「音声認識中」の文字を表示することがある。
(条件1)送信したいずれかの音声データに対する音声認識結果が返ってきていない
(条件2)送信したいずれの音声データについても失敗が返ってきていない
メッセージの具体例として、たとえば「音声認識中」の文字を表示することがある。
音声認識が成功したことを通知するメッセージは、音声認識システム201に送信したすべての音声データの音声認識が成功した場合に表示する。具体的に、以下の条件3〜5を全て満たす場合に、表示する。
(条件3)発話が終了している
(条件4)未送信の音声データはない
(条件5)送信した全ての音声データについての音声認識に成功した
メッセージの具体例として、たとえば「音声認識成功」の文字を表示することがある。
(条件3)発話が終了している
(条件4)未送信の音声データはない
(条件5)送信した全ての音声データについての音声認識に成功した
メッセージの具体例として、たとえば「音声認識成功」の文字を表示することがある。
音声認識に失敗したことを通知するメッセージは、音声認識システム201に送信した音声データのうち、少なくとも1つが音声認識に失敗した場合に表示する。具体的に、上記の条件3、4と、以下の条件6を全て満たす場合に表示する。
(条件6)送信したいずれかの音声データについて音声認識に失敗した
メッセージの具体例として、たとえば「音声認識失敗」の文字を表示することがある。
(条件6)送信したいずれかの音声データについて音声認識に失敗した
メッセージの具体例として、たとえば「音声認識失敗」の文字を表示することがある。
上述した3つのメッセージは、いずれも2つ以上が同時に表示されることはない。つまり、条件1と条件5は同時には成立しないので、「音声認識中」と「音声認識成功」が同時に表示されることはない。条件2と条件6は同時には成立しないので、「音声認識中」と「音声認識失敗」が同時に表示されることはない。また条件5と条件6は同時には成立しないので、「音声認識成功」と「音声認識失敗」が同時に表示されることはない。
以上により「音声認識中」、「音声認識成功」、「音声認識失敗」のいずれか1個しか表示されない。これにより発話中には「音声認識失敗」を表示せず、ユーザに最後まで発話させることができる。なお、発話中に条件6が成立した場合に、「音声認識失敗」を表示する場合は、途中で音声認識に失敗したが発話を最後まで継続するよう促すメッセージを表示しても良い。
(第3の実施形態)
第1の実施形態では、発話の音声認識に成功した場合は、発話の全体テキストを表示し、一部の音声データの音声認識に失敗した場合は、音声認識の失敗を示すメッセージを表示した。
第1の実施形態では、発話の音声認識に成功した場合は、発話の全体テキストを表示し、一部の音声データの音声認識に失敗した場合は、音声認識の失敗を示すメッセージを表示した。
本実施形態では、音声認識に成功した音声データについては、そのテキストを表示し、音声認識に失敗した音声データについては、音声認識が未完了であることを示すテキストを表示する。音声認識が未完了であることを示すテキストの例として、音声認識が失敗したことを示すテキスト(例えば<失敗>)がある。これらのテキストを発話時刻順に並べて表示する。これにより、ユーザは、自分が発話した内容の一部のテキストだけでも迅速に確認できる。
例えば、ユーザが「山田さんを訪問しました。顔色はよいです。しかし念のため解熱薬を処方しておきます。以上です。」と発話したとする。この発話に基づき、4つの音声データが順次、取得され、それぞれを含む音声認識依頼が、音声認識システム201に送信され、4つの音声認識結果が返されたとする。1番目の音声認識結果には、「山田さんを訪問しました。」のテキストが含まれ、2番目の音声認識結果には、失敗を示す情報が含まれ、3番目の音声認識結果には、「しかし念のため解熱薬を処方しておきます。」のテキストが含まれ、4番目の音声認識結果には、失敗を示す情報が含まれていたとする。
このとき、音声認識に成功した音声データについては、そのテキスト、音声認識に失敗した音声データについては、失敗を示すテキスト(例えば<失敗>)を、互いに結合して、表示する。この結果、表示されるテキストは、「山田さんを訪問しました。<失敗>しかし念のため解熱薬を処方しておきます。<失敗>」のようになる。認識結果テーブルの「認識結果」列には、このような結合されたテキストを格納する。
ここで、各音声認識結果と、表示されるテキスト全体との対応関係を明確にするため、各音声認識結果に対応するテキストを、適当な記号(例えば#)で結合してもよい。このとき、表示されるテキストは、「山田さんを訪問しました。#<失敗>#しかし念のため解熱薬を処方しておきます。#<失敗>#」のようになる。ユーザは、表示されたテキストを見ることで、音声データが4つ取得され、2番目と4番目の音声データの音声認識に失敗したことが分かる。
本実施形態でも、第1の実施形態と同様に、一部の音声データの音声認識に失敗した場合、発話に対する音声認識は失敗と判断する。この判断を記録するため、認識結果テーブルに、「認識結果」列とは別に、列を1つ追加し、失敗を示す情報(たとえば<失敗>)を格納してもよい。成功の場合には、この列の値はヌルにするか、成功を示す情報(たとえば<成功>)を格納してもよい。この列に「<失敗>」があるか否かで、失敗の有無を判断できる。もちろん、このような列を追加することなく、「認識結果」列のテキスト内に<失敗>の文字が含まれるかを検索することで、失敗の有無を検出してもよい。
再音声認識を依頼する場合、第1の実施形態と同様に、音声認識が失敗の発話に対応する音声ファイルから、発話の音声データを取得し、音声認識システム201に音声認識を依頼する。取得した音声データ全体を一括して依頼してもよいし、あるいは、一定サイズごとに分割して依頼してもよい。
または、音声認識に失敗した音声データのみについて、再音声認識を依頼してもよい。具体的に、音声ファイルから取得した音声データを一定サイズごとに分割し、このうちの何番目が音声認識に失敗したかを、上記の記号(例えば#)に基づき特定する。
上述した例「山田さんを訪問しました。#<失敗>#しかし念のため解熱薬を処方しておきます。#<失敗>#」では、2番目と4番目の音声データが音声認識に失敗したと判断できる。よって、2番目と4番目の音声データのみ、再音声認識依頼を行うことになる。
仮に2番目の音声データの再音声認識が成功し、4番目の音声データの再音声認識が失敗した場合、表示されるテキスト(「認識結果」列に格納されるテキスト)は、「山田さんを訪問しました。#顔色はよいです。#しかし念のため解熱薬を処方しておきます。#<失敗>#」となる。この場合も、再音声認識に失敗した音声データが存在するため、発話に対する音声認識結果は、失敗と判断される。
この後、さらに再音声認識を行う場合は、4番目の音声データのみ、再音声認識を依頼する。この音声データの音声認識が成功した場合は、表示されるテキストは、「山田さんを訪問しました。#顔色はよいです。#しかし念のため解熱薬を処方しておきます。#以上です。」のようになる。
図6に、音声認識に失敗した音声データのみ、再音声認識の依頼を行う場合の動作のフローを示す。図5のフローチャートのS202とS203の間にステップS206が追加されている。ステップS202で音声認識に失敗した発話の音声ファイルを取得した後、ステップS206では、音声認識に失敗した音声データのみを音声ファイルから切り出する。ステップS203では、切り出した音声データのみについて、音声認識を音声認識システムに依頼する。他のステップは図5と同様であるため、説明を省略する。
本実施形態のように、一部の音声データについてのみ、音声認識を行う際、音声認識システム201は、その前の成功した部分のテキストも参照したほうが、音声認識精度がよくなる可能性がある。そこで、その一部の音声データの1つもしくは複数前までの音声データを変換したテキストを、認識結果テーブルから読み出して、当該一部の音声データとともに、送信してもよい。
または、当該一部の音声データの1つまたは複数前までの音声データを送信して、当該一部の音声データの音声認識精度を向上させてもよい。このように、本実施形態は、音声認識に失敗した音声データのみを送る場合、当該音声データとその1つまたは複数前までの音声データを送る場合、上述したような音声データすべてを送る場合のいずれも含む。つまり、音声認識に失敗した音声データを含むデータである限り、送信する音声データは任意である。当該音声認識に失敗した音声データの次の音声データを含めることも当然に可能である。
また、上述した説明では、各音声データの音声認識の成功または失敗が確定した後で、表示部17の画面へのテキスト表示を行ったが、音声認識結果が取得されるごとに、順次、画面に表示してもよい。これにより、音声認識から結果表示までの時間をより短時間にすることができ、リアルタイム性を高めた表示が可能となる。
(第4の実施形態)
第1の実施形態では、音声認識に失敗した場合、録音した音声ファイルに基づき、音声認識システムに再音声認識を依頼する。しかしながら、一定回数、音声認識を再依頼しても、音声認識に成功しない場合もあり得る。また、最初に音声認識を依頼して失敗した後、定期的に再音声認識を行っているにもかかわらず、長い間、音声認識に成功しない場合もあり得る。このような場合は、音声データそのものに問題がある可能性があると考えられるため、音声認識をこれ以上、行わないようにしてもよい。以下、本実施形態について詳細に説明する。
第1の実施形態では、音声認識に失敗した場合、録音した音声ファイルに基づき、音声認識システムに再音声認識を依頼する。しかしながら、一定回数、音声認識を再依頼しても、音声認識に成功しない場合もあり得る。また、最初に音声認識を依頼して失敗した後、定期的に再音声認識を行っているにもかかわらず、長い間、音声認識に成功しない場合もあり得る。このような場合は、音声データそのものに問題がある可能性があると考えられるため、音声認識をこれ以上、行わないようにしてもよい。以下、本実施形態について詳細に説明する。
制御部16は、音声認識に失敗した発話について、音声認識の再依頼を行った回数が一定値に達したかを判断する。一定値に達した発話については、音声認識をこれ以上行わないように制御する。音声認識の依頼を行った回数を記憶するため、一例として、図4の認識結果テーブルに、「再音声認識回数」という列を別途設けてもよい。この列には、音声認識結果が<失敗>の発話について、音声ファイルによる音声認識の依頼を行った回数を格納する。
制御部16は、この回数が一定値に達した発話については、再音声認識を依頼しないように制御する。この場合、制御部16は、この発話に関する音声認識はもはや行わないことをユーザに通知するメッセージを、表示部17に表示してもよい。例えば、「規定の回数を超えて音声認識に失敗した。再度の音声認識は行わない。」のようなメッセージを表示してもよい。
同様に、制御部16は、最初の発話日時から一定時間内に音声認識に成功しない場合は、音声認識の依頼を、これ以上行わないように制御する。例えば、図4の認識結果テーブルにおいて、認識結果が<失敗>である発話の中で、「発話日時」の値と、現在日時の間隔が、一定時間(例えば3時間)以上のものを検出する。検出した発話については、これ以上、音声認識を依頼しないように制御する。その場合、この発話に関する音声認識はもはや行わないことをユーザに通知するメッセージを、表示部17に表示してもよい。例えば、「発話時から規定の時間を超えても音声認識に成功しない。再度の音声認識は行わない」といったメッセージを表示してもよい。ここでは、発話日時を一定時間の起点にしたが、任意の日時を起点にしてもよい。
以上、本実施形態によれば、音声認識に成功する可能性が低いと考えられる発話については、これ以上音声認識を行わないようにすることで、音声処理装置101の処理負荷を低減できる。また、ユーザは音声認識の成功を待つ時間を短くできるため、ユーザの負荷を低減できる。また、ユーザが発話内容を忘れない内に、再度の発話を行うことが可能となる。
(第5の実施形態)
第1〜第4の実施形態では、音声処理装置が音声認識システムに音声認識の依頼を行ったが、本実施形態では、音声処理装置と音声認識システムとの間に配置した管理サーバが代理で行う。これにより、音声処理装置の負荷を下げるとともに、音声処理装置の記憶領域を節約する。
第1〜第4の実施形態では、音声処理装置が音声認識システムに音声認識の依頼を行ったが、本実施形態では、音声処理装置と音声認識システムとの間に配置した管理サーバが代理で行う。これにより、音声処理装置の負荷を下げるとともに、音声処理装置の記憶領域を節約する。
図7は、本実施形態に係るシステムの全体構成図である。
音声処理装置401と、音声ファイル管理サーバ501(以下、管理サーバ501と呼ぶ)と、音声認識システム201が示される。これらは互いにネットワークを介して接続されている。ネットワークは、無線、有線またはこれらのハイブリッドのネットワークである。音声処理装置401と管理サーバ501間のネットワークと、管理サーバ501と音声認識システム201間のネットワークは、互いに異なるネットワークであっても、同じネットワークであってもよい。
音声認識システム201は、第1〜第4の実施形態に係る音声認識システム201と同様であるため説明を省略する。
音声処理装置401の機能ブロック図は、図1と同じものを用いることができる。ただし、各ブロックの動作は一部、変更または拡張されている。以下では、第1の実施形態との差分を中心に説明を行う。
録音部11は、第1の実施形態と同様、一定サイズごとに取得した音声データを結合して音声ファイルを生成し、ファイル記憶部12に記憶する。ただし、各音声データは送信部13へは送らない。つまり、各音声データの音声認識依頼は、音声認識システム201へ送信しない。
制御部16は、ファイル記憶部12から音声ファイルを読み出し、送信部13へ渡す。送信部13は、音声ファイルを管理サーバ301に送信する。制御部16は、音声ファイルの送信が成功した時点で、音声ファイルをファイル記憶部12から削除してもよい。これにより、データ記憶領域を節約できる。制御部16は、音声ファイルの送信後、または音声ファイルの作成後、ユーザに同じ内容の発話を再度行う必要はないことを通知するメッセージを、表示部17に出力してもよい。
管理サーバ501は、音声処理装置401から音声ファイルを受信する。管理サーバ501は、音声処理装置401と同様に、サーバ側のファイル記憶装置および認識結果記憶装置を備える。管理サーバ501は、受信した音声ファイルを、サーバ側ファイル記憶装置に格納する。管理サーバ501は、ファイル記憶装置内の音声ファイルに基づき、音声認識システム201に、音声ファイルに含まれる音声データについて、音声認識依頼を送信する。管理サーバ501は、音声認識システム201から、音声認識結果を含む音声認識応答を受信する。音声認識結果は、音声認識に成功した場合は、音声データを音声認識により変換したテキストを含み、音声認識に失敗した場合は、音声認識に失敗したことを示す情報を含む。音声認識に成功した場合に、成功を示す情報が音声認識結果に追加で含まれても良い。管理サーバ501は、受信した音声認識応答に含まれる音声認識結果に基づき、第1の実施形態と同様、サーバ側認識結果記憶部15に、図4に示した形式の認識結果テーブルを生成してもよい。
音声認識の依頼は、第1の実施形態と同様に、音声ファイル内の音声データ全体に対して一括して行っても良いし、音声データ全体を、一定サイズごとに分割して行っても良い。また、音声認識システム201が音声ファイルそのものに対応している場合は、音声ファイルそのものを送信してもよい。音声ファイルが、音声認識システム201が対応しない形式に圧縮されている場合は、音声認識システム201が対応可能な形式に復号するものとする。
管理サーバ501は、第1〜第4実施形態の音声処理装置101の動作と同様に、音声認識に失敗した発話について、再音声認識依頼の制御を行う。管理サーバ501は、一定の時間間隔で、認識結果記憶部15に保持されたテーブルに基づき、音声認識に失敗した発話をチェックする。管理サーバ501は、音声認識に失敗した発話に対応する音声ファイルを取り出し、音声ファイル内の音声データに対する音声認識依頼を、音声認識システム201に再度送信する。音声認識システム201から、音声認識結果を含む音声認識応答を受信する。音声認識応答に含まれる音声認識結果の内容に応じて、認識結果テーブルを更新する。
管理サーバ501は、音声ファイルの音声認識が成功した場合、音声処理装置401に音声認識に成功した旨のメッセージを通知してもよい。管理サーバ501は、予め音声処理装置401のユーザとメールアドレスの対応表を管理している。管理サーバ501は、この対応表に基づき、該当する音声処理装置401のユーザのメールアドレスを特定し、特定したアドレス宛に、成功のメッセージを送信する。成功のメッセージには、音声認識されたテキスト(発話テキスト)を追加してもよいし、発話テキストを、添付ファイルとして送信してもよい。あるいは、成功のメッセージは、メールではなく、アプリケーションの画面にプッシュ表示する形で、送信してもよい。この場合、発話テキストも同時にアプリケーションの画面に表示してもよい。発話テキストは、アプリケーション画面上の成功のメッセージを確認したユーザの端末から、送信要求を受けて送信してもよい。
管理サーバ501は、初回またはそれ以降の音声認識に失敗した場合は、失敗した旨のメッセージを音声処理装置401に送信してもよい。この際、再度、音声認識の依頼を自発的に行う旨のメッセージを送信してもよい。第4の実施形態と同様、一定回数、音声認識に失敗した場合や、一定時間内に音声認識が成功しなかった場合は、音声認識が不可能である旨のメッセージを送信してもよい。
音声処理装置401の受信部14は、管理サーバ501から成功のメッセージと発話テキストを受信した場合、成功のメッセージを表示部17に表示し、また発話テキストを、成功のメッセージと同じ、または別の画面で、表示部17に表示する。受信した発話テキストは、認識結果記憶部に格納する。この際、図4の認識結果テーブルに準じた形式で、発話日時とともに格納してもよい。ファイル記憶部12から音声ファイルを消去する構成の場合は、「音声ファイル」列は、削除してもよい。
受信部14が、管理サーバ501から失敗のメッセージを受信した場合は、失敗のメッセージを表示部17に表示する。この場合、制御部16は、失敗を示す情報を「認識結果」列に記録してもよい。また、受信部14は、音声認識の依頼を自発的に行う旨のメッセージ、または音声認識が不可能の旨のメッセージを受信した場合は、当該メッセージを表示部17に表示する。
音声処理装置401の制御部16は、定期的に管理サーバ501に、音声ファイルの音声認識に成功したか否かを、問い合わせてもよい。問い合わせ対象となる発話は、まだ成功のメッセージを受信してない発話である。失敗のメッセージを受信した後、成功のメッセージをまだ受信していない発話も、これに相当する。この場合、管理サーバ501は、当該音声ファイルの音声認識に成功していれば、その旨のメッセージを音声処理装置401に送信してもよい。当該音声ファイルの音声認識に、まだ成功していなければ、再音声認識中の旨のメッセージを、音声処理装置401に送信してもよい。
以上に述べた管理サーバ501の動作は、一例であり、第1〜第4の実施形態における音声処理装置401の各種動作を組み合わせることも可能である。例えば第3の実施形態で示したように、発話の一部の音声データのみ音声認識が成功した場合は、成功した部分のテキストと、失敗を示すテキストを結合したテキストを、音声処理装置401に送信することも可能である。また、再音声認識依頼の制御の際も、失敗した音声データのみを切り出して、音声認識システム201に、再音声認識を依頼してもよい。
(第6の実施形態)
第5の実施形態では、管理サーバから音声認識システムへ音声認識の依頼および再依頼を行ったが、本実施形態では、音声認識の依頼は音声処理装置が行い、音声認識の再依頼は管理サーバが行う形態を示す。
第5の実施形態では、管理サーバから音声認識システムへ音声認識の依頼および再依頼を行ったが、本実施形態では、音声認識の依頼は音声処理装置が行い、音声認識の再依頼は管理サーバが行う形態を示す。
図8は、本実施形態に係るシステムの全体構成図である。音声処理装置601と、音声ファイル管理サーバ701(以下、管理サーバ701と呼ぶ)と、音声認識システム201が示される。これらは互いにネットワークを介して接続されている。ネットワークは、無線、有線またはこれらのハイブリッドのネットワークである。音声処理装置601と音声処理システム201間のネットワークと、音声処理装置601と管理サーバ701間のネットワークと、管理サーバ701と音声認識システム201間のネットワークとは、互いに異なるネットワークであっても、同じネットワークであってもよい。
音声認識システム201は、第1〜第5の実施形態に係る音声認識システム201と同様である。また音声処理装置601の機能ブロック図は、図1と同じものを用いることができる。ただし、各ブロックの動作は一部、変更または拡張されている。以下では、第1および第5の実施形態との差分を中心に説明を行う。
音声処理装置601は、第1の実施形態と同様に、図2および図3のステップS101〜S113の処理を行う。すなわち、録音部11で音声データが取得されるごとに、当該音声データを、送信部13を介して音声認識システム201に送信し、音声認識システム201から音声認識結果を取得する。音声認識システム201に送信したすべての音声データに対する音声認識結果を取得したら、今回の発話に対する音声認識が成功または失敗したかを判断する。成功の場合は、各音声認識結果に含まれるテキストを結合した発話テキストを画面に表示し、失敗の場合は、失敗のメッセージ等を画面に表示する。第1の実施形態では、この後、認識結果テーブル(図4参照)にエントリーを追加したが、本実施形態では、この代わりに、管理サーバ701に、発話日時と、音声認識結果と、音声ファイルとを一組の情報として送信する。つまり、図4の1エントリーに相当する情報(ただしファイルパスではなく、音声ファイル本体)を管理サーバ701に送信する。音声処理装置601は管理サーバ701への上記情報の送信に成功したら、音声処理装置601内の音声ファイルを削除してもよい。なお、音声処理装置601は、発話日時と認識結果のエントリーを認識結果テーブルに追加してもよい。
管理サーバ701は、上記情報(発話日時と、音声認識結果と、音声ファイル)に含まれる音声ファイルを、サーバ側のファイル記憶部に格納し、格納した位置を特定するファイルパスを取得する。また、管理サーバ701は、サーバ側の認識結果記憶部内に保持する認識結果テーブルに、上記情報に含まれる発話日時および音声認識結果と、取得したファイルパスとを含むエントリーを追加する。
管理サーバ701は、認識結果テーブルの「認識結果」列に基づき、音声認識に失敗した発話について、再音声認識依頼の制御を行う。すなわち、管理サーバ701は、一定の時間間隔で、認識結果記憶部に保持されたテーブルに基づき、音声認識に失敗した発話をチェックする。管理サーバ701は、音声認識に失敗した発話に対応する音声ファイルを取り出し、音声ファイル内の音声データに対する音声認識依頼を、音声認識システム201に再度送信する。音声認識システム201から、音声認識結果を含む音声認識応答を受信する。音声認識応答に含まれる音声認識結果の内容に応じて、認識結果テーブルを更新する。
管理サーバ701は、音声ファイルの音声認識が成功した場合、音声処理装置601に音声認識に成功した旨のメッセージを通知してもよい。成功のメッセージには、音声認識されたテキスト(発話テキスト)を追加してもよいし、発話テキストを、添付ファイルとして送信してもよい。あるいは、成功のメッセージは、メールではなく、アプリケーションの画面にプッシュ表示する形で、送信してもよい。この場合、発話テキストも同時にアプリケーションの画面に表示してもよい。発話テキストは、アプリケーション画面上の成功のメッセージを確認したユーザの端末から、送信要求を受けて送信してもよい。
管理サーバ701は、音声認識が失敗した場合は、失敗した旨のメッセージを音声処理装置601に送信してもよい。この際、再度、音声認識の依頼を自発的に行う旨のメッセージを送信してもよい。第4の実施形態と同様、一定回数、音声認識に失敗した場合や、一定時間内に音声認識が成功しなかった場合は、音声認識が不可能である旨のメッセージを送信してもよい。
音声処理装置601の受信部14は、管理サーバ701から成功のメッセージと発話テキストを受信した場合、成功のメッセージを表示部17に表示し、また発話テキストを、成功のメッセージと同じ、または別の画面で、表示部17に表示する。受信した発話テキストは、認識結果記憶部15に格納する。この際、図4の認識結果テーブルに準じた形式で、発話日時とともに発話テキストを格納してもよい。ファイル記憶部12から音声ファイルを消去する構成の場合は、「音声ファイル」列は、削除してもよい。
受信部14が、管理サーバ701から失敗のメッセージを受信した場合は、失敗のメッセージを表示部17に表示する。この場合、制御部16は、失敗を示す情報を「認識結果」列に記録してもよい。また、受信部14は、音声認識の再依頼を自発的に行う旨のメッセージ、または音声認識が不可能の旨のメッセージを受信した場合は、当該メッセージを表示部17に表示する。
また、音声処理装置601の制御部16は、定期的に管理サーバ701に、音声ファイルの音声認識に成功したか否かを、問い合わせてもよい。問い合わせ対象となる発話は、まだ成功のメッセージを受信してない発話である。音声認識の失敗のメッセージを受信した後、成功のメッセージをまだ受信していない発話も、これに相当する。この場合、管理サーバ701は、当該音声ファイルの音声認識に成功していれば、その旨のメッセージを音声処理装置601に送信してもよい。当該音声ファイルの音声認識に、まだ成功していなければ、音声認識中の旨のメッセージを、音声処理装置601に送信してもよい。
以上、本実施形態によれば、初回の音声認識依頼は音声処理装置から行うとともに、再音声認識依頼は、管理サーバから行うことにより、音声認識依頼から結果表示までの時間を短時間にできると同時に、再認識依頼に起因する処理負荷を削減または低減できる。
なお、第1〜第6の実施形態の音声処理装置および管理サーバは、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、音声処理装置および管理サーバが備えるブロックの処理は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、音声処理装置よび管理サーバは、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、音声処理装置および管理サーバが備える記憶手段は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスク、SSDもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
11:録音部
12:ファイル記憶部
13:送信部
14:受信部
15:認識結果記憶部
16:制御部
17:表示部
18:入力部
101、401:音声処理装置
301:ネットワーク
201:音声認識システム
12:ファイル記憶部
13:送信部
14:受信部
15:認識結果記憶部
16:制御部
17:表示部
18:入力部
101、401:音声処理装置
301:ネットワーク
201:音声認識システム
Claims (9)
- ユーザの発話開始から終了までに含まれる複数区間の音声データを採取する採音部と、
前記採音部により採音された複数区間の音声データの音声認識依頼を、音声認識システムに送信する送信部と、
前記採音部により採取された複数区間の音声データを記憶する記憶部と、
前記音声認識システムから、前記音声認識依頼で送信した音声データを音声認識により変換したテキストデータを含む第1音声認識応答を受信する受信部と、
前記音声認識依頼に対して前記音声認識システムが音声認識を実行できない状態にあることを示す情報を含む第2音声認識応答を受信した場合、または前記音声認識依頼に対する応答が届かない場合、前記記憶部を用いて当該音声認識依頼で送信した音声データを含むデータの音声認識依頼を、前記音声認識システムへ送信するよう制御する制御部と、を備え、
前記採音部が前記音声データを採取している途中で、前記受信部で前記音声認識依頼に対して前記音声認識システムから前記第2音声認識応答を受信した場合、または前記音声認識依頼に対する応答が届かない場合であっても、前記ユーザの発話終了まで、前記ユーザから前記音声データの採取を継続して行う
音声処理装置。 - 前記制御部は、前記音声認識依頼に対して前記第2音声認識応答を受信した場合、または前記音声認識依頼に対する応答が届かない場合、前記音声認識依頼で送信した音声データについて音声認識の再依頼を行う旨を前記ユーザに通知するメッセージを表示するよう制御する
請求項1に記載の音声処理装置。 - 前記制御部は、前記ユーザの発話の開始から終了までに含まれる複数区間のすべての音声データの採取が前記採音部により完了した後、前記ユーザに再度同じ内容の発話を行う必要がない旨を通知するメッセージを表示するよう制御する
請求項1または2に記載の音声処理装置。 - 前記制御部は、少なくとも1つの区間の音声データに対する第1音声認識応答が受信されておらず、かつ、前記第2音声認識応答の受信および前記音声認識依頼に対する応答が届かないことのいずれも発生していないときは、音声認識中である旨のメッセージを前記ユーザに通知するメッセージを表示するよう制御する
請求項1ないし3のいずれか一項に記載の音声処理装置。 - 前記制御部は、前記音声認識が成功した区間の音声データについては前記第1音声認識応答に含まれるテキストデータ、前記音声認識がまだ成功していない区間の音声データについては、前記音声認識がまだ完了していないことを示すテキストデータを、前記採音部による複数区間の前記音声データの採音順に応じて並べて表示するよう制御する
請求項1ないし4のいずれか一項に記載の音声処理装置。 - 前記送信部は、前記音声認識依頼を、ネットワークを介して前記音声認識システムに送信する
請求項1ないし5のいずれか一項に記載の音声処理装置。 - 前記採音部は、前記採音部により採音された複数区間の音声データを結合して音声ファイルを生成し、
前記記憶部は、前記音声ファイルを記憶し、
前記制御部は、前記ユーザが発話した日時と、前記ユーザの発話に対する音声認識結果と、前記記憶部において前記音声ファイルが格納された位置とを対応づけた対応情報を生成し、
前記対応情報における前記音声認識結果は、複数区間の前記音声データのすべての音声認識が成功している場合は、複数区間の音声データに対応するテキストデータを複数区間の順に並べた発話テキストデータ、少なくとも1つの複数区間の音声認識データの音声認識が成功していない場合は、音声認識がまだ完了していないことを示す情報を表す
請求項1ないし6のいずれか一項に記載の音声処理装置。 - 前記制御部は、前記第2音声認識応答を受信または前記音声認識依頼の送信に失敗した区間の音声データを含むデータの音声認識依頼を一定回数行っても前記第1音声認識応答を受信しない場合、または予め決めた時点から一定時間以内に前記第2音声認識応答を受信または前記音声認識依頼の送信に失敗した区間の音声データについて前記第1音声認識応答を受信しない場合は、前記ユーザに対し音声認識をこれ以上行わない旨を通知するメッセージを表示するよう制御する
請求項1ないし7のいずれか一項に記載の音声処理装置。 - ユーザの発話開始から終了までに含まれる複数区間の音声データを採取する採音ステップと、
前記採音ステップにより採取された複数区間の音声データの音声認識依頼を、音声認識システムに送信する送信ステップと、
前記採音ステップにより採取された複数区間の音声データを記憶装置に記憶する記憶ステップと、
前記音声認識システムから、前記音声認識依頼で送信した音声データを音声認識により変換したテキストデータを含む第1音声認識応答を受信する受信ステップと、
前記音声認識依頼に対して前記音声認識システムが音声認識を実行できない状態にあることを示す情報を含む第2音声認識応答を受信した場合、または前記音声認識依頼に対する応答が届かない場合、前記記憶装置を用いて前記音声認識依頼で送信された音声データを含むデータの音声認識依頼を、前記音声認識システムへ送信するよう制御する制御ステップと
を備え、
前記採音ステップが前記音声データを採取している途中で、前記音声認識システムから前記音声認識依頼に対して前記第2音声認識応答を受信した場合、または前記音声認識依頼の送信に失敗した場合であっても、前記ユーザの発話終了まで、前記ユーザから前記音声データの採取を継続して行う
音声処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014060862A JP5802784B2 (ja) | 2014-03-24 | 2014-03-24 | 音声処理装置および音声処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014060862A JP5802784B2 (ja) | 2014-03-24 | 2014-03-24 | 音声処理装置および音声処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015184487A JP2015184487A (ja) | 2015-10-22 |
JP5802784B2 true JP5802784B2 (ja) | 2015-11-04 |
Family
ID=54351077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014060862A Active JP5802784B2 (ja) | 2014-03-24 | 2014-03-24 | 音声処理装置および音声処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5802784B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6647943B2 (ja) * | 2016-03-30 | 2020-02-14 | ホーチキ株式会社 | 防災監視設備 |
JP6756211B2 (ja) * | 2016-09-16 | 2020-09-16 | 株式会社リコー | 通信端末、音声変換方法、及びプログラム |
CN109325239A (zh) * | 2018-11-05 | 2019-02-12 | 北京智启蓝墨信息技术有限公司 | 学生课堂表现管理方法及*** |
JP7225082B2 (ja) * | 2019-12-04 | 2023-02-20 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
JP6816315B2 (ja) * | 2020-01-14 | 2021-01-20 | ホーチキ株式会社 | 防災監視設備 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3890774B2 (ja) * | 1998-10-09 | 2007-03-07 | 株式会社デンソー | ナビゲーションシステム |
JP4050574B2 (ja) * | 2001-11-19 | 2008-02-20 | 松下電器産業株式会社 | 遠隔制御対象機器、遠隔制御システム、及び画像処理装置 |
JP3926242B2 (ja) * | 2002-09-19 | 2007-06-06 | 富士通株式会社 | 音声対話システム、音声対話のためのプログラムおよび音声対話方法 |
JP2005037615A (ja) * | 2003-07-18 | 2005-02-10 | Omron Corp | クライアント装置、音声認識サーバ、分散型音声認識システム、音声認識プログラム、およびコンピュータ読み取り可能な記録媒体 |
JP2006113439A (ja) * | 2004-10-18 | 2006-04-27 | Ntt Data Corp | 音声自動応答装置及びプログラム |
JP2007072351A (ja) * | 2005-09-09 | 2007-03-22 | Mitsubishi Electric Corp | 音声認識装置 |
JP4786384B2 (ja) * | 2006-03-27 | 2011-10-05 | 株式会社東芝 | 音声処理装置、音声処理方法および音声処理プログラム |
JP2008250035A (ja) * | 2007-03-30 | 2008-10-16 | Matsushita Electric Works Ltd | 音声認識装置 |
JP2008256802A (ja) * | 2007-04-02 | 2008-10-23 | Fujitsu Ten Ltd | 音声認識装置および音声認識方法 |
JP5365530B2 (ja) * | 2010-01-18 | 2013-12-11 | 富士通モバイルコミュニケーションズ株式会社 | 通信機器 |
-
2014
- 2014-03-24 JP JP2014060862A patent/JP5802784B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015184487A (ja) | 2015-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5802784B2 (ja) | 音声処理装置および音声処理方法 | |
US10244111B1 (en) | System for providing data to an interactive response system | |
WO2017208518A1 (ja) | 情報処理装置 | |
KR20170066410A (ko) | 컴퓨터 기반 번역 시스템 및 방법 | |
US20190164556A1 (en) | Master-slave personal digital assistant data and knowledge exchange system and method | |
JP2017003611A (ja) | 音声認識装置、音声認識システム、当該音声認識システムで使用される端末、および、話者識別モデルを生成するための方法 | |
CN113037926B (zh) | 通信***、信息通信方法和存储介质 | |
CN106713111B (zh) | 一种添加好友的处理方法、终端及服务器 | |
WO2015102082A1 (ja) | ユーザのデータ入力に応じて情報提供を行うための端末装置、プログラム、およびサーバ装置 | |
US9305551B1 (en) | Scribe system for transmitting an audio recording from a recording device to a server | |
JP6179971B2 (ja) | 情報提供装置及び情報提供方法 | |
JP2014081755A (ja) | 不審通信先警告システム、不審通信先警告方法、及びプログラム | |
WO2013071738A1 (zh) | 一种个人专用生活协助装置和方法 | |
JP2018049080A (ja) | 通信システム、情報処理装置、プログラム、通信方法 | |
JP2018128943A (ja) | 対話装置、制御装置、対話システム、対話方法、制御方法、およびプログラム | |
JP5199801B2 (ja) | 医療支援システム | |
JP6331429B2 (ja) | 車両システム、車両装置と携帯端末との適合情報取得方法、プログラム及び記録媒体 | |
JP7055327B2 (ja) | 会話収集装置、会話収集システム及び会話収集方法 | |
CN111104071A (zh) | 用于语音助手搜索结果的集成打印的***和方法 | |
JP6669374B1 (ja) | 設定装置、設定方法及び設定プログラム | |
JP2013182353A (ja) | 音声文字変換作業支援装置、音声文字変換システム、音声文字変換作業支援方法及びプログラム | |
JP7527127B2 (ja) | 情報処理装置、プログラム、および情報処理方法 | |
JP2021117563A (ja) | 記録管理システムおよび入力端末 | |
JP6115304B2 (ja) | 通信端末装置、安否情報送信方法、及び安否情報送信プログラム | |
WO2020026360A1 (ja) | コンピュータシステム、画面共有方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150831 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5802784 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |