HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN
-----****-----
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI
HỆ THỐNG TƯ VẤN MÓN ĂN DỰA TRÊN
THÓI QUEN VÀ ĐÁNH GIÁ CỦA KHÁCH
HÀNG
Sinh viên
:
HỒNG TĂNG KHẢI
Mã sinh viên
:
B17DCCN335
Lớp
:
D17CNPM5
GV hướng dẫn
:
PGS.TS Trần Đình Quế
Hà Nội 2022
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
-----****-----
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI
HỆ THỐNG TƯ VẤN MÓN ĂN DỰA TRÊN
THÓI QUEN VÀ ĐÁNH GIÁ CỦA KHÁCH
HÀNG
Sinh viên
:
HOÀNG TĂNG KHẢI
Mã sinh viên
:
B17DCCN335
Lớp
:
D17CNPM5
GV hướng dẫn
:
PGS.TS Trần Đình Quế
Hà Nội 2022
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
LỜI CẢM ƠN
Lời đầu tiên, để có thể hồn thành đồ án tốt nghiệp này, ngồi những cố gắng
của bản thân, em sẽ khơng thể làm tốt được nếu như khơng có sự hướng dẫn cũng như
những chỉ bảo tận tình từ PGS.TS Trần Đình Quế. Em xin gửi lời cảm ơn chân thành
nhất tới thầy.
Em cũng xin được gửi lời cảm ơn tới các quý thầy cô trong Học viện và trong
Khoa Công nghệ thông tin đã truyền tải em nhiều kiến thức bổ ích về ngành học giúp
em có những kiến thức nền tảng thật vững chắc cho công việc em làm sau này. Em chúc
q thầy cơ ln có sức khỏe, hạnh phúc và có thêm thật nhiều nhiệt huyết để truyền
tải được nhiều kiến thức cho các thế hệ tiếp theo.
Lời cảm ơn cuối cùng em muốn gửi đến gia đình, bạn bè đã giúp đỡ và chia sẻ
những khó khăn cùng em trong quá trình học tập và làm đồ án của mình.
Em xin chân thành cảm ơn.
Hà Nội, tháng 01 năm 2022
Sinh viên
Hồng Tăng Khải
HỒNG TĂNG KHẢI – B17DCCN335
i
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của giảng viên hướng dẫn)
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
Điểm: ........................................................ (bằng chữ:.................................................)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp.
Hà Nội, tháng 01 năm 2022
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
PGS.TS TRẦN ĐÌNH QUẾ
HỒNG TĂNG KHẢI – B17DCCN335
ii
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của giảng viên phản biện)
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
Điểm: ........................................................ (bằng chữ:.................................................)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp.
Hà Nội, tháng 01 năm 2022
CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN
HOÀNG TĂNG KHẢI – B17DCCN335
iii
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. i
MỤC LỤC ..................................................................................................................... iv
DANH MỤC HÌNH ẢNH ............................................................................................. vi
DANH MỤC BẢNG ...................................................................................................viii
DANH MỤC VIẾT TẮT............................................................................................... ix
MỞ ĐẦU ........................................................................................................................ 1
CHƯƠNG 1 XÁC ĐỊNH BÀI TOÁN ........................................................................... 3
1.1. Giới thiệu về hệ thống tư vấn .................................................................................. 3
1.1.1. Các phương pháp tư vấn ....................................................................................... 3
1.1.2. Bài toán tổng quát của hệ thống tư vấn ................................................................ 6
1.1.3. Phương pháp sử dụng dữ liệu tư vấn .................................................................... 7
1.1.4. Một số ứng dụng thực tế của hệ thống tư vấn ...................................................... 8
1.2.
Mục tiêu và tổng quan hệ thống tư vấn món ăn ................................................. 10
1.3.
Kết luận .............................................................................................................. 10
CHƯƠNG 2: HỆ THỐNG TƯ VẤN ........................................................................... 11
2.1. Thuật toán phân tích suy biến (Singular Value Decomposition) .......................... 11
2.1.1. Giới thiệu chung ................................................................................................. 11
2.1.2. Phát biểu phân tích suy biến ............................................................................... 11
2.1.3. Nguồn gốc tên gọi phân tích suy biến ................................................................ 13
2.1.4. Các phép giảm chiều SVD ................................................................................. 14
2.1.5. Áp dụng vào hệ thống tư vấn.............................................................................. 16
2.2. Thử nghiệm đánh giá ............................................................................................. 17
2.2.1. Giới thiệu tập dữ liệu thử nghiệm Food.com Recipes and interaction ............... 17
2.2.2. Đánh giá thuật toán ............................................................................................. 19
2.3. Kết luận.................................................................................................................. 21
CHƯƠNG 3: PHÁT TRIỂN ỨNG DỤNG XEM CÔNG THỨC NẤU ĂN ............... 22
3.1.Tổng quan về hệ thống ........................................................................................... 22
HOÀNG TĂNG KHẢI – B17DCCN335
iv
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
3.2. Phân tích, thiết kế và xây dựng hệ thống............................................................... 23
3.2.1. Biểu đồ ca sử dụng ............................................................................................. 24
3.2.2. Kịch bản các chức năng ...................................................................................... 24
3.2.3. Biểu đồ trạng thái ............................................................................................... 28
3.2.4. Biểu đồ lớp thiết kế và layer tương ứng ............................................................. 30
3.2.5. Cơ sở dữ liệu....................................................................................................... 31
3.2.6. Biểu đồ tuần tự ................................................................................................... 33
3.3. Một số giao diện minh họa của ứng dụng ............................................................. 36
3.4 Kết luận................................................................................................................... 39
KẾT LUẬN .................................................................................................................. 40
1.
Kết luận................................................................................................................. 40
2.
Hướng phát triển ................................................................................................... 40
TÀI LIỆU THAM KHẢO ............................................................................................ 41
HOÀNG TĂNG KHẢI – B17DCCN335
v
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
DANH MỤC HÌNH ẢNH
Hình 1.1: Ma trận đánh giá của người dùng ................................................................... 7
Hình 2.1: Mô tả SVD trong 2 trường hợp (m<n và m>n) ............................................ 12
Hình 2.2: Minh họa phép biến đổi hình học của phép phân tích suy biến ................... 13
Hình 2.3: Trang Food.com ........................................................................................... 17
Hình 2.4: Biểu đồ kết quả thử nghiệm SVD ................................................................ 21
Hình 3.1: Sơ đồ hệ thống tư vấn ................................................................................... 23
Hình 3.2 Biểu đồ ca sử dụng tổng quát của ứng dụng ................................................. 24
Hình 3.3: Biểu đồ trạng thái đăng kí ............................................................................ 28
Hình 3.4: Biểu đồ trạng thái đăng nhập ........................................................................ 28
Hình 3.5: Biểu đồ trạng thái xem cơng thức món ăn.................................................... 29
Hình 3.6: Biểu đồ trạng thái đánh giá cơng thức .......................................................... 29
Hình 3.7: Biểu đồ lớp thiết kế ...................................................................................... 30
Hình 3.8: Biểu đồ gói ................................................................................................... 31
Hình 3.9: Biểu đồ tuần tự chức năng đăng ký .............................................................. 33
Hình 3.10: Biểu đồ tuần tự chức năng đăng nhập ........................................................ 34
Hình 3.11: Biểu đồ tuần tự chức năng xem cơng thức ................................................. 35
Hình 3.12: Sơ đồ tuần tự chức năng đánh giá .............................................................. 35
Hình 3.13: Giao diện đăng nhập ................................................................................... 36
HOÀNG TĂNG KHẢI – B17DCCN335
vi
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Hình 3.14: Giao diện đăng kí ....................................................................................... 36
Hình 3.15: Giao diện chính .......................................................................................... 37
Hình 3.16: Giao diện chi tiết cơng thức ....................................................................... 38
Hình 3.17: Giao diện đánh giá ...................................................................................... 39
HOÀNG TĂNG KHẢI – B17DCCN335
vii
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
DANH MỤC BẢNG
Bảng 2.1: Dữ liệu đánh giá sử dụng cho thuật toán ..................................................... 18
Bảng 2.2: Ma trận đánh giá công thức của người dùng ............................................... 19
Bảng 2.3:Kết quả RMSE với mỗi k tương ứng ............................................................ 20
Bảng 3.1: Kịch bản khách hàng đăng ký ...................................................................... 25
Bảng 3.2: Kịch bản khách hàng đăng nhập .................................................................. 26
Bảng 3.3: Kịch bản khách hàng xem cơng thức món ăn .............................................. 27
Bảng 3.4: Kịch bản khách hàng đánh giá công thức món ăn ....................................... 27
Bảng 3.5: Bảng Account ............................................................................................... 32
Bảng 3.6: Bảng Receipt ................................................................................................ 32
Bảng 3.7: Bảng Rating.................................................................................................. 33
HOÀNG TĂNG KHẢI – B17DCCN335
viii
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
DANH MỤC VIẾT TẮT
AI
Artificial Intelligence (Trí tuệ nhân tạo)
CF
Collaborative Filtering (Lọc cộng tác)
MF
Matrix Factorization (Phân rã ma trận)
RMSE
Root Mean Square Error (Sai số bình phương trung bình)
RS
Recommender System (Hệ thống tư vấn)
SVD
Singular Value Decomposition (Thuật tốn phân tích suy biến)
HỒNG TĂNG KHẢI – B17DCCN335
ix
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
MỞ ĐẦU
Việc ăn uống luôn là vấn đề thiết yếu đối với mỗi con người, nó cung cấp năng
lượng cho các hoạt động thường này của con người. Từ lâu con người đã luôn để ý đến
việc ăn uống, chúng ta luôn muốn được thưởng thức những món ăn ngon cũng như
hợp khẩu vị của mình. Và trong suốt dịng lịch sử của con người, có rất nhiều những
cơng thức nấu ăn đã được con người nghĩ ra với nhiều cách chế biến, nguyên liệu khác
nhau. Cũng chính vì vậy mà việc tìm cho mình những công thức nấu ăn ngon, hợp với
khẩu vị của mình trở nên khó khăn hơn cả. Bởi vậy, chúng ta ln có xu hướng lựa
chọn những món ăn quen thuộc, dễ nấu nhưng cũng chính vì như thế, chúng ta khơng
dám thử sức với những món ăn mới. Vì vậy, để tìm cho mình những cơng thức nấu ăn
mới lạ, những món mới nhưng cũng phù hợp với khẩu vị của mình thì chúng ta rất cần
có những tư vấn trong trường hợp này.
May thay, hệ thống tư vấn (Recommender System – RS) có thể chỉ ra các thơng
tin phù hợp trong số thơng tin khổng lồ chưa có trật tự, nó sử dụng nhiều kỹ thuật khác
nhau để đưa ra những tư vấn phù hợp với sở thích của người dùng. Vì vậy những hệ
thống có tích hợp tính năng tư vấn sẽ ln thu hút được sự chú ý cũng như sự hài lòng
của người dùng. Một số hệ thống tư vấn như Amazon, Netflix, Youtube,… đã có được
nhiều sự quan tâm của khách hàng nhờ vào tính năng tư vấn này của hệ thống.
Các kỹ thuật thường được sử dụng trong RS ta hay được thấy như là: lọc dựa
trên nội dung (content – based filtering, dựa trên thông tin của người dùng), lọc cộng
tác (collaborative filtering – CF, dựa trên dữ liệu đánh giá của người dùng), lai ghép
(hybrid, kết hợp cả hai phương pháp trên) và lọc khơng được cá nhân hóa (nonpersionalization). Trong đó, nổi bật và được sử dụng nhiều nhất là kỹ thuật lọc cộng
tác bởi sự đơn giản trong việc thu thập dữ liệu người dùng thông qua đánh giá của
người dùng. Nó có thể hoạt động tốt trong trường hợp thiếu hụt thơng tin của đối
tượng, có thể đưa ra tư vấn mà không cần đến thông tin hồ sơ của người dùng. Chất
HOÀNG TĂNG KHẢI – B17DCCN335
1
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
lượng của hệ thống tư vấn dựa trên lọc cộng tác phụ thuộc nhiều vào độ đo tương tư và
việc lựa chọn tập láng giềng. Tuy nhiên hạn chế của CF là vấn đề dữ liệu thưa, khả
năng mở rộng và thiếu dữ liệu đánh giá, vì vậy hệ thống chưa đưa ra được những tư
vấn tốt nhất cho người dùng.
Để hệ thống đưa ra được những tư vấn tốt hơn người ta đã sử dụng thuật tốn
phân tích suy biến SVD (Singular Value Decomposition) vào hệ thống tư vấn. Giải
thuật SVD được Golub và Kahan giới thiệu năm 1965, đó là một cơng cụ phân rã ma
trận hiệu quả được sử dụng để giảm hạng (hay số chiều) của ma trận. Kỹ thuật này
được áp dụng vào nhiều bài toán xử lý văn bản khác nhau như tóm tắt văn bản, phát
hiện sao chép, lập chỉ mục và truy vấn. SVD cho phép phân tích một ma trận phức tạp
thành ba ma trận thành phần. Mục đích nhằm đến việc giải quyết bài tốn liên quan
đến ma trận lớn, phức tạp về những bài tốn nhỏ hơn. Vì vậy, ta áp dụng kỹ thuật SVD
vào hệ thống tư vấn để hệ thống tư vấn có thể dự đốn chính xác, phục vụ tốt một số
bài toán gợi ý thực tế, giúp người dùng đưa ra quyết định chính xác hơn.
Với những lý do trên, Đồ án sẽ trình bày các khái niệm, đặc điểm của hệ thống
tư vấn từ đó giải quyết các vấn đề liên quan đến bài tốn tư vấn. Qua đó trình bày việc
tích hợp hệ thống tư vấn vào một ứng dụng mobile giúp người dùng xem những công
thức nấu ăn được hệ thống tư vấn.
Nội dung của đồ án bao gồm 3 phần
Chương 1: Xác định bài tốn. Trình bày ý tưởng và nội dung tổng quan của hệ
thống tư vấn.
Chương 2: Hệ thống tư vấn. Trình bày và phân tích thuật tốn sử dụng trong đồ
án cũng như thử nghiệm đánh giá thuật toán sử dụng
Chương 3: Phát triển ứng dụng. Trình bày quá trình phát triển ứng dụng với sử
dụng mơ hình đã được thử nghiệm ở chương 2
HOÀNG TĂNG KHẢI – B17DCCN335
2
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
CHƯƠNG 1 XÁC ĐỊNH BÀI TOÁN
Trong chương này, đồ án sẽ giới thiệu về hệ thống tư vấn và khái quát về hệ
thống tư vấn. Đồng thời trình bày và phân tích ý tưởng áp dụng hệ thống tư vấn cho
việc tư vấn món ăn
1.1. Giới thiệu về hệ thống tư vấn
1.1.1. Các phương pháp tư vấn
Có rất nhiều cách để tư vấn, ước lượng hạng/điểm cho các sản phẩm nhờ sử dụng
học máy, lý thuyết xấp xỉ, các thuật toán dựa trên kinh nghiệm… Các hệ thống tư vấn
thường được phân ba loại dựa trên cách nó dùng để ước lượng hạng của sản phẩm:
- Dựa trên nội dung (content-based): người dùng được tư vấn những sản phẩm
tương tự như các sản phẩm từng được họ đánh giá cao.
- Cộng tác (collaborative): người dùng được tư vấn những sản phẩm mà những
người cùng sở thích với họ đánh giá cao.
- Lai ghép (hybrid): kết hợp cả phương pháp dựa trên.
1.1.1.1. Phương pháp tư vấn dựa trên nội dung
Hệ tư vấn dựa trên lọc nội dung là mơ hình tư vấn thực hiện dựa trên việc so sánh
nội dung thông tin mô tả sản phẩm, nhằm tìm ra các sản phẩm tương tự với những sản
phẩm mà người dùng đã từng quan tâm để giới thiệu cho họ những sản phẩm này. Ví
dụ, trong hệ tư vấn phim, hệ thống sẽ tìm ra các đặc tính chung của các phim như diễn
viên, đạo diễn, thể loại mà người đã đánh giá cao trong quá khứ để giới thiệu các phim
có đặc tính tương tự mà người dùng chưa xem. Các phương pháp tiếp cận cho mơ hình
tư vấn dựa trên lọc nội dung có nguồn gốc từ lĩnh vực truy vấn thông tin, trong đó mỗi
sản phẩm được biểu diễn bằng một hồ sơ sản phẩm, mỗi người dùng được biểu diễn
bằng một hồ sơ người dùng. Các phương pháp dự đốn của mơ hình này thực hiện dựa
vào việc xem xét các hồ sơ sản phẩm có mức độ phù hợp cao với hồ sơ người dùng.
HOÀNG TĂNG KHẢI – B17DCCN335
3
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
Phương pháp tư vấn dựa vào nội có một điểm mạnh sau: phương pháp không
yêu cầu số lượng người dùng lớn; dựa vào thông tin có sẵn để thực hiện tư vấn các sản
phẩm mới. Tuy nhiên, phương pháp này còn chứa một dãy nhược điểm sau: Quá tập
trung chuyên ngành - hệ tư vấn dựa trên lọc nội dung có khuynh hướng giới thiệu các
sản phẩm có sự tương đồng với các sản phẩm mà người dùng đã mua hoặc xếp hạng
cao. Ví dụ, một người dùng thường xem những bộ phim siêu anh hùng sẽ khó tiếp cận
đến những bộ phim thuộc thể loại khác; Vấn đề trích chọn đặc trưng - hệ tư vấn dựa
trên lọc nội dung kế thừa và phát triển chủ yếu dựa vào các phương pháp trích chọn đặc
trưng trong lĩnh vực truy vấn thông tin. Để có một tập các đặc trưng đầy đủ, các thuộc
tính sản phẩm và hồ sơ người dùng phải được biểu diễn dưới dạng phù hợp để máy tính
có thể tự động phân tích, tính tốn trọng số các đặc trưng nội dung. Vấn đề này sẽ càng
khó khăn hơn khi phải trích chọn các đặc trưng nội dung cho các đối tượng dữ liệu đa
phương tiện như hình ảnh, âm thanh hay dịch vụ.
1.1.1.2. Phương pháp tư vấn dựa trên lọc cộng tác
Hệ tư vấn dựa trên lọc cộng tác (collaborative filtering) đã được ứng dụng thành
công trong nhiều ứng dụng thương mại điện tử như Amazon , Netflix, Youtube,.. Nó là
một trong những giải pháp hiệu quả để giải quyết vấn đề bùng nổ thông tin cho các hệ
thống trực tuyến nơi mà số lượng người dùng tăng lên rất nhanh . Hệ tư vấn dựa trên lọc
cộng tác giới thiệu các sản phẩm cho người dùng cụ thể dựa trên sự tương đồng của các
sản phẩm đã được xếp hạng bởi các người dùng khác. Hệ thống tìm các sản phẩm cho
các người dùng khác mà họ có cùng sở thích với người dùng cần tư vấn. Ví dụ, trong hệ
thống lọc cộng tác giới thiệu phim cho người dùng, hệ thống tìm nhóm người dùng trong
q khứ có cùng sở thích với người dùng cần tư vấn. Sau đó, hệ thống giới thiệu các
phim 10 được đánh giá cao bởi nhóm người dùng này cho người dùng cần tư vấn. Hệ tư
vấn dựa trên lọc cộng tác được phân chia thành hai nhóm:
- Nhóm dựa trên bộ nhớ: Các hệ tư vấn thuộc nhóm này sử dụng toàn bộ các sản
phẩm được xếp hạng để sinh ra kết quả tư vấn hoặc dự đốn.
HỒNG TĂNG KHẢI – B17DCCN335
4
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
- Nhóm dựa trên mơ hình: Các hệ tư vấn thuộc nhóm này cho phép hệ thống học
cách nhận dạng mẫu trong tập dữ liệu để sinh ra kết quả tư vấn hoặc dự đốn.
Phương pháp tư vấn dựa vào lọc cộng tác có ưu điểm: việc tính tốn tương đối
đơn giản, nhanh chóng và hiệu quả trong quá trình tư vấn. Bởi vì hệ này không yêu cầu
mô tả nội dung một cách tường minh mà chỉ dựa vào sự đánh giá của người dùng để ước
lượng xem có bao nhiêu người dùng đồng ý và không đồng ý. Tuy nhiên, phương pháp
này tồn tại các nhược điểm sau: Vấn đề người dùng mới (New User Problem)- Giống
như hệ tư vấn dựa trên lọc nội dung, để tìm chính xác các sản phẩm người dùng quan
tâm, hệ tư vấn dựa trên lọc cộng tác phải ước lượng được sở thích của người dùng đối
với các sản phẩm mới thông qua những đánh giá của họ trong quá khứ. Trong trường
hợp một người dùng mới, chưa có bất cứ đánh giá nào cho các sản phẩm, khi đó hệ
thống khơng thể đưa ra những kết quả tư vấn chính xác cho người dùng này; Vấn đề sản
phẩm mới (New Item Problem)- trong hệ thống thương mại điện tử, các sản phẩm thường
xuyên được bổ sung mới. Một sản phẩm mới sẽ khơng có bất cứ đánh giá nào của người
dùng cho sản phẩm này. Do đó, hệ thống khơng thể tư vấn sản phẩm này cho bất kỳ
người dùng nào trong hệ thống; Vấn đề dữ liệu thưa (Sparsity Data Problem)- kết quả
dự đoán của hệ tư vấn dựa trên lọc cộng tác phụ thuộc chủ yếu vào các đánh giá của
người dùng đối với các sản phẩm trong quá khứ (ma trận xếp hạng của người dùng cho
các sản phẩm). Tuy nhiên, trong các hệ thống thực tế, số lượng người dùng và số lượng
sản phẩm là rất lớn (hàng triệu người dùng và hàng nghìn sản phẩm), nhưng mỗi người
dùng chỉ đánh giá trên một số sản phẩm mà họ quan tâm và mỗi sản phẩm chỉ được đánh
giá bởi một nhóm người dùng. Vì thế ma trận xếp hạng của người dùng cho các sản
phẩm luôn là một ma trận dữ liệu thưa.
1.1.1.3. Phương pháp tư vấn lai
Một hệ thống lai là sự kết hợp hai kỹ thuật lọc nội dung và lọc cộng tác và cố
gắng sử dụng ưu điểm của mỗi kỹ thuật để hỗ trợ cho những thiếu sót của kỹ thuật kia.
Ví dụ, phương pháp lọc cộng tác gặp vấn đề với các sản phẩm mới, nó khơng có thể tư
vấn đối với các sản phẩm mà khơng có xếp hạng. Tuy nhiên việc này lại đơn giản đối
HOÀNG TĂNG KHẢI – B17DCCN335
5
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
với phương pháp tiếp cận dựa trên nội dung khi việc dự đoán cho các sản phẩm mới dựa
trên thông tin của người dùng là tính năng có sẵn và khá dễ dàng.
Với hai (hoặc nhiều) kỹ thuật tư vấn cơ bản, một số cách đã được đề xuất cho
việc kết hợp chúng để tạo ra một hệ thống lai mới.
1.1.2. Bài toán tổng quát của hệ thống tư vấn
Từ nhưng doanh nghiệp lớn đến các người bn bán nhỏ lẻ ln tự mình đặt ra
những câu hỏi như: “Làm sao để bán được nhiều hàng?”, “Làm sao để khách hàng hài
lòng với những sản phẩm của mình?”… Vấn đề quyết định cho câu trả lời trên chính là
quảng cáo và tư vấn sản phẩm đến với người tiêu dùng.
Hiện nay, các hệ thống có hiển thị quảng cáo trên internet đa phần đều tích hợp
hệ thống tư vấn để thúc đẩy doanh thu và kiếm được nhiều khách hàng hơn. Để làm
được điều đó hệ thống tư vấn sử dụng các thuật tốn phân tích, dự đốn dựa trên dữ liệu
hành vi người dùng được lưu lại. Nhờ đó mà quảng cáo mang tính cá nhân hóa tới cho
người dùng. Hệ thống sẽ biết chính xác từng người sử dụng có nhu cầu gì, muốn mua
gì, xem gì để đưa ra tư vấn.
Trước khi đi vào bài toán, ta cần biết đến 2 thuật ngữ được sử dụng chủ yếu đó
là: người dùng (user) và sản phẩm (item). Thứ nhất, người dùng ở đây là người sử dụng
hệ thống để thực hiện các thao tác mua bán, giao dịch, xem, đánh giá… Thứ hai, khái
niệm sản phẩm là mặt hàng được giao bán, video, bộ phim, bản nhạc, món ăn… Trong
hầu hết các hệ thống tư vấn, dữ liệu được để dưới dạng đánh giá của người dùng về sản
phẩm.
Bài toán được đặt ra như sau: Với các dữ liệu tập người dùng U, tập các sản phẩm
I và tập dữ liệu D = {u, I, 𝑟𝑢,𝑖 }, trong đó, u ∈ U, i ∈ I, 𝑟𝑢,𝑖 là đánh giá của người dùng
u cho sản phẩm i. Cần dự đoán đánh giá sản phẩm của một người dùng thứ n nào đó 𝑢𝑚
cho sản phẩm 𝑖𝑛
HOÀNG TĂNG KHẢI – B17DCCN335
6
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
Hình 1.1: Ma trận đánh giá của người dùng
Bài toán tư vấn được coi là bài toán ước lượng hạng (rating) của các sản phẩm
chưa được người dùng đánh giá, xem xét. Việc ước lượng này thường được dựa trên
những đánh giá đã có của chính người dùng đó hoặc nhưng người dùng khác. Nhưng
sản phẩm được xếp hạng cao nhất sẽ được sử dụng để tư vấn khi người dùng sử dụng hệ
thống.
1.1.3. Phương pháp sử dụng dữ liệu tư vấn
Để giải quyết bài tốn tư vấn, có nhiều phương pháp như đã trình bày ở trên. Mỗi
phương pháp có những cách khác nhau để sử dụng dữ liệu người dùng - sản phẩm. Nhìn
chung, có thể phân loại cách sử dụng dữ liệu người dùng - sản phẩm thành 2 nhóm chính
đó là: Sử dụng dữ liệu rõ ràng và sử dụng dữ liệu ẩn.
Dữ liệu rõ ràng
Những dữ liệu rõ ràng được sử dụng trong các thuật toán tư vấn như: Hồ sơ của
sản phẩm và người sử dụng, dữ liệu đánh giá của toàn bộ hệ thống người dùng và sản
phẩm.
Dữ liệu ẩn
Sử dụng dữ liệu đánh giá người dùng và những dữ liệu rõ ràng mà ta có thể phân
tích ra những dữ liệu ẩn, có ích cho việc dự đốn cũng như tư vấn sản phẩm.
HỒNG TĂNG KHẢI – B17DCCN335
7
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
1.1.4. Một số ứng dụng thực tế của hệ thống tư vấn
1.1.4.1. Dịch vụ Netflix
Netflix là một kênh xem phim, giải trí có hơn 208 triệu người dùng ở hơn 190
quốc gia và mỗi người trong số họ đều có những trải nghiệm khác nhau mỗi khi họ sử
dụng trang web. Cơng ty có khoảng 1.000 người, trụ sở đặt tại Thung lũng Silicon, họ
là những người chịu trách nhiệm về kiến trúc sản phẩm và thuật tốn cá nhân hóa được
đặt lại mỗi 24 giờ một lần để đảm bảo người dùng khám phá nội dung chính xác những
gì họ muốn xem trong số 13.000 phim trong bất kỳ thời điểm nào. Điều này giúp cho
người dùng có những trải nghiệm tốt nhất khi sử dụng, qua đó cơng ty có thể kiếm về
khoản lợi nhuận không lồ
Để làm được như vậy, Netflix đã sử dụng những thuật tốn vừa có tính cá nhân
hóa cao, vừa có độ đa dạng cho người dùng. Điều này ta có thể dễ dàng thấy được thơng
qua trải nghiệm cảu mỗi người dùng khi truy cập vào Netflix là khác nhau tại những
thời điểm khác nhau. Ngoài ra, với việc Netflix đầu tư rất nhiều tiền vào sản xuất những
chương trình mới, khơng loại trừ khả năng có những tác động nhất định lên thuật tốn
để hướng người xem đến những chương trình mới đó.
1.1.4.2. Dịch vụ YouTube
Tương tự như Netflix, mục tiêu của hệ thống tư vấn trên YouTube là vừa có tính
cá nhân hóa cao, vừa có độ đa dạng cho người dùng. Tuy nhiên, YouTube có những
thách thức rất lớn trong vấn đề tư vấn cho hơn 1 tỉ người dùng và:
- Lượng video tải lên YouTube là vơ cùng lớn tại bất kì thời điểm nào trong ngày.
- Phần lớn những video được tải lên này thường có siêu dữ liệu kém như tiêu đề
và mô tả không đầy đủ hoặc không liên quan đến nội dung video.
- Số liệu sẵn có cho hệ tư vấn trên YouTube để đo lường sự quan tâm của người
dùng là rất mơ hồ so với những số liệu sẵn có cho các hệ thống tư vấn khác như Amazon.
HOÀNG TĂNG KHẢI – B17DCCN335
8
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chương 1
Trước khi tạo các video ứng viên đề xuất, hệ thống sẽ xác định một tập hợp các
video có liên quan mà người dùng có thể xem sau khi xem một video hạt giống nhất
định. Hệ thống sau đó kết hợp các quy tắc liên kết của video liên quan với hoạt động
của người dùng trên trang web. Một khi điều này được thực hiện, nó lưu vết đường dẫn
của các video liên quan tới hạt giống này thiết lập để tạo ra các video tư vấn ứng viên.
Hãy suy nghĩ về hạt giống đặt ra như là trung tâm của một trang web và các ứng cử viên
đề nghị tiềm năng như các điểm trên web mở rộng ra ngoài từ trung tâm. Điểm càng gần
trung tâm của web thì càng có nhiều liên quan đến hạt giống và xa hơn thì ít liên quan
hơn. Khi một loạt các tư vấn ứng viên đã được tạo ra, chúng được xếp hạng theo các tín
hiệu khác nhau, có thể được tổ chức thành ba nhóm: Chất lượng video, đặc trưng của
người dùng, đa dạng hóa. Hệ thống tư vấn của YouTube đã làm tốt để cải thiện trải
nghiệm của người dùng. Các video được đề xuất cho người dùng chiếm khoảng 60% số
nhấp chuột trên trang chủ.
1.1.4.3. Website thương mại Amazon
Doanh thu của Amazon đã tăng lên rất nhiều (khoảng 35% nhờ vào tư vấn) dựa
trên việc tích hợp thành cơng các đề xuất thơng qua trải nghiệm mua hàng từ lúc tìm
kiếm sản phẩm cho đến khi rời khỏi trang web. Việc cho phép đề xuất được cá nhân hóa
trong thương mại điện tử có lẽ là lý do số một cho các công cụ đề xuất để hạn chế những
vấn đề như là vấn đề đi dài (Long-tail)-các sản phẩm hiếm, ít được người dùng quan
tâm.
Các thuật toán tư vấn của các nhà bán lẻ khổng lồ dựa trên các yếu tố như lịch sử
mua hàng của người dùng, các mặt hàng trong giỏ hàng, mặt hàng họ đánh giá và thích,
và những gì khách hàng khác đã xem và mua. Tuy nhiên, đối với một nhà bán lẻ với
nhiều mặt hàng như Amazon, thách thức đó là những tư vấn nào sẽ xuất hiện và theo
thứ tự nào – một vấn đề được biết đến như là "học cách xếp hạng" trong khoa học dữ
liệu. Một vấn đề thứ cấp là sự đa dạng – làm thế nào để hiển thị những sự lựa chọn đa
dạng của các sản phẩm trong đề xuất cho khách hàng. Amazon có thể đạt được mức độ
HOÀNG TĂNG KHẢI – B17DCCN335
9