(57)【要約】【課題】  認識履歴等の情報を用いて音声認識の性能をさらに向上させること。【解決手段】  認識対象の地理的名称とその位置との対応関係を記述したテーブルを記憶し(114)、認識対象の地理的名称毎に、過去に入力された頻度を管理し(202)、上記テーブル(114)に基づいて、注目する認識対象の地理的名称の生起確率を、当該地理的名称の前記頻度と、当該地理的名称の位置を含む所定領域内に位置する認識対象の地理的名称の前記頻度とに基づいて更新し、この更新を認識対象の地理的名称毎に行う(203)。【選択図】  図２
2005173390.tif 000002
【特許請求の範囲】
【請求項１】
地理的名称を認識対象とし、認識対象の地理的名称毎にその表記、読み、および生起確率を記述した音声認識辞書に基づいて音声認識を行う方法であって、
認識対象の地理的名称毎に、過去に入力された頻度を管理する頻度管理ステップと、
認識対象の地理的名称とその位置との対応関係を記述したテーブルに基づいて、注目する認識対象の地理的名称の位置を含む所定領域内に位置する認識対象の地理的名称を抽出し、抽出された各地理的名称の前記頻度に基づいて当該注目する認識対象の地理的名称の前記音声認識辞書に記述された生起確率を更新し、この更新を認識対象の地理的名称毎に行う生起確率更新ステップと、
を有することを特徴とする音声認識方法。
【請求項２】
前記生起確率更新ステップは、前記所定領域内に位置する認識対象の地理的名称の位置毎に、当該注目する認識対象の地理的名称の位置からの距離を更に考慮して前記生起確率を更新することを特徴とする請求項１に記載の音声認識方法。
【請求項３】
前記生起確率更新ステップは、認識対象の地理的名称の各々に設定された事前生起確率を更に考慮して前記生起確率を更新することを特徴とする請求項１または２に記載の音声認識方法。
【請求項４】
コンピュータが実行可能なプログラムであって、地理的名称を認識対象とし、認識対象の地理的名称毎にその表記、読み、および生起確率を記述した音声認識辞書を用いた音声認識を行うために、
認識対象の地理的名称毎に、過去に入力された頻度を管理する頻度管理ステップと、のコードと、
認識対象の地理的名称とその位置との対応関係を記述したテーブルに基づいて、注目する認識対象の地理的名称の位置を含む所定領域内に位置する認識対象の地理的名称を抽出し、抽出された各地理的名称の前記頻度に基づいて当該注目する認識対象の地理的名称の前記音声認識辞書に記述された生起確率を更新し、この更新を認識対象の地理的名称毎に行う生起確率更新ステップのコードと、
を含むことを特徴とするプログラム。
【請求項５】
請求項４に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項６】
地理的名称を認識対象とし、認識対象の地理的名称毎にその表記、読み、および生起確率を記述した音声認識辞書に基づいて音声認識を行う音声認識装置であって、
認識対象の地理的名称とその位置との対応関係を記述したテーブルを記憶する記憶手段と、
認識対象の地理的名称毎に、過去に入力された頻度を管理する頻度管理手段と、
前記テーブルに基づいて、注目する認識対象の地理的名称の位置を含む所定領域内に位置する認識対象の地理的名称を抽出し、抽出された各地理的名称の前記頻度に基づいて当該注目する認識対象の地理的名称の前記音声認識辞書に記述された生起確率を更新し、この更新を認識対象の地理的名称毎に行う生起確率更新手段と、
を有することを特徴とする音声認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音声認識技術に関する。
【背景技術】
【０００２】
インターネット、カーナビゲーション、携帯電話などの情報機器における検索アプリケーションを利用する際に、駅名、ランドマーク、住所など場所に関する情報を入力することがある。このような情報の入力に音声認識を使用することが考えられる。いま、電車の経路案内に関し、出発駅と到着駅を入力する際にこれらの駅名を音声によって入力し、それを音声認識するアプリケーションを考える。この場合、アプリケーションが想定している全ての駅名が入力対象となるため、例えば、日本全国の駅名を対象にした場合、１万件近い駅名が音声認識の対象語彙となる。このように数千語以上の語彙を認識対象とした場合の孤立単語の音声認識性能は、現在の音声認識技術では十分とは言えない。
【０００３】
ところで、このようなアプリケーションを個々の利用者が用いる際には、たとえ認識対象語が全国であったとしても、利用者が頻繁に入力する駅名は、自宅や勤務先の周辺など地域が比較的限られていることが多いと考えられる。例えば、普段、横浜や東京周辺の駅名を頻繁に入力する利用者の発声が、「たにまち」もしくは「たんまち」と同じ確からしさで音声認識された場合、大阪の「谷町（たにまち）」よりも横浜の「反町（たんまち）」の方が確からしいと考えられる。すなわち、利用者の過去の入力履歴から得られる情報を現在の音声認識に利用することによって、音声認識の性能が改善できると考えられる。
【０００４】
これに対し、特開平１１−２３１８８９号公報（特許文献１）には、地名、ランドマークなどの認識において、音声認識を用いている現在位置からの距離やランドマークの知名度などに応じて、音声認識器が出力する類似度を修正する方法が開示されている。
【０００５】
また、特許第２９０７７２８号公報（特許文献２）には、自動車が過去に走行した領域や目的地の領域の頻度を求め、この頻度を考慮して認識結果を求める方法が開示されている。
【０００６】
【特許文献１】特開平１１−２３１８８９号公報
【特許文献２】特許第２９０７７２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した特開平１１−２３１８８９号公報（特許文献１）には、認識履歴を直接利用する方法も開示されているが、認識履歴の周辺の類似度を修正することについては何ら触れられていない。よって、過去に入力された地名の周辺の地名や、過去に全く入力されていない地域の地名の類似度に関しては修正を行うことができない。
【０００８】
また、上記した特許第２９０７７２８号公報（特許文献２）に開示された方法では、目的地を重なりのない領域に分けているため、頻繁に走行する領域の周辺で、頻度が０の領域と全く走行したことがない地域（複数の領域）の領域が同等に扱われてしまうという問題がある。
【０００９】
本発明は上述の問題に鑑みてなされたもので、認識履歴等の情報を用いて音声認識の性能をさらに向上させることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、例えば本発明の音声認識方法は以下のような構成を備える。すなわち、地理的名称を認識対象とし、認識対象の地理的名称毎にその表記、読み、および生起確率を記述した音声認識辞書に基づいて音声認識を行う方法であって、認識対象の地理的名称毎に、過去に入力された頻度を管理する頻度管理ステップと、認識対象の地理的名称とその位置との対応関係を記述したテーブルに基づいて、注目する認識対象の地理的名称の位置を含む所定領域内に位置する認識対象の地理的名称を抽出し、抽出された各地理的名称の前記頻度に基づいて当該注目する認識対象の地理的名称の前記音声認識辞書に記述された生起確率を更新し、この更新を認識対象の地理的名称毎に行う生起確率更新ステップとを有する。
【発明の効果】
【００１１】
本発明によれば、音声認識の性能をさらに向上させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１３】
本発明は上記したような技術的背景に基づいてさらに音声認識の性能向上を図るものであるが、本発明の実施形態では例えば、入力音声の認識を行う際に、過去の履歴として入力された語句（例えば地名）の座標情報（位置）とそれが入力された頻度を考慮して、入力履歴の語句や領域内の語句のみならず、認識対象語全てに対してより適切な単語生起確率（孤立単語認識の場合はユニグラム）を生成する手法を説明する。
【００１４】
（第１の実施形態）
本実施形態の音声認識装置は地理的名称を認識対象とするものに関する。例えば、電車の経路案内アプリケーションに関し、出発駅と到着駅を入力する際にこれらの駅名を音声によって入力しそれを音声認識する、というものである。
【００１５】
図１は、本実施形態に係る音声認識装置の構成を示すブロック図である。図示のようにこの音声認識装置はＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等を備えており、かかる構成は典型的にはパーソナルコンピュータ等のコンピュータ装置で実現できるものである。もっとも、このような汎用コンピュータではなく、専用のハードウェアロジックにより構成してもよいことは言うまでもない。
【００１６】
１０１はＣＰＵで、ＲＯＭ１０２に記憶された制御プログラム或いは外部記憶装置１０４からＲＡＭ１０３にロードされた各種プログラムに従って、本装置全体の制御を司る。ＲＯＭ１０２は各種パラメータやＣＰＵ１０１が実行する制御プログラムなどを格納している。ＲＡＭ１０３は主記憶装置として機能するもので、ＣＰＵ１０１による各種制御の実行時に作業領域を提供するとともに、ＣＰＵ１０１により実行されるプログラムを記憶する。
【００１７】
１０４はハードディスクドライブ等の外部記憶装置で、図示のように、ここにＯＳ１１０をはじめ、後述する音声認識プログラム１１１、音響モデル１１２、音声認識辞書１１３、位置・頻度テーブル１１４を記憶している。１０５はマイクロフォンなどの音声入力装置であり、取り込まれた音声に対して音声認識が実行されることになる。１０６はＣＲＴ、液晶ディスプレイなどの表示装置であり、処理内容の設定・入力に関する表示・出力を行う。１０７はボタン、テンキー、キーボード、マウス、ペンなどの補助入出力装置である。１０８は上記各部を接続するバスである。なお、音声認識の対象となる音声は、音声入力装置１０５によって入力してもよいし、別の装置によって獲得した音声データをネットワーク（図示せず）を介してＲＡＭ１０３や外部記憶装置１０４に記憶し、これを音声認識の対象としてもよい。
【００１８】
図２は、外部記憶装置１０４にインストールされている音声認識プログラム１１１のモジュール構成を示すブロック図である。
【００１９】
２０１は音声入力装置１０５などで入力された音声を認識する音声認識部であり、具体的には入力音声の分析、参照パターンとの距離計算、探索処理、認識結果出力などを行う。音声認識辞書１１３は、 音声認識の対象となる単語に関する単語ＩＤ、表記、読み、単語の重みに関する情報を保持する。音響モデル１１２は、音素、音節、単語などのモデルを保持するもので、例えば隠れマルコフモデル（Hidden Markov Model：ＨＭＭ）によって構成される。そして、音声認識辞書１１３における単語や読みの情報に従って認識対象単語の参照パターンが音響モデル１１２を用いて構成される。２０２は頻度更新部であり、音声認識部２０１による音声認識結果を用いて認識対象単語の頻度情報を更新する。位置・頻度テーブル１１４は、認識対象単語の位置および頻度に関する情報を保持する。２０３は重み更新部で、位置・頻度テーブル１１４から認識対象単語の重みを計算し、音声認識辞書１１３における重みに関する情報を変更する。
【００２０】
図３は、本実施形態における音声認識プログラム１１１による処理概要を示すフローチャートである。
【００２１】
まず、ステップＳ３０１では、音声入力装置１０５などから入力された音声を認識する。具体的には、入力音声の特徴量分析、参照パターンとの距離計算、探索処理、認識結果出力などを行う。この音声認識の処理は例えばＨＭＭで構成された音響モデル１１２に基づいて行われる。ここで、孤立単語音声認識を行う場合には、各単語の生起確率（重み）は全て同じであるとすることが一般的であるが、本実施形態では各単語に言語確率Ｐを適用して、すなわち各単語に異なる生起確率を適用して音声認識を行う。すなわち、入力音声に対する単語ｋの音響尤度（入力音声の特徴量ベクトルｘと参照パターンとの距離計算として求まるスコア）をＬ（ｘ｜ｋ）とすると、入力音声に対する単語ｋに対する尤度Ｌ（ｋ｜ｘ）は、Ｌ（ｋ｜ｘ）＝Ｌ（ｘ｜ｋ）＋αＬ（ｋ）として求める。ここで、Ｌ（ｋ）は、単語ｋに対する言語確率Ｐ（ｋ）からＬ（ｋ）＝logＰ（ｋ）として計算される言語尤度であり、αは音響尤度と言語尤度のバランスをとるための係数である。
【００２２】
音声認識辞書１１３の構造例を図４に示す。この例では、各単語に対して、単語ＩＤ、表記、音素列表現による読み、単語の生起確率（以下、単に「重み」ともいう。）として言語尤度に関する情報が保持されている。
【００２３】
音響モデル１１２は前述のとおり、音素、音節、単語などのモデルを保持している。この音響モデルが音素ＨＭＭとして保持されているとすると、音声認識辞書１１３の音素列表現された読みの情報に従って音素ＨＭＭを連結することによって各単語の参照パターンが作成される。この参照パターンに対する入力音声の音響尤度および言語尤度を認識対象語全てに対して計算し、次式のように尤度が最大となる単語ｋ^を１位の認識結果とする。
【００２４】
2005173390.tif 000003
【００２５】
ただし、argmaxはＬ（ｋ｜ｘ）が最大となるｋを求める処理であり、Ｋは認識対象単語の集合を表す。
【００２６】
次に、ステップＳ３０２で、頻度更新部２０２による頻度更新処理を行うかどうかの判断を行う。判断基準としては、例えば、ステップＳ３０１で得られた１位の認識結果が利用者によって確定された場合には頻度更新処理を行うと判断してステップＳ３０３に進み、確定されなかった場合には頻度更新しないと判断してステップＳ３０３をスキップしてステップＳ３０４に進む。
【００２７】
ステップＳ３０３では、位置・頻度テーブル１１４に保持されている頻度情報を更新する。図５に、位置・頻度テーブル１１４の構造例を示す。この例では、認識対象単語である地理的名称に対して、単語ＩＤ、経度、緯度等の位置（地理的位置情報）、その単語が過去に認識出力された回数を表す頻度情報が保持されている。ここで、経度及び緯度は各単語の位置に関する情報として予め求めておく。例えば、横浜駅は北緯３５度２７分５８秒、東経１３９度３７分２１秒、渋谷駅は北緯３５度３９分３２秒、東経１３９度４２分４秒などとなる。また、頻度の初期値は全ての単語で１とする。いま、単語ＩＤ＝１の「横浜」が確定されたとすると、ステップＳ３０３の処理として、位置・頻度テーブル１１４内のＮ1の値を１つインクリメントする。
【００２８】
このように、この位置・頻度テーブル１１４によって、認識対象の地理的名称とその位置との対応関係が定義されると共に、各単語が過去に認識出力された頻度が管理される。もっとも、このテーブルは、位置と頻度について別々のテーブルを持つようにしても構わない。
【００２９】
次に、ステップＳ３０４で、重みを更新するかどうかの判断を行う。判断基準としては、例えば、ステップＳ３０１で得られた１位の認識結果が利用者によって確定されたことによりステップＳ３０３が実行され、それにより位置・頻度テーブル１１４における頻度が更新された場合にはステップＳ３０５に進み、位置・頻度テーブル１１４における頻度が更新されなかった場合にはステップＳ３０５は実行せずに処理を終了する。
【００３０】
ステップＳ３０５では、位置・頻度テーブル１１４の情報を用いて各単語の重みを計算して、音声認識辞書１１３の言語尤度を更新する。これにより、次回の音声認識時にはこの言語尤度が用いられることになる。以下に言語尤度を計算する際の手順を詳細に説明する。
【００３１】
図６は、図５に示したような構造の位置・頻度テーブル１１４に対して、単語ごとに重みを計算する際の計算方法を説明する概念図である。
【００３２】
図６において、横軸は経度、縦軸は緯度であり、図５の経度、緯度から各単語ＩＤの座標が一意に決まる。また、白丸は図５の頻度が少ないもの（例えば３回以下）、黒丸は頻度が多いもの（例えば４回以上）を示している。
【００３３】
ここで、単語ｉ（経度Ｘi，緯度Ｙi）とｊ（経度Ｘj，緯度Ｙj）の２つの単語の重みを計算する方法を図７〜９を用いて説明する。
【００３４】
まず、注目する認識対象の地理的名称である単語ｉについて、その単語ｉの位置を含む所定領域内を位置とする認識対象の地理的名称を抽出する。その後、抽出された地理的名称の単語群の頻度を利用して重みを更新する。例えば、単語ｉ（経度Ｘi，緯度Ｙi）に対する重みＷiを更新する場合、まず、経度方向に２ＲX（Ｘi±Ｒx）、緯度方向に２ＲY（Ｙi±ＲY）の矩形領域に含まれる単語群ｕi＝｛ｕ1、ｕ2, ... , ｕMi｝（Ｍiはこの矩形領域に含まれる単語数）を抽出し、抽出した各単語の頻度と単語ｉの頻度とを用いて、以下のいずれかの式により主にＷiを更新する。
【００３５】
2005173390.tif 000004
【００３６】
ただし、Ｎutは、単語ｕtの頻度、Ｎiは、単語ｉの頻度、βは重みで、その範囲は０＜β＜１である。
【００３７】
図７に単語ｉに対する矩形領域およびその矩形領域に含まれる単語群ｕiの例を示す。この図ではＭi＝５である。いま、Ｎutが図８に示されるような頻度であったとする（すなわち、Ｎu1＝６，Ｎu2＝８，Ｎu3＝５，Ｎu4＝３，Ｎu5＝１，Ｎi＝１とする）と、単語ｉの重みＷiは、β＝0.5とすると、上式から、Ｗi＝3.0と求められる。同様に、単語ｊに対する矩形領域およびその矩形領域に含まれる単語群ｕjが図９に示されるような場合、Ｍj＝５であり、単語ｊの重みＷjは、ｋ＝0.5のとき、Ｗj＝0.6と求められる。
【００３８】
図８および図９の例から分かるように、単語ｉおよび単語ｊは共に頻度は１であるが、矩形領域に含まれる単語群の頻度は単語ｉの方が単語ｊよりも多いため、単語ｉの重みＷiの方が単語ｊの重みＷjよりも大きな値として求められる。以上の計算を全ての単語に対して行い全単語の重みを決定する。更に、全単語の重みの平均が１になるように、以下のように、全単語の重みを用いて正規化した重みＷ￣k（ｋ＝１, ... , Ｌw）を
【００３９】
2005173390.tif 000005
【００４０】
として求め、これを言語確率Ｐ（ｋ）＝Ｗ￣kとし、これから言語尤度をＬ（ｋ）＝logＰ（ｋ）として求める。また式（３）において、Ｌwは認識対象単語の総単語数である。
【００４１】
以上の説明から明らかなように、本実施形態によれば、過去に入力された各認識対象語の頻度情報と各認識対象語に関する位置情報を用いて各認識対象単語の重みを計算することができるようになる。この結果、この重みを利用した音声認識を行うことによって、利用者が頻繁に入力する地域の名称がほとんど入力しない地域の名称よりも認識されやすくなり、利用者の入力する地域に偏りがある場合には高性能な認識性能を提供することが可能となる。
【００４２】
なお、上述の実施形態では、周辺の単語群を決定する際に、矩形領域を用いた例について説明したが、本発明はこれに限らず、他にも円など他の形状の領域を用いてもよい。
【００４３】
また、上述の実施形態では、各単語について同じ大きさの領域（経度方向に２ＲX、緯度方向に２ＲY）を適用した例について説明したが、本発明はこれに限らず、単語ごとに異なる大きさの領域を用いてもよい。
【００４４】
また、上述した実施形態では、式（１）のように領域内の単語群の頻度は全て均等に扱って当該単語の重みを計算した例について説明したが、本発明はこれに限らず、次式のように当該単語からの距離に応じた重み を用いて以下のように計算してもよい。
【００４５】
2005173390.tif 000006
【００４６】
ただし、Ｄ（ｉ，ｕi）は、単語ｉの位置と単語ｕiの位置との距離ｄ（ｉ，ｕi）に応じて、予め決められた関数Ｆ（ｄ）にしたがって決定される。Ｆ（ｄ）はいかなる関数を用いてもよいが、ｄが小さい場合にはＤは大きく、ｄが大きい場合にはＤは小さくなるような関数が好ましい。図１０にこの関数の一例を示す。
【００４７】
また、上述の実施形態では、当該単語と周辺単語群の頻度の重みをそれぞれβ、（１−β）として計算していたが、本発明はこれに限らず、別の重みを用いてもよい。
【００４８】
また、上述の実施形態では、１位の認識結果を用いて頻度を更新していたが、音声認識装置が複数の認識結果を出力し得る場合には、これら複数の認識結果を用いて頻度を更新してもよい。
【００４９】
また、上述の実施形態では、位置情報として経度と緯度を用いていたが、本発明はこれに限らず、位置情報が特定できるものであれば別の座標系を用いてもよい。
【００５０】
また、上述の実施形態では、音声認識の履歴から頻度情報を更新していたが、本発明はこれに限らず、キーボード、マウス、ペンなどで構成される補助入出力装置１０７によって入力された履歴を用いて頻度や重み情報を更新してもよい。このような処理を実現する音声認識プログラムのモジュール構成を図１１に示す。図１１において、４０１が補助入出力装置１０７を用いて入力を行う補助入力部である。その他のモジュールは図２と同様であるが、頻度更新部２０２に入力されるのは音声認識部２０１の出力ではなく補助入力部４０１の出力である。本発明は、さらに音声認識の履歴と補助入力の履歴を併用して頻度や重み情報を更新してもよい。
【００５１】
また、上述した実施形態では、言語尤度および頻度情報は、図４および図５に示したように、１つの単語ＩＤに対してそれぞれ一つであったが、本発明はこれに限らず、１つの単語ＩＤに対して複数の言語尤度および頻度情報を保持してもよい。図１２および図１３にそれぞれ、２種類の言語尤度および頻度情報を保持する場合の音声認識辞書１１３および位置・頻度テーブル１１４の例を示す。これにより、例えば、出発駅と到着駅の駅名を入力するアプリケーションにおいて、出発駅と到着駅のいずれの入力を行っているかという情報が得られる場合には、出発駅と到着駅のそれぞれに対して言語尤度と頻度情報を別々に保持することによって、出発駅を入力する際に頻繁に発声される地域と、到着駅を入力する際に頻繁に発声される地域を考慮することが可能となる。
【００５２】
（第２の実施形態）
上述した第１の実施形態では、頻度情報のみを用いて重みを決定していたが、一般に知名度の高い単語は、知名度の低い単語よりも高い確率で発声されると考えられる。そこで本実施形態では、重みを更新する際に、各認識対象語の知名度を事前生起確率として、この確率と頻度情報から各認識対象単語の重みを決定する方法について説明する。
【００５３】
本実施形態の場合にも第１の実施形態で説明した式（３）までの処理は同じであるためその説明は省略する。いま、単語ｋの事前生起確率をＰ0（ｋ）とすると、これと上記した式（３）によって得られる正規化重みＷ￣kとから、言語確率はＰ（ｋ）＝（１−γ）Ｗ￣k−γＰ0（ｋ）として求めることができる。ここで、重みγの範囲は０＜γ＜１である。なお、事前生起確率は、多数の利用者の入力頻度、人口などの情報に基づいて予め各単語ごとに決定しておく。
【００５４】
以上の説明から明らかなように、本実施形態によれば、過去に入力された各認識対象語の頻度情報と各認識対象語に関する位置情報を用いて計算された各認識対象単語の重みに、各認識対象単語の事前生起確率が考慮される。こにより、利用者がほとんど入力しない地域の名称であっても知名度の高いものについては認識されにくくならないようにすることができる。
【００５５】
（第３の実施形態）
第１の実施形態では、各認識対象語に関する位置情報を用いて重みを更新していた。すなわち、重み更新のための周辺の単語群を当該単語ごとに決定する必要があり、更に当該単語と周辺の単語群との距離に応じた重みを適用する場合には、単語間の距離を計算する必要があった。本実施形態では、単語間の距離を予め計算しておくことによって、重み更新時に周辺の単語群もしくは単語間の距離を求める処理を行わなくて済む方法を説明する。
【００５６】
各認識対象単語の位置情報が分かれば、前述の矩形領域、円領域など任意の領域において当該単語に対する周辺単語の単語セットを周辺単語群テーブルとして予め求めることが可能である。図１４は、周辺単語群テーブルの例を示しており、この例では、各単語ＩＤに対して、周辺領域に存在する単語数およびその単語ＩＤが保持されている。このテーブルの情報を図５の経度および緯度情報の代わりに保持したものを位置・頻度テーブル１１４とすれば、式（１）の計算で必要な領域内の単語群の決定処理は、単純なテーブル参照によって行うことが可能となる。
【００５７】
図１５は、図１４の周辺単語群テーブルにおいて、当該単語と周辺単語の距離情報も合わせて保持した場合の周辺単語群テーブルの例である。このテーブルの情報を図５の経度および緯度情報の代わりに保持したものを位置、頻度テーブル１１４とすれば、周辺領域が円領域の場合には、式（４）の計算で必要な領域内の単語群の決定および単語間距離の計算処理は、単純なテーブル参照によって行うことが可能となる。
【００５８】
上記の図１４もしくは図１５のテーブルを用いた処理は、周辺単語を求める領域が予め決まっている場合にのみ適用可能である。すなわち、矩形領域における２ＲXおよび２ＲY、円領域における半径が頻度や重みの更新によらず一定の場合である。これらの領域が変化する場合には、領域の変化に応じて領域内に含まれる周辺単語群が変化する。このような場合には、図１６に示されるような全単語間の距離テーブルを用いればよい。なお、周辺領域が矩形領域で、かつ式（４）を用いて重みを計算する場合には、単語間の距離のみでは領域内に含まれるか否かを決定することができないため、図１６の情報に加えて、経度、緯度情報を保持しておく必要がある。
【００５９】
ところで、図１６のように全単語間の距離をテーブルとして保持する場合には、テーブルのサイズが膨大になるという問題が生じ得る。これを解決する方法として、図１７に示すように、単語をノードとみなし、近傍の単語間をリンクでつなぎ、このリンクに単語間の距離を保持するようなグラフ表現を用いることが考えられる。図１７（ａ）はグラフ表現の概念図であり、同図（ｂ）は内部データ表現の例である。（ｂ）において、Ｗはノードの情報を表し、単語ＩＤが割り当てられている。また、Ｌはリンクのインデックスであり、ＳとＥはリンクがつながっているノード番号を表している。この例では、ノード番号が小さい方をＳに、大きい方をＥに割り当てている。また、ｄはリンクの長さ、すなわち単語間距離である。このグラフデータを用いれば、近傍でない単語間の距離、例えば、単語１と単語３の距離は、リンクの総距離、すなわち、Ｌ＝３とＬ＝４の距離の総和として、ｄ＝25.0＋20.0＝45.0と近似的に求めることができる。このように、近似的な距離を用いることによって、図１６のような構造のテーブルに比べてデータサイズを大幅に低減し、かつ全ての単語間距離を考慮することが可能となる。なお、単語間距離を求める際に、複数のパスが存在する場合には、最も距離の小さいパスから得られる総距離を単語間距離とする。
【００６０】
（第４の実施形態）
これまで説明した実施形態では、距離は、経度、緯度など空間的な２点間の直線距離として説明を行っていたが、本発明はこれに限らず、任意の物理量を距離として定義することが可能である。例えば、駅間の線路の長さ、都市間の幹線道路の距離、２点間を移動する際に要する時間などを距離として定義してもよい。
【００６１】
（その他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００６２】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【００６３】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
【００６４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６５】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６９】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施形態における音声認識装置の構成を示すブロック図である。
【図２】本発明の実施形態における音声認識プログラムのモジュール構成を示すブロック図である。
【図３】本発明の実施形態における音声認識処理を示すフローチャートである。
【図４】音声認識辞書の構造例を示す図である。
【図５】位置・頻度テーブルの構造例を示す図である。
【図６】単語ごとに重みを計算する際の計算方法を説明する概念図である
【図７】単語ｉに対する矩形領域およびその矩形領域に含まれる単語群ｕiの例を示す図である。
【図８】単語ｉに対する矩形領域内の単語群ｕiの頻度の例を示す図である。
【図９】単語ｊに対する矩形領域内の単語群ｕjの頻度の例を示す図である。
【図１０】単語間距離ｄに対する重みＤを決定する関数の例を示す図である。
【図１１】キーボード、マウス、ペンなど他の入力手段を用いて頻度と重み情報を更新する場合の音声認識プログラムのモジュール構成を示すブロック図である。
【図１２】２種類の言語尤度を保持する音声認識辞書の構造例を示す図である。
【図１３】２種類の頻度情報を保持する位置・頻度テーブルの構造例を示す図である。
【図１４】周辺単語群テーブルの例を示す図である。
【図１５】距離情報付きの周辺単語群テーブルの例を示す図である。
【図１６】単語間の距離テーブルの例を示す図である。
【図１７】単語間の距離をグラフ表現した例を示す図である。
【図１】
2005173390.tif 000007
【図２】
2005173390.tif 000008
【図３】
2005173390.tif 000009
【図４】
2005173390.tif 000010
【図５】
2005173390.tif 000011
【図６】
2005173390.tif 000012
【図７】
2005173390.tif 000013
【図８】
2005173390.tif 000014
【図９】
2005173390.tif 000015
【図１０】
2005173390.tif 000016
【図１１】
2005173390.tif 000017
【図１２】
2005173390.tif 000018
【図１３】
2005173390.tif 000019
【図１４】
2005173390.tif 000020
【図１５】
2005173390.tif 000021
【図１６】
2005173390.tif 000022
【図１７】
2005173390.tif 000023