(57)【要約】【課題】テキストデータの中から語句を自動的に抽出し分類する装置、方法、およびプログラムに関し、言語学的にまとまった単位の語句の自動抽出および分類を可能にする。【解決手段】テキストデータ中の連文節あるいは文などの一次元文字列に含まれる語句を分類する装置であって、前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成し（Ｓ１０６）、フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズの一次元列中の各フレーズの属性を抽出し（Ｓ１０４）、前記生成したフレーズの一次元列と前記抽出したフレーズの属性とから、前記フレーズの一次元列に対応する属性の一次元列を求め、該属性の一次元列とフレーズの一次元列とを関連付けた語句分類結果を生成してデータベースに格納する（Ｓ１０７，Ｓ１０８）。【選択図】図１
2012014687.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータ中の一次元文字列に含まれる語句を分類する装置であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズの一次元列中の各フレーズの属性を抽出する手段と、
前記生成したフレーズの一次元列と前記抽出したフレーズの属性とから、前記フレーズの一次元列に対応する属性の一次元列を求め、該属性の一次元列とフレーズの一次元列とを関連付けた語句分類結果を生成してデータベースに格納する手段と、
を備えることを特徴とする語句分類処理装置。
【請求項２】
テキストデータに含まれるフレーズを分類する装置であって、
前記テキストデータ中の各々の文を構文解析して得た、フレーズを終端記号とする構文解析木の、各々の部分木について、前記部分木から終端記号であるフレーズの一次元列を抽出するフレーズ列抽出部と、
前記テキストデータから抽出されたフレーズ一次元列から互いに異なるフレーズを抽出し、所定の出現頻度を有するフレーズのそれぞれに固有のフレーズクラスを割り当てる初期化クラス設定部と、
前記フレーズクラスの集合から、取り出すペアがなくなるまで、２つのフレーズクラスのペアを順次取り出して仮マージする仮マージ部と、
前記各ペアの仮マージ毎に、前記仮マージされたフレーズクラスについての確率文脈自由文法によって生成される前記テキストデータのエントリピーを算出するエントロピー算出部と、
前記各仮マージのペアのうち、前記仮マージの前後で前記エントリピーの増加量が最小となるペアに対応する２つのフレーズクラスを本マージする本マージ部と、
を備えることを特徴とするフレーズ分類処理装置。
【請求項３】
第１のテキストデータから、互いに異なるＶ個のフレーズを抽出し、前記Ｖ個のフレーズの集合を前記フレーズの属性ごとにまとめられたＣ個のフレーズクラスに分割したクラスタリングを、前記フレーズと該フレーズクラスとを関連付けたフレーズ分類のデータベースとして生成するフレーズ分類部をさらに備え、
前記部分木中のフレーズの一次元列を生成する手段は、第２のテキストデータから、前記Ｖ個のフレーズおよびその他のフレーズを終端記号とする構文解析木の集合を生成して前記構文解析木から部分木を抽出する部分木抽出部と、前記部分木から終端記号であるフレーズの一次元列を抽出する部分木毎フレーズ列抽出部とを備え、
前記生成したフレーズの一次元列中の各フレーズの属性を抽出する手段は、前記フレーズの一次元列において、前記クラスタリングに基づいて前記フレーズから該フレーズが属するフレーズクラスを求めることを含み、
前記語句分類結果を生成してデータベースに格納する手段は、前記フレーズの一次元列をフレーズクラスの一次元列に変換して、該フレーズクラスの一次元列に前記フレーズの一次元列を対応させ、前記フレーズクラスの一次元列に対応するフレーズの一次元列の集合を１つの語句クラスとする前記語句分類結果を生成することを含む、
ことを特徴とする請求項１に記載の語句分類処理装置。
【請求項４】
前記フレーズ分類部は、
前記フレーズの一次元列から互いに異なるフレーズを抽出し、所定の出現頻度を有するフレーズのそれぞれに固有のフレーズクラスを割り当てる初期化クラス設定部と、
前記フレーズクラスの集合から、２つのフレーズクラスのペアを順次取り出して仮マージする仮マージ部と、
前記各ペアの仮マージ毎に、前記第１のテキストデータの前記仮マージされたフレーズクラスについての平均相互情報量を算出する平均相互情報量算出部と、
前記各仮マージのペアのうち、前記仮マージの前後で前記平均相互情報量の減少量が最小となるペアに対応する２つのフレーズクラスを本マージする本マージ部と、
を備えることを特徴とする請求項３に記載の語句分類処理装置。
【請求項５】
前記フレーズ分類部は、
前記フレーズの一次元列から互いに異なるフレーズを抽出し、所定の出現頻度を有するフレーズのそれぞれに固有のフレーズクラスを割り当てる初期化クラス設定部と、
前記フレーズクラスの集合から、取り出すペアがなくなるまで、２つのフレーズクラスのペアを順次取り出して仮マージする仮マージ部と、
前記各ペアの仮マージ毎に、前記仮マージされたフレーズクラスについての確率文脈自由文法によって生成される前記第１のテキストデータのエントリピーを算出するエントロピー算出部と、
前記各仮マージのペアのうち、前記仮マージの前後で前記エントリピーの増加量が最小となるペアに対応する２つのフレーズクラスを本マージする本マージ部と、
を備えることを特徴とする請求項３に記載の語句分類処理装置。
【請求項６】
前記第２のテキストデータは、前記第１のテキストデータの全部あるいは一部である、
ことを特徴とする請求項３に記載の語句分類処理装置。
【請求項７】
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正する装置であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成する手段と、
前記フレーズクラス置換構文解析木の構文解析結果中の頻度を求める手段と、
前記フレーズの一次元列に対応する部分木を前記構文解析結果から抽出する手段と、
前記抽出されたそれぞれの部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求めそのフレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する手段と、
を備えることを特徴とする構文解析誤り修正装置。
【請求項８】
前記構文解析結果を蓄積したツリーバンク中の部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求め、
前記フレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する手段を用いる、
ことを特徴とする請求項７に記載の構文解析誤り修正装置。
【請求項９】
テキストデータ中の語句を検索する装置であって、
解析対象の文を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、
語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記生成したフレーズの一次元列の中で各々の語句の順がどの属性の順になるかを求める手段と、
語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果のデータベースを参照して、前記求めた属性の順をとる語句群を取得する手段と、
を備えることを特徴とする語句検索装置。
【請求項１０】
テキストデータ中の一次元文字列に含まれる語句を分類する方法であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木の語句について、前記部分木におけるフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズ一次元列中の各フレーズの属性を抽出し、
前記生成したフレーズ一次元列と前記抽出したフレーズの属性とから、前記フレーズ一次元列に対応する属性の一次元列を求め、該属性一次元列にフレーズ一次元列を関連付けて語句分類結果を生成してデータベースに格納する、
ことを特徴とする語句分類処理方法。
【請求項１１】
テキストデータ中の一次元文字列に含まれる語句を分類するコンピュータに、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木の語句について、前記部分木中におけるフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズ一次元列中の各フレーズの属性を抽出し、
前記生成したフレーズ一次元列と前記抽出したフレーズの属性とから、前記フレーズ一次元列に対応する属性の一次元列を求め、該属性一次元列にフレーズ一次元列を関連付けて語句分類結果を生成してデータベースに格納する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
テキストデータの中から語句を自動的に抽出し分類する装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
文書検索装置や日本語フロントエンドプロセッサ（日本語文字入力支援装置）、あるいは機械翻訳装置等においては、検索、入力、あるいは翻訳対象となる語句または文に対して、類似する語句または文を抽出し処理する方法がある。
例えば、キーワードを用いた検索で、入力されたキーワードのみではなく、そのキーワードの類語を含めて検索する方法がある。
【０００３】
類似する語句または文を抽出する技術としては従来、類似辞書を用いることで、類語となる語をクラスタリングで求めることで、入力された文と類似する用例を抽出する技術が知られている（例えば特許文献１）。
また、単語クラスの一次元列において、隣接する単語クラス間の粘着度が所定値以上の単語クラス列を、テキストデータの単語クラスの一次元列から抽出し、単語と単語、単語と連語、連語と連語をまとめて分類を行う技術が知られている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３４４２５６号公報
【特許文献２】特許第３８７５３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
単語は多義的な意味を持つことがある。
従って例えば、単に入力されたキーワードとその類語を用いた検索では、検索を行いたい意味での類語とは別に、そのキーワードがもつ他の意味に関する類語が用いられることがある。
【０００６】
このような場合には、意図したものとは異なる意味を有する類語が検索結果に含まれてしまうことになる。
また、単語クラスの一次元列と隣接する単語クラス間の粘着度に基づいて連語などのフレーズ／語句を抽出する従来技術では、ある単語がフレーズの一部かどうかの判断基準が、単語クラス間の粘着度という言語学的には直接的に意味を持たない基準であった。
【０００７】
このため、たとえば「首相は昨日」のように頻繁に隣接して出現はするが、必ずしも言語学的にまとまった単位ではなく、従って機械翻訳などの言語処理システムに登録するには不適切な語句が抽出される等の問題があった。
そこで、本発明の１つの側面では、意味的にまとまった単位のフレーズを含む連語、語句または文およびそれらの類語を分類または検索を可能にすることにある。
【課題を解決するための手段】
【０００８】
態様の一例では、テキストデータ中の連文節あるいは文などの一次元文字列に含まれる語句を分類する装置であって、前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズの一次元列中の各フレーズの属性を抽出する手段と、前記生成したフレーズの一次元列と前記抽出したフレーズの属性とから、前記フレーズの一次元列に対応する属性の一次元列を求め、該属性の一次元列とフレーズの一次元列とを関連付けた語句分類結果を生成してデータベースに格納する手段と、を備えることを特徴とする語句分類処理装置を提供する。
【発明の効果】
【０００９】
抽出され分類された語句が意味的（言語学的）にまとまった単位であることを保証することが可能となる。
また、個々の語句（ｃｏｎｓｔｉｔｕｅｎｔ）を個別に抽出した場合に生じるデータスパースネスの問題を克服できる。
これにより意味および文法上の振る舞いの近さを基準として、言語学的にまとまった単位の語句、文およびそれらの類語を分類することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態のフローチャートである。
【図２】第１の実施形態における語句分類の例を示す図である。
【図３】第１の実施形態における「類似」の意味を説明する図である。
【図４】構文解析処理および最小単位フレーズ抽出処理の説明図（日本語の場合）である。
【図５】構文解析処理および最小単位フレーズ抽出処理の説明図（英語の場合）である。
【図６】最小単位フレーズ分類処理の説明図である。
【図７】部分木抽出処理の説明図である。
【図８】部分木毎フレーズ列抽出処理およびフレーズ列・フレーズクラス列対応処理の説明図である。
【図９】フレーズ列分類処理の説明図である。
【図１０】第１の実施形態の機能ブロック図である。
【図１１】第１の実施形態のより具体的なフローチャートである。
【図１２】第１の実施形態の動作説明図（その１）である。
【図１３】第１の実施形態の動作説明図（その２）である。
【図１４】第１の実施形態の詳細動作説明図（部分木へのフレーズクラス（文節クラス）付与その１）である。
【図１５】第１の実施形態の詳細動作説明図（部分木へのフレーズクラス（文節クラス）付与その２）である。
【図１６】第１の実施形態の詳細動作説明図（フレーズ列（文節列）の抽出）である。
【図１７】第１の実施形態の詳細動作説明図（フレーズクラス列（文節クラス列）の抽出）である。
【図１８】第１の実施形態の詳細動作説明図（フレーズ列・フレーズクラス列の対応付け処理）である。
【図１９】第１の実施形態の詳細動作説明図（フレーズ列の分類処理その１）である。
【図２０】第１の実施形態の詳細動作説明図（フレーズ列の分類処理その２）である。
【図２１】第１の実施形態の詳細動作説明図（フレーズ列の分類処理その３）である。
【図２２】第１の実施形態の最小単位フレーズ分類（図１のＳ１０４）の第１の具体例フローチャートである。
【図２３】図２２に示す第１の具体例の詳細動作説明図（その１）である。
【図２４】図２２に示す第１の具体例の詳細動作説明図（その２）である。
【図２５】図２２に示す第１の具体例の詳細動作説明図（その３）である。
【図２６】第１の実施形態の最小単位フレーズの分類（図１のＳ１０４）の第２の具体例フローチャートである。
【図２７】図２６に示す第２の具体例の詳細動作説明図（その１）である。
【図２８】図２６に示す第２の具体例の詳細動作説明図（その２）である。
【図２９】フレーズ列の分類例の説明図（例１）である。
【図３０】フレーズ列の分類例の説明図（例２）である。
【図３１】フレーズ列の分類例の説明図（例３）である。
【図３２】フレーズ列の分類例の説明図（例４その１）である。
【図３３】フレーズ列の分類例の説明図（例４その２）である。
【図３４】第２の実施形態における検索処理を示すフローチャートである。
【図３５】第２の実施形態における検索キータームの展開処理を示すフローチャートである。
【図３６】第２の実施形態における検索キーターム展開の最終処理を示すフローチャートである。
【図３７】第２の実施形態の動作説明図である。
【図３８】第３の実施形態（検索キータームの展開処理の他の実施形態）を示すフローチャートである。
【図３９】第２、第３の実施形態の機能ブロック図である。
【図４０】第４の実施形態の機能ブロック図である。
【図４１】第４の実施形態の動作説明図（その１）である。
【図４２】第４の実施形態の動作説明図（その２）である。
【図４３】第４の実施形態の動作説明図（その３）である。
【図４４】第５の実施形態の概略動作説明図（その１）である。
【図４５】第５の実施形態の概略動作説明図（その２）である。
【図４６】第５の実施形態のフローチャートである。
【図４７】第５の実施形態の詳細動作説明図（フレーズクラス置換構文解析木の生成処理）である。
【図４８】第５の実施形態の詳細動作説明図（部分木構造とフレーズ列・フレーズクラス列の対応付け処理）である。
【図４９】第５の実施形態の詳細動作説明図（フレーズクラス置換構文木の頻度計算処理）である。
【図５０】第５の実施形態における構文解析結果修正処理のフローチャートである。
【図５１】第５の実施形態の詳細動作説明図（構文解析結果における部分木構造の置換処理）である。
【図５２】第５の実施形態の詳細動作説明図（構文解析木の置換処理）である。
【図５３】第５の実施形態を適用した第１の実施形態のフローチャートである。
【図５４】実施形態のシステムを実現可能なハードウェアの構成図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
まず、第１の実施形態について説明する。
第１の実施形態は、与えられたテキストデータから類似表現（類似語句）をひとまとまりにした語句分類を生成することを可能にする語句分類処理装置に関するものである。
【００１２】
図１は、第１の実施形態のフローチャートである。このフローチャートは、例えばＣＰＵ（中央演算処理装置）、メモリ、入出力装置、外部記憶装置などがバスで接続された構成を有するコンピュータで実行される語句分類の制御処理を示すものである。すなわち例えば、ＣＰＵが、外部記憶装置に記憶された図１のフローチャートに対応する制御プログラムをメモリに読み出し、順次実行する制御処理を示すものである。
【００１３】
まず、第１のテキストデータが読み込まれる（ステップＳ１０１）。次に、ステップＳ１０１で読み込まれた第１のテキストデータから、構文解析木（構文木）を生成する構文解析処理が実行される（ステップＳ１０２）。次に、ステップＳ１０２で得られた構文解析木毎に、その構文解析木に対応するテキストデータ部分から、最小単位フレーズの一次元列、例えば日本語の場合には文節列が抽出される（ステップＳ１０３）。ステップＳ１０３の動作は、図４で説明する。ここで、「文節」とは、文を細かく切っていったときの、最も小さい意味のまとまりをいう。
【００１４】
一般に、文節は、文中での働きや意味から、「主語」「述語」「修飾語」「接続語」「独立語」に分類することができる。また、「フレーズ」とは、文を、意味のまとまりを保持した形で細かく切っていったときの断片をいう。文節をさらに切断すると意味のまとまりが保持できなくなるため、日本語においては文節がフレーズの最小単位となる。そこで、日本語においては文節を「最小単位フレーズ」という。英語に関しては後述する。
【００１５】
構文解析処理に対する入力となる第１のテキストデータは、文節または最小単位フレーズが複数連なって言語的な意味をなすように構成された単位、すなわち連文節あるいは文などの一次元文字列の集合である。
次に、ステップＳ１０３で抽出された最小単位フレーズの一次元列についてクラスタリングが実行されることにより、全ての最小単位フレーズが複数のフレーズクラスに分類される（ステップＳ１０４）。
【００１６】
本実施形態において、「フレーズクラス」とは、同義のフレーズのクラスを言う。ステップＳ１０４の動作は、図６及び図２７で説明する。
一方、語句を形成するテキストデータの集合を文単位で記憶する第２のテキストデータについて、第１のテキストデータの場合と同様にして、ステップＳ１０１、Ｓ１０２、Ｓ１０３が実行される。
【００１７】
これにより、第２のテキストデータについて、構文解析が実行された構文解析木が作成されるが、ここでは最小単位フレーズ（文節）を終端記号とする構文解析木が作成される。また作成される各構文解析木毎に、その構文解析木を構成する部分的な木構造である部分木が抽出される（ステップＳ１０５）。
【００１８】
ここで、第２のテキストデータは、連文節あるいは文などの一次元文字列の集合であり、第１のテキストデータと異なってよく、あるいは、第１のテキストデータの全部または一部であってもよい。この動作は、図７で説明する。
【００１９】
次に、ステップＳ１０５で抽出された部分木が１つずつ取り出され、その部分木に含まれる各終端記号（文節）としての最小単位フレーズの一次元列（フレーズ列）が抽出される（ステップＳ１０６）。
本実施形態において、「フレーズ列」とは、テキストデータ（連文節あるいは文などの一次元文字列の集合）中に存在する形での２つ以上のフレーズの連なりをいう。
【００２０】
さらに、ステップＳ１０６において、抽出した部分木毎の最小単位フレーズ列を構成する最小単位フレーズ毎に、それが属するステップＳ１０４にて抽出されたフレーズクラスが抽出される。これにより、部分木毎のフレーズクラスの一次元列（フレーズクラス列）が抽出される。
【００２１】
本実施形態において、「フレーズクラス列」とは、テキストデータ中に存在する形での、２つ以上のフレーズクラスの連なりをいう。そして、部分木毎のフレーズクラスの一次元列に、ステップＳ１０６で抽出されている最小単位フレーズの一次元列が対応付けられる（以上、ステップＳ１０７）。
【００２２】
ステップＳ１０６の動作は、図８及び図１１で説明する。ステップＳ１０７の動作は、図８、図９及び図１１で説明する。
最後に、ステップＳ１０７にて抽出されたフレーズクラス列に対応するＩＤが、フレーズクラス列とそのＩＤ（識別子）との対応関係を記憶するフレーズクラス列ＩＤデータベースで検索される。
【００２３】
データベース上で対応するＩＤがなければ、そのＩＤがフレーズクラス列ＩＤデータベースに新規に登録され、そのＩＤに対応する最小単位フレーズ列登録用のエントリが、語句クラスデータベースに新規に作成される。
語句クラスデータベースには、上記ＩＤ毎に、そのＩＤに対応するフレーズクラス列（語句クラス）に属するフレーズ列（語句）が登録される。
【００２４】
次に、上記フレーズクラス列に対応してフレーズクラス列ＩＤデータベース上で検索されまたは新規登録されたＩＤに対応するエントリが、語句クラスデータベース上で特定される。そして、その特定された語句クラスデータベース上のエントリに、ステップＳ１０７にて上記フレーズクラス列に対応付けられている最小単位フレーズ列が登録される（以上、ステップＳ１０８）。
【００２５】
この動作は、図９で説明する。
以上の構成により、語句クラスデータベースにおいて分類される語句クラスにおいて、図２に示されるような語句分類が実現される。
図２は、第１の実施形態における語句分類の例を示す図である。
【００２６】
図２において例えば、語句分類２０１に示される「長方形の  永久磁石を」「長方形状の  永久磁石を」等は、２文節からなる語句である。また、語句分類２０２に示される「適当な  粘度を  与える」「適度な  粘性を  付与する」等は、３文節からなり文を形成する語句である。
【００２７】
さらに、語句分類２０３に示される「これに  引き続く」「これに  続く」等は、２文節からなる語句である。ここで、「語句」とは、様々な長さのフレーズの総称であり、１文節レベルの最短フレーズから、複数の文節が連なった長いフレーズまで、様々な長さのフレーズを指し、最大一文丸々をもここでは「語句」の範疇に入れて考える。
【００２８】
そして、語句分類２０１、２０２、２０３にはそれぞれ、類似する表現を有する語句が分類される。ここで、「類似」とは、語句が、意味的にも、また統語論的にも（すなわち文法上の振る舞いにおいても）、互いに近いことを意味する。
【００２９】
より厳密には、語句Ａと語句Ｂが、類似表現（類似語句）であるとは、Ａを含む多くの文において、Ａの出現箇所においてＡをＢで置換しても、やはり文法的に正しくかつ意味が通る文が得られ、かつ置換前後で意味の類似した文が得られることを言う。
【００３０】
例えば図３において、文１ａ．中の語句「直方体状の永久磁石を」と文１ｂ．中の語句「直方体形の磁性体を」は、相互に置換しても、文１ａ．と文１ｂ．はともに、文法的に正しくかつ意味が通る文となる。従って、これら２つの語句は類似表現（類似語句）である。
【００３１】
同様に、文２ａ．中の語句「適当な粘度を与える」と文２ｂ．中の語句「適度な粘性を付与する」は、相互に置換しても、文２ａ．と文２ｂ．はともに、文法的に正しくかつ意味が通る文となる。従って、これら２つの語句も類似表現（類似語句）である。
【００３２】
図４は、図１のステップＳ１０２の構文解析処理と、図１のステップＳ１０３の最小単位フレーズ抽出処理の説明図である。日本語の構文解析処理について示されている。
【００３３】
図１のステップＳ１０１で読み込まれる第１のテキストデータ中のある文が、例えば「直方体の永久磁石を平行に配置する」であるとする。これに対して、図１のステップＳ１０２での入力テキストに対する構文解析処理の結果、例えば図４（ａ）に示されるような構文解析木が出力される。
ステップＳ１０２の構文解析処理は、例えば機械翻訳等で通常使われるパーサと呼ばれる構文解析装置によって実現することができる。
【００３４】
次に、図１のステップＳ１０３では、構文解析処理で得られる構文解析木から、最小単位フレーズ列が抽出される。入力テキストが日本語の場合、最小単位フレーズ列は、文節列である。
【００３５】
より具体的にはまず、図４（ａ）に示されるように、構文解析木の末端の記号列である終端記号列に対応する単語列Ｗ1(直方体)、Ｗ2（の）、Ｗ3（永久磁石）、Ｗ４(を)、Ｗ５（平行）、Ｗ６（に）、Ｗ７（配置）、Ｗ8 （する）が抽出される。
【００３６】
次に、図４（ｂ）に示されるように、構文解析木上で抽出された終端記号列の一段上の非終端記号列、
Ｐ1 （直方体の）  Ｐ2 （永久磁石を）Ｐ3 （平行に）  Ｐ4 （配置する）
が、最小単位フレーズ（文節）の一次元列として抽出される。
【００３７】
このように、本実施形態では、単語ではなく、構文解析木解析によって得られる構文解析木上の最小単位フレーズＰ1、Ｐ2、Ｐ3、Ｐ4が、分類処理対象とされる。「最小単位フレーズ」の代表的な定義は、構文解析木のなかで、一番底に位置する終端記号よりも一段だけ上のレベルにある非終端ノードである。
【００３８】
ここで、「最小単位フレーズの定義」としては、一番底に位置する終端記号の一段上のレベルのものに限定せず、「底からＮ番目に位置する非終端ノード」やその他文法によって指定されるノードなども可能である。「最小単位フレーズ」の「最小単位」というのは、本発明における語句分類処理での一連の処理において、フレーズの中でそれ以上短い単位は扱わず「最小単位フレーズ」を取り扱うフレーズの中で最小の単位として取り扱う、という意味で「最小単位」なのであり、必ずしも言語学的に、あるいは言語処理一般において最小な単位であることを意味しない。
【００３９】
図５は、英語の場合の構文解析処理および最小単位フレーズ抽出処理の説明図である。英語の場合には、文節という定義はない。英語の場合も日本語の場合と同様に、まず終端記号列に対応する単語列Ｗ1(The)、Ｗ2（boy）、Ｗ3（hit）、Ｗ４(the)、Ｗ５（ball）、Ｗ６（in）、Ｗ７（the）、Ｗ8 （garden）が抽出される。
【００４０】
次に非終端記号列に対応するＰ1(The boy)、Ｐ2（hit）、Ｐ3（the ball）、Ｐ４(in)、Ｐ５（the garden）が抽出される。そして、本実施形態では英語の場合も日本語と同様に最小単位フレーズＰ1、Ｐ2、Ｐ3、Ｐ4が分類対象とされる。
ステップＳ１０３の処理は、構文解析器の一般的機能として具備されている文節の切出し機能によって実現することができる。
【００４１】
図６は、図１のステップＳ１０４の最小単位フレーズ分類処理の説明図である。最小単位フレーズ分類処理では、上述の最小単位フレーズ抽出処理によって抽出された最小単位フレーズの一次元列についてクラスタリングが実行される。例えば、図６（ａ）に示されるように、入力テキストデータに対する構文解析処理によって、最小単位フレーズ抽出処理によって、Ｔ個の最小単位フレーズ（文節）Ｐ1 、Ｐ2 、・・・、ＰT の一次元列が抽出されたとする。最小単位フレーズ分類処理では、クラスタリング処理によって、このＴ個の最小単位フレーズ（文節）Ｐ1 、Ｐ2 、・・・、ＰT の一次元列がＣ個のフレーズクラスＣ1 、Ｃ2 、・・・、Ｃ100 ・・・に分類される。
【００４２】
図７は、図１のステップＳ１０５の部分木抽出処理の説明図である。部分木抽出処理では、第２のテキストデータに対する構文解析処理で得られる例えば図７（ａ）に示される構文解析木から終端記号列に対応する単語列Ｗ1 、Ｗ2 、Ｗ3 、・・・Ｗ8 の部分を除くことで、最小単位フレーズ（文節）Ｐ1 、Ｐ2 、・・・、ＰT の一次元列を終端記号とする構文解析木が得られる。
【００４３】
続いて、その構文解析木を構成する部分的な木構造である部分木が抽出される。この結果、例えば図７（ｂ）に示される最小単位フレーズ（文節）Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の一次元列を終端記号とする構文解析木から、図７（ｃ）に示されるように、最小単位フレーズ（文節）Ｐ1 、Ｐ2 の一次元列を終端記号とする部分木が抽出される。
【００４４】
また、最小単位フレーズ（文節）Ｐ3 、Ｐ4 の一次元列を終端記号とする部分木が抽出される。さらに、最小単位フレーズ（文節）Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の一次元列を終端記号とする部分木が抽出される。
【００４５】
図８は、図１のステップＳ１０６の部分木毎フレーズ列抽出処理と、図１のステップＳ１０７のフレーズ列・フレーズクラス列対応処理の説明図である。部分木毎フレーズ列抽出処理では、部分木抽出処理で抽出された例えば図７（ｃ）のラベル１，２，３として示される部分木毎に、その部分木に含まれる各終端記号（文節）としての最小単位フレーズの一次元列が抽出される。
【００４６】
すなわち、図７（ｃ）に示される最小単位フレーズ（文節）Ｐ1 、Ｐ2 の一次元列を終端記号とする部分木に対応して、図８のＳ８０１のラベル１として示される最小単位フレーズ列「直方体の  永久磁石を」が抽出される。また、最小単位フレーズ（文節）Ｐ3 、Ｐ4 の一次元列を終端記号とする部分木に対応して、図８のＳ８０１のラベル２として示される最小単位フレーズ列「平行に  配置する」が抽出される。
【００４７】
さらに、最小単位フレーズ（文節）Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の一次元列を終端記号とする部分木に対応して、図８のＳ８０１のラベル３として示される最小単位フレーズ列「直方体の  永久磁石を  平行に  配置する」が抽出される。
次に、部分木毎フレーズクラス列抽出処理ではまず、部分木毎フレーズ列抽出処理にて抽出されている構文解析木上の最小単位フレーズ（文節）の一次元列、
Ｐ1 （直方体の）  Ｐ2 （永久磁石を）Ｐ3 （平行に）  Ｐ4 （配置する） 
について、以下の処理が実行される。
【００４８】
すなわち、各最小単位フレーズが属するフレーズクラスが、最小単位フレーズ分類処理にて得られているフレーズクラスの集合中から抽出される。例えば、図８のＳ８０２の（ａ）において、最小単位フレーズＰ1 （直方体の）に対してフレーズクラスＣ5 が抽出され、最小単位フレーズＰ2 （永久磁石を）に対してフレーズクラスＣ8 が抽出され、最小単位フレーズＰ3 （平行に）に対してフレーズクラスＣ3 が抽出され、最小単位フレーズＰ4 （配置する）に対してフレーズクラスＣ7 が抽出される。
【００４９】
続いて、上述の各最小単位フレーズとフレーズクラスとの対応関係に基づいて、部分木毎フレーズクラス列抽出処理において、以下の処理が実行される。すなわち、部分木毎フレーズ列抽出処理にて抽出された例えば図７（ｃ）のラベル１，２，３として示される各部分木の最小単位フレーズ列毎に、図８のＳ８０２の（ｂ）に示されるように、フレーズクラス列が対応付けられて抽出される。すなわち、図８のＳ８０３として示されるように、ラベル１の部分木の最小単位フレーズ（文節）Ｐ1 、Ｐ2 の一次元列に対して、フレーズクラス列Ｃ5 Ｃ8 が抽出される。
【００５０】
また、ラベル２の部分木の最小単位フレーズ（文節）Ｐ3 、Ｐ4 の一次元列に対して、フレーズクラス列Ｃ3 Ｃ7 が抽出される。さらに、ラベル３の部分木の最小単位フレーズ（文節）Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4の一次元列に対して、フレーズクラス列Ｃ5 Ｃ8 Ｃ3 Ｃ7 が抽出される。そして、部分木毎フレーズクラス列抽出処理において、部分木毎に抽出されたフレーズ列とフレーズクラス列が対応付けられる。
【００５１】
例えば図８のＳ８０１に示されるように抽出されたフレーズ列と、図８のＳ８０３のように抽出されたフレーズクラス列とが対応付けられる（図８のＳ８０４）。これにより、ラベル１の部分木に関して、最小単位フレーズ列「直方体の  永久磁石を」とフレーズクラス列Ｃ5 Ｃ8 が対応付けられる。
【００５２】
また、ラベル２の部分木に関して、最小単位フレーズ列「平行に  配置する」とフレーズクラス列Ｃ3 Ｃ7 が対応付けられる。さらに、ラベル３の部分木に関して、最小単位フレーズ列「直方体の  永久磁石を  平行に  配置する」とフレーズクラス列Ｃ5 Ｃ8 Ｃ3 Ｃ7 が対応付けられる。
【００５３】
図９は、図１のステップＳ１０８のフレーズ列分類処理の説明図である。フレーズ列分類処理では、部分木毎フレーズクラス列抽出処理にて抽出されたフレーズクラス列に対応するＩＤがフレーズクラス列ＩＤデータベース上で検索される。
例えば図８のＳ８０３に示されるラベル１の部分木に対応するフレーズクラス列Ｃ5 Ｃ8 に対応するフレーズクラス列ＩＤ＝ｍが、フレーズクラス列ＩＤデータベース上で検索される。
【００５４】
例えば図９のＳ９０１として示されるように、検索が成功すると、ＩＤ＝ｍに対応するエントリが語句クラスデータベース上で特定される。そして、図９のＳ９０２として示されるように、そのエントリに、ラベル１の部分木に対応してフレーズクラス列Ｃ5 Ｃ8 に対応付けられている図８のＳ８０１に示されるフレーズ列「直方体の  永久磁石を」が、登録される。
【００５５】
フレーズクラス列ＩＤデータベース上でのフレーズ列ＩＤの検索に失敗した場合には、そのフレーズクラス列は初めて出現したものである。この場合には、そのＩＤがフレーズクラス列ＩＤデータベースに新規に登録され、そのＩＤに対応する最小単位フレーズ列登録用のエントリが、語句クラスデータベースに新規に作成される。
【００５６】
その後、他の部分木に対応して同じフレーズクラス列Ｃ5 Ｃ8 が抽出された場合には、そのフレーズクラス列のフレーズクラス列ＩＤ＝ｍに対応する語句クラスデータベース上のエントリに、その部分木に対応付けられている新たなフレーズ列が登録される。
上述したように、第１の実施形態によれば、テキストデータの構文解析木の部分木に対応する語句を、フレーズクラスの列に対応させ、同一のフレーズクラス列に対応する語句を抽出して１つの語句クラスとすることにより語句の分類を行う。
【００５７】
これらの一連の処理が、第２のテキストデータのコーパス全体にわたって繰返し実行される。この結果、第１の実施形態では、語句抽出の基準として、構文解析木の部分木に対応する語句（ｃｏｎｓｔｉｔｕｅｎｔ、部分木の一番下の葉を左から右に並べたもの）のみを抽出するという制約を課すことにより、抽出された語句が言語学的にまとまった単位であることを保証している。
【００５８】
更に第１の実施形態では、ｃｏｎｓｔｉｔｕｅｎｔをフレーズの１次元列で表現し、更にフレーズの１次元列をフレーズクラスの１次元列に対応させ、そのフレーズクラスの１次元列の頻度をｃｏｎｓｔｉｔｕｅｎｔ抽出の際の閾値として使うことで、個々のｃｏｎｓｔｉｔｕｅｎｔを個別に抽出した場合に生じるデータスパースネス問題を克服している。これにより本実施形態によれば意味および文法上の振る舞いの近さを基準として、言語学的にまとまった単位の語句を分類することができる。
【００５９】
上記のデータスパースネス問題とは、コーパスベースの自然言語処理において頻出する問題である。コーパスベースの自然言語処理においては、大量のテキストの中から有益な言語現象や言語統計を抽出し学習を行い、それを基に課題の処理を行うが、抽出する言語現象が精緻な（きめの細かい）ものであればあるほど、その頻度が低くなり、学習データに一度も現れなかった（頻度ゼロの）言語現象を課題として扱わなければならなくなるケースが増えてくる。これがデータスパースネス問題である。
【００６０】
本発明の第１の実施形態により、個々の語句をばらばらに扱うのではなく、語句クラスとしてグループ化して扱うことにより、取り扱う言語現象の頻度を飛躍的に高めることができ、データスパースネス問題を克服することができる。
以上により、本発明の第１の実施形態によれば、より精度がよくかつ高速な検索を可能とするテキストデータの分類が可能となる。
【００６１】
図１０は、図１のフローチャートで示される第１の実施形態を語句分類処理装置として実現した場合の機能ブロック図である。図１０において、テキストデータ記憶部１００１−１は、語句を形成する第１のテキストデータの集合を、文単位で記憶する。
【００６２】
構文解析部１００２は、テキストデータ記憶部１００１−１から第１のテキストデータを読み込み、１つ以上の構文解析木を生成する構文解析処理を実行する。この部分は、図１のステップＳ１０１およびＳ１０２の処理に対応する機能を実現する。
最小単位フレーズ抽出部１００３は、構文解析部１００２が構文解析した構文解析木毎に、その構文解析木に対応するテキストデータ部分から、最小単位フレーズの一次元列、例えば日本語の場合には文節列を抽出する。この部分は、図１のステップＳ１０３の処理に対応する機能を実現する。
【００６３】
最小単位フレーズ分類部１００４は、最小単位フレーズ抽出部１００３が抽出した最小単位フレーズの一次元列についてクラスタリングを実行することにより、全ての最小単位フレーズを複数のフレーズクラスに分類する。この部分は、図１のステップＳ１０４の処理に対応する機能を実現する。
【００６４】
部分木抽出部１００５は、テキストデータ記憶部１００１−２に記憶されている第２のテキストデータを構文解析して得た各構文解析木毎に、その構文解析木を構成する部分的な木構造である部分木を抽出する。この部分は、図１のステップＳ１０５の処理に対応する機能を実現する。
【００６５】
ここで、テキストデータ記憶部１００１−２は、テキストデータ記憶部１００１−１と同じであってもよく、第２のテキストデータは、第１のテキストデータの全部または一部であってもよい。
【００６６】
部分木毎フレーズ列抽出部１００６は、部分木抽出部１００５が抽出した部分木を１つずつ取り出し、その部分木に含まれる各終端記号（文節）としての最小単位フレーズの一次元列を抽出する。この部分は、図１のステップＳ１０６の処理に対応する機能を実現する。
部分木毎フレーズクラス列抽出部１００７は、部分木毎フレーズ列抽出部１００６が抽出した部分木毎の最小単位フレーズ列を構成する最小単位フレーズ毎に、それが属する最小単位フレーズ分類部１００４が抽出したフレーズクラスを抽出する。
【００６７】
これにより、部分木毎フレーズクラス列抽出部１００７は、部分木毎のフレーズクラスの一次元列を抽出する。そして、部分木毎フレーズクラス列抽出部１００７は、部分木毎のフレーズクラスの一次元列に、部分木毎フレーズ列抽出部１００６が抽出している最小単位フレーズの一次元列を対応付ける。この部分は、図１のステップＳ１０７の処理に対応する機能を実現する。
【００６８】
フレーズ列分類部１００８は、部分木毎フレーズクラス列抽出部１００７が抽出したフレーズクラス列に対応するＩＤをフレーズクラス列ＩＤデータベース記憶部３０９上で検索する。フレーズ列分類部１００８は、対応するＩＤがなければ、そのＩＤをフレーズクラス列ＩＤデータベース記憶部３０９に新規に登録し、そのＩＤに対応する最小単位フレーズ列登録用のエントリを、語句クラスデータベース記憶部３１０に新規に作成する。
フレーズ列分類部１００８は、上記フレーズクラス列に対応してフレーズクラス列ＩＤデータベース記憶部３０９上で検索されまたは新規登録されたＩＤに対応するエントリを、語句クラスデータベース記憶部３１０上で特定する。
【００６９】
そして、フレーズ列分類部１００８は、その特定した語句クラスデータベース記憶部３１０上のエントリに、部分木毎フレーズ列抽出部１００６において上記フレーズクラス列に対応付けられている最小単位フレーズ列を登録する。この部分は、図１のステップＳ１０８の処理に対応する機能を実現する。
【００７０】
図１１は、第１の実施形態をより詳細に説明するフローチャートである。このフローチャートは、図１の第１の実施形態のフローチャートのステップＳ１０６からＳ１０８までの一連の処理の具体例を開示するものである。
まず、図１のステップＳ１０５によって以下のような部分木が与えられ(図１１のステップＳ１１０１)、図１のステップＳ１０４によって以下のような最小単位フレーズ分類結果が与えられる（図１１のステップＳ１１０２）。
【００７１】
部分木は、第２のテキストデータから生成されたものである。第２のテキストデータがＮ個の文からなる場合は、まずＮ個の「最小単位フレーズ（文節）を終端ノードとする構文解析木」が得られる。そして、それぞれの構文解析木から、その構文解析木中の非終端ノードの数だけの部分木が得られる。
【００７２】
従って、１文中の平均非終端ノード数がＭの場合、全テキストデータから合計Ｎ×Ｍ（＝Ｋ）個の部分木が収集されることになる。
例えば、第２のテキストデータ中のある１文（Ａ）が、
Ａ：「直方体の永久磁石を平行に配置する」
という文であった場合、図１２（ａ）に示される３個の非終端ノードに対応して、図１２（ｂ）に示されるように、３個の部分木が得られる。より具体的には、図１４（ａ）に示されるように、総計Ｋ個の部分木が得られる。
【００７３】
次に、最小単位フレーズ分類結果は、図１のステップＳ１０４で得られる最小単位フレーズ（文節）の分類（クラスタリング）の結果である。ここでは、全部でＬ個のクラスに分類されたとして、それぞれのクラスに、Ｐ1 からＰL までの固有のＩＤ（番号）がふられているとする。具体的には、日本語の場合、図１４（ｂ）に示されるような形式で、各文節クラスＩＤ毎に、各クラスに属する文節が登録されている。
【００７４】
次に、図１１のステップＳ１１０３の部分木へのフレーズクラス付与の処理は、以下に示されるようにして実行される。まず、図１５（ａ）に示されるような総計Ｋ個の部分木から、１つずつ部分木が取り出される。
【００７５】
そして、その部分木に含まれる各終端記号（文節）に対し、ステップＳ１１０２で得た文節分類結果（図１５（ｂ）、図１４（ｂ））から、その文節の属する文節クラスを検索し、その文節に文節クラスのＩＤを対応させる。結果として、Ｋ個の部分木から、Ｋ個のフレーズクラス情報付き部分木が得られる。このＫ個のフレーズクラス情報付き部分木に１からＫまでの通し番号を付ける。
【００７６】
例えば、図１３（ｂ）に示される部分木（１Ｂ）に含まれる各終端記号（文節）Ｐ1 、Ｐ2 に対して、図１３（ａ）に示される文節分類結果からそれぞれ文節クラスＰ5 、Ｐ8 が検索され、この結果、図１３（ｃ）に示されるフレーズクラス情報付き部分木（１Ｐ）が得られる。このフレーズクラス情報付き部分木のデータ構造は、図１５（ｃ）に示される如くとなる。
【００７７】
次に、図１１のステップＳ１１０４のフレーズ列の抽出処理は、以下に示されるようにして実行される。すなわち、ステップＳ１１０３で抽出された各フレーズクラス情報付き部分木から、部分木に含まれる全終端記号（文節）を左から右に順番に並べた結果得られる文節の１次元列（フレーズ列）を抽出する。この結果、合計Ｋ個のフレーズクラス情報付き部分木からＫ個のフレーズ列が抽出される。
【００７８】
図１３の例では、フレーズクラス情報付き部分木（１Ｐ）からフレーズ列「直方体の  永久磁石を」が抽出される。より具体的には、図１６（ａ）に示されるようなフレーズクラス情報付き部分木データから、図１６（ｂ）に示されるようなフレーズ列（文節列）のデータが得られる。
【００７９】
次に、図１１のステップＳ１１０５のフレーズクラス列（文節クラス列）の抽出処理は、以下に示されるようにして実行される。すなわち、ステップＳ１１０３で抽出された各フレーズクラス情報付き部分木から、部分木に含まれる終端記号（文節）に付与された文節クラスＩＤを左から右に順番に並べた結果得られる文節クラスの１次元列（フレーズクラス列）が抽出される。この結果、合計Ｋ個のフレーズクラス情報付き部分木からＫ個のフレーズクラス列が抽出される。
【００８０】
図１３の例では、フレーズクラス情報付き部分木（１Ｐ）からフレーズクラス列「Ｃ5 、Ｃ8 」が抽出される。より具体的には、図１７（ａ）に示されるようなフレーズクラス情報付き部分木データから、図１７（ｂ）に示されるようなフレーズクラス列（文節クラス列）のデータが得られる。
【００８１】
次に、フレーズ列・フレーズクラス列の対応付処理は、以下のようにして実行される。
すなわち、ステップＳ１１０４およびステップＳ１１０５で抽出されたｎ番目の（通し番号ｎの）フレーズクラス情報付き部分木から得られたフレーズ列およびフレーズクラス列が互いに対応付けられる。
【００８２】
図１３の例では、フレーズ列「直方体の  永久磁石を」とフレーズクラス列「Ｃ5 、Ｃ8 」が対応付けられる。この結果、全部でＫ個の「フレーズ列−フレーズクラス列」ペアが生成される。より具体的には、図１８（ａ）に示されるフレーズ列（文節列）のデータと図１８（ｂ）に示されるフレーズクラス列（文節クラス列）のデータとから、図１８（ｃ）に示されるようなフレーズ列とフレーズクラス列のペアのデータが得られる。
【００８３】
最後に、ステップＳ１１０７のフレーズ列の分類処理は、以下のようにして実行される。まず、ステップＳ１１０５で得られたフレーズクラス列のデータが、任意の基準でソートされる。例えば、図１９（ａ）に示されるフレーズクラス列（文節クラス列）のデータが、図１９（ｂ）に示されるようにソートされる。
次に、ソートされたフレーズクラス列の集合から重複する要素が削除され、互いに異なるフレーズクラス列の集合が得られる。
【００８４】
そして、合計Ｑ個の異なるフレーズクラス列が得られとし、それぞれに１からＱまでの通し番号（ＩＤ）が付与される。具体的には、図１９（ｂ）のように得られたソートされたフレーズクラス列（文節クラス列）のデータから、図１９（ｃ）に示されるようなＱ個の異なるフレーズクラス列（文節クラス列）のデータが得られる。
【００８５】
フレーズクラス列とそのＩＤの対応関係を示すエントリが、図１０のフレーズクラス列ＩＤデータベース記憶部３０９に記憶されるフレーズクラス列ＩＤデータベースに格納される。具体的には、図２０（ａ）に示されるＱ個の異なるフレーズクラス列（文節クラス列）のデータと各ＩＤ１〜Ｑとの対応関係が、図２０（ｂ）に示されるように、フレーズクラス列ＩＤデータベースに格納される。
【００８６】
次に、１からＱまでのＩＤがふられたＱ個の空の（要素数０の）語句クラスのエントリが作成され、例えば図２０（ｃ）に示されるように、語句クラスデータベース記憶部３１０に記憶される語句クラスデータベースに格納される。
【００８７】
ステップＳ１１０６で得られたＫ個の「フレーズ列−フレーズクラス列」ペアのそれぞれについて（例えば図２１（ａ））、フレーズクラス列にふられたＩＤがフレーズクラス列ＩＤデータベースから検索される（例えば図２１（ｂ））。そして、そのＩＤと同じＩＤを持つ語句クラスデータベース中の語句クラスのエントリに、対応するフレーズ列が挿入される（例えば図２１（ｃ））。Ｋ個のペアについてステップＳ１１０７の処理が実行された結果、Ｋ個のフレーズ列が、Ｑ個の語句クラスのいずれかにそれぞれ分類される。最後に、Ｑ個の語句クラスが、フレーズ列分類結果として出力される。
【００８８】
図２２は、図１の第１の実施形態のフローチャートのステップＳ１０４の最小単位フレーズ分類処理の第１の具体例を開示するものである。図６にて説明したように、最小単位フレーズ分類処理では、例えばＴ個の最小単位フレーズ（文節）Ｐ1 、Ｐ2 、・・・、ＰT の一次元列が、Ｃ個のフレーズクラスＣ1 、Ｃ2 、・・・、Ｃ100 ・・・にクラスタリングされる。
【００８９】
図２２に示されるフローチャートでは、このクラスタリング処理が、平均相互情報量を評価指標として実行される。図２２において、まず、現在までに得られているフレーズクラスの集合から、フレーズクラスのペア（Ｐ1 、Ｐ2 ）が選択される（ステップＳ２２０１）。
【００９０】
初期状態では、フレーズクラスのペア（Ｐ１，Ｐ２）は各々、最小単位フレーズ１つのみを要素とするフレーズクラス（シングルトンクラス）からなる。次の状態からはフレーズクラスのペア（Ｐ１，Ｐ２）は各クラスからなる。そして、選択可能な全てのフレーズクラスのペアについて、ステップＳ２２０２からＳ２２０４までの一連の処理が繰り返し実行される（ステップＳ２２０１からＳ２２０５のループ処理）。
【００９１】
各繰返しにおいて、まず、フレーズクラスのペアＰ1 とＰ2 が仮マージされ、平均相互情報量の減少量が算出される（ステップＳ２２０２）。以降、この量を、ｍｉｌｏｓｓと呼ぶ。
【００９２】
次に、ｍｉｌｏｓｓが、これまでの最小値Ｍｉｎよりも小さいか否かが判定される（ステップＳ２２０３）。ステップＳ２２０３の判定がＹＥＳならば、Ｍｉｎがｍｉｌｏｓｓの値に置き換えられる（ステップＳ２２０４）。ステップＳ２２０３の判定がＮＯの場合またはステップＳ２２０４の処理の後、ステップＳ２２０５→Ｓ２２０１の制御処理が実行され、次のフレーズクラスのペア（Ｐ1 、Ｐ2 ）が選択される。
【００９３】
以上のループ処理によって、全てのフレーズクラスのペアに対する処理が終了すると、平均相互情報量の減少量（ｍｉｌｏｓｓ）の最小値Ｍｉｎに対応する仮マージペア（Ｐ1 、Ｐ2 ）が実際にマージされて１つのクラスとされ、クラス数が１減少させられる。
その後、フレーズのクラス数が規定値まで減少したか否かが判定される（ステップＳ２２０７）。
【００９４】
ステップＳ２２０７の判定がＮＯならば、ステップＳ２２０１の処理に戻って、再度ステップＳ２２０１からＳ２２０５までのループ処理が実行される。ステップＳ２２０７の判定がＹＥＳとなると、図１のステップＳ１０４の最小単位フレーズ分類処理を終了する。クラスタリングの結果は、各クラスに属する最小単位フレーズの識別情報と共に、記憶装置に記憶される。
【００９５】
図２２のフローチャートで示される最小単位フレーズ分類処理の詳細について、さらに図２３から図２５の説明図を用いて説明する。まず、図１のステップＳ１０３の最小単位フレーズ抽出処理によって、入力される第１のテキストデータが最小単位フレーズ、ここでは日本語の例のため文節に分割される。
【００９６】
例えば、テキストデータ「前記ステップ１により制御手段Ａを構成し前記ステップ２により前記駆動牽制手段Ｂを構成する」は、空白を区切りとして次のように分割される。
「前記ステップ１に  より  制御手段Ａを  構成し  前記ステップ２に  より  前記駆動牽制手段Ｂを  構成する」
【００９７】
次に、第１のテキストデータ中の全ての文について文節の抽出処理が実行される。そして、互いに異なる文節が抽出され、抽出された文節が頻度の高い順に並べられて、頻度付き文節リストが作成される。頻度に閾値を儲け、その閾値よりも頻度の低い文節を文節リストから削除してもよい。
【００９８】
この結果、例えば、図２３の２３０１に示されるような文節リストが得られる。例えば、第１のテキストデータから、図２４（ａ）に示されるように、Ｔ個からなる文節の一次元列（Ｂ1 Ｂ2 Ｂ3 ・・・ＢT ）が抽出されるとする。この文節列に対して、テキストデータでの出現頻度順の並びかえが実行される。この結果、図２４（ｂ）に示されるように、Ｖ個の文節のリスト｛Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・、ＰＶ｝が生成される。
【００９９】
次に、このテキストデータの最小構成単位としての文節｛Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・、ＰＶ｝のそれぞれに、文節クラス（フレーズクラス）として初期化クラスが割り当てられる。初期状態において、それぞれの文節クラスには１つのみの文節が属する。ここで、文節の個数Ｔは、例えば、１億個であり、文節リストの個数Ｖは、例えば、１００万個である。出現頻度順に上位の所定数が選択されることにより、文節リストの個数Ｖが文節の個数Ｔよりも大幅に削減される。
【０１００】
図２２のフローチャートでは、Ｖ個の文節のリスト｛Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・、ＰＶ｝が、ステップＳ２２０１でのフレーズクラスの集合とされる。
そして、図２２のフローチャートで示されるクラスタリング処理は、次のような処理として実現される。すなわち、この文節リストである初期化クラスから選択される２つの文節クラスをマージした場合に、元のテキストデータの生成確率の減少量が最も少なくなるものを同一の文節クラスに統合する処理である。
【０１０１】
ここで、元のテキストデータの文節ベースのクラスバイグラムモデルによる生成確率は、平均相互情報量ＡＭＩを用いて表現することができ、この平均相互情報量ＡＭＩは次式により表すことができる。
【０１０２】
【数１】
2012014687.tif 000003
【０１０３】
ここで、Ｐr （Ｐi ）は、テキストデータの文節の一次元列（Ｂ1Ｂ2Ｂ3 ・・・ＢT ）をその文節が属する文節クラスで置き換えた場合、そのテキストデータの文節クラスの一次元列でのクラスＰi の出現確率、Ｐr （Ｐj ）は、テキストデータの文節の一次元列（Ｂ1Ｂ2Ｂ3 ・・・ＢT ）をその文節が属する文節クラスで置き換えた場合、そのテキストデータの文節クラスの一次元列でのクラスＰj の出現確率、Ｐr （Ｐi 、Ｐj ）は、テキストデータの文節の一次元列（Ｂ1Ｂ2Ｂ3 ・・・ＢT ）を、その文節が属する文節クラスで置き換えた場合、そのテキストデータの文節クラスの一次元列での文節クラスＰi の次に隣接して文節クラスＰj が出現する確率である。
【０１０４】
図２２のステップＳ２２０２では、仮マージの前後でそれぞれ上記数１式に基づいて平均相互情報量ＡＭＩが算出され、両者間の減少量が算出される。
図２５は、図２２のフローチャートに対応する機能ブロック図である。図２５において、初期化クラス設定部２５０１は、テキストデータの文節の一次元列（Ｂ1Ｂ2Ｂ3 ・・・ＢT ）から互いに異なる文節を抽出し、所定の出現頻度を有するＶ個の文節｛Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・、ＰＶ｝のそれぞれに、固有の文節クラス｛Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 、・・・、ＰV ｝を割り当てる。
【０１０５】
仮マージ部２５０２は、文節クラスの集合｛Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 、・・・、ＰM ｝から２つの文節クラス｛Ｐi 、Ｐj ｝を取り出して仮マージする。仮マージ部２５０２は、図２２のステップＳ２２０２の機能を実現する。平均相互情報量算出部２５０３は、テキストデータの仮マージされた文節クラス｛Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 、・・・、ＰM-1 ｝についての平均相互情報量ＡＭＩを数１式により算出する。
【０１０６】
そして、平均相互情報量算出部２５０３は、新たに算出された平均相互情報量ＡＭＩの仮マージ前の平均相互情報量ＡＭＩからの減少量を算出する。この平均相互情報量算出部２５０３は、図２２のステップＳ２２０２の機能を実現する。
【０１０７】
この場合、Ｍ個の文節クラスの集合｛Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 、・・・、ＰM ｝から２つの文節クラス｛Ｐi 、Ｐj ｝を取り出だす取り出しかたは、Ｍ（Ｍ−１）／２個だけ存在するので、Ｍ（Ｍ−１）／２回の平均相互情報量ＡＭＩの計算を行う必要がある。すなわち、図２２のステップＳ２２０１からＳ２２０５のループ処理の繰返し回数は、Ｍ（Ｍ−１）／２回となる。
【０１０８】
本マージ部２５０４は、仮マージ部２５０２により計算されたＭ（Ｍ−１）／２個の平均相互情報量ＡＭＩの値に基づいて、平均相互情報量ＡＭＩの減少量を最小とする２つの文節クラス｛Ｐi 、Ｐj ｝を文節クラスの集合｛Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 、・・・、ＰM ｝から取り出して本マージする。
【０１０９】
本マージ部２５０４は、図２２のステップＳ２２０６の機能を実現する。このことにより、本マージされたいずれかの文節クラス｛Ｐi 、Ｐj ｝に属する文節は、同一の文節クラスに分類される。
【０１１０】
図２６は、図１の第１の実施形態のフローチャートのステップＳ１０４の最小単位フレーズ分類処理の第２の具体例を開示するものである。図２６に示されるフローチャート（その２）では、クラスタリング処理が、図２２に示されるフローチャートで使用された平均相互情報量の代わりに、確率文脈自由文法によって生成される言語（文の集合）のエントリピーを評価指標として実行される。
【０１１１】
図２６において、まず、現在までに得られているフレーズクラスの集合から、フレーズクラスのペア（Ｐ1 、Ｐ2 ）が選択される（ステップＳ２６０１）。
第３の実施形態の場合と同様に、初期状態では、フレーズクラスの集合は、各最小単位フレーズを１つのみ要素として持つクラスをそれぞれフレーズクラスとするものである。
そして、選択可能な全てのフレーズクラスのペアについて、ステップＳ２６０２からＳ２６０４までの一連の処理が繰り返し実行される（ステップＳ２６０１からＳ２６０５のループ処理）。
【０１１２】
各繰返しにおいて、まず、フレーズクラスのペアＰ1 とＰ2 が仮マージされ、エントロピーの増加量が算出される（ステップＳ２６０２）。以降、この量を、ＥｎｔＧａｉｎと呼ぶ。
【０１１３】
次に、ＥｎｔＧａｉｎが、これまでの最小値Ｍｉｎよりも小さいか否かが判定される（ステップＳ２６０３）。ステップＳ２６０３の判定がＹＥＳならば、ＭｉｎがＥｎｔＧａｉｎの値に置き換えられる（ステップＳ２６０４）。
ステップＳ２６０３の判定がＮＯの場合またはステップＳ２６０４の処理の後、ステップＳ２６０５→Ｓ２６０１の制御処理が実行され、次のフレーズクラスのペア（Ｐ1 、Ｐ2 ）が選択される。
【０１１４】
以上のループ処理によって、全てのフレーズクラスのペアに対する処理が終了すると、エントロピーの増加量（ＥｎｔＧａｉｎ）の最小値Ｍｉｎに対応する仮マージペア（Ｐ1 、Ｐ2 ）が実際にマージされて１つのクラスとされ、クラス数が１減少させられる。
その後、フレーズのクラス数が規定値まで減少したか否かが判定される（ステップＳ２６０７）。
【０１１５】
ステップＳ２６０７の判定がＮＯならば、ステップＳ２６０１の処理に戻って、再度ステップＳ２６０１からＳ２６０５までのループ処理が実行される。ステップＳ２６０７の判定がＹＥＳとなると、図１のステップＳ１０４の最小単位フレーズ分類処理を終了する。クラスタリングの結果は、各クラスに属する最小単位フレーズの識別情報と共に、記憶装置に記憶される。
【０１１６】
図２６のフローチャートで示される最小単位フレーズ分類処理の詳細について、さらに図２７の説明図を用いて説明する。まず、図２３から図２５の説明の場合と同様に、入力される第１のテキストデータから、所定の出現頻度を有する文節｛Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・、ＰＶ｝のそれぞれに固有の初期化文節クラス｛Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 、・・・、ＰV ｝を作成する。初期状態において、それぞれの文節クラスには１つのみの文節が属する。
【０１１７】
図２６のフローチャートでは、Ｖ個の文節のリスト｛Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・、ＰＶ｝が、ステップＳ２６０１でのフレーズクラスの集合とされる。
そして、図２６のフローチャートで示されるクラスタリング処理は、次のような処理として実現される。
【０１１８】
すなわち、この文節リストである初期化クラスから選択される２つの文節クラスをマージした場合に、元のテキストデータから求められる確率文脈自由文法によって生成される言語の経験的エントロピー（ｅｍｐｉｒｉｃａｌ  ｅｎｔｒｏｐｙ）、Ｅ（Ｔ）の増大が最も少なくなるものを同一の文節クラスに統合する処理である。
【０１１９】
このエントロピーＥ（Ｔ）は次式により表すことができる。
Ｅ（Ｔ）=−(Σk i=1 ｌｏｇ2 Ｐ（ｓi ）)／（Σk i=1 ｜ｓi ｜ ） ・・・（２） 
ここで、Ｋはテキストデータ中の文の数、ｓi はテキストデータ中のi番目の文、|ｓi |は文ｓi中の文節の数、Ｐ（ｓi）は文ｓi の確率文脈自由文法による生成確率を指す。
【０１２０】
図２７は、エントロピーを評価指標とする最小単位フレーズ分類処理における確率文脈自由文法の説明図である。
今、構文解析によって図２７（ａ）に示されるような構文解析木が得られているとする。
【０１２１】
これは図８の場合と同様の例であり、構文解析木を構成する最小単位フレーズＷ1 、Ｗ2 、Ｗ3 、Ｗ4 に対してそれぞれ、フレーズクラスＣ5 、Ｃ8 、Ｃ3 、Ｃ7 が対応付けられている。ここで、図２７に示されるように、確率文脈自由文法（Ｓｔｏｃｈａｓｔｉｃ  ｃｏｎｔｅｘｔ−ｆｒｅｅ  ｇｒａｍｍａｒ，ＳＣＦＧ）においては、構文解析木のノードＳからノードＡ1 Ａ2 が生成される確率をＰ１とする。
【０１２２】
また、ノードＡ1 からフレーズクラス列Ｃ5 Ｃ8 が生成される確率をＰ２、ノードＡ2 からフレーズクラス列Ｃ3 Ｃ7 が生成される確率をＰ３とする。さらに、フレーズクラスＣ5 から最小単位フレーズ「直方体の」が選択される確率をＰ４とする。
【０１２３】
同様に、フレーズクラスＣ8 から最小単位フレーズ「永久磁石を」が選択される確率をＰ５とする。また、フレーズクラスＣ3 から最小単位フレーズ「平行に」が選択される確率をＰ６とする。そして、フレーズクラスＣ7 から最小単位フレーズ「配置する」が選択される確率をＰ７とする。
【０１２４】
この場合において、文Ｓ「直方体の永久磁石を平行に配置する」の図２７(a)に示す構文解析木の生成確率Ｐ（Ｓ）は、
Ｐ（Ｓ）＝Ｐ１×Ｐ２×・・・×Ｐ７・・・（３）
で与えられる。
【０１２５】
上述の確率文脈自由文法の考え方に基づくテキストデータからのエントロピーＥ（Ｔ）の具体的な計算方法について、以下に説明する。
Ｃt （ｔ＝１，２，・・・，Ｃ）を最小単位フレーズ（文節）のクラスとし、ｎ（ｔ）をクラスＣt 中の要素の数、ＣtjをクラスＣt 中のｊ番目の要素、ｍ（ｔ，ｊ）をテキストコーパスＴ中のＣtjの出現頻度とする。
【０１２６】
この場合、確率文脈自由文法による文導出の過程においてクラスＣt がある最小単位フレーズ（文節）Ｃtjに書き換えられる確率Ｐ（Ｃtj|Ｃt ）は、
Ｐ（Ｃtj|Ｃt ）＝ｍ（ｔ，ｉ）／（Σn(t)j=1  ｍ（ｔ，ｊ））・・・（４）
で与えられる。
【０１２７】
例えば、図２７に示される確率Ｐ４、Ｐ５、Ｐ６、Ｐ７などは、（４）式に基づいて計算することができる。
他の種類の生成確率、例えば図２７に示される確率Ｐ１、Ｐ２、Ｐ３などは、通常の確率文脈自由文法における生成確率の求め方と同様、第１のテキストデータのコーパス全体の構文解析木におけるそれぞれの生成規則の出現頻度から求められる。
【０１２８】
厳密には、生成規則Ａ→Ｂ1 Ｂ2 ・・・ＢL について、テキストコーパス全体の構文解析木中におけるノードラベルＡの出現頻度をＮ（Ａ）、親ノードＡの直下に子ノードの列Ｂ1 Ｂ2 ・・・ＢL が過不足なくこの順で出現する頻度をＮ（Ａ→Ｂ1 Ｂ2 ・・・ＢL ）とすると、ラベルＡがＢ1 Ｂ2 ・・・BL に書き換えられる確率Ｐ（Ｂ1 Ｂ2 ・・・ＢL ｜Ａ）は、
Ｐ（Ｂ1 Ｂ2 ・・・ＢL ｜Ａ）＝Ｎ（Ａ→Ｂ1 Ｂ2 ・・・ＢL ）／Ｎ（Ａ） 
・・・（５）
で与えられる。
【０１２９】
文Ｓの構文解析木の導出確率、すなわち、文ＳとＳの構文解析木の同時確率（ｊｏｉｎｔ  ｐｒｏｂａｂｉｌｉｔｙ）は、その導出で使われた生成規則群の確率の積で表される。なお、Ｓの構文解析木が複数存在する場合は、それぞれの構文解析木の導出確率の和によって文Ｓの生成確率Ｐ（Ｓ）が与えられる。
【０１３０】
図２６のステップＳ２６０２では、以上の（２）式から（５）式の計算式に基づいて、仮マージ前後でそれぞれエントロピーＥ（Ｔ）が計算され、両者間の増加量が算出される。なお、エントロピーＥ（Ｔ）の計算において確率を付与する前の文法（文脈自由文法）は、上述のように構文解析木の集合から生成されてもよいし、予め与えられた文法であってもよい。
【０１３１】
確率文脈自由文法によって生成される言語（文の集合）のエントリピーを評価指標とすることで、平均相互情報量（ＡＭＩ）を使った場合よりも、優れた最小単位フレーズ（文節）の分類を行うことができる。
平均相互情報量を使った場合、テキスト中の各文節のバイグラム情報（隣接頻度）がクラスタリングの基準になるため、得られる文節のクラスはローカルな文脈において類似の使われ方をする文節の集まりになる。
【０１３２】
一方、確率文脈自由文法によって生成される言語（文の集合）のエントリピーを用いてクラスタリングを行った場合、文全体の中で構文構造上類似の使われ方をする文節が同一クラスに集まるため、ローカルな文脈では必ずしも捕らえられない文節の類似性を捕らえることができる。
【０１３３】
例えば、「どうか」、「なにとぞ」、「ぜひ」という表現で始まる文は最後に「よろしく  お願いします」、「よろしく  お願いいたします」と言った表現で終わる事が多いが、「どうか」と「よろしく  お願いします」の間にどのような表現が来るかに関しては非常に自由度が高いために、ローカルな文脈の中での「どうか」と「なにとぞ」の類似関係を捕らえるのは難しい。
例：  なにとぞ本件につきましてご理解いただきますようお願い致します。
どうか成功しますようお願いします。
【０１３４】
しかし、図２８に示されるように、構文解析木上での位置関係を見た場合、「なにとぞ」と「お願い  いたします」は直接  Ｓ→Ｌ18Ｌ19  という  生成規則によって関連付けられている。
「どうか」と「お願い  します」も同様である。
なお、図２８において、「Ｃ」は文節のクラスをさすが、「Ｌ」は確率文脈自由文法における非終端記号である。
【０１３５】
具体的にどういうＬ  を使うかはもととなる文法によるが、本例は、Ｌ  の子ノードの中でのＨｅａｄノードから属性を継承するタイプの文法を用いた例である。
特に、Ｈｅａｄが文節クラスである場合、その親ノードであるＬ  は、文節クラスのクラス番号をそのまま受け継いだノードか、あるいは、文節クラスをさらに類似クラスに纏め上げたスーパークラスの番号を付ける。例えば、「本件に  つきまして」というノードの場合、Ｈｅａｄノードは「つきまして」の属するクラスＣ329   であるので、その親ノードはＬ329   となっている。
【０１３６】
本例の場合、「本件につきましてご理解いただきますようお願い致します」というフレーズのＨｅａｄであるＬ19は「お願い致します」のノードラベルＬ19と同じであることから、「本件につきましてご理解いただきますようお願い致します」というフレーズの概念的な中心をなすのは「お願い致します」という表現であることが分かる。
【０１３７】
そして、  Ｓ→Ｌ18Ｌ19  という生成規則によって、「なにとぞ」というフレーズは「お願い致します」というフレーズをＨｅａｄ情報として持つ（更に長い）フレーズと連接して１つの文を構成していることがわかる。
以上の確率文脈自由文法によって生成される言語（文の集合）のエントリピーを評価指標とする最小単位フレーズ分類処理により、構文解析木の部分木に対応する語句（ｃｏｎｓｔｉｔｕｅｎｔ）がフレーズの1次元列で表現される。さらに、フレーズの1次元列がフレーズクラスの１次元列に対応させられ、そのフレーズクラスの１次元列の頻度がｃｏｎｓｔｉｔｕｅｎｔ抽出の際の閾値として使用される。
【０１３８】
この結果、最小単位フレーズの分類結果として、構文上相互に類似する可能性の高い最小単位フレーズ（日本語の場合は文節）同士が同じフレーズクラス（文節クラス）に分類される結果を得ることが可能となる。これにより、個々のｃｏｎｓｔｉｔｕｅｎｔを個別に抽出した場合に生じるデータスパースネス問題を克服することが可能となる。
【０１３９】
図２９から図３３は、第１の実施形態において図１０の語句クラスデータベース記憶部３１０に得られる語句クラスデータベースであるフレーズ列分類の例を示す図である。
例えば図２９の例１では、２文節に相当するフレーズクラス列に対応するフレーズ列として、「これらに  引き続く」や「これらに  後続する」などのフレーズ列（文節列）が、１つのフレーズクラス列Ｃ1000Ｃ120 に登録されていることが示されている。
【０１４０】
例えば「引き続く」と「後続する」は、異なる文節であるが、フレーズ列として見たときには、このクラスに登録される全てのフレーズ列は、全て類似の意味を有していることがわかる。また、「つづく」のようにひらがなで記述されたフレーズを含むフレーズ列も、正しく分類されていることがわかる。また、図２９では、クラス内の各フレーズ列について、テキストデータ中での出現頻度が付加されている。各クラスにフレーズ列を登録するときに、出現頻度が所定閾値以上のものを登録するようにしてもよい。あるいは、各フレーズクラス列から各フレーズ列を選択するときに、この出現頻度に基づいて選択が制御されるようにしてもよい。
【０１４１】
図３０の例２は、３文節で１つの文を形成しているフレーズ列が、１つのフレーズクラス列に分類される例を示したものである。
図３１の例３は、図２から図９の説明図にて説明したフレーズクラス列Ｃ5 Ｃ8 に分類されるフレーズ列の例である。
図３２および図３３の例４は、車の整備に関するフレーズ列が１つのフレーズクラス列Ｃ227 Ｃ973 Ｃ903 に登録される例を示しており、様々な表現のフレーズ列が類似の意味をもつものとして１つのフレーズクラス列に分類される例が示されている。
【０１４２】
例４でも、図２９の例１の場合と同様に、クラス内の各フレーズ列について、テキストデータ中での出現頻度が付加されている。この場合も、各クラスにフレーズ列を登録するときに、出現頻度が所定閾値以上のものを登録するようにしてもよい。あるいは、各フレーズクラス列から各フレーズ列を選択するときに、この出現頻度に基づいて選択が制御されるようにしてもよい。
【０１４３】
次に、第２の実施形態について説明する。
第２の実施形態は、第１の実施形態による語句分類処理を利用して文書データベースに対する概念検索を実現する語句検索処理に関するものである。
【０１４４】
例えば、「溶剤に適当な粘度を与えるモノマー成分」というキーターム（Ｋｅｙ１）で文書データベースを検索した時に、従来の検索技術では、キータームの構成要素である「適度な」や「粘度」、「与える」というキーワードがそのままの形で使われた文（文書）しか検索できなかった。
【０１４５】
これに対して、第１の実施形態によって作成される語句クラスデータベースを用いると、表現の揺れに適切に対応でき、関連性の高いドキュメントがより多く検索できる。
上記のキーターム（Key1)でデータベースを検索した場合、従来技術では「溶剤に適度な粘性を付与するモノマー成分」とい文は検索できないが、第２の実施例を用いれば検索可能となる。
【０１４６】
図３４は、第２の実施形態の検索処理を示すフローチャートである。
このフローチャートは、第１の実施形態の場合と同様に、例えばＣＰＵ、メモリ、入出力装置、外部記憶装置などがバスで接続された構成を有するコンピュータで実行される語句検索の制御処理を示すものである。すなわち例えば、ＣＰＵが、外部記憶装置に記憶された図３４のフローチャートに対応する制御プログラムをメモリに読み出し、順次実行する制御処理を示すものである。
【０１４７】
図３４において、まず検索キータームが読み込まれる（ステップＳ３４０１）。
次に、第１の実施形態等で生成された語句クラスデータベースの語句分類結果（以下単に「語句分類結果」と呼ぶ）が参照される。これにより、ステップＳ３４０１にて入力された検索キータームが、類似する１つ以上の検索キータームに展開される（ステップＳ３４０２）。
【０１４８】
次に、ステップＳ３４０３からＳ３４０６までのループ処理により、ステップＳ３４０２にて展開された各検索キータームについて、以下のステップＳ３４０４とＳ２０５の処理が繰り返し実行される。まず、展開された検索キータームから選択された１つの検索キータームによって、文書データベース内の文書データベースが検索される（ステップＳ３４０４）。
【０１４９】
次に、ステップＳ３４０４で検索された文書が、メモリ等の記憶装置上等に記憶されている検索結果集合に加えられる（ステップＳ３４０５）。展開された検索キータームの全てについて、ステップＳ３４０４とＳ３４０５の処理が終了すると、最後に、検索結果集合がコンピュータディスプレイ等の出力装置に出力される。
【０１５０】
図３５は、図３４のステップＳ３４０２の検索キータームの展開処理を示すフローチャートである。まず、ステップＳ３４０１で入力された検索キータームが読み込まれて、文節毎に区切られる。文節の境界位置および検索キータームの先頭と終端に、後述する探索ポインタの移動ポイントが作成される（ステップＳ３５０１）。検索キータームを文節毎に区切る処理は、日本語構文解析器の一般的機能として具備されている文節の切出し機能によって実現することができる。
【０１５１】
次に、ステップＳ３５０１で作成された移動ポイントのうち、検索キータームの先頭位置がメモリ等の記憶装置上等のポインタＰ0 として設定され、検索キータームの終端位置が同じくポインタＰ-1として設定される。さらに、やはりメモリ等の記憶装置上等の記憶エリアである語句置換オペレーションセットΣに、空の集合（φ）がセットされる（以上、ステップＳ３５０２）。
【０１５２】
次に、最初にポインタＰ0 とＰ-1が一致するか否か判定された後（ステップＳ３５０３）、一致しない（ＮＯ）ときステップＳ３５０４で、探索ポインタＰＰの値がポインタＰ0 の値に、セットされる（ステップＳ３５０４）。
その後、ステップＳ３５０８で探索ポインタＰＰの値がステップＳ３５０１で作成された次の移動ポイントに順次進められながら、探索ポインタＰＰの値がポインタＰ-1の値になるまで、ステップＳ３５０５からＳ３５０９のループ処理が繰り返し実行される。
このループ処理においては、検索キーターム上で、ポインタＰ0 と探索ポインタＰＰの間の文字列Ｌが、語句分類結果の何れかのクラス中に存在するか否かが判定される（ステップＳ３５０６）。
【０１５３】
ステップＳ３５０６の判定がＹＥＳならば、以下の処理が実行される。すなわち、検索キーターム中の部分文字列Ｌを、上記判定されたクラス中の各文節要素Ｌ2で置き換える置換操作Ｒ（Ｌ，Ｌ２）が、各Ｌ２毎に実行され、その置換結果が語句置換オペレーションセットΣの要素に加えられる（ステップＳ３５０７）。
【０１５４】
ステップＳ３５０６の判定がＮＯの場合またはステップＳ３５０７の処理の後に、探索ポインタＰＰの値が次の移動ポイントへ進められる（ステップＳ３５０８）。以上のステップＳ３５０６からＳ３５０９の繰返し処理により、検索キーターム上で現在のポインタＰ0 の位置から、文字列Ｌの長さがポインタＰ-1までの間で順次長くされながら、語句分類結果に同じ文字列が登録されているか否かが検索される。
【０１５５】
この間での探索が全て終わったら、ステップＳ３５１０でポインタＰ0 の位置が次の移動ポイントに移動させられた後、ステップＳ３５０３の判定を経て、探索ポインタＰＰがポインタＰ0 の位置に初期設定される。そして再度、ステップＳ３５０５からステップＳ３５０９の繰返し処理により、検索キーターム上で新たなポインタＰ0 の位置から、文字列Ｌの長さがポインタＰ-1までの間で順次長くされながら、語句分類結果に同じ文字列が登録されているか否かが検索される。
【０１５６】
このようにして、検索キーターム中の任意の長さの文字列に類似する文字列が、語句分類結果に存在するか否かが探索され、探索に成功するとその文字列が語句置換オペレーションセットΣの要素に加えられてゆく。
最後に、ステップＳ３５１０でポインタＰ0 が次の移動ポイントに移動させられた結果、ポインタＰ0 の位置がポインタＰ-1の位置に到達して両者が一致すると、ステップＳ３５０３の判定がＹＥＳとなる。
【０１５７】
この結果、語句置換オペレーションセットΣの登録内容に基づいて、検索キーターム展開処理の最終処理が実行される。その後、検索キータームの展開結果が出力されて（ステップＳ３５１２）、図３４のステップＳ３４０２の処理を終了する。
【０１５８】
図３６は、図３５のステップＳ３５１１の検索キーターム展開処理の最終処理の詳細を示すフローチャートである。まず、検索キータームと、図３５のフローチャートでメモリ等の記憶装置上に得られた語句置換オペレーションセットΣが読み込まれる（ステップＳ３６０１）。
【０１５９】
次に、語句置換オペレーションセットΣの全ての部分集合の集まり（Σのパワーセット、２Σ）をΛとする。また、まず検索キーターム自身が、検索キーターム展開結果に加えられる（以上、ステップＳ３６０２）。
【０１６０】
例えば、Σ＝｛ａ，ｂ，Ｐ｝のとき、Λ＝｛｛ａ，ｂ，Ｐ｝，｛ａ，ｂ｝，｛ｂ，Ｐ｝，｛ａ，Ｐ｝，｛ａ｝，｛ｂ｝，｛Ｐ｝，｛｝｝となる。
つまり、検索キーターム中で、語句分類結果中の類似文字列によって置換可能な全ての置換の組合せが集合Λとして得られる。
【０１６１】
次に、集合Λの各要素λについて、ステップＳ３６０３からＳ３６０６の繰返し処理が実行される。この繰返し処理においてまず、λの各要素（置換操作）が順次検索キータームに施される。
【０１６２】
置換の組合せが施せない場合、すなわち、λの或る２つの要素Ｒ（Ｌ１，Ｌ２）、Ｒ（Ｌ３，Ｌ４）について、文字列Ｌ１とＬ３が重複する場合は、両者の置換要求を同時に満たす置換処理は存在しないため、どちらの置換も施さずに次に進む（以上、ステップＳ３６０４）。
【０１６３】
次に、λによる置換結果が、検索キーターム展開結果に加えられる（ステップＳ３６０５）。以上のループ処理が集合λ中の全ての要素λに対して実行された後、検索キーターム展開結果から重複する検索キータームが削除され（ステップＳ３６０７）、検索キーターム展開結果が出力される（ステップＳ３６０８）。
【０１６４】
以上のようにして、第２の実施形態では、図３４のステップＳ３４０５の機能により、入力された検索キータームに対して、意味的にかつ統語論的に（すなわち文法上の振る舞いにおいて）、類似する検索キータームを取得して、検索動作を実行することが可能となる。
【０１６５】
これにより、概念的に類似する文書データを高速かつ精度よく検索することが可能となる。例えば、図３７に示されるように、検索キータームとして３７０１として例示される文字列「塗料に適当な粘度を与える溶剤」が入力されたときに、３７０３として例示される語句分類結果が参照される。
【０１６６】
語句分類結果には、例えば、文節列「適当な粘度を与える」に類似する文節列「適度な粘性を付与する」や「適切な粘り気を持たせる」等が登録された語句クラス４１０１が登録されている。また、文節「溶剤」に類似する文節「増粘剤」が登録された語句クラス１８１２が登録されている。
【０１６７】
このような語句分類結果が参照されることにより、検索キーターム「塗料に適当な粘度を与える溶剤」に対して、「適度な粘度を与える」の文字列部分が語句クラス４１０１に登録された文字列で置換される。また、「溶剤」の文字列部分が語句クラス１８１２に登録された文字列で置換される。
【０１６８】
そして、その置換の結果として、３７０２として示される検索キータームの展開結果が得られる。すなわち、「塗料に適当な粘性を付与する溶剤」や「塗料に適切な粘り気を持たせる増粘剤」などの類似キータームである。
【０１６９】
これらの展開結果は、意味的にかつ統語論的に相互に類似していることがわかる。そして、これらの展開された検索キータームを含む文書データが、精度よくかつ高速に検索されることになる。したがって、第２実施例は概念検索を適確に行なうことに適用できる。
【０１７０】
次に、第３の実施形態の検索処理について説明する。第３の実施形態は、図３４のステップＳ３４０２の検索キータームの展開処理の他の実施形態を示すものであり、図３８に、そのフローチャートを示す。
図３５、図３６のフローチャートでは、検索キータームから１文節以上の連続する文節列の全ての組み合わせが抽出された。
【０１７１】
その上で、抽出された文節列の組み合わせ毎に、語句分類結果のデータベースを参照して、抽出された文節列に対応する語句クラスに関連付けられている文節列群が、抽出された文節列に類似する文節列群として取得された。この検索タームの展開方式は、検索キータームが１文節から1文まで広い範囲の一次元文字列に対して有効であるが、特に、なるべく多くのキーターム展開を必要とするときに有効である。
【０１７２】
これに対して、図３８のフローチャートは、検索キータームが文などを構成する長い一次元文字列である場合や、特に、キーターム展開の範囲をもともとのキータームに極近い表現に限定したい場合に有効な検索タームの展開方式である。
図３８において、まず、図３４のステップＳ３４０１で入力された検索キータームである検索文が読み込まれる（ステップＳ３８０１）。
【０１７３】
次に、読み込まれた検索文に対して構文解析処理が実行されて構文解析木が取得され（ステップＳ３８０２）、さらにその構文解析木から部分木が生成され（ステップＳ３８０３）、各部分木からフレーズ列が抽出される（ステップＳ３８０４）。
この一連の処理は、第１の実施形態における図１のステップＳ１０２→Ｓ１０３→Ｓ１０５→Ｓ１０６の処理、または第２の実施形態における図１１のステップＳ１１０１、Ｓ１１０４の処理と同様である。この結果、検索文から、構文解析上意味のあるフレーズ列（日本語の場合は文節列）が抽出される。
【０１７４】
次に、ステップＳ３８０４で抽出されたフレーズ列の集合（この集合ろ「Ａ」とする）を、検索キーターム展開結果の初期値とする（ステップＳ３８０５）。
次に、集合Ａの各要素αについて、ステップＳ３８０６からＳ３８０８のループ処理により、以下の処理が実行される。
すなわち、第１の実施形態等で生成された語句クラスデータベースの語句分類結果が参照されることにより、要素αが登録されている語句クラスに登録されている他の語句（フレーズ列）が抽出され、それらの語句が集合Ａに追加される（ステップＳ３８０７）。
【０１７５】
このようにして抽出される語句は、要素αに意味的に類似するものであるといえる。
集合Ａの全ての要素αについて処理が終了した後、集合Ａが検索キータームの展開結果として出力される（ステップＳ３８０９）。
以上の第３の実施形態により、検索キータームが文を構成するような長い1次元文字列からなる場合であっても、第１の実施形態等に基づく構文解析処理、部分木生成処理、フレーズ列抽出処理によって検索キータームをフレーズ列に分解することができる。
【０１７６】
そして、そのフレーズ列を、第１の実施形態等で生成された語句クラスデータベースの語句分類結果と照合することにより、各フレーズ列に意味的に類似するフレーズ列を抽出することが可能となり、それらに基づいて精度が良くかつ高速な検索処理を実行することが可能となる第３実施例も第２実施例と同様な効果を奏する。
【０１７７】
図３９は、図３４〜図３６、または図３８のフローチャートで示される第２、第３の実施形態を語句検索装置として実現した場合の機能ブロック図である。
検索キーターム入力部３９０１は、ユーザによる検索キータームの入力を受け付ける。
検索キーターム展開部３９０２は、語句クラスデータベース記憶部３９０５を参照して、検索キーターム入力部３９０１にて入力された検索キータームを、類似する１つ以上の検索キータームに展開する。
【０１７８】
この部分は、図３４のステップＳ３４０２の処理に対応する機能を実現する。
展開検索キーターム毎文書検索部３９０３は、検索キーターム展開部３９０２によって展開された各検索キータームを使って、文書データベース記憶部３９０６内の文書データベースを検索する。
【０１７９】
この部分は、図３４のステップＳ３４０３からＳ３４０６の一連の処理に対応する機能を実現する。検索結果集合出力部３９０４は、展開検索キーターム毎文書検索部３９０３によって得られた検索結果の集合を、ディスプレイ装置やプリンタ装置、Ｗｅｂサーバ装置等に出力する。この部分は、図３４のステップＳ３４０７の処理に対応する機能を実現する。
【０１８０】
第１の実施形態による語句分類処理装置３９０７は、前述した図１０の構成を有し、類似表現（類似語句）をひとまとまりにした語句分類を生成し、語句クラスデータベース記憶部３９０５に語句データベースとして格納する。なお、語句クラスデータベース記憶部３９０５は、図１０の語句クラスデータベース記憶部１０１０に対応している。
次に、第４の実施形態について説明する。
【０１８１】
第４の実施形態は、第１の実施形態による語句分類処理を利用した文字入力支援処理に関するものである。パーソナルコンピュータ等でキー入力を行う際に、どのような語句の後にどのような語句が続き易いという情報（語句連鎖の統計）が予め与えられていると、意味や内容を踏まえた文字列の入力予測が可能となる。これにより、入力候補を選択、編集するだけで、簡単かつ高速に文章を作成することができる。しかし、個々の単語やフレーズごとに語句連鎖の統計を抽出・格納しようとすると数が爆発的に増えるため、実用上汎用的な予測入力は難しかった。
【０１８２】
第４の実施形態では、過去の入力履歴から類似する語句を語句クラスデータベースすなわち語句分類結果として保持する。そして、入力予測文字列の検索時に、同じクラスに属する語句を同じ意味を持つ語句として検出することで、使用頻度の高い意味を持った語句を入力予測候補の上位にランク付けすることを可能にする。
【０１８３】
例えば前述した図３０のフレーズ列分類（例２）に示されるように、一般に同じ意味を持つ語句が必ずしも同じ単語や同じ文節を共有しているとは限らない。
第４の実施形態では、入力予測文字列の検索時に、過去の入力履歴に基づいて第１の実施形態により作成される語句クラスデータベースを参照することで、同じ意味を持った語句を効率的にまとめ上げることを可能にする。
【０１８４】
図４０は、第４の実施形態の機能ブロック図である。入力部４００１は、ユーザによるキー入力を受け付ける。かな漢字変換制御部４００２は、ユーザによるかな漢字変換の指示に基づいて、かな漢字変換を実行する。入力予測文字列検索部４００３は、予測入力グラフデータベース記憶部４０１２に記憶されている予測入力グラフデータベースを参照することにより、入力予測文字列を検索する。かな漢字変換候補出力部４００４は、かな漢字変換制御部４００２によって指示されるかな漢字変換文字列候補を出力する。ランキング部４００５は、かな漢字変換候補出力部４００４から出力されるかな漢字変換文字列候補と入力予測文字列検索部４００３から出力される入力予測文字列候補をランキングして、どのように候補表示するかを決定する。決定部４００６は、ランキング部４００５で表示順等が決定されたかな漢字変換文字列候補と入力予測文字列候補を、パーソナルコンピュータや情報端末等のディスプレイ装置である表示部４００７に表示し、ユーザによる文字列の決定を受け付ける。入力履歴記憶部４００８は、決定部４００６で決定された文字列の入力履歴を記憶する。
【０１８５】
第１の実施形態による語句分類処理装置４００９は、図１０の構成を有し、入力履歴記憶部４００８に記憶された文字列の入力履歴を、図１０のテキストデータ記憶部１００１−２に記憶される第２のテキストデータとして処理する。これにより、文字列の入力履歴において類似する文字列を同じ語句クラスにまとめた語句クラスデータベースを生成し、
語句クラスデータベース記憶部４０１０に格納する。この語句クラスデータベース記憶部４０１０は、図１０の語句クラスデータベース記憶部１０１０に対応する。予測入力グラフ作成部４０１１は、入力履歴記憶部４００８に記憶された文字列の入力履歴と、語句クラスデータベース記憶部４０１０に記憶された語句クラスデータベースの内容に基づいて、文字列入力時の予測入力の連鎖を示す予測入力グラフを格納した予測入力グラフデータベースを作成し、予測入力グラフデータベース記憶部４０１２に記憶させる。
【０１８６】
以上の構成を有する第４の実施形態の動作について、以下に説明する。
まず、第１の実施形態による語句分類処理装置４００９は、入力履歴記憶部４００８に記憶された過去の文字列の入力履歴において類似する文字列を同じ語句クラスにまとめた語句クラスデータベースを生成する。
【０１８７】
図４１は、第４の実施形態が医療カルテ入力支援装置として実現される場合に、語句クラスデータベースに格納される１つの語句クラスの例（語句クラス３５１）に登録される語句の例を示す図である。この語句クラス３５１を見るとわかるように、様々な単語を使用してはいるが、意味的にかつ統語論的に（すなわち文法上の振る舞いにおいて）、類似するフレーズ（文）が、同じ語句クラスに登録されていることがわかる。
【０１８８】
次に、予測入力グラフ作成部４０１１は、文字列入力時の予測入力の連鎖を示す２００から５００程度の予測入力グラフデータを格納した予測入力グラフデータベースを作成する。
【０１８９】
図４２は、文字列「明らかな」を先頭とする予測入力グラフのデータ例を示す図である。図４１の語句クラス３５１の登録文字列群より、文字列「明らかな」（４２０１）に続いては、例えば４２０２として示される文字列群が入力されることが予測できる。
【０１９０】
次に、４２０２に示される何れかの文字列が入力されたときには、続いて４２０３として示される文字列群が入力されることが予測できる。４２０３に示される何れかの文字列が入力されたときには、続いて４２０４として示される文字列群が入力されることが予測できる。そして、４２０４に示される何れかの文字列が入力されたときには、続いて４２０５として示される文字列群が入力されることが予測できる。
【０１９１】
このようにして作成された予測入力グラフデータベースが、ユーザによる文字入力時に図４０の入力予測文字列検索部４００３から参照されることにより、次のような動作が可能となる。まず、第４の実施形態が電子カルテシステムとして実現されており、語句クラスデータベースに図４１に示される語句クラス３５１が登録されており、予測入力グラフデータベースに図４２に示される予測入力グラフデータが登録されているとする。
【０１９２】
このような電子カルテシステムでの入力において、ユーザである医者Ａが、所見欄に、「明らかな転移を示唆する所見は認めません」と入力したいと考えて、「明らかな転移を」まで入力したとする。そして、文字列「明らかな転移を」の次に「し」と入力した状態で、図４３に示されるように、まず、図４０のかな漢字変換候補出力部４００４からランキング部４００５を介して表示部４００７に、「し」に対応するかな漢字変換文字列候補が表示される。
【０１９３】
さらにその横に、文字列「示唆する」に続くことが予測される入力予測文字列候補が表示される。この表示は、図４２に示される予測入力グラフデータ４２０３→４２０４によるものである。
【０１９４】
この場合、「ＳＯＬは」「所見は」「異常集積は」などの文字列は、一見相互に類似しない単語であるが、全体の文書の流れの中でこれらの入力予測文字列候補が採用された場合に、互いに意味的にかつ統語論的に類似した文章を構成する可能性が高い。
医者Ａは、図４３の左側のかな漢字変換候補文字列の表示状態で、カーソルを移動して、あるいはマウスクリックにより、「示唆する」と「所見は」を選択するだけで、過去の入力履歴に即した文章を高速に入力することが可能となる。
【０１９５】
以上説明した第４の実施形態では、第１の実施形態による語句分類処理で作成される語句分類結果を用いることにより、フレーズの適度な一般化により高精度でかつ少ない統計量で予測入力ができ、高速化と高精度化を同時に実現することが可能となる。
上述した第１から第４の実施形態以外の他の実施形態について、以下に説明する。
【０１９６】
用例ベース機械翻訳や統計ベース機械翻訳では、今翻訳しようとしている原文に最も近い過去の翻訳例（翻訳結果）を繋ぎ合わせて翻訳を行う。このときに、ぴったり一致する過去の翻訳例が存在しなくても、意味的にそして文法的な振る舞いにおいて同等の翻訳例が存在すれば、その過去例の翻訳結果の一部（原文と過去文との差異の部分）を書き換えることにより、容易に正しい翻訳結果が得られる。
（例）  過去の例文：    それは重大な結果につながった
That lead to serious consequences.
新規原文  ：    その過失は深刻な結末につながった
得たい訳文：    That negligence lead to serious consequences. 
【０１９７】
上述の例では、類似語句「深刻な結末につながった」と「重大な結果につながった」は同じ英語に訳されるが、そうではなくて原文が別の類似語句、たとえば「取り返しの付かない結果につながった」を含んだ「その過失は取り返しの付かない結末につながった」という文であった場合も、 過去の例文の構文はそのまま使え、「重大な」の英訳（serious）と「取り返しの付かない」の英訳（irreparable）とを入れ替えることで（加えて主語の置換により）正しい翻訳文が得られる。
【０１９８】
すなわち、英語の訳が全く同じであるような「完全同意」の表現でなくても、意味的にそして統語論的に近い類似語句であれば、翻訳の際の過去の例文の適用可否の判断に用いられるという意味で有用である。
そして、この例では、翻訳用の辞書データに、第１の実施形態で生成される語句クラスデータベースを適用することにより、類似する訳文の検索が可能となる。
【０１９９】
次に、第５の実施形態について説明する。
第５の実施形態は、第１の実施形態による語句分類処理結果を利用した、構文解析誤りの修正処理に関するものである。自動処理で行なった構文解析結果に誤りがあった場合、通常その誤りを自動で検知したりあるいは修正したりすることは極めて困難である。予め人手で構文解析を行なった結果を蓄積したいわゆるツリーバンク（以下、「Ｔｒｅｅｂａｎｋ」と呼ぶ）が存在する場合、そのＴｒｅｅｂａｎｋ中の解析結果と自動処理による解析結果を照らし合わせて誤りを修正することは原理上は可能であるが、そのためには、形態素解析器への入力文中の、解析誤りに相当する部分のフレーズと同じフレーズがＴｒｅｅｂａｎｋ中に現れている必要があり、実際には構文解析誤り一般を修正できる程膨大なＴｒｅｅｂａｎｋを人手で作成することは不可能に近い。
【０２００】
しかしながら、形態素解析器への入力文中の、解析誤りに相当する部分のフレーズに対応するフレーズクラス列と同じフレーズクラス列に対応するフレーズがＴｒｅｅｂａｎｋ中に存在する場合、そのＴｒｅｅｂａｎｋ中の構文木構造を用いて構文解析誤りを修正することが可能となる。
【０２０１】
あるいはまた、Ｔｒｅｅｂａｎｋ自体が全く存在しない場合であっても、あるフレーズの構文解析結果に対して、そのフレーズに対応するフレーズクラス列と同じフレーズクラス列に対応する別の多くのフレーズの構文解析結果が、当該フレーズの構文解析結果とは異なる共通の構文構造を示している場合は、その共通の構文構造を持って当該フレーズの構文解析結果を修正することが可能である。
【０２０２】
図４４は、第５の実施形態の概略動作の説明図（その１）であり、「終端忘れによる伝送特性の劣化を」というフレーズの構文解析結果の例を示している。図４４（ａ）及び図４４（ｂ）は構文解析木（構文木）の終端記号として最小単位フレーズ（文節）、すなわちP１（終端忘れに）、P２（よる）、P３（伝送特性の）、P４（劣化を）示す。図４４（ａ）と図４４（ｂ）は図示のように構文解析木の構造が異なる。図４４の（ａ）と（ｂ）のうち（ｂ）が正しい解析結果であるが、仮に（ａ）が自動解析の結果得られたとする。もし図４４（ｂ）を一部に含むＴｒｅｅｂａｎｋが存在した場合は（ａ）を（ｂ）に修正することは可能であるが、ここではまず、Ｔｒｅｅｂａｎｋが存在しない場合を考える。
【０２０３】
「終端忘れによる伝送特性の劣化を」に対応するフレーズクラス列は  Ｃ12Ｃ21Ｃ37Ｃ19であるから、図４４の終端記号（文節）をそれぞれ対応するフレーズクラスで置換することにより、図４５に示すフレーズクラス置換構文解析木が得られる。テキストデータの構文解析結果から、図４５の（ａ）と（ｂ）に示すフレーズクラス置換構文解析木の出現頻度を計算し、（ｂ）の出現頻度（たとえば２１９回）と（ａ）の出現頻度（たとえば３回）の比がある一定の閾値（何も参照すべき統計がない場合は１）よりも大きい場合は（ａ）を（ｂ）に修正（置換）することにより、Ｔｒｅｅｂａｎｋが存在しない場合でも構文解析結果の自動修正が可能となる。ここで構文木の出現頻度は、後述するようにデータベース内において、構文木の構文解析結果がたとえばＬｉｓｔ表現、あるいはｓｔｒｉｎｇ表現に対応したデータとして格納され、同じ表現の出現頻度を計数することにより求める。
【０２０４】
また、Ｔｒｅｅｂａｎｋが存在する場合は、同様にＴｒｅｅｂａｎｋ中の構文解析木から図４５に示すようなフレーズクラス置換構文解析木を生成し、その頻度を求めることにより、構文解析結果の自動修正を行なうことができる。
図４６は、図４４および図４５に示される動作を実現するための第５の実施形態のフローチャートである。このフローチャートは、第１の実施形態に関する図１のフローチャートと同様に、例えばＣＰＵ、メモリ、入出力装置、外部記憶装置などがバスで接続された構成を有するコンピュータで実行され、構文解析誤り修正処理を示すものである。
【０２０５】
まず、一次元文字列の集合であるテキストデータが読み込まれ（ステップＳ４６０１）、それぞれのテキストデータから構文解析木を生成する構文解析処理が実行される（ステップＳ４６０２）。これらの処理は、第１の実施形態における図１のステップＳ１０１およびＳ１０２と同様の処理である。なお、ステップＳ４６０１およびＳ４６０２の処理は、図１のステップＳ１０１およびＳ１０２と共通の処理であってもよい。これらの処理により得られる全ての構文解析結果が外部記憶装置などに蓄積される（ステップＳ４６０３）。
【０２０６】
次に、ステップＳ４６０４からＳ４６１２までの繰り返し処理（ループ処理）として、ステップＳ４６０１からＳ４６０３の処理で得られた構文解析木ごとに、以下のステップＳ４６０５からＳ４６１１までの一連の処理が実行される。
まず、現在の処理対象の構文解析木に対応するテキストデータ部分から、最小単位フレーズの一次元列、例えば日本語の場合には文節列が抽出される（ステップＳ４６０５）。この処理は、第１の実施形態における図１のステップＳ１０３と同様の処理である。
【０２０７】
次に、ステップＳ４６０５で抽出された最小単位フレーズの一次元列についてクラスタリングが実行されることにより、全ての最小単位フレーズが複数のフレーズクラスに分類される（ステップＳ４６０６）。この処理は、第１の実施形態における図１のステップＳ１０４と同様の処理である。
【０２０８】
次に、現在の処理対象の構文解析木から、その構文解析木を構成する部分木が抽出される（ステップＳ４６０７）。この処理は、第１の実施形態における図１のステップＳ１０５と同様の処理である。
さらに、ステップＳ４６０７で抽出された部分木が１つずつ取り出され、その部分木に含まれる各終端記号（文節）としての最小単位フレーズの一次元列（フレーズ列）が抽出される。さらに、抽出した部分木毎の最小単位フレーズ列を構成する最小単位フレーズ毎に、それが属するステップＳ４６０６にて抽出されたフレーズクラスが抽出される。これにより、部分木毎のフレーズクラスの一次元列（フレーズクラス列）が抽出される（以上、ステップＳ４６０８）。この処理は、第１の実施形態における図１のステップＳ１０６と同様の処理である。
【０２０９】
そして、部分木毎のフレーズクラスの一次元列に、ステップＳ４６０８で抽出されている最小単位フレーズの一次元列が対応付けられる（以上、ステップＳ４６０９）。第１の実施形態の説明で前述したように、ステップＳ４６０７の処理により、図１４（ａ）に示されるように、総計Ｋ個の部分木が得られる。また、最小単位フレーズ分類結果は、ステップＳ４６０６で得られる最小単位フレーズ（文節）の分類（クラスタリング）の結果である。日本語の場合、前述した図１４（ｂ）に示されるような形式で、各文節クラスＩＤ毎に、各クラスに属する文節が登録されている。さらに、ステップＳ４６０８およびＳ４６０９の処理により、前述した図１５（ａ）に示されるような総計Ｋ個の部分木から、１つずつ部分木が取り出される。そして、その部分木に含まれる各終端記号（文節）に対し、前述した図１５（ｂ）に示されるように、ステップＳ４６０６での文節分類結果から、その文節の属する文節クラスが検索され、その文節に文節クラスのＩＤが対応させられる。その結果として、前述した図１５（ｃ）に示されるように、Ｋ個の部分木から、Ｋ個のフレーズクラス情報付き部分木のデータが得られる。さらに、第１の実施形態で説明したように、図１６（ａ）に示されるようなフレーズクラス情報付き部分木データから、図１６（ｂ）に示されるようなフレーズ列（文節列）のデータが得られる。また、図１６（ａ）と同様の図１７（ａ）に示されるようなフレーズクラス情報付き部分木データから、図１７（ｂ）に示されるようなフレーズクラス列（文節クラス列）のデータが得られる。そして、上述のようにして抽出されたｎ番目の（通し番号ｎの）フレーズクラス情報付き部分木から得られたフレーズ列およびフレーズクラス列が互いに対応付けられる。この結果、図１８（ａ）に示されるフレーズ列（文節列）のデータと図１８（ｂ）に示されるフレーズクラス列（文節クラス列）のデータとから、図１８（ｃ）に示されるようなフレーズ列とフレーズクラス列のペアのデータが得られる。
【０２１０】
上述の第１の実施形態と同様の処理に加えて、第５の実施形態では、前述した図１５（ａ）（ｂ）と同様の図４７（ａ）（ｂ）の処理で、フレーズクラス情報付き部分木のデータが得られた後、そのデータからフレーズ情報のみが取り去られる。これにより、図４７（ｃ）に示されるように、部分木の終端記号のフレーズがフレーズクラスに置き換えられたフレーズクラス置換構文解析木が生成される（ステップＳ４６１０）。
【０２１１】
さらに第５の実施形態では、ステップＳ４６０９で図４８（ａ）に示されるように得られたｎ番目の（通し番号ｎの）フレーズクラス情報付き部分木データから、フレーズ列とフレーズクラス列と部分木構造が互いに対応付けられる（ステップＳ４６１１）。この結果、図４８（ｂ）に示されるような対応関係が得られる。
【０２１２】
以上説明したステップＳ４６０５からＳ４６１１の処理により、全ての構文解析木に属する全ての部分木について、フレーズ列とフレーズクラス列と部分木構造が互いに対応付けられる。
その後、フレーズクラス列ＩＤの生成処理が実行される（ステップＳ４６１３）。ここでは、第１の実施形態で説明した図１１のステップＳ１１０７での処理と同様に、上述の処理にて得られたフレーズクラス列のデータが、任意の基準でソートされる。例えば、前述したステップＳ４６０８で得られた図１９（ａ）に示されるフレーズクラス列（文節クラス列）のデータが、図１９（ｂ）に示されるようにソートされる。次に、ソートされたフレーズクラス列の集合から重複する要素が削除され、互いに異なるフレーズクラス列の集合が得られる。そして、合計Ｑ個の異なるフレーズクラス列が得られとし、それぞれに１からＱまでの通し番号（ＩＤ）が付与される。具体的には、図１９（ｂ）のように得られたソートされたフレーズクラス列（文節クラス列）のデータから、図１９（ｃ）に示されるようなＱ個の異なるフレーズクラス列（文節クラス列）のデータが得られる。
【０２１３】
次に、ステップＳ４６１３で得られたＱ個の異なるフレーズクラス列について、対応する部分木構造とその頻度が計算される（ステップＳ４６１４）。具体的には、ステップＳ４６１１での繰り返し処理により図４９（ａ）に示されるように各部分木構造に対応付いているＫ個（１〜Ｋ）のフレーズクラス列のそれぞれについて、ステップＳ４６１３で生成されたそのフレーズクラス列ＩＤを求める。そして、そのＩＤに対応する上記フレーズクラス列に対応付いている部分木構造に対応するカウントを、その部分木構造の出現ごとに１つ増やしてゆく。上記部分木構造が、そのＩＤについて初めて出現する場合には、カウントを１とする。
【０２１４】
この処理により、上記Ｑ個の異なるフレーズクラス列のそれぞれについて、図４９（ｂ）に示されるように、対応する部分木構造およびその部分木構造の全構文解析木中での頻度が求まる。図４９（ｂ）では、ＩＤ＝１６のフレーズクラス列Ｃ1 Ｃ2 Ｃ4 について、第１番目の部分木構造の出現頻度が３１３回、第２番目の部分木構造の出現頻度が６２回、第３番目の部分木構造の出現頻度が７回であることが記録されている。また、ＩＤ＝４１のフレーズクラス列Ｃ5 Ｃ8Ｃ2 Ｃ7 について、第１番目の部分木構造の出現頻度が２５回、第２番目の部分木構造の出現頻度が９回であることが記録されている。以上のようにして算出されたフレーズクラス列ＩＤごとにそれに含まれる各部分木構造の出現頻度は、例えば外部記憶装置などに記憶される。
【０２１５】
最後に、以上のようにして蓄積されたフレーズクラス列ＩＤごとにそれに含まれる各部分木構造の出現頻度に基づいて、ステップＳ４６０３で外部記憶装置などに蓄積されている構文解析結果の修正（置換）処理が実行される（ステップＳ４６１５）。この処理の詳細は、図５０のフローチャートで示される。
【０２１６】
まず、ステップＳ５００１からＳ５０１３までの繰り返し処理（ループ処理）として、図４６のステップＳ４６０１からＳ４６０３の処理で得られた構文解析木ごとに、以下のステップＳ５００２からＳ５０１２までの一連の処理が実行される。これにより、各構文解析木が修正される。なお、ステップＳ４６０１からＳ４６０３の処理での構文解析木の生成に用いられたテキストデータ群と異なるデータ群が用いられても良い。この場合には、あらためて構文解析処理が実行されることになる。
【０２１７】
各繰り返し処理において、まず、現在の処理対象の構文解析木に対応するテキストデータ部分から、最小単位フレーズの一次元列、例えば日本語の場合には文節列が抽出される（ステップＳ５００２）。次に、ステップＳ５００２で抽出された最小単位フレーズの一次元列についてクラスタリングが実行されることにより、全ての最小単位フレーズが複数のフレーズクラスに分類される（ステップＳ５００３）。さらに、現在の処理対象の構文解析木から、その構文解析木を構成する部分木が抽出される（ステップＳ５００４）。以上のステップＳ５００２からＳ５００４までの処理は、図４６のステップＳ４６０５からＳ４６０７までの処理と共通であってもよいし、図４６の場合とは異なる構文解析木が処理されるときには、新規に実行されてよい。
【０２１８】
続いて、ステップＳ５００５からＳ５０１１までの繰り返し処理（ループ処理）として、現在の処理対象の構文解析木からステップＳ５００４にて抽出された部分木ごとに、以下のステップＳ５００６からＳ５０１０までの一連の処理が実行される。
まず、現在の処理対象の部分木に含まれる各終端記号（文節）としての最小単位フレーズの一次元列（フレーズ列）が抽出される。さらに、抽出した部分木毎の最小単位フレーズ列を構成する最小単位フレーズ毎に、それが属するステップＳ５００３にて抽出されたフレーズクラスが抽出される。これにより、部分木毎のフレーズクラス列が抽出される（以上、ステップＳ５００６）。この処理は、図４６のステップＳ４６０８と同様の処理であり、または元になるテキストデータが同じならば、共通の処理であってもよい。
【０２１９】
次に、現在の処理対象の部分木に対応するフレーズクラスの一次元列に、ステップＳ５００６で抽出されている最小単位フレーズの一次元列が対応付けられる（ステップＳ５００７）。すなわち、処理対象の部分木に含まれる各終端記号（文節）に対し、ステップＳ５００３での文節分類結果に基づいて、文節クラスのＩＤが対応させられ、フレーズクラス情報付き部分木のデータが得られる。さらにそのフレーズクラス情報付き部分木データから、フレーズ列（文節列）のデータとフレーズクラス列（文節クラス列）のデータが得られ、フレーズ列とフレーズクラス列のペアのデータが得られる。この処理は、図４６のステップＳ４６０９と同様の処理であり、または元になるテキストデータが同じならば、共通の処理であってもよい。
【０２２０】
さらに、上述のようにしてフレーズクラス情報付き部分木のデータが得られた後、そのデータからフレーズ情報のみが取り去られることにより、部分木の終端記号のフレーズがフレーズクラスに置き換えられたフレーズクラス置換構文解析木が生成される（ステップＳ５００８）。この処理は、図４６のステップＳ４６１０と同様の処理であり、または元になるテキストデータが同じならば、共通の処理であってもよい。
【０２２１】
次に、ステップＳ５００８で生成されたフレーズクラス置換構文解析木のフレーズクラス列に関して、図４６のステップＳ４６１４によって外部記憶装置などに記憶されているそのフレーズクラス列に対応する図４９（ｂ）に示される部分木構造の出現頻度が参照される。そして、最も出現頻度が高い部分木構造が選択される（ステップＳ５００９）。
【０２２２】
そして、現在処理対象となっている一次元文字列の構文解析結果（構文解析木）において、現在処理対象となっている部分木の構造が、ステップＳ５００９で選択された最高頻度を有する部分木の構造で置換される（ステップＳ５０１０）。
以上の処理が１つの構文解析木に含まれる全ての部分木について繰り返し実行されることにより、現在の処理対象の構文解析木中の各部分木の構造が修正され、その内容が外部記憶装置などに保存される（ステップＳ５０１２）。その後、次の構文解析木についても繰り返し同じ処理が実行される（ステップＳ５０１３→Ｓ５００５）。
【０２２３】
図５１は、構文解析結果（構文解析木）における部分木構造の置換処理の詳細動作説明図である。現在処理対象の構文解析結果が例えば図５１（ａ）の５１０１ａに示されるような木構造を有しており、それに含まれる現在処理対象の部分木が例えば図５１（ａ）の５１０１ａ中の太線で示される構造を有しているとする。このとき、構文解析結果に対するデータ表現は、例えばＬｉｓｐ（ＬＩＳｔ  Ｐｒｏｃｅｓｓｉｎｇ）言語を使った表現では、図５１（ａ）の５１０２ａに示されるごとくとなる。また、そのＳｔｒｉｎｇ（文字列）表現は、５１０３ａに示されるごとくとなる。また、５１０１ａ中の太字で示される処理対象の部分木は、図５１（ｂ）の５１０１ｂに示されるごとくであり、それに対するＬｉｓｐ表現およびＳｔｒｉｎｇ表現は、図５１（ｂ）の５１０２ｂおよび５１０３ｂに示されるごとくである。さらに、置換後の部分木が例えば図５１（ｃ）の５１０１ｃに示されるごとくである場合、それに対するＬｉｓｐ表現およびＳｔｒｉｎｇ表現は、図５１（ｃ）の５１０２ｃおよび５１０３ｃに示されるごとくとなる。これらの関係より、処理対象の構文解析木中の処理対象の部分木を置換する処理は、図５２に示されるような方法で実現することができる。すなわち例えば、図５２（ａ）の構文解析結果のＳｔｒｉｎｇ表現中の、図５２（ｂ）の置換対象部分木のＳｔｒｉｎｇ表現にマッチする文字列部分を、図５２（ｃ）の置換後の部分木のＳｔｒｉｎｇ表現の文字列で文字列置換すればよい（図５２の破線５２０１の部分）。これにより、図５２（ａ）に示されるＳｔｒｉｎｇ表現を有する図５２（ｅ）の構文解析結果から、図５２（ｄ）に示されるようなＳｔｒｉｎｇ表現を有する図５２（ｆ）の置換結果を得ることができる。ここで図５２（ｃ）のＳｔｒｉｎｇ表現であらわせる構文解析木の部分木５２（ｆ）の出現頻度が図５２（ｂ）のＳｔｒｉｎｇ構文解析木の表現にあらわせる部分木５２（e）の出現頻度より大とする。
【０２２４】
図５３は、上述の第５の実施形態の処理を適用した図１の第１の実施形態の処理を示すフローチャートである。図５３と図１を比較するとわかるように、ステップＳ１０２の処理の後に、図４６および図５０のフローチャートで示されるステップＳ５３０１の構文解析結果誤り自動修正処理が実行される。そして、その修正された効果結果を使って、ステップＳ１０３以降の処理が実行される。
【０２２５】
図１に示される第１の実施形態では、フレーズ列の分類に構文解析結果が用いられるため、構文解析の誤りがフレーズ列の分類結果、ひいては第１の実施形態の語句分類装置の性能に影響を及ぼす。従って、第５の実施形態の構文解析の誤り修正機能を組み込むことによって、語句分類装置の性能を向上させることが可能となる。
【０２２６】
ここで、構文木ではなくてフレーズクラス置換構文解析木で出現頻度を求めることにより、部分木中の各葉ノード（リーフノード）に出現するフレーズがフレーズクラスで表現される。このため、部分木の頻度が飛躍的に高まりデータスパースネス問題が克服され、統計の信頼性が高まる。特に低頻度のフレーズが部分木中に出現した場合、そのフレーズ自体の出現頻度は１でなくても、そのフレーズを含んだその部分木の頻度が１（他には例がない）あるいは極低頻度であるケースが多く存在し、そのようなケースでは統計的に有為な部分木構造の優劣判定を下すことは難しい。フレーズクラスの部分木を用いることにより、このような問題が解決される。
【０２２７】
図５４は、上記各実施形態のシステムを実現できるコンピュータのハードウェア構成の一例を示す図である。
図５４に示されるコンピュータは、ＣＰＵ５４０１、メモリ５４０２、入力装置５４０３、出力装置５４０４、外部記憶装置５４０５、可搬記録媒体５４０９が挿入される可搬記録媒体駆動装置５４０６、およびネットワーク接続装置５４０７を有し、これらがバス５４０８によって相互に接続された構成を有する。
同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０２２８】
ＣＰＵ５４０１は、当該コンピュータ全体の制御を行う。
メモリ５４０２は、プログラムの実行、データ更新等の際に、外部記憶装置５４０５（或いは可搬記録媒体５４０９）に記憶されているプログラムまたはデータを一時的に格納するＲＡＭ等のメモリである。
ＣＵＰ５４０１は、プログラムをメモリ５４０２に読み出して実行することにより、全体の制御を行う。
【０２２９】
入力装置５４０３は、例えば、キーボード、マウス等およびそれらのインタフェース制御装置とからなる。
入力装置５４０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ５４０１に通知する。
出力装置５４０４は、表示装置、印刷装置等およびそれらのインタフェース制御装置とからなる。
出力装置５４０４は、ＣＰＵ５４０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０２３０】
外部記憶装置５４０５は、例えばハードディスク記憶装置である。
主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置５４０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体５４０９を収容するもので、外部記憶装置５４０５の補助の役割を有する。
【０２３１】
ネットワーク接続装置５４０７は、例えばＬＡＮ（ローカルエリアネットワーク）またはＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、それに必要な機能を搭載したプログラムをＣＰＵ５４０１が実行することで実現される。
そのプログラムは、例えば外部記憶装置５４０５や可搬記録媒体５４０９に記録して配布してもよく、或いはネットワーク接続装置５４０７によりネットワークから取得できるようにしてもよい。
【０２３２】
以上の各実施形態に関して、さらに以下の付記を開示する。
（付記１）
テキストデータ中の一次元文字列に含まれる語句を分類する装置であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズ一次元列中の各フレーズの属性を抽出する手段と、
前記生成したフレーズ一次元列と前記抽出したフレーズの属性とから、前記フレーズ一次元列に対応する属性の一次元列を求め、該属性一次元列にフレーズ一次元列を関連付けて語句分類結果を生成してデータベースに格納する手段と、
を備えることを特徴とする語句分類処理装置。
（付記２）
テキストデータに含まれるフレーズを分類する装置であって、
前記テキストデータ中の各々の文を構文解析して得た、フレーズを終端記号とする構文解析木の、各々の部分木について、前記部分木から終端記号であるフレーズの一次元列を抽出するフレーズ列抽出部と、
前記テキストデータから抽出されたフレーズ一次元列から互いに異なるフレーズを抽出し、所定の出現頻度を有するフレーズのそれぞれに固有のフレーズクラスを割り当てる初期化クラス設定部と、
前記フレーズクラスの集合から、取り出すペアがなくなるまで、２つのフレーズクラスのペアを順次取り出して仮マージする仮マージ部と、
前記各ペアの仮マージ毎に、前記仮マージされたフレーズクラスについての確率文脈自由文法によって生成される前記テキストデータのエントリピーを算出するエントロピー算出部と、
前記各仮マージのペアのうち、前記仮マージの前後で前記エントリピーの増加量が最小となるペアに対応する２つのフレーズクラスを本マージする本マージ部と、
を備えることを特徴とするフレーズ分類処理装置。
（付記３）
第１のテキストデータから、互いに異なるＶ個のフレーズを抽出し、前記Ｖ個のフレーズの集合を前記フレーズの属性ごとにまとめられたＣ個のフレーズクラスに分割したクラスタリングを、前記フレーズと該フレーズクラスとを関連付けたフレーズ分類のデータベースとして生成するフレーズ分類部をさらに備え、
前記部分木中のフレーズの一次元列を生成する手段は、第２のテキストデータから、前記Ｖ個のフレーズおよびその他のフレーズを終端記号とする構文解析木の集合を生成して前記構文解析木から部分木を抽出する部分木抽出部と、前記部分木から終端記号であるフレーズの一次元列を抽出する部分木毎フレーズ列抽出部とを備え、
前記生成したフレーズの一次元列中の各フレーズの属性を抽出する手段は、前記フレーズの一次元列において、前記クラスタリングに基づいて前記フレーズから該フレーズが属するフレーズクラスを求めることを含み、
前記語句分類結果を生成してデータベースに格納する手段は、前記フレーズの一次元列をフレーズクラスの一次元列に変換して、該フレーズクラスの一次元列に前記フレーズの一次元列を対応させ、前記フレーズクラスの一次元列に対応するフレーズの一次元列の集合を１つの語句クラスとする前記語句分類結果を生成することを含む、
ことを特徴とする付記１に記載の語句分類処理装置。
（付記４）
前記フレーズ分類部は、
前記フレーズの一次元列から互いに異なるフレーズを抽出し、所定の出現頻度を有するフレーズのそれぞれに固有のフレーズクラスを割り当てる初期化クラス設定部と、
前記フレーズクラスの集合から、２つのフレーズクラスのペアを順次取り出して仮マージする仮マージ部と、
前記各ペアの仮マージ毎に、前記第１のテキストデータの前記仮マージされたフレーズクラスについての平均相互情報量を算出する平均相互情報量算出部と、
前記各仮マージのペアのうち、前記仮マージの前後で前記平均相互情報量の減少量が最小となるペアに対応する２つのフレーズクラスを本マージする本マージ部と、
を備えることを特徴とする付記３に記載の語句分類処理装置。
（付記５）
前記フレーズ分類部は、
前記フレーズの一次元列から互いに異なるフレーズを抽出し、所定の出現頻度を有するフレーズのそれぞれに固有のフレーズクラスを割り当てる初期化クラス設定部と、
前記フレーズクラスの集合から、取り出すペアがなくなるまで、２つのフレーズクラスのペアを順次取り出して仮マージする仮マージ部と、
前記各ペアの仮マージ毎に、前記仮マージされたフレーズクラスについての確率文脈自由文法によって生成される前記第１のテキストデータのエントリピーを算出するエントロピー算出部と、
前記各仮マージのペアのうち、前記仮マージの前後で前記エントリピーの増加量が最小となるペアに対応する２つのフレーズクラスを本マージする本マージ部と、
を備えることを特徴とする付記３に記載の語句分類処理装置。
（付記６）
前記第２のテキストデータは、前記第１のテキストデータの全部あるいは一部である、
ことを特徴とする付記３に記載の語句分類処理装置。
（付記７）
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正する装置であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成する手段と、
前記フレーズクラス置換構文解析木の構文解析結果中の頻度を求める手段と、
前記フレーズの一次元列に対応する部分木を前記構文解析結果から抽出する手段と、
前記抽出されたそれぞれの部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求めそのフレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する手段と、
を備えることを特徴とする構文解析誤り修正装置。
（付記８）
前記構文解析結果を蓄積したツリーバンク中の部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求め、
前記フレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する手段を用いる、
ことを特徴とする付記７に記載の構文解析誤り修正装置。
（付記９）
検索キータームに基づいて文のデータベースを検索する装置であって、
検索キータームから１文節以上の連続する文節列の全ての組み合わせを抽出する手段と、
前記文節列の組み合わせ毎に、語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記文節列に対応する語句の属性に関連付けられている語句群を、
前記文節列に類似する語句群として取得する手段と、
前記検索キータームにおいて、前記各文節列を該文節列に類似する語句群中の各語でそれぞれ置換する全ての組み合わせとして、展開された検索キーターム群を取得する手段と、
前記展開された検索キーターム群中の各検索キーターム毎に、該検索キータームを含む文を前記文のデータベースから検索する手段と、
前記展開された検索キーターム群中の各検索キーターム毎に得られた検索結果の集合を出力する手段と、
を備えることを特徴とする語句検索装置。
（付記１０）
テキストデータ中の語句を検索する装置であって、
解析対象の文を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成する手段と、
語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記生成したフレーズの一次元列の中で各々の語句の順がどの属性の順になるかを求める手段と、
語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果のデータベースを参照して、前記求めた属性の順をとる語句群を取得する手段と、
を備えることを特徴とする語句検索装置。
（付記１１）
文字の入力を支援する装置であって、
キー入力を受け付ける入力部と、
かな漢字変換の指示に基づいてかな漢字変換を実行するかな漢字変換制御部と、
文字列入力時の予測入力の連鎖を示す予測入力グラフを格納した予測入力グラフデータベースを参照することにより入力予測文字列を検索する入力予測文字列検索部と、
前記かな漢字変換制御部によって指示されるかな漢字変換文字列候補を出力するかな漢字変換候補出力部と、
前記かな漢字変換候補出力部から出力されるかな漢字変換文字列候補と前記入力予測文字列検索部から出力される入力予測文字列候補をランキングして、文字列候補の表示方法を決定するランキング部と、
前記ランキング部で表示方法が決定された前記かな漢字変換文字列候補および前記入力予測文字列候補を出力して文字列の決定を受け付ける決定部と、
前記出力された前記かな漢字変換文字列候補および前記入力予測文字列候補を表示する表示部と、
前記決定部で決定された文字列の入力履歴を記憶する入力履歴記憶部と、
前記入力履歴記憶部に記憶された文字列の入力履歴に基づいて、語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果を生成する語句分類処理部と、
前記語句分類結果と前記文字列の入力履歴とから、前記予測入力グラフデータベースを作成する予測入力グラフ作成部と、
を備えることを特徴とする文字入力支援装置。
（付記１２）
テキストデータ中の一次元文字列に含まれる語句を分類する方法であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木の語句について、前記部分木におけるフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズ一次元列中の各フレーズの属性を抽出し、
前記生成したフレーズ一次元列と前記抽出したフレーズの属性とから、前記フレーズ一次元列に対応する属性の一次元列を求め、該属性一次元列にフレーズ一次元列を関連付けて語句分類結果を生成してデータベースに格納する、
ことを特徴とする語句分類処理方法。
（付記１３）
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正する方法であって、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成し、
前記フレーズクラス置換構文解析木の構文解析結果中の頻度を求め、
前記フレーズの一次元列に対応する部分木を前記構文解析結果から抽出し、
前記抽出されたそれぞれの部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求めそのフレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する、
ことを特徴とする構文解析誤り修正方法。
（付記１４）
前記構文解析結果を蓄積したツリーバンク中の部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求め、
前記フレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する、
ことを特徴とする付記１３に記載の構文解析誤り修正方法。
（付記１５）
検索キータームに基づいて文のデータベースを検索する方法であって、
検索キータームから１文節以上の連続する文節列の全ての組み合わせを抽出し、
前記文節列の組み合わせ毎に、語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記文節列に対応する語句の属性に関連付けられている語句群を、
前記文節列に対応する語句群として取得し、
前記検索キータームにおいて、前記各文節列を該文節列に対応する語句群中の各語でそれぞれ置換する全ての組み合わせとして、展開された検索キーターム群を取得し、
前記展開された検索キーターム群中の各検索キーターム毎に、該検索キータームを含む文を前記文のデータベースから検索し、
前記展開された検索キーターム群中の各検索キーターム毎に得られた検索結果の集合を出力する、
ことを特徴とする語句検索方法。
（付記１６）
テキストデータ中の語句を検索する方法であって、
解析対象の文を構文解析して得た構造木の語句について、各文節までの語句の順の組合せを生成し、
語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記生成した語句の順がどの属性の順になるかを求め、
語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果のデータベースを参照して、前記求めた属性の順をとる語句群を取得する手段と、
を備えることを特徴とする語句検索方法。
（付記１７）
文字の入力を支援する方法であって、
キー入力を受け付け、
かな漢字変換の指示に基づいてかな漢字変換を実行し、
文字列入力時の予測入力の連鎖を示す予測入力グラフを格納した予測入力グラフデータベースを参照することにより入力予測文字列を検索し、
前記かな漢字変換によって指示されるかな漢字変換文字列候補を出力し、
前記かな漢字変換文字列候補と前記入力予測文字列候補をランキングして、文字列候補の表示方法を決定し、
前記表示方法が決定された前記かな漢字変換文字列候補および前記入力予測文字列候補を出力して文字列の決定を受け付け、
前記出力された前記かな漢字変換文字列候補および前記入力予測文字列候補を表示し、
前記決定された文字列の入力履歴を記憶し、
前記文字列の入力履歴に基づいて、語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果を生成し、
前記語句分類結果と前記文字列の入力履歴とから、前記予測入力グラフデータベースを作成する、
ことを特徴とする文字入力支援方法。
（付記１８）
テキストデータ中の一次元文字列に含まれる語句を分類するコンピュータに、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木の語句について、前記部分木中におけるフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記生成したフレーズ一次元列中の各フレーズの属性を抽出し、
前記生成したフレーズ一次元列と前記抽出したフレーズの属性とから、前記フレーズ一次元列に対応する属性の一次元列を求め、該属性一次元列にフレーズ一次元列を関連付けて語句分類結果を生成してデータベースに格納する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
（付記１９）
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正するコンピュータに、
前記一次元文字列を構文解析して得た構文解析木の各々の部分木について、前記部分木中のフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成し、
前記フレーズクラス置換構文解析木の構文解析結果中の頻度を求め、
前記フレーズの一次元列に対応する部分木を前記構文解析結果から抽出し、
前記抽出されたそれぞれの部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求めそのフレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
（付記２０）
前記構文解析結果を蓄積したツリーバンク中の部分木に対応するフレーズクラス置換構文解析木の構文解析結果中の頻度をもとに最も頻度の高いフレーズクラス置換構文解析木を求め、
前記フレーズクラス置換構文解析木の木構造をもとに前記部分木の木構造を修正する、
機能をさらに実行させるための付記１９に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
（付記２１）
検索キータームに基づいて文のデータベースを検索するコンピュータに、
検索キータームから１文節以上の連続する文節列の全ての組み合わせを抽出し、
前記文節列の組み合わせ毎に、語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記文節列に対応する語句の属性に関連付けられている語句群を、
前記文節列に対応する語句群として取得し、
前記検索キータームにおいて、前記各文節列を該文節列に対応する語句群中の各語でそれぞれ置換する全ての組み合わせとして、展開された検索キーターム群を取得し、
前記展開された検索キーターム群中の各検索キーターム毎に、該検索キータームを含む文を前記文のデータベースから検索し、
前記展開された検索キーターム群中の各検索キーターム毎に得られた検索結果の集合を出力する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
（付記２２）
テキストデータ中の語句を検索するコンピュータに、
解析対象の文を構文解析して得た構造木の語句について、各文節までの語句の順の組合せを生成し、
語句と該語句の属性とを関連付けた語句分類結果のデータベースを参照して、前記生成した語句の順がどの属性の順になるかを求め、
語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果のデータベースを参照して、前記求めた属性の順をとる語句群を取得する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
（付記２３）
文字の入力を支援するコンピュータに、
キー入力を受け付け、
かな漢字変換の指示に基づいてかな漢字変換を実行し、
文字列入力時の予測入力の連鎖を示す予測入力グラフを格納した予測入力グラフデータベースを参照することにより入力予測文字列を検索し、
前記かな漢字変換によって指示されるかな漢字変換文字列候補を出力し、
前記かな漢字変換文字列候補と前記入力予測文字列候補をランキングして、文字列候補の表示方法を決定し、
前記表示方法が決定された前記かな漢字変換文字列候補および前記入力予測文字列候補を出力して文字列の決定を受け付け、
前記出力された前記かな漢字変換文字列候補および前記入力予測文字列候補を表示し、
前記決定された文字列の入力履歴を記憶し、
前記文字列の入力履歴に基づいて、語句の属性の順と該語句の属性の順となる語の組合せとを関連付けて持つ語句分類結果を生成し、
前記語句分類結果と前記文字列の入力履歴とから、前記予測入力グラフデータベースを作成する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
（付記２４）
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正する装置であって、
前記一次元文字列を構文解析して得た構文解析木を構成する各部分木について、該部分木中のフレーズの一次元列を生成する手段と、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成する手段と、
前記フレーズクラス置換構文解析木ごとに、該フレーズクラス置換構文解析木を生成した前記各部分木の前記構文解析結果中での頻度を求める手段と、
前記構文解析木中の各部分木の木構造を、該部分木から生成される前記フレーズクラス置換構文解析木において前記頻度が最も高かった部分木の木構造で置き換えて修正する手段と、
を備えることを特徴とする構文解析誤り修正装置。
（付記２５）
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正する方法であって、
前記一次元文字列を構文解析して得た構文解析木を構成する各部分木について、該部分木中のフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成し、
前記フレーズクラス置換構文解析木ごとに、該フレーズクラス置換構文解析木を生成した前記各部分木の前記構文解析結果中での頻度を求め、
前記構文解析木中の各部分木の木構造を、該部分木から生成される前記フレーズクラス置換構文解析木において前記頻度が最も高かった部分木の木構造で置き換えて修正する、
ことを特徴とする構文解析誤り修正方法。
（付記２６）
テキストデータ中の一次元文字列の構文解析結果の誤りを自動修正するコンピュータに、
前記一次元文字列を構文解析して得た構文解析木を構成する各部分木について、該部分木中のフレーズの一次元列を生成し、
フレーズと該フレーズの属性とを関連付けたフレーズ分類結果のデータベースを参照して、前記部分木中のフレーズをフレーズクラスに置換してフレーズクラス置換構文解析木を生成し、
前記フレーズクラス置換構文解析木ごとに、該フレーズクラス置換構文解析木を生成した前記各部分木の前記構文解析結果中での頻度を求め、
前記構文解析木中の各部分木の木構造を、該部分木から生成される前記フレーズクラス置換構文解析木において前記頻度が最も高かった部分木の木構造で置き換えて修正する、
機能を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【符号の説明】
【０２３３】
１００１−１、１００１−２  テキストデータ記憶部
１００２  構文解析部
１００３  最小単位フレーズ抽出部
１００４  最小単位フレーズ分類部
１００５  部分木抽出部
１００６  部分木毎フレーズ列抽出部
１００７  部分木毎フレーズクラス列抽出部
１００８  フレーズ列分類部
１００９  フレーズクラス列ＩＤデータベース記憶部
１０１０、３９０５、４０１０  語句クラスデータベース記憶部
２５０１  初期化クラス設定部
２５０２  仮マージ部
２５０３  平均相互情報量算出部
２５０４  本マージ部
３９０１  検索キーターム入力部
３９０２  検索キーターム展開部
３９０３  展開検索キーターム毎文書検索部
３９０４  検索結果集合出力部
３９０６  文書データベース記憶部
３９０７、４００９  第１の実施形態による語句分類処理装置
３７０１  検索キーターム
３７０２  検索キーターム展開結果
３７０３  語句分類結果
４００１  入力部
４００２  かな漢字変換制御部
４００３  入力予測文字列検索部
４００４  かな漢字変換候補出力部
４００５  ランキング部
４００６  決定部
４００７  表示部
４００８  入力履歴記憶部
４０１１  予測入力グラフ作成部
４０１２  予測入力グラフデータベース記憶部
【図１】
2012014687.tif 000004
【図２】
2012014687.tif 000005
【図３】
2012014687.tif 000006
【図４】
2012014687.tif 000007
【図５】
2012014687.tif 000008
【図６】
2012014687.tif 000009
【図７】
2012014687.tif 000010
【図８】
2012014687.tif 000011
【図９】
2012014687.tif 000012
【図１０】
2012014687.tif 000013
【図１１】
2012014687.tif 000014
【図１２】
2012014687.tif 000015
【図１３】
2012014687.tif 000016
【図１４】
2012014687.tif 000017
【図１５】
2012014687.tif 000018
【図１６】
2012014687.tif 000019
【図１７】
2012014687.tif 000020
【図１８】
2012014687.tif 000021
【図１９】
2012014687.tif 000022
【図２０】
2012014687.tif 000023
【図２１】
2012014687.tif 000024
【図２２】
2012014687.tif 000025
【図２３】
2012014687.tif 000026
【図２４】
2012014687.tif 000027
【図２５】
2012014687.tif 000028
【図２６】
2012014687.tif 000029
【図２７】
2012014687.tif 000030
【図２８】
2012014687.tif 000031
【図２９】
2012014687.tif 000032
【図３０】
2012014687.tif 000033
【図３１】
2012014687.tif 000034
【図３２】
2012014687.tif 000035
【図３３】
2012014687.tif 000036
【図３４】
2012014687.tif 000037
【図３５】
2012014687.tif 000038
【図３６】
2012014687.tif 000039
【図３７】
2012014687.tif 000040
【図３８】
2012014687.tif 000041
【図３９】
2012014687.tif 000042
【図４０】
2012014687.tif 000043
【図４１】
2012014687.tif 000044
【図４２】
2012014687.tif 000045
【図４３】
2012014687.tif 000046
【図４４】
2012014687.tif 000047
【図４５】
2012014687.tif 000048
【図４６】
2012014687.tif 000049
【図４７】
2012014687.tif 000050
【図４８】
2012014687.tif 000051
【図４９】
2012014687.tif 000052
【図５０】
2012014687.tif 000053
【図５１】
2012014687.tif 000054
【図５２】
2012014687.tif 000055
【図５３】
2012014687.tif 000056
【図５４】
2012014687.tif 000057