SemEval 2017. Mô hình MAP fastText 88,38 Word2vec 85,51 Glove 85,00 2.4.4. Trực quan hóa các trọng số chú ý
(a) Cơ chế chú ý có giám sát với độ tương tự từ (b) Cơ chế chú ý có giám sát với độ tương tự từ vàtfidf
Hình 2.5: Một ví dụ minh họa trọng số chú ý được học bởi mô hình match-LSTM kết hợp với cơ chếchú ý có giám sát với cặp câu hỏi và câu trả lời tốt của nó. chú ý có giám sát với cặp câu hỏi và câu trả lời tốt của nó.
Hình 2.5 và hình 2.6 được sử dụng để trực quan hóa trọng số chú ý giữa từ với từ của câu trả lời (tương ứng với trục tung) và câu hỏi (tương ứng với trục hoành). Qua việc trực quan hóa trọng số chú ý cũng giải thích về tính hiệu quả của mô hình đề xuất. Mỗi hình vuông nhỏ là mô tả trọng số chú ýαkj giữa một từ của câu trả lời với một từ trong câu hỏi. Hình vuông có màu đậm hơn mô tả trọng số chú ý αkj lớn hơn. Nhìn chung, mô hình match-LSTM kết hợp cơ chế
(a) Cơ chế chú ý có giám sát với độ tương tự từ (b) Cơ chế chú ý có giám sát với độ tương tự từ vàtfidf
Hình 2.6: Một ví dụ về trọng số chú ý được học bởi mô hình match-LSTM kết hợp với cơ chế chú ýcó giám sát với cặp câu hỏi và câu trả lời không tốt của nó. có giám sát với cặp câu hỏi và câu trả lời không tốt của nó.
chú ý có giám sát học ra trọng số chú ý của từ trong câu trả lời với các từ trong câu hỏi tốt hơn so với mô hình match-LSTM gốc ban đầu (so với hình 2.2 của mô hình gốc).
Xem xét chi tiết hơn, ở hình 2.5 các từ chứa nội dung của trả lời như ‘Pak- istanis’, ‘ban’, và ‘get’ và các từ chứa nội dung của câu hỏi như ‘nationalities’, ‘banned’, và‘apply’ được ánh xạ rất chính xác. Từ’ban’ và ’banned’ về bản chất có cùng từ gốc giống nhau. Mô hình đề xuất cũng dự đoán được các từ tương đồng ngữ nghĩa như‘Pakistanis’ và‘nationalities’, từ’get’ và ’apply’. Cuối cùng khi quan sát kĩ hơn trong hình 2.5(a), các từ dừng và dấu ngắt câu vẫn được ánh xạ tới các từ khác. Trong khi đó ở hình 2.5(b) nhờ vào trọng số tf.idf trong công thức 2.9 mà các từ dừng và dấu ngắt câu học được ánh xạ vào các từ đặc biệt <eos> được thêm vào cuối câu hỏi. Điều này thể hiện qua cột ô vuông ở cuối của hình 2.5(b) chứa nhiều các ô vuông màu xanh đậm. Hơn nữa, trong hình vẽ này cho thấy rằng các từ dừng và dấu ngắt câu trong câu hỏi không chú ý tới các từ trong câu trả lời nữa. Do đó, đoạn văn bản dư thừa không mang nội dung như lời chào hỏi hay những đoạn không mang ý nghĩa đều có trọng số chú ý thấp với các từ trong câu còn lại.
Tương tự với hình 2.6 đối với cặp câu hỏi và câu trả lời có nhãn là 0. Từ mang nội dung như ’your nationality’ được ánh xạ tới từ ’nationalities’ ở hình 2.6(b). Cũng do câu hỏi và câu trả lời về cơ bản không liên quan về ngữ nghĩa tới nhau cho nên phần ánh xạ giữa các từ trong hai câu này không rõ ràng.
Tất cả những lý giải trên chứng tỏ rằng mô hình đề xuất học được những phần quan trọng mang nội dung của câu trả lời và ánh xạ với nội dung liên quan của câu hỏi tốt hơn so với mô hình gốc.
2.5. Kết luận chương 2
Tóm lại, chương 2 của luận án thực hiện các công việc như sau:
• Các mô hình LSTM cơ bản như QA-LSTM, QA-LSTM-CNN, QA-LSTM- attention và Enhance-LSTM được cài đặt thử nghiệm lại trên bài toán lựa chọn câu trả lời.
• Mô hình match-LSTM được đề xuất sử dụng trên bài toán lựa chọn câu trả lời. Sau đó, mô hình này được mở rộng để phù hợp hơn với dữ liệu mạng xã hội. Cụ thể như kết hợp biểu diễn từ ở mức kí tự. Mô hình biLSTM được kết hợp với biểu diễn từ sử dụng mô hình Glove làm đầu vào của mô hình. Cách kết hợp này giúp khắc phục tình trạng OOV trong dữ liệu mạng xã hội.
• Đặc biệt, cơ chế chú ý có giám sát được tích hợp vào mô hình mở rộng để hướng dẫn mô hình học theo chú ý xác định trước. Thực nghiệm cho thấy mô hình học ra trọng số chú ý tốt hơn với mô hình gốc.
• Để giải thích hiệu quả của mô hình đề xuất, các trọng số chú ý của từng từ trong câu trả lời với các từ trong câu hỏi được trực quan hóa đối với cặp câu hỏi và câu trả lời tốt, câu hỏi với câu trả lời không tốt.
Các kết quả được trình bày trong chương 2 được công bố trong bài báo "Supervised Attention for Answer Selection in Community Question Answering" tại tạp chí IAES International Journal of Artificial Intelligence (IJ-AI)3 của Indonesia trong danh mục Scopus.
3http://ijai.iaescore.com/index.php/IJAI/article/view/20375
Bảng 4.1: Bảng thống kê tập dữ liệu có nhãn trên miền thương mại điện tử tiếng Việt
Số lượng cặp câu hỏi Số câu hỏi gốc
Train 5.996 615
Dev 847 86
Test 1.068 110
Số lượng cặp câu negative 5.177
Số lượng cặp câu positive 2.734
Độ dài trung bình (syllable) 27
Số câu hỏi có 1 câu (sentence) 5.294 Số câu hỏi có từ hai câu trở lên 2.539 Số từ trong từ điển (syllable) 5.821 Số từ trong từ điển (tách từ tiếng Việt) 6.337
Bảng 4.2: Bảng thống kê tập dữ liệu không gán nhãn được thu thập trên website Thế giới di động. Kích thước tập dữ liệu không gán nhãn 1.1M
Kích thước của từ điển (syllable) 151.735 Độ dài trung bình (syllable) 31
giống nhau được tiến hành rà soát lại và thống nhất kết quả gán nhãn cuối cùng.
• Cuối cùng, các câu hỏi gốc mà không có câu hỏi nào tương đồng cũng bị loại khỏi tập dữ liệu. Để làm tăng độ khó của tập dữ liệu, các cặp câu hỏi dễ (là những câu dễ dàng tìm được qua máy tìm kiếm, thường có ít thách thức về khoảng cách từ vựng) cũng được rà soát lại và đưa ra quyết định có bị loại khỏi tập dữ liệu hay không.
Sau khi có tập dữ liệu các cặp câu được gán nhãn, tập dữ liệu này được chia tập dữ liệu thành 3 tập: tập huấn luyện, tập phát triển và tập kiểm thử (cụ thể trong bảng 4.1). Tập dữ liệu thu được có 30% dữ liệu có nhãn1 có liên quan tới câu hỏi gốc.
Đồng thời trong quá trình thu thập dữ liệu, bộ dữ liệu không gán nhãn (bảng 4.2) được giữ lại để huấn luyện các mô hình ngôn ngữ. Tập này dùng để học biểu diễn của từ trong giai đoạn huấn luyện BERT.
Trong quá trình làm dữ liệu, máy tìm kiếm Elastic phiên bản 6.6.1 được sử dụng4. Đây là máy tìm kiếm được xây dựng trên thư viện Lucence. Máy tìm kiếm Elastic tìm kiếm và trả lại kết quả là danh sách các câu hỏi liên quan với
4https://www.elastic.co/downloads/past-releases/elasticsearch-6-6-1
câu hỏi gốc theo độ đo5 được tính như sau:
score(q, d) =queryN orm(q)∗coord(q, d)∗X(tf(t)∗idf(t)2∗t.getBoost()∗norm(t, d)),
(4.1) trong đó: t là từ trong văn bản d, score(q, d) là độ đo mức độ liên quan của văn bảnd với truy vấn q, queryN orm(q) là hệ số chuẩn hóa truy vấn để các truy vấn này có thể so sánh được với các truy vấn khác, coord(q, d) là hệ số ngang hàng, thông thường những văn bản chứa nhiều từ trong truy vấn q sẽ có điểm số cao hơn, t.getBoost() là hệ số tăng cường truy vấn, norm(t, d) chuẩn hóa trường độ dài
4.4. Mô hình BERT cho bài toán tìm kiếm câu hỏi tương đồng4.4.1. Mô hình BERT 4.4.1. Mô hình BERT
Mô hình học sâu được nghiên cứu với mục đích hiểu ngôn ngữ [36]. Các nghiên cứu này sử dụng rất nhiều phương pháp khác nhau như dự đoán từ tiếp theo, dự đoán câu kế tiếp hoặc là dự đoán từ được giấu đề xuất ra mô hình với mục đích học được ngữ nghĩa và cú pháp của câu [5]. Một trong những mô hình mà đạt hiệu năng vượt trội hơn các mô hình ngôn ngữ trước đó là mô hình BERT [5]. Mô hình BERT bao gồm nhiều tầng mã hóa của Transformer [2] xếp chồng lên
nhau. BERT gồm hai loại BERTBASE và BERTLARGE với số lượng các lớp mã
hóa của Transformer, kích thước của lớp ẩn và số lượng các Self-attention head
khác nhau. BERTBASE bao gồm 12 lớp mã hóa của Transformer, kích thước
của lớp ẩn là 768, 12 lớp Self-attention và số lượng tham số cần học là 110M.
BERTLARGE bao gồm 24 lớp mã hóa của Transformer, số chiều của lớp ẩn là 1024, 16 lớp Self-attention và số tham số 340M.BERTBASE được sử dụng trong luận án do nó phù hợp với dữ liệu nhỏ. Mô hình này có đầu vào là từ nhúng kết hợp với vị trí nhúng (position-embedding). Sau đó, đầu vào được đưa qua 12 lớp mã hóa của Transformer. Lớp Multi-headed attention tính các lớp biểu diễn mới của từ qua các lớp trước (mô hình Transformer được trình bày ở chương 1). Như vậy mô hình sẽ sinh ra 12 biểu diễn trung gian của từ có số chiều như nhau. Mô hình này được điều chỉnh cả bài toán ở mức câu và mức từ mà đều cho kết quả tốt. Mô hình BERT sinh ra biểu diễn của câu qua việc học hai nhiệm vụ: mô hình ngôn ngữ được mang mặt nạ (masked language model) và dự đoán câu tiếp theo (next sentence prediction).
5https://www.elastic.co/guide/en/elasticsearch/guide/current/practical-scoring-function.html
Với mô hình ngôn ngữ có mặt nạ, trong giai đoạn tiền huấn luyện (pre-train), 15% token được chọn ngẫu nhiên được che đi với mục đích dự đoán từ qua ngữ cảnh hai chiều (theo chiều xuôi và ngược của câu). Những token này được thay thế bằng từ đặc biệt là <mask>. Nhưng các token <mask> sẽ không được xuất hiện trong giai đoạn điều chỉnh (fine-tuning). Để tránh sự không đồng nhất giữa hai giai đoạn tiền huấn luyện và giai đoạn điều chỉnh thì trong 15% từ được được che mặt nạ thì có 80% được thay bằng từ đặc biệt <mask>. Ví dụ câu "cô ấy rất đẹp", từ "đẹp" là từ được chọn để dự đoán thì câu lúc này là "cô ấy rất <mask>, 10% tiếp theo được thay thế bởi từ ngẫu nhiên. Ví dụ từ ngẫu nhiên là "cao" thì câu là "cô ấy rất cao", còn 10% còn lại được giữ nguyên, khi đó câu sẽ được giữ nguyên "cô ấy rất đẹp".
Với nhiệm vụ dự đoán câu tiếp theo, BERT sử dụng bài toán phân loại nhị phân. Khi sinh các cặp câu trong quá trình tiền huấn luyện, 50% trong số đó là các cặp câu liên tiếp nhau trong thực tế và được gán nhãn là "đúng" và nửa còn lại câu thứ hai được lấy ngẫu nhiên trong tập dữ liệu và được gán nhãn là "sai". Mặc dù mô hình ngôn ngữ mặt nạ dùng để mã hóa ngữ cảnh hai chiều của từ, nhưng không thể mô tả được mối quan hệ giữa các cặp văn bản. Do đó mô hình BERT đã kết hợp sử dụng thêm nhiệm vụ dự đoán câu tiếp theo. Khi tiền huấn luyện BERT, hàm mất mát cuối cùng là tổ hợp tuyến tính của hàm mất mát trong hai nhiệm vụ trên.
4.4.2. BERT cho bài toán tìm kiếm câu hỏi tương đồng
Trong phần này, mô hình mBERTBASE (BERT Multilingual) [123] được áp
dụng vào bài toán tìm kiếm câu hỏi tương đồng. mBERT bản chất chính là mô hình BERT nhưng thay vì huấn luyện chỉ trên tập dữ liệu tiếng Anh [5] thì mBERT huấn luyện trên tập wikipedia với 104 ngôn ngữ khác nhau với bộ từ vựng chung cho cả 104 ngôn ngữ. Mô hình này đã làm việc hiệu quả trên tập dữ liệu nhỏ và nó có khả năng tổng quát đa ngôn ngữ tốt qua biểu diễn đa ngôn ngữ mà không cần phải huấn luyện lại từ đầu.
Mô hình BERT được sử dụng qua hai phần: phần huấn luyện và phần điều chỉnh. Phần tiền huấn luyện được thực hiện để lấy biểu diễn của từ trên tập dữ liệu không gán nhãn của tập dữ liệu tiếng Việt với miền thương mại điện tử có kích thước 1.1M dữ liệu văn bản (bảng 4.2). Phần điều chỉnh được thực hiện với mục đích để huấn luyện mô hình trên một bài toán cụ thể. Phần điều chỉnh với mục đích tận dụng tri thức học được từ mô hình mới mà những tri thức này cần
[CLS] X’ M X1 X’ 1 [SEP] XN …. …. Question 1 Question 2 E[CLS] E’ M E1 E’ 1 E[SEP] EN …. …. C T’ M T1 T’ 1 T[SEP] TN …. …. BERTBASE Predict
Hình 4.2: Mô hình BERT [5] cho bài toán tìm câu hỏi tương đồng
thiết cho bài toán mới. Mô hình mới được tạo ra bằng cách tận dụng một hoặc tất cả các lớp hoặc thêm/xóa/sửa một vài lớp từ mô hình ban đầu. Mô hình BERT được điều chỉnh cho bài toán tìm câu hỏi trên tập dữ liệu thương mại điện tử tiếng Việt được gán nhãn. Các tham số tại tất cả các lớp được điều chỉnh một lần. Các từ <CLS> và <SEP> được thêm vào mô hình (hình 4.2). Cụ thể đầu vào của mô hình như sau: BERT −Input(q1, q2) = [CLS]q1[SEP]q2[SEP], trong đó q1, q2 là cặp câu hỏi. Trạng thái ẩn lớp cuối cùng của từ <CLS> được xem như là biễu diễn cuối cùng tổng hợp mối quan hệ ngữ nghĩa giữa hai câu. Hàm kích hoạt Sof tmax được thêm vào lớp cuối cùng để dự đoán nhãn của hai câu hỏi. Hàm Sof tmax là hàm xác suất dự đoán xác suất 2 lớp đầu ra (đầu ra trả về0 là hai câu hỏi không tương đồng, 1 là hai câu hỏi tương đồng).
c=sof tmax(WT. < CLS >), (4.2) trong đó P2
1ci = 1, Wlà ma trận trọng số với số chiều (d+ 1).2, d là kích thước của từ nhúng.
4.4.3. Các kết quả thực nghiệm và thảo luận
Các mô hình học sâu được cài đặt bằng Tensorflow và chạy trên GPU Nvidia Tesla P100 16Gb. Độ đo MAP vẫn được sử dụng để đánh giá các mô hình (đã được trình bày ở mục 2.4.1). Các siêu tham số được chọn qua tập phát triển.
Trước khi đánh giá mô hình trên tập dữ liệu tiếng Việt, các mô hình mới nhất
Bảng 4.3: Độ đo MAP của một số mô hình trên tập dữ liệu tiếng Anh - Semeval 2017 với cả hai bài toán tìm câu hỏi tương đồng (task B) và lựa chọn câu trả lời (task A)
Mô hình task B task A
KELP 49,00 88,43 SimBow 47,87
BERT 56.03 90.65
RoBERTa 54,16 90,30 XLnet 50,03 89,97
như BERT, RoBERTa, XLnet được thử nghiệm cho bài toán tìm câu hỏi tương đồng (task A) và bài toán lựa chọn câu trả lời (task B) trên tập dữ liệu tiếng Anh - Semeval 2017 [21]. Bảng 4.3 mô tả kết quả khi điều chỉnh các mô hình BERT [5], mô hình XLnet [124] và RoBERTa [113] trên hai bài toán tìm câu hỏi tương đồng và lựa chọn câu trả lời. Kết quả của các mô hình được so sánh với kết quả của hai đội đứng đầu là KELP và SimBow trong cuộc thi Semeval 2017 trên bài toán này. Mô hình XLNet là mô hình biến thể của mô hình Transformer. XLnet được tạo ra nhờ sự kết hợp của RNN và Transformer, được huấn luyện trên 126GB dữ liệu văn bản tiếng Anh. XLnet cũng làm việc tốt trên các bài toán ở mức từ và mức câu. Tuy nhiên tốc độ học chậm hơn BERT do xử lý trình tự ở đầu vào. Mô hình RoBERTa là mô hình biến thể của mô hình BERT. Mô hình RoBERTa sử dụng mô hình BERT nhưng không sử dụng cơ chế dự đoán câu kế tiếp mà sử dụng cơ chế mặt nạ động (dynamic masking) với dữ liệu huấn luyện lớn hơn BERT 10 lần (mô hình BERT sử dụng khoảng 3.3GB text huấn luyện mô hình). Kết quả tại bảng 4.3 cho thấy mô hình BERT, RoBERTa và XLnet tốt hơn hẳn so với các đội cao nhất tại Semeval 2017. Các mô hình này đã được chứng minh tính hiệu quả vượt trội so với các mô hình học sâu trước đó trên các bài toán NLP dựa vào cơ chế tự chú ý của mô hình Transformer. Trong đó BERT cho kết quả MAP cao nhất là 56.03%, cao hơn cả so với XLnet và RoBERTa. Đây là lý do mô hình BERT được chọn sử dụng trên tập dữ liệu tiếng Việt.
Bảng 4.4 trình bày kết quả của các mô hình trên tập dữ liệu tiếng Việt. Bảng này bao gồm ba phần: Các kết quả trên các mô hình LSTM/CNN; Mô hình BERT với các tiền huấn luyện trên các tập dữ liệu khác nhau và mô hình BOW