Tải bản đầy đủ (.pdf) (78 trang)

xây dưng trang WEB xem phim ONLINE kết hợp hệ thống gọi ý và CHAT BOT (khóa luận tốt nghiệp)

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 (27.61 MB, 78 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 ANH HÀO - 18520716

CHÂU MINH QUANG – 18521290

BÁO CÁO KHÓA LUẬN
XÂY DỰNG TRANG WEB XEM PHIM ONLINE KẾT HỢP
HỆ THỐNG GỢI Ý VÀ CHAT BOT
BUILD A MOVIE WATCHING WEBSITE WITH MOVIE
RECOMMENDATION SYSTEM AND CHATBOT.

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

TP. HỒ CHÍ MINH, 2022


ĐẠ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 ANH HÀO - 18520716
CHÂU MINH QUANG – 18521290

BÁO CÁO KHÓA LUẬN
XÂY DỰNG TRANG WEB XEM PHIM ONLINE KẾT HỢP
HỆ THỐNG GỢI Ý VÀ CHAT BOT
BUILD A MOVIE WATCHING WEBSITE WITH MOVIE


RECOMMENDATION SYSTEM AND CHATBOT.
KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
ThS. MAI TRỌNG KHANG

TP. HỒ CHÍ MINH, 2022


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
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

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..

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:
XÂY DỰNG TRANG WEB XEM PHIM ONLINE KẾT HỢP HỆ THỐNG GỢI Ý VÀ
CHAT BOT
Nhóm SV thực hiện:

Cán bộ hướng dẫn:

Nguyễn Anh Hào

18520716

Châu Minh Quang

18521290

ThS. Mai Trọng Khang

Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang
Số bảng số liệu
Số tài liệu tham khảo

_______
_______
_______

Số chương
Số hình vẽ
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 Anh Hào:………../10
Châu Minh Quang:………../10

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

Mai Trọng Khang



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

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..

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 TRANG WEB XEM PHIM ONLINE KẾT HỢP HỆ THỐNG GỢI Ý VÀ
CHAT BOT
Nhóm SV thực hiện:

Cán bộ phản biện:

Nguyễn Anh Hào

18520716

Châu Minh Quang

18521290

Đánh giá Khóa luận
1. Về cuốn báo cáo:

Số trang
Số bảng số liệu
Số tài liệu tham khảo

_______
_______
_______

Số chương
Số hình vẽ
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 Anh Hào:………../10
Châu Minh Quang:………../10

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


LỜI CẢM ƠN
Lời cảm ơn đầu tiên, chúng tôi xin dành đến thầy TS. Mai Trọng Khang – giảng viên hướng
dẫn của chúng tơi trong khóa luận tốt nghiệp này. Cảm ơn thầy đã luôn quan tâm, nhắc nhở và tận
tình hướng dẫn chúng tơi. Cảm ơn thầy vì sự nhiệt huyết bất tận trong quá trình hướng dẫn, sự nhiệt
huyết ấy đã cổ vũ và trở thành động lực giúp chúng tơi thực hiện tốt khóa luận.
Lời cảm ơn cuối cùng, chúng tôi xin dành cho các anh chị, các bạn, các em trong nhóm
nghiên cứu đã ln đồng hành, giúp đỡ và cổ vũ cho chúng tôi trong suốt q trình thực hiện khóa
luận.
Trong q trình thực hiện khóa luận khó tránh khỏi những sai sót, hạn chế, chúng tơi rất
mong nhận được sự nhận xét, góp ý của quý thầy cô và các bạn để chúng tôi có thể tiến xa hơn
trong con đường học thuật.
Xin chân thành cảm ơn.

Thành phố Hồ Chí Minh, ngày 7 tháng 6 năm 2022
Sinh viên thực hiện
NGUYỄN ANH HÀO
CHÂU MINH QUANG

TP.Hồ Chí Minh, ngày 15 tháng 06 năm 2022


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: XÂY DỰNG TRANG WEB XEM PHIM ONLINE KẾT HỢP HỆ
THỐNG GỢI Ý VÀ CHAT BOT
TÊN ĐỀ TÀI (TIẾNG ANH): BUILD A MOVIE WATCHING WEBSITE WITH
MOVIE RECOMMENDATION SYSTEM AND CHATBOT.

Cán bộ hướng dẫn: TS. MAI TRỌNG KHANG
Thời gian thực hiện: Từ ngày 21/02/2022 đến ngày 11/06/2022
Sinh viên thực hiện:
NGUYỄN ANH HÀO – 18520716
CHÂU MINH QUANG – 18521290
Nội dung đề tài: (Lý do chọn đề tài, các vấn đề của một số ứng dụng hiện nay, mô tả chi tiết mục
tiêu, phạm vi, đối tượng sử dụng, điểm nổi bật của ứng dụng, phương pháp thực hiện, nền tảng cơng
nghệ, các tiêu chí khác)

Lý do chọn đề tài:
“Con người là một loài động vật kể chuyện rất nhiều. Toàn bộ cuộc đời của chúng ta được xây dựng
xung quanh những ý tưởng hư cấu; thần thoại từ thời xa xưa đã được truyền lại cho đến hiện tại; bởi

vì chúng phục vụ các nhu cầu tâm linh – xã hội của chúng ta.”
Ngày nay, phim ảnh xuất hiện mọi ngóc ngách, pha trộn nhiều màu sắc, nội dung tạo thêm
phần đa dạng phong phú. Và theo đó nhu cầu thưởng thức phim ảnh hay xem phim
của con người ngày càng lớn. Đó cũng là lý do các web xem phim ra
đời, tiêu biểu là Netflix, Disney, HBO…
Tuy nhiên với số lượng phim ảnh càng ngày càng lớn thì việc phân loại để sắp xếp và
quản lý càng ngày càng phức tạp đối với hệ thống lưu trữ phim ảnh số. Điều ngày cho thấy
việc phân loại phim tự động rất cần thiết để phục vụ cho việc phân loại và từ đó
khuyến nghị cho người dùng có trải nghiệm tốt hơn.
Thông thường để xác định một bộ phim thuộc thể loại thì cần dựa vào kỹ năng người
xem và tìm hiểu xem nội dung của bộ phim đó được thể hiện ở mô tả một cách ngắn gọn. Với các
thể loại đặc trưng như phim tình cảm hay kinh dị thì có thể dễ phân biệt được. Nhưng một số thể loại


như hành động, kịch tính, hay chiến tranh, phim tài liệu thì việc phân loại trở nên phức tạp hơn do
các thể loại này hao hao giống nhau. Đôi khi một bộ phim chiến tranh và tài liệu cùng kể về 1 sự kiện
lịch sử.
Với sự phát triển công nghệ ngày nay, đặc biệt trong lĩnh vực máy học, học sâu, nhóm
chúng tơi quyết định xây dựng mơ hình máy học phân loại thể loại cho các bộ phim theo mô tả với
ngôn ngữ là tiếng anh kết hợp với hệ thống chat bot trong một trang web xem phim.

Mục tiêu:
Xây dựng trang web xem phim trực tuyến với hệ thống mua gói và đăng kí thành viên
một cách chun nghiệp.
Trang web sử dụng những công nghệ mới, phù hợp đáp ứng khả năng mở rộng và tương
tác cao.
Trang web có giao diện trực quan, phù hợp với nhu cầu của đối tượng người dùng.
Trang web gợi ý phim một cách phù hợp cho người dùng.
Ứng dụng chat bot giúp hỗ trợ khách hàng giải quyết các vấn đề phát sinh trước và sau
khi đăng ký trở thành thành viên.

Kết hợp hệ thống khuyến nghị phim giúp khách hàng có trải nghiệm tốt và phù hợp nhất
khi đến với trang web.

Phạm vi:
Phạm vi môi trường: Web
Phạm vi chức năng:
− Đối với chatbot:
+ Có khả năng giải đáp và trả lời các câu hỏi phổ biến mà khách hàng thường hỏi nhằm
tư vấn cho khách hàng trong việc xem phim.
+ Cung cấp thơng tin chi tiết về các phim kèm hình ảnh minh họa.
+ Nhận biết, hiểu và trả lời tương đối ngơn ngữ tự nhiên dạng văn bản.
+ Tích hợp Wikidata API để trả lời trong trường hợp khách hàng đặt các câu hỏi ngoài
phạm vi.
− Đối với ứng dụng Web:


- Tích hợp đăng nhập, đăng kí cũng như đăng nhập nhanh thông qua Google, Facebook
và dịch vụ gửi link kích hoạt tài khoản khi đăng ký thơng qua mail.
-Cho phép tra cứu, tìm kiếm với nhiều thể loại, danh mục tùy chọn và xem phim trực
tuyến.
-Hỗ trợ bình luận, chia sẻ thông tin về phim thông qua Facebook.
-Cung cấp chức năng yêu thích phim cũng như lưu danh mục phim u thích.
-Cho phép thay đổi thơng tin người dùng.
-Cung cấp giao diện admin quản lý với các chức năng thêm/xóa/sửa tương ứng với các
loại đối tượng tồn tại trong website (phim, danh mục phim, thể loại phim, người dùng).
-Hỗ trợ thống kê về số lượng người dùng thông qua biểu đồ.
− Đối với hệ thống gợi ý: hệ thống bao gồm gợi ý dựa trên nội dung ( content based ) của
một phim từ đó tích hợp vào các phần khác nhau trên trang web để tối ưu hóa khả năng
hỗ trợ cho người dùng.


Đối tượng sử dụng:
- Đối tượng trong phạm vi đề tài hướng đến: Khách hàng có nhu cầu tìm kiếm và xem
phim. Khơng giới hạn độ tuổi truy cập của đối tượng.

Điểm nổi bật của ứng dụng:
Trang web được xây dựng với giao diện đẹp mắt giúp thu hút người dùng.
Trang web sẽ có thêm chatbot tự động trả lời cho người dùng còn những ứng dụng nổi
bật hiện nay hầu như khơng có chatbot hoặc có chat mà người trực tiếp nói chuyện với
người dùng.
Hệ thống đăng nhập, đăng ký và mua gói giúp khách hàng dễ dàng hơn trong việc sử
dụng dịch vụ.
Trang web sẽ có hệ thống gợi ý giúp người dùng tìm thấy phim mình thích nhanh hơn.

Kế hoạch thực hiện:
Thời gian thực hiện từ ngày 21/02/2022 đến ngày 19/06/2022.
Nhóm chia thành 4 giai đoạn cụ thể:

Giai đoạn 1: Hoàn chỉnh trang web hiện tại. Giai đoạn này gồm 2 sprint:
Thời gian: 21/02/2022 – 28/03/2022 (5 tuần)
Sprint 1: Lên kế hoạch chi tiết về các sửa đổi, cập nhật cần thiết cho trang web hiện tại.


Sprint 2: Triển khai chỉnh sửa ở phía Backend (database, server,...) và ở phía Frontend
(update UI, cải thiện UX, loading,...).
Sprint

Thời gian

Cơng việc


Sprint 1

21/02/2022 – 28/02/2022

- Tìm hiểu cơng nghệ
thêm NodeJS và
MongoDB để hiệu chỉnh
lại các model của
database
- Lên kế hoạch cho
những hạng mục cần sửa
chữa, cập nhật.

Sprint 2

01/03/2022 – 28/03/2022

- Xây dựng CSDL và
RESTful API mới
- Triển khai các chỉnh
sửa cần thiết sau khi lên
kế hoạch

Giai đoạn 2: Hoàn thành ChatBot. Giai đoạn này gồm 2 sprint:
Thời gian: 29/03/2022 – 11/04/2022 (2 tuần)
Sprint 1: Lên kế hoạch cho kịch bản chatbot mới và thực hiện việc training cho chatbot.
Sprint 2: Triển khai trang web và kết hợp chatbot vào trang web
Sprint

Thời gian


Công việc

Sprint 1

29/03/2022 – 05/04/2022

- Lên kế hoạch cho kịch
bản mới.
- Lên danh sách các
thông tin dùng cho việc
training.
- Thực hiện training.


Sprint 2

06/04/2022 – 11/04/2022

- Triển khai trang web lên
heroku để có thể tích hợp
chatbot vào trong trang
web.

Giai đoạn 3: Hồn thành module hệ thống gợi ý. Giai đoạn này gồm 3 sprint:
Thời gian: 12/04/2022 – 12/06/2022 (8 tuần)
Sprint 1: Lên kế hoạch chi tiết tìm hiểu về hệ thống gợi ý cũng như đưa ra phương hướng
phát triển của hệ thống.
Sprint 2: Thiết kế hệ thống cũng như thu thập hoặc thiết kế data dùng để sử dụng cho hệ
thống.

Sprint 3: Triển khai hệ thống tích hợp vào những phần gợi ý phim đã có trên trang web.
Sprint

Thời gian

Cơng việc

Sprint 1

12/04/2022 – 19/04/2022

- Lên kế hoạch chi tiết
tìm hiểu về hệ thống gợi
ý cũng như đưa ra
phương hướng phát triển
của hệ thống.

Sprint 2

20/04/2022 – 27/05/2022

-Thiết kế hệ thống cũng
như thu thập hoặc thiết kế
data dùng để sử dụng cho
hệ thống theo kế hoạch.

Sprint 3

28/05/2022 – 12/06/2022


- Triển khai hệ thống tích
hợp vào những phần gợi
ý phim đã có trên trang
web.

Giai đoạn 4: Hoàn thành tổng hợp document cho toàn bộ dự án. Chuẩn bị script, slide
cho buổi trình bày và Đóng dự án. Giai đoạn này gồm 1 sprint:


Thời gian: 13/06/2022 – 19/06/2022 (1 tuần)
Sprint 1: Tổng hợp document cho toàn bộ dự án. Chuẩn bị script, slide cho buổi trình bày
Sprint

Thời gian

Cơng việc

Sprint 1

13/06/2022 – 19/06/2022

- Tổng hợp document cho
toàn bộ dự án. Chuẩn bị
script, slide cho buổi trình
bày.

Xác nhận của CBHD

TP. HCM, ngày….tháng …..năm…..


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

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

NGUYỄN ANH HÀO

CHÂU MINH QUANG


LỜI NĨI ĐẦU
“Con người là một lồi động vật kể chuyện rất nhiều. Toàn bộ cuộc đời của chúng
ta được xây dựng xung quanh những ý tưởng hư cấu; thần thoại từ thời xa xưa đã
được truyền lại cho đến hiện tại; bởi vì chúng phục vụ các nhu cầu tâm linh – xã
hội của chúng ta.”
Ngày nay, phim ảnh xuất hiện mọi ngóc ngách, pha trộn nhiều màu sắc, nội dung
tạo thêm
phần đa dạng phong phú. Và theo đó nhu cầu thưởng thức phim ảnh hay xem phim
của con người ngày càng lớn. Đó cũng là lý do các web xem phim ra
đời, tiêu biểu là Netflix, Disney, HBO…
Tuy nhiên với số lượng phim ảnh càng ngày càng lớn thì việc phân loại để sắp xếp

quản lý càng ngày càng phức tạp đối với hệ thống lưu trữ phim ảnh số. Điều ngày
cho thấy
việc phân loại phim tự động rất cần thiết để phục vụ cho việc phân loại và từ đó
khuyến nghị cho người dùng có trải nghiệm tốt hơn.
Thông thường để xác định một bộ phim thuộc thể loại thì cần dựa vào kỹ năng
người
xem và tìm hiểu xem nội dung của bộ phim đó được thể hiện ở mô tả một cách
ngắn gọn. Với các thể loại đặc trưng như phim tình cảm hay kinh dị thì có thể dễ

phân biệt được. Nhưng một số thể loại như hành động, kịch tính, hay chiến tranh,
phim tài liệu thì việc phân loại trở nên phức tạp hơn do các thể loại này hao hao
giống nhau. Đôi khi một bộ phim chiến tranh và tài liệu cùng kể về 1 sự kiện lịch
sử.
Với sự phát triển công nghệ ngày nay, đặc biệt trong lĩnh vực máy học, học sâu,
nhóm
chúng tơi quyết định xây dựng mơ hình máy học phân loại thể loại cho các bộ
phim theo mô tả với ngôn ngữ là tiếng anh kết hợp với hệ thống chat bot trong một


trang web xem phim và thực hiện đồ án với đề tài “XÂY DỰNG TRANG WEB XEM
PHIM ONLINE KẾT HỢP HỆ THỐNG GỢI Ý VÀ CHAT BOT ”.

Với sự hướng dẫn tận tình của thầy Mai Trọng Khang và những lời góp ý chân thành từ
thầy, chúng em đã có những cải thiện tích cực và hồn thành kịp thời đồ án này. Tuy đã
cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng khó tránh
khỏi những thiếu sót. Nhóm chúng em mong nhận được sự thơng cảm và góp ý từ q
thầy cơ. Nhóm chúng em xin chân thành cảm ơn.
Nhóm sinh viên thực hiện

Nguyễn Anh Hào Châu Minh Quang

Mục Lục
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

4

Người nhận xét

6


NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

7

Người nhận xét

9

CHƯƠNG 1. GIỚI THIỆU CHUNG

21

1.1 Lý do chọn đề tài

21

1.2 Tính năng khác biệt

21

1.3 Đối tượng nghiên cứu

22

1.4 Phạm vi nghiên cứu

23

1.5 Phương pháp thực hiện


23

CHƯƠNG 2. KIẾN THỨC NỀN TẢNG

24

2.1 Tổng quan về mơ hình MVC

24

2.1.1. Khái niệm

24

2.1.2. Cấu trúc mơ hình MVC

25

2.1.2.1 Tầng xử lý – Controller

25

2.1.2.2 Tầng logic dữ liệu – Model

25

2.1.2.3 Tầng giao diện – View

25


2.1.3. Tại sao dùng mơ hình MVC

25

2.2 Tổng quan về Nodejs

26


2.2.1. Giới thiệu

26

2.2.2. Tạo sao chọn Nodejs để phát triển server

27

2.2.3. Các đặc tính của Nodejs

27

2.2.4. Áp dụng vào đề tài

28

2.3 Hệ quản trị cơ sở dữ liệu MongoDB

28


2.3.1. Giới thiệu

28

2.3.2. Ưu điểm của MongoDB

28

2.3.3. Nhược điểm của MongoDB

29

2.4 ReactJs

29

2.4.1. Giới thiệu

29

2.4.2. Những khái niệm cơ bản

30

2.4.2.1 DOM ảo (Virtual DOM)

30

2.4.2.2 JSX


30

2.4.2.3 Component

30

2.4.2.4 Props

30

2.4.2.5 State

31

2.4.2.6 Vòng đời của Component

31

2.4.3. Ưu nhược điểm của Reactjs

32

2.4.3.1 Ưu điểm

32

2.4.3.2 Nhược điểm

32


CHƯƠNG 3. TÌM HIỂU VÀ LỰA CHỌN CƠNG NGHỆ ỨNG DỤNG CHATBOT

33

3.1 Tìm hiểu về chatbot

33

3.1.1. Chatbot là gì?

33

3.1.2. Tính ứng dụng:

33

3.1.3. Xu hướng phát triển:

34

3.2. Tìm hiểu về Facebook Messenger

35

3.2.1. Tổng quan

35

3.2.2. Đánh giá:


36

3.3. Chatbot Facebook:

37

3.3.1. Giới thiệu về Chatbot Facebook:

37

3.3.3. Một số khái niệm cơ bản:

38

3.3.3.1. Webhook:

38

3.3.3.2. Facebook Application:

38

3.3.3.3. Hosting:

38

3.3.3.4. Heroku:

38



3.4. Áp dụng công nghệ vào chatbot:

38

3.4.1. Facebook API:

38

3.4.2. Facebook Graph Api:

39

3.4.2.1. Giới thiệu:

39

3.4.2.2. Áp dụng:

39

3.5. Wit.ai:

40

3.5.1. Giới thiệu:

40

3.5.2. Utterances:


41

3.5.3. Intent:

41

3.5.4. Entities:

42

CHƯƠNG 4. XÂY DỰNG HỆ THỐNG GỢI Ý
Ôn Lại Kiến Thức

43
43

Machine learning là gì?

43

Machine learning Workflow

43

Phân loại Machine learning

44

Supervised learning


44

Unsupervised learning

45

Một số khái niệm cơ bản

45

Ứng dụng của Machine learning

46

CHƯƠNG 5. XÂY DỰNG HỆ THỐNG
5.1.Khảo sát và phân tích hệ thống

46
46

4.1.1 Chức năng:

46

5.1.2 Đối tượng của Website

47

5.1.3 Đặc điểm:


48

Website được thiết kế với
5.2 PHÂN TÍCH HỆ THỐNG

48
49

5.2.1 Các thơng tin đầu ra đầu vào hệ thống:

49

5.2.2 Tác nhân

49

5.2.2. Danh sách các actors

51

5.2.3. Danh sách các use cases:

51

5.2.4. Đặc tả use-case:

53

5.3 THIẾT KẾ, HIỆN THỰC GIAO DIỆN

5.3.1 Danh sách màn hình:
KẾT LUẬN- HƯỚNG PHÁT TRIỂN
Ưu điểm

64
64
77
77


Hạn chế

77

Hướng phát triển

78

TÀI LIỆU THAM KHẢO

78

CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1 Lý do chọn đề tài
Một trang web xem phim là lựa chọn tốt cho việc thiết kế giao diện và học tập những kiến thức
mới. Ngoài ra với sự phát triển của công nghệ AI đang ngày càng phát triển thì những ứng dụng
của ngày càng được áp dụng rộng rãi vì thế nên nhóm quyết định kết hợp thêm chat bot và hệ thống
gợi ý vào trang web để phục vụ tốt hơn cho người dùng cũng như cho nhóm một cơ hội để tìm hiểu
sâu hơn về lĩnh vực này.
Với tinh thần đó, nhóm thực hiện quyết định xây dựng “XÂY DỰNG TRANG WEB XEM

PHIM ONLINE KẾT HỢP HỆ THỐNG GỢI Ý VÀ CHAT BOT” nhằm mục đích mang đến trải
nghiệm xem phim cho người dùng cùng với việc hỗ trợ của chat bot để giúp người dùng dễ dàng
hơn trong việc sử dụng và giúp cho trang web thu hút được nhiều người dùng hơn.
Khách hàng chỉ cần với những thao tác đơn giản là có thể những bộ phim phù hợp với nhu cầu của
mình.

1.2 Tính năng khác biệt
Các trang web hiện nay đa số đều có ý tưởng và phương thức hoạt động tương đồng ở hầu hết
các chức năng như: Tìm kiếm, đánh giá, bình luận, … và khơng có gì khác biệt cho khách hàng trải
nghiệm ở ứng dụng ngoài trừ kết hợp với những trang web khác.
Sau quá trình khảo sát thực tế và lắng nghe ý kiến của người dùng, giải pháp nhóm đề ra là thiết
kế trang web khác biệt so với các trang web hiện nay nhưng phải dễ nhìn, dễ sử dụng và thể hiện
được những thơng tin cần thiết cho người dùng
Chọn lọc các chức năng tiện dụng nhất của top các ứng dụng lớn hiện nay để đưa vào trang web của
mình.
Sau khi khảo sát, tìm hiểu và dùng thử một số trang web như: Netflix, phimchill … và nhận thấy
một số khuyết điểm của những trang web ấy:


Về phần giao diện và chức năng:

- Netflix: Giao diện khơng có q nhiều khác biệt ở các phần khác nhau ( sử dụng chung một
thành phần lập lại).

- phimchill: q nhiều quảng cáo, khơng có hệ thống đăng nhập
⇨ Điều này đã làm dẫn đến sự hạn chế thoải mái lựa chọn và mua sắm của người dùng.
Về phần chatbot:

- Netflix: Khơng có chatbot.
- phimchill: Khơng có chatbot.

Về phần hệ thống gợi ý:

- Netflix: có hệ thống gợi ý.
- phimchill: khơng có hệ thống gợi ý.
⇨ Vì muốn tạo ra sự khác biệt so với những ứng dụng hiện nay nên nhóm đã quyết định thêm
chatbot mong muốn người dùng có thể được chatbot hỗ trợ tư vấn người dùng những bộ
phim phù hợp.

1.3 Đối tượng nghiên cứu
Đồ án này hướng đến nghiên cứu các đối tượng sau:
- Các công nghệ:
+Front-end: Reactjs.
+Back-end: Nodejs.
+Database: MongoDB.
+Cào dữ liệu phim: TMDB, 2Embed.
+Chatbot Facebook Messenger
+IDE: Visual Studio Code
- Đối tượng trong phạm vi đề tài hướng đến: Khách hàng có nhu cầu tìm kiếm và xem phim. Không giới
hạn độ tuổi truy cập của đối tượng.


1.4 Phạm vi nghiên cứu
Phạm vi môi trường: Web
Phạm vi chức năng:
− Đối với chatbot:
+ Có khả năng giải đáp và trả lời các câu hỏi phổ biến mà khách hàng thường hỏi nhằm tư vấn cho
khách hàng trong việc xem phim.
+ Cung cấp thông tin chi tiết về các phim kèm hình ảnh minh họa.
+ Nhận biết, hiểu và trả lời tương đối ngôn ngữ tự nhiên dạng văn bản.
+ Tích hợp Wikidata API để trả lời trong trường hợp khách hàng đặt các câu hỏi ngoài phạm vi.

− Đối với ứng dụng Web:
- Tích hợp đăng nhập, đăng kí cũng như đăng nhập nhanh thơng qua Google, Facebook và dịch vụ gửi
link kích hoạt tài khoản khi đăng kí thơng qua mail.
-Cho phép tra cứu, tìm kiếm với nhiều thể loại, danh mục tùy chọn và xem phim trực tuyến.
-Hỗ trợ bình luận, chia sẻ thơng tin về phim thơng qua Facebook.
-Cung cấp chức năng u thích phim cũng như lưu danh mục phim yêu thích.
-Cho phép thay đổi thông tin người dùng.
-Cung cấp giao diện admin quản lý với các chức năng thêm/xóa/sửa tương ứng với các loại đối tượng
tồn tại trong website (phim, danh mục phim, thể loại phim, người dùng).
-Hỗ trợ thống kê về số lượng người dùng thông qua biểu đồ.

1.5 Phương pháp thực hiện
Cách tiếp cận: ứng dụng được xây dựng dựa theo mơ hình MVC.
Nhóm đã sử dụng các phương pháp như sau:
Phương pháp nghiên cứu:
- Phương pháp đọc tài liệu


- Phương pháp phân tích các ứng dụng liên quan phổ biến hiện nay
- Phương pháp thực nghiệm

Phương pháp công nghệ:
− Tìm hiểu cách thức xây dựng Messenger Chatbot.
− Tìm hiểu bài tốn xử lí ngơn ngữ tự nhiên (Natural Language Processing).
-Tìm hiểu về cách sử dụng tài nguyên từ Wikidata API.
− Xây dựng RESTful API để thao tác với dữ liệu.
− Xây dựng website hỗ trợ tương tác giữa người dùng và hệ thống.

CHƯƠNG 2. KIẾN THỨC NỀN TẢNG
2.1 Tổng quan về mơ hình MVC

2.1.1. Khái niệm
-Mơ hình MVC là một trong những cái tên mà bạn không thể nào khơng biết khi tiếp cận trong
việc lập trình web. Nếu bạn chưa hiểu rõ về mơ hình lập trình này, bài viết dưới đây của MVC
chính là cẩm nang kiến thức mà bạn cần đó.

Hình 2.1 - Mơ hình MVC


2.1.2. Cấu trúc mơ hình MVC
2.1.2.1 Tầng xử lý – Controller
Tầng xử lý là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ
đó, C đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller cịn có chức năng kết nối
với model.

2.1.2.2 Tầng logic dữ liệu – Model
Tầng logic dữ liệu - Model là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng. Bộ
phận này là một cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới
hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường. Model thể
hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,…

2.1.2.3 Tầng giao diện – View
Tầng giao diện - View là phần giao diện (theme) dành cho người sử dụng. Nơi mà người dùng có
thể lấy được thơng tin dữ liệu của MVC thơng qua các thao tác truy vấn như tìm kiếm hoặc sử
dụng thông qua các website.
Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệ thống, nơi các thành
phần HTML được tạo ra. Bên cạnh đó, View cũng có chức năng ghi nhận hoạt động của người
dùng để tương tác với Controller. Tuy nhiên, View khơng có mối quan hệ trực tiếp với
Controller, cũng không được lấy dữ liệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho
Controller mà thôi.


2.1.3. Tại sao dùng mơ hình MVC
MVC đang là mơ hình được ứng dụng rất nhiều trong lập trình.
Hệ thống MVC phát triển tốt sẽ cho phép phát triển front – end, back – end cùng trên hệ thống
mà khơng có sự can thiệp, chia sẻ, chỉnh sửa các tập tin trong khi một hoặc hai bên vẫn đang làm
việc.
Việc sử dụng mơ hình tương đối đơn giản. Chỉ cần hiểu rõ quy trình vận hành, nắm được các
chức năng của từng bộ phận thì việc triển khai mơ hình MVC tương đối dễ dàng.
Mơ hình MVC có ưu điểm với sự phát triển của ứng dụng như:
Kiểm tra dễ dàng: Với MVC, bạn có thể dễ dàng kiểm tra, rà sốt lỗi phần mềm trước khi tới tay
người tiêu dùng, đảm bảo chất lượng và độ uy tín cao hơn.
Chức năng control: Trên các nền website thì ngơn ngữ lập trình như CSS, HTML, Javascript có
một vai trị vơ cùng quan trọng. Việc sử dụng mơ hình MVC sẽ giúp bạn có một bộ control ưu
việt trên nền tảng các ngôn ngữ hiện đại với nhiều hình thức khác nhau.


×