ĐẠI HỌC BÁCH KHOA NỘI
LUẬN VĂN THẠC
Một số phương pháp học máy
trong bài toán gợi ý
NGUYỄN THỊ HẰNG
hang.nt222071m@sis.hust.edu.vn
Ngành Toán Tin
Giảng viên hướng dẫn: PGS.TS. Chí Ngọc
Chữ của GVHD
Khoa: Toán-Tin
NỘI, 10/2024
CỘNG HÒA HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC
Họ tên tác giả luận văn: Nguyễn Thị Hằng
Đề tài luận văn: Một số phương pháp học máy trong bài toán gợi ý
Chuyên ngành: Toán tin
số HV: 20222071M
Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả đã sửa
chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày: 28/12/2024 với các nội dung sau:
- soát lỗi chính tả, định dạng luận văn, diễn đạt lại một số đoạn văn ràng hơn.
- Bổ sung độ đo F1-score giải thích chi tiết các thử nghiệm trên cả hai bộ dữ liệu
EEL MyTV. Thêm giải thích chi tiết về cách xử dữ liệu phương án đánh nhãn
trên cả hai bộ dữ liệu.
- soát, đánh số thống nhất công thức toán học trong luận văn.
Nội, ngày . . . tháng . . . năm 2024
Giảng viên hướng dẫn Tác giả luận văn
CHỦ TỊCH HỘI ĐỒNG
ĐỀ TÀI LUẬN VĂN
Tên học viên: Nguyễn Thị Hằng
học viên: 20222071M
Tên đề tài: Một số phương pháp học máy trong bài toán gợi ý
Ngành: Toán Tin
Cán bộ hướng dẫn: PGS.TS. Chí Ngọc
Đơn vị: Khoa Toán-Tin, Đại học Bách khoa Nội
Nội, ngày . . . tháng . . . năm 2024
Giảng viên hướng dẫn
PGS.TS. Chí Ngọc
Lời cảm ơn
Tác giả xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS. Chí Ngọc, người đã
tận tâm hướng dẫn đưa ra những ý kiến quý báu giúp tác giả hoàn thiện luận
văn này. Đồng thời, tác giả chân thành cảm ơn các đồng nghiệp: Hoàng
Dương, Trần Sơn, Phạm Văn Khánh, Nguyễn Việt Dũng, cùng các
thầy bạn tại Khoa Toán - Tin, Đại học Bách khoa Nội, những người
đã luôn đồng hành hỗ trợ trong suốt quá trình học tập nghiên cứu. Đặc biệt,
tác giả xin gửi lời tri ân sâu sắc tới gia đình, nguồn động viên hậu phương
vững chắc, đã hy sinh thầm lặng để tác giả thể tập trung trọn vẹn vào con
đường học vấn.
Tóm tắt nội dung luận văn
Luận văn nghiên cứu hệ thống gợi ý, một thành phần quan trọng trong việc
nhân hóa trải nghiệm người dùng trên các nền tảng lớn. Tác giả tập trung vào
hai hình học máy: VAE DeepFM áp dụng trên bộ dữ liệu MyTV (truyền
hình đa phương tiện) Exam E-Learning của AEGlobal (giáo dục trực tuyến).
Luận văn gồm 3 chương:
Chương 1: Tổng quan bài toán sở thuyết.
Chương 2: Một số hình học máy trong hệ thống gợi ý.
Chương 3: Kết quả thực nghiệm.
Chương trình thực nghiệm: Python 3.10.13 trên Ubuntu 22.04, sử dụng
GPU NVIDIA A100 (CUDA 12.3).
Kết quả luận văn đáp ứng mục tiêu nghiên cứu, tính thực tiễn tiềm
năng ứng dụng cao trong các hệ thống thực tế.
Từ khóa: Hệ thống gợi ý, VAE, DeepFM, MyTV, EEL.
HỌC VIÊN
(Ký ghi họ tên)
Nguyễn Thị Hằng
Mục lục
Danh sách hình vẽ
Danh sách bảng
Bảng kỹ hiệu chữ viết tắt 2
Mở đầu 3
1 Tổng quan bài toán sở thuyết 6
1.1 Giới thiệu tổng quan bài toán hệ thống gợi ý . . . . . . . . . . . 6
1.2 Khó khăn thách thức . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Một số phương pháp tiếp cận máy học
cho bài toán hệ thống gợi ý . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Hệ thống gợi ý dựa trên nội dung . . . . . . . . . . . . 15
1.3.2 Phương pháp collaborative filtering . . . . . . . . . . . 19
2 Một số hình học máy
trong hệ thống gợi ý 23
2.1 Học từ dữ liệu phản hồi ngầm . . . . . . . . . . . . . . . . . . 24
2.2 hình variational autoencoder . . . . . . . . . . . . . . . . . 25
2.2.1 hình AutoEncoder . . . . . . . . . . . . . . . . . . 25
2.2.2 Giới thiệu về hình variational autoencoders - VAEs . 35
2.2.3 Nguyên hoạt động kiến trúc của hình VAEs . . 36
2.2.4 hình VAEs trong hệ thống gợi ý . . . . . . . . . . . 39
2.3 hình Deep Factorization Machine . . . . . . . . . . . . . . 43
2.3.1 Thành phần FM . . . . . . . . . . . . . . . . . . . . . . 44
2.3.2 Thành phần Deep . . . . . . . . . . . . . . . . . . . . . 45
3 Kết quả thực nghiệm 49
3.1 Đặc điểm bộ dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.1 Bộ dữ liệu kiểm tra trên nền tảng học trực tuyến
Exam E-Learning (EEL) . . . . . . . . . . . . . . . . . 49
3.1.2 Bộ dữ liệu gợi ý nội dung thuộc nền tảng MyTV (MyTV) 52
3.2 Phương pháp đánh giá . . . . . . . . . . . . . . . . . . . . . . 56
3.3 Thử nghiệm kết quả nghiên cứu . . . . . . . . . . . . . . . . 57
Kết luận 60
Chỉ mục
Tài liệu tham khảo
Danh sách hình vẽ
1.1 Ứng dụng của hệ thống gợi ý. . . . . . . . . . . . . . . . . . . . 6
1.2 Minh họa quá trình gợi ý. . . . . . . . . . . . . . . . . . . . . . 7
1.3 Các thành phần của hệ thống gợi ý (1). . . . . . . . . . . . . . . 7
1.4 Các thành phần của hệ thống gợi ý (2). . . . . . . . . . . . . . . 8
1.5 Tổng quan các phương pháp tiếp cận hệ thống gợi ý.[12] . . . . 8
1.6 tả ý tưởng hoạt động dựa trên nội dung collaborative
filtering [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Kỹ thuật lọc kết hợp. . . . . . . . . . . . . . . . . . . . . . . . 10
1.8 Một số phân phối dữ liệu lệch [15]. . . . . . . . . . . . . . . . . 13
1.9 Hiện tượng đuôi dài [10]. . . . . . . . . . . . . . . . . . . . . . 14
1.10 Biểu diễn phân của ma trận dự đoán X [1]. . . . . . . . . . . 22
2.1 Kiến trúc tổng quan của hình AutoEncoder. . . . . . . . . . 26
2.2 Phương pháp giảm chiều dữ liệu. . . . . . . . . . . . . . . . . . 29
2.3 hình contractive autoencoders - CAEs. . . . . . . . . . . . . 34
2.4 Cách thức hoạt động của hình DAE. . . . . . . . . . . . . . 35
2.5 Biểu diễn thuộc tính tiềm ẩn trong hình AEs. . . . . . . . . 35
2.6 Biểu diễn thuộc tính tiềm ẩn trong hình VAEs. . . . . . . . . 36
2.7 Nguyên hoạt động của reparameterization trick[22]. . . . . . 38
2.8 Kiến trúc hình variational Autoencoders[17]. . . . . . . . . 39
2.9 Kiến trúc hình Deep Factorization Machine.[8] . . . . . . . 43
2.10 Thành phần FM của hình DeepFM.[8] . . . . . . . . . . . . 45
2.11 Thành phần Deep của hình DeepFM.[8] . . . . . . . . . . . 46
2.12 Kiến trúc mạng từ lớp đầu vào đến lớp nhúng.[8] . . . . . . . . 47
3.1 Phân bố tỷ lệ nhãn của tập dữ liệu EEL. . . . . . . . . . . . . . 51
3.2 Dịch vụ MyTV. . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3 Tỷ lệ nhãn theo phương án 1. . . . . . . . . . . . . . . . . . . . 54
3.4 Tỷ lệ nhãn theo phương án 2. . . . . . . . . . . . . . . . . . . . 55
Danh sách bảng
1.1 So sánh giữa phản hồi ngầm, tường minh kết hợp . . . . . . . 12
1.2 Ma trận utility. . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Hồ nội dung - Item profiles. . . . . . . . . . . . . . . . . . . 17
3.1 Bảng dữ liệu kết quả trả lời câu hỏi của học sinh . . . . . . . . . 50
3.2 Bảng dữ liệu thông tin câu hỏi trong đề kiểm tra . . . . . . . . . 50
3.3 Dữ liệu lịch sử xem của người dùng . . . . . . . . . . . . . . . 53
3.4 Thông tin về nội dung phim . . . . . . . . . . . . . . . . . . . . 53
3.5 Thử nghiệm kết quả nghiên cứu - bộ dữ liệu EEL . . . . . . . 57
3.6 Thử nghiệm kết quả nghiên cứu - bộ dữ liệu MyTV . . . . . 58
3.7 Thử nghiệm nghiên cứu trên bộ dữ liệu MyTV . . . . . . . . . . 59
2
Bảng hiệu chữ viết tắt
Từ viết tắt Tiếng anh Ý nghĩa
RS Recommendation system Hệ thống gợi ý
CBF Content-Based Filtering Hệ gợi ý dựa trên nội dung
CF Collaborative Filtering
HRS Hybrid Recommendation System Phương pháp lọc kết hợp
VAE Variational Autoencoder
DeepFM Deep Factorization Machine
AE AutoEncoder
MSE (L2) Mean Squared Error Trung bình lỗi bình phương
MAE (L1) Mean Absolute Error Trung bình lỗi tuyệt đối
PCA Principal Component Analysis Phân tích thành phần chính
CTR Clickthrough rate Chỉ số CTR
TF-IDF Term Frequency -
Inverse Document Frequency
DNN Deep Neural Network Mạng nơ-ron học sâu
MLP MultiLayer Perceptron
ReLU Rectified Linear Units Hàm kích hoạt ReLU
SGD Stochastic Gradient Descent
EEL Exam E-Learning
CAE Contractive AutoEncoder
DAE Denoising AutoEncoder
3
Mở đầu
Đối với các sản phẩm điện tử, trải nghiệm người dùng việc đáp ứng chính
xác nhu cầu của khách hàng yếu tố tiên quyết để duy trì lòng trung thành của
người tiêu dùng. Hệ thống gợi ý một bài toán cực kỳ quan trọng được quan
tâm lớn để thể nắm bắt được tâm lý, thói quen nhu cầu khách hàng. Nếu
mang đến cho khách hàng đúng thời điểm, đúng sản phẩm thì việc còn lại chính
sự hài lòng của người dùng một cách tự nhiên người dùng sẽ lại.
Một dụ nổi bật trong lĩnh vực truyền hình, quảng cáo, để tăng tính nhân
hóa trong quảng cáo, các đài truyền hình đã tạo ra nhiều kênh khác nhau cho
từng nhóm đối tượng. Các kênh khoa học, giải trí, thiếu nhi, v.v ra đời giúp khán
giả thể xem những nội dung mình yêu thích giúp nhà đài quảng cáo tới
đúng đối tượng hơn. Một dụ thú vị về World Cup, giải bóng thể truyền các
tín hiệu tới các khu vực khác nhau với nội dung các biển quảng cáo trên sân
khác nhau. Bạn thể vài lần thấy các thương hiệu Việt Nam trên các nội dung
thể thao quốc tế, nhưng điều đó không đồng nghĩa với việc các khán giả châu
Âu hay châu Mỹ cũng nhìn thấy nội dung quảng cáo đó [18]. Việc này vừa giảm
chi phí quảng cáo cho các thương hiệu Việt vừa mang lại lợi nhuận cao hơn
cho đơn vị phát sóng mang tới nhiều quảng cáo chất lượng tới nhiều nơi hơn.
Tuy nhiên, việc chia kênh này cũng chỉ hướng tới một nhóm người dùng chung
chung nhất định. Hay TikTok nền tảng video âm nhạc mạng hội của
Trung Quốc được ra mắt vào năm 2017. Hệ thống gợi ý của TikTok cực thành
công khi mang đúng video đến đúng người dùng, khiến nền tảng này phát triển
thu hút lượng người dùng một cách thần kỳ. Ngay sau đó TikTok ra mắt nền
tảng thương mại kết hợp short video (chính hướng đi mới livestream bán hàng
kết hợp với video review sản phẩm). Trước đó các ông lớn thương mại điện tử
4
Shopee, Lazada,.. cũng đã phát triển livestream tuy nhiên các nền tảng này chỉ
thuần thương mại chưa quá nhiều đột phá về hình thức livestream này
trong khi đó TikTok sự kết hợp video hệ thống gợi ý video cực thành công
đan xen những nội dung video đúng sở thích sẽ những video gợi ý sản phẩm
đúng nhu cầu, những livestream khả năng khách hàng sẽ quan tâm để thúc đẩy
các giao dịch mua bán trên nền tảng này. Đó cũng do TikTok đe dọa vị thế
sàn thương mại Shopee.
Đứng trước sự phát triển mạnh mẽ của công nghệ, các sản phẩm, nền tảng
giải trí trực tuyến đa phương tiện, quảng cáo điện tử, việc phân tích, bóc tách
dữ liệu lịch sử cung cấp đúng mối quan tâm cho khách hàng cần thiết
cùng quan trọng. Trong suốt quá trình phát triển các hệ thống gợi ý thực tế,
tác giả cũng nhận thấy nhiều khía cạnh khác biệt giữa nghiên cứu học thuật
ứng dụng thực tế. Trong bài luận với đề tài Ứng dụng máy học trong bài toán
hệ thống gợi ý”, tác giả sẽ đưa ra những nghiên cứu liên quan đến các hình
máy học bản như lightgbm, các model VAE cho lọc cộng tác, hay những
hình học sâu DeepFM, Int-tower. Trong khuôn khổ của đồ án, tác giả sẽ tập
trung vào một số phương pháp máy học từ đó đưa ra những kết luận về mức độ
hiệu quả cũng như mặt hạn chế của những hình này.
Đối tượng phạm vi nghiên cứu của đề tài này bao gồm:
- Đối tượng nghiên cứu: Bài toán hệ thống gợi ý sử dụng một số hình
máy học.
- Tập dữ liệu: Tập dữ liệu MyTV tập dữ liệu giáo dục của AEGlobal.
- Phương pháp nghiên cứu: Thực hiện các thực nghiệm cần thiết, đo lường
đánh giá bằng các metric offline online.
5
Cấu trúc luận văn sẽ bao gồm:
Chương 1: Tổng quan bài toán sở thuyết
Trong chương này tác giả trình bày tổng quan về bài toán, một số phương
pháp tiếp cận máy học được sử dụng trong hệ thống gợi ý.
Chương 2: Một số hình học máy trong hệ thống gợi ý
Đến chương này, tác giả sẽ trình bày chi tiết về hình VAE cho lọc cộng
tác, hình Deep Factorization Machines áp dụng trong hệ thống gợi ý.
Chương 3: Kết quả thực nghiệm
Trong chương ba này tác giả sẽ giới thiệu hai bộ dữ liệu được sử dụng, một
số phương pháp đánh giá hiệu quả của hình trình bày các kết quả thực
nghiệm đề xuất những phương hướng cải tiến cho bài toán.
Luận văn được hoàn thành trong chương trình Cao Học Toán Tin tại Khoa
Toán Tin, Đại học Bách Khoa Nội dưới sự hướng dẫn của PGS.TS. Chí
Ngọc. Tác giả hy vọng nhận được ý kiến đóng góp quý báu từ thầy các
bạn để đồ án được hoàn thiện tốt hơn.
6
Chương 1
Tổng quan bài toán sở thuyết
1.1 Giới thiệu tổng quan bài toán hệ thống gợi ý
Hệ thống gợi ý, như đã giới thiệu đây một bài toán nổi bật cùng quan
trọng trong lĩnh vực khai thác trải nghiệm người dùng. Bất kỳ hệ thống nào chỉ
cần người dùng thì đều thể khai thác bài toán này.
Hình 1.1: Ứng dụng của hệ thống gợi ý.
7
hai lợi ích của việc sử dụng hệ thống gợi ý: thứ nhất, thể giảm lượng
lớn công sức tìm kiếm sản phẩm của người dùng giảm thiểu vấn đề quá tải
thông tin. Thứ hai, thể tăng giá trị kinh doanh cho các nhà cung cấp dịch
vụ trực tuyến do khả năng cải thiện trải nghiệm người dùng gợi ý đúng đắn.
Hình 1.2: Minh họa quá trình gợi ý.
Một hệ thống gợi ý thông thường sẽ những thành phần cấu tạo bao gồm
thông tin người dùng, thông tin sản phẩm quan trọng nhất mối liên quan
giữa người dùng sản phẩm:
Hình 1.3: Các thành phần của hệ thống gợi ý (1).
8
Ngoài ra, việc tận dụng thêm thông tin từ bộ dữ liệu mình đang như việc
tận dụng được hành vi của người dùng khác trong hệ sinh thái, hay các sản phẩm
tương tự để bổ sung, xây dựng hệ thống gợi ý:
Hình 1.4: Các thành phần của hệ thống gợi ý (2).
Hình 1.5: Tổng quan các phương pháp tiếp cận hệ thống gợi ý.[12]
Hệ thống gợi ý xuất hiện khá muộn so với sự phát triển mạnh mẽ của máy
học, học sâu,... tuy nhiên lĩnh vực này phát triển rất nhanh thu hút nhiều nhà
khoa học nghiên cứu cũng như các công bố khoa học liên quan. Chúng được