Sử dụng bộ dữ liệu câu hỏi tiếng Anh gồm 5500 câu hỏi cho tập luyện và 500 câu hỏi cho tập kiểm tra được cơng bố trong tài liệu [11] và bộ dữ liệu này đã được xử lý bổ sung các thơng tin wordroot-pos của tác giả Nguyễn Trí Thành [9].
Thuật tốn sử dụng: SVM và Tri-Train cải tiến Cơng cụ:
- (1) Cơng cụ thực nghiệm với SVM, tác giả sử dụng thư viện libsvm:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
- (2) Cơng cụ thực nghiệm với Tri-Train, luận văn sử dụng tool của tác giả Nguyễn Trí Thành [10]
- (3) Cơng cụ chiết xuất dữ liệu N-grams, sử dụng cơng cụ:
http://www.codeproject.com/articles/20423/n-gram-and-fast-pattern-
extraction-algorithm
- (4) Nguồn dữ liệu chiết xuất thơng tin Related của từ, tác giả lấy từ cơ sở dữ liệu phiên bản 3.1 của Wordnet:
http://wordnet.princeton.edu/wordnet/download/current-version/
- (5) Tool kết nối với database của wordnet với ngơn ngữ C#, tác giả lấy từ trang chính của Wordnet:
http://wordnet.princeton.edu/tools/WordNet_Source.zip
- (6) Các tool xử lý phục vụ hỗ trợ quá trình làm các thử nghiệm do tác giả tự viết trên nền .NET Framework 3.5 - ngơn ngữ C# chạy trên mơi trường hệ điều hành Windows:
o Tool đọc và phân tích dữ liệu output của cơng cụ chiết xuất dữ liệu N-grams (3)
o Tool xử lý tính tốn thơng tin Valuefit với các cơng thức đã được trình bày ở chương 3.
o Tool chiết xuất thơng tin Related từ cơ sở dữ liệu của Wordnet (4)
o Tool tạo input cĩ tích hợp lựa chọn các đặc trưng đã trình bày ở chương 3 (ValueFit, N-grams, Related) cho SVM (1)
o Tool tổ hợp các bộ dữ liệu input từ một tập hợp khung nhìn dữ liệu SVM cho Tri-Train (2)
o Tool phân tích và tổng hợp các kết quả đầu ra của (2)
Các dữ liệu đầu vào cho các phép thử nghiệm được đặt tại:
https://sites.google.com/site/questionclassification/data
Các mã nguồn, cơng cụ được sử dụng hỗ trợ tạo dữ liệu đầu vào, hỗ tổng hợp kết quả đầu ra của các phép thực nghiệm cùng với hướng dẫn sử dụng chi tiết được đặt tại: https://sites.google.com/site/questionclassification/sourcecode
Kết quả của các phép thực nghiệm được thống kê trong phần “mục lục” và được sử dụng để xây dựng các biểu đồ, kết luận sẽ được trình bày ở các phần ngay sau của chương này.
4.2. Kết quả xây dựng các đặc trƣng
4.2.1. Value Fit
4.2.1.1. Các bước thực hiện
Bước 1: viết tool triển khai các thuật tốn liên quan đến việc tính tốn các giá trị ValueFit của mỗi câu hỏi đối với từng class. Tích hợp tool này vào tool tạo input SVM.
Bước 2: sử dụng tool tạo input SVM với tùy chọn “Tích hợp ValueFit” và đọc dữ liệu từ file output của bước 1 kết hợp với dữ liệu gốc để tạo ra dữ liệu SVM
4.2.1.2. Kết quả
Kết quả được biểu diễn trong hình 4.1 cho thấy phương pháp này khơng tăng được chất lượng phân lớp tinh với trường hợp sử dụng tập train 5500 câu hỏi, tuy nhiên nĩ tỏ ra khá hiệu quả đối với phân lớp thơ. Cụ thể là: nâng chất lượng phân lớp thơ với 5500 câu hỏi sử dụng SVM từ 87.4% lên 88% (tăng 0.6%). Kết quả này bước đầu mang lại dấu hiệu tốt.
Hình 4.1: Hiệu quả phân lớp của ValueFit với tập train 5500 câu hỏi.
4.2.2. Related
4.2.2.1. Các bước thực hiện
Bước 1: viết tool để lấy được danh sách các từ “liên quan” trong “từ điển” của dữ liệu từ database của wordnet (Download tại đây:
http://wordnet.princeton.edu/wordnet/download/current-version ), tích hợp tool
này vào tool tạo input SVM.
Bước 2: sử dụng Tool tạo input SVM với tùy chọn “Tích hợp Related” và đọc dữ liệu từ file output của bước 1 kết hợp với dữ liệu gốc để tạo ra dữ liệu SVM.
4.2.2.2. Kết quả
Đối với phân lớp thơ, kết quả của phép thực nghiệm trên dữ liệu 5500 câu hỏi (hình 4.2) trong tập train là 87.4%, khơng thay đổi gì so với kết quả khi chưa tích hợp Related. Kết quả thử nghiệm trên phân lớp tinh cũng khơng khả quan hơn (81.6%) giảm 0.4% so với kết quả khi chưa tích hợp Related (82%). Việc giảm chất lượng phân lớp này là cĩ thể là tín hiệu khơng tốt vì nĩ sẽ làm ảnh hưởng đến chất lượng phân lớp chung sau này của giải thuật Tri-Train.
Hình 4.2: Hiệu quả phân lớp của Ralated với tập train 5500 câu hỏi.
4.2.3. N-grams
4.2.3.1. Các bước thực hiện
Bước 1: chiết xuất dữ liệu N-grams: sử dụng tool “Patterns” (Nguồn:
http://www.codeproject.com/articles/20423/n-gram-and-fast-pattern-extraction-
algorithm) để chiết xuất dữ liệu 2-Grams, 3-Grams, 4-Grams từ dữ liệu dùng để
luyện, chọn danh sách từ với số lần xuất hiện >=4.
Bước 2: tích hợp việc đọc dữ liệu từ output ở bước một vào tool tạo input SVM.
Bước 3: sử dụng tool tạo input SVM với tùy chọn “Tích hợp N-grams” và đọc dữ liệu từ file output của bước 1 kết hợp với dữ liệu gốc để tạo ra dữ liệu SVM.
4.2.3.2. Kết quả
Tương tự Related, đối với phân lớp thơ, kết quả của phép thực nghiệm trên dữ liệu 5500 (hình 4.3) câu hỏi trong tập train là 87.8%, so với kết quả khi chưa tích hợp N-grams (87.4%) tăng 0.4%. Kết quả thử nghiệm trên phân lớp tinh cũng khơng khả quan hơn (81.6%) giảm 0.4% so với kết quả khi chưa tích hợp N-grams (82%). Đồng thời cũng như phân tích ở kết quả phân lớp của Related ở phần trước, việc giảm chất lượng phân lớp này cĩ khả năng gây ra ảnh hưởng khơng tốt đến chất lượng phân lớp chung của giải thuật Tri-Train.
Hình 4.3: Hiệu quả phân lớp của Ralated với tập train 5500 câu hỏi.
4.3. Kết quả thực nghiệm Tritrain
4.3.1. Các bước thực hiện:
Bước 1: từ dữ liệu thơ sử dụng tool tạo input SVM để sinh ra các file input SVM của nhiều khung nhìn dữ liệu. Chú ý: đặt tên file ngắn nhưng cĩ ý nghĩa.
Bước 2: sử dụng tool tự sinh ra tổ hợp các bộ dữ liệu cĩ thể tổ hợp với nhau dùng để chạy Tri-Train.
Input: tập hợp các dữ liệu thơ vào một thư mục với quy ước đặt tên như sau: - File dữ liệu dùng để kiểm tra đặt đuơi mở rộng là “.Test”.
- File dữ liệu dùng để luyện đặt đuơi mở rộng là “.Train”.
- Tên file dữ liệu dùng để kiểm tra và file dữ liệu dùng để luyện đặt giống nhau, chỉ khác phần đuơi mở rộng.
Output: tập hợp các thư mục dữ liệu input cho Tri-Train
- Tên thư mục: <số thứ tự>-<tên dữ liệu 1>-<tên dữ liệu 2>-<tên dữ liệu 3> - Nội dung:
o 6 file dữ liệu: t1.txt, t2.txt, t3.txt (các file dữ liệu test), l1, l2, l3 (Các file dữ liệu luyện).
o File “info.text”: chứa thơng tin mơ tả về ba bộ dữ liệu.
Bước 3: sử dụng tool Tritrain (của tác giả Nguyễn Trí Thành) để chạy các bộ dữ liệu.
Bước 4: sử dụng tool hỗ trợ việc đọc kết quả từ các file log để tổng hợp các kết quả thực nghiệm.
4.3.2. Danh sách các bộ dữ liệu đã sử dụng
ST T
Tên dữ liệu Ý nghĩa
1 Origin Dữ liệu ban đầu
2 Origin_N-grams Dữ liệu ban đầu kết hợp với N-grams
3 Origin_Related Dữ liệu ban đầu kết hợp vớ các từ liên quan của nĩ
4 Origin_Valuefit Dữ liệu ban đầu kết hợp với xử lý kết hợp với thơng tin về giá trị phù hợp của câu hỏi với mỗi lớp
5 Pos Dữ liệu chỉ cĩ thơng tin Pos (từ loại) 6 WordRoot Dữ liệu bao gồm các từ gốc
7 WordRoot_Pos Dữ liệu bao gồm các từ gốc kết hợp với Pos 8 WordRoot_Pos_Valuefit Dữ liệu bao gồm các từ gốc kết hợp với Pos và
thơng tin về giá trị phù hợp của câu hỏi với mỗi lớp
9 WordRoot_Related Dữ liệu bao gồm các từ gốc kết hợp với các từ liên quan với nĩ
Nguồn dữ liệu sử dụng cho tồn bộ các thực nghiệm dưới đây là hệ thống câu hỏi Trec, nổi tiếng và được rất nhiều nghiên cứu liên quan đến lĩnh vực phân lớp câu hỏi sử dụng để kiểm tra chất lượng nghiên cứu. Tất cả các thử nghiệm với Tri-Train ta đều sử dụng ngưỡng 4000 câu hỏi, do đĩ để đánh giá được chất lượng của Tri-Train, ta cũng cần phải đo chất lượng phân lớp của các bộ dữ liệu này trên tập train 4000 câu hỏi. Ở các thử nghiệm dưới đây, tác giả sử dụng tool cắt lấy 4000 câu hỏi đầu tiên cho các bộ câu hỏi trong tập train.
Đối với phân lớp thơ (hình 4.4), dữ liệu ban đầu với bộ dữ liệu 4000 câu hỏi trong tập train là 86%, đặc trưng tốt nhất đã nâng kết quả phân lớp lên được 88.2% (tăng 1.6%). Đây là đấu hiệu tốt, tiền đề cho khả năng tăng được đáng kể chất lượng phân lớp chung khi sử dụng giải thuật Tri-Train.
Hình 4.4: Chất lượng của dữ liệu đặc trưng phân lớp thơ 4000 câu hỏi.
Đối với phân lớp tinh (hình 5.5), dữ liệu ban đầu với bộ dữ liệu 4000 câu hỏi trong tập train là 77.4%, đặc trưng tốt nhất đã nâng kết quả phân lớp lên được 79.8% (tăng 2.4%). Kết quả này rất khả quan, mở ra hi vọng chất lượng phân lớp bằng Tri-Train sẽ cải thiện được đáng kể do cĩ sự tham gia của các bộ khung nhìn dữ liệu được chuẩn bị tốt.
Hình 4.5: Chất lượng của dữ liệu đặc trưng phân lớp tinh 4000 câu hỏi.
4.3.3.1. Hiệu quả cải thiện chất lượng phân lớp thơ
Thực hiện đo trên 43/84 bộ dữ liệu tổ hợp ba phần tử từ chín khung nhìn dữ liệu cho kết quả phân lớp (hình 4.6) sử dụng phương pháp Tri-Train với việc kết hợp ba khung nhìn dữ liệu khác nhau cải thiện đáng kể so với chất lượng phân lớp trên SVM ban đầu. Đây là kết quả tốt, vì so với chất lượng phân lớp ban đầu sử dụng SVM đo đạc được (86%), sử dụng Tri-Train luơn cho kết quả tốt hơn và độ chính xác cao nhất đã lên được tới 90%. Điều này cho thấy, định hướng cải tiến của tác giả đề xuất đã mang lại kết quả khả quan.
Hình 4.6: Biểu đồ đánh giá hiệu quả cải thiện chất lượng phân lớp thơ.
4.3.3.2. Hiệu quả cải thiện chất lượng phân lớp tinh
Tương tự như phân lớp thơ thực hiện đo trên 22/84 bộ dữ liệu tổ hợp ba phần tử từ chín khung nhìn dữ liệu cho kết quả phân lớp (hình 4.7) sử dụng phương pháp Tri-Train với việc kết hợp ba khung nhìn dữ liệu khác nhau cải thiện đáng kể so với chất lượng phân lớp trên SVM ban đầu. Phân lớp tinh ta cũng thu được kết quả đáng mừng như đo đạc ở phân lớp thơ, chất lượng phân lớp đã được tăng từ 77.4% lên 80.2% (tăng 2.8%). Tuy nhiên khi xem xét kỹ về tổng quan, ta nhận thấy đĩng gĩp của Tri-Train vào 2.8% chất lượng cải tiến này khơng nhiều so với chất lượng của đặc trưng tốt nhất khi chưa cần sử dụng Tri- Train (79.8%).
Hình 4.7: Biểu đồ đánh giá hiệu quả cải thiện chất lượng phân lớp tinh.
4.3.3.3. Ảnh hưởng một khung nhìn chất lượng thấp đến hiệu quả phân lớp Ở đây tác giả chọn một bộ dữ liệu cĩ chất lượng phân lớp rất thấp tham gia Ở đây tác giả chọn một bộ dữ liệu cĩ chất lượng phân lớp rất thấp tham gia vào các phép thử nghiệm Tri-Train cùng với các bộ dữ liệu cĩ chất lượng tốt khác. Kết quả thu được (hình 4.8) khá thú vị - chất lượng phân lớp chung hầu như khơng bị giảm so với mặt bằng chung. Cụ thể:
Hình 4.8: Sự đĩng gĩp của đặc trưng Pos vào chất lượng phân lớp thơ trong Tri-Train
Đối với phân lớp thơ, độ chính xác phân lớp của Pos theo phương pháp SVM là 54.6%. Tuy nhiên, trong các phép thực nghiệm (hình 4.9) cĩ sử dụng Pos làm một trong ba thành phần input của Tri-Train thì độ chính xác rơi vào khoảng [86.6,88], nếu so với chất lượng phân lớp tốt nhất đạt được của Tri-Train thì kết
quả này khơng phải là quá tệ.
Hình 4.9: Sự đĩng gĩp của đặc trưng Pos vào chất lượng phân lớp tinhtrong Tri-Train
Với phân lớp tinh, dựa vào kết quả thống kê các phép thực nghiệm cĩ sử dụng Pos ta cũng cĩ được những nhận xét tương tự như với phân lớp thơ.
Cĩ thể rút ra một ưu thế của Tri-Train từ nhận xét này: độ chính xác chung khơng chịu ảnh hưởng quá nhiều từ các thành phần dữ liệu đặc biệt (chất lượng phân lớp kém hơn hẳn các bộ dữ liệu thành phần khác).
4.4. Đánh giá chung
4.4.1. Kết quả cải tiến chất lượng phân lớp
Hình 4.10: Kết quả cải thiện chất lượng phân lớp.
Hình 4.10 cung cấp cho ta khung nhìn tổng quát nhất về chất lượng cải thiện phân lớp đối với từng giai đoạn: cải thiện chất lượng đặc trưng và hiệu quả của ý tưởng cải tiến Tri-Trai. Đối với phân lớp thơ, chất lượng đặc trưng khơng được cải thiện nhiều nhưng khi tổ hợp lại và sử dụng phương pháp Tri-Train cải tiến
thì kết quả nhận được tương đối khả quan. Ngược lại, phân lớp tinh tỏ ra khá hiệu quả ngay từ khi cải thiện chất lượng các đặc trưng nhưng lại khơng cải thiện được nhiều khi sử dụng Tri-Train cải tiến. Tuy nhiên, xét về tồn cục, đến đây ta hồn tồn cĩ thể đưa ra được kết luận về định hướng sử dụng ba khung nhìn khác nhau và các định hướng cải thiện chất lượng các đặc trưng mà tác giả đưa ra là cĩ ý nghĩa, cĩ thể giúp cải thiện chất lượng phân lớp câu hỏi.
4.4.2. Đĩng gĩp của đặc trưng “ValueFit”
Dựa vào bảng kết quả từ các lần thực nghiệm, ValueFit tỏ ra là một hướng đi cho kết quả khả quan đối với phân lớp thơ. Hình 4.11 cho thấy từ việc nâng chất lượng phân lớp với 4000 câu hỏi của tập luyện ban đầu từ 86% lên 88% khi sử dụng phương pháp SVM đến việc tham gia vào việc xây dựng nên bộ dữ liệu Tri-Train cĩ chất lượng phân lớp tốt nhất lên đến 90%.
Hình 4.11: Sự đĩng gĩp của đặc trưng ValueFit vào chất lượng phân lớp thơ.
Đối với phân lớp tinh, tác giả chưa làm được các phép chạy dữ liệu bằng phương pháp Tri-Train cho với các bộ dữ liệu liên quan đến ValueFit. Tuy nhiên với các đĩng gĩp liên quan đến việc cải thiện chất lượng theo phương pháp SVM đưa chất lượng phân lớp bằng phương pháp này đạt đến kết quả thực nghiệm cao nhất đối với dữ liệu 5500 câu hỏi (dữ liệu kết hợp WordRoot-Pos- Valuefit cho kết quả độ chính xác phân lớp lên đến 83.2%) ta hồn tồn cĩ thể hi vọng về kết quả của dữ liệu này khi tham gia vào phân lớp theo phương pháp Tri-Train.
4.4.3. Đĩng gĩp của đặc trưng “N-grams”
Mặc dù chất lượng phân lớp khi thực hiện bằng phương pháp SVM thể hiện cả ở phân lớp tinh và phân lớp thơ của N-grams cũng cĩ cải thiện so với chất lượng phân lớp ban đầu nhưng khơng đáng kể so với kết quả của các đặc trưng
khác như là ValueFit, Related . Tuy nhiên N-grams lại tỏ ra khá hiệu quả khi tham gia xây dựng dữ liệu input cho phương pháp Tri-Train (hình 4.12). Thể hiện rõ nhất là việc tham gia vào hai bộ dữ liệu cho kết quả phân lớp tinh Tri- Train cao nhất (80.2%) và đưa chất lượng phân lớp tinh đạt đến mức 90%.
Hình 4.12: Sự đĩng gĩp của đặc trưng N-grams vào chất lượng phân lớp tinh.
4.4.4. Đĩng gĩp của đặc trưng “Related”
Tương tự N-grams, Related mang lại chất lượng phân lớp khi sử dụng phương pháp SVM khơng thay đổi được nhiều, thậm chí cĩ trường hợp cịn làm giảm hiệu quả phân lớp so với dữ liệu ban đầu. Tuy nhiên Related đã mang lại những cải tiến chất lượng đáng kể (hình 4.13) khi tham gia vào Tri-Train, ví dụ: tham gia vào các tập dữ liệu cho kết quả phân lớp cao nhất (80.2% đối với phân lớp tinh).
KẾT LUẬN
Luận văn đã tìm hiểu các hướng giải quyết bài tốn phân lớp câu hỏi nhằm mục đích cải thiện chất lượng của hệ thống hỏi đáp. Dựa trên các phương pháp đã được tìm hiểu và nghiên cứu trong thời gian qua, nhất là từ hơn 10 năm trở