Khóa luận này đi sâu vào bài toán: “Làm như thé nào dé gợi ý, đề xuất cho người dùng những thông tin mà họ yêu thích?” Hệ thống đề xuất là một hệ thống cung cấp đề xuất cho người dùng về
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG
APPLICATION FOR THE CINEMA
KY SU NGANH MẠNG MAY TÍNH VA TRUYEN
THONG
GIANG VIEN HUONG DAN PGS TS LE TRUNG QUAN
sow TP HO CHÍ MINH, 2023 x»cs
Trang 2LỜI CÁM ƠN
Tôi xin chân thành gửi lời cảm ơn đến những người đã đóng góp và hỗ trợ tôi trong quá trình nghiên cứu và hoàn thành khóa luận tốt nghiệp này.
Đầu tiên, tôi muốn tri ân sự hướng dẫn và định hướng từ giảng viên hướng dẫn
của tôi, thầy Lê Trung Quân Sự kiên nhẫn, kiến thức sâu rộng và những ý kiến xây dựng
của thầy đã đóng vai trò quan trọng trong việc định hình và phát triển nội dung nghiêncứu của tôi Tôi rất biết ơn vì sự tận tâm và hỗ trợ của thầy suốt quá trình này
Tôi không thể không nhắc đến sự giúp đỡ và cống hiến của bạn bè va gia đình trong suốt quá trình này Những lời khích lệ, sự động viên và tình yêu thương của các
bạn đã truyền động lực và đồng hành cùng tôi trong những khoảnh khắc khó khăn
Đồng thời tôi cũng gửi lời cảm ơn đến anh, chị, bạn bè cùng khóa hỗ trợ, góp ý
kiến, cung cấp thông tin và kiến thức hữu ích giúp cho tôi thực hiện báo cáo hoàn thiện
dé tai hơn
Cuối cùng, tôi muốn gửi lời cảm ơn đến tất cả những người đã đóng góp dữ liệu,
thông tin và sự hỗ trợ cho quá trình nghiên cứu của tôi Đóng góp của các bạn đã làm
cho khóa luận tốt nghiệp của tôi trở nên phong phú và có giá trị
Lời cảm ơn sâu sắc của tôi dành cho tất cả những người đã đồng hành và hỗ trợ tôi trong quá trình hoàn thành khóa luận tốt nghiệp này Sự giúp đỡ của các bạn đã góp
phần quan trọng vào thành công của tôi
Trang 3DANH MỤC BANG
Bảng 1 Giá tiền Netflix trên thị trường hiện nay 20Bảng 2 So sánh giá tiền của các rạp chiếu phim hiện nay
Bảng 3 Sự khác biệt của mô hình MVT và MVC -++ 28
Bảng 4 Ví dụ về utility matrix với hệ thống gợi ý -+ 78
Bảng 5 Vi dụ về Utility matrix với hệ thống gợi ý bộ phim 79
Bang 6 Xây dựng feature vector cho mỗi item : -:5ccccscss2 80
Bảng 7 Ví dụ về ham mắt mát của user
Bảng 8 Ví dụ đầu vào là Utility matrix dựa trên số rating
Bảng 9 Kết quả tinh utility matrix -2222222+z2222vvvvecrrrrrrrres 85Bang 10 Kết quả sau khi được chuẩn hóa (normalized utility matrix) 85
Bang 11 Kết quả sau khi sử dung Cosine Similarity - 86Bang 12 Thực hiện tính toán Normalized rating matrix - 87 Bang 13 Dua ra du đoán của | user và 1 Ifem - ¿+ + s«ex++=x+ 87 Bang 14 Tinh giá trị trung bình cua rating theo item eee 88 Bang 15 Xây dung normalized utility ImatTIX 5s 5< 55+ 5ss+ex+xzx> 88
Bảng 16 Xây dựng Item similarity matriX - 2 5+5cc5++ccczeccxee 88
Bảng 17 Dua ra dự đoán còn thiếu .-¿-222+z+2t22vvvvzrrrrrrrrres 89Bang 18 Bang so sánh mục đích và dau vào của các phương pháp 90
Bang 19 Điểm mạnh và điểm yếu của các phương pháp hệ gợi ý 92Bảng 20 Đánh giá độ chính xác dự đoán thuật toán Matrix Factorization 115 Bảng 21 Đánh giá độ chính xác dự đoán theo RMSE của MF và CE 116
Trang 4DANH MỤC HÌNH
Hình 1 Website Galaxy Cinema ¿- ¿2-5 Scrstztrkrkerrrrrrkreree 16 Hình 2 Website CGV Cinemas - ¿5-5-5552 S*2*etsrsrerrrereree 17
Hình 3 Website LOTTE Cinema VN - 5555 552<+c+csccerreree 17
Hình 4 Website CinesfaT- 5c St tr rưưn 18 Hình 5 Mô hình và dữ liệu của Netflix ¿555cc 5c2+ss+xcxsvse> 19 Hình 6 Framework ReactJS
Hình 7 Hình ảnh minh họa JSX trong ReactJS.
Hình 8 Render lại toàn bộ UI trong DOM ao
Hình 10 Fetch API - s5 tt ket tk 11111111 rrrre 26 Hình 11 Logo DjangO - - + vn ngư 27
Hình 12 Model DjangO 6 + 1k TH HH nrưn 28
Hình 13 Query DjangO ¿ - + + 2S 212 2 2 22121012110111111 1c 29
Hình 14 Chu trình thực hiện của Data ¿25252 S+ccx+xsezvxvxeerrseexs 35
Hình 15 Các phương pháp recommendation
Hình 16 Amazon Echo (loa thông minh có trợ lý giọng nói)
Hình 17 Google Nest Hub (màn hình thông minh có trợ lý giọng nói) 38
Hình 18 Ring Video Doorbell (chuông cửa thông minh có video giám sát) 38
Hình 19 Philips Hue (hệ thống chiếu sáng thông minh) - 39
Hình 20 Nest Learning Thermostat (máy điều nhiệt thông minh) 39
Hình 21 Fitbit Charge 4 (máy theo dõi sức khỏe) -++5-<-5< 39
Hình 22 Peloton Bike + (xe dap tập thé dục thông minh) - 39Hình 23 Withings Body + (cân thông minh phân tích thành phần cơ thẻ) 40Hình 24 Apple Watch Series 6 (đồng hồ thông minh)
Hình 25 Oura Ring (vòng thông minh theo dõi giấc ngủ và hoạt động) 40
Hình 26 Sony PlayStation 5 (máy chơi game thế hệ tiếp theo) 40Hình 27 Xbox Series X (máy chơi game thế hệ tiếp theo) - 4I
Hình 28 Nintendo Switch (máy chơi game lai) - 5 5+ces++++ses+ 41
Hình 29 Oculus Quest 2 (tai nghe thực 7100 41
Hình 30 Razer BlackWidow Elite (bàn phím chơi game) 4I
Hình 31 Apple MacBook Pro (máy tính xách tay)
Trang 5Hình 33.
Hình 34.
Hình 35.
Hình 36.
Hình 37.
Hình 38.
Hình 39.
Hình 40.
Hình 41.
Hình 42.
Hình 43.
Hình 44.
Hình 45.
Hình 46.
Hình 47.
Hình 48.
Hình 49.
Hình 50.
Hình 51.
Hình 52.
Hình 53.
Hình 54.
Hình 55.
Hình 56.
Hình 57.
Hình 58.
Hình 59.
Hình 60.
Hình 61.
Hình 62.
Hình 63.
Wacom Intuos Pro (máy tính bảng) - 555cc 42
Evernote (ứng dụng sắp xếp và ghi chú) -+ 42
LG OLED C1 Series (TV OLED cao cấp) -: -+ 43
Sonos Arc (âm thanh cao cấp với Dolby Atmos) 43
Apple TV 4K (trinh phat da phuong tién truc tuyén) Roku Streaming Stick(thiết bị phát trực tuyến giá cả phải chăng) 43 Bose QuietComfort 35 II (tai nghe khử tiếng ồn không day) 44
Hình anh thư viện Apache Mahout - - 5 + +©++<+<+x+c++ 44 Hình ảnh LensKet - - 6 S11 HH iưếc 44 Hình ảnh thư viện SUTpTISG - - <5 S+*ketererrrkekerrree 45 Hình anh Amazon Personalize -5-cs5s+cc+ccccserecr+ 45 Hình ảnh Google Cloud Recommendations AI 46
Hình ảnh Smart Ticketing and Access Control - 48
Hình ảnh kiểm soát môi trường và ánh sáng thông minh 49
Hình ảnh bảng hiệu và quảng cáo kỹ thuật só .- 49
Hình ảnh giám sát chỗ ngồi thông minh - 50
Hình anh quản lý tòa nhà thông minh ‹ 5-5 + 51
Hình ảnh frameworl Hình anh framework Spring Boot Hinh anh framework ExpressJS Hinh anh backend framework ASP.NET Core Hình anh framework Node.JS .54
Hnh ảnh framework Flask Hình ảnh framework Angular - 5-5-5 +c+c+sx+xsxexeree 55 Hình anh framework Ruby on Rails -5- 5555 5<+csc+ 55 Hình anh framework Laravel - ¿+ 5 +xexsrererrkekereree 55 Hình ảnh framework ReactJS ¿-¿-5- cccccsrerrkekereree 56 Hình anh framework VueJS - «5+ sxsxcxexererrrexekerrree 56 Kiến trúc phần mềm của IoT gateway - cc22sccc+ 58 Mô hình thúc đây hệ thống tư van cho IOT - 60 (a) Hệ thống lọc cộng tác dựa trên user-based, (b) Lọc cộng tác dựa
Trang 6Hình 64 Hệ thống gợi ý dựa trên nội dung - -ccccccc+ccccvxee 62Hình 65 Ví dụ về hệ sinh thái IoT 2 ¿©¿+2+£+2£+zv22xzvzzxzesrsee 66Hình 66 Hình anh thư viện Apache Spark MLIib - 67 Hình 67.Hình anh thư viện Scikit-learn - «5+5 sx+xeersrerereeree 68 Hình 68 Mô hình ML với Azure Machine Learning -¿-+-+ 68
Hình 69 Hình ảnh Google Cloud Machine Learning - 68Hình 70 Sơ đồ chỉ tiết kiến trúc hệ thống .-.-:- ¿2+2 70Hình 71 So đồ fetch API của một website -:ccccce 70Hình 72 Mô hình thiết kế hệ thống -: +¿z+22+z++tczvcceee 72Hình 73 Sơ đồ thiết kế user case cho người dùng -: 72Hình 74 Sơ đồ thiết kế user case cho admin - ¿¿5cz-+ 73
Hình 75 Mô hình cơ sở dữ liệu ¿+ +55 ‡s‡EsEvrrkekekerrrrkrkerrke 73Hình 76 Sơ đồ các nhóm chính của hệ thống đề xuắt 74Hình 77 Ví dụ về hệ thông dé xuất phim cho người dùng 75Hình 78 Tổng quan về cách tiếp cận -222c:z++22vvvvvrrerrrrrrrer 76Hình 79 Tiến trình gợi ý trong hệ thống - ¿¿-+©5sz£+ 76Hình 80 Tiến trình lọc cộng tác -¿¿-++222++++222+++tttrxxererrrxeerrr 82
Hình 81 Lọc cộng tac dựa trên User-based va Item-based
Hình 82 Ví dụ về mô hình Kernel-Mapping Recommender
Hình 83 Mô hình gợi ý kết hop
Hình 84 Khởi tao class MF
Hình 85 Chuan hóa dữ liệu trong class MF
Hình 86 Tinh giá tri ham mat mát
Hình 87 Xác định các items, users và các rating - - «+ +-s+xece 94
Hình 88 Cập nhật X, W - + t1 Hư 95Hình 89 Hình 99 Phần thuật toán chính 2 2¿2+++2z+e+czxesrr+ 95
Hình 90.
Hình 91 Đánh giá kết quả bằng cách đo Root Mean Square Error
Hình 92 Hình 102 Load dit liệu - ¿+52 S++t+t+£exexekstsexerexexee 96 Hình 93 Tach tập thành dữ tập training va †esf -. +-5s«cc+c+csc+e 96Hình 94 Chuẩn hoá dựa trên user - 2+©++z+222++++22vv+zrztrrxeeerr 97
Trang 7Hình 96 Khởi tạo class CF ¿- set r grrrrưên 97 Hình 97 Cập nhập ma trận khi có dữ liệu mới ¿-¿-«-«-«<+c++ 97 Hình 98 Tính toán normalized utility matrix và Similarity matrix 98
Hình 99 Cập nhập dữ liệu khi có dữ liệu mới - - s +=++x+se+ 98
Hình 100 Dự đoán kết qua o cssseeesscscssssstseessccessniesssccesssnnnsseceesnnneseeseessnntees 99Hình 101 Tìm tất cả các items ccccrrrrrrrrrrrrrrrrrrrirrirrrrrrree 99Hình 102 In kết quả recommendation -:¿+£222cvvvccrsrervreeeree 99Hình 103 Kết quả User-user CF ¿©2+++22+++tztvvvrrsrrvsrrrrrs 00
Hình 113 Giao diện chọn loại vé khi đặt vé xem phim 10Hình 114 Giao diện màn hình các ghế của bộ phim 10Hình 115 Giao diện chọn thức ăn khi có nhu cầu mua 11
Hinh 116 Giao dién thanh toan 12Hình 117 Chuan hoá dựa trên user
Hình 118 Chuẩn hoá dựa trên item - 22 52+x2Ex2EE2ExetEkerrxerxee 13
Hình 119 User-user CF ¿+ + SE k xiên 14
Hình 120 Item-item CTE - - +6 S4 St 121 1 1S 11121 1 g1 x1 rrêc 14
Hình 121 Kết quả với User-user CF ::- :c+2v+z++2cvvvrrrrrsecee 15Hình 122 Kết quả với Item-item CF 22c++22222vvvvccrzrrrrr 15
DANH MUC HiNH
Trang 8DANH MỤC CHỮ VIET TAT
7 JSX Javascript Extensible Markup Language
8 HTML Hyper Text Markup Language
9 DOM Document Object Model
10 MVCC Multi-version concurrency control
11 UUID Universally Unique IDentifier
12 API Application Programming Interface
13 Al Artificial Intelligence
14 RSS Really Simple Syndication
15 MVC Model View Control
16 MVT Model-View-Template
17 uuCF User-User Collaborative Filtering
18 iiCF Item-Item Collaborative Filtering
19 SEO Search Engine Optimization
20 MIT Massachusetts Institute of Technology
21 ML Machine learning
22 LSTM Long Short Term Memory
23 SVM Support Vector Machine
24 PCA Permanent Court of Arbitration
25 DQN Deep Q-Networks
26 ORM Object Relational Mapping
Trang 95 Phương pháp nghiên cứu
IV Phạm vi và giới hạn s1 Ex vs ng rey 32
V Cấu trúc €z⁄⁄⁄2 À Â - Lee 33
CHƯƠNG 2 CÁC NGHIÊN CỨU, CÔNG NGHE
I Recommender System (RS) ¿+5 + SSsxsesEsrereeeererrreerre 34
1 Giới thiểếi HP ( 34
2 Giải thuật
3 Công nghệ
4 Giải pháp liên quan ¿+ + + 9S*SE2EEkk E111 1111k 44
II Web application cinema sySt€Tm ¿óc St stsrerrkererrkeree 47
IILỨng dụng của IOT trong hệ thống rap chiéu phim ‹ 48
IV Những công nghệ develop liên quan Net, Django, C++, ReactJS 52
Mi — 57
VỊ Virtualization
VỊI.IoTs apps dev frame€WOTKS óc St kg rrreree 67
Trang 10CHƯƠNG 3 THIET KE KIEN TRÚC VÀ CHỨC NANG HE
¡”:0) ca 70
I Thiết kế kiến trúc -22+++222EE2222++tt2EEEEY+vrrttrrrrrrrrrrrrrrrrrrree 70
II Giải thuật, hướng tiếp 6.017 : 1 74
II.Hiện thực giải thuật - c5 Set 92
CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 102
I Phương pháp thực nghiệm ¿ ¿5555 S+Ssttetererererrrerree 102
II Phân tích kết quả và đánh giá ccvccce2222cvvveccrrrrrxes 104
CHƯƠNG 5 KET LUẬN VÀ HƯỚNG PHÁT TRIEN
TÀI LIEU THAM KHẢO -cccssssscseeerssrrrrre 118
Trang 11TÓM TẮT
Trong bối cảnh hiện nay, khi mà các phương tiện xã hội (social media) phát
triển nhanh chóng (chẳng han, Facebook, Zalo, Tiltok, Twitter, ) thì các thông tin
đặc trưng từ phương tiện xã hội trở nên ngày càng hữu ích cho hoạt động tư vấn ngườidùng Theo Jiliang Tang và cộng sự, 2014, tư vấn xã hội được hình thành và phát
triển nhanh chóng dựa trên việc khai thác các thông tin đặc trưng bồ sung từ mạng xã
hội cho tư van người dùng Hệ tư van truyền thống hướng tới tư vấn cá nhân hóa, tức
là tư vẫn các mục mà một người dùng cá nhân có thể ưa thích Đặc trưng cộng đồng(community) trong mạng xã hội cho phép phát triển các chức năng tư vấn nhóm (cộngđộng) mà đối tượng cần tư van là các nhóm người dùng Theo Ludovico Boratto,
2011, tư vấn nhóm hướng tới tư vấn các mục mà một nhóm có thé ưa thích, bằng cách
kết hợp các sở thích của các cá nhân trong nhóm
Khóa luận này đi sâu vào bài toán: “Làm như thé nào dé gợi ý, đề xuất cho
người dùng những thông tin mà họ yêu thích?”
Hệ thống đề xuất là một hệ thống cung cấp đề xuất cho người dùng về một sốtài nguyên nhất định như sách, phim, bài hát, v.v., dựa trên một số tập dữ liệu Hệthống đề xuất phim thường dự đoán người dùng sẽ thích phim gì dựa trên các thuộctính có trong phim đã thích trước đó Hệ thống khuyến nghị như vậy có lợi cho các
tổ chức thu thập dữ liệu từ một lượng lớn khách hàng và mong muốn cung cấp hiệu
qua các đề xuất tốt nhất có thé Rất nhiều yếu tố có thé được xem xét trong khi thiết
kế hệ thống giới thiệu phim như thể loại phim, diễn viên có mặt trong đó hoặc thậm
chí là đạo diễn của phim Hệ thống có thé dé xuất phim dựa trên một hoặc sự kết hợp
của hai hoặc nhiều thuộc tính Trong bài báo này, hệ thống đề xuất đã được xây dựng
dựa trên loại thể loại mà người dùng có thể thích xem hơn Phương pháp được áp
dụng để làm như vậy là lọc dựa trên nội dung bằng cách sử dụng tương quan thể loại.Tập dữ liệu được sử dụng cho hệ thống là tập dữ liệu Movielens
Trang 12CHƯƠNG 1 GIỚI THIỆU
I Tổng quan
Web đã trở thành một phần hiển nhiên của toàn cau; và sự xuất hiện của nónhư một bộ máy quan trọng đề phá vỡ các rào cản đa dạng giữa các biến thể vật lý và
ranh giới toàn cầu Việc đưa web vào các hoạt động đời sống hàng ngày của chúng
ta trong thời kỳ đương đại này đã trở nên gần như không thê tránh khỏi và khá nhiều
người dan dựa vào web cho nhiều mục đích khác nhau, từ đặt trên quan điểm của họ
và đọc xem của người khác trong khi cũng bình luận về những quan điểm đó,
e-learning , ngân hàng điện tử, thư viện điện tử và thương mại điện tử, v.v Số lượng
tài liệu có sẵn trên web đủ để cải thiện các cách thức giáo dục và nhu cầu nghiên cứu
đa dạng của công chúng bây giờ và sau đó Con đường học tập trên web chỉ cần biết
cách tốt nhất dé khám phá và tiễn bộ hơn là phát minh lại bánh xe cho khía cạnh kiến
thức đã được nghiên cứu trước đó.
Trong tương lai của internet, mà các đường viền của nó dần trở nên rõ ràng,hai sự phát triển này - Dữ liệu lớn và IoT - gắn bó chặt chẽ với nhau trong một hệ
sinh thái rộng lớn và phức tạp Trong hệ thống này, dữ liệu được thu thập trên cơ sở
các trang web đã truy cập của chúng tôi, các hoạt động của chúng tôi trên mạng xã
hội, điện thoại thông minh và thông qua nhiều cảm biến của thế giới vật lý Chínhdòng chảy này là nền tảng của Dữ liệu lớn Một luồng dữ liệu (hoặc luồng các luồng
khác nhau) về cơ bản, không cần diễn giải, có ít giá trị hơn, nhưng dựa trên phân tích
tạo ra thông tin mà chúng ta có thể sử dụng, do đó dữ liệu trở nên có giá trị Kết quả
của phân tích - chăng hạn như chiếc xe của Google cũng có thể được chuyên đồi trựctiếp trong hành động mà không cần sự can thiệp của con người: rẽ phải hoặc giảm tốc
độ để vượt qua người đi xe đạp (Vanderbilt, 2012) Internet nay là một cỗ máy chuyển
động liên tục của đầu vào và đầu ra mà dữ liệu là nguyên liệu thô
Khi ngày càng nhiều sản phẩm và dịch vụ có đữ liệu là một thành phần quantrọng, tác động của hệ thống này trở nên lớn hơn và thâm nhập vào các mao mạch
của xã hội chúng ta Không phải là không có gì, chính phủ Hoa Kỳ gần đây đã công
bố khoảng 200 triệu đô la để đầu tư vào nghiên cứu về Dữ liệu lớn (Kalil, 2012) Do
đó, điều quan trọng là phải hiểu rõ hơn về cách thức hoạt động của hệ thống này, vai
Trang 13Cách thức mà hệ thống này được phát triển cũng đặt ra những câu hỏi quantrọng liên quan đến sức mạnh sáng tạo của internet trong tương lai Như được mô tảbởi Wheeler (2012) trong bài thuyết trình của mình, sự đổi mới web cho thấy sự pháttriển của Internet đã trải qua nhiều giai đoạn như thé nào.
Il Dat vấn đề
Trong thời dai 4.0, số lượng giao dịch dữ liệu xảy ra mỗi phút đã tăng lên theocấp số nhân Lượng dữ liệu khổng lồ đã tăng lên đáng kể cùng với số lượng người dùng
trên Internet Tuy nhiên, không phải tất cả dữ liệu có sẵn trên Internet đều được sử dụng
hoặc cung cấp kết quả thỏa đáng cho người dùng Dữ liệu với khối lượng khổng lồ nhưvậy thường không nhất quán và nếu không xử lý thông tin nay đúng cách, nó sẽ bị lãngphí Trong những trường hợp như vậy, người dùng phải chạy tìm kiếm nhiều lần trước
khi cuối cùng họ có được những gì họ đang tìm kiếm ban đầu.
Hiện nay, trên thị trường đã xuất hiện những website đặt vé xem phim đang
được ưa chuộng như:
“ Galaxy Cinema: Galaxy Cinema là một chuỗi rạp chiếu phim phô biến tại Việt
Nam Trang web của Galaxy Cinema cho phép người dùng tìm kiếm thông tin về
các phim đang chiếu, lịch chiếu và đặt vé trực tuyến.
UNG DUNG GALAXY CHON SUAT CHIEU
Ke TOAN MỚI —
‘Mua vé online nhanh chồng,
“Thư viện điện ảnh phong phú, đa dang Giao điện thành viên thông minh, đa dụng
“ CGV Cinemas: CGV là một trong những chuỗi rạp chiếu phim lớn nhất tại
Việt Nam Trang web CGV.vn cho phép người dùng tìm kiếm lịch chiếu, đặt
vé và chọn chỗ ngồi dễ dàng CGV cũng cung cấp các dịch vụ khác như đặt
Trang 14Hình 2 Website CGV Cinemas
“ LOTTE Cinema VN: Lotte Cinema là một chuỗi rap chiéu phim có mặt tại
nhiều thành phố lớn ở Việt Nam Trang web Lotte Cinema cho phép người dùng
tìm kiếm lịch chiếu, đặt vé và cập nhật thông tin về các phim đang chiếu
s* Cinestar: Các phim va suất chiếu sẽ được cập nhật liên tục Cả thông tin khuyé
mặt trên web.
Trang 15Hình 4 Website Cinestar
Điểm nổi bật của các web xem phim:
Đặt vé trực tuyến: Trang web đặt vé xem phim cho phép người dùng
đặt vé một cách đễ dàng và thuận tiện ngay từ nhà Người dùng có thể
chọn suất chiếu, chỗ ngồi, và số lượng vé một cách linh hoạt và tiện lợi.
Lịch chiếu linh hoạt: Trang web đặt vé cung cấp thông tin chỉ tiết vềlịch chiếu của các rạp và phim trong thời gian gần nhất Người dùng cóthé dé dang tìm hiểu về các suất chiếu, thời gian chiếu, và phòng chiếutương ứng.
Da dang phim và thé loại: Trang web đặt vé xem phim thường cung cấpmột danh sách phim đa dạng với nhiều thê loại khác nhau Người dùng
có thé dé dàng tìm kiếm và chọn phim theo sở thích cá nhân, từ phim
hành động, hài hước, tâm lý, viễn tưởng đến phim hoạt hình và gia đình
Thông tin phim chỉ tiết: Trang web đặt vé cung cấp thông tin chỉ tiết vềcác bộ phim, bao gồm diễn viên, đạo diễn, thời lượng và nội dung tóm
tắt Điều này giúp người dùng có cái nhìn tổng quan về phim trước khiquyết định xem
Hệ thống thanh toán an toàn: Các trang web đặt vé xem phim thường
cung cấp các phương thức thanh toán an toàn và tiện lợi như thẻ tíndụng, ví điện tử và Internet Banking Người dùng có thể hoàn tat thanh
toán một cách an toàn và nhanh chóng trực tuyến
Trang 16© Ưu đãi và khuyến mãi: Trang web đặt vé thường cung cấp các ưu đãi
và khuyến mãi đặc biệt cho người dùng Điều này có thể bao gồm giảmgiá vé, combo ăn uống, hoặc qua tặng khác Người dùng có thé theo doicác chương trình khuyến mãi và tận hưởng những ưu đãi này
e Tinh năng đánh giá và nhận xét: Một số trang web đặt vé cho phép
người dùng đánh giá và viết nhận xét về các bộ phim sau khi xem Điềunày giúp người dùng có cái nhìn khách quan hơn về chất lượng phim
và đồng thời chia sẻ ý kiến của mình với cộng đồng
Ngoài ra, hiện nay trên thị tường còn xuất hiện một website xem phim trực tiếp trên ứng dụng, đó là Netflix Netflix đã thiết kế một hệ thống xếp hạng toàn diện theo
cách cá nhân hóa nhất có thé cho từng người đăng ky Netflix đã đưa ra mô hình xếphạng, dựa trên xếp hạng hiện có của người dung và mức độ phổ biến của phim
Netflix có thé du đoán xếp hang trong tương lai của người dùng đó va đưa ra các
đề xuất phù hợp.
learning approaches.
eFC C)) Audio & subtitles
Hình 5 Mô hình và dữ liệu của Netflix
Basic Standard Premium
Gia tiền 180.0008/tháng | 220.000‘/ thang | 260.000 / tháng
Độ phân giải HD Không Có Có
Trang 17Độ phân giải 4K | Không | Không Có
Xem trên nhiều thiết bị Có | Có Có
Số máy được xem 1 2 4
cùng lúc
Bang 1 Giá tiên Netflix trên thị trường hiện nay.
Ngày chiều Suất chiếu
Trước 17h
Rạp chiếuGiá vé 2D của các rạp chiêu phim ở Thành phố Hồ Chí Minh
Bang 2 So sánh giá tiên của các rạp chiêu phim hiện nay.
Bên cạnh những điểm nỗi bật của các rạp chiếu phim thì cũng có những nhượcđiểm như giá cả của các rạp cao so với sinh viên, chưa đề xuất cho người dùng những
bộ phim nao phù hợp với người dùng,
Vi dụ về bài toán khuyến nghị (Recommender System - RS):
® Input:
© Cho tập người dùng U, mỗi người dùng +; thuộc U có các đặc điểm I =
{i, lala I n}
Trang 18© Một tập các sản phẩm, dịch vụ P, mỗi sản phẩm p; có các đặc điểm đặc
trưng J = {j1, j2.j3 ]m}
o Một ma trận P = (rj) với i = 1, n; j=l, , thé hiện mối quan hệ giữa
tập người dùng U và tap sản phẩm P Trong đó, rj là đánh giá của ngườidùng u¡ cho sản phẩm pj vam lần lượt là số người dùng và số san phẩm
© Output:
© Danh sách các sản phẩm p; thuộc P có độ phù hợp với người dùng u;
thuộc U nhất
Để giải quyết ví dụ trên, các nhà nghiên cứu đã đưa ra các hệ thống đề xuất
Hệ thống đề xuất cung cấp thông tin liên quan cho người dùng bằng cách tính đến
các sở thích trước đây của họ Dữ liệu được lọc và tùy chỉnh cá nhân theo yêu cầu
của người dùng Với ngày càng nhiều dữ liệu có sẵn trên Internet, các hệ thống đềxuất đã trở nên thực sự phô biến, do tính hiệu quả của chúng trong việc cung cấpthông tin trong một khoảng thời gian ngắn
Dé giải bài toán trên, chúng ta cần xây dựng hàm F( ui, p;) dé đo độ phù hợp
sản phẩm pj đối với người dùng ui, từ đó sẽ lấy ra được danh sách các sản pham/dich
vụ phù hợp (có khả năng người dùng chọn) cao nhất
Input:
© _ Thông tin người dùng: Day bao gồm thông tin cá nhân của người ding
như tuổi, giới tính, vị tri địa lý, sở thích, lịch sử mua hàng, hoặc bat kỳthông tin nào có liên quan đến sở thích và hành vi tiêu dùng của người
dùng.
¢ Di liệu sản phẩm: Dữ liệu về các sản phẩm, bao gồm thông tin như tên
sản phẩm, mô tả, danh mục, giá cả, đánh giá của khách hàng, v.v
Output:
¢ Khuyến nghị sản phẩm: Dựa trên thông tin người ding và dữ liệu sản
phẩm, hệ thống sẽ dé xuất đanh sách các sản phẩm phù hợp với ngườidùng Các khuyến nghị này có thé dựa trên sở thích trước đây của ngườidùng, các sản phẩm tương tự đã mua hoặc được đánh giá cao bởi người
dùng khác có sở thích tương tự.
Trang 19Ví dụ:
Xếp hạng khuyến nghị: Đối với mỗi sản phẩm được khuyến nghị, hệthống có thé cung cấp một xếp hạng dựa trên sự phù hợp với ngườidùng Xếp hang này có thể được tính dựa trên các yếu tố như sự tương
đồng với sở thích trước đây của người dùng, độ tin cậy của đánh giá
sản phẩm, độ phổ biến của sản phẩm trong cộng đồng người dùng, v.v.Lời giải thích: Để giúp người dùng hiểu lý do vì sao sản phẩm đượckhuyến nghị, hệ thống có thé cung cấp lời giải thích ngắn gọn Lời giảithích này có thê dựa trên sự tương đồng của sản phẩm với sở thích trướcđây của người dùng, các đặc điểm chung với các sản pham đã mua trước
đó, hoặc các đánh giá tích cực từ người dùng khác.
Khuyến nghị sản phẩm: "The Shawshank Redemption" (phim),
"Inception" (phim), "Dark Side of the Moon" (album nhạc).
Xép hang khuyén nghi: The Shawshank Redemption 4/5, Inception
-4.5/5, Dark Side of the Moon - 4.8/5.
Loi giai thich: "The Shawshank Redemption" va "Inception" duge
khuyến nghị vi sự tương đồng với sở thích trước đây của người dùng
trong lĩnh vực phim ảnh "Dark Side of the Moon" được khuyến nghị
vì nó là một album nhạc kinh điển và được đánh giá cao bởi nhiều người
dùng.
toán ví dụ trên, cho ta thấy Netflix đang là một web xem phim rất được ưa
chuộng và nổi tiếng hiện nay Nhung Netflix là một web xem phim online tại nhà với vi
mô nhỏ Vì vậy tôi áp dụng ý tưởng của Netflix vào rạp chiếu phim, bên cạnh đó cũng
sẽ giúp cho giá cả hợp lý hơn cho các bạn sinh viên muốn đi xem phim với bạn bè ở rạphoặc rat tiện với các bạn it xem phim nhưng lâu lâu muốn đi xem một lần Thì đề tài web
xem phim này của tôi sẽ giúp ích và phát triển một web xem phim cho người dùng với
một giá cả hợp lý và một ứng dụng tìm xem vé xem phim một cách hợp lý nhất
Trang 20Trong thương mại, hệ thống gợi ý mang lại nhiều lợi ích cho người dùng và sử
dung dịch vụ (lonos, 2017) Hầu hết các công ty thương mại lớn như: Amazon, CDNOW, eBay, Alibaba, MovieFinder, Youtube, Facebook., đều sử dụng kỹ thuật gợi ý trong
website của họ để nâng cao trải nghiệm của khách hàng, nâng cao chất lượng dịch vụ vàtăng doanh thu bán hàng Tuy nhiên, ở Việt Nam lại có số lượng website thương mại tíchhợp hệ thống gợi ý không nhiều Ví du, các website đặt vé xem phim như Cinestar, CJ
CGV, Lotte Cinema,
Website bán vé xem phim trực tuyến có hỗ trợ tính năng dé xuất gợi ý phim chongười dùng của tôi ra đời với phương châm mang đến sự tiện lợi và hiện đại cho ngudi
tiêu dùng Việt Nam Website của tôi hướng tới một phân khúc thi trường vừa va nhỏ với
đối tượng khách hàng là giới trẻ, những bộ phim được yêu thích sẽ được cập nhật thường
xuyên, đón đầu xu hướng nhằm thu hút được giới trẻ Ngoài ra, tôi muốn đưa đến kháchhàng những chức năng hấp dẫn như đề xuất cho khách hàng những bộ phim đang nỗi
hoặc những bộ phim yêu thích dựa trên lượt xem của người dùng với giá cả hợp lý, đáp
ứng thị trường trong nước, đặt biệt áp dụng ưu đãi cho các bạn sinh viên, học sinh.
Ill Giải pháp
1 Framework ReactJS
ReactJS là một thư viện JavaScript phổ biến và mạnh mẽ được phát triển bởi
Facebook Nó được sử dụng đề xây dựng giao diện người dùng (UI) đáp ứng và tương
tác trong các ứng dụng web đơn trang (Single-Page Applications) và các ứng dụng di động.
Hơn nữa, để tăng tốc quá trình phát triển và giảm thiểu những rủi ro có thể xảy ra trong khi coding, React còn cung cấp cho chúng ta khả năng Reusable Code (tái sử dụng
code) bằng cách đưa ra 2 khái niệm quan trọng bao gồm:
Trang 21JSX (JavaScript XML): là một dạng cú pháp dạng XML/HTML được React sử
dụng Các bộ tiền xử lý Babel dé chuyển đổi text dạng HTML có trong các fileJavaScript thành các đối tượng JavaScript tiêu chuẩn
JavaScript HTML ReactJS
Hình 7 Hình ảnh minh họa JSX trong ReactJS.
“ Virtual DOM: là một node dạng cây liệt kê các thành phan, thuộc tinh và nội dung
của chúng dưới dạng Object và đặc tính Chức năng render của React tạo ra mộtnode cây ngoài các thành phần React Sau đó, nó cập nhật mô hình cây này đểphản hồi lại các thay đổi trong mô hình dữ liệu gây ra bởi các hành động khác
nhau do dùng hoặc hệ thống thực hiện.
Browser Virtual DOM
K
Hình 8 Render lại toàn bộ UI trong DOM ao
1.1 Components:
Trong React, chúng ta xây dựng trang web sử dụng những thành phần
(component) nhỏ Có thể tái sử dụng một component ở nhiều nơi, với các trạng thái hoặccác thuộc tính khác nhau, trong một component lại có thé chứa thành phan khác Giúp
bảo trì mã code khi làm việc với các dự án lớn Một React component đơn giản chỉ cần
một method render Có rất nhiều methods khả dụng khác, nhưng render là method chủ
Trang 221.2 Prop và State:
Props: là một cách đề truyền dữ liệu từ component cha (parent component) xuống
component con (child component) Prop là một giá trị không thay đổi (immutable) vàchi đọc được từ component con Đề truyền prop vào một component con, bạn chi cần
gán giá trị cho thuộc tính của component con trong JSX của component cha.
Trong ReactJS, một component cũng có thé có "state" (trang thái) State là một
đối tượng trong ReactJS chứa các giá trị có thể thay đổi trong quá trình thực thi củacomponent Khi state của một component thay đồi, ReactJS sẽ tự động render lạicomponent đó dé cập nhật giao diện.lưu trữ thông tin về component nhưng là lưu trữ
đữ liệu động của một component.
2 PostgreSQL 2.1 Giới thiệu:
e PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System - RDBMS) mã nguồn mở Nó được phát triển từ dự
án POSTGRES vào những năm 1980 tại Đại học California, Berkeley.
PostgreSQL là một công cụ mạnh mẽ và đáng tin cậy cho việc quản lý cơ
sở dữ liệu quan hệ và cung cấp nhiều tính năng tiên tiến
PostgreSQL
Hinh 9 Hé quan tri co so dit ligu PostgreSQL
2.2 Tinh năng:
© Quan hệ cơ sở dữ liệu: PostgreSQL cho phép lưu trữ và truy van dữ liệu
trong cấu trúc quan hệ, sử dụng các bảng, hàng và cột
¢ - Ngôn ngữ truy van SQL: PostgreSQL tuân thủ chuân SQL và hỗ trợ cú
pháp và lệnh SQL phong phú Nó cung cấp một loạt các toán tử, hàm
và câu lệnh dé thao tác với dit liệu
Trang 23© Đồng thời: PostgreSQL hỗ trợ xử lý đồng thời, cho phép nhiều kết nói
cùng truy cập và thao tác trên cơ sở dữ liệu cùng một lúc mà không xảy
ra xung đột.
© Giao dịch: PostgreSQL tuân theo các nguyên tắc ACID (Atomicity,
Consistency, Isolation, Durability) dé đảm bảo tính nhất quán và an
toàn trong quá trình thực hiện các giao dịch.
¢ Tính toàn vẹn dữ liệu: PostgreSQL hỗ trợ các ràng buộc dé đảm bao
tính toàn vẹn dữ liệu, bao gồm ràng buộc khóa ngoại, ràng buộc duynhất và ràng buộc kiểm tra
e Kha năng mở rộng: PostgreSQL có khả năng mở rộng linh hoạt, cho
phép mở rộng dọc (scale-up) bằng cách tăng cường phần cứng hoặc mởrộng ngang (scale-out) bằng cách phân chia dữ liệu và sử dụng các node
cơ sở dữ liệu phan tán.
© Mã nguồn mở: PostgreSQL là một dự án mã nguồn mở, điều này có
nghĩa là mã nguồn của nó được công khai, cho phép cộng đồng phát
triên và cải tiên.
Hinh 90 Fetch API.
Fetch API là một giao diện trong JavaScript, cung cấp một cách tiếp cận mới dégửi và nhận dữ liệu qua mạng Nó được sử dụng đề thực hiện các yêu cầu HTTPbất đồng bộ từ máy khách đến máy chủ và xử lý phản hồi trả về
4 Django
Trang 24Python là một ngôn ngữ rat mạnh trong lĩnh vực AI (Artificial Intelligence) cũng như các ứng dụng liên quan Python cũng có một vài framework hỗ trợ trong việc phát
triển web như là: Django, Flask, Pyramid,
Django là một Framework Web Python bậc cao, khuyến khích phát triển nhanh chóng và thiết kế thực dụng, gọn gàng.
Django được phát triển dựa trên các nguyên tắc chính:
$% Mô hình MTV(Model-Template-View): sử dụng mô hình MTV để tổ chức code
va quản lý logic của ứng dụng web Mô hình này tách biệt phần xử ly dữ liệu(Model), phần hiển thị giao diện (Template) và phần xử lý yêu cầu và phản hồi(View) Điều này giúp tách rời các thành phan và làm cho việc phát triển và bảo
trì đễ dàng hơn.
> ORM (Object-Relational Mapping): Django cung cấp một ORM mạnh mẽ
cho phép nha phát triển tương tác với cơ sở dữ liệu quan hệ bang cách sử
dụng các đối tượng Python thay vì viết truy vấn SQL trực tiếp Điều này
giúp đơn giản hóa việc làm việc với cơ sở dữ liệu và tăng tính di động của
ứng dụng.
Hỗ trợ giao diện quản trị (Admin interface): Django đi kèm với một giao
diện quản trị tích hợp sẵn, cho phép người phát triển dễ dàng quản lý dữ
liệu và tương tác với các mô hình trong ứng dụng Giao diện quản trị có
thể tùy chỉnh và mở rộng đề đáp ứng các yêu cầu cụ thể của ứng dụng.
Bảo mật: Django cung cấp các công cụ và cơ chế bảo mật tích hợp, bao
gồm xác thực người dùng, quản lý phiên làm việc, xử lý mã hóa và phòng
ngửa các cuộc tân công pho biên.
Trang 25> Cộng đồng phát triển lớn: Django có một cộng đồng phát triển mạnh mẽ
và nhiều tài liệu hướng dẫn, góp phần vào việc hỗ trợ và cải thiệnframework Bạn có thé tìm thấy nhiều gói mở rộng (packages) và thư việncủa bên thứ ba đề giúp tăng tính linh hoạt và mở rộng của Django
4.2 Tìm hiểu về MVT model của Django
Template Model
Logical data structure Presentation Layer
data to display
input by user
View
Data Formating
Hinh 112 Model Django
Mô hình MVT View-Template) là biến thé của mô hình MVC
(Model-View-Controller) Về bản chất MVT va MVC đều giống nhau, đều chia ứng dụng ra
Mô hình MVC Mô hình MVT Chức năng
Làm việc với cơ sở dữ
Model Model l
liệu
View Template Hiền thị giao diện
Controller View Xử lý logic
Bảng 3 Sự khác biệt của mô hình MVT và MVC
Django có di theo mô hình MVC (Model View Control) tách rời phan logic của ứng dụng thành ba thành phan chính: Model, View và Template:
Trang 26© Model: Model đại diện cho dữ liệu và quản lý truy cập và tương tác với
cơ sở dit liệu Trong Django, Model được định nghĩa bằng các lớp Python
trong file models.py Mỗi lớp Model tương ứng với một bảng trong cơ sở
đữ liệu Model định nghĩa các trường (fields) và quan hệ giữa các bảng.
© View: View là thành phan xử lý logic của ứng dụng Nó nhận yêu cầu từ
người dùng, tương tác với Model dé lay đữ liệu va xử lý nghiệp vu, sau đó
trả về phản hồi (response) cho người dùng Trong Django, View thường
là các hàm hoặc phương thức của lớp trong file views.py View xử lý cácyêu cầu HTTP như GET, POST và thực hiện các thao tác CRUD (Create,
Read, Update, Delete) trên dữ liệu.
© Template: Template đại diện cho giao diện người dùng (UI) của ứng dụng.
Nó chứa HTML và các đoạn mã template (template tags) để hiển thị dữ
liệu được lay từ Model và xử lý bởi View Template cung cấp cú pháp và
lược đồ đề hiền thị dữ liệu theo cách mong muốn Trong Django, Template
thường là các file HTML với phần mở rộng html Django sử dụng hệ thống template engine dé kết hợp các dữ liệu động vào template va tạo ra giao diện cuối cùng đề trình bày cho người dùng.
HTTP URLS
Request (urls.py)
Forward request to
appropriate view
Model readiwrite View HTTP Response
(models.py) [*—~ data | (viewspy) > (HTML)
Template
(<fiename>.html
Hình 123 Query Django
e@ Quy trình hoạt động của mô hình MVT trong Django như sau:
© Người dùng tương tác với ứng dụng web và gửi yêu cầu (request) lên máy
chủ Django.
Trang 27© Django xác định URL tương ứng với yêu cầu và chuyền nó đến View
tương ứng.
© View tiếp nhận yêu cầu, thực hiện logic xử lý, truy cập dữ liệu từ Model
nếu cần, và chuân bị dữ liệu dé hiền thị trong giao diện.
© View chọn một Template phù hợp và truyền đữ liệu vào đó.
© Template sử dung dit liệu nhận được từ View và kết hợp nó với cú pháp
HTML để tạo ra giao diện người dùng cuối cùng (rendered template).
© Giao diện được trả về từ máy chủ Django dưới dạng phản hồi (response)
và được hiển thị trên trình duyệt của người dùng
4.5 Ung dụng của Django
® Phát triển ứng dụng web: Django được sử dụng rộng rãi dé xây dựng
các ứng dụng web đa chức năng như trang web thương mại điện tử,
mạng xã hội, hệ thông quản lý nội dung (CMS), các ứng dụng dựa trên
dữ liệu, blog, và nhiều hơn nữa
@ API Backend: Django cung cấp khả năng xây dựng các API
(Application Programming Interface) cho ứng dụng di động va ứng
dụng đa nền tảng Django REST Framework là một thư viện phổ biếnđược sử dụng cùng Django đề xây dựng các API RESTful
® Quan lý nội dung: Django có các tinh năng mạnh mẽ cho việc quản lý
nội dung, giúp tạo và quản lý nội dung trên các trang web và ứng dụng
CMS.
® Hệ thống đăng nhập và xác thực: Django sử dung tính năng tích hợp
của Django hoặc các thư viện b6 sung như Django Allauth, việc xây
dựng hệ thống đăng nhập và xác thực trở nên dé dàng và bảo mật
® Trang quản trị (Admin Site): trang quản trị Django, người phát triển có
thể dễ dàng tạo và quản lý các mô hình dữ liệu, thêm, sửa, xóa và tìmkiếm dữ liệu một cách thuận tiện
® Công cụ phân tích dữ liệu: Django sử dụng các thư viện như Django
ORM (Object-Relational Mapping), Django có thé tương tác với cơ sở
dữ liệu và thực hiện các truy vấn phức tạp để phân tích và hiển thi di
Trang 28Phương pháp nghiên cứu
Đồ án sử dụng các phương pháp nghiên cứu hướng đến thực tiễn đềphát triển và hoàn thiện ứng dụng:
Nghiên cứu thị trường: Bat đầu bằng việc nghiên cứu thị trường dé hiểu
về nhu cầu và yêu cầu của khách hàng khi sử dụng một trang web đặt
vé xem phim Tham khảo các website đặt vé xem phim lớn nhưCinestar, CGV, tập trung vào các điểm chung giữa các website dé dựavào đó xây dựng và phát triển ý tưởng
Xác định yêu cầu và phân tích chức năng: Dựa trên thông tin thu thậpđược từ nghiên cứu thị trường, xác định các yêu cầu chức năng và phi
chức năng của trang web đặt vé xem phim Điều này có thể bao gồm
chức năng đặt vé, tìm kiếm phim, hiền thị lịch chiếu, quản lý tài khoản
người dùng, thanh toán trực tuyến và nhiều tính năng khác
Thiết kế giao điện người dùng: Sử dụng framework ReactJS đề tạo một
giao diện đẹp mắt Dựa trên yêu cầu và chức năng đã xác định, thiết kế
giao diện người dùng của trang web Đảm bảo giao diện đơn giản, dễ
sử dụng và hấp dẫn với các thành phần như menu điều hướng, trìnhchiếu phim, lựa chọn ghế ngồi và hình ảnh phim hap dẫn Nghiên cứuứng dụng các kỹ thuật, thư viện hỗ trợ thiết kế giao diện như Bootstrap,
Tailwind Css để phù hợp với xu hướng thiết kế hiện tại trên thị trường.Phát triển phần mềm: Sử dụng framework phát triển web như Django
sử dụng ngôn ngữ Python, xây dựng phần mềm cho trang web đặt vé
xem phim Phát triển các module chức năng như đăng nhập, đăng ký,
quản lý phim, quản lý lịch chiếu, đặt vé và thanh toán trực tuyến
Kiểm thử và tối ưu hóa: Tiến hành kiểm thử toàn diện dé đảm bảo tính
ồn định, bao mật và hiệu suất của trang web Sửa lỗi và tối ưu hóa hiệusuất dé đảm bảo trải nghiệm người dùng tốt nhất
Triển khai và vận hành: Đưa trang web vào hoạt động bằng cách triển
khai lên một máy chủ web thực tế Theo dõi và duy trì trang web đểđảm bảo hoạt động én định, cập nhật bao mật, quan ly cơ sở dữ liệu va
hỗ trợ người dùng.
Trang 29e Phan tích và cải thiện: Theo dõi và phân tích hoạt động của trang web.
Sử dụng các công cụ phân tích web dé hiéu hành vi người dùng, đánhgiá hiệu suất và tìm cách cải thiện trang web dựa trên dữ liệu phân tích
IV Pham vi và giới han
Hệ thống đề xuất đã được phát triển trong nhiều lĩnh vực khác nhau như âm
nhạc, phim ảnh, tin tức và sản phẩm nói chung Trong thời đại ngày nay, phần lớncác tổ chức phân tích thực hiện các hệ thống khuyến nghị dé đáp ứng các yêu cầu củakhách hang LinkedIn, Amazon và Netflix chỉ là một vài cái tên LinkedIn dé xuất
các kết nói liên quan đến những người mà người dùng có thể biết trong số hàng triệu
người đã đăng ký trên cổng thông tin Bằng cách này, người dùng không phải chạycác tìm kiếm rộng rãi cho mọi người theo cách thủ công Hệ thống đề xuất của
Amazon hoạt động dé dé xuất các mặt hàng tương ứng mà khách hàng có thé mua
Nếu một khách hàng nhất định thích mua sách nhập từ cổng mua sắm, Amazon sẽcung cấp các đề xuất liên quan đến bat kỳ sách mới nao trong các danh mục được ưu
tiên trước đó Theo một cách tương tự, Netflix tính đến các loại chương trình mà
khách hàng xem và cung cấp các đề xuất tương tự như các chương trình đó
Trong bai viết này, tôi giới thiệu một giải pháp trong xây dựng Hệ thống gợi
ý phim dựa vào phan hồi tiềm ấn (implicit feedback) từ người dùng Đây là một dang
trong bài toán gợi ý mục tin (item recommendation) (Ricci et al., 2011) Mặc dù, có
khá nhiều phương pháp đã được sử dụng cho van đề gợi ý mục tin dựa vào phản hồi
tiềm ân Tuy nhiên, với hoản cảnh của một web xem phim đơn giản thì tôi đề xuất sửdụng phản hồi tiềm ẩn từ người dùng, sử dung pearson hoặc cosine hoặc Matrix
Factorization dé tính toán độ tương tự giữa những người dùng cùng sở thích hoặc cácmục tin được xếp hạng bởi cùng người dùng đề xây dựng “Hệ thống gợi ý phim” dogiải thuật này hoạt động tốt trên dữ liệu phản hồi tiềm an
e_ Về phía admin, xây dựng các chức năng:
© Quản lý tài khoản người dùng
© Thêm sửa xóa các phim đang chiếu, phim sắp chiếu
o Thém sửa sửa lịch chiếu của từng phim
© Quản lý thông tin hỗ trợ của khách hàng
© Về phía giao diện người dùng, xây dựng và thiết kế các giao diện:
Trang 30o Xem danh sách các phim đang chiếu, phim sắp chiếu.
© Xem danh sách phim đang nồi của rạp.
o Xem danh sách phim được gợi ý dựa trên lịch sử người dùng.
o Xem danh sách lịch chiếu của từng phim
o Xem trailer phim.
© Xem nội dung chỉ tiết của từng phim.
o Phần đặt vé nhanh.
© Trang giới thiệu về rạp phim.
© Trang hỗ trợ với những câu hỏi thường gặp.
o Trang đặt vé, chon ghế, chọn thức ăn và thanh toán.
© Trang đăng nhập, đăng ký, quên mật khẩu.
V Cấu trúc
Chương 1: Tổng quan đề đề tài
Chương 2: Các nghiên cứu, kỹ thuật của các công nghệ đề xuất trong bối cảnh
ứng dụng IoT được phân tích.
Chương 3: Các phương pháp đề xuất và giải thích chúng
Chương 4: Thực nghiệm và đánh giá.
Chương 5: Kết luận và hướng phát triển
Trang 31CHƯƠNG 2 CÁC NGHIÊN CỨU, CÔNG NGHỆ
I Recommender System (RS)
1 Giới thiệu
Recommender System là một hệ thống phân loại thông tin dựa trên dữliệu người dùng và các mục tiêu để đưa ra các gợi ý hoặc khuyến nghị
về các mục tiêu tương tự mà người dung có thé quan tâm
Mục tiêu: cung cấp cho người dùng các gợi ý cá nhân và phù hợp để
giúp họ khám phá, tìm kiếm và tiêu thụ thông tin, sản phẩm hoặc nộidung một cách dễ dàng và hiệu quả
Lợi ích:
Cải thiện trải nghiệm người dùng.
Tối ưu hóa doanh thu qua up-sale, cross-sale,
Tăng hiệu năng hoạt động, bằng tự động hóa
Biến khách hàng tiềm năng thành khách hàng thật
Giả thiết: mức độ phù hợp của mỗi người với mỗi sản phẩm có thể số
hóa và mô hình hóa.
Trang 32Hình 134 Chu trình thực hiện của Data
Recommender System
e Content-Based Filtering (Lọc dựa trên nội dung): đưa ra các gợi ý dựa
trên sự tương đồng của nội dung của các mục tiêu Ví dụ, trong hệ thôngTecommendation phim, các phim tương tự được gợi ý dựa trên các thuộc
tính như thể loại, diễn viên, đạo diễn hoặc từ khóa
Trang 33Collaborative Filtering (Lọc cộng tác): sử dụng thông tin về sự tươngtác hoặc sự ưu thích của người dùng và sự tương đồng giữa các ngườidùng dé đưa ra các gợi ý Có hai dang chính của collaborative filtering:
= User-Based Collaborative Filtering: Gợi ý dựa trên hành vi va
sở thích của người dùng tương tự Nếu một người dùng A vàngười dùng B có các sở thích giống nhau, hệ thống sẽ gợi ý cácmục tiêu đã được người dùng B đánh giá cao cho người dùng A.
= Item-Based Collaborative Filtering: Gợi ý dựa trên sự tương
đồng giữa các mục tiêu Nếu một mục tiêu A và mục tiêu B được
nhiều người dùng đánh giá cao, hệ thống sẽ gợi ý mục tiêu B cho
người dùng đang xem mục tiêu A.
Hybrid Recommender Systems (Hệ thống gợi ý kết hợp): Hệ thống này
ết hợp nhiều phương pháp dé cung cap gợi ý tốt hơn Ví dụ, có thé kết
ợp content-based filtering và collaborative filtering đề tận dụng lợi thế
của cả hai phương pháp.
Matrix Factorization: Phương pháp này sử dung ma trận hạng thấp débiểu diễn mối quan hệ giữa người dùng và mục tiêu Bằng cách phân rã
ma tran, phương pháp này tim ra các yếu t6 ân, như sở thích và sự tươngtác của người dùng, đề đưa ra các gợi ý
Demographic Filtering (Lọc dựa trên đặc điểm nhóm): Phương phápnày sử dụng thông tin về đặc điểm và thông tin cá nhân của người dùng,chẳng hạn như tuổi, giới tính, vị trí địa lý, để gợi ý các mục tiêu phù
hợp với nhóm người dùng tương ứng.
Knowledge-Based Filtering (Lọc dựa trên kiến thức): Phương pháp này
sử dụng kiến thức cụ thể về mục tiêu và sở thích của người dùng đề đưa
ra các gợi ý Ví dụ, trong lĩnh vực lọc sách, hệ thống có thể gợi ý cácsách dựa trên các thông tin cụ thể về tác giả, thể loại, hoặc nội dung
sách.
Ngoài ra, có nhiều những phương pháp khác được ứng dụng trong
Tecommendation mang lại hiệu quả cao đó là:
Trang 34Factorization Machines: Phương pháp Factorization Machines (FM)
kết hợp giữa gợi ý dựa trên nội dung va collaborative filtering FM tao
ra một mô hình tương tác giữa các thuộc tính của người dùng và mục
tiêu dé dự đoán sự tương tác giữa chúng FM có khả năng xử lý các
tương tác không tuyến tính giữa các thuộc tính và cung cấp các dự đoángợi ý chính xác hơn.
Deep Learning: Deep learning, đặc biệt là các mạng nơ-ron hồi quy(Recurrent Neural Networks - RNN) và mạng nơ-ron hồi quy dài ngắn
(Long Short-Term Memory - LSTM), đã được áp dụng trong hệ thống
gợi ý với hiệu quả cao Deep learning có khả năng học các mẫu phức
tạp và tự động học các đặc trưng sâu của người dùng và mục tiêu, giúp
cải thiện chất lượng gợi ý
Học tăng cường (Reinforcement Learning): Reinforcement Learning(RL) có thể được sử dung trong hệ thống gợi ý dé tối ưu hoá quá trình
tương tác với người đùng RL có thể điều chỉnh các gợi ý dựa trên phảnhồi từ người dùng, học từ các tương tác trước đó và tôi ưu hoá mục tiêu
như tăng cường tương tác, tăng tỷ lệ chọn mục tiêu, hay tối thiểu hóa
lỗi gợi ý.
Học máy tăng cường đa mục tiêu (Multi-objective Reinforcement
Learning): Phương pháp này tối ưu hoá nhiều mục tiêu đồng thời trong
hệ thống gợi ý Thay vì chỉ tập trung vào mục tiêu đuy nhất như tối ưu
độ chính xác gợi ý, Multi-objective Reinforcement Learning giúp cân
đối giữa nhiều mục tiêu như độ chính xác, đa dạng, tính mới mẻ, và sự
tương tác với người dùng.
Gợi ý dựa trên đánh giá ngắn hạn (Session-based Recommendation):
Phương pháp này tập trung vào việc gợi ý dựa trên các phiên tương tác
ngắn hạn của người dùng Thay vì dựa vào lịch sử dài hạn,
session-based recommendation xem xét các hành vi gần đây để đề xuất nhữngmục tiêu tương tự hoặc phù hợp với ngữ cảnh hiện tại của người dùng Cong nghệ
e Công nghệ nha thông minh:
Trang 35© 1
Hình 156 Amazon Echo (loa thông minh có trợ lý giọng nói)
Hình 167 Google Nest Hub (màn hình thông minh có trợ lý giọng nói)
Hình 178 Ring Video Doorbell (chuông cửa thông minh có video giám sát)
Trang 36Hình 190 Nest Learning Thermostat (máy điều nhiệt thông minh)
© Công nghệ thé dục va sức khỏe:
AN
Hình 201 Fitbit Charge 4 (may theo dõi sức khỏe)
Hình 212 Peloton Bike + (xe dap tập thé dục thông minh)
Trang 37Hình 223 Withings Body + (cân thông minh phân tích thành phần cơ thé)
Hình 245 Oura Ring (vòng thông minh theo dõi giấc ngủ và hoạt động)
e Công nghệ chơi game:
Hình 256 Sony PlayStation 5 (máy chơi game thế hệ tiếp theo)
Trang 38Hình 267 Xbox Series X (máy chơi game thé hệ tiếp theo)
Hình 289 Oculus Quest 2 (tai nghe thực tế ảo)
Hình 290 Razer BlackWidow Elite (bàn phím chơi game)
© Nang suất và Sáng tạo Công nghệ:
Trang 39Hình 301 Apple MacBook Pro (máy tính xách tay)
Hình 312 Microsoft Surface Pro 7 (thiết bị 2 trong 1 đa năng)
Hình 323 Wacom Intuos Pro (máy tính bảng)
Hình 334 Evernote (ứng dụng sắp xếp và ghi chú)
Trang 40e Công nghệ giải trí tại nhà:
Hình 356 Sonos Arc (âm thanh cao cấp với Dolby Atmos)
3
⁄
Hình 367 Apple TV 4K (trình phát đa phương tiện trực tuyến)
Hình 378 Roku Streaming Stick(thiết bị phát trực tuyến giá cả phải chăng)