CommencerCommencer gratuitement

NER avec NLTK

Vous allez maintenant vous amuser avec la reconnaissance d’entités nommées ! Un article d’actualité extrait du Web a été préchargé dans votre espace de travail. Votre objectif est d’utiliser nltk pour trouver les entités nommées dans cet article.

De quoi l’article pourrait-il parler, au vu des noms que vous avez trouvés ?

Avec nltk, sent_tokenize et word_tokenize de nltk.tokenize ont déjà été importés.

Cet exercice fait partie du cours

Introduction au Natural Language Processing (NLP) en Python

Afficher le cours

Instructions

  • Segmentez article en phrases.
  • Tokenisez chaque phrase de sentences en mots à l’aide d’une compréhension de liste.
  • Dans une compréhension de liste, étiquetez chaque phrase tokenisée en parties du discours avec nltk.pos_tag().
  • Regroupez chaque phrase étiquetée en blocs d’entités nommées avec nltk.ne_chunk_sents(). En plus de pos_sentences, indiquez l’argument nommé supplémentaire binary=True.
  • Parcourez chaque phrase et chaque bloc, et testez s’il s’agit d’un bloc d’entité nommée en vérifiant s’il possède l’attribut label, et si chunk.label() est égal à "NE". Le cas échéant, affichez ce bloc.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Tokenize the article into sentences: sentences
sentences = ____

# Tokenize each sentence into words: token_sentences
token_sentences = [____ for sent in ____]

# Tag each tokenized sentence into parts of speech: pos_sentences
pos_sentences = [____ for sent in ____] 

# Create the named entity chunks: chunked_sentences
chunked_sentences = ____

# Test for stems of the tree with 'NE' tags
for sent in chunked_sentences:
    for chunk in sent:
        if hasattr(chunk, "label") and ____ == "____":
            print(chunk)
Modifier et exécuter le code