Tải bản đầy đủ (.docx) (72 trang)

Tìm hiểu thuật toán recommendation và xây dựng ứng dụng mua sắm thời trang online

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (329.37 KB, 72 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN PHI KHANG
NGUYỄN QUANG KHANG

KHĨA LUẬN TỐT NGHIỆP

TÌM HIỂU THUẬT TỐN RECOMMENDATION VÀ
XÂY DỰNG ỨNG DỤNG MUA SẮM THỜI TRANG
ONLINE
Research on Recommendation Algorithms and Build an Online
Fashion Shopping Application

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2021

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN PHI KHANG - 17520616
NGUYỄN QUANG KHANG - 17520617

KHÓA LUẬN TỐT NGHIỆP


TÌM HIỂU THUẬT TỐN RECOMMENDATION VÀ
XÂY DỰNG ỨNG DỤNG MUA SẮM THỜI TRANG
ONLINE
Research on Recommendation Algorithms and Build an Online
Fashion Shopping Application

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
THS. TRẦN ANH DŨNG

TP. HỒ CHÍ MINH, 2021

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHĨA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………………


ngày ……………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. …………………………………………. – Chủ tịch.
2. …………………………………………. – Thư ký.
3. …………………………………………. – Ủy viên.
4. …………………………………………. – Ủy viên.
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
NAM Độc Lập - Tự Do - Hạnh Phúc
TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT
TP. HCM, ngày tháng năm 2021


NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
Tìm hiểu thuật toán Recommendation và xây dựng ứng dụng mua sắm thời trang online
Nhóm sinh viên thực hiện: Cán bộ hướng dẫn: NGUYỄN PHI KHANG 17520616
ThS. TRẦN ANH DŨNG NGUYỄN QUANG KHANG 17520617
Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang Số chương
Số bảng số liệu Số hình vẽ
Số tài liệu tham khảo Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:

2. Về nội dung nghiên cứu:


3. Về chương trình ứng dụng:



4. Về thái độ làm việc của sinh viên:

Đánh giá chung:
Điểm từng sinh viên:
NGUYỄN PHI KHANG: ………../10
NGUYỄN QUANG KHANG: ………../10

Người nhận xét
(Ký và ghi rõ họ tên)


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

Trần Anh Dũng
NAM Độc Lập – Tự Do – Hạnh Phúc

TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT
TP. HCM, ngày tháng năm 2021

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm Nhóm
sinh viên thực hiện: Cán bộ phản biện: NGUYỄN PHI KHANG
17520616
NGUYỄN QUANG KHANG 17520617
Đánh giá Khóa luận:


1. Về cuốn báo cáo:
Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham
khảo Sản phẩm Một số nhận xét về hình thức cuốn báo cáo:
2. Về nội dung nghiên cứu:
3. Về chương trình ứng dụng:
4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
NGUYỄN PHI KHANG: ………../10
NGUYỄN QUANG KHANG: ………../10


Người nhận xét
(Ký và ghi rõ họ tên)

LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Cơng nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể hồn thành Khóa luận tốt nghiệp của mình.
Để hồn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo
điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình giúp
đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý hết sức
q báu khơng chỉ trong q trình thực hiện luận văn này mà còn là hành trang tiếp
bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cơ trong khoa,
bạn bè, tập thể lớp KTPM2017 là những người luôn sẵn sàng sẻ chia và giúp đỡ
trong học tập và cuộc sống. Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau.


Trong q trình làm khóa luận này chúng em khơng tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cơ để khóa luận
được hồn thiện hơn.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ ln đồng
hành cùng mọi người.

Thành phố Hồ Chí Minh, tháng năm 2021
Sinh viên
NGUYỄN PHI KHANG

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

NGUYỄN QUANG KHANG
NAM Độc Lập – Tự Do – Hạnh Phúc

TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT
TP. HCM, ngày tháng năm 2021


ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Tìm hiểu thuật tốn Recommendation và xây dựng ứng dụng mua sắm thời
trang online.
Cán bộ hướng dẫn: ThS. Trần Anh Dũng
Thời gian thực hiện:Từ ngày 01/03/21 đến ngày 21/06/21
Sinh viên thực hiện:
1. Nguyễn Phi Khang - 17520616
2. Nguyễn Quang Khang - 17520617
- Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,
kết quả mong đợi của đề tài)
Mục tiêu
Thứ nhất là nghiên cứu về các công nghệ lập trình Java, MySQL, lập trình ứng
dụng với Flutter, các nghiệp vụ của một ứng dụng bán hàng online, hiểu được
Machine Learning cơ bản và các thuật toán gợi ý sản phẩm cụ thể là Content-based
và Collaborative Filtering. Có thể áp dụng trong ứng dụng minh hoạ của đề tài tìm
hiểu này.

Thứ hai là sử dụng các thuật tốn gợi ý sản phẩm để có khả năng ứng dụng vào
thực tiễn, gợi ý cho người dùng các sản phẩm tốt nhất trong số các sản phẩm phù hợp.

Nhiệm vụ
Đề tài “Tìm hiểu thuật tốn Recommendation và xây dựng ứng dụng mua sắm thời
trang online.” là một ứng dụng chạy trên điện thoại chạy trên cả hệ điều hành Android
và iOS.
Ứng dụng gồm có 2 phần: Ứng dụng viết cho mobile bằng Flutter và Webservice
quản trị viết bằng ngôn ngữ Java.
Ứng dụng đối với người tiêu dùng:


Đăng ký và đăng nhập
Tìm kiếm sản phẩm có sử dụng bộ lọc
Sắp xếp sản phẩm theo các hạng mục tương ứng
Hiển thị các chương trình khuyến mãi
Xem thơng tin sản phẩm
Bình luận và đánh giá
Đặt hàng mua sản phẩm
Gợi ý các sản phẩm: sản phẩm ưa thích, sản phẩm bán chạy, sản phẩm người
dùng quan tâm.
Ứng dụng đối với người bán hàng:
Quản lý các danh mục sản phẩm
Quản lý sản phẩm
Quản lý đơn hàng
Quản lý khuyến mãi
Thống kê
Phương pháp thực hiện:
Tìm hiểu các thuật tốn gợi ý sản phẩm hiện có.- Tìm hiểu nghiệp vụ, quy trình hoạt
động của shop mua sắm thời trang.
Phác họa hệ thống tổng quát (thiết kế dữ liệu, xử lý dữ liệu,…).
Tham khảo các ứng dụng tương tự: Zalora, SHEIN, Clothes Shop, ZAFUL,…
Tham khảo ý kiến của giảng viên hướng dẫn để được định hướng đúng, đạt kết quả

tốt nhất.
Thiết kế giao diện, thực thi các chức năng, quản lý code theo mơ hình bloc với
Flutter. Crawl, tạo bộ dữ liệu mẫu cho ứng dụng.
Vận dụng, tùy chỉnh, đánh giá các thuật toán phù hợp với đề tài.
Kết quả mong đợi
- Đối với hệ thống gợi ý sản phẩm
Hiểu được bài toán khuyến nghị
Hiểu được 2 phương pháp khuyến nghị chính: Content-based và Collaborative
Filtering.
Hệ thống gợi ý sản phẩm có thể gợi ý sản phẩm hiệu quả cho: người dùng mới


(chưa có dữ liệu) và người dùng cũ (dựa trên collaborative filtering).
Gợi ý sản phẩm của người dùng có thể thích dựa trên hành vi của người dùng.
- Đối với ứng dụng
Với khách hàng là người dùng chưa đăng nhập, có thể xem sản phẩm, tìm kiếm
sản phẩm và đăng ký tài khoản.
Với khách hàng là người mua và đã đăng nhập có thể thực hiện chức năng đặt
mua sản phẩm, xem sản phẩm, quản lý sản phẩm mình yêu thích, quản lý sản
phẩm trong giỏ hàng, quản lý địa chỉ nhận hàng, chat với shop, xem tình trạng
đơn hàng và bình luận đánh giá sản phẩm sau khi mua hàng thành công.
Với khách hàng là các cửa hàng đã đăng nhập có thể quản lí sản phẩm, xem, xố,
sửa các sản phẩm của cửa hàng, chat với người dùng, xét duyệt các yêu cầu
được gửi từ người mua,…
Admin là người quản trị tất cả các chức năng, thực hiện thay đổi và giải quyết
khi các khách hàng gặp vấn đề.
Hiểu được các kiến thức liên quan đến Flutter.
Biết cách sử dụng các cơng cụ hỗ trợ lập trình đa nền tảng với
Flutter.


Biết được các kỹ thuật lập trình với Flutter.

Biết cách sử dụng các công nghệ hỗ trợ để xây dựng ứng dụng minh họa.
Hoàn thành ứng dụng với giao diện trực quan, hoạt động tốt trên cả hai nền tảng
Android và iOS.
- Các tiêu chí khác
+ Tính thẩm mỹ: Ứng dụng có giao diện đẹp, dễ sử dụng tâm lý thoải mái cuốn
hút khách hàng khi sử dụng.
+ Tính logic và bảo mật:
Tạo được sự liên kết logic giữa các màn hình để khách hàng có thể
chuyển màn hình một cách nhanh nhất và thuật tiện nhất.
Đảm bảo tính bảo mật về các thơng tin nhạy cảm của khách hàng tạo cảm
giác an toàn cho khách hàng.
Đối với nhà quản trị có thể cập nhật, thêm xóa sửa đổi thông tin liên
quan đến mặt hàng và các vấn đề khác. Nhận và trả lời ý kiến về phía
khách hàng.

Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân chia công việc các thành viên tham
gia)


Với thời gian thực hiện từ 01/03/2021 tới 30/06/2021, nhóm chia thành 8 sprint với 3 giai đoạn
cụ thể:
STT

Công việc

Giai đoạn 1: Tìm hiểu về các kiến thức cơ
bản liên quan hệ thống gợi ý và xây dựng


Thời gian thực hiện

4 Tuần

ứng dụng mua sắm thời trang online.

(01/03/2021 –
28/03/2021)

1

1 Tuần

Sprint 1: Tìm hiểu các nghiệp vụ

Phân cơng

shop mua sắm thời trang và thiết
kế database
1.1

- Khảo sát, tìm hiểu các nghiệp vụ của
các ứng dụng mua sắm thời trang hiện
nay.

Tuần 1

Cả hai

(01/03/2021 –

07/03/2021)

- Vẽ sơ đồ logic, lập bảng
2
2.1

Sprint 2: Tìm hiểu các hệ thống gợi ý

1 Tuần

- Hệ thống gợi ý là gì?

Tuần 2

- Hệ thống gợi ý áp dụng cho việc

(08/03/2021 - 14/03/2021)

Cả hai

gì? - Các thuật tốn được áp dụng?
3

Sprint 3: Tìm hiểu về Backend và

2 Tuần

Frontend
3.1


- Tìm hiểu về Java, MySQL.

Tuần 3 - Tuần 4

- Thiết kế cơ sở dữ liệu

(15/03/2021 –
28/03/2021)

- Tạo API từ Backend
3.2

Cả Hai

- Tìm hiểu Flutter.

Quang

- Xây dựng các màn hình cơ

Khang

bản. - Fetch API.


Giai đoạn 2: Thiết kế và xây dựng ứng dụng
e-commerce

6 Tuần
(29/03/2021 –

09/05/2021)

4

Sprint 4: Thiết kế UI

1 Tuần

4.1

- Khảo sát người dùng, xem review

Tuần 5

các ứng dụng đã có

5

- Thiết kế UI với figma

(29/03/2021-04/04/2021)

Sprint 5: Xây dựng ứng

5 Tuần

Phi
Khang

dụng (Frontend &

Backend)
5.1

- Xây dựng Frontend của ứng dụng
theo figma đã tạo

5.2

- Xây dựng database từ các sơ đồ đã
tạo trước đó với Mysql

5.3

- Tạo các api cần thiết cho ứng dụng

Tuần 6 – Tuần 8

Quang

(05/04/2021- 25/04/2021)

Khang

Tuần 6

Phi
Khang

(05/04/2021- 11/04/2021)
Tuần 7- Tuần 10


Phi Khang

(12/04/2021 –
09/05/2021)
5.4

- Hỗ trợ backend – Tạo các api cần
thiết cho ứng dụng
- Fetch api và hoàn thành các thao tác

Tuần 9 – Tuần 10

Quang

(26/04/2021 –
09/05/2021)

Khang

cịn lại
Giai đoạn 3: Tìm hiểu sâu về hệ thống gợi ý
và áp dụng vào ứng dụng
6

Sprint 6: Nghiên cứu thực hiện hệ
thống gợi ý

6 Tuần
(10/05/2021 – 06/06/2021)

2 Tuần


6.1

- Nghiên cứu phương pháp gợi ý sản
phẩm content-based, collaborative

Tuần 11 – Tuần 12

Cả hai

(10/05/2021 - 23/05/2021)

filtering.
6.2

- Xây dựng code thử nghiệm và đánh
giá

7

Sprint 7: Áp dụng hệ thống gợi ý

Phi
Khang
2 Tuần

vào ứng dụng


7.1

- Tích hợp gợi ý sản phẩm cho người
dùng vào ứng dụng

7.2

- Áp dụng gợi ý sản phẩm cho người

Tuần 13 – Tuần 14

Quang

(24/05/2021 –
06/06/2021)

Khang

dùng mới và collaborative filtering

Phi
Khang

cho người dùng cũ.
7.3

- Áp dụng gợi ý sản phẩm content-

Quang


based để gợi ý sản phẩm liên quan

Khang

với các sản

phẩm người dùng đã

tương tác trên ứng dụng.
8

Sprint 8: Hoàn thiện sản phẩm

2 Tuần
Tuần 15– Tuần 16
(07/06/2021 –
30/06/2021)


Xác nhận của CBHD

TP. HCM, ngày….tháng

(Ký tên và ghi rõ họ tên)

…..năm….. Sinh viên
(Ký tên và ghi rõ họ tên)

Trần Anh Dũng


MỤC LỤC
TÓM TẮT KHÓA LUẬN..................................................................................
GIỚI THIỆU CHUNG ............................................................... 1
1.1. Lý do chọn đề tài........................................................................................ 1
1.2. Điểm mới và khác biệt về chức năng của đề tài so với một số ứng dụng thời
trang hiện nay.................................................................................................. 2
1.2.1. Điểm khác biệt của đề tài ................................................................... 2
1.2.2. Điểm mới nổi bật của đề tài ............................................................... 3
1.2.3. Tính khác biệt, cải thiện về chức năng so với các app hiện nay ........ 4
1.3. Phạm vi nghiên cứu.................................................................................... 4
1.4. Đối tượng nguyên cứu................................................................................ 5
1.5. Phương pháp nguyên cứu........................................................................... 5

KIẾN THỨC NỀN TẢNG......................................................... 7
2.1. Flutter ......................................................................................................... 7
2.1.1. Giới thiệu về Flutter ........................................................................... 7 2.1.2.
Tại sao sử dụng Flutter? ..................................................................... 8 2.2. Java
Spring Boot ........................................................................................ 8 2.2.1. Giới
thiệu về Java Spring Boot .......................................................... 8 2.2.2. Tại sao sử


dụng Java Spring Boot ...................................................... 9 2.3. Hệ quản trị cơ sở
dữ liệu MySQL .............................................................. 9 2.3.1. Giới thiệu
MySQL............................................................................ 10 2.3.2. Tại sao sử dụng
MySQL .................................................................. 10 2.4. Google Firebase
Cloud............................................................................. 10 2.4.1. Giới thiệu
Firebase ........................................................................... 11
2.4.2. Chức năng chính của Google Firebase............................................. 11 2.4.3.
Lợi ích của Google Firebase............................................................. 12 2.5.
ReactJS ..................................................................................................... 13 2.5.1.

Giới thiệu ReactJS............................................................................ 13 2.5.2. Vấn đề
và giải pháp .......................................................................... 13 2.5.3. Tại sao sử
dụng ReactJS? ................................................................. 13 2.6. State Management
BLoC ......................................................................... 16 2.6.1. Mơ hình
BLoC.................................................................................. 16 2.6.2. Vì sao nên chọn
BLoC trong flutter? ............................................... 16 2.7. Giới thiệu về chuỗi
JSON......................................................................... 17 2.7.1. Khái niệm chuỗi
JSON..................................................................... 17 2.7.2. Cấu trúc chuỗi
JSON........................................................................ 17 2.8. Hệ thống khuyến
nghị .............................................................................. 18 2.8.1. Giới
thiệu.......................................................................................... 18 2.8.2. Các phương
pháp trong hệ thống khuyến nghị................................. 20 2.8.2.1. Hệ thống khuyến
nghị theo nội dung (Content-based approach). 20 2.8.2.2. Hệ thống khuyến nghị lọc
cộng tác (Collaborative filtering)....... 20 3.1.1.1. Hệ thống khuyến nghị lai (Hybrid
recommender system) ........... 21

XÂY DỰNG HỆ THỐNG

....................................................... 25 3.1. Xây dựng kiến trúc hệ
thống .................................................................... 25 3.1.1. Kiến trúc hệ thống ứng
dụng............................................................ 25 3.1.2. Xác định yêu cầu hệ
thống ............................................................... 25 3.1.2.1. Quy trình bán


hàng ....................................................................... 25 3.1.2.2. Quy trình xử lý hàng
hố.............................................................. 26
3.2. Phân tích yêu cầu hệ thống....................................................................... 27
3.2.1. Phần ứng dụng mobile (Flutter) ....................................................... 27
3.2.2. Phần Website Admin (quản trị viên)................................................ 29
3.3. Phân tích thiết kế hệ thống ....................................................................... 32

3.3.1. Sơ đồ use case .................................................................................. 32
3.3.1.1. Sơ đồ use case .............................................................................. 32
3.3.1.2. Danh sách actor ............................................................................ 33
3.3.1.3. Danh sách usecase ........................................................................ 34 3.3.2.
Đặc tả usecase .................................................................................. 36 3.3.2.1.
Kiểm duyệt sản phẩm................................................................... 36 3.3.2.2. Kiểm
duyệt bài viết ...................................................................... 37 3.3.2.3. Quản lý
người dùng...................................................................... 39 3.3.2.4. Quản lý danh
mục......................................................................... 40 3.3.2.5. Quản lý event/
festival.................................................................. 42 3.3.2.6. Quản lý khuyến mãi,
quảng cáo ................................................... 44 3.3.2.7. Quản lý tình trạng đơn
hàng......................................................... 46 3.3.2.8. Đăng nhập, Đăng
ký..................................................................... 47 3.3.2.9. Tìm kiếm sản
phẩm ...................................................................... 49 3.3.2.10. Xem chi tiết sản
phẩm và tương tác với sản phẩm................... 50 3.3.2.11. Đặt
hàng ................................................................................... 52 3.3.2.12. Quản lý
địa chỉ ......................................................................... 54 3.3.2.13. Quản lý sản
phẩm yêu thích ..................................................... 55 3.3.2.14.
Chat .......................................................................................... 56 3.3.2.15. Đánh
giá sản phẩm ................................................................... 57
3.3.2.16. Đánh giá, bình luận bài viết...................................................... 58
3.3.2.17. Quản lý cửa hàng...................................................................... 59


3.3.2.18. Kiểm duyệt đơn hàng ............................................................... 61
3.3.2.19. Tham gia event/festival ............................................................ 62
3.3.2.20. Quản lý kho hàng ..................................................................... 63
3.3.3. Sơ đồ phân rã chức năng .................................................................. 65
3.3.4. Sơ đồ sequence ................................................................................. 66
3.3.4.1. Đăng nhập..................................................................................... 66

3.3.4.2. Đăng ký ........................................................................................ 67
3.3.4.3. Xem chi tiết, tương tác với sản phẩm........................................... 68
3.3.4.4. Đặt hàng ....................................................................................... 69
3.3.4.5. Tìm kiếm sản phẩm ...................................................................... 70
3.3.4.6. Quản lý địa chỉ giao hàng............................................................. 70
3.3.4.7. Quản lý sản phẩm yêu thích ......................................................... 71
3.3.4.8. Xem sản phẩm tương tự ............................................................... 71
3.3.4.9. Đơn hàng của tơi .......................................................................... 72
3.3.4.10. Xem, đánh giá, bình luận bài viết............................................. 73
3.3.5. Sơ đồ lớp .......................................................................................... 74
3.3.6. Phân tích và thiết kế CSDL.............................................................. 76
3.3.6.1. Bảng Orders.................................................................................. 78
3.3.6.2. Bảng Ratings ................................................................................ 79
3.3.6.3. Bảng Carts.................................................................................... 80
3.3.6.4. Bảng Shipping .............................................................................. 80
3.3.6.5. Bảng Addresses............................................................................ 81
3.3.6.6. Bảng Option_Product_Int............................................................. 81
3.3.6.7. Bảng Option_Product_Decimal ................................................... 82
3.3.6.8. Bảng Option_Product_Varchar .................................................... 82
3.3.6.9. Bảng Districts............................................................................... 82
3.3.6.10. Bảng History_Search................................................................ 83
3.3.6.11. Bảng Data_Images ................................................................... 83


3.3.6.12. Bảng Users ............................................................................... 84
3.3.6.13. Bảng Transactions.................................................................... 84
3.3.6.14. Bảng Rating_Image .................................................................. 85
3.3.6.15. Bảng Products........................................................................... 85
3.3.6.16. Bảng Categories ....................................................................... 86
3.3.6.17. Bảng Cart_Item ........................................................................ 87

3.3.6.18. Bảng Status_Order ................................................................... 87
3.3.6.19. Bảng Brands............................................................................. 88
3.3.6.20. Bảng Provinces......................................................................... 88
3.3.6.21. Bảng Favorites.......................................................................... 88
3.3.6.22. Bảng Attributes......................................................................... 89
3.3.6.23. Bảng Payment........................................................................... 89
3.3.6.24. Bảng Accounts ......................................................................... 89
3.3.6.25. Bảng Rating_Star ..................................................................... 90
3.3.6.26. Bảng Wards.............................................................................. 90
3.3.6.27. Bảng Seen_Products................................................................. 91
3.3.6.28. Bảng Order_Item...................................................................... 91 3.4.
Thiết kế giao diện ..................................................................................... 92
3.4.1. Giao diện ứng dụng di động Faiikan ................................................ 92 3.4.2.
Giao diện Website Admin .............................................................. 113

ÁP DỤNG GỢI Ý SẢN PHẨM............................................. 115 4.1. Thực
nghiệm........................................................................................... 115 4.1.1. Một số
định nghĩa........................................................................... 115 4.1.1.1. Utility matrix
.............................................................................. 115 4.1.1.2. Cosine
Similarity........................................................................ 116 4.1.1.3. TFIDF........................................................................................ 118 4.1.1.4.
WeightedRating(WR)................................................................. 120 4.1.1.5. Root
Mean Squared Error (RMSE)............................................ 120 4.1.2. Phương


pháp................................................................................... 121 4.1.2.1. Content-based
Recommender System........................................ 122 4.1.2.2. Neighborhood-based
Collaborative Filtering ............................. 123 4.1.3. Đánh
giá ......................................................................................... 129 4.1.3.1. So sánh kết
quả........................................................................... 129 4.1.3.2. Ưu điểm và Nhược
điểm ............................................................ 130 4.2. Áp dụng các thuật toán

Recommedation vào ứng dụng......................... 131 4.2.1. Gợi ý cho
bạn ................................................................................. 131 4.2.2. Có thể bạn
thích.............................................................................. 132 4.2.3. Sản phẩm tương tự

KẾT LUẬN,

......................................................................... 134

HƯỚNG PHÁT TRIỂN ................................... 135 5.1. Kết quả đạt
được..................................................................................... 135 5.1.1. Lý
thuyết......................................................................................... 135 5.1.2. Công
nghệ....................................................................................... 135
5.1.3. Ứng dụng........................................................................................ 135
5.1.3.1. Khách hàng................................................................................. 135
5.1.3.2. Quản lý ....................................................................................... 136
5.2. Hạn chế................................................................................................... 136 5.3.
Hướng phát triển..................................................................................... 137 TÀI

LIỆU THAM KHẢO ............................................................................ 138
DANH MỤC HÌNH VẼ
Hình 2-1. Sự phát triển và độ phổ biến của MySQL..................................................
9 Hình 2-2. Google Firebase Cloud.............................................................................
10

Hình

Component

2-3.


“Thành

phần

....................................

14

hố”

giao

diện

Hình

2-4.

Virutal

DOM.............................................................................

15

Hình

với

các


DOM
2-5.



Search

Engine .......................................................................................... 15 Hình 2-6. Mơ
hình BloC........................................................................................... 16 Hình 2-7. Ví
dụ về chuỗi JSON ............................................................................... 18 Hình 3-1.


Sơ đồ kiến trúc hệ thống .......................................................................... 25 Hình 32. Các bước xây dựng quy trình bán hàng ................................................... 26 Hình
3-3. Quy trình xử lý hàng hố của FAIIKAN ................................................. 26
Hình 3-4. Sơ đồ use case tổng quát ..........................................................................
32

Hình

3-5.

Use

case

kiểm

diệt

sản


phẩm ................................................................... 36 Hình 3-6. Use case Kiểm duyệt
bài viết................................................................... 37 Hình 3-7. Use case Quản lý
người dùng .................................................................. 39 Hình 3-8. Use case quản lý
danh mục ...................................................................... 40 Hình 3-9. Use case quản
lý event/ festival ............................................................... 42 Hình 3-10. Use case
quản lý khuyến mãi, quảng cáo............................................... 44 Hình 3-11. Use
case quản lý tình trạng đơn hàng .................................................... 46 Hình 3-12.
Use case Đăng nhập, Đăng ký ............................................................... 47 Hình 313. Use case tìm kiếm sản phẩm.................................................................. 49 Hình
3-14. Use case xem chi tiết sản phẩm ............................................................. 50
Hình 3-15. Use case đặt hàng...................................................................................
52

Hình

3-16.

Use

case

quản



địa

chỉ......................................................................... 54 Hình 3-17. Use case quản lý
sản phẩm u thích..................................................... 55 Hình 3-18. Use case
chat.......................................................................................... 56 Hình 3-19. Use

case đánh giá sản phẩm................................................................... 57 Hình 3-20.
Use case đánh giá, bình luận bài viết..................................................... 58 Hình 3-21.
Use case quản lý cửa hàng ..................................................................... 59
Hình 3-22. Use case kiểm duyệt đơn hàng...............................................................
61

Hình

3-23.

Use

case

tham

gia

event/

festival ........................................................... 62 Hình 3-24. Use case quản lý kho
hàng..................................................................... 63 Hình 3-25. Sơ đồ phân rã chức
năng........................................................................ 65 Hình 3-26. Sơ đồ sequence
đăng nhập ..................................................................... 66 Hình 3-27. Sơ đồ
sequence đăng ký......................................................................... 67 Hình 3-28. Sơ
đồ sequence xem chi tiết, tương tác sản phẩm.................................. 68 Hình 3-29.
Sơ đồ sequence đặt hàng ........................................................................ 69 Hình 330. Sơ đồ sequence tìm kiếm sản phẩm ....................................................... 70 Hình
3-31. Sơ đồ sequence quản lý địa chỉ giao hàng ............................................. 70



Hình 3-32. Sơ đồ sequence sản phẩm u thích.......................................................
71

Hình

3-33.



đồ

sequence

xem

sản

phẩm

tương

tự................................................ 71 Hình 3-34. Sơ đồ sequence đơn hàng của
tơi........................................................... 72 Hình 3-35. Sơ đồ xem, đánh giá, bình
luận

bài

viết.................................................

73


Hình

3-36.



đồ

lớp ................................................................................................ 74 Hình 3-37. Giao
diện trang chủ ................................................................................ 93 Hình 3-38.
Giao diện tìm kiếm phổ biến và gợi ý cho bạn ...................................... 94 Hình 339. Tab cá nhân ............................................................................................ 95 Hình
3-40. Giao diện đăng nhập .............................................................................. 96
Hình 3-41. Giao diện đăng ký ..................................................................................
97

Hình

3-42.

Giao

diện

danh

mục ............................................................................... 98 Hình 3-43. Giao diện chi
tiết sản phẩm.................................................................... 99 Hình 3-44. Giao diện tất
cả đánh giá sản phẩm...................................................... 100 Hình 3-45. Giao diện
giỏ hàng ............................................................................... 101 Hình 3-46. Giao

diện thay đổi thuộc tính của sản phẩm........................................ 102 Hình 3-47. Giao
diện tìm kiếm sản phẩm .............................................................. 103 Hình 3-48.
Giao diện kết quả tìm kiếm sản phẩm.................................................. 104 Hình 349. Giao diện thanh tốn ............................................................................ 105 Hình
3-50. Giao diện địa chỉ của tơi ...................................................................... 106
Hình 3-51. Giao diện thêm địa chỉ .........................................................................
107
Hình 3-52. Giao diện quản lý đơn hàng .................................................................
108
phẩm

Hình

3-53.

Giao

diện

........................................................

109

viết
Hình

đánh
3-54.

giá
Giao


diện

sản
bài

đăng ............................................................................... 110 Hình 3-55. Giao diện
sản phẩm tương tự ............................................................... 111 Hình 3-56. Giao
diện chat ...................................................................................... 112 Hình 3-57.
Giao diện yêu thích sản phẩm.............................................................. 113 Hình 3-58.
Giao diện xem tất cả sản phẩm ............................................................ 114 Hình 359. Giao diện thêm mới sản phẩm ............................................................. 114 Hình
4-1. Utility matrix.......................................................................................... 115 Hình
4-2. Consine similarity .................................................................................. 117


Hình 4-3. Sự tương đồng của 2 vector ...................................................................
118

Hình

4-4.

Cơng

thức

tính

TF .................................................................................. 118 Hình 4-5. Cơng thức
tính IDF ................................................................................ 119 Hình 4-6. Cơng

thức weighted rating..................................................................... 120 Hình 4-7. Cơng
thức tính RMSE............................................................................ 121 Hình 4-8. Kết
quả load dữ liệu Content-based....................................................... 122 Hình 4-9. Ví
dụ feature vector của các item........................................................... 123 Hình 4-10.
Kết quả dự đốn content-based............................................................ 123 Hình 4-11.
RMSE của content-based ..................................................................... 123 Hình 412. Bảng số sao user U rate cho item I....................................................... 123 Hình
4-13. Các bước thực hiện Neighborhood-based CF...................................... 125 Hình
4-14. Cơng thức tính hệ sống tương quan Pearson giữa x và y..................... 128 Hình
4-15. Ví dụ về kết trả gợi ý cho 1 user (JSON)............................................. 131 Hình
4-16. Hiển thị kết quả gợi ý cho bạn trong ứng dụng.................................... 132
Hình 4-17. Ví dụ về kết trả có thể bạn thích cho 1 user (JSON)............................
133 Hình 4-18. Hiển thị kết quả có thể bạn thích trong ứng dụng................................
133

Hình

4-19.

Hiển

thị

kết

quả

sản

phẩm


tương

tự

trên

ứng

dụng.............................. 134

DANH MỤC BẢNG
Bảng 1-1. Điểm khác biệt của đề tài ..........................................................................
3 Bảng 3-1. Danh sách actor .......................................................................................
34

Bảng

3-2.

Danh

sách

usecase ................................................................................... 36 Bảng 3-3. Đặc tả
use case kiểm duyệt sản phẩm...................................................... 37 Bảng 3-4. Đặc
tả use case Kiểm duyệt bài viết........................................................ 38 Bảng 3-5. Đặc
tả use case quản lý người dùng ........................................................ 40 Bảng 3-6.
Đặc tả use case quản lý danh mục ........................................................... 42 Bảng 37. Đặc tả use case quản lý event/ festival .................................................... 44 Bảng
3-8. Đặc tả use case quản lý khuyến mãi, quảng cáo...................................... 45
Bảng 3-9. Đặc tả use case quản lý tình trạng đơn hàng ...........................................

47

Bảng

3-10.

Đặc

tả

use

case

đăng

nhập,

đăng

ký ...................................................... 48 Bảng 3-11. Đặc tả use case tìm kiếm sản
phẩm ....................................................... 50 Bảng 3-12. Đặc tả use case xem chi tiết


sản phẩm................................................... 51 Bảng 3-13. Đặc tả use case đặt
hàng ........................................................................ 53 Bảng 3-14. Đặc tả use case
quản lý địa chỉ.............................................................. 55 Bảng 3-15. Đặc tả use case
quản lý sản phẩm yêu thích.......................................... 56 Bảng 3-16. Đặc tả use
case Chat .............................................................................. 57 Bảng 3-17. Đặc tả
use case đánh giá sản phẩm........................................................ 58 Bảng 3-18. Đặc

tả use case đánh giá, bình luận bài viết .......................................... 59 Bảng 3-19.
Đặc tả use case quản lý cửa hàng .......................................................... 60 Bảng 320. Đặc tả use case kiểm duyệt đơn hàng.................................................... 62 Bảng
3-21. Đặc tả use case tham gia event/ festival ................................................ 63
Bảng 3-22. Đặc tả use case quản lý kho hàng ..........................................................
64

Bảng

3-23.

Các

lớp

của



đồ

lớp ............................................................................ 76 Bảng 3-24. Các đối tượng và
thuộc tính của đối tượng............................................ 78 Bảng 3-25. Bảng
orders............................................................................................

79

Bảng

3-26.


Bảng ratings........................................................................................... 80 Bảng 3-27.
Bảng carts.............................................................................................. 80
Bảng 3-28. Bảng Shipping .......................................................................................
80

Bảng

3-29.

Bảng

addresses ...................................................................................... 81 Bảng 3-30.
Bảng option_product_int ....................................................................... 81 Bảng 331. Bảng option_product_decimal............................................................... 82 Bảng
3-32. Bảng option_product_varchar ............................................................... 82
Bảng 3-33. Bảng districts......................................................................................... 83
Bảng 3-34. Bảng history_search ..............................................................................
83

Bảng

3-35.

data_images..................................................................................

Bảng
83

Bảng

3-36.


Bảng users.............................................................................................. 84 Bảng 337. Bảng Transactions ................................................................................. 85 Bảng
3-38.

Bảng

rating_image.................................................................................

85

Bảng 3-39. Bảng products........................................................................................ 86
Bảng 3-40. Bảng Categories.....................................................................................
87

Bảng

3-41.

cart_item.......................................................................................

Bảng
87

Bảng

3-42.


Bảng status_order .................................................................................. 88 Bảng 343. Bảng brands........................................................................................... 88 Bảng
3-44. Bảng provinces...................................................................................... 88 Bảng

3-45.

Bảng

favorites........................................................................................

89

Bảng 3-46. Bảng attributes....................................................................................... 89
Bảng 3-47. Bảng payment........................................................................................ 89
Bảng 3-48. Bảng accounts........................................................................................
90 Bảng 3-49. Bảng rating_star.....................................................................................
90 Bảng 3-50. Bảng wards............................................................................................
91 Bảng 3-51. Bảng seen_products...............................................................................
91

Bảng

3-52.

Bảng

order_item .................................................................................... 92 Bảng 4-1.
Neighborhood-based cho kết quả tốt nhất (RMSE nhỏ nhất)................ 129

DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Từ đầy đủ


Giải thích

TMĐT

Thương mại điện tử

Hình thức mua sắm online

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu cho ứng dụng

API

Application Programming

Giao diện lập trình ứng dụng

Interface
UI/ UX

User Interface/ User Experience

Giao diện người dùng/
Trải nghiệm người dùng

HTTP


HyperText Transfer Protocol

Giao thức truyền siêu
văn bản

JSON

JavaScript Object Noattion

Định dạng trao đổi dữ liệu

RS

Recommendation System

Hệ thống gợi ý sản phẩm
dựa theo thông tin người
dùng

FAIIKAN

Fashion Two Khang

Tên của ứng dụng thực hiện


TĨM TẮT KHĨA LUẬN
Khóa luận “TÌM HIỂU THUẬT TỐN RECOMMENDATION VÀ XÂY DỰNG
ỨNG DỤNG MUA SẮM THỜI TRANG ONLINE” gồm 05 chương:
Chương 1: Giới thiệu về đề tài, đưa ra các điểm nổi bật so với các ứng dụng trước.

Tiếp đến là đề xuất các giải pháp để giải quyết các vấn đề đã đặt ra. Ngoài ra,
chương 1 cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài, phương pháp
nghiên cứu.
Chương 2: Trình bày các kiến thức nền tảng, các cơng nghệ và thuật tốn gợi ý sản
phẩm được sử dụng để xây dựng ứng dụng.
Chương 3: Trình bày chi tiết quy trình xây dựng hệ thống, từ xác định và phân tích
u cầu bài tốn cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho ứng
dụng.
Chương 4: Tập trung trình bày thuật tốn gợi ý sản phẩm. Các kiến thức cần nắm,
các loại gợi ý, các số đo, thực nghiệm và kết quả thực nghiệm, sau đó áp dụng vào
ứng dụng.
Chương 5: Kết luận, rút ra được các ưu nhược điểm của ứng dụng và hướng phát
triển trong tương lai.

GIỚI THIỆU CHUNG
1.1. Lý do chọn đề tài
Ngày nay với sự phát triển mạnh mẽ của nền kinh tế - xã hội , đời sống người dân
cũng dần trở nên ổn định và nâng cao. Do đó nhu cầu về thời trang của người dân
cũng ngày càng phát triển với mn màng sở thích khác nhau mang đến nhiều khó
khăn thử thách cho các developers trong việc tạo ra các ứng dụng có thể đáp ứng tốt
nhất các yêu cầu của tất cả người dùng. Vì vậy những ứng dụng mua bán thời trang
dần ra đời nhằm giúp người dùng lựa chọn sản phẩm thời trang nhanh chóng, phù
hợp với phong cách riêng của từng người , bên cạnh đó ứng dụng cũng là nơi để các
shop thời trang có thể quảng bá những sản phẩm , phong cách phối, thiết kế của
mình đến người dùng một cách dễ dàng và thuận tiện.
Để tiếp cận đến nhiều người dùng, các nhà phát triển ứng dụng mong muốn ứng
dụng của họ chạy được trên nhiều nền tảng đặc biệt là Android, iOS, Windows,


MacOS và Web. Thay vì phải tìm hiểu nhiều ngơn ngữ, cơng nghệ khác nhau ứng

với từng nền tảng thì hiện nay trên thị trường có nhiều cơng cụ hỗ trợ lập trình đa
nền tảng như Flutter, React Native, Ionic, … giúp các nhà phát triển ứng dụng tiết
kiệm thời gian, chi phí dành cho q trình phát triển ứng dụng.
Trong số đó có Flutter mặc dù là cơng cụ ra đời muộn nhất nhưng có tốc độ phát
triển vượt trội và nhiều ưu điểm so với các công nghệ đi trước, nhiều công ty công
nghệ lớn sử dụng Flutter để phát triển sản phẩm của mình như Google, Alibaba,
Tencent, … Ứng dụng xây dựng với Flutter hoạt động với hiệu năng mạnh mẽ và
hiếm có vấn đề về mặt tương thích, ngồi ra đây cịn là cơng cụ mã nguồn mở nên
ngày càng nhiều lập trình viên và cơng ty quan tâm đến công nghệ mới này.
Và tất cả đó cũng chính là lí do nhóm thực hiện đề tài để tạo ra ứng dụng Fashion
Shop 2K cùng với hệ thống gợi ý đáp ứng được những yêu cầu người dùng hiện nay.

1
1.2. Điểm mới và khác biệt về chức năng của đề tài so với một số ứng dụng
thời trang hiện nay
1.2.1. Điểm khác biệt của đề tài
Ứng dụng Tính năng

FAIIKAN

Các ứng dụng khác

Gợi ý bằng phương pháp

Có thêm mục “Có thể

Chưa có.

dự đốn mức ratings của


bạn sẽ thích” ở Home để

người dùng

gợi ý

về những sản

phẩm người dùng cũng
có thể thích dựa

trên

việc dự đốn rating của
người dùng theo các
ratings đã có hoặc hiển
thị các sản phẩm phổ
biến nếu chưa có rating


×