Mô hình BERT mang lại kết quả tốt cho nhiều bài toán NL, trong đó có bài toán tìm câu hỏi tương đồng như trình bày phần trên. Việc xây dựng mô hình BERT cho bài toán tìm câu hỏi tương đồng như trên có nhược điểm đó là thời gian trong quá trình suy diễn. Khi có một câu hỏi mới được đăng lên hệ thống, mô hình cần thực hiện một lượng tính toán lớn để tính lại các biểu diễn của các
(a) ABCNN (b) BERT-multilingual
(c) BERT4Vn (d) BERT4ECOMMERCE
Hình 4.5: Trực quan hóa ma trận trọng số chú ý của các mô hình BERT với mô hình ABCNN
câu trong kho dữ liệu. Giả sử trong kho dữ liệu có khoảng n câu hỏi có sẵn, có
m câu hỏi mới được đăng lên như vậy số lần học ra biểu của n câu hỏi phải học
lại m lần. Việc xây dựng mô hình BERT như trên sẽ không hiệu quả về mặt
thời gian với bài toán tìm kiếm câu hỏi tương đồng. Do đó, mô hình SBERT [104] với kiến trúc mạng bộ ba (Triplet) được sử dụng để học biểu diễn của câu có ý nghĩa về mặt ngữ nghĩa chỉ một lần duy nhất trong quá trình huấn luyện thay vì họcm lần như mô hình BERT vớim câu truy vấn. Trong quá trình huấn luyện, câu hỏi trong kho dữ liệu ánh xạ sang không gian có số chiều cố định. Khi có câu hỏi mới được đưa vào hệ thống, mô hình sẽ suy diễn để tính ra véc tơ biểu diễn của câu hỏi mới. Sau đó, hệ thống chỉ cần tính độ tương đồngcosin
của các cặp câu hỏi để so sánh mức độ tương đồng của chúng. Mô hình này có thể áp dụng cho nhiều bài toán khác như so sánh độ tương tự về mặt ngữ nghĩa, phân cụm, tìm kiếm thông tin qua việc tìm kiếm về mặt ngữ nghĩa.
4.5.1. Mô hình SBERT cho bài toán tìm câu hỏi tương đồng
Mô hình SBERT được đề xuất bởi Reimer và các cộng sự [104] và được áp dụng cho bài toán hồi quy cặp câu (sentence-pair regression task) trên tập dữ liệu chuẩn STS (Semantic Textual Siminarity). Hình 4.6 mô tả kiến trúc của mô hình SBERT sử dụng BERT tìm câu hỏi tương đồng trên tập dữ liệu thương mại
điện tử tiếng Việt có nhãn. SBERT được tạo ra dựa vào mạng bộ ba (Triplet) [131] để cập nhật trọng số và tạo ra biểu diễn câu có ý nghĩa. Sau đó, độ tương tự cosin được sử dụng để tính toán độ đương đồng của câu hỏi.
Mô hình SBERT được thêm một phép toán gộp (pooling operation) để đưa ra véc tơ biểu diễn câu. Ba cách sau đây được sử dụng để lấy biểu diễn của câu: thứ nhất là sử dụng véc tơ đầu raCLS của BERT; thứ hai là lấy trung bình của các đầu ra của các từ (MEAN-strategy); thứ ba là sử dụng giá trị lớn nhất của các véc tơ đầu ra (MAX-strategy).
Hàm mục tiêu Triplet của mô hình SBERT như sau:
L= S
X
1
max(||sa−sq|| − ||sa−sn||+,0), (4.3)
trong đó: câu hỏi gốc làa, câu hỏi tốt (positive question, câu hỏi tương đồng với câu hỏi gốc, có nhãn là1) là p và câu hỏi không tương đồng (negative question, câu hỏi không tương đồng với câu hỏi gốc, có nhãn là 0) kí hiệu là n. Hàm mất mát Triplet sẽ điều chỉnh quá trình học của mạng sao cho khoảng cách giữa a
và q luôn nhỏ hơn khoảng cách giữa a và n. sa, sp, sn là véc tơ biểu diễn của câua, p, n. S là số cặp bộ ba (a, q, n). Khoảng cách Euclidean và biên được sử dụng để đảm bảo rằngsp ít nhất là gần sa hơn sn (chúng ta muốn khoảng cách giữa ||sa−sq||, ||sa −sn|| ít nhất là lớn hơn ).
Ở bước huấn luyện, mô hình SBERT tính véc tơ biểu diễn của các câu hỏi trong kho dữ liệu trong một không gian có số chiều cố định. Ở bước suy diễn, khi có câu hỏi mới được đăng lên hệ thống, câu hỏi này được đưa vào mô hình SBERT để học ra biểu diễn câu. Sau đó, độ đo tương đồng Cosin của các cặp câu hỏi gốc (mới) với các câu hỏi đã có được tính và sắp xếp các câu hỏi đã cho theo thứ tự từ cao đến thấp theo mức độ liên quan tới câu hỏi mới. Ba nhánh của mô hình SBERT được chia sẻ cùng một bộ trọng số.
4.5.2. Các kết quả thử nghiệm
Các tham số của mô hình SBERT được chọn như sau: Giá trị biên được chọn
= 1 trong hàm mục tiêu tại công thức 4.3. Số chiều của các véc tơ biểu diễn câu là 768 chiều. Trên tập dữ liệu huấn luyện có nhãn, số cặp câu là 72.711 cặp trên tập huấn luyện (cặp 3 câu: gồm câu hỏi gốc, câu hỏi có nhãn positive và câu hỏi nhãn negative với câu hỏi gốc). Tập dữ liệu huấn luyện bộ 3 được tạo ra như sau: với mỗi câu hỏi gốc ở dữ liệu ban đầu có 10 câu hỏi liên quan được
Hình 4.6: Mô hình SBERT với kiến trúc bộ ba để học ra biểu diễn câu trong không gian có số chiều thấp cố định
gán nhãn là 1 và 0. Sau đó, với mỗi câu hỏi gốc được bổ sung thêm 30 câu có nhãn 0 ở câu hỏi gốc khác.
Mô hình SBERT chia sẻ chung một bộ trọng số. Do đó khi câu hỏi mới được đưa vào chỉ cần suy diễn để tính biểu diễn của câu hỏi này. Thuật toán tối ưu Adam được sử dụng với tốc độ học là 2.e−5, kích thước mỗi lô là 64, thời gian huấn luyện mất 2 ngày trên GPU Tesla V100.
Bảng 4.7: Bảng so sánh độ đo MAP và thời gian của mô hình BERT và SBERT trên tập dữ liệu tiếng Việt.
Mô hình MAP Thời gian (giây)
(1) BERT4ECOMMERCE 70,50 46,113(GPU)/795,0(CPU)
(2) BERT(CLS) 56,60
(3) SBERT(CLS pooling) 64,70 0,153(GPU)/0,828(CPU) (4) SBERT(MEAN pooling) 60,83
(5) SBERT(MAX pooling) 60,16
(6) SBERT(MLP) 256 chiều 52,00 –
Bảng 4.7 so sánh kết quả MAP và thời gian suy diễn của mô hình BERT (cụ thể là BERT4ECOMMERCE) và SBERT. Các chiến lược dùng véc tơ <CLS>, tổng hợp lấy Max, Mean và MLP được sử dụng để đánh giá việc lựa chọn cách lấy biểu diễn câu. Để đánh giá tốc độ xử lý, khi một câu hỏi mới được suy diễn trên mô hình BERT4ECOMMERCE và mô hình SBERT trên toàn bộ dữ liệu
Bảng 4.8: Độ đo MAP của SBERT với các hàm mất mát khác nhau Hàm mất mát MAP Triplet 64.70 Cross-entropy 45.00 Contrastive 55.01 Multiple negative 47.15
trong tập kiểm thử được thực hiện đo thời gian. Thời gian tính bằng giây trên CPU với cấu hình: Xeon(R) CPU X5647 @ 2.93GHz 16 luồng và trên GPU với cấu hình: GTX 1070 Ti 8GB.
Nhìn chung, kết quả cho thấy rằng tuy độ đo MAP của các mô hình SBERT thấp hơn so với mô hình BERT4ECOMMERCE nhưng cao hơn so với mô hình BERT gốc. Cụ thể mô hình SBERT với cách tổng hợp ra biểu diễn câu dùng véc tơ <CLS> cho kết quả tốt nhất là 64,70%, cao hơn so với cách tổng hợp biểu diễn câu từ MEAN, Max và MLP. Mô hình SBERT với tổng hợp biểu diễn câu dùng véc tơ <CLS> thấp hơn mô hình BERT4ECOMMERCE là 5,8% là do mô hình SBERT khi đo độ tương đồng giữa hai câu (câu hỏi mới với câu hỏi đã có) chỉ dùng độ đo Cosin của hai véc tơ riêng biệt mà không có sự tương tác giữa hai câu. Tuy nhiên, thời gian suy diễn với mỗi câu hỏi mới của SBERT nhanh hơn BERT4ECOMMERCE 960 lần trên CPU và 301 lần trên GPU.
Một phương pháp phổ biến đối với bài toán phân cụm và tìm kiếm theo ngữ nghĩa là tiến hành biểu diễn các câu sang một không gian véc tơ sao cho các câu mà tương tự với nhau về mặt ngữ nghĩa sẽ gần nhau. Nhiều nghiên cứu đã sử dụng mô hình BERT gốc để đưa ra biểu diễn câu trong không gian có số chiều cố định. Thông thường véc tơ < CLS >được dùng để lấy biểu diễn câu hoặc lấy trung bình của các véc tơ biểu diễn đầu ra của từ làm biểu diễn cho câu. Cách làm này thường cho kết quả không tốt, và thường kém hơn so với các phương pháp học biểu diễn câu. Để chứng minh cho nhận xét này, việc lấy biểu diễn câu từ véc tơ <CLS> của mô hình huấn luyện BERT cũng được thực hiện để đánh giá và so sánh với SBERT (dòng 2 tại bảng 4.7). Bảng kết quả cũng chỉ ra rằng, biểu diễn câu dùng <CLS> của mô hình BERT tại bước tiền huấn luyện cho kết quả là 56,60%. Kết quả này thấp hơn so với SBERT là 8,10%. SBERT với kiến trúc mạng Triplet cho kết quả là 64,70% với độ đo MAP.
Cuối cùng, các kiến trúc với các hàm mục tiêu khác nhau của SBERT cũng được thử nghiệm đánh giá trên tập dữ liệu tiếng Việt. SBERT có thể gồm hai hoặc nhiều đường BERT chia sẻ cùng bộ trọng số. Bảng 4.8 trình bày kết quả của SBERT với các hàm mất mát khác nhau: Cross-entropy, Contrastive và
multiple negative.
• SBERT với hàm mất mát Cross-entropy: Lớp Softmax được thêm vào trong mô hình để dự đoán và sử dụng hàm Cross-entropy được tối ưu để học các tham số của mô hình. Hàm mất mát như sau:
L=−1 S S X i=1 (yi.log(ybi) + (1−yi).log(1−ybi)), (4.4)
trong đó S là số cặp câu hỏi, yi và ybi là giá trị thật và giá trị dự đoán. • SBERT với hàm mất mát Contrastive: Không giống như hàm Cross-entropy
là học dự đoán một nhãn, mục tiêu của hàm constrastive là dự đoán khoảng cách liên quan giữa các câu hỏi. Hàm Contrastive sử dụng cặp câu hỏi bao gồm câu hỏi gốc và câu hỏi có nhãn positive hoặc negative. Hàm này có nghĩa là nếu cặp câu hỏi gốc và câu hỏi có nhãn là positive thì khoảng cách sẽ được kéo lại gần nhau. Ngược lại thì khoảng cách sẽ kéo ra xa. Hàm Contrastive [132] như sau:
L= 1 S N X i=1 [(1−y).1 2.(DW) 2+y.1 2.{max(0, −DW)}2], (4.5) trong đó y là 1 (tương ứng là cặp câu hỏi gốc với câu hỏi positive) hoặc 0 (tương ứng cặp câu hỏi gốc và câu hỏi negative).DW là khoảng cách euclid giữa hai câu hỏi, là lề (margin).
• SBERT sử dụng hàm multiple negatives: Trong tập dữ liệu tiếng Việt, số lượng câu hỏi positive nhỏ hơn số lượng câu hỏi negative với cùng một câu hỏi gốc. Một hướng giải quyết khác là kết hợp các câu hỏi negative đồng thời vào hàm mất mát thay vì chỉ có một câu hỏi negative trong kiến trúc bộ ba Triplet. Hàm mất mát multiple negative [133] như sau:
L=−1 S. 1 K. K X i=1 [S(xi, yi)−log K X j=1 .eS(xi,yj)], (4.6)
trong đó (yi, xi) là câu hỏi gốc và câu hỏi positive, (yi, xj), j 6= i là câu hỏi gốc và các câu hỏi negative, S(xi, yi) là khoảng cách của hai câu hỏi. Trong công thức này, K-1 câu hỏi negative được đưa vào mạng cùng một lúc. Kết quả tại bảng 4.8 cho thấy rằng, mô hình học với hàm ranking loss phù hợp với học biểu diễn hơn dùng hàm Cross-entropy. Trong đó, SBERT với hàm
Triplet cho kết quả tốt hơn so với Contrastive. Có hai lý do để hàm Triplet hoạt động tốt hơn hàm Contrastive. Thứ nhất, do hàm Triplet thực hiện bộ ba các câu hỏi gốc, câu hỏi positive và negative một cách đồng thời nên không sử dụng một ngưỡng để phân biệt cặp câu positive và cặp câu negative. Thứ hai, hàm Triplet chỉ yêu cầu các câu positive gần nhau hơn các câu negative. Trong khi hàm Contrastive cần càng nhiều cặp câu positive thì càng tốt. Tính hiệu quả của hàm Triplet không những phụ thuộc vào bản thân hàm mà còn phụ thuộc vào cách lấy mẫu. Trong khi đó để thực hiện hàm multiple negative cần phải tạo ngẫu nhiên nhiều mẫu negative từ các câu hỏi gốc khác nhau. Các mẫu negative ngẫu nhiên thường không chứa các câu chứa nhiều thách thức. Các nghiên cứu cũng chỉ ra rằng hàm Triplet cho kết quả cao hơn các hàm Contrastive khi lấy mẫu ngẫu nhiên.
4.6. Kết luận chương 4
Tóm lại, chương 4 của luận án đặt được một số kết quả như sau:
• Mô hình BERT được điều chỉnh cho bài toán tìm câu hỏi tương đồng trên dữ liệu tiếng Việt với miền thương mại điện tử sử dụng từ nhúng được huấn luyện trên các miền dữ liệu khác nhau. Kết quả cho thấy mô hình BERT cho kết quả tốt hơn các mô hình LSTM/CNN thông thường. Đặc biệt BERT4ECOMMERCE cho kết quả tốt nhất khi sử dụng từ nhúng được huấn luyện trên miền dữ liệu cùng với miền dữ liệu của bài toán đích.
• Mô hình SBERT được đề xuất để học biểu diễn câu giúp giảm thời gian
tìm kiếm câu hỏi. Mô hình SBERT đáp ứng yêu cầu người dùng tốt hơn với thời gian nhanh hơn rất nhiều lần so với mô hình BERT.
Kết quả của chương 4 được trình bày trong hai bài báo: "Utilizing BERT for Question Retrieval in Vietnamese E-commerce sites" tại hội thảo về tính
toán ngôn ngữ và thông tin Châu Á Thái Bình Dương PACLIC20208 lần thứ
34 và "Utilizing SBERT for Finding Similar Question in Community Question Answering" tại hội thảo KSE 2021 lần thứ 139.
8https://aclanthology.org/2020.paclic-1.11.pdf
KẾT LUẬN
Trong luận án, một số bài toán quan trọng trong hệ thống hỏi đáp cộng đồng được nghiên cứu như bài toán lựa chọn câu trả lời tốt nhất, bài toán tóm tắt các câu trả lời và bài toán tìm câu hỏi tương đồng. Luận án trình bày chi tiết các tiếp cận giải các bài toán này trên cơ sở đề xuất một số mô hình phù hợp để giải quyết các bài toán của hệ thống hỏi đáp CQA. Tính hiệu quả của các mô hình đề xuất được xem xét trên cả khía cạnh thực nghiệm và giải thích thực nghiệm.
A. Kết quả đạt được của luận án
Với kết cấu luận án gồm 4 chương, các kết quả chính đạt được của luận án có thể được tóm tắt như sau:
(1) Luận án đề xuất cách kết hợp giữa mô hình học sâu match-LSTM với cơ chế chú ý có giám sát để giải quyết bài toán lựa chọn câu trả lời. Mô hình này là một mô hình học sâu mạng nơ ron dựa vào cơ chế chú ý theo từ giúp học ra 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. Mô hình đề xuất học ra ma trận trọng số chú ý tốt hơn so với mô hình gốc trên tập dữ liệu trên mạng xã hội. Đồng thời mô hình đề xuất giúp cho bài toán dự đoán tốt hơn mô hình gốc và cho kết quả tương đương với các đội tốt nhất trong cuộc thi Semeval 2017 trên bài toán tìm câu trả lời của hệ thống CQA.
(2) Tiếp theo chủ đề về đảm bảo chất lượng câu trả lời, bài toán tóm tắt câu trả lời được xem xét và giải quyết. Phương pháp tóm tắt sử dụng mô hình học không giám sát để biểu diễn câu và thuật toán MMR trích rút ra tập tóm tắt được đề xuất để giải quyết bài toán này. Phương pháp biểu diễn câu trên mô hình không giám sát cho kết quả tương tương với phương pháp biểu diễn câu có giám sát.
(3) Để tiếp cận bài toán tìm câu hỏi tương đồng, mô hình BERT4ECOMMERCE được thực hiện trên tập dữ liệu tiếng Việt trên miền thương mại điện tử. Mô hình BERT được điều chỉnh trên bài toán tìm câu hỏi tương đồng sử dụng từ nhúng được huấn luyện trên nguồn dữ liệu tiếng Việt khác nhau. Kết quả cho thấy rằng khi dữ liệu của bài toán đích với dữ liệu pha tiền huấn luyện cùng trên miền thương mại điện tử của Thế giới di động cho kết
quả tốt nhất. Nhìn chung các mô hình BERT cho kết quả tốt hơn hẳn so với các mô hình học sâu khác. Đồng thời trong chương này, mô hình SBERT cũng được đề xuất để giải quyết bài toán tìm câu hỏi tương đồng với mục đích rút ngắn thời gian suy diễn từ O(m.n) xuống còn O(m). Mô hình này giúp cho hệ thống đáp ứng yêu cầu về thời gian phản hồi lại người dùng tốt hơn.
Các mô hình đề xuất trên đáp ứng tốt các yêu cầu của các bài toán trên hệ thống CQA. Các mô hình này có thể triển khai áp dụng trực tiếp vào hệ thống CQA.
B. Định hướng phát triển
Trong luận án, các mô hình đã được đề xuất để giải quyết một số bài toán hỏi đáp cộng đồng. Các mô hình này cho thấy rằng nó rất phù hợp và hiệu quả trên dữ liệu cộng đồng. Tuy nhiên các cải tiến này được thực hiện trên các bộ dữ liệu CQA khác nhau. Một số công việc sau đây sẽ được tiếp tục thực hiện