Trong phần này luận văn sẽ trình bày cách làm việc với siêu văn phạm đã được đề cập trong [2] cho phép đặc tả khai thác thành phần dùng chung của ánh xạ giữa cú pháp và ngữ nghĩa đã được trình bày trong các phần trước. Chúng ta bắt đầu trình bày về siêu văn phạm mở rộng được sử dụng. Sau đó chúng ta sẽ trình bày cách xác định giao diện cú pháp/ ngữ nghĩa.
2.3.1 Siêu văn phạm mở rộng
Siêu văn phạm mở rộng đã được trình bày trong [12] có thể được xem như một cách khái quát hóa của Shieber [13] mà TAG không đủ để mã hóa (theo một cách khác). Mục tiêu của ngôn ngữ như vậy là để cung cấp một hình thức mà cho phép nhà ngôn ngữ diễn tả kiến thức về ngữ pháp của mình một cách trực tiếp và tiện lơi: ngôn ngữ phải được diễn tả; nó cũng cho phép khai thác thành phần chung của sự dưa thừa thông tin.
Trong khuôn khổ luận văn không thể trình bày đầy đủ về siêu văn phạm mở rộng này, luận văn chỉ trình bày những kiến cần thiết, chi tiết tham khảo trong tài liệu [7,13,14].
Siêu văn phạm mở rộng (eXtensible MetaGrammar- XMG) được sử dụng hỗ trợ cả phân tích cú pháp và thông tin ngữ nghĩa. Để phân biệt các mức mô tả các loại thông tin khác nhau trên cùng một cây phân tích cú pháp, trong XMG có ba chiều:
<syn> Chiều phân tích cú pháp (Syntactic dimension): mô tả các cây
39
nghĩa phẳng)
<dyn>Chiều động (Dynamic dimension): được tính toán trước đó gọi là giao diện.
Trong chiều phân tích cú pháp, các mảnh cây có thể được mô tả để kết hợp với các mảnh cây khác để tạo ra cây đầy đủ. Những mảnh cây này có thể được gọi là các lớp. Tương tự như vậy, trong chiều ngữ nghĩa một phần công thức ngữ nghĩa phẳng có thể được định nghĩa và được gọi đến các lớp như vậy cũng cho phép khai thác thành phần thông tin chung ngữ nghĩa.
Phân tích cú pháp và các lớp ngữ nghĩa có thể được kết hợp sử dụng một trong ba phép toán là, phép hội (conjunction), phép tuyển (disjunction) và thừa kế (inheritance). Phép toán thừa kế được sử dụng để chuyên môn hóa một lớp bằng cách bổ sung thêm vào phần thông tin cho lớp cha. Cú pháp cụ thể của phép hội, phép tuyển và thừa kế lần lượt là ;, | và import.
Cuối cùng, các biến có thể được chia sẻ giữa các lớp theo hai trường hợp. Trong trường hợp thứ nhất, các biến chia sẻ thuộc về lớp liên kết bằng quan hệ thừa kế và pham vi của những biến này có thể được quản lý một cách rõ ràng bằng cách sử dụng khai báo import và export. Trong trường hợp thứ hai, các biến chia sẻ thuộc khối thừa kế khác nhau và chia sẻ có thể được thực hiện bởi một cơ chế đặt tên gọi là giao diện cho phép đặt tên toàn cục của một giá trị nhất định. Ví dụ, trong lớp Subj dưới đây, nút X được đặt tên sujNode trong giao diện * = [SujNode = X].
class Subj declare ?X
{ <syn> { node [cat=s] node X [cat=n] } *= [sujNode=X]
40
}
Phạm vi của đặc trưng giao diện là toàn cục cho nhánh cha của nó trong phân cấp. Trong phần sau sẽ trình bày, giá trị của đặc trưng giao diện có thể được chia sẻ bởi lớp bất kỳ khác bằng việc dùng biến chia sẻ rõ ràng.
2.3.2 Xác định giao diện cú pháp/ ngữ nghĩa
Vấn đề chính khi phát triển TAG ngữ nghĩa qui mô lớn là cần đặc tả chính xác ánh xạ giữa cú pháp và ngữ nghĩa (mục 2.1.3). Trong [11], chúng ta xác định ánh xạ cho xây dựng một loạt cú pháp cùng ngữ nghĩa mà được biết là vấn đề khó đối với TAG. Tuy nhiên ở đây, chúng ta quan tâm đến vấn đề làm thế nào để thiết kế được TAG ngữ nghĩa qui mô lớn hiệu quả và tiện lợi.Trong khía cạnh này, động từ hoặc tổng quát hơn, hàm ngữ nghĩa được quan tâm đặc biệt vì chúng đại diện cho phần lớn các biến có thể. Do vậy chúng tôi tập trung vào động từ và đưa ra cách xác định giao diện cú pháp/ ngữ nghĩa cho khung phân loại cơ bản thay đổi (ngoại động từ, nội động từ, …) sự thực hiện đối số có thể thay đổi (cliticisation, sự trích chọn, sự bỏ qua) sự phân phối lại đối số (chủ động, bị động, dạng trung gian, bị động không ngôi, …) Do hạn chế về không gian một số loại khác của xây dựng cú pháp ngữ nghĩa, mặc dù chúng có thể được xử lý bằng việc sử dụng hình thức văn phạm, sẽ không được thảo luận ở đây.
Như đã minh họa trong phần 2.1.3, đặc tả giao điện cú pháp/ ngữ nghĩa bao gồm định nghĩa thích hợp ánh xạ giữa chức năng ngữ pháp (chủ ngữ, bổ ngữ,...) và các vai nghĩa (ví dụ, vai tác thể (agent), vai bị thể (Patient) hoặc trung lập arg1, arg2). Ví dụ, trong một câu chủ động với hai đối số danh từ, chủ ngữ NP được ánh xạ vào đối số (arg1) ngữ nghĩa thứ nhất và bổ ngữ cho đối số thứ 2 (arg2) trong khi với câu bị động, xảy ra sự đảo ngược, chủ ngữ NP ánh xạ đến
arg2 và bổ ngữ arg1.
Trong TAG, một từ được kết hợp với tập các cây phản ánh phạm vi hình dạng cú pháp từ này có thể xảy ra. Đối với một động từ (và tổng quát hơn, cho bất kỳ loại hàm cú pháp nào), tập này có thể tương đối lớn. Ví dụ, trong văn phạm
41
cho tiếng Pháp được phát triển bởi B. Crabbé [9], ngoại động từ với đối số danh nghĩa được kết hợp với 153 cây mô tả môi trường cú pháp riêng biệt có thể cho mỗi một loại động từ như vậy. Tổng quát hơn, văn phạm chính của Crabbé cho tiếng Pháp khoảng 3.500 cây cho mảnh động từ đó bao phủ 35 khung phân loại con cơ bản.
Chính xác hơn, đặc tả giao diện cú pháp/ ngữ nghĩa cần khai thác phần thông tin chung. Chúng tôi không muốn xác định và duy trì nó cho mỗi 3.500 cây. Để mở rộng văn phạm Crabbé với giao diện cú pháp/ ngữ nghĩa đã được phác họa trong phần trước, chúng tôi tiến hành như sau:
1. Trong khi các chỉ số ngữ nghĩa gán cho các nút cây là tất cả các giá trị của một đặc trưng idx, chúng cũng được gán nhãn một tên toàn cục phản ánh chức năng ngữ pháp được thực hiện bởi nút mà chúng gán. Ví dụ, chỉ số x trong nút chủ ngữ (subject) của cây chủ động cho từ loves trong hình 3 sẽ được gán nhãn với tên toàn cục là subjectI.
2. Tương tự, chỉ số ngữ nghĩa xảy ra trong biểu diễn ngữ nghĩa được gán một tên toàn cục phản ánh vai nghĩa của chúng. Ví dụ, đối số ngữ nghĩa đầu tiên của một quan hệ nhị phân có tên là arg1.
3. Cuối cùng, ánh xạ giữa chức năng ngữ pháp và vai nghĩa được qui định bằng cùng chỉ số giá trị của chỉ số ngữ pháp và vai nghĩa. Ví dụ, trong cây thuộc câu chủ động, giá trị của subjectI sẽ có cùng chỉ số với arg1.
Bây giờ chúng ta sẽ thực hiện công việc này môt cách chi tiết hơn. Chúng ta bắt đầu bằng cách làm thế nào thông tin cú pháp được thành phần thông tin chung trong văn phạm Crabbé. Sau đó chúng ta chỉ ra cách thực hiện mở rộng giáo diện cú pháp ngữ nghĩa được mô tả trong phần trước.
Cú pháp trong siêu văn phạm của Crabbé [14,15], thông tin cú pháp kết hợp với cây cơ sở TAG được thành phần thông tin chung theo ba chiều sau đây.
42
dựng các thuộc tính của chúng. Ví dụ, lớp Subject được định nghĩa bằng phép tuyển:
class Subject{
CanonicalSubject | RelativeSubject | whSubject | ... }
trong đó mỗi một lớp con (canonicalSubject,...) được kết hợp với mô tả cấu trúc thích hợp.
Tiếp theo, sự thay đổi được định nghĩa về chức năng ngữ pháp và hình thái động từ. Ví dụ, sự thay đổi câu chủ động và bị động cho các ngoại động từ được định nghĩa bằng phép hội của các lớp như sau:
class n0Vn1Active{
Subject ; Object ; activeVerbMorphology }
class n0Vn1Passive{
Subject ; CAgent; passiveVerbMorphology }
Trong đó passiveVerbMorphology, activeVerbMorphology, Object và
S N V N N* S N[wh=rel] V CanonicalSubject RelativeSubject
43
CAgent được trừu tượng hóa trên các đối tượng cấu trúc TAG kết hợp với những khái niệm về ngôn ngữ học.
Cuối cùng, tập các cây cơ sở kết học với khung phân loại (ví dụ, n0Vn1) được định nghĩa bằng phép tuyển của sự thay đổi đó như sau:
class n0Vn1{
noVn1Active | noVn1Passive | n0Vn1dePassive |n0Vn1ShortPassive |
n0Vn1ImpersonalPassive | n0Vn1middle }
Thêm ràng buộc cho siêu văn phạm với thông tin ngữ nghĩa. Như đã đề cập ở trên, thêm ràng buộc cho siêu văn phạm với thông tin ngữ nghĩa bao gồm ba bước sau:
Thứ nhất, nhãn các chỉ số ngữ nghĩa các nút cây được đặt tên theo chức năng ngữ pháp của chúng. Ví dụ, nhãn chỉ số nút chủ ngữ của cây chủ động cho một ngoại động từ sẽ được đặt tên là subjectI. Như minh họa bên dưới, điều này được thực hiện bằng cách sử dụng một giao diện ràng buộc: đối với mỗi một quan hệ có thể có của một chủ ngữ, giá trị của nhãn chỉ số ngữ nghĩa nút chủ ngữ được đặt tên subjectI bởi ràng buộc giao diện. Trong thực tế, tên được thực hiện cho tổng số 12 chức năng ngữ pháp (Subject, Object, SententialSubject,SententialCObject, SententialDeObject, SententialAObject, SententialInterrogative, Iobject, CAgent, Oblique, Locative, Genitive) và 56 quan hệ.
44
Thứ hai, các chỉ số ngữ nghĩa xuất hiện trong biểu diễn ngữ nghĩa được đặt tên theo vai nghĩa của chúng. Ví dụ, đối số ngữ nghĩa đầu tiên của một quan hệ nhị phân có tên là arg1. Tên này được thực thi lại bởi giao diện ràng buộc tạo ra giá trị truy cập toàn cục dưới tên đó.
class binaryRel
declare !L0 ?Rel ?E ?I1 !L1 ?I2 !L2 {
<sem>{
L0:Rel(E) ; L1:arg1(E,I1) ; L2:arg2(E,I2) }
*=[rel=Rel,evt=E,arg1=I1,arg2=I2] }
Thứ ba, ánh xạ giữa chức năng ngữ pháp và các vai nghĩa được xác định bởi cùng chỉ số các giá trị thích hợp.
Ví dụ, xem xét lớp noVn1, mô tả tập hình dạng ngữ nghĩa- cú pháp kết
S N V N N* S N[wh=rel] V CanonicalSubject RelativeSubject [idx=I] [idx=I] Tên lớp Mô tả cấu trúc SubjectI = I SubjectI = I
45
hợp với một TAG (cho tiếng Pháp) với các động từ lấy hai đối số như danh từ Tập này bao phủ hình dạng có thể cho dạng câu chủ động, dạng câu bị động dài, câu bị động “de”, câu bị động ngắn, câu bị động không ngôi và các dạng trung. Đối với mỗi dạng này, có một số hình dạng có thể tùy thuộc vào cách các đối số được thực hiện (tức là, subject/object/agent/.... là canonical, cliticised, extracted, ....) bởi vậy mà trong tổng số lớp n0Vn1 bao gồm 153 cây. Ánh xạ giữa cú pháp và ngữ nghĩa cho 153 cây đó được thực hiện trong siêu văn phạm bởi nhãn được mô tả ở trên và định nghĩa các lớp như sau:
class n0Vn1{ binaryRel*=[evt=E,arg1=X,arg2=Y] ; { n0Vn1Active*=[subjectI=X,objectI=Y,vbI=E] | n0Vn1Passive*=[subjectI=Y,cagentI=X,vbI=E] | n0Vn1dePassive*=[subjectI=Y,genitiveI=X,vbI=E] | n0Vn1ShortPassive*=[subjectI=Y,vbI=E] | n0Vn1ImpersonalPassive*=[objectI=X,vbI=E] | n0Vn1middle*=[objectI=Y,vbI=E] } } Đó là, tập các hình dạng cú pháp-ngữ nghĩa kết hợp với các động từ
n0Vn1 được định nghĩa bao gồm (I) một quan hệ ngữ nghĩa nhị phân, (ii) các cây thực hiện các dạng động từ có thể khác nhau và sự thực hiện các chức năng ngữ pháp và (iii) một ánh xạ giữa các tham số ngữ nghĩa của các quan hệ nhị phân và nhãn chỉ số ngữ nghĩa các nút của cây. Thông thường, tham số ngữ nghĩa đầu tiên được định danh với chỉ số ngữ nghĩa chủ nghữ trong dạng chủ động và tân ngữ trong dạng bị động. Nếu động từ là dạng bị động không ngôi, tham số thứ nhất
46
này được định danh với chỉ số ngữ nghĩa của tân ngữ, …
Tóm lại, hình thức XMG cho phép mã hóa trực tiếp các khái niệm ngôn ngữ cần thiết để xác định giao diện cú pháp/ngữ nghĩa: Tên của nhãn các chỉ số ngữ nghĩa các nút cây thực hiện cho một chức năng ngữ pháp, tên của các tham số ngữ nghĩa theo vai nghĩa của chúng và chúng có cùng chỉ số với nhau. Biểu hiện này lần lượt cho phép một cách rõ ràng và mã hóa tiện lợi: Thừa số hóa cao trong đó các khái niệm có liên quan chỉ cần thiết được mã hóa một lần nhưng được sử dụng bởi nhiều lớp riêng biệt. Ví dụ, nhãn của chỉ số subject được thực hiện một lần nhưng được sử dụng bởi tất cả 35 lớp động từ được định nghĩa trong TAG cho tiếng Pháp (Vì tất cả các lớp động từ được tạo sử dụng lớp subject cho định nghĩa của chúng).