- Xây dựng lớp vn.uet.nlp.tbl.LanguageTaggedToSentence để thực hiện việc gán nhãn từ loại câu.
- Các đối số cần đưa vào để thực thi là: + Tập tin cấu hình
+ Tập tin dẫn xuất chứa các mô hình + Tập tin kiểm tra
- Dữ liệu ban đầu trước khi kiểm tra là một tập tin chứa các câu đã được gán nhãn chuẩn. Sử dụng các phương thức trong lớp có sẵn của bộ công cụ Standford, thực hiện lập trình phương thức hỗ trợ với mục tiêu sinh ra tập tin chứa các câu theo dạng chuỗi các từ. Các câu này sẽ được gán nhãn lại với công cụ xây dựng dựa trên mô hình kết hợp.
CHƯƠNG 4. THỰC NGHIỆM
Trong chương này, chúng tôi đề cập đến việc sử dụng kho ngữ liệu có sẵn cho quá trình thực nghiệm. Dựa trên các kho ngữ liệu này, chúng tôi tiến hành quá trình thực nghiệm trên mô hình cơ sở và mô hình kết hợp cho bài toán gán nhãn từ loại trên cùng một môi trường và cùng tập đặc trưng, từ đó so sánh và đánh giá ưu và nhược điểm của mô hình mà chúng tôi đề xuất với mô hình cơ sở và với một số mô hình khác.
4.1. Mô tả thực nghiệm
4.1.1. Dữ liệu thực nghiệm
Để tiến hành quá trình thực nghiệm, luận văn sử dụng hai kho ngữ liệu riêng biệt đã được gán nhãn với hai tập nhãn khác nhau cho quá trình huấn luyện và kiểm tra nhằm làm tăng tính khách quan cho kết quả đạt được. Trong nội dung của luận văn, với hai kho ngữ liệu Penn Treebank và Viet Treebank đóng vai trò như ngữ liệu chuẩn. Để tạo ra sự thống nhất trong quá trình thực nghiệm, chúng tôi đã lập trình công cụ chuyển ngữ liệu Penn Treebank về cùng định dạng với kho ngữ liệu Viet Treebank (từ và từ loại trong từ tố phân cách nhau bởi dấu / ). Tuy nhiên quy tắc này cũng có thể thay đổi trên tệp thuộc tính cấu hình.
4.1.1.1. Peen TreeBank
Peen TreeBank là sản phẩm của trường đại học Pennsylvania phát triển [48]. Kho ngữ liệu Penn TreeBank được sử dụng rộng rãi trong các ứng dụng xử lý ngôn ngữ tự nhiên. Trong luận văn này chúng tôi sử dụng một phần kho ngữ liệu Penn TreeBank cho quá trình thực nghiệm với 56000 câu chứa hơn 1,9 triệu từ. Kế thừa tập nhãn từ loại trong ngữ liệu Brows, ngữ liệu Peen TreeBank được chú thích với 48 nhãn từ loại. Thông qua quá trình khảo sát chúng tôi thu được bảng phân bố từ loại như sau:
STT Từ loại Số lượng STT Từ loại Số lượng
1. CC 32212 25. TO 30179 2. CD 49223 26. UH 122 3. DT 111153 27. VB 35643 4. EX 1174 28. VBD 41563 5. FW 302 29. VBG 19919 6. IN 134804 30. VBN 27082 7. JJ 82390 31. VBP 16780
8. JJR 4409 32. VBZ 28781 9. JJS 2658 33. WDT 5818 10. LS 71 34. WP 3158 11. MD 13086 35. WP$ 243 12. NN 179582 36. WRB 2899 13. NNS 81084 37. # 189 14. NNP 126041 38. $ 9771 15. NNPS 3273 39. . 53253 16. PDT 496 40. , 66276 17. POS 11890 41. : 6854 18. PRP 23261 42. ( 1931 19. PRP$ 11290 43. ) 1929 20. RB 42117 44. “ 1634 21. RBR 2389 45. ‘ 1564 22. RBS 591 46. “ 19634 23. RP 2298 47. ‘ 1564 24. SYM 73 48. “ 19634
Bảng 4-1: Tần suất xuất hiện nhãn từ loại trong ngữ liệu Peen Treebank [48]
Trong đó hiện tượng nhập nhằng từ loại xuất hiện khá phổ biến. Thống kê trên 56000 câu trong kho ngữ liệu Penn Treebank chúng tôi thấy có trên 6000 từ có hơn một nhãn từ loại, cá biệt có những từ có đến 8 từ loại như bảng thống kê 4.5 sau:
STT Từ Số lượng Nhãn
1. down 8 RP; RB; IN; NN; JJ; RBR; VBP; IN|RB 2. put 7 VBN; VB; VBD; NN; VBP; VBP|VB; JJ 3. back 6 NN; VB; RB; JJ; RP; VBP 4. run 5 VBP; VBN; NN; VB; VBD 5. pressured 4 JJ; VBN; NN; VBD 6. feel 3 VBP; VB; NN 7. surveyed 2 VBN; VBD
Nhãn từ loại trong Penn Treebank được biểu diễn bởi bảng 4.6. 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).
STT Từ loại Chức năng STT Từ loại Chức năng 1. CC Coordinating conjunction 25. TO to
2. CD Cardinal number 26. UH Interjection 3. DT Determiner 27. VB Verb, base form 4. EX Existential there 28. VBD Verb, past tense
5. FW Foreign word 29. VBG Verb, gerund or present participle
6. IN
Preposition or subordinating conjunction
30. VBN Verb, past participle
7. JJ Adjective 31. VBP Verb, non-3rd person singular present 8. JJR Adjective, comparative 32. VBZ Verb, 3rd person singular present 9. JJS Adjective, superlative 33. WDT Wh-determiner
10. LS List item marker 34. WP Wh-pronoun
11. MD Modal 35. WP$ Possessive wh-pronoun 12. NN Noun, singular or mass 36. WRB Wh-adverb
13. NNS Noun, plural 37. # Pound sign 14. NNP Proper noun, singular 38. $ Dollar sign
15. NNPS Proper noun, plural 39. . Sentence-final punctuation 16. PDT Predeterminer 40. , Comma
17. POS Possessive ending 41. : Colon, semi-colon 18. PRP Personal pronoun 42. ( Left bracket character 19. PRP$ Possessive pronoun 43. ) Right bracket character 20. RB Adverb 44. “ Straight double quote 21. RBR Adverb, comparative 45. ‘ Left open single quote 22. RBS Adverb, superlative 46. “ Left open double quote 23. RP Particle 47. ‘ Right open single quote 24. SYM Symbol 48. “ Right open double quote
4.1.1.2. Viet TreeBank
Đây là sản phẩm của dự án quốc gia VLSP, gồm 142 văn bản, tương ứng với khoảng hơn 10.000 câu và khoảng 230.000 từ. Bộ dữ liệu này được gán nhãn từ loại bằng tập nhãn từ loại VTB (Viet TreeBank) gồm 17 nhãn từ loại, và 1 nhãn cho ký hiệu đặc biệt. Qua quá trình khảo sát chúng tôi thu được bảng phân phối nhãn từ loại như sau:
STT Tên nhãn Số lượng STT Tên nhãn Số lượng
1 N 52377 10 R 16030 2 Np 8752 11 E 13680 3 Nc 5511 12 C 7967 4 Nu 1076 13 I 100 5 V 43215 14 T 1450 6 A 13628 15 U 40 7 P 9400 16 Y 54 8 L 3979 17 X 834 9 M 8428
Bảng 4-4: Tần suất xuất hiện nhãn từ loại trong ngữ liệu Viet Treebank
Trong đó có trên 1400 từ có hơn một nhãn từ loại, điển hình là một số từ sau:
STT Từ Số lượng Nhãn 1. cả 5 P; T; R; A; L 2. đến 4 E; V; R; T 3. đôi 3 M; N; L 4. chi_tiết 2 A; N Bảng 4-5: Một số từ có đa nhãn từ loại
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. Thông qua nhãn từ loại ta có thể biết được một số thông tin như: động từ, danh từ, tính từ,… Dựa vào cách phân loại đó nhóm tác giả đã đề xuất danh sách các từ loại được sử dụng trong kho ngữ liệu Viet Treebank như sau:
STT Tên nhãn Chức năng
1 N Danh từ
STT Tên nhãn Chức năng 3 Nc Danh từ chỉ loại 4 Nu Danh từ đơn vị 5 V Động từ 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
Bảng 4-6: Nhãn từ loại trong Viet Treebank
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 mà chúng tôi có được, có xuất hiện thêm nhãn Nb miêu tả các từ vay mượn.
Quá trình thực nghiệm chúng tôi giả sử các kho dữ liệu đã được phân đoạn từ đúng nhưng thực tế khi tiến hành thực nghiệm, đặc biệt trên kho dữ liệu Viet TreeBank chúng tôi gặp phải một số trường hợp lỗi ngoại lệ gây ra lỗi cho quá trình tách các từ tố trong câu, qua đó chúng tôi cũng đã tiến hành xây dựng công cụ để tách những câu này để sửa sai trước khi tiến hành quá trình thực nghiệm. Một số lỗi phổ biến như sau:
Hình 4-1: Các từ không có từ loại
+ Không có ký hiệu phân cách từ và từ loại hoặc giữa các từ tố với nhau
Hình 4-2: Câu không phân biệt từ tố + Câu bị ngắt không đúng; câu thừa Tag; câu bị liền,…
4.1.2. Phần cứng
Quá trình thực nghiệm được tiến hành trên máy tính cá nhân với thông số cấu hình như sau:
+ CPU: Pentium Dual Core 2.8 GHZ; + RAM 2GB;
+ Hệ điều hành Windows 7 với JDK 1.8.011.
4.1.3. Phần mềm
Chúng tôi đã tiến hành quá trình thực nghiệm trên một số công cụ gán nhãn từ loại điển hình để làm cơ sở so sánh với mô hình đã đề xuất, cụ thể như sau:
- Thực nghiệm gán nhãn từ loại Tiếng Việt với mô hình cực đại hóa Entropy bằng sử dụng công cụ mã nguồn mở vnTagger phiên bản 4.2.0 cập nhật ngày 05/08/2010 của tác giả Lê Hồng Phương và đồng nghiệp [54].
- Thực nghiệm gán nhãn từ loại Tiếng Anh với mô hình cực đại hóa Entropy bằng công cụ Standford Tagger phiên bản 3.3.0 cập nhật ngày 12/11/2012 của Kristina Toutanova và đồng nghiệp [58].
- Dựa trên cơ sở các công cụ gán nhãn trên, trong nghiên cứu này chúng tôi đã xây dựng công cụ gán nhãn từ loại dựa trên mô hình kết hợp (COVTagger và COETagger).
Để tiến hành quá trình đánh giá kết quả thực nghiệm chúng tôi cũng đã xây dựng thêm các tiện ích trợ giúp bằng ngôn ngữ Java, bao gồm:
+ Chuyển ngữ liệu đã chú thích thành ngữ liệu thô (LanguageTaggedToSentence); + Trích chọn đặc trưng về thông tin từ vựng và từ loại trong từ điển từ loại (LanguageDicStatic);
+ So sánh và phân tích các nhãn từ loại bị sai trên ngữ liệu được gán nhãn bởi mô hình cơ sở so với ngữ liệu chuẩn (LCompareAnalysesN) ;
+ Phát sinh luật chuyển đổi dựa trên mẫu luật và tập các vị trí bị sai nhãn từ loại (LGeneraltionRule);
+ Đánh giá các luật để tìm được tập luật tối ưu (KBestruler); + Áp dụng luật để cập nhật nhãn trên ngữ liệu (UpdateCorpus); + Đánh giá độ chính xác trên kết quả gán nhãn so với ngữ liệu chuẩn.
4.2. Phương pháp thực nghiệm
Để tiến hành quá trình thực nghiệm hệ thống, chúng tôi sử dụng cùng một tập ngữ liệu để thực nghiệm cho mô hình cơ sở và mô hình đề xuất. Các mô hình được thực nghiệm bằng hai phương pháp độc lập holdout và k-fold cross-validation như sau:
+ Phương pháp Holdout:
Trước hết, kho ngữ liệu có sẵn được chia theo tỉ lệ 19:1 thành hai phần MBcorpus
và Tcorpus. Ngữ liệu MBcorpus được sử dụng để huấn luyện mô hình kết hợp, ngữ liệu
Tcorpus được sử dụng để kiểm tra mô hình kết hợp đã đề xuất. Ngữ liệu MBcorpus được tiếp tục chia thành hai tập Mcorpus và Bcorpus theo tỉ lệ 3:1. Mcorpus được sử dụng để huấn luyện mô hình cơ sở, ngữ liệu Bcorpus sử dụng để huấn luyện trong mô hình TBL. Kết quả của quá trình huấn luyện ta thu được một tập luật có điểm cao nhất đưa vào tập các luật Selected TBL Rules. Với phương pháp này, chúng tôi tiến hành quá trình thực nghiệm trên hai ngôn ngữ để rút ra đánh giá nhận xét tính hiệu quả của mô hình đề xuất với hai loại ngôn ngữ có những đặc trưng khác nhau.
+ Phương pháp K-Fold Cross-Validation:
Mục tiêu của phương pháp này là đánh giá mức độ ảnh hưởng của kích thước ngữ liệu huấn luyện đến độ chính xác của mô hình kết hợp. Khi đó kho ngữ liệu có sẵn cũng được chia thành K phần bằng nhau. K-1 phần sử dụng cho huấn luyện mô hình, ký hiệu là MBcorpus và 1 phần sử dụng cho kiểm tra, ký hiệu là Tcorpus. Tại lần kiểm tra thứ i
ta lấy phần thứ i là ngữ liệu kiểm tra ký hiệu là Tcorpus_i và K-1 phần còn lại được sử dụng làm ngữ liệu huấn luyện, ký hiệu là MBcorpus_i và. MBcorpus_i được tiếp tục chia thành hai tập Mcorpus_i và Bcorpus_i theo tỉ lệ 3:1. Mcorpus_i được sử dụng để huấn luyện mô hình cơ sởvà Bcorpus_i được sử dụng để huấn luyện mô hình TBL tương ứng với mô hình cơ sở ở lần chia i. Độ chính xác của hệ thống sẽ được tính bằng tổng trung bình độ chính xác của K lần. Nghiên cứu của Ron Kohavi [59] đã chứng minh rằng không có mô hình lý thuyết nào hoàn hảo để xác định giá trị của K. Bằng phương pháp thực nghiệm Ron Kohavi cũng đã chứng minh được K=10 được coi là giá trị đủ tốt để đánh giá các mô hình thống kê.
4.3. Kết quả thực nghiệm