3.4.1. Tập dữ liệu
Tập dữ liệu L6 - Yahoo! Answers Comprehensive Questions and Answers 4
từ Yahoo-Webscope được sử dụng để học biểu diễn câu bằng phương pháp học không giám sát (tập dữ liệu được thống kê trong bảng 3.1)
Bảng 3.1: Tập dữ liệu Yahoo Webscope.
Thống kê Số lượng
Số lượng câu hỏi 87.390
Số lượng câu trả lời 314.446 Số lượng câu được tách từ các câu trả lời 1.662.497
Tập kiểm thử được thực hiện tóm tắt bằng tay do con người thực hiện với độ dài tối đa là 250 từ (chi tiết được thống kê trong bảng 3.2).
Bảng 3.2: Tập test đánh giá thuật toán tóm tắt câu trả lời.
Thống kê Số lượng
Số lượng câu hỏi Non-factoid 100
Số lượng câu trả lời 361
Số lượng câu tách ra từ các câu trả lời 2.793
Số lượng từ 59.321
Số lượng tóm tắt bằng tay 275
Số lượng trung bình đoạn tóm tắt trên mỗi câu hỏi 2,75
3.4.2. Thiết lập thử nghiệm
Đối với mô hình Auto-Encoder, đầu vào là véc tơ có số chiều bằng kích thước của tập từ vựng và sử dụng trọng sốtf.idf. Tập từ vựng được tạo ra bằng cách chuyển các từ sang viết thường, loại bỏ từ dừng và những từ hiếm (có số lần xuất hiện dưới 10 lần), đưa từ về dạng gốc và chuẩn hóa số. Mô hình AE có 4 lớp mã hóa và 4 lớp giải mã (hình 3.3). Véc tơ h với số chiều là 100 được dùng làm biểu diễn câu. Các tham số trong thuật toán tối ưu Adam [102] được chọn như sau: tốc độ học η = 0,001, kích thước mỗi lô (batch size) là 128 câu, số epoch là 20. Mô hình được huấn luyện trên tập Yahoo-webscope với thời gian là 8 giờ trên máy tính với CPU 20 core.
Từ được biểu diễn bởi Word2vec5 có kích thước là 300 được đưa vào LSTM- AE. Khi một từ không có trong bộ từ điển được huấn luyện trước, nó được lấy mẫu qua phân phối chuẩn. Các dấu câu như dấu phẩy, dấu hai chấm được chuyển thành < dot >. Dấu hiệu kết thúc câu được chuyển thành < eos >. Các siêu tham số trong mô hình LSTM-AE được chọn như sau: tốc độ họcη = 0.001, kích thước mỗi lô là 128, số epoch là 20. Thời gian huấn luyện mô hình trên tập Yahoo-webscope mất 3 tuần với máy tính CPU 20 core. Cả mô hình AE và LSTM-AE đều được thực hiện trên Tensorflow.
3.4.3. Kết quả thực nghiệm
Độ đo ROUGE [103] được sử dụng để đánh giá mô hình tóm tắt:
Độ đo Rouge−N là tỉ lệ của số n−Gram trùng nhau giữa đoạn tóm tắt do mô hình dự đoán với số n−Gram của đoạn tóm tắt do con người thực hiện.
Rouge−L= LCS(X, Y)
m , (3.22)
trong đó LCS(X, Y) là độ dài dãy con chung lớn nhất của X và Y, X là đoạn 5https://github.com/mmihaltz/word2vec
tóm tắt do con người tóm tắt, Y là đoạn tóm tắt do mô hình dự đoán, m là chiều dài của X.
Trước tiên, mô hình tóm tắt được đánh giá trên hai mô hình biểu diễn câu: biểu diễn câu qua trọng sốtf.idf và lấy trung bình các véc tơ từ dùng Word2vec (bảng 3.3).
Bảng 3.3: Kết quả tóm tắt trên hai mô hình cơ bản.
Word2Vec Tfidf
κ Rouge-1 Rouge-2 Rouge-L Rouge-1 Rouge-2 Rouge-L
0,1 0,621 0,529 0,607 0,532 0,282 0,464 0,2 0,619 0,524 0,606 0,531 0,282 0,463 0,3 0,618 0,523 0,605 0,532 0,281 0,464 0,4 0,615 0,518 0,600 0,530 0,279 0,467 0,5 0,622 0,525 0,604 0,529 0,279 0,464 0,6 0,614 0,513 0,605 0,528 0,278 0,467 0,7 0,610 0,507 0,607 0,529 0,280 0,489 0,8 0,609 0,504 0,610 0,530 0,285 0,488 0,9 0,611 0,505 0,603 0,532 0,288 0,488 1,0 0,608 0,501 0,601 0,532 0,289 0,489
Để lựa chọn kiến trúc của mô hình AE như mô tả trên, kịch bản kiểm thử với một lớp mã hóa - giải mã với số chiều giảm về 1000 chiều, AE hai lớp mã hóa - giải mã với số chiều giảm về 400 chiều, mô hình AE ba lớp mã hóa - giải mã với số chiều giảm về 300 chiều và AE 4 lớp mã hóa - giải mã với số chiều giảm về 100 chiều được tiến hành. Kết quả được thực hiện với tham số κ = 0.3 trên bảng 3.4.
Bảng 3.4: Kết quả tóm tắt khi sử dụng mô hình AE biểu diễn câu với trong trường hợp số lớp mã hóa-giải mã khác nhau với số chiều khác nhau
Rouge-1 Rouge-2 Rouge-L
AE-1000 chiều 0,670 0,561 0,711 AE-400 chiều 0,682 0,597 0,715 AE-300 chiều 0,669 0,601 0,714
AE-100 chiều 0,762 0,622 0,730
Sau đó, mô hình AE, LSTM-AE và mô hình kết hợp hai biểu diễn từ hai mô hình trên bằng cách nối hai biểu diễn từ mô hình AE và LSTM-AE của câu (tạm gọi CONCATE) được đánh giá qua hình 3.5. Kết quả được đánh giá qua
các tham số κ khác nhau của thuật toán MMR. Trong hình 3.5, trục tung mô
tả độ đo ROUGE, trục hoành biểu diễn tham số κ.
Tiếp theo, κ = 0.3 được chọn đại diện cho mô hình để so sánh với các mô hình khác (bảng 3.5).
Độ tương đồng ngữ nghĩa của hai câu cũng được thử nghiệm qua việc kết hợp tuyến tính độ tương tựcosincủa hai biểu diễn của hai mô hình AE và LSTM-AE với công thức như sau:
sim(s1, s2) =α.simAE(s1, s2) + (1−α).simLST M−AE(s1, s2), (3.23) trong đó α là siêu tham số chỉ mức độ ảnh hưởng của hai độ đo. Kết quả được trình bày ở bảng 3.6.
Hình 3.5: Độ đo ROUGE trên các tham sốκkhác nhau trong thuật toán MMR.
Bảng 3.5: Bảng so sánh hiệu năng của mô hình LSTM-AE với các mô hình khác.
Method Rouge-1 Rouge-2 Rouge-L
BestAns 0,473 0,390 0,463
DOC2VEC + sparse coding 0,753 0,678 0,750
CNN + document expansion + sparse coding + MMR 0,766 0,646 0,753
LSTM-AE 0,766 0,653 0,759
Như mong đợi, kết quả ở bảng 3.3 cho thấy rằng, mô hình Word2vec cho kết quả cao hơn hẳn mô hìnhtf.idf nhờ vào thông tin ngữ nghĩa của từ với số chiều thấp (bảng 3.3). Nhưng kết quả tóm tắt ở cả ba độ đo Rouge-1, Rouge-2 và Rouge-L của mô hình Word2vec ở bảng 3.3 thấp hơn các mô hình AE, LSTM- AE và mô hình CONCATE (hình 3.5). Lý do là bởi vì mô hình Word2vec là thực hiện qua việc lấy trung bình các trọng số của véc tơ biểu diễn từ. Cách làm này không khai thác được trật tự các từ trong câu cũng như sự tương tác của các từ trong ngữ cảnh cụ thể. Trong khi đó các mô hình AE và LSTM-AE
học ra véc tơ biểu diễn câu từ dữ liệu CQA. Với κ < 0,5 mô hình LSTM-AE có hiệu năng lớn hơn mô hình AE trên tất cả độ đo ROUGE-1, ROUGE-2 và ROUGE-L. Nhưng khi κ > 0,5 thì mô hình AE lại tốt hơn LSTM-AE trên độ
đo ROUGE-1 và ROUGE-2. Điều này có thể do khi κ lớn thì mô hình thiên về
độ đa dạng hơn về độ liên quan. Nhìn chung, kết quả của mô hình LSTM-AE cho thấy rằng mô hình này là lựa chọn tốt hơn sử dụng để học biểu diễn câu với bài toán tóm tắt. Mô hình CONCATE về cơ bản mang lại hiệu quả không đáng kể. Do vậy, mô hình LSTM-AE được chọn để tiến hành so sánh hiệu năng tóm tắt câu trả lời với các mô hình hiện đại khác.
Bảng 3.5 so sánh hiệu năng của mô hình LSTM-AE với các mô hình khác đã được đề xuất trong các nghiên cứu trước đó trong nghiên cứu của Song [87] với
κ= 0,3. Mô hình biểu diễn DOC2VEC [101] sử dụng véc tơ biểu diễn đoạn để sinh ra biểu diễn câu kết hợp với mã thưa để tìm ra câu nổi bật. Tuy nhiên, phương pháp này không rõ ràng trong trường hợp véc tơ biểu diễn đoạn và véc tơ biểu diễn câu được lấy như thế nào. Trong khi đó mô hình CNN học ra biểu diễn câu từ dữ liệu có nhãn. Nhãn ở đây là câu đó có thuộc đoạn tóm tắt hay không. Hơn nữa mô hình được đề xuất bởi Song còn sử dụng tri thức từ bên ngoài (sử dụng nguồn Wikipedia) để làm giàu ngữ nghĩa cho văn bản ngắn. Các câu được biểu diễn trong không gian số chiều thấp là đầu vào của mã thưa và cuối cùng dùng thuật toán MMR để trích rút các câu tóm tắt. Câu trả lời tốt nhất cũng được lựa chọn để đem ra so sánh với các mô hình tóm tắt để thấy được tầm quan trọng của việc tóm tắt câu trả lời.
Kết quả cho thấy rằng biểu diễn câu sử dụng mô hình không giám sát cho kết quả ngang bằng và thậm chí còn tốt hơn các mô hình có giám sát mà không cần phải sử dụng đến dữ liệu có nhãn và không sử dụng tri thức bên ngoài (bảng 3.5). Mô hình LSTM-AE tốt hơn mô hình DOC2VEC do khi sử dụng mô hình DOC2VEC trên ngữ cảnh là đoạn văn các đặc trưng của đoạn được đưa vào như chỉ số đoạn và cửa sổ mẫu của câu. Nguyên nhân là do mô hình LSTM-AE học được thông tin cú pháp và ngữ nghĩa của câu qua lớp ẩn cuối cùng của mô hình LSTM và sử dụng biểu diễn của lớp này làm biểu diễn câu. Hơn nữa, vì mô hình LSTM-AE được huấn luyện trên tập dữ liệu lớn Yahoo-webscope không gán nhãn từ cộng đồng cho nên nó tận dụng được tri thức của câu trên cùng miền dữ liệu với tập kiểm thử.
Cuối cùng, hai phương pháp kết hợp cũng được đánh giá: Thứ nhất, hai véc tơ biểu diễn của câu từ hai mô hình AE và LSTM-AE được nối lại với nhau
Bảng 3.6: Kết quả tóm tắt khi thực hiện tổng hợp ngữ nghĩa của hai câu qua việc kết hợp tuyến tính hai độ đo tương đồng của cả hai biểu diến AE và LSTM-AE theo công thức 3.23
α Rouge-1 Rouge-2 Rouge-L
0,1 0,771 0,661 0,761 0,2 0,771 0,661 0,760 0,3 0,771 0,661 0,760 0,4 0,770 0,660 0,759 0,5 0,770 0,659 0,759 0,6 0,771 0,658 0,759 0,7 0,772 0,662 0,763 0,8 0,772 0,662 0,763 0,9 0,771 0,660 0,759
thành 1 véc tơ (kết quả như hình 3.5); Thứ hai, kết hợp tuyến tính độ tương đồng ngữ nghĩa của hai câu từ hai biểu diễn véc tơ như công thức 3.23 (kết quả trình bày tại bảng 3.6). Kết quả cho thấy cách kết hợp tuyến tính thứ hai cho kết quả tốt hơn so với nối hai biểu diễn câu thông thường.
3.5. Kết luận chương 3
Tóm lại, chương 3 trình bày một hướng tiếp cận bài toán tóm tắt câu trả lời cho các câu hỏi non-factoid trong hệ thống hỏi đáp cộng đồng. Trong phương pháp này, mô hình học biểu diễn câu không giám sát AE và LSTM-AE được sử dụng để biểu diễn câu. Trong phần thực nghiệm, các phương pháp khai thác ngữ nghĩa của câu như nối hai véc tơ biểu diễn qua hai mô hình AE và LSTM-AE và kết hợp tuyến tính độ tương đồng ngữ nghĩa của hai biểu diễn này được sử dụng để khẳng định hiệu quả của mô hình biểu diễn câu LSTM-AE. Thuật toán MMR được sử dụng để tóm tắt câu trả lời. Phương pháp học biểu diễn không giám sát đề xuất ở trên cho kết quả tương đương với phương pháp học biểu diễn có giám sát mà không cần sử dụng tri thức bên ngoài.
Kết quả chương 3 được trình bày trong bài báo "Unsupervised Sentence Embeddings for Answer Summarization in Non-factoid CQA"6 đăng trên tạp chí Cys trong danh mục Scopus của Mexico.
Chương 4
BÀI TOÁN TÌM CÂU HỎI TƯƠNG ĐỒNG TRONG HỆ THỐNG HỎI ĐÁP CỘNG ĐỒNG
Hệ thống hỏi đáp CQA cũng hướng tới việc tìm câu trả lời một cách tự động khi câu hỏi mới được đăng lên hệ thống. Trong chương này, bài toán tìm câu hỏi tương đồng được nghiên cứu. Đây là bài toán trung gian hỗ trợ cho hệ thống tự động tìm kiếm câu trả lời cho câu hỏi mới. Bài toán tìm kiếm câu hỏi tương đồng tuy không phải là lĩnh vực nghiên cứu mới nhưng nó vẫn được sử dụng nhiều trong các hệ thống hỏi đáp. Bài toán này còn có tên gọi là bài toán tìm kiếm câu hỏi hay phát hiện câu hỏi trùng lặp. Thách thức lớn nhất và cơ bản nhất của bài toán này vẫn là vấn đề về khoảng cách từ vựng. Nguyên nhân của thách thức này vẫn là do các câu hỏi tương tự nhau nhưng được diễn đạt bằng các từ và cụm từ khác nhau. Gần đây mô hình BERT [5] ra đời là một bước đột phá trong lĩnh vực xử lý ngôn ngữ tự nhiên. Sự ra đời của mô hình này làm tăng đáng kể hiệu năng của các bài toán trong NLP như hỏi đáp, dịch máy và phân tích cảm xúc. Mặc dù có rất nhiều nghiên cứu trên bài toán tìm kiếm câu hỏi tương đồng trên tập dữ liệu tiếng Anh, nhưng lại chưa được nghiên cứu nhiều trên tập dữ liệu tiếng Việt. Chương 4 trình bày các nội dung sau: (i) Xây dựng tập dữ liệu tiếng Việt cho bài toán tìm kiếm câu hỏi tương đồng trên miền dữ liệu thương mại điện tử. (ii) Đề xuất sử dụng mô hình BERTBase trên tập dữ liệu tiếng Việt. (iii) Đề xuất sử dụng mô hình SBERT [104] với mục đích giảm thời gian tìm kiếm câu hỏi tương đồng qua việc học biểu diễn các câu hỏi đã có sang không gian véc tơ số thực có số chiều cố định. Khi có câu hỏi mới, chỉ cần đưa vào mô hình để tính biểu diễn của câu hỏi mới mà không cần tính lại các biểu diễn của câu hỏi đã có. Với cách thực hiện như vậy sẽ làm giảm thời gian tìm kiếm câu hỏi, giúp cho ứng dụng chạy nhanh hơn, đáp ứng yêu cầu của người dùng mà vẫn duy trì được độ chính xác của mô hình BERT. Kết quả cho thấy rằng khi mô hình BERT được huấn luyện trên cùng miền dữ liệu thương mại điện tử cho kết quả tốt hơn khi dùng BERT huấn luyện trên tập có miền dữ liệu chung chung. Đồng thời, mô hình SBERT cho kết quả tìm kiếm nhanh hơn rất nhiều lần so với mô hình BERT trước đó.
4.1. Giới thiệu
Hệ thống hỏi đáp CQA là nơi thu thập dữ liệu và đồng thời qua hệ thống này người dùng có thể chia sẻ tri thức và kinh nghiệm của mình về nhiều lĩnh vực khác nhau. Đây là nền tảng cho mọi người đóng góp câu trả lời có chất lượng. Hệ thống hỏi đáp cho phép người dùng có thể đăng câu hỏi của mình lên hệ thống hoặc là trả lời câu hỏi của người dùng khác. Trong hệ thống hỏi đáp tự động (QA,) khi một câu hỏi được đăng lên thì hệ thống sẽ tự động đưa ra câu trả lời ngay lập tức. Còn hệ thống hỏi đáp CQA khi người dùng đăng một câu hỏi mới lên hệ thống thì phải mất một thời gian để chờ người dùng khác trả lời. Hơn nữa, hệ thống này ngày càng phổ biến thì lượng người sử dụng hệ thống ngày càng tăng làm cho kho dữ liệu lưu trữ cặp câu hỏi và câu trả lời ngày càng lớn. Do đó, khả năng nhiều người hỏi các câu hỏi trùng nhau là rất lớn. Theo thống kê1, có hơn 100 triệu người truy cập vào Quora mỗi tháng. Vì vậy, không có gì ngạc nhiên khi nhiều người đặt những câu hỏi tương tự nhau. Người hỏi cũng sẽ mất rất nhiều thời gian để tìm kiếm cho mình câu trả lời tốt nhất, và người trả lời phải viết rất nhiều phiên bản câu trả lời của cùng câu hỏi. Vì thế, để giảm độ trễ và giúp người dùng tìm kiếm nhanh hơn, hệ thống CQA cung cấp cho người dùng một chức năng tìm kiếm câu hỏi một cách tự động cho phép người dùng tìm ra những câu hỏi trong kho dữ liệu CQA mà tương tự với câu hỏi người dùng muốn hỏi. Qua chức năng này, người dùng hi vọng rằng những câu trả lời của các câu hỏi tương tự với câu hỏi mới có thể hữu ích và có khả năng là câu trả lời cho câu hỏi mới.
Bài toán tìm câu hỏi tương đồng được định nghĩa như sau: Cho một câu hỏi truy vấn (câu hỏi mới) q và các câu hỏi q1, q2, ..., qn trong kho dữ liệu CQA. Đầu ra trả về danh sách xếp hạng các câu hỏi sao cho những câu tương đồng nhất