(57)【特許請求の範囲】
【請求項１】
音声データを取得する音声データ取得部と、
音声の特徴量と文字との対応関係を示す音響モデルおよび文字列間の接続関係を示す第１言語モデルを参照して、前記音声データに対する音声認識処理をおこない、その認識結果を示す認識文字列を生成する音声認識部と、
前記認識文字列のうち、ユーザによって指定された文字列、認識結果としての信頼度が所定の閾値よりも低い文字列、または、認識結果としての信頼度が所定の閾値よりも低い文字列の組み合わせからなる文字列を、変換対象文字列として決定する変換対象文字列決定部と、
前記認識文字列において、決定された前記変換対象文字列の直前または直後に接続された文字列から、ユーザによって指定された単位の文字列または数の文字列を参照文字列として決定する参照文字列決定部と、
ユーザが過去に入力した文字列から抽出された文字列同士の接続関係を示す第２言語モデルを参照して、前記音声データに対する音声認識処理の認識結果に因らない文字列であって、決定された前記参照文字列との接続関係が示されている文字列を、前記変換対象文字列を変換する候補の変換候補文字列として決定する変換候補文字列決定部と、
決定された前記変換候補文字列を出力する出力部と
を備えることを特徴とする音声認識装置。
【請求項２】
前記第２言語モデルにおいて、前記参照文字列に対して所定の範囲外の数の前記変換候補文字列が得られた場合、
前記参照文字列決定部は、
前記認識文字列において、前記変換対象文字列の直前または直後に接続された文字列の数を増減して、その増減後の数の文字列を新たな参照文字列として決定し、
前記変換候補文字列決定部は、
前記第２言語モデルにおいて前記新たな参照文字列との接続関係が示されている文字列を、前記変換候補文字列として決定する
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記出力部は、
前記認識文字列における前記変換対象文字列を、前記変換候補文字列に変換して、変換後の前記認識文字列を出力する
ことを特徴とする請求項１または２に記載の音声認識装置。
【請求項４】
前記変換候補文字列決定部は、
前記第２言語モデルにおいて前記参照文字列との接続関係が示されている文字列のそれぞれについて、前記変換対象文字列との相関度を算出し、少なくとも、当該相関度が最も高い文字列または当該相関度が閾値よりも高い文字列を、前記変換対象文字列を変換する候補の変換候補文字列として決定する
ことを特徴とする請求項１から３のいずれかに記載の音声認識装置。
【請求項５】
前記出力部は、
前記変換候補文字列の音素のうち、前記変換対象文字列の音素と一致しない音素が削除された変換候補文字列、または、前記変換候補文字列と前記参照文字列との接続関係について文法チェックをおこなうことにより特定された前記変換候補文字列に含まれる出力不要な文字が削除された変換候補文字列を出力する
ことを特徴とする請求項１から４のいずれかに記載の音声認識装置。
【請求項６】
前記音響モデルおよび前記第１言語モデルを記憶したサーバ装置との通信をおこなう通信部を備え、
前記音声認識部は、
前記通信部による前記サーバ装置との通信によって、前記サーバ装置が記憶している前
記音響モデルおよび前記第１言語モデルを参照し、前記音声認識処理をおこなう
ことを特徴とする請求項１から５のいずれかに記載の音声認識装置。
【請求項７】
音声認識装置による音声認識方法であって、
音声データを取得する音声データ取得工程と、
音声の特徴量と文字との対応関係を示す音響モデルおよび文字列間の接続関係を示す第１言語モデルを参照して、前記音声データに対する音声認識処理をおこない、その認識結果を示す認識文字列を生成する音声認識工程と、
前記認識文字列のうち、ユーザによって指定された文字列、認識結果としての信頼度が所定の閾値よりも低い文字列、または、認識結果としての信頼度が所定の閾値よりも低い文字列の組み合わせからなる文字列を、変換対象文字列として決定する変換対象文字列決定工程と、
前記認識文字列において、決定された前記変換対象文字列の直前または直後に接続された文字列から、ユーザによって指定された単位の文字列または数の文字列を参照文字列として決定する参照文字列決定工程と、
ユーザが過去に入力した文字列から抽出された文字列同士の接続関係を示す第２言語モデルを参照して、前記音声データに対する音声認識処理の認識結果に因らない文字列であって、決定された前記参照文字列との接続関係が示されている文字列を、前記変換対象文字列を変換する候補の変換候補文字列として決定する変換候補文字列決定工程と、
決定された前記変換候補文字列を出力する出力工程と
を備えることを特徴とする音声認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置および音声認識方法に関する。
【背景技術】
【０００２】
マイクから入力された音声から、この音声の内容を示す文字列を生成して出力する音声認識技術が知られている。具体的には、音響モデルおよび言語モデルを参照して、入力された音声と文字列とのマッチング処理をおこなうことで、統計的に尤もらしい文字列を認識結果として出力する。音響モデルとは、音声の特徴量と文字との対応関係およびその統計情報を示すものである。また、言語モデルは、文字列間の接続関係およびその統計情報を示すものである。
【０００３】
このような音声認識技術では、周囲の雑音などにより音声に歪みが生じた場合や、言語モデルに登録されていない語彙が発音された場合などには、音声が誤認識されて、間違った文字列を認識結果として出力してしまう。この場合、ユーザは、出力された認識結果のうちの間違っている文字列を、キーボードなどの入力デバイスを操作して、手作業で訂正する必要があった。
【０００４】
そこで、特許文献１には、このようなユーザの操作負担を軽減することを目的とし、認識結果の単語に対して、この単語との競合確率が近い単語を訂正候補単語として提示し、認識結果の単語をこの訂正候補単語に変換するかをユーザに選択させる技術が開示されている。この技術によれば、ユーザは訂正候補単語を選択するだけで認識結果の単語を訂正することができるので、ユーザの操作負担を軽減することができるとされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１４６００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術では、音声認識処理についてもその訂正処理についても、１つの言語モデルの内容に基づいておこなっているから、なおも正しい単語となる訂正単語が言語モデルに登録されていない場合には、正しい単語をユーザに提示することができない。従って、結局、ユーザは、出力された認識結果のうちの間違っている文字列を、キーボードなどの入力デバイスを操作して、手作業で訂正する必要があった。
【０００７】
本発明の目的は、音声認識処理で間違って認識された文字列に対する変換候補を、上記音声認識処理とは異なる根拠に従って決定することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明にかかる音声認識装置は、音声データを取得する音声データ取得部と、音声の特徴量と文字との対応関係を示す音響モデルおよび文字列間の接続関係を示す第１言語モデルを参照して、前記音声データに対する音声認識処理をおこない、その認識結果を示す認識文字列を生成する音声認識部と、前記認識文字列のうち、ユーザによって指定された文字列、認識結果としての信頼度が所定の閾値よりも低い文字列、または、認識結果としての信頼度が所定の閾値よりも低い文字列の組み合わせからなる文字列を、変換対象文字列として決定する変換対象文字列決定部と、前記認識文字列において、決定された前記変換対象文字列の直前または直後に接続された文字列から、ユーザによって指定された単位の文字列または数の文字列を参照文字列として決定する参照文字列決定部と、ユーザが過去に入力した文字列から抽出された文字列同士の接続関係を示す第２言語モデルを参照して、前記音声データに対する音声認識処理の認識結果に因らない文字列であって、決定された前記参照文字列との接続関係が示されている文字列を、前記変換対象文字列を変換する候補の変換候補文字列として決定する変換候補文字列決定部と、決定された前記変換候補文字列を出力する出力部とを備えることを特徴とする。
【０００９】
好ましくは、前記第２言語モデルにおいて、前記参照文字列に対して所定の範囲外の数の前記変換候補文字列が得られた場合、前記参照文字列決定部は、前記認識文字列において、前記変換対象文字列の直前または直後に接続された文字列の数を増減して、その増減後の数の文字列を新たな参照文字列として決定し、前記変換候補文字列決定部は、前記第２言語モデルにおいて前記新たな参照文字列との接続関係が示されている文字列を、前記変換候補文字列として決定するとよい。
【００１０】
好ましくは、前記出力部は、前記認識文字列における前記変換対象文字列を、前記変換候補文字列に変換して、変換後の前記認識文字列を出力するとよい。
【００１１】
好ましくは、前記変換候補文字列決定部は、前記第２言語モデルにおいて前記参照文字列との接続関係が示されている文字列のそれぞれについて、前記変換対象文字列との相関度を算出し、少なくとも、当該相関度が最も高い文字列または当該相関度が閾値よりも高い文字列を、前記変換対象文字列を変換する候補の変換候補文字列として決定するとよい。
【００１２】
好ましくは、前記出力部は、前記変換候補文字列の音素のうち、前記変換対象文字列の音素と一致しない音素が削除された変換候補文字列、または、前記変換候補文字列と前記参照文字列との接続関係について文法チェックをおこなうことにより特定された前記変換候補文字列に含まれる出力不要な文字が削除された変換候補文字列を出力するとよい。
【００１３】
好ましくは、前記音響モデルおよび前記第１言語モデルを記憶したサーバ装置との通信をおこなう通信部を備え、前記音声認識部は、前記通信部による前記サーバ装置との通信によって、前記サーバ装置が記憶している前記音響モデルおよび前記第１言語モデルを参照し、前記音声認識処理をおこなうとよい。
【００１４】
また、本発明にかかる音声認識方法は、音声認識装置による音声認識方法であって、音声データを取得する音声データ取得工程と、音声の特徴量と文字との対応関係を示す音響モデルおよび文字列間の接続関係を示す第１言語モデルを参照して、前記音声データに対する音声認識処理をおこない、その認識結果を示す認識文字列を生成する音声認識工程と、前記認識文字列のうち、ユーザによって指定された文字列、認識結果としての信頼度が所定の閾値よりも低い文字列、または、認識結果としての信頼度が所定の閾値よりも低い文字列の組み合わせからなる文字列を、変換対象文字列として決定する変換対象文字列決定工程と、前記認識文字列において、決定された前記変換対象文字列の直前または直後に接続された文字列から、ユーザによって指定された単位の文字列または数の文字列を参照文字列として決定する参照文字列決定工程と、ユーザが過去に入力した文字列から抽出された文字列同士の接続関係を示す第２言語モデルを参照して、前記音声データに対する音声認識処理の認識結果に因らない文字列であって、決定された前記参照文字列との接続関係が示されている文字列を、前記変換対象文字列を変換する候補の変換候補文字列として決定する変換候補文字列決定工程と、決定された前記変換候補文字列を出力する出力工程とを備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、音声認識処理で間違って認識された文字列に対する変換候補を、上記音声認識処理とは異なる根拠に従って決定することができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態にかかる音声認識装置１００の構成を示す。
【図２】音声認識装置１００のハードウェア構成の一例を示す。
【図３】音声認識装置１００の機能構成を示す。
【図４】第２言語モデルの一例を示す。
【図５】音声認識装置１００による処理の手順を示す。
【図６】音声認識部３１４による音声認識処理の一例を示す。
【図７】音声認識部３１４によって算出された信頼度の一例を示す。
【図８】変換候補文字列の相関度の一例を示す。
【図９】変換候補文字列の出力例を示す。
【図１０】変換対象文字列の変換例を示す。
【図１１】第２実施形態にかかる第２言語モデルの一例を示す。
【図１２】第３実施形態にかかる第２言語モデルの一例を示す。
【図１３】第４実施形態にかかる音声認識装置１００の機能構成を示す。
【発明を実施するための形態】
【００１７】
本発明は、一実施形態のために示された添付図面を参照して以下の詳細な記述を考慮することによって容易に理解することができる。引き続き、添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００１８】
（第１実施形態）
まず、第１実施形態を説明する。図１は、第１実施形態にかかる音声認識装置１００の構成を示す。音声認識装置１００は、入力された音声を認識して、認識した音声に応じた文字を出力する装置である。この第１実施形態では、音声認識機能を有するパーソナル・コンピュータを、音声認識装置１００として用いている。
【００１９】
音声認識装置１００は、本体１１０、マイク１２０、ディスプレイ１３０、スピーカ１４０、キーボード１５０、およびマウス１６０を備える。たとえば、ユーザが音声を発すると、この音声がマイク１２０によって本体１１０へ入力される。本体１１０は、入力された音声に対する音声認識処理をおこなうことにより、入力された音声を認識して、認識した音声に応じた文字を出力する。たとえば、本体１１０は、認識された文字を示す画像をディスプレイ１３０に表示させたり、認識された文字に応じた音声をスピーカ１４０から発せさせたりする。キーボード１５０およびマウス１６０は、音声認識処理をおこなう際、ユーザからの指示の入力が必要な場合に、当該入力をおこなうための入力装置として利用される。
【００２０】
図２は、音声認識装置１００のハードウェア構成の一例を示す。音声認識装置１００は、すでに説明した本体１１０、マイク１２０、ディスプレイ１３０、スピーカ１４０、キーボード１５０、およびマウス１６０に加え、本体１１０の内部に、ＣＰＵ１５０５、ＲＯＭ１５１０、ＲＡＭ１５２０、外部メモリドライブ１５４０、外部メモリ１５４２、通信インターフェース１５５０、および入出力機器インターフェース１５６０を備える。
【００２１】
ＲＯＭ１５１０、ＲＡＭ１５２０、および外部メモリ１５４２は、各種データおよび各種プログラムを格納する。ＣＰＵ１５０５は、ＲＯＭ１５１０、ＲＡＭ１５２０、または外部メモリ１５４２に格納されたプログラムを実行することで、各種データ処理および各種ハードウェア制御をおこなう。
【００２２】
通信インターフェース１５５０は、外部装置との通信を制御する。外部メモリドライブ１５４０は、外部メモリ１５４２に接続し、外部メモリ１５４２に対するデータの読み書きをおこなう。外部メモリ１５４２としては、たとえば、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、メモリカード等が挙げられる。
【００２３】
入出力機器インターフェース１５６０は、本体１１０に接続された各種入出力機器による、データの入出力を制御する。すでに説明したとおり、本体１１０には、入出力機器として、マイク１２０、ディスプレイ１３０、スピーカ１４０、キーボード１５０、およびマウス１６０が接続されている。よって、入出力機器インターフェース１５６０は、これらの入出力機器による、データの入出力を制御する。
【００２４】
たとえば、音声認識装置１００においては、ＲＯＭ１５１０、ＲＡＭ１５２０、または外部メモリ１５４２が、図３以降で説明する音響モデル格納部３０２、第１言語モデル格納部３０４、および第２言語モデル格納部３０６として機能する。また、音声認識装置１００においては、ＣＰＵ１５０５が、ＲＯＭ１５１０、ＲＡＭ１５２０、または外部メモリ１５４２に格納されている音声認識プログラムを実行して、マイク１２０を制御することにより、図３以降で説明する音声データ取得部３１２として機能する。また、音声認識装置１００においては、ＣＰＵ１５０５が、上記音声認識プログラムを実行することにより、図３以降で説明する音声認識部３１４、変換対象文字列決定部３１６、参照文字列決定部３１８、および変換候補文字列決定部３２０として機能する。また、音声認識装置１００においては、ＣＰＵ１５０５が、上記音声認識プログラムを実行して、ディスプレイ１３０またはスピーカ１４０を制御することにより、図３以降で説明する出力部３２２として機能する。また、音声認識装置１００においては、ＣＰＵ１５０５が、上記音声認識プログラムを実行して、通信インターフェース１５５０を制御することにより、図１３で説明する通信部３３０として機能する。
【００２５】
上記音声認識プログラムは、たとえば、音声認識装置１００にインストールされた状態で、ユーザに提供される。他の例として、上記音声認識プログラムは、コンピュータ読み取り可能な記録媒体に格納されてユーザに提供され、音声認識装置１００にインストールされてもよい。この他にも、上記音声認識プログラムは、ＣＰＵ１５０５が実行するプログラムは、外部装置から通信ネットワークを介してユーザに提供され、音声認識装置１００にインストールされてもよい。
【００２６】
図３は、音声認識装置１００の機能構成を示す。ここでは、音声認識装置１００が備える機能のうち、音声認識処理に関連する機能を中心に説明する。音声認識装置１００は、音響モデル格納部３０２、第１言語モデル格納部３０４、第２言語モデル格納部３０６、音声データ取得部３１２、音声認識部３１４、変換対象文字列決定部３１６、参照文字列決定部３１８、変換候補文字列決定部３２０、および出力部３２２を備える。
【００２７】
音響モデル格納部３０２は、音声の特徴量と文字との対応関係およびその統計情報が示されたいわゆる音響モデルを格納する。音声の特徴量としては、ＭＦＣＣ（Mel Frequency Cepstrum Coefficient：メル周波数ケプストラム係数）が挙げられる。第１言語モデル格納部３０４は、文字列間の接続関係およびその統計情報が示されたいわゆる言語モデルを格納する。第２言語モデル格納部３０６は、少なくとも文字列間の接続関係が示された言語モデルを格納する。
【００２８】
ここで、上記接続関係および上記統計情報について説明すると、たとえば、文字列「私に」は、文字列「私」と文字列「に」とが接続されたものといえる。また、文字列「私が」は、文字列「私」と文字列「が」とが接続されたものといえる。そこで、第１言語モデルおよび第２言語モデルには、上記した文字列「私」と文字列「に」との接続関係や、文字列「私」と文字列「が」との接続関係といったような、各文字列間の接続関係が示される。統計情報とは、多数の文章データにおいて、形態素や単語といった単位での文字列の接続がどの程度の確率で起こりうるかを示すものである。たとえば、上記例でいえば、多数の文章データにおける、「私」に「に」が続く確率や、「私」に「が」が続く確率などがこれに該当する。ただし、言語モデルは上記例のような２つの形態素間の接続関係に限らず、「私に」や「私が」を１文字列として接続関係を保ってもよく、その接続数も１、２、３、…のいずれでもよく、音声認識の処理が実行できればよい。
【００２９】
第２言語モデル格納部３０６に格納されている言語モデルは、第１言語モデル格納部３０４に格納されている言語モデルとは別に設けられている言語モデルであり、第１言語モデル格納部３０４に格納されている言語モデルを補うものであるが、その内容は第１言語モデルと異なるものであっても同じものであってもよい。以降、これらを区別するため、第１言語モデル格納部３０４に格納されている言語モデルを「第１言語モデル」と示す。また、第２言語モデル格納部３０６に格納されている言語モデルを「第２言語モデル」と示す。上記において第１言語モデルと第２言語モデルとが別に設けられているとは論理上のことを意味しており、物理的には同一の装置に設けられていてもよく、別々の装置に設けられていてもよい。
【００３０】
図４は、第２言語モデルの一例を示す。図４は、第２言語モデル格納部３０６に格納されている第２言語モデルの一例を示すものである。ここで、すでに説明したとおり、第２言語モデルは、少なくとも文字列の接続関係が示されている。この第２言語モデルは、たとえば、ユーザが過去に入力した文章データベースを分析することにより、予め生成することや、ユーザの入力によって逐次更新するものである。なお、第２言語モデルには、文字列の接続関係のほか、統計情報が示されていてもよい。また、第２言語モデルにおいては、その情報量を抑制するため、統計確率の低い接続関係や、時系列的に古い接続関係が削除されてもよい。図４に示す例では、第２言語モデルとして、形態素単位の文字列間の接続関係が示されている。たとえば、図４に示す例では、第１の文字列「京都」の後方に接続する第２の文字列として、「府」、「市」、「駅」、「の」のそれぞれが対応付けられている。これらの接続関係は、たとえば、ユーザが過去に入力した「京都府の県庁所在地は京都市です」という文字列と、「京都駅は京都の中心ですか」という文字列とが分析されて、これらの文字列に含まれる形態素単位の文字列間の接続関係として、第２言語モデルに加えられたものである。このように、ユーザが過去に入力した文字列に基づいて、ユーザオリジナルの第２言語モデルを形成することで、そのユーザによってまた利用される可能性の高い文字列を、変換候補文字列として提示できる。
【００３１】
図５は、音声認識装置１００による処理の手順を示す。以降、図５に示す処理手順にしたがって、図３に示した各機能部の詳細について説明する。
【００３２】
（ステップＳ５０２）
音声データ取得部３１２が、音声認識処理の対象とする音声データを取得する。具体的には、音声データ取得部３１２は、マイク１２０から入力された音声信号を、音声認識処理の対象とする音声データとして取得する。既に音声データがメモリ等の記憶媒体に格納されている場合、音声データ取得部３１２は、この記憶媒体に格納されている音声データを、音声認識処理の対象とする音声データとして取得してもよい。
【００３３】
（ステップＳ５０４）
音声認識部３１４が、音響モデル格納部３０２に格納された音響モデルおよび第１言語モデル格納部３０４に格納された第１言語モデルに基づく音声認識処理をおこなうことで、ステップＳ５０２で取得された音声データが示す音声を認識して、尤もらしい文字列を、当該認識結果を示す認識文字列として生成する。ここで、音声認識部３１４による音声認識処理の一例について説明する。図６は、音声認識部３１４による音声認識処理の一例を示す。この例では、音声認識部３１４によって、「今から京都駅に行きます」という音声の音声データから、「今から京都的に行きます」という認識文字列が生成されている。この例では、音声認識部３１４は、「駅」を「的」と誤って認識してしまっている。この理由としては、たとえば、「駅」という単語が第１言語モデルに示されていない、音声データに含まれている雑音などにより音声に歪みが生じて「駅」が認識結果およびその候補とされなかった等、様々な理由が挙げられる。なお、音響モデルの構成、第１言語モデルの構成、および音声認識部３１４による音声認識処理の具体的な方法は様々である。本実施形態では、音声データから認識文字列を生成することができればよいため、これを実現することができるものであれば、これらについてどのようなものを用いてもよい。
【００３４】
（ステップＳ５０６）
音声認識部３１４が、ステップＳ５０４で生成された認識文字列を構成する文字列のそれぞれについて、音声認識の信頼度を算出する。ここで、音声認識部３１４によって算出された信頼度の一例について説明する。図７は、音声認識部３１４によって算出された信頼度の一例を示す。図７は、音声認識部３１４によって生成された「今から京都的に行きます」という認識文字列を構成する形態素のそれぞれについての、音声認識部３１４が算出した音声認識の信頼度を示す。ここでいう信頼度とは、音声データから文字列が正しく認識された可能性の度合いを示す。信頼度が高いほど、その文字列が正しく認識された可能性が高いことを示す。たとえば、図７に示す例では、「今から京都的に行きます」という認識文字列を構成する、「今」、「から」、「京都」、「的」、「に」、「行き」、「ます」の各形態素のそれぞれについて、信頼度が示されている。この例では、「今」の信頼度は「９５」、「から」の信頼度は「９２」、「京都」の信頼度は「８０」、「的」の信頼度は「５０」、「に」の信頼度は「７０」、「行き」の信頼度は「９３」、「ます」の信頼度は「９３」である。
【００３５】
たとえば、音声認識部３１４は、音声データの特徴量と音響モデルの特徴量との一致度が高いほど、その文字列の信頼度を高く算出する。また、音声認識部３１４は、第１言語モデルに示されている統計情報に基づいて、この文字列の出現確率や出現頻度が高いほど、この文字列の信頼度を高く算出する。さらに、音響モデルと言語モデルの双方を参照し複合的に信頼度を決定することも考えられる。たとえば、「京都」、「的」、「に」、「行き」、「ます」からなる認識文字列について、「京都」と「に」と「行き」と「ます」とが組み合わせてよく利用される場合は、これらの文字列の出現確率が高いということであるから、これらの信頼度を高める。一方、「的」については、「京都」、「行き」、「ます」との組み合わせはほとんど使用されないとすると、この文字列「的」の出現確率が低いということであるから、この文字列「的」の信頼度を低める。
【００３６】
上記以外にも、文法上の不自然さが少ないものほど信頼性を高く算出したり、同音異義語が多いほど、信頼性を低く算出したりするようにしてもよい。要するに、間違っている可能性が低いものであるほど、その文字列の信頼度を高く算出すればよく、その方法はどのようなものであってもよい。
【００３７】
（ステップＳ５０８）
変換対象文字列決定部３１６が、ステップＳ５０４で生成された認識文字列のうちの、変換対象とする変換対象文字列を決定する。たとえば、変換対象文字列決定部３１６は、音声認識部３１４が生成した認識文字列のうちの、認識結果としての信頼度が所定の閾値よりも低い文字列、あるいはその組み合わせからなる文字列を、変換対象文字列として決定する。この方法を適用した場合、間違っている可能性の高い文字列を、変換対象文字列として決定することができる。また、変換対象文字列をユーザに選択させるようなことがないので、ユーザの操作負担を軽減することができる。たとえば、所定の閾値として「６０」が設定されており、図７に示したとおり、「今から京都的に行きます」という認識文字列を構成する、「今」、「から」、「京都」、「的」、「に」、「行き」、「ます」の各形態素のそれぞれについての信頼度が算出されている場合、変換対象文字列決定部３１６は、これら形態素のうち、信頼度として「６０」よりも低い「５０」が算出されている「的」を、変換対象文字列として決定する。
【００３８】
他の例として、変換対象文字列決定部３１６は、音声認識部３１４が生成した認識文字列のうちの、任意の文字列をユーザに指定させ、ユーザによって指定された文字列を、変換対象文字列として決定するようにしてもよい。たとえば、変換対象文字列決定部３１６は、音声認識部３１４が生成した認識文字列をディスプレイ１３０に表示させる。ユーザは、ディスプレイ１３０に表示された認識文字列に対して、キーボード１５０またはマウス１６０を用いて、誤認識されたと判断した任意の文字列を指定する。そして、変換対象文字列決定部３１６は、このようにしてユーザによって指定された任意の文字列を、変換対象文字列として決定する。この方法を適用した場合、変換対象文字列をユーザが選択するので、間違っていることが確実な文字列を、変換対象文字列として決定することができる。すなわち、高い精度で変換対象文字列を決定することができる。なお、ユーザによる任意の文字列の指定方法は、上記したものに限らない。たとえば、ディスプレイ１３０の表面にタッチパネルが設けられている場合、このタッチパネルによってユーザが任意の文字列を指定するようにしてもよい。
【００３９】
（ステップＳ５１０）
参照文字列決定部３１８が、ステップＳ５０４で生成された認識文字列のうちの、ステップＳ５０８で決定された変換対象文字列の前または後ろに接続された一部の文字列を参照文字列として決定する。具体的には、参照文字列決定部３１８は、音声認識部３１４が生成した認識文字列の前または後ろに接続された文字列のうちの、予め定められた条件に合致する文字列を、参照文字列として決定する。この条件には、変換対象文字列を基準とした参照文字列の方向、参照文字列を構成する文字列の単位、および参照文字列を構成する文字列の数が含まれる。たとえば、認識文字列を基準とした参照文字列の方向には、「前方」、「後方」、または「前方と後方の双方」のいずれかが設定される。また、参照文字列を構成する文字列の単位には、「文字」、「単語」、「形態素」、「文節」等が設定される。また、参照文字列を構成する文字列の数としては、「１」等の任意の整数が設定される。これらが組み合わされて、たとえば「変換対象文字列の前方の１形態素を参照文字列とする」といった条件が予めメモリ等の記憶媒体に格納されているのである。この「変換対象文字列の前方の１形態素を参照文字列とする」という条件によれば、たとえば、上記したとおり、「今から京都的に行きます」という認識文字列のうちの、「的」が変換対象文字列として決定された場合、この「的」の前方にある１つの形態素である「京都」が、参照文字列として決定される。また、「変換対象文字列の前方および後方の１文字を参照文字列とする」という条件によれば、この「的」の前方の１文字である「都」と、後方の１文字である「に」とが、参照文字列として決定される。
【００４０】
（ステップＳ５１２）
変換候補文字列決定部３２０が、第２言語モデルを参照して、当該第２言語モデルにおいてステップＳ５１０で決定された参照文字列との接続関係が示されている文字列を、ステップＳ５０８で決定された変換対象文字列を変換する候補の変換候補文字列として決定する。たとえば、上記したとおり、変換対象文字列として「的」が決定され、参照文字列として「京都」が決定されたとする。そして、図４に示すとおり、第２言語モデルにおいて、文字列「京都」と、「府」、「市」、「駅」、「の」のそれぞれとの対応関係が示されているとする。この場合、変換候補文字列決定部３２０は、これら「府」、「市」、「駅」、「の」のそれぞれを変換候補文字列として決定する。変換候補文字列には、変換対象文字列と同じ文字列が含まれていてもよい。たとえば、上記例では、変換対象文字列「的」に対し、変換候補文字列「的」が含まれていてもよい。
【００４１】
ここで、変換候補文字列決定部３２０は、これら複数の変換候補文字列を、変換対象文字列を変換する候補の変換候補文字列として決定するようにしてもよい。また、変換候補文字列決定部３２０は、変換候補文字列の出力数を抑えるべく、これら複数の変換候補文字列のうちの一部を、変換対象文字列を変換する候補の変換候補文字列として決定するようにしてもよい。
【００４２】
たとえば、変換候補文字列決定部３２０は、参照文字列に対応付けられている複数の文字列のそれぞれについて、変換対象文字列との相関度を算出し、算出した相関度に基づいて、複数の文字列の中から、変換候補文字列を決定してもよい。たとえば、変換候補文字列決定部３２０は、変換対象文字列との相関度の最も高い文字列を変換候補文字列として決定してもよい。また、変換候補文字列決定部３２０は、変換対象文字列との相関度が閾値よりも高い文字列を変換候補文字列として決定してもよい。また、変換対象文字列との相関度の高い順に所定数の文字列を変換候補文字列として決定してもよい。また、変換対象文字列との相関度が閾値以上の文字列を変換候補文字列として決定してもよい。
【００４３】
図８は、変換候補文字列の相関度の一例を示す。図８は、変換対象文字列「的」に対して、変換候補文字列決定部３２０が決定した「府」、「市」、「駅」、「の」という変換候補文字列のそれぞれについての、変換候補文字列決定部３２０が算出した相関度を示す。ここでいう相関度とは、変換対象文字列の類似度を示すものである。たとえば、変換候補文字列決定部３２０は、変換対象文字列との発音の類似度がより高い変換候補文字列の相関度をより高く算出する。この例では、変換候補文字列決定部３２０は、変換対象文字列との発音の類似度を、変換対象文字列と一致する音素（よみがなを示すローマ字）の数に基づいて算出する。すなわち、変換対象文字列との音素の一致度を、変換対象文字列との発音の類似度として算出する。たとえば、「的」の音素は「ｔ」、「ｅ、「ｋ」、「ｉ」である。これに対し、「府」の音素は「ｈ」、「ｕ」である。このように、「的」と「府」とでは、一致する音素の数が「０」であるから、変換候補文字列決定部３２０は、この「０」を、変換候補文字列「府」の相関度として決定する。一方、「駅」の音素は「ｅ」、「ｋ」、「ｉ」である。このように、「的」と「駅」とでは、一致する音素の数が「３」であるから、変換候補文字列決定部３２０は、この「３」を、変換候補文字列「駅」の相関度として決定する。このようにして、変換候補文字列決定部３２０は、複数の変換候補文字列のそれぞれの相関度を算出するのである。そして、たとえば、変換候補文字列決定部３２０は、複数の変換候補文字列のうち、相関度が最も高い文字列、閾値よりも高い文字列、あるいは相関度の高い順に所定数の文字列を、変換対象文字列を変換する候補の変換候補文字列として決定したりするのである。なお、変換候補文字列決定部３２０は、変換対象文字列との発音の類似度を、変換対象文字列と一致するよみがなの数に基づいて算出するなど、上記した変換対象文字列との音素の一致度による方法以外の方法によって算出してもよい。
【００４４】
変換候補文字列決定部３２０は、算出した相関度をそのまま用いて変換候補文字列を決定するのではなく、算出した相関度に対して、所定の係数を乗じたり、加算するなどしてから、変換候補文字列を決定するようにしてもよい。たとえば、子音の一致数に対して、この子音に応じた係数を乗じたり、加算したりし、母音の一致数に対して、この母音に応じた係数を乗じたり、加算したりして、最終的に相関度を決定してもよい。たとえば、変換対象文字列が「的」（ｔｅｋｉ）で、変換候補文字列が「劇」（ｇｅｋｉ）であれば、音素の一致数のみで判断すると、変換候補文字列が「劇」の相関度は「３」となる。このうち、子音の一致数は「１」である。また、母音の一致数は、「２」である。たとえば、子音に応じた係数が「１」であり、母音に応じた係数が「２」であるとする。子音の一致数である「１」に対して、この子音に応じた係数「１」を乗じると、子音の一致数に基づく相関度は「１」となる。また、母音の一致数である「２」に対して、この母音に応じた係数「２」を乗じると、母音の一致数に基づく相関度は「４」となる。これらの相関度を合計することで、最終的な変換候補文字列の相関度を「５」とすることができる。
【００４５】
（ステップＳ５１４）
出力部３２２が、ステップＳ５１２で決定された変換候補文字列を出力する。たとえば、出力部３２２は、変換候補文字列を、認識文字列とともに、ユーザが視認できるよう、ディスプレイ１３０に表示させる。ここで、変換候補文字列が一つの場合、出力部３２２は、認識文字列における変換対象文字列を変換候補文字列に変換するか否かをユーザが選択可能な形態で出力する。また、変換候補文字列が複数の場合、出力部３２２は、これら複数の変換候補文字列を、いずれの変換候補文字列で変換対象文字列を変換するかをユーザが選択可能な形態で出力する。
【００４６】
ここで、変換候補文字列決定部３２０が決定した変換候補文字列が一つであれば、出力部３２２は、認識文字列における変換対象文字列をこの変換候補文字列に変換して、変換後の認識文字列を出力してもよい。また、変換候補文字列が複数であれば、出力部３２２は、これら複数の変換候補文字列を、相関度の高い順に出力するようにしてもよい。この場合、出力部３２２は、相関度の最も高い変換候補文字列だけを出力するようにしてもよく、相関度の高い順に所定数の変換候補文字列を出力するようにしてもよく、相関度の高い順に相関度が閾値以上の変換候補文字列を出力するようにしてもよい。また、出力部３２２は、認識文字列における変換対象文字列を相関度の最も高い変換候補文字列に変換して、変換後の認識文字列を出力してもよい。
【００４７】
図９は、変換候補文字列の出力例を示す。図９に示す画面９００は、出力部３２２による出力処理によって、ディスプレイ１３０に表示された画面である。この画面９００は、認識文字列に含まれる変換対象文字列を、変換候補文字列に変換するための画面である。この画面９００には、認識文字列として「今から京都的に行きます」が表示されている。このうち、変換対象文字列である「的」については、これが変換対象文字列であることをユーザが認識できるように、太字および下線によって、強調表示されている。また、画面９００には、変換候補文字列として「府」、「市」、「駅」、「の」が表示されている。ここで、図８に示したように、これらの変換候補文字列に対して、予め相関度が求められているから、画面９００において、これらの変換候補文字列は、相関度の高い順に表示されている。ユーザは、複数の変換候補文字列の中から任意の変換候補文字列を選択することで、変換対象文字列を、選択した変換候補文字列に変換して、認識文字列を確定することができる。また、ユーザは、任意の変換候補文字列を選択せずに、「確定」ボタン９１０を選択することで、変換対象文字列を変換せずに、認識文字列「今から京都的に行きます」を確定することができる。
【００４８】
（ステップＳ５１６）
変換対象文字列が変更され、もしくは変更されずに、認識文字列が確定すると、音声認識装置１００は、この認識文字列をユーザが利用できるように、メモリ等の記憶媒体に格納したり、他のアプリケーションの入力文字列としたりして、一連の音声認識処理を終了する。
【００４９】
図１０は、変換対象文字列の変換例を示す。図１０に示す画面９００においては、認識文字列として「今から京都駅に行きます」が表示されている。これは、図９に示した画面９００において、変換候補文字列「駅」をユーザが選択したことにより、変換対象文字列「的」が、変換候補文字列「駅」に変換され、この変換後の認識文字列が表示されたからである。ユーザは、「確定」ボタン９１０を選択することで、この認識文字列「今から京都駅に行きます」を、認識文字列として確定することができる。なお、音声認識装置１００は、すでに説明したとおり、このようにユーザの選択によって変換対象文字列「的」を変換するのではなく、変換対象文字列「的」を、最も相関度の高い変換候補文字列「駅」に自動的に変換し、変換後の認識文字列「今から京都駅に行きます」を最初から表示するようにしてもよい。
【００５０】
以上説明したように、第１実施形態の音声認識装置１００は、変換対象文字列に接続された参照文字列を決定し、第２言語モデルにおいて参照文字列との接続関係が示されている文字列を、変換候補文字列として出力することとした。すなわち、第１実施形態の音声認識装置１００は、音声認識処理で間違って認識された文字列に対する変換候補を、上記音声認識処理とは異なる根拠に従って決定することができるものである。これにより、音声認識処理で参照した第１言語モデルにおいて、変換対象文字列を変換するための正しい文字列が登録されていない場合であっても、この正しい文字列が第２言語モデルに登録されていれば、これを変換候補文字列として出力することができる。よって、第１実施形態の音声認識装置１００は、音声認識処理で間違って認識された文字列に対する訂正候補として、より適切な文字列を出力することができる。
【００５１】
（第２実施形態）
次に、第２実施形態を説明する。第１実施形態では、第２言語モデルにおいて文字列間の接続関係が形態素単位で示されていた。これに対し、第２実施形態では、第２言語モデルにおいて文字列間の接続関係がユーザ入力単位で示されている。ユーザがある文字列を入力する場合に、この文字列を複数の部分的な文字列に区切って段階的に入力する場合がある。たとえば、「京都府の県庁所在地は京都市です」という文字列を入力する場合に、この文字列を「京都」、「府の」、「県庁所在地」、「は」、「京都」、「市です」、という複数の部分的な文字列に区切って段階的に入力するといった具合である。
【００５２】
図１１は、第２実施形態にかかる第２言語モデルの一例を示す。図１１は、第２言語モデル格納部３０６に格納されている第２言語モデルの一例を示すものであり、この例では、第２言語モデルとして、ユーザ入力単位の文字列間の接続関係が示されている。たとえば、図１１に示す例では、第１の文字列「京都」の後方に接続する第２の文字列として、「府の」、「市です」、「駅は」、「の」のそれぞれが対応付けられている。これらの接続関係は、たとえば、ユーザが過去に入力した「京都府の県庁所在地は京都市です」という文字列と、「京都駅は京都の中心ですか」という文字列とが分析されて、これらの文字列に含まれるユーザ入力単位の文字列の接続関係として、第２言語モデルに加えられたものである。
【００５３】
部分的な文字列の区切りは、たとえば、ユーザがＥＮＴＥＲキーを押したタイミングや、文字列を変換した単位などによって決定される。たとえば、「京都」、ＥＮＴＥＲキーを押下、「府の」、ＥＮＴＥＲキーを押下という順番で入力がなされば、「京都」、「府の」といった単位で部分的な文字列が決定される。また、「きょうとふの」と入力された後に、「京都ふの」、「京都府の」といった順番で部分的な変換がなされた場合も同様に、「京都」、「府の」といった単位で部分的な文字列が決定される。
【００５４】
ここで、「今から京都的に行きます」という認識文字列から、変換対象文字列決定部３１６によって変換対象文字列として「的」が決定され、参照文字列決定部３１８によって参照文字列として「京都」が決定されたとする。そして、図１１に示すとおり、第２言語モデルにおいて、文字列「京都」に後続する文字列として、「府の」、「市です」、「駅は」、「の」のそれぞれが対応付けられているとする。そして、変換候補文字列決定部３２０が、これらの文字列の中から、「駅は」を変換候補文字列として決定したとする。この場合、「今から京都的に行きます」という認識文字列に対し、変換対象文字列「的」が、変換候補文字列「駅は」に変換されてしまうと、変換後の認識文字列は「今から京都駅はに行きます」となり、「は」が余分に含まれたものとなってしまう。この余分な文字を、ユーザが手作業で削除するようにしてもよいが、この場合、変換候補文字列の前後関係を考慮して手作業で不要な文字を削除する必要があり、ユーザの手間となってしまう。
【００５５】
そこで、この第２実施形態では、このように変換候補文字列に含まれている余分な文字列を、出力部３２２が自動的に削除してから、変換後の変換候補文字列を出力することとした。以下、その具体的な方法を説明する。なお、変換候補文字列決定部３２０が変換候補文字列を決定するまでの処理は、これまで説明したとおりである。
【００５６】
まず、変換候補文字列と変換対象文字列との相関関係に基づいて、変換候補文字列に含まれる不要な文字を削除する自動的に認識し、これを削除する第１の方法および第２の方法について説明する。
【００５７】
第１の方法は、変換対象文字列のよみがなの文字数にあわせて、変換候補文字列から不要な文字を削除する方法である。たとえば、上記例でいえば、変換対象文字列「的」はよみがなで２文字であり、変換候補文字列「駅は」はよみがなで３文字であるから、これにあわせて、変換候補文字列「駅は」の後端１文字である「は」を削除するといった具合である。
【００５８】
第２の方法は、変換候補文字列から変換対象文字列との相関性の高い部分を残しておき、その他の部分を削除する方法である。たとえば、上記例でいえば、変換対象文字列「的」の音素（よみがなを示すローマ字）は「ｔ」、「ｅ」、「ｋ」、「ｉ」である。また、変換候補文字列「駅は」の音素は「ｅ」、「ｋ」、「ｉ」、「ｗ」、「ａ」である。変換候補文字列「駅は」の音素のうち、変換対象文字列「的」の音素との相関性の高い音素として「ｅ」、「ｋ」、「ｉ」を残しておき、その他の音素である「ｗ」、「ａ」を削除する。その結果、変換候補文字列「駅は」から、「は」が削除される。
【００５９】
つぎに、変換候補文字列と参照文字列との接続関係に基づいて、変換候補文字列に含まれる不要な文字を削除する自動的に認識し、これを削除する第３の方法について説明する。
【００６０】
第３の方法は、変換後の認識文字列を仮生成し、これに対して（特に、変換候補文字列と参照文字列との接続関係について）文法チェックをおこなうことにより、変換候補文字列における不要な文字を特定し、これを削除する方法である。たとえば、上記例でいえば、「今から京都的に行きます」という認識文字列に対し、変換対象文字列「的」を、変換候補文字列「駅は」に変換して、変換後の認識文字列として「今から京都駅はに行きます」を仮生成する。そして、これに対して文法チェック処理をおこなえば、「は」が不要になることは明らかであるから、変換候補文字列「駅は」から「は」を削除する。
【００６１】
このように、第２実施形態の音声認識装置は、変換候補文字列と変換対象文字列との相関関係、または変換候補文字列と参照文字列との接続関係に基づいて、変換候補文字列における不要な文字を自動的に認識し、これを削除してから、削除後の変換候補文字列を出力するので、変換候補文字列の前後関係を考慮して手作業で不要な文字を削除する、などといった、ユーザの手間を省くことができる。
【００６２】
（第３実施形態）
次に、第３実施形態を説明する。第１実施形態では、第２言語モデルにおいて、参照文字列と複数の文字列との接続関係が示されている場合、これら複数の文字列の一部または全てを変換候補文字列として出力することとした。ここで、参照文字列との接続関係が示されている文字列が膨大な数の場合、これら複数の文字列の全てを変換候補文字列として出力してしまうと、ユーザが混乱してしまう。また、これら複数の文字列の一部を変換候補文字列として出力すると、膨大な数の文字列の中から変換候補文字列を決定するための処理に時間がかかってしまうばかりか、適切な変換候補文字列を決定することができない。
【００６３】
図１２は、第３実施形態にかかる第２言語モデルの一例を示す。図１２は、第２言語モデル格納部３０６に格納されている第２言語モデルの一例を示すものである。たとえば、図１２に示す例では、第２の文字列「に」は、第１の文字列として、「東京」、「京都」、「教頭」、「犬」、「音声」、「学校」、「どこか」、・・・というように、膨大な数の文字列との接続関係を有する。このために、この第２の文字列「に」を参照文字列として、この第２の文字列「に」との接続関係を有する第１の文字列の全部を変換候補文字列として出力してしまうと、ユーザが混乱してしまう。また、この第２の文字列「に」との接続関係を有する第１の文字列の一部を変換候補文字列として出力すると、変換候補文字列を決定するための処理に時間がかかってしまうばかりか、適切な変換候補文字列を決定することができない。
【００６４】
このように、一つの参照文字列からでは、適切な変換候補文字列を決定できない場合がある。そこで、この第３実施形態では、文字列の範囲が異なる複数の参照文字列を決定し、決定された複数の参照文字列のうちの、適切な変換候補文字列が得られる参照文字列を用いて、変換対象文字列を変換する候補の変換候補文字列を決定することで、適切な変換候補文字列を決定することができる構成とした。以下、その具体的な方法の一例として、上記したように参照文字列との接続関係を有する文字列が膨大な数である場合、参照文字列の範囲を拡張し、これを新たな参照文字列としてから、あらためて、参照文字列との接続関係を有する文字列の一部または全部を変換候補文字列として出力する例を説明する。
【００６５】
この第３実施形態では、第２言語モデルにおいて、参照文字列決定部３１８が決定した参照文字列が所定数以上の文字列との接続関係を有する場合、参照文字列決定部３１８は、認識文字列のうちの、参照文字列とした文字列の範囲を拡張して、拡張後の文字列を新たな参照文字列として決定する。そして、変換候補文字列決定部３２０は、第２言語モデルを参照して、当該第２言語モデルにおいて上記新たな参照文字列との接続関係が示されている文字列を、変換候補文字列として決定する。
【００６６】
たとえば、参照文字列決定部３１８が、「変換対象文字列の後方の１形態素を参照文字列とする」といった条件にしたがって、「今から京都的に行きます」という認識文字列の中から、変換対象文字列である「的」に後続する「に」を参照文字列として決定したとする。
【００６７】
この場合、変換候補文字列決定部３２０が、第２言語モデルを参照して、当該第２言語モデルにおいて参照文字列「に」が後続する文字列として、参照文字列「に」との接続関係が示されている複数の第１の文字列を、変換候補文字列として決定する。たとえば、図１２に示す第２言語モデルによると、「東京」、「京都」、「教頭」、「犬」、「音声」、「学校」、「どこか」・・・といった膨大な数の文字列が、変換候補文字列として仮決定される。
【００６８】
ここで、仮決定された変換候補文字列の数が所定数よりも少ない場合は、この仮決定された変換候補文字列の一部または全部が、正式な変換候補文字列として決定される。一方、仮決定された変換候補文字列の数が所定数よりも多い場合、参照文字列決定部３１８が、「今から京都的に行きます」という認識文字列のうちの、参照文字列とした文字列の範囲を拡張して、拡張後の文字列を新たな参照文字列として決定することとなる。具体的には、参照文字列決定部３１８は、「変換対象文字列の後方の１形態素を参照文字列とする」という条件のうちの形態素の数を増やして、新たな参照文字列を決定する。たとえば、参照文字列決定部３１８は、「変換対象文字列の後方の１形態素を参照文字列とする」という条件のうちの形態素の数を１つ増やして、「変換対象文字列の後方の２形態素を参照文字列とする」と条件に変更し、これに該当する「に行き」を新たな参照文字列とするのである。
【００６９】
この場合、変換候補文字列決定部３２０が、第２言語モデルを参照して、当該第２言語モデルにおいて参照文字列「に行き」が後続する文字列として、参照文字列「に行き」との接続関係が示されている複数の第１の文字列を、変換候補文字列として決定する。たとえば、図１２に示す第２言語モデルによると、「東京」、「京都」、「学校」、「どこか」といった４つの文字列が、変換候補文字列として仮決定される。
【００７０】
ここで、仮決定された変換候補文字列の数が所定数よりも少ない場合は、この仮決定された変換候補文字列の一部または全部が、正式な変換候補文字列として決定される。なおも、仮決定された変換候補文字列の数が所定数よりも多い場合、参照文字列決定部３１８が、「今から京都的に行きます」という認識文字列のうちの、参照文字列とした文字列の範囲をさらに拡張して、拡張後の文字列を新たな参照文字列として決定することとなる。たとえば、参照文字列決定部３１８は、「変換対象文字列の後方の２形態素を参照文字列とする」と変更された条件のうちの形態素の数をさらに１つ増やして、「変換対象文字列の後方の３形態素を参照文字列とする」という条件に変更し、これに該当する「に行きます」を新たな参照文字列とするのである。
【００７１】
この場合、変換候補文字列決定部３２０が、第２言語モデルを参照して、当該第２言語モデルにおいて参照文字列「に行きます」が後続する文字列として、参照文字列「に行きます」との接続関係が示されている複数の第１の文字列を、変換候補文字列として決定する。たとえば、図１２に示す第２言語モデルによると、「東京」、「京都」といった２つの文字列が、変換候補文字列として仮決定される。
【００７２】
このように、第３実施形態の音声認識装置は、参照文字列に対応付けられている文字列の数が所定数よりも少なくなるまで参照文字列の範囲を拡張していく、といった簡素な処理によって、膨大な数の変換候補文字列を、適切な数かつ適切な内容の変換候補文字列へと絞り込んでいくことができるのである。
【００７３】
（第４実施形態）
次に、第４実施形態を説明する。実施形態で説明した各機能部について、これらの一部を外部の情報処理装置に設けて、音声認識装置１００は、外部の情報処理装置から一部のデータを参照したり、外部の情報処理装置に一部の処理をおこなわせたりする構成としてもよい。すなわち、音声認識装置１００は、第１実施形態のように単独で音声認識処理をおこなうものに限らず、他の情報処理装置との通信をおこなって、音声認識処理をおこなうようなものであってもよい。この第４実施形態では、音声認識装置１００を、他の情報処理装置との通信をおこなって、音声認識処理をおこなうように構成する場合の一例を説明する。
【００７４】
図１３は、第４実施形態にかかる音声認識装置１００の機能構成を示す。この第４実施形態では、音声認識装置１００がクライアント装置１１となり、サーバ装置１２とともに、音声認識システム１０を構成する。そして、音声認識装置１００からの要求に応じて、サーバ装置１２が音声認識処理をおこない、その処理結果を音声認識装置１００へ送信する構成となっている。
【００７５】
図１３は、第４実施形態にかかる音声認識装置１００の機能構成を示す。この第４実施形態では、音声認識装置１００がサーバ装置１２との通信をおこなう通信部３３０を備える。また、音響モデル格納部３０２、第１言語モデル格納部３０４、および音声認識部３１４が、サーバ装置１２に格納されている。これに応じて、音声認識装置１００は、通信部３３０によるサーバ装置１２との通信によって、サーバ装置１２の音声認識部３１４へ音声データを受け渡し、音声認識処理をおこなわせ、その認識結果（認識文字列）を、サーバ装置１２から受け取るようになっている。
【００７６】
このように構成された音声認識システム１０によれば、音響モデル格納部３０２、第１言語モデル格納部３０４、および音声認識部３１４をサーバ装置１２に設けたことで、たとえば、複数のクライアント装置１１が音声認識システムに設けられている場合、これら複数のクライアント装置１１で、音声認識処理を共有することができる。これにより、クライアント装置１１によって音声認識処理結果が異なるようなこともなく、複数のクライアント装置１１に対して均質な音声認識処理結果を提供することができる。また、音響モデルおよび第１言語モデルが一元化されているため、音響モデルおよび第１言語モデルのメンテナンスを容易におこなうことができるようになる。
【００７７】
また、第２言語モデル格納部３０６をサーバ装置１２に設けず、音声認識装置１００に設けたことで、たとえば、複数のクライアント装置１１が音声認識システムに設けられている場合、複数のクライアント装置１１の各々の第２モデルの内容を、各々のクライアント装置１１のユーザの傾向に応じて異ならせることができる。これにより、音声認識システム１０は、あるクライアント装置１１において音声認識処理の要求があると、そのクライアント装置１１のユーザの傾向に応じた第２モデルを適用して、そのユーザが過去に入力した文章に含まれている文字列の中から、変換候補文字列を決定することができるので、クライアント装置１１のユーザに対して、より適切な処理結果を提供することができる。
【００７８】
（変形例）
なお、本発明は、上記した形態での実施に限らず、以下のように変形させて実施してもよい。また、以下の変形例を組み合わせてもよい。
【００７９】
（変形例１）
各実施形態では、音声認識装置の一例として音声認識機能を有するパーソナル・コンピュータを用いたが、これに限らず、音声認識装置は、実施形態で説明した音声認識装置１００と同様の音声認識機能を実現することができるものであれば、携帯電話機、ＰＤＡ（Personal Digital Assistant）、ナビゲーション装置、携帯音楽プレーヤー、ノートＰＣ（Personal Computer）、家電製品など、どのような機器であってもよい。
【００８０】
（変形例２）
第３実施形態では、文字列の範囲が異なる複数の参照文字列を決定し、決定された複数の参照文字列のうちの、適切な変換候補文字列が得られる参照文字列を用いて、変換対象文字列を変換する候補の変換候補文字列を決定する構成の一具体例として、参照文字列に対応付けられている文字列の数が所定数よりも少なくなるまで参照文字列の範囲を後方に拡張していくことによって、変換候補文字列の数を絞り込む例を説明したが、これに限定するものではない。たとえば、参照文字列の範囲を前方に拡張したり、前後の双方に拡張したりすることによって、変換候補文字列の数を絞り込むようにしてもよい。また、参照文字列に対応付けられている文字列の数が下限値よりも少ない場合は、下限値よりも多くなるまで参照文字列の範囲を縮小していくことによって変換候補文字列の数を増やすようにしてもよい。また、参照文字列に対応付けられている文字列のうちの、所定の相関度以上の相関度を有する文字列の数が上限値よりも少なくなるか、もしくは下限値よりも多くなるまで、参照文字列の範囲を拡張していくことによって変換候補文字列の数を絞り込むか、もしくは、参照文字列の範囲を縮小していくことによって変換候補文字列の数を増やすようにしてもよい。また、全ての文字列の相関度がある閾値よりも低ければ、この閾値よりも相関度が高い文字列が出現するまで、参照文字列の範囲を縮小していくことによって変換候補文字列の数を増やすようにしてもよい。また、全ての文字列の相関度がある閾値よりも高ければ、この閾値よりも相関度が低い文字列が出現するまで、参照文字列の範囲を拡張していくことによって変換候補文字列の数を絞り込むようにしてもよい。
【００８１】
（変形例３）
第４実施形態において、複数のクライアント装置１１で音声認識部３１４による音声認識処理を共有することで、複数のクライアント装置１１の各々に対して、均質な処理結果を提供することができる構成であれば、音声認識システム１０は、どのような装置構成であってもよく、また、各装置に対してどのような機能が設けられていてもよい。たとえば、第４実施形態において、音声認識部３１４を、音声認識装置１００に設け、音声認識部３１４は、通信部３３０によるサーバ装置１２との通信によって、サーバ装置１２に設けられた音響モデル格納部３０２および第１言語モデル格納部３０４から、音響モデルおよび第１言語モデルを参照するように構成してもよい。また、音声認識部３１４だけでなく、変換対象文字列決定部３１６や、参照文字列決定部３１８を、サーバ装置１２に設ける構成としてもよい。また、サーバ装置１２およびクライアント装置１１とは別に、音声認識装置１００を設け、音声認識装置１００が、クライアント装置１１から音声データを取得して、そのクライアント装置１１に設けられた第２言語モデルを参照して、これまでに説明した音声認識処理をおこない、その処理結果として、認識文字列および変換候補文字列をそのクライアント装置１１に出力する構成としてもよい。
【００８２】
（変形例４）
各実施形態において、音声認識部３１４は、複数の認識文字列を生成するものであってもよい。たとえば、変換対象文字列決定部３１６が、「今から京都駅に行きます」という音声データから、第１候補の「今から京都的に行きます」という認識文字列と、第２候補の「今から京都劇に行きます」という認識文字列とを生成するといった具合である。
【００８３】
ここで、変換対象文字列決定部３１６が、第１候補の認識文字列から「的」を第１候補の変換対象文字列として決定し、第２候補の認識文字列から「劇」を第２候補の変換対象文字列として決定し、参照文字列決定部３１８が、これらの変換対象文字列に共通する「京都」を参照文字列として決定したとする。この場合、変換候補文字列決定部３２０は、参照文字列「京都」との接続関係を有する文字列の中から、第１候補の変換対象文字列「的」との相関度と、第２候補の変換対象文字列「劇」との相関度との双方に基づいて、変換候補文字列を決定するようにしてもよい。
【００８４】
上記において、たとえば「駅」、「市」、「府」、「の」のそれぞれが変換候補文字列として決定された場合、出力部３２２は、認識文字列として、第１候補の「今から京都的に行きます」という認識文字列を出力し、変換候補文字列として、「駅」、「市」、「府」、「の」のそれぞれに加えて、第２候補の変換対象文字列「劇」を出力してもよい。また、仮に第２の候補の変換対象文字列が、変換候補文字列と同じ「駅」であった場合、変換候補文字列「駅」の優先度を高めて、変換候補文字列として、「駅」、「市」、「府」、「の」を出力してもよい。これによれば、たとえば、「駅」と発音されたが、音声の歪みにより、「駅」が第２の候補の変換対象文字列となってしまった場合であっても、このように優先度を高めることで、正しく「駅」に訂正される可能性を高めることができる。
【符号の説明】
【００８５】
１００…音声認識装置、１１０…本体、１２０…マイク、１３０…ディスプレイ、１４０…スピーカ、１５０…キーボード、１６０…マウス、３０２…音響モデル格納部、３０４…第１言語モデル格納部、３０６…第２言語モデル格納部、３１２…音声データ取得部、３１４…音声認識部、３１６…変換対象文字列決定部、３１８…参照文字列決定部、３２０…変換候補文字列決定部、３２２…出力部、３３０…通信部
【図１】
0005396530.tif 000002
【図２】
0005396530.tif 000003
【図３】
0005396530.tif 000004
【図４】
0005396530.tif 000005
【図５】
0005396530.tif 000006
【図６】
0005396530.tif 000007
【図７】
0005396530.tif 000008
【図８】
0005396530.tif 000009
【図９】
0005396530.tif 000010
【図１０】
0005396530.tif 000011
【図１１】
0005396530.tif 000012
【図１２】
0005396530.tif 000013
【図１３】
0005396530.tif 000014