web-dev-qa-db-fra.com

Tokenize un paragraphe en phrase puis en mots en NLTK

J'essaie de saisir un paragraphe entier dans mon traitement de texte pour le scinder en phrases, puis en mots.

J'ai essayé le code suivant mais ça ne marche pas,

    #text is the paragraph input
    sent_text = sent_tokenize(text)
    tokenized_text = Word_tokenize(sent_text.split)
    tagged = nltk.pos_tag(tokenized_text)
    print(tagged)

cependant, cela ne fonctionne pas et me donne des erreurs. Alors, comment puis-je tokeniser les paragraphes en phrases, puis en mots?

Un exemple de paragraphe:

Cette chose sembla étouffer et étonner le petit chien brun foncé et le blessa au cœur. Il tomba désespéré aux pieds de l'enfant. se retournant sur le dos et tenant ses pattes d’une manière particulière, il offrit en même temps une petite prière à ses enfants et ses yeux.

** AVERTISSEMENT: ** Ceci est juste un texte aléatoire d'Internet, je ne possède pas le contenu ci-dessus.

29

Vous avez probablement eu l'intention de faire une boucle sur sent_text:

import nltk

sent_text = nltk.sent_tokenize(text) # this gives us a list of sentences
# now loop over each sentence and tokenize it separately
for sentence in sent_text:
    tokenized_text = nltk.Word_tokenize(sentence)
    tagged = nltk.pos_tag(tokenized_text)
    print(tagged)
33
slider

Voici une version plus courte. Cela vous donnera une structure de données avec chaque phrase et chaque jeton dans la phrase. Je préfère le TweetTokenizer pour le langage désordonné du monde réel. Le tokenizer de phrase est considéré comme correct, mais veillez à ne pas abaisser votre cas Word avant cette étape, car cela pourrait avoir une incidence sur la précision de la détection des limites d'un texte en désordre.

from nltk.tokenize import TweetTokenizer, sent_tokenize

tokenizer_words = TweetTokenizer()
tokens_sentences = [tokenizer_words.tokenize(t) for t in 
nltk.sent_tokenize(input_text)]
print(tokens_sentences)

Voici à quoi ressemble la sortie, que j'ai nettoyée pour que la structure se démarque:

[
['This', 'thing', 'seemed', 'to', 'overpower', 'and', 'astonish', 'the', 'little', 'dark-brown', 'dog', ',', 'and', 'wounded', 'him', 'to', 'the', 'heart', '.'], 
['He', 'sank', 'down', 'in', 'despair', 'at', 'the', "child's", 'feet', '.'], 
['When', 'the', 'blow', 'was', 'repeated', ',', 'together', 'with', 'an', 'admonition', 'in', 'childish', 'sentences', ',', 'he', 'turned', 'over', 'upon', 'his', 'back', ',', 'and', 'held', 'his', 'paws', 'in', 'a', 'peculiar', 'manner', '.'], 
['At', 'the', 'same', 'time', 'with', 'his', 'ears', 'and', 'his', 'eyes', 'he', 'offered', 'a', 'small', 'prayer', 'to', 'the', 'child', '.']
]
6
Brian Cugelman