Bối cảnh và vấn đề nghiên cứu

Trong kỷ nguyên số, dữ liệu đóng vai trò trung tâm trong việc xây dựng và vận hành các hệ thống gợi ý nội dung trực tuyến. Việc thu thập, lưu trữ và xử lý dữ liệu liên quan đến phim ảnh, thông tin người dùng và các tương tác đánh giá để tạo ra giá trị gia tăng là một xu hướng công nghệ tất yếu. Trong lĩnh vực giải trí trực tuyến, việc phân tích dữ liệu nhằm dự đoán chính xác sở thích và hành vi của người xem có ý nghĩa thực tiễn quan trọng, giúp cá nhân hóa trải nghiệm và tối ưu hóa việc phân phối nội dung.

Tác giả chỉ ra rằng các mô hình bán hàng truyền thống thường gặp phải hạn chế do không gian trưng bày giới hạn: 80% doanh thu thường đến từ 20% sản phẩm phổ biến nhất, trong khi một lượng lớn sản phẩm ít phổ biến hơn bị lưu trữ trong kho và không tiếp cận được khách hàng (hiện tượng "đuôi dài" - Long Tail Phenomenon). Ngược lại, các nền tảng trực tuyến sở hữu không gian hiển thị không giới hạn với chi phí chuyển đổi thấp, cho phép trưng bày toàn bộ danh mục nội dung. Tuy nhiên, để khai thác hiệu quả hiện tượng này, nền tảng cần một hạ tầng dữ liệu đủ mạnh cùng các thuật toán gợi ý chính xác. Khóa luận tốt nghiệp của sinh viên Lê Hoàng Khang và Lê Phước Yên (ngành Kỹ thuật Dữ liệu, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh) tập trung nghiên cứu giải pháp xây dựng nền tảng dữ liệu (Data Platform) dựa trên mã nguồn mở để phục vụ bài toán lưu trữ và gợi ý phim.

Khóa luận xác định 5 mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Tìm hiểu về nền tảng dữ liệu (Data Platform) và các công cụ công nghệ có liên quan.
  2. Đề xuất các mô hình kiến trúc hạ tầng dữ liệu bao gồm Kho dữ liệu (Data Warehouse), Hồ dữ liệu (Data Lake) và Kiến trúc kết hợp (Data Lakehouse).
  3. Xây dựng và thiết kế hoàn chỉnh hệ thống Data Platform từ các phần mềm mã nguồn mở.
  4. Xây dựng các thuật toán gợi ý phim cơ bản (lọc dựa trên nội dung - Content-Based Filtering) và giải quyết bài toán phân tích cảm xúc (Sentiment Analysis) thông qua đánh giá của người dùng.
  5. Xây dựng các bảng biểu báo cáo trực quan hóa dữ liệu và hoàn thiện mô hình gợi ý phim ứng dụng.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Dữ liệu phim ảnh trên các nền tảng trực tuyến; các kiến trúc Data Platform; các công nghệ mã nguồn mở phục vụ xử lý dữ liệu lớn; các mô hình học máy cơ bản cho bài toán gợi ý nội dung và phân tích cảm xúc văn bản.
  • Phạm vi nghiên cứu: Nghiên cứu lý thuyết về kiến trúc Data Lakehouse và công nghệ lưu trữ dữ liệu lớn; tìm hiểu thuật toán Hồi quy Logistic (Logistic Regression) và mô hình lọc dựa trên nội dung (Content-Based Filtering); xây dựng và triển khai kiến trúc Data Lakehouse trên môi trường container hóa Docker; đánh giá thực nghiệm trên tập dữ liệu phim thực tế giai đoạn 1897–2017. Đề tài được thực hiện từ ngày 11/03/2024 đến ngày 29/06/2024 dưới sự hướng dẫn của ThS. Nguyễn Văn Thành.

Cơ sở lý thuyết và phương pháp

Khóa luận tổng hợp hệ thống cơ sở lý luận về nền tảng dữ liệu và các mô hình học máy ứng dụng:

  • Khái niệm Data Platform và các thành phần cốt lõi: Data Platform là giải pháp toàn diện cho phép thu thập, phân tích và trực quan hóa dữ liệu từ nhiều nguồn khác nhau. Hệ thống bao gồm 4 thành phần chính: (1) Lưu trữ dữ liệu (Storage); (2) Xử lý và chuyển đổi dữ liệu (Processing/ETL); (3) Phân tích và trực quan hóa dữ liệu (Analytics/BI/Machine Learning); (4) Quản trị dữ liệu (Data Governance, Security, Quality).
  • Các kiến trúc dữ liệu tiêu biểu: Khóa luận phân tích và so sánh ba kiến trúc lưu trữ dữ liệu lớn: Data Warehouse (lưu trữ dữ liệu có cấu trúc, tối ưu cho báo cáo BI, chi phí cao), Data Lake (lưu trữ dữ liệu thô đa định dạng, chi phí thấp, không hỗ trợ giao dịch ACID), và Data Lakehouse (kết hợp khả năng lưu trữ linh hoạt, chi phí thấp của Data Lake với tính năng quản lý giao dịch ACID và truy vấn SQL của Data Warehouse).
Tiêu chí so sánh Data Warehouse Data Lake Data Lakehouse
Loại dữ liệu lưu trữ Dữ liệu có cấu trúc Dữ liệu bán cấu trúc và phi cấu trúc Cả dữ liệu có cấu trúc và phi cấu trúc
Tác vụ hỗ trợ Sinh báo cáo (BI) Học máy và phân tích dữ liệu Phục vụ cả báo cáo BI và học máy
Chi phí lưu trữ Cao Thấp Thấp
Hỗ trợ mức đọc ghi ACID Có hỗ trợ Không hỗ trợ Có hỗ trợ
  • Kỹ thuật xử lý ngôn ngữ tự nhiên và hệ gợi ý: Khóa luận áp dụng mô hình gợi ý dựa trên nội dung (Content-Based Filtering) để dự đoán mức độ quan tâm của người dùng đối với từng mục nội dung (item profile). Các kỹ thuật tiền xử lý văn bản gồm:
    • Regex Tokenizer: Sử dụng biểu thức chính quy để loại bỏ nhiễu (ký tự đặc biệt, mã HTML), chuẩn hóa chữ thường và phân tách văn bản thành các token đơn vị.
    • Stopwords Remover: Loại bỏ các từ dừng không mang nhiều ý nghĩa ngữ nghĩa (như "the", "is", "a", "an" trong tiếng Anh hoặc "cái", "các", "cả" trong tiếng Việt) nhằm giảm kích thước vector và tăng hiệu suất tính toán.
    • Word2Vec: Biểu diễn ngữ nghĩa của từ ngữ thành các vector số nhiều chiều (100, 200 hoặc 300 chiều) thông qua mô hình CBOW (Continuous Bag-of-Words) hoặc Skip-gram.
    • Cosine Similarity (Độ tương tự Cosine): Tính toán độ tương đồng giữa hai vector đặc trưng $\vec{a}$ và $\vec{b}$ thông qua công thức tích vô hướng chia cho tích độ dài: $\text{Cosine Similarity} = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| |\vec{b}|}$.
  • Mô hình phân loại cảm xúc: Sử dụng thuật toán Hồi quy Logistic (Logistic Regression) để phân loại nhãn đánh giá (Tích cực/Tiêu cực). Mô hình kết hợp hàm tuyến tính $y = b_0 + b_1 x_1 + \dots + b_n x_n$ với hàm kích hoạt Sigmoid dạng hình chữ S để chuyển đổi giá trị đầu ra thành xác suất thuộc khoảng $[0, 1]$. Quá trình huấn luyện sử dụng hàm mất mát (Loss Function) và thuật toán hạ độ dốc (Gradient Descent) để tối ưu hóa bộ tham số.

Phương pháp nghiên cứu thực tế:

  • Phương pháp thu thập dữ liệu: Tập hợp các tệp dữ liệu phim ảnh từ các nguồn trực tuyến (IMDb, TMDB, Rotten Tomatoes).
  • Phương pháp phân tích và thiết kế hệ thống: Thiết kế kiến trúc phân tầng Medallion (Bronze – Silver – Gold) cho Data Lakehouse.
  • Phương pháp cài đặt và triển khai: Triển khai các thành phần trên môi trường Docker; cấu hình kết nối giữa các công cụ xử lý phân tán và cơ sở dữ liệu.
  • Phương pháp thực nghiệm và đánh giá: Kiểm thử luồng dữ liệu, đánh giá mô hình phân loại thông qua báo cáo phân loại (Classification Report với các chỉ số Precision, Recall) và đo lường thời gian thực thi truy vấn.

Nguồn dữ liệu sử dụng: Tập dữ liệu phim ảnh dạng bảng gồm 5 tệp tin CSV chính:

  1. movies_metadata.csv: Chứa thông tin tổng quan về các bộ phim (tên phim, mô tả nội dung, ngày phát hành, ngôn ngữ, quốc gia, ngân sách, doanh thu...).
  2. credits.csv: Chứa thông tin về danh sách diễn viên và đội ngũ sản xuất (đạo diễn, biên kịch...).
  3. links.csv: Chứa mã liên kết định danh giữa tập dữ liệu với nguồn IMDb và TMDB.
  4. keyword.csv: Chứa danh sách các từ khóa và thẻ phân loại nội dung gắn liền với phim.
  5. ratings.csv: Chứa dữ liệu đánh giá, xếp hạng điểm số và số lượng phiếu bầu của người dùng.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo kiến trúc Data Lakehouse phân tầng hoàn chỉnh, vận hành trên nền tảng Docker nhằm đảm bảo tính độc lập và khả năng mở rộng.

Thành phần kiến trúc Công nghệ sử dụng Chức năng kỹ thuật trong hệ thống
Môi trường ảo hóa Docker & Docker Compose Đóng gói và cô lập các dịch vụ hạ tầng trên các container riêng biệt.
Nạp dữ liệu (Ingestion) Python, Polars Trích xuất dữ liệu từ tệp CSV thô và ghi vào lớp lưu trữ với hiệu năng cao.
Lưu trữ đối tượng (Storage) MinIO Đóng vai trò Data Lake lưu trữ file nhị phân/đối tượng tương thích API Amazon S3.
Định dạng bảng (Table Format) Apache Iceberg Ánh xạ các tệp Parquet thành bảng dữ liệu có cấu trúc, quản lý snapshot và hỗ trợ ACID.
Quản lý siêu dữ liệu (Metadata) Hive Metastore Quản lý schema, phân vùng và thông tin vị trí tệp qua các bảng DBS, SDS, TABLE_PARAMS.
Xử lý dữ liệu (Processing) Apache Spark (PySpark) Làm sạch dữ liệu, thực hiện các biến đổi phân tán và tính toán vector hóa.
Công cụ truy vấn (Query Engine) Trino, SparkSQL Thực thi các câu lệnh DDL, DML (SELECT, UPDATE) trực tiếp trên định dạng bảng Iceberg.
Điều phối luồng (Orchestration) Dagster Xây dựng và tự động hóa các data pipeline, theo dõi nguồn gốc dữ liệu (Data Lineage).
Trực quan hóa (Visualization) Apache Superset Xây dựng bảng điều khiển trực quan (Dashboard) phục vụ phân tích dữ liệu kinh doanh.
Ứng dụng giao diện (Application) Flask Xây dựng ứng dụng web tương tác người dùng, tích hợp mô hình phân loại và gợi ý.

Quy trình xử lý dữ liệu qua các phân tầng (Medallion Architecture):

  • Lớp Đồng (Bronze Layer): Dữ liệu từ nguồn thô (Raw) được nạp vào MinIO dưới định dạng Apache Parquet (định dạng lưu trữ theo cột giúp tối ưu nén và giảm tải I/O). Tầng này đóng vai trò lưu trữ bản sao nguyên bản phục vụ truy xuất nguồn gốc dữ liệu.
  • Lớp Bạc (Silver Layer): Apache Spark đọc dữ liệu từ Bronze Layer để thực hiện các thao tác tiền xử lý, làm sạch, loại bỏ bản ghi trùng lặp và chuẩn hóa dữ liệu. Kết quả được lưu trữ dưới dạng bảng Apache Iceberg. Cơ chế Iceberg tách biệt lớp dữ liệu (Data Layer gồm các tệp Parquet) và lớp siêu dữ liệu (Metadata Layer gồm tệp JSON, Snapshot và Manifest), cho phép theo dõi lịch sử thay đổi và đảm bảo tính nhất quán dữ liệu.
  • Lớp Vàng (Gold Layer): Chứa dữ liệu đã tổng hợp, tinh chế hoàn chỉnh, sẵn sàng cung cấp cho công cụ Apache Superset để hiển thị báo cáo kinh doanh hoặc nạp vào các mô hình học máy.

Nội dung chính theo từng chương

Chương 1: Mở đầu

Chương này nêu rõ tính cấp thiết của đề tài trong bối cảnh dữ liệu phim ảnh trực tuyến tăng trưởng nhanh chóng. Tác giả xác định rõ mục tiêu nghiên cứu là hiện thực hóa kiến trúc Data Platform mã nguồn mở, phục vụ đồng thời bài toán phân tích kinh doanh và hệ gợi ý. Nội dung chương đồng thời giới thiệu 5 nhiệm vụ nghiên cứu, đối tượng, phạm vi thời gian (11/03/2024 – 29/06/2024), phương pháp nghiên cứu và bố cục tổng thể của khóa luận gồm 5 chương.

Chương 2: Cơ sở lý thuyết

Nội dung chương 2 tập trung phân tích sâu về lý thuyết hạ tầng dữ liệu và các thuật toán học máy:

  • Phân tích chi tiết 4 thành phần chính của Data Platform (Lưu trữ, Xử lý, Phân tích, Quản trị) cùng 3 lợi ích cốt lõi: cải thiện hiệu quả hoạt động, tăng cường năng lực ra quyết định và thúc đẩy đổi mới.
  • Khảo sát các kiến trúc dữ liệu: Phân tích 4 đặc tính của Data Warehouse (tính tích hợp, tính chủ đề, tính thời gian, tính không thay đổi); 4 tính chất của Data Lake (tính linh hoạt, tính mở rộng, tính bảo mật, chi phí thấp); và 5 lớp chức năng của Data Lakehouse (Ingestion, Storage, Metadata, API, Data consumption).
  • Giới thiệu các công nghệ mã nguồn mở trong hệ sinh thái: Docker (cấu trúc Client-Server, Daemon, Container, Image, Volume, Network), Apache Spark (kiến trúc RDD, xử lý trong bộ nhớ chính nhanh hơn Hadoop MapReduce tới 100 lần), MinIO, Apache Iceberg (cấu trúc 3 tầng: Data layer, Metadata layer, Catalog layer), Flask, Apache Superset và Dagster.
  • Trình bày cơ sở toán học và thuật toán của mô hình gợi ý Content-Based Filtering cùng các kỹ thuật NLP (Regex Tokenizer, Stopwords Remover, Word2Vec với vector 100–300 chiều, Cosine Similarity) và mô hình phân loại cảm xúc hồi quy Logistic sử dụng hàm Sigmoid và thuật toán tối ưu Gradient Descent.

Chương 3: Giải pháp đề xuất

Chương 3 trình bày chi tiết giải pháp kỹ thuật do nhóm tác giả thiết kế:

  • Khảo sát cấu trúc 5 tệp dữ liệu đầu vào (movies_metadata.csv, credits.csv, links.csv, keyword.csv, ratings.csv).
  • Thiết kế sơ đồ kiến trúc tổng thể kết hợp giữa hệ thống lưu trữ phân tán, xử lý dữ liệu và mô hình máy học.
  • Quy trình vận hành chi tiết qua 3 lớp Bronze, Silver, Gold; cơ chế ghi dữ liệu Parquet và quản lý metadata JSON của Apache Iceberg; cách thức cấu hình lưu trữ thông tin bảng biểu trong Hive Metastore thông qua các bảng DBS (tên và đường dẫn cơ sở dữ liệu), SDS (thông tin định dạng tệp đọc/ghi và đường dẫn lưu trữ), và TABLE_PARAMS (các tham số cấu hình bảng).
  • Xây dựng các câu lệnh truy vấn mẫu trên Trino và SparkSQL để kiểm thử tính năng DDL/DML trên bảng dữ liệu cleaned_movies và cleaned_ratings.

Chương 4: Thực nghiệm, phân tích kết quả

Chương 4 mô tả toàn bộ quá trình thử nghiệm và các kết quả thu được:

  • Thiết kế luồng dữ liệu tự động (Data Lineage) bằng công cụ điều phối Dagster, hiển thị rõ các nhánh xử lý dữ liệu từ nguồn thô đến các bảng đích.
  • Cài đặt thành công cụm Data Lakehouse trên Docker kết hợp MinIO, Apache Iceberg, Apache Spark và Hive Metastore; thực hiện kiểm tra truy xuất dữ liệu thông qua công cụ DBeaver.
  • Trực quan hóa dữ liệu trên Apache Superset với các biểu đồ thống kê chuyên sâu:
    • Phân bố các bộ phim theo quốc gia sản xuất.
    • Xu hướng tăng trưởng sản xuất phim theo thời gian trong giai đoạn lịch sử 1897–2017.
    • Danh sách top những bộ phim được người xem đánh giá cao nhất.
    • Bảng thống kê các bộ phim có doanh thu phòng vé và ngân sách sản xuất cao nhất.
  • Huấn luyện mô hình phân loại cảm xúc (Sentiment Analysis) và lưu trữ mô hình trực tiếp vào Data Lake; đánh giá mô hình bằng báo cáo phân loại (Classification Report).
  • Xây dựng hoàn chỉnh ứng dụng web bằng Flask với các chức năng: Trang chủ tìm kiếm thông tin phim, giao diện dự đoán cảm xúc bình luận của người xem (gán nhãn Good hoặc Bad), và hiển thị danh sách các bộ phim có độ tương đồng cao nhất dựa trên tính toán Cosine Similarity.

Chương 5: Kết luận

Tổng kết lại các kết quả nghiên cứu và thực nghiệm mà đề tài đã đạt được; chỉ ra các điểm còn hạn chế trong phạm vi đồ án và đề xuất các hướng phát triển tiếp theo.

Kết quả và đóng góp

Kết quả chính đạt được:

  • Xây dựng hoàn chỉnh hạ tầng Data Lakehouse mã nguồn mở hoạt động ổn định trên môi trường Docker, kết hợp thành công MinIO (lưu trữ đối tượng), Apache Iceberg (định dạng bảng), Hive Metastore (quản lý siêu dữ liệu) và Apache Spark (xử lý phân tán).
  • Hiện thực hóa thành công khả năng thực thi các câu lệnh truy vấn SQL tiêu chuẩn bao gồm cả thao tác đọc (SELECT) và cập nhật dữ liệu (UPDATE) thông qua SparkSQL và Trino trên định dạng bảng Apache Iceberg.
  • Thiết lập quy trình điều phối và theo dõi nguồn gốc dữ liệu (Data Lineage) tự động hóa hoàn toàn bằng Dagster.
  • Xây dựng hệ thống bảng điều khiển trực quan hóa trên Apache Superset, phản ánh các chỉ số thống kê về tập dữ liệu điện ảnh từ năm 1897 đến 2017 (phân bố quốc gia, doanh thu, ngân sách, điểm đánh giá).
  • Triển khai ứng dụng web Flask tích hợp thành công hai mô hình học máy: (1) Mô hình gợi ý danh sách phim tương đồng theo nội dung sử dụng Word2Vec và khoảng cách Cosine; (2) Mô hình phân loại cảm xúc người dùng (nhãn Good và Bad) dựa trên thuật toán Hồi quy Logistic.

Giải pháp và kiến nghị của tác giả:

  • Đề xuất ứng dụng kiến trúc Data Lakehouse mã nguồn mở như một giải pháp thay thế tối ưu về mặt chi phí so với các hệ thống thương mại đám mây độc quyền (như Snowflake, Redshift, BigQuery).
  • Khuyến nghị sử dụng định dạng bảng Apache Iceberg để khắc phục nhược điểm thiếu tính toàn vẹn giao dịch ACID của Data Lake truyền thống, giúp dữ liệu dạng tệp Parquet có thể thao tác tương tự bảng cơ sở dữ liệu quan hệ.
  • Ứng dụng thư viện Polars trong giai đoạn nạp dữ liệu (Ingestion) nhằm cải thiện tốc độ đọc/ghi dữ liệu thô so với các thư viện truyền thống.

Đóng góp của khóa luận: Khóa luận đã cung cấp một thiết kế tham chiếu hoàn chỉnh về việc tích hợp chuỗi công cụ mã nguồn mở trong ngành Kỹ thuật Dữ liệu, kết nối liền mạch từ khâu lưu trữ dữ liệu lớn, quản lý siêu dữ liệu, xử lý phân tán, điều phối luồng dữ liệu đến phân tích kinh doanh (BI) và triển khai mô hình học máy ứng dụng phục vụ người dùng cuối.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận:

  • Thuật toán gợi ý mới dừng lại ở mức mô hình Content-Based Filtering cơ bản, chỉ đưa ra đề xuất dựa trên mối quan tâm sẵn có của người dùng mà chưa mở rộng sang việc khám phá các sở thích mới.
  • Mô hình phân loại cảm xúc sử dụng thuật toán Hồi quy Logistic tuyến tính cơ bản, có thể bị giảm độ chính xác khi đối mặt với các cấu trúc ngôn ngữ phức tạp, mối quan hệ phi tuyến tính hoặc dữ liệu ngoại lai (outliers).
  • Toàn bộ hệ thống hiện được thử nghiệm trên môi trường Docker cục bộ trên một máy chủ đơn, chưa triển khai thử nghiệm trên các cụm phân tán đa nút trong môi trường sản xuất thực tế quy mô lớn.

Hướng phát triển tiếp theo:

  • Nghiên cứu và cài đặt bổ sung các phương pháp gợi ý nâng cao như Lọc cộng tác (Collaborative Filtering) hoặc mô hình gợi ý kết hợp (Hybrid Recommender System) để nâng cao độ chính xác và khả năng cá nhân hóa.
  • Áp dụng thêm nhiều thuật toán học máy và học sâu phức tạp hơn cho bài toán phân tích cảm xúc văn bản.
  • Tối ưu hóa các tham số của mô hình và mở rộng quy mô thử nghiệm hệ thống trên các nền tảng điện toán đám mây phân tán.

Giá trị tham khảo

  • Đối tượng tham khảo: Tài liệu là nguồn tham khảo hữu ích cho sinh viên, học viên chuyên ngành Kỹ thuật Dữ liệu (Data Engineering), Khoa học Dữ liệu (Data Science), và Công nghệ Thông tin đang nghiên cứu về kiến trúc dữ liệu lớn hoặc thực hiện đồ án tốt nghiệp liên quan đến hệ thống gợi ý.
  • Nội dung có giá trị ứng dụng cao:
    • Thiết kế kiến trúc phân tầng Medallion (Bronze, Silver, Gold) kết hợp MinIO và Apache Iceberg.
    • Phương pháp cấu hình và kết nối hệ thống siêu dữ liệu Hive Metastore (DBS, SDS, TABLE_PARAMS) phục vụ việc truy vấn SQL phân tán qua Trino.
    • Quy trình xây dựng đường ống dữ liệu tự động (Data Pipeline) và quản trị Data Lineage bằng Dagster.
    • Quy trình tiền xử lý văn bản bằng PySpark (Regex Tokenizer, StopWords, Word2Vec) và tích hợp mô hình máy học vào ứng dụng web Flask.

Câu hỏi thường gặp

1. Khóa luận giải quyết nhược điểm gì của kiến trúc Data Lake truyền thống thông qua việc áp dụng Apache Iceberg?
Khóa luận chỉ ra rằng Data Lake truyền thống gặp hạn chế lớn là không hỗ trợ các giao dịch ACID và không thể thực hiện các thao tác DML trực tiếp (như cập nhật UPDATE, xóa bản ghi). Việc tích hợp định dạng bảng (table format) Apache Iceberg tạo ra một lớp trung gian quản lý siêu dữ liệu thông qua các snapshot, cho phép hệ thống thực thi các câu truy vấn SQL chuẩn (bao gồm cả DDL và DML) trực tiếp trên các tệp Parquet trong MinIO mà vẫn đảm bảo tính nhất quán dữ liệu.

2. Tập dữ liệu thực nghiệm trong khóa luận gồm những tệp nào và phục vụ mục đích gì?
Khóa luận sử dụng tập dữ liệu phim ảnh gồm 5 tệp CSV: movies_metadata.csv (thông tin chung về phim, doanh thu, ngân sách giai đoạn 1897–2017), credits.csv (diễn viên và đoàn làm phim), links.csv (mã liên kết TMDB, IMDb), keyword.csv (từ khóa nội dung phim), và ratings.csv (điểm đánh giá và số lượng bình chọn của người dùng). Dữ liệu này được dùng để xây dựng bảng điều khiển trực quan hóa trên Superset và huấn luyện hai mô hình học máy.

3. Mô hình gợi ý phim trong đồ án hoạt động dựa trên nguyên lý kỹ thuật nào?
Mô hình gợi ý hoạt động theo phương pháp Lọc dựa trên nội dung (Content-Based Filtering). Quy trình xử lý gồm các bước: sử dụng Regex Tokenizer để làm sạch và tách từ, dùng Stopwords Remover để loại bỏ từ dừng, áp dụng mô hình Word2Vec để vector hóa văn bản nội dung phim thành các vector số, và cuối cùng dùng công thức Cosine Similarity để đo góc tương đồng giữa các vector phim nhằm đề xuất danh sách các bộ phim có nội dung tương tự nhất.

4. Vai trò của công cụ Dagster trong kiến trúc hệ thống đề xuất là gì?
Dagster đóng vai trò là công cụ điều phối tác vụ (Orchestration), chịu trách nhiệm quản trị và duy trì các tài sản dữ liệu (data assets) trong suốt chu trình xử lý. Dagster giúp tự động hóa luồng dữ liệu từ khâu trích xuất (Ingestion), làm sạch (Transform) đến lưu trữ phân tầng, đồng thời cung cấp giao diện trực quan hóa toàn bộ nguồn gốc dữ liệu (Data Lineage).

5. Ứng dụng web Flask trong đồ án cung cấp những chức năng cụ thể nào cho người dùng?
Ứng dụng web Flask cung cấp 3 chức năng chính: (1) Trang chủ tìm kiếm và tra cứu thông tin chi tiết của các bộ phim; (2) Chức năng phân loại cảm xúc bình luận của người xem thành hai nhãn Good (Tích cực) hoặc Bad (Tiêu cực) sử dụng mô hình Hồi quy Logistic; (3) Hệ thống gợi ý tự động hiển thị danh sách tên các bộ phim có liên quan dựa trên độ tương đồng Cosine.

Kết luận

Khóa luận "Xây dựng Data Platform sử dụng mã nguồn mở phục vụ hệ thống gợi ý phim" của sinh viên Lê Hoàng Khang và Lê Phước Yên đã nghiên cứu và triển khai thành công một kiến trúc Data Lakehouse hoàn chỉnh dựa trên hệ sinh thái mã nguồn mở (MinIO, Apache Iceberg, Apache Spark, Trino, Dagster, Apache Superset). Đề tài đã giải quyết đồng thời cả hai bài toán: xây dựng hạ tầng lưu trữ, xử lý dữ liệu lớn đảm bảo tính toàn vẹn ACID và phát triển các mô hình học máy ứng dụng (gợi ý nội dung theo độ tương đồng Cosine và phân loại cảm xúc bình luận). Mặc dù các mô hình học máy còn ở mức cơ bản và thử nghiệm trên môi trường cục bộ, công trình đã thể hiện rõ quy trình kỹ thuật dữ liệu end-to-end chặt chẽ, mang lại giá trị tham khảo thiết thực cho các nghiên cứu và ứng dụng kỹ thuật dữ liệu tiếp theo.