CommencerCommencer gratuitement

NER avec NLTK

Vous allez maintenant pouvoir vous amuser avec la reconnaissance des entités nommées ! Un article de presse a été préchargé dans votre espace de travail. Votre tâche consiste à utiliser nltk pour trouver les entités nommées dans cet article.

Quel pourrait être le sujet de l'article, compte tenu des noms que vous avez trouvés ?

En plus de nltk, sent_tokenize et word_tokenize de nltk.tokenize ont été préimportés.

Cet exercice fait partie du cours

Introduction au traitement du langage naturel en Python

Afficher le cours

Instructions

  • Tokeniser article en phrases.
  • Réduisez chaque phrase du site sentences en mots à l'aide d'une liste de compréhension.
  • A l'intérieur d'une liste de compréhension, marquez chaque phrase tokenisée en parties du discours à l'aide de nltk.pos_tag().
  • Décomposer chaque phrase étiquetée en morceaux d'entités nommées à l'aide de nltk.ne_chunk_sents(). Avec pos_sentences, spécifiez le mot-clé supplémentaire binary=True.
  • Passez en revue chaque phrase et chaque bloc et vérifiez s'il s'agit d'un bloc d'entité nommée en testant s'il possède l'attribut label, et si chunk.label() est égal à "NE". Si c'est le cas, imprimez ce morceau.

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