Tải bản đầy đủ (.pdf) (10 trang)

Xây dựng sơ đồ mã hóa và công cụ trợ giúp gán nhãn cú pháp tiếng Việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (357 KB, 10 trang )

XÂY DỰNG SƠ ĐỒ MÃ HÓA VÀ CÔNG CỤ TRỢ GIÚP GÁN NHÃN CÚ PHÁP
TIẾNG VIỆT
Phan Thị Hà1, Nguyễn Thị Minh Huyền2,
Lê Hồng Phương2, Lưu Văn Tăng2
1

Học viện Công nghệ Bưu chính Viễn Thông Hà Nội
2

Đại học Khoa học Tự nhiên Hà Nội

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
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
vnSynAF. Mô hình vnSynAF là một lược đồ mã hóa dựa trên định dạng XML (eXtended
Markup Language) có thể sử dụng trong việc định dạng và mã hoá treebank cho tiếng
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à
phát triển treebank tiếng Việt.

1. Giới thiệu
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
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ử
lý ngôn ngữ (XLNN) tự nhiên. Kho văn bản này được gọi là treebank. Treebank có
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ự
độ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
treebank cho các thứ tiếng được nghiên cứu nhiều như Anh, Pháp, Hoa… đã được xây
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.
Trong lĩnh vực XLNN tự nhiên, nguồn tài nguyên ngôn ngữ đóng vai trò rất
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.
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
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 đề
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 đề


chuẩn hóa lên hàng đầu. Đặc biệt là dự án European eContent LIRICS đã và đang xử lý
quá trình chuẩn hóa quốc tế về chú giải tài nguyên cú pháp - SynAF (Syntactic
Annotation Framework). Mô hình SynAF được thiết kế dựa vào cả hai cấu trúc phụ
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
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ử
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
dể dàng.
Có hai cách thường được sử dụng để mã hóa cây cú pháp. Cách thứ nhất đơn
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
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
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ử
dụng lược đồ mã hóa XML (eXtended Markup Language). Cách này đã được nghiên
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].
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,
đâ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
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


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
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ơ
đồ mã hóa và bộ công cụ đồ họa hỗ trợ cho các nhà xây dựng VNTreebank trong việc
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
của tổ chức ISO.

2. Mô hình SynAF
2.1. Một số mô hình mã hoá cấu trúc cú pháp
Để mã hoá cấu trúc cú pháp của một câu trong ngôn ngữ, UPenn Treebank sử dụng
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à
thuộc tính cần sử dụng. Ví dụ, câu "Pierre Vinken, 61 years old, will join the board as
the board as a nonexecutive director Nov. 29" được mã như sau:

( (S (NP-SBJ (NP Pierre Vinken)
,
(ADJP (NP 61 years)
old)
,)
(VP will
(VP join
(NP the board)
(PP-CLR as
(NP a nonexecutive director))
(NP-TMP Nov. 29)))
.))

Cấu trúc đồ hoạ của câu được cho trong Hình 1.

Hình 1. Cấu trúc cú pháp của một câu trong UPenn Treebank

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
thành phần và lớp cấu trúc phụ thuộc. Prague Dependency Treebank sử dụng lược đồ
mã hoá PML (The Pargue Markup Language) - một định dạng mã hoá dữ liệu mở dựa
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
tương ứng. Ví dụ, câu "John loves Mary. He told her this Friday" có chú giải phụ thuộc
và thành phần với PML như sau:
Chú giải phụ thuộc
Chú giải thành phần
<?xml version="1.0"?>
<?xml version="1.0"?>


<head>
<schema href="example1_schema.xml"/>
</head>
<meta>
<annotator>Jan Novak</annotator>
<datetime>Sun May 1 18:56:55
2005</datetime>
</meta>
<trees>
<LM ord="2">
<func>Pred</func>
<form>loves</form>
<governs>
<LM ord="1">
<func>Subj</func>
<form>John</form>
</LM>
<LM ord="3">
<func>Obj</func>
<form>Mary</form>
</LM>
</governs>
</LM>
<LM ord="2">
<func>Pred</func>
<form>told</form>
<governs>
<LM ord="1">
<func>Subj</func>
<form>He</form>

</LM>
<LM ord="3">
<func>Obj</func>
<form>her</form>
</LM>
<LM ord="5">
<func>Adv</func>
<form>Friday</form>
<governs ord="4"> <!-- ditto -->
<func>Attrib</func>
<form>this</form>
</governs>
</LM>
</governs>
</LM>
</trees>
</annotation>

pml/">
<head>
<schema href="example2_schema.xml"/>
</head>
<meta>
<annotator>John Smith</annotator>
<datetime>Sun May 1 18:56:55
2005</datetime>
</meta>
<nt label="S">
<nt label="NP">
<form>John</form>

</nt>
<nt label="VP">
<form>loves</form>
<nt label="NP">
<form>Mary</form>
</nt>
</nt>
</nt>
<nt label="S">
<nt label="NP">
<form>He</form>
</nt>
<nt label="VP">
<form>told</form>
<nt label="NP"><form>her</form></nt>
<nt label="ADVP"><form>this
Friday</form></nt>
</nt>
</nt>
</annotation>

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ó
dưới dạng TIGER XML - một định dạng mã hoá treebank của tiếng Đức, một trong các
tiền đề tham khảo để xây dựng định dang ISO SynAF. [5]


<body>
<s id="s5">
<graph root="s5_504">
<terminals>

<t id="s5_1" word="Die" pos="ART" morph="Def.Fem.Nom.Sg"/>
<t id="s5_2" word="Tagung" pos="NN" morph="Fem.Nom.Sg.*"/>
<t id="s5_3" word="hat" pos="VVFIN" morph="3.Sg.Pres.Ind"/>
<t id="s5_4" word="mehr" pos="PIAT" morph="--"/>
<t id="s5_5" word="Teilnehmer" pos="NN" morph="Masc.Akk.Pl.*"/>
<t id="s5_6" word="als" pos="KOKOM" morph="--"/>
<t id="s5_7" word="je" pos="ADV" morph="--"/>
<t id="s5_8" word="zuvor" pos="ADV" morph="--"/>
</terminals>
<nonterminals>
<nt id="s5_500" cat="NP">
<edge label="NK" idref="s5_1"/>
<edge label="NK" idref="s5_2"/>
</nt>
<nt id="s5_501" cat="AVP">
<edge label="CM" idref="s5_6"/>
<edge label="MO" idref="s5_7"/>
<edge label="HD" idref="s5_8"/>
</nt>
<nt id="s5_502" cat="AP">
<edge label="HD" idref="s5_4"/>
<edge label="CC" idref="s5_501"/>
</nt>
<nt id="s5_503" cat="NP">
<edge label="NK" idref="s5_502"/>
<edge label="NK" idref="s5_5"/>
</nt>
<nt id="s5_504" cat="S">
<edge label="SB" idref="s5_500"/>
<edge label="HD" idref="s5_3"/>

<edge label="OA" idref="s5_503"/>


</nt>
</nonterminals>
</graph>
</s>
</body>

2.2. Mô hình SynAF
Mô hình chú giải cú pháp SynAF (Syntactic Annotation Framework) là một siêu mô
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
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
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
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.
Các phần tử cơ bản của mô hình SynAF gồm có:
 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
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ể
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
các nhãn từ loại thích hợp ở mức từ.
 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
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
(bội). Chúng được sử dụng để gán nhãn ở mức cụm từ (ngữ) và mức cao hơn
(mệnh đề, câu).
 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
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.
 Syntactic Annotation (SA) : Biểu diễn việc áp dụng thông tin chú giải cú pháp
vào đầu vào của nền chú giải hình thái-cú pháp MAF (Morphosyntactic
Annotation Framework). Việc áp dụng này có thể là tự động hoặc bằng tay. Khi
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

mới (không kết) hoặc một cạnh phụ thuộc.
Biểu diễn UML (Unified Modeling Language) của mô hình SynAF như Hình 2. [7] Để
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
từ loại và nhãn quan hệ được khuyến nghị như trong tài liệu ISO/CD/24615.

3. Mô hình SynAF cho tiếng Việt
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ú
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
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,
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
dẫn gán nhãn”. [8].
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
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
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
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ờ
đó 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


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
trong một tài liệu có trước hoặc là xây dựng một công cụ tự động.
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
Việt theo XML tương ứng với mô hình vnSynAF.
3.1 Chú giải XML cho các nút kết thúc (T)
Tất cả các nút kết thúc T được mã hóa bên trong cặp thẻ <terminals>
….</terminals>. Trong đó mỗi một từ nguyên dạng trong câu tiếng Việt tương ứng một
nút T sẽ được mã hóa bằng một thẻ thành phần <t……/>:
<terminals>
<t id="diachi " wordForm="từ nguyên dạng1" />
<t id="diachi " wordForm="từ nguyên dạng2" />
………………………………..

<t id="diachi " wordForm="từ nguyên dạng2" />
Mỗi thẻ thành phần bao gồm các thuộc tính:
• Địa chỉ id: địa chỉ này được định nghĩa ở thuộc tính tar của cung tương ứng.
• Từ nguyên dạng wordForm: đây là từ gốc nguyên dạng được lấy từ câu vào.
3.2 Chú giải XML cho các nút không kết thúc (NT)
Tương ứng với một câu đầu vào sẽ có nhiều nút (theo sơ đồ biểu diễn cú pháp
hình cây). Ở đây chúng tôi dùng cặp thẻ <nonterminals>…</nonterminals> để mã hóa
cho tất cả các nút NT trong cây cú pháp. Trong đó, mỗi nút NT được mã hóa bằng một
cặp thẻ thành phần <nt… các thuộc tính> … E ... </nt>:
<nonterminals>
<nt id="địa chỉ 1" label="tên nhãn gốc">
<edge id="địa chỉ 1" label="nhã cụm từ1" tar="địa chỉ đích" />
<edge id="địa chỉ 1" label="nhã cụm từ2" tar="địa chỉ đích” />
………….
</nt>
<nt id="địa chỉ 2” label="tên nhãn gốc">
<edge id="địa chỉ 2" label="nhãn cụm từ1" tar="địa chỉ đích" />
<edge id="địa chỉ 2" label="nhãn cụm từ2" tar="địa chỉ đích” />
………….
</nt>
…………..
</nonterminals>
Mỗi thẻ thành phần bao gồm các thuộc tính:
• Địa chỉ id của nút : được xác định tại phần thuộc tính tar của cung đi tới nút đó,
nếu nút đó là nút gốc thì sẽ được xác định tại thuộc tính gốc (root) của thẻ đồ
thị (graph)
• Nhãn label của mỗi nút: Chính là nhãn của một nút (NT) được lấy trong tập
nhãn cụm từ, từ loại, nhãn mệnh đề, tập nhãn qui ước.
• Các thẻ thành phần <edge…../> để mã hóa các cung đi ra từ nút NT, tương úng

với mỗi một nút có thể có nhiều thẻ thành phần .


3.3 Chú giải XML cho các cung(edges):
Cung (edges) là một đoạn đi từ nút nguồn (nút NT) đến nút đích (T hoặc NT),
để biểu diễn mối quan hệ phụ thuộc giữa các nút, mỗi cung được mã hóa bằng một thẻ:
<edge id="địa chỉ nguồn " label="nhãn cụm từ" tar="địa chỉ đích” />
Mỗi thẻ <edge …../> bao gồm các thuộc tính:
• Địa chỉ id : Được đánh tuỳ ý, tuy nhiên khi đánh địa chỉ nên dùng kí hiệu có
liên quan đến nút nguồn của cung.
• 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
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ẻ
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ữ
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
cú pháp).
• Địa chỉ đích tar: địa chỉ đích của cung, được đánh tuỳ ý.
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
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
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.

Hình 2. Mô hình SynAF


Ví dụ về việc mã một cây cú pháp bằng SynAF
S

NP

VP
NP


V
John

D
wants

the

N
cake

<SynAF>
<head>...</head>
<body>
<s id="s1">
<graph root="s1_0">
<nonterminals>
<nt id="s1_0" label="S">
<edge source="s1_0" label="SUB" target="s1-1" />
<edge source="s1_0" target="s1-2" />
</nt>
<nt id="s1-1" label="NP">
<edge source="s1-1" target="t1" />
</nt>
<nt id="s1-2" label="VP">
<edge source="s1-2" target="s1-2-1" />
<edge source="s1-2" target="s1-2-2" />
</nt>
<nt id="s1-2-1" label="V">

<edge source="s1-2-1" target="t2 />
</nt>
<nt id="s1-2-2" label="NP">
<edge source="s1-2-2" target="s1-2-2-1" />
<edge source="s1-3" target="s1-2-2-2" />
</nt>
<nt id="s1-2-2-1" label="D">
<edge source="s1-2-2-1" target="t3" />
</nt>
<nt id="s1-2-2-2" label="N">
<edge source="s1-2-2-2" target="t4" />
</nt>
</nonterminals>
<terminals>
<t id="t1" wordForm="John" />
<t id="t2" wordForm="wants" />
<t id="t3" wordForm="the" />
<t id="t4" wordForm="cake" />
</terminals>
</graph>
</s>
...
</body>
</SynAF>


4. Công cụ vnSynAF
vnSynAF là bộ công cụ được xây dựng dựa trên nền tảng Eclipse, một môi
trường tích hợp hỗ trợ phát triển lập trình bằng ngôn ngữ Java và phát triển các công cụ
cho việc xây dựng các ứng dụng khác.

SynAF có tích hợp nhiều module cho phép người sử dụng thực hiện được nhiều
khả năng xây dựng, chỉnh sửa cây cú pháp một cách mềm dẻo. Với giao diện đồ hoạ
giúp người sử dụng dễ dàng thao tác chỉ với một số động tác kích chuột và nhập từ bàn
phím. Các khả năng thực hiện việc xây dựng, chỉnh sửa cây cú pháp nằm trong các thực
đơn hoặc trên các biểu tượng của các thanh công cụ, tương tự như một chương trình vẽ
đồ hoạ chuyên dụng.
Chương trình SynAF cung cấp các công cụ hỗ trợ cho việc xây dựng ngân hàng
kho ngữ liệu. Trong chương trình này dữ lệu đầu vào có thể được cập nhập theo các
cách sau:
 Câu đầu vào có thể được gõ trực tiếp từ bàn phím thông qua textbox
 Câu đầu vào có thể lựa chọn từ một tệp văn bản hoặc tệp XML đã có từ trước
Khi câu nhập vào thành công thì sẽ được tự động tách ra thành các từ, mỗi từ sẽ trở
thành nhãn của một nút T (terminal) trong cây cú pháp. Sau đó các nhà xây dựng
treebank sẽ tiếp tục chú giải cú pháp theo sơ đồ cây dựa vào mô hình SynAF nhờ các
nút trợ giúp như TNode, Node, Edges để vẽ các nút T, nút NT, các cung và gán nhãn
cho chúng. Chi tiết về là một số ảnh chụp màn hình cơ bản và phương pháp sử dung
công cụ vẽ đồ hoạ cú pháp SynAF này có thể xem trong báo cáo kỹ thuật sản phẩm 7.3
[8].
Kết quả đầu ra sẽ là tệp các câu được mã hóa XML theo chuẩn SynAF như đã trình bày
ở mục trước.


TÀI LIỆU THAM KHẢO
1. Burnard L. (ed.), «User’s reference guide for the British National Corpus
version 1.0», Oxford, Oxford University Computing Services, 1995.
2. Ide N., Macleod C., «The American National Corpus: A Standardized Resource
of American English», in Proceedings of Corpus Linguistics 2001, Lancaster
UK, 2001
3. />4. />5. ISO/CD 24611, «Language Resource Management - Morpho-syntactic
Annotation Framework», ISO TC 37 / SC 4 N225, 25th Oct 2005.

/>6. ISO/CD/24615, “Language Resource Management- Syntactic Annotation
Framework (SynAF)” TC 37 / SC 4 N421, 22th Aug 2007.
/>7. Uỷ ban Khoa học Xã hội Việt Nam « Ngữ pháp tiếng Việt», NXB Khoa học Xã
hội, Hanoi, 1983.
8. Các báo cáo kỹ thuật, />9. PML : />


×