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 cơ sở.
Hình 4.3 mô tả đường cong ROC (Receiver Operating Characteristic) với độ độ đo AUC (Area Under the Curve) của các mô hình. Diện tích AUC vùng ở dưới đường cong ROC càng lớn thì mô hình càng hiệu quả.
Kết quả trong bảng 4.4 và hình 4.3 đều cho thấy rằng các mô hình học sâu
Bảng 4.4: Độ đo MAP của các mô hình trên tập dữ liệu tiếng Việt. Mô hình MAP LSTM 52,60 CNN 53,10 ABCNN 51,52 LSTM attention 55,50 BERT-multilingual 61,06 BERT4Vn 63,75 PhOBERT 65,50 BERT4ECOMMERCE 70,50 ElasticSearch 52,00 SVM 49,75
LSTM/CNN cho kết quả MAP cao hơn mô hình cơ sở BOW của ElasticSearch và SVM. Nguyên nhân là do giữa hai câu hỏi có chứa ít từ trùng nhau làm cho các phương pháp so sánh từ trong ElasticSearch hoạt động không hiệu quả bằng các mô hình học sâu. Trong khi những câu hỏi tương tự thường chứa từ và cụm từ khác nhau nhưng có nghĩa giống nhau. Trong khi đó mô hình BERT với tiền huấn luyện trên tập dữ liệu khác tăng mạnh, đặc biệt là mô hình BERT được tiền huấn luyện trên cùng tập dữ liệu thương mại điện tử đạt kết quả cao nhất
là 70,50%. Mô hình BERT-multilingual, BERT4Vn và BERT4ECOMMERCE
được thực hiện trên bộ dữ liệu tách tiếng (syllabus), chỉ có PhOBERT được thực hiện trên dữ liệu tách từ tiếng Việt.
Việc thực thi chi tiết các mô hình được mô tả ở phần dưới đây:
Các mô hình LSTM/CNN
Hình 4.4 mô tả kiến trúc của các mô hình học sâu vào bài toán tìm kiếm câu hỏi tương đồng. Dưới đây là mô tả cụ thể mô hình đã cài đặt:
• Mô hình LSTM (hình 4.4(a)): Cặp câu hỏi được mã hóa bởi hai mô hình
LSTM và hai mô hình được sử dụng cùng bộ tham số. Lớp ẩn cuối cùng của LSTM được sử dụng làm biểu diễn của câu hỏi. Cuối cùng, hai biểu diễn của hai câu hỏi được nối lại và cho qua lớp MLP để dự đoán.
• Mô hình CNN (hình 4.4(c)): Kiến trúc của mô hình này tương tự như mô
hình LSTM nhưng mô hình LSTM được thay bằng mô hình CNN.
• Mô hình ABCNN [125] (hình 4.4(d)): Các từ của câu hỏi được biểu diễn
bằng từ nhúng để thu được biểu diễn đặc trưng (represention feature map - màu đỏ, mỗi từ là một cột của ma trận). Sau đó ma trận chú ý A được tính qua việc so khớp từng từ qua biểu diễn của hai câu. Ma trận chú ý A
Hình 4.3: Đường cong ROC của các mô hình dự đoán.
có nghĩa như sau: Dòng thứ icủa ma trận A thể hiện độ quan trọng của từ thứ i trong câu hỏi thứ nhất với toàn bộ các từ trong câu hỏi thứ 2. Còn cột thứ j của ma trận A là độ quan trọng của từ thứ j của câu thứ 2 với các từ còn lại trong câu thứ nhất. Sau đó ma trận A được phân tích thành hai ma trận đặc trưng chú ý (màu xanh - attention feature map) và hai ma trận này được sử dụng làm đầu vào của lớp tiếp theo.
• Mô hình LSTM/CNN-attention (hình 4.4(b)): Trong mô hình này, đầu ra
của hai câu hỏi sau khi qua mô hình LSTM và CNN sẽ được sử dụng để tính ma trận trọng số chú ý từ với từ. Sau đó biểu diễn từ của câu thứ hai sẽ được cập nhật lại qua trọng số chú ý. Cuối cùng phép toán tổng hợp lớn nhất (max pooling) được sử dụng để thu thập các đặc trưng quan trọng trước khi đưa vào lớp dự đoán. Mô hình này gần giống với mô hình của Tan và cộng sự [7].
Các mô hình này đều sử dụng biểu diễn từ nhúng word2vec được huấn luyện trước theo tiếng (từ tách theo dấu cách) trên tập dữ liệu không gán nhãn của Thế giới di động (bảng 4.2). Các lớp từ nhúng ban đầu được khởi tạo bởi véc tơ Word2vec được huấn luyện trước. Thuật toán Adam được sử dụng để giải hàm
x1(1) h1(1) x2(2) x2(1) h2(n) …. h2(1) h1(2) h2(2) h1(m) …. x1(2) x1(m) h h2(0) h1(0) x2(n) Predict Question 1 Question 2 (a) Mô hình LSTM ---- Question 1 Pooling ---- Question 2 BiLSTM concate(sum,multiply) MLP Predict CNN CNN Pooling (b) Mô hình LSTM/CNN-attention Question 1 Question 2 W or d em bedd ing CNN Ma x pooli ng Predict (c) Mô hình CNN Question 1 Question 2 Max pooling concatenate predict (d) Mô hình ABCNN
Hình 4.4: Các mô hình học sâu LSTM/CNN trong bài toán tìm kiếm câu hỏi 84
Bảng 4.5: Bảng chọn siêu tham số cho các mô hình LSTM/CNN
Emb-size Hid/filter-size L-rate Pdrop Batch size epochs Params (x105)
LSTM 300 300 0,0001 0,2 64 25 21
LSTM/CNN-att 300 300 0,0001 0,2 64 25 27
CNN 300 3 0,003 0,5 64 25 33
ABCNN 300 3 0,001 0,2 32 25 34
tối ưu [102]. Các siêu tham số của các mô hình được chọn theo bảng 4.5 :
Tiền huấn luyện và điều chỉnh BERT
Ở bước tiền huấn luyện: Đầu tiên, biểu diễn từ được huấn luyện từ mô hình multilingua-BERTBASE (kí hiệu mBERT)6 được sử dụng. Từ nhúng từ mô hình mBERT được huấn luyện từ bộ dữ liệu Wikipedia với 104 ngôn ngữ với bộ từ vựng chung cho tất cả các ngôn ngữ trong đó có tiếng Việt.
Để các từ nhúng học được từ mô hình phù hợp với ngữ cảnh trong miền dữ liệu thương mại điện tử, mô hình mBERT được điều chỉnh trên tập dữ liệu không gán nhãn (bảng 4.2). Các từ nhúng này được sử dụng là đầu vào để điều chỉnh mô hình BERT trên bài toán tìm kiếm câu hỏi với dữ liệu có nhãn. Để so sánh hiệu quả của việc dùng biểu diễn từ mà được huấn luyện trên miền dữ liệu thương mại điện với từ nhúng được huấn luyện trên các tập dữ liệu tiếng Việt với nguồn khác nhau, các mô hình sau được sử dụng để so sánh:
• BERT-Multilingual [123]: với kích thước từ vựng 110K được huấn luyện
trên tập Wikipedia của 104 ngôn ngữ trong đó có tiếng Việt.
• BERT4VN7: Được huấn luyện trên tập dữ liệu khoảng 20GB từ các báo
và Wikipedia tiếng Việt. Cũng giống như mBERT, BERT4VN cũng được huấn luyện theo subtoken của từ theo âm tiết.
Các tham số trong giai đoạn huấn luyện BERT trên tập dữ liệu không gán nhãn với miền dữ liệu thương mại điện tử tiếng Việt như sau: số chiều của từ nhúng là 768, kích thước lô là 32, tốc độ học là 2e−5 và dừng ở số bước là 2000, thời gian huấn luyện khoảng 2 ngày trên trên GPU Tesla V100. Mô hình BERT mà sử dụng tiền huấn luyện trên tập dữ liệu thương mại điện tử tiếng Việt được gọi là BERT4ECOMMERCE
Sau đó, mô hình BERT được điều chỉnh trên bài toán tìm kiếm câu hỏi trên tập dữ liệu thương mại điện tử tiếng Việt có nhãn (bảng 4.1).
6https://github.com/google-research/bert
7https://github.com/lampts/bert4vn
Bảng 4.6: Bảng chọn các siêu tham số của mô hình BERT khi điều chỉnh trên bài toán tìm kiếm câu hỏi trên tập dữ liệu thương mại điện tử có nhãn tiếng Việt
chiều dài tối đa tốc độ học Số bước đạt lớn nhất
BERT-multilingual 200 2e−5 650
BERT4Vn 200 2e−5 1.600
PhOBERT 200 2e−5 1000
BERT4ECOMMERCE 200 2e−5 900
Bảng 4.6 mô tả các siêu tham số được chọn trong khi điều chỉnh mô hình BERT trên bài toán tìm câu trả lời sử dụng các từ nhúng mà được huấn luyện trên dữ liệu tiếng Việt với các nguồn khác nhau. Kết quả bảng 4.4 và hình 4.3 cho thấy rằng các mô hình BERT cải thiện đáng kể hiệu năng của bài toán, đặc biệt là mô hình BERT4ECOMMERCE (MAP đạt 70,50%, AUC đạt 77,4%). Kết quả cho thấy rằng khi nguồn dữ liệu trong bước huấn luyện và dữ liệu của bài toán đích cùng miền dữ liệu thì sẽ có ảnh hưởng tốt tới kết quả cuối cùng.