Klasyfikacja tokenów

Przetwarzanie języka naturalnego (NLP) w Pythonie

Fouad Trad

Machine Learning Engineer

Klasyfikacja tekstu a klasyfikacja tokenów

Klasyfikacja tekstu

  • Klasyfikuje całe zdania lub pary tekstów

Obraz przedstawiający zadania klasyfikacji tekstu i QNLI, omówione w poprzednich filmach.

Przetwarzanie języka naturalnego (NLP) w Pythonie

Klasyfikacja tekstu a klasyfikacja tokenów

Klasyfikacja tekstu

  • Klasyfikuje całe zdania lub pary tekstów

Obraz przedstawiający zadania klasyfikacji tekstu i QNLI, omówione w poprzednich filmach.

Klasyfikacja tokenów

  • Przypisuje etykiety do tokenów w zdaniu

Obraz przedstawiający zdanie podzielone na słowa, każde w innym kolorze reprezentującym inną klasę.

  • Rozpoznawanie nazwanych jednostek (NER)
  • Tagowanie części mowy (PoS)
Przetwarzanie języka naturalnego (NLP) w Pythonie

Rozpoznawanie nazwanych jednostek (NER)

  • Identyfikuje jednostki: nazwy, lokalizacje, organizacje, daty i inne

Obraz przedstawiający analizę NER zdania "Apple opened a new office in Toronto in March 2023": Apple rozpoznany jako organizacja, Toronto jako lokalizacja, March 2023 jako data.

  • Zastosowanie:
    • Wyszukiwanie informacji
    • Odpowiadanie na pytania
Przetwarzanie języka naturalnego (NLP) w Pythonie

NER w kodzie

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}]
Przetwarzanie języka naturalnego (NLP) w Pythonie

Tagowanie części mowy (PoS)

  • Przypisuje role gramatyczne (rzeczownik, czasownik, przymiotnik) do każdego słowa

Obraz przedstawiający tagi PoS dla zdania "The quick fox jumps over the lazy dog": "the" to określnik, "quick" i "lazy" to przymiotniki, "fox" i "dogs" to rzeczowniki, "jumps" to czasownik, a "over" to przyimek.

  • Zastosowanie:
    • Analiza składniowa
    • Korekta gramatyczna
    • Generowanie tekstu
Przetwarzanie języka naturalnego (NLP) w Pythonie

Tagowanie PoS w kodzie

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}]
Przetwarzanie języka naturalnego (NLP) w Pythonie

Czas na ćwiczenia!

Przetwarzanie języka naturalnego (NLP) w Pythonie

Preparing Video For Download...