{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/tweetnlp-cutting-edge-natural-language","title":"TweetNLP: Cutting-Edge Natural Language Processing for Social Media","arxiv_id":"2206.14774","date":"2022-06-29","proceeding":null,"authors":["Jose Camacho-Collados","Kiamehr Rezaee","Talayeh Riahi","Asahi Ushio","Daniel Loureiro","Dimosthenis Antypas","Joanne Boisson","Luis Espinosa-Anke","Fangyu Liu","Eugenio Martínez-Cámara","Gonzalo Medina","Thomas Buhrmann","Leonardo Neves","Francesco Barbieri"],"abstract":"In this paper we present TweetNLP, an integrated platform for Natural Language Processing (NLP) in social media. TweetNLP supports a diverse set of NLP tasks, including generic focus areas such as sentiment analysis and named entity recognition, as well as social media-specific tasks such as emoji prediction and offensive language identification. Task-specific systems are powered by reasonably-sized Transformer-based language models specialized on social media text (in particular, Twitter) which can be run without the need for dedicated hardware or cloud services. The main contributions of TweetNLP are: (1) an integrated Python library for a modern toolkit supporting social media analysis using our various task-specific models adapted to the social domain; (2) an interactive online demo for codeless experimentation using our models; and (3) a tutorial covering a wide variety of typical social media applications.","url_abs":"https://arxiv.org/abs/2206.14774v3","url_pdf":"https://arxiv.org/pdf/2206.14774v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"tweetnlp-cutting-edge-natural-language","repo_url":"https://github.com/cardiffnlp/tweetnlp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"language-identification","task_name":"Language Identification"},{"task_slug":"named-entity-recognition-1","task_name":"Named Entity Recognition"},{"task_slug":"named-entity-recognition-ner","task_name":"Named Entity Recognition (NER)"},{"task_slug":"sentiment-analysis","task_name":"Sentiment Analysis"}],"methods":[{"method_slug":null,"method_name":"Library"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.14774","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.14774"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cardiffnlp/tweetnlp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"8c4fb7eac3196bd9","entry":"allowed_transitions","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/ner/allennlp_crf.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/ner/allennlp_crf.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c4fb7eac3196bd9"}},{"code_sha256_prefix":"c29d45c4d93b5194","entry":"cosine_similarity","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/sentence_embedding/model.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/sentence_embedding/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c29d45c4d93b5194"}},{"code_sha256_prefix":"546235fdf34e08cf","entry":"get_label2id","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/util.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"546235fdf34e08cf"}},{"code_sha256_prefix":"d37ccb7a12784148","entry":"load_dataset_ner","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/ner/dataset.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/ner/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d37ccb7a12784148"}},{"code_sha256_prefix":"06526559439b08ae","entry":"load_dataset_question_answer_generation","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/question_answer_generation/dataset.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/question_answer_generation/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"06526559439b08ae"}},{"code_sha256_prefix":"5890208b0f87054d","entry":"load_dataset_question_answering","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/question_answering/dataset.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/question_answering/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5890208b0f87054d"}},{"code_sha256_prefix":"12e9be32bca300f5","entry":"load_model","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/util.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"12e9be32bca300f5"}},{"code_sha256_prefix":"35b6de3a6dc2aecf","entry":"logsumexp","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/ner/allennlp_crf.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/ner/allennlp_crf.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"35b6de3a6dc2aecf"}},{"code_sha256_prefix":"d09499c8bf92252b","entry":"viterbi_decode","repo":"cardiffnlp/tweetnlp","repo_kind":"official","path":"tweetnlp/ner/allennlp_crf.py","file_url":"https://github.com/cardiffnlp/tweetnlp/blob/HEAD/tweetnlp/ner/allennlp_crf.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d09499c8bf92252b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}