Skip to content
Brown edited this page Jun 21, 2020 · 35 revisions

Emotion Extraction using simple transformers

Introduction

SimpleTransformers

This project was completed as part of the "Twitter Sentiment Extraction" Kaggle competition in June 2020 (https://www.kaggle.com/c/tweet-sentiment-extraction). This project involved extracting the text related to emotions found in Tweets. Our team submitted this git hub project to Kaggle, we scored in top 1000 :)

We hope that this project will help you get a jump start on sentiment extraction!

Our code is largely based on the simple transformer work done by: xxx here http://google.com

Umm...so what is Sentiment Extraction again?

Sentiment extraction takes sentiment analysis to the next level. In legacy NLP tasks it was enough to predict the emotion of a certain tweet, for example:

Tweet Predicted Sentiment
col 3 is right-aligned

However sentiment extraction takes this NLP to the NEXT LEVEL by extracting the words that contribute to the reason behind a particular sentiment. For example, see the example below:

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1
  • NLP is important business applications such as th tweets, product reviews, customer service
  • emotion analysis -> emotion extraction
  • transformers
  • social media data
  • provide insights to business

Topics to be completed in the future:

  1. Advanced Techniques
  • We used Huggingface pertained transformer models (Roberta-base-cased) and added customized question-answer head layers using TensorFlow to reach a better question answering result.
  • Please see more details from this notebook Link to Tensorflow approach
  • Key difference:
  • TensorFlow approach can support more customized functions including customizing loss function, question answering structures, the number of inputs, and doing k-fold.
  • TensorFlow approach can help you understand deeper on how transformers work by creating attention mask, input ids, and padding your train set.
  • The training time takes longer for this approach as we are using the k-fold method to avoid overfitting
  1. Key Insights
  2. Lessons Learned and Best Practices
  3. Resources

Clone this wiki locally