Dividir oración en palabras en Python

Muhammad Maisam Abbas 30 enero 2023
  1. Dividir la oración en palabras con la función str.split() en Python
  2. Dividir oraciones en palabras con comprensiones de listas en Python
  3. Dividir oraciones en palabras con la biblioteca nltk en Python
Dividir oración en palabras en Python

Este tutorial discutirá los métodos para dividir una oración en una lista de palabras en Python.

Dividir la oración en palabras con la función str.split() en Python

La función str.split() en Python toma un separador como parámetro de entrada y divide la cadena de llamada en varias cadenas según el separador. Si no especificamos ningún separador, la función str.split() divide la cadena sobre la base de espacios vacíos. El siguiente fragmento de código nos muestra cómo dividir una oración en una lista de palabras con la función str.split().

sentence = "This is a sentence"
words = sentence.split()
print(words)

Producción :

['This', 'is', 'a', 'sentence']

Declaramos una variable de cadena sentence que contiene algunos datos. Luego dividimos la variable sentence en una lista de cadenas con la función sentence.split() y almacenamos los resultados en la lista words. La función str.split() es la forma más fácil de convertir una oración en una lista de palabras en Python.

Dividir oraciones en palabras con comprensiones de listas en Python

También podemos usar listas por comprensión para dividir una oración en una lista de palabras. Sin embargo, este enfoque no es tan sencillo como la función str.split(). La ventaja de utilizar listas por comprensión es que también podemos realizar algunas operaciones sobre las palabras obtenidas. Las operaciones pueden ir desde agregar algo a cada palabra o eliminar algo de cada palabra. El siguiente fragmento de código nos muestra cómo dividir una oración en palabras con listas por comprensión y la función str.split().

sentence = "This is a sentence"
words = [word for word in sentence.split()]
print(words)

Producción :

['This', 'is', 'a', 'sentence']

Declaramos una variable de cadena sentence que contiene algunos datos. Luego dividimos la variable sentence en una lista de cadenas con comprensión de lista y almacenamos los resultados en la lista words. Este método es útil para modificar cada palabra obtenida antes de almacenar la palabra en la lista words.

Dividir oraciones en palabras con la biblioteca nltk en Python

El nltk o la biblioteca del kit de herramientas de lenguaje natural se utiliza para el procesamiento de texto en Python. Tenemos que instalarlo antes de usarlo porque es una biblioteca externa. El comando para instalar el kit de herramientas de lenguaje natural se proporciona a continuación.

pip install nltk

Una vez instalado, tenemos que descargar el paquete punkt utilizando la función nltk.download(). Este fenómeno se ilustra en el siguiente fragmento de código.

import nltk

nltk.download("punkt")

Producción :

[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data]   Unzipping tokenizers/punkt.zip.

La función word_tokenize() dentro de la biblioteca nltk se puede utilizar para resolver nuestro problema específico. Esta función toma una cadena como parámetro de entrada y la divide en varias subcadenas. El siguiente fragmento de código nos muestra cómo dividir una oración en una lista de palabras con la función nltk.word_tokenize().

sentence = "This is a sentence"
words = nltk.word_tokenize(sentence)
print(words)

Producción :

['This', 'is', 'a', 'sentence']

Dividimos nuestra cadena de sentence en una lista de palabras con la función nltk.word_tokenize(sentence) y almacenamos los resultados en la lista words. Al final, mostramos los elementos dentro de la lista words.

El método str.split() es la forma más sencilla de resolver este problema específico, pero no hay mucho que podamos hacer con la función split() una vez que tenemos la lista de palabras. Los otros dos métodos son útiles cuando queremos realizar alguna manipulación adicional en las palabras obtenidas.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Python String