Tokenklassificering

Natural Language Processing (NLP) i Python

Fouad Trad

Machine Learning Engineer

Text- kontra tokenklassificering

Textklassificering

  • Klassificerar hela meningar eller textpar

Bild som visar uppgifterna för textklassificering och QNLI, visade i tidigare videoklipp.

Natural Language Processing (NLP) i Python

Text- kontra tokenklassificering

Textklassificering

  • Klassificerar hela meningar eller textpar

Bild som visar uppgifterna för textklassificering och QNLI, visade i tidigare videoklipp.

Tokenklassificering

  • Tilldelar etiketter till token i en mening

Bild som visar en mening uppdelad ord för ord, där varje ord har en annan färg som representerar en annan klass.

  • Igenkänning av namngivna entiteter (NER)
  • Ordklasstaggning (PoS)
Natural Language Processing (NLP) i Python

Igenkänning av namngivna entiteter (NER)

  • Identifierar entiteter som namn, platser, organisationer, datum med mera

Bild som visar NER-analys av meningen "Apple opened a new office in Toronto in March 2023", där Apple identifieras som organisation, Toronto som plats och March 2023 som datum.

  • Användbart inom:
    • Informationssökning
    • Frågesvar
Natural Language Processing (NLP) i Python

NER i kod

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}]
Natural Language Processing (NLP) i Python

Ordklasstaggning (PoS)

  • Tilldelar grammatiska roller (substantiv, verb, adjektiv) till varje ord

Bild som visar PoS-taggarna för meningen "The quick fox jumps over the lazy dog", där "the" är en artikel, "quick" och "lazy" är adjektiv, "fox" och "dog" är substantiv, "jumps" är ett verb och "over" är en preposition.

  • Användbart inom:
    • Syntaktisk parsning
    • Grammatikkorrigering
    • Textgenerering
Natural Language Processing (NLP) i Python

PoS-taggning i kod

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}]
Natural Language Processing (NLP) i Python

Nu kör vi en övning!

Natural Language Processing (NLP) i Python

Preparing Video For Download...