1 of 17

Natural Language

PROCESSING

Nitro AI Workshop 26.01.2025

2 of 17

Cu ajutorul NLP computerele pot:

1

Să identifice spam-ul din emailuri.

Să recunoască părțile de vorbire (substantive, verbe etc.)

2

Să identifice entități precum numele unei persoane sau al unei companii.

3

3 of 17

NLP

PIPELINE

4 of 17

ETAPE NLP PIPELINE

Colectarea datelor

01.

Preprocesarea textului

02.

Tokenizare = impartirea propozitiei in cuvinte

Eliminarea semnelor de punctuație și a zgomotului, cifre, tag-uri HTML

Normalizare: conversia literelor mari cu litere mici, eliminarea diacriticelor

Transformarea textului pentru a-l face uniform

Eliminare stopwords

Stemming si lemmatizare

5 of 17

ETAPE NLP PIPELINE

Reprezentarea textului

03.

Feature extraction

04.

Analiza si procesare avansata

05.

One-hot encoding

Bag-Of-Words

TF-IDF

Word embeddings

6 of 17

One-hot encoding

7 of 17

Ce înseamnă One-Hot encoding?

Definitie:

Exemplu:

One-hot encoding este o tehnică de reprezentare a cuvintelor, în care fiecare cuvânt este transformat într-un vector binar unic.

  1. I really like apples because I really, really like fruits.
  2. I like apples and bananas.

[1, 0, 0, 0, 0, 0, 0, 0], # I

[0, 0, 1, 0, 0, 0, 0, 0], # like

[0, 0, 0, 1, 0, 0, 0, 0], # apples

[0, 0, 0, 0, 0, 0, 1, 0], # and

[0, 0, 0, 0, 0, 0, 0, 1] # bananas

Cuvant

Vector one-hot

I

[1, 0, 0, 0, 0, 0, 0, 0]

really

[0, 1, 0, 0, 0, 0, 0, 0]

like

[0, 0, 1, 0, 0, 0, 0, 0]

apples

[0, 0, 0, 1, 0, 0, 0, 0]

because

[0, 0, 0, 0, 1, 0, 0, 0]

fruits

[0, 0, 0, 0, 0, 1, 0, 0]

and

[0, 0, 0, 0, 0, 0, 1, 0]

bananas

[0, 0, 0, 0, 0, 0, 0, 1]

8 of 17

One-Hot encoding

Pros

Cons

Ușor de implementat

Pot fi extrem de precise în anumite cazuri

Funcționează bine pentru seturi de date cu un număr redus de categorii distincte.

Ineficient din punct de vedere computațional.

Nu se adaptează la creșterea categoriilor.

Nu poate codifica relațiile dintre categorii.

Necesită optimizari la scară largă pentru seturi de date extrem de mari

9 of 17

BAG- OF-WORDS

10 of 17

Ce înseamnă BoW ( Bag-of-Words)?

Definitie:

Exemplu:

Bag of Words (BoW) este o metodă simplă de reprezentare a textului, unde un text este transformat într-un vector pe baza frecvenței cuvintelor sale.

I really like apples because I really, really like fruits.

apples

because

fruits

I

like

really

1

1

1

2

2

3

11 of 17

WORD EMBEDDINGS

12 of 17

Ce sunt embeddings in NLP?

Definitie:

AVANTAJE

Embeddings-urile sunt reprezentări numerice (vectori) ale cuvintelor, frazelor sau documentelor, care capturează relațiile semantice și sintactice dintre ele.

Transformă cuvintele din date textuale în date numerice pentru procesare de către modele de machine learning.

Permit înțelegerea sensului cuvintelor în funcție de context

13 of 17

Word2Vec

GloVe

FastText

Reprezentarea cuvintelor bazată pe context

Construit pe baza co-apariției cuvintelor

Adaugă informații despre caractere și morfologie

14 of 17

Ce este Word2Vec?

Definitie:

Word2Vec este o metodă care transformă cuvintele în reprezentări vectoriale numerice bazate pe contextul lor, capturând relațiile semantice și sintactice dintre ele.

  • Vectorii reprezintă poziția unui cuvânt într-un spațiu multidimensional.
  • Cuvintele similare din punct de vedere semantic sunt mai apropiate în acest spațiu.

15 of 17

Ce este GloVe?

Definitie:

Corpus:

Matricea de co-aparitie:

GloVe este o metodă de reprezentare a cuvintelor ca vectori, construită pe baza analizei co apariției cuvintelor în întreg corpusul.

  • Modelează relațiile dintre cuvinte prin măsurarea frecvenței cu care acestea apar împreună în diferite contexte.

The food was the best.

window-size=1

Cuvant

the

food

was

best

the

0

1

1

1

food

1

0

1

0

was

1

1

0

0

best

1

0

0

0

Valorile arată cât de des apar împreună două cuvinte într-o fereastră de context (window-size=1)

16 of 17

Ce este FastText?

Definitie:

Exemplu:

FastText este o “extensie” a Word2Vec, care ia în considerare structura internă a cuvintelor prin utilizarea subcuvintelor (n-grame) pentru reprezentarea vectorială.

“Succes” , n=3

<su, suc , ucc, cce, ces, es>

Înțelegere mai bună a cuvintelor rare sau necunoscute.

Antrenat pe 157 de limbi, folosind Wikipedia si Crawl.

Model folosit pentru identificarea limbii.

17 of 17

Coding Time!