0
0
NLPml~20 mins

Sentiment with context (sarcasm, negation) in NLP - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Sarcasm & Negation Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of sentiment prediction with negation handling
Given the following Python code snippet using a simple rule-based sentiment function that handles negation, what is the output when the input sentence is "I do not like this movie"?
NLP
def simple_sentiment(text):
    positive_words = {'like', 'love', 'good', 'great', 'happy'}
    negative_words = {'hate', 'bad', 'terrible', 'sad', 'dislike'}
    words = text.lower().split()
    negation_words = {'not', 'no', 'never'}
    negation = False
    score = 0
    for word in words:
        if word in negation_words:
            negation = True
            continue
        if word in positive_words:
            score += -1 if negation else 1
            negation = False
        elif word in negative_words:
            score += 1 if negation else -1
            negation = False
    if score > 0:
        return 'Positive'
    elif score < 0:
        return 'Negative'
    else:
        return 'Neutral'

print(simple_sentiment("I do not like this movie"))
APositive
BNegative
CNeutral
DSyntaxError
Attempts:
2 left
💡 Hint
Think about how negation flips the sentiment of the word 'like'.
🧠 Conceptual
intermediate
1:30remaining
Understanding sarcasm detection challenges
Why is sarcasm particularly difficult for sentiment analysis models to detect?
ABecause sarcasm is only present in spoken language, not in text.
BBecause sarcasm always uses complex vocabulary that models cannot understand.
CBecause sarcasm often uses positive words to express negative feelings, confusing simple word-based models.
DBecause sarcasm depends on the length of the sentence, which models ignore.
Attempts:
2 left
💡 Hint
Think about how the literal words differ from the intended meaning.
Metrics
advanced
2:00remaining
Evaluating sarcasm detection model performance
A sarcasm detection model was tested on 1000 sentences. It correctly identified 80 sarcastic sentences out of 100 sarcastic ones, and correctly identified 890 non-sarcastic sentences out of 900 non-sarcastic ones. What is the model's precision for the sarcastic class?
A0.89
B0.50
C0.44
D0.80
Attempts:
2 left
💡 Hint
Precision = True Positives / (True Positives + False Positives). Calculate false positives first.
🔧 Debug
advanced
1:30remaining
Debugging a sarcasm detection model code snippet
What error will the following Python code raise when run? def detect_sarcasm(text): sarcasm_keywords = ['yeah right', 'as if', 'totally'] for phrase in sarcasm_keywords: if phrase in text.lower(): return True return False print(detect_sarcasm(12345))
AAttributeError: 'int' object has no attribute 'lower'
BNameError: name 'text' is not defined
CTypeError: argument of type 'int' is not iterable
DNo error, output is False
Attempts:
2 left
💡 Hint
Check the method called on the input and the input type.
Model Choice
expert
2:30remaining
Choosing the best model architecture for sarcasm detection with context
Which model architecture is best suited to detect sarcasm in text by understanding context and subtle language cues?
AA k-nearest neighbors model using TF-IDF vectors
BA simple bag-of-words logistic regression model
CA convolutional neural network (CNN) with fixed word embeddings
DA transformer-based model like BERT fine-tuned on sarcasm-labeled data
Attempts:
2 left
💡 Hint
Consider models that capture word order and context deeply.