1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng CNN trong bài toán khuyến nghị sản phẩm cho ứng dụng bán hàng điện tử

60 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng CNN Trong Bài Toán Khuyến Nghị Sản Phẩm Cho Ứng Dụng Bán Hàng Điện Tử
Tác giả Nguyễn Quốc Khánh
Người hướng dẫn ThS. Nguyễn Hoàng Anh
Trường học Học viện công nghệ bưu chính viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp đại học
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 60
Dung lượng 13,3 MB

Nội dung

Chính vì vậy mà em muốn lựa chọn đề tài “Ứng dụng CNN trong bài toánkhuyên nghị sản phẩm cho ứng dụng bán hàng điện tử” như một giải pháp dé giúp doanh nghiệp cũng như người tiêu ding có

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

DE TÀI : UNG DUNG CNN TRONG BÀI TOÁN KHUYEN

NGHI SAN PHAM CHO UNG DUNG BAN HANG DIEN TU

Giang viên hướng dẫn : ThS Nguyễn Hoàng Anh

Sinh viên : Nguyễn Quốc Khánh

D17CNPM3

2017 - 2022

Chinh quy

Hà Nội - 2022

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

DE TÀI : UNG DUNG CNN TRONG BÀI TOÁN KHUYEN

NGHI SAN PHAM CHO UNG DUNG BAN HANG DIEN TU

Giảng viên hướng din: ThS Nguyễn Hoang AnhSinh viên : Nguyễn Quốc Khánh

D17CNPM3

2017 - 2022

Chinh quy

Hà Nội — 2022

Trang 3

NHAN XÉT CUA GIẢNG VIÊN HƯỚNG DAN

Điểm: (Bằng chữ: )

Hà Nội, ngày thang nam 20

Giang viên hướng dẫn

Trang 4

NHẬN XÉT CỦA GIẢNG VIÊN PHÁN BIỆN

Điểm: (Bằng chữ: )

Hà Nội, ngày tháng nam 20

Giảng viên phản biện

Trang 5

Đồ án tốt nghiệp đại học

LỜI MỞ ĐẦU

Trong thời gian ở nhà giãn cách chống dịch bệnh SARS-CoV-2, bản thân em vànhững người xung quanh có thói quen mua sắm qua mạng nhiều hơn Hiện nay cáctrang thương mại điện tử như Shopee, Lazada, Amazon, đang bán rất nhiều mặt

hàng với mẫu mã đa dạng Với một người dùng phổ thông dé có thé chọn được sảnphẩm hợp với nhu cầu bản thân sẽ cần mắt rất nhiều thời gian tìm kiếm Đồng thờivới các doanh nghiệp, người bán hàng vừa và nhỏ, sản phẩm họ cung cấp sẽ cần chỉ

phí marketing lớn đến dé dàng tiếp cận đến người dùng

Chính vì vậy mà em muốn lựa chọn đề tài “Ứng dụng CNN trong bài toánkhuyên nghị sản phẩm cho ứng dụng bán hàng điện tử” như một giải pháp dé giúp

doanh nghiệp cũng như người tiêu ding có một trải nghiệm tốt hon trong quá trình

mua sắm trực tuyến.

Đồ án này gồm có 3 phần: Mở đầu, Nội dung và Kết luận Phần nội dung baogồm các chương:

CHUONG 1: Giới thiệu và tong quan đề tai

CHƯƠNG 2: Giải quyết vấn đề

CHUONG 3: Phân tích và thiết kế hệ thong

CHƯƠNG 4: Cài đặt và triển khai hệ thống

Nguyễn Quốc Khánh - DI7CNPM3 i

Trang 6

Đồ án tốt nghiệp đại học

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn khoa Công nghệ thông tin 1, Học viện

Công nghệ Bưu chính Viễn Thông đã tạo điều kiện thuận lợi cho em học tập và thựchiện đề tài tốt nghiệp này

Em xin bày tỏ lòng biết ơn sâu sắc tới thầy Nguyễn Hoàng Anh đã tận tình địnhhướng, hướng dẫn, hỗ trợ chúng em trong quá trình thực hiện đề tài Chúng em xinchân thành cảm ơn thay cô trong khoa Công nghệ thông tin, khoa Cơ bản đã tận tinhgiảng dạy, trang bị cho em những kiến thức quý báu trong những năm vừa qua

Cuối cùng, em xin cảm ơn gia đình, bạn bé và những người bên cạnh, luôn quan

tâm và động viên, giúp em có thê hoàn thành đồ án tốt nhất

Mặc dù đã có gắng hoàn thành khóa luận trong phạm vi va khả năng cho phép

nhưng cũng không thê tránh khỏi những thiếu sót Em rất mong nhận được sự thông

cảm, góp ý cũng như nhận xét của quý thây cô và các bạn.

Trang 7

Đồ án tốt nghiệp đại học

MỤC LỤC

LOI CAM 0907 444A H i

0909009 iii

DANH MUC HINH, BANG c1 Ả ố Ẽ V

DANH MỤC TU VIET TẮTT ¿5< +s+S+E+E£EEEEEEEEEEEEEEEEEEEEE111121111111111111111 111111 vii

CHƯƠNG 1: GIỚI THIỆU VÀ TONG QUAN DE TÀI 2-52 +++k££E++EzEEerEezrxrres 1 1.1 Thuc trang vấn AG occ cceccccscsececsecsesecsucsesecsusecsucasucsucassucaesacsucarsucatsacsueaesussesessusatsusansasaneaene 1 1.2 Nền tảng phát triỂn - ¿2-52 22EEEE9E1EE11211211711211111711211 111111111111 111 cre 1

2.5 Thuật toán K- Láng Giéng (K- Nearest Neighbor) c.ccccscssssssessesssessesssessessesssessecsseeses 23 CHƯƠNG 3: PHAN TÍCH VÀ THIET KE HỆ THONG - 2:22 ©+z25+z>5++¿ 25 3.1 Phân tích hệ thong - 2-2 2 2 £2E£2EE+E£+E£EE£EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE1E 1.1 xe 25

3.1.1 M6 hinh ca st dung oo 25

3.1.2 Use case dang nap 25

3.1.3 Use case đăng KY - LH HH TT HH nọ TH HT Hà HT ch HH rệt 26

3.1.4 Use case xem danh sách sản phẩm -¿- 22 £++++E+++Ex++Ex++Ex++rxezrxrzrxrrred 28 3.1.5 Use case xem chỉ tiết sản phẩm 2-2 ©5£2S£+SE£EE2EEEEEEEEEEEEEEEEEEerkrrkrrrrrred 28 3.1.6 Use case thêm sản phâm vào giỏ hàng 2- 22 52©7S¿22++2Ex2Exrtzxrzrxrrrxrrred 29

3.1.7 Use case mua hàng - . - - 6 c1 x1 9T TH TH TH ng 30

3.2 Thiết kế hệ thốngg ¿- 2 2 2 £+EE2EE2E£EEEEEEEEEEEEEEEEEEEEEEEEEEE1111111111111 1.1 xe 32 3.2.1 Thành phần hệ thống: - 2: ¿ 2 E£+E£+EE+EE2EE£EEEEEEEEEEEEEEEEEEEEEEEEEEEEErrkrrrrrrei 32 3.2.2 Biểu G6 lớp + ©5c+2< 2k2 2210711 211271211211111211.11111111 1111111111111 33 k0: 0 (01900007 -‹Ả 33 3.3 Chức năng khuyến nghị sản phẩm ¿ £©E£+E£EE£EE£EE£EEEEEEEEEEEEEEEEEEEEEEErEerrerree 34

3.3.1 Chuẩn bi dữ liệu huấn luyện CNN ¿- 2-52 E+2E22EEEEEEEEEEEEEEEEEEEEerkrrrrrrei 34 3.3.2 Huan luyện model phân loại ¿- ¿2£ + +E£+E£+EE£EEE2EE£EEEEEEEEEEEEEESEkrrkerrrrred 34

3.3.3 Chuẩn bi dit liệu cho KÌNN 5c SE EEEEEEEEEEEE1E11211211211211211211 11.111 ctk 35 3.3.4 40,0 g ẽ o Ả ÔỎ 35 CHƯƠNG 4: CÀI ĐẶT, TRIEN KHHAI 2¿-©2¿25¿22++2EE+2EE2EESEEtEEErrEkerrrerkrerrree 37 Nguyễn Quốc Khánh - DI7CNPM3 1H

Trang 8

Đồ án tốt nghiệp đại học

4.1 Cal đặt SCTV€T - Q0 011g ng ng TH vờ 37 4.1.1 DDOCK€T G9 TH TH HH TH HT TH HH TT HH 37

9P 37

ch in 38

cố n 38

4.2 0 089 n6 38

4.2.1 Kiến trúc ứng dụng - +: SxEE9 E9 1E 12E12112112112112111111 211111111111 1e re 38 4.3 GilaO đIỆN Án TH HH HT TH TH TT HH TH HT TH TH HT Tà Hà rung 39 4.3.1 Giao dién trang CHU % - 39

4.3.2 Giao diện chi tiết sản pham cccccecceccessesssessesssessecssessessesssessesssessessscssessessesssesseesseess 40 4.3.3 Giao (000: LììtttNaaaial¡13134 4I SN AC si 200i án 43

4.3.5 Giao dién 2Š ễ 45

CS NO vn 8i na 46

KET LUẬN - - 2-5252 E121121121121111111111.11E1111 11111111 11111111.11.11.111.1111 11a 47 1 Kết quả đạt được -cc cc+ck2t2 1 212111211 211211 2111112111211 111.11 re 47 2 Hạn chế St E111 1111111111111 1111 111111111111 1111111111 11.111 11ETxce 47 3 Hướng phát triỂn -:-©2¿©2<+Sk2EEEEEEEE21127121127171121171111211 1121.111 crrrre 47 IV.108)200957.)084 01 48

Danh sách website tham khảO - - 5 + + 1123191 91 91 90111 ng HT HH ng ng 48

Nguyễn Quốc Khánh - DI7CNPM3 iv

Trang 9

Đồ án tốt nghiệp đại học

DANH MỤC HÌNH, BẢNG

Hình 1.1 Tỷ lệ người dùng Internet mua sắm online - 2-2 2 s+£+£E££E££EzE+eExzxesrxrres 1 Hình 1.2 Bảng xếp hạng số lượng người sử dụng smartphone -2- 2 2 22 s+£z+£zzse2 2 Hình 1.3 Thống kê thiết bị dùng để mua sắm online : 2 2 ©5£+£+x+£x++E++rxzxezrxeres 2 Hình 1.4 So sánh ưu nhược điểm của app Native và Hybrid -2¿©+©5++cs+ecscze: 3 Hình 1.5 Thống kê thị phần smartphone tháng 6/2020 2:22 ©+2©+22++2++£x++zx++zs+zzz 3 Hình 2.1 Hệ thống khuyến nghị bằng thừa số ma trận . 2-2-5 x££x++£++£xzxezrxrez 6

Ipiii8292)/L51-i1oiiy;18i00ề 0 7

Hình 2.4 Cấu trúc một neural nhân tạO ¿se E+E£+E£+E£*E£EEEEEEEEEEEEEEEEEEEEEEEEE1211211 1 1e 8

Hinh 2.5 Ham 0512i 00 e 9 Hinh 2.6 M6 hinh neural network 000.8 9

Hình 2.7 Mơ hình neural network với 2-3-3-1 (input layer cĩ 2 node, hidden layer 1 cĩ 3 node, hidden layer 2 cĩ 3 node, output layer cĩ 1 IO(Ả€) + +- + +++ + + + ++sEEseeseeerrseersee 10 Hình 2.8 Quá trình feedfOTWard - - c5 11 11111121111931 11931111 11118 1111011118 1118011 1g vu 11 Hình 2.9 Vi dụ ham loss funnCfiOf -. 5G c2 1222132311131 E551131181 1181111111111 1101118151015 ke 11 Hình 2.10 Quá trình backprODag8tIOII ĩc c3 19119211191 91191 9 1 91 1 ng ng rệp 11

Hình 2.11 Kiến trúc co bản của một mang neural tích chập s55 ++*+sexsserses 13

Hình 2.12 Vector, Matrix và T€TSOT - << 11 116861818 E935 1kg 1 tk errre 14 Hình 2.13 Bộ lọc kích thước 3XxỔ - «+ k1 21191 91 121v ng TH TH ng rệp 14

Hình 2.14 Tích chập một ảnh 5x5x1 với một bộ lọc 3x3xI để cĩ một hình ảnh chập 3x3xI 15

Hinh 2.15 Stride = 2, Padding 0 15 Hình 2.16 Stride = 1, Padding = 1 (Padding = Same) 00 cece eceseeeeeeceeseeeeeeeeeeeeseeeeeeeeneeaees 16 Hình 2.17 Phép tinh convolution trên ảnh màu với K=3 - 55+ + £+e£+skxserseeeeeeseres 16 Hình 2.18 Thực hiện phép tính convolution trên ảnh màu .- 55 55553 s*++s++*e++sxss+2 17

Hình 2.19 Ví đụ về Pooling layer ccsccsssessesssessessssssessesssecsesssessecsucssessecsusssessessusssecsussseesecseseses 18

Hình 2.20 Fully connected ÏaW€TS cee 2 22121 211312311 1 111 11T HH TH HH nà 19 Hình 2.21 Grdient Descenct 5 5E 3 1 9301123011930 9301191119111 1 HT nà 20 Hình 2.22 Hiện tượng Vanishing radI€ni( ĩc c2 3311831119 113113118 11111811 ke rkp 20 Hình 2.23 Mơ hình mạng XC€pfIOII - - G6121 189182119119 1 91 511911 1 1v vn ng nh n nư 21 Hình 2.24 Block Depthwise Separable ConVỌUION s5 x3 31139 111v net 22 Hình 2.25 Block R€S1đUaÌ 5 %1 1111930 93 10191019010 Họ HH ng nệp 22

Hình 2.26 Bản đồ của INN .¿ccc222 HH HH ae 24

Nguyễn Quốc Khánh - DI7CNPM3 V

Trang 10

Đồ án tốt nghiệp đại học

Hình 3.2 Biểu đồ tuần tự chức năng đăng nhập 2-2 5£ 2+EE£EEE2EEEEEEEEEEEerkerrrerxee 26 Hình 3.3 Biểu đồ tuần tự chức năng đăng ký ¿- 2¿©+¿22++2EE+2EE2ExtEEErEExrrrrerrrerrree 27 Hình 3.4 Biểu đồ tuần tự chức năng xem danh sách sản phẩm :- ¿©2552 28 Hình 3.5 Biéu đồ tuần tự chức năng chỉ tiết sản phẩm - 2-2 5252 Ee£EzEEeEEzresrxee 29 Hình 3.6 Biểu đồ tuần tự chức năng thêm sản phẩm vào giỏ hàng 2-2 252555: 30 Hình 3.7 Biểu đồ tuần tự chức năng mua hang 22- 22 5222S22E22E+2EE2EE2zxerzzsrseee 31

Hình 3.8 Sơ đồ kết nối hệ thống 2-2: ©©£ EEE££EE£EESEEEEEEEEEE2112E17122111171171111 21 xe 32

Hình 3.9 Biểu đồ lớp thực thé của hệ thống 2-2 2 2 ©E£2E£2EE£EE£2EE£EEEEEEEEerErrrrsrxee 33 Hình 3.10 Biểu đồ CSDL 5-2222: v2 tt triệu 33 Hình 3.11 Biểu đồ độ chính xác trong quá trình huấn luyện -¿- ¿s2 ©++s++:s+¿ 34 Hình 3.12 Biều đồ mat mát trong quá trình huấn luyện 2-2 2 ++z£+£++£xzxz+rxeẻ 35 Hình 4.1 Cau hình CSDL trong DjangO +- 2 SE ©E+SE+EE+EE£EESEE2EE2EE2EE2E22E22E22E22E tri 37

000i À6 leo) (0vi s0 8n i 39

Hình 4.3 Giao điện chỉ tiết sản phảm 2-5252 SESEEEEEEEEEE2E12E12112111171121111 21 xe 40 Hình 4.4 Giao điện giỏ hàng khi trống 2-2 £ £SE++E£+EE£EE£2EE2EEEEEEEEEEEEEEEEEEEEEErrrrrrree 41 Hình 4.5 Giao điện giỏ hàng khi người dùng chọn sản phẩm - ¿©2552 5+25s+c5+2 42

Hình 4.6 Giao diện thông tin tài khoản khi chưa đăng nhập(trái) và đã đăng nhap(phai) 43 Hình 4.7 Giao diện trang đăng nhậẬp - G5 2 191911911 vn ng rệt 44 Hình 4.8 Giao diện đăng ký và chọn ngày sinh - c3 3 3331111311511 rrkrer 45 Hình 4.9 Giao diện đặt hằng - c1 1211211191119 111 111 111 11 1 T1 nh HH Hy 46

Bảng 3.1 Kịch bản ca sử dụng đăng nhập - - - - c1 23119112 119 119 111 1 1 ng ng rệt 26 Bảng 3.2 Kịch bản ca sử dụng đăng ký - G1 t1 HS TH nh ng ng nếp 27

Bảng 3.3 Kịch bản ca sử dung xem danh sách sản phẩm -2- 2 2 + ©5++£++£xzxz+cxez 28 Bảng 3.4 Kịch bản ca sử dụng xem chỉ tiết sản phẩm 22- ¿252 ©2+2+2+v2z+vtzzsrseee 29 Bang 3.5 Kịch ban ca sử dụng thêm sản phẩm vào giỏ hàng - 2-2 2 225z2£2xc2xze: 30

Bang 3.6 Kịch bản ca sử dụng đặt hàng - - 5 SG SH HH TH ng ng cư 31

Bảng 4.1 Cấu hình server cc.ccccccssssssessessessesssessessssssessusssessessusssecsusssessecsusssessessuessecsusssetsecaeeeees 37

Bang 4.2 Phân loại method API va view của DRF 0 cescseceeseeseeseeeeeeceeceeaeeeceeseeseereeeeeeeeaees 38

Bang 4.3 Cấu hình thiết bị kiếm thử Android o c.ccccceccececssessessessessessessessessessesseseseseseesesees 38

Nguyễn Quốc Khánh - DI7CNPM3 vi

Trang 11

Đồ án tốt nghiệp đại học

DANH MỤC TỪ VIET TAT

1 CNN Convolution Neural Mang than kinh tich chap

9 Django Rest Framework

Trang 12

Đồ án tốt nghiệp đại học Chương 1 Giới thiệu và tông quan đề tài

CHUONG 1: GIỚI THIỆU VA TONG QUAN DE TÀI

Ở phan mở dau em sẽ di tìm hiểu về hiện trang của ngành thương mai điện tửtại Việt Nam và sự cần thiết của hệ khuyến nghị trong các nền tảng bán hàng

trực tuyến.

1.1 Thực trạng vấn đề

Thương mại điện tử Việt Nam đã có những bước tăng trưởng phát triển mạnh

mẽ, đóng vai trò quan trọng thúc đây phát triển kinh tế cũng như tương lai của nềnkinh tế số Đặc biệt trong đại dịch COVID-19 hiện nay, thương mại điện tử đã tiếp

tục bùng nỗ và tạo ra những xu hướng tiêu dùng mới Kê từ khi dich bùng phát, nhucầu mua sắm qua các sàn thương mại điện tử đã tăng mạnh Đến nay đã có hơn 70%

dân số VN tiếp cận Internet, trong đó có gần 90% người dùng đã mua sam online,

53% người dân đã sử dụng ví điện tử và thanh toán mua hàng qua mạng.

Ô.:

Tỷ lé người dung tham gia mua

Hình 1.1 Tỷ lệ người dùng Internet mua sắm online

Các hệ thống thương mại điện tử thường có số lượng sản phẩm rat lớn Nếu déngười dùng tự tìm kiếm các sản phẩm phù hợp với bản thân sẽ khiến cho họ gặp

khó khăn và có thé sẽ chọn mua ở các nơi khác Vì vậy các sàn TMĐT cần tích hợp

các hệ thống khuyến nghị vừa dé hỗ trợ người dùng tìm ra các sản phẩm phù hop,

vừa giúp tăng trưởng doanh thu.

1.2 Nền tảng phát triển

Các ứng dụng thương mại điện tử thường được lập trình trên 2 nền tảng chính làWeb và Mobile App Tính đến hết tháng 5/2021, Việt Nam có khoảng hơn 61,37triệu người, tương đương tỷ lệ 64% dân số đang sở hữu smartphone và nằm trong

Nguyễn Quốc Khánh — DI7CNPM3 1

Trang 13

Đồ án tốt nghiệp đại học Chương 1 Giới thiệu và tông quan đề tài

top 10 quốc gia có nhiều người dùng smartphone nhất, theo Statista Từ những lý dotrên em quyết định xây dựng ứng dụng bán hàng điện tử trên Mobile với tên PStore

Thiết bị di động Máy tinh để ban/

máy tinh xách tay

Hình 1.3 Thống kê thiết bị dùng để mua sắm online

Trong lập trình mobile app có 2 kiểu: Native(ứng dụng gốc) và Hybrid(ứng

dụng lai) Các ứng dụng hybrid có ưu điểm là tiết kiệm công sức khi chỉ cần lập

trình một lần là có thể cung cấp cho cả 2 hệ điều hành lớn nhất hiện tại - iOS vàAndroid Nhưng đánh đổi lại thì hiệu năng của các ứng dụng này thường không cao.Với Native app là các ứng dụng được phát triển riêng cho từng hệ điều hành với các

ngôn ngữ và công nghệ khác nhau Việc phải duy trì 2 codebase sẽ khiến chi phíphát triển và bảo trì cao hơn, song người dùng sẽ được sử dụng các ứng dụng tối ưucho hệ điều hành họ đang dùng, đồng thời tận dụng được các ưu điểm của từng nên

Nguyễn Quốc Khánh - DI7CNPM3 2

Trang 14

Đồ án tốt nghiệp đại học Chương 1 Giới thiệu và tong quan dé tai

tang Với mục tiêu tập trung cung cấp trải nghiệm tốt nhất cho người sử dung, emquyết định sẽ phát triển PStore là một Native app

s easy maintenance customer experience

fast delivery comprehension

e bounded efficiency time and money

Cons © dependent on Internet consuming

connection distributed codebase

Hình 1.4 So sánh uu nhược điểm của app Native va Hybrid

Theo số liệu năm 2020, hệ điều hành Android chiếm hon 60% thi phan

smartphone tại Việt Nam Cùng với đó việc lập trình ứng dụng trên Android cũng

không bị giới hạn về công cụ và môi trường Nếu muốn lập trình ứng dụng trên iOS,

ta sẽ cần làm trên hệ điều hành Mac OS hoặc Hackintosh - phiên bản chỉnh sửa củaMacOS để có thé chạy trên các PC không phải của Apple Dé có thé sử dụngMacOS ta sẽ phải sở hữu máy Mac với giá trị không hề thấp Còn với Hackintoshcũng kén phần cứng và có nhiều lỗi Vậy nên em sẽ phát triển ứng dụng trên hệ điều

Trang 15

Đồ án tốt nghiệp đại học Chương 1 Giới thiệu và tông quan đề tài

1.3 Mục tiêu

Sau khi hoàn thành đề tài nghiên cứu, em muốn xây dựng được một hệ thống bánhàng điện tử có tích hợp chức năng khuyến nghị sản phẩm

Người dùng sử dụng hệ thống có thé lướt xem sản phẩm, thêm sản phẩm vào giỏ

hàng và đặt hàng Trong quá trình xem các mặt hàng, khách hàng có thể xem và tiếpcận với nhiều sản phầm tương tự với các sản phẩm đã xem trước đó nhờ tính năngkhuyến nghị Người bán hàng cung cấp nhiều mặt hàng khi sử dụng hệ thống sẽ dễdàng giới thiệu các sản phẩm gần với nhu cầu của khách hàng mà không tốn chi phí

quảng cáo, marketing hay khảo sát thị trường.

Tính năng khuyến nghị sẽ xuất hiện trong nhiều màn hình: màn hình trang chủ, mànhình chỉ tiết sản phẩm, màn hình sau khi đặt hàng thành công

Thông qua việc khảo sát ở trên, em đã trình bày những lợi ích mà hệ khuyến nghị

mang lại cho các sàn thương mại điện tử và lựa chọn xây dựng một ứng dụng Android

để mô tả một hệ thống bán hàng điện tử có ứng dụng hệ khuyến nghị

Nguyễn Quốc Khánh — DI7CNPM3 4

Trang 16

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

CHUONG 2: GIẢI QUYẾT VAN DE

Dé có thé xây dựng được hệ khuyến nghị tích hợp vào ứng dụng bán hang diện

tử, em cần tìm hiểu về hệ khuyến nghị và các phương pháp học máy như CNN

và K-NN.

2.1 Hệ khuyến nghị

Hệ khuyến nghị, hay Recommender System là các công cụ va kỹ thuật phầnmềm cung cấp các dé xuất về các hạng mục/nội dung đề xuất cho người dùng Các

đề xuất liên quan đến các quá trình ra quyết định khác nhau tại những thời điểm bat

kỳ cho người dùng, ví dụ như mua hàng hóa nào, nghe nhạc gì hoặc đọc tin tức gì.

Rất nhiều công ty và dịch vụ đã sử dụng hệ khuyến nghị dé nang cao trải nghiệm

người dung va tăng doanh thu như Amazon, Facebook, Shopee, Netflix, Spotify,

Lý do cần có hệ thống khuyến nghị là bởi số lượng sản pham/dich vụ/nội dung

được cung cấp trực tuyến quá nhiều và người dùng khó tìm được thứ mình cần Khi

người dùng vào website cung cấp sản phẩm, hệ thống khuyến nghị sẽ trả về một

danh sách ngắn các sản phẩm mà người dùng nhiều khả năng sẽ chọn, có thé baogồm cả những thứ mà người đó không biết từ trước Như vậy, hệ thống khuyến nghịgiúp tiết kiệm thời gian, tăng tốc độ tìm kiếm và giúp người dùng truy cập tới nội

dung họ quan tâm một cách dễ dàng hơn, đồng thời, gợi ý tới người dùng những đề

xuất mới mà trước đây họ chưa từng biết đến Với khả năng của hệ thống khuyếnnghị, các doanh nghiệp sử dụng chúng để giới thiệu sản phẩm tới người tiêu dùng,giúp gia tăng doanh số nhờ các ưu đãi, sản phẩm, dịch vụ được khuyến nghị mộtcách cá nhân hóa, làm nâng cao trải nghiệm khách hàng Điều này cải thiện lợi thếcạnh tranh của doanh nghiệp và giảm thiểu tỷ lệ khách hàng rời bỏ và đến với đốithủ cạnh tranh khi họ nhận thấy doanh nghiệp hiểu nhu cầu của họ và cung cấp cho

họ những thứ họ muốn

Hệ thống khuyến nghị là thành phần không thể thiếu của các nền tảng trựctuyến cung cấp đa dạng các loại hình dịch vụ, từ các website thương mại điện tử tới

nền tang dao tạo trực tuyến Theo McKinsey, 35% doanh thu của Amazon được tạo

ra từ các tương tác với hệ thống khuyến nghị của hãng này Một thống kê khác cũng

cho thấy 75% thời lượng xem phim trên Netflix được thực hiện nhờ các khuyến

nghị được cá nhân hoá.

Nguyễn Quốc Khánh — DI7CNPM3 5

Trang 17

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Đa số hệ thống khuyến nghị hiện nay cho phép cá nhân hoá khuyến nghị tới

người dùng, tức là giới thiệu những dịch vụ, sản phẩm chỉ có một nhóm người

thích, bên cạnh các sản phẩm đại chúng Việc cá nhân hoá khuyến nghị đòi hỏi cácthuật toán khuyến nghị hoàn thiện hơn Ví dụ, thuật toán thế hệ đầu tìm kiếm những

người dùng có lịch sử mua sắm tương tự như người dùng mà hệ thống đang cần đưa

ra khuyến nghị (mua những sản phẩm tương tự trong quá khứ), sau đó giới thiệucho người dùng này những sản phẩm mà những người kia mới mua

Các thuật toán thế hệ tiếp theo ngày càng hoàn thiện và cho kết quả tốt hơn.Một phương pháp thường được nhắc đến là thừa số hoá ma trận Theo phương phápnay, mỗi người dùng sẽ được biểu diễn đưới dạng một vector các con số, trong đómỗi phan tử của vector thé hiện mức độ người đó liên quan tới một số sở thích nào

đó Chang hạn, trong trường hợp khuyến nghị sản phẩm, một người dùng có thé

biểu diễn bằng vector (công nghé/0.8, mỹ phâm/0.1, quần áo/0.2) thể hiện đó là

người thích sản phẩm công nghệ và không thích mỹ phẩm hay quan áo lắm Tương

tự, một sản pham có thé được biểu dién dưới dạng (công nghệ/0.9, mỹ pham/0.3,quan áo/0.0) Người dùng sẽ được khuyến nghị những sản phẩm có vector biểu diễntương tự vector của mình Các vector này được tính từ lịch sử xem sản phẩm vàmua hàng của người dùng nhờ một thuật toán riêng Trên thực tế, các vector biểudiễn thường có vài trăm phan tử và các phan tử không có ý nghĩa rõ rang như trong

Hình 2.1 Hệ thong khuyến nghị bằng thừa số ma trận

Các hệ thống khuyến nghị hiện nay thường sử dụng mạng nơ ron nhân tạonhiều lớp và kỹ thuật học sâu dé xây dựng biểu diễn người dùng và sản phẩm Học

Nguyễn Quốc Khánh — DI7CNPM3 6

Trang 18

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

sâu cho thấy những tiến bộ đầy hứa hẹn trong những năm gan đây trong việc cung

cấp các khuyến nghị được cá nhân hóa Hệ thống dạng này cho phép học các quan

hệ phức tạp giữa người dùng, sản phẩm và tích hợp thêm các thông tin khác nhưngữ cảnh diễn ra tương tác giữa người dùng với sản phẩm, hay tích hợp thêm cácthông tin mô tả sản phẩm Điều này thực hiện được bởi học sâu có khả năng tìm

hiểu các đại diện phân tán trong các thuộc tính của người dùng và của mặt hàngtrong không gian vecto day đặc chiều thấp và kết hợp chúng dé giới thiệu các mặt

hàng phù hợp cho người dùng Với những lợi ích mang lại, các dịch vụ trực tuyến

nồi tiếng nhất hiện nay như Youtube, Netflix, Spotify, Pinterest, Amazon déu da

chuyên sang hệ thống khuyến nghị sử dung các kỹ thuật học sâu

NOU OBL p

©0000006080 |.

Hình 2.2 Mang neural học sâu

Qua khảo sát về các phương pháp khuyến nghị, em đã chọn phương pháp sửdụng mạng nẻual nhân tạo, cụ thể là phân loại sản phẩm băng CNN và tìm kiếm các

sản phâm tương ứng bằng thuật toán K-NN

2.2 Mạng neural nhân tạo (Neural Network)

Mang neural nhân tạo (Neural Network - NN) là một mô hình lập trình mô

phỏng cách thức hoạt động của mạng neural thần kinh Nó được cấu thành bởi các

neural đơn lẻ được gọi là các perceptron.

Nguyễn Quốc Khánh — DI7CNPM3 7

Trang 19

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Perceptron

Bias by

Activation function

X2 o—>(

Summing junction

Input signals

Synaptic weights

Hình 2.4 Cầu trúc một neural nhân tạo

Một perceptron sẽ nhận một hoặc nhiều đầu vào x (thể hiện bằng các node) vàcho ra một kết quả dạng nhị phân Các đầu vào được điều phối tầm ảnh hưởng bởicác tham số trọng lượng tương ứng w của nó, còn kết quả đầu ra được quyết địnhdựa vào một ngưỡng ở quyết định nào đó:

Với dau ra là dang nhị phan, ta rat khó có thé điều chỉnh một lượng nhỏ đầu vào

dé đầu ra thay đổi chút ít, nên dé linh động ta mở rộng đầu ra thành khoảng [0, 1]

Lúc này đầu ra được quyết định bởi một hàm ø(wTz) có giá trị trong khoảng [0, 1]

gọi là hàm kích hoạt (activation function) Vi dụ hàm kích hoạt sigmoid:

Nguyễn Quốc Khánh — DI7CNPM3 8

Trang 20

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Hinh 2.5 Ham sigmoid

Ngoài ham sigmoid ra con có các ham kích hoạt khác như ReLU, softmax,

Multi-layer perceptron (mạng neural nhân tạo)

Khi kết hợp các tang perceptron ta có một mạng neural tổng quát gồm 3

layer:

e Input layer: nhiều node ở input tạo thành một lớp đầu vào của mạng.

e Hidden layer: các layer trung gian thé hiện cho việc suy luận logic của

hidden layer

Hình 2.6 Mô hình neural network

Nguyễn Quốc Khánh — DI7CNPM3 9

Trang 21

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Mỗi mô hình luôn có 1 input layer, 1 output layer, có thé có hoặc không các

hidden layer Tống số layer trong mô hình được quy ước là số layer — 1 (Không tinh

input layer).

Mỗi node trong hidden layer va output layer :

e Liên kết với tat cả các node ở layer trước đó với các hệ số w riêng.

© Mỗi node có | hệ số bias b riêng

e Diễn ra 2 bước: tinh tng linear và áp dụng activation function.

Quá trình suy luận từ lớp đầu vào tới lớp đầu ra của mạng neural là quá trình

lan truyền tiến (feedforward), tức là đầu vào của các neural tại một tầng là lay két

qua từ neural tầng trước đó mà không có quá trình suy luận ngược lại

Feedforward

Hình 2.7 Mô hình neural network với 2-3-3-1 (input layer có 2 node, hidden layer 1 có 3

node, hidden layer 2 có 3 node, output layer có I node)

Goi input layer là a = x, (ở hình vé dưới day thia® = {x;,x;}), thực hiệntinh za đầu ra của input layer, dau vào của hidden layer 1:

Nguyễn Quốc Khánh — DI7CNPM3 10

Trang 22

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Hinh 2.9 Vi du ham loss function

Vi vay ta cần di tìm hệ số W và b Dé làm được điều đó ta sử dụng thuật toángradient descent (thuật toán tìm giá trị nhỏ nhất của hàm số f(x) dựa trên đạo hàm)

Ở đây ta cần tính đạo hàm của các hệ số W và b đối với ham Joss function Sau khi

Trang 23

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Quá trình này được gọi là backpropagation (lan truyền ngược)

Như vậy, mạng neural nhân tạo là một mô hình được tạo nên từ một lượng

lớn các phần tử (neural) kết nối với nhau thông qua các liên kết (trọng số liên kết)làm việc như một thé thống nhất để giải quyết một van dé cụ thé (phân loại dữ liệu,nhận dạng mẫu, ) thông qua một quá trình học từ tập các mẫu huấn luyện Về bảnchất học ở đây chính là quá trình hiệu chỉnh trọng số liên kết giữa các neural

Với công việc phân loại ảnh, đặc biệt là với các ảnh có kích thước, độ phân

giải lớn, các mạng neural truyền thống sẽ gặp khó khăn khi có quá nhiều trọng số

Dé giải quyết van đề đó, em đã chọn sử dụng mang neural tích chập — CNN

2.3 Mang neural tích chap (Convolution Neural Network)

Phân loại anh là một bai toán quan trọng bậc nhất trong lĩnh vực “Thị giácmáy tính” (Computer Vision) Tuy nhiên các kiến trúc mạng neural truyền thống có

xu hướng kém hiệu quả khi kích thước ảnh đầu vào của mạng trở nên lớn hơn Với

ảnh có kích thước là 32*32*3 (cao 32 pixel, rộng 32 pixel, có 3 kênh mau) thi với

mạng neural truyền thống lớp neural ân đầu tiên sẽ có 32*32*3 = 3072 trọng số Sốlượng trọng số nay thì vẫn có thé “kiểm soát” được nhưng khi anh đầu vào có kíchthước 200*200*3 thì số lượng trọng số lên tới 120.000 trọng số tại lớp đầu tiên,cộng thêm các trọng số qua các lớp hidden layers thì số lượng trọng số của mạng sẽtăng cực kì nhanh Điều này làm cho mang neural truyền thống (dạng fully-

connected) dé bị overfitting (quá khít với dir liệu dùng dé huấn luyện nhưng hoạt

động kém với tập dữ liệu đánh giá, kiểm tra) và tiêu tốn nhiều tài nguyên tính toán

Convolution Neural Network (mang neural tích chập) hiện nay đang là giải

pháp tốt nhất dé giải quyết bài toán đó Bởi trong ảnh các pixel ở cạnh nhau thường

có liên kết với nhau hơn là những pixel ở xa, vì vậy áp dụng phép tính convolutionvào layer trong neural network ta có thể giải quyết được vấn đề lượng lớn parameter

mà vẫn lay ra được các đặc trưng của ảnh

Mạng neural tích chập bao gồm tập hợp các lớp chính cơ bản là: lớp tích

chập (Convolution layer), lớp lay mau (Pooling layer) và lớp kết nỗi đầy đủ (Fully

connected layer).

Nguyễn Quốc Khánh — DI7CNPM3 12

Trang 24

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

fc_3 fc_4

Fully-Connected Fully-Connected

Neural Network Neural Network

Conv_1 Conv_2 ReLU activation

Convolution Convolution L n_—

(5 x 5] kernel (5 x 5] kernel 8 : Max-Pooling : : Max-Poolin, (with

valid padding (2x2) valid padding (2x2) dropout)

INPUT n1 channels n1 channels n2 channels n2 channels : @& 9

(28 x28 x 1) (24x24 x n1) (12 x 12 x n1) (8x 8xn2) (4x4xn2) q | OUTPUT

n3 units

Hình 2.11 Kiến trúc cơ bản của một mang neural tích chập

Kiên trúc cơ bản của mạng neural tích chập

lên nhau Mỗi chiều ứng với một ma trận có kích thước H * W Chiều thứ nhất

chứa tat cả các sô năm trên tensor mà có toa độ (i, 7, 0)

Nguyễn Quốc Khánh — DI7CNPM3 13

Trang 25

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Scalar Vector Matrix Tensor

12 1 2||13 2

2 3 4 17ll54

Hinh 2.12 Vector, Matrix va Tensor

Một anh RGB voi H hang va W cột là một tensor với chiều H * W x3.Mỗi chiều là một ma trận H *W Trong CNN, anh dau vao duoc biéu dién

dưới dang tensor Các tang trung gian giữa các lớp tích chập cũng vậy 2 lớp

tích chập nhận đầu vào là 1 tensor và sau khi đưa qua mạng ta cũng sẽ nhận lại

được một tensor.

** Convolution layer

Day là lớp đầu tiên và cũng là lớp quan trọng nhất của mạng Lớp này có

chức năng chính là phát hiện các đặc trưng có tính không gian một cách hiệu

quả Các đặc trưng này có thể là các đặc trưng đơn giản như đặc trưng về góc,cạnh, màu sắc hoặc là các đặc trưng trừu tượng, phức tạp hơn Các đặc trưngnày sẽ giúp cho mô hình phân loại được dữ liệu đầu vào tốt hơn so với các

phương pháp trích chọn đặc trưng khác (LBP, HoG, ).

Đề thực hiện tinh convolution, ta dùng một 5ô loc (kernel/filter - ma trậnvuông kích thước k*k, trong đó k là s6 lẻ, giá tri của k thường là 1, 3, 5, 7, 9, )

10 1 W= 0 1 0

L 1 0 1j

Hình 2.13 Bộ lọc kích thước 3x3

Với mỗi phần tử trong ma trận điểm ảnh lây ra một ma trận có kíchthước băng kích thước của bộ lọc W có trung tâm bộ lọc trùng với phần tử đó

(đây là vì sao kích thước của kernel thường lẻ) gọi là ma trận A Sau đó tính

Nguyễn Quốc Khánh — DI7CNPM3 14

Trang 26

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

tông các phân tử của phép tính nhân chập cua ma tran A và ma tran W, roi việt

vào ma trận kêt quả Y.

Convolved | Convolved

Feature mage Feature

Hình 2.14 Tích chập một anh 5x5x1 với một bộ lọc 3x3x1 để có một hình anh chập 3x3x1

Bộ lọc di chuyên từ phải sang trái, từ trên xuống dưới lần lượt cho đếnkhi toàn bộ hình ảnh được duyệt qua Khoảng cách mà bộ lọc di chuyển từ điểm

ảnh này tới điểm anh sau đó gọi là Stride (bước nhảy) Khi Stride = 1 thì chúng

ta sẽ di chuyển các bộ lọc 1 pixel mỗi lần Khi Stride = 2 thì chúng ta di chuyểncác bộ lọc 2 pixel cùng một lúc và cứ thế di chuyền bộ lọc với Stride tương

ứng.

Lựa chon Stride càng lớn thì chiều của kết quả tích chập càng giảm.Padding là việc thêm các giá trị ở xung quanh biên ảnh ban đầu Padding = 1

tức là thêm 1 6 bọc xung quanh các cạnh của input, điều này đảm bảo phép tích

chập được thực hiện đủ trên toàn ảnh.

Trang 27

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Filter Padding = Same

A 9pIHS

Hinh 2.16 Stride = 1, Padding = I (Padding = Same)

Trong trường hop đầu vào là anh màu có 3 kênh mau RGB ta biểu diễn

ảnh dưới dạng fensor 3 chiều (Số thực là đữ liệu 0D, vector 1D, ma trận 2D còn

đữ liệu từ 3D trở di được gọi là tensor) nên bộ lọc cũng là một tensor 3 chiều

Hinh 2.17 Phép tinh convolution trén anh mau voi k=3

Nguyễn Quốc Khánh — DI7CNPM3 l6

Trang 28

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Pooling layer thường được dùng giữa các convolutional layer, dé giảm

kích thước dt liệu nhưng vẫn giữ được các thuộc tính quan trọng Kích thước

dữ liệu giảm giúp giảm việc tính toán trong model.

Có 2 loại Pooling layer phô bién là: Max pooling và Average pooling

Phép gdp cực đại (Max pooling) tra về giá tri lớn nhất từ phan hình ảnh đượcbao phủ bởi bộ lọc Trong khi đó, phép gộp trung bình (Average pooling) trả vềgiá trị trung bình của tất cả các giá trị từ phần hình ảnh được bao phủ bởi bộ

lọc.

Phép gộp cực đại cũng hoạt động như một công cụ khử nhiễu Nó loại bỏ

các nguồn nhiễu và thực hiện khử nhiễu song song với giảm kích thước Mặt

khác, phép gộp trung bình chỉ đơn giản thực hiện giảm kích thước như một cơ

chế khử nhiễu Do đó, chúng ta có thể nói rằng phép gộp cực đại hoạt động tốthơn rất nhiều so với phép gộp trung bình

Nguyễn Quốc Khánh — DI7CNPM3 17

Trang 29

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

“* Fully connected layer

Sau khi anh được truyền qua nhiều convolutional layer va pooling layer

thì model đã học được tương đôi các đặc diém cua ảnh (vi dụ mắt, mũi, khuôn

mặt, ) thì tensor của output của layer cuối cùng, kích thước H*W*D, sẽ được

chuyên về | vector kích thước (H*W*D)

Trang 30

Đồ án tốt nghiệp đại học Chương 2 Giải quyết vấn đề

Hình 2.20 Fully connected layers

Sau đó sử dung mang neural kết nối đầy du (Fully connected layer) dé học các

tổ hop phi tuyến của các đặc trưng trích xuất từ kết qua ma trận tích chập đầu

ra, từ đó ra được output của model.

Output Volume Output Volume

trình huấn luyện Qua một loạt lần lặp, mô hình có thể phân biệt giữa các đặc trưng cốt

lõi và các đặc trưng không quan trọng trong hình anh va phân loại chúng bang hàm

kích hoạt (activation function).

2.4 Vanishing Gradient

Hiện nay các kiến trúc CNN phổ biến đều sử dụng rất nhiều lớp tích chập: 16(13 layers), Resnet-50(152 layers), InceptionV1(22 layers), Thế nhưng việc sửdụng nhiều lớp tích chập như vậy có thé gây ra hiện tượng Vanishing Gradient Trướchết thì Backpropagation Algorithm là một kỹ thuật thường được sử dụng trong quátrình training Ý tưởng chung của thuật toán lá sẽ đi từ output layer đến input layer và

VGG-tính toán gradient cua cost function tương ứng cho từng parameter (weight) của mạng.

Gradient Descent sau đó được sử dụng dé cập nhật các parameter đó

Nguyễn Quốc Khánh — DI7CNPM3 19

Ngày đăng: 08/03/2024, 13:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w