Natural Language
PROCESSING
Nitro AI Workshop 26.01.2025
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
NLP
PIPELINE
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
ETAPE NLP PIPELINE
Reprezentarea textului
03.
Feature extraction
04.
Analiza si procesare avansata
05.
One-hot encoding
Bag-Of-Words
TF-IDF
Word embeddings
One-hot encoding
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, 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] |
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
BAG- OF-WORDS
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 |
WORD EMBEDDINGS
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
Word2Vec
GloVe
FastText
Reprezentarea cuvintelor bazată pe context
Construit pe baza co-apariției cuvintelor
Adaugă informații despre caractere și morfologie
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.
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.
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)
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.
Coding Time!