So führen Sie eine grundlegende Textanalyse ohne Trainingsdatensatz durch

Inhalt

Dieser Artikel wurde im Rahmen der Data Science Blogathon

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, twittert, Blogs, Zeitungsartikel, recomendaciones de productos y reseñas de WhatsApp no ​​están estructurados. Dann, para obtener información útil de estos datos altamente desestructurados, primero debemos convertirlos en forma estructurada y normalizada.

Verarbeitung natürlicher Sprache (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. Was ist mehr, 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ítica 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 entrenamiento.

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, Zweitens, entrena una gran cantidad de datos y obtiene información a partir de ellos. Utiliza algoritmos de aprendizaje automático para entrenar el mismo. In diesem Artikel, aprenderemos la PNL basada en reglas.

NLP-Anwendungen:

  • Textzusammenfassung
  • Übersetzermaschine
  • Sistemas de preguntas y respuestas
  • Revisiones ortográficas
  • Autovervollständigung
  • Stimmungsanalyse
  • Spracherkennung
  • Segmentación de temas

Canalización de PNL:

30311pipeline-2694787

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. Syntaktische Analyse: 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. Zum Beispiel, la oraciónLa universidad va para la niña”. es rechazado por el analizador sintáctico.

3. Semantische Analyse: 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. Zum Beispiel, la fraseQuiere comer helado calientees 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. Was ist mehr, 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(Dateiname, "R").lesen()

Imprimir el texto:

drucken(Text)
37422text-7659878

Instalación de la biblioteca para PNL:

Usaremos la biblioteca spaCy para este tutorial. Raum 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 profundo 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 de_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)
drucken ([token.text for token in text_doc])
12421tokens-8094366

Como podemos observar en los tokens, hay muchos espacios en blanco, Kommas, 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)
29120sentences-4227305

Entfernen von Rauschwörtern

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 frecuencias. Zum Beispiel, das, ein, ein, Ö, etc. Deswegen, 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]
drucken (normalized_text)
90344stopwords-4244646

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]
drucken (clean_text)
56839cleantext-8291400

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. Zum Beispiel: participar, participar, participar. Todos se reducen a un lema común, nämlich, participar.

for token in clean_text:
drucken (Zeichen, token.lemma_)
65484untitled-7421185

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(Wörter)
# 10 commonly occurring words with their frequencies
common_words = word_freq.most_common(10)
drucken (common_words)
22358words-7325111

Stimmungsanalyse

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, nämlich, positiv, negativa y neutra de acuerdo con su significado semántico.

Zum Beispiel:

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 ein 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

Später, analice las puntuaciones de sentimiento.

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer 
analyzer = SentimentIntensityAnalyzer()
vs = Analyzer.polarity_scores(Text)
vs
82877sentiment-9363452

Panel 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.

98233dashboard-9568925

Fazit

La PNL ha tenido un gran impacto en campos como el análisis de reseñas de productos, Empfehlungen, Social-Media-Analyse, traducción de texto y, Daher, 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.

Und schlussendlich, … Keine Notwendigkeit zu sagen,

Danke fürs Lesen!

Die in diesem Artikel gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.