XÂY DỰNG SƠ ĐỒ MÃ HÓA VÀ CÔNG CỤ TRỢ GIÚP GÁN NHÃN CÚ PHÁP<br />
TIẾNG VIỆT<br />
<br />
Phan Thị Hà1, Nguyễn Thị Minh Huyền2,<br />
<br />
Lê Hồng Phương2, Lưu Văn Tăng2<br />
1<br />
Học viện Công nghệ Bưu chính Viễn Thông Hà Nội<br />
2<br />
Đại học Khoa học Tự nhiên Hà Nội<br />
<br />
Tóm tắt: Báo cáo này trình bày một hướng tiếp cận xây dựng mô hình chú giải cú pháp<br />
cho tiếng Việt tương thích mô hình chú giải cú pháp chuẩn quốc tế SynAF có tên<br />
vnSynAF. Mô hình vnSynAF là một lược đồ mã hóa dựa trên định dạng XML (eXtended<br />
Markup Language) có thể sử dụng trong việc định dạng và mã hoá treebank cho tiếng<br />
Việt. Báo cáo cũng giới thiệu một công cụ đồ hoạ trợ giúp gán nhãn cây cú pháp và<br />
phát triển treebank tiếng Việt.<br />
<br />
1. Giới thiệu<br />
Kho văn bản mà trong đó mỗi câu được chú giải cấu trúc cú pháp và được biểu<br />
diễn dưới dạng cấu trúc cây phân cấp là nguồn tài nguyên rất hữu ích trong lĩnh vực xử<br />
lý ngôn ngữ (XLNN) tự nhiên. Kho văn bản này được gọi là treebank. Treebank có<br />
nhiều ứng dụng quan trọng như đánh giá, kiểm định các công cụ xử lí ngôn ngữ tự<br />
động, các phần mềm dịch máy, tóm tắt văn bản, các hệ thống hỏi đáp… Các hệ thống<br />
treebank cho các thứ tiếng được nghiên cứu nhiều như Anh, Pháp, Hoa… đã được xây<br />
dựng từ lâu, đối với tiếng Việt, việc xây dựng treebank đang là công việc mới bắt đầu.<br />
Trong lĩnh vực XLNN tự nhiên, nguồn tài nguyên ngôn ngữ đóng vai trò rất<br />
quan trọng trong việc nghiên cứu và phát triển các phương pháp và công cụ tự động.<br />
Việc chuẩn hoá vấn đề mã hoá tài nguyên ngôn ngữ nói chung và mã hoá treebank nói<br />
riêng nhằm mở rộng đến mức tối đa phạm vi sử dụng và khai thác tài nguyên là vấn đề<br />
rất quan trọng. Gần đây một số dự án xây dựng kho ngữ liệu trên thế giới đưa vấn đề<br />
chuẩn hóa lên hàng đầu. Đặc biệt là dự án European eContent LIRICS đã và đang xử lý<br />
quá trình chuẩn hóa quốc tế về chú giải tài nguyên cú pháp - SynAF (Syntactic<br />
Annotation Framework). Mô hình SynAF được thiết kế dựa vào cả hai cấu trúc phụ<br />
thuộc và cấu trúc thành phần, bên cạnh đó thì danh mục dữ liệu (danh sách bộ nhãn gán<br />
cho các nút, các cung) trên sơ đồ cũng được xây dựng theo một chuẩn để dễ dàng sử<br />
dụng, có thể ánh xạ, tham chiếu sang bộ danh mục của các nước khác nhau một cách<br />
dể dàng.<br />
Có hai cách thường được sử dụng để mã hóa cây cú pháp. Cách thứ nhất đơn<br />
giản, sử dụng cấu trúc dấu ngoặc. Theo cách này mỗi thành phần cú pháp sẽ có một cặp<br />
dấu ngoặc bao quanh. Ngay sau dấu ngoặc đầu tiên là ký hiệu ngữ pháp và các thuộc<br />
tính (nếu có), tiếp theo là danh sách các thành phần cú pháp con. Cách thứ hai là sử<br />
dụng lược đồ mã hóa XML (eXtended Markup Language). Cách này đã được nghiên<br />
cứu kỹ lưỡng và được áp dụng vào một số dự án về xử lý ngôn ngữ của Châu Âu [4].<br />
Vấn đề xây dựng kho ngữ liệu chuẩn cho tiếng Việt đang là vần đề cấp thiết,<br />
đây là một trong các mục tiêu chính của đề tài Nhà nước về xử lí ngôn ngữ và tiếng nói<br />
tiếng Việt giai đoạn 2007-2009. Việc xây dựng công cụ hỗ trợ cho việc mã hóa XML<br />
theo chuẩn hóa quốc tế cũng là một nhiềm vụ cần thiết trong việc xây dựng treebank<br />
cho tiếng Việt (VNTreebank). Trong báo cáo này chúng tôi giới thiệu về xây dựng sơ<br />
đồ mã hóa và bộ công cụ đồ họa hỗ trợ cho các nhà xây dựng VNTreebank trong việc<br />
mã hóa tự động các cây cú pháp theo một hệ mã XML tương thích với chuẩn SynAF<br />
của tổ chức ISO.<br />
<br />
2. Mô hình SynAF<br />
2.1. Một số mô hình mã hoá cấu trúc cú pháp<br />
Để mã hoá cấu trúc cú pháp của một câu trong ngôn ngữ, UPenn Treebank sử dụng<br />
lược đồ mã hoá ngoặc đơn để phân cấp cấu trúc của câu, cùng với chú giải ngữ pháp và<br />
thuộc tính cần sử dụng. Ví dụ, câu "Pierre Vinken, 61 years old, will join the board as<br />
the board as a nonexecutive director Nov. 29" được mã như sau:<br />
<br />
( (S (NP-SBJ (NP Pierre Vinken)<br />
,<br />
(ADJP (NP 61 years)<br />
old)<br />
,)<br />
(VP will<br />
(VP join<br />
(NP the board)<br />
(PP-CLR as<br />
(NP a nonexecutive director))<br />
(NP-TMP Nov. 29)))<br />
.))<br />
<br />
Cấu trúc đồ hoạ của câu được cho trong Hình 1.<br />
<br />
<br />
<br />
<br />
Hình 1. Cấu trúc cú pháp của một câu trong UPenn Treebank<br />
<br />
Prague Dependency Treebank chú giải cú pháp dựa trên mô hình hai lớp: lớp cấu trúc<br />
thành phần và lớp cấu trúc phụ thuộc. Prague Dependency Treebank sử dụng lược đồ<br />
mã hoá PML (The Pargue Markup Language) - một định dạng mã hoá dữ liệu mở dựa<br />
trên XML [9]. Các cấu trúc cây phụ thuộc và cây thành phần được mã bằng hai lớp<br />
tương ứng. Ví dụ, câu "John loves Mary. He told her this Friday" có chú giải phụ thuộc<br />
và thành phần với PML như sau:<br />
Chú giải phụ thuộc Chú giải thành phần<br />
<br />
<br />
<br />
<br />
<br />
<br />
Jan Novak John Smith<br />
Sun May 1 18:56:55 Sun May 1 18:56:55<br />
2005 2005<br />
<br />
<br />
<br />
Pred John<br />
loves <br />
<br />
loves<br />
Subj <br />
John Mary<br />
<br />
<br />
Obj <br />
Mary <br />
<br />
He<br />
<br />
<br />
Pred told<br />
told her<br />
this<br />
Friday<br />
Subj <br />
He <br />
<br />
<br />
Obj<br />
her<br />
<br />
<br />
Adv<br />
Friday<br />
<br />
Attrib<br />
this<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Ví dụ sau là biểu diễn cây chú giải cú pháp của một câu tiếng Đức và mã hóa của nó<br />
dưới dạng TIGER XML - một định dạng mã hoá treebank của tiếng Đức, một trong các<br />
tiền đề tham khảo để xây dựng định dang ISO SynAF. [5]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
2.2. Mô hình SynAF<br />
<br />
Mô hình chú giải cú pháp SynAF (Syntactic Annotation Framework) là một siêu mô<br />
hình bao phủ cả hai mảng cấu trúc cú pháp phụ thuộc và cú pháp thành phần. Mô hình<br />
SynAF là là nền tảng của chú giải đa tầng, cho phép kết hợp sự chú giải dữ liệu ngôn<br />
ngữ thông qua cả hai mảng cấu trúc. Ngoài ra, SynAF còn cung cấp danh sách các hạng<br />
mục dữ liệu được chuẩn hoá quốc tế cho cho cả hai mảng cấu trúc cú pháp.<br />
<br />
Các phần tử cơ bản của mô hình SynAF gồm có:<br />
T Nodes : Biểu diễn các nút kết của cây cú pháp, thường gồm các từ được gán<br />
nhãn hình thái cú pháp. Các nút T được xác định trên một khoảng (span), có thể<br />
là một span bội (dùng để xét các thành phần không liên tục). Các nút T được gán<br />
các nhãn từ loại thích hợp ở mức từ.<br />
NT Nodes : Biểu diễn các nút không kết của cây cú pháp, chủ yếu chứa các nút<br />
kết thúc T và không kết thúc NT. Các nút NT cũng được xác định trên một span<br />
(bội). Chúng được sử dụng để gán nhãn ở mức cụm từ (ngữ) và mức cao hơn<br />
(mệnh đề, câu).<br />
Edges : Biểu diễn quan hệ phụ thuộc giữa các nút (cả hai loại nút kết và không<br />
kết), đây là quan hệ nhị phân, gồm một tên nhãn và cặp nút nguồn và nút đích.<br />
Syntactic Annotation (SA) : Biểu diễn việc áp dụng thông tin chú giải cú pháp<br />
vào đầu vào của nền chú giải hình thái-cú pháp MAF (Morphosyntactic<br />
Annotation Framework). Việc áp dụng này có thể là tự động hoặc bằng tay. Khi<br />
chú giải cú pháp được gắn vào các nút (kết hoặc không kết), nó sinh ra một nút<br />
mới (không kết) hoặc một cạnh phụ thuộc.<br />
<br />
Biểu diễn UML (Unified Modeling Language) của mô hình SynAF như Hình 2. [7] Để<br />
gán nhãn cho các T Node, NT Node, Edge người ta đã sử dụng danh sách các các nhãn<br />
từ loại và nhãn quan hệ được khuyến nghị như trong tài liệu ISO/CD/24615.<br />
<br />
3. Mô hình SynAF cho tiếng Việt<br />
Mô hình SynAF của ISO là cơ sở tốt cho việc xây dựng mô hình chú giải cú<br />
pháp câu tiếng Việt. Dựa trên SynAF, chúng tôi đã xây dựng mô hình chú giải cú pháp<br />
câu tiếng Việt - vnSynAF. Danh mục các nhãn từ loại dùng để gán nhãn cho các nút T,<br />
NT, và các cung Edge chúng tôi dựa trên tài liệu “ Thiết kế tập nhãn cú pháp và hướng<br />
dẫn gán nhãn”. [8].<br />
<br />
Các nút T dùng để mô tả thuộc tính của mỗi đơn vị từ đầu vào (token). Các nút NT<br />
dùng để biểu diễn các thành phần không kết thúc như từ loại, cụm từ, nhãn qui ước cho<br />
các dấu…Các cung (edge) dùng để liên kết giữa các nút, biểu diễn chức năng của một<br />
thành phần cú pháp, cho biết vai trò của nó trong thành phần cú pháp mức cao hơn, nhờ<br />
đó giúp chúng ta biết được quan hệ ngữ pháp giữa các nút, như là chủ ngữ, vị ngữ, tân<br />
ngữ… Khi đưa thông tin chú giải vào sơ đồ chú giải cú pháp chúng ta cũng có thể lấy<br />
trong một tài liệu có trước hoặc là xây dựng một công cụ tự động.<br />
Tiếp theo chúng tôi trình bày định dạng chú giải các nhãn cú pháp cho câu tiếng<br />
Việt theo XML tương ứng với mô hình vnSynAF.<br />
<br />
3.1 Chú giải XML cho các nút kết thúc (T)<br />
Tất cả các nút kết thúc T được mã hóa bên trong cặp thẻ <br />
….. Trong đó mỗi một từ nguyên dạng trong câu tiếng Việt tương ứng một<br />
nút T sẽ được mã hóa bằng một thẻ thành phần :<br />
<br />
<br />
<br />
………………………………..<br />
<br />
<br />
<br />
<br />
Mỗi thẻ bao gồm các thuộc tính:<br />
• Địa chỉ id : Được đánh tuỳ ý, tuy nhiên khi đánh địa chỉ nên dùng kí hiệu có<br />
liên quan đến nút nguồn của cung.<br />
• Nhãn label: Chính là các nhãn được lấy từ danh sách nhãn chức năng, danh sách<br />
nhãn phân loại phụ ngữ của động từ, nhãn phần tử rỗng. Có thể có những thẻ<br />
không cần có nhãn này (trong trường hợp không phải là nhãn phân loại phụ ngữ<br />
của động từ, hoặc không muốn cụ thể chi tiết hơn các thông tin đã có trong cây<br />
cú pháp).<br />
• Địa chỉ đích tar: địa chỉ đích của cung, được đánh tuỳ ý.<br />
<br />
Ngoài việc sử dụng mô hình SynAF thì việc thiết kế bộ nhãn chuẩn cho cú pháp tiếng<br />
Việt dùng để gán nhãn cho các nút kết thúc (T), không kết thúc (NT), các cung biểu<br />
diễn mối liên hệ phụ thuộc giữa các nút (edges) là điều rất cần thiết.<br />
<br />
<br />
<br />
<br />
Hình 2. Mô hình SynAF<br />
Ví dụ về việc mã một cây cú pháp bằng SynAF<br />
<br />
S ...<br />
<br />
<br />
<br />
NP VP <br />
<br />
<br />
<br />
NP<br />
V <br />
<br />
John D N <br />
<br />
<br />
wants <br />
the cake<br />
<br />
<br />
<br />