ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
Chung Nguyễn Trường Duy
Liên Hiệp Quốc
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG
CHO NGƯỜI TIÊU DÙNG
Build a product recommendation system
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
TP. HỒ CHÍ MINH, 2021
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
CHUNG NGUYỄN TRƯỜNG DUY – 17520388
LIÊN HIỆP QUỐC - 17520958
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG
CHO NGƯỜI TIÊU DÙNG
Build a product recommendation system
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
THS. THÁI THỤY HÀN UYỂN
TP. HỒ CHÍ MINH, 2021
THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. ……………………………………………… - Chủ tịch
2. ……………………………………………… - Thư ký
3. ……………………………………………… - Ủy viên
4. ……………………………………………… - Ủy viên
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT
NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CƠNG NGHỆ THƠNG TIN
TP. HCM, ngày…..tháng…..năm……..
NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
CỦA CÁN BỘ HƯỚNG DẪN
Tên khóa luận:
XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG
Nhóm SV thực hiện:
Cán bộ hướng dẫn
Chung Nguyễn Trường Duy - 17520388
ThS. Thái Thụy Hàn Uyển
Liên Hiệp Quốc - 17520958
Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang: 81
Số chương: 4
Số bảng số liệu: 17
Số hình vẽ: 17
Số tài liệu tham khảo: 9
Sản phẩm: 1
Một số nhận xét về hình thức cuốn báo cáo:
2. Về nội dung nghiên cứu:
●
●
3. Về chương trình ứng dụng:
●
●
4. Về thái độ làm việc của sinh viên:
●
●
Đánh giá chung:
Điểm từng sinh viên:
Chung Nguyễn Trường Duy:………../10
Liên Hiệp Quốc:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA
VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CƠNG NGHỆ THƠNG TIN
TP. HCM, ngày…..tháng…..năm……..
NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
CỦA CÁN BỘ PHẢN BIỆN
Tên khóa luận:
XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG
Nhóm SV thực hiện:
Cán bộ phản biện
Chung Nguyễn Trường Duy - 17520388
ThS. Đinh Nguyễn Anh Dũng
Liên Hiệp Quốc - 17520958
Đánh giá Khóa luận
5. Về cuốn báo cáo:
Số trang: 66
Số chương: 4
Số bảng số liệu: 17
Số hình vẽ: 17
Số tài liệu tham khảo: 9
Sản phẩm: 1
Một số nhận xét về hình thức cuốn báo cáo:
6. Về nội dung nghiên cứu:
●
7. Về chương trình ứng dụng:
●
8. Về thái độ làm việc của sinh viên:
●
●
Đánh giá chung:
Điểm từng sinh viên:
Chung Nguyễn Trường Duy:………../10
Liên Hiệp Quốc:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ thông tin - Đại học quốc gia thành phố Hồ Chí Minh, chúng em đã được trang
bị đẩy đủ kiến thức bổ ích cả lý thuyết và thực hành, các kỹ năng cần thiết để có thể hồn
thành Khóa luận tốt nghiệp của mình.
Em xin chân thành cảm ơn quý thầy, cơ của trường Đại học Cơng nghệ thơng tin
nói chung và khoa Cơng nghệ phần mềm nói riêng, đặc biệt là cô Thái Thụy Hàn Uyển
đã quan tâm và tận tình hướng dẫn chúng em hồn thành tốt khóa luận tốt nghiệp này.
Ngoài ra, chúng em cũng gửi lời cảm ơn đến các anh, chị, bạn bè và gia đình để
tạo điều kiện, tiếp thêm động lực cho chúng em trong giải đốn khó khăn này.
Trong q trình thực hiện khóa luận tốt nghiệp, khơng tránh khỏi những thiếu sót,
chúng em rất mong được sự thơng cảm và góp ý từ q thầy cơ để hồn thiện hơn.
Một lần nữa chúng em xin chân thành cảm ơn !
Thành phố Hồ Chí Minh, tháng 7, năm 2021
Sinh Viên
CHUNG NGUYỄN TRƯỜNG DUY
LIÊN HIỆP QUỐC
MỤC LỤC
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
3
Người nhận xét
4
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
5
Người nhận xét
6
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
2
1.1. Giới thiệu đề tài
3
1.2. Mục tiêu của đề tài
4
1.3. Phạm vi, đối tượng
4
1.4. Kết quả mong đợi
4
CHƯƠNG 2: HỆ THỐNG KHUYẾN NGHỊ
6
2.1. Tổng quan về hệ thống khuyến nghị
2.1.1. Giai đoạn tạo ứng viên
2.1.2. Giai đoạn chấm điểm
2.1.3. Giai đoạn xếp hạng lại
6
8
9
10
2.2. Các vấn đề của hệ thống khuyến nghị
2.3.1. Khởi động nguội (cold start)
2.3.2. Dữ liệu thưa thớt và dữ liệu bị thiếu
10
10
11
2.3. Các hướng tiếp cận:
2.3.1. Lọc nội dung
2.3.1.1. Các phương pháp lọc nội dung
Phân tích mô tả nội dung
Xây dựng hồ sơ người dùng và hồ sơ sản phẩm dựa trên nội dung đánh
giá của người dùng
2.3.1.2. Các vấn đề tồn tại
Giới hạn nội dung cần phân tích
Chun mơn hố q mức
2.3.2. Lọc cộng tác:
2.3.2.1. Các phương pháp
Memory-based filtering
13
13
13
13
14
14
14
14
15
15
15
Model-based filtering
2.3.2.2. Các vấn đề tồn tại
Khả năng mở rộng
Cừu xám (Grey sheep)
16
17
17
17
2.4. Các phương pháp tính tốn sự tương đồng
2.4.1. Khoảng cách Euclide
2.4.2. Tương quan Pearson
2.4.3. Khoảng cách Cosine
18
18
19
20
CHƯƠNG 3: CẤU TRÚC HỆ THỐNG
23
3.1. Kiến trúc hệ thống
3.1.1. Database
3.1.2. Trainer
3.1.3. Api server
3.1.4. Client
23
23
23
24
25
3.2. Sơ đồ use case
3.2.1. Sơ đồ use case tổng quát
3.2.2. Danh sách actor
3.2.3. Danh sách các use case
3.2.4. Đặc tả use case
3.2.4.1. Use case đăng nhập
3.2.4.2. Use case danh sách sản phẩm
3.2.4.3. Lấy lịch sử hành vi
3.2.4.4. Gợi ý sản phẩm dựa trên hành vi
3.2.4.5. Gợi ý sản phẩm dựa trên văn bản
3.2.4.6. Gợi ý sản phẩm dựa trên thuộc tính sản phẩm
3.2.4.7. Gợi ý sản phẩm dựa trên đánh giá tốt
3.2.4.8. Gợi ý sản phẩm dựa trên những người dùng có hành vi tương tự
3.2.4.9. Gợi ý sản phẩm dựa trên những người dùng có đánh giá tương tự
26
26
27
27
29
29
29
30
31
31
32
33
33
34
3.3. Cơ sở dữ liệu
3.3.1. Users
3.3.2. Products
3.3.3. Events
3.3.4. Reviews
35
35
36
39
39
3.4. Bộ huấn luyện mơ hình (trainer)
3.4.1. Gợi ý sản phẩm dựa trên những sản phẩm có văn bản tương tự
3.4.2. Gợi ý sản phẩm dựa trên những thuộc tính tương tự.
3.4.3. Gợi ý sản phẩm dựa trên lịch sử hành vi của người dùng.
3.4.4. Gợi ý sản phẩm dựa trên những đánh giá tốt.
3.4.5. Gợi ý sản phẩm dựa trên những người dùng có hành vi tương tự.
3.4.6. Gợi ý sản phẩm dựa trên những sản phẩm được người dùng đánh giá
tương tự.
40
40
43
45
47
52
3.5. Máy chủ (api server)
55
3.6. Máy khách (client)
3.6.1. Màn hình đăng nhập:
3.6.2. Màn hình chính:
3.6.3. Màn hình hồ sơ người dùng
3.6.4. Màn hình chi tiết sản phẩm
55
55
57
59
62
CHƯƠNG 4: TỔNG QUAN KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
64
4.1. Kết quả đạt được
64
4.2. Khó khăn
64
4.3. Hướng phát triển
64
PHỤ LỤC
65
Hướng dẫn cài đặt
65
Hướng dẫn sử dụng
bước 1: setup môi trường conda
bước 2: setup dữ liệu
bước 3: chạy server
bước 4: chạy client
65
65
65
65
66
53
DANH MỤC HÌNH
Hình 2.1: Các thành phần của hệ thống khuyến nghị
8
Hình 2.2: Minh hoạ vấn đề khởi động nguội
10
Hình 2.3: Bộ dữ liệu thưa thớt
11
Hình 2.4: Bộ dữ liệu bị thiếu
12
Hình 2.5: Minh họa khoảng cách euclide
18
Hình 2.6: Minh họa khoảng cách cosine
20
Hình 3.1: Sơ đồ use case tổng quát
26
Hình 3.2: Cách xác định điểm xếp hạng của amazon.com
49
Hình 3.3: Các thành phần trong màn hình đăng nhập ứng dụng
56
Hình 3.4: Thơng báo đăng nhập khơng thành cơng
57
Hình 3.5: Màn hình chính của ứng dụng khi vừa đăng nhập thành cơng
58
Hình 3.6: Các thành phần của màn hình chính
59
Hình 3.7: Màn hình hồ sơ người dùng - thơng tin và lịch sử tương tác
60
Hình 3.8: Màn hình hồ sơ người dùng - gợi ý theo hành vi tương tự và đánh giá tốt61
Hình 3.9: Màn hình hồ sơ người dùng - gợi ý theo lịch sử đánh giá tương tự
61
Hình 3.10: Màn hình chi tiết sản phẩm - chi tiết sản phẩm và gợi ý dựa trên văn bản
62
Hình 3.11: Màn hình chi tiết sản phẩm - gợi ý dựa trên lịch sử hành vi và thuộc tính sản
phẩm 63
DANH MỤC BẢNG
Bảng 2.1: Cách tiếp cận tạo ứng viên phổ biến
9
Bảng 3.1: Danh sách các actor
27
Bảng 3.2: Danh sách các use case
29
Bảng 3.3: Đặc tả use case đăng nhập
29
Bảng 3.4: Đặc tả use case danh sách sản phẩm
30
Bảng 3.5: Đặc tả use case lấy lịch sử hành vi
30
Bảng 3.6: Đặc tả use case gợi ý sản phẩm dựa trên hành vi
31
Bảng 3.7: Đặc tả use case gợi ý sản phẩm dựa trên văn bản
32
Bảng 3.8: Đặc tả use case gợi ý sản phẩm dựa trên thuộc tính sản phẩm
32
Bảng 3.9: Đặc tả use case gợi ý sản phẩm dựa trên đánh giá tốt
33
Bảng 3.10: Đặc tả use case gợi ý sản phẩm dựa trên những người dùng có hành vi tương
tự
34
Bảng 3.11: Đặc tả use case gợi ý sản phẩm dựa trên những người dùng có đánh giá tương
tự
34
Bảng 3.12: Bảng Users
36
Bảng 3.13: Bảng Products
38
Bảng 3.14: Bảng Events
39
Bảng 3.15: Bảng Reviews
40
Bảng 3.16: Danh sách mô tả các api
55
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
Ý nghĩa
VC
Vector Cosine
PC
Pearson Correlation
KNN
K Nearest Neighbors
TĨM TẮT KHĨA LUẬN
Khóa luận đề tài: “Xây dựng hệ thống đề xuất mua hàng cho người tiêu dùng”
được xây dựng thông qua việc tham khảo một số gợi ý trên các sàn thương mại điện tử
như : Tiki, Lazada, Amazon, …
Chúng em hướng đến một hệ thống có thể đảm bảo các dạng gợi ý sản phẩm cơ
bản và linh hoạt, tiện dụng khi có thể sử dụng nhiều dạng dữ liệu khác nhau phù hợp
chuyển giao giữa các website mà không tốn quá nhiều thời gian để cài đặt thơng số.
Qua nghiên cứu, tìm hiểu chúng em lựa chọn một số cơng nghệ sau để thực hiện
khóa luận như: ReactJS Framework(Front-end), Python Flask(Back-end), Mongodb, ...
Nội dung khóa luận bao gồm 4 chương:
-
Chương 1: Tổng quan đề tài.
Giới thiệu tổng quan về đề tài. Nêu lý do chọn đề tài, mục tiêu, đối tượng, phạm vi
và phương pháp thực hiện.
-
Chương 2: Hệ thống khuyến nghị.
Tìm hiểu các hệ thống khuyến nghị đang được sử dụng rộng rãi.
Phân tích các vấn đề gặp phải và cách giải quyết.
-
Chương 3: Cấu trúc hệ thống.
Liệt kê các thành phần của hệ thống.
Mô tả các chức năng và cách xử lý của các trường hợp gợi ý
-
Chương 4: Tổng quan kết quả và hướng phát triển.
1
Tổng hợp lại những thuận lợi, khó khăn trong quá trình phát triển của đề tài và nêu
hướng phát triển trong tương lai.
-
Phụ lục.
Hướng dẫn cách cài đặt các phần mềm, thư viện, môi trường cần thiết để chạy ứng
dụng.
-
Tài liệu tham khảo:
Tổng hợp các tài liệu tham khảo trong khóa luận.
2
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1. Giới thiệu đề tài
Ngày nay, thương mại điện tử ngày càng phát triển, dữ liệu từ các trang website
mua bán trực tuyến phát sinh rất lớn, nhưng chưa được khai thác tối đa giá trị của các
thơng tin q giá đó. Mở đường cho sự phát triển của máy học nói chung và hệ thống
khuyến nghị nói riêng.
Hệ thống khuyến nghị (recommender system hoặc recommendation system) là
một dạng hệ hỗ trợ ra quyết định, cung cấp giải pháp mang tính cá nhân hóa mà khơng
phải trải qua q trình kiểm tra phức tạp.
Hệ thống khuyến nghị sử dụng cơng nghệ trí tuệ nhân tạo để thực hiện phân tích
và hiểu dữ liệu cá nhân. Từ đó, đưa ra các dự đốn, gợi ý, đề xuất phù hợp với sở thích
của người dùng tại thời điểm bất kỳ trên các ứng dụng và nền tảng trực tuyến giúp tiết
kiệm thời gian tìm kiếm, truy cập nội dung dễ dàng, đồng thời nâng cao trải nghiệm
người dùng.
Trong thương mại điện tử, hệ thống khuyến nghị là một chủ đề đặc biệt quan
trọng. Điều này là do các cửa hàng trực tuyến có khả năng tăng tỷ lệ bán sản phẩm của họ
thông qua các đề xuất phù hợp với từng khách hàng và tạo ra doanh thu cao hơn.
Hệ thống khuyến nghị nhằm dự đoán sở thích của khách hàng và đề xuất các mặt
hàng, sản phẩm có khả năng cao gây được sự thích thú đối với họ. Chúng là một trong
những hệ thống máy học mạnh mẽ nhất mà các nhà bán lẻ trực tuyến triển khai để thúc
đẩy doanh số bán hàng.
Nắm bắt được thực trạng kể trên, chúng em quyết định chọn đề tài khóa luận tốt
nghiệp: “Xây dựng hệ thống đề xuất mua hàng cho người tiêu dùng.”
3
1.2. Mục tiêu của đề tài
Tìm hiểu bài tốn khuyến nghị và những kiến thức liên quan như: thuật toán, dữ
liệu, cơng nghệ, phương pháp, …
Vận dụng kiến thức tìm hiểu được, xây dựng hệ thống khuyến nghị mua hàng cho
người tiêu dùng.
Hiện thực và trực quan hoá một số hướng tiếp cận phổ biến và hiệu quả.
1.3. Phạm vi, đối tượng
Đối tượng: là những khách hàng của các trang thương mại điện tử, bao gồm cả
khách vãng lai và khách lâu năm. Họ sử dụng trang thương mại điện tử để tìm kiếm sản
phẩm phù hợp với nhu cầu hiện tại, mua sản phẩm và để lại review sau quá trình sử dụng
sản phẩm.
Phạm vi:
● Hướng tiếp cận: 2 hướng tiếp cận phổ biến là Content-based filtering và
Collaborative-based filtering.
● Bộ dữ liệu: thu thập bộ dữ liệu sản phẩm từ trang thương mại điện tử tiki.vn.
● Không gian: trực tuyến, trên các trang web thương mại điện tử.
● Thời gian: trong vòng 5 tháng (03/2021 - 07/2021)
1.4. Kết quả mong đợi
Hiểu rõ và ứng dụng thuật tốn, cơng nghệ vào xây dựng hệ thống khuyến nghị.
Xây dựng được ứng dụng khuyến nghị có tỷ lệ chính xác và khả năng bao qt
cao. Linh hoạt, có cài đặt thơng số theo từng cơ sở dữ liệu khác nhau mà không cần phải
thiết kế lại.
4
Hiển thị trực quan các khuyến nghị cùng với input tương ứng.
5
CHƯƠNG 2: HỆ THỐNG KHUYẾN NGHỊ
2.1. Tổng quan về hệ thống khuyến nghị
Hệ thống khuyến nghị là một lớp con của các hệ thống lọc thông tin, được dùng để
dự đoán đánh giá hoặc mức độ quan tâm của người dùng cho một sản phẩm. Mục đích
của hệ thống là đưa ra dự đốn với xác suất cao nhất có thể dựa vào những dữ liệu đã có
về thơng tin sản phẩm, đánh giá của người dùng, … Cùng với sự dồi dào của nguồn dữ
liệu hiện nay và sự phát triển của mảng Khoa học Dữ liệu, hệ thống khuyến nghị đang có
tiềm năng ngày càng lớn.
Riêng ở lĩnh vực thương mại điện tử, hệ thống khuyến nghị đã trở thành một phần
không thể thiếu. Những công ty công nghệ như Netflix, Amazon, Ebay, Youtube… là
những điển hình cho việc ứng dụng thành công hệ thống khuyến nghị, giúp họ giữ chân
khách hàng cũng như mở rộng thêm phân khúc thị trường.
Đối với nhiều doanh nghiệp thương mại điện tử nhỏ và vừa ở Việt Nam, việc sở
hữu một hệ thống khuyến nghị với các loại khuyến nghị cơ bản sẽ là bước tiến lớn hướng
tới ứng dụng công nghệ 4.0 trong bản thân doanh nghiệp, cho họ một lợi thế lớn so với
nhiều doanh nghiệp khác trên thị trường, đồng thời cũng phù hợp với nhu cầu và nhân
sách của họ.
Một cách tổng quát thì một hệ thống khuyến nghị cơ bản bao gồm:
● S là tập hợp tất cả các sản phẩm có thể giới thiệu cho người dùng. Tập hợp
này là tập dữ liệu sản phẩm (Products) trong đề tài.
● U là tập hợp tất cả người dùng mà hệ thống sẽ đưa ra khuyến nghị. Tập hợp
này là tập dữ liệu người dùng (Users) trong đề tài.
● Và F là hàm tiện ích mà có thể được sử dụng để đo mức độ hữu ích của một
sản phẩm cụ thể 𝑠 ∈ 𝑆, cho một người dùng cụ thể 𝑢 ∈ 𝑈. F là một trong các
phương pháp tính tốn sự tương đồng trong đề tài.
6
Về mặt tốn học, nó được biểu thị dưới dạng 𝐹: 𝑈 × 𝑆 → 𝑅, trong đó R thể hiện
toàn bộ tập khuyến nghị. Đối với mọi người dùng 𝑢 ∈ 𝑈, hệ thống đề xuất một sản phẩm
'
𝑠 ∈ 𝑆 sao cho nó tối đa hố hàm F cho người dùng, thường được biểu thị bằng đánh giá
của người dùng. Các đánh giá này sẽ được thể hiện trên một thang đánh giá. Ví dụ như
trên thang 1-5 thì nếu một người dùng đánh giá với điểm cao hơn trung bình (điểm 5 so
với trung bình là 3) sẽ thể hiện rằng người này rất thích mặt hàng đó. Đây cũng là thang
đánh giá của Tiki mà hiện tại đề tài cũng đang sử dụng.
Một khi người dùng thực hiện đánh giá sản phẩm, hồ sơ của anh ta, bao gồm các
sản phẩm đã xem, xếp hạng, mua và tải xuống,... ,sẽ được phát triển và cập nhật. Đồng
thời, đánh giá này cũng sẽ góp phần cập nhật các tính năng và thuộc tính của sản phẩm
một cách ngầm định hoặc rõ ràng. Đây là cách hệ thống khuyến nghị lọc thông tin và đưa
ra các khuyến nghị mang tính cá nhân hố cho người dùng dựa vào tương tác của họ với
hệ thống.
Tuy nhiên, thực tế sẽ cho thấy số lượng đánh giá của người dùng so với tổng sản
phẩm là rất nhỏ. Trong quá trình sử dụng các trang thương mại điện tử như Tiki, chúng ta
có thể dễ dàng bắt gặp nhiều sản phẩm chưa được đánh giá hoặc có ít đánh giá. Do đó, hệ
thống khuyến nghị sẽ cần phải sử dụng các phương pháp lọc thích hợp để các sản phẩm
đó được xếp hạng ngầm hoặc rõ ràng và từ đó có thể được khuyến nghị.
Khi hoạt động, một hệ thống khuyến nghị sẽ thực hiện lần lượt các giai đoạn sau 1:
● Tạo lập ứng viên, chọn lọc dữ liệu.
● Chấm điểm.
● Xếp hạng lại.
1
"Recommendation Systems Overview | Google Developers." 10 Feb. 2020,
Accessed 29 Jun. 2021.
7
Hình 2.1: Các thành phần của hệ thống khuyến nghị
2.1.1. Giai đoạn tạo ứng viên
Trong giai đoạn đầu tiên, hệ thống bắt đầu từ một kho dữ liệu khổng lồ, tiềm năng
và tạo ra một tập hợp con các bộ dữ liệu nhỏ hơn nhiều. Trong phạm vi đề tài kho dữ liệu
này sẽ là bộ dữ liệu sản phẩm (Products) chứa tồn bộ sản phẩm.
Mơ hình sẽ cần nhanh chóng đánh giá các truy vấn với kích thước dữ liệu khổng lồ
của kho dữ liệu, một mơ hình nhất định có thể cung cấp nhiều bộ chọn lọc dữ liệu phù
hợp, mỗi bộ đề cử một tập hợp con khác nhau.
Tạo ứng viên là giai đoạn đầu tiên của tiến cử, đưa ra một truy vấn, hệ thống tạo ra
một tập hợp các bộ ứng viên có liên quan đến nhau. Bảng sau cho thấy hai cách tiếp cận
tạo ứng viên phổ biến:
Loại
Định nghĩa
Thí dụ
8
Lọc dựa trên nội dung
Sử dụng sự tương đồng
Khách hàng A mua một
giữa các sản phẩm để đề
laptop gaming màu đen thì
xuất các sản phẩm tương tự hệ thống sẽ gợi ý các laptop
như những gì khách hàng
gaming màu đen khác.
thích.
Lọc cộng tác
Sử dụng đồng thời các
Nếu khách hàng A có sở
điểm tương đồng giữa các
thích laptop gaming giống
truy vấn và các sản phẩm
khách hàng B và khách
để đưa ra đề xuất.
hàng B vừa mua một chiếc
điện thoại iPhone thì hệ
thống sẽ khuyến nghị điện
thoại iPhone cho khách
hàng A (mặc dù khách
hàng A chưa bao giờ xem
qua điện thoại iPhone)
Bảng 2.1 : Cách tiếp cận tạo ứng viên phổ biến
2.1.2. Giai đoạn chấm điểm
Trong giai đoạn chấm điểm, một mô hình khác sẽ chấm điểm và xếp hạng ứng
viên để chọn ra tập hợp các sản phẩm (trên thang điểm 10) để đề xuất cho khách hàng.
Mơ hình này sẽ sắp xếp lại thứ tự của các ứng viên sau khi đã qua chọn lọc ở giai đoạn
trên. Do các sản phẩm được gợi ý ở đầu hàng luôn được chú ý hơn, mơ hình này sẽ đảm
bảo đó là những sản phẩm phù hợp nhất theo hệ thống.
Vì mơ hình này đánh giá một tập sản phẩm tương đối nhỏ, hệ thống có thể sử dụng
một mơ hình chính xác hơn dựa vào các truy vấn bổ sung.
9
2.1.3. Giai đoạn xếp hạng lại
Cuối cùng, giai đoạn xếp hạng lại, hệ thống phải tính đến các ràng buộc bổ sung
cho xếp hạng cuối cùng.
Ví dụ: Hệ thống loại bỏ các sản phẩm mà người dùng thể hiện rõ là mình khơng
thích hoặc tăng điểm của nội dung mới hơn.
Việc xếp hạng lại cũng có thể giúp đảm bảo tính đa dạng, mới mẻ và cơng bằng
trong các khuyến nghị.
2.2. Các vấn đề của hệ thống khuyến nghị
2.3.1. Khởi động nguội (cold start)
Hình 2.2: Minh họa vấn đề khởi động nguội
Sự cố khởi động nguội xảy ra khi người dùng mới vào hệ thống hoặc các sản
phẩm mới được thêm vào danh mục. Trong những trường hợp như vậy, khơng thể dự
đốn được sở thích của khách hàng cũng như không thể đánh giá hoặc mua các mặt hàng
mới của khách hàng dẫn đến việc nhận xét lại càng ít chính xác hơn. [1]
Giải pháp đối với trường hợp người dùng mới:
10
● Yêu cầu khách hàng đánh giá một số mặt hàng ngay lần đầu truy cập trang web.
● Yêu cầu khách hàng nêu rõ sở thích của họ một cách tổng thể.
● Đề xuất các mặt hàng cho người dùng dựa trên thông tin nhân khẩu học.
● Sử dụng phương pháp lọc trên nội dung user - user để giải quyết trường hợp này.
Phương pháp này ít bị ảnh hưởng bởi người dùng mới do nó dựa vào những đặc
tính của người dùng để tìm ra những người dùng tương tự. [2]
Giải pháp đối với trường hợp sản phẩm mới:
● Sử dụng phương pháp lọc trên nội dung. Vì phương pháp này đưa ra khuyến nghị
dựa trên các đặc tính của sản phẩm nên chỉ cần sản phẩm mới có đầy đủ các đặc
tính cần thiết, nó sẽ được khuyến nghị nếu phù hợp. [3]
2.3.2. Dữ liệu thưa thớt và dữ liệu bị thiếu
Hình 2.3: Bộ dữ liệu thưa thớt
Khi kích thước dữ liệu khổng lồ và việc người dùng khơng thích đánh giá các mặt
hàng tạo nên một ma trận phân tán dễ dẫn đến đề xuất kém chính xác hơn. Đây là một
trường hợp rất phổ biến ở thực tế.
Giải pháp:
● Loại bỏ các cột dữ liệu thưa thớt: và đồng thời loại bỏ các đặc tính tương ứng
trong mơ hình. Giải pháp này áp dụng cho các đặc tính khơng quan trọng và có ít
11