Bối cảnh và vấn đề nghiên cứu
Sự bùng nổ của mạng Internet và các thiết bị kết nối số đã biến môi trường trực tuyến thành không gian giải trí chủ đạo, bao gồm các hoạt động nghe nhạc, đọc sách và xem video. Trước sự gia tăng nhanh chóng của khối lượng nội dung số, người dùng gặp phải tình trạng quá tải thông tin, khiến việc tìm kiếm các nội dung phù hợp với thị hiếu cá nhân trở nên phức tạp. Do đó, các nền tảng giải trí hiện đại không chỉ dừng lại ở việc đáp ứng các truy vấn tìm kiếm chủ động, mà bắt buộc phải tích hợp khả năng tự động phân tích hành vi và đề xuất các nội dung phù hợp với thói quen của từng cá nhân.
Khảo sát thực tiễn cho thấy các nền tảng trực tuyến quy mô toàn cầu như YouTube hay Netflix đã triển khai các hệ thống khuyến nghị tinh vi nhằm giữ chân người dùng và tối ưu hóa trải nghiệm xem. Tuy nhiên, các giải pháp công nghệ này phần lớn thuộc sở hữu của các tập đoàn công nghệ quốc tế. Tại Việt Nam, nhu cầu xây dựng các hệ thống giải trí trực tuyến nội địa có tích hợp cơ chế khuyến nghị tự động đang trở thành một yêu cầu kỹ thuật cấp thiết.
Khóa luận tốt nghiệp của tác giả Nguyễn Quang Vũ (ngành Hệ thống Thông tin, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM) đặt ra mục tiêu xây dựng nền tảng chia sẻ video trực tuyến mang tên Vtube, tích hợp phân hệ khuyến nghị nội dung độc lập nhằm tối ưu hóa trải nghiệm người dùng mà không làm suy giảm hiệu năng xử lý của ứng dụng chính.
Các nhiệm vụ và mục tiêu cụ thể được xác định trong văn bản bao gồm:
- Xây dựng một trang web chia sẻ nội dung video có khả năng thu hút người dùng và gợi ý được những nội dung chính xác, phù hợp cho từng cá nhân dựa trên lịch sử và thói quen xem.
- Thiết kế giao diện ứng dụng trực quan, thân thiện, dễ sử dụng và tập trung vào các chức năng cốt lõi.
- Cung cấp đầy đủ các chức năng nghiệp vụ của một nền tảng chia sẻ nội dung trực tuyến: xem video, tương tác (thích, không thích, bình luận), quản lý thông tin cá nhân và quản lý các nội dung tương tác.
- Đảm bảo phân hệ gợi ý hoạt động chính xác, đồng thời được tách biệt về mặt kiến trúc để không gây cản trở hay quá tải đối với hiệu năng vận hành của ứng dụng web.
Về phạm vi nghiên cứu:
- Phạm vi nghiệp vụ: Tập trung vào chu trình chia sẻ video, quản lý tương tác người dùng, phát sóng trực tiếp (livestream) và thuật toán đề xuất nội dung.
- Phạm vi công nghệ: Ngôn ngữ lập trình PHP (framework Laravel), Python (framework Flask), JavaScript (thư viện ReactJS); hệ quản trị cơ sở dữ liệu MySQL; các dịch vụ đám mây và giao tiếp ngoại vi gồm Amazon Web Services (AWS S3), Pusher và OpenTok; công cụ kiểm thử giao tiếp API Postman.
Cơ sở lý thuyết và phương pháp
Khóa luận hệ thống hóa cơ sở lý thuyết về hệ thống khuyến nghị (Recommender System) và phân loại thành ba hướng tiếp cận chính:
- Đề xuất dựa trên nội dung (Content-based recommendation): Phương pháp gợi ý các đối tượng (items) có đặc tính tương đồng với những đối tượng mà người dùng đã từng tương tác tích cực trong quá khứ (thích, xem nhiều lần, bình luận). Các đặc tính được chuyển đổi thành vector thuộc tính để tính toán độ tương đồng.
- Đề xuất lọc cộng tác (Collaborative-filtering recommendation): Bao gồm lọc cộng tác dựa trên người dùng (User-based) và lọc cộng tác dựa trên sản phẩm (Item-based), hoạt động dựa trên giả định rằng các người dùng có hành vi tương đồng sẽ có cùng sở thích đối với các đối tượng chưa xem.
- Đề xuất kết hợp (Hybrid recommendation): Kết hợp giữa lọc dựa trên nội dung và lọc cộng tác thông qua kỹ thuật lấy trung bình có trọng số nhằm triệt tiêu các nhược điểm đơn lẻ của từng mô hình.
Để hiện thực hóa phân hệ khuyến nghị cho nền tảng Vtube, tác giả tập trung ứng dụng phương pháp đề xuất dựa trên nội dung thông qua hai kỹ thuật xử lý dữ liệu số:
- Kỹ thuật chuẩn hóa Min – Max Scaling: Dùng để co giãn các biến đặc trưng định lượng của video về khoảng giá trị $[0, 1]$, triệt tiêu sự chênh lệch biên độ giữa các thước đo theo công thức:
$$x' = \frac{x - \min(x)}{\max(x) - \min(x)}$$
- Độ đo tương đồng Cosine (Cosine Similarity): Dùng để xác định góc giữa hai vector đặc trưng $A$ và $B$ trong không gian đa chiều, nhận giá trị trong đoạn $[-1, 1]$. Giá trị tiến dần về 1 thể hiện mức độ tương đồng tối đa giữa hai đối tượng:
$$\text{Cosine}(A, B) = \frac{A \cdot B}{|A| |B|}$$
Bên cạnh đó, văn bản trình bày lý thuyết thuật toán TF-IDF (Term Frequency – Inverse Document Frequency) phục vụ biểu diễn mức độ quan trọng của từ khóa trong khai phá dữ liệu văn bản.
Phương pháp nghiên cứu thực nghiệm được tiến hành qua các bước:
- Khảo sát hiện trạng các nền tảng chia sẻ video trực tuyến (YouTube, Netflix).
- Thu thập dữ liệu thực nghiệm thông qua phương pháp chèn mã kịch bản JavaScript trực tiếp trên trình duyệt để cào (crawl) dữ liệu cấu trúc về danh mục và video, sau đó chuyển đổi (convert) định dạng và nhập (import) vào hệ thống qua tệp tin cấu trúc.
- Thiết kế hệ thống theo mô hình kiến trúc MVC (Model - View - Controller) trên Laravel và tích hợp kiến trúc dịch vụ RESTful API giao tiếp với phân hệ tính toán của Flask.
- Kiểm thử chức năng, kiểm thử đơn vị và kiểm thử hiệu năng API thông qua công cụ Postman.
Thiết kế và triển khai hệ thống
Nền tảng Vtube được thiết kế theo cấu trúc tách biệt thành hai phân hệ dịch vụ độc lập nhằm đảm bảo khả năng mở rộng và tối ưu hóa tài nguyên phần cứng:
[Client (ReactJS)]
[Web App Backend] [Recommendation API] [Dịch vụ bên thứ ba]
(PHP - Laravel) (Python - Flask) - AWS S3 (Media)
-
Phân hệ Web Application (Vtube Web App):
- Phía máy khách (Frontend): Xây dựng bằng ReactJS, áp dụng cú pháp JSX và cơ chế Virtual DOM giúp tối ưu tốc độ kết xuất trang đối với các cấu trúc dữ liệu biến động liên tục.
- Phía máy chủ (Backend): Sử dụng PHP với framework Laravel triển khai theo mô hình MVC, cung cấp hệ thống định tuyến, cơ chế xác thực người dùng và các API quản lý nghiệp vụ truyền phát video.
- Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ MySQL lưu trữ thông tin nghiệp vụ, dữ liệu người dùng, tương tác và kết quả gợi ý.
-
Phân hệ Khuyến nghị (Recommendation Module):
- Xây dựng dưới dạng dịch vụ vi mô (micro-service) bằng Python và micro-framework Flask.
- Nhận nhiệm vụ tính toán chuyên biệt: trích xuất các thuộc tính video (lượt xem, lượt thích, lượt không thích, số lượng bình luận, thời lượng phát, danh mục), chuẩn hóa dữ liệu bằng kỹ thuật Min - Max Scaling, tính toán ma trận khoảng cách Cosine Similarity giữa các vector video và trích xuất danh sách mã định danh video phù hợp nhất.
- Cơ chế đồng bộ: Phân hệ web app gọi API của phân hệ gợi ý. Để đảm bảo không ảnh hưởng đến độ trễ giao diện, client tải các tài nguyên hiển thị trước, sau đó tiến trình gọi API cập nhật dữ liệu gợi ý luôn được xếp lịch thực thi sau cùng trong chuỗi network request.
-
Tích hợp các dịch vụ bên thứ ba:
- Amazon Web Services (AWS S3): Lưu trữ các tệp tin đa phương tiện có dung lượng lớn gồm video tải lên, ảnh đại diện và ảnh thu nhỏ (thumbnail).
- Pusher: Hạ tầng truyền thông điệp thời gian thực (WebSocket), phục vụ tính năng gửi nhận tin nhắn tức thời giữa các tài khoản và thông báo hệ thống.
- OpenTok: Nền tảng hỗ trợ truyền phát video trực tiếp (livestream) tương tác thời gian thực giữa các kênh nghệ sĩ và khán giả.
-
Thiết kế cơ sở dữ liệu quan hệ:
Cơ sở dữ liệu của Vtube bao gồm 14 bảng nghiệp vụ được chuẩn hóa nhằm lưu trữ toàn bộ chu trình hoạt động của nền tảng:
| Tên bảng |
Chức năng chính |
Thuộc tính khóa / Khóa ngoại tiêu biểu |
Users |
Quản lý thông tin tài khoản, phân loại người dùng (User, Nghệ sĩ, Admin) |
id, email, role_id, array_recommend_video |
Categories |
Danh mục phân loại nội dung video |
id, name, slug, disable |
Videos |
Lưu trữ thông tin chi tiết, đường dẫn lưu trữ và chỉ số tương tác video |
id, user_id, category_id, array_recommend_video |
Events |
Quản lý lịch và phiên phát sóng trực tiếp (livestream) |
id, user_id, session_id, archive_id, category_id |
Activities |
Ghi nhận hành vi tương tác (like, dislike) của người dùng |
id, user_id, target_id, type |
CommentActions |
Lưu trữ bình luận của người dùng trên các video |
id, user_id, target_id, content |
Subscribes |
Lưu trữ quan hệ theo dõi giữa người dùng và kênh nghệ sĩ |
id, user_id, target_id |
Conversation |
Quản lý phiên hội thoại tin nhắn giữa hai người dùng |
id, id_user_1, id_user_2, new_message_id |
Messages |
Lưu nội dung tin nhắn chi tiết trong từng hội thoại |
id, writer_id, conversation_id, has_file |
FileMessages |
Quản lý các tệp tin đính kèm trong tin nhắn |
id, message_id, files, types, file_names |
Notifications |
Lưu trữ thông báo hệ thống và thông báo tương tác |
id, receiver_id, sender_id, type, object_id |
RoleAdmins |
Định nghĩa các nhóm quyền quản trị hệ thống |
id, name, detail |
PlatformLogs |
Ghi vết toàn bộ thao tác và request gửi tới máy chủ của các admin |
id, user_id, activity |
WatchHistories |
Ghi nhận lịch sử xem video và trạng thái tương tác tại thời điểm xem |
id, user_id, video_id, current_like, current_view |
- Kiểm thử hệ thống:
Phân hệ khuyến nghị được kiểm thử qua hai kịch bản độc lập thông qua công cụ Postman:
- Kiểm thử gợi ý theo mã video (Video ID): Trả về danh sách các video có nội dung và chỉ số tương đồng nhất với một video cụ thể đang xem.
- Kiểm thử gợi ý theo mã người dùng (User ID): Dựa vào lịch sử tương tác tổng hợp trong bảng
WatchHistories để xuất danh sách video phù hợp với hồ sơ người dùng đó.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 thiết lập cơ sở hình thành đề tài thông qua việc phân tích tầm quan trọng của hệ thống gợi ý trong việc giải quyết bài toán quá tải thông tin số. Tác giả tiến hành khảo sát hai nền tảng tiêu biểu là YouTube và Netflix để phân tích giao diện và cách thức vận hành tính năng đề xuất. Chương này xác định rõ 4 mục tiêu nghiên cứu, phạm vi công nghệ áp dụng, và cụ thể hóa quy trình thực hiện khóa luận thành 5 bước tuần tự:
- Bước 1: Khảo sát hiện trạng, chọn lọc công nghệ và định vị nguồn dữ liệu tin cậy.
- Bước 2: Thiết kế kiến trúc tổng thể, mô hình cơ sở dữ liệu, giao diện và cấu hình máy chủ.
- Bước 3: Hiện thực hóa cơ sở dữ liệu, giao diện, máy chủ backend và kết nối các thành phần.
- Bước 4: Xây dựng thuật toán cho phân hệ khuyến nghị và tích hợp với phân hệ web.
- Bước 5: Kiểm thử toàn diện, sửa lỗi và tối ưu hóa hiệu năng hệ thống.
Chương 2: Cơ sở lý thuyết
Nội dung chương 2 trình bày chi tiết bản chất kỹ thuật của các thuật toán đề xuất: Content-based Filtering, Collaborative Filtering (User-based và Item-based) và mô hình Hybrid. Tác giả đi sâu vào các công thức tính toán cốt lõi gồm kỹ thuật chuẩn hóa Min - Max Scaling và công thức đo độ tương đồng Cosine Similarity.
Về mặt kỹ thuật phần mềm, chương này phân tích mô hình kiến trúc MVC và đánh giá ưu - nhược điểm của các công nghệ được lựa chọn:
- PHP / Laravel: Ưu điểm về cú pháp hiện đại, công cụ dòng lệnh Artisan, hệ thống ORM ActiveRecord mạnh mẽ; nhược điểm nằm ở tốc độ xử lý và sự thiếu đồng nhất giữa các phiên bản lớn.
- Python / Flask: Cung cấp môi trường micro-framework tinh gọn, linh hoạt, hỗ trợ tối ưu các thư viện tính toán khoa học dữ liệu.
- JavaScript / ReactJS: Cung cấp kiến trúc dựa trên thành phần (component-based), sử dụng cú pháp JSX và Virtual DOM cho tốc độ phản hồi giao diện cao.
- Hệ quản trị CSDL MySQL: Ưu điểm về tính phổ biến, bảo mật và tốc độ truy vấn ổn định đối với các hệ thống vừa và nhỏ.
Chương 3: Phân tích và thiết kế hệ thống
Chương 3 tập trung vào việc mô hình hóa yêu cầu hệ thống. Tác giả xác định 4 nhóm tác nhân gồm: Người dùng vãng lai, Người dùng hệ thống, Nghệ sĩ và Quản trị viên (Admin).
Hệ thống use case được xây dựng chi tiết với 23 use case chính dành cho người dùng và 10 use case quản trị dành cho Admin (bao gồm quản lý người dùng, phân quyền quản trị, kiểm duyệt video, kiểm duyệt sự kiện phát sóng trực tiếp, xem nhật ký hệ thống Platform Logs và nhập/xuất dữ liệu). Luồng tương tác của hệ thống được minh họa qua hệ thống sơ đồ hoạt động (Activity Diagram) và sơ đồ tuần tự (Sequence Diagram) cho các nghiệp vụ cốt lõi: chức năng lấy lại mật khẩu qua email, chức năng xem video kèm điều kiện gọi hệ thống khuyến nghị, tương tác thích video và quy trình đăng tải video mới. Thiết kế cơ sở dữ liệu được chi tiết hóa thành 14 bảng quan hệ và phác thảo hệ thống giao diện người dùng hoàn chỉnh.
Chương 4: Xây dựng và triển khai hệ thống
Chương 4 mô tả toàn bộ quá trình hiện thực hóa giải pháp. Dữ liệu thực nghiệm được thu thập bằng cách chạy các đoạn mã JavaScript trực tiếp trên giao diện trình duyệt để trích xuất cấu trúc danh mục và thông tin video mẫu. Tác giả phân tích các biểu đồ phân phối dữ liệu thực tế đối với các biến: thời lượng video và số lượng bình luận, từ đó thực hiện chuẩn hóa dữ liệu thông qua công thức Min - Max Scaling.
Phân hệ khuyến nghị được xây dựng trên nền tảng Flask và kiểm thử độc lập các hàm API thông qua Postman với hai tham số đầu vào là Video ID và User ID. Phân hệ Web App được cấu hình kết nối CSDL thông qua tệp .env của Laravel và liên kết trực tiếp với các dịch vụ Pusher, OpenTok và AWS S3. Kết quả gợi ý sau khi tính toán được lưu trữ vào các trường Array_recommend_video trong bảng Videos và Users, từ đó hiển thị trực tiếp lên vùng giao diện "Recommend Video" của trang chủ và trang phát video.
Chương 5: Kết luận
Chương cuối cùng tổng kết các kết quả đạt được sau quá trình nghiên cứu và phát triển hệ thống Vtube. Tác giả đánh giá mức độ tương thích của sản phẩm so với các mục tiêu đề ra ban đầu, xác định rõ các ưu điểm nổi bật về mặt chức năng và kiến trúc phân tách, đồng thời thẳng thắn chỉ ra các giới hạn kỹ thuật còn tồn đọng và phác thảo các hướng mở rộng cho các nghiên cứu tiếp theo.
Kết quả và đóng góp
Khóa luận đã hoàn thành việc xây dựng và triển khai thực nghiệm nền tảng Vtube với các kết quả cụ thể:
- Hiện thực hóa thành công một nền tảng web chia sẻ video hoàn chỉnh gồm 23 chức năng người dùng và 10 chức năng quản trị, tích hợp các tính năng nâng cao như truyền phát video trực tiếp (livestream qua OpenTok), nhắn tin kèm tệp tin thời gian thực và thông báo tự động (qua Pusher).
- Triển khai thành công kiến trúc phân tách 2 phân hệ (Web App và Recommendation Module) hoạt động độc lập, giúp cô lập tải tính toán ma trận của thuật toán khuyến nghị khỏi tiến trình xử lý web chính.
- Xây dựng hoàn chỉnh cơ sở dữ liệu quan hệ gồm 14 bảng thuộc tính có tính liên kết chặt chẽ, hỗ trợ đầy đủ việc lưu trữ lịch sử xem (
WatchHistories), phân quyền quản trị đa cấp (RoleAdmins) và nhật ký hệ thống (PlatformLogs).
- Ứng dụng thành công thuật toán đề xuất dựa trên nội dung (Content-based Filtering) sử dụng kỹ thuật chuẩn hóa Min - Max Scaling và độ đo Cosine Similarity trên các thuộc tính số thực tế (thời lượng, lượt xem, lượt thích, lượt bình luận, danh mục). API khuyến nghị đã được kiểm thử thành công bằng công cụ Postman ở cả hai trường hợp truy vấn theo Video ID và User ID.
Đóng góp của khóa luận nằm ở việc đề xuất và kiểm chứng một giải pháp kiến trúc khả thi cho các nền tảng truyền thông đa phương tiện quy mô vừa: kết hợp giữa PHP (Laravel) cho xử lý nghiệp vụ web truyền thống và Python (Flask) cho các tác vụ tính toán thuật toán khuyến nghị, giải quyết bài toán nghẽn tài nguyên thông qua cơ chế bất đồng bộ tại client.
Hạn chế và hướng nghiên cứu tiếp
Theo các nội dung được tác giả trình bày trong văn bản, hệ thống còn tồn tại một số hạn chế kỹ thuật:
- Phương pháp thu thập dữ liệu thử nghiệm ban đầu phụ thuộc vào việc chèn mã JavaScript thủ công trên trình duyệt, chưa xây dựng được đường ống tự động hóa cào và cập nhật dữ liệu quy mô lớn.
- Mô hình gợi ý hiện thời mới dừng lại ở thuật toán lọc dựa trên nội dung (Content-based), chưa khai thác đầy đủ các thông tin ngữ cảnh phức tạp hoặc phối hợp lọc cộng tác do quy mô dữ liệu người dùng thử nghiệm còn hạn chế.
- Cơ chế kiểm duyệt video và sự kiện livestream của quản trị viên vẫn vận hành thủ công, chưa tích hợp các giải pháp nhận diện nội dung vi phạm tự động.
Các định hướng phát triển được đề xuất bao gồm:
- Mở rộng phân hệ khuyến nghị thành mô hình Hybrid Recommendation, tích hợp thuật toán lọc cộng tác (Collaborative Filtering) khi hệ thống tích lũy đủ mật độ tương tác của người dùng.
- Nghiên cứu ứng dụng các mô hình học máy (Machine Learning) và xử lý ngôn ngữ tự nhiên để khai phá sâu nội dung thẻ tag, tiêu đề và bình luận video.
- Tối ưu hóa hạ tầng cơ sở dữ liệu phân tán và cơ chế lưu bộ nhớ đệm (caching) cho MySQL nhằm duy trì hiệu năng cao khi số lượng bản ghi tăng trưởng quy mô lớn.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo có giá trị chuyên môn đối với:
- Sinh viên và học viên chuyên ngành Hệ thống Thông tin, Kỹ thuật Phần mềm và Khoa học Máy tính đang thực hiện các đồ án tốt nghiệp liên quan đến kiến trúc ứng dụng web đa phương tiện hoặc tích hợp hệ thống khuyến nghị.
- Các nhà phát triển phần mềm cần tham khảo cấu trúc phân tích nghiệp vụ, lược đồ cơ sở dữ liệu quan hệ 14 bảng cho các ứng dụng mạng xã hội video.
- Các kỹ sư hệ thống tìm kiếm giải pháp tích hợp dịch vụ bên thứ ba (AWS S3, Pusher, OpenTok) vào nền tảng Laravel và phương pháp tách phân hệ tính toán Python ra khỏi kiến trúc monolithic thông qua RESTful API.
Câu hỏi thường gặp
1. Khóa luận sử dụng những thuộc tính nào của video để xây dựng vector đặc trưng cho hệ thống gợi ý?
Hệ thống sử dụng các thông tin định lượng và phân loại gồm: lượt thích (likes), lượt không thích (dislikes), số lượng bình luận (comments), thời lượng phát (duration) và mã thể loại (category_id) của video để tạo lập vector đặc trưng.
2. Tại sao tác giả lại tách Vtube thành hai phân hệ riêng biệt gồm Web App và Recommendation System?
Việc tách riêng hệ thống web app (Laravel) và hệ thống gợi ý (Flask) nhằm đảm bảo các tác vụ tính toán ma trận và độ tương đồng phức tạp của thuật toán khuyến nghị không chiếm dụng tài nguyên máy chủ web, tránh tình trạng quá tải hoặc gây suy giảm tốc độ tải trang của người dùng.
3. Cơ chế giao tiếp và cập nhật dữ liệu gợi ý giữa máy khách và máy chủ diễn ra theo thứ tự nào?
Phía máy khách (ReactJS) sẽ thực thi các API lấy dữ liệu nội dung hiển thị trước để tối ưu hóa thời gian phản hồi giao diện. Sau khi hoàn tất việc tải tài nguyên cơ bản, các API gọi tới phân hệ khuyến nghị để tính toán và cập nhật danh sách video gợi ý mới sẽ luôn được xếp lịch chạy sau cùng.
4. Dữ liệu thử nghiệm ban đầu của hệ thống được thu thập bằng phương pháp nào?
Dữ liệu mẫu về danh mục và video được thu thập bằng phương pháp chèn và chạy các đoạn mã kịch bản JavaScript trực tiếp trên trình duyệt web để cào dữ liệu, sau đó thực hiện chuyển đổi định dạng và nhập vào cơ sở dữ liệu MySQL thông qua giao diện import file dữ liệu (CSV/Excel) của trang quản trị.
5. Kết quả gợi ý nội dung được lưu trữ tại đâu trong cơ sở dữ liệu?
Danh sách các mã định danh video được thuật toán khuyến nghị đề xuất sẽ được lưu trữ dưới dạng mảng chuỗi trong cột array_recommend_video, tích hợp trực tiếp tại hai bảng quan hệ chính là bảng Users (video gợi ý cho từng người dùng) và bảng Videos (video gợi ý tương đồng cho từng video).
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Quang Vũ đã hoàn thành việc thiết kế và xây dựng thành công nền tảng chia sẻ video trực tuyến Vtube tích hợp phân hệ khuyến nghị nội dung. Nghiên cứu giải quyết tốt bài toán phân tách kiến trúc giữa khối xử lý nghiệp vụ web (Laravel/ReactJS) và khối tính toán thuật toán gợi ý (Flask), ứng dụng hiệu quả kỹ thuật chuẩn hóa Min - Max Scaling và độ đo tương đồng Cosine trên dữ liệu thuộc tính video. Kết quả đạt được cung cấp một giải pháp tham khảo rõ ràng, thực tiễn cho việc phát triển các ứng dụng web truyền thông đa phương tiện tích hợp phân hệ thông minh.