Trong giới hạn hiểu biết của người làm luận văn, có thể liệt kê ra một số các nghiên cứu phổ biến trên thế giới trong việc áp dụng phân tích cú pháp vào tổng hợp tiếng nói đặc biệt là ch
Trang 1LỜI CAM ĐOAN
Tôi – Lê Quang Thắng – xin cam kết Luận văn tốt nghiệp là công trình nghiên cứu
của bản thân tôi dưới sự hướng dẫn của PGS.TS Trần Đỗ Đạt, Viện nghiên cứu
quốc tế MICA, trường Đại học Bách Khoa Hà Nội
Các kết quả nên trong Luận văn tốt nghiệp là trung thực, không sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày 04 tháng 09 năm 2014
Học viên thực hiện luận văn
Lê Quang Thắng
Trang 2LỜI CẢM ƠN
Đầu tiên, em xin được gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo thuộc trường đại học Bách Khoa Hà Nội Đặc biệt là các thầy giáo, cô giáo thuộc Viện Công nghệ Thông tin và Truyền thông Các thầy cô đã trang bị cho em những kiến thức quý báu trong thời gian em học tập và nghiên cứu tại trường
Em cũng xin được gửi lời cảm ơn đặc biệt đến PGS.TS Trần Đỗ Đạt Thầy là người
đã rất kiên trì chỉ dẫn tận tình và cho em những kinh nghiệm quý báu trong suốt quá trình làm luận văn và trong cả cuộc sống sau này
Đồng thời em cũng xin gửi lời cảm ơn chân thành đến GS.TS Miyao Yusuke và tất
cả mọi người trong Miyao lab, thuộc viện công nghệ thông tin quốc gia Nhật Bản vì
đã giúp đỡ em rất nhiều trong việc thực hiện các nghiên cứu trong luận văn
Em cũng cảm ơn PGS.TS Lê Đình Duy, TS Nguyễn Văn Kiên, TS Trần Minh Quang cùng các anh chị nghiên cứu sinh, thuộc viện công nghệ thông tin quốc gia Nhật Bản đã chia sẻ với em những kinh nghiệm quý báu về việc làm nghiên cứu, giúp em hoàn thành luận văn một cách tốt hơn
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè… Những người đã luôn ở bên cạnh em cho đến tận giây phút cuối cùng
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
LỜI NÓI ĐẦU ii
Danh mục các bảng trong luận văn 1
Danh mục các hình trong luận văn 2
CHƯƠNG 1 MỞ ĐẦU 3
1.1 Bài toán phân tích cú pháp 3
1.2 Vai trò của phân tích cú pháp trong tổng hợp tiếng nói 3
1.3 Mục tiêu và nội dung của luận văn 5
CHƯƠNG 2 CÁC NGHIÊN CỨU TỔNG QUAN VỀ PHÂN TÍCH CÚ PHÁP 7
2.1 Hướng tiếp cận sử dụng Treebank cho phân tích cú pháp 7
2.2 Nhị phân hóa tập dữ liệu Treebank 8
2.3 Hiện trạng các hướng nghiên cứu cho phân tích cú pháp 10
2.3.1 Mô hình xác suất PCFG 10
2.3.2 Các mô hình Generative 10
2.3.3 Các mô hình Discriminative 11
2.3.4 Thuật toán perceptron cấu trúc 12
2.4 Các nghiên cứu về phân tích cú pháp tiếng Việt 14
CHƯƠNG 3 HỆ THỐNG PHÂN TÍCH CÚ PHÁP SHIFT-REDUCE 15
3.1 Lý thuyết cơ sở về hệ thống phân tích shift-reduce 15
3.1.1 Khái niệm state và action trong phân tích shift-reduce 15
3.1.2 Quá trình phân tích cú pháp shift-reduce 18
3.1.3 Huấn luyện hệ thống phân tích shift-reduce sử dụng thuật toán Perceptron cấu trúc 21
3.1.4 Bài toán tìm kiếm trong hệ thống phân tích shift-reduce 26
3.2 Hệ thống phân tích shift-reduce sử dụng thuật toán best first search(BFS) 27
3.2.1 Các nghiên cứu đi trước về BFS cho phân tích cú pháp shift-reduce 27
3.2.2 Hệ thống phân tích cú pháp shift-reduce sử dụng BFS của luận văn 28
3.2.3 Vấn đề trọng số âm và cách giải quyết 29
3.2.4 Thuật toán quy hoạch động cho phân tích shift-reduce 30
3.3 Đánh giá hiệu năng của hệ thống phân tích shift-reduce sử dụng BFS 33
CHƯƠNG 4 SỬ DỤNG THUẬT TOÁN A* CHO HỆ THỐNG PHÂN TÍCH SHIFT-REDUCE 38
4.1 Vấn đề của hệ thống phân tích shift-reduce với tìm kiếm BFS 38
4.2 Bộ đặc trưng sử dụng thông tin bề mặt 39
4.3 Sử dụng ước lượng A* để tăng tốc độ phân tích của hệ thống 41
4.3.1 Phép chiếu GP (Grammar Projection) 44
4.3.2 Phép chiếu LF (Less Feature) 45
4.3.3 Phép chiếu kết hợp của GP và LF 46
CHƯƠNG 5 ĐÁNH GIÁ VÀ THỬ NGHIỆM HỆ THỐNG 48
5.1 Chuẩn bị thí nghiệm 48
Trang 4Tài liệu tham khảo 63
LỜI NÓI ĐẦU
Tổng hợp tiếng nói (TTS – text to speech) là tiến trình tạo ra giọng nói nhântạo của con người từ đầu vào là văn bản Đây là lĩnh vực nghiên cứu có tính ứng dụng thực tiễn cao nên được quan tâm trên thế giới và Việt Nam Ứng dụng củatổng hợp tiếng nói có thể dễ dàng thấy trong nhiều hệ thống, như hệ thống hỗ trợđọc văn bản cho người khuyết tật, hệ thống trả lời tự động tại các tổng đài hayrobot, hệ thống chỉ đường trong các phương tiện vận tải Đối với một hệ thốngtổng hợp tiếng nói, hai tiêu chí quan trọng nhất để đánh giá chất lượng tiếng nóiđược tạo ra là mức độ tự nhiên và mức độ dễ nghe Nếu như mức độ tự nhiên là đểthể hiện sự tương đồng giữa giọng nói tổng hợp và giọng nói tự nhiên của người, thìmức độ dễ nghe lại đánh giá mức độ người nghe có thể hiểu được tiếng nói tổnghợp Một hệ thống tổng hợp tốt phải cân bằng tốt được hai tính chất này.Trong số những vấn đề liên quan đến bài toán tổng hợp tiếng nói, thì phân tíchcú pháp là một trong những yếu tố có ảnh hưởng lớn đến việc đưa ra thông tin vềngữ âm và ngữ điệu cho tiếng nói tổng hợp, qua đó ảnh hưởng đến nhiều đếnchất lượng của bộ tổng hợp tiếng nói theo hai tiêu chí đánh giá trên Tuy nhiên, trong phạm vi nghiên cứu của mình, người làm luận văn nhận thấy việc áp dụng các kết quả của phân tích cú pháp tiếng Việt vào hệ thống tổng hợp tiếng nói vẫn còn rất hạn chế[1][2][6][7][8] Do đó hướng đi lựa chọn nghiên cứu và xây dựng nên một hệ thống phân tích cú pháp tiếng Việt có hiệu năng cao để cải thiện chất lượng của hệ thống tổng hợp tiếng Việt để áp dụng cho
hệ thống tổng hợp tiếng nói tiếng Việt là một hướng đi hứa hẹn vàcó tính ứng dụng cao
Trang 5Danh mục các bảng trong luận văn
Bảng 3-1 Bộ đặc trưng giản lược của Sagae (2006) 24
Bảng 3-2 Bộ đặc trưng Baseline của Zhang và Clark (2009) 25
Bảng 3-3 Kết quả thử nghiệm của hệ thống phân tích cú pháp BFS-DP Shift-Reduce của luận văn trên section 24 của tập dữ liệu Penn Treebank 35
Bảng 4-1 Bộ đặc trưng bề mặt được đề xuất bởi người làm luận văn dựa trên lý thuyết về thông tin bề mặt trong phân tích cú pháp của Hall (2014) 41
Bảng 4-2 Ví dụ minh họa về trọng số của các đặc trưng trong các phép chiếu 44
Bảng 4-3 Danh sách các đặc trưng bị bỏ qua trong phép chiếu LF 46
Bảng 5-1 Luật xác định từ trung tâm của tiếng Việt 50
Bảng 5-2 Kết quả của thí nghiệm cuối cùng trên section 24 của Penn Treebank 52
Bảng 5-3 Kết quả cuối cùng của thí nghiệm trên section 23 của Penn Treebank 55
Bảng 5-4 Kết quả của thí nghiệm với phân tích cú pháp tiếng Việt 56
Bảng 5-5 Kết quả của mô hình dự đoán ngắt nghỉ sử dụng luật với hai bộ dữ liệu phân tích cú pháp thủ công và tự động 57
Bảng 5-6 Kết quả của mô hình dự đoán ngắt nghỉ sử dụng các thông tin về syntactic-block, syntactic-link và PoS 58
Trang 6Danh mục các hình trong luận văn
Hình 1-1 Minh họa một cây cú pháp cho một câu văn bản 3
Hình 2-1 Ví dụ minh họa về nhị phân LB 9
Hình 2-2 Ví dụ minh họa về nhị phân RB 9
Hình 2-3 Ví dụ minh họa về nhị phân HB 9
Hình 3-1 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ không 19
Hình 3-2 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ nhất 19
Hình 3-3 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ hai 19
Hình 3-4 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ ba 20
Hình 3-5 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ tư 20
Hình 3-6 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ năm 20
Hình 3-7 Ví dụ minh họa phân tích shift-reduce: trạng thái cuối cùng 21
Hình 3-8 Biểu thức suy diễn của các action trong hệ thống phân tích cú pháp Shift-Reduce của luận văn 33
Hình 3-9 Biểu đồ so sánh số lượng trung bình các state phải xét duyệt qua của hai mô hình Perceptron và Maxent 36
Hình 4-1 Ví dụ đơn giản về việc kết hợp hai state p và q sử dụng action Reduce 38
Hình 4-2 Ví dụ minh họa về các thành phần cơ bản trong lý thuyết thông tin bề mặt của Hall (2014) 39
Hình 4-3 Ví dụ minh họa về một số đặc trưng sau khi thực hiện phép chiếu GP 45
Hình 4-4 Ví dụ minh họa về một số đặc trưng sau khi thực hiện phép chiếu LF 45
Hình 5-1 So sánh thời gian phân tích của các loại ước lượng A* khác nhau 52
Hình 5-2 So sánh thời gian phân tích giữa thời gian phân tích của A* với thuật toán BeamSearch 54
Hình 5-3 Kết quả của thí nghiệm cảm thụ so sánh giữa hai hệ thống T1 và T2 60
Trang 7CHƯƠNG 1 MỞ ĐẦU 1.1 Bài toán phân tích cú pháp
Phân tích cú pháptừ lâu đã được biết đến là một trong những bài toán cơ bản và quan trọng nhất của ngành xử lý ngôn ngữ tự nhiên Mục đích của phân tích cú pháp
là cung cấp thông tin về ngữ pháp của một câu văn bản, thường được xác định dưới dạng cây như Hình 1-1 Trong rất nhiều các nghiên cứu trên thế giới, phân tích cú pháp được ứng dụng rộng rãi trong các hệ thống cao hơn như dịch máy dự động, tóm tắt văn bản, trích rút thông tin, hệ thống hiểu ngôn ngữ tự nhiên.Tuy nhiên, sự nhập nhằng về mặt kết quả cộng với độ phức tạp cao làm cho bài toán này trở nên rất thử thách Đặc biệt là với tiếng Việt, sự hạn chế cả về mặt tốc độ lẫn độ chính xác của các hệ thống phân tích cú pháp tiếng Việt hiện tại đã khiến cho các hệ thống phân tích cú pháp không thể áp dụng được vào trong thực tế
Hình 1-1 Minh họa một cây cú pháp cho một câu văn bản
1.2 Vai trò của phân tích cú pháp trong tổng hợp tiếng nói
Trong số các hệ thống ứng dụng phân tích cú pháp nhiều nhất, có thể kể đến tổng hợp tiếng nói Tổng hợp tiếng là quá trình chuyển đổi từ văn bản sang tín hiệu tiếng nói tương ứng, được sử dụng rất nhiều trong thực tế Chất lượng của một hệ thống tổng hợp tiếng phụ thuộc vào rất nhiều yếu tố: độ tự nhiên, độ dễ nghe và độ truyền
Trang 8cảm… Do đó, việc nghiên cứu các thành phần ngữ pháp của một câu văn bản là rất hứa hẹn trong việc tăng chất lượng của bộ tổng hợp tiếng nói
Trong giới hạn hiểu biết của người làm luận văn, có thể liệt kê ra một số các nghiên cứu phổ biến trên thế giới trong việc áp dụng phân tích cú pháp vào tổng hợp tiếng nói (đặc biệt là cho tiếng Việt) như sau:
- Tạo ra cây ngữ điệu (prosodic hierarchy): một trong những ứng dụng phổ biến của cây cú pháp trong tổng hợp tiếng nói đó là việc tạo ra cây ngữ điệu từ cây cú pháp Dựa vào đó, hệ thống tổng hợp tiếng nói sẽ biết cách ngắt nghỉ hợp lý hơn Trên thế giới việc nghiên cứu làm sao để chuyển từ cây cú pháp sang cây ngữ điệu đã phát triển từ lâu và đạt được một số kết quả nhất định.[17]
Trang 9- Một số các hệ thống tổng hợp tiếng nói khác trên thế giới còn sử dụng các phương pháp học máy với đặc trưng là các thông tin trích rút ra từ cây ngữ pháp của câu văn bản và đạt được những kết quả rất khả quan.[18]
- Các thông tin về mặt cấu trúc của câu được cung cấp từ cây ngữ pháp đã từng được áp dụng vào phương pháp tổng hợp ghép nối các đơn vị âm không đồng nhất góp phần làm tăng hiệu quả và chất lượng của bộ tổng hợp tiếng nói tiếng Việt.[5][2]
- Ngoài ra, trong một nghiên cứu khác về tiếng Việt, cây cú pháp còn cung cấp thông về từ trung tâm giúp hệ thống tổng hợp tiếng biết cách đặt trọng âm vào đúng vị trí.[18]
1.3 Mục tiêu và nội dung của luận văn
Luận văn sẽ tập trung hướng tới xây dựng một bộ phân tích cú pháp tiếng Việt để qua đó áp dụng làm nâng cao chất lượng của hệ thống tổng hợp tiếng nói
Hệ thống phân tích cú pháp tiếng Việt này sẽ phải thỏa mãn hai điều kiện: độ chính
xác cao và tốc độ phân tích đủ nhanh để có thể vận hành trong hệ thống thực Để
làm được điều đó, luận văn sẽ khảo sát qua một loạt các nghiên cứu trên thế giới trước khi phân tích, lựa chọn hướng phát triển thích hợp cho nghiên cứu đồng thời trình bày một số ý tưởng cải tiến chất lượng của bộ phân tích cú pháp tiếng Việt
Về mặt nội dung chính, luận văn được chia thành 5 chương:
Chương 2sẽ trình bày về một số hướng nghiên cứu tổng quan trên thế giới về
phân tích cú pháp, các phương pháp và các mô hình được sử dụng cho phân tích cú
Trang 10những thuật toán học máy mạnh nhất cho phân tích cú pháp nói riêng và xử lý ngôn ngữ tự nhiên nói chung, và cũng là thuật toán học máy luận văn sẽ sử dụng cho hệ thống phân tích cú pháp tiếng Việt của mình Cuối chương sẽ là một số tóm tắt khái quát về tình hình nghiên cứu phân tích cú pháp cho tiếng Việt
Chương 3chủ yếu tập trung nói về hệ thống phân tích cú pháp của luận văn,
được dựa trên nền tảng là phương pháp phân tích cú pháp Shift-Reduce kết hợp với thuật toán học máy Perceptron cấu trúc của Zhu (2013)[14] Trong chương này, luận văn sẽ trình bày cách thức để giải quyết bài toán tìm kiếm chính xác dựa trên thuật toán Best-First-Search (BFS) thay vì phải sử dụng giải thuật tìm kiếm không chính xác như Beam Search của Zhu Cuối chương sẽ là một số thí nghiệm để đánh giá độ hiệu quả của hệ thống so với các hệ thống phân tích cú pháp Shift-Reduce sử dụng giải thuật BFS trong các nghiên cứu đi trước
Chương 4là chương mô tả các ý tưởng đề xuất của luận văn dành cho hệ
thống ở chương 3 nhằm tăng tốc độ và độ chính xác của hệ thống Đầu tiên là việc
đề xuất và sử dụng một bộ đặc trưng mới dành cho phân tích cú pháp Shift-Reduce
để nhằm làm giảm độ phức tạp thuật toán mà không bị mất mát về độ chính xác Thứ hai là ý tưởng về các ước lượng A* để giúp tốc độ của hệ thống tăng lên gấp nhiều lần trong khi vẫn đảm bảo được sự tối ưu về mặt tìm kiếm
Chương 5 là chương đánh giá và thực nghiệm, sẽ bao gồm 3 loại thí nghiệm:
thí nghiệm của hệ thống phân tích cú pháp trên dữ liệu tiếng Anh, thí nghiệm của hệ thống trên dữ liệu tiếng Việt và cuối cùng thí nghiệm đánh giá độ ảnh hưởng của hệ thống phân tích cú pháp của luận văn đối với hệ thống tổng hợp tiếng nói tiếng Việt
Cuối cùng là kết luận và tài liệu tham khảo
Trang 11CHƯƠNG 2 CÁC NGHIÊN CỨU TỔNG QUAN VỀ
2.1 Hướng tiếp cận sử dụng Treebank cho phân tích cú pháp
Các thông tin được trả ra bởi hệ thống phân tích cú pháp đều là những thông tin không thể suy diễn được trực tiếp ra từ câu văn bản đầu vào Điều này có nghĩa là một bộ phân tích cú pháp cần phải có một kho “tri thức” nào đó để hỗ trợ trong việc đưa ra cây cú pháp với định dạng như thế nào? Một trong những phương pháp cổ điển nhất là thiết kế ra một tập luật cú pháp cho tập hợp các câu văn bản đầu vào tương ứng Cụ thể, trong ngành xử lý ngôn ngữ nói chung, các luật ngữ pháp như vậy thường được biểu diễn bởi văn phạm phi ngữ cảnh CFG (Context-Free Grammar), sau đó thì sử dụng các phép suy diễn để đưa ra cây cú pháp tương ứng
Tuy nhiên, việc thiết kế ra một tập luật CFG có thể khái quát hết tất cả các cấu trúc
cú pháp của một ngôn ngữ tự nhiên là rất khó Không giống như ngôn ngữ lập trình
có cấu trúc, ngôn ngữ tự nhiên thực sự rất phức tạp để có thể liệt kê ra các luật CFG tương ứng vì nó liên quan đến tri thức của cả một ngôn ngữ.Ngoài ra, quá nhiều luật
cú pháp sẽ dẫn đến bùng nổ tổ hợp trong việc kết hợp các luật cú pháp lại với nhau, dẫn đến một không gian tìm kiếm vô cùng lớn, dư thừa và nhập nhằng
Trang 12Để giải quyết tất cả các vấn đề kể trên, đa phần các nghiên cứu về phân tích cú pháp đều sử dụng kho ngữ liệu Treebank, một cách tiếp cận hướng dữ liệu dành riêng cho phân tích cú pháp Kho ngữ liệu Treebank là một tập hợp các câu văn bản trong đó mỗi câu đều được gán tương ứng với một cây cấu trúc ngữ pháp đầy đủ Treebank thường sẽ là một tập dữ liệu lớn và được xây dựng một cách thủ công cẩn thận bởi các chuyên gia về ngôn ngữ để đảm bảo cây cú pháp tương ứng với câu đầu vào phải mang thông tin ngữ pháp chính xác nhất có thể
Hiển nhiên là với kho ngữ liệu Treebank, thì sẽ không có tập luật CFG được thiết kế thủ công nào nữa, mà thay vào đó chúng ta có thể sử dụng các phương pháp học máy có giám sát để huấn luyện cho hệ thống phân tích cú pháp trong việc đưa
ra đáp án chuẩn xác nhất cho một câu văn bản đầu vào
2.2 Nhị phân hóa tập dữ liệu Treebank
Nhị phân hóa (Binarization) là quá trình biến đổi tất cả các luật trong cây cú pháp về dạng chuẩn Chomsky, nghĩa là không được tồn tại luật cú pháp nào có nhiều hơn hai phần tử ở vế phải Để thực hiện được quá trình này, tất cả các nút trong cây cú pháp được tạo nên bởi luật A B C D E F có nhiều hơn hai phần tử
sẽ được bóc tách thành một tập các nút trung gian A* với dạng chuẩn Chomsky Đối với các phương pháp phân tích cú pháp sử dụng Treebank, thì việc nhị phân hóa cây cú pháp là điều gần như bắt buộc để giảm độ phức tạp và tăng độ bao phủ của tập luật cú pháp được suy diễn ra từ Treebank Có một số phương pháp nhị phân hóa cây cú pháp có thể kể ra như sau
LB(Left Binarization): là quá trình nhị phân hóa các nút trong cây cú pháp
theo thứ tự từ trái sang phải, thường được sử dụng cho các ngôn ngữ kết hợp trái như tiếng Anh, tiếng Việt…
Trang 13Hình 2-1 Ví dụ minh họa về nhị phân LB
RB (Right Binarization): là quá trình nhị phân hóa các nút trong cây cú pháp
theo thứ tự từ phải sang trái, thường được sử dụng cho các ngôn ngữ kết hợp phải như tiếng Nhật…
Hình 2-2 Ví dụ minh họa về nhị phân RB
HB (Head Binarization): đây là phương pháp nhị phân hóa dựa trên vị trí
xuất hiện của từ trung tâm[9], rất hữu hiệu cho những nghiên cứu về phân tích cú pháp cần tận dụng các đặc trưng liên quan đến từ trung tâm
Trang 142.3 Hiện trạng các hướng nghiên cứu cho phân tích cú pháp
Với cách tiếp cận sử dụng Treebank, thì việc xây dựng một mô hình học máy thống kê dựa trên tập dữ liệu đó là điều vô cùng thiết yếu Trong phần này, luận văn
sẽ trình bày tóm tắt các họ mô hình hay được sử dụng trong phân tích cú pháp trên thế giới, qua đó giới thiệu thuật toán Perceptron cấu trúc, hiện đang được coi là một trong những thuật toán học máy mạnh nhất cho phân tích cú pháp
2.3.1 Mô hình xác suất PCFG
Mô hình PCFG (Probabilistic Context-free Grammars) hay còn gọi là mô hình văn phạm phi ngữ cảnh xác suất là cách đơn giản và phổ biến nhất để giải quyết vấn đề
nhập nhằng dựa trên Treebank Với mô hình này, mỗi một luật trong CFG có dạng
sẽ được gán cho một giá trị xác suất bằng:
( )Với:
( ) là số lần luật xuất hiện trong Treebank
( ) là số lần xuất hiện của các luật có vế trái là N xuất hiện trong Treebank
Cuối cùng thì điểm của một cây cú pháp sẽ được tính bằng tích các xác suất của các luật tạo dựng lên cái cây đó Với cách tính đó, chúng ta có thể sử dụng một số thuật toán quy hoạch động dạng bảng như CYK hay Earley để đưa ra cây cú pháp có xác suất cao nhất
2.3.2 Các mô hình Generative
PCFG có thể được coi là một mô hình đơn giản nhất thuộc họ các mô hình Generative mà tại đó cây cú pháp đầu ra sẽ là cây có xác suất hợp ( ) là lớn nhất với câu đầu vào Lý thuyết của mô hình generative có thể được mô tả đơn giản như sau: mỗi một cây cú pháp được mô phỏng như một chuỗi các sự kiện
Trang 15, như trong phân tích PCFG thì chuỗi sự kiện này chính là các luật
cú pháp Qua đó, ta có thể tính điểm cho mỗi cây cú pháp như sau:
( ) ( ) ∏ ( )
Một trong những hệ thống phân tích cú pháp theo hướng tiếp cận Generative nổi tiếng nhất là hệ thống phân tích LPCFG của Michael Collins[3] Ý tưởng của hệ thống này xuất phát từ việc sử dụng thêm từ trung tâm[3] vào trong công thức xác suất PCFG Trong thí nghiệm trên section 23 của tập ngữ liệu PennTreebank dành cho tiếng anh, hệ thống LPCFG có thể đạt được F-score là 88.2%, trong khi đó F-score của hệ thống thuần PCFG là 73%
2.3.3 Các mô hình Discriminative
Khác với mô hình Generative, các mô hình Discriminative không tính xác suất hợp của x và y, mà thay vào đó tập trung vào việc tối ưu xác suất điều kiện của y theo x: P(y|x) Nghĩa với các mô hình Discriminative, thì cây cú pháp có P(y|x) cao nhất sẽ được coi như cây đầu ra
Xét về độ chính xác, họ mô hình Discriminative hiệu quả hơn Generative rất nhiều Thứ nhất, các mô hình Discriminative có thể tận dụng bất kỳ đặc trưng nào cho việc tối ưu xác suất điều kiện qua đó nắm bắt được nhiều thông tin quan trọng hơn Thứ hai, các mô hình Discriminative không cần phải dựa vào các giả sử độc lập giống như Generative nên sẽ không bị dẫn tới việc mất mát thông tin do các giả sử sai mang lại.Mặc dù mô hình Discriminative sẽ tốn chi phí cho việc tối ưu xác suất điều kiện P(y|x) nhưng lại thường xuyên cho ra kết quả tốt hơn Generative rất nhiều
Một mô hình Discriminative cho phần tích cú pháp sẽ bao gồm các thành phần như sau:
Mỗi một câu văn bản và cây cú pháp sẽ được gán với một vector đặc trưng ( ) * +
Trang 16 Hàm ( ) biểu thị cho tập tất cả các cây cú pháp tương ứng với
Một vector trọng số thể hiện trọng số tương ứng của mỗi đặc trưng trong ( )
Với ( ), và ( ) được mô tả như trên, cây cú pháp đầu ra tốt nhất sẽ là cây có xác suất điều kiện cao nhất:
( ) ( )
2.3.4 Thuật toán perceptron cấu trúc
Để tính xác suất điều kiện p(y|x, ) như đã nói ở trên, chúng ta có thể sử dụng công thức xác suất của cây cú pháp y trên tập tất cả các cây cú pháp ứng cử viên, ký hiệu
là GEN(x), như sau:
( ) ∑ ( ( ) )
( ( ) )
( )
⇒ ( ) ( ) ∑ ( ( ) ) ( )
( )
Bài toán bây giờ trở thành bài toán cực đại hóa biểu thức (1) đối với tất cả các cặp mẫu (x,y) trong tập Treebank Tuy nhiên, việc tính toán biểu thức chuẩn hóa ( ) ∑ ( ) ( ( ) )tốn rất nhiều chi phí tính toán Do đó, Michael Collins đã đề xuất và thử nghiệm việc loại bỏ biểu thức chuẩn hóa để rút gọn công thức của biểu thức cần cực đại hóa thành:
( ) ( ) Đồng nghĩa với việc kết quả đầu ra trả ra sau công đoạn cực đại hóa sẽ là:
( ) ( )(2)
Và đây cũng chính là công thức tổng quát của thuật toán perceptron cấu trúc, hay
còn có tên gọi khác là “mô hình tuyến tính toàn cục” Cho đến thời điểm hiện tại,
Trang 17đây là phương pháp học máy được sử dụng rộng rãi nhất trong bài toán phân tích cú pháp nói chung và xử lý ngôn ngữ tự nhiên nói riêng
Giống như các thuật toán học máy bình thường, thuật toán Perceptron được chia làm hai pha:
- Huấn luyện: hệ thống sẽ tiến hành học với từng mẫu (x,y) trong tập dữ liệu Treebank dành cho huấn luyện Đầu tiên, hệ thống sẽ tính toán ra đầu
ra y* dựa theo công thức (2) Nếu y* khác y thì cập nhập lại vector trọng
số w cho phù hợp Thuật toán sẽ lặp đi lặp lại cho đến khi nào số phần trăm các mẫu dự đoán đúng đạt đến một mức nhất định
- Phân loại: với mỗi đầu vào x bất kỳ đưa ra y* có điểm F(x,y*, ) là lớn nhất theo công thức (2)
Ưu điểm của thuật toán Perceptron cấu trúc so với các thuật toán học máy thuộc họ Discriminative khác đó là tốc độ tính toán nhanh hơn rất nhiều mà vẫn đảm bảo được độ chính xác cao tương đương Ngoài ra, giai đoạn huấn luyện của thuật toán còn được thực hiện theo phương thức online nghĩa là tính toán và cập nhật trọng số liên tục theo từng mẫu một, rất thích hợp để sử dụng trong những hệ thống thực tế
mà tập huấn luyện được cập nhật liên tục
Initialization: w = 0 Algorithm:
Trang 182.4 Các nghiên cứu về phân tích cú pháp tiếng Việt
Các nghiên cứu về phân tích cú pháp tiếng Việt cho đến hiện nay vẫn còn rất hạn
chế Trong giới hạn tìm hiểu của luận văn thì đa phần các hệ thống phân tích cú
pháp tiếng Việt đều dựa trên các mô hình học máy Generative, trong số nổi bật nhất
là hệ thống phân tích cú pháp của vlsp được phát triển bởi Lê Anh Cường Hệ thống
này sử dụng phương pháp LPCFG, một dạng biến thể của PCFG sử dụng thêm
thông tin về từ trung tâm để tăng độ chính xác Độ chính xác của hệ thống này tính
theo thang điểm F-score là 75% (được thực hiện bởi người làm luận văn), hiện
được coi là hệ thống phân tích cú pháp có độ chính xác cao nhất cho tiếng Việt Tuy
nhiên, hệ thống này có hai vấn đề: tốc độ phân tích quá chậm (2-3 câu/giây) và mô
hình sử dụng LPCFG là một mô hình Generative đã cũ không thể so sánh được với
các mô hình Discriminative như thuật toán Perceptron cấu trúc về độ chính xác Vì
lí do đó, luận văn sẽ xây dựng một hệ thống phân tích cú pháp sử dụng thuật toán
Perceptron cấu trúc hội tụ đủ cả 2 tiêu chí: độ chính xác cao và tốc độ phân tích
nhanh để có thể ứng dụng vào trong hệ thống tổng hợp tiếng nói
Kết chương
Trong chương này, chúng ta đã điểm qua một số những nghiên cứu tổng quan về
phân tích cú pháp trên thế giới nói chung và dành cho phân tích cú pháp tiếng Việt
nói riêng Với việc phân tích các ưu thế của thuật toán Perceptron cấu trúc so với họ
thuật toán Generative, mà cụ thể là phương pháp LPCFG phổ biến nhất cho phân
tích cú pháp tiếng Việt, luận văn đã quyết định sẽ lựa chọn Perceptron cấu trúc để
làm phương pháp học máy cho hệ thống phân tích cú pháp của mình Trong chương
sau, luận văn sẽ trình bày về hệ thống phân tích cú pháp cùng với bài toán tối ưu
hóa tìm kiếm dựa trên phương pháp phân tích cú pháp Shift-Reduce
Trang 19CHƯƠNG 3 HỆ THỐNG PHÂN TÍCH CÚ PHÁP
SHIFT-REDUCE 3.1 Lý thuyết cơ sở về hệ thống phân tích shift-reduce
Phân tích shift-reduce là một phương pháp phân tích rất nổi tiếng và được áp dụng cho hầu hết tất cả các bài toán trong xử lý ngôn ngữ tự nhiên như tách từ, gán nhãn
từ loại, phân tích cú pháp, dịch máy và cả những bài toán khác liên quan đến ngữ nghĩa Điểm mạnh nhất của phân tích shift-reduce đó là có thể chuyển tất cả các bài toán mang tính cấu trúc phức tạp như phân tích cú pháp thành bài toán gán nhãn chuỗi đơn giản hơn Ngoài ra, phân tích shift-reduce có thể tận dụng được rất nhiều đặc trưng quan trọng so với phương pháp phân tích cú pháp kinh điển như CYK cho việc đưa ra cây phân tích cú pháp tốt nhất có thể.Phần này luận văn sẽ trình bày lý thuyết cơ sở về hệ thống phân tích cú pháp Shift-Reduce được sử dụng để xây dựng phần nhân cho hệ thống của luận văn Những lý thuyết này hầu hết được dựa hệ thống phân tích cú pháp Shift-Reduce của Zhu (2013)[14]
3.1.1 Khái niệm state và action trong phân tích shift-reduce
Một hệ thống phân tích cú pháp shift-reduce hoạt động như một máy chuyển trạng thái hữu hạn Mỗi một trạng thái, gọi là state, sẽ bao gồm hai cấu trúc dữ liệu cơ bản:
- stack S: để lưu trữ các cụm từ hiện tại đang phân tích được
- queue Q: tập các từ còn lại cần phải phân tích
State đầu tiên (start) của hệ thống sẽ có S rỗng và Q là tập các từ trong câu văn bản đầu vào Ở state cuối (end), stack S sẽ chỉ chứa một cụm từ duy nhất và queue Q không còn từ nào để phân tích nữa Từ state đầu tiên, hệ thống sẽ thực hiện các action chuyển trạng thái để chuyển từ state này sang state khác cho đến khi đạt được state cuối
Trang 20Các action được sử dụng để chuyển giữa các trạng thái sẽ bao gồm các hành động sau đây:
- Shift: lấy ra từ đầu tiên trong queue Q hiện tại rồi đẩy vào trong stack S
- Reduce: là action dùng để kết hợp các từ hoặc cụm từ trong stack S thành các cụm từ ở mức cao hơn Action này có hai loại tương ứng với hai loại luật cú pháp:
Trang 21o Reduce unary (kết hợp đơn):sử dụng luật đơn (vế phải có một phần tử) để biến đổi cụm từ đầu tiên trong stack S thành cụm từ ở mức cao hơn
o Reduce binary (kết hợp đôi): sử dụng các luật đôi (vế phải có hai phần tử) để kết hợp hai cụm từ đầu tiên trong stack S thành cụm từ
ở mức cao hơn
Trang 22- Finish: là action được thực hiện khi đạt đến state cuối, cây cú pháp trong
S được xuất ra như kết quả
3.1.2 Quá trình phân tích cú pháp shift-reduce
Quá trình phân tích shift-reduce diễn ra như sau:
- Tại thời điểm bắt đầu, State mở đầu sẽ khởi đầu với Stack rỗng và Queue chứa toàn bộ các từ đã được gán nhãn trong câu văn bản đầu vào
- Tại mỗi bước, thực hiện các action kể trên để sinh ra các state mới, tiếp tục lặp lại quá trình này với các state mới vừa sinh ra
- Thuật toán sẽ kết thúc khi gặp được state kết thúc: dấu hiệu nhận biết state kết thúc là Queue rỗng (không từ để phân tích) và trong Stack chỉ tồn tại duy nhất một nút S – tương đương với cây phân tích cú pháp của cả câu văn bản
Trang 23Gia sử như chúng ta có câu đầu vào “tôi đi học”, thì quá trình phân tích shift-reduce tương ứng sẽ được diễn ra như sau:
State 0 mở đầu: stack rỗng, queue chứa mảng gồm các từ đã được gán nhãn từ loại
của câu “tôi đi học”
Hình 3-1 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ không
Tại state 0, thực hiện thao tác SHIFT, chuyển đến state 1
Hình 3-2 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ nhất
Tại state 1, thực hiện thao tác U-REDUCE(NP) (kết hợp đơn chuyển từ P → NP)
tiếp, chuyển đến state 2
Hình 3-3 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ hai
Trang 24Hình 3-4 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ ba
Tại state 3, thực hiện thao tác SHIFT tiếp, chuyển đến state 4
Hình 3-5 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ tƣ
Tại state 4, thực hiện thao tác B-REDUCE(VP) (kết hợp đôi bằng luật VP → V V)
tiếp, chuyển đến state 5
Hình 3-6 Ví dụ minh họa phân tích shift-reduce: trạng thái thứ năm
Tại state 5, thực hiện thao tác B-REDUCE(S) (kết hợp đôi bằng luật S→NP VP),
chuyển đến state 6
Trang 25Hình 3-7 Ví dụ minh họa phân tích shift-reduce: trạng thái cuối cùng
Cuối dùng ta thu được state 6 chính là state kết thúc và nút duy nhất tồn tại trong Stack tương ứng với cây phân tích cú pháp cần xây dựng Với state cuối cùng này,
ta thực hiện action Finish
3.1.3 Huấn luyện hệ thống phân tích shift-reduce sử dụng thuật toán
Perceptron cấu trúc
Tại mỗi state trong phân tích cú pháp shift-reduce sẽ có nhiều hơn một action tương ứng, dẫn đến việc nhập nhằng khi có nhiều state kết thúc cho cùng một state bắt đầu Giải pháp cho vấn đề này là sử dụng các mô hình học máy đã được giới thiệu ở chương 2 để khử nhập nhằng Trong phần này, luận văn sẽ trình bày về hai phương pháp huấn luyện phổ biến nhất dành cho phân tích cú pháp shift-reduce, đó là: huấn luyện cục bộ và huấn luyện toàn cục
3.1.3.1 Huấn luyện cục bộ với mô hình Maxent
Đây là phương pháp huấn luyện đơn giản và yêu cầu chi phí tính toán thấp Thay vì tối ưu xác điều kiện P(y|x) như các thuật toán Discriminative bình thường thì mô hình Maxent sẽ đi tối ưu xác suất điều kiện P(ai|pi), với pi là state hiện tại và ai là action đúng cần phải thực hiện để dẫn đến được cây cú pháp chính xác:
( ) ( ) ̅̅̅̅̅̅̅̅̅
Sau giai đoạn huấn luyện, tương ứng với mỗi state pi, chúng ta sẽ có được một phân
Trang 26thể thực hiện được từ pi Dựa vào phân phối xác suất này, tại mỗi state, hệ thống sẽ chọn action nào có xác suất cao nhất để đi tiếp Phương pháp này có ưu điểm là chi phí tính toán nhỏ do đã quy được bài toán phân tích cú pháp thành bài toán phân loại thuần túy Tuy nhiên, nhược điểm của nó là mất mát thông tin quá lớn vì không tận dụng được các thông tin liên quan đến cấu trúc, dẫn đến độ chính xác sẽ bị hạn chế đi rất nhiều
3.1.3.2 Huấn luyện toàn cục với Perceptron cấu trúc
Trái ngược với huấn luyện cục bộ, Perceptron cấu trúc là phương pháp sẽ đi tối ưu trực tiếp hàm điều kiện của toàn bộ cây cú pháp y dựa trên câu đầu vào x Mặt khác, một cây cú pháp cho một câu văn bản có thể được xem như một chuỗi các action: a0, a1…a|a| Như vậy, vector đặc trưng ( ) có thể được phân rã thành tổng các vector của những đặc trưng được trích rút ra từ các action thành phần Do
đó, công thức tổng quát của thuật toán Perceptron cấu trúc ở chương 2 có thể được viết thành:
For t = 1…T, i=1…n
( )∑ ( )
If ( ) then
∑ ( )
∑ ( )
Trang 27
Output: véc tơ trọng số cuối cùng
Với mỗi vòng lặp chúng ta sẽ lấy được một véc tơ trọng số mới, gọi là ( ) Cuối cùng, kết thúc huấn luyện chúng ta sẽ lấy trung bình cộng của tất cả các véc tơ học đồ của các lần lặp để có được véc tơ trọng số cuối
cùng: ̅ ∑
Cách lấy tổng trung bình các véc tơ này giúp cho độ chính xác
của hệ thống phân tích ổn định hơn và tránh được vấn đề overfitting trong học máy
Mô hình huấn luyện toàn cục với Perceptron cấu trúc dành cho phân tích reduce cho đến nay vẫn là một trong các mô hình mang lại độ chính xác cao nhất Nhược điểm chính của mô hình này nằm ở chi phí tính toán cao
shift-3.1.3.3 Vấn đề trích rút đặc trƣng sử dụng cho các mô hình học máy
Phần quan trọng nhất của công đoạn huấn luyện chính là việc thiết kế các đặc trưng
sẽ được dùng cho các mô hình học máy tăng cường ở trên, mà cụ thể là các đặc trưng được trích rút ra từ(ai, pi) hiện tại.Ta ký hiệu:
- si là cụm từ thứ i trong stack S của pi
- qi là từ thứ i trong queue Q của pi
- sil tương ứng với cụm từ là nút con trái (nếu có) của si
- sir tương ứng với cụm từ là nút con phải (nếu có) của si
- siu tương ứng với cụm từ là nút con đơn (nếu có) của si
Ta có thể liệt kê ra một số các đặc trưng cơ bản thường hay được sử dụng cho các nghiên cứu về phân tích shift-reduce bao gồm:
- sit: nhãn PoS (từ loại) của từ trung tâm của si
- siw: từ trung tâm của si
- sic: nhãn cụm từ của si
- sit: nhãn PoS (từ loại) của từ trung tâm của si
- silw: từ trung tâm của sil
- silc: nhãn cụm từ của sil
Trang 28- sirw: từ trung tâm của sir
- sirc: nhãn cụm từ của sir
- sirt: nhãn PoS (từ loại) của từ trung tâm của sir
- siuw: từ trung tâm của siu
- siuc: nhãn cụm từ của siu
- siut: nhãn PoS (từ loại) của từ trung tâm của siu
- qit: nhãn PoS của qi
- qiw: giá trị của từ tương ứng với qi
Trong giới hạn nghiên cứu của luận văn về các hệ thống phân tích shift-reduce, thì
có hai bộ đặc trưng rất nổi tiếng :
- Bộ đặc trưng giản lược được đề xuất bởi Sagae và Lavie (2006)[21] : đây
là bộ đặc trưng rất đơn giản, chỉ sử dụng thuần các đặc trưng cơ bản của action hiện tại, được sử dụng chủ yếu cho các mô hình huấn luyện cục bộ như Maxent
Bảng 3-1 Bộ đặc trƣng giản lƣợc của Sagae (2006)
Trang 29Bảng 3-2 Bộ đặc trƣng Baseline của Zhang và Clark (2009)
- Lấy ví dụ như state trong Hình 3-6, với bộ đặc trưng được thiết kế theo
bộ Baseline của Zhang (2009) thì tập hợp các đặc trưng trích rút ra được
từ state với action tiếp theo là B_REDUCE(S) sẽ bao gồm:
o s 0 t s 0 c_V_VP_ B_REDUCE(S)
o s 0 w s 0 c_đi_VP_B_REDUCE(S)
Trang 303.1.4 Bài toán tìm kiếm trong hệ thống phân tích shift-reduce
Như đã được trình bày trong chương 1 của luận văn, có hai vấn đề lớn nhất đối với một hệ thống phân tích cú pháp: độ chính xác và độ phức tạp trong chi phí tính toán
Độ chính xác thì có thể giải quyết bằng các mô hình học máy tăng cường như mô hình Maxent hay mô hình Perceptron cấu trúc.Tuy nhiên, việc phải duyệt qua tất cả các ứng cử viên ( ) tương ứng với mỗi đầu vào xi là một việc rất tốn kém đến mức gần như không thể Ngay cả khi sử dụng những thuật toán quy hoạch động như CYK để giảm chi phí thì việc đưa ra cây cú pháp có xác suất PCFG cao nhất cũng đã có độ phức tạp là O(n3.|G|), với n là số từ trong xi, còn |G| là kích thước tập luật cú pháp Đặc biệt với trường hợp của phân tích cú pháp theo phương pháp shift-reduce, khi mà số lượng state được sinh ra theo hàm mũ thì việc duyệt qua hết tất cả các cây cú pháp ứng cử viên là điều rất khó khăn
Chính vì vậy, nên hầu hết các hệ thống phân tích cú pháp shift-reduce trên thế giới đều sử dụng các phương pháp tìm kiếm không đầy đủ Hệ thống phân tích shift-reduce sử dụng mô hình Maxent của Sagae (2005) thì tìm kiếm theo phương pháp tham lam: tại mỗi bước chỉ chọn action có xác suất cao nhất.Còn như hệ thống của Zhang (2009), Zhu (2013) hay Huang (2010) đều sử dụng phương pháp tìm kiếm beam search: tại mỗi thời điểm luôn chỉ giữ k trạng thái có điểm cao nhất, các trạng
Trang 31giúp tăng tốc độ phân tích cú hệ thống, nhưng lại làm nẩy sinh ra một vấn đề khác:
độ chính xác của hệ thống có bị ảnh hưởng nhiều với việc sử dụng tìm kiếm không chính xác như vậy không? Trên thí nghiệm thực tế với tập dữ liệu Treebank cho tiếng Anh (được trình bày ở chương 5), độ chính xác của hệ thống sẽ tăng lên khi ta tăng bề rộng k của thuật toán beam search lên Kết quả này gợi ý ra rằng có thể có một khoảng hở rất lớn về độ chính xác giữa các thuật toán tìm kiếm đầy đủ và thuật toán beam search Dựa trên những giả thuyết đó, việc nghiên cứu cách thức làm sao
để thực hiện được phương pháp tìm kiếm đầy đủ đối với hệ thống phân tích reduce sẽ là một hướng nghiên cứu rất hứa hẹn
shift-3.2 Hệ thống phân tích shift-reduce sử dụng thuật toán best first search(BFS)
BFS (best-first-search) hay “tìm kiếm theo lựa chọn tốt nhất”là một thuật toán tìm kiếmtrong đồ thị theo chiều sâu bằng cách luôn mở rộng trạng thái hứa hẹn nhất được chọn theo một tiêu chuẩn nào đó Cụ thể là các trạng thái đã đi qua sẽ được lưu trữ lại và sắp xếp thứ tự ưu tiên bằng một hàm ước lượng f(x) bằng tổng trọng
số tất cả các cạnh từ trạng thái đầu đến trạng thái đó, gọi tắt là chi phí đường đi
g(x) Thuật toán BFS sẽ là một thuật toán tìm kiếm tối ưu, tức quãng đường đầu tiên tìm thấy luôn có chi phí nhỏ nhất, nếu như trong đồ thị tìm kiếm không có cạnh nào
có trọng số âm
3.2.1 Các nghiên cứu đi trước về BFS cho phân tích cú pháp shift-reduce
Ý tưởng cơ bản của việc áp dụng BFS cho phân tích cú pháp shift-reduce dựa trên giả sử rằng mỗi state là một nút trong đồ thị, còn các action như là các cạnh,bài toán phân tích cú pháp chuyển thành bài toán tìm kiếm quãng đường có chi phí lớn nhất
từ state khởi đầu cho đến state kết thúc Đây cũng là ý tưởng được Sagae và Lavie giới thiệu lần đầu tiên trong hệ thống phân tích cú pháp của họ vào năm 2006 Trước hết, hệ thống sẽ được huấn luyện cục bộ bằng mô hình Maxent để tạo ra phân phối xác suất cho các action Sau đó, các xác suất này sẽ được sử dụng như trọng số trên đồ thị tìm kiếm Trong thí nghiệm của họ cho thấy, xác suất cục bộ của các
Trang 32kiếm được đáp án với tốc độ nhanh, do chỉ có một số rất ít các action chiếm hữu được xác suất cao so với các action còn lại tại mỗi bước Đến năm 2013, Kai Zhao[22] đã mở rộng ý tưởng này bằng cách sử dụng thêm lý thuyết về quy hoạch động cho phân tích shift-reduce của Liang Huang (2010)[24] Giống như thuật toán CYK dành cho các mô hình PCFG, lý thuyết quy hoạch động này giúp cho độ phức tạp thuật toán của phân tích shift-reduce giảm từ hàm mũ xuống hàm đa thức, và qua đó tăng tốc độ lên rất nhiều
3.2.2 Hệ thống phân tích cú pháp shift-reduce sử dụng BFS của luận văn
Hệ thống phân tích cú pháp BFS shift-reduce của luận văn được xây dựng dựa trên
ý tưởng về BFS của hệ thống phân tích cú pháp shift-reduce của Kai Zhao (2013)[22] Tuy nhiên, so với hệ thống của họ, hệ thống của luận văn có một số điểm khác biệt lớn như sau:
Thứ nhất, hệ thống của luận văn được huấn luyện toàn cục bằng thuật toán Perceptron cấu trúc thay vì mô hình cục bộ Maxent Điều này khó hơn rất nhiều vì cho đến, trong giới hạn hiểu biết của người làm luận văn, chưa có một công trình nghiên cứu nào công bố về việc có thể thực hiện được tìm kiếm đầy đủ đối với phân tích cú pháp shift-reduce sử dụng thuật toán Perceptron cấu trúc.Để cho phù hợp với bài toán tìm đường đi ngắn nhất của BFS, thuật toán Perceptron sẽ được điều chỉnh
để tối ưu đầu ra theo giá trị nhỏ nhất (không có khác biệt gì nhiều so với tối ưu theo giá trị lớn nhất):
Trang 33∑ ( )
∑ ( )
Output: véc tơ trọng số w cuối cùng
Thứ hai, hệ thống của luận văn được áp dụng cho bài toán phân tích thành phần (constituent parsing), còn hệ thống của Kai Zhao (2013) sử dụng cho phân tích phụ thuộc (dependency parsing) Tuy cùng là phân tích cú pháp nhưng phân tích thành phần có độ phức tạp cao hơn phân tích phụ thuộc rất nhiều, qua đó tăng thêm độ khó cho việc áp dụng tìm kiếm đầy đủ
3.2.3 Vấn đề trọng số âm và cách giải quyết
Thuật toán BFS sẽ chỉ hoạt động trong một đồ thị mà các cạnh có trọng số không
âm Điều này hoàn toàn có thể với trường hợp của Kai Zhao (2013), vì hệ thống của
họ có thể sử dụng giá trị f(ai,pi) = -log(P(ai,pi)) có giá trị luôn không âm để làm trọng số cho các cạnh của đồ thị Tuy nhiên, với Perceptron cấu trúc, ta có công thức tính điểm cho một cạnh của đồ thị là: ( ) ( ) Giá trị này hoàn toàn có thể mang giá trị âm, qua đó vi phạm điều kiện tiên quyết của thuật toán BFS.Tất nhiên hầu hết chúng ta sẽ nghĩ ngay đến cách thức đơn giản nhất là cộng thêm vào điểm của các action một giá trị offset đủ lớn sao cho: ( ) >= 0 Tuy nhiên, cách giải quyết này lại vấp phải một vấn đề khác: số lượng action với mỗi cây cú pháp đầu ra của cùng một câu văn bản là có thể khác nhau Điều này dẫn tới kết quả là cộng thêm giá trị offset không đổi như trên có thể làm thay đổi thứ tự ưu tiên ban đầu, và đáp án đưa ra không phải là đáp án tối ưu.Để giải quyết vấn đề trọng số âm này, hệ thống phân tích BFS Shift-Reduce của luận văn sẽ được tinh chỉnh theo hai bước sau: thiết kế ra một hệ thống action mới nhằm đảm bảo số lượng action của tất cả các cây cú pháp đầu ra cho cùng một câu văn bản luôn là như nhau; sau đó, chọn giá trị offset thích hợp để đồ thị ban đầu thực sự trở thành
đồ thị có trọng số không âm, phù hợp với yêu cầu của giải thuật BFS
Trang 34từ state bắt đầu đến state kết thúc, với n là số từ của câu văn bản đầu vào Tuy
nhiên, nguyên nhân gây ra việc các state kết thúc của cùng một state bắt đầu có số lượng action phải đi qua khác nhau chính là do sự xuất hiện không đồng nhất của các action Reduce Unary Chính vì vậy, người làm luận văn đã quyết định đề xuất
ra việc sử dụng một hệ thống action mới có thể đảm bảo được số lượng các action
phải đi qua để đạt đến state kế thúc luôn là 2n Ý tưởng cơ bản của hệ thống action
này là việc hợp nhất các action reduce unary với action shift và reduce binary thành các loại action tổ hợp Như vậy, hệ thống action mới của hệ thống sẽ bao gồm nămloại action:
SH: action Shift bình thường
SHU(X): là action kết hợp giữa action Shift và action Reduce Unary(X) Action này sẽ thực hiện action Shift trước, rồi thực hiện tiếp action Reduce Unary(X)
RE(X): action Reduce Binary(X) bình thường
REU(Y,X): là action kết hợp giữa action Reduce Binary(X) và Reduce Unary(Y) Action này sẽ thực hiện action Reduce Binary(X) trước, rồi thực hiện ngay action Reduce Unary(Y), tương ứng với luật đơn Y X
FIN: action kết thúc phân tích giống như action Finish
Sau khi áp dụng hệ thống action này, thì việc lựa chọn ra một giá trị offset đủ lớn
để điểm của các cạnh action trong đồ thị không âm là khá đơn giản
3.2.4 Thuật toán quy hoạch động cho phân tích shift-reduce
Với giải thuật BFS bình thường, độ phức tạp thuật toán trong trường hợp tệ nhất sẽ làm hàm mũ Trong hệ thống phân tích cú pháp shift-reduce của mình, Kai Zhao đã
sử dụng lý thuyết quy hoạch động để đạt được độ phức tạp thuật toán là hàm đa
thức Ý tưởng cơ bản của lý thuyết này là việc xác nhập các state được coi là “tương đương” lại với nhau để tránh trường hợp phải xét duyệt lại cùng một state nhiều lần
Nói một cách khác, thì đồ thị tìm kiếm ban đầu của phân tích shift-reduce sẽ được