Klasifikace tokenů

Zpracování přirozeného jazyka (NLP) v Pythonu

Fouad Trad

Machine Learning Engineer

Klasifikace textu vs. tokenů

Klasifikace textu

  • Klasifikuje celé věty nebo dvojice textů

Obrázek zobrazující úlohy klasifikace textu a QNLI z předchozích videí.

Zpracování přirozeného jazyka (NLP) v Pythonu

Klasifikace textu vs. tokenů

Klasifikace textu

  • Klasifikuje celé věty nebo dvojice textů

Obrázek zobrazující úlohy klasifikace textu a QNLI z předchozích videí.

Klasifikace tokenů

  • Přiřazuje štítky tokenům ve větě

Obrázek zobrazující větu rozdělenou po slovech, každé v jiné barvě představující jinou třídu.

  • Rozpoznávání pojmenovaných entit (NER)
  • Označování slovních druhů (PoS)
Zpracování přirozeného jazyka (NLP) v Pythonu

Rozpoznávání pojmenovaných entit (NER)

  • Identifikuje entity jako jména, místa, organizace, data a další

Obrázek zobrazující NER analýzu věty "Apple opened a new office in Toronto in March 2023", kde Apple je rozpoznán jako organizace, Toronto jako místo a March 2023 jako datum.

  • Využití:
    • Vyhledávání informací
    • Zodpovídání otázek
Zpracování přirozeného jazyka (NLP) v Pythonu

NER v kódu

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}]
Zpracování přirozeného jazyka (NLP) v Pythonu

Označování slovních druhů (PoS)

  • Přiřazuje gramatické role (podstatné jméno, sloveso, přídavné jméno) každému slovu

Obrázek zobrazující značky PoS pro větu "The quick fox jumps over the lazy dog", kde "the" je člen, "quick" a "lazy" jsou přídavná jména, "fox" a "dogs" jsou podstatná jména, "jumps" je sloveso a "over" je předložka.

  • Využití:
    • Syntaktická analýza
    • Oprava gramatiky
    • Generování textu
Zpracování přirozeného jazyka (NLP) v Pythonu

PoS tagging v kódu

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}]
Zpracování přirozeného jazyka (NLP) v Pythonu

Pojďme si procvičit!

Zpracování přirozeného jazyka (NLP) v Pythonu

Preparing Video For Download...