Dividir oración en palabras en Python
-
Dividir la oración en palabras con la función
str.split()
en Python - Dividir oraciones en palabras con comprensiones de listas en Python
-
Dividir oraciones en palabras con la biblioteca
nltk
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.
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