Code Engine

Code Engine

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

  • 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

    1. from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
    2. import pandas as pd


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


    5. # Initialize VADER
    6. analyzer = SentimentIntensityAnalyzer()


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


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


    13. # Label sentiment as Positive, Neutral, or Negative
    14. def label_sentiment(score):
    15. if score > 0.05:
    16. return 'Positive'
    17. elif score < -0.05:
    18. return 'Negative'
    19. else:
    20. return 'Neutral'

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

    22. output_data = df

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

Answers

  • 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

    1. from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
    2. import pandas as pd


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


    5. # Initialize VADER
    6. analyzer = SentimentIntensityAnalyzer()


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


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


    13. # Label sentiment as Positive, Neutral, or Negative
    14. def label_sentiment(score):
    15. if score > 0.05:
    16. return 'Positive'
    17. elif score < -0.05:
    18. return 'Negative'
    19. else:
    20. return 'Neutral'

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

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

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In