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

Ứng dụng học sâu cho bài toán gợi ý

133 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 đề Ứng dụng học sâu cho bài toán gợi ý
Tác giả Võ Hà Nhật Tân, Phạm Đình Nhiên
Người hướng dẫn ThS. Quách Đình Hoàng
Trường học Đại học sư phạm kỹ thuật thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật dữ liệu
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 133
Dung lượng 6,8 MB

Cấu trúc

  • CHƯƠNG 1. MỞ ĐẦU (21)
    • 1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI (7)
    • 1.2. MỤC TIÊU CỦA ĐỀ TÀI (7)
    • 1.3. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU (7)
      • 1.3.1. CÁCH TIẾP CẬN (7)
      • 1.3.2. PHƯƠNG PHÁP NGHIÊN CỨU (7)
    • 1.4. PHÂN TÍCH NHỮNG CÔNG TRÌNH CÓ LIÊN QUAN (8)
    • 1.5. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC (8)
    • 1.6. BỐ CỤC CỦA BÀI BÁO CÁO (8)
  • CHƯƠNG 2. TỔNG QUAN VỀ DEEP LEARNING (25)
    • 2.1. KHÁI NIỆM (8)
    • 2.2. NEURAL NETWORK (8)
      • 2.2.1. Khái niệm (8)
      • 2.2.2. Hàm kích hoạt (8)
        • 2.2.2.1. Hàm Sigmoid (8)
        • 2.2.2.2. Hàm Tanh (8)
        • 2.2.2.3. Hàm ReLU (Rectified Linear Unit) (8)
        • 2.2.2.4. Hàm Leaky ReLU (8)
        • 2.2.2.5. Hàm Softmax (8)
        • 2.2.2.6. Hàm SELU (8)
      • 2.2.3. Backpropagation (8)
    • 2.3. Ư U ĐIỂM VÀ NHƯỢC ĐIỂM (8)
    • 2.4. ỨNG DỤNG DEEP LEARNING (8)
  • CHƯƠNG 3. TỔNG QUAN VỀ HỆ THỐNG GỢI Ý (45)
    • 3.1. GIỚI THIỆU VỀ HỆ THỐNG GỢI Ý (8)
      • 3.1.1. Một số khái niệm chung về hệ thống gợi ý (8)
      • 3.1.2. Tổng quan về các phương pháp (8)
    • 3.2. CÁC HỆ THỐNG GỢI Ý TRUYỀN THỐNG (9)
      • 3.2.1. Content Based (9)
        • 3.2.1.1. Item profile (9)
        • 3.2.1.2. User profile (9)
        • 3.2.1.3. Những ưu nhược điểm của Content Based (9)
      • 3.2.2. Collaborative filtering (9)
        • 3.2.2.1. Memory-based Collaborative Filtering (9)
        • 3.2.2.2. Model-based Collaborative Filtering (9)
        • 3.2.2.3. Những ưu nhược điểm của Collaborative filtering (9)
  • CHƯƠNG 4. HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU (61)
    • 4.1. TỔNG QUAN VỀ HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU (9)
      • 4.1.1. Một số mô hình gợi ý dựa trên học sâu (9)
        • 4.1.1.1. Recommendation with Neural Building Blocks (9)
        • 4.1.1.2. Recommendation with Deep Hybrid Models (9)
      • 4.1.2. Ưu điểm của hệ thống gợi ý dựa trên học sâu (69)
      • 4.1.3. Nhược điểm của hệ thống gợi ý dựa trên học sâu (70)
    • 4.2. ĐỀ XUẤT MÔ HÌNH GỢI Ý DỰA TRÊN HỌC SÂU (71)
      • 4.2.1. Tổng quan về AutoEncoder và các biến thể của nó (9)
      • 4.2.2. AutoEncoder (9)
      • 4.2.3. Deep AutoEncoder (9)
        • 4.2.3.1. Model (9)
        • 4.2.3.2. Loss function (9)
  • CHƯƠNG 5. CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG GỢI Ý (77)
    • 5.1. MÔI TRƯỜNG VÀ CÁC CÔNG CỤ ĐƯỢC SỬ DỤNG (10)
      • 5.1.1. Tập dữ liệu (10)
      • 5.1.2. Thư viện Keras của Tensorflow (10)
      • 5.1.3. Máy chủ Colab của Google (10)
    • 5.2. DỮ LIỆU VÀ TRỰC QUAN DỮ LIỆU (10)
      • 5.2.1. Mô tả dữ liệu (10)
      • 5.2.2. Trực quan dữ liệu (10)
    • 5.3. THỰC NGHIỆM HỆ THỐNG GỢI Ý TRUYỀN THỐNG (10)
      • 5.3.1. Content Based (10)
        • 5.3.1.1. Cách triễn khai (10)
        • 5.3.1.2. Áp dụng với tập dữ liệu (10)
      • 5.3.2. Collaborative Filtering (10)
        • 5.3.2.1. Memory-based Collaborative Filtering (10)
        • 5.3.2.2. Model-basied Collaborative Filtering (108)
    • 5.4. THỰC NGHIỆM HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU (10)
      • 5.4.1. Tiền xử lý dữ liệu (10)
        • 5.4.1.1. Xử lý dữ liệu thô (10)
        • 5.4.1.2. Chia tập train, test, validation (10)
        • 5.4.1.3. Chuyển đổi DataFrame thành ma trận (10)
      • 5.4.2. Xây dựng mô hình AutoEncoder (10)
        • 5.4.2.1. Auto-Encoder (10)
        • 5.4.2.2. Loss function (11)
        • 5.4.2.3. Thử nghiệm mô hình (11)
      • 5.4.3. Xây dựng mô hình Deep AutoEncoder (11)
        • 5.4.3.1. Deep AutoEncoder (11)
        • 5.4.3.2. Thử nghiệm mô hình (11)
      • 5.4.4. Xây dựng mô hình kết hợp (11)
        • 5.4.4.1. Mô hình kết hợp (11)
        • 5.4.4.2. Thử nghiệm mô hình (11)
    • 5.5. K ẾT QUẢ THỰC NGHIỆM (11)
  • CHƯƠNG 6: KẾT LUẬN (129)
    • 6.1. KẾT QUẢ ĐẠT ĐƯỢC (11)
    • 6.2. ƯU ĐIỂM (11)
    • 6.3. NHƯỢC ĐIỂM (11)
    • 6.3. HƯỚNG PHÁT TRIỂN (130)
  • TÀI LIỆU THAM KHẢO (131)
    • Bang 5. 1. Thông tin các gói của Colab (0)
    • Bang 5. 6: Các siêu tham số để tinh chỉnh RMSE (0)
    • Bang 5. 9. Thử nghiệm các xếp hạng mặc định (0)
    • Bang 5. 12: : thử nghiệm các cấu trúc mô hình và các siêu tham số khác nhau (0)

Nội dung

MỤC TIÊU CỦA ĐỀ TÀI Chúng tôi muốn xây dựng hệ thống gợi ý phim dựa trên các phương pháp gợi ý truyển thống và dựa trên thuật toán học sâu.. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC Nắm vững cơ sở lý th

TỔNG QUAN VỀ DEEP LEARNING

NEURAL NETWORK

2.2.1 Khái niệm về neural 2.2.2 Hàm kích hoạt

2.2.2.1 Hàm Sigmoid 2.2.2.2 Hàm Tanh 2.2.2.3 Hàm ReLU (Rectified Linear Unit) 2.2.2.4 Hàm Leaky ReLU

ỨNG DỤNG DEEP LEARNING

Chương 3: Tổng quan về hệ thống gợi ý

3.1 Giới thiệu về hệ thống gợi ý

3.1.1 Một số khái niệm chung về hệ thống gợi ý 3.1.2 Tổng quan về các phương pháp

3.2 Các hệ thống gợi ý truyền thống

3.2.1.1 Item profile 3.2.1.2 User profile 3.2.1.3 Những ưu nhược điểm của Content Based 3.2.2 Collaborative filtering

3.2.2.1 Memory-based Collaborative filtering 3.2.2.2 Model-based Collaborative filtering 3.2.2.3 Những ưu nhược điểm của Collaborative filtering Chương 4: Hệ thống gợi ý dựa trên học sâu

4.1 Tổng quan về hệ thống gợi ý dựa trên học sâu

4.1.1 Một số mô hình gợi ý dựa trên học sâu

4.1.1.1 Recommendation with Neural Building Blocks 4.1.1.2 Recommendation with Deep Hybrid Models 4.1.2 Ưu điểm của hệ thông gợi ý dựa trên học sâu

4.1.3 Nhươc điểm của hệ thông gợi ý dựa trên học sâu 4.2 Đề xuât mô hình gợi ý dựa trên học sâu

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó 4.2.2 AutoEncoder

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

5.1 Môi trường và các công cụ được sử dụng

5.1.1 Tập dữ liệu 5.1.2 Thư viện Keras của Tensorflow 5.1.3 Máy chủ Colab của Google 5.2 Dữ liệu và trực quan dữ liệu

5.2.1 Mô tả dữ liệu 5.2.2 Trực quan dữ liệu 5.3 Thực nghiệm hệ thống gợi ý truyền thống

5.3.1.1 Cách triễn khai 5.3.1.2 Áp dụng với tập dữ liệu 5.3.2 Collaborative Filtering

5.3.2.1 Memory-based Collaborative Filtering 5.3.2.1 Model-basied Collaborative Filtering

5.4 Thực nghiệm hệ thống gợi ý dựa trên học sâu

5.4.1 Tiền xử lý dữ liệu

5.4.1.1 Xử lý dữ liệu thô:

5.4.1.2 Chia tập train, test, validation:

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 5.4.2 Xây dựng mô hình AutoEncoder:

5.4.3 Xây dựng mô hình Deep AutoEncoder:

5.4.3.1 Deep AutoEncoder 5.4.3.2 Thử nghiệm mô hình:

5.4.4 Xây dựng mô hình kết hợp:

STT Thời gian Công việc Ghi chú

1 1/3 – 9/3 Lựa chọn và xác định đề tài khóa luận

2 10/3 – 20/3 Tìm hiểu các vấn đề chung liên quan đến đề tài (tài liệu, các bài toán,…)

3 21/3 -05/4 Tìm hiểu về cơ sở lý thuyết của bài toán gợi ý truyền thống, các phương pháp tiếp cận

4 06/4 – 20/4 Tìm hiểu lý thuyết về học sâu cho bài toán gợi ý Tìm hiểu mô hình AutoEncoder cho bài toán gợi ý

5 21/4 – 25/4 Thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Content-based

6 25/4 – 01/5 Tiếp tục thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Collaborative- filtering

7 02/5 – 05/5 Ghi chú và hệ thống lại những phần đã tìm hiểu cũng như tóm tắt lại các kiến thức về hệ thống gợi ý theo cách tiếp cận truyền thống

8 06/5 – 15/5 Viết báo cáo cho chương mở đầu

9 16/5 – 01/6 Xây dựng mô hình AutoEncoder cho hệ thống gợi ý

10 02/6 – 30/6 Tiếp tục đi sâu vào mô hình AutoEncoder xây dựng mô hình Deep AutoEncoder

11 01/7 – 03/07 Viết báo cáo các chương lý thuyết và hoàn thiện chương mở đầu

12 04/07 – 05/07 Viết báo cáo phần cài đặt và thực nghiệm

13 06/7 – 08/07 Chỉnh sửa và hoàn thiện báo cáo Hoàn thành báo cáo

Ngày tháng năm 2021 Ý kiến giáo viên hướng dẫn Người viết đề cương

(Ký và ghi rõ họ tên)

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING 5

2.2.2.3 Hàm ReLU (Rectified Linear Unit): 15

2.3.ƯU ĐIỂM VÀ NHƯỢC ĐIỂM: 22

CHƯƠNG 3 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 25

3.1.1 Một số khái niệm chung về hệ thống gợi ý 25

3.1.2 Tổng quan về các phương pháp 27

3.2.1.3 Những ưu nhược điểm của Content Based: 33

3.2.2.3 Những ưu nhược điểm của Collaborative filtering: 40

CHƯƠNG 4 HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU 41

4.1.1 Một số mô hình gợi ý dựa trên học sâu: 43

4.1.1.1 Recommendation with Neural Building Blocks: 43

4.1.1.2 Recommendation with Deep Hybrid Models: 49

4.1.2 Ưu điểm của hệ thống gợi ý dựa trên học sâu: 49

4.1.3 Nhược điểm của hệ thống gợi ý dựa trên học sâu: 50

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó: 52

CHƯƠNG 5 CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG GỢI Ý 57

5.1.2 Thư viện Keras của Tensorflow: 58

5.1.3 Máy chủ Colab của Google: 59

5.3.1.2 Áp dụng với tập dữ liệu 73

5.4.1 Tiền xử lý dữ liệu: 96

5.4.1.1 Xử lý dữ liệu thô: 96

5.4.1.2 Chia tập train, test, validation: 97

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 98

5.4.2 Xây dựng mô hình AutoEncoder: 98

5.4.3 Xây dựng mô hình Deep AutoEncoder: 103

5.4.4 Xây dựng mô hình kết hợp: 106

Hình 2.1: Mối quan hệ giữa AI, ML, Deep learning [8] 6

Hình 2 3: Minh họa mạng lưới thần kinh bao gồm nhiều Nút 8

Hình 2 4 Minh họa các hoạt động của trọng số đối với một nút [13] 8

Hình 2 5 Minh họa các hoạt động của trọng số đối với nhiều nút [13] 9

Hình 2 6 Minh họa trực quan cấu trúc mạng neural [13] 10

Hình 2 7 Minh họa trực quan mạng neural 4 lớp [13] 11

Hình 2 8 Mô tả biểu đồ mô tả mối quan hệ tuyến tính và phi tuyến tính của dữ liệu [13] 12

Hình 2 9 Mô tả biểu đồ hàm kích hoạt Sigmoid 14

Hình 2 10 Mô tả biểu đồ hàm kích hoạt Tanh [14] 15

Hình 2 11 Mô tả biểu đồ hàm kích hoạt ReLU [14] 16

Hình 2 12 Mô tả biểu đồ Dying ReLU [14] 17

Hình 2 13 Mô tả biểu đồ hàm kích hoạt Leaky RELU [14] 18

Hình 2 13 Mô tả biểu đồ hàm kích hoạt SELU [14] 19

Hình 2 14 Mô tả sai số trong mạng neural [13] 21

Hình 2 15 Mô tả hai trường hợp đạo hàm riêng trong neural network [13] 22d Hình 3 1 : Minh họa Collaborative recommendation systems 28

Hình 3 2: Minh họa Content-based recommendation systems 29

Hình 3 3: Minh họa Knowledge-based recommenders systems 30

Hình 3 4: Cách thức hoạt động của lọc cộng tác 32

Hình 3 5: : Cơ chế hoạt động lọc theo nội dung 33

Hình 3 6: Phân rã ma trận theo Singular Value Decomposition 39

Hình 4 1 Mô tả học sâu cho hệ thống gợi ý [4] 41

Hình 4 2 Mô tả học sâu để đưa ra gợi ý [4] 42

Hình 4 3 Mô tả học sâu để suy luận gợi ý: tạo ứng viên, xếp hạng và lọc [4] 43

Hình 4 4 Mô tả mô hình Multi-Layer Perceptron 44

Hình 4 5 Mô tả mô hình Wide and Deep [5] 45

Hình 4 6 Mô tả mô hình AutoEncoder [2] 45

Hình 4 7 Mô tả mô hình Convolutional Neural Networks 46

Hình 4 8 Mô tả mô hình Recurrent Neural Network 47

Hình 4 9 Mô tả mô hình Restricted Boltzmann Machine 47

Hình 4 10 Mô tả mô hình Deep Reinforcement Learning 48

Hình 4 11 Mô tả mô hình EutoenCoder dựa trên Item 54

Hình 4 12 Mô tả mô hình deep AutoEncoder 56

Hình 5 1: Số lượng xếp hạng mỗi năm 64

Hình 5 2: Tổng số rating trên tập dữ liệu 64

Hình 5 3: : Tổng số rating qua các năm 65

Hình 5 4 : Người dùng theo nhóm tuổi 65

Hình 5 5: Số lượng người dùng theo nghề nghiệp 66

Hình 5 6: Số lượng phim theo từng thể loại 66

Hình 5 7: Số rating trung bình theo từng thể loại phim 67

Hình 5 8: Số rating của nam và nữ theo từng thể loại 68

Hình 5 9: Mô tả ửng dụng về content-Based[10] 69

Hình 5 11:Ứng dụng tính trọng số cho các phim đề xuất[10] 71

Hình 5 12: Cách Tính các trọng số trong ứng dụng[10] 71

Hình 5 14: Input user ratings khi add thêm movieID 73

Hình 5 15: Input user ratings cuối cùng khi loại bỏ các cột không cần thiết 74

Hình 5 16: Ma trận item sau khi đã mã hóa 74

Hình 5 17: Ma trận item sau khi loại bỏ các cột không cần thiết 74

Hình 5 18: Mức độ quan tâm của user với các thể loại phim 75

Hình 5 19: Ma trận item cầm để đưa ra dự đoán 75

Hình 5 20: Mức độ quan tâm của user với các bộ phim chưa xem 76

Hình 5 21: Đề xuất nhưng bộ phim thỏa mãng user 77

Hình 5 22:Ví dụ minh họa về user-user collaborative filtering [9] 78

Hình 5 23 : Ma trận minh họa giữa người dùng và mục[9] 79

Hình 5 24:Tính toán độ giống nhau của người dùng[9] 80

Hình 5 25: Ma trận xếp hạng có trọng số của các user[9] 81

Hình 5 26:Tính trọng số của các phim được đề xuất cho người dùng[9] 82

Hình 5 27: Ma trận user-item 83

Hình 5 28: xếp hạng trung bình phim chưa được xếp hạng 84

Hình 5 29: Mức độ quan tâm giữa các user-user 84

Hình 5 30: Độ tương quan giữa user1 với các user còn lại 85

Hình 5 31: Danh sách phim mà user 1 đã đánh giá 85

Hình 5 32 : Trung bình ratings cho bộ phim 86

Hình 5 33: Tính trong số rating ma user 1 đánh giá cho bộ phim 86

Hình 5 34: Trung bình rating phim 86

Hình 5 35: xếp hạng trung bình cho những phim chưa được xếp hạng 87

Hình 5 36: Mức độ tương quan của item vs item 87

Hình 5 37: Đề xuất nhưng bộ phim có mức độ tương quan cao cho user 88

Hình 5 38: Ví dụ về phân rã ma trận theo SVD[15] 89

Hình 5 39: Loại bỏ các yếu tố tìm ẩn thấp trong ví dụ[15] 90

Hình 5 40: Ma tran dự đoán user-item sau khi giảm kích thước[15] 90

Hình 5 41: Ma trận đầu vào user-item 91

Hình 5 42: Ma trận dự đoán sau khi giản kích thước 91

Hình 5 43: Hàm tính các yếu tố 92

Hình 5 44: Top 20 mà user 1 đã rating 92

Hình 5 45: Top 20 bộ phim mà user 1 được đề xuất 93

Hình 5 47: Giá trị RMSE và siêu tham số tố nhất 94

Hình 5 48: Những bộ phim mà user 1 đã ratings 95

Hình 5 49: :Tập dữ liệu ratings sau khi xử lý 96

Hình 5 50: : tập dữ liệu movies sau khi xử lý 97

Hình 5 51: tập dữ liệu users sau khi xử lý 97

Hình 5 52 Mô tả sơ lược về mô hình AutoEncoder 98

Hình 5 53: Mô hình Auto-Encoder thực nghiệm 99

Hình 5 54 Biểu đồ mô tả RMSE train và RMSE validation với xếp hạng mặc định là 0 và trung bình 102

Hình 5 55: cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là trung bình 105

Hình 5 56 cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là 0 106

DANH SÁCH CÁC BẢNG Bảng 3.1: Tổng quan về các thuật toán recommendation 27

Bang 5 1 Thông tin các gói của Colab 60

Bảng 5 2: mô tả tổng quan về tập dữ liệu MovieLens 61

Bảng 5 3: mô tả tổng quan về tệp ratings 61

Bảng 5 4: : Mô tả tổng quan về tệp “movies.dat” 62

Bảng 5 5: Mô tả tổng quan về tệp “users.dat” 63

Bang 5 6: Các siêu tham số để tinh chỉnh RMSE 94

Bảng 5 7: siêu tham số mặc định của mô hình AutoEncoder 100

Bảng 5 8: thử nghiệm các siêu tham số và các hàm kích hoạt 101

Bang 5 9 Thử nghiệm các xếp hạng mặc định 101

Bảng 5 10: Thử nghiệm xếp hạng mặt định 0 và trung bình với các hàm kích hoạt

Bảng 5 11: siêu tham số mặc định của mô hình Deep AutoEncoder 104

Bang 5 12: : thử nghiệm các cấu trúc mô hình và các siêu tham số khác nhau 105

Bảng 5 13 Thông tin siêu tham số của mô hình kết hợp 107

CHƯƠNG 1 MỞ ĐẦU 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Sự phát triển và tiến bộ vượt trội của công nghệ thông tin và sự phổ biến của các dịch vụ trực tuyến đã cung cấp cho mọi người khả năng truy cập một lượng lớn thông tin một cách nhanh chóng Một người dùng có thể truy cập đánh giá và nhận xét hầu hết các loại sản phẩm và dịch vụ Mọi người phải đối mặt với một lượng khổng lồ các nguồn dữ liệu khiến họ bối rối trong việc tìm kiếm nội dung hữu ích và phù hợp và dẫn đến vấn đề quá tải thông tin Năm 2019 mỗi phút có khoảng 500 giờ phát video được tải lên Youtube, doanh mục sản phẩm của Amazone năm 2018 vào khoảng 12.000.000 sản phẩm, năm 2019 có khoảng 500 triệu dòng Twitter được đăng mỗi ngày,…

Với số lượng thông tin khổng lồ như thế, người dùng không thể xem hết tất cả dữ liệu đó có thể mất đến vài chục năm để xem hết Cũng như các công ty, doanh nghiệp không thể hiển thị tất cả thông tin dữ liệu khổng lồ đó cho người dùng được Người dùng sẽ không biết nên lựa chọn sản phẩm nào, xem phim gì, đọc sách nào để phù hợp với sở thích và nhu cầu của bản thân Hơn nữa, đối với doanh nghiệp phải đảm bảo sản phẩm phải được giới thiệu tới khách hàng đúng theo nhu cầu sở thích của khách hàng giúp giữ chân khách hàng, nâng cao trải nghiệm mua sắm của họ và giúp tăng doanh thu đồng thời lập kế hoạch dự trữ hàng hóa để tối ưu chi phí vận chuyển Vấn đề quá tải thông tin được giải quyết bởi các công cụ tìm kiếm, nhưng chúng không cung cấp cá nhân hóa dữ liệu

Trong những năm trở lại đây chúng ta đã chứng kiến sự thành công to lớn của học sâu trong xử lý hình ảnh, nhận dạng đối tượng, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói Giới học thuật đang trong cuộc chạy đua để áp dụng học sâu vào nhiều ứng dụng do khả năng giải quyết nhiều nhiệm vụ phức tạp trong khi vẫn mang lại kết quả tiên tiến

Gần đây, những tiến bộ trong hệ thống gợi dựa trên học tập sâu đã thu hút được sự chú ý đáng kể bằng cách vượt qua những trở ngại của các mô hình thông thường và đạt được chất lượng khuyến nghị cao

Hiện nay, hệ thống gợi ý là một công cụ để nâng cao trải nghiệm người dùng và thúc đẩy bán hàng, dịch vụ cho nhiều trang web trực tuyến và ứng dụng di động Ví dụ: 80% các bộ phim trên Netflix được xem đến từ các lượt giới thiệu gợi ý, 60% lượt nhấp vào video đến từ gợi ý trên trang chủ Youtube Để giải quyết những vấn đề trên và vận dụng sự tiến bộ vượt trội của học sâu chúng tôi đã chọn đề tài “Nghiên cứu học sâu cho bài toán gợi ý” làm khóa luận tốt nghiệp Đề tài áp dụng học sâu cho bài toán gợi ý phim đưa những bộ phim phù hợp đến với người dùng theo đúng sở thích của họ

1.2 MỤC TIÊU CỦA ĐỀ TÀI

Chúng tôi muốn xây dựng hệ thống gợi ý phim dựa trên các phương pháp gợi ý truyển thống và dựa trên thuật toán học sâu Đề tài tập trung nghiên cứu:

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý các phương pháp gợi ý truyền thống

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý dựa trên các thuật toán học sâu

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và thuật toán học sâu

• Tiến hành thực nghiệm và đánh giá các thuật toán

1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

1.3.1 CÁCH TIẾP CẬN: Áp dụng lý thuyết học sâu, các thuật toán học sâu và Các phương pháp gợi ý truyền thống vào bài toán gợi ý phim

Sử dụng ngôn ngữ lập trình Python, thư viện học sâu Pytorch và Tensorflow để xây dựng hệ thống gợi ý

Dự đoán rating của User cho một phim từ đó đưa ra gợi ý

Cụ thể, trong khuôn khổ luận văn, để tiếp cận được đề tài và phương pháp nghiên cứu, sẽ lần lượt nghiên cứu các nội dung sau:

• Phương pháp gợi ý truyển thống như Content-Based, Collaborative Filtering, Matrix Factorization

• Lý thuyết, thuật toán học sâu như Auto-Encoder, Deep Auto-Encoder

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và học sâu

1.4 PHÂN TÍCH NHỮNG CÔNG TRÌNH CÓ LIÊN QUAN

Với sự phát triển mạnh mẽ của hệ thống gợi ý và đặc biệt là Deep Learning đã mang lợi ích và giải quyết rất nhiều vấn đề trong cuộc sống, hơn nữa bất kỳ doanh nghiệp nào cũng có thể hưởng lợi từ một hệ thống gợi ý Hệ thống gợi ý đang được áp dụng và khai thác triệt để trong các lĩnh vực như: thương mại điện tử, bán lẻ, đa phương tiện, ngân hàng,…

• Thương mại điện tử: Là lĩnh vực mà các hệ thống gợi ý lần đầu tiên được sử dụng rộng rãi Với hàng triệu khách hàng và dữ liệu về hành vi trực tuyến của họ, các công ty thương mại điện tử dùng để tạo ra các gợi ý chính xác

• Bán lẻ: Dữ liệu mua sắm là dữ liệu có giá trị nhất vì nó là điểm dữ liệu trực tiếp nhất về ý định của khách hàng Các nhà bán lẻ có kho dữ liệu mua sắm đi đầu trong các công ty đưa ra các gợi ý chính xác

• Đa phương tiện: Tương tự như thương mại điện tử, các doanh nghiệp truyền thông là một trong những người đầu tiên nhảy vào hệ thống gợi ý Thật khó để tim thấy một trang web phim hoặc video mà không có hệ thống gợi ý

• Ngân hàng: Biết được tình hình tài chính chi tiết của khách hàng, cùng với sở thích trong quá khứ của họ để đưa ra những điều chỉnh các khoản vay, đầu tư từ đó thúc đẩy doanh thu của ngân hàng

1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

Nắm vững cơ sở lý thuyết về hệ thống gợi ý dựa trên các phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

Cách thức hoạt động của hệ thống gợi ý và thuật toán học sâu cho gợi ý Áp dụng hệ thống gợi ý dưa phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

1.6 BỐ CỤC CỦA BÀI BÁO CÁO

Phần còn lại của báo cáo khóa luận được tổ chức như sau:

Chương 2: Tổng quan về Deep Learning

Chương 3: Tổng quan về hệ thống gợi ý

Chương 4: Hệ thống gợi ý dựa trên học sâu

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING

Trước khi đi sâu vào học máy hãy tìm hiểu sơ về Machine Learning và AI Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence – viết tắt là AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science) Là trí tuệ do con người lập trình nên với mục đích giúp máy tính có thể tự động hóa các hành vi thông minh như con người

Trí tuệ nhân tạo khác với việc lập trình logic trong các ngôn ngữ lập trình là ở việc ứng dụng các hệ thống học máy (machine learning) để mô phỏng trí tuệ của con người trong các xử lý mà con người làm tốt hơn máy tính

Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi,…

TỔNG QUAN VỀ HỆ THỐNG GỢI Ý

GIỚI THIỆU VỀ HỆ THỐNG GỢI Ý

3.1.1 Một số khái niệm chung về hệ thống gợi ý 3.1.2 Tổng quan về các phương pháp

CÁC HỆ THỐNG GỢI Ý TRUYỀN THỐNG

3.2.1.1 Item profile 3.2.1.2 User profile 3.2.1.3 Những ưu nhược điểm của Content Based 3.2.2 Collaborative filtering

3.2.2.1 Memory-based Collaborative filtering 3.2.2.2 Model-based Collaborative filtering 3.2.2.3 Những ưu nhược điểm của Collaborative filtering Chương 4: Hệ thống gợi ý dựa trên học sâu

4.1 Tổng quan về hệ thống gợi ý dựa trên học sâu

4.1.1 Một số mô hình gợi ý dựa trên học sâu

4.1.1.1 Recommendation with Neural Building Blocks 4.1.1.2 Recommendation with Deep Hybrid Models 4.1.2 Ưu điểm của hệ thông gợi ý dựa trên học sâu

4.1.3 Nhươc điểm của hệ thông gợi ý dựa trên học sâu 4.2 Đề xuât mô hình gợi ý dựa trên học sâu

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó 4.2.2 AutoEncoder

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

5.1 Môi trường và các công cụ được sử dụng

5.1.1 Tập dữ liệu 5.1.2 Thư viện Keras của Tensorflow 5.1.3 Máy chủ Colab của Google 5.2 Dữ liệu và trực quan dữ liệu

5.2.1 Mô tả dữ liệu 5.2.2 Trực quan dữ liệu 5.3 Thực nghiệm hệ thống gợi ý truyền thống

5.3.1.1 Cách triễn khai 5.3.1.2 Áp dụng với tập dữ liệu 5.3.2 Collaborative Filtering

5.3.2.1 Memory-based Collaborative Filtering 5.3.2.1 Model-basied Collaborative Filtering

5.4 Thực nghiệm hệ thống gợi ý dựa trên học sâu

5.4.1 Tiền xử lý dữ liệu

5.4.1.1 Xử lý dữ liệu thô:

5.4.1.2 Chia tập train, test, validation:

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 5.4.2 Xây dựng mô hình AutoEncoder:

5.4.3 Xây dựng mô hình Deep AutoEncoder:

5.4.3.1 Deep AutoEncoder 5.4.3.2 Thử nghiệm mô hình:

5.4.4 Xây dựng mô hình kết hợp:

STT Thời gian Công việc Ghi chú

1 1/3 – 9/3 Lựa chọn và xác định đề tài khóa luận

2 10/3 – 20/3 Tìm hiểu các vấn đề chung liên quan đến đề tài (tài liệu, các bài toán,…)

3 21/3 -05/4 Tìm hiểu về cơ sở lý thuyết của bài toán gợi ý truyền thống, các phương pháp tiếp cận

4 06/4 – 20/4 Tìm hiểu lý thuyết về học sâu cho bài toán gợi ý Tìm hiểu mô hình AutoEncoder cho bài toán gợi ý

5 21/4 – 25/4 Thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Content-based

6 25/4 – 01/5 Tiếp tục thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Collaborative- filtering

7 02/5 – 05/5 Ghi chú và hệ thống lại những phần đã tìm hiểu cũng như tóm tắt lại các kiến thức về hệ thống gợi ý theo cách tiếp cận truyền thống

8 06/5 – 15/5 Viết báo cáo cho chương mở đầu

9 16/5 – 01/6 Xây dựng mô hình AutoEncoder cho hệ thống gợi ý

10 02/6 – 30/6 Tiếp tục đi sâu vào mô hình AutoEncoder xây dựng mô hình Deep AutoEncoder

11 01/7 – 03/07 Viết báo cáo các chương lý thuyết và hoàn thiện chương mở đầu

12 04/07 – 05/07 Viết báo cáo phần cài đặt và thực nghiệm

13 06/7 – 08/07 Chỉnh sửa và hoàn thiện báo cáo Hoàn thành báo cáo

Ngày tháng năm 2021 Ý kiến giáo viên hướng dẫn Người viết đề cương

(Ký và ghi rõ họ tên)

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING 5

2.2.2.3 Hàm ReLU (Rectified Linear Unit): 15

2.3.ƯU ĐIỂM VÀ NHƯỢC ĐIỂM: 22

CHƯƠNG 3 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 25

3.1.1 Một số khái niệm chung về hệ thống gợi ý 25

3.1.2 Tổng quan về các phương pháp 27

3.2.1.3 Những ưu nhược điểm của Content Based: 33

3.2.2.3 Những ưu nhược điểm của Collaborative filtering: 40

CHƯƠNG 4 HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU 41

4.1.1 Một số mô hình gợi ý dựa trên học sâu: 43

4.1.1.1 Recommendation with Neural Building Blocks: 43

4.1.1.2 Recommendation with Deep Hybrid Models: 49

4.1.2 Ưu điểm của hệ thống gợi ý dựa trên học sâu: 49

4.1.3 Nhược điểm của hệ thống gợi ý dựa trên học sâu: 50

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó: 52

CHƯƠNG 5 CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG GỢI Ý 57

5.1.2 Thư viện Keras của Tensorflow: 58

5.1.3 Máy chủ Colab của Google: 59

5.3.1.2 Áp dụng với tập dữ liệu 73

5.4.1 Tiền xử lý dữ liệu: 96

5.4.1.1 Xử lý dữ liệu thô: 96

5.4.1.2 Chia tập train, test, validation: 97

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 98

5.4.2 Xây dựng mô hình AutoEncoder: 98

5.4.3 Xây dựng mô hình Deep AutoEncoder: 103

5.4.4 Xây dựng mô hình kết hợp: 106

Hình 2.1: Mối quan hệ giữa AI, ML, Deep learning [8] 6

Hình 2 3: Minh họa mạng lưới thần kinh bao gồm nhiều Nút 8

Hình 2 4 Minh họa các hoạt động của trọng số đối với một nút [13] 8

Hình 2 5 Minh họa các hoạt động của trọng số đối với nhiều nút [13] 9

Hình 2 6 Minh họa trực quan cấu trúc mạng neural [13] 10

Hình 2 7 Minh họa trực quan mạng neural 4 lớp [13] 11

Hình 2 8 Mô tả biểu đồ mô tả mối quan hệ tuyến tính và phi tuyến tính của dữ liệu [13] 12

Hình 2 9 Mô tả biểu đồ hàm kích hoạt Sigmoid 14

Hình 2 10 Mô tả biểu đồ hàm kích hoạt Tanh [14] 15

Hình 2 11 Mô tả biểu đồ hàm kích hoạt ReLU [14] 16

Hình 2 12 Mô tả biểu đồ Dying ReLU [14] 17

Hình 2 13 Mô tả biểu đồ hàm kích hoạt Leaky RELU [14] 18

Hình 2 13 Mô tả biểu đồ hàm kích hoạt SELU [14] 19

Hình 2 14 Mô tả sai số trong mạng neural [13] 21

Hình 2 15 Mô tả hai trường hợp đạo hàm riêng trong neural network [13] 22d Hình 3 1 : Minh họa Collaborative recommendation systems 28

Hình 3 2: Minh họa Content-based recommendation systems 29

Hình 3 3: Minh họa Knowledge-based recommenders systems 30

Hình 3 4: Cách thức hoạt động của lọc cộng tác 32

Hình 3 5: : Cơ chế hoạt động lọc theo nội dung 33

Hình 3 6: Phân rã ma trận theo Singular Value Decomposition 39

Hình 4 1 Mô tả học sâu cho hệ thống gợi ý [4] 41

Hình 4 2 Mô tả học sâu để đưa ra gợi ý [4] 42

Hình 4 3 Mô tả học sâu để suy luận gợi ý: tạo ứng viên, xếp hạng và lọc [4] 43

Hình 4 4 Mô tả mô hình Multi-Layer Perceptron 44

Hình 4 5 Mô tả mô hình Wide and Deep [5] 45

Hình 4 6 Mô tả mô hình AutoEncoder [2] 45

Hình 4 7 Mô tả mô hình Convolutional Neural Networks 46

Hình 4 8 Mô tả mô hình Recurrent Neural Network 47

Hình 4 9 Mô tả mô hình Restricted Boltzmann Machine 47

Hình 4 10 Mô tả mô hình Deep Reinforcement Learning 48

Hình 4 11 Mô tả mô hình EutoenCoder dựa trên Item 54

Hình 4 12 Mô tả mô hình deep AutoEncoder 56

Hình 5 1: Số lượng xếp hạng mỗi năm 64

Hình 5 2: Tổng số rating trên tập dữ liệu 64

Hình 5 3: : Tổng số rating qua các năm 65

Hình 5 4 : Người dùng theo nhóm tuổi 65

Hình 5 5: Số lượng người dùng theo nghề nghiệp 66

Hình 5 6: Số lượng phim theo từng thể loại 66

Hình 5 7: Số rating trung bình theo từng thể loại phim 67

Hình 5 8: Số rating của nam và nữ theo từng thể loại 68

Hình 5 9: Mô tả ửng dụng về content-Based[10] 69

Hình 5 11:Ứng dụng tính trọng số cho các phim đề xuất[10] 71

Hình 5 12: Cách Tính các trọng số trong ứng dụng[10] 71

Hình 5 14: Input user ratings khi add thêm movieID 73

Hình 5 15: Input user ratings cuối cùng khi loại bỏ các cột không cần thiết 74

Hình 5 16: Ma trận item sau khi đã mã hóa 74

Hình 5 17: Ma trận item sau khi loại bỏ các cột không cần thiết 74

Hình 5 18: Mức độ quan tâm của user với các thể loại phim 75

Hình 5 19: Ma trận item cầm để đưa ra dự đoán 75

Hình 5 20: Mức độ quan tâm của user với các bộ phim chưa xem 76

Hình 5 21: Đề xuất nhưng bộ phim thỏa mãng user 77

Hình 5 22:Ví dụ minh họa về user-user collaborative filtering [9] 78

Hình 5 23 : Ma trận minh họa giữa người dùng và mục[9] 79

Hình 5 24:Tính toán độ giống nhau của người dùng[9] 80

Hình 5 25: Ma trận xếp hạng có trọng số của các user[9] 81

Hình 5 26:Tính trọng số của các phim được đề xuất cho người dùng[9] 82

Hình 5 27: Ma trận user-item 83

Hình 5 28: xếp hạng trung bình phim chưa được xếp hạng 84

Hình 5 29: Mức độ quan tâm giữa các user-user 84

Hình 5 30: Độ tương quan giữa user1 với các user còn lại 85

Hình 5 31: Danh sách phim mà user 1 đã đánh giá 85

Hình 5 32 : Trung bình ratings cho bộ phim 86

Hình 5 33: Tính trong số rating ma user 1 đánh giá cho bộ phim 86

Hình 5 34: Trung bình rating phim 86

Hình 5 35: xếp hạng trung bình cho những phim chưa được xếp hạng 87

Hình 5 36: Mức độ tương quan của item vs item 87

Hình 5 37: Đề xuất nhưng bộ phim có mức độ tương quan cao cho user 88

Hình 5 38: Ví dụ về phân rã ma trận theo SVD[15] 89

Hình 5 39: Loại bỏ các yếu tố tìm ẩn thấp trong ví dụ[15] 90

Hình 5 40: Ma tran dự đoán user-item sau khi giảm kích thước[15] 90

Hình 5 41: Ma trận đầu vào user-item 91

Hình 5 42: Ma trận dự đoán sau khi giản kích thước 91

Hình 5 43: Hàm tính các yếu tố 92

Hình 5 44: Top 20 mà user 1 đã rating 92

Hình 5 45: Top 20 bộ phim mà user 1 được đề xuất 93

Hình 5 47: Giá trị RMSE và siêu tham số tố nhất 94

Hình 5 48: Những bộ phim mà user 1 đã ratings 95

Hình 5 49: :Tập dữ liệu ratings sau khi xử lý 96

Hình 5 50: : tập dữ liệu movies sau khi xử lý 97

Hình 5 51: tập dữ liệu users sau khi xử lý 97

Hình 5 52 Mô tả sơ lược về mô hình AutoEncoder 98

Hình 5 53: Mô hình Auto-Encoder thực nghiệm 99

Hình 5 54 Biểu đồ mô tả RMSE train và RMSE validation với xếp hạng mặc định là 0 và trung bình 102

Hình 5 55: cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là trung bình 105

Hình 5 56 cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là 0 106

DANH SÁCH CÁC BẢNG Bảng 3.1: Tổng quan về các thuật toán recommendation 27

Bang 5 1 Thông tin các gói của Colab 60

Bảng 5 2: mô tả tổng quan về tập dữ liệu MovieLens 61

Bảng 5 3: mô tả tổng quan về tệp ratings 61

Bảng 5 4: : Mô tả tổng quan về tệp “movies.dat” 62

Bảng 5 5: Mô tả tổng quan về tệp “users.dat” 63

Bang 5 6: Các siêu tham số để tinh chỉnh RMSE 94

Bảng 5 7: siêu tham số mặc định của mô hình AutoEncoder 100

Bảng 5 8: thử nghiệm các siêu tham số và các hàm kích hoạt 101

Bang 5 9 Thử nghiệm các xếp hạng mặc định 101

Bảng 5 10: Thử nghiệm xếp hạng mặt định 0 và trung bình với các hàm kích hoạt

Bảng 5 11: siêu tham số mặc định của mô hình Deep AutoEncoder 104

Bang 5 12: : thử nghiệm các cấu trúc mô hình và các siêu tham số khác nhau 105

Bảng 5 13 Thông tin siêu tham số của mô hình kết hợp 107

CHƯƠNG 1 MỞ ĐẦU 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Sự phát triển và tiến bộ vượt trội của công nghệ thông tin và sự phổ biến của các dịch vụ trực tuyến đã cung cấp cho mọi người khả năng truy cập một lượng lớn thông tin một cách nhanh chóng Một người dùng có thể truy cập đánh giá và nhận xét hầu hết các loại sản phẩm và dịch vụ Mọi người phải đối mặt với một lượng khổng lồ các nguồn dữ liệu khiến họ bối rối trong việc tìm kiếm nội dung hữu ích và phù hợp và dẫn đến vấn đề quá tải thông tin Năm 2019 mỗi phút có khoảng 500 giờ phát video được tải lên Youtube, doanh mục sản phẩm của Amazone năm 2018 vào khoảng 12.000.000 sản phẩm, năm 2019 có khoảng 500 triệu dòng Twitter được đăng mỗi ngày,…

Với số lượng thông tin khổng lồ như thế, người dùng không thể xem hết tất cả dữ liệu đó có thể mất đến vài chục năm để xem hết Cũng như các công ty, doanh nghiệp không thể hiển thị tất cả thông tin dữ liệu khổng lồ đó cho người dùng được Người dùng sẽ không biết nên lựa chọn sản phẩm nào, xem phim gì, đọc sách nào để phù hợp với sở thích và nhu cầu của bản thân Hơn nữa, đối với doanh nghiệp phải đảm bảo sản phẩm phải được giới thiệu tới khách hàng đúng theo nhu cầu sở thích của khách hàng giúp giữ chân khách hàng, nâng cao trải nghiệm mua sắm của họ và giúp tăng doanh thu đồng thời lập kế hoạch dự trữ hàng hóa để tối ưu chi phí vận chuyển Vấn đề quá tải thông tin được giải quyết bởi các công cụ tìm kiếm, nhưng chúng không cung cấp cá nhân hóa dữ liệu

Trong những năm trở lại đây chúng ta đã chứng kiến sự thành công to lớn của học sâu trong xử lý hình ảnh, nhận dạng đối tượng, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói Giới học thuật đang trong cuộc chạy đua để áp dụng học sâu vào nhiều ứng dụng do khả năng giải quyết nhiều nhiệm vụ phức tạp trong khi vẫn mang lại kết quả tiên tiến

Gần đây, những tiến bộ trong hệ thống gợi dựa trên học tập sâu đã thu hút được sự chú ý đáng kể bằng cách vượt qua những trở ngại của các mô hình thông thường và đạt được chất lượng khuyến nghị cao

Hiện nay, hệ thống gợi ý là một công cụ để nâng cao trải nghiệm người dùng và thúc đẩy bán hàng, dịch vụ cho nhiều trang web trực tuyến và ứng dụng di động Ví dụ: 80% các bộ phim trên Netflix được xem đến từ các lượt giới thiệu gợi ý, 60% lượt nhấp vào video đến từ gợi ý trên trang chủ Youtube Để giải quyết những vấn đề trên và vận dụng sự tiến bộ vượt trội của học sâu chúng tôi đã chọn đề tài “Nghiên cứu học sâu cho bài toán gợi ý” làm khóa luận tốt nghiệp Đề tài áp dụng học sâu cho bài toán gợi ý phim đưa những bộ phim phù hợp đến với người dùng theo đúng sở thích của họ

1.2 MỤC TIÊU CỦA ĐỀ TÀI

Chúng tôi muốn xây dựng hệ thống gợi ý phim dựa trên các phương pháp gợi ý truyển thống và dựa trên thuật toán học sâu Đề tài tập trung nghiên cứu:

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý các phương pháp gợi ý truyền thống

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý dựa trên các thuật toán học sâu

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và thuật toán học sâu

• Tiến hành thực nghiệm và đánh giá các thuật toán

1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

1.3.1 CÁCH TIẾP CẬN: Áp dụng lý thuyết học sâu, các thuật toán học sâu và Các phương pháp gợi ý truyền thống vào bài toán gợi ý phim

Sử dụng ngôn ngữ lập trình Python, thư viện học sâu Pytorch và Tensorflow để xây dựng hệ thống gợi ý

Dự đoán rating của User cho một phim từ đó đưa ra gợi ý

Cụ thể, trong khuôn khổ luận văn, để tiếp cận được đề tài và phương pháp nghiên cứu, sẽ lần lượt nghiên cứu các nội dung sau:

• Phương pháp gợi ý truyển thống như Content-Based, Collaborative Filtering, Matrix Factorization

• Lý thuyết, thuật toán học sâu như Auto-Encoder, Deep Auto-Encoder

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và học sâu

1.4 PHÂN TÍCH NHỮNG CÔNG TRÌNH CÓ LIÊN QUAN

Với sự phát triển mạnh mẽ của hệ thống gợi ý và đặc biệt là Deep Learning đã mang lợi ích và giải quyết rất nhiều vấn đề trong cuộc sống, hơn nữa bất kỳ doanh nghiệp nào cũng có thể hưởng lợi từ một hệ thống gợi ý Hệ thống gợi ý đang được áp dụng và khai thác triệt để trong các lĩnh vực như: thương mại điện tử, bán lẻ, đa phương tiện, ngân hàng,…

• Thương mại điện tử: Là lĩnh vực mà các hệ thống gợi ý lần đầu tiên được sử dụng rộng rãi Với hàng triệu khách hàng và dữ liệu về hành vi trực tuyến của họ, các công ty thương mại điện tử dùng để tạo ra các gợi ý chính xác

• Bán lẻ: Dữ liệu mua sắm là dữ liệu có giá trị nhất vì nó là điểm dữ liệu trực tiếp nhất về ý định của khách hàng Các nhà bán lẻ có kho dữ liệu mua sắm đi đầu trong các công ty đưa ra các gợi ý chính xác

• Đa phương tiện: Tương tự như thương mại điện tử, các doanh nghiệp truyền thông là một trong những người đầu tiên nhảy vào hệ thống gợi ý Thật khó để tim thấy một trang web phim hoặc video mà không có hệ thống gợi ý

• Ngân hàng: Biết được tình hình tài chính chi tiết của khách hàng, cùng với sở thích trong quá khứ của họ để đưa ra những điều chỉnh các khoản vay, đầu tư từ đó thúc đẩy doanh thu của ngân hàng

1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

Nắm vững cơ sở lý thuyết về hệ thống gợi ý dựa trên các phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

Cách thức hoạt động của hệ thống gợi ý và thuật toán học sâu cho gợi ý Áp dụng hệ thống gợi ý dưa phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

1.6 BỐ CỤC CỦA BÀI BÁO CÁO

Phần còn lại của báo cáo khóa luận được tổ chức như sau:

Chương 2: Tổng quan về Deep Learning

Chương 3: Tổng quan về hệ thống gợi ý

Chương 4: Hệ thống gợi ý dựa trên học sâu

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING

Trước khi đi sâu vào học máy hãy tìm hiểu sơ về Machine Learning và AI Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence – viết tắt là AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science) Là trí tuệ do con người lập trình nên với mục đích giúp máy tính có thể tự động hóa các hành vi thông minh như con người

Trí tuệ nhân tạo khác với việc lập trình logic trong các ngôn ngữ lập trình là ở việc ứng dụng các hệ thống học máy (machine learning) để mô phỏng trí tuệ của con người trong các xử lý mà con người làm tốt hơn máy tính

Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi,…

HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU

TỔNG QUAN VỀ HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU

4.1.1 Một số mô hình gợi ý dựa trên học sâu

4.1.1.1 Recommendation with Neural Building Blocks 4.1.1.2 Recommendation with Deep Hybrid Models 4.1.2 Ưu điểm của hệ thông gợi ý dựa trên học sâu

4.1.3 Nhươc điểm của hệ thông gợi ý dựa trên học sâu 4.2 Đề xuât mô hình gợi ý dựa trên học sâu

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó 4.2.2 AutoEncoder

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

5.1 Môi trường và các công cụ được sử dụng

5.1.1 Tập dữ liệu 5.1.2 Thư viện Keras của Tensorflow 5.1.3 Máy chủ Colab của Google 5.2 Dữ liệu và trực quan dữ liệu

5.2.1 Mô tả dữ liệu 5.2.2 Trực quan dữ liệu 5.3 Thực nghiệm hệ thống gợi ý truyền thống

5.3.1.1 Cách triễn khai 5.3.1.2 Áp dụng với tập dữ liệu 5.3.2 Collaborative Filtering

5.3.2.1 Memory-based Collaborative Filtering 5.3.2.1 Model-basied Collaborative Filtering

5.4 Thực nghiệm hệ thống gợi ý dựa trên học sâu

5.4.1 Tiền xử lý dữ liệu

5.4.1.1 Xử lý dữ liệu thô:

5.4.1.2 Chia tập train, test, validation:

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 5.4.2 Xây dựng mô hình AutoEncoder:

5.4.3 Xây dựng mô hình Deep AutoEncoder:

5.4.3.1 Deep AutoEncoder 5.4.3.2 Thử nghiệm mô hình:

5.4.4 Xây dựng mô hình kết hợp:

STT Thời gian Công việc Ghi chú

1 1/3 – 9/3 Lựa chọn và xác định đề tài khóa luận

2 10/3 – 20/3 Tìm hiểu các vấn đề chung liên quan đến đề tài (tài liệu, các bài toán,…)

3 21/3 -05/4 Tìm hiểu về cơ sở lý thuyết của bài toán gợi ý truyền thống, các phương pháp tiếp cận

4 06/4 – 20/4 Tìm hiểu lý thuyết về học sâu cho bài toán gợi ý Tìm hiểu mô hình AutoEncoder cho bài toán gợi ý

5 21/4 – 25/4 Thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Content-based

6 25/4 – 01/5 Tiếp tục thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Collaborative- filtering

7 02/5 – 05/5 Ghi chú và hệ thống lại những phần đã tìm hiểu cũng như tóm tắt lại các kiến thức về hệ thống gợi ý theo cách tiếp cận truyền thống

8 06/5 – 15/5 Viết báo cáo cho chương mở đầu

9 16/5 – 01/6 Xây dựng mô hình AutoEncoder cho hệ thống gợi ý

10 02/6 – 30/6 Tiếp tục đi sâu vào mô hình AutoEncoder xây dựng mô hình Deep AutoEncoder

11 01/7 – 03/07 Viết báo cáo các chương lý thuyết và hoàn thiện chương mở đầu

12 04/07 – 05/07 Viết báo cáo phần cài đặt và thực nghiệm

13 06/7 – 08/07 Chỉnh sửa và hoàn thiện báo cáo Hoàn thành báo cáo

Ngày tháng năm 2021 Ý kiến giáo viên hướng dẫn Người viết đề cương

(Ký và ghi rõ họ tên)

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING 5

2.2.2.3 Hàm ReLU (Rectified Linear Unit): 15

2.3.ƯU ĐIỂM VÀ NHƯỢC ĐIỂM: 22

CHƯƠNG 3 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 25

3.1.1 Một số khái niệm chung về hệ thống gợi ý 25

3.1.2 Tổng quan về các phương pháp 27

3.2.1.3 Những ưu nhược điểm của Content Based: 33

3.2.2.3 Những ưu nhược điểm của Collaborative filtering: 40

CHƯƠNG 4 HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU 41

4.1.1 Một số mô hình gợi ý dựa trên học sâu: 43

4.1.1.1 Recommendation with Neural Building Blocks: 43

4.1.1.2 Recommendation with Deep Hybrid Models: 49

4.1.2 Ưu điểm của hệ thống gợi ý dựa trên học sâu: 49

4.1.3 Nhược điểm của hệ thống gợi ý dựa trên học sâu: 50

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó: 52

CHƯƠNG 5 CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG GỢI Ý 57

5.1.2 Thư viện Keras của Tensorflow: 58

5.1.3 Máy chủ Colab của Google: 59

5.3.1.2 Áp dụng với tập dữ liệu 73

5.4.1 Tiền xử lý dữ liệu: 96

5.4.1.1 Xử lý dữ liệu thô: 96

5.4.1.2 Chia tập train, test, validation: 97

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 98

5.4.2 Xây dựng mô hình AutoEncoder: 98

5.4.3 Xây dựng mô hình Deep AutoEncoder: 103

5.4.4 Xây dựng mô hình kết hợp: 106

Hình 2.1: Mối quan hệ giữa AI, ML, Deep learning [8] 6

Hình 2 3: Minh họa mạng lưới thần kinh bao gồm nhiều Nút 8

Hình 2 4 Minh họa các hoạt động của trọng số đối với một nút [13] 8

Hình 2 5 Minh họa các hoạt động của trọng số đối với nhiều nút [13] 9

Hình 2 6 Minh họa trực quan cấu trúc mạng neural [13] 10

Hình 2 7 Minh họa trực quan mạng neural 4 lớp [13] 11

Hình 2 8 Mô tả biểu đồ mô tả mối quan hệ tuyến tính và phi tuyến tính của dữ liệu [13] 12

Hình 2 9 Mô tả biểu đồ hàm kích hoạt Sigmoid 14

Hình 2 10 Mô tả biểu đồ hàm kích hoạt Tanh [14] 15

Hình 2 11 Mô tả biểu đồ hàm kích hoạt ReLU [14] 16

Hình 2 12 Mô tả biểu đồ Dying ReLU [14] 17

Hình 2 13 Mô tả biểu đồ hàm kích hoạt Leaky RELU [14] 18

Hình 2 13 Mô tả biểu đồ hàm kích hoạt SELU [14] 19

Hình 2 14 Mô tả sai số trong mạng neural [13] 21

Hình 2 15 Mô tả hai trường hợp đạo hàm riêng trong neural network [13] 22d Hình 3 1 : Minh họa Collaborative recommendation systems 28

Hình 3 2: Minh họa Content-based recommendation systems 29

Hình 3 3: Minh họa Knowledge-based recommenders systems 30

Hình 3 4: Cách thức hoạt động của lọc cộng tác 32

Hình 3 5: : Cơ chế hoạt động lọc theo nội dung 33

Hình 3 6: Phân rã ma trận theo Singular Value Decomposition 39

Hình 4 1 Mô tả học sâu cho hệ thống gợi ý [4] 41

Hình 4 2 Mô tả học sâu để đưa ra gợi ý [4] 42

Hình 4 3 Mô tả học sâu để suy luận gợi ý: tạo ứng viên, xếp hạng và lọc [4] 43

Hình 4 4 Mô tả mô hình Multi-Layer Perceptron 44

Hình 4 5 Mô tả mô hình Wide and Deep [5] 45

Hình 4 6 Mô tả mô hình AutoEncoder [2] 45

Hình 4 7 Mô tả mô hình Convolutional Neural Networks 46

Hình 4 8 Mô tả mô hình Recurrent Neural Network 47

Hình 4 9 Mô tả mô hình Restricted Boltzmann Machine 47

Hình 4 10 Mô tả mô hình Deep Reinforcement Learning 48

Hình 4 11 Mô tả mô hình EutoenCoder dựa trên Item 54

Hình 4 12 Mô tả mô hình deep AutoEncoder 56

Hình 5 1: Số lượng xếp hạng mỗi năm 64

Hình 5 2: Tổng số rating trên tập dữ liệu 64

Hình 5 3: : Tổng số rating qua các năm 65

Hình 5 4 : Người dùng theo nhóm tuổi 65

Hình 5 5: Số lượng người dùng theo nghề nghiệp 66

Hình 5 6: Số lượng phim theo từng thể loại 66

Hình 5 7: Số rating trung bình theo từng thể loại phim 67

Hình 5 8: Số rating của nam và nữ theo từng thể loại 68

Hình 5 9: Mô tả ửng dụng về content-Based[10] 69

Hình 5 11:Ứng dụng tính trọng số cho các phim đề xuất[10] 71

Hình 5 12: Cách Tính các trọng số trong ứng dụng[10] 71

Hình 5 14: Input user ratings khi add thêm movieID 73

Hình 5 15: Input user ratings cuối cùng khi loại bỏ các cột không cần thiết 74

Hình 5 16: Ma trận item sau khi đã mã hóa 74

Hình 5 17: Ma trận item sau khi loại bỏ các cột không cần thiết 74

Hình 5 18: Mức độ quan tâm của user với các thể loại phim 75

Hình 5 19: Ma trận item cầm để đưa ra dự đoán 75

Hình 5 20: Mức độ quan tâm của user với các bộ phim chưa xem 76

Hình 5 21: Đề xuất nhưng bộ phim thỏa mãng user 77

Hình 5 22:Ví dụ minh họa về user-user collaborative filtering [9] 78

Hình 5 23 : Ma trận minh họa giữa người dùng và mục[9] 79

Hình 5 24:Tính toán độ giống nhau của người dùng[9] 80

Hình 5 25: Ma trận xếp hạng có trọng số của các user[9] 81

Hình 5 26:Tính trọng số của các phim được đề xuất cho người dùng[9] 82

Hình 5 27: Ma trận user-item 83

Hình 5 28: xếp hạng trung bình phim chưa được xếp hạng 84

Hình 5 29: Mức độ quan tâm giữa các user-user 84

Hình 5 30: Độ tương quan giữa user1 với các user còn lại 85

Hình 5 31: Danh sách phim mà user 1 đã đánh giá 85

Hình 5 32 : Trung bình ratings cho bộ phim 86

Hình 5 33: Tính trong số rating ma user 1 đánh giá cho bộ phim 86

Hình 5 34: Trung bình rating phim 86

Hình 5 35: xếp hạng trung bình cho những phim chưa được xếp hạng 87

Hình 5 36: Mức độ tương quan của item vs item 87

Hình 5 37: Đề xuất nhưng bộ phim có mức độ tương quan cao cho user 88

Hình 5 38: Ví dụ về phân rã ma trận theo SVD[15] 89

Hình 5 39: Loại bỏ các yếu tố tìm ẩn thấp trong ví dụ[15] 90

Hình 5 40: Ma tran dự đoán user-item sau khi giảm kích thước[15] 90

Hình 5 41: Ma trận đầu vào user-item 91

Hình 5 42: Ma trận dự đoán sau khi giản kích thước 91

Hình 5 43: Hàm tính các yếu tố 92

Hình 5 44: Top 20 mà user 1 đã rating 92

Hình 5 45: Top 20 bộ phim mà user 1 được đề xuất 93

Hình 5 47: Giá trị RMSE và siêu tham số tố nhất 94

Hình 5 48: Những bộ phim mà user 1 đã ratings 95

Hình 5 49: :Tập dữ liệu ratings sau khi xử lý 96

Hình 5 50: : tập dữ liệu movies sau khi xử lý 97

Hình 5 51: tập dữ liệu users sau khi xử lý 97

Hình 5 52 Mô tả sơ lược về mô hình AutoEncoder 98

Hình 5 53: Mô hình Auto-Encoder thực nghiệm 99

Hình 5 54 Biểu đồ mô tả RMSE train và RMSE validation với xếp hạng mặc định là 0 và trung bình 102

Hình 5 55: cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là trung bình 105

Hình 5 56 cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là 0 106

DANH SÁCH CÁC BẢNG Bảng 3.1: Tổng quan về các thuật toán recommendation 27

Bang 5 1 Thông tin các gói của Colab 60

Bảng 5 2: mô tả tổng quan về tập dữ liệu MovieLens 61

Bảng 5 3: mô tả tổng quan về tệp ratings 61

Bảng 5 4: : Mô tả tổng quan về tệp “movies.dat” 62

Bảng 5 5: Mô tả tổng quan về tệp “users.dat” 63

Bang 5 6: Các siêu tham số để tinh chỉnh RMSE 94

Bảng 5 7: siêu tham số mặc định của mô hình AutoEncoder 100

Bảng 5 8: thử nghiệm các siêu tham số và các hàm kích hoạt 101

Bang 5 9 Thử nghiệm các xếp hạng mặc định 101

Bảng 5 10: Thử nghiệm xếp hạng mặt định 0 và trung bình với các hàm kích hoạt

Bảng 5 11: siêu tham số mặc định của mô hình Deep AutoEncoder 104

Bang 5 12: : thử nghiệm các cấu trúc mô hình và các siêu tham số khác nhau 105

Bảng 5 13 Thông tin siêu tham số của mô hình kết hợp 107

CHƯƠNG 1 MỞ ĐẦU 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Sự phát triển và tiến bộ vượt trội của công nghệ thông tin và sự phổ biến của các dịch vụ trực tuyến đã cung cấp cho mọi người khả năng truy cập một lượng lớn thông tin một cách nhanh chóng Một người dùng có thể truy cập đánh giá và nhận xét hầu hết các loại sản phẩm và dịch vụ Mọi người phải đối mặt với một lượng khổng lồ các nguồn dữ liệu khiến họ bối rối trong việc tìm kiếm nội dung hữu ích và phù hợp và dẫn đến vấn đề quá tải thông tin Năm 2019 mỗi phút có khoảng 500 giờ phát video được tải lên Youtube, doanh mục sản phẩm của Amazone năm 2018 vào khoảng 12.000.000 sản phẩm, năm 2019 có khoảng 500 triệu dòng Twitter được đăng mỗi ngày,…

Với số lượng thông tin khổng lồ như thế, người dùng không thể xem hết tất cả dữ liệu đó có thể mất đến vài chục năm để xem hết Cũng như các công ty, doanh nghiệp không thể hiển thị tất cả thông tin dữ liệu khổng lồ đó cho người dùng được Người dùng sẽ không biết nên lựa chọn sản phẩm nào, xem phim gì, đọc sách nào để phù hợp với sở thích và nhu cầu của bản thân Hơn nữa, đối với doanh nghiệp phải đảm bảo sản phẩm phải được giới thiệu tới khách hàng đúng theo nhu cầu sở thích của khách hàng giúp giữ chân khách hàng, nâng cao trải nghiệm mua sắm của họ và giúp tăng doanh thu đồng thời lập kế hoạch dự trữ hàng hóa để tối ưu chi phí vận chuyển Vấn đề quá tải thông tin được giải quyết bởi các công cụ tìm kiếm, nhưng chúng không cung cấp cá nhân hóa dữ liệu

Trong những năm trở lại đây chúng ta đã chứng kiến sự thành công to lớn của học sâu trong xử lý hình ảnh, nhận dạng đối tượng, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói Giới học thuật đang trong cuộc chạy đua để áp dụng học sâu vào nhiều ứng dụng do khả năng giải quyết nhiều nhiệm vụ phức tạp trong khi vẫn mang lại kết quả tiên tiến

Gần đây, những tiến bộ trong hệ thống gợi dựa trên học tập sâu đã thu hút được sự chú ý đáng kể bằng cách vượt qua những trở ngại của các mô hình thông thường và đạt được chất lượng khuyến nghị cao

Hiện nay, hệ thống gợi ý là một công cụ để nâng cao trải nghiệm người dùng và thúc đẩy bán hàng, dịch vụ cho nhiều trang web trực tuyến và ứng dụng di động Ví dụ: 80% các bộ phim trên Netflix được xem đến từ các lượt giới thiệu gợi ý, 60% lượt nhấp vào video đến từ gợi ý trên trang chủ Youtube Để giải quyết những vấn đề trên và vận dụng sự tiến bộ vượt trội của học sâu chúng tôi đã chọn đề tài “Nghiên cứu học sâu cho bài toán gợi ý” làm khóa luận tốt nghiệp Đề tài áp dụng học sâu cho bài toán gợi ý phim đưa những bộ phim phù hợp đến với người dùng theo đúng sở thích của họ

1.2 MỤC TIÊU CỦA ĐỀ TÀI

Chúng tôi muốn xây dựng hệ thống gợi ý phim dựa trên các phương pháp gợi ý truyển thống và dựa trên thuật toán học sâu Đề tài tập trung nghiên cứu:

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý các phương pháp gợi ý truyền thống

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý dựa trên các thuật toán học sâu

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và thuật toán học sâu

• Tiến hành thực nghiệm và đánh giá các thuật toán

1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

1.3.1 CÁCH TIẾP CẬN: Áp dụng lý thuyết học sâu, các thuật toán học sâu và Các phương pháp gợi ý truyền thống vào bài toán gợi ý phim

Sử dụng ngôn ngữ lập trình Python, thư viện học sâu Pytorch và Tensorflow để xây dựng hệ thống gợi ý

Dự đoán rating của User cho một phim từ đó đưa ra gợi ý

Cụ thể, trong khuôn khổ luận văn, để tiếp cận được đề tài và phương pháp nghiên cứu, sẽ lần lượt nghiên cứu các nội dung sau:

• Phương pháp gợi ý truyển thống như Content-Based, Collaborative Filtering, Matrix Factorization

• Lý thuyết, thuật toán học sâu như Auto-Encoder, Deep Auto-Encoder

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và học sâu

1.4 PHÂN TÍCH NHỮNG CÔNG TRÌNH CÓ LIÊN QUAN

Với sự phát triển mạnh mẽ của hệ thống gợi ý và đặc biệt là Deep Learning đã mang lợi ích và giải quyết rất nhiều vấn đề trong cuộc sống, hơn nữa bất kỳ doanh nghiệp nào cũng có thể hưởng lợi từ một hệ thống gợi ý Hệ thống gợi ý đang được áp dụng và khai thác triệt để trong các lĩnh vực như: thương mại điện tử, bán lẻ, đa phương tiện, ngân hàng,…

• Thương mại điện tử: Là lĩnh vực mà các hệ thống gợi ý lần đầu tiên được sử dụng rộng rãi Với hàng triệu khách hàng và dữ liệu về hành vi trực tuyến của họ, các công ty thương mại điện tử dùng để tạo ra các gợi ý chính xác

• Bán lẻ: Dữ liệu mua sắm là dữ liệu có giá trị nhất vì nó là điểm dữ liệu trực tiếp nhất về ý định của khách hàng Các nhà bán lẻ có kho dữ liệu mua sắm đi đầu trong các công ty đưa ra các gợi ý chính xác

• Đa phương tiện: Tương tự như thương mại điện tử, các doanh nghiệp truyền thông là một trong những người đầu tiên nhảy vào hệ thống gợi ý Thật khó để tim thấy một trang web phim hoặc video mà không có hệ thống gợi ý

• Ngân hàng: Biết được tình hình tài chính chi tiết của khách hàng, cùng với sở thích trong quá khứ của họ để đưa ra những điều chỉnh các khoản vay, đầu tư từ đó thúc đẩy doanh thu của ngân hàng

1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

Nắm vững cơ sở lý thuyết về hệ thống gợi ý dựa trên các phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

Cách thức hoạt động của hệ thống gợi ý và thuật toán học sâu cho gợi ý Áp dụng hệ thống gợi ý dưa phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

1.6 BỐ CỤC CỦA BÀI BÁO CÁO

Phần còn lại của báo cáo khóa luận được tổ chức như sau:

Chương 2: Tổng quan về Deep Learning

Chương 3: Tổng quan về hệ thống gợi ý

Chương 4: Hệ thống gợi ý dựa trên học sâu

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING

Trước khi đi sâu vào học máy hãy tìm hiểu sơ về Machine Learning và AI Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence – viết tắt là AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science) Là trí tuệ do con người lập trình nên với mục đích giúp máy tính có thể tự động hóa các hành vi thông minh như con người

Trí tuệ nhân tạo khác với việc lập trình logic trong các ngôn ngữ lập trình là ở việc ứng dụng các hệ thống học máy (machine learning) để mô phỏng trí tuệ của con người trong các xử lý mà con người làm tốt hơn máy tính

Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi,…

ĐỀ XUẤT MÔ HÌNH GỢI Ý DỰA TRÊN HỌC SÂU

Với các mô hình lọc cộng tác truyền thống (Collaborative Filtering) nhằm khai thác thông tin về sở thích của người dùng đối với sản phẩm để đưa ra các đề xuất được cá nhân hóa Nhằm kết hợp sức mạnh của mô hình lọc cộng tác truyền thống và mô hình mạng neural sâu

Chúng tôi đề xuất mô hình AutoEncoder, một mô hình lọc cộng tác mới dựa trên AutoEncoder, sự quan tâm của chúng tôi đối với mô hình này bắt nguồn từ những thành công gần đây của các mô hình mạng neural cho các nhiệm vụ về thị giác máy tính và giọng nói Chúng tôi tranh luận rằng AutoRec có lợi thế về tính toán và biểu diễn so với các phương pháp tiếp cận neural hiện có đối với Collaborative Filtering

Trong khi các mô hình truyền thống chỉ xử lý một nguồn dữ liệu duy nhất (xếp hạng hoặc văn bản), thì các mô hình dựa trên bộ mã hóa tự động có thể xử lý các nguồn dữ liệu không đồng nhất (xếp hạng, âm thanh, hình ảnh, video) AutoEncoder hiểu rõ hơn về nhu cầu của người dùng và các tính năng của mặt hàng, do đó dẫn đến độ chính xác của đề xuất cao hơn so với các mô hình truyền thống

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó:

Trước khi đi sâu vào mô hình AutoEncoder chúng tôi sẽ giới thiệu các biến thể liên quan đến mô hình AutoEncoder

Có nhiều biến thể của AutoEncoder hiện đang được sử dụng trong các hệ thống gợi ý Bốn biến thể phổ biến nhất là:

• Denoising Autoencoder (DAE): làm hỏng các đầu vào trước khi ánh xạ chúng vào lớp ẩn và sau đó tạo lại đầu vào ban đầu từ phiên bản bị hỏng của nó Ý tưởng là buộc lớp ẩn có được các tính năng mạnh mẽ hơn và ngăn mạng chỉ học chức năng nhận dạng

• Stacked Denoising Autoencoder (SDAE): xếp chồng một số Denoising

Autoencoder (DAE) lên trên nhau để có được các biểu diễn cấp cao hơn của các đầu vào (input) Việc đào tạo thường được tối ưu hóa với các thuật toán tham lam, từng lớp một Những nhược điểm rõ ràng ở đây là chi phí đào tạo tính toán cao và thiếu khả năng mở rộng đối với các tính năng chiều cao (high-dimensional)

• Variational Autoencoder (VAE) là một mô hình biến tiềm ẩn unsupervised giúp học cách biểu diễn sâu từ dữ liệu chiều cao (high-dimensional data) Ý tưởng là mã hóa đầu vào dưới dạng phân phối xác suất thay vì ước tính điểm như trong AutoEncoder Vanilla Sau đó, VAE sử dụng bộ giải mã để tái tạo lại đầu vào ban đầu bằng cách sử dụng các mẫu từ phân phối xác suất đó

Về mặt kiến trúc, hình thức của Autoencoder là một mạng nơ-ron truyền thẳng có một lớp đầu vào, một lớp ẩn và một lớp đầu ra Lớp đầu ra có cùng số lượng tế bào thần kinh với lớp đầu vào nhằm mục đích tái tạo lại các đầu vào của chính nó Điều này làm cho

Autoencoder trở thành một dạng học tập không giám sát, có nghĩa là không cần dữ liệu được gắn nhãn - chỉ một tập dữ liệu đầu vào thay vì các cặp đầu vào-đầu ra

Autoencoder có một lớp ẩn nhỏ hơn lớp đầu vào Hiệu ứng này buộc mô hình tạo ra một biểu diễn nén của dữ liệu trong lớp ẩn bằng cách học các mối tương quan trong dữ liệu

Quá trình chuyển từ đầu vào đến lớp ẩn được gọi là bước mã hóa (encoder) và quá trình chuyển từ ẩn sang lớp đầu ra được gọi là bước giải mã (decoder)

Lớp đầu vào và lớp ẩn tạo một bộ mã hóa (encoder) Lớp ẩn và lớp đầu ra xây dựng một bộ giải mã (decoder) Giữa hai điều này, có một mã (code) Được mô tả như sau:

• Encoder: có chức năng nén thông tin đầu vào vào một không gian tiềm ẩn khác

• Code: là một phần của mạng đại diện cho đầu vào nén được đưa đến bộ giải mã (decoder)

• Decoder: thực hiện công việc ngược lại và tái tạo lại thông tin ban đầu, chuyển từ không gian tiềm ẩn sang không gian thông tin ban đầu

Trong lọc cộng tác dựa trên xếp hạng, chúng tôi có m user, n item và ma trận xếp hạng R giữa người dùng và mục được lấp đầy một phần với kích thước m x n Kí hiệu: R mxn

Với mỗi user u ∈ U ={1…m} có thể được biểu diễn bằng một vectơ r (u) ={Ru1,Ru2,…Run}

Tương tự, với mỗi i ∈ I ={1…n} có thể được biểu diễn bằng một vectơ r (i) ={R1i,R2i,…Rmi}

AutoRec lấy trực tiếp các vectơ xếp hạng của người dùng ru hoặc xếp hạng mục ri làm dữ liệu đầu vào và chiếu nó vào không gian ẩn có chiều thấp (low-dimensional) hay còn được gọi là lớp ẩn sau đó cấu trúc lại các xếp hạng r u hoặc r i này trong lớp output để dự đoán xếp hạng còn thiếu

Có hai biến thể của AutoRec tùy thuộc vào hai loại đầu vào: AutoRec dựa trên mục (I-AutoRec) và AutoRec dựa trên người dùng (U-AutoRec) Cả hai đều có cấu trúc giống nhau

Hình 4 11 Mô tả mô hình EutoenCoder dựa trên Item

Hình trên (4.11) là cấu trúc minh họa của I-Autorec Các nút được tô màu xám ứng với các xếp hạng quan sát được và các kết nối liền mạch tương ứng với trọng số được cập nhật cho đầu vào ri

Với đầu vào là rᵢ, thì việc tái tạo là:

Trong đú: f và g là hàm kớch hoạt và tham số theta bao gồm cả W,V, à, b

CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG GỢI Ý

THỰC NGHIỆM HỆ THỐNG GỢI Ý TRUYỀN THỐNG

5.3.1.1 Cách triễn khai 5.3.1.2 Áp dụng với tập dữ liệu 5.3.2 Collaborative Filtering

5.3.2.1 Memory-based Collaborative Filtering 5.3.2.1 Model-basied Collaborative Filtering

THỰC NGHIỆM HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU

5.4.1 Tiền xử lý dữ liệu

5.4.1.1 Xử lý dữ liệu thô:

5.4.1.2 Chia tập train, test, validation:

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 5.4.2 Xây dựng mô hình AutoEncoder:

5.4.3 Xây dựng mô hình Deep AutoEncoder:

5.4.3.1 Deep AutoEncoder 5.4.3.2 Thử nghiệm mô hình:

5.4.4 Xây dựng mô hình kết hợp:

K ẾT QUẢ THỰC NGHIỆM

STT Thời gian Công việc Ghi chú

1 1/3 – 9/3 Lựa chọn và xác định đề tài khóa luận

2 10/3 – 20/3 Tìm hiểu các vấn đề chung liên quan đến đề tài (tài liệu, các bài toán,…)

3 21/3 -05/4 Tìm hiểu về cơ sở lý thuyết của bài toán gợi ý truyền thống, các phương pháp tiếp cận

4 06/4 – 20/4 Tìm hiểu lý thuyết về học sâu cho bài toán gợi ý Tìm hiểu mô hình AutoEncoder cho bài toán gợi ý

5 21/4 – 25/4 Thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Content-based

6 25/4 – 01/5 Tiếp tục thực nghiệm xây dựng hệ thống gợi ý theo phương pháp Collaborative- filtering

7 02/5 – 05/5 Ghi chú và hệ thống lại những phần đã tìm hiểu cũng như tóm tắt lại các kiến thức về hệ thống gợi ý theo cách tiếp cận truyền thống

8 06/5 – 15/5 Viết báo cáo cho chương mở đầu

9 16/5 – 01/6 Xây dựng mô hình AutoEncoder cho hệ thống gợi ý

10 02/6 – 30/6 Tiếp tục đi sâu vào mô hình AutoEncoder xây dựng mô hình Deep AutoEncoder

11 01/7 – 03/07 Viết báo cáo các chương lý thuyết và hoàn thiện chương mở đầu

12 04/07 – 05/07 Viết báo cáo phần cài đặt và thực nghiệm

13 06/7 – 08/07 Chỉnh sửa và hoàn thiện báo cáo Hoàn thành báo cáo

Ngày tháng năm 2021 Ý kiến giáo viên hướng dẫn Người viết đề cương

(Ký và ghi rõ họ tên)

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING 5

2.2.2.3 Hàm ReLU (Rectified Linear Unit): 15

2.3.ƯU ĐIỂM VÀ NHƯỢC ĐIỂM: 22

CHƯƠNG 3 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 25

3.1.1 Một số khái niệm chung về hệ thống gợi ý 25

3.1.2 Tổng quan về các phương pháp 27

3.2.1.3 Những ưu nhược điểm của Content Based: 33

3.2.2.3 Những ưu nhược điểm của Collaborative filtering: 40

CHƯƠNG 4 HỆ THỐNG GỢI Ý DỰA TRÊN HỌC SÂU 41

4.1.1 Một số mô hình gợi ý dựa trên học sâu: 43

4.1.1.1 Recommendation with Neural Building Blocks: 43

4.1.1.2 Recommendation with Deep Hybrid Models: 49

4.1.2 Ưu điểm của hệ thống gợi ý dựa trên học sâu: 49

4.1.3 Nhược điểm của hệ thống gợi ý dựa trên học sâu: 50

4.2.1 Tổng quan về AutoEncoder và các biến thể của nó: 52

CHƯƠNG 5 CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG GỢI Ý 57

5.1.2 Thư viện Keras của Tensorflow: 58

5.1.3 Máy chủ Colab của Google: 59

5.3.1.2 Áp dụng với tập dữ liệu 73

5.4.1 Tiền xử lý dữ liệu: 96

5.4.1.1 Xử lý dữ liệu thô: 96

5.4.1.2 Chia tập train, test, validation: 97

5.4.1.3 Chuyển đổi DataFrame thành ma trận: 98

5.4.2 Xây dựng mô hình AutoEncoder: 98

5.4.3 Xây dựng mô hình Deep AutoEncoder: 103

5.4.4 Xây dựng mô hình kết hợp: 106

Hình 2.1: Mối quan hệ giữa AI, ML, Deep learning [8] 6

Hình 2 3: Minh họa mạng lưới thần kinh bao gồm nhiều Nút 8

Hình 2 4 Minh họa các hoạt động của trọng số đối với một nút [13] 8

Hình 2 5 Minh họa các hoạt động của trọng số đối với nhiều nút [13] 9

Hình 2 6 Minh họa trực quan cấu trúc mạng neural [13] 10

Hình 2 7 Minh họa trực quan mạng neural 4 lớp [13] 11

Hình 2 8 Mô tả biểu đồ mô tả mối quan hệ tuyến tính và phi tuyến tính của dữ liệu [13] 12

Hình 2 9 Mô tả biểu đồ hàm kích hoạt Sigmoid 14

Hình 2 10 Mô tả biểu đồ hàm kích hoạt Tanh [14] 15

Hình 2 11 Mô tả biểu đồ hàm kích hoạt ReLU [14] 16

Hình 2 12 Mô tả biểu đồ Dying ReLU [14] 17

Hình 2 13 Mô tả biểu đồ hàm kích hoạt Leaky RELU [14] 18

Hình 2 13 Mô tả biểu đồ hàm kích hoạt SELU [14] 19

Hình 2 14 Mô tả sai số trong mạng neural [13] 21

Hình 2 15 Mô tả hai trường hợp đạo hàm riêng trong neural network [13] 22d Hình 3 1 : Minh họa Collaborative recommendation systems 28

Hình 3 2: Minh họa Content-based recommendation systems 29

Hình 3 3: Minh họa Knowledge-based recommenders systems 30

Hình 3 4: Cách thức hoạt động của lọc cộng tác 32

Hình 3 5: : Cơ chế hoạt động lọc theo nội dung 33

Hình 3 6: Phân rã ma trận theo Singular Value Decomposition 39

Hình 4 1 Mô tả học sâu cho hệ thống gợi ý [4] 41

Hình 4 2 Mô tả học sâu để đưa ra gợi ý [4] 42

Hình 4 3 Mô tả học sâu để suy luận gợi ý: tạo ứng viên, xếp hạng và lọc [4] 43

Hình 4 4 Mô tả mô hình Multi-Layer Perceptron 44

Hình 4 5 Mô tả mô hình Wide and Deep [5] 45

Hình 4 6 Mô tả mô hình AutoEncoder [2] 45

Hình 4 7 Mô tả mô hình Convolutional Neural Networks 46

Hình 4 8 Mô tả mô hình Recurrent Neural Network 47

Hình 4 9 Mô tả mô hình Restricted Boltzmann Machine 47

Hình 4 10 Mô tả mô hình Deep Reinforcement Learning 48

Hình 4 11 Mô tả mô hình EutoenCoder dựa trên Item 54

Hình 4 12 Mô tả mô hình deep AutoEncoder 56

Hình 5 1: Số lượng xếp hạng mỗi năm 64

Hình 5 2: Tổng số rating trên tập dữ liệu 64

Hình 5 3: : Tổng số rating qua các năm 65

Hình 5 4 : Người dùng theo nhóm tuổi 65

Hình 5 5: Số lượng người dùng theo nghề nghiệp 66

Hình 5 6: Số lượng phim theo từng thể loại 66

Hình 5 7: Số rating trung bình theo từng thể loại phim 67

Hình 5 8: Số rating của nam và nữ theo từng thể loại 68

Hình 5 9: Mô tả ửng dụng về content-Based[10] 69

Hình 5 11:Ứng dụng tính trọng số cho các phim đề xuất[10] 71

Hình 5 12: Cách Tính các trọng số trong ứng dụng[10] 71

Hình 5 14: Input user ratings khi add thêm movieID 73

Hình 5 15: Input user ratings cuối cùng khi loại bỏ các cột không cần thiết 74

Hình 5 16: Ma trận item sau khi đã mã hóa 74

Hình 5 17: Ma trận item sau khi loại bỏ các cột không cần thiết 74

Hình 5 18: Mức độ quan tâm của user với các thể loại phim 75

Hình 5 19: Ma trận item cầm để đưa ra dự đoán 75

Hình 5 20: Mức độ quan tâm của user với các bộ phim chưa xem 76

Hình 5 21: Đề xuất nhưng bộ phim thỏa mãng user 77

Hình 5 22:Ví dụ minh họa về user-user collaborative filtering [9] 78

Hình 5 23 : Ma trận minh họa giữa người dùng và mục[9] 79

Hình 5 24:Tính toán độ giống nhau của người dùng[9] 80

Hình 5 25: Ma trận xếp hạng có trọng số của các user[9] 81

Hình 5 26:Tính trọng số của các phim được đề xuất cho người dùng[9] 82

Hình 5 27: Ma trận user-item 83

Hình 5 28: xếp hạng trung bình phim chưa được xếp hạng 84

Hình 5 29: Mức độ quan tâm giữa các user-user 84

Hình 5 30: Độ tương quan giữa user1 với các user còn lại 85

Hình 5 31: Danh sách phim mà user 1 đã đánh giá 85

Hình 5 32 : Trung bình ratings cho bộ phim 86

Hình 5 33: Tính trong số rating ma user 1 đánh giá cho bộ phim 86

Hình 5 34: Trung bình rating phim 86

Hình 5 35: xếp hạng trung bình cho những phim chưa được xếp hạng 87

Hình 5 36: Mức độ tương quan của item vs item 87

Hình 5 37: Đề xuất nhưng bộ phim có mức độ tương quan cao cho user 88

Hình 5 38: Ví dụ về phân rã ma trận theo SVD[15] 89

Hình 5 39: Loại bỏ các yếu tố tìm ẩn thấp trong ví dụ[15] 90

Hình 5 40: Ma tran dự đoán user-item sau khi giảm kích thước[15] 90

Hình 5 41: Ma trận đầu vào user-item 91

Hình 5 42: Ma trận dự đoán sau khi giản kích thước 91

Hình 5 43: Hàm tính các yếu tố 92

Hình 5 44: Top 20 mà user 1 đã rating 92

Hình 5 45: Top 20 bộ phim mà user 1 được đề xuất 93

Hình 5 47: Giá trị RMSE và siêu tham số tố nhất 94

Hình 5 48: Những bộ phim mà user 1 đã ratings 95

Hình 5 49: :Tập dữ liệu ratings sau khi xử lý 96

Hình 5 50: : tập dữ liệu movies sau khi xử lý 97

Hình 5 51: tập dữ liệu users sau khi xử lý 97

Hình 5 52 Mô tả sơ lược về mô hình AutoEncoder 98

Hình 5 53: Mô hình Auto-Encoder thực nghiệm 99

Hình 5 54 Biểu đồ mô tả RMSE train và RMSE validation với xếp hạng mặc định là 0 và trung bình 102

Hình 5 55: cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là trung bình 105

Hình 5 56 cấu trúc mô hình Deep AutoEncoder [256, 512, 256] với rating mặc định là 0 106

DANH SÁCH CÁC BẢNG Bảng 3.1: Tổng quan về các thuật toán recommendation 27

Bang 5 1 Thông tin các gói của Colab 60

Bảng 5 2: mô tả tổng quan về tập dữ liệu MovieLens 61

Bảng 5 3: mô tả tổng quan về tệp ratings 61

Bảng 5 4: : Mô tả tổng quan về tệp “movies.dat” 62

Bảng 5 5: Mô tả tổng quan về tệp “users.dat” 63

Bang 5 6: Các siêu tham số để tinh chỉnh RMSE 94

Bảng 5 7: siêu tham số mặc định của mô hình AutoEncoder 100

Bảng 5 8: thử nghiệm các siêu tham số và các hàm kích hoạt 101

Bang 5 9 Thử nghiệm các xếp hạng mặc định 101

Bảng 5 10: Thử nghiệm xếp hạng mặt định 0 và trung bình với các hàm kích hoạt

Bảng 5 11: siêu tham số mặc định của mô hình Deep AutoEncoder 104

Bang 5 12: : thử nghiệm các cấu trúc mô hình và các siêu tham số khác nhau 105

Bảng 5 13 Thông tin siêu tham số của mô hình kết hợp 107

CHƯƠNG 1 MỞ ĐẦU 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Sự phát triển và tiến bộ vượt trội của công nghệ thông tin và sự phổ biến của các dịch vụ trực tuyến đã cung cấp cho mọi người khả năng truy cập một lượng lớn thông tin một cách nhanh chóng Một người dùng có thể truy cập đánh giá và nhận xét hầu hết các loại sản phẩm và dịch vụ Mọi người phải đối mặt với một lượng khổng lồ các nguồn dữ liệu khiến họ bối rối trong việc tìm kiếm nội dung hữu ích và phù hợp và dẫn đến vấn đề quá tải thông tin Năm 2019 mỗi phút có khoảng 500 giờ phát video được tải lên Youtube, doanh mục sản phẩm của Amazone năm 2018 vào khoảng 12.000.000 sản phẩm, năm 2019 có khoảng 500 triệu dòng Twitter được đăng mỗi ngày,…

Với số lượng thông tin khổng lồ như thế, người dùng không thể xem hết tất cả dữ liệu đó có thể mất đến vài chục năm để xem hết Cũng như các công ty, doanh nghiệp không thể hiển thị tất cả thông tin dữ liệu khổng lồ đó cho người dùng được Người dùng sẽ không biết nên lựa chọn sản phẩm nào, xem phim gì, đọc sách nào để phù hợp với sở thích và nhu cầu của bản thân Hơn nữa, đối với doanh nghiệp phải đảm bảo sản phẩm phải được giới thiệu tới khách hàng đúng theo nhu cầu sở thích của khách hàng giúp giữ chân khách hàng, nâng cao trải nghiệm mua sắm của họ và giúp tăng doanh thu đồng thời lập kế hoạch dự trữ hàng hóa để tối ưu chi phí vận chuyển Vấn đề quá tải thông tin được giải quyết bởi các công cụ tìm kiếm, nhưng chúng không cung cấp cá nhân hóa dữ liệu

Trong những năm trở lại đây chúng ta đã chứng kiến sự thành công to lớn của học sâu trong xử lý hình ảnh, nhận dạng đối tượng, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói Giới học thuật đang trong cuộc chạy đua để áp dụng học sâu vào nhiều ứng dụng do khả năng giải quyết nhiều nhiệm vụ phức tạp trong khi vẫn mang lại kết quả tiên tiến

Gần đây, những tiến bộ trong hệ thống gợi dựa trên học tập sâu đã thu hút được sự chú ý đáng kể bằng cách vượt qua những trở ngại của các mô hình thông thường và đạt được chất lượng khuyến nghị cao

Hiện nay, hệ thống gợi ý là một công cụ để nâng cao trải nghiệm người dùng và thúc đẩy bán hàng, dịch vụ cho nhiều trang web trực tuyến và ứng dụng di động Ví dụ: 80% các bộ phim trên Netflix được xem đến từ các lượt giới thiệu gợi ý, 60% lượt nhấp vào video đến từ gợi ý trên trang chủ Youtube Để giải quyết những vấn đề trên và vận dụng sự tiến bộ vượt trội của học sâu chúng tôi đã chọn đề tài “Nghiên cứu học sâu cho bài toán gợi ý” làm khóa luận tốt nghiệp Đề tài áp dụng học sâu cho bài toán gợi ý phim đưa những bộ phim phù hợp đến với người dùng theo đúng sở thích của họ

1.2 MỤC TIÊU CỦA ĐỀ TÀI

Chúng tôi muốn xây dựng hệ thống gợi ý phim dựa trên các phương pháp gợi ý truyển thống và dựa trên thuật toán học sâu Đề tài tập trung nghiên cứu:

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý các phương pháp gợi ý truyền thống

• Tìm hiểu cơ sở lý thuyết của bài toán gợi ý dựa trên các thuật toán học sâu

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và thuật toán học sâu

• Tiến hành thực nghiệm và đánh giá các thuật toán

1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

1.3.1 CÁCH TIẾP CẬN: Áp dụng lý thuyết học sâu, các thuật toán học sâu và Các phương pháp gợi ý truyền thống vào bài toán gợi ý phim

Sử dụng ngôn ngữ lập trình Python, thư viện học sâu Pytorch và Tensorflow để xây dựng hệ thống gợi ý

Dự đoán rating của User cho một phim từ đó đưa ra gợi ý

Cụ thể, trong khuôn khổ luận văn, để tiếp cận được đề tài và phương pháp nghiên cứu, sẽ lần lượt nghiên cứu các nội dung sau:

• Phương pháp gợi ý truyển thống như Content-Based, Collaborative Filtering, Matrix Factorization

• Lý thuyết, thuật toán học sâu như Auto-Encoder, Deep Auto-Encoder

• Xây dựng hệ thống gợi ý dựa trên các phương pháp truyền thống và học sâu

1.4 PHÂN TÍCH NHỮNG CÔNG TRÌNH CÓ LIÊN QUAN

Với sự phát triển mạnh mẽ của hệ thống gợi ý và đặc biệt là Deep Learning đã mang lợi ích và giải quyết rất nhiều vấn đề trong cuộc sống, hơn nữa bất kỳ doanh nghiệp nào cũng có thể hưởng lợi từ một hệ thống gợi ý Hệ thống gợi ý đang được áp dụng và khai thác triệt để trong các lĩnh vực như: thương mại điện tử, bán lẻ, đa phương tiện, ngân hàng,…

• Thương mại điện tử: Là lĩnh vực mà các hệ thống gợi ý lần đầu tiên được sử dụng rộng rãi Với hàng triệu khách hàng và dữ liệu về hành vi trực tuyến của họ, các công ty thương mại điện tử dùng để tạo ra các gợi ý chính xác

• Bán lẻ: Dữ liệu mua sắm là dữ liệu có giá trị nhất vì nó là điểm dữ liệu trực tiếp nhất về ý định của khách hàng Các nhà bán lẻ có kho dữ liệu mua sắm đi đầu trong các công ty đưa ra các gợi ý chính xác

• Đa phương tiện: Tương tự như thương mại điện tử, các doanh nghiệp truyền thông là một trong những người đầu tiên nhảy vào hệ thống gợi ý Thật khó để tim thấy một trang web phim hoặc video mà không có hệ thống gợi ý

• Ngân hàng: Biết được tình hình tài chính chi tiết của khách hàng, cùng với sở thích trong quá khứ của họ để đưa ra những điều chỉnh các khoản vay, đầu tư từ đó thúc đẩy doanh thu của ngân hàng

1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

Nắm vững cơ sở lý thuyết về hệ thống gợi ý dựa trên các phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

Cách thức hoạt động của hệ thống gợi ý và thuật toán học sâu cho gợi ý Áp dụng hệ thống gợi ý dưa phương pháp truyền thống và các thuật toán học sâu cho bài toán gợi ý

1.6 BỐ CỤC CỦA BÀI BÁO CÁO

Phần còn lại của báo cáo khóa luận được tổ chức như sau:

Chương 2: Tổng quan về Deep Learning

Chương 3: Tổng quan về hệ thống gợi ý

Chương 4: Hệ thống gợi ý dựa trên học sâu

Chương 5: Cài đặt và thử nghiệm hệ thống gợi ý

CHƯƠNG 2 TỔNG QUAN VỀ DEEP LEARNING

Trước khi đi sâu vào học máy hãy tìm hiểu sơ về Machine Learning và AI Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence – viết tắt là AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science) Là trí tuệ do con người lập trình nên với mục đích giúp máy tính có thể tự động hóa các hành vi thông minh như con người

Trí tuệ nhân tạo khác với việc lập trình logic trong các ngôn ngữ lập trình là ở việc ứng dụng các hệ thống học máy (machine learning) để mô phỏng trí tuệ của con người trong các xử lý mà con người làm tốt hơn máy tính

Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi,…

Ngày đăng: 25/02/2024, 14:35

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

TÀI LIỆU LIÊN QUAN

w