(57)【要約】【課題】解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することが可能な自然言語解析装置、方法及びプログラムを提供すること。【解決手段】自然言語解析装置１０は、解析対象の文を構成する文字を文字単位で取得し、取得した文字ごとの依存関係を決定する。そして、自然言語解析装置１０は、当該解析対象の文の先頭文字から順にこの文字ごとの依存関係を決定する過程で、係り先が未確定の文字を依存先未決スタック１０７にスタックしていき、依存関係の判定により文字の係り先が決定した後に、依存先未決スタック１０７に蓄積された文字の依存関係の決定を行って文字の係り受けを決定する。【選択図】図１
2011198075.tif 000002
【特許請求の範囲】
【請求項１】
自然言語文を解析する自然言語解析装置であって、
解析対象の文を構成する文字を文字単位で取得する文字取得手段と、
取得した文字ごとの依存関係を決定する文字係り受け解析手段と、を備え、
前記文字係り受け解析手段は、
前記解析対象の文の先頭文字から順に前記文字ごとの依存関係を決定する過程で、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する、
自然言語解析装置。
【請求項２】
前記文字係り受け解析手段における依存関係の判定は、依存元及び依存先候補の文字の種類と、文字の位置の関係とに応じた判定結果のタイプを対応付けた文法定義テーブルに基づいて行う、請求項１に記載の自然言語解析装置。
【請求項３】
前記文字係り受け解析手段における依存関係の判定は、ＳＶＭにより機械学習された文法ルールに基づいて行う、請求項１又は２に記載の自然言語解析装置。
【請求項４】
自然言語解析装置が、自然言語文を解析する自然言語解析方法であって、
解析対象の文を構成する文字を文字単位で取得するステップと、
取得した文字ごとの依存関係を決定する文字係り受け解析ステップと、を含み、
前記文字係り受け解析ステップは、
前記解析対象の文の先頭文字から順に前記文字ごとの依存関係を決定する過程で、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する、自然言語解析方法。
【請求項５】
自然言語文を解析する自然言語解析プログラムであって、コンピュータに、
解析対象の文を構成する文字を文字単位で取得するステップと、
取得した文字ごとの依存関係を決定する文字係り受け解析ステップと、を実行させ、
前記文字係り受け解析ステップは、
前記解析対象の文の先頭文字から順に前記文字ごとの依存関係を決定する過程で、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語解析装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、日本語の文の解析では、形態素解析を行った単語（形態素）列を文節としてまとめ、その文節間の係り受け関係（依存関係）で解析結果を表現することが主流である。この場合、係り受け解析の手法は、事前に文頭から文末までスキャンして形態素解析を行う必要があり、形態素解析後にまた文頭に戻って、文頭から文末までスキャンして文節まとめ上げを行い、文節まとめ上げ後にまた文頭に戻って、文頭から文末までスキャンして係り受け解析を行っている。
【０００３】
この様な日本語の文節間の係り受け関係を解析する技術において、文節まとめ上げと係り受け解析とを１回のスキャンで行う特許文献１が知られている。
【０００４】
特許文献１が開示する技術は、解析対象の文を形態素に分解されたものを入力し、形態素列の各単語（形態素）間の依存関係（係り元とその係り先との決定と、係り関係のタイプの決定との二つ）を決定する処理を、スタックを利用して行う。ここで、この決定された係り関係のタイプは、文節の区切りも表わしている。したがって、特許文献１が開示する技術は、このような依存関係を決定する処理を行うことで、文節まとめ上げと係り受け解析とを同時に行なうことができ、文節まとめ上げと係り受け解析とで独立したモジュールを必要としないと共に、処理を高速化することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１７６０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１で開示する技術は、文末が明瞭な文を解析対象とする技術であり、解析対象の文を文末まで形態素に分解して形態素解析を行った後に、文節のまとめ上げと文節間の係り受け関係を決定するものである。したがって、特許文献１で開示する技術は、文末が不明瞭な場合には、形態素解析が行われず、文節間の係り受け関係を決定できない。
【０００７】
そこで、文を文末まで形態素に分解して形態素解析を行わなくても、文節間の係り受け関係を決定することができる装置が求められている。
【０００８】
本発明は、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することが可能な自然言語解析装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、以下のような解決手段を提供する。
【００１０】
（１）  自然言語文を解析する自然言語解析装置であって、解析対象の文を構成する文字を文字単位で取得する文字取得手段と、取得した文字ごとの依存関係を決定する文字係り受け解析手段と、を備え、前記文字係り受け解析手段は、前記解析対象の文の先頭文字から順に前記文字ごとの依存関係を決定する過程で、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する、自然言語解析装置。
【００１１】
（１）の構成によれば、本発明に係る自然言語解析装置は、解析対象の文を構成する文字を文字単位で取得し、取得した文字ごとの依存関係を決定する。当該解析対象の文の先頭文字から順にこの文字ごとの依存関係を決定する過程で、自然言語解析装置は、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する。
【００１２】
したがって、本発明に係る自然言語解析装置は、依存関係が未確定な文字をスタックに蓄積しながら文字ごとの係り受け解析をするので、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することができる。
【００１３】
（２）  前記文字係り受け解析手段における依存関係の判定は、依存元及び依存先候補の文字の種類と、文字の位置の関係とに応じた判定結果のタイプを対応付けた文法定義テーブルに基づいて行う、（１）に記載の自然言語解析装置。
【００１４】
（２）の構成によれば、当該自然言語解析装置は、文字ごとの依存関係の判定を、依存元及び依存先候補の文字の種類と、文字の位置の関係とに応じた判定結果のタイプを対応付けた文法定義テーブルに基づいて行う。
【００１５】
したがって、当該自然言語解析装置は、文法定義テーブルに基づいて文字ごとの依存関係を決定するので、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することができる。
【００１６】
（３）  前記文字係り受け解析手段における依存関係の判定は、ＳＶＭにより機械学習された文法ルールに基づいて行う、（１）又は（２）に記載の自然言語解析装置。
【００１７】
（３）の構成によれば、当該自然言語解析装置は、文字ごとの依存関係の判定を、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）により機械学習された文法ルールに基づいて行う。したがって、当該自然言語解析装置は、ＳＶＭにより文字ごとの依存関係を決定することができる。
【００１８】
（４）  自然言語解析装置が、自然言語文を解析する自然言語解析方法であって、解析対象の文を構成する文字を文字単位で取得するステップと、取得した文字ごとの依存関係を決定する文字係り受け解析ステップと、を含み、前記文字係り受け解析ステップは、前記解析対象の文の先頭文字から順に前記文字ごとの依存関係を決定する過程で、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する、自然言語解析方法。
【００１９】
したがって、本発明に係る自然言語解析方法は、当該自然言語解析装置が、依存関係が未確定な文字をスタックに蓄積しながら文字ごとの係り受け解析をするので、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することができる。
【００２０】
（５）  自然言語文を解析する自然言語解析プログラムであって、コンピュータに、解析対象の文を構成する文字を文字単位で取得するステップと、取得した文字ごとの依存関係を決定する文字係り受け解析ステップと、を実行させ、前記文字係り受け解析ステップは、前記解析対象の文の先頭文字から順に前記文字ごとの依存関係を決定する過程で、係り先が未確定の文字をスタックしていき、依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字の依存関係の決定を行って文字の係り受けを決定する、プログラム。
【００２１】
したがって、本発明に係る自然言語解析プログラムを自然言語解析装置に導入して実行することにより、当該自然言語解析装置は、依存関係が未確定な文字をスタックに蓄積しながら文字ごとの係り受け解析をするので、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することができる。
【発明の効果】
【００２２】
本発明によれば、自然言語解析処理において、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係る自然言語解析装置の構成例を示す図である。
【図２】本発明の一実施形態に係る自然言語解析装置において、ＳＶＭを用いた場合の依存関係判定部の構成例を示す図である。
【図３】本発明の一実施形態に係る自然言語解析装置における解析文字格納部の例を示す図である。
【図４】本発明の一実施形態に係る自然言語解析装置における文法定義テーブルの例を示す図である。
【図５】本発明の一実施形態に係る自然言語解析装置の係り受け解析処理部の具体的な処理例を示す図である。
【図６】図５に続く、係り受け解析処理部の具体的な処理例を示す図である。
【図７】図６に続く、係り受け解析処理部の具体的な処理例を示す図である。
【図８】図７に続く、係り受け解析処理部の具体的な処理例を示す図である。
【図９】図８に続く、係り受け解析処理部の具体的な処理例を示す図である。
【図１０】図９に続く、係り受け解析処理部の具体的な処理例を示す図である。
【図１１】図１０に続く、係り受け解析処理部の具体的な処理例を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について図を参照しながら説明する。
【００２５】
本実施形態は、コンピュータ及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成される。
【００２６】
上記ハードウェアには、制御部としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の他、記憶部、通信装置、表示装置及び入力装置が含まれる。記憶部としては、例えば、メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ等）、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及び光ディスク（ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ、ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ等）ドライブが挙げられる。通信装置としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００２７】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布されることも可能である。
【００２８】
図１は本発明の一実施形態に係る自然言語解析装置１０の構成例を示す図である。なお、以下では日本語を対象とした例について説明するが、文節に区切ることが可能で、文節間の係り受け関係が存在する言語であれば同様に適用することができる。
【００２９】
図１において、自然言語解析装置１０は、解析対象の文を構成する文字を文字単位で取得する解析対象文字入力部１０１と、この解析対象文字入力部１０１により入力された文字から、取得した文字ごとの依存関係を決定する係り受け解析処理部１０２とを備える。係り受け解析処理部１０２は、解析対象の文の先頭文字から順に文字ごとの依存関係を決定し、解析結果を解析文字格納部１０８に格納する。解析文字格納部１０８のデータ構造については、図３において説明する。
【００３０】
また、自然言語解析装置１０は、係り受け解析処理部１０２により作業用データ領域として用いられる依存元文字ＩＤ格納エリア１０５と、依存先候補文字ＩＤ格納エリア１０６と、依存先未決スタック１０７と、係り受け解析処理部１０２の処理において文字間の依存関係の判定に用いられる依存関係判定部１０３と、解析結果を出力する解析結果出力部１０４とを備えている。
【００３１】
依存元文字ＩＤ格納エリア１０５は、処理過程で依存元となる文字ＩＤを保持し、依存先候補文字ＩＤ格納エリア１０６は、処理過程で依存先候補となる文字ＩＤを保持し、依存先未決スタック１０７は、依存先が決まらなかった依存元の文字ＩＤを後入れ先出し（ＬＩＦＯ：Ｌａｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）で保持する。
【００３２】
また、依存関係判定部１０３は、文法定義テーブル１１０を有している。そして、係り受け解析処理部１０２は、依存関係判定部１０３により文字の係り先が決定された後に、依存先未決スタック１０７に蓄積された文字の依存関係の決定を行う。ここで、文法定義テーブル１１０は、依存元と依存先との関係をＩＦ―ＴＨＥＮ形式等のデータ構造として保持するほか、ＳＶＭによる機械学習により生成されたモデルとして保持する場合も含む。文法定義テーブル１１０の例については、図４において後述する。
【００３３】
図２は、本発明の一実施形態に係る自然言語解析装置１０において、ＳＶＭを用いた場合の依存関係判定部１０３の構成例を示す図である。
【００３４】
図２において、依存関係判定部１０３は、機械学習のための教師データを入力する教師データ入力部１０３１と、この教師データ入力部１０３１により入力された教師データに基づいてＳＶＭにより機械学習を行う機械学習部１０３２と、機械学習により生成されたモデルを保持する文法ルール記憶部（例えば、図４において後述する文法定義テーブル１１０に相当）１０３３とを備えている。
【００３５】
また、依存関係判定部１０３は、係り受け解析処理部１０２（図１）から依存元文字ＩＤと、依存先候補文字ＩＤとを引数に依存関係判定要求を受け付ける依存関係判定要求受付部１０３４と、この依存関係判定要求受付部１０３４で受け付けた依存関係判定要求に基づき、文法ルール記憶部１０３３を用いて依存関係を判定し、判定結果を係り受け解析処理部１０２に返す依存関係判定実行部１０３５とを備えている。
【００３６】
図３は、本発明の一実施形態に係る自然言語解析装置１０における解析文字格納部１０８の例を示す図である。解析文字格納部１０８は、一文を構成する文字ごとに、文字を識別する「文字ＩＤ」フィールドと、文字が格納される「文字コード」フィールドと、文字の属性のうち、例えば、文字の種類（例えば、ひらがなや、カタカナ、英数字、漢字、記号等）である文字種を示す「文字種」フィールドと、依存先の文字ＩＤを示す「依存先」フィールドと、依存先の文字との依存関係のタイプを示す「タイプ」フィールドとを含んでいる。なお、文字解析の初期状態は、「文字ＩＤ」のフィールドが埋められ、「文字コード」、「文字種」、「依存先」及び「タイプ」のフィールドはブランクである。図３が示す例は、自然言語解析装置１０による係り受け解析が終了し、文字の係り先の文字ＩＤが依存先に格納され、単語区切が設定され、文節区切が設定されていることを示す例である。さらに、図３が示す例は、矢印２２１が文字ＩＤによる文字の係り先を示し、矢印２１１が設定された単語区切を示し、矢印２１２が設定された文節区切を示す例である。
【００３７】
図４は、本発明の一実施形態に係る自然言語解析装置１０における文法定義テーブル１１０の例を示す図である。文法定義テーブル１１０は、依存元及び依存先候補の文字種、位置関係（文章を構成する文字において、文字同士の前後の関係）等の条件と、判定結果のタイプとを対応付けている。
【００３８】
ここで、判定結果のタイプ「Ｗ」は、「依存元文字と依存先候補文字とが同一単語内の文字連続を構成する」ことを示すタイプである。判定結果のタイプ「Ｂ」は、「依存元文字と依存先候補文字とが同一文節内の単語連続を構成する」ことを示すタイプである。判定結果のタイプ「Ｄ」は、「依存元文字が末尾となる文節と、依存先候補文字が末尾となる文節とが文節間の依存関係にある」ことを示すタイプである。判定結果のタイプ「Ｏ」は、「依存関係なし」を示すタイプである。判定結果のタイプ「Ｅ」は、「文末である」ことを示すタイプである。
【００３９】
さらに、上記のタイプの判定条件の一例として、例えば、「依存元文字の文字種と依存先候補文字の文字種とが同一  ＡＮＤ  依存元文字の直後に依存先候補文字」の場合に、依存元文字はＷと判定される。また、「依存元文字と依存先候補文字との文字種が異なる  ＡＮＤ  依存元文字の直後に依存先候補文字」の場合に、依存元文字はＢと判定される。また、「依存元文字が「の」  ＡＮＤ  依存先候補文字が格助詞に用いられる文字」の場合に、依存元文字はＤと判定される。上記以外の場合に、Ｏと判定される。そして、文末の場合に、Ｅと判定される。ここで、この様な条件は例であり、これに限られるものではない。この様な条件は、機械学習により作成され、文法定義テーブル１１０に記憶される。
【００４０】
ここで、本発明の一実施形態に係る自然言語解析装置１０の解析処理を高水準言語で示す。
【００４１】
ｐｒｏｃｅｄｕｒｅ  ａｎａｌｙｚｅ（ｍ，ｈ，ｔ）
ｖａｒ  ｓ：ｓｔａｃｋ
ｂｅｇｉｎ
Ｐｕｓｈ（−１，ｓ）
ｍ［０］＝ｇｅｔ＿ｔｏｋｅｎ（）
Ｐｕｓｈ（０，ｓ）
ｍ［１］＝ｇｅｔ＿ｔｏｋｅｎ（）
ｉ＝１
ｗｈｉｌｅ  （ｍ［ｉ］！＝ＥＯＳ）  ｄｏ  ｂｅｇｉｎ
ｊ＝Ｐｏｐ（ｓ）
ｍ［ｉ＋１］＝ｇｅｔ＿ｔｏｋｅｎ（）
ｗｈｉｌｅ  （ｊ！＝−１  ＆＆  （Ｄｅｐ（ｊ，ｉ，ｍ，ｔ）｜｜（ｍ［ｉ＋１］＝＝ＥＯＳ））  ｄｏ  ｂｅｇｉｎ
ｈ［ｊ］＝ｉ
ｊ＝Ｐｏｐ（ｓ）
ｅｎｄ
Ｐｕｓｈ（ｊ，ｓ）
Ｐｕｓｈ（ｉ，ｓ）
＋＋ｉ；
ｅｎｄ
ｊ＝Ｐｏｐ（ｓ）
ｈ［ｊ］＝ｉ
ｔ［ｊ］＝“Ｅ”
ｅｎｄ
【００４２】
上述の解析処理において、ｍは形態素（文字）の配列、ｈは係り先を記憶する配列、ｔは判定結果のタイプを記憶する配列である。また、Ｐｕｓｈ（値，ｓ）はスタックに値をプッシュする関数であり、ｇｅｔ＿ｔｏｋｅｎ（）は１文字を取得する関数であり、Ｐｏｐ（ｓ）はスタックから値をポップする関数であり、Ｄｅｐ（ｊ，ｉ，ｍ，ｔ）はｊ番目の文字がｉ番目の文字に依存するか否かを判定する関数である。
【００４３】
すなわち、Ｄｅｐ関数は、依存関係判定部１０３に相当し、ｊ番目の文字（依存元文字ＩＤ）とｉ番目の文字（依存先候補文字ＩＤ）とを引数に依存関係判定要求を受け付けて、依存元文字と依存先候補文字との判定条件を記憶する文法定義テーブル１１０を用いて文字種や種々の属性を判断して格納し、依存関係を判定する。そして、Ｄｅｐ関数は、ｊ番目の文字がｉ番目の文字に依存する（係る）と判定する場合に「Ｔｒｕｅ」を返し、依存しない（係らない）と判定する場合に「Ｆａｌｓｅ」を返す。
【００４４】
なお、Ｄｅｐ関数が判断する文字種は、簡単のため上記の例を示したが、これに限られるものではない。具体的には、その他の文字種の例として、漢数字になりうる文字（○の記号や、漢字の中の一、二、・・・壱、弐、百、千、万等）や、一般的には記号と見なされているが、仮名と同類で扱ったほうがよい文字（濁点、半濁点、長音の記号等）や、名前の一部に使われる確率が高い文字（子、優、宏、朗、・・・）等も含まれる。さらに、Ｄｅｐ関数の判断の例として、Ｄｅｐ関数は、解析対象の文字の種類が漢数字になりうる文字である場合、当該文字は漢数字内の文字連続を構成すると判断する場合がある。また、解析対象の文字の種類が名前の一部に使われる確率が高い文字である場合、当該文字は名前内の文字連続を構成すると判断する場合がある。また、一つの文字が複数の文字種を有すると判断する場合もある。具体的には、「○」が、記号であると共に、漢数字の一部である、という二つの文字種を有すると判断する場合である。このように、Ｄｅｐ関数は、文字の種々の属性を参照して依存関係を判定する。
【００４５】
以下、形態素解析結果「メグが彼にあのペンをあげた。」（図３）という具体例について、図５〜図１１を用いて上述の解析処理を説明する。図５は、本発明の一実施形態に係る自然言語解析装置１０の係り受け解析処理部１０２の具体的な処理例を示す図である。図６〜図１１は、それぞれ前の図に続く、係り受け解析処理部１０２の具体的な処理例を示す図である。
【００４６】
図５において、係り受け解析処理部１０２は、処理を開始すると、依存先未決スタック１０７に「−１」をプッシュして、文字ＩＤ「０」の文字「メ」を解析文字格納部１０８の文字コードに格納する。引き続き、係り受け解析処理部１０２は、依存先未決スタック１０７に「０」をプッシュして、文字ＩＤ「１」の文字「グ」を解析文字格納部１０８の文字コードに格納する。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤを初期値「１」に設定する。
【００４７】
図６（１）において、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが示す文字コードがＥＯＳではないので、依存先未決スタック１０７からポップした値「０」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ＋１（即ち１＋１＝「２」）の文字「が」を解析文字格納部１０８の文字コードに格納する。
【００４８】
次に、図６（２）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、依存関係判定部１０３の判定結果が「Ｔｒｕｅ」なので、以下の処理を行う。より具体的には、依存関係判定部１０３は、文字ＩＤ「０」の文字「メ」の文字種に「カタカナ」を格納し、文字ＩＤ「１」の文字「グ」の文字種に「カタカナ」を格納し、「メグ」が単語辞書にあるので、「メ」が「グ」に「係る」とする判定（機械学習による判定）を行い、「Ｔｒｕｅ」を返す。係り受け解析処理部１０２は、依存関係判定部１０３の判定結果が「Ｗ」であるので、解析文字格納部１０８の依存元文字のタイプに判定結果の「Ｗ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「−１」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。
【００４９】
図６（３）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」であるので、依存先未決スタック１０７に依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤ「−１」をプッシュする。さらに、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１」をプッシュする。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤをインクリメントして（１＋１＝）「２」にする。
【００５０】
図７（１）において、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが示す文字コードがＥＯＳではないので、依存先未決スタック１０７からポップした値「１」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ＋１（即ち２＋１＝「３」）の文字「彼」を解析文字格納部１０８の文字コードに格納する。
【００５１】
図７（２）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、依存関係判定部１０３の判定結果が「Ｔｒｕｅ」なので、以下の処理を行う。より具体的には、依存関係判定部１０３は、文字ＩＤ「２」の文字「が」の文字種に「ひらがな」を格納し、「メグ」が単語辞書にある、「グが」が単語辞書にない、「グが」が文字種が異なる等、注目する文字及びその文字の前後の素性を見ることで「グ」が単語の区切りで、かつ「が」が助詞等の情報を使い、「が」に係るとする判定（機械学習による判定）を行い、「Ｔｒｕｅ」を返す。係り受け解析処理部１０２は、依存関係判定部１０３の判定結果が「Ｂ」であるので、解析文字格納部１０８の依存元文字のタイプに判定結果の「Ｂ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「２」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「−１」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。
【００５２】
図７（３）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」であるので、依存先未決スタック１０７に依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤ「−１」をプッシュする。さらに、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「２」をプッシュする。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤをインクリメントして（２＋１＝）「３」にする。
【００５３】
図８（１）において、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが示す文字コードがＥＯＳではないので、依存先未決スタック１０７からポップした値「２」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ＋１（即ち３＋１＝「４」）の文字「に」を解析文字格納部１０８の文字コードに格納する。
【００５４】
図８（２）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、依存関係判定部１０３の判定結果が「Ｆａｌｓｅ」なので、以下の処理を行う。より具体的には、依存関係判定部１０３は、文字ＩＤ「３」の文字「彼」の文字種に「漢字」を格納し、「が」は「彼」に「係らない」とする判定（機械学習による判定）を行い、「Ｆａｌｓｅ」を返す。係り受け解析処理部１０２は、依存関係判定部１０３の判定結果が「Ｏ」であるので、解析文字格納部１０８の依存元文字のタイプに判定結果「Ｏ」を設定し、依存先を設定しない（未決にする）。
【００５５】
図８（３）において、係り受け解析処理部１０２は、依存先未決スタック１０７に依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤ「２」をプッシュする。さらに、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「３」をプッシュする。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤをインクリメントして（３＋１＝）「４」にする。
【００５６】
図９（１）において、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが示す文字コードがＥＯＳではないので、依存先未決スタック１０７からポップした値「３」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ＋１（即ち４＋１＝「５」）の文字「あ」を解析文字格納部１０８の文字コードに格納する。
【００５７】
図９（２）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、依存関係を依存関係判定部１０３の判定結果が「Ｔｒｕｅ」なので、以下の処理を行う。より具体的には、依存関係判定部１０３は、文字ＩＤ「４」の文字「に」の文字種に「ひらがな」を格納し、「彼」が「に」に「係る」とする判定（機械学習による判定）を行い、「Ｔｒｕｅ」を返す。係り受け解析処理部１０２は、依存関係判定部１０３の判定結果が「Ｂ」であるので、解析文字格納部１０８の依存元文字のタイプに判定結果の「Ｂ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「４」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「２」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。次に、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、依存関係を依存関係判定部１０３の判定結果が「Ｆａｌｓｅ」なので、以下の処理を行う。より具体的には、依存関係判定部１０３は、「が」が「に」に「係らない」とする判定（機械学習による判定）を行い、「Ｆａｌｓｅ」を返す。係り受け解析処理部１０２は、依存関係判定部１０３の判定結果が「Ｏ」であるので、解析文字格納部１０８の依存元文字のタイプに判定結果「Ｏ」を設定し、依存先を設定しない（未決にする）。
【００５８】
図９（３）において、係り受け解析処理部１０２は、依存先未決スタック１０７に依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤ「２」をプッシュする。さらに、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「４」をプッシュする。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤをインクリメントして（４＋１＝）「５」にする。
【００５９】
以下同様に、係り受け解析処理部１０２は、依存先が未決の文字ＩＤをスタックしていき、文字間の依存関係の判定により文字の係り先が決定した後に、スタックに蓄積された文字ＩＤの依存関係の決定を行って文字の係り受けを決定する。
【００６０】
文末近くでの処理を図１０で説明する。図１０が示す例は、依存先未決スタック１０７に、依存先が未決の３個の文字ＩＤと、次の処理対象の文字ＩＤとがスタックされており、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが「１３」である状態である。
【００６１】
図１０（１）において、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが示す文字コードがＥＯＳではないので、依存先未決スタック１０７からポップした値「１２」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ＋１（即ち１３＋１＝「１４」）の文字「ＥＯＳ」を解析文字格納部１０８の文字コードに格納する。
【００６２】
図１０（２）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、かつ、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ＋１が示す文字コードがＥＯＳであるので、以下の処理を行う。より具体的には、依存関係判定部１０３は、文字ＩＤ「１３」の文字「。」の文字種に「記号」を格納し、「た」が「。」に「係る」とする判定（機械学習による判定）を行い、「Ｔｒｕｅ」を返す。係り受け解析処理部１０２は、依存関係判定部１０３の判定結果が「Ｂ」であるので、解析文字格納部１０８の依存元文字のタイプに判定結果の「Ｂ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１３」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「９」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。
【００６３】
図１０（３）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、かつ、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ＋１が示す文字コードがＥＯＳであるので、解析文字格納部１０８の依存元文字ＩＤ「９」のタイプに「Ｄ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１３」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「４」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。
【００６４】
図１１（１）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、かつ、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ＋１が示す文字コードがＥＯＳであるので、解析文字格納部１０８の依存元文字ＩＤ「４」のタイプに「Ｄ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１３」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「２」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。
【００６５】
図１１（２）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」ではなく、かつ、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ＋１が示す文字コードがＥＯＳであるので、解析文字格納部１０８の依存元文字ＩＤ「２」のタイプに「Ｄ」を設定し、依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１３」を設定する。次に、係り受け解析処理部１０２は、依存先未決スタック１０７からポップした値「−１」を依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤに設定する。
【００６６】
図１１（３）において、係り受け解析処理部１０２は、依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤが「−１」であるので、依存先未決スタック１０７に依存元文字ＩＤ格納エリア１０５の依存元文字ＩＤ「−１」をプッシュする。さらに、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１３」をプッシュする。次に、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤをインクリメントして（１３＋１＝）「１４」にする。そして、係り受け解析処理部１０２は、依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤが示す文字コードがＥＯＳであるので、依存先未決スタック１０７からポップした値「１３」の依存先に依存先候補文字ＩＤ格納エリア１０６の依存先候補文字ＩＤ「１４」を設定し、解析文字格納部１０８の依存元文字ＩＤ「１３」のタイプに「Ｅ」を設定し、処理を終了する。このようにして、自然言語解析装置１０は、例えば「メグが彼にあのペンをあげた。」という文を構成する文字を文字単位で取得し、取得した文字ごとの依存関係を図１１（２）の様に決定する。
【００６７】
本実施形態によれば、自然言語解析装置１０は、解析対象の文を構成する文字を文字単位で取得し、取得した文字ごとの依存関係を決定する。そして、自然言語解析装置１０は、当該解析対象の文の先頭文字から順にこの文字ごとの依存関係を決定する過程で、係り先が未確定の文字を依存先未決スタック１０７にスタックしていき、依存関係の判定により文字の係り先が決定した後に、依存先未決スタック１０７に蓄積された文字の依存関係の決定を行って文字の係り受けを決定する。さらに、自然言語解析装置１０の依存関係の判定は、依存元及び依存先候補の文字の種類、文字の前後関係の条件に応じた判定結果のタイプを対応付けた文法定義テーブル１１０に基づいて行う。さらに、自然言語解析装置１０の依存関係の判定は、ＳＶＭにより機械学習された文法ルールに基づいて行う。したがって、自然言語解析装置１０は、依存関係が未確定な文字を蓄積しながら文字ごとの係り受け解析をするので、解析対象の文を文末まで形態素解析しなくても、文字ごとの係り受け関係を決定することができる。
【００６８】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００６９】
１０        自然言語解析装置
１０１      解析対象文字入力部
１０２      係り受け解析処理部
１０３      依存関係判定部
１０４      解析結果出力部
１０５      依存元文字ＩＤ格納エリア
１０６      依存先候補文字ＩＤ格納エリア
１０７      依存先未決スタック
１０８      解析文字格納部
１１０      文法定義テーブル
１０３１    教師データ入力部
１０３２    機械学習部
１０３３    文法ルール記憶部
１０３４    依存関係判定要求受付部
１０３５    依存関係判定実行部
【図１】
2011198075.tif 000003
【図２】
2011198075.tif 000004
【図３】
2011198075.tif 000005
【図４】
2011198075.tif 000006
【図５】
2011198075.tif 000007
【図６】
2011198075.tif 000008
【図７】
2011198075.tif 000009
【図８】
2011198075.tif 000010
【図９】
2011198075.tif 000011
【図１０】
2011198075.tif 000012
【図１１】
2011198075.tif 000013