Ako vas više zanima tehnologija a manje Ceca, slobodno preskočite kviz, ali možete i probati, nitko neće znati…

#1. Je li ovo Cecin stih?

posle tebe ljubavi nema
sve sam znala, svakom buducem
tvoje ime sam dala

#2. Je li ovo Cecin stih?

kukavica, ti si pogresio
ponudjen k o savet los
lepo naslepo, te tvoje crne oci
jer pukli smo zar ne vidi suze te

#3. Je li ovo Cecin stih?

svi zele da ljube
ma i da se suncam u svom srcu
sto put sam se zacopala
preti da me kinjis

#4. Je li ovo Cecin stih?

eh kad bi znao
a ja bih nocas samo
idi dok si mi davo

#5. Je li ovo Cecin stih?

srecan ti bivsa sreco let
pricaju ljudi pa saznam sve
kad padnem ja znam da ustanem
al ne znam bez tebe da opstanem

#6. Je li ovo Cecin stih?

sto si tako zaboravan
kad si sreco tako mlad
sta ce biti kad ostaris

#7. Je li ovo Cecin stih?

ja sam propustila sve
ne trazite njega kraj mene
da sam plakala, za druge necu da znam
moje suze prema tebi padaju

#8. Je li ovo Cecin stih?

sto ga nema
sto ga nema
ubio ga led
kad zna da je meni bio
i otrov i med

#9. Je li ovo Cecin stih?

ko da te ne zanima
sto sam bezveze danima
po tebi to je normalno

#10. Je li ovo Cecin stih?

bolje bi ti pomoglo
ja sam ti dala
pamet da ne luta

finish

Results

Stvarno dobro poznaješ Cecine stihove. Od kuda su došli stihovi koji nisu njezini pročitaj u nastavku.
Ne poznaješ Cecine stihove baš najbolje. Možda smo te ipak uspjeli prevariti koristeći umjetnu inteligenciju. Kako smo to napravili pročitaj u nastavku.

Novi tekstovi Cece pomoću umjetne inteligencije

Pozdrav svima!

Zadnji članak napisao je Matija, gdje je opisao kako se vizualizacijom može doći do uvida u rezultate A/B testa.

Moj članak prije toga o prepoznavanju ljudi u gradovima malo je manje optimističan. Ilustrira realne probleme koji postoje, za razliku od “zemlja je ravna” i ostalih “teorija.”

Kažite mi, jesu li ovo stihovi Cece:

“svi zele da ljube
ma i da se suncam u svom srcu
Sto put sam se zacopala
preti da me kinjis”

“Kukavica, ti si pogresio
ponudjen k o savet los
Lepo naslepo, te tvoje crne oci
jer pukli smo zar ne vidi suze te”

Ili ovo:

“eh kad bi znao,
A ja bih nocas samo
Idi dok si mi davo”

Ili pogotovo ovo:

“ja sam propustila sve
ne trazite njega kraj mene,
da sam plakala
za druge necu da znam
moje suze prema tebi padaju”

 

Za sve vas koji ne znaju apsolutno sve tekstove napamet, odgovor je ne. To nisu tekstovi Cece, to su tekstovi koje je generirala umjetna inteligencija.

Da, to ste kao znali. Da, svi su pametni kada im kažeš odgovore (ili kada vide naslov članka). Nego, krenimo mi dalje.

Uvod

Danas je popularno slušati ovakve pjesme. Turbofolk pjesme slušaju se na većini mjesta i ja se i dalje pitam zašto. Pula, grad u kojem živim, do “nedavno” bila je mjesto nekakve alternativne scene koja mi je prijala. Danas pak većina mjesta ima ovakvu muziku i većina mladih (?) danas sluša ovakvu muziku.

Da li je to jer su tekstovi laki za zapamtiti? Jer su melodije jednostavne? Jer se pjeva o problemima koje svi imaju (jer ostale pjesme ne pjevaju o tipičnim problemima)?

Bacio sam malo oko da si razjasnim neke stvari o tom “žanru” pošto moram priznati da nisam previše upućen u tu vrstu muzike niti me je ikad previše interesiralo. Našao sam neke zanimljive informacije na Wikipediji.

Sviđa mi se ova definicija Rambo Amadeusa:

“Folk je narod. Turbo je sustav ubrizgavanja goriva pod tlakom u cilindar motora s unutarnjim izgaranjem. Turbo folk je gorenje naroda. Turbo folk nije glazba. Turbo folk je miljenica masa. Pobuđivanje najnižih strasti kod homo sapiensa. Turbo folk je sustav ubrizgavanja naroda. Ja nisam izmislio turbo folk, ja sam mu dao ime.”

I sviđa mi se komentar na Wiki – “Nastao je iz folk stila, popularnog među ruralnim stanovništvom.”

Ha, seljaci. Nemojte mene kriviti, tako piše gore. Štogod piše na Wiki, to je istina. Ne?

Sada, ja mogu nešto loše komentirati o ovakvoj muzici, ali mislim da nema smisla. Meni se ne sviđa, kao što se nekim ljudima ne sviđaju stvari koje ja slušam. Stariji rock bandovi vjerojatno su ljudima prestari ili dosadni, a Azru (i “Poljubi me”) su očito zaboravili, pošto su je našli zamijeniti s ovakvim pjesmama. Nije da slušam samo jednu vrstu muzike, ali ovakva mi baš ne sjeda.

Ono što mi je uvijek zanimljivo je kako se ljudi odlučuju slušati ovakve pjesme. Nemojte me krivo shvatiti, i ja sam jednom davno slušao narodne pjesme, ali ne baš ovakvog kalibra. Ovo je baš… Next level. Valjda svi to slušaju pa se većina baci na to.

Isto tako, smiješno mi je vidjeti koja se kultura razvila oko takvih pjesmi. Cure se oblače kao da idu snimati porniće (što nije tako loše, jednostavno sam ljubomoran).

Ali tipovi. Jao. Kompa, možeš nositi najbolje odijelo na svijetu i voziti najbolji BMW, i dalje češ biti seljačina. Kompenzacija, anyone?

Sviđa mi se kako te ideje prate te ideje o “uspjehu” i što znači biti netko i nešto. Ne mislim da ti treba auto i odijelo da budeš nešto. Da bi bio netko i nešto, trebaš malo dublje posegnuti. To nema veze s odjelom niti s BMW-om. Napravi nešto od sebe i postani netko. Vrijednost ne dolazi izvana.

Markovljevi lanci

To su lanci od Marka. Majkemi.

Ne, nisu. To je matematički model koji opisuje koliko često se nešto (u našem slučaju riječi) ponavlja, zavisno o prethodnim riječima. Da, ta rečenica nema smisla. Da pojasnim.

Pogledajmo malo par riječi jedne od pjesma Cece. Ovaj stih je iz njene (popularne?) pjesme “Rađajte decu”:


rađajte decu iz dosade
kad deca dođu dosada beži

kad deca dođu nestane besa

kad deca dođu tuga zbriše

Kao prvo, ne rađajte “decu” iz dosade. Možete probati odigrati karte ili neku društvenu igru. Ili pričati s nekime. Ili zuriti u sunce ili tako nešto.

Uzmimo ta tri stiha koji počinju sa “kad deca dođu” i pogledajmo što su sljedeće riječi u pjesmi.

Ako pogledamo te tri riječi (“kad”, “deca”, dođu”) postoji 33% šanse (1 u 3) da će sljedeća riječ biti “dosada”, “nestane” ili “tuga”. Kako to znamo? Zato što u tekstu kojeg gledamo postoji tri moguća nastavka na te tri riječi “kad deca dođu” i Markovljevi lanci rade tako da samo definiraju koja je šansa da će se se pojaviti sljedeća riječ u tekstu. Ako se može pojaviti jedna u tri riječi, šansa da se pojavi jedna od njih je… Jedna u tri. Jasno?

Učestalo se koriste dvije riječi kako bi se predvidjela treća. Znači nakon “kad deca” slijedi riječ “dođu”, te onda opet gledamo zadnje dvije riječi. Zadnje dvije riječi su sada “deca dođu” koje su boldane gore na slici. Na temelju te dvije riječi predviđa se treća riječ, te ta riječ može biti jedan od tri riječi koje smo gore definirali. 

Ovaj opis vrijedi samo za ovih par stihova. Ako uzmete sve tekstove Cece, možete zamisliti da imate puno više mogućnosti i puno više riječi koje se mogu spojiti.

Ono što dobijemo su prilično neoriginalni, ali bliski tekstovi Cece koji u biti generiraju stihove temeljene na postojećim pjesmama:

bolje bi ti pomoglo
ja sam ti dala
pamet da ne luta

Jeste, pomoglo mi puno, sada mi pamet mirna.

Lijep efekt, ali to baš nije prava kreativnost. Prava kreativnost nije ograničena strukturom jezika i vjerojatnosti da se nešto ponavlja.

Neuralne mreže i LSTM

Postoje i drugi načini da se generiraju tekstovi, a to je na još manjoj razini. Na razini slova, vjerovali ili ne.

Kao što sam to objašnjavao u drugim postovima, neuralne mreže bazirane su na neuronima, onim stanicama koje imate u svojem mozgu. Ti umjetni neuroni (neuralne mreže) danas mogu postići svašta, uključujući najbolje rezultate u prepoznavanju objekta (ljudi, lica i ostalo), generiranju tekstova (wink, wink), muzike, slika, …

Čini se da su najbolji algoritmi koje imamo za umjetnu inteligenciju cijelo vrijeme bili skriveni u prirodi iza naših očiju (pun intended), polirani godinama evolucije.

Čak i tako dobri alati, neuralne mreže same po sebi ne rješavaju sve probleme. Imaju svoje specijalizacije. Recimo, ako čitate tekstove Cece, vaš mozak razumije sljedeću riječ jer u svojem pamćenju imate ostale riječi. Nije da morate ponovno pročitati sav tekst do te točke. Znate/razumijete tekst koji ste pročitali.

Način na koji neuralne mreže rade nije baš takav da razumije slijed informacija. Nije da magično “pamte” riječi. Postoje posebne arhitekture neuralne mreže koje rade točno to. Takve arhitekture zovu se RNN (Recurrent Neural Network), te više o njima možete pogledati ovdje.

RNN su arhitekture koje su povezane petljom, što im omogućuje da sadržavaju informacije. Uspjeh ovih mreža vidljiv je posvuda (prepoznavanje govora, prijevodi, opis slika) i puno zanimljivih rezultata postignuto je baš s ovom arhitekturom. Puno stvari koje su postignute mogu biti direktno posljedica LSTM-a (Long Short Term Memory), arhitekture koje je nešto malo specijaliziranija i koriste zbog nekih tehničkih problema koji nastaju.

Ono što bi za vas, čitatelje, bilo korisno zamisliti je da je ovo način na koji neuralna mreža nauči generirati tekst, slovo po slovo.

Taj tekst je jako sličan onom na kojem je učio, te je moguće generirati prilično kreativne tekstove, pošto oni više ne ovise o vjerojatnosti da će jedna riječ nastaviti nakon druge.

Dogodit će se da će generirani tekstovi nekada sadržavati nepostojeće riječi, ali isto tako često će sadržavati kreativno posložene riječi:

da sam se s nekim drugim topila
da sam te i slome tebi branika
Niz lice suze beze
Detelino sa cetiri lista
samo smo bili ja i ti
za druge necu da znam

Ovime ste postigli pravu kreativnost, kao što pokazuje “da sam te i slome tebi branika”. Nema baš smisla, ali opet, možda ima?

Zaključak

Zaključujem da je moguće napraviti generator tekstova popularnih turbofolk pjevača koji dosta uvjerljivo generira tekstove.

Ako skupimo 1000 lajkova na postu objavljujemo web aplikaciju koja će vam generirati tekstove. Da, radit će i preko smartphonea.

Također, ako imate negdje pospremljene tekstove svojih omiljenih izvođača, možete nam ih poslati. Objavit ćemo gdje kad skupimo tih 1000 lajkova pa tako možete sudjelovati u treniranju sustava da oponaša vaše najdraže autore.

Moguće je i generirati melodije, kao i napraviti sintezu glasa (do neke mjere). Kada skupite sve ove elemente, imate virtualnog turbofolk narodnjaka kojeg trenirate po svojoj volji i s kojim možete skladati nove stvari pritiskom na gumb.

Fuck auto-tuner, ovo je fora, ne?