(57)【要約】【課題】  誤字や脱字などの表記ゆれを含むテキスト文書の形態素解析を高精度に行う。【解決手段】  本発明は、入力テキストを形態素解析して単語列データを出力し、入力テキストの単語の所定の文字長の単語について近似照合し、近似辞書照合単語列データを出力し、単語列データと近似辞書照合単語列データを用いて誤字脱字修正を行う。誤字脱字修正を行う際に、単語列データと近似辞書照合単語列データの単語の照合タイプに基づいて、所定の重みを付与し、さらに、２つの単語列データの単語の近似文字状況に応じて、該単語列データと該近似辞書照合単語列データとに重みを付与し、重み付け単語列データを出力し、重み付け単語列データの各位置に存在する単語候補について、統計的言語モデル記憶手段を参照して、単語列毎に付与した重みを考慮した表記列と品詞列の同時確率Ｐｗｅｉｇｈｔ（Ｆ，Ｔ）の同時確率が最大となる最尤単語列を修正済み単語列データとして出力する。【選択図】  図１
2011065384.tif 000002
【特許請求の範囲】
【請求項１】
誤字や脱字が含まれる入力テキストを形態素解析するための誤字脱字対応テキスト解析装置であって、
辞書登録語での出現文字と入力文での出現文字で変化があった箇所の状況である近似文字状況毎に、ある文字が別の文字に混同されやすさを数値化した文字混同確率を格納した文字混同確率記憶手段と、
ある読みに対する漢字を格納した読み・漢字対応記憶手段と、
統計的言語モデルを格納した統計的言語モデル記憶手段と、
前記入力テキストを形態素解析して単語列データを出力する形態素解析手段と、
前記入力テキストの単語の所定の文字長の単語について近似照合し、近似辞書照合単語列データを出力する近似辞書照合手段と、
前記単語列データと前記近似辞書照合単語列データを用いて誤字脱字修正を行う誤字脱字修正手段と、を有し、
前記誤字脱字修正手段は、
前記単語列データと前記近似辞書照合単語列データの単語の照合タイプに基づいて、該単語列データと該近似辞書照合単語列データとに所定の重みを付与し、さらに、該単語列データと該近似辞書照合単語列データの単語の近似文字状況に応じて前記文字混同確率記憶手段または読み・漢字対応記憶手段を参照して、該単語列データと該近似辞書照合単語列データとに重みを付与し、重み付け単語列データを出力する近似タイプ重み付け手段と、
前記重み付け単語列データの各位置に存在する単語候補について、前記統計的言語モデル記憶手段を参照して、
【数８】
2011065384.tif 000010
（但し、Ｓは入力文、Fは入力文Ｓをn個の表記列に分割したもの、Ｔは表記列Ｆの各表記に付与される品詞列であり、Pweight(F,T)は、 前記近似タイプ重み付け手段で付与される重みを考慮したときの表記列Ｆおよび品詞列Ｔの同時確率）
の同時確率が最大化となる最尤単語列を修正済み単語列データとして出力する単語列確率計算手段を有する
ことを特徴とする誤字脱字対応テキスト解析装置。
【請求項２】
前記近似タイプ重み付け手段は、
前記照合タイプを、
前記単語列データの単語と単語辞書との「完全一致」、前記近似辞書照合単語列データの文字列が辞書登録語の表記の一部文字列から置換された形で出現している「置換」、該近似辞書照合単語列データの文字列が辞書登録語の表記に任意の文字が挿入されている「挿入」、該近似辞書照合単語列データの文字列が辞書登録語の表記から任意の文字が削除された形で出現している「削除」とし、各照合タイプ毎に予め決められた重みを設定する
請求項１記載の誤字脱字対応テキスト解析装置。
【請求項３】
前記文字混同確率記憶手段における前記文字混同確率は、前記別の文字が
（１）前記ある文字と母音または子音が共通しており、かつ、文字種（ひらがなまたはカタカナ）が共通している場合、
（２）前記ある文字と同音の文字である場合、
（３）前記ある文字と形が似ていて文字種が異なる文字である場合、
（４）前記ある文字の母音部分が落ちた文字である場合、
（５）伏せ字を表す記号である場合、
（６）任意の文字の削除または挿入に対応する場合、
のいずれかである場合に値が大きくなるよう設定されることを特徴とする
請求項１記載の誤字脱字対応テキスト解析装置。
【請求項４】
誤字や脱字が含まれる入力テキストを形態素解析するための誤字脱字対応テキスト解析方法であって、
辞書登録語での出現文字と入力文での出現文字で変化があった箇所の状況である近似文字状況毎に、ある文字が別の文字に混同されやすさを数値化した文字混同確率を格納した文字混同確率記憶手段と、
ある読みに対する漢字を格納した読み・漢字対応記憶手段と、
統計的言語モデルを格納した統計的言語モデル記憶手段と、を有するコンピュータが、
前記入力テキストを形態素解析して単語列データを出力する形態素解析ステップと、
前記入力テキストの単語の所定の文字長の単語について近似照合し、近似辞書照合単語列データを出力する近似辞書照合ステップと、
前記単語列データと前記近似辞書照合単語列データを用いて誤字脱字修正を行う誤字脱字修正ステップを行い、
前記誤字脱字修正ステップでは、
前記単語列データと前記近似辞書照合単語列データの単語の照合タイプに基づいて、該単語列データと該近似辞書照合単語列データとに所定の重みを付与し、さらに、該単語列データと該近似辞書照合単語列データの単語の近似文字状況に応じて前記文字混同確率記憶手段または読み・漢字対応記憶手段を参照して、該単語列データと該近似辞書照合単語列データとに重みを付与し、重み付け単語列データを出力する近似タイプ重み付けステップと、
前記重み付け単語列データの各位置に存在する単語候補について、前記統計的言語モデル記憶手段を参照して、
【数９】
2011065384.tif 000011
（但し、Ｓは入力文、Fは入力文Ｓをn個の表記列に分割したもの、Ｔは表記列Ｆの各表記に付与される品詞列であり、Pweight(F,T)は、 前記近似タイプ重み付け手段で付与される重みを考慮したときの表記列Ｆおよび品詞列Ｔの同時確率）
の同時確率が最大となる最尤単語列を修正済み単語列データとして出力する単語列確率計算ステップを行う
ことを特徴とする誤字脱字対応テキスト解析方法。
【請求項５】
前記近似タイプ重み付けステップにおいて、
前記照合タイプを、
前記単語列データの単語と単語辞書との「完全一致」、前記近似辞書照合単語列データの文字列が辞書登録語の表記の一部文字列から置換された形で出現している「置換」、該近似辞書照合単語列データの文字列が辞書登録語の表記に任意の文字が挿入されている「挿入」、該近似辞書照合単語列データの文字列が辞書登録語の表記から任意の文字が削除された形で出現している「削除」とし、各照合タイプ毎に予め決められた重みを設定する
請求項４記載の誤字脱字対応テキスト解析方法。
【請求項６】
文字混同確率記憶手段における前記文字混同確率は、前記別の文字が
（１）前記ある文字と母音または子音が共通しており、かつ、文字種（ひらがなまたはカタカナ）が共通している場合、
（２）前記ある文字と同音の文字である場合、
（３）前記ある文字と形が似ていて文字種が異なる文字である場合、
（４）前記ある文字の母音部分が落ちた文字である場合、
（５）伏せ字を表す記号である場合、
（６）任意の文字の削除または挿入に対応する場合、
のいずれかである場合に値が大きくなるよう設定されることを特徴とする
請求項４記載の誤字脱字対応テキスト解析方法。
【請求項７】
請求項１乃至３のいずれか１項に記載の誤字脱字対応テキスト解析装置を構成する各手段としてコンピュータを機能させるための誤字脱字対応テキスト解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤字脱字対応テキスト解析装置及び方法及びプログラムに係り、誤字脱字が含まれるテキストであっても正しく言語処理を実行する技術、特に入力文中の単語を認定して品詞などの辞書情報を付与する形態素解析技術に関するものである。
【背景技術】
【０００２】
現在、様々な自然言語処理技術の研究開発が進み、膨大なテキストから必要な情報を検索する検索技術、テキストに書かれた内容を短くまとめる要約技術、ある言語から別の言語へ翻訳する機械翻訳技術など、様々なタスクでの言語処理技術の研究が存在する。多くの言語処理技術において、初期の解析ステップは、テキスト、即ち入力された文中の単語を認定して品詞などの辞書情報を付与する形態素解析処理である。特に日本語のように単語を分割しないで文字をつなげて記述する言語の場合、入力文のどこからどこまでの文字列が1つの単語であり、その品詞は何であるかという形態素解析は、検索技術や要約技術などの高度な言語処理を実現する上では基盤となる重要な技術である。形態素解析で解析誤りが多いと、後続の高度な言語処理ステップでの精度低下を招き、結果としてシステム全体の解析性能を落とす原因となる。そのため、形態素解析を高精度に処理することは重要である。
【０００３】
形態素解析処理は、入力文である文字列を単語の単位に分割し、品詞などの辞書情報を付与するものである。入力文を長さm字の文字列S=c1c2…cmとする。この入力文をn個の表記列（部分文字列）F=f1f2…fn に分割し、各表記列に付与される品詞が品詞列T=t1t2…tnであった時、形態素解析は、表記列と品詞列の同時確率P(F,T)を最大化するような単語分割および品詞付与を実行する。即ち、以下の式を満たすような(F,T)の組を求める問題となる。
【０００４】
【数１】
2011065384.tif 000003
実際の形態素解析処理では、入力文の任意の部分文字列に対して別途準備する単語辞書を照合し、該当する部分文字列、即ち表記に対する単語辞書エントリがあればその情報を取得して単語とみなす、という処理が行われる。単語辞書とは、単語を構成する表記と、その表記に対応する辞書情報が対応つけられたものである。辞書情報の代表的なものは品詞であり、例えば「NTT」という表記には「名詞」という品詞が対応つけられている。また「通」という表記は「助数詞」「動詞語幹」「名詞」という品詞の違いにより３種類のエントリが考えられる。このように同じ表記であっても品詞が異なる辞書登録語もあり「NTTから請求書が3通届いた」という入力文において、例えば「通」は助数詞なのか、動詞「通る」の語幹なのか、名詞なのか、といった単語の多義性を解消して1つの最適な単語列を出力するのが形態素解析処理である。以後、本願発明では表記と品詞の組み合わせ「表記／品詞」の単位を単語と呼ぶ。
【０００５】
周知の形態素解析技術としては、ＣｈａＳｅｎ、ＪＵＭＡＮやＪＴＡＧ（例えば、非特許文献１参照）などが知られている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Takeshi Fuchi, Shinichiro Takagi: Japanese morphological analyzer using word co-occurrence: JTAG, Proceedings of the 36th Annual Meeting of the Association for Computational Linguistics and 17th International Conference on Computational Linguistics, pp. 409 - 413 (1998 ).
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年では、Web上に膨大なテキストが存在するようになったが、新聞記事のようにプロの書き手が記述した正確な書き言葉としてのテキストだけではなく、ブログや掲示板など一般ユーザが話し言葉に近い砕けた表現で自由に記述したテキストも増えている（CGM：Consumer Generated Media）。これらのテキストは、一般の人が自由に率直に意見を記述していることが多く、世の中の意見を広く抽出するための情報源として注目を浴びている。しかし、このようなテキストは、誤字脱字などの表記上の誤りや、口語的表現や個人の趣向に由来する表記揺れなどを含むため、新聞記事のような正確な書き言葉を想定している言語処理技術ではうまく解析できないことも多い。以後、本明細書ではCGMのように正確な書き言葉とは異なる言語現象（誤字脱字、表記揺れ等）を含むテキストを、誤字脱字テキストと呼ぶことにする。
【０００８】
誤字脱字テキストをうまく解析できない原因の一つは、形態素解析処理に失敗することである。従来の形態素解析処理では、入力文の任意の部分文字列に対して別途準備する単語辞書を照合するが、入力文に誤字脱字があると、単語辞書を照合する際に、辞書登録語の表記と入力文での表記が異なっているために正しく単語として辞書照合できない。辞書照合できなかった文字列は1文字ずつに分解されたり、適当な範囲でまとめられて処理される。例えば「ＭＴＴから精求書が３通届いた」という入力文の場合、文字列「ＭＴＴ」が辞書登録語に無ければ「Ｍ」「Ｔ」「Ｔ」と文字単位に分解されたり、或いは「ＭＴＴ」という辞書未登録語として認識される。また、「精求書」の部分が「精／名詞」「求／動詞語幹」「書／名詞」などのように本来1語にまとまって欲しい「請求書」であったはずの文字列が誤字「精」のために異なる辞書登録語に適当に分解されてしまう。いずれの場合も形態素解析処理においては、解析を誤る原因となる。
【０００９】
このように、従来技術の形態素解析処理では正しく書かれた書き言葉を想定しているために、誤字脱字を含むCGMテキストを解析対象とした場合、入力文に存在する誤字や脱字のために辞書照合に失敗し、最終的には品詞付与などの辞書情報を正しく取得できず、誤った形態素解析結果を出力するという問題点があった。
【００１０】
本発明は上記の点に鑑みなされたもので、誤字や脱字などの表記ゆれを含むテキスト文書の形態素解析を高精度に行うことが可能な誤字脱字対応テキスト解析装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
図１は、本発明の原理構成図である。
【００１２】
本発明（請求項１）は、誤字や脱字が含まれる入力テキストを形態素解析するための誤字脱字対応テキスト解析装置であって、
辞書登録語での出現文字と入力文での出現文字で変化があった箇所の状況である近似文字状況毎に、ある文字が別の文字に混同されやすさを数値化した文字混同確率を格納した文字混同確率記憶手段３３１と、
ある読みに対する漢字を格納した読み・漢字対応記憶手段３３２と、
統計的言語モデルを格納した統計的言語モデル記憶手段３４０と、
入力テキストを形態素解析して単語列データを出力する形態素解析手段１００と、
入力テキストの単語の所定の文字長の単語について近似照合し、近似辞書照合単語列データを出力する近似辞書照合手段２００と、
単語列データと近似辞書照合単語列データを用いて誤字脱字修正を行う誤字脱字修正手段３００と、を有し、
誤字脱字修正手段３００は、
単語列データと近似辞書照合単語列データの単語の照合タイプに基づいて、該単語列データと該近似辞書照合単語列データとに所定の重みを付与し、さらに、該単語列データと該近似辞書照合単語列データの単語の近似文字状況に応じて文字混同確率記憶手段３３１または読み・漢字対応記憶手段３３２を参照して、該単語列データと該近似辞書照合単語列データとに重みを付与し、重み付け単語列データを出力する近似タイプ重み付け手段３１０と、
重み付け単語列データの各位置に存在する単語候補について、統計的言語モデル記憶手段３４０を参照して、
【００１３】
【数２】
2011065384.tif 000004
（但し、Ｓは入力文、Fは入力文Ｓをn個の表記列に分割したもの、Ｔは表記列Ｆの各表記に付与される品詞列であり、Pweight(F,T)は、 近似タイプ重み付け手段３１０で付与される重みを考慮したときの表記列Ｆおよび品詞列Ｔの同時確率）
の同時確率が最大化となる最尤単語列を修正済み単語列データとして出力する単語列確率計算手段３２０を有する。
【００１４】
また、本発明（請求項２）は、請求項１の近似タイプ重み付け手段３１０において、
照合タイプを、
単語列データの単語と単語辞書との「完全一致」、近似辞書照合単語列データの文字列が辞書登録語の表記の一部文字列から置換された形で出現している「置換」、該近似辞書照合単語列データの文字列が辞書登録語の表記に任意の文字が挿入されている「挿入」、該近似辞書照合単語列データの文字列が辞書登録語の表記から任意の文字が削除された形で出現している「削除」とし、各照合タイプ毎に予め決められた重みを設定する。
【００１５】
また、本発明（請求項３）は、請求項１の文字混同確率記憶手段における前記文字混同確率を、別の文字が
（１）ある文字と母音または子音が共通しており、かつ、文字種（ひらがなまたはカタカナ）が共通している場合、
（２）ある文字と同音の文字である場合、
（３）ある文字と形が似ていて文字種が異なる文字である場合、
（４）ある文字の母音部分が落ちた文字である場合、
（５）伏せ字を表す記号である場合、
（６）任意の文字の削除または挿入に対応する場合
のいずれかの条件を満たす場合に値が大きくなるように設定する。
【００１６】
図２は、本発明の原理を説明するための図である。なお、ステップＳ１とステップＳ２は並列に実行しても良いし、ステップＳ２を実行した後、ステップＳ１を実行する形式としても良い。
【００１７】
本発明（請求項４）は、誤字や脱字が含まれる入力テキストを形態素解析するための誤字脱字対応テキスト解析方法であって、
辞書登録語での出現文字と入力文での出現文字で変化があった箇所の状況である近似文字状況毎に、ある文字が別の文字に混同されやすさを数値化した文字混同確率を格納した文字混同確率記憶手段と、
ある読みに対する漢字を格納した読み・漢字対応記憶手段と、
統計的言語モデルを格納した統計的言語モデル記憶手段と、を有するコンピュータが、
入力テキストを形態素解析して単語列データを出力する形態素解析ステップ（ステップ1）と、
入力テキストの単語の所定の文字長の単語について近似照合し、近似辞書照合単語列データを出力する近似辞書照合ステップ（ステップ２）と、
単語列データと近似辞書照合単語列データを用いて誤字脱字修正を行う誤字脱字修正ステップ（ステップ３）と、を行い、
誤字脱字修正ステップ（ステップ３）では、
単語列データと近似辞書照合単語列データの単語の照合タイプに基づいて、該単語列データと該近似辞書照合単語列データとに所定の重みを付与し（ステップ３０１）、さらに、該単語列データと該近似辞書照合単語列データの単語の近似文字状況に応じて文字混同確率記憶手段または読み・漢字対応記憶手段を参照して、該単語列データと該近似辞書照合単語列データとに重みを付与し、重み付け単語列データを出力する近似タイプ重み付けステップ（ステップ３０２）と、
重み付け単語列データの各位置に存在する単語候補について、統計的言語モデル記憶手段を参照して、
【００１８】
【数３】
2011065384.tif 000005
（但し、Ｓは入力文、Fは入力文Ｓをn個の表記列に分割したもの、Ｔは表記列Ｆの各表記に付与される品詞列であり、Pweight(F,T)は、 近似タイプ重み付け手段３１０で付与される重みを考慮したときの表記列Ｆおよび品詞列Ｔの同時確率）
の同時確率が最大となる最尤単語列を修正済み単語列データとして出力する単語列確率計算ステップ（ステップ３０３）を行う。
【００１９】
また、本発明（請求項５）は、請求項４の近似タイプ重み付けステップ（ステップ３０１）において、
照合タイプを、
単語列データの単語と単語辞書との「完全一致」、近似辞書照合単語列データの文字列が辞書登録語の表記の一部文字列から置換された形で出現している「置換」、該近似辞書照合単語列データの文字列が辞書登録語の表記に任意の文字が挿入されている「挿入」、該近似辞書照合単語列データの文字列が辞書登録語の表記から任意の文字が削除された形で出現している「削除」とし、各照合タイプ毎に予め決められた重みを設定する。
【００２０】
また、本発明（請求項６）は、請求項４の文字混同確率記憶手段における前記文字混同確率を、別の文字が
（１）ある文字と母音または子音が共通しており、かつ、文字種（ひらがなまたはカタカナ）が共通している場合、
（２）ある文字と同音の文字である場合、
（３）ある文字と形が似ていて文字種が異なる文字である場合、
（４）ある文字の母音部分が落ちた文字である場合、
（５）伏せ字を表す記号である場合、
（６）任意の文字の削除または挿入に対応する場合、
のいずれかである場合に値が大きくなるよう設定する。
【００２１】
本発明（請求項７）は、請求項１乃至３のいずれか１項に記載の誤字脱字対応テキスト解析装置を構成する各手段としてコンピュータを機能させるための誤字脱字対応テキスト解析プログラムである。
【発明の効果】
【００２２】
上記のように本願発明では予め従来の形態素解析処理により１通りの解析結果を得ておき、その単語列と、近似辞書照合処理による誤字脱字を考慮した単語照合候補を組み合わせることで、入力文中に含まれる誤字脱字を考慮した形態素解析を実行することが特徴である。特に、通常の形態素解析と近似辞書照合を独立に行って通常の形態素解析による単語列を1通り確定させておき、後から近似辞書照合による単語候補と組み合わせて（１）式の同時確率を最大化することが特長である。これにより、
・考慮すべき単語候補を抑制しながら効率よく高速に形態素解析処理を行う；
・既存の形態素解析技術の辞書照合処理部に直接近似辞書照合処理を組み込む手段と比
較すると、本手段では既存の形態素解析処理の後付の修正処理として独立させることができるため、既存の形態素解析システムの改変に伴うコストが低く抑えられる；
という効果がある。
【図面の簡単な説明】
【００２３】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明で用いる位置と入力との関係を示す図である。
【図４】本発明の一実施の形態における誤字脱字対応テキスト解析装置の構成図である。
【図５】本発明の一実施の形態における形態素解析部から出力される単語列データ（ＪＴＡＧの解析例）である。
【図６】本発明の一実施の形態における近似辞書照合単語列データの例である。
【図７】本発明の一実施の形態における近似辞書照合部２００の構成図である。
【図８】近似辞書照合部２００の一実施の形態における削除キーワードとその値の一例を示す図である。
【図９】近似辞書照合部２００の一実施の形態におけるスキップ入力／スキップ辞書照合アルゴリズムを示す図である。
【図１０】近似辞書照合部２００の一実施の形態における抽出されたキーワード候補の一例を示す図である。
【図１１】近似辞書照合部２００の一実施の形態におけるスキップ入力の一例を示す図である
【図１２】近似辞書照合部２００の一実施の形態における抽出されたキーワード候補の他の例を示す図である。
【図１３】近似辞書照合部２００の一実施の形態におけるトライ構造による入力文字列照合アルゴリズムを示す処理の流れ図である。
【図１４】近似辞書照合部２００の一実施の形態におけるトライ構造によるスキップ入力照合アルゴリズムを示す処理の流れ図である。
【図１５】近似辞書照合部２００の一実施の形態における重複削除アルゴリズムを示す処理の流れ図である。
【図１６】近似辞書照合部２００の一実施の形態における重複削除後の抽出されたキーワードの一例を示す説明図である。
【図１７】近似辞書照合部２００の一実施の形態における重複削除後の抽出されたキーワードの他の例を示す図である。
【図１８】本発明の一実施の形態における文字テーブルの例である。
【図１９】本発明の一実施の形態における重みつき単語列データの例である。
【図２０】本発明の一実施の形態における修正済み単語列データの例である。
【図２１】本発明の一実施の形態における重みつき単語列データの文字位置との対応図である。
【図２２】本発明の一実施の形態における誤字脱字対応テキスト解析装置の他の構成例である。
【発明を実施するための形態】
【００２４】
以下、図面と共に本発明の実施の形態を説明する。
【００２５】
まず始めに、本願発明の実施の形態を説明する上で必要となる幾つかの用語を定義する。
【００２６】
「位置」とは、入力文の文字と文字の間を指し、０から始まり、文頭から文末まで1文字ずつ増えていく数字である。例えば、入力文が「NTTから請求書が３通届いた」の時、各位置と入力文との関係は、図３のようになる。「位置３」とは「Ｔ」と「か」の間を指す。位置が入力文の文字数と一致した時が文末に達した時である。図３の例では「位置１４」に達していれば文末と判断する。
【００２７】
各位置における、その位置の直後の文字から始まる単語候補をその位置の「右側単語候補」、と呼ぶ。また、その位置の直前の文字で終了する単語候補をその位置の「左側単語候補」と呼ぶ。例えば、「位置５」の右側単語候補は「請求／動詞語幹」「請求書／名詞」、左側単語候補は「から／格助詞」がある。
【００２８】
また、誤字脱字を含むテキストに対して近似辞書照合した時の照合タイプを置換、挿入、削除の３種類で定義する。以後、それぞれの照合タイプを、「REP」、「INS」、「DEL」で表す。また、これらの照合について、辞書登録語での出現文字と入力文での出現文字で変化があった箇所の状況を、「近似文字状況」と呼ぶことにし、「辞書での文字→入力文での文字」と表す。
【００２９】
「REP」は、テキスト中の文字列が、辞書登録語の表記の一部文字列から置換された形で出現していたことを意味しており、例えば「ＭＴＴから」という文字列の「ＭＴＴ」は「ＮＴＴ／名詞」という辞書登録語の１文字置換（１文字目のＮがＭに置換）である。近似文字状況は「Ｎ→Ｍ」である。
【００３０】
「INS」は、テキスト中の文字列が、辞書登録語の表記に任意の文字が挿入された形で出現していたことを意味しており、例えば「NMTTから」という文字列の「ＮＭＴＴ」は「ＮＴＴ／名詞」という辞書登録語の１文字挿入（１文字目直後にMが挿入）である。近似文字状況は「→Ｍ」である。この場合、辞書登録語の表記には存在しなかった文字「Ｍ」が新たに出現している。
【００３１】
「DEL」は、テキスト中の文字列が、辞書登録語の表記から任意の文字が削除された形で出現していたことを意味しており、例えば「ＴＴから」という文字列の「ＴＴ」は、「ＮＴＴ／名詞」という辞書登録語の１文字削除（１文字目のNが削除）である。近似文字状況は「N→」である。この場合、辞書登録語の表記の「N」が消失している。
【００３２】
本願発明では、以後、説明の簡略化のため、挿入削除置換ともに各単語、１文字１箇所のみ発生した場合を想定して説明することとする。なお、従来の形態素解析処理によって得た単語列は、いずれも近似照合を考慮していない単語候補であることから、照合タイプを完全一致（以後、EMと表す）であると考える。結局、本願発明では、単語候補の辞書照合タイプを、「REP」、「INS」、「DEL」、「EM」の４種類で分類し、前者３種類は近似辞書照合結果から獲得し、４つ目の「EM」は従来の形態素解析処理結果から獲得するものとする。
【００３３】
本願発明の装置の構成、および、各処理部が実施する処理とその入出力を図４に示す。
【００３４】
図４は、本発明の一実施の形態における誤字脱字対応テキスト解析装置の構成を示す。
【００３５】
同図に示す誤字脱字対応テキスト解析装置は、形態素解析部１００、近似辞書照合部２００、誤字脱字修正部３００から構成される。誤字脱字修正部３００は、近似タイプ重み付け部３１０、単語列確率計算部３２０、文字テーブル３３０、統計的言語モデル記憶部３４０を有する。このうち、文字テーブル３３０と統計的言語モデル記憶部３４０は、ハードディスク装置等の記憶媒体である。
【００３６】
以下に各構成要素の処理内容を説明する。
【００３７】
●形態素解析部１００：
形態素解析部１００は、入力文（ａ）を形態素解析して単語列データ（ｂ）を出力するものである。既存の任意の形態素解析処理システムを利用してよい。例えば「○TTから精求書が３通届いた」という入力文に対して、得られる形態素解析結果、即ち単語列データ（ｂ）の状況を図５に示す。図５に示す表はＪＴＡＧを利用した場合の形態素解析結果を示したものである。形態素解析システムによって、結果が多少異なる。図５の例では「○TT」のような伏字、「精求書」のような誤字が含まれた入力文のため、形態素解析処理で、「○TT」が「○／記号」と「ＴＴ／Alphabet」へ、「精求書」が「精／名詞」「求／Kanji」「書／名詞接尾辞」へと分割されている。なお、「ＴＴ／Alphabet」「求／Kanji」は、それぞれ英字、漢字の未知語であることを意味しており、既存の形態素解析処理では、本来の単語ではなく別の辞書登録語や未知語を使って誤った解析結果を出力することがしばしばあることがわかる。なお、ここで得られる単語列データ（ｂ）は既存の形態素解析処理が出力する１つの最尤単語列である。また、形態素解析で利用する単語辞書に対して完全一致の単語のみが得られる。またこれらの単語の照合タイプは全て「EM」である。
【００３８】
●近似辞書照合部２００：
近似辞書照合部２００は、形態素解析部１００の処理と同じ入力文（ａ）に対して近似辞書照合処理を実行して近似辞書照合単語列データ（ｃ）を出力する。この処理も既存の任意の近似辞書照合処理システムを利用してよい。本稿では後述する近似辞書照合システムを利用した。この処理で利用する辞書は、形態素解析部１００で利用する単語辞書（図示せず）から作成するものである。ただし、全ての文字長の単語を近似辞書照合すると照合する文字列が爆発するため、ここでは文字長３以上の単語に限定する。つまり、形態素解析処理の文字長３以上の単語辞書に対して、挿入・置換・削除された文字列を辞書照合する。また、1文字置換、２文字置換など、何文字までの近似照合を許すかについても色々状況が考えられるが、ここでは1文字までの近似照合に限定して説明する。近似辞書照合単語列データ（ｃ）の例を図６に示す。
【００３９】
本願発明で利用する後述する近似辞書照合では、照合結果として照合した元キーワード、照合開始位置、照合終了位置、誤り開始位置、誤り文字数、一致タイプを出力する。照合開始位置、照合終了位置は入力文における位置、誤り開始位置は照合した元キーワードにおける位置である。図６ではこれらの情報のうち、1列目記載の"位置"は照合開始位置を表す。３列目記載の"照合単語"は、元キーワードである「表記／品詞」、一致タイプである「照合タイプ」、および、誤り開始位置を連結して「表記／品詞／照合タイプ／誤り開始位置」を表す。２列目記載の"入力文の照合文字"は参考情報であるが、実際には照合開始位置と照合終了位置を利用して入力文から容易に生成できる。
【００４０】
近似文字状況「辞書での文字→入力文での文字」は、誤り開始位置と元キーワード、および照合開始位置と入力文を利用して参照できる。たとえば、位置０で照合した「NTT／名詞／REP／０」では、辞書中の文字が元キーワードの誤り開始位置０の「N」であり、入力文中の文字は、照合開始位置が０で、誤り開始位置が０のため入力文の０+０の位置にある「○」となり、近似文字状況は「N→○」であることがわかる。また、照合タイプが「DEL」では、近似文字状況の入力文での文字がカラとなる。例えば、位置３で照合した「からし／名詞／DEL／２」では、辞書中の文字が元キーワードの誤り開始位置２の「し」であり、近似文字状況は「し→」（しが削除された）となる。図６には実例が無いが照合タイプが「INS」の場合は逆に辞書での文字がカラとなり「→入力文での文字」という形になる。
【００４１】
当該近似辞書照合技術の具体的な手法を以下に示す。
【００４２】
図７は本発明の近似辞書照合部２００の実施の形態の一例を示すもので、スキップ辞書作成部１０、スキップ辞書記憶部２０及びキーワード抽出部３０から構成される。なお、本明細書では、キーワードの最大削除文字数と入力文字列の最大スキップ幅は等しく、Ｎと表記する。
【００４３】
また、近似辞書照合部２００は、ＣＰＵや、メモリ等の記憶手段を備えたコンピュータに、スキップ辞書作成部１０、及びキーワード抽出部３０の機能を実現するためのプログラムを搭載することにより実現可能である。また、スキップ辞書を別の装置等で作成し、それをスキップ辞書記憶部２０に記憶することとすれば、コンピュータにキーワード抽出部３０の機能を実現するためのプログラムを搭載することによりキーワード抽出手段を備えた近似辞書照合部２００を実現できる。また、当該プログラムは、可搬メモリ等の記憶媒体に格納しておき、そこからコンピュータにインストールすることが可能である。
【００４４】
スキップ辞書作成部１０は、予め与えられたキーワードに対して、キーワード毎に、キーワードそのものと、当該キーワードの全ての文字位置から連続する少なくとも１つの文字を削除した文字列の集合とからなる削除キーワードを含むスキップ辞書を作成する。
【００４５】
スキップ辞書記憶部２０は、スキップ辞書作成部１０で作成されたスキップ辞書を記憶・保持する。
【００４６】
キーワード抽出部３０は、入力文字列とスキップ辞書記憶部２０に保持されたスキップ辞書とを照合することにより、入力文字列から予め与えられたキーワード及び当該キーワードに近似したキーワードを抽出し、その出現位置とともに出力する。
【００４７】
以下、前述した各部における処理の詳細について例を挙げて説明する。
【００４８】
≪スキップ辞書作成部≫
スキップ辞書作成部１０は、削除キーワード／値生成部１１、削除キーワード／値一時記憶部１２及びトライ辞書作成部１３からなり、抽出したいキーワードとして予め人手によりリストアップされたキーワードの集合であるキーワード辞書からスキップ辞書を作成し、スキップ辞書記憶部２０に格納する。
【００４９】
＜削除キーワード／値生成部＞
削除キーワード／値生成部１１では、予め用意されたキーワード辞書中の各キーワードに対して、まず、キーワードそのものと、当該キーワードの全ての文字位置ｐｋから連続するｗｋ字（１≦ｗｋ≦Ｎ：Ｎはキーワードの削除最大文字数）を削除した文字列の集合とからなる削除キーワードを作成し、削除キーワード／値一時記憶部１２に記憶する。
【００５０】
その際、削除文字位置ｐｋ、削除文字数ｗｋ及び当該削除キーワードの元となったキーワードである元キーワードの組を値として生成し、その削除キーワードに対応させて削除キーワード／値一時記憶部１２に記憶する。削除キーワードが元キーワードそのものである場合、ｗｋは０である。ｐｋは何を代入しても良いが、ここでは空欄とする。例えば、最大削除文字数Ｎ＝２の場合、「オリンピック」というキーワードからは、図８に示す１２個の削除キーワードとその値が生成される。
【００５１】
もちろん、これは全てのキーワードに対して行わなくても良く、ある一定の長さ以上（例えば、４文字以上）の長さのキーワードに対してのみ、削除キーワードを作成しても良い。
【００５２】
＜トライ辞書作成＞
トライ辞書作成１３では、削除キーワード／値一時記憶部１２から削除キーワード／値生成部１１が生成した削除キーワードと当該削除キーワードに対応する値を読み出し、トライ構造に変換して辞書を作成する。
【００５３】
すなわち、トライ辞書作成１３は、削除キーワード／値一時記憶部１２から削除キーワード／値生成部１１が生成した削除キーワードと当該削除キーワードに対応する値を読み出し、キーワードの各文字を枝とし、キーワード毎に異なる値を保持可能なノードを含む、キーワードの共通接頭辞を併合した木構造であるトライ構造に変換してスキップ辞書を作成する。
【００５４】
後述するスキップ入力／スキップ辞書照合部でＡＣ法を用いる場合、さらにｆａｉｌｕｒｅ関数、ｏｕｔｐｕｔ関数を定義する。これを全てのキーワードについて行い、スキップ辞書としてスキップ辞書記憶部２０に格納する。
【００５５】
≪キーワード抽出部≫
キーワード抽出部３０は、スキップ入力／スキップ辞書照合部３１、照合結果一時記憶部３２及び重複削除部３３からなり、誤字や脱字を含む入力文字列とスキップ辞書記憶部２０に格納されたスキップ辞書とからキーワードを抽出し、その出現位置及び値とともに出力する。
【００５６】
＜スキップ入力／スキップ辞書照合部＞
まず、スキップ入力／スキップ辞書照合部３１では、入力文字列とスキップ辞書記憶部２０に格納されたスキップ辞書とを照合して、キーワードの侯補を抽出する。スキップ入力／スキップ辞書照合のアルゴリズムを図９に示す。なお、ここで抽出したキーワードは、
・ＥＭ：キーワードが入力文字列中に完全一致で出現
・ＤＥＬ：入力文字列に削除文字（脱字）が存在する状態でキーワードと一致
・ＩＮＳ：入力文字列に挿入文字が存在する状態でキーワードと一致
・ＲＥＰ：入力文字列に置換文字（誤字）が存在する状態でキーワードと一致
の４つの一致タイプに分類される。
【００５７】
（１）入力文字列とスキップ辞書の照合
まず、入力文字列とスキップ辞書を照合する（ステップｓ２１）。この照合アルゴリズムは、通常のトライ辞書照合、ＡＣ法による照合のどちらを用いても良い。また、これら以外の照合アルゴリズムを用いることもできる。
【００５８】
次に、スキップ辞書と一致した全てのキーワード侯補について、以下のステップｓ２２とステップｓ２３の処理を繰り返す。
【００５９】
削除キーワードの削除文字数ｗｋが０ならば、一致タイプをＥＭとして、当該一致タイプ、入力文字列における一致開始位置、終了位置、誤り開始位置、誤り文字数、元キーワードを出力して照合結果一時記憶部３２に記憶する（ステップｓ２２）。
【００６０】
削除キーワードの削除文字数ｗｋが０より大きければ、一致タイプをＤＥＬとして、当該一致タイプ、入力文字列における一致開始位置、終了位置、誤り開始位置、誤り文字数、元キーワードを出力して照合結果一時記憶部３２に記憶する（ステップｓ２３）。
【００６１】
上記のステップｓ２２、ｓ２３において、一致タイプがＥＭであれば、誤り開始位置、誤り文字数はどちらも常に０となり、一致タイプがＤＥＬであれば、誤り開始位置、誤り文字数は、それぞれ削除キーワードの削除文字位置ｐｋ、削除文字数ｗｋである。
【００６２】
例えば、文１『第２９回夏季オリンピックは、２００８年８月８日から中国北京で開催される』と、スキップ辞書とを照合すると、図１０に示すキーワード侯補が得られる。
【００６３】
（２）スキップ入力とスキップ辞書の照合
ここでは、まず、入力文字列の全ての位置から少なくとも１つの文字をスキップ、詳細には絶対スキップ位置ｐを一つずつ増加させながらスキップ幅ｗｉ字（１≦ｗｉ≦Ｎ）をスキップさせた文字列を作成する（ステップｓ２４）。これをスキップ入力と呼ぶ。例えば、文１第２９回夏季オリンピックは、２００８年８月８日から中国北京で開催される』についてスキップ入力を作成すると、図１１に示す文字列が得られる。
【００６４】
次に各スキップ入力とスキップ辞書とを照合する（ステップｓ２５）。なお、スキップ入力を作成せず、スキップ辞書との照合時に、入力文字列を直接スキップしながら照合することも可能である。
【００６５】
続いて、スキップ辞書と一致した全てのキーワード侯補について、ステップｓ２６〜ｓ２９の処理を繰り返す。
【００６６】
まず、ステップｓ２６において、キーワードの一致開始位置ｉと絶対スキップ位置ｐから、キーワード上での相対スキップ位置ｐｉ＝ｐ−ｉを算出する。
【００６７】
そして、ｐｉ≧０かつｐｉ≦削除キーワードの文字列長であるか否かが判定され（ステップｓ２７）、ｐｉ≧０かつｐｉ≦削除キーワードの文字列長であればステップｓ２８に進み、ｐｉ≧０かつｐｉ≦削除キーワードの文字列長でなければ次のキーワード候補の処理を行う。
【００６８】
ｐｉ≧０かつｐｉ≦削除キーワードの文字列長である場合において、もし、削除キーワードの削除文字数ｗｋが０ならば、一致タイプをＩＮＳとして、当該一致タイプ、入力文字列における一致開始位置、終了位置、誤り開始位置、誤り文字数、元キーワードを出力して照合結果一時記憶部３２に記憶する（ステップｓ２８）。
【００６９】
もし、削除キーワードの削除文字数ｗｋが０より大きく、かつ入力文字列の相対スキップ位置ｐｉと削除キーワードの削除文字位置ｐｋが等しく、かつ入力文字列のスキップ幅ｗｉと、削除キーワードの削除文字数ｗｋが等しければ、一致タイプをＲＥＰとし、当該一致タイプ、入力文字列における一致開始位置、終了位置、誤り開始位置、誤り文字数、元キーワードを出力して照合結果一時記憶部３２に記憶する（ステップｓ２９）。
【００７０】
ステップｓ２８、ｓ２９において、誤り開始位置、誤り文字数は、それぞれスキップ入力の相対スキップ位置ｐｉ、スキップ幅ｗｉとなる。
【００７１】
ステップｓ２４から、ステップｓ２６〜ｓ２９の繰り返し処理までの処理が入力文字列の絶対スキップ位置ｐ＝０から（文字列長−ｗｉ）まで繰り返され、当該繰り返しの処理が、入力文字列のスキップ幅ｗｉ＝１からＮまで繰り返される。
【００７２】
例えば、図１１のスキップ入力と、キーワード辞書から作成したスキップ辞書を照合すると、図１２に示すキーワード侯補が得られる。なお、一致タイプＲＥＰが１１個出現しているのは、元キーワードと同一の文字への置換が、各文字位置で出現したと解釈しているからである。
【００７３】
（３）トライ構造によるスキップ辞書照合の高速化
図９では入力文字列、スキップ入力の２箇所（ステップｓ２１，ステップｓ２５）でスキップ辞書との照合を行っていた。通常のトライ構造を用いる場合、上記２箇所の照合アルゴリズムをそれぞれ図１３，図１４に示すようなアルゴリズムを用いることにより、さらに高速にスキップ辞書との照合を行うことができる。
【００７４】
まず、入力文字列とスキップ辞書との照合（図１３）では、入力文字列の全ての文字位置（照合開始位置）ｉにおいて、入力文字列とスキップ辞書をトライ法で照合し、照合に成功したキーワード等を出力する（ステップｓ３１〜ステップｓ３５）とともに、照合に失敗した文字位置ｊをｉと組にして保存しておく（ステップｓ３６）。
【００７５】
つまり、図１３に示すように、入力文字列の全ての文字位置ｉについて、ステップｓ３１〜ステップｓ３６の処理が繰り返される。
【００７６】
まず、キーワード照合位置ｊを０とし、トライノードｎを根ノードとすることにより初期化が行われる（ステップｓ３１）。次に、ノードｎの枝に終端記号＃があるかどうかの判定がなされ（ステップｓ３２）、終端記号＃があれば、根ノードからの経路上の全枝ラベル、値、一致開始位置ｉが出力される（ステップｓ３３）。
【００７７】
ステップｓ３２の判定において、ノードｎの枝に終端記号＃がない場合、入力文字列における位置ｉ＋ｊの文字Ｃｉ＋ｊがトライノードｎから分岐する枝ラベルにあるかどうかの判定がなさる（ステップｓ３４）。
【００７８】
ステップｓ３４において、文字Ｃｉ＋ｊがトライノードｎから分岐する枝ラベルにない場合、文字位置ｉと、キーワード照合失敗位置ｊを対で保存し（ステップｓ３６）、入力文字列の次の文字位置について、ステップｓ３１からの処理を繰り返す。ステップｓ３４において、文字Ｃｉ＋ｊがトライノードｎから分岐する枝ラベルにある場合、ｊをｊ＋１とし、ｎを該当枝先のノードに更新してステップｓ２に進む（ステップｓ３５）。
【００７９】
ステップｓ３６の処理により、照合開始位置（一致開始位置）ｉ毎に、ｊ−１文字まで照合が成功したことが示される。
【００８０】
スキップ入力とスキップ辞書との照合（図１４）では、入力文字列の全ての文字位置（照合開始位置）ｉにおいて、スキップ入力とスキップ辞書をトライ法で照合する（ステップｓ４３〜ステップｓ４７）が、その際、位置ｉに対応する保存済みのキーワード照合失敗位置ｆを取得（正確には、ステップｓ３６で保存したｊをｆとして取得）する（ステップｓ４１）。
【００８１】
ここで、スキップ入力の絶対スキップ位置ｐがｐ＜ｉならば、もしキーワードが一致したとしても、入力文字列との照合で一致済みである。また、ｐ＞ｉ＋ｆならば、スキップ位置に至る前に照合が失敗することが明らかである。従って、ｐ＜ｉまたはｐ＞ｉ＋ｆであるかどうかの判定を行い（ステップｓ４２）、ｐ＜ｉまたはｐ＞ｉ＋ｆであれば何もせずに次の文字位置ｉ＋１に処理を移す。
【００８２】
ｐ＜ｉまたはｐ＞ｉ＋ｆでなければ、まず、キーワード照合位置ｊを０とし、トライノードｎを根ノードとすることにより初期化が行われる（ステップｓ４３）。次に、ノードｎの枝に終端記号＃があるかどうかの判定がなされ（ステップｓ４４）、終端記号＃があれば、根ノードからの経路上の全枝ラベル、値、一致開始位置ｉが出力される（ステップｓ４５）。
【００８３】
ステップｓ４４の判定において、ノードｎの枝に終端記号＃がない場合、入力文字列における位置ｉ＋ｊの文字Ｃｉ＋ｊがトライノードｎから分岐する枝ラベルにあるかどうかの判定がなさる（ステップｓ４６）。
【００８４】
ステップｓ４６において、文字Ｃｉ＋ｊがトライノードｎから分岐する枝ラベルにない場合、入力文字列の次の文字位置について、ステップｓ４１からの処理を繰り返す。ステップｓ４６において、文字Ｃｉ＋ｊがトライノードｎから分岐する枝ラベルにある場合、ｊをｊ＋１とし、ｎを該当枝先のノードに更新してステップｓ４４に進む（ステップｓ４７）。
【００８５】
このように、トライ構造との照合アルゴリズムを変更することにより、スキップ入力の照合範囲を限定し、さらに高速な照合を行ってもよい。
【００８６】
＜重複削除部＞
重複削除部３３では、照合結果一時記憶部３２からスキップ入力／スキップ辞書照合部３１が出力したキーワード侯補の集合を読み出し、重複するものを削除したキーワードの集合を生成して出力する。ここでは、誤り文字数が最小のものだけを選択し、残りのもののうち、入力文字列上で一致したエリアが重なるものは重複と解釈する。重複削除アルゴリズムを図１５に示す。
【００８７】
１．まず、キーワード侯補集合Ｃに、照合結果一時記憶部３２から読み出したキーワード侯補の集合（スキップ入力／スキップトライ照合の出力）をセットし、最終的に出力するキーワード集合Ｋを空集合（Φ）とする（ステップｓ７１）。
【００８８】
２．次に、キーワード侯補集合Ｃから侯補を一つ（ｃとする）を取り出す（ステップｓ７４）。この候補ｃと元キーワードが一致するものを、キーワード侯補集合Ｃから全て取り出す（ステップｓ７５）。これをＣｋｅｙｓとする。
【００８９】
３．次に、Ｃｋｅｙｓから、誤り文字数が最小の侯補を全て取り出し（Ｃｍｉｎｓとする）、Ｃｍｉｎｓをキーワード集合Ｋに加える（ステップｓ７６）。
【００９０】
４．最後に、Ｃｋｅｙｓの全てのキーワード侯補について、Ｃｍｉｎｓ中の全てのキーワードの一致開始位置、終了位置と比較して、エリアが重なるものをキーワード侯補集合Ｃから削除する（ステップｓ７７）。
【００９１】
５．ステップｓ７２〜ｓ７４を、キーワード侯補集合Ｃが空集合になるまで繰り返す（ステップｓ７２）。
【００９２】
６．Ｋを、最終的なキーワード集合として出力する（ステップｓ７３）。
【００９３】
このように重複を削除することにより、例えば、文１『第２９回夏季オリンピックは、２００８年８月８日から中国北京で開催される』と、キーワード辞書から作成したスキップ辞書から、図１６に示すキーワードだけが残ることになる。つまり、入力文字列の６文字目から、「オリンピック」というキーワードが完全一致で出現したという意味になる。
【００９４】
同様に、文２〜４
文２：『競泳は他の夏季オリンピックと同様に、期間の前半に行われる。』
文３：『中でも注目は男子の１００ｍ平泳ぎである。』
文４：『日本はメダルを取れるであろうか。』
と、キーワード辞書から作成したスキップ辞書を用いると、たとえば、図１７に示すキーワードが得られる。
【００９５】
以上の近似辞書照合部２００により得られる一致タイプ・開始位置・終了位置・元キーワードの情報からは、各入力文中の、何文字目から何文字目が辞書のキーワードと一致したのか、その一致タイプが完全一致・置換・削除・挿入のいずれかであったのかがわかる。また、誤り開始位置・誤り文字数の情報からは、一致タイプが置換・挿入・削除の場合に、照合文字範囲で何文字目から何文字が誤りであったのかがわかる。
【００９６】
本願発明では近似辞書照合部２００として上記の手法を利用しているが、同様の機能を有する既存技術があればそれを利用してよい。なお、本願発明ではEMタイプの単語候補は形態素解析部１００から取得するため、近似辞書照合部２００の出力に「EM」が含まれる場合は対象外とする。
【００９７】
以上のようにして、「EM」ではない３種類の照合タイプ、「REP」、「INS」、「DEL」の近似辞書照合単語列データ（ｃ）を出力として得る。ここで得られるデータは形態素解析部１００で得る1種類の単語列データとは違って、同じ位置に複数の単語が存在する。
【００９８】
●誤字脱字修正部３００：
誤字脱字修正部３００では、形態素解析部１００及び近似辞書照合部２００にて得られる出力、即ち、単語列データ（ｂ）および近似辞書照合単語列データ（ｃ）を入力として誤字脱字修正を行う。
【００９９】
誤字脱字修正部３００は、近似タイプ重み付け部３１０と単語列確率計算部３２０を有する。これらの処理をそれぞれ順を追って説明する。
【０１００】
＜近似タイプ重み付け部３１０＞
近似タイプ重み付け部３１０では、単語列データ（ｂ）および近似辞書照合単語列データ（ｃ）に存在する単語について、その照合タイプと近似文字状況の２つの観点から、各単語に重み付けを行う。
【０１０１】
［照合タイプに基づく重み付け］
まず、照合タイプに基づく重み付けであるが、例えば、「EM」は1.0、それ以外の「REP」、「INS」、「DEL」については0.1というように、照合タイプ別に任意の値を設定する。この値は、各照合タイプのいずれを優先させるかを制御するものである。本願発明では、形態素解析処理の後付処理としての誤り修正を目的としているため、形態素解析結果である「EM」を最優先させて1.0という重みを設定するが、実際の処理においては、入力文の誤り発生率の高さやその内容に応じて適宜自由に調整する。
【０１０２】
［近似文字状況に基づく重み付け］
続いて、近似文字状況に基づいた重み付けを行う。この処理は特に照合タイプ「REP」で利用するものである。ある文字から別の文字への置換の発生しやすさは、文字の内容によって変化する。ここでは電子的に入力されたテキストでの置換を想定することにし、具体的にはキーボードでの文字入力を前提とする。
【０１０３】
例えば、ひらがな「か」の近似文字状況では、５０音の同じ行に存在するひらがな同士の置換と別の行に存在するひらがな同士の置換では、前者の方が発生しやすい。つまり「か→き」と「か→へ」の置換では前者の方が発生しやすい。また、同じ段に存在するひらがな同士の置換も発生しやすい。つまり、「か→さ」は「か→お」より発生しやすい。これはキーボード入力では、ひらがなをアルファベット表記で入力することが主流であることが原因であり、「か」は「k」＋「a」、「き」は「k」＋「i」で入力するため、子音部分が共通な文字同士は誤入力されやすい。同様に「さ」は「s」＋「a」であるため、母音部分が共通な文字同士は誤入力されやすい。それと比較して、母音部分、子音部分ともに共通でないひらがな「へ」や「お」への置換は発生しにくい。
【０１０４】
なお、ある文字が別の文字に混同される現象について、その混同されやすさを数値化したものを文字混同確率と呼ぶ。文字を自動認識するOCRシステムは、文字の形がどのくらい似ているかに基づいた文字混同確率を利用して、文字の形状から正しい文字を判別する。例えば「枝」と「技」は形が似ているので文字混同確率P（枝｜技）は高い数値になる。本願発明では形が似ているという特徴ではなく、キーボード入力時の特徴に基づく文字混同確率を考えることとし、また、実際の確率値そのものではなく、何かしらの重み付けされた値として考えて0から1.0の間の数値化し、文字テーブル３３０の文字混同テーブルに記憶しておく。
【０１０５】
図１８に文字テーブルの例を示す。同図に示す文字テーブル３３０は、文字混合テーブル（同図（ａ））と読み＿漢字テーブル（同図（ｂ））を含む。なお、文字混合テーブルでは、テーブルで定義されないケースは「EM」ならば、１．０、「REP」ならば０．１とする。読み＿漢字テーブルは、近似文字状況に漢字を含むときに参照される。本願発明では近似文字状況「辞書中の文字→入力文の文字」において、以下の現象の場合は発生しやすい置換と捉えてテーブルに収録した。
【０１０６】
なお、近似文字状況「辞書中の文字→入力文の文字」は、近似辞書照合部２００にて説明したとおり、誤り開始位置と元キーワード、および照合開始位置と入力文を参照して取得する。
【０１０７】
（１）「ひらがな→ひらがな」「カタカナ→カタカナ」
(a) 同行  … 例「か→こ」「チ→テ」
(b) 同段  … 例「ま→さ」「ホ→モ」
(c) 同音文字  … 例「は→わ」「え→へ」「ワ→ハ」「ヘ→エ」
（２）「ひらがな→漢字」「漢字→ひらがな」「漢字→漢字」
(a) 両者の読みが一致する  … 例「あ→会」「付→つ」「精→請」
（３）「ひらがな→カタカナ」「カタカナ→ひらがな」
(a) 形が似ている文字  … 例「ヘ→へ」「ぺ→ペ」  
（４）「ひらがな→アルファベット」「カタカナ→アルファベット」
(a) 行の子音が共通  … 例「か行の文字→k」「サ行→s」「だ行→d」
（５）「任意の文字→記号」
(a) 記号が●または○  … 例  「N→○」
（６）「任意の文字→」「→任意の文字」
近似タイプがDEL（文字の削除）またはINS（文字の挿入）
（１）は上述の、ひらがなでのキーボード入力で、母音または子音が共通である５０音表同段・同行同士は混同されやすいことを反映している。また、カタカナでも同様である。これらは５０音表での配置に基づいて機械的に文字混同テーブルを作成する。図１８では同行と同段では重み係数に差をつけている。また、（ｃ）{は、わ}の同音文字は（ｂ）同段のサブセットであるが、より発生しやすいと考えて重みを強くしている。このような重み付け係数の粒度は自由に設計すればよい。
【０１０８】
（２）は近似文字状況の一部又は全体が漢字であった場合、同音の文字同士は混同されやすいことを反映している。この場合の文字混同テーブルは別途漢字の読み単位で収録した読み_漢字テーブルを参照し、同一エントリにある任意のペアを対象とする。図１８（ｂ）に読み_漢字テーブルの例を示しているが、「あ」という読みに対応する漢字一覧が収録されているエントリから、任意のペア{あ、会}、即ち「あ→亜」「亜→あ」という近似文字状況や、{会、合}、即ち「会→合」「合→会」という近似文字照合のペアを対象として重み付け係数を1.0に設定する、ということを意味している。このような読み_漢字テーブルは、既存の漢字辞書からも作成できるし、形態素解析で利用する単語辞書の1文字漢字エントリから作成しても良い。
【０１０９】
（３）は形の似ている一部のひらがなとカタカナを対称としたものであり、キーボードでの変換時に入力者がその違いに気が付きにくいという特徴を反映したものである。具体的にはカタカナの「ヘ」とひらがなの「へ」の違いであり、それぞれの濁音、半濁音も対象となる。
【０１１０】
（４）はキーボード入力時にアルファベット入力の子音＋母音のうち母音部分が落ちてしまうものであり、「す」の「s」＋「u」が「s」だけになってしまった状態を反映したものである。これらを全ての行について考慮する。
【０１１１】
（５）は伏字によく現れる現象を反映したものであり、「NTT」が「○TT」と書かれるときの「N→○」の近似文字状況に相当する。
【０１１２】
（６）は照合タイプがDELとINSに関わるものであり、任意の文字の削除または挿入を考慮するものである。
【０１１３】
以上のようにキーボード入力を想定することにより、文字テーブル３３０の文字混同テーブルを設計し、それぞれの重み係数を任意に調整する。ここでは主に、５０音表の配置、漢字の読み、アルファベット入力の状況を考慮してテーブルを設計しているが、更にキーボードのキー配置を考慮して近い位置にある子音同士は混同されやすいといった状況を反映したテーブルを作成するやり方もある。また重み係数も近似文字状況の種類に応じて適宜調整し、細かく振り分けてもよい。本願発明では、このテーブルで定義されてない近似文字状況では、照合タイプが「EM」ならば一律に1.0、照合タイプが「REP」ならば一律に0.1を付与することとする。これらも適宜値を調整したり、別途定義すればよい。
【０１１４】
以上の２種類の重み付け処理を実行して出力される重みつき単語列データを図１９に示す。各位置において該当する右側単語候補が存在する場合は、右側単語候補（「表記／品詞」）と、照合タイプと、本処理で取得した２種類の重みを対応つけて「表記／品詞／照合タイプ／照合タイプ重み／文字混同重み」として記録する。単語候補は、形態素解析処理の出力である単語列データに由来するものと、近似辞書照合処理の出力である近似辞書照合単語列データに由来するものが合わさったものとなる。単語列データに由来する重みつき単語では、照合タイプは自動的に全てEMが付与される。
【０１１５】
既に述べたとおり、照合タイプ重みは、「EM」は1でそれ以外の「REP」、「INS」、「DEL」では一律0.1となっている。また、文字混同重みは、文字テーブル３３０の文字混同テーブルと、読み_漢字テーブルを適宜参照して取得する。図１９中で下線のある重みつき単語は、近似辞書照合単語列データに由来する照合タイプ「REP」のもののうち、文字混同テーブルに定義されているために比較的高い重みがついている候補である。「NTT／名詞」は文字混同テーブルの（５）（「N→○」）、「請求書／名詞」は文字混同テーブルの(2)で読み_漢字テーブルの同一エントリにあるペア（「請→精」）であることから高めの重みが付いている。
【０１１６】
これらの重みの役割は、「EM」以外の「REP」、「INS」、「DEL」として出力された単語候補の中から、より有望なものは残し、残りに低いスコアを割り当ててふるい落とすことにある。近似辞書照合では任意の近似文字状況を対象とするために、1文字違いの単語候補といっても場合によっては大量に照合結果が存在し、近似辞書照合単語列データが膨大なものになることがよくある。これらを全て一律に候補として扱うのでは、本来期待する修正単語を発見するのが困難である。そこで、文字混同確率という枠組みを利用してより発生しやすい近似文字状況を優位にすることで有望な修正候補を浮かび上がらせることを目的としている。
【０１１７】
＜単語列確率計算部３２０＞
単語列確率計算部３２０では、近似タイプ重み付け部３１０が出力した重みつき単語列データ（ｄ）を入力とし、統計的言語モデルを参照して単語列毎の重みを考慮した表記列と品詞列の同時確率Ｐｗｅｉｇｈｔ（Ｆ，Ｔ）を最大化するような単語分割（最尤単語列）を1つ出力するものである。この出力が、修正済単語列データ（ｅ）となる。
【０１１８】
この処理は、各位置に存在する単語候補を利用して最尤単語列を出力することから従来の形態素解析処理と同等の処理が利用できる。ただし、唯一異なる点は、（１）式の確率値の計算において、近似タイプ重み付け部３１０で付与した重み（照合タイプ重みと文字混同重み）を加味することである。近似タイプ重み付け部３１０では、前述のようにより発生しやすい近似文字状況を優位にするよう重み付けを行っている。この重みを考慮することにより、「EM」、「REP」、「INS」、「DEL」という各照合タイプや近似文字状況に基づいて単語候補自身としての尤もらしさを考慮した状態で、最尤となる単語候補を求めることができる。
【０１１９】
例えば、単純に単語bigramモデルとを利用する場合、下記（２）、（３）式を満たす最尤単語列を修正単語列データ（ｅ）として求めればよい。
【０１２０】
【数４】
2011065384.tif 000006
【０１２１】
【数５】
2011065384.tif 000007
上記（３）式では、単語のbigram確率の積でPｗｅｉｇｈｔ(F,T)を近似している。ここで、Ｓは入力文、Ｆは入力文Ｓをｎ個の表記列に分割したもの、Ｔは表記列Ｆの各表記に付与される品詞列であり、Ｐｗｅｉｇｈｔ（Ｆ，Ｔ）は、 近似タイプ重み付け手段３１０で付与される重みを考慮したときの表記列Ｆおよび品詞列Ｔの同時確率である。また、ｗｅｉｇｈｔ１，ｉおよびｗｅｉｇｈｔ２，ｉは、それぞれ近似タイプ重み付け手段３１０で付与される２つの重み（照合タイプ重みと文字混同重み）をそれぞれ示す。この場合は単語のbigram確率を記憶した単語bigramモデルを準備しておき、各位置での左側単語と右側単語のbigram確率を計算しながら動的計画法を用いて文全体で確率最大となる単語列を求めればよい。その際、左側単語と右側単語のbigram確率計算と併せて両単語の２つの重み、即ち、照合タイプ重みと文字混同重みとを積算し、実際のbigram確率に重みを付与していけば、重みを考慮した単語bigram確率を算出できる。
【０１２２】
従来の形態素解析技術における（１）式を最大化する最尤単語列を求める手法については既に数多くの研究が進んでおり、予め大量の正解データから学習した統計的言語モデルに基づいて（１）式を最大化する手法が成功を収めている。統計的言語モデルの種類としては、隠れマルコフモデルなどの生成モデルや、条件付確率場などの識別モデル、あるいは単語bigramモデル、単語trigramモデル、品詞bigramモデル、品詞trigramモデルなどの言語モデルを利用することができる。（２）式は重みを考慮している点を除いては（１）式と同等と考えることができるので、本件発明における統計的言語モデルは、上述の単語bigramモデルに限定されるものではなく、（３）式を変更することにより上述のような様々なモデルを利用することができる。
【０１２３】
以上は、形態素解析を実現する統計的手法の1例であるが、本処理においては、そのほかに品詞ngram確率を考慮したり、モデルの学習データ不足によるスパースネス問題を回避するためのモデルの平滑化を取り入れたり等、既存の統計的手法に基づく形態素解析処理の技術をそのまま利用してよい。ただし、（１）式の同時確率P(F,T)に対して各単語候補の重みを積算した形で最尤単語列候補を求める点のみが変更点である。
【０１２４】
図２０に修正済み単語列データ（ｅ）を示す。統計的言語モデルと、重みを考慮して、最終的に最尤と判断された単語列が１種類出力される。各単語は、「表記／品詞／照合タイプ」の形式で示している。下線が実際に修正のあった単語であり、初期の形態素解析で「○／記号」と「TT／Alphabet」と解析されていた箇所が「NTT／名詞」（REP）、「精／名詞」「求／Kanji」「書／名詞接尾辞」と解析されていた箇所が「請求書／名詞」（REP）として修正されている。
【０１２５】
ところで、本願発明では、形態素解析処理と近似辞書照合処理を独立に実行し、前者由来の1種類の単語列と、後者由来の単語列を組み合わせて全体の単語候補としている。この処理の利点として、効果的に単語候補の数を絞り込めるというものがある。これは、各位置での左側単語候補と右側単語候補を考慮する際に、いずれかが全く存在しない文字位置では確率計算の処理をスキップできるからである。
【０１２６】
図２１に重みつき単語列データを文字位置との対応が分かるように図示した。最上段に位置情報を示し、その下に重みつき単語データの表記のみを抜粋して対応する位置がわかるような形で図示している。位置情報直下にあるのは形態素解析処理由来の単語列であり、その下は近似辞書照合由来の単語列となっている。近似辞書照合由来の単語の下線部分は「REP」、「DEL」などの近似照合が発生した箇所であることを示している。また、各単語の前後の接続状況が分かるように、点線を記載した。これは、同じ位置から始まる（または同じ位置で終わる）単語を識別しやすくしたものである。例えば
【０１２７】
【数６】
2011065384.tif 000008
は、「N」が置換された文字であり位置０から３の範囲で照合する。また
【０１２８】
【数７】
2011065384.tif 000009
は「N」が削除された文字であり位置１から３の範囲で照合する。
【０１２９】
このように単語列が各位置に配置された状態で、文全体の単語列を生成する際、近似辞書照合由来の単語候補の中には、前後に単語が存在せずに単語列として繋がりえないものが存在する。図２１中では「位置２」から始まり「位置５」で終わる「REP」の単語であり、二重線で囲った。これらの単語は「位置２」で終わる単語候補が存在しないため、本処理での確率計算においては「位置２」での処理をスキップしても問題がない。そのため「位置２」の右側単語候補は確率計算処理では対象とならず、処理量が軽減される。図２１中のその他の単語は、それ自身が開始する位置、および、終了する位置に、必ず別の単語が存在するために、確率計算処理の対象となる。この効果は、形態素解析処理由来の単語列を１種類のみ採用したことによる。形態素解析処理の結果では２文字以上の単語が出現することが多い。そのため、そのような複数文字長の単語の途中から発生している、または、途中で終了する近似辞書照合由来の単語は、前後に繋がる単語が存在しない可能性があり、これらは確率計算処理の対象外にできるからである。もし、近似辞書照合処理を形態素解析処理本体の辞書照合部分に組み込んだ場合、全ての文字位置での辞書照合を実行する必要があるためこのような効率的な候補の絞込効果は期待できない。
【０１３０】
もう一つ、形態素解析処理と近似辞書照合処理を独立させたことによる効果は、この実行形態であれば、本願発明を既存の形態素解析処理の出力結果を修正する後処理とみなすことができるため、既存の形態素解析処理に単純につなげることが可能となるという点があげられる。この実行形態であれば、近似辞書照合処理を形態素改正処理本体の辞書照合部分に直接組み込む形態と比較して、既存のシステムの処理内部を改造する必要が無く、システム改変のコストを低く抑えられるという効果が期待できる。
【０１３１】
なお、上記の形態素解析部１００と近似辞書照合部２００を、図２２に示すように、それぞれ形態素解析装置１００、近似辞書照合装置２００として、誤字脱字対応テキスト解析装置の外部に設けることも可能である。この場合、形態素解析装置１００、近似辞書照合装置２００は、上記のように、それぞれ独立して処理を行い、形態素解析装置１００は単語列データを、近似辞書照合装置２００は近似辞書照合単語列データを誤字脱字対応テキスト解析装置の近似タイプ重み付け部３１０に入力する。
【０１３２】
なお、上記の図４、または、図２２に示す誤字脱字対応テキスト解析装置の各構成要素の動作をプログラムとして構築し、誤字脱字対応テキスト解析装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１３３】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【０１３４】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【０１３５】
１０  スキップ辞書作成部
１１  削除キーワード／値生成部
１２  削除キーワード／値一時記憶部
１３  トライ辞書作成部
２０  スキップ辞書記憶部
３０  キーワード抽出部
３１  スキップ入力／スキップ辞書照合部
３２  照合結果一時記憶部
３３  重複削除部
４０  フィルタリング部
５０  表示部
６０  入力部
７０  表示制御部
１００  形態素解析手段、形態素解析部、形態素解析装置
２００  近似辞書照合手段、近似辞書照合部、近似辞書照合装置
３００  誤字脱字修正手段、誤字脱字修正部、誤字脱字対応テキスト解析装置
３１０  近似タイプ重み付け手段、近似タイプ重み付け部
３２０  単語列確率計算手段、単語列確率計算部
３３０  文字テーブル
３３１  文字混同確率記憶手段
３３２  読み・漢字対応記憶手段
３４０  統計的言語モデル記憶手段、統計的言語モデル記憶部
【図１】
2011065384.tif 000012
【図２】
2011065384.tif 000013
【図３】
2011065384.tif 000014
【図４】
2011065384.tif 000015
【図５】
2011065384.tif 000016
【図６】
2011065384.tif 000017
【図７】
2011065384.tif 000018
【図８】
2011065384.tif 000019
【図９】
2011065384.tif 000020
【図１０】
2011065384.tif 000021
【図１１】
2011065384.tif 000022
【図１２】
2011065384.tif 000023
【図１３】
2011065384.tif 000024
【図１４】
2011065384.tif 000025
【図１５】
2011065384.tif 000026
【図１６】
2011065384.tif 000027
【図１７】
2011065384.tif 000028
【図１８】
2011065384.tif 000029
【図１９】
2011065384.tif 000030
【図２０】
2011065384.tif 000031
【図２１】
2011065384.tif 000032
【図２２】
2011065384.tif 000033