1. Trang chủ
  2. » Luận Văn - Báo Cáo

BERT-NEWSREC: MÔ HÌNH GỢI Ý TIN TỨC HIỆU QUẢ ĐIỂM CAO

97 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề BERT-NewsRec: Mô Hình Gợi Ý Tin Tức Hiệu Quả
Tác giả Nguyễn Văn Nga
Người hướng dẫn ThS. Ngô Văn Linh
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Khoa học máy tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 97
Dung lượng 2,64 MB

Nội dung

Công Nghệ Thông Tin - Công nghệ thông tin - Quản trị kinh doanh TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒ ÁN TỐT NGHIỆP BERT-NewsRec: mô hình gợi ý tin tức hiệu quả NGUYỄN VĂN NGA nga.nv173279sis.hust.edu.vn Ngành: Khoa học máy tính Chuyên ngành: Trí tuệ nhân tạo ứng dụng Giảng viên hướng dẫn: ThS. Ngô Văn Linh Chữ kí GVHD Khoa: Khoa học máy tính Trường: Công nghệ thông tin và Truyền thông HÀ NỘI, 072022 LỜI CAM KẾT Họ và tên sinh viên: Nguyễn Văn Nga Điện thoại liên lạc: 033.891.4547 Email: nga.nv173279sis.hust.edu.vn Lớp: KHMT01-K62 Hệ đào tạo: Kỹ sư chính quy Tôi – Nguyễn Văn Nga – cam kết Đồ án Tốt nghiệp (ĐATN) là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Thạc sỹ Ngô Văn Linh . Các kết quả nêu trong ĐATN là trung thực, là thành quả của riêng tôi, không sao chép theo bất kỳ công trình nào khác. Tất cả những tham khảo trong ĐATN – bao gồm hình ảnh, bảng biểu, số liệu, và các câu từ trích dẫn – đều được ghi rõ ràng và đầy đủ nguồn gốc trong danh mục tài liệu tham khảo. Tôi xin hoàn toàn chịu trách nhiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường. Hà Nội, ngày 12 tháng 07 năm 2022 Tác giả ĐATN Nguyễn Văn Nga LỜI CẢM ƠN Trong quá trình thực hiện đồ án, em xin chân thành cảm ơn Thạc sỹ Ngô Văn Linh đã tận tình giúp đỡ, hướng dẫn em để hoàn thành tốt đồ án tốt nghiệp này. Bên cạnh đó, em cũng mong muốn gửi lời biết ơn sâu sắc tới các thầy cô trong đội ngũ giảng viên của Trường Công nghệ thông tin và Truyền thông - trực thuộc Trường Đại học Bách Khoa Hà Nội, những người đã trang bị cho em hành trang kiến thức trong suốt 5 năm học vừa qua; làm nền tảng vững chắc để em có thể hoàn thiện đồ án, cũng như là "nguồn vốn" vô cùng quý giá để em tiếp tục bước đi trên con đường sự nghiệp của mình. Con xin cảm ơn gia đình, cảm ơn ba mẹ, anh chị, các cháu gái Ngọc Lan, Ngọc Hân - nguồn động lực vô tận giúp con vượt qua mọi thử thách trong cuộc sống. Con cảm ơn mọi người đã luôn bên con, luôn đứng đằng sau con, quan tâm, lo lắng... Con có những bước tiến dài đến ngày hôm nay, tất cả là nhờ năng lượng yêu thương của tất cả mọi người. Cuối cùng, xin cảm ơn những khó khăn, những thử thách đã đến với tôi trong những năm vừa qua. Cảm ơn rất nhiều vì đã đến trong cuộc đời thanh xuân của tôi, đã khiến tôi từng cảm thấy mệt mỏi, trùng bước; nhưng sau cùng, vẫn đưa cho tôi những cơ hội, những con đường, những cánh cửa hy vọng; để từng ngày, tôi nhận thấy mình trưởng thành hơn, mạnh mẽ hơn, can đảm hơn. TÓM TẮT NỘI DUNG ĐỒ ÁN Ngày nay, hệ gợi ý (recommender system) đóng vai trò ngày càng quan trọng trong sự thành công của các ứng dụng hoạt động trong lĩnh vực cung cấp nội dung số. Gợi ý tin tức (news recommendation) - một nhánh nghiên cứu con của hệ gợi ý; đã và đang thu hút rất nhiều sự quan tâm của các nhà khoa học. Các cách tiếp cận chính trong gợi ý tin tức chủ yếu tập trung vào khai thác nội dung văn bản giàu thông tin của tin bài. Cụ thể, các kiến trúc mã hóa tin bài (news encoder) đã được đề xuất, tận dụng các mô hình phổ biến trong lĩnh vực xử lý ngôn ngữ tự nhiên để tạo ra biểu diễn vector cho tin bài. Trên cơ sở đó, người ta xây dựng khối mã hóa người dùng (user encoder) kết hợp các vector biểu diễn những tin bài mà người dùng đã tương tác trong quá khứ để tạo ra vector biểu diễn duy nhất đại diện cho sở thích của người dùng. Sau khi đã có vector biểu diễn cho tin bài cũng như người dùng, người ta cho đi qua một khối tính điểm tương tác (scoring) để tính điểm dự đoán tương tác. Các kết quả thực nghiệm đã cho thấy các cách tiếp cận hiện tại có những thành công nhất định trong việc đưa ra các mục tin bài gợi ý có mức độ liên quan nhất định; phù hợp với thói quen, sở thích của người dùng được thể hiện qua các tin bài lịch sử của họ. Dựa trên các mô hình kiến trúc hiện có, em nhận thấy tiềm năng của việc sử dụng thêm các thông tin phụ trợ trong quá trình học biểu diễn của người dùng - bên cạnh khai thác thông tin các vector mã hóa tin bài lịch sử của họ. Ngoài ra, một điểm hạn chế nữa của các nghiên cứu hiện tại là chưa quan tâm đến việc học ra biễu diễn vector có mức độ phản ánh nhất định sự tương đồng hay tương phản trong hành vi của người dùng; cụ thể, về mặt trực giác, những người dùng có hành vi tương đồng nên có biểu diễn mã hóa nằm gần nhau hơn trong không gian vector, và ngược lại. Với 2 lý luận trên, em đã tiến hành nghiên cứu, đề xuất một mô hình gợi ý tin tức có tên BERT-NewsRec. Mô hình sử dụng kiến trúc BERT 1 để học ra tương tác giữa các tin bài trong lịch sử của người dùng, tạo ra biểu diễn theo ngữ cảnh; bên cạnh đó là việc kết hợp thêm kênh mã hóa thông tin phụ trợ giúp làm tăng thêm khả năng biểu diễn cho mô hình, giúp cho mô hình học được vector mã hóa người dùng chính xác hơn, phản ánh đúng hơn sở thích của họ. Ngoài ra, một biến thể khác có tên BERT-NewsRecv2 được giới thiệu với việc tận dụng framework học tương phản (contrastive learning) 2 3 4 để có thể học được biểu diễn vector phản ánh sự tương đồng - tương phản trong hành vi của người dùng. Một điểm đáng chú ý đó là trong quá trình huấn luyện mô hình BERT-NewsRecv2, em đã sử dụng phương pháp Nash-MTL (Nash Multi-task Learning 5) để học ra bộ trọng số tối ưu cho việc kết hợp hàm mất mát gợi ý (recommend loss) và hàm mất mát học tương phản (contrastive loss) nhằm giảm thiểu vấn đề xung đột gradient (gradient conflict). Các kết quả thực nghiệm trên bộ dữ liệu cho thấy hiệu quả của BERT-NewsRec so với các mô hình gợi ý sử dụng các khối mã hóa người dùng truyền thống. Đồng thời, với việc sử dụng học tương phản trong biến thể BERT-NewsRecv2, hiệu năng của mô hình trên tác vụ gợi ý đã cho thấy sự cải thiện đáng kể. Cuối cùng, trong quá trình nghiên cứu, khảo sát; em nhận thấy vấn đề nghiêm trọng của việc thiếu tính đa dạng trong kết quả gợi ý của mô hình, đặc biệt là đối với nhóm người dùng mới, có lịch sử tương tác ít. Với việc các tin bài trả về chỉ xoay quanh một nội dung, lâu dần sẽ khiến người dùng cảm thấy nhàm chán, dẫn tới "hệ quả ngược". Để giải quyết vấn đề này, em đề xuất sử dụng framework tối ưu đa mục tiêu 6 trong hậu xử lý kết quả gợi ý của mô hình: vừa đảm bảo các mục đề xuất có điểm dự đoán tương tác ở mức đủ tốt, vừa giảm thiểu mức độ trùng lặp nội dung của các tin bài đề xuất so với các tin bài lịch sử của người dùng. Qua quá trình quan sát, đánh giá, em nhận thấy phần nào hiệu quả của bước hậu xử lý này trong việc tăng cường tính phong phú, đa dạng của các tin bài gợi ý. MỤC LỤC CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI......................................................... 1 1.1 Bài toán gợi ý tin tức............................................................................. 1 1.2 Các giải pháp hiện tại và hạn chế ........................................................... 1 1.3 Đóng góp của đồ án .............................................................................. 4 1.4 Bố cục đồ án ........................................................................................ 5 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT .................................................. 7 2.1 Hệ gợi ý tin tức..................................................................................... 7 2.1.1 Tổng quan lược đồ gợi ý tin tức ................................................... 7 2.1.2 Mô hình CNN (Convolutional Neural Network) ............................ 8 2.1.3 Mô hình GRU (Gated Recurrent Units) ........................................ 9 2.1.4 Mô hình chú ý cộng (Additive Attention) ..................................... 12 2.1.5 Mô hình Transformer.................................................................. 14 2.1.6 Mô hình Fastformer.................................................................... 16 2.1.7 Xây dựng mô hình gợi ý ............................................................. 19 2.2 Học tương phản (contrastive learning) .................................................... 23 2.2.1 Tổng quan về học tương phản ...................................................... 23 2.2.2 Tăng cường dữ liệu (data augmentation) ....................................... 23 2.2.3 Mạng nơ-ron mã hóa (encoder network)....................................... 24 2.2.4 Hàm mất mát (loss function) ....................................................... 24 2.3 Sơ lược về tối ưu đa mục tiêu ................................................................. 26 2.3.1 Phát biểu bài toán tối ưu đa mục tiêu............................................ 26 2.3.2 Tính trội, mặt Pareto trong tối ưu đa mục tiêu ............................... 27 2.3.3 Một số cách tiếp cận trong giải bài toán tối ưu đa mục tiêu ............ 28 2.4 Nash-MTL (Nash Multi-task learning) trong học đa tác vụ với mạng học sâu............................................................................................................ 31 2.4.1 Học đa tác vụ trong mạng học sâu ............................................... 31 2.4.2 Phương pháp Nash-MTL cho việc kết hợp hàm mất mát của các tác vụ ................................................................................................ 32 CHƯƠNG 3. PHƯƠNG PHÁP ĐỀ XUẤT................................................ 39 3.1 Mô hình gợi ý BERT-NewsRec (BERT News Recommendation)............... 39 3.1.1 Khối mã hóa tin bài (News encoder) ............................................ 39 3.1.2 Khối mã hóa thông tin phụ trợ (Side feature encoder) .................... 41 3.1.3 Khối mã hóa người dùng (User encoder) ...................................... 41 3.1.4 Khối tính điểm tương tác (Scoring).............................................. 42 3.1.5 Hàm mất mát cho bài toán gợi ý .................................................. 42 3.2 Mô hình gợi ý BERT-NewsRecv2 (BERT News Recommendation Version 2 with Contrastive Learning) ....................................................................... 42 3.2.1 Sơ đồ hoạt động ......................................................................... 42 3.2.2 Các phép tăng cường dữ liệu (data augmentation) ......................... 43 3.2.3 Xác định bộ trọng số kết hợp 2 hàm mất mát ................................ 48 3.3 Giải quyết vấn đề đa dạng (diversity) trong hệ gợi ý................................. 49 3.3.1 Vấn đề thiếu tính đa dạng trong hệ gợi ý tin tức............................. 49 3.3.2 Giải pháp tăng tính đa dạng cho hệ gợi ý tin tức ............................ 50 CHƯƠNG 4. ĐÁNH GIÁ THỰC NGHIỆM............................................. 55 4.1 Kết quả đánh giá hiệu năng của mô hình gợi ý......................................... 55 4.1.1 Bộ dữ liệu, cấu hình ................................................................... 55 4.1.2 Hiệu quả của mô hình đề xuất BERT-NewsRec............................. 56 4.1.3 Hiệu năng của BERT-NewsRec với số lượng tầng Transformer khác nhau .......................................................................................... 62 4.1.4 Hiệu năng của BERT-NewsRec với các nhóm người dùng khác nhau.................................................................................................. 62 4.1.5 Hiệu quả của học tương phản trong BERT-NewsRecv2 ................ 64 4.1.6 Hiệu quả của Nash-MTL trong cân bằng giữa hàm mất mát gợi ý (recommend loss) và hàm mất mát học tương phản (contrastive loss) ...... 67 4.2 Xây dựng trang web demo minh họa hoạt động của mô hình gợi ý ............ 68 4.2.1 Kiến trúc của hệ thống web demo ................................................ 68 4.2.2 Một số kết quả gợi ý của hệ thống................................................ 69 4.2.3 Hiệu quả của tối ưu đa mục tiêu trong giải quyết vấn đề đa dạng của hệ gợi ý tin tức ............................................................................. 69 CHƯƠNG 5. KẾT LUẬN ........................................................................ 72 5.1 Kết luận ............................................................................................... 72 5.2 Hướng phát triển trong tương lai ............................................................ 72 TÀI LIỆU THAM KHẢO......................................................................... 75 PHỤ LỤC................................................................................................. 77 A. CHỨNG MINH TÍNH ĐÚNG ĐẮN CỦA LỜI GIẢI TỐI ƯU ĐA MỤC TIÊU NASH-MTL .......................................................................... 77 A.1 Phát biểu............................................................................................. 77 A.2 Chứng minh ........................................................................................ 77 B. CÁC ĐỘ ĐO TRONG ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ GỢI Ý....... 79 B.1 Độ đo AUC ......................................................................................... 79 B.1.1 True Positive Rate, False Positive Rate ........................................ 79 B.1.2 ROC (Receiver Operator Characteristic) ...................................... 80 B.2 Độ đo MRR......................................................................................... 82 B.3 Độ đo NDCG....................................................................................... 83 DANH MỤC HÌNH VẼ Hình 2.1 Lược đồ kiến trúc tổng quan của một mô hình gợi ý tin tức . . 8 Hình 2.2 Hoạt động của phép nhân tích chập . . . . . . . . . . . . . . . 9 Hình 2.3 Phép padding trong nhân tích chập . . . . . . . . . . . . . . . 10 Hình 2.4 Mạng nơ-ron hồi quy - recurrent neural network . . . . . . . . 11 Hình 2.5 Kiến trúc của mô hình GRU . . . . . . . . . . . . . . . . . . . 11 Hình 2.6 Kiến trúc mạng dịch máy với chú ý cộng (Additive Attention) 13 Hình 2.7 Sự phụ thuộc của các từ vựng đầu ra đối với các từ vựng đầu vào của mô hình dịch máy . . . . . . . . . . . . . . . . . . . . . . . 14 Hình 2.8 Sơ đồ kiến trúc mô hình Transformer . . . . . . . . . . . . . . 15 Hình 2.9 Minh họa việc tích hợp thêm thông tin vị trí cho mô hình Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Hình 2.10 Sơ đồ kiến trúc mô hình Fastformer . . . . . . . . . . . . . . . 18 Hình 2.11 Sơ đồ kiến trúc mô hình gợi ý tin tức NAML . . . . . . . . . . 20 Hình 2.12 Sự khác nhau giữa mức độ đặc trưng ngữ nghĩa của các từ trong câu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Hình 2.13 Sơ đồ kiến trúc mô hình gợi ý tin tức NRMS . . . . . . . . . . 22 Hình 2.14 Minh họa sự tương tác giữa các từ trong một văn bản . . . . . 22 Hình 2.15 Một số phép tăng cường dữ liệu (data augmentation) đối với dữ liệu ảnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Hình 2.16 Sơ đồ hoạt động của hệ thống học tương phản (contrastive learning) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Hình 2.17 Hiệu năng top 1-accuracy của mô hình học tương phản trên bộ dữ liệu ImageNet ILSVRC-2012 . . . . . . . . . . . . . . . . . . 27 Hình 2.18 Minh họa mặt Pareto của bài toán tối ưu đa mục tiêu . . . . . . 28 Hình 2.19 Minh họa hai loại hình dạng khác nhau của mặt tối ưu Pareto. 28 Hình 2.20 Giải bài toán tối ưu đa mục tiêu bằng phương pháp tổng có trọng số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Hình 2.21 Minh họa giải bải toán tối ưu đa mục tiêu bằng phương pháp ràng buộc hóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Hình 2.22 Kiến trúc mô hình mạng nơ-ron học đa tác vụ . . . . . . . . . 31 Hình 2.23 Vấn đề xung đột gradient (gradient conflict) trong học đa tác vụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Hình 2.24 Hiệu quả của Nash-MTL trong việc tìm ra hướng cập nhật trọng số tốt cho tất cả các tác vụ . . . . . . . . . . . . . . . . . . . . 37 i Hình 3.1 Kiến trúc mô hình gợi ý tin tức BERT-NewsRec . . . . . . . . 40 Hình 3.2 Sơ đồ kiến trúc mô hình gợi ý tin tức BERT-NewsRecv2 . . . 43 Hình 3.3 Toán tử tăng cường dữ liệu cắt mục tin bài (item crop) . . . . . 44 Hình 3.4 Toán tử tăng cường dữ liệu che mục tin bài (item mask) . . . . 45 Hình 3.5 Toán tử tăng cường dữ liệu đảo thứ tự mục tin bài (item reorder) 46 Hình 3.6 Toán tử tăng cường dữ liệu thay thế mục tin bài (substitute) . . 47 Hình 3.7 Toán tử tăng cường dữ liệu chèn mục tin bài (insert) . . . . . . 47 Hình 3.8 Cách thức xác định trọng số cho hàm mất mát gợi ý (recommend loss) và hàm mất mát học tương phản (contrastive loss) với Nash- MTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Hình 3.9 Lịch sử các bài viết tương tác bởi người dùng . . . . . . . . . . 50 Hình 3.10 Sự thiếu tính đa dạng trong các bài viết được đề xuất bởi mô hình gợi ý tin tức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Hình 4.1 Sơ đồ hoạt động của khối mã hóa tin bài (news encoder) . . . 57 Hình 4.2 Visualize vector biểu diễn mã hóa của tin bài . . . . . . . . . . 60 Hình 4.3 Phân bổ trọng số chú ý (attention weight) của các loại thuộc tính khác nhau trong biểu diễn tin bài . . . . . . . . . . . . . . . . . 61 Hình 4.4 Hiệu năng AUC của mô hình BERT-NewsRec với số lượng tầng Transformer khác nhau . . . . . . . . . . . . . . . . . . . . . . 63 Hình 4.5 Hiệu năng AUC của mô hình gợi ý ở các độ dài lịch sử tương tác khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Hình 4.6 Biểu đồ histogram của giá trị độ lệch chuẩn của biểu diễn người dùng trên các chiều ẩn . . . . . . . . . . . . . . . . . . . . . . 66 Hình 4.7 Sơ đồ luồng hoạt động của hệ thống web demo . . . . . . . . . 68 Hình 4.8 Ví dụ cho lịch sử người dùng quan tâm đến vấn đề chính trị . . 70 Hình 4.9 Kết quả các tin bài gợi ý của hệ thống dành cho người dùng quan tâm đến vấn đề chính trị . . . . . . . . . . . . . . . . . . . . . 70 Hình 4.10 Kết quả gợi ý của hệ thống sau khi áp dụng tối ưu đa mục tiêu làm tăng tính đa dạng . . . . . . . . . . . . . . . . . . . . . . . . 71 Hình B.1 Ma trận nhầm lẫn (confusion matrix) của bài toán phân loại nhị phân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Hình B.2 Sự ảnh hưởng của ngưỡng phân loại tới hiệu năng của mô hình 80 Hình B.3 Minh họa đường cong ROC thể hiện tương quan giữa hai giá trị TPR và FPR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Hình B.4 Giá trị Reciprocal Rank (RR) của các câu truy vấn khác nhau . 82 DANH MỤC BẢNG BIỂU Bảng 4.1 Hiệu năng mô hình gợi ý tin tức với các bộ mã hóa tin bài (news encoder) và mã hóa người dùng (user encoder) khác nhau . . 58 Bảng 4.2 Hiệu năng trung bình của các bộ mã hóa tin bài (news encoder) khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Bảng 4.3 Hiệu năng trung bình của các bộ mã hóa người dùng (user encoder) khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Bảng 4.4 Hiệu năng trên tác vụ gợi ý của các thí nghiệm không có và có sử dụng học tương phản . . . . . . . . . . . . . . . . . . . . . . . 64 Bảng 4.5 Độ lệch chuẩn trung bình trong các chiều biểu diễn ẩn của người dùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Bảng 4.6 Hiệu năng của tác vụ gợi ý trên thí nghiệm không có và có sử dụng 2 phép biến đổi thay thế mục tin bài (substitute) và chèn mục tin bài (insert) . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Bảng 4.7 Hiệu năng trên tác vụ gợi ý của các thí nghiệm không có và có sử dụng Nash-MTL . . . . . . . . . . . . . . . . . . . . . . . . . 67 iii DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT Thuật ngữ Ý nghĩa AUC Area Under the Curve of Receiver Characteristic Operator BERT Bidirectional Encoder Representation from Transformer BERT-NewsRec-v2 BERT News Recommendation Version 2 with Contrastive Learning BERT-NewsRec BERT News Recommendation BPR Bayesian Personalized Ranking CL4SRec Contrastive Learning for Sequential Recommendation CNN Convolutional neural network CoSeRec Contrastive Self-supervised Sequential Recommendation with Robust Augmentation DCG Discounted Cumulative Gain FN False negative FNR False negative rate FP False positive FPR False positive rate GRU Gated recurrent units IDCG Ideal Discounted Cumulative Gain LSTM Long-Short Term Memory MIND Microsoft News Dataset MOO Multi Objective Optimize MRR Mean Reciprocal Rank NAML Neural News Recommendation with Attentive Multi-view Learning Nash-MTL Nash Multi-task Learning NDCG Normalize Discounted Cumulative Gain NRMS Neural News Recommendation with Multi-head Self-Attention RNN Recurrent Neural Network iv Thuật ngữ Ý nghĩa ROC Receiver Operator Characteristic RR Reciprocal Rank TN True negative TNR True negative rate TP True positive TPR True positive rate CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI 1.1 Bài toán gợi ý tin tức Ngày nay, với sự bùng nổ của mạng Internet, người dùng đã có cơ hội thuận lợi để tiếp cận với nhiều nội dung số đến từ nhiều nguồn; nhiều lĩnh vực, thể loại khác nhau. Tuy nhiên, có một vấn đề bất cập nảy sinh khi tốc độ và khối lượng nội dung số sinh ra quá nhanh và quá lớn, khiến cho người dùng dễ bị "ngợp" và không biết đâu mới là bộ phim, ca khúc, tin tức,... mà mình cần quan tâm. Dựa trên cơ sở đó, yêu cầu xây dựng một hệ gợi ý (recommender system) với khả năng mạnh mẽ, có tính tin cậy cao trong việc đưa ra các mục sản phẩm mà người dùng có hứng thú và yêu thích đã trở thành một vấn đề cấp thiết cho bất cứ một sản phẩm công nghệ nào hoạt động trong lĩnh vực cung cấp nội dung số. Theo Mackenzie, có tới 35 sản phẩm mà người dùng đặt mua trên trang thương mại điện tử Amazon và 75 lượt xem phim trên trang web Netflix là hệ quả của các giải thuật gợi ý 7. Chúng ta có thể thấy rằng, hệ gợi ý đã và đang chiếm vai trò ngày càng quan trọng trong sự thành công của bất kỳ một ứng dụng chia sẻ nội dung nào. Gợi ý tin tức (news recommendation) là một nhánh con trong xây dựng hệ gợi ý - bên cạnh các rất nhiều lĩnh vực khác như gợi ý phim ảnh (movie recommendation), gợi ý sản phẩm (product recommendation), gợi ý hình ảnh (image recommendation). Nhìn chung, gợi ý tin tức có nhiều điểm tương đồng với các lĩnh vực khác xét về một số khía cạnh như các cách tiếp cận hay thách thức chính... Tuy nhiên, với đặc thù số lượng tin bài được sinh ra sau mỗi giờ là khá nhiều khiến cho dữ liệu tương tác của người dùng bị thưa, bên cạnh đó là khối lượng thông tin rất lớn, rất đa dạng mà chúng ta có thể khai thác từ nội dung của mỗi tin bài; tựu chung lại đã khiến lĩnh vực gợi ý tin tức được cho là gặp phải nhiều vấn đề thách thức, khó khăn riêng khi so với các lĩnh vực còn lại. Trong những năm vừa qua, đã có rất nhiều nghiên cứu, phương pháp đề xuất đã được giới thiệu, và đều đã đạt được những thành công nhất định trong việc tìm ra các giải thuật, các mô hình có khả năng cung cấp các tin bài phù hợp nhất với sở thích của người đọc; từ đó từng bước cải thiện trải nghiệm của người dùng, cũng như nâng cao độ trung thành của họ đối với trang tin. 1.2 Các giải pháp hiện tại và hạn chế Cho đến thời điểm hiện tại, các cách tiếp cận chính trong xây dựng hệ gợi ý tin tức chủ yếu xoay quanh việc tìm ra một mô hình có thể mã hóa chính xác nội dung của tin bài (news encoder) từ việc khai thác các thông tin như tiêu đề (title), tóm tắt (abstract), thể loại (category), thể loại con (subcategory)...; trên cơ sở đó, người ta tiến hành xây dựng mô hình mã hóa người dùng (user encoder) thông qua việc 1 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI kết hợp các vector mã hóa của các tin bài mà người dùng đã tương tác trong quá khứ thành một vector duy nhất biểu diễn cho sở thích của họ. Dưới đây là một số mô hình kiến trúc được sử dụng phổ biến cho 2 khối chức năng trên. Học bộ mã hóa tin bài (news encoder) Đối với bộ mã hóa tin bài (news encoder), đã có nhiều mô hình xử lý ngôn ngữ tự nhiên được các nhà nghiên cứu áp dụng thành công để có thể nắm bắt được nội dung tin bài trên cơ sở khai thác các nội dung dạng văn bản rất giàu thông tin. Một trong những phương pháp mã hóa phổ biến được sử dụng cho mục đích này là mạng nơ-ron tích chập (Convolutional neural network - CNN) nhằm học ra biểu diễn cục bộ của các từ vựng, từ đó trích rút ra biểu diễn vector cho toàn bộ văn bản. Tuy được kiểm chứng là có hiệu quả nhất định trong nắm bắt nội dung của văn bản; song, một trong những nhược điểm lớn của CNN là không học được phụ thuộc xa giữa các từ trong câu; các kiến trúc tự chú ý (Self-Attention) đã được đưa ra để khắc phục hạn chế này với khả năng cho phép mô hình học ra biểu diễn của từ theo ngữ cảnh toàn cục. Mô hình gợi ý tin tức NRMS (Neural News Recommendation with Multi-head Self-Attention) 8 là một ví dụ điển hình cho việc vận dụng kiến trúc tự chú ý (Self-Attention) để mã hóa nội dung của bài viết dựa trên thông tin tiêu đề - title; và đã được chứng minh là có hiệu quả cao trong việc học ra biểu diễn chất lượng cho tin bài, qua đó nâng cao hiệu năng tổng quát của mô hình gợi ý. Trên cơ sở thực tế một bài viết sẽ có rất nhiều loại thông tin khác nhau có thể hữu ích trong biểu diễn tin bài đó, mô hình gợi ý tin tức NAML (Neural News Recommendation with Attentive Multi-view Learning) 9 đã được các nhà nghiên cứu thuộc trường đại học Tsinghua đề xuất để tập trung khai thác các loại thông tin đa dạng này. NAML sử dụng cơ chế chú ý cộng (Additive Attention) cho phép học ra trọng số kết hợp nhiều loại thuộc tính khác nhau (tiêu đề - title, tóm tắt - abstract, thông tin thể loại - category, thể loại con - subcategory) trong việc tạo một biểu diễn vector duy nhất cho tin bài đó. Cách tiếp cận của NAML đã khắc phục được nhược điểm của NRMS khi nó cho phép chúng ta khai thác nhiều loại thông tin khác nhau; đồng thời, mô hình còn có khả năng tự động chọn ra các thuộc tính quan trọng nhất cho việc biểu diễn tin bài nhờ cơ chế chú ý cộng (Additive Attention). Học bộ mã hóa người dùng (user encoder) Về phía học bộ mã hóa người dùng (user encoder), các cách tiếp cận hiện tại tập trung vào việc tìm ra mô hình mã hóa hợp lý nhất cho chuỗi lịch sử tương tác của người dùng để có thể học ra biểu diễn vector đặc trưng thể hiện sở thích của họ. Trên cơ sở xem xét các bài viết mà người dùng tương tác như là một chuỗi, các kiến trúc mạng hồi quy như GRU (Gated recurrent units) đã được sử dụng cho bộ mã 2 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI hóa người dùng - user encoder 10; vấn đề của cách tiếp cận này là nó cần phải được tính toán một cách tuần tự và hoàn toàn không thể thực hiện song song hóa, do đó phần nào làm chậm quá trình tính toán biểu diễn của người dùng. Thông qua quá trình quan sát thực tế, một số nghiên cứu đã chỉ ra rằng: không phải tất cả các bài viết mà người dùng tương tác trong quá khứ đều phản ánh sở thích của họ, nó có thể chịu tác động của các yếu tố như xu hướng nhất thời, các tin phổ biến..., hoặc do các hành động tương tác hoàn toàn vô tình 8 9. Với lý luận trên, các nhà khoa học đã đề xuất sử dụng kiến trúc chú ý cộng (Additive Attention) để học ra trọng số của các bài viết trong việc đóng góp vào biểu diễn vector của người dùng 8 9; với mục tiêu điều chỉnh mô hình sao cho các tin bài phản ánh rõ nhất mối quan tâm của họ sẽ được gán trọng số lớn hơn các tin bài còn lại. Phương pháp biểu diễn người dùng với chú ý cộng (Additive Attention) đã được sử dụng trong nhiều mô hình, đơn kể như NAML 9, và đều đạt được hiệu quả tốt. Cuối cùng, do đặc điểm các tin bài được đọc bởi cùng một người dùng có thể có mối liên quan với nhau (cùng phản ánh một nhân vật, một sự kiện...), một số mô hình như NRMS 8 còn sử dụng lại kiến trúc tự chú ý (Self-Attention) để học ra sự tương tác này, tạo ra biểu diễn của tin bài theo ngữ cảnh; sau đó tiếp tục sử dụng các vector biểu diễn này làm đầu vào cho khối chú ý cộng (Additive Attention) để học biểu diễn cuối cùng thể hiện sở thích của người dùng 8 11. Các hạn chế tồn tại Như đã trình bày ở trên, các nghiên cứu trước đây trong xây dựng hệ gợi ý tin tức đã có những thành công trong việc mô hình hóa thông tin nội dung của tin bài, cũng như học ra sở thích của người dùng dựa trên các tin bài lịch sử mà họ đã tương tác; từ đó đưa ra những kết quả gợi ý phù hợp nhất đối với mối quan tâm của họ. Tuy nhiên, các giải pháp này vẫn còn tồn tại một số điểm hạn chế như sau: Về mặt trực giác, bên cạnh việc học ra biểu diễn vector của các tin bài và sử dụng các vector này để tạo ra biểu diễn cho người dùng; chúng ta có thể khai thác thêm các thông tin khác của người dùng (các thông tin phụ trợ), chẳng hạn như các thể loại mà người dùng quan tâm, các thông tin về tuổi tác, giới tính... để giúp tăng khả năng biểu diễn của khối mã hóa người dùng (user encoder), giúp mô hình "hiểu" người dùng sâu sắc hơn, và qua đó làm tăng hiệu năng tổng thể của mô hình gợi ý tin tức. Các giải pháp hiện tại chưa xem xét và đưa ra cách thức phù hợp để chúng ta có thể sử dụng thêm các thông tin này vào trong mô hình gợi ý tin tức. Các mô hình mã hóa người dùng (user encoder) hiện tại nghiên cứu cho bài toán gợi ý tin tức chưa quan tâm đến việc học ra biểu diễn có mức độ phản ánh nhất định đối với sự tương đồng hay khác biệt giữa các hành vi của những 3 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI người dùng khác nhau. Cụ thể hơn, về mặt lý luận; với những người dùng có hành vi tương tác trong lịch sử tương đồng nhau, thì các vector biểu diễn mã hóa thu được từ mô hình mã hóa người dùng (user encoder) của họ cần phải nằm gần nhau hơn trong không gian biểu diễn; ngược lại, với những người dùng có hành vi tương tác khác biệt, các vector biểu diễn mã hóa của họ cần nằm xa nhau hơn trong không gian biểu diễn. Việc học ra biểu diễn người dùng có tính phân tách cao sẽ giúp mô hình có thể phân biệt tốt hơn giữa các định hướng sở thích, hệ quả là nâng cao khả năng gợi ý của mô hình. Các nghiên cứu hiện tại mới chỉ tập trung vào việc đưa ra các tin bài đề xuất được cho là liên quan nhất với lịch sử tương tác; mà chưa tiến hành khảo sát sự tác động của chiến lược gợi ý này tới trải nghiệm người dùng. Cụ thể hơn, các phương pháp gợi ý dựa trên nội dung rất dễ gặp phải vấn đề cá nhân hóa quá mức (over-personalization): các mục tin tức gợi ý không có sự đa dạng về thông tin, không có tính mới lạ, thường xoay quanh các chủ đề mà người dùng đã được tiếp xúc trong quá khứ; điều này lâu dần có thể khiến người dùng cảm thấy nhàm chán, tẻ nhạt, và không muốn tiếp tục đọc tin nữa. Với lý luận này, em cho rằng chúng ta cần phải tiến hành một số bước hậu xử lý kết quả gợi ý để làm tăng tính đa dạng (diversity) cho mô hình gợi ý tin tức; trước khi các tin bài được đề xuất cho người dùng. 1.3 Đóng góp của đồ án Với những hạn chế của các phương pháp hiện tại đã được nêu trong phần 1.2, em đã tiến hành các nghiên cứu, thử nghiệm và đề xuất mô hình gợi ý tin tức BERT- NewsRec (BERT News Recommendation) cũng như một mô hình biến thể khác là BERT-NewsRecv2 (BERT News Recommendation Version 2 with Contrastive Learning) với các đóng góp chính như sau: Đề xuất mô hình gợi ý tin tức BERT-NewsRec (BERT News Recommendation) với việc sử dụng thêm đầu vào là các vector biểu diễn thông tin phụ trợ của người dùng, bên cạnh thông tin mã hóa chuỗi tin bài lịch sử mà người dùng đã tương tác. Mô hình sử dụng kiến trúc mã hóa hai chiều mạnh mẽ là BERT (Bidirectional Encoder Representation from Transformer) 1 để học ra sự tương tác giữa các thành phần tín hiệu, qua đó nâng cao khả năng mã hóa người dùng. Các thực nghiệm cho thấy mô hình BERT-NewsRec cho hiệu quả ngang bằng hoặc tốt hơn so với các mô hình gợi ý khác. Đề xuất mô hình gợi ý biến thể BERT-NewsRecv2 (BERT News Recommendation Version 2 with Contrastive Learning) giúp nâng cao hơn nữa hiệu năng của mô hình BERT-NewsRec. BERT-NewsRecv2 giải quyết vấn đề học ra các 4 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI vector biểu diễn phản ánh mức độ tương đồng hay khác biệt trong hành vi của người dùng thông qua việc tận dụng framework học tương phản - contrastive learning 2 3 4. Mô hình tận dụng phương pháp Nash-MTL (Nash Multi- task Learning) 5 cho việc học ra bộ trọng số kết hợp hàm mất mát của tác vụ gợi ý và tác vụ học tương phản sao cho có thể tận dụng tối đa lợi ích của học đa tác vụ. Các thí nghiệm cho thấy sự cải thiện đáng kể hiệu năng của việc sử dụng học tương phản (contrastive learning) trong BERT-NewsRecv2 khi so sánh với mô hình gốc BERT-NewsRec. Cuối cùng, trong quá trình nghiên cứu, em nhận thấy sự nghiêm trọng của vấn đề thiếu đa dạng trong kết quả gợi ý của mô hình (over-personalization), đặc biệt là với nhóm người dùng mới khi lịch sử tương tác của họ chưa nhiều. Việc các tin bài có nội dung trùng lặp dẫn tới nguy cơ người dùng cảm thấy nhàm chán và mất thiện cảm đối với trang tin, từ đó dẫn tới "hệ quả ngược". Để giải quyết vấn đề này, em đề xuất việc tận dụng framework tối ưu đa mục tiêu trong quá trình phân phối tin bài: vừa cực đại hóa khả năng người dùng tương tác với bài viết, vừa cực tiểu hóa độ trùng lặp về nội dung của các tin bài được phân phối so với các tin bài mà người dùng đã tương tác trong quá khứ. 1.4 Bố cục đồ án Phần còn lại của báo cáo đồ án tốt nghiệp này được tổ chức như sau. Chương 2 trình bày về các cơ sở lý thuyết chính cho đồ án. Tại đây, em sẽ trình bày sơ qua về kiến trúc tổng quan của một mô hình gợi ý tin tức với 3 thành phần chính: bộ mã hóa tin bài (news encoder), bộ mã hóa người dùng (user encoder) và bộ tính điểm dự đoán (scoring); các kiến trúc phổ biến được sử dụng trong từng khối chức năng cũng sẽ được giới thiệu trong phần này. Tiếp sau phần kiến thức về hệ gợi ý sẽ là lý thuyết về học tương phản (contrastive learning), và các thành phần chính của một hệ thống học tương phản. Ngoài ra, cũng tại chương 2, em sẽ trình bày qua các cơ sở lý thuyết về tối ưu đa mục tiêu, cũng như một phương pháp tìm bộ trọng số kết hợp hàm mất mát trong bài toán học đa tác vụ có tên Nash-MTL; các kiến thức này sẽ được vận dụng cho việc huấn luyện mô hình gợi ý khi sử dụng với framework học tương phản (cụ thể hơn là trong việc kết hợp hàm mất mát gợi ý - recommend loss với hàm mất mát học tương phản - contrastive loss); bên cạnh đó là trong bài toán giải quyết vấn đề đa dạng của hệ gợi ý tin tức. Trong Chương 3, em giới thiệu về một mô hình kiến trúc gợi ý tin tức đề xuất có tên BERT-NewsRec. Phần này sẽ trình bày cách mà em tận dụng kiến trúc BERT trong khối mã hóa người dùng để tăng khả năng học ra tương tác theo ngữ cảnh của các tin bài trong lịch sử, bên cạnh đó là phương pháp mà chúng ta có thể bổ sung thêm kênh thông tin phụ trợ để làm giàu thêm biểu diễn cho mô hình. Một 5 CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI biến thể khác của BERT-NewsRec là BERT-NewsRecv2 sử dụng học tương phản (contrastive learning) cũng sẽ được đề xuất; cụ thể hơn, em sẽ trình bày về cách mà chúng ta sử dụng các phép biến đổi tăng cường dữ liệu trên chuỗi tương tác lịch sử của người dùng để tạo ra các góc nhìn khác nhau phục vụ cho quá trình học tương đồng - tương phản, cũng như cách mà chúng ta có thể tận dụng được phương pháp Nash-MTL cho quá trình quyết định bộ trọng số kết hợp tối ưu cho hàm mất mát gợi ý và hàm mất mát học tương phản trong một giá trị hàm mất mát chung (total loss). Phần cuối của chương này sẽ trình bày về phương pháp tăng cường tính đa dạng cho hệ gợi ý tin tức lấy cảm hứng từ bài toán click shaping 6; phương pháp đề xuất sử dụng framework tối ưu đa mục tiêu để vừa đảm bảo tính liên quan của các mục gợi ý đối với lịch sử tương tác của người dùng, vừa đảm bảo duy trì độ đa dạng nhất định trong kết quả đề xuất, tránh gây trải nghiệm nhàm chán, tẻ nhạt. Chương 4 sẽ trình bày về các kết quả thực nghiệm để làm sáng tỏ hiệu quả của mô hình mã hóa BERT-NewsRec so với các mô hình mã hóa người dùng khác. Bên cạnh đó, để làm sáng tỏ hơn nữa hiệu quả của việc vận dụng học tương phản trong mô hình gợi ý tin tức; các thí nghiệm so sánh giữa biến thể BERT-NewsRecv2 và mô hình gốc BERT-NewsRec cũng sẽ được tiến hành. Cuối cùng, em sẽ trình bày về kết quả mô phỏng hoạt động của hệ gợi ý trong một trang web đọc tin demo; qua đó chúng ta có thể thấy rõ hơn khả năng của mô hình trong việc đưa ra các mục đề xuất có nội dung liên quan, cũng như hiệu quả của việc áp dụng tối ưu đa mục tiêu trong việc nâng cao tính đa dạng của hệ gợi ý tin tức. Trong chương cuối cùng của đồ án - chương 5, em sẽ tóm tắt lại một số kết luận chính của đồ án này, cũng như các định hướng phát triển trong tương lai. 6 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Trong phần này, em sẽ trình bày sơ qua về kiến trúc phổ biến của một mô hình gợi ý tin tức cũng như các kiến trúc mạng nơ-ron đặc trưng được sử dụng trong từng khối chức năng (phần 2.1). Tiếp theo, tại phần 2.2, em xin giới thiệu qua về framework học tương phản và các thành phần chính trong một hệ thống học tương phản. Phần 2.3 sẽ trình bày định nghĩa về một bài toán tối ưu đa mục tiêu, kèm theo đó là 2 cách tiếp cận chính trong tối ưu đa mục tiêu: phương pháp tổng có trọng số và phương pháp ràng buộc hóa. Phần cuối cùng (phần 2.4) em sẽ trình bày về lý thuyết phương pháp Nash-MTL trong học bộ trọng số kết hợp hàm mất mát để giảm thiểu vấn đề xung đột gradient trong học đa tác vụ. 2.1 Hệ gợi ý tin tức 2.1.1 Tổng quan lược đồ gợi ý tin tức Lĩnh vực gợi ý tin tức có một đặc điểm quan trọng khác biệt khi so sánh với các lĩnh vợi gợi ý khác như phim ảnh, âm nhạc..., đó chính là các tin bài đăng tải có thời gian vòng đời rất ngắn - vài giờ hoặc vài ngày, và nhanh chóng trở nên lỗi thời. Với đặc điểm này, các phương pháp gợi ý dựa trên lọc cộng tác (collaborative filtering) là khó có thể áp dụng vào lĩnh vực tin tức: khi số lượng tương tác của bài viết là đủ lớn để mô hình lọc cộng tác có thể hoạt động tốt, thì tin bài đã trở nên không còn quá nhiều giá trị nội dung với người dùng. Chính vì lẽ đó, phần lớn các mô hình gợi ý tin tức hiện tại tập trung vào cách tiếp cận dựa trên việc khai thác nội dung (content-based): từ nội dung của các tin bài lịch sử mà người dùng đã tương tác, mô hình tiến hành học ra sở thích của người dùng, qua đó đối sánh với tập các ứng cử viên để tìm ra tin bài phù hợp. Lược đồ của các mô hình gợi ý tin tức nhìn chung được tổ chức theo cách thức như hình 2.1. Theo đó, các thành phần chính của một mô hình gợi ý tin tức bao gồm 3 khối cơ bản như sau: Khối mã hóa tin bài (news encoder): thực hiện mã hóa các thuộc tính của tin bài, xây dựng vector đặc trưng cho tin bài. Các kỹ thuật phổ biến được dùng trong khối này là các mô hình như CNN, LSTM, Transformer. . . phục vụ việc nắm bắt nội dung dạng văn bản, tạo vector biểu diễn đặc trưng cho tin bài đó. Khối mã hóa người dùng (user encoder): thực hiện mã hóa thông tin vector biểu diễn của các tin bài mà người dùng đã tương tác trong quá khứ (được tính qua khối news encoder), kết hợp chúng lại tạo thành một vector biểu diễn đặc trưng cho sở thích của người dùng. Thông thường, khối này sử dụng các kiến trúc như GRU, chú ý cộng (Additive Attention) để chuyển từ ma trận các vector biểu diễn tin bài tương tác trong lịch sử thành một vector duy nhất ứng 7 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.1: Lược đồ kiến trúc tổng quan của một mô hình gợi ý tin tức với mỗi người dùng. Khối tính điểm (scoring): nhận đầu vào là vector biểu diễn cho người dùng và tin bài ứng cử viên, thực hiện các phép biến đổi để tính toán điểm dự đoán tương tác. Thông thường khối tính điểm này là một toán tử tích vô hướng, hoặc một mạng nơ-ron kết nối đầy đủ có kích thước đầu ra bằng 1. Nhìn chung từng khối đều có các lớp nơ-ron (layer) đặc thù riêng phù hợp với chức năng của khối đó. Trong các phần tiếp theo, em sẽ trình bày một số kiến trúc được sử dụng phổ biến và tỏ ra hiệu quả trong việc nắm bắt được các biểu diễn chính xác cho tin bài cũng như người dùng. 2.1.2 Mô hình CNN (Convolutional Neural Network) Mô hình CNN 12 là một mô hình được sử dụng rộng rãi trong lĩnh vực thị giác máy tính cũng như xử lý ngôn ngữ tự nhiên. Mô hình này dùng các phép nhân tích chập để nắm bắt các đặc trưng cục bộ trong dữ liệu đầu vào; người ta sử dụng các ma trận bộ lọc (filter) trượt trên ma trận đầu vào, tại mỗi vị trí, tiến hành tính toán giá trị tích chập cục bộ để tạo ra một bản đồ thuộc tính (feature map) mới (hình 2.2). Giả sử với ma trận đầu vào là I, bộ lọc filter là K, giá trị tích chập của K trên 8 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.2: Hoạt động của phép nhân tích chập. Với ma trận đầu vào I (màu trắng), thực hiện trượt bộ lọc K (màu xanh lam) lên trên ma trận I; tại mỗi vị trí (màu đỏ), thực hiện phép nhân tích chập để thu được giá trị thông tin cục bộ (màu xanh lục) I tại vị trí (m, n) được tính bằng công thức sau: Om, n = Im, n ∗ Km, n = +∞X j=−∞ +∞X i=−∞ Ii, j.Km − i, n − j (2.1) Tại các vị trí biên của ma trận đầu vào, thông thường người ta sẽ tiến hành padding mở rộng ma trận để có thể tính toán được tích chập tại các vị trí này (hình 2.3). Việc trượt các bộc lọc (filter) trên ma trận đầu vào được quyết định bởi tham số bước nhảy (stride), nó cho biết tại mỗi bước chúng ta tiến hành dịch chuyển bao nhiêu pixel so với vị trí hiện tại. Với kích thước ma trận đầu vào là i , kích thước bộ lọc (filter) là k, số pixel padding là p và bước nhảy (stride) là s ; thì kích thước bản đồ thuộc tính (feature map) đầu ra o của mạng nơ-ron tích chập được tính bằng công thức sau: o = ⌊i − k + 2 p s ⌋ + 1 (2.2) Bằng việc trượt các bộ lọc - filter tại các vị trí trên đầu vào I , mạng CNN có khả năng học được các tín hiệu đặc trưng cục bộ: các mẫu hình ảnh, mẫu vật thể; các ngữ nghĩa của từ trong câu. . . Thông thường, người ta sẽ sử dụng nhiều bộ lọc (filter) trên cùng một tầng nơ-ron để tạo ra nhiều bản đồ thuộc tính (feature map), với kỳ vọng mỗi bộ lọc (filter) có khả năng học một mẫu đặc trưng khác nhau. 2.1.3 Mô hình GRU (Gated Recurrent Units) GRU là một thiết kế mô hình nằm trong nhóm các mô hình mạng hồi quy (recurrent neural network) sử dụng cơ chế cổng xử lý thông tin (gating mechanism) 13. Mạng nơ-ron hồi quy được dùng phổ biến trong các lĩnh vực mà dữ liệu đầu 9 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.3: Phép padding trong nhân tích chập. Tại các phần biên (màu đỏ) của ma trận đầu vào, người ta thực hiện pad thêm các giá trị 0 (màu xám) để có thể thực hiện được phép nhân tích chập. vào có dạng chuỗi: dữ liệu âm thanh, dữ liệu văn bản, dữ liệu chuỗi thời gian. Nó có ứng dụng trong nhiều bài toán như dự đoán doanh thu, dự đoán từ tiếp theo, chuyển hóa giọng nói sang văn bản (speech to text). . . Trong các mạng nơ-ron truyền thống, tín hiệu đầu vào được xử lý một cách hoàn toàn độc lập, không có sự xâu chuỗi hay xem xét thứ tự trước-sau của chúng; điều này là không phù hợp với bản chất tự nhiên của nhiều lĩnh vực: các giá trị trước, giá trị lịch sử có tác động tới giá trị tương lai. Với mạng hồi quy, đầu ra tại một bước thời gian phụ thuộc vào các bước tính toán trước đó, hệ quả là mô hình có thể ghi nhớ được các thông tin lịch sử, lan truyền theo thời gian, và đem lại hiệu quả dự đoán tốt hơn (hình 2.4). Phiên bản ban đầu của mô hình hồi quy là RNN tiêu chuẩn (Recurrent Neural Network) cho thấy một vấn đề khi nó không thể ghi nhớ được các phụ thuộc xa, nguyên nhân là do gradient của hàm mất mát giảm theo hàm mũ trên chiều thời gian 14. Để khắc phục vấn đề này, một kiến trúc mới được đề xuất là LSTM (Long-Short Term Memory) 15 với việc sử dụng thêm các khối kiến trúc đặc biệt; cụ thể, trong LSTM, có một bộ nhớ tế bào (memory cell) được dùng để duy trì thông tin trong suốt chuỗi thời gian dài, các cổng được dùng để kiểm soát việc khi nào thông tin được tiếp nhận vào bộ nhớ - memory, khi nào nó bị quên, cũng như cách thông tin được output ra bên ngoài. Kiến trúc LSTM được kiểm chứng là cho phép mô hình học được các phụ thuộc xa trong chuỗi thời gian, xong nó lại khá phức tạp và yêu cầu chi phí tính toán cao, vấn đề này là đặc biệt nghiêm trọng khi kiến trúc tuần tự của các mạng hồi quy không cho phép ta song song hóa để tăng 10 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.4: Mạng nơ-ron hồi quy - recurrent neural network. Đầu ra ht phụ thuộc vào đầu vào của bước thời gian hiện tại xt và các bước tính toán trước đó (các kết nối đi dọc theo chiều thời gian). Hình 2.5: Kiến trúc của mô hình GRU. Mô hình duy trì 2 cổng cài lại (reset gate) và cổng cập nhật (update gate) để quyết định quá trình thông tin được cập nhật, xử lý. tốc. GRU (Gated Recurrent Units) là một phiên bản tương tự của LSTM, xong kiến trúc đã được làm đơn giản lại với ít cổng hơn (GRU có 2 cổng, LSTM có 3 cổng). Sơ đồ tính toán của GRU được minh họa trong hình 2.5. Cụ thể, với tín hiệu đầu vào xt và vector trạng thái ẩn ht−1 của bước thời gian trước đó, giá trị vector cổng cập nhật (update gate) zt được tính như sau: zt = σg(W zxt + U zht−1 + bz) (2.3) Tương tự là vector cổng cài lại (reset gate) rt: rt = σg(W rxt + U rht−1 + br) (2.4) 11 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Từ vector cổng cài lại (reset gate) rt , người ta tính ra vector ứng cử viên kích hoạt (candidate activation) ¯ht như sau: ¯ht = ϕh(W hxt + U h(rt ⊙ ht−1) + bh) (2.5) Cuối cùng, trạng thái ẩn mới ht là sự kết hợp của vector cổng cập nhật (update gate) zt, vector ứng cử viên kích hoạt (candidate activation) ¯ht và trạng thái ẩn của bước thời gian trước đó ht−1: ht = zt ⊙ ¯ht + (1 − zt) ⊙ ht−1 (2.6) Ở trong các công thức (2.3), (2.4) và (2.5), các biến W , U và b chính là các trọng số của mô hình, có thể điều chỉnh được trong quá trình học. Ký hiệu ⊙ biểu diễn cho phép nhân từng phần tử Hadamard (element-wise product). Hàm kích hoạt được sử dụng cho cổng cập nhật (update gate) và cổng cài lại (reset gate) là hàm sigmoid (σg ); còn đối với vector ứng cử viên kích hoạt (candidate activation), tác giả sử dụng hàm kích hoạt tanh (ϕh). 2.1.4 Mô hình chú ý cộng (Additive Attention) Thực tế, chúng ta có thể nhận ra rằng không phải tất cả mọi thuộc tính đều quan trọng trong việc biểu diễn một thực thể. Ví dụ, trong một văn bản, để biểu diễn nội dung của văn bản đó thì các từ dừng (stop words) sẽ không quan trọng bằng các từ khóa (keywords) chính; để phân biệt giữa con chim và con mèo, chúng ta chỉ cần tập trung vào đặc điểm con vật đó có cánh hay không, thay vì quan tâm đến màu lông. . . Dựa trên thực tế đó, các kiến trúc chú ý (Attention) được thiết kế để nắm bắt các đặc trưng thông tin hữu ích nhất cho mục tiêu dự đoán. Chú ý cộng (Additive Attention) là một kiến trúc được đề xuất bởi Bahdanau trong một bài báo về dịch máy có tên “Neural Machine Translation by Jointly Learning to Align and Translate” 16. Trước đó, đối với các các mô hình mã hóa - giải mã (encoder - decoder) cơ bản, các thiết kế cố gắng mã hóa toàn bộ xâu đầu vào thành một vector có kích thước cố định; tuy nhiên, cách tiếp cận của Bahdanau mã hóa toàn bộ chuỗi đầu vào thành một chuỗi các vector, trong quá trình giải mã phục vụ dịch máy, mô hình của ông có khả năng thích nghi lựa chọn một tập con các vector quan trọng để tính toán (hình 2.6). Bahdanau ký hiệu h1, h2 ,. . . là các vector phụ chú (annotation) được tính toán bởi bộ mã hóa (encoder) dựa trên chuỗi từ đầu vào. Mỗi vector phụ chú (annotation) hi chứa thông tin của toàn bộ xâu đầu vào với mức độ tập trung nhiều hơn ở xung quanh vị trí của từ thứ i trong câu. Kí hiệu si−1 là trạng thái ẩn (hidden state) của mạng giải mã (decoder) tại bước thời gian i − 1. Giá trị điểm dóng hàng (alignment 12 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.6: Kiến trúc mạng dịch máy với chú ý cộng (Additive Attention) (Nguồn: 16). Tại mỗi bước thời gian t , cơ chế chú ý cộng (Additive Attention) được áp dụng để tính ra trọng số chú ý (attention weight) αti cho các vector phụ chú (annotation) hi của bộ mã hóa (encoder); từ đó tính ra vector ngữ cảnh toàn cục (global context) ct . Vector ngữ cảnh toàn cục ct được sử dụng để tính toán vector trạng thái ẩn st của bộ giải mã (decoder). score) eij của trạng thái ẩn (hidden state) si−1 với các vector phụ chú (annotation) hj được tính như sau: eij = a(si−1, hj ) (2.7) với a(.) thể hiện cho một mạng nơ-ron truyền tiến. Dựa vào điểm các giá trị điểm dóng hàng (alignment score) eij , người ta sử dụng một hàm softmax để tính ra trọng số đóng góp αij của các vector phụ chú (annotation) vào trong vector ngữ cảnh (context) của bước thời gian hiện tại: αij = exp(eij ) PTx k=1 exp(eik) (2.8) Từ đó, vector ngữ cảnh (context) tại bước thời gian hiện tại ci được tính bằng tổng có trọng số của các vector phụ chú (annotation) hj : ci = TxX j=1 αij hj (2.9) 13 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.7: Sự phụ thuộc của các từ vựng đầu ra đối với các từ vựng đầu vào của mô hình dịch máy. Ví dụ thể hiện mức độ phụ thuộc khác nhau của các từ đầu ra trên bộ giải mã (decoder) đối với các từ đầu vào ở bộ mã hóa (encoder) trong bài toán dịch từ câu tiếng Anh "How was your day" sang câu tiếng Pháp tương ứng. Chúng ta có thể thấy, từ "Comment" trong câu tiếng Pháp phụ thuộc nhiều vào từ "How" trong câu tiếng Anh; trong khi đó, từ "journée" lại phụ thuộc nhiều hơn vào từ "day". Cuối cùng, kết quả trạng thái ẩn (hidden state) của bước thời gian mới si được tính dựa trên trạng thái ẩn (hidden state) của bước thời gian trước đó si−1 , output của bước thời gian trước đó yi−1 và vector ngữ cảnh (context) của bước thời gian hiện tại ci: si = f (si−1, yi−1, ci) (2.10) Như vậy, trong mô hình đề xuất bởi Bahdanau, cơ chế chú ý cộng (Additive Attention) đã được áp dụng trong bước tính toán ra vector ngữ cảnh (context) ci từ các vector phụ chú (annotation) hj , với 3 bước xử lý chính: Tính toán điểm dóng hàng (alignment score) e bằng một biến đổi trên các vector đầu vào (2.7) Tính toán trọng số chú ý (attention weight) α bằng cách áp dụng hàm softmax trên các điểm dóng hàng (alignment score) e (2.8) Tính toán vector ngữ cảnh (context) c bằng tổng có trọng số của các vector đầu vào (2.9) Hình 2.7 là một ví dụ minh họa cho việc mỗi từ vựng đầu ra ở bộ giải mã (decoder) sẽ có mức độ phụ thuộc khác nhau vào các từ vựng đầu vào trong bộ mã hóa (encoder), từ đó khẳng định tính hiệu quả của phương pháp chú ý cộng (Additive Attention) mà Bahdanau đã đề xuất. 2.1.5 Mô hình Transformer Các mô hình mạng nơ-ron hồi quy xử lý thông tin theo chuỗi, do đó không cho phép chúng ta thực hiện quá trình song song hóa tính toán, đầu ra của bước thời 14 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT Hình 2.8: Sơ đồ kiến trúc mô hình Transformer. gian sau chỉ có thể được tính sau khi bước thời gian trước được thực hiện; kết quả là quá trình dự đoán trở nên chậm chạp bởi xử lý chuỗi. Transformer là một kiến trúc được thiết kế để giải quyết vấn đề này, toàn bộ dữ liệu đầu vào đều được xử lý đồng thời, mà vẫn cho phép học được sự phụ thuộc giữa các phần tử. Transformer lần đầu được giới thiệu tại bài báo “Attention Is All You Need” 17 bởi các tác giả thuộc trung tâm nghiên cứu Google Brain, Google Research và đại học Toronto. Sơ đồ kiến trúc của một tầng Transformer được mô tả trong hình 2.8. Thành phần cốt lõi của một tầng Transformer là khối chú ý đa đỉnh (Multi-Head Attention) sử dụng cơ chế tự chú ý (Self-Attention). Để hiểu một cách khái quát, tự chú ý (Self-Attention) cho phép từng từ "quan sát" các từ còn lại trong câu, hiểu ngữ cảnh và cập nhật biểu diễn của mình theo ngữ cảnh đó. Cơ chế tự chú ý (Self-Attention) sử dụng ba ma trận với các vector biểu diễn query, key và value: Query: được coi là một truy vấn hỏi thông tin, một từ dùng query để hỏi các từ còn lại về ngữ cảnh cũng như mối quan hệ của nó với các từ khác. Key: được dùng để trả lời yêu cầu của truy vấn query và tính trọng số chú ý (attention weight). Value: được sử dụng cùng với trọng số chú ý (attention weight) ở trên để tính 15 CHƯƠNG 2. NỀN TẢNG LÝ THUYẾT ra vector đại diện. Với ba ma trận đầu vào là query Q, key K và value V ; ký hiệu dk là số chiều biểu diễn của các vector query và key; giá trị ma trận chú ý (attention matrix) của mỗi đỉnh (head) được tính như sau: Attention(Q, K, V ) = sof tmax(QKT √dk )V (2.11) Đầu ra của các đỉnh (head) được concatenate lại với nhau và qua một lớp biến đổi tuyến tính để tạo ra biểu diễn cuối cùng của khối chú ý đa đỉnh (Multi-Head Attention): M ultiHead(Q, K, V ) = Concat(head1, ..., headn)W O (2.12) Trong đó: headi = Attention(QW Q i , KW K i , V W V i ); với W Q i , W K i và W V i lần lượt là các trọng số biến đổi ma trận query, key, value của đỉnh (head) thứ i . Trong kiến trúc của Transformer, các tác giả đề xuất sử dụng thêm các kết nối tắt (residual connection) cùng với tầng nơ-ron chuẩn hóa normalization để tăng khả năng hội tụ cho mô hình. Cuối cùng, khối lan truyền tiến từng vị trí (Position-wise Feed Forward) được hiểu đơn giản là một mạng nơ-ron lan truyền tiến, bao gồm hai biến đổi tuyến tính được xen giữa bởi bột hàm kích hoạt RELU: F F N (x) = max(0, xW 1 + b1)W 2 + b2 (2.13) Do đặc điểm của Transformer là xử lý tín hiệu song song, cho nên mô hình không biết được trật tự của các từ trong câu, để mô hình có thể học được trật tự trước sau này, người ta thường sử dụng thêm thông tin embedding vị trí (position embedding), cộng dồn với tín hiệu đầu vào của mạng (hình 2.9). Transformer được thực nghiệm là cho thấy hiệu quả tốc độ tính toán nhanh hơn so với các mô hình mạng hồi quy, trong khi cho hiệu năng dự đoán tốt hơn rất nhiều. 2.1.6 Mô hình Fastformer Fastformer 11 là một dạng kiến trúc

Trang 1

BERT-NewsRec: mô hình gợi ý tin tức hiệu quả

NGUYỄN VĂN NGA

nga.nv173279@sis.hust.edu.vn

Ngành: Khoa học máy tính Chuyên ngành: Trí tuệ nhân tạo ứng dụng

Giảng viên hướng dẫn: ThS Ngô Văn Linh

Chữ kí GVHD

HÀ NỘI, 07/2022

Trang 2

Họ và tên sinh viên: Nguyễn Văn Nga

Điện thoại liên lạc: 033.891.4547

Email: nga.nv173279@sis.hust.edu.vn

Lớp: KHMT01-K62

Hệ đào tạo: Kỹ sư chính quy

Tôi – Nguyễn Văn Nga – cam kết Đồ án Tốt nghiệp (ĐATN) là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Thạc sỹ Ngô Văn Linh Các kết quả

nêu trong ĐATN là trung thực, là thành quả của riêng tôi, không sao chép theo bất

kỳ công trình nào khác Tất cả những tham khảo trong ĐATN – bao gồm hình ảnh,bảng biểu, số liệu, và các câu từ trích dẫn – đều được ghi rõ ràng và đầy đủ nguồngốc trong danh mục tài liệu tham khảo Tôi xin hoàn toàn chịu trách nhiệm với dùchỉ một sao chép vi phạm quy chế của nhà trường

Hà Nội, ngày 12 tháng 07 năm 2022

Tác giả ĐATN

Nguyễn Văn Nga

Trang 3

nghiệp của mình.

Con xin cảm ơn gia đình, cảm ơn ba mẹ, anh chị, các cháu gái Ngọc Lan, NgọcHân - nguồn động lực vô tận giúp con vượt qua mọi thử thách trong cuộc sống Concảm ơn mọi người đã luôn bên con, luôn đứng đằng sau con, quan tâm, lo lắng Con có những bước tiến dài đến ngày hôm nay, tất cả là nhờ năng lượng yêu thươngcủa tất cả mọi người

Cuối cùng, xin cảm ơn những khó khăn, những thử thách đã đến với tôi trongnhững năm vừa qua Cảm ơn rất nhiều vì đã đến trong cuộc đời thanh xuân của tôi,

đã khiến tôi từng cảm thấy mệt mỏi, trùng bước; nhưng sau cùng, vẫn đưa cho tôinhững cơ hội, những con đường, những cánh cửa hy vọng; để từng ngày, tôi nhậnthấy mình trưởng thành hơn, mạnh mẽ hơn, can đảm hơn

Trang 4

Ngày nay, hệ gợi ý (recommender system) đóng vai trò ngày càng quan trọng trong

sự thành công của các ứng dụng hoạt động trong lĩnh vực cung cấp nội dung số.Gợi ý tin tức (news recommendation) - một nhánh nghiên cứu con của hệ gợi ý;

đã và đang thu hút rất nhiều sự quan tâm của các nhà khoa học Các cách tiếp cậnchính trong gợi ý tin tức chủ yếu tập trung vào khai thác nội dung văn bản giàuthông tin của tin bài Cụ thể, các kiến trúc mã hóa tin bài (news encoder) đã được

đề xuất, tận dụng các mô hình phổ biến trong lĩnh vực xử lý ngôn ngữ tự nhiên đểtạo ra biểu diễn vector cho tin bài Trên cơ sở đó, người ta xây dựng khối mã hóangười dùng (user encoder) kết hợp các vector biểu diễn những tin bài mà ngườidùng đã tương tác trong quá khứ để tạo ra vector biểu diễn duy nhất đại diện cho

sở thích của người dùng Sau khi đã có vector biểu diễn cho tin bài cũng như ngườidùng, người ta cho đi qua một khối tính điểm tương tác (scoring) để tính điểm dựđoán tương tác Các kết quả thực nghiệm đã cho thấy các cách tiếp cận hiện tại cónhững thành công nhất định trong việc đưa ra các mục tin bài gợi ý có mức độ liênquan nhất định; phù hợp với thói quen, sở thích của người dùng được thể hiện quacác tin bài lịch sử của họ

Dựa trên các mô hình kiến trúc hiện có, em nhận thấy tiềm năng của việc sử dụngthêm các thông tin phụ trợ trong quá trình học biểu diễn của người dùng - bên cạnhkhai thác thông tin các vector mã hóa tin bài lịch sử của họ Ngoài ra, một điểmhạn chế nữa của các nghiên cứu hiện tại là chưa quan tâm đến việc học ra biễu diễnvector có mức độ phản ánh nhất định sự tương đồng hay tương phản trong hành vicủa người dùng; cụ thể, về mặt trực giác, những người dùng có hành vi tương đồngnên có biểu diễn mã hóa nằm gần nhau hơn trong không gian vector, và ngược lại.Với 2 lý luận trên, em đã tiến hành nghiên cứu, đề xuất một mô hình gợi ý tin tức

có tên BERT-NewsRec Mô hình sử dụng kiến trúc BERT [1] để học ra tương tácgiữa các tin bài trong lịch sử của người dùng, tạo ra biểu diễn theo ngữ cảnh; bêncạnh đó là việc kết hợp thêm kênh mã hóa thông tin phụ trợ giúp làm tăng thêm khảnăng biểu diễn cho mô hình, giúp cho mô hình học được vector mã hóa người dùngchính xác hơn, phản ánh đúng hơn sở thích của họ Ngoài ra, một biến thể khác

có tên BERT-NewsRec_v2 được giới thiệu với việc tận dụng framework học tươngphản (contrastive learning) [2] [3] [4] để có thể học được biểu diễn vector phản ánh

sự tương đồng - tương phản trong hành vi của người dùng Một điểm đáng chú ý đó

là trong quá trình huấn luyện mô hình BERT-NewsRec_v2, em đã sử dụng phươngpháp Nash-MTL (Nash Multi-task Learning [5]) để học ra bộ trọng số tối ưu cho

Trang 5

tới "hệ quả ngược" Để giải quyết vấn đề này, em đề xuất sử dụng framework tối ưu

đa mục tiêu [6] trong hậu xử lý kết quả gợi ý của mô hình: vừa đảm bảo các mục

đề xuất có điểm dự đoán tương tác ở mức đủ tốt, vừa giảm thiểu mức độ trùng lặpnội dung của các tin bài đề xuất so với các tin bài lịch sử của người dùng Qua quátrình quan sát, đánh giá, em nhận thấy phần nào hiệu quả của bước hậu xử lý nàytrong việc tăng cường tính phong phú, đa dạng của các tin bài gợi ý

Trang 6

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 Bài toán gợi ý tin tức 1

1.2 Các giải pháp hiện tại và hạn chế 1

1.3 Đóng góp của đồ án 4

1.4 Bố cục đồ án 5

CHƯƠNG 2 NỀN TẢNG LÝ THUYẾT 7

2.1 Hệ gợi ý tin tức 7

2.1.1 Tổng quan lược đồ gợi ý tin tức 7

2.1.2 Mô hình CNN (Convolutional Neural Network) 8

2.1.3 Mô hình GRU (Gated Recurrent Units) 9

2.1.4 Mô hình chú ý cộng (Additive Attention) 12

2.1.5 Mô hình Transformer 14

2.1.6 Mô hình Fastformer 16

2.1.7 Xây dựng mô hình gợi ý 19

2.2 Học tương phản (contrastive learning) 23

2.2.1 Tổng quan về học tương phản 23

2.2.2 Tăng cường dữ liệu (data augmentation) 23

2.2.3 Mạng nơ-ron mã hóa (encoder network) 24

2.2.4 Hàm mất mát (loss function) 24

2.3 Sơ lược về tối ưu đa mục tiêu 26

2.3.1 Phát biểu bài toán tối ưu đa mục tiêu 26

2.3.2 Tính trội, mặt Pareto trong tối ưu đa mục tiêu 27

2.3.3 Một số cách tiếp cận trong giải bài toán tối ưu đa mục tiêu 28

Trang 7

3.1.2 Khối mã hóa thông tin phụ trợ (Side feature encoder) 41

3.1.3 Khối mã hóa người dùng (User encoder) 41

3.1.4 Khối tính điểm tương tác (Scoring) 42

3.1.5 Hàm mất mát cho bài toán gợi ý 42

3.2 Mô hình gợi ý BERT-NewsRec_v2 (BERT News Recommendation Version 2 with Contrastive Learning) 42

3.2.1 Sơ đồ hoạt động 42

3.2.2 Các phép tăng cường dữ liệu (data augmentation) 43

3.2.3 Xác định bộ trọng số kết hợp 2 hàm mất mát 48

3.3 Giải quyết vấn đề đa dạng (diversity) trong hệ gợi ý 49

3.3.1 Vấn đề thiếu tính đa dạng trong hệ gợi ý tin tức 49

3.3.2 Giải pháp tăng tính đa dạng cho hệ gợi ý tin tức 50

CHƯƠNG 4 ĐÁNH GIÁ THỰC NGHIỆM 55

4.1 Kết quả đánh giá hiệu năng của mô hình gợi ý 55

4.1.1 Bộ dữ liệu, cấu hình 55

4.1.2 Hiệu quả của mô hình đề xuất BERT-NewsRec 56

4.1.3 Hiệu năng của BERT-NewsRec với số lượng tầng Transformer khác nhau 62

4.1.4 Hiệu năng của BERT-NewsRec với các nhóm người dùng khác nhau 62

Trang 8

4.1.6 Hiệu quả của Nash-MTL trong cân bằng giữa hàm mất mát gợi ý

(recommend loss) và hàm mất mát học tương phản (contrastive loss) 67

4.2 Xây dựng trang web demo minh họa hoạt động của mô hình gợi ý 68

4.2.1 Kiến trúc của hệ thống web demo 68

4.2.2 Một số kết quả gợi ý của hệ thống 69

4.2.3 Hiệu quả của tối ưu đa mục tiêu trong giải quyết vấn đề đa dạng của hệ gợi ý tin tức 69

CHƯƠNG 5 KẾT LUẬN 72

5.1 Kết luận 72

5.2 Hướng phát triển trong tương lai 72

TÀI LIỆU THAM KHẢO 75

PHỤ LỤC 77

A CHỨNG MINH TÍNH ĐÚNG ĐẮN CỦA LỜI GIẢI TỐI ƯU ĐA MỤC TIÊU NASH-MTL 77

A.1 Phát biểu 77

A.2 Chứng minh 77

B CÁC ĐỘ ĐO TRONG ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ GỢI Ý 79

B.1 Độ đo AUC 79

B.1.1 True Positive Rate, False Positive Rate 79

B.1.2 ROC (Receiver Operator Characteristic) 80

B.2 Độ đo MRR 82

B.3 Độ đo NDCG 83

Trang 10

Hình 2.1 Lược đồ kiến trúc tổng quan của một mô hình gợi ý tin tức 8

Hình 2.2 Hoạt động của phép nhân tích chập 9

Hình 2.3 Phép padding trong nhân tích chập 10

Hình 2.4 Mạng nơ-ron hồi quy - recurrent neural network 11

Hình 2.5 Kiến trúc của mô hình GRU 11

Hình 2.6 Kiến trúc mạng dịch máy với chú ý cộng (Additive Attention) 13 Hình 2.7 Sự phụ thuộc của các từ vựng đầu ra đối với các từ vựng đầu vào của mô hình dịch máy 14

Hình 2.8 Sơ đồ kiến trúc mô hình Transformer 15

Hình 2.9 Minh họa việc tích hợp thêm thông tin vị trí cho mô hình Transformer 17

Hình 2.10 Sơ đồ kiến trúc mô hình Fastformer 18

Hình 2.11 Sơ đồ kiến trúc mô hình gợi ý tin tức NAML 20

Hình 2.12 Sự khác nhau giữa mức độ đặc trưng ngữ nghĩa của các từ trong câu 20

Hình 2.13 Sơ đồ kiến trúc mô hình gợi ý tin tức NRMS 22

Hình 2.14 Minh họa sự tương tác giữa các từ trong một văn bản 22

Hình 2.15 Một số phép tăng cường dữ liệu (data augmentation) đối với dữ liệu ảnh 24

Hình 2.16 Sơ đồ hoạt động của hệ thống học tương phản (contrastive learning) 25

Hình 2.17 Hiệu năng top 1-accuracy của mô hình học tương phản trên bộ dữ liệu ImageNet ILSVRC-2012 27

Hình 2.18 Minh họa mặt Pareto của bài toán tối ưu đa mục tiêu 28

Hình 2.19 Minh họa hai loại hình dạng khác nhau của mặt tối ưu Pareto 28 Hình 2.20 Giải bài toán tối ưu đa mục tiêu bằng phương pháp tổng có trọng số 29

Hình 2.21 Minh họa giải bải toán tối ưu đa mục tiêu bằng phương pháp ràng buộc hóa 30

Hình 2.22 Kiến trúc mô hình mạng nơ-ron học đa tác vụ 31

Hình 2.23 Vấn đề xung đột gradient (gradient conflict) trong học đa tác vụ 33

Hình 2.24 Hiệu quả của Nash-MTL trong việc tìm ra hướng cập nhật trọng số tốt cho tất cả các tác vụ 37

Trang 11

Hình 3.9 Lịch sử các bài viết tương tác bởi người dùng 50Hình 3.10 Sự thiếu tính đa dạng trong các bài viết được đề xuất bởi môhình gợi ý tin tức 51Hình 4.1 Sơ đồ hoạt động của khối mã hóa tin bài (news encoder) 57Hình 4.2 Visualize vector biểu diễn mã hóa của tin bài 60Hình 4.3 Phân bổ trọng số chú ý (attention weight) của các loại thuộctính khác nhau trong biểu diễn tin bài 61Hình 4.4 Hiệu năng AUC của mô hình BERT-NewsRec với số lượngtầng Transformer khác nhau 63Hình 4.5 Hiệu năng AUC của mô hình gợi ý ở các độ dài lịch sử tươngtác khác nhau 64Hình 4.6 Biểu đồ histogram của giá trị độ lệch chuẩn của biểu diễnngười dùng trên các chiều ẩn 66Hình 4.7 Sơ đồ luồng hoạt động của hệ thống web demo 68Hình 4.8 Ví dụ cho lịch sử người dùng quan tâm đến vấn đề chính trị 70Hình 4.9 Kết quả các tin bài gợi ý của hệ thống dành cho người dùngquan tâm đến vấn đề chính trị 70Hình 4.10 Kết quả gợi ý của hệ thống sau khi áp dụng tối ưu đa mụctiêu làm tăng tính đa dạng 71Hình B.1 Ma trận nhầm lẫn (confusion matrix) của bài toán phân loạinhị phân 79Hình B.2 Sự ảnh hưởng của ngưỡng phân loại tới hiệu năng của mô hình 80Hình B.3 Minh họa đường cong ROC thể hiện tương quan giữa hai giátrị TPR và FPR 81Hình B.4 Giá trị Reciprocal Rank (RR) của các câu truy vấn khác nhau 82

Trang 12

Bảng 4.1 Hiệu năng mô hình gợi ý tin tức với các bộ mã hóa tin bài(news encoder) và mã hóa người dùng (user encoder) khác nhau 58Bảng 4.2 Hiệu năng trung bình của các bộ mã hóa tin bài (news encoder)khác nhau 59Bảng 4.3 Hiệu năng trung bình của các bộ mã hóa người dùng (userencoder) khác nhau 61Bảng 4.4 Hiệu năng trên tác vụ gợi ý của các thí nghiệm không có và

có sử dụng học tương phản 64Bảng 4.5 Độ lệch chuẩn trung bình trong các chiều biểu diễn ẩn củangười dùng 65Bảng 4.6 Hiệu năng của tác vụ gợi ý trên thí nghiệm không có và có

sử dụng 2 phép biến đổi thay thế mục tin bài (substitute) và chènmục tin bài (insert) 66Bảng 4.7 Hiệu năng trên tác vụ gợi ý của các thí nghiệm không có và

có sử dụng Nash-MTL 67

Trang 13

BERT-NewsRec BERT News Recommendation

CL4SRec Contrastive Learning for Sequential

Recommendation

CoSeRec Contrastive Self-supervised Sequential

Recommendation with RobustAugmentation

Attentive Multi-view Learning

Trang 14

ROC Receiver Operator Characteristic

Trang 15

tính tin cậy cao trong việc đưa ra các mục sản phẩm mà người dùng có hứng thú

và yêu thích đã trở thành một vấn đề cấp thiết cho bất cứ một sản phẩm công nghệnào hoạt động trong lĩnh vực cung cấp nội dung số Theo Mackenzie, có tới 35%sản phẩm mà người dùng đặt mua trên trang thương mại điện tử Amazon và 75%lượt xem phim trên trang web Netflix là hệ quả của các giải thuật gợi ý [7] Chúng

ta có thể thấy rằng, hệ gợi ý đã và đang chiếm vai trò ngày càng quan trọng trong

sự thành công của bất kỳ một ứng dụng chia sẻ nội dung nào

Gợi ý tin tức (news recommendation) là một nhánh con trong xây dựng hệ gợi ý bên cạnh các rất nhiều lĩnh vực khác như gợi ý phim ảnh (movie recommendation),gợi ý sản phẩm (product recommendation), gợi ý hình ảnh (image recommendation).Nhìn chung, gợi ý tin tức có nhiều điểm tương đồng với các lĩnh vực khác xét vềmột số khía cạnh như các cách tiếp cận hay thách thức chính Tuy nhiên, với đặcthù số lượng tin bài được sinh ra sau mỗi giờ là khá nhiều khiến cho dữ liệu tươngtác của người dùng bị thưa, bên cạnh đó là khối lượng thông tin rất lớn, rất đa dạng

-mà chúng ta có thể khai thác từ nội dung của mỗi tin bài; tựu chung lại đã khiếnlĩnh vực gợi ý tin tức được cho là gặp phải nhiều vấn đề thách thức, khó khăn riêngkhi so với các lĩnh vực còn lại Trong những năm vừa qua, đã có rất nhiều nghiêncứu, phương pháp đề xuất đã được giới thiệu, và đều đã đạt được những thành côngnhất định trong việc tìm ra các giải thuật, các mô hình có khả năng cung cấp các tinbài phù hợp nhất với sở thích của người đọc; từ đó từng bước cải thiện trải nghiệmcủa người dùng, cũng như nâng cao độ trung thành của họ đối với trang tin

1.2 Các giải pháp hiện tại và hạn chế

Cho đến thời điểm hiện tại, các cách tiếp cận chính trong xây dựng hệ gợi ý tintức chủ yếu xoay quanh việc tìm ra một mô hình có thể mã hóa chính xác nội dungcủa tin bài (news encoder) từ việc khai thác các thông tin như tiêu đề (title), tómtắt (abstract), thể loại (category), thể loại con (subcategory) ; trên cơ sở đó, người

ta tiến hành xây dựng mô hình mã hóa người dùng (user encoder) thông qua việc

Trang 16

kết hợp các vector mã hóa của các tin bài mà người dùng đã tương tác trong quákhứ thành một vector duy nhất biểu diễn cho sở thích của họ Dưới đây là một số

mô hình kiến trúc được sử dụng phổ biến cho 2 khối chức năng trên

Học bộ mã hóa tin bài (news encoder)

Đối với bộ mã hóa tin bài (news encoder), đã có nhiều mô hình xử lý ngôn ngữ

tự nhiên được các nhà nghiên cứu áp dụng thành công để có thể nắm bắt được nộidung tin bài trên cơ sở khai thác các nội dung dạng văn bản rất giàu thông tin.Một trong những phương pháp mã hóa phổ biến được sử dụng cho mục đích này

là mạng nơ-ron tích chập (Convolutional neural network - CNN) nhằm học ra biểudiễn cục bộ của các từ vựng, từ đó trích rút ra biểu diễn vector cho toàn bộ văn bản.Tuy được kiểm chứng là có hiệu quả nhất định trong nắm bắt nội dung của văn bản;song, một trong những nhược điểm lớn của CNN là không học được phụ thuộc xagiữa các từ trong câu; các kiến trúc tự chú ý (Self-Attention) đã được đưa ra đểkhắc phục hạn chế này với khả năng cho phép mô hình học ra biểu diễn của từ theongữ cảnh toàn cục Mô hình gợi ý tin tức NRMS (Neural News Recommendationwith Multi-head Self-Attention) [8] là một ví dụ điển hình cho việc vận dụng kiếntrúc tự chú ý (Self-Attention) để mã hóa nội dung của bài viết dựa trên thông tintiêu đề - title; và đã được chứng minh là có hiệu quả cao trong việc học ra biểu diễnchất lượng cho tin bài, qua đó nâng cao hiệu năng tổng quát của mô hình gợi ý.Trên cơ sở thực tế một bài viết sẽ có rất nhiều loại thông tin khác nhau có thểhữu ích trong biểu diễn tin bài đó, mô hình gợi ý tin tức NAML (Neural NewsRecommendation with Attentive Multi-view Learning) [9] đã được các nhà nghiêncứu thuộc trường đại học Tsinghua đề xuất để tập trung khai thác các loại thôngtin đa dạng này NAML sử dụng cơ chế chú ý cộng (Additive Attention) cho phéphọc ra trọng số kết hợp nhiều loại thuộc tính khác nhau (tiêu đề - title, tóm tắt -abstract, thông tin thể loại - category, thể loại con - subcategory) trong việc tạo mộtbiểu diễn vector duy nhất cho tin bài đó Cách tiếp cận của NAML đã khắc phụcđược nhược điểm của NRMS khi nó cho phép chúng ta khai thác nhiều loại thôngtin khác nhau; đồng thời, mô hình còn có khả năng tự động chọn ra các thuộctính quan trọng nhất cho việc biểu diễn tin bài nhờ cơ chế chú ý cộng (AdditiveAttention)

Học bộ mã hóa người dùng (user encoder)

Về phía học bộ mã hóa người dùng (user encoder), các cách tiếp cận hiện tại tậptrung vào việc tìm ra mô hình mã hóa hợp lý nhất cho chuỗi lịch sử tương tác củangười dùng để có thể học ra biểu diễn vector đặc trưng thể hiện sở thích của họ.Trên cơ sở xem xét các bài viết mà người dùng tương tác như là một chuỗi, các kiếntrúc mạng hồi quy như GRU (Gated recurrent units) đã được sử dụng cho bộ mã

Trang 17

học ra trọng số của các bài viết trong việc đóng góp vào biểu diễn vector của ngườidùng [8] [9]; với mục tiêu điều chỉnh mô hình sao cho các tin bài phản ánh rõ nhấtmối quan tâm của họ sẽ được gán trọng số lớn hơn các tin bài còn lại Phương phápbiểu diễn người dùng với chú ý cộng (Additive Attention) đã được sử dụng trongnhiều mô hình, đơn kể như NAML [9], và đều đạt được hiệu quả tốt.

Cuối cùng, do đặc điểm các tin bài được đọc bởi cùng một người dùng có thể cómối liên quan với nhau (cùng phản ánh một nhân vật, một sự kiện ), một số môhình như NRMS [8] còn sử dụng lại kiến trúc tự chú ý (Self-Attention) để học ra

sự tương tác này, tạo ra biểu diễn của tin bài theo ngữ cảnh; sau đó tiếp tục sử dụngcác vector biểu diễn này làm đầu vào cho khối chú ý cộng (Additive Attention) đểhọc biểu diễn cuối cùng thể hiện sở thích của người dùng [8] [11]

Các hạn chế tồn tại

Như đã trình bày ở trên, các nghiên cứu trước đây trong xây dựng hệ gợi ý tin tức đã

có những thành công trong việc mô hình hóa thông tin nội dung của tin bài, cũngnhư học ra sở thích của người dùng dựa trên các tin bài lịch sử mà họ đã tương tác;

từ đó đưa ra những kết quả gợi ý phù hợp nhất đối với mối quan tâm của họ Tuynhiên, các giải pháp này vẫn còn tồn tại một số điểm hạn chế như sau:

• Về mặt trực giác, bên cạnh việc học ra biểu diễn vector của các tin bài và sửdụng các vector này để tạo ra biểu diễn cho người dùng; chúng ta có thể khaithác thêm các thông tin khác của người dùng (các thông tin phụ trợ), chẳnghạn như các thể loại mà người dùng quan tâm, các thông tin về tuổi tác, giớitính để giúp tăng khả năng biểu diễn của khối mã hóa người dùng (userencoder), giúp mô hình "hiểu" người dùng sâu sắc hơn, và qua đó làm tănghiệu năng tổng thể của mô hình gợi ý tin tức Các giải pháp hiện tại chưa xemxét và đưa ra cách thức phù hợp để chúng ta có thể sử dụng thêm các thông tinnày vào trong mô hình gợi ý tin tức

• Các mô hình mã hóa người dùng (user encoder) hiện tại nghiên cứu cho bàitoán gợi ý tin tức chưa quan tâm đến việc học ra biểu diễn có mức độ phảnánh nhất định đối với sự tương đồng hay khác biệt giữa các hành vi của những

Trang 18

người dùng khác nhau Cụ thể hơn, về mặt lý luận; với những người dùng cóhành vi tương tác trong lịch sử tương đồng nhau, thì các vector biểu diễn mãhóa thu được từ mô hình mã hóa người dùng (user encoder) của họ cần phảinằm gần nhau hơn trong không gian biểu diễn; ngược lại, với những ngườidùng có hành vi tương tác khác biệt, các vector biểu diễn mã hóa của họ cầnnằm xa nhau hơn trong không gian biểu diễn Việc học ra biểu diễn ngườidùng có tính phân tách cao sẽ giúp mô hình có thể phân biệt tốt hơn giữa cácđịnh hướng sở thích, hệ quả là nâng cao khả năng gợi ý của mô hình.

• Các nghiên cứu hiện tại mới chỉ tập trung vào việc đưa ra các tin bài đề xuấtđược cho là liên quan nhất với lịch sử tương tác; mà chưa tiến hành khảo sát

sự tác động của chiến lược gợi ý này tới trải nghiệm người dùng Cụ thể hơn,các phương pháp gợi ý dựa trên nội dung rất dễ gặp phải vấn đề cá nhân hóaquá mức (over-personalization): các mục tin tức gợi ý không có sự đa dạng vềthông tin, không có tính mới lạ, thường xoay quanh các chủ đề mà người dùng

đã được tiếp xúc trong quá khứ; điều này lâu dần có thể khiến người dùng cảmthấy nhàm chán, tẻ nhạt, và không muốn tiếp tục đọc tin nữa Với lý luận này,

em cho rằng chúng ta cần phải tiến hành một số bước hậu xử lý kết quả gợi ý

để làm tăng tính đa dạng (diversity) cho mô hình gợi ý tin tức; trước khi cáctin bài được đề xuất cho người dùng

1.3 Đóng góp của đồ án

Với những hạn chế của các phương pháp hiện tại đã được nêu trong phần 1.2, em

đã tiến hành các nghiên cứu, thử nghiệm và đề xuất mô hình gợi ý tin tức NewsRec (BERT News Recommendation) cũng như một mô hình biến thể khác

BERT-là BERT-NewsRec_v2 (BERT News Recommendation Version 2 with ContrastiveLearning) với các đóng góp chính như sau:

• Đề xuất mô hình gợi ý tin tức BERT-NewsRec (BERT News Recommendation)với việc sử dụng thêm đầu vào là các vector biểu diễn thông tin phụ trợ củangười dùng, bên cạnh thông tin mã hóa chuỗi tin bài lịch sử mà người dùng đãtương tác Mô hình sử dụng kiến trúc mã hóa hai chiều mạnh mẽ là BERT(Bidirectional Encoder Representation from Transformer) [1] để học ra sựtương tác giữa các thành phần tín hiệu, qua đó nâng cao khả năng mã hóangười dùng Các thực nghiệm cho thấy mô hình BERT-NewsRec cho hiệu quảngang bằng hoặc tốt hơn so với các mô hình gợi ý khác

• Đề xuất mô hình gợi ý biến thể BERT-NewsRec_v2 (BERT News RecommendationVersion 2 with Contrastive Learning) giúp nâng cao hơn nữa hiệu năng của

mô hình BERT-NewsRec BERT-NewsRec_v2 giải quyết vấn đề học ra các

Trang 19

• Cuối cùng, trong quá trình nghiên cứu, em nhận thấy sự nghiêm trọng của vấn

đề thiếu đa dạng trong kết quả gợi ý của mô hình (over-personalization), đặcbiệt là với nhóm người dùng mới khi lịch sử tương tác của họ chưa nhiều Việccác tin bài có nội dung trùng lặp dẫn tới nguy cơ người dùng cảm thấy nhàmchán và mất thiện cảm đối với trang tin, từ đó dẫn tới "hệ quả ngược" Đểgiải quyết vấn đề này, em đề xuất việc tận dụng framework tối ưu đa mục tiêutrong quá trình phân phối tin bài: vừa cực đại hóa khả năng người dùng tươngtác với bài viết, vừa cực tiểu hóa độ trùng lặp về nội dung của các tin bài đượcphân phối so với các tin bài mà người dùng đã tương tác trong quá khứ

1.4 Bố cục đồ án

Phần còn lại của báo cáo đồ án tốt nghiệp này được tổ chức như sau

Chương 2 trình bày về các cơ sở lý thuyết chính cho đồ án Tại đây, em sẽ trìnhbày sơ qua về kiến trúc tổng quan của một mô hình gợi ý tin tức với 3 thành phầnchính: bộ mã hóa tin bài (news encoder), bộ mã hóa người dùng (user encoder) và

bộ tính điểm dự đoán (scoring); các kiến trúc phổ biến được sử dụng trong từngkhối chức năng cũng sẽ được giới thiệu trong phần này Tiếp sau phần kiến thức về

hệ gợi ý sẽ là lý thuyết về học tương phản (contrastive learning), và các thành phầnchính của một hệ thống học tương phản Ngoài ra, cũng tại chương 2, em sẽ trìnhbày qua các cơ sở lý thuyết về tối ưu đa mục tiêu, cũng như một phương pháp tìm

bộ trọng số kết hợp hàm mất mát trong bài toán học đa tác vụ có tên Nash-MTL;các kiến thức này sẽ được vận dụng cho việc huấn luyện mô hình gợi ý khi sử dụngvới framework học tương phản (cụ thể hơn là trong việc kết hợp hàm mất mát gợi

ý - recommend loss với hàm mất mát học tương phản - contrastive loss); bên cạnh

đó là trong bài toán giải quyết vấn đề đa dạng của hệ gợi ý tin tức

Trong Chương 3, em giới thiệu về một mô hình kiến trúc gợi ý tin tức đề xuất cótên BERT-NewsRec Phần này sẽ trình bày cách mà em tận dụng kiến trúc BERTtrong khối mã hóa người dùng để tăng khả năng học ra tương tác theo ngữ cảnhcủa các tin bài trong lịch sử, bên cạnh đó là phương pháp mà chúng ta có thể bổsung thêm kênh thông tin phụ trợ để làm giàu thêm biểu diễn cho mô hình Một

Trang 20

biến thể khác của BERT-NewsRec là BERT-NewsRec_v2 sử dụng học tương phản(contrastive learning) cũng sẽ được đề xuất; cụ thể hơn, em sẽ trình bày về cách màchúng ta sử dụng các phép biến đổi tăng cường dữ liệu trên chuỗi tương tác lịch sửcủa người dùng để tạo ra các góc nhìn khác nhau phục vụ cho quá trình học tươngđồng - tương phản, cũng như cách mà chúng ta có thể tận dụng được phương phápNash-MTL cho quá trình quyết định bộ trọng số kết hợp tối ưu cho hàm mất mátgợi ý và hàm mất mát học tương phản trong một giá trị hàm mất mát chung (totalloss) Phần cuối của chương này sẽ trình bày về phương pháp tăng cường tính đadạng cho hệ gợi ý tin tức lấy cảm hứng từ bài toán click shaping [6]; phương pháp

đề xuất sử dụng framework tối ưu đa mục tiêu để vừa đảm bảo tính liên quan củacác mục gợi ý đối với lịch sử tương tác của người dùng, vừa đảm bảo duy trì độ đadạng nhất định trong kết quả đề xuất, tránh gây trải nghiệm nhàm chán, tẻ nhạt.Chương 4 sẽ trình bày về các kết quả thực nghiệm để làm sáng tỏ hiệu quả của môhình mã hóa BERT-NewsRec so với các mô hình mã hóa người dùng khác Bêncạnh đó, để làm sáng tỏ hơn nữa hiệu quả của việc vận dụng học tương phản trong

mô hình gợi ý tin tức; các thí nghiệm so sánh giữa biến thể BERT-NewsRec_v2 và

mô hình gốc BERT-NewsRec cũng sẽ được tiến hành Cuối cùng, em sẽ trình bày

về kết quả mô phỏng hoạt động của hệ gợi ý trong một trang web đọc tin demo;qua đó chúng ta có thể thấy rõ hơn khả năng của mô hình trong việc đưa ra cácmục đề xuất có nội dung liên quan, cũng như hiệu quả của việc áp dụng tối ưu đamục tiêu trong việc nâng cao tính đa dạng của hệ gợi ý tin tức

Trong chương cuối cùng của đồ án - chương 5, em sẽ tóm tắt lại một số kết luậnchính của đồ án này, cũng như các định hướng phát triển trong tương lai

Trang 21

giảm thiểu vấn đề xung đột gradient trong học đa tác vụ.

2.1 Hệ gợi ý tin tức

2.1.1 Tổng quan lược đồ gợi ý tin tức

Lĩnh vực gợi ý tin tức có một đặc điểm quan trọng khác biệt khi so sánh vớicác lĩnh vợi gợi ý khác như phim ảnh, âm nhạc , đó chính là các tin bài đăng tải

có thời gian vòng đời rất ngắn - vài giờ hoặc vài ngày, và nhanh chóng trở nên lỗithời Với đặc điểm này, các phương pháp gợi ý dựa trên lọc cộng tác (collaborativefiltering) là khó có thể áp dụng vào lĩnh vực tin tức: khi số lượng tương tác của bàiviết là đủ lớn để mô hình lọc cộng tác có thể hoạt động tốt, thì tin bài đã trở nênkhông còn quá nhiều giá trị nội dung với người dùng Chính vì lẽ đó, phần lớn các

mô hình gợi ý tin tức hiện tại tập trung vào cách tiếp cận dựa trên việc khai thác nộidung (content-based): từ nội dung của các tin bài lịch sử mà người dùng đã tươngtác, mô hình tiến hành học ra sở thích của người dùng, qua đó đối sánh với tập cácứng cử viên để tìm ra tin bài phù hợp Lược đồ của các mô hình gợi ý tin tức nhìnchung được tổ chức theo cách thức như hình 2.1 Theo đó, các thành phần chínhcủa một mô hình gợi ý tin tức bao gồm 3 khối cơ bản như sau:

• Khối mã hóa tin bài (news encoder): thực hiện mã hóa các thuộc tính của tinbài, xây dựng vector đặc trưng cho tin bài Các kỹ thuật phổ biến được dùngtrong khối này là các mô hình như CNN, LSTM, Transformer phục vụ việcnắm bắt nội dung dạng văn bản, tạo vector biểu diễn đặc trưng cho tin bài đó

• Khối mã hóa người dùng (user encoder): thực hiện mã hóa thông tin vectorbiểu diễn của các tin bài mà người dùng đã tương tác trong quá khứ (đượctính qua khối news encoder), kết hợp chúng lại tạo thành một vector biểu diễnđặc trưng cho sở thích của người dùng Thông thường, khối này sử dụng cáckiến trúc như GRU, chú ý cộng (Additive Attention) để chuyển từ ma trận cácvector biểu diễn tin bài tương tác trong lịch sử thành một vector duy nhất ứng

Trang 22

Hình 2.1: Lược đồ kiến trúc tổng quan của một mô hình gợi ý tin tức

với mỗi người dùng

• Khối tính điểm (scoring): nhận đầu vào là vector biểu diễn cho người dùng

và tin bài ứng cử viên, thực hiện các phép biến đổi để tính toán điểm dự đoántương tác Thông thường khối tính điểm này là một toán tử tích vô hướng, hoặcmột mạng nơ-ron kết nối đầy đủ có kích thước đầu ra bằng 1

Nhìn chung từng khối đều có các lớp nơ-ron (layer) đặc thù riêng phù hợp với chứcnăng của khối đó Trong các phần tiếp theo, em sẽ trình bày một số kiến trúc được

sử dụng phổ biến và tỏ ra hiệu quả trong việc nắm bắt được các biểu diễn chính xáccho tin bài cũng như người dùng

2.1.2 Mô hình CNN (Convolutional Neural Network)

Mô hình CNN [12] là một mô hình được sử dụng rộng rãi trong lĩnh vực thị giácmáy tính cũng như xử lý ngôn ngữ tự nhiên Mô hình này dùng các phép nhân tíchchập để nắm bắt các đặc trưng cục bộ trong dữ liệu đầu vào; người ta sử dụng các

ma trận bộ lọc (filter) trượt trên ma trận đầu vào, tại mỗi vị trí, tiến hành tính toángiá trị tích chập cục bộ để tạo ra một bản đồ thuộc tính (feature map) mới (hình2.2) Giả sử với ma trận đầu vào làI, bộ lọc filter làK, giá trị tích chập củaK trên

Trang 23

Hình 2.2: Hoạt động của phép nhân tích chập Với ma trận đầu vào I (màu trắng), thực

hiện trượt bộ lọc K (màu xanh lam) lên trên ma trận I; tại mỗi vị trí (màu đỏ), thực hiện phép nhân tích chập để thu được giá trị thông tin cục bộ (màu xanh lục)

I tại vị trí(m, n)được tính bằng công thức sau:

Tại các vị trí biên của ma trận đầu vào, thông thường người ta sẽ tiến hành padding

mở rộng ma trận để có thể tính toán được tích chập tại các vị trí này (hình 2.3).Việc trượt các bộc lọc (filter) trên ma trận đầu vào được quyết định bởi tham sốbước nhảy (stride), nó cho biết tại mỗi bước chúng ta tiến hành dịch chuyển baonhiêu pixel so với vị trí hiện tại Với kích thước ma trận đầu vào là i, kích thước

bộ lọc (filter) làk, số pixel padding là pvà bước nhảy (stride) là s; thì kích thướcbản đồ thuộc tính (feature map) đầu raocủa mạng nơ-ron tích chập được tính bằngcông thức sau:

o = ⌊i − k + 2p

Bằng việc trượt các bộ lọc - filter tại các vị trí trên đầu vào I, mạng CNN cókhả năng học được các tín hiệu đặc trưng cục bộ: các mẫu hình ảnh, mẫu vật thể;các ngữ nghĩa của từ trong câu Thông thường, người ta sẽ sử dụng nhiều bộ lọc(filter) trên cùng một tầng nơ-ron để tạo ra nhiều bản đồ thuộc tính (feature map),với kỳ vọng mỗi bộ lọc (filter) có khả năng học một mẫu đặc trưng khác nhau

2.1.3 Mô hình GRU (Gated Recurrent Units)

GRU là một thiết kế mô hình nằm trong nhóm các mô hình mạng hồi quy(recurrent neural network) sử dụng cơ chế cổng xử lý thông tin (gating mechanism)[13] Mạng nơ-ron hồi quy được dùng phổ biến trong các lĩnh vực mà dữ liệu đầu

Trang 24

Hình 2.3: Phép padding trong nhân tích chập Tại các phần biên (màu đỏ) của ma trận đầu

vào, người ta thực hiện pad thêm các giá trị 0 (màu xám) để có thể thực hiện được phép nhân tích chập.

vào có dạng chuỗi: dữ liệu âm thanh, dữ liệu văn bản, dữ liệu chuỗi thời gian Nó

có ứng dụng trong nhiều bài toán như dự đoán doanh thu, dự đoán từ tiếp theo,chuyển hóa giọng nói sang văn bản (speech to text) Trong các mạng nơ-rontruyền thống, tín hiệu đầu vào được xử lý một cách hoàn toàn độc lập, không có sựxâu chuỗi hay xem xét thứ tự trước-sau của chúng; điều này là không phù hợp vớibản chất tự nhiên của nhiều lĩnh vực: các giá trị trước, giá trị lịch sử có tác độngtới giá trị tương lai Với mạng hồi quy, đầu ra tại một bước thời gian phụ thuộc vàocác bước tính toán trước đó, hệ quả là mô hình có thể ghi nhớ được các thông tinlịch sử, lan truyền theo thời gian, và đem lại hiệu quả dự đoán tốt hơn (hình 2.4).Phiên bản ban đầu của mô hình hồi quy là RNN tiêu chuẩn (Recurrent NeuralNetwork) cho thấy một vấn đề khi nó không thể ghi nhớ được các phụ thuộc xa,nguyên nhân là do gradient của hàm mất mát giảm theo hàm mũ trên chiều thờigian [14] Để khắc phục vấn đề này, một kiến trúc mới được đề xuất là LSTM(Long-Short Term Memory) [15] với việc sử dụng thêm các khối kiến trúc đặcbiệt; cụ thể, trong LSTM, có một bộ nhớ tế bào (memory cell) được dùng để duytrì thông tin trong suốt chuỗi thời gian dài, các cổng được dùng để kiểm soát việckhi nào thông tin được tiếp nhận vào bộ nhớ - memory, khi nào nó bị quên, cũngnhư cách thông tin được output ra bên ngoài Kiến trúc LSTM được kiểm chứng làcho phép mô hình học được các phụ thuộc xa trong chuỗi thời gian, xong nó lại kháphức tạp và yêu cầu chi phí tính toán cao, vấn đề này là đặc biệt nghiêm trọng khikiến trúc tuần tự của các mạng hồi quy không cho phép ta song song hóa để tăng

Trang 25

Hình 2.4: Mạng nơ-ron hồi quy - recurrent neural network Đầu ra ht phụ thuộc vào đầu vào của bước thời gian hiện tại x t và các bước tính toán trước đó (các kết nối đi dọc theo chiều thời gian).

Hình 2.5: Kiến trúc của mô hình GRU Mô hình duy trì 2 cổng cài lại (reset gate) và cổng

cập nhật (update gate) để quyết định quá trình thông tin được cập nhật, xử lý.

tốc

GRU (Gated Recurrent Units) là một phiên bản tương tự của LSTM, xong kiến trúc

đã được làm đơn giản lại với ít cổng hơn (GRU có 2 cổng, LSTM có 3 cổng) Sơ

đồ tính toán của GRU được minh họa trong hình 2.5

Cụ thể, với tín hiệu đầu vàoxtvà vector trạng thái ẩnht−1của bước thời gian trước

đó, giá trị vector cổng cập nhật (update gate)zt được tính như sau:

z t = σ g (W z x t + U z h t−1 + b z ) (2.3)Tương tự là vector cổng cài lại (reset gate)rt:

rt = σg(Wrxt+ Urht−1+ br) (2.4)

Trang 26

Từ vector cổng cài lại (reset gate) r t, người ta tính ra vector ứng cử viên kích hoạt(candidate activation) ¯htnhư sau:

¯

Cuối cùng, trạng thái ẩn mớih tlà sự kết hợp của vector cổng cập nhật (update gate)

zt, vector ứng cử viên kích hoạt (candidate activation)¯htvà trạng thái ẩn của bướcthời gian trước đóht−1:

Ở trong các công thức (2.3), (2.4) và (2.5), các biếnW,U vàbchính là các trọng sốcủa mô hình, có thể điều chỉnh được trong quá trình học Ký hiệu⊙biểu diễn chophép nhân từng phần tử Hadamard (element-wise product) Hàm kích hoạt được sửdụng cho cổng cập nhật (update gate) và cổng cài lại (reset gate) là hàm sigmoid(σg); còn đối với vector ứng cử viên kích hoạt (candidate activation), tác giả sửdụng hàm kích hoạt tanh (ϕh)

2.1.4 Mô hình chú ý cộng (Additive Attention)

Thực tế, chúng ta có thể nhận ra rằng không phải tất cả mọi thuộc tính đều quantrọng trong việc biểu diễn một thực thể Ví dụ, trong một văn bản, để biểu diễn nộidung của văn bản đó thì các từ dừng (stop words) sẽ không quan trọng bằng các từkhóa (keywords) chính; để phân biệt giữa con chim và con mèo, chúng ta chỉ cầntập trung vào đặc điểm con vật đó có cánh hay không, thay vì quan tâm đến màulông Dựa trên thực tế đó, các kiến trúc chú ý (Attention) được thiết kế để nắmbắt các đặc trưng thông tin hữu ích nhất cho mục tiêu dự đoán

Chú ý cộng (Additive Attention) là một kiến trúc được đề xuất bởi Bahdanau trongmột bài báo về dịch máy có tên “Neural Machine Translation by Jointly Learning

to Align and Translate” [16] Trước đó, đối với các các mô hình mã hóa - giải mã(encoder - decoder) cơ bản, các thiết kế cố gắng mã hóa toàn bộ xâu đầu vào thànhmột vector có kích thước cố định; tuy nhiên, cách tiếp cận của Bahdanau mã hóatoàn bộ chuỗi đầu vào thành một chuỗi các vector, trong quá trình giải mã phục vụdịch máy, mô hình của ông có khả năng thích nghi lựa chọn một tập con các vectorquan trọng để tính toán (hình 2.6)

Bahdanau ký hiệuh1,h2, là các vector phụ chú (annotation) được tính toán bởi

bộ mã hóa (encoder) dựa trên chuỗi từ đầu vào Mỗi vector phụ chú (annotation)

h i chứa thông tin của toàn bộ xâu đầu vào với mức độ tập trung nhiều hơn ở xungquanh vị trí của từ thứi trong câu Kí hiệusi−1 là trạng thái ẩn (hidden state) củamạng giải mã (decoder) tại bước thời giani − 1 Giá trị điểm dóng hàng (alignment

Trang 27

Hình 2.6: Kiến trúc mạng dịch máy với chú ý cộng (Ađitive Attention) (Nguồn: [16]).

Tại mỗi bước thời gian t, cơ chế chú ý cộng (Ađitive Attention) được áp dụng để tính ra trọng số chú ý (attention weight) αticho các vector phụ chú (annotation) hicủa bộ mã hóa (encoder); từ đó tính ra vector ngữ cảnh toàn cục (global context) c t Vector ngữ cảnh toàn cục ctđược sử dụng để tính toán vector trạng thái ẩn stcủa bộ giải mã (decoder).

score) eij của trạng thái ẩn (hiđen state)si−1 với các vector phụ chú (annotation)

hj được tính như sau:

vớiặ)thể hiện cho một mạng nơ-ron truyền tiến

Dựa vào điểm các giá trị điểm dóng hàng (alignment score)eij, người ta sử dụngmột hàm softmax để tính ra trọng số đóng gópαijcủa các vector phụ chú (annotation)vào trong vector ngữ cảnh (context) của bước thời gian hiện tại:

αij = exp(eij)

PT x

Từ đó, vector ngữ cảnh (context) tại bước thời gian hiện tạici được tính bằng tổng

có trọng số của các vector phụ chú (annotation)hj:

Trang 28

Hình 2.7: Sự phụ thuộc của các từ vựng đầu ra đối với các từ vựng đầu vào của mô hình

dịch máy Ví dụ thể hiện mức độ phụ thuộc khác nhau của các từ đầu ra trên bộ giải mã (decoder) đối với các từ đầu vào ở bộ mã hóa (encoder) trong bài toán dịch từ câu tiếng Anh

"How was your day" sang câu tiếng Pháp tương ứng Chúng ta có thể thấy, từ "Comment" trong câu tiếng Pháp phụ thuộc nhiều vào từ "How" trong câu tiếng Anh; trong khi đó, từ

"journée" lại phụ thuộc nhiều hơn vào từ "day".

Cuối cùng, kết quả trạng thái ẩn (hidden state) của bước thời gian mới s iđược tínhdựa trên trạng thái ẩn (hidden state) của bước thời gian trước đó si−1, output củabước thời gian trước đó yi−1 và vector ngữ cảnh (context) của bước thời gian hiệntại ci:

Như vậy, trong mô hình đề xuất bởi Bahdanau, cơ chế chú ý cộng (Additive Attention)

đã được áp dụng trong bước tính toán ra vector ngữ cảnh (context) ci từ các vectorphụ chú (annotation)hj, với 3 bước xử lý chính:

• Tính toán điểm dóng hàng (alignment score) e bằng một biến đổi trên cácvector đầu vào (2.7)

• Tính toán trọng số chú ý (attention weight)αbằng cách áp dụng hàm softmaxtrên các điểm dóng hàng (alignment score)e(2.8)

• Tính toán vector ngữ cảnh (context) c bằng tổng có trọng số của các vectorđầu vào (2.9)

Hình 2.7 là một ví dụ minh họa cho việc mỗi từ vựng đầu ra ở bộ giải mã (decoder)

sẽ có mức độ phụ thuộc khác nhau vào các từ vựng đầu vào trong bộ mã hóa(encoder), từ đó khẳng định tính hiệu quả của phương pháp chú ý cộng (AdditiveAttention) mà Bahdanau đã đề xuất

2.1.5 Mô hình Transformer

Các mô hình mạng nơ-ron hồi quy xử lý thông tin theo chuỗi, do đó không chophép chúng ta thực hiện quá trình song song hóa tính toán, đầu ra của bước thời

Trang 29

Hình 2.8: Sơ đồ kiến trúc mô hình Transformer.

gian sau chỉ có thể được tính sau khi bước thời gian trước được thực hiện; kết quả

là quá trình dự đoán trở nên chậm chạp bởi xử lý chuỗi Transformer là một kiếntrúc được thiết kế để giải quyết vấn đề này, toàn bộ dữ liệu đầu vào đều được xử lýđồng thời, mà vẫn cho phép học được sự phụ thuộc giữa các phần tử Transformerlần đầu được giới thiệu tại bài báo “Attention Is All You Need” [17] bởi các tác giảthuộc trung tâm nghiên cứu Google Brain, Google Research và đại học Toronto

Sơ đồ kiến trúc của một tầng Transformer được mô tả trong hình 2.8

Thành phần cốt lõi của một tầng Transformer là khối chú ý đa đỉnh (Multi-HeadAttention) sử dụng cơ chế tự chú ý (Self-Attention) Để hiểu một cách khái quát,

tự chú ý (Self-Attention) cho phép từng từ "quan sát" các từ còn lại trong câu,hiểu ngữ cảnh và cập nhật biểu diễn của mình theo ngữ cảnh đó Cơ chế tự chú ý(Self-Attention) sử dụng ba ma trận với các vector biểu diễn query, key và value:

• Query: được coi là một truy vấn hỏi thông tin, một từ dùng query để hỏi các

từ còn lại về ngữ cảnh cũng như mối quan hệ của nó với các từ khác

• Key: được dùng để trả lời yêu cầu của truy vấn query và tính trọng số chú ý(attention weight)

• Value: được sử dụng cùng với trọng số chú ý (attention weight) ở trên để tính

Trang 30

ra vector đại diện.

Với ba ma trận đầu vào là queryQ, keyK và valueV; ký hiệudk là số chiều biểudiễn của các vector query và key; giá trị ma trận chú ý (attention matrix) của mỗiđỉnh (head) được tính như sau:

Trong đó: headi = Attention(QWQi , KWKi , V WVi ); với WQi , WKi và WVi lầnlượt là các trọng số biến đổi ma trận query, key, value của đỉnh (head) thứi

Trong kiến trúc của Transformer, các tác giả đề xuất sử dụng thêm các kết nối tắt(residual connection) cùng với tầng nơ-ron chuẩn hóa normalization để tăng khảnăng hội tụ cho mô hình Cuối cùng, khối lan truyền tiến từng vị trí (Position-wiseFeed Forward) được hiểu đơn giản là một mạng nơ-ron lan truyền tiến, bao gồmhai biến đổi tuyến tính được xen giữa bởi bột hàm kích hoạt RELU:

Do đặc điểm của Transformer là xử lý tín hiệu song song, cho nên mô hình khôngbiết được trật tự của các từ trong câu, để mô hình có thể học được trật tự trước saunày, người ta thường sử dụng thêm thông tin embedding vị trí (position embedding),cộng dồn với tín hiệu đầu vào của mạng (hình 2.9)

Transformer được thực nghiệm là cho thấy hiệu quả tốc độ tính toán nhanh hơn sovới các mô hình mạng hồi quy, trong khi cho hiệu năng dự đoán tốt hơn rất nhiều

2.1.6 Mô hình Fastformer

Fastformer [11] là một dạng kiến trúc biến thể của Transformer, được đề xuất bởicác nhà nghiên cứu của đại học Tsinghua với mục tiêu giảm độ phức tạp tính toáncủa mô hình Transformer, cũng như nâng cao hiệu năng học trong chuỗi dữ liệu dài

Ý tưởng cơ bản của Fastformer là sử dụng khối chú ý cộng (Additive Attention) đểhọc ra biểu diễn ngữ cảnh của ma trận query (query context), sử dụng phép nhântừng phần tử (element-wise) giữa vector ngữ cảnh query (query context) và cácvector key để học ra tương tác giữa chúng Một lược đồ tương tự được sử dụng để

Trang 31

Hình 2.9: Minh họa việc tích hợp thêm thông tin vị trí cho mô hình Transformer Thông

thường, người ta cộng dồn vector biểu diễn thông tin vị trí (positional encoding) với vector tín hiệu đầu vào (input embedding), sử dụng giá trị này làm input cho mạng nơ-ron.

tính toán vector ngữ cảnh key (key context) và mô hình hóa tương tác giữa nó vớicác vector value Sơ đồ kiến trúc của Fastformer được mô tả như hình 2.10

Giả sử chúng ta có 3 ma trận query Q, key K và value V đều thuộc RN ×d Cácbước tính toán của Fastformer được thực hiện như sau:

Đầu tiên, sử dụng cơ chế chú ý cộng (Additive Attention) để xây dựng vector querytoàn cục (global query vector)q từ ma trận queryQgiúp giữ lại các thông tin toàncục quan trọng nhất Cụ thể:

• Trọng số chú ý (attention weight) của thành phần query vector thứiđược tínhtheo công thức:

Trang 32

Hình 2.10: Sơ đồ kiến trúc mô hình Fastformer (Nguồn: [11]) Điểm nhấn của mô hình này

nằm ở việc sử dụng các cơ chế chú ý cộng (Additive Attention) và phép nhân từng phần tử (element-wise) để học ra tương tác giữa các ma trận query, key, value.

này có công thức tính như sau:

Cơ chế chú ý cộng (Additive Attention) tiếp tục được sử dụng để biến đổi ma trận

P thành một vector key toàn cục (global key)k, cụ thể:

• Trọng số chú ý (attention weight) của thành phần vector thứ i trong ma trậnkey ý thức toàn cục (global context-aware key matrix)P được tính như sau:

Trang 33

i i R (2.20)

Ma trận R được cộng dồn với ma trận query ban đầu Q để tạo thành kết nối tắt(residual connection), như vậy đầu ra của mô hình Fastformer sẽ làR + Q

2.1.7 Xây dựng mô hình gợi ý

Các phần ở trên đã giới thiệu những khối xây dựng cơ bản (building blocks) choviệc xây dựng một hệ gợi ý tin tức, chúng ta có thể tùy chọn lựa chọn lắp ghép cácthành phần này lại với nhau để xây dựng một mô hình hoàn chỉnh Dưới đây là một

số kiến trúc đã được nghiên cứu và kiểm chứng là có hiệu quả tốt trong việc dựđoán khả năng click của người dùng đối với các tin bài

a, Mô hình NAML (Neural News Recommendation with Attentive Multi-View Learning)

NAML [9] là một mô hình gợi ý tin tức được đề xuất bởi nhóm các nhà nghiêncứu thuộc đại học Tsinghua trong bài báo có tên “Neural News Recommendationwith Attentive Multi-View Learning” Nghiên cứu của nhóm tác giả giải quyết vấn

đề khai thác các loại thông tin khác nhau (views) để tạo ra biểu diễn chính xáchơn cho tin bài Đối với khối mã hóa tin bài (news encoder), mô hình sử dụng cơchế chú ý cộng (Additive Áttention) cho cả mức độ từ vựng và mức độ thuộc tính(word-level và view-level); với khối mã hóa người dùng (user encoder), mô hình sửdụng cơ chế chú ý cộng (Additive Attention) để lựa chọn các bài viết quan trọngtrong lịch sử tương tác, thể hiện được đặc trưng sở thích của người dùng Sơ đồhoạt động của mô hình được mô tả như hình 2.11

Với khối mã hóa tin bài (news encoder), theo quan sát của tác giả, trong một bàiviết, sẽ có những từ quan trọng thể hiện nội dung chính của bài viết đó, và ngườidùng sẽ chú ý vào các từ này để quyết định việc có click vào tin bài hay không(hình 2.12) Dựa trên cơ sở này, các tác giả của NAML đã tận dụng kiến trúc CNN

để biểu diễn đặc trưng ngữ cảnh cục bộ của từ, sau đó sử dụng cơ chế chú ý cộng(Additive Attention) để tính ra trọng số của các từ cũng như kết hợp chúng lại thànhmột vector biểu diễn đơn nhất cho nội dung văn bản Phương pháp này được gọi là

Trang 34

Hình 2.11: Sơ đồ kiến trúc mô hình gợi ý tin tức NAML (Nguồn: [9]) Mô hình sử dụng các

thông tin tiêu đề - title, tóm tắt - abstract, thể loại - category và thể loại con - subcategory

để biểu diễn cho tin bài Cơ chế chú ý cộng (Additive Attention) được sử dụng trong việc học ra các từ quan trọng thể hiện nội dung chính của tin bài (word-level attention); đồng thời nó cũng được sử dụng để học ra mức độ đóng góp của các thuộc tính vào trong quá trình tìm ra biểu diễn chung cho tin bài đó (view-level attention) Cuối cùng, chú ý cộng (Additive Attention) được tác giải khai thác để trích rút được các tin bài đặc trưng thể hiện được sở thích của người dùng trong chuỗi tương tác lịch sử

Hình 2.12: Sự khác nhau giữa mức độ đặc trưng ngữ nghĩa của các từ trong câu (Nguồn:

[9]) Các từ được bôi đỏ là các từ quan trọng, thể hiện nội dung chính của văn bản.

chú ý mức độ từ vựng (word-level attention); và được các tác giả áp dụng cho tất

cả các thuộc tính dạng văn bản (text), bao gồm tiêu đề (title) và tóm tắt (abstract).Tiếp đến, các tác giả nhận thấy, việc sử dụng các thông tin về thể loại - categoryhay thể loại con - subcategory cũng là rất hữu ích cho bài toán gợi ý tin tức: nếumột người dùng đọc nhiều tin bài trong lĩnh vực thể thao, chúng ta có thể suy luậnrằng người dùng này yêu thích thể thao và đưa ra các bài gợi ý tương ứng Đối vớicác thuộc tính dạng rời rạc như thế này, NAML sử dụng kết hợp một tầng nơ-ronembedding để chiếu chúng lên không gian vector, sau đó sử dụng một tầng nơ-ronkết nối đầy đủ với hàm kích hoạt RELU để có thể học được các quan hệ phi tuyếntrong dữ liệu

Mức độ quan trọng của các thuộc tính đối với quá trình biểu diễn được cho là khác

Trang 35

Cuối cùng, đối với việc mã hóa người dùng, tác giả cũng cho rằng không phải tất

cả các tin bài mà người dùng đã click đều có vai trò như nhau trong phản ánh sởthích của họ Điều này là dễ hiểu vì một số hiện tượng như tin hot, tin phổ biến

có thể dẫn tới việc người dùng click vào tin bài nhưng thực chất lại không phải vìngười dùng yêu thích nó Ví dụ, tin bài với nội dung “10 best NBA moments” làrất có giá trị trong mô hình hóa sở thích, vì các tin bài này thường được tương tácbởi các người dùng có mối quan tâm đến lĩnh vực thể thao; song ngược lại, tin bài

“The Weather Next Week” là kém giá trị hơn bởi nó là một tin phổ cập, và đượcđọc bởi rất nhiều người dùng khác nhau Để giải quyết vấn đề này, một lần nữa cơchế chú ý cộng (Additive Attention) được tận dụng để học ra biểu diễn vector thểhiện sở thích của người dùng dựa trên các tin bài đặc trưng nhất

b, Mô hình NRMS (Neural News Recommendation with Multi-Head Self-Attention)

NRMS [8] là một mô hình được đề xuất cũng bởi các tác giả thuộc đại họcTsinghua Ý tưởng chính của mô hình này là sử dụng các khối tự chú ý đa đỉnh(Multi-Head Self-Attention) trong kiến trúc của Transformer để mã hóa tiêu đề(title) của tin bài, cũng như học ra biểu diễn theo ngữ cảnh của các tin bài màngười dùng từng tương tác Sơ đồ hoạt động của mô hình gợi ý NRMS được minhhọa trong hình 2.13

Nghiên cứu của nhóm tác giả này chỉ sử dụng thông tin tiêu đề (title) làm đầu vàocho quá trình mô hình hóa Ý tưởng của mô hình dựa trên các lý luận sau:

• Xét về mức độ từ vựng, các nhà nghiên cứu cho rằng: việc học được mối quan

hệ giữa các từ là rất quan trọng để hiểu được nội dung của tin tức Ví dụ nhưtrong hình 2.14, từ “Rockets” có mối liên hệ chặt chẽ với từ “Bulls”; ngoài ra,một từ còn có thể có sự tương tác với nhiều từ khác nhau: “Rockets” có mốiquan hệ về ngữ nghĩa với các từ “trade” và “Bulls” Bên cạnh đó, giống vớinhóm tác giả của phương pháp NAML, các tác giả của mô hình NRMS cũngchỉ ra rằng các từ khác nhau trong câu có tầm quan trọng khác nhau đối vớiquá trình biểu diễn ý nghĩa của câu

Trang 36

Hình 2.13: Sơ đồ kiến trúc mô hình gợi ý tin tức NRMS (Nguồn: [8]).

Hình 2.14: Minh họa sự tương tác giữa các từ trong một văn bản (Nguồn: [8]).

• Xét về mức độ bài viết, các nhà nghiên cứu nhận thấy các tin bài khác nhauđược click bởi cùng một người dùng có thể sẽ có mối quan hệ với nhau; chẳnghạn như trong hình 2.14, tin tức thứ hai “Rockets trade Carter-Williams tothe Bulls” được cho là có mối quan hệ với các tin tức “Best NBA Moments

in 2018” và “James Harden’s incredible heroics lift Rockets over Warriors inovertime” Tiếp tục giống với NAML, NRMS cũng cho rằng các tin bài khácnhau có tầm quan trọng khác nhau trong mô hình hóa sở thích của người dùng

Để có thể giải quyết được các vấn đề đặt ra trong các quan sát ở trên, NRMS đã

sử dụng kiến trúc tự chú ý đa đỉnh (Multi-Head Self-Attention) để học ra tươngtác giữa các từ trong tiêu đề (title), từ đó tạo ra các biểu diễn vector theo ngữ cảnhtoàn cục của tất cả các từ Sau đó, NRMS sử dụng cơ chế chú ý cộng (AdditiveAttention) cho việc học ra trọng số của các từ quan trọng trong câu, sử dụng trọng

số này để kết hợp các vector thành phần trong một vector duy nhất biểu diễn ngữnghĩa cho câu - hay chính là vector biểu diễn cho tin bài Cơ chế tương tự được

Trang 37

được người dùng click trong lịch sử, mô hình Fastformer sử dụng các khối mã hóaFastformer nhằm mục đích giảm độ phức tạp tính toán cũng như tăng hiệu quả nắmbắt ngữ nghĩa đối với các câu dài Do kiến trúc mô hình gợi ý Fastformer là hoàntoàn giống với NRMS nên các bước cụ thể tính toán của mô hình chúng ta thamkhảo ở phần trên.

2.2 Học tương phản (contrastive learning)

2.2.1 Tổng quan về học tương phản

Học tương phản (contrastive learning) là một kỹ thuật học tự giám sát supervised) có mục đích tìm ra biểu diễn chất lượng cho các thể hiện dữ liệu Ýtưởng nằm sau kỹ thuật này đó chính là cực đại hóa thông tin chia sẻ giữa hai gócnhìn khác nhau của cùng một điểm dữ liệu; cụ thể hơn, điều chỉnh mô hình học saocho cặp vector mã hóa 2 biến thể khác nhau của cùng một đầu vào cần phải có độtương đồng cao (độ tương đồng có thể được đánh giá bằng các độ đo như cosine,tích vô hướng, ) Kỹ thuật này đã được sử dụng phổ biến trong các lĩnh vực nhưthị giác máy tính và xử lý ngôn ngữ tự nhiên với những thành công đáng kể, đặcbiệt là trong các trường hợp kích thước bộ dữ liệu khả dụng cho các tác vụ học cógiám sát (supervised learning) là không quá lớn

(self-Các thành phần cốt lõi của một hệ thống học tương phản (contrastive learning) baogồm:

• Bộ tăng cường dữ liệu (data augmentation)

• Mạng nơ-ron mã hóa (encoder network) trích rút vector biểu diễn

• Hàm mất mát (loss function) đánh giá độ tương đồng, tương phản giữa các cặp

dữ liệu

Các phần sau đây, em sẽ lần lượt trình bày sơ qua về các thành phần này

2.2.2 Tăng cường dữ liệu (data augmentation)

Tăng cường dữ liệu (data augmentation) là bước mà chúng ta tạo ra các góc nhìn(biến thể) khác nhau của dữ liệu Ví dụ như đối với một tấm ảnh, chúng ta có thể

Trang 38

Hình 2.15: Một số phép tăng cường dữ liệu (data augmentation) đối với dữ liệu ảnh

2.2.3 Mạng nơ-ron mã hóa (encoder network)

Thành phần tiếp theo trong hệ thống học tương phản là một mạng nơ-ron dùng

để trích rút vector biểu diễn đặc trưng từ dữ liệu, ta có thể dùng mạng này để huấnluyện đồng thời cho một tác vụ chính khác (main task): phân loại, phân vùng Không có một giới hạn nào trong việc lựa chọn kiến trúc mạng cho thành phầnnày, chúng ta có thể sử dụng các kiến trúc phổ biến trong từng lĩnh vực, chẳng hạnnhư: mạng CNN cho xử lý ảnh; mạng CNN, LSTM, kiến trúc Transformer cho xử

lý văn bản Cũng theo nghiên cứu của tác giả Ting Chen, việc tăng kích thướcmạng cả về chiều rộng và chiều sâu có thể cải thiện được hiệu năng trên tác vụchính (main task) của hệ thống học tương phản (contrastive learning)

2.2.4 Hàm mất mát (loss function)

Giả sử trong một batch huấn luyện cóN điểm dữ liệu; với mỗi điểm dữ liệu tatiến hành các phép biến đổi tăng cường dữ liệu (data augmentation) để thu được

Trang 39

Hình 2.16: Sơ đồ hoạt động của hệ thống học tương phản (contrastive learning) (Nguồn:

[18]) Từ bức ảnh con chó và cái ghế, người ta thực hiện các phép cắt ảnh, biến đổi màu để thu được 2 góc nhìn khác nhau cho mỗi ảnh Thông qua mạng CNN, chúng ta thu được 4 vector đặc trưng ứng với 4 góc nhìn Mục tiêu của học tương phản là cực đại hóa sự tương đồng giữa 2 vector biểu diễn 2 tấm ảnh con chó (hoặc giữa 2 tấm ảnh cái ghế); trong khi đảm bảo vector biểu diễn tấm ảnh con chó và vector biểu diễn tấm ảnh cái ghế là khác nhau nhất có thể.

Trang 40

2N điểm dữ liệu mới (các góc nhìn mới) Ứng với mỗi cặp ví dụ dương i,j (2 gócnhìn khác nhau của cùng một điểm dữ liệu gốc), sẽ có2(N − 1)cặp ví dụ âm Hàmmất mát được sử dụng trong học tương phản có mục tiêu cực đại hóa độ tương đồnggiữa 2 vector biểu diễn trong cặp ví dụ dương, trong khi đảm bảo các vector biểudiễn trong các cặp ví dụ âm là khác nhau nhất có thể Ví dụ hàm mất mát được sửdụng trong nghiên cứu của tác giả Ting Chen [2] có công thức như sau:

ℓi,j = − log exp(sim(zi, zj))

P2N

Trong đó:

• ℓi,j là giá trị hàm mất mát ứng với cặp ví dụ dươngi,j

• zi là vector mã hóa cho điểm dữ liệu i, thu được bởi mạng nơ-ron mã hóa(encoder network)

• sim(zi, zj)là hàm đánh giá độ tương đồng giữa 2 vectorzi vàzj Hàm này cóthể là các hàm độ đo cosine, hàm tích vô hướng

• 1k̸=i nhận giá trị bằng 1 nếu thể hiện ivàk không ứng với cùng một điểm dữliệu gốc, ngược lại hàm này nhận giá trị bằng 0

Một điểm đáng chú ý khi chúng ta sử dụng kỹ thuật học tương phản (contrastivelearning), đó chính là hiệu năng của hệ thống học tương phản đối với tác vụ chính

- main task sẽ tăng khi chúng ta tăng kích thước batch size trong quá trình huấnluyện [2] Nguyên nhân là khi tăng kích thước batch, sẽ có nhiều cặp ví dụ âmhơn, dẫn tới mô hình có khả năng tốt hơn trong học ra biểu diễn có tính phân biệttốt giữa các thể hiện dữ liệu khác nhau; tuy nhiên chúng ta cũng cần cân nhắc vìviệc tăng kích thước batch dẫn tới yêu cầu phần cứng bộ nhớ lớn hơn Ngoài ra,việc huấn luyện mô hình với thời gian lâu hơn, nhiều epochs hơn cũng có khả năngnâng cao hiệu năng của hệ thống khi nó cũng góp phần giúp mô hình "nhìn thấy"nhiều cặp ví dụ âm hơn Hình 2.17 minh họa cho hiệu năng top-1 accuracy trên bộ

dữ liệu ImageNet ILSVRC-2012 của mô hình sử dụng trong [2] với các kích thướcbatch size và epochs khác nhau

2.3 Sơ lược về tối ưu đa mục tiêu

2.3.1 Phát biểu bài toán tối ưu đa mục tiêu

Trong nhiều trường hợp thực tế, đôi khi chúng ta cần phải tìm lời giải thỏa mãnđồng thời nhiều mục tiêu khác nhau; ví dụ như tìm phương án sản xuất để cực tiểuhóa chi phí nguyên liệu và cực đại hóa sản lượng đầu ra Các vấn đề này có thể đượcphát biểu dưới dạng một bài toán tối ưu đa mục tiêu (Multi Objective Optimize -

Ngày đăng: 04/03/2024, 01:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN