(57)【要約】 【課題】  発音の近い或いは同じ単語を区別して認識することができる音声認識装置、言語モデル生成装置および音声認識方法を提供することを目的とする。【解決手段】  記憶部４０４の言語モデル４０６が単語間の接続確率を示す使用頻度の高い高頻度言語モデルであるサブクラス１の言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルであるサブクラス２の言語モデルを記憶しており、また音響モデル４０５が音声を認識するための音響モデルを記憶している。そして、音声認識部４０３は、これら言語モデル４０６および音響モデル４０５を用いて単語の認識を行う。これにより、使用頻度の高い単語について、その認識率を向上させることができる。【選択図】  図９
2011107251.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの音声に基づいて単語を認識する音声認識装置において、
単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、
音声を認識するための音響モデルを記憶する音響モデル記憶手段と、
前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識手段と
を備え、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする音声認識装置。
【請求項２】
前記音声認識手段は、前記高頻度言語モデルを用いて得られた認識結果の尤度が所定値以上である場合、当該認識結果を最終結果とすることを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記音声認識手段は、前記高頻度言語モデルと前記低頻度言語モデルとにおいてそれぞれ得られた認識結果の尤度を算出し、その尤度の差が所定値以内である場合には、高頻度言語モデルにおける認識結果を最終結果とすることを特徴とする請求項１に記載の音声認識装置。
【請求項４】
単語間の接続確率を示す言語モデルを記憶する言語モデル記憶手段と、
単語種別を示すクラス、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数を受け付ける受付手段と、
前記言語モデル記憶手段から、前記受付手段において受け付けられたクラスを含んだ言語モデルを抽出する言語モデル抽出手段と、
前記抽出手段により抽出された言語モデルを、前記受付手段により受け付けられたサブクラス数で分割し、分割されたサブクラスに前記重み係数を対応付けて言語モデルを再構成する言語モデル生成手段と、
前記言語モデル生成手段により再構成された言語モデルを前記言語モデル記憶手段に記憶させる登録手段と、
を備える言語モデル生成装置。
【請求項５】
辞書データを記憶する辞書データ記憶手段と、
前記辞書データから、前記受付手段において受け付けられたクラスに対応付けら得た単語を抽出する単語抽出手段と、
前記抽出手段により抽出された単語を、前記受付手段により受け付けられたサブクラスに応じた辞書データを生成して、前記辞書データ記憶手段に記憶させる辞書データ登録手段と、
を備える請求項４に記載の言語モデル生成装置。
【請求項６】
テキスト文章を記憶するテキスト記憶手段と、
単語種別を示すクラスを受け付ける受付手段と、
前記テキスト記憶段から、前記受付手段において受け付けられたクラスを含んだテキスト文章を抽出する抽出手段と、
前記抽出手段により抽出されたテキスト文章に対して、前記受付手段により受け付けられたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換えるテキスト処理手段と、
前記テキスト処理手段において処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出し、言語モデルを生成する言語モデル生成手段と、
前記言語モデル生成手段により生成された言語モデルを記憶する言語モデル記憶手段と、
を備える言語モデル生成装置。
【請求項７】
単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、音声を認識するための音響モデルを記憶する音響モデル記憶手段と、を備え、ユーザの音声に基づいて単語を認識する音声認識装置の音声認識方法において、
前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識ステップを有し、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする音声認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラス言語モデルを用いて音声認識を行う音声認識装置、言語モデル生成装置および音声認識方法に関する。
【背景技術】
【０００２】
一般にクラス言語モデルを用いて音声認識を行うことが知られている。ここでクラス言語モデルについて説明する。あるテキストにおいて、それぞれの単語は特定のクラスに分けられ、予め共通の特性を有する単語は同一のクラスとして分類される。例えば、人名クラス、駅名クラス、国名クラス等のクラスに単語はクラス分けされる。言語モデルを作成するときに、クラス言語モデルを生成する元となるテキストデータ（学習テキスト）に対し、形態素解析が行われる。分割された人名や、駅名などの単語に文章の中の人名、駅名、国名などの単語はそれぞれクラスのクラス識別子に変換される。なお、特にクラス分けを必要としない単語は、そのまま保持される。たとえば以下のテキストを例に説明する。
“明日三時に山田さんと新宿で待ち合わせ”
“明後日、佐々木さんと赤坂見附の近くでお昼を取る”
【０００３】
このテキストにおいて、形態素解析を行い、クラス識別子に変換すると、以下の通りとなる。
“明日三時にＣ１（人名クラス）とＣ２（駅名クラス）で待ち合わせ”
“明後日、Ｃ１（人名クラス）とＣ２（駅名クラス）の近くでお昼を取る”
各クラスを一つの単語とみなして、単語の出現頻度及び単語間の接続頻度を推定して、クラス言語モデルが作成される。単語辞書の中に各クラスの単語が記入される。例えば、以下の通りである。
人名クラスＣ１
Ｃ１：山田
Ｃ１：佐々木
駅名クラスＣ２
Ｃ２：新宿
Ｃ２：赤坂見附
【０００４】
このように単語辞書を構築しておくことで、学習テキストに含まれる人名（山田、佐々木）と駅名（新宿、赤坂見附）とを利用することができ、その認識は可能となる。さらに、この各クラスに任意の単語を追加するだけで、他の単語の認識も可能となる。例えば、学習テキストに含まれてない人名（堀）と駅名（六郷土手）も辞書に追加するだけで、その認識は可能になる。クラス言語モデルの詳細は以下の非特許文献１に記載されている。
人名クラスＣ１
Ｃ１：山田
Ｃ１：佐々木
Ｃ１：堀（追加されたもの）
駅名クラスＣ２
Ｃ２：新宿
Ｃ２：赤坂見附
Ｃ２：六郷土手（追加されたもの）
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】P．F．Brown 他， 「Class-based N-gram model ofnatural language」，Computational Linguistics, No.4 P 467-479, 1992
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、発音の近い或いは同じ単語の区別が困難である。特に新規で追加する単語の場合は、ユーザごとの使用頻度などの情報はないため、単語を音響的な類似度で区別するしかない。このため、発音の近い単語や同音異義語などを区別するのが難しい。たとえば地名クラスの辞書に以下の単語があるとした場合について説明する。
地名クラスＣ３
川口：カワグチ
川崎：カワサキ
【０００７】
ユーザは“カワグチ”と発音する場合は、発音における類似度が“川口”：１．０, “川崎”：０．８となり、認識結果は“川口”が選択されることになる。一方、ユーザは“カワサキ”と同じように発音したとしても、“川口”との類似度が０．９７,“川崎”との類似度が０．９６と算出される場合もある。その場合、認識結果は“川口”と誤認識されることになる。“川崎”はユーザにとって重要な単語（或いは使用頻度の高い単語）である場合には、当然に“川崎”と認識してほしいのにもかかわらず正しく音声認識を行うことができない、といった不都合が生ずる。よってユーザはほかの手段で正しい認識結果を入力する必要があり、ユーザにとって負担になる。
【０００８】
そこで、本発明では、発音の近い或いは同じ単語を区別して認識することができる音声認識装置、言語モデル生成装置および音声認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、本発明の音声認識装置は、ユーザの音声に基づいて単語を認識する音声認識装置において、単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、音声を認識するための音響モデルを記憶する音響モデル記憶手段と、前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識手段とを備え、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする。
【００１０】
また、本発明の音声認識方法は、単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、音声を認識するための音響モデルを記憶する音響モデル記憶手段と、を備え、ユーザの音声に基づいて単語を認識する音声認識装置の音声認識方法において、前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識ステップを有し、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする。
【００１１】
この発明によれば、単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデル、音声を認識するための音響モデルのそれぞれを用いて単語の認識を行う。これにより、使用頻度の高い単語について、その認識率を向上させることができる。
【００１２】
一般的に、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りはある。例えば、“川崎”が高頻度で使用される単語である場合、“川崎”と“川口”とは、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りを起こしやすい単語であるが、本発明を用いることで、“カワサキ”と発音した場合に“川口”とご認識されること無く、“川崎”と正しく認識されることができる。
【００１３】
また、本発明の音声認識装置において、前記音声認識手段は、前記高頻度言語モデルを用いて得られた認識結果の尤度が所定値以上である場合、当該認識結果を最終結果とすることを特徴とする。
【００１４】
この発明によれば、高頻度言語モデルを用いて得られた認識結果の尤度が所定値以上である場合、当該認識結果を最終結果とすることで、例えば、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
【００１５】
また、本発明の音声認識装置において、前記音声認識手段は、前記高頻度言語モデルと前記低頻度言語モデルとにおいてそれぞれ得られた認識結果の尤度を算出し、その尤度の差が所定値以内である場合には、高頻度言語モデルにおける認識結果を最終結果とすることを特徴とする。
【００１６】
この発明によれば、高頻度言語モデルと低頻度言語モデルとにおいてそれぞれ得られた認識結果の尤度を算出し、その尤度の差が所定値以内である場合には、高頻度言語モデルにおける認識結果を最終結果とすることで、仮に低頻度言語モデルを用いた認識結果の尤度が、高頻度言語モデルを用いた認識結果の尤度より大きくても、その差が所定値以内である場合には、高頻度言語モデルを用いた認識結果を優先的に選択しようとするものである。これにより、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
【００１７】
また、本発明の言語モデル生成装置は、単語間の接続確率を示す言語モデルを記憶する言語モデル記憶手段と、単語種別を示すクラス、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数を受け付ける受付手段と、前記言語モデル記憶手段から、前記受付手段において受け付けられたクラスを含んだ言語モデルを抽出する言語モデル抽出手段と、前記抽出手段により抽出された言語モデルを、前記抽出手段により抽出された言語モデルを、前記受付手段により受け付けられたサブクラス数で分割し、分割されたサブクラスに前記重み係数を対応付けて言語モデルを再構成する言語モデル生成手段と、前記言語モデル生成手段により再構成された言語モデルを前記言語モデル記憶手段に記憶させる登録手段と、を備えている。
【００１８】
この発明によれば、単語種別を示すクラス、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数の指定を受け付け、言語モデル記憶手段から受け付けられたクラスを含んだ言語モデルを抽出し、抽出された言語モデルを、先に受け付けられたサブクラス数および重み係数を用いて分割する。そして、指定されたサブクラスで分割された言語モデルをそれぞれサブクラスごとに区別して言語モデル記憶手段に記憶させる。これにより、ユーザ特有の重み係数をもった言語モデルを構築することができる。
【００１９】
また、本発明の言語モデル生成装置は、辞書データを記憶する辞書データ記憶手段と、前記辞書データから、前記受付手段において受け付けられたクラスに対応付けら得た単語を抽出する単語抽出手段と、前記抽出手段により抽出された単語を、前記受付手段により受け付けられたサブクラスに応じた辞書データを生成して、前記辞書データ記憶手段に記憶させる辞書データ登録手段と、をさらに備えることが好ましい。
【００２０】
この発明によれば、辞書データから、受け付けられたクラスに対応付けら得た単語を抽出し、抽出された単語を、受け付けられたサブクラス数に応じた辞書データを生成して、辞書データ記憶手段に記憶させる。これにより、ユーザ特有の辞書データを構築することができる。
【００２１】
また、本発明の言語モデル生成装置は、テキスト文章を記憶するテキスト記憶手段と、単語種別を示すクラスを受け付ける受付手段と、前記テキスト記憶段から、前記受付手段において受け付けられたクラスを含んだテキスト文章を抽出する抽出手段と、前記抽出手段により抽出されたテキスト文章に対して、前記受付手段により受け付けられたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換えるテキスト処理手段と、前記テキスト処理手段において処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出し、言語モデルを生成する言語モデル生成手段と、前記言語モデル生成手段により生成された言語モデルを記憶する言語モデル記憶手段と、を備えている。
【００２２】
この発明によれば、指定されたクラスを含んだテキスト文章を抽出し、抽出されたテキスト文章に対して、指定されたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換え、ここで処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出し、言語モデルを生成し、生成された言語モデルを記憶する。これにより、予め用意したテキスト文章から言語モデルを生成することができる。
【発明の効果】
【００２３】
本発明の音声認識装置および音声認識方法の発明によれば、使用頻度の高い単語について、その認識率を向上させることができる。また、本発明の言語モデル生成装置の発明によれば、ユーザ特有の重み係数をもった言語モデルを構築することができる。よって、この言語モデルを利用すれば、音声認識の精度を向上させることができる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態の言語モデル生成装置１００の機能を示すブロック図である。
【図２】（ａ）は分割前の言語モデルの模式図であり、（ｂ）は分割後の言語モデルの模式図である。
【図３】（ａ）は分割前の辞書データの模式図であり、（ｂ）は分割後の辞書データの模式図である。
【図４】言語モデル生成装置１００の動作を示すフローチャートである。
【図５】辞書データを生成する、変形例における端末装置２００の機能を示すブロック図である。
【図６】端末装置２００から送信された漢字データに基づいて辞書登録処理を行うサーバ装置３００の機能を示すブロック図である。
【図７】変形例である言語モデル生成装置１００ａの構成を示すブロック図である。
【図８】言語モデル生成装置１００ａの処理を示すフローチャートである。
【図９】言語モデルを利用した音声認識装置４００の構成を示すブロック図である。
【図１０】音声認識する区間を示す模式図である。
【図１１】音声認識装置４００の動作を示すフローチャートである。
【図１２】音声認識装置４００の変形例における動作を示すフローチャートである。
【発明を実施するための形態】
【００２５】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００２６】
図１は、本実施形態の言語モデル生成装置１００の機能を示すブロック図である。この言語モデル生成装置１００は、対象クラス指定部１１０、言語モデル保持部１２０、言語モデル抽出部１３０、分割部１４０、条件指定部１５０、重み設定部１６０、辞書保持部１７０、単語抽出部１８０、および辞書登録部１９０を含んで構成されている。
【００２７】
対象クラス指定部１１０は、分割対象のクラスを指定する部分である。例えば、音声から地名を抜き出すための地名クラス、人名を抜き出すための人名クラスなどの単語の種別を示すクラス、分割数であるサブクラスの数、および分割されたそれぞれのサブクラスの重み係数を指定する部分である。この対象クラス指定部１１０は、言語モデル生成装置のオペレータにより指定されるものである。
【００２８】
言語モデル保持部１２０は、言語モデルを記憶する部分であり、例えば、図２（ａ）に示されるとおり、接続対象とその接続確率が記憶されている。この図２（ａ）においては、以下のとおり、語の順番とその接続確率を記憶している。ここでは、Ｐ（Ｘ／Ｙ）とは、単語Ｙのつぎに単語Ｘが接続する確率を示している。
Ｐ（地名クラス／が）＝0.3  ：単語“が”の次に“地名クラス”が接続する確率
Ｐ（地名クラス／私  が）＝0.2  ：単語“私”と単語“が”の次に“地名クラス”が接続する確率
【００２９】
この言語モデル保持部１２０は、分割部１４０において分割処理され、重み設定部１６０において、サブクラスごとに分割された言語モデルに対して重み付けの設定処理がなされると、その処理において得られた新言語モデル（図２（ｂ）参照）を記憶することで、言語モデルを更新する。例えば、この言語モデルは、図２（ｂ）に示されている通りであって、例えば“が”に地名サブクラス１が接続される接続確率は、０．１６５、地名サブクラス２が接続される接続確率は、０．１３５としており、サブクラスごとに接続確率に重み付け処理がされている。
【００３０】
言語モデル抽出部１３０は、言語モデル保持部１２０に記憶されている言語モデルから、対象クラス指定部１１０にて指定されたクラスを抽出する。例えば、地名クラスが指定された場合には、全言語モデルから地名クラスを含んだ言語モデルを抽出する。
【００３１】
分割部１４０は、条件指定部１５０により指定された分割数に従って地名クラスを分類する処理を行う。例えば、地名クラスを２つの地名サブクラス（地名サブクラス１、地名サブクラス２）に分類する処理を行う。
【００３２】
条件指定部１５０は、分割部１４０等において分割処理を行うための条件を指定する部分であり、分割数、および重み係数の指定を受け付ける部分である。
【００３３】
重み設定部１６０は、条件指定部１５０において指定された重み係数を用いて分割部１４０により分割された各サブクラスにおける接続確率を算出する。例えば、重み係数１および重み係数２が０．５５、０．４５とそれぞれ設定された場合に、以下の処理を行う。
Ｐ（地名サブクラス１／が）＝Ｐ（地名クラス／が）＊重み係数１＝0.3*0.55=0.165
Ｐ（地名サブクラス2／が）＝Ｐ（地名クラス／が）＊重み係数２＝0.3*0.45=0.135
地名クラスを含む他のすべてのクラスに対し、この処理を行い、新しい新言語モデルを生成する。
【００３４】
この重み設定部１６０は、サブクラスに分割された言語モデルにおいて接続確率を更新した言語モデルを言語モデル保持部１２０に記憶させる。
【００３５】
辞書保持部１７０は、辞書データを記憶する部分であり、例えば地名を示す単語、人名を示す単語などの少なくとも単語の種別を示しクラス名、読み方、および漢字を対応付けて記憶する部分である。例えば、図３（ａ）に示すとおり、読み方、漢字、クラス名が対応付けて記憶されており、読み方“カワグチ”、漢字“川口”、クラス名“地名クラス”が対応付けて記憶されている。そして、後述するとおり、この辞書保持部１７０は、辞書登録部１９０において登録処理された新辞書データを用いて辞書データの更新処理を行う。
【００３６】
単語抽出部１８０は、対象クラス指定部１１０において指定されたクラスに基づいて、辞書保持部１７０から、そのクラスに対応付けられている単語を抽出する部分である。例えば、地名クラスが指定された場合には、単語抽出部１８０は、辞書保持部１７０から地名クラスに割り振られている単語を抽出する。図３（ａ）では、対象クラス指定部１１０において地名クラスが指定された場合、単語抽出部１８０は、以下の単語を抽出することができる。
川口：カワグチ
川崎：カワサキ
【００３７】
辞書登録部１９０は、条件指定部１５０により指定された条件（分割数、重み係数）に基づいて辞書データを分割して新辞書を生成し、辞書保持部１７０の辞書データを更新する部分である。例えば、単語“川崎”はユーザによく利用される単語である場合には、この単語をサブクラス１の辞書に登録する。また、単語“川口”はあまり利用されてない単語である場合には、サブクラス２の辞書に登録する。登録先の割り振りは、言語モデル生成装置１００のオペレータが行うものとするが、これに限るものではなく、例えば、辞書データに使用頻度が対応付けられている場合には、その使用頻度に従って、サブクラス１またはサブクラス２のいずれに割り振るかを決めてもよい。
【００３８】
以下、サブクラス１をユーザにより頻繁に使用される単語を分類するサブクラス、サブクラス２をあまり使用されない単語を分類するサブクラスであるとして説明する。なお、辞書更新は既存の単語を対象に分割してもよいが、新しい単語をユーザの入力や、外部ネットなどの手段で獲得し、随時登録して良い。また単語の使用頻度や、使用時期や、ユーザの位置情報、使用時刻、通話相手、年齢情報などに応じ、重みの高いサブクラス１と重みの低いサブクラス２に分けて登録してもよい。たとえば使用頻度の高い単語を重みの高いサブクラスに、利用頻度の低い単語を重みの低いサブクラスに登録する。または登録時期の近い単語を重みの高いサブクラス１に、登録時期の遠い単語を重みの低いサブクラス２に登録してもよい。さらに、ユーザの位置情報に基づいて、ユーザの活動地域に近い場所や、店などを重みの高いサブクラス１に登録してもよい。このように単語をサブクラスに分けて、各サブクラスに異なる重みを付与することで、ユーザにとって重要な単語は認識しやすくなる。この例ではユーザが“カワサキ”と発音する場合は“川口”との音響スコア（類似度）が1.0, “川崎”との音響スコア（類似度）が0.9とした場合に、その音響スコアに、サブクラスの重み係数を乗算することで“川崎”に対するスコアが高くなり、“川崎”と認識される。
【００３９】
このように構成された言語モデル生成装置１００の動作について説明する。図４は、その動作を示すフローチャートである。
【００４０】
対象クラス指定部１１０により、クラスが指定される（Ｓ１０１）。そして、このクラスを含んだ言語モデルが、言語モデル抽出部１３０により言語モデル保持部１２０から抽出される（Ｓ１０２）。つぎに、抽出された言語モデルは、分割部１４０により分割される。ここでは、条件指定部１５０において指定された条件（分割数、重み係数）に基づいて分割される。（Ｓ１０３）。そして、重み設定部１６０により、条件指定部１５０において指定された重み係数を用いて、サブクラス１およびサブクラス２における言語モデルの接続確率が計算され、それぞれのサブクラス１およびサブクラス２に分割された言語モデルが構築される（Ｓ１０４）。
【００４１】
一方で、対象クラス指定部１１０において指定されたクラスに基づいて、対応する単語を単語抽出部１８０により辞書保持部１７０から抽出される（Ｓ１０５）。抽出された単語は、辞書登録部１９０においてその使用頻度などに基づいて分割されたサブクラスに応じた辞書データに登録され、新たな辞書データとして更新される。上述の例では、サブクラス１またはサブクラス２の辞書データが構築されており、それぞれに割り振られる。このようにしてユーザ特有の、すなわち使用頻度の高い言語モデルおよび辞書データを区別して構築することができる。
【００４２】
言語モデルを構築するための言語モデル生成装置１００の変形例について説明する。この変形例では、図５に示される端末装置２００および図６に示されるサーバ装置３００を用いて辞書データを生成するものである。以下、各装置について説明する。図５は、端末装置２００の機能を示すブロック図である。図５に示されるとおり、端末装置２００は、操作部５１０、テキストＤＢ保持部５２０、および送信部５３０を含んで構成されている。この端末装置２００は、例えば携帯電話などである。
【００４３】
操作部５１０は、ユーザからのキー入力を受け付ける部分である。例えば、単語単位に、ユーザはキー入力を行い、テキストＤＢ保持部５２０に記憶されているかな漢変換用の辞書を利用して漢字を生成する。
【００４４】
送信部５３０は、生成された漢字を示す漢字データをサーバ装置３００に送信する部分である。
【００４５】
図６は、端末装置２００から送信された漢字データに基づいて辞書登録処理を行うサーバ装置３００の機能を示すブロック図である。このサーバ装置３００は、受信部６１０、サブクラス判定部６３０、および辞書登録部６４０を含んで構成される。
【００４６】
受信部６１０は、端末装置２００から送信された漢字データを受信する部分である。
【００４７】
サブクラス判定部６３０は、受信部６１０により受信された漢字データを、予め設定された辞書データにおける複数あるサブクラスのうち、いずれのサブクラスに登録させるものか、判定する部分である。このサブクラス判定部６３０は、サーバ装置３００のオペレータからの指示に従ってサブクラスを判定してもよいし、また、その漢字データの使用頻度に基づいてサブクラスを決定してもよい。
【００４８】
辞書登録部６４０は、サブクラス判定部６３０により判定されたサブクラスの辞書データ（例えば辞書保持部（図示せず））に、受信された漢字データを登録する部分である。上述と同様に、漢字データは、漢字、読み方、クラス名が対応付けて構成されたものである。
【００４９】
このようにして、端末装置２００からサーバ装置３００に対して新たな辞書データを登録させることができる。
【００５０】
さらに、言語モデルを生成する言語モデル生成装置１００の変形例について説明する。図７は、変形例である言語モデル生成装置１００ａの構成を示すブロック図である。図７に示されるように、言語モデル生成装置１００ａは、対象クラス指定部３１０、テキスト保持部３２０、対象抽出部３３０、条件指定部３４０、テキスト処理部３５０、および言語モデル作成部３６０を含んで構成されている。
【００５１】
この変形例における言語モデル生成装置１００ａは、学習用に予め設定された定型文として記憶されているテキストから言語モデルを生成するための装置である。
【００５２】
対象クラス指定部３１０は、単語の種別を示すクラスの指定を本装置のオペレータから受け付ける部分である。例えば、地名クラスなどのクラスの指定を受け付ける。
【００５３】
テキスト保持部３２０は、テキストデータを記憶する部分である。言語モデルを生成するための元となる学習用のデータであり、文章データが記憶されている。例えば、以下の文章データが記憶されている。
“明日、名古屋に打ち合わせをする予定です”
“明日、渋谷に遊びに行く”
“明日、横浜に食べに行く”
“明日、私は京都に行く”
【００５４】
対象抽出部３３０は、テキスト保持部３２０に記憶されているテキストデータを抽出する部分である。
【００５５】
条件指定部３４０は、言語モデル生成のための分割数などの分割条件の指定を受け付ける部分である。
【００５６】
テキスト処理部３５０は、条件指定部３４０において指定された分割条件に従って、対象抽出部３３０により抽出されたテキストデータに対して処理を施す部分である。具体的には、テキスト処理部３５０は、条件指定部３４０において指定された分割数および対象クラス指定部３１０において指定されたクラスに基づいて、指定されたクラスに対応する単語を、サブクラス１に属する単語か、サブクラス２に属する単語かを判断して、そのサブクラス名に置き換える処理を行う。
【００５７】
例えば、地名クラスが対象クラスとして指定された場合には、以下の具体例に示すとおり、使用頻度に基づいて地名サブクラス１であるか、地名サブクラス２であるか、を示す文字列に置き換える。
“明日、＜地名サブクラス１＞に打ち合わせをする予定です”
“明日、＜地名サブクラス１＞に遊びに行く”
“明日、＜地名サブクラス２＞に食べに行く”
“明日、私は＜地名サブクラス１＞に行く”
ここでは、名古屋、渋谷、京都は地名サブクラス１（使用頻度が高い）に属し、横浜は地名サブクラス２（使用頻度が低い）に属するものとして説明する。なお、この頻度の判別は、本装置のオペレータが判断してもよいし、単語、クラス名およびその使用頻度を対応付けて記憶しておき、その使用頻度に従って、いずれのサブクラスに属するかを判断するようにしてもよい。
【００５８】
言語モデル作成部３６０は、このようにテキスト処理されたテキストデータに対して、言語モデルを作成する部分である。例えば、上述の例をみてみると、“明日”とサブクラス１における地名クラスとの接続確率は、０．５（２／４）である。また、“明日”とサブクラス２における地名クラスとの接続確率は、０．２５（１／４）である。“私は”とサブクラス１における地名クラスとの接続確率は、０．２５（１／４）である。このように接続確率が算出された言語モデルが生成され、言語モデルデータとしてデータベース（図示しない記憶部）記憶させる。このようにしてサブクラス１とサブクラス２とに分けて構成された言語モデルを生成することができる。
【００５９】
ここで、この変形例における言語モデル生成装置１００ａの処理について説明する。図８は、言語モデル生成装置１００ａの処理を示すフローチャートである。図８に示されるとおり、対象クラス指定部１１０により、対象となるクラスが指定される（Ｓ２０１）。つぎに、対象抽出部３３０によりテキスト保持部３２０からテキストデータが抽出され（Ｓ２０２）、テキスト処理部３５０において、テキストの書き換え処理が行われる（Ｓ２０３）。すなわち、対象クラスとして指定されたクラスの単語は、サブクラス１またはサブクラス２のいずれのクラスに属する単語であるかを示す文字列に置き換えられる。そして、言語モデル作成部３６０により、テキスト処理されたテキストデータを用いて、言語モデルの作成が行われる（Ｓ２０４）。
【００６０】
以上、各クラスにおけるサブクラス（地名サブクラスなど）を含んだ言語モデル、辞書データの生成について説明したが、言語モデル、辞書データの生成方法は上述のものに限定されるものではなく、また後述する音声認識処理においても、上述のように生成された言語モデルまたは辞書データを用いたものに限定するものではない。
【００６１】
つぎに、このように生成された言語モデルを用いた音声認識処理を行う音声認識装置について説明する。図９は、言語モデルを利用した音声認識装置４００の構成を示すブロック図である。この音声認識装置４００は、例えば携帯電話であって、音声入力部４０１、特徴量抽出部４０２、音声認識部４０３、記憶部４０４（音響モデル４０５、言語モデル４０６）、および表示部４０８を含んで構成されている。以下、各構成要素について説明する。
【００６２】
音声入力部４０１は、音声認識装置４００のユーザが発した声を入力する部分であり、例えばマイクである。
【００６３】
特徴量抽出部４０２は、音声入力部４０１から入力されたユーザの音声の特徴量を抽出する部分である。
【００６４】
音声認識部４０３は、特徴量抽出部４０２において抽出された音声の特徴量および記憶部４０４の音響モデル４０５に従って音声認識を行うとともに、言語モデル４０６、すなわち単語間の接続確率を利用して音声認識を行う部分である。この音声認識部４０３は、言語モデルのうちサブクラス１およびサブクラス２の両方を用いて認識処理を起こってもよいし、言語モデルの一方、例えばサブクラス１のみを用いて認識処理し、その認識結果に満足できない場合にはサブクラス２を用いて認識処理を行うようにしてもよい。さらに、音声認識部４０３は、サブクラス１およびサブクラス２の両方を用いて認識処理を行った結果、所定条件の場合には、サブクラス１を用いた認識結果を最終結果とするようにしてもよい。その具体的な処理は後述する。
【００６５】
音響モデル４０５は、音声認識を行うためのデータベースを記憶する部分であり、音響的な特徴情報を記憶している。
【００６６】
言語モデル４０６は、単語間の接続確率を記憶する部分である。本実施形態では、図２（ｂ）に示されるように、サブクラス１およびサブクラス２のサブクラスの種別を示す情報が付加された単語間の接続確率が記憶されており、サブクラスに応じた接続確率を認識処理に用いることができる。
【００６７】
ここで音声認識を行う際の具体例について説明する。例えば、ユーザが“私が川崎に住んでいる”と発音したとする。その模式図を図１０に示す。図１０においては、入力音声に対し、時刻Ｔ０から時刻Ｔ１までの特徴量に基づいた認識結果の候補は単語“私”であり、時刻Ｔ１から時刻Ｔ２までの認識結果の候補は単語“が”である。次に時刻Ｔ２から時刻Ｔ３の音声に対する認識を行う時に、音声認識部４０３は、この区間に出現する可能性のある全単語に対し、スコア＝言語スコア＋音響スコアを計算する。
【００６８】
言語スコアとしてbigramを用いる場合は各単語のスコアは以下の通りとなる。
＜地名サブクラス１の単語＞
川崎：Ｐ（地名サブクラス１／が）の言語スコア0.165＋音響スコア0.96=1.125
横浜：Ｐ（地名サブクラス１／が）の言語スコア0.165＋音響スコア0.8=0.965
＜地名サブクラス２の単語＞
川口： Ｐ（地名サブクラス２／が）の言語スコア0.135＋音響スコア0.97=1.105
大分： Ｐ（地名サブクラス２／が）の言語スコア0.135＋音響スコア0.8=0.935
【００６９】
また、地名クラス以外の全クラスに対しても計算する。たとえば動詞クラスに属する単語について計算する。
行く： Ｐ（動詞／が）の言語スコア0.1＋音響スコア0.74=0.84
食べる：      Ｐ（動詞／が）の言語スコア0.1＋音響スコア0.75=0.85
これらの候補の中、スコアが大きいのは“川崎”である。よって、音声認識部４０３は、この区間（Ｔ２−Ｔ３間）の認識結果として“川崎”を得る。
【００７０】
表示部４０８は、音声認識部４０３において認識処理された単語を表示する部分である。
【００７１】
このように構成された音声認識装置４００の動作について説明する。図１１は、音声認識装置４００の動作を示すフローチャートである。音声入力部４０１により音声が入力され（Ｓ３０１）、その入力音声に対して特徴量抽出部４０２により特徴量が抽出される（Ｓ３０２）。その特徴量および音響モデル４０５に基づいて音声認識部４０３により音声認識がなされるとともに、言語モデル４０６を用いた認識処理が行われ、スコアの計算が行われる（Ｓ３０４）。ここでは、言語モデル４０６内に記憶されているサブクラスごとに分けてスコアの計算が行われる。そして、計算されたスコアのうち一番高いスコアの単語を、認識結果として決定し、表示部４０８において表示される（Ｓ３０５）。
【００７２】
なお、ここでは一番スコアの高い単語を、認識結果として決定しているが、以下の通りにしてもよい。例えば、言語モデル４０６におけるサブクラス１を用いた認識結果のスコアを算出し、また、サブクラス２を用いた認識結果のスコアを算出し、そのスコアの差が所定値以内である場合には、仮にサブクラス２のスコアの方が高い場合であっても、サブクラス１を用いた認識結果を最終的な認識結果としてもよい。これにより高頻度に使用される単語、例えばユーザに特有に使用される単語などの認識率を向上させることができる。
【００７３】
つぎに、その変形処理について説明する。図１２は、音声認識装置４００の変形例における動作を示すフローチャートである。この変形例においては、言語モデルのうちサブクラスの一方のみを用いて認識処理を行い、その認識結果が所定条件を満たさなかった場合に、もう一方のサブクラスを用いて認識処理を行おうとするものである。
【００７４】
まず、図示しない操作部を介して、ユーザにより閾値が指定される（Ｓ５０１）。つぎに、言語モデル４０６内におけるサブクラス１に対応付けられている単語間の接続確率を用いて入力音声の認識処理が行われる（Ｓ５０２）。上述の図１１と同様に、特徴量と音響モデルとに基づいた認識処理（スコア計算）と、言語モデル（サブクラス１）を用いた認識処理（スコア計算）が行われ、認識結果Ｋ１およびスコアＳ１が算出される。
【００７５】
そして、スコアＳ１が閾値以上であるか否かが、音声認識部４０３により判断される（Ｓ５０３）。ここでスコアＳ１が閾値より大きいと判断されると、認識結果Ｋ１を最終的な認識結果として判断され（Ｓ５０４）、表示部４０８において認識結果の表示が行われる。
【００７６】
また、スコアＳ１が閾値以下であると判断されると、音声認識部４０３により言語モデル４０６内におけるサブクラス２を用いた入力音声の認識処理が行われる。上述したとおり、特徴量と音響モデルとに基づいた認識処理（スコア計算）と、言語モデル（サブクラス２）を用いた認識処理（スコア計算）が行われ、ここでは認識結果Ｋ２およびスコアＳ２が算出される。
【００７７】
このスコアＳ２が閾値より大きいと判断されると、認識結果Ｋ２が最終的な認識結果として判断され（Ｓ５０７）、表示部４０８において認識結果の表示が行われる。スコアＳ２が閾値以下であると判断されると、認識結果Ｋ１が最終的な認識結果と判断され、表示部４０８において認識結果の表示が行われる。
【００７８】
この変形例における処理を具体的な単語に当てはめて説明する。
＜地名サブクラス１に属する単語＞
川崎：Ｐ（地名サブクラス１／が)の言語スコア0.165＋音響スコア0.96=1.125
横浜：Ｐ（地名サブクラス１／が)の言語スコア0.165＋音響スコア0.8=0.965
＜地名サブクラス１以外のサブクラス、たとえば動詞サブクラスに属する単語＞
行く：Ｐ（動詞／が）の言語スコア0.1＋音響スコア0.74=0.84
食べる：Ｐ（動詞／が）の言語スコア0.1＋音響スコア0.75=0.85
これらの候補のうち、スコア値Ｓ１が一番大きいものは1.125の“川崎”であり、認識結果Ｋ１は“川崎”となる。
【００７９】
次に、スコアＳ１と事前に決めた閾値と比較し、スコアＳ１が閾値を超える場合はこの認識結果Ｋ１を最終的な認識結果にする。スコアが閾値を超えない場合は言語モデル（サブクラス１）以外の言語モデル（サブクラス２）を用いて認識処理を実行する。例えば、閾値は1.1とすると、サブクラス１の認識結果Ｋ１“川崎”のスコアＳ１が閾値より高い。この場合は認識結果Ｋ１“川崎”を最終的な認識結果として決定する。一方、例えば閾値を1.3とした場合には、サブクラス１以外のサブクラス２を用いて認識処理を実行する。
【００８０】
地名サブクラス2として、以下の単語があるとする。
川口
大分
それぞれのスコアは以下の通りとなる。
川口： Ｐ（地名サブクラス２／が）の言語スコア0.135＋音響スコア0.97=1.105
大分： Ｐ（地名サブクラス２／が）の言語スコア0.135＋音響スコア0.8=0.935
ここでの最大スコアＳ２は1.105の認識結果Ｋ２“川口”となる。次にスコアＳ２と閾値を比較する。スコアＳ２が閾値より低い場合は、最終的な認識結果として認識結果Ｋ１“川崎”が決定される。なお、音響スコアは、誤差が生ずることが一般的であり、カワサキと発音したとしても、川口（カワグチ）のほうが、音響スコアが高くなる場合がある。
【００８１】
つぎに、このように構成された言語モデル生成装置１００および音声認識装置４００の作用効果について説明する。
【００８２】
本実施形態の言語モデル生成装置１００において、対象クラス指定部１１０において単語種別を示すクラスが指定され、条件指定部１５０において、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数の指定を受け付ける。そして、言語モデル抽出部１３０は、言語モデル保持部１２０から、対象クラス指定部１１０において受け付けられたクラスを含んだ言語モデルを抽出し、分割部１４０は、抽出された言語モデルを、条件指定部１５０において受け付けられたサブクラス数を用いて分割する。そして、重み設定部１６０は、重み係数を用いて、指定されたサブクラスで分割された言語モデルにおける接続確率を更新し、そして、更新された言語モデルを言語モデル記憶手段に記憶させる。これにより、ユーザ特有の重み係数をもった言語モデルを構築することができる。
【００８３】
さらに、言語モデル生成装置１００において、単語抽出部１８０は、辞書保持部１７０の辞書データから、受け付けられたクラスに対応付けられた単語を抽出し、辞書登録部１９０は、抽出された単語を、受け付けられたサブクラスに応じた辞書データを生成して、辞書データ記憶手段に記憶させる。これにより、ユーザ特有の辞書データを構築することができる。
【００８４】
また、言語モデル生成装置１００ａにおいて、対象クラス指定部３１０において指定されたクラスを含んだテキスト文章を、対象抽出部３３０は、テキスト保持部３２０から抽出する。そして、テキスト処理部３５０は、抽出されたテキスト文章に対して、指定されたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換える。例えば、“明日、＜地名サブクラス１＞に打ち合わせをする予定です”というように、＜地名サブクラス１＞をクラスの種別を示す符号であるクラス種別情報とし、このような情報に置き換える。
【００８５】
そして、言語モデル作成部３６０は、ここで処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出して、言語モデルを生成し、データベースは生成された言語モデルを記憶する。これにより、予め用意したテキスト文章から言語モデルを生成することができる。
【００８６】
このように生成された言語モデルを用いて音声認識を行うことができる。なお、音声認識処理を行う際における言語モデルは上述の方法により生成されたものに限定されるものではない。
【００８７】
本実施形態の音声認識装置４００において、記憶部４０４の言語モデル４０６が単語間の接続確率を示す使用頻度の高い高頻度言語モデルであるサブクラス１の言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルであるサブクラス２の言語モデルを記憶しており、また音響モデル４０５が音声を認識するための音響モデルを記憶している。そして、音声認識部４０３は、これら言語モデル４０６および音響モデル４０５を用いて単語の認識を行う。これにより、使用頻度の高い単語について、その認識率を向上させることができる。
【００８８】
一般的に、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りはある。例えば、“川崎”が高頻度で使用される単語である場合、“川崎”と“川口”とは、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りを起こしやすい単語であるが、本発明を用いることで、“カワサキ”と発音した場合に“川口”とご認識されること無く、“川崎”と正しく認識されることができる。
【００８９】
また、この音声認識装置４００において、音声認識部４０３は、高頻度言語モデルであるサブクラス１の言語モデルを用いて得られた認識結果のスコア（すなわち尤度に相当）が所定値以上である場合、当該認識結果を最終結果とすることで、例えば、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
【００９０】
また、この音声認識装置４００において、音声認識部４０３は、高頻度言語モデルであるサブクラス１の言語モデルと低頻度言語モデルであるサブクラス２の言語モデルとにおいてそれぞれ得られた認識結果のスコア（尤度に相当）を算出し、そのスコアの差が所定値以内である場合には、サブクラス１の言語モデルにおける認識結果を最終結果とすることで、仮にサブクラス２の言語モデルを用いた認識結果のスコアが、サブクラス１の言語モデルを用いた認識結果のスコアより大きくても、その差が所定値以内である場合には、サブクラス１の言語モデルを用いた認識結果を優先的に選択しようとするものである。これにより、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
【符号の説明】
【００９１】
１００…言語モデル生成装置、１００ａ…言語モデル生成装置、１１０…対象クラス指定部、１２０…言語モデル保持部、１３０…言語モデル抽出部、１４０…分割部、１５０…条件指定部、１６０…設定部、１７０…辞書保持部、１８０…単語抽出部、１９０…辞書登録部、２００…端末装置、３００…サーバ装置、３１０…対象クラス指定部、３２０…テキスト保持部、３３０…対象抽出部、３４０…条件指定部、３５０…テキスト処理部、３６０…言語モデル作成部、４００…音声認識装置、４０１…音声入力部、４０２…特徴量抽出部、４０３…音声認識部、４０４…記憶部、４０５…音響モデル、４０６…言語モデル、４０８…表示部、５１０…操作部、５２０…保持部、５３０…送信部、６１０…受信部、６３０…サブクラス判定部、６４０…辞書登録部。
【図１】
2011107251.tif 000003
【図２】
2011107251.tif 000004
【図３】
2011107251.tif 000005
【図４】
2011107251.tif 000006
【図５】
2011107251.tif 000007
【図６】
2011107251.tif 000008
【図７】
2011107251.tif 000009
【図８】
2011107251.tif 000010
【図９】
2011107251.tif 000011
【図１０】
2011107251.tif 000012
【図１１】
2011107251.tif 000013
【図１２】
2011107251.tif 000014