În două dintre postările mele anterioare (acest și acest), am încercat să fac o analiză a sentimentului pe setul de date al companiei aeriene Twitter cu una dintre tehnicile clasice de învățare automată: clasificatorii naiv-bayesieni. Pentru această postare am făcut un clasificator cu o abordare de deep learning. Această lucrare nu va fi fundamentală, este doar un espedient de a juca, puțin, cu rețelele neuronale.

Pentru această lucrare am folosit Tensorflow și Keras pentru a defini rețeaua neuronală și noul Jupyter Lab pentru a scrie codul (cred că este foarte tare!). Dacă doriți, puteți găsi mediul meu de știință a datelor, cu toate aceste lucruri dockerizate, la acest „link”.

Ok, acum să vorbim despre rețeaua neuronală folosită în această postare, cel mai interesant strat este stratul LSTM. Dacă doriți să aflați mai multe despre LSTM, vă sugerez să citiți „acest post” al blogului Christopher Olah. Straturile LSTM sunt utilizate pe scară largă pentru procesarea limbajului, de aceea am folosit acest tip de layer pentru analiza mea. O schemă a rețelei neuronale foarte simplă pentru acest exemplu dacă urmează:

Întregul blocnotes folosit pentru această analiză este chiar aici și poate fi găsit pe profilul meu github „aici”. Fiecare bloc de cod este comentat, așa că nu vreau să te enervez cu multe cuvinte, hai să vorbească codul...

Concluzie

Pentru a antrena această rețea, am folosit mediul meu dockerizat de știință a datelor pe laptopul meu fără niciun fel de GPU în câteva minute.

După cum putem vedea din graficele: „Pierdere de antrenament și validare” și „Precizie de antrenament și validare”, a 3-a epoca este cea mai bună înainte ca rețeaua să înceapă să-și adapteze datele.

Precizia predicției, cu această rețea, este sărită de la 86% la 94%, în comparație cu clasificatoarele naive-bayesiene anterioare, cu o rețea foarte simplă și puține epoci. Precizia pentru tweet-urile pozitive este de asemenea crescută. În ciuda creșterii preciziei cu acest tip de rețea, cred că precizia poate fi îmbunătățită, iar acesta este scopul următoarelor mele teste.

Vă rugăm să nu ezitați să comentați și să mă contactați pentru a discuta despre această postare! 🙂

Publicat inițial pe devklaus.wordpress.com pe 11 martie 2018.