47
Như [11] đã trình bày, quá trình xây dựng ngữ nghĩa được mô tả trong phần trước cho dữ liệu mà là phương pháp dựa trên cây dẫn xuất là không thực hiện được. Tuy nhiên, phương pháp tiếp cận này được mở với hai vấn đề tiềm năng: Thứ nhất, như đề cập trong [16], xây dựng ngữ nghĩa bao gồm cây cơ sở và cây dẫn xuất bao hàm số vô hạn của các nhãn và các biến riêng bởi vậy trái ngược với FTAG chuẩn, hình thức về mặt lý thuyết không còn tương đương với TAG. Trong thực tế tất nhiên, câu thực sự có độ dài hữu hạn và vì vậy một ràng buộc trên có thể được xác định để làm cho các tập các giá trị đặc trưng hữu hạn. Tuy nhiên, khó khăn khác là các thông tin ngữ nghĩa gán cho cây có thể làm giảm số lượng chia sẻ trong một cách tiếp cận bảng phân tích cú pháp và do đó làm giảm hiệu quả phân tích cú pháp.
Hình 2.2. Các cây cơ sở TAG bao gồm ngữ nghĩa
Để tìm hiểu xem liệu vấn đề thứ hai này có là một vấn đề thực sự, do đó, chúng tôi nghiên cứu một cách thứ hai để thực hiện xây dựng ngữ nghĩa về bản chất các thông tin ngữ nghĩa được trích xuất từ các TAG và sử dụng sau khi phân tích cú pháp để xây dựng lại trên cơ sở của cây dẫn xuất của biểu diễn ngữ nghĩa của câu được xem xét. Cách thứ hai này thực hiện xây dựng ngữ nghĩa lần đầu tiên được trình bày trong [16]. Chúng tôi giới thiệu ở đây làm thế nào có thể được thực hiện trên cơ sở của một phân tích cú pháp TAG chuẩn và ngữ nghĩa của các
48
Hình 2.3. Cây dẫn xuất TAG bao gồm ngữ nghĩa
TAG tạo ra bởi các XMG (xem phần 2.2). Chúng tôi bắt đầu bằng cách đưa ra một ví dụ đơn giản minh họa hoạt động của các phương pháp này. Sau đó chúng tôi chỉ ra thứ nhất, làm thế nào các yêu cầu từ vựng ngữ nghĩa có thể được tự động trích xuất từ các TAG ngữ nghĩa được mô tả trong phần 2.2 và thứ hai, quá trình xây dựng ngữ nghĩa như thế nào.
2.5.1 Ví dụ đơn giản
Một cây dẫn xuất TAG ghi lại làm thế nào các cây cơ sở sử dụng để xây dựng một cây dẫn xuất được đặt cùng nhau sử dụng hai phép toán kết hợp cho phép bởi TAG là, phép nối và phép thế. Về hình thức, các nút của cây như vậy được gán nhãn với tên cây và cạnh của nó với cặp (Op,Id) trong đó Op biểu thị phép toán kết hợp các đỉnh của cạnh nhãn các cây và Id định danh nút tại đấy phép toán này được thực hiện.
Bây giờ, giả sử rằng phân tích cú pháp câu Jean court (Jean chạy) mang lại cây dẫn xuất như trong Hình 2.4.
n0V_court
properN_jean
49
Hình 2.4. Cây dẫn xuất cho câu Jean court (Jean chạy)
Và giả sử rằng từ vựng ngữ nghĩa được trích xuất từ ngữ nghĩa TAG cho Jean và court như sau:
TreeName n0V Lemma court
SemRepr !e:court(e,X) ANodes 2.bot = [idx=e] Snodes1.top = [idx=X] Root0.bot = [idx=e] TreeName properN Lemma Jean SemRepr jean(j) ANodes SNodes Root0.bot = [idx=j]
Đó là, thông tin ngữ nghĩa được trích xuất từ mỗi cây cơ sở và được lưu trữ trong từ vựng ngữ nghĩa bao gồm tên của cây đó, một bản ghi từ neo của cây đó, biểu diễn ngữ nghĩa kết hợp với cây đó và một bản ghi thông tin ngữ nghĩa kết hợp với các nút (các nút thế, các nút mà phép nối có thể thực hiện, các nút gốc và các nút chân) của cây đó.
Xây dựng ngữ nghĩa sau đó được thực hiện bằng cách đi qua cây dẫn xuất, tổng hợp ngữ nghĩa từ vựng kết hợp với mỗi cây hiện tại trong cây dẫn xuất và thực hiện phép hợp nhất áp dụng bởi một cây dẫn xuất TAG (xem hình 2). Trong trường hợp này, tổng hợp ngữ nghĩa từ vựng kết hợp với hai cây xảy ra trong cây dẫn xuất cho kết quả.
{!e:court(e,X), jean(j)}
Hai bước phép hợp nhất thêm vào đó có liên quan. Bước thứ nhất như sau từ phép thế của properN_ jean tại nút 1 của n0V_courtmà đáp ứng phép hợp nhất của cấu trúc đặc trưng của nút gốc properN_ jean với những nút 1 trong n0V_court
1.top = 0.top = [idx=X] 1.bot = 0.bot = [idx=j]
50
Bước thứ hai phép hợp nhất như sau, từ yêu cầu mà tại đó kết thúc sự dẫn xuất TAG các cấu trúc đặc trưng đỉnh và đáy của tất cả các nút trong cây dẫn xuất được hợp nhất. Yêu cầu này đáp ứng đặc biệt phép hợp nhất như sau:
1.top = 1.bot 0.top = 0.bot
Kết quả là [idx=X] hợp nhất với [idx=j] và ngữ nghĩa tổng thể của câu
Jean court trở thành:
{!e:court(e,j), jean(j)}
2.5.2 Trích xuất nghĩa từ vựng từ ngữ nghĩa TAG
Như ví dụ minh họa ở trên, các thông tin cần thiết để thực hiện xây dựng ngữ nghĩa trên cơ sở rừng dẫn xuất bao gồm: tên cây, bổ đề (lemma), biểu diễn ngữ nghĩa và bốn tập phương trình đường dẫn liên quan các nút cây dẫn xuất với các thông tin ngữ nghĩa gán cho các nút này. Một tập các phương trình liên quan đến các nút thay thế, tập khác đến các nút mà ở đó phép nối có thể xảy ra, tập thứ ba đến nút gốc và tập thứ tư đến nút chân nếu có.
Đó là, đối với mỗi cây cơ sở hiện tại trong văn phạm, một mục được thêm vào từ vựng ngữ nghĩa mà có chứa những thông tin ở trên. Lưu ý thêm rằng các TAG được sử dụng để phân tích cú pháp không cần phải bao gồm thông tin ngữ nghĩa bất kỳ : tất cả quá trình ngữ nghĩa được thực hiện sau phân tích cú pháp đã diễn ra và chỉ phụ thuộc vào thông tin chứa trong một (cú pháp thuần túy) rừng dẫn xuất và từ vựng ngữ nghĩa.
Để tự động trích xuất nghĩa từ vựng cần thiết từ các TAG ngữ nghĩa G được mô tả trong phần 2.2, chúng ta tiến hành như sau:
1. Đối với mỗi cây T trong G, tất cả các nút của T được đánh số với các địa chỉ Gorn của chúng để các nút trên các kết quả văn phạm GG sau đó được dán nhãn cả hai với chỉ số ngữ nghĩa và với một địa chỉ Gorn
51
2. Đối với mỗi cây T trong GG
(a) tạo ra một cây ST bằng cách xóa trên tất cả các nút của T các thông tin ngữ nghĩa (nếu có) ghi nhãn nút đó. Gọi kết quả văn phạm cú pháp thuần túy SG
(b) tạo ra một mục trong từ vựng ngữ nghĩa, trong đó có: tên cây, biểu diễn ngữ nghĩa liên quan của các siêu văn phạm với cây này, các địa chỉ Gorn và các thông tin ngữ nghĩa gán nhãn cho các nút cây.
2.5.3 Biểu diễn ngữ nghĩa
Như [17] đã đưa ra, biểu diễn tính toán ngữ nghĩa từ một tập phân tích cú pháp là một cách tự nhiên để đối phó với sự bùng nổ tổ hợp có thể dẫn đến từ liệt kê tất cả các cách đọc của một câu nhất định: bằng cách thực hiện xây dựng ngữ nghĩa trên cơ sở tập phân tích cú pháp hơn là các cây dẫn xuất, những chia sẻ thành phần cú pháp mà có một cách đọc đơn giản cũng có thể được chia sẻ trong quá trình xây dựng ngữ nghĩa. Khi kết hợp với sử dụng dưới việc xác định ngôn ngữ biểu diễn ngữ nghĩa, phương pháp tiếp cận như vậy cho phép một số lượng lớn cấu trúc chia sẻ do đó làm tăng hiệu quả.
Bây giờ chúng tôi trình bày làm thế nào để từ vựng ngữ nghĩa mà như trình bày trong phần 2.5.2 có thể tự động trích xuất từ ngữ nghĩa TAG được mô tả trong phần 2.2, có thể được sử dụng trong phép hội cùng với một rừng dẫn xuất để xây dựng biểu diễn ngữ nghĩa.
Một rừng dẫn xuất là một biểu diện nhỏ gọn của cây dẫn xuất phát sinh từ một phân tích cú pháp câu. Nó có thể được biểu diễn bởi một trong hai đồ thị and/or hoặc bởi một văn phạm phi ngữ cảnh và dạng chính xác của nó có thể thay đổi tùy thuộc vào mức độ chia sẻ cần thiết [18]. Ở đây chúng ta giả định một định dạng CFG mà quy tắc có dạng:
DTNodeId :: ElTreeId ← (DTNode/Op.Node) + ElTreeId :: Lemma.TreeName
52
với DTNodeId, DTNode các nút định danh trong cây dẫn xuất, ElTreeId
định danh cây cơ sở gán nhãn nút cây dẫn xuất, Op hoặc là s cho phép thế hoặc cho phép nối và Node xác định nút trong cây cơ sở mà Op diễn ra.
Để thực hiện xây dựng ngữ nghĩa, đơn giản chúng ta duyệt qua rừng dẫn xuất từ trên-xuống dưới, lập bảng các thành phần tìm thấy và kiểm tra trước khi xây dựng một mục mà nó chưa có trong bảng được xây dựng cho đến nay. Đối với một cây dẫn xuất trong tập phân tích cú pháp, xây dựng ngữ nghĩa được thực hiện bằng cách sự giảm đệ qui trên cây như sau:
Để xây dựng ngữ nghĩa sem của cây dẫn xuất với gốc DTNodeId cho qui tắc tập phân tích cú pháp. DTNodeId :: ElTreeId ← Dtrs do
Lemma.TreeName ← terminal(DTNodeId)
HeadSem ← lexSem(Lemma.TreeName) SemDtrs ← dtrsSem(HeadSem,Dtrs)
Sem ← HeadSem + SemDtrs
Trong đó terminal là một thủ tục ánh xạ mà mỗi nút cây dẫn xuất cho nút kết thúc nó trực tiếp hoặc gián tiếp viết lại như trong tập phân tích; lexSem là một chức năng lấy từ vựng ngữ nghĩa được mô tả trong phần trước, ngữ nghĩa từ vựng liên quan đến một cặp (lemma, TreeName) nhất định; dtrs-Sem là một thủ tục (được mô tả dưới đây) xây dựng biểu diễn ngữ nghĩa của lớp con một quy tắc nhất định ngữ nghĩa đầu của lhs của nó; và + biểu thị phép toán tích lũy biểu diễn ngữ nghĩa được xây dựng. các thủ tục dtrsSem được xác định như sau.
Để xây dựng ngữ biểu diễn ngữ nghĩa Sem của lớp con DTNodeId /Op.NodeId| Odtrs một qui tắc cho ngữ nghĩa đầu HeadSem lhs của nó, thực hiện
Lemma.TreeName ← terminal(DTNodeId) HeadSemD1 ← lexSem(Lemma.TreeName)
53
tagUnify(HeadSem,HeadSemD1)
semODtrs ← dtrsSem(HeadSem,ODtrs) Sem ← HeadSemD1 + semODtrs
Trong đó tagUnify thực hiện phép toán hợp nhất áp dụng trên dẫn xuất TAG (xem hình 2.2) trên các nhãn nút được cung cấp bởi từ vựng ngữ nghĩa được mô tả phần trước.
Tổng kết
Tóm lại, trong chương này, chúng ta đã nghiên cứu xây dựng ngữ nghĩa theo hai phương pháp đó là xây dựng ngữ nghĩa trong quá trình dẫn xuất và xây dựng ngữ nghĩa sau quá trình dẫn xuất sử dụng văn phạm TAG đối với tiếng Pháp. Trong chương tiếp theo chúng ta sẽ nghiên cứu xây dựng ngữ nghĩa vào văn phạm TAG ứng dụng cho tiếng Việt.
54
Chƣơng 3-XÂY DỰNG VĂN PHẠM TAG CÓ TÍCH HỢP NGỮ NGHĨA CHO TIẾNG VIỆT
Để xây dựng hệ thống phân tích cú pháp và tính toán ngữ nghĩa tiếng Việt, như trên đã nói, chúng tôi sửdụng bộ công cụ XMG và TuLiPA. Công cụ XMG cho phép biên dịch một văn phạm LTAG có ngữ nghĩa từmô tả siêu văn phạm. Công cụ TuLiPA sử dụng tài nguyên là văn phạm LTAG có ngữ nghĩa thu được ở bướctrước và thực hiện hai tác vụ phân tích cú pháp và tính toán ngữ nghĩa cho một câu đầu vào.