(57)【特許請求の範囲】
【請求項１】
入出力手段と拡張文字列生成部と連鎖確率計算部と最適経路探索部とを有する処理装置を用いて、
（ａ）前記入出力手段により、言語テキストを入力文として読み込むステップと、
（ｂ）前記拡張文字列生成部により、前記入力文の全ての入力文字列の１文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる該拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに
、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成するステップと、
（ｃ）前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、前記連鎖確率計算部により、生成された全ての前記拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求めるステップと、
（ｄ）前記最適経路探索部により、得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択するステップと、
（ｅ）前記最適経路探索部により、該最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として前記入出力手段から出力するステップと
を含むことを特徴とする形態素解析方法。
【請求項２】
請求項１に記載の形態素解析方法において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報を含み、かつ、前記形態素解析結果はタグ列の並びを含むことを特徴とする形態素解析方法。
【請求項３】
請求項１に記載の形態素解析方法において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする形態素解析方法。
【請求項４】
請求項１に記載の形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加することを特徴とする形態素解析方法。
【請求項５】
請求項２に記載の形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加し、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加することを特徴とする形態素解析方法。
【請求項６】
請求項１に記載の形態素解析方法において、
前記処理装置を用いて、
前記（ａ）ステップにおいて、前記入力文をバッファメモリに読み出し自在に格納するサブステップを含み、
前記（ｂ）ステップにおいて、前記入力文字列を前記バッファメモリから読み出しするサブステップ、および前記拡張文字列を第１メモリ領域に読み出し自在に格納するサブステップを含み、
前記（ｃ）ステップにおいて、前記部分連鎖確率を予め学習により求めて第２メモリ領域に読み出し自在に格納しておくサブステップ、前記第１メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第２メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求めるサブステップ、およびこれら連鎖確率を第３メモリ領域に読み出し自在に格納するサブステップを含むことを特徴とする形態素解析方法。
【請求項７】
請求項１に記載の形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す２値情報としたことを特徴とする形態素解析方法。
【請求項８】
（ａ）言語テキストを入力文として読み込んで該入力文の全ての入力文字列の１文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる該拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する拡張文字列生成部と、
（ｂ）前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、生成された全ての前記拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求める連鎖確率計算部と、
（ｃ）得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択し、該最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部とを含み、
単語辞書を利用せずに前記形態素解析結果を得ることを特徴とする形態素解析装置。
【請求項９】
請求項８に記載の形態素解析装置において、
前記拡張文字列生成部は、前記入力文の文頭および文末に制御文字を追加して前記入力文字列を形成する制御文字追加手段を含むことを特徴とする形態素解析装置。
【請求項１０】
請求項８に記載の形態素解析装置において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報を含み、かつ、前記形態素解析結果はタグ列の並びを含むことを特徴とする形態素解析装置。
【請求項１１】
請求項８に記載の形態素解析装置において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする形態素解析装置。
【請求項１２】
請求項８に記載の形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあることを特徴とする形態素解析装置。
【請求項１３】
請求項１０に記載の形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあり、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加してあることを特徴とする形態素解析装置。
【請求項１４】
請求項８に記載の形態素解析装置において、
前記入力文を格納して該入力文を前記拡張文字列生成部へ読み出し出来るバッファメモリと、
前記拡張文字列を格納して該拡張文字列を前記連鎖確率計算部へ読み出し出来る第１メモリ領域と、
前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する、学習により求められた部分連鎖確率を、予め、格納していて該部分連鎖確率を前記連鎖確率計算部へ読み出し出来る第２メモリ領域と、
前記連鎖確率を格納して該連鎖確率を前記最適経路探索部へ読み出し出来る第３メモリ領域とを具え、さらに
前記連鎖確率計算部は、前記第１メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第２メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求める計算段を含む
ことを特徴とする形態素解析装置。
【請求項１５】
請求項１４に記載の形態素解析装置において、
前記バッファメモリは、前記拡張文字列生成部によって前記入力文の文頭および文末に制御文字を追加して形成された前記入力文字列を該拡張文字列生成部へ読み出し自在に格納することを特徴とする形態素解析装置。
【請求項１６】
請求項８に記載の形態素解析装置において、
前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す２値情報としたことを特徴とする形態素解析装置。
【請求項１７】
入出力手段と拡張文字列生成部と連鎖確率計算部と最適経路探索部とを有する処理装置を用いて、
（ａ）前記入出力手段により、日本語テキストを入力文として読み込むステップと、
（ｂ）前記拡張文字列生成部により、単語の区切りを示す情報と単語の区切りではないことを示す情報から成る単語区切り情報を有し、前記入力文の全ての入力文字列の１文字毎に異なる単語区切り情報を有する２種類の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成するステップと、
（ｃ）前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、前記連鎖確率計算部により、生成された全ての前記拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求めるステップと、
（ｄ）前記最適経路探索部により、得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択するステップと、
（ｅ）前記最適経路探索部により、該最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として前記入出力手段から出力するステップと
を含むことを特徴とする日本語形態素解析方法。
【請求項１８】
請求項１７に記載の日本語形態素解析方法において、
前記拡張文字列生成部により、前記全ての入力文字列の１文字毎に形成された２種類の拡張文字毎に１種類の拡張文字が異なるタグ情報を有するようにタグ情報の数と同じ数の拡張文字を形成することを特徴とする日本語形態素解析方法。
【請求項１９】
請求項１７に記載の日本語形態素解析方法において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部により該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、
前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする日本語形態素解析方法。
【請求項２０】
請求項１７に記載の日本語形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加することを特徴とする日本語形態素解析方法。
【請求項２１】
請求項１８に記載の日本語形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加し、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加することを特徴とする日本語形態素解析方法。
【請求項２２】
請求項１７に記載の日本語形態素解析方法において、
前記処理装置を用いて、
前記（ａ）ステップにおいて、前記入力文をバッファメモリに読み出し自在に格納するサブステップを含み、
前記（ｂ）ステップにおいて、前記入力文字列を前記バッファメモリから読み出しするサブステップ、および前記拡張文字列を第１メモリ領域に読み出し自在に格納するサブステップを含み、
前記（ｃ）ステップにおいて、前記部分連鎖確率を予め学習により求めて第２メモリ領域に読み出し自在に格納しておくサブステップ、前記第１メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第２メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求めるサブステップ、およびこれら連鎖確率を第３メモリ領域に読み出し自在に格納するサブステップを含むことを特徴とする日本語形態素解析方法。
【請求項２３】
請求項１７に記載の日本語形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す２値情報としたことを特徴とする日本語形態素解析方法。
【請求項２４】
（ａ）単語の区切りを示す情報と単語の区切りではないことを示す情報から成る単語区切り情報を有し、日本語テキストを入力文として読み込んで該入力文の全ての入力文字列の１文字毎に異なる単語区切り情報を有する２種類の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する拡張文字列生成部と、
（ｂ）生成された全ての前記拡張文字列の連鎖確率を以下の式（１）と式（２）を用いて求める連鎖確率計算部と、
（ｃ）得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択し、該最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部とを含み、
単語辞書を利用せずに前記形態素解析結果を得ることを特徴とする日本語形態素解析装置。
【数１】
0003992348.tif 000005
ただし、ｐ（Ｗ，Ｔ）は拡張文字列の連鎖確率、ｎは入力文字の長さ、Ｎは文字組を構成する文字数、ｅi は形態素列ＷおよびタグＴの情報から決定される拡張文字である。
【請求項２５】
請求項２４に記載の日本語形態素解析装置において、
前記拡張文字列生成部は、前記入力文の文頭および文末に制御文字を追加して前記入力文字列を形成する制御文字追加手段を含むことを特徴とする日本語形態素解析装置。
【請求項２６】
請求項２４に記載の日本語形態素解析装置において、
前記拡張文字列生成部により、前記全ての入力文字列の１文字毎に形成された２種類の拡張文字毎に１種類の拡張文字が異なるタグ情報を有するようにタグ情報の数と同じ数の拡張文字を形成することを特徴とする日本語形態素解析装置。
【請求項２７】
請求項２４に記載の日本語形態素解析装置において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部により該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、
前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする日本語形態素解析装置。
【請求項２８】
請求項２４に記載の日本語形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあることを特徴とする日本語形態素解析装置。
【請求項２９】
請求項２６に記載の日本語形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあり、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加してあることを特徴とする日本語形態素解析装置。
【請求項３０】
請求項２４に記載の日本語形態素解析装置において、
前記入力文を格納して該入力文を前記拡張文字列生成部へ読み出し出来るバッファメモリと、
前記拡張文字列を格納して該拡張文字列を前記連鎖確率計算部へ読み出し出来る第１メモリ領域と、
前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する、学習により求められた部分連鎖確率を、予め、格納していて該部分連鎖確率を前記連鎖確率計算部へ読み出し出来る第２メモリ領域と、
前記連鎖確率を格納して該連鎖確率を前記最適経路探索部へ読み出し出来る第３メモリ領域とを具え、さらに
前記連鎖確率計算部は、前記第１メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第２メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求める計算段を含む
ことを特徴とする日本語形態素解析装置。
【請求項３１】
請求項３０に記載の日本語形態素解析装置において、
前記バッファメモリは、前記拡張文字列生成部によって前記入力文の文頭および文末に制御文字を追加して形成された前記入力文字列を該拡張文字列生成部へ読み出し自在に格納することを特徴とする日本語形態素解析装置。
【請求項３２】
請求項２４に記載の日本語形態素解析装置において、
前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す２値情報としたことを特徴とする日本語形態素解析装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、形態素解析、特に確率的手法を利用することによって、単語辞書（以下、単に辞書と称する場合もある）を用いることなく、電子化された言語テキストを形態素解析する方法および装置に関する。
【０００２】
【従来の技術】
言語処理における形態素解析処理は重要であり、日本語処理における形態素解析処理も、構文解析処理などのそれ以降の処理にとってきわめて重要である。特に、ワードプロセッサによるテキスト作成の普及、インターネットの普及により大量の電子化された日本語テキストが容易に入手可能となっている。ワードプロセッサその他のコンピュータ装置でこれらテキストを検索、構成、比較、分類、要約等の処理を行うためには、単語や句等の文中の意味単位を切り出すこと、すなわち、形態素解析が正しく行われることが大前提である。この形態素解析を誤ると、後段での構文解析処理や意味解析処理等においてその誤りを修復することが困難である。たとえその修復が可能であったとして、その処理は複雑化し、従って、大量のテキストを期待された時間内に処理することが出来なくなってしまう。形態素解析処理においては、英語などの単語区切り記号として空白を使用するという正書法が備わっている言語テキストと比べると、単語区切りが無い日本語等の言語は品詞の推定とともに、単語分割が高精度でかつ高速で行えるかどうかが大きな課題となる。
【０００３】
また、韓国語、中国語、タイ語等の、日本語と同様に単語区切りが無い書法をもつ言語も上述したと同様な課題を有している。
【０００４】
単語が単語区切り（スペース）によって分かれており、品詞等のタグを単語に与えるだけでよい英語の形態素解析手法においては、大きなテキストから品詞やその配列であるタグ系列の確率モデルを推定し、さらに、例に基づく誤り訂正を加えた手法が確立している。一方、日本語においても、この英語に対する手法を応用した例がいくつか提案されている。確率モデルを用いた一例として、日本電信電話株式会社から出願された文献Ｉ：「特開平８−３１５０７８号」で提案された「日本語文字認識方法及び装置」がある。
【０００５】
【発明が解決しようとする課題】
確率モデルによって最適な形態素解析結果を求めるためには、周知の通り、ある文において、形態素列と各形態素に付与されたタグ列の同時確率を最大にするような形態素列およびタグ列を求めれば良い。なお、同時確率とは、ある形態素候補とあるタグ列候補とが同時に起こるときの確率である。英語においては単語区切りが分かっているため、形態素列は一定となり、最適なタグ列を推定する。しかし、日本語や韓国語、中国語、タイ語等の分かち書きをしない言語では、単語区切りがはっきりしていないので、可能性のあるすべての単語区切りにおける単語列に対してその確率を比較せねばならない。しかし、それぞれの単語列はその単語区切りの違いによって単語列の長さが異なるため、この長さの異なる単語列を比較するために、長さに関する条件が近似として含まれてしまう。
【０００６】
この点につき、以下、日本語を例に挙げて、簡単に説明する。形態素解析とは、ある入力文に対して、入力文字列の最適な形態素列Ｗとタグ列Ｔを求めることである。これは、形態素列Ｗとタグ列Ｔの同時確率ｐ（Ｗ，Ｔ）を最大化する連鎖確率モデルを選択することにより実現出来る。一般には、以下の式（１）の連鎖確率モデルが用いられている（文献Ｉ参照）。なお、連鎖確率とは、あるｎ個（ｎは任意の数）の文字が連続して出現する確率をいう。
【０００７】
【数１】
0003992348.tif 000002
【０００８】
ここで、ｉは文字位置、ｗi は形態素列中の文字位置ｉでの形態素、ｔi はタグ列中の文字位置ｉでのタグ、Ｎは参照する文字組の数で通常はＮ＝１または２または３である。ｌｅｎｇｔｈ（Ｗ）は入力単語列の長さ、すなわち、入力文の構成単語数である。
【０００９】
この（１）式で表される連鎖確率モデルを、以下、品詞Ｎ−ｇｒａｍモデルと呼ぶ。この（１）式では、入力形態素列の長さｌｅｎｇｔｈ（Ｗ）による条件が入っているので、正確には、（１）式のｐ（Ｗ，Ｔ）にはｌｅｎｇｔｈ（Ｗ）に関する近似が含まれる。英語の場合は、形態素列の長さは固定であるため、最大確率のｐ（Ｗ，Ｔ）を求める場合に問題はない。しかし、日本語の場合には、形態素の区切りが分からないため、入力文の文字列と辞書を使って、形態素のネットワーク（半順序関係を構成する。）を得た後、この半順序構造中のすべてのパスの確率を品詞Ｎ−ｇｒａｍモデルで計算する必要がある。この場合、日本語では、形態素の区切りが所与でないため、長さ（ｌｅｎｇｔｈ（Ｗ））の異なる形態素列の確率を比較しなければならない。このため、英語では問題とならなかった長さによる条件付き確率で近似している（１）式は、日本語においては、近似が１段多いことになる。すなわち、英語の場合とは異なり、日本語ではすべての可能な候補に対しての連鎖確率を同じ条件で比較していないことになる。
【００１０】
近似によって、分割数が少ない形態素列（各形態素は長い。）が優先されることが起こる。それは、長い系列の方が可能な系列の数が多いので、１つの可能性あたりの平均的な連鎖確率が小さくなるためである。
【００１１】
さらに、入力文字列が未知語であるため、この文字列が辞書に存在していなかった場合、確率モデルの解析手法に新たな問題が起こる。英語の場合には、未知語があってもその未知語に対して全ての可能なタグを考慮するだけで、特に確率モデルに改良を加える必要はない。また、可能なタグの数は比較的少ないので（数十個）、かなりの精度で品詞を正しく推定することも出来る。しかし、日本語における未知語の場合には、未知語を構成する文字列の全ての可能な位置（どの位置で分割されるか）、全ての可能な長さ（どういう文字構成の語か）、それぞれの形態素において全ての可能なタグの組み合わせを考慮しなければならないため、単純な確率モデルでは計算量的に実現不可能となる。
【００１２】
また、未知語が存在すると、辞書を使えないので、半順序構造を得ることが出来ない。
【００１３】
文献Ｉに開示された手法では、未知語に対して文字の連鎖確率を用いた単語モデルを導入することによって未知語に対処している。しかし、この手法は、単語内での連鎖確率しか使用しておらず、その単語が前後の文脈によってどれくらい可能性があるのかについては、品詞の連鎖確率により間接的にしか表現されていない。すなわち、文脈全体の（未知の文字列の範囲を越えた文字列における）連鎖確率を使用しなければ、正しく未知の文字列を認定したり、区切ることができない。
【００１４】
また、この従来手法では、あくまでも、単語辞書が不可欠な（すなわち、単語辞書を用いることを前提とする）単語ベースの手法であるため、形態素解析システムが未知語があると仮定した場合、文中の全ての位置で、任意の長さの単語候補の組み合わせを考慮しなければならず、従って、計算量の増大を引き起こしてしまう。
【００１５】
上述した問題点をまとめると下記の通りとなる。
【００１６】
１）文献開示の形態素解析手法は、単語をベースとしているため、日本語の場合は辞書が不可欠となる。しかし、辞書があっても、未知語が存在する場合には、辞書が使えないため、単語分割に影響を与える。
【００１７】
２）日本語の場合は、区切りの曖昧さがあるため、分割単語数は一定である英語の確率モデルをそのまま適用することが出来ない。例えば、分割単語数の異なる２つの分割を比較すると、分割数の少ない、すなわち、長い単語からなる分割が有意な評価値を得やすい。
【００１８】
３）上記１）の問題により、次のような処理効率上の新たな問題が生じる。すなわち、従来の手法では、単語をベースにしているため、単に語を区切るだけでも、辞書が不可欠となる。従って、辞書を作成するという面倒な作業を必要とし、その辞書を格納する資源も必要となる。さらに、処理実行時には、辞書を参照するため、メモリ消費量も大きくなり、しかも、処理時間も長くなる。
【００１９】
そこで、従来より、確率的手法を利用しても、辞書を用いる必要が無く、確率計算が分割単語数に依存せずに高精度で高速に形態素解析処理ができしかも省資源化が図れる形態素解析方法および装置や日本語形態素解析方法および装置の出現が望まれていた。
【００２０】
【課題を解決するための手段】
そこで、この出願にかかる発明者は、種々の研究および実験を行って、単語辞書を用いることを前提とする単語をベースとした形態素解析ではなく、単語辞書を用いることを前提としない文字をベースとした形態素解析を行えば、上述した種々の問題点を解決出来るという確信に至った。その理由は以下の通りである。すなわち、日本語を例に説明すると、日本語の文字は一般に使われているもので３，０００〜６，０００種あり、英語と異なり文字自体がかなりの情報を持っている。そして、その種類も現在の計算機能力にとって確率モデルを構成するのにちょうどよい大きさになっている。このため、文字をベースとすれば、辞書が必要なくなるので、上記１）の問題の解決がはかれること、また、文字の長さは１文（改行文字で区切られた単位の文字列のことを言う。）において一定であるため、上記２）の問題も解決出来ること、および、上記１）および２）が解決出来れば、必然的に３）の問題も解決できることにある。
【００２１】
従って、この発明の形態素解析方法および装置や日本語形態素解析方法および装置では、基本的には、文字をベースとして形態素解析を行うに当たり、言語テキスト、例えば日本語テキストが入力文として与えられたときに、この入力文を構成する単語列として、各文字の直後が単語境界であるか否かのあらゆる組み合わせの中から最も確からしい単語列の並びを出力させることを特徴とするものである。
【００２２】
そのため、この発明の形態素解析方法および日本語形態素解析方法によれば、次のようなステップを含む処理を行うことを特徴とする。すなわち、
（ａ）ステップ：言語テキスト、例えば日本語テキストを入力文として読み込む。
【００２３】
（ｂ）ステップ：読み込んだ入力文の入力文字列の１文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する。
【００２４】
（ｃ）ステップ：拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、これら生成された全ての拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を求める。
【００２５】
（ｄ）ステップ：得られた全ての拡張文字列の連鎖確率の中から最大値を有する連鎖確率を求め、この最大連鎖確率を与える拡張文字列を最適拡張文字列として全ての部分連鎖確率の中から選択する。
【００２６】
（ｅ）ステップ：そしてこのステップにおいて、この最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として出力させる。
【００２７】
また、これらの方法を実施する装置は、下記の通りの構成要件を具えることを特徴とする。すなわち、
（ａ）言語テキスト、例えば日本語テキストを入力文として読み込んできて、この入力文の入力文字列の１文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する拡張文字列生成部、
（ｂ）拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、生成された全ての拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求める連鎖確率計算部、および
（ｃ）得られた全ての拡張文字列の連鎖確率の中から最大の値の連鎖確率を求め、この最大連鎖確率を与える拡張文字列を最適拡張文字列として選択し、この最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部
の各構成要件である。
【００２８】
ここで、拡張文字とは、その詳細は後述するが、通常の文字とは異なり、ある文字にその文字の語分割や品詞等の文字以外の情報を含んだ文字を言う。
【００２９】
このような方法および装置の構成によれば、単語辞書を用いることを前提とする単語をベースとした確率計算ではなく、単語辞書を用いることを前提としない文字をベースとした確率計算を行う手法を採用しているので、下記の効果を奏する。
【００３０】
文字の長さは１文において一定しているので、分割数が確率計算に影響を及ぼすことが無く、従って、従来よりも高精度に語分割処理を行える。
【００３１】
また、形態素解析処理に辞書を必要としていないので、辞書の作成作業等という面倒で複雑な作業を必要とせず、従って、従来よりも形態素解析処理の高速化が図れる。
【００３２】
さらに、拡張文字の連鎖確率が日本語等の単語の一般的な単語モデルを持っているため、辞書を利用する従来方法よりも、未知語に対しより高精度に形態素解析が可能となる。
【００３３】
またさらに、辞書を必要としないので、品詞等のタグ情報を利用しなくても語分割の情報のみで形態素解析ができる。この場合、高速かつ省資源の処理を行うことが出来る。
【００３４】
この発明の実施に当たり、好ましくは、入力文の文頭および文末に制御文字を追加して入力文字列を形成するのが良い。このようにすると、部分拡張文字列（後述する）の長さを全ての文字につき揃えられるので、より正確に確率計算が出来、従って形態素解析の精度をより高めることが出来る。
【００３５】
さらに、この発明の実施に当たり、単語区切り情報の他にタグ情報を拡張情報として加えれば、語分割だけでは無く、品詞等のタグについても従来より高精度に形態素解析が可能となる。
【００３６】
また、単語区切りやタグの情報以外の任意の情報を拡張情報に加えれば、「読み」や「活用」情報等の任意情報についても、高精度でかつ高速に形態素解析できる。
【００３７】
また、この発明の実施に当たり、好ましくは、単語区切り情報を２値情報とするのが良い。単語区切り情報は、これが付加された文字の直後で形態素分割が生じているかいないかの２つの状態のいずれかであるので、これを表す情報としてはコンピュータ処理分野で一般に使用される２値情報（通常は「１」と「０」）を用いれば済む。２値情報であればその取扱いも簡単容易となり、従って、装置の構造を簡単化出来ると共に、形態素解析処理の高速化が図れる。
【００３８】
さらに、この発明の実施に当たり、好ましくは、下記のサブステップ処理をそれぞれ含ませるのがよい。
【００３９】
前述の（ａ）ステップにおいては、入力文をバッファメモリに読み出し自在に格納するサブステップを含ませること。
【００４０】
前述の（ｂ）ステップにおいては、入力文字列をバッファメモリから読み出しするサブステップ、および拡張文字列を第１メモリ領域に読み出し自在に格納するサブステップを含ませること。
【００４１】
前述の（ｃ）ステップにおいては、拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めて第２メモリ領域に読み出し自在に格納しておくサブステップ、前述の第１メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前述の第２メモリ領域から読み出してきてその積を前述の連鎖確率としてそれぞれ求めるサブステップ、およびこれら連鎖確率を第３メモリ領域に読み出し自在に格納するサブステップを含ませること。
【００４２】
このサブステップを実行するに当たり、この発明の装置には、上述したバッファメモリ、第１メモリ領域、第２メモリ領域、第３メモリ領域を具える他に、連鎖確率計算部には読み出された部分連鎖確率の積を計算して連鎖確率を与える計算段を具えるのが良い。
【００４３】
このように構成すれば、形態素解析処理を簡単な構成で、迅速に行える。
【００４４】
【発明の実施の形態】
以下、図を参照して、この発明の実施の形態につき説明する。実施の形態では、日本語を例に説明するが、韓国語、中国語、タイ語等の、日本語と同様に単語区切りが無い書法を持つ言語に対し、適用出来る。まず、この発明の説明に必要な事項につき簡単に説明する。
【００４５】
この発明では、上述した従来の問題点の解決を図るために、形態素単位の品詞Ｎ−ｇｒａｍモデルを利用する代わりに、拡張文字単位の時系列モデルを利用する。拡張文字単位の時系列モデルおよび最も基本的な拡張文字（タグを付与せずに単語分割だけを求める場合）の定義は、下記の式（２）〜（３）で与えられる。なお、拡張文字はどのような拡張文字を使用するかによって、いくつかのバリエーションが考えられる。
【００４６】
【数２】
0003992348.tif 000003
【００４７】
拡張文字単位の時系列モデルは、拡張文字ｅi の連鎖確率（ここでは、部分連鎖確率とも称する。）を用いて拡張文字列の連鎖確率ｐ（Ｗ，Ｔ）を求める。ここでｎは入力文字の長さ、ＮはＮ−ｇｒａｍのＮすなわち最適解を求めるために参照する文字組の長さ（文字組を構成する文字数）、ｅi は形態素列ＷおよびタグＴの情報から決定される拡張文字であるとする。
【００４８】
ｉ＜１およびｉ＞ｎの場合の拡張文字ｅi は、文頭および文末を表す特殊な拡張文字であるとする。
【００４９】
拡張文字ｅi とは、既に説明した通り、「彼」、「は」などの通常の文字とは異なり、語分割や品詞などのような文字以外の情報を含んだ文字である。（３）式の拡張文字ｅi を構成するｃi は、入力文字の位置ｉにおける文字およびｄi は、文字ｃi の前または後ろにおける区切り情報である。例えば、区切り情報としては文字ｃi の位置ｉの直後で形態素分割されているかどうかで２値の値を取る情報とするのが簡単である。すなわち、分割されている場合には、ｄi ＝０とし、分割されていない場合にはｄi ＝１とすればよい。
【００５０】
以下の説明において、区切りだけの情報を持たせた拡張文字ｅi を用いたモデルを文字境界モデル（ｃｈａｒａｃｔｅｒ  ｂｏｕｎｄａｒｙ  ｍｏｄｅｌ）と称し、例えば、「彼」の拡張文字ｅi は＜彼，０＞のように表記する。
【００５１】
日本語の形態素解析において、単語分割は必須であるため、単語分割に関する情報は、本来的であり、品詞などのタグ情報を含ませる方法の場合でも不可欠である。この区切り情報と文字の組み合わせを利用する点が、従来の単語レベルの情報を用いた形態素解析手法との決定的な違いである。
【００５２】
一方、この拡張文字ｅi はタグ情報も含ませることが出来、次式（４）のように表記する。
【００５３】
【数３】
0003992348.tif 000004
【００５４】
この式（４）において、ｆ（ｉ）は、入力文字列中の文字ｃi の位置ｉをその位置を含む形態素の番号（形態素位置）に変換する関数である。ここでの拡張文字ｅi は、上述した文字境界モデルにおける拡張文字ｅi に、形態素列Ｗおよびタグ列Ｔにおいてその文字ｃi を含む形態素のタグを付加したものとなる。このモデルを文字タグモデル（ｃｈａｒａｃｔｅｒ  ｔａｇ  ｍｏｄｅｌ）と称する。タグ情報としては、「品詞」の他に「読み情報」や「活用形」等が考えられるが、これらタグ情報だけでなく、任意の情報例えば「読み」の情報などを任意の個数だけ与えることによって、その情報に関する形態素解析結果を得るようにすることもできる。品詞を与えた例では、「彼」の拡張文字ｅi は、＜彼，０，代名詞＞のように表記する。
【００５５】
以上の前提に基づき、この発明の実施の形態につき、文字境界モデルと文字タグモデルの２つのモデルを例に挙げて説明する。
【００５６】
まず  図１を参照して、両モデルに共通する構成要件につき説明する。
【００５７】
図１は、この発明の日本語形態素解析装置の構成の一例を示すブロック図である。この装置は、入出力装置１０と、処理装置２０と、記憶装置３０と、ワークエリア４０を主として具えていて、コンピュータのハードウエア資源を用いて構成してある。従って、これら装置を制御する制御部等の、駆動させるために必要な機能は当然具えている。
【００５８】
入出力装置１０の入力部は、外部からの所要の情報をこの装置へ入力させるための装置であって、通常のキーボード、マウス、ＯＣＲ、音声入力装置等の任意好適な手段で構成してもよいし、或は外部からの通信信号を受信する手段として構成してもよい。また、出力部は、通常のコンピュータ装置の場合と同様に、この装置で得られた結果の所要の情報を外部の種々の表示手段や通信受信手段等へ出力出来る構成となっている。
【００５９】
処理装置２０は、拡張文字列生成部２２と、連鎖確率計算部２４と、最適経路探索部２６とを主として具えている。
【００６０】
拡張文字列生成部２２は、電子化されている日本語テキストを入力文として読み込んで、この入力文の入力文字列の文字毎に、少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、これら拡張文字を用いて入力文字列に関する全ての拡張文字列を生成する。すなわち、拡張文字列生成部２２は、入出力装置１０から入力されたテキストから全ての拡張文字列を生成する。
【００６１】
連鎖確率計算部２４は、これら生成された全ての拡張文字列の連鎖確率を求める。
【００６２】
また、最適経路探索部２６は、得られた連鎖確率のなかから最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択し、この最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する。或は、最大の値の連鎖確率を与える拡張文字列のみではなく、確率が小さくなる順に、対応する拡張文字列を、順次に、出力させても良い。
【００６３】
記憶装置３０は、拡張文字テーブル３２と、スコアテーブル３４とを主として具えている。
【００６４】
この拡張文字テーブル３２は、拡張文字列ｅi ｅi-1 ｅi-2 ・・・ｅi-N+1 とその連鎖確率（部分連鎖確率）ｐ（ｅi ｜ｅi-1 ｅi-2 ・・・ｅi-N+1 ）を格納するテーブルで、第２メモリ領域５０としての拡張文字列格納部５２および部分連鎖確率格納部５４とを有している。この拡張文字テーブル３２は、上述した連鎖確率を求めるときに連鎖確率計算部２４によって参照される。
【００６５】
拡張文字列格納部５２はＮ個の拡張文字格納部６０を有している。また、拡張文字格納部６０は文字格納部６２と区切り情報を含む拡張情報の格納部（拡張情報格納部という。）６４とを有している。文字格納部６２には、文字ｃi を、拡張情報格納部６４には文字ｃi の区切り情報ｄi やタグ情報ｔi 等の拡張情報をそれぞれ格納する。
【００６６】
スコアテーブル３４は、文頭から文末までの全ての拡張文字列の経路〔Ｗ，Ｔ〕と、その同時確率（連鎖確率）ｐ（Ｗ，Ｔ）を格納するテーブルで、第１メモリ領域としての経路格納部７０と第３メモリ領域としてのスコア格納部７２とを有している。経路格納部７０は、拡張文字格納部６０と同様に、ｎ個（ｎは読み込まれたテキストの文字数）の拡張文字格納部８０を有し、この拡張文字格納部８０は、文字格納部８２と区切り情報を含む拡張情報を格納する拡張情報格納部８４を有している。この経路格納部７０には、生成された全ての拡張文字列が拡張文字列生成部２２によって格納される。また、スコア格納部７２には、連鎖確率計算部２４によって、計算されて得られた全ての連鎖確率が記録される。
【００６７】
ワークエリア４０は、処理装置２０が各種の処理を行うためのエリアでカウンタ４２およびバッファメモリ４４を有している。
【００６８】
このような構成により、この発明では下記のような処理ステップで動作させることができる。この処理の流れ図を図２に示す。なお図において、ステップを記号Ｓで表記する。
【００６９】
まず、Ｓ（ａ）において、入出力装置１０によりに日本語テキストを入力文として読み込む。この場合、好ましくは、読み込んだ入力文をバッファメモリ４４に読み出し自在に格納する。
【００７０】
次に、Ｓ（ｂ）において、この入力文の入力文字列の文字毎に、少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、形成した拡張文字を用いて入力文字列に関する全ての拡張文字列を生成する。この場合、好ましくは、入力文をバッファメモリ４４から拡張文字列生成部２２へ読み出してきて拡張文字の付加を行う。生成された拡張文字列は第１メモリ領域である経路格納部７０に読み出し自在に格納する。
【００７１】
次に、Ｓ（ｃ）において、生成された全ての拡張文字列の連鎖確率を求める。この場合、好ましくは、この計算に当たり、拡張文字列を構成する順次の一定数、すなわち、この計算のときに参照される文字組の数（Ｎ）（通常、Ｎ＝１または２または３である）からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習（訓練）により求めておき、その部分連鎖確率を第２メモリ領域である拡張文字テーブル３２に読み出し自在に格納しておく。そして、第１メモリ領域７０から読み出したそれぞれの拡張文字列毎に、これら拡張文字列を構成する全ての部分連鎖確率をこの第２メモリ領域５０から読み出してきて、その積を計算して連鎖確率として求める。得られた連鎖確率を第３メモリ領域であるスコア格納部７２に読み出し自在に格納する。
【００７２】
次に、Ｓ（ｄ）において、得られた連鎖確率のなかから最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択する。この場合、好ましくは、第３メモリ領域７２に記録された拡張文字列の確率を比較して選択する。
【００７３】
そして、Ｓ（ｅ）において、最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として出力する。この場合、必要ならば、下位の大きさの連鎖確率に対応する拡張文字列をこの確率の大きい方から順次出力させることも出来る。
【００７４】
〔１〕第１の実施の形態例
この実施の形態例では、拡張情報として単語区切り情報のみを利用した場合につき説明する。
【００７５】
図３は、この発明の第１の実施の形態例における処理の流れを説明するための流れ図である。この形態例において、形態素解析は１文すなわち改行文字で区切られた単位の文字列を入力単位とする。また、「今日は」（入力文字の長さｎ＝３）を入力した場合を例に、３文字（Ｎ＝３）の部分連鎖確率を用いた処理の流れにつき説明する。
【００７６】
なお、以下の説明において、具体例の拡張文字テーブルやスコアテーブルの図では、文字格納部と拡張情報格納部を＜ｃi ，ｄi ＞のように表現する。
【００７７】
形態素解析装置が動作を開始すると、装置の制御部（図示せず）からの読み込み指令に応じて入出力装置１０からテキストの文字文「今日は」が入力され、バッファメモリ４４に読み込まれる（Ｓ１）。
【００７８】
次に、読み込まれたテキストの文頭および文末に、拡張文字列生成部２２からの指令によって（Ｎ−１）個の制御文字を文頭ｃ-(N-1)+1，・・・，ｃ0 に、および文末ｃn+1 ，・・・，ｃn+(N-1) に挿入する（Ｓ２）。この例では、Ｎ＝３であるので、文頭と文末にそれぞれｃ-1，ｃ0 ，とｃ4 ，ｃ5 の２個の制御文字をそれぞれ挿入する。この制御文字を記号＃で示してある。この制御文字が挿入された後のバッファメモリ４４の内容例を図４の（Ａ）に示す。この例では、各文字ｃ-1，ｃ0 ，・・・ｃ5 の文字位置順にその対応する具体的な＃，＃，「今」、「日」、「は」、＃、＃の文字が上下に互いに対応した関係で格納してある。
【００７９】
なお、この制御文字を挿入することはＮ−ｇｒａｍ連鎖確率を求める上で周知の一般的手法である。制御文字は、文頭および文末を示す特殊文字であるので、テキスト（本文）と区別出来る記号等の文字を使用している。この制御文字の挿入は、予め制御文字を所要のメモリ領域に格納しておいて、バッファメモリに入力文が読み込まれたとき、自動的に挿入するようにしても良いし、外部からの指令により挿入しても良い。また、この制御文字を挿入する理由は、以下述べる理由による。通常、ｉ番目の文字ｃi の出現確率を推定するのに（ｉ−Ｎ＋１）番目から（ｉ−１）番目の文字の推定確率が必要になる。しかし、ｉがＮよりも小さい場合、ｉの値はマイナスとなり、存在しない文字の出現確率が得られてしまう。そこで、便宜上、（Ｎ−１）個の文字を挿入し、ｉがＮよりも小さい場合であっても、文字ｃi の出現確率を推定できるようにするために、制御文字＃を挿入する。
【００８０】
次に、読み込んだテキストから全ての可能な拡張文字列を生成し、これらをスコアテーブル３４の経路格納部７０に格納する（Ｓ３）。この生成処理Ｓ３の詳細を図５に示す。
【００８１】
図５は、拡張文字列生成の流れ図である。拡張文字列生成部２２は、上述の制御文字挿入処理の終了信号に応動してバッファメモリ４４から順次に文字ｃi を読み出してきて、各文字ｃi に対して全ての単語区切り情報ｄi を組み合わせた拡張文字を生成する（Ｓ３０１）。なお、区切りの情報の記述には、いくつかの方法が考えられるが、ここでは、文字位置ｉの直後で形態素分割されている場合にはｄi ＝１、そうでない場合はｄi ＝０、従って、単語区切り情報ｄi を２値の「０」と「１」をとるものとする。
【００８２】
この場合、拡張文字として＜＃，０＞，＜＃，０＞，＜今，０＞，＜日，０＞，＜は，０＞，＜＃，０＞，＜＃，０＞等と、＜＃，１＞，＜＃，１＞，＜今，１＞，＜日，１＞，＜は，１＞，＜＃，１＞，＜＃，１＞等とが形成される。この拡張文字ｃi の文字の部分を文字格納部６２に及び単語区切り情報ｄi を拡張情報格納部６４に互いに対応付けて格納する。
【００８３】
そして、文頭から文末までの拡張文字の組み合わせ（経路）をスコアテーブル３４に格納する（Ｓ３０２）。この経路としては、＜＃，０＞⇒＜＃，０＞⇒＜今，０＞⇒＜日，０＞⇒＜は，０＞⇒＜＃，０＞⇒＜＃，０＞経路と、＜＃，１＞⇒＜＃，１＞⇒＜今，１＞⇒＜日，１＞⇒＜は，１＞⇒＜＃，１＞⇒＜＃，１＞経路である。
【００８４】
次に、未処理の経路があれば全ての経路を格納するまで処理Ｓ３０２を繰り返す。未処理の経路がなくなれば処理を終了する。
【００８５】
なお、処理の高速化を図る場合には、処理Ｓ３０２において、拡張文字テーブル作成のための訓練コーパス（テキスト）に現れなかった拡張文字を含む拡張文字列をスコアテーブル３４に格納しないようにすれば良い。十分に大きな訓練コーパスには可能な文字と品詞の組み合わせが全て出現していると考えられ、出現していない文字と品詞の組み合わせは最初から考慮しなくても良いからである。
【００８６】
このようにして得られた処理（Ｓ３）の結果は、拡張文字列としてスコアテーブル３４に格納される。図７の（Ａ）はスコアテーブルの一例を示し、図７の（Ｂ）はスコアテーブルの内容の一例を示す。図７の（Ａ）において、各拡張文字ｅ-(N-1)+1，ｅ-(N-1)+2，・・・，ｅ1 ，ｅ2 ，・・・ｅn ，・・・，ｅn+(N-1) は、対応する文字ｃ-(N-1)+1，ｃ-(N-1)+2，・・・，ｃ1 ，ｃ2 ，・・・ｃn ，・・・，ｃn+(N-1) と拡張情報（ここでは区切り情報）ｄ-(N-1)+1，ｄ-(N-1)+2，・・・，ｄ1 ，ｄ2 ，・・・ｄn ，・・・，ｄn+(N-1) とが対となって、拡張文字列の全てに対して、順次に記録される。右側の欄は連鎖確率ｐ（Ｗ，Ｔ）の欄である。図７の（Ｂ）の具体的内容では、左欄に拡張文字列ｅ-1，ｅ2 ，・・・ｅ5 を示し入力文が「今日は」の場合の拡張文字列の全てが、候補として、順次に、上から下へと配列されている。その右に連鎖確率ｐ（Ｗ，Ｔ）を記す欄が設けられている。ここでは連鎖確率の欄は空欄となっている。ここで、「／」を分割を示す記号とすると、例えば図中の２行目のデータは、「／今日は／」が１単位である場合の拡張文字列を示しており、４行目のデータは「／今日／は／」と分割される場合の拡張文字列を示している。
【００８７】
なお、このスコアテーブルの各データは経路格納部７０に格納され、拡張文字ｅi 等は拡張文字格納部８０に、文字ｃi 等は文字格納部８２に、そして拡張情報である単語区切り情報ｄi 等は拡張情報格納部８４にそれぞれ格納される。
【００８８】
このように、処理Ｓ３が終了すると、次の処理（Ｓ４）へ進む。この処理Ｓ４では、拡張文字テーブル３２を参照して、スコアテーブル３４から候補文字列（各拡張文字列のこと）の連鎖確率を計算し、スコアテーブルに格納する。
【００８９】
図８の（Ａ）は、参照される拡張文字テーブル３２の一例を示す。この例では各拡張文字ｅi-N+1 ，ｅi-N+2 ，・・・ｅi は、対応する文字ｃi-N+1 ，ｃi-N+2 ，・・・ｃi と拡張情報（ここでは区切り情報）ｄi-N+1 ，ｄi-N+2 ，・・・ｄi とが対となって、順次に，記録される。右側の欄は部分連鎖確率ｐ（ｅi ）（出現確率ともいう。）の欄である。図８の（Ｂ）は、拡張文字テーブル３２の内容の具体例を示す図である。この例では、文字組の数ＮがＮ＝３の場合の例を示しているので、文字位置をｉとするとき、図８の（Ｂ）の左欄にｅi-2 ，ｅi-1 ，ｅi の３文字の部分拡張文字列を示し、右欄に対応する部分拡張文字列の連鎖確率すなわち部分連鎖確率ｐ（ｅi ｜ｅi-1 ，ｅi-2 ）（出現確率ともいう。）を示している。
【００９０】
図８の（Ｂ）に示すこの拡張文字テーブルの内容によれば、例えば上から３行目のデータによれば、「＜＃，１＞＜今，０＞＜日，０＞」は、文字列「＃今」が文頭の制御文字「＃」の後ろで分割され、「今」の後ろで分割されない場合、次の文字が「日」で、かつ「日」の直後で分割されない確率が「０．０１３４」であることを示している。他のデータも同様な確率を示している。
【００９１】
このような拡張文字テーブルは、事前に訓練（学習）により作成して記憶装置３０に保存しておく。処理対象となるテキストは、入出力装置１０を使用して記憶装置３０に保存し、処理装置２０からの命令により、読み込む。拡張文字テーブル３２の参照およびスコアテーブル３４の読み書きは、処理装置２０から記憶装置３０をアクセスして随時実行可能である。また、この拡張文字テーブル３２は、タグ付きコーパス（この場合、単語分割されたコーパス）があれば、Ｎ−ｇｒａｍの数を数えることによって容易に獲得できる。また、既存の形態素解析システムの出力結果を利用したり、人手で作成したりしても良い。
【００９２】
なお、この拡張文字テーブルの各データは拡張文字列格納部５２に格納され、拡張文字ｅi 等は拡張文字格納部６０に、文字ｃi 等は文字格納部６２に、そして拡張情報である単語区切り情報ｄi 等は拡張情報格納部６４にそれぞれ格納される。
【００９３】
この処理（Ｓ４）のより詳細な処理の流れを図６に示す。この一連の処理を以下説明する。なお、この処理は、全て処理装置２０の指令に基づいて実行される。
【００９４】
処理Ｓ４０１：スコアテーブル３４から１行目のレコード（データ）を読み込む。この場合、スコアテーブル３４の１行目のデータをワークエリア４０のバッファメモリ４４に読み込む。このとき、ワークエリア４０のカウンタ４２は、読み込まれて処理対象になる文字の位置ｉを表示する。
【００９５】
処理Ｓ４０２：次に、文字位置を示すカウンター４２のｉを文頭にセットする（すなわち、ｉ＝１とする）。
【００９６】
処理Ｓ４０３：次に、ｅi-N+1 からｅi までのＮ文字の拡張文字列を取り出す。Ｎは任意とすることができるが、ここではＮ＝３とする。従って、この処理では、バッファメモリ４４からｅ-1からｅ1 までの３文字の拡張文字列（部分拡張文字列）、すなわち、「＜＃，１＞＜＃，１＞＜今，０＞」を取り出す。
【００９７】
処理Ｓ４０４：次に、取り出した拡張文字列（部分拡張文字列）に対し、拡張文字テーブル３２を参照して、連鎖確率を求める。この連鎖確率の計算を行うに当たり、予め、連鎖確率計算部２４の格納部すなわち第４メモリ領域９０に、既に説明した（２）式を格納しておき、この（２）式を計算段９２に読み出し、ここで（２）式の計算を実行する。
【００９８】
図８の（Ｂ）の拡張文字テーブルの内容によれば、「＜＃，１＞＜＃，１＞＜今，０＞」に対応する部分連鎖確率ｐ（ｅ1 ｜ｅ0 ｅ-1）は１行目の「０．０８３２」であるので、これを拡張文字テーブルから取り出して、一旦、第４メモリ領域９０に格納しておく。
【００９９】
処理４０５〜４０７：次に、計算段９２でｉ＝＝１（ｉと１とを比較してｉが１に等しいこと）かどうかの判定を行って、ｉ＝＝１ならば、この計算段９２でｐ（Ｗ，Ｔ）にｐ（ｅi ｜ｅi-1 ・・・ｅi-N+1 ）をセットする（Ｓ４０６）。すなわち、ここでの例では、この部分連鎖確率の値を（２）式に代入してｐ（ｅ1 ｜ｅ0 ｅ-1）＝０．０８３２を得る。
【０１００】
一方、ｉ！＝１ならば（ｉが１と等しくないとき）、（２）式に従って、ｐ（Ｗ，Ｔ）とｐ（ｅi ｜ｅi-1 ・・・ｅi-N+1 ）との積を求め、ｐ（Ｗ，Ｔ）にセットする（Ｓ４０７）。
【０１０１】
処理Ｓ４０８〜４１０：次に、ｉ＝＝ｎ＋Ｎ−１かどうかの判定を行い、ｉ＝＝ｎ＋Ｎ−１ならば、スコアテーブル３４のスコア格納部７２にｐ（Ｗ，Ｔ）を記録する（Ｓ４０９）。ここでの例では、上述のｐ（ｅ1 ｜ｅ0 ｅ-1）＝０．０８３２を格納する。一方、ｉ！＝１ならば、ｉを１だけ増やして（Ｓ４１０）Ｓ４０３に戻る。
【０１０２】
処理Ｓ４０３：この処理では、バッファメモリ４４からｅ-1からｅ2 までの３文字の拡張文字列（部分拡張文字列）、すなわち「＜＃，１＞＜今，０＞＜日，０＞」を取り出す。
【０１０３】
処理Ｓ４０４：続いて、拡張文字テーブル３２から「＜＃，１＞＜今，０＞＜日，０＞」の部分連鎖確率ｐ（ｅ2 ｜ｅ1 ｅ0 ）＝０．０１３４を求める。
【０１０４】
処理Ｓ４０５〜４０７：次に、ｉ＝＝１かどうかを判定し（Ｓ４０５）、この場合には、ｉ！＝１であるので、Ｓ４０７へ進む。この処理においては、（２）式に従って、計算段９２において、既に得られているｐ（Ｗ，Ｔ）＝０．０８３２と今回得られたｐ（ｅ2 ｜ｅ1 ｅ0 ）＝０．０１３４との積を算出し、これを新たにｐ（Ｗ，Ｔ）にセットする（Ｓ４０７）。
【０１０５】
このような処理Ｓ４０３〜４０７をｉ＝＝５になるまで繰り返し行う。
【０１０６】
処理４０８：ｉ＝＝５になれば、スコアテーブル３４のスコア格納部７２に連鎖確率ｐ（Ｗ，Ｔ）を格納する（Ｓ４０９）。
【０１０７】
処理Ｓ４１１：未処理のレコードがあるかないかを判断して、未処理のレコードがあれば処理Ｓ４０１に戻り、以上の処理を繰り返すことにより、スコアテーブル３４中の全ての拡張文字列の連鎖確率（同時確率ともいう。）を求めることが出来る。未処理のレコードが無ければ、この処理Ｓ４を終了する。
【０１０８】
図９に、処理Ｓ４の処理終了後のスコアテーブルの内容を示す。同図の左側のｅ-1，ｅ0 ，・・・ｅ5 の欄に示してある各拡張文字列に対して、上述した（２）式に従った連鎖確率計算により求められた結果が、各列に対応する右欄にｐ（Ｗ，Ｔ）の値としてそれぞれ記録されている。この連鎖確率の値が大きいものほど、それに対応する拡張文字列が最も尤もらしい形態素区切りであると推定された最適拡張文字列である。この処理Ｓ４の終了後、次の処理Ｓ５に進む。
【０１０９】
処理（Ｓ５）：この処理では、処理部２０の最適経路探索部２６において、このスコア格納部（第３メモリ領域）７２に格納された連鎖確率を順次に読み出してきて、比較を行って、最大の連鎖確率からその値が小さい順に配列し、これら連鎖確率に対応する拡張文字列をその大きさの順（スコア順）に配列して、順に、出力する。従って、まず、最大の連鎖確率を与えている文字列を単語分割が最適な文字列として入出力装置１０の出力部から出力させる。ここでの例では、拡張情報が単語区切り情報だけであるので、単語列として出力される。続いて、所要に応じて、スコアの大きい順に順次に対応する単語列の並びが出力される。
【０１１０】
ここで、この最大連鎖確率を出力する場合の処理の流れにつき、図１３を参照して説明する。この処理をスコア順に繰り返すことによって、ある閾値以上をもつ単語列の並びをすべて出力することもできる。
【０１１１】
まず、すべての拡張文字列に対し求めらた連鎖確率が格納されているスコアテーブル（この第１の実施の形態例では、図９に対応する。）から、最大の連鎖確率を持つｅ-(N-1)+1，・・・，ｅn+(N-1) について、制御文字の拡張文字列の文頭ｅ-(N-1)+1，・・・，ｅ0 と文末ｅn+1 ，・・・，ｅn+(N-1) を切り捨てたｅ1 ，・・・，ｅn を読み込む（Ｓ５０１）。この図９の例では、ｅ-1，・・・，ｅ5 であるので、上から４行目の＜今，０＞＜日，１＞＜は，１＞が読み込まれる。
【０１１２】
ここで、カウンタ４２をｊにセットし（Ｓ５０２）、バッファメモリ４４を初期化しておく（Ｓ５０３）。
【０１１３】
次に、カウンタ４２の文字位置ｊが入力文字の長さｎとの比較を行って（Ｓ５０４）、長さｎに等しくなければ、ｅj ＝＜ｃj ，ｄj ＞のｃj の値をバッファメモリ４４に追加する（Ｓ５０５）。ここでの例では、ｃ1 の値「今」が追加され、この状態でのバッファメモリ４４は、
〔今                〕
となる。
【０１１４】
次に、単語区切り情報ｄj が１か０かの判定を行って（Ｓ５０６）、ｄj ＝１であれば、〔単語区切り記号〕を追加する（Ｓ５０７）。この〔単語区切り記号〕はどのような記号でも構わないが、ここでは、「 」（アンダーバー）とする。
【０１１５】
なお、ｄj ＝０である場合には、何もしない。ここでの例では、ｄ1 ＝０であるので、何もしない。
【０１１６】
次に、カウンタ４２の文字位置ｊを１つ進め（Ｓ５０８）、同様な処理を繰り返し行う。
【０１１７】
拡張文字ｅ2 における処理Ｓ５０８を終了した後は、ｄ2 が１であるため、単語区切り記号「 」が追加され、バッファメモリ４４の状態は、
〔今日             〕
となる。そして、カウンタ４２の文字位置ｊを１つ進め（Ｓ５０８）、次の処理Ｓ５０４に戻る。
【０１１８】
Ｓ５０４において、ｅ3 では、ｊ＝ｎ＝３であるので、処理Ｓ５０９に進み、ｅn ＝＜ｃn ，ｄn ＞のｃn の値をバッファメモリ４４に追加する（Ｓ５０９）。その結果、バッファメモリ４４の状態は、
〔今日 は          〕
となる。最後に、バッファメモリ４４に格納されている値を入出力部１０によって出力し、この処理を終了する。
【０１１９】
上述した第１の実施の形態においては、全ての経路を試行する方法を用いたが、既に処理Ｓ３０２に関して説明した通り、探索アルゴリズムを組み合わせるこにより、より高速に処理することが可能である。
【０１２０】
〔２〕第２の実施の形態例
次に、第２の実施の形態例につき説明する。第１の実施の形態例が、拡張情報として単語区切り情報のみとしたことに対し、この第２の実施の形態例では、拡張情報として単語区切り情報とタグ情報とを用いる点が異なる。従って、その点に関する装置構成および動作処理が多少異なるにすぎない。この第２の実施の形態例では、第１の実施の形態例の場合のような形態素単位の分割だけではなく、拡張情報格納部に格納された任意の情報に関する解析結果を得ることが出来る。具体的には、タグ情報を品詞情報とすると、分割した文字列の品詞も同時に推定することが出来る。以下の例ではタグ情報を品詞情報として説明する。
【０１２１】
基本的には、この場合の装置構成も、図１にブロック図で示す構成となっている。しかし、拡張文字テーブル３２とスコアテーブル３４の構成が下記の点で第１の実施の形態例の場合とは相違する。
【０１２２】
第１の点は、第２の実施の形態例では、拡張文字テーブル３２の上述した拡張情報格納部６４は、単語区切り情報ｄi およびタグ情報ｔi とをそれぞれ格納する領域を有する点である。そのため、拡張情報格納部６４は、単語区切り情報格納部（図示せず）およびタグ情報格納部（図示せず）を有している。
【０１２３】
従って、文字格納部６２には、文字ｃi を格納し、拡張情報格納部６４には、単語区切り情報ｄi とタグ情報ｔi とをそれぞれの格納部に個別に格納する。
【０１２４】
第２の点は、スコアテーブル３４の上述した拡張文字格納部８０は、単語区切り情報ｄi およびタグ情報ｔi とをそれぞれ格納する領域を有する点である。そのため、拡張情報格納部８４は、単語区切り情報格納部（図示せず）およびタグ情報格納部（図示せず）を有している。この場合のスコアテーブルおよび拡張文字テーブルの例をそれぞれ図１０の（Ａ）および図１１の（Ａ）に示す。これらの図において第１の実施の形態例で説明した図７の（Ａ）および図８の（Ａ）との相違点は、図１０の（Ａ）のスコアテーブルの場合には、文字ｃi 、区切り情報ｄi と並べてタグ情報ｔi をそれぞれの拡張文字ｅi に付加してある点である（但しｉ＝１−Ｎ＋１〜ｎ＋Ｎ−１（この場合は、Ｎ＝３なので、ｉ＝−１〜ｎ＋２））。また、図１１の（Ａ）の拡張文字テーブルでは、同様に、文字ｃi 、区切り情報ｄi と並べてタグ情報ｔi をそれぞれの拡張文字ｅi に付加してある点である（但しｉ＝１〜Ｎ（この場合は、Ｎ＝３なので、ｉ＝１〜３））。
【０１２５】
次に、この第２の実施の形態例の動作につき説明する。この場合の基本的な処理の流れは、図２で説明した通りである。また、この第２の実施の形態例の動作は、図３で説明した第１の実施の形態例での処理の流れとも基本的には同一であるので、この図３を参照して、説明する。
【０１２６】
以下の説明では、テキスト「今日」を入力させた場合の例に、３文字の部分連鎖確率（出現確率）を用いた処理の流れにつき具体的に説明する。なお、具体例の拡張文字テーブル３２およびスコアテーブル３４の図では、文字格納部６２，８２と拡張情報格納部６４，８４の内容、すなわち、拡張文字格納部６０および８０の内容を＜ｃi ，ｄi ，ｔi ＞のように表記する。
【０１２７】
処理（Ｓ１）〜（Ｓ２）：第１の実施の形態例の場合と同様である。この処理の後のバッファメモリ４４の内容も図４の（Ｂ）に示す通りとなる。
【０１２８】
処理（Ｓ３）：読み込んだテキストから全ての可能な拡張文字列を生成し、スコアテーブル３４の経路格納部（第１メモリ領域）７０に格納する。この場合、第１の実施の形態例のときと相違する点は、各文字毎に、拡張情報として、単語区切り情報と品詞情報とを付加する。文頭および文末の制御文字は、処理の都合上与えられた文字であるから、拡張情報ではないが、ここでの例では、便宜上、単語区切り情報として「１」を、品詞情報として「＃」を付加する。その結果、得られたスコアテーブル３４の内容を図１０の（Ｂ）に示す。例えば、図１０の（Ｂ）の第１行目は、「今日」が単語分割されず、すなわち、「今日」の文字列は、１つの単語で、品詞が名詞である場合の拡張文字列を示している。
【０１２９】
処理（Ｓ４）：この処理も、第１の実施の形態例の場合と同様に行われる。図１１の（Ｂ）は、第２の実施の形態例の場合の拡張文字テーブル３２の一例を示している。この図においても、拡張情報格納部であるタグ情報格納部６４の「＃」は制御文字（記号）であり、例えば、図１１の（Ｂ）の上から７行目の「＜＃，１，＃＞＜今，０，名詞＞＜日，１，名詞＞」は、文中「＃」「今」「日」の品詞がそれぞれ制御文字、名詞、名詞で、「＃」の直後で分割され、「今」の直後で分割されない場合、「日」の直後で分割される確率が０．００４７であることを示している。
【０１３０】
この拡張文字テーブル３２も、第１の実施の形態例の場合と同様に、品詞タグつきコーパスを利用すれば、Ｎ−ｇｒａｍの数を数えることによって容易に獲得できる。
【０１３１】
次に、図６を参照して、処理Ｓ４０１〜４１１の処理を、第２の実施の形態例につき、具体的に説明する。この処理も第１の実施の形態例の場合と同様に行われるので、共通な処理等は簡単に説明する。
【０１３２】
処理Ｓ４０１：図１０（Ｂ）のスコアテーブル３４から１行目のレコード（データ）をバッファメモリ４４に読み込む。
【０１３３】
処理Ｓ４０２：文字位置を示すカウンタｉを文頭にセットする。
【０１３４】
処理Ｓ４０３：バッファメモリ４４から、ｅ-iからｅ1 までの３文字の拡張文字列（部分拡張文字列）、すなわち、「＜＃，１，＃＞＜＃，１，＃＞＜今，０，名詞＞」を取り出す。
【０１３５】
処理Ｓ４０４：この処理では、図１１の（Ｂ）の拡張文字テーブル３２を参照して、「＜＃，１，＃＞＜＃，１，＃＞＜今，０，名詞＞」の部分連鎖確率（出現確率）ｐ（ｅ1 ｜ｅ0 ｅ2 ）＝０．００３４を求める。
【０１３６】
処理Ｓ４０５〜４０６：このとき、ｉ＝＝１なので、連鎖確率ｐ（Ｗ，Ｔ）＝０．００３４をセットして、処理Ｓ４０８へ進む。
【０１３７】
処理Ｓ４０８〜４１０：ｉ！＝１なので、ｉを１つ増やしてＳ４０４に戻る。
【０１３８】
処理Ｓ４０４：図１１（Ｂ）の拡張テーブル３２を参照して、「＜＃，１，＃＞＜今，０，名詞＞＜日，１，名詞＞」の部分連鎖確率（出現確率）ｐ（ｅ2 ｜ｅ1 ｅ0 ）＝０．００４７を求める。
【０１３９】
処理Ｓ４０５〜４０６：このとき、ｉ！＝１なので、連鎖確率ｐ（Ｗ，Ｔ）とｐ（ｅ2 ｜ｅ1 ｅ0 ）との積を（２）式に従って求め（すなわち、連鎖確率ｐ（Ｗ，Ｔ）＝ｐ（Ｗ，Ｔ）×ｐ（ｅ2 ｜ｅ1 ｅ0 ））、その結果、すなわち、ｐ（Ｗ，Ｔ）＝０．００３４×０．００４７＝０．１５９×１０-4をｐ（Ｗ，Ｔ）にセットする。
【０１４０】
処理４０８〜４０９：ｉ＝＝ｎ（ｎ＝＝２）なので、ｐ（Ｗ，Ｔ）をスコアテーブル３４のスコア格納部（第３メモリ領域）７２に格納する。
【０１４１】
処理Ｓ４１１：未処理レコードがあるので、処理Ｓ４０１に戻る。
【０１４２】
以上の処理を繰り返すことにより、スコアテーブル３４内のすべての拡張文字の連鎖確率（同時確率）を求めることができる。
【０１４３】
図１２は、処理Ｓ４の終了後のスコアテーブル３４の内容を示す例である。この場合にも、連鎖確率の値が大きい拡張文字列ほど、最も尤もらしい形態素区切りであると推定された文字列である。例えば、１行目の「＜＃，１，＃＞＜＃，１，＃＞＜今，０，名詞＞＜日，１，名詞＞＜＃，１，＃＞＜＃，１，＃＞」の連鎖確率が一番大きければ、これを最適拡張文字列とする。
【０１４４】
処理（Ｓ５）：一連の処理Ｓ４が終了した後、最適経路探索部２６により、第１の実施の形態例の場合と同様に、スコアテーブル３４から連鎖確率（スコア）の高い順に対応する拡張文字列で決まる単語列の並びとタグ列の並びを出力する。
【０１４５】
この第２の実施の形態例の場合には、この最大連鎖確率の出力は、既に図１３を参照して第１の実施の形態例で説明した処理と同様な処理の流れで行われる。しかし、この第２の実施の形態例では、第１の実施の形態例の場合とは、処理Ｓ５０７とＳ５０９の内容が相違するので、この処理Ｓ５０７とＳ５０９につき説明し、その他の処理の重複説明は省略する。
【０１４６】
処理Ｓ５０７：ｅj ＝＜ｃj ，ｄj ，ｔf(j)＞において、「〔文字タグ区切り記号〕ｔf(j)〔単語区切り記号〕」の値をバッファメモリ４４に追加する。
【０１４７】
処理Ｓ５０９：ｅj ＝＜ｃj ，ｄj ，ｔf(j)＞において、「ｃn 〔文字タグ区切り記号〕ｔf(j)」の値をバッファメモリ４４に追加する。
【０１４８】
この〔文字タグ区切り記号〕はどんな記号でも構わないが、たとえば「／」（スラッシュ）とする。
【０１４９】
このようにした場合、処理Ｓ５１０での出力は、例えば、
〔今日／名詞          〕
となる。
【０１５０】
また、例えば、単語区切り文字が改行コードで、文字タグ区切り情報がタブの場合に、例えば、「今日は誕生日だ」の処理Ｓ５１０での出力は、
単語区切りのみでは
〔今日                〕
〔は                  〕
〔誕生日              〕
〔だ                  〕
となり、
タグ付きでは
〔今日            名詞〕
〔は            副助詞〕
〔誕生日          名詞〕
〔だ            助動詞〕
となる。
【０１５１】
以上の一連の処理が拡張文字による形態素推定処理の流れである。
【０１５２】
上述した第１および第２の実施の形態例では、拡張情報として単語区切り情報およびタグ情報につき説明したが、タグ情報の代わりにまたはこれに追加して、「読み」とか「活用」などの情報を付加して、これら任意情報に関する形態素解析も同様に行い得る。
【０１５３】
また、上述した各メモリ領域は、それぞれ、個別のメモリで構成してもよいし、或は１つのメモリの領域を分けて構成しても良い。
【０１５４】
〔実験結果〕
上述した第１および第２の実施の形態例に関して、その効果を確認するための実験を行った。その結果を以下に説明する。
【０１５５】
１）実験手法
１−１）第１の実施の形態例（文字−区切りモデル）
訓練：文字と区切りの記号の対（ペア）をトークン（ｔｏｋｅｎ）とするトライグラム（ｔｒｉｇｒａｍ（３−ｇｒａｍ））をタグ付きコーパスから構築する。すなわち、文字をその文字の後ろに区切りがあるものとないものの２種類に分ける。
【０１５６】
解析：解析対象のすべての文字に対して、区切り記号とペアになったものとそうでないものとの組み合わせから文字ｔｒｉｇｒａｍの連鎖確率を最大とする組み合わせを解析結果（形態素分割）とする。
【０１５７】
１−２）第２の実施の形態例（文字−タグモデル）
訓練：文字と区切り記号と品詞の組をトークン（ｔｏｋｅｎ）とするｔｒｉｇｒａｍをタグ付きコーパスから構築する。
【０１５８】
解析：解析対象のすべての文字に対して、すべての可能な区切り記号と品詞の組合わせから文字ｔｒｉｇｒａｍの連鎖確率を最大とするものを選ぶ、分解された各形態素に対して、先頭の文字の組にある品詞をその形態素の品詞とする手法（手法先頭）と、その形態素が含む各トークンの品詞の中で多いものをその形態素の品詞とし、同じ数の品詞がある場合は、品詞のユニグラム（ｕｎｉｇｒａｍ（１−ｇｒａｍ））を使って品詞を決める手法（手法多数決）とがある。この実験では、後者の（手法多数決）を使用した。
【０１５９】
（手法多数決）につき簡単に説明する。入力文「いるかがいる」の最も確からしい拡張文字列が以下のようになった場合を考える。
【０１６０】
＜い，０，動詞＞＜る，０，名詞＞＜か，１，名詞＞＜が，１，助詞＞＜い，０，動詞＞＜る，１，副詞＞
この場合、３つの単語（いるか）（が）（いる）に分割される。すなわち
＜い，０，動詞＞＜る，０，名詞＞＜か，１，名詞＞
＜が，１，助詞＞
＜い，０，動詞＞＜る，１，副詞＞
その品詞は（が）については一意に助詞と定まるが、（いるか）は動詞と名詞、（いる）は動詞と副詞の複数の可能性がある。この場合、（いるか）については、候補は動詞と名詞であるが、名詞が２個あり、動詞の１個より多いので、名詞とする。他方、（いる）については、動詞と副詞の可能性があるが、どちらも１個づつで多数決で決まらないので、訓練データでより多く出現した品詞である、動詞を（いる）の品詞だとして出力する。
【０１６１】
この（手法多数決）により、例えば、ＥＤＲコーパス（（株）日本電子化辞書研究所が研究目的のために有償で公開しているコーパス（文献：ＥＤＲ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｉｃｔｉｏｎａｒｙ  Ｖｅｒｓｉｏｎ  ＴｅｃｈｎｉｃａｌＧｕｉｄｅ，１９９５年発行））を解析すると、次の順序で品詞の優先順位が高いことが分かる。すなわち、助詞、名詞、語尾、動詞、記号、助動詞、接尾語、数字、副詞、形容動詞、形容詞、連体詞、接続詞、接頭語、感動詞。
【０１６２】
１−３）従来技術（ワード−タグモデル）
従来の辞書とタグの連鎖確率を用いた手法である。訓練データより辞書の品詞のｔｒｉｇｒａｍを構築する。ただし、未知語処理の機能を加えていないため、テストデータの中に訓練データにない単語が現れると解析不能になる場合がある。今回の実験では、解析不能を回避するために、クローズ（ｃｌｏｓｅ）実験のみを行った。
【０１６３】
２）訓練およびテストデータ
以下に、実験で用いたコーパスと実験条件の概略を期す。各コーパスごとの見出し（名前）は以下の実験で用いたコーパスを参照するために用いられる。
【０１６４】
２−１）ＥＤＲ
：品詞情報  １５個
訓練  ：ＥＤＲのコーパス約２０万文（１９７７４４文）
テスト：オープン（ｏｐｅｎ）；訓練データに含まれない１０００文
クローズ（ｃｌｏｅ）；訓練データにテスト用の１０００文を加える。
【０１６５】
２−２）ＡＤＤ
：品詞情報は活用形や活用型を入れた１２０種類のタグ
訓練  ：ＡＴＲ対話データベース（旅行、電話対話）８，８２１文（（株）  エイ・ティ・アール音声翻訳通信研究所が研究目的のために有償で  公開しているコーパス）（文献：ＡＴＲ対話データベースの内容．  ＡＴＲ  Ｔｅｃｈｎｉｃａｌ  ｒｅｐｏｒｔ，ＴＲ−Ｉ−０１８６，
１９９０年発行）（以下、ＡＤＤと称する。）
テスト：オープン；訓練データに含まれない５００文
クローズ；訓練データに上記のテスト用の５００文を加える。
【０１６６】
３）連鎖確率推定
上記タグ付きコーパスの訓練データから拡張文字列を生成し、拡張文字のｔｒｉｇｒａｍ（３−ｇｒａｍ）を求めた。また、この確率はｂｉｇｒａｍ（２−ｇｒａｍ），ｕｎｉｇｒａｍ（１−ｇｒａｍ）によってスムージングされている。
【０１６７】
４）評価尺度
以下の説明では、評価尺度として、正解に対する適合率（ｐｒｅｃｉｓｉｏｎ）と再現率（ｒｅｃａｌｌ）を用いる。それぞれの尺度は以下のように定義される。
【０１６８】
適合率：システムが出力した正解形態素数／システムが出力した形態素数
再現率：システムが出力した正解形態素数／テスト文の正解形態素数。
【０１６９】
５）実験結果
５−１）解析性能について
ａ：第１の実施の形態例（ＣＨＡＲ−ＢＯＵＮＤ）（単語分割性能）
この実験では、各種手法の単語分割に関する基本的な性能の違いを見るために、各種手法とコーパスを組み合わせた実験を行った。オープン（ｏｐｅｎ）実験とクローズ（ｃｌｏｓｅ）実験のそれぞれについて適合率と再現率を図１４に示す。
【０１７０】
今回の実験における従来法の実験では、未知語に対処する機構を入れることが出来なかった。このため、オープン（ｏｐｅｎ）の実験において辞書にない単語があると（ＥＤＲで１０００文中約７０個の単語）、従来法では解析不能となる場合があったため、クローズ（ｃｌｏｓｅ）の実験のみを行った。以下、この発明と従来法との比較はクローズ（ｃｌｏｓｅ）の実験結果で行う。
【０１７１】
図１４の単語分割の性能評価の結果は、上段が適合率（％）で、下段が再現率（％）である。この発明での適合率（％）は、ＡＤＤでは９９．７７でＥＤＲでは９７．８０であるのでＡＤＤの方がＥＤＲよりも良い。従来法での適合率（％）は、ＥＤＲの場合には９５．６５、ＡＤＤの場合には９９．５２であるので、いずれにしても適合率（％）はこの発明の方法の方が優れていることが分かる。一方、この発明での再現率（％）は、ＥＤＲでは９７．４４、ＡＤＤでは９９．６７であるのでＡＤＤの方が良い。従来法での再現率（％）は、ＥＤＲでは９１．７８、ＡＤＤでは９９．２７であるので、いずれにしてもこの発明の方法の方が優れていることが分かる。
【０１７２】
上述の結果から理解できるように、ＥＤＲにおける従来法では適合率および再現率ともに悪いが、これはＥＤＲコーパスに１５種類の品詞しかないため、品詞のｔｒｉｇｒａｍが十分な言語モデル能力を持たないためである。それは、ＡＤＤの１２０種類の品詞を用いると結果が改善されていることからも理解出来る。
【０１７３】
この発明の第１の実施の形態による手法では、ＥＤＲコーパスに関してはＡＤＤコーパスに比べて若干悪いが、比較的安定して良い結果を出している。これは品詞だけでなく文字とタグのペアの連鎖確率を使用していることに起因していると考えられる。
【０１７４】
なお、ＥＤＲコーパスの解析に対して視察した結果、誤りの大部分は、コーパス自体の揺れに起因していることが分かった。例えば、名詞連続などを細かく切るか、大まかに切るかがかなり揺れている。
【０１７５】
ｂ：第２の実施の形態例（ＣＨＡＲ−ＴＡＧ）（単語分割と品詞推定の性能）この実験では、各種手法の単語分割と品詞推定に関する基本的な性能の違いを見る実験を行った。その結果を図１５に品詞分割の性能評価として示す。この図において、上段が適合率（％）であり、下段が再現率（％）である。なお、第２の実施の形態例の単語分割の性能評価は図１４に示してある。
【０１７６】
図１４に示した単語分割の結果では、適合率（％）は、ＥＤＲでは９８．２５、ＡＤＤでは９９．９７であり、また、再現率（％）は、ＥＤＲでは９７．８８、ＡＤＤでは９９．８２である。これに対し、図１５に示した品詞分割の性能評価の結果では、適合率（％）は、ＥＤＲでは９７．４２、ＡＤＤでは９９．７７であり、また、再現率（％）は、ＥＤＲでは９７．０６、ＡＤＤでは９９．６１である。また、従来手法による品詞分割の性能評価結果によれば、適合率（％）は、ＥＤＲでは９２．５５、ＡＤＤでは９７．８２であり、また、再現率（％）は、ＥＤＲでは８８．８０、ＡＤＤでは９７．５２である。
【０１７７】
これらの結果から、単語分割と比べると、拡張文字を使用する方法は、適合率および再現率がおおよそ１〜２％程度低下していることが分かる。
【０１７８】
これに対し、従来法では、適合率および再現率が２〜３％程度低下している。オープン（ｏｐｅｎ）実験では、さらに３％程度低下している。
【０１７９】
従来法では辞書を使うので、（未知語がなければ）単語分割に関してはかなり強力ではあるが、品詞の推定に関しては、拡張文字を使うこの発明の手法の方がロバスト性に優れていると言える。言い換えれば、従来法では、単語に直接関係ある確率は、かなり大きなコーパスを用いても正確に推定するのが困難であると言える。
【０１８０】
５−２）解析速度について
図１６に各手法における解析速度の結果を示す。この実験では、ＥＤＲテスト文（１０００文，３８６０１文字）の解析にかかった時間すなわち実行時間を示してある。第１および第２の実施の形態におけるそれぞれの手法で解析した場合、ＥＤＲでは、それぞれ、３秒および６６５秒であった。この結果から、品詞推定を行うと著しく遅くなるが、単語分割のみでは極めて高速であることが分かる。
【０１８１】
なお、実験に使用した計算機の性能は、Ｓｕｎ  Ｕｌｔｒａ−１１４０ＭＨｚ，ＯＳ：Ｓｏｌａｒｉｓ２．５，メインメモリ：９６Ｍバイト，ハードディスク：３Ｇバイトである。
【０１８２】
【発明の効果】
上述した説明からも明らかなように、この発明の日本語形態素解析方法および装置によれば、下記の効果を奏することができる。すなわち、
ａ）この発明では、単語辞書を用いることを前提とする単語をベースとした確率計算ではなく、単語辞書を用いることを前提としない文字をベースとした確率計算を行う。文字の長さは、１文において一定であるため、分割数が少ない形態素列（各形態素列は長い）が優先されるということがない。従って、従来方法に比べて、高精度で語分割を行うことが可能となる（上記５−１）ａ参照）。
【０１８３】
ｂ）この発明では、文字Ｎ−ｇｒａｍが辞書情報をもっていると考えられるので、辞書を必要としない。このため、辞書作成のための煩雑な作業を省略出来る。例えば、「いとしい／人」という文が訓練データに存在する場合、
＜＃，１＞＜＃，１＞＜い，０＞＜と，０＞＜し，０＞＜い，１＞＜人，１＞＜＃，１＞＜＃，１＞
という拡張文字テーブルができ、３文字づつとって（３−ｇｒａｍ），その語分割情報を見ると、
＜＃，１＞＜＃，１＞＜い，０＞    ←→    い
＜＃，１＞＜い，０＞＜と，０＞    ←→    いと
＜い，０＞＜と，０＞＜し，０＞    ←→    いとし
＜と，０＞＜し，０＞＜い，１＞    ←→    いとしい／
＜し，０＞＜い，１＞＜人，１＞    ←→    いとしい／人／
＜い，１＞＜人，１＞＜＃，１＞    ←→    いとしい／人／＃
＜人，１＞＜＃，１＞＜＃，１＞
というように、「いとしい」と「人」と言う単語を正確に取り出すことが出来る（これは、２−ｇｒａｍでも１−ｇｒａｍでも同様にして、単語取り出しが出来る。）。
【０１８４】
また、同時に連鎖確率を計算することによって、「いとしい人」がこの２つの形態素に分割される場合の「よさ」を評価出来る。
【０１８５】
ｃ）この発明では、拡張文字の連鎖確率を求めて最適な単語列の並びを決定している。この拡張文字の連鎖確率が日本語の単語の一般的な単語モデルをもっているため、辞書を利用する従来方法に比べて未知語に対する形態素解析が精度良く行える。
【０１８６】
ｄ）さらに、この発明では辞書を必要としないので、品詞等のタグ情報を利用しなくても、語分割の情報のみで解析出来るという利点がある。この場合、極めて高速かつ省資源の処理を行える。
【０１８７】
ｅ）さらに、拡張情報として、単語区切り情報の他にタグ情報を付加する場合には、上述のａ）〜ｄ）に加えて、語分割だけでなく品詞推定も従来に比べて高精度および高速で行うことが出来る（上記５−１）ｂ参照）。例えば、従来法では、候補としての単語列・品詞列のよさを推定するために品詞の連鎖確率を用いている。しかし、品詞の数はそれほど多くなく、また、タグ付きコーパスに付与してある品詞しか使えないため、単語列の連鎖のよさの表現（評価）能力に限界がある。もし、品詞の数を極端に多くすると、よりきめ細かく単語列のよさの評価ができるが、そのようなコーパスを開発することは至難である。これに比べて、この発明の手法では、品詞と文字のペアの連鎖を使用するので、たとえコーパス中に付与してある品詞の数が少なくても、文字の情報を援用した連鎖で単語列をモデル化するので、はるかにきめ細かく（各文字ごとの品詞の出現回数を考慮した）単語列のよさを評価できる。このため、文字列の分割である単語列候補と、その単語列に付与される品詞列候補を、使われている文字の傾向まで考慮に入れた比較が、可能となる。
【０１８８】
ｆ）さらに、拡張情報として、タグ情報の他、任意の情報（例えば「読み」の情報や「活用」の情報）を付加することにより、上述のａ）〜ｄ）に加えて、これらに関する解析結果を得ることが出来る。
【０１８９】
上述した効果は、日本語以外の言語、特に韓国語、中国語、タイ語等の、日本語と同様に単語区切りが無い書法を持つ言語に対しても、得られると期待される。
【図面の簡単な説明】
【図１】この発明の形態素解析方法および装置の説明に供する、装置構成の一例のブロック図である。
【図２】この発明の形態素解析方法を実行する処理の基本的流れ図である。
【図３】実施の形態例の処理の流れ図である。
【図４】バッファメモリに格納されるデータの内容を説明するための、バッファの内容を示す図であり、（Ａ）は第１の実施の形態例におけるバッファの内容、（Ｂ）は第２の実施の形態例におけるバッファの内容である。
【図５】拡張文字列生成の流れ図である。
【図６】連鎖確率を計算する処理の流れ図である。
【図７】第１の実施の形態例におけるスコアテーブルの説明図であり、（Ａ）は第１の実施の形態例におけるスコアテーブルの一例を示す図、（Ｂ）はそのスコアテーブルの内容の一例を示す図である。
【図８】第１の実施の形態例における、参照される拡張文字テーブルの説明図であり、（Ａ）は第１の実施の形態例における拡張文字テーブルの一例を示す図、（Ｂ）はその拡張文字テーブルの内容の一例を示す図である。
【図９】第１の実施の形態例における、処理Ｓ４の終了後のスコアテーブルの内容を説明するための図である。
【図１０】第２の実施の形態例におけるスコアテーブルの説明図であり、（Ａ）は第２の実施の形態例におけるスコアテーブルの一例を示す図、（Ｂ）はそのスコアテーブルの内容の一例を示す図である。
【図１１】第２の実施の形態例における、参照される拡張文字テーブルの説明図であり、（Ａ）は第２の実施の形態例における拡張文字テーブルの一例を示す図、（Ｂ）はその拡張文字テーブルの内容の一例を示す図である。
【図１２】第２の実施の形態例における、処理Ｓ４の終了後のスコアテーブルの内容を説明するための図である。
【図１３】最大連鎖確率の出力の処理の流れ図である。
【図１４】この発明の形態素解析方法および装置の単語分割の性能評価を示す図である。
【図１５】この発明の形態素解析方法および装置の品詞分割の性能評価を示す図である。
【図１６】この発明の形態素解析処理の実行時間を説明するための図である。
【符号の説明】
１０：入出力装置        ２０：処理装置
２２：拡張文字列生成部  ２４：連鎖確率計算部
２６：最適経路探索部    ３０：記憶装置
３２：拡張文字テーブル  ３４：スコアテーブル
４０：ワークエリア      ４２：カウンタ
４４バッファメモリ      ５０：第２メモリ領域
５２：拡張文字列格納部  ５４：部分連鎖確率格納部
６０，８０：拡張文字格納部
６２，８２：文字格納部
６４，８４：拡張情報格納部
７０：第１メモリ領域（経路格納部）
７２：第３メモリ領域（スコア格納部）
９０：第４メモリ領域
９２：計算段
【図１】
0003992348.tif 000006
【図２】
0003992348.tif 000007
【図３】
0003992348.tif 000008
【図４】
0003992348.tif 000009
【図５】
0003992348.tif 000010
【図６】
0003992348.tif 000011
【図７】
0003992348.tif 000012
【図８】
0003992348.tif 000013
【図９】
0003992348.tif 000014
【図１０】
0003992348.tif 000015
【図１１】
0003992348.tif 000016
【図１２】
0003992348.tif 000017
【図１３】
0003992348.tif 000018
【図１４】
0003992348.tif 000019
【図１５】
0003992348.tif 000020
【図１６】
0003992348.tif 000021