(57)【特許請求の範囲】
【請求項１】
文章に含まれる単語と該単語の文章内の位置を示す位置情報とを記憶する記憶部と、
入力された音声信号と、前記記憶部に記憶された複数の単語を接続した文字列の読み情報とを比較して、類似度を算出する第一の算出部と、
前記記憶部に記憶された各単語の位置情報に基づいて、接続した複数の単語間の近さを示す接続スコアを算出する第二の算出部と、
前記類似度および前記接続スコアに基づいて、前記音声信号に対応する文字列を決定する決定部と
を有し、
前記第二の算出部は、２つの単語が接続された文字列の先頭側の第一の単語と末尾側の第二の単語において、
前記第一の単語が前記第二の単語よりも文章中で先頭側に位置し、かつ、前記第一の単語と前記第二の単語とが文章中で隣接している場合に、第一の値を前記接続スコアとして算出し、
前記第一の単語が前記第二の単語よりも文章中で末尾側に位置している場合に、前記第一の値よりも低い第二の値を前記接続スコアとして算出し、
前記第一の単語が前記第二の単語よりも文章中で先頭側に位置し、かつ、前記第一の単語と前記第二の単語とが文章中で隣接していない場合に、前記第一の値と前記第二の値の間の値であって、前記第一の単語と前記第二の単語とが文章中で近い位置にあるほど高い値となる第三の値を接続スコアとして算出することを特徴とする認識装置。
【請求項２】
前記記憶部は、さらに、複数の単語が結合された単語列と該単語列の文章内の位置を示す位置情報とを記憶し、
前記第一の算出部は、さらに、前記単語列を単語として、前記類似度を算出し、
前記第二の算出部は、さらに、前記単語列を単語として、前記接続スコアを算出する
ことを特徴とする請求項１に記載の認識装置。
【請求項３】
前記記憶部は、さらに、前記文章に含まれる文に対応させて該文を識別するための識別情報を記憶し、
前記第二の算出部は、前記記憶部に記憶された各単語の位置情報および識別情報に基づいて、文ごとに、接続した複数の単語間の近さを示す接続スコアを算出する
ことを特徴とする請求項１または２に記載の認識装置。 
【請求項４】
前記記憶部は、さらに、第一の単語に第二の単語が接続される可能性を示す情報を記憶し、
前記第二の算出部は、さらに、前記記憶部に記憶された第一の単語に第二の単語が接続される可能性を示す情報に基づいて、前記接続スコアを補正する
ことを特徴とする請求項１、２、３のいずれか一つに記載の認識装置。 
【請求項５】
前記記憶部は、さらに、接続される複数の単語のそれぞれの品詞の組み合わせの適否にかかる情報を記憶し、
前記第二の算出部は、さらに、前記記憶部に記憶された接続される複数の単語のそれぞれの品詞の組み合わせの適否にかかる情報に基づいて、前記接続スコアを補正する
ことを特徴とする請求項１〜４のいずれか一つに記載の認識装置。 
【請求項６】
コンピュータに、
入力された音声信号と、文章に含まれる単語と該単語の文章内の位置を示す位置情報とを記憶する記憶部に記憶された複数の単語を接続した文字列の読み情報とを比較して、類似度を算出し、
前記記憶部に記憶された各単語の位置情報に基づいて、接続した複数の単語間の近さを示す接続スコアを算出し、
前記類似度および前記接続スコアに基づいて、前記音声信号に対応する文字列を決定する
各処理を実行させ、
前記接続スコアを算出する処理は、２つの単語が接続された文字列の先頭側の第一の単語と末尾側の第二の単語において、
前記第一の単語が前記第二の単語よりも文章中で先頭側に位置し、かつ、前記第一の単語と前記第二の単語とが文章中で隣接している場合に、第一の値を前記接続スコアとして算出し、
前記第一の単語が前記第二の単語よりも文章中で末尾側に位置している場合に、前記第一の値よりも低い第二の値を前記接続スコアとして算出し、
前記第一の単語が前記第二の単語よりも文章中で先頭側に位置し、かつ、前記第一の単語と前記第二の単語とが文章中で隣接していない場合に、前記第一の値と前記第二の値の間の値であって、前記第一の単語と前記第二の単語とが文章中で近い位置にあるほど高い値となる第三の値を接続スコアとして算出することを特徴とする認識プログラム。 
【請求項７】
コンピュータが、
入力された音声信号と、文章に含まれる単語と該単語の文章内の位置を示す位置情報とを記憶する記憶部に記憶された複数の単語を接続した文字列の読み情報とを比較して、類似度を算出し、
前記記憶部に記憶された各単語の位置情報に基づいて、接続した複数の単語間の近さを示す接続スコアを算出し、
前記類似度および前記接続スコアに基づいて、前記音声信号に対応する文字列を決定する
処理を実行し、
前記接続スコアを算出する処理は、２つの単語が接続された文字列の先頭側の第一の単語と末尾側の第二の単語において、
前記第一の単語が前記第二の単語よりも文章中で先頭側に位置し、かつ、前記第一の単語と前記第二の単語とが文章中で隣接している場合に、第一の値を前記接続スコアとして算出し、
前記第一の単語が前記第二の単語よりも文章中で末尾側に位置している場合に、前記第一の値よりも低い第二の値を前記接続スコアとして算出し、
前記第一の単語が前記第二の単語よりも文章中で先頭側に位置し、かつ、前記第一の単語と前記第二の単語とが文章中で隣接していない場合に、前記第一の値と前記第二の値の間の値であって、前記第一の単語と前記第二の単語とが文章中で近い位置にあるほど高い値となる第三の値を接続スコアとして算出することを特徴とする認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識装置、認識プログラム、認識方法、生成装置、生成プログラムおよび生成方法に関する。
【背景技術】
【０００２】
ファイルやウェブページに含まれるテキストを用いて、入力された音声を認識する装置がある。かかる装置の一例としては、入力された音声を示す音声信号とテキストに含まれる単語や単語が接続された文字列との類似度を算出し、算出した類似度が閾値を超える場合の単語または文字列を音声信号に対応する単語または文字列として決定する装置が挙げられる。
【０００３】
また、テキストを用いて、入力された音声を認識する装置の他の例としては、テキストに含まれる単語の全ての接続パターンを生成し、生成した接続パターンを、音声を認識する際に用いられる辞書に登録することで、辞書を生成する装置が挙げられる。辞書を生成する装置は、辞書に登録された接続パターンと、入力された音声を示す音声信号とを比較して、音声認識を行う。なお、辞書を生成する装置は、テキストに含まれる単語の個数がｎ個である場合には、１からｎまでの和の個数分の接続パターンを生成する。
【０００４】
さらに、テキストを用いて、入力された音声を認識する装置の他の例としては、Ｎグラムにより言語モデルを再学習する装置が挙げられる。この言語モデルを再学習する装置は、コーパスから学習した言語モデルに対して、テキストに存在する、単語が接続された単語列について、接続された単語の確率を高くする。この際、言語モデルを再学習する装置は、テキストに存在する単語数のＮ乗の個数のパターンを生成し、生成したパターンを用いて、言語モデルに対して、接続された単語の確率を高くする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−４１０８１号公報
【特許文献２】特開２００２−３４２３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の装置では、精度良く音声の認識ができないという問題がある。具体例を挙げて説明すると、上述した辞書を生成する装置では、接続パターンとして辞書に登録されていない音声が入力された場合には、入力された音声の認識結果の精度が低くなる。これは、辞書に登録されている接続パターンには、テキストに含まれる隣接する単語の組み合わせのパターンが含まれるが、テキストに含まれる単語であっても、隣接しない単語の組み合わせのパターンが含まれないからである。
【０００７】
なお、上述した言語を再学習する装置では、テキストに存在する単語数のＮ乗の個数のパターンを生成するため、生成するパターンの情報量が多いという問題がある。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、精度良く音声の認識を行うことができる認識装置、認識プログラム、認識方法、生成装置、生成プログラムおよび生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する認識装置は、一つの態様において、記憶部と、第一の算出部と、第二の算出部と、決定部とを有する。記憶部は、文章に含まれる単語と単語の文章内の位置を示す位置情報とを記憶する。第一の算出部は、入力された音声信号と、記憶部に記憶された複数の単語を接続した文字列の読み情報とを比較して、類似度を算出する。第二の算出部は、記憶部に記憶された各単語の位置情報に基づいて、接続した複数の単語間の近さを示す接続スコアを算出する。決定部は、類似度および接続スコアに基づいて、音声信号に対応する文字列を決定する。
【発明の効果】
【００１０】
本願の開示する認識装置の一つの態様によれば、精度良く音声の認識を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る認識装置および生成装置を有するシステムの構成の一例を示す図である。
【図２】図２は、実施例１に係る生成装置の機能構成の一例を示す図である。
【図３】図３は、辞書の一例を示す図である。
【図４】図４は、実施例１に係る認識装置の機能構成の一例を示す図である。
【図５】図５は、実施例１に係る生成処理の手順を示すフローチャートである。
【図６】図６は、実施例１に係る認識処理の手順を示すフローチャートである。
【図７】図７は、実施例２に係る生成装置の機能構成の一例を示す図である。
【図８】図８は、辞書の一例を示す図である。
【図９】図９は、実施例２に係る認識装置の構成の一例を示す図である。
【図１０】図１０は、実施例２に係る生成処理の手順を示すフローチャートである。
【図１１】図１１は、実施例２に係る認識処理の手順を示すフローチャートである。
【図１２】図１２は、実施例３に係る認識装置の構成の一例を示す図である。
【図１３】図１３は、言語モデルの一例を示す図である。
【図１４】図１４は、単語辞書の一例を示す図である。
【図１５】図１５は、実施例３に係る認識処理の手順を示すフローチャートである。
【図１６】図１６は、実施例４に係る生成装置の構成の一例を示す図である。
【図１７】図１７は、品詞番号表の一例を示す図である。
【図１８】図１８は、辞書の一例を示す図である。
【図１９】図１９は、実施例４に係る認識装置の構成の一例を示す図である。
【図２０】図２０は、確率表の一例を示す図である。
【図２１】図２１は、実施例４に係る生成処理の手順を示すフローチャートである。
【図２２】図２２は、実施例４に係る認識処理の手順を示すフローチャートである。
【図２３】図２３は、生成プログラムを実行するコンピュータを示す図である。
【図２４】図２４は、認識プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する認識装置、認識プログラム、認識方法、生成装置、生成プログラムおよび生成方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
実施例１に係る認識装置および生成装置について説明する。図１は、実施例１に係る認識装置および生成装置を有するシステムの構成の一例を示す図である。本実施例に係るシステム１は、生成装置１０と、認識装置２０とを有する。生成装置１０と、認識装置２０とは、ネットワーク３０を介して接続されている。生成装置１０と、認識装置２０とは、通信可能である。なお、図１の例では、システム１に、生成装置１０および認識装置２０が各々１台の場合が示されているが、生成装置１０および認識装置２０の台数はこれに限られない。例えば、生成装置１０および認識装置２０のそれぞれの台数は、複数台であってもよい。
【００１４】
生成装置１０は、文章に含まれる単語と、単語の文章内の位置を示す位置情報とが対応付けられて登録された辞書を生成する。例えば、生成装置１０は、まず、入力されたテキストファイルが示す文章を単語ごとに分割する。かかる文章は、テキストとも称される。そして、生成装置１０は、分割された単語の文章内の位置を示す位置情報を生成する。続いて、生成装置１０は、単語と、単語の文章内の位置を示す位置情報とが対応付けられて登録された辞書を生成する。そして、生成装置１０は、生成した辞書を認識装置２０へ送信する。
【００１５】
認識装置２０は、生成装置１０から送信された辞書を受信する。そして、認識装置２０は、入力された音声信号と、辞書に登録された複数の単語を接続した文字列の読み情報とを比較して、類似度を算出する。続いて、認識装置２０は、辞書に登録された各単語の位置情報に基づいて、接続した複数の単語間の近さを示す接続スコアを算出する。そして、認識装置２０は、類似度および接続スコアに基づいて、入力された音声信号に対応する文字列を決定する。続いて、認識装置２０は、決定した文字列を出力する。
【００１６】
このように、認識装置２０は、類似度を算出する際に用いられる文字列の複数の単語間の近さを示す接続スコアを算出する。例えば、認識装置２０は、類似度を算出する際に用いられる文字列の複数の単語間が近いほど、値が大きくなるような接続スコアを算出する。そして、認識装置２０は、類似度だけでなく、接続スコアをも加味して、入力された音声信号に対応する文字列を決定する。例えば、認識装置２０は、類似度と接続スコアとを加算した値のうち、閾値を超えた値に対応する文字列を、入力された音声信号に対応する文字列として決定する。そのため、認識装置２０は、文章に含まれる複数の単語であって、文章内で隣接しない複数の単語を接続した文字列を発話者が発話して、音声信号として入力された場合であっても、発話者が発話した音声を認識することができる。したがって、認識装置２０によれば、精度良く音声の認識を行うことができる。
【００１７】
また、生成装置１０は、上述したように精度良く音声の認識を行うことが可能な辞書を生成することができる。
【００１８】
［生成装置の機能構成の一例］
図２は、実施例１に係る生成装置の機能構成の一例を示す図である。図２の例では、生成装置１０は、入力部１１と、出力部１２と、通信部１３と、記憶部１４と、制御部１５とを有する。
【００１９】
入力部１１は、各種情報を制御部１５に入力する。例えば、入力部１１は、ユーザから、他の装置から所定の話題に関する文章を含むテキストファイルを取得する指示を受け付け、受け付けた指示を制御部１５に入力する。入力部１１のデバイスの一例としては、マウスやキーボードなどが挙げられる。
【００２０】
出力部１２は、各種情報を出力する。例えば、出力部１２は、制御部１５から画像が入力された場合には、画像を表示出力する。出力部１２のデバイスの一例としては、ＣＲＴ（Cathode  Ray  Tube）や液晶ディスプレイなどが挙げられる。
【００２１】
通信部１３は、認識装置２０および外部の装置と通信を行うためのネットワークインターフェースである。例えば、通信部１３は、外部の装置へ所定の話題に関する文章を含むテキストファイルを生成装置１０へ送信する旨の指示を制御部１５から受信すると、受信した指示をネットワーク３０を介して外部の装置へ送信する。また、通信部１３は、外部の装置からテキストファイルを受信すると、受信したテキストファイルを、制御部１５へ送信する。
【００２２】
記憶部１４は、テキストファイル１４ａと、辞書１４ｂとを記憶する。
【００２３】
テキストファイル１４ａは、後述する取得部１５ａにより記憶部１４に格納される。テキストファイルは、文章を示す。テキストファイル１４ａは、発話者が発話する音声を認識する際に用いられる後述の辞書１４ｂを生成する際に用いられる。したがって、発話者が発話する内容に合ったテキストファイル１４ａが記憶部１４に記憶されることが好ましい。例えば、発話者が天気に関する内容を発話する場合には、テキストファイルに含まれる文章の内容が天気に関する内容であることが好ましい。
【００２４】
辞書１４ｂは、後述する生成部１５ｃにより生成され、後述する格納部１５ｄにより記憶部１４に格納される。
【００２５】
図３は、辞書の一例を示す図である。図３の例では、辞書１４ｂは、「表記」の項目、「読み情報」の項目、「位置情報」の項目を有する。「表記」の項目には、入力されたテキストファイルが示す文章に含まれる単語、および、複数の単語を結合した単語列が登録される。また、「読み情報」の項目には、「表記」の項目に登録された単語または単語列の読み方、すなわち、単語または単語列のひらがなの表記が登録される。「位置情報」の項目には、「表記」の項目に登録された単語または単語列の文章内での位置を示す位置情報が登録される。これらの各項目の内容は、生成部１５ｃによって生成される。
【００２６】
図３の例は、一番目のレコードに、テキストファイルが示す文章「衆議院で改正法が審議入り。山川総理が法案を通したいと言及」に含まれる単語「衆議院」が「表記」の項目に登録された場合を示す。また、図３の例は、一番目のレコードに、衆議院の読み方「しゅうぎいん」が「読み情報」の項目に登録された場合を示す。また、図３の例は、一番目のレコードに、単語「衆議院」の文章内での位置を示す位置情報「０」が、「位置情報」の項目に登録された場合を示す。
【００２７】
また、図３の例は、二番目のレコードに、テキストファイルが示す文章「衆議院で改正法が審議入り。山川総理が法案を通したいと言及」に含まれる単語「衆議院」と単語「で」とを結合した単語列「衆議院で」が「表記」の項目に登録された場合を示す。また、図３の例は、二番目のレコードに、「衆議院で」の読み方「しゅうぎいんで」が「読み情報」の項目に登録された場合を示す。また、図３の例は、二番目のレコードに、単語列「衆議院で」の文章内での位置を示す位置情報「１」が、「位置情報」の項目に登録された場合を示す。
【００２８】
記憶部１４は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１４は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２９】
制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１５は、取得部１５ａと、分割部１５ｂと、生成部１５ｃと、格納部１５ｄとを有する。
【００３０】
取得部１５ａは、他の装置から所定の話題に関する文章を含むテキストファイル１４ａを取得する指示を入力部１１から受け付けると、図示しない外部の装置へかかるテキストファイル１４ａを生成装置１０へ送信する旨の指示を通信部１３へ送信する。これにより、外部の装置から、所定の話題に関する文章を含むテキストファイル１４ａが生成装置１０へ送信される。そのため、取得部１５ａは、外部の装置から、所定の話題に関する文章を含むテキストファイル１４ａを取得することができる。そして、取得部１５ａは、取得したテキストファイル１４ａを記憶部１４に格納する。
【００３１】
分割部１５ｂは、テキストファイル１４ａが示す文章を単語ごとに分割する。例えば、分割部１５ｂは、形態素解析を行うためのソフトウェア「ＣｈａＳｅｎ（茶筌）」、「ＭｅＣａｂ（和布蕪）」などを用いて、テキストファイル１４ａが示す文章に対して形態素解析を行い、形態素ごとに分割する。そして、分割部１５ｂは、分割された各形態素のそれぞれを単語とみなすことで、文章を単語ごとに分割することができる。以下では、形態素を単語とみなす場合を例に挙げて説明するが、複数の形態素、例えば、語幹、活用語尾、助動詞などの３つの形態素を１つの単語とみなしてもよい。例えば、３つの形態素が、語幹「通」、活用語尾「し」、助動詞「たい」である場合には、「通したい」を１つの単語とみなすことができる。また、分割部１５ｂは、上述したソフトウェア「ＣｈａＳｅｎ（茶筌）」、「ＭｅＣａｂ（和布蕪）」などを用いることで、単語ごとの読み情報を得ることができる。すなわち、分割部１５ｂは、文章を単語ごとに分割し、単語の読み情報を取得する。分割部１５ｂにより得られた単語の総数がＭ個である場合には、文章の先頭の単語は、１番目の単語であり、文章の最後の単語は、Ｍ番目の単語となる。
【００３２】
例えば、テキストファイル１４ａが示す文章が、「衆議院で改正法が審議入り。山川総理が法案を通したいと言及」である場合には、分割部１５ｂは、「衆議院で改正法が審議入り。」の部分について、次のように、単語ごとに分割し、単語の読み情報を取得する。すなわち、分割部１５ｂは、「衆議院＋しゅうぎいん／で＋で／改正法＋かいせいほう／が＋が／審議入り＋しんぎいり。」というように、文章を単語ごとに分割し、単語の読み情報を取得する。ここで、「／」は、単語の区切り位置を示す記号であり、「＋」は、単語と単語に対応する読み情報とを接続する記号である。また、分割部１５ｂは、「山川総理が法案を通したいと言及」の部分について、次のように、単語ごとに分割し、単語の読み情報を取得する。すなわち、分割部１５ｂは、「山川＋やまかわ／総理＋そうり／が＋が／法案＋法案／を＋を／通＋とお／し＋し／たい＋たい」というように、文章を単語ごとに分割し、単語の読み情報を取得する。
【００３３】
生成部１５ｃは、分割部１５ｂにより分割された単語の文章内の位置を示す位置情報を生成する。これに加えて、生成部１５ｃは、単語のそれぞれについて、その単語に続く１個から（Ｎ−１）個の単語までのそれぞれの単語列を生成する。そして、生成部１５ｃは、単語列の文章内の位置を示す位置情報を生成する。
【００３４】
具体例を挙げて説明する。例えば、生成部１５ｃは、まず、位置情報ｎ、変数ｉ、変数ｊの各値を初期化する。すなわち、生成部１５ｃは、位置情報ｎの値を０、変数ｉの値を１、変数ｊの値を０に設定する。そして、生成部１５ｃは、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列を生成する。なお、ｊ＝０の場合は、ｉ番目の単語を単語列とみなして下記の処理を行う。また、（ｉ＋ｋ；ｋ≦ｊ）番目の単語が存在しない場合には、生成部１５ｃは、（ｉ＋ｋ）番目の単語を空欄として扱って、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列を生成する。
【００３５】
そして、生成部１５ｃは、格納部１５ｄにより新たに生成された単語列と、読み情報と、位置情報ｎの値とが辞書１４ｂに登録された場合に、変数ｊの値を１つインクリメントし、変数ｎの値を１つインクリメントする。そして、生成部１５ｃは、変数ｊの値が、単語列に結合する単語の数の最大値である最大結合数Ｎよりも小さいか否かを判定する。小さい場合には、生成部１５ｃは、再び、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列を生成し、上記で説明した処理と同様の処理を行う。
【００３６】
一方、変数ｊの値が、最大結合数Ｎ以上である場合には、生成部１５ｃは、変数ｉの値を１つインクリメントし、変数ｊの値を０に設定する。続いて、生成部１５ｃは、変数ｉの値が、分割部１５ｂにより得られた単語の総数である総単語数Ｍ以下であるか否かを判定する。変数ｉの値が総単語数Ｍ以下である場合には、生成部１５ｃは、再び、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列を生成し、上記で説明した処理と同様の処理を行う。
【００３７】
格納部１５ｄは、単語および単語列と、対応する読み情報と、対応する位置情報ｎとを対応付けて記憶部１４に格納する。具体例を挙げて説明する。例えば、格納部１５ｄは、生成部１５ｃにより、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列が生成された場合に、次のような処理を行う。すなわち、格納部１５ｄは、新たに生成された単語列と、新たに生成された単語列に対応する読み情報と、位置情報ｎの値とを、それぞれ、辞書１４ｂの「表記」、「読み情報」、「位置情報」の各項目に登録する。なお、格納部１５ｄは、新たに生成された単語列中の単語に、句点「。」が含まれる場合や、空欄がある場合には、単語列と読み情報と位置情報ｎの値とを辞書１４ｂへ登録する処理を省略できる。これは、単語列中の単語に、句点「。」が含まれる場合や、空欄がある場合には、その単語列は、音声を認識する際の音声との比較対象として不適切であるという理由による。したがって、格納部１５ｄによれば、辞書１４ｂを生成する速度が速くなる。また、格納部１５ｄによれば、より少ない情報量の辞書１４ｂを生成することができる。
【００３８】
以上説明したように、生成部１５ｃおよび格納部１５ｄなどによって、辞書１４ｂが生成される。例えば、テキストファイル１４ａが示す文章が「衆議院で改正法が審議入り。山川総理が法案を通したいと言及」である場合には、図３の例に示すような辞書１４ｂが生成される。図３の例では、最大結合数Ｎの値は３である。また、図３の例では、句点や空欄を示す単語が含まれる単語列も辞書１４ｂに登録されているように示されている。しかしながら、これは説明の便宜上のためである。図３の例では、句点や空欄を示す単語が含まれる単語列にかかるレコードについては、「表記」の項目に登録された単語列の先頭部分に「（」の記号が付加されており、「（」の記号が付加された単語列にかかるレコードは、辞書１４ｂには登録されない。すなわち、格納部１５ｃは、総単語数Ｍ×最大結合数Ｎ−Σｎ（ｎ＝１、２、・・・、Ｎ−１）の個数程度のレコードを辞書１４ｂに登録するため、少ない情報量の辞書１４ｂを生成することができる。
【００３９】
なお、最大結合数Ｎの値は、音声を認識する認識装置２０にとって、認識精度が良好となる読みの長さに合わせるのが好ましい。例えば、認識精度が良好となる読みの長さが８音節であり、単語の平均音節長が３である場合には、８／３＝２．６・・となるので、最大結合数Ｎの値として２または３を用いるのが好ましい。以下の説明では、最大結合数Ｎの値が３である場合について説明するが、最大結合数Ｎの値はこれに限られない。
【００４０】
また、格納部１５ｄは、認識装置２０から辞書１４ｂの送信要求を受信すると、記憶部１４から辞書１４ｂを読み込み、辞書１４ｂを通信部１３に送信する。辞書１４ｂを受信した通信部１３は、辞書１４ｂをインターネット３０を介して、認識装置２０へ送信する。
【００４１】
制御部１５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００４２】
［認識装置の機能構成の一例］
図４は、実施例１に係る認識装置の機能構成の一例を示す図である。図４の例では、認識装置２０は、音声入力部２１と、出力部２２と、通信部２３と、記憶部２４と、制御部２５とを有する。
【００４３】
音声入力部２１は、ユーザなどの発話者によって発話された音声をＡ／Ｄ変換して、音声信号として制御部２５に入力する。音声入力部２１のデバイスの一例としては、マイクロフォンなどが挙げられる。
【００４４】
出力部２２は、各種情報を出力する。例えば、出力部２２は、制御部２５から音声認識結果の文字列を示す画像が入力された場合には、かかる画像を表示する。出力部２２のデバイスの一例としては、ＣＲＴ（Cathode  Ray  Tube）や液晶ディスプレイなどが挙げられる。
【００４５】
通信部２３は、生成装置１０と通信を行うためのネットワークインターフェースである。例えば、通信部２３は、制御部２５から、生成装置１０に対して認識装置２０に辞書１４ｂを送信する旨の送信要求を受信すると、かかる送信要求をネットワーク３０を介して生成装置１０へ送信する。また、通信部２３は、生成装置１０から辞書１４ｂを受信すると、受信した辞書１４ｂを制御部２５へ送信する。
【００４６】
記憶部２４は、辞書１４ｂと、文字列２４ａを記憶する。
【００４７】
辞書１４ｂは、生成装置１０から取得され、後述する第一の算出部２６ａにより記憶部２４に格納される。また、文字列２４ａは、音声認識の結果、入力された音声信号に対応する文字列として後述する決定部２６ｃにより決定され、後述する出力部２７により記憶部２４に格納される。
【００４８】
また、記憶部２４は、辞書１４ｂの「読み情報」の項目に登録された読み情報に対応する、隠れマルコフモデルなどの音響モデルを記憶する。音声を認識して類似度（確率値）などを算出する際には、この音響モデルと、音声信号との比較が行われる。
【００４９】
記憶部２４は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２４は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００５０】
制御部２５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２５は、照合部２６と、出力部２７とを有する。
【００５１】
照合部２６は、入力された音声信号と、辞書１４ｂに登録された読み情報の複数の組み合わせに対応する音響モデルの複数の組み合わせのそれぞれとを比較し、類似度を音響モデルの組み合わせごとに算出する。なお、「読み情報の組み合わせ」とは、読み情報が１つである場合には、その読み情報を指し、読み情報が複数である場合には、読み情報を順番に並べて、各読み情報を接続した場合の文字列を指す。並べる順番を入れ替えることで様々な読み情報の組み合わせが可能である。「音響モデルの組み合わせ」についても同様である。また、照合部２６は、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、照合部２６は、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する。そして、照合部２６は、複数の算出された和のうち、閾値を超え、かつ、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する。照合部２６によれば、文章に含まれる複数の単語であって、文章内で隣接しない複数の単語を接続した文字列を発話者が発話して、音声信号として入力された場合であっても、発話者が発話した音声を認識することができる。したがって、照合部２６によれば、精度良く音声の認識を行うことができる。
【００５２】
照合部２６は、第一の算出部２６ａと、第二の算出部２６ｂと、決定部２６ｃとを有する。
【００５３】
第一の算出部２６ａは、入力された音声信号と、辞書１４ｂに登録された複数の単語および単語列を接続した文字列の読み情報に対応する音響モデルとを比較して、類似度を算出する。
【００５４】
具体例を挙げて説明する。例えば、第一の算出部２６ａは、認識装置２０に備えられたキーボードやマウスなどの操作受付装置（図示せず）を介して、ユーザから認識処理を実行する旨の指示を受信した場合に、次のような処理を行う。すなわち、第一の算出部２６ａは、生成装置１０に対して認識装置２０に辞書１４ｂを送信する旨の送信要求を通信部２３へ送信する。続いて、第一の算出部２６ａは、生成装置１０から辞書１４ｂを受信したか否かを判定する。辞書１４ｂを受信した場合には、第一の算出部２６ａは、受信した辞書１４ｂを記憶部２４へ格納する。
【００５５】
その後、第一の算出部２６ａは、音声入力部２１を介して音声信号を受信したか否かを判定する。音声信号を受信した場合には、第一の算出部２６ａは、音声信号をフレームごとに分割する。そして、第一の算出部２６ａは、全てのフレームに対して、下記で説明する処理を行ったか否かを判定する。未処理のフレームがある場合には、第一の算出部２６ａは、未処理のフレームに対して、辞書１４ｂに登録された読み情報の組み合わせを複数生成し、生成された複数の組み合わせのそれぞれに対応する音響モデルの組み合わせを生成する。
【００５６】
そして、第一の算出部２６ａは、フレームと、音響モデルの複数の組み合わせのそれぞれとを比較し、音響モデルの組み合わせごとに類似度を算出する。
【００５７】
第二の算出部２６ｂは、辞書１４ｂを参照し、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、第二の算出部２６ｂは、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する。
【００５８】
第二の算出部２６ｂが行う接続スコアの算出方法の一例について説明する。ここでは、先の図３の例に示す辞書１４ｂが記憶部２４に記憶された場合を想定する。第二の算出部２６ｂは、第一の算出部２６ａで類似度を算出する際に、音声信号との比較に用いられた音響モデルの組み合わせを全て特定する。そして、第二の算出部２６ｂは、辞書１４ｂを参照し、特定した音響モデルのそれぞれについて、対応する読み情報の組み合わせを特定する。続いて、第二の算出部２６ｂは、辞書１４ｂを参照し、組み合わされた各読み情報に対応する位置情報を、特定した全ての読み情報の組み合わせごとに取得する。
【００５９】
その後、第二の算出部２６ｂは、組み合わされた各読み情報に対応する位置情報が示す値が、先頭から昇順であるか否かを判定する。例えば、組み合わされた各読み情報が、「しゅうぎいん」、「で」、「かいせいほう」である場合には、図３の例に示す辞書１４ｂに登録された位置情報がそれぞれ「０」、「３」、「６」であるため、第二の算出部２６ｂは、昇順であると判定する。また、組み合わされた各読み情報が、「しゅうぎいんで」、「で」、「かいせいほう」である場合には、図３の例に示す辞書１４ｂに登録された位置情報がそれぞれ「１」、「３」、「６」であるため、第二の算出部２６ｂは、昇順であると判定する。また、組み合わされた各読み情報が、「しゅうぎいん」、「かいせいほう」、「で」である場合には、図３の例に示す辞書１４ｂに登録された位置情報がそれぞれ「０」、「６」、「３」であるため、第二の算出部２６ｂは、昇順でないと判定する。また、組み合わされた各読み情報が、「しゅうぎいん」、「かいせいほう」、「しんぎいり」である場合には、図３の例に示す辞書１４ｂに登録された位置情報がそれぞれ「０」、「６」、「１３」であるため、第二の算出部２６ｂは、昇順であると判定する。
【００６０】
続いて、第二の算出部２６ｂは、位置情報が示す値が昇順であると判定された組み合わせについて、次のような処理を行う。すなわち、組み合わせされた読み情報のうち、結合された２つの読み情報、すなわち隣接する読み情報について、先頭に近いほうの読み情報に対応する位置情報が示す値を変数ｘに代入し、先頭から遠い方の読み情報に対応する位置情報が示す値を変数ｙに代入する。そして、第二の算出部２６ｂは、下記の式（１）、式（２）に基づいて、Ｘ、Ｙを算出する。
Ｘ＝（ｘ／Ｎ）＋（ｘ％Ｎ）＋１  式（１）
Ｙ＝（ｙ／Ｎ）                  式（２）
【００６１】
ただし、Ｎは、上述した最大結合数である。また、「／」は、小数点以下を切り捨てて商を整数とするための除算演算を意味する。また、「％」は、剰余演算を意味する。
【００６２】
例えば、組み合わされた各読み情報が、「しゅうぎいん」、「で」、「かいせいほう」である場合には、位置情報がそれぞれ「０」、「３」、「６」である。このため、「しゅうぎいん」および「で」の隣接する読み情報について、変数ｘに「０」、変数ｙに「３」が代入されて、Ｘ、Ｙが算出される。さらに、「で」および「かいせいほう」の隣接する読み情報について、変数ｘに「３」、変数ｙに「６」が代入され、Ｘ、Ｙが算出される。また、組み合わされた各読み情報が、「しゅうぎいんで」、「で」、「かいせいほう」である場合には、位置情報がそれぞれ「１」、「３」、「６」である。このため、「しゅうぎいんで」および「で」の隣接する読み情報について、変数ｘに「１」、変数ｙに「３」が代入されて、Ｘ、Ｙが算出される。さらに、「で」および「かいせいほう」の隣接する読み情報について、変数ｘに「３」、変数ｙに「６」が代入され、Ｘ、Ｙが算出される。
【００６３】
第二の算出部２６ｂは、このようにしてＸ、Ｙを算出する処理を、位置情報が示す値が昇順であると判定された組み合わせに含まれる、全ての隣接する読み情報について行う。
【００６４】
続いて、第二の算出部２６ｂは、Ｘ＞Ｙの場合、隣接する読み情報同士で同じ読み情報（読み情報に対応する単語または文字列）が重複して用いられており、これらの隣接する読み情報の組み合わせは適切でないと考えられるため、接続スコアを最低の点数とする。例えば、接続スコアが０〜３０点である場合には、第二の算出部２６ｂは、０点とする。位置情報が「１」、「３」となる「しゅうぎいんで」および「で」が隣接する読み情報として組み合わされた場合、Ｘ＝２、Ｙ＝１となり、「で」の読み情報に対応する単語「で」が重複しているため、第二の算出部２６ｂは、接続スコアを０点とする。
【００６５】
また、第二の算出部２６ｂは、Ｘ＝Ｙの場合、入力されたテキストファイル１４ａが示す文章内で隣接している単語または文字列であるため、これらの読み情報の組み合わせは適切であると考えられるため、接続スコアを最高の点数とする。例えば、接続スコアが０〜３０点である場合には、第二の算出部２６ｂは、３０点とする。位置情報が「０」、「３」となる「しゅうぎいん」および「で」が隣接する読み情報として組み合わされた場合、Ｘ＝Ｙ＝１となり、第二の算出部２６ｂは、接続スコアを３０点とする。また、位置情報が「３」、「６」となる「で」および「かいせいほう」が隣接する読み情報として組み合わされた場合、Ｘ＝Ｙ＝２となり、第二の算出部２６ｂは、接続スコアを３０点とする。
【００６６】
また、Ｘ＜Ｙの場合、Ｙ−Ｘの値が小さいほど、２つの隣接する読み情報に対応する単語または文字列が、テキストファイル１４ａが示す文章内で近い位置に存在すると考えられる。そこで、第二の算出部２６ｂは、Ｙ−Ｘの値が小さいほど、接続スコアが大きくなるように、接続スコアの点数をつける。例えば、接続スコアが０〜３０点である場合には、第二の算出部２６ｂは、ＭＡＸ（０，３０−（Ｙ−Ｘ））とする。ただし、ＭＡＸ（Ａ，Ｂ）は、ＡとＢのうち、大きい値を選択する関数である。
【００６７】
第二の算出部２６ｂは、Ｘ、Ｙが算出された隣接する読み情報の全てについて、同様に、接続スコアを算出する。
【００６８】
なお、第二の算出部２６ｂは、位置情報が昇順である場合についての組み合わせについてのみ接続スコアを算出する場合について例示したが、開示の装置はこれに限られない。例えば、第二の算出部２６ｂは、位置情報が降順である場合には、次のような処理を行ってもよい。すなわち、組み合わせされた読み情報のうち、隣接する読み情報について、先頭に近いほうの読み情報に対応する位置情報が示す値を変数ｙに代入し、先頭から遠い方の読み情報に対応する位置情報が示す値を変数ｘに代入するようにしてもよい。この場合、算出されたＸ、Ｙに対して所定の減点、例えば、３点の減点をするようにして、昇順の場合との接続スコアの点数に差を付けてもよい。このように、昇順だけでなく降順の場合も接続スコアを算出することで、類似度を算出する際に組み合わせられた読み情報に対応する単語または文字列が、テキストファイル１４ａが示す文章内で近い場合には、高い接続スコアの点数が算出される。たとえば、テキストファイル１４ａが示す文章が、「衆議院で改正法が審議入り。山川総理が法案を通したいと言及」である場合に、「山川総理が通したい改正法」といったテキストファイル１４ａが示す文章とは単語の語順が異なるような単語または文字列の組み合わせについても、接続スコアが単語同士の近さに応じて算出される。そのため、発話者が、「山川総理が通したい改正法」と発話した場合であっても、音声認識をすることができる。
【００６９】
決定部２６ｃは、類似度および接続スコアに基づいて、入力された音声信号に対応する文字列を決定する。例えば、決定部２６ｃは、類似度を算出する際に用いられた音響モデルの組み合わせごとに、すなわち、音響モデルの組み合わせに対応する読み情報の組み合わせごとに、対応する類似度と、対応する接続スコアとの和を算出する。そして、決定部２６ｃは、複数の算出された和のうち、閾値を超えた和があるか否かを判定する。閾値を超えた和がある場合には、閾値を超えた和のうち、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する。このようにして、決定部２６ｃは、各フレームに対して、文字列を決定する。
【００７０】
出力部２７は、各フレームに対して決定された文字列を音声の認識結果として画面に表示するように出力部２２に送信する。また、出力部２７は、各フレームに対して決定された文字列を記憶部２４に格納する。なお、記憶部２４に格納された文字列は、上述した、符号「２４ａ」が付された文字列である。
【００７１】
制御部２５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００７２】
［処理の流れ］
次に、本実施例に係る生成装置１０の処理の流れを説明する。図５は、実施例１に係る生成処理の手順を示すフローチャートである。この生成処理は、入力部１１から制御部１５に生成処理を実行する指示が入力された場合に実行される。
【００７３】
図５に示すように、分割部１５ｂは、テキストファイル１４ａが示す文章を単語ごとに分割する（Ｓ１０１）。生成部１５ｃは、位置情報ｎの値を０、変数ｉの値を１、変数ｊの値を０に設定する（Ｓ１０２）。生成部１５ｃは、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列を生成する（Ｓ１０３）。
【００７４】
格納部１５ｄは、新たに生成された単語列と、新たに生成された単語列に対応する読み情報と、位置情報ｎの値とを、それぞれ、辞書１４ｂの「表記」、「読み情報」、「位置情報」の各項目に登録する（Ｓ１０４）。生成部１５ｃは、変数ｊの値を１つインクリメントし、変数ｎの値を１つインクリメントする（Ｓ１０５）。生成部１５ｃは、変数ｊの値が、単語列に結合する単語の数の最大値である最大結合数Ｎよりも小さいか否かを判定する（Ｓ１０６）。小さい場合（Ｓ１０６肯定）には、Ｓ１０３へ戻る。
【００７５】
一方、変数ｊの値が、最大結合数Ｎ以上である場合（Ｓ１０６否定）には、生成部１５ｃは、変数ｉの値を１つインクリメントし、変数ｊの値を０に設定する（Ｓ１０７）。生成部１５ｃは、変数ｉの値が、分割部１５ｂにより得られた単語の総数である総単語数Ｍ以下であるか否かを判定する（Ｓ１０８）。変数ｉの値が総単語数Ｍ以下である場合（Ｓ１０８肯定）には、Ｓ１０３へ戻る。一方、変数ｉの値が総単語数Ｍより大きい場合（Ｓ１０８否定）には、処理を終了する。
【００７６】
次に、本実施例に係る認識装置２０の処理の流れを説明する。図６は、実施例１に係る認識処理の手順を示すフローチャートである。この認識処理は、操作受付部（図示せず）から制御部２５に認識処理を実行する指示が入力された場合に実行される。
【００７７】
図６に示すように、第一の算出部２６ａは、生成装置１０に対して認識装置２０に辞書１４ｂを送信する旨の送信要求を通信部２３へ送信する（Ｓ２０１）。続いて、第一の算出部２６ａは、生成装置１０から辞書１４ｂを受信したか否かを判定する（Ｓ２０２）。辞書１４ｂを受信していない場合（Ｓ２０２否定）には、第一の算出部２６ａは、再び同様の判定を行う。一方、辞書１４ｂを受信した場合（Ｓ２０２肯定）には、第一の算出部２６ａは、受信した辞書１４ｂを記憶部２４へ格納する（Ｓ２０３）。
【００７８】
第一の算出部２６ａは、音声入力部２１を介して音声信号を受信したか否かを判定する（Ｓ２０４）。音声信号を受信していない場合（Ｓ２０４否定）には、第一の算出部２６ａは、再び同様の判定を行う。一方、音声信号を受信した場合（Ｓ２０４肯定）には、第一の算出部２６ａは、音声信号をフレームごとに分割する（Ｓ２０５）。第一の算出部２６ａは、全てのフレームに対して、下記のＳ２０７以降の処理を行ったか否かを判定する（Ｓ２０６）。未処理のフレームが無い場合（Ｓ２０６肯定）には、処理を終了する。一方、未処理のフレームがある場合（Ｓ２０６否定）には、第一の算出部２６ａは、次のような処理を行う。すなわち、第一の算出部２６ａは、未処理のフレームに対して、辞書１４ｂに登録された読み情報の組み合わせを複数生成し、生成された複数の組み合わせのそれぞれに対応する音響モデルの組み合わせを生成する（Ｓ２０７）。
【００７９】
第一の算出部２６ａは、フレームと、音響モデルの複数の組み合わせのそれぞれとを比較し、音響モデルの組み合わせごとに類似度を算出する（Ｓ２０８）。
【００８０】
第二の算出部２６ｂは、辞書１４ｂを参照し、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、第二の算出部２６ｂは、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する（Ｓ２０９）。
【００８１】
決定部２６ｃは、類似度を算出する際に用いられた音響モデルの組み合わせごとに、すなわち、音響モデルの組み合わせに対応する読み情報の組み合わせごとに、対応する類似度と、対応する接続スコアとの和を算出する（Ｓ２１０）。決定部２６ｃは、複数の算出された和のうち、閾値を超えた和があるか否かを判定する（Ｓ２１１）。ない場合（Ｓ２１１否定）には、Ｓ２０６へ戻る。一方、閾値を超えた和がある場合（Ｓ２１１肯定）には、決定部２６ｃは、閾値を超えた和のうち、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する（Ｓ２１２）。
【００８２】
出力部２７は、各フレームに対して決定された文字列を音声の認識結果として画面に表示するように出力部２２に送信し、各フレームに対して決定された文字列を記憶部２４に格納し（Ｓ２１３）、処理を終了する。
【００８３】
［実施例１の効果］
上述してきたように、認識装置２０は、入力された音声信号と、辞書１４ｂに登録された読み情報の複数の組み合わせに対応する音響モデルの複数の組み合わせのそれぞれとを比較し、類似度を音響モデルの組み合わせごとに算出する。また、認識装置２０は、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、認識装置２０は、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する。そして、認識装置２０は、複数の算出された和のうち、閾値を超え、かつ、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する。認識装置２０によれば、文章に含まれる複数の単語であって、文章内で隣接しない複数の単語を接続した文字列を発話者が発話して、音声信号として入力された場合であっても、発話者が発話した音声を認識することができる。したがって、認識装置２０によれば、精度良く音声の認識を行うことができる。
【００８４】
また、生成装置１０は、認識装置２０で精度良く音声の認識を行うことができる辞書１４ｂを生成することができる。
【００８５】
また、生成装置１０は、総単語数Ｍ×最大結合数Ｎ−Σｎ（ｎ＝１、２、・・・、Ｎ−１）の個数程度のレコードを辞書１４ｂに登録するため、少ない情報量の辞書１４ｂを生成することができる。
【実施例２】
【００８６】
実施例２では、テキストファイル１４ａに含まれる文章の文ごとに識別子が登録された辞書１４ａを生成し、かかる辞書１４ａを用いて、文ごとに、接続スコアを算出する場合について説明する。
【００８７】
［生成装置４０の機能構成］
図７は、実施例２に係る生成装置の機能構成の一例を示す図である。図７に示すように、生成装置４０は、記憶部１４および制御部４５を有する。かかる制御部４５は、図２に示す実施例１に係る制御部１５と比較して、生成部４５ｃおよび格納部４５ｄを有する点が異なる。また、記憶部１４は、実施例１に係る記憶部１４と比較して、辞書４４ｂを記憶する点が異なる。なお、以下では、上記の実施例１と同様の機能を果たす各部については図２と同様の符号を付し、その説明は省略することとする。
【００８８】
辞書４４ｂは、後述する生成部４５ｃにより生成され、後述する格納部４５ｄにより記憶部１４に格納される。
【００８９】
図８は、辞書の一例を示す図である。図８の例では、辞書４４ｂは、実施例１と同様の「表記」の項目、「読み情報」の項目、「位置情報」の項目に加え、「文識別子」の項目を有する。「文識別子」の項目には、文を識別するための識別子が登録される。これらの各項目の内容は、生成部４５ｃによって生成される。
【００９０】
図８の例は、一番目のレコードに、テキストファイルが示す文章「決勝に海山学院が進出。山川総理が法案を通したいと言及」に含まれる単語「決勝」が「表記」の項目に登録された場合を示す。また、図８の例は、一番目のレコードに、決勝の読み方「けっしょう」が「読み情報」の項目に登録された場合を示す。また、図８の例は、一番目のレコードに、単語「決勝」の文章内での位置を示す位置情報「０」が、「位置情報」の項目に登録された場合を示す。また、図８の例は、一番目のレコードに、単語「決勝」を含む文の識別子「１０」が、「文識別子」の項目に登録された場合を示す。
【００９１】
生成部４５ｃは、分割部１５ｂにより分割された単語の文章内の位置を示す位置情報を生成する。これに加えて、生成部４５ｃは、単語のそれぞれについて、その単語に続く１個から（Ｎ−１）個の単語までのそれぞれの単語列を生成する。そして、生成部４５ｃは、単語列の文章内の位置を示す位置情報を生成する。さらに、生成部４５ｃは、分割された単語を含む文を識別するための識別情報を生成する。
【００９２】
具体例を挙げて説明する。例えば、生成部４５ｃは、まず、位置情報ｎ、変数ｉ、変数ｊ、変数ｓの各値を初期化する。すなわち、生成部４５ｃは、位置情報ｎの値を０、変数ｉの値を１、変数ｊの値を０、変数ｓの値を１０に設定する。そして、生成部４５ｃは、（ｉ−ｊ）番目の単語からｉ番目の単語までの単語列を生成する。なお、ｊ＝０の場合は、ｉ番目の単語を単語列とみなして下記の処理を行う。また、（ｉ−ｗ；ｗ≦ｊ）番目の単語が存在しない場合には、生成部４５ｃは、（ｉ−ｗ）番目の単語を空欄として扱って、（ｉ−ｊ）番目の単語からｉ番目の単語までの単語列を生成する。
【００９３】
そして、生成部４５ｃは、格納部４５ｄにより新たに生成された単語列と、読み情報と、位置情報ｎの値と、文識別子ｓの値とが辞書４４ｂに登録された場合に、変数ｊの値を１つインクリメントし、変数ｎの値を１つインクリメントする。そして、生成部４５ｃは、変数ｊの値が、単語列に結合する単語の数の最大値である最大結合数Ｎよりも小さいか否かを判定する。小さい場合には、生成部４５ｃは、再び、ｉ番目の単語から（ｉ＋ｊ）番目の単語までの単語列を生成し、上記で説明した処理と同様の処理を行う。
【００９４】
一方、変数ｊの値が、最大結合数Ｎ以上である場合には、生成部４５ｃは、ｉ番目の単語が文の区切りを示す記号、例えば、句点「。」であるか否かを判定する。ｉ番目の単語が文の区切りを示す記号である場合には、生成部４５ｃは、変数ｓの値を１つインクリメントする。そして、生成部４５ｃは、変数ｉの値を１つインクリメントし、変数ｊの値を０に設定する。続いて、生成部４５ｃは、変数ｉの値が、分割部１５ｂにより得られた単語の総数である総単語数Ｍ以下であるか否かを判定する。変数ｉの値が総単語数Ｍ以下である場合には、生成部４５ｃは、再び、（ｉ−ｊ）番目の単語からｉ番目の単語までの単語列を生成し、上記で説明した処理と同様の処理を行う。
【００９５】
格納部４５ｄは、単語および単語列と、対応する読み情報と、対応する位置情報ｎと、文識別子ｓとを対応付けて記憶部１４に格納する。具体例を挙げて説明する。例えば、格納部４５ｄは、生成部４５ｃにより、（ｉ−ｊ）番目の単語からｉ番目の単語までの単語列が生成された場合に、次のような処理を行う。すなわち、格納部４５ｄは、新たに生成された単語列と、新たに生成された単語列に対応する読み情報と、位置情報ｎの値と、文識別子ｓの値とを、それぞれ、辞書４４ｂの「表記」、「読み情報」、「位置情報」、「文識別子」の各項目に登録する。なお、格納部４５ｄは、新たに生成された単語列中の単語に、句点「。」が含まれる場合や、空欄がある場合には、単語列と読み情報と位置情報ｎの値とを辞書１４ｂへ登録する処理を省略できる。これは、単語列中の単語に、句点「。」が含まれる場合や、空欄がある場合には、その単語列は、音声を認識する際の音声との比較対象として不適切であるという理由による。したがって、格納部４５ｄによれば、辞書１４ｂを生成する速度が速くなる。また、格納部４５ｄによれば、より少ない情報量の辞書１４ｂを生成することができる。
【００９６】
以上説明したように、生成部４５ｃおよび格納部４５ｄなどによって、辞書４４ｂが生成される。例えば、テキストファイル１４ａが示す文章が「決勝に海山学院が進出。山川総理が法案を通したいと言及」である場合には、図８の例に示すような辞書１４ｂが生成される。図８の例では、最大結合数Ｎの値は３である。格納部１５ｃは、総単語数Ｍ×最大結合数Ｎ−Σｎ（ｎ＝１、２、・・・、Ｎ−１）の個数程度のレコードを辞書４４ｂに登録するため、少ない情報量の辞書４４ｂを生成することができる。
【００９７】
また、格納部４５ｄは、後述の認識装置５０から辞書１４ｂの送信要求を受信すると、記憶部１４から辞書４４ｂを読み込み、辞書４４ｂを通信部１３に送信する。辞書４４ｂを受信した通信部１３は、辞書４４ｂをインターネット３０を介して、後述の認識装置５０へ送信する。
【００９８】
制御部４５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００９９】
［認識装置５０の機能構成］
図９は、実施例２に係る認識装置の構成の一例を示す図である。図９に示すように、認識装置５０は、記憶部２４および制御部５５を有する。かかる制御部５５は、図４に示す実施例１に係る制御部２５と比較して、照合部５６の第二の算出部５６ｂを有する点が異なる。また、記憶部２４は、実施例１に係る記憶部２４と比較して、辞書４４ｂを記憶する点が異なる。なお、以下では、上記の実施例１と同様の機能を果たす各部については図４と同様の符号を付し、その説明は省略することとする。
【０１００】
辞書４４ｂは、第一の算出部２６ａにより記憶部２４に格納される。
【０１０１】
第二の算出部５６ｂは、実施例１の第二の算出部２６ｂとほぼ同様の機能を有するが、下記の点で、第二の算出部２６ｂと異なる。第二の算出部５６ｂは、辞書４４ｂを参照し、文識別子が同一の読み情報間でのみ、実施例１と同様に、昇順であるか否かの判定を行う。また、第二の算出部５６ｂは、位置情報が示す値が昇順であると判定された組み合わせについて、次のような処理を行う。すなわち、組み合わせされた読み情報のうち、結合された２つの読み情報、すなわち隣接する読み情報について、先頭に近いほうの読み情報に対応する位置情報が示す値を変数ｘに代入し、先頭から遠い方の読み情報に対応する位置情報が示す値を変数ｙに代入する。そして、第二の算出部５６ｂは、下記の式（３）、式（４）に基づいて、Ｘ、Ｙを算出する。
Ｘ＝（ｘ／Ｎ）＋１              式（３）
Ｙ＝（ｙ／Ｎ）−（ｙ％Ｎ）      式（４）
【０１０２】
ただし、Ｎは、上述した最大結合数である。また、「／」は、小数点以下を切り捨てて商を整数とするための除算演算を意味する。また、「％」は、剰余演算を意味する。
【０１０３】
なお、ＸとＹとを比較し、接続スコアを算出する方法は、実施例１と同様である。
【０１０４】
このように、第二の算出部５６ｂによれば、同一の文内でのみ、接続スコアを算出する。したがって、内容が異なる文をまたがった場合などに接続スコアが算出されないので、より精度良く音声を認識することができる。
【０１０５】
制御部５５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【０１０６】
［処理の流れ］
次に、本実施例に係る生成装置４０の処理の流れを説明する。図１０は、実施例２に係る生成処理の手順を示すフローチャートである。この生成処理は、入力部１１から制御部４５に生成処理を実行する指示が入力された場合に実行される。
【０１０７】
図１０に示すように、分割部１５ｂは、テキストファイル１４ａが示す文章を単語ごとに分割する（Ｓ３０１）。生成部４５ｃは、位置情報ｎの値を０、変数ｉの値を１、変数ｊの値を０、変数ｓの値を１０に設定する（Ｓ３０２）。生成部４５ｃは、（ｉ−ｊ）番目の単語からｉ番目の単語までの単語列を生成する（Ｓ３０３）。
【０１０８】
格納部４５ｄは、新たに生成された単語列と、新たに生成された単語列に対応する読み情報と、位置情報ｎの値と、文識別子ｓとを、それぞれ、辞書４４ｂの「表記」、「読み情報」、「位置情報」、「文識別子」の各項目に登録する（Ｓ３０４）。生成部４５ｃは、変数ｊの値を１つインクリメントし、変数ｎの値を１つインクリメントする（Ｓ３０５）。生成部４５ｃは、変数ｊの値が、単語列に結合する単語の数の最大値である最大結合数Ｎよりも小さいか否かを判定する（Ｓ３０６）。小さい場合（Ｓ３０６肯定）には、Ｓ３０３へ戻る。
【０１０９】
一方、変数ｊの値が、最大結合数Ｎ以上である場合（Ｓ３０６否定）には、生成部４５ｃは、ｉ番目の単語が文の区切りを示す記号、例えば、句点「。」であるか否かを判定する（Ｓ３０７）。ｉ番目の単語が文の区切りを示す記号である場合（Ｓ３０７肯定）には、生成部４５ｃは、変数ｓの値を１つインクリメントする（Ｓ３０８）。生成部４５ｃは、変数ｉの値を１つインクリメントし、変数ｊの値を０に設定する（Ｓ３０９）。生成部４５ｃは、変数ｉの値が、分割部１５ｂにより得られた単語の総数である総単語数Ｍ以下であるか否かを判定する（Ｓ３１０）。変数ｉの値が総単語数Ｍ以下である場合（Ｓ３１０肯定）には、Ｓ３０３へ戻る。一方、変数ｉの値が総単語数Ｍより大きい場合（Ｓ３１０否定）には、処理を終了する。また、ｉ番目の単語が文の区切りを示す記号でない場合（Ｓ３０７否定）には、Ｓ３０９へ進む。
【０１１０】
次に、本実施例に係る認識装置５０の処理の流れを説明する。図１１は、実施例２に係る認識処理の手順を示すフローチャートである。この認識処理は、操作受付部（図示せず）から制御部５５に認識処理を実行する指示が入力された場合に実行される。
【０１１１】
図１１に示すＳ４０１〜Ｓ４０８、Ｓ４１０〜Ｓ４１３は、上述したＳ２０１〜Ｓ２０８、Ｓ２１０〜Ｓ２１３と同様の処理であるため説明を省略する。図１１に示すように、第二の算出部５６ｂは、辞書４４ｂを参照し、文識別子が同一の読み情報間でのみ、接続スコアを算出する（Ｓ４０９）。
【０１１２】
［実施例２の効果］
上述してきたように、認識装置５０は、入力された音声信号と、辞書４４ｂに登録された読み情報の複数の組み合わせに対応する音響モデルの複数の組み合わせのそれぞれとを比較し、類似度を音響モデルの組み合わせごとに算出する。また、認識装置５０は、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、認識装置５０は、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する。そして、認識装置５０は、複数の算出された和のうち、閾値を超え、かつ、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する。認識装置５０によれば、文章に含まれる複数の単語であって、文章内で隣接しない複数の単語を接続した文字列を発話者が発話して、音声信号として入力された場合であっても、発話者が発話した音声を認識することができる。したがって、認識装置５０によれば、精度良く音声の認識を行うことができる。
【０１１３】
また、生成装置４０は、認識装置５０で精度良く音声の認識を行うことができる辞書４４ｂを生成することができる。
【０１１４】
また、生成装置４０は、総単語数Ｍ×最大結合数Ｎ−Σｎ（ｎ＝１、２、・・・、Ｎ−１）の個数程度のレコードを辞書４４ｂに登録するため、少ない情報量の辞書４４ｂを生成することができる。
【０１１５】
また、認識装置５０によれば、同一の文内でのみ、接続スコアを算出する。したがって、内容が異なる文をまたがった場合などに接続スコアが算出されないので、より精度良く音声を認識することができる。
【実施例３】
【０１１６】
実施例３では、さらに、予め定められたオートマトンなどを用いて、接続スコアを補正する場合について説明する。
【０１１７】
［認識装置６０の機能構成］
図１２は、実施例３に係る認識装置の構成の一例を示す図である。図１２に示すように、認識装置６０は、記憶部２４および制御部６５を有する。かかる制御部６５は、図４に示す実施例１に係る制御部２５と比較して、照合部６６の第二の算出部６６ｂを有する点が異なる。また、記憶部２４は、辞書６４ｂを記憶するが、かかる辞書６４ｂは、実施例１に係る辞書１４ｂまたは実施例２に係る辞書４４ｂと同一である。また、記憶部２４は、言語モデル６４ｃ、単語辞書６４ｄを記憶する。なお、以下では、上記の実施例１、２と同様の機能を果たす各部については図４、図９と同様の符号を付し、その説明は省略することとする。
【０１１８】
辞書６４ｂは、第一の算出部２６ａにより記憶部２４に格納される。
【０１１９】
図１３は、言語モデルの一例を示す図である。図１３の例では、言語モデル６４ｃは、例えば、オートマトンである。図１３の例は、ある単語または文字列に、「に関する」、「に関連する」、「についての」の文字列が付加される場合に、状態１から状態２へと遷移することを示す。また、図１３の例は、状態２の状態において、「に関する」、「に関連する」、「についての」の文字列に、「ニュース」、「解説」、「ブログ」、「話題」の単語が付加される場合に、状態２から最終状態へと遷移することを示す。また、図１３の例は、ある単語に「を検索」、「のニュース」の文字列が付加される場合に、状態１から最終状態へと遷移することを示す。
【０１２０】
図１４は、単語辞書の一例を示す図である。図１４の例では、単語辞書６４ｄは、「表記」の項目と、「読み情報」の項目とを有する。図１４の例の単語辞書６４ｄには、単語モデル６４ｃが示す各状態を遷移する場合の単語または文字列の表記、および、読み情報が対応付けて登録されている。
【０１２１】
第二の算出部６６ｂは、実施例１の第二の算出部２６ｂまたは実施例２の第二の算出部５６ｂの機能を有するが、下記の点で、第二の算出部２６ｂ、５６ｂと異なる。すなわち、第二の算出部６６ｂは、実施例１または実施例２と同様に、接続スコアを算出するが、かかる接続スコアを、言語モデル６４ｃおよび単語辞書６４ｄに基づいて補正する点が、実施例１および実施例２と異なる。
【０１２２】
例えば、組み合わされた読み情報「けっしょうにうみやまがくいんがしんしゅつ」（表記：決勝に海山学院が進出）について、接続スコアＳが算出された場合を想定する。この場合、第二の算出部６６ｂは、言語モデル６４ｃおよび単語辞書６４ｄを参照し、組み合わされた読み情報に対応する状態が、「状態１」であるため、接続スコアＳについては補正を行わない。
【０１２３】
また、例えば、組み合わされた読み情報「けっしょうにうみやまがくいんがしんしゅつのニュース」（表記：決勝に海山学院が進出のニュース）について、接続スコアＱが算出された場合を想定する。この場合、第二の算出部６６ｂは、接続スコアＱでなく、最終状態に遷移する前の状態１に対応する読み情報「けっしょうにうみやまがくいんがしんしゅつ」について算出された接続スコアＳを補正する。例えば、第二の算出部６６ｂは、言語モデル６４ｃおよび単語辞書６４ｄを参照し、組み合わされた読み情報に対応する状態が、「状態１」から「最終状態」へと遷移したため、接続スコアＳに所定値を加算して接続スコアを補正する。なお、接続スコアＳに、所定値、例えば、１００％を示す値を乗算して、接続スコアを補正することもできる。
【０１２４】
また、例えば、組み合わされた読み情報「やまかわそうりがとおしたいほうあん」（表記：山川総理が通したい法案）について、接続スコアＳ´が算出された場合を想定する。この場合、第二の算出部６６ｂは、言語モデル６４ｃおよび単語辞書６４ｄを参照し、組み合わされた読み情報に対応する状態が、「状態１」であるため、接続スコアＳ´については補正を行わない。
【０１２５】
また、例えば、組み合わされた読み情報「やまかわそうりがとおしたいほうあんについてのブログ」（表記：山川総理が通したい法案についてのブログ）について、接続スコアＱ´が算出された場合を想定する。この場合、第二の算出部６６ｂは、接続スコアＱ´でなく、状態１から状態２、状態２から最終状態に遷移する前の状態１に対応する読み情報「やまかわそうりがとおしたいほうあん」について算出された接続スコアＳ´を補正する。例えば、第二の算出部６６ｂは、言語モデル６４ｃおよび単語辞書６４ｄを参照し、組み合わされた読み情報に対応する状態が、「状態１」から「状態２」、「状態２」から「最終状態」へと遷移したため、接続スコアＳ´に所定値を２回加算して接続スコアを補正する。なお、接続スコアＳに、所定値、例えば、１００％を示す値を２回乗算して、接続スコアを補正することもできる。
【０１２６】
制御部６５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【０１２７】
［処理の流れ］
次に、本実施例に係る認識装置６０の処理の流れを説明する。図１５は、実施例３に係る認識処理の手順を示すフローチャートである。この認識処理は、操作受付部（図示せず）から制御部６５に認識処理を実行する指示が入力された場合に実行される。
【０１２８】
図１５に示すＳ５０１〜Ｓ５０９、Ｓ５１１〜Ｓ５１４は、上述したＳ４０１〜Ｓ４１３、または、Ｓ２０１〜Ｓ２１３と同様の処理であるため説明を省略する。図１５に示すように、第二の算出部６６ｂは、言語モデル６４ｃおよび単語辞書６４ｄを参照し、状態が遷移した場合には、状態１の場合に算出された接続スコアを補正する（Ｓ５１０）。
【０１２９】
［実施例３の効果］
上述してきたように、認識装置６０は、入力された音声信号と、辞書６４ｂに登録された読み情報の複数の組み合わせに対応する音響モデルの複数の組み合わせのそれぞれとを比較し、類似度を音響モデルの組み合わせごとに算出する。また、認識装置６０は、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、認識装置６０は、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する。そして、認識装置６０は、複数の算出された和のうち、閾値を超え、かつ、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する。認識装置６０によれば、文章に含まれる複数の単語であって、文章内で隣接しない複数の単語を接続した文字列を発話者が発話して、音声信号として入力された場合であっても、発話者が発話した音声を認識することができる。したがって、認識装置６０によれば、精度良く音声の認識を行うことができる。
【０１３０】
また、本実施例にかかる生成装置は、認識装置６０で精度良く音声の認識を行うことができる辞書６４ｂを生成することができる。
【０１３１】
また、本実施例にかかる生成装置は、総単語数Ｍ×最大結合数Ｎ−Σｎ（ｎ＝１、２、・・・、Ｎ−１）の個数程度のレコードを辞書６４ｂに登録するため、少ない情報量の辞書６４ｂを生成することができる。
【０１３２】
また、認識装置６０によれば、同一の文内でのみ、接続スコアを算出する。したがって、内容が異なる文をまたがった場合などに接続スコアが算出されないので、より精度良く音声を認識することができる。
【０１３３】
また、認識装置６０によれば、オートマトンなどの言語モデルを用いて接続スコアを補正するため、特定の発話パターンを言語モデルに登録することで、特定の発話パターンの認識率を向上させることができる。
【実施例４】
【０１３４】
実施例４では、さらに、読み情報（読み情報に対応する単語または文字列）の組み合わせにおいて、隣接する２つの読み情報の接続部分の２つの品詞の接続の適否を示す情報を用いて、接続スコアを補正する場合について説明する。
【０１３５】
［生成装置７０の機能構成］
図１６は、実施例４に係る生成装置の機能構成の一例を示す図である。図１６に示すように、生成装置７０は、記憶部１４および制御部７５を有する。かかる制御部７５は、図２に示す実施例１に係る制御部１５と比較して、生成部７５ｃおよび格納部７５ｄを有する点が異なる。また、記憶部１４は、実施例１に係る記憶部１４と比較して、辞書７４ｂおよび品詞番号表７４ｃを記憶する点が異なる。なお、以下では、上記の実施例１、２、３と同様の機能を果たす各部については図２、図７と同様の符号を付し、その説明は省略することとする。
【０１３６】
辞書７４ｂは、後述する生成部７５ｃにより生成され、後述する格納部７５ｄにより記憶部１４に格納される。
【０１３７】
図１７は、品詞番号表の一例を示す図である。図１７の例では、品詞番号表７４ｃは、先頭の単語の品詞が名詞類で、末尾の単語の品詞が名詞類である場合には、品詞番号が「１」である場合が示されている。
【０１３８】
図１８は、辞書の一例を示す図である。図１８の例では、辞書７４ｂは、実施例１と同様の「表記」の項目、「読み情報」の項目、「位置情報」の項目に加え、「品詞番号」の項目を有する。「品詞番号」の項目には、「表記」の項目に登録された単語または単語列の先頭の単語の品詞と、末尾の単語の品詞との組み合わせを示す番号である品詞番号が登録される。かかる品詞番号は、後述の生成部７５ｃによって品詞番号表７４ｃから取得され、後述の格納部７５ｄによって、辞書７４ｂに登録される。
【０１３９】
生成部７５ｃは、分割された単語または生成した単語列について、先頭の単語の品詞と、末尾の単語の品詞との組み合わせを示す品詞番号を、品詞番号表７４ｃを参照して取得する。
【０１４０】
格納部７５ｄは、実施例１〜３のいずれかの格納部の機能に加え、下記の機能を有する。すなわち、格納部７５ｄは、生成部７５ｃによって取得された品詞番号を辞書７４ｂの「品詞番号」の項目に登録する。
【０１４１】
制御部７５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【０１４２】
［認識装置８０の機能構成］
図１９は、実施例４に係る認識装置の構成の一例を示す図である。図１９に示すように、認識装置８０は、記憶部２４および制御部８５を有する。かかる制御部８５は、図４に示す実施例１に係る制御部２５と比較して、照合部８６の第二の算出部８６ｂを有する点が異なる。また、記憶部２４は、実施例１に係る記憶部２４と比較して、辞書７４ｂと、確率表８４ａを記憶する点が異なる。なお、以下では、上記の実施例１〜３と同様の機能を果たす各部については図４、図９、図１２と同様の符号を付し、その説明は省略することとする。
【０１４３】
辞書７４ｂは、第一の算出部２６ａにより記憶部２４に格納される。
【０１４４】
図２０は、確率表の一例を示す図である。図２０の例の確率表８４ａでは、縦軸が、２つの単語または文字列もしくは単語と文字列との組み合わせのうち、前の単語または文字列の品詞番号を示す。また、図２０の例の確率表８４ａでは、横軸が、２つの単語または文字列もしくは単語と文字列との組み合わせのうち、後ろの単語または文字列の品詞番号を示す。図２０の例の確率表８４ａには、前の単語の品詞番号が１であり、後ろの単語の品詞番号が１である場合には、１００％の確率が登録されている。
【０１４５】
第二の算出部８６ｂは、実施例１〜３のいずれかの第二の算出部とほぼ同様の機能を有するが、下記の点で、実施例１〜３のいずれの第二の算出部とも異なる。すなわち、第二の算出部８６ｂは、まず、組み合わせされた隣接する単語または文字列を特定する。そして、第二の算出部８６ｂは、確率表８４ａを参照し、特定された隣接する単語または文字列もしくは単語と文字列の２つの品詞番号から、品詞の組み合わせの適否を示す値、例えば、２つの単語または文字列もしくは単語と文字列が接続される確率を取得する。そして、第二の算出部８６ｂは、取得した確率と、対応する組み合わせの接続スコアとを乗算して、接続スコアを補正する。
【０１４６】
制御部８５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【０１４７】
［処理の流れ］
次に、本実施例に係る生成装置７０の処理の流れを説明する。図２１は、実施例４に係る生成処理の手順を示すフローチャートである。この生成処理は、入力部１１から制御部７５に生成処理を実行する指示が入力された場合に実行される。
【０１４８】
図２１に示すＳ６０１〜Ｓ６０３、Ｓ６０５〜Ｓ６０８の処理は、上述したＳ１０１〜Ｓ１０３、Ｓ１０５〜Ｓ１０８の処理と同様であるので、説明を省略する。図２１に示すように、格納部７５ｄは、実施例１〜３の格納部の機能に加えて、品詞番号を辞書７４ｂに登録する（Ｓ６０４）。
【０１４９】
次に、本実施例に係る認識装置８０の処理の流れを説明する。図２２は、実施例４に係る認識処理の手順を示すフローチャートである。この認識処理は、操作受付部（図示せず）から制御部８５に認識処理を実行する指示が入力された場合に実行される。
【０１５０】
図２２に示すＳ７０１〜Ｓ７０９、Ｓ７１１〜Ｓ７１４は、上述したＳ５０１〜Ｓ５０９、Ｓ５１１〜Ｓ５１４と同様の処理であるため説明を省略する。図２２に示すように、第二の算出部８６ｂは、確率表８４ａを参照し、品詞番号を用いて、接続スコアを補正する（Ｓ７１０）。
【０１５１】
［実施例４の効果］
上述してきたように、認識装置８０は、入力された音声信号と、辞書７４ｂに登録された読み情報の複数の組み合わせに対応する音響モデルの複数の組み合わせのそれぞれとを比較し、類似度を音響モデルの組み合わせごとに算出する。また、認識装置８０は、類似度を算出する際に組み合わされた読み情報に対応する単語または文字列の位置情報に基づいて、次のような処理を行う。すなわち、認識装置８０は、組み合わされた複数の読み情報のそれぞれに対応する単語または文字列について、単語間または文字列間もしくは単語と文字列間の文章中の位置の近さを示す接続スコアを読み情報の組み合わせごとに算出する。そして、認識装置８０は、複数の算出された和のうち、閾値を超え、かつ、最も値が大きい和に対応する文字列を、音声信号に対応する文字列として決定する。認識装置８０によれば、文章に含まれる複数の単語であって、文章内で隣接しない複数の単語を接続した文字列を発話者が発話して、音声信号として入力された場合であっても、発話者が発話した音声を認識することができる。したがって、認識装置８０によれば、精度良く音声の認識を行うことができる。
【０１５２】
また、生成装置７０は、認識装置８０で精度良く音声の認識を行うことができる辞書７４ｂを生成することができる。
【０１５３】
また、生成装置７０は、総単語数Ｍ×最大結合数Ｎ−Σｎ（ｎ＝１、２、・・・、Ｎ−１）の個数程度のレコードを辞書７４ｂに登録するため、少ない情報量の辞書７４ｂを生成することができる。
【０１５４】
また、認識装置８０によれば、同一の文内でのみ、接続スコアを算出する。したがって、内容が異なる文をまたがった場合などに接続スコアが算出されないので、より精度良く音声を認識することができる。
【０１５５】
また、認識装置８０によれば、品詞の適否を加味された接続スコアに基づいて、音声信号に対応する文字列が決定されるので、より精度の高い音声の認識を行うことができる。
【０１５６】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１５７】
また、各実施例において説明した処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、各実施例において説明した処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１５８】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
【０１５９】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
【０１６０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１６１】
［生成プログラム］
また、上記の各実施例で説明した生成装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２３を用いて、上記の実施例で説明した生成装置と同様の機能を有する生成プログラムを実行するコンピュータの一例を説明する。図２３は、生成プログラムを実行するコンピュータを示す図である。
【０１６２】
図２３に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス３５０を介して接続される。
【０１６３】
ＲＯＭ３２０には、ＯＳ（Operating  System）などのプログラムが記憶される。
【０１６４】
ＨＤＤ３３０には、上記のいずれかの実施例で示す生成装置の分割部、生成部、格納部と同様の機能を発揮する生成プログラム３３０ａが予め記憶される。なお、生成プログラム３３０ａについては、適宜分離しても良い。
【０１６５】
そして、ＣＰＵ３１０が、生成プログラム３３０ａをＨＤＤ３３０から読み出して実行する。
【０１６６】
また、ＨＤＤ３３０には、上記のいずれかの実施例の記憶部に記憶された情報、例えば、テキストファイル、辞書、品詞番号表などが設けられる。
【０１６７】
そして、ＣＰＵ３１０は、テキストファイル、辞書、品詞番号表などを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納された各種情報を用いて、生成プログラムを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納される必要はなく、処理に必要なデータのみがＲＡＭ３４０に格納されれば良い。
【０１６８】
なお、上記した生成プログラムについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【０１６９】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  
【０１７０】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１７１】
［認識プログラム］
また、上記の各実施例で説明した認識装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２４を用いて、上記の実施例で説明した認識装置と同様の機能を有する認識プログラムを実行するコンピュータの一例を説明する。図２４は、認識プログラムを実行するコンピュータを示す図である。
【０１７２】
図２４に示すように、コンピュータ４００は、ＣＰＵ４１０、ＲＯＭ４２０、ＨＤＤ４３０、ＲＡＭ４４０を有する。これら４１０〜４４０の各部は、バス４５０を介して接続される。
【０１７３】
ＲＯＭ４２０には、ＯＳなどのプログラムが記憶される。
【０１７４】
ＨＤＤ４３０には、上記のいずれかの実施例で示す認識装置の第一の算出部、第二の算出部、決定部、出力部と同様の機能を発揮する認識プログラム３３０ａが予め記憶される。なお、認識プログラム４３０ａについては、適宜分離しても良い。
【０１７５】
そして、ＣＰＵ４１０が、認識プログラム４３０ａをＨＤＤ４３０から読み出して実行する。
【０１７６】
また、ＨＤＤ４３０には、上記のいずれかの実施例の記憶部に記憶された情報、例えば、辞書、言語モデル、単語辞書、確率表などが設けられる。
【０１７７】
そして、ＣＰＵ４１０は、辞書、言語モデル、単語辞書、確率表などを読み出してＲＡＭ４４０に格納する。さらに、ＣＰＵ４１０は、ＲＡＭ４４０に格納された各種情報を用いて、認識プログラムを実行する。なお、ＲＡＭ４４０に格納される各データは、常に全てのデータがＲＡＭ４４０に格納される必要はなく、処理に必要なデータのみがＲＡＭ４４０に格納されれば良い。
【０１７８】
なお、上記した認識プログラムについては、必ずしも最初からＨＤＤ４３０に記憶させておく必要はない。
【０１７９】
例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ４００がこれらからプログラムを読み出して実行するようにしてもよい。  
【０１８０】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ４００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１８１】
１４ｂ    辞書
２０      認識装置      
２４      記憶部
２５      制御部
２６      照合部
２６ａ    第一の算出部
２６ｂ    第二の算出部
２６ｃ    決定部
【図１】
0005799733.tif 000002
【図２】
0005799733.tif 000003
【図３】
0005799733.tif 000004
【図４】
0005799733.tif 000005
【図５】
0005799733.tif 000006
【図６】
0005799733.tif 000007
【図７】
0005799733.tif 000008
【図８】
0005799733.tif 000009
【図９】
0005799733.tif 000010
【図１０】
0005799733.tif 000011
【図１１】
0005799733.tif 000012
【図１２】
0005799733.tif 000013
【図１３】
0005799733.tif 000014
【図１４】
0005799733.tif 000015
【図１５】
0005799733.tif 000016
【図１６】
0005799733.tif 000017
【図１７】
0005799733.tif 000018
【図１８】
0005799733.tif 000019
【図１９】
0005799733.tif 000020
【図２０】
0005799733.tif 000021
【図２１】
0005799733.tif 000022
【図２２】
0005799733.tif 000023
【図２３】
0005799733.tif 000024
【図２４】
0005799733.tif 000025