Tải bản đầy đủ (.doc) (72 trang)

Phân tích cú pháp tiếng việt sử dụng văn phạm phụ thuộc

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 (598.19 KB, 72 trang )

Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên:
Điện thoại liên lạc
Lớp: Khoa học máy tính K50 – Khoa CNTT
Hệ đào tạo: Đại học hính quy
Đồ án tốt nghiệp được thực hiện tại: Trường Đại học Bách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày 1/3/2009 đến 31/5/2009
2. Mục đích nội dung của ĐATN
Tìm hiểu về Văn phạm phụ thuộc và cú pháp tiếng Việt. Xây dựng Văn phạm phụ
thuộc cho tiếng Việt. Áp dụng Văn phạm phụ thuộc đã được xây dựng chương trình phân
tích cú pháp tiếng Việt.
3. Các nhiệm vụ cụ thể của ĐATN
• Tìm hiểu về Văn phạm phụ thuộc.
• Tìm hiểu về cú pháp tiếng Việt.
• Xây dựng Văn phạm phụ thuộc cho tiếng Việt.
• Thử nghiệm việc phân tích cú pháp tiếng Việt bằng Văn phạm được xây dựng.
4. Lời cam đoan của sinh viên:
Tôi – Trương Ngọc Khánh - cam kết ĐATN là công trình nghiên cứu của bản thân tôi
dưới sự hướng dẫn của ThS Nguyễn Thị Thu Hương.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ
công trình nào khác.
Hà Nội, ngày 28 tháng 5 năm 2010
Tác giả ĐATN

5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:
Hà Nội, ngày tháng năm 2009
Giáo viên hướng dẫn



ThS Nguyễn Thị Thu Hương

1


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Phân tích cú pháp có vai trò quan trọng trong lĩnh vực xử lý văn bản vì nó
là bước trung gian của nhiều bài toán lớn như: tóm tắt văn bản, dịch máy, hỏi đáp
tự động. Trong thời gian gần đây, phân tích cú pháp phụ thuộc thu hút được sự
quan tâm của nhiều nhóm nghiên cứu xử lý ngôn ngữ tự nhiên trên thế giới bởi
quan hệ phụ thuộc giữa hai từ vựng có thể có ích trong khử nhập nhằng và cú pháp
này có khả năng mô hình hóa các ngôn ngữ có trật tự từ tự do. So với các phương
pháp phân tích cú pháp khác như phân tích cú pháp bằng văn phạm phi ngữ cảnh,
văn phạm liên kết, phương pháp này cho ta kết quả sát về ngữ nghĩa hơn. Đồ án
của em sẽ trình bày cách xây dựng văn phạm phụ thuộc cho tiếng Việt và thử
nghiệm việc phân tích cú pháp dựa trên văn phạm đó.
Đồ án của em sẽ gồm 3 phần:
Phần đầu đồ án giới thiệu về Văn phạm phụ thuộc, giải thuật phân tích sử
dụng Văn phạm liên phụ thuộc.
Phần thứ hai của đồ án trình bày quá trình xây dựng Văn phạm phụ thuộc
cho tiếng Việt. Trước hết em sẽ trình bày những tìm hiểu của em về cú pháp tiếng
Việt. Sau đó dựa trên những kiến thức tìm hiểu được đó, em sẽ trình bày quá trình
xây dựng Văn phạm phụ thuộc cho tiếng Việt.
Trong phần cuối của đồ án, em sẽ đưa ra và đánh giá các kết quả thử
nghiệm áp dụng văn phạm đã được xây dựng trong việc phân tích các câu tiếng
Việt.


2


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

ABSTRACT OF THESIS
Parsing has an important role in text processing because it is an
intermediate step of many big problem such as text summarization, machine
translation, question answering system,etc. Recently, dependency parsing has been
got much interest by many group of natural language process all over the world
due to a dependency relation between two words can be useful for disambiguity
and it has an ability of modeling many free-word order language. Comparing to
Context-free grammar and Link Grammar, the result of this approach is closer to
semantic. In my thesis, I present a Dependency Grammar for Vietnamese and a
dependency parser based on it.
The first section of my thesis is the brief introduction to Dependency
Grammar and the parsing algorithm.
The second section indicates how I built Dependency Grammar for
Vietnamese. Firstly, I demonstrate my researches of grammar of Vietnamese. As
the result of this stage, I illustrate the process of building Dependency Grammar
for Vietnamese.
In the last section, I show and evaluate the result of the test from applying
constructed parsing on Vietnamese

3


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

MỤC LỤC

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP................................................................2
ABSTRACT OF THESIS...................................................................................................3
DANH MỤC CÁC HÌNH VẼ............................................................................................7
DANH MỤC CÁC BẢNG.................................................................................................8
DANH MỤC TỪ VIẾT TẮT.............................................................................................8
CHƯƠNG I: GIỚI THIỆU BÀI TOÁN PHÂN TÍCH CÚ PHÁP....................................10
A. Một số phương pháp phân tích cú pháp dựa trên văn phạm phi ngữ cảnh...............10
I. Phân tích cú pháp từ trên xuống có quay lui..........................................................10
II. Phân tích cú pháp từ dưới lên có quay lui.............................................................10
III. Giải thuật CYK....................................................................................................10
IV. Giải thuật Earley..................................................................................................11
B. Mô hình văn phạm từ vựng (Lexicalized Grammar)................................................11
I. Văn phạm liên kết (Link Grammar).......................................................................12
II. Văn phạm phụ thuộc (Dependency Grammar).....................................................13
CHƯƠNG II: VĂN PHẠM PHỤ THUỘC.......................................................................15
A. Khái niệm VPPT.......................................................................................................15
B. Tính chất của VPPT..................................................................................................16
C. Các cách tiếp cận cho VPPT.....................................................................................18
I. PTCP phụ thuộc điều khiển bằng dữ liệu...............................................................19
II. PTCP phụ thuộc dựa vào văn phạm......................................................................19
D. Thuật toán PTCP.......................................................................................................20
I. Giả thuyết ban đầu..................................................................................................20
II. Các thuật toán PTCP cho VPPT............................................................................21
1. Thuật toán tìm kiếm Brute - force......................................................................21
2. Thuật toán ESH và ESD....................................................................................22
3. Thuật toán LSU..................................................................................................23
4. Thuật toán LSUP................................................................................................25
4.1. Định nghĩa tính xạ ảnh................................................................................25
4.2. Xây dựng tính xạ ảnh..................................................................................27
4.3. Độ phức tạp của thuật toán.........................................................................28

CHƯƠNG III: XÂY DỰNG VPPT CHO TIẾNG VIỆT..................................................28
A. CÚ PHÁP TIẾNG VIỆT...........................................................................................29
I. Các loại từ trong tiếng Việt....................................................................................29
1. Danh từ...............................................................................................................29
1.1. Đặc điểm của danh từ.................................................................................29
1.2. Các loại danh từ..........................................................................................29
2. Động từ..............................................................................................................31
2.1 Đặc điểm của động từ..................................................................................31
2.2 Các loại động từ...........................................................................................31
3. Tính từ................................................................................................................35
3.1 Đặc điểm của tính từ....................................................................................35
3.2 Các loại tính từ.............................................................................................35
4. Giới từ................................................................................................................36
4


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc
4.1 Đặc điểm của giới từ....................................................................................36
4.2 Các loại giới từ............................................................................................36
II. Cấu trúc của các cụm từ........................................................................................37
1. Cụm danh từ.......................................................................................................37
1.1. Đặc điểm của cụm danh từ..........................................................................37
1.2. Cấu tạo của cụm danh từ.............................................................................37
1.3. Đặc điểm của cụm động từ.........................................................................40
1.4. Cấu tạo của cụm động từ............................................................................40
2. Cụm tính từ........................................................................................................43
3.1 Phần phụ trước của cụm tính từ...................................................................43
3.2 Phần trung tâm cụm tính từ..........................................................................43
3.3 Phần phụ sau cụm tính từ.............................................................................44
3. Cụm giới từ........................................................................................................44

3.1. Đặc điểm của cụm giới từ...........................................................................44
3.2. Cấu tạo của cụm giới từ..............................................................................45
III. Quan hệ phụ thuộc giữa các loại từ......................................................................45
1. Quan hệ phụ thuộc giữa danh từ và động từ......................................................45
2. Quan hệ phụ thuộc giữa danh từ và tính từ........................................................46
3. Quan hệ phụ thuộc giữa động từ và tính từ........................................................47
4. Quan hệ phụ thuộc giữa động từ và động từ......................................................47
5. Các quan hệ phụ thuộc khác..............................................................................48
5.1. Quan hệ phụ thuộc giữa thành phần là vị ngữ và từ để hỏi........................48
5.2. Quan hệ phụ thuộc giữa thành phần là vị ngữ và liên từ trong thành phần
phức....................................................................................................................48
B. XÂY DỰNG VPPT CHO TIẾNG VIỆT..................................................................49
I. DANH TỪ VÀ CỤM DANH TỪ..........................................................................50
1. Thành phần trước danh từ..................................................................................50
2. Thành phần sau danh từ.....................................................................................51
3. Danh từ tổng hợp...............................................................................................52
II. ĐỘNG TỪ VÀ CỤM ĐỘNG TỪ.........................................................................52
1. Thành phần trước động từ..................................................................................52
2. Phần sau cụm động từ........................................................................................54
III. TÍNH TỪ VÀ CỤM TÍNH TỪ...........................................................................54
IV. GIỚI TỪ VÀ CỤM GIỚI TỪ............................................................................55
V. CÁC QUAN HỆ PHỤ THUỘC GIỮA CỤM DANH TỪ, CỤM ĐỘNG TỪ VÀ
CỤM TÍNH TỪ.........................................................................................................56
1. Quan hệ phụ thuộc giữa danh từ và động từ......................................................56
2. Quan hệ phụ thuộc giữa danh từ và tính từ........................................................58
3. Quan hệ phụ thuộc giữa động từ và tính từ........................................................58
4. Quan hệ phụ thuộc giữa động từ và động từ......................................................59
VI. CÁC CẤU TRÚC CÂU KHÁC..........................................................................60
1. Cấu trúc so sánh.................................................................................................60
1.1. Cấu trúc so sánh bậc cao nhất.....................................................................60

1.2. Cấu trúc so sánh hơn / kém.........................................................................61
2. Câu hỏi...............................................................................................................62
3. Câu phức............................................................................................................62

5


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc
VII. TỪ ĐIỂN............................................................................................................64
CHƯƠNG IV: CHƯƠNG TRÌNH PHÂN TÍCH VÀ THỬ NGHIỆM............................65
A. CHƯƠNG TRÌNH PHÂN TÍCH..............................................................................65
I. Các chức năng chính...............................................................................................65
II. Cài đặt chương trình..............................................................................................66
1. Tách từ...............................................................................................................66
2. Xây dựng danh sách quan hệ phụ thuộc............................................................67
3. Cấu trúc dữ liệu..................................................................................................67
B. THỬ NGHIỆM.........................................................................................................68
C. ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN.................................................................70
I. ĐÁNH GIÁ.............................................................................................................70
II. HƯỚNG PHÁT TRIỂN........................................................................................71

6


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

DANH MỤC CÁC HÌNH VẼ

Hình 1 Ví dụ một câu được phân tích bằng VPLK............................................................12
Hình 2 Cấu trúc phụ thuộc của một câu tiếng Anh............................................................15

Hình 3. Cấu trúc liên hợp (Coordination)..........................................................................18
Hình 4. Một vài cấu trúc câu có tính xạ ảnh......................................................................26
Hình 5. Một vài cấu trúc câu không có tính xạ ảnh...........................................................26
Hình 6. Cấu tạo của cụm giới từ........................................................................................45
Hình 7. Giao diện chương trình.........................................................................................65
Hình 8. Ví dụ khi phân tích một câu tiếng Việt bằng VPPT.............................................66

7


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

DANH MỤC CÁC BẢNG

Bảng 1. Công thức các từ của VPLK.................................................................................12
Bảng 2. Cấu tạo của cụm danh từ ở dạng đầy đủ...............................................................37
Bảng 3. Cấu tạo của thành phần phụ trước danh từ...........................................................38
Bảng 4. Cấu tạo của thành phần phụ sau của danh từ........................................................40
Bảng 5. Cấu tạo phần đầu cụm động từ.............................................................................41
Bảng 6. Công thức của từ...................................................................................................50
Bảng 7. Các quan hệ phụ thuộc của thành phần trước danh từ..........................................50
Bảng 8. Các quan hệ phụ thuộc của thành phần sau danh từ.............................................51
Bảng 9. Các quan hệ phụ thuộc của thành phần trước động từ.........................................52
Bảng 10. Các quan hệ phụ thuộc của thành phần trước tính từ.........................................54
Bảng 11. Cấu tạo cụm giới từ............................................................................................55

DANH MỤC TỪ VIẾT TẮT

8



Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc
Từ viết tắt

Từ đầy đủ

Ý nghĩa

CYK

Cocke-Younger-Kasami

Giải thuật CYK

ESH

Exhaustive Search Head first

Giải thuật ESH

Exhaustive Search Head first with Uniqueness

Giải thuật ESHU

Exhaustive Search Dependent first

Giải thuật ESD

Exhaustive Search Dependent first with Uniqueness


Giải thuật ESDU

LSU

List-based Search with Uniqueness

Giải thuật LSU

LSUP

List-based Search with Uniqueness and Projectivity

Giải thuật LSUP

VPPT

Văn phạm phụ thuộc

VPLK

Văn phạm liên kết

PTCP

Phân tích cú pháp

ESHU
ESD
ESDU


9


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

CHƯƠNG I: GIỚI THIỆU BÀI TOÁN PHÂN TÍCH
CÚ PHÁP
Phân tích cú pháp là bước xử lý quan trọng trong các bài toán xử lý ngôn
ngữ tự nhiên. Mục tiêu của quá trình phân tích cú pháp là sinh cấu trúc cú pháp
cho câu dựa trên các từ tố đã được tách từ bước phân tích từ vựng. Do ngôn ngữ tự
nhiên phức tạp hơn rất nhiều so với ngôn ngữ lập trình nên ta thường gặp phải các
vấn đề nhập nhằng: về tách từ, cú pháp câu quá phức tạp, …Chúng ta sẽ tìm hiểu
một số phương pháp phân tích cú pháp thường dùng.

A. Một số phương pháp phân tích cú pháp dựa trên văn phạm
phi ngữ cảnh
I. Phân tích cú pháp từ trên xuống có quay lui
Phương pháp phân tích này sẽ xây dựng cây suy dẫn từ gốc đến lá. Các bước
sẽ được lưu lại thành các lịch sử. Khi rơi vào bế tắc, bộ phân tích cú pháp sẽ quay
lại bước được lưu lại gần nhất và thử các sản xuất khác. Nếu quay lui đến sản xuất
ban đầu mà không còn lựa chọn nào thì câu đầu vào sai cú pháp

II. Phân tích cú pháp từ dưới lên có quay lui
Phương pháp phân tích này trái với phương pháp cú pháp từ trên xuống có
quay lui khi xây dựng cây suy dẫn từ lá đến gốc. Tuy nhiên, bộ phân tích cú pháp
thực hiện quay lui giống như phương pháp phân tích cú pháp từ trên xuống có
quay lui.
Phương pháp phân tích từ trên xuống thông dụng hơn nhờ vào tính hiệu quả
của nó khi xây dựng theo lối thủ công. Ngược lại, phương pháp phân tích từ dưới
lên lại có thể xử lý được một lớp văn phạm và lược đồ dịch phong phú hơn. Cả hai

phương pháp đều có độ phức tạp tính toán khá lớn (O(cn)).

III. Giải thuật CYK
Đây là giải thuật thường dùng để xác định xem xâu được tạo ra bởi văn
phạm phi ngữ cảnh hay không. Giải thuật thực hiên phân tích từ dưới lên như
phương pháp từ dưới lên và dựa trên thuật toán quy hoạch động. Để có thể phân
tích được bằng giải thuật, các luật của văn phạm phi ngữ cảnh phải được chuyển
sang dạng chuẩn CNF. Giải thuật CYK hoạt động với thời gian (O(n 3)) hiệu quả
10


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

hơn so với giải thuật bottom-up có quay lui. Tuy nhiên để đưa ra được tất cả các
cây suy dẫn thời gian tính toán có thể lên tới hàm mũ. Giải thuật này được sử dụng
rất nhiều trong ngôn ngữ tự nhiên.

IV. Giải thuật Earley
Cũng như giải thuật CYK, giải thuật Earley hoạt động dựa trên thuật toán
quy hoạch động nhưng nó thực hiện theo phương pháp từ trên xuống. Giải thuật
bắt đầu với một ký hiệu không kết thúc đại diện cho câu và sử dụng các luật khai
triển cho đến khi thu được câu vào. Hạn chế của cách tiếp cận này là không chú
trọng nhiều đến các từ đầu vào. Vì vậy trong quá trình phân tích, giải thuật Earley
sản sinh ra rất nhiều luật dư thừa.
Trái với giải thuật CYK, giải thuật Earley có thể phân tích các ngôn ngữ phi
ngữ cảnh mà không cần đưa về dạng chuẩn CNF. Giải thuật Earley có độ phức tạp
tính toán là O(n3) trong trường hợp tổng quát, O(n 2) đối với các văn phạm không
nhập nhằng, và thời gian tuyến tính đối với các văn phạm LR(k). Thuật toán thực
hiện tốt khi các luật là đệ quy trái.
Đặc điểm chung của các phương pháp phân tích này là đều dùng văn phạm

phi ngữ cảnh dựa trên các luật sản xuất. Các luật này xây dựng không hề dễ dàng
khi càng nhiều cấu trúc câu thì bộ luật càng mở rộng và nhập nhằng càng tăng. Kết
quả của quá trình phân tích là một cấu trúc dạng cây trong đó các nút không phải
là lá là các từ loại (kí hiệu không kết thúc) và các nút lá là các từ của câu đầu vào
(kí hiệu kết thúc).

B. Mô hình văn phạm từ vựng (Lexicalized Grammar)
Văn phạm từ vựng là bộ G = (L, R) trong đó L là tập các từ vựng và R là
tập các luật của văn phạm. Luật của văn phạm thể hiện cho cấu trúc ngữ pháp tổng
quát của ngôn ngữ trong khi mục từ vựng mô tả các ràng buộc về từ vựng/ cú pháp
giữa các từ. Phân tích cú pháp bằng văn phạm từ vựng là quá trình áp dụng các
luật của văn phạm vào các mục từ vựng. Trái với văn phạm phi ngữ cảnh, kết quả
của quá trình phân tích cú pháp bằng văn phạm từ vựng cũng là một cây nhưng
trong đó các nút là các từ trong câu đóng vai trò như kí hiệu kết thúc và không kết
thúc trong văn phạm phi ngữ cảnh.

11


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

I. Văn phạm liên kết (Link Grammar)
Một văn phạm liên kết (VPLK) bao gồm một tập các từ (các ký hiệu kết
thúc của bộ văn phạm), mỗi từ có một yêu cầu liên kết. Một dãy các từ là một câu
của ngôn ngữ được định nghĩa bởi bộ văn phạm nếu tồn tại một cách để vẽ các
cung (mà chúng ta sẽ gọi là các liên kết) giữa các từ sao cho thoả mãn các điều
kiện:
- Tính phẳng (planarity): các liên kết không giao nhau (khi được vẽ phía
trên các từ).
- Tính kết nối (connectivity): các liên kết có khả năng kết nối tất cả các từ

trong câu với nhau.
- Tính thoả mãn (satisfaction): các liên kết thoả mãn các yêu cầu liên kết
của mỗi từ trong câu.
Ví dụ: câu tôi đã làm những cái ghế này

Hình 1 Ví dụ một câu được phân tích bằng VPLK
Với câu trên các từ sẽ có các yêu cầu liên kết:
Từ
Công thức
Tôi, ghế
TDT2- & TDT3- & SDT6+ & DT_ĐT+
đã
TĐT3+
làm
DT_ĐT- & ĐT_DT+
những
TDT2+
cái
TDT3+
này
SDT6Bảng 1. Công thức các từ của VPLK
Trong đó “+” nghĩa là từ đó yêu cầu có một liên kết về bên phải còn “-“ có
nghĩa là yêu cầu liên kết về bên trái.
VPLK rất hiệu quả trong việc phân tích các ngôn ngữ có trật tự từ xác định
vì vậy nó được áp dụng rất nhiều cho các bộ PTCP. Trên thế giới đã có nhiều bộ
PTCP bằng VPLK như bộ PTCP cho tiếng Anh của Sleator & Temperley. Hiện

12



Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

nay một số bộ PTCP cho tiếng Việt cũng đã sử dụng VPLK vì tính hiệu quả của
nó.
Tuy nhiên, VPLK cũng có nhược điểm là tính “bất thường” của nó. “Bất
thường” ở đây là các luật của VPLK không dựa trên các luật của văn phạm có cấu
trúc cụm (như văn phạm phi ngữ cảnh). Ngoài ra, đối với các ngôn ngữ có trật từ
tự do như Séc, Nga, … thì VPLK lại không hiệu quả.
Một đặc điểm chung của các văn phạm này là việc rất khó để phân tích các
ngôn ngữ có trật từ tự do.

II. Văn phạm phụ thuộc (Dependency Grammar)
Văn phạm phụ thuộc (VPPT) được đưa ra bởi Lucien Tesnière năm 1959 có
thể phân tích cú pháp cho các ngôn ngữ có trật tự từ tự do mà không dựa trên các
luật sản xuất. Mô hình VPPT khá giống với VPLK khi không có các nút cụm,
nhưng nó có một số khác biệt cơ bản sau:
- Hướng liên kết:
VPLK không có khái niệm về head và dependent. Do đó, các liên kết giữa
các từ trong câu là các liên kết vô hướng, đây là một liên kết giữa hai từ cùng cấp.
Đây là điểm khác biết cơ bản giữa VPLK và VPPT.
- Trật tự từ:
Trong VPLK, các luật đã chứa thông tin về trật tự từ trong câu, ví dụ như
liệu từ đó có liên kết với từ đằng trước (được mô tả bằng dấu “-“) hay là từ đứng
sau (được mô tả bằng dấu “+”) được mô tả một cách rõ ràng trong các mục từ
vựng. Ví dụ như luật của mạo từ “the” trong tiếng Anh: the: D+ có nghĩa là từ
“the” sẽ có một liên kết về phía bên phải. Với các ngôn ngữ có trật từ tự do, hướng
của từ có quan hệ với từ khác không được xét đến trong VPPT. Tiếng Latin, tiếng
Czech có trật tự từ không xác định, cùng một câu các từ có thể có các thứ tự khác
nhau, vì vậy yếu tố vị trí của từ có quan hệ phụ thuộc với từ khác không có ý
nghĩa. Tuy nhiên, với ngôn ngữ có trật tự từ không tự do (như tiếng Việt), do thứ

tự các từ được xác đinh nên hai văn phạm này rất giống nhau, chỉ khác biệt ở
hướng của liên kết.
- Tính xạ ảnh:
VPLK có một tính chất gọi là tính phẳng, trong đó các liên kết không được
giao nhau. Tính chất này cũng tương tự như tính xạ ảnh trong VPPT. Tuy nhiên,
với những ngôn ngữ có trật tự từ tự do, VPPT cho phép các liên kết cắt nhau mà
kết quả phân tích câu vẫn chính xác. Đây là một ưu điểm nổi bật của VPPT khi
phân tích ngữ pháp cho ngôn ngữ có trật tự từ không xác định.

13


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

Trong đồ án này, chúng ta sẽ tìm hiểu về VPPT. Đồ án bao gồm có 3 phần:
Phần I: Tìm hiều về VPPT (chương II)
Chương này sẽ trình bày các lí thuyết về VPPT, trong đó có: các định
nghĩa, các tính chất, các hướng tiếp cận đề phân tích cú pháp bằng VPPT, các
thuật ngữ trong VPPT. Đồng thời, chương này cũng trình bày về các giải thuật
dùng để phân tích cú pháp bằng VPPT.
Phần II: Xây dựng VPPT cho tiếng Việt (chương III)
Chương này được chia làm hai phần chính là tìm hiểu cú pháp tiếng Việt và
xây dựng VPPT cho tiếng Việt.
Trong phần tìm hiểu cú pháp tiếng Việt, chúng tôi đưa ra các đặc điểm của
các loại từ như: danh từ, danh ngữ, động từ, động ngữ, tính từ, tính ngữ … cùng
với các cấu trúc câu đơn giản trong tiếng Việt. Vì tiếng Việt rất đa dạng và phong
phú nên chúng tôi chỉ tìm hiểu các cấu trúc câu tiếng Việt ở mức cơ bản. Để tìm
hiểu được các cấu trúc câu phức tạp đòi hỏi rất nhiều công sức và thời gian. Cú
pháp tiếng Việt chúng tôi tìm hiểu trong đồ án này đủ để xây dựng VPPT để phân
tích những câu đơn giản trong tiếng Việt.

Phần thứ hai của chương này sẽ trình bày về cách xây dựng VPPT cho
tiếng Việt từ việc tìm hiểu cú pháp tiếng Việt ở phần một. Do tiếng Việt là một
ngôn ngữ có trật tự từ xác định nên phương pháp của chúng tôi xây dựng dựa trên
phương pháp xây dựng VPLK cho tiếng Việt. Phương pháp được trình bày trong
đồ án là phương pháp mà chúng tôi cho là hợp lý, đơn giản, dễ thực hiện.
Phần III: Cài đặt chương trình và thử nghiệm (chương IV)
Từ VPPT được xây dựng ở phần II, phần này sẽ trình bày chương trình
phân tích cú pháp cho VPPT. Sau khi hoàn thành chương trình, chúng tôi sử dụng
bộ văn bản gồm những cấu trúc câu không quá phức tạp để thử nghiệm. Cuối cùng
là nhứng kết luận về kết quả đạt được.

14


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

CHƯƠNG II: VĂN PHẠM PHỤ THUỘC
A. Khái niệm VPPT
Phân tích cú pháp phụ thuộc trong vài năm gần đây thu hút được sự quan
tâm của cộng đồng nghiên cứu xử lý ngôn ngữ tự nhiên vì cú pháp phụ thuộc là
một dạng biểu diễn câu có nhiều ứng dụng cho các bài toán phức tạp như trích
chọn thông tin hay tóm tắt văn bản.
Mô hình văn phạm phụ thuộc (VPPT) được phát hiện bởi nhà ngôn ngữ học
người Pháp Lucien Tesnière vào năm 1959. Vào thời Trung Cổ, văn phạm phụ
thuộc thường xuyên được sử dụng trong các phương pháp phân tích cú pháp
truyền thống.
Một VPPT bao gồm tập các từ, trong đó các từ có mối quan hệ bất đối xứng
với nhau được gọi là quan hệ phụ thuộc (dependency relation). Đó là mối quan hệ
phụ thuộc giữa cấp cao đối với cấp thấp, từ ở cấp thấp được gọi là dependent và từ
ở cấp cao được gọi là head. Từ mà không phụ thuộc vào từ nào trong câu được gọi

là root của câu.

Hình 2 Cấu trúc phụ thuộc của một câu tiếng Anh.
Hình 2 thể hiện cấu trúc phụ thuộc của một câu tiếng Viết đơn giản. Mối
quan hệ phụ thuộc được thể hiện bằng các cung có hướng chỉ từ head đến
dependent. Mỗi cung này đều có nhãn, nhãn này được gọi là kiểu của phụ thuộc
(dependency type). Ví dụ, danh từ “tôi” là một phụ thuộc của động từ “mua” với
kiểu phụ thuộc là DT_ĐT. Đồng thời, danh từ “bút” cũng là một phụ thuộc kiểu
ĐT_DT với cùng một head với “tôi” là động từ “mua”. Danh từ “bút” là head về
mặt cú pháp của phó từ “ba” và “cái” với kiểu phụ thuộc là ST_DT và TDT3.
Với cấu trúc phụ thuộc trong hình 2 , ta có thể tự thêm từ ROOT vào trước
từ đầu tiên của câu. Khi đó ROOT được coi là một từ ảo. Các từ không phụ thuộc
trực tiếp vào ROOT được gọi là từ thực. Việc thêm vào từ ROOT chỉ là một kỹ
15


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

thuật nhằm đơn giản hóa các hình thức từ định nghĩa và thuận tiện cho việc tính
toán. Nói một cách cụ thể, thông thường mỗi từ thực của một câu cần có một head
về mặt ngữ nghĩa, Do đó, thay vì nói động từ “mua" thiếu head, ta có thể nói rằng
nó phụ thuộc vào từ thêm vào ROOT .

B. Tính chất của VPPT
Robinson (1970) đã đưa ra 4 tiên đề cho tính chất của VPPT:
(1) Có một và chỉ một từ là độc lập, không phụ thuộc vào từ thực nào.
(2) Tất cả các từ còn lại đều phụ thuộc vào các từ khác.
Hai tiên đề này chỉ rõ rằng trong một câu, chỉ có một từ là độc lập và không
phụ thuộc vào từ nào. Từ này được gọi là root của câu, tức là root của cây phụ
thuộc sau khi phân tích câu.

(3) Tính đơn nhất: không có từ nào phụ thuộc trực tiếp nhiều hơn quá một từ.
Tiên đề (3) có nghĩa rằng nếu A phụ thuộc trực tiếp vào B thì nó không
được phụ thuộc trực tiếp vào nguyên tố thứ ba C. Đó là tính đơn nhất (uniqueness)
và nó được áp dụng hấu hết cho các dạng VPPT khác.
(4) Tính xạ ảnh (projectivity): Nếu A phụ thuộc trực tiếp vào B và có từ C nằm
giữa chúng (theo thứ tự tuyến tính của chuỗi) thì C phải phụ thuộc trực tiếp vào A
hoặc B hoặc các từ khác nằm giữa A và B.
Tiên đề thứ (4) được gọi là tính xạ ảnh (projectivity), nó không cho phép có
các cung cắt nhau trong cây phụ thuộc. Tuy nhiên, một số ngôn ngữ có trật tự từ tự
do sẽ không có tính chất này và đây là ưu điểm của VPPT khi mà cấu trúc cụm
(phrase structure) vốn phù hợp với những ngôn ngữ có nhiều quy tắc chặt chẽ giữa
các thành phần câu không làm được.
Vì cấu trúc phụ thuộc là một thành phần thiết yếu của cú pháp ngôn ngữ tự
nhiên nên ta cần phải có một số tiêu chuẩn để thiết lập mối quan hệ phụ thuộc và
phân biệt đâu là head và đâu là dependent trong mối quan hệ phụ thuộc đó. Các
tiêu chuẩn này không chỉ được nói đến trong các VPPT truyền thống mà còn trong
các framework khác trong đó khái niệm head về cú pháp đóng vai trò quan trọng.
Dưới đây là danh sách các tiêu chuẩn để xác định mối quan hệ cú pháp giữa head
H và dependent D trong cấu trúc ngôn ngữ C:
(1) H xác định phạm trù về cấu trúc của C và có thể thay thế cho C.
(2) H xác định phạm trù về ngữ nghĩa của C; D miêu tả chi tiết ngữ nghĩa
của H.
(3) H là bắt buộc; D có thể có có thể không.

16


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

(4) H lựa chọn D và xác định xem D có phải là tùy chọn hay bắt buộc phải

có.
(5) Hình thái của D phụ thuộc vào H.
(6) Vị trí tuyến tính của D được xác định bằng một tham chiếu đến H.
Các tiêu chuẩn ở trên bao gồm sự kết hợp của nhiều tiêu chuẩn khác nhau,
trong đó có cú pháp và ngữ nghĩa. Các nhà lí luận cho rằng có một số kiểu cấu trúc
phụ thuộc như hình thái, cú pháp, ngữ nghĩa, cú pháp bề mặt hay cú pháp chiều
sâu. Từ đó, các nhà lí luận đã đưa ra các tiêu chuẩn khác nhau cho các kiểu cấu
trúc cú pháp khác nhau, cụ thể là cấu trúc endocentric và exocentric. Trong hình 2,
quan hệ ST_DT và TDT3 giữa danh từ “bút” và phụ từ “ba”, “cái” là một cấu trúc
endocentric, trong đó head có thể thay thế toàn bộ cụm từ mà không phá hỏng cấu
trúc cú pháp của nó.
Tôi đã mua [ba] [cái] bút.
Cấu trúc edocentric thỏa mãn tất cả các tiêu chuẩn trong danh sách trên,
mặc dù tiêu chuẩn thứ 4 có vẻ ít liên quan nhất, bởi dependent trong cấu trúc trên
được coi là tùy chọn. Ngược lại, quan hệ phụ thuộc ĐT_DT giữa động từ “mua”
và danh từ “bút” là một cấu trúc exocentric, trong đó head không thể thay thế
được toàn bộ cụm từ.
Tôi đã mua [bút].
Cấu trúc exocentric không thỏa mãn tiêu chuẩn đầu tiên nhưng nó đáp ứng
được toàn bộ các tiêu chuẩn còn lại. Xét các quan hệ còn lại của ví dụ trong hình 2
mối quan hệ DT_ĐT và ĐT_DT rõ ràng là cấu trúc exocentric, còn quan hệ TĐT3
giữa động từ “mua” và phụ từ “đã”, ST_DT và TDT3 giữa “ba” và “cái” với danh
từ “bút” là một cấu trúc endocentric. Trong
Điểm khác biệt giữa cấu trúc endocentric và exocentric liên quan đến sự
khác biệt giữa quan hệ bổ ngữ cho head (head-complement) và bổ nghĩa cho head
(head-modifier), trong đó bổ ngữ liên quan đến exocentric còn bổ nghĩa liên quan
đến endocentric. Sự khác biệt giữa bổ ngữ và bổ nghĩa thường được xác định bằng
thuật ngữ ngữ trị (valency). Ngữ trị gắn liền với cấu trúc đối số vị ngữ ngữ nghĩa
kết hợp với một số lớp vị từ, cụ thể là động từ mà cũng có thể là danh từ hoặc tính
từ. Những phụ thuộc tương ứng với đối số của vị ngữ có thể là tùy chọn hoặc bắt

buộc trong cấu trúc bên ngoài nhưng chỉ xuất hiện mỗi lần đối với mỗi vị ngữ.
Ngược lại, các phụ thuộc không tương ứng với đối số của vị ngữ có thể xuất hiện
nhiều lần đối với mỗi vị ngữ và là một tùy chọn. Khung ngữ trị (valency frame)
của động từ bao gồm các đối số phụ thuộc. Một số lí luận khác cho rằng khung
ngữ trị có thể có các tùy chọn không phải là đối số. Trở lại ví dụ trong hình 2, các
17


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

quan hệ DTĐT và ĐT_DT có thể coi là các phụ thuộc giới hạn ngữ trị (valencybound) của động từ “mua”, trong khi đó, các phụ từ bổ nghĩa cho danh từ “bút” và
động từ “mua” được coi là ngữ trị tự do (valency-free).
Tồn tại một cấu trúc khác của VPPT là cấu trúc liên hợp (coordination).
Cấu trúc liên hợp là một cấu trúc nội bộ mà rất khó để có thể miêu tả trong VPPT.
Cấu trúc liên hợp cũng tương đương là một cấu trúc endocentric. Xét ví dụ:
Tôi và anh đang chơi
Câu hỏi đặt ra là: đâu là head của cụm tôi và anh. Không thể là bất cứ một
danh từ nào được vì không có độ ưu tiên nào cho các danh từ trong cụm từ, và
cũng không thể là cả ba danh từ vì như vậy sẽ trái với lí thuyết của phụ thuộc vì
mỗi dependent chỉ có một head trực tiếp; cũng không thể là từ và vì nó không
chứa chủ thể của phụ thuộc - chủ thể phải là danh từ chứ không phải là liên từ.
Như vây, cấu trúc liên hợp là một chuỗi từ liên tiếp có cùng một vai trò như nhau,
không có sự phụ thuộc nào giữa các từ đó. Lưu ý rằng chuỗi từ đó có thể là cụm từ
có cùng vai trò như nhau:
Tôi uống [cà phê ở bàn lúc 11 giờ] và [trà ở phòng khách lúc 4 giờ].
Cấu trúc liên hợp là một luật có dạng:
[[từ*]* liên hợp [từ*]]
Trong đó * có thể là một hoặc nhiều hơn một từ. Tất cả các từ trong cấu
trúc liên hợp đều có các quan hệ phụ thuộc như nhau trừ liên từ:


Hình 3. Cấu trúc liên hợp (Coordination)

C. Các cách tiếp cận cho VPPT
Phân tích cú pháp (PTCP) phụ thuộc có nhiệm vụ tự động phân tích cấu
trúc phụ thuộc cho một câu đầu vào. Kết quả cuối cùng của việc PTCP là tạo ra
một cây phụ thuộc có nhãn được mô tả như trong hình 2. Có rất nhiều cách tiếp
cận để giải quyết vấn đề này, trong đó có hai cách tiếp cận phổ biến là cách tiếp
cận điều khiển bằng dữ liệu (data-driven) và dựa vào văn phạm (grammar-based).
Trước hết, ta cần biết phương pháp giám sát (supervised), đây là phương
pháp đoán trước mà câu đầu vào được coi như là đầu vào của học máy được diễn
giải bằng cấu trúc phụ thuộc chính xác. Trong cách PTCP giám sát, có hai vấn đề
18


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

cần phải giải quyết; đó là vấn đề học (learning problem), có nhiệm vụ học mô hình
PTCP từ các mẫu đặt trưng và cấu trúc phụ thuộc của các mẫu đó, và vấn đề PTCP
(parsing problem), có nhiệm vụ áp dụng mô hình PTCP học được để phân tích câu
mới. Ta có thể nói như sau:
- Learning: Cho tập huấn luyện D của câu (được diễn giải bằng cấu trúc
phụ thuộc), quy nạp mô hình PTCP M, từ đó sử dụng mô hình này để phân tích
câu mới.
- Parsing: Cho mô hình PTCP M và câu S, suy dẫn đồ thị phụ thuộc tối ưu
G của S thông qua mô hình M.

I. PTCP phụ thuộc điều khiển bằng dữ liệu
Đây là cách tiếp cận áp dụng học máy vào ngôn ngữ để phân tích câu. Các
cách tiếp cận điều khiển bằng dữ liệu đều giả thiết rằng chuỗi đầu vào là câu hợp
lệ và nhiệm vụ của bộ PTCP là trả lại cây phụ thuộc hợp lý nhất cho câu. Cách

tiếp cận này bao gồm hai phương pháp: dựa vào chuyển tiếp (transition-based) và
dựa vào đồ thị (graph-based).
- PTCP phụ thuộc dựa vào chuyển tiếp (Transition-based)
Cách tiếp cận dựa vào chuyển tiếp xác định hệ thống chuyển tiếp hoặc máy
trạng thái để ánh xạ câu vào đồ thị phụ thuộc. Vấn đề học là để quy nạp mô hình
để dự đoán trạng thái chuyển tiếp tiếp theo, tạo ra bản ghi trạng thái, và vấn đề
PTCP sẽ xây dựng các chuỗi chuyển tiếp tối ưu cho câu đầu vào. Cách tiếp cận
này cũng giống như phương pháp shift-reduce trong văn phạm phi ngữ cảnh.
- PTCP phụ thuộc dựa vào đồ thị (Graph-based)
PTCP trên nền đồ thị sẽ xây dựng tập các ứng cử là các đồ thị phụ thuộc
cho câu. Vấn đề học ở đây là quy nạp mô hình, gán các trọng số cho đồ thị phụ
thuộc ứng cử của câu, nó cũng được gọi là PTCP cây khung lớn nhất, đó là việc
tìm đồ thị phụ thuộc có trọng số cao nhất. Với giả thuyết như vậy, vấn đề đó cũng
tương đương với việc tìm cây khung lớn nhất trong đồ thị.

II. PTCP phụ thuộc dựa vào văn phạm
Cách tiếp cận dựa vào văn phạm dựa vào các hình thức của văn phạm, nó
sẽ xét xem câu đầu vào có đúng là ngôn ngữ của văn phạm không. Các phương
pháp khác có thể sử dụng cả học máy và hình thức văn phạm, hai đặc trưng của
hai cách tiếp cận này. Tuy nhiên, hầu hết các phương pháp chỉ sử dụng một trong
hai cách tiếp cận này.

19


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

Hầu hết các cách tiếp cận điều khiển bằng dữ liệu đều giả thiết rằng chuỗi
đầu vào là câu hợp lệ và nhiệm vụ của bộ PTCP là trả lại cây phụ thuộc hợp lý
nhất cho câu. Trong khi đó, cách tiếp cận dựa vào văn phạm sẽ sử dụng các hình

thức văn phạm, vì vậy sẽ chỉ chấp nhận các chuỗi đầu vào hợp lệ. Với các đặc tính
của vấn đề PTCP trước đó, ta có thể nói rằng hình thức văn phạm là một thành
phần thiết yếu của mô hình M để phân tích câu mới. Tuy nhiên, cách tiếp cận này
có thể là thủ công hoặc được học từ dữ liệu ngôn ngữ, có nghĩa là cách tiếp cận
này có thể không tốt như cách tiếp cận điều khiển dữ liệu. Phân tích dựa vào văn
phạm gồm hai phương pháp là PTCP phụ thuộc phi ngữ cảnh (context-free
dependency) và dựa vào ràng buộc (constraint-based).
- PTCP phụ thuộc phi ngữ cảnh (context-free dependency)
PTCP phụ thuộc phi ngữ cảnh sẽ ánh xạ cấu trúc phụ thuộc vào cấu trúc phi
ngữ cảnh và sử dụng lại các thuật toán dành cho văn phạm phi ngữ cảnh. Nó bao
gồm các thuật thoán PTCP biểu đồ, cũng được sử dụng trong PTCP dựa vào đồ
thị, cũng như thuật toán shift-reduce.
- PTCP dựa vào ràng buộc (constraint-based)
PTCP dựa vào ràng buộc sẽ phân tích câu để thỏa mãn các ràng buộc. Văn
phạm được xác định như bằng tập các ràng buộc trên đồ thị phụ thuộc dạng tốt, có
nghĩa là bộ PTCP sẽ tìm một đồ thị phụ thuộc thỏa mãn tất cả các ràng buộc của
văn phạm. Một vài cách tiếp cận khác cho phép ràng buộc mềm, trọng số ràng
buộc và gán score cho đồ thị phụ thuộc bằng sự kết hợp của các trọng số của các
ràng buộc mà vi phạm tính chất đồ thị. Sau đó bộ PTCP sẽ tìm đồ thị phụ thuộc có
trọng số tốt nhất, phương pháp này gần giống với phương pháp PTCP dựa vào
ràng buộc.

D. Thuật toán PTCP
Các cách tiếp cận điều khiển dữ liệu đều dựa trên học máy và đòi hỏi kho
ngữ liệu với nhiều thông tin về từ loại và quan hệ phụ thuộc. Do đó, nếu đi theo
cách tiếp cận này sẽ cần rất nhiều ngữ liệu đầu vào. Hướng tiếp cận mà chúng tôi
sử dụng để giải quyết vấn đề này là cách tiếp cận PTCP phụ thuộc dựa vào văn
phạm. Tức là, xây dựng bộ luật cho VPPT tiếng việt rồi dùng thuật toán LSUP sẽ
mô tả dưới đây để phân tích câu.


I. Giả thuyết ban đầu
- Tính đồng nhất (Unity): kết quả cuối cùng của bước phân tích cú pháp sẽ là
một cây đơn (với duy nhất một gốc) chứa tất cả các từ trong chuỗi đầu vào.

20


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

- Tính đơn nhất (Uniqueness): như đã nhắc trong mục tính chất của VPPT, mỗi
từ chỉ có một và chỉ một head duy nhất, do đó, các liên kết phụ thuộc sẽ hình
thành một cấu trúc dạng cây chứ không phải bất kì một kiểu đồ thị nào.
- Tính xạ ảnh (Projectivity): trong tiếng Việt có rất nhiều cấu trúc câu phức tạp
vi phạm tính xạ ảnh. Đồ án của chúng tôi sẽ chỉ nghiên cứu những câu đơn có cấu
trúc không phức tạp và tuân theo tính xạ ảnh, tức là, nếu từ A phụ thuộc vào B thì
tất cả các từ giữa A và B sẽ phải phụ thuộc trực tiếp hoặc gián tiếp vào B; nó
tương đương với việc không có các nhánh cắt nhau trong cây cấu tử (constituency
tree).
- Cơ chế mỗi-từ-một-lần (word-at-a-time): bộ PTCP sẽ xác định mỗi từ một lần,
gắn chúng vào cây mỗi khi chúng được duyệt qua chứ không chờ duyệt toàn bộ
cụm từ.
- Duyệt đơn từ trái sang phải: trừ khi phải quay lui vì sự nhập nhằng, bộ PTCP sẽ
duyệt từ trái sang phải đối với câu đầu vào.

II. Các thuật toán PTCP cho VPPT
1. Thuật toán tìm kiếm Brute - force
(Tìm kiếm Brute-force)
Xác định toàn bộ các cặp từ trong câu, liên kết chúng theo cấu trúc
head-dependent hoặc dependent-head nếu nó thỏa mãn VPPT.
Đối với n từ, ta sẽ phải thử n(n – 1) cặp. Với số cặp từ phải thử, ta có độ

phức tạp của thuật toán là O(n2). Nếu phải quay lui, độ phức tạp sẽ là O(n3), tương
đương với thuật toán PTCP của cấu trúc cụm.
Thực hiện duyệt đơn từ trái sang phải, bước tìm kiếm Brute-force thực chất
là:
(Tìm kiếm triệt để Brute-force)
Chấp nhận từng từ một bắt đầu từ từ đầu tiên của câu, và liên kết mỗi từ
như là head hoặc dependent của từ trước đó.
Cách tìm kiếm này nảy sinh một vấn đề không rõ ràng: khi tìm kiếm một
liên kết có thể có của từ n, ta nên duyệt theo chiều lùi thông qua các từ n – 1, n –
2... đến 1 hay theo chiều tiến bắt đầu từ 1 đến n – 1?

21


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

Rõ ràng, nếu như văn phạm đòi hỏi tính xạ ảnh thì head hoặc dependent của
bất kì một từ trong câu sẽ có vị trí gần nhau. Do đó, các từ sẽ sớm tìm thấy head
và dependent bằng cách tìm theo chiều lùi hơn là chiều tiến.
Tuy nhiên, việc nên tìm head rồi sau đó tìm dependent trước hay tìm
dependent trước head hoặc cả hai cùng một lúc vẫn chưa được xác định một cách
rõ ràng. Do đó, ta có hai thuật toán ESH và ESD.

2. Thuật toán ESH và ESD
Hai thuật toán sẽ tìm kiếm head và dependent của một từ theo chiều lùi bắt
đầu từ từ đang xét đến từ đầu tiên.

Thuật toán ESH
(Tìm kiếm triệt để từ trái sang phải, head trước)
Cho câu gồm n từ:

[1] for i := 1 to n do
[2] begin
[3]
for j := i − 1 down to 1 do
[4]
begin
[5]
If thỏa mãn văn phạm,
Liên kết j là head của i;
[6]
if thỏa mãn văn phạm,
Liên kết j là dependent của i;
[7]
end
[8] end

Thuật toán ESD
(Tìm kiếm triệt để từ trái sang phải, dependent trước)
Tương tự với thuật toán ESH, chỉ thay đổi vị trí của bước [5] và [6] cho nhau
Thuật toán có thời gian tính toán là O(n 2), tuy nhiên, hai thuật toán này lại
không thỏa mãn tính đơn nhất và tính xạ ảnh của VPPT.

22


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

3. Thuật toán LSU
Vì bộ PTCP sẽ hoạt động theo cơ chế một từ một lần, tính đồng nhất có thể
kiểm tra vào bước cuối cùng của thuật toán: liệu bộ PTCP sẽ sinh cây với duy nhất

một gốc và chứa tất cả các từ trong câu? Trong khi đó, tính đơn nhất và xạ ảnh có
thể xây dựng trực tiếp trong thuật toán. Thuật toán ESHU và ESLU sẽ thỏa mãn
tính đơn nhất.
-

Nguyên lý: khi một từ đã có head, nó không thể có head thứ hai.
Thực hiện:
o Khi tìm kiếm dependent của từ đang duyệt, không kiểm tra
những từ vốn đã là dependent của từ khác.
o Khi tìm kiếm head của từ đang duyệt, tìm kiếm sẽ dừng sau khi
tìm được một head; không thể có head thứ hai.
Từ đó, ta có thuật toán:

Thuật toán ESHU
(Tìm kiếm triệt để từ trái sang phải, head trước, thỏa mãn tính đơn nhất)
Cho câu gồm n từ:
[1] for i := 1 to n do
[2] begin
[3]
for j := i − 1 down to 1 do
[4]
begin
[5]
If không có từ nào là head của i, then
[6]
if thỏa mãn văn phạm,
Liên kết j là head của i;
[7]
If từ j không phải là dependent của từ khác then
[8]

if thỏa mãn văn phạm,
Liên kết j là dependent của i
[9]
end
[10]end

23


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

Thuật toán ESDU
(Tìm kiếm triệt để từ trái sang phải, dependent trước, thỏa mãn tính đơn
nhất)
Tương tự với ESHU, chỉ thay đổi vị trí [5-6] và [7-8] cho nhau
Hai thuật toán trên đều có độ phức tạp là O(n 2). Tuy nhiên, việc cài đặt
thuật toán bằng cấu trúc danh sách liên kết sẽ có nhiều thuận tiện hơn. Nó sẽ đơn
giản hóa quá trình PTCP thông qua các danh sách các từ không hợp lệ sẽ được loại
bỏ. Thuật toán trên được cải tiến bằng cách sử dụng hai danh sách Wordlist và
Headlist. Trong đó, Wordlist chứa các từ đang duyệt còn Headlist chứa các từ
chưa có head. Từ đó ta có thuật toán LSU hoạt động với danh sách liên kết.
Thuật toán LSU
(Tìm kiếm dựa vào danh sách (List-based), thỏa mãn tính đơn nhất
Cho danh sách các từ cần được phân tích và hai danh sách Headlist và
Wordlist:
(Khởi tạo)
[1] Headlist := []; (Từ mà chưa có head)
[2] Wordlist := []; (Các từ đã được duyệt)
[3] repeat
(Chấp nhận một từ và thêm vào Wordlist)

[4] W := từ tiếp theo cần được phân tích;;
[5] Wordlist := W +Wordlist;
(Dependent của W chỉ có thể trong Headlist )
[6] for D := mỗi từ trong Headlist, bắt đầu với từ đầu tiên
[7] begin
[8]
if D là dependent của W then
[9]
begin
liên kết D là dependent của W;
xóa D khỏi Headlist;
[10]
end
[11] end;
(Tìm kiếm head của W; chỉ có một từ duy nhất là head)
[12] for H := mỗi từ trong Wordlist, bắt đầu với từ đầu tiên
24


Phân tích cú pháp tiếng Việt sử dụng Văn phạm phụ thuộc

[13]
[14]

if W là dependent của H then
begin
Liên kết W là dependent của H;
thoát khỏi vòng lặp for
[15]
end;

[16] if không tìm được head của W then
Headlist := W + Headlist;
[17]until tất cả các từ được phân tích hết..
Thuật toán sẽ tìm kiếm dependent cho W trước chứ không phải head. Lý do
là W, từ đang duyệt, sẽ được thêm vào Headlist nếu nó chưa có head, và bước này
chỉ được thực hiện sau khi tìm kiếm được các dependent có thể của W. Thuật toán
có độ phức tạp là O(n2) nhưng vẫn chưa thỏa mãn tính xạ ảnh của VPPT. Từ đó ta
đi đến thuật toán cuối cùng.

4. Thuật toán LSUP
Thuật toán LSU rất hiệu quả với việc sử dụng hai danh sách liên kết
Headlist và Wordlist, đồng thời cũng thỏa mãn tính đơn nhất của văn phạm. Tuy
nhiên, tính xạ ảnh – một tính chất quan trọng của VPPT – vẫn chưa được thỏa
mãn. Thuật toán do Covington đưa ra sẽ áp dụng với VPPT có tính xạ ảnh, không
thể áp dụng đối với VPPT không thỏa mãn tính chất đó. Chúng tôi quyết định sử
dụng thuật toán này vì tính xạ ảnh được xây dựng trong thuật toán thích hợp với
ngôn ngữ có trật từ từ xác định như tiếng Việt.
4.1. Định nghĩa tính xạ ảnh
Như đã đề cập ở trên, tính xạ ảnh có nghĩa là “không có nhánh cắt nhau
trong cây”. Một cách cụ thể hơn:
- Một cây có tính xạ ảnh khi và chỉ khi mỗi từ trong nó chứa một chuỗi liên
tiếp.
- Một từ chứa một chuỗi liên tiếp khi và chỉ khi: cho bất cứ hai từ trong cầu
mà nó bao hàm, nó cũng phải bao hàm tất cả các từ giữa hai từ đó.
Mệnh đề thứ hai đơn giản chỉ là một định nghĩa về sự liên tiếp – một chuỗi
liên tiếp là một chuỗi mà bất cứ từ nào giữa các từ là thành phần của từ khác thì
cũng phải là thành phần của từ đó.

25



×