文字列を受け付ける受付手段と、前記受付手段によって受け付けられた文字列を既知語と未知語に分類する分類手段と、前記分類手段によって未知語と分類された文字列を誤り語として検出し、前記分類手段によって未知語と分類された第1の文字列と第2の文字列の間にあり、前記分類手段によって既知語と分類されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第3の文字列を誤り語として検出する検出手段を具備することを特徴とする情報処理装置。前記分類手段によって未知語と分類された文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、該文字列は未知語であるか否かを判断する第1の判断手段をさらに具備し、前記検出手段は、前記第1の判断手段によって未知語と判断された文字列を誤り語として検出し、前記第1の判断手段によって未知語と判断された第4の文字列と第5の文字列の間にあり、前記分類手段によって既知語と分類されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第6の文字列を誤り語として検出することを特徴とする請求項1に記載の情報処理装置。前記検出手段によって誤り語として検出された文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、該文字列は誤り語であるか否かを判断する第2の判断手段をさらに具備することを特徴とする請求項1又は2に記載の情報処理装置。前記検出手段によって誤り語として検出された前記第3の文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、該第3の文字列は誤り語であるか否かを判断する第3の判断手段をさらに具備することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。前記分類手段によって未知語と分類された文字列であって、該文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、該文字列は未知語であるか否かを判断する第4の判断手段をさらに具備し、前記検出手段は、前記第4の判断手段によって未知語と判断された文字列を誤り語として検出し、前記第4の判断手段によって未知語と判断された第7の文字列と第8の文字列の間にあり、前記分類手段によって既知語と判断されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第9の文字列を誤り語として検出することを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。コンピュータを、文字列を受け付ける受付手段と、前記受付手段によって受け付けられた文字列を既知語と未知語に分類する分類手段と、前記分類手段によって未知語と分類された文字列を誤り語として検出し、前記分類手段によって未知語と分類された第1の文字列と第2の文字列の間にあり、前記分類手段によって既知語と分類されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第3の文字列を誤り語として検出する検出手段として機能させるための情報処理プログラム。本発明は、文字列に誤りが含まれているが、その文字列が既知語であるために誤り語ではないと判断されてしまうことを抑制するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。請求項1の発明は、文字列を受け付ける受付手段と、前記受付手段によって受け付けられた文字列を既知語と未知語に分類する分類手段と、前記分類手段によって未知語と分類された文字列を誤り語として検出し、前記分類手段によって未知語と分類された第1の文字列と第2の文字列の間にあり、前記分類手段によって既知語と分類されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第3の文字列を誤り語として検出する検出手段を具備することを特徴とする情報処理装置である。請求項2の発明は、前記分類手段によって未知語と分類された文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、該文字列は未知語であるか否かを判断する第1の判断手段をさらに具備し、前記検出手段は、前記第1の判断手段によって未知語と判断された文字列を誤り語として検出し、前記第1の判断手段によって未知語と判断された第4の文字列と第5の文字列の間にあり、前記分類手段によって既知語と分類されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第6の文字列を誤り語として検出することを特徴とする請求項1に記載の情報処理装置である。請求項3の発明は、前記検出手段によって誤り語として検出された文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、該文字列は誤り語であるか否かを判断する第2の判断手段をさらに具備することを特徴とする請求項1又は2に記載の情報処理装置である。請求項4の発明は、前記検出手段によって誤り語として検出された前記第3の文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、該第3の文字列は誤り語であるか否かを判断する第3の判断手段をさらに具備することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置である。請求項5の発明は、前記分類手段によって未知語と分類された文字列であって、該文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、該文字列は未知語であるか否かを判断する第4の判断手段をさらに具備し、前記検出手段は、前記第4の判断手段によって未知語と判断された文字列を誤り語として検出し、前記第4の判断手段によって未知語と判断された第7の文字列と第8の文字列の間にあり、前記分類手段によって既知語と判断されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第9の文字列を誤り語として検出することを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。請求項6の発明は、コンピュータを、文字列を受け付ける受付手段と、前記受付手段によって受け付けられた文字列を既知語と未知語に分類する分類手段と、前記分類手段によって未知語と分類された文字列を誤り語として検出し、前記分類手段によって未知語と分類された第1の文字列と第2の文字列の間にあり、前記分類手段によって既知語と分類されており、該既知語の数が予め定めた数未満又は以下である場合は、該既知語によって構成されている第3の文字列を誤り語として検出する検出手段として機能させるための情報処理プログラムである。請求項1の情報処理装置によれば、文字列に誤りが含まれているが、その文字列が既知語であるために誤り語ではないと判断されてしまうことを抑制することができるようになる。請求項2の情報処理装置によれば、文字コードに関する規則に沿っているか否かによって未知語であるか否かを判断することができるようになる。請求項3の情報処理装置によれば、文字コードに関する規則に沿っているか否かによって誤り語であるか否かを判断することができるようになる。請求項4の情報処理装置によれば、文字列の長さによって未知語であるか否かを判断することができるようになる。請求項5の情報処理装置によれば、文字列の長さによって誤り語であるか否かを判断することができるようになる。請求項6の情報処理プログラムによれば、文字列に誤りが含まれているが、その文字列が既知語であるために誤り語ではないと判断されてしまうことを抑制することができるようになる。まず、以下に説明する実施の形態の概略を説明する。この実施の形態は、テキストを処理対象として、テキストに含まれる誤りを検出する技術に属する。特に、単語解析の未知語に基づく技術に属する。いま、あるテキストが、誤りを発生しうる変換によって、変換されたとする。誤りを発生しうる変換とは、人間によるタイピングキーボード、タッチパネル等を用いた手入力や文字認識画像である文字をテキストである文字に変換する技術であって、認識率は100とは限らない等である。一般に、単語に基づく文字列の誤り検出は、単語解析を要する。単語解析とは、不特定多数の単文字の連なりである文字列に対して、単語又は、その領域の切れ目の連なりを出力する処理である。単語に基づく文字列の誤り検出技術のうち、予め定められた禁則に基づくものにおいて、未知語を禁則とする誤り検出の技術がある。未知語を禁則とする文字列の誤り検出とは、具体的には、単語辞書に登録がない、又は、文法規則に則さないとして、単語解析が不能となる領域すなわち、未知語を、誤りを含む領域として検出するものである。具体的には、辞書品詞等の情報付きの単語リストに登録されているか否かを検証する処理、形態素解析等が該当する。図2は、未知語の検出処理例を示す説明図である。元の文字列誤りのない文字列である元文字列210使命感をプロフェッショナリズムとして大切にに対して、誤りを発生しうる変換により、受付文字列220使命感をプロフエッシ∋ナリズムとして大切にを得る。ここでの誤りは、エ元文字列210内ではェと∋元文字列210内ではョの2つである。この誤りを含む受付文字列220に対して、単語解析処理と未知語を禁則とする文字列の誤り検出処理を行う。すると、図2の例に示すような単語情報230を得る。この例では、その処理の結果、既知語辞書に単語として登録されている単語は、名詞、助詞等の品詞が解析結果として付されており、既知語ではない語は、品詞のかわりに未知語が解析結果として付されている。具体的には、プロフエッシ∋ナリズムが、プロフエッシ∋ナリズムと解析され、うち、プロフエッシ文字列240とナリズム文字列250が未知語として、∋は未知語でない語となっている。さて、未知語のみを誤りを含む領域として検出してしまう場合は、図2の例では、文字列240によってエ元文字列210内ではェの誤りは正しく検出されるが、∋元文字列210内ではョは未知語でないために検出されない。すなわち、誤りを含む領域は、未知語とそうでない語に分割される場合があり、このとき、誤りを含む文字列が、未知語に含まれない場合がある。以下に説明する実施の形態は、未知語を、誤りを含む領域として検出する。さらに、未知語に挟まれる語を、誤りを含む領域として検出する。前述の通り、誤りを含む領域は、未知語とそうでない語に分割される場合があり、このとき、誤りを含む文字列が、未知語に含まれない場合がある。しかし、このような状況下では、たとえ誤りが未知語に含まれずとも、その周辺に未知語が発生することがある。実施の形態では、未知語に挟まれる語が、誤りを含む領域として検出される。この様子を図3の例に示す。図3は、未知語に挟まれている語の検出処理例を示す説明図である。未知語であるプロフエッシ文字列340とナリズム文字列350によって、誤りを含むが、未知語ではない語である∋文字列345が誤り語として検出される。以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。なお、モジュールとは、一般的に論理的に分離可能なソフトウェアコンピュータプログラム、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータプログラムコンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、記憶する、記憶させる、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータプログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、接続とは物理的な接続の他、論理的な接続データの授受、指示、データ間の参照関係等の場合にも用いる。予め定められたとは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況状態に応じて、又はそれまでの状況状態に応じて定まることの意を含めて用いる。また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク一対一対応の通信接続を含む等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。装置とシステムとは、互いに同義の用語として用いる。もちろんのことながら、システムには、人為的な取り決めである社会的な仕組み社会システムにすぎないものは含まない。また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAMRandomAccessMemory、外部記憶媒体、通信回線を介した記憶装置、CPUCentralProcessingUnit内のレジスタ等を含んでいてもよい。第1の実施の形態である情報処理装置は、対象としている文字列内に誤りが含まれている領域を検出するものであって、図1の例に示すように、単語解析モジュール110、単語分類モジュール120、誤り語検出モジュール130、誤り文字列出力モジュール140を有している。単語解析モジュール110は、単語分類モジュール120と接続されており、文字列を受け付けて、その文字列内の単語を抽出して、抽出した単語を単語分類モジュール120に渡す。なお、単語解析モジュール110による解析結果としての単語には、既知語である文字列、未知語である文字列がある。単語分類モジュール120は、単語解析モジュール110、誤り語検出モジュール130と接続されており、単語解析モジュール110より単語を受け取り、その単語を既知語と未知語に分類し、分類した既知語の単語と未知語の単語を誤り語検出モジュール130に渡す。また、単語解析モジュール110と単語分類モジュール120によって、前述した単語解析処理と既知語と未知語の分類処理を行っている。誤り語検出モジュール130は、単語分類モジュール120、誤り文字列出力モジュール140と接続されており、誤り語検出モジュール130は、単語分類モジュール120によって未知語と分類された文字列を誤り語として検出し、単語分類モジュール120によって未知語と分類された第1の文字列と第2の文字列の間にあり、単語分類モジュール120によって既知語と分類されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第3の文字列を誤り語として検出する。つまり、単語分類モジュール120より既知語と未知語を受け取り、その既知語と未知語から誤り語を検出して、検出した誤り語を誤り文字列出力モジュール140へ出力する。誤り文字列出力モジュール140は、誤り語検出モジュール130と接続されており、誤り語検出モジュール130より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。具体的には、誤り語検出モジュール130によって検出された誤り語を単語解析モジュール110が受け付けた文字列の順に並べ、隣り合う単語を結合して誤りを含む文字列として生成する。図4は、誤り語の検出処理例を示す説明図である。単語解析モジュール110が受け付けた文字列から、単語解析モジュール110による単語解析によって、単語列が得られる。その単語列について、単語分類モジュール120によって未知語とそれ以外の語すなわち、既知語に分類する。誤り語検出モジュール130によって、ある未知語と、次に出現する未知語について、その間にある既知語が、予め定められた整数N未満又は以下である場合、この既知語を、誤り語として出力する。また、未知語も誤り語として出力する。図4の例では、誤り語検出モジュール130は、整数Nを2として、未知語に挟まれている既知語の数が2以下の場合は、その既知語も誤り語としている。具体的には、図4の例では、未知語414、未知語420、未知語428は未知語であるので、誤り語とされ、既知語416と既知語418は、未知語414と未知語420に挟まれており、その語数が2であるので、誤り語とされる。ただし、既知語422、424、426は、未知語420と未知語428に挟まれているが、その語数が3であるので、誤り語とはされない。結局、誤り文字列出力モジュール140は、未知語414、既知語416、既知語418、未知語420、未知語428を誤り文字列として出力することになる。図5は、第1の実施の形態による処理例を示すフローチャートである。なお、Wkは、単語解析で得られたk番目の語を表す。また、Mは、単語解析で得られた語数を表す。ステップS502では、単語解析モジュール110が、単語解析を行う。ステップS504では、単語分類モジュール120が、変数sに0を代入する。ステップS506では、単語分類モジュール120が、変数kに0を代入する。ステップS508では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS510へ進み、それ以外の場合はステップS526へ進む。ステップS510では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS512へ進み、それ以外の場合はステップS522へ進む。ステップS512では、誤り語検出モジュール130が、Wkを誤り語として誤り文字列出力モジュール140へ出力する。ステップS514では、誤り語検出モジュール130が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS516へ進み、それ以外の場合はステップS524へ進む。ここでの、変数kは後に出現した未知語の順番0から数えた場合の順番であり、変数sはその前に出現した未知語の順番0から数えた場合の順番である。したがって、ここでの判断は、未知語に挟まれた既知語の数がN以下であるか否かの判断である。ステップS516では、誤り語検出モジュール130が、k==sであるか否かkとsは等しいか否かを判断し、k==sである場合はステップS524へ進み、それ以外の場合はステップS518へ進む。ステップS518では、誤り語検出モジュール130が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ここでのWsは、既知語である。ステップS520では、誤り語検出モジュール130が、変数sにs1を代入し、ステップS516からの処理を行う。ステップS522では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS508に戻る。ステップS524では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS522に進む。ステップS526では、誤り文字列出力モジュール140が、誤り文字列を出力する。なお、ステップS512で、未知語を誤り語として出力した後に、その未知語の前にある既知語であるが誤り語を出力する場合がある。この場合は、文字列に沿った出力とはならない。そこで、誤り文字列出力モジュール140は、例えば、誤り語にはフラグを付して、単語解析モジュール110が受け付けた文字列の順に、そのフラグが付された誤り語を順に出力するようにしてもよい。図6は、第2の実施の形態の構成例についての概念的なモジュール構成図である。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する以下、同様である。文字列の誤り検出において、文字コード制限を行う実施の形態を示す。文字コード制限を行うことで、誤りを含まない既知語を、誤り語として検出することが低減される。例えば、単語解析モジュール110、単語分類モジュール120による処理が日本語のみを対象とする場合、英語の単語が未知語として検出される割合が高い。これは、誤りを含まない既知語を、誤り語として検出することになる。そこで、文字コード制限において、単語解析と単語分類によって検出された未知語のうち、漢字ひらがなカタカナを含む未知語のみを、未知語として出力する。第2の実施の形態は、単語解析モジュール110、単語分類モジュール120、文字コード制限モジュール610、誤り語検出モジュール630、誤り文字列出力モジュール140を有している。単語分類モジュール120は、単語解析モジュール110、文字コード制限モジュール610、誤り語検出モジュール630と接続されており、単語解析モジュール110より単語を受け取り、その単語を既知語と未知語に分類し、分類した既知語を誤り語検出モジュール630に渡し、未知語を文字コード制限モジュール610へ渡す。文字コード制限モジュール610は、単語分類モジュール120、誤り語検出モジュール630と接続されており、単語分類モジュール120によって未知語と分類された文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、その文字列は未知語であるか否かを判断する。予め定めた文字コードに関する規則として、例えば、前述のように、漢字ひらがなカタカナの文字コードを含む単語を未知語とする規則であってもよいし、漢字ひらがなカタカナの文字コードと英数字の文字コードとが混在する単語を未知語とする規則であってもよいし、英数字のみの文字コードからなる単語は未知語としないとする規則であってもよい。さらに、単語解析モジュール110と単語分類モジュール120の対象とする言語に合わせて規則を定めるようにしてもよい。つまり、単語解析モジュール110と単語分類モジュール120の対象とする言語が主に用いている文字コードで、単語分類モジュール120から受け取った未知語が構成されている場合は、その未知語は未知語として誤り語検出モジュール630に渡し、それ以外の場合は、既知語として誤り語検出モジュール630に渡すような規則である。文字コード制限モジュール610が未知語いわば第2の未知語と判断するのは、単語分類モジュール120によって未知語いわば第1の未知語と分類されたものであって、さらに、予め定めた文字コードに関する規則に沿っているものである。誤り語検出モジュール630は、単語分類モジュール120、文字コード制限モジュール610、誤り文字列出力モジュール140と接続されており、文字コード制限モジュール610によって未知語と判断された文字列を誤り語として検出し、文字コード制限モジュール610によって未知語と判断された第4の文字列と第5の文字列の間にあり、単語分類モジュール120によって既知語文字コード制限モジュール610によって未知語ではないと判断された単語既知語を含めてもよいと分類されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第6の文字列を誤り語として検出する。そして、検出した誤り語を誤り文字列出力モジュール140へ出力する。誤り文字列出力モジュール140は、誤り語検出モジュール630と接続されており、誤り語検出モジュール130より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。図7は、第2の実施の形態による処理例を示すフローチャートである。ステップS702では、単語解析モジュール110が、単語解析を行う。ステップS704では、単語分類モジュール120が、変数sに0を代入する。ステップS706では、単語分類モジュール120が、変数kに0を代入する。ステップS708では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS710へ進み、それ以外の場合はステップS728へ進む。ステップS710では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS712へ進み、それ以外の場合はステップS724へ進む。ステップS712では、文字コード制限モジュール610が、Wkが予め定められた文字コードを含むか否かを判断し、含む場合はステップS714へ進み、それ以外の場合はステップS724へ進む。ステップS714では、誤り語検出モジュール630が、Wkを誤り語として誤り文字列出力モジュール140へ出力する。ステップS716では、誤り語検出モジュール630が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS718へ進み、それ以外の場合はステップS726へ進む。ステップS718では、誤り語検出モジュール630が、k==sであるか否かを判断し、k==sである場合はステップS726へ進み、それ以外の場合はステップS720へ進む。ステップS720では、誤り語検出モジュール630が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ステップS722では、誤り語検出モジュール630が、変数sにs1を代入し、ステップS718からの処理を行う。ステップS724では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS708に戻る。ステップS726では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS724に進む。ステップS728では、誤り文字列出力モジュール140が、誤り文字列を出力する。図8は、第3の実施の形態の構成例についての概念的なモジュール構成図である。文字列の誤り検出において、文字コード制限を行う実施の形態を示す。第2の実施の形態と異なるのは、誤り語検出モジュール130の後に文字コード制限を行うことである。第3の実施の形態は、単語解析モジュール110、単語分類モジュール120、誤り語検出モジュール130、文字コード制限モジュール810、誤り文字列出力モジュール140を有している。誤り語検出モジュール130は、単語分類モジュール120、文字コード制限モジュール810と接続されており、単語分類モジュール120によって未知語と分類された文字列を誤り語として検出し、単語分類モジュール120によって未知語と分類された第1の文字列と第2の文字列の間にあり、単語分類モジュール120によって既知語と分類されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第3の文字列を誤り語として検出する。つまり、単語分類モジュール120より既知語と未知語を受け取り、その既知語と未知語から誤り語を検出して、検出した誤り語を文字コード制限モジュール810へ出力する。文字コード制限モジュール810は、誤り語検出モジュール130、誤り文字列出力モジュール140と接続されており、誤り語検出モジュール130によって誤り語として検出された文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、その文字列は誤り語であるか否かを判断する。そして、誤り語を誤り文字列出力モジュール140へ出力する。予め定めた文字コードに関する規則は、前述の第2の実施の形態の文字コード制限モジュール610が用いた規則と同等である。文字コード制限モジュール810が誤り語いわば第2の誤り語と判断するのは、誤り語検出モジュール130によって誤り語いわば第1の誤り語として検出されたものであって、さらに、予め定めた文字コードに関する規則に沿っているものである。誤り文字列出力モジュール140は、文字コード制限モジュール810と接続されており、文字コード制限モジュール810より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。図9は、第3の実施の形態による処理例を示すフローチャートである。ステップS902では、単語解析モジュール110が、単語解析を行う。ステップS904では、単語分類モジュール120が、変数sに0を代入する。ステップS906では、単語分類モジュール120が、変数kに0を代入する。ステップS908では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS910へ進み、それ以外の場合はステップS928へ進む。ステップS910では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS912へ進み、それ以外の場合はステップS924へ進む。ステップS912では、誤り語検出モジュール130が、Wkを誤り語として文字コード制限モジュール810へ出力する。ステップS914では、誤り語検出モジュール130が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS916へ進み、それ以外の場合はステップS926へ進む。ステップS916では、誤り語検出モジュール130が、k==sであるか否かを判断し、k==sである場合はステップS926へ進み、それ以外の場合はステップS918へ進む。ステップS918では、文字コード制限モジュール810が、Wsが予め定められた文字コードを含むか否かを判断し、含む場合はステップS920へ進み、それ以外の場合はステップS922へ進む。ステップS920では、文字コード制限モジュール810が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ステップS922では、誤り語検出モジュール130が、変数sにs1を代入し、ステップS916からの処理を行う。ステップS924では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS908に戻る。ステップS926では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS924に進む。ステップS928では、誤り文字列出力モジュール140が、誤り文字列を出力する。図10は、第4の実施の形態の構成例についての概念的なモジュール構成図である。文字列の誤り検出において、文字コード制限を行う実施の形態を示す。第4の実施の形態は、第2の実施の形態と第3の実施の形態を組み合わせたものである。第4の実施の形態は、単語解析モジュール110、単語分類モジュール120、文字コード制限モジュール610、誤り語検出モジュール630、文字コード制限モジュール810、誤り文字列出力モジュール140を有している。誤り語検出モジュール630は、単語分類モジュール120、文字コード制限モジュール610、文字コード制限モジュール810と接続されており、文字コード制限モジュール610によって未知語と判断された文字列を誤り語として検出し、文字コード制限モジュール610によって未知語と判断された第4の文字列と第5の文字列の間にあり、単語分類モジュール120によって既知語文字コード制限モジュール610によって未知語ではないと判断された単語既知語を含めてもよいと分類されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第6の文字列を誤り語として検出する。そして、検出した誤り語を文字コード制限モジュール810へ出力する。文字コード制限モジュール810は、誤り語検出モジュール630、誤り文字列出力モジュール140と接続されており、誤り語検出モジュール630によって誤り語として検出された第6の文字列を構成している文字の文字コードが予め定めた文字コードに関する規則に沿っているか否かによって、その第6の文字列は誤り語であるか否かを判断する。そして、誤り語を誤り文字列出力モジュール140へ出力する。予め定めた文字コードに関する規則は、前述の第2の実施の形態の文字コード制限モジュール610が用いた規則と同等である。誤り文字列出力モジュール140は、文字コード制限モジュール810と接続されており、文字コード制限モジュール810より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。図11は、第4の実施の形態による処理例を示すフローチャートである。ステップS1102では、単語解析モジュール110が、単語解析を行う。ステップS1104では、単語分類モジュール120が、変数sに0を代入する。ステップS1106では、単語分類モジュール120が、変数kに0を代入する。ステップS1108では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS1110へ進み、それ以外の場合はステップS1130へ進む。ステップS1110では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS1112へ進み、それ以外の場合はステップS1126へ進む。ステップS1112では、文字コード制限モジュール610が、Wkが予め定められた文字コードを含むか否かを判断し、含む場合はステップS1114へ進み、それ以外の場合はステップS1126へ進む。ステップS1114では、誤り語検出モジュール630が、Wkを誤り語として文字コード制限モジュール810へ出力する。ステップS1116では、誤り語検出モジュール630が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS1118へ進み、それ以外の場合はステップS1128へ進む。ステップS1118では、誤り語検出モジュール630が、k==sであるか否かを判断し、k==sである場合はステップS1128へ進み、それ以外の場合はステップS1120へ進む。ステップS1120では、文字コード制限モジュール810が、Wsが予め定められた文字コードを含むか否かを判断し、含む場合はステップS1122へ進み、それ以外の場合はステップS1124へ進む。ステップS1122では、文字コード制限モジュール810が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ステップS1124では、文字コード制限モジュール810が、変数sにs1を代入し、ステップS1118からの処理を行う。ステップS1126では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS1108に戻る。ステップS1128では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS1126に進む。ステップS1130では、誤り文字列出力モジュール140が、誤り文字列を出力する。図12は、第5の実施の形態の構成例についての概念的なモジュール構成図である。文字列の誤り検出において、文字数制限を行う実施の形態を示す。文字数制限を行うことで、誤りを含まない既知語を、誤り語として検出することが低減される。例えば、既知語の文字数が長い場合、これは、誤り語でない割合が高い。しかし、前述の実施の形態によれば、未知語に挟まれ、誤り語として検出される場合があり得る。そこで、予め定められた文字数よりも短い又は以下である文字数である既知語だけを、誤り語として出力する。第5の実施の形態は、単語解析モジュール110、単語分類モジュール120、誤り語検出モジュール130、文字数制限モジュール1210、誤り文字列出力モジュール140を有している。誤り語検出モジュール130は、単語分類モジュール120、文字数制限モジュール1210と接続されており、誤り語検出モジュール130は、単語分類モジュール120によって未知語と分類された文字列を誤り語として検出し、単語分類モジュール120によって未知語と分類された第1の文字列と第2の文字列の間にあり、単語分類モジュール120によって既知語と分類されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第3の文字列を誤り語として検出する。つまり、単語分類モジュール120より既知語と未知語を受け取り、その既知語と未知語から誤り語を検出して、検出した誤り語を文字数制限モジュール1210へ出力する。文字数制限モジュール1210は、誤り語検出モジュール130、誤り文字列出力モジュール140と接続されている。文字数制限モジュール1210は、誤り語検出モジュール130によって誤り語として検出された第3の文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、その第3の文字列は誤り語であるか否かを判断する。つまり、誤り語検出モジュール130によって誤り語として検出された第3の文字列の文字列長が予め定めた長さ未満又は以下である場合は、その第3の文字列を誤り語として検出する。前述の例では、未知語に挟まれており、N語以下の既知語であって、さらに、その未知語に挟まれている全体の既知語の長さつまり、未知語に挟まれている既知語の文字列長の和が、予め定めた長さ未満又は以下である場合に、その第3の文字列を誤り語として検出する。文字数制限モジュール1210が誤り語いわば第3の誤り語と判断するのは、誤り語検出モジュール130によって誤り語いわば第1の誤り語として検出されたものであって、さらに、第3の文字列の文字列長が予め定めた長さ未満又は以下であるものである。そして、誤り語を誤り文字列出力モジュール140へ出力する。また、未知語に挟まれており、N語以下の既知語であって、さらに、その未知語に挟まれている各既知語の長さが、予め定めた長さ未満又は以下である場合に、その第3の文字列を誤り語として検出するようにしてもよい。なお、未知語に挟まれている各既知語の文字列長のうち、1つでもその既知語の文字列長が、予め定めた長さ未満又は以下である場合に、その第3の文字列未知語に挟まれている全ての既知語を誤り語として検出するようにしてもよい。また、未知語に挟まれている各既知語の文字列長のうち、全てのその既知語の文字列長が、予め定めた長さ未満又は以下である場合に、その第3の文字列未知語に挟まれている全ての既知語を誤り語として検出するようにしてもよい。また、未知語に挟まれている各既知語の文字列長のうち、その既知語の文字列長が、予め定めた長さ未満又は以下である場合に、その既知語を誤り語として検出するようにしてもよい。つまり、未知語に挟まれており、N語以下の既知語であっても、誤り語として検出するものと誤り語ではないものとがあることになる。誤り文字列出力モジュール140は、文字数制限モジュール1210と接続されており、文字数制限モジュール1210より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。図13は、第5の実施の形態による処理例を示すフローチャートである。ステップS1302では、単語解析モジュール110が、単語解析を行う。ステップS1304では、単語分類モジュール120が、変数sに0を代入する。ステップS1306では、単語分類モジュール120が、変数kに0を代入する。ステップS1308では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS1310へ進み、それ以外の場合はステップS1328へ進む。ステップS1310では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS1312へ進み、それ以外の場合はステップS1324へ進む。ステップS1312では、誤り語検出モジュール130が、Wkを誤り語として文字数制限モジュール1210へ出力する。また、誤り文字列出力モジュール140へ出力してもよい。ステップS1314では、誤り語検出モジュール130が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS1316へ進み、それ以外の場合はステップS1326へ進む。ステップS1316では、文字数制限モジュール1210が、WsからWk-1までの合計の文字列長WsからWk-1までの文字列を連結させた場合の文字列長が予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1318へ進み、それ以外の場合はステップS1326へ進む。ステップS1318では、文字数制限モジュール1210が、k==sであるか否かを判断し、k==sである場合はステップS1326へ進み、それ以外の場合はステップS1320へ進む。ステップS1320では、文字数制限モジュール1210が、Wsを誤り語として文字数制限モジュール1210へ出力する。ステップS1322では、文字数制限モジュール1210が、変数sにs1を代入し、ステップS1318からの処理を行う。ステップS1324では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS1308に戻る。ステップS1326では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS1324に進む。ステップS1328では、誤り文字列出力モジュール140が、誤り文字列を出力する。図14は、第5の実施の形態による別の処理例を示すフローチャートである。ステップS1402では、単語解析モジュール110が、単語解析を行う。ステップS1404では、単語分類モジュール120が、変数sに0を代入する。ステップS1406では、単語分類モジュール120が、変数kに0を代入する。ステップS1408では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS1410へ進み、それ以外の場合はステップS1428へ進む。ステップS1410では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS1412へ進み、それ以外の場合はステップS1424へ進む。ステップS1412では、誤り語検出モジュール130が、Wkを誤り語として文字数制限モジュール1210へ出力する。また、誤り文字列出力モジュール140へ出力してもよい。ステップS1414では、誤り語検出モジュール130が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS1416へ進み、それ以外の場合はステップS1426へ進む。ステップS1416では、文字数制限モジュール1210が、k==sであるか否かを判断し、k==sである場合はステップS1426へ進み、それ以外の場合はステップS1418へ進む。ステップS1418では、文字数制限モジュール1210が、Wsの文字列長個々の文字列長が予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1420へ進み、それ以外の場合はステップS1422へ進む。ステップS1420では、文字数制限モジュール1210が、Wsを誤り語として文字数制限モジュール1210へ出力する。ステップS1422では、文字数制限モジュール1210が、変数sにs1を代入し、ステップS1416からの処理を行う。ステップS1424では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS1408に戻る。ステップS1426では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS1424に進む。ステップS1428では、誤り文字列出力モジュール140が、誤り文字列を出力する。図15は、第6の実施の形態の構成例についての概念的なモジュール構成図である。文字列の誤り検出において、文字数制限を行う実施の形態を示す。第5の実施の形態と異なるのは、単語分類モジュール120によって既知語であると分類されたものに文字数制限を行うことである。第6の実施の形態は、単語解析モジュール110、単語分類モジュール120、文字数制限モジュール1510、誤り語検出モジュール1530、誤り文字列出力モジュール140を有している。単語分類モジュール120は、文字数制限モジュール1510、誤り語検出モジュール1530と接続されており、文字数制限モジュール1510へ未知語、誤り語検出モジュール1530へ既知語を出力する。文字数制限モジュール1510は、単語分類モジュール120、誤り語検出モジュール1530と接続されており、単語分類モジュール120によって未知語と分類された文字列であって、その文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、その文字列は未知語であるか否かを判断する。つまり、単語分類モジュール120によって未知語と分類された文字列であって、その文字列の文字列長が予め定めた長さ未満又は以下である場合に未知語であると判断する。逆に、単語分類モジュール120によって未知語と分類された文字列であっても、その文字列の文字列長が予め定めた長さ未満又は以下ではない場合には未知語ではないと判断することになる。誤り語検出モジュール1530は、単語分類モジュール120、文字数制限モジュール1510、誤り文字列出力モジュール140と接続されており、文字数制限モジュール1510によって未知語と判断された文字列を誤り語として検出し、文字数制限モジュール1510によって未知語と分類された第7の文字列と第8の文字列の間にあり、単語分類モジュール120によって既知語と判断されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第9の文字列を誤り語として検出する。そして、検出した誤り語を誤り文字列出力モジュール140へ出力する。誤り文字列出力モジュール140は、誤り語検出モジュール1530と接続されており、誤り語検出モジュール1530より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。図16は、第6の実施の形態による処理例を示すフローチャートである。ステップS1602では、単語解析モジュール110が、単語解析を行う。ステップS1604では、単語分類モジュール120が、変数sに0を代入する。ステップS1606では、単語分類モジュール120が、変数kに0を代入する。ステップS1608では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS1610へ進み、それ以外の場合はステップS1628へ進む。ステップS1610では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS1612へ進み、それ以外の場合はステップS1624へ進む。ステップS1612では、文字数制限モジュール1510が、Wkが予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1614へ進み、それ以外の場合はステップS1624へ進む。ステップS1614では、誤り語検出モジュール1530が、Wkを誤り語として誤り文字列出力モジュール140へ出力する。ステップS1616では、誤り語検出モジュール1530が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS1618へ進み、それ以外の場合はステップS1626へ進む。ステップS1618では、誤り語検出モジュール1530が、k==sであるか否かを判断し、k==sである場合はステップS1626へ進み、それ以外の場合はステップS1620へ進む。ステップS1620では、誤り語検出モジュール1530が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ステップS1622では、誤り語検出モジュール1530が、変数sにs1を代入し、ステップS1618からの処理を行う。ステップS1624では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS1608に戻る。ステップS1626では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS1624に進む。ステップS1628では、誤り文字列出力モジュール140が、誤り文字列を出力する。図17は、第7の実施の形態の構成例についての概念的なモジュール構成図である。文字列の誤り検出において、文字数制限を行う実施の形態を示す。第7の実施の形態は、第5の実施の形態と第6の実施の形態を組み合わせたものである。第7の実施の形態は、単語解析モジュール110、単語分類モジュール120、文字数制限モジュール1510、誤り語検出モジュール1530、文字数制限モジュール1210、誤り文字列出力モジュール140を有している。誤り語検出モジュール1530は、単語分類モジュール120、文字数制限モジュール1510、文字数制限モジュール1210と接続されており、文字数制限モジュール1510によって未知語と分類された文字列を誤り語として検出し、文字数制限モジュール1510によって未知語と分類された第7の文字列と第8の文字列の間にあり、単語分類モジュール120によって既知語と判断されており、その既知語の数が予め定めた数未満又は以下である場合は、その既知語によって構成されている第9の文字列を誤り語として検出する。そして、検出した誤り語を文字数制限モジュール1210へ出力する。文字数制限モジュール1210は、誤り語検出モジュール1530、誤り文字列出力モジュール140と接続されており、誤り語検出モジュール1530によって誤り語として検出された第9の文字列の文字列長が予め定めた長さ未満又は以下であるか否かによって、その第9の文字列は誤り語であるか否かを判断する。つまり、誤り語検出モジュール1530によって誤り語として検出された第9の文字列の文字列長が予め定めた長さ未満又は以下である場合は、その第9の文字列を誤り語として検出する。前述の例では、未知語に挟まれており、N語以下の既知語であって、さらに、その未知語に挟まれている全体の既知語の長さつまり、未知語に挟まれている既知語の文字列長の和が、予め定めた長さ未満又は以下である場合に、その第9の文字列を誤り語として検出する。そして、誤り語を誤り文字列出力モジュール140へ出力する。誤り文字列出力モジュール140は、文字数制限モジュール1210と接続されており、文字数制限モジュール1210より誤り語を受け取り、その誤り語から誤り文字列を生成し、生成した誤り文字列を出力する。図18は、第7の実施の形態による処理例を示すフローチャートである。ステップS1802では、単語解析モジュール110が、単語解析を行う。ステップS1804では、単語分類モジュール120が、変数sに0を代入する。ステップS1806では、単語分類モジュール120が、変数kに0を代入する。ステップS1808では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS1810へ進み、それ以外の場合はステップS1830へ進む。ステップS1810では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS1812へ進み、それ以外の場合はステップS1826へ進む。ステップS1812では、文字数制限モジュール1510が、Wkが予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1814へ進み、それ以外の場合はステップS1826へ進む。ステップS1814では、誤り語検出モジュール1530が、Wkを誤り語として文字数制限モジュール1210へ出力する。また、誤り文字列出力モジュール140へ出力してもよい。ステップS1816では、誤り語検出モジュール1530が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS1818へ進み、それ以外の場合はステップS1828へ進む。ステップS1818では、文字数制限モジュール1210が、WsからWk-1までの合計の文字列長WsからWk-1までの文字列を連結させた場合の文字列長が予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1820へ進み、それ以外の場合はステップS1828へ進む。ステップS1820では、文字数制限モジュール1210が、k==sであるか否かを判断し、k==sである場合はステップS1828へ進み、それ以外の場合はステップS1822へ進む。ステップS1822では、文字数制限モジュール1210が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ステップS1824では、文字数制限モジュール1210が、変数sにs1を代入し、ステップS1820からの処理を行う。ステップS1826では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS1808に戻る。ステップS1828では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS1826に進む。ステップS1830では、誤り文字列出力モジュール140が、誤り文字列を出力する。図19は、第7の実施の形態による別の処理例を示すフローチャートである。ステップS1902では、単語解析モジュール110が、単語解析を行う。ステップS1904では、単語分類モジュール120が、変数sに0を代入する。ステップS1906では、単語分類モジュール120が、変数kに0を代入する。ステップS1908では、単語分類モジュール120が、k<Mであるか否かを判断し、k<Mである場合はステップS1910へ進み、それ以外の場合はステップS1930へ進む。ステップS1910では、単語分類モジュール120が、Wkが未知語であるか否かを判断し、未知語である場合はステップS1912へ進み、それ以外の場合はステップS1926へ進む。ステップS1912では、文字数制限モジュール1510が、Wkが予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1914へ進み、それ以外の場合はステップS1926へ進む。ステップS1914では、誤り語検出モジュール1530が、Wkを誤り語として文字数制限モジュール1210へ出力する。また、誤り文字列出力モジュール140へ出力してもよい。ステップS1916では、誤り語検出モジュール1530が、k-s≦Nであるか否かを判断し、k-s≦Nである場合はステップS1918へ進み、それ以外の場合はステップS1928へ進む。ステップS1918では、文字数制限モジュール1210が、k==sであるか否かを判断し、k==sである場合はステップS1928へ進み、それ以外の場合はステップS1920へ進む。ステップS1920では、文字数制限モジュール1210が、Wsの文字列長個々の文字列長が予め定められた文字数以下であるか否かを判断し、予め定められた文字数以下である場合はステップS1922へ進み、それ以外の場合はステップS1924へ進む。ステップS1922では、文字数制限モジュール1210が、Wsを誤り語として誤り文字列出力モジュール140へ出力する。ステップS1924では、文字数制限モジュール1210が、変数sにs1を代入し、ステップS1918からの処理を行う。ステップS1926では、単語分類モジュール120が、変数kにk1を代入する。そして、ステップS1908に戻る。ステップS1928では、単語分類モジュール120が、変数sにk1を代入する。そして、ステップS1926に進む。ステップS1930では、誤り文字列出力モジュール140が、誤り文字列を出力する。なお、第2~4の実施の形態と第5~7の実施の形態を組み合わせてもよい。これによって、文字列の誤り検出において、文字コード制限と文字数制限の両方を行う実施の形態となる。図20は、第8の実施の形態の構成例についての概念的なモジュール構成図である。第8の実施の形態は、誤り訂正を行うものであって、誤り検出モジュール2010、誤り文字列訂正モジュール2020を有している。前述の実施の形態第2~4の実施の形態と第5~7の実施の形態を組み合わせも含むによって検出される誤り文字列に対して、誤り訂正を行う。誤り検出モジュール2010は、誤り文字列訂正モジュール2020と接続されており、文字列を受け付けて、その文字列内の誤り文字列を抽出して、抽出した誤り文字列を誤り文字列訂正モジュール2020に渡す。具体的には、前述の実施の形態が該当する。誤り文字列訂正モジュール2020は、誤り検出モジュール2010と接続されており、誤り検出モジュール2010より誤り文字列を受け取り、その誤り文字列を訂正し、元の文字列誤り検出モジュール2010が受け付けた文字列であって、誤り文字列以外の文字列と統合して、訂正文字列を出力する。例えば、特許文献1に記載の技術を用いてもよい。図21は、第9の実施の形態の構成例についての概念的なモジュール構成図である。第9の実施の形態は、文字認識結果の誤り訂正を行うものであって、文字認識モジュール2110、誤り検出モジュール2120、誤り文字列訂正モジュール2130を有している。文字認識モジュール2110は、画像を受け付けて、その画像内の文字認識を行い、文字認識結果である文字列を誤り検出モジュール2120及び誤り文字列訂正モジュール2130へ渡し、識別確度を誤り検出モジュール2120及び誤り文字列訂正モジュール2130へ渡し、識別候補を誤り文字列訂正モジュール2130へ渡す。文字認識の結果として、文字コードの他に、各文字認識結果の1文字毎の識別確度と識別候補がある。ここで、識別確度とは、文字識別の結果である文字コードらしさであり、識別確度が低いほど、識別誤りである可能性が高いことを表す数値である。また、識別候補とは、文字識別の結果である文字コードの他に、識別確度の高い文字コードのセット集合である。誤り検出モジュール2120は、文字認識モジュール2110、誤り文字列訂正モジュール2130と接続されており、文字認識モジュール2110より文字列及び識別確度を受け取り、その文字列内の誤り文字列を抽出して、抽出した誤り文字列を誤り文字列訂正モジュール2130に渡す。具体的には、前述の第1~7の実施の形態第2~4の実施の形態と第5~7の実施の形態を組み合わせも含むが該当する。また、識別確度は、誤り検出モジュール2120において利用する。前述の第1~7の実施の形態で、さらに、未知語に挟まれた既知語において、既知語に含まれる各文字の識別確度の統合値が、予め定められた値より小さい又は以下である場合、誤り語として出力するようにしてもよい。ここで、識別確度の統合値とは、最大値、最小値、中央値、最頻値、平均値等である。また、未知語に挟まれた既知語の各文字の識別確度の分散値が予め定められた値より大きい又は以上である場合は、誤り語として出力するようにしてもよい。誤り文字列訂正モジュール2130は、文字認識モジュール2110、誤り検出モジュール2120と接続されており、文字認識モジュール2110より文字列、識別確度、識別候補を受け取り、誤り検出モジュール2120より誤り文字列を受け取る。そして、その誤り文字列を訂正し、元の文字列誤り検出モジュール2120からの文字認識結果である文字列であって、誤り文字列以外の文字列と統合して、訂正文字列を出力する。例えば、特許文献1に記載の技術を用いてもよい。また、識別候補は、誤り文字列訂正モジュール2130において利用する。訂正候補である誤り文字列を、識別候補から作成し、作成した複数の訂正候補から選択して出力する。訂正候補の選択においては、訂正候補を構成している各文字の識別確度の統合値が高いものを優先してもよい。図22を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図22に示す構成は、例えばパーソナルコンピュータPCなどによって構成されるものであり、スキャナ等のデータ読み取り部2217と、プリンタなどのデータ出力部2218を備えたハードウェア構成例を示している。CPUCentralProcessingUnit2201は、前述の実施の形態において説明した各種のモジュール、すなわち、単語解析モジュール110、単語分類モジュール120、誤り語検出モジュール130、誤り文字列出力モジュール140、文字コード制限モジュール610、誤り語検出モジュール630、文字コード制限モジュール810、文字数制限モジュール1210、文字数制限モジュール1510、誤り語検出モジュール1530、誤り検出モジュール2010、誤り文字列訂正モジュール2020、文字認識モジュール2110、誤り検出モジュール2120、誤り文字列訂正モジュール2130等の各モジュールの実行シーケンスを記述したコンピュータプログラムにしたがった処理を実行する制御部である。ROMReadOnlyMemory2202は、CPU2201が使用するプログラムや演算パラメータ等を格納する。RAMRandomAccessMemory2203は、CPU2201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス2204により相互に接続されている。ホストバス2204は、ブリッジ2205を介して、PCIPeripheralComponentInterconnect/Interfaceバスなどの外部バス2206に接続されている。キーボード2208、マウス等のポインティングデバイス2209は、操作者により操作される入力デバイスである。ディスプレイ2210は、液晶表示装置又はCRTCathodeRayTubeなどがあり、各種情報をテキストやイメージ情報として表示する。HDDHardDiskDrive2211は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU2201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた文字列、生成した誤り文字列、辞書などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータプログラムが格納される。ドライブ2212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体2213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース2207、外部バス2206、ブリッジ2205、及びホストバス2204を介して接続されているRAM2203に供給する。リムーバブル記録媒体2213も、ハードディスクと同様のデータ記録領域として利用可能である。接続ポート2214は、外部接続機器2215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート2214は、インタフェース2207、及び外部バス2206、ブリッジ2205、ホストバス2204等を介してCPU2201等に接続されている。通信部2216は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部2217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部2218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。なお、図22に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図22に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア例えば特定用途向け集積回路ApplicationSpecificIntegratedCircuit:ASIC等で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図22に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置などに組み込まれていてもよい。なお、前述の各種の実施の形態を組み合わせてもよく例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。また、前述の実施の形態では、日本語の文字列を主な対象として説明したが、他の言語中国語、ハングル語、英語等の文字列であってもよい。なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、プログラムを記録したコンピュータ読み取り可能な記録媒体の発明として捉えてもよい。プログラムを記録したコンピュータ読み取り可能な記録媒体とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。なお、記録媒体としては、例えば、デジタルバーサタイルディスクDVDであって、DVDフォーラムで策定された規格であるDVD-R、DVD-RW、DVD-RAM等、DVDRWで策定された規格であるDVDR、DVDRW等、コンパクトディスクCDであって、読出し専用メモリCD-ROM、CDレコーダブルCD-R、CDリライタブルCD-RW等、ブルーレイディスクBlu-rayDisc登録商標、光磁気ディスクMO、フレキシブルディスクFD、磁気テープ、ハードディスク、読出し専用メモリROM、電気的消去及び書換可能な読出し専用メモリEEPROM登録商標、フラッシュメモリ、ランダムアクセスメモリRAM、SDSecureDigitalメモリーカード等が含まれる。そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカルエリアネットワークLAN、メトロポリタンエリアネットワークMAN、ワイドエリアネットワークWAN、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。