(57)【特許請求の範囲】
【請求項１】
記憶手段および入力手段を有し、各単語についてその分類内容を示すクラスコードおよびクラスコード間の連鎖確率が予め前記記憶手段上に用意されており、単語列が前記入力手段から与えられた時に、該連鎖確率に基づき言語解析を行う言語処理装置において、
前記単語列の単語の各々に対応するクラスコードを単語位置に対応させたパスの中の連鎖確率の積が最大となる経路を検出する検出手段と、
当該検出された経路上に位置するクラスコードを前記１つの単語について用意されている複数のクラスコードの中の最適クラスコードとして選択する選択手段と
を具えたことを特徴とする言語処理装置。
【請求項２】
請求項１に記載の言語処理装置において、前記検出手段は動的計画法に基づき連鎖確率の積が最大となる経路を検出することを特徴とする言語処理装置。
【請求項３】
請求項１に記載の言語処理装置において、前記クラスコードはシソーラスの分類コードであることを特徴とする言語処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自然言語処理において、最適な単語列を選択／生成する言語処理、特にシソーラスなどに基づいて設定された単語クラス間の統計情報を用いる言語処理のための言語処理装置に関する。
【０００２】
【従来の技術】
従来の統計的言語処理方法としては、ｎ個の単語間の統計的連鎖情報を利用する単語ｎ−ｇｒａｍモデルが利用されているほか、スパースネス問題など単語ｎ−ｇｒａｍにおける問題点を解決するため、単語を何らかの方法で分類して単語クラスを構成し、これらの単語クラス間の統計的連鎖情報を利用するクラスｎ−ｇｒａｍモデルも利用されていた（例えば、北他「音声言語処理」森北出版参照）。しかしながら、従来のクラスｎ−ｇｒａｍは、与えられた文章中の各単語がどのクラスに属するかは既知として処理されており、複数のクラスに属する単語が存在する場合に、これらの単語を自動的に最適なクラスに割り当てる方法は確立されていなかった。
【０００３】
【発明が解決しようとする課題】
一般に、各単語は、１つの単語クラスにのみ属するとは限らず、複数の単語クラスに属する単語が存在する。単語クラスをシソーラスなどを用いた意味分類から構成する場合を考えると、複数の意味を持つ単語が、このような例に相当する。シソーラスとして国立国語研究所の分類語彙表を用いた場合の具体例を例示すると、「向き」という単語は、
「１．１３０１情勢」：傾向、嫌い（がある）、気味など
「１．１３３０性質」：正確、相性、向き不向きなど
「１．１７３０方向・たてよこ」：上向き、下向きなど
「３．１３３０良不良・適不適」：良い、理想的、適当、応分など
「２．１７１０相対的位置」：向かい合い、外向、婦人向き、夏向きなど
の５つの単語クラスに属する。また、単語「分」の場合のように、時刻の単位としての「分」、２割３分のような割合を表す単位としての「分」、分が悪いといった場合の「分」など、１０個の単語クラスに属するものもある。このような単語を、適切な単語クラスに割り当てる場合には、文章の前後関係などから判断する必要がある。
【０００４】
ところで、言語モデル学習用、あるいは、適切な意味を持つかどうかを判断するための評価用として与えられた文などの単語列を、単語クラスのコード列（たとえばシソーラスとして分類語彙表を用いた場合の例では、１．１３０１など単語クラスを表すコードの列）に変換する際、従来方法では、複数の単語クラスに属する単語を、どのクラスのコードに変換するか自動的には決定することは困難であった。
【０００５】
そこで、本発明の目的は、１つの単語について存在する複数のクラスコードの中から最適なクラスコードを自動的に選択することの可能な言語処理装置を提供することにある。
【０００６】
【課題を解決するための手段】
このような目的を達成するために、請求項１の発明は、記憶手段および入力手段を有し、各単語についてその分類内容を示すクラスコードおよびクラスコード間の連鎖確率が予め前記記憶手段上に用意されており、単語列が前記入力手段から与えられた時に、該連鎖確率に基づき言語解析を行う言語処理装置において、前記単語列の単語の各々に対応するクラスコードを単語位置に対応させたパスの中の連鎖確率の積が最大となる経路を検出する検出手段と、当該検出された経路上に位置するクラスコードを前記１つの単語について用意されている複数のクラスコードの中の最適クラスコードとして選択する選択手段とを具えたことを特徴とする。
【０００７】
請求項２の発明は、請求項１に記載の言語処理装置において、前記検出手段は動的計画法に基づき連鎖確率の積が最大となる経路を検出することを特徴とする。
【０００８】
請求項３の発明は、請求項１に記載の言語処理装置において、前記クラスコードはシソーラスの分類コードであることを特徴とする。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１６】
まず、本発明を適用した言語処理方法について述べる。本実施形態では、シソーラスに基づくクラスｎ−ｇｒａｍモデル
【００１７】
【数１】
Ｐ（ｃm ｜ｃm-n+1 ｃm-n+2 …ｃm-1 ）
の学習に適応する方法について示す。なお、本実施形態では、ｎ−ｇｒａｍのｎを３とした場合（トライグラム）について例示する。また、シソーラスとしては、国立国語研究所の分類語彙表を利用した場合の例を示す。分類語彙表では、各単語のコード番号として、１．３０６２など、ピリオドで区切られた５桁の数字が与えられている。このコード番号をそのまま１つのクラスを表す数字とすると、クラスの数が大きくなりすぎるため、本実施形態では、最後の１桁を切り捨てた後、同じコード番号を有する単語の集合を、一つのクラスとして扱う。
【００１８】
分類語彙表には、基本的に自立語しか登録されていないため、クラストライグラムモデル
【００１９】
【数２】
Ｐ（ｃm ｜ｃm-2 ｃm-1 ）
を利用する際には、付属語の取り扱いが問題となる。また、分類語彙表に登録されていない単語をどう扱うかも問題となる。付属語については、文法的に分類することによりクラスを構成することも可能であるが、本実施形態では、１語の１クラスを構成させる方法を採用した。また、分類語彙表に登録されていない単語については、クラスモデル学習時に、形態素解析結果に基づいて自動的に登録する方法を採用した。
【００２０】
まず、分類語彙表と照合することにより、分類された各単語をクラスコードに変換する。その際、付属語は、コードへの変換を行わず、語そのものをクラスコードとする。分類語彙表に記載されている自立語については、後述の本発明の言語処理方法を用いて、クラスコードに変換する。分類語彙表に記載されていない自立語については、以下の処理を行う。動詞などの活用形については、語幹で照合した後、その活用形と対応する分類コード番号を別に用意する単語−クラス対応表に追加する。数詞は、強制的に数詞のコードを割り当てた後、その数詞も単語−クラス対応表に追加する。各詞については、形態素解析結果に従って、「普通名詞」、「サ変名詞」、「固有名詞」、「形式名詞」、「副詞的名詞」、「時相名詞」のクラスに振り分け、合わせて単語−クラス対応表への追加を行う。それ以外の語については、未知クラスに分類する。
【００２１】
以上の処理により、クラス記号列に変換されたコーパスを用いて、クラスコード間のｎ−ｇｒａｍ確率を求め、クラスｎ−ｇｒａｍモデルを構成する（本実施形態ではクラストライグラムモデル）。
【００２２】
上記クラスコード変換における本発明に関わる言語処理方法を説明する。
【００２３】
ここで、単語ｗi が属するクラスをｃi1，ｃi2，…，ｃiKで表す。単語とクラスコードとを対応付ける場合は、クラスコード間の初期バイグラム確率、すなわち、２つの単語についてのクラスコードの間の連鎖確率を示す初期バイグラム確率が与えられている場合には、図１に示すような連鎖組み合わせが存在する。ここの組み合わせの中で、たとえば単語ｗ2 はクラスコードがｃ21とｃ22が重複して存在していることを示している。各単語を適切なクラスコードに対応づける問題は、この組み合わせの中で
【００２４】
【数３】
0003766517.tif 000002
【００２５】
を最大化するパス（クラスコードを接続するに最適な組み合わせ経路、以下最適パスと称す）
（ｉ1 ，ｊ1 ）（ｉ2 ，ｊ2 ）…（ｉ(n-1) ，ｊ(n-1) ）
を求める問題として定式化することができる。そこで、本実施形態では動的計画法を用いて最適パスを求める。なお、動的計画法はＤＰとも呼ばれている周知の計算法である。その際、クラス間の初期バイグラムは、以下の手順で予め推定しておく。
【００２６】
まず、学習コーパスを形態素解析して単語ごとに分割し、各単語をクラスコードに変換する。次に、クラスコード間２つ組の出現回数を求める。この際、複数のクラスコードを有する単語の２つ組については、クラスコード間の全ての組み合わせを考慮する。最後に、得られた出現回数から、初期バイグラムの値を求める。その他の初期バイグラム計算法として、単語を強制的に１つのクラスに割り当てて求める方法などが考えられるが、本発明の実施形態では、前述のクラスコード間の全ての組み合わせから求める方法を採用した。
【００２７】
以上の言語処理方法をわかりやすく説明する。予めクラス（コード）間の連鎖確率を従来と同様にして、学習により取得して言語処理装置内に記憶しておく。
【００２８】
次に、言語処理対象の日本語文をキーボードからの入力、通信やフロッピーディスクからテキスト文書の形態での入力により言語処理装置に与える。言語処理装置では、与えられた文を形態素解析により単語列に分解する。言語処理装置はこの単語列を単語の接続順に対応させたクラスコード列に変換する。１つの単語に複数のクラスコードを許容しているので、クラスコード列は図１に示すようなパスを形成する。このパスは言語処理装置内のメモリ空間上に形成される。
【００２９】
図１の例では、たとえば
（１）先頭の単語ｗ1 のクラスコードｃ11→第２番目の単語ｗ2 の第１番目のクラスコードｃ21→第３番目の単語ｗ3 の第１番目のクラスコードｃ31→…というような接続経路や、
（２）先頭の単語ｗ1 のクラスコードｃ11→第２番目の単語ｗ2 の第２番目のクラスコードｃ22→第３番目の単語ｗ3 の第１番目のクラスコードｃ31→…というような各種の接続経路が存在する。
【００３０】
全ての接続経路を数式で表わしたものが数３式である。各経路に沿って各単語の連鎖確率の積を計算して行くとその経路でのクラスコード列の最適度が得られる。全ての経路について連鎖確率の積を取得し、その中の最大となるような経路を最適パスと決定してもよいのであるが、このような計算手法は多大な計算時間を要する。このため本実施形態では、動的計画法を用いて上記連鎖確率の積が最大となる経路を検出する。
【００３１】
動的計画法の簡単な計算例を説明する。起点（先頭の単語位置）からたとえば３つの連続するクラスコード列を選択し、連鎖確率を積算する。この積算値の中で最大となる経路を見つけると、起点位置を次の単語位置にずらす。起点としては前回検出された経路（連鎖確率の積が最大）上のクラスコードおよびその周辺のクラスコードが選択される。この場合、第２番目の単語位置のクラスコードから第４番目のクラスコードに至る、たとえば３つの経路が選択され、その経路の中で連鎖確率の積が最大となる経路が選択される。このようにして、経路を部分的に選択しながら上記起点位置を単語の先頭位置から最後尾位置まで進めると、最終的に単語の先頭から最後尾までの連鎖確率の積が最大となる経路が得られる。
【００３２】
以上は、動的計画法の説明のための一手法である。動的計画法の計算式については各種の提案がある。上記連鎖確率の積算は対数値では加算処理となるので、本実施形態では上記説明の連鎖確率の積に代わる評価関数として連鎖確率の対数値を使用する（数６式参照）。
【００３３】
このようにして、得られた最適経路上のクラスコードが言語解析に用いられる。換言すると、上記最適経路を検出することで１つの単語に複数のクラスコードが存在しても最適なクラスコードを選択していることになる。また、選択されたクラスコードは前語のいくつかの単語の連鎖関係から決定されていることにも留意されたい。
【００３４】
以上、述べた言語処理方法に基づき言語処理を行う言語処理装置について説明する。
【００３５】
本実施形態では言語処理装置に、たとえば、汎用のパーソナルコンピュータやワークステーションなどの情報処理装置を使用できる。後述の言語処理プログラムを実行することにより情報処理装置が言語処理装置として機能する。
【００３６】
言語処理プログラムはフロッピーディスクやＣＤ−ＲＯＭなどの記録媒体に記録しておき、記録媒体から情報処理装置内の記憶装置、たとえばハードディスク記憶装置にインストールする。情報処理装置内に記憶された言語処理プログラムはキーボードやマウス等により起動され、情報処理装置内のＣＰＵにより実行される。
【００３７】
なお、情報処理装置は、言語処理プログラムや演算データ、さらには演算に使用する分類表を記憶する記憶手段、言語処理プログラムを実行するＣＰＵ等の情報処理装置であればよく、上記パーソナルコンピュータやワークステーションに限定されない。
【００３８】
言語処理装置の機能構成を図２および図３に示す。図２において、２は入力文を形態素解析するブロック、４は、初期バイグラムの学習時には接点Ａに接続し、入力文に対する最適クラスコード列を求める際には接点Ｂに接続するための切り替え器、６はクラス２つ組を計算して初期バイグラムを求めるブロック、８は初期バイグラムを格納するブロック、１０は初期バイグラムを用いて入力文に対する最適クラスコード列を求めるブロックである。図３において、２２は学習データ（文の集合）を各文ごとに形態素解析して、その結果を出力するブロック、２４は図２で示した処理により各文ごとにクラスコード列に変換するブロック、２６はクラストライグラムを学習するブロック、２８は得られたクラストライグラムを格納するブロック、３０は、評価用文の集合から人手により作成された正しいクラスコード列に対し、ブロック２８に格納されたクラストライグラムを用いてパープレキシティを計算するブロックである。
【００３９】
ここに、パープレキシティとは、与えられた言語モデル（ここではクラストライグラム）を用いた場合の、評価用データ（ここでは評価用クラスコード列）に対する表現能力を表わす尺度であり、
【００４０】
【数４】
0003766517.tif 000003
【００４１】
で表わされる。ここに、ｃ1 ，ｃ2 ，…，ｃn は与えられた入力文ｗ1 ，ｗ2 ，…，ｗn に対するクラスコード列を表わす。
【００４２】
なお、図２の格納ブロック８、図３の格納ブロック２８は情報処理装置内の記憶手段（ハードディスク記憶装置またはＩＣメモリ）により実現され、その他のブロックは言語処理プログラムを実行するＣＰＵにより実現される。
【００４３】
図４は、初期バイグラムを求める処理手順を示すフローチャートであり、図２の切り替え器４を接点Ａ側に倒した場合の処理手順を示す。図４の各処理ブロックにおける実行内容は以下の通りである。
【００４４】
Ｂ２：入力文の組を読み込むブロック。
【００４５】
Ｂ４：入力文を全て読み込み終えたかどうかを判断する判断ブロック。
【００４６】
Ｂ６：入力文を形態素解析するブロック。
【００４７】
Ｂ８：あらかじめ分類語彙表に基づき作成した単語−クラス対応表を利用して、各単語が属する単語クラスのクラスコードを読み出す処理ブロック。
【００４８】
Ｂ１０：クラスコード間２つ組の出現回数を求めるブロック。形態素解析の結果、入力文が、単語列ｗ1 ，ｗ2 ，…，ｗn に変換されたとする。単語ｗi-1 が属する単語クラスをｃi-1,1 ，…，ｃi-1,L 、単語ｗ1 が属する単語クラスをｃi,1 ，…，ｃi,M とする時、クラスコード間の２つ組（ｃi-1,1 ，ｃi,1 ），（ｃi-1,1 ，ｃi,2 ）…（ｃi-1,1 ，ｃi,M ）、（ｃi-1,2 ，ｃi,2 ）…（ｃi-1,2 ，ｃi,M ）…（ｃi-1,L ，ｃi,1 ）、（ｃi-1,L ，ｃi,2 ）…（ｃi-1,L ，ｃi,M ）について、その出現回数を１つ加え上げる。この処理をｉ＝２からｎまで繰り返す。さらに、各コードが文頭、文末にくる場合を考慮に入れるため、文頭記号＜ｓ＞、文末記号＜／ｓ＞に対して、２つ組（＜ｓ＞，ｃ1,1 ）…（＜ｓ＞，ｃi,I ）、（ｃn,1 ，＜／ｓ＞）…（ｃn,J ，＜／ｓ＞）の出現回数も１つ増加させる。ここに、ｗ1 が属するクラスコードの数をＩ、ｗn が属するクラスコードの数をＪとした。
【００４９】
Ｂ１２：Ｂ１０で数え上げられた２つ組みの数から初期バイグラムを作成するブロック。クラスコードの総数をＣとする。この時、ｉ＝１，…Ｃに対して、以下の計算式で、初期バイグラムを計算する。
【００５０】
【数５】
0003766517.tif 000004
【００５１】
ここに、ｃｏｕｎｔ（ｃj ，ｃi ）は、単語クラスｃi とｃj とが連続して現れた回数を表わす。
【００５２】
Ｂ１４：Ｂ１２で計算された初期バイグラムを記憶装置に格納する処理ブロック。
【００５３】
図５は、入力文から最適なクラスコード列を求めるためのフローチャートであり、図２において、切り替え器４を接点Ｂ側に倒した場合の処理である。図５の各ブロックにおける実行内容は以下の通りである。
【００５４】
Ｂ２２：初期バイグラムを記憶装置から読み込む処理ブロック。
【００５５】
Ｂ２４：入力文の組を読み込むブロック。
【００５６】
Ｂ２６：入力文を全て読み込み終えたかどうかを判断する判断ブロック。
【００５７】
Ｂ２８：入力文を形態素解析するブロック。
【００５８】
Ｂ３０：あらかじめ分類語彙表に基づき作成した単語−クラス対応表を利用して、各単語が属する単語クラスのクラスコードを読み出す処理ブロック。
【００５９】
Ｂ３２：初期バイグラムを用いて、入力文に対する最適クラスコード列を求めるサブルーチン。詳しい処理内容は図６に示す。
【００６０】
Ｂ３４：クラスコード列を出力する処理ブロック。
【００６１】
図６は、図５中の最適クラスコード列を選択するサブルーチンに対するフローチャートである。図６の各ブロックにおける実行内容は以下の通りである。
【００６２】
Ｂ４２：サブルーチン中で用いる配列の初期値を設定する処理ブロック。入力文を形態素解析した結果、単語ｗ1 ，ｗ2 ，…，ｗn に変換されたとする。単語ｗ1 が
【００６３】
【外１】
0003766517.tif 000005
【００６４】
【数６】
0003766517.tif 000006
【００６５】
Ｂ４４：変数ｉに１を代入する処理ブロック。
【００６６】
Ｂ４６：変数ｉが、単語列の長さｎより大きいかどうかを判断する判断ブロック。
【００６７】
Ｂ４８：変数ｉの値を１つ増やす処理ブロック。
【００６８】
Ｂ５０：動的計画法に基づいて、変数を更新する処理ブロック。ｊ＝１，…，ｍi に対して、以下の計算を行う。
【００６９】
【数７】
0003766517.tif 000007
【００７０】
Ｂ５２：最終的に、対数バイグラム確率の総和（連鎖確率の積）が最大となるクラスコード列を選択する処理ブロック。次式を満たすクラスコード列を出力する。
【００７１】
【数８】
0003766517.tif 000008
【００７２】
図７は、図３中のクラストライグラムを学習する部分のフローチャートである。図７の各処理ブロックにおける実行内容は以下の通りである。
【００７３】
Ｂ６２：学習データを文単位で読み込む処理ブロック。
【００７４】
Ｂ６４：学習データの読み込みが終了したかどうかを判定する判定ブロック。
【００７５】
Ｂ６６：読み込まれた学習データ文を形態素解析する処理ブロック。
【００７６】
Ｂ６７：あらかじめ分類語彙表に基づき作成した単語−クラス対応表を利用して、各単語が属する単語クラスのクラスコードを読み出す処理ブロック。
【００７７】
Ｂ６８：初期バイグラムを用いて、入力文に対する最適クラスコード列を求めるサブルーチン。詳しい処理内容については、図６参照。
【００７８】
Ｂ７０：Ｂ６８で得られたクラスコード列を蓄積する処理ブロック。
【００７９】
Ｂ７２：蓄積されたクラスコード列の集合からクラストライグラムを学習する処理ブロック。処理内容は、例えば、クラスコードｃ1 ，ｃ2 ，ｃ3 が連続した回数（３つ組の出現回数）と、クラスコードｃ1 ，ｃ2 が連続した回数（２つ組の出現回数）とを数え上げ、前者の値を後者の値で割ることにより、確率値Ｐ（ｃ3 ｜ｃ1 ，ｃ2 ）を推定する。このような確率値を、全てのクラスコードの３つ組の組み合わせに対して計算することにより、クラストライグラムを求める。
【００８０】
Ｂ７４：Ｂ７２で得られたクラストライグラムを格納する。
【００８１】
図８は、図３において、評価用クラスコード列に対するパープレキシティを計算する部分のフローチャートである。図８の各ブロックにおける実行内容は以下の通りである。
【００８２】
Ｂ８２：クラストライグラムを読み込む処理ブロック。
【００８３】
Ｂ８４：評価用クラスコード列を読み込む処理ブロック。本発明の効果を示すため、用意された評価用文の組を、人手によってクラスコード列に変換して、評価用クラスコード列を作成した。このコード列に対して、クラスモデルを用いてパープレキシティを計算する場合、最もパープレキシティを低くするクラスモデルを、最も最適なモデルと見なすことができる。
【００８４】
Ｂ８６：Ｂ８２で読み込んだクラストライグラムを用いて、Ｂ８４で読み込んだ評価用クラスコード列に対するパープレキシティを計算する処理ブロック。パープレキシティの計算は数４式に従って行う。
【００８５】
Ｂ８８：Ｂ８６で計算したパープレキシティを出力する処理ブロック。
【００８６】
本実施形態の他に次の形態を実施できる。
【００８７】
１）本実施形態では、初期バイグラムを構成する際、クラスコードの２つ組のあらゆる組み合わせについて数え上げることによって行ったが、初期バイグラムの作成法はこの方法に限らないことはいうまでもない。また、初期バイグラムの代わりに初期トライグラムを用いる場合にも適用可能である。
【００８８】
２）本実施形態では、単語クラスを作成する際、分類語彙表のコード番号の最後の１桁を切り捨てて作成し、また付属語は１単語１クラスとしたが、その他の方法で単語クラスを作成する方法にも適用可能である。
【００８９】
３）本実施形態では、さらに、シソーラスとして国立国語研究所の分類語彙表を用いたが、分類語彙表以外のシソーラスを利用した場合に適用可能なことはいうまでもない。また。ｎ−ｇｒａｍモデルのｎ＝３の場合（トライグラム）の場合にのみ例示したが、その他のｎの値に対しても適用可能であるこは勿論である。
【００９０】
【実施例】
本発明の効果を調べるため、図２に従って求めたクラスコード列を、参照データと比較することにより評価する実験、および、図３に従って、本発明に基づいて作成したクラストライグラムによって、参照データに対するパープレキシティを計算する実験を行った。
【００９１】
学習データベースとして、放送ニュース原稿データベース１９９２年〜１９９６年５月分を利用した。このデータベースは、放送記者が作成したニュース原稿をデータベース化したものである。学習データベースから、図４のフローチャートに従って、初期バイグラムを求めた。一方、評価用データとして、１９９６年６月４日に放送された放送ニュースから書き起こした６７文を用いた。評価用データに対する分類語彙表のカバー率は９８．３％である。さらに、評価用データに対し、対応するクラスコード列を人手によって作成し、これを参照データとした。
【００９２】
本発明の効果を調べるため、各単語をランダムに１つのクラスに割り当てる方法（以下、比較対象法と称する）と、本発明（以下、提案法と称する）とを用いて、評価用データをクラスコード列に変換し、得られた結果を参照データと照合した。その結果を表１に示す。表１において、全変換率とは、評価用データ全体に対する、正しく変換された割合（％）であり、複数コード語の変換率とは、複数の意味コードを持つ単語のみについて計算した割合（％）である。表１より、本発明を用いた方が良好な結果が得られた。
【００９３】
【表１】
0003766517.tif 000009
【００９４】
次に、図３のブロック図に従い、クラストライグラムを求め、それらに基づいてパープレキシティを比較することにより、両方法の比較を行った。その際、比較対象法では、図３のブロック２４の処理を変更し、各単語に対しランダムにクラスコードを割り当てることとした。まず、学習コーパスをクラスコード列に変換し、クラストライグラムを求めた。得られたトライグラムを用いて、テストデータのパープレキシティを計算した結果、比較対象法を用いた場合のパープレキシティが５５．４であったのに対し、本発明を用いた場合には４３．７となった。これは、本発明の方がパープレキシティを低くし得ること、すなわち適切な言語モデルを構成するということを示している。従って、こちらの実験でも、本発明の効果が示された。
【００９５】
【発明の効果】
以上、説明したように、請求項１の発明によれば、複数組が存在するコード列の中から、全体の連鎖確率が最も最大となるクラスコード列を検出することで、１つの単語について、複数のクラスコード列が存在しても、その中から最適なクラスコード列を自動的に選択することができる。
【００９６】
請求項２の発明では最適経路の選択のために動的計画法を使用する。これにより、ある単語のクラスコードを選択する場合には、前後の単語のクラスコードの連鎖関係が良好なクラスコードが自動選択される。加えて動的計画法では、単語列の先頭から順次に最適経路を選択していくので、言語処理装置は、連続する単語列を入力しながら、平行して、最適経路の選択を行えばよく、単語列の最後尾が入力された後、最適クラスコード列の検出を開始する必要はない。
【００９７】
請求項３の発明ではシソーラスの分類コードをクラスコードとして使用することで、単語の意味について連鎖の高いクラスコード列が得られる。
【図面の簡単な説明】
【図１】本発明実施例のクラスコード選択処理を説明するための説明図である。
【図２】本発明実施形態の機能構成を示すブロック図である。
【図３】本発明実施形態の機能構成を示すブロック図である。
【図４】本発明実施形態の初期バイグラム計算手順を示すフローチャートである。
【図５】本発明実施形態の最適クラス列検出のためのメイン処理手順を示すフローチャートである。
【図６】本発明実施形態の最適クラス列検出の詳細処理手順を示すフローチャートである。
【図７】本発明実施例のクラスとトライグラム（連鎖確率）を求める処理手順を示すフローチャートである。
【図８】本発明実施形態のパープレキシティを計算する処理手順を示すフローチャートである。
【符号の説明】
２  形態素解析ブロック
４  切替え器
６  クラス２つ組み計算ブロック
８  初期バイグラム記憶ブロック
１０  最適クラスコード列選択ブロック
２２  形態素解析ブロック
２４  最適クラスコード選択ブロック
２６  クラストライグラム学習ブロック
２８  クラストライグラム記憶ブロック
３０  パープレキシティ計算ブロック
【図１】
0003766517.tif 000010
【図２】
0003766517.tif 000011
【図３】
0003766517.tif 000012
【図４】
0003766517.tif 000013
【図５】
0003766517.tif 000014
【図６】
0003766517.tif 000015
【図７】
0003766517.tif 000016
【図８】
0003766517.tif 000017