構文木

提供: testwiki
ナビゲーションに移動 検索に移動
文字列「aab」の、次の生成規則に対する構文木
S→ABA→aAA→εB→b
日本語の構文木の例
曖昧な文に考えられる複数の構文木の例

構文木(こうぶんぎ、テンプレート:Lang-en-short)または構文解析木 (parsing tree) テンプレート:Sfnは、導出木 (derivation tree) あるいは具象構文木 (concrete syntax tree) とも呼ばれ、ある文脈自由文法に従った文字列の構文構造を表す、順序付きの根付き木である。

parse tree という語自体は主に計算言語学で用いられ、理論統語論では syntax tree という語の方が一般的である。具象構文木は入力言語の構文を反映する点で、コンピュータプログラミングで用いられる抽象構文木とは異なる。

文法教育で用いられるリード=ケロッグ式のセンテンス・ダイアグラムとは異なり、構文木では異なる種類の構成素を表すために異なる形状の記号を用いることはない。構文木は通常、構成文法(句構造文法)における構成関係か、依存文法における依存関係のいずれかに基づいて構築される。

構文木は自然言語の文(自然言語処理を参照)に対して生成されるほか、プログラミング言語などのコンピュータ言語を処理する際にも生成される。

関連する概念に、変形生成文法で用いられる句構造標識 (phrase marker, P-marker) がある。句構造標識は、句構造が明示された言語表現であり、木または括弧で囲んだ表現として示すことができる。句構造標識は句構造規則を適用することで生成され、さらに変形規則の適用対象となる[1]。統語的に曖昧な文について可能な構文木を集めたものは、parse forest(構文木の森)と呼ばれる[2]。テンプレート:-

歴史

構文木の一種は、早くも1879年にゴットロープ・フレーゲの著書『概念記法』 (Begriffsschrift) で用いられていたテンプレート:Sfn。

構造と用語

単純な構文木

構文木はノードと枝から構成される[3]。図では、Sから始まり、各葉ノード (John、ball、the、hit) で終わる構造全体が構文木である。

構文木の各ノードは、根ノード (root node)、分岐ノード (branch node)、葉ノード (leaf node) のいずれかである。上の例では、Sが根ノード、NPとVPが分岐ノード、John、ball、the、hitが葉ノードである。

ノードは親ノード (parent node) と子ノード (child node) という関係でも表される。親ノードとは、その下に枝を介して接続されたノードを少なくとも1つ持つノードである。例では、SはNPとVPの親ノードである。子ノードとは、木の枝を介して直接接続されたノードが直上に少なくとも1つ存在するノードである。例では、hitはVの子ノードである。

この木で根または分岐となる関数(ノード)を非終端関数 (nonterminal function)、葉となる関数(ノード)を終端関数 (terminal function) という。

二分木、すなわち各親ノードが2つの直接の子ノードを持つ木の場合、n 語からなる文に対して可能な構文木の数はカタラン数 Cn で与えられる。

構成素に基づく構文木

構成文法(句構造文法)における構成素に基づく構文木では、終端ノードと非終端ノードが区別される。内部ノードには文法の非終端範疇が、葉ノードには終端記号の範疇が付される。以下の図は構成素に基づく構文木であり、英語の文 John hit the ball の統語構造を示している。

構成素に基づく構文木

構文木は、Sから始まり各葉ノード (John、hit、the、ball) で終わる構造全体である。この木では、以下の略号が用いられている。

  • S は文 (sentence) を表し、この例では最上位の構造である。
  • NP は名詞句 (noun phrase) を表す。最初(最も左)のNPは単一の名詞 John からなり、文の主語となる。2番目のNPは文の目的語である。
  • VP は動詞句 (verb phrase) を表し、述語となる。
  • V は動詞 (verb) を表す。この例では他動詞 hit である。
  • D は限定詞 (determiner) を表す。この例では定冠詞 the である。
  • N は名詞 (noun) を表す。この例では ball である。

木の各ノードは根ノード、分岐ノード、葉ノードのいずれかであるテンプレート:Efn。根ノードは、その上に枝を持たないノードである。1つの文には根ノードは1つしか存在しない。分岐ノードは2つ以上の子ノードに接続する親ノードである。一方、葉ノードは木の他のノードを支配しない終端ノードである。Sが根ノード、NPとVPが分岐ノード、John (N)、hit (V)、the (D)、ball (N) が葉ノードである。

葉は文を構成する字句トークンである。親ノードは、その下に枝によって接続された別のノードを少なくとも1つ持つノードである。この例では、SはNとVPの親ノードである。子ノードは、その直上に枝によって接続されたノードを少なくとも1つ持つノードである。この例では、hit はVの子ノードである。この関係について、mother(母)と daughter(娘)という用語が使われることもある。

依存関係に基づく構文木

依存文法に基づく構文木[4]では、すべてのノードを終端として扱う。したがって、終端範疇と非終端範疇の区別を設けない。含まれるノードが少ないため、平均的には構成素に基づく構文木より単純である。

上の例文に対する依存関係に基づく構文木は次のようになる。

構成要素間の依存関係に基づく構文木

この構文木には、構成素に基づく構文木に存在する句範疇 (S、VP、NP) がない。一方、構成素に基づく構文木と同様に、構成素構造そのものは認められている。木の完全な部分木はすべて構成素である。したがって、この依存関係に基づく構文木でも、主語の名詞 John と目的語の名詞句 the ball は、構成素に基づく構文木の場合と同様に構成素として認められる。

構成素に基づく構文木と依存関係に基づく構文木の違いは広範囲に及ぶ。構成素に基づく構文木に伴う追加的な統語構造が必要あるいは有益なものであるかについては議論がある。

句構造標識

句構造標識 (phrase marker) は、ノーム・チョムスキーらによって発展した初期の変形生成文法に導入された。文の深層構造を表す句構造標識は、句構造規則を適用することによって生成され、その後さらに変形を受けることがある。

句構造標識は、上の「構成素に基づく構文木」節のように木として表すことができるが、必要な記憶領域が少ない「括弧付き表現」(bracketed expression) として表すことも多い。

例えば、上の構成素に基づく構文木に対応する括弧付き表現は次のようになる。

[S [𝑁 John] [𝑉𝑃 [V hit] [𝑁𝑃 [𝐷 the] [N ball]]]]

木の場合と同様に、このような表現の厳密な構成や示される詳細の程度は、採用する理論や、表現によって何を示そうとしているかによって異なる。

注釈

テンプレート:Notelist

脚注

テンプレート:Reflist

出典

参考文献

外部リンク

関連項目

  1. ↑ テンプレート:Cite book2
  2. ↑ Billot, Sylvie, and Bernard Lang. "The structure of shared forests in ambiguous parsing."
  3. ↑ テンプレート:Cite web2
  4. ↑ 例えば Ágel et al. 2003/2006 を参照。