Part-of-Speech Tagging › Tag Sets
Language AI HandbookAll chapters Part-of-Speech Tagging › Tag SetsOne section · Sections in this chapter3 / 18 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
A tag set defines the inventory of labels a tagger assigns. The choice of tag set involves a fundamental tradeoff: more tags allow finer-grained distinctions that benefit some downstream tasks, but require more annotated data to learn reliably and are harder to assign consistently.
The Penn Treebank Tag Set
The Penn Treebank (PTB) tag set, developed at the University of Pennsylvania as part of the Penn Treebank project in the early 1990s, became the standard for English NLP. It contains 36 POS tags plus 12 punctuation and symbol tags.
# Penn Treebank tag set - core POS categories
penn_tags = {
# Nouns
"NN": "Noun, singular or mass",
"NNS": "Noun, plural",
"NNP": "Proper noun, singular",
"NNPS": "Proper noun, plural",
# Verbs
"VB": "Verb, base form",
"VBD": "Verb, past tense",
"VBG": "Verb, gerund or present participle",
"VBN": "Verb, past participle",
"VBP": "Verb, non-3rd person singular present",
"VBZ": "Verb, 3rd person singular present",
"MD": "Modal auxiliary",
# Adjectives
"JJ": "Adjective",
"JJR": "Adjective, comparative",
"JJS": "Adjective, superlative",
# Adverbs
"RB": "Adverb",
"RBR": "Adverb, comparative",
"RBS": "Adverb, superlative",
# Pronouns and determiners
"PRP": "Personal pronoun",
"PRP$": "Possessive pronoun",
"WP": "Wh-pronoun",
"WP$": "Possessive wh-pronoun",
"DT": "Determiner",
"PDT": "Predeterminer",
"WDT": "Wh-determiner",
# Prepositions and conjunctions
"IN": "Preposition or subordinating conjunction",
"CC": "Coordinating conjunction",
"TO": "to (infinitive marker)",
"RP": "Particle",
# Other
"CD": "Cardinal number",
"EX": "Existential there",
"FW": "Foreign word",
"POS": "Possessive ending",
"UH": "Interjection",
"SYM": "Symbol",
}Penn Treebank Tag Set ================================================== Nouns: NN Noun, singular or mass NNS Noun, plural NNP Proper noun, singular NNPS Proper noun, plural Verbs: VB Verb, base form VBD Verb, past tense VBG Verb, gerund or present participle VBN Verb, past participle VBP Verb, non-3rd person singular present VBZ Verb, 3rd person singular present MD Modal auxiliary Adjectives: JJ Adjective JJR Adjective, comparative JJS Adjective, superlative Adverbs: RB Adverb RBR Adverb, comparative RBS Adverb, superlative Pronouns: PRP Personal pronoun PRP$ Possessive pronoun WP Wh-pronoun WP$ Possessive wh-pronoun Determiners: DT Determiner PDT Predeterminer WDT Wh-determiner Other: IN Preposition or subordinating conjunction CC Coordinating conjunction TO to (infinitive marker) RP Particle CD Cardinal number EX Existential there FW Foreign word POS Possessive ending UH Interjection SYM Symbol
The fine-grained verb distinctions matter considerably in practice. Knowing that "barked" is VBD (past tense) versus "barking" is VBG (gerund/participle) tells a parser whether to attach it as the main verb or as a modifier. The six verb tags capture the full English verbal paradigm and allow downstream systems to reason about tense and aspect.
The Penn Treebank tag set was built around the Wall Street Journal corpus and reflects the characteristics of formal written English. This origin has consequences: the tag set handles financial text well but struggles with informal registers, social media text, and domain-specific terminology.
One design decision in the PTB tag set deserves particular attention: the treatment of "IN" as a single tag covering both prepositions and subordinating conjunctions. This conflation is linguistically controversial. "After dinner" uses "after" as a preposition governing a noun phrase, while "after she left" uses "after" as a subordinating conjunction introducing a clause. These are syntactically distinct, but they were collapsed into a single tag because reliable disambiguation requires the kind of deep syntactic analysis the tag set was meant to enable in the first place. This circular dependency is a recurring theme in annotation design: the tags you want to assign depend on information that the tags are supposed to provide.
The Universal Dependencies Tag Set
The PTB tag set is designed for English, and extending it to other languages is problematic. German uses case inflections that English lacks. Mandarin Chinese has no morphological inflection at all. Arabic has a complex system of verb derivations. The Universal Dependencies (UD) project introduced a cross-linguistic tag set with 17 UPOS tags designed to apply consistently across languages.
# Universal Dependencies UPOS tag set
universal_tags = {
"ADJ": "Adjective",
"ADP": "Adposition (pre- or postposition)",
"ADV": "Adverb",
"AUX": "Auxiliary verb",
"CCONJ": "Coordinating conjunction",
"DET": "Determiner",
"INTJ": "Interjection",
"NOUN": "Common noun",
"NUM": "Numeral",
"PART": "Particle",
"PRON": "Pronoun",
"PROPN": "Proper noun",
"PUNCT": "Punctuation",
"SCONJ": "Subordinating conjunction",
"SYM": "Symbol",
"VERB": "Verb",
"X": "Other (unclassifiable)",
}Universal Dependencies UPOS Tag Set ================================================== ADJ Adjective ADP Adposition (pre- or postposition) ADV Adverb AUX Auxiliary verb CCONJ Coordinating conjunction DET Determiner INTJ Interjection NOUN Common noun NUM Numeral PART Particle PRON Pronoun PROPN Proper noun PUNCT Punctuation SCONJ Subordinating conjunction SYM Symbol VERB Verb X Other (unclassifiable) Total: 17 tags (vs 36+ in Penn Treebank)
The 17-tag set achieves cross-linguistic applicability by collapsing distinctions that are English-specific. All six English verb inflection tags (VB, VBD, VBG, VBN, VBP, VBZ) merge into VERB. The key insight is that morphological distinctions like tense can be captured through additional morphological annotation layers (called morphological features in UD) rather than proliferating the POS tag set itself.
The UD project has annotated over 200 treebanks across more than 100 languages using this framework, making it the largest cross-linguistic POS resource available.
The UD tag set also makes principled decisions about categories that vary typologically. The AUX (auxiliary) tag separates auxiliary verbs from main verbs, a distinction that matters in many languages. ADP covers both prepositions (as in English) and postpositions (as in Japanese, Turkish, and many other languages), recognizing that the functional role is the same regardless of word order. The PART tag handles particles that do not fit elsewhere, like the English infinitive marker "to" in its verbal use, or the negative particle in languages that express negation with a separate uninflected word.
Choosing a Tag Set
The right tag set depends on your application. Here is how to think about it:
- Use Penn Treebank tags when working on English NLP with existing tools like NLTK or spaCy in English mode, or when downstream tasks (like parsing) benefit from fine-grained distinctions
- Use Universal Dependencies tags when building multilingual systems, working with non-English languages, or when compatibility across language resources matters more than granularity
- Use custom tags only when your domain has structures neither system handles well (e.g., specialized clinical or legal notation)
Most production systems today use one of these two standards. The Penn Treebank standard dominates English-only pipelines; Universal Dependencies dominates multilingual ones.
The question of granularity is worth thinking about carefully. Finer tag sets can express more information, but they are harder to learn reliably because each individual tag sees fewer training examples. A tag set with 100 labels means that each label appears, on average, in only 1% of tokens. Rare labels may have so few training examples that the model cannot learn their distributional patterns at all. The Penn Treebank's 36 tags strike a balance that proved empirically useful: fine enough to serve syntactic parsers, coarse enough to learn with moderate-sized corpora.