Với tình hình cạnh tranh cực kỳ “khốc liệt” như hiện nay giữa các doanh nghiệp thì rất khó đề có thể độc quyền một sản phẩm nào, bởi vậy nơi chỉnh phục được khách hàng chính là nơi làm h
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHÓ HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THÓNG THÔNG TIN
HÀ PHI VŨ - 18521664
TRAN THỊ NHƯ Ý - 18521688
KHÓA LUẬN TÓT NGHIỆP
XÂY DỰNG WEBSITE KINH DOANH SAN PHAM THỜI TRANG KET
HỢP DE XUẤT SAN PHAM TREN NEN TANG LARAVEL
Developing a fashion website integrated outfit recommendations on
the Laravel platform
KY SU NGANH HE THONG THONG TIN
TP HO CHÍ MINH, NAM 2022
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHÓ HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THÓNG THÔNG TIN
HÀ PHI VŨ - 18521664
TRAN THỊ NHƯ Ý - 18521688
KHÓA LUẬN TÓT NGHIỆP
XÂY DUNG WEBSITE KINH DOANH SAN PHAM THỜI TRANG KET
HỢP ĐÈ XUẤT SAN PHAM TREN NEN TANG LARAVEL
Developing a fashion website integrated outfit recommendations on
the Laravel platform
KY SU NGANH HE THONG THONG TIN
GIANG VIEN HUONG DAN
TS CAO THỊ NHAN
TP HO CHi MINH, NAM 2022
Trang 3LỜI CÁM ƠN
Hoàn thành khóa luận là một trong những việc khó nhất mà chúng em phải thực
hiện từ trước đến nay Trong quá trình thực hiện đề tài chúng em đã gặp rất nhiều khó khăn
và bỡ ngỡ Nếu không có những sự giúp đỡ và lời động viên chân thành của nhiều người
có lẽ chúng em khó có thể hoàn thành khóa luận này Khóa luận tốt nghiệp là một tiền đề
dé chúng em trang bị những kiến thức, kinh nghiệm quý báu trước khi tốt nghiệp đại học
và tiến hành chuẩn bị lập nghiệp sau này.
Đầu tiên chúng em xin gửi lời biết ơn chân thành đến cô Cao Thị Nhạn, giáo viên hướng dẫn của chúng em Những ý kiến đóng góp của cô là vô cùng hữu ích, nó giúp chúng
em nhận ra các khuyết điểm của luận văn Sau đó, chúng em xin gửi lời cảm ơn chân thành đến quý Thầy Cô trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phó Hồ
Chí Minh, đặc biệt là quý Thầy Cô thuộc khoa Hệ thống Thông tin đã chỉ dạy, hỗ trợ, quan tâm và trang bị cho chúng em những kiến thức bổ ich dé chúng em có thể học hỏi, tiếp thu
trong thời gian ngồi trên ghế nhà trường và quá trình thực hiện đề tài khóa luận nảy.
Trong thời gian thực hiện chúng em đã cố gắng, nỗ lực hết minh dé hoàn thành tốt khóa luận của mình, nhưng khó tránh khỏi những thiếu sót ngoài ý muốn Chúng em rất
mong nhận được những lời ý kiến đóng góp, phê bình của quý Thầy Cô dé chúng em có thể sửa chữa và hoàn thiện.
Trên con đường góp nhặt những kiến thức quý báu của ngày hôm nay, các thay, cô,
bạn bè trường Đại học Công nghệ thông tin là những người đã cùng em sát cánh và trải
nghiệm.
Va sau cùng, chúng con xin cảm ơn cha mẹ, những người đã sinh thành, dưỡng duc
và nuôi đạy chúng con nên người Suốt đời này chúng con luôn ghi nhớ công ơn.
Tp Hồ Chí Minh, tháng 12, năm 2022
Nhóm sinh viên thực hiện
Hà Phi Vũ, Trần Thị Như Ý
Trang 4NHAN XÉT CUA GIẢNG VIÊN
Trang 5Chương 1 TONG QUAN VỀ DE TÀI 1
II Dat van dé 1
1.2 Thương mại điện tử tại Việt Nam 2
1.3 Mục tiêu và chức năng chính của hệ thống 2
1.4 Định hướng giải quyết van dé 3
1.5 Tính ứng dụng của dé tài 3
1.6 Công cụ sử dung 3
1.7 Bố cục báo cáo khóa luận 4
Chương 2 CƠ SỞ LÝ THUYET VÀ CÔNG NGHỆ SỬ DUNG 5
2.1 Công nghệ sử dụng trong đề tài 5
2.1.1 Heidisql 5 2.12 Ngôn ngữ PHP 5 2.1.3 Laravel FrameWork 6
2.1.4 Laragon 7
2.2 Hệ thống khuyến nghị sản phẩm 8
2.2.1 Giới thiệu §
2.2.2 Giới thiệu phương pháp xây dựng hệ thống khuyến nghị §
2.2.3 Cơ sở lý thuyết và xây dựng hệ thống khuyến nghị 9
2.2.3.1 Collaborative filtering 9
2.2.3.2 Content-based filtering 16
Trang 6Chương 3 MÔ HÌNH KHUYEN NGHỊ ĐƯỢC THỰC NGHIEM 19
3.4 Tích hợp chức năng khuyến nghị vào ứng dung 42
Trang I
Trang 74.2 _ Xác định yêu cầu hệ thống
4.2.1 Yêu cầu chức năng
4.2.2 _ Yêu cầu phi chức năng
4.3 Khảo sát chỉ tiết hệ thống
4.4 Các tác nhân của hệ thống
4.5 Sơ đồ use case của hệ thống
4.5.1 Cac use case phía người dùng
4.5.2 Các use case phía người quản tri
4.6 Mô tả chi tiết các chức năng chính của hệ thong
57 58
58
62
64 66 70 71 75
78 81
82 82
Trang 84.7.11 Bang carts 89
4.7.12 Bang categories 89
4.7.13 Bang brands 90 4.7.14 Bang notifications 91
4.7.15 Bang post_tags 91 4.7.16 Bang messages 92
4.7.17 Bảng wishlist 92
4.9 Thiết kế quy trình khuyến nghị 93
4.9.1 Sơ đồ khuyến nghị sản phẩm bằng phương pháp Content-Based
Filtering 93
4.9.2 Quy trình thực hiện Content-based Filtering trong framework Laravel
93
Trang 3
Trang 9Chương 5 TRIÊN KHAI HỆ THONG
5.1 Sơ đỗ giao diện
5.2 Các trang màn hình của Customer
Man hình Bài viết
Màn hình Bình luận bài viết
Màn hình Liên hệ
Man hình Chi tiết sản phẩm
Man hình Giỏ hang
Màn hình Thanh toán 5.2.13.1 Thanh toán khi giao hàng
5.2.13.2 Thanh toán qua ví điện tử VNPay
5.2.13.3 Thanh toán qua ví điện tử MoMo
5.2.14 Man hình Đánh giá sản pham
Trang 4
95 95
96 96 97 98 99 102 102
104
105
106 107 108 110 113 115 115 119 122
Trang 105.2.15 Man hình Quản lý tài khoản/Dashboard
5.2.16 Man hình Quản ly tài khoan/Don hang của bạn
Xây dựng giao diện phía admin
Giao diện trang quản
Giao diện trang quản
Giao diện trang quản
Giao diện trang quản Giao diện trang quản Giao diện trang quản Giao diện trang quản Giao diện trang chủ admin
132
134 134 135 136 137 140 140
141
142 142
Trang 115.4.10 Giao diện trang quản lý bình luận bài viết
5.4.11 Giao diện trang quản lý người dùng
5.4.12 Giao diện trang quản lý cai đặt chung trang Web
Chương 6 KET LUẬN VÀ HƯỚNG PHAT TRIÊN
147
147
147 148
Trang 12Hình 2.1 Logo của Heidisql[15].
Hình 2.2 Logo của Laravel Frame Work[6] - + ¿5+5 +SS*2+2t2x#xxrrrkererrrerree 6
Hình 2.3 Màn hình của phần mềm laragon[ 17] - -:22+z++22vs++++tvvszrezrrssccee 7
Hình 2.4 Các bước thực hiện User-user CF [3] - - ¿+52 S+£‡x+x+k+k+txEexekereksesree 9
Hình 2.5 Similarty matrix[3] - ¿+ + t3 kg nnhnngggrrrrưệg 1
Hình 2.6 Các bước thực hiện Item-item CF [3] - - ¿+52 S2+S+£+zet+xeexeeeeseexsxz 2
Hình 2.7 Vector cosine thông thường [ 13] - -¿- 55c 5+5++x‡£+‡xvzxerrxerxererkeree 4
Hình 2.8 Minh họa vector sản phẩm "8X i6 4 Hình 2.9 Minh họa kết quả cosine của a,b,€ [ Í3] ¿+5 sskkskrrkrrrerekekekrkrkree 5 Hình 2.10 Minh họa kết quả khi áp dụng Adjusted Cosine [13] -: -: 5 Hình 2.11 Thống kê độ chính xác khi sử dụng cosine hiệu chỉnh [ 13] - 6
Hình 2.12 Utility matriX[Š ] 5-5552 S32 S**E2E2E#EE*EE2EEEE E2 EEETrrrrrrrrrrrie 6
Hình 3.1 Minh hoa cho thuật toán Content-Based Filtering[ LŨ] - - + «5< 9
Hình 3.2 Kết quả khuyến nghị cho sản phẩm với id = 99836488.
Hình 3.3 Màn hình khuyến nghị 3 sản phẩm đầu ¿¿©5z+222vvvz++cvvscee 23 Hình 3.4 Màn hình khuyến nghị 3 sản phẩm sau 22-22+2222+2z2vvEvzersrrrscee 24 Hình 3.5 Kết quả khuyến nghị cho sản phẩm có id = 205602173 - 24
Hình 3.6 Màn hình khuyến nghị 3 sản phẩm đầu tương tự với sản phẩm có
1d=205602 lÍ7Ồ 1n 1111111112 H101 TT HH TT TH HT HH HH HH 25
Hình 3.7 Màn hình khuyến nghị 3 sản phẩm sau -22-2Z++2V2+Szrevzveerrrrrscee 26
Hình 3.8 Kết quả khuyến nghị cho sản phẩm với id = 192812500 - 26
Hình 3.9 Màn hình khuyến nghị 3 sản phẩm đầu tương tự với sản phẩm có
Trang 13Hình 3.13 Màn hình khuyến nghị 3 sản phẩm sau tương tự v . : c- 30
Hình 3.14 Kết quả khuyến nghị cho sản phâm với id = 203040150 - 30 Hình 3.15 Màn hình khuyến nghị 3 sản phẩm đầu tương tự
Hình 3.16 Màn hình khuyến nghị 3 sản phẩm sau tương tự : -c-: -5sc2 32 Hình 3.17 Minh hoa cho hệ thống khuyến nghị Collaborative Filtering.[1] 34
Hình 3.18 Bộ dữ liệu thô cho Collaborative Filtering -‹sc+s+ecexececseeexexee OO.
Hình 3.19 Bộ đữ liệu thô cho Collaborative Filtering
Hình 3.20 Bộ dữ liệu sau khi lọc cho Collaborative Filtering -+-+-+ =+ 36
Hình 3.21 Gợi ý sản phẩm cho user id tương ứng :-+22v+z+22vvvvzr+rrvscee 41 Hình 3.22 Màn hình chi tiết san phẩm với các sản phẩm được khuyến nghị 43 Hình 3.23 Màn hình khuyến nghị các sản phẩm đang thịnh hành
Hình 4.5 Sơ đồ use case dành cho phía người dùng
Hình 4.6 Sơ dé use case dành cho phía người quản trị -.-:¿-522cvcccccz+r+x 57
Hình 4.7 Use case đăng kỹ + + vn HT nghiện 58
Hình 4.8 So đồ tuần tự chức năng đăng ký o.e.ccsseeeeccscssssssseeessccessssseesececesssnseeseccesssnneeeseees 60 Hình 4.9 Sơ đồ hoạt động chức năng đăng ký - -¿ 2c+222v2++tecvvvrrerrrvrrrsrrrrree 6l
Hình 4.10 Use case đăng nhập - - ¿St t4 HH 0101 1H 0 tên 62
Hình 4.11 Sơ đồ tuần tự chức năng đăng nhập
Hình 4.12 Sơ đồ hoạt động chức năng đăng nhập - -¿2©v+z+222vvzze+cvvscee 64 Hình 4.13 Use case tìm kiếm sản phẩm -¿ 2222222+t22222EEEEvrrrrtrrrkrrrrrrrrrrer 65 Hình 4.14 Sơ đồ tuần tự chức năng Tìm kiếm sản pham -+2255c+2 66
Trang I
Trang 14Hình 4.15 Use case quản lý gid hang ¿+ + tk ngư 67
Hình 4.16 Sơ đồ tuần tự chức năng giỏ hàng -¿ 22¿¿22222z+e2Cvvvrrevvvvrersrrrrree 69
Hình 4.17 Use case đặt hàng
Hình 4.18 Sơ đồ tuần tự chức năng đặt hàng 22¿¿©2222++c2Cvvvrreervrrrrsrrrrree 71 Hình 4.19 Use case quản lý bài viẾt 2222cccc222E E211 ri 72
Hình 4.20 Sơ đồ tuần tự chức năng Quản lý bài viết -©22z22c2vzeeserxscee 75
Hình 4.21 Use case quản lý sản phẩm
Hình 4.22 Sơ đồ tuần tự chức năng quản lý sản phẩm -¿+22+zz++22+zcez 78
Hình 4.23 Use case quản lý đơn hàng -¿- - - + 55k ke Hggưưn 78
Hình 4.24 Sơ đồ tuần tự chức năng quản lý đơn hang cho Admin -:- 81 Hình 4.25 So đồ tuần tự chức năng quản ly don hang cho Customer
Hình 4.26 Mô hình quan hệ -¿- - + +6 SE} E1 TT 1H HH trên 81
Hình 4.27 Sơ đồ khuyến nghị sản phẩm bằng phương pháp Content-Based Filtering 93
Hình 5.1 Hình sơ đỗ giao diGt.cc.scccccssccsssssssecsssssesscssssesssssssscsssssessssssssscssssscsessssecesssecsesssees 95
Hình 5.7 Màn hình thay đổi mật khẩu 2 ©++++22EEE+t2EEEEEttEEEEErrrrrrkrrrrrrrrcee 99
Hình 5.8 Màn hình banneTr ¿+ ¿6xx SEEEEk 1E E111 it 100
Hình 5.9 Màn hình mẫu thịnh hành 2-2 ¿5£ 22 E£EE£EE£EE££EE2EE£EEeEEerEerxerrerree 100 Hình 5.10 Màn hình mẫu bán chạy - 2: 5¿©5222++2£S++2£E++vEEEvetrxrrtrxrrerree 101 Hình 5.11 Màn hình mẫu mới nhất
Hình 5.12 Màn hình danh sách bài viết -. -¿-¿¿-2522cvvccestttrErkrtrrrrrrrrrrrrrrrrree 102
Hình 5.13 Màn hình giới thiệu - 52-5-5552 té Hước 102
Hình 5.14 Màn hình danh sách sản phẩm -.¿:-22+£22++z+222v+++etevvvrrrrrrvee 104
Trang 15Hình 5.15 Màn hin
Hình 5.16 Man hin!
Hinh 5.17 Man hin!
Hinh 5.18 Man hin!
Hinh 5.19 Man hin!
Hinh 5.20 Man hin
Hình 5.21 Man hin!
Hinh 5.22 Man hin!
Hinh 5.23 Man hin!
Hinh 5.24 Man hin!
Hinh 5.25 Man hin!
h danh muc san pham
danh sách sản phẩm
h bai viết chỉ tiết bài viết
Hình 5.26 Màn hình thêm sản phẩm vào Giỏ hàng từ danh sách sản phẩm 110
Hình 5.27 Màn hình thêm sản phẩm vào Giỏ hang từ màn hình Chỉ tiết sản phẩm 111
Hình 5.28 Danh sách sản phẩm có trong Giỏ hang sseseescscssssssseeessccessssneeeseccesssnneeeses 112
Hình 5.29 Màn hình Giỏ hàng + tt SE 3E EEvEEEkkekekekrkekrkrrrrkrksrrkrkrrk 113
Hình 5.30 Màn hình nhắn nút [THANH TOÁN] tại màn hình Chỉ tiết sản phẩm 114
Hình 5.31 Màn hình giỏ hàng -¿- t3 3E 1 1E EEv g HH nngrriưy 114
Hình 5.32 Màn hình thanh toán với lựa chọn Thanh toán khi giao hàng 115
Hình 5.33 Màn hình Trang chủ với thông báo đặt hàng thành công 115
Hình 5.34 Màn hình thanh toán với lựa chọn Thanh toán VNPay +5 116
Hình 5.35 Màn hình công thanh toán VNPayy -222+¿+22222vvvcrrttrrrrrrrerrerree 117 Hình 5.36 Màn hình yêu cầu xác thực mã OTP của ví điện tử 'VNPay c+ 118
Hình 5.37 Màn hình thanh toán thành công với ví điện tử VNPay - «+ 118
Hình 5.38 Màn hình thanh toán với lựa chon Thanh toán qua ví điện tử MoMo 119
Hình 5.39 Màn hình giao dich Màn hình giao dịch MoMo -¿-5- 5< <c++ 120
Hình 5.40 Màn hình xác nhận mã OTP của tài khoản thanh toán - «+ 121
Hình 5.41 Màn hình thành toán thành công cho ví điện tử MoMo -. 122
Trang 3
Trang 16Hình 5.42 Màn hình sau khi thực hiện giao dịch thành công 5 +5+5+5+ 122
Hình 5.43 Màn hình thêm đánh giá -. - 5c 5+ tEt‡EEEeEvEkEEtrkerkerrkerkrkerkerrtee 123
Hình 5.44 Màn hình hiền thị sau khi đánh giá
Hình 5.45 Màn hình dashboarrd ¿- - ¿5< 252% *£*2EEEk#kE vn ggrưn 124
Hình 5.46 Màn hình dashboard - - + 5+ 5S 2E 9E EEEEESEEkEEkEkEg th gg rưy 124
Hình 5.47 Màn hình chỉ tiết đơn hàng -22:22222+222EE222EE2E22tEE2EEEEEEELEerrrrrkee 125
Hình 5.48 Màn hình khuyến nghị các sản phẩm tương tự với sản phẩm đang được khách
hang theo dõi 126
Hình 5.49 Màn hìn 127
Hình 5.50 Màn hình banneT - - + ¿6 St E2EkSk#E#EEEEEEEKEEEE 1111 113 1111k ghi 127
Hình 5.51 Màn hình khuyến nghị sản phâm thịnh hành -cccc +- 128
Hình 5.52 Màn hình khuyến nghị sản phẩm bán chạy -©¿£22252z+zvczse2 128
Hình 5.53 Màn hình khuyến nghị sản phâm mới nhất -::¿£22vveccc+z+z 129
Hình 5.54 Màn hình danh sách bài viẾt : -22222222c++2222EEvvvrrrrrrrrrrvrrrrrree 129
Hình 5.55 Màn hình giới thi@u + 6 St E*EETkT Hư 130
Hình 5.56 Màn hình danh sách sản phẩm 2¿-©22z+222E+++t2EEEEEettEvEvrrrrrrvee 130 Hình 5.57 Màn hình chỉ tiết sản phẩm - : 222¿222222+222ES2zttEEExvrerrrvrrrrrrrvee 131
Hình 5.58 Màn hình đăng nhập - + 5+ St 2E SEEEEsEekekrkrkrrrrrrekekrkrkrrek 131
Hình 5.59 Màn hình danh mục sản phẩm -¿ ©2++22+++++22v+++ettvvvrrrrrvee 132 Hình 5.60 Màn hình bài viết sản phẩm 222222222222 v2 v22 Errrrrrrrrrtrrrrrree 132
Hình 5.61 Màn hình bài viết 222222c2222222222+ttSEEEEEEE2ErrEEEEEEEEErrrrrrrrrrrrrrrrree 133
Hình 5.62 Màn hình hiền thị nội dung bài viết „ 134
Hình 5.63 Giao diện trang chủ adimII - ¿+ 5° tt SvEvEsEekekekerrerrrrekeerkrkrre 135
Hình 5.64 Giao diện trang quản lý bannneT- - - ¿+ + 2 SS+£‡kekeEeErkekekererie 135
Hình 5.65 Giao diện trang thêm mới và chỉnh sửa bann€r ¿+ + sx+xzx+++++ 136
Hình 5.66 Giao diện thông báo xác nhận xóa banner
Hình 5.67 Giao diện trang quản lý danh mục sản phẩm -ccc-+¿ 137
Trang 4
Trang 17Hình 5.68 Giao diện trang quản
Hình 5.69 Giao diện trang thêm
Hình 5.70 Giao diện thông báo xác nhận xóa sản phẩm
Hình 5.71 Giao diện trang quản
Hình 5.72 Giao diện trang quản
Hình 5.73 Giao diện trang thông
Hình 5.74 Giao diện trang cập n
Hình 5.75 Giao diện trang quản
Hình 5.76 Giao diện trang quản
Hình 5.77 Giao diện trang quan
Hình 5.78 Giao diện trang quản
Hình 5.79 Giao diện trang quản
Hình 5.80 Giao diện trang quản
Wy Sam PAM mm 1 137
mới và chỉnh sửa sản phẩm . -+ 138
139
ý thương hiệu sản phẩm cc555c¿ 140
lý đơn hang «+1 rưy 140
tin chỉ tiết đơn hàng -2¿-©2222zccvcvvzerrrrrsee 141
Trang 18DANH MỤC BANG
Bảng 3.1 Bảng mô tả các trường dữ liệu cho Content-based Filtering
Bang 3.2 Bảng dữ liệu thô chỉ tiết cho từng loại sản phẩm ¿22 21 Bang 3.3 Bang dit liệu trước và sau khi tiền xử LY .ccsccccssssecssssseeccssssecessssiecssssieecessseeees 2 Bang 3.4 Các trường dữ liệu cần thiết cho thuật toán Collaborative Eiltering 36
Bảng 3.5 Kết quả đánh giá lọc cộng tác sau khi đã tiền xử lý đữ liệu - 38
Bang 3.6 Bảng các sản phẩm được khuyến nghị với Consine cho user id = 1704561 39
Bang 3.7 Bảng các sản phẩm được khuyến nghị với Consine điều chỉnh cho user id =
5O 40
Bảng 3.8 Bang ưu điểm và hạn chế của 2 thuật toán Collaborative Filtering và
Content-based Filtering.
Bảng 4.1 Bang đặc ta use case Đăng ký ScnntnenHhHHHườt 59
Bảng 4.2 Bảng đặc ta use case đăng nhập - - 5: 2s 2tr 63
Bang 4.3 Bang đặc ta use case tìm kiếm 22+:-22222 22 2222111 EE.rrrrrrrir 65
Bảng 4.4 Bảng đặc tả use case thêm sản phẩm vào giỏ hàng.
Bảng 4.5 Bảng đặc tả use case đặt hàng
Bang 4.6 Bảng đặc ta use case quản ly bài việt
Bang 4.7 Bang đặc ta use case quản lý sản phẩm -2¿¿225vz+ecvcvvrescvvsrrecrr 76
Bảng 4.8 Bảng đặc tả use case quản lý đơn hàng -¿- 56 Street 79
Bang 4.9 Sơ đồ lớp 22222222 22222121121 2.2221211111 T 27111111 211111111 re 82 Bảng 4.10 Bảng shippings c5 +2 ng HH H210 1 g1 83
Bang 4.11 Bảng US€TS + S222 1E 2 217121021 11217171 1111011 11g10 0.011 rưếc 83
Trang 19Bang 4.19 Bảng prOduCfS 5 52222222 2212121219121 2111 1.11112101010111 1 tren 89
Bang 4.20 Bảng CaTS - St HH 01H00 Hà HH rên 89
Bang 4.21 Bang Caf€BOFI€S S2 HH 21210212121 1.10112101010011 1 Hư 90
Bảng 4.22 Bang Drannds - S1 11 1 E1 1 1 111g HT ng gi 90
Bang 4.23 Bảng notifications St tt TH HH2 211212 121.101 re 91
Bang 4.24 Bảng pOS(_ fagS Tàn HH TT HH HT 91
Bang 4.25 Bang messages sccccccsesesseesseseseeecseseseseseeseseseseeeneseseseesenesesesneessssseseeeseee 92
Bang 4.26 Bang wishlist
Bang 5.1 Chức năng của các màn hình chính ¿- 5 25+ 5+++2£+++£e£zx+xsxexerxcxe 96
Trang 20Chương 1 TONG QUAN VE ĐÈ TÀI
1.1 Đặt vấn đề
Trong thời buổi xã hội dang không ngừng phát triển, xu hướng thương mại điện
tử ngày càng phát triển Moi việc giờ đây thật đơn giản, chỉ cần có một chiếc máy tính hay chỉ với một chiếc điện thoại thông minh có kết nối với internet, việc mua bán, trao đổi thương mại trở nên thật đễ dàng hơn bao giờ hết với tất cả mọi người chỉ với một
vài cái click chuột.
Với việc thương mại điện tử hóa, mọi rào cản về không gian địa lý hay thời gian làm việc đều được xóa bỏ Các sản phẩm được khách hàng đón nhận và cập nhật những
thông tin về sản phẩm một cách rõ ràng không chỉ những người mua hàng ở khu vực
đó mà trên cả đất nước Việt Nam, thậm chí là người dân trên toàn thế giới Người bán
giờ đây không chỉ còn ngồi một chỗ chờ khách hàng đến tìm mà đã tích cực chủ động tìm đến khách hàng Và khi số lượng khách hàng tăng lên thì lúc đó cũng tỉ lệ thuận với việc doanh thu của cửa hàng sẽ tăng theo, đó mới chính là điều mà các doanh nghiệp
đang hướng tới.
Không chỉ dừng lại ở đây, thương mại điện tử còn tạo ra những cơ hội làm ăn
cho những ai không đủ vốn bởi: không cần mắt tiền thuê mặt bằng ở những nơi đắt đỏ, thuê nhân viên, đầu tư nhiều cho việc chạy quảng cáo mà chỉ cần đầu tư có lợi cho một website thương mại điện tử với đầy đủ thông tin về doanh nghiệp cũng như các tính năng hỗ trợ tìm kiếm mua hàng, đưa hình ảnh, thông tin sản phẩm chính xác đến người tiêu dùng Từ đó, khách hàng sẽ có thể tiếp cận thông tin chủ động hơn, nhờ tư vấn và mua bán dé dàng, chính xác và nhanh gọn hơn Với tình hình cạnh tranh cực kỳ
“khốc liệt” như hiện nay giữa các doanh nghiệp thì rất khó đề có thể độc quyền một sản phẩm nào, bởi vậy nơi chỉnh phục được khách hàng chính là nơi làm họ cảm thấy thoải mái, hài lòng và tin tưởng nhất.
Bằng việc thương mại điện tử hóa, tất cả doanh nghiệp từ lớn, vừa và nhỏ đều
có thể thỏa sức sáng tạo, cạnh tranh công bằng trên thị trường thương mại điện tử Những ý tưởng kinh doanh sáng tạo đầy hấp dẫn, những chiến lược tiếp thị táo bạo cùng nhiều khuyến mãi đi kèm được áp dụng lên sản phẩm và được khách hàng đón nhận nhanh mà không tốn quá nhiều chi phí bởi tat cả vẫn được gói gon trong website
thương mại điện tử.
Trên những cơ sở đó, nhóm tác giả chọn dé tài “Xây dựng website kinh doanh
sản phẩm thời trang kết hợp đề xuất sản phẩm trên nền tảng Laravel” làm đề tài tốt
Trang I
Trang 21nghiệp nhằm giải quyết các nhu cầu quảng bá và kinh doanh sản phẩm của cửa hàng
hướng trực tiếp đến khách hàng trên mọi miền đất nước và quốc tế.
1.2 Thương mại điện tử tại Việt Nam
Thương mại điện tử (E-Commerce)[19] là hình thức kinh doanh trực tuyến sử
dụng nền tảng công nghệ thông tin với sự hỗ trợ của mạng Internet đề tiến hành các
giao dịch như mua bán, trao đổi và thanh toán trực tuyến Thương mại điện tử là xu
hướng của thời đại toàn cầu hóa, đây là lĩnh vực tiềm năng để các doanh nghiệp vừa
và nhỏ phát triển, tạo cơ hội cho những ai muốn khởi nghiệp theo mô hình mới và hiện
đại này Mô hình kinh doanh này được xem là một trong những giải pháp thúc đây sự phát triển của nền kinh tế quốc gia.
Dự đoán trong 10 năm tới nhu cầu mua sắm trên các nền tảng Thương mại điện
tử sẽ phát triển mạnh mẽ thay thế dần các mô hình kinh doanh truyền thống.
1.3 Mục tiêu và chức năng chính của hệ thống
Dé có được một website bán hàng, giao diện của website là một điều vô cùng
quan trọng Giao điện là nơi khách hàng được tiếp xúc và sử dụng đầu tiên, đòi hỏi cần phải thân thiện với người dùng và tương thích các thiết bị thông minh như máy tính, thiết bị di động Bên cạnh đó, khi xây dựng website cần phải đề ý tối ưu tốc độ xử lý nhanh nhất, chính xác, hiệu quả nhất có thê cho cả người mua cũng như người dùng sử
tại bất kỳ nơi đâu và nhận được sản phẩm tốt trong thời gian sớm nhất Về phía cửa hàng, người quản trị website có thể quản lý tat cả nội dung của trang web như thiết kế hình ảnh quảng cáo cho sản phẩm, tạo bài viết lôi cuốn người dùng, quản lý sản phẩm, quản lý đơn hàng và thống kê doanh số bán hàng.
Một website thương mại điện tử luôn phải hướng đến khách hàng, do vậy sử dung các yếu té tương tác với người dùng trong website là một điều quan trong, cần sử dụng các hình ảnh bắt mắt giúp mô tả thông tin và chất lượng của sản phẩm hoặc sử
Trang 2
Trang 22dụng các phương tiện truyền thông như một trong những yếu tố tương tác phô biến
nhất cần phải nghĩ đến khi thiết kế website bán hàng.
1.4 Định hướng giải quyết vấn đề
Dựa trên cơ sở mục tiêu, yêu cầu và các chức năng chính của hệ thống, cùng
thời gian làm việc trực tiếp với ngôn ngữ PHP, nhóm tác giả đã quyết định sử dụng ngôn ngữ PHP là ngôn ngữ chính đề xử lý các logic đến từ hệ thống Kết hợp với một
số ngôn ngữ, thư viện và Framework hỗ trợ như HTML, CSS, Javascript, Jquery, Laravel Framework để thiết kế giao diện và xử lý hệ thống Về thanh toán điện tử,
nhóm sử dụng thanh toán ví điện tử MoMo, VNpay - những kênh thanh toán online
phổ biến nhất được người dùng tin tưởng sử dụng với khả năng bảo mật và nhiều
phương thức thanh toán tiện lợi cho người dùng.
1.5 Tính ứng dụng của đề tài
Ngày nay, với sự phát triển của kỹ thuật — công nghệ, các trang mua sắm thương mại điện tử cũng ngày càng phát triển và phô biến hơn với người dùng Đa phần trên các nền tảng thương mại điện tử hiện nay vẫn còn những khó khăn đề người dùng tiếp cận được đến các sản phẩm theo mong muốn của họ một cách chính xác Vì thế một
hệ thống khuyến nghị sản phẩm tốt sẽ giúp cho doanh nghiệp hoạt động hiệu quả hơn.
Ngoài ra trang web sẽ cung cấp cho người dùng đa dạng các phương thức thanh
toán (VNPay, MoMo) cho người dùng thuận tiện thanh toán Đồng thời, trang web cũng sẽ sẽ cung cấp các bài biết, tin tức về khuyến mãi, các sản phẩm mới, cung cấp cho khách hàng nhiều thông tin về sản phẩm, điều đó giúp khách hàng thường xuyên truy cập trang web ngay cả khi chưa có nhu cầu mua sắm.
Vì thế, nhóm quyết định tìm hiểu, xây dựng trang web kinh doanh sản phẩm thời trang phát triển và ứng dụng một hệ thống khuyến nghị Hệ thống sẽ khuyến nghị các sản phẩm phù hợp với nhu cầu mua sắm của khách hàng.
1.6 Công cụ sử dụng
Trong quá trình thực hiện đề tài, nhóm đã sử dụng một số công cụ để phục vụ cho việc
triển khai đề tài, bao gồm:
- Hệ điều hành: Windows 10.
- _ Công cụ quản lý CSDL: HeidiSQL.
- Công cụ vẽ sơ đồ phân tích thiết kế: draw.io.
- _ Công cụ xây dựng ứng dung: Visual Studio Code, Laragon.
Trang 3
Trang 23- _ Công cụ kiểm tra API endpoints: Postman.
- Công cụ quan lý mã nguồn: Github.
1.7 Bố cục báo cáo khóa luận
Bài báo cáo đề tài chia thành 06 chương như sau:
Chương 1 Tổng quan: Trong chương đầu tiên, nêu lên vấn đề, hiện trạng của thương mại điện tử Việt Nam Từ đó, đề ra mục tiêu và chức năng chính của hệ thống trang web và định hướng giải quyết van đề dé hoàn thành trang web.
Chương 2 Cơ sở lý thuyết và công nghệ sử dụng: Ở chương 2, trình bày cơ sở lý thuyết và lý do tại sao lại chọn các công nghệ đề phục vụ cho việc xây dựng trang web Đồng thời, giới thiệu cơ sở nền về thuật toán được áp dụng.
Chương 3 Mô hình khuyến nghị được thực nghiệm: Từ cơ sở nền phát biểu ở chương
2, tại chương 3 sẽ phát triển thành hai mô hình khuyến nghị đề xuất Từ đó, kết luận
được chọn mô hình nao là phù hợp cho trang web.
Chương 4 Phân tích thiết kế hệ thống: Trình bày việc khảo sát hệ thống, xác định các yêu cầu cho hệ thống Trình bày về sơ đồ tô chức của trang wcb, phân tích thiết kế hệ thống, thiết kế CSDL phi cấu trúc và thiết kế quy trình khuyến nghị.
Chương 5 Triển khai hệ thống: Xây dựng kịch bản, thé hiện các màn hình chức năng
Trang 24Chương 2 CƠ SỞ LÝ THUYET VÀ CÔNG NGHỆ SỬ DỤNG
2.1.Công nghệ sử dụng trong đề tài
2.1.1 Heidisql
Hình 2.1 Logo của Heidisql[15]
HeidiSQL[15] được gọi là ứng dụng khách, chỉ có thé sử dụng được khi có
sẵn một số máy chủ Đảm bảo có một số máy chủ MariaDB, MySQL, MS SQL,
PostgreSQL hoặc tệp cơ sở dữ liệu SQLite để kết nối Logo của Heidisql được thé
PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra từ năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch
ban Perl đề theo dõi tình hình truy cập đến các bản sơ yếu lý lich của ông trên mang Vào tháng 11 năm 1997, PHP/FI 2.0 được công bố chính thức, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 — phiên bản đầu tiên cho chung
—
Trang 5
Trang 25ta thấy một hình ảnh gần gũi với các phiên bản PHP mà ngày nay chúng ta đang được biết tới.
PHP được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau:
e Phổ biến hon
PHP là ngôn ngữ mã nguồn mở, có thể chạy được trên cả Apache và IIS Cấu trúc PHP cực kỳ đơn giản, không mất nhiều thời gian đề có thé học được.
e Thư viện phong phú
Lập trình viên có thể sử dụng nhiều thư viện để tối ưu hóa và tiết kiệm thời
gian.
e _ Việc cài đặt môi trường phát triển đơn giản
Do chạy được trên máy chủ Apache và thường di cặp cùng với hệ quản tri cơ
sở đữ liệu MySQL nên việc cài đặt một trường phát triển vô cùng đơn giản, thông
qua một bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS
e Nhiều framework hỗ tro
PHP có nhiều frameworks kết hợp được sử dụng dé thêm các chức năng cụ thể Một số Framework pho bién nhu: Laravel, Codelgniter, Yii 2, Phalcon,
CakePHP.,
2.1.3 Laravel FrameWork
l2 Laravel
Hình 2.2 Logo của Laravel FrameWork[6]
Laravel[6] là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC Logo của Laravel FrameWork được thể hiện tại hình 2.2.
Laravel được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau:
—
Trang 6
Trang 26chóng và mạnh mẽ dành cho PHP, Node.Js, Python, Java, Go, Ruby Nó nhanh, nhẹ,
@ Laragon Full 3.1.7 171208 php-7.1.7-Win32-VC14-x64 192,168.99.1 [TS]
( ) Apache hftpd-2.4.27-winB4-VC14 started
8e MySQL mysql-6.7.19-win64 started
Nginx ngin1.12.0 started
Redis redis-x64-3.2.100 started
Memeached memeached-1.4.5 started
O stop wer A Database
80 3306
Root
Hình 2.3 Màn hình của phần mềm laragon| 17]
Laragon{ 17] là một môi trường phat triển phổ quát di động, biệt lập, nhanh
dễ sử dụng và dễ mở rộng.
đại Nó tập trung vào hiệu suất - được thiết kế xung quanh sự ôn định, đơn giản, linh
Laragon là công cụ tuyệt vời để xây dựng và quản lý các ứng dụng web hiện
hoạt và tự do.
Laragon rất nhẹ và sẽ càng gọn gàng càng tốt Bản thân tệp nhị phân lõi nhỏ
hơn 2 MB và sử dụng ít hơn 4 MB RAM khi chạy.
Laragon không sử dụng các dịch vụ Windows Nó có hệ thống điều phối dịch
vụ riêng dé quản lý các dịch vụ không đồng bộ và không chặn
Trang 7
Trang 27Laragon được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau:
một hoặc nhiều mục, sản phẩm, dịch vụ mà người dùng quan tâm.
Có hai thực thể chính trong Recommendation System là users và items Users
là người dùng Items là sản phẩm, ví dụ như các bộ phim, bài hát, video clip, hoặc
cũng có thé là các users khác trong bài toán khuyến nghị Mục đích chính của các
Recommender System là dự đoán mức độ quan tâm của một user tới một item nào
đó, qua đó có chiến lược khuyến nghị phù hợp.
2.2.2 Giới thiệu phương pháp xây dựng hệ thống khuyến nghị
Hệ thống khuyến nghị thường được chia thành hai nhóm chính
Content-based system (khuyến nghị dựa theo nội dung): là phương pháp dùng để đánh giá đặc tính của từng item, sắp xếp thành từng nhóm theo từng đặc
trưng.
Collaborative filtering (lọc cộng tác): là phương pháp mà hệ thống gợi ý items dựa trên sự tương quan (similarity) giữa các users và items.
Mục tiêu của các hệ thống khuyến nghị sán phẩm
Tiết kiệm thời gian, tăng tốc độ tìm kiếm.
———————
Trang 8
Trang 28Tăng trải nghiệm người dùng, giúp người dùng tiếp cận các sản phẩm phù hợp với
nhu cầu.
Những sản phẩm chưa thực sự phổ biến vẫn có thẻ tiếp cận đến người dùng theo
nhu câu của họ.
2.2.3 Cơ sở lý thuyết và xây dựng hệ thống khuyến nghị
2.2.3.1 Collaborative filtering
User-user collaborative filtering[3]
Trong phương pháp này, hệ thống sẽ xác định được sự giống nhau giữa các users.
User similarity matrix được tính dựa trên các cột tương ứng với các users trong ma trận này.
teh alghetedt Ai ¥ b) Normalized utility matrix ¥ ¢) User similarity matrix S.
“ 3m|an|ss|im ass 33]
Predict normalized rating of uy oni, with k = 2
Users who rated 4; 5 (to ts us}
Corresponding similarities: (0.83 -0.40, -0.23} a | 4 [sas
+ most similar users: N’(1), ít} = [Mọ us}
with normalized ratings {0.75, 0.5)
0i
> Via, =O84] 0.28 29 |406/310| 5
e) Example f) Full Y
Hình 2.4 Các bước thực hiện User-user CF [3]
Các bước thực hiện User-user CF[3]:
a) Utility matrix ban đầu.
b) Utility matrix đã được chuẩn hóa.
c) User similarity matrix.
d) Dự đoán các giá tri ratings đã chuẩn hóa còn thiếu.
Trang 9
Trang 29e) Ví dụ về cách dự đoán rating của ul cho il.
f) Dự đoán các rating còn thiếu.
Bước chuẩn hóa dữ liệu: Hàng cuối cùng trong hình a) là giá trị trung bình các đánh
giá của mỗi user với các item Sau đó, trừ mỗi đánh giá cho giá trị trung bình này và thay các giá trị chưa biết bằng 0, sẽ được Utility matrix đã chuẩn hóa như hình b).
Việc trừ đi trung bình cộng làm cho mỗi cột có những giá trị dương và âm Những
giá trị dương tương ứng với việc user thích item, những giá trị âm tương ứng với việc user không thích item Những giá trị bằng 0 tương ứng với việc chưa xác định được liệu user
có thích item hay không Sau khi đã chuẩn hóa dữ liệu, sử dụng một trong các Similarity
Function dé tính toán ma tran Similarity, thông thường là Cosine Similarity.
ulu
cosine_similarity(u1,u2) = cOs(u¡,02) = Imlblluala
1ll2 2ll2
e Rating[3]
Việc xác định mức độ quan tâm của một user lên item dựa trên các user gần nhất
(neighbor user) tương tự phương pháp K-nearest neighbors (KNN) Tương tự như KNN,
trong CF, missing rating cũng được xác định dựa trên thông tin về k neighbor user, chỉ
quan tâm tới các user đã rate item đang xét Các đánh giá được dự đoán thường được xác
định bằng trung bình cộng trọng số của các đánh giá đã chuẩn hóa Trong KNN, các trọng
số được xác định dựa trên khoảng cách giữa 2 điểm, và các khoảng cách này là các số
không âm.
Trong khi đó, trong lọc cộng tác, các trọng số được xác định dựa trên similarity giữa
2 user, những trọng số này có thé nhỏ hơn 0
Công thức được sử dụng đề dự đoán đánh giá cua user u cho item i là
— Dujen(ui) Jiujsimcuu;)
5 Lujenui|sim(u, 1)|
Diu
(sử dung trị tuyệt đối dé xử lý các số âm)
Trong đó N (u, i) là tập hợp k user trong neighborhood (tức là có similarity cao nhất của user u va đã đánh giá item ¡.Việc hệ thông quyết định khuyến nghị item nao cho mỗi
user có thể được xác định bằng nhiều cách khác nhau Có thể sắp xếp các item chưa đánh
giá theo thứ tự từ lớn đến bé của các đánh giá được dự đoán, hoặc chỉ chọn các item có các
Trang 10
Trang 30đánh giá chuẩn hóa được dự đoán có giá trị dương — tương ứng với việc user này có nhiều khả năng thích hơn.
e Similarity matrix[3]
Sau khi có Utility matrix, phải xác định được độ tương đồng (similarity) giữa các users/items Similarity matrix được xây dựng dựa trên các cột tương ứng với các user, nếu xây dựng User similarity matrix (hay các hàng tương ứng với items, nếu xây dựng Item
similarity matrix).
Hinh 2.5 Similarty matrix[3]
Trong hình trên, có thé quan sát một cách trực quan, hành vi của user 0 khá tương đồng với user 1, hơn là với các user còn lại Từ đó có thé dự đoán rang user 0 có thể quan tâm đến item 2 vi user 1 cũng quan tâm đến item nay Từ đó có thé tính toán được giá tri
similarity giữa các user.
Nếu similarity càng tiếng về 1, điều đó thể hiện hai users/items càng tương đồng với nhau, ngược lại nếu similarity càng tiến về -1 có nghĩa là hai users/items càng trái ngược
nhau.
Item-item Collaborative Filtering[3]
Trên thực tế, số lượng users luôn lớn hơn số items rat nhiều Do đó Similarity matrix
cho users rất lớn Việc này khiến cho việc lưu trữ ma trận gặp nhiều khó khăn trong một
số trường hợp.
Độ bao phủ của các rating khác 0 trên Utility matrix là rất thấp, do số lượng users rất lớn so với items, một phan là do người dùng thường ít dé lại đánh giá Vì vậy, khi một
Trang 11
Trang 31user thay đổi rating hoặc rate thêm items mới, trung bình rating cùng với vector của user
đó sẽ thay đổi nhiều Kéo theo việc tính toán Similarity (công việc tốn nhiều tài nguyên va
thời gian) cần được thực hiện lại.
Thay vào đó, nếu tinh toán Similarity giữa các items sau đó khuyến nghị các items
gần giống với item yêu thích của một user.
Vi số lượng items nhỏ hơn rất nhiều so với lượng users, kích thước của Similarity matrix sẽ nhỏ hơn đáng kẻ, tiết kiệm nhiều thời gian tính toán và tài nguyên.
Ngoài ra, số lượng phần tử đã biết trong Utility matrix là như nhau nhưng số hàng (items) ít hơn số cột (users), nên trung bình, mỗi hàng của ma trận này sẽ có nhiều phan tử
đã biết hơn số phan tử đã biết trong mỗi cột Vì mỗi item có thể được rated bởi nhiều users Kéo theo đó, giá trị trung bình của mỗi hàng ít bị thay đổi hơn khi có thêm một vài ratings.
Như vậy, việc cập nhật ma trận Similarity Matrix có thể được thực hiện ít thường xuyên
c) Item similarity matrix S d) Normalized utility matrix Y.
Hình 2.6 Các bước thực hiện Item-item CF [3
Quy trình dự đoán missing ratings cũng tương tự như trong User-user CF[3]:
Trang 12
Trang 32a) Utility matrix ban đầu.
b) Utility matrix đã chuẩn hóa.
c) Item similarity matrix.
d) Dự đoán các đánh giá con thiếu (đã được chuẩn hóa).
Kết quả về việc chọn items nào để khuyến nghị cho mỗi user được thể hiện bởi các
6 mau đỏ trong hình d).
Adjusted Cosine Similarity[ 13]
Công thức nhóm sử dụng để tính similarity matrix là Adjusted Cosine Similarity (Cosine đã được điều chỉnh - một công thức được điều chỉnh từ Cosine similarity thông
thường):
Xueu(Ru, — Ru)(Ru — Ry)
sứ) ~ V due (Ru, “ R,)? Vv dueu(Ruj > R,)?
Trong đó s (i, j) đại diện cho chi số similarity giữa sản phẩm i và j ueU đại điện cho từng người dùng Ru,i là chỉ số rating của người dùng u cho sản phẩm i Ru đại điện cho rating trung bình mà người dùng u đã đưa ra cho tất cả các sản phẩm mà người dùng đó đã
đánh giá.
Ru,j là rating người dùng u cho sản phẩm j tiếp theo.
Một số người ding dễ tính có thể sẽ đánh giá các item với số điểm cao, trong khi các người dùng khó tính nhìn chung sẽ rate các item thấp hơn Để loại bỏ hạn chế này khi tính sự tương đồng giữa các vector, Adjusted Cosine Similarity trừ rating trung bình của mỗi người dùng đối với các items mà họ đã đánh giá.
Adjusted Cosine Similarity phản ánh sự khác biệt tốt hơn so với Cosine Similarity
thông thường.
Theo định nghĩa, công thức Cosine thông thường chỉ phản ánh mức độ khác nhau
về hướng của hai vectors, không bao gồm vị trí của chúng Kết quả của Cosine thông thường sẽ không thay đổi nếu các vector kéo dai theo mỗi hướng.
Trang 13
Trang 33Một ví dụ về trường hợp này: Giả sử 3 sản phẩm a, b vac được đánh giá từ 0 đến 5.
Hình 2.8 Minh họa vector sản phẩm a,b,c [13]
Một cách trực quan, có thê nhìn thay được sản phẩm b và c (vector xanh dương và xanh lá) khá tương đồng nhau, trong khi a (vector màu đỏ) khá khác biệt với b và c Nhưng
—
Trang 14
Trang 34công thức Cosine thông thường cho thấy gần như không có sự khác biệt giữa chúng
Hinh 2.9 Minh hoa két qua cosine cua a,b,c [13]
Sử dung Adjusted Cosine Similarity để tính toán lại các kết qua:
Hình 2.10 Minh họa kết qua khi áp dung Adjusted Cosine [13]
Qua hình trên, có thể nhìn thấy được sự khác nhau giữa similarity được tính theo
Cosine thông thường và Adjusted Cosine (sim (a, b) ~ -0.2 và sim (c, b) ~ 0.99).
Trên thực tế, một số người dùng dễ tính có xu hướng đánh giá các sản phẩm với điểm số cao, trong khi các người dùng khó tinh thì ngược lại Adjusted cosine similarity trừ di rating trung bình mà người dùng đã đưa ra cho tat cả các sản phẩm mà người dùng
đó đã đánh giá, do đó có thể loại bỏ được nhược điểm này khi tính toán ma trận similarity.
Ngoài ra, theo kết quả thực nghiệm trên bộ dữ liệu sử dụng Cosine điều chỉnh cho
hệ thống khuyến nghị cải tiến, nhóm tác giả bài báo An Improved Online Book
Recommender System using Collaborative Filtering Algorithm (2018)[13] đã đưa ra nhận
xét: Số lượng lượt đánh giá không trực tiếp quyết định độ chính xác của hệ thống khuyến nghị, tuy nhiên độ chính xác đạt được của thuật toán vẫn tương đối cao.
Trang 15
Trang 35User id | Number of books rated | % Accuracy using RMSE [34789 SS 88
Có hai thực thé chính trong hệ thống khuyến nghị là users va items Mỗi user sẽ có
mức độ quan tâm tới từng item khác nhau Mức độ quan tâm được gán cho một giá trị ứng
với mỗi cặp user-item Mức độ quan tâm được đo bằng giá trị user rate cho item, gọi giá
trị này là rating Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa cần được dự
đoán, tạo nên một ma trận gọi là utility matrix.
Trong hình trên, có 6 users (từ u0-> u6) tương đương với 4 item (i0-> i4) Cac 6 màu xanh thé hiện việc một user đã đánh giá một bai hát với ratings từ 0 (không thích) đến
Trang 16
Trang 365 (rất thích) Các ô có dấu ‘?’ màu xám tương ứng với các ô chưa có dữ liệu Công việc của một Recommendation Systems là dự đoán giá tri tại các 6 màu xám nay, từ đó đưa ra
gợi ý cho người dùng.
Thông thường, có rất nhiều users và items trong hệ thống, mà mỗi user chỉ đánh
giá một số lượng nhỏ các items hoặc chưa từng đánh giá item nào Vì vậy, số lượng ô trống ( có dau “?”) trong utility matrix thường rất lớn.
Trong các Recommender Systems, việc xây dựng Utility Matrix là tối quan trọng Có
hai hướng tiếp cận phổ biến dé xác định giá trị rating cho mỗi cặp user-item trong Utility
Matrix:
Nhờ người dùng đánh giá các sản phẩm: Các sàn thương mại điện tử lớn luôn
khuyến khích người dùng để lại đánh giá khi mua sản phẩm bằng cách gửi email nhắc nhở hay có chương trình tích điểm khi người dùng đánh giá sản phẩm.
Dựa trên hành vi của người dùng: nếu một người dùng mua một sản phẩm nhiều lần hay mua với số lượng lớn, xem một chủ đề hay bài viết hay một video nhiều lần (hay xem
đi xem lại trong thời gian nhất định) có thé khang định người dùng thích (quan tâm) sản phẩm đó Cách tiếp cận này thương chỉ có thể xây dựng Utility matrix với hai giá trị là 0
và 1 thé hiện cho việc người dùng có thích sản pham, giá trị 0 thể hiện việc chưa từng có
thông tin của cặp user-item đó.
Item profiles[ 12]
Dựa trên nội dung của mỗi item, cần xây dựng một bộ hồ sơ (profile) cho mỗi item Profile được biểu diễn dưới dạng toán học là một feature vector Trong những trường hợp đơn giản, feature vector được trực tiếp trích xuất từ item Một item có thé có các thuộc tinh
có thể sử dụng cho hệ thống khuyến nghị Ví dụ điện thoại thông minh có các thuộc tính như: mô tả, thương hiệu, phân khúc (gaming, phổ thông, ), thời gian ra mắt,
TF-IDF[14]
TF-IDF (Term Frequency — Inverse Document Frequency) là trọng số được sử dung
dé danh gia tam quan trọng cua một từ trong một van ban Giá trị cao thê hiện độ quan
trọng cao và nó phụ thuộc vào số lần từ xuất hiện trong văn bản nhưng bù lại bởi tần suất
của từ đó trong tập dữ liệu.
TF: Term Frequency là số lần một từ xuất hiện trong hiện văn ban TF thường được chia cho độ dài văn bản (tổng số từ trong một văn bản).
Công thức tính TF[14]:
Trang 17
Trang 37max{f(w,d):wed}
tf(t,d)=
Trong do:
Tf(t,d): Tan suất xuất hiện của từ t trong van ban d
F(,đ): Số lần xuất hiện của từ t trong văn bản d.
Max ({f(w,d):w e d}: Số lần xuất hiện của từ có số lần xuất hiện nhiều nhất trong
văn bản d.
IDF[14]: Inverse Document Frequency ( Nghịch đảo tần suất của văn bản) giúpđánh giá tầm quan trọng của một từ Khi tính toán TE, tất cả các từ được coi như có độquan trọng băng nhau Nhưng một số từ như “is”,”are” hoặc “that”,”this” thường xuất hiệnrất nhiều lần nhưng độ quan trọng không cao Vì vậy, cần giảm độ quan trọng của những
Idf (t, D): Giá tri idf của từ t trong tập văn bản.
|DI: Tổng số văn ban trong tập D
|{d e D: te đ}|: Thể hiện số văn bản trong tập D có chứa từ t
Trang 18
Trang 38Chương 3 MÔ HÌNH KHUYEN NGHỊ DUOC THUC NGHIEM
3.1 Content-based Filtering
Hệ thống khuyến nghị Content-Based: Khuyến nghị dựa trên đặc tinh của sảnphẩm Cách tiếp cận này yêu cầu việc sắp xếp các sản phẩm vào từng nhóm hoặc đi tìm
các đặc trưng của từng sản phẩm Đặc điểm của hệ thống khuyến nghị Content-Based
là việc xây dựng mô hình cho mỗi user không phụ thuộc vào các user khác mà phụ
thuộc vao profile của các item[9].
Trang 39Kết quả thực nghiệm được áp dụng trên bộ dữ liệu về sản phẩm từ Tiki, bao gom
10927 san pham
Các trường dữ liệu:
STT Tên thuộc tính Ý nghĩa
1 Id Mã ID san phẩm
2 sku Don vi hang hóa phân loại hàng tồn kho
3 Short_description Mô ta sản pham
4 Description Mô tả chỉ tiết sản pham
5 Thumbnail_url Duong link dan dén san pham
6 price Giá bán cua sản pham sau khi đã khuyến
mãi
7 List_price Giá gốc sản pham
8 discount Giá khuyến mãi
9 Discount_ rate Tỉ lệ giảm giá 30%
10 Productset_ øroup_ name Tên nhóm sản phâm
11 Review_count Số lượng người review
12 Inventory_ status Trạng thái còn hàng
13 Rating_average Số lượng đánh giá trung bình sao
14 Quantity_sold Số lượng san phẩm bán được
15 Product_ name Tên sản phẩm
16 Categories_id Mã loại san phẩm
17 Categories_name Tên loại sản pham
Trang 20
Trang 4018 Brand_id Ma thuong hiéu
19 Brand_name Tên thương hiệu
20 slug Chuyén hóa từ product_name
Bang 3.1 Bang mô tả các trường dir liệu cho Content-based Filtering
Chi tiết dữ liệu:
Số sản phẩm còn lại sau khi tiễn hành tiền xử lý dit liệu: 9,849 san phẩm
Dữ liệu trước và sau khi tiền xử lý:
Dữ liệu thô Dữ liệu sau khi tiền xử lý
Thời trang nam 1,935 1,893
Trang 21