(57)【要約】      （修正有）【課題】音声認識処理した結果に誤認識が発生していても，それを自動的に修正する誤認識修正装置及びプログラムを提供する。【解決手段】音声認識によって得られた音節文字列を処理対象にして，データプールに登録されている複数のキーワードのうち，音声認識音節文字列に含まれる音節文字列部分に合致する音節文字列又はこれに類似する音節文字列を有するキーワードを検索し，見つかったキーワードによって音声認識音節文字列に含まれる対応する音節文字列部分を置換する。キーワード検索は，データプールに登録されているキーワードのそれぞれについて正規表現を含む検索パターンを作成し，正規表現を含む検索パターンに合致する音節文字列部分を音声認識音節文字列の中から検索することで行われる。【選択図】図１３
2016102866.tif 000002
【特許請求の範囲】
【請求項１】
与えられる音声を音節文字列に変換する音声認識処理手段，
複数の単語およびその音節文字列を対応づけて記憶した単語プール，
上記単語プールに記憶されている複数の単語のうち，上記音声認識音節文字列に含まれる音節文字列部分に合致する音節文字列またはこれに類似する音節文字列を有する単語を検索する単語検索手段，ならびに
単語検索手段によって見つかった単語によって，上記音声認識音節文字列に含まれる，対応する音節文字列部分を置換する単語置換手段を備え，
上記単語検索手段が，
上記単語プールに記憶されている単語のそれぞれについて，正規表現を含む検索パターンを作成する第１の検索パターン作成手段，および
上記第１の検索パターン作成手段によって作成された検索パターンに合致する音節文字列部分を，上記音声認識音節文字列の中から検索する手段を含むことを特徴とする，
誤認識修正装置。
【請求項２】
上記音声認識音節文字列をかな漢字変換するかな漢字変換手段，および
かな漢字変換された文字列の中に上記単語プールに記憶されている単語が含まれるかどうかを判断する手段を備え，
かな漢字変換された文字列の中に上記単語プールに記憶されている単語が含まれていることが判断された場合に，その単語を除いた音声認識音節文字列部分が上記単語検索手段および上記単語置換手段によって処理される，
請求項１に記載の誤認識修正装置。
【請求項３】
上記検索パターンは，
単語の音節文字列のうちのいずれか１文字が欠けた音節文字列を検索可能な検索パターンである，
請求項１または２に記載の誤認識修正装置。
【請求項４】
上記検索パターンは，
単語の音節文字列のうちのいずれか１文字が他の文字で置き換えられた音節文字列を検索可能な検索パターンである，
請求項１から３のいずれか一項に記載の誤認識修正装置。
【請求項５】
上記検索パターンは，
単語の音節文字列に含まれる文字の間に別の文字が挿入された音節文字列を検索可能な検索パターンである，
請求項１から４のいずれか一項に記載の誤認識修正装置。
【請求項６】
上記単語プールに記憶されている複数の単語のそれぞれについての共起単語およびその音節文字列を対応づけて記憶した共起単語プール，
上記単語検索手段によって見つかった単語をターゲットキーワードとして選択するキーワード選択手段，
上記共起単語プールに記憶されている共起単語の中から，上記ターゲットキーワードについての共起単語を特定する共起単語特定手段，
共起単語特定手段によって特定された共起単語の中から，上記音声認識音節文字列からターゲットキーワードを除いた音声認識音節文字列部分に類似する音節文字列を有する共起単語を検索する共起単語検索手段，ならびに
上記共起単語検索手段によって見つかった共起単語によって，上記音声認識音節文字列に含まれる，対応する音節文字列部分を置換する共起単語置換手段を備える，
請求項１から５のいずれか一項に記載の誤認識自動修正装置。
【請求項７】
上記共起単語検索手段は，
上記共起単語プールに記憶されている共起単語のそれぞれについて，正規表現を含む検索パターンを作成する第２の検索パターン作成手段，および
上記第２の検索パターン作成手段によって作成された検索パターンに合致する音節文字列部分を，上記ターゲットキーワードを除いた音声認識音節文字列部分の中から検索する手段を含む，
請求項６に記載の誤認識修正装置。
【請求項８】
特定分野において頻繁に用いられる単語のみをそれぞれ記憶した複数の分野別単語プールを備え，
上記単語検索手段による単語検索処理および上記単語置換手段による音節文字列部分の置換処理が，複数の分野別単語プールのそれぞれを用いて実行される，
請求項１から７のいずれか一項に記載の誤認識修正装置。
【請求項９】
上記複数の分野別単語プールのそれぞれに対応する複数の分野別共起単語プールを備え，
上記共起単語特定手段による共起単語特定処理，上記共起単語検索手段による共起単語検索処理および上記共起単語置換手段による音節文字列部分の置換処理が，複数の分野別共起単語プールのそれぞれを用いて実行される，
請求項８に記載の誤認識修正装置。
【請求項１０】
コンピュータを誤認識修正装置として機能させるためのプログラムであって，
与えられる音声を認識して音節文字列に変換し，
あらかじめ用意される，複数の単語およびその音節文字列を対応づけて記憶した単語プールに記憶されている単語のうち，上記音声認識音節文字列に含まれる音節文字列部分に合致する音節文字列またはこれに類似する音節文字列を有する単語を検索し，
見つかった単語によって，上記音声認識音節文字列に含まれる，対応する音節文字列部分を置換し，
ここで上記単語の検索が，上記単語プールに記憶されている単語のそれぞれについて，正規表現を含む検索パターンを作成し，作成した検索パターンに合致する音節文字列部分を，上記音声認識音節文字列の中から検索するものであることを特徴とする，
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は誤認識修正装置およびプログラムに関する。
【背景技術】
【０００２】
音声データに含まれる言葉を音声認識し，それを文字列に変換する処理が知られている。音声データは辞書データにあらかじめ記憶されている単語に置き換えられることで文字列に変換される。変換後の誤りを少なくする（認識精度を高くする）ために，発音（音データ）とその発音に対応する文字列の組合せを記憶させておくことなどが行われている（たとえば，特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２０７６４２号公報
【０００４】
しかしながら，音声データに雑音が混じると，それだけで変換後の文字列には誤りが生じやすくなる。発音が悪い場合も誤認識は生じやすい。音声データを文字列に変換する音声認識処理では誤認識が全く生じないことはなく，誤認識の発生は避けることができない。
【発明の開示】
【０００５】
この発明は，音声認識処理した結果に誤認識が発生していても，それを自動的に修正できるようにすることを目的とする。
【０００６】
この発明による誤認識修正装置は，与えられる音声を音節文字列に変換する音声認識処理手段，複数の単語およびその音節文字列を対応づけて記憶した単語プール，上記単語プールに記憶されている複数の単語のうち，上記音声認識音節文字列に含まれる音節文字列部分に合致する音節文字列またはこれに類似する音節文字列を有する単語を検索する単語検索手段，ならびに単語検索手段によって見つかった単語によって，上記音声認識音節文字列に含まれる，対応する音節文字列部分を置換する単語置換手段を備え，上記単語検索手段が，上記単語プールに記憶されている単語のそれぞれについて，正規表現を含む検索パターンを作成する第１の検索パターン作成手段，および上記第１の検索パターン作成手段によって作成された検索パターンに合致する音節文字列部分を，上記音声認識音節文字列の中から検索する手段を含むことを特徴とするものである。「音節」とは日本語の場合はかな文字の一文字に相当し，「音節文字列」はかな文字の組合せ（羅列）に相当する。音節文字列は「読み」と表現することもできる。
【０００７】
この発明はコンピュータを誤認識修正装置として機能させるためのプログラムも提供する。このプログラムは，与えられる音声を認識して音節文字列に変換し，あらかじめ用意される，複数の単語およびその音節文字列を対応づけて記憶した単語プールに記憶されている単語のうち，上記音声認識音節文字列に含まれる音節文字列部分に合致する音節文字列またはこれに類似する音節文字列を有する単語を検索し，見つかった単語によって，上記音声認識音節文字列に含まれる，対応する音節文字列部分を置換し，ここで上記単語の検索が，上記単語プールに記憶されている単語のそれぞれについて，正規表現を含む検索パターンを作成し，作成した検索パターンに合致する音節文字列部分を，上記音声認識音節文字列の中から検索することを特徴とする。
【０００８】
与えられる音声が音声認識処理手段によって音節文字列に変換される。変換された音節文字列（音声認識音節文字列）を対象にして，誤認識修正装置による修正処理は行われる。
【０００９】
あらかじめ用意される単語プールに記憶される単語は，漢字表記，漢字と仮名の両方を含む表記，仮名表記等によって記憶される。単語プールには単語の音節文字列（読み）も併せて記憶されており，いわば辞書データである。
【００１０】
この発明によると，単語プールに記憶されている単語のうち，音声認識音節文字列に含まれる音節文字列部分に合致する音節文字列またはこれに類似する音節文字列を有する単語が検索され，検索によって見つかった単語によって，対応する音節文字列部分が置換される。ここで単語検索処理では，単語プールに記憶されている複数の単語を検索対象とするのではなく，逆に上記音声認識音節文字列が検索対象とされる。すなわち，上記単語プールに記憶されている単語のそれぞれについて正規表現を含む検索パターンを作成し，作成された検索パターンに合致する音節文字列部分が上記音声認識音節文字列に含まれているかどうかを判断することで，単語検索は行われる。検索パターンが正規表現を含むので，音声認識音節文字列中に日本語として正しくない音節文字列部分（たとえば辞書に掲載されていない音節文字列部分）が含まれているとしても，その音節文字列部分を，日本語として正しい単語（辞書に掲載されている単語）（単語プールに記憶されている単語）に置換することができる。もちろん，日本語として正しい音節文字列部分は単語プールに記憶されている可能性が高いから正しい単語に置換される。このように，音声認識処理手段によって誤認識が発生し，音声認識音節文字列が日本語として意味をなさない文字列部分を含むとしても，それを日本語として意味をなす文字列部分に修正することができる。
【００１１】
好ましい実施態様では，誤認識修正装置は，上記音声認識音節文字列をかな漢字変換するかな漢字変換手段，およびかな漢字変換された文字列の中に上記単語プールに記憶されている単語が含まれるかどうかを判断する手段を備え，かな漢字変換された文字列の中に上記単語プールに記憶されている単語が含まれていることが判断された場合に，その単語を除いた音声認識音節文字列部分が上記単語検索手段および上記単語置換手段によって処理される。日本語として正しい文字列が生成されやすくなる。
【００１２】
一実施態様では，上記検索パターンは，上記単語の音節文字列のうちのいずれか１文字が欠けた音節文字列を検索可能な検索パターンである。音声認識処理においてある単語の正しい音節文字列（読み）のうちの一音節が欠けた状態で音声認識されたとしても，それを元の正しい単語に修正する（置換する）ことができる。
【００１３】
他の実施態様では，上記検索パターンは，上記単語の音節文字列のうちのいずれか１文字が他の文字で置き換えられた文字列を検索可能な検索パターンである。音声認識処理においてある単語の正しい音節文字列（読み）のうちの一音節が誤った音節によって認識されたとしても，それを元の単語に修正する（置換する）ことができる。
【００１４】
さらに他の実施態様では，上記検索パターンは，上記単語の音節文字列に含まれる文字の間に別の文字が挿入された文字列を検索可能な検索パターンである。音声認識処理においてある単語の正しい音節文字列の並びの中に誤った音節が加わって認識されたとしても，それを元の単語に修正する（置換する）ことができる。
【００１５】
好ましくは，誤認識自動修正装置は，上記単語プールに記憶されている複数の単語のそれぞれについての共起単語およびその音節文字列を対応づけて記憶した共起単語プール，上記単語検索手段によって見つかった単語をターゲットキーワードとして選択するキーワード選択手段，上記共起単語プールに記憶されている共起単語の中から，上記ターゲットキーワードについての共起単語を特定する共起単語特定手段，共起単語特定手段によって特定された共起単語の中から，上記音声認識音節文字列から上記ターゲットキーワードを除いた音声認識音節文字列部分に類似する音節文字列を有する共起単語を検索する共起単語検索手段，ならびに上記共起単語検索手段によって見つかった共起単語によって，上記音声認識音節文字列に含まれる，対応する音節文字列部分を置換する共起単語置換手段を備えている。単語検索手段によって見つけることができなかった誤認識された文字列部分が音声認識音節文字列に未だ存在する場合に，その文字列部分を共起単語によって置き換えることができる。共起単語は，上記単語検索手段によって見つかった単語（ターゲットキーワード）と一緒に用いられることが多い単語である。単語検索手段によって見つけることができなかった誤認識された文字列部分を，日本語として意味をなす文字列に修正する（置換する）ことができる。
【００１６】
好ましくは，上記共起単語検索手段は，上述した単語検索手段と同様に，上記共起単語プールに記憶されている共起単語のそれぞれについて，正規表現を含む検索パターンを作成する第２の検索パターン作成手段，および上記第２の検索パターン作成手段によって作成された検索パターンに合致する音節文字列部分を，上記ターゲットキーワードを除いた音声認識音節文字列部分の中から検索する手段を含む。
【００１７】
一実施態様では，誤認識修正装置は，特定分野において頻繁に用いられる単語のみをそれぞれ記憶した複数の分野別単語プールを備え，上記単語検索手段による単語検索処理および上記単語置換手段による音節文字列部分の置換処理が，複数の分野別単語プールのそれぞれを用いて実行される。日本語として正しい処理結果が生成されやすくなる。好ましくは，上記共起単語プールについても，上記複数の分野別単語プールのそれぞれに対応する複数の分野別共起単語プールが用意され，上記共起単語特定手段による共起単語特定処理，上記共起単語検索手段による共起単語検索処理および上記共起単語置換手段により音節文字列部分の置換処理が，複数の分野別共起単語プールのそれぞれを用いて実行される。複数の分野別単語プールおよび複数の分野別共起単語プールのそれぞれを用いることで，分野ごとの処理結果（誤認識修正結果）が生成されることになる。生成される複数の処理結果のすべてをユーザに提示するようにしてもよいし，複数の処理結果のうち，より確からしい処理結果を所定のルールにしたがって自動的に選択してそれをユーザに提示してもよい。
【図面の簡単な説明】
【００１８】
【図１】誤認識自動修正システムを構成するスマートフォンの外観を示す。
【図２】誤認識自動修正システムを構成するサーバ・コンピュータの電気的構成を示すブロック図である。
【図３】記憶装置に記憶されるデータプールを示す。
【図４】ターゲットキーワード・データプールの一例を示す。
【図５】共起単語データプールの一例を示す。
【図６】誤認識修正処理を示すフローチャートである。
【図７】誤認識修正処理の一部（かな漢字データ利用処理）を詳細に示すフローチャートである。
【図８】誤認識修正処理の一部（音節文字列利用処理）を詳細に示すフローチャートである。
【図９】誤認識修正処理の一部（音節文字列利用処理のうちの検索パターン作成処理）をさらに詳細に示すフローチャートである。
【図１０】誤認識修正処理の一部（音節文字列利用処理のうちの検索パターン作成処理）をさらに詳細に示すフローチャートである。
【図１１】誤認識修正処理の一部（音節文字列利用処理のうちの検索パターンを用いた文字列検索処理）をさらに詳細に示すフローチャートである。
【図１２】（Ａ）は誤認識音節文字列をかな漢字変換した結果を，（Ｂ）はかな漢字変換された文字列を形態素解析した結果を，（Ｃ）はかな漢字変換文字列の一部の文字列がマーキングされている様子を，それぞれ示す。
【図１３】検索パターンの作成の様子を示す。
【図１４】作成された検索パターンを示す。
【図１５】ターゲットキーワード・データプールに登録されたターゲットキーワードのそれぞれについて，検索パターンが作成されている様子を示す。
【図１６】（Ａ）〜（Ｅ）は検索パターンを用いた文字列検索処理の様子を示す。
【図１７】（Ａ）〜（Ｄ）は検索パターンを用いた文字列検索処理の様子を示す。
【図１８】誤認識修正処理の一部（共起単語利用処理）を詳細に示すフローチャートである。
【図１９】共起単語のそれぞれについて，検索パターンが作成されている様子を示す。
【図２０】カテゴリ決定処理の流れを示す。
【図２１】変形例の誤認識修正処理を示すフローチャートである。
【実施例】
【００１９】
１．誤認識自動修正システムのハードウエア構成
図１は誤認識自動修正システムにおいてクライアントとして用いられるスマートフォンの外観を示している。図２は誤認識自動修正システムにおいて上記クライアントと通信するサーバ・コンピュータ（以下，サーバという）の電気的構成を示すブロック図である。
【００２０】
誤認識自動修正システムはクライアント−サーバ・モデルによって構成される。図１を参照して，クライアント（スマートフォン）１は，入力装置および表示装置として機能するタッチパネル２，音声を電気信号に変換するマイクロフォン３，サーバ等との間でデータを送受信する通信装置（図示略），クライアント１の動作を統括的に制御する処理装置（図示略），プログラムおよびデータを記憶する記憶装置（図示略）等を備える。タッチパネル２に表示されるマイクロフォンの形をしたアイコン４ａがクリックされると，クライアント１において音声入力を受付けるためのプログラムが起動し，音声入力ウインドウ４がタッチパネル２上に表示される。マイクロフォン３によって受信された音声データがクライアント１に入力される。
【００２１】
入力された音声データは，クライアント１からネットワーク（インターネットなど）を通じてサーバ10に送信され，サーバ10の通信装置９によって受信される。図２を参照して，サーバ10は，サーバ10の動作を統括的に制御する中央演算処理装置（ＣＰＵ）５，入力装置および表示装置として機能するタッチパネル６，データを一時的に記憶するメモリ７，後述する誤認識自動修正処理を実行するためのプログラム，後述するデータプール等を記憶する記憶装置８，およびクライアント１との間でデータ通信を行うための通信装置９を備えている。後述するように，サーバ10によって誤認識自動修正処理が行われる。クライアント１から送信された音声データに基づいて認識される音節文字列（以下，読みデータという）が文法的または言語的に誤りを含むものであったとしてもそれが修正され（正され），修正された文字列データがクライアント１に送信される。
【００２２】
図３から図５は，サーバ10において実行される誤認識自動修正処理に用いられるデータ（データプール）を示している。図３から図５に示すデータは，サーバ10が備える記憶装置８にあらかじめ記憶される。
【００２３】
図３を参照して，記憶装置８には，カテゴリごとに，ターゲットキーワード・データプール11，13，15と，共起単語データプール12，14，16の組が記憶されている。一例を説明する。図４はグルメに関するカテゴリ１のターゲットキーワード・データプール11のデータ内容を，図５はグルメに関するカテゴリ１の共起単語データプール12のデータ内容を，それぞれ示している。
【００２４】
図４を参照して，ターゲットキーワード・データプール11にはグルメに関連するターゲットキーワード（単語）が多数記憶（登録）されている。ターゲットキーワードのそれぞれは，識別符号（番号），原型，読みデータ（音節文字列）および品詞のデータを含む。「原型」は，漢字によってまたは漢字を含んで表記されることが一般的であれば漢字を使用して，カタカナによってまたはカタカナを含んで表記されることが一般的であればカタカナを使用して，グルメに関する単語を表す。「読みデータ」は音節文字列を表すデータであり，この明細書では読みデータ（音節文字列）をカタカナ表記する。「品詞」には，原型が表す単語に応じて，名詞，形容詞，形容動詞，動詞または副詞のいずれかが記憶される。
【００２５】
図５を参照して，グルメに関するターゲットキーワード・データプール11と組である共起単語データプール12には，グルメに関するターゲットキーワード・データプール11に記憶されている多数のターゲットキーワードのそれぞれについて，同じドキュメント（ウェブページ）のなかで頻繁に一緒に使われる単語（共起単語）が多数記憶（登録）されている。識別符号（番号），ターゲットキーワード（原型），ターゲットキーワードに対する共起単語および共起単語の読みデータが一組のデータとして記憶される。一般には一つのターゲットキーワード（原型）について複数の共起単語が記憶される。
【００２６】
上述したグルメに関するターゲットキーワード・データプール11および共起単語データプール12の組を用いることで，以下に詳述するように，一つの処理結果（誤認識修正処理後の文字列）が生成されて出力される。同様にして，観光（カテゴリ２）に関するターゲットキーワード・データプール13および共起単語データプール14の組（図３参照），宿泊施設（カテゴリＮ）に関するターゲットキーワード・データプール15および共起単語データプール16（図３参照）を用いることでも，それぞれ処理結果が生成されて出力される。すなわち，誤認識自動修正システムではカテゴリごとに処理結果が生成される。カテゴリごとの複数の処理結果はいずれも同じアルゴリズムによって生成されるので，以下の実施例では，グルメに関するターゲットキーワード・データプール11（図４）および共起単語データプール12（図５）の組を用いたときのサーバ10の処理（誤認識自動修正処理）を説明する。
【００２７】
２．誤認識自動修正処理の全体の流れ
図６は，サーバ10において実行される誤認識自動修正処理の全体的な流れを示すフローチャートである。はじめに図６を参照してサーバ10において実行される誤認識自動修正処理を概略的に説明する。
【００２８】
上述したように，クライアント１から入力された音声データは，ネットワークを介してサーバ10に向けて送信され，サーバ10に入力（受信）される（ステップ21）。
【００２９】
音声認識処理，すなわち音声データを音節文字列データ（読みデータ）に変換する処理が実行される（ステップ22）。音声認識処理にはたとえば市販されている音声認識ソフトウエアを利用することができる。
【００３０】
音声認識処理によって音データが変換されて生成される音節文字列データは，日本語として文法的または言語的に誤りがあることがある。この実施例では，「これからうなぎをたべたい」と発話したものの，音声認識処理の結果である音節文字列が「コカラウネギヲタベタイ」であったこと，すなわち誤認識されたことを前提とする。上述した誤認識は，発話をした者の発音が悪いことが原因であることもあるし，音声データに多くの雑音が含まれていることが原因であることもある。いずれにしても，日本語として正しくない（意味の通じない）音節文字列が音声認識処理によって生成された状態を例にして，サーバ10における誤認識修正処理を説明する。
【００３１】
音声認識処理の結果（「コカラウネギヲタベタイ」の音節文字列）（以下，「誤認識音節文字列」という）が誤認識修正処理の対象のデータである。誤認識音節文字列に対して，次の２つの処理が行われる。
【００３２】
その一つは，誤認識音節文字列をかな漢字変換処理し，かな漢字変換処理によって生成された漢字交じりの文字列（「個から畝議を食べたい」）の中に上述したターゲットキーワード・データプール11に登録されているターゲットキーワードが含まれているかどうかを検索し，見つかった文字列部分をマーキングする処理である（ステップ23〜25）。以下，かな漢字変換データを利用するステップ23〜25の処理を「かな漢字変換データ利用処理」という。たとえば「コカラウネギヲタベタイ」の音節文字列から「個から畝議を食べたい」の漢字交じりの文字列が生成され，このうち「食べ」（食べる）がターゲットキーワード・データプール11に登録されている場合，「食べ」の文字列部分に，かな漢字変換データ利用処理によって見つかったターゲットキーワードであることがマーキングされる。この処理は最終的に決定される処理結果の精度を高めるために行われる（詳細は後述する）。
【００３３】
他の一つは，ターゲットキーワード・データプール11に登録されているターゲットキーワードのうち，誤認識音節文字列（「コカラウネギヲタベタイ」）に含まれる一部の音節文字列部分に合致する，またはこれに類似する音節文字列部分（読み）を有するターゲットキーワードを検索し，見つかったターゲットキーワード（原型）によって，誤認識音節文字列中の対応する音節文字列部分を置換する処理である（ステップ26，27）。以下，音節文字列を利用するステップ26，27の処理を「音節文字列利用処理」と呼ぶ。音節文字列利用処理によって，誤認識音節文字列「コカラウネギヲタベタイ」から「コカラ鰻ヲ食べタイ」の文字列が生成される。また，音節文字列利用処理によって置換された文字列部分，ここでは「鰻」および「食べ」には，音節文字列利用処理によって置換された文字列部分（ターゲットキーワード）であることがマーキングされる。音節文字列利用処理の詳細も後述する。
【００３４】
音節文字列利用処理によって生成された文字列（コカラ鰻ヲ食べタイ）に含まれる文字列部分に，音節文字列利用処理で置換された文字列部分であって，かつかな漢字変換データ利用処理においてもマーキングされた文字列部分であるものが存在するかどうかが判断され，そのような文字列部分については，かな漢字変換データ利用処理で見つかったものであることがラベリングされる（ステップ28）。たとえば音節文字列利用処理によって生成された文字列「コカラ鰻ヲ食べタイ」のうち，「食べ」の文字列部分が音節文字列利用処理で置換された文字列部分であり，かつかな漢字変換データ利用処理においてもマーキングされた文字列部分であれば，「食べ」の文字列部分はかな漢字変換データ利用処理で見つかったものであることがラベリングされる。この処理も，最終的に決定される処理結果の精度を高めるために行われる（詳細は後述する）。
【００３５】
ここまでの処理で生成された文字列のうち，ターゲットキーワード以外の音節文字列部分について，共起単語データプール12に登録されている共起単語の中から，その音節文字列部分に合致する，またはこれに類似する音節文字列（読み）を有する共起単語を検索し，見つかった共起単語（原型）によって，対応する音節文字列部分を置換する処理が行われる（ステップ29，30）。データ検索に用いられるデータプールは異なるが，アルゴリズムは上述した音節文字列利用処理（ステップ26，27）と同じである。この処理によって，「コカラ」の音節文字列部分が共起単語「これから」によって置換され，「これから鰻ヲ食べタイ」の文字列が生成される。
【００３６】
最後に残存する音節文字列部分をそのまま確定する（そのままの表現を用いる）ことで誤認識自動修正処理は終了する（ステップ31）。「これから鰻を食べたい」の文字列が生成される。
【００３７】
以上の処理を経ることで，誤認識音節文字列「コカラウネギヲタベタイ」から「これから鰻を食べたい」の処理結果（誤認識修正文字列）が生成される。生成される誤認識修正文は，誤認識音節文字列を単にかな漢字変換することでは得ることができない，日本語として正しい文章となる。生成された誤認識修正文を表す文字列データがサーバ10からクライント１に送信される。クライアント１では，サーバ10から送信された文字列が用いられて，その後の処理（たとえば，検索エンジンを用いたウェブ・ページの検索処理など）に進む。
【００３８】
以下，図７から図１１および図１８のフローチャートおよび図１２から図１７および図１９に示す具体例を参照して，上記処理を詳細に説明する。
【００３９】
３．かな漢字変換データ利用処理
図７は，図６のステップ24の処理を詳細に示すフローチャートである。ここでは「コカラウネギヲタベタイ」の誤認識音節文字列に対してかな漢字変換処理が行われ，「個から畝議を食べたい」の漢字交じりの文字列が生成されているものとする。図１２（Ａ）〜（Ｃ）を参照して図７に示す処理を説明する。
【００４０】
はじめに，かな漢字変換処理後の漢字交じりの文字列に対して形態素解析処理が行われる（ステップ41）。「個から畝議を食べたい」の漢字交じりの文字列（図１２（Ａ））の場合，「個」，「から」，「畝」，「議」，「を」，「食べ」および「たい」の形態素（最小単位）に分割され，それぞれの読み，原型および品詞が判別される（図１２（Ｂ））。形態素解析処理には形態素解析システム「Chasen」などを利用することができる。
【００４１】
分割された形態素のうち，名詞，形容詞，形容動詞，動詞および副詞の品詞を持つ形態素が選択される（ステップ42）。上述の例では，「個」，「畝」，「議」および「食べ」の４つの形態素が選択される。選択された形態素のそれぞれについて，その形態素（単語）が，グルメに関するターゲットキーワード・データプール11（図４参照）にターゲットキーワードとして登録されているかどうかが判断される（ステップ43）。
【００４２】
選択された形態素の中にターゲットキーワードが含まれている場合，その形態素（ターゲットキーワード）に対して，上述したように，その形態素（ターゲットキーワード）がかな漢字変換データ利用処理を用いて見つかったターゲットキーワードであることを示すマーキングが行われる（図６，ステップ25）。たとえば，「個」，「畝」，「議」および「食べ」の４つの形態素のうち，「食べ」（原型「食べる」）がターゲットキーワード・データプール11にターゲットキーワードとして登録されている場合，文字列部分「食べ」について，それがかな漢字変換データ利用処理を用いて見つかったターゲットキーワードであることを示すマーキングが行われる。この様子を図１２（Ｃ）に模式的に示す。
【００４３】
選択された形態素のすべてがターゲットキーワード・データプール11に登録されていない場合には，特段の処理は行われない。
【００４４】
４．音節文字列利用処理（ステップ26，27）
図８は，図６のステップ26の処理を詳細に示すフローチャートである。図９から図１１は図８に示す処理をさらに詳細に示すフローチャートである。図１３から図１７に示す具体例を参照して，図８に示す処理を説明する。
【００４５】
はじめに，グルメに関するターゲットキーワード・データプール11（図４）に記憶されている複数のターゲットキーワードのそれぞれについて，検索パターン（検索式）を作成する処理が行われる（ステップ51）。この検索パターン作成処理は，誤認識音節文字列（コカラウネギヲタベタイ）の中に，ターゲットキーワードに完全に合致する文字列部分が含まれているかを判断するのみならず，これに類似する文字列部分が含まれているかを判断するために行われる処理である。この処理を経ることで，図１５に示すように，ターゲットキーワード・データプール11に登録されているターゲットキーワードのそれぞれについて，一または複数の検索パターンが作成される。
【００４６】
図９および図１０を参照して，図８のステップ51の検索パターンの作成処理を詳細に説明する。
【００４７】
はじめに，ターゲットキーワードのそれぞれを特定するためのカウンタｉがインクリメントされ（ステップ60），ターゲットキーワード・データプール11に記憶されている複数のターゲットキーワードのうち，一のターゲットキーワードがメモリ７に読み出される（ステップ61）。たとえば，図４に示すターゲットキーワード・データプール11に記憶されている複数のターゲットキーワードの中の先頭（No.１ ）のターゲットキーワード（原型「鰻」）が，ターゲットキーワード・データプール11からメモリ７に読み出される。
【００４８】
読み出されたターゲットキーワードの読みデータの文字数Ｔの半分の数が算出され，その数が有効ビット数Ｂとされる（ステップ62）。有効ビット数Ｂについての詳細は後述する。ターゲットキーワードの読みデータの文字数Ｔが奇数であれば，四捨五入した整数が有効ビット数Ｂとされる。たとえば，読み出されたターゲットキーワードの読みデータが「ウナギ」である場合には，文字数が「３」であるから，有効ビット数Ｂとして「２」が算出される。なお，読み出されたターゲットキーワードの読みデータの文字数Ｔが２文字である場合には，例外的に有効ビット数Ｂは２文字とされる。また読み出されたターゲットキーワードの読みデータの文字数Ｔが１文字であれば，そのターゲットキーワードは無視する（そのターゲットキーワードを読み出さない）ようにしてもよい。
【００４９】
最大処理回数Ｐが算出される（ステップ63）。後述するように，検索パターンの作成を試みる処理は，読みデータの文字数Ｔに依存する数だけ繰り返し行われる。最大処理回数Ｐは２Ｔ−１によって算出される。たとえば読出されたターゲットキーワードの読みデータが「ウナギ」であれば，読みデータの文字数Ｔ＝３であるから，最大処理回数Ｐとして「７」（＝２３−１）が算出される。
【００５０】
メモリ７中に，上述した最大処理回数分の検索パターンを記憶する領域が確保され，初期化処理される（ステップ64）。
【００５１】
処理カウンタＣがインクリメントされ（ステップ65），カウンタＣが最大処理回数Ｐよりも小さいかどうかが判断される（ステップ66）。
【００５２】
カウンタＣが最大処理回数Ｐよりも小さい場合（ステップ66でYES ），カウンタＣの数値が２進数化される（図10，ステップ70）。たとえば最初の処理であればカウンタＣ＝１であり，この２進数は「００１」である（図１３参照）。なお，２進数化カウンタＣのビット数は，処理対象のターゲットキーワードの読みデータの文字数Ｔに合わせられる。
【００５３】
２進数化カウンタＣにおけるビット「１」の数Ｎが取得され（ステップ71），ビット「１」の数Ｎが上述した有効ビット数Ｂ以上であるかが判断される（ステップ72）。ビット「１」の数Ｎが有効ビット数Ｂ以上である場合，検索パターンの作成処理に進む（ステップ72でYES ）。ビット「１」の数Ｎが有効ビット数Ｂ未満のときには検索パターンの作成処理に進まず，カウンタＣがインクリメントされる（ステップ72でNO，ステップ76）。これは，後述するように作成される検索パターン（図１３）において，たとえば１文字だけ合致すればヒットされることになる検索パターンの作成を避けるための処理である。たとえば，２進数化カウンタＣが「００１」であれば，これに含まれるビット「１」の数Ｎは「１」である。読みデータの文字数Ｔを用いて算出される有効ビット数Ｂ＝２とすると，ビット「１」の数Ｎ（＝１）＜有効ビット数Ｂ（＝２）であるから，検索パターンの作成処理に進まずにカウンタＣがインクリメントされることになる。
【００５４】
カウンタＣがインクリメントされた後，ステップ66からの処理が繰り返される。カウンタＣ＝２の場合，その２進数化カウンタＣは「０１０」である。この場合もビット「１」の数Ｎ（＝１）＜有効ビット数Ｂ（＝２）であるから，検索パターンの作成処理に進まずにカウンタＣがさらにインクリメントされる（ステップ72でNO，ステップ76，ステップ66，図１３）。
【００５５】
カウンタＣ＝３の場合，その２進数カウンタＣは「０１１」である。ビット「１」の数Ｎ＝２であり，ビット「１」の数Ｎ（＝２）≧有効ビット数Ｂ（＝２）となるので，検索パターンの作成処理に進む（ステップ72でYES）。
【００５６】
２進数化カウンタＣを用いて文字パターンが作成される（ステップ73）。図１３を参照して具体的に説明する。処理対象のターゲットキーワードの読みデータが「ウナギ」であり，２進数化カウンタＣが「０１１」であるとする。この場合には「○ナギ」が文字パターンとして作成される。すなわち，２進数化カウンタＣ「０１１」に含まれるビット０について，その位置に「○」を対応づけ，ビット１についてその位置の読みデータ（音節）をそのまま対応づけたものが，作成される文字パターンである。上述したように，２進数化カウンタＣはターゲットキーワードの読みデータの文字数Ｔと同じビット数を持つので，２進数化カウンタＣの値（フラグのオン／オフと言ってもよい）に応じて，文字パターンが作成されることになる。
【００５７】
作成された文字パターンを用いて次に検索パターンが作成される（ステップ74）。検索パターンは次のようにして行われる。
【００５８】
（１）文字パターンに含まれる○を無視する。
（２）○以外の文字が連続している場合，文字と文字との間に正規表現（.*?）を加える。
（３）（２）の処理で正規表現(.*?)が連続する場合には１つの正規表現(.*?)とする。
【００５９】
正規表現(.*?)の意味は後述する。
【００６０】
図１３を参照して，たとえば文字パターンが「○ナギ」であれば，「ナ(.*?)ギ 」が作成される検索パターンである。作成された検索パターンはメモリ７に記憶され（ステップ75），その後カウンタＣがインクリメントされて（ステップ76），ステップ66からの処理が繰り返される。
【００６１】
図１３を参照して，読みデータが「ウナギ」であるターゲットキーワードを処理対象にして上述の処理を行うと，上述したように，カウンタＣ＝１およびカウンタＣ＝２のときの処理では検索パターンは作成されず，カウンタＣ＝３のときの処理で検索パターン「ナ(.*?)ギ 」が作成される。カウンタＣ＝４のときの処理では検索パターンは作成されず，カウンタＣ＝５，６および７のときの処理では，検索パターン「ウ(.*?)ギ」，「ウ(.*?)ナ」および「ウ(.*?)ナ(.*?)ギ」がそれぞれ作成される。
【００６２】
カウンタＣがさらにインクリメントされてＣ＝８になると，カウンタＣが読みデータの文字数Ｔに応じて算出された最大処理回数Ｐ（＝７）を超える（ステップ66でNO）。ここまでの処理で作成された検索パターン（図１３）が，正規表現(.*?) 以外の文字数の多い順番に並び替えられ（ステップ67），これによりターゲットキーワード「鰻」についての処理が終了する。並び替えを終えた検索パターンは，ターゲットキーワードの原型，読みデータ，読みデータの文字数，検索パターンに含まれる文字数とともに，メモリ７に記憶される（図１４）。
【００６３】
次にカウンタｉがインクリメントされて，ターゲットキーワード・データプール11に登録されている次のターゲットキーワードに対する処理に進む（ステップ68，ステップ69でNO）。ターゲットキーワード・データプール11に登録されているすべてのターゲットキーワードについて上述の処理を終えると，検索パターンの作成処理は終了する（ステップ69でYES）。
【００６４】
図１５は，図４に示すターゲットキーワード・データプール11に登録されているターゲットキーワードについて作成される検索パターンを示している。
【００６５】
図８に戻って，次に，作成した検索パターンが用いられて，これに合致する文字列を誤認識音節文字列の中から検索する処理が行われる（ステップ52）。
【００６６】
図１１は検索パターンを用いた文字列検索処理の詳細を示すフローチャートである。
【００６７】
はじめに，上述した正規表現(.*?)を含む検索パターンについて説明する。
【００６８】
正規表現(.*?)はパターンマッチ文字列を表すもので，(.*?)の部分に文字は無くてもよいこと，および(.*?) の部分は何文字でもよい（ただし文字長が最も短い部分が選ばれる）ことを表すものである。
【００６９】
たとえば，検索パターン「ウ(.*?)ナ(.*?)ギ」は，検索対象の音節文字列に「ウナギ」が含まれていればその部分がヒットする。また，検索対象の文字列が「アソノウマノナキゴエニギョーテンスル」（阿蘇の馬の鳴き声に仰天する）であれば，「ウマノナキゴエニギ」の部分がヒットする。同様にして，検索パターン「ナ(.*?)ギ 」は，検索対象の文字列に「ナギ」，「ナイスギフト」（ヒット部分は「ナイスギ」），「ナミノリギャル」（ヒット部分は「ナミノリギ」）などが含まれているとヒットする。
【００７０】
図１１を参照して，検索パターンを用いた文字列検索処理は，ターゲットキーワード・データプール11に登録されている複数のターゲットキーワードのそれぞれについて作成された検索パターンを用いて並列的に行われる。
【００７１】
図１１のフローチャートの一番左の処理を参照して，この処理では，ターゲットキーワード・データプール11（図４）に最初に登録されているターゲットキーワード「鰻」から作成された検索パターンを用いて検索処理が行われ，次にターゲットキーワード・データプール11において２番目に登録されているターゲットキーワード「鯛」から作成された検索パターンを用いて検索処理が行われ，最終的に最後（Ｍ番目）に登録されているターゲットキーワード（図４に示すターゲットキーワード・データプール11の場合，１２番目の「減る」）から作成された検索パターンを用いて検索処理が行われる。図１１の左から２番目の処理では，はじめにターゲットキーワード・データプール11において２番目に登録されているターゲットキーワード「鯛」から作成された検索パターンを用いて検索処理が行われ，次に３番目に登録されているターゲットキーワード「ネギ焼き」から作成された検索パターンを用いて検索処理が行われ，最終的に１番目に登録されているターゲットキーワード「鰻」から作成された検索パターンを用いて検索処理が行われる。
【００７２】
並列処理の一つ（図１１の一番左の処理）を説明する。カウンタｊがインクリメントされ（ステップ70），ターゲットキーワード・データプール11の１番目に登録されているターゲットキーワード「鰻」から作成された検索パターンのそれぞれ（図１４，図１５参照）が用いられて，誤認識音節文字列「コカラウネギヲタベタイ」を処理対象とする文字列検索が行われる。ターゲットキーワード「鰻」からは，「ウ(.*?)ナ(.*?)ギ」，「ナ(.*?)ギ 」，「ウ(.*?)ギ」および「ウ(.*?)ナ」の正規表現を用いた４つの検索パターンが作成されている。４つの検索パターンのすべてについて，検索パターンに合致する文字列部分が誤認識音節文字列に含まれるかどうかが判断される（ステップ71ａ，72ａ）。
【００７３】
図１６（Ａ）〜（Ｅ）を参照して具体的に説明する。誤認識音節文字列「コカラウネギヲタベタイ」については，「ウ(.*?)ナ(.*?)ギ」，「ナ(.*?)ギ」および「ウ(.*?)ナ」の３つの検索パターンではヒットせず，検索パターン「ウ(.*?)ギ」によって「ウネギ」の部分がヒットする（図１６（Ａ））。
【００７４】
ヒットした文字列部分が動詞の後ろに続くかどうかが判断される（ステップ73ａ）。ヒットした文字列部分の前方の文字列部分が動詞であるかどうかは，たとえば辞書データを用いて判断される。ヒットした文字列部分が動詞の後ろに続く文字列部分でない場合には，ヒットした文字列部分に対応するターゲットキーワード（上述の場合「鰻」）がメモリ７に保存され，かつヒットした文字列部分が誤認識音節文字列から除去される（ステップ74ａ）。カウンタｊがインクリメントされて，次のターゲットキーワード「鯛」から作成された検索パターンを用いた処理に進む（ステップ75ａ，76ａでNO）。検索パターンに合致する文字列部分が見つからなかった場合にも，カウンタｊがインクリメントされて次のターゲットキーワードから作成された検索パターンを用いた処理に進む（ステップ72ａでNO，ステップ75ａ，ステップ76ａでNO，ステップ71ａ）。
【００７５】
誤認識音節文字列「コカラウネギヲタベタイ」からヒットした文字列部分「ウネギ」を除去した文字列部分「コカラ」および「ヲタベタイ」のそれぞれが処理される（図１６（Ｂ））。「ヲタベタイ」に含まれる「タイ」の部分が，ターゲットキーワード「鯛」から作成される検索パターン「タ(.*?)イ 」によってヒットする。しかしながら，ヒットした文字列部分「タイ」は動詞「タベ」に続く文字列部分であるので，ターゲットキーワード「鯛」はメモリ７に保存されずに，除去もされないことになる（ステップ73ａでYES ）。同様の処理が，次のターゲットキーワード「ネギ焼き」，さらに次のターゲットキーワード「ラーメン」などから作成された検索パターンを用いて行われる（ステップ75ａ，ステップ76ａでNO，ステップ71ａ）。
【００７６】
「ヲタベタイ」に含まれる「タベ」の文字列部分は，ターゲットキーワード「食べる」から作成される検索パターン「タ(.*?)ベ 」によってヒットする（図１６（Ｃ））。ヒットした文字列部分に対応するターゲットキーワード（上述の場合「食べ」）がメモリ７に保存される。また，ヒットした文字列部分が誤認識音節文字列から除去される（ステップ74ａ）。
【００７７】
「タベ」の文字列部分がさらに除去されることで，残りは「コカラ」，「ヲ」および「タイ」となる（図１６（Ｄ））。これらの文字列部分のそれぞれについて，残りのターゲットキーワードから作成された検索パターンを用いた検索処理が行われる（ステップ75ａ，76ａでNO，71ａ）。全く文字列がヒットしなかった場合，そこで検索パターンを用いた検索処理は終了する（ステップ76ａでYES ）。結局，「鰻」と「食べる」の２つのターゲットキーワードがメモリ７に記憶される（図１６（Ｅ））。
【００７８】
並列処理のそれぞれは同じ処理結果とならないことがある。図１７（Ａ）〜（Ｄ）は，ターゲットキーワード「鰻」よりも先にターゲットキーワード「ネギ焼き」から作成された検索パターンを用いた文字列検索が行われたときの処理の流れを示している。ターゲットキーワード「ネギ焼き」から作成された検索パターンを用いた検索処理が行われると，誤認識音節文字列「コカラウネギヲタベタイ」における「ネギ」の文字列部分がヒットする。これに続く処理を示す図１７（Ｂ），（Ｃ）は，上述した図１６（Ｃ），（Ｂ）とそれぞれ同じになる。結局，「ネギ焼き」と「食べる」の２つのターゲットキーワードがメモリ７に記憶される（図１７（Ｄ））。
【００７９】
並列処理によって上述のように２つ以上の検索結果が生成された場合には，次のルールにしたがって，誤認識音節文字列中の文字列を置換するために用いるべきターゲットキーワードが選ばれる（図８，ステップ53）。
【００８０】
（１）ターゲットキーワードの数が多い検索結果を採用する。
２つ以上の検索結果におけるターゲットキーワード数が同数である場合，
（２）同じターゲットキーワードが含まれていれば，そのターゲットキーワードを，置換に用いるターゲットキーワードに決定する。図１６（Ｅ）に示す検索結果と図１７（Ｄ）に示す検索結果には，同じターゲットキーワード「食べる」が含まれている。ターゲットキーワード「食べる」は置換すべきターゲットキーワードに決定される。
（３）異なるターゲットキーワードが含まれている場合には，ヒットした検索パターンに含まれる文字数が多いターゲットキーワードを，置換すべきターゲットキーワードに決定する。
（４）ヒットした検索パターンに含まれる文字数が同じであれば，ターゲットキーワードの読みの数が少ない方を，置換すべきターゲットキーワードに決定する。図１６（Ｅ）に示す検索結果と図１７（Ｄ）に示す検索結果であれば，ターゲットキーワード「ネギ焼き」ではなく，ターゲットキーワード「鰻」が，置換すべきターゲットキーワードに決定される。
【００８１】
図６に戻って，誤認識音節文字列「コカラウネギヲタベタイ」のうち，決定されたターゲットキーワードによって対応する文字列部分が置換される（ステップ27）。上述の例では，「コカラ鰻ヲ食べタイ」の文字列が作成されることになる。上述したように，置換されたターゲットキーワードには，音節文字列利用処理によって置換された文字列部分であることがマーキングされる。
【００８２】
上述したラベリング処理（図６のステップ28）を経て，次に，ここまでの処理で生成された文字列のうちの，ターゲットキーワード以外の音節文字列部分に対する処理に進む。
【００８３】
５．共起単語利用処理（ステップ29，30）
図１８は，図６のステップ29の処理を詳細に示すフローチャートである。
【００８４】
はじめに共起単語データプール12（図３，図５）に登録されている複数の共起単語のうち，上述ようにして決定されたターゲットキーワード「鰻」および「食べる」についての共起単語が読み出される（ステップ81）。なお，決定されたターゲットキーワードと同一の共起単語および重複した共起単語は読み出されずに削除される（ステップ82）。
【００８５】
読み出された共起単語のそれぞれについて検索パターンが作成される（ステップ83）。検索パターンの作成処理のアルゴリズムは，上述したターゲットキーワードのそれぞれについての検索パターンの作成処理のアルゴリズムと同じである（図９，図１０参照）。図１９に示すように，共起単語のそれぞれについて，一または複数の検索パターンが生成される。
【００８６】
次に，誤認識音節文字列からターゲットキーワードを除いた残りの文字列部分に対して，共起単語から作成された検索パターンを用いて文字列検索処理が行われる（ステップ84）。この処理も，上述したターゲットキーワードから作成される検索パターンを用いた文字列検索処理のアルゴリズムと同じアルゴリズムで行われる（図１１参照）。読み出された共起単語のそれぞれから作成された検索パターンを用いた検索処理は，並列的に行われる。
【００８７】
「コカラ鰻ヲ食べタイ」のうち，ターゲットキーワード「鰻」および「食べ」を除いた文字列部分は，「コカラ」，「ヲ」および「タイ」である。これらの文字列部分に合致する，またはこれらの文字列部分に類似する共起単語が検索されることになる。
【００８８】
たとえば，共起単語「これから」から作成される複数の検索パターンのうち，「コ(.*?)カ(.*?)ラ」の検索パターンによって「コカラ」の文字列部分がヒットする。ヒットした文字列部分「コカラ」が，共起単語「これから」によって置換されることになる（図６，ステップ30）。
【００８９】
ここまでの処理を経て置換されていない文字列部分はそのままとされる（図６，ステップ31）。すなわち，置換されていない文字列部分「ヲ」および「タイ」はそのまま用いられる。これにより「これから鰻を食べたい」の文字列が完成する。
【００９０】
カテゴリ「グルメ」に関するターゲットキーワードが格納されたターゲットキーワード・データプール11および共起単語データプール12を用いた誤認識修正処理に加えて，上述したように，カテゴリ「観光」に関するターゲットキーワードが格納されたターゲットキーワード・データプール13および共起単語データプール14を用いた誤認識修正処理，カテゴリ「宿泊施設」に関するターゲットキーワードが格納されたターゲットキーワード・データプール15および共起単語データプール16を用いた誤認識修正処理も，平行して行われる（図３参照）。
【００９１】
図２０は，カテゴリごとに誤認識修正処理が行われることで作成される，複数の処理後文字列（解析結果，誤認識修正結果）のうち，最終結果として選択すべき文字列（カテゴリ）を決定する処理を示している。
【００９２】
カテゴリ決定処理（ステップ91）では，以下のアルゴリズムによって最終結果として選択すべき文字列（カテゴリ）が決定される。
【００９３】
（１）漢字変換データ利用処理でマーキングされた文字列部分の数が多いものを，最終結果として選択する。
（２）漢字変換データ利用処理でマーキングされた文字列部分の数が同数であれば，音節文字列利用処理において置換されたターゲットキーワードの数が多いものを，最終結果として選択する。
（３）音節文字列利用処理において置換されたターゲットキーワードの数も同数であれば，共起単語利用処理において置換された共起単語の数が多いものを，最終結果として選択する。
【００９４】
一般にグルメに関する言葉を含む音声データであれば，グルメに関するデータプール11，12を用いて得られた文字列が最終結果として選択されやすい。もっとも，カテゴリごとの処理後文字列（誤認識修正結果）のすべてをユーザに提示するようにしてもよい。
【００９５】
上述した実施例では，誤認識修正処理の中で検索パターン（ターゲットキーワードについての検索パターンおよび共起単語についての検索パターン）を作成しているが，あらかじめ検索パターンを作成しておき，データプール11，12等に記憶させてもよい。
【００９６】
図２１は，サーバ10において実行される誤認識自動修正処理の変形例を示すフローチャートである。図６に示すフローチャートと同一の処理には同一の符号を付し，重複した説明を避ける。
【００９７】
上述した実施例の誤認識自動修正処理では，かな漢字変換利用処理はマーキング（図６のステップ25）およびカテゴリの決定（図２０のステップ91）を行うために用いられ，音節文字列利用処理（ステップ26，27）は音声認識処理（ステップ22）によって得られた誤認識音節文字列全体を処理対象にしている。図２１に示す処理では，かな漢字変換利用処理でターゲットキーワードが見つかった場合，見つかったターゲットキーワードを最終的な処理結果に常に含ませ，残りの音節文字列部分を音節文字列利用処理（ステップ26，27）とすることが行われる。
【００９８】
誤認識音節文字列「コカラウネギヲタベタイ」をかな漢字変換することで「個から畝議を食べたい」が生成され，このかな漢字変換データのうち，ターゲットキーワード・データプール11（図４参照）に「食べ」が記憶されている場合，文字列部分「食べ」は，その時点で最終的な処理結果に用いることが確定される。文字列部分「食べ」以外の部分が読みデータに戻される（ステップ95）。文字列部分「食べ」を除いて，「コカラウネギヲ」の読みデータと「タイ」の読みデータとが，音節文字列利用処理（ステップ26，27）の処理対象とされる。音節文字列利用処理の負担を軽くすることができる。
【符号の説明】
【００９９】
１  クライアント（スマートフォン）
３  マイクロフォン
５  ＣＰＵ（音声認識処理手段，単語検索手段，単語置換手段，第１および第２の検索パターン作成手段，キーワード選択手段，共起単語検索手段，共起単語置換手段）
７  メモリ
８  記憶装置
10  サーバ・コンピュータ
11，13，15  ターゲットキーワード・データプール（単語プール）
12，14，16  共起単語データプール（共起単語プール）
【図１】
2016102866.tif 000003
【図２】
2016102866.tif 000004
【図３】
2016102866.tif 000005
【図４】
2016102866.tif 000006
【図５】
2016102866.tif 000007
【図６】
2016102866.tif 000008
【図７】
2016102866.tif 000009
【図８】
2016102866.tif 000010
【図９】
2016102866.tif 000011
【図１０】
2016102866.tif 000012
【図１１】
2016102866.tif 000013
【図１２】
2016102866.tif 000014
【図１３】
2016102866.tif 000015
【図１４】
2016102866.tif 000016
【図１５】
2016102866.tif 000017
【図１６】
2016102866.tif 000018
【図１７】
2016102866.tif 000019
【図１８】
2016102866.tif 000020
【図１９】
2016102866.tif 000021
【図２０】
2016102866.tif 000022
【図２１】
2016102866.tif 000023