Guía definitiva para la limpieza de textos para PNL antes del aprendizaje automático

Lea una guía definitiva para preparar materiales para el aprendizaje automático de tipos de datos de cadenas. O llamamos limpieza de texto para PNL antes de implementar el aprendizaje automático.

En este artículo, analizaré una guía definitiva para preparar materiales para el aprendizaje automático de tipos de datos de cadenas. O llamamos limpieza de texto para PNL antes de implementar el aprendizaje automático. Al final de este artículo, podrá comenzar a usar Python para limpiar datos de cadenas en su proyecto.

Tabla de contenido: Guía definitiva para la limpieza de textos para PNL en la preparación del aprendizaje automático

¿Qué es la limpieza de texto para PNL en aprendizaje automático?

La limpieza de texto es el proceso de preparar texto sin formato para PNL (procesamiento del lenguaje natural) para que las máquinas puedan comprender el lenguaje humano de forma sencilla y clara. Básicamente incluye tres partes principales sobre cualquier proyecto que vayas a realizar.

  • Texto Limpieza y eliminación de impurezas
  • Tokenización y grupo por semántica
  • Estructura de datos de características y destino

Normalización de casos

Diferentes mayúsculas entre diferentes palabras, o las mismas palabras pueden confundir a la computadora para comprender su contenido y semántica. Primero lo primero, aquí está el ejemplo de código para establecer una capitalización estándar para todas las palabras.

abc = content.lower()

Eliminar caracteres Unicode

Hay bastantes caracteres Unicode, como emoji, URL, direcciones de correo electrónico, etc. en el contenido. De hecho, estos caracteres deben manejarse bien, de lo contrario también pueden confundir a las computadoras. A continuación se muestran dos ejemplos de código de expresión regular para manejar todas las URL y direcciones de correo electrónico.

URL:

content = re.sub(r"(@\[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)|^rt|http.+?", "", content)

Correos electrónicos:

content = re.sub(r"([A-z0-9._%+-]+@[A-z0-9.-]+\.[Az]{2,4}

", "", content)

Tokenizar todo el contenido como un valor individual en una lista

Después de haber eliminado todos los caracteres Unicode innecesarios, debemos crear una lista a partir del contenido tokenizándolo.

Aquí hay un ejemplo usando Python.

word_tokens = word_tokenize ( content )

Manejar palabras vacías

En el lenguaje, hay muchas palabras que no pueden agregar valor al significado y la mayoría de ellas son una especie de gramática del lenguaje. Entonces, manejar palabras vacías es la tarea de reducir aún más la confusión en las computadoras al reducir este tipo de palabras.

Aquí está el ejemplo usando NLTK, que es uno de los paquetes más populares en Python.

   nltk . download ( 'stopwords' )

   nltk . download ( 'punkt' )

   nltk . download ( 'wordnet' )

   nltk . data . path . append ( 'nltk_data/corpora/stopwords' )

   nltk . data . path . append ( 'nltk_data/tokenizers/punkt' )

   nltk . data . path . append ( 'nltk_data/corpora/wordnet' )

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

Si está interesado en utilizar las funciones de creación de NLTK y la aplicación implementada en la nube, pero es posible que no esté seguro de cómo implementar la fuente de datos NLTK, suscríbase al siguiente formato al final de este artículo.

Por último, pero no menos importante, podemos escribir un código para eliminar todas las palabras vacías de la lista que acabamos de tokenizar anteriormente. Y en la lista, solo quedan los mensajes y el contenido de valor central.

Lematización

En el lenguaje humano, tiene tiempo pasado, presente y futuro. Además, tiene un ángulo de primera, segunda y tercera persona para expresar el significado. Entonces, la lematización es un método para manejar esto con el fin de eliminar palabras innecesarias o errores tipográficos.

   lemmatizer = WordNetLemmatizer ()

   for lemmatizedContent in content :

       lemmatizer . lemmatize ( lemmatizedContent )

Etiquetado de POS para procesamiento semántico

Para tabular los totales de POS de grandes cantidades de contenido, tenemos que etiquetar y agrupar las palabras que se basan en un propósito semántico. En el lenguaje humano tenemos diferentes tipos de palabras, como sustantivos, verbos, adjetivos, adverbios, etc. Además, puede ser la misma palabra con variaciones en un discurso.

Por lo tanto, necesitamos etiquetas POS para diferenciar la semántica y el propósito del habla. Corresponde a las máquinas entender este propósito para no confundirlo.

Preprocesamiento de datos usando Pandas, Numpy y Scikit Learn

Para obtener más detalles sobre este tema, consulte el artículo que publiqué anteriormente.

Consejos para el preprocesamiento de datos con Python y Scikit Learn

Scripts Python completos de limpieza de texto para PNL en aprendizaje automático (incluye cómo manejar archivos de datos NLTK en una aplicación web o DApp o funciones implementadas en la nube)

Si está interesado en scripts completos de Python de limpieza de texto para PNL en preparación para el aprendizaje automático, suscríbase a nuestro boletín agregando el mensaje 'NLP Text Clean + Implementación de datos NLTK + Scripts completos y token gratuito de API de extracción . Le enviaremos el script cuando el script de la aplicación actualizado esté disponible.

Espero que disfrutes leyendo la Guía definitiva para la limpieza de textos para PNL en la preparación del aprendizaje automático. Si lo hizo, apóyenos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.