« Home « Kết quả tìm kiếm

XÂY DỰNG HỆ THỐNG GỢI Ý BÀI HÁT DỰA TRÊN PHẢN HỒI TIỀM ẨN


Tóm tắt Xem thử

- XÂY DỰNG HỆ THỐNG GỢI Ý BÀI HÁT DỰA TRÊN PHẢN HỒI TIỀM ẨN Nguyễn Thái Nghe 1 và Nguyễn Tấn Phong 2.
- Hệ thống gợi ý, gợi ý bài hát, phản hồi tiềm ẩn, giải thuật BPR-MF.
- Hệ thống gợi ý (recommender systems – RS) thường được sử dụng để dự đoán sở thích của người dùng dựa vào những phản hồi (feedbacks) của họ nhằm gợi ý các sản phẩm (item) mà người dùng có thể thích.
- Trong bài viết này, chúng tôi giới thiệu một giải pháp xây dựng Hệ thống gợi ý bài hát dựa vào phản hồi tiềm ẩn (implicit feedback) từ người dùng để gợi ý những bài hát mà họ có thể thích nghe.
- Chúng tôi lựa chọn phương pháp biểu diễn dữ liệu, cài đặt và tích hợp giải thuật gợi ý vào hệ thống, thu thập phản hồi từ người dùng và đánh giá hiệu quả của hệ thống dựa trên những phản hồi đó.
- Thực nghiệm cho thấy giải pháp này hoàn toàn có thể tích hợp vào các hệ thống gợi ý âm nhạc hiện có trên thị trường..
- Hệ thống gợi ý (Recommender systems – RS) đang từng bước trở thành một lĩnh vực nghiên cứu quan trọng và được ứng dụng khá thành công trong thực tiễn, giúp người dùng đối phó với vấn đề quá tải thông tin (Goldberg et al., 1992, Ricci et al., 2011).
- Trên thế giới, đã có nhiều công ty, tổ chức đã áp dụng thành công hệ thống gợi ý nhằm gợi ý các dịch vụ, sản phẩm và các thông tin cần thiết đến người dùng như: website mua sắm trực tuyến Amazon.com gợi ý cho mỗi khách hàng những sản.
- Ở nước ta, hiện nay đã có nhiều hệ thống (website) có chức năng gợi ý như hệ thống gợi ý sản phẩm, bài hát.
- tuy nhiên đa phần các hệ thống này chỉ gợi ý dựa trên những thông tin cơ bản như:.
- Qua tìm hiểu, vẫn chưa thấy có nhiều hệ thống có tích hợp các kỹ thuật state-of- the-art, như Matrix Factorization (Koren, 2009) trong hệ thống gợi ý.
- Thương mại điện tử ở Việt Nam đang bước đầu phát triển, do vậy hệ thống gợi ý sẽ mở ra nhiều tiềm năng trong tương lai, kể cả trong nghiên cứu và ứng dụng..
- Do đó, nhu cầu cần có một hệ thống gợi ý có khả năng dự đoán mức độ ưa thích của người sử dụng với từng bản nhạc và gợi ý cho họ các bản nhạc mới mà hệ thống cho là phù hợp..
- Các hệ thống gợi ý thường sử dụng kỹ thuật lọc công tác (collaborative filtering) để đưa ra các dự đoán về sở thích của người dùng (user) đối với các mục tin (items – như sản phẩm, sách, báo, phim.
- mà hệ thống cho là phù hợp nhất thông qua việc sử dụng những xếp hạng (rating/feedback) trong quá khứ của người dùng và/hoặc những xếp hạng của những người dùng khác đã có trong cơ sở dữ liệu..
- người dùng (user-based) và dựa trên các mục tin (item-based).
- Trong bài viết này, chúng tôi giới thiệu một giải pháp trong xây dựng Hệ thống gợi ý bài hát dựa vào phản hồi tiềm ẩn (implicit feedback) từ người dùng.
- Tuy nhiên, các giải thuật này thích hợp hơn cho những hệ thống sử dụng phản hồi tường minh (explicit feedback) thông qua những xếp hạng/đánh giá cụ thể..
- Ở đây, chúng tôi đề xuất sử dụng phản hồi tiềm ẩn từ người dùng (như tỷ lệ thời lượng mà người dùng đã nghe trên tổng thời lượng bài hát) và từ đó đề xuất sử dụng giải thuật xếp hạng cá nhân Bayes (Rendle et al., 2009) để xây dựng “Hệ thống gợi ý bài hát” do giải thuật này hoạt động tốt trên dữ liệu phản hồi tiềm ẩn..
- 2 HỆ THỐNG GỢI Ý (RECOMMENDER SYSTEMS - RS).
- Hệ thống gợi ý thường dựa vào ba khái niệm cơ bản, đó là tập người dùng U (user), tập mục tin I (item – sản phẩm, bài hát, video clip.
- và phản hồi r ui (feedback/ xếp hạng - rating) của người dùng u trên mục tin i..
- Hình 1: Ma trận biểu diễn xếp hạng của người dùng trên mục tin (user-item-rating matrix).
- để dự đoán các giá trị xếp hạng trong tương lai, và gợi ý mục tin (item recommendation) dựa vào các phản hồi tiềm ẩn từ người dùng (như số lần click chuột, thời gian xem sản phẩm.
- nghĩa là những thông tin mà người dùng không trực tiếp đánh giá/xếp hạng)..
- từ quá khứ), để dự đoán các ô còn trống (của user hiện hành), sau đó sắp xếp kết quả dự đoán (ví dụ, từ cao xuống thấp) và chọn ra Top-N items theo thứ tự, từ đó gợi ý chúng cho người dùng..
- 3 PHƯƠNG PHÁP BIỂU DIỄN DỮ LIỆU TIỀM ẨN CHO HỆ THỐNG GỢI Ý BÀI HÁT Với bài toán gợi ý mục tin, RS sử dụng phản hồi tiềm ẩn từ người dùng, do đó nó thường chỉ chứa dữ liệu tương tác/quan sát dương (positive observations) hay gọi là sự phản hồi tích cực/dương (positive feedback) S  U x I.
- Trong hệ thống gợi ý bài hát được đề xuất, chúng tôi sử dụng phương pháp như trình bày trong tài liệu (Rendle et al., 2009), là sử dụng phương pháp so sánh từng đôi (pair-wise ranking) thay vì chỉ đưa ra dự đoán xếp hạng cho từng mục tin hoặc chỉ thay thế những giá trị cần xếp hạng bằng một giá trị âm..
- “thích hơn – prefer” giữa các bài hát cho mỗi người dùng u (>.
- Giả sử rằng nếu một bài hát i được nghe bởi người dùng u ((u, i.
- S) thì người dùng thích bài này hơn tất cả các bài chưa nghe khác.
- Ví dụ trong Hình 3 bên trái, biểu diễn quan hệ “thích hơn” cho các bài hát của người dùng u 1 như:.
- Với những bài hát mà người dùng đã nghe (như bài i 2 và i 3 ứng với người dùng u 1 trong Hình 3) thì hệ thống sẽ không sử dụng so sánh thích hơn như mô tả ở trên do hệ thống ngầm hiểu là người dùng có cùng mức độ thích trên những bài này.
- Tương tự, với những bài hát mà người dùng chưa nghe (ví dụ, bài i 1 và i 4 ứng với người dùng u 1 ) hệ thống cũng không sử dụng quan hệ “thích hơn – prefer”.
- Bên phải trong Hình 3 là cách biễu diễn dữ liệu được sử dụng trong hệ thống.
- Như vậy, hệ thống gợi ý bài hát cần dự đoán cho các giá trị ? trong các ma trận bên phải của Hình 3, sau đó sắp xếp chúng từ cao xuống thấp và chọn ra N bài cần gợi ý..
- Trong hệ thống gợi ý bài hát mà chúng tôi xây dựng, thông tin phản hồi tiềm ẩn từ người dùng sẽ được hệ thống ghi nhận lại một cách tự động.
- Cụ thể, thay vì người dùng phải xếp hạng hay đánh giá trên mỗi bài hát, ở đây hệ thống sẽ ghi nhận lại thời lượng mà họ đã nghe bài hát đó (thời gian càng lâu đồng nghĩa với người dùng càng thích, dĩ nhiên cũng có ngoại lệ nhưng không đáng kể) và do vậy xem thời gian nghe là thông tin phản hồi từ người dùng..
- Do mỗi bài hát có thời lượng ngắn/dài khác nhau nên chúng tôi chuyển đổi thời lượng mà người dùng đã nghe thành dạng tỷ lệ thời lượng..
- Đây cũng chính là thông tin phản hồi từ người dùng u cho bài hát i:.
- Ví dụ, với bài hát người dùng đã nghe 5 phút /5 phút (tỷ lệ là 1.0) được ngầm định rằng họ thích nó hơn là bài hát mà họ chỉ 1 phút /5 phút (tỷ lệ = 0.2)..
- 4 GIẢI THUẬT SỬ DỤNG CHO HỆ THỐNG GỢI Ý BÀI HÁT VỚI PHẢN HỒI TIỀM ẨN.
- Do tính chất của dữ liệu như đã trình bày, chúng tôi đề xuất sử dụng giải thuật xếp hạng cá nhân Bayes (Bayesian Personalize Ranking – BPR) 9cho hệ thống gợi ý bài hát có sử dụng dữ liệu tiềm ẩn.
- Ở đây chúng tôi sử dụng BPR-MF (dùng tiêu chuẩn tối ưu BPR cho kỹ thuật phân rã ma trận Matrix Factorization – MF) như trình bày trong (Rendle et al., 2009) để cài đặt giải thuật gợi ý tích hợp vào hệ thống.
- Bài viết sẽ giới thiệu những khái niệm cơ bản về MF và BPR-MF nhằm ứng dụng chúng vào xây dựng hệ thống đề xuất, bạn đọc quan tâm có thể tham khảo chi tiết về các kỹ thuật này trong (Rendle et al., 2009.
- |U|×K là một ma trận mà mỗi dòng là một véc tơ bao gồm K nhân tố tiềm ẩn (latent factors) mô tả người dùng u.
- Ứng dụng kỹ thuật BPR-MF vào hệ thống gợi ý bài hát.
- Trong hệ thống gợi ý bài hát, vì dữ liệu phản hồi từ người dùng là tiềm ẩn và thuộc về vấn đề gợi ý mục tin (item recommendation) nên chúng tôi đề xuất sử dụng giải thuật BPR-MF do tính ưu việt của nó đối với loại tính chất của dữ liệu này..
- Tương tự như những hệ thống gợi ý khác, tập dữ liệu đầu vào có 3 thông tin là: id của người dùng, id của bài hát, và tỷ lệ thời lượng nghe như trình bày trong công thức (1).
- Khi đó, tỷ lệ thời gian nghe của người dùng u trên bài hát i (mà u chưa nghe) được dự đoán bằng công thức (3)..
- 5 XÂY DỰNG HỆ THỐNG Giới thiệu hệ thống.
- Hệ thống gợi ý bài hát được xây dựng dưới dạng một website cung cấp thông tin về âm nhạc giúp người dùng có thể chọn nghe các bài nhạc mà mình yêu thích.
- Khi người dùng truy cập vào website, có thể tìm kiếm, nghe và tải những bài nhạc về máy của mình.
- Đồng thời, hệ thống còn phân loại các bài nhạc theo từng thể loại, nhằm mang đến sự tiện lợi cho người sử dụng và cung cấp thông tin chi tiết về các bài nhạc như: tên bài hát, tên ca sĩ thể hiện,….
- Với bất kỳ hệ thống gợi ý nào, nó phải có chức năng thu thập những phản hồi từ người dùng..
- Thông thường hệ thống ghi nhận sự phản hồi của người dùng dưới hình thức ghi nhận một giá trị xếp hạng cụ thể (thích (1.
- thống thường khó có thể ghi nhận được nhiều phản hồi từ người dùng do đa phần người dùng ngại khi phải cung cấp thông tin phản hồi như thế và đôi khi làm cho người dùng không hài lòng (đồng nghĩa với khả năng mất khách hàng).
- Do đó, để tạo sự tiện lợi cho người dùng và hệ thống có thể thu thập được phản hồi một cách dễ dàng, trong hệ thống gợi ý bài hát, chúng tôi sẽ ghi nhận các phản hồi của người dùng dưới dạng phản hồi tiềm ẩn (implicit feedback).
- Hệ thống sẽ tự động ghi nhận lại giá trị phản hồi được tính bằng thời gian nghe/tổng thời lượng bài nhạc.
- Giá trị này trong khoảng từ 0 đến 1 sẽ được hệ thống tự động lưu vào cơ sở dữ liệu (CSDL) dùng để huấn luyện mô hình và thực hiện chức năng gợi ý..
- Sơ đồ chức năng của hệ thống.
- Sơ đồ chức năng chính của hệ thống được trình bày trong Hình 5..
- Hình 5: Sơ đồ chức năng chính của hệ thống Nghe nhạc: Chức năng này sẽ được kích hoạt khi người dùng nhấn vào 1 bài nhạc nào đó, một player (JW Player) sẽ thực hiện play bài nhạc..
- Tìm kiếm: Chức năng cho phép người dùng tìm kiếm các bài nhạc theo từ khóa là tên các bài nhạc..
- Đăng ký: Cho phép người dùng thực hiện đăng ký tạo 1 tài khoản trên hệ thống.
- Người dùng phải cung cấp các thông tin như: tên truy cập, mật khẩu, họ và tên, email,… và hệ thống sẽ lưu vào CSDL..
- 87 Đăng nhập: Người dùng thực hiện việc đăng nhập khi đã tạo tài khoản trên hệ thống.
- Khi đăng nhập, người dùng có thể thay đổi thông tin tài khoản, đổi mật khẩu.
- Ngoài ra, khi người dùng đã đăng nhập và thực hiện nghe các bài nhạc thì hệ thống sẽ tự động ghi nhận lại giá trị phản hồi (trọng số xếp hạng) vào CSDL.
- Đồng thời thực hiện chức năng gợi ý các bài nhạc mới phù hợp đến người dùng..
- Upload bài hát: Cho phép người quản trị thực hiện thêm các bài nhạc mới vào hệ thống..
- Quản lý người dùng: Cho phép người quản trị thực hiện xem và xóa các tài khoản người dùng..
- Backup CSDL: Cho phép người quản trị thực hiện lưu lại CSDL hiện thời của hệ thống.
- Chức năng quan trọng nhất của hệ thống là chức năng gợi ý bài hát bằng giải thuật xếp hạng cá.
- Những bài nhạc gợi ý này được thể hiện dưới dạng một danh sách xếp theo thứ tự ưu tiên giảm dần theo giá trị dự đoán nhằm giúp cho người dùng có thể tìm nghe những bài nhạc mà mình yêu thích một cách nhanh nhất..
- Ngoài ra, hệ thống cũng có thêm các mục chức năng khác như: gợi ý TOP các bài nhạc được nhiều người nghe, các bài nhạc cùng thể loại với bài nhạc đang nghe và TOP các bài nhạc người dùng đã nghe..
- Lược đồ CSDL để lưu trữ thông tin trong hệ thống được minh họa như ở Hình 6, trong đó quan trọng nhất là người dùng (thông tin về user), bài hát (thông tin về item), và tỷ lệ thời lượng nghe (đại diện cho rating)..
- Hệ thống gợi ý bài hát được phát triển trên môi trường .NET sử dụng ngôn ngữ ASP.NET, C# và Hệ quản trị cơ sở dữ liệu SQL Server.
- Kiến trúc tổng thể của hệ thống được trình bày trong Hình 7..
- Ở đó, hệ thống gồm 2 thành phần chính: thành phần tương tác với người dùng và thành phần gợi ý.
- Thành phần gợi ý có nhiệm vụ dự đoán sở thích cỉa người dùng từ những thông tin phản hồi trong quá khứ của họ..
- Hình 7: Kiến trúc hệ thống gợi ý bài hát 6 KẾT QUẢ MINH HỌA.
- Một số giao diện chính của hệ thống gợi ý bài hát.
- Sau khi người dùng đã đăng nhập vào hệ thống, hệ thống sẽ gợi ý Top-N những bài nhạc được dự đoán là phù hợp nhất đến người dùng theo giải.
- Bên cạnh đó, hệ thống cũng gợi ý cho người dùng dựa trên những phương pháp khác như: Bài hát cùng thể loại, cùng ca sĩ, top các bài hát được nghe nhiều nhất, danh sách các bài người dùng đã nghe trong quá khứ, như được minh họa trong Hình 8..
- Hình 8: Gợi ý bài hát cho người dùng theo nhiều cách.
- Hình 9: Quản trị chức năng gợi ý và những chức năng khác Bên cạnh đó, hệ thống cũng cung cấp các.
- module quản trị khác như mô tả ban đầu, đặc biệt là chức năng quản trị mô hình gợi ý của hệ thống nhằm giúp admin có thể tự huấn luyện và cập nhật lại mô hình sau một thời gian sử dụng, như minh họa trong Error! Reference source not found...
- Đánh giá hệ thống Dữ liệu:.
- Chúng tôi thu thập dự liệu từ thực tế gồm 109 người dùng (user), 50 bài hát (item) và 1109 thông tin phản hồi (rating)..
- Ở đây chúng tôi sử dụng độ đo AUC để đánh giá hiệu quả của mô hình do nó phù hợp với các hệ thống dạng ranking..
- Đối với mỗi người dùng thực hiện bỏ ngẫu nhiên một dòng dữ liệu đã nghe (u, i, r ui ) từ tập dữ liệu thu thập được I u  (tập các mục người dùng u đã nghe)..
- w : tham số chuẩn hóa cho nhân tố người dùng (user factor).
- Kết quả độ đo AUC trung bình từ 5 lần chạy của kỹ thuật BPR-MF được sử dụng trong hệ thống là 0.742 trong khi chỉ gợi ý dựa trên các bài hát được người dùng nghe nhiều nhất bằng (Most Popular - Ricci et al., 2011) là 0.616.
- Như vậy, kết quả này cải thiện hơn rất nhiều so với những hệ thống gợi ý mà chỉ chọn những bài được nghe/tìm nhiều nhất để gợi ý cho người dùng.
- Việc thu thập mức độ hài lòng của người dùng khi sử dụng hệ thống này so với các hệ thống khác sẽ được thực hiện trong tương lai..
- Chúng tôi giới thiệu một giải pháp xây dựng Hệ thống gợi ý bài hát dựa vào phản hồi tiềm ẩn (implicit feedback) từ người dùng để gợi ý những bài hát mới mà họ có thể thích nghe.
- Chúng tôi xây dựng hệ thống hoàn chỉnh và tích hợp giải thuật gợi ý vào hệ thống, thu thập phản hồi từ người dùng và đánh giá hiệu quả của hệ thống dựa trên những phản hồi đó.
- pháp này có thể dùng để tích hợp vào các hệ thống gợi ý âm nhạc hiện có trên thị trường..
- Kỹ thuật phân rã ma trận trong xây dựng hệ thống gợi ý