vii TÓM TẮT Trong bài báo cáo này sinh viên phát triển một website e commerce có những chức năng cơ bản nhất trong việc ứng dụng thực tế, cũng như ứng dụng các công nghệ học máy và học
Trang 1S K L 0 0 9 6 6 8
Tp.Hồ Chí Minh, tháng 12/2022
GVHD: ThS LÊ MINH SVTH: TRẦN HỒNG PHƯƠNG
ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT MÁY TÍNH
THIẾT KẾ WEBSITE THƯƠNG MẠI ĐIỆN TỬ ỨNG DỤNG RECOMMENDER SYSTEM
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
MSSV: 18119108
THIẾT KẾ WEBSITE THƯƠNG MẠI ĐIỆN
TỬ ỨNG DỤNG RECOMMENDER SYSTEM
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
THIẾT KẾ WEBSITE THƯƠNG MẠI ĐIỆN
Trang 4TP Hồ Chí Minh, ngày 20 tháng 12 năm 2022
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: ThS Lê Minh
1 Tên đề tài: Thiết kế Website thương mại điện tử ứng dụng recommender
system
2 Các số liệu, tài liệu ban đầu:
3 Nội dung thực hiện:
- Các công nghệ sử dụng:
Front-End: HTML, CSS, Bootstrap
Back-End: Django
Database: SQLite
- Nghiên cứu, thiết kế website dựa trên các công nghệ trên với các chức
năng như quản lý sản phẩm, danh mục, đơn hàng, ( cho người quản trị
), xem sản phẩm, xem đơn hàng, thêm vào giỏ hàng, đăng ký, đăng nhập
tài khoản, ( cho người mua hàng )
- Nghiên cứu và xây dựng mô hình recommender system để ứng dụng vào
website
4 Sản phẩm: website thương mại điện tử kinh doanh quần áo có ứng dụng
recommender system
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc ***
Trang 5TP Hồ Chí Minh, ngày 25 tháng 12 năm 2022
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên: Trần Hồng Phương MSSV: 18119108
Ngành: Công nghệ kỹ thuật máy tính
Tên đề tài: Thiết kế Website thương mại điện tử ứng dụng recommender system
Họ và tên Giáo viên hướng dẫn: ThS Lê Minh
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
Thiết kế một website bán hàng trực tuyến
Trang 6TP Hồ Chí Minh, ngày 20 tháng 12 năm 2022
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Ngành: Công nghệ kỹ thuật máy tính
Tên đề tài: Thiết kế Website thương mại điện tử ứng dụng recommender
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
GIẢNG VIÊN PHẢN BIỆN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc ***
Trang 7v
LỜI CẢM ƠN
Buổi hôm nào thuở mới vào trường, sinh viên thực hiện còn là một tân sinh viên vầy mà giờ đây đã được thực hiện đề tài tốt nghiệp ngày hôm nay Đó chính là nhờ công lao chỉ bảo, giảng dạy tận tình của các thầy cô mái trường Đại học Sư Phạm kỹ Thuật thành phố Hồ Chí Minh Chính vì lẽ đó, sinh viên muốn gửi lời cảm ơn tới những thầy cô đã quan tâm, chăm sóc sinh viên trong những ngày còn theo học dưới mái trường mến yêu Đặc biệt là thầy Th.S Lê Minh, người đã đồng hành cùng sinh viên suốt chặn đường thực hiện đề tài cùng những điều giúp đỡ chỉ bảo tận tình, chân quý
Đồng thời sinh viên muốn gửi lời cảm ơn tới gia đình, bạn bè cùng tập thể lớp 18119CLA, các thành viên Khoa CLC đã giúp đỡ, động viên sinh viên những lúc khó khăn để hoàn thành đề tài một cách tốt nhất
Trang 8
vi
LỜI CAM ĐOAN
Sinh viên thực hiện cam đoan đề tài “Thiết kế website thương mại điện tử ứng dụng recommender system” là đề tài nghiên cứu của sinh viên dưới sự hướng dẫn của thầy ThS.Lê Minh Kết quả công bố trong đề tài là trung thực và không sao chép từ bất kỳ đề tài nào khác
Tp.HCM, ngày 20 tháng 12 năm 2022
SV thực hiện đồ án (Ký và ghi rõ họ tên)
Trần Hồng Phương
Trang 9
vii
TÓM TẮT
Trong bài báo cáo này sinh viên phát triển một website e commerce có những chức năng cơ bản nhất trong việc ứng dụng thực tế, cũng như ứng dụng các công nghệ học máy và học sâu nhằm mục đích nghiên cứu, phát triển, đáp ứng một cách đầy đủ nhu cầu khách hàng đang ngày càng một tăng cao, như là:
Về phía user:
Đăng ký tài khoản
Đăng nhập
Xem chi tiết sản phẩm
Thêm sản phẩm vào giỏ hàng
Mua hàng, thông báo đặt hàng
Quản lý thông tin tài khoản
Trang 10viii
Mục lục
DANH MỤC HÌNH X
DANH MỤC BẢNG XII
CHƯƠNG 1 GIỚI THIỆU 1
1.1 GIỚI THIỆU 1
1.2 MỤC TIÊU ĐỀ TÀI 1
1.3 GIỚIHẠNĐỀTÀI 2
1.4 PHƯƠNGPHÁPNGHIÊNCỨU 2
1.5 ĐỐITƯỢNGVÀPHẠMVINGHIÊNCỨU 3
1.6 BỐCỤCQUYỂNBÁOCÁO 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 WEBSITE E COMMERCE 4
2.1.1 Giới thiệu 4
2.1.2 Giới thiệu Framework Django 4
2.2 RECOMMENDER SYSTEM 4
2.2.1 Giới thiệu 4
2.2.2 Image Similarity 6
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEBSITE 10
3.1 PHÂN TÍCH YÊU CẦU ĐỀ TÀI 10
3.2 LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 13
3.3 ĐẶC TẢ CHI TIẾT USECASE 14
3.3.1 Chức năng đăng ký 14
3.3.2 Chức năng đăng nhập 14
3.3.3 Chức năng xem danh mục sản phẩm 15
3.3.4 Chức năng tìm kiếm sản phẩm 16
3.3.5 Chức năng xem chi tiết sản phẩm 16
Trang 11ix
3.3.6 Chức năng thêm sản phẩm vào giỏ hàng 17
3.3.7 Chức năng xem giỏ hàng 17
3.3.8 Chức năng đặt mua sản phẩm 18
3.3.9 Chức năng đánh giá sản phẩm 19
3.3.10 Chức năng gợi ý sản phẩm tượng tự 19
3.3.11 Chức năng quản lý danh mục 20
3.3.12 Chức năng quản lý sản phẩm 21
3.3.13 Chức năng quản lý tài khoản 21
3.3.14 Chức năng quản lý đơn hàng 22
CHƯƠNG 4 KẾT QUẢ 24
4.1 CHỨC NĂNG CHO NGƯỜI QUẢN TRỊ 24
4.1.1 Giao diện cho người quản trị 24
4.1.2 Kiểm thử chức năng cho người quản trị 32
4.2 CHỨC NĂNG CHO NGƯỜI MUA HÀNG 34
4.2.1 Giao diện cho người mua hàng 34
4.2.2 Kiểm thử chức năng cho người mua hàng 40
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 45
5.1 KẾTLUẬN 45
5.2 HƯỚNGPHÁTTRIỂN 45
TÀI LIỆU THAM KHẢO 47
Trang 12x
DANH MỤC HÌNH
Hình 2.2.1 Mô hình ResNet [4] 7
Hình 2.2.2 Công thức tính góc của hai vector 8
Hình 3.1.1 Mô hình usecase chức năng tổng quát của website 12
Hình 3.2.1 Lược đồ cơ sở dữ liệu 13
Hình 3.3.1 Usecase chức năng đăng ký 14
Hình 3.3.2 Usecase chức năng đănh nhập 15
Hình 3.3.3 Usecase chức năng xem danh mục sản phẩm 15
Hình 3.3.4 usecase chức năng tìm kiếm sản phẩm 16
Hình 3.3.5 Usecase chức năng xem chi tiết sản phẩm 17
Hình 3.3.6 Usecase chức năng thêm sản phẩm vào giò hàng 17
Hình 3.3.7 Usecase chức năng xem giỏ hàng 18
Hình 3.3.8 Usecase chức năng đặt mua sản phẩm 18
Hình 3.3.9 Usecase chức năng đánh giá sản phẩm 19
Hình 3.3.10 Usecase chức năng gợi ý sản phẩm tương tự 19
Hình 3.3.11 Usecase chức năng quản lý danh mục 20
Hình 3.3.12 Usecase chức năng quán lý sản phẩm 21
Hình 3.3.13 Usecase chức năng quản lý tài khoản 22
Hình 3.3.14 Usecase chức năng quản lý đơn hàng 23
Hình 4.1.1 Đăng nhập cho người quản trị 24
Hình 4.1.2 Trang chủ cho người quan trị 25
Hình 4.1.3 Danh sách tài khoản 25
Hình 4.1.4 Thêm mới tài khoản 26
Hình 4.1.5 Chỉnh sửa tài khoản 26
Hình 4.1.6 Danh sách sản phẩm 27
Hình 4.1.7 Thêm mới sản phẩm 27
Hình 4.1.8 Chỉnh sửa sản phẩm 28
Hình 4.1.9 Danh sách đơn hàng 28
Hình 4.1.10 Thêm mới đơn hàng 29
Hình 4.1.11 Chỉnh sửa đơn hàng 29
Trang 13xi
Hình 4.1.12 Thông tin đánh giá phản hồi 30
Hình 4.1.13 Sản phẩm trong đơn hàng 30
Hình 4.1.14 Chỉnh sửa danh mục 31
Hình 4.1.15 Danh sách danh mục 31
Hình 4.1.16 Thêm mới danh mục 32
Hình 4.2.1 Đăng nhập người mua 34
Hình 4.2.2 Trang chủ 35
Hình 4.2.3 Cửa hàng 35
Hình 4.2.4 Chi tiết sản phẩm 36
Hình 4.2.5 Gợi ý các sản phẩm tương tự 36
Hình 4.2.6 Đánh giá và phản hồi 37
Hình 4.2.7 Giỏ hàng 37
Hình 4.2.8 Thanh toán 38
Hình 4.2.9 Thanh toán thành công 38
Hình 4.2.10 Thông tin khách hàng 39
Hình 4.2.11 Đăng ký 39
Hình 4.2.12 Chỉnh sửa thông tin cá nhân 40
Trang 14xii
Bảng 3.1.1 Bảng chức năng bên phía người mua hàng 10
Bảng 3.1.2 Bảng chức năng bên phía người quản trị 11
Bảng 4.1.1 Bảng kiểm thử chức năng cho người quản trị 32
Bảng 4.2.1 Bảng kiểm thử chức năng người mua hàng 40
Trang 15xiii
Trang 161
CHƯƠNG 1 GIỚI THIỆU
1.1 GIỚI THIỆU
Vào giữa những năm 90, Internet dần được phổ cập, thế nhưng thương mại điện tử đã bắt đầu lan rộng ở những nước lớn vào năm 2000 Nhiều doanh nghiệp lớn đã bắt đầu tiếp xúc với thương mại điện tử và người dùng cũng dần quen việc
sử dụng các dịch vụ trực tuyến và dịch vụ thanh toán điện tử Ngày nay, Thương mại điện tử đã gần như có mặt ở hầu hết các nghành bởi có nhiều lợi thế Nó giúp tiết kiệm chi phí và tăng doanh thu, nâng cấp lĩnh vực phân phối và dịch vụ Do
đó, nó là ngày càng quan trọng để phát triển và ứng dụng Đồng thời, việc khai thác lãnh vực học máy hay học sâu vào thương mại điện tử đang có những bước tiến mới
Với bài báo cáo này, sinh viên thực hiện mong muốn có thể thết kế được một website thương mại điện tử các chức năng đăng ký, đăng nhập, hiển thị danh sách sản phẩm, xem chi tiết sản phẩm, tìm kiếm sản phẩm xác nhận thanh toán
và đồng thời ứng dụng kỹ thuật image similarity cho việc gợi ý sản phẩm để có thể ứng dụng thực tế cho một shop bán quần áo thực sự một cách thực tiễn nhất
1.2 MỤC TIÊU ĐỀ TÀI
Đề tài “THIẾT KẾ WEBSITE THƯƠNG MẠI ĐIỆN TỬ ỨNG DỤNG RECOMMENDER SYSTEM” có mục tiêu là thiết kế một website bán hàng với các đặc điểm như sau:
Sử dụng công nghệ, kỹ thuật, thư viện ứng dụng và phát triển website cùng với kỹ thuật Image Similarity, nhằm phát triển hệ thống gợi ý các sản phẩm tương tự cho người mua hàng
Người quản trị có thể:
- Quản lý các đơn hàng,
- Quản lý các sản phẩm ,
Trang 172
- Quản lý tài khoản,
- Quản lý danh mục,
- Quan lý thông tin các sản phẩm trong đơn hàng,
- Quản lý việc đánh giá hay phản hồi
Người mua hàng có thể :
- Đăng ký, đăng nhập bằng tài khoản trên website,
- Xem chi tiết sản phẩm,
- Được gợi ý các sản phẩm tương tự với sản phẩm đang xem,
- Xem xét, lựa chọn sản phẩm có trong danh sách sản phấm,
- Được đánh giá, phản hồi, bình luận về sản phẩm,
- Xem xét, lựa chọn sản phẩm có trong giỏ hàng,
- Xác nhận thanh toán bằng tiền mặt
1.3 GIỚI HẠN ĐỀ TÀI
Cơ sở dữ liệu của đề tài mang tính đơn giản, không phức tạp, vì là một bài báo cáo
Website không thực hiện việc deploy lên bất kỳ một web hosting nào
Website không có chức năng liên kết với các tài khoản mạng xã hội khác như Google, Facebook,
Đề tài không có hệ thống chức năng liên kết với hệ thống ngân hàng hoặc các tài khoản thanh toán online để thực hiện thanh toán qua tài khoản ngân hàng hoặc thanh toán online giống như các website đang hiện hữu
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
Để hoàn tất đề tài, sinh viên thực hiện đã nghiên cứu theo những phương pháp sau:
Sinh viên đã tổng hợp, tìm kiếm, nghiên cứu tài liệu liên quan đến công nghệ đang sử dụng trong việc phát triển website Nghiên cứu các tài liệu về các giải thuật recommender system trong việc đưa vào ứng dụng thực tế ờ nhiều nguồn
Trang 183
Học hỏi, tham khảo ý kiến của giảng viên hướng dẫn, các giảng viên chuyên môn, cá nhân có kinh nghiệm về vấn đề của đề tài, cũng như các vấn
đề vướng mắc của đề tài để hoàn thiện đề tài một cách chính xác
1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
Đối tượng nghiên cứu của đề tài gồm hai đối tượng chính Một là, công nghệ
và kiến thức về việc quản lý, xử lý, phát triển một website Hai là, tìm hiểu, nghiên cứu, phát triển một hệ thống recommender system mang tính ứng dụng trong thực tế
Phạm vi thực hiện được đặt ở mức độ tổng quát, cơ bản, nắm vững các kiến thức chung của đề tài và ứng dụng vào sản phẩm thực tế, không đặt nặng lý thuyết Tham khảo ý kiến của giảng viên hướng dẫn, cá nhân, bạn bè xung quanh, những người có kinh nghiệm về các vấn đề của đề tài để tạo ra độ chính xác của sản phẩm
1.6 BỐ CỤC QUYỂN BÁO CÁO
Nội dung chính của đề tài được trình bày với 5 chương:
- Chương 1 GIỚI THIỆU
- Chương 2 CƠ SỞ LÝ THUYẾT
- Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEBSITE
- Chương 4 KẾT QUẢ
- Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trang 19sự tăng trưởng kinh tế vượt bậc trên toàn cầu và Việt Nam Với việc, Internet đã gần như là thiết yếu, nhiều công ty mới với nhiều mô hình kinh doanh trực tuyến được ra đời, việc ứng dụng các kỹ thuật máy học hay học sâu cũng đang góp phần thúc đẩy lãnh vực này ngày một lớn mạnh
2.1.2 Giới thiệu Framework Django
Django là thư viện lập trình website viết bằng Python nhằm cung cấp các tính năng phát triển nhanh, an toàn, dễ bảo trì Django giải quyết các rắc rối của quá trình phát triển web, giúp người dùng dễ dàng xây dựng ứng dụng mà không cần phải xây dựng mọi thứ từ đầu Nó là nguồn mở, một cộng đồng lớn và tích cực, tài liệu tuyệt vời và nhiều tùy chọn hỗ trợ miễn phí và trả phí Dự án Django vốn được nhen nhóm khoảng từ năm 2003 Sau khi thiết kế một số website, nhóm phát triển django sử dụng, tích hợp nhiều mẫu mã thiết kế phổ biến và phát triển thành dự án django mà ta hay dùng ngày nay vào tháng 7 năm 2005
2.2 RECOMMENDER SYSTEM
2.2.1 Giới thiệu
Việc ứng dụng recommender system vào ecommerce đang ngày càng quan trọng trong thế giới kỹ thuật số hiện nay Có thể nói, việc tận dụng được
Trang 205
recommender system hay hệ thống gợi ý sản phẩm một cách tối ưu nhất không những giúp ta đạt được nhiều mục đích trong việc kinh doanh ( buôn bán sản phẩm dễ dàng hơn, quảng bá sản phẩm một cách tối đa, tiết kiệm chi phí quảng cáo, ), mà còn giúp cuộc sống của người dùng hằng ngày dễ dàng hơn( dễ dàng chọn lựa sản phẩm cần thiết hơn, nhiều sự lựa chọn tạo ra sự tối ưu cho giá thành phải bỏ ra cho các sản phẩm, tiết kiệm thời gian, công sức, chi phí, ) Qua đó, ta có thể thấy rõ, tầm quan trọng mà công nghệ hay thứ hệ thống gợi
ý hay recommender system này mang lại Việc tận dụng nó và kết hợp với các ý tưởng kinh doanh nhất là trong các website thương mại điện tử đã và đang và sẽ luôn là những sự lựa chọn hoàn hảo cho quá trình khởi nghiệp hay kinh doanh sản phẩm
Về vấn đề học thuật, một recommender system hay hệ thống gợi ý sẽ có 3 kiểu hệ thống, trong đó có 2 loại hệ thống thường xuyên được sử dụng, đó là:
Collaborative filtering Recommenders: là một hệ thống gợi ý dựa vào khả năng tập hợp của một nhóm kiến thức, trải nghiẹm của người dùng đưa ra khuyến nghị Nó được thành lập trên quan điểm rằng trí tuệ tập thể của một cộng đồng về người dùng mạnh hơn bất kỳ cá nhân nào Các trí tuệ tập thể của một cộng đồng
có thể được khai thác để đưa ra khuyến nghị tốt hơn bất kỳ cá nhân nào Hệ thống dựa trên trí tuệ kết hợp của cộng đồng để tạo ra các đề xuất Hệ thống có thể khai thác sự đóng góp khi nó biết rằng những người khác cũng đóng góp
Content-based Recommenders: là một hệ thống được sử dụng để đề xuất
sản phẩm cho khách hàng theo sự giống nhau của mặt hàng Nó thường được sử dụng trong các hệ thống gợi ý để tìm các mặt hàng tương tự với những mặt hàng
mà người dùng đã bày tỏ quan tâm Nội dung được sử dụng để xác định sự giống nhau của các mục có thể là bất cứ thứ gì từ văn bản đến hình ảnh đến xếp hạng của sản phẩm Mục tiêu của người dùng với hệ thống dựa trên các đề xuất sàng lọc nội dung cho sản phẩm ương tự như những gì các sản phẩm đã thể hiện quan
tâm đến
Hybrid Recommenders: Là phương pháp được kết hợp giữa hai hệ thống
Collaborative filtering Recommenders và Content-based Recommenders Rất
Trang 216
nhiều công ty lớn, nhất là các công ty về thương mại điện tử đã và đang sử dụng
hệ thống gợi ý kết hợp loại này cho phép dễ dàng tìm kiếm đối tượng, phát triển sản phẩm, phát triển hướng kinh doanh, quảng bá sản phẩm một cách tối ưu hơn
2.2.2 Image Similarity
Image similarity là một kỹ thuật trong phân nhóm nghiên cứu Vision Computer, kỹ thuật này tuy phát triển chưa lâu nhưng đã được ứng dụng mạnh
mẽ vào Ecommerce trong những năm gần đây, nhất là các công ty lớn
Ý tưởng về một hệ thống sử dụng Image Similarity được xây dựng dựa trên
kỹ thuật Image Embedding Hầu hết các thuật toán học máy dùng để phân loại, hồi quy hoặc phân cụm không thể hoạt động trực tiếp trên hình ảnh Để thực hiện phân tích, chúng ta cần chuyển đổi chúng thành những vectơ có thành phần là số gọi là embedding (hay vecto nhúng) Image Embedding là một biểu diễn véc-tơ của một hình ảnh trong đó các hình ảnh có động cơ tương tự có cấu hình véc-tơ tương tự
Nói tổng quan, Embedding (hay nhúng ) là một không gian có số chiều tương đối nhỏ (low-dimensional) mà ta có thể dịch các vectơ có số chiều lớn (high-dimensional) vào đó Tính năng embedding hay nhúng giúp máy học dễ dàng đưa vào đầu vào có số chiều lớn tập dữ liệu nhiều, phức tạp hơn
Chính vì sự thuận tiện đó, việc sử dụng kỹ thuật Image Embedding để phát triển mô hình Image similarity tương đối khả quan Việc sử dụng kỹ thuật này gồm có hai bước chính, đó là Trích xuất các đặc trưng của ảnh thành các vector đặc trừng và tính toán khoảng cách giữa các vector sao cho các vector này gần nhau nhất để tạo thành những cụm
Trích xuất đặc trưng của ảnh thành Vector
Giả sử như có một bức ảnh RBG, với kích thước là 1080p, vầy tức là chúng
ta cần lưu trữ 1920 x 1080 x 3 = 6.220.800 pixel Các pixel này là biểu diễn trực quan của thông tin như con người, đồ vật, v.v Vì nếu ta cố gắng xây dựng một
hệ thống đề xuất hình ảnh bằng việc sử dụng ~6 triệu pixel để xác định điểm tương đồng sẽ cực kỳ tốn kém về mặt tính toán, hay lãng phí thời gian Thay vì
sử dụng pixel hình ảnh, chúng ta có thể sử dụng Image Embedding mà em đã đề
Trang 22Ở đây, nhóm xin được sử một pre-trained model đã được xây dựng từ lâu là model mạng Convolution neural network ResNet50
Giới thiệu tổng quan về mạng ResNet50:
ResNet là viết tắt của Residual Network Đây là mạng neural network lần đầu tiên được giới thiệu trong một bài nghiên cứu của Kaiming He, Xiangyu Zhang, Shaoqing Ren và Jian Sun vào năm 2015
ResNet-50 có kiến trúc dựa trên mô hình Convolution neural network truyền thống, nhưng có một điểm khác biệt quan trọng ResNet là sử dụng một nối tắt đồng nhất để thực hiện xuyên qua một hay nhiều lớp bằng phép cộng Một khối như vậy được gọi là một residual block như trong hình sau:
Hình 2.2.1 Mô hình ResNet [4]
Nhìn chung có thể thấy, với một số lượng lớn các lớp Neural lại với nhau, model ResNet50 vẫn có thể đạt được độ chính xác khá cao theo nhiều nghiên cứu Ngoài ra, để thuận tiện hơn trong việc sử dụng, nhóm đã sử dụng tập trọng
số do ImageNet, là tập trọng số của một tập dữ liệu số lượng rất lớn về thể loại, nội dung hay nghiên cứu về lý thuyết Vision computer và deep learning Việc sử
Trang 238
dụng tập trọng số của một tổ chức lớn với quy mô dữ liệu lên tới hàng nghàn như vậy vừa cho phép đảm bảo được độ chính xác cao và sự thuận tiện cho việc sử dụng
Tuy nhiên, thay vì sử dụng lớp cuối cùng, nhóm sẽ sử dụng lớp kế cuối thứ 2 của kiến trúc Resnet50 Nó chứa một vectơ có kích thước 2048, là một đại diện của hình ảnh Đây sẽ là Image embedding cần tìm của model của chúng ta, nó chứa tập hơn toàn bộ các vector đặc trưng của tập dữ liệu của chúng ta Vì vậy, thay vì sử dụng pixel, giờ đây chúng ta có thể sử dụng image embedding hay nhúng hình ảnh để thể hiện các tính năng của hình ảnh
Phân cụm các Vector gần nhau nhất
Ý tưởng phân cụm vector dựa vào việc tính khoảng cách của một vector này
so với một vector khác Để tính được điều ấy ta sẽ sử dụng công thức:
Hình 2.2.2 Công thức tính góc của hai vector
Công thức này sẽ tính toán cho ta được khoảng cách giữa 2 vector Nếu Cosine = 0 tức là góc giữa 2 vector không phải bằng 0 hay 2 vector không thực
sự nằm gần nhau Ngược lại, nếu cosine của 2 vector này bằng 1 tức là góc giữa
2 vector này sẽ bằng 0 Hay 2 vector này trùng nhau Theo ý tưởng như vậy, ta sẽ tìm khoảng cách giữa 2 vector sao cho chúng gần nhau nhất hay cosine của chúng sẽ gần bằng 1
Dựa trên ý tưởng như thế, nhóm sẽ sử dụng thuật toán Nearest Neighbor, một thuật toán lâu đời để tính toán khoảng cách giữa các vector đã được tính toán ở phần trích xuất đặc trừng của ảnh và xuất ra được ảnh có vector đặc trưng gần với ảnh cần sử dụng nhất
Tổng quan về Nearest Neighbor: Nearest neighbor là một thuật toán của nhánh supervised-learning, thuật toán này tương đối dễ dùng và dễ triển khai, độ tính toán tương đối ít phức tạp Giống như đã giới thiệu ở phần trên, thuật toán là một loại thuật toán học có giám sát được sử dụng cho cả hồi quy và phân loại
Trang 249
Nearest Neighbor cố gắng dự đoán lớp chính xác cho dữ liệu thử nghiệm bằng cách tính toán khoảng cách giữa dữ liệu thử nghiệm và tất cả các điểm huấn luyện Sau đó chọn K số điểm gần nhất với dữ liệu thử nghiệm Thuật toán Nearest Neighbor tính toán xác suất của dữ liệu thử nghiệm thuộc các lớp của dữ liệu huấn luyện 'K' và lớp có xác suất cao nhất sẽ được chọn Trong trường hợp hồi quy, giá trị là giá trị trung bình của các điểm đào tạo 'K' đã chọn
Trang 2510
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
WEBSITE
3.1 PHÂN TÍCH YÊU CẦU ĐỀ TÀI
Chức năng bên phía giao diện người mua hàng (Front End):
Bảng 3.1.1 Bảng chức năng bên phía người mua hàng
theo danh mục có sãn trên website
khách hàng
Thêm thông tin cần thiết cho việc liên lạc, hỗ trợ, thanh toán hay gợi ý sản phẩm
5 Tìm kiếm sản phẩm Tìm kiếm sản phẩm bằng cách nhập tên hoặc từ
khóa liên quan đến sản phẩm
trên website và đặt hàng các sản phẩm đã chọn
các sản phẩm mình yêu thích, cũng như thể hiện được giá cả mà tổng các sản phẩm đó tiêu tốn hay
số lượng sản phẩm thêm vào
điền thông tin để thanh toán
9 Gợi ý sản phẩm cùng Chức năng cho phép website đưa ra các sản phẩm
Trang 2611
đang xem
Chức năng bên phía người quản trị/admin (Back End):
Bảng 3.1.2 Bảng chức năng bên phía người quản trị
thêm bớt thông tin như tên, miêu tả
2 Quản lý đơn hàng Xem chi tiết đơn hàng, tên user đặt hàng, thông
tin, tài khoản, sản phẩm mà user đã đặt hàng
hàng
Xem user đã đặt sản phẩm đó, xem số lượng, tên gọi, danh mục, giá cả của sản phẩm mà user đó đã đặt hàng
đăng ký
Xem chi tiết tài khoản user, có thể thêm user, xóa user, phân quyền sử dụng hệ thống cho các user, kiểm tra thông tin user
thêm vào như đổi tên
đó
Mô hình usecase chức năng tổng quát của website
Trang 2712
Hình 3.1.1 Mô hình usecase chức năng tổng quát của website
Trang 2813
Mô hình này thể hiện cho ta thấy ý tưởng thực thi của website, với nhánh của
người mua hàng( Customer/Guest ), họ chỉ có quyền mua hàng, tìm kiếm sản
phẩm, đưa vào giỏ hàng, lên đơn hàng và lựa chọn thanh toán khi giao hàng hoặc
đăng nhập đăng ký tài khoản Với nhánh của người quản trị ( Admin ), quyền
quản lý sản phẩm, thêm bớt mặt hàng, quản lý đơn hàng, nhận phản hồi,
3.2 LƯỢC ĐỒ CƠ SỞ DỮ LIỆU
Lược đồ mô tả mối quan hệ của các dữ liệu trong database
Hình 3.2.1 Lược đồ cơ sở dữ liệu
Từ lược đồ trên, ta có thể thấy, để có thể lên được đơn hàng cho các sản
phẩm người mua hàng phải thực hiện việc đăng nhập để có thể thực hiện việ lên
Trang 29Mô hình chức năng đăng ký
Hình 3.3.1 Usecase chức năng đăng ký
Chức năng: người mua hàng nếu chưa có tài khoản ( gọi là Guest ) sẽ cho phép người mua hàng đăng ký tài khoản
Cách dùng: Người mua hàng vô trang chủ website Chọn nút đăng ký tài khoản Nhập tên tài khoản và mật khẩu cùng một vài thông tin cá nhân của mình, nhấn nút đăng ký Webiste sẽ tự động đăng nhập vô trang chủ
Điều kiện: Không có
Kết quả: Người mua đăng ký tài khoản thành công Hệ thống ghi nhận hoạt động đăng ký thành công Tài khoản mới đăng ký của người mua được cập nhật trong Database
Ngoại lệ: Website thông báo đăng ký không thành công và yêu cầu người mua nhập lại thông tin
3.3.2 Chức năng đăng nhập
Mô hình chức năng đăng nhập
Trang 3015
Hình 3.3.2 Usecase chức năng đănh nhập
Chức năng: người mua hàng nếu đã có tài khoản ( gọi là Customer ) được phép đăng nhập vào website
Cách dùng: Người mua truy cập vào website Chọn nút đăng nhập Nhập đúng tài khoản và mật khẩu của người mua, nhấn nút đăng nhập Website sẽ tự chuyển người mua đến trang chủ và xuất hiện chữ đăng xuất
Điều kiện: Người mua phải có tài khoản trên website trước đó
Kết quả: Người mua đăng nhập thành công Website sẽ chuyển người mua đến trang chủ và xuất hiện chữ đăng xuất
Ngoại lệ: Website xác thực thông tin đăng nhập không đúng và yêu cầu người mua nhập lại thông tin đăng nhập
3.3.3 Chức năng xem danh mục sản phẩm
Mô hình chức năng xem danh mục
Hình 3.3.3 Usecase chức năng xem danh mục sản phẩm
Chức năng: cho phép người mua hàng (Custom hoặc Guest) xem các danh mục đã được hiển thị trên website
Cách dùng: Người mua nhấn vào mục Cửa hàng ở thanh menu trang chủ Hệ thống sẽ đưa người dùng đến trang xem danh mục sản phẩm và tất cả sản phẩm Người mua có thể chuyển và xem các loại sản phẩm có trong website
Trang 3116
Điều kiện: Không có
Kết quả: website hiển thị các danh mục đang bán để người mua chọn lựa Ngoại lệ: Không có
3.3.4 Chức năng tìm kiếm sản phẩm
Mô hình chức năng tìm kiếm sản phẩm
Hình 3.3.4 usecase chức năng tìm kiếm sản phẩm
Chức năng: người mua hàng (Custom hoặc Guest) tìm kiếm sản phẩm cần mua
Cách dùng: Người mua nhập tên hoặc các từ khóa liên quan đến sản phẩm trên thanh tìm kiếm của website Nhấn nút tìm kiếm Hệ thống xác nhận tên hoặc các sản phẩm tương tự với từ khóa người mua đã nhập và chuyển đến trang chứa danh sách các sản phẩm đó
Điều kiện: Không có
Kết quả: Trang web hiển thị danh sách sản phẩm người mua tìm kiếm
Ngoại lệ: Nếu không có sản phẩm phù hợp với từ khóa của người mua đã tìm kiếm, website sẽ không xuất hiện sản phẩm nào
3.3.5 Chức năng xem chi tiết sản phẩm
Mô hình xem chi tiết sản phẩm
Trang 3217
Hình 3.3.5 Usecase chức năng xem chi tiết sản phẩm
Chức năng: Người mua ( Customer hoặc Guest ) xem chi tiết các sản phẩm như tên, giá, mô tả
Cách dùng: Người mua nhấn vào tên hoặc hình ảnh của sản phẩm đó Hệ thống sẽ chuyển đến trang chi tiết của sản phẩm đó và hiển thị các các chi tiết của sản phẩm
Điều kiện: Không có
Kết quả: website hiển thị chi tiết sản phẩm mà người dùng tìm kiếm trước đó Ngoại lệ: Không có
3.3.6 Chức năng thêm sản phẩm vào giỏ hàng
Mô hình chức năng thêm sản phẩm vào giỏ hàng
Hình 3.3.6 Usecase chức năng thêm sản phẩm vào giò hàng
Chức năng: Người mua hàng đã có tài khoản (Customer) được thêm sản phẩm vào giỏ hàng
Cách dùng: Người mua nhấn vào nút thêm vào giỏ hàng ( ở mục xem chi tiết sản phẩm hoặc các danh sách sản phẩm trong mục xem danh mục) website sẽ bỏ sản phẩm vào giỏ hàng
Điều kiện: Người mua phải có tài khoản website
Kết quả: Sản phẩm phải có trong giỏ hàng khi người mua chuyển đến trang xem giỏ hàng với một vài thông tin cơ bản như tên, giá thành, số lượng sản phẩm Ngoại lệ: không có
3.3.7 Chức năng xem giỏ hàng
Mô hình chức năng xem giỏ hàng