以下、図面とともに認識誤り訂正装置の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、以下の説明における実施形態は、本発明の具体例であり、特に本発明を限定する旨の記載がない限り、これらの実施形態に限定されないものとする。
本実施形態に係る認識誤り訂正装置1は、音声認識又は文字認識の認識結果の認識誤りを訂正するコンピュータ装置である。音声認識は、人間の声などの音声をコンピュータで認識し、対応する文(文字列、テキスト)などに変換することである。文字認識は、印刷文字及び手書き文字などの文字をコンピュータで認識し、対応する文(文字列、テキスト)などに変換することである。認識結果は、例えば上述の変換された文である。一般的に、認識結果には、コンピュータの認識ミスによる認識誤りが含まれることがある。文は、形の上で完結した、一つの陳述によって統べられている言語表現の一単位である。文は、一つ以上の文からなるもの(例えば段落、文章など)に読み替えてもよい。
図1は、認識誤り訂正装置1の機能ブロック図である。図1に示す通り、認識誤り訂正装置1は、コーパス格納部10、訂正モデル格納部11、復元モデル格納部12、ペアデータ作成部20(作成部)、ペアデータ取得部21(取得部)、訂正モデル生成部22(生成部)、疑似誤り単語作成部23、復元モデル生成部24、誤り検出部25(検出部)及び誤り訂正部26(訂正部)を含んで構成される。
認識誤り訂正装置1の各機能ブロックは、認識誤り訂正装置1内にて機能することを想定しているが、これに限るものではない。例えば、認識誤り訂正装置1の機能ブロックの一部は、認識誤り訂正装置1とは異なるコンピュータ装置であって、認識誤り訂正装置1とネットワーク接続されたコンピュータ装置内において、認識誤り訂正装置1と情報を適宜送受信しつつ機能してもよい。また、認識誤り訂正装置1の一部の機能ブロックは無くてもよいし、複数の機能ブロックを一つの機能ブロックに統合してもよいし、一つの機能ブロックを複数の機能ブロックに分解してもよい。
以下、図1に示す認識誤り訂正装置1の各機能ブロックについて説明する。
コーパス格納部10は、コーパスを(予め)格納する。コーパスは、自然言語の文章を構造化し、大規模に集積したデータ(データベース)の一部又は全部である。本実施形態におけるコーパス(認識誤り訂正済みコーパス)は、音声認識又は文字認識の認識結果の文と、当該認識結果の正解データとが対応付いたデータであるコーパスデータから構成される。正解データは、正解となるデータである。本実施形態における正解データは、人(又は高精度な認識を行うコンピュータ装置)が、音声認識若しくは文字認識の認識結果の基となる音声若しくは文字、又は、当該認識結果を参考にして予め作成した、当該音声又は当該文字をテキスト化した文(書き起こし)である。コーパスデータは、機械学習分野における教師データである。コーパスデータの一例としては、認識結果の文「セキュリティ祖父とにログイン」(「祖父と」が認識誤りの部分である)と、正解データ「セキュリティソフトにログイン」とが対応付いたコーパスデータが挙げられる。
ペアデータ作成部20は、音声認識又は文字認識の認識結果の文と当該認識結果の正解データとの比較に基づいて、ペアデータを作成する。ペアデータは、音声認識又は文字認識の認識結果の文と、当該文を構成する各単語について認識誤りを訂正するための処理を示すラベルである処理ラベルから構成されるラベル列とが対応付いたデータである。ペアデータ作成部20は、認識誤り訂正装置1のユーザ(管理者)から指示があった際にペアデータを作成してもよいし、定期的にペアデータを作成してもよい。ペアデータ作成部20は、作成したペアデータを、ペアデータ取得部21に出力してもよいし、別の処理で参照できるよう、認識誤り訂正装置1内にて格納してもよい。
具体的には、ペアデータ作成部20は、コーパス格納部10によって格納されたコーパスを取得し、取得したコーパスを構成するコーパスデータに含まれる音声認識又は文字認識の認識結果の文と当該認識結果の正解データとを抽出し、抽出した認識結果の文と正解データとをそれぞれ形態素解析して単語列に分解し、分解された認識結果の文の単語列と分解された正解データの単語列とを単語ごとに(先頭の単語から最後の単語まで順に)比較し、認識結果の文の単語それぞれ(又は一部の単語)に比較結果に応じた処理ラベルを付与し、分解された認識結果の文の単語列(実質的に認識結果の文と同一)と付与された処理ラベルから構成されるラベル列とが対応付いたペアデータを作成する。ペアデータにおいて、認識結果の文の単語列中の一の単語と、ラベル列に含まれる、当該一の単語に付与された処理ラベルとは対応付いていてもよい。
図2は、ペアデータ作成部20によるペアデータの作成の一例を示す図である。図2に示す通り、まず、ペアデータ作成部20は、音声認識又は文字認識の認識結果の文「セキュリティ祖父とにログイン」と当該認識結果の正解データ「セキュリティソフトにログイン」とを単語ごとに比較する。次に、ペアデータ作成部20は、認識結果の文の先頭の単語「セキュリティ」と、正解データの先頭の単語「セキュリティ」とを比較し、一致するため、認識結果の文の単語「セキュリティ」には処理ラベルとして、単語「セキュリティ」について認識誤りを訂正するための処理は不要であることを示す「操作なし」ラベルを付与する。次に、ペアデータ作成部20は、認識結果の文の次の単語「祖父」と、正解データの次の単語「ソフト」とを比較し、一致しない(不一致の)ため、認識結果の文の単語「祖父」には処理ラベルとして、単語「祖父」について認識誤りを訂正するために置換処理が必要であることを示す「置換」ラベルを付与する。次に、ペアデータ作成部20は、認識結果の文の次の単語「と」について、正解データには対応する単語がないため(不一致のため)、認識結果の文の単語「と」には処理ラベルとして、単語「と」について認識誤りを訂正するために削除処理が必要であることを示す「削除」ラベルを付与する。
次に、ペアデータ作成部20は、認識結果の文の次の単語「に」と、正解データの次の単語「に」とを比較し、一致するため、認識結果の文の単語「に」には処理ラベルとして、単語「に」について認識誤りを訂正するための処理は不要であることを示す「操作なし」ラベルを付与する。次に、ペアデータ作成部20は、認識結果の文の次の単語「ログイン」と、正解データの次の単語「ログイン」とを比較し、一致するため、認識結果の文の単語「ログイン」には処理ラベルとして、単語「ログイン」について認識誤りを訂正するための処理は不要であることを示す「操作なし」ラベルを付与する。次に、ペアデータ作成部20は、認識結果の文(の単語列)「セキュリティ祖父とにログイン」と、付与された処理ラベルから構成されるラベル列「[操作なし,置換,削除,操作なし,操作なし]」とが対応付いたペアデータを作成する。なお、ラベル列は、単語との対応付けを含む形式、例えば「[[セキュリティ,操作なし],[祖父,置換],[と,削除],[に,操作なし],[ログイン,操作なし]]」としてもよい。
ペアデータ取得部21は、ペアデータを取得する。ペアデータ取得部21は、ペアデータ作成部20によって作成(入力)されたペアデータを取得してもよい。ペアデータ取得部21は、ネットワークを介して他のコンピュータ装置からペアデータを取得してもよいし、認識誤り訂正装置1内に格納されたペアデータを取得してもよいし、認識誤り訂正装置1のユーザが入力したペアデータを取得してもよい。ペアデータ取得部21は、取得したペアデータを訂正モデル生成部22に出力する。
訂正モデル生成部22は、ペアデータ取得部21によって取得(入力)されたペアデータ(学習データ)を用いて機械学習を行うことで、認識結果の認識誤りを訂正するための学習済みモデルである訂正モデルを生成する。ペアデータを用いた機械学習により学習済みモデルを得る処理は、従来技術に則った処理である。訂正モデル生成部22は、生成した訂正モデルを訂正モデル格納部11によって格納させる。
学習済みモデルは、コンピュータプログラムとパラメータとの組み合わせである。また、学習済みモデルは、ニューラルネットワークの構造と当該ニューラルネットワークの各ニューロン間の結びつきの強さであるパラメータ(重み付け係数)との組み合わせである。また、学習済みモデルは、コンピュータに対する指令であって、一の結果を得る(所定の処理を実行する)ことができるように組み合わされたもの、すなわち、コンピュータを機能させるコンピュータプログラムである。
訂正モデルは、音声認識又は文字認識の認識結果に基づいて、当該認識結果の認識誤りを訂正するための処理を示すラベルである処理ラベルを出力するよう、コンピュータを機能させるための学習済みモデルであって、認識結果の文と、当該文を構成する各単語について認識誤りを訂正するための処理を示す処理ラベルから構成されるラベル列とが対応付いたペアデータを用いて重み付け係数が学習されたニューラルネットワークにより構成される学習済みモデルである。
訂正モデル生成部22は、訂正モデルを生成する際に、系列ラベリング手法を用いた機械学習を行ってもよい。系列ラベリングは、入力されたデータ列(単語列)の各要素に適切なラベル列を予測することである。系列ラベリングは、入力されたデータ列を構成する各データにラベルを付与することを目的とする。
図3は、訂正モデルへの適用の一例を示す図である。図3に示す通り、音声認識又は文字認識の認識結果の文「セキュリティ祖父とにログイン」を、双方向LSTM(BiLSTM:Bidirectional long short-term memory)で構成された訂正モデルに適用することで、認識結果の文を構成する単語「セキュリティ」に対しては処理ラベル「操作なし」が出力され、単語「祖父」に対しては処理ラベル「置換」が出力され、単語「と」に対しては処理ラベル「削除」が出力され、単語「に」に対しては処理ラベル「操作なし」が出力され、単語「ログイン」に対しては処理ラベル「操作なし」が出力されている。ここで言う「出力」とは、双方向LSTMが各単語に対して算出する一つ以上の処理ラベル候補のうち、最も尤度が高い処理ラベル候補の出力を意味する。なお、認識誤り訂正装置1は、出力された処理ラベルから、認識結果の文を構成する単語のうち「祖父」及び「と」については認識誤りであると判定することができる。すなわち、認識誤り訂正装置1は、実質的な訂正するための処理(置換、削除など)を示す処理ラベルが付与又は出力された単語は認識誤りであると判定することができる。処理ラベルは、誤り検出又は誤り訂正に特化したラベルでもある。訂正モデルとして双方向LSTMを用いることで、前後の文脈も考慮した学習が行われるため、学習データであるペアデータに無いパターンにも対応できる(処理ラベルを出力することができる)。
訂正モデル格納部11は、訂正モデル生成部22によって生成された訂正モデルを格納する。
図4に示すフローチャートを用いて、認識誤り訂正装置1で実行される訂正モデル生成方法の処理について説明する。まず、ペアデータ作成部20により、ペアデータが作成される(ステップS1)。次に、ペアデータ取得部21により、S1にて作成されたペアデータが取得される(ステップS2)。次に、訂正モデル生成部22により、S2にて取得されたペアデータを用いて機械学習を行うことで訂正モデルが生成され、生成された訂正モデルが訂正モデル格納部11によって格納される(ステップS3)。
疑似誤り単語作成部23は、入力された所定の単語である入力単語に対して、誤りを付加した単語である疑似誤り単語を作成する。入力単語は、予め認識誤り訂正装置1内に格納されていた単語集合から抽出されたものであってもよいし、認識誤り訂正装置1のユーザが入力(指定)したものでもよい。疑似誤り単語作成部23は、認識誤り訂正装置1のユーザから指示があった際に疑似誤り単語を作成してもよいし、定期的に疑似誤り単語を作成してもよい。疑似誤り単語作成部23は、入力単語と作成した疑似誤り単語との組を、復元モデル生成部24に出力する。
図5は、疑似誤り単語作成部23による疑似誤り単語の作成の一例を示す図である。図5に示す通り、疑似誤り単語作成部23は、入力単語に対して4つのパターン(誤り生成パターン)を組み合わせることで誤りを付加する。1つ目のパターンは、文字の削除である。2つ目のパターンは、文字の挿入である。3つ目のパターンは、漢字・ひらがな・カタカナの相互変換である。4つ目のパターンは、共通母音変換である。疑似誤り単語作成部23は、入力単語に対して各パターンを複数繰り返して適用して、誤りを負荷してもよい。例えば、疑似誤り単語作成部23は、入力単語「ソフト」に対して1つ目のパターンを適用して「ソフ」を作成し、続いて3つ目のパターンを適用して「祖父」を作成し、作成した「祖父」を疑似誤り単語としてもよい。
復元モデル生成部24は、疑似誤り単語作成部23によって入力された入力単語と(当該疑似誤り単語作成部23によって作成された)疑似誤り単語との組(学習データ)に基づいて、誤りのある単語を誤りの無い単語に復元するための学習済みモデルである復元モデルを生成する。すなわち、復元モデルは、所定の単語と当該所定の単語に対して誤りを付加した疑似誤り単語とを用いて機械学習を行って生成した学習済みモデルである。組データを用いた機械学習により学習済みモデルを得る処理は、従来技術に則った処理である。復元モデル生成部24は、学習データの疑似誤り単語を誤りの無い単語に復元できるまで繰り返し学習を行う。復元モデル生成部24は、生成した復元モデルを復元モデル格納部12によって格納させる。
復元モデルは、誤りのある単語に基づいて、(対応する)誤りの無い単語を出力するよう、コンピュータを機能させるための学習済みモデルであって、入力単語と疑似誤り単語との組を用いて重み付け係数が学習されたニューラルネットワークにより構成される学習済みモデルである。
図6は、復元モデルへの適用の一例を示す図である。図6に示す通り、誤りのある単語「祖父」を、エンコーダー・デコーダー(Encoder-Decoder)モデルで構成された復元モデルに適用することで、誤りの無い単語「ソフト」が出力される。復元モデルとしてエンコーダー・デコーダーモデルを用いることで、膨大な量の学習データ(及びそれに基づく処理内容)を1つの学習済みモデルに吸収することができる。
図7に示すフローチャートを用いて、認識誤り訂正装置1で実行される復元モデル生成方法の処理について説明する。まず、疑似誤り単語作成部23によりにより、入力単語に対して疑似誤り単語が作成される(ステップS10)。次に、復元モデル生成部24により、入力単語と、S10にて作成された疑似誤り単語と組に基づいて復元モデルが生成され、生成された復元モデルが復元モデル格納部12によって格納される(ステップS11)。
誤り検出部25は、認識結果の文である入力文を訂正モデル生成部22によって生成された訂正モデルに適用することで、当該入力文に含まれる認識誤りの単語である誤り単語を検出する。より具体的には、誤り検出部25は、認識誤り訂正装置1、認識誤り訂正装置1のユーザ、又は、他のコンピュータ装置などから音声認識又は文字認識の認識結果の文(上述の訂正モデルの生成時に用いたコーパスデータの文とは異なる文)である入力文を取得し、訂正モデル生成部22によって生成され、訂正モデル格納部11によって格納された訂正モデルに適用することで、当該入力文に含まれる認識誤りの単語である誤り単語を検出する。誤り単語の検出は、図3の説明で言及した通り、訂正モデルに適用した際に出力された処理ラベルに基づいて行われる。例えば、誤り検出部25は、処理ラベル「置換」又は「削除」が出力された単語を誤り単語として検出する。誤り検出部25は、取得した入力文と、検出した誤り単語(に関する情報)と、訂正モデルに適用した際に各単語に対して出力された処理ラベルから構成される処理ラベル列とを、誤り訂正部26に出力する。
誤り訂正部26は、誤り検出部25によって検出(入力)された誤り単語に対して、訂正モデルに適用した際に当該誤り単語に対して出力される処理ラベルに基づいた処理を行うことで、入力文の認識誤りを訂正する。より具体的には、誤り訂正部26は、誤り検出部25によって入力された入力文を構成する単語のうち、誤り検出部25によって入力された誤り単語に対して、誤り検出部25によって入力された処理ラベル列のうち当該誤り単語に対応付いた処理ラベルに基づいた処理を行うことで、当該入力文の認識誤りを訂正する。誤り訂正部26は、認識誤りを訂正した入力文である訂正文を、認識誤り訂正装置1のユーザ又は他のコンピュータ装置などに出力(表示)する。
誤り訂正部26は、誤り単語に対して処理ラベルに基づいた処理を行う際に、(図6を用いて説明したように)当該誤り単語を(復元モデル生成部24によって生成され、復元モデル格納部12によって格納された)復元モデルに適用してもよい。誤り訂正部26は、入力文と、出力される処理ラベルとに基づいて単語ラティスを構築し、当該単語ラティスの経路に基づいて入力文の認識誤りを訂正してもよい。単語ラティスは、単語の候補を列挙したグラフである。
図8は、誤り訂正部26による単語ラティスの構築の一例を示す図である。まず、誤り訂正部26は、入力文「セキュリティ祖父とにログイン」について、当該入力文を構成する各単語に対応付いた処理ラベルに基づいて単語ラティスの経路を作成する。具体的には、処理ラベル「操作なし」については対応付いた単語を経路に追加し、処理ラベル「削除」については対応付いた単語を経路に追加せず、処理ラベル「置換」については対応付いた単語を経路に追加するとともに、訂正候補の単語も経路に(分岐として)追加する。例えば入力文に対する処理ラベル列が「[[セキュリティ,操作なし],[祖父,置換],[と,削除],[に,操作なし],[ログイン,操作なし]]」である場合、誤り訂正部26は図8に示す単語ラティスを構築する。
図8において、「BOS」(Beginning Of Sentence)は文の先頭を示す。「EOS」(End Of Sentence)は文の最後を示す。単語「セキュリティ」、「に」及び「ログイン」については処理ラベルが「操作なし」であるため、そのまま単語ラティスに追加する。単語「と」については処理ラベルが「削除」であるため、単語ラティスには追加しない。単語「祖父」については処理ラベルが「置換」であるため、そのまま単語ラティスに追加するとともに、訂正候補の単語「ソフト」も、経路を分岐(枝分かれ)する形で経路に追加する。訂正候補の単語は、認識誤り訂正装置1内に予め格納された辞書(この単語はこの単語になりやすいというペアのデータ)において誤り単語に紐付く単語としてもよいし、誤り単語を復元モデルに適用して出力された単語としてもよい。訂正候補の単語は、辞書にない場合は復元モデルに適用することで求めてもよい。訂正候補の単語は複数であってもよく、その場合はそのぶん単語ラティスが分岐する。
誤り訂正部26は、構築した単語ラティスについて、例えばパーセプトロンモデルに基づく識別モデルを用いて、文として適切な単語列(経路)を選択し、選択した単語列を訂正文(入力文の認識誤りを訂正した文)として出力する。単語列を選択する処理は、従来技術に則った処理である。
図9に示すフローチャートを用いて、認識誤り訂正装置1で実行される認識誤り訂正方法の処理について説明する。まず、誤り検出部25により、入力文が取得される(ステップS20)。次に、誤り検出部25により、S20にて取得された入力文が訂正モデル格納部11によって格納された訂正モデルに適用され、誤り単語が検出されるとともに処理ラベルが抽出される(ステップS21)。次に、誤り訂正部26により、S21にて検出された誤り単語が復元モデル格納部12によって格納された復元モデルに適用され、単語ラティスが構築される(ステップS22)。次に、誤り訂正部26により、S22にて構築された単語ラティスに基づいて訂正文が生成される(ステップS23)。
次に、本実施形態のように構成された認識誤り訂正装置1の作用効果について説明する。
本実施形態の認識誤り訂正装置1によれば、ペアデータ取得部21により、音声認識又は文字認識の認識結果の文と、当該文を構成する各単語について認識誤りを訂正するための処理を示すラベルである処理ラベルから構成されるラベル列とが対応付いたペアデータが取得され、訂正モデル生成部22により、取得されたペアデータを用いて機械学習が行われることで、認識結果の認識誤りを訂正するための学習済みモデルである訂正モデルが生成される。このように、認識結果の文と当該文を構成する各単語について認識誤りを訂正するための処理ラベルから構成されるラベル列とが対応付いたペアデータを用いて機械学習が行われることで検出モデルが生成される。例えば、音声認識又は文字認識の認識結果を、生成された検出モデルに適用すれば、当該認識結果の認識誤りを訂正するための処理を示す処理ラベルが出力される。すなわち、認識誤り訂正装置1により、音声認識又は文字認識の認識結果の認識誤りを訂正するための処理が示される環境を構築することができる。
また、本実施形態の認識誤り訂正装置1によれば、訂正モデル生成部22により、系列ラベリング手法を用いた機械学習が行われる。これにより、より確実に処理ラベルを用いた機械学習を行うことができる。
また、本実施形態の認識誤り訂正装置1によれば、ペアデータ作成部20により、認識結果の文と当該認識結果の正解データとの比較に基づいてペアデータが作成され、ペアデータ取得部21により、作成されたペアデータが取得される。これにより、訂正モデルの学習データをより容易かつより確実に作成することができる。
また、本実施形態の認識誤り訂正装置1によれば、誤り検出部25により、認識結果の文である入力文が訂正モデル生成部22によって生成された訂正モデルに適用されることで、当該入力文に含まれる認識誤りの単語である誤り単語が検出される。これにより、訂正する対象となる誤り単語をより確実に検出することができる。
また、本実施形態の認識誤り訂正装置1によれば、誤り訂正部26により、誤り検出部25によって検出された誤り単語に対して、訂正モデルに適用した際に当該誤り単語に対して出力される処理ラベルに基づいた処理が行われることで、入力文の認識誤りが訂正される。これにより、入力文の認識誤りをより確実に認識誤りを訂正することができる。
また、本実施形態の認識誤り訂正装置1によれば、誤り訂正部26により、誤り単語に対して処理ラベルに基づいた処理が行われる際に、当該誤り単語が、所定の単語と当該所定の単語に対して誤りを付加した疑似誤り単語とを用いて機械学習を行って生成した学習済みモデルである復元モデルであって誤りのある単語を誤りの無い単語に復元するための復元モデルに適用される。このように復元モデルに適用することで、より正確に認識誤りを訂正することができる。
また、本実施形態の認識誤り訂正装置1によれば、誤り訂正部26により、入力文と、出力される処理ラベルとに基づいて単語ラティスが構築され、当該単語ラティスの経路に基づいて入力文の認識誤りが訂正される。このように単語ラティスを用いることで、より正確かつより容易に認識誤りを訂正することができる。
ここで、従来技術の課題として、実世界で音声認識システムを利用する場合、集音マイクの性能や周囲の雑音など、使用環境によって認識精度が低下することが挙げられる。本実施形態の認識誤り訂正装置1では、音声認識誤りを訂正することで音声認識の精度向上を図るシステムを実現する。具体的には、認識誤り訂正装置1は、系列ラべリング手法を用いて音声認識結果から音声認識誤り箇所を検出する。次に、認識誤り訂正装置1は、辞書またはEncoder-Decoderモデルを用いて訂正候補を含む単語ラティスを構築し、構造化パーセプトロンを用いて、最適な単語列を選択することで音声認識結果を訂正する。
認識誤り訂正装置1により、認識誤り訂正済みコーパスから学習した訂正モデルが用いられることで、従来の音声認識エンジンには利用されていなかった、認識誤りの情報を踏まえた訂正が可能となる。また、認識誤り訂正装置1により、疑似誤り単語作成部23により自動生成した疑似誤り単語を用いて、復元モデルが学習される。当該復元モデルを用いることで辞書に存在しない単語も訂正することが可能となる。また、認識誤り訂正装置1により、識別モデルを用いて適切な単語列が選択されることで、訂正誤りを軽減することが可能となる。
認識誤り訂正装置1は以下の構成を採ることもできる。すなわち、音声認識結果を入力とする音声認識誤り訂正システムであって、入力となる音声認識結果から音声認識誤りを検出する音声認識誤り検出手段と、誤り単語を自動生成し,疑似誤り単語から学習したモデルを用いた誤り単語訂正手段と、上記音声認識誤り検出手段の結果,誤り単語訂正手段または辞書により単語ラティスを構築する単語ラティス構築手段と、上記単語ラティス構築機能により構築された単語ラティスの最適経路を選択する単語選択手段とを備える音声認識誤り訂正システム。音声認識誤り訂正システムは、認識誤り訂正済みコーパスの「音声認識結果」と「書き起こし」を比較することで,操作ラベルを各単語に付与する操作ラベル作成手段と、上記ラベル付与手段により得られた単語列とそのラベル列から系列ラべリング手法を用いて音声認識誤り検出モデルを学習する音認声識誤り検出モデル学習手段と、を備え、上記で得られた音声認識誤り検出モデルを用いて音声認識誤りを検出してもよい。音声認識誤り訂正システムは、複数のパターンを用いて疑似的に誤り単語を生成する疑似誤り単語自動生成機能と、上記疑似誤り単語自動生成機能により生成された疑似誤り単語を用いて音声認識誤り検出モデルを学習する誤り単語訂正モデル学習機能と、を備え、上記で得られた誤り単語訂正モデルを用いて音声認識誤り単語を訂正してもよい。音声認識誤り訂正システムは、音声認識誤り検出手段の結果、誤り単語訂正手段と辞書により単語ラティスを構築してもよい。音声認識誤り訂正システムは、上記単語ラティス構築機能により構築された単語ラティスの最適経路を選択してもよい。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態における認識誤り訂正装置1などは、本開示の認識誤り訂正の処理を行うコンピュータとして機能してもよい。図10は、本開示の一実施の形態に係る認識誤り訂正装置1のハードウェア構成の一例を示す図である。上述の認識誤り訂正装置1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。認識誤り訂正装置1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
認識誤り訂正装置1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述のペアデータ作成部20、ペアデータ取得部21、訂正モデル生成部22、疑似誤り単語作成部23、復元モデル生成部24、誤り検出部25及び誤り訂正部26などは、プロセッサ1001によって実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、ペアデータ作成部20、ペアデータ取得部21、訂正モデル生成部22、疑似誤り単語作成部23、復元モデル生成部24、誤り検出部25及び誤り訂正部26は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述のペアデータ取得部21、誤り検出部25及び誤り訂正部26などは、通信装置1004によって実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、認識誤り訂正装置1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。
本開示において説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G(4th generation mobile communication system)、5G(5th generation mobile communication system)、FRA(Future Radio Access)、NR(new Radio)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi(登録商標))、IEEE 802.16(WiMAX(登録商標))、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及びこれらに基づいて拡張された次世代システムの少なくとも一つに適用されてもよい。また、複数のシステムが組み合わされて(例えば、LTE及びLTE-Aの少なくとも一方と5Gとの組み合わせ等)適用されてもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
上記の各装置の構成における「手段」を、「部」、「回路」、「デバイス」等に置き換えてもよい。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa、an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。