Target Oblivious Stance Classification

An application that classifies a reply to a tweet based on its stance to the original without actually needing access to the original tweet. Possible stances are; support, deny, query, and comment. Note that the input to this application should be document containing the official Twitter JSON of the replies you wish to classify, and you can provide as many tweets as you like.

Although originally intended for processing threads of tweets, the classifier can be used with text from other sources (forum posts, YouTube comments etc.) as long as they are provided to the service in the right format. While the JSON object for a single tweet contains a lot of information the current version of the stance classifier only uses the text of the tweet. This means it is easy to generate compatible JSON from other sources.

As with tweets each comment should be containted within a single JSON object. Each JSON object must contain the fields text and id_str which hold the text of the comment and a unique ID respectively. A third field in_reply_to_status_id_str is used to signifiy which other comment this one is in reply to. A simple example of one reply that is classified as supportive would be as follows:

{"text":"I agree with the original post", "id_str":"2", "in_reply_to_status_id_str":"1"}

Our multilingual model is based on cardiffnlp/twitter-xlm-roberta-base, fine-tuned using the RumourEval 2019 Twitter training set.

Default annotations
:TweetStance Each reply (for which the original tweet is supplied) is annotated by the application. Each annotation has the following features:
  • tweet_id, the ID of this tweet
  • in_reply_to, the ID of the tweet this one is in reply to
  • stance_class, the assigned stance class (one of support, deny, query, or comment)
  • support-score, the support score (all four scores add to 1)
  • deny-score, the deny score (all four scores add to 1)
  • query-score, the query score (all four scores add to 1)
  • comment-score, the comment score (all four scores add to 1)
1,200 free requests / day
Larger batches GBP0.80 / CPU hour

Use this pipeline

Single documents

You can process up to 1,200 documents per day free of charge using the REST API, at an average rate of 2 documents/sec. Higher quotas are available for research users by arrangement, contact us for details.

The API endpoint for this pipeline is:

Create API Key

Batches of documents

You can process any amount of data with this pipeline on a pay-as-you-go basis, for GBP0.80 per hour. This can be data you upload yourself, data you collected from Twitter, or the results of a previous job.

Reserve a job