JP2011107251A - 音声認識装置、言語モデル生成装置および音声認識方法 - Google Patents

音声認識装置、言語モデル生成装置および音声認識方法 Download PDF

Info

Publication number
JP2011107251A
JP2011107251A JP2009259847A JP2009259847A JP2011107251A JP 2011107251 A JP2011107251 A JP 2011107251A JP 2009259847 A JP2009259847 A JP 2009259847A JP 2009259847 A JP2009259847 A JP 2009259847A JP 2011107251 A JP2011107251 A JP 2011107251A
Authority
JP
Japan
Prior art keywords
language model
class
subclass
unit
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009259847A
Other languages
English (en)
Inventor
Shi Cho
志鵬 張
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2009259847A priority Critical patent/JP2011107251A/ja
Publication of JP2011107251A publication Critical patent/JP2011107251A/ja
Pending legal-status Critical Current

Links

Images

Abstract


【課題】 発音の近い或いは同じ単語を区別して認識することができる音声認識装置、言語モデル生成装置および音声認識方法を提供することを目的とする。
【解決手段】 記憶部404の言語モデル406が単語間の接続確率を示す使用頻度の高い高頻度言語モデルであるサブクラス1の言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルであるサブクラス2の言語モデルを記憶しており、また音響モデル405が音声を認識するための音響モデルを記憶している。そして、音声認識部403は、これら言語モデル406および音響モデル405を用いて単語の認識を行う。これにより、使用頻度の高い単語について、その認識率を向上させることができる。
【選択図】 図9

Description

本発明は、クラス言語モデルを用いて音声認識を行う音声認識装置、言語モデル生成装置および音声認識方法に関する。
一般にクラス言語モデルを用いて音声認識を行うことが知られている。ここでクラス言語モデルについて説明する。あるテキストにおいて、それぞれの単語は特定のクラスに分けられ、予め共通の特性を有する単語は同一のクラスとして分類される。例えば、人名クラス、駅名クラス、国名クラス等のクラスに単語はクラス分けされる。言語モデルを作成するときに、クラス言語モデルを生成する元となるテキストデータ(学習テキスト)に対し、形態素解析が行われる。分割された人名や、駅名などの単語に文章の中の人名、駅名、国名などの単語はそれぞれクラスのクラス識別子に変換される。なお、特にクラス分けを必要としない単語は、そのまま保持される。たとえば以下のテキストを例に説明する。
“明日三時に山田さんと新宿で待ち合わせ”
“明後日、佐々木さんと赤坂見附の近くでお昼を取る”
このテキストにおいて、形態素解析を行い、クラス識別子に変換すると、以下の通りとなる。
“明日三時にC1(人名クラス)とC2(駅名クラス)で待ち合わせ”
“明後日、C1(人名クラス)とC2(駅名クラス)の近くでお昼を取る”
各クラスを一つの単語とみなして、単語の出現頻度及び単語間の接続頻度を推定して、クラス言語モデルが作成される。単語辞書の中に各クラスの単語が記入される。例えば、以下の通りである。
人名クラスC1
C1:山田
C1:佐々木

駅名クラスC2
C2:新宿
C2:赤坂見附
このように単語辞書を構築しておくことで、学習テキストに含まれる人名(山田、佐々木)と駅名(新宿、赤坂見附)とを利用することができ、その認識は可能となる。さらに、この各クラスに任意の単語を追加するだけで、他の単語の認識も可能となる。例えば、学習テキストに含まれてない人名(堀)と駅名(六郷土手)も辞書に追加するだけで、その認識は可能になる。クラス言語モデルの詳細は以下の非特許文献1に記載されている。
人名クラスC1
C1:山田
C1:佐々木
C1:堀(追加されたもの)
駅名クラスC2
C2:新宿
C2:赤坂見附
C2:六郷土手(追加されたもの)
P.F.Brown 他, 「Class-based N-gram model ofnatural language」,Computational Linguistics, No.4 P 467-479, 1992
しかしながら、従来技術では、発音の近い或いは同じ単語の区別が困難である。特に新規で追加する単語の場合は、ユーザごとの使用頻度などの情報はないため、単語を音響的な類似度で区別するしかない。このため、発音の近い単語や同音異義語などを区別するのが難しい。たとえば地名クラスの辞書に以下の単語があるとした場合について説明する。
地名クラスC3
川口:カワグチ
川崎:カワサキ
ユーザは“カワグチ”と発音する場合は、発音における類似度が“川口”:1.0, “川崎”:0.8となり、認識結果は“川口”が選択されることになる。一方、ユーザは“カワサキ”と同じように発音したとしても、“川口”との類似度が0.97,“川崎”との類似度が0.96と算出される場合もある。その場合、認識結果は“川口”と誤認識されることになる。“川崎”はユーザにとって重要な単語(或いは使用頻度の高い単語)である場合には、当然に“川崎”と認識してほしいのにもかかわらず正しく音声認識を行うことができない、といった不都合が生ずる。よってユーザはほかの手段で正しい認識結果を入力する必要があり、ユーザにとって負担になる。
そこで、本発明では、発音の近い或いは同じ単語を区別して認識することができる音声認識装置、言語モデル生成装置および音声認識方法を提供することを目的とする。
上述の課題を解決するために、本発明の音声認識装置は、ユーザの音声に基づいて単語を認識する音声認識装置において、単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、音声を認識するための音響モデルを記憶する音響モデル記憶手段と、前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識手段とを備え、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする。
また、本発明の音声認識方法は、単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、音声を認識するための音響モデルを記憶する音響モデル記憶手段と、を備え、ユーザの音声に基づいて単語を認識する音声認識装置の音声認識方法において、前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識ステップを有し、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする。
この発明によれば、単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデル、音声を認識するための音響モデルのそれぞれを用いて単語の認識を行う。これにより、使用頻度の高い単語について、その認識率を向上させることができる。
一般的に、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りはある。例えば、“川崎”が高頻度で使用される単語である場合、“川崎”と“川口”とは、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りを起こしやすい単語であるが、本発明を用いることで、“カワサキ”と発音した場合に“川口”とご認識されること無く、“川崎”と正しく認識されることができる。
また、本発明の音声認識装置において、前記音声認識手段は、前記高頻度言語モデルを用いて得られた認識結果の尤度が所定値以上である場合、当該認識結果を最終結果とすることを特徴とする。
この発明によれば、高頻度言語モデルを用いて得られた認識結果の尤度が所定値以上である場合、当該認識結果を最終結果とすることで、例えば、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
また、本発明の音声認識装置において、前記音声認識手段は、前記高頻度言語モデルと前記低頻度言語モデルとにおいてそれぞれ得られた認識結果の尤度を算出し、その尤度の差が所定値以内である場合には、高頻度言語モデルにおける認識結果を最終結果とすることを特徴とする。
この発明によれば、高頻度言語モデルと低頻度言語モデルとにおいてそれぞれ得られた認識結果の尤度を算出し、その尤度の差が所定値以内である場合には、高頻度言語モデルにおける認識結果を最終結果とすることで、仮に低頻度言語モデルを用いた認識結果の尤度が、高頻度言語モデルを用いた認識結果の尤度より大きくても、その差が所定値以内である場合には、高頻度言語モデルを用いた認識結果を優先的に選択しようとするものである。これにより、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
また、本発明の言語モデル生成装置は、単語間の接続確率を示す言語モデルを記憶する言語モデル記憶手段と、単語種別を示すクラス、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数を受け付ける受付手段と、前記言語モデル記憶手段から、前記受付手段において受け付けられたクラスを含んだ言語モデルを抽出する言語モデル抽出手段と、前記抽出手段により抽出された言語モデルを、前記抽出手段により抽出された言語モデルを、前記受付手段により受け付けられたサブクラス数で分割し、分割されたサブクラスに前記重み係数を対応付けて言語モデルを再構成する言語モデル生成手段と、前記言語モデル生成手段により再構成された言語モデルを前記言語モデル記憶手段に記憶させる登録手段と、を備えている。
この発明によれば、単語種別を示すクラス、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数の指定を受け付け、言語モデル記憶手段から受け付けられたクラスを含んだ言語モデルを抽出し、抽出された言語モデルを、先に受け付けられたサブクラス数および重み係数を用いて分割する。そして、指定されたサブクラスで分割された言語モデルをそれぞれサブクラスごとに区別して言語モデル記憶手段に記憶させる。これにより、ユーザ特有の重み係数をもった言語モデルを構築することができる。
また、本発明の言語モデル生成装置は、辞書データを記憶する辞書データ記憶手段と、前記辞書データから、前記受付手段において受け付けられたクラスに対応付けら得た単語を抽出する単語抽出手段と、前記抽出手段により抽出された単語を、前記受付手段により受け付けられたサブクラスに応じた辞書データを生成して、前記辞書データ記憶手段に記憶させる辞書データ登録手段と、をさらに備えることが好ましい。
この発明によれば、辞書データから、受け付けられたクラスに対応付けら得た単語を抽出し、抽出された単語を、受け付けられたサブクラス数に応じた辞書データを生成して、辞書データ記憶手段に記憶させる。これにより、ユーザ特有の辞書データを構築することができる。
また、本発明の言語モデル生成装置は、テキスト文章を記憶するテキスト記憶手段と、単語種別を示すクラスを受け付ける受付手段と、前記テキスト記憶段から、前記受付手段において受け付けられたクラスを含んだテキスト文章を抽出する抽出手段と、前記抽出手段により抽出されたテキスト文章に対して、前記受付手段により受け付けられたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換えるテキスト処理手段と、前記テキスト処理手段において処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出し、言語モデルを生成する言語モデル生成手段と、前記言語モデル生成手段により生成された言語モデルを記憶する言語モデル記憶手段と、を備えている。
この発明によれば、指定されたクラスを含んだテキスト文章を抽出し、抽出されたテキスト文章に対して、指定されたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換え、ここで処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出し、言語モデルを生成し、生成された言語モデルを記憶する。これにより、予め用意したテキスト文章から言語モデルを生成することができる。
本発明の音声認識装置および音声認識方法の発明によれば、使用頻度の高い単語について、その認識率を向上させることができる。また、本発明の言語モデル生成装置の発明によれば、ユーザ特有の重み係数をもった言語モデルを構築することができる。よって、この言語モデルを利用すれば、音声認識の精度を向上させることができる。
本実施形態の言語モデル生成装置100の機能を示すブロック図である。 (a)は分割前の言語モデルの模式図であり、(b)は分割後の言語モデルの模式図である。 (a)は分割前の辞書データの模式図であり、(b)は分割後の辞書データの模式図である。 言語モデル生成装置100の動作を示すフローチャートである。 辞書データを生成する、変形例における端末装置200の機能を示すブロック図である。 端末装置200から送信された漢字データに基づいて辞書登録処理を行うサーバ装置300の機能を示すブロック図である。 変形例である言語モデル生成装置100aの構成を示すブロック図である。 言語モデル生成装置100aの処理を示すフローチャートである。 言語モデルを利用した音声認識装置400の構成を示すブロック図である。 音声認識する区間を示す模式図である。 音声認識装置400の動作を示すフローチャートである。 音声認識装置400の変形例における動作を示すフローチャートである。
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本実施形態の言語モデル生成装置100の機能を示すブロック図である。この言語モデル生成装置100は、対象クラス指定部110、言語モデル保持部120、言語モデル抽出部130、分割部140、条件指定部150、重み設定部160、辞書保持部170、単語抽出部180、および辞書登録部190を含んで構成されている。
対象クラス指定部110は、分割対象のクラスを指定する部分である。例えば、音声から地名を抜き出すための地名クラス、人名を抜き出すための人名クラスなどの単語の種別を示すクラス、分割数であるサブクラスの数、および分割されたそれぞれのサブクラスの重み係数を指定する部分である。この対象クラス指定部110は、言語モデル生成装置のオペレータにより指定されるものである。
言語モデル保持部120は、言語モデルを記憶する部分であり、例えば、図2(a)に示されるとおり、接続対象とその接続確率が記憶されている。この図2(a)においては、以下のとおり、語の順番とその接続確率を記憶している。ここでは、P(X/Y)とは、単語Yのつぎに単語Xが接続する確率を示している。
P(地名クラス/が)=0.3 :単語“が”の次に“地名クラス”が接続する確率
P(地名クラス/私 が)=0.2 :単語“私”と単語“が”の次に“地名クラス”が接続する確率
この言語モデル保持部120は、分割部140において分割処理され、重み設定部160において、サブクラスごとに分割された言語モデルに対して重み付けの設定処理がなされると、その処理において得られた新言語モデル(図2(b)参照)を記憶することで、言語モデルを更新する。例えば、この言語モデルは、図2(b)に示されている通りであって、例えば“が”に地名サブクラス1が接続される接続確率は、0.165、地名サブクラス2が接続される接続確率は、0.135としており、サブクラスごとに接続確率に重み付け処理がされている。
言語モデル抽出部130は、言語モデル保持部120に記憶されている言語モデルから、対象クラス指定部110にて指定されたクラスを抽出する。例えば、地名クラスが指定された場合には、全言語モデルから地名クラスを含んだ言語モデルを抽出する。
分割部140は、条件指定部150により指定された分割数に従って地名クラスを分類する処理を行う。例えば、地名クラスを2つの地名サブクラス(地名サブクラス1、地名サブクラス2)に分類する処理を行う。
条件指定部150は、分割部140等において分割処理を行うための条件を指定する部分であり、分割数、および重み係数の指定を受け付ける部分である。
重み設定部160は、条件指定部150において指定された重み係数を用いて分割部140により分割された各サブクラスにおける接続確率を算出する。例えば、重み係数1および重み係数2が0.55、0.45とそれぞれ設定された場合に、以下の処理を行う。
P(地名サブクラス1/が)=P(地名クラス/が)*重み係数1=0.3*0.55=0.165
P(地名サブクラス2/が)=P(地名クラス/が)*重み係数2=0.3*0.45=0.135
地名クラスを含む他のすべてのクラスに対し、この処理を行い、新しい新言語モデルを生成する。
この重み設定部160は、サブクラスに分割された言語モデルにおいて接続確率を更新した言語モデルを言語モデル保持部120に記憶させる。
辞書保持部170は、辞書データを記憶する部分であり、例えば地名を示す単語、人名を示す単語などの少なくとも単語の種別を示しクラス名、読み方、および漢字を対応付けて記憶する部分である。例えば、図3(a)に示すとおり、読み方、漢字、クラス名が対応付けて記憶されており、読み方“カワグチ”、漢字“川口”、クラス名“地名クラス”が対応付けて記憶されている。そして、後述するとおり、この辞書保持部170は、辞書登録部190において登録処理された新辞書データを用いて辞書データの更新処理を行う。
単語抽出部180は、対象クラス指定部110において指定されたクラスに基づいて、辞書保持部170から、そのクラスに対応付けられている単語を抽出する部分である。例えば、地名クラスが指定された場合には、単語抽出部180は、辞書保持部170から地名クラスに割り振られている単語を抽出する。図3(a)では、対象クラス指定部110において地名クラスが指定された場合、単語抽出部180は、以下の単語を抽出することができる。
川口:カワグチ
川崎:カワサキ
辞書登録部190は、条件指定部150により指定された条件(分割数、重み係数)に基づいて辞書データを分割して新辞書を生成し、辞書保持部170の辞書データを更新する部分である。例えば、単語“川崎”はユーザによく利用される単語である場合には、この単語をサブクラス1の辞書に登録する。また、単語“川口”はあまり利用されてない単語である場合には、サブクラス2の辞書に登録する。登録先の割り振りは、言語モデル生成装置100のオペレータが行うものとするが、これに限るものではなく、例えば、辞書データに使用頻度が対応付けられている場合には、その使用頻度に従って、サブクラス1またはサブクラス2のいずれに割り振るかを決めてもよい。
以下、サブクラス1をユーザにより頻繁に使用される単語を分類するサブクラス、サブクラス2をあまり使用されない単語を分類するサブクラスであるとして説明する。なお、辞書更新は既存の単語を対象に分割してもよいが、新しい単語をユーザの入力や、外部ネットなどの手段で獲得し、随時登録して良い。また単語の使用頻度や、使用時期や、ユーザの位置情報、使用時刻、通話相手、年齢情報などに応じ、重みの高いサブクラス1と重みの低いサブクラス2に分けて登録してもよい。たとえば使用頻度の高い単語を重みの高いサブクラスに、利用頻度の低い単語を重みの低いサブクラスに登録する。または登録時期の近い単語を重みの高いサブクラス1に、登録時期の遠い単語を重みの低いサブクラス2に登録してもよい。さらに、ユーザの位置情報に基づいて、ユーザの活動地域に近い場所や、店などを重みの高いサブクラス1に登録してもよい。このように単語をサブクラスに分けて、各サブクラスに異なる重みを付与することで、ユーザにとって重要な単語は認識しやすくなる。この例ではユーザが“カワサキ”と発音する場合は“川口”との音響スコア(類似度)が1.0, “川崎”との音響スコア(類似度)が0.9とした場合に、その音響スコアに、サブクラスの重み係数を乗算することで“川崎”に対するスコアが高くなり、“川崎”と認識される。
このように構成された言語モデル生成装置100の動作について説明する。図4は、その動作を示すフローチャートである。
対象クラス指定部110により、クラスが指定される(S101)。そして、このクラスを含んだ言語モデルが、言語モデル抽出部130により言語モデル保持部120から抽出される(S102)。つぎに、抽出された言語モデルは、分割部140により分割される。ここでは、条件指定部150において指定された条件(分割数、重み係数)に基づいて分割される。(S103)。そして、重み設定部160により、条件指定部150において指定された重み係数を用いて、サブクラス1およびサブクラス2における言語モデルの接続確率が計算され、それぞれのサブクラス1およびサブクラス2に分割された言語モデルが構築される(S104)。
一方で、対象クラス指定部110において指定されたクラスに基づいて、対応する単語を単語抽出部180により辞書保持部170から抽出される(S105)。抽出された単語は、辞書登録部190においてその使用頻度などに基づいて分割されたサブクラスに応じた辞書データに登録され、新たな辞書データとして更新される。上述の例では、サブクラス1またはサブクラス2の辞書データが構築されており、それぞれに割り振られる。このようにしてユーザ特有の、すなわち使用頻度の高い言語モデルおよび辞書データを区別して構築することができる。
言語モデルを構築するための言語モデル生成装置100の変形例について説明する。この変形例では、図5に示される端末装置200および図6に示されるサーバ装置300を用いて辞書データを生成するものである。以下、各装置について説明する。図5は、端末装置200の機能を示すブロック図である。図5に示されるとおり、端末装置200は、操作部510、テキストDB保持部520、および送信部530を含んで構成されている。この端末装置200は、例えば携帯電話などである。
操作部510は、ユーザからのキー入力を受け付ける部分である。例えば、単語単位に、ユーザはキー入力を行い、テキストDB保持部520に記憶されているかな漢変換用の辞書を利用して漢字を生成する。
送信部530は、生成された漢字を示す漢字データをサーバ装置300に送信する部分である。
図6は、端末装置200から送信された漢字データに基づいて辞書登録処理を行うサーバ装置300の機能を示すブロック図である。このサーバ装置300は、受信部610、サブクラス判定部630、および辞書登録部640を含んで構成される。
受信部610は、端末装置200から送信された漢字データを受信する部分である。
サブクラス判定部630は、受信部610により受信された漢字データを、予め設定された辞書データにおける複数あるサブクラスのうち、いずれのサブクラスに登録させるものか、判定する部分である。このサブクラス判定部630は、サーバ装置300のオペレータからの指示に従ってサブクラスを判定してもよいし、また、その漢字データの使用頻度に基づいてサブクラスを決定してもよい。
辞書登録部640は、サブクラス判定部630により判定されたサブクラスの辞書データ(例えば辞書保持部(図示せず))に、受信された漢字データを登録する部分である。上述と同様に、漢字データは、漢字、読み方、クラス名が対応付けて構成されたものである。
このようにして、端末装置200からサーバ装置300に対して新たな辞書データを登録させることができる。
さらに、言語モデルを生成する言語モデル生成装置100の変形例について説明する。図7は、変形例である言語モデル生成装置100aの構成を示すブロック図である。図7に示されるように、言語モデル生成装置100aは、対象クラス指定部310、テキスト保持部320、対象抽出部330、条件指定部340、テキスト処理部350、および言語モデル作成部360を含んで構成されている。
この変形例における言語モデル生成装置100aは、学習用に予め設定された定型文として記憶されているテキストから言語モデルを生成するための装置である。
対象クラス指定部310は、単語の種別を示すクラスの指定を本装置のオペレータから受け付ける部分である。例えば、地名クラスなどのクラスの指定を受け付ける。
テキスト保持部320は、テキストデータを記憶する部分である。言語モデルを生成するための元となる学習用のデータであり、文章データが記憶されている。例えば、以下の文章データが記憶されている。
“明日、名古屋に打ち合わせをする予定です”
“明日、渋谷に遊びに行く”
“明日、横浜に食べに行く”
“明日、私は京都に行く”
対象抽出部330は、テキスト保持部320に記憶されているテキストデータを抽出する部分である。
条件指定部340は、言語モデル生成のための分割数などの分割条件の指定を受け付ける部分である。
テキスト処理部350は、条件指定部340において指定された分割条件に従って、対象抽出部330により抽出されたテキストデータに対して処理を施す部分である。具体的には、テキスト処理部350は、条件指定部340において指定された分割数および対象クラス指定部310において指定されたクラスに基づいて、指定されたクラスに対応する単語を、サブクラス1に属する単語か、サブクラス2に属する単語かを判断して、そのサブクラス名に置き換える処理を行う。
例えば、地名クラスが対象クラスとして指定された場合には、以下の具体例に示すとおり、使用頻度に基づいて地名サブクラス1であるか、地名サブクラス2であるか、を示す文字列に置き換える。
“明日、<地名サブクラス1>に打ち合わせをする予定です”
“明日、<地名サブクラス1>に遊びに行く”
“明日、<地名サブクラス2>に食べに行く”
“明日、私は<地名サブクラス1>に行く”
ここでは、名古屋、渋谷、京都は地名サブクラス1(使用頻度が高い)に属し、横浜は地名サブクラス2(使用頻度が低い)に属するものとして説明する。なお、この頻度の判別は、本装置のオペレータが判断してもよいし、単語、クラス名およびその使用頻度を対応付けて記憶しておき、その使用頻度に従って、いずれのサブクラスに属するかを判断するようにしてもよい。
言語モデル作成部360は、このようにテキスト処理されたテキストデータに対して、言語モデルを作成する部分である。例えば、上述の例をみてみると、“明日”とサブクラス1における地名クラスとの接続確率は、0.5(2/4)である。また、“明日”とサブクラス2における地名クラスとの接続確率は、0.25(1/4)である。“私は”とサブクラス1における地名クラスとの接続確率は、0.25(1/4)である。このように接続確率が算出された言語モデルが生成され、言語モデルデータとしてデータベース(図示しない記憶部)記憶させる。このようにしてサブクラス1とサブクラス2とに分けて構成された言語モデルを生成することができる。
ここで、この変形例における言語モデル生成装置100aの処理について説明する。図8は、言語モデル生成装置100aの処理を示すフローチャートである。図8に示されるとおり、対象クラス指定部110により、対象となるクラスが指定される(S201)。つぎに、対象抽出部330によりテキスト保持部320からテキストデータが抽出され(S202)、テキスト処理部350において、テキストの書き換え処理が行われる(S203)。すなわち、対象クラスとして指定されたクラスの単語は、サブクラス1またはサブクラス2のいずれのクラスに属する単語であるかを示す文字列に置き換えられる。そして、言語モデル作成部360により、テキスト処理されたテキストデータを用いて、言語モデルの作成が行われる(S204)。
以上、各クラスにおけるサブクラス(地名サブクラスなど)を含んだ言語モデル、辞書データの生成について説明したが、言語モデル、辞書データの生成方法は上述のものに限定されるものではなく、また後述する音声認識処理においても、上述のように生成された言語モデルまたは辞書データを用いたものに限定するものではない。
つぎに、このように生成された言語モデルを用いた音声認識処理を行う音声認識装置について説明する。図9は、言語モデルを利用した音声認識装置400の構成を示すブロック図である。この音声認識装置400は、例えば携帯電話であって、音声入力部401、特徴量抽出部402、音声認識部403、記憶部404(音響モデル405、言語モデル406)、および表示部408を含んで構成されている。以下、各構成要素について説明する。
音声入力部401は、音声認識装置400のユーザが発した声を入力する部分であり、例えばマイクである。
特徴量抽出部402は、音声入力部401から入力されたユーザの音声の特徴量を抽出する部分である。
音声認識部403は、特徴量抽出部402において抽出された音声の特徴量および記憶部404の音響モデル405に従って音声認識を行うとともに、言語モデル406、すなわち単語間の接続確率を利用して音声認識を行う部分である。この音声認識部403は、言語モデルのうちサブクラス1およびサブクラス2の両方を用いて認識処理を起こってもよいし、言語モデルの一方、例えばサブクラス1のみを用いて認識処理し、その認識結果に満足できない場合にはサブクラス2を用いて認識処理を行うようにしてもよい。さらに、音声認識部403は、サブクラス1およびサブクラス2の両方を用いて認識処理を行った結果、所定条件の場合には、サブクラス1を用いた認識結果を最終結果とするようにしてもよい。その具体的な処理は後述する。
音響モデル405は、音声認識を行うためのデータベースを記憶する部分であり、音響的な特徴情報を記憶している。
言語モデル406は、単語間の接続確率を記憶する部分である。本実施形態では、図2(b)に示されるように、サブクラス1およびサブクラス2のサブクラスの種別を示す情報が付加された単語間の接続確率が記憶されており、サブクラスに応じた接続確率を認識処理に用いることができる。
ここで音声認識を行う際の具体例について説明する。例えば、ユーザが“私が川崎に住んでいる”と発音したとする。その模式図を図10に示す。図10においては、入力音声に対し、時刻T0から時刻T1までの特徴量に基づいた認識結果の候補は単語“私”であり、時刻T1から時刻T2までの認識結果の候補は単語“が”である。次に時刻T2から時刻T3の音声に対する認識を行う時に、音声認識部403は、この区間に出現する可能性のある全単語に対し、スコア=言語スコア+音響スコアを計算する。
言語スコアとしてbigramを用いる場合は各単語のスコアは以下の通りとなる。
<地名サブクラス1の単語>
川崎:P(地名サブクラス1/が)の言語スコア0.165+音響スコア0.96=1.125
横浜:P(地名サブクラス1/が)の言語スコア0.165+音響スコア0.8=0.965
<地名サブクラス2の単語>
川口: P(地名サブクラス2/が)の言語スコア0.135+音響スコア0.97=1.105
大分: P(地名サブクラス2/が)の言語スコア0.135+音響スコア0.8=0.935
また、地名クラス以外の全クラスに対しても計算する。たとえば動詞クラスに属する単語について計算する。
行く: P(動詞/が)の言語スコア0.1+音響スコア0.74=0.84
食べる: P(動詞/が)の言語スコア0.1+音響スコア0.75=0.85
これらの候補の中、スコアが大きいのは“川崎”である。よって、音声認識部403は、この区間(T2−T3間)の認識結果として“川崎”を得る。
表示部408は、音声認識部403において認識処理された単語を表示する部分である。
このように構成された音声認識装置400の動作について説明する。図11は、音声認識装置400の動作を示すフローチャートである。音声入力部401により音声が入力され(S301)、その入力音声に対して特徴量抽出部402により特徴量が抽出される(S302)。その特徴量および音響モデル405に基づいて音声認識部403により音声認識がなされるとともに、言語モデル406を用いた認識処理が行われ、スコアの計算が行われる(S304)。ここでは、言語モデル406内に記憶されているサブクラスごとに分けてスコアの計算が行われる。そして、計算されたスコアのうち一番高いスコアの単語を、認識結果として決定し、表示部408において表示される(S305)。
なお、ここでは一番スコアの高い単語を、認識結果として決定しているが、以下の通りにしてもよい。例えば、言語モデル406におけるサブクラス1を用いた認識結果のスコアを算出し、また、サブクラス2を用いた認識結果のスコアを算出し、そのスコアの差が所定値以内である場合には、仮にサブクラス2のスコアの方が高い場合であっても、サブクラス1を用いた認識結果を最終的な認識結果としてもよい。これにより高頻度に使用される単語、例えばユーザに特有に使用される単語などの認識率を向上させることができる。
つぎに、その変形処理について説明する。図12は、音声認識装置400の変形例における動作を示すフローチャートである。この変形例においては、言語モデルのうちサブクラスの一方のみを用いて認識処理を行い、その認識結果が所定条件を満たさなかった場合に、もう一方のサブクラスを用いて認識処理を行おうとするものである。
まず、図示しない操作部を介して、ユーザにより閾値が指定される(S501)。つぎに、言語モデル406内におけるサブクラス1に対応付けられている単語間の接続確率を用いて入力音声の認識処理が行われる(S502)。上述の図11と同様に、特徴量と音響モデルとに基づいた認識処理(スコア計算)と、言語モデル(サブクラス1)を用いた認識処理(スコア計算)が行われ、認識結果K1およびスコアS1が算出される。
そして、スコアS1が閾値以上であるか否かが、音声認識部403により判断される(S503)。ここでスコアS1が閾値より大きいと判断されると、認識結果K1を最終的な認識結果として判断され(S504)、表示部408において認識結果の表示が行われる。
また、スコアS1が閾値以下であると判断されると、音声認識部403により言語モデル406内におけるサブクラス2を用いた入力音声の認識処理が行われる。上述したとおり、特徴量と音響モデルとに基づいた認識処理(スコア計算)と、言語モデル(サブクラス2)を用いた認識処理(スコア計算)が行われ、ここでは認識結果K2およびスコアS2が算出される。
このスコアS2が閾値より大きいと判断されると、認識結果K2が最終的な認識結果として判断され(S507)、表示部408において認識結果の表示が行われる。スコアS2が閾値以下であると判断されると、認識結果K1が最終的な認識結果と判断され、表示部408において認識結果の表示が行われる。
この変形例における処理を具体的な単語に当てはめて説明する。
<地名サブクラス1に属する単語>
川崎:P(地名サブクラス1/が)の言語スコア0.165+音響スコア0.96=1.125
横浜:P(地名サブクラス1/が)の言語スコア0.165+音響スコア0.8=0.965
<地名サブクラス1以外のサブクラス、たとえば動詞サブクラスに属する単語>
行く:P(動詞/が)の言語スコア0.1+音響スコア0.74=0.84
食べる:P(動詞/が)の言語スコア0.1+音響スコア0.75=0.85
これらの候補のうち、スコア値S1が一番大きいものは1.125の“川崎”であり、認識結果K1は“川崎”となる。
次に、スコアS1と事前に決めた閾値と比較し、スコアS1が閾値を超える場合はこの認識結果K1を最終的な認識結果にする。スコアが閾値を超えない場合は言語モデル(サブクラス1)以外の言語モデル(サブクラス2)を用いて認識処理を実行する。例えば、閾値は1.1とすると、サブクラス1の認識結果K1“川崎”のスコアS1が閾値より高い。この場合は認識結果K1“川崎”を最終的な認識結果として決定する。一方、例えば閾値を1.3とした場合には、サブクラス1以外のサブクラス2を用いて認識処理を実行する。
地名サブクラス2として、以下の単語があるとする。
川口
大分
それぞれのスコアは以下の通りとなる。
川口: P(地名サブクラス2/が)の言語スコア0.135+音響スコア0.97=1.105
大分: P(地名サブクラス2/が)の言語スコア0.135+音響スコア0.8=0.935
ここでの最大スコアS2は1.105の認識結果K2“川口”となる。次にスコアS2と閾値を比較する。スコアS2が閾値より低い場合は、最終的な認識結果として認識結果K1“川崎”が決定される。なお、音響スコアは、誤差が生ずることが一般的であり、カワサキと発音したとしても、川口(カワグチ)のほうが、音響スコアが高くなる場合がある。
つぎに、このように構成された言語モデル生成装置100および音声認識装置400の作用効果について説明する。
本実施形態の言語モデル生成装置100において、対象クラス指定部110において単語種別を示すクラスが指定され、条件指定部150において、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数の指定を受け付ける。そして、言語モデル抽出部130は、言語モデル保持部120から、対象クラス指定部110において受け付けられたクラスを含んだ言語モデルを抽出し、分割部140は、抽出された言語モデルを、条件指定部150において受け付けられたサブクラス数を用いて分割する。そして、重み設定部160は、重み係数を用いて、指定されたサブクラスで分割された言語モデルにおける接続確率を更新し、そして、更新された言語モデルを言語モデル記憶手段に記憶させる。これにより、ユーザ特有の重み係数をもった言語モデルを構築することができる。
さらに、言語モデル生成装置100において、単語抽出部180は、辞書保持部170の辞書データから、受け付けられたクラスに対応付けられた単語を抽出し、辞書登録部190は、抽出された単語を、受け付けられたサブクラスに応じた辞書データを生成して、辞書データ記憶手段に記憶させる。これにより、ユーザ特有の辞書データを構築することができる。
また、言語モデル生成装置100aにおいて、対象クラス指定部310において指定されたクラスを含んだテキスト文章を、対象抽出部330は、テキスト保持部320から抽出する。そして、テキスト処理部350は、抽出されたテキスト文章に対して、指定されたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換える。例えば、“明日、<地名サブクラス1>に打ち合わせをする予定です”というように、<地名サブクラス1>をクラスの種別を示す符号であるクラス種別情報とし、このような情報に置き換える。
そして、言語モデル作成部360は、ここで処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出して、言語モデルを生成し、データベースは生成された言語モデルを記憶する。これにより、予め用意したテキスト文章から言語モデルを生成することができる。
このように生成された言語モデルを用いて音声認識を行うことができる。なお、音声認識処理を行う際における言語モデルは上述の方法により生成されたものに限定されるものではない。
本実施形態の音声認識装置400において、記憶部404の言語モデル406が単語間の接続確率を示す使用頻度の高い高頻度言語モデルであるサブクラス1の言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルであるサブクラス2の言語モデルを記憶しており、また音響モデル405が音声を認識するための音響モデルを記憶している。そして、音声認識部403は、これら言語モデル406および音響モデル405を用いて単語の認識を行う。これにより、使用頻度の高い単語について、その認識率を向上させることができる。
一般的に、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りはある。例えば、“川崎”が高頻度で使用される単語である場合、“川崎”と“川口”とは、音響モデルおよび一般の言語モデルを用いた音声認識方法では、認識誤りを起こしやすい単語であるが、本発明を用いることで、“カワサキ”と発音した場合に“川口”とご認識されること無く、“川崎”と正しく認識されることができる。
また、この音声認識装置400において、音声認識部403は、高頻度言語モデルであるサブクラス1の言語モデルを用いて得られた認識結果のスコア(すなわち尤度に相当)が所定値以上である場合、当該認識結果を最終結果とすることで、例えば、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
また、この音声認識装置400において、音声認識部403は、高頻度言語モデルであるサブクラス1の言語モデルと低頻度言語モデルであるサブクラス2の言語モデルとにおいてそれぞれ得られた認識結果のスコア(尤度に相当)を算出し、そのスコアの差が所定値以内である場合には、サブクラス1の言語モデルにおける認識結果を最終結果とすることで、仮にサブクラス2の言語モデルを用いた認識結果のスコアが、サブクラス1の言語モデルを用いた認識結果のスコアより大きくても、その差が所定値以内である場合には、サブクラス1の言語モデルを用いた認識結果を優先的に選択しようとするものである。これにより、ユーザ特有に利用されるような高頻度に使用される単語の認識率を向上させることができる。
100…言語モデル生成装置、100a…言語モデル生成装置、110…対象クラス指定部、120…言語モデル保持部、130…言語モデル抽出部、140…分割部、150…条件指定部、160…設定部、170…辞書保持部、180…単語抽出部、190…辞書登録部、200…端末装置、300…サーバ装置、310…対象クラス指定部、320…テキスト保持部、330…対象抽出部、340…条件指定部、350…テキスト処理部、360…言語モデル作成部、400…音声認識装置、401…音声入力部、402…特徴量抽出部、403…音声認識部、404…記憶部、405…音響モデル、406…言語モデル、408…表示部、510…操作部、520…保持部、530…送信部、610…受信部、630…サブクラス判定部、640…辞書登録部。

Claims (7)

  1. ユーザの音声に基づいて単語を認識する音声認識装置において、
    単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、
    音声を認識するための音響モデルを記憶する音響モデル記憶手段と、
    前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識手段と
    を備え、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする音声認識装置。
  2. 前記音声認識手段は、前記高頻度言語モデルを用いて得られた認識結果の尤度が所定値以上である場合、当該認識結果を最終結果とすることを特徴とする請求項1に記載の音声認識装置。
  3. 前記音声認識手段は、前記高頻度言語モデルと前記低頻度言語モデルとにおいてそれぞれ得られた認識結果の尤度を算出し、その尤度の差が所定値以内である場合には、高頻度言語モデルにおける認識結果を最終結果とすることを特徴とする請求項1に記載の音声認識装置。
  4. 単語間の接続確率を示す言語モデルを記憶する言語モデル記憶手段と、
    単語種別を示すクラス、言語モデルの分割数であるサブクラス数、および当該サブクラスに対応付けられた重み係数を受け付ける受付手段と、
    前記言語モデル記憶手段から、前記受付手段において受け付けられたクラスを含んだ言語モデルを抽出する言語モデル抽出手段と、
    前記抽出手段により抽出された言語モデルを、前記受付手段により受け付けられたサブクラス数で分割し、分割されたサブクラスに前記重み係数を対応付けて言語モデルを再構成する言語モデル生成手段と、
    前記言語モデル生成手段により再構成された言語モデルを前記言語モデル記憶手段に記憶させる登録手段と、
    を備える言語モデル生成装置。
  5. 辞書データを記憶する辞書データ記憶手段と、
    前記辞書データから、前記受付手段において受け付けられたクラスに対応付けら得た単語を抽出する単語抽出手段と、
    前記抽出手段により抽出された単語を、前記受付手段により受け付けられたサブクラスに応じた辞書データを生成して、前記辞書データ記憶手段に記憶させる辞書データ登録手段と、
    を備える請求項4に記載の言語モデル生成装置。
  6. テキスト文章を記憶するテキスト記憶手段と、
    単語種別を示すクラスを受け付ける受付手段と、
    前記テキスト記憶段から、前記受付手段において受け付けられたクラスを含んだテキスト文章を抽出する抽出手段と、
    前記抽出手段により抽出されたテキスト文章に対して、前記受付手段により受け付けられたクラスを示す文字列を、クラスの種別を示す符号であるクラス種別情報に置き換えるテキスト処理手段と、
    前記テキスト処理手段において処理されたテキスト文章の全てにおいて、単語とクラスとの接続確率を算出し、言語モデルを生成する言語モデル生成手段と、
    前記言語モデル生成手段により生成された言語モデルを記憶する言語モデル記憶手段と、
    を備える言語モデル生成装置。
  7. 単語間の接続確率を示す使用頻度の高い高頻度言語モデル、および単語間の接続確率を示す使用頻度の低い低頻度言語モデルを記憶する言語モデル記憶手段と、音声を認識するための音響モデルを記憶する音響モデル記憶手段と、を備え、ユーザの音声に基づいて単語を認識する音声認識装置の音声認識方法において、
    前記音響モデル記憶手段、および言語モデル記憶手段のそれぞれを用いて単語の認識を行う音声認識ステップを有し、前記高頻度言語モデルにおける接続確率は、前記低頻度言語モデルにおける接続確率より高く設定されることを特徴とする音声認識方法。
JP2009259847A 2009-11-13 2009-11-13 音声認識装置、言語モデル生成装置および音声認識方法 Pending JP2011107251A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009259847A JP2011107251A (ja) 2009-11-13 2009-11-13 音声認識装置、言語モデル生成装置および音声認識方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009259847A JP2011107251A (ja) 2009-11-13 2009-11-13 音声認識装置、言語モデル生成装置および音声認識方法

Publications (1)

Publication Number Publication Date
JP2011107251A true JP2011107251A (ja) 2011-06-02

Family

ID=44230820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009259847A Pending JP2011107251A (ja) 2009-11-13 2009-11-13 音声認識装置、言語モデル生成装置および音声認識方法

Country Status (1)

Country Link
JP (1) JP2011107251A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110136720A (zh) * 2018-02-05 2019-08-16 株式会社东芝 编辑支援装置、编辑支援方法以及程序
JP2020160118A (ja) * 2019-03-25 2020-10-01 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110136720A (zh) * 2018-02-05 2019-08-16 株式会社东芝 编辑支援装置、编辑支援方法以及程序
CN110136720B (zh) * 2018-02-05 2022-10-04 株式会社东芝 编辑支援装置、编辑支援方法以及程序
JP2020160118A (ja) * 2019-03-25 2020-10-01 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム
JP7406921B2 (ja) 2019-03-25 2023-12-28 株式会社Nttデータグループ 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
CN107305768B (zh) 语音交互中的易错字校准方法
CN108847241B (zh) 将会议语音识别为文本的方法、电子设备及存储介质
US8170866B2 (en) System and method for increasing accuracy of searches based on communication network
KR101780760B1 (ko) 가변길이 문맥을 이용한 음성인식
JP5706384B2 (ja) 音声認識装置、音声認識システム、音声認識方法および音声認識プログラム
CN111462748B (zh) 语音识别处理方法、装置、电子设备及存储介质
JP2005084681A (ja) 意味的言語モデル化および信頼性測定のための方法およびシステム
CN101567189A (zh) 声音识别结果修正装置、方法以及系统
WO2014183373A1 (en) Systems and methods for voice identification
JP2014219557A (ja) 音声処理装置、音声処理方法及びプログラム
CN103632668B (zh) 一种基于中文语音信息训练英文语音模型的方法与设备
CN102439660A (zh) 基于置信度得分的语音标签方法和装置
JP2024537481A (ja) 音声認識方法、装置、設備及び記憶媒体
CN113051923B (zh) 数据验证方法、装置、计算机设备和存储介质
JP6712940B2 (ja) 音声入力装置、音声入力方法
TW202032534A (zh) 語音辨識方法、語音辨識裝置、電子設備、電腦可讀存儲介質及電腦程式產品
JP7096199B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6275569B2 (ja) 対話装置、方法およびプログラム
JP2014164261A (ja) 情報処理装置およびその方法
JP2010032865A (ja) 音声認識装置、音声認識システムおよびプログラム
CN114528812A (zh) 一种语音识别方法、系统、计算设备及存储介质
JP2011107251A (ja) 音声認識装置、言語モデル生成装置および音声認識方法
JP2015060210A (ja) データ収集装置、音声対話装置、方法およびプログラム
JP4839291B2 (ja) 音声認識装置およびコンピュータプログラム
CN115831117A (zh) 实体识别方法、装置、计算机设备和存储介质