文脈依存文法(CSG)とは、任意の生成規則の左辺と右辺が終端記号と非終端記号の文脈で囲まれている形式文法である。文脈依存文法は、文脈自由文法よりも一般的である。つまり、CSGで記述できるが文脈自由文法では記述できない言語が存在する。文脈依存文法は、(同じ意味で)非制限文法よりも一般的ではない。したがって、CSGはチョムスキー階層において文脈自由文法と非制限文法の間に位置づけられる。[ 1 ]
文脈依存文法、あるいは同等に非収縮文法または線形限定オートマトンによって記述できる形式言語は、文脈依存言語と呼ばれます。教科書の中には、CSGを非収縮と定義しているものもありますが、[ 2 ] [ 3 ] [ 4 ] [ 5 ]これはノーム・チョムスキーが1959年に定義した方法とは異なります。 [ 6 ] [ 7 ]この定義の選択は、生成される言語に関しては違いはありません(つまり、2つの定義は弱く同等です)が、構造的に文脈依存とみなされる文法に関しては違いがあります。後者の問題は、1963年にチョムスキーによって分析されました。[ 8 ] [ 9 ]
チョムスキーは、文脈によって単語が特定の場所に適切である場合とそうでない場合がよくある自然言語の構文を記述する方法として、文脈依存文法を導入しました。ウォルター・サヴィッチは、「文脈依存」という用語は誤解を招くと批判し、CSGと非制限文法の区別をよりよく説明するものとして「非消去」を提案しました。[ 10 ]
言語の特定の機能(例えば、クロスシリアル依存性)が文脈自由ではないことはよく知られているが、自然言語に見られる文脈依存性を捉えるために、CSGの表現力のどの程度が必要かは未解決の問題である。この分野のその後の研究は、計算処理がより容易な、やや文脈依存的な言語に焦点を当てている。いくつかのビジュアルプログラミング言語の構文は、文脈依存グラフ文法で記述できる。[ 11 ]
形式文法を次のように表記します。、 と非終端記号のセット、ターミナルシンボルのセット、一連の生産ルール、そしてスタートシンボル。
紐文字列を直接生成するか、または文字列に直接派生すると表記される、v がP内の何らかの生成規則を適用することによってuから得られる場合、つまり、そして、 どここれは生成ルールであり、はそれぞれ、文字列の影響を受けていない左側と右側の部分です。より一般的には、u はを生成する、またはに派生すると言われ、vは次のように表されます。v が生成規則を繰り返し適用することによってuから得られる場合、つまり、n ≥ 0 といくつかの文字列に対して言い換えれば、関係は関係の反射的推移閉包である。
文法Gの言語は、その開始記号から導出可能なすべての終端記号文字列の集合であり、形式的には次のように表される。終端記号のみで構成される文字列で終わらない導出は可能ですが、L ( G ) には寄与しません。
形式文法は、Pの各規則が次のいずれかの形式である場合に文脈依存的である。どこは空文字列、または次の形式です。
文脈依存という名称は、 Aの文脈を形成し、Aをγに置き換えることができるかどうかを決定するαとβによって説明されます。対照的に、文脈自由文法では文脈は存在せず、すべての生成規則の左辺は単なる非終端記号です。
文字列γは空であってはならない。この制約がない場合、結果として得られる文法は制約のない文法と同等の能力を持つことになる。[ 10 ]
非収縮文法とは、 u → vの形式の任意の生成規則に対して、 uの長さがvの長さ以下である文法のことである。
すべての文脈依存文法は非縮約的であり、すべての非縮約文法は同等の文脈依存文法に変換できる。この2つのクラスは弱同値である。[ 12 ]
一部の著者は、非縮約文法全般を指すのに文脈依存文法という用語を使用している。
左文脈依存文法と右文脈依存文法は、規則をそれぞれ α A → αγ とA β → γβ の形式のみに制限することによって定義されます。これらの文法によって生成される言語は、文脈依存言語の完全なクラスでもあります。[ 13 ]等価性は、ペントネン標準形によって確立されました。[ 14 ]
開始記号Sを持つ以下の文脈依存文法は、標準的な非文脈自由言語{ a n b n c n | n ≥ 1 }を生成します 。
規則 1 と 2 はS をn BC ( BC ) n −1に拡大することを可能にします。規則 3 ~ 6 は各CB をBCに順次交換することを可能にします(規則CB → BCはスキーム α A β → αγβに適合しないため、これには4 つの規則が必要です)。規則 7 ~ 10 は、非終端BまたはCが適切な位置にある場合に限り、それぞれ対応する終端bまたはcに置き換えることを可能にします。 aaabbbcccの生成チェーンは次のとおりです。
より複雑な文法は、{ a n b n c n d n | n ≥ 1 } や、さらに多くの文字を持つ他の言語の解析に使用できます。ここでは、非縮約文法を使用したより単純なアプローチを示します。 文形式を生成する正規生成規則のカーネルから始めます 。そして、契約に基づかない生産物も含める。 、 、 、 、 、 、 、 、 、 。
その言語の非収縮文法(同等のCSGが存在するもの)定義される
これらの定義により、は: 。
言語 { a 2 i | i ≥ 1 } の非縮小文法は、(Hopcroft、Ullman、1979) の例 9.5 (p. 224) で構築されています。 [ 15 ]
空文字列を生成しないすべての文脈依存文法は、黒田標準形において弱等価な文法に変換できる。ここで「弱等価」とは、2つの文法が同じ言語を生成することを意味する。標準形は一般に文脈依存ではなく、非縮約文法となる。[ 16 ] [ 17 ]
黒田標準形は、非縮約文法における実際の標準形である。
形式言語は、線形限定オートマトン(LBA)によって受理される場合に限り、文脈依存文法によって記述できる。[ 18 ]一部の教科書では、この結果は Landweber とKurodaのみに帰せられている。[ 7 ]他の教科書では、これをMyhill – Landweber – Kuroda の定理と呼んでいる。[ 19 ] (Myhill は 1960 年に決定論的 LBA の概念を導入した。Peter S. Landweber は 1963 年に、決定論的 LBA によって受理される言語は文脈依存的であると発表した。[ 20 ] Kuroda は 1964 年に非決定論的 LBA の概念と LBA と CSG の等価性を導入した。[ 21 ] [ 22 ] )
2010年現在すべての文脈依存言語が決定論的LBAで受け入れられるかどうかは、依然として未解決の問題である。[ 23 ]
文脈依存言語は補集合に関して閉じている。この 1988 年の結果は、イマーマン-セレプチェニの定理として知られている。[ 19 ]さらに、和集合、積集合、連結、置換、[注 4 ]逆準同型、およびクリーネプラス に関して閉じている。[ 24 ]
再帰的に列挙可能な言語L はすべて、ある文脈依存言語Lとある文字列準同型hに対してh ( L )と書くことができる。[ 25 ]
ある文字列sが与えられた文脈依存文法Gの言語に属するかどうかを問う決定問題は、PSPACE完全である。さらに、言語が PSPACE 完全である文脈依存文法が存在する。言い換えれば、ある文字列s がGの言語に属するかどうかを決定すれば PSPACE 完全となるような文脈依存文法Gが存在する(つまり、 Gは固定されており、 sだけが問題の入力の一部である)。[ 26 ]
文脈依存文法の空性問題(文脈依存文法Gが与えられたとき、L ( G )=∅ ?)は決定不能である。[ 27 ] [注 5 ]
サヴィッチは、自然言語の基礎としてのCSGに対する批判の根拠となる以下の理論的結果を証明しました。任意の再帰的に列挙可能な集合Rに対して、文脈依存言語/文法Gが存在し、これをRへの所属をテストする一種のプロキシとして使用できます。文字列sが与えられた場合、sがRに含まれるのは、 sc nがGに含まれるような正の整数nが存在する場合のみです。ここでcはRの一部ではない任意の記号です。[ 10 ]
ほぼすべての自然言語は一般的に文脈依存文法によって特徴づけられることが示されているが、文脈依存文法のクラス全体は自然言語よりもはるかに大きいようだ。さらに悪いことに、前述の文脈依存文法の決定問題はPSPACE完全であるため、PSPACE完全問題に対する多項式時間アルゴリズムはP=NP を意味するため、実用上全く使い物にならない。
いわゆるクロスシリアル依存性や無制限スクランブリング現象を特定することで、一部の自然言語が文脈自由ではないことが証明されました。しかし、これは必ずしもCSGのクラスが、自然言語におけるこれらの用語の口語的な意味での「文脈依存性」を捉えるために必要なことを意味するものではありません。たとえば、線形文脈自由書き換えシステム(LCFRS)はCSGよりも厳密には弱いですが、クロスシリアル依存性の現象を説明できます。たとえば、 { a n b n c n d n | n ≥ 1} のLCFRS文法を記述できます。 [ 28 ] [ 29 ] [ 30 ]
計算言語学における継続的な研究は、ツリー隣接文法、組み合わせカテゴリ文法、結合コンテキストフリー言語、線形コンテキストフリー書き換えシステムなど、決定問題が実行可能な「ややコンテキスト依存的」な言語クラスの定式化に焦点を当ててきた。これらの形式体系によって生成される言語は、コンテキストフリー言語とコンテキスト依存的言語の中間に位置する。
最近では、クラスPTIME は範囲連結文法と同一視されており、現在では軽度文脈依存言語クラスの中で最も表現力が高いと考えられている。[ 30 ]
<name-part>におけると同様)。記号名は、制約のない文法に似せて選ばれています。同様に、文脈依存文法の規則群は、それが由来する制約のない文法規則によって番号が付けられます。