Sunteți pe pagina 1din 4

Tema: Analiza sentimentelor pe text cu TensorFlow

Descriere

TensorFlow este o bibliotecă open-source dezvoltată de Google pentru mașină învățare și


inteligență artificială. A fost lansată pentru prima dată în 2015 și a devenit rapid una dintre
cele mai populare biblioteci de acest gen. TensorFlow oferă o platformă flexibilă și eficientă
pentru construirea și antrenarea de modele de învățare automată, inclusiv rețele neurale.

Functionarea algoritmului:
Acest algoritm folosește TensorFlow și Keras pentru a construi și antrena un
model de învățare automată pentru analiza sentimentului în texte. Iată cum
funcționează în pași:

1)Colectarea datelor de antrenament și etichetele:

Datele de antrenament sunt texte, iar etichetele asociate indică sentimentul


asociat fiecărui text (1 pentru sentiment pozitiv și 0 pentru sentiment
negativ).

2)Tokenizarea textelor:

Tokenizer este folosit pentru a transforma textele în secvențe de numere.


Cu alte cuvinte, fiecare cuvânt din text este mapat la un număr. Un cuvânt
special <OOV> este adăugat pentru a trata cuvintele out-of-vocabulary
(cuvinte care nu există în vocabular).

Funcția fit_on_texts este utilizată pentru a construi un vocabular pe baza


textelor de antrenament.

3)Pregătirea datelor pentru antrenament:

Textele tokenizate sunt transformate în secvențe de aceleași dimensiuni


(padding sequences) folosind pad_sequences. Acest lucru este necesar
pentru a asigura că modelele pot lucra cu date de aceeași dimensiune.

4)Crearea modelului:

Modelul este construit folosind TensorFlow și Keras. Acesta constă din trei
straturi:

Un strat de înglobare (embedding layer) care transformă secvențele de


numere (reprezentând cuvintele) în vectori de valori continue.

Un strat de Global Average Pooling care face o medie a vectorilor obținuți


din stratul de înglobare.
Un strat dens cu o singură ieșire care folosește o funcție de activare
sigmoid pentru a determina sentimentul (clasificare binară).

5)Compilarea modelului:

Modelul este compilat folosind optimizatorul "adam" și funcția de pierdere


"binary_crossentropy", potrivit pentru o problemă de clasificare binară. De
asemenea, se urmărește acuratețea ca metrică.

6)Antrenarea modelului:

Modelul este antrenat pe datele de antrenament (textele tokenizate și


etichetele). Antrenamentul constă în ajustarea ponderilor în funcție de date
astfel încât să minimizeze funcția de pierdere.

7)Evaluarea textelor:

Textele pentru care dorim să determinăm sentimentul sunt tokenizate și


transformate în secvențe de aceeași dimensiune ca cele de antrenament.

Modelul este apoi folosit pentru a face predicții asupra acestor secvențe.

Sentimentul este determinat pe baza valorilor prezise de model, în funcție


de pragul de 0.5 (dacă valoarea prezisă este mai mică de 0.5, sentimentul
este considerat negativ, în caz contrar este pozitiv).

8)Afișarea rezultatelor:

Rezultatele predicțiilor sunt afișate, indicând sentimentul prezis pentru


fiecare text de test.

În acest fel, modelul învață să determine sentimentul din texte, având ca


intrare secvențele tokenizate și ca ieșire predicții pentru sentiment (negativ
sau pozitiv).

Exemple
Output

Eroarea apărută în cod este dată de faptul că modelul a fost antrenat pe


texte cu sentiment pozitiv și negativ, iar în setul de testare, primul text nu
este foarte diferit de cel din setul de antrenament, de aceea a fost etichetat
ca "pozitiv". Cu toate acestea, modelul nu este suficient de complex sau
antrenat pe un set de date suficient de mare pentru a face o diferențiere
subtilă între texte cu nuanțe similare.

Pentru a obține rezultate mai bune, ai nevoie de un set de date mai mare,
antrenament mai lung și un model mai complex. De asemenea, textul de
test trebuie să fie destul de diferit de cele de antrenament pentru a pune în
valoare abilitatea modelului de a generaliza.

În acest exemplu, modelul simplu de învățare automată nu este suficient de


sofisticat pentru a face o diferențiere semnificativă între "Cel mai bun film
pe care l-am văzut vreodată." și "Cel mai rau film pe care l-am văzut
vreodată." și le etichetează ambele în funcție de antrenamentul anterior.

S-ar putea să vă placă și