Like I said, if the domain is super specific, it is solvable. That Taco Bell example is real. A private equity company was considering purchasing them from Yum Brands and they wanted to know what the customers liked or disliked. If all of your text is Taco Bell reviews, then you can train a model to spot sarcasm by having a human tag a portion and letting the model extrapolate from there. The model will determine which words (e.g. authentic, gourmet, and homemade) correlate with sarcasm. This breaks down if you try to apply it to all restaurants because what is clearly sarcasm for Taco Bell may not be for Lupe's Mexican Cantina. In the end, we went with a more objective approach. I broke the reviews into sentences and analyzed independent and dependent clauses, identified nouns, verbs, and adjectives, and used those to determine the main idea of the clause. I noticed that 1st person nouns and verbs are what the reviewers said about themselves (e.g. I was hungry or I rolled into the drive-thru) and 2nd and 3rd person was about the restaurant (you need to train your employees, the taco was cold or the cashier gave me the wrong order). Looking at the sentiment of the clause and its subject/verb phrase gave us exactly what we needed. In the end we had a list of ideas like "cold taco - negative", "waited forever - negative", "super cheap - positive" which we used a logistic regression classifier to put into categories like price, service, selection, ambience, etc.
Comments
Like I said, if the domain is super specific, it is solvable. That Taco Bell example is real. A private equity company was considering purchasing them from Yum Brands and they wanted to know what the customers liked or disliked. If all of your text is Taco Bell reviews, then you can train a model to spot sarcasm by having a human tag a portion and letting the model extrapolate from there. The model will determine which words (e.g. authentic, gourmet, and homemade) correlate with sarcasm. This breaks down if you try to apply it to all restaurants because what is clearly sarcasm for Taco Bell may not be for Lupe's Mexican Cantina. In the end, we went with a more objective approach. I broke the reviews into sentences and analyzed independent and dependent clauses, identified nouns, verbs, and adjectives, and used those to determine the main idea of the clause. I noticed that 1st person nouns and verbs are what the reviewers said about themselves (e.g. I was hungry or I rolled into the drive-thru) and 2nd and 3rd person was about the restaurant (you need to train your employees, the taco was cold or the cashier gave me the wrong order). Looking at the sentiment of the clause and its subject/verb phrase gave us exactly what we needed. In the end we had a list of ideas like "cold taco - negative", "waited forever - negative", "super cheap - positive" which we used a logistic regression classifier to put into categories like price, service, selection, ambience, etc.