tokenizer - tokenizar en python
Tokenize un párrafo en oración y luego en palabras en NLTK (2)
Aquí hay una versión más corta. Esto le dará una estructura de datos con cada oración individual y cada token dentro de la oración. Prefiero el TweetTokenizer para el lenguaje del mundo real y desordenado. El tokenizador de oraciones se considera decente, pero tenga cuidado de no reducir su caso de palabra hasta después de este paso, ya que puede afectar la precisión de la detección de los límites del texto desordenado.
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)
Así es como se ve la salida, que limpié para que la estructura se destaque:
[
[''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'', ''.'']
]
Estoy tratando de ingresar un párrafo completo en mi procesador de textos para dividirlo primero en oraciones y luego en palabras.
Probé el siguiente código pero no funciona,
#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)
Sin embargo esto no funciona y me da errores. Entonces, ¿cómo tokenizar párrafos en oraciones y luego palabras?
Un párrafo de ejemplo:
Esta cosa parecía dominar y asombrar al perrito marrón oscuro, y lo hirió en el corazón. Se hundió en la desesperación a los pies del niño. Cuando se repitió el golpe, junto con una advertencia en oraciones infantiles, se volvió de espaldas y sostuvo sus patas de una manera peculiar. Al mismo tiempo, con sus orejas y sus ojos, ofreció una pequeña oración al niño.
** ADVERTENCIA: ** Este es solo un texto aleatorio de Internet, no soy el propietario del contenido anterior.
Probablemente sent_text
hacer un bucle sobre 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)