...

形式言語

by user

on
Category: Documents
11

views

Report

Comments

Transcript

形式言語
言語の認知科学第 7 回配布資料
浅川伸一
2009 年 11 月 18 日
1
言語に関与する遺伝子
発話と言語の異常には,遺伝学的な基盤が関与している可能性が示唆され
ているが,家系図は複雑であり特定の遺伝子を推測するのは難しい。
1990 年に KE としてだけ知られるイギリスの家系について発表された。KE
家族 3 世代のうち約半数が,発話のための筋の協調運動ができないという発
話失行を持っていた。彼らが話す言葉は,一般人にも家族の他のメンバーに
も理解不能であった。実際,彼らは話し言葉を補うために信号を使っていた
らしい。KE は発話失行に加えて,文法を含む広い範囲で障害があり,他の
障害を持たない家族に比べて低い IQ を示したらしい。脳画像によって,こ
の障害を持つ者は,尾状核とブローカ野がいくらか小さいことがわかったと
言うことである (尾状核の位置を図 1(Pinel, 2005) に示した)。
図 1: 尾状核の位置
以前の研究によって明らかになっていたことは,言語には複数の遺伝子が
関与するらしいということであったが,KE 家族の遺伝子パターンは単一遺
伝子の変異によるものと一致していたらしい。この遺伝子は,脳の構造と顔
面下部の筋の協調運動に影響を与えることが明らかとなった。変異を持つ遺
1
伝子は FOXP2 であることが同定されたらしい。この遺伝子は,他の遺伝子
を働かせたり,止めたりする転写因子をコードしているらしい。
FOXP2 を言語遺伝子と呼ぶのはふさわしくないが,誰しも両親から受け
継いだ 2 組の FOXP2 遺伝子を持っているらしい。重度な言語障害を生じる
ためには,両親のどちらか一方に変異遺伝子があれば十分であるらしい。
FOXP2 はマウスやチンパンジーでも見つかっている。ヒト型の FOXP2
タンパク質とチンパンジーなどの霊長類の型とは,わずか 2 個のアミノ酸の
違いしかないらしい。ヒトとチンパンジーが枝分かれしたのは 600 万年前で
あるが,FOXP2 遺伝子の変異が起こったのは,わずか 10 万年前のことだと
推定されている。その後の爆発的な文明の進化を考えると感慨深い気もする
(^^)
2
言語の統計
言語の中でもっとも簡単に調べられるのは頻度(何回出現したか)データ
である。図 1 に「不思議の国のアリス」に出現する文字の頻度を示した。表
表 1: 「不思議の国のアリス」に出現する各文字の頻度
SP 24639 d 4931 f 2001 ; 194
e
13575
l
4716
p
1524
x
148
t
a
10688
8791
u
’
3468
2871
b
k
1475
1158
j
”
146
113
o
i
h
8146
7514
7374
w
g
,
2675
2531
2418
.
v
!
989
846
450
z
*
)
78
60
56
n
s
r
7016
6500
5438
c
y
m
2399
2262
2107
&
q
?
233
209
202
(
56
中の SP は空白を表している。図から明らかなとおりもっとも出現頻度の高
い文字は空白であり,その次が e である。
英語の文字列の特徴を表すものとして,単独文字の出現頻度だけではなく,
2 文字,3 文字が隣接して生じる頻度を問題にする。これは共起関係と呼ば
れ,2-gram, 3-gram などと表す。同じく「不思議の国のアリス」から 2-gram,
3-gram を調べたものを以下に記す。この表は,t の後に e が来た回数が 755
回であったことを表している。おのおのの n に対して n-gram を作成すれば,
英単語の綴りの特徴が見えてくると考えて良いであろう。
一方,日本語の場合は文字数が 8000 文字を越えることから 2 次の相関表
を作るだけでも大変である。宮沢賢治の「銀河鉄道の夜」から文節区切りソ
2
表 2: 「不思議の国のアリス」にみられる 2 次の共起関係
SP
e
t
a
o
SP
e
4487
337
484
3957
348
3005
775
1279
44
t
a
2578
616
755
364
1167
259
1008
3
o
i
1152
383
48
191
425
1325
25
32
445
174
フト mecab を使って一単語を切り出し,そのの頻度をとってきたのが,表 3
である。
表 3: 「銀河鉄道の夜」にみられる単語の頻度情報
の
1276
。 1120
、
が
533
451
ジョバンニ
309
」 293
な
まし
987
948
と
866
780
693
「
693
625
よう
は
を
565
た
て
に
》
《
い
189
185
181
181
293
237
215
から
209
209
その
し
ん
156
144
か
205
へ
126
も
で
です
だ
166
161
157
表 4 では,太宰治「人間失格」の中から,2 次の相関の高い単語の組み合
わせを表示したものである。この表をみると,
(は,
、)の組み合わせが一番多
く 1.51% を占めていることが分かる。日本語の格助詞で主格を表す格助詞の
後に読点(、)が来ることが多いことが分かる。
3
マルコフ過程 Markov process
時刻 t に偶然量のとる値の分布が過去の (t 以前の) 以前任意の 1 時刻 t0 に
とった値だけに関係し,t0 以前の履歴には影響されない確率過程。正確には,
確率過程 Xt(t∈T ) において,T 内の時刻 s1 < s2 < s3 < · · · < sn < t を任
意に選んだとき,X s1 , X s2 , · · · , X sn を与えたときの Xt の条件付き確率が,
X sn だけをあたえたときの Xt の条件付き確率に等しいとき,{Xt }(t ∈ T )
をマルコフ過程という。マルコフ過程が与えられたとき,時刻 s で Xs の値を
3
表 4: 「人間失格」にみられる単語の共起頻度情報 (%)
は,、 725 (1.51)
た,。 591 (1.23)
て,、 406 (0.84)
まし, た
、, 自分
365 (0.76)
363 (0.75)
でし, た
313 (0.65)
自分, は 290 (0.60)
が,、 279 (0.58
し, て
。, 278 (0.57
268 (0.55
て, い
で,、 153 (0.31)
226 (0.47)
も,、 219 (0.45)
て, いる 214 (0.44)
に,、 191 (0.39)
、, その
190 (0.39)
自分, の
178 (0.37)
176 (0.36)
169 (0.35)
た, の
に, は
」, の, です
166 (0.34)
157 (0.32)
です,。 148 (0.30)
」,「
131 (0.27)
、, それ
123 (0.25)
と,、 120 (0.25)
の, でし 116 (0.24)
。,「
自分, に
ませ, ん
よう, な
111 (0.23)
107 (0.22)
104 (0.21)
98 (0.20)
あたえたきに,時刻 t(≥ s) における Xt が領域 A に落ちる条件付き確率を推
移確率 transition probability P (s, x; t, A)(x ∈ S, A ∈ B(S), S は Xt の値域
といい,正確には次のように定義する。
1. P (s, x; t, A) は x について B(S) 可測, A については確率分布である。
2. P (s, x; s, A) = 1(x ∈ A), 0(x ∈
/ A)
3. 確率 1 で P (Xt ∈ A|Xs = xs ) = P (s, xs ; t, A).
推移確率は確率保存の関係式であるチャップマン・コルモゴロフ方程式 Chapman–
Kolmogorov equation
∫
P (s, x, µ, A) =
P (s, x; t, dy)P (t, y, µ, A)
(1)
s
を,x について Xγ の分布に関し測度 0 の点を除いて満足する。逆にこの方
程式と上の 3 条件を満たす関数 P (s, x; t, A) があたえられ,初期時刻 t = 0
における X0 の分布 F が任意に指定されたとき,P (s, x; t, A) を推移確率と
し,F を初期分布 (ΦX0 ) とするマルコフ過程 {Xt }(t∈T ) が存在する。推移
確率が t と s との差だけに関係して,P (s, x; t, A) = P (t − s, x; A) と表せる
とき,このマルコフ過程は時間的に一様であるという。また実数値(または
Rn 値)マルコフ過程において,推移確率が位置のずれによって変わらないと
き,すなわち集合 A を x だけずらせたもの {y − x|y ∈ A} を A − x と書い
て,P (s, x; t, A) = P (s, t; A − x) で表せるとき,このマルコフ過程は空間的
に一様であるという。空間的に一様なマルコフ過程は加法過程であり,加法
過程 {Xt − X0 }(t∈T ) を初期値 X0 だけずらせた {Xt − X0 }(t∈T ) は空間的に
一様なマルコフ過程である。Xt の値域 S が加算集合であるマルコフ過程を
マルコフ連鎖という。また確率 1 で見本過程が連続なマルコフ過程を拡散過
程という。
4
3.1
マルコフ連鎖
マルコフ過程 {Xt }t∈T のとる値が有限個または加算個のときマルコフ連
鎖という。ときに離散的な時間助変数のマルコフ過程をマルコフ連鎖という
こともある。以下,時間的に一様な場合を考える。Xt の値域を S とする。
Xs = X のとき t > 0 に対し Xs+t = y となる条件付き確率
pt (x, y) = P (Xs+t = y|Xs = x)
(2)
をマルコフ連鎖の推移確率 transition probability という。これは次の 2 条
件を満たす。
1.
Pt (x, y) ≥ 0,
∑
pt (x, y) = 1,
y∈S
2.
pt+s (x, y) =
∑
pt (x, z)ps (z, y).
z∈S
2 をチャップマン・コルモゴロフ方程式という。逆にこの 2 条件を満たす
{pt (x, y)} があれば,これを推移確率とするマルコフ連鎖が存在し,初期分
布を与えればただ1つに定まる。とくに確率行列 A = (a(x, y)), すなわち
∑
a(x, y) ≥ 0, y∈S a(x, y) = 1 となる行列があるとき,pn (x, y) = An (n =
1, 2, · · ·) とおけば,pn (x, y) は上の 2 条件をみたし,これを推移確率とする
離散時間助変数のマルコフ連鎖が存在する。Xt が N 次元格子点上を動き,
a(x, y) が y − x だけの関数 a(x, y) = b(y − x) となるとき,これから構成さ
れるマルコフ連鎖をランダムウォークという。
岩波,理化学事典より
4
言語の有限オートマトン理論
言語の形式的モデルにはいくつかある。そのうち有限オートマトン理論は
最も単純なものであり,マルコフモデルの延長上にあると考えて良い (長尾
真, 1996)。
たとえば英語では,主語が複数形ならば動詞は対応する複数形でなければ
ならないし,ドイツ語やフランス語では,格,性,などと一致する必要があ
る。また,インドヨーロッパ語族系のほとんどの言語は SVO 型であるのに
対し,ツングースモンゴル語族系の日本語,韓国語,モンゴル語,トルコ語
などは SOV 型である。こうした文の並び方の規則を syntax(統語論) と呼
ぶ。文の構造に関する規則の集合を grammar(文法) と呼ぶ。
5
文の基本的な考え方は,隣接する単語同士が持つべき制約である。すなわ
ちある単語が発話されたら,次にどのような単語が続きうるかを明らかにす
ることが言語学者の仕事ということになる。これを同時確率,条件付き確率
で表現したモデルがマルコフモデルである。
マルコフモデルは,文の生じやすさを確率によって表現したものというこ
とができる。ある言語の文として許されるもの,発生しうるものはすべて同等
に取り扱うという立場に立てば,マルコフモデルでの確率という概念のかわ
りに,可能かどうかという 2 値の確率をもったモデルを作ることになる。この
ようなモデルを有限オートマトンモデル
finite automata model
と呼ぶ。
有限オートマトンモデルで,ある与えられた文字列がある言語の文となっ
ているかどうかを検定したいという場合を考える。その文字列をモデルの初
期状態 initial state に対して与えると,入ってくる文字列の各文字と内
部状態の組み合わせで,次に移るべき状態が決定され,有限オートマトンの
状態推移 state trasition が行われる。文字列を最後まで入れ終わった
状態でオートマトンがあらかじめ定められている最終状態 final state と
なっている場合,この文字列は受理 accept されたという。このようにし
て文字列がその言語に属するかどうかが判別できる。このようなオートマト
ンは次のように定式化でき,
1. 状態の集合を K = {q0 , q1 , · · · , qn } とする。qi は状態で,n は有限で
ある。
2. 入力文字列の集合を S とする。S は有限である。
3. 状態推移関数の集合を P とする。P は有限である。
4. 初期状態を q0 とする。q0 ∈ K である。
5. 最終状態の集合を F とする。F ⊂ K である。
このような有限オートマトンを
M =< K, S, P, q0 , F >
(3)
と表記する。M がある状態 qi にあるとき,入力 a が与えられたら,状態 qi
に移行する場合,
δ(qi , a) = qi
(4)
と書き,状態推移関数という。P はこのような関数の集合である。この状
態推移関数に対応して,次の図 2
簡単のため,文字 a が任意個並んだ文字を受理する有限オートマトンを
作ってみる。これは
S ∗ = λ + a + aa + aaa + · · · + an + · · ·
6
(5)
a
qi
qj
図 2: 状態遷移図
a
q0
図 3: 状態遷移図その2
という集合を受理するものである。これは図 3 に示すように これは1つの状
態をもつオートマトンで実現できる。これを詳しく書くと,
K
S
P
= {q0 }
= {a}
= {δ(q0 , a) = q0 }
初期状態
= 最終状態 = q0
(6)
英語の論文は多くの場合次のような形をしている。
N + PREP N +
(7)
ここに N は名詞であり,N + は N が1つ以上並んでいることを表している。
PREP は前置詞であり,of, at, for, などが入る。このような名詞句を受理す
るオートマトンは図 4 と書ける。このオートマトンを詳しく書くと
N
q0
N
q1
N
PREP
q2
N
q3
図 4: 英語の論文のタイトルを表すオートマトン
7
K = {q0 , q1 , q2 , q3 }
S = {N, PREP}
P = {δ(q0 , N ) = q1 , δ(q1 , N ) = q1 , δ(q1 , PREP) = q2 , δ(q2 , N ) = q3 , δ(q3 , N ) = q3 }
初期状態 = q0 , 最終状態 = q3
(8)
状態推移関数を 1 文字の入力に対する推移から,文字列 X に対する推移
に拡張しよう。すなわち,初期状態 q0 に文字列 X が入って状態が qi になっ
たとする。これを
δ(q0 , X) = qi
(9)
δ(qi , a) = qj
(10)
δ(q0 , Xa) = δ(δ(q0 , X), a) = δ(qi , a) = qj
(11)
と表現する。
であるとすると
と書くことができる。X として特別な文字列 λ(空列) をとると,
δ(qi , λ) = qi
(12)
である。二つの文字列 X, Y があって
δ(q0 , X) = q
δ(q0 , Y ) = q
}
(13)
であったとすると,X と Y とは同じクラスに属すると定義する。このとき
文字列 XZ, Y Z について
δ(q0 , XZ) = δ(q0 , Y Z) = q 0
(14)
である。ここに δ(q, Z) = q 0 とする。
以上のように有限オートマトン M の状態 q は文字列に対して 同値類
equivalent set を定義する。すなわち M を状態 q に対する文字列 X, Y
は同値関係にあるとする。この同値関係は右合同関係 right equivalent
relation であるという。すなわち X と Y とが同値関係にあれば XZ と
Y Z も同値関係にある。
アルファベット S 上の任意の文字列は M をいずれかの状態に導くから,
S ∗ は M によって M の状態の数だけ同値類に分けられる。
たとえば図 5 に示すような単純なオートマトンを考えよう。このオートマ
トンの推移関数は次のようになる。

δ(q0 , 0) = q0 , δ(q0 , 1) = q1 

δ(q1 , 0) = q1 , δ(q1 , 1) = q2


δ(q2 , 0) = q2 , δ(q2 , 1) = q0
8
(15)
0
q2
1
q0
1
1
q1
0
0
図 5: 単純なオートマトン
{0, 1} からなる任意の文字列が与えられたとき,このオートマトンが状態 q0
から出発して,どのような状態遷移を行うかをみると,0 が来たときは同一
状態にとどまり,1 がきたら次の状態に遷移することがわかる。したがって

q0 : 文字列 ω 中の 1 の数が 3 の倍数


(16)
q1 : 文字列 ω 中の 1 の数が 3 の倍数+1


q2 : 文字列 ω 中の 1 の数が 3 の倍数+2
という対応関係を知ることができる。すなわち {0, 1} からなる任意の文字列
が 3 つの同値類に分類された。
逆にアルファベットのすべての文字列の集合 S ∗ が有限個の右合同関係に
よる同値類に分けられたとき,これに対応するオートマトンを作ることがで
きる。
英単語辞書の中で,ly で終わる語とそれ以外の語とを区別するオートマト
ンを考えよう。これは図 6 のように作ることができる。ly より左にはどんな
文字が来ても良いが,l がきたときは次が y であるかどうかを知る必要があ
り,さらにその次に空白 t が来なくてはならないという条件がある。ly で終
わる単語は q3 に行き,そうでない単語は q4 に行って終了する。このオート
マトンの最終状態は 2 つあり F = {q3 , q4 } である。
4.1
正規言語
図 7 の左図は
{an } n = 1, 2, · · ·
9
(17)
not l and
not l and
l
l
l
q0
y
q1
q3
q2
not l ,y and
q4
図 6: ly で終わる英単語を受理する
a
q1
a
d
c
q0
q2
q3
b
b
図 7: 3 つのオートマトン
という文字列を受理する。中央の図は同様にして
{λ, ab, abab, · · · , (ab)n , · · ·} = {(ab)n |n = 0, 1, 2, · · ·}
(18)
という文字列を受理する。任意の n について an の集合 {an |n = 0, 1, 2, · · ·}
は,a∗ と表記することができるから,図 7 の左と中央の有限オートマトンは,
それぞれ
a∗ , (ab)∗
(19)
という文字列を受理することになる。図 7 の右図のオートマトンは,文字 a
と b のいずれもが任意の回数と組み合わせを受理できる。これは,
(a + b)∗
(20)
と表現できる。ここで + は a と b のどちらでも良いという意味で論理和 OR
の意味である。また,
(a + b)∗
= λ + (a + b) + (a + b)2 + (a + b)3 + · · ·
(21)
= λ + a + b + aa + ab + ba + bb + aaa + aab + aba + · · ·(22)
10
となり,a と b の任意の組み合わせができたことがわかる。
状態遷移図と受理される文字列の集合との間には、以下のような関係がある。
1. 状態遷移を二つ直列に繋いだ状態に対しては,入力文字を二つ連接し
た文字列が対応する。
2. 二つの状態遷移が同じ二つの状態の間に存在する場合には,二つの入
力文字の集合が対応する。
3. 1つの状態から出て,同じ状態に戻ってくるループがある場合,その
ループをたどる文字列を x としたとき,文字列 x の閉包 ∗ が対応する。
すべてのオートマトン M はこの 3 つの場合に分解することができる。ゆえ
に,上記3つの組み合わせを合成することで M が受理する文字列の集合が
明らかとなる。(1) の場合は文字列が順序づけられた積の形となり,記号 “・”
の記号を用いて連接を表現する。一般の積の概念の拡張であり,記号 “・” は
省略が可能である。(2) に場合は和として “+” を用いる。(3) の場合は “*” と
表記する。文字列をこれらの記号によって表現した文字列の集合を正規集
合 regular set と呼ぶ。
a
q1
a
d
c
q0
q2
q3
b
b
図 8: (a + b)c(b(a + b)c)∗ a
図 8 では,状態 q0 から q1 へは文字列 (a + b) で推移し,q0 から q2 に至
るためには
(a + b)c(b((a + b)c)∗
(23)
なる文字列の集合が対応する。最終状態 q3 に至るためには
(a + b)c(b((a + b)c)∗ a
(24)
という集合が対応する。すなわちこのオートマトンが,このようにしてが与
えられれば,それが受理する正規言語を得ることができる。
5
文脈自由型文法
自然言語の文の構造を取り扱うときには,文脈自由型句構造文法を用いる。
11
図 9: トリの文法 (岡ノ谷,2004)
5.1
形式文法
有限オートマトンは,閉包の演算によってのみ無限の文を生成することが
できる。正規言語において,ある文字の影響は有限の長さにしか及ばない。す
なわちある言語のアルファベットの文字 a が現れた後,何文字離れて文字 b
が生じるかという形の依存関係は,有限オートマトンが持っている内部状態の
数以上には及ばない。ということを明白に述べたのがチョムスキーであった。
彼の説明によれば,
{an bn |n = 0, 1, 2, · · ·}
(25)
という言語では,任意の n について a が n 個並べは,続いて b が n 個並ぶ
という意味で n 個先まで依存関係が存在するが,このような任意の n を計
数し記憶するためには,有限の記憶しか持たない有限オートマトンでは不可
能であることがわかった。
チョムスキーが挙げた例に
if
s1
then s.
(26)
either
s3
or s4
(27)
the man who said that s5 is arriving tody
(28)
がある。これらの文の s1 , s2 ,· · ·,s5 には任意の長さの文を入れることができ
るので,それぞれ自分自身の文を何重にも繰り返しいれてみる。たとえば,式
(26) に対して代入を繰り返すと
if(ifs1 thens2 )thens2 if(if(ifs1 thens2 )thens2 )thens2 · · · · · ·
(29)
これは結局
(if)n s1 (then)n (thens2 )n n = 1, 2, · · ·
12
(30)
という形の文となる。この言語も正規言語ではない。
これを克服したのが,チョムスキーの文脈自由型句構造文法
context–
1
free phrase structure grammar:CFG である 。
すなわち,文は主語と述語から成り立っており,以下同様に句を分解して
行く。文の構造を全体から細部に向かっての句の形で順次処理していく。そ
の中心は句構造規則(書き換え規則)にある。以下に例を載せる。
文
→
主語 述語 (S→ SUB PRED)
(31)
主語
→
固有名詞 (SUB→ PROPN)
(32)
主語
→
名詞句 (SUB→ NP)
(33)
名詞句
→
名詞 (NP→N)
(34)
名詞句
→
冠詞 名詞 (NP→DET N)
(35)
名詞句
→
冠詞 形容詞 名詞 (NP→DET ADJ N)
(36)
述語
→
自動詞 (PRED→V1)
(37)
述語
→
自動詞 前置詞句 (PRED→VT PP)
(38)
述語
→
他動詞 名詞句 (PRED→VT NP)
(39)
前置詞句
→
前置詞 名詞句 (PP→PREP NP)
(40)
固有名詞
→
Tom, John, Shin,· · ·
(41)
名詞
→
piano, desk, boy,· · ·
(42)
動詞
→
plays, is, hit,· · ·
(43)
形容詞
→
beautiful, healthy,· · ·
(44)
冠詞
→
a, the, · · ·
(45)
ここに矢印の左辺に表れる記号を非終端記号
non-terminal symbol
といい,その集合を Vk で表す。矢印の右辺にしか現れない 非終端記号
terminal symbol といい,その集合を VT で表す。
このような文法の規則は生成規則 generation rule または書き換
え規則 rewriting rule と呼ぶ。たとえば上の第一行目は「文は主語と
述語とからなる」と読むことができる。ある文 S から出発して順次書き換え
規則を適用して文を作り出すことができる。
S
⇒
SUB PRED ⇒ PRPON PRED ⇒ PROPN VT NP
(46)
⇒
PROPN VT DET N
(47)
⇒ · · · ⇒ Tom plays the piano
(48)
∗
⇒ は左辺から右辺が導出 derive されると読む。導出の繰り返しを ⇒ で
表現し,
∗
(49)
S ⇒ Tom plays the piano.
1 文脈規定型句構造文法
context sensitive phrase structure grammaer とも呼ばれる
13
などと書く。すなわち非終端記号に書き換え規則を順次適用していって,書
き換える規則がなくなったとき,文が生成されたと考えるのである。これが
チョムスキーが提唱した生成文法 generative grammar の本質であった(こ
の辺りは前回までの復習)。
より一般的には,文法は以下の 4 つの要素によって定義される。
1. 非終端記号の集合:VN
2. 終端記号の集合:VT
3. 生成規則の集合:P
4. 初期記号:sigma σ ∈ VN
文法はこれら 4 つの要素の組によって
G =< VN , VT , P, σ >
(50)
と表される。文法 G によって初期記号 σ から生成される文の集合を L(G)
と書き,これを文法 G によって生成される言語であるという。すなわち言語
L(G) は
∗
L(G) = {w|w ∈ VT∗ , σ ⇒ w}
(51)
である。これは w は VT の要素からなる文字列で,σ から導出されるものす
べてであることを表している。VT∗ は集合 VT の任意の長さの記号列であって
空列 λ を含む。空列 λ を含まない場合は VT+ と表記する。
5.2
文法の分類
書き換え規則の一般形は,
α → β, α ∈ V + , β ∈ V ∗ , V = VN ∪ VT
(52)
と書くことができる。ただし,ここで,α には非終端記号の集合 VN 中の記
号がすくなくとも一つ含まれていなければならない。上式 52 は記号列 α が
文字列中に存在すれば,これを記号列 β に置き換えることを意味する。そし
て,α は空列を含まない,その言語に属するすべての文字列の要素であり,β
は空列を含んだ全ての文字列からなる集合である。
5.2.1
0 型文法
初期記号 σ から,この形の生成規則を順次適用していって生成される言語
L(G) を 0 型言語 という。この場合の文法を 0 型文法と呼ぶ。
14
5.2.2
1 型文法
式 52 に
|α| ≤ kβ|
(53)
という制限,すなわち,初期記号の要素の方が書き換え規則を適用した後の
要素よりも少ない,という制限をつけた文法を 1 型文法, あるいは文脈規
定定型句構造文法, 文脈依存文法と呼ぶ。
5.2.3
2 型文法
さらに生成規則,式 52 が以下のように
A → B, A ∈ VN , β ∈ V +
(54)
すなわち A から β への書き換え規則のうち A は非終端記号の集合 VN の要
素であり,β は,その言語で生成されるすべての文の集合 (より正確にはそこ
から空列を除いた集合) V + の要素であるという制約を加えた文法のことを
2 型文法, あるいは文脈自由型句構造文法と呼ぶ。
5.2.4
3 型文法
文脈自由文法をさらに制約して
A
→ αB A, B ∈ VN
(55)
A
→ α α ∈ VT
(56)
と制限した場合を 3 型文法, あるいは正規文法 と呼ぶ。すなわち A, B
ともに非終端記号の集合 VN の要素であり,α は終端記号である場合である。
5.2.5
それぞれの文法の能力
0 型文法から 3 型文法までのそれぞれの文法は本質的に異なった能力を持っ
ているとされる。図に示すと図 10 のようになる。ここで,RL は正規言語,
CFL は文脈自由形言語,CSL は文脈規定型言語,TM はチューリング機械で
ある。
3 型言語を受理するのは有限オートマトンであり,2 型言語を受理するのは
プッシュダウンオートマトン pushdown automaton と呼ばれる。
1 型言語を受理するモデルは線形拘束オートマトン linear bounded
automaton であり,0 型言語を受理するモデルはチューリング機械
Turing machine と呼ばれている。
15
TM
CSL
CFL
RL
図 10: 形式言語相互間の関係
引用文献
Pinel, J. P. (2005). バイオサイコロジー. 西村書店.
長尾真 (1996). 自然言語処理. 岩波書店.
16
Fly UP