(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022152466
(43)【公開日】2022-10-12
(54)【発明の名称】学習装置、音声認識装置、学習方法、音声認識方法、プログラム
(51)【国際特許分類】
G10L 15/32 20130101AFI20221004BHJP
【FI】
G10L15/32 220Z
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021055251
(22)【出願日】2021-03-29
(71)【出願人】
【識別番号】000000181
【氏名又は名称】岩崎通信機株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】中島 亜紗美
(72)【発明者】
【氏名】鈴木 遼也
(57)【要約】
【課題】あらかじめ用意した2つ以上の前処理パターンと音声認識エンジンの組合せを利用者の環境に合わせて選択するための学習データ(最適な組合せ)を低コストで取得できる学習装置を提供する。
【解決手段】通話音声データとこれに対応する正解テキストデータとを組合せてなる組合せ選択用データセットを用いる学習装置であって、通話音声データをS通り(Sは2以上の自然数)の前処理パターンで前処理する前処理部と、前処理された通話音声データをm(mは2以上の自然数)種類の音声認識エンジンで音声認識して、S×m個の音声認識結果を取得する音声認識部と、正解テキストデータに基づいてS×m個の音声認識結果の認識精度を算出し、最も認識精度が高い音声認識結果を出力した前処理パターンと音声認識エンジンの組合せを最適な組合せとして出力する認識精度算出部を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
通話音声データとこれに対応する正解テキストデータとを組合せてなる組合せ選択用データセットを用いる学習装置であって、
前記通話音声データをS通り(Sは2以上の自然数)の前処理パターンで前処理する前処理部と、
前処理された前記通話音声データをm(mは2以上の自然数)種類の音声認識エンジンで音声認識して、S×m個の音声認識結果を取得する音声認識部と、
前記正解テキストデータに基づいてS×m個の前記音声認識結果の認識精度を算出し、最も認識精度が高い前記音声認識結果を出力した前記前処理パターンと前記音声認識エンジンの組合せを最適な組合せとして出力する認識精度算出部を含む
学習装置。
【請求項2】
請求項1に記載の学習装置であって、
所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値をAとし、Aの外れ値の割合Yを算出する外れ値割合算出部を含み、
前記外れ値の割合Yが所定の閾値を超える場合に前記前処理パターンと前記音声認識エンジンの最適な組合せを再学習する
学習装置。
【請求項3】
請求項2に記載の学習装置であって、
前記外れ値割合算出部は、
予め定めた第1の期間内の所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値Aの外れ値の割合を第1の期間における外れ値の割合Y1とし、前記第1の期間において外れ値を除外して残存したAの値が分布する範囲を値域とし、予め定めた第N(Nは2以上の自然数)の期間内の値Aのうち、前記値域の外にある値を全て外れ値として、第Nの期間の外れ値の割合YNを算出する
学習装置。
【請求項4】
請求項1に記載の学習装置であって、
所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値をAとし、Aのトリム平均値を算出するトリム平均算出部を含み、
予め定めた第1の期間内のAのトリム平均値と予め定めた第N(Nは2以上の自然数)の期間内のAのトリム平均値の差分の絶対値が所定の閾値を超える場合に前記前処理パターンと前記音声認識エンジンの最適な組合せを再学習する
学習装置。
【請求項5】
S通り(Sは2以上の自然数)の前処理パターンで前処理した結果をm(mは2以上の自然数)種類の音声認識エンジンで音声認識して取得したS×m個の音声認識結果のうち、最も認識精度が高い前記音声認識結果を出力した前記前処理パターンと前記音声認識エンジンの組合せを最適な組合せとして記憶するデータ記憶部と、
通話音声データを取得する通話音声データ取得部と、
前記最適な組合せとして選ばれている前処理パターンを用いて取得した前記音声データを前処理する前処理部と、
前処理された前記通話音声データを前記最適な組合せとして選ばれている音声認識エンジンで音声認識して、音声認識結果を取得する音声認識部を含む
音声認識装置。
【請求項6】
請求項5に記載の音声認識装置であって、
所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値をAとし、Aの外れ値の割合Yを算出する外れ値割合算出部を含み、
前記外れ値の割合Yが所定の閾値を超える場合に前記前処理パターンと前記音声認識エンジンの最適な組合せを再学習する
音声認識装置。
【請求項7】
請求項6に記載の音声認識装置であって、
前記外れ値割合算出部は、
予め定めた第1の期間内の所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値Aの外れ値の割合を第1の期間における外れ値の割合Y1とし、前記第1の期間において外れ値を除外して残存したAの値が分布する範囲を値域とし、予め定めた第N(Nは2以上の自然数)の期間内の値Aのうち、前記値域の外にある値を全て外れ値として、第Nの期間の外れ値の割合YNを算出する
音声認識装置。
【請求項8】
請求項5に記載の音声認識装置であって、
所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値をAとし、Aのトリム平均値を算出するトリム平均算出部を含み、
予め定めた第1の期間内のAのトリム平均値と予め定めた第N(Nは2以上の自然数)の期間内のAのトリム平均値の差分の絶対値が所定の閾値を超える場合に前記前処理パターンと前記音声認識エンジンの最適な組合せを再学習する
音声認識装置。
【請求項9】
通話音声データとこれに対応する正解テキストデータとを組合せてなる組合せ選択用データセットを用いる学習装置が各ステップを実行する学習方法であって、
前記通話音声データをS通り(Sは2以上の自然数)の前処理パターンで前処理するステップと、
前処理された前記通話音声データをm(mは2以上の自然数)種類の音声認識エンジンで音声認識して、S×m個の音声認識結果を取得するステップと、
前記正解テキストデータに基づいてS×m個の前記音声認識結果の認識精度を算出し、最も認識精度が高い前記音声認識結果を出力した前記前処理パターンと前記音声認識エンジンの組合せを最適な組合せとして出力するステップを含む
学習方法。
【請求項10】
音声認識装置が各ステップを実行する音声認識方法であって、
S通り(Sは2以上の自然数)の前処理パターンで前処理した結果をm(mは2以上の自然数)種類の音声認識エンジンで音声認識して取得したS×m個の音声認識結果のうち、最も認識精度が高い前記音声認識結果を出力した前記前処理パターンと前記音声認識エンジンの組合せを最適な組合せとして記憶するステップと、
通話音声データを取得するステップと、
前記最適な組合せとして選ばれている前処理パターンを用いて取得した前記音声データを前処理するステップと、
前処理された前記通話音声データを前記最適な組合せとして選ばれている音声認識エンジンで音声認識して、音声認識結果を取得するステップを含む
音声認識方法。
【請求項11】
コンピュータを請求項1から4の何れかに記載の学習装置として機能させるプログラム。
【請求項12】
コンピュータを請求項5から8の何れかに記載の音声認識装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、音声認識装置、学習方法、音声認識方法、プログラムに関する。
【背景技術】
【0002】
音声認識の分野において、認識結果をより良くするために機械学習やディープラーニングといった多くのデータを必要とする仕組みを取り入れることが一般的になっている。多くのデータを集めることは個人情報などの観点からも容易ではないが、コールセンターなどでは「カスタマーサービス向上のため」と録音の同意を求めるアナウンスを流し、データを集めることが増えてきている。
【0003】
さらに精度を上げるために機械学習やディープラーニングを行おうとした場合、その膨大なデータを処理するために相応のスペックを持つ計算機が必要になる。高精度な音声認識実現の先行文献として特許文献1のように音響特徴量を用いて機械学習を行い、認識結果を向上させる認識システムは多く存在する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
認識結果を向上させる認識システムは多く存在するが、これらの仕組みは相応の計算環境を用意しなければならない状況にありコストが嵩むことが課題であった。
【0006】
そこで本発明では、あらかじめ用意した2つ以上の前処理パターンと音声認識エンジンの組合せを利用者の環境に合わせて選択するための学習データ(最適な組合せ)を低コストで取得できる学習装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の学習装置は、通話音声データとこれに対応する正解テキストデータとを組合せてなる組合せ選択用データセットを用いる。本発明の学習装置は、前処理部と、音声認識部と、認識精度算出部を含む。
【0008】
前処理部は、通話音声データをS通り(Sは2以上の自然数)の前処理パターンで前処理する。音声認識部は、前処理された通話音声データをm(mは2以上の自然数)種類の音声認識エンジンで音声認識して、S×m個の音声認識結果を取得する。認識精度算出部は、正解テキストデータに基づいてS×m個の音声認識結果の認識精度を算出し、最も認識精度が高い音声認識結果を出力した前処理パターンと音声認識エンジンの組合せを最適な組合せとして出力する。
【発明の効果】
【0009】
本発明の学習装置によれば、あらかじめ用意した2つ以上の前処理パターンと音声認識エンジンの組合せを利用者の環境に合わせて選択するための学習データ(最適な組合せ)を低コストで取得できる。
【図面の簡単な説明】
【0010】
【
図1】実施例1の音声認識・学習装置の機能構成を示すブロック図。
【
図2】実施例1の音声認識・学習装置の動作を示すフローチャート。
【
図3】実施例1の音声認識・学習装置のS100の詳細を示すフローチャート。
【
図4】実施例1の音声認識・学習装置の学習動作の実行例を示す図。
【
図7】実施例1の音声認識・学習装置のS200の詳細を示すフローチャート。
【
図8】選択タイミング通知部の機能構成を示すブロック図。
【
図9】選択タイミング通知部の動作を示すフローチャート。
【
図10】第2の期間以降の外れ値の算出例を示す図。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例0012】
実施例1の音声認識・学習装置は、あらかじめ用意した2つ以上の前処理パターンと音声認識エンジンの組合せを利用者の環境に合わせて選択するための学習データ(最適な組合せ)を低コストで取得し、最適な組合せを再選択するタイミングを自動で算出することにより、その環境で得られる最良の通話音声データのテキスト化を実現する。その環境とは例えばオフィス、工場、量販店など、ある特定の範囲で限られた人間が利用する環境などを指す。運用中は1通りの組合せだけを実行することでコストを最低限に抑えつつ、音声認識エンジンの更新により認識精度が悪くなってしまった場合には、組合せ再選択のタイミングを計ることで用意した環境で得られる最良のテキスト化を実現することができる。
【0013】
<音声認識・学習装置>
以下、
図1を参照して本実施例の音声認識・学習装置の機能構成を説明する。同図に示すように本実施例の音声認識・学習装置は、通話音声データ取得部1と、モード切替部2と、ユーザ設定取得部3と、発話区間検出部4と、前処理部5と、音声認識部6と、テキスト合成部7と、音声認識結果出力部8と、認識精度算出部9と、データ記憶部13と、選択タイミング通知部14と、組合せ選択用通話音声データ抽出部18を含む。ユーザ設定取得部3は、自動更新設定部31と、算出手段設定部32と、算出期間設定部33と、時間幅設定部34と、データ数上限設定部35を含む。自動更新設定部31、算出手段設定部32、算出期間設定部33、時間幅設定部34、データ数上限設定部35は、ユーザが入力した各種のパラメータを取得し、保持・記録するものとする(詳細は後述)。
【0014】
本実施例の音声認識・学習装置は、ユーザ設定取得部3が取得したモード切替設定に基づいて、モード切替部2が、組合せ選択モード(学習モードともいう)と運用モード(認識モードともいう)のうちの何れかのモードに切り替えて、1つの装置により2パターンの動作を実現できる。なお、
図1の装置が組合せ選択モード(学習モード)を実行する場合、この装置を単に学習装置と呼称してもよいし、同図の装置が運用モード(認識モードともいう)を実行する場合、この装置を単に音声認識装置と呼称してもよい。以下では、音声認識・学習装置という称呼に統一する。
【0015】
図2を参照して、実施例1の音声認識・学習装置の動作の概略を説明する。まず、音声認識・学習装置は、現在のモードを取得する。現在のモードが、組合せ選択モード(学習モード)であった場合、音声認識・学習装置はステップS100の前処理と音声認識エンジンの最適な組合せ選択処理(詳細は後述)を実行する。ステップS100実行後、音声認識・学習装置のモード切替部2はモードを運用モード(認識モード)に切り替える(S2-1)。
【0016】
現在のモードが、運用モード(認識モード)であった場合、音声認識・学習装置はステップS100で選択された最適な組合せを用いて、ステップS200の通話音声データの音声認識処理(テキスト化処理、詳細は後述)を実行する。
【0017】
運用モード中、組合せ選択用通話音声データ抽出部18は、次の組合せ選択モード実行に備えて、条件を満たす通話音声データをデータ記憶部13に蓄積していく(S300)。蓄積された通話音声データは次の組合せ選択モード時に、組合せ選択用データセットの通話音声データとして利用が可能である。ステップS300の処理の詳細については後述する。
【0018】
運用モードで音声認識(テキスト化)を実行し続ける期間は、例えば算出期間Pまたはデータ数Qにより決定すればよい。P,Qはユーザが任意に設定した値をユーザ設定取得部3が取得すればよい。これに対して運用開始からの期間、データ数をそれぞれカウンター変数p,qとおく。P≦p、またはQ≦qとなったとき、音声認識・学習装置は、組合せ選択タイミング処理(S400、詳細は後述)を実行する。音声認識・学習装置は、ステップS400の結果に基づいて、モード切替設定の更新を行う。
【0019】
<ステップS100>
ステップS100の動作の詳細について、
図3を参照して説明する。まず事前準備として、
図1の通話音声データ21と、たとえば文字起こしなどで取得した対応する正解テキストデータ22(同図)とを組合せてなる組合せ選択用データセットを用意する。組合せ選択用データセットに含まれるデータの数をD、そのカウンター変数をdとする。ここで用いる通話音声データ21はたとえばオフィスや工場などの利用シーンで録音した通話音声データとすることができる。
【0020】
通話音声データ取得部1は、用意された組合せ選択用データセットのうちの1つ、通話音声データ(d)を取得する(S1-1)。発話区間検出部4は、通話音声データ(d)から発話区間の検出を行い、発話区間毎に通話音声データを分割する(S4-1)。このときの分割数をw個(w>0、wは整数)とする。
【0021】
前処理部5は、分割された通話音声データをS通り(後述、Sは2以上の自然数)の前処理パターンで前処理する(S5-1)。前処理とは、たとえば話速変換や正規化などの音声信号に対する処理である。一切の前処理を行わないパターンも前処理パターンの一つとして数えられる。また、複数の前処理を組み合せた前処理パターンと、その順序のみを入れ替えた前処理パターンとは互いに別の前処理パターンとして数えられる。前処理の種類をnとすると、前処理の単純な組合せパターン数は順列組合せの総和は、Σn
r=1{nPr}個になる。これに前処理を行わないパターンを加えると前処理パターンの総数Sは下記の通りになる。
【0022】
S=Σn
r=1{nPr}+1・・・(式1)
次に、音声認識部6は、S個の前処理パターンを実行して出力された通話音声データそれぞれに対して、用意したm種類(mは2以上の自然数)の音声認識エンジンでそれぞれ音声認識(テキスト化)を実行して音声認識結果を得る(S6-1)。例えば本実施例の音声認識・学習装置は、w個に分割された通話音声データをS通りの前処理パターンを実行し、これらをm個の音声認識エンジンのそれぞれに基づいて音声認識(テキスト化)することにより、w×S×m個の音声認識結果(テキスト)を取得する。テキスト合成部7は、w個に分割されて出力された音声認識結果(テキスト)を1通話分に合成し、S×m個の音声認識結果(テキスト)を取得する(S7-1)。
【0023】
例えばファイル名に1通話に戻すためのラベリングを施すことで、1通話分のテキスト合成を行うことができる。合成を行うことにより、1つの組合せ選択用データセットに対して、出力されるテキストデータはS×m個になる。上述の処理(S1-1、S4-1、S5-1、S6-1、S7-1)を通話音声データの数だけ、すなわちD回繰り返す。
【0024】
なお、発話区間毎に通話音声データを分割する処理(S4-1)、1通話分に合成する処理(S7-1)は場合により省略可能であり、この場合、発話区間検出部4、テキスト合成部7を省略できる。この場合、音声認識部6は、前処理されたS個の通話音声データをm種類の音声認識エンジンで音声認識して、S×m個の音声認識結果を取得する。
【0025】
音声認識結果出力部8は、S×m個の音声認識結果23を出力する(S8-1)。認識精度算出部9は、S×m個の音声認識結果の認識精度を算出する(S9-1)。認識精度の算出には単語誤り率(WER)や文字誤り率(CER)、BLEU(BiLingual Evaluation Understudy)などいくつか種類があるが、本実施例では一例としてWERを利用する。認識精度算出部9は、組合せ選択用データセットから正解テキストデータ22を参照し、正解テキストデータ22に基づいて、認識精度(この例ではWER値)を算出する。認識精度算出部9は、最も認識精度が高い音声認識結果(この例では最も低いWER値となった音声認識結果)を出力した前処理パターンと音声認識エンジンの組合せを最適な組合せとして出力する。WER値は一般的に以下の式で算出される。
【0026】
WER=(挿入語数+置換単語数+削除単語数)/正解単語数・・・(式2)
もし、組合せ選択用データセットに複数のデータが存在する場合には、認識精度算出部9は、各組合せのWER値の平均値を取り、順位付けした上で最も良いものを選択する。認識精度が同等の組合せが複数生じた場合、いずれを選んでも問題ないものと判断し、いずれか1つを選び運用を開始する。
【0027】
図4に組合せ選択処理の実行例を示す。発話区間検出部4が切り出した音声区間に対して、前処理部5がセットされた前処理を施す。
図5に前処理(A)、前処理(B)の2種類が存在する場合の前処理パターンを例示する。同図に示すように、前処理(A)、前処理(B)が存在する場合、前処理を全く行わないパターン(P0)、それぞれの前処理(A)のみを行うパターン(P1)、前処理(B)のみを行うパターン(P2)、前処理(A)と前処理(B)を組合せたパターン(P3)、前処理の順序を入れ替えたパターン(P4)、計5パターンの前処理パターンが存在する。同図の例は、式1においてn=2を代入したパターンであり、S=5が求まる。
【0028】
例えば、話速変換とBPFの2種類の前処理を用意したとき、前処理を施さない場合を1通りとし、話速変換とBPFの各前処理をそれぞれ施す場合を各1通り、重ねて2種類の前処理の順列を入れ替えて施す場合を各1通り実施し、5通りの通話音声データが得られる。この場合であって、音声認識エンジンが2種類(A、B)用意されている場合、音声認識部6は、前処理部5から出力された5通りの通話音声データを2種類の音声認識エンジンにかけ、5×2=10通りの音声認識結果を取得する。この場合であって、通話音声データから発話区間検出されたデータが1つだけだった場合、テキスト合成部7は、音声認識結果を1通話分の通話テキストに合成し、10通りの音声認識結果を得る。認識精度算出部9は、これら10通りの音声認識結果(例えば
図6の音声認識結果のように1通話分になったテキストデータ)に対して、それぞれWERを算出する。認識精度算出部9は、WER値が最も低かった前処理と認識エンジンの組合せが、最もその通話環境に適した組合せ(最適な組合せ)であると判断する。
図6の例では、BPF+話速変換+音声認識エンジンBの組合せが最もWER値が低いため、最適な組合せといえる。音声認識・学習装置は、この結果から得られた組合せを用いて、運用モードを実行する。
【0029】
なお
図4の例において、前処理部5は、話速変換を行う際の話速の閾値などを複数用意し、それを個別の前処理として用意することも考えられる。話速の閾値とは、話速変換を行う基準となる値でその値を下回ると早すぎると判定し、話速変換を行うなどの処理に利用する値である。
【0030】
<ステップS200>
図7に本実施例の音声認識・学習装置の運用モード時の動作を示す。運用モード開始後、音声認識・学習装置に通話音声データ17(
図1)が入力された場合、組合せ選択時同様に通話音声データ取得処理(S1-2)、発話区間検出処理(S4-2)、前処理(S5-2)、音声認識処理(S6-2)、テキスト合成処理(S7-2)が通話音声データの数だけ、すなわちD回繰り返し実行される。
【0031】
ただし、ステップS4-2に関しては、組合せ選択モードで選択された最適な前処理パターンが使用される。ステップS5-2についても同様に、組合せ選択モードで選択された最適な音声認識エンジンが使用される。
【0032】
<ステップS400>
本実施例の音声認識・学習装置の運用中に音声認識エンジンの更新などにより、認識精度が変動することも考えられる。そのため、本実施例の音声認識・学習装置は定期的に組合せ選択モードに切り替えて、改めて認識精度が高い組合せを導き出す処理を実行する。
【0033】
図8に組合せ選択モードに切り替えるタイミングを知る手段である選択タイミング通知部14の機能構成を、
図9に選択タイミング通知部14の詳細な動作(
図2のステップS400の動作を詳述したもの)を示す。
図8に示すように、選択タイミング通知部14は外れ値割合算出部141と、トリム平均算出部142と、通知部143と、データ更新催促通知部144を含む。
図8の破線で示した構成要件の動作は、算出手段設定部32に記憶されている設定により切り替わるものとする。外れ値割合算出部141が動作するか、トリム平均算出部142が動作するかの設定は、ユーザ設定入力部3の算出手段設定部32に記録されているものとする。
【0034】
選択タイミング通知部14が、外れ値の割合に基づいて選択タイミングを決定する場合(「外れ値の割合で比較?」→Y)、外れ値割合算出部141は、次式で求められるAの値の外れ値の割合Yを算出する(S141)。
【0035】
A=T/X・・・(式3)
Tを所定の発話区間の時間長とし、Xを対応する音声認識結果の文字数とする。従ってAは、おおよそ1文字あたりの発話長に相当する。
【0036】
≪外れ値≫
外れ値とは、データ全体から見た分布に対して極端に離れた値のことである。本実施例ではユーザが定めたある算出期間、あるいはユーザが定めたデータ数を蓄積し、そのデータを昇順に並べた際の上位下位の数%を外れ値という。外れ値の算出期間については、ユーザ設定入力部3の算出期間設定部33に記録されているものとし、外れ値を定義する上位下位の割合は、ユーザ設定入力部3の算出手段設定部32に記録されているものとする。
【0037】
例えば算出期間設定部33に記憶された算出期間が1週間だった場合、外れ値割合算出部141は、運用開始直後1週間分(第1の期間とも呼称する)の所定の発話区間の時間長Tとこれに対応する音声認識結果の文字数Xの比の値Aの外れ値の割合(上位x%
または下位x%に属する値の割合、
図10参照)を第1の期間における外れ値の割合Y
1とする。さらに、外れ値割合算出部141は、第1の期間において外れ値を除外して残存したAの値が分布する範囲を値域(
図10)とし、予め定めた第N(Nは2以上の自然数)の期間内の値Aのうち、第1の期間における値域の外にある値を全て外れ値として、第Nの期間の外れ値の割合Y
Nを算出する(
図10)。すなわち外れ値割合算出部141は、2週目以降、1週目の値域を基に最新1週間毎のデータとの比較を続けていく。ここでユーザが定めたものが期間ではなく、データ数だった場合も同様に運用開始直後のデータ数(第1の期間)と、それ以降のユーザによって定められたデータ数(第Nの期間)で比較するものとする。外れ値の割合を算出することにより、本システムで出力されるテキスト量の極端な増減が分かり、認識エンジン更新、あるいは録音環境の大きな変化などが予想される。テキスト量が減る状況として、例えばオフィスの席替えなどで周囲の雑音が増えた場合などが考えられる。通話音声と周囲雑音のバランスが変わってしまい、音声がノイズ除去の作用を受けて大きく削られてしまう状況が考えられる。逆にテキスト量が増える状況としては、例えば静かな環境に大きな機械音などが混ざってしまい、それを人の声としてテキストに誤変換してしまう状況などが考えられる。
【0038】
フローチャートの分岐「Y>閾値」で用いられる閾値は、ユーザ設定取得部3の算出手段設定部32に記憶されているものとする。例えば運用中の1週間で発話区間の存在が認められた通話数L回に対して、Aが外れ値となる通話数がi回存在したとするとAの外れ値の割合Yは次式で求められる。
【0039】
Y=i/L・・・(式4)
フローチャートの分岐「Y>閾値」において、外れ値の割合Yの値が所定の閾値を超えたと判定された場合(「Y>閾値」→Y)、通知部143は、選択タイミング通知24を生成し、選択タイミング通知24をユーザに通知・呈示する(S143)。外れ値割合の算出を行うか否かの設定は、ユーザ設定入力部3の算出手段設定部32に記録されているものとする。通知に伴い組合せが再選択された場合、再選択後の初週(第1の期間)に再度外れ値を除外して残存したAの値が分布する範囲(値域)を求め、その翌週(第2の期間以降)から、値域に基づいて外れ値の割合を求める。外れ値の割合Yが所定の閾値を超えなかった場合(「Y>閾値」→N)、トリム平均算出部142は、フローチャートの分岐「トリム平均で比較?」を判断して、「トリム平均で比較」→Yの場合、トリム平均A ̄N0、A ̄N1を算出する(S142)。トリム平均算出を行うか否かの設定は、ユーザ設定入力部3の算出手段設定部32に記録されているものとする。
【0040】
≪トリム平均≫
トリム平均とはデータを昇順に並べた場合の上位下位数%を除外した残りの値の平均値のことである。除外する上位下位の割合がM%である場合そのトリム平均は、2M%トリム平均と表現される。例えば上位下位それぞれ20%を除外した場合は、40%トリム平均と表現される。除外する割合をM%としたとき、両端からk個のデータを除くとすると、kの値は次の通りである。
【0041】
k=ML/100・・・(式5)
昇順に並んだデータの端からk個除いたAのトリム平均値は次式で求められる。
【0042】
Aのトリム平均値=ΣL-k
j=k+1Aj/(L-2k)・・・(式6)
外れ値割合の算出、またはトリム平均算出、あるいはその両方を行うか否かの設定は、ユーザ設定入力部3の算出手段設定部32に記録されているものとする。
【0043】
最初から外れ値を求めない設定とした場合(分岐「外れ値の割合で比較」→N)、他に再選択タイミングの通知処理の基準がない為、ステップS142が実行される。
図9のフローはこの2つの基準(外れ値、トリム平均)のうち、いずれか一方を必ず算出するように設定されている。
【0044】
例えばステップS142においてトリム平均算出部142は、運用開始直後の1週間(第1の期間)のトリム平均をA ̄N0として、2週目(第2の期間)のトリム平均をA ̄N1として算出する。トリム平均算出部142は、分岐「|A ̄N0-A ̄N1|>閾値」において、トリム平均値A ̄N0とトリム平均値A ̄N1の差分の絶対値が所定の閾値を越えたか判定し、超えた場合には、通知部143が、選択タイミング通知24を生成し、選択タイミング通知24をユーザに通知・呈示する(S143)。
【0045】
3週目以降、A ̄N0を算出した際の除外する上位下位の割合に基づいたトリム平均の値A ̄N2、A ̄N3…と、A ̄N0との差分の絶対値を求め、分岐「|A ̄N0-A ̄N( )|>閾値」の比較を実行する。
【0046】
組合せ選択タイミング通知に伴い、組合せが再選択された場合には運用開始直後の1週間で、再度A ̄N0を求めて2週目からトリム平均値の差分の絶対値を閾値と比較する。この判定に用いる絶対値の閾値は算出手段設定部32に対するユーザ入力により、変更が可能であるものとする。
【0047】
トリム平均を用いることにより、一時的な環境の変化に左右されない平均値が求められ、無闇に組合せ再選択通知を行わないシステムとなる。例えば、一時的に工事などで騒がしくなった期間に合わせて組合せが再選択を促されることは好ましくない。トリム平均をとることにより、そういった突発的で一時的な事象を取り除くことができる。
【0048】
トリム平均を求める際の、除外する上位下位の割合の設定によっては、組合せ選択タイミングに大きく影響が出る可能性がある。この除外する割合は算出手段設定部32に対するユーザ入力により、変更が可能であるものとする。頻繁に組合せ選択を促される場合にはこの割合を変更するなど、運用状況から割合を定めることが望ましい。
【0049】
ステップS143の通知を実行した後、分岐「通話音声データ更新済?」の判断を行い、通話音声データが未更新である場合(「通話音声データ更新済?」→N)、データ更新催促通知部144は、データ更新催促通知を生成して、当該データ更新催促通知をユーザに通知・呈示する(S144)。選択タイミング通知部14は、ユーザからデータ更新指示を取得して、組合せ選択用データセットを直近の通話音声データとそれを文字起こししたテキストデータに更新する。これにより、音声認識の環境の変化などに対応できる。
【0050】
次に、音声認識・学習装置は、組合せ再選択処理(S100)を手動で行う場合と自動で行う場合の分岐「自動更新?」を処理する。
【0051】
これに関し、ユーザが任意で組合せ選択を手動でするか、自動でするかの設定切り替えを行えるようにしてもよい。この設定切り替えに関する情報は、自動更新設定部31において設定、記憶されるものとする。
【0052】
ステップS100を自動更新で行う場合(分岐「自動更新?」→Y)、処理はステップS100に移行する。自動で組合せ選択する場合、組合せ選択を開始するタイミングも運用する時間帯を避けた夜間に行うなど、ユーザが任意に設定できるものとする。ユーザが入力した設定は、自動更新設定部31によって取得され、記憶されるものとする。一方、ステップS100を手動で行う場合(分岐「自動更新?」→N)、ユーザによりステップS100が実行され、処理はステップS200に移行する。
【0053】
<ステップS300>
本実施例の音声認識・学習装置は、環境の変化や利用者の変化などにも対応するため、組合せ選択用データセットを更新する場合を考慮し、運用中の通話音声データを蓄積していく仕組みを持つ。ユーザはこの通話音声データを利用して、組合せ選択用データセットの内容を更新することが可能である。
【0054】
以下、
図2のステップS300の通話音声データを蓄積する処理について説明する。算出期間設定部33に記憶され、設定されている期間中、データ記憶部13に記憶済みの通話音声データを、組合せ選択用データセットの通話音声データとして使用できる。
【0055】
組合せ選択用通話音声データ抽出部18は、算出期間設定部33に記憶され、設定されている期間中に記録した通話音声データのうち、時間幅設定部34に記憶され、設定された時間幅(発話区間長)の通話音声データを、蓄積するデータとして選定する。
【0056】
時間幅設定部34は、蓄積する通話音声データの発話区間長の最大値・最小値の設定をユーザ入力などから取得し、当該設定を予め記憶しておく。
【0057】
例えば、ユーザが発話区間長の最大値を2分、最小値を1分とした場合、データ記憶部13は、発話区間長が1~2分の通話音声データを蓄積する。通話時間の長さはユーザが任意で選択できるシステムにすることで、様々な利用シーンに対応できる。例えば、業務連絡などの話す内容が決まっている場合には1分未満で通話が終了することもあるが、カスタマーサービスなど話す内容が不確定な場合には通話時間が長くなる可能性が考えられる。
【0058】
データ数上限設定部35は、データ数上限の設定値をユーザ入力などから取得し、当該設定を予め記憶しておく。データ数上限設定部35が予め記憶するデータ数上限を超えるデータ数になった場合、データ記憶部13は、蓄積されているデータを古いものから順に削除し、新しい通話音声データを残す処理を行う。ユーザはこの仕組みを利用することにより、次の組合せ選択用の通話音声データ候補を入手することができる。ここで入手した通話音声データとそれを文字起こししたデータを運用モード中に組合せ選択用データセットの更新に利用することで、次の組合せ選択モードでは円滑に最適な組合せ選択が行われる。
【0059】
本実施例の音声認識・学習装置は単に音声認識エンジンそのものの認識精度比較にも利用できるため、音声認識エンジン開発者自身も認識精度の確認に利用できる。
【0060】
<効果>
本実施例の音声認識・学習装置によれば、組合せ選択用データセットを用いて最適な前処理パターンと音声認識エンジンの組合せを見つけ出すことにより、ユーザの望むシーンに即した認識結果を出力することができるため、最低限のコストで運用することが可能である。
【0061】
また、運用中に音声認識エンジンのアップデートなどで認識精度が落ち、組合せを再選択する必要が生じる場合も考えられる。そこで組合せ再選択のタイミングを運用中に通知する仕組みを導入することで、ユーザの運用中の負担を減らすことができる。さらに、再選択のタイミング通知の仕組みとしてトリム平均を用いることにより、一時的な異常値に左右されないシステムを実現する。再選択時には運用中に記録した通話音声データを保持することで、改めて組合せ選択用データセットを作成する際の負担を減らす。
【0062】
再選択の際には、運用中に蓄積した通話音声データの中から適当な長さの通話音声データを選択して文字起こしを行い、新たに組合せ選択用データセットとして使用することによって、利用シーンに適した前処理パターンと音声認識エンジンの組合せを再選択できる。
【0063】
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【0064】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
【0065】
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
【0066】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0067】
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【0068】
上述の各種の処理は、
図11に示すコンピュータの記録部10020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部10010、入力部10030、出力部10040などに動作させることで実施できる。
【0069】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electrically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0070】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0071】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0072】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。