in

Eliminar palabras vacías con NLTK en Python

gfg 200x200 min

El proceso de convertir datos en algo que una computadora pueda entender se conoce como preprocesamiento. Una de las principales formas de preprocesamiento es filtrar los datos inútiles. En el procesamiento del lenguaje natural, las palabras inútiles (datos) se denominan palabras vacías.

¿Qué son las palabras vacías?

Para las palabras: Una palabra de parada es una palabra de uso común (como «el», «a», «una», «en») que un motor de búsqueda ha sido programado para ignorar, tanto al indexar entradas para la búsqueda como al recuperarlas como resultado. de una consulta de búsqueda.
No queremos que estas palabras ocupen espacio en nuestra base de datos o que ocupen un valioso tiempo de procesamiento. Para ello, podemos eliminarlos fácilmente, almacenando una lista de palabras que consideres que son palabras vacías. NLTK (Kit de herramientas de lenguaje natural) en Python tiene una lista de palabras vacías almacenadas en 16 idiomas diferentes. Puede encontrarlos en el directorio nltk_data. inicio / pratima / nltk_data / corpora / palabras vacías es la dirección del directorio (no olvide cambiar el nombre de su directorio de inicio)

Detener la eliminación de palabras usando NLTK

Para verificar la lista de palabras vacías, puede escribir los siguientes comandos en el shell de Python.

import nltk
from nltk.corpus import stopwords
print(stopwords.words('english'))

{‘nosotros’, ‘ella’, ‘entre’, ‘usted mismo’, ‘pero’, ‘otra vez’, ‘allí’, ‘sobre’, ‘una vez’, ‘durante’, ‘fuera’, ‘muy’, ‘ tener ‘,’ con ‘,’ ellos ‘,’ poseer ‘,’ an ‘,’ ser ‘,’ algunos ‘,’ para ‘,’ hacer ‘,’ su ‘,’ tuyo ‘,’ tal ‘,’ en ‘ , ‘de’, ‘la mayoría’, ‘sí mismo’, ‘otro’, ‘apagado’, ‘es’, ‘s’, ‘soy’, ‘o’, ‘quién’, ‘como’, ‘de’, ‘ él ‘,’ cada ‘,’ el ‘,’ ellos mismos ‘,’ hasta ‘,’ debajo ‘,’ son ‘,’ nosotros ‘,’ estos ‘,’ tu ‘,’ su ‘,’ a través de ‘,’ don ‘ , ‘ni’, ‘yo’, ‘eran’, ‘ella’, ‘más’, ‘él mismo’, ‘esto’, ‘abajo’, ‘debería’, ‘nuestro’, ‘su’, ‘mientras’, ‘ arriba ‘,’ ambos ‘,’ arriba ‘,’ a ‘,’ nuestro ‘,’ tenía ‘,’ ella ‘,’ todos ‘,’ no ‘,’ cuando ‘,’ en ‘,’ cualquiera ‘,’ antes ‘ , ‘ellos’, ‘mismo’, ‘y’, ‘estado’, ‘tienen’, ‘en’, ‘voluntad’, ‘en’, ‘hace’, ‘ustedes mismos’, ‘entonces’, ‘eso’, ‘ porque ‘,’ qué ‘,’ más ‘,’ por qué ‘,’ entonces ‘,’ puedo ‘,’ hizo ‘,’ no ‘,’ ahora ‘,’ debajo ‘,’ él ‘,’ usted ‘,’ ella misma ‘ , ‘tiene’, ‘solo’, ‘dónde’, ‘también’, ‘solo’, ‘yo mismo’, ‘cuál’, ‘esos’, ‘yo’, ‘después’, ‘pocos’, ‘quién’, ‘ t ‘,’ ser ‘,’ si ‘,’ de ellos ‘,’ mi ‘,’ contra ‘,’ a ‘,’ por ‘,’ haciendo ‘,’ eso ‘,’ cómo ‘,’ más allá ‘,’ fue ‘ , ‘aquí’, ‘tha norte’}
Nota: Incluso puede modificar la lista agregando las palabras de su elección en el .txt en inglés. archivo en el directorio de palabras irrelevantes.

Eliminar palabras vacías con NLTK

El siguiente programa elimina las palabras vacías de un fragmento de texto:

Python3

from nltk.corpus import stopwords

from nltk.tokenize import word_tokenize

example_sent =

                  

stop_words = set(stopwords.words('english'))

word_tokens = word_tokenize(example_sent)

filtered_sentence = [w for w in word_tokens if not w.lower() in stop_words]

filtered_sentence = []

for w in word_tokens:

    if w not in stop_words:

        filtered_sentence.append(w)

print(word_tokens)

print(filtered_sentence)

Producción:

['This', 'is', 'a', 'sample', 'sentence', ',', 'showing', 
'off', 'the', 'stop', 'words', 'filtration', '.']
['This', 'sample', 'sentence', ',', 'showing', 'stop',
'words', 'filtration', '.']

Realización de las operaciones de palabras irrelevantes en un archivo

En el código siguiente, text.txt es el archivo de entrada original en el que se eliminarán las palabras vacías. filtertext.txt es el archivo de salida. Se puede hacer usando el siguiente código:

Python3

import io

from nltk.corpus import stopwords

from nltk.tokenize import word_tokenize

stop_words = set(stopwords.words('english'))

file1 = open("text.txt")

line = file1.read()

words = line.split()

for r in words:

    if not r in stop_words:

        appendFile = open('filteredtext.txt','a')

        appendFile.write(" "+r)

        appendFile.close()

Así es como estamos haciendo más eficiente nuestro contenido procesado al eliminar palabras que no contribuyen a ninguna operación futura.
Este artículo es una contribución de Pratima Upadhyay. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o envíe su artículo por correo electrónico a [email protected] Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Obtenga todos los conceptos importantes de aprendizaje automático con el Curso básico de aprendizaje automático a un precio asequible para los estudiantes y prepárese para la industria.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

apple touch icon@2

python: ordenar un conjunto de valores

edit

Sonograma vs Ultrasonido – Diferencia y Comparación