Pre-requisite:
nltk (TweetTokenizer)
Keras
Tensorflow
numpy
scipy
gensim (if you are using word2vec)
itertools
Clone the repository:
git clone git@github.com:AniSkywalker/SarcasmDetection.git
cd SarcasmDetection/src/
You can find the trained model file in the following link
https://drive.google.com/drive/folders/0B7C_0ZfEBcpRbDZKelBZTFFsV0E?usp=sharing
Download the trained model in /resource/text_model/weights/
run the script:
python sarcasm_detection_model_CNN_LSTM_DNN.py
If you want to train the model with your own data, you can place your the Train, Development and Test data file at /resource/train, /resource/dev, /resource/test folder correspondingly.
The system accepts dataset in the tab separated format:
id<tab>label<tab>tweet (see /resource/train/train_v1.txt as example)
0: Non-sarcastic 1: Sarcastic
Please cite the following paper
Fracking Sarcasm using Neural Network. Aniruddha Ghosh and Tony Veale. 7th Workshop on Computational Approaches to Subjectivity, Sentiment and Social Media Analysis (WASSA 2016). NAACL-HLT. 16th June 2016, San Diego, California, U.S.A.
===============================================================================================
To run the model with context information and psychological dimensions(Using Tensorflow):
python sarcasm_context_moods.py
Please cite the following paper
Magnets for Sarcasm: Making Sarcasm Detection Timely, Contextual and Very Personal Aniruddha Ghosh and Tony Veale Conference on Empirical Methods in Natural Language Processing (EMNLP). 7th-11th September, 2017, Copenhagen, Denmark.
Sample of train, dev, and test files are added for both versions.
For test data set, please contact at aniruddha.ghosh@ucdconnect.ie