Phân tích cú pháp
1
Lê Thanh Hương
B môn H thng Thông tin
Vin CNTT &TT – Trường ĐHBKHN
Email: huonglt-fit@mail.hut.edu.vn
Bài toán PTCP
P
T
C
cây PTCP mu
độ chính xác
tính
đi
2
C
P
Văn phm
câu
Các b PTCP
hin nay có độ
chính xác cao
(Eisner, Collins,
Charniak, etc.)
cây cú pháp
đim
Khái nim v văn phm
zPhân tích câu “Bò vàng gm c non”
zCây cú pháp:
zTp lut
zC ÆCN VN
zCN ÆDN
zVN ÆĐgN
zĐgN ÆĐgT DN
zDN ÆDT TT
3
Văn phm
zMt văn phm sn sinh là mt h thng
zG = ( T, N, S, R ), trong đó
zT (terminal) – tp ký hiu kết thúc
zN (non terminal) – tp ký hiu không kết thúc
zS (start) – ký hiu khi đầu
zR (rule) – tp lut
zR = { αÆβ| α, β∈(TN) }
zαÆβgi là lut sn xut
4
Dng chun Chomsky
zMi NNPNC không cha εđều có th sinh t
mt văn phm tnđó mi sn xut đều có
dng A ÆBC hoc A Æa, vi A,B,CN và a
T
T
zVí d: Tìm dng chun Chomsky cho văn
phm G vi T = {a,b}, N ={S,A,B}, R như sau:
zS ÆbA|aB
zA ÆbAA|aS|a
zB ÆaBB|bS|b
5
Nhc li v văn phm
zVăn phm: 1 tp lut viết li
zKý hiu kết thúc: các ký hiu không th phân rã được
na.
zKý hiu không kết thúc: các ký hiu có th phân rã
được.
Xét ăh G
6
z
Xét
v
ă
n p
h
m
G
:
S NP VP
NP John, garbage
VP laughed, walks
G có th sinh ra các câu sau:
John laughed. John walks.
Garbage laughed. Garbage walks.
Cu trúc ng pháp
Cây cú pháp biu din cu trúc ng pháp ca mt câu.
Bò vàng gm c non.
C
CN VN
7
DT
ĐgT
gm
DT
c
TT
non
TT
vàng
DN ĐgN
DN
Các ng dng ca PTCP
Dch máy (Alshawi 1996, Wu 1997, ...)
tiếng Anh tiếng Vit
các thao tác
vi cây
8
Nhn dng tiếng nói s dng PTCP (Chelba et al 1998)
Put the file in the folder.
Put the file and the folder.
Các ng dng ca PTCP
Kim tra ng pháp (Microsoft)
Trích rút thông tin (Hobbs 1996)
9
Kho văn bn
NY Times
CSDL
câu truy vn
Văn phm phi ng cnh
(Context-Free Grammar)
… còn gi là văn phm cu trúc đon
zG = <T,N,P,S,R>
zT – tp các ký hiu kết thúc (terminals)
zN - tp các ký hiu không kết thúc (non-terminals)
zP – ký hiu tin kết thúc (preterminals), khi viết li tr
thành hiukết thúc
P
10
thành
hiu
kết
thúc
,
P
zS – ký hiu bt đầu
zR: X →γ, X là ký hiu không kết thúc; γlà chui các
ký hiu kết thúc và không kết thúc (có th rng)
zVăn phm G sinh ra ngôn ng L
zB nhn dng: tr v yes hoc no
zB PTCP: tr v tp các cây cú pháp
So vi văn phm cm ng cnh
R: αAγ⇒αβγ
zVăn phm ng cu:
zα→β, vi α∈V+ , β∈V*
zVăn phm cm ng cnh:
zr = α→β, vi α∈V+ , β∈V* , ⏐α⏐≤⏐β⏐
zα1Aα2→α1βα2 vi β≠ε
zVăn phm phi ng cnh:
zA →θ, A N,
i
θ
V* ( T
N)*
11
zv
i
θ
V*
=
(
T
N
)*
zVăn phm chính qui:
zA aB,
zA Ba,
zA a,
vi A, B N, a T.
VPCQ
VPPNC
VPCNC
VPNC
Văn phm phi ng cnh
12
Áp dng tp lut ng pháp
zS
NP VP
DT NNS VBD
The children sle
pt
13
p
zS
NP VP
DT NNS VBD NP
DT NNS VBD DT NN
The children ate the cake
Cu trúc đon đệ qui
14
Văn phm cho ngôn ng t nhiên
có nhp nhng
S
NP
VP
Nhp nhng - PP
có thgn ti 2 đim (vi VP
hoc vi NP)
John saw snow on the campus
15
NP
0 John
VP
PP
NP
1 saw NP
2 snow
3 on
4 the 5 campus 6
PTCP kiu trên xung
zHướng đích
zKhi đầu vi 1 danh sách các ký hiu cn trin khai (S,
NP,VP,…)
zViết li các đích trong tp đích bng cách:
S
NP VP
…….
16
ztìm lut có vế trái trùng vi đích cn trin khai
ztriu khai nó vi vế phi lut, tìm cách khp vi câu đầu vào
zNếu 1 đích có nhiu cách viết li Æchn 1 lut để áp
dng (bài toán tìm kiếm)
zCó th s dng tìm kiếm rng (breadth-first search) hoc
tìm kiếm sâu (depth-first search)
Khó khăn vi PTCP trên xung
zCác lut đệ qui trái
zPTCP trên xung rt bt li khi có nhiu lut có cùng vế trái
SNP X1 SNP X2 SNP X600 SVP Y1
……
17
zNhiu thao tác tha: trin khai tt c các nút có th phân tích trên
xung
zPTCP trên xung s làm vic tt khi có chiến lược điu khin ng
pháp phù hp
zPTCP trên xung không th trin khai các ký hiu tin kết thúc
thành các ký hiu kết thúc. Trên thc tế, người ta thường s dng
phương pháp dưới lên để làm vic này.
zLp li công vic: bt c ch nào có cu trúc ging nhau
PTCP dưới lên
zHướng d liu
zKhi to vi xâu cn phân tích
zNếu chui trong tp đích phù hp vi vế phi ca 1 lut
thay bng vếtrái calut
…….
S
NP VP
18
thay
bng
vế
trái
ca
lut
.
zKết thúc khi tp đích = {S}.
zNếu vế phi ca các lut khp vi nhiu lut trong tp
đích, cn la chn lut áp dng (bài toán tìm kiếm)
zCó th s dng tìm kiếm rng (breadth-first search) hoc
tìm kiếm sâu (depth-first search)
Khó khăn vi PTCP dưới lên
zKhông hiu qu khi có nhiu nhp nhng mc
t vng
zLp li công vic: bt c khi nào có cu trúc con
chung
19
chung
zC PTCP TD (LL) và BU (LR) đều có độ phc
tp là hàm mũ ca độ dài câu.
Thut toán CKY (b nhn dng)
Vào: xâu n t
Ra: yes/no
Cu trúc n
g
p
p
: bn
g
n x n
(
chart table
)
20
gpp
g
(
)
hàng đánh s 0 đến n-1
ct đánh s 1 đến n
cell [i,j] lit kê tt c các nhãn cú pháp gia i và j
Thut toán CKY (bottom-up)
for i := 1 to n
Thêm tt c t loi ca t th i vào ô [i-1,i]
for width := 2 to n
for start := 0 to n-width
end
:= start + width
21
end
:=
start
+
width
for mid := start+1 to end-1
for mi nhãn cú pháp X trong [start,mid]
for mi nhãn cú pháp Y trong [mid,end]
for mi cách kết hp X và Y (nếu có)
Thêm nhãn kết qu vào [start,end] nếu chưa
có nhãn này
Ví d
Bò vàng gm c non
12345
0
DT
CN
DN
C
22
1
TT
2
ĐgT
VN
ĐgN
3
DT DN
4
TT
Văn phm phi ng cnh
1. StartS
2. S NP VP
3. NP Det Noun
4. NP Name
9. V ate
10. Name John
11. Name ice-cream, snow
12. Noun ice-cream, pizza
23
5. NP Name PP
6. PP Prep NP
7. VP V NP
8. VP V NP PP
13. Noun table, guy, campus
14. Det the
15. Prep on
Lut kết hp
zÔ Cell[i,j] cha nhãn X nếu
zCó lut XYZ;
zCell[i,k] cha nhãn Y và ô Cell[k,j] cha nhãn Z,
24
vi k n
m gia i và j;
zVD: NP DT [0,1] NN[1,2]
CKY phi s dng lut nh
phân
zChuyn VPV NP PP thành:
8.a. VPV Arguments
8 b Arguments
NP PP
25
8
.
b
.
Arguments
NP
PP
CKY chart
1234 5 678
0DT
1NN
2
VBD
“ The guy ate the ice-cream on the table”
26
2
VBD
3DT
4NN
5IN
6DT
7NN
Áp dng thao tác ‘dán’
12 3 45 6 7 8
0DTNP
1NN
27
2 VBD
3DT
4NN
5IN
6DT
7NN
Nhp nhng!
12 3 45 6 7 8
0DTNP S
1NN
2 VBD VP
5. NP NN PP
8.a. VPV Arguments
8.b. Arguments NP PP
28
3DTNPNP,
Args
4NN
5INPP
6DTNP
7NN
Thut toán Earley (top-down)
zTìm các nhãn và các nhãn thiếu (partial constituents) t
đầu vào
zA B C . D E là nhãn thiếu:
AD
+=A
29
zTiến hành dn t trái sang phi
BC DE
A B C . D E
BC DE
A B C D . E
Ví d
ROOT SNPPapa
S NP VP N caviar
NP Det N N spoon
30
NP NP PP V ate
VP VP PP P with
VP V NP Det the
PP P NP Det a