TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNHKHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CHUYÊN NGÀNH PHÂN TÍCH THỊ TRƯỜNG ÂM NHẠC TRÊN NỀN TẢNG SPOTIFY Giảng viên hướng dẫn : Ths.SỬ NHẬT HẠ Sinh viên thực hiện
Mục tiêu của đề tài
Mục tiêu của đề tài "Phân tích thị trường âm nhạc trên nền tảng Spotify" là tìm hiểu các khía cạnh quan trọng của thị trường âm nhạc thông qua dữ liệu từ dịch vụ phát nhạc trực tuyến phổ biến nhất - Spotify Nghiên cứu này yêu cầu một quá trình phân tích sâu để khám phá và trình bày thông tin có giá trị cho ngành công nghiệp âm nhạc và người nghe.
Mục tiêu của dự án này không chỉ là thống kê và phân tích dữ liệu, mà còn bao gồm việc xác định các mục tiêu cụ thể nhằm nâng cao hiệu quả và ứng dụng của thông tin thu thập được.
Phân tích dữ liệu trên Spotify giúp xác định các thể loại âm nhạc phổ biến nhất trong thị trường nghe nhạc hiện nay Việc này không chỉ giúp nhận biết sở thích của đại chúng mà còn hướng dẫn cho quá trình sản xuất và quảng cáo âm nhạc hiệu quả hơn.
Dự đoán xu hướng âm nhạc dựa trên dữ liệu thị trường giúp nhận diện các xu hướng tiềm năng trong tương lai Việc này không chỉ hỗ trợ phát triển âm nhạc mới mà còn tạo ra nội dung phù hợp với sự thay đổi trong sở thích của người nghe.
Phân tích mức độ phổ biến theo thời gian giúp theo dõi sự biến đổi trong sự quan tâm của người nghe đối với bài hát, nghệ sĩ và thể loại âm nhạc Việc này không chỉ cung cấp cái nhìn sâu sắc về xu hướng thị trường mà còn hỗ trợ trong việc định hướng phát triển âm nhạc hiệu quả.
So sánh dữ liệu từ Spotify với các nền tảng âm nhạc khác như iTunes và Billboard giúp xác định mối tương quan và sự khác biệt giữa các nguồn thông tin Việc này không chỉ kiểm tra tính chính xác của dữ liệu Spotify mà còn cung cấp cái nhìn toàn cảnh về thị trường âm nhạc.
Tìm hiểu ngữ cảnh âm nhạc là việc phân tích mối quan hệ giữa mức độ phổ biến của bài hát và các yếu tố như thể loại âm nhạc, nghệ sĩ, tính năng âm nhạc, cũng như thời gian phát hành Việc này giúp xác định những yếu tố ảnh hưởng đến sự phổ biến của các bài hát.
Công nghệ áp dụng
Google colaboratory là gì?
Google Colaboratory, hay còn gọi là Google Colab, là một sản phẩm từ Google Research, cho phép người dùng chạy mã Python trực tiếp trên trình duyệt Công cụ này rất phù hợp cho phân tích dữ liệu, học máy và giáo dục, vì không yêu cầu cài đặt hay cấu hình máy tính Tất cả các tác vụ có thể được thực hiện qua trình duyệt, đồng thời người dùng còn được sử dụng tài nguyên máy tính mạnh mẽ như CPU, GPU và TPU miễn phí.
Colab cung cấp nhiều loại GPU như Nvidia K80, T4, P4 và P100, nhưng người dùng không thể chọn loại GPU cụ thể vì chúng thay đổi theo thời gian Do là dịch vụ miễn phí, Colab có những ưu tiên trong việc sử dụng tài nguyên hệ thống và giới hạn thời gian sử dụng, với thời gian tối đa lên tới một mức nhất định.
Sử dụng google colab như thế nào?
Để sử dụng Google Colab, bạn chỉ cần có một tài khoản Google Để truy cập Colab, hãy vào Google Drive, chọn mục "Mới", sau đó tìm và chọn "Kết nối ứng dụng khác" và chọn "Colaboratory".
Thư viện Pandas
Pandas là một thư viện Python mạnh mẽ, cung cấp các cấu trúc dữ liệu nhanh và linh hoạt, được thiết kế để làm việc dễ dàng với dữ liệu có cấu trúc như bảng, đa chiều và dữ liệu chuỗi thời gian Tên gọi "Pandas" xuất phát từ thuật ngữ "panel data", phản ánh khả năng xử lý dữ liệu không đồng nhất một cách trực quan và hiệu quả.
Thư viện Scikit-learn
Scikit-learn là thư viện mạnh mẽ trong Python, được tối ưu hóa để làm việc với các thư viện số và khoa học như NumPy và SciPy Thư viện này cung cấp nhiều tính năng quan trọng, bao gồm các thuật toán phân loại, hồi quy và phân cụm, hỗ trợ các kỹ thuật như máy vectơ hỗ trợ (SVM), rừng ngẫu nhiên, tăng cường độ dốc (Gradient Boosting), k-means và DBSCAN.
Thư viện Numpy
NumPy là một thư viện mã nguồn mở cho ngôn ngữ lập trình Python, cung cấp hỗ trợ cho mảng và ma trận lớn, nhiều chiều, cùng với nhiều hàm toán học cao cấp để thao tác trên các mảng này Tiền thân của nó, Numeric, được phát triển bởi Jim Hugunin và các nhà phát triển khác Năm 2005, Travis Oliphant đã phát triển NumPy bằng cách kết hợp các tính năng của Numarray vào Numeric với nhiều cải tiến NumPy hiện có sự đóng góp từ nhiều cá nhân và tổ chức, và được tài trợ bởi NumFOCUS.
Thư viện Matplotlib
Matplotlib là một thư viện vẽ đồ thị cho Python, được ra mắt vào năm 2003 Đây là một trong những thư viện vẽ đồ thị phổ biến nhất, cung cấp khả năng vẽ đồ thị cấp thấp Matplotlib thường được lựa chọn đầu tiên để nhanh chóng hiển thị dữ liệu.
Matplotlib cho phép người dùng tạo ra nhiều loại biểu đồ hấp dẫn từ dữ liệu, bao gồm biểu đồ thanh, biểu đồ phân tán, biểu đồ đường viền, biểu đồ hộp và biểu đồ hình tròn Ngoài ra, người dùng có thể tùy chỉnh nhãn, màu sắc và độ dày của các chi tiết trong biểu đồ theo nhu cầu của mình Hình ảnh minh họa được tạo ra hoàn toàn bằng Matplotlib.
CƠ SỞ LÝ THUYẾT
Trực quan hóa dữ liệu là gì?
Trực quan hóa dữ liệu là phương pháp sử dụng đồ họa để biểu diễn thông tin một cách dễ hiểu, dựa trên các khái niệm từ thống kê, đồ họa máy tính, hình học, màu sắc và thị giác máy tính Thống kê đóng vai trò quan trọng, giúp phân tích phân phối và tính chất của dữ liệu thông qua biểu đồ và đường cong phân phối Đồ họa máy tính là công cụ mạnh mẽ, cho phép tạo ra các biểu đồ và hình ảnh trực quan, giúp người dùng dễ dàng tiếp cận và hiểu thông tin từ dữ liệu.
Ngành học hình học đóng vai trò quan trọng trong việc trực quan hóa dữ liệu, giúp xác định vị trí và mối quan hệ giữa các dữ liệu thông qua các khái niệm như điểm, đường thẳng và hình dạng Đồng thời, ngành học màu sắc cung cấp kiến thức về màu sắc và sự tương tác của chúng, cho phép chúng ta sử dụng màu sắc để biểu diễn và phân loại thông tin một cách rõ ràng và hấp dẫn trong trực quan hóa dữ liệu.
Ngành thị giác máy tính cung cấp các công cụ và thuật toán quan trọng để xử lý và hiểu hình ảnh cũng như video Trong lĩnh vực trực quan hóa dữ liệu, thị giác máy tính giúp phân loại đối tượng, nhận diện các đặc trưng quan trọng và mô hình hóa dữ liệu hình ảnh hiệu quả.
Dữ liệu định tính phản ánh tính chất, hay loại hình, không có biểu hiện trực tiếp bằng con số.
Biến định tính như giới tính, nghề nghiệp, tình trạng hôn nhân, dân tộc, tôn giáo và học thức cho phép chúng ta đếm số quan sát và tính tỷ lệ phần trăm của từng loại trong tổng thể Để trực quan hóa dữ liệu định tính, trước tiên cần tóm tắt và sắp xếp chúng thành bảng phân phối tần số, hay còn gọi là Frequency Distribution Table.
Phân tổ hoặc nhóm là quá trình sắp xếp các đơn vị quan sát dựa trên một hoặc nhiều biến có đặc trưng cụ thể, nhằm tạo ra các nhóm có đặc điểm khác nhau Quá trình này giúp chia mẫu hoặc tổng thể thành các tổ nhóm với tính chất riêng biệt, từ đó hỗ trợ việc phân tích và hiểu rõ hơn về dữ liệu.
Ví dụ dữ liệu về loại nước giải khát được tiêu thụ phổ biến bởi 50 sinh viên một trường Đại học tại Thành phố Hồ Chí Minh.
Trong một mẫu 50 quan sát, chúng ta nhận thấy có 6 loại nước ngọt chủ yếu: Dasani, Coca-cola, Pepsi, Sting, Twister và C2 Chúng ta đã phân chia thành 6 tổ, mỗi tổ đại diện cho một nhãn hiệu nước giải khát cụ thể.
Khi lấy mẫu lớn hơn 50 hoặc xem xét tổng thể sinh viên của trường, dữ liệu về các loại nước giải khát trở nên đa dạng Để thống kê hiệu quả và tạo ra đồ thị, biểu đồ phù hợp, chúng ta có thể chia tổ theo các nhóm cụ thể.
Nước khoáng (Dasani, Lavie, Aquafina, v.v )
Nước giải khát có gas (Coca-cola, Pepsi, Sprite, v.v )
Nước tăng lực (Sting, Wake up 247, Rồng Đỏ, v.v )
Các loại nước giải khát khác (Ô long, C2, v.v )
Khi chuyển đổi dữ liệu định lượng thành dữ liệu định tính để khảo sát phân phối tần suất, cần lưu ý rằng dữ liệu này có thể được chia thành các tổ hoặc nhóm khác nhau.
Để tóm tắt thu nhập bình quân hàng tháng của 50 hộ gia đình đa dạng, chúng ta có thể chia thành các tổ hoặc nhóm dựa trên phạm vi thu nhập.
Thu nhập dưới 5 triệu: 5 hộ
Thu nhập 5 đến 10 triệu: 12 hộ
Thu nhâp 10 đến 15 triệu: 23 hộ
Dữ liệu định lượng là loại dữ liệu được thu thập và thể hiện dưới dạng các số đo có ý nghĩa, cho phép thực hiện các phép tính Loại dữ liệu này được ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm khoa học, kinh tế học, thống kê và nhiều ngành khác.
Dữ liệu định lượng có thể được chia thành hai loại chính: dữ liệu rời rạc và dữ liệu liên tục.
Dữ liệu rời rạc là loại dữ liệu chỉ có thể nhận các giá trị cụ thể và rời rạc, ví dụ như số lượng sản phẩm bán ra trong một ngày Loại dữ liệu này thường chỉ có các giá trị nguyên dương như 0, 1, 2, 3, và không thể có giá trị phân số hay thập phân.
Dữ liệu liên tục là loại dữ liệu có thể nhận giá trị trong một khoảng liên tục, chẳng hạn như thời gian hoàn thành một tác vụ Thời gian này có thể nhận bất kỳ giá trị nào trong một khoảng thời gian nhất định, cho thấy tính chất linh hoạt và đa dạng của dữ liệu liên tục.
Bản đồ nhiệt là công cụ trực quan hóa dữ liệu hiệu quả, sử dụng ô màu thay cho con số để thể hiện độ lớn tương đối của dữ liệu Việc này giúp nổi bật thông tin quan trọng, làm cho người đọc dễ dàng tiếp nhận và hiểu rõ hơn về dữ liệu.
Cách hiển thị dữ liệu một cách phổ biến và dễ đọc là rất quan trọng, giúp người xem nhanh chóng nhận ra sự khác biệt giữa các giá trị Đối với biểu đồ cột, cần đảm bảo rằng trục y luôn bắt đầu từ 0, tức là điểm giao nhau giữa trục ngang và trục dọc phải là 0; nếu không, biểu đồ sẽ không chính xác.
Biểu đồ cột chồng ít phổ biến hơn so với biểu đồ cột truyền thống trong việc trực quan hóa dữ liệu Loại biểu đồ này cho phép so sánh tổng số giữa các danh mục và xem các thành phần con trong một danh mục cụ thể, giúp người đọc có cái nhìn tổng quát về tổng thể và sự thay đổi của nó Tuy nhiên, độ khó đọc của biểu đồ này yêu cầu người dùng cần thời gian làm quen để hiểu rõ dữ liệu.
THỰC NGHIỆM
PHÂN TÍCH THỊ TRƯỜNG ÂM NHẠC TRÊN NỀN TẢNG SPOTIFY .20 HEATMAP
Biểu đồ heatmap sử dụng màu sắc để biểu thị mức độ tương quan giữa các biến Màu sáng như trắng hoặc vàng cho thấy mức tương quan cao, trong khi màu tối như đen hoặc đỏ chỉ ra mức tương quan thấp hoặc không có tương quan Để hiểu rõ hơn về mối quan hệ giữa các cặp biến, người đọc cần chú ý đến độ sắc nét của màu sắc trên biểu đồ.
Biểu đồ heatmap có hai trục: trục ngang và trục dọc, với các biến được liệt kê trên cả hai trục, giúp xác định mối tương quan giữa các cặp biến Biểu đồ thường đối xứng qua đường chéo chính, cho thấy mức độ tương quan giữa biến A và B giống như giữa biến B và A Để đọc mức độ tương quan, hãy chú ý đến ô tương ứng với cặp biến quan tâm; màu sắc ô sẽ cho biết mức độ tương quan, với màu sáng biểu thị tương quan cao và màu tối biểu thị tương quan thấp.
Phân tích mức độ tương quan giữa các biến cho thấy rằng nếu "danceability" và "energy" có mối liên hệ cao, thì các bài hát có khả năng nhảy múa tốt thường mang lại năng lượng lớn.
Biểu đồ heatmap tương quan chỉ phản ánh mối quan hệ tuyến tính giữa các biến, trong khi có thể tồn tại những mối quan hệ phức tạp hơn mà loại biểu đồ này không thể hiện được.
Hình 12 Dựa trên biểu đồ scatter plot kết hợp với đường hồi quy giữa "loudness" và
"energy", bạn có thể thực hiện một số phân tích cơ bản để hiểu rõ hơn về mối quan hệ giữa hai biến này:
Hướng của đường hồi quy là yếu tố quan trọng trong việc xác định mối quan hệ giữa "energy" và "loudness" Nếu đường hồi quy nghiêng lên, điều này chỉ ra mối tương quan dương, cho thấy rằng những bài hát có mức độ năng lượng cao thường đi kèm với độ lớn âm thanh lớn hơn.
Quan sát mật độ điểm scatter xung quanh đường hồi quy cho thấy nếu các điểm phân tán rộng, có thể tồn tại một phạm vi lớn về mức độ năng lượng và độ lớn của âm thanh Ngược lại, khi các điểm gần như tập trung quanh đường hồi quy, điều này cho thấy mối quan hệ tương đối mạnh giữa các biến.
Các ngoại lệ (outliers) là những điểm dữ liệu không tuân theo xu hướng chung của đường hồi quy Việc xác định các ngoại lệ này rất quan trọng, vì chúng có thể chứa thông tin giá trị hoặc chỉ đơn giản là dữ liệu bất thường.
Hệ số tương quan thống kê, như hệ số Pearson, là công cụ hữu ích để đo lường mối quan hệ giữa "energy" và "loudness" Giá trị của hệ số này dao động từ -1 đến 1; giá trị dương cho thấy tương quan dương, trong khi giá trị âm chỉ ra tương quan âm Khi giá trị gần 0, điều này biểu thị rằng không có tương quan tuyến tính giữa hai biến.
Mối quan hệ giữa "năng lượng" và "độ lớn" trong âm nhạc phụ thuộc vào ngữ cảnh Các yếu tố như thể loại âm nhạc, giai điệu và tiêu đề bài hát có thể tạo ra sự biến đổi đáng kể trong cách mà người nghe cảm nhận âm thanh.
Biểu đồ này giúp bạn hình dung rõ ràng mối quan hệ giữa mức độ năng lượng và độ lớn của âm thanh trong các mẫu dữ liệu.
(Như cái trên, dựa theo phân tích khác chút)
NUMBER OF SONG PER YEAR
Biểu đồ histogram cho thấy số lượng bài hát phát hành theo từng năm, từ đó giúp phân tích xu hướng và biến đổi trong ngành công nghiệp âm nhạc.
Xu hướng phát hành bài hát qua các năm cho thấy sự biến động rõ rệt trong số lượng bài hát được phát hành Việc quan sát biểu đồ giúp xác định liệu có sự tăng trưởng hay suy giảm trong ngành công nghiệp âm nhạc, phản ánh sự phát triển hoặc suy thoái của lĩnh vực này theo thời gian.
Xác định các năm quan trọng trên biểu đồ giúp nhận diện các xu hướng âm nhạc mới, sự kiện lịch sử và sự ra đời của nghệ sĩ nổi tiếng Những năm này có thể giải thích nguyên nhân dẫn đến các đỉnh hoặc đáy trên biểu đồ, từ đó cung cấp cái nhìn sâu sắc về sự phát triển của ngành âm nhạc.
Sự biến đổi theo thời gian trong số lượng bài hát phát hành có thể phản ánh những nguyên nhân như sự kiện âm nhạc quan trọng, thay đổi trong thị trường âm nhạc, và sự phát triển công nghệ ảnh hưởng đến quy trình sản xuất và phát hành.
Phân tích sự phân bố số lượng bài hát phát hành theo thời gian giúp xác định các giai đoạn có sự gia tăng hoặc giảm sút đáng kể trong hoạt động âm nhạc Việc nhận diện những thời kỳ bất thường này có thể cung cấp cái nhìn sâu sắc về xu hướng và sự tập trung của ngành công nghiệp âm nhạc qua các thời kỳ khác nhau.
KẾT LUẬN
Nhu cầu sử dụng Machine Learning trong phát triển phần mềm cá nhân hóa ngày càng tăng, đặc biệt trong lĩnh vực khuyến nghị âm nhạc Công nghệ này giúp người dùng dễ dàng tìm kiếm bài hát phù hợp với sở thích và tâm trạng của họ Đồ án này đã giúp nhóm em tiếp cận gần hơn với công nghệ Machine Learning và áp dụng nó vào ứng dụng khuyến nghị âm nhạc một cách hiệu quả Kết quả đạt được từ đồ án là rất khả quan.
- Tìm hiểu được vai trò, ý nghĩa của Machine Learning trong khuyến nghị âm nhạc
- Tìm hiểu được cách Machine Learning đưa ra kết quả sau một loạt các thuật toán.
- Áp dụng được vào việc khuyến nghị âm nhạc sử dụng Spotify API
Do hạn chế về thời gian và kiến thức của nhóm, đồ án vẫn còn nhiều thiếu sót Những điểm này sẽ được khắc phục và hoàn thiện trong tương lai.