Teksty polskiego hip-hopu

Przeanalizowałem 8400 tekstów piosenek 100 polskich raperów. Pod uwagę wziąłem około 1000 artystów z czego wybrałem 100 z największą ilością utworów. Na wizualizacji prezentuję 300 najczęściej występujących słów – im większy napis tym częściej słowo występuje.

Materiały zostały przygotowane w pythonie, a wizualizacja danych została przygotowana przy użyciu biblioteki d3.js oraz algorytmu Jasona Davis’a.

Z ciekawostek, słowo kurwa pojawia się 4335 razy, chuj 2293 razy, jebać 687 razy – z pewnością można powiedzieć, że jest to język ekspresywny, z dużą dawką emocji i nieco wulgarny.

Dominują tematy o życiu, a także teksty autotematyczne – słowo rap występuje 6334 razy, bit 1408 razy, MC 664 razy, a hip-hop 827 razy. Występują neologizmy, zapożyczenia z języka angielskiego oraz slang.

Chmura tagów

Trzeba zaznaczyć, że chmura tagów, czyli w tym wypadku chmura słów nie pozwala na analizę językową, bo obrazuje tylko częstotliwość występowania poszczególnych wyrazów. To też jest jakaś informacja, tyle że niepełna – nie znamy kontekstu tych słów i nie jest łatwo ocenić zależności pomiędzy słowami. Uważa się nawet, że wizualizacja typu word cloud jest szkodliwa, można o tym poczytać tutaj.

Jak to zostało zrobione

Napisałem skrypt w pythonie, który pobrał około 1000 nazw artystów z last.fm, a potem sprawdził czy wykonawcy znajdują się w bazie tekstów piosenek. Jeżeli były, to skrypt pobrał tekst każdej piosenki każdego artysty. Z tego materiału wybrałem 100 najbardziej płodnych artystów, co oceniłem po kb zapisanych na dysku dla każdego z nich.

Następnie teksty zostały podzielone na słowa, usunąłem stop words czyli słowa często występujące, ale mające małe znaczenie np. “ale”, “i”, “lub”, a potem to już było łatwo, bo skrypt policzył częstotliwość występowania słów, wyeksportował wyniki i potem to już tylko trochę zabawy z d3.