Sztuczna inteligencja

Rapujący program

mic

W mediach od czasu do czasu (choć ostatnio częściej) pojawiają się artykuły oznajmiające, że kolejna dziedzina ludzkiej pracy została właśnie zawłaszczona przez roboty. Niektórzy próbują się pocieszyć, że maszyny będą tylko maszynami i nie będą w stanie wykształcić ludzkiej kreatywności. Że nie będą w stanie, przykładowo, pisać tekstów piosenek.

Cóź, grupa Finów udowodniła, że można napisać program program, który „rapuje”. A przynajmniej potrafi skleić tekst, który wygląda w miarę porządnie.

DeepBeat

DeepBeat (bo takim imieniem go ochrzczono) jest zbudowany wokół sztucznej sieci neuronowej i kilku sztucznek znanych ludziom zajmującym się analizą języka naturalnego (natural language processing, NLP). Wykorzystuje także kilka obserwacji dotyczących struktury tekstów.

W skrócie, algorytm DeepBeat próbuje znaleźć najlepszy kolejny wers z puli dostępnych wersów. Program ma do dyspozycji 583 669 wersów pochodzących z 10 980 różnych piosenek od 104 anglojęzycznych artystów.

Na początku należy podać algorytmowi słowo, od którego ma zacząć układanie piosenki. Mając punkt zaczepienia program jest w stanie dopasować najlepszy nowy wers przy pomocy trzech wskaźników – jak dobrze się rymuje z tym, co już ma oraz jakie jest podobieństwo kandydata na nowy wers pod względem struktury i znaczenia.

DeepBeat analizuje nie tylko proste, jednowyrazowe rymy, lecz także potrafi dopasować bardziej złożone rymy rozciągające się na kilka słów. Wszystkie analizy dotyczące rymów odbywają się przy użyciu języka fonetycznego, dzięki czemu porównuje się brzmienie słów, a nie ich zapis (ponieważ w języku angielskim zapis słowa a jego wymowa to dwie zupełnie różne krainy).

Po znalezieniu nowego wersu program dodaje go do tekstu i zaczyna cały cykl od nowa.

Rezultat

Oto kilka tekstów, które wygenerował DeepBeat (w nawiasach znajdują się piosenki, z których pochodzą wersy). Najpierw z losowym punktem zaczepienia:

Uh 1-2-3 that’s how it be (Outkast – Claimin True)
Somebody gotta be doubtin’ it (KRS One – Somebody)
It was me Michael T.T. handing out freebies (Ghostface Killah – Kilo (Remix))
Let’s party everybody bounce with me (50 Cent – Disco Inferno)
Catch me rollin in the night (Snoop Dogg – Cool)
Me and you we don’t need wings to y (Sage Francis – Broken Wings)
I hope you let me in tonight (Nicki Minaj – Beautiful Sinner)
You keep yo’ heels high keep it real tight (Talib Kweli – Rock On)
I know you gonna dig this (Snoop Dogg – Doggfather (Remix))
Get a lump some you gonna need it (Tech N9ne – A Real 1)
Nothing’s ever gonna get done to me mee! (Royce Da 5 9 – Forever)
oh I don’t know how it go but uhh what the bitches (Ice Cube – You Know I’m A Hoy)
I know you know we know (Talib Kweli – We Know)
Cause I slow ya roll and you know it bro (Chamillionaire – Switch Styles Reloaded)
Let me really tell you how it should be told (Kardinal Oshal – Mysteries)
you think not? you could see though (Kool G Rap – Daddy Figure)

Everybody got one (2 Chainz – Extremely Blessed)
And all the pretty mommies want some (Mos Def – Undeniable)
And what i told you all was (Lil Wayne – Welcome Back)
But you need to stay such do not touch (Common – Heidi Hoe)
They really do not want you to vote (KRS One – The Mind)
what do you condone (Cam’ron – Bubble Music)
Music make you lose control (Missy Elliot – Lose Control)
What you need is right here ahh oh (Wiz Khalifa – Right Here)
This is for you and me (Missy Elliot – Hit Em Wit Da Hee (Remix))
I had to dedicate this song to you Mami (Fat Joe – Bendicion Mami)
Now I see how you can be (Lil Wayne – How To Hate)
I see u smiling i kno u hattig (Wiz Khalifa – Damn Thing)
Best I Eva Had x4 (Nicki Minaj – Best I Ever Had)
That I had to pay for (Ice Cube – X Bitches)
Do I have the right to take yours (Common – Retrospect For Life)
Trying to stay warm (Everlast – 2 Pieces Of Drama)

A tutaj tekst z konkretnym słowem kluczowym. W tym przykładzie tym słowem jest „love”:

For a chance at romance I would love to enhance (Big Daddy Kane – The Day You’re Mine)
But everything I love has turned to a tedious task (Jedi Mind Tricks – Black Winter Day)
One day we gonna have to leave our love in the past (Lil Wayne – Marvin’s Room)
I love my fans but no one ever puts a grasp (Eminem – Say Goodbye Hollywood)
I love you momma I love my momma (Snoop Dogg – I Love My Momma)
And I would love to have a thing like you on my team you take care (Ghostface Killah – Paragraphs Of Love)
I love it when it’s sunny Sonny girl you could be my Cher (Common – Make My Day)
I’m in a love a air I can’t share it ain’t fair (Snoop Dogg – Show Me Love)
Haha I’m just playin’ ladies you know I love you. (Eminem – Kill You)
I know my love is true and I know you love me too (Everlast – On The Edge)
Girl I’m down for whatever cause my love is true (Lil Wayne – Sean Kingston I’m At War)
This one goes to my man old dirty one love we be swigging brew (Big Daddy Kane – Entaprizin)
My brother I love you Be encouraged man And just know (Tech N9ne – Need More Angels)
When you done let me know cause my love make you be like WHOA (Missy Elliot – Dog In Heat)
If I can’t do it for the love then do it I won’t (KRS One – Take It To God)
All I know is I love you too much to walk away though (Eminem – Love The Way You Lie)

Sami oceńcie wartość artystyczną tych tekstów.

Natomiast jeżeli chodzi o liczby. W porównaniu z losowym wybieraniem wersów DeepBeat jest lepszy o 82%. Gdy porówna się gęstość rymów (wskaźnik wymyślony przez autorów, opisujący średnią długość najdłuższego rymu per słowo) stworzonych przez człowieka z gęstością rymów wygenerowanych tekstów, to tutaj DeepBeat również jest lepszy, aż o 21%.

deep-beat

Autorzy DeepBeat mają nadzieję, że poza dopisaniem „rapowanie” do listy rzeczy, które maszyny potrafią robić, ich praca znajdzie zastosowanie w zmniejszaniu dystansu między człowiekiem a maszynami i pomoże tworzyć nowe, bardziej naturalne interfejsy. Mają również nadzieję, że uda im się jakoś spieniężyć algorytm jako generator tekstów albo jako narzędzie wspomagające pisanie tekstów.

Mimo, że niektóre założenia pasują tylko do rapu, to po zmianie kilku rzeczy DeepBeat mógłby zacząć generować teksty do innych gatunków muzycznych.

Można też iść trochę dalej i zastosować algorytm podobny do DeepBeat do generowania newsów lub automatycznych komunikatów. Infolinie nie będą wtedy takie same jak przedtem…

Pozostaje pytanie – czy jest to kreatywne?

Podczas rozważań nad potencjalną kreatywnością DeepBeat, autorzy powoływali się na definicję kreatywności podaną przez M. A. Bodena w książce The Creative Mind: Myths and Mechanisms. Według niego, kreatywność to zdolność do tworzenia nowych idei lub artefaktów, które są nowe, zaskakujące i wartościowe.

DeepBeat na pewno może zaskakiwać. Można polemizować co do dwóch pozostałych warunków.

Program nie tworzy nowych wersów, jedynie układa istniejące wersy w nowy sposób. Czy jest to wystarczający argument, aby uznać to za „nowe”? Można tutaj powołać się na dyskusje o remiksach i debatować nad tym godzinami.

Czy wygenerowane teksty są wartościowe? Tu też można debatować.

W zależności od tego, z jakiej strony się patrzy na ten problem, DeepBeat albo nie jest kreatywny, albo w naciągany sposób jest kreatywny. Za to raczej nie ma szans, aby uznać go za kreatywnego w ludzkim znaczeniu tego słowa. Bitwy na rymy jeszcze nie wygra.

Jeszcze.


Jak ktoś jest ciekawy szczegółów, to odsyłam do pracy na arxiv – DopeLearning: A Computational Approach to Rap Lyrics Generation.

Podobne wpisy

  • Sonny

    Przecież i tak jest bardziej kreatywny od większości tych raperów, skoro tekst układa sam, bez tekściarza