3 Thực nghiệm
3.1 Kết quả của MSTParser
Arabic 79.3 66.9 Bulgarian 92.0 87.6 Chinese 91.1 85.9 Czech 87.3 80.2 Danish 90.6 84.8 Dutch 83.6 79.2 German 90.4 87.3 Japanese 92.8 90.7 Slovene 83.2 73.4 Spanish 86.1 82.3 Swedish 88.9 82.5 Turkish 74.7 63.2 Trung bình 87.0 80.8
Trong đó,ASU (Unlabeled Attachment Score) là độ chính xác trên từ trung tâm, chưa có nhãn phụ thuộc. ASL (Labeled Attachment Score) là độ chính xác tính cả trên từ trung tâm và nhãn phụ thuộc tương ứng.
3.1.2 MaltParser
MaltParser là cơng cụ phân tích cú pháp hiệu quả nhất hiện nay, đem lại kết quả khá chính xác cho hơn 20 ngơn ngữ, được phát triển bởi Johan Hall, Jens Nilsson và Joakim Nivre (Thụy Điển). Kiến thức trong phần này tham khảo tài liệu của tác giả Joakim Nivre, Johan Hall cùng cộng sự [9], và trang Web:
http://www.maltparser.org [27].
MaltParser là công cụ mã nguồn mở viết bằng ngôn ngữ Java. Yêu cầu máy phải cài đặt JDK để có thể chạy được ứng dụng này. Khi muốn phân tích một câu đã gán nhãn, chúng ta tải một trong các phiên bản của công cụ này về về và chạy với giao diện dòng lệnh với chỉ dẫn cụ thể ở tài liệu [27]. MaltParser thực hiện huấn luyện để đưa ra một lựa chọn cho phân tích cú pháp phụ thuộc bằng thuật tốn SVM, LIBLINEAR hoặc TiMBL. Để phân tích, MaltParser đưa ra
một trong các lựa chọn những thuật tốn để phân tích: Thuật tốn Nivre hoặc thuật tốn Covington. Thuật toán Nivre là thuật toán dựa vào bước chuyển, và sử dụng cho các đồ thị phụ thuộc xạ ảnh. Thuật toán Covington là thuật toán lựa chọn cho đồ thị phụ thuộc không xạ ảnh. Trong thực tế, MaltParser mặc định chọn thuật tốn Nivre (đã được trình bày trong Chương 1) và SVM để phân tích và huấn luyện vì thuật tốn này thường mang lại hiệu quả cao. MaltParser là một trong những cơng cụ phân tích cú pháp phụ thuộc tốt nhất trong Hội thảo về Xử lý ngôn ngữ tự nhiên (CoNLL-2007), được sử dụng cho rất nhiều ngôn ngữ khác nhau.
MaltParser thực hiện đầy đủ một phân tích cú pháp phụ thuộc quy nạp, trong đó phân tích cú pháp của một câu bắt nguồn từ đồ thị phụ thuộc đơn định, và ở đó học máy phân biệt được sử dụng để phục vụ cho việc phân tích cú pháp tại mỗi sự lựa chọn khơng đơn định, dựa vào mơ hình đặc trưng dựa vào q khứ. Trong khi cấu hình của bộ phân tích cú pháp truyền thống là bộ phân tích cú pháp đưa ra từ ngữ pháp, thì bộ phân tích cú pháp hướng dữ liệu đưa ra từ treebank.
Hệ thống thực hiện hai chế độ cơ bản là chế độ huấn luyện và chế độ phân tích cú pháp. Trong chế độ huấn luyện, hệ thống đưa ra một tập các câu với bộ phân tích cú pháp bắt nguồn từ dữ liệu đào tạo bằng cách tái tạo lại một chuỗi các hàm chuyển chính xác, và huấn luyện các lớp dữ liệu này. Trong chế độ phân tích, hệ thống đưa ra một tập hợp các câu và một lớp đã được đào tạo, sau đó phân tích cú pháp những câu đó sử dụng phân lớp trên như một hướng dẫn.
Định dạng đầu ra và đầu vào
MaltParser có rất nhiều định dạng khác nhau của đầu ra và đầu vào, như CoNLL-U, CoNLL-X, Malt-TAB, Negra,...
Định dạng CoNLL-X là một trong số những định dạng chuẩn của dữ liệu khi phân tích cú pháp phụ thuộc. Định dạng CoNLL-X được sử dụng ở hầu hết các công cụ phân tích cú pháp, và là định dạng phổ biến của MaltParser. Định dạng CoNLL-X được xác định gồm các cột trong file xml như sau:
<dataformat name="conllx">
<column name="ID" category="INPUT" type="INTEGER"/> <column name="FORM" category="INPUT" type="STRING"/> <column name="LEMMA" category="INPUT" type="STRING"/> <column name="CPOSTAG" category="INPUT" type="STRING"/> <column name="POSTAG" category="INPUT" type="STRING"/> <column name="FEATS" category="INPUT" type="STRING"/> <column name="HEAD" category="HEAD" type="INTEGER"/>
<column name="DEPREL" category="DEPENDENCY EDGE LABEL" type="STRING"/> <column name="PHEAD" category="IGNORE" type="INTEGER" default="_"/> <column name="PDEPREL" category="IGNORE" type="STRING" default="_"/> </dataformat>
Trong đó, các cột của dữ liệu được định nghĩa:
1. ID: là số thứ tự của từ trong câu, được đánh số từ 1 và tăng dần đến hết.
2. FORM: là từ trong câu.
3. LEMMA: là từ trong câu ở dạng nguyên mẫu.
4. CPOSTAG: là nhãn từ loại ở dạng thô.
5. POSTAG: là nhãn từ loại ở dạng mịn hơn.
6. FEATS: là tập ngữ pháp của ngôn ngữ hoặc đặc trưng hình thái của từ
hiện tại.
7. HEAD: là thứ tự của từ trung tâm mà từ ở dòng hiện tại phụ thuộc trong
câu.
8. DEPREL: là tên quan hệ phụ thuộc giữa từ này và từ trung tâm mà nó
phụ thuộc.
9. PHEAD: là thứ tự của từ trung tâm mà từ hiện tại phụ thuộc xạ ảnh
trong câu.
10. PDEPREL: là tên quan hệ phụ thuộc xạ ảnh giữa từ hiện tại với từ trung
Các thuộc tính ID, FORM, LEMMA, CPOSTAG, POSTAG có trong treebank. Thuộc tính HEAD, DEPREL là những thuộc tính xuất hiện sau khi phân tích cú pháp phụ thuộc. FEATS, PHEAD và PDEPREL nếu khơng xuất hiện trong treebank thì có thể để giá trị null.
Thuật tốn phân tích cú pháp
Trong cơng cụ MaltParser, thuật tốn phân tích cú pháp phụ thuộc đơn định được cung cấp cho cả hai chế độ huấn luyện và phân tích. Thuật tốn phân tích cú pháp phụ thuộc đưa ra cấu trúc phụ thuộc đã được gán nhãn của một câu đầu vào. Trong chế độ huấn luyện, công cụ cho biết chuỗi hàm chuyển cho một phân tích cú pháp phụ thuộc. Trong chế độ phân tích, hệ thống các bước chuyển xây dựng nên đồ thị phụ thuộc được gán nhãn dựa vào các bước chuyển được dự đoán. Chuỗi các bước chuyển được xác định theo huấn luyện phân lớp sử dụng mộ hình đặc trưng dựa vào quá khứ.
MaltParser sử dụng thuật tốn với thời gian tuyến tính của Nivre (2003) và một số thuật tốn khác.
MaltParser cho phép sử dụng mơ hình đặc trưng khá phức tạp. Mơ hình đặc trưng chuẩn là mơ hình kết hợp các đặc trưng từ loại, từ vựng và loại phụ thuộc, theo Bảng 1.3 (Chương 1).
Mơ hình đặc trưng của các ngơn ngữ và các công cụ là khác nhau. Mỗi ngơn ngữ có thể tự đưa ra đặc trưng riêng phù hợp với việc phân tích cú pháp phụ thuộc, sao cho kết quả đạt được là tốt nhất.
Thuật toán huấn luyện
MaltParser cung cấp hai thuật tốn huấn luyện chính, đó là:
• Huấn luyện dựa trên bộ nhớ (MBL) sử dụng TiMBL, một thư viện phân lớp và huấn luyện dựa trên bộ nhớ được phát triển bởi Daelemans, Van den Bosch (2005). Tuy nhiên thuật tốn này đã được thay thế bởi bộ cơng cụ LibLinear (Fan và cộng sự (2008)), vì đây là một gói phần mềm học máy cho việc phân loại tuyến tính rất hữu ích, được sử dụng trong rất nhiều bài tốn xử lý ngơn ngữ tự nhiên [31].
• Huấn luyện dựa vào vec tơ hỗ trợ (SVM) sử dụng LIBSVM, một thư viện phân lớp và huấn luyện dựa trên vec tơ hỗ trợ được phát triển bởi Chang
và Lin tại Đại học quốc gia Đài Loan (Chang và Lin (2001)).
Về huấn luyện dựa trên bộ nhớ quan trọng nhất là phương pháp K - láng giềng gần nhất. Giá trị cần cực đại hóa là các tham biến trong các mơ hình đặc trưng khác nhau, với các tập dữ liệu và ngơn ngữ khác nhau, nhưng điển hình là với k = 5 và số lần thực hiện là l = 3.
Kết quả thực hiện của công cụ MaltParser với các ngôn ngữ trong Bảng 3.2.
Bảng 3.2: Kết quả của MaltParser.Ngôn ngữ Cài đặt ASU ASL