Конкурс песни «Евровидение» — это свободно доступный набор данных, содержащий метаданные, рейтинги конкурса и данные голосования по 1735 песням, участвовавшим в конкурсах песни «Евровидение». Предстоящий релиз также будет содержать аудиофункции.
Каждый год набор данных обновляется с учетом результатов конкурса. Этот выпуск содержит метаданные участников, конкурсный рейтинг и данные голосования 1735 песен, участвовавших в конкурсе песни «Евровидение» с момента его первого проведения в 1956 году до настоящего времени. Соответствующий звук для каждой песни можно транслировать через YouTube.
Метаданные и данные голосования предоставлены фан-сайтом EurovisionWorld.
Набор данных можно скачать здесь. Чтобы воспроизвести его, следуйте инструкциям в нижней части файла readme.
Джон Эшли Бургойн, Янне Спийкервет и Дэвид Джон Бейкер расширили этот набор данных, добавив данные уровня жюри, новые аудиофункции и статистический анализ для ISMIR 2023. Вы можете получить доступ к их данным и коду в этом репозитории.
Поскольку файл contestants.csv
находится в той же папке, что и файл audio.py
, аудиопотоки всех песен YouTube можно собрать, запустив python3 audio.py
. Альтернативно, sh run.sh audio
или sh run.sh docker audio
можно использовать для очистки локально или использовать контейнер Docker для очистки потоков.
При использовании этих материалов просьба ссылаться на следующие ресурсы. Мне также интересно узнать о проектах, основанных на этой работе. Не стесняйтесь, отправьте электронное письмо по адресу: 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} }
Чтобы получить первоначальное представление о наборе данных, в каталоге examples
создается пример Jupyter Notebook. Его можно открыть с помощью jupyter notebook
. Чтобы воспроизвести набор данных, см. ниже:
Вы можете загрузить весь набор данных, используя код очистки, включенный в этот репозиторий. Будет предпринята попытка получить и обработать данные с веб-сайта EurovisionWorld в файлы csv, которые также доступны в разделе релизов этого репозитория:
votes.csv
contestants.csv
betting_offices.csv
pip3 install -r require.txt# выдаст voices.csv, а Contestants.csvpython3 Scrape_votes.py# выдаст betting_offices.csvpython3 Scrape_odds.py
Запустите sh run.sh docker
, чтобы создать Dockerfile, и запустите scrape_votes.py
из контейнера. Никакой дополнительной настройки не требуется. Это позволит реплицировать набор данных — файлы contestants.csv
, votes.csv
и betting_offices.csv
.
Аудио можно дополнительно получить как внутри, так и за пределами контейнера Docker:
bash run.sh docker audio bash run.sh audio
Аудио функции можно извлечь, как только все аудио появится в папке audio
используя:
sh audio_features.sh
Это запустит контейнер Docker с установленным экстрактором потоковой музыки Essentia. В качестве альтернативы можно запустить audio_features.py
, если экстрактор Essentia установлен в среде PATH.
Рейтинг соревнований предоставляется как для финалов, так и для полуфиналов. Данные о голосовании между странами содержат 47 007 голосований и разделены на голосование жюри и телеголосование после того, как оно было введено в 2016 году.
столбец | описание |
---|---|
год | год конкурса |
to_country_id | идентификатор страны участника |
to_country | название страны участника |
исполнитель | художник |
песня | название песни участника |
sf_num | участвовал в полуфинале 1, 2 или 0 (с 2004 по 2008 год был только один полуфинал) |
Running_final | порядок в трансляции финала конкурса |
Running_sf | порядок трансляции полуфинала конкурса |
место_финал | место в финале |
Points_final | очки в финале |
место_сф | место в полуфинале |
Points_sf | очки в полуфинале |
Points_tele_final | очки телеголосования в финале конкурса |
Points_jury_final | баллы жюри в финале конкурса |
Points_tele_sf | очки телеголосования в полуфинале конкурса |
Points_jury_sf | баллы жюри в полуфинале конкурса |
тексты песен | текст песни |
youtube_url | ссылка на видео на YouTube |
столбец | описание |
---|---|
год | год конкурса |
круглый | финал, полуфинал |
from_country_id | идентификатор страны, в которой начисляются баллы |
to_country_id | идентификатор страны получения баллов |
from_country | страна название страны, дающей баллы |
to_country | страна название страны получения баллов |
очки | количество набранных баллов |
Рекомендуется использовать Docker, запустив sh run.sh docker
, или использовать локальную установку, просто вызвав sh run.sh
Чтобы также получить аудио, запустите либо sh run.sh audio
, либо sh run.sh docker audio
.
Для репликации набора данных требуется WebDriver для Chrome, Firefox или Safari, например WebDriver для Chrome, а также пакет Selenium Python ( pip3 install selenium
). Следуйте инструкциям по настройке WebDriver здесь. Зависимости проекта можно установить, используя:
pip3 install -r requirements.txt
Используйте следующую команду, чтобы получить данные обо всех конкурсах песни «Евровидение» в период с 1956 по 2023 год:
python3 scrape_votes.py --start 1956 --end 2023
При этом будут созданы файлы contestants.csv
и 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} }