Python | Análisis de sentimiento usando VADER

El análisis de sentimiento es el proceso de determinar ‘computacionalmente’ si un escrito es positivo, negativo o neutral. También se conoce como minería de opiniones , derivando la opinión o actitud de un hablante.
¿Por qué análisis de sentimiento? 
 

  • Negocios: en el campo del marketing, las empresas lo utilizan para desarrollar sus estrategias, para comprender los sentimientos de los clientes hacia los productos o la marca, cómo responde la gente a sus campañas o lanzamientos de productos y por qué los consumidores no compran algunos productos. 
     
  • Política: En el ámbito político, se utiliza para realizar un seguimiento de la visión política, para detectar consistencia e inconsistencia entre declaraciones y acciones a nivel de gobierno. ¡También se puede usar para predecir los resultados de las elecciones! .
  • Acciones públicas: el análisis de sentimiento también se utiliza para monitorear y analizar fenómenos sociales, detectar situaciones potencialmente peligrosas y determinar el estado de ánimo general de la blogósfera. 
     

Comando para instalar vaderSentiment
 

pip install vaderSentiment

  
Análisis de sentimientos de VADER:
VADER (Valence Aware Dictionary and sEntiment Reasoner) es una herramienta de análisis de sentimientos basada en reglas y léxico que está específicamente en sintonía con los sentimientos expresados ​​en las redes sociales. VADER usa una combinación de Un léxico de sentimientos es una lista de características léxicas (por ejemplo, palabras) que generalmente se etiquetan según su orientación semántica como positivas o negativas. VADER no solo informa sobre el puntaje de positividad y negatividad, sino que también nos informa sobre qué tan positivo o negativo es un sentimiento.
A continuación se muestra el código: 
 

Python3

# import SentimentIntensityAnalyzer class
# from vaderSentiment.vaderSentiment module.
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
 
# function to print sentiments
# of the sentence.
def sentiment_scores(sentence):
 
    # Create a SentimentIntensityAnalyzer object.
    sid_obj = SentimentIntensityAnalyzer()
 
    # polarity_scores method of SentimentIntensityAnalyzer
    # object gives a sentiment dictionary.
    # which contains pos, neg, neu, and compound scores.
    sentiment_dict = sid_obj.polarity_scores(sentence)
     
    print("Overall sentiment dictionary is : ", sentiment_dict)
    print("sentence was rated as ", sentiment_dict['neg']*100, "% Negative")
    print("sentence was rated as ", sentiment_dict['neu']*100, "% Neutral")
    print("sentence was rated as ", sentiment_dict['pos']*100, "% Positive")
 
    print("Sentence Overall Rated As", end = " ")
 
    # decide sentiment as positive, negative and neutral
    if sentiment_dict['compound'] >= 0.05 :
        print("Positive")
 
    elif sentiment_dict['compound'] <= - 0.05 :
        print("Negative")
 
    else :
        print("Neutral")
 
 
   
# Driver code
if __name__ == "__main__" :
 
    print("\n1st statement :")
    sentence = "Geeks For Geeks is the best portal for \
                the computer science engineering students."
 
    # function calling
    sentiment_scores(sentence)
 
    print("\n2nd Statement :")
    sentence = "study is going on as usual"
    sentiment_scores(sentence)
 
    print("\n3rd Statement :")
    sentence = "I am very sad today."
    sentiment_scores(sentence)

Producción : 
 

La puntuación compuesta es una métrica que calcula la suma de todas las calificaciones del léxico que se han normalizado entre -1 (negativo más extremo) y +1 (positivo más extremo).
sentimiento positivo: (puntaje compuesto >= 0.05) 
sentimiento neutral: (puntaje compuesto > -0.05) y (puntaje compuesto < 0.05) 
sentimiento negativo: (puntaje compuesto <= -0.05)
 

Publicación traducida automáticamente

Artículo escrito por ankthon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *