Luận án Nghiên cứu phương pháp xử lý dữ liệu cho hệ thống gợi ý và triển khai trên các thiết bị có tài nguyên hạn chế

MỤC LỤC

MỤC LỤC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DANH MỤC CÁC TỪ VIẾT TẮT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

DANH MỤC KÝ HIỆU TOÁN HỌC . . . . . . . . . . . . . . . . . . . . . . . . . . vii

DANH MỤC HÌNH VẼ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

DANH MỤC BẢNG BIỂU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

MỞ ĐẦU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1. Giới thiệu chung về hệ thống gợi ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2. Tính cần thiết của luận án và những vấn đề sẽ giải quyết . . . . . . . . . . . . . 8

3. Mục tiêu, đối tượng, phạm vi và phương pháp nghiên cứu . . . . . . . . . . . 13

4. Các đóng góp mới của luận án . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5. Cấu trúc nội dung của luận án . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG GỢI Ý. . . . . . . . . . 16

1.1. Ma trận lịch sử tương tác trong hệ thống gợi ý . . . . . . . . . . . . . . . . . . . . . 16

1.2. Các phương án triển khai hệ thống gợi ý . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.1. Hệ thống gợi ý dựa trên nội dung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.2. Lọc cộng tác dựa trên ghi nhớ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.2.3. Lọc cộng tác dựa trên mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.3. Thiết lập thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.3.1. Tập dữ liệu MovieLens 20M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.3.2. Tập dữ liệu MovieLens 25M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.3.3. Phương pháp đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.4. Kết luận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

i

ii

CHƯƠNG 2. CẢI THIỆN THUẬT TOÁN ĐO ĐỘ TƯƠNG ĐỒNG

GIỮA HAI SẢN PHẨM TRONG LỌC CỘNG TÁC DỰA TRÊN

GHI NHỚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.1. Hạn chế của các phép đo độ tương đồng truyền thống trong hệ thống gợi

ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.1.1. Hạn chế trong phân bố thống kê độ tương đồng . . . . . . . . . . . . . . . . 30

2.1.2. Hạn chế của dữ liệu lịch sử đánh giá trong tính toán ma trận tương

đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2. Phương pháp tính độ tương đồng mới cải thiện hạn chế trong phân bố

thống kê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3. Phương pháp Lọc cộng tác dựa theo ghi nhớ tích hợp nội dung sản phẩm

35

2.3.1. Dữ liệu Tag Genome trong tập dữ liệu MovieLens 20M và 25M. 35

2.3.2. Phương pháp tích hợp nội dung của sản phẩm vào hệ thống lọc cộng

tác dựa theo ghi nhớ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.3.3. Xây dựng ma trận tương đồng kết hợp trong hệ thống gợi ý dựa trên

ghi nhớ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.4. Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.1. Các mô hình tham chiếu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.2. Kết quả các phương pháp giúp cải thiện phân bố thống kê của ma

trận tương đồng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.4.3. Kết quả tích hợp nội dung của sản phẩm vào hệ thống lọc cộng tác

dựa theo ghi nhớ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.4.4. Kết quả tích hợp ma trận tương đồng kết hợp trong hệ thống gợi ý

dựa trên ghi nhớ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.4.5. Kết quả triển khai các mô hình trên thiết bị máy tính Jetson Nano .

48

2.5. Kết luận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

CHƯƠNG 3. HỆ THỐNG GỢI Ý ÁP DỤNG CÁCH THỨC BIỂU

DIỄN SẢN PHẨM SỬ DỤNG CÁC KỸ THUẬT HỌC SÂU . . 52

3.1. Phương pháp nhóm các thẻ tương đồng trong dữ liệu Tag Genome bằng

kỹ thuật xử lý ngôn ngữ tự nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

iii

3.2. Phương pháp học cách biểu diễn mới cho các sản phẩm qua Bộ tự mã

hóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.2.1. Kiến trúc Bộ tự mã hóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.2.2. Áp dụng Bộ tự mã hoá nhằm biểu diễn sản phẩm . . . . . . . . . . . . . . 57

3.3. Học cách biểu diễn mới cho mỗi bộ phim với Bộ tự mã hóa bán chập 58

3.3.1. Cơ sở áp dụng CNN cho dữ liệu bảng . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.3.2. Sơ lược về kiến trúc mạng nơ-ron chập một chiều . . . . . . . . . . . . . . 61

3.3.3. Sơ lược về Bộ tự mã hóa chập - CAE . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.3.4. Thiết kế Bộ tự mã hóa bán chập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.4. Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.4.1. Các mô hình tham chiếu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.4.2. Kết quả mô hình sử dụng phương pháp nhóm các thẻ tương đồng

trong dữ liệu Tag Genome bằng kỹ thuật xử lý ngôn ngữ tự nhiên . . . 67

3.4.3. Kết quả mô hình sử dụng cách biểu diễn mới cho các sản phẩm qua

Bộ tự mã hóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.4.4. Kết quả áp dụng biểu diễn mới cho mỗi bộ phim với Bộ tự mã hóa

bán chập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3.4.5. Kết quả triển khai các mô hình trên thiết bị máy tính Jetson Nano .

79

3.5. Kết luận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

CHƯƠNG 4. PHƯƠNG PHÁP SINH DỮ LIỆU NGƯỜI DÙNG

NHÂN TẠO ỨNG DỤNG TRONG LỌC CỘNG TÁC . . . . . . . . . 82

4.1. Biểu diễn người dùng qua nội dung sản phẩm và thông tin đánh giá 82

4.2. Tích hợp độ tương quan người dùng - sản phẩm vào ước lượng cơ sở 86

4.3. Áp dụng nội dung sản phẩm vào bài toán khởi tạo cho mô hình phân rã

ma trận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.4. Kết quả thí nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.4.1. Tích hợp độ tương quan người dùng - sản phẩm vào ước lượng cơ sở

90

4.4.2. Áp dụng nội dung sản phẩm vào bài toán khởi tạo cho mô hình MF

94

iv

4.4.3. Kết quả triển khai các mô hình trên thiết bị máy tính Jetson Nano .

97

4.5. Kết luận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

KẾT LUẬN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Những kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Hướng nghiên cứu tiếp theo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ . . . . . . . . . . . 102

pdf127 trang | Chia sẻ: vietdoc2 | Ngày: 27/11/2023 | Lượt xem: 200 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án Nghiên cứu phương pháp xử lý dữ liệu cho hệ thống gợi ý và triển khai trên các thiết bị có tài nguyên hạn chế, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
đều được sử dụng trong so sánh. • Các mô hình SVD, SVD++: số nhân tố ẩn được chọn trong tập {20, 30, 40, 50, 60, 80, 100}. • Hệ số điều chuẩn của tất cả các mô hình được điều chỉnh λ ∈ {0.001, 0.002, 0.01, 0.02, 0.1, 1, 2} cho tất cả các mô hình tham chiếu. Các mô hình này được lập trình sử dụng thư viện Numba 1 [67] nhằm tăng tốc độ thử nghiệm, giúp mở rộng các mô hình với số nhân tố ẩn lớn hơn. 2.4.2. Kết quả các phương pháp giúp cải thiện phân bố thống kê của ma trận tương đồng Bảng 2.2 trình bày kết quả các mô hình kNN sử dụng các phép đo độ tương đồng được đề xuất trong 2.2 và so sánh với các thuật toán gợi ý phổ biến dựa trên mô hình MF. Cụ thể, với việc sử dụng hàm squaredCos để tạo ra phép đo mới, mô hình kNN hoạt động có hiệu quả hơn với RMSE đạt 0.8211 so với mô hình cũ sử dụng hàm Cos có RMSE bằng 0.8674. Tương tự, hàm squaredPCC giúp mô hình CF dựa trên ghi nhớ đạt RMSE bằng 0.8150, thấp hơn 2.01% so 1https://github.com/numba/numba Hình 2.6: Hiệu quả của mô hình CF dựa trên ghi nhớ với số lượng láng giềng k khác nhau. 42 với RMSE của mô hình sử dụng PCC, cùng với cải thiện 0.39% - 1.34% trong tác vụ xếp hạng k sản phẩm. Bằng cách khắc phục hạn chế của phép bình phương trên phép đo PCC, các mô hình kNN sử dụng phép lập phương trên độ tương đồng đạt hiệu quả tốt nhất. Cụ thể, mô hình tốt nhất được đề xuất, kNN sử dụng phép đo cubedPCC, đạt RMSE thấp hơn 0.51% và cải thiện 0.75% - 1.95% trong tác vụ xếp hạng k sản phẩm so với SVD. Bảng 2.2: So sánh độ hiệu quả của mô hình sử dụng phép đo mới so với các thuật toán gợi ý cơ sở trên tập dữ liệu MovieLens 20M và 25M. Mô hình RMSE P@5 P@10 R@5 R@10 Thời gian [s] Tập dữ liệu MovieLens 20M Cos 0.8636 0.7479 0.7249 0.3994 0.5194 553 PCC 0.8304 0.7767 0.7528 0.4151 0.5401 574 SVD 0.7922 0.8005 0.7786 0.4322 0.5628 1,228 SVD++ 0.7894 0.8030 0.7817 0.4339 0.5639 27,387 squaredCos 0.8211 0.7807 0.7575 0.4159 0.5422 556 squaredPCC 0.8150 0.7869 0.7627 0.4207 0.5482 578 cubedCos 0.8012 0.8012 0.7765 0.4274 0.5561 561 cubedPCC 0.7882 0.8155 0.7904 0.4358 0.5670 580 Tập dữ liệu MovieLens 25M Cos 0.8618 0.7493 0.7259 0.4003 0.5209 583 PCC 0.8281 0.7790 0.7547 0.4160 0.5417 602 SVD 0.7897 0.8022 0.7802 0.4331 0.5639 1,283 SVD++ 0.7851 0.8048 0.7833 0.4348 0.5651 31,459 squaredCos 0.8193 0.7825 0.7581 0.4163 0.5435 587 squaredPCC 0.8128 0.7885 0.7543 0.4213 0.5487 605 cubedCos 0.8012 0.8019 0.7771 0.4280 0.5209 592 cubedPCC 0.7848 0.8179 0.7924 0.4369 0.5689 609 43 Hơn nữa, nhằm đánh giá chính xác khả năng của mô hình CF dựa trên ghi nhớ với số lượng láng giềng khác nhau, với mỗi mô hình, số lượng láng giềng k biến thiên từ 5 đến 60 và RMSE của mô hình trên tập kiểm tra được ghi lại. Hình 2.6 chỉ ra rằng các mô hình hoạt động tốt nhất với k ∈ [30; 40]. Việc tăng số lượng láng giềng có thể gây ra hiện tượng các láng giếng được xét đến không “thực sự tương đồng” với sản phẩm i, do đó RMSE chững lại và bắt đầu tăng nhẹ khi k bằng 40 và trên 40. Trường hợp tệ nhất là công thức dự đoán đánh giá (1.7) và (1.6) xét đến cả những sản phẩm hoàn toàn khác biệt so với sản phẩm i khi số lượng láng giếng tăng, dẫn đến việc đưa ra dự đoán không phù hợp. Khi xét đến thời gian thực hiện của các hệ thống CF dựa trên ghi nhớ được đề xuất trong phần 2.2, có thể thấy rằng thời gian để đưa ra dự đoán nhanh hơn các mô hình MF ít nhất 2 lần (Bảng 2.2). Cụ thể, cubedPCC chỉ mất 609 [s] để hoàn thành toàn bộ quá trình huấn luyện và dự đoán so với 1, 228 [s] khi sử dụng SVD trong khi vẫn đạt được RMSE thấp hơn. Sự chênh lệch về thời gian này là do các mô hình MF tốn thời gian duyệt qua toàn bộ tập dữ liệu nhằm mục đích ước lượng vector đặc trưng ẩn cho từng người dùng và sản phẩm với số lượng đánh giá đã biết rất lớn, 19, 793, 342 đánh giá. Trong khi đó, thao tác tính toán ma trận tương đồng cho 10, 239 sản phẩm trong tập dữ liệu đã lọc sử dụng các phương pháp được đề xuất có thời gian thực hiện tương đương với các phương pháp truyền thống như Cos và PCC. 2.4.3. Kết quả tích hợp nội dung của sản phẩm vào hệ thống lọc cộng tác dựa theo ghi nhớ Ở phần này, hiệu năng của mô hình được so sánh với các mô hình gợi ý cơ sở gồm có các mô hình CF dựa trên ghi nhớ sử dụng lịch sử đánh giá để đo độ tương đồng giữa các sản phẩm (gồm có kNNBasic và kNNBaseline) và các mô hình MF (gồm có SVD và SVD++). Như chỉ ra trong Bảng 2.2, mô hình kNNBaseline sử dụng phép đo cubedPC- CBaseline để đo độ tương đồng giữa các sản phẩm có hiệu năng trội hơn hẳn so với các mô hình đối thủ cả về độ chính xác được biểu thị qua RMSE lẫn thời gian thực hiện dự đoán. Ngay cả đối với SVD++, một trong những mô hình tân tiến nhất trong các mô hình sử dụng phương pháp MF, mô hình được đề xuất trong phần 2.2 cũng hoạt động tốt hơn một chút trên phương diện độ chính xác (RMSE thấp hơn 0.15%) và tốc độ nhanh hơn xấp xỉ 51 lần. Chú ý rằng 44 Bảng 2.3: Hiệu năng của mô hình CF dựa trên ghi nhớ kết hợp với dữ liệu Tag Genome với k = 40 và k = 10. Mô hình RMSE Thời gian [s] Tập dữ liệu MovieLens 20M kNNBasic (k = 40) Cosgenome 0.8562 315 PCCgenome 0.8268 327 kNNBaseline (k = 40) Cosgenome 0.8202 336 PCCgenome 0.7912 340 kNNBasic (k = 10) Cosgenome 0.8416 261 PCCgenome 0.8266 264 kNNBaseline (k = 10) Cosgenome 0.8037 283 PCCgenome 0.7905 284 Tập dữ liệu MovieLens 25M kNNBasic (k = 40) Cosgenome 0.8532 341 PCCgenome 0.8239 347 kNNBaseline (k = 40) Cosgenome 0.8177 374 PCCgenome 0.7885 365 kNNBasic (k = 10) Cosgenome 0.8389 289 PCCgenome 0.8238 293 kNNBaseline (k = 10) Cosgenome 0.8011 316 PCCgenome 0.7878 319 tất cả các mô hình tham chiếu được trình bày trong Bảng 2.2 chỉ sử dụng dữ liệu lịch sử tương tác giữa người dùng - sản phẩm để ước lượng những đánh giá chưa biết. Dựa trên cơ sở đó, hiệu năng của các thuật toán gợi ý mới được đề xuất ở phần trước được trình bày trong Bảng 2.3, khi kích thước tập các láng giềng được chọn bằng 40, mô hình kNNBaseline với ma trận tương đồng tính theo công thức PCCgenome cho RMSE cao hơn 0.22% và 0.38% so với các mô hình đối thủ sử dụng dữ liệu lịch sử tương tác lần lượt là mô hình SVD++ và 45 cubedPCCBaseline. Các thí nghiệm tương tự với kích thước tập các láng giềng khác nhau tiếp tục được thực hiện nhằm tìm ra giá trị k tốt nhất cho hệ thống mới được đề xuất. Có thể rút ra kết luận rằng việc giảm kích thước k không gây ảnh hưởng tiêu cực đến độ chính xác của các gợi ý mà còn giúp tăng tốc độ dự đoán của toàn hệ thống. Sau quá trình tinh chỉnh tham số k, tác giả nhận thấy mô hình kết hợp giữa CF dựa trên ghi nhớ và thông tin nội dung sản phẩm hoạt động tốt nhất với k = 10 trên tập MovieLens 20M, RMSE của mô hình mới đạt 0.7905, chỉ còn cao hơn 0.14% và 0.29% so với các mô hình sử dụng dữ liệu lịch sử tương tác lần lượt là mô hình SVD++ và cubedPCCBaseline. Kết quả thí nghiệm này là hợp lý do: (i) các đánh giá chưa biết được ước lượng bằng cách tận dụng tất cả thông tin có sẵn liên quan đến từng sản phẩm (thay vì chỉ sử dụng dữ liệu lịch sử tương tác như các phương pháp truyền thống), và (ii) tác vụ đánh giá độ tương đồng giữa hai vector điểm số genome có độ dài cố định có chi phí tính toán thấp và có thể được tính toán song song trên nhiều cặp vector trong cùng một thời điểm. 2.4.4. Kết quả tích hợp ma trận tương đồng kết hợp trong hệ thống gợi ý dựa trên ghi nhớ Kết quả thử nghiệm với các biện pháp tương đồng khác nhau được được trình bày trong Hình 2.7, trong đó PCC cho thấy sự vượt trội so với Cos. Đáng chú ý rằng việc sử dụng các phương pháp tìm giá trị lớn nhất hoặc nhỏ nhất theo từng phần tử giữa 2 ma trận cho hiệu suất kém và không ổn định so với kNNContent ở phần 2.3.2 và các phương pháp kết hợp khác. Điều này có thể được giải thích rằng để tìm ra độ tương đồng của hai sản phẩm i và j, các kỹ thuật này chỉ giữ một giá trị lớn nhất hoặc nhỏ nhất từ Sr hoặc Sc, và do đó, sự tương đồng giữa mỗi cặp sản phẩm chỉ bao gồm thông tin từ một phương pháp, dẫn đến dự đoán đưa ra không đáng tin cậy. Ngược lại, bằng cách kết hợp hai ma trận độ tương đồng bằng cách sử dụng phép cộng hoặc nhân theo từng phần tử, ma trận độ tương đồng thống nhất có thể thu thập thêm thông tin, dẫn đến điểm số tương đồng chính xác hơn và cho kết quả tốt hơn. Ngoài ra, so với mô hình ghép kết quả dự đoán trong [66], ma trận độ tương đồng kết hợp được đề xuất của tác giả trong phần này linh hoạt hơn nhiều về phương pháp kết hợp mà không yêu cầu các quy trình dự đoán 46 Hình 2.7: Tỷ lệ lỗi của các mô hình kNNBaseline khi kết hợp các ma trận độ tương đồng kết hợp với các giá trị k khác nhau. độc lập, trong khi cung cấp hiệu suất có sức cạnh tranh. Kết quả so sánh toàn diện các mô hình được đề xuất của tác giả được cung cấp trong Bảng 2.4, trong đó kích thước k cho mỗi mô hình dựa trên ghi nhớ được chọn để có hiệu suất tốt nhất. Cụ thể, mô hình hiệu quả nhất, kNNBaseline sử dụng phép nhân theo từng phần tử giữa Sr và Sc được đo bằng PCC, đạt: • RMSE thấp hơn 1.88% và cải thiện từ 2.51% - 3.67% trên tác vụ xếp hạng k sản phẩm so với SVD. • RMSE thấp hơn 1.53% và cải thiện từ 2.14% - 3.35% trên tác vụ xếp hạng k sản phẩm so với SVD++. • RMSE thấp hơn 0.45% và cải thiện từ 6.31% - 11.58% trên tác vụ xếp hạng 47 Bảng 2.4: Hiệu suất của mô hình kNNBaseline sử dụng ma trận độ tương đồng kết hợp so với các mô hình tham chiếu khác. Mô hình RMSE P@5 P@10 R@5 R@10 Thời gian [s] SVD (40 nhân tố ẩn) 0.7922 0.8005 0.7786 0.4322 0.5628 1,228 -1.88% +3.67% +3.21% +2.55% +2.51% SVD++ (40 nhân tố ẩn) 0.7894 0.8030 0.7817 0.4339 0.5639 27,387 -1.53% +3.35% +2.10% +2.14% +2.31% I-AutoRec 0.7808 0.7778 0.7559 0.3972 0.5228 69,860 -0.45% +6.70% +6.31% +11.58% +10.34% kNNBaseline (k = 40) 0.8108 0.7967 0.7721 0.4261 0.5541 565 -4.13% +4.17% +4.07% +4.01% +4.11% kNNContent (k = 20) 0.7885 0.8189 0.7927 0.4374 0.5693 293 -1.42% +1.34% +1.38% +1.33% +1.32% Ghép kết quả dự đoán 0.7833 0.8241 0.7979 0.4403 0.5730 827 -0.77% +0.73% +0.71% +0.66% +0.68% Hybrid Sr,Sc Sadd (k = 20) 0.7834 0.8243 0.7973 0.4398 0.5729 571 Smul (k = 20) 0.7773 0.8299 0.8036 0.4432 0.5769 575 k sản phẩm so với I-AutoRec. • RMSE thấp hơn 4.13% và cải thiện từ 4.01% - 4.17% trên tác vụ xếp hạng k sản phẩm so với kNNBaseline. • RMSE thấp hơn 1.42% và cải thiện từ 1.32% - 1.38% trên tác vụ xếp hạng k sản phẩm so với kNNContent. • RMSE thấp hơn 0.77% và cải thiện từ 0.66% - 0.73% trên tác vụ xếp hạng k sản phẩm so với mô hình ghép kết quả dự đoán giữa kNNBaseline và kNNContent. Ngoài những cải thiện so với các mô hình CF truyền thống, việc kết hợp trực 48 tiếp hai ma trận tương đồng dựa trên nội dung sản phẩm và lịch sử đánh giá của người dùng giúp nâng cao đáng kể độ chính xác của đánh giá dự đoán, cho hiệu suất tương đương với các mô hình học sâu nổi tiếng. Kết quả này cho thấy tiềm năng của các phương pháp mới tích hợp những nguồn thông tin có sẵn một cách hợp lí để tạo ra những hệ thống gợi ý chính xác hơn. 2.4.5. Kết quả triển khai các mô hình trên thiết bị máy tính Jetson Nano Các mô hình tham chiếu và những mô hình được đề xuất đều được triển khai trên máy tính Jetson Nano. Nhưng vì lý do hạn chế tài nguyên của thiết bị, phần lớn các mô hình đều được triển khai ở phần dự đoán kết quả, phần huấn luyện chỉ có một số ít mô hình có thể đáp ứng được đủ với cấu hình của thiết bị. Các mô hình sẽ được trình bày cụ thể ứng với mỗi chương mà mô hình được đề xuất. Với mô hình cơ sở kNNBaseline, vì phải lưu trữ và tính toán với khối dữ liệu lớn ứng với danh sách các người dùng đã đánh giá sản phẩm và các sản phẩm đã được đánh giá kèm với ma trận độ tương đồng của các sản phẩm nên thiết bị không có đủ bộ nhớ RAM để sử dụng, nên các việc triển khai sẽ được thực hiện với các bước như sau: • Tính toán phần dữ liệu nêu trên sẽ được tính trên máy trạm và lưu lại dưới dạng tệp “.npy”. • Trên máy tính Jetson Nano, các dữ liệu này không cần phải tính toán và chỉ cần đọc từ các tệp đã có, và được đưa vào để tính ra những dự đoán của người dùng với sản phẩm. Tương tự với các mô hình được đề xuất, các bước tính toán ma trận tương đồng đều được thực hiện ở trên máy trạm và sẽ được đọc ra trên thiết bị. Còn đối với mô hình SVD và SVD++, có thể triển khai được cả phần huấn luyện và dự đoán. Hiệu năng của các mô hình được giữ nguyên và chỉ thay đổi ở thời gian thực hiện. Tài nguyên tiêu thụ và thời gian thực hiện sẽ được trình bày trong bảng 2.5: Kết quả trong bảng 2.5 cho thấy: • Thuật toán của các mô hình đều đã được tối ưu để hạn chế mức tài nguyên tiêu thụ của thiết bị. • Mô hình kNNBaseline phảu lưu trữ khối dữ liệu lớn nên gần như đã sử dụng 49 Bảng 2.5: Hiệu suất, tài nguyên tiêu thụ và thời gian thực hiện các mô hình đề xuất triển khai trên máy tính Jetson Nano. Mô hình Thời gian [s] Tài nguyên tiêu thụ Huấn luyện Dự đoán CPU RAM/SWAP kNNBaseline Không có 1551 80% 3.9 GB RAM Frq:1.5 GHz 1.826 GB SWAP SVD 3720 700 52% Dự đoán 1.8 GB RAM Frq:1.5 GHz Huấn luyện 2.2 GB RAM SVD++ 82161 693 56% Dự đoán 1.8 GB RAM Frq:1.5 GHz Huấn luyện 3.6 GB RAM tối đa tài nguyên của thiết bị và phải sử dụng swap để có thể đủ bộ nhớ đệm lưu trữ. • Hai mô hình SVD và SVD++ chỉ sử dụng một phần tài nguyên vì trên cả hai mô hình không cần phải lưu trữ nhiều dữ liệu. • Thời gian thực hiện đều cao hơn khoảng 4-6 lần. Hình 2.8: Kết quả thực hiện gợi ý của hệ thống sử dụng mô hình SVD. Hình 2.8 thể hiện kết quả gợi ý của hệ thống sử dụng mô hình SVD, chứng minh khả năng triển khai RSs trên thiết bị biên là hoàn toàn khả thi. Giá trị để cài đặt số vòng lặp thực hiện thuật toán SGD, n-factors là số các nhân tố được 50 học, learning-rate là hằng số học trong mỗi lần thực hiện vòng lặp. Nút bấm CREATE SCRIEANO có tác dụng để thực hiện huấn luyện thuật toán theo các tham số đã học được từ trước. Nếu muốn thay đổi các tham số đã đặt, thực hiện thay đổi và ấn nút SAVE CHANGES để lưu thay đổi, sau đó mô hình sẽ được tự động huấn luyện lại. Qua trình hệ thống đưa ra gợi ý diễn ra như sau: • Đầu tiên, cài đặt các tham số và tiến hành huấn luyện mô hình. • Tiếp theo, chỉnh x-id là id của người dùng muốn gợi ý phim, và top-k là số bộ phim muốn gợi ý. • Cuối cùng, bấm RECOMMEND để chương trình đưa gợi ý cho người dùng đã chọn. Các gợi ý sẽ được đưa ra ở cột bên trái, là những bộ phim có thể người dùng đó sẽ thích, còn ở cột bên phải là những bộ phim mà người dùng đó thích dựa trên đánh giá thật của người dùng đó với bộ phim. Từ đó, có thể dễ dàng thấy được độ chính xác của thuật toán được huấn luyện trên edge device. Với 10 gợi ý phim mà hệ thống đưa ra, có 6/10 phim nằm trong top 10 phim mà người dùng yêu thích. Ngoài ra, hoàn toàn có thể tinh chỉnh các siêu tham số trực tiếp trên ứng để phân tích và tinh chỉnh mô hình trực tiếp trên thiết bị biên. Với việc triển khai hệ thống gợi ý trên thiết bị biên, chúng ta có thể tận dụng sự gia tăng về tính toán cục bộ và khả năng xử lý dữ liệu tại chỗ. Điều này không chỉ giúp giảm độ trễ trong việc cung cấp gợi ý, mà còn tăng cường tính riêng tư và bảo mật dữ liệu người dùng, khi dữ liệu không cần phải truyền qua mạng hoặc được lưu trữ trên các nền tảng đám mây. 2.5. Kết luận Những nghiên cứu trên đây cho thấy các phép đo độ tương đồng truyền thống có thể đối mặt những vấn đề nghiêm trọng khi phân biệt giữa các sản phẩm tương đồng với các sản phẩm hoàn toàn khác biệt. Điều này tác động tiêu cực đến hiệu quả hoạt động của mô hình kNNBaseline, giới hạn khả năng ứng dụng trong thực tế của các hệ thống hướng sản phẩm. Trong chương này, tác giả đã đề xuất một công thức tính toán độ tương đồng mới giúp cải thiện đáng kể khả năng dự đoán của mô hình kNNBaseline với độ chính xác vượt qua mô hình SVD nổi tiếng. Tiếp đó, một phương pháp đánh giá độ tương đồng mới giữa 51 hai sản phẩm đã được đề xuất sử dụng dữ liệu mô tả nội dung sản phẩm dưới dạng các vector điểm số genome. Phương pháp mới giúp hệ thống kNNBaseline đưa ra dự đoán với độ chính xác tương đương mô hình SVD++ trong khi tiêu tốn khoảng thời gian ít hơn đến 93 lần. Cuối cùng, tác giả phát triển một ma trận tương đồng kết hợp cả hai nguồn thông tin về lịch sử đánh giá và nội dung sản phẩm để tạo ra một hệ thống kNNBaseline có hiệu suất vượt qua mô hình I-AutoRec nổi tiếng và các đại diện tiểu biểu của phương pháp MF. Những kết quả trên đã được lần lượt trình bày trong các nghiên cứu [C1], [C2], và [C3]. CHƯƠNG 3 HỆ THỐNG GỢI Ý ÁP DỤNG CÁCH THỨC BIỂU DIỄN SẢN PHẨM SỬ DỤNG CÁC KỸ THUẬT HỌC SÂU Như đã đề cập trong Phần mở đầu, chất lượng các đánh giá dự đoán bởi các hệ thống lọc dựa trên nội dung hay kết hợp với CF phụ thuộc vào chất lượng của dữ liệu đặc trưng sản phẩm đầu vào. Hiện nay, các kĩ thuật học sâu như xử lí ngôn ngữ tự nhiên, các kiến trúc mạng nơ-ron sâu được áp dụng phổ biến trong làm sạch và làm giàu dữ liệu ở nhiều lĩnh vực khác nhau. Ngoài ra, các mạng dựa trên kiến trúc CNN gần đây cũng nhận được nhiều sự chú ý trong nghiên cứu và ứng dụng thực tế nhờ hiệu năng vượt trội trong các mô hình xử lí dữ liệu không có cấu trúc như hình ảnh hay âm thanh. Tuy nhiên, một lượng lớn dữ liệu thô sinh ra bởi các công cụ khai phá dữ liệu và quá trình chuyển đổi số là dữ liệu có cấu trúc, khiến cho việc tận dụng kiến trúc CNN trở nên khó khăn. Cụ thể, trong phần lớn các hệ thống gợi ý, thông tin phản ánh nội dung của các sản phẩm được mô tả dưới dạng bảng và chưa có nhiều nghiên cứu sử dụng CNN để xử lý dạng dữ liệu này. Trong chương này, tác giả tập trung phát triển phương pháp trích xuất đặc trưng ẩn và nén dữ liệu đặc trưng của sản phẩm, thiết kế hệ thống kết hợp nhằm tận dụng tối đa nguồn thông tin có sẵn để đưa ra gợi ý. Trước tiên, để cải thiện chất lượng của vector đặc trưng sản phẩm, tác giả áp dụng một số kỹ thuật NLP nhằm lọc và ghép các thẻ mô tả tương đồng nhau dựa trên ý nghĩa của từng thẻ. Tiếp theo, mạng AE ba lớp ẩn được đề xuất với mục đích nén vector đặc trưng sản phẩm thành một dạng biểu diễn cô đọng của từng bộ phim. Cuối cùng, chương này đề xuất một kiến trúc bộ tự mã hoá mới được đặt tên là Bộ tự mã hóa bán chập (Half Convolutional Autoencoder - HCAE) nhằm áp dụng kiến trúc CNN để phân tích và xử lí những dữ liệu có cấu trúc, giúp cải thiện hiệu năng của hệ thống trên cả hai phương diện độ chính xác lẫn thời gian dự đoán đánh giá. 52 53 3.1. Phương pháp nhóm các thẻ tương đồng trong dữ liệu Tag Genome bằng kỹ thuật xử lý ngôn ngữ tự nhiên Trong quá trình khảo sát dữ liệu Tag Genome nhằm tích hợp vào thuật toán CF ở phần 2.3.2, tác giả nhận thấy có nhiều thẻ mô tả có cùng ý nghĩa nhưng lại mang nhiều tên gọi khác nhau. Điều này xảy ra do nhóm nghiên cứu GroupLens cho phép người dùng chọn bất cứ thẻ mô tả nào mà họ cảm thấy phù hợp nhất với bộ phim đó. Lấy bộ phim Captain America: The Winter Soldier (2014) làm ví dụ, cả hai người dùng A và B đều biết rằng đây là một bộ phim siêu anh hùng; tuy nhiên người dùng A có thể chọn thẻ “superhero” cho bộ phim này, trong khi đó người dùng B có thể chọn thẻ “super-hero” để mô tả phim. Tương tự như vậy, các ví dụ khác có thể được tìm thấy trong Bảng 3.1. Bảng 3.1: Bảng nhóm các thẻ genome liên quan chặt chẽ với nhau trong tập dữ liệu MovieLens 20M của ba bộ phim. Thẻ mới có điểm số bằng giá trị trung bình hoặc trung vị của các thẻ gốc. Genome Tag Grown Ups Kick-Ass Toy Story fun 0.67 0.52 0.88 fun movie 0.49 0.68 0.82 funniest movies 0.10 0.11 0.04 funny 0.87 0.69 0.69 funny as hell 0.11 0.30 0.16 humor 0.46 0.89 0.63 humorous 0.53 0.69 0.69 fun_newtrung bình 0.46 0.56 0.56 fun_newtrung vị 0.49 0.68 0.69 Độ chênh lệch 0.03 0.12 0.13 (6.52%) (21.43%) (23.21%) Về mặt lý thuyết, các thẻ tương đồng về mặt ý nghĩa sẽ không gây tác động đến hiệu năng của hệ thống nếu như độ liên quan của một bộ phim với các thẻ tương đồng nhau là như nhau, hoặc tối thiểu là có giá trị gần bằng nhau để sao 54 cho phép đo độ tương đồng giữa hai bộ phim không bị ảnh hưởng. Tuy vậy, việc phân tích tập dữ liệu chỉ ra rằng các giá trị này có phân phối trong một khoảng giá trị khá lớn. Ví dụ như với bộ phim “Grown Ups”, thẻ “fun movie” có điểm số genome là 0.49, trong khi đó một số thẻ mô tả tương tự như là “fun”, “funniest movies” hay “funny as hell” có điểm số genome giao động trong khoảng giá trị từ 0.10 đến 0.87. Như có thể thấy trong Bảng 3.1, vấn đề này cũng thường xuyên xảy ra với các bộ phim khác, với các điểm số genome được gạch chân biểu diễn giá trị lớn nhất và nhỏ nhất của một nhóm các thẻ tương đồng cho cùng một bộ phim. Có thể thấy rằng thông tin nội dung của các bộ phim không được biểu diễn chính xác do một thuộc tính lại được biểu diễn trong một khoảng quá rộng, do đó gây tác động tiêu cực đến khả năng đánh giá độ tương đồng giữa hai bộ phim và giảm độ chính xác của mô hình gợi ý. Bảng 3.2: Một số nhóm các thẻ tương đồng lại với nhau, với tổng cộng 148 thẻ được nhóm lại thành 64 nhóm. Thẻ mô tả gốc Thẻ mô tả mới 007 007_new 007 (series) soccer football_new football gangs gangster_newgangster gangsters good acting good_acting_newgood action great acting Nhằm loại bỏ ảnh hưởng của việc người dùng được tự do chọn thẻ mô tả phim, một phương pháp ánh xạ các thẻ được đề xuất như sau: những thẻ mô tả có ý nghĩa tương đồng nhau được nhóm lại thành một thẻ mới duy nhất với điểm số ghép được tính từ điểm genome của các thẻ gốc. Để thực hiện công việc 55 này, tác giả đề xuất các bước xử lý sau: • Các thẻ mô tả gốc trước tiên cần qua một bước tiền xử lý: các ký tự không có trong bảng chữ cái bị loại bỏ, đồng thời đưa các từ tiếng Anh về dạng gốc (danh từ số nhiều về số ít, động từ thì quá khứ về thì hiện tại) qua từ điển. • Áp dụng kỹ thuật NLP có tên gọi word2vec [68] để chuyển các thẻ về dạng vector. • Phân cụm các thẻ theo quy tắc: Hai thẻ được coi là tương đồng về mặt ý nghĩa nếu độ tương đồng lớn hơn một ngưỡng nhất định (các thí nghiệm trong chương này chọn mức ngưỡng 0.65). • Sau khi phân cụm các thẻ, kích thước của vector genome giảm từ 1,128 xuống 1,044. Hình 3.1: Độ tương đồng về mặt ý nghĩa giữa một số thẻ genome. Bảng 3.2 đưa ra bốn thẻ mới được tạo thành từ việc ghép các thẻ lại với nhau, còn Hình 3.1 minh họa độ tương đồng về mặt ý nghĩa giữa các cặp thẻ mô tả gốc trong dữ liệu Tag Genome. Như trình bày trong Bảng 3.1, (fun, fun movie, funniest movies, funny, funny as hell, humor, humorous) là một nhóm thẻ tương đồng và được ghép thành thẻ mới có tên funnew. funnew và các thẻ mới khác có điểm số được tính bằng điểm số genome của các thẻ gốc. Hai phương pháp tính điểm số mới được triển khai 56 trong phần này: trung bình hoặc trung vị. Bộ thẻ genome mới này có thể được sử dụng thay thế nhằm cải thiện chất lượng các mô hình lọc kết hợp được trình bày ở phần 2.3.2. 3.2. Phương pháp học cách biểu diễn mới cho các sản phẩm qua Bộ tự mã hóa 3.2.1. Kiến trúc Bộ tự mã hóa Trong các kỹ thuật giảm chiều dữ liệu và trích xuất thông tin hiện nay, AE được sử dụng rộng rãi không chỉ như một phương pháp phi tuyến thay thế cho các kỹ thuật tuyến tính truyền thống mà còn như một cơ chế học cách biểu diễn đối tượng ở không gian có số chiều nhỏ hơn. Thông tin dư thừa trong dữ liệu bị loại bỏ bằng cách ánh xạ dữ liệu từ không gian có số chiều lớn sang không gian có số chiều nhỏ hơn, tạo ra dạng biểu diễn dữ liệu chính xác và hiệu quả hơn [69]. Hình 3.2: Minh họa kiến trúc AE với 1 lớp ẩn. Hình 3.2 minh họa kiến trúc của mạng AE truyền xuôi 1 lớp ẩn đơn giản. Mạng AE thông thường bao gồm hai thành phần: • Bộ mã hóa ϕ : x 7→ c nhằm ánh xạ một mẫu dữ liệu x ∈ X thành một mã c ∈ C. 57 • Bộ giải mã ψ : c 7→ x nhằm khôi phục dữ liệu ban đầu từ mã c ∈ C. Mã c ∈ C ở đây chính là lớp ẩn của mạng và thường được sử dụng để biểu diễn dữ liệu thay cho đầu vào. Quá trình huấn luyện của AE nhằm tối thiểu hóa sự sai lệch giữa đầu vào và đầu ra của mạng bằng cách khôi phục x ∈ X từ mã c ∈ C như sau: ϕ∗, ψ∗ = argmin ϕ,ψ ∑ x∈D ∥x− ϕ(ψ(x))∥2 (3.1) trong đó, D là tập huấn luyện. Trong thực tế, chỉ có mã c ∈ C được tách ra khỏi mạng để trở thành dạng biểu diễn ngắn gọn cho dữ liệu mà vẫn giữ được những thông tin quan trọng nhất để hệ thống phía sau có thể tiếp tục xử lý. Trong vài năm trở lại đây, kiến trúc AE nhận được nhiều sự chú ý trong các nghiên cứu về RS và thu được nhiều kết quả tích cực. Mô hình Collaborative Deep Learning (CDL) [70] được đề xuất nhằm kết hợp RS với việc học thông tin thứ cấp qua bộ tự mã hóa lọc nhiễu nhiều cấp (Stacked Denoising Autoencoder). Đáng chú ý hơn, mô hình gợi ý I-AutoRec [30] dựa trên kiến trúc AE nhằm điền những đánh giá chưa biết trong ma trận đánh giá bằng cách khôi phục đầu vào có chứa các đánh giá đã biết. Khác với CDL, I-AutoRec hoạt động dựa trên dữ liệu phản hồi trực tiếp nhằm đưa ra gợi ý đáng tin cậy hơn so với thông tin đặc trưng thứ cấp. Một số biến thể khác của AE, như trong [71, 72, 73, 74, 75], cũng có thể được áp dụng để tối ưu hóa đầu vào của hệ thống, giúp nắm bắt được các đặc trưng ẩn phi tuyến của người dùng và sản phẩm. 3.2.2. Áp dụng Bộ tự mã

Các file đính kèm theo tài liệu này:

  • pdfluan_an_nghien_cuu_phuong_phap_xu_ly_du_lieu_cho_he_thong_go.pdf
  • pdf2. Tóm tắt luận án.pdf
  • docx3. Trích yếu luận án.docx
  • docx4. thông tin web TA.docx
  • docx5. thông tin web TV.docx
Tài liệu liên quan