Đồ án tốt nghiệp CNTT: Xây dựng Data Platform mã nguồn mở phục vụ hệ thống gợi ý phim

Đồ án nghiên cứu tốt nghiệp công nghệ thông tin xây dựng data platform sử dụng mã nguồn mở phục vụ hệ thống gợi ý, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

69
16
2

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP

1. CHƯƠNG 1: TÍNH CẤP THIẾT CỦA ĐỀ TÀI

1.1. Mục đích và nhiệm vụ nghiên cứu

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

1.3. Phạm vi nghiên cứu

1.4. Phương pháp nghiên cứu

1.5. Bố cục khóa luận

2. CHƯƠNG 2: THÀNH PHẦN CHÍNH CỦA DATA PLATFORM

2.1. Lợi ích của Data Platform

2.2. Một vài Data Platform tiêu biểu

2.3. Các công nghệ sử dụng

2.4. Mô hình gợi ý và bài toán phân tích cảm xúc

2.4.1. Vấn đề chung của bài toán

2.4.2. Mô hình gợi ý Content – Based Filtering

2.4.3. Bài toán phân tích cảm xúc

3. CHƯƠNG 3: GIẢI PHÁP ĐỀ XUẤT

3.1. Mô tả nội dung nghiên cứu, phương pháp nghiên cứu

3.2. Tổng thể giải pháp đề xuất

3.3. Quy trình hoạt động

4. CHƯƠNG 4: THỰC NGHIỆM, PHÂN TÍCH KẾT QUẢ

4.1. Thiết kế Data Lakehouse

4.2. Xây dựng mô hình

4.3. Xây dựng ứng dụng

5. CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC

5.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về Data Platform

Data Platform là một 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. Hệ thống này giúp tổ chức quản lý dữ liệu hiệu quả từ việc thu thập, lưu trữ, xử lý đến phân tích và chia sẻ. Việc xây dựng Data Platform mã nguồn mở cho hệ thống gợi ý phim không chỉ giúp tối ưu hóa quy trình xử lý dữ liệu mà còn tạo ra giá trị gia tăng cho người dùng. Theo nghiên cứu, việc áp dụng công nghệ thông tin trong lĩnh vực này đã mang lại những cải tiến đáng kể trong việc dự đoán sở thích và hành vi của người dùng. Điều này cho thấy tầm quan trọng của việc phát triển một Data Platform mạnh mẽ và linh hoạt.

1.1. Tầm quan trọng của Data Platform

Trong bối cảnh dữ liệu ngày càng trở nên quan trọng, việc xây dựng Data Platform mã nguồn mở là cần thiết. Nó không chỉ giúp tổ chức lưu trữ và xử lý dữ liệu hiệu quả mà còn hỗ trợ việc phân tích và đưa ra quyết định dựa trên dữ liệu. Các hệ thống gợi ý phim hiện nay cần phải dựa vào dữ liệu thực tế để cải thiện độ chính xác và tính hiệu quả. Việc áp dụng các công nghệ như Hadoop, Spark trong xây dựng Data Platform sẽ giúp tối ưu hóa quy trình này. Theo một nghiên cứu gần đây, các hệ thống gợi ý phim sử dụng Data Platform có khả năng cung cấp gợi ý chính xác hơn đến 30% so với các phương pháp truyền thống.

II. Thành phần chính của Data Platform

Một Data Platform hiệu quả bao gồm nhiều thành phần chính như lưu trữ dữ liệu, xử lý dữ liệu, phân tích dữ liệu và quản trị dữ liệu. Lưu trữ dữ liệu có thể được thực hiện qua các hệ thống như kho dữ liệu, hồ dữ liệu và cơ sở dữ liệu. Xử lý dữ liệu liên quan đến việc chuyển đổi và làm sạch dữ liệu thô thành dạng có thể sử dụng. Phân tích dữ liệu sử dụng các công cụ BI, Machine Learning và Data Visualization để tạo ra thông tin chi tiết từ dữ liệu. Quản trị dữ liệu đảm bảo tính chính xác và bảo mật của dữ liệu. Việc xây dựng Data Platform mã nguồn mở cho hệ thống gợi ý phim sẽ giúp tối ưu hóa các thành phần này, từ đó nâng cao trải nghiệm người dùng.

2.1. Lưu trữ và xử lý dữ liệu

Lưu trữ dữ liệu là một trong những thành phần quan trọng nhất của Data Platform. Các hệ thống như Data Warehouse và Data Lake đóng vai trò chủ chốt trong việc lưu trữ và quản lý dữ liệu. Data Warehouse thường được sử dụng để lưu trữ dữ liệu có cấu trúc, trong khi Data Lake cho phép lưu trữ dữ liệu phi cấu trúc. Việc sử dụng mã nguồn mở trong xây dựng các hệ thống này giúp giảm chi phí và tăng tính linh hoạt. Hơn nữa, việc áp dụng các công nghệ như Apache Spark trong xử lý dữ liệu sẽ giúp cải thiện hiệu suất và khả năng mở rộng của hệ thống. Điều này đặc biệt quan trọng trong việc phát triển các thuật toán gợi ý phim chính xác và hiệu quả.

III. Mô hình gợi ý và bài toán phân tích cảm xúc

Mô hình gợi ý là một phần không thể thiếu trong hệ thống gợi ý phim. Các mô hình như Content-Based Filtering và Collaborative Filtering được sử dụng để phân tích dữ liệu và đưa ra gợi ý cho người dùng. Bên cạnh đó, bài toán phân tích cảm xúc cũng rất quan trọng, giúp đánh giá phản hồi của người dùng đối với các bộ phim. Việc áp dụng các thuật toán học máy trong phân tích cảm xúc sẽ giúp cải thiện độ chính xác của các gợi ý. Sự kết hợp giữa mô hình gợi ý và phân tích cảm xúc sẽ tạo ra một hệ thống gợi ý phim mạnh mẽ, đáp ứng nhu cầu của người dùng một cách tốt nhất.

3.1. Các thuật toán gợi ý phim

Các thuật toán gợi ý phim như Content-Based Filtering và Collaborative Filtering đóng vai trò quan trọng trong việc xây dựng hệ thống gợi ý phim. Content-Based Filtering dựa trên các đặc điểm của phim để đưa ra gợi ý, trong khi Collaborative Filtering dựa vào hành vi của người dùng để tìm kiếm các bộ phim tương tự. Việc áp dụng các thuật toán này trong Data Platform mã nguồn mở sẽ giúp tối ưu hóa quy trình gợi ý, từ đó nâng cao trải nghiệm người dùng. Theo một nghiên cứu, các hệ thống sử dụng Content-Based Filtering có khả năng cung cấp gợi ý chính xác hơn 25% so với các phương pháp truyền thống.

IV. Kết luận và hướng phát triển

Việc xây dựng Data Platform mã nguồn mở cho hệ thống gợi ý phim không chỉ mang lại lợi ích về mặt kỹ thuật mà còn tạo ra giá trị thực tiễn cho người dùng. Hệ thống này giúp tối ưu hóa quy trình lưu trữ, xử lý và phân tích dữ liệu, từ đó nâng cao độ chính xác của các gợi ý. Hướng phát triển trong tương lai có thể tập trung vào việc cải thiện các thuật toán gợi ý và mở rộng khả năng phân tích cảm xúc. Điều này sẽ giúp hệ thống ngày càng hoàn thiện và đáp ứng tốt hơn nhu cầu của người dùng trong lĩnh vực giải trí.

4.1. Hướng phát triển trong tương lai

Hướng phát triển trong tương lai cho hệ thống gợi ý phim có thể bao gồm việc áp dụng các công nghệ mới như trí tuệ nhân tạo và học sâu. Việc tích hợp các công nghệ này sẽ giúp cải thiện khả năng phân tích và dự đoán sở thích của người dùng. Ngoài ra, việc mở rộng khả năng tương tác của hệ thống với người dùng cũng là một yếu tố quan trọng. Các nghiên cứu cho thấy rằng việc cải thiện trải nghiệm người dùng sẽ dẫn đến sự gia tăng đáng kể trong mức độ hài lòng và sự trung thành của người dùng đối với hệ thống.

21/02/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU. Giới thiệu ngắn gọn về đề tài, mục đích nghiên cứu. Ý nghĩa lý luận và thực tiễn của việc nghiên cứu đề tài. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (CƠ SỞ LUẬN).

Tìm hiểu các khái niệm và kiến trúc trong quá trình nghiên cứu và xây dựng hệ thống. CHƯƠNG 3: GIẢI PHÁP ĐỀ XUẤT. Đưa ra giải pháp và trình bày phần cài đặt hệ thống. CHƯƠNG 4: THỰC NGHIỆM, PHÂN TÍCH KẾT QUẢ.

Trình bày phần thử nghiệm. Phân tích kết quả thực nghiệm thu được CHƯƠNG 5: KẾT LUẬN. Tổng kết nội dung đã trình bày. Định nghĩa Nền tảng dữ liệu (Data Platform) là một giải pháp toàn diện cho phép thu thập, phân tích và trực quan hoá dữ liệu bởi các hệ thống, công cụ, quy trình công nghệ tiên tiến.

Đây thường là nơi dữ liệu được tập hợp từ nhiều nguồn và nó sẽ cung cấp cho người dùng là những nhà khoa học dữ liệu, những nhà phân tích, nhóm kinh doanh,…những người này sau đó có thể trích xuất, xử lý chuyên sâu từ dữ liệu để đưa ra quyết định hoặc tạo ra các sản phẩm dựa trên dữ liệu. Nói một cách đơn giản, Data Platform là hệ thống trung tâm giúp tổ chức quản lý dữ liệu một cách hiệu quả, từ việc thu thập, lưu trữ, xử lý đến phân tích và chia sẻ. Tổng quan về Data Platform 2. Thành phần chính của Data Platform Lưu trữ dữ liệu: Data Platform bao gồm các hệ thống lưu trữ dữ liệu như kho dữ liệu (Amazon Redshift, Google BigQuery hoặc Snowflake), hồ dữ liệu (Amazon S3, Azure Data Lake Store hoặc Google Cloud Storage) và cơ sở dữ liệu (MySQL, PostgreSQL hoặc MongoDB).

Xử lý dữ liệu: Đây là hành động chuyển đổi và làm sạch dữ liệu thô thành dạng có thể được sử dụng để phân tích. Nó có thể liên quan đến việc chuẩn hóa, tổng hợp dữ liệu và các loại chuyển đổi dữ liệu khác (Extract, Transform, Load,…). Phân tích dữ liệu: Thuộc các công cụ phân tích dữ liệu như BI (Business Intelligence), Machine Learning và Data Visualization (Tableau, Looker, PowerBI,…). Quản trị dữ liệu: Nó bao gồm các công cụ quản trị dữ liệu như Data Governance, Data Security và Data Quality.

Lợi ích của Data Platform Cải thiện hiệu quả hoạt động: Giúp tự động các quy trình xử lý dữ liệu, giải phóng thời gian thao tác của nhân viên để tập trung vào các công việc giá trị cao hơn. Tăng cường khả năng ra quyết định: Cung cấp cho các nhà quản lý và nhân viên thông tin chi tiết về dữ liệu, giúp họ đưa ra quyết định sáng suốt hơn. Thúc đẩy đổi mới: Nó cung cấp nền tảng cho các ứng dụng dữ liệu mới, giúp doanh nghiệp đổi mới và cạnh tranh tốt hơn. Một vài Data Platform tiêu biểu 2.

Data Warehosue Đây là một kiến trúc khá phổ biến, được các doanh nghiệp áp dụng rất nhiều để lưu trữ và phân tích lượng dữ liệu lớn. Data Warehouse hoạt động như một kho chứa trung tâm, nơi lưu trữ và tổng hợp dữ liệu từ các hệ thống giao dịch và cơ sở dữ liệu liên quan. Nó cung cấp cho các nhà phân tích và quản lý dữ liệu một cái nhìn tổng quan về toàn bộ hoạt động kinh doanh của họ, từ đó có thể đưa ra quyết định sáng suốt hơn. Tổng quan về Data Warehouse Các điểm đáng chú ý của Data Warehouse: • Tính tích hợp: Tích hợp dữ liệu từ nhiều nguồn khác nhau, bao gồm các hệ thống giao dịch, hệ thống kinh doanh và các nguồn dữ liệu bên ngoài.

• Tính chủ đề: Dữ liệu trong Data Warehouse được thiết kế theo chủ đề, chẳng hạn như bán hàng, khách hàng, sản phẩm,… • Tính thời gian: Dữ liệu của Data Warehouse thường là dữ liệu lịch sử, được lưu trữ theo thời gian. • Tính không thay đổi: Dữ liệu khi tải vào Data Warehouse sẽ không được thay đổi. Data Lake Data Lake (hồ dữ liệu) là một nơi lưu trữ tập trung được thiết kế để lưu trữ, xử lý và bảo mật lượng rất lớn dữ liệu đa dạng, bao gồm dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc. Nó sẽ lưu trữ dữ liệu ở dạng nguyên bản, không cần phải định dạng hoặc xử lý trước khi lưu trữ.

Tổng quan về Data Lake Mục tiêu của Data Lake là cung cấp một nguồn tổng hợp và linh hoạt bao gồm dữ liệu thô cho các quy trình phân tích dữ liệu, khám phá dữ liệu và xây dựng ứng dụng AI/ML. Nó tạo ra một môi trường cho các nhà phân tích dữ liệu và nhà khoa học dữ liệu có thể tiếp cận và khai thác dữ liệu một cách linh động, tùy chỉnh để phục vụ nhu cầu của họ. Khác với Data Warehouse có cấu trúc phân cấp khi dữ liệu được lưu trữ trong thư mục và tệp, Data Lake được thiết kế theo kiến trúc phẳng. Mọi thành phần dữ liệu trong Data Lake đều được gán nhãn duy nhất và kèm thông tin siêu dữ liệu để mô tả.

Một vài tính chất quan trọng của Data Lake: • Tính linh hoạt: Data Lake có thể lưu trữ bất kỳ loại dữ liệu nào, bất kỳ định dạng hay cấu trúc nào của nó. • Tính mở rộng: Nó có thể dễ dàng mở rộng để lưu trữ lượng lớn dữ liệu. • Tính bảo mật: Data Lake cung cấp các tính năng bảo mật mạnh mẽ để bảo vệ dữ liệu nhạy cảm. • Tính chi phí thấp: Hồ dữ liệu sử dụng các công nghệ lưu trữ có chi phí thấp, chẳng hạn như lưu trữ đám mây.

Data Lakehouse Những năm gần đây xuất hiện và nổi trội với một loại kiến trúc mới là Data Lakehouse, nó là sự kết hợp giữa các ưu điểm của Data Lake và Data Warehouse. Kiến trúc này mang lại một nền tảng linh hoạt, mở rộng và bảo mật để lưu trữ, xử lý và phân tích mọi loại dữ liệu, đồng thời cung cấp các tính năng quản lý dữ liệu mạnh mẽ để đảm bảo tính chính xác, nhất quán và khả năng truy cập của dữ liệu. Tổng quan về Data Lakehouse Bảng 1. Bảng so sánh Data Warehouse, Data Lake, Data Lakehouse Data Data Lake Data Lakehouse Warehouse Loại dữ liệu lưu Dữ liệu có cấu Dữ liệu bán cấu trúc và Cả dữ liệu cấu trúc trữ trúc phi cấu trúc và phi cấu trúc Học máy và phân tích dữ Tác vụ hổ trợ Sinh báo cáo Phục vụ cả 2 liệu Chi phí lưu trữ Cao Thấp Thấp Hỗ trợ mức đọc ghi ACID Hỗ trợ Không hỗ trợ dữ liệu Kiến trúc Lakehouse được kỳ vọng sẽ giải quyết các vấn đề lớn mà mô hình hai lớp Data Lake và Data Warehouse, cho phép người sử dụng có một địa điểm tập trung duy nhất cho công việc phân tích dữ liệu, học máy cũng như xuất báo cáo.

18 Data Lakehouse là sự lựa chọn ngày càng phổ biến của nhiều doanh nghiệp vì nó hỗ trợ khả năng tương tác giữa các định dạng hồ dữ liệu. Nó hỗ trợ các ACID và có thể truy vấn nhanh, thường thông qua các lệnh SQL, trực tiếp lưu trữ trên bộ lưu trữ đối tượng trên cloud hoặc on-prem trên dữ liệu có cấu trúc và không cấu trúc. Kiến trúc Data Lakehouse Ingestion layer: Trích xuất dữ liệu từ các nguồn khác nhau như cơ sở dữ liệu quan hệ, API, luồng dữ liệu thời gian thực, ứng dụng CRM, cơ sở dữ liệu NoSQL. Storage layer: Sử dụng các định dạng tệp mã nguồn mở để lưu trữ dữ liệu phi cấu trúc, có cấu trúc và bán cấu trúc.

Chúng được thiết kế để lưu trữ tất cả các loại dữ liệu dưới dạng đối tượng. Lakehouse giữ lược đồ của các tập dữ liệu có cấu trúc và bán cấu trúc trong lớp siêu dữ liệu, điều này giúp áp dụng chúng dễ dàng hơn trong khi đọc. Metadata layer: Quản lý và tổ chức siêu dữ liệu liên quan đến dữ liệu đã được thu thập và lưu trữ. Siêu dữ liệu bao gồm những thông tin về trường dữ liệu, người dùng và thay đổi gần đây, các thay đổi của dữ liệu trong quá khứ và gần đây.

Đây chính là lợi thế của Data Lakehouse so với Data Lake và Data Warehouse. API layer: Cho phép các công cụ phân tích và các ứng dụng của bên thứ ba truy vấn dữ liệu đã được lưu trữ trong Data Lakehouse. Data consumption layer: Cho phép những người dùng cuối như các nhà khoa học dữ liệu, nhà phân tích dữ liệu và những người dùng khác có thể truy cập dữ liệu cũng như siêu dữ liệu được lưu trữ trong Data Lakehouse thông qua các công cụ như Power BI, Tableau, … để thực hiện các tác vụ phân tích, xây dựng bảng báo cáo, trực quan hóa dữ liệu, thực thi truy vấn SQL, … 19 2. Các công nghệ sử dụng 2.

Docker Docker là một nền tảng mã nguồn mở cho phép phát triển, vận hành và chạy ứng dụng một cách độc lập với hạ tầng. Docker giúp bạn phân phối phần mềm nhanh chóng bằng cách tách biệt ứng dụng và cho phép quản trị hạ tầng như quản lý ứng dụng. Logo Docker Docker cung cấp khả năng đóng gói và chạy ứng dụng trong môi trường riêng biệt gọi là container. Tính cô lập và bảo mật giúp chạy nhiều container cùng một lúc trên một máy chủ.

Containers nhẹ và chứa mọi thứ cần thiết cho ứng dụng chạy, tránh phụ thuộc hạ tầng. Bạn có thể chia sẻ container và đảm bảo mọi người nhận cùng phiên bản. Phân phối ứng dụng nhanh chóng và đồng nhất: Sử dụng container cho phép đóng gói và chia sẻ ứng dụng dễ dàng, đảm bảo chúng hoạt động giống nhau trên mọi môi trường. Tối ưu hóa quy trình phát triển: Docker cung cấp môi trường tiêu chuẩn cho Developer làm việc trong container cục bộ, tăng cường CI/CD và đảm bảo môi trường phát triển giống nhau.

Triển khai và mở rộng linh hoạt: Hỗ trợ triển khai ứng dụng trên nhiều môi trường như máy tính, máy chủ, đám mây, Kubernetes,…Cho tính di động và khả năng mở rộng cao. Tận dụng tài nguyên hiệu quả: Docker giúp chạy nhiều container trên cùng phần cứng nhờ tính nhẹ và nhanh, tối ưu hóa việc sử dụng tài nguyên hệ thống. 20 Docker hoạt động dựa trên kiến trúc client – server. Docker client giao tiếp với Docker daemon, nó chịu trách nhiệm thực thi các công việc như build, run và phân phối các Docker container.

Docker client và Docker daemon có thể chạy trên cùng một hệ thống hoặc hoặc ta có thể kết nối Docker client đến Docker daemon từ xa, chúng giao tiếp với nhau thông qua API REST, qua socket UNIX hoặc giao diện mạng. Một Docker client khác là Docker compose cho phép ta làm việc với ứng dụng bao gồm cả một tập hợp các container. Kiến trúc của Docker Docker daemon: Lắng nghe các yêu cầu từ Docker API và quản lý các đối tượng như: containers, images, networks and volumes.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Xây dựng Data Platform mã nguồn mở cho hệ thống gợi ý phim - Đồ án tốt nghiệp CNTT là một tài liệu chuyên sâu về việc thiết kế và triển khai nền tảng dữ liệu mã nguồn mở, tập trung vào hệ thống gợi ý phim. Tài liệu này cung cấp cái nhìn chi tiết về cách xây dựng một hệ thống dữ liệu hiệu quả, sử dụng các công nghệ mã nguồn mở để tối ưu hóa quá trình phân tích và đề xuất nội dung. Đặc biệt, nó nhấn mạnh vào việc ứng dụng các thuật toán máy học và xử lý dữ liệu lớn để cải thiện độ chính xác của hệ thống gợi ý. Đây là nguồn tài liệu hữu ích cho những ai quan tâm đến lĩnh vực khoa học dữ liệu và phát triển hệ thống thông minh.

Nếu bạn muốn khám phá thêm về các ứng dụng của máy học trong xử lý dữ liệu, hãy xem Luận văn thạc sĩ kỹ thuật viễn thông phân loại chủ đề bản tin online sử dụng máy học. Để hiểu rõ hơn về các phương pháp trích xuất thông tin từ dữ liệu, bạn có thể tham khảo Luận văn thạc sĩ khoa học máy tính nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng. Ngoài ra, nếu bạn quan tâm đến việc áp dụng máy học trong các bài toán nhận dạng, hãy đọc Luận văn thạc sĩ khoa học máy tính sử dụng active learning trong việc lựa chọn dữ liệu gán nhãn cho bài toán speech recognition. Mỗi tài liệu này sẽ giúp bạn mở rộng kiến thức và hiểu sâu hơn về các chủ đề liên quan.