Sentiment Analysis on Facebook Comments

I'm curious if anyone has experience using the python tiles (or anything else) to do sentiment analysis. Specifically I would like to monitor comments on our social media platforms, and I'd love to do it in Domo if possible.

Best Answer

  • ArborRose
    ArborRose Coach
    Answer ✓

    I don't see any reason why you couldn't. You could use the Python tiles to create a custom model or leverage built-in libraries. Use Domo's social media connectors to pull comments or posts to Domo or call with API. Or consider using Domo's Jupyter Notebooks (Python).

    Something like this

    from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
    import pandas as pd


    # Load the dataset
    df = pd.DataFrame(input_data)


    # Initialize VADER
    analyzer = SentimentIntensityAnalyzer()


    # Analyze sentiment
    def analyze_sentiment(comment):
    scores = analyzer.polarity_scores(comment)
    return scores['compound']


    # Apply sentiment analysis to comments
    df['sentiment_score'] = df['comment'].apply(analyze_sentiment)


    # Label sentiment as Positive, Neutral, or Negative
    def label_sentiment(score):
    if score > 0.05:
    return 'Positive'
    elif score < -0.05:
    return 'Negative'
    else:
    return 'Neutral'

    df['sentiment_label'] = df['sentiment_score'].apply(label_sentiment)

    output_data = df

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

Answers

  • ArborRose
    ArborRose Coach
    Answer ✓

    I don't see any reason why you couldn't. You could use the Python tiles to create a custom model or leverage built-in libraries. Use Domo's social media connectors to pull comments or posts to Domo or call with API. Or consider using Domo's Jupyter Notebooks (Python).

    Something like this

    from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
    import pandas as pd


    # Load the dataset
    df = pd.DataFrame(input_data)


    # Initialize VADER
    analyzer = SentimentIntensityAnalyzer()


    # Analyze sentiment
    def analyze_sentiment(comment):
    scores = analyzer.polarity_scores(comment)
    return scores['compound']


    # Apply sentiment analysis to comments
    df['sentiment_score'] = df['comment'].apply(analyze_sentiment)


    # Label sentiment as Positive, Neutral, or Negative
    def label_sentiment(score):
    if score > 0.05:
    return 'Positive'
    elif score < -0.05:
    return 'Negative'
    else:
    return 'Neutral'

    df['sentiment_label'] = df['sentiment_score'].apply(label_sentiment)

    output_data = df

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

  • Thanks … that's very helpful. I have the comments pulled so I will play with this to see how it works. I may have a few follow-up questions (new to the Domo python tile), but I'll see where I get