(57)【特許請求の範囲】
【請求項１】
文節に区切ることが可能で、文節間の係り受け関係が存在する自然言語文を解析する自然言語解析装置であって、
解析対象の文を形態素に分解する形態素解析手段と、
形態素列の各単語間の依存関係を決定していくことで、文節のまとめ上げと係り受け解析とを行う文節まとめ上げ係り受け解析手段と
を備え、
前記文節まとめ上げ係り受け解析手段は、
処理の開始時に、依存先未決スタックに初期値「０」をプッシュし、依存先候補単語ＩＤを初期値「１」に設定し、
次いで、終了条件判断処理として、依存先候補単語ＩＤが文末の単語ＩＤより大きいか否か判断し、大きいと判断した場合は処理を終了し、
大きくないと判断した場合、依存先未決スタックからポップした値を依存元単語ＩＤに設定し、
次いで、依存元単語ＩＤ判断処理として、依存元単語ＩＤがＮＵＬＬであるか否か判断し、
ＮＵＬＬではないと判断した場合、依存元単語と依存先候補単語の依存関係を解析して、依存元単語と依存先候補単語が同一文節を構成することを示すタイプＢ、依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係ることを示すタイプＤ、上記以外の場合であることを示すタイプＯのいずれであるかを判定し、
次いで、タイプ判断処理として、判定結果がタイプＢ、Ｄのいずれかであるか否か判断し、
タイプＢ、Ｄのいずれかであると判断した場合、依存元単語の依存先に依存先候補単語ＩＤを設定し、依存元単語のタイプに判定結果を設定し、依存元単語ＩＤを依存先未決スタックからポップした値で更新し、前記依存元単語ＩＤ判断処理に移行し、
前記依存元単語ＩＤ判断処理で依存元単語ＩＤがＮＵＬＬであると判断した場合、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行し、
前記タイプ判断処理で判定結果がタイプＯである場合、依存先未決スタックに依存元単語ＩＤをプッシュし、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行する
ことを特徴とする自然言語解析装置。
【請求項２】
請求項１に記載の自然言語解析装置において、
前記文節まとめ上げ係り受け解析手段における依存関係の判定は、依存元および依存先候補の単語の品詞、位置関係等の条件に応じた判定結果のタイプを対応付けた文法定義テーブルに基づいて行う
ことを特徴とする自然言語解析装置。
【請求項３】
請求項１に記載の自然言語解析装置において、
前記文節まとめ上げ係り受け解析手段における依存関係の判定は、ＳＶＭにより機械学習された文法ルールに基づいて行う
ことを特徴とする自然言語解析装置。
【請求項４】
自然言語解析装置が実行する方法であって、
文節に区切ることが可能で、文節間の係り受け関係が存在する自然言語文を解析する自然言語解析方法であって、
解析対象の文を形態素に分解する形態素解析工程と、
形態素列の各単語間の依存関係を決定していくことで、文節のまとめ上げと係り受け解析とを行う文節まとめ上げ係り受け解析工程と
を備え、
前記文節まとめ上げ係り受け解析工程は、
処理の開始時に、依存先未決スタックに初期値「０」をプッシュし、依存先候補単語ＩＤを初期値「１」に設定し、
次いで、終了条件判断処理として、依存先候補単語ＩＤが文末の単語ＩＤより大きいか否か判断し、大きいと判断した場合は処理を終了し、
大きくないと判断した場合、依存先未決スタックからポップした値を依存元単語ＩＤに設定し、
次いで、依存元単語ＩＤ判断処理として、依存元単語ＩＤがＮＵＬＬであるか否か判断し、
ＮＵＬＬではないと判断した場合、依存元単語と依存先候補単語の依存関係を解析して、依存元単語と依存先候補単語が同一文節を構成することを示すタイプＢ、依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係ることを示すタイプＤ、上記以外の場合であることを示すタイプＯのいずれであるかを判定し、
次いで、タイプ判断処理として、判定結果がタイプＢ、Ｄのいずれかであるか否か判断し、
タイプＢ、Ｄのいずれかであると判断した場合、依存元単語の依存先に依存先候補単語ＩＤを設定し、依存元単語のタイプに判定結果を設定し、依存元単語ＩＤを依存先未決スタックからポップした値で更新し、前記依存元単語ＩＤ判断処理に移行し、
前記依存元単語ＩＤ判断処理で依存元単語ＩＤがＮＵＬＬであると判断した場合、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行し、
前記タイプ判断処理で判定結果がタイプＯである場合、依存先未決スタックに依存元単語ＩＤをプッシュし、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行する
ことを特徴とする自然言語解析方法。
【請求項５】
文節に区切ることが可能で、文節間の係り受け関係が存在する自然言語文を解析する自然言語解析プログラムであって、
自然言語解析装置を構成するコンピュータを、
解析対象の文を形態素に分解する形態素解析手段、
形態素列の各単語間の依存関係を決定していくことで、文節のまとめ上げと係り受け解析とを行う文節まとめ上げ係り受け解析手段
として機能させ、
前記文節まとめ上げ係り受け解析手段は、
処理の開始時に、依存先未決スタックに初期値「０」をプッシュし、依存先候補単語ＩＤを初期値「１」に設定し、
次いで、終了条件判断処理として、依存先候補単語ＩＤが文末の単語ＩＤより大きいか否か判断し、大きいと判断した場合は処理を終了し、
大きくないと判断した場合、依存先未決スタックからポップした値を依存元単語ＩＤに設定し、
次いで、依存元単語ＩＤ判断処理として、依存元単語ＩＤがＮＵＬＬであるか否か判断し、
ＮＵＬＬではないと判断した場合、依存元単語と依存先候補単語の依存関係を解析して、依存元単語と依存先候補単語が同一文節を構成することを示すタイプＢ、依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係ることを示すタイプＤ、上記以外の場合であることを示すタイプＯのいずれであるかを判定し、
次いで、タイプ判断処理として、判定結果がタイプＢ、Ｄのいずれかであるか否か判断し、
タイプＢ、Ｄのいずれかであると判断した場合、依存元単語の依存先に依存先候補単語ＩＤを設定し、依存元単語のタイプに判定結果を設定し、依存元単語ＩＤを依存先未決スタックからポップした値で更新し、前記依存元単語ＩＤ判断処理に移行し、
前記依存元単語ＩＤ判断処理で依存元単語ＩＤがＮＵＬＬであると判断した場合、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行し、
前記タイプ判断処理で判定結果がタイプＯである場合、依存先未決スタックに依存元単語ＩＤをプッシュし、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行する
自然言語解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文節に区切ることが可能で、文節間の係り受け関係が存在する、日本語等の自然言語文の解析技術に関する。
【背景技術】
【０００２】
日本語の文の解析では、形態素解析を行った単語（形態素）列を文節としてまとめ、その文節間の係り受け関係（依存関係）で解析結果を表現するのが主流である。この場合、係り受け解析の手法としては、係り受け関係の解析を行う前段の処理として、形態素列を文節にまとめ上げておくことが必要である（例えば、特許文献１、非特許文献１を参照）。
【特許文献１】特開２００４−３１０６３８号公報
【非特許文献１】Manabu Sassano. 2004. "Linear-time dependency analysis for Japanese", COLING 2004. 颯々野学. 2007."日本語係り受け解析の線形時間アルゴリズム",自然言語処理 ,Vol.14, No.1, pp. 3 - 18.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したように、従来は形態素解析処理の他に、文節にまとめ上げる処理と係り受け解析処理の２段階の処理が必要であったため、次のような問題点が指摘されていた。
（１）文節をまとめるための処理モジュールと、文節間の係り受け関係を解析する処理モジュールとが別途必要になり、プログラムの開発およびメンテナンスが困難となる。
（２）文節にまとめ上げる処理と係り受け解析処理とで、文を何度もスキャン（読取）する必要があり、処理が遅くなる。
【０００４】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、単一の処理モジュールで文節にまとめ上げる処理と係り受け解析処理とを同時に行うことができ、文のスキャンを一度で済むようにして処理を速めることのできる自然言語解析装置、自然言語解析方法および自然言語解析プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、文節に区切ることが可能で、文節間の係り受け関係が存在する自然言語文を解析する自然言語解析装置であって、解析対象の文を形態素に分解する形態素解析手段と、形態素列の各単語間の依存関係を決定していくことで、文節のまとめ上げと係り受け解析とを行う文節まとめ上げ係り受け解析手段とを備え、前記文節まとめ上げ係り受け解析手段は、処理の開始時に、依存先未決スタックに初期値「０」をプッシュし、依存先候補単語ＩＤを初期値「１」に設定し、次いで、終了条件判断処理として、依存先候補単語ＩＤが文末の単語ＩＤより大きいか否か判断し、大きいと判断した場合は処理を終了し、大きくないと判断した場合、依存先未決スタックからポップした値を依存元単語ＩＤに設定し、次いで、依存元単語ＩＤ判断処理として、依存元単語ＩＤがＮＵＬＬであるか否か判断し、ＮＵＬＬではないと判断した場合、依存元単語と依存先候補単語の依存関係を解析して、依存元単語と依存先候補単語が同一文節を構成することを示すタイプＢ、依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係ることを示すタイプＤ、上記以外の場合であることを示すタイプＯのいずれであるかを判定し、次いで、タイプ判断処理として、判定結果がタイプＢ、Ｄのいずれかであるか否か判断し、タイプＢ、Ｄのいずれかであると判断した場合、依存元単語の依存先に依存先候補単語ＩＤを設定し、依存元単語のタイプに判定結果を設定し、依存元単語ＩＤを依存先未決スタックからポップした値で更新し、前記依存元単語ＩＤ判断処理に移行し、前記依存元単語ＩＤ判断処理で依存元単語ＩＤがＮＵＬＬであると判断した場合、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行し、前記タイプ判断処理で判定結果がタイプＯである場合、依存先未決スタックに依存元単語ＩＤをプッシュし、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行する自然言語解析装置を要旨としている。
【０００６】
また、請求項２に記載されるように、請求項１に記載の自然言語解析装置において、前記文節まとめ上げ係り受け解析手段における依存関係の判定は、依存元および依存先候補の単語の品詞、位置関係等の条件に応じた判定結果のタイプを対応付けた文法定義テーブルに基づいて行うようにすることができる。
【０００７】
また、請求項３に記載されるように、請求項１に記載の自然言語解析装置において、前記文節まとめ上げ係り受け解析手段における依存関係の判定は、ＳＶＭにより機械学習された文法ルールに基づいて行うようにすることができる。
【０００８】
また、請求項４に記載されるように、自然言語解析装置が実行する方法であって、文節に区切ることが可能で、文節間の係り受け関係が存在する自然言語文を解析する自然言語解析方法であって、解析対象の文を形態素に分解する形態素解析工程と、形態素列の各単語間の依存関係を決定していくことで、文節のまとめ上げと係り受け解析とを行う文節まとめ上げ係り受け解析工程とを備え、前記文節まとめ上げ係り受け解析工程は、処理の開始時に、依存先未決スタックに初期値「０」をプッシュし、依存先候補単語ＩＤを初期値「１」に設定し、次いで、終了条件判断処理として、依存先候補単語ＩＤが文末の単語ＩＤより大きいか否か判断し、大きいと判断した場合は処理を終了し、大きくないと判断した場合、依存先未決スタックからポップした値を依存元単語ＩＤに設定し、次いで、依存元単語ＩＤ判断処理として、依存元単語ＩＤがＮＵＬＬであるか否か判断し、ＮＵＬＬではないと判断した場合、依存元単語と依存先候補単語の依存関係を解析して、依存元単語と依存先候補単語が同一文節を構成することを示すタイプＢ、依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係ることを示すタイプＤ、上記以外の場合であることを示すタイプＯのいずれであるかを判定し、次いで、タイプ判断処理として、判定結果がタイプＢ、Ｄのいずれかであるか否か判断し、タイプＢ、Ｄのいずれかであると判断した場合、依存元単語の依存先に依存先候補単語ＩＤを設定し、依存元単語のタイプに判定結果を設定し、依存元単語ＩＤを依存先未決スタックからポップした値で更新し、前記依存元単語ＩＤ判断処理に移行し、前記依存元単語ＩＤ判断処理で依存元単語ＩＤがＮＵＬＬであると判断した場合、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行し、前記タイプ判断処理で判定結果がタイプＯである場合、依存先未決スタックに依存元単語ＩＤをプッシュし、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行する自然言語解析方法として構成することができる。
【０００９】
また、請求項５に記載されるように、文節に区切ることが可能で、文節間の係り受け関係が存在する自然言語文を解析する自然言語解析プログラムであって、自然言語解析装置を構成するコンピュータを、解析対象の文を形態素に分解する形態素解析手段、形態素列の各単語間の依存関係を決定していくことで、文節のまとめ上げと係り受け解析とを行う文節まとめ上げ係り受け解析手段として機能させ、前記文節まとめ上げ係り受け解析手段は、処理の開始時に、依存先未決スタックに初期値「０」をプッシュし、依存先候補単語ＩＤを初期値「１」に設定し、次いで、終了条件判断処理として、依存先候補単語ＩＤが文末の単語ＩＤより大きいか否か判断し、大きいと判断した場合は処理を終了し、大きくないと判断した場合、依存先未決スタックからポップした値を依存元単語ＩＤに設定し、次いで、依存元単語ＩＤ判断処理として、依存元単語ＩＤがＮＵＬＬであるか否か判断し、ＮＵＬＬではないと判断した場合、依存元単語と依存先候補単語の依存関係を解析して、依存元単語と依存先候補単語が同一文節を構成することを示すタイプＢ、依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係ることを示すタイプＤ、上記以外の場合であることを示すタイプＯのいずれであるかを判定し、次いで、タイプ判断処理として、判定結果がタイプＢ、Ｄのいずれかであるか否か判断し、タイプＢ、Ｄのいずれかであると判断した場合、依存元単語の依存先に依存先候補単語ＩＤを設定し、依存元単語のタイプに判定結果を設定し、依存元単語ＩＤを依存先未決スタックからポップした値で更新し、前記依存元単語ＩＤ判断処理に移行し、前記依存元単語ＩＤ判断処理で依存元単語ＩＤがＮＵＬＬであると判断した場合、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行し、前記タイプ判断処理で判定結果がタイプＯである場合、依存先未決スタックに依存元単語ＩＤをプッシュし、依存先未決スタックに依依存先候補単語ＩＤをプッシュし、依存先候補単語ＩＤをインクリメントし、前記終了条件判断処理に移行する自然言語解析プログラムとして構成することができる。
【発明の効果】
【００１０】
本発明の自然言語解析装置、自然言語解析方法および自然言語解析プログラムにあっては、文節まとめ上げと係り受け解析を同時に行なうことができるため、文を一度スキャンするだけでよい。そのため、文節まとめ上げと係り受け解析で独立したモジュールを必要としないとともに、処理を高速化することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の好適な実施形態につき説明する。
【００１２】
図１は本発明の一実施形態にかかる自然言語解析装置の構成例を示す図である。なお、以下では日本語を対象とした例について説明するが、文節に区切ることが可能で、文節間の係り受け関係が存在する言語であれば同様に適用することができる。
【００１３】
図１において、自然言語解析装置１は、解析の対象となる文を入力する解析対象文入力部１０１と、この解析対象文入力部１０１により入力された文に対して形態素解析を行い、解析結果を一文単位に解析文格納部１０３に格納する形態素解析部１０２とを備えている。解析文格納部１０３のデータ構造については後述する。
【００１４】
また、自然言語解析装置１は、解析文格納部１０３から一文単位に情報を読み取る一文読み取り部１０４と、この一文読み取り部１０４により読み取った情報に基づいて文節のまとめ上げと文節間の係り受け関係の解析を同時に行い、処理結果を解析文格納部１０３にその都度格納していく文節まとめ上げ係り受け解析部１０５とを備えている。
【００１５】
また、自然言語解析装置１は、この文節まとめ上げ係り受け解析部１０５により作業用データ領域として用いられる依存元単語ＩＤ格納エリア１０６、依存先候補単語ＩＤ格納エリア１０７および依存先未決スタック１０８と、文節まとめ上げ係り受け解析部１０５の処理において単語間の依存関係の判定に用いられる依存関係判定部１０９と、解析結果を出力する解析結果出力部１１１とを備えている。依存元単語ＩＤ格納エリア１０６には処理過程で依存元となる単語ＩＤを保持し、依存先候補単語ＩＤ格納エリア１０７は処理過程で依存先候補となる単語ＩＤを保持し、依存先未決スタック１０８は依存先が決まらなかった依存元の単語ＩＤを後入れ先出し（ＬＩＦＯ：Last In First Out）で保持する。
【００１６】
また、依存関係判定部１０９は文法定義テーブル１１０を有している。ただし、文法定義テーブル１１０はＩＦ―ＴＨＥＮ形式等のデータ構造として保持するほか、ＳＶＭ（Support Vector Machine）による機械学習により生成されたモデルとして保持する場合も含む。文法定義テーブル１１０の例については後述する。
【００１７】
図２はＳＶＭを用いた場合の依存関係判定部１０９の構成例を示す図である。
【００１８】
図２において、依存関係判定部１０９は、機械学習のための教師データを入力する教師データ入力部１０９１と、この教師データ入力部１０９１により入力された教師データに基づいてＳＶＭにより機械学習を行う機械学習部１０９２と、機械学習により生成されたモデルを保持する文法ルール記憶部１０９３とを備えている。
【００１９】
また、依存関係判定部１０９は、文節まとめ上げ係り受け解析部１０５（図１）から依存元単語ＩＤ、依存先候補単語ＩＤおよび形態素列を引数に依存関係判定要求を受け付ける依存関係判定要求受付部１０９４と、この依存関係判定要求受付部１０９４で受け付けた依存関係判定要求に基づき、文法ルール記憶部１０９３を用いて依存関係を判定し、判定結果を文節まとめ上げ係り受け解析部１０５に返す依存関係判定実行部１０９５とを備えている。
【００２０】
図３は解析文格納部１０３の例を示す図であり、一文を構成する単語（形態素）毎に、単語を識別する「単語ＩＤ」フィールドと、単語の文字列を示す「単語」フィールドと、品詞を示す「品詞」フィールドと、依存先の単語ＩＤを示す「依存先」フィールドと、依存先の単語との依存関係のタイプを示す「タイプ」フィールドとを含んでいる。なお、構文解析が行われた直後の状態では、「単語ＩＤ」「単語」「品詞」のフィールドが埋められ、「依存先」「タイプ」のフィールドはブランクである。
【００２１】
図４は文法定義テーブル１１０の例を示す図であり、依存元および依存先候補の単語の品詞、位置関係等の条件に応じた判定結果のタイプが対応付けられている。ここでは、「依存元単語が名詞（普通名詞、人名等） AND 依存先候補単語が格助詞 AND 依存元単語の直後に依存先候補単語」等の場合に「依存元単語と依存先候補単語が同一文節を構成」することを示すタイプ「Ｂ」が、「依存元単語が格助詞 AND 依存先候補単語が動詞」もしくは「依存元単語が連体詞 AND 依存先候補単語が格助詞」等の場合に「依存元単語が末尾となる文節が、依存先候補単語が末尾となる文節に係る」ことを示すタイプ「Ｄ」、上記以外の場合（例：依存元単語が格助詞 AND 依存先候補単語が格助詞等）であることを示すタイプ「Ｏ」が設定されている。
【００２２】
図５は文節まとめ上げ係り受け解析部１０５の処理例を示すフローチャートである。
【００２３】
図５において、ステップＳ１、Ｓ２は依存先未決スタック１０８および依存先候補単語ＩＤ格納エリア１０７への初期値設定処理であり、ステップＳ３は終了条件判断処理である。ステップＳ３では、依存先候補単語ＩＤが文末の単語ＩＤよりも大きくなった場合、文末まで処理したものとして、文節まとめ上げ係り受け解析処理を終了する。
【００２４】
ステップＳ４は、依存先未決スタック１０８から依存元単語ＩＤ格納エリア１０６への依存元単語ＩＤの設定処理である。依存先未決スタック１０８に単語ＩＤが積まれていない場合、依存元単語ＩＤはＮＵＬＬ（以下の例では「−１」）となる。
【００２５】
ステップＳ５は依存先未決スタック１０８からポップ（pop）した依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤがＮＵＬＬであるか否かによる分岐処理である。依存元単語ＩＤがＮＵＬＬの場合、ステップＳ１３で依存先未決スタック１０８に依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤをプッシュ（push）し、ステップＳ１４で依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤをインクリメント（１加算）し、ステップＳ３に戻る。
【００２６】
ステップＳ６は依存関係判定部１０９による依存関係判定処理である。依存関係判定部１０９は文法定義テーブル１１０（文法ルール記憶部１０９３のモデルによる場合を含む）に基づいて依存元の単語と依存先候補の単語の依存関係を判定し、判定結果のタイプを返す。
【００２７】
ステップＳ７は依存関係判定結果のタイプによる分岐処理であり、タイプ「Ｂ」「Ｄ」の場合は依存関係が決定されたものとして、ステップＳ８で解析文格納部１０３の依存元単語に対応する「依存先」フィールドに依存先候補単語ＩＤを設定し、ステップＳ９で「タイプ」フィールドに判定結果のタイプを設定し、ステップＳ１０で依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤを依存先未決スタック１０８からポップした値で更新し、ステップＳ５に戻る。
【００２８】
タイプ「Ｂ」「Ｄ」以外の場合は依存関係が決定されなかったものとして、ステップＳ１１で依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤがＮＵＬＬ以外であるか否か判断し、ＮＵＬＬ以外であればステップＳ１２で依存先未決スタック１０８に依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤをプッシュする。その後、ステップＳ１３で依存先未決スタック１０８に依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤをプッシュし、ステップＳ１４で依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤをインクリメントし、ステップＳ３に戻る。
【００２９】
以下、形態素解析結果「健／が／彼女／に／あの／本／を／あげた」（図３）という具体例について、図６〜図８を用いて図５の処理を説明する。
【００３０】
図５において、文節まとめ上げ係り受け解析部１０５は処理を開始すると、依存先未決スタック１０８に初期値として「０」をプッシュし（ステップＳ１）、依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤを初期値「１」に設定する（ステップＳ２）。この状態を図６（ａ）に示している。
【００３１】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤが解析文格納部１０３の文末の単語ＩＤより大きいか否か判断するが（ステップＳ３）、この時点で依存先候補単語ＩＤは「１」、文末の単語ＩＤは「７」であるため、依存先候補単語ＩＤが文末の単語ＩＤより大きくないと判断する（ステップＳ３のＮｏ）。
【００３２】
次いで、文節まとめ上げ係り受け解析部１０５は依存先未決スタック１０８からポップした値「０」を依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤに設定する（ステップＳ４）。ポップしたことで依存先未決スタック１０８はブランクになる。この状態を図６（ｂ）に示している。
【００３３】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤがＮＵＬＬであるか否か判断するが（ステップＳ５）、この時点で依存元単語ＩＤは「０」であるため、ＮＵＬＬではないと判断する（ステップＳ５のＮｏ）。
【００３４】
次いで、文節まとめ上げ係り受け解析部１０５は、依存関係判定部１０９により、依存元単語と依存先候補単語の依存関係を解析する（ステップＳ６）。依存元単語「単語ＩＤ：０、単語：健、品詞：人名」と依存先候補単語「単語ＩＤ：１、単語：が、品詞：格助詞」につき、依存関係判定部１０９は文法定義テーブル１１０（図４）に基づいてタイプ「Ｂ」と判定する。
【００３５】
次いで、文節まとめ上げ係り受け解析部１０５は判定結果がタイプ「Ｂ」「Ｄ」のいずれかであるか否か判断するが（ステップＳ７）、ここではタイプ「Ｂ」であるため、タイプ「Ｂ」「Ｄ」のいずれかであると判断する（ステップＳ７のＹｅｓ）。
【００３６】
次いで、文節まとめ上げ係り受け解析部１０５は解析文格納部１０３の依存元単語に対応する「依存先」フィールドに依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤ「１」を設定し（ステップＳ８）、「タイプ」フィールドに判定結果のタイプ「Ｂ」を設定する（ステップＳ９）。また、依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤを依存先未決スタック１０８からポップした値で更新するが（ステップＳ１０）、依存先未決スタック１０８はブランクであるため依存元単語ＩＤは「−１」となる。この状態を図６（ｃ）に示している。
【００３７】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤがＮＵＬＬであるか否か判断するが（ステップＳ５）、この時点で依存元単語ＩＤは「−１」であるため、ＮＵＬＬであると判断する（ステップＳ５のＹｅｓ）。これにより、文節まとめ上げ係り受け解析部１０５は依存先未決スタック１０８に依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤ「１」をプッシュする（ステップＳ１３）。この状態を図７（ａ）に示している。
【００３８】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤをインクリメントし、「２」とする（ステップＳ１４）。この状態を図７（ｂ）に示している。
【００３９】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤが解析文格納部１０３の文末の単語ＩＤより大きいか否か判断するが（ステップＳ３）、この時点で依存先候補単語ＩＤは「２」、文末の単語ＩＤは「７」であるため、依存先候補単語ＩＤが文末の単語ＩＤより大きくないと判断する（ステップＳ３のＮｏ）。
【００４０】
次いで、文節まとめ上げ係り受け解析部１０５は依存先未決スタック１０８からポップした値「１」を依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤに設定する（ステップＳ４）。ポップしたことで依存先未決スタック１０８はブランクになる。この状態を図７（ｃ）に示している。
【００４１】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤがＮＵＬＬであるか否か判断するが（ステップＳ５）、この時点で依存元単語ＩＤは「１」であるため、ＮＵＬＬではないと判断する（ステップＳ５のＮｏ）。
【００４２】
次いで、文節まとめ上げ係り受け解析部１０５は、依存関係判定部１０９により、依存元単語と依存先候補単語の依存関係を解析する（ステップＳ６）。依存元単語「単語ＩＤ：１、単語：が、品詞：格助詞」と依存先候補単語「単語ＩＤ：２、単語：彼女、品詞：代名詞」につき、依存関係判定部１０９は文法定義テーブル１１０（図４）に基づいてタイプ「Ｏ」と判定する。
【００４３】
次いで、文節まとめ上げ係り受け解析部１０５は判定結果がタイプ「Ｂ」「Ｄ」のいずれかであるか否か判断するが（ステップＳ７）、ここではタイプ「Ｏ」であるため、タイプ「Ｂ」「Ｄ」のいずれかでないと判断する（ステップＳ７のＮｏ）。
【００４４】
次いで、文節まとめ上げ係り受け解析部１０５は依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤがＮＵＬＬ以外であるか否か判断するが（ステップＳ１１）、この時点で依存元単語ＩＤは「１」であるため、ＮＵＬＬ以外であると判断する（ステップＳ１１のＹｅｓ）。
【００４５】
次いで、文節まとめ上げ係り受け解析部１０５は依存先未決スタック１０８に依存元単語ＩＤ格納エリア１０６の依存元単語ＩＤ「１」をプッシュし（ステップＳ１２）、続いて依存先未決スタック１０８に依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤ「２」をプッシュする（ステップＳ１３）。この状態を図８（ａ）に示している。
【００４６】
図５に戻り、文節まとめ上げ係り受け解析部１０５は依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤをインクリメントし、「３」とする（ステップＳ１４）。この状態を図８（ｂ）に示している。
【００４７】
図５に戻り、文節まとめ上げ係り受け解析部１０５はその後も同様に処理を進めて行き、依存先候補単語ＩＤ格納エリア１０７の依存先候補単語ＩＤが解析文格納部１０３の文末の単語ＩＤより大きいと判断（ステップＳ３のＹｅｓ）されて文節まとめ上げ係り受け解析処理を終了する時点の状態を図８（ｃ）に示す。この時点では、解析文格納部１０３の文末の単語以外については「依存先」「タイプ」のフィールドが埋められている。
【００４８】
図９は解析文格納部１０３の値から文節先頭および文節区切りの認識の例を示す図であり、原則としてタイプが「Ｄ」の単語の後が文節区切りとなることを示している。タイプ「Ｄ」の単語の直後で区切った各文節について、その文節内（文節末尾）でタイプ「Ｄ」を持つ単語の依存先単語が属する文節が、その文節の係り先の文節となる。
【００４９】
このとき、「健が」の文節の係り先は、この文節内（末尾）のタイプ「Ｄ」を持つ単語「が」の依存先単語で表される。この「が」の依存先単語は単語ＩＤが「７」の「あげた」であり、この文節に係ることが分かる。同様に、「あの」の文節の係り先は、「あの」の依存先単語である「を」が存在する「本を」になることが分かる。
【００５０】
なお、タイプ「Ｄ」の単語の依存先単語が文節の末尾となっていない場合も、その依存先単語が属している文節に係っていると解釈するようにしてもよい。
【００５１】
このように、文節まとめ上げ係り受け解析処理が終了した時点の解析文格納部１０３の内容は、文節と文節間の係り受け関係を示すものとなっている。すなわち、文節「健／が」が文節「あげた」に係り、文節「彼女／に」が文節「あげた」に係り、文節「あの／本／を」が文節「あげた」に係ることを示している。以上説明したように、本実施形態によれば次のような利点がある。
（１）文節をまとめるための処理モジュールと、文節間の係り受けを解析する処理モジュールとを別途用意する必要がなく、プログラムの開発およびメンテナンスを容易にすることができる。
（２）文節にまとめ上げる処理と係り受け解析処理とで、文を何度もスキャン（読取）する必要がなく、処理を速めることができる。
【００５２】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態にかかる自然言語解析装置の構成例を示す図である。
【図２】ＳＶＭを用いた場合の依存関係判定部の構成例を示す図である。
【図３】解析文格納部の例を示す図である。
【図４】文法定義テーブルの例を示す図である。
【図５】文節まとめ上げ係り受け解析部の処理例を示すフローチャートである。
【図６】文節まとめ上げ係り受け解析部の具体的な処理例を示す図（その１）である。
【図７】文節まとめ上げ係り受け解析部の具体的な処理例を示す図（その２）である。
【図８】文節まとめ上げ係り受け解析部の具体的な処理例を示す図（その３）である。
【図９】解析文格納部の値から文節先頭および文節区切りの認識の例を示す図である。
【符号の説明】
【００５４】
１          自然言語解析装置
１０１      解析対象文入力部
１０２      形態素解析部
１０３      解析文格納部
１０４      一文読み取り部
１０５      文節まとめ上げ係り受け解析部
１０６      依存元単語ＩＤ格納エリア
１０７      依存先候補単語ＩＤ格納エリア
１０８      依存先未決スタック
１０９      依存関係判定部
１０９１    教師データ入力部
１０９２    機械学習部
１０９３    文法ルール記憶部
１０９４    依存関係判定要求受付部
１０９５    依存関係判定実行部
１１０      文法定義テーブル
１１１      解析結果出力部
【図１】
0005295576.tif 000002
【図２】
0005295576.tif 000003
【図３】
0005295576.tif 000004
【図４】
0005295576.tif 000005
【図５】
0005295576.tif 000006
【図６】
0005295576.tif 000007
【図７】
0005295576.tif 000008
【図８】
0005295576.tif 000009
【図９】
0005295576.tif 000010