Tài liệu Khóa luận Phân tích cú pháp tiếng việt theo tiếp cận thống kê: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vương Hoài Thu
PHÂN TÍCH CÚ PHÁP TIẾNG VIỆT THEO TIẾP
CẬN THỐNG KÊ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vương Hoài Thu
PHÂN TÍCH CÚ PHÁP TIẾNG VIỆT THEO TIẾP
CẬN THỐNG KÊ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Lê Anh Cường
HÀ NỘI – 2009
LỜI CẢM ƠN
Đầu tiên tôi xin tỏ lòng biết ơn sâu sắc đến thầy giáo hướng dẫn của tôi,TS Lê
Anh Cường, người đã hướng dẫn, chỉ bảo và tạo điều kiện để tôi hoàn thành luận văn
này.
Tôi xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Nguyễn Phương Thái và nhóm
xây dựng ngữ liệu Viet Treebank, đặc biệt là thầy Ngyễn Phương Thái, người đã
hướng dẫn và cung cấp tài liệu, dữ liệu cần thiết cho tôi trong quá trình hoàn thành
luận văn.
Tôi xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Công nghệ, đặc
biệt là nhữ...
78 trang |
Chia sẻ: haohao | Lượt xem: 1498 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Phân tích cú pháp tiếng việt theo tiếp cận thống kê, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vương Hoài Thu
PHÂN TÍCH CÚ PHÁP TIẾNG VIỆT THEO TIẾP
CẬN THỐNG KÊ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vương Hoài Thu
PHÂN TÍCH CÚ PHÁP TIẾNG VIỆT THEO TIẾP
CẬN THỐNG KÊ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Lê Anh Cường
HÀ NỘI – 2009
LỜI CẢM ƠN
Đầu tiên tôi xin tỏ lòng biết ơn sâu sắc đến thầy giáo hướng dẫn của tôi,TS Lê
Anh Cường, người đã hướng dẫn, chỉ bảo và tạo điều kiện để tôi hoàn thành luận văn
này.
Tôi xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Nguyễn Phương Thái và nhóm
xây dựng ngữ liệu Viet Treebank, đặc biệt là thầy Ngyễn Phương Thái, người đã
hướng dẫn và cung cấp tài liệu, dữ liệu cần thiết cho tôi trong quá trình hoàn thành
luận văn.
Tôi xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Công nghệ, đặc
biệt là những thầy cô trong bộ môn Khoa học máy tính, những người đã dạy bảo, tạo
điều kiện cho tôi trong suốt quá trình học tập tại trường.
Cuối cùng, gia đình và bạn bè là hậu phương vững chắc, là nguồn động viên giúp
tôi hoàn thành luận văn này.
TÓM TẮT
Phân tích cú pháp là một trong những bài toán cơ bản và quan trọng nhất trong
xử lý ngôn ngữ tự nhiên (XLNNTN). Kết quả của phân tích cú pháp được sử dụng
trong rất nhiều ứng dụng XLNNTN khác như dịch máy, hỏi đáp, trích chọn thông
tin… Xây dựng một bộ phân tích cú pháp cho tiếng Việt có độ chính xác cao là một
công việc rất có ý nghĩa. Mục tiêu đề ra của luận văn là xây dựng bộ phân tích cú pháp
tiếng Việt theo tiếp cận thống kê. Đây là một hướng tiếp cận khá mới mẻ trong cách
xây dựng bộ phân tích cú pháp tiếng Việt. Luận văn sẽ trình bày khái quát về các cách
tiếp cận trong việc xây dựng bộ phân tích cú pháp, và đi sâu tìm hiều về văn phạm phi
ngữ cảnh xác suất từ vựng (Lexicalized Probabilistic Context Free Grammar). Cụ thể
hơn, tôi tìm hiểu, nghiên cứu 3 mô hình xác suất của Collins [11], và áp dụng công cụ
phân tích của Bikel’s [9] để thử nghiệm cho phân tích cú pháp tiếng Việt. Phân tích cú
pháp dựa theo thống kê cần có dữ liệu để huấn luyện mô hình. Trong luận văn, tôi sẽ
sử dụng ngữ liệu Viet Treebank. Kết quả thực nghiệm cho thấy độ chính xác
(precision) là trên 80% với hơn 9000 câu huấn luyện và 500 câu kiểm tra. Những kết
quả của luận văn cho thấy rằng, đối với tiếng Việt, mô hình 1 của Collin có độ chính
xác thấp hơn so với mô hình 2, và mô hình 3 chưa thực sự hiệu quả. Ngoài ra, kết quả
thực nghiệm còn chỉ ra một số tham số của mô hình 2 của Collins có ảnh hưởng tới độ
chính xác của bộ phân tích cú pháp.
MỤC LỤC
MỞ ĐẦU ............................................................................................................1
Chương 1. Giới thiệu...........................................................................................2
1.1. Xử lý ngôn ngữ tự nhiên và các vấn đề chính............................................2
1.2. Phân tích cú pháp và ứng dụng trong xử lý ngôn ngữ tự nhiên ..................3
1.2.1. Định nghĩa: ........................................................................................3
1.2.2. Vai trò của phân tích cú pháp trong xử lý ngôn ngữ tự nhiên .............3
1.3. Phân tích cú pháp dành cho tiếng Việt ......................................................4
1.3.1. Nhập nhằng – vấn đề chính của xử lý ngôn ngữ tự nhiên: ..................4
1.3.2. Phân tích cú pháp trong tiếng Việt .....................................................5
1.4. Mục tiêu ...................................................................................................6
Chương 2. Phương pháp phân tích cú pháp..........................................................7
2.1. Văn phạm phi ngữ cảnh ............................................................................7
2.2. Các phương pháp cổ điển..........................................................................8
2.2.1. Phân tích top – down..........................................................................8
2.2.2. Phân tích bottom – up: .....................................................................10
2.2.3. So sánh giữa top – down và bottom – up..........................................13
2.2.4. Thuật toán CYK (Cocke – Younger – Kasami) ................................13
2.2.5. Thuật toán Earley.............................................................................15
2.3. Văn phạm phi ngữ cảnh xác suất (PCFGs)..............................................19
2.3.1. Định nghĩa .......................................................................................19
2.3.2. Nhược điểm của văn phạm phi ngữ cảnh xác suất ............................20
2.4. Văn phạm phi ngữ cảnh xác suất từ vựng (LPCFGs) ..............................22
2.4.1. Cấu trúc head...................................................................................22
2.4.2. Mô hình một: Mô hình cơ sở............................................................23
2.4.3. Mô hình 2: Phân biệt định ngữ và bổ ngữ, subcategorization ...........25
2.4.4. Mô hình 3: Trace và Wh-movement.................................................27
Chương 3. Tiếp cận trong xây dựng bộ phân tích cú pháp Tiếng Việt................28
3.1. Penn Treebank........................................................................................28
3.1.1. Gán nhãn từ loại...............................................................................28
3.1.2. Bracketing .......................................................................................30
3.2. Viet Treebank.........................................................................................32
3.2.1. Mục tiêu...........................................................................................32
3.2.2. Danh sách từ loại và các nhãn cú pháp .............................................32
3.2.3. Một số đặc điểm của Viet Treebank .................................................34
Chương 4. Bộ phân tích cú pháp của Bikel ........................................................35
4.1. Một số nhiệm vụ cơ bản..........................................................................35
4.1.1. Tiền xử lý ........................................................................................35
4.1.2. Huấn luyện ......................................................................................40
4.1.3. Các loại tham số và các đánh giá......................................................42
4.1.4. Decode.............................................................................................48
4.2. Tổng quan về bộ phân tích cú pháp.........................................................49
4.2.1. Mở đầu ............................................................................................49
4.2.2. Vấn đề cơ bản ..................................................................................50
4.2.3. Tổng quan về hệ thống.....................................................................50
4.2.4. Khả năng..........................................................................................54
4.3. Kết luận..................................................................................................55
Chương 5. Áp dụng bộ phân tích cú pháp của Bikel và dữ liệu Viet Treebank...56
5.1. Gói ngôn ngữ tiếng Việt .........................................................................56
5.2. Quá trình thực hiện: ................................................................................57
5.2.1. Xử lý dữ liệu....................................................................................57
5.2.2. Cấu hình để thực hiện: .....................................................................58
5.2.3. Huấn luyện ......................................................................................61
5.2.4. Phân tích cú pháp.............................................................................62
5.2.5. Đánh giá kết quả: .............................................................................62
5.3. Kết quả đạt được:....................................................................................63
KẾT LUẬN.......................................................................................................67
TÀI LIỆU THAM KHẢO .................................................................................68
DANH SÁCH CÁC BẢNG
Bảng 1: Bảng phân tích bằng thuật toán CYK ..................................................15
Bảng 2: Bảng nhãn từ loại trong Penn Treebank................................................29
Bảng 3: Bảng nhãn cú pháp trong Penn Treebank..............................................31
Bảng 4: Nhãn từ loại trong Viet Treebank .........................................................32
Bảng 5: Bảng nhãn cụm từ trong Penn Treebank...............................................33
Bảng 6: Bảng nhãn mệnh đề trong Viet Treebank..............................................34
Bảng 7: Các mức back-off với ...........................................................47
Bảng 8: Tham số do Bikel đề xuất ....................................................................47
Bảng 9: Cấu trúc back-off đối với các tham số .................................................48
Bảng 10: Sô lượng câu để huấn luyện................................................................58
Bảng 11: Bảng so sánh kết quả đối với xâu dài không quá 40 từ.......................63
Bảng 12: Bảng so sánh kết quả đối với xâu dài không quá 100 từ.....................64
DANH SÁCH CÁC HÌNH VẼ
Hình 1: Mô hình xử lý ngôn ngữ tự nhiên...........................................................1
Hình 2: Cây cú pháp của câu "tôi nhìn cô gái với chiếc ống nhòm" .....................5
Hình 3: Dẫn xuất phân tích top - down ..............................................................10
Hình 4: Dẫn xuất phân tích bottom - up.............................................................13
Hình 5: Mã giả của thuật toán Earley.................................................................17
Hình 6: Miêu tả dẫn xuất xâu từ Ni .....................................................................1
Hình 7: Cây cú pháp của câu "bò ăn cỏ " ...........................................................20
Hình 8: Cây dẫn xuất thứ nhất của xâu "Trung hiểu Nam hơn Thắng"...............21
Hình 9: Cây dẫn xuất thứ hai của xâu "Trung hiểu Nam hơnThắng"..................21
Hình 10: Cây cú pháp của xâu "bò ăn cỏ" có thêm thông tin từ vựng.................23
Hình 11: Miêu tả độ đo khoảng cách trong câu..................................................25
Hình 12: Cây cú pháp với hậu tố - C đánh dấu complement. "IBM" và "Lotus" là
chủ ngữ và bổ ngữ, trong khi "Last week" là định ngữ. ..............................................25
Hình 13: Hai ví dụ về các thành phần bổ trợ được sinh ra một cách độc lập đã
gây ra sai số. ..............................................................................................................26
Hình 14: Dữ liệu đã gán nhãn trước khi xử lý thủ công .....................................30
Hình 15: Dữ liệu đã gán nhãn sau khi xử lý thủ công ........................................30
Hình 16: Dữ liệu hoàn chỉnh..............................................................................32
Hình 17: Liên kết từ trong Penn Treebank.........................................................36
Hình 18: Liên kết từ trong Viet Treebank ..........................................................36
Hình 19: Nút NBP cần thêm nút NP ..................................................................37
Hình 20: Nhãn NBP được chỉnh sửa..................................................................38
Hình 21: Nâng cấc dấu câu lên, trong cây bên phải xuất hiện các dấu phẩy nằm
cạnh nhau ..................................................................................................................39
Hình 22: Nút có nhãn HEAD cũng không là ngoại lệ khi thay đổi nhãn chức năng
..................................................................................................................................40
Hình 23: Một ví dụ về hàm vi (“verb intervening”) nhận giá trị true, do nhãn NP
có chứ động từ ...........................................................................................................41
Hình 24: Các thành phần và luồng làm việc......................................................51
1
MỞ ĐẦU
Phân tích cú pháp là một bài toán trung tâm trong XLNNTN. Phân tích cú pháp
được sử dụng trong rất nhiều ứng dụng của XLNNTN. Độ chính xác của bộ phân tích
cú pháp có ảnh hưởng lớn tới kết quả của các ứng dụng xử lý ngôn ngữ khác. Các
nghiên cứu về xây dựng phân tích cú pháp tự động đã được phát triển từ rất sớm và đã
có nhiều bộ phân tích cú pháp với chất lượng rất tốt cho các ngôn ngữ như tiếng Anh,
tiếng Trung [9]. Ngày nay, nhiều ứng dụng trong XLNNTN đang được nghiên cứu và
phát triển cho tiếng Việt và nhu cầu về một bộ phân tích cú pháp tiếng Việt với độ
chính xác cao là rất cấp thiết. Tuy nhiên, các nghiên cứu về phân tích cú pháp tiếng
Việt vẫn còn hạn chế và tập trung chủ yếu vào tiếp cận cũ (Knowledge-based), với kết
quả còn hạn chế và chưa có bộ phân tích nào được công bố rộng rãi. Vì vậy, khóa luận
này hướng tới việc xây dựng bộ phân tích cú pháp tiếng Việt theo tiếp cận thống kê.
Chúng tôi theo tiếp cận này sử dụng văn phạm phi ngữ cảnh xác suất từ vựng
(Lexicalized Probabilistic Context Free Grammar). Luận văn sẽ nghiên cứu các cách
tiếp cận cơ bản trong phân tích cú pháp, đi sâu tìm hiểu văn phạm phi ngữ cảnh xác
suất từ vựng theo 3 mô hình của Collins [11]. Từ đó, dựa vào hiểu biết về ngữ liệu
Viet Treebank để huấn luyện và đánh giá độ chính xác của mô hình dựa trên việc tích
hợp tiếng Việt vào bộ phân tích cú pháp của Bikel [9]. Kiến trúc cúa hệ phân tích cú
pháp của Bikel cũng được nghiên cứ và phân tích để có thể sửa đổi đối tượng tương
thích cho tiếng Việt cũng như khảo sát ảnh hưởng của các tham số khác nhau đối với
phân tích cú pháp tiếng Việt.
2
Chương 1. Giới thiệu
Đã từ lâu, con người luôn ước mơ phát minh ra một chiếc máy có khả năng nghe
và thực hiện các mệnh lệnh của con người. Cho đến nay, một hệ thống như vậy vẫn
còn trong ước mơ bởi máy móc vẫn gặp khó khăn trong việc nhận biết ngôn ngữ của
con người, từ việc nghe đúng cho đến việc hiểu đúng được lời nói của con người rất là
khó khăn. Tuy nhiên, con người đang tích cực nghiên cứu phát triển ra công nghệ mới
để thực hiện được một hệ thống thông minh như con người, lĩnh vực đó là xử lý ngôn
ngữ tự nhiên.
1.1. Xử lý ngôn ngữ tự nhiên và các vấn đề chính
Xử lý ngôn ngữ tự nhiên là lĩnh vực trong khoa học máy tính, nhiệm vụ của nó là
xây dựng một hệ thống có thể phân tích, hiểu được ngôn ngữ của con người, không
những thế hệ thống này còn có khả năng phản hồi lại bằng chính ngôn ngữ của con
người. Như vậy ta có một mô hình đơn giản về một hệ thống xử lý ngôn ngữ tự nhiên
như sau:
Xử lý ngôn ngữ tự nhiên có rất nhiều ứng dụng trong thực tế, có thể kể ra ở đây
một vài ứng dụng của xử lý ngôn ngữ tự nhiên như là dịch máy (machine translation),
tìm kiếm thông tin (information retrieval), trích chọn thông tin (information retrieval)
hay như là nhận dạng tiếng nói (speech recognition).
- Dịch máy (machine translation) là một ứng dụng có nhiệm vụ dịch một văn bản
từ một ngôn ngữ (ví dụ như tiếng Anh) sang một ngôn ngữ khác (chẳng hạn là tiếng
Việt), giống như người phiên dịch.
Hệ thống
ngôn ngôn
hiểu ngôn
sinh ra ngôn
Hình 1: Mô hình xử lý ngôn ngữ tự nhiên
3
- Tìm kiếm thông tin (information retrieval): ở đây ta có thể thấy một ví dụ rất
điển hình đó là web search engine, www.google.com, website này là một dạng của tìm
kiếm thông tin, tức là khi cần một thông tin, hệ thống sẽ thực hiện việc tìm kiếm trong
dữ liệu (tập rất nhiều các văn bản) một hay nhiều văn bản tương tự với thông tin ta cần
tìm kiếm.
- Trích chọn thông tin (information extraction): khi đưa vào một tập văn bản, hệ
thống này có thể trả về cho ta những đoạn trong văn bản đó miêu tả thông tin chúng ta
quan tâm. Một ví dụ đơn giản ở đây là khi gặp một trang blog ta cần xác định một số
thông tin về cá nhân sở hữu blog như tên, giới tính, địa chỉ, v.v… thì hệ thống trích
chọn thông tin có nhiệm vụ trả về cho ta các thông tin này.
- Nhận dạng tiếng nói (speech recognition): Khi bạn nói một câu, chúng ta đã có
những hệ thống có thể ghi lại những âm thanh này ở dạng dữ liệu số, mục tiêu của ứng
dụng này là chuyển được sóng âm thanh này thành dữ liệu văn bản.
Trên đây là một số ứng dụng của xử lý ngôn ngữ tự nhiên và trong thực tế còn
nhiều ứng dụng khác đang được nghiên cứu và phát triển. Tuy nhiên, các ứng dụng
ngôn ngữ tự nhiên đều có chung một số bài toán cơ sở như là phân tích từ tố, phân tích
cú pháp, phân tích ngữ nghĩa. Trong đó, phân tích cú pháp đóng vai trò trung tâm
trong ứng dụng XLNNTN và là mục tiêu của luân văn này.
1.2. Phân tích cú pháp và ứng dụng trong xử lý ngôn ngữ tự nhiên
1.2.1. Định nghĩa:
Phân tích cú pháp (parsing hay syntatic analys) là quá trình phân tích một chuỗi
từ tố (chuỗi từ tố này là kết quả của quá trình phần tích từ tố, thông thường đối với xử
lý ngôn ngữ là các từ), nhằm đưa ra cấu trúc ngữ pháp của chuỗi từ đó dựa vào một
văn phạm nào đó. Thông thường cấu trúc ngữ pháp được chọn ở đây thường là ở dạng
cây, bởi thông qua dạng này sự phụ thuộc của các thành phần là trực quan.
1.2.2. Vai trò của phân tích cú pháp trong xử lý ngôn ngữ tự nhiên
Có thể nói phân tích cú pháp là bài toán cơ sở, xuất hiện rất nhiều trong các ứng
dụng của xử lý ngôn ngữ tự nhiên. Ví dụ đầu tiên ta có thể thấy ngay đó là áp dụng
phân tích cú pháp trong kiểm tra lỗi ngữ pháp. Đối với việc kiểm tra lỗi ngữ pháp ta
cần thực hiện việc phân tích cú pháp câu đầu vào, xem cấu trúc có đúng không?
Trong dịch máy, hiện nay, có ba chiến lược dịch cơ bản là dịch trực tiếp, dịch
chuyển đổi và dịch liên ngữ. Đối với dịch trực tiếp, cách dịch này dựa vào bộ từ điền
4
song ngữ để dịch, không sử dụng đến phân tích cú pháp. Tuy nhiên trong dịch chuyển
đổi và dịch liên ngữ, quá trình phân tích cú pháp là một bước quan trọng. Tư tưởng
chung ở đây là đều phân tích câu nguồn trở thành cây cú pháp sử dụng bộ phân tích cú
pháp. Đối với dịch chuyển đổi, hệ thống sẽ xây dựng cây cú pháp tương đương trong
ngôn ngữ đích và cuối cùng đưa cây cú pháp thành câu cần đưa ra. Đối với dịch liên
ngữ, cây cú pháp ở ngôn ngữ nguồn được đưa thành một biểu diễn chung giữa hai
ngôn ngữ sau đó dạng biểu diễn chung này được chuyển về cây cú pháp ở ngôn ngữ
đích, cuối cùng trả về câu cần dịch.
Trong lĩnh vực như nhận dạng tiếng nói (speech recoginition) sử dụng phân tích
cú pháp có thể giúp sửa sai quá trình nhận dạng. Trong tổng hợp tiếng nói, phân tích
cú pháp giúp đặt trọng âm vào đúng vị trí trong câu.
Những ví dụ ở trên đây đã khẳng định được vai trò của phân tích cú pháp trong
xử lý ngôn ngữ tự nhiên. Vì vậy, ứng dụng xử lý ngôn ngữ tự nhiên cho tiếng Việt cần
phải giải quyết được bài toán cơ sở và trọng tâm là phân tích cú pháp cho tiếng Việt.
1.3. Phân tích cú pháp dành cho tiếng Việt
1.3.1. Nhập nhằng – vấn đề chính của xử lý ngôn ngữ tự nhiên:
Trước tiên, ta lấy một câu làm ví dụ: “Con ngựa đá con ngựa đá”. Trong câu này,
từ “đá” xuất hiện hai lần, từ đá thứ nhất là động từ chỉ hành động sử dụng chân tác
động vào vật khác, từ “đá” thứ hai lại là tính từ thể hiện chất liệu của con ngựa thứ hai.
Có một số nhập nhằng trong xử lý ngôn ngữ tự nhiên như là
- Nhập nhằng trong việc phân đoạn từ (word segmentation): ví dụ câu học sinh
học sinh học, việc phân đoạn từ chính xác sẽ là học_sinh học sinh_học, nhưng có thể
gặp tách như học_sinh học_sinh học, hoặc học sinh_học sinh_học. Có thể thấy việc
phân đoạn từ các từ đều chính xác nhưng trong hai cách tách từ cuối đều không chấp
nhận được vì các cụm từ này không có ý nghĩa.
- Nhập nhằn trong gán nhãn từ loại: giống như ví dụ “con ngựa đá con ngựa đá”
từ “đá” thứ hai có thể được gán nhãn là V (nhãn chỉ động từ) trong khi nó là một tính
từ thể hiện chất liệu.
- Nhập nhằng trong phân tích cú pháp: Đối với phân tích cú pháp ta có thể thấy
hai loại như sau:
+ Nhập nhằng do việc xác định từ bổ nghĩa:
Ví dụ: “Tôi nhìn cô gái với ống nhòm”
5
Ta sử dụng cây cú pháp để miêu tả 2 trường hợp của câu này
Hình 2: Cây cú pháp của câu "tôi nhìn cô gái với chiếc ống nhòm"
Cây cú pháp bên trái miêu tả trường hợp “với ống nhòm” bổ nghĩa cho từ “cô
gái”, trong trường hợp này câu được hiều là “tôi” “nhìn” “cô gái với ống nhòm” (tôi
nhìn thấy cố gái và cô gái ấy có một cái ống nhòm). Còn hình bên phải miêu ta trường
hợp “với ống nhòm” bổ nghĩa cho động từ “nhìn”. Câu này có thể hiểu là “tôi” “nhìn”
“cô gái” “với ống nhòm” (tôi dùng ống nhòm để nhìn cô gái).
+ Nhập nhằng thứ hai là hiện tượng liên kết từ: Nhập nhằng này xảy ra trong
một câu mà một từ có thể liên kết với từ trước hay từ đằng sau nó tạo thành một câu có
ý nghĩa hoàn toàn khác nhau. Ví dụ như câu sau: “Nam hiểu Trung hơn Thành”. Nếu
như từ “Thành” liên kết với từ “Trung” ta có thể hiểu câu này là Nam hiểu Trung
nhiều hơn là Nam hiểu Thành, nhưng ta có thể hiểu câu này theo một cách khác là
Nam hiểu Trung nhiều hơn Thành hiểu Trung.
1.3.2. Phân tích cú pháp trong tiếng Việt
Mặc dù phân tích cú pháp có vai trò trung tâm trong các ứng dụng XLNNTN,
nhưng những nghiên cứu về phân tích cú pháp cho tiếng Việt còn rất hạn chế và chưa
có bộ phân tích cú pháp nào được công bố rộng rãi. Một số bộ phân tích cú pháp đi
theo hướng tiếp cận cũ (knowledge-base) thực hiện việc xây dựng luật ngữ pháp thủ
công và không sử dụng thống kê trong đó. Do việc xây dựng luật ngữ pháp thủ công
nên độ chính xác của bộ phân tích cú pháp này còn chưa cao, chỉ phân tích được một
6
số lượng hữu hạn câu do văn phạm sinh ra. Hướng tiếp cận sử dụng thống kê cũng đã
được nghiên cứu [6], nhưng còn sơ lược và đặc biệt là chưa có kết quả thực nghiệm.
1.4. Mục tiêu
Luận văn hướng tới việc xây dựng bộ phân tích cú pháp tiếng Việt theo tiếp cận
thống kê với các nghiên cứu cụ thể sau:
- Nghiên cứu các tiếp cận và phương pháp cơ bản trong phân tích cú pháp, tập
trung vào tiếp cận sử dụng thông kê và thông tin từ vựng.
- Phân tích và áp dụng bộ phân tích cú pháp của Bikel [9] để xây dựng bộ phân
tích cú pháp tiếng Việt.
Với mục tiêu đó luận văn sẽ trình bày các nội dung sau:
Chương 2 trình bày về các phương pháp tiếp cận trong việc xây dựng bộ phân
tích cú pháp từ phương pháp cổ điển như chiến lược phân tích top-down hay chiến
lược phân tích bottom-up, cho đến hướng tiếp cận thống kê như sử dụng văn phạm phi
ngữ cảnh xác suất, cuối cùng là sử dụng văn phạm phi ngữ cảnh xác suất từ vựng để
xây dựng bộ phân tích cú pháp.
Chương 3 sẽ trình bày về kho ngữ liệu, một thành phần không thể thiếu theo
hướng tiếp cận sử dụng thống kê. Chương này sẽ giới thiệu về một số đặc điểm, cách
tiếp cận xây dựng kho ngữ liệu tiếng Anh – Penn Treebank và kho ngữ liệu tiếng Việt
– Viet Treebank.
Chương 4 sẽ cung cấp cái nhìn tổng quan nhất về bộ phân tích cú pháp của Bikel.
Chương 5 sẽ trình bày về cách thức thực hiện thực nghiệm thông qua việc sử
dụng bộ phân tích cú pháp của Bikel cho tiếng Việt dựa vào kho ngữ liệu Viet
Treebank và các kết quả cũng như đánh giá với hướng tiếp thống kê sử dụng Viet
Treebank để huấn luyện.
Cuối cùng là kết luận và tài liệu tham khảo.
7
Chương 2. Phương pháp phân tích cú pháp
Trong chương trước chúng ta đã thấy được một số khái niệm cơ bản về xử lý
ngôn ngữ tự nhiên, phân tích cú pháp là gì và vai trò của nó trong các vấn đề của xử lý
ngôn ngữ tự nhiên. Để xây dựng bộ phân tích cú pháp, hầu hết các phương pháp hiện
nay đều sử dụng văn phạm phi ngữ cảnh (Context Free Grammar) hay những cải tiến
bố sung để miêu tả các ngữ pháp. Trong chương này, chúng ta sẽ tìm hiểu một số
phương pháp xây dựng bộ phân tích cú pháp từ trước đến nay. Đầu tiên phần 2.1, sẽ
nêu lại khái niệm về văn phạm phi ngữ cảnh, khái niệm chung để biểu diễn ngôn ngữ
và nền tảng cho các phương pháp sau này. Trong phần 2.2, chúng ta sẽ nhắc lại hai
phương pháp cổ điển là top – down và bottom – up (thuật toán CYK – cook, young
and kasami), chart parsing (thuật toán Earley – phương pháp kết hợp giữa top – down
và bottom – up). Phần 2.2 sẽ đưa ra hướng đi mới trong việc xây dựng bộ phân tích cú
pháp, bài toán phân tích cú pháp được coi như là một vấn đề trong học máy. Và trong
chương cuối, chúng ta sẽ tiếp cận với một mô hình sử dụng từ tố kết hợp với xác suất
để giải quyết bài toán.
2.1. Văn phạm phi ngữ cảnh
Muốn thực hiện được phân tích cú pháp trước tiên ta cần phải biểu diễn được
ngôn ngữ đó bằng máy tính. Ngôn ngữ được định nghĩa là tập các xâu mà mỗi xâu này
được tạo ra bởi một tập hữu hạn các phần tử không rỗng gọi là bảng chữ cái, ví dụ như
bảng chữ cái tiếng Việt và ngôn ngữ tiếng Việt. Văn phạm là một bộ gồm 4 phần từ: G
= với
- chứa hữu hạn các phần từ được gọi là phần tử kết thúc – terminal.
- chứa hưu hạn các phần tử được gọi là phần tử không kết thúc –
nonterminal và .
- S là một trong những phần tử được gọi là ký tự bắt đầu.
- R là một tập hữu hạn các văn phạm, chứa các luật ngữ pháp(đôi khi gọi là sản
xuất – production).
Hợp giữ và được gọi là từ điển đầy đủ của ngôn ngữ.
Một xâu gọi là được sinh ra bởi văn phạm khi và chỉ khi xâu đó có một dẫn xuất
đầy đủ trong G.
Chomsky đưa ra phân loại của mình về văn phạm:
- Văn phạm loại 0: Văn phạm cấu trúc câu là các văn phạm mà luật có dạng
- Văn phạm loại 1: Văn pham cảm ngữ cảnh là văn phạm mà luật có dạng
với là độ xài của xâu .
- Văn phạm loại 2: Văn phạm phi ngữ cảnh là văn phạm mà luật có dạng
- Văn phạm loại 3: Văn phạm chính quy là văn phạm mà luật có dạng
8
Trong phân tích cú pháp người ta sử dụng văn phạm phi ngữ cảnh hoặc một số
cải tiến của văn phạm phi ngữ cảnh để biểu diễn văn phạm xây dựng các phương pháp
để giải quyết bài toán phân tích cú pháp. Phần tiếp theo sẽ trình bày về các phương
pháp này.
2.2. Các phương pháp cổ điển
2.2.1. Phân tích top – down
2.2.1.1. Định nghĩa
Cây cú pháp sinh ra bởi bộ phân tích top – down là kết quá của quá trình xây
dựng cây bằng việc xuất phát từ một ký tự bắt đầu(gốc của cây), sử dụng các luật trong
văn phạm phi ngữ cảnh để đi từ gốc đến là (ký tự kết thúc – nằm trong chuỗi cần phân
tích). Đối với các luật có cùng vế trái, việc lựa chọn luật có thể đơn giản dựa theo độ
lớn của xâu về phải (so sánh giữa các xâu về phải) hoặc đơn giản là thứ tự của các xâu
vế phải trong bộ luật. Trong trường hợp phân tích top – dowm chưa kết thúc (chưa
phát triển được toàn bộ xâu đầu vào) thì ta thực hiện quay lui để tìm luật khai triển phù
hợp.
2.2.1.2. Mô tả thuật toán
Đầu vào: văn phạm phi ngữ cảnh không đệ quy trái (nếu văn phạm đệ quy trái
thì khi phân tích sẽ xảy ra hiện tượng lặp vô hạn) và chuỗi từ cần phân tích.
Đầu ra: là các cây cú pháp của chuỗi từ cân phân tích.
- Bước 1: Ta gọi gốc của cây là S (ký tự bắt đầu). Ta sử dụng một con trỏ chỉ
vào xâu cần phân tích. Từ vào hiện tại là từ trong xâu vào được con trỏ trỏ đến. Vị trí
đầu tiên của con trỏ là từ trái nhất của xâu.
- Bước 2: Giả sử A là ký tự đỉnh hiện tại và con trỏ đang trỏ vào ký tự x của xâu
đầu vào (đỉnh hiện tại là đỉnh sẽ được xây dựng tiếp theo)
+Nếu A thuộc tập ký tự không kết thúc thì chọn luật mà vế trái là A, giả sử
luật này có dạng A X1X2..Xk thì ta chọn nút X1 làm nút đang xét. Nếu như k = 0 thì
đỉnh phân tích tiếp theo sẽ là ký tự bên phải của A.
+ Nếu A thuộc tập ký tự kết thúc thì thực hiện so sánh với từ vào hiện tại.
Nếu trùng nhau thì lấy ký tự bên phải A là đỉnh phân tích tiếp và con trỏ dịch sang
phải một ký tự. Nếu như khác nhau thì quay lại bước 2a, chọn luật kế tiếp bắt đầu bằng
A.
Sau một số hữu hạn bước ta sẽ phân tích được hết xâu vào, lúc đó sẽ có trường
hợp sau:
- Xây dựng được cây cú pháp với đầu vào là văn phạm và xâu
- Không xây dựng được cây cú pháp
2.2.1.3. Ví dụ
Ta sử dụng văn phạm sau:
S NP VP (1)
NP N (2)
9
N “tôi” (3)
N “bò” (4)
N “cỏ” (5)
VP V (6)
VP V PP (7)
V “ăn” (8)
V “bò” (9)
PP N (10)
Ta thực hiện việc phân tích câu “tôi bò”.
Sau đây là dẫn xuất của quá trình phân tích
10
Hình 3: Dẫn xuất phân tích top - down
Quá trình phân tích từ trái qua phải, tìm dẫn xuất của ký tự không kết thúc trái
nhất, ưu tiên luật từ trên xuống dưới, ở đây từ dẫn xuất d e ta thấy xâu “tôi” “ăn”
không chính xác nên quay lui, ta có được dẫn xuất f khi sử dụng luật 9. Cuối cùng ta
thu được xâu cần phân tích.
2.2.2. Phân tích bottom – up:
2.2.2.1. Định nghĩa:
Khác hẳn với phân tích top – down, bộ phân tích bottom – up xuất phát từ một
câu đầu vào, sử dụng hai hành động chính là đẩy vào (shift) và thu gọn (reduce) để thu
gọn chuỗi đầu vào thành ký tự bắt đầu (gốc của cây cú pháp). Sử dụng một ngăn xếp,
ta tiến hành đẩy các từ đầu vào vào ngăn xếp theo chiều từ trái sang phải (shift), nếu
như ngăn xếp có thể thu gọn (reduce – ngăn xếp lúc này chứa vế phải của một luật và
những ký tự này có thể được thay bằng vế trái của luật đó). Cũng giống như trong
phân tích top – down, khi xảy ra lỗi, hoặc không phân tích được, chúng ta thực hiện
hành động quay lui để phát triển theo một luật khác. Quá trình này tiếp tục cho đến khi
ta không thể quay lui được nữa, lúc này nếu ngăn xếp không được thu gọn về trạng
thái bắt đầu thì bộ phân tích bottom – up không thể phân tích chuỗi từ đầu vào.
2.2.2.2. Ví dụ
Ta sử dụng lại văn phạm đã định nghĩa ở trên để phân tích câu “bò ăn cỏ”
S NP VP (1)
NP N (2)
N “tôi” (3)
N “bò” (4)
N “cỏ” (5)
11
VP V (6)
VP V PP (7)
V “ăn” (8)
V “bò” (9)
PP N (10)
Ta có cây phân tích
12
13
Hình 4: Dẫn xuất phân tích bottom - up
Ta thấy có quá trình tích khi đến trạng thái (e) có lỗi xảy ra nên thực hiện quay
lui, chú ý ở đây có trường hợp N bò, và V bò, tuy nhiên với cách sắp xếp luật
như trên nên trường hợp này không bị phân tích lỗi, tuy nhiên khi có lỗi xảy ra có thể
vẫn quay lui về cây cú pháp đúng này.
2.2.3. So sánh giữa top – down và bottom – up
Cả hai phương pháp này đều có những ưu điểm và nhược điểm riêng. Chiến lược
phân tích top – down không lãng phí thời gian để duyệt các cây không là kết quả đối
với gốc S, khi mà nó bắt đầu được sinh ra bởi những cây này. Điều đó có nghĩa là nó
cũng không bao giờ thăm các cây con mà không thể tìm được vị trí trong các gốc cây
S. Ngược lại, đối với chiến lược bottom – up, cây cú pháp có thể không được sinh ra
bởi ký tự bắt đầu S hoặc phù hợp với bất kỳ nốt liền kề nào đó, mà được sinh ra một
cách ngẫu nhiên.
Cách tiếp cận có những nhược điểm nhất định. Trong khi không lãng phí thời
gian với nhưng cây không bắt đầu bởi S, bộ phân tích lại dành quá nhiều nỗ lực vào
cây S mà không phù hợp với đầu vào. Điểm yếu này của bộ phân tích là do việc sinh
cây diễn tra trước khi kiểm tra về đầu vào.
2.2.4. Thuật toán CYK (Cocke – Younger – Kasami)
2.2.4.1. Mô tả:
Thuật toán CYK, đôi khi được gọi là thuật toán CKY, có thể xác định được một
xâu có do một văn phạm phi ngữ cảnh sinh ra hay không, và cách mà nó được sinh ra.
Thuật toán này là một dạng phân tích bottom – up sử dụng quy hoạch động. Thuật toán
CYK làm việc với văn phạm phi ngữ cảnh chuẩn. Văn phạm phi ngữ cảnh chuẩn là
văn phạm phi ngữ cảnh trong đó luật có dạng
, và nếu văn phạm phi ngữ cảnh không chứa
xâu rỗng thì đều có thể phân tích về dạng chuẩn Chomsky.
14
2.2.4.2. Mã giả và ví dụ
- Mã giả của thuật toán CYK
Let the variable Carlos be the input string consisting
of n letters, a1 ... an. Let the grammar contain r nonterminal symbols R1 ...
Rr.
This grammar contains the subset Rs which is the set
of start symbols.
Let P[n,n,r] be an array of booleans. Initialize all
elements of P to false.
For each i = 1 to n
For each unit production Rj -> ai, set P[i,1,j] =
true.
For each i = 2 to n -- Length of span
For each j = 1 to n-i+1 -- Start of span
For each k = 1 to i-1 -- Partition of span
For each production RA -> RB RC
If P[j,k,B] and P[j+k,i-k,C] then set P[j,i,A]
= true
If any of P[1,n,x] is true (x is iterated over the set
s, where s are all the indices for Rs)
Then Carlos is member of language
Else Carlos is not member of language
- Ví dụ
Ta sử dụng lại văn phạm ở ví dụ trước và phân tích lại câu “bò ăn cỏ” sử dụng
thuật toán CYK
S NP VP (1)
NP N (2)
N “tôi” (3)
N “bò” (4)
N “cỏ” (5)
VP V (6)
VP V PP (7)
V “ăn” (8)
V “bò” (9)
PP N (10)
Trước hết, ta thấy văn phạm này chưa phải là văn phạm phi ngữ cảnh chuẩn. Ta
thực hiện việc chuyển đổi về văn phạm mới
S NP VP (1a)
NP “tôi” (2a) (ghép luật (2) với luật (3))
NP “bò” (3a) (ghép luật (2) với luật (4))
NP “cỏ” (4a) (ghép luật (2) với luật (5))
N “tôi” (5a)
N “bò” (6a)
N “cỏ” (7a)
15
VP “ăn” (8a) (ghép luật (6) với luật (8))
VP “bò” (9a) (ghép luật (6) với luật (9))
VP V PP (10a)
V “ăn” (11a)
V “bò” (12a)
PP “tôi” (13a) (ghép luật (10) với luật (3))
PP “bò” (14a) (ghép luật (10) với luật (4))
PP “cỏ” (15a) (ghép luật (10) với luật (5))
Ta có bảng phân tích sau:
S
S VP
NP, N, PP, VP VP, V NP, N, PP, VP
Bò ăn cỏ
Bảng 1: Bảng phân tích bằng thuật toán CYK
2.2.5. Thuật toán Earley
2.2.5.1. Mô tả
Cũng giống nhưng CYK, Earley (Earley, 1970) sử dụng cách tiếp cận bằng quy
hoạch động để đưa ra bộ phân tích top – down. Như mọi lời giải của quy hoạch động,
thuật toán này giảm thời gian chạy từ hàm mũ về hàm đa thức bằng cách loại bỏ những
giải pháp con do việc quay lui sinh ra. Trong trường hợp này, quy hoạch động làm cho
thuật toán có thời gian chạy là O (N3) với N là tống số từ của chuỗi đầu vào.
Tư tưởng chính của thuật toán Earley là duyệt từ trái qua phải và tạo ra một mạng
được gọi là chart có N + 1 thực thể. Mỗi từ trong câu, chart chứa một danh sách các
trạng thái biểu diễn từng thành phần của cây phân tích mà nó được sinh ra. Khi phân
tích xong một câu, chart đánh dấu việc phân tích câu đầu vào đã kết thúc. Mỗi cây con
có thể chỉ được biểu diễn một lần duy nhất và có thể được bộ phân tích sử dụng lại.
Mỗi trạng thái riêng chứa một thực thể chart bao gồm ba thông tin: một cây con
tương ứng với một luật ngữ pháp, thông tin về quá trình phát triển cây, và vị trí của
cây con tương ứng với đầu vào. Chúng ta đặt ký tự chấm (.) ở bên phải của một luât
ngữ pháp để miêu tả quá trình phát triển đã phân tích được luật đó. Cấu trúc này được
gọi là dotted rule. Trạng thái của vị trí sẽ được miêu tả bởi hai số: xác định vị trí trạng
thái bắt đầu và vị trí của dấu chấm.
Sử dụng văn phạm ở phần 2.2.1 ta có ví dụ về dotted rule như sau:
S NP VP [0, 0]
VP V PP [1, 2]
N “cỏ” [2, 2]
Nguyên lý cơ bản của bộ phân tích Earley là phát triển thông qua tập N + 1 trạng
thái trong chart từ trái qua phải, xử lý từng trạng thái nằm trong tập đó. Tại mỗi bước,
một trong ba toán từ được miêu tả ở dưới đay được áp dụng đối với mỗi trạng thái của
của luật. Trong mỗi trường hợp, kết quả được đưa thêm vào một trạng thái mới dựa
vào trạng thái hiện tại hoặc kế tiếp trong chart. Thuật toán luôn phát triển tiếp thông
16
qua việc tạo thêm thông tin vào chart, trạng thái không bao giờ bị hủy bỏ và không có
quay lui về thực thể chart trước đó. Và trạng thái S α , [0, N] trong danh sách các
trạng thái là thực thể chart cuối cùng, thể hiện quá trình phân tích thành công đầu vào.
Ba toán từ chính của thuật toán Earley là PREDICTOR, COMPLETER và
SCANNER. Các toán từ này nhận đầu vào là một từ và dưa ra một trạng thái. Hai toán
từ PREDICTOR và COMPLETER đưa thêm các trạng thái vào thực thể, còn
SCANNER thêm trạng thái vào một thực thể chart mới.
+ Predictor
Predictor có nghĩa là người dự đoán, đúng như tên gọi của nó toán từ này có
nhiệm vụ tạo ra trạng thái mới, biểu diễn các trạng thái có thể xảy ra trong suốt quá
trình phân tích. PREDICTOR được áp dụng đối với bất kỳ trạng thái nào mà ký tự
không kết thúc nằm ở bên phải của dấu chấm và không nằm trong nhóm part-of-
speech. Kết quả của toán tử này là một trạng thái mới cho mỗi mở rộng được thay thế
cho kí tự không kết thúc trong ngữ pháp. Chúng bắt đầu và kết thúc tại vị trí của dấu
chấm trong xâu đầu vào tại điểm mà trạng thái được sinh ra kết thúc.
+ Scanner
Khi một trạng thái có từ được gán nhãn nằm ở bên phải của dấu chấm, toán từ
Scanner được goi để kiểm tra đầu vào và hợp nhất trạng thái tương ứng với các nhãn
để đưa vào chart. Nhiệm vụ hoàn thành khi một trạng thái mới được tạo ra và thay đổi
vị trí của dấu chấm dựa vào nhóm đầu vào đã dự đoán. Chú ý rằng, bộ phân tích
Earley sử dụng đầu vào như bộ phân tích top – down để tránh nhập nhằng trong quá
trình phân tích, chỉ những ký tự kết thúc (được gán nhãn) , những từ được dự đoán bởi
những trạng thái, sẽ được phân tích bởi chart.
+ Completer
Toán tử Completer áp dụng cho những trạng thái mà dấu chấm đã ở cuối luật. Dễ
dàng nhận thấy, trạng thái hiện tại thể hiện rằng bộ phân tích đã thành công trong việc
tìm ra dẫn xuất theo ngôn ngữ của đầu vào. Mục địch của toán tử Completer là tìm
trong những luật ngữ pháp và phát triển những trạng thái trước đối với vị trí hiện tại
của đầu vào. Trạng thái mới được tạo bằng việc lấy những trạng thái cũ, và phát triển
dấu chấm thông qua luật của ngữ pháp và đưa những trạng thái mới vào thực thể chart
hiện tại.
17
Hình 5: Mã giả của thuật toán Earley
Ta sử dụng văn phạm ở phần trước để phân tích câu “tôi bò” dùng thuật toán
Earley:
S NP VP (1)
NP N (2)
N “tôi” (3)
N “bò” (4)
N “cỏ” (5)
VP V (6)
VP V PP (7)
V “ăn” (8)
V “bò” (9)
PP N (10)
Chart[0]:
S NP VP [0, 0]
NP N [0, 0]
N “tôi” [0, 0]
18
N “bò” [0, 0]
N “cỏ” [0, 0]
Xét từ “tôi”
Chart[1]
N “tôi” [0, 1]
NP N [0, 1]
S NP VP [0, 1]
VP V [1, 1]
VP V PP [1, 1]
V “ăn” [1, 1]
V “bò” [1, 1]
Xét từ: “bò”
Chart[2]
V “bò” [1, 2]
VP VP [1, 2]
VP VP PP [1, 2]
PP N [2, 2]
N “tôi” [2, 2]
N “bò” [2, 2]
N “cỏ” [2, 2]
S NP VP [0, 2]
Trong Chart[2] có trạng thái S NP VP [0, 2] và độ dài xâu là 2 nên thông
báo phân tích thành công.
2.2.5.2. Khôi phục cây cú pháp từ Chart
Thuật toán Earley như ở trên chỉ có tác dụng xác định xem câu cần phân tích có
thuộc bộ phân tích cú pháp hay không chứ không phải là một bộ phân tích cú pháp.
Sau khi thuật toán kết thúc, thực thể chart cuối cùng sẽ chứa một trạng thái như sau: S
α [0, N]. Tuy nhiên, chúng ta không có phương pháp nào để thu hồi được cấu trúc
của S. Để xây dựng bộ phân tích cú pháp từ thuật toán Earley, chung ta cần đưa ra
thông tin về cú pháp từ chart. Để là được điều này, chúng ta sẽ miêu tả mỗi trạng thái
bằng một tham số kết hợp với thông tin hỗ trợ để lưu trữ thông tin về trạng thái kết
thúc.
Những thông tin hỗ trợ này được sinh ra khi ta thay đổi toán tử COMPLETER.
Bằng việc đánh dấu trạng thái mới được sinh ra từ trạng thái nào trước đó. Việc truy
vết cây cú pháp từ chart chỉ đơn thuần là quá trình hồi quy bứt đầu với trạng thái kết
thúc của S trong thực thể chart cuối cùng.
Nếu có nhiều cây cú pháp đối với một câu, thuật toán Earley không thể trả về
toàn bộ kết quả trong thời gian đa thức. Nhưng thời gian tốt nhất để sinh ra chart là
thời gian đa thức. Một nhược điểm nữa đó là trong quá trình tạo ra các chart thì thuật
toán cũng tạo ra những trạng thái thừa.
19
2.3. Văn phạm phi ngữ cảnh xác suất (PCFGs)
2.3.1. Định nghĩa
Một hướng tiếp cận mới trong việc xây dựng bộ phân tích cú pháp là sử dụng
phương pháp thống kê. Bài toán phân tích cú pháp giống như một bài toán trong học
máy, thông qua quá trình huấn luyện xây dựng một mô hình xác suất, để thực hiện việc
lựa chọn cây cú pháp phù hợp nhất. Trong phần này chúng ta sẽ tiếp cận văn phạm phi
ngữ cảnh xác suất (PCFG – Probabilistic Context Free Grammar). Mô hình đơn giản
nhất của PCFG là văn phạm phi ngữ cảnh (CFG – Context Free Grammar) với xác
suất được thêm vào mỗi luật. Tại sao lại sử dụng PCFGs, đó là vì: PCFGs rất đơn giản
và mô hình xác suất đơn giản đối với cấu trúc cây, mô hình toán học đơn giản, thuật
toán không quá phức tạp, v.v…
Văn phạm phi ngữ cảnh xác suất bao gồm:
- Tập các ký tự kết thúc { wk } với k = 1, 2, … V
- Tập các ký tự không kết thúc { Ni } với i = 1, 2, … n
- Ký tự N1 được gọi là ký tự bắt đầu
- Tập các luật có dạng Ni αj với α [ w x N ]*
- Tương ứng với mỗi luật là một xác suất P (Ni αj) sao cho
với J là tống số luật có vế trái là Ni.
Khi viết P (Ni αj) có nghĩa là P (Ni αj | Ni) – xác suất sử dụng luật Ni αj
khi xuất hiện vế trái Ni. Để miêu tả một câu là dùng chuỗi sau: w1w2…wm hay wab để
miêu tả một chuỗi ký tự không kết thúc wa…wb. Một dạng rút gọn khi biểu diễn các
nhánh cây có gốc là nốt Ni và dẫn xuất ra xâu wa…wb như sau:
Ta có thể hiểu rằng xâu wa…wb có thể dẫn xuất từ Nj. Xác suất của một câu sẽ
được tính theo công thức
với t là cây cú pháp của xâu.
Ta thử áp dụng PCFGs cho tập văn phạm ở phần 2.1:
S NP VP 1.0 (1)
NP N 1.0 (2)
N “tôi” 0.33 (3)
N “bò” 0.33 (4)
N “cỏ” 0.34 (5)
VP V 0.5 (6)
VP V PP 0.5 (7)
V “ăn” 0.5 (8)
V “bò” 0.5 (9)
wa…wb
N
Hình 6: Miêu tả dẫn xuất xâu từ Ni
20
PP N 1.0 (10)
Hình 7: Cây cú pháp của câu "bò ăn cỏ "
Giả sử với cây cú pháp này ta sẽ tính toán xác suất của cây
2.3.2. Nhược điểm của văn phạm phi ngữ cảnh xác suất
- Văn phạm phi ngữ cảnh thiếu sự nhạy bén đối với các thông tin từ vựng. Trong
ngôn ngữ, ý nghĩa và cấu trúc câu phụ thuộc nhiều vào ngữ cảnh của câu đó, chằng
hạn câu “Trung hiểu Nam hơn Thắng”. Câu này có thể đưa phân tích thành 2 cấu trúc
như Hình 8 và Hình 9.
21
Hình 8: Cây dẫn xuất thứ nhất của xâu "Trung hiểu Nam hơn Thắng"
Hình 9: Cây dẫn xuất thứ hai của xâu "Trung hiểu Nam hơnThắng"
22
Câu này hoàn toàn đúng về mặt cú pháp, nếu xác suất của hai câu, ta phải đưa
thông tin về từ vựng như ngữ cảnh nói vào để phân biệt.
- Văn phạm phi ngữ cảnh xác suất thiếu nhạy bén trong việc xác định cấu trúc
ngữ pháp: đôi khi trong việc phân tích cú pháp việc xác định cấu trúc còn phụ thuộc
vào từ cấu tạo nên câu. Một ví dụ đơn giản là nếu ta có một luật là NP N N, ta thấy
trong ngôn ngữ có một số từ không thể đi cùng với nhau, nhưng trong quá trình tính
toán cấu trúc có sự phi lý đó lại có xác suất lớn, vì vậy đó xảy ra hiện tượng nhập
nhằng.
Vì vậy, đối với văn phạm phi ngữ cảnh xác suất việc đưa thêm thông tin cú pháp
vào là cải tiến có lợi.
2.4. Văn phạm phi ngữ cảnh xác suất từ vựng (LPCFGs)
Như ở phần trước, chúng ta đã tiếp cận mô hình xác suất cho bộ phân tích cú
pháp. Tuy nhiên, mô hình nà vẫn còn một số nhược điểm. Năm 1996, trong luận án,
Collin đã đưa ra mô hình xác suất mới dựa vào từ vựng (LPCFG – Lexical
Probabilistic Context Free Grammar). Trong ba mô hình, Collin đưa vào văn phạm phi
ngữ cảnh xác suất cấu trúc head.
2.4.1. Cấu trúc head
Giả sử ta có một cụm từ như sau: “một mái tóc đẹp”. Đối với cụm này ta có thể
phân chia thành các phần như sau:
“một” – thành phần phụ trược
“mái” – thành phần trung tâm
“tóc” – thành phần phụ sau
“đẹp” – thành phần phụ sau
Từ mái ở đây là thành phần trung tâm của cụm từ ta thử bỏ thành phần trung tâm
này đi thì cụm từ sẽ là: “một tóc đẹp”. Đối với cụm mới tạo ra này, ta thấy rõ ràng cụm
này vô nghĩa, bởi “tóc” là danh từ không đếm được không thể đi với từ chỉ số lượng
“một”. Tuy nhiên chú ý rằng ta có thể bỏ từ “một” nhưng cụm từ vẫn có nghĩa (“mái
tóc đẹp”) … Như vậy, từ “mái” là thành phần trung tâm của cụm từ hay câu (head).
Như vậy, trong văn phạm này, mỗi ký tự không kết thúc được gắn thêm thành
phần trung tâm của cụm từ hay câu đó. Việc xác định head của một ký tự không kết
thúc, ta phải dựa vào head của các ký tự con.
23
Hình 10: Cây cú pháp của xâu "bò ăn cỏ" có thêm thông tin từ vựng
2.4.2. Mô hình một: Mô hình cơ sở
Đây là mô hình cơ bản nhất trong các mô hình do Collins đưa ra. Đầu tiên ta có
một luật giống như trong văn phạm phi ngữ cảnh xác suất (PCFG) có dạng như sau:
1
H là ký tự không kết thúc đánh dấu cho thành phần head và h là từ trung tâm
được gán cho ký tự này. L1, … Ln và R1.. Rm là thành phần trái, phải của ký tự H. Nếu
như n hoặc m bằng không hay cả n và m đều bằng không thì luật unary. Ngoải ra, ở vế
trái và phải của chuỗi ta thêm 2 ký tự STOP nhằm đánh đấu kết thúc luật. Vì vậy ta có
Ln+1 = Rm+1 = STOP.
Ta lấy dẫn suất S (ăn) NP (bò) VP (ăn) làm ví dụ
ở đây n = 1, m = 0, P = S, H = VP, L1 = NP, L2 = STOP, R1 = STOP, h = (ăn, V),
l1 = (bò, N).
Xác suất của luật có thể được tính dựa vào chain rule như sau:
24
2
Tiếp theo đó, chúng ta giả sử rằng các ký tự không kết thúc hoàn toàn độc lập thì
ta có thể viết lại biểu thức như sau:
3
4
Như vậy, mỗi bước phân tích về phải của luật từ vế trái của luật thì bao gồm ba
bước chính sau:
1. Sinh ra nhãn head của cây với xác suất là
2. Tính toán xác suất đối với vế trái của head có xác suất là
, trong đó Ln+1 (ln+1) = STOP. Ký tự STOP sẽ được thêm vào
bảng ký tự không kết thúc, và mô hình sẽ dừng việc sinh tiếp xác suất vế trái cho đến
khi gặp ký tự STOP.
3. Tính toán xác suất đối với vế phải của head là và ký
tự Rm+1(rm+1) cũng là STOP giống như ở bước 2.
Áp dụng phương trình 2 vào ví dụ trên ta sẽ có
Tuy nhiên, trong thực tế, các từ không hoàn toàn độc lập với nhau mà có một độ
phụ thuộc nào đó. Đề giải quyết việc này, ta có thể sử dụng history base model để ước
lượng xác suất. Sử dụng hàm để miêu tả cho ước lượng xác suất dựa vào history
base model. Ta có:
5
6
Có thể nhận thấy rằng phương trình 5 và 6 là trường hợp ta loại bỏ mọi thứ đối
với hàm chỉ giữ lại P, H và h.
25
Chú ý rằng, khoảng cách giữa các từ bổ nghĩa cho thành phần trung tâm cũng rất
quan trọng. Trong một số trường hợp đặc biệt, đó là dấu hiệu để nhận biết của cấu trúc
phân nhánh (độ phụ thuộc của các từ liền kề nhau), hay sự phụ thuộc thông qua động
từ.
Thông tin về khoảng cách có thể được đưa vào mô hình nhằm nâng cao sự phụ
thuộc giữa các từ bổ trợ. Ta có thể viết lại công thức như sau:
7
8
Hình 11: Miêu tả độ đo khoảng cách trong câu
2.4.3. Mô hình 2: Phân biệt định ngữ và bổ ngữ, subcategorization
Ta thử lấy một cây như sau trong tiếng Anh:
Hình 12: Cây cú pháp với hậu tố - C đánh dấu complement. "IBM" và "Lotus" là chủ ngữ
và bổ ngữ, trong khi "Last week" là định ngữ.
Trong mô hình hai này, để đánh dấu đâu là bổ ngữ thì ta đưa thêm hậu tố -C vào
mỗi ký tự không kết thúc. Tại sao việc xác định bổ ngữ lại quan trọng? Trong ví dụ
trên, “IBM” được xác định là chủ ngữ của câu, còn “Last week” là thành phần bổ
nghĩa, mặc dù cả hai cùng được gán nhãn NP, ngoài ra “Lotus” cũng là một danh từ
được gán nhãn NP, ở đây “Last week” là một thành phần bổ nghĩa cho sự kiện, còn
“Lotus” lại bổ nghĩa cho động từ “bought”. Vì vậy “Lotus” là bổ ngữ (complement),
“Last week” là định ngữ (adjunction). Sự khác biệt về chức năng của hai nhãn NP
26
(“Last week”, và “IBM”) là không phù hợp trong cây cú pháp, vì hai nhãn NP đặt cùng
vị trí. Ngoài ra, chúng ta chỉ có thể đưa những thông tin này vào trong quá trình phân
tích. Việc đưa thông tin này vào làm tăng khả năng xác định cây cú pháp đúng, giảm
sự nhập nhằng của văn phạm.
- Việc xác định bổ ngữ rất phức tạp đối với việc sử dụng xác suất. Thông tin về
từ vựng là cần thiết. Ngoài ra, độ ưu tiên của các subcategoziation cũng cần được để ý
đến.
- Trong quá trình phân tích cú pháp, việc phân biệt bổ ngữ và định ngữ cũng làm
tăng độ chính xác.
Ta sử dụng ví dụ sau:
Hình 13: Hai ví dụ về các thành phần bổ trợ được sinh ra một cách độc lập đã gây ra sai
số.
Việc xác định định ngữ và bổ ngữ có thể thông qua các luật đơn giản ví dụ như
đối với Penn Treebank đó là một ký tự không kết thúc nếu là NP, SBAR, hoặc S có
cha là S thì sẽ được đưa vào trong subcategoration frame. Trong ngôn ngữ có rất nhiêu
luật quy định thành phần nào được đưa vào trong subcategorization frame, ví dụ trên
chỉ là một trường hợp nhỏ. Dựa vào subcategorization frame ta có thể đưa ra được mô
hình xác suất cho mô hình 2.
Mô hình một có thể được huấn luyện với tập dữ luyện nâng cao bao gồm các ký
tự không kết thúc và quá trình học các thông tin từ vựng có thể chỉ ra được sự phân
biệt giữa bổ ngữ và định ngữ. Tuy nhiên, nó vẫn còn gặp phải những ước lượng độc
lập tồi. Đề giải quyết vấn đề này, quá trình xử lý mới thừa kế mô hình một được cải
tiến bằng cách thêm vào xác suất phụ thuộc của subcategorization frame trái và phải:
- Lựa chọn head H với xác suất
- Lựa chọn subcat frames trái và phải, LC và RC với xác suất và
. Mỗi một subcat frame là một tập (tập này có thể chứa các ký tự
không kết thúc có nhãn giống nhau) các từ bổ nghĩa cho head ở phía trái hoặc phải.
27
- Tính toán xác suất cho các từ bồ nghĩa ở vế trái hoặc phải của head dựa vào
biểu thức và
. Vì vậy, subcat cần được thêm vào trạng thái
của ngữ cảnh. Trong trường hợp bổ ngữ được sinh ra, chúng sẽ bị loại bỏ trong các tập
subcat thích hợp. Quan trọng nhất là xác suất của ký tự STOP được gán là 0 khi tập
subcat không rỗng và xác suất của bổ ngữ bằng 0 khi nó không nằm trong tập subcat
nào cả.
2.4.4. Mô hình 3: Trace và Wh-movement
Một khó khăn cho việc phân tích vị ngữ đối với bộ phân tích cú pháp đó là wh-
movement (trong tiếng Anh, đây là thành phần nằm trong mệnh đề như which, whom
v.v…, với tiếng việt đôi khi từ liên kết bị giảm đi ví dụ như câu “Nguyễn Văn A sinh
viên trường công nghệ đã đoạt giải trong kỳ thi Sao Mai 2008 – Nguyen van A who is
student in coltech, have just get price in Sao Mai 2008”). Ở đây, TRACE được dùng
để dánh dấu các mệnh đề quan hệ như trong ví dụ sau:
Ví dụ 1: “Câu chuyên (SBAR mà TRACE mua Lotus)
Ví dụ 2: “Câu chuyện (SBAR mà IBM mua TRACE)
Ví dụ 3: “Câu chuyện (SBAR mà IBM mua Lotus từ TRACE)
Ta có thể viết các luật cơ bản để nhận dạng ra trường hợp này trong cây cú pháp.
Tuy nhiên, nhiệm vụ này nên được đưa vào trong bộ phân tích cú pháp bởi vì nó đủ
phức tạp để nhân ra được sự thay đổi của xác suất và việc đưa vào bộ phân tích có thể
nâng cao độ chính xác.
Nguyên nhân thứ hai để đưa tham số này vào bộ phân tích cú pháp là nhằm nâng
cao các tham số cho mô hình. Thông thường, xác suất của các subcategorization không
rõ ràng trong quá trình phân tích. Trong 3 ví dụ ở trên động từ “mua” là ngoại động từ
nhưng nếu không có thông tin truy vết thì xác suất của “mua” sẽ làm cho nó trở thành
nội động từ.
Như vậy, đối với mỗi một ký tự không kết thúc trong cây cú pháp ta đưa thêm
vào đó một đặc trưng gap giống như GPSG (Gazadar et al. 95) và đưa thêm đặc trưng
này vào cây cho đến khi không thể truy vết được nữa.
28
Chương 3. Tiếp cận trong xây dựng bộ phân tích cú pháp Tiếng Việt
Như trong chương trước, bộ phân tích cú pháp giống như bài toán trong học máy.
Để xây dựng mô hình xác suất cho bộ phân tích chúng ta cần thông qua quá trình huấn
luyện. Vậy dữ liệu để huấn luyện bộ phân tích cú pháp là gì? Hiện nay, trên thế giới đã
có một số ngữ liệu cho Tiếng Anh (Penn Treebank), Tiếng Trung (Chinese Treebank)
và kho ngữ liệu dành cho tiếng Việt (Việt Treebank) đang được xây dựng. Chương này
sẽ tập trung miêu tả về kho ngữ liệu Penn Treebank và Việt Treebank.
3.1. Penn Treebank
Treebank là một kho ngữ liệu trong đó mỗi câu đều có cấu trúc cú pháp thường ở
dạng cây. Treebank thường được xây dựng dựa vào tập ngữ liệu đã gán nhãn, đôi khi
các thông tin về ngôn ngữ hoặc ngữ nghĩa cũng được đưa vào cấu trúc cú pháp nhằm
tăng chất lượng của Treebank. Việc xây dựng Treebank có thể được thực hiện hoàn
toàn thủ công hoặc bán tự động với bộ phân tích cú pháp, sau khi phân tích cú pháp,
cây cú pháp cần được kiểm tra đôi khi phải hoàn chỉnh lại nó. Công việc này có thể
kéo dài đến hàng năm. Penn treebank do đại học Pennsylvania phát triển, chứa khoảng
4.5 triệu câu Anh – Mỹ. Trong ba năm từ 1989 đến 1992, người ta thực hiện việc gán
nhãn từ loại cho các câu. Ngữ liệu này có thể được tìm thấy trên website:
Phần tiếp theo sẽ trình bày về một số nhãn từ loại trong
Penn Treebank. Sau đó, chúng ta chuyển sang nhiệm vụ xếp các thành phần với nhau
để đưa ra một cây cú pháp.
3.1.1. Gán nhãn từ loại
3.1.1.1. Miêu tả:
Ngữ liệu Brown được coi là tập ngữ liệu đầu tiên trên thế giới, sau nó xuất hiện
thêm nhiều ngữ liệu khác. Trong tập ngữ liệu Brown có 87 nhãn từ loại cơ bản và cho
phép thực hiện việc ghép những nhãn từ loại với nhau tạo ra một nhãn từ loại mới.
Khối ngữ liệu này khá đồ sộ với 135 nhãn từ loại, một số ngữ liệu sau này cũng có số
lượng nhãn từ loại tương đương. Tuy nhiên, khác hẳn với các ngữ liệu trước đây, tập
nhãn từ loại của Penn Treebank ít hơn rất nhiều so với các khối ngữ liệu khác.
Mặc dù dựa trên tập nhãn cơ sở là các nhãn trong khối ngữ liệu Brown, nhưng
nhóm xây dựng Penn Treebank sử dụng thông tin cú pháp và thông tin từ vựng trong
việc làm giảm tập nhãn cú pháp. Ngoài ra, việc kích thước tập nhãn cú pháp cũng làm
29
tăng tính nhất quán trong ngữ liệu. Một ví dụ đơn giản ở đây đó là nếu hai cụm từ hay
câu về cú pháp có một sự tương đồng nhưng được gán nhãn hoàn toàn khác nhau là
điều không thích hợp. Trong Penn Treebank, nhóm xây dựng ngữ liệu đã đưa thêm
thông tin liên quan đến ngữ cảnh vào để thực hiện việc gán nhãn, qua đó tăng độ chính
xác của ngữ liệu. Một đặc điểm riêng nữa của Penn Treebank đó là tính đa dạng.
Không như các ngữ liệu khác, việc gán nhãn không nhất thiết là một nhãn duy nhất mà
nó còn có thể có nhiêu loại nhãn khác nhau.
3.1.1.2. Bảng nhãn từ loại
Nhãn từ loại trong Penn Treebank được biểu diễn bởi hình 3.. Nó chứa tất cả 36
nhãn từ loại và 12 loại nhãn khác (dành cho tiền tệ và dấu câu).
Bảng 2: Bảng nhãn từ loại trong Penn Treebank
3.1.1.3. Quá trình gán nhãn từ loại
Theo dự án Penn Treebank [15], quá trình gán nhãn từ loại bao gồm hai giai đoạn
thực hiện việc gán nhãn tự động và chỉnh sửa thủ công.
- Quá trình tự động: trong dự án này, câu được gán nhãn bằng PART (Church
1988), thuật toán thống kê được phát triển bởi AT&T Bell Labs. PARTS sử dụng một
mô hình chỉnh sửa của tập nhãn của Brown Corpus với sai số khoảng 3-5%. Đầu tiên,
30
đẩu ra của PARTS sẽ được tự động từ tố hóa, sau đó được gán dựa vào tập các nhãn từ
loại của Penn Treebank. Sai số ở đây khoảng 7-9%.
- Quá trình chỉnh sửa thủ công: sau khi được gán nhãn tự động bởi PARTS, đầu
ra bây giờ cần được chỉnh sửa lại cho đúng. Công việc này được thực hiện bởi con
người – người chú giải. Anh ta sử dụng một trình soạn thảo văn bản (ở đây là GNU
Emacs Lisp) để thao tác. Dưới đây là ví dụ trước và sau khi xử lý được lấy ra từ tài
liệu của nhóm xây dựng Penn Treebank.
Hình 14: Dữ liệu đã gán nhãn trước khi xử lý thủ công
Hình 15: Dữ liệu đã gán nhãn sau khi xử lý thủ công
Hình 3. 1: Sau khi được xử lý
3.1.2. Bracketing
3.1.2.1. Phương pháp cơ bản
Phương pháp để gộp toàn bộ ngữ liệu là xử lý song song đối với việc gán nhãn và
chỉnh sửa thủ công. Với bộ nhãn như trên, người ta sử dụng Fidditch, bộ phân tích tất
định được phát triển bởi Donald Hindle. Một số thuộc tính cơ bản của bộ phân tích:
- Fidditch luôn đưa ra ít nhất một cây cú pháp đối với một đầu vào, nên không
cần tìm kiếm trong nhiều kết quả.
31
- Fidditch không đính kèm bất kỳ thành phần nào có vai trò quá quá lớn.
Fidditch tách đầu vào thành xâu các cây, đưa ra cấu trúc cho mỗi một câu.
- Fidditch có một độ phủ ngữ pháp tốt. Vì vậy, mà câu phân tích được khác
chính xác.
3.1.2.2. Tập nhãn cú pháp.
Nhãn cú pháp là tập nhãn liên quan đến ngữ pháp, ví nhụ như ADJP là nhãn để
đánh dấu cụm tính từ. Trong tập nhãn này có một số thành phần miêu tả cho các thành
phần rỗng. Hình 3.3 được lấy ra từ tài liệu của nhóm xây dựng Penn Treebank miêu tả
các nhãn cú pháp:
Bảng 3: Bảng nhãn cú pháp trong Penn Treebank
3.1.2.3. Ví dụ
Đây là một ví dụ về đầu ra của quá trình bracketing. Sau quá trình này ta có
những cây cú pháp hoàn chỉnh:
32
Hình 16: Dữ liệu hoàn chỉnh
3.2. Viet Treebank
3.2.1. Mục tiêu
Cũng giống như Penn Treebank, Viet Treebank là kho ngữ liệu dành cho Tiếng
Việt, bao gồm các câu được biểu diễn dưới dạng cấu trúc cú pháp (cây cú pháp). Viet
Treebank được xây dựng nhằm đáp ứng những yêu cầu về dữ liệu đối với những
nghiên cứu trong xử lý ngôn ngữ tự nhiên, ví dụ như việc sử dụng Viet Treebank làm
dữ liệu để huấn luyện và kiểm chứng mô hình phân tích cú pháp sử dụng văn phạm phi
ngữ cảnh xác suất từ vựng (LPCFG) trong luận văn này. Mục tiêu dự án là xây dựng
10000 câu tiếng việt dưới dạng cây cú pháp. Theo tài liệu của nhóm xây dựng của Viet
Treebank [4], phương phướng tiếp cận để xây dựng cây cú pháp tương tự với phương
pháp của nhóm xây dựng Penn Treebank (chia làm hai quá trình gán nhãn tự động và
chỉnh sửa thủ công).
3.2.2. Danh sách từ loại và các nhãn cú pháp
Trong quá trình xây dựng cây cú pháp, nhóm xây dựng Viet Treebank tiếp cận
theo quan điểm phân từ loại (quan điểm đối lập là không phân từ loại, phủ nhận sự tồn
tại của từ loại – Lê Quang Trinh, Nguyễn Hiển Lê, Hồ Hữu Tùng). Thông qua nhãn từ
loại ta có thể biết được một số thông tin như: từ loại (động từ, danh từ…), chức năng
của ngữ pháp của từ (chủ ngữ, vị ngữ, …)
Bảng 4: Nhãn từ loại trong Viet Treebank
STT Tên Chú thích
1 N Danh từ
2 Np Danh từ riêng
3 Nc Danh từ chỉ loại
4 Nu Danh từ đơn vị
5 V Động từ
33
6 A Tính từ
7 P Đại từ
8 L Định từ
9 M Số từ
10 R Phụ từ
11 E Giới từ
12 C Liên từ
13 I Thán từ
14 T Trợ từ, tiểu từ, từ tình thái
15 U Từ đơn lẻ
16 Y Từ viết tắt
17 X Các từ không phân loại được
Ngoài ra, đối với các từ nhãn từ viết tắt là nhãn kép, ví dụ như từ HIV có nhãn là
Ny. Trong dữ liệu mới nhất của nhóm, có xuất hiện thêm nhãn Nb miêu tả các từ vay
mượn.
Cũng giống như trong Penn Treebank hay bất kỳ một kho ngữ liệu khác, Viet
Treebank có tập nhãn chức năng, cụm từ riêng biệt.
Bảng 5: Bảng nhãn cụm từ trong Penn Treebank
STT Tên Chú thích
1 NP Cụm danh từ
2 VP Cụm động từ
3 AP Cụm tính từ
4 RP Cụm phụ từ
5 PP Cụm giới từ
6 QP Cụm từ chỉ số lượng
7 MDP Cụm từ tình thái
8 UCP
Cụm từ gồm hai hay nhiều thành phần không cùng loại
được nối với nhau bằng liên từ đẳng lập
9 LST Cụm từ đánh dấu đầu mục của danh sách
34
10 WHNP Cụm danh từ nghi vấn (ai, cái gì, con gì, v.v.)
11 WHAP Cụm tính từ nghi vấn (lạnh thế nào, đẹp ra sao, v.v.)
12 WHRP Cụm từ nghi vấn dùng khi hỏi về thời gian, nơi chốn, v.v.
13 WHPP Cụm giới từ nghi vấn (với ai, bằng cách nào, v.v.)
Bảng 6: Bảng nhãn mệnh đề trong Viet Treebank
STT Tên Chú thích
1 S Câu trần thuật (khẳng định hoặc phủ định)
2 SQ Câu hỏi
3 S-EXC Câu cảm thán
4 S-CMD Câu mệnh lệnh
5 SBAR
Mệnh đề phụ kết (bổ nghĩa cho danh từ, động từ, và tính
từ)
3.2.3. Một số đặc điểm của Viet Treebank
- Trong tiếng Việt, một câu hay một cụm từ luôn có một từ có ý nghĩa quan
trọng, nếu bỏ từ này đi thì cụm từ, hay câu đó mất hết ý nghĩa hoặc có thể trở nên sai.
Từ này được gọi là thành phần trung tâm (head). Ví dụ như trong cụm từ sau: “quả
bóng màu xanh” thì thành phần chính ở đây là từ “quả” các từ còn lại đều bổ nghĩa cho
từ này. Trong Viet Treebank, thành phần trung tâm có một nhãn riêng cho nó là H
(điều này không có trong Penn Treebank). Việc xác định thành phần trung tâm trong
Penn Treebank dựa vào các luật ngữ pháp khá phức tạp, riêng đối với Viet Treebank ta
chỉ cần dựa vào nhãn của từ đó. Ngoài ra, do tính chất tịnh tiến của tiếng Việt, nếu
trong câu có nhiều head thì việc xác định thành phần trung tâm của cả câu dựa thành
phần trung tâm của thành phần chính rồi đến phụ.
- Trong tập dữ liệu mới nhất chứa khoảng 9000 câu huấn luyện và 500 câu để
kiểm chứng, có sự khác biệt so với tập dữ liệu cũ. Trong tập dữ liệu mới này, đưa thêm
vào nhãn ‘-‘ gắn với dấu ‘-‘ hoặc ‘–‘. Việc sử dụng nhãn ‘-‘ có thể gây nhập nhằng
trong quá trình phân tích bởi dấu ‘-‘ được dùng để phân cách giữa nhãn từ loại và nhãn
chức năng ví dụ như nhãn N-H.
35
Chương 4. Bộ phân tích cú pháp của Bikel
4.1. Một số nhiệm vụ cơ bản
4.1.1. Tiền xử lý
Khác với bộ phân tích cú pháp của Collins, trong bộ phân tích này, Bikel đã thực
hiện một số quá trình trước khi đưa dữ liệu vào huấn luyện:
- loại bỏ một số nút không cần thiết
- thêm vào nút cơ bản của NP (NPBs)
- chỉnh sửa lại những nhãn NP
- thêm vào thông tin gap (chỉ dành cho mô hình 3 - Collins)
- gán lại nhãn cho câu không có chủ ngữ.
- loại bỏ các thành phần rỗng
- phát triển dấu câu
- xác định tham số của ký tự không kết thúc
- bỏ qua một số đối số của ký tự không kết thúc
- chỉnh sửa các câu không có chủ ngữ
- tìm kiếm head
4.1.1.1. Liên kết các cụm từ
Liên kết các cụm từ là khái niệm quan trọng và một số bước tiền xử lý dựa vào
khái niệm này. Một nút được biểu diễn là liên kết giữa cụm từ nếu:
- nó không chứa các thành phần trung tâm trong nốt con và là chứa liên từ
- là liên từ khi
- là ký tự đứng sau head nhưng không kết thúc
- là ký tự đứng ngay trước head nhưng không là ký tự bắt đầu
Trong Penn Treebank, liên từ được gán nhãn CC, còn trong Viet Treebank nhãn
là C.
Ví dụ trong Penn Treebank và Viet Treebank:
36
Hình 17: Liên kết từ trong Penn Treebank
Hình 18: Liên kết từ trong Viet Treebank
4.1.1.2. Loại bỏ các nút không cần thiết
Quá trình tiền xử lý này nhằm loại bỏ các ký tự tiền kết thúc, không có hoặc ít
liên hệ đế hiệu suất của quá trình phân tích cú pháp. Đối với dữ liệu Treebank tiếng
Anh, ta có thể loại bỏ các cây con, mà nhãn gốc của nó là một trong những nhãn {, “,
.}. Có hai lý do để thực hiện việc loại bỏ này khi phân tích dữ liệu tiếng Anh đó là: các
ký tự trích dẫn thường có độ ưu tiên thấp, và không xuất hiện trong các bao đóng chắc
chắn trong bất kỳ trường hợp nào, nên không được đếm trong khi tính toán xác suất.
Trong tiếng Việt, trường hợp loại bỏ này cũng tương tự.
37
4.1.1.3. Thêm vào các nốt base NP
Nút có nhãn là NP là một trong nút cơ bản (NP – cụm danh từ (Penn Treebank và
Viet Treebank đều giống nhau) khi mà nó không chi phối một nút NP khác. Chính xác
hơn, một nút có nhãn là NP là nút cơ bản khi nó không ảnh hưởng tới các nút có nhãn
NP khác, ngoại trừ trường hợp nút NP sở hữu, những có nhãn NP và đi kèm với nút có
nhãn là POS nhằm xác định đại từ sở hữu ví dụ như “(NP (NNP California) (POS 's)”.
Chính bản thân các nút NP sở hữu cũng chính là nút NP cơ sở, vì vậy các nút này sẽ
được thay nhãn thành NPB.
Để đảm bảo bộ phân tích làm việc chính xác, khi một nút NP được gán lại nhãn
là NPB, các nút NP bình thường khác cũng được thêm vào như là một ký tự không kết
thúc cha. Việc thêm vào này bảo đảm cho các nốt NPB luôn bị chi phối bởi nút NP. Để
thêm các nút NP này cần phải thỏa mãn một số điều kiện sau:
- nút cha của NPB không phải là nút NP
- nút cha của NPB là một nút NP nhưng tạo ra hiện tượng liên kết các cụm từ
- nút cha của NPB là một nút NP nhưng
- nút cha của thành phần trung tâm không phải là NPB
- nút chả chưa được gán lại nhãn là NPB (Xem Hình 19)
Hình 19: Nút NBP cần thêm nút NP
Trong quá trình tiền xử lý, khi một nút NPB là nút con duy nhất của một nút NP,
thì nút NP thêm vào sẽ bị loại bỏ bằng việc ghép hai nút trở thành một nút NP duy
nhât và tất cả nút NPB còn lại sẽ bị gán lại nhãn thành NP
4.1.1.4. Khôi phục những nút NP cơ bản
Việc thêm các nhãn NP như trên đã làm cho các nút NP đạt được một mức đồng
bộ nhất định, hiệu quả của việc phân chia mô hình sẽ làm cho việc tạo ra các nút con
của NP giảm bớt độ phức tạp. Trong bộ phân tích cú pháp của mình, Collins dường
như cũng cố gắng nâng cao tính ổn định của mô hình NPB. Các nút NPB, có các nút
sentential như là nút cuối cùng (ở bên phải nhất) được chỉnh sửa: các nút con
“sentential” được nâng lên để trở thành một nốt con bên phải của nút NPB
38
Hình 20: Nhãn NBP được chỉnh sửa
4.1.1.5. Thêm thông tin “gap”
Đặc trưng “gap” chỉ xuất hiện trong mô hình 3 của Collins, việc sử dụng đặc
trưng này nhằm nâng cao khả năng phân tích câu, khi có hiện tượng truy vết và wh-
movement (xuất hiện mệnh đề quan hệ trong câu). Quá trình tiền xử lý này, xác định
tất cả các thành phần rỗng, xác định chỉ mục của nhãn WHNP (Penn Treebank, trong
Viet Treebank cũng sử dụng nhãn này), thay thế các nhãn rỗng này bằng nhãn truy vết
đặc biệt, và liên kết các đặc trưng gap trong tất các các ký tự không kết thúc trong
chuỗi từ mà đại từ quan hệ thay thế và cụm từ truy vết. Trong quá trình tiền xử lý này
có một điểm cần chú ý đó là việc thực thi bước tiền xử lý này cần kiểm tra các trường
hợp tại đó việc liên kết là không thể, chẳng hạn như có hai tiến trình thêm gap phụ
thuộc vào nhau. Quá trình thực thi cần phải điều khiển được sự phụ thuộc của hai tiến
trình thêm gap.
4.1.1.6. Gán lại nhãn cho nhãn chức năng chủ ngữ
Những nút mà nhãn của câu không có chủ ngữ sẽ được chuyển từ S thành SG
(trong Penn Treebank và Viet Treebank đều có nhãn SG). Bước này cho phép bộ phân
tích cú pháp nhạy bén đối với các ngữ cảnh khác nhau mà câu không có chủ ngữ xuất
hiện nhưng gán nhãn S giống như câu bình thường, trong trường hợp này các câu
không có chủ ngữ xử sự giống như một cụm danh từ. Một ví dụ [S[SFlying planes] is
dangerous] của Collins miêu tả trường hợp này. Tuy nhiên, điều kiện để một nhãn S có
thể được gán lại nhãn không được giải thích rõ ràng, một trường hợp là mỗi nhãn S
của chủ ngữ (trong Penn Treebank là nhãn –SBJ, trong Viet Treebank là nhãn –SUB)
phụ thuộc vào thành phần rỗng sẽ được gán lại nhãn là SG. Các điều kiện là:
- một thành phần con của nhãn bị tri phối bởi thành phần rỗng được đánh dấu bởi
nhãn –SBJ
- có nhãn cha là VP
- không có tham số xuất hiện ưu tiên so với thành phần trung tâm
4.1.1.7. Loại bỏ thành phần rỗng
Bước này chỉ đơn giản bao gồm việc cắt cây để khử các cây con chỉ bị tác động
bởi các thành phần rỗng. Các nhãn truy vết được thêm vào ở bước “thêm đặc trưng
39
gap” không được xét đến ở đây, trừ khi nút được đánh dấu bởi nhãn –NONE– (trong
Penn Treebank, cũng tương tự trong Viet Treebank).
4.1.1.8. Đưa dấu câu lên
Tư tưởng chính của việc đưa dấu câu lên là làm cho các dấu câu bao gồm dấu
chấm và dấu phẩy ở vị trí cao nhất có thể trong cây phân tích, nằm ở giữa hai ký tự
không kết thúc. Dấu câu xuất hiện ở đầu hoặc cuối câu thường được thay đổi. Ngoài
ra, bước này cần được điều khiển trường hợp xuất hiện nhiều dấu câu bắt đầu hoặc kết
thúc một nút, tốt hơn trường hợp các nút dấu câu xuất hiện một cách vô lý như trường
hợp dấu câu xuất hiện thành một chuỗi trái hoặc phải của cây con (Xem Hình 21).
Cuối cùng, trường hợp nút chỉ chi phối một dấu câu đứng trước một ký tự kết thúc. Bộ
phân tích của Bikel chỉ thông báo trong trường hợp này.
Hình 21: Nâng cấc dấu câu lên, trong cây bên phải xuất hiện các dấu phẩy nằm cạnh nhau
4.1.1.9. Xác định đối số của ký tự không kết thúc
Collins đưa ra tập phương pháp để đánh dấu các ký tự không kết thúc như là các
đối số, bằng cách thêm –A vào nhãn của ký tự không kết thúc. Bộ phân tích cú pháp
của Bikel sử dụng ba thông tin không được Collin công bố về tìm kiếm các đối số:
- Nhãn PP được chọn như là ký tự không kết thúc đầu tiên sau head (thành phần
trung tâm). Trong nhiều trường hợp, đối số của nút có nhãn là NP sẽ được đánh dấu.
Một nguyên tắc phức tạp hơn là ký tự không kết thúc đầu tiên ở bên phải của head
không là nhãn PRN (Viet Treebank không có nhãn này) hay các nhãn từ loại được
đánh dấu là đối số. Nhãn PRN trong Penn Treebank đánh đấu cho biểu thức mở - đóng
ngoặc đơn, thường xuất hiện trong nút PP như ví dụ sau: “on (or above) the desk”.
- Nút con là một phần của liên kết các cụm từ được gán lại nhãn là đối số của ký
tự không kết thúc.
- Head khác biệt so với các nút cùng cấp (các nút bên trái và bên phải của head)
bởi hiệu quả của các loại tham số sinh ra head trong mô hình phân tích cú pháp. (Xem
Hình 22).
40
Hình 22: Nút có nhãn HEAD cũng không là ngoại lệ khi thay đổi nhãn chức năng
4.1.1.10. Loại bỏ cá đối số của ký tự không kết thúc không được sử dụng
Bước này loại bỏ tất các các đối số của các ký tự không kết thúc, ngoại trừ những
thành phần được thêm vào từ bước tiền xử lý khác (như nhãn –A trong nhãn đối số).
Đồng thời cũng loại bỏ tất cá nhãn chức năng được đánh dấu bởi Treebank.
4.1.1.11. Thay đổi câu không có chủ ngữ
Với đối số như miêu tả ở phần trước, nếu một câu không có chủ ngữ được tìm
thấy mà đối số có ảnh hưởng tới head của nó thì bước này chuyển ngược lại từ SG về
nhãn S.
4.1.1.12. Tìm head
Trong bộ phân tích cú pháp của Bikel, khi thực hiện tìm kiếm head, sẽ có một số
luật được dùng để miêu tả cho một số nhãn. Các luật để tìm kiếm được đóng gói trong
bộ phân tích cú pháp như là một “Java package”. Tuy nhiên trong [9], Bikel cũng miêu
tả một trường hợp không có luật để phân tích ví dụ như nhãn NX, hay một số trường
thợp liên quan đến nhãn CC. Do đặc điểm của Viet Treebank, thành phần trung tâm có
nhãn là –H, vì vậy việc tìm kiếm thành phần trung tâm dựa vào nhãn –H này. Ngoài
ra, tiếng Việt có tính chất tịnh tiến, như vậy trong một câu có nhiều head, thì head của
câu đó sẽ là phần từ trái nhất.
4.1.2. Huấn luyện
Công việc của bộ huấn luyện là phân tích dứ liệu huấn luyện (cây cú pháp của
câu được gán nhãn từ loại) thành chuỗi head và các bước sinh thành phần bổ trợ, thực
hiện việc xác định xác suất trong mỗi bước. Tại mỗi bước, thành phần H, Li, Ri đều
được sinh ra dựa vào trạng thái trước đó, và mỗi sự kiện đều sinh ra các thành phần và
một vài giá trị ngữ cảnh được đếm. Tuy nhiên, trong quá trình phân tích, vẫn còn tồn
tại một số vấn đề, vì vậy xác suất cần được làm mịn (smoothing).
41
4.1.2.1. Verb intervening
Trong chương 2, khi nói về văn phạm phi ngữ cảnh xác suất, ta thấy trong mô
hình 1, xác suất phụ thuộc vào một độ đo khoảng cách. Trong bộ phân tích cú pháp
của Bikel, có một hàm có nhiệm vụ đưa ra độ đo khoảng cách này. Một trong hai
thành phần của độ đo khoảng cách đó được gọi là “verb intervening”, là tính chất vi có
giá trị true nếu động từ được sinh ra trong quá trình duyệt xâu cùng về một phía so với
head. Như Hình 23. Định nghĩa của đặc trưng này rất đơn giản giống như tên của nó
cv (“contain verb”), đặc trưng này nhận giá trị true khi và chỉ khi một nốt chứa động
từ
9
Chúng ta định nghĩa verb intervening đệ quy trong mô hình Markov bậc 1
10
tương tự với đối với các ký tự bên phải
Trong Penn Treebank, bộ phân tích cú pháp của Bikel xác định một từ được coi
là động từ nếu nhãn từ loại của nó nằm trong tập {VB, VBD, VBG, VBN, VBP,
VBZ}, đối với Viet Treebank chỉ có một nhãn duy nhất là V. Nếu muốn đạt được
những kết quả của collins chúng ta cần đưa thêm cv (NPB) = false, trong bộ phân tích
của Bikel, nếu như một động từ nằm trong nhãn base NP thì sẽ không được tính.
Dưới đây là một ví dụ được lấy từ [9]
Hình 23: Một ví dụ về hàm vi (“verb intervening”) nhận giá trị true, do nhãn NP có chứ
động từ
4.1.2.2. Bỏ qua một số cây
Trong bộ phân tích của Collins, các câu dài quá 500 token (bao gồm từ, ký tự
không kết thúc, mở ngoặc) đều bị bỏ qua trong quá trình phân tích. Một nguyên nhân
có thể phỏng đoán đó là với các câu quá dài thì có thể có nhiều cây phân tích vì vậy nó
42
sẽ làm giảm độ chính xác của bộ phân tích cú pháp. Trong dữ liệu chuấn WSJ (Wall
Street Journal) phần 02-21 của Penn Treebank có khoảng 120 câu bị loại bỏ.
4.1.2.3. Các từ chưa biết
- Các từ nếu xuất hiện trong tập dữ liệu thấp hơn một ngưỡng nào đó sẽ được
đánh dấu là “UNKNOW”. Giá trị ngưỡng này trong bộ phân tích của Collins là 5 lần.
Giá trị này có thể thay đổi thông qua việc gán giá trị cho thuộc tính “unknow word
threshold”.
- Một sự khác biệt giữa bộ phân tích cú pháp của Collins và Bikel là với những
ký tự được đánh dấu là UNKNOW, các ký tự này vẫn được đếm và tính toán xác suất,
còn Collins không làm điều này. Chú ý rằng các từ trong cây cú pháp dùng để huấn
luyện sẽ không bị bộ phân tích chỉnh sửa, không thực hiện việc phá vỡ thành các mức
sự kiện. Việc ánh xạ các từ có tần số xuất hiện thấp chỉ được thực hiện khi tất cả dữ
liệu được thu thập và thực hiện đếm.
4.1.3. Các loại tham số và các đánh giá.
Tất cả các tham số được sinh ra đều ước lượng xác suất có điều kiện. Mặc dù,
các loại tham số đều là cực đại xác suất có điều kiện, tham số rất quan trọng trong việc
tạo ra một mô hình xác suất và luôn làm trơn xác suất dựa vào “linear interpolation”
của ước lượng “maximum-likelihood, sự dụng trong ngữ cảnh khác nhau.
- Ánh xạ các mức của tập các ký tự không kết thúc: Trong dữ liệu của Penn
Treebank sử dụng đối số với nhãn là –A và –g. Một sự tương đồng so với bộ phân tích
cú pháp của Collins, đó là hai ánh xạ trên cũng được Collins đưa ra trong hàm loại bỏ
các tham số. Hàm “argument removal” được gọi là hàm α, còn hàm “gap removal” gọi
là hàm γ. Ví dụ:
-
-
-
Hàm loại bỏ gap chỉ có tác dụng trong mô hình 3, bởi mô hình 2 và 1 không sử
dụng đặc trưng.
4.1.3.1. Loại tham số head:
Ký tự không kết thúc head được tạo ra với điều kiện nút cha là một ký tự không
kết thúc giống như head word và had tag, và nút cha thì nhận được thông tin về từ
vựng dựa vào nút con. Xác suất được miêu tả như sau:
11
với P là ký tự thể hiện nút cha, w và t là word và tag.
4.1.3.2. Loại tham số subcat:
Khi mô hình đưa ra ký tự không kết thúc là head cho các ký tự cha,
subcategorization frame (subcat) cũng được tạo ra ở hai phía của head với xác suất
như sau:
43
12
13
Trong bộ phân tích cú pháp cho tiếng Anh, Bikel đưa ra một số luật tìm kiếm
subcat thông qua các nhãn NPs, Ss, SBARs và PPs, và một số trường hợp cho PP.
4.1.3.3. Thay đổi loại tham số của ký tự không kết thúc:
Ngoài các nút head, và sucat được tạo ra, các thành phàn bổ trợ cũng được tạo ra
dựa vào thành phần head… Một ký tự không kết thúc có đầy đủ thông tin từ vựng gồm
ba thành phần chính, nhãn của ký tự không kết thúc, head word (thành phần trung tâm)
và nhãn từ loại của nó. Để tạo ra được ký tự không kết thúc có đầy đủ các thông tin về
từ vựng việc thay đổi các ký tự không kết thúc được thực hiện trong hai bước, cho
phép tham số được làm trơn(smooth) một cách độc lập, và trong một chu kỳ, việc này
nhằm nhăng chặn các vấn đề dư thừa thời gian. Hai bước ước lượng này dùng công
thức chuỗi để liên kết các sự kiện của ba thành phần với nhau. Đầu tiên, một phần từ
vựng (partially-lexicalized) một dạng của ký tự không kết thúc được tạo ra, bao gồm
các nhãn không là ký tự và các nhãn từ loại của từ head (thành phần trung tâm). Thành
phần từ vựng này thay đổi các ký tự không kết thúc, sinh ra các điều kiện trong nhãn
cha, nhãn head, từ head, head tag, trạng thái của subcat và độ đo khoảng cách. Tham
số ở đây bao gồm:
14
15
ở đây là ký hiệu của độ đo khoảng cách (xác định bằng hàm verb intervening).
Như thảo luận ở trước, một trong hai thành phần của độ đo khoảng cách là vi (“verb
intervening”). Thành phần còn lại là một tính chất được biết thông qua thành phần bổ
trợ hiện tại là thành phần bổ trợ đầu hiên hay trường hợp i = 1. Bước thứ hai là sinh ra
head word, do luật chuỗi (chain rule), ngữ cảnh chứa các điều kiện đều ở trong phương
trình 14 và 15.
4.1.3.4. Loại tham số cho dấu câu và liên kết các cụm từ
- Mô hình không đồng nhất
Trong một bước tiền xử lý, các dấu câu đều được nâng lên vị trí cao nhất trong
cây cú pháp. Điều đó có nghĩa là trong một số trường hợp, dấu câu hành xử như là một
liên kết giữa các cụm từ bên trái và bên phải của dấu câu. Quan sát được hiện tượng
này sẽ có ích cho các liên từ trong việc đưa ra các điều kiện sinh ra. Trong Penn
Treebank, liên từ được gán nhãn CC (C ở trong Viet Treebank) và nút dấu câu thường
là nút nằm ở bên phải của head hay nút phía sau của head (post-head). Như vậy, nút
liên từ hoặc nút dấu câu xảy ra ở trước head (pre-head), nó sẽ không được tạo ra trong
mô hình này. Ngoài ra, nếu có một thành phần ở giữa head và vế phải của liên từ, tham
số sẽ được tính toán để đảm bảo rằng về trái luôn là nút head.
Tham số mới kết hợp chặt chẽ với mô hình bằng việc xem xét tất cả thành phần
bổ trợ thông qua hai cờ: coord, đánh dấu ký tự không kết thúc liên kết với head thông
44
qua nhãn ký tự CC (trong gói tiếng việt ký hiệu CC miêu tả liên từ, nhưng nhãn từ loại
của nó là C phù hợp với Viet Treebank, đối với gói tiếng Anh, nhãn từ loại vẫn là
CC), và punc, đánh dấu sự liên kết thông qua dấu câu. Nếu như cả hai cờ này đều
nhận giá trị true, ta sẽ xem xét tỷ lệ giữa để đưa ra lựa chọn.
- Máy sự kiện: Khi thực hiện việc giả lập lại các kết quả của Collins, Bikel sử
dụng sự kiện cũ để ước lượng sự kiện sinh ra liên kết bởi liên từ hoặc dấu câu với 2 về
của liên từ đó. Sự thay đổi lớn đầu tiên đó là việc đối xử giữa nút có nhãn dấu câu và
nút có nhãn là CC như là lớp đối tượng đầu tiên, có nghĩa là việc sinh ra như là một
hành động chỉnh sửa các ký tự không kết thúc. Sự thay đổi tiếp theo là khá là phức tạp.
Bikel đưa ra định nghĩa mới về độ đo khoảng cách, dựa vào thuộc tính vi. Sau
đó, thêm vào các điều kiện để ánh xạ các mức của việc sinh ra thành phần bổ trợ trước
đó dựa vào hàm ánh xạ sau:
16
trong đó là một trong các ký tự không kết thúc hoặc . Như vậy xác suất
có thể được tính dựa vào biểu thức sau
17
trong đó side là một biến logic nhằm xác định ký tự M nằm ở bên trái hay bên
phải của head. Bằng cách đối xử nút nhãn CC và dấu câu như là lớp ký tự không kết
thúc đầu tiên, và thêm ánh xạ của các ký tự không kết thúc trước đó, Bikel, đã liên kết
chặt chẽ giữa trường hợp “no intervening” trong thành phần độ đo của Collins (khi i =
0 đối với trường hợp của hàm ) với những trường hợp khác mà sự phụ thuộc là khác
nhau.
4.1.3.5. Mô hình NP cơ sở: từ mô hình đến mô hình
Trong bộ phân tích cú pháp của Collins có rất nhiều cách để một nút NP cơ sở
đặc biệt. Điều đó là do cấu trúc phẳng của nút cấu trúc NP cơ sở trong Penn Treebank
được sử dụng khác nhau trong mô hình trong quá trình tạo ra chúng. Mô hình tạo ra
các nút con của nút NPB được gọi là mô hình bigram của ký tự không kết thúc
(“bigrams of nonterminals”). Sự khác nhau của mô hình này và mô hình bigram
language đó là các items tuy được sinh ra không phải là một từ, nhưng được từ vựng
hóa các ký tự không kết thúc. Head của một nút NPB được sinh ra không phải dựa vào
head, mà tất cả các ký tự bổ trợ sinh ra trước đó.
18
19
Trong bộ phân tích cú pháp của Collins, các thành phần phụ được sinh ra trước
đó là head, đối với tất cả trường hợp. Vì vậy, subcat và độ đo khoảng cách không liên
45
quan đến nhau, nếu như thành phần bổ trợ hiện tại đứng ngay trước head (điều này làm
cho cv (“contain verb”) luôn trả về giá trị false đối với NPBs). Ngoài ra, các nút NPB
không bao giờ được coi là thành phần liên kết các cụm từ và CCs chi phối bởi NPB
không bao giờ sử dụng tham số PCC, mặc dù, nó sử dụng các tham số được sinh ra
khác. Dấu câu bị chi phối bởi NPB, được tạo ra thông qua tham số Ppunc, nhưng chủ
yếu các thành phần bổ trợ được liên kết với head tạm thời (pseudo head) thông qua
những thành phần bổ trợ được tạo ra trước đó. Khi tạo ra các thành phần bổ trợ bên
phải Ri, các thành phần bổ trợ trướ đó (cùng phía với Ri) không bao giờ là các dấu câu,
nhưng lại là những ký tự tiền kết thúc thật sự.
Một ngoại lệ khác của thành phần NP cơ bản là sự so sánh giữa các char item dự
vào luật cắt bỏ cây và cắt bỏ theo khoảng (beam-pruning).
4.1.3.6. Tham số ứng với độ ưu tiên của các ký tự không kết thúc được từ vựng
hóa
Trong bộ phân tích cú pháp của Collins, dành cho các ký tự không kết thúc được
từ vựng hóa có hai loại tham số, hai loại này tính toán những lề tương đồng dành cho
ký tự không kết thúc chứa yếu tố từ vựng (lexical nonterminal). Những lề này là những
giá trị thô của xác suất bên ngoài chart item (xem (Barker, 1979, Lari và Young, 1990)
thuật toán Inside-Outside). Những nghiên cứu trước đây chỉ ra rằng, chỉ những xác
suất bên trong thì chưa đủ để làm độ đo khi so sánh các chart item trong cùng một
khoảng thời gian khi thực hiện decoding, do đó các xác suất bên ngoài chart item cũng
phải là thừa số đề so sánh.
Như vậy ta sẽ có công thức sau:
20
4.1.3.7. Trọng số làm trơn
Hầu hết các loại tham số trong mô hình của Collins, cũng như trong hầu hết các
mô hình phân tích cú pháp dựa vào thống kê, là xác suất điều kiện với nhiều điều kiện
và trường hợp khác nhau. Các điều kiện và trường hợp này được thể hiện thông qua
tập các sự kiện trong quá trình xử lý. Thông thường với tiếp cận sử dụng thống kê, quá
trình huấn luyện thường đòi hỏi tập dữ liệu dùng để huấn luyện càng lớn càng tốt, do
vậy các điều kiện và trường hợp cũng lớn dần theo. Giải pháp ở đây là ta phải thực
hiện việc là trơn các phân phối xác suất (smoothing) nếu như có quá nhiều giá trị bằng
0 (các trường hợp này không hề xảy ra, ta có thể lấy ví dụ như trong tiếng việt cụm từ
“vui vẻ” có tồn tại nhưng cụm từ “vẻ vui” không tồn tại nên nếu thực hiện xác định
phân bố xác suất thì “vẻ vui” có xác suất bằng 0, tập dữ liệu càng lớn, mật độ các xác
suất bằng 0 càng tăng lên). Trong bộ phân tích cú pháp của mình, Bikel thừa kế
phương thức làm trơn xác suất của Collins là sử dụng “deleted interpolation”, làm
trơn xác suất dựa trên phân phối phụ thuộc đầy đủ vào ngữ cảnh và một phần của ngữ
cảnh, thực hiện việc xóa thành phần trong ngữ cảnh tại mỗi mức back-off. Giả sử việc
làm trơn xác suất của tham số head sẽ là với và
. Giả sử ta có một xác suất điều kiện , gọi hàm loại bỏ ngữ cảnh tại
mức back-off thứ i là , với . Trong một chuỗi back-off xác suất được
46
ước lượng dựa vào phương pháp maximum likelihood, và xác suất sau khi làm trơn
được tính toán dựa vào n – 1 trọng số làm trơn (với n mức back-off) được ký hiệu là
. Sử dụng cách định nghĩa đệ quy, ta sẽ có với trọng số tại
mỗi mức back-off là được tính như sau:
21
Dễ dàng để chứng minh được rằng nếu
22
thì
23
- Mô hình không đầy đủ
Như ở trên ta thấy, việc sử dụng mô hình n mức back-off cần có n – 1 trọng số
làm trơn, tuy nhiên, cũng giống như Collin, Bikel đưa thêm một hằng số rất nhỏ (cỡ
10-19) làm tham số thứ n. Việc thêm hằng số này vào có thể làm cho bộ phân tích cú
pháp trở nên kém cỏi, vì nó kết thúc bằng việc sử dụng một hằng số. Việc này sẽ
không đảm bảo cho phương trình 23 đúng.
- Thừa số và giới hạn làm trơn.
Để xác định trọng số làm trơn, bộ phân tích cú pháp sử dụng công thức sau:
24
trong đó ci = count (history context of ) và ui là số lượng các ngữ cảnh. Ở đây,
hằng số 5 có tác dụng làm giảm độ lớn của trọng số làm trơn, làm cho trọng số nhỏ đi
so với mỗi mức back-off. Để đưa ra được giá trị này, Bikel đã thực hiện một số thông
kê và quan sát trên tập dữ liệu. Hằng số này được đặt tên là thừa số làm trơn
(smoothing factor), ký hiệu là ff. Như vậy ta sẽ có công thức sau:
25
với ft là giới hạn làm trơn. Với mỗi loại tham số, ngoại trừ tham số subcat và
, thì ft = 0 và ff = 5. Đối với tham số subcat thì ngược lại tức là ft = 5 và ff = 0,
với là ft = 1 và ff = 0. Điều này được giải thích bởi vì, trong khi làm trơn các
xác suất tạo ra subcat thì tính đa dạng không xảy ra. Trường hợp thứ hai xảy ra khi
ngữ cảnh không được quan sát trên tập huấn luyên v.v…, khi ấy ci = ui = 0. Trong
trường hợp này , các xác suất còn lại nhận giá trị thông qua trọng số ngay sau đó
.
47
4.1.3.8. Bộ sinh các bổ trợ cho head word
Như ta đã biết, một ký tự không kết thúc khi có đầy đủ các thông tin từ vựng
được tạo ra thông qua hai bước (xem 4.1.2.c). Bước đầu tiêp nhãn và nhãn từ loại được
tạo ra như trường hợp PL hoặc PR. Tiếp theo head được tạo ra nhờ một trong hai đối
tượng PL hoặc PR. Tham số back-off được đưa ra được miêu tả như sau:
Bảng 7: Các mức back-off với
Back-off level
0
1
2
Ở đây với mức cuối, khác hẳn 2 mức trên là do việc loại bỏ hoàn toàn các thành
phần đi. Ở đây, Collins sử dụng từ xuất hiện ở hai phía để ước lượng xác suất. Tuy
nhiên, trong bộ phân tích cú pháp của Bikel, Bikel chỉ sử dụng một lớp chung cho
công việc so với việc sử dụng hai thành phần để đánh giá như Collins. Bằng cách đưa
thêm một tham số logic side để xác định phía
Bảng 8: Tham số do Bikel đề xuất
Back-off
level
0
1
2
Một vấn đề nữa đó là việc ánh xạ các từ chưa biết (unknow word). Đối với một
số từ do tần sô xuất hiện quá thấp sẽ được gán nhãn là +unknow+, và sau đó nó phải
được khôi phục lạ là từ ban đầu. Trong bộ phân tích cú pháp của Bikel, đưa ra một số
phương thức tính toán để thực hiện việc này.
4.1.3.9. Lớp tham số TOP
Tất cả các cây đều có thể được tạo ra bởi mô hình sử dụng một ký tự không kết
thúc nhãn là +TOP+, nhãn cha của gốc cây. Thông tin về từ vựng của ký tự không kết
thúc head được sinh ra dựa vào nút +TOP+ (có xác suất ưu tiên là 1.0) bằng cách sử
dụng tham số . Trong luận văn Collin đã miêu tả chi tiết về tham số đặc biệt này.
Có hai loại tham số được dùng để quan sát gốc của cây, một tham số được sinh ra bởi
48
ký tự không kết thúc đánh dấu gốc cây và được chèn thêm các thông tin từ vựng
(ngoài nhãn của nút còn có nhãn từ vựng, nhãn của ký tự không kết thúc), tham số còn
lại sinh ra head word trong mỗi câu, được gọi là và . Những tham số này
liên quan đến một số kết quả không được Collin công bố trong bài báo của ông.
Bảng 9: Cấu trúc back-off đối với các tham số
Back-off level
0 +TOP+ t, H, +TOP+
1 n/a t
Chú ý rằng, có backs off tương đương với ước lượng . Tức là, xác
suất xuất hiện word khi nhãn của ký tự không kết thúc là tag. Ở đây, có một sự khác
biệt giữa mức back-off cuối cùng trong tham số bổ trợ của head-word, thành phần có
xác suất là trong không gian các từ tiền kết thúc được từ vựng hóa. Sự khác
nhau đó là trong cùng một câu, cùng một head word xuất hiện có thể cùng với một tag
trong nhiều nút. Mặc dù vậy, Collins vẫn sử dụng hàm đếm chia sẻ các mức cuối của
back-off với tham số khi thực hiện ước lượng xác suất cho tham số . Còn
trong bộ phân tích của Bikel, trong mọi trường hợp việc đếm sẽ được chia sẻ với tham
số , đối với tham số chỉ là một sự mô phỏng.
4.1.4. Decode
Trong bộ phân tích cú pháp của mình, Bikel sử dụng thuật toán CKY (Cook –
Kasamy – Young) phân tích cú pháp dựa vào chart và xác suất. Thuật toán phân tích
dựa vào chart sử dụng đồng thời phân tích top – down và bottom – up.
- Chart item: mục tiêu của quá trình decoding là xác định giả thiết giống nhau
nhiều nhất giữa các đối tượng (maximally-likely theory), nếu trong quá trình decoding
các chart item là tương đương với các item khác trong chart, thì item nào có xác suất
lớn hơn sẽ được tồn tại. Độ tương đồng giữa các chart item được đánh giá bằng khả
năng tạo ra các tham số được sử dụng để tạo ra các dẫn xuất: chúng ta đối xử với hai
chart item như là không tương đương nếu chúng biểu diễn dẫn xuất mà được coi như
không tương đương dựa vào các thành phần đầu ra và điều kiện ngữ cảnh của các tham
số đã tạo ra nó, đưa ra giả thuyết về độc lập của mô hình. Ví dụ về hai chart item được
cho là tương đương khi chúng có cùng môt nhãn (nhãn của nút gốc của cây dẫn xuất),
cùng một head word và tag, và có cùng tập subcat trái và phải. Ngoài ra, chúng cần có
cùng nhãn của head giống nhau (nhãn của nút head).
Nếu một chart item có nhãn của nút gốc là NP, nhãn của head thường là nhãn
NPB, đưa thêm một nút NP thêm vào trong quá trình tiền xử lý để đảm bảo cho nhãn
NPB luôn bị ảnh hưởng bởi nhãn NP. Trong trường hợp này, sử dụng một con trỏ
ngược trỏ vào nút NP cơ bản (base NP). Ở đây, có một sự khác giữa bộ phân tích cú
pháp của Collin và của Bikel, Collins cho rằng nhãn head của nút NP trong chart item
không là NPB, chính xác hơn là nhãn head của NPB chart item. Ngoài ra, để có được
49
nhãn của head của một chart item có NP, chúng ta cần dựa vào nút NPB và nhãn của
nút NPB. Có được điều đó là do trong một số trường hợp ta coi các nút NPB như là
nút được thêm vào. Điều đó làm cho độ chính xác của bộ phân tích tăng lên một chút.
- Lược bỏ: Mọi item đều được giữa lại nhưng chúng ta chỉ lựa chọn những item ở
trên cùng. Vì vây, để tăng tốc, trong bộ phân tích cú pháp, Collins đưa ra ba kiểu loại
bỏ. Đầu tiên đó là sử dụng một thông tin: chart nhớ tất cả các dẫn xuất có xác suất lớn
nhất trong mỗi giai đoạn phân tích, và nếu như chart item không mỗi bước không nằm
trong các thừa số có xác suất lớn nhất thì chart item không được đưa vào chart. Trong
bộ phân tích, Collin đưa ra giá trị 105. Giá trị này thay đổi tùy thuộc vào ngôn ngữ
cũng như kinh nghiệm khi chạy dựa trên tập dữ liệu. Nếu chart item biểu diễn dẫn xuất
với NP và NP-A có nhiều hơn một nút con, giá trị này sẽ là 104.e3.
Một loại nữa đó là phụ thuộc của sự kiện vào dấu phẩy. Qua quá trình thống kê
trên Penn Treebank, Collins nhận thấy khoảng 90%, khi một yếu tố chứa dấu phẩy, từ
ngay cuối cùng của chu kỳ đang xét là dấu phảy hay là từ cuối cùng của câu. Dấu phẩy
thường được sử dụng thường xuyên với cụm nằm trong dấu ngoặc. Vì vậy, nếu dấu
phẩy trong câu đầu vào xuất hiện sau một dấu mở ngoặc và trước dấu đóng ngoặc hoặc
ở cuối câu, dấu phẩy này không được xét trong sự phụ thuộc trên. Việc sử dụng sự phụ
thuộc vào dấu phẩy có thể làm tăng độ chính xác của mô hình.
Cuối cùng, một kiểu loại bỏ nữa là với mỗi ô của chart, sẽ chứa các item bao
gồm các đoạn trong câu, Collin sử dụng nhóm các item mà có cùng nhãn của nút gốc
trong quá trình dẫn xuất. Chỉ có 100 item có xác suất cao nhất mới được lưu trong
nhóm này. Một chart có xác suất cao mới được đưa vào nhóm, những thành phần nhỏ
sẽ bị loại ra, như vậy trong nhóm sẽ có 100 item có cùng một khoảng và cùng nhãn
trong một chart. Tuy nhiên, Bikel không đưa kiểu loại bỏ này vào trong bộ phân tích
của mình vì hiệu quả của nó không cao.
- Từ và nhãn chưa xác định
Trong quá trình tiền xử lý, nếu các từ xuất hiện dưới một ngưỡng (Bikel lấy giá
trị này là 5) thì đều được gán nhãn là +UNKNOW+ trong quá trình phân tích. Trong
quá trình phân tích, nếu gặp một từ không xác định, nhãn tốt nhất sẽ được gán dựa vào
bộ gán nhãn của Ratnaparkhi (Ratnaparkhi, 1996). Một bộ từ điển các nhãn sẽ được
xây dựng nếu quá trình huấn luyện chứa các thực thể cần được quan sát kể cả những từ
có tần số xuất hiện thấp. Khi đó, nếu thực hiện decoding, đầu ra của bộ gán nhãn chỉ
sử dụng đối với từ không xác định, không được quan sát trong khi huấn luyện. Đối với
những từ khác, chart liên kết với các item phân chia mỗi nhãn quan sát với một từ
trong quá trình huấn luyện
4.2. Tổng quan về bộ phân tích cú pháp.
4.2.1. Mở đầu
Trong phần này, chúng ta sẽ đi sâu vào tìm hiểu bộ phân tích cú pháp của Bikel,
để thấy được khả năng linh hoạt trong việc xử lý đối với các ngôn ngữ khác nhau.
Ngoài ra, bộ phân tích cú pháp còn khá thành công trong việc xây dựng một hệ thống
có khả năng xử lý song song.
50
4.2.2. Vấn đề cơ bản
4.2.2.1. Cấu trúc xác suất plug-‘n’-play và xử lý song song giữa các mức câu:
Cấu trúc xác suất từ vựng trong WordNet có tính chất đa dạng (Bikel, 2000). Từ
sự phát hiện đó, Bikel đã phát triển kiến trúc “plug-‘n’-play” cho cấu trúc xác suất từ
vựng. Bikel thừa kế và mở rộng mô hình của mình từ hệ thống BBN’s SIFT (Miller et
al., 1998), hệ thống dựa vào history-base model và dẫn xuất từ mô hình hai của
(Collins, 1997).
Để tính toán, ước lượng các xác suất, bộ phân tích cú pháp BBN có một thành
phần khởi tạo các đối tượng dữ liệu để biểu diễn cho đặc trưng và sự kiện trước đó,
ước lượng maximum-likelihood đối với với là hàm đếm các sự
kiện trong dữ liệu huấn luyện. Trong kiến trúc của Bikel, có một lớp trừu tượng
(abstract layer) có nhiệm vụ tính toán giá trị trước đối với từng mức back-off khác
nhau trong bộ phân tích cú pháp, trong mã giả, việc khởi tạo đối tượng trước trở nên
đơn giản:
history = probabilityStructure.get (backOffLevel, fullContext);
Ngoài ra, Bikel còn giúp cho hệ thống xử lý nhanh hơn bằng quá trình xử lý song
song thông qua việc phát triển đa luồng các sentence server, cung cấp song song các
câu ở các mức khác nhau trong cụm môi trường tính toán.
4.2.2.2. Độc lập về ngôn ngữ
Trong bộ phân tích cú pháp này, Bikel mở ra khả năng phát triển bộ phân tích đa
ngôn ngữ. Bikel và Chiang (2000) đã áp dụng các mô hình phân tích cú pháp (dẫn xuất
của bộ phân tích cú pháp BBN’s SIFT và bộ phân tích cú pháp thống kê của David
Chiang) cho bộ phân tích cú pháp tiếng Trung. Nhìn chung độ chính xác của bộ phân
tích cú pháp tiếng Trung không khác nhiều so với bộ phân tích cú pháp tiếng Anh, việc
đánh giá này được thực hiện trên tập ngữ liệu và tập test của mỗi loại ngôn ngữ. Sự
khác nhau chính ở đây là do mỗi ngôn ngữ sử dụng các ký tự khác nhau và chức năng
của một số nhãn từ loại trong ngôn ngữ. Qua đó, nhận thấy rằng bộ phân tích này có
thể hoạt động tốt mà không phụ thuộc vào ngôn ngữ nào, nó cho phép ta tạo ra các gói
ngôn ngữ (chứa các dữ liệu và phương thức của ngôn ngữ theo cấu trúc của Treebank).
4.2.3. Tổng quan về hệ thống
Bộ phân tích cú pháp của Bikel hỗ trợ cho mô hình phân tích cú pháp dựa vào
head (thành phần trung tâm), bao gồm hệ thống BBN’s SIFT, cũng như hỗ trợ mô hình
2 và 3 của Collins (Collins 1997).
51
Hình 24: Các thành phần và luồng làm việc
52
Luồng điều khiển SwitchBoard có tác dụng điều phối quá trình tính toán. Thành
phần CYK decoder client và DecoderServer chạy trên các máy chủ đang hoạt động
(available hosts), hoặc chạy trên bộ đa xử lý địa phương (local mutiprocessor) hoặc
máy chủ trên mạng (thông thường là mạng cục bộ - LAN). Khi bắt đầu chạy bộ
decoder và DecoderServer đều thông báo cho SwitchBoard. Sau đó, mỗi bộ decoder
gửi yêu cầu đến SwitchBoard để nhận về thông tin về DecoderServer để có thể liên kết
được với DecoderServer. Cuối cùng, decoder thực hiện vòng lặp chờ đợi các câu chưa
xử lý được gửi tới từ SwitchBoard. Khi tất cả các câu trong tập tin được xử lý,
SwitchBoard thu thập các câu có trong câu đầu vào (input file) để đưa ra tập đẩu ra
(output file). Khi toàn bộ các câu đã được xử lý, SwitchBoard có nhiệm vụ hủy tất các
các decoder và DecoderServer.
Hệ thống được thiết kế cho phép sự kết nối lỏng lẻo giữa decoder và
DecoderServer. Tuy nhiên, nếu như máy tính có đủ dung lượng bộ nhớ và CPU tốt
cung cấp cho mô hình và decoder, nó sẽ có hiệu quả rất lớn khi mỗi decoder tự động
kích hoạt DecoderServer riêng và kết nối trực tiếp đến DecoderServer thông qua giao
thức mạng.
Cơ chế xử lý lỗi Nếu bất kỳ một decoder nào không hoạt động, quá trình xử lý sẽ
không bị đứt quãng, nếu như decoder không hoạt động trong khi phân tích một câu,
SwitchBoard sẽ đảm bảo rằng câu đó sẽ được phân tích bởi một decoder khác. Nếu bất
kỳ một DecoderServer không hoạt động nữa, tất cả decoder kết nối đến DeocderServer
sẽ yêu cầu khởi tạo một DecoderServer mới từ SwitchBoard, và trả về thông tin cho
decoder có thể kết nối khi các yêu cầu gửi đến, trong thực tế DecoderServer có thể
dừng hoạt động trong quá trình phân tích và DecoderServer mới được tạo ra và sử
dụng mà không ảnh hưởng đến quá trình phân tích ở mức cao hơn. SwitchBoard luôn
theo dõi decoder thông qua các tập tin ghi nhớ (log file), vì vậy nếu như bản thân
SwitchBoard dừng hoạt động, thì một SwitchBoard khác sẽ được chạy và có thể khôi
phục được tất cả trạng thái trước khi xảy ra sự cố. Trong trường hợp này, tất cả
decoder và DecoderServer sẽ chờ đợi SwitchBoard sẵn sàng và đăng ký lại với
SwitchBoard, và trở lại việc xử lý các câu.
4.2.3.1. Gói ngôn ngữ:
Đối với một ngôn ngữ ví dụ như tiếng Anh, tiếng Trung hay tiếng Việt đều được
đóng gói thành “Java package” – tập hợp những lớp thực thi các giao diện nhằm cung
cấp các đặc tả và dữ liệu đặc biệt cho ngôn ngữ và miêu tả Treebank. Có bốn lớp
chính là : Treebank, Training, HeadFinder và WordFeatures. Lớp Treebank cung cấp
dữ liệu và phương thức đề miêu tả Treebank như là nhãn của các ký tự không kết thúc
phức tạp. Lớp Training cung cấp các phương thức để tiền xử lý cây trước khi huấn
luyện. Lớp HeadFinder có chức năng chính là đọc dữ liệu chứa các luật của head (tập
tin nằm trong gói data miêu tả các luật để chọn ra head (thành phần trung tâm) của một
câu hay cụm từ) và cung cấp hàm tìm kiếm thành phần trung tâm. Cuối cùng, lớp
WordFeatures cung cấp các ánh xạ giữa các yếu tố từ vựng với vector đặc trưng cho
hình thái học và phép chính tả nhằm giúp cho quá trình gán nhãn từ loại. Để đảm bảo
tính độc lập của ngôn ngữ, tất cả các tập tin vào và ra liên quan đến gói ngôn ngữ đều
53
được đọc và viết theo mã hóa ký tự do người dùng quy định. Bộ phân tích cú pháp của
Bikel đảm bảo cho người dùng có thể tạo ra một gói ngôn ngữ trong thời gian ngắn.
4.2.3.3. Đối tượng cấu trúc xác suất
Như trong phần trước, mỗi tham số của lớp có liên kết với hàm ánh xạ , 0 ≤ i <
n, với n là tống số mức back-off. Cả hai bộ phân tích cú pháp (BBN SIFT và Collins)
đều gặp khó khăn trong việc viết mã, với bộ phân tích BBN còn gặp khó khăn trong
việc tách biệt kiểu dữ liệu đối với mỗi mức back-off và tham số của lớp.
Trong bộ phân tích của Bikel, mỗi kiểu của đơn vị đầu ra của mô hình – bao gồm
các ký tự không kết thúc, ký tự tiền kết thúc, từ, đặc trưng của các từ, gap, và subcat
frame – đều liên kết với đối tượng ProbabilityStructure, miêu tả cách thức mà đối
tượng dữ liệu biểu diễn các đặc trưng và trạng thái trước tại mỗi mức back-off đối với
các thành phần đầu ra. Đố tượng chứa ngữ cảnh toàn diện nhất, được gọi là
TrainEvent, đều được phân tích thông qua phương thức đơn giản để đưa ra một trạng
thái trước hoặc đặc trưng cho mức back-off như đoạn mã giả sau:
history = probabilityStructure.get (backOffLevel, fullContext);
Với mỗi một lớp trừu tượng cũng có xác suất của các sự kiện, đối tượng miêu tả
các sự kiện cần dựa vào interface Event. Lớp trừu tượng này làm tăng độ mềm dẻo của
bộ phân tích cú pháp trong quá trình phân tích các sự kiện cũng như xác định kiểu của
các thành phần trả về bao gồm các đặc trưng từ thành phần đầu ra.
4.2.3.3. Khả năng linh hoạt của subcat frame.
Mô hình 2 và 3 của Collin sử dụng subcategorization frame (subcat), tập các ký
tự không kết thúc nằm ở hai phía của head (thành phần trung tâm). Đây là việc cập
nhật subcat một cách linh động, khi yêu cầu được thực thi, các ký tự sẽ được tự động
xóa khỏi tập. Ví dụ như, subcat chứa ký tự {NP-A}, và nút NP-A được sinh ra ở bên
trái của head (thành phần trung tâm), thì chuỗi phân tích con sẽ sinh ra một subcat
rỗng, {}. Bằng cách này, subcat động xử sự giống như một history- based model.
Trong bộ phân tích cú pháp của Bikel, subcat frames được thực thi từ interface
Subcat. Trong quá trình huấn luyện, tất cả các ký tự bổ sung (không có từ vựng) của
thành phần head trong mỗi luật đều gọi phương thức add Subcat, sẽ có một quá trình
lựa chọn các ký tự không kết thúc để đưa vào subcat. Một số đối
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- PHÂN TÍCH CÚ PHÁP TIẾNG VIỆT THEO TIẾP CẬN THỐNG KÊ.pdf