Kontes Lagu Eurovision adalah kumpulan data yang tersedia secara gratis yang berisi metadata, peringkat kontes, dan data pemungutan suara dari 1.735 lagu yang telah berkompetisi di Kontes Lagu Eurovision. Rilis mendatang juga akan berisi fitur audio.
Setiap tahun , kumpulan data diperbarui dengan hasil kontes. Rilis ini berisi metadata kontestan, peringkat kontes, dan data pemungutan suara dari 1735 entri yang berpartisipasi dalam Kontes Lagu Eurovision sejak pertama kali diadakan pada tahun 1956 hingga sekarang. Audio yang sesuai untuk setiap lagu dapat dialirkan melalui YouTube.
Metadata dan data pemungutan suara disediakan oleh situs penggemar EurovisionWorld.
Datasetnya dapat diunduh di sini. Untuk mereplikasinya, ikuti instruksi di bagian bawah readme.
John Ashley Burgoyne, Janne Spijkervet, dan David John Baker memperluas kumpulan data ini dengan data tingkat juri, fitur audio baru, dan analisis statistik untuk ISMIR 2023. Anda dapat mengakses data dan kode mereka di repositori ini.
Dengan contestants.csv
di folder yang sama dengan file audio.py
, aliran audio YouTube dari semua lagu dapat dikumpulkan dengan menjalankan python3 audio.py
. Alternatifnya, sh run.sh audio
atau sh run.sh docker audio
dapat digunakan untuk mengikis secara lokal atau menggunakan wadah Docker untuk mengikis aliran.
Saat menggunakan materi ini harap mengutip sumber daya berikut. Saya juga tertarik mendengar tentang proyek yang dibangun berdasarkan karya ini, silakan kirim email ke: janne [dot] spijkervet [at] gmail [dot] com
@inproceedings{burgoyne_mirovision, author = {John Ashley Burgoyne and Janne Spijkervet and David John Baker}, title = {Measuring the {Eurovision Song Contest}: A Living Dataset for Real-World {MIR}}, booktitle = {Proceedings of the 24th International Society for Music Information Retrieval Conference}, year = 2023, address = {Milan, Italy}, url = {https://archives.ismir.net/ismir2023/paper/000097.pdf} } @misc{spijkervet_eurovision, author = {Janne Spijkervet}, title = {{The Eurovision Dataset}}, month = mar, year = 2020, doi = {10.5281/zenodo.4036457}, version = {1.0}, publisher = {Zenodo}, url = {https://zenodo.org/badge/latestdoi/214236225} }
Untuk mendapatkan gambaran awal tentang kumpulan data, contoh Jupyter Notebook dibuat di direktori examples
. Ini dapat dibuka dengan jupyter notebook
. Untuk mereplikasi kumpulan data, lihat di bawah:
Anda dapat mengunduh seluruh kumpulan data menggunakan kode scraping yang disertakan dalam repositori ini. Ini akan mencoba mengambil dan memproses data dari situs web EurovisionWorld ke dalam file csv yang juga tersedia di bagian rilis repositori ini:
votes.csv
contestants.csv
betting_offices.csv
pip3 install -r persyaratan.txt# akan menghasilkan suara.csv dan kontestan.csvpython3 scrape_votes.py# akan menghasilkan taruhan_offices.csvpython3 scrape_odds.py
Jalankan sh run.sh docker
untuk membuat Dockerfile dan jalankan scrape_votes.py
dari dalam container. Tidak diperlukan pengaturan tambahan. Ini akan mereplikasi kumpulan data, baik file contestants.csv
, votes.csv
dan betting_offices.csv
.
Audio juga dapat diambil baik dari dalam atau luar container Docker:
bash run.sh docker audio bash run.sh audio
Fitur audio dapat diekstraksi setelah semua audio ada di folder audio
menggunakan:
sh audio_features.sh
Ini akan meluncurkan wadah Docker dengan ekstraktor musik aliran Essentia yang terpasang. Alternatifnya, audio_features.py
dapat dijalankan jika ekstraktor Essentia diinstal di lingkungan PATH.
Peringkat kompetisi disediakan untuk final dan semi final. Data pemungutan suara antar negara berisi 47.007 aktivitas pemungutan suara, dan dipisahkan berdasarkan juri dan televoting setelah diperkenalkan pada tahun 2016.
kolom | keterangan |
---|---|
tahun | tahun kontes |
ke_negara_id | ID negara kontestan |
ke_negara | nama negara kontestan |
pemain | artis |
lagu | judul lagu kontestan |
sf_num | berpartisipasi di semi final 1, 2 atau 0 (dari 2004-2008 hanya ada satu semi final) |
berjalan_final | memesan dalam siaran final kontes |
berjalan_sf | memesan dalam siaran semifinal kontes |
tempat_final | tempat di final |
poin_final | poin di final |
tempat_sf | tempat di semifinal |
poin_sf | poin di semifinal |
points_tele_final | poin televoting di final kontes |
poin_juri_final | poin pemungutan suara juri di final kontes |
poin_tele_sf | poin televoting di semifinal kontes |
poin_juri_sf | poin pemungutan suara juri di semifinal kontes |
lirik | lirik lagunya |
youtube_url | url ke video di YouTube |
kolom | keterangan |
---|---|
tahun | tahun kontes |
bulat | final, semi final |
dari_negara_id | id negara dari negara yang memberikan poin |
ke_negara_id | id negara dari negara penerima poin |
dari_negara | nama negara dari negara yang memberikan poin |
ke_negara | nama negara dari negara penerima poin |
poin | jumlah poin yang diberikan |
Disarankan untuk menggunakan Docker dengan menjalankan sh run.sh docker
, atau menggunakan instalasi lokal hanya dengan menjalankan sh run.sh
. Untuk juga mendapatkan audio, jalankan sh run.sh audio
atau sh run.sh docker audio
.
Untuk mereplikasi kumpulan data, diperlukan WebDriver untuk Chrome, Firefox, atau Safari, misalnya WebDriver untuk Chrome, bersama dengan paket Selenium Python ( pip3 install selenium
). Ikuti petunjuk untuk menyiapkan WebDriver di sini. Ketergantungan proyek dapat diinstal menggunakan:
pip3 install -r requirements.txt
Gunakan perintah berikut untuk mengekstrak data semua Kontes Lagu Eurovision antara tahun 1956 dan 2023:
python3 scrape_votes.py --start 1956 --end 2023
Ini akan membuat file contestants.csv
dan votes.csv
.
@inproceedings{burgoyne_mirovision, author = {John Ashley Burgoyne and Janne Spijkervet and David John Baker}, title = {Measuring the {Eurovision Song Contest}: A Living Dataset for Real-World {MIR}}, booktitle = {Proceedings of the 24th International Society for Music Information Retrieval Conference}, year = 2023, address = {Milan, Italy}, url = {https://archives.ismir.net/ismir2023/paper/000097.pdf} } @misc{spijkervet_eurovision, author = {Janne Spijkervet}, title = {{The Eurovision Dataset}}, month = mar, year = 2020, doi = {10.5281/zenodo.4036457}, version = {1.0}, publisher = {Zenodo}, url = {https://zenodo.org/badge/latestdoi/214236225} }