ĐỒ án KHUYẾN NGHỊ âm NHẠC với SPOTIFY và MACHINE LEARNING

19 135 1
ĐỒ án KHUYẾN NGHỊ âm NHẠC với SPOTIFY và MACHINE LEARNING

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO CUỐI KỲ MÔN: ĐỒ ÁN ĐỀ TÀI: KHUYẾN NGHỊ ÂM NHẠC VỚI SPOTIFY VÀ MACHINE LEARNING Giảng viên hướng dẫn: MAI TRỌNG KHANG Sinh viên thực hiện: - HUỲNH QUỐC AN – 17520207 - NGUYỄN ĐỨC MINH NGUYÊN - 17520823 NHẬN XÉT CỦA GIẢNG VIÊN …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… MỤC LỤC LỜI CẢM ƠN TỔNG QUAN ĐỀ TÀI CHƯƠNG 1: GIỚI THIỆU VỀ SPOTIFY 1.1 Spotify gì? 1.2 Spotify api 1.3 Khuyến nghị âm nhạc với Spotify CHƯƠNG 2: GIỚI THIỆU VỀ MACHINE LEARNING 2.1 Machine Learning gì? a Học có giám sát (Supervised Learning): b Học không giám sát (Unsupervised Learning): c Học bán giám sát (Semi-Supervised Learning) 10 d Học củng cố (Reinforcement Learning) 10 2.2 Mạng nơ-ron nhân tạo gì? 10 a Khái niệm 10 b Cách hoạt động 11 c Huấn luyện mạng nơ-ron 11 CHƯƠNG 3: QUÁ TRÌNH THỰC HIỆN 12 3.1 Tạo sở liệu máy 12 a Công nghệ sử dụng 12 b Các bước thực 12 3.2 Huấn luyện máy học 17 CHƯƠNG 4: KẾT LUẬN 18 TÀI LIỆU THAM KHẢO 19 LỜI CẢM ƠN Trước tiên, nhóm xin gửi lời cảm ơn lòng biết ơn sâu sắc tới Thầy Mai Trọng Khang, người tận tình bảo, hướng dẫn giải đáp thắc mắc để nhóm hồn thiện báo cáo Sinh viên Huỳnh Quốc An Nguyễn Đức Minh Nguyêm TỔNG QUAN ĐỀ TÀI Với phát triển không ngừng công nghệ thông tin, việc ứng dụng công nghệ thông tin ngành giải trí ngày quan tâm triển khai hiệu Việc khuyến nghị âm nhạc với Spotify Machine Learning điều hợp thời người dùng nghe nhạc có nội dung, cảm xúc tương tự với bào nhạc mà họ yêu thích nghe thường xuyên Sự đời Machine Learning bước phát triển lớn ngành công nghệ thông tin Machine Learning nhanh chóng nhà phát triển khắp giới sử dụng vào sản phẩm mình, nhờ tạo sản phẩm có tính cá nhân hố cao Hiện nay, thị trường có nhiều ứng dụng nghe nhạc có tích hợp cơng nghệ khuyến nghị âm nhạc với Machine Learning Apple Music, Shazam, Spotify,… số ứng dụng đó, nhà phát triển tạo riêng thư viện để chia sẻ kho liệu âm nhạc khổng lồ họ Spotify số nhà phát triển Do vậy, nhóm em chọn Spotify để sử dụng kho liệu với mục đích khuyến nghị âm nhạc với Machine Learning CHƯƠNG 1: GIỚI THIỆU VỀ SPOTIFY 1.1 Spotify gì? Spotify ứng dụng quản lý âm nhạc trực tuyến, cho phép người dùng truy cập đến hàng triệu hát nội dung khác từ nghệ sĩ khắp giới Các chức nghe nhạc hồn tồn miễn phí, người dùng nâng cấp lên Spotify Premium Tài khoản Free hay Premium có thể: o Chọn hát với chức Duyệt Tìm kiếm o Sử dụng hát khuyến nghị từ chức cá nhân hoá, Khám phá hàng tuần, Vừa mắt, Ngẫu nhiên hàng ngày o Xem bạn bè, nghệ sĩ hay người tiếng nghe o Xây dựng sưu tập nhạc cho o Tạo Trạm Radio cho thân Spotify có mặt nhiều loại thiết bị, bao gồm máy tính, điện thoại, máy tính bảng, loa, TV, xe hơi, người dùng dễ dàng chuyển đổi loại thiết bị với Spotify Connect 1.2 Spotify api - Spotify api công cụ dành cho nhà phát triển tạo Spotify giúp nhà phát triển khác truy cập đến kho liệu Spotify - Spotify api có chức năng: o Audio Features & Analysis: Giúp người dùng lấy thông tin nhạc, ví dụ như: lượng, khả nhảy, tâm trạng, thuộc tính, bối cảnh, phân đoạn, o Playback: Cho phép lập trình viên chơi nhạc từ Spotify trực tiếp ứng dụng họ tảng web, mobile o Recommendations: Tùy biến sử dụng nguồn lực Spotify để khuyến nghị nhạc dựa sở thích người dùng o Search: Tìm kiếm nhạc dựa theo tên, tác giả, album, Playlist: Quản lý danh sách phát người dùng ứng dụng o Metadata: Truy cập thông tin nhạc, nghệ sĩ, album, o Curated content: Phát nhạc dành riêng cho thị trường o User taste: Lấy liệu thị hiếu nghe nhạc người dùng Spotify o Ví dụ: ▪ Chức Duyệt hát: 1.3 Khuyến nghị âm nhạc với Spotify Hệ thống khuyến nghị âm nhạc Spotify cung cấp gợi ý cho người dùng dựa lịch sử tương tác họ (nghe/chuyển bài/thêm vào playlist), thuộc tính hát/nghệ sĩ mà họ nghe sở thích người dùng “tương tự” Trong số dịch vụ nghe nhạc khác dùng thẻ để phân loại nhạc, Spotify sử dụng Deep Learning để tự động hố q trình xác nhận mẫu ẩn nghệ sĩ, thể loại sở thích người dùng Spotify áp dụng ba mơ hình khuyến nghị: o Lọc cộng tác: Sử dụng hành vi người dùng người dùng tương tự khác o Xử lý ngôn ngữ tự nhiên: Dành cho lời hát, playlist, blog posts, bình luận truyền thơng xã hội o Mơ hình âm thanh: Được dùng âm thô 2.1 CHƯƠNG 2: GIỚI THIỆU VỀ MACHINE LEARNING Machine Learning gì? - Machine Learning tập Trí tuệ Nhân tạo (Artificial Intellingence AI) - Nói đơn giản, Machine Learning lĩnh vực nhỏ Khoa học Máy tính, có khả tự học hỏi dựa sữ liệu đưa vào mà khơng cần phải lập trình cụ thể - Phương thức học Machine Learning chia làm hai loại: Học có giám sát (Supervised Learning) Học khơng giám sát (Unsupervised Learning) a Học có giám sát (Supervised Learning): • Supervised Learning thuật tốn dự đốn đầu (outcome) liệu (input) dựa cặp input-outcome biết từ trước Cặp liệu cịn gọi data-label, hay liệu-nhãn • Supervised Learning nhóm phổ biến thuật tốn Machine Learning • Được chia làm hai loại nhỏ: o Classification (Phân loại): Một toán gọi classification label input data chia thành số hữu hạn nhóm Ví dụ: Gmail xác định xem email có phải spam hay khơng; hãng tín dụng xác định xem khách hàng có khả tốn nợ hay khơng o Regression (Hồi quy): Một toán gọi regression label khơng chia thành nhóm mà giá trị thực cụ thể Ví dụ: Một nhà rộng x m2, có y phịng ngủ cách trung tâm thành phố z km có giá bao nhiêu? b Học khơng giám sát (Unsupervised Learning): • Trong thuật tốn này, khơng biết outcome hay nhãn mà có liệu đầu vào Thuật tốn unsupervised learning dựa vào cấu trúc liệu để thực cơng việc đó, ví dụ phân nhóm (clusstering) giảm số chiều liệu (dimmension reduction) để thuận tiện việc lưu trữ tính tốn • Trong tốn học, Học khơng giám sát có liệu vào X mà khơng biết nhãn Y tương ứng • Được chia làm hai loại nhỏ: o Clusstering (Phân nhóm): Một tốn phân nhóm tồn liệu X thành nhóm nhỏ dựa liên quan liệu nhóm Ví dụ: Phân nhóm khách hàng dựa hành vi mua sắm o Association (Kết hợp): Là toán muốn khám phá quy luật dựa liệu cho trước Ví dụ: Những khách hàng nam mua quần áo thường có xu hướng mua thêm đồng hồ thắt lưng c Học bán giám sát (Semi-Supervised Learning) • Các tốn có lượng lớn liệu X phần chúng gán nhãn gọi Semi-Supervised Learning Những tốn thuộc nhóm nằm hai nhóm nêu bên d Học củng cố (Reinforcement Learning) • Reinforcement learning toán giúp cho hệ thống tự động xác định hành vi dựa hoàn cảnh để đạt lợi ích cao (maximizing the performance) Hiện tại, Reinforcement learning chủ yếu áp dụng vào Lý Thuyết Trò Chơi (Game Theory), thuật toán cần xác định nước để đạt điểm số cao 2.2 Mạng nơ-ron nhân tạo gì? a Khái niệm - Mạng nơ-ron nhân tạo coi phương thức để miêu tả cách hoạt động não người - Nói cách đơn giản, mạng nơ-ron hàm nhận đầu vào x, xử lý đưa đầu y tương ứng - Mạng nơ-ron gồm thành phần: o Một lớp biểu diễn đầu vào x o Một số lượng lớp ẩn o Một lớp biểu diễn đầu y o Một số weights(W) bias(b) lớp o Một hàm kích hoạt lớp 10 - - - - b Cách hoạt động Các nơ-ron nhóm vào ba loại layers khác nhau: Input layer nhận liệu đầu vào Hidden layer thực phép tính tốn cho đầu vào Thử thách lớn việc tạo mạng nơ-ron định số lượng hidden layer, số nơ-ron cho layer Output layer trả liệu đầu c Huấn luyện mạng nơ-ron Để huấn luyện mạng nơ-ron, cần có: o Lượng lớn tập liệu (data set) o Một máy tính mạnh để tính tốn Để huấn luyện AI, cần đưa liệu đầu vào từ tập liệu, sau so sánh với đầu với đầu tập liệu mẫu Khi AI chưa huấn luyện, đầu bị sai Khi hồn thành với tập liệu, ta tạo hàm hiển thị độ sai đầu AI so với đầu thực tế Hàm gọi Cost Function Hiểu đơn giản, ta muốn Cost Function trả 0, đầu AI giống với đầu thực tế từ tập liệu 11 CHƯƠNG 3: QUÁ TRÌNH THỰC HIỆN 3.1 - - Tạo sở liệu máy a Công nghệ sử dụng Đồ án sử dụng công nghệ sau: o Framework React, ngôn ngữ ReactJS o HTML, CSS b Các bước thực Truy cập developer.spotify.com/dashboard để đăng nhập tạo tài khoản Tạo project, điền mục Sau tạo xong, nhấn vào project, ta lấy hai liệu ClientID ClientSecret - Tạo hàm Credentials để chứa hai liệu vừa có - Sử dụng UseEffect để gọi API getToken Sau API response (tokenResponse) lấy để gọi API Genres, kết trả danh sách Genres 12 - Ảnh demo - Khi có listOfPlaylistFromAPI, button Search tạo để lấy danh sách hát API Tracks lấy tối đa 100 lần 13 - Dưới hình danh sách hát hiển thị - Hàm listboxChecked có chức ta nhấn vào hát thơng tin hát đó, ảnh, tên ca sĩ, tên hát 14 - Sử dụng thư viện CSVLink để download liệu - Để xuất data file excel, dùng lệnh Excel.listExcel • Một số hình ảnh minh hoạ cách tạo liệu 15 16 3.2 Huấn luyện máy học 17 CHƯƠNG 4: KẾT LUẬN Nhu cầu sử dụng Machine Learning cho việc phát triển phần mềm mang tính cá nhân hố cao sử dụng ngày nhiều Khuyến nghị âm nhạc với Machine Learning điều thiếu nhà phát triển âm nhạc, làm cho người dùng dễ dàng tìm hát với sở thích, tâm trạng Đồ án giúp nhóm em tiếp cận gần với công nghệ Machine Learning, thực việc áp dụng Machine Learning vào ứng dụng khuyến nghị âm nhạc dễ dàng Đồ án đạt kết sau: - Tìm hiểu vai trò, ý nghĩa Machine Learning khuyến nghị âm nhạc - Tìm hiểu cách Machine Learning đưa kết sau loạt thuật toán - Áp dụng vào việc khuyến nghị âm nhạc sử dụng Spotify API Do thời gian kiến thức có hạn nhóm nên đồ án cịn nhiều thiếu sót Những thiếu sót khắc phục hồn thiện tương lai 18 TÀI LIỆU THAM KHẢO https://machinelearningcoban.com/2016/12/26/introduce/ https://machinelearningcoban.com/2016/12/27/categories/ https://loda.me/huong-dan-chi-tiet-tu-xay-dung-mot-mang-neural-voipython-loda1551933570178/ https://www.youtube.com/watch?v=jLCdPnig84Q https://developer.spotify.com/documentation/web-api/reference/ https://viblo.asia/p/export-du-lieu-ra-excel-trong-ung-dung-reactQpmleo9VKrd 19 ... dàng tìm hát với sở thích, tâm trạng Đồ án giúp nhóm em tiếp cận gần với công nghệ Machine Learning, thực việc áp dụng Machine Learning vào ứng dụng khuyến nghị âm nhạc dễ dàng Đồ án đạt kết sau:... Tìm hiểu vai trị, ý nghĩa Machine Learning khuyến nghị âm nhạc - Tìm hiểu cách Machine Learning đưa kết sau loạt thuật toán - Áp dụng vào việc khuyến nghị âm nhạc sử dụng Spotify API Do thời gian... VỀ SPOTIFY 1.1 Spotify gì? 1.2 Spotify api 1.3 Khuyến nghị âm nhạc với Spotify CHƯƠNG 2: GIỚI THIỆU VỀ MACHINE LEARNING 2.1 Machine Learning

Ngày đăng: 05/09/2021, 20:46

Tài liệu cùng người dùng

Tài liệu liên quan