(57)【特許請求の範囲】
【請求項１】
日本語の学習テキストを単語に分割する日本語形態素解析方法であって、
初期パラメタ推定手段が、学習テキスト及び単語辞書から言語モデルの初期値を求め、単語出現頻度と、文字出現頻度と、平均単語長または単語長確率分布とをパラメタとして単語の出現確率を与える言語モデルを格納する言語パラメタ格納手段に格納する初期パラメタ推定ステップと、
形態素解析手段が、言語モデルが与える単語出現確率に基づいて、入力文に対して同時確率が最大となる単語列を動的計画法を用いて求める形態素解析ステップと、
パラメタ推定手段が、前記学習テキストの形態素解析結果から前記言語モデルのパラメタを求め、前記言語パラメタ格納手段に格納するパラメタ推定ステップと、
前記学習テキストと前記単語辞書から言語モデルのパラメタの初期値を前記初期パラメタ推定ステップにより求めた後に、
前記形態素解析ステップにおいて前記パラメタ推定ステップにより直前に求められた言語モデルに基づいて前記学習テキストの形態素解析を行い、該パラメタ推定ステップにおいて当該形態素解析結果から次の言語モデルのパラメタを求めるという反復改善法の手順を繰り返すことにより言語モデルのパラメタを決定する繰り返しステップと、
を行い、
前記初期パラメタ推定ステップでは、
前記単語辞書中の単語表記と同じ文字列が、前記学習テキスト中に出現する文字列頻度を単語の出現頻度の初期値とする初期単語出現頻度推定ステップと、
前記学習テキスト中の文字出現頻度を求める文字出現頻度推定ステップと、
前記単語表記と前記出現頻度から単語長の確率分布を求める、または、単語の文字列長と単語出現頻度から平均単語長を求める単語長確率推定ステップと、
前記初期単語出現頻度推定ステップ、前記文字出現頻度推定ステップ、及び前記単語長確率推定ステップで求められたパラメタを用いて、言語モデルのパラメタの初期値を求めるステップを行い、
前記パラメタ推定ステップでは、
前記学習テキストの形態素解析結果から単語の出現頻度を求める単語出現頻度推定ステップと、
前記単語出現頻度推定ステップで求められた、前記単語の出現頻度と、前記単語長確率推定ステップで求められた前記単語長の確率分布、または、前記平均単語長から言語モデルのパラメタを求めるステップと、を行う、
ことを特徴とする日本語形態素解析方法。
【請求項２】
日本語の形態素解析を行う日本語形態素解析装置であって、
単語出現頻度と、文字出現頻度と、単語長確率分布または該単語長確率分布を決定する平均単語長とをパラメタとして単語の出現確率を与える言語モデルを格納する言語パラメタ格納手段と、
単語辞書中の単語の表記と同じ文字列が学習テキスト中に出現する頻度の単語を出現頻度の初期値として求める初期単語出現頻度推定手段と、
前記学習テキスト中の文字出現頻度を求める文字出現頻度推定手段と、
単語の表記と出現頻度から単語長の確率分布を求める、または、単語の文字列長と単語出現頻度から平均単語長を求める単語長確率推定手段と、
前記初期単語出現頻度推定手段と前記文字出現頻度推定手段と前記単語長確率推定手段とから言語モデルのパラメタの初期値を求める初期パラメタ推定手段と、
前記言語モデルが与える単語出現確率に基づいて、入力文に対して同時確率が最大となる単語列を動的計画法を用いて求める処理を行う形態素解析手段と、
前記学習テキストの形態素解析結果から単語の出現頻度を求める単語出現頻度推定手段と、
前記単語出現頻度推定手段と前記単語長確率推定手段から言語モデルのパラメタを求める処理を行うパラメタ推定手段と、
前記形態素解析手段の処理及び前記パラメタ推定手段の処理を言語モデルのパラメタが収束するまで繰り返す繰り返し手段と、を備え、
前記学習テキストと前記単語辞書から言語モデルのパラメタの初期値を前記初期パラメタ推定手段により求め、前記形態素解析手段において前記パラメタ推定手段により直前に求められた言語モデルに基づいて前記学習テキストの形態素解析を行い、該パラメタ推定手段において当該形態素解析結果から次の言語モデルのパラメタを求めるという反復改善法の手順を繰り返すことにより言語モデルのパラメタを決定することを特徴とする日本語形態素解析装置。
【請求項３】
前記形態素解析手段は、
前記学習テキストの文のある位置から始まる全ての部分文字列から単語候補を生成し、単語表記と照合し、照合した場合は該単語表記に対応する出現頻度から出現確率を求め、照合しなかった場合は、前記部分文字列が単語を構成すると仮定した単語出現確率を、前記文字出現頻度推定手段で求めた前記文字出現頻度及び前記単語長確率推定手段で求めた単語長確率を用いて求める手段を有する請求項２記載の日本語形態素解析装置。
【請求項４】
コンピュータを、
請求項２または３記載の日本語形態素解析装置として機能させるプログラムを格納したことを特徴とする日本語形態素解析プログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、日本語形態素解析方法及び装置及び日本語形態素解析プログラムを格納した記憶媒体に係り、特に、分かち書きされていない通常の日本語学習テキスト及び単語辞書から反復改善法を用いた統計的な学習法によって言語モデルを求めることにより、日本語文を単語に分割する日本語形態素解析方法及び装置及び日本語形態素解析プログラムを格納した記憶媒体に関する。
【０００２】
【従来の技術】
従来の日本語形態素解析技術は、文法規則と発見的優先規則に基づく方法（最長一致法や最小文節数法）、及び品詞接続コストと動的計画法に基づく方法（接続コスト最小法）が主流である。前者は文法規則として品詞接続表を用い、形態素解析候補の探索の際には、最長一致や最小文節数などの発見的優先規則（heuristics) を用いて候補の順序付けを行う。しかし、発見的優先規則に基づく方式は、形態素解析候補に与える優先順位の根拠が不明確であり、計算量は少ないが解析精度が低いという問題がある。
【０００３】
これに対して後者の方法は、接続コストを適切に設定することにより、解析精度の向上が可能である。しかし、接続コストを設定するための方法論が存在せず、実用的な解析精度を得るためには、試行錯誤によりコストを設定する以外に方法がないので、新しい対象領域への適応能力や保守性に問題がある。
近年では、これらの従来の技術に変わって、統計的言語モデルと動的計画法に基づく方法が主流になりつつある。この方法では、大量の学習テキストデータから学習した統計的な言語モデルを用いることにより、形態素解析候補の優先度の理論的根拠が明確になり、かつ、候補の詳細な順序付けができるようになった。また、動的計画法により、入力文の長さに比例する計算量で効率的に最尤な形態素解析候補を求められる。特に、前向きＤＰ後ろ向きＡ* アルゴリズムを用いれば、確率が高い順番に任意の個数の形態素候補を求めることができる（永田「前向きＤＰ後ろ向きＡ* アルゴリズムを用いた確率的日本語形態素解析」情報処理学会研究報告94-NL-101-10,pp.73-80,1994）。
【０００４】
【発明が解決しようとする課題】
しかしながら、日本語形態素解析において統計的言語モデルを用いる場合、従来の手法では、学習データとして予め人手により単語分割が行われた学習テキストを用意する必要がある。なぜならば、英語には単語と単語の間に空白を挿入する「分かち書き」の習慣があるが、日本語は「べた書き」されるので明示的な単語境界が存在しないためである。
【０００５】
大量の学習テキストを人手により単語分割する作業には大きな労力と費用が必要である。そこで、この単語分割作業を自動化したいという要望がある。しかし、そこには以下のような問題がある。
一般に、大量の学習テキストの単語分割作業を自動的に行うためには、高精度の形態素解析プログラムが必要である。ところが、高精度の形態素解析プログラムを作成するためには、大量の単語分割された学習テキストが必要である。即ち、単語分割された学習テキストと形態素解析プログラムは、一方を作成するためには他方が必要という「卵と鶏」の関係にあり、どうしても最初は人手で単語分割を行わざるを得ない。
【０００６】
本発明は、上記の点に鑑みなされたもので、統計的言語モデルの学習用データを作成するために、大量の学習テキストを人手により単語分割する必要がなく、学習テキストと単語辞書から言語モデルのパラメタを自動的に学習することが可能な日本語形態素解析方法及び装置及び日本語形態素解析プログラムを格納した記憶媒体を提供することを目的とする。
【０００７】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
本発明は、日本語の学習テキストを単語に分割する日本語形態素解析方法であって、
初期パラメタ推定手段が、学習テキスト及び単語辞書から言語モデルの初期値を求め、単語出現頻度と、文字出現頻度と、平均単語長または単語長確率分布とをパラメタとして単語の出現確率を与える言語モデルを格納する言語パラメタ格納手段に格納する初期パラメタ推定ステップ（ステップ１）と、
形態素解析手段が、言語モデルが与える単語出現確率に基づいて、入力文に対して同時確率が最大となる単語列を動的計画法を用いて求める形態素解析ステップ（ステップ２）と、
パラメタ推定手段が、学習テキストの形態素解析結果から言語モデルのパラメタを求め、言語パラメタ格納手段に格納するパラメタ推定ステップ（ステップ３）と、
学習テキストと単語辞書から言語モデルのパラメタの初期値を初期パラメタ推定ステップにより求めた後に、
形態素解析ステップ（ステップ２）においてパラメタ推定ステップにより直前に求められた言語モデルに基づいて学習テキストの形態素解析を行い、該パラメタ推定ステップ（ステップ３）において当該形態素解析結果から次の言語モデルのパラメタを求めるという反復改善法の手順を繰り返すことにより言語モデルのパラメタを決定する繰り返しステップ（ステップ４）と、を行い、
初期パラメタ推定ステップ（ステップ１）では、
単語辞書中の単語表記と同じ文字列が、学習テキスト中に出現する文字列頻度を単語の出現頻度の初期値とする初期単語出現頻度推定ステップと、
学習テキスト中の文字出現頻度を求める文字出現頻度推定ステップと、
単語表記と出現頻度から単語長の確率分布を求める、または、単語の文字列長と単語出現頻度から平均単語長を求める単語長確率推定ステップと、
前記初期単語出現頻度推定ステップ、前記文字出現頻度推定ステップ、及び前記単語長確率推定ステップで求められたパラメタを用いて、言語モデルのパラメタの初期値を求めるステップを行い、
パラメタ推定ステップ（ステップ３）では、
学習テキストの形態素解析結果から単語の出現頻度を求める単語出現頻度推定ステップと、
単語出現頻度推定ステップで求められた単語の出現頻度と、単語長確率推定ステップで求められた単語長の確率分布から言語モデルのパラメタを求めるステップと、を行い、
学習テキストと単語辞書から言語モデルのパラメタの初期値を初期パラメタ推定ステップにより求め、形態素解析ステップにおいてパラメタ推定ステップにより直前に求められた言語モデルに基づいて学習テキストの形態素解析を行い、該パラメタ推定ステップにおいて当該形態素解析結果から次の言語モデルのパラメタを求めるという反復改善法の手順を繰り返すことにより言語モデルのパラメタを決定する。
【０００８】
図２は、本発明の原理構成図である。
本発明は、日本語の形態素解析を行う日本語形態素解析装置であって、
単語出現頻度と、文字出現頻度と、平均単語長または単語長確率分布とをパラメタとして単語の出現確率を与える言語モデルを格納する言語パラメタ格納手段９０と、
単語辞書５中の単語の表記と同じ文字列が学習テキスト１中に出現する頻度の単語を出現頻度の初期値として求める初期単語出現頻度推定手段６と、
学習テキスト１中の文字出現頻度を求める文字出現頻度推定手段７と、
単語の表記と出現頻度から単語長の確率分布、または、単語の文字列長と単語出現頻度から平均単語長を求める、または、単語の文字列長と単語出現頻度から平均単語長を求める単語長確率推定手段１３と、
初期単語出現頻度推定手段６と文字出現頻度推定手段７と単語長確率推定手段１３とから言語モデルのパラメタの初期値を求める初期パラメタ推定手段６０と、
言語モデルが与える単語出現確率に基づいて、入力文に対して同時確率が最大となる単語列を動的計画法を用いて求める処理を行う形態素解析手段２と、
学習テキストの形態素解析結果から単語の出現頻度を求める単語出現頻度推定手段１０と、
単語出現頻度推定手段１０と単語長確率推定手段１３から言語モデルのパラメタを求める処理を行うパラメタ推定手段１００と、
形態素解析手段２の処理及びパラメタ推定手段１００の処理を言語モデルのパラメタが収束するまで繰り返す繰り返し手段と、を備え、
学習テキスト１と単語辞書５から言語モデルのパラメタの初期値を初期パラメタ推定手段６０により求め、形態素解析手段２においてパラメタ推定手段１００により直前に求められた言語モデルに基づいて、学習テキストの形態素解析を行い、パラメタ推定手段１００において当該形態素解析結果から次の言語モデルのパラメタを求めるという反復改善法の手順を繰り返すことにより言語モデルのパラメタを決定する。
【００１０】
また、上記の形態素解析手段２は、
学習テキスト１の文のある位置から始まる全ての部分文字列から単語候補を生成し、単語表記と照合し、照合した場合は該単語表記に対応する出現頻度から出現確率を求め、照合しなかった場合は、部分文字列が単語を構成すると仮定した単語出現確率を、文字出現頻度推定手段７で求めた文字出現頻度及び単語長確率推定手段１３で求めた単語長確率を用いて求める手段を有する。
【００１１】
本発明は、コンピュータを、請求項２または３記載の日本語形態素解析装置として機能させるプログラムを格納した記憶媒体である。
【００１２】
上記のように、本発明は、単語の出現確率を与える言語モデル、学習テキスト及び単語辞書から言語モデルのパラメタの初期値を推定し、入力文に対して同時確率が最大となる単語列を求め、学習テキストの形態素解析結果から言語モデルのパラメタを推定することにより、テキストを人手により単語分割する必要がなく、学習テキストと単語辞書から言語モデルのパラメタを自動的に学習することができる。
【００１３】
【発明の実施の形態】
図３は、本発明の形態素解析装置のモジュール図である。
同図に示す形態素解析装置は、学習テキスト１、形態素解析部２、形態素列テーブル３、初期単語候補生成部４、単語辞書５、初期単語出現頻度推定部６、文字出現頻度推定部７、単語候補生成部８、単語出現頻度テーブル９、単語出現頻度推定部１０、文字出現頻度テーブル１１、単語長確率テーブル１２、単語長確率推定部１３より構成される。なお、単語出現頻度テーブル９、文字出現頻度テーブル１１、単語長確率テーブル１２が言語モデルに対応している。
【００１４】
初期単語候補生成部４は、学習テキスト１中の文字種の変化点に基づいて単語辞書５に収録されていない単語候補を求める。
初期単語出現頻度推定部６は、初期単語候補生成部４が求めた単語候補及び単語辞書５中の単語の出現頻度の初期値を、学習テキストにおける単語表記の文字列頻度に基づいて推定し、単語出現頻度テーブル９に格納する。
【００１５】
文字出現頻度推定部７は、学習テキスト１中の文字の出現頻度を求め、文字出現頻度テーブル１１に格納する。
単語長確率推定部１３は、単語出現頻度テーブル９に格納された単語の表記と頻度から単語長の確率分布を求め、単語長確率テーブル１２に格納する。
形態素解析部２は、入力文の文頭から文末へ一文字ずつ進む動的計画法を用いて、単語列の同時確率の積を最大化するような入力文の単語分割を求める。学習テキスト１の形態素解析結果は、形態素列テーブル３に格納される。
【００１６】
単語候補生成部８は、形態素解析において、入力文のある文字位置から始まる全ての部分文字列から単語候補を生成し、その出現確率を求める。単語候補生成部８は、まず、部分文字列を単語出現頻度テーブル９の単語表記と照合する。もし、照合した場合、その出現頻度から出現確率を求める。照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を、文字出現頻度テーブル１１及び単語長確率テーブル１２の値から求める。
【００１７】
単語出現頻度推定部１０は、形態素列テーブル３に格納されている単語分割された学習テキスト１の単語の出現頻度を求め、単語出現頻度テーブル９に格納する。
【００１８】
【実施例】
以下、本発明の実施例を図面と共に説明する。
以下では、言語モデル、形態素解析、初期パラメタ推定、パラメタ再推定の順に説明する。
［言語モデル］
文字列Ｃ＝ｃ1 ，ｃ2 ，…，ｃm から構成される入力文が、単語列Ｗ＝ｗ1 ，ｗ2 ，…，ｗn に分割されるとする。形態素解析は、文字列が与えられた時の単語列の同時確率Ｐ（Ｗ｜Ｃ）を最大化する単語列Ｗを求める問題である。文字列Ｃは、すべての形態素解析候補に共通なので、実際には、Ｐ（Ｗ）を最大化するものを求めればよい。
【００１９】
【数１】
0003915167.tif 000002
【００２０】
本発明では、文を構成する各単語の出現を独立事象と考え、次式のように同時確率Ｐ（Ｗ）を単語出現確率Ｐ（ｗi ）の積で近似する。
【００２１】
【数２】
0003915167.tif 000003
【００２２】
単語辞書５に登録されている単語ｗi の出現確率は、学習テキストにおけるｗi の頻度を学習テキスト１の単語総数で割った値から求める。
【００２３】
【数３】
0003915167.tif 000004
【００２４】
ここで、Ｃ（・）は、対応する事象の学習テキスト１における頻度を表す。
単語辞書５に登録されている単語ｗi の出現確率は、単語ｗi の表記が文字列ｃ1 ，…，ｃk であるとするとき、未知語の出現確率Ｐ（<UNK>)とその表記文字列を持つ未知語が出現するという条件付き確率Ｐ（ｃ1 …ｃk ｜Ｐ（<UNK>)）  の積から求める。
【００２５】
【数４】
0003915167.tif 000005
【００２６】
未知語の出現確率Ｐ（<UNK>)は、“Good-Turing ”法に基づき、学習テキスト１において１回しか出現しなかった単語の総数を学習テキストの単語の総数で割ることにより求める。
条件付き確率Ｐ（ｃ1 ，…，ｃk ｜Ｐ（<UNK>)）は、次式のような単語長確率Ｐ（ｋ）と単語表記確率Ｐ（ｃ1 ，…，ｃk ｜Ｐ（<UNK>)）の積で近似する。
【００２７】
【数５】
0003915167.tif 000006
【００２８】
本発明では、未知語の単語長の分布Ｐ（ｋ）が学習テキスト中の単語の平均文字長λをパラメタとするポワソン分布に従うと仮定する。
【００２９】
【数６】
0003915167.tif 000007
【００３０】
上記の式は、隠れた（長さゼロの）単語境界標識の間の距離を単語の長さと考え、この単語境界標識が平均的には、平均単語長と等しい間隔で無作為に文中に置かれるものとみなしている。
次に、未知語の単語表記の確率Ｐ（ｃ1 …ｃk ）は、以下のように、学習テキスト中の文字出現確率の積で近似する。
【００３１】
【数７】
0003915167.tif 000008
【００３２】
以上のように、与えられた文字列が単語辞書５中の単語に照合する場合には、式（３）、照合しない場合には式（４）を用いることによって、本発明の言語モデルは、任意の単語候補の出現確率の推定値を求めることができる。
［形態素解析］
入力文に対して、同時確率Ｐ（Ｗ）を最大にする単語列を求める手段を示す。入力文の長さをｍの文字列Ｃ＝ｃ1 ｃ2 …ｃm とし、部分文字列ｃp+1 …ｃq を
【００３３】
【数８】
0003915167.tif 000009
【００３４】
で表す。
まず、任意の部分文字列
【００３５】
【数９】
0003915167.tif 000010
【００３６】
を単語候補の集合｛ｗi ｝に写像する関数Ｄを定義する。関数Ｄは単語辞書５を一般化したものであり、任意の文字列に対して言語モデルを用いて、その文字列が単語であると仮定した場合の出現確率を求める。
次に、文頭からある文字位置ｑまでの部分文字列
【００３７】
【数１０】
0003915167.tif 000011
【００３８】
の単語分割において、最後の単語ｗi の表記が部分文字列
【００３９】
【数１１】
0003915167.tif 000012
【００４０】
であるような単語分割の中で最も確率が大きいものの確率（最適経路確率）
【００４１】
【数１２】
0003915167.tif 000013
【００４２】
を定義する。
最適経路確率
【００４３】
【数１３】
0003915167.tif 000014
【００４４】
は、文字位置ｑを文頭から文末へ１文字ずつ進め、各文字位置ｑで次式の計算を行うことにより求めることができる。
【００４５】
【数１４】
0003915167.tif 000015
【００４６】
式（８）は、各文字位置ｑにおいて、位置ｑで終わる単語（開始点ｐが０≦ｐ＜ｑ）と、位置ｑで始まる単語（終了点ｒがｑ＜ｒ≦ｍ）の組合せにより新しい単語分割パターンを作成し、その単語分割の確率を位置ｑで終わる単語の最適経路確率と位置ｑから始まる単語の出現確率の積から求め、最後の単語が同じ単語分割パターンの中で確率が最大なものを選択することを意味する。
【００４７】
この式（８）の計算は、図４に示すフローチャートにより表すことができる。図４は、本発明の一実施例の動的計画法を用いた形態素解析手順を示すフローチャートである。なお、この手順の中では、最適経路確率及びその確率を持つ単語分割パターン（部分解析）を格納するために最適経路テーブルを使用する。最適経路テーブルには、最初に、文頭を表す特殊な部分解析を登録しておく。
【００４８】
形態素解析は、入力文の先頭から始まり、文末方向へ一文字ずつ進む。
ステップ１０１）  探索の開始位置を入力文の先頭に設定する。
ステップ１０２）  探索が文末に達したかを判断する。もし、文末に達していれば、前向き探索を終了する。そうでなけば、以下の処理を各文字位置で行う。
ステップ１０３）  現在の文字位置に到達するすべての部分解析を最適経路テーブルから検索し、その中の一つの現在の部分解析として選ぶ。
【００４９】
ステップ１０４）  全ての部分解析を調べたかを判定する。もしそうならば、ステップ１１２において探索を次の文字位置に進める。そうでなければ、以下の処理を各部分解析について行う。
ステップ１０５）  現在の文字位置から始まる部分文字列と照合する全ての単語候補を検索し、その中の一つを現在の単語として選ぶ。
【００５０】
ステップ１０６）  全ての単語を調べたかを判定する。もしそうであれば、ステップ１１１において次の部分解析を選択する。そうでなければ、以下の処理を各単語について行う。
ステップ１０７）  現在の部分解析と現在の単語から新しい部分解析を作成し、現在の部分解析の確率と現在の単語の出現確率の積から新しい部分解析の確率と現在の単語の出現確率の積から新し部分解析の確率を求める。
【００５１】
ステップ１０８）  新しい部分解析の最後の単語と同じ単語を最後の単語として持つ部分が最適経路テーブルに既に登録されているかどうかを調べる。もし、登録されていれば、新しい部分解析の確率の値が以前に登録された部分解析の確率の値より大きいかどうかを調べる。もし大きければ、ステップ１０９に移行する。もし大きくなれば、そのままステップ１１０に移行する。
【００５２】
ステップ１０９）  以前の部分解析を最適経路テーブルから削除し、新しい部分解析を登録し、ステップ１１０に移行する。
ステップ１１０）  次の単語を選択し、ステップ１０６に移行する。
ステップ１１１）  次の部分解析を選択し、ステップ１０４に移行する。
ステップ１１２）  探索を次の文字位置に進め、ステップ１０２に移行する。
【００５３】
［初期パラメタ推定］
学習テキスト１と単語辞書５から言語モデルの初期値を求める手順、及び学習テキスト１から単語辞書５に収録されている単語以外の初期単語候補を収集する手順を説明する。
本発明の言語モデルのパラメタは、単語の出現頻度、文字の出現頻度、平均単語長である。文字の出現頻度は、各文字が学習テキスト中に出現した回数を求めればよい。また、平均単語長については、もし学習テキスト中の単語の出現頻度が分かっていれば、次の式により求めることができる。
【００５４】
【数１５】
0003915167.tif 000016
【００５５】
ここで、λは、平均単語長であり、｜ｗi ｜とＣ（ｗi ）は、それぞれ単語ｗi の文字列長と出現頻度を表す。従って、初期パラメタ推定では単語の出現頻度を求めることが最大の課題になる。
本発明では、初期単語出現頻度推定部６が、ある単語の表記を構成する文字列がそれが本当にその単語の出現であるかどうかには関係なく、その学習テキスト中に出現する回数に基づいて単語の頻度の初期値を推定する。
【００５６】
ここでは、ある文字列ＷがテキストＴに出現した回数を文字列頻度と呼ぶことにする。文字列頻度は、Ｔのすべての接尾辞をソートしたリストである接尾辞配列(suffix array)と呼ばれるデータ構造を用いれば、簡単かつ効率的に求めることができる(Manber and Myers, "Suffix Arrays: A New Method for On-Line String Searches", SIAM Jorunal of computing, Vol.22.No.5,pp.935-948)。
【００５７】
しかし、単純な文字列頻度では、重複してカウントされるため、短い単語の頻度の推定値が非常に大きくなってしまう。例えば、助詞「の」の文字列頻度には、「おの」「のこぎり」「もの」というような単語の中に含まれる「の」という文字の頻度も含まれる。
そこで、本発明では、以下に定義する「最長一致文字列頻度」を単語の出現頻度の初期値とする。最長一致文字列頻度とは、テキストＴにおける文字列Ｗが出現の中で、それが単語辞書５中の他の単語の表記文字列Ｗ’の出現の部分文字列でないような場合の数である。また、単語出現頻度から単語出現確率を求める際に必要な単語総数は、各単語の最長一致文字列頻度の総和と定義する。
【００５８】
例として、入力文が
『彼女は語学と言語学に興味があり英語学会と言語学会に入っていると言った。』
であり、単語辞書５に「言語学会」「言語学」「言語」「語学」「言」（言うの語幹）が登録されている場合の文字列頻度と最長一致文字列頻度を図５に示す。
【００５９】
図５において、点線の矢印で示されている部分文字列は、文字列頻度でカウントされるが、最長一致文字列頻度ではカウントされないものを表す。最長一致文字列頻度を用いれば、短い単語の重複カウントするという文字列頻度の問題点が改善されることがわかる。
例えば、「言語学会」という文字列において、「言語」「語学」「学」の３つの文字列は、「言語学」というより長い文字列の部分文字列になっているので、最長一致文字列頻度ではカウントされない。これに対して「言語学」と「学会」は、重複する部分があるが、一方が他方の部分文字列にはなっていないので、最長一致文字列頻度ではどちらもカウントされる。
【００６０】
次に、学習テキスト１から単語辞書５に収録されていない単語候補を収集する手順について説明する。
一般に、予め用意した単語辞書５が学習テキストに出現する全ての単語を網羅することは期待できない。そこで、本発明では、文字種の変化点を単語境界とみなし、学習テキストに出現した、ひらがなを除く同一文字種の文字列を初期単語候補として収集、単語辞書５に加える。
【００６１】
現代の日本語には、句読点などの記号を除くと、漢字、ひらがな、カタカナ、アルファベット・アラビア数字など少なくとも５つの文字種が存在する。漢字は、中国由来の外来語、カタカナは欧米由来の外国語、アルファベットは欧米由来の略語、アラビア数字は数詞を表すことが多い。これに対してひらがなは、助詞・助動詞などの文法的機能語を表す場合が多い。機能語は既に単語辞書５に収録されている可能性が高いのに対して、内用語は対象領域毎に異なるので、単語辞書５に収録されていない可能性が高い。これが、ひらがなを除く同一文字列を初期単語候補とする理由である。
【００６２】
例えば、図５に示す
『彼女は語学と言語学に興味があり英語学会と言語学会に入っていると言った。』
という文では、字種変化に基づいて、
「彼女」「語学」「言語学」「興味」「英語学会」「言語学会」「入」「言」
が初期単語候補として抽出される。この中で、もし「英語学会」と「言語学会」が予め用意した単語辞書の中に存在しなければ、これらの２つの単語が初期単語候補として単語辞書５に加えられる。
【００６３】
なお、最長一致文字列頻度は、単語辞書５に収録された単語だけから求め、こうして得られた初期単語候補は考慮しない。しかし、初期単語候補が単語辞書５に加えられることにより、単語総数が増加するので、単語出現率は変化する。
また、単に同一字種の文字列を収集しただけでは、単語として不適切な文字列がたくさん単語辞書５に登録されてしまう。しかし、後述するように、これらの不適切な単語候補はパラメタの再推定の過程で削除される。
【００６４】
［パラメタ再推定］
学習テキスト１の形態素解析結果から言語モデルのパラメタを推定する手順を示す。本発明の言語モデルのパラメタは、単語の出現頻度、文字の出現頻度、平均単語長である。学習テキスト１は形態素解析により単語に分割されているので、単語の出現頻度は、各単語が学習テキスト中に出現した回数を求めればよい。
【００６５】
また、学習テキスト中の文字の出現頻度は、形態素解析結果に依存しないので、最初に一度だけ求めておけばよい。学習テキストの平均単語長λは、学習テキスト１中の単語の出現頻度から次式により求めることができる。
【００６６】
【数１６】
0003915167.tif 000017
【００６７】
ここで、｜ｗi ｜とＣ（ｗi ）は、それぞれ単語ｗi の文字列長と出現頻度を表す。
以下の実施例では、パラメタ再推定による単語辞書の変化の例を説明する。
図６は、本発明の一実施例の日本語形態素解析装置の処理の例を示す。
字種に基づいて生成した初期単語候補の中には、「ソ」「連製戦車」「日後」「釜山近」などの明らかに不適切な単語候補が含まれている。しかし、
（ａ）「ソ連製戦車」については、「ソ連」と「製」が単語辞書５に登録されているので、一回目の形態素解析で「ソ」と「連製戦車」は単語辞書５から削除され、代わりに、「戦車」が登録される。
【００６８】
（ｂ）「日後」については、「日」と「後」が単語辞書５に登録され、どちらも頻度の初期値が大きいので、一回目の形態素解析では、「日」と「後」に分割され、「日後」は単語辞書５から削除される。
（ｃ）「釜山近」については、「近く」が単語辞書５に登録されているので、一回目の形態素解析で「釜山」と「近く」と分解され、「釜山近」が削除されて、「釜山」が単語辞書５に登録される。
【００６９】
一回目の形態素解析が終了すると、その形態素解析結果に基づいて、言語モデル（単語辞書・出現頻度・平均単語長）の再推定が行われ、最初に推定したパラメタの値よりも、より適切な値に更新される。この言語モデルを用いて二回目の形態素解析を行えば、その結果から、さらにより適切なパラメタの値を得ることができる。
【００７０】
本発明では、このような反復改善法をパラメタの値が収束するまで繰り返す。
次に、パラメタ再推定による単語辞書５の変化の例を説明する。
一回目の形態素解析が終了すると、その形態素解析結果に基づいて言語モデル（単語辞書・出現頻度・平均単語長）の再推定が行われ、最初に推定したパラメタの値よりも、より適切な値に更新される。この言語モデルを用いて二回目の形態素解析を行えば、その結果から、さらにより、適切なパラメタの値を得ることができる。本発明では、このような反復改善法をパラメタの値が収束するまで繰り返す。
【００７１】
例として、新聞・雑誌・百科事典・教科書などからなる１０万文（約４００万文字）のテキストに対して、それぞれ単語数が、85966,39994,1719単語である３種類の初期単語リストを用いて、本発明の日本語形態素解析装置を適用した場合の延べ単語数と異なり単語数の変化を図７に示す。
ちなみに上記の３種類の初期単語リストは、上記の１０万文のテキストとは別の１０万文のテキストにおいて、それぞれ出現頻度が１以上、２以上、１００以上の単語を収集したものである。
【００７２】
図７をみればわかるように、１回目の形態素解析において、延べ単語数と異なり単語数は非常に大きく減少する。これは、初期単語候補の中に含まれていた不適切な単語候補が取り除かれるためである。２回目以降の形態素解析では、延べ単語数と異なり単語数は少しずつ減少する。しかし、その変動幅は１回目に比べてずっと小さい。実験によれば、形態素解析を３回繰り返せば、ほぼパラメタは収束する。
【００７３】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【００７４】
【発明の効果】
上述のように、本発明によれば、単語の出現確率を与える言語モデル、テキスト及び単語辞書から言語モデルのパラメタの初期値を推定し、入力文に対して同時確率が最大となる単語列を求め、テキストの形態素解析結果から言語モデルのパラメタを推定することにより、テキストを人手により単語分割する必要がなく、テキストと単語辞書から言語モデルのパラメタを自動的に学習することができる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の日本語文字認識装置のモジュール図である。
【図４】本発明の一実施例の動的計画法を用いた形態素解析手順を示すフローチャートである。
【図５】本発明の一実施例の最長一致文字列頻度を用いた初期単語出現頻度推定の例である。
【図６】本発明の一実施例の再推定による単語分割の変化の例である。
【図７】本発明の一実施例の延べ単語数と異なり単語数の再推定による変化を示す図である。
【符号の説明】
１  学習テキスト
２  形態素解析部、形態素解析手段
３  形態素列テーブル
４  初期単語候補生成部
５  単語辞書
６  初期単語出現頻度推定部、初期単語出現頻度推定手段
７  文字出現頻度推定部、文字出現頻度推定手段
８  単語候補生成部
９  単語出現頻度テーブル
１０  単語出現頻度推定部、単語出現頻度推定手段
１１  文字出現頻度テーブル
１２  単語長確率テーブル
１３  単語長確率推定部、単語長確率推定手段
９０  言語パラメタ格納手段
１００  パラメタ推定手段
【図１】
0003915167.tif 000018
【図２】
0003915167.tif 000019
【図３】
0003915167.tif 000020
【図４】
0003915167.tif 000021
【図５】
0003915167.tif 000022
【図６】
0003915167.tif 000023
【図７】
0003915167.tif 000024