Este artículo fue publicado como parte del Blogatón de ciencia de datos
w
- Este artículo le dará una comprensión básica de cómo funciona el análisis de texto.
- Conozca los distintos pasos del proceso de PNL
- Derivación del sentimiento general del texto.
- Tablero que muestra las estadísticas generales y el análisis de sentimientos del texto.
Abstracto
En esta era digital moderna, se genera una gran cantidad de información por segundo. La mayoría de los datos que los humanos generan a través de mensajes, tweets, blogs, artículos de noticias, recomendaciones de productos y reseñas de WhatsApp no están estructurados. Entonces, para obtener información útil de estos datos altamente desestructurados, primero debemos convertirlos en forma estructurada y normalizada.
El procesamiento del lenguaje natural (PNL) es una clase de inteligencia artificial que realiza una serie de procesos sobre estos datos no estructurados para obtener información significativa. El procesamiento del lenguaje es de naturaleza completamente no determinista porque el mismo lenguaje puede tener diferentes interpretaciones. Se vuelve tedioso porque algo adecuado para una persona no es adecuado para otra. Además, el uso de lenguaje coloquial, acrónimos, hashtags con palabras adjuntas, emoticonos posee una sobrecarga para su preprocesamiento.
Si le interesa el poder de la analíticaLa analítica se refiere al proceso de recopilar, medir y analizar datos para obtener información valiosa que facilite la toma de decisiones. En diversos campos, como los negocios, la salud y el deporte, la analítica permite identificar patrones y tendencias, optimizar procesos y mejorar resultados. El uso de herramientas avanzadas y técnicas estadísticas es fundamental para transformar datos en conocimiento aplicable y estratégico.... de redes sociales, este artículo es el punto de partida para usted. Este artículo cubre los conceptos básicos de análisis de texto y le proporciona un tutorial paso a paso para realizar el procesamiento del lenguaje natural sin el requisito de ningún conjunto de datos de entrenamientoEl entrenamiento es un proceso sistemático diseñado para mejorar habilidades, conocimientos o capacidades físicas. Se aplica en diversas áreas, como el deporte, la educación y el desarrollo profesional. Un programa de entrenamiento efectivo incluye la planificación de objetivos, la práctica regular y la evaluación del progreso. La adaptación a las necesidades individuales y la motivación son factores clave para lograr resultados exitosos y sostenibles en cualquier disciplina.....
Introducción a la PNL
El procesamiento del lenguaje natural es el subcampo de la inteligencia artificial que comprende procesos sistemáticos para convertir datos no estructurados en información significativa y extraer conocimientos útiles de los mismos. La PNL se clasifica además en dos categorías amplias: PNL basada en reglas y PNL estadístico. La PNL basada en reglas utiliza un razonamiento básico para procesar tareas, por lo que se requiere un esfuerzo manual sin mucho entrenamiento del conjunto de datos. La PNL estadística, por otro lado, entrena una gran cantidad de datos y obtiene información a partir de ellos. Utiliza algoritmos de aprendizaje automático para entrenar el mismo. En este artículo, aprenderemos la PNL basada en reglas.
Aplicaciones de la PNL:
- Resumen de texto
- Máquina traductora
- Sistemas de preguntas y respuestas
- Revisiones ortográficas
- Autocompletar
- Análisis de los sentimientos
- Reconocimiento de voz
- SegmentaciónLa segmentación es una técnica clave en marketing que consiste en dividir un mercado amplio en grupos más pequeños y homogéneos. Esta práctica permite a las empresas adaptar sus estrategias y mensajes a las características específicas de cada segmento, mejorando así la eficacia de sus campañas. La segmentación puede basarse en criterios demográficos, psicográficos, geográficos o conductuales, facilitando una comunicación más relevante y personalizada con el público objetivo.... de temas
Canalización de PNL:
La canalización de PNL se divide en cinco subtareas:
1. Análisis léxico: El análisis léxico es el proceso de analizar la estructura de palabras y frases presentes en el texto. El léxico se define como el fragmento identificable más pequeño del texto. Podría ser una palabra, frase, etc. Implica identificar y dividir todo el texto en oraciones, párrafos y palabras.
2. Análisis sintáctico: El análisis sintáctico es el proceso de ordenar las palabras de una manera que muestre la relación entre las palabras. Implica analizarlos en busca de patrones gramaticales. Por ejemplo, la oración «La universidad va para la niña». es rechazado por el analizador sintáctico.
3. Análisis semántico: El análisis semántico es el proceso de analizar el texto para determinar su significado. Considera estructuras sintácticas para mapear los objetos en el dominio de la tarea. Por ejemplo, la frase «Quiere comer helado caliente» es rechazada por el analizador semántico.
4. Integración de divulgación: La integración de la divulgación es el proceso de estudiar el contexto del texto. Las oraciones están organizadas en un orden significativo para formar un párrafo, lo que significa que la oración antes de una oración en particular es necesaria para comprender el significado general. Además, la oración que sigue a la oración depende de la anterior.
5. Análisis pragmático: El análisis pragmático se define como el proceso de reconfirmar que lo que el texto realmente significaba es lo mismo que lo derivado.
Leyendo el archivo de texto:
filename = "C:UsersDellDesktopexample.txt" text = open(filename, "r").read()
Imprimir el texto:
print(text)
Instalación de la biblioteca para PNL:
Usaremos la biblioteca spaCy para este tutorial. espacio es una biblioteca de software de código abierto para PNL avanzada escrita en los lenguajes de programación Python y Cython. La biblioteca se publica bajo una licencia del MIT. A diferencia de NLTK, que se usa ampliamente para la enseñanza y la investigación, spaCy se enfoca en proporcionar software para uso en producción. spaCy también admite flujos de trabajo de aprendizaje profundoEl aprendizaje profundo, una subdisciplina de la inteligencia artificial, se basa en redes neuronales artificiales para analizar y procesar grandes volúmenes de datos. Esta técnica permite a las máquinas aprender patrones y realizar tareas complejas, como el reconocimiento de voz y la visión por computadora. Su capacidad para mejorar continuamente a medida que se le proporcionan más datos la convierte en una herramienta clave en diversas industrias, desde la salud... que permiten conectar modelos estadísticos entrenados por bibliotecas de aprendizaje automático populares como TensorFlow, Pytorch a través de su propia biblioteca de aprendizaje automático Thinc.[Wikipedia]
pip install -U pip setuptools wheel pip install -U spacy
Ya que estamos tratando con el idioma inglés. Entonces necesitamos instalar el en_core_web_sm paquete para ello.
python -m spacy download en_core_web_sm
Verificando que la descarga fue exitosa e importando el paquete spacy:
import spacy nlp = spacy.load('en_core_web_sm')
Después de la creación exitosa del objeto NLP, podemos pasar al preprocesamiento.
Tokenización:
La tokenización es el proceso de convertir todo el texto en una serie de palabras conocidas como tokens. Este es el primer paso en cualquier proceso de PNL. Divide todo el texto en unidades significativas.
text_doc = nlp(text) print ([token.text for token in text_doc])
Como podemos observar en los tokens, hay muchos espacios en blanco, comas, palabras vacías que no sirven de nada desde una perspectiva de análisis.
Identificación de la oración
Identificar las oraciones del texto es útil cuando queremos configurar partes significativas del texto que ocurren juntas. Por eso es útil encontrar frases.
about_doc = nlp(about_text) sentences = list(about_doc.sents)
Eliminación de palabras irrelevantes
Las palabras vacías se definen como palabras que aparecen con frecuencia en el lenguaje. No tienen ningún papel significativo en el análisis de texto y obstaculizan el análisis de distribución de frecuenciasLa distribución de frecuencias es una herramienta estadística que organiza y resume datos en intervalos o categorías, facilitando su análisis. Permite visualizar la frecuencia con la que ocurren diferentes valores en un conjunto de datos, ya sea mediante tablas o gráficos. Esta técnica es fundamental en la estadística descriptiva, ya que ayuda a identificar patrones, tendencias y la dispersión de los datos, apoyando la toma de decisiones informadas..... Por ejemplo, la, una, una, o, etc. Por lo tanto, deben eliminarse del texto para obtener una imagen más clara del texto.
normalized_text = [token for token in text_doc if not token.is_stop] print (normalized_text)
Eliminación de puntuación:
Como podemos ver en el resultado anterior, hay signos de puntuación que no nos sirven. Así que eliminémoslos.
clean_text = [token for token in normalized_text if not token.is_punct] print (clean_text)
Lematización:
La lematización es el proceso de reducir una palabra a su forma original. Lema es una palabra que representa un grupo de palabras llamadas lexemas. Por ejemplo: participar, participar, participar. Todos se reducen a un lema común, es decir, participar.
for token in clean_text: print (token, token.lemma_)
Recuento de frecuencia de palabras:
Realicemos ahora un análisis estadístico del texto. Encontraremos las diez primeras palabras según su frecuencia en el texto.
from collections import Counter words = [token.text for token in clean_text if not token.is_stop and not token.is_punct] word_freq = Counter(words) # 10 commonly occurring words with their frequencies common_words = word_freq.most_common(10) print (common_words)
Análisis de los sentimientos
El análisis de sentimiento es el proceso de analizar el sentimiento del texto. Una forma de hacerlo es a través de la polaridad de las palabras, ya sean positivas o negativas.
VADER (Valence Aware Dictionary and Sentiment Reasoner) es una biblioteca de análisis de sentimientos basada en reglas y léxico en Python. Utiliza una serie de léxicos de sentimientos. Un léxico de sentimiento es una serie de palabras que se asignan a sus respectivas polaridades, es decir, positiva, negativa y neutra de acuerdo con su significado semántico.
Por ejemplo:
1. Palabras como bueno, grandioso, asombroso, fantástico son de polaridad positiva.
2. Palabras como malo, peor, patético son de polaridad negativa.
El analizador de sentimientos VADER encuentra los porcentajes de palabras de diferente polaridad y da puntuaciones de polaridad de cada una de ellas respectivamente. La salida del analizador se puntúa de 0 a 1, que se puede convertir en porcentajes. No solo habla de las puntuaciones de positividad o negatividad, sino también de lo positivo o negativo que es un sentimiento.
Primero descarguemos el paquete usando pip.
pip install vaderSentiment
Luego, analice las puntuaciones de sentimiento.
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer analyzer = SentimentIntensityAnalyzer() vs = analyzer.polarity_scores(text) vs
PanelUn panel es un grupo de expertos que se reúne para discutir y analizar un tema específico. Estos foros son comunes en conferencias, seminarios y debates públicos, donde los participantes comparten sus conocimientos y perspectivas. Los paneles pueden abordar diversas áreas, desde la ciencia hasta la política, y su objetivo es fomentar el intercambio de ideas y la reflexión crítica entre los asistentes.... de control del analizador de texto
Los pasos anteriores se pueden resumir para crear un tablero para el analizador de texto. Incluye la cantidad de palabras, la cantidad de caracteres, la cantidad de números, las N palabras principales, la intención del texto, la opinión general, la puntuación de la opinión positiva, la puntuación de la opinión negativa, la puntuación de la opinión neutral y el recuento de palabras de la opinión.
Conclusión
La PNL ha tenido un gran impacto en campos como el análisis de reseñas de productos, recomendaciones, análisis de redes sociales, traducción de texto y, por lo tanto, ha obtenido enormes beneficios para las grandes empresas.
Espero que este artículo le ayude a comenzar su viaje en el campo de la PNL.
Y finalmente, … no hace falta decir,
¡Gracias por leer!
Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.