You are on page 1of 5

Tại sao cần phân tích ngữ

nghĩa
trả lời và cho điểm bài đọc hiểu
Phân tích ngữ nghĩa z

z đọc thực đơn và đặt món ăn


Lê Thanh Hương g
z đọc hướng dẫn sử dụng để hiểu cách sử
Bộ môn Hệ thống Thông tin
d
dụng
Viện CNTT &TT – Trường ĐHBKHN
Email: huonglt-fit@mail.hut.edu.vn

1 2

Thế nào được coi là hiểu? Thế nào được coi là hiểu?
z … nếu có thể sử dụng nội dung đó để trả lời câu hỏi
z Dễ: Mai ăn kẹo. Æ Mai ăn gì?
z … nếu có thể phản ứng phù hợp
z Khó: Nước đi đầu tiên của quân trắng là P-Q4. Æ Quân đen
z VD: “cho tất cả đồ chơi vào giỏ” có thể chiếu tướng không?
z … nếu có thể dịch: phụ thuộc vào ngôn ngữ đích
z … nếu có thể xác định 1 phát biểu là đúng hay z Anh – Anh?
z Anh – Pháp? có thể được
sai
z Anh – logic ? cần hiểu sâu
z hiểu NP nghĩa là xác định được NP đó đề cập đến
z tất cả loài cá đều biết bơi
cái gì
z = ∀x [fish(x) ⇒can_swim(x)]

3 4

Một số khái niệm cơ bản về


logic Logic: thuật ngữ Lambda
3 loại đối tượng cơ bản: z λ:
1. Giá trị - Booleans z là cách để viết 1 hàm “bất kỳ”
z là giá trị ngữ nghĩa của câu z Không có tên hàm
2. Thực thể - Entities z Được dùng để định nghĩa tính chất cơ bản của hàm
z Giá trị của NP
NP, vd
vd., các đối tượng như bàn
bàn, ghế
ghế,
thời gian z Cho square = λp p*p
3. Hàm z Tương đương với int square(p) { return p*p; }
z Hàm trả về giá trị nhị phân gọi là vị từ (predicate). z Định dạng: λ <tên biến> <biểu thức>
Vd., frog(x), green(x)
z Hàm có thể trả về 1 hàm khác
z Hàm có thể nhận hàm khác như tham số

5 6

1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Logic: thuật ngữ Lambda Logic: Một số vị từ
z λ: z most – 1 vị từ trên 2 vị từ khác
z Cho square = λp p*p z most(pig, big) = “most pigs are big”
z Khi đó square(3) = (λp p*p)(3) = 3*3 z tương đương với, most(λx pig(x), λx big(x))
z Chú ý: square(x) không phải là hàm, chỉ là giá trị của x*x. z trả về true nếu đa số giá trị thỏa vị từ đầu tiên cũng
z Hàm: λx square(x) = λx x*x
x x = λp p*p
p p = square thỏa vị từ thứ 2
z Cho even = λp (p mod 2 == 0) vị từ trả về giá trị True/False z tương tự:
z even(x) = true nếu x chẵn z all(pig,big) (tương đương với ∀x pig(x) ⇒ big(x))
z Còn even(square(x))? z exists(pig,big) (tương đương với ∃x pig(x) AND big(x))
z λx even(square(x)) = true với các số x có square(x) chẵn
z λx (even(x*x)) = λx (x*x mod 2 == 0)

7 8

Cách biểu diễn vị từ Sử dụng lượng từ


z Gilly swallowed a goldfish z Gilly swallowed a goldfish
z swallowed(Gilly, goldfish) z swallowed(Gilly, goldfish)
z goldfish không phải là tên một đối tượng duy
nhất như là Gilly z Tốt hơn: ∃g goldfish(g) AND swallowed(Gilly, g)
z Hoặc sử dụng vị từ lượng từ:
z exists(λg goldfish(g), λg swallowed(Gilly,g))
z Vấn đề
Gilly swallowed a goldfish and Milly swallowed z tương đương: exists(goldfish, swallowed(Gilly))
a goldfish z “trong tập cá có 1 con cá bị nuốt bởi Gilly”
chuyển thành:
swallowed(Gilly, goldfish) AND swallowed(Milly, goldfish)
nhưng không phải cùng 1 goldfish …

9 10

Thời Các thuộc tính về sự kiện


z Gilly swallowed a goldfish
z Gilly swallowed a goldfish z ∃t past(t) AND exists(goldfish, swallow(t,Gilly))
z exists(goldfish, λg swallowed(Gilly,g)) z Một phát biểu có thể có các thuộc tính khác nữa:
z Cải tiến: z [Gilly] swallowed [a goldfish] [on a dare] [in a
z swallowed(Gilly,g) chuyển thành swallow(t,Gilly,g), t là thời telephone booth] [with 30 other freshmen] [after
gian
i many bottles of vodka had been consumed] consumed].
z ∃t past(t) AND exists(λg goldfish(g), λg swallow(t,Gilly,g)) z xác định ai? làm gì? tại sao? khi nào? (who what why when)
z “Có lúc nào đó trong quá khứ, con cá là 1 trong các vật bị Gilly nuốt” z Thay biến thời gian t với biến sự kiện e
z ∃e past(e), act(e,swallowing), swallower(e,Gilly), exists(goldfish,
swallowee(e)), exists(booth, location(e)), …
z Có thể biểu diễn quá khứ bằng λe ∃t before(t,now), ended-at(e,t)

11 12

2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trật tự của lượng từ Phân tích ngữ nghĩa câu
z Ví dụ
1. Phân tích cú pháp
z In this country a woman gives birth
2. Tìm ngữ nghĩa của từng từ
every 15 min. Our job is to find that
3. Xác định ngữ nghĩa cho mỗi thành phần ngữ pháp,
woman and stop her.
thực hiện từ dưới lên
z ∃woman (∀15min gives
gives-birth-during(woman,
birth during(woman 15min))
z ∀15min (∃woman gives-birth-during(15min, woman))

13 14

Ngữ nghĩa thành phần Ngữ nghĩa thành phần


assert(every(nation, λx ∃e present(e),
act(e,wanting), wanter(e,x),
START z Thêm thuộc tính “sem” cho mỗi luật phi ngữ cảnh
wantee(e, λe’ act(e’,loving), z S → NP loves NP
Sfin Punc
lover(e’,G), lovee(e’,L)))) z S[sem=loves(x,y)] → NP[sem=x] loves NP[sem=y]
.
NP VPfin λs assert(s) z Nghĩa của S phụ thuộc vào nghĩa của NP
z TAG version:
D t
Det N T VPstem S loves(x,y)
l ( )
Every nation -s
every nation Vstem Sinf
NP VP
λv λx ∃e present(e),v(x)(e)
want x
NP VPinf
V NP
George
loves
y
λy λx λe act(e,wanting), G T VPstem
wanter(e,x), wantee(e,y) λa a to
Vstem NP ƒ Điền mẫu: S[sem=showflights(x,y)] →
λy λx λe act(e,loving), love Laura
15 L
I want a flight from NP[sem=x] to NP[sem=y] 16
lover(e,x), lovee(e,y)

Ngữ nghĩa thành phần Ngữ nghĩa thành phần


z Thay S → NP loves NP
z S[sem=loves(x,y)] → NP[sem=x] loves NP[sem=y] START assert(loves(L,G))
z Luật tổng quát S → NP VP: Muốn diễn đạt G loves L
z V[sem=loves] → loves
z VP[sem=v(obj)] → V[sem=v] NP[sem=obj] loves(L,G) Sfin Punc λs assert(s)
z S[sem=vp(subj)] → NP[sem=subj] VP[sem=vp] .
z George loves Lauracó sem=loves(Laura)(George) NP VPfin λy loves(L,y)
z Trong phần này, ta: George
z tính ngữ nghĩa từ dưới lên G Vpres AdjP
loves Laura
z Ngữ pháp ở dạng chuẩn Chomsky
loves = L
z Mỗi nút có 2 con: 1 hàm và 1 tham số λx λy loves(x,y)
z Để lấy ngữ nghĩa của nút, áp dụng hàm vào tham số

17 18

3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cách biểu diễn ngữ nghĩa cơ
Ngữ nghĩa thành phần bản
START z Sử dụng “Event”
∃e present(e), act(e,loving), z (EVENT :condition1 val1 :condition2 val2…
lover(e,G), lovee(e,L) :condn valn)
loves(L,G) Sfin Punc
. z Ví dụ:

λy ∃e present(e),
NP VPfin λy loves(L,y) act(e,loving), z (see :agent John :patient Mary :tense past)
George lover(e,y), lovee(e,L)
G Vpres AdjP
loves Laura
loves = L
λx λy loves(x,y)
λx λy ∃e present(e),
act(e,loving), 19 20
lover(e,y), lovee(e,x)

Luật cú pháp/ngữ nghĩa Ý nghĩa của câu


Thành phần/luật Dịch nghĩa z λ form ứng với VP gắn với λ form đi với NP
Verb ate λxλy.ate(y, x) z Từ là các giá trị
z Cho cây cú pháp, phân tích từ dưới lên để có ngữ
N N
nghĩa của câu ate(John, ice-cream)
ice cream)
V V z Vị từ này có thể được đánh giá dựa trên CSDL để
S S*= VP*(NP*) trả về 1 giá trị hoặc T/F.
NP N*
VP V*(NP*)

21 22

Dịch ngữ nghĩa Ví dụ


z Phân tích ngữ nghĩa của câu sau:
S (IP) VP(NP )= ate (john , ice-
cream ) z Tôi biết Tâm đã gặp An.
john
NP VP V(NP )= λy.ate
λy ate (y,
(y ice-
ice
cream )

V NP ice-cream
John λxλy.ate(y ,
x)
ate ice-cream

23 24

4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ Cách thực hiện
(top-level)
Shall I clear the database? (y or n) y z λ ở mức cao nhất gọi đến VP. Giá trị VP này được
>John saw Mary in the park xác định ở mức lá bằng cách sử dụng tham số NP
OK. z Nói cách khác, để tìm ý nghĩa của câu, ta gọi VP sử
>Where did John see Mary dụng tham số là NP
IN THE PARK.
>John gave Fido to Mary z T i nút
Tại út lá
lá, mỗi
ỗi từ cũng
ũ đi kè
kèm th
them một
ột số
ố thông
thô titin
OK. ngữ nghĩa
>Who gave John Fido
I DON'T KNOW
>Who gave Mary Fido
JOHN
>John saw Fido
OK.
>Who did John see
FIDO AND MARY 25 26

5
CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like