(57)【特許請求の範囲】
【請求項１】
音声を文字に変換する処理を行う複数の音声認識モジュールを有する情報処理装置であって、
音声の入力を受け付ける入力手段と、
前記入力手段により音声の入力を受け付ける場合に、当該情報処理装置における処理負荷に基づき、前記複数の音声認識モジュールの中から音声認識モジュールを選択する選択手段と、
前記選択手段により選択された音声認識モジュールにより、前記入力手段により受け付けた音声が変換された文字を出力する出力手段と、を有し、
前記選択手段は、
選択した音声認識モジュールにより前記音声を変換した場合に前記情報処理装置における処理負荷の変化が所定の閾値未満であるときは、次の音声認識モジュールとして、より音声認識率が高い音声認識モジュールを選択し、
選択した音声認識モジュールにより前記音声を変換した場合に前記情報処理装置における処理負荷の変化が所定の閾値以上であるときは、次の音声認識モジュールとして、より音声認識率が低い音声認識モジュールを選択する、情報処理装置。
【請求項２】
前記複数の音声認識モジュールは、それぞれ異なる音声認識率及び異なる変換速度で変換処理を行い、
前記選択手段は、前記処理負荷の高さの範囲に応じた音声認識率及び変換速度で変換処理を行う音声認識モジュールを選択する、
請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、前記処理負荷の高さの範囲と前記音声認識モジュールが変換処理を行っているプロセス数とに応じた音声認識率及び変換速度で変換処理を行う音声認識モジュールを選択する、請求項２に記載の情報処理装置。
【請求項４】
前記音声認識モジュールは、ＤＮＮ（Deep Neural Network）により音声を文字に変換する処理を行う、請求項１乃至３の何れか一項に記載の情報処理装置。
【請求項５】
音声を文字に変換する処理を行う複数の音声認識モジュールを有する情報処理装置が実行する音声認識方法であって、
音声の入力を受け付ける入力ステップと、
前記入力ステップにより音声の入力を受け付ける場合に、当該情報処理装置における処理負荷に基づき、前記複数の音声認識モジュールの中から音声認識モジュールを選択する選択ステップと、
前記選択ステップにより選択された音声認識モジュールにより、前記入力ステップにより受け付けた音声が変換された文字を出力する出力ステップと、を有し、
前記選択ステップは、
選択した音声認識モジュールにより前記音声を変換した場合に前記情報処理装置における処理負荷の変化が所定の閾値未満であるときは、次の音声認識モジュールとして、より音声認識率が高い音声認識モジュールを選択し、
選択した音声認識モジュールにより前記音声を変換した場合に前記情報処理装置における処理負荷の変化が所定の閾値以上であるときは、次の音声認識モジュールとして、より音声認識率が低い音声認識モジュールを選択する、音声認識方法。
【請求項６】
コンピュータを、請求項１乃至４のいずれか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、音声認識方法及びプログラムに関する。
【背景技術】
【０００２】
コンタクトセンターやカスタマセンター等のコールセンターにおいて、オペレータと顧客との会話を文字（テキスト）に変換し、変換された文字（テキスト）を用いてオペレータの対応状況を分析・監視することが行われている。また、管理者（スーパーバイザー）がオペレータと顧客との会話をリアルタイムに監視し、オペレータの対応状況に応じてリアルタイムに適切な対処を行うという運用が行われている。
【０００３】
なお、コールセンターに関する従来技術として例えば特許文献１に開示された技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２１１４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コールセンターにおいてオペレータが対応する顧客数は一定ではない。例えば、夜間よりも平日のほうが顧客からの問い合わせ件数が多い傾向にあり、また、平日よりも休日のほうが顧客からの問い合わせ件数が多い傾向にある。そのため、オペレータと顧客との会話を文字に変換する処理を行う情報処理装置の負荷は、日時によって変動することになる。
【０００６】
万が一情報処理装置のリソースが不足する場合、オペレータと顧客との会話をリアルタイムに変換する処理が行われず、コールセンターの管理者が適切な対処を行うことができないという問題が発生する可能性がある。解決方法として、顧客からの問い合わせ件数のピークに合わせて情報処理装置のリソースを十分に確保する方法も考えられるが、ハードウェアの増設等を伴うためコストが増大するという問題がある。
【０００７】
本発明は上記に鑑みてなされたものであって、音声変換処理を行う情報処理装置の処理負荷の上昇を抑えることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態に係る情報処理装置は、音声を文字に変換する処理を行う複数の音声認識モジュールを有する情報処理装置であって、音声の入力を受け付ける入力手段と、前記入力手段により音声の入力を受け付ける場合に、当該情報処理装置における処理負荷に基づき、前記複数の音声認識モジュールのうち所定の音声認識モジュールを選択する選択手段と、前記所定の音声認識モジュールにより、前記入力手段により受け付けた音声が変換された文字を出力する出力手段と、を有する。
【発明の効果】
【０００９】
本発明の実施の形態によれば、音声変換処理を行う情報処理装置の処理負荷の上昇を抑えることができる技術が提供される。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態における情報処理装置の機能構成例を示す図である。
【図２】ＤＮＮの構造を示す図である。
【図３】選択情報の一例を示す図である。
【図４】実施の形態に係る情報処理装置が行う処理手順を示すフローチャートである。
【図５】コールセンターの混雑度合いに応じて、選択される音声認識モジュールが変化する様子を示す図である。
【図６】選択情報（変形例）の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。以下の実施の形態は、コールセンターにおいて音声を文字に変換する処理を行う情報処理装置を例として説明するが、本発明の実施の形態は、これに限られず、音声を文字に変換する処理を行う情報処理装置全般に適用することが可能である。
【００１２】
＜概要、機能構成＞
本実施の形態に係る情報処理装置１０は、音声を文字に変換する処理を行う複数の音声認識モジュールを有している。情報処理装置１０は、オペレータと顧客との間の会話が開始されると、情報処理装置１０自身の処理負荷に基づいて、複数の音声認識モジュールのうち適切な所定の音声認識モジュールを選択する。また、情報処理装置１０は、選択された所定の音声認識モジュールを用いてオペレータと顧客との間の会話（音声）を文字に変換する処理を行う。
【００１３】
図１は、本実施の形態における情報処理装置の機能構成例を示す図である。図１に示すように、情報処理装置１０は、入力部１０１、負荷監視部１０２、選択部１０３、記憶部１０４、変換処理部１０５、及び出力部１０７を有する。また、変換処理部１０５は、複数の音声認識モジュール１０６を含む。これら各部は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵに実行させる処理により実現される。なお、入力部１０１、負荷監視部１０２、選択部１０３、記憶部１０４、変換処理部１０５、及び出力部１０７ごとに、異なるコンピュータを用いて実現されてもよいし、更に細かい単位でコンピュータが分散されていてもよい。すなわち、情報処理装置１０は、１又は複数のコンピュータを用いて実現されてもよい。また、当該１又は複数のコンピュータは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
【００１４】
本実施の形態では、音声認識モジュール１０６として、ＤＮＮ（深層学習技術：Deep Neural Network）を利用することで、精度（認識率）の高い変換処理を行う。また、当該複数の音声認識モジュール１０６は、それぞれ音声認識率及び変換速度が異なる。図１には、音声認識モジュール１０６として、ＤＮＮ（１）１０６１、ＤＮＮ（２）１０６２、ＤＮＮ（３）１０６３、ＤＮＮ（４）１０６４の４個の音声認識モジュール１０６が図示されている。ＤＮＮ（１）１０６１は音声認識率が最も高く（逆に変換速度は最も遅い）、ＤＮＮ（１〜４）１０６１〜４の順に、音声認識率が低下する（逆に変換速度は速くなる）。なお、音声認識率が高い（変換速度が速い）ＤＮＮほど、音声変換処理に必要な処理負荷は高くなる。言い換えると、ＤＮＮ（１〜４）１０６１〜４の順に処理負荷は低くなる。なお、複数の音声認識モジュール１０６の各々は、少なくとも一定の音声変換精度を有している前提とする。図１には４つのＤＮＮ（１〜４）１０６１〜４が図示されているが、ＤＮＮの数に制限はなく、５個以上のＤＮＮを有していてもよい。以下、ＤＮＮ（１〜４）１０６１〜４を区別しない場合は「ＤＮＮ１０６」と呼ぶ。
【００１５】
本実施の形態に係るＤＮＮ（１〜４）１０６１〜４は、図２に示すように、音声を入力する入力層と、文字を出力する出力層と、入力層と出力層との間に存在する隠れ層の複数の層から構成されている。また、各層は複数のユニットから構成されている。
【００１６】
基本的に、各層のユニット数が少なくなるとその計算量が削減される。計算量が少なくなることで、処理に必要な処理負荷もこれに応じて低くなる。一方で、各層のユニット数が少なくなることで音声認識率も低下することが想定されるが、各層のユニット数の削減比率に対して、音声認識率の劣化がほとんどないことが経験値として判明している（例えば、計算量が半分になっても音声認識率の劣化は数％程度である）。本実施の形態では、このような特性を利用することで、情報処理装置１０自身の処理負荷が高い場合に計算量の少ない音声認識モジュール１０６を選択することで、一定の音声変換精度を保ちつつ、情報処理装置１０自身の負荷上昇を抑えることを可能にする。図２に戻り説明を続ける。
【００１７】
入力部１０１は、オペレータと顧客との間で会話が開始される際に当該会話に係る音声の入力を受け付ける機能を有する。また、入力部１０１は、音声の入力を受け付ける際に、選択部１０３に対して、どの音声認識モジュール１０６（ＤＮＮ（１〜４）１０６１〜４のいずれか１つ）に音声データを渡すべきかを問い合わせると共に、選択部１０３から指示された音声認識モジュール１０６に音声データを送信する。なお、入力部１０１は、一旦音声認識モジュール１０６に音声データを送信し始めた後は、オペレータと顧客との会話が終了するまで（つまり、音声のセッションが終了するまで）、同一の音声認識モジュール１０６に音声データを送信し続ける。つまり、本実施の形態における情報処理装置１０では、一旦選択された音声認識モジュール１０６は、オペレータと顧客との間の会話が終了するまで変更されることはない。
【００１８】
負荷監視部１０２は、情報処理装置１０自身の処理負荷を監視する機能を有する。また、負荷監視部１０２は、選択部１０３からの問い合わせに応じて、情報処理装置１０自身の処理負荷を通知する。
【００１９】
選択部１０３は、入力部１０１からの問い合わせを受けて、どの音声認識モジュール１０６（図１の例では、ＤＮＮ（１〜４）１０６１〜Ｎのいずれか１つ）に音声データを渡すべきかを指示する。より具体的には、選択部１０３は、入力部１０１からの問い合わせを受けた場合、情報処理装置１０自身の処理負荷を負荷監視部１０２に問い合わせる。続いて、選択部１０３は、負荷監視部１０２から通知された処理負荷に対応する音声認識モジュール１０６を、後述する選択情報に従って選択し、選択した音声認識モジュール１０６を入力部１０１に指示する。
【００２０】
記憶部１０４は、選択情報を格納する。記憶部１０４は、情報処理装置１０が備える記憶装置（メモリ、ＨＤＤ等）、情報処理装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２１】
図３は、選択情報の一例を示す図である。選択情報には、情報処理装置１０の処理負荷の範囲と、範囲ごとに選択すべき音声認識モジュール１０６とが対応づけられている。図３は、情報処理装置１０の処理負荷としてＣＰＵ使用率が用いられる場合の選択情報の例を示している。より具体的には、図３の例では、ＣＰＵ使用率が７０％以下（又は未満）の場合、ＤＮＮ（１）１０６１を選択すべきであり、ＣＰＵ使用率が７０％〜８０％の場合、ＤＮＮ（２）１０６２を選択すべきであり、ＣＰＵ使用率が８０％〜９０％の場合、ＤＮＮ（３）１０６３を選択すべきであり、ＣＰＵ使用率が９０％以上（又は超える）の場合、ＤＮＮ（４）１０６４を選択すべきであることが示されている。
【００２２】
「変換速度」は、ＤＮＮ１０６単位あたりの変換速度であり、数字が大きいほど音声を文字に変換する際の変換速度が速いことを意味している。「音声認識率」は、ＤＮＮ１０６における音声認識率（音声から文字への変換精度）を意味している。「層、ユニット」は、ＤＮＮ１０６の構造（いくつの層から構成され、各層にはいくつのユニットを有しているか）を示している。例えば、ＤＮＮ（１）１０６１は、１０層及び２０４８ユニットから構成されていることを示している。「層、ユニット」に示されている数は一例であり、本実施の形態では、どのような数も取り得る。なお、「変換速度」、「音声認識率」及び「層、ユニット」は、ＤＮＮ１０６に関する参考情報であるため、選択情報に含まれていなくてもよい。図３に示す選択情報は一例であり、変換処理部１０５に５個以上のＤＮＮ１０６が含まれる場合、ＤＮＮ１０６の数に応じて、選択情報に設定される情報処理装置１０の処理負荷の範囲は、更に細かく分割されていてもよい。
【００２３】
変換処理部１０５は、入力部１０１から受信した音声を文字に変換する処理を行う。前述の通り、変換処理部１０５は、複数の音声認識モジュール１０６（ＤＮＮ（１〜４）１０６１〜４）を含む。音声認識モジュール１０６は、例えば、入力部１０１から受信した音声データを分析することで音響特徴を抽出し、抽出した音響特徴を文章に変換する処理を行うことで、音声を文字に変換するようにしてもよい。
【００２４】
出力部１０７は、音声認識モジュール１０６により変換された文字を出力する機能を有する。
【００２５】
＜動作例＞
図４は、実施の形態に係る情報処理装置が行う処理手順を示すフローチャートである。図４を用いて、本実施の形態に係る情報処理装置１０が行う処理手順を説明する。
【００２６】
ステップＳ１０１で、入力部１０１は、顧客からの問い合わせが発生し、オペレータと顧客との間で会話が開始される際に、当該会話に係る音声の入力を受け付ける。
【００２７】
ステップＳ１０２で、入力部１０１は、選択部１０３に対し、どの音声認識モジュール１０６に音声データを送信すべきかを問い合わせる。続いて、選択部１０３は、負荷監視部１０２に、情報処理装置１０自身の処理負荷を問い合わせる。
【００２８】
ステップＳ１０３で、選択部１０３は、選択情報を用いて、負荷監視部１０２から通知された情報処理装置１０自身の処理負荷に対応する音声認識モジュール１０６（ＤＮＮ（１〜４）１０６１〜４のいずれか１つ）を選択する。例えば、選択情報に図３に示す情報が格納されている場合において、負荷監視部１０２から通知された処理負荷が６０％であった場合、選択部１０３は、音声認識モジュール１０６としてＤＮＮ（１）１０６１を選択することになる。また、例えば、負荷監視部１０２から通知された処理負荷が９５％であった場合、選択部１０３は、音声認識モジュール１０６としてＤＮＮ（４）１０６４を選択することになる。
【００２９】
ステップＳ１０４で、選択部１０３は、ステップＳ１０３の処理手順で選択した音声認識モジュール１０６を入力部１０１に通知する。入力部１０１は、通知された音声認識モジュール１０６に音声データを送信する。音声認識モジュール１０６は、入力部１０１から受信した音声データを分析して文字に変換する処理を行う。
【００３０】
ステップＳ１０５で、出力部１０７は、音声認識モジュール１０６で変換された文字を出力する。
【００３１】
以上説明したステップＳ１０１乃至ステップＳ１０５の処理手順は、顧客からの問い合わせが発生してオペレータと顧客との間で会話が開始される度に、すなわち、入力部１０１で新たに音声の入力を受け付ける度に繰り返し行われる。
【００３２】
図５は、コールセンターの混雑度合いに応じて、選択される音声認識モジュールが変化する様子を示す図である。
【００３３】
夜間など、顧客からの問い合わせ件数が少ない場合（図５の左側の状態）、情報処理装置１０の処理負荷は低い状態であるため、各会話を文字に変換する処理において、最も音声認識率の高い音声認識モジュール１０６であるＤＮＮ（１）１０６１が選択されることになる。
【００３４】
次に、顧客からの問い合わせ件数が増加してきた場合（図５の中央の状態）、情報処理装置１０の処理負荷は徐々に上昇するため、顧客からの新たな問い合わせに係る会話を文字に変換する処理において、ＤＮＮ（１）１０６１よりも計算量が少ない（ＤＮＮ（１）１０６１よりも音声認識率が低く、かつ処理速度が高い）音声認識モジュール１０６であるＤＮＮ（２）１０６２又はＤＮＮ（３）１０６３が選択されることになる。なお、図５の中央の例には、選択された音声認識モジュール１０６としてＤＮＮ（１）１０６１が図示されている。これは、前述の通り、一旦選択された音声認識モジュール１０６は、オペレータと顧客との間の会話が終了するまで変更されることはないことから、図５の左側の状態であった際に選択されたＤＮＮ（１）１０６１が、図５の中央の状態に移行した後もそのまま動作し続けることがあり得るということを示したものである。
【００３５】
次に、休日や日中帯など、更に顧客からの問い合わせ件数が増加してきた場合（図５の右側の状態）、情報処理装置１０の処理負荷は更に上昇するため、顧客からの新たな問い合わせに係る会話を文字に変換する処理において、ＤＮＮ（３）１０６３よりも計算量が少ない（ＤＮＮ（３）１０６３よりも音声認識率が低く、かつ処理速度が高い）音声認識モジュール１０６であるＤＮＮ（４）１０６４が選択されることになる。
【００３６】
なお、選択部１０３は、選択したＤＮＮ１０６の組み合わせ（例えば、図５の中央のように、ＤＮＮ（１）１０６１、ＤＮＮ（２）１０６２及びＤＮＮ（３）１０６３を、それぞれ２つ、３つ及び１つ選択している等）と、情報処理装置１０自身の処理負荷とを対応づけて随時履歴に保存しておくようにしてもよい。また、選択部１０３は、新たにＤＮＮ１０６の何れかを選択した際に情報処理装置１０自身の処理負荷の変化が少ない場合（例えば所定の閾値未満の場合）は、次にＤＮＮ１０６を選択する際に、より音声認識率が高いＤＮＮ１０６を選択するようにしてもよい。逆に、選択部１０３は、新たにＤＮＮ１０６の何れかを選択した際に情報処理装置１０自身の処理負荷の変化が大きい場合（例えば所定の閾値以上の場合）は、次にＤＮＮ１０６を選択する際に、音声認識率が低いＤＮＮ１０６を選択するようにしてもよい。これにより、選択部１０３は、ＤＮＮ１０６の組み合わせと処理負荷との対応関係をさまざまに学習することができ、より精度の高いＤＮＮ選択方式を実現することが可能になる。
【００３７】
以上説明したように、本実施の形態に係る情報処理装置１０は、オペレータと顧客と間で同時に行われている会話数（同時に対応中の顧客数）が増加するに従って、計算量が少ない（音声認識率が低く、かつ処理速度が高い）音声認識モジュール１０６を用いて音声変換処理を行うように動作する。これにより、本実施の形態に係る情報処理装置１０は、一定の音声変換精度を保ちつつ、情報処理装置１０自身の処理負荷の上昇を抑えることができる。また、本実施の形態に係る情報処理装置１０は、自身の処理負荷の上昇を抑えると共に、自身で行っている音声変換処理の処理速度の平均を、一定速度以上に保つことができる。
【００３８】
＜変形例＞
以上説明した実施の形態では、情報処理装置１０の処理負荷としてＣＰＵ使用率を用いるようにしたが、ＣＰＵ使用率に代えて、他のパラメータを用いるようにしてもよい。例えば、情報処理装置１０は、ＣＰＵ使用率に代えて、ＤＮＮ１０６のプロセス数に基づいて音声認識モジュール１０６を選択するようにしてもよい。本実施の形態に係る情報処理装置１０は、オペレータと顧客との会話ごとに、ＤＮＮ１０６のプロセスが１つ起動するように動作することを想定しているため、プロセス数＝同時に対応中の顧客数と言うこともできる。
【００３９】
本変形例では、図６（ａ）に示すように、選択情報には、ＣＰＵ使用率に代えてプロセス数が格納される。また、本変形例に係る負荷監視部１０２は、ＣＰＵ使用率に代えて、ＤＮＮ１０６のプロセス数を監視するように動作する。また、本変形例に係る選択部１０３は、選択情報を用いて、負荷監視部１０２から通知されたプロセス数に対応する音声認識モジュール１０６を選択するように動作する。
【００４０】
また、情報処理装置１０の処理負荷としてＣＰＵ使用率と他のパラメータとを併用するようにしてもよい。例えば、情報処理装置１０は、ＣＰＵ使用率と、ＤＮＮ１０６のプロセス数との両方に基づいて音声認識モジュール１０６を選択するようにしてもよい。
【００４１】
この場合、選択情報には、図６（ｂ）に示すように、ＣＰＵ使用率とプロセス数との両方が格納される。また、本変形例に係る負荷監視部１０２は、ＣＰＵ使用率及びプロセス数の両方を監視するように動作する。また、本変形例に係る選択部１０３は、選択情報を用いて、負荷監視部１０２から通知されたＣＰＵ使用率に対応する音声認識モジュール１０６と、負荷監視部１０２から通知されたプロセス数に対応する音声認識モジュール１０６とを選択すると共に、更に、選択した２つの音声認識モジュール１０６のうち、計算量が少ない（音声認識率が低く、かつ処理速度が高い）音声認識モジュール１０６、又は、計算量が多い（音声認識率が高く、かつ処理速度が遅い）音声認識モジュール１０６を選択するように動作する。
【００４２】
＜実施形態の補足＞
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。実施の形態で述べた処理手順は、矛盾の無い限り順序を入れ替えてもよい。
【００４３】
以上、実施の形態に係る情報処理装置１０の各機能部は、これらが備えるＣＰＵ及びメモリなどのハードウェア資源を用いて、情報処理装置１０で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、当該プログラムは、記憶媒体に格納することができる。
【符号の説明】
【００４４】
１０  情報処理装置
１０１  入力部
１０２  負荷監視部
１０３  選択部
１０４  記憶部
１０５  変換処理部
１０６  音声認識モジュール
１０７  出力部
【図１】
0006568813.tif 000002
【図２】
0006568813.tif 000003
【図３】
0006568813.tif 000004
【図４】
0006568813.tif 000005
【図５】
0006568813.tif 000006
【図６】
0006568813.tif 000007