JP3992348B2 - 形態素解析方法および装置、並びに日本語形態素解析方法および装置 - Google Patents
形態素解析方法および装置、並びに日本語形態素解析方法および装置 Download PDFInfo
- Publication number
- JP3992348B2 JP3992348B2 JP02192998A JP2192998A JP3992348B2 JP 3992348 B2 JP3992348 B2 JP 3992348B2 JP 02192998 A JP02192998 A JP 02192998A JP 2192998 A JP2192998 A JP 2192998A JP 3992348 B2 JP3992348 B2 JP 3992348B2
- Authority
- JP
- Japan
- Prior art keywords
- extended
- information
- character
- character string
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
Description
【発明の属する技術分野】
この発明は、形態素解析、特に確率的手法を利用することによって、単語辞書(以下、単に辞書と称する場合もある)を用いることなく、電子化された言語テキストを形態素解析する方法および装置に関する。
【0002】
【従来の技術】
言語処理における形態素解析処理は重要であり、日本語処理における形態素解析処理も、構文解析処理などのそれ以降の処理にとってきわめて重要である。特に、ワードプロセッサによるテキスト作成の普及、インターネットの普及により大量の電子化された日本語テキストが容易に入手可能となっている。ワードプロセッサその他のコンピュータ装置でこれらテキストを検索、構成、比較、分類、要約等の処理を行うためには、単語や句等の文中の意味単位を切り出すこと、すなわち、形態素解析が正しく行われることが大前提である。この形態素解析を誤ると、後段での構文解析処理や意味解析処理等においてその誤りを修復することが困難である。たとえその修復が可能であったとして、その処理は複雑化し、従って、大量のテキストを期待された時間内に処理することが出来なくなってしまう。形態素解析処理においては、英語などの単語区切り記号として空白を使用するという正書法が備わっている言語テキストと比べると、単語区切りが無い日本語等の言語は品詞の推定とともに、単語分割が高精度でかつ高速で行えるかどうかが大きな課題となる。
【0003】
また、韓国語、中国語、タイ語等の、日本語と同様に単語区切りが無い書法をもつ言語も上述したと同様な課題を有している。
【0004】
単語が単語区切り(スペース)によって分かれており、品詞等のタグを単語に与えるだけでよい英語の形態素解析手法においては、大きなテキストから品詞やその配列であるタグ系列の確率モデルを推定し、さらに、例に基づく誤り訂正を加えた手法が確立している。一方、日本語においても、この英語に対する手法を応用した例がいくつか提案されている。確率モデルを用いた一例として、日本電信電話株式会社から出願された文献I:「特開平8−315078号」で提案された「日本語文字認識方法及び装置」がある。
【0005】
【発明が解決しようとする課題】
確率モデルによって最適な形態素解析結果を求めるためには、周知の通り、ある文において、形態素列と各形態素に付与されたタグ列の同時確率を最大にするような形態素列およびタグ列を求めれば良い。なお、同時確率とは、ある形態素候補とあるタグ列候補とが同時に起こるときの確率である。英語においては単語区切りが分かっているため、形態素列は一定となり、最適なタグ列を推定する。しかし、日本語や韓国語、中国語、タイ語等の分かち書きをしない言語では、単語区切りがはっきりしていないので、可能性のあるすべての単語区切りにおける単語列に対してその確率を比較せねばならない。しかし、それぞれの単語列はその単語区切りの違いによって単語列の長さが異なるため、この長さの異なる単語列を比較するために、長さに関する条件が近似として含まれてしまう。
【0006】
この点につき、以下、日本語を例に挙げて、簡単に説明する。形態素解析とは、ある入力文に対して、入力文字列の最適な形態素列Wとタグ列Tを求めることである。これは、形態素列Wとタグ列Tの同時確率p(W,T)を最大化する連鎖確率モデルを選択することにより実現出来る。一般には、以下の式(1)の連鎖確率モデルが用いられている(文献I参照)。なお、連鎖確率とは、あるn個(nは任意の数)の文字が連続して出現する確率をいう。
【0007】
【数1】
【0008】
ここで、iは文字位置、wi は形態素列中の文字位置iでの形態素、ti はタグ列中の文字位置iでのタグ、Nは参照する文字組の数で通常はN=1または2または3である。length(W)は入力単語列の長さ、すなわち、入力文の構成単語数である。
【0009】
この(1)式で表される連鎖確率モデルを、以下、品詞N−gramモデルと呼ぶ。この(1)式では、入力形態素列の長さlength(W)による条件が入っているので、正確には、(1)式のp(W,T)にはlength(W)に関する近似が含まれる。英語の場合は、形態素列の長さは固定であるため、最大確率のp(W,T)を求める場合に問題はない。しかし、日本語の場合には、形態素の区切りが分からないため、入力文の文字列と辞書を使って、形態素のネットワーク(半順序関係を構成する。)を得た後、この半順序構造中のすべてのパスの確率を品詞N−gramモデルで計算する必要がある。この場合、日本語では、形態素の区切りが所与でないため、長さ(length(W))の異なる形態素列の確率を比較しなければならない。このため、英語では問題とならなかった長さによる条件付き確率で近似している(1)式は、日本語においては、近似が1段多いことになる。すなわち、英語の場合とは異なり、日本語ではすべての可能な候補に対しての連鎖確率を同じ条件で比較していないことになる。
【0010】
近似によって、分割数が少ない形態素列(各形態素は長い。)が優先されることが起こる。それは、長い系列の方が可能な系列の数が多いので、1つの可能性あたりの平均的な連鎖確率が小さくなるためである。
【0011】
さらに、入力文字列が未知語であるため、この文字列が辞書に存在していなかった場合、確率モデルの解析手法に新たな問題が起こる。英語の場合には、未知語があってもその未知語に対して全ての可能なタグを考慮するだけで、特に確率モデルに改良を加える必要はない。また、可能なタグの数は比較的少ないので(数十個)、かなりの精度で品詞を正しく推定することも出来る。しかし、日本語における未知語の場合には、未知語を構成する文字列の全ての可能な位置(どの位置で分割されるか)、全ての可能な長さ(どういう文字構成の語か)、それぞれの形態素において全ての可能なタグの組み合わせを考慮しなければならないため、単純な確率モデルでは計算量的に実現不可能となる。
【0012】
また、未知語が存在すると、辞書を使えないので、半順序構造を得ることが出来ない。
【0013】
文献Iに開示された手法では、未知語に対して文字の連鎖確率を用いた単語モデルを導入することによって未知語に対処している。しかし、この手法は、単語内での連鎖確率しか使用しておらず、その単語が前後の文脈によってどれくらい可能性があるのかについては、品詞の連鎖確率により間接的にしか表現されていない。すなわち、文脈全体の(未知の文字列の範囲を越えた文字列における)連鎖確率を使用しなければ、正しく未知の文字列を認定したり、区切ることができない。
【0014】
また、この従来手法では、あくまでも、単語辞書が不可欠な(すなわち、単語辞書を用いることを前提とする)単語ベースの手法であるため、形態素解析システムが未知語があると仮定した場合、文中の全ての位置で、任意の長さの単語候補の組み合わせを考慮しなければならず、従って、計算量の増大を引き起こしてしまう。
【0015】
上述した問題点をまとめると下記の通りとなる。
【0016】
1)文献開示の形態素解析手法は、単語をベースとしているため、日本語の場合は辞書が不可欠となる。しかし、辞書があっても、未知語が存在する場合には、辞書が使えないため、単語分割に影響を与える。
【0017】
2)日本語の場合は、区切りの曖昧さがあるため、分割単語数は一定である英語の確率モデルをそのまま適用することが出来ない。例えば、分割単語数の異なる2つの分割を比較すると、分割数の少ない、すなわち、長い単語からなる分割が有意な評価値を得やすい。
【0018】
3)上記1)の問題により、次のような処理効率上の新たな問題が生じる。すなわち、従来の手法では、単語をベースにしているため、単に語を区切るだけでも、辞書が不可欠となる。従って、辞書を作成するという面倒な作業を必要とし、その辞書を格納する資源も必要となる。さらに、処理実行時には、辞書を参照するため、メモリ消費量も大きくなり、しかも、処理時間も長くなる。
【0019】
そこで、従来より、確率的手法を利用しても、辞書を用いる必要が無く、確率計算が分割単語数に依存せずに高精度で高速に形態素解析処理ができしかも省資源化が図れる形態素解析方法および装置や日本語形態素解析方法および装置の出現が望まれていた。
【0020】
【課題を解決するための手段】
そこで、この出願にかかる発明者は、種々の研究および実験を行って、単語辞書を用いることを前提とする単語をベースとした形態素解析ではなく、単語辞書を用いることを前提としない文字をベースとした形態素解析を行えば、上述した種々の問題点を解決出来るという確信に至った。その理由は以下の通りである。すなわち、日本語を例に説明すると、日本語の文字は一般に使われているもので3,000〜6,000種あり、英語と異なり文字自体がかなりの情報を持っている。そして、その種類も現在の計算機能力にとって確率モデルを構成するのにちょうどよい大きさになっている。このため、文字をベースとすれば、辞書が必要なくなるので、上記1)の問題の解決がはかれること、また、文字の長さは1文(改行文字で区切られた単位の文字列のことを言う。)において一定であるため、上記2)の問題も解決出来ること、および、上記1)および2)が解決出来れば、必然的に3)の問題も解決できることにある。
【0021】
従って、この発明の形態素解析方法および装置や日本語形態素解析方法および装置では、基本的には、文字をベースとして形態素解析を行うに当たり、言語テキスト、例えば日本語テキストが入力文として与えられたときに、この入力文を構成する単語列として、各文字の直後が単語境界であるか否かのあらゆる組み合わせの中から最も確からしい単語列の並びを出力させることを特徴とするものである。
【0022】
そのため、この発明の形態素解析方法および日本語形態素解析方法によれば、次のようなステップを含む処理を行うことを特徴とする。すなわち、
(a)ステップ:言語テキスト、例えば日本語テキストを入力文として読み込む。
【0023】
(b)ステップ:読み込んだ入力文の入力文字列の1文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する。
【0024】
(c)ステップ:拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、これら生成された全ての拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を求める。
【0025】
(d)ステップ:得られた全ての拡張文字列の連鎖確率の中から最大値を有する連鎖確率を求め、この最大連鎖確率を与える拡張文字列を最適拡張文字列として全ての部分連鎖確率の中から選択する。
【0026】
(e)ステップ:そしてこのステップにおいて、この最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として出力させる。
【0027】
また、これらの方法を実施する装置は、下記の通りの構成要件を具えることを特徴とする。すなわち、
(a)言語テキスト、例えば日本語テキストを入力文として読み込んできて、この入力文の入力文字列の1文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する拡張文字列生成部、
(b)拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、生成された全ての拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求める連鎖確率計算部、および
(c)得られた全ての拡張文字列の連鎖確率の中から最大の値の連鎖確率を求め、この最大連鎖確率を与える拡張文字列を最適拡張文字列として選択し、この最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部
の各構成要件である。
【0028】
ここで、拡張文字とは、その詳細は後述するが、通常の文字とは異なり、ある文字にその文字の語分割や品詞等の文字以外の情報を含んだ文字を言う。
【0029】
このような方法および装置の構成によれば、単語辞書を用いることを前提とする単語をベースとした確率計算ではなく、単語辞書を用いることを前提としない文字をベースとした確率計算を行う手法を採用しているので、下記の効果を奏する。
【0030】
文字の長さは1文において一定しているので、分割数が確率計算に影響を及ぼすことが無く、従って、従来よりも高精度に語分割処理を行える。
【0031】
また、形態素解析処理に辞書を必要としていないので、辞書の作成作業等という面倒で複雑な作業を必要とせず、従って、従来よりも形態素解析処理の高速化が図れる。
【0032】
さらに、拡張文字の連鎖確率が日本語等の単語の一般的な単語モデルを持っているため、辞書を利用する従来方法よりも、未知語に対しより高精度に形態素解析が可能となる。
【0033】
またさらに、辞書を必要としないので、品詞等のタグ情報を利用しなくても語分割の情報のみで形態素解析ができる。この場合、高速かつ省資源の処理を行うことが出来る。
【0034】
この発明の実施に当たり、好ましくは、入力文の文頭および文末に制御文字を追加して入力文字列を形成するのが良い。このようにすると、部分拡張文字列(後述する)の長さを全ての文字につき揃えられるので、より正確に確率計算が出来、従って形態素解析の精度をより高めることが出来る。
【0035】
さらに、この発明の実施に当たり、単語区切り情報の他にタグ情報を拡張情報として加えれば、語分割だけでは無く、品詞等のタグについても従来より高精度に形態素解析が可能となる。
【0036】
また、単語区切りやタグの情報以外の任意の情報を拡張情報に加えれば、「読み」や「活用」情報等の任意情報についても、高精度でかつ高速に形態素解析できる。
【0037】
また、この発明の実施に当たり、好ましくは、単語区切り情報を2値情報とするのが良い。単語区切り情報は、これが付加された文字の直後で形態素分割が生じているかいないかの2つの状態のいずれかであるので、これを表す情報としてはコンピュータ処理分野で一般に使用される2値情報(通常は「1」と「0」)を用いれば済む。2値情報であればその取扱いも簡単容易となり、従って、装置の構造を簡単化出来ると共に、形態素解析処理の高速化が図れる。
【0038】
さらに、この発明の実施に当たり、好ましくは、下記のサブステップ処理をそれぞれ含ませるのがよい。
【0039】
前述の(a)ステップにおいては、入力文をバッファメモリに読み出し自在に格納するサブステップを含ませること。
【0040】
前述の(b)ステップにおいては、入力文字列をバッファメモリから読み出しするサブステップ、および拡張文字列を第1メモリ領域に読み出し自在に格納するサブステップを含ませること。
【0041】
前述の(c)ステップにおいては、拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めて第2メモリ領域に読み出し自在に格納しておくサブステップ、前述の第1メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前述の第2メモリ領域から読み出してきてその積を前述の連鎖確率としてそれぞれ求めるサブステップ、およびこれら連鎖確率を第3メモリ領域に読み出し自在に格納するサブステップを含ませること。
【0042】
このサブステップを実行するに当たり、この発明の装置には、上述したバッファメモリ、第1メモリ領域、第2メモリ領域、第3メモリ領域を具える他に、連鎖確率計算部には読み出された部分連鎖確率の積を計算して連鎖確率を与える計算段を具えるのが良い。
【0043】
このように構成すれば、形態素解析処理を簡単な構成で、迅速に行える。
【0044】
【発明の実施の形態】
以下、図を参照して、この発明の実施の形態につき説明する。実施の形態では、日本語を例に説明するが、韓国語、中国語、タイ語等の、日本語と同様に単語区切りが無い書法を持つ言語に対し、適用出来る。まず、この発明の説明に必要な事項につき簡単に説明する。
【0045】
この発明では、上述した従来の問題点の解決を図るために、形態素単位の品詞N−gramモデルを利用する代わりに、拡張文字単位の時系列モデルを利用する。拡張文字単位の時系列モデルおよび最も基本的な拡張文字(タグを付与せずに単語分割だけを求める場合)の定義は、下記の式(2)〜(3)で与えられる。なお、拡張文字はどのような拡張文字を使用するかによって、いくつかのバリエーションが考えられる。
【0046】
【数2】
【0047】
拡張文字単位の時系列モデルは、拡張文字ei の連鎖確率(ここでは、部分連鎖確率とも称する。)を用いて拡張文字列の連鎖確率p(W,T)を求める。ここでnは入力文字の長さ、NはN−gramのNすなわち最適解を求めるために参照する文字組の長さ(文字組を構成する文字数)、ei は形態素列WおよびタグTの情報から決定される拡張文字であるとする。
【0048】
i<1およびi>nの場合の拡張文字ei は、文頭および文末を表す特殊な拡張文字であるとする。
【0049】
拡張文字ei とは、既に説明した通り、「彼」、「は」などの通常の文字とは異なり、語分割や品詞などのような文字以外の情報を含んだ文字である。(3)式の拡張文字ei を構成するci は、入力文字の位置iにおける文字およびdi は、文字ci の前または後ろにおける区切り情報である。例えば、区切り情報としては文字ci の位置iの直後で形態素分割されているかどうかで2値の値を取る情報とするのが簡単である。すなわち、分割されている場合には、di =0とし、分割されていない場合にはdi =1とすればよい。
【0050】
以下の説明において、区切りだけの情報を持たせた拡張文字ei を用いたモデルを文字境界モデル(character boundary model)と称し、例えば、「彼」の拡張文字ei は<彼,0>のように表記する。
【0051】
日本語の形態素解析において、単語分割は必須であるため、単語分割に関する情報は、本来的であり、品詞などのタグ情報を含ませる方法の場合でも不可欠である。この区切り情報と文字の組み合わせを利用する点が、従来の単語レベルの情報を用いた形態素解析手法との決定的な違いである。
【0052】
一方、この拡張文字ei はタグ情報も含ませることが出来、次式(4)のように表記する。
【0053】
【数3】
【0054】
この式(4)において、f(i)は、入力文字列中の文字ci の位置iをその位置を含む形態素の番号(形態素位置)に変換する関数である。ここでの拡張文字ei は、上述した文字境界モデルにおける拡張文字ei に、形態素列Wおよびタグ列Tにおいてその文字ci を含む形態素のタグを付加したものとなる。このモデルを文字タグモデル(character tag model)と称する。タグ情報としては、「品詞」の他に「読み情報」や「活用形」等が考えられるが、これらタグ情報だけでなく、任意の情報例えば「読み」の情報などを任意の個数だけ与えることによって、その情報に関する形態素解析結果を得るようにすることもできる。品詞を与えた例では、「彼」の拡張文字ei は、<彼,0,代名詞>のように表記する。
【0055】
以上の前提に基づき、この発明の実施の形態につき、文字境界モデルと文字タグモデルの2つのモデルを例に挙げて説明する。
【0056】
まず 図1を参照して、両モデルに共通する構成要件につき説明する。
【0057】
図1は、この発明の日本語形態素解析装置の構成の一例を示すブロック図である。この装置は、入出力装置10と、処理装置20と、記憶装置30と、ワークエリア40を主として具えていて、コンピュータのハードウエア資源を用いて構成してある。従って、これら装置を制御する制御部等の、駆動させるために必要な機能は当然具えている。
【0058】
入出力装置10の入力部は、外部からの所要の情報をこの装置へ入力させるための装置であって、通常のキーボード、マウス、OCR、音声入力装置等の任意好適な手段で構成してもよいし、或は外部からの通信信号を受信する手段として構成してもよい。また、出力部は、通常のコンピュータ装置の場合と同様に、この装置で得られた結果の所要の情報を外部の種々の表示手段や通信受信手段等へ出力出来る構成となっている。
【0059】
処理装置20は、拡張文字列生成部22と、連鎖確率計算部24と、最適経路探索部26とを主として具えている。
【0060】
拡張文字列生成部22は、電子化されている日本語テキストを入力文として読み込んで、この入力文の入力文字列の文字毎に、少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、これら拡張文字を用いて入力文字列に関する全ての拡張文字列を生成する。すなわち、拡張文字列生成部22は、入出力装置10から入力されたテキストから全ての拡張文字列を生成する。
【0061】
連鎖確率計算部24は、これら生成された全ての拡張文字列の連鎖確率を求める。
【0062】
また、最適経路探索部26は、得られた連鎖確率のなかから最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択し、この最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する。或は、最大の値の連鎖確率を与える拡張文字列のみではなく、確率が小さくなる順に、対応する拡張文字列を、順次に、出力させても良い。
【0063】
記憶装置30は、拡張文字テーブル32と、スコアテーブル34とを主として具えている。
【0064】
この拡張文字テーブル32は、拡張文字列ei ei-1 ei-2 ・・・ei-N+1 とその連鎖確率(部分連鎖確率)p(ei |ei-1 ei-2 ・・・ei-N+1 )を格納するテーブルで、第2メモリ領域50としての拡張文字列格納部52および部分連鎖確率格納部54とを有している。この拡張文字テーブル32は、上述した連鎖確率を求めるときに連鎖確率計算部24によって参照される。
【0065】
拡張文字列格納部52はN個の拡張文字格納部60を有している。また、拡張文字格納部60は文字格納部62と区切り情報を含む拡張情報の格納部(拡張情報格納部という。)64とを有している。文字格納部62には、文字ci を、拡張情報格納部64には文字ci の区切り情報di やタグ情報ti 等の拡張情報をそれぞれ格納する。
【0066】
スコアテーブル34は、文頭から文末までの全ての拡張文字列の経路〔W,T〕と、その同時確率(連鎖確率)p(W,T)を格納するテーブルで、第1メモリ領域としての経路格納部70と第3メモリ領域としてのスコア格納部72とを有している。経路格納部70は、拡張文字格納部60と同様に、n個(nは読み込まれたテキストの文字数)の拡張文字格納部80を有し、この拡張文字格納部80は、文字格納部82と区切り情報を含む拡張情報を格納する拡張情報格納部84を有している。この経路格納部70には、生成された全ての拡張文字列が拡張文字列生成部22によって格納される。また、スコア格納部72には、連鎖確率計算部24によって、計算されて得られた全ての連鎖確率が記録される。
【0067】
ワークエリア40は、処理装置20が各種の処理を行うためのエリアでカウンタ42およびバッファメモリ44を有している。
【0068】
このような構成により、この発明では下記のような処理ステップで動作させることができる。この処理の流れ図を図2に示す。なお図において、ステップを記号Sで表記する。
【0069】
まず、S(a)において、入出力装置10によりに日本語テキストを入力文として読み込む。この場合、好ましくは、読み込んだ入力文をバッファメモリ44に読み出し自在に格納する。
【0070】
次に、S(b)において、この入力文の入力文字列の文字毎に、少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、形成した拡張文字を用いて入力文字列に関する全ての拡張文字列を生成する。この場合、好ましくは、入力文をバッファメモリ44から拡張文字列生成部22へ読み出してきて拡張文字の付加を行う。生成された拡張文字列は第1メモリ領域である経路格納部70に読み出し自在に格納する。
【0071】
次に、S(c)において、生成された全ての拡張文字列の連鎖確率を求める。この場合、好ましくは、この計算に当たり、拡張文字列を構成する順次の一定数、すなわち、この計算のときに参照される文字組の数(N)(通常、N=1または2または3である)からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習(訓練)により求めておき、その部分連鎖確率を第2メモリ領域である拡張文字テーブル32に読み出し自在に格納しておく。そして、第1メモリ領域70から読み出したそれぞれの拡張文字列毎に、これら拡張文字列を構成する全ての部分連鎖確率をこの第2メモリ領域50から読み出してきて、その積を計算して連鎖確率として求める。得られた連鎖確率を第3メモリ領域であるスコア格納部72に読み出し自在に格納する。
【0072】
次に、S(d)において、得られた連鎖確率のなかから最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択する。この場合、好ましくは、第3メモリ領域72に記録された拡張文字列の確率を比較して選択する。
【0073】
そして、S(e)において、最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として出力する。この場合、必要ならば、下位の大きさの連鎖確率に対応する拡張文字列をこの確率の大きい方から順次出力させることも出来る。
【0074】
〔1〕第1の実施の形態例
この実施の形態例では、拡張情報として単語区切り情報のみを利用した場合につき説明する。
【0075】
図3は、この発明の第1の実施の形態例における処理の流れを説明するための流れ図である。この形態例において、形態素解析は1文すなわち改行文字で区切られた単位の文字列を入力単位とする。また、「今日は」(入力文字の長さn=3)を入力した場合を例に、3文字(N=3)の部分連鎖確率を用いた処理の流れにつき説明する。
【0076】
なお、以下の説明において、具体例の拡張文字テーブルやスコアテーブルの図では、文字格納部と拡張情報格納部を<ci ,di >のように表現する。
【0077】
形態素解析装置が動作を開始すると、装置の制御部(図示せず)からの読み込み指令に応じて入出力装置10からテキストの文字文「今日は」が入力され、バッファメモリ44に読み込まれる(S1)。
【0078】
次に、読み込まれたテキストの文頭および文末に、拡張文字列生成部22からの指令によって(N−1)個の制御文字を文頭c-(N-1)+1,・・・,c0 に、および文末cn+1 ,・・・,cn+(N-1) に挿入する(S2)。この例では、N=3であるので、文頭と文末にそれぞれc-1,c0 ,とc4 ,c5 の2個の制御文字をそれぞれ挿入する。この制御文字を記号#で示してある。この制御文字が挿入された後のバッファメモリ44の内容例を図4の(A)に示す。この例では、各文字c-1,c0 ,・・・c5 の文字位置順にその対応する具体的な#,#,「今」、「日」、「は」、#、#の文字が上下に互いに対応した関係で格納してある。
【0079】
なお、この制御文字を挿入することはN−gram連鎖確率を求める上で周知の一般的手法である。制御文字は、文頭および文末を示す特殊文字であるので、テキスト(本文)と区別出来る記号等の文字を使用している。この制御文字の挿入は、予め制御文字を所要のメモリ領域に格納しておいて、バッファメモリに入力文が読み込まれたとき、自動的に挿入するようにしても良いし、外部からの指令により挿入しても良い。また、この制御文字を挿入する理由は、以下述べる理由による。通常、i番目の文字ci の出現確率を推定するのに(i−N+1)番目から(i−1)番目の文字の推定確率が必要になる。しかし、iがNよりも小さい場合、iの値はマイナスとなり、存在しない文字の出現確率が得られてしまう。そこで、便宜上、(N−1)個の文字を挿入し、iがNよりも小さい場合であっても、文字ci の出現確率を推定できるようにするために、制御文字#を挿入する。
【0080】
次に、読み込んだテキストから全ての可能な拡張文字列を生成し、これらをスコアテーブル34の経路格納部70に格納する(S3)。この生成処理S3の詳細を図5に示す。
【0081】
図5は、拡張文字列生成の流れ図である。拡張文字列生成部22は、上述の制御文字挿入処理の終了信号に応動してバッファメモリ44から順次に文字ci を読み出してきて、各文字ci に対して全ての単語区切り情報di を組み合わせた拡張文字を生成する(S301)。なお、区切りの情報の記述には、いくつかの方法が考えられるが、ここでは、文字位置iの直後で形態素分割されている場合にはdi =1、そうでない場合はdi =0、従って、単語区切り情報di を2値の「0」と「1」をとるものとする。
【0082】
この場合、拡張文字として<#,0>,<#,0>,<今,0>,<日,0>,<は,0>,<#,0>,<#,0>等と、<#,1>,<#,1>,<今,1>,<日,1>,<は,1>,<#,1>,<#,1>等とが形成される。この拡張文字ci の文字の部分を文字格納部62に及び単語区切り情報di を拡張情報格納部64に互いに対応付けて格納する。
【0083】
そして、文頭から文末までの拡張文字の組み合わせ(経路)をスコアテーブル34に格納する(S302)。この経路としては、<#,0>⇒<#,0>⇒<今,0>⇒<日,0>⇒<は,0>⇒<#,0>⇒<#,0>経路と、<#,1>⇒<#,1>⇒<今,1>⇒<日,1>⇒<は,1>⇒<#,1>⇒<#,1>経路である。
【0084】
次に、未処理の経路があれば全ての経路を格納するまで処理S302を繰り返す。未処理の経路がなくなれば処理を終了する。
【0085】
なお、処理の高速化を図る場合には、処理S302において、拡張文字テーブル作成のための訓練コーパス(テキスト)に現れなかった拡張文字を含む拡張文字列をスコアテーブル34に格納しないようにすれば良い。十分に大きな訓練コーパスには可能な文字と品詞の組み合わせが全て出現していると考えられ、出現していない文字と品詞の組み合わせは最初から考慮しなくても良いからである。
【0086】
このようにして得られた処理(S3)の結果は、拡張文字列としてスコアテーブル34に格納される。図7の(A)はスコアテーブルの一例を示し、図7の(B)はスコアテーブルの内容の一例を示す。図7の(A)において、各拡張文字e-(N-1)+1,e-(N-1)+2,・・・,e1 ,e2 ,・・・en ,・・・,en+(N-1) は、対応する文字c-(N-1)+1,c-(N-1)+2,・・・,c1 ,c2 ,・・・cn ,・・・,cn+(N-1) と拡張情報(ここでは区切り情報)d-(N-1)+1,d-(N-1)+2,・・・,d1 ,d2 ,・・・dn ,・・・,dn+(N-1) とが対となって、拡張文字列の全てに対して、順次に記録される。右側の欄は連鎖確率p(W,T)の欄である。図7の(B)の具体的内容では、左欄に拡張文字列e-1,e2 ,・・・e5 を示し入力文が「今日は」の場合の拡張文字列の全てが、候補として、順次に、上から下へと配列されている。その右に連鎖確率p(W,T)を記す欄が設けられている。ここでは連鎖確率の欄は空欄となっている。ここで、「/」を分割を示す記号とすると、例えば図中の2行目のデータは、「/今日は/」が1単位である場合の拡張文字列を示しており、4行目のデータは「/今日/は/」と分割される場合の拡張文字列を示している。
【0087】
なお、このスコアテーブルの各データは経路格納部70に格納され、拡張文字ei 等は拡張文字格納部80に、文字ci 等は文字格納部82に、そして拡張情報である単語区切り情報di 等は拡張情報格納部84にそれぞれ格納される。
【0088】
このように、処理S3が終了すると、次の処理(S4)へ進む。この処理S4では、拡張文字テーブル32を参照して、スコアテーブル34から候補文字列(各拡張文字列のこと)の連鎖確率を計算し、スコアテーブルに格納する。
【0089】
図8の(A)は、参照される拡張文字テーブル32の一例を示す。この例では各拡張文字ei-N+1 ,ei-N+2 ,・・・ei は、対応する文字ci-N+1 ,ci-N+2 ,・・・ci と拡張情報(ここでは区切り情報)di-N+1 ,di-N+2 ,・・・di とが対となって、順次に,記録される。右側の欄は部分連鎖確率p(ei )(出現確率ともいう。)の欄である。図8の(B)は、拡張文字テーブル32の内容の具体例を示す図である。この例では、文字組の数NがN=3の場合の例を示しているので、文字位置をiとするとき、図8の(B)の左欄にei-2 ,ei-1 ,ei の3文字の部分拡張文字列を示し、右欄に対応する部分拡張文字列の連鎖確率すなわち部分連鎖確率p(ei |ei-1 ,ei-2 )(出現確率ともいう。)を示している。
【0090】
図8の(B)に示すこの拡張文字テーブルの内容によれば、例えば上から3行目のデータによれば、「<#,1><今,0><日,0>」は、文字列「#今」が文頭の制御文字「#」の後ろで分割され、「今」の後ろで分割されない場合、次の文字が「日」で、かつ「日」の直後で分割されない確率が「0.0134」であることを示している。他のデータも同様な確率を示している。
【0091】
このような拡張文字テーブルは、事前に訓練(学習)により作成して記憶装置30に保存しておく。処理対象となるテキストは、入出力装置10を使用して記憶装置30に保存し、処理装置20からの命令により、読み込む。拡張文字テーブル32の参照およびスコアテーブル34の読み書きは、処理装置20から記憶装置30をアクセスして随時実行可能である。また、この拡張文字テーブル32は、タグ付きコーパス(この場合、単語分割されたコーパス)があれば、N−gramの数を数えることによって容易に獲得できる。また、既存の形態素解析システムの出力結果を利用したり、人手で作成したりしても良い。
【0092】
なお、この拡張文字テーブルの各データは拡張文字列格納部52に格納され、拡張文字ei 等は拡張文字格納部60に、文字ci 等は文字格納部62に、そして拡張情報である単語区切り情報di 等は拡張情報格納部64にそれぞれ格納される。
【0093】
この処理(S4)のより詳細な処理の流れを図6に示す。この一連の処理を以下説明する。なお、この処理は、全て処理装置20の指令に基づいて実行される。
【0094】
処理S401:スコアテーブル34から1行目のレコード(データ)を読み込む。この場合、スコアテーブル34の1行目のデータをワークエリア40のバッファメモリ44に読み込む。このとき、ワークエリア40のカウンタ42は、読み込まれて処理対象になる文字の位置iを表示する。
【0095】
処理S402:次に、文字位置を示すカウンター42のiを文頭にセットする(すなわち、i=1とする)。
【0096】
処理S403:次に、ei-N+1 からei までのN文字の拡張文字列を取り出す。Nは任意とすることができるが、ここではN=3とする。従って、この処理では、バッファメモリ44からe-1からe1 までの3文字の拡張文字列(部分拡張文字列)、すなわち、「<#,1><#,1><今,0>」を取り出す。
【0097】
処理S404:次に、取り出した拡張文字列(部分拡張文字列)に対し、拡張文字テーブル32を参照して、連鎖確率を求める。この連鎖確率の計算を行うに当たり、予め、連鎖確率計算部24の格納部すなわち第4メモリ領域90に、既に説明した(2)式を格納しておき、この(2)式を計算段92に読み出し、ここで(2)式の計算を実行する。
【0098】
図8の(B)の拡張文字テーブルの内容によれば、「<#,1><#,1><今,0>」に対応する部分連鎖確率p(e1 |e0 e-1)は1行目の「0.0832」であるので、これを拡張文字テーブルから取り出して、一旦、第4メモリ領域90に格納しておく。
【0099】
処理405〜407:次に、計算段92でi==1(iと1とを比較してiが1に等しいこと)かどうかの判定を行って、i==1ならば、この計算段92でp(W,T)にp(ei |ei-1 ・・・ei-N+1 )をセットする(S406)。すなわち、ここでの例では、この部分連鎖確率の値を(2)式に代入してp(e1 |e0 e-1)=0.0832を得る。
【0100】
一方、i!=1ならば(iが1と等しくないとき)、(2)式に従って、p(W,T)とp(ei |ei-1 ・・・ei-N+1 )との積を求め、p(W,T)にセットする(S407)。
【0101】
処理S408〜410:次に、i==n+N−1かどうかの判定を行い、i==n+N−1ならば、スコアテーブル34のスコア格納部72にp(W,T)を記録する(S409)。ここでの例では、上述のp(e1 |e0 e-1)=0.0832を格納する。一方、i!=1ならば、iを1だけ増やして(S410)S403に戻る。
【0102】
処理S403:この処理では、バッファメモリ44からe-1からe2 までの3文字の拡張文字列(部分拡張文字列)、すなわち「<#,1><今,0><日,0>」を取り出す。
【0103】
処理S404:続いて、拡張文字テーブル32から「<#,1><今,0><日,0>」の部分連鎖確率p(e2 |e1 e0 )=0.0134を求める。
【0104】
処理S405〜407:次に、i==1かどうかを判定し(S405)、この場合には、i!=1であるので、S407へ進む。この処理においては、(2)式に従って、計算段92において、既に得られているp(W,T)=0.0832と今回得られたp(e2 |e1 e0 )=0.0134との積を算出し、これを新たにp(W,T)にセットする(S407)。
【0105】
このような処理S403〜407をi==5になるまで繰り返し行う。
【0106】
処理408:i==5になれば、スコアテーブル34のスコア格納部72に連鎖確率p(W,T)を格納する(S409)。
【0107】
処理S411:未処理のレコードがあるかないかを判断して、未処理のレコードがあれば処理S401に戻り、以上の処理を繰り返すことにより、スコアテーブル34中の全ての拡張文字列の連鎖確率(同時確率ともいう。)を求めることが出来る。未処理のレコードが無ければ、この処理S4を終了する。
【0108】
図9に、処理S4の処理終了後のスコアテーブルの内容を示す。同図の左側のe-1,e0 ,・・・e5 の欄に示してある各拡張文字列に対して、上述した(2)式に従った連鎖確率計算により求められた結果が、各列に対応する右欄にp(W,T)の値としてそれぞれ記録されている。この連鎖確率の値が大きいものほど、それに対応する拡張文字列が最も尤もらしい形態素区切りであると推定された最適拡張文字列である。この処理S4の終了後、次の処理S5に進む。
【0109】
処理(S5):この処理では、処理部20の最適経路探索部26において、このスコア格納部(第3メモリ領域)72に格納された連鎖確率を順次に読み出してきて、比較を行って、最大の連鎖確率からその値が小さい順に配列し、これら連鎖確率に対応する拡張文字列をその大きさの順(スコア順)に配列して、順に、出力する。従って、まず、最大の連鎖確率を与えている文字列を単語分割が最適な文字列として入出力装置10の出力部から出力させる。ここでの例では、拡張情報が単語区切り情報だけであるので、単語列として出力される。続いて、所要に応じて、スコアの大きい順に順次に対応する単語列の並びが出力される。
【0110】
ここで、この最大連鎖確率を出力する場合の処理の流れにつき、図13を参照して説明する。この処理をスコア順に繰り返すことによって、ある閾値以上をもつ単語列の並びをすべて出力することもできる。
【0111】
まず、すべての拡張文字列に対し求めらた連鎖確率が格納されているスコアテーブル(この第1の実施の形態例では、図9に対応する。)から、最大の連鎖確率を持つe-(N-1)+1,・・・,en+(N-1) について、制御文字の拡張文字列の文頭e-(N-1)+1,・・・,e0 と文末en+1 ,・・・,en+(N-1) を切り捨てたe1 ,・・・,en を読み込む(S501)。この図9の例では、e-1,・・・,e5 であるので、上から4行目の<今,0><日,1><は,1>が読み込まれる。
【0112】
ここで、カウンタ42をjにセットし(S502)、バッファメモリ44を初期化しておく(S503)。
【0113】
次に、カウンタ42の文字位置jが入力文字の長さnとの比較を行って(S504)、長さnに等しくなければ、ej =<cj ,dj >のcj の値をバッファメモリ44に追加する(S505)。ここでの例では、c1 の値「今」が追加され、この状態でのバッファメモリ44は、
〔今 〕
となる。
【0114】
次に、単語区切り情報dj が1か0かの判定を行って(S506)、dj =1であれば、〔単語区切り記号〕を追加する(S507)。この〔単語区切り記号〕はどのような記号でも構わないが、ここでは、「 」(アンダーバー)とする。
【0115】
なお、dj =0である場合には、何もしない。ここでの例では、d1 =0であるので、何もしない。
【0116】
次に、カウンタ42の文字位置jを1つ進め(S508)、同様な処理を繰り返し行う。
【0117】
拡張文字e2 における処理S508を終了した後は、d2 が1であるため、単語区切り記号「 」が追加され、バッファメモリ44の状態は、
〔今日 〕
となる。そして、カウンタ42の文字位置jを1つ進め(S508)、次の処理S504に戻る。
【0118】
S504において、e3 では、j=n=3であるので、処理S509に進み、en =<cn ,dn >のcn の値をバッファメモリ44に追加する(S509)。その結果、バッファメモリ44の状態は、
〔今日 は 〕
となる。最後に、バッファメモリ44に格納されている値を入出力部10によって出力し、この処理を終了する。
【0119】
上述した第1の実施の形態においては、全ての経路を試行する方法を用いたが、既に処理S302に関して説明した通り、探索アルゴリズムを組み合わせるこにより、より高速に処理することが可能である。
【0120】
〔2〕第2の実施の形態例
次に、第2の実施の形態例につき説明する。第1の実施の形態例が、拡張情報として単語区切り情報のみとしたことに対し、この第2の実施の形態例では、拡張情報として単語区切り情報とタグ情報とを用いる点が異なる。従って、その点に関する装置構成および動作処理が多少異なるにすぎない。この第2の実施の形態例では、第1の実施の形態例の場合のような形態素単位の分割だけではなく、拡張情報格納部に格納された任意の情報に関する解析結果を得ることが出来る。具体的には、タグ情報を品詞情報とすると、分割した文字列の品詞も同時に推定することが出来る。以下の例ではタグ情報を品詞情報として説明する。
【0121】
基本的には、この場合の装置構成も、図1にブロック図で示す構成となっている。しかし、拡張文字テーブル32とスコアテーブル34の構成が下記の点で第1の実施の形態例の場合とは相違する。
【0122】
第1の点は、第2の実施の形態例では、拡張文字テーブル32の上述した拡張情報格納部64は、単語区切り情報di およびタグ情報ti とをそれぞれ格納する領域を有する点である。そのため、拡張情報格納部64は、単語区切り情報格納部(図示せず)およびタグ情報格納部(図示せず)を有している。
【0123】
従って、文字格納部62には、文字ci を格納し、拡張情報格納部64には、単語区切り情報di とタグ情報ti とをそれぞれの格納部に個別に格納する。
【0124】
第2の点は、スコアテーブル34の上述した拡張文字格納部80は、単語区切り情報di およびタグ情報ti とをそれぞれ格納する領域を有する点である。そのため、拡張情報格納部84は、単語区切り情報格納部(図示せず)およびタグ情報格納部(図示せず)を有している。この場合のスコアテーブルおよび拡張文字テーブルの例をそれぞれ図10の(A)および図11の(A)に示す。これらの図において第1の実施の形態例で説明した図7の(A)および図8の(A)との相違点は、図10の(A)のスコアテーブルの場合には、文字ci 、区切り情報di と並べてタグ情報ti をそれぞれの拡張文字ei に付加してある点である(但しi=1−N+1〜n+N−1(この場合は、N=3なので、i=−1〜n+2))。また、図11の(A)の拡張文字テーブルでは、同様に、文字ci 、区切り情報di と並べてタグ情報ti をそれぞれの拡張文字ei に付加してある点である(但しi=1〜N(この場合は、N=3なので、i=1〜3))。
【0125】
次に、この第2の実施の形態例の動作につき説明する。この場合の基本的な処理の流れは、図2で説明した通りである。また、この第2の実施の形態例の動作は、図3で説明した第1の実施の形態例での処理の流れとも基本的には同一であるので、この図3を参照して、説明する。
【0126】
以下の説明では、テキスト「今日」を入力させた場合の例に、3文字の部分連鎖確率(出現確率)を用いた処理の流れにつき具体的に説明する。なお、具体例の拡張文字テーブル32およびスコアテーブル34の図では、文字格納部62,82と拡張情報格納部64,84の内容、すなわち、拡張文字格納部60および80の内容を<ci ,di ,ti >のように表記する。
【0127】
処理(S1)〜(S2):第1の実施の形態例の場合と同様である。この処理の後のバッファメモリ44の内容も図4の(B)に示す通りとなる。
【0128】
処理(S3):読み込んだテキストから全ての可能な拡張文字列を生成し、スコアテーブル34の経路格納部(第1メモリ領域)70に格納する。この場合、第1の実施の形態例のときと相違する点は、各文字毎に、拡張情報として、単語区切り情報と品詞情報とを付加する。文頭および文末の制御文字は、処理の都合上与えられた文字であるから、拡張情報ではないが、ここでの例では、便宜上、単語区切り情報として「1」を、品詞情報として「#」を付加する。その結果、得られたスコアテーブル34の内容を図10の(B)に示す。例えば、図10の(B)の第1行目は、「今日」が単語分割されず、すなわち、「今日」の文字列は、1つの単語で、品詞が名詞である場合の拡張文字列を示している。
【0129】
処理(S4):この処理も、第1の実施の形態例の場合と同様に行われる。図11の(B)は、第2の実施の形態例の場合の拡張文字テーブル32の一例を示している。この図においても、拡張情報格納部であるタグ情報格納部64の「#」は制御文字(記号)であり、例えば、図11の(B)の上から7行目の「<#,1,#><今,0,名詞><日,1,名詞>」は、文中「#」「今」「日」の品詞がそれぞれ制御文字、名詞、名詞で、「#」の直後で分割され、「今」の直後で分割されない場合、「日」の直後で分割される確率が0.0047であることを示している。
【0130】
この拡張文字テーブル32も、第1の実施の形態例の場合と同様に、品詞タグつきコーパスを利用すれば、N−gramの数を数えることによって容易に獲得できる。
【0131】
次に、図6を参照して、処理S401〜411の処理を、第2の実施の形態例につき、具体的に説明する。この処理も第1の実施の形態例の場合と同様に行われるので、共通な処理等は簡単に説明する。
【0132】
処理S401:図10(B)のスコアテーブル34から1行目のレコード(データ)をバッファメモリ44に読み込む。
【0133】
処理S402:文字位置を示すカウンタiを文頭にセットする。
【0134】
処理S403:バッファメモリ44から、e-iからe1 までの3文字の拡張文字列(部分拡張文字列)、すなわち、「<#,1,#><#,1,#><今,0,名詞>」を取り出す。
【0135】
処理S404:この処理では、図11の(B)の拡張文字テーブル32を参照して、「<#,1,#><#,1,#><今,0,名詞>」の部分連鎖確率(出現確率)p(e1 |e0 e2 )=0.0034を求める。
【0136】
処理S405〜406:このとき、i==1なので、連鎖確率p(W,T)=0.0034をセットして、処理S408へ進む。
【0137】
処理S408〜410:i!=1なので、iを1つ増やしてS404に戻る。
【0138】
処理S404:図11(B)の拡張テーブル32を参照して、「<#,1,#><今,0,名詞><日,1,名詞>」の部分連鎖確率(出現確率)p(e2 |e1 e0 )=0.0047を求める。
【0139】
処理S405〜406:このとき、i!=1なので、連鎖確率p(W,T)とp(e2 |e1 e0 )との積を(2)式に従って求め(すなわち、連鎖確率p(W,T)=p(W,T)×p(e2 |e1 e0 ))、その結果、すなわち、p(W,T)=0.0034×0.0047=0.159×10-4をp(W,T)にセットする。
【0140】
処理408〜409:i==n(n==2)なので、p(W,T)をスコアテーブル34のスコア格納部(第3メモリ領域)72に格納する。
【0141】
処理S411:未処理レコードがあるので、処理S401に戻る。
【0142】
以上の処理を繰り返すことにより、スコアテーブル34内のすべての拡張文字の連鎖確率(同時確率)を求めることができる。
【0143】
図12は、処理S4の終了後のスコアテーブル34の内容を示す例である。この場合にも、連鎖確率の値が大きい拡張文字列ほど、最も尤もらしい形態素区切りであると推定された文字列である。例えば、1行目の「<#,1,#><#,1,#><今,0,名詞><日,1,名詞><#,1,#><#,1,#>」の連鎖確率が一番大きければ、これを最適拡張文字列とする。
【0144】
処理(S5):一連の処理S4が終了した後、最適経路探索部26により、第1の実施の形態例の場合と同様に、スコアテーブル34から連鎖確率(スコア)の高い順に対応する拡張文字列で決まる単語列の並びとタグ列の並びを出力する。
【0145】
この第2の実施の形態例の場合には、この最大連鎖確率の出力は、既に図13を参照して第1の実施の形態例で説明した処理と同様な処理の流れで行われる。しかし、この第2の実施の形態例では、第1の実施の形態例の場合とは、処理S507とS509の内容が相違するので、この処理S507とS509につき説明し、その他の処理の重複説明は省略する。
【0146】
処理S507:ej =<cj ,dj ,tf(j)>において、「〔文字タグ区切り記号〕tf(j)〔単語区切り記号〕」の値をバッファメモリ44に追加する。
【0147】
処理S509:ej =<cj ,dj ,tf(j)>において、「cn 〔文字タグ区切り記号〕tf(j)」の値をバッファメモリ44に追加する。
【0148】
この〔文字タグ区切り記号〕はどんな記号でも構わないが、たとえば「/」(スラッシュ)とする。
【0149】
このようにした場合、処理S510での出力は、例えば、
〔今日/名詞 〕
となる。
【0150】
また、例えば、単語区切り文字が改行コードで、文字タグ区切り情報がタブの場合に、例えば、「今日は誕生日だ」の処理S510での出力は、
単語区切りのみでは
〔今日 〕
〔は 〕
〔誕生日 〕
〔だ 〕
となり、
タグ付きでは
〔今日 名詞〕
〔は 副助詞〕
〔誕生日 名詞〕
〔だ 助動詞〕
となる。
【0151】
以上の一連の処理が拡張文字による形態素推定処理の流れである。
【0152】
上述した第1および第2の実施の形態例では、拡張情報として単語区切り情報およびタグ情報につき説明したが、タグ情報の代わりにまたはこれに追加して、「読み」とか「活用」などの情報を付加して、これら任意情報に関する形態素解析も同様に行い得る。
【0153】
また、上述した各メモリ領域は、それぞれ、個別のメモリで構成してもよいし、或は1つのメモリの領域を分けて構成しても良い。
【0154】
〔実験結果〕
上述した第1および第2の実施の形態例に関して、その効果を確認するための実験を行った。その結果を以下に説明する。
【0155】
1)実験手法
1−1)第1の実施の形態例(文字−区切りモデル)
訓練:文字と区切りの記号の対(ペア)をトークン(token)とするトライグラム(trigram(3−gram))をタグ付きコーパスから構築する。すなわち、文字をその文字の後ろに区切りがあるものとないものの2種類に分ける。
【0156】
解析:解析対象のすべての文字に対して、区切り記号とペアになったものとそうでないものとの組み合わせから文字trigramの連鎖確率を最大とする組み合わせを解析結果(形態素分割)とする。
【0157】
1−2)第2の実施の形態例(文字−タグモデル)
訓練:文字と区切り記号と品詞の組をトークン(token)とするtrigramをタグ付きコーパスから構築する。
【0158】
解析:解析対象のすべての文字に対して、すべての可能な区切り記号と品詞の組合わせから文字trigramの連鎖確率を最大とするものを選ぶ、分解された各形態素に対して、先頭の文字の組にある品詞をその形態素の品詞とする手法(手法先頭)と、その形態素が含む各トークンの品詞の中で多いものをその形態素の品詞とし、同じ数の品詞がある場合は、品詞のユニグラム(unigram(1−gram))を使って品詞を決める手法(手法多数決)とがある。この実験では、後者の(手法多数決)を使用した。
【0159】
(手法多数決)につき簡単に説明する。入力文「いるかがいる」の最も確からしい拡張文字列が以下のようになった場合を考える。
【0160】
<い,0,動詞><る,0,名詞><か,1,名詞><が,1,助詞><い,0,動詞><る,1,副詞>
この場合、3つの単語(いるか)(が)(いる)に分割される。すなわち
<い,0,動詞><る,0,名詞><か,1,名詞>
<が,1,助詞>
<い,0,動詞><る,1,副詞>
その品詞は(が)については一意に助詞と定まるが、(いるか)は動詞と名詞、(いる)は動詞と副詞の複数の可能性がある。この場合、(いるか)については、候補は動詞と名詞であるが、名詞が2個あり、動詞の1個より多いので、名詞とする。他方、(いる)については、動詞と副詞の可能性があるが、どちらも1個づつで多数決で決まらないので、訓練データでより多く出現した品詞である、動詞を(いる)の品詞だとして出力する。
【0161】
この(手法多数決)により、例えば、EDRコーパス((株)日本電子化辞書研究所が研究目的のために有償で公開しているコーパス(文献:EDR Electronic Dictionary Version TechnicalGuide,1995年発行))を解析すると、次の順序で品詞の優先順位が高いことが分かる。すなわち、助詞、名詞、語尾、動詞、記号、助動詞、接尾語、数字、副詞、形容動詞、形容詞、連体詞、接続詞、接頭語、感動詞。
【0162】
1−3)従来技術(ワード−タグモデル)
従来の辞書とタグの連鎖確率を用いた手法である。訓練データより辞書の品詞のtrigramを構築する。ただし、未知語処理の機能を加えていないため、テストデータの中に訓練データにない単語が現れると解析不能になる場合がある。今回の実験では、解析不能を回避するために、クローズ(close)実験のみを行った。
【0163】
2)訓練およびテストデータ
以下に、実験で用いたコーパスと実験条件の概略を期す。各コーパスごとの見出し(名前)は以下の実験で用いたコーパスを参照するために用いられる。
【0164】
2−1)EDR
:品詞情報 15個
訓練 :EDRのコーパス約20万文(197744文)
テスト:オープン(open);訓練データに含まれない1000文
クローズ(cloe);訓練データにテスト用の1000文を加える。
【0165】
2−2)ADD
:品詞情報は活用形や活用型を入れた120種類のタグ
訓練 :ATR対話データベース(旅行、電話対話)8,821文((株) エイ・ティ・アール音声翻訳通信研究所が研究目的のために有償で 公開しているコーパス)(文献:ATR対話データベースの内容. ATR Technical report,TR−I−0186,
1990年発行)(以下、ADDと称する。)
テスト:オープン;訓練データに含まれない500文
クローズ;訓練データに上記のテスト用の500文を加える。
【0166】
3)連鎖確率推定
上記タグ付きコーパスの訓練データから拡張文字列を生成し、拡張文字のtrigram(3−gram)を求めた。また、この確率はbigram(2−gram),unigram(1−gram)によってスムージングされている。
【0167】
4)評価尺度
以下の説明では、評価尺度として、正解に対する適合率(precision)と再現率(recall)を用いる。それぞれの尺度は以下のように定義される。
【0168】
適合率:システムが出力した正解形態素数/システムが出力した形態素数
再現率:システムが出力した正解形態素数/テスト文の正解形態素数。
【0169】
5)実験結果
5−1)解析性能について
a:第1の実施の形態例(CHAR−BOUND)(単語分割性能)
この実験では、各種手法の単語分割に関する基本的な性能の違いを見るために、各種手法とコーパスを組み合わせた実験を行った。オープン(open)実験とクローズ(close)実験のそれぞれについて適合率と再現率を図14に示す。
【0170】
今回の実験における従来法の実験では、未知語に対処する機構を入れることが出来なかった。このため、オープン(open)の実験において辞書にない単語があると(EDRで1000文中約70個の単語)、従来法では解析不能となる場合があったため、クローズ(close)の実験のみを行った。以下、この発明と従来法との比較はクローズ(close)の実験結果で行う。
【0171】
図14の単語分割の性能評価の結果は、上段が適合率(%)で、下段が再現率(%)である。この発明での適合率(%)は、ADDでは99.77でEDRでは97.80であるのでADDの方がEDRよりも良い。従来法での適合率(%)は、EDRの場合には95.65、ADDの場合には99.52であるので、いずれにしても適合率(%)はこの発明の方法の方が優れていることが分かる。一方、この発明での再現率(%)は、EDRでは97.44、ADDでは99.67であるのでADDの方が良い。従来法での再現率(%)は、EDRでは91.78、ADDでは99.27であるので、いずれにしてもこの発明の方法の方が優れていることが分かる。
【0172】
上述の結果から理解できるように、EDRにおける従来法では適合率および再現率ともに悪いが、これはEDRコーパスに15種類の品詞しかないため、品詞のtrigramが十分な言語モデル能力を持たないためである。それは、ADDの120種類の品詞を用いると結果が改善されていることからも理解出来る。
【0173】
この発明の第1の実施の形態による手法では、EDRコーパスに関してはADDコーパスに比べて若干悪いが、比較的安定して良い結果を出している。これは品詞だけでなく文字とタグのペアの連鎖確率を使用していることに起因していると考えられる。
【0174】
なお、EDRコーパスの解析に対して視察した結果、誤りの大部分は、コーパス自体の揺れに起因していることが分かった。例えば、名詞連続などを細かく切るか、大まかに切るかがかなり揺れている。
【0175】
b:第2の実施の形態例(CHAR−TAG)(単語分割と品詞推定の性能)この実験では、各種手法の単語分割と品詞推定に関する基本的な性能の違いを見る実験を行った。その結果を図15に品詞分割の性能評価として示す。この図において、上段が適合率(%)であり、下段が再現率(%)である。なお、第2の実施の形態例の単語分割の性能評価は図14に示してある。
【0176】
図14に示した単語分割の結果では、適合率(%)は、EDRでは98.25、ADDでは99.97であり、また、再現率(%)は、EDRでは97.88、ADDでは99.82である。これに対し、図15に示した品詞分割の性能評価の結果では、適合率(%)は、EDRでは97.42、ADDでは99.77であり、また、再現率(%)は、EDRでは97.06、ADDでは99.61である。また、従来手法による品詞分割の性能評価結果によれば、適合率(%)は、EDRでは92.55、ADDでは97.82であり、また、再現率(%)は、EDRでは88.80、ADDでは97.52である。
【0177】
これらの結果から、単語分割と比べると、拡張文字を使用する方法は、適合率および再現率がおおよそ1〜2%程度低下していることが分かる。
【0178】
これに対し、従来法では、適合率および再現率が2〜3%程度低下している。オープン(open)実験では、さらに3%程度低下している。
【0179】
従来法では辞書を使うので、(未知語がなければ)単語分割に関してはかなり強力ではあるが、品詞の推定に関しては、拡張文字を使うこの発明の手法の方がロバスト性に優れていると言える。言い換えれば、従来法では、単語に直接関係ある確率は、かなり大きなコーパスを用いても正確に推定するのが困難であると言える。
【0180】
5−2)解析速度について
図16に各手法における解析速度の結果を示す。この実験では、EDRテスト文(1000文,38601文字)の解析にかかった時間すなわち実行時間を示してある。第1および第2の実施の形態におけるそれぞれの手法で解析した場合、EDRでは、それぞれ、3秒および665秒であった。この結果から、品詞推定を行うと著しく遅くなるが、単語分割のみでは極めて高速であることが分かる。
【0181】
なお、実験に使用した計算機の性能は、Sun Ultra−1140MHz,OS:Solaris2.5,メインメモリ:96Mバイト,ハードディスク:3Gバイトである。
【0182】
【発明の効果】
上述した説明からも明らかなように、この発明の日本語形態素解析方法および装置によれば、下記の効果を奏することができる。すなわち、
a)この発明では、単語辞書を用いることを前提とする単語をベースとした確率計算ではなく、単語辞書を用いることを前提としない文字をベースとした確率計算を行う。文字の長さは、1文において一定であるため、分割数が少ない形態素列(各形態素列は長い)が優先されるということがない。従って、従来方法に比べて、高精度で語分割を行うことが可能となる(上記5−1)a参照)。
【0183】
b)この発明では、文字N−gramが辞書情報をもっていると考えられるので、辞書を必要としない。このため、辞書作成のための煩雑な作業を省略出来る。例えば、「いとしい/人」という文が訓練データに存在する場合、
<#,1><#,1><い,0><と,0><し,0><い,1><人,1><#,1><#,1>
という拡張文字テーブルができ、3文字づつとって(3−gram),その語分割情報を見ると、
<#,1><#,1><い,0> ←→ い
<#,1><い,0><と,0> ←→ いと
<い,0><と,0><し,0> ←→ いとし
<と,0><し,0><い,1> ←→ いとしい/
<し,0><い,1><人,1> ←→ いとしい/人/
<い,1><人,1><#,1> ←→ いとしい/人/#
<人,1><#,1><#,1>
というように、「いとしい」と「人」と言う単語を正確に取り出すことが出来る(これは、2−gramでも1−gramでも同様にして、単語取り出しが出来る。)。
【0184】
また、同時に連鎖確率を計算することによって、「いとしい人」がこの2つの形態素に分割される場合の「よさ」を評価出来る。
【0185】
c)この発明では、拡張文字の連鎖確率を求めて最適な単語列の並びを決定している。この拡張文字の連鎖確率が日本語の単語の一般的な単語モデルをもっているため、辞書を利用する従来方法に比べて未知語に対する形態素解析が精度良く行える。
【0186】
d)さらに、この発明では辞書を必要としないので、品詞等のタグ情報を利用しなくても、語分割の情報のみで解析出来るという利点がある。この場合、極めて高速かつ省資源の処理を行える。
【0187】
e)さらに、拡張情報として、単語区切り情報の他にタグ情報を付加する場合には、上述のa)〜d)に加えて、語分割だけでなく品詞推定も従来に比べて高精度および高速で行うことが出来る(上記5−1)b参照)。例えば、従来法では、候補としての単語列・品詞列のよさを推定するために品詞の連鎖確率を用いている。しかし、品詞の数はそれほど多くなく、また、タグ付きコーパスに付与してある品詞しか使えないため、単語列の連鎖のよさの表現(評価)能力に限界がある。もし、品詞の数を極端に多くすると、よりきめ細かく単語列のよさの評価ができるが、そのようなコーパスを開発することは至難である。これに比べて、この発明の手法では、品詞と文字のペアの連鎖を使用するので、たとえコーパス中に付与してある品詞の数が少なくても、文字の情報を援用した連鎖で単語列をモデル化するので、はるかにきめ細かく(各文字ごとの品詞の出現回数を考慮した)単語列のよさを評価できる。このため、文字列の分割である単語列候補と、その単語列に付与される品詞列候補を、使われている文字の傾向まで考慮に入れた比較が、可能となる。
【0188】
f)さらに、拡張情報として、タグ情報の他、任意の情報(例えば「読み」の情報や「活用」の情報)を付加することにより、上述のa)〜d)に加えて、これらに関する解析結果を得ることが出来る。
【0189】
上述した効果は、日本語以外の言語、特に韓国語、中国語、タイ語等の、日本語と同様に単語区切りが無い書法を持つ言語に対しても、得られると期待される。
【図面の簡単な説明】
【図1】この発明の形態素解析方法および装置の説明に供する、装置構成の一例のブロック図である。
【図2】この発明の形態素解析方法を実行する処理の基本的流れ図である。
【図3】実施の形態例の処理の流れ図である。
【図4】バッファメモリに格納されるデータの内容を説明するための、バッファの内容を示す図であり、(A)は第1の実施の形態例におけるバッファの内容、(B)は第2の実施の形態例におけるバッファの内容である。
【図5】拡張文字列生成の流れ図である。
【図6】連鎖確率を計算する処理の流れ図である。
【図7】第1の実施の形態例におけるスコアテーブルの説明図であり、(A)は第1の実施の形態例におけるスコアテーブルの一例を示す図、(B)はそのスコアテーブルの内容の一例を示す図である。
【図8】第1の実施の形態例における、参照される拡張文字テーブルの説明図であり、(A)は第1の実施の形態例における拡張文字テーブルの一例を示す図、(B)はその拡張文字テーブルの内容の一例を示す図である。
【図9】第1の実施の形態例における、処理S4の終了後のスコアテーブルの内容を説明するための図である。
【図10】第2の実施の形態例におけるスコアテーブルの説明図であり、(A)は第2の実施の形態例におけるスコアテーブルの一例を示す図、(B)はそのスコアテーブルの内容の一例を示す図である。
【図11】第2の実施の形態例における、参照される拡張文字テーブルの説明図であり、(A)は第2の実施の形態例における拡張文字テーブルの一例を示す図、(B)はその拡張文字テーブルの内容の一例を示す図である。
【図12】第2の実施の形態例における、処理S4の終了後のスコアテーブルの内容を説明するための図である。
【図13】最大連鎖確率の出力の処理の流れ図である。
【図14】この発明の形態素解析方法および装置の単語分割の性能評価を示す図である。
【図15】この発明の形態素解析方法および装置の品詞分割の性能評価を示す図である。
【図16】この発明の形態素解析処理の実行時間を説明するための図である。
【符号の説明】
10:入出力装置 20:処理装置
22:拡張文字列生成部 24:連鎖確率計算部
26:最適経路探索部 30:記憶装置
32:拡張文字テーブル 34:スコアテーブル
40:ワークエリア 42:カウンタ
44バッファメモリ 50:第2メモリ領域
52:拡張文字列格納部 54:部分連鎖確率格納部
60,80:拡張文字格納部
62,82:文字格納部
64,84:拡張情報格納部
70:第1メモリ領域(経路格納部)
72:第3メモリ領域(スコア格納部)
90:第4メモリ領域
92:計算段
Claims (32)
- 入出力手段と拡張文字列生成部と連鎖確率計算部と最適経路探索部とを有する処理装置を用いて、
(a)前記入出力手段により、言語テキストを入力文として読み込むステップと、
(b)前記拡張文字列生成部により、前記入力文の全ての入力文字列の1文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる該拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに
、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成するステップと、
(c)前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、前記連鎖確率計算部により、生成された全ての前記拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求めるステップと、
(d)前記最適経路探索部により、得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択するステップと、
(e)前記最適経路探索部により、該最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として前記入出力手段から出力するステップと
を含むことを特徴とする形態素解析方法。 - 請求項1に記載の形態素解析方法において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報を含み、かつ、前記形態素解析結果はタグ列の並びを含むことを特徴とする形態素解析方法。 - 請求項1に記載の形態素解析方法において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする形態素解析方法。 - 請求項1に記載の形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加することを特徴とする形態素解析方法。 - 請求項2に記載の形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加し、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加することを特徴とする形態素解析方法。 - 請求項1に記載の形態素解析方法において、
前記処理装置を用いて、
前記(a)ステップにおいて、前記入力文をバッファメモリに読み出し自在に格納するサブステップを含み、
前記(b)ステップにおいて、前記入力文字列を前記バッファメモリから読み出しするサブステップ、および前記拡張文字列を第1メモリ領域に読み出し自在に格納するサブステップを含み、
前記(c)ステップにおいて、前記部分連鎖確率を予め学習により求めて第2メモリ領域に読み出し自在に格納しておくサブステップ、前記第1メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第2メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求めるサブステップ、およびこれら連鎖確率を第3メモリ領域に読み出し自在に格納するサブステップを含むことを特徴とする形態素解析方法。 - 請求項1に記載の形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す2値情報としたことを特徴とする形態素解析方法。 - (a)言語テキストを入力文として読み込んで該入力文の全ての入力文字列の1文字毎に少なくとも単語区切り情報を含む拡張情報を付加して異なる該拡張情報を有する複数の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する拡張文字列生成部と、
(b)前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、生成された全ての前記拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求める連鎖確率計算部と、
(c)得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択し、該最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部とを含み、
単語辞書を利用せずに前記形態素解析結果を得ることを特徴とする形態素解析装置。 - 請求項8に記載の形態素解析装置において、
前記拡張文字列生成部は、前記入力文の文頭および文末に制御文字を追加して前記入力文字列を形成する制御文字追加手段を含むことを特徴とする形態素解析装置。 - 請求項8に記載の形態素解析装置において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報を含み、かつ、前記形態素解析結果はタグ列の並びを含むことを特徴とする形態素解析装置。 - 請求項8に記載の形態素解析装置において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部は該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする形態素解析装置。 - 請求項8に記載の形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあることを特徴とする形態素解析装置。 - 請求項10に記載の形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあり、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加してあることを特徴とする形態素解析装置。 - 請求項8に記載の形態素解析装置において、
前記入力文を格納して該入力文を前記拡張文字列生成部へ読み出し出来るバッファメモリと、
前記拡張文字列を格納して該拡張文字列を前記連鎖確率計算部へ読み出し出来る第1メモリ領域と、
前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する、学習により求められた部分連鎖確率を、予め、格納していて該部分連鎖確率を前記連鎖確率計算部へ読み出し出来る第2メモリ領域と、
前記連鎖確率を格納して該連鎖確率を前記最適経路探索部へ読み出し出来る第3メモリ領域とを具え、さらに
前記連鎖確率計算部は、前記第1メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第2メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求める計算段を含む
ことを特徴とする形態素解析装置。 - 請求項14に記載の形態素解析装置において、
前記バッファメモリは、前記拡張文字列生成部によって前記入力文の文頭および文末に制御文字を追加して形成された前記入力文字列を該拡張文字列生成部へ読み出し自在に格納することを特徴とする形態素解析装置。 - 請求項8に記載の形態素解析装置において、
前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す2値情報としたことを特徴とする形態素解析装置。 - 入出力手段と拡張文字列生成部と連鎖確率計算部と最適経路探索部とを有する処理装置を用いて、
(a)前記入出力手段により、日本語テキストを入力文として読み込むステップと、
(b)前記拡張文字列生成部により、単語の区切りを示す情報と単語の区切りではないことを示す情報から成る単語区切り情報を有し、前記入力文の全ての入力文字列の1文字毎に異なる単語区切り情報を有する2種類の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成するステップと、
(c)前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する部分連鎖確率を予め学習により求めておき、前記連鎖確率計算部により、生成された全ての前記拡張文字列の連鎖確率として、それぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率の積を求めるステップと、
(d)前記最適経路探索部により、得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択するステップと、
(e)前記最適経路探索部により、該最適拡張文字列で決まる単語列の並びを含む解析結果を形態素解析結果として前記入出力手段から出力するステップと
を含むことを特徴とする日本語形態素解析方法。 - 請求項17に記載の日本語形態素解析方法において、
前記拡張文字列生成部により、前記全ての入力文字列の1文字毎に形成された2種類の拡張文字毎に1種類の拡張文字が異なるタグ情報を有するようにタグ情報の数と同じ数の拡張文字を形成することを特徴とする日本語形態素解析方法。 - 請求項17に記載の日本語形態素解析方法において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部により該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、
前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする日本語形態素解析方法。 - 請求項17に記載の日本語形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加することを特徴とする日本語形態素解析方法。 - 請求項18に記載の日本語形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加し、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加することを特徴とする日本語形態素解析方法。 - 請求項17に記載の日本語形態素解析方法において、
前記処理装置を用いて、
前記(a)ステップにおいて、前記入力文をバッファメモリに読み出し自在に格納するサブステップを含み、
前記(b)ステップにおいて、前記入力文字列を前記バッファメモリから読み出しするサブステップ、および前記拡張文字列を第1メモリ領域に読み出し自在に格納するサブステップを含み、
前記(c)ステップにおいて、前記部分連鎖確率を予め学習により求めて第2メモリ領域に読み出し自在に格納しておくサブステップ、前記第1メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第2メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求めるサブステップ、およびこれら連鎖確率を第3メモリ領域に読み出し自在に格納するサブステップを含むことを特徴とする日本語形態素解析方法。 - 請求項17に記載の日本語形態素解析方法において、
前記処理装置を用いて、前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す2値情報としたことを特徴とする日本語形態素解析方法。 - (a)単語の区切りを示す情報と単語の区切りではないことを示す情報から成る単語区切り情報を有し、日本語テキストを入力文として読み込んで該入力文の全ての入力文字列の1文字毎に異なる単語区切り情報を有する2種類の拡張文字を形成し、全ての入力文字列に対する全ての拡張文字の全組み合わせを求めるとともに、前記入力文字列の語順に従う拡張文字の並びを拡張文字列とすることによって、全ての拡張文字列を生成する拡張文字列生成部と、
(b)生成された全ての前記拡張文字列の連鎖確率を以下の式(1)と式(2)を用いて求める連鎖確率計算部と、
(c)得られた連鎖確率の中から最大の値の連鎖確率を与える拡張文字列を最適拡張文字列として選択し、該最適拡張文字列に対応する、単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部とを含み、
単語辞書を利用せずに前記形態素解析結果を得ることを特徴とする日本語形態素解析装置。
- 請求項24に記載の日本語形態素解析装置において、
前記拡張文字列生成部は、前記入力文の文頭および文末に制御文字を追加して前記入力文字列を形成する制御文字追加手段を含むことを特徴とする日本語形態素解析装置。 - 請求項24に記載の日本語形態素解析装置において、
前記拡張文字列生成部により、前記全ての入力文字列の1文字毎に形成された2種類の拡張文字毎に1種類の拡張文字が異なるタグ情報を有するようにタグ情報の数と同じ数の拡張文字を形成することを特徴とする日本語形態素解析装置。 - 請求項24に記載の日本語形態素解析装置において、
前記単語区切り情報は拡張情報のひとつであり、前記拡張文字列生成部により該拡張情報としてタグ情報と読み情報と活用形情報とその他のいずれかの任意情報を含み、かつ、
前記形態素解析結果は任意情報に関する解析結果を含むことを特徴とする日本語形態素解析装置。 - 請求項24に記載の日本語形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあることを特徴とする日本語形態素解析装置。 - 請求項26に記載の日本語形態素解析装置において、
前記単語区切り情報は、一つの文字として、前記入力文字列の各文字の直後に付加してあり、かつ、前記タグ情報は、一つの文字として、前記単語区切り情報の直後に付加してあることを特徴とする日本語形態素解析装置。 - 請求項24に記載の日本語形態素解析装置において、
前記入力文を格納して該入力文を前記拡張文字列生成部へ読み出し出来るバッファメモリと、
前記拡張文字列を格納して該拡張文字列を前記連鎖確率計算部へ読み出し出来る第1メモリ領域と、
前記拡張文字列を構成する順次の一定文字数からなる部分拡張文字列のそれぞれに対応する、学習により求められた部分連鎖確率を、予め、格納していて該部分連鎖確率を前記連鎖確率計算部へ読み出し出来る第2メモリ領域と、
前記連鎖確率を格納して該連鎖確率を前記最適経路探索部へ読み出し出来る第3メモリ領域とを具え、さらに
前記連鎖確率計算部は、前記第1メモリ領域から読み出したそれぞれの拡張文字列毎に、該拡張文字列を構成する全ての部分連鎖確率を前記第2メモリ領域から読み出してきてその積を前記連鎖確率としてそれぞれ求める計算段を含む
ことを特徴とする日本語形態素解析装置。 - 請求項30に記載の日本語形態素解析装置において、
前記バッファメモリは、前記拡張文字列生成部によって前記入力文の文頭および文末に制御文字を追加して形成された前記入力文字列を該拡張文字列生成部へ読み出し自在に格納することを特徴とする日本語形態素解析装置。 - 請求項24に記載の日本語形態素解析装置において、
前記単語区切り情報を、当該単語区切り情報が付加された文字の文字位置の直後で形態素分割が生じているか否かを表す2値情報としたことを特徴とする日本語形態素解析装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02192998A JP3992348B2 (ja) | 1997-03-21 | 1998-02-03 | 形態素解析方法および装置、並びに日本語形態素解析方法および装置 |
US09/044,137 US6098035A (en) | 1997-03-21 | 1998-03-19 | Morphological analysis method and device and Japanese language morphological analysis method and device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-68300 | 1997-03-21 | ||
JP6830097 | 1997-03-21 | ||
JP02192998A JP3992348B2 (ja) | 1997-03-21 | 1998-02-03 | 形態素解析方法および装置、並びに日本語形態素解析方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10326275A JPH10326275A (ja) | 1998-12-08 |
JP3992348B2 true JP3992348B2 (ja) | 2007-10-17 |
Family
ID=26359080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02192998A Expired - Fee Related JP3992348B2 (ja) | 1997-03-21 | 1998-02-03 | 形態素解析方法および装置、並びに日本語形態素解析方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6098035A (ja) |
JP (1) | JP3992348B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0952531A1 (en) * | 1998-04-24 | 1999-10-27 | BRITISH TELECOMMUNICATIONS public limited company | Linguistic converter |
JP2001249922A (ja) * | 1999-12-28 | 2001-09-14 | Matsushita Electric Ind Co Ltd | 単語分割方式及び装置 |
JP4543294B2 (ja) * | 2000-03-14 | 2010-09-15 | ソニー株式会社 | 音声認識装置および音声認識方法、並びに記録媒体 |
JP4947861B2 (ja) * | 2001-09-25 | 2012-06-06 | キヤノン株式会社 | 自然言語処理装置およびその制御方法ならびにプログラム |
JP4001283B2 (ja) * | 2003-02-12 | 2007-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 形態素解析装置および自然言語処理装置 |
JP3768205B2 (ja) * | 2003-05-30 | 2006-04-19 | 沖電気工業株式会社 | 形態素解析装置、形態素解析方法及び形態素解析プログラム |
JP3956368B2 (ja) * | 2003-10-16 | 2007-08-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 形態素解析システム |
US7493293B2 (en) * | 2006-05-31 | 2009-02-17 | International Business Machines Corporation | System and method for extracting entities of interest from text using n-gram models |
US8140267B2 (en) * | 2006-06-30 | 2012-03-20 | International Business Machines Corporation | System and method for identifying similar molecules |
US20080208566A1 (en) * | 2007-02-23 | 2008-08-28 | Microsoft Corporation | Automated word-form transformation and part of speech tag assignment |
CN102317955A (zh) * | 2009-04-20 | 2012-01-11 | 万涛国际有限公司 | 基于图像的数据管理方法与系统 |
JP5630138B2 (ja) * | 2010-08-12 | 2014-11-26 | 富士ゼロックス株式会社 | 文作成プログラム及び文作成装置 |
JP5927955B2 (ja) * | 2012-02-06 | 2016-06-01 | カシオ計算機株式会社 | 情報処理装置及びプログラム |
JP6070809B1 (ja) * | 2015-12-03 | 2017-02-01 | 国立大学法人静岡大学 | 自然言語処理装置及び自然言語処理方法 |
US10606815B2 (en) | 2016-03-29 | 2020-03-31 | International Business Machines Corporation | Creation of indexes for information retrieval |
JP6631930B2 (ja) * | 2017-02-07 | 2020-01-15 | パナソニックIpマネジメント株式会社 | 翻訳装置および翻訳方法 |
IT201900002235A1 (it) | 2019-02-15 | 2020-08-15 | Univ Ca Foscari Di Venezia | Sistema e metodo per l’unione di morfemi in unita’ lessicali e relativa trascrizione in sillabe hiragana e in caratteri latini di un testo giapponese |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2732563B2 (ja) * | 1986-05-20 | 1998-03-30 | 株式会社東芝 | 機械翻訳方法及び装置 |
JP3009215B2 (ja) * | 1990-11-30 | 2000-02-14 | 株式会社日立製作所 | 自然語処理方法および自然語処理システム |
ES2101613B1 (es) * | 1993-02-02 | 1998-03-01 | Uribe Echebarria Diaz De Mendi | Metodo de traduccion automatica interlingual asistida por ordenador. |
JP2583386B2 (ja) * | 1993-03-29 | 1997-02-19 | 日本電気株式会社 | キーワード自動抽出装置 |
JP3309174B2 (ja) * | 1995-05-15 | 2002-07-29 | 日本電信電話株式会社 | 文字認識方法及び装置 |
US5835893A (en) * | 1996-02-15 | 1998-11-10 | Atr Interpreting Telecommunications Research Labs | Class-based word clustering for speech recognition using a three-level balanced hierarchical similarity |
US5963893A (en) * | 1996-06-28 | 1999-10-05 | Microsoft Corporation | Identification of words in Japanese text by a computer system |
-
1998
- 1998-02-03 JP JP02192998A patent/JP3992348B2/ja not_active Expired - Fee Related
- 1998-03-19 US US09/044,137 patent/US6098035A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10326275A (ja) | 1998-12-08 |
US6098035A (en) | 2000-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552533B2 (en) | Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces | |
US6816830B1 (en) | Finite state data structures with paths representing paired strings of tags and tag combinations | |
Foster et al. | Target-text mediated interactive machine translation | |
JP3992348B2 (ja) | 形態素解析方法および装置、並びに日本語形態素解析方法および装置 | |
TW448381B (en) | Automatic segmentation of a text | |
US8364470B2 (en) | Text analysis method for finding acronyms | |
EP0971294A2 (en) | Method and apparatus for automated search and retrieval processing | |
JPH03224055A (ja) | 同時通訳向き音声認識システムおよびその音声認識方法 | |
US7328404B2 (en) | Method for predicting the readings of japanese ideographs | |
Uchimoto et al. | Morphological analysis of the Corpus of Spontaneous Japanese | |
Mekki et al. | COTA 2.0: An automatic corrector of tunisian Arabic social media texts | |
KR100420474B1 (ko) | 부분문틀을 이용한 장문 번역 장치 및 그 방법 | |
JP3953772B2 (ja) | 読みがな付与装置およびプログラム | |
KR19980038185A (ko) | 자연언어 인터페이스 에이전트 및 그의 의미 분석방법 | |
KR20040018008A (ko) | 품사 태깅 장치 및 태깅 방법 | |
Sankaravelayuthan et al. | A Comprehensive Study of Shallow Parsing and Machine Translation in Malaylam | |
JP3628565B2 (ja) | 辞書検索方法、装置、および辞書検索プログラムを記録した記録媒体 | |
Qayyum et al. | Comparison of Parsers Dealing with Text Ambiguity in Natural Language Processing | |
Sornlertlamvanich | Probabilistic language modeling for generalized LR parsing | |
JP3084864B2 (ja) | 文章入力装置 | |
JP2004326584A (ja) | 対訳固有表現抽出装置及び方法、対訳固有表現抽出プログラム | |
Çöltekin | Statistical Parsing | |
JP3873299B2 (ja) | 仮名漢字変換装置および仮名漢字変換方法 | |
JP2000148757A (ja) | 言語変換方法 | |
JPH04372047A (ja) | 仮名漢字変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031217 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040311 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040531 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040625 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070724 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100803 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |