文脈自由文法
前回「検索してみてね」と書いときましたが、それじゃあまり親切じゃないかなぁということで。
んー、一応ですね、日本語を例にします。分かりやすいと思うので。
文脈自由文法で、こういう規則群を定義したとします。
S → PP VP
PP → NP P
VP → PP VP
VP → V TENS
NP → NP の NP
NP → NP と NP
NP → N
N → 先生 | 自転車 | 学校 | 僕
P → は | が | を | で | に
V → 行k | 殴r | 見
TENS → ru | ita
まぁ、ちょっと特殊といえば特殊な規則ですが。
S、PP、VP、NP、P、V、TENS、Nは非終端記号で、N、P、V、TENSの書き換え先が終端記号です。
これをどう使うかというと、一応二種類あります。一つはSから出発して、書き換えを繰替えして目的の文に至る方法です。
こちらは、こんな感じ。
S ⇒ PP VP
⇒ NP P VP
⇒ N P VP
⇒ 先生 P VP
⇒ 先生 は VP
⇒ 先生 は PP VP
⇒ 先生 は NP P VP
⇒ 先生 は N P VP
⇒ 先生 は 自転車 P VP
⇒ 先生 は 自転車 で VP
⇒ 先生 は 自転車 で PP VP
以下略
こうやって、たとえば
先生 は 自転車 で 学校 に 行k ita
(先生 は 自転車 で 学校 に 行った)
これが目的であれば、これが出てくるまで書き換えをバックトラックしたりして繰り返します。これはトップ・ダウンな方法です。使わないわけじゃないですけど、あまり効率的ではないですね。
でも、まぁ、「これを解析してちょ」という文が与えられるなら、そこから出発して、書き換え規則を逆向きに適用して、最後に「S」に到達できたら解析というか受理完了ほう方向もあります。これはボトム・アップな方法です。
たとえばこんな感じ。
先生 は 自転車 で 学校 に 行k ita ⇒ N は 自転車 で 学校 に 行k ita
[略]
PP PP 学校 に 行k ita ⇒ PP PP N に 行k ita
[略]
PP PP PP 行k ita ⇒ PP PP PP V ita
PP PP PP V ita ⇒ PP PP PP V TENS
PP PP PP V TENS ⇒ PP PP PP VP
PP PP PP VP ⇒ PP PP VP
PP PP VP ⇒ PP VP
PP VP ⇒ S
えーと、ミスってたらすみません。
まぁ最後にSに到達しているので、さっきの文法で、この例文は受理できるというわけで、受理と解析に成功知ているわけです。
とは言え、この文脈自由文法とか句構造文法で何でもかけるかというと、そういうわけでもなさそうです。
チョムスキーが言った生成文法だと、こういう書き換え規則と、変形規則というものがあります。変形規則は、えーと、もしかしたら後で訂正するかもしれませんが、こんな感じ。
This is a pen.
これを次の疑問文にしてみます。
What is this.
どれを基にするかはそれぞれでかまわないのですが、例えば「This is a pen」を基にすると、疑問文だと「a pen」に当る部分が、「What」として文の先頭に出てきています。
それはそれで文脈自由文法を書けば、解析もできます。
ですが、生成文法の立場としては、変形して「What is this」とかが出てきているとかどうとうかという話がでてきます。
生成文法は、現在かなり抽象化が進んでいます。たぶん脳に存在するもともとの文法的なものはこのレベルだろうというあたりに。
まぁ、そこにいく前に、もちっと文脈自由文法と、生成文法の話をしたいと思います。




