(57)【要約】言語モデル中の単語に、それぞれの統計的出現傾向を表す数値が、定数としてだけでなく、時間変動する更新関数として設定される枠組みを備え、時間の経過に応じて、自動的に設定された単語の統計的出現傾向を表す数値を更新する。予め設定された時点からの経過時間または日時情報を受け取る時間情報入力部５０と、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶部２０と、前記時間情報入力手段で受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新部４０とを有する。
2008004663.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された時点からの経過時間または日時情報を受け取る時間情報入力手段と、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶手段と、前記時間情報入力手段で受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語の集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新手段とを備えたことを特徴とする言語モデル更新装置。
【請求項２】
前記言語モデル更新手段が更新した前記言語モデルを評価する言語モデル評価手段と、前記言語モデル評価手段によって評価された結果に応じて、前記更新対象とする単語や単語の条件、または、前記更新関数、または前記言語モデルを修正する更新対象・更新関数修正手段とをさらに備えたことを特徴とする請求項１に記載の言語モデル更新装置。
【請求項３】
請求項１または請求項２に記載の言語モデル更新装置で更新された前記言語モデルを用いて音声認識を行う音声認識処理装置。
【請求項４】
請求項１または請求項２に記載の言語モデル更新装置で更新された前記言語モデルを用いて文字認識を行う文字認識処理装置。
【請求項５】
予め設定された時点からの経過時間または日時情報を受け取る時間情報入力ステップと、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶ステップと、前記時間情報入力ステップで受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語の集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新ステップとを有することを特徴とする言語モデル更新方法。
【請求項６】
前記言語モデル更新ステップが更新した前記言語モデルを評価する言語モデル評価ステップと、前記言語モデル評価ステップによって評価された結果に応じて、前記更新対象とする単語や単語の条件、または、前記更新関数、または前記言語モデルを修正する更新対象・更新関数修正ステップとをさらに有することを特徴とする請求項５に記載の言語モデル更新方法。
【請求項７】
請求項５または請求項６に記載の言語モデル更新方法で更新された前記言語モデルを用いて音声認識を行う音声認識処理方法。
【請求項８】
請求項５または請求項６に記載の言語モデル更新方法で更新された前記言語モデルを用いて文字認識を行う文字認識処理方法。
【請求項９】
コンピュータを制御することにより、言語モデルを更新する言語モデル更新用プログラムであって、予め設定された時点からの経過時間または日時情報を受け取る時間情報入力ステップと、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶ステップと、前記時間情報入力ステップで受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語の集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新ステップとを前記コンピュータに実行させることを特徴とする言語モデル更新用プログラム。
【請求項１０】
前記言語モデル更新ステップが更新した前記言語モデルを評価する言語モデル評価ステップと、前記言語モデル評価ステップによって評価された結果に応じて、前記更新対象とする単語や単語の条件、または、前記更新関数、または前記言語モデルを修正する更新対象・更新関数修正ステップとをさらに前記コンピュータに実行させることを特徴とする請求項９に記載の言語モデル更新用プログラム。
【請求項１１】
請求項９または請求項１０に記載の言語モデル更新用プログラムで更新された前記言語モデルを用いて音声認識を行う音声認識ステップを前記コンピュータに実行させる音声認識処理プログラム。
【請求項１２】
請求項９または請求項１０に記載の言語モデル更新用プログラムで更新された前記言語モデルを用いて文字認識を行う文字認識ステップを前記コンピュータに実行させる文字認識処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、日本の特願２００６−１８７９５２（２００６年７月７日に出願）に基づいたものであり、又、特願２００６−１８７９５２に基づくパリ条約の優先権を主張するものである。特願２００６−１８７９５２の開示内容は、特願２００６−１８７９５２を参照することにより本明細書に援用される。【０００２】
本発明は、言語モデル更新装置、方法および、その処理用プログラムに係り、特に新語や未知語を言語モデルに新たに追加する際や、言語モデル中の既存の単語の統計情報を修正する際に、一定の変動しない値ではなく、経過時間に応じて予め定められた関数で変動するよう設定し、以後、自動的にその設定に従って、各単語の統計情報を更新する言語モデル更新装置、方法および、その処理用プログラムに関するものである。
【背景技術】
【０００３】
音声認識技術や文字認識技術においては、認識性能を向上させるために、認識対象とする単語の制約や統計的出現傾向をモデル化した言語モデルが広く使用されている。非特許文献１にはこうした言語モデルの作成法や代表的な事例が記載されている。【０００４】
言語モデルは、言語モデル作成のもととなるテキストコーパスからいったん作成されると、単語の追加や削除の処理を除いてモデル内の単語の統計的出現傾向を表す数値は不変である。よって、時間や環境の変化に応じて、音声認識装置や文字認識装置への入力に含まれる単語の統計的出現傾向が変動した場合には、あらためて言語モデルを作成し直す必要がある。【０００５】
また、新語や未知語などの単語を認識辞書に新たに追加する場合は、追加する単語の制約や統計的出現傾向を言語モデルに加える必要がある。音声認識技術では、新たに単語を追加する際に、追加する単語の品詞やクラスに応じて予め設定された一定の値を、その単語の統計的出現傾向として言語モデルに加える手法が広く用いられている。【０００６】
さらに特許文献１では、入力テキストを形態素解析した後、入力テキスト中の未知語箇所とそのクラスをパターンマッチング処理にて推定し、推定されたクラスからその未知語の出現確率を算出し、言語モデルとする技術が公開されている。
【特許文献１】特開２００６−５９１０５号公報
【特許文献２】特開２００２−２２９５８９号公報
【非特許文献１】北研二著、「確率的言語モデル」、東京大学出版会、１９９９年１１月２５日初版、第２章
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本願発明に関連する言語モデルでは、いったん言語モデルが作成された後は、モデル内の単語の統計的出現傾向を表す数値は不変である。特許文献１で公開されているような手法も、新語や未知語などの単語を認識辞書に追加する際に、その単語のその時点での統計的出現傾向を表す数値として適切な値を推定するためのものであり、作成後は一定の値をとることは変わらない。【０００８】
よって、背景技術の説明で前述したように、時間や環境の変化に応じて、音声認識装置や文字認識装置への入力に含まれる単語の統計的出現傾向が変動した場合には、変動に応じて、あらためて言語モデルを作成し直す必要がある、という問題がある。言語モデルを、定期的に０から作り直せば、作り直した時点での最適の言語モデルを得られることになり、それを用いた認識処理も性能が向上する。しかし、このような手法は、言語モデルを作成し直すたびに、言語モデル作成の基準となるテキストコーパスを、各単語の統計的出現傾向を推定するために充分な分量だけ用意する必要があり、コストが大きい。また、家電製品などに音声認識装置が埋め込まれ、家電単独で使用される場合、その音声認識装置で用いる言語モデルを再度作成し直すことは困難である。【０００９】
本発明はこのような問題を解消するためになされたものであり、言語モデル中の単語に、それぞれの統計的出現傾向を表す数値が、定数としてだけでなく、時間変動する更新関数として設定される枠組みを備え、時間の経過に応じて、自動的に設定された単語の統計的出現傾向を表す数値を更新する、言語モデル更新装置、言語モデル更新方法、および言語モデル更新用プログラムを提供することを代表的な(exemplary)第１の目的とする。
【課題を解決するための手段】
【００１０】
本発明の代表的(exemplary)な第１の観点によれば、予め設定された時点からの経過時間または日時情報を受け取る時間情報入力手段と、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶手段と、前記時間情報入力手段で受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語の集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新手段とを備えたことを特徴とする言語モデル更新装置が提供される。
【発明の効果】
【００１１】
本発明の効果は、統計的出現傾向の今後の変動パターンが予測可能な単語の言語モデルを自動的に更新できることにある。【００１２】
この効果が得られる理由は、通常の言語モデルとは別に、統計的出現傾向の今後の変動パターンが予測可能な単語や単語の集合とその予測変動パターンの組を、更新対象とする単語または更新対象とする単語の条件と、その更新関数の組として保持する手段を有し、保持されている更新関数に従って、時間の経過とともに、言語モデル中の単語のうち、更新対象となる単語の言語モデルを更新するためである。【００１３】
一般的な単語の統計的出現傾向の今後の変動パターンを予測することは困難だが、時事用語や季節性のある単語などは、その変動パターンをある程度予測できるため、そうした単語と予測される変動パターンを組にして保持し、それに従って、言語モデルを自動更新することで、その言語モデルを用いた認識装置において、時事用語が廃れた後も誤ってその時事用語を出力してしまうといった事態を防ぐことができる。【００１４】
また本発明の別の効果は、単語の統計的出現傾向を予測した変動パターンに誤差があった場合でも、誤差を小さくして、更新対象とする単語の言語モデルを自動的に更新できることにある。【００１５】
この効果が得られる理由は、自動更新した言語モデルを評価し、評価が低い場合には、評価が高くなるよう、更新対象とする単語の更新関数を修正するためである。【００１６】
ニュースなどの時事用語で、一定期間が過ぎると廃れることは予測できるが、どの程度まで廃れるか正確に予測できない単語などにおいても、最終的な出現頻度に応じて、その単語の言語モデルが更新される。
【図面の簡単な説明】
【００１７】
【図１】本発明の代表的(exemplary)な第１の実施の形態の構成を示すブロック図
【図２】更新関数として設定される変動パターン例１
【図３】更新関数として設定される変動パターン例２
【図４】更新関数として設定される変動パターン例３
【図５】更新関数として設定される変動パターン例４
【図６】更新関数として設定される変動パターン例５
【図７】本発明の第１の実施の形態の動作を示すフローチャート
【図８】本発明の第２の実施の形態の構成を示すブロック図
【図９】音声認識処理を用いた場合の言語モデル評価装置の詳細構成を示すブロック図
【図１０】時間情報つきサンプルテキストコーパスを用いた場合の言語モデル評価装置の詳細構成を示すブロック図
【図１１】本発明の代表的(exemplary)な第２の実施の形態における更新対象・更新関数修正動作を示すフローチャート
【符号の説明】
【００１８】
１０  更新単語入力部
２０  更新対象・更新関数記憶部
３０  言語モデル
４０  言語モデル更新部
５０  時間情報入力部
６０  言語モデル評価装置
７０  更新対象・更新関数修正部
６１０  言語モデル履歴記憶部
６２０  音声認識エンジン
６３０  音響モデル
６４０  入力音声バッファ
６５０  認識評価部
６６０  評価結果判定部
６７０  時間情報つきサンプルテキストコーパス
６８０  統計情報比較部
６９０  統計比較結果判定部
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明を実施するための代表的(exemplary)な最良の形態について詳細に説明する。【００２０】
図１を参照すると、本発明の代表的(exemplary)な第１の実施の形態は、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして入力する更新単語入力部（図１の１０）と、更新単語入力部１０で入力された、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶部（図１の２０）と、認識対象とする単語の制約や統計的出現傾向をモデル化した言語モデル（図１の３０）と、時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新部（図１の４０）と、予め設定された時点からの経過時間または日時情報を受け取る時間情報入力部（図１の５０）とからなる。【００２１】
更新単語入力部１０は、時間の経過に応じて言語モデル内の統計的出現傾向を表す数値を変動させたい単語と、その変動パターンを示す更新関数とを組にして受け付けるコンポーネントである。単語は、特定の単語を直接指定する形式であってもよいし、単語集合として、その単語集合が満たすべき単語の条件を指定する形式であっても良い。例えば「クーラー（名詞）」「扇風機（名詞）」のように直接単語を指定するリストであっても良いし、「形容動詞で表記が２文字以内の単語」のような単語の条件を指定するのでも良い。単語の条件として、具体的にどのような記述を受け付けるかは、言語モデル３０で保持する認識単語に付与されている情報によって異なってくる。言語モデル３０で保持する認識単語や単語の集合を特定できるものであれば、どのような条件であってもよい。また「冬期スポーツ関連用語」などのように言語モデル３０で保持する単語の一部を予めグループ分けしておいて、そのグループ名を更新対象とする単語の条件として指定しても良い。【００２２】
各更新対象とする単語や単語の条件と組にして受け付ける更新関数は、時間を引数とする関数であれば、どのような関数形式であっても良い。また通常、単語の言語モデルは、その単語の統計的出現傾向を示す複数の数値から構成されるが、その複数の数値それぞれに別の更新関数を指定するのでもよいし、１つの更新関数だけ指定して、その単語の統計的出現傾向を示す複数の数値は、全て指定された更新関数を係数として連動して変化するのであってもよい。更新関数が複数指定されている場合には、どの更新関数がその更新対象の統計的出現傾向を示す複数の数値のどの部分を担当するのか全て事前に定められているものとする。【００２３】
例えば、音声認識装置では３単語までの単語連接出現確率を示す３−ｇｒａｍが言語モデルとしてよく用いられる。認識対象とする単語の総数をＮとしたとき、３−ｇｒａｍ  におけるある単語の言語モデルは、（単語の単独出現確率，２単語の連接出現確率，３単語の連接出現確率）のように、（１＋Ｎ＋ＮｘＮ）個の次元からなるベクトルとして表される。このそれぞれに別個の更新関数を指定しても良いし、１つの更新関数だけ指定して、この（１＋Ｎ＋ＮｘＮ）次元ベクトルの全要素に係数としてかかるものであってよい。【００２４】
図２から図６は、更新関数として設定される変動パターン例を示している。これらの例では、単語のｕｎｉ−ｇｒａｍ  出現確率のように、単語の全体的な出現確率を、この変動パターンに応じて変化させ、２−ｇｒａｍ  や  ３−ｇｒａｍ  のような詳細な出現確率は、ある時点での値にこの更新関数を係数として乗じたものにすることを想定している。また、更新関数では、必ず引数として時間をとるが、時間以外にも、関数形を規定する複数のパラメータを持って良い。【００２５】
例えば、図２は時間の経過に応じて周期的に、単語の出現傾向を表す数値がパルス的に変動する更新関数の例である。「クーラー」や「扇風機」のような季節に応じて出現確率が周期的に変動する単語や、オリンピック関連用語など、一定時期毎に発生するイベントの関連用語などに対して、このような関数形を用いることが考えられる。この関数形では、最初の変動が始まる「変動開始時」や、関数が最大値／最小値をとり続ける期間をそれぞれ表す「最大期間」「最小期間」、変動の「周期」などが関数形を規定するパラメータとして取り得る。【００２６】
図３は図２の例と同様に、時間の経過に応じて周期的に、単語の出現傾向を表す数値が増減する更新関数の例である。図２との違いは、パルス的ではなく、ある一定期間内で連続的に増減する点である。やはり「クーラー」や「扇風機」のような季節に応じて出現確率が周期的に変動する単語や、オリンピック関連用語など、一定時期毎に発生するイベントの関連用語などに対して、このような関数形を用いることが考えられる。また、この関数形では、最初の変動が始まる「変動開始時」や、関数が増大を続ける「期間１」、関数が減少を続ける「期間２」、変動の「周期」、増減の急激さを示す傾きなどが関数形を規定するパラメータとして取り得る。【００２７】
図４は、時間の経過に応じて、単語の出現傾向を表す数値が増大し、やがてある一定の値に収束する更新関数の例である。例えば、最近流行し始めた単語で、今後は一定の値で使われ続けることが予想される単語などを、追加する場合にこのような関数形を用いることが考えられる。このような変動パターンを示す関数形の１例としては、下の式（１）で規定されるようなシグモイド関数がある。
出現のしやすさ  
＝  初期値  ＋  変動幅  ／（１  ＋  ＥＸＰ（−変動の急激さ＊（時間  −  遅れ時間）））  ．．（１）
ここで、ＥＸＰ（）  は指数関数を示す。「初期値」や「変動幅」「変動の急激さ」「遅れ時間」がこの関数のパラメータである。【００２８】
図５は、図４の例とは逆に、時間の経過に応じて、単語の出現傾向を表す数値が減少し、やがてある一定の値に収束する更新関数の例である。例えば、現在とても流行している単語だが、今後は廃れて一定の低い割合でのみ使われ続けることが予想される単語などを、追加する場合にこのような関数形を用いることが考えられる。【００２９】
図６は、図４や図５のような変動パターンの組合せで、時間の経過に応じて、ある値までは、単語の出現傾向を表す数値が増大するが、やがて再び減少に転じ、最終的には一定の値に収束する更新関数の例である。例えば、これからしばらく流行るがそのうちに使われなくなることが予想される時事用語のような単語に対して、このような関数形を用いることが考えられる。この関数形では、「初期値」「最大値」「最終値」「増大期間」「持続期間」「減少期間」などが関数形を規定するパラメータとして取り得る。【００３０】
なお、図２〜図６で示した関数形は、更新関数の一例であり、更新関数が取り得る変動パターンをこのような関数形に限るわけではない。また、同様の関数形であっても、関数形を規定するパラメータには様々な取り方があり得る。【００３１】
また、具体的にどのような単語をどのような更新関数で更新するか決定する手法は、本発明が取り扱う技術対象ではない。本発明の実施の形態を用いるユーザが経験や先験的知見によって決定するのでも良いし、別途なんらかの機械的予測手段によって、変動する単語とその変動パターンを算出するのでもよい。【００３２】
本発明の実施の形態では、更新単語入力部１０に入力された、更新対象とする単語または更新対象とする単語の条件と、その更新関数との組をただ受け付けるのみである。【００３３】
更新対象・更新関数記憶部２０は、更新単語入力部１０が受け付けた、更新対象とする単語または更新対象とする単語の条件と、更新関数との組の情報を保持するコンポーネントである。後述する、言語モデル更新部４０から要求があると、保持している情報を出力する。【００３４】
言語モデル３０は、認識対象とする単語の制約や統計的出現傾向をモデル化した言語モデルである。この言語モデル自体に関しては、既存の技術であり、本明細書ではこれ以上詳しく説明しない。具体的にどのような言語モデルの形式をとるかは、本発明の実施の形態を使用する際の用途・目的などによって異なる。【００３５】
言語モデル更新部４０は、後述する時間情報入力部５０から時間情報を受け取り、その時間情報を見て、予め設定された更新タイミングで言語モデル３０に記録された言語モデルを更新するコンポーネントである。時間情報入力部５０から受け取る時間情報が、経過時間の形式ならば、更新タイミングは、２４時間毎、２４０時間毎といった更新の間隔を示す設定で良い。時間情報入力部５０から受け取る時間情報が、日時の形式ならば、毎月１日といった設定でも良いし、毎週月水金の１２時といった設定でも良い。また更新タイミングとして、一定の時間毎や、あらかじめ指定された年月日、曜日、時刻になると更新する手法以外に、本発明の実施の形態の外部から更新タイミングのトリガーを受け取り、そのトリガーを受け取った時点で、時間情報入力部５０から時間情報を受け取って、言語モデル３０に記録された言語モデルを更新するのであってもよい。たとえば本発明の実施の形態で更新される言語モデルを用いて、音声認識または文字認識をおこなう認識装置が認識処理を実行する時点で、言語モデル更新タイミングのトリガーを言語モデル更新部４０に出して、言語モデル更新部４０が言語モデル３０に記録された言語モデルを更新し、更新された言語モデルを使用し、認識処理を行う手法であってもよい。【００３６】
言語モデル更新部４０は更新タイミングになると、更新対象・更新関数記憶部２０に保持された、更新対象とする単語または更新対象とする単語の条件と、各更新関数を全て読み込み、言語モデル３０の中の認識単語で、更新対象となる単語または、更新の条件を満たす単語の集合の言語モデルを、各更新関数に従って更新する。このとき各更新関数には、更新時点での時間情報を引数として与える。更新対象となる単語として指定された単語が、言語モデル３０の認識単語に存在しない場合は、新たな単語として言語モデル３０に登録し、その新規登録単語の言語モデルの値を、その時点での更新関数の値から求める。【００３７】
言語モデル３０で記録されている言語モデルが、ｎ−ｇｒａｍ  出現確率のように、単語の出現確率を表す数値からなる場合には、言語モデルの更新後、言語モデル中の数値が確率値としての要件を満たすよう、正規化を行っても良い。ここで「数値が確率値としての要件を満たす」とは、起こりうる全ての場合の確率を足した値が１になるという条件である。更新対象・更新関数記憶部２０で保持された更新関数に従って、一部の単語の言語モデルを増減させた場合、そのままでは、言語モデル全体として確率値としての要件を満たさなくなるため、【００３８】
このような正規化が必要となる。ただし、言語モデル３０で記録されている言語モデルが、厳密な確率値ではなく、単なる単語の出現傾向を表す数値として、認識装置に用いられる場合には、この正規化は必要ではない。【００３９】
時間情報入力部５０は、予め設定された時点からの経過時間または日時情報を、時計から受け取り、受け取った時間情報を言語モデル更新部４０に出力するコンポーネントである。受け取る時間情報の形式は、「２００６年１月１日１２：００」のような日時情報であっても良いし、２００６年１月１日０時０分のような予め設定された起点から数えた経過時間であってもよい。また、どこの時計から時間情報を受け取るかも予め設定しておく。時間情報入力部５０自体に時計を組み込んでも良いし、ネットワークや電気的な配線を通して接続された遠隔地の時計から時間情報を受け取っても良い。具体的にどこの時計から、どのような形式の時間情報を受け取るかは、本発明の実施の形態を使用する際の用途・目的などによって異なる。【００４０】
以上が、本発明の代表的(exemplary)な第１の実施の形態の構成である。【００４１】
また、本実施の形態では、更新単語入力部１０、更新対象・更新関数記憶部２０、言語モデル３０、言語モデル更新部４０、時間情報入力部５０の各コンポーネントは、それぞれの機能を制御するプログラムとして、ＣＤ−ＲＯＭやフロッピーディスクなどの機械読み取り可能な記録媒体や、インターネットなどのネットワークを通して提供され、計算機（コンピュータ）等に読み込まれて実行されるものとしても良い。【００４２】
次に、本発明の代表的(exemplary)な第１の実施の形態の言語モデル更新装置における動作について、図７のフローチャートに沿って説明する。【００４３】
本発明の実施の形態における言語モデル更新装置の動作では、まず、言語モデル更新部４０が時間情報を時間情報入力部５０から読み込む（ステップＡ１）。【００４４】
ついで、読み込んだ時間情報から、予め設定された更新タイミングになったかどうかを判定する（ステップＡ２）。更新タイミングになっていない場合は、ステップＡ１に戻る。【００４５】
更新タイミングになった場合は、言語モデル更新部４０が、更新対象・更新関数記憶部２０で保持されている更新対象と更新関数の組の情報を読み込み、次に更新対象とする単語または単語の集合を１つ選択する（ステップＡ３）。【００４６】
更新対象とする単語または単語の集合を選択すると、次にそれと組になっている更新関数にその時点での時間情報を引数として与え、その結果に従って、言語モデル３０に記録されている、更新対象の単語または単語の集合の言語モデルを更新する。更新関数が複数存在する場合には、そのそれぞれに対して時間情報を引数として与え、その計算結果を用いて、言語モデルを更新する（ステップＡ４）。【００４７】
選択した更新対象とする単語または単語の集合の、言語モデル更新が終わると、他にまだ未処理の、更新対象とする単語または単語の集合が残っているかどうか判定する（ステップＡ５）。未処理の更新対象が残っている場合には、ステップＡ３に戻る。【００４８】
全ての更新対象とする単語または単語の集合の言語モデル更新が終了すると、本発明の第１の実施の形態の言語モデル更新装置における動作全体の終了となる。【００４９】
次に、本発明の代表的(exemplary)な第２の実施の形態について図面と例を参照して詳細に説明する。【００５０】
図８を参照すると、本発明の代表的(exemplary)な第２の実施の形態は、第１の実施の形態の構成に加えて、言語モデル更新部４０が更新した言語モデルを評価する言語モデル評価装置（図８の６０）と、言語モデル評価装置によって評価された結果に応じて、更新対象とする単語や単語の条件、または、更新関数、または言語モデルを修正する更新対象・更新関数修正部（図８の７０）とからなる。【００５１】
本発明の代表的(exemplary)な第２の実施の形態において、更新単語入力部１０、更新対象・更新関数記憶部２０、言語モデル３０、言語モデル更新部４０、時間情報入力部５０の各コンポーネントは、第１の実施の形態と同様に働くため、ここでは差分である言語モデル評価装置６０と、更新対象・更新関数修正部７０についてのみ説明する。【００５２】
言語モデル評価装置６０は、更新対象・更新関数記憶部２０から、更新対象とする単語、または更新対象とする単語の条件を読み込み、言語モデル３０に記憶されている各更新対象の言語モデルを、組となる更新関数の種類毎に評価するコンポーネントである。ここで評価とは、各更新対象の個々の更新関数が担当する言語モデルの部分に対して、その言語モデルが表現する単語の出現傾向を（大きくすべき／現在の出現傾向でよい／小さくすべき）のどれかであるか分かる情報を少なくとも含んでいるものとする。より詳細な評価情報、例えば単に単語の出現傾向を大きくすべきというだけでなく、どれだけ大きくすべきである、といった情報が含まれていても良い。【００５３】
言語モデル評価装置６０のより詳細な内容としては、例えば図９で示されるような構成が考えられる。【００５４】
図９を参照すると、言語モデル評価装置６０は、言語モデル履歴記憶部６１０と、音声認識エンジン６２０と、音響モデル６３０と、入力音声バッファ６４０と、認識評価部６５０と、評価結果判定部６６０とからなる。【００５５】
言語モデル履歴記憶部６１０は、言語モデル３０の言語モデルが更新されるたびに、更新された言語モデルを更新タイミングの時間情報とともに記憶するコンポーネントである。記憶は、無限に行うわけではなく、更新された言語モデルを、過去一定回数のみ記憶する。また、言語モデルを記憶する際に、すべてをそのまま記憶するのではなく、すでに記憶している言語モデルとの差分のみ記憶するなどの、必要記憶容量を削減するための一般的な手法を用いてよい。【００５６】
過去何回分の更新された言語モデルを記憶するかは、本発明の実施の形態を使用する際の用途や目的に応じて異なってくる。また、一番最近の言語モデルの更新を一定回数分記憶するのではなく、過去の更新を１回おきに記憶するなど、必要記憶容量を一定に保ちながら、記憶する言語モデルの時間の範囲(記憶している最古の言語モデルの更新タイミングと、最新の言語モデルの更新タイミングとの差)を長期間にする工夫を用いてもよい。ここで記憶する過去一定回数分の更新された言語モデルは、後述する認識評価部６５０にて比較評価に用いる。【００５７】
よって、多数の更新言語モデルを記憶している方が、比較対象が多くなり、評価もより詳細に行えることになるが、一方、比較に必要となる計算時間や、過去の更新された言語モデルを記憶するのに必要となる記憶容量は増大する。よって、本発明の実施の形態を使用する際に、得られる評価の詳細さと、計算時間・必要記憶容量とのトレードオフで適切な記憶回数を定めればよい。【００５８】
音声認識エンジン６２０は、本発明の実施の形態を使用して更新する言語モデルを用いて認識処理を行う音声認識エンジンと同一の音声認識エンジンとする。【００５９】
物理的に同一の音声認識エンジンであってもよいし、同じ仕様・性能の別の音声認識エンジンであってもよい。【００６０】
音響モデル６３０は、音声認識エンジン６２０で用いる音響モデルである。モデルの内容は、本発明の実施の形態を使用して更新する言語モデルを用いて認識処理を行う音声認識エンジンが、使用する音響モデルと同一のものとする。【００６１】
物理的に同一の音響モデルであってもよいし、同じモデル内容の別の音響モデルであってもよい。【００６２】
入力音声バッファ６４０は、本発明の実施の形態を使用して更新する言語モデルを用いて認識処理を行う音声認識エンジンに入力される音声と同一のもの、または、本発明の実施の形態を使用して更新する言語モデルを用いて認識処理を行う音声認識エンジンに入力される音声に含まれる単語の出現傾向と同様の単語の出現傾向を持つ音声を一定量記憶するバッファである。入力音声バッファ６４０で記憶する音声は、後述する認識評価部６５０にて一番最近更新された言語モデルを評価するために用いられる。よって、ここで記憶される音声は、一番最近言語モデルが更新されたタイミングより古いものであればあるほど、一番最近更新された言語モデルを評価するために不適切となる。一方、評価に用いる音声の量が少ないほど、認識評価部６５０での評価は不正確となる。故に、この入力音声バッファ６４０で記憶する音声の分量と、どこまで過去の音声を記憶対象とするかは、本発明の実施の形態を使用して更新する言語モデルを用いて認識処理を行う音声認識エンジンに与えられる入力音声の分量から、あらかじめ設定しておく。【００６３】
認識評価部６５０は、入力音声バッファ６４０で記憶された音声を音声認識エンジン６２０に入力し、言語モデル履歴記憶部６１０で記憶された言語モデルを評価するコンポーネントである。具体的な評価法としては、入力音声を音声認識エンジンで実際に認識させ、その認識結果の統計的尤度を用いる手法などが公知技術として知られている。特許文献２は、そのような技術の１例である。【００６４】
具体的にどのような評価法を用いるかは、本発明の取り扱うところではないため、ここではこれ以上詳しくふれない。【００６５】
言語モデルの評価は、言語モデル記憶部６１０で記憶されている言語モデルごとに行うのではなく、各言語モデルをさらに細分化して、各更新対象の更新関数の種類ごとにおこなう。たとえば、更新対象として単語ＡとＢがあり、それぞれの更新関数として、Ａ１，Ａ２，Ｂ１，Ｂ２があるとき、Ａ１に対しては一番最近更新された言語モデルの評価が一番高いが、Ｂ２に対しては前回更新した言語モデルの評価が一番高い、などのように各言語モデルの各更新関数ごとに個別に評価を行う。ただし、入力音声バッファ６４０で記憶された音声がある更新関数を評価するために不十分な場合は、その更新関数に対して評価を行わない。たとえば、入力音声バッファ６４０で記憶された音声の認識結果に、単語Ａが含まれていない場合は、Ａを更新対象とする更新関数の評価を行わない。各言語モデルの各更新関数の評価は、評価結果判定部６６０に出力する。【００６６】
評価結果判定部６６０では、各更新対象の各更新関数ごとに、言語モデル履歴記憶部６１０で記憶されている過去の言語モデルの中でどの時点での言語モデルが評価最大であったか選択する。ついで、各更新関数の各更新関数の評価が最大であった言語モデルと、一番最近更新された言語モデルとの、着目している更新関数に関する差分を求める。各更新対象の各更新関数ごとの差分が、一番最近更新した言語モデルを修正すべき、方向と修正の大きさを示す結果となる。【００６７】
以上が、言語モデル評価装置６０の詳細な内容を示す構成の一例である。【００６８】
なお図９では、本発明の実施の形態で更新された言語モデルが音声認識装置で用いられることを想定し、言語モデル評価装置６０の内部構成として、音声認識エンジン６２０、音響モデル６３０、入力音声バッファ６４０を含むとしている。ただし、本発明の実施の形態で更新された言語モデルが文字認識装置で用いられる場合であっても、まったく同様の構成によって、言語モデル評価装置６０をなす事ができる。その場合、音声認識エンジン６２０は文字認識エンジンに、音響モデル６３０は文字標準パターンに、入力音声バッファ６４０は入力画像バッファに置き換えればよい。【００６９】
言語モデル評価装置６０のまた別の詳細な内容としては、例えば図１０で示されるような構成が考えられる。【００７０】
図１０を参照すると、言語モデル評価装置６０は、言語モデル履歴記憶部６１０と、時間情報付きサンプルテキストコーパス６７０と、統計情報比較部６８０と、統計比較結果判定部６９０とからなる。【００７１】
言語モデル履歴記憶部６１０は、図９における言語モデル履歴記憶部６１０とまったく同様である。【００７２】
時間情報つきサンプルテキストコーパス６７０は、各テキストにそのテキストが作成された時間情報が付与されているテキストのコーパスである。ここで、時間情報は、時間情報入力部５０で受け付ける時間情報と同じ形式か、または、時間情報入力部５０で受け付ける時間情報の形式に変換可能な形式をとる。また、時間情報が付与されているテキストならばどのようなテキストでもよいのではなく、ある一定の環境下で作成された同種のテキストでなければならない。【００７３】
たとえば、新聞コーパスのように各時点での分量、文体等の条件が時間経過に応じて変動しないコーパスとする。新聞コーパス以外でこのような条件を満たすコーパスとしては、同一の制作者が定期的に作成するメールマガジン、広報、カタログ、説明書などがある。同一の制作者でなくとも、コーパスの分量を増やすことで統計的に一定の環境下で作成されたテキストであると見なす手法もあり得る。この例としては、インターネット上で公開されているブログを大量に収集し、時間情報つきサンプルテキストコーパスとすることが考えられる。【００７４】
さらに、この時間情報つきサンプルテキストコーパス６７０で蓄えられるテキストは、更新単語入力部１０で更新対象として指定される単語をできるだけ含むことが望ましい。ただし、これは絶対の条件ではない。【００７５】
統計情報比較部６８０は、言語モデル履歴記憶部６１０で記憶されている各言語モデルの更新タイミングをまず読み込み、ついで各更新タイミングと同時期に作成されたテキストを、時間情報つきサンプルテキストコーパス６７０から読み出し、読み出したテキストから、更新対象とする各単語の統計的出現傾向を算出する。さらに、各更新タイミングの時点における、算出した更新対象の単語の統計的出現傾向と、言語モデル履歴記憶部６１０で記憶されている言語モデル中の更新対象の単語の統計的出現傾向を比較する。算出した更新対象の単語の統計的出現傾向と、言語モデル履歴記憶部６１０で記憶されている言語モデル中の更新対象の単語の統計的出現傾向が比例関係にあることを前提として、一番最近更新された言語モデル以外の言語モデルと、算出された更新対象の単語の統計的出現傾向から、一番最近更新された更新タイミングにおける言語モデルの予測値を計算し、得られた予測値と、一番最近更新された言語モデルの実際の値との差分を、統計比較結果判定部６９０に出力する。たとえば、時間情報つきサンプルテキストコーパス６７０である特定の新聞コーパスを蓄えているとする。ある時事用語の一週間ごとの出現確率が、（新聞コーパスでの出現確率，各更新タイミングでの言語モデルにおける出現確率）＝（６／１時点：０．００２０，  ０．００６０），  （６／８時点：  ０．００１８，  ０．００５４）  であったとする。さらに、６／１５時点での新聞コーパスでのその時事用語の出現確率が０．００１０  であるとすると、予測される言語モデルにおける出現確率は、
（（（０．００６０／０．００２０）  ＋  （０．００５４／０．００１８））／  ２）  ｘ  ０．００１０  ＝  ０．００３０    ．．．（２）
この式（２）のようになる。これは、過去２週間における新聞コーパスでの出現確率と、言語モデルにおける出現確率の比を平均して、６／１５における新聞コーパスでの出現確率から、６／１５における言語モデルのその時事用語の出現確率を予測したものである。一方、言語モデル履歴記憶部６１０で記憶された、６／１５における言語モデルのその時事用語の出現確率が  ０．００５０  であったとする。【００７６】
これはその時事用語の更新関数で予測された出現確率よりも、より急速にその時事用語が廃れたことを示している。この差分を統計比較結果判定部６９０に出力する。【００７７】
更新対象とする単語が、時間情報つきサンプルテキストコーパス６７０に保持されているテキストに長期間にわたって使用されていない場合は、その更新対象とする単語の評価を行わない。長期間の閾値は、本発明の実施の形態を使用する環境や用いる時間情報つきサンプルテキストコーパスの性質に応じて、あらかじめ定めておく。ただし、更新対象とする単語そのものが、時間情報つきサンプルテキストコーパス６７０に保持されているテキストに出現していなくとも、同様の出現傾向を示すと事前に予測されている単語との間で、出現傾向の比較をすることで、予測される出現傾向と、一番最近更新された言語モデルにおける出現傾向との差分を求める手法をとってもよい。たとえば、あるスポーツ大会関連用語としてグループで更新単語入力部１０に入力された単語の集合があるとする。そのグループのすべての単語が、時間情報つきサンプルテキストコーパス６７０に保持されているテキストに出現していなくとも、一部出現している単語の出現傾向の平均値と、更新対象とするそのグループの各単語の出現傾向を比較することで、各単語の出現傾向の差分を求めることができる。【００７８】
この時間情報つきサンプルテキストコーパス６７０に保持されているテキストと、言語モデル３０を作成する際に用いられたテキストコーパスと文体等の条件が異なる場合、直接言語モデルを作成する用途で、時間情報つきサンプルテキストコーパス６７０で保持されているテキストを用いることはできないが、更新対象とする単語の出現傾向の比較には使用できる、という点がこの言語モデル評価装置６０の構成の利点である。【００７９】
統計比較結果判定部６９０では、各更新対象とする単語の出現傾向の差分から、一番最近更新された言語モデルにおける更新対象ごとの各更新関数の修正すべき方向と修正すべき大きさを、更新対象・更新関数修正部７０に出力する。ただし、出現傾向の差分が得られなかった更新対象の単語や、一部の出現傾向の差分のみ得られて、更新関数の修正すべき方向・大きさが判定できない場合には、その更新対象の単語全体や、一部の更新関数の判定は行わない。【００８０】
たとえば、統計情報比較部６８０で挙げた時事用語の例では、一番最近更新された言語モデルにおけるその時事用語の出現確率が０．００５０であったのに対して、時間情報つきサンプルテキストコーパス６７０から得られた予測が０．００３０であったことから、その時事用語の単独出現確率を求める更新関数があった場合、その更新関数のその更新タイミングにおける値が０．００２０だけ減少するよう、その更新関数の関数形を修正する必要があると、出力する。【００８１】
以上が、言語モデル評価装置６０の詳細な内容を示す構成の一例である。図９、図１０と２つの構成例を示したが、言語モデル評価装置６０の構成はこのような構成に限らず、更新対象・更新関数記憶部２０から、更新対象とする単語、または更新対象とする単語の条件を読み込み、言語モデル３０に記憶されている各更新対象の言語モデルを、組となる更新関数の種類毎に評価するコンポーネントであれば、どのような構成をとってもよい。言語モデルを評価する手法としては、特許文献２のように様々な技術が公開されており、本発明の対象とするところではないので、ここではこれ以上の詳細な説明は行わない。【００８２】
更新対象・更新関数修正部７０は、言語モデル評価装置６０の出力を読み込んで、評価が得られた各更新関数ごとに、評価が反映され、一番最近更新された言語モデルの評価がよりよくなるよう、更新対象・更新関数記憶２０で保持されている更新関数の修正を行う。更新関数の修正法としては、各更新関数ごと設定されたパラメータを調整する手法と、更新関数の関数全体を変更する手法とがある。パラメータを調整する場合は、再急降下法などで言語モデルの評価がよくなる方向にパラメータを変更する。複数のパラメータ間で、どのパラメータをどのような優先度でどの程度変更するか、更新関数ごとにあらかじめ定めておいてもよい。また、更新関数全体を変更する場合は、どのような更新関数に変更すればよいか、事前に変更先の関数形を定めておく必要がある。たとえば、更新関数が式（１）のようなシグモイド関数で定義されており、更新関数の値よりも大きな値にしなければならない場合、式（１）の「変動幅」のパラメータを増大させる。【００８３】
また更新対象・更新関数修正部７０において、一番最近更新された言語モデルの評価がよりよくなるよう、更新対象・更新関数記憶２０で保持されている更新関数の修正を行うのではなく、言語モデル３０で保持されている値を直接修正するのでもよい。更新対象・更新関数記憶部２０の更新関数の修正を行うのか、言語モデル３０の値の修正を行うのか、またその両方を行うのかは、本発明の実施の形態を使用する際の用途や目的に応じて事前に定めておく。【００８４】
さらに、更新関数の修正の結果、更新対象とする単語または単語の条件と組になっている更新関数のすべてが、時間に応じて変動しない一定の値をとる関数になった場合には、その更新対象とする単語または単語の条件自体を、更新対象・更新関数記憶部２０から削除してもよい。【００８５】
以上が、本発明の代表的(exemplary)な第２の実施の形態の構成である。【００８６】
また、本実施の形態では、更新単語入力部１０、更新対象・更新関数記憶部２０、言語モデル３０、言語モデル更新部４０、時間情報入力部５０、言語モデル評価装置６０、更新対象・更新関数修正部７０の各コンポーネントは、それぞれの機能を制御するプログラムとして、ＣＤ−ＲＯＭやフロッピーディスクなどの機械読み取り可能な記録媒体や、インターネットなどのネットワークを通して提供され、計算機（コンピュータ）等に読み込まれて実行されるものとしても良い。【００８７】
次に、本発明の代表的(exemplary)な第２の実施の形態の言語モデル更新装置における動作について説明する。本発明の第２の実施の形態の言語モデル更新装置における動作では、それぞれ独立に動作する、言語モデル更新動作と更新対象・更新関数修正動作とからなる。【００８８】
本発明の代表的(exemplary)な第２の実施の形態における言語モデル更新動作は、第１の実施の形態における言語モデル更新動作とまったく同様であるため、ここでは説明を省略する。【００８９】
本発明の代表的(exemplary)な第２の実施の形態における更新対象・更新関数修正動作を、図１１のフローチャートに沿って説明する。【００９０】
本発明の実施の形態における更新対象・更新関数修正動作では、まず、言語モデル３０を見て、言語モデルが更新されたかどうか監視する（ステップＢ１）。【００９１】
更新されていない場合は、監視を続行する。更新された場合は、その一番最近更新された言語モデルに対して評価に移る（ステップＢ２）。【００９２】
言語モデル評価装置６０で、一番最近更新された言語モデルの評価を行い（ステップＢ３）、その評価結果に従って、更新対象・更新関数修正部７０において、各更新関数、言語モデル３０で保持されている言語モデル、さらに更新対象とする単語または単語の条件の修正の有無と修正内容を決定し（ステップＢ４）、修正がある場合は、それらを修正する（ステップＢ５）。【００９３】
以上のような動作を行い、さらに独立に動作する言語モデル更新動作と組み合わせることで、本発明の第２の実施の形態の言語モデル更新装置における動作全体の終了となる。【００９４】
本発明の代表的(exemplary)な第２の目的はさらに、更新した言語モデルを評価する手段を備え、時間の経過に応じて変動した言語モデルを評価することで、各単語に設定されている更新関数が適切かどうかを判定し、適切でない場合には更新関数の関数形を規定するパラメータを調整する、言語モデル更新装置、言語モデル更新方法、および言語モデル更新用プログラムを提供することである。【００９５】
本発明の代表的(exemplary)な第２の観点によれば、予め設定された時点からの経過時間または日時情報を受け取る時間情報入力ステップと、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶ステップと、前記時間情報入力ステップで受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語の集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新ステップとを有することを特徴とする言語モデル更新方法が提供される。【００９６】
本発明の代表的(exemplary)な第３の観点によれば、コンピュータを制御することにより、言語モデルを更新する言語モデル更新用プログラムであって、予め設定された時点からの経過時間または日時情報を受け取る時間情報入力ステップと、更新対象とする単語または更新対象とする単語の条件と、更新関数とを組にして保持する更新対象・更新関数記憶ステップと、前記時間情報入力ステップで受け取った時間の経過に応じて、前記更新対象とする単語または前記更新対象とする単語の条件を満たす単語の集合の言語モデルを、各更新対象と組になっている前記更新関数に従って更新する言語モデル更新ステップとを前記コンピュータに実行させることを特徴とする言語モデル更新用プログラムが提供される。【００９７】
本発明の代表的な実施形態が詳細に述べられたが、様々な変更(changes)、置き換え(substitutions)及び選択(alternatives)が請求項で定義された発明の精神と範囲から逸脱することなくなされることが理解されるべきである。また、仮にクレームが出願手続きにおいて補正されたとしても、クレームされた発明の均等の範囲は維持されるものと発明者は意図する。
【産業上の利用可能性】
【００９８】
本発明によれば、新語や時事用語などを認識辞書に追加する必要がある音声認識装置において、その音声認識装置で用いる言語モデルの状態を適切なものに維持する用途に適用可能である。特に単語登録後、ユーザが明示的に言語モデルを管理・更新することが難しい家電製品などに組み込まれた音声認識装置に本発明を適用することが効果的である。【００９９】
また音声認識装置の場合と同様に、新語や時事用語などを認識辞書に追加する必要がある文字認識装置において、その文字認識装置で用いる言語モデルの状態を適切なものに維持する用途に適用可能である。特に単語登録後、ユーザが明示的に言語モデルを管理・更新することが難しい家電製品などに組み込まれた文字認識装置に本発明を適用することが効果的である。
【図１】
2008004663.tif 000003
【図２】
2008004663.tif 000004
【図３】
2008004663.tif 000005
【図４】
2008004663.tif 000006
【図５】
2008004663.tif 000007
【図６】
2008004663.tif 000008
【図７】
2008004663.tif 000009
【図８】
2008004663.tif 000010
【図９】
2008004663.tif 000011
【図１０】
2008004663.tif 000012
【図１１】
2008004663.tif 000013
【国際調査報告】
2008004663.tif 000014
2008004663.tif 000015