
TECHNIKAI HÁTTÉR
HOGYAN TALÁLKOZOTT A.N.I.T.A. és kukoricAIános?
A feladat háttere és célkitűzése
A projekt az Mesterséges Intelligencia (MI) Koalíció keretében valósult meg, a
Stratis Kft. és a Zeneszöveg.hu együttműködésében. A projekt célja egy olyan alkalmazás létrehozása, amely képes előre megadott kategóriába tartozó „új” népdalt írni. A felhasználóval folytatott kommunikáció alapján az eredmény egyrészt a mesterséges intelligencia által generált népdal, másrészt egy ahhoz a legjobban hasonlító eredeti népdal lesz. Az alkalmazás célja a szórakoztatás és az MI lehetőségeinek bemutatása.
Technikai háttér
A projektben a Stratis meglévő, természetes nyelvfeldolgozási (NLP) feladatok elvégzésére képes mesterséges intelligenciáját, A.N.I.T.A-t hívtuk segítségül. A megvalósítás során három fő kihívással találtuk magunkat szemben.
Az első és legnagyobb kihívása
Az új népdalok generálására szolgáló modell elkészítése. Vajon képes lesz a mesterséges intelligencia strófákat, esetleg teljes dalokat generálni? Több megközelítést is kipróbáltunk, hogy ezt a kihívást megugorjuk. Legkézenfekvőbbnek az tűnt, hogy A.N.I.T.A.-t megtanítjuk az általános magyar nyelv generálására majd ezen belül népdalok írására. A másik megközelítés, hogy kizárólag a népdal korpuszon történik a tanítás. Az előzetes eredmények, az elérhető adatmennyiség és erőforrások miatt végül ez utóbbira esett a választás. Ez a módszer jobban megőrizte a népdalok szóhasználatát, szókapcsolatait. Több Mesterséges intelligencia modell is kipróbálásra került melyek közül a generált szövegek minősége alapján a visszacsatolt neurális háló (RNN) került ki győztesként, amivel dalsorokat generáltunk, amiket később összefűztünk rímelő dalokká.
A második kihívás
Az elkészült dalok kategorizálása volt, amely A.N.I.T.A. számára már rutin feladat volt. A dalkorpuszban szerepelt minden dalhoz egy címke így felügyelt tanítás segítségével készítettük az osztályozót.
A harmadik kihívás
A generálthoz hasonló valós dal megtalálása volt. Itt azt gondoltuk, hogy két dal akkor számít hasonlónak, ha kategóriájuk megegyezik és szóhasználatuk minél közelebb esik egymáshoz. Ezek alapján a leghasonlóbb dalt egy TFIDF vektorizáló és a NearestNeighbour algoritmus segítségével valósítottuk meg.
Adatokból chatbot
Az utolsó feladat az igy elkészült adatok a felhasználókig való eljuttatása volt. Erre a Facebook (Meta) Messenger applikációja nyújtotta a platformot. Lehetőségünk volt Python nyelven a Flask csomag segítségével egy chatbotot készíteni, amely interaktívan különböző bemenetekre reagál. Ha a chatbot olyan üzenetet kap, amelyet nem képes értelmezni, átirányítja a felhasználót a Zeneszöveg.hu ügyfélszolgálatához. A chat folyamán figyelembe veszi, ha egy felhasználó már kapott valamilyen dalt így megteremtve a lehetőséget a felhasználónak, hogy címet adjon a dalnak, illetve pontozza azt.