Làm cách nào chọn cây đúng?
Phân tích cú pháp xác
suất
z
Ví dụ:
z
Khi số luật tăng, khả năng nhập nhằng tăng
Tập
p luật NYU: bộ PTCP Apple
pp p
pie : 20,000-30,000
luật cho tiếng Anh
Lựa chọn luật AD: V DT NN PP
(1) VP → V NP PP
NP → DT NN
(2) VP → V NP
NP → DT NN PP
I saw a man with a telescope.
Lê Thanh Hương
g
Bộ môn Hệ thống Thông tin
Viện CNTT &TT – Trường ĐHBKHN
Email:
z
z
1
Kết hợp từ (bigrams pr)
2
Kết hợp từ (bigrams pr)
Ví dụ:
Eat ice-cream (high freq)
Eat John (low, except on Survivor)
z
⇒ Verb-with-obj, verb-without-obj
z
Nhược điểm:
P(John decided to bake a) có xác suất cao
z Xét:
P(w3) = P(w3|w2w1))=P(w
P(w3|w2)P(w2|w1)P(w1)
Giả thiết này quá mạnh: chủ ngữ có thể quyết định bổ ngữ trong
câu
Clinton admires honesty
¾ sử dụng cấu trúc ngữ pháp để dừng việc lan truyền
z Xét Fred watered his mother’s small garden. Từ garden có
ảnh hưởng như thế nào?
z
z
z
Pr(garden|mother’s small) thấp ⇒ mô hình trigram không tốt
Pr(garden | X là thành phần chính của bổ ngữ cho động từ to
water) cao hơn
¾ sử dụng bigram + quan hệ ngữ pháp
Ví dụ
Nhược điểm:
• Kích thước tập ngữ pháp tăng
z Các bài báo của tạp chí Wall Street Journal trong 1 năm:
47,219 câu, độ dài trung bình 23 từ, gán nhãn bằng tay: chỉ
có 4.7% hay 2,232 câu có cùng cấu trúc ngữ pháp
¾ Không thể dựa trên việc tìm các cấu trúc cú pháp đúng cho
cả câu. Phải xây dựng tập các mẫu ngữ pháp nhỏ
4
Luật
Luật 3
1.
VP
2.
3.
VP
VP ADJ
NP
DT NN
Sự tương thích giữa chủ ngữ và bổ ngữ:
John admires honesty
Honesty admires John ???
3
S
Luật 1
V có một số loại bổ ngữ nhất định
z
VP
Luật 2
z
NP→DT NN NN
NP→DT JJ NN
S→NP VBX JJ CC VBX NP
Nhóm (NNS, NN) thành NX; (NNP, NNPs)=NPX;
(VBP, VBZ, VBD)
VBD)=VBX;
VBX;
Chọn các luật theo tần suất của nó
NP
NN VBX JJ CC VBX DT JJ NN
This apple pie looks good and is
a real treat
5
CuuDuongThanCong.com
6
/>
Tính Pr
Tính xác suất
Pr(X →Y)
1 S
2 NP VP 3
NP
X
DT JJ NN VBX NP 4
The big guy ate
DT JJ NN
the apple pie
1470
Y
DT JJ NN
NP
=
S → NP VP; 0.35
NP → DT JJ NN; 0.1532
VP → VBX NP; 0.302
= 0.1532
Luật áp dụng
9711
1 S →NP VP
2 NP → DT JJ NN
3 VP → VBX NP
4 NP → DT JJ NN
Pr = 0.0025
Chuỗi Pr
0.35
0.1532 x 0.35 = 0.0536
0.302 x 0.0536= 0.0162
0.1532 x 0.0162=0.0025
7
8
Các giả thiết
Văn phạm phi ngữ cảnh xác suất
z
z
z
z
z
z
z
1 văn phạm phi ngữ cảnh xác suất (Probabilistic Context
Free Grammar) gồm các phần thông thường của CFG
Tập ký hiệu kết thúc {wk}, k = 1, . . . ,V
Tập ký hiệu không kết thúc {Ni}, i = 1, . . . ,n
Ký hiệu khởi đầu N1
Tập luật {Ni → ζj}, ζj là chuỗi các ký hiệu kết thúc và không
kết thúc
Tập các xác suất của 1 luật là:
∀i ∑j P(Ni → ζj) = 1
Xác suất của 1 cây cú pháp:
P(T) = Πi=1..n p(r(i))
z
Độc lập vị trí: Xác suất 1 cây con không phụ thuộc vào vị trí
của các từ của cây con đó ở trong câu
∀k, P(Njk(k+c) →ζ) là giống nhau
z
Độc
ộ lập
ập ngữ
g cảnh: Xác suất 1 câyy con không
gp
phụ
ụ thuộc
ộ vào
các từ ngoài cây con đó
P(Njkl→ζ| các từ ngoài khoảng k đến l) = P(Njkl→ζ)
z
Độc lập tổ tiên: Xác suất 1 cây con không phụ thuộc vào
các nút ngoài cay con đó
P(Njkl→ζ| các nút ngoài cây con Njkl ) =
9
10
CKY kết hợp xác suất
Các thuật toán
z
z
z
z
z
Cấu trúc dữ liệu:
z Mảng lập trình động π[i,j,a] lưu xác suất lớn nhất
của ký hiệu không kết thúc a triển khai thành chuỗi
i…j.
z Backptrs lưu liên kết
ế đến
ế các thành phần
ầ trên cây
CKY
Beam search
Agenda/chart based search
Agenda/chart-based
…
z
Ra: Xác suất lớn nhất của cây
11
CuuDuongThanCong.com
P(Njkl→ζ)
12
/>
Tính Pr dựa trên suy diễn
z
Trường hợp cơ bản: chỉ có 1 từ đầu vào
z
Trường hợp đệ qui: Đầu vào là xâu các từ
* ij if ∃k: A→ ΒC, B ⇒w
* ik ,C ⇒w
* kj ,i≤k ≤j.
A⇒w
p[i,j] = max(p(A→ ΒC) x p[i,k] x p[k,j]).
Pr(tree) = pr(A→ wi)
A
B
i
C
k
wij
j
13
TÍnh xác suất Viterbi (thuật toán
CKY)
14
Ví dụ
z
z
z
z
S Æ NP VP
NP Æ Det N
VP Æ V NP
V Æ includes
0.80
0.30
0.20
0 05
0.05
z
z
z
z
Det Æ the
Det Æ a
N Æ meal
N Æ flight
0.50
0.40
0.01
0 02
0.02
Dùng thuật toán CYK phân tích câu vào:
“The flight includes a meal”
0.0504
15
Xác suất Forward và Backward
Tính Pr
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
S → NP VP
VP → V NP PP
VP → V NP
NP → N
NP → N PP
PP → PREP N
N → a_dog
N → a_cat
N → a_telescop
V → saw
PREP → with
1.0
0.4
0.6
0.7
0.3
1.0
0.3
0.5
0.2
1.0
1.0
VP
0.6
NP
S
1.0
NP
07
0.7
VP
0.4
NP
07
0.7
0.3
PP
N
N V N PREP N
0.3 1.0 0.5 1.0 0.2
NP
PP
1.0
PREP N
ai(t)
Xt
N’
The
big
Forward
Probability =
ai(t)=P(w1(t-1), Xt=i)
N’’
N
brown
i
bi(t)
• Forward= xác suất các phần
tử trên và bao gồm 1 nút cụ
thể nào đó
N
fox
• Backward= xác suất các
phần tử dưới 1 nút cụ thể
nào đó
Backward
Probability =
bi(t)=P(wtT |Xt=i)
a_dog saw a_cat with a_telescope
Pl = 1×.7×.4×.3×.7×1×.5×1×1×.2 = .00588
Pr = 1×.7×.6×.3×.3×1×.5×1×1×.2 = .00378
¾ Pl is chosen
CuuDuongThanCong.com
V
1.0
1 t-1… t …T
The big brown fox
17
18
/>
Xác suất trong và ngoài
Xác suất trong và ngoài
N1= Start
α
Nj
w1
wp-1
N1= Start
Outside αj(p,q)
Inside βj(p,q)
β
wp wq wq+1
Outside αj(p,q)
α
Nj
wm
w1
wp-1
Inside βj(p,q)
β
wp wq wq+1
Npq = ký hiệu không kết thúc Nj trải từ vị trí p đến q trong
xâu
αj(p,q)=P(w1(p-1) , Npqj,w(q+1)m|G)
z
αj = xác suất ngoài (outside)
βj(p,q)=P(wpq|Npqj, G)
z
βj = xác suất trong (inside)
z
Nj phủ các từ wp … wq, nếu Nj ⇒∗ wp … wq
z
19
αj(p,q) βj(p,q) = P(N1⇒∗ w1m , Nj ⇒∗ wpq | G)
= P(N1⇒∗ w1m |G)• P(Nj ⇒∗ wpq | N1⇒∗ w1m, G)
Tính xác suất của xâu
Sử dụng thuật toán Inside, 1 thuật toán lập trình động dựa
trên xác suất inside
P(w1m|G) = P(N1 ⇒* w1m|G) = P(w1m|N1m1, G) = β1(1,m)
z
Tính βj(p,q) với p < q – tính trên tất cả các điểm j –
thực hiện từ dưới lên
Nj
Trường hợp cơ bản:
βj(k,k) = P(wk|Nkkj, G)=P(Nj → wk|G)
Suy diễn:
βj(p,q) = Σr,sΣd∈(p,q-1) P(Nj → NrNs) βr(p,d) βs(d+1,q)
P(Nj → NrNs)
Ns
Nr
wp
wdwd+1
βr(p,d) x
wq
βs(d+1,q)
-nhân 3 thành phần, tính
tổng theo j, r,s.
21
S → NP VP
VP → V NP PP
VP → V NP
NP → N
NP → N PP
PP → PREP N
N → a_dog
N → a_cat
N → a_telescope
V → saw
PREP → with
22
Tìm kiếm kiểu chùm
Ví dụ
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
20
Suy diễn
z
z
wm
1.0
0.4
0.6
0.7
0.3
1.0
0.3
0.5
0.2
1.0
1.0
z
NP
1.0
NP
0.7
z
VP
0.6
S
VP
0.4
NP
0.7
0.3
PP
V
z
Tại mỗi thời điểm, chỉ giữ các thành phần có điểm cao nhất
PP
N
1.0
PREP N
1.0
N V N PREP
0.3 1.0 0.5 1.0
Tìm kiếm trong không gian trạng thái
Mỗi trạng thái là một cây cú pháp con với 1 xác suất
nhất định
N
0.2
P(a_dog saw a_cat with a_telescope) =
1×.7×.4×.3×.7×1×.5×1×1×.2 + ... ×.6... ×.3... = .00588 + .00378 = .00966
23
CuuDuongThanCong.com
24
/>
Làm giàu PCFG
Làm giàu PCFG
z
z
z
PCFG đơn giản hoạt động không tốt do các
giả thiết độc lập
Giải quyết: Đưa thêm thông tin
z
z
Phụ th
Ph
thuộc
ộ cấu
ấ ttrúc
ú
z Việc triển khai 1 nút phụ thuộc vào vị trí của nó
trên cây ( độc lập với nội dung về từ vựng của nó)
z Ví dụ: bổ sung thông tin cho 1 nút bằng cách lưu
giữ thông tin về cha của nó: SNP khác với VPNP
z
PCFG từ vựng hóa : PLCFG (Probabilistic
Lexicalized CFG, Collins 1997; Charniak
1997)
Gán từ vựng với các nút của luật
Cấu trúc Head
z
z
Mỗi phần tử của parsed tree được gắn liền với
một lexical head
Để xác định head của một nút trong ta phải xác
định trong các nút con, nút nào là head (xác định
head trong vế phải của một luật).
25
Làm giàu PLCFG
26
Tại sao dùng PLCFG
VP(dumped) → VBD(dumped) NP(sacks) PP(into) 3*10-10
VP(dumped) → VBD(dumped) NP(cats) PP(into) 8*10-11
z
z
z
Tính ngoại lệ (exception) của ngôn ngữ
Sự phân loại theo cú pháp hiện tại chưa thể
hiện hết đặc tính hoạt động của từng từ
vựng.
vựng
Từ vựng hóa luật CFG giúp bộ phân tích cú
pháp thực hiện chính xác hơn
27
Hạn chế của PLCFG
VP -> VBD NP PP
VP(dumped) -> VBD(dumped) NP(sacks)
PP(into)
Penn Treebank
z
z
z
Không có một corpus đủ lớn!
z Thể hiện hết các trường hợp cú pháp, hết các
trường hợp đối với từng từ.
Penn Treebank: tập ngữ liệu có chú giải ngữ
pháp, có 1 triệu từ, là nguồn ngữ liệu quan
trọng
Tính thưa:
z
z
có 965,000 mẫu, nhưng chỉ có 66 mẫu WHADJP,
trong đó chỉ có 6 mẫu không là how much hoặc
how many
Phần lớn các phép xử lý thông minh phụ thuộc
vào các thống kê mối quan hệ từ vựng giữa 2
từ liền nhau:
30
CuuDuongThanCong.com
/>
Đánh giá độ chính xác của PTCP
A Penn Treebank tree
z
z
z
Độ chính xác của parser được đo qua việc tính xem có bao
nhiêu thành phần ngữ pháp trong cây giống với cây chuẩn, gọi là
gold-standard reference parses.
Độ chính xác (Precision) =
% trường hợp hệ gán đúng
tổng số trường hợp hệ gán
(%THợp hệ tính đúng).
Độ phủ (Recall) =
% số trường hợp hệ gán đúng
tổng số trường hợp đúng
(%THợp hệ tính đúng so với con người).
31
32
Biểu diễn cây theo các thành phần
ngữ pháp
Đánh giá
Ví dụ 2
Độ chính xác của các hệ thống
PTCP
35
CuuDuongThanCong.com
36
/>