Mua hàng online Trang web so sánh giá là công cụ tìm kiếm giúp người tiêu dùng tra cứu sản phẩm mà họ quan tâm, bao gồm giá từ nhiều cửa hàng khác nhau.. Tất nhiên, mỗi gian hàng sẽ có g
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG
PHẠM THẠCH TÚ HUỲNH MẠNH HÙNG
KHÓA LUẬN TÓT NGHIỆP
ÁP DỤNG CÁC THUẬT TOÁN MÁY HỌC
TRONG VIỆC SO SÁNH GIÁ CÁC SAN PHAM THƯƠNG MẠI ĐIỆN TỬ
APPLY MACHINE LEARNING FOR PRICE COMPARISON IN
E-COMMERCE
KỸ SƯ NGANH AN TOAN THONG TIN
TP HO CHi MINH, 2022
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
PHAM THACH TÚ - 18521587
HUYNH MANH HUNG - 18520795
KHOA LUAN TOT NGHIEP
AP DỤNG CÁC THUAN TOÁN MAY HỌC
TRONG VIỆC SO SÁNH GIÁ CÁC SAN PHAM THƯƠNG MẠI ĐIỆN TỬ
APPLY MACHINE LEARNING FOR PRICE COMPARISON IN
E-COMMERCE
KỸ SƯ NGÀNH AN TOÀN THÔNG TIN
GIẢNG VIÊN HƯỚNG DẪN
THS TRAN TUÁN DŨNG - THS TRAN THỊ DUNG
TP HÒ CHÍ MINH, 2022
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
Ti8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4Lời đầu tiên, chúng em xin chân thành cảm ơn Trường Đại học Công nghệ thông tin
- ĐHQG, ban lãnh đạo, các thầy cô giáo khoa Mạng máy tính và truyền thông cũng
như khoa An toàn thông tin đã tạo điều kiện tốt nhất để chúng em có được môi
trường học tập hết mình và đạt được hiệu quả trong suốt quá trình học tập tại
trường.
Tiếp theo, nhóm chúng em xin gửi lời cảm ơn chân thành tới thầy Trần Tuấn Dũng
và cô Trần Thị Dung, giảng viên trực tiếp phụ trách hướng dẫn Khoá luận tốt
nghiệp Thầy và cô đã tận tình hướng dẫn, chỉ bảo với những phân tích định hướng
rõ ràng cho nhóm trong suốt quá trình thực hiện đề tài, là tiền đề để nhóm có thể
hoàn thành dé tài đúng thời hạn Chúng em đã học được nhiều kiến thức bổ ich vàcần thiết, cũng như có cơ hội thực hành và trau doi những kiến thức trên
Cuối cùng, chúng em xin chân thành cảm ơn gia đình, các bậc phụ huynh đã luôn
bên cạnh động viên, giúp đỡ chúng em có thời gian nghiên cứu dé tài và hết lòng
ủng hộ Mặc di đã có gắng hoàn thành đề tài nhưng tất nhiên chúng em vẫn không
thể tránh khỏi một số sai sót Chúng em rất hoan nghênh và xin chân thành cảm ơn
sự đóng góp ý kiến của các thầy cô giáo và bạn đọc để luận văn được hoàn thiện
hơn Chúng em xin chân thành cảm ơn!
TP Hồ Chí Minh, 6 - 2021
Sinh viên Huỳnh Mạnh Hùng
Sinh viên Phạm Thạch Tú
Trang 5MỤC LỤC
Chương 1 MỞ ĐẦU 222222 222222 22221122221112227111 2221112 ce 21.1 Tổng quan đề tài 2 22¿©222+2+2222211222111122221112211112221111 212112 cerrrkeC 21.2 Ly do g0 oi na 2 3
1.3.1 — Đối với người tiêu dùng
1.3.2 Đối với chủ website -22c2222vctECEEkrretrrkrrrerrrrrrerrei 4
1.3.3 Đối với các gian hàng trực tuyến
1.4 Phạm vi của đề tài .-.-: 2222v2v2 22222211112 22221111111 21.11111 E111 ee 5
1.4.1.1 Áp dụng Machine Learning
1.4.1.2 Phạm vi áp dụng St tt SE ng HH Hy 5 1.5 Các website liên quan.
SL Websosanh.Vn ccc cty 5 9.2 _ SOsanhgia.COm - kh HH0 iy 7
.3J.3 TOPRHAAVT SE nc ìằễêễeeeeeeee 8
5.4, 2MOImAT(.VIN S1 E19 TH HH HT HH 9
` -`-Š 0 9.6 GỌmAT{.COM.VH SẶ- St vn re 1
Chuong 2 | MO HÌNH TRÍ TUE NHÂN TAO SỬ DỤNG - 3
2.1 Giới thiỆU - 52-5222 2t 2T H22 22 HH HH re 3
2.2 Mạng no ron hồi quy - Recurrent Neral Network :-sc:ccc5s+ 3
2.3 Mạng LSTÌM Sàn HH HH gi 5
Chương3 PHƯƠNG PHÁP THỰC HIỆN -ccccccccccc+czzzee 8
3.1 Phương pháp thu thập dữ liệu oo ees eeeseeseeeseesesseseeseeeseenesseaseneerenes 8
Trang 63.1.1 Nguồn thu thập dữ liệu .c-¿©2-52cteccvvrrrrrrrrrrrrrrrree 18
3.1.2 Quy trình thu thập dữ liệu
3.2 Phương pháp tối ưu hóa tìm kiếm -2 ++222+z++222vv+z+trvszrerrr 21
3.2.1 Dat vấn đề
3.2.2 Phương pháp xác định mã định danh cho danh mục 23
3.3 Phương pháp áp dụng mạng nơ ron hồi quy vào việc phân loại tên sản phẩm
trong câu tìm kiếm 23
Chuong 4 CÁC CÔNG NGHỆ SỬ DỤNG -2 ©2cccccccccvecrrrrrscee 25
4.1 Front-end
ALA ROact]s ÖŒỒÖỒỒÖẦẦ 25 4.1.1.1 Giới thiệu
4.1.1.2 React] SA, 4E c ước GcIẪU LH HHẤ HH TH ghi 25 4.1.1.3 Các tính năng của React]S eeseeee tees neneseseeeeteseaeseeee 26
4.1.1.4 Điểm mạnh khi sử dụng ReactJs -cccccc222ccvcccrcrrrer 26
4.12 C Tm"ỔÖÔỖỔỐỔc-_D ` .“ 6ô“ ÔÔÔôÔ ố ốố 27
4.1.2.1 Giới thiỆu - St tt nh re 27 21A <- e 27
4.1.2.3 Điểm mạnh khi sử dụng Redux : ©225cc2cvvvcccrcver 28
4.1.2.4 Cấu trúc của R€dux he 28
4.1.3 = 29 4.1.3.1 Giới thiỆu St St ng Hee 29
4.1.3.2 SA§S HH HH HH HT HH HT TH HH ky 29
4.1.3.3 Điểm mạnh khi sử dung Sass - c5 + ssreteeekerree 29
` —
Trang 74.2 Back-end
4.1.4.1 AXỈOS Ăn HH HH HH HT H0 tr rên 30
4.2.1 Django REST FramewOrk 6c Sách ey 31
4.2.1.1 Django Rest Framework
4.2.1.2 Điểm mạnh khi sự dụng Django Rest Framework - 31
Chương 5 | TONG QUAN KIEN TRÚC HỆ THÓNG - 39
5.1 Hệ thống phía máy ht ececcccsssssssssssccessssmeessceccsssnnsesccessnsnneesceessnnneeeeeeeee 39
5.2 Phia Front-end ôn "nắn 40
5.2.1 USE-CASE tìm kiếm sản pham cccccsssssssssssesssssssessssssessessseeeeessees 40
5.2.2 USE-CASE tim kiém theo danh NC 1 4I
5.2.3 USE-CASE sắp XẾp -.ccc 222 viet 42
5.2.4 USE-CASE xem chỉ tiết sản phẩm : 25cc225sccccccvscee 43
5.2.5 USE-CASE mua hàng -¿2+++2ccvvreerrverrrrrrrree 44
Trang 85.2.6 USE-CASE tiếp tục mua hàng ©22-©5+©cx2cxccxssrxesrxee 44
5.3 Phía Back-end «cv TH HH Hư 45
5.3.1 Cơ Sở dữ lIỆU Ă- Ăn SH HH TH HH HH HH Hư 46
` 48
5.4 Dac ta Gia na 49
5.4.1 Giao diện trên Web G c1 HS vn HH vn vn ng ngư 49
5.4.1.1 Giao diện trang CủỦ - c + 1S 2v HS HH TH HH nền 49
5.4.1.2 Giao diện trang sản phẩm theo danh mục -2- 2-5254 52 5.4.1.3 Giao diện trang chi tiết sản phẩm -¿- 5¿©2+2z+zcxz+cxe2 53
5.4.2 Giao diện trên điện thoal - - 2-5 222 + 222 *££++2#+ezeeeezzeeeeesz 55
5.4.2.1 Giao diện trang CHU eee ee eeeeeeseeseeseeeesesecsessesseseeseseeesseeaeeaees 55
5.4.2.2 Giao điện trang danh mục san phẩm - 2 2 25 s+zs+s+ss 61 5.4.2.3 Giao diện trang chỉ tiết sản phẩm -2- 2 5¿©2+22z++cx++cxe2 63
5.4.2.4 Giao diện trang mua hang 55+ + + ssEEeereersserreerres 65
Chương 6 KẾT QUA THU ĐƯỢC ¿2+ E+SE+EE+EE+EE2EEEerEerkerkersrree 66
6.1 Thu thap dit Gu oo 66
6.2 Xây dung Dataset câu tìm kiếm của người dùng - 2 sec: 66
6.3 Phát triển ứng dụng web dé so sánh gid cecececcecessesessessesseseeseeseeseeseseseaees 67
6.4 Xay dung bO phan LOp nG:ầầẳầia 67
6.5 So sánh với các sản phẩm liên quan c ceccecessessecsessesesessessesessesseeseesesseeeeees 69
6.6 So sánh các thuật toán trí tuệ nhân †ạO c5 52 2< + **++2veseeexeesexxse 69
Chương7 KÉT LUẬN VÀ HƯỚNG PHAT TRIEN . : : 70
7.1 KẾT luận St St St E111 11518111151111151111111111111111111111111111111 11111 cxe 70
Trang 97.2 Hướng phát triển
Trang 10DANH MỤC HÌNH
Hình 1.1 SO sánh ÏÁ HH TH HH TH tr 2
Finh 1,5 TOP Qi vi 8n 9 Hình 1.6 2MOMAHVI icecescesccecesccesecesecenecsecesecesecseecsecesesesecseeesecesesnaeseeeseseaeesaeeaees 10 Hình 1.7 SO CVI iessccscccsccsscenessseesscssecseesecsseessesssesseesseessecseeseessecssesseesseesseesaeeaeenseens 11 Hình 1.8 CỌTHGT.COIH.VH SG HH Hy 12
Hình 2.1 Kiến trúc mạng nơ ron hồi Quy sscsssessscssesssesssesssessscssesssesssessssssesssecssecsessves 13
Hình 2.2 Các loại mạng nơ ron hồi Quy ercescesvessessesseessessessvessessessesssssessessesssessessecses 14
Hình 2.3 Tầng CONG VàO -cc+c StEt CT1 1151111111111 1111111111111 16
Hình 2.4 Tang kết hợp 5c 5< 5c CT5 2E E221 1 1121121.11.11E re 16
Hình 2.5 Tang CONG qMÊNH cc- 22-55 SE EEE2EEEEEEE1EE1E112111111111111111 11.1111 xe 16 Hình 2.6 Tang CỔNG T c5 52 SE SE EkEEkEEEEEE121111121111211111111111 1111111 re 17 Hình 3.1 Minh họa truy vấn văn bản html với Xpath -. -:©25c©5+55+©55+2 20
Hình 3.2 Truy vấn sản phẩm khơng cĩ điều kiện danh mục -©5:©5s+ 21
Hình 3.3 Truy vấn cĩ điêu Kien ceccscecccscssessessessessessssssesseesesseesessessesssssesseesesseeesseaees 22 Hình 3.4 Mạng no-ron hồi quy many-to-one trong phân loại sản phẩm 24
Firth 4.9, Python 800088886 ea- 37
Hình 5.1 Kiến trúc máy CNUi cecsecssessscsssesssessesssesssessssssssssesssessssssscssecssessusssecssecssesseseses 39
Trang 11Hình 5.2 USE-CASE tìm kiếm sản pla voscccccccscessessssssessessesssessessessssssessessesssssseeseeses 40
Hình 5.3 USE-CASE tìm kiếm theo danh muc -ccccccccccccccceccrrrrree 41
Hình 5.11 Giao diện trang chủ sản phẩm pho biẾn -2- 2-55 5ce+ce+cccxcsez 50
Hình 5.12 Giao diện trang Chủ ÍOOf€F' cv trkrrrkrisrrrrerrerrerre 51
Hình 5.13 Giao diện trang sản phẩm theo danh Mu - 2-5525 5s cs+£s+cse‡ 52 Hình 5.14 Giao diện trang chỉ tiết sản phẩm -+©s+©cs©c++cx+cxetxesrxesrxez 53 Hình 5.15 Giao diện trang chỉ tiết sản phẩm khám phá thêm -. - 53
Hình 5.16 Giao diện trang mua NANG cà EeEteexeerrsereeereeree 54 Hình 5.17 Giao diện trang chủ Mobile occccccccceccceccecceescesseeseeeseessseseseseesseesesesessseesees 55
Hình 5.18 Giao diện trang chủ mobile top sản phẩm bản chạy - - 56 Hình 5.19 Giao diện trang chủ mobile sản phẩm mới 2 +52 ©se s2 s+cs+cse‡ 57 Hình 5.20 Giao diện trang chủ mobile sản phẩm phổ biến : 2-5:©5+©5++ 58
Hình 5.21 Giao diện trang chủ mobile fOOter ccecceccecssseseseesseseenseseeneeseeseenseeseaes 59 Hình 5.22 Giao diện trang chủ mobile điều NO vecsceccesscsscsscessesseesvessessessessesseeses 60
Hình 5.23 Giao diện trang danh mục sản phẩm Imobile + 5c 5+ s+cs+cs+: 61 Hình 5.24 Giao diện trang danh mục sản phẩm mobile sắp xếp theo giá tién 62 Hình 5.25 Giao diện trang chỉ tiết sản phẩm mobile -: 5:©cs55e+cse+cse2 63 Hình 5.26 Giao diện trang chỉ tiết sản phẩm mobile thêm số lượng sản phẩm 64
Hình 5.27 Giao diện trang mua hàng MODILe «set sekeeeesereessre 65 Hình 6.1 Một số danh mục sản phẩm ¬— 66
Hình 6.2 Dataset dùng cho việc đào tạo mô hình trí tuệ nhân tạo sử dụng 67
Hình 6.3 Kết quả dự đoán danh mục của một sản phẩm ¬— 68
Trang 12Hình 6.4 Label của các sản phẩm điện thoại
Trang 13DANH MỤC BANG
Bảng 3.1 Các website thu thập Att lIỆU Ăn St kSshhhhirirtrirserrsrrreeree 18
Bang 3.2 Cau trúc dataset câu tìm kiếm của người dùng -+ 5c sec: 23 Bảng 5.1 Bảng model sản phiẨM - 55-5256 S£SS£‡E‡EE‡EEEEEEEEEEEEEEEEEEEEEErkerkerkrrkee 46 Bảng 5.2 Bang model danh mục sản PAM - 5-5552 S£+S£+E£+E£EeEEeEEererssreee 47
Bang 6.1 So sánh giữa các thuật toán AI đã đÙng . -ccSs<s+ssexsseexeeees 69
Trang 14DANH MUC TU VIET TAT
Hypertext Markup Language
Cascading Style Sheets
Recurrent Neural Network
Long Short-Term Memory Network
Gross National Product
Gross Domestic Product
Foreign Direct Investment
Application Programming Interface
Document Object Model
Extensible Markup Language
JavaScript Object Notation
Object Oriented Programming
Syntactically Awesome StyleSheets
Search Engine Optimization
Structured Query Language
User Interface
Trang 15TÓM TAT KHÓA LUẬN
Đại dịch COVID-19 đã khiến nhiều hoạt động của con người gần như phải dừng lại.
Tuy nhiên, sự xa rời xã hội và việc thường xuyên ở nhà đã mở ra cơ hội mới cho
các hoạt động trực tuyên phát triển mạnh mẽ Theo kết quả khảo sát do Facebook và Bain & Company phối hợp thực hiện, trong năm 2021, 5 hoạt động trực tuyến mà
người tiêu dùng Việt Nam dành nhiều thời gian nhất là mạng xã hội, nhắn tin, xem
video, thương mại điện tử và gửi Email.
Theo đó, tỷ lệ người dùng Internet tham gia vào mua sắm trực tuyến đã tăng từ 77% vào năm 2019 lên 88% vào năm 2020 (theo Sách trang Thương mại điện tử năm
2021) Trước tình hình dịch bệnh, người dân không được ra ngoài, mua săm trực
tuyến dường như là “cứu cánh” giúp người tiêu dùng tự thỏa mãn nhu cầu của mình Bắt kịp xu hướng đó, hàng loạt nền tảng thương mại điện tử, ứng dụng giao / bán đồ
ăn trực tuyến không ngừng cải tiến và xây dựng các chương trình khuyến mãi dé
thu hút người tiêu dùng.
Mua hàng trực tuyên có ưu diém là bạn sẽ có nhiêu lựa chọn sản phâm với nhiêu
mức giá khác nhau Tuy nhiên, vì sự đa dạng như vậy có thê khiên bạn gặp khó
khăn trong việc lựa chọn sản phâm Ngoài ra, việc nâng giá sản phâm vì lý do đại
dich tạo ra tinh trạng giá ảo, gây ra sự bất 6n trong nền kinh tế.
Trên cơ sở kết quả khảo sát, nhóm chúng em đề xuất thực hiện nghiên cứu “Áp
dụng các thuật toán máy học trong việc so sánh giá các sản phẩm thương mại điện
tử” Nhằm giúp cho người tiêu dùng có nhiều lựa chọn tốt hơn khi mua sắm trực
tuyến Cũng như ngăn chặn tình trạng nâng khống giá trị hàng hóa, giúp các cơ
quan chức năng thuận lợi trong việc tính toán các chỉ số GNP, GDP, FDI - các chỉ
số hàng tiêu dùng Chi tiêu và thu thuế sẽ từ đó được điều chỉnh dựa theo tình hình thị trường làm cho chính sách tài khóa và tiền tệ được áp dụng đúng đăn, giúp tình
hình kinh tê nước ta cai thiện vé nhiêu mặt.
Trang 16nhất So sánh dựa trên những tiêu chí nhất định, cung cấp những thông tin chỉ tiết
nhất về dòng sản phâm mà người dùng đang tìm kiếm So sánh giá cả, cung cấp
thông tin đánh giá giả phẩm, ưu nhược điểm của sản phâm, Qua đó, người dùng
có thê đưa ra những lựa chọn đúng đắn và phù hợp nhất nhằm tiết kiệm thời gian và
công sức trong quá trình tìm kiêm sản phâm.
Trang 171.2 Lý do chọn đề tài
Hình 1.2 Mua hàng online Trang web so sánh giá là công cụ tìm kiếm giúp người tiêu dùng tra cứu sản phẩm
mà họ quan tâm, bao gồm giá từ nhiều cửa hàng khác nhau Tất nhiên, mỗi gian
hàng sẽ có giá bán khác nhau, từ đó người tiêu dùng có thể chọn mua được sản
phẩm từ một gian hàng uy tín với giá bán hợp lý nhất Danh mục sản phẩm trên các trang web so sánh giá phong phú hơn nhiều so với một số cửa hàng trực tuyến thông thường hiện nay Người dùng có thé tìm thấy bat kỳ sản phâm nào thông qua web
so sánh giá cả.
Ngoài thông tin về giá, website so sánh giá còn cung cấp thông tin tính năng sản
phẩm cùng với các bài viết đánh giá, hướng dẫn mua hang cho từng dòng sản phẩm, giúp người dùng đưa ra quyết định đúng đắn khi chọn mua.
Trang 181.3 Mục tiêu của đề tài
1.3.1 Đối với người tiêu dùng
Trang web so sánh giá cho phép người tiêu dùng tìm kiếm sản phẩm mà họ quan
tâm (thông qua thanh tìm kiếm hoặc danh mục sản phẩm) với kết quả là các cửa
hàng trực tuyến bán sản phẩm đó với cùng một mức giá Người tiêu dùng có thé dễ
dàng lựa chọn đơn vị cung cấp với giá cả hợp lý nhất
Danh mục sản pham trên các trang web so sánh giá phong phú hơn nhiều so với các
nhà bán lẻ trực tuyến truyền thống Người dùng có thể sử dụng công cụ này để tìm
kiếm thông tin về hầu hết mọi sản phẩm
Ngoài thông tin về giá cả, trang web so sánh giá cung cấp thông tin về tính năng sảnphẩm, đánh giá dòng sản phẩm và hướng dẫn mua hàng đề giúp người dùng đưa ra
quyết định sáng suốt
1.3.2 Đối với chủ website
Không chỉ người tiêu dùng có thể hưởng lợi từ web so sánh, mà chủ sở hữu trang
web cũng có thể hưởng lợi từ web
Đây là cơ hội cho các chủ sở hữu trang web kiếm tiền thông qua tiếp thị liên kết
Chủ sở hữu trang web là người tiếp thị sản phâm, kết nói với các nhà cung cấp sản
phẩm và giới thiệu chúng đến người tiêu dùng
Va khi khách hàng mua hàng thông qua trang web so sánh của ta, ta có thể kiếm
được phan trăm hoa hồng trên trang thương mại điện tử của minh
1.3.3 Đối với các gian hàng trực tuyến
Web so sánh giá thực sự có nhiều lợi thé, vì tất cả mọi người tham gia sẽ được
hưởng lợi từ nó.
Theo định nghĩa của một trang web so sánh giá, đây là một thị trường tiếp thị và
bán hàng rất tiềm năng Chủ cửa hàng có thẻ liệt kê các sản phẩm của họ
Trang 19Ngoài ra, bán trên các trang web so sánh thậm chí có thể nhanh hơn bán trên các
trang web thông thường Sau đó khách hàng có thể nhanh chóng chọn được địa chỉ
tin cậy giá phù hợp.
1.4 Phạm vi của đề tài
1.4.1.1 Áp dụng Machine Learning
Trí tuệ nhân tạo (Artificial Intelligence) và học máy (Machine Learning) ngày càng
được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau của đời sống Machine
Learning có thể được áp dung trong mua bán online và so sánh giá dé lọc ra các sảnphẩm và tiền hành sắp xếp các sản phẩm theo từng danh mục một cách nhanh chóng
cho người dùng.
Các mô hình mạng nơ ron nhân tạo ngày càng thu hút sự chú ý của các nhà khoa
học và đang được úng dụng trong nhiều nghiên cứu khác nhau vì không yêu cầu
nhiều số liệu đầu vào mà độ chính xác rat cao
1.4.1.2 Pham vi áp dung
Sử dụng cho các website so sánh giá ở Việt Nam.
1.5 Các website liên quan
1.5.1 Websosanh.vn
Websosanh.vn là một trong những đơn vị đi đầu thế giới về web so sánh giá trực
tuyến, cung cấp công cụ so sánh giá hầu hết các sản phẩm của các san thương mai
điện tử lớn và các website bán hàng lớn nhỏ từ công ty đến cá nhân
Nó bao gồm hau hết các danh mục, vì vậy người dùng dé bị choáng ngợp bởi những
lợi ích mà trang web này mang lại Mục thông tin hữu ích có nhiều bài viết về cách
sử dụng và chia sẻ trải nghiệm của khách hàng.
Giao diện người dùng thân thiện và chuyên nghiệp với gam màu đen trắng rõ ràng
Thông tin về nội dung chính xác và người dùng dé dàng tương tác khi sử dung
Trang 20Tại mục Thông tin hữu ích, khách hàng có thé tìm thấy nhiều bài viết liên quan đếnviệc sử dụng sản phẩm sau khi mua hàng và chia sẻ kinh nghiệm hữu ích với khách
hàng.
Vì đây là một trang web sơ khai nên hầu hết tất cả các sản phẩm hoặc dịch vụ kinhdoanh đều có ở đây
Trang web thiếu khách quan Các cửa hàng trên websosanh muốn sản phẩm của
mình xuất hiện trên websosanh thì cần phải trả phí dịch vụ để được lên
Có khá nhiều gian hàng để giá tiền ảo, không rõ ràng Có thể vì lý do trả phí cho các
gian hang trên website mà nhiều gian hàng đã có tình đặt giá ảo đề thu hút khách
hàng Tinh trạng này dẫn đến mắt niềm tin của khách hàng vào thị trường thương
mại điện tử.
Trang 21Cũng chính vì lý do đóng phí gian hàng mà nhiều nhà cung cấp gian hàng có thôngtin không rõ ràng, chưa có tên tuổi trên thị trường nhưng vẫn được websosanh trưng
bày theo kiểu “người bán uy tín”
hig ho, 1 pote 0065 ties | elie)
Hinh 1.3 Websosan.vn
1.5.2 Sosanhgia.com
Sosanhgia.com là trang so sánh giá tự động chia sẻ các mã coupon, đánh giá sản
phẩm trên nền tảng thương mại điện tử lớn và uy tín nhất hiện nay Sosanhgia.com
cũng là trang web xuất hiện trong hầu hết mọi bảng xếp hạng các trang so sánh giátrực tuyến uy tín nhất
Với thiết kế đơn giản, dễ sử dụng và bố cục web đơn giản, công cụ so sánh giá hoạtđộng ổn định và khách quan, đây là địa chỉ mà khách hang có thể yên tâm tiếp cận
Trang 22Nhược điểm của trang web so sánh giá này là số lượng sản phẩm hạn chế nhưng ta
có thể tìm được người bán uy tín chất lượng
t£#l\ Align EM
Hình 1.4 Sosanhgia.com
1.5.3 Topgia.vn
Topgia.vn được biết đến rộng rãi hơn khi dịch bệnh Covid-19 diễn biến phức tạp và
sàng lọc giá theo mong muốn của người dùng
Topgia.vn được đánh giá là khách quan hơn trong việc không thu phí từ các gian
hàng, các sản phẩm tại đây đều được cập nhật giá cả toàn diện và phong phú Giaodiện trang web cũng thân thiện và đủ trực quan dé giúp người dùng tìm kiếm thông
tin dé dang
Giao diện khá thân thiện, được thiết kế thông minh, trực quan và đơn giản với menu
san phẩm rõ ràng giúp người dùng dé dàng tìm kiếm thông tin
Giá cả được cập nhật một cách khách quan, Topgia.vn không thu phí của các gian
hàng nên các bài viết tại đây đều được cập nhật giá đầy đủ và phong phú
Một số gian hàng được Topgia.vn giới thiệu là uy tín đáng tin cậy hơn so với các
nên tang so sánh giá khác như Tiki, Shoppe Vì các trang web niêm yết ở đây đều
uy tín, có chọn lọc, không phải trả tiền mua uy tín như các bên khác
Trang 23Tuy nhiên, trang web so sánh giá này cũng có một số hạn chế, bao gồm như chất
lượng hình ảnh tại một số gian hàng kém, tình trạng sản phẩm khó theo dõi, thôngtin sản phẩm không rõ ràng
tử lớn như Lazada, Tiki, Sendo và Shopee 2Momart.vn còn giúp người dùng tim
kiếm các chương trình bán hàng thật tốt với giá rẻ
Người dùng có thé sử dụng trang web này dé hiểu cách thức hoạt động của các sản
phẩm gia dụng và cách sử dụng mỹ phẩm Trang web cũng nổi tiếng nhờ khả năng
cập nhật xu hướng nhanh chóng.
2momart.vn chủ yếu so sánh giá trên các sàn thương mại điện tử lớn như: Lazada,
Tiki, Sendo, Shopee Sản phẩm không đa dạng khi chỉ hướng đến một bộ phận nhỏ
khách hàng.
Do hiểu được tầm quan trọng của những sản phẩm cần thiết trong cuộc sống, trong
những ngày sale lớn trên các sàn thương mại điện tử, 2momart có cơ hội giúp người
Trang 24dùng tìm được nhiều sản phẩm chính hãng với giá siêu rẻ Có thé kế đến như
11/11, Black Friday, Lễ tình nhân, 20/11, 20/10,
Trên bảng tin thị trường có rất nhiều bài viết và mẹo chọn mua sản pham hữu íchgiúp người mua có thêm thông tin để lựa chọn sản phẩm
Một hạn chế nhỏ của trang web này là sản phẩm chưa đa dạng, chỉ dành cho một bộ
phận nhỏ khách hàng.
1.5.5 Sore.vn
Sore.vn là website so sánh giá sản phẩm thiết bị điện tử, thiết bị văn phòng, nội thất,
đồ gia dụng, thời trang, tại các cửa hàng bán lẻ trên toàn quốc Giao diện người
dùng được thiết kế rất bắt mắt, giúp người dùng dễ dàng tìm kiếm thông tin về nhàcung cấp sản phẩm của mình mọi lúc mọi nơi
Nhiều người bán bao gồm cả nhà bán lẻ trực tuyến và nhà bán lẻ nhỏ tại địa
phương.
Giao diện được thiết kế khá bắt mắt, nỗi bật và tối giúp người dùng dé dang tìm
kiếm thông tin nhà cung cấp sản phẩm theo từng địa bàn
10
Trang 25Hạn chế của website này là bảng giá chưa được đơn giản hóa, rõ ràng, sản phâm
Website golmart.com.vn được cập nhật day đủ thông tin sản phẩm gan như trên
toàn quốc.
Tại đây khách hàng sẽ thấy tất cả các thông tin về giá cả của các mặt hàng điện tử,
điện thoại hay các thiết bị điện tử gia dụng thông minh khác
Moi thông tin trên website này luôn được cập nhật và giúp người dùng có thé so
sánh giá cả một cách tổng thê nhất
Tại golmart.com.vn, khách hàng sẽ được đội ngũ nhân viên tư vấn mua sắm dé mua
được những sản pham ưng ý và phù hợp nhất với minh Do đó, nếu chưa biết mua
gì thì tham gia buổi so sánh giá tại đây là phù hợp nhất dành cho khách hàng
Mã giảm giá: Ở đây có một danh mục riêng về mã thẻ giảm giá chất lượng
11
Trang 26Golmart đó là chưa có bảng so sánh chỉ tiết giá thành sản phẩm cho người mua
hàng.
Hình 1.8 Golmart.com.vn
12
Trang 27Chương 2 MÔ HÌNH TRÍ TUỆ NHÂN TẠO SỬ DỤNG
2.1 Giới thiệu
Thuật toán trí tuệ nhân tạo được sử dùng nhằm mục đích dự đoán sản phẩm mà
khách hàng tìm kiếm thoặc danh mục sản phẩm nào, từ đó đưa ra các phản hồi một
cách nhanh chóng và chính xác.
2.2 Mạng nơ ron hồi quy - Recurrent Neral Network
Mạng nơ-ron hồi quy là một mạng no ron thường được sử dụng trong các bài toán
trí tuệ nhân tạo với các thông tin có thứ tự như văn bản hay trong dự án này chính là
tên sản phẩm
Kiến trúc của mạng nơ-ron hồi quy như sau:
Hình 2.1 Kiến trúc mạng nơ ron hồi quy
13
Trang 28Trong đó:
e xt là vector đại diện cho một từ trong câu (với x ERd).
yt là vector của từ có xác suất là từ tiếp theo cao nhất của từ xt trong tập từ
điển (ye Rd), tính bằng công thức:
yt = softmax (Wyhht)
ht là vector lưu lại trạng thái của hidden layer tại thời điểm t No ron dau
tiên trong trong Hình 3.7 thưc hiện tính toán cho từ thứ dựa vào giá trị của 'Whx tại từ thứ t và Whh của từ thứ t -1:
Many to many Many to many
Hình 2.2 Các loại mang nơ ron hồi quy
Mỗi bài toán trí tuệ nhân tạo khác nhau sử dụng đầu ra yt một cách khác nhau
© One to one: Với mỗi đầu vào cho ra một đầu ra, thường được sử dụng trong
bài toán phân loại ảnh.
14
Trang 29e One to many: Một dau vao sau khi di qua mang sẽ thu được nhiều đầu ra,
ứng dụng trong bài toán tạo bản nhạc, nhận xét ảnh Đầu ra của mạng nơ ron
này là dữ liệu có thứ tự.
© Many to one: Thường thay trong các bài toán phân loại văn bản như đánh giá
mức độ hai lòng Một câu nhận xét của người dùng sẽ được chia thành 5 loại mức độ hài lòng khác nhau từ 1 tới 5 sao.
¢ Many to many: Có hai dạng Tx = Ty và TxTy Dạng Tx = Ty thường thay
trong bài toán nhận dạng tên, với một tên cho trước của một người dự đoán
người đó thuộc quốc gia nào TxTy thường được ứng dung trong dịch máy
Trong dé tài này, việc phân loại sản phẩm giống với phân loại mức độ hài lòng của
khách hàng Do đó, nhóm em sử dụng dạng many to one của thuật toán mạng nơ
ron héi quy
Mang no ron hồi quy rất hữu dụng trong việc phân loại văn ban vì nó lưu lại được
trạng thái của tế bào trước đó Tuy nhiên, sự kết nối này bị phá vỡ khi văn bản đầuvào dai Nghiên cứu của Sepp Hochreiter đã chứng minh van dé này đồng thời giới
thiệu một mô hình mới là mạng Long Short-Term Memory.
2.3 Mạng LSTM
Trạng thái của các tế bào hoạt có dạng như một băng truyền thông tin, thông tin
trạng thái của các nơ ron không bị thay đổi trong quá trình truyền đi Mạng LSTM
có khả năng loại bỏ hoặc thêm các thông tin có giá trị cho từng tế bào trong mạng,
các điều chỉnh này được gọi là cổng (gate)
Cổng của tế bào là nơi sàng lọc thông tin mà nó nhận được Các công được tao
thành bởi một tang Sigmoid và một phép nhân, đầu ra của cổng này là giá trị trong
đoạn [0;1] quyết định lượng thông tin được thông qua
Đầu tiên LSTM quyết định thông tin nào cần được bỏ di thông qua “tang cổng
quên” (forgot gate layer) Đầu vào ht và xt được tiếp nhận, tính toán và trả về kết
15
Trang 30quả trong đoạn [0; 1] Nếu đầu ra là 1 thì toàn bộ thông tin sẽ được giữ lại, thông tin
sẽ bị bỏ đi nếu đầu ra là 0
h fe =o (Wy- [e124] + bự)
Nya
Hinh 2.3 Tang cong vao
Tầng tiếp theo quyết định xem thông tin nào cần được tế bào lưu lại
=ơ(W¡-[h¿Ti,a¿]} + bị)
Ỡ; = tanh(We-[he-1, 24] + bc)
Hinh 2.4 Tang két hop
Tầng cuối cùng dùng dé cập nhật trang thái cho tế bao Trang thái cũ được nhân với
ft để bỏ đi các thông tin không có giá trị Tiếp theo các thông tin cần thiết sẽ được
cộng thêm.
if rộ Œ, = few Catia
Hình 2.5 Tang cong quên
16
Trang 31Tầng cuối cùng quyết định thông tin đầu ra của tế bào là gì Đầu tiên thông tin từ
tầng trước sẽ đưa qua một tầng Sigmoid để quyết định phần nào của trạng thái tế
bao muốn xuất ra Sau đó, nó được di qua một hàm tanh dé giá trị nằm trong khoảng
{1, -1] và nhân nó với đầu ra của công Sigmoid
hy = 0; * tanh (C;)
Hinh 2.6 Tang cong ra
se Y tưởng cốt lõi của LSTM là sang lọc thông tin dé mang no ron hồi quy
không cần phải nhớ quá nhiều các thông tin không cần thiết
17
Trang 32Chương 3 PHƯƠNG PHÁP THỰC HIỆN
3.1 Phương pháp thu thập dữ liệu
3.1.1 Nguồn thu thập dữ liệu
Dữ liệu cần thu thập là đữ liệu về các sản phẩm thương mại điện tử như tên, giá,
đường dẫn tới sản phẩm, đường dẫn tới hình ảnh của sản phẩm Các trang web mà
nhóm nghiên cứu đã thực hiện công việc thu thập dữ liệu trên đó là những trang
web thương mại điện tử hàng đầu Việt Nam, bao gồm:
No Tên Đường dẫn
1 Tiki.vn https://www.tiki.vn
2 | Shopee.vn | https://www.shopee.vn
3 | Lazada.vn | https://www.lazada.vn
4 | Sendo.vn | https:/www.sendo.vn
Bang 3.1 Cac website thu thập dữ liệu
3.1.2 Quy trình thu thập dữ liệu
Selenium là một bộ công cụ nổi tiếng được xây dựng để phục vụ cho mục đích kiểm
thử tự động cho các website.
Để làm được điều đó, đội ngũ phát triển của Selenium tạo ra các webdriver tương
ứng cho từng trình duyệt Một Webdriver là một chương trình cung cấp các API đểngười ding có thé điều khiển trình duyệt
Hiện nay, đa số các trang web thương mại điện tử đều sử dụng phương pháp kết
xuất dit liệu phía Browser của người dùng Trong quá trình sử dụng trang web, mã
lệnh JavaScript có trong văn bản html gửi về cho người dùng thay đổi cấu trúc, nộidụng của trang web đó Ví dụ khi người dùng cuộn nút cuộn chuột thì thông tin về
18
Trang 33sản phẩm được tải thêm về Cộng đồng phát triển các crawler gọi các trang web
dang nay là các dynamic website.
Như vậy, việc thu thập dữ liệu đòi hỏi việc kết xuất đữ liệu, văn bản HTML gửi vềkhi yêu cầu một văn bản html ít khi bao gồm toàn bộ thông tin của một trang sản
phẩm Selenium là công cụ cho phép thực hiện việc kết xuất đữ liệu vì nó cho khả
năng lập trình tự động hóa cho trình duyệt đề hoạt động như một user thông thường
Dữ liệu từ đó sẽ được kết xuất lại bằng trình duyệt do các mã JavaScript được thực
Back-end) Sau này, cộng đồng người dùng mới tạo ra các Plug-in phục vụ cho mục
đích thu thập dữ liệu từ các web động Các Plug-in này cài đặt phức tạp, khó sử
dụng, tính tương thích với Scrapy không cao.
Van bản HTML là một văn bản có cấu trúc, thể hiện thông qua việc sử dụng các thẻđánh dấu văn bản Mỗi thông tin trong văn ban html đều có thể truy vấn được vì
tính cầu trúc của nó, nhờ đó mà các nhà phát triển ứng dụng web có thé trang trí
màu sắc cho các thông tin này bằng Cascading Style Sheet - CSS
Có nhiều cách dé Selenium truy vấn thông tin từ một văn bản HTML, một trong số
đó là sử dung xpath Xpath là một ngôn ngữ biểu thức được tao ra dé truy văn vănban XML - Extensible Markup Language Văn bản HTML có thé xem là một văn
bản XML với các node đặc trưng là “<html>”, “<body>”, Sử dụng Xpath dé
truy xuất dữ liệu từ trang web rất phô biến trong cộng đồng những người phát triển
các ứng dụng thu thập dữ liệu vì tính linh hoạt của nó Xpath còn cung cấp các biểu
thức luận lý dé loc dữ liệu hiệu qua hơn Ngoài Xpath có thể kể đến là CSS selector,
việc chọn thực thé dé bóc tách đữ liệu cũng giống như việc chọn thực thé dé trang
19
Trang 34trí bằng CSS Do đó, đây cũng là một lựa chọn được nhiều người sử dụng vì tính
quen thuộc của họ đối với CSS Selector khi phát triển ứng dụng web
Ỳ
® WW < > % Console HTML ŒSS Sơipt DOM Net Cookies | FrePathv
Top Window + | Highlight || XPath: - | //*{contains(@name,'btn’)]
=
</zbody>
</vable>
2 matching nodes _
Hình 3.1 Minh họa truy van văn bản html với Xpath
Trước khi lưu dữ liệu, dữ liệu lấy được đi qua một bộ lọc dữ liệu để loại bỏ các ký
tự đặc biệt, các icon bằng unicode, tránh tình trạng khó khăn trong việc xây dựngDataset về sau Chưa kể, dữ liệu lấy về có các dau ““**, ví dụ trong từ “Men’s
fashion”, dau “““này cần được mã hóa trước khi đưa vào cơ sở dữ liệu dé tránh lỗi
khi thực hiện câu lệnh insert.
Dữ liệu sau khi được thu thập, sàng lọc sẽ được lưu vào các bảng quan hệ như được trình bày trong chương 4.
20
Trang 353.2 Phương pháp tối ưu hóa tìm kiếm
3.2.1 Đặt vấn đề
Dữ liệu để mang ra so sánh là dữ liệu từ nhiều trang web thương mại điện tử khácnhau và số lượng ước tính có thể lên tới 10-15 triệu sản phâm nếu thu thập đủ từ 4
trang web được liệt kê tại phần 3.2.1, do đó việc tìm kiếm sản phẩm mất cực kỳ
nhiều thời gian Do đó, việc cần làm là thu nhỏ vùng đữ liệu mà việc tìm kiếm diễn
ra.
Thi nghiệm sau thực hiện trên một bộ dữ liệu gồm 200 nghìn sản phẩm của Shopee,sản phẩm được chia nhỏ thành các danh mục gọi là Subcategory được xác định bởi
mã định danh Subcategory Khi tiến hành thực hiện câu truy vấn mà không có điều
kiện mã định danh, cơ sở đữ liệu sẽ tìm kiếm các dòng dữ liệu phù hợp trên toàn bộ
cơ sở đữ liệu.
lØP_ 'postgres/postgres(9idtn v
Data Output Explain Messages Notifications
1 name Price subcategory id, ImageU4 wt
4 PPRineger 7 character # Character varying (32) 4 integer 7 tex character varying (1000)
1 14739 Cảm ứng man i ung i9082 4115000 105 htps:/efshopee rvfie/f2S5304f46f37b5696e47149a46c2734_tn hrps/shopeevi/CSEI%BA*
Query Editor Query History
1 select + from api_rawproduct where name LIKE '%19982%'
Successfully run Total query runtime: 156 msec 1 rows affected
Hình 3.2 Truy vấn san phẩm không có diéu kiện danh mục
21
Trang 36Truy van mat 156 mili giây đề thực hiện xong, đây là thời gian cơ sở dữ liệu cần détrả về kết quả tìm kiếm cho sản phẩm có từ khóa “i9082” trên toàn bộ cơ sở đữ liệu.
Bây giờ, thực hiện truy vấn với câu truy vấn có bao gồm điều kiện về danh mục sảnphẩm với mục đích chia nhỏ vùng tìm kiếm
| ip=gestpedgeegien v
Data Output Explain Messages Notifications
P ame ce subcategor.id image wi
4 IPKlinteger 7 character varying (1000) 7 character varying (32) 7 integer 7 ton 7 character varying (1000)
1 14739 Cảm ứng man hinh Samsung 9082 4115000 105 hfps./efshepe v/flef3S5a04/46f275696e47149846e2734.m —_ hfps/ahopeevn/CSEI%BAXA
Query Editor Quay History
1 select + from api_rawproduct where name LIKE '%19982%' and subcategory id=105
Successfully run Total query runtime: 41 msec 1 rows affected.
Hình 3.3 Truy vấn có điều kiện
Thời gian tìm kiếm được giảm đi đáng kể, chỉ còn khoảng 41 mili giây
Câu truy vấn thêm điều kiện "WHERE category_id= " vào phía bên phải giúp xác
định trước category có sản phẩm cần tìm kiếm Tránh được việc thực hiện full-text
search trên các đoạn văn bản tên khá dài, phát sinh chi phí Đồng thời nếu đã xác
định trước category giúp thu được kết quả tìm kiếm chính xác hơn
Giả sử, khi người dùng muốn tìm sản phẩm "điện thoại samsung" thì trong kết quả
tìm kiếm bằng kỹ thuật full-text search sẽ trả về "điện thoại samsung" và "ốp lưngđiện thoại samsung" "Op lưng điện thoại samsung" là một sản phẩm không mongđợi Trong trường hợp này, nếu chia "ốp điện thoại samsung" và "điện thoại
samsung" nằm trong hai danh mục riêng biệt và biết trước danh mục thì các kết quả
22
Trang 37là ốp điện thoại sẽ không được trả về Điều này đem lại tính chính xác cũng như
tăng tốc độ phản hồi cho người dùng vì lượng dữ liệu không cần thiết bị lược bỏ
3.2.2 Phương pháp xác định mã định danh cho danh mục
Sử dụng mạng nơ ron hôi quy có thé cho biết danh mục của sản phẩm thông qua tên
của chúng Bài toán này tương tự như bài toán phân tích mức độ hài lòng của các
người ding twitter nỗi tiếng
Dataset dùng để đào tạo mô hình học sâu LSTM để dự đoán danh mục cho sản
phâm có câu trúc như sau:
No | tên cột số lượng dữ liệu duy nhất | ví dụ
1 | câu tim kiếm của người dùng | 20000 máy tính bảng samsung tab s7 fe
Ny mã định danh của danh mục | 20 iS
Bảng 3.2 Cau trúc dataset câu tim kiêm của người dùng
Dữ liệu về sản phẩm thu thập được sẽ lấy ra dé xây dựng Dataset gồm các câu tìm
kiếm của người dùng Các thông tin có thể lẫy: tên hãng, tên shop, cửa hàng có
trong tên sản phâm thu thập được
3.3 Phương pháp áp dụng mạng nơ ron hồi quy vào việc phân loại tên sản
phẩm trong câu tim kiếm
Đầu vào của mô hình mạng nơ ron là một vector đại diện cho câu tìm kiếm của
người dùng, đầu ra của mô hình là một mã định danh của một danh mục Do đó,
nhóm nghiên cứu áp dụng mô hình mạng nơ-ron hồi quy dạng many-to-one
Xem xét câu tìm kiếm “máy tính bảng samsung galaxy tab s7 fe” Hình vẽ sau mô
ta khái quát cách làm việc của mô hình nơ-ron hồi quy trong việc phân loại sản
phẩm có trong câu tìm kiếm trên
23
Trang 38Hình 3.4 Mạng nơ-ron hồi quy many-to-one trong phân loại sản phẩm
Trong đó:
Vv 3
e x€R là các vector one-hot, V là kích thước tập từ điển.
h = ø(W”h,_+ wrx)
° với hDh là vector one-hot có đại điện cho một mã
định danh của danh mục.
hh Ps n) PY Ạ £ 3 Lý 5 :
wer we 8" là các ma trận trọng sô, Dh là kích thước của vector đại
diện cho category.
^ D
y = softmax(h,) với y € R '
e
24
Trang 39@ React hos 0 dl
JavaScript
Performance eXtensions (JSX)
Hinh 4.1 ReactJs 4.1.1.1 Giới thiệu
React (còn được gọi là React.js hoặc ReactJS) là một thư viện JavaScript front-end
mã nguồn mở và miễn phí hoạt động dựa trên cơ chế Single Page Application
Trong khi các framework như AngularJs hay VueJs đang đều hướng đến mô hình
MVC (modules — views - controls) hoàn chỉnh thi React nổi bat với sự đơn giản
4.1.1.2 ReactJs
React là một thư viện UI được phát triển bởi bởi Meta (trước đây là Facebook) và
một cộng đồng các nha phát triển cùng với các công ty con React có thể được sửdụng để làm web hoặc mobile Một trong những điểm hấp dẫn của React là thư viện
25
Trang 40này vừa có thê hoạt động trên phía client vừa có thê render trên server có thể tương
tác qua lại với nhau.
4.1.1.3 Các tính năng của ReactJs
© JSX là phần mở rộng cú pháp cho Javascript
Virtual DOM.
Performance tối ưu vì sử dụng Virtual DOM giúp các ứng dụng web chạy
nhanh hơn.
4.1.1.4 Điểm mạnh khi sử dụng ReactJs
Dễ dàng tạo các ứng dụng đông: tạo các ứng dụng web dễ và nhanh vì nó
yêu cầu mã hoá ít và cung cấp nhiều chức năng cho người sử dụng
Cải thiện hiệu năng với Virtual DOM: cho phép người dùng xây dựng các
Virtual DOM Cập nhật liên tục, website ồn định
Dễ dang tạo ra các components dé tái sự dụng (không phải dùng lệnh dé tạo
như Angular).
Thân thiện với SEO.
26