IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社NTTドコモの特許一覧

<>
  • 特許-単語重み計算システム 図1
  • 特許-単語重み計算システム 図2
  • 特許-単語重み計算システム 図3
  • 特許-単語重み計算システム 図4
  • 特許-単語重み計算システム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】単語重み計算システム
(51)【国際特許分類】
   G10L 15/06 20130101AFI20240701BHJP
【FI】
G10L15/06 300J
【請求項の数】 5
(21)【出願番号】P 2021537606
(86)(22)【出願日】2020-06-10
(86)【国際出願番号】 JP2020022900
(87)【国際公開番号】W WO2021024613
(87)【国際公開日】2021-02-11
【審査請求日】2023-04-14
(31)【優先権主張番号】P 2019144430
(32)【優先日】2019-08-06
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】加藤 拓
(72)【発明者】
【氏名】中島 悠輔
(72)【発明者】
【氏名】浅見 太一
【審査官】中村 天真
(56)【参考文献】
【文献】特開2009-271465(JP,A)
【文献】特開2014-219569(JP,A)
【文献】特開2014-002237(JP,A)
【文献】特開2010-039539(JP,A)
【文献】特開2001-092489(JP,A)
【文献】国際公開第2007/138875(WO,A1)
【文献】LECORVE Gwenole, et al.,Automatically finding semantically consistent n-grams to add new words in LVCSR systems,2011 IEEE International Conference on Acoustics, Speech and Signal Processing,2011年05月,p.4676-4679,ISSN 0736-7791
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G06F 40/00-40/58
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
音声認識に用いられる単語辞書に登録される追加単語の重みを計算する単語重み計算システムであって、
予め所定の重みが設定された追加単語を含む単語辞書を用いて音声認識された結果である音声認識結果テキストと、当該音声認識の正解である正解テキストとの組み合わせであって、何れかのテキストに当該追加単語を含む組み合わせを取得するテキスト取得部と、
前記テキスト取得部によって取得された何れかのテキストに含まれる前記追加単語に対応する誤り単語、並びに正解テキストに含まれる当該追加単語又は当該誤り単語の前の予め設定された数の前単語に応じて当該追加単語の重みを計算する重み計算部と、
を備える単語重み計算システム。
【請求項2】
前記重み計算部は、前記音声認識に用いられる音声認識モデルに基づいて、前記前単語の後に前記誤り単語が出現する確率を計算して、計算した確率に応じて当該追加単語の重みを計算する請求項1に記載の単語重み計算システム。
【請求項3】
前記単語辞書に登録される単語は、予め設定される複数のクラスに何れかに属しており、
前記重み計算部は、前記音声認識に用いられる音声認識モデルに基づいて、前記前単語の後に前記追加単語が属するクラスの単語が出現する確率を計算して、計算した確率にも応じて当該追加単語の重みを計算する請求項2に記載の単語重み計算システム。
【請求項4】
前記テキスト取得部によって取得された音声認識結果テキストと正解テキストとの組み合わせから、前記追加単語の認識精度を計算する認識精度計算部と、
前記認識精度計算部によって計算された認識精度に基づいて、前記所定の重みからの増加又は減少を判定する重み増減判定部と、を更に備え、
前記重み計算部は、前記重み増減判定部による判定にも応じて当該追加単語の重みを計算する、請求項1~3の何れか一項に記載の単語重み計算システム。
【請求項5】
前記認識精度計算部は、前記追加単語の認識精度として、適合率及び再現率の少なくとも何れかを計算する請求項4に記載の単語重み計算システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識に用いられる単語辞書に登録される追加単語の重みを計算する単語重み計算システムに関する。
【背景技術】
【0002】
音声認識に用いられる音声認識モデルには、個々の単語の認識に用いられる単語辞書が含まれる。単語辞書は、通常、単語毎に表記、読み仮名及び重みの情報を含む。単語の重みは、通常、音声認識される際の単語の出現確率を示すものである。新たな追加単語を音声認識させるためには、単語辞書に追加単語の情報を登録する必要がある。追加単語を正確に音声認識するためには、追加単語に適切な重みを与えなければならない。
【0003】
特許文献1には、追加単語の重みを決定する方法が示されている。この方法では、まず、追加単語を含む音声を音声認識したテキストから、追加単語の湧き出し誤りの割合及び正解の割合を求める。求めた湧き出し誤りの割合及び正解の割合と閾値とを段階的に比較して、予め設定した最大4段階の重みから新しい重みを選択する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2009-271465号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に示される方法では、湧き出し誤りの割合及び正解の割合に基づいて追加単語の重みが決定されているが、文脈が考慮された重みになっていないおそれがある。そのため、特許文献1に示される方法で決定された重みを用いて音声認識を行った場合、追加単語が出現しやすい文脈において認識されない、又は出現しない文脈で湧き出してしまうおそれがある。
【0006】
本発明の一実施形態は、上記に鑑みてなされたものであり、音声認識に用いられる単語辞書に追加単語を登録する際に適切な重みを設定することができる単語重み計算システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明の一実施形態に係る単語重み計算システムは、音声認識に用いられる単語辞書に登録される追加単語の重みを計算する単語重み計算システムであって、予め所定の重みが設定された追加単語を含む単語辞書を用いて音声認識された結果である音声認識結果テキストと、当該音声認識の正解である正解テキストとの組み合わせであって、何れかのテキストに当該追加単語を含む組み合わせを取得するテキスト取得部と、前記テキスト取得部によって取得された何れかのテキストに含まれる前記追加単語に対応する誤り単語、並びに正解テキストに含まれる当該追加単語又は当該誤り単語の前の予め設定された数の前単語に応じて当該追加単語の重みを計算する重み計算部と、を備える。
【0008】
本発明の一実施形態に係る単語重み計算システムでは、音声認識における追加単語の認識誤りに加えて、前単語が考慮されて追加単語の重みが計算される。従って、本発明の一実施形態に係る単語重み計算システムによれば、文脈を考慮して追加単語の重みを計算でき、音声認識に用いられる単語辞書に追加単語を登録する際に適切な重みを設定することができる。
【発明の効果】
【0009】
本発明の一実施形態によれば、文脈を考慮して追加単語の重みを計算でき、音声認識に用いられる単語辞書に追加単語を登録する際に適切な重みを設定することができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態に係る単語重み計算システムの構成を示す図である。
図2】正解テキストと音声認識結果テキストとのそれぞれから抽出される3-gramの例を示す図である。
図3】追加単語について、再現率、適合率及び誤り例リストを対応付けて格納するテーブルである。
図4】本発明の実施形態に係る単語重み計算システムで実行される処理を示すフローチャートである。
図5】本発明の実施形態に係る単語重み計算システムのハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、図面と共に本発明に係る単語重み計算システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0012】
図1に本実施形態に係る単語重み計算システム10を示す。単語重み計算システム10は、音声認識に用いられる単語辞書に登録される追加単語の重みを計算するシステム(装置)である。本実施形態では、日本語の音声認識を例として説明する。但し、日本語以外の音声認識以外であっても、本実施形態と同様の枠組みで音声認識するものであれば、本実施形態と同様に実施することができる。音声認識では、単語辞書を含む音声認識モデルが用いられる。単語辞書に含まれる単語を認識することで音声認識が行われる。従って、単語辞書に含まれていない単語を音声認識することはできない。新たな単語を音声認識するためには、認識したい新たな単語を単語辞書に追加する必要がある。
【0013】
単語辞書は、単語毎に音声認識に必要な情報を記憶している。単語辞書は、当該情報として、単語の表記及び読み仮名等を記憶している。単語の表記は、音声認識結果として出力される記載である。読み仮名は、音声と比較される情報である。単語の表記及び読み仮名は、単語毎に予め設定されている。
【0014】
また、単語辞書に含まれる各単語にはそれぞれ、重みが設定されている。単語の重みは、通常、音声認識される際の単語の出現確率を示すものである。重みが大きい(強い)程、単語が音声認識されやすく(音声認識の結果のテキストに出現しやすく)、重みが小さい(弱い)程、単語が音声認識されにくい(音声認識の結果のテキストに出現しにくい)。
【0015】
例えば、「ARPU(「アープ」との発音)」との単語について重みが小さい場合、「…で音声ARPU…」との音声(正解のテキスト)に対して、認識結果のテキストが「…で音声アップ…」となり、「ARPU」との単語が出現しない誤りが生じることがある。また、「マター」との単語について重みが大きい場合、「…ができてまた…」との音声(正解のテキスト)に対して、認識結果のテキストが「…ができてマター…」となり、「マター」との単語が誤って出現する誤り(湧き出し)が生じることがある。
【0016】
音声認識は、予め設定された音声認識モデルに基づく音声認識エンジンによって行われる。音声認識モデルは、音声認識を行うための枠組みであり、例えば、音響モデル、言語モデル及び単語辞書等から構成される。本実施形態における音声認識モデルは、公知の音声認識モデル(音声認識技術)を対象とすることができる。音響モデルには、「ニューラルネットワーク+隠れマルコフモデル」、又は「混合ガウス分布+隠れマルコフモデル」等が存在する。また、それ以外の音響モデルが対象とされてもよい。
【0017】
言語モデルとしては、クラス言語モデルが一般的である。本実施形態においては、クラス言語モデルを対象とする。クラス言語モデルでは、単語は、予め設定される複数のクラスに何れかに属している。クラスは、単語の分類を示すものであり、例えば、人名、地名等の分類である。単語辞書は、単語毎にクラスを示す情報を記憶している。クラスは、単語毎に予め設定されている。
【0018】
本実施形態における単語辞書における単語の重みは、クラスを前提としたものである。例えば、単語の重みは、クラス内確率である。クラス内確率は、単語が属するクラスにおいて当該単語が出現する確率である。
【0019】
また、言語モデルとして、音声認識に際して、音声認識される音声(テキスト)における、音声認識の対象となる各単語の前後の単語を考慮する言語モデル、即ち、n-gram言語モデルが用いられる。本実施形態においては、n-gram言語モデルを対象とする。例えば、音声認識の対象となる単語の前の2単語も考慮する3-gram言語モデルでは、単語w、単語w、単語wが連続して音声認識される確率P(w|w,w)は以下のように示される。
P(w|w,w)=P(C|w,w)P(w|C
ここで、Cは単語wが属するクラスであり、P(C|w,w)は、単語w、単語wの次にクラスCの単語が出現する確率であり、P(w|C)は、単語wの重み(単語wのクラス内確率)である。上記の確率P(w|w,w)が、音声認識における単語の認識に用いられる。
【0020】
上記の通り、P(w|C)は、単語辞書に含まれている。P(C|w,w)は、言語モデルに基づいて音声認識の際に計算される。単語の重みを変更することで、各文脈における単語の出現のしやすさが変化する。
【0021】
単語重み計算システム10は、単語辞書に新たに追加単語が登録される際に、当該追加単語の重みを計算するものである。単語重み計算システム10は、追加単語wnewの重みとしてP(wnew|C)を計算する。単語重み計算システム10は、単語辞書を用いて音声認識を行ってもよい。即ち、単語重み計算システム10は、音声認識を行うシステムの一部のシステム(機能)であってもよい。また、単語重み計算システム10は、音声認識を行うシステムとは独立に構成されていてもよい。その場合、単語重み計算システム10は、計算した追加単語の重みを示す情報を、音声認識を行うシステムに提供する。
【0022】
単語重み計算システム10は、例えば、サーバ装置によって実現される。また、単語重み計算システム10は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。
【0023】
引き続いて、本実施形態に係る単語重み計算システム10の機能を説明する。図1に示すように単語重み計算システム10は、テキスト取得部11と、認識精度計算部12と、重み増減判定部13と、重み計算部14とを備えて構成される。単語重み計算システム10では、追加単語の重みの計算処理が行われる時点で予め追加単語が設定されて記憶されている。追加単語の設定は、例えば、単語重み計算システム10の管理者等によって行われる。追加単語は、複数であってもよい。
【0024】
テキスト取得部11は、予め所定の重みが設定された追加単語を含む単語辞書を用いて音声認識された結果である音声認識結果テキストと、当該音声認識の正解である正解テキストとの組み合わせであって、何れかのテキストに当該追加単語を含む組み合わせを取得する機能部である。
【0025】
単語重み計算システム10において追加単語の重みが計算される際には、暫定的に追加単語が登録された単語辞書が用いられた音声認識が行われる。この際の追加単語の所定の重みは、予め設定された初期値であるデフォルト値とされる。デフォルト値は、一律の値であり、例えば、1.0である。なお、単語辞書に登録される単語の重みが1.0より大きい値となっていても、上述した式に基づいて3つの単語が連続して音声認識される確率Pを算出することができる。そのため、重み計算部14によって計算される追加単語の重みは、1.0より大きい値となってもよい。
【0026】
音声認識は、上述した音声認識エンジンが用いられて行われる。音声認識は、単語重み計算システム10(のテキスト取得部11)によって行われてもよいし、単語重み計算システム10以外のシステムによって行われてもよい。音声認識は、通常、複数のテキスト(文章)に係る音声に対して行われる。
【0027】
テキスト取得部11は、上記の単語辞書が用いられた音声認識の結果である音声認識結果テキストを取得する。単語重み計算システム10によって音声認識が行われる場合には、テキスト取得部11は、予め上述した音声認識エンジン及び単語辞書を記憶している。単語辞書は、上記の通り暫定的に追加単語が登録されたものである。テキスト取得部11は、音声認識対象の音声(音声データ)を取得して、取得した音声に対して、記憶した音声認識エンジン及び単語辞書に基づく音声認識を行って音声認識結果テキストを取得する。音声の取得は、例えば、単語重み計算システム10の管理者等による単語重み計算システム10への音声の入力操作によって行われる。
【0028】
外部のシステムによって音声認識が行われる場合には、テキスト取得部11は、外部のシステムから音声認識結果テキストを取得する。外部のシステムによって行われる音声認識も、上記のテキスト取得部11によって行われる音声認識と同様のものである。
【0029】
テキスト取得部11は、音声認識結果テキストに係る音声認識の正解である正解テキストを取得する。正解テキストは、例えば、音声を書き起こしたテキストである書き起こしテキストである。但し、音声が、予め用意された正解テキストを読み上げたものであってもよい。正解テキストは、例えば、単語重み計算システム10の管理者等によって予め用意されており、正解テキストに係る音声又は音声認識結果テキストに対応付けられて単語重み計算システム10に入力される。テキスト取得部11は、正解テキストを入力して取得する。
【0030】
このようにテキスト取得部11は、音声認識結果テキストと正解テキストとの組み合わせを取得する。テキスト取得部11は、複数の(即ち、複数の音声についての)組み合わせを取得する。テキスト取得部11によって取得される組み合わせには、何れかのテキストに追加単語を含む組み合わせを含むようにする。追加単語は、組み合わせの両方のテキストに含まれていてもよいし、何れか一方のテキストのみに含まれていてもよい。
【0031】
なお、テキスト取得部11によって取得される組み合わせには、何れのテキストにも追加単語が含まれない組み合わせを含んでいてもよい。但し、その組み合わせは、追加単語の重みの計算には用いられてない。また、テキスト取得部11によって取得される複数の組み合わせは、複数の追加単語の重みの計算に用いられてもよい。テキスト取得部11によって取得されるテキストに係る音声は、追加単語の重みの計算用に用意されたもの、即ち、開発セット音声であってもよい。
【0032】
テキスト取得部11によって取得されるテキストは、単語毎に区切られたテキスト、例えば、分かち書きされたものである。もし、テキスト取得部11が取得した時点でテキストが単語毎に区切られたものでない場合には、テキスト取得部11は、形態素解析等の従来の技術を用いて、取得したテキストを単語毎に区切られたテキストとする。テキスト取得部11は、取得したテキストの組み合わせを認識精度計算部12に出力する。
【0033】
認識精度計算部12は、テキスト取得部11によって取得された音声認識結果テキストと正解テキストとの組み合わせから、追加単語の認識精度を計算する機能部である。認識精度計算部12は、追加単語の認識精度として、適合率及び再現率の少なくとも何れかを計算してもよい。
【0034】
認識精度計算部12は、テキスト取得部11から音声認識結果テキストと正解テキストとの組み合わせを入力する。認識精度計算部12は、入力したテキストの組み合わせに対して、単語毎の対応付け(アライメント)を取る。アライメントを取るとは、音声認識結果テキストの各単語に対して、当該音声認識結果テキストと組み合わせになっている正解テキストの何れの単語が対応するか(又はその逆)を検出するものである。アライメントは、動的計画法等の従来の一般に公開されているアルゴリズム又はツールが用いられて行われてもよい。
【0035】
認識精度計算部12は、アライメントの結果から、テキストから追加単語をn番目に含む連続するn個の単語列であるn-gramを抽出する。nは、2以上の数値である。本実施形態では、基本的には、n=3、即ち、3-gramとする。即ち、認識精度計算部12は、音声認識結果テキストと正解テキストとの何れかテキストから追加単語を3番目に含む連続する3個の単語列である3-gramを抽出する。また、認識精度計算部12は、組み合わせのもう一方のテキストから、追加単語に対応する単語を3番目に含む連続する3個の単語列である3-gramを抽出する。図2の例1に、追加単語が正解テキストに含まれる場合の、正解テキストと音声認識結果テキストとのそれぞれから抽出される3-gramを示す。図2の例2に、追加単語が音声認識結果テキストに含まれる場合の、正解テキストと音声認識結果テキストとのそれぞれから抽出される3-gramを示す。
【0036】
追加単語がテキストの文頭から2番目に出現する場合は、認識精度計算部12は、文頭記号<s>を合わせた3-gramを抽出する。追加単語がテキストの文頭に出現する場合は、認識精度計算部12は、文頭記号<s>を合わせた2-gramを抽出する。
【0037】
認識精度計算部12は、抽出した3-gram及び2-gramのアライメントに基づき、追加単語についての認識精度を計算する。認識精度計算部12は、認識精度の一つとして、再現率Rを以下の式によって計算する。
再現率R=正解テキストから抽出された3-gram及び2-gramの末尾が追加単語であり、かつ当該追加単語のアライメントの単語(音声認識結果テキストから抽出された3-gram及び2-gramの末尾の単語)も追加単語である数(即ち、正解テキストの追加単語が正しく音声認識できている数)/正解テキストから抽出された3-gram及び2-gramの末尾が追加単語である数
【0038】
また、認識精度計算部12は、認識精度の一つとして、適合率Pを以下の式によって計算する。
適合率P=正解テキストから抽出された3-gram及び2-gramの末尾が追加単語であり、かつ当該追加単語のアライメントの単語(音声認識結果テキストから抽出された3-gram及び2-gramの末尾の単語)も追加単語である数(即ち、正解テキストの追加単語が正しく音声認識できている数)/音声認識結果テキストから抽出された3-gram及び2-gramの末尾が追加単語である数
【0039】
認識精度計算部12は、抽出した3-gram及び2-gramのアライメントの中で追加単語を誤認識しているものを「誤り例」とする。即ち、「誤り例」は、正解テキストと音声認識結果テキストとの何れかのテキストのみから追加単語が抽出されたアライメントであり、何れか一方の末尾のみに追加単語を含むアライメントである。従って「誤り例」には、正解テキストの追加単語を追加単語以外の単語に誤認識したもの(追加単語を発話したが追加単語として音声認識されなかったもの)と、正解テキストの追加単語以外の単語を追加単語に誤認識したもの(追加単語以外を発話したが追加単語が湧き出したもの(追加単語と音声認識されたもの))との2パターンがある。認識精度計算部12は、追加単語について、再現率R、適合率P及び誤り例リストを対応付けて記憶する。追加単語が複数ある場合には、認識精度計算部12は、図3に示すテーブルに各情報を格納して記憶する。図3に示す誤り例リストにおいて、誤り文は、音声認識結果テキストから抽出された誤り例の3-gram又は2-gramであり、正解文は、正解テキストから抽出された誤り例の3-gram又は2-gramである。
【0040】
重み増減判定部13は、認識精度計算部12によって計算された認識精度に基づいて、追加単語の重みのデフォルト値(所定の重み)からの増加又は減少を判定する重み機能部である。
【0041】
重み増減判定部13は、認識精度計算部12によって記憶された図3に示すテーブルの情報を参照して判定を行う。重み増減判定部13は、重みの計算対象である追加単語毎に判定を行う。重み増減判定部13は、図3に示すテーブルから再現率R及び適合率Pを読み出して、予め記憶した以下の判定基準に基づいて判定を行う。判定基準には、予め設定された閾値Tが含まれる。
【0042】
重み増減判定部13は、再現率R及び適合率Pそれぞれと閾値Tとを比較して、比較結果に基づいてデフォルト値から増加するか、減少するか、維持するかを判定する。例えば、重み増減判定部13は、以下のように判定する。R≧TかつP≧Tの場合は重みを維持する。再現率R及び適合率P共に高い場合は、現状の重みが適切であるためである。R<TかつP≧Tの場合は重みを増加する。再現率Rのみが高い場合は、追加単語が出現しやすくなるように現状より高い重みが適切であるためである。R≧TかつP<Tの場合は重みを減少する。適合率Pのみが高い場合は、追加単語が出現しにくくなるように現状より低い重みが適切であるためである。R<TかつP<Tの場合は重みを減少する。再現率R及び適合率P共に低い場合は、湧き出しに対処するため追加単語が出現しにくくなるように現状より低い重みを設定する。
【0043】
なお、音声認識結果テキスト及び正解テキストに出現しない追加単語については重みを維持すると判定する。但し、この場合、追加単語が出現する別の音声認識結果テキスト及び正解テキストを用いて改めて重みを計算することとしてもよい。また、正解テキストのみに出現する追加単語については、追加単語が出現しやすくなるように重みを増加すると判定してもよい。音声認識結果テキストのみに出現する追加単語については、追加単語が出現しにくくなるように重みを減少すると判定してもよい。但し、これらの場合も、別の音声認識結果テキスト及び正解テキストを用いて改めて重みを計算することとしてもよい。また、音声認識結果テキスト及び正解テキストに出現する追加単語の数に応じて(例えば、これらの数が一定数より少ない場合)、別の音声認識結果テキスト及び正解テキストを用いて改めて重みを計算することとしてもよい。重み増減判定部13は、追加単語毎の判定結果を重み計算部14に通知する。
【0044】
重み計算部14は、テキスト取得部11によって取得された何れかのテキストに含まれる追加単語に対応する誤り単語、並びに正解テキストに含まれる当該追加単語又は当該誤り単語の前の予め設定された数の前単語に応じて当該追加単語の重みを計算する機能部である。ここで、何れかのテキストは、音声認識結果テキスト又は正解テキストである。また、誤り単語は、正解文テキストの追加単語が誤認識された音声認識結果テキストの単語、又は追加単語に誤認識された正解文テキストの単語である。
【0045】
重み計算部14は、音声認識に用いられる音声認識モデルに基づいて、前単語の後に誤り単語が出現する確率を計算して、計算した確率に応じて当該追加単語の重みを計算してもよい。重み計算部14は、音声認識に用いられる音声認識モデルに基づいて、抽出した前単語の後に前記追加単語が属するクラスの単語が出現する確率を計算して、計算した確率にも応じて当該追加単語の重みを計算してもよい。重み計算部14は、重み増減判定部13による判定にも応じて当該追加単語の重みを計算してもよい。重み計算部14は、以下のように追加単語の重みを計算する。追加単語が複数ある場合には、重み計算部14は、追加単語毎に重みを計算する。
【0046】
重み計算部14は、重み増減判定部13から判定結果の通知を受ける。重みを維持するとの判定結果であった追加単語に対しては、重み計算部14は、現状の値であるデフォルト値を追加単語の重みに設定する。
【0047】
重みを増加するとの判定結果であった追加単語に対しては、重み計算部14は、認識精度計算部12によって図3に示すテーブルに記憶された当該追加単語の誤り例リストを読み出して重みの計算に用いる。ここでは誤り例リストのうち、正解テキストの追加単語を追加単語以外の単語に誤認識したもの(追加単語を発話したが追加単語として音声認識されなかったもの)を用いる。重み計算部14は、以下の式(i)を用いて、追加単語wnewの重みP(wnew|C)を計算する。
【数1】
ここで、<h>は、正解テキストにおける追加単語の前の予め設定された数の前単語である。具体的には、追加単語の前の2単語又は1単語であり、誤り例リストの正解文である3-gram又は2-gramの追加単語の前の単語である。w´は、追加単語に対応する誤り単語であり、誤り例リストの誤り文である3-gram又は2-gramの末尾の単語である。P(w|<h>)は、前単語<h>の後に単語wが出現する確率である3-gram確率又は2-gram確率である。bは、予め設定された正の定数である。
【0048】
音声認識において、誤り文よりも正解文の追加単語を出現させやすくするためには、
P(wnew|<h>)>P(w´|<h>)
を満たす必要がある。この式を変形すると以下の式が得られる。
【数2】
当該追加単語についての上記の全ての誤り例において、追加単語を出現しやすくするため、式(i)が得られる。
【0049】
重み計算部14は、式(i)のP(C|<h>)を、音声認識の際と同様に音声認識モデルに基づいて計算する。重み計算部14は、P(C|<h>)を、音声認識の際と同様に音声認識モデルに基づいて計算する。ここで、Cは、誤り単語w´のクラスである。重み計算部14は、計算したP(C|<h>)と予め記憶されているP(w´|C)とから、式(i)の第1項の分子であるP(w´|<h>)=P(C|<h>)P(w´|C)を計算する。重み計算部14は、計算したP(C|<h>)とP(w´|<h>)とから、式(i)を用いてP(wnew|C)を計算する。
【0050】
重み計算部14は、計算したP(wnew|C)と、デフォルトの重みPold(wnew|C)とを比較する。P(wnew|C)がPold(wnew|C)よりも大きければ、重み計算部14は、計算したP(wnew|C)を追加単語wnewの重みとして設定する。P(wnew|C)がPold(wnew|C)よりも大きくなければ、重み計算部14は、以下の式(ii)を用いて、追加単語wnewの重みP(wnew|C)を計算し、追加単語wnewの重みとして設定する。
【数3】
ここで、dは、予め設定された正の定数である。式(ii)で計算される重みP(wnew|C)は、重みのデフォルト値よりも大きくなる。以上が、重みを増加するとの判定結果であった追加単語に対する重みの計算である。
【0051】
重みを減少するとの判定結果であった追加単語に対しては、重み計算部14は、認識精度計算部12によって図3に示すテーブルに記憶された当該追加単語の誤り例リストを読み出して重みの計算に用いる。ここでは誤り例リストのうち、正解テキストの追加単語以外の単語を追加単語に誤認識したもの(追加単語以外を発話したが追加単語が湧き出したもの)を用いる。重み計算部14は、以下の式(iii)を用いて、追加単語wnewの重みP(wnew|C)を計算する。
【数4】
ここで、<h>は、正解テキストにおける、追加単語に誤認識された誤り単語の前の予め設定された数の前単語である。具体的には、誤り単語の前の2単語又は1単語であり、誤り例リストの正解文である3-gram又は2-gramの誤り単語の前の単語である。w´は、追加単語に対応する誤り単語であり、誤り例リストの正解文である3-gram又は2-gramの末尾の単語である。P(w|<h>)は、前単語<h>の後に単語wが出現する確率である3-gram確率又は2-gram確率である。bは、予め設定された正の定数である。なお、ここでのbは、式(i)のbとは異なる値であってもよい。
【0052】
音声認識において、誤り文の追加単語よりも正解文の誤り単語w´を出現させやすくする(誤り文の追加単語を出現しにくくする)ためには、
P(wnew|<h>)<P(w´|<h>)
を満たす必要がある。この式を変形すると以下の式が得られる。
【数5】
当該追加単語についての上記の全ての誤り例において、追加単語を出現しにくくするため、式(iii)が得られる。
【0053】
重み計算部14は、式(iii)のP(C|<h>)を、音声認識の際と同様に音声認識モデルに基づいて計算する。重み計算部14は、P(C|<h>)を、音声認識の際と同様に音声認識モデルに基づいて計算する。ここで、Cは、誤り単語w´のクラスである。重み計算部14は、計算したP(C|<h>)と予め記憶されているP(w´|C)とから、式(iii)の第1項の分子であるP(w´|<h>)=P(C|<h>)P(w´|C)を計算する。重み計算部14は、計算したP(C|<h>)とP(w´|<h>)とから、式(iii)を用いてP(wnew|C)を計算する。
【0054】
重み計算部14は、計算したP(wnew|C)と、デフォルトの重みPold(wnew|C)とを比較する。P(wnew|C)がPold(wnew|C)よりも小さければ、重み計算部14は、計算したP(wnew|C)を追加単語wnewの重みとして設定する。P(wnew|C)がPold(wnew|C)よりも小さくなければ、重み計算部14は、以下の式(iv)を用いて、追加単語wnewの重みP(wnew|C)を計算し、追加単語wnewの重みとして設定する。
【数6】
ここで、dは、予め設定された正の定数である。なお、ここでのdは、式(ii)のdとは異なる値であってもよい。式(iv)で計算される重みP(wnew|C)は、重みのデフォルト値よりも小さくなる。以上が、重みを減少するとの判定結果であった追加単語に対する重みの計算である。
【0055】
重み計算部14は、上記のように計算した追加単語の重みを示す情報を出力する。例えば、単語重み計算システム10が、音声認識を行うシステムの一部である場合、重み計算部14は、自身の単語辞書に追加単語の重みを登録して出力する。単語重み計算システム10が、音声認識を行うシステムとは独立に構成されている場合、重み計算部14は、音声認識を行うシステムに追加単語の重みを示す情報を出力する。また、重み計算部14は、追加単語の重みを出力する際に、単語辞書に登録される追加単語に係る情報(例えば、追加単語の表記及び読み仮名)をあわせて出力してもよい。以上が、本実施形態に係る単語重み計算システム10の機能である。
【0056】
引き続いて、図4のフローチャートを用いて、本実施形態に係る単語重み計算システム10で実行される処理(単語重み計算システム10が行う動作方法)を説明する。
【0057】
本処理では、まず、テキスト取得部11によって、音声認識結果テキストと正解テキストとの組み合わせが取得される(S01)。続いて、認識精度計算部12によって、音声認識結果テキストと正解テキストとの組み合わせから、追加単語の認識精度が計算される(S02)。認識精度は、例えば、適合率及び再現率である。続いて、重み増減判定部13によって、認識精度に基づいて、追加単語の重みのデフォルト値からの増減が判定される(S03)。
【0058】
重みを維持するとの判定結果であった場合(S03の重み維持)、重み計算部14によって、現状の値であるデフォルト値が追加単語の重みとして設定されて出力され、処理が終了する(S04)。
【0059】
S03において、重みを増加するとの判定結果であった場合(S03の重み増加)、重み計算部14によって、音声認識結果テキストに含まれる誤り単語、及び正解テキストに含まれる追加単語の前の前単語に応じて、式(i)を用いて追加単語の重みが計算される(S05)。続いて、重み計算部14によって、計算された重みとデフォルトの重みとが比較される(S06)。式(i)による重みがデフォルトの重みよりも大きければ(S06のYES)、重み計算部14によって、式(i)による重みが追加単語の重みとして設定されて出力され、処理が終了する(S07)。S06において、式(i)による重みがデフォルトの重みよりも大きくなければ(S06のNO)、重み計算部14によって、式(ii)を用いて追加単語の重みが計算される(S08)。続いて、重み計算部14によって、式(ii)による重みが追加単語の重みとして設定されて出力され、処理が終了する(S09)。
【0060】
S03において、重みを減少するとの判定結果であった場合(S03の重み減少)、重み計算部14によって、正解テキストに含まれる誤り単語、及び誤り単語の前の前単語に応じて、式(iii)を用いて追加単語の重みが計算される(S10)。続いて、重み計算部14によって、計算された重みとデフォルトの重みとが比較される(S11)。式(iii)による重みがデフォルトの重みよりも小さければ(S11のYES)、重み計算部14によって、式(iii)による重みが追加単語の重みとして設定されて出力され、処理が終了する(S12)。S11において、式(iii)による重みがデフォルトの重みよりも小さくなければ(S11のNO)、重み計算部14によって、式(iv)を用いて追加単語の重みが計算される(S13)。続いて、重み計算部14によって、式(iv)による重みが追加単語の重みとして設定されて出力され、処理が終了する(S14)。以上が、本実施形態に係る単語重み計算システム10で実行される処理である。
【0061】
本実施形態では、音声認識における追加単語の認識誤りに加えて、前単語が考慮されて追加単語の重みが計算される。従って、本実施形態によれば、文脈を考慮して追加単語の重みを計算でき、音声認識に用いられる単語辞書に追加単語を登録する際に適切な重みを設定することができる。追加単語に対する適切な重みの設定により、より正確に追加単語を音声認識することができる。
【0062】
また、本実施形態のように、音声認識に用いられる音声認識モデルに基づいて、前単語の後に誤り単語が出現する確率を計算して、計算した確率に応じて当該追加単語の重みを計算してもよい。この構成によれば、適切かつ確実に追加単語の重みを計算することができる。また、計算した確率に基づいて、上述した式(i)及び式(iii)等を用いて追加単語の重みを計算することで適切な追加単語の重みを計算することができる。上述した特許文献1に示される方法では、予め設定される複数の段階(最大4段階)でしか重みが設定できないため、追加単語毎に適切な重みを与えることができないおそれがある。本実施形態のように上述した確率に基づく追加単語の重みを計算することで、追加単語の重みが複数の段階の値となることなく、適切な重みとすることができる。但し、必ずしも、追加単語の重みの計算において、前単語の後に誤り単語が出現する確率が計算される必要はなく、誤り単語及び前単語に応じて追加単語の重みが計算されればよい。
【0063】
また、本実施形態のように単語のクラスを考慮して追加単語の重みを計算してもよい。この構成によれば、一般的に用いられるクラス言語モデルにおける追加単語の重みを適切に計算することができる。但し、クラスを前提としない追加単語の重みが計算されてもよい。
【0064】
また、本実施形態にようにデフォルト値の重みが設定された追加単語が用いられた音声認識における、追加単語の認識精度が計算されて、デフォルト値からの増減が判定される構成を取ってもよい。計算される認識精度は、上述したように適合率及び再現率としてもよい。また、適合率及び再現率の何れかが認識精度として計算されてもよい。あるいは、適合率及び再現率以外の認識精度が計算されてもよい。
【0065】
上記の構成によれば、適切かつ確実に追加単語の重みを計算することができる。但し、必ずしも、認識精度の計算、及び認識精度に基づく重みの増減の判定が行われる必要はない。重みの増減の判定を行わずに、式(i)及び式(iii)、又はそれらの何れかによって追加単語の重みが計算されてもよい。
【0066】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0067】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)又は送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0068】
例えば、本開示の一実施の形態における単語重み計算システム10は、本開示の情報処理を行うコンピュータとして機能してもよい。図5は、本開示の一実施の形態に係る単語重み計算システム10のハードウェア構成の一例を示す図である。上述の単語重み計算システム10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0069】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。単語重み計算システム10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0070】
単語重み計算システム10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【0071】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の単語重み計算システム10における各機能は、プロセッサ1001によって実現されてもよい。
【0072】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、単語重み計算システム10における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0073】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0074】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。単語重み計算システム10が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【0075】
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0076】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0077】
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0078】
また、単語重み計算システム10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0079】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0080】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0081】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0082】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0083】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0084】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0085】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0086】
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0087】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0088】
本開示で使用する「判断(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)」などで読み替えられてもよい。
【0089】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
【0090】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0091】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0092】
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0093】
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0094】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0095】
10…単語重み計算システム、11…テキスト取得部、12…認識精度計算部、13…重み増減判定部、14…重み計算部、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…通信装置、1005…入力装置、1006…出力装置、1007…バス。
図1
図2
図3
図4
図5