Classification de jetons

Natural Language Processing (NLP) en Python

Fouad Trad

Machine Learning Engineer

Classification de texte vs de jetons

Classification de texte

  • Classe des phrases entières ou des paires de textes

Image montrant les tâches de classification de texte et QNLI, déjà vues dans les vidéos précédentes.

Natural Language Processing (NLP) en Python

Classification de texte vs de jetons

Classification de texte

  • Classe des phrases entières ou des paires de textes

Image montrant les tâches de classification de texte et QNLI, déjà vues dans les vidéos précédentes.

Classification de jetons

  • Assigne des étiquettes aux jetons dans une phrase

Image montrant une phrase découpée en mots, chacun d'une couleur différente représentant une classe.

  • Reconnaissance d'entités nommées (NER)
  • Étiquetage des parties du discours (PoS)
Natural Language Processing (NLP) en Python

Reconnaissance d'entités nommées (NER)

  • Repère des entités comme des noms, des lieux, des organisations, des dates, etc.

Image montrant l'analyse NER de la phrase « Apple opened a new office in Toronto in March 2023 », où Apple est reconnue comme organisation, Toronto comme lieu et March 2023 comme date.

  • Utile pour :
    • Recherche d'information
    • Réponse à des questions
Natural Language Processing (NLP) en Python

NER en code

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) en Python

Étiquetage des parties du discours (PoS)

  • Attribue des rôles grammaticaux (nom, verbe, adjectif) à chaque mot

Image montrant les étiquettes PoS pour la phrase « The quick fox jumps over the lazy dog », où « the » est un déterminant, « quick » et « lazy » sont des adjectifs, « fox » et « dogs » sont des noms, « jumps » est un verbe et « over » est une préposition.

  • Utile pour :
    • Analyse syntaxique
    • Correction grammaticale
    • Génération de texte
Natural Language Processing (NLP) en Python

Étiquetage PoS en code

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) en Python

Passons à la pratique !

Natural Language Processing (NLP) en Python

Preparing Video For Download...