(57)【要約】【課題】長音による変形表現が含まれた入力テキストに対し、高い精度で形態解析を行う。【解決手段】入力テキストを解析して単語連鎖候補列を生成し、その少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する。次に、平仮名・長音単語列の信頼度を評価し、信頼度が低いと評価された平仮名・長音単語列を、長音を有しない無長音単語列に変換する。そして、無長音単語列を解析して無長音単語連鎖候補列を生成する。次に、無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成し、長音単語連鎖候補列を単語連鎖候補列にマージし、単語連鎖候補列を更新する。【選択図】図３
2007316916.tif 000002
【特許請求の範囲】
【請求項１】
入力テキストの単語情報列を生成する形態素解析装置において、
上記入力テキストを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である単語連鎖候補列を生成する単語連鎖候補列生成部と、
上記単語連鎖候補列の少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する平仮名・長音単語列抽出部と、
上記平仮名・長音単語列の信頼度を評価する信頼度評価部と、
上記信頼度が低いと評価された上記平仮名・長音単語列を、長音を有しない無長音単語列に変換する無長音単語列変換部と、
上記無長音単語列を構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列を生成する無長音単語連鎖候補列生成部と、
上記無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が上記平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成する長音単語連鎖候補列生成部と、
上記長音単語連鎖候補列を上記単語連鎖候補列にマージし、上記単語連鎖候補列を更新するマージ部と、
を有することを特徴とする形態素解析装置。
【請求項２】
請求項１に記載の形態素解析装置であって、
上記平仮名・長音単語列は、
平仮名と長音のみからなる単語列（先頭の単語が平仮名）、及び、末尾文字が平仮名である単語が平仮名と長音のみからなる単語列（先頭の単語が長音）の直前に付加された単語列である、
ことを特徴とする形態素解析装置。
【請求項３】
請求項２に記載の形態素解析装置であって、
上記平仮名・長音単語列抽出部は、
上記選択単語連鎖列から、平仮名のみからなる単語、長音のみからなる単語、及び、平仮名と長音のみからなる単語、のみから構成される単語列であって、その単語列の直前・直後がこれらの単語以外であるものを平仮名・長音単語列候補として抽出する単語列抽出部と、
上記平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に単語が存在しない場合、及び、当該先頭単語の直前単語の末尾文字が平仮名以外である場合にのみ、上記平仮名・長音単語列候補の先頭単語を削除することにより平仮名・長音単語列候補を更新する第１除外判定部と、
上記平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に末尾文字が平仮名の単語が存在する場合にのみ、当該末尾文字が平仮名の単語を、当該先頭単語の直前に追加することにより当該平仮名・長音単語列候補を更新する範囲補正部と、
上記平仮名・長音単語列候補が長音を含む場合にのみ、当該平仮名・長音単語列候補を上記平仮名・長音単語列とする第２除外判定部と、
を有することを特徴とする形態素解析装置。
【請求項４】
請求項１に記載の形態素解析装置であって、
上記信頼度評価部は、
上記平仮名・長音単語列に未知語が含まれるか、長音のみからなる単語が存在する場合に、当該平仮名・長音単語列の信頼度が低いと判断する、
ことを特徴とする形態素解析装置。
【請求項５】
請求項１に記載の形態素解析装置であって、
上記単語連鎖候補列を用い、上記平仮名・長音単語列の先頭文字の直前の単語の品詞である前方接続可能品詞を抽出し、上記平仮名・長音単語列に関連付けてメモリに格納する前方接続可能品詞抽出部と、
上記単語連鎖候補列を用い、上記平仮名・長音単語列の末尾文字の直後の単語の品詞である後方接続可能品詞を抽出し、上記平仮名・長音単語列に関連付けてメモリに格納する後方接続可能品詞抽出部と、を有し、
上記無長音単語連鎖候補列生成部は、
上記無長音単語列に対応する上記平仮名・長音単語列に関連付けたれた上記前方接続可能品詞及び上記後方接続可能品詞をメモリから読み出し、
少なくとも、上記無長音単語列の先頭単語に接続可能な単語の品詞は上記前方接続可能品詞のみであり、上記無長音単語列の末尾文字に接続可能な単語の品詞は上記後方接続可能品詞のみであるという条件のもと、上記無長音単語列を解析し、上記無長音単語連鎖候補列を生成する、
ことを特徴とする形態素解析装置。
【請求項６】
請求項１又は５に記載の形態素解析装置であって、
上記無長音単語連鎖候補列生成部は、
少なくとも、生成する上記無長音単語連鎖候補列は品詞が未知である単語を含まないという条件のもと、上記無長音単語列を解析し、上記無長音単語連鎖候補列を生成する、
ことを特徴とする形態素解析装置。
【請求項７】
請求項１に記載の形態素解析装置であって、
上記無長音単語列は、
上記平仮名・長音単語列の文字列から長音を削除した長音削除平仮名列、及び、上記平仮名・長音単語列の文字列の長音を平仮名に置換した長音置換平仮名列の少なくとも一方である、
ことを特徴とする形態素解析装置。
【請求項８】
請求項１に記載の形態素解析装置であって、
上記長音単語連鎖候補列を上記単語連鎖候補列にマージする前に、上記長音単語連鎖候補列の長音を有する単語に関連するコストを、低い評価を示す値に調整するコスト調整部を有する、
ことを特徴とする形態素解析装置。
【請求項９】
入力テキストの単語情報列を生成する形態素解析方法において、
単語連鎖候補列生成部が、上記入力テキストを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である単語連鎖候補列を生成する過程と、
平仮名・長音単語列抽出部が、上記単語連鎖候補列の少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する過程と、
信頼度評価部が、上記平仮名・長音単語列の信頼度を評価する過程と、
無長音単語列変換部が、上記信頼度が低いと評価された上記平仮名・長音単語列を、長音を有しない無長音単語列に変換する過程と、
無長音単語連鎖候補列生成部が、上記無長音単語列を構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列を生成する過程と、
長音単語連鎖候補列生成部が、上記無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が上記平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成する過程と、
マージ部が、上記長音単語連鎖候補列を上記単語連鎖候補列にマージし、上記単語連鎖候補列を更新する過程と、
を有することを特徴とする形態素解析方法。
【請求項１０】
請求項１から８の何れかに記載の形態素解析装置としてコンピュータを機能させるための形態素解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理技術に関し、特に、日本語テキストを単語分割し、品詞などの情報を付与する日本語形態素解析技術に関する。
【背景技術】
【０００２】
従来の日本語形態素解析における単語認定では、通常、単語辞書と文法規則とを用い、解析対象の入力テキストから、入力テキストを構成し得る単語の列であって各単語の品詞が前後の単語の品詞と接続可能なものの候補を複数抽出する。そして、これらの各候補について、品詞連鎖及び単語に対する何らかのコスト計算を行い、最終的に１ベスト解又はｎベスト解となる候補を、単語情報列として抽出する（例えば、非特許文献１，２参照）。なお、「１ベスト解」とは、コスト計算により最も高い評価結果が得られた候補を意味し、「ｎベスト解」とは、評価結果が上位ｎ（ｎ＞１）番目までの候補を意味する。
【非特許文献１】吉村賢治他著、「文節数最小法を用いたべた書き日本語文の形態素解析」、情報処理学会論文誌、情報処理学会、１９８３年１月、Vol．24  No.1、p.40−46
【非特許文献２】久光徹他著、「接続コスト最小法による形態素解析の提案と計算量の評価について」、信学技報、電子情報通信学会、１９９０年、NLC90‐8、p.17−24
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の手法では、単語辞書に登録されていない単語は認定できない。そのため、長音による変形表現は、未知語（単語辞書に載っていない語）として認定されるか、単語辞書に登録されている語や未知語の組み合わせとして誤った認定がなされてしまう。例えば、「ゆっくりだよ」を変形した表現である「ゆっくーりだよ」や、「とてもきれい」を変形した表現である「とてもきれーい」や、「おかあさん」を変形した表現である「おかーさん」などは、以下に示すように正しく認定されない。
（１）単語が未知語であると認定される例：ゆっくーりだよ
ゆっくーり：未知語
だ：判定詞
よ：終助詞
（２）単語辞書の登録語の組み合わせとして誤認定される例：とてもきれーい
とても：副詞
きれ：名詞
ー：名詞接尾辞
い：動詞語幹
（３）単語辞書登録語と未知語の組み合わせとして誤認定される例：おかーさん
お：未知語
か：格助詞
ー：未知語
さん：名詞接尾辞
本発明は、上記の点に鑑みなされたものであり、長音による変形表現が含まれた入力テキストに対しても、高い精度で形態解析を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明では上記課題を解決するために、単語連鎖候補列生成部が、入力テキストを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である単語連鎖候補列を生成し、平仮名・長音単語列抽出部が、単語連鎖候補列の少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する。次に、信頼度評価部が、平仮名・長音単語列の信頼度を評価し、無長音単語列変換部が、信頼度が低いと評価された平仮名・長音単語列を、長音を有しない無長音単語列に変換する。そして、無長音単語連鎖候補列生成部が、無長音単語列を構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列を生成する。さらに、長音単語連鎖候補列生成部が、無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成し、マージ部が、長音単語連鎖候補列を単語連鎖候補列にマージし、単語連鎖候補列を更新する。
【０００５】
ここで、本発明では、長音による変形表現と推定される平仮名・長音単語列の信頼度が低いと評価された場合に、その平仮名・長音単語列を、長音を有しない無長音単語列に変換してから解析を行い、その結果により得られた長音単語連鎖候補列を単語連鎖候補列にマージして単語連鎖候補列を更新する。長音を有しない無長音単語列は、単語辞書に存在する単語によって構成される可能性が高い。よって、無長音単語列の解析結果を用いて更新された単語連鎖候補列は、長音による変形表現に対する、より精度が高い解析情報を含む可能性が高い。そのため、このように更新された単語連鎖候補列から選択した１ベスト解やｎベスト解は、長音による変形表現を高い精度で解析したものとなっている可能性が高い。
【０００６】
また、本発明において好ましくは、平仮名・長音単語列は、平仮名と長音のみからなる単語列（先頭の単語が平仮名）、及び、末尾文字が平仮名である単語が平仮名と長音のみからなる単語列（先頭の単語が長音）の直前に付加された単語列である。なお、「単語列」は、複数の単語から構成されるもののみを意味するのではなく、１個の単語から構成されるものをも含む。このような平仮名・長音単語列は、長音による変形表現である可能性が高い。
【０００７】
ここで好ましくは、平仮名・長音単語列抽出部は、単語列抽出部において、選択単語連鎖列から、平仮名のみからなる単語、長音のみからなる単語、及び、平仮名と長音のみからなる単語、のみから構成される単語列であって、その単語列の直前・直後がこれらの単語以外であるものを平仮名・長音単語列候補として抽出する。そして、第１除外判定部において、平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に単語が存在しない場合、及び、当該先頭単語の直前単語の末尾文字が平仮名以外である場合にのみ、平仮名・長音単語列候補の先頭単語を削除することにより平仮名・長音単語列候補を更新する。さらに、範囲補正部において、平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に末尾文字が平仮名の単語が存在する場合にのみ、当該末尾文字が平仮名の単語を、当該先頭単語の直前に追加することにより当該平仮名・長音単語列候補を更新する。その後、第２除外判定部において、第１除外判定部と範囲補正部との処理対象となった平仮名・長音単語列候補が長音を含む場合にのみ、当該平仮名・長音単語列候補を平仮名・長音単語列とする。このような方法により、比較的精度の高い平仮名・長音単語列を容易に生成できる。
【０００８】
また、本発明において好ましくは、信頼度評価部は、平仮名・長音単語列に未知語が含まれるか、長音のみからなる単語が存在する場合に、当該平仮名・長音単語列の信頼度が低いと判断する。ここで、未知語は単語辞書に存在しない単語である。また、長音のみからなる単語が平仮名・長音単語列に含まれるということは、本来その長音と連結して構成される単語が解析結果として得られていないということである。そのため、このような平仮名・長音単語列は信頼度が低いと推定できる。
【０００９】
また、本発明において好ましくは、単語連鎖候補列を用い、平仮名・長音単語列の先頭文字の直前の単語の品詞である前方接続可能品詞を抽出し、平仮名・長音単語列に関連付けてメモリに格納する。また、単語連鎖候補列を用い、平仮名・長音単語列の末尾文字の直後の単語の品詞である後方接続可能品詞を抽出し、平仮名・長音単語列に関連付けてメモリに格納する。そして、無長音単語連鎖候補列生成部は、無長音単語列に対応する平仮名・長音単語列に関連付けたれた前方接続可能品詞及び後方接続可能品詞をメモリから読み出し、少なくとも、無長音単語列の先頭単語に接続可能な単語の品詞は前方接続可能品詞のみであり、無長音単語列の末尾文字に接続可能な単語の品詞は後方接続可能品詞のみであるという条件のもと、無長音単語列を解析し、無長音単語連鎖候補列を生成する。
【００１０】
これにより、平仮名・長音単語列から変換された無長音単語列の解析を、平仮名・長音単語列における前後の品詞連接を保ちつつ行うことになる。本発明は、平仮名・長音単語列を一旦無長音単語列に変形してから解析を行うが、本来解析すべき対象は平仮名・長音単語列である。このように平仮名・長音単語列における前後の品詞連接を保ちつつ無長音単語列の解析を行うことにより、本来解析すべき平仮名・長音単語列にとってふさわしい解析結果を得ることができる。
【００１１】
また、本発明においてより好ましくは、無長音単語連鎖候補列生成部は、少なくとも、生成する無長音単語連鎖候補列は品詞が未知である単語を含まないという条件のもと、無長音単語列を解析し、無長音単語連鎖候補列を生成する。これにより、再び信頼度が低い解析結果が算出されてしまうことを防止できる。
【００１２】
また、本発明においてより好ましくは、無長音単語列は、平仮名・長音単語列の文字列から長音を削除した長音削除平仮名列、及び、平仮名・長音単語列の文字列の長音を平仮名に置換した長音置換平仮名列の少なくとも一方である。ここで、長音による変形表現の本来の表現（単語辞書に存在する表現）は、長音削除平仮名列又は長音置換平仮名列である可能性が高い。よって、このような無長音単語列を解析することにより、長音による変形表現に対応した解析結果を精度良く得られる可能性が高い。
【００１３】
また、本発明においてより好ましくは、長音単語連鎖候補列を単語連鎖候補列にマージする前に、長音単語連鎖候補列の長音を有する単語に関連するコストを、低い評価を示す値に調整するコスト調整部を有する。ここで、長音単語連鎖候補列は、平仮名・長音単語列を一旦無長音単語列に変換し、その無長音単語列を解析して得られた解析結果を用いて生成される。このように長音単語連鎖候補列は、平仮名・長音単語列そのものの解析結果ではなく、無長音単語列の解析結果に長音の付加や置換をして生成されたものである。よって、無長音単語列の解析結果から得られるコストをそのまま長音単語連鎖候補列のコストとすることは妥当でなく、長音を有する単語に関連するコストを低い評価のものに調整することが好ましい。
【発明の効果】
【００１４】
本発明では、長音による変形表現が含まれた入力テキストに対しても、高い精度で形態解析を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
＜ハードウェア構成＞
図１は、本形態における形態素解析装置１０のハードウェア構成を例示したブロック図である。
図１に例示するように、この例の形態素解析装置１０は、ＣＰＵ（Central Processing Unit）１１、入力部１２、出力部１３、補助記憶装置１４、ＲＯＭ（Read Only Memory）１５、ＲＡＭ（Random Access Memory）１６及びバス１７を有している。
【００１６】
この例のＣＰＵ１１は、制御部１１ａ、演算部１１ｂ及びレジスタ１１ｃを有し、レジスタ１１ｃに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、この例の入力部１２は、データが入力される入力ポート、キーボード、マウス等であり、出力部１３は、データを出力する出力ポート、ディスプレイ等である。補助記憶装置１４は、例えば、ハードディスク、ＭＯ（Magneto-Optical disc）、半導体メモリ等であり、本形態のプライバシ保護検査処理を実行するためのプログラムを格納したプログラム領域１４ａ及びタグ出力情報等の各種データが格納されるデータ領域１４ｂを有している。また、ＲＡＭ１６は、例えば、ＳＲＡＭ (Static Random Access Memory)、ＤＲＡＭ (Dynamic Random Access Memory)等であり、のプログラムが書き込まれるプログラム領域１６ａ及び各種データが書き込まれるデータ領域１６ｂを有している。また、この例のバス１７は、ＣＰＵ１１、入力部１２、出力部１３、補助記憶装置１４、ＲＯＭ１５及びＲＡＭ１６を、データのやり取りが可能なように接続する。
【００１７】
＜ハードウェアとソフトウェアとの協働＞
この例のＣＰＵ１１は、読み込まれたＯＳ（Operating System）プログラムに従い、補助記憶装置１４のプログラム領域１４ａに格納されているプログラムを、ＲＡＭ１６のプログラム領域１６ａに書き込む。同様にＣＰＵ１１は、補助記憶装置１４のデータ領域１４ｂに格納されている各種データをＲＡＭ１６のデータ領域１６ｂに書き込む。さらに、ＣＰＵ１１は、当該プログラムや各種データが書き込まれたＲＡＭ１６上のアドレスをレジスタ１１ｃに格納する。そして、ＣＰＵ１１の制御部１１ａは、レジスタ１１ｃに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すＲＡＭ１６上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部１１ｂに順次実行させ、その演算結果をレジスタ１１ｃに格納していく。
【００１８】
図２は、このようにＣＰＵ１１にプログラムが読み込まれることにより構成される形態素解析装置１０のブロック図の例示である。なお、図２における矢印はデータの流れを示すが、制御部１０ｎ及び一時メモリ１０ｐに入出力されるデータの流れは記載していない。
【００１９】
図２に示すように、本形態の形態素解析装置１０は、メモリ１０ａと、単語連鎖候補列生成部１０ｂと、単語情報列選択部１０ｃと、平仮名・長音単語列抽出部１０ｄと、信頼度評価部１０ｅと、前方接続可能品詞抽出部１０ｆと、後方接続可能品詞抽出部１０ｇと、無長音単語列変換部１０ｈと、無長音単語連鎖候補列生成部１０ｉと、長音単語連鎖候補列生成部１０ｊと、コスト調整部１０ｋと、マージ部１０ｍと、制御部１０ｎと、一時メモリ１０ｐとを有している。ここで、平仮名・長音単語列抽出部１０ｄは、単語列抽出部１０ｄａと、第１除外判定部１０ｄｂと、範囲補正部１０ｄｃと、第２除外判定部１０ｄｄとを有している。また、無長音単語列変換部１０ｈは、長音削除平仮名列生成部１０ｈａと、長音置換平仮名列生成部１０ｈｂとを有している。また、メモリ１０ａや一時メモリ１０ｐには各種のデータが格納されるが、これらのデータについては後述する。
【００２０】
なお、メモリ１０ａ及び一時メモリ１０ｐは、例えば、図１に記載したレジスタ１１ｃ、補助記憶装置１４、ＲＡＭ１６、或いはこれらを結合した記憶領域に相当する。また、単語連鎖候補列生成部１０ｂと、単語情報列選択部１０ｃと、平仮名・長音単語列抽出部１０ｄと、信頼度評価部１０ｅと、前方接続可能品詞抽出部１０ｆと、後方接続可能品詞抽出部１０ｇと、無長音単語列変換部１０ｈと、無長音単語連鎖候補列生成部１０ｉと、長音単語連鎖候補列生成部１０ｊと、コスト調整部１０ｋと、マージ部１０ｍと、制御部１０ｎとは、それぞれ、各処置を行うためのプログラムがＣＰＵ１１に読み込まれることにより構成されるものである。また、形態素解析装置１０は、制御部１０ｎの制御のもと各処理を実行する。
【００２１】
＜処理＞
次に、本形態の形態素解析装置１０の処理を説明する。
図３は、本形態における形態素解析装置１０の処理の全体を説明するためのフローチャートである。また、図４は、図３のステップＳ４の処理を説明するためのフローチャートであり、図５は、図３のステップＳ９の処理を説明するためのフローチャートであり、図６は、図３のステップＳ１０の処理を説明するためのフローチャートである。以下、図２とこれらのフローチャートとを用い、形態素解析装置１０の処理を説明していく。
【００２２】
［前処理］
まず、前処理において、単語辞書１０ａａと文法規則１０ａｂと長音文字置換表１０ａｊとがメモリ１０ａ格納される。ここで、単語辞書１０ａａと文法規則１０ａｂは、α-Tagger（登録商標）や、Rosette形態素解析システムや、ConceptBase（登録商標）Search等の公知の形態素解析エンジンに用いられるものを利用すればよい。
【００２３】
一方、長音文字置換表１０ａｊは、本形態独自のものであり、長音による変形表現の長音部分を平仮名に置き換え、長音による変形表現を単語辞書に登録された表現に変換するための対応テーブルである。図７は、この長音文字置換表１０ａｊの一例を説明するための概念図である。図７に例示する長音文字置換表１０ａｊは、単語が有する「長音直前文字の段（母音）」を示すカラムと、当該長音を置換する平仮名である「長音置換文字」を示すカラムとを関連付けたデーブルである。図７の例では、「長音直前文字の段」として、「あ段」「い段」「う段」「え段」「お段」が設定され、それぞれに対応する「長音置換文字」として「あ」「い」「う」「い」「う」が対応付けられている。そして、図７の例の長音文字置換表１０ａｊを用いた長音の置換により、「長音による変形表現」から「単語辞書に登録された表現」への変更が可能となる。例えば、「おかーさん」を「おかあさん」に、「いーよ」を「いいよ」に、「すーじ」を「すうじ」に、「てーど」を「ていど」に、「そーかな」を「そうかな」に変更できる。
【００２４】
［形態解析処理］
まず、解析対象である入力テキスト１０ａｃがメモリ１０ａに格納される。この入力テキスト１０ａｃは、リアルタイムで入力部１２から入力されるものであってもよいし、ハードディスク等の他の記憶装置に格納されたものであってもよい。
【００２５】
次に、単語連鎖候補列生成部１０ｂが、メモリ１０ａの単語辞書１０ａａ及び文法規則１０ａｂを用い、公知の形態素解析アルゴリズム（上述のα-Tagger（登録商標）等のアルゴリズム）に従い、メモリ１０ａから読み出した入力テキスト１０ａｃの形態素解析を文単位で行う。すなわち、単語連鎖候補列生成部１０ｂは、入力テキスト１０ａｃから切り出した単語の品詞を、単語辞書１０ａａを用いて抽出し、文法的に接続可能な品詞を、文法規則１０ａｂを用いて抽出し、入力テキスト１０ａｃの形態素解析結果である単語連鎖候補列１０ａｄを生成する。なお、単語連鎖候補列１０ａｄは、１つの文に対し、複数パターン生成され得る。また、本形態の単語連鎖候補列１０ａｄは、入力テキスト１０ａｃを構成し得る接続可能な単語の列と、各単語の接続（連鎖）関係と、品詞と、コストとを関連つけた情報である。生成された単語連鎖候補列１０ａｄは、メモリ１０ａに格納される（ステップＳ１）。
【００２６】
次に、単語情報列選択部１０ｃが、メモリ１０ａから単語連鎖候補列１０ａｄを読み込み、それらの少なくとも一部である文頭から文末までの選択単語連鎖列１０ａｆを選択する。具体的には、単語情報列選択部１０ｃは、例えば、単語連鎖候補列１０ａｄを入力とし、予め規定されたコスト計算（例えば既存の文節数最小法やコスト最小法等、どのようなものを用いてもよい）に基づき、当該単語連鎖候補列１０ａｄから選択単語連鎖列１０ａｆを選択する。より具体的には、単語情報列選択部１０ｃは、例えば、優先順位の最も高い、単語連鎖候補列１０ａｄに属する文頭から文末までの単語連鎖（１ベスト解）を、選択単語連鎖列１０ａｆとして選択してもよいし、指定された数（ｎ個）だけ、優先順位順に選択された、複数の文頭から文末までの単語連鎖（ｎベスト解）を選択単語連鎖列１０ａｆとしてもよい。以上のように選択された選択単語連鎖列１０ａｆは、メモリ１０ａに格納される（ステップＳ２）。なお、単語連鎖候補列１０ａｄから、優先順位が高いものを選択単語連鎖列１０ａｆとして選択することにより、以降の処理を効率的に実行できるが、単語連鎖候補列１０ａｄをそのまま選択単語連鎖列１０ａｆとすることも可能である。この場合、ステップＳ２の処理は行っても行わなくてもよい。
【００２７】
これ以降、選択単語連鎖列１０ａｆの探索処理を通じ、選択単語連鎖列１０ａｆが更新される（ステップＳ４からＳ１２）。そのために、まず、制御部１０ｎが、選択単語連鎖列１０ａｆの探索開始位置を設定し、その情報を一時メモリ１０ｐに格納する（ステップＳ３）。この探索処理は、選択単語連鎖列１０ａｆの文頭から文末に向かって行われてもよいし、逆に、文末から文頭に向かって行われてもよい。そして、探索処理が文頭から文末に向かって行われる場合には、選択単語連鎖列１０ａｆの文頭が探索開始位置として選択され、探索処理が文末から文頭に向かって行われる場合には、選択単語連鎖列１０ａｆの文末が探索開始位置として選択される。以下では、探索処理を文頭から文末に向かって行い、選択単語連鎖列１０ａｆの文頭を探索開始位置とする場合を例にとって説明する。
【００２８】
まず、平仮名・長音単語列抽出部１０ｄが、メモリ１０ａから読み込んだ選択単語連鎖列１０ａｆを文頭から文末に向かって探索し、「長音による変形表現」と推定される平仮名・長音単語列１０ａｇを抽出する（ステップＳ４）。
【００２９】
［ステップＳ４の詳細］
ここで、図４に従い、本形態のステップＳ４の詳細を説明する。
まず、平仮名・長音単語列抽出部１０ｄの単語列抽出部１０ｄａが、一時メモリ１０ｐから探索開始位置の情報を読み込み、メモリ１０ａから選択単語連鎖列１０ａｆを読み込む。そして、単語列抽出部１０ｄａは、選択単語連鎖列１０ａｆの探索開始位置の単語が、平仮名のみからなる単語（例：きれ）、長音のみからなる単語（例：ー）、又は、平仮名と長音のみからなる単語（例：ゆっくーり）であるか否かを判定する（ステップＳ４０）。ここで、選択単語連鎖列１０ａｆの探索開始位置の単語が、これらの何れの単語でもなかった場合には、ステップＳ４７に進む。一方、探索開始位置の単語が、これらの何れかの単語であった場合には、ステップＳ４１に進む。
【００３０】
ステップＳ４１では、単語列抽出部１０ｄａが、選択単語連鎖列１０ａｆを探索し、探索開始位置から始まる、平仮名のみからなる単語、長音のみからなる単語、及び、平仮名と長音のみからなる単語、のみから構成される単語列であって、その単語列の直後がこれらの単語以外であるものを平仮名・長音単語列候補として抽出し、一時メモリ１０ｐに格納する（ステップＳ４１）。
【００３１】
次に、第１除外判定部１０ｄｂが、一時メモリ１０ｐから平仮名・長音単語列候を読み込み、当該平仮名・長音単語列候補の先頭単語が長音から始まるか否かを判定する（ステップＳ４２）。ここで、平仮名・長音単語列候補の先頭単語が長音から始まる場合には、ステップＳ４３に進み、そうでない場合には、ステップＳ４６に移る。
【００３２】
ステップＳ４３では、第１除外判定部１０ｄｂが、さらにメモリ１０ａから選択単語連鎖列１０ａｆを読み込み、これを参照して、平仮名・長音単語列候補の先頭単語の直前に単語が存在しない、又は、当該先頭単語の直前単語の末尾文字が平仮名以外であるか否かを判定する（ステップＳ４３）。ここで、当該先頭単語の直前に単語が存在しない、又は、当該先頭単語の直前単語の末尾文字が平仮名以外である場合、ステップＳ４４に移る。一方、当該先頭単語の直前に単語が存在し、かつ、当該先頭単語の直前単語の末尾文字が平仮名である場合、ステップＳ４５に移る。
【００３３】
ステップＳ４４では、第１除外判定部１０ｄｂが、平仮名・長音単語列候補の先頭単語を削除することにより平仮名・長音単語列候補を更新し、更新した平仮名・長音単語列候補を一時メモリ１０ｐに格納する（ステップＳ４４）。そして、ステップＳ４６に移る。なお、更新前の平仮名・長音単語列候補が先頭単語の１単語のみからなるものであった場合、第１除外判定部１０ｄｂは、平仮名・長音単語列候補の文字列がnullである旨の情報を一時メモリ１０ｐに格納する。 
【００３４】
ステップＳ４５では、まず、範囲補正部１０ｄｃが、メモリ１０ａから選択単語連鎖列１０ａｆを、一時メモリ１０ｐから平仮名・長音単語列候補を、それぞれ読み込む。そして、範囲補正部１０ｄｃは、平仮名・長音単語列候補の先頭単語の直前単語を、選択単語連鎖列１０ａｆから抽出し、これを平仮名・長音単語列候補の先頭単語の直前に追加することにより当該平仮名・長音単語列候補を更新し、一時メモリ１０ｐに格納する（ステップＳ４５）。そして、ステップＳ４６に移る。 
【００３５】
ステップＳ４６では、第２除外判定部１０ｄｄが、一時メモリ１０ｐから平仮名・長音単語列候補を読み込み、当該平仮名・長音単語列候補が長音を含むか否かを判定する（ステップＳ４６）。
【００３６】
ここで、平仮名・長音単語列候補が長音を含まない場合、制御部１０ｎは、選択単語連鎖系列１０ａｆの全文字が、平仮名・長音単語列抽出部１０ｄにおいて探索されたか否かを判定する（ステップＳ４７）。ここで、選択単語連鎖系列１０ａｆの全文字が探索されていないと判定された場合、制御部１０ｎは、探索開始位置を更新（この例では、探索済みの単語の直後単語を探索開始位置とする）し、更新後の探索開始位置を示す情報を一時メモリ１０ｐに格納し、処理をステップＳ４０に戻す（ステップＳ４８）。一方、ステップＳ４７において、選択単語連鎖系列１０ａｆの全文字が探索されたと判定された場合には、制御部１０ｎは、ステップＳ４の処理を終了させる。
【００３７】
一方、ステップＳ４６において、平仮名・長音単語列候補が長音を含むと判定された場合、第２除外判定部１０ｄｄは、当該平仮名・長音単語列候補を平仮名・長音単語列１０ａｇとしてメモリ１０ａに格納し、制御部１０ｎは、ステップＳ４の処理を終了させる（ステップＳ４９）。
【００３８】
以上の処理により、平仮名と長音のみからなる単語列（先頭の単語が平仮名）、及び、末尾文字が平仮名である単語が平仮名と長音のみからなる単語列（先頭の単語が長音）の直前に付加された単語列が平仮名・長音単語列１０ａｇとして抽出される。
【００３９】
例えば、「ディスプレイ／ー／きれ／ー」（「／」は単語の境界を表す）の場合、「ディスプレイ」は字種の条件を満たさないので平仮名・長音単語列候補として抽出されない（ステップＳ４１）。次の単語列「ー／きれ／ー」は、平仮名・長音単語列候補として抽出されるが、その先頭単語は長音から始まり（ステップＳ４２）、当該先頭単語の直前単語「ディスプレイ」の末尾文字が平仮名以外であるため（ステップＳ４３）、平仮名・長音単語列候補「ー／きれ／ー」の先頭単語が削除され、平仮名・長音単語列候補は「きれ／ー」と更新される（ステップＳ４４）。そして、更新された平仮名・長音単語列候補は「きれ／ー」は、長音を含むので（ステップＳ４６）、平仮名・長音単語列は「きれ／ー」となる（ステップＳ４９）。
【００４０】
また、「きれい／な／湖」は、「きれい」と「な」の２語が字種の条件を満たすため「きれい／な」が平仮名・長音単語列候補として抽出されるが（ステップＳ４１）、長音を全く含まないので平仮名・長音単語列とはならない（ステップＳ４２，Ｓ４６）。
【００４１】
「頑張れ／ー」は、字種の条件により、まず「ー」が平仮名・長音単語列候補として抽出される（ステップＳ４１）。次に、この平仮名・長音単語列候補「ー」の先頭単語は長音であり（ステップＳ４２）、その直前単語「頑張れ」の末尾文字「れ」が平仮名であるため（ステップＳ４４）、「頑張れ」がこの平仮名・長音単語列候補「ー」の直前に追加され平仮名・長音単語列候補が「頑張れ／ー」と更新される（ステップＳ４５）。そして、平仮名・長音単語列候補「頑張れ／ー」は、長音を含むため（ステップＳ４６）、この平仮名・長音単語列候補「頑張れ／ー」は平仮名・長音単語列「頑張れ／ー」となる（ステップＳ４９／［ステップＳ４の詳細］の説明終わり）。
【００４２】
次に、制御部１０ｎは、メモリ１０ａを参照し、上述のステップＳ４で平仮名・長音単語列が作成されたか否かを判定する（ステップＳ５）。ステップＳ４で平仮名・長音単語列が作成されていた場合には、ステップＳ６に移る。一方、ステップＳ４で平仮名・長音単語列が作成されていなかった場合には、選択単語連鎖列１０ａｆの文末まで探索が終了しているので、ステップＳ１３に移る。
【００４３】
ステップＳ６では、信頼度評価部１０ｅが、メモリ１０ａから平仮名・長音単語列１０ａｇを読み込み、その信頼度判定を行う（ステップＳ６）。信頼度評価部１０ｅは、平仮名・長音単語列１０ａｇが、以下のいずれかの条件を満たす場合には、その信頼度が低く（信頼度＝低）、それ以外の場合には信頼度が高い（信頼度＝高）と判定する。
・平仮名・長音単語列１０ａｇが未知語を含む。
・長音１文字からなる単語が平仮名・長音単語列１０ａｇ中に存在する。
例えば、上述した平仮名・長音単語列「頑張れ／ー」や「きれ／ー」は、「信頼度＝低」と判定される。
このステップＳ６の信頼度判定において、「信頼度＝低」と判定された場合には、ステップＳ８に移り、「信頼度＝高」と判定された場合には、ステップＳ１１に移る（ステップＳ７）。
【００４４】
ステップＳ８では、平仮名・長音単語列１０ａｇへの接続可能品詞の抽出を行う。すなわち、前方接続可能品詞抽出部１０ｆが、メモリ１０ａから単語連鎖候補列１０ａｄと平仮名・長音単語列１０ａｇとを読み込み、単語連鎖候補列１０ａｄを用い、平仮名・長音単語列１０ａｇの先頭文字の直前の単語の品詞である前方接続可能品詞１０ａｈを抽出し、平仮名・長音単語列１０ａｇに関連付けてメモリ１０ａに格納する。また、後方接続可能品詞抽出部１０ｇが、メモリ１０ａから単語連鎖候補列１０ａｄと平仮名・長音単語列１０ａｇとを読み込み、単語連鎖候補列１０ａｄを用い、平仮名・長音単語列１０ａｇの末尾文字の直後の単語の品詞である後方接続可能品詞１０ａｉを抽出し、平仮名・長音単語列１０ａｇに関連付けてメモリ１０ａに格納する（ステップＳ８）。その後、ステップＳ９に移る。
ステップＳ９では、平仮名・長音単語列１０ａｇの文字列から長音を削除した長音削除平仮名列１０ａｋに対する単語連鎖生成処理を行う。
【００４５】
［ステップＳ９の処理］
ステップＳ９の処理の詳細を、図５を用いて詳細に説明する。
まず、無長音単語列変換部１０ｈの長音削除平仮名列生成部１０ｈａが、長音削除平仮名列１０ａｋの作成と長音位置の保存とを行う。すなわち、長音削除平仮名列生成部１０ｈａが、メモリ１０ａから平仮名・長音単語列１０ａｇを読み込み、その表記をつなげた文字列を作成し、その文字列の中の長音をすべて削除した長音削除平仮名列１０ａｋを作成し、これをメモリ１０ａに格納する。また、長音削除平仮名列生成部１０ｈａは、長音削除平仮名列１０ａｋの作成時に、平仮名・長音単語列１０ａｇから削除された長音の文字位置の情報を、一時メモリ１０ｐに格納する（ステップＳ９１）。なお、長音削除平仮名列１０ａｋは、「長音を有しない無長音単語列」に相当する。その後、ステップＳ９２に移る。
【００４６】
ステップＳ９２では、無長音単語連鎖候補列生成部１０ｉが、メモリ１０ａから長音削除平仮名列１０ａｋと、当該長音削除平仮名列１０ａｋに対応する平仮名・長音単語列１０ａｇに関連付けたれた前方接続可能品詞１０ａｈ及び後方接続可能品詞１０ａｉと、単語辞書１０ａａと、文法規則１０ａｂとを読み込む。そして、無長音単語連鎖候補列生成部１０ｉは、この  長音削除平仮名列１０ａｋを対象に、前方接続可能品詞１０ａｈと
後方接続可能品詞１０ａｉと単語辞書１０ａａと文法規則１０ａｂとを用い、前後品詞制約つき・未知語なし単語連鎖生成処理を行い、長音削除平仮名列１０ａｋを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列１０ａｎを生成する（ステップＳ９２）。この前後品詞制約つき・未知語なし単語連鎖生成処理は、公知の形態素解析アルゴリズム（上述のα-Tagger（登録商標）等のアルゴリズム）の処理に、前方接続可能品詞１０ａｈと後方接続可能品詞１０ａｉとによる、以下のような制約を加えたものである。
・長音削除平仮名列１０ａｋの先頭単語に接続可能な品詞は、前方接続可能品詞１０ａｈのみとする（制約１−１）。
・長音削除平仮名列１０ａｋの末尾単語と接続可能な品詞は、後方接続可能品詞１０ａｉのみとする（制約１−２）。
・無長音単語連鎖候補列１０ａｎの中に、未知語を生成することは認めない（制約１−３）。
【００４７】
なお、これらの制約により、長音削除平仮名列１０ａｋに対する無長音単語連鎖候補列１０ａｎが生成できない場合もあり得る。ステップＳ９２で無長音単語連鎖候補列１０ａｎが生成されなかった場合には、制御部１０ｎは、ステップＳ９の処理を終了させる。一方、ステップＳ９２で無長音単語連鎖候補列１０ａｎが生成された場合には、それをメモリ１０ａに格納し、次のステップＳ９４に移る（ステップＳ９３）。
【００４８】
ステップＳ９４では、長音単語連鎖候補列生成部１０ｊが、メモリ１０ａから、ステップＳ９２で生成された無長音単語連鎖候補列１０ａｎを読み込み、一時メモリ１０ｐから、ステップＳ９１で格納された長音の文字位置の情報を読み込む。そして、長音単語連鎖候補列生成部１０ｊは、無長音単語連鎖候補列１０ａｎの少なくとも一部の単語を、長音を含む単語に置換することによって長音を追加し（例えば、「頑張れ」を「頑張れー」と置換することによって長音を追加し）、各単語の表記を接続した文字列が平仮名・長音単語列１０ａｇのものと同じとなる長音単語連鎖候補列１０ａｑを生成する（その他、単語情報として、表記長など、表記・読みに関する情報をもっている場合にはあわせて更新してもよい）。また、この際、コスト調整部１０ｋが、長音単語連鎖候補列１０ａｑの長音を有する単語に関連するコスト（コスト計算で利用されるコスト値）を、低い評価を示す値に調整する。具体的には、例えば、また、長音を追加した単語に対し、単語コストと品詞接続コストとを予め決められた値だけ増やす。その後、長音単語連鎖候補列１０ａｑをメモリ１０ａに格納し、ステップＳ９５に移る。
【００４９】
ステップＳ９５では、マージ部１０ｍが、メモリ１０ａから長音単語連鎖候補列１０ａｑと単語連鎖候補列１０ａｄとを読み込み、長音単語連鎖候補列１０ａｑを単語連鎖候補列１０ａｄにマージし、単語連鎖候補列１０ａｄを更新する（ステップＳ９５）。その後、更新された単語連鎖候補列１０ａｄは、メモリ１０ａに格納され、ステップＳ９１の処理が終了する（［ステップＳ９の処理］の詳細の説明終わり）。
その後、図３に示すステップＳ１０に移る。
ステップＳ１０では、平仮名・長音単語列１０ａｇの文字列の長音を平仮名に置換した長音置換平仮名列１０ａｍに対する単語連鎖生成処理を行う。
【００５０】
［ステップＳ１０の処理］
ステップＳ１０の処理の詳細を、図６を用いて詳細に説明する。
まず、無長音単語列変換部１０ｈの長音置換平仮名列生成部１０ｈｂが、長音置換平仮名列１０ａｍの作成と長音位置の保存とを行う。すなわち、長音置換平仮名列生成部１０ｈｂが、メモリ１０ａから平仮名・長音単語列１０ａｇを読み込み、その表記をつなげた文字列を作成し、メモリ１０ａの長音文字置換表１０ａｊ（例えば図７）を参照し、その文字列の中の長音を平仮名に置換した長音置換平仮名列１０ａｍを作成し、これをメモリ１０ａに格納する。また、長音置換平仮名列生成部１０ｈｂは、長音置換平仮名列１０ａｍの作成時に、平仮名・長音単語列１０ａｇから置換された長音の文字位置の情報を、一時メモリ１０ｐに格納する（ステップＳ１０１）。なお、長音置換平仮名列１０ａｍは、「長音を有しない無長音単語列」に相当する。その後、ステップＳ１０２に移る。
【００５１】
ステップＳ１０２では、無長音単語連鎖候補列生成部１０ｉが、メモリ１０ａから長音置換平仮名列１０ａｍと、当該長音置換平仮名列１０ａｍに対応する平仮名・長音単語列１０ａｇに関連付けたれた前方接続可能品詞１０ａｈ及び後方接続可能品詞１０ａｉと、単語辞書１０ａａと、文法規則１０ａｂとを読み込む。そして、無長音単語連鎖候補列生成部１０ｉは、この  長音置換平仮名列１０ａｍを対象に、前方接続可能品詞１０ａｈと
後方接続可能品詞１０ａｉと単語辞書１０ａａと文法規則１０ａｂとを用い、前後品詞制約つき・未知語なし単語連鎖生成処理を行い、長音置換平仮名列１０ａｍを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列１０ａｐを生成する（ステップＳ１０２）。この前後品詞制約つき・未知語なし単語連鎖生成処理は、ステップＳ９２と同様、公知の形態素解析アルゴリズム（上述のα-Tagger（登録商標）等のアルゴリズム）の処理に、前方接続可能品詞１０ａｈと後方接続可能品詞１０ａｉとによる、以下のような制約を加えたものである。
【００５２】
・長音置換平仮名列１０ａｍの先頭単語に接続可能な品詞は、前方接続可能品詞１０ａｈのみとする（制約２−１）。
・長音置換平仮名列１０ａｍの末尾単語と接続可能な品詞は、後方接続可能品詞１０ａｉのみとする（制約２−２）。
・無長音単語連鎖候補列１０ａｐの中に、未知語を生成することは認めない（制約２−３）。
なお、これらの制約により、長音置換平仮名列１０ａｍに対する無長音単語連鎖候補列１０ａｐが生成できない場合もあり得る。
【００５３】
ステップＳ１０２で無長音単語連鎖候補列１０ａｎが生成されなかった場合には、制御部１０ｎは、ステップＳ１０の処理を終了させる。一方、ステップＳ１０２で無長音単語連鎖候補列１０ａｐが生成された場合には、それをメモリ１０ａに格納し、次のステップＳ１０４に移る（ステップＳ１０３）。
【００５４】
ステップＳ１０４では、長音単語連鎖候補列生成部１０ｊが、メモリ１０ａから、ステップＳ１０２で生成された無長音単語連鎖候補列１０ａｐを読み込み、一時メモリ１０ｐから、ステップＳ１０１で格納された長音の文字位置の情報を読み込む。そして、長音単語連鎖候補列生成部１０ｊは、無長音単語連鎖候補列１０ａｐの少なくとも一部の単語を、長音を含む単語に置換し（例えば、「いいよ」を「いーよ」と置換し）、各単語の表記を接続した文字列が平仮名・長音単語列１０ａｇのものと同じとなる長音単語連鎖候補列１０ａｒを生成する（その他、単語情報として、表記長など、表記・読みに関する情報をもっている場合にはあわせて更新してもよい）。また、この際、コスト調整部１０ｋが、長音単語連鎖候補列１０ａｒの長音を有する単語に関連するコストを、低い評価を示す値に調整する。具体的には、例えば、また、長音を置換した単語に対し、単語コストと品詞接続コストとを予め決められた値だけ増やす。その後、長音単語連鎖候補列１０ａｒをメモリ１０ａに格納し、ステップＳ１０５に移る。
【００５５】
ステップＳ１０５では、マージ部１０ｍが、メモリ１０ａから長音単語連鎖候補列１０ａｒと単語連鎖候補列１０ａｄとを読み込み、長音単語連鎖候補列１０ａｒを単語連鎖候補列１０ａｄにマージし、単語連鎖候補列１０ａｄを更新する（ステップＳ１０５）。その後、更新された単語連鎖候補列１０ａｄは、メモリ１０ａに格納され、ステップＳ１０１の処理が終了する（［ステップＳ１０の処理］の詳細の説明終わり）。
【００５６】
次に、ステップＳ１１に移る（図２）。ステップＳ１１では、制御部１０ｎが、平仮名・長音単語列１０ａｇの直後単語を探索開始位置に設定し、この探索開始位置の除法を一時メモリ１０ｐに格納し、メモリ１０ａから、平仮名・長音単語列１０ａｇ、前方接続可能品詞１０ａｈ、後方接続可能品詞１０ａｉ、長音削除平仮名列１０ａｋ、長音置換平仮名列１０ａｍ、無長音単語連鎖候補列１０ａｎ，１０ａｐ、及び長音単語連鎖候補列１０ａｑ，１０ａｒをクリアして、ステップＳ１２に移る。
【００５７】
ステップＳ１２では、制御部１０ｎが、一時メモリ１０ｐを参照し、探索開始位置が文末であるかを判定する（ステップＳ１２）。ここで、探索開始位置が文末でなければステップＳ４に移る。一方、探索開始位置が文末であればステップＳ１３に移る。
【００５８】
ステップＳ１３では、単語情報列選択部１０ｃが、メモリ１０ａの単語連鎖候補列１０ａｄから単語情報列１０ａｅを選択する。より具体的には、単語情報列選択部１０ｃは、例えば、優先順位の最も高い、単語連鎖候補列１０ａｄに属する文頭から文末までの単語連鎖（１ベスト解）を、単語情報列１０ａｅとして選択してもよいし、指定された数（ｎ個）だけ、優先順位順に選択された、複数の文頭から文末までの単語連鎖（ｎベスト解）を単語情報列１０ａｅとしてもよい。以上のように選択された単語情報列１０ａｅは、メモリ１０ａに格納される（ステップＳ１３）。
【００５９】
なお、上述の処理によって単語連鎖候補列１０ａｄが更新されなかった場合には、単語連鎖候補列１０ａｄをそのまま単語情報列１０ａｅとしてもよい。ただし、単語連鎖候補列１０ａｄが１ベスト解である場合にｎベスト解の単語情報列１０ａｅが必要な場合には、ステップＳ２と同様な処理により、ｎベスト解である単語情報列１０ａｅを求めてもよい。
以上のようにメモリ１０ａに格納された単語情報列１０ａｅは、必要に応じて出力され、それ以降の処理に利用される。
【実施例】
【００６０】
図８から図１０は、本形態の実施例を説明するための概念図である。以下、これらの図を用い、本形態の実施例を説明する。
この実施例では、単語情報列選択部１０ｃのコスト計算に、単語コスト及び品詞連接コストによるコスト最小法を用いるものとする。また、ステップＳ９４におけるコスト調整は、長音を追加した単語に対し、単語コストを単語辞書値＋２０とし、その前後の品詞連接コストをそれぞれ文法規則値＋３０とするものであるとする。また、ステップＳ１０４におけるコスト調整は、長音を置換した単語に対し、単語コストを単語辞書値＋１０とし、その前後の品詞連接コストをそれぞれ文法規則値＋５とするものであるとする。また、最終的にステップＳ１３で求める単語情報列１０ａｅは、１ベスト解とする。
【００６１】
まず、図８（ａ）に示すように、入力テキスト１０ａｃを、「おかーさんとお出かけ」とする。次に、単語連鎖候補列生成部１０ｂにおいて、単語辞書１０ａａ及び文法規則１０ａｂを用い、入力テキスト１０ａｃから、図８（ｂ）に示す単語連鎖候補列１０ａｄを生成する（ステップＳ１）。なお、単語連鎖候補列１０ａｄのデータ構成は、例えば、以下のようになる。この例の単語連鎖候補列１０ａｄは、「インデックス」と「単語」と「品詞」と「単語コスト」と「後方接続」と「品詞接続コスト」とが関連付けられたテーブルである。なお、「インデックス」のカラムは、各単語を特定するために付される値（インデックス）を示す。また、「後方接続」は、その単語の直後に接続される単語のインデックスを示す。また「null」はデータが存在しないことを意味する。
【表１】
2007316916.tif 000003
【００６２】
次に、単語情報列選択部１０ｃが、コスト最小法に基づくコスト計算により、単語連鎖候補列１０ａｄから、図８（ｃ）に示す選択単語連鎖列（１ベスト解）１０ａｆを生成する（ステップＳ２）。なお、この選択単語連鎖列１０ａｆのデータ構成は、例えば、以下のようになる。
【表２】
2007316916.tif 000004
【００６３】
次に、ステップＳ３において、未知語「お」を探索開始位置に設定する。そして、ステップＳ４では、字種の条件を満たす未知語「お」から格助詞「と」まで（「おかーさんと」）を、平仮名・長音単語列候補として抽出し（Ｓ４１）、その先頭単語の表記は「お」≠長音であり（ステップＳ４２）、また、当該平仮名・長音単語列候補「おかーさんと」は長音を含むため（ステップＳ４６）、この「おかーさんと」は平仮名・長音単語列１０ａｇとなる（ステップＳ４９）。
【００６４】
次に、ステップＳ６からからステップＳ７に進み、当該平仮名・長音単語列１０ａｇは、「お」及び「ー」という未知語を含むので、信頼度=低と判定され、ステップＳ８に移る。ステップＳ８では、平仮名・長音単語列１０ａｇ（「おかーさんと」）の先頭は文頭であるため、前方接続可能品詞１０ａｈは文頭のみとされる。また、単語連鎖候補列１０ａｄにおいて、平仮名・長音単語列１０ａｇ（「おかーさんと」）の末尾「と」に後続している単語は、サ変名詞「お出かけ」と冠動詞「お」であるため、後方接続可能品詞１０ａｉは、サ変名詞と冠動詞の２つとなる（ステップＳ８）。これを図示したものが、図８（ｄ）である。また、前方接続可能品詞１０ａｈと後方接続可能品詞１０ａｉとは、対応する平仮名・長音単語列１０ａｇに関連付けられてメモリ１０ａに格納されるが、このデータ構成を例示すると以下のようになる。
【表３】
2007316916.tif 000005
【００６５】
次に、ステップＳ９のステップＳ９１において、平仮名・長音単語列１０ａｇ（「おかーさんと」）から長音削除平仮名列１０ａｋ（「おかさんと」）を作成し、第２文字「か」の次の長音が削除されたことを保存する（図８（ｅ））。
【００６６】
次に、ステップＳ９２では、先頭が文頭、末尾がサ変名詞か冠動詞と接続し、未知語を有しない無長音単語連鎖候補列１０ａｎを生成する。通常の単語連鎖生成においては、図９（ｆ）下部に点線で示したように、未知語「ん」と接続する単語連鎖も生成される。しかし、ステップＳ９２の単語連鎖生成においては、未知語の存在を認めないため、未知語「ん」が存在しないと成り立たない点線の単語連鎖は生成されない。なお、このように生成された無長音単語連鎖候補列１０ａｎのデータ構成を例示すると以下のようになる。
【表４】
2007316916.tif 000006
【００６７】
次に、ステップＳ９３からステップＳ９４に移り、無長音単語連鎖候補列１０ａｎの第２文字目を含む動詞活用語尾「か」を、表記および読みに長音を追加した「かー」に置換した長音単語連鎖候補列１０ａｑを生成する。また、単語「かー」の単語コストを単語辞書値＋２０、その前後の品詞連接コストをそれぞれ文法規則値＋３０と設定する（図９（ｆ）／ステップＳ９４）。なお、このように生成された長音単語連鎖候補列１０ａｑのデータ構成を例示すると以下のようになる。
【表５】
2007316916.tif 000007
【００６８】
次に、ステップＳ９５において、図９（ｇ）に示すように、長音単語連鎖候補列１０ａｑを単語連鎖候補列１０ａｄにマージし、単語連鎖候補列１０ａｄを更新する。なお、更新された単語連鎖候補列１０ａｄのデータ構成を例示すると以下のようになる。
【表６】
2007316916.tif 000008
【００６９】
次に、ステップＳ１０のステップＳ１０１では、図７の長音文字置換表１０ａｊに基づき、平仮名・長音単語列１０ａｇ（「おかーさんと」）の長音を「あ」に置換して、長音置換平仮名列１０ａｍ（「おかあさんと」）を作成し（図９（ｈ））、第３文字「あ」が長音から置換されたことを保存する。
【００７０】
次に、ステップＳ１０２では、先頭が文頭、末尾がサ変名詞か冠動詞と接続し、未知語を含まない無長音単語連鎖候補列１０ａｐを生成する。その結果が、図１０（ｉ）となる。なお、この無長音単語連鎖候補列１０ａｐのデータ構成を例示すると以下のようになる。
【表７】
2007316916.tif 000009
【００７１】
次に、ステップＳ１０３からステップＳ１０４に移り、無長音単語連鎖候補列１０ａｐの第３文字を含む単語名詞「おかあさん」の第３文字目の表記「あ」を長音に置換した長音単語連鎖候補１０ａｒを生成する。読みも第３文字目を長音に置換する。また、単語「おかーさん」の単語コストを単語辞書値＋１０とし、その前後の品詞連接コストをそれぞれ文法規則値＋５と設定する（図１０（ｉ））。この長音単語連鎖候補１０ａｒのデータ構成を例示すると以下のようになる。
【表８】
2007316916.tif 000010
【００７２】
次に、ステップＳ１０５で、図１０（ｊ）に示すように、長音単語連鎖候補１０ａｒに単語連鎖候補列１０ａｄをマージし、単語連鎖候補列１０ａｄを更新する（図１０（ｊ））。この更新された単語連鎖候補列１０ａｄのデータ構成を例示すると以下のようになる。
【表９】
2007316916.tif 000011
【００７３】
次に、ステップＳ１１で、探索開始位置を、単語「お出かけ」に設定する。
ステップＳ１２からステップＳ４に移り、「お出かけ」は、漢字を含む（ステップＳ４０）ことから平仮名・長音単語列候補が作成されないままステップＳ４７に進み、「お出かけ」が末尾単語であることから（ステップＳ４７）、ステップＳ４の処理が終了する。そして、ステップＳ５に移った後、ステップＳ１３に進む。
【００７４】
ステップＳ１３では、単語情報列選択部１０ｃが、コスト最小法により、単語連鎖候補列１０ａｄから単語情報列１０ａｅ（１ベスト解）を作成する。これにより、図１０（ｋ）に示す単語情報列１０ａｅが生成され、処理が終了する。
以上のように、本形態では、長音挿入や長音置換などによる変形表現を標準的な表現に変換してから解析を行うこととしたため、このような変形表現が含まれた入力テキストの解析を精度よく行うことができる。
【００７５】
〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本形態の無長音単語連鎖候補列生成部１０ｉは、（制約１−１〜３）及び（制約２−１〜３）の制約のもと、無長音単語連鎖候補列１０ａｎ，１０ａｐを生成することとした（ステップＳ９，Ｓ１０）。これにより、信頼度が高い無長音単語連鎖候補列１０ａｎ，１０ａｐのみが生成され、処理が効率化する。しかし、これらの制約がない状態で無長音単語連鎖候補列１０ａｎ，１０ａｐを生成してもよいし、（制約１−１〜３）及び（制約２−１〜３）の一部の制約のもと、無長音単語連鎖候補列１０ａｎ，１０ａｐを生成してもよい。
【００７６】
また、本形態では、ステップＳ９４やＳ１０４でコスト調整を行うこととした。これにより、コストが妥当なものとなり、精度のよい単語情報列を算出することが可能となる。しかし、このようなコスト調整を行わない構成でもよい。
【００７７】
また、形態では、長音削除平仮名列に対する単語連鎖生成処理（ステップＳ９）と、長音置換平仮名列に対する単語連鎖生成処理（ステップＳ１０）とを行うこととした。しかし、これらの一方のみを行う構成であってもよい。
【００７８】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００７９】
また、上述の各処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００８０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００８３】
本発明の産業上の利用分野としては、例えば、文字入力されたテキストの漢字変換ソフトウェアや、文字入力されたテキストから合成音声を生成して出力するためのソフトウェアの分野等を例示できる。
【図面の簡単な説明】
【００８４】
【図１】図１は、本形態における形態素解析装置のハードウェア構成を例示したブロック図である。
【図２】図２は、本形態における形態素解析装置のブロック図の例示である。
【図３】図３は、本形態における形態素解析装置の処理の全体を説明するためのフローチャートである。
【図４】図４は、図３のステップＳ４の処理を説明するためのフローチャートである。
【図５】図５は、図３のステップＳ９の処理を説明するためのフローチャートである。
【図６】図６は、図３のステップＳ１０の処理を説明するためのフローチャートである。
【図７】図７は、長音文字置換表の一例を説明するための概念図である。
【図８】図８は、本形態の実施例を説明するための概念図である。
【図９】図９は、本形態の実施例を説明するための概念図である。
【図１０】図１０は、本形態の実施例を説明するための概念図である。
【符号の説明】
【００８５】
１０  形態素解析装置
【図１】
2007316916.tif 000012
【図２】
2007316916.tif 000013
【図３】
2007316916.tif 000014
【図４】
2007316916.tif 000015
【図５】
2007316916.tif 000016
【図６】
2007316916.tif 000017
【図７】
2007316916.tif 000018
【図８】
2007316916.tif 000019
【図９】
2007316916.tif 000020
【図１０】
2007316916.tif 000021