
構文解析木(導出木または具体的な構文木とも呼ばれる) [ 1 ]は、ある文脈自由文法に従って文字列の構文構造を表す、順序付けられた根付き木である。構文解析木という用語は主に計算言語学で使用され、理論構文論では構文木という用語の方が一般的である。
具体的な構文木は入力言語の構文を反映しており、コンピュータプログラミングで使用される抽象的な構文木とは異なります。文法の指導に用いられるリード・ケロッグ式構文図とは異なり、構文木では異なる種類の構成要素に異なる記号形状は使用しません。
構文解析木は通常、構成要素文法(句構造文法)の構成要素関係、または依存文法の依存関係に基づいて構築されます。構文解析木は、自然言語の文(自然言語処理を参照)だけでなく、プログラミング言語などのコンピュータ言語の処理中にも生成されます。
関連する概念として、変形生成文法で使用される句マーカーまたはPマーカーがあります。句マーカーは、その句構造を示す言語表現です。これは、ツリーの形式、または括弧で囲まれた表現として表すことができます。句マーカーは、句構造規則を適用することによって生成され、それ自体がさらに変形規則の対象となります。[ 2 ]構文的に曖昧な文の可能な構文解析ツリーの集合は、「構文解析フォレスト」と呼ばれます。[ 3 ]
構文解析木の一種は、1879年のゴットロープ・フレーゲの『概念記述』という本ですでに使用されていた。[ 4 ]

構文木はノードとブランチで構成されます。[ 5 ]図では、構文木はSから始まり、各リーフノード(John、ball、the、hit)で終わる全体の構造です。構文木では、各ノードはルートノード、ブランチノード、またはリーフノードのいずれかです。上記の例では、Sはルートノード、NPとVPはブランチノード、John、ball、the、hitはすべてリーフノードです。
ノードは、親ノードと子ノードとも呼ばれます。親ノードとは、枝によってその下に少なくとも1つの他のノードがリンクされているノードです。この例では、SはNPとVPの両方の親ノードです。子ノードとは、ツリーの枝によってその直上のノードにリンクされているノードです。この例でも、hitはVの子ノードです。
非終端関数とは、構文木において根または枝である関数(ノード)のことである。一方、終端関数とは、構文木において葉である関数(ノード)のことである。
二分木(各親ノードが2つの子ノードを持つ)の場合、 n個の単語からなる文の可能な構文解析木の数は、カタラン数によって与えられる。。
構成文法(句構造文法)の構成文法に基づく構文解析木は、終端ノードと非終端ノードを区別します。内部ノードは文法の非終端カテゴリでラベル付けされ、葉ノードは終端カテゴリでラベル付けされます。下の図は構成文法に基づく構文解析木を表しており、英語の文「John hit the ball : 」の構文構造を示しています。

構文解析木は、S から始まり、各葉ノード ( John、hit、the、ball ) で終わる構造全体です。この木では、次の略語が使用されています。
ツリー内の各ノードは、ルートノード、ブランチノード、またはリーフノードのいずれかです。[ a ]ルートノードは、その上にブランチを持たないノードです。文内には、ルートノードは常に 1 つだけです。ブランチノードは、2 つ以上の子ノードに接続する親ノードです。一方、リーフノードは、ツリー内の他のノードを支配しない末端ノードです。S はルートノード、NP と VP はブランチノード、John (N)、hit (V)、the (D)、ball (N) はすべてリーフノードです。リーフは文の語彙トークンです。親ノードは、その下にブランチでリンクされた少なくとも 1 つの他のノードを持つノードです。この例では、S は N と VP の両方の親です。子ノードは、ツリーのブランチでリンクされた、その直上のノードを少なくとも 1 つ持つノードです。この例では、hitは V の子ノードです。この関係には、母と娘という用語も使用されることがあります。
依存文法[ 7 ]の依存ベースの構文木は、すべてのノードを終端ノードとみなします。つまり、終端カテゴリと非終端カテゴリの区別を認識しません。ノード数が少ないため、構成概念ベースの構文木よりも平均的に単純です。上記の例文に対する依存ベースの構文木は次のとおりです。

この構文解析ツリーには、上記の構成要素ベースの構文解析ツリーに見られる句カテゴリー(S、VP、NP)がありません。構成要素ベースのツリーと同様に、構成要素構造が認識されます。ツリーの完全なサブツリーはすべて構成要素です。したがって、この依存関係ベースの構文解析ツリーは、構成要素ベースの構文解析ツリーと同様に、主語名詞Johnと目的語名詞句the ballを構成要素として認識します。
構成要素と依存関係の区別は、非常に広範な影響を及ぼす。構成要素に基づく構文解析木に関連する追加の構文構造が必要か、あるいは有益かどうかは議論の余地がある。
句マーカー、またはPマーカーは、ノーム・チョムスキーらが開発した初期の変形生成文法において導入された。文の深層構造を表す句マーカーは、句構造規則を適用することによって生成される。そして、この適用はさらに変形を受ける可能性がある。
句マーカーはツリーの形式で表現されることもありますが(上記の構成要素ベースの構文解析ツリーのセクションのように)、多くの場合、メモリ使用量を抑えるために「括弧式」の形式で表現されます。例えば、上記の構成要素ベースのツリーに対応する括弧式は次のようになります。
ツリー構造と同様に、このような表現の正確な構成や表示される詳細の量は、適用される理論や、クエリ作成者が説明したい点によって異なります。