Kết hợp các thẻ đánh dấu và các đặc trưng âm thanh

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu học máy trong xây dựng gợi hệ ý âm nhạc (Trang 36 - 42)

Hệ gợi ý kết hợp được đề xuất trong luận văn này sử dụng các so sánh dựa trên các thẻ đánh dấu âm nhạc và dựa trên kỹ thuật trích chọn đặc trưng tự động. Như chúng ta đã minh họa ở các ví dụ trước, hệ gợi ý sẽ sử dụng các kết quả khoảng cách từ các giá trị tiền xử lý: khoảng cách Euclide có trọng số dx,y dựa trên các thẻ âm nhạc từ Last.fm và khoảng cách Mahalanobis Dx,y dựa trên dữ liệu MFCC được trích chọn từ mỗi tệp âm thanh bằng Sonic Annotator. Trên thực tế, khoảng cách các thẻ đánh dấu và khoảng cách MFCC có sự chênh lệch lớn về giá trị, vì vậy các khoảng cách này cần được chuẩn hóa trước khi kết hợp lại với nhau.

Để chuẩn hóa khoảng cách thẻ đánh dấu (Euclide có trọng số) 𝑑𝑥,𝑦, ta sử dụng phương pháp chuẩn hóa bằng cách chia khoảng cách Euclide có trọng số cho khoảng cách Euclide có trọng số tối đa.

𝑑𝑥,𝑦 = 𝑑𝑥,𝑦

𝑚𝑎𝑥{𝑑𝑥𝑖,𝑦𝑗}

, (2.5)

Trong đó dx,y là khoảng cách Euclide có trọng số giữa bản nhạc x và bản nhạc y tính bởi công thức (2.1) và dxi,yj biểu diễn khoảng cách Euclide lớn nhất giữa tất cả các bản nhạc trong tập dữ liệu.

Tương tự như vậy, chúng ta chuẩn hóa khoảng cách MFCC (Mahalanobis)

𝐷𝑥,𝑦bằng chuẩn hóa tỷ lệ thập phân với công thức như sau:

𝐷𝑥,𝑦 = 𝐷𝑥,𝑦

𝑚𝑎𝑥{𝐷𝑥𝑖,𝑦𝑗}

29

Khoảng cách kết hợp C(x,y) giữa hai bản nhạc x và y sẽ được tính toán bằng cách tổ hợp hai số đo khoảng cách dựa trên thẻ đánh dấu và đặc trưng âm nhạc:

𝐶(𝑥, 𝑦) =1

2(𝑑𝑥,𝑦−𝑑𝑥,1

𝑑𝑥,20−𝑑𝑥,1+ 𝐷𝑥,𝑦−𝐷𝑥,1

𝐷𝑥,20−𝐷𝑥,1) (2.7)

Trong đó 𝑑𝑥,𝑦là chuẩn hóa của khoảng cách Euclide có trọng số giữa hai bản nhạc x và y, 𝑑𝑥,1là chuẩn hóa của giá trị khoảng cách nhỏ nhất giữa bản nhạc x và toàn bộ các bản nhạc trong cơ sở dữ liệu, và 𝑑𝑥,20là chuẩn hóa của khoảng cách nhỏ thứ 20 giữa bản nhạc x và các bản nhạc trong cơ sở dữ liệu. Tương tự như vậy với

𝐷𝑥,𝑦là chuẩn hóa MFCC (Mahalanobis) của bản nhạc x và y.

Trong trường hợp không tồn tại khoảng cách Euclide giữa hai bản nhạc, khi mà một hoặc hai bản nhạc không có một thẻ đánh dấu nào từ Last.fm, khoảng cách tổ hợp C(x,y) giữa bản nhạc x và y sẽ chỉ phụ thuộc vào khoảng cách MFCC.

𝐶(𝑥, 𝑦) = 𝐷𝑥,𝑦−𝐷𝑥,1

𝐷𝑥,20−𝐷𝑥,1 (2.8)

Cuối cùng, hệ thống sẽ đưa ra một số các gợi ý bản nhạc, mỗi bản nhạc được thể hiện bằng tên bản nhạc và tên nghệ sỹ. Những gợi ý sẽ được xếp theo thứ tự ưu tiên từ bài hát có giá trị giống nhau cao nhất, giá trị khoảng cách càng nhỏ thì giá trị giống nhau càng cao.

Để ví dụ về sự so sánh kết hợp dựa trên các thẻ đánh dấu của Last.fm và MFCC, ta sẽ sử dụng bản nhạc Ornithology và bản nhạc Blue Train.

Theo các tính toán trong mục 2.2.1, chúng ta biết rằng khoảng cách Euclide (thẻ đánh dấu) giữa Ornithology và Blue Train là khoảng 0,103. Và từ mục 2.2.2 khoảng cách Mahalanobis (MFCC) giữa hai bản nhạc vào khoảng 84,712.

Bảng 2.11. Chuẩn hóa các khoảng cách giữa Ornithology và Blue Train

Bản nhạc gốc (x) Bản nhạc được so sánh (y) Khoảng cách Euclide 𝑑(𝑥,𝑦) Khoảng cách Euclide lớn nhất

Chuẩn hóa khoảng cách

30

Ornithology Blue Train 0.102673063 1.414213569 0.072600819

Bản nhạc gốc (x) Bản nhạc được so sánh (y) Khoảng cách Mahalanobis 𝐷(𝑥,𝑦) Khoảng cách Mahalanobis lớn nhất

Chuẩn hóa khoảng cách

𝐷𝑥,𝑦

Ornithology Blue Train 84.71246317 8075.253131 0.010490379

Khoảng cách Euclide lớn nhất (một hằng số) trong tập dữ liệu được lưu trong cơ sở dữ liệu và có giá trị vào khoảng 1,414. Tương tự như vậy, khoảng cách Mahalanobis lớn nhất (một hằng số) có giá trị vào khoảng 8075,253. Sử dụng công thức (2.5), ta có chuẩn hóa khoảng cách giữa Euclide Ornithology và Blue Train

𝑑𝑥,𝑦vào khoảng xấp xỉ 0.073. Sử dụng công thức (2.6), ta có chuẩn hóa khoảng cách Mahalanobis 𝐷𝑥,𝑦vào khoảng 0,010.

Bằng cách truy vấn đến cơ sở dữ liệu, chúng ta nhận dược giá trị khoảng cách Euclide nhỏ nhất 𝑑(𝑥,1)và giá trị khoảng cách nhỏ thứ 20 𝑑(𝑥,20), giữa bản nhạc cần so sánh với tất cả các bản nhạc khác trong tập dữ liệu. Trong ví dụ này, 𝑑(𝑥,1)xấp xỉ 0,073 (chính là giá trị chuẩn hóa khoảng cách giữa Ornithology and Blue Train) và

𝑑(𝑥,20)xấp xỉ bằng 0,127.

Tương tư, chúng ta truy vấn đến cơ sở dữ liệu và có 𝐷(𝑥,1)có giá trị xấp xỉ 0,007, và 𝐷(𝑥,20)có giá trị xấp xỉ 0,008.

Bảng 2.12. Các giá trị khoảng cách nhỏ nhất giữa Ornithology và Blue Train

Bản nhạc gốc (x) Bản nhạc được so sánh (y)

Chuẩn hóa khoảng cách Euclide

𝑑𝑥,𝑦

Giá trị chuẩn hóa Khoảng cách Euclide nhỏ nhất

𝑑𝑥,1

Giá trị chuẩn hóa khoảng cách Euclide nhỏ thứ 20

𝑑𝑥,20

Ornithology Blue Train 0.072600819 0.072600819 0.127092709

Bản nhạc gốc (x)

Bản nhạc được so sánh

(y)

Chuẩn hóa khoảng cách Mahalanobis

𝐷𝑥,𝑦

Giá trị chuẩn hóa Khoảng cách Mahalanobis nhỏ

nhất

𝐷𝑥,1

Giá trị chuẩn hóa khoảng cách Mahalanobis

nhỏ thứ 20

𝐷𝑥,20

31

Từ đó ta sẽ tính được tổ hợp khoảng cách giữa Ornithology và Blue Train bằng công thức (2.7): 𝐶(𝑥, 𝑦) =1 2( 0,073 − 0,073 0,127 − 0,073+ 0,01 − 0,007 0,008 − 0,007) ≃ 1,326

Một ví dụ khác cho chỉ số tương quan dựa trên sự kết hợp, chúng ta sẽ so sánh Ornithology và Beautiful Disaster.

Từ phần 2.2.1 ta có khoảng cách Euclide dựa trên lọc cộng tác các thẻ đánh dấu giữa Ornithology và Beaufiful Disaster là khoảng 0,355. Từ ví dụ ở phần 2.2.2, ta biết được khoảng cách Mahalanobis dựa trên lọc nội dung giữa các MFCC của hai bản nhạc là 116,139.

Bảng 2.13. Chuẩn hóa các khoảng cách giữa Ornithology và Beautiful Disaster

Bản nhạc gốc (x) Bản nhạc được so sánh (y) Khoảng cách Euclide 𝑑(𝑥,𝑦) Khoảng cách Euclide lớn nhất

Chuẩn hóa khoảng cách

𝑑𝑥,𝑦 Ornithology Beautiful Disaster 0,354525013 1,414213569 0,250687039 Bản nhạc gốc (x) Bản nhạc được so sánh (y) Khoảng cách Mahalanobis 𝐷(𝑥,𝑦) Khoảng cách Mahalanobis lớn nhất

Chuẩn hóa khoảng cách

𝐷𝑥,𝑦

Ornithology Beautiful

Disaster

116,1388483 8075,253131 0,014382069

Cũng như ví dụ trước khoảng cách Euclide lớn nhất là khoảng 1,414 và khoảng cách Mahalanobis lớn nhất là khoảng 8075,253. Theo công thức (II.5), giá trị chuẩn hóa khoảng cách Euclide giữa Ornithology và Beautiful Disaster là khoảng 0,251. Tương tự như vậy, theo công thức (2.6), giá trị chuẩn hóa khoảng cách Mahalanobis giữa hai bản nhạc là xấp xỉ 0,014.

32

Bảng 2.14. Các giá trị khoảng cách nhỏ nhất giữa Ornithology và Beautiful Disaster Bản nhạc gốc (x) Bản nhạc được so sánh (y) Chuẩn hóa khoảng cách Euclide 𝑑𝑥,𝑦

Giá trị chuẩn hóa Khoảng cách Euclide nhỏ nhất

𝑑𝑥,1

Giá trị chuẩn hóa khoảng cách Euclide nhỏ thứ 20

𝑑𝑥,20

Ornithology Beautiful Disaster 0,250687039 0,072600819 0,127092709

Bản nhạc gốc (x) Bản nhạc được so sánh (y) Chuẩn hóa khoảng cách Mahalanobis 𝐷𝑥,𝑦

Giá trị chuẩn hóa Khoảng cách Mahalanobis nhỏ

nhất

𝐷𝑥,1

Giá trị chuẩn hóa khoảng cách Mahalanobis

nhỏ thứ 20

𝐷𝑥,20

Ornithology Beautiful Disaster 0,014382069 0,006545963 0,008033416

Vì cùng một bản nhạc gốc với ví dụ trên, giá trị chuẩn hóa khoảng cách Euclide nhỏ nhất vẫn là xấp xỉ 0,073, và giá trị chuẩn hóa khoảng cách Euclide nhỏ thứ 20 vẫn là 0,127. Các giá trị tương ứng với khoảng cách Mahalanobis là 0,007 và 0,008.

Từ đó, ta tính được khoảng cách kết hợp giữa Ornithology và Beautiful Disaster là 𝐶(𝑥, 𝑦) =1 2( 0,251 − 0,073 0,127 − 0,073+ 0,014 − 0,007 0,008 − 0,007) ≃ 4,268

Vậy ta có khoảng cách kết hợp giữa Ornithology và Blue Train là 1,326, giá trị này giữa Ornithology và Beautiful Disaster là khoảng 4,268. Vậy chúng ta kết luận: theo phương pháp kết hợp giữa lọc cộng tác và lọc dựa trên nội dung Blue Train sẽ giống Ornithology hơn là Beautiful Disaster vì giá trị khoảng cách nhỏ hơn.

2.3 Kết luận chương

Chương 2 đã trình bày cụ thể về phương pháp tiếp cận được sử dụng trong hệ gợi ý của luận văn này. Đó là sự kết hợp giữa hai phương pháp mang lại hiệu quả cho hệ gợi ý là phương pháp lọc cộng tác và phương pháp lọc nội dung. Ngoài ra chương 2 còn đưa ra các ví dụ cụ thể cho các phương pháp, các bước tính toán để

33

hình thành các dữ liệu so sánh. Các bước tính toán và số liệu so sánh sẽ được sử dụng để đưa vào chương trình ứng dụng được xây dựng trong luận văn này.

Chương 3 sẽ trình bày cụ thể các bước xây dựng, các công nghệ được sử dụng trong ứng dụng và kết quả thử nghiệm hệ thống.

34

CHƯƠNG 3. XÂY DỰNG HỆ THỐNG GỢI Ý CHO

WEBSITE NGHE NHẠC TRỰC TUYẾN 3.1 Giới thiệu bài toán

Luồng dữ liệu của hệ thống gợi ý được mô tả trong hình 3.1. Cơ sở dữ liệu chứa thông tin của khoảng 1000 bản nhạc: tệp âm thanh mp3 và các siêu dữ liệu của chúng (tên bản nhạc, nghệ sỹ và tên tệp). Tên bản nhạc và nghệ sỹ được dùng để trích chọn các thẻ đánh dấu tạo bởi cộng đồng (những thẻ đánh dấu phổ biến nhất) từ API của Last.fm có tên là track.getTopTags. Tệp âm thanh dùng để trích chọn dữ liệu MFCC (các đặc trưng âm thanh) từ Sonic Annotator.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu học máy trong xây dựng gợi hệ ý âm nhạc (Trang 36 - 42)