Clasificarea token-urilor

Procesarea Limbajului Natural (NLP) în Python

Fouad Trad

Machine Learning Engineer

Clasificarea textului vs. a token-urilor

Clasificarea textului

  • Clasifică propoziții întregi sau perechi de texte

Imagine care arată sarcinile de clasificare a textului și QNLI, prezentate în videoclipurile anterioare.

Procesarea Limbajului Natural (NLP) în Python

Clasificarea textului vs. a token-urilor

Clasificarea textului

  • Clasifică propoziții întregi sau perechi de texte

Imagine care arată sarcinile de clasificare a textului și QNLI, prezentate în videoclipurile anterioare.

Clasificarea token-urilor

  • Atribuie etichete token-urilor dintr-o propoziție

Imagine care arată o propoziție împărțită pe cuvinte, fiecare având o culoare diferită, reprezentând o clasă diferită.

  • Recunoașterea entităților numite (NER)
  • Etichetarea părților de vorbire (PoS)
Procesarea Limbajului Natural (NLP) în Python

Recunoașterea entităților numite (NER)

  • Identifică entități precum nume, locații, organizații, date și altele

Imagine care arată analiza NER a propoziției „Apple opened a new office in Toronto in March 2023", unde Apple este recunoscută ca organizație, Toronto ca locație, iar March 2023 ca dată.

  • Util în:
    • Recuperarea informațiilor
    • Răspuns la întrebări
Procesarea Limbajului Natural (NLP) în Python

NER în cod

from transformers import pipeline

ner_pipeline = pipeline(task="ner",
model="dslim/bert-base-NER",
grouped_entities=True)
ner_results = ner_pipeline("Zara Venn established NovaCore Dynamics in London.")
print(ner_results)
[{'entity_group': 'PER', 'score': np.float32(0.99840075), 'word': 'Zara Venn', 'start': 0, 'end': 9}, 
 {'entity_group': 'ORG', 'score': np.float32(0.99875560), 'word': 'NovaCore Dynamics', 'start': 21, 'end': 38}, 
 {'entity_group': 'LOC', 'score': np.float32(0.99960726), 'word': 'London', 'start': 42, 'end': 48}]
Procesarea Limbajului Natural (NLP) în Python

Etichetarea părților de vorbire (PoS)

  • Atribuie roluri gramaticale (substantiv, verb, adjectiv) fiecărui cuvânt

Imagine care arată etichetele PoS pentru propoziția „The quick fox jumps over the lazy dog", unde „the" este articol, „quick" și „lazy" sunt adjective, „fox" și „dogs" sunt substantive, „jumps" este verb, iar „over" este prepoziție.

  • Util în:
    • Analiza sintactică
    • Corectarea gramaticală
    • Generarea de text
Procesarea Limbajului Natural (NLP) în Python

Etichetare PoS în cod

pos_pipeline = pipeline(task="token-classification",

model="vblagoje/bert-english-uncased-finetuned-pos",
grouped_entities=True)
pos_results = pos_pipeline("Zara Venn established NovaCore Dynamics in London.") print(pos_results)
[{'entity_group': 'PROPN', 'score': np.float32(0.9982983), 'word': 'zara venn', 'start': 0, 'end': 9},  
 {'entity_group': 'VERB', 'score': np.float32(0.99940944), 'word': 'established', 'start': 10, 'end': 21},  
 {'entity_group': 'PROPN', 'score': np.float32(0.99455726), 'word': 'novacore dynamics', 'start': 22, 'end': 39},  
 {'entity_group': 'ADP', 'score': np.float32(0.99935526), 'word': 'in', 'start': 40, 'end': 42},  
 {'entity_group': 'PROPN', 'score': np.float32(0.99847955), 'word': 'london', 'start': 43, 'end': 49}]
Procesarea Limbajului Natural (NLP) în Python

Să exersăm!

Procesarea Limbajului Natural (NLP) în Python

Preparing Video For Download...