1.1 オートマトンと状態遷移図

2.4 言語の理論
(1)チョムスキーのGB理論とは
■GB理論(Government-Binding Theory)
統率・束縛理論
考え方
語彙項目(ほぼ単語に相当)に内在的な述語項構造
が、すべての表示レベルに反映される。
チョムスキー(Chomsky)の方法
述語の要求する項が、文の中でどの位置にくるかをい
くつかの原理の相互作用で説明する。
(2)4種類の表示レベル
① D構造(D-Structure)
② S構造(S-Structure)
③音声形式(phonetic form)
④論理形式(logical form)
D構造
S構造
音声形式
論理形式
(3)規則の体系
① 辞書(lexicon)
ⅰ) 語彙項目(lexical item)のリスト
ⅱ) 単語以下の単位(形態素)
② 統辞要素(syntax)
ⅰ) 基底要素(base component)
ⅱ) 変形要素(transformational component)
(4)語彙項目
① どのような文法範疇に属すか?
② どのような範疇の表現と一緒に現れるか?(下位範疇化)
【例】persuade(説得して…させる)
① V(動詞)に属す
② persuade-NP-Sという環境で現れる。
Persuade John that S
Persuade John to VP
(S:Sentence、VP:Verb phrase)
(5)基底要素
文脈自由型書換え規則の集合
【例】 S→NP INFL VP
(INFL :inflect(語形変化)、NP:Noun phrase)
書換え規則の適用と語彙項目を適切な位置に挿入することで
D構造が得られる
D構造の例
【例】John was hit
文(S)
名詞句
(NP)
語形変化
(INFL)
動詞句
(VP)
過去形
(PAST)
動詞(V)
動詞句
(VP)
be
動詞(V)
名詞句
(NP)
hit
名詞(N)
John
唯一の規則Move-αからなる
(αという文法範疇を一定の場所に移動させよ)
文(S)
【S構造の例】
名詞句
(NP)
語形変化
(INFL)
動詞句
(VP)
名詞(N)
過去形
(PAST)
動詞(V)
動詞句
(VP)
be
動詞(V)
John
(6)変形要素
名詞句
(NP)
hit
指標i
Move-NP(NPを移動せよ)
(移動前の痕跡)
(7)表示レベルと規則体系との関係
構造間の関係付けは、 Move-αによる
辞書
基底書換え規則
D構造
Move-α
S構造
INFL+V
(PAST+be = was)
音声形式
Move-α
論理形式
以下原理体系の詳細については
「自然言語の基礎理論」淵一博監修(共立)を参照
(8)言語の定義
(a) アルファベット(alphabet)/語彙(ごい:vocabulary)
①有限個の記号からなる空でない集合V
V={ x1, x2, x3, …, xn }
(n≧1)
②V上の記号をいくつか取り出して並べたものをV上の語(word, string)とい
い、V上の語全体をV + と書く。
x1 x2 x3… xk (k≧1)
③空列(長さ0の特別な記号列)εも語とみなす。
④V +とεをあわせたものをV * と書く。
V * = V + ∪ε
⑤2つの語をつないだものを連接(concatenation)という。
s = x1 x2 x3 … xk , t = y1 y2 y3 … ym
→ 語s t = x1 x2 x3 … xk y1 y2 y3 … ym
【例】 V={ a, b}のとき、 V *={ε, a, b, aa, ab, ba, bb, aaa, …}
(b) 言語(language)と文法(grammar)
① V * の部分集合を言語(language)という。
単なる叫び声や笑い声、あいづち、語1つでも言語である。
【例】 Hm, Hm. Oh! Go!でも言語である
②四つ組みG = (T, N, P, S)を文法(grammar)という。
T : 終端記号(terminal symbol)の集合
N : 非終端記号(non-terminal symbol)の集合
P : 生成規則(production rule)の集合
S : 出発記号(start symbol)
(d) 文法によって生成される言語
ひとつの文法G = (T, N, P, S)が生成する言語L(G)を次のように定義する。
L(G) = { x ∈ T * | S ⇒x }
【意味】
生成される言語は、
出発記号から出発して、
生成規則を有限回使って導出した結果から得られる
終端記号だけからなる語全体
生成言語の例
S
VP
NP
DET
N
V
⇒
⇒
⇒
⇒
⇒
⇒
NP VP
V NP
DET N | N
the | that | this |
girl | boy | John | school
see | love
導出木(derivation tree)
プログラミング言語解析の場合
解析木(analysis tree)ともいう。
S
NP
DET
VP
N
V
非終端記号
終端記号
NP
N
The
girl
see
John
(e) 文法の種類
G = (T, N, P, S)のすべての生成規則の形
【タイプ0】
s→t
s ∈(T ∪N)+, t ∈(T ∪N)*
【タイプ1】 文脈依存文法(context sensitive grammar)
mAn→mtn
m, n ∈(T ∪N)*, A ∈N, t ∈(T ∪N)+
【タイプ2】 文脈自由文法(context free grammar)
A →t
A ∈N, t ∈(T ∪N)+
【タイプ3】 正規文法(regular grammar)
A → a またはA→b B
A, B ∈N, a ∈ T ∪ε, b ∈ T
タイプ0 ⊃ タイプ1 ⊃ タイプ2 ⊃ タイプ3
①プログラミング言語では、通常タイプ2(文脈自由文法)を用いる。
②コマンド言語の場合、タイプ3(正規文法)もありうる。
複雑
単純
(f) 導出の順序(文脈自由文法)
文脈自由文法の1ステップ導出を考える。
mAn → mt n
【最左1ステップ導出(leftmost one step derivation)】
m∈T * のとき、最も左にある終端記号を置き換える。
【最左導出(leftmost derivation)】
導出 u ⇒v を構成するすべての1ステップ導出がすべて最左
【最右1ステップ導出(rightmost one step derivation)】
n∈T * のとき、最も右にある終端記号を置き換える。
【最右導出(rightmost derivation)】
導出 u ⇒v を構成するすべての1ステップ導出がすべて最右
導出の順序例
a+b の導出過程
【文法】
[最左導出]
[最右導出]
T = { a, b, c, +, *,(,)}
N = { E, T, F, I}
P = { E→ E + T, E→ T,
T→ T * F, T→ F,
F→ (E),
F→ I,
I→ a, I→b, I→c }
E
→E+T
→T+T
→F+T
→I+T
→a+T
→a+F
→a+I
→a+b
E
→E+T
→E+F
→E+I
→E+b
→T+b
→F+b
→I+b
→a+b