TAG là một văn phạm kích thước lớn với hàng nghìn cây cơ bản. Để xây dựng văn phạm TAG cho một ngôn ngữ, số lượng các cây cơ bản cần xây dựng là khá lớn. Mặt khác, ta thường thấy có hiện tượng lặp cấu trúc khi hai hoặc nhiều từ vựng khác nhau cùng chia sẻ một tập cây cơ bản vì chúng có cùng tính chất cú pháp. Hình 2.7 là một ví dụ đơn giản minh họa cho hiện tượng lặp cấu trúc xảy ra trong TAG. Để khắc phục những nhược điểm nêu trên, người ta đã đề xuất các mô hình siêu văn phạm (meta-grammar) cho phép sinh một văn phạm TAG đầy đủ từ thành phần cơ sở là các mảnh cây.
XMG (eXtended MetaGrammar) [15] là một hệ thống siêu văn phạm cung cấp cơ chế để người sử dụng định nghĩa và kết hợp các mảnh cây nhằm xây dựng các cây cơ bản đầy đủ. Việc phân rã cây thành các mảnh một mặt giúp tối tiểu hoá các cấu trúc cơ sở, tránh được hiện tượng dư thừa hay trùng lặp cấu trúc. Mặt khác, XMG cho phép mô tả thơng tin cú pháp hỗ trợ cả hai tính chất là chia sẻ cấu trúc và lựa chọn.
Ví dụ: Hình 2.8 là ba mô tả cú pháp trong XMG tương ứng với thơng tin về chủ ngữ chính tắc, chủ ngữ mệnh đề và dạng động từ đơn: Tên các cây bộ phận này có thể sử dụng lại để mơ tả các lựa chọn bằng phép tuyển (∨). Ví dụ, chủ ngữ có thể là chủ ngữ chính tắc hoặc chủ ngữ mệnh đề:
Subject → CanonicalSubject∨ RelativisedSubject.
CanonicalSubject RelativisedSubject VerbalForm S NP↓ V NP NP∗ S NP↓ V S V Hình 2.8: Mơ tả cú pháp XMG
trúc động từ nội động gồm một chủ ngữ và một động từ đơn được mô tả như sau:
IntransitiveVerb→ Subject ∧ VerbalForm
Ngồi ra, siêu văn phạm XMG cịn được thiết kế để tránh đệ quy nhằm đảm bảo rằng văn phạm TAG sinh ra là hữu hạn. Từ mô tả IntransitiveVerb ở trên, XMG sinh mọi câu trong văn phạm tn theo mơ tả cú pháp này. Ví dụ:
1. S NP↓ The boy V ∧ S V sleep ⇒ S NP↓ The boy V sleeps 2. NP NP∗ The boy S NP↓ who V ∧ S V sleep ⇒ NP NP∗ The boy S NP↓ who V sleeps Bên cạnh đó, XMG cung cấp các cơ chế tổ hợp và ràng buộc cấu trúc nhằm hạn chế sao cho siêu văn phạm chỉ sinh ra các cấu trúc cú pháp hợp lệ. Hệ hình thức và bộ biên dịch siêu văn phạm XMG đã được sử dụng hiệu quả để sinh ra văn phạm TAG tiếng Pháp gồm hơn 6 000 cây cơ bản từ 293 mô tả mảnh cây.
2.1.3 Văn phạm RCG
Theo ngơn ngữ nói, RCG là văn phạm viết lại các vị từ dựa trên xâu đầu vào bằng các vị từ khác. Hệ thống viết lại cây TAG và các mở rộng của nó đã được chứng minh là tương đương với RCG [10]. Do đó, khi xây dựng cơng cụ phân
tích cú pháp cho một văn phạm TAG cụ thể, các tác giả có xu hướng chuyển đổi văn phạm ban đầu sang RCG tương đương để phân tích do RCG có khả năng sinh mạnh hơn các văn phạm cảm ngữ cảnh yếu, cụ thể là các hệ hình thức dựa trên cây (TAG, TAG đa thành phần [31]...) trong khi thời gian phân tích vẫn là đa thức. Hơn nữa, các thuật tốn phân tích cú pháp RCG khá đơn giản 3.2.2. Định nghĩa 2.1.2. (Văn phạm RCG)
Văn phạm RCG [10] (Range Concatenation Grammar) là một bộ năm G = (N, T, V, S, P) trong đó:
• N là tập hợp hữu hạn các vị từ, với số đối của vị từ là ánh xạ dim: N → N+
• T và V lần lượt là tập hữu hạn các kí tự kết thúc và các biến. ǫ ∈T là kí hiệu rỗng
• S ∈ N là vị từ khởi đầu với dim(S) = 1 • P là tập hợp hữu hạn các mệnh đề có dạng
A0(x01, ..., x0a0) → ǫ hoặc
A0(x01, ..., x0a0) →A1(x11, ..., x1a1)...An(xn1, ..., xnan)
trong đó n ≥ 1, xij ∈(T ∪V)∗, Ai ∈ N là vị từ ai đối. Vị từ An(xn1, ..., xnan) cịn có thể viết là An(−→xn)
Cho mệnh đề A0(x01, ..., x0a0) → A1(x11, ..., x1a1)...An(xn1, ..., xnan). Khi đó,
A0(x01, ..., x0a0)được gọi là phần bên trái (LHS),A1(x11, ..., x1a1)...An(xn1, ..., xnan)
được gọi là phần bên phải (RHS) của mệnh đề. Định nghĩa 2.1.3. (Văn phạm RCG đơn giản)
Một văn phạm RCG đơn giản là RCG thỏa mãn ba tính chất:
• Phi kết hợp: Mỗi đối số trong RHS của mệnh đề c∈ P bất kì chỉ chứa chính xác một biến
• Tuyến tính: Khơng có biến nào xuất hiện nhiều hơn một lần trong LHS và trong RHS của mệnh đề
• Khơng xóa bỏ: Mọi biến xuất hiện trong RHS của một mệnh đề thì cũng xuất hiện trong LHS của mệnh đề đó và ngược lại
Ví dụ: Văn phạm RCG đơn giản:
G = ({S, A, B},{a, b},{X, Y, Z}, S, P), trong đó
P = { S(XY Z) → A(X, Z)B(Y),
A(aX, aY) → A(X, Y),
A(ε, ε) →ε, B(bX) → B(X),
B(ε) → ε }
Định nghĩa 2.1.4. (Phạm vi, vectơ phạm vi trong RCG)
Với mỗi w ∈T∗, w = w1...wn (wi ∈T,1 ≤ i ≤n), ta có định nghĩa:
• Một cặp chỉ số hl, ri,1 ≤ l ≤ r ≤ n là một phạm vi trong w biểu diễn xâu con wl+1...wr
• Hai phạm vi hl1, r1i,hl2, r2i có thể kết hợp được với nhau khi và chỉ khi r1 =l2, kí hiệu hl1, r1i · hl2, r2i=hl1, r2i
• Giả sử hli, rii là một phạm vi trong w,1 ≤i ≤ k. Khi đó,
φ = (hl1, r1i), ...,hlk, rki) được gọi là vectơ phạm vik chiều trong w. Kí hiệu φ(i).l= li, φ(i).r =ri
Để thuận tiện, chúng ta giả sử các biến, các kí tự kết thúc, kí tự ǫ xuất hiện trong mệnh đề được đánh số bởi các chỉ số dưới phân biệt, theo thứ tự từ trái sang phải, bắt đầu từ 1. Chỉ lần xuất hiện đầu tiên của x∈(T ∪V ∪ {ǫ}) trong mệnh đề được đánh số. Quy ước Υ(c), c ∈ P là chỉ số dưới lớn nhất của mệnh đề c, với x ∈ (T ∪V ∪ {ǫ}) trong c, Υ(c, x) cho biết chỉ số dưới của x trong c. Khi đó, ta có định nghĩa sau:
Định nghĩa 2.1.5. (Mệnh đề phạm vi)
Cho xâu w =w1...wn và mệnh đề c∈P,Υ(c) =j. Mệnh đề phạm vi sinh bởi c và w là mệnh đề trong đó mọi xi ∈ (T ∪V ∪ǫ),1 ≤ i ≤ j xuất hiện trong c được ánh xạ thành một phạm vi φi biểu diễn xâu con tương ứng của w. Mỗi vị từ trong mệnh đề phạm vi được gọi là vị từ phạm vi.
Ví dụ: A(hg, hi) → B(hg + 1, hi) là mệnh đề phạm vi sinh bởi A(aX1) → B(X1) và xâu w thỏa mãn wg+1 =a
Nếu x, y ∈ (T ∪V ∪ {ǫ}), xy là xâu con biểu diễn bởi một trong các đối số của một vị từ nào đó trong c thì hai phạm vi tương ứng trong mệnh đề phạm vi có thể được kết hợp.
Định nghĩa 2.1.6. (Vectơ ràng buộc phạm vi)
Cho Vr ={r1, r2, ...} là tập các biến. Vectơ ràng buộc phạm vik chiều là cặp hρ, Ci:
• ρ = (hr1, r2i, ...,hrk, rk+1i) ∈ (Vr2)k, Vr(ρ) là tập các biến ràng buộc xuất hiện trong ρ. Kí hiệu ρ(i) = hri, ri+1i
• C là tập các ràng buộccr có một trong các dạng:
ri = rj, k = ri, ri +k = rj, k ≤ ri, ri ≤ k, ri ≤ rj, ri +k ≤ rj với ri, rj ∈ Vr(ρ), k ∈N
Một vectơ phạm vi φ là thỏa mãn hρ, Ci khi và chỉ khi φ và ρ có cùng số chiều k và tồn tại một ánh xạ f : Vr → N ánh xạ ρ(i).l sang φ(i).l, ρ(i).r sang φ(i).r tương ứng sao cho tất cả các ràng buộc trong C đều thỏa mãn. Khi đó, ta nói vectơ ràng buộc phạm vi hρ, Ci là thỏa được.
Định nghĩa 2.1.7. (Vectơ ràng buộc phạm vi của mệnh đề)
hρ, Ci là vectơ ràng buộc ràng buộc phạm vi sinh bởi mệnh đề c và xâu w nếu nó thỏa mãn:
• ρ có số chiều Υ(c) và tất cả các biến ràng buộc trongρ đơi một khác nhau • ∀hr1, r2i ∈ρ, ta có:
0 ≤ r1, r1 ≤ r2, r2 ≤ n∈ C
∀x∈T trong c,Υ(c, x) = i, ta có: ρ(i).l+ 1 = ρ(i).r ∈C
∀x, y ∈ (T ∪V) trong c, xy là xâu con biểu diễn bởi một trong các đối số của vị từ nào đó trong c, ta có: ρ(Υ(c, x)).r =ρ(Υ(c, y)).l ∈C
Định nghĩa 2.1.8. (Dẫn xuất ⇒)
Cho văn phạm RCG G = (N, T, V, S, P) và xâu w, mối quan hệ dẫn xuất trong G, kí hiệu ⇒ được xác định như sau:
Γ1A(φ0)Γ2 ⇒Γ1A(φ11)...A(φ1k)Γ2, trong đó:
Γ1,Γ2 là các vị từ phạm vi, A(φ0) →A(φ1
1)...A(φ1
k) là mệnh đề phạm vi sinh bởi c∈ P và w.
Trường hợp Γt 1...Γt
2 thu được từ Γ1A(φ0)Γ2 thông qua một dãy các dẫn xuất
Γ1A(φ0)Γ2 ⇒... ⇒Γt 1...Γt
2, kí hiệu Γ1A(φ0)Γ2 ⇒∗ Γt 1...Γt
2
Định nghĩa 2.1.9. (Ngơn ngữ đốn nhận bởi RCG)
Ngơn ngữ đốn nhận bởi RCG G = (N, T, V, S, P) là tập các xâu L(G) = {w1...wn | S(h0, ni) ⇒∗ ε}, với n là độ dài xâu w.
Ví dụ: Cho văn phạm RCG: G = ({S, A, B},{a, b},{X, Y, Z}, S, P), trong
đó:
P = { S(XY Z) → A(X, Z)B(Y),
A(aX, aY) → A(X, Y),
A(ε, ε) →ε, B(bX) → B(X),
B(ε) → ε }
Khi đó L(G) ={anbkan | k, n ∈N}. Với w =aabaa ta có q trình dẫn xuất S(h0,5i)⇒∗ ε của xâu w được minh họa trong hình 2.9
2.2 Biểu diễn và tính tốn ngữ nghĩa bằng logic
Để có thể sử dụng và khai tác tốt tri thức phục vụ cho nhiều mục đích khác nhau, tri thức cần được biểu diễn dưới dạng thuận tiện cho việc mơ tả và suy diễn. Việc lựa chọn mơ hình cho biểu diễn ngữ nghĩa là vấn đề then chốt. Nội dung của phần này sẽ giới thiệu về ngôn ngữ logic bậc một và cách thức xây dựng biểu diễn ngữ nghĩa bậc một cho các câu trong ngôn ngữ tự nhiên theo các tài liệu [25], [19], [35].
S(X Y Z) →A(X, Z)B(Y)
h0,2ih2,3ih3,5i h0,2ih3,5ih2,3i
aa b aa aa aa b
• S(h0,5i) ⇒ A(h0,2i,h3,5i)B(h2,3i)
B(bX) → B(X) và B(ǫ) → ǫ h2,3ih3,3ih3,3i
b ǫ ǫ
•A(h0,2i,h3,5i)B(h2,3i) ⇒ A(h0,2i,h3,5i)B(h3,3i) ⇒ A(h0,2i,h3,5i)
A(aX, aY) → A(X, Y)
h0,1ih1,2ih3,4ih4,5ih1,2ih4,5i
a a a a a a
•A(h0,2i,h3,5i)⇒ A(h1,2i,h4,5i)
A(aX, aY) → A(X, Y) và A(ǫ, ǫ) →ǫ h1,2ih2,2ih4,5ih5,5ih2,2ih5,5i
a ǫ a ǫ ǫ ǫ
• A(h1,2i,h4,5i) ⇒ A(h2,2i,h5,5i) ⇒ ǫ
Hình 2.9: Quá trình dẫn xuất trong RCG
2.2.1 Logic bậc một
Logic bậc một (logic vị từ bậc một) là một trong những cách thức biểu diễn thông tin khá phổ biến và hiệu quả, trong đó mỗi câu được chuyển tương ứng thành một cơng thức logic tốn học sau q trình phân tích cú pháp - ngữ nghĩa. Việc lựa chọn logic bậc một trong biểu diễn ngữ nghĩa xuất từ hai lí do chính. Thứ nhất, các bộ chứng minh tự động trong logic bậc một đã đạt hiệu năng cao, hữu ích trong các tác vụ suy luận tự động. Thứ hai, logic bậc một là ngơn ngữ biểu diễn tốt, có khả năng diễn đạt phần lớn các hiện tượng cần quan tâm.
Cú pháp của logic bậc một
Muốn xây dựng ngôn ngữ logic bậc một (hay bất kì một ngơn ngữ hình thức nào khác), cần phải hiểu được cú pháp của nó. Cú pháp của logic bậc một là tập các kí hiệu và quy tắc liên kết các kí hiệu để xây dựng cơng thức logic bậc một. Cụ thể, các thành phần của ngơn ngữ logic bậc một gồm:
• Các kí hiệu hằng: Mary, John, 3,... dùng để đặt tên cho các thực thể • Tập hữu hạn các biến x, y, z, w,...
• Các kí hiệu vị từ: Love(Hoa, Nam), Brother(x, y),... thể hiện quan hệ giữa các thực thể. Mỗi vị từ gồm n đối số (n ≥0) được gọi là vị từ n ngi ã Cỏc phộp tn ơ (ph nh), (kộo theo), ∧ (hội), ∨ (tuyển)
• Các lượng từ ∀ (với mọi), ∃ (tồn tại) • Các dấu ( ) để nhóm các kí hiệu
Định nghĩa 2.2.1. (Cơng thức ngun tử)
Nếu R là một kí hiệu vị từ n ngơi, τ1, ..., τn là các hạng tử (hằng hoặc biến) thì R(τ1, ..., τn) là một công thức nguyên tử.
Định nghĩa 2.2.2. (Công thức logic bậc một)
Một công thức logic bậc một đúng ngữ pháp (well-formed formula hay wff) được xây dựng như sau:
• Tất cả các cơng thức ngun tử là wff
• Nếu ϕ vàψ là các wff thì ϕ, (ϕ → ψ), (ϕ∨ψ), (ϕ∧ψ) cũng là các wff • Nếu ϕ là một wff, x là một biến thì ∃xϕ và ∀xϕ là cácwff
Ví dụ: Một số cơng thức logic bậc một biểu diễn các câu tiếng Anh: • “Rice has a president”
∃x(president(x, Rice)) • “a woman walks”
∃x(woman(x)∧walks(x))
2.2.2 Tính tốn ngữ nghĩa bậc một dựa trên tính tốn lambda
Tính tốn lambda (lambda calculus hayλ−caculus) là hệ hình thức được đề xuất bởi Alonzo Church vào những năm 1930, nó được xem như một nền tảng lí thuyết quan trọng của logic tốn học.
Cú pháp của biểu thức lambda
Biểu thức lambda được xây dựng dựa trên các thành phần: • Các biến x, y, z, ...
• Các kí hiệu (tốn tử) λ và dấu ‘.’ • Cặp dấu ( )
Định nghĩa 2.2.3. (Biểu thức lambda)
Tập các biểu thức lambda, kí hiệu Λ được định nghĩa như sau: 1. Nếu x là một biến thì x∈Λ
2. Nếu x là một biến và M ∈Λ thì (λx.M) ∈ Λ.
Biểu thức λx.M cịn được gọi là biểu thức trừu tượng lambda (lambda abstraction)
3. Nếu M, N ∈ Λ thì (M@N) ∈Λ (M@N là được gọi là khai triển lambda) Mở rộng: (Biểu thức lambda và logic bậc một): Trong tính tốn ngữ nghĩa bậc một dựa trên lambda, mỗi công thức logic bậc một cũng được coi là một biểu thức lambda.
Ví dụ: Dưới đây là một số ví dụ về biểu thức lambda: λx.x; λx.y(λx.λz); λx.x(y)
λx.W OMAN(x);λx.λy.LOV E(x, y)
Để đơn giản và tránh nhầm lẫn, các biểu thức lambda có thể được thu gọn sử dụng một số quy ước sau:
• Cặp dấu ngoặc ngồi cùng của biểu thức lambda có thể được lược bỏ: Biểu thức (M@N) có thể viết là M@N
• Các khai triển lambda có tính chất kết hợp trái: Biểu thức M@N@P có thể được thay bởi biểu thức (M@N)@P
• Biểu thức trừu tượng lambda λx.M@N được hiểu là λx.(M@N)
• Một dãy tốn tử lambda có thể được thu gọn: λx.λy.λx.N viết gọn lại là λxyz.N
Định nghĩa 2.2.4. (Biến tự do và ràng buộc)
Tập các biến tự do trong một biểu thức lambda được định nghĩa: • Một biến x bất kì đứng độc lập là tự do
• Tập các biến tự do của λx.t là tập các biến khác x trong t
• Tập các biến tự do trong t@s là tập các biến tự do trong t và trong s • Tập các biến khơng phải là biến tự do được gọi là biến ràng buộc trong biểu
thức lambda
Ví dụ: Biểu thức λx.x không chứa biến tự do, biểu thức (λx.x)y chứa biến y là tự do.
Định nghĩa 2.2.5. (Phép khử β) Phép khử β trên khai triển lambda λx.E@R là q trình thế tất cả các vị trí của biến x trong biểu thức E bởi biểu thức R và loại bỏ kí hiệu λx.
Ví dụ: Thực hiện phép khử β trên khai triển λx.W OMAN(x)@MARRY
thu được kết quả W OMAN(MARRY)
Tính tốn ngữ nghĩa bậc một dựa trên tính tốn lambda
Q trình tính tốn ngữ nghĩa bậc một dựa trên tính tốn lambda được thực hiện theo các bước:
• Xây dựng biểu thức lambda cho mỗi mục từ vựng (mỗi từ trong câu). Trong đó, các biến ràng buộc bởi tốn tử λ được sử dụng để biểu diễn thơng tin khuyết thiếu
• Kết hợp các biểu thức lambda dựa trên cây cú pháp để thu được khai triển lambda cho cả câu
• Sử dụng phép khử β để loại bỏ các biến ràng buộc trong khai triển lambda tại bước trước, cho kết quả là cơng thức logic bậc một biểu diễn ngữ nghĩa của câu
Ví dụ: Xây dựng biểu diễn ngữ nghĩa bậc một cho câu “A woman walks”. Biểu thức lambda biểu diễn cho các từ trong câu được xây dựng như sau: • Định từ “a”: λP.λQ.∃x(P@x∧Q@x)
• Danh từ “woman”: λyW OMAN(y)
Q trình kết hợp các biểu thức lambda dựa trên cây cú pháp cho ta khai triển lambda của câu:(λP.λQ.∃x(P@x∧Q@x)@λy.W OMAN(y))@λz.W ALK(z)(hình 2.10)
a woman walks
(λP.λQ.∃x(P@x∧Q@x)@λy.W OM AN(y))@λz.W ALK(z)
a woman (NP) λP.λQ.∃x(P@x∧Q@x)@λy.W OM AN(y) a (Det) λP.λQ.∃x(P@x∧Q@x) woman (N) λy.W OM AN(y) walks (VP) λz.W ALK(z)
Hình 2.10: Biểu thức lambda của câu “a woman walks”Thực hiện các phép khử β: Thực hiện các phép khử β:
• Thế P bởi λy.W OMAN(y)) và loại bỏ λP, thu được kết quả: λQ.∃x(λy.W OMAN(y)@x∧Q@x)@λz.W ALK(z)
• Thế Q bởi λz.W ALK(z) và loại bỏ λQ:
∃x(λy.W OMAN(y)@x∧λz.W ALK(z)@x)
• Khử λy và λz thu được công thức logic bậc một: ∃x(W OMAN(x)∧W ALK(x))
2.2.3 Tính tốn ngữ nghĩa bậc một dựa trên hợp nhất
Cách tiếp cận dựa trên hợp nhất là một trong những phương pháp phổ biến nhất để tính tốn ngữ nghĩa ngơn ngữ tự nhiên. Trong đó, ngữ nghĩa của câu được xây dựng dựa trên phép hợp nhất các cấu trúc đặc trưng. Mỗi kí hiệu trong quy tắc văn phạm được biểu diễn như một cấu trúc đặc trưng chứa các thuộc tính, giá trị của mỗi thuộc tính là các thơng tin ngữ nghĩa cần xác định, được biểu diễn bởi các chỉ mục. Những chỉ mục giống nhau trong một quy tắc văn phạm thể hiện tính chia sẻ giá trị của đặc trưng. Áp dụng các quy tắc văn phạm, cây cú pháp từng bước được xây dựng, cùng với đó, các đặc trưng sẽ được hợp nhất tại mỗi bước, ngữ nghĩa của câu dần được xác định.