WSTA Lecture 14 Part-of-speech Tagging l l l Tags - introduction - tagged corpora, tagsets Tagging - motivation - Simple unigram tagger - Markov model tagging - Rule based tagging Evaluation Slide credits: Steven Bird 1 COMP90042 Trevor Cohn NLP versus IR l l Covered predominantly IR up until now l processing, stemming, indexing, querying, etc l mostly bag of words and vector space models l word order unimportant* l word inflections unimportant* What do we mean by “natural language processing”? l and how does this differ from / overlap with IR? 2 COMP90042 Trevor Cohn Tags 1: ambiguity l time flies like an arrow l fruit flies like a banana l ambiguous headlines - http://www.snopes.com/humor/nonsense/head97.htm - British Left Waffles on Falkland Islands - Juvenile Court to Try Shooting Defendant 3 COMP90042 Trevor Cohn Tags 2: Representations to resolve ambiguity 4 COMP90042 Trevor Cohn Exercise: tag some headlines l British Left Waffles on Falkland Islands l Juvenile Court to Try Shooting Defendant 5 COMP90042 Trevor Cohn Tags 3: Tagged Corpora • The/DT limits/NNS to/TO legal/JJ absurdity/NN stretched/VBD another/DT notch/NN this/DT week/NN when/WRB the/DT Supreme/NNP Court/NNP refused/VBD to/TO hear/VB an/DT appeal/NN from/IN a/DT case/NN that/WDT says/VBZ corporate/JJ defendants/NNS must/MD pay/VB damages/NNS even/RB after/IN proving/VBG that/IN they/PRP could/MD not/RB possibly/RB have/VB caused/VBN the/DT harm/NN ./. • Source: Penn Treebank Corpus (nltk/data/treebank/wsj_0130) 6 COMP90042 Trevor Cohn Another kind of tagging: Sense Tagging • The Pantheon's interior/a , still in its original/a form/a , • interior: (a) inside a space; (b) inside a country and at a distance from the coast or border; (c) domestic; (d) private. • original: (a) relating to the beginning of something; (b) novel; (c) that from which a copy is made; (d) mentally ill or eccentric. • form: (a) definite shape or appearance; (b) body; (c) mould; (d) particular structural character exhibited by something; (e) a style as in music, art or literature; (f) homogenous polynomial in two or more variables; ... 7 COMP90042 Trevor Cohn Significance of Parts of Speech l l a word's POS tells us a lot about the word and its neighbors - limits the range of meanings (deal), pronunciations (object vs object), or both (wind) - helps in stemming - limits the range of following words for ASR - helps select nouns from a document for IR More advanced uses (these won't make sense yet): - basis for chunk parsing - parsers can build trees directly on the POS tags instead of maintaining a lexicon - first step for many different NLP tasks 8 COMP90042 Trevor Cohn What does Tagging do? 1. Collapses Distinctions • Lexical identity may be discarded • 2. e.g. all personal pronouns tagged with PRP Introduces Distinctions • Ambiguities may be removed • e.g. deal tagged with NN or VB; deal tagged with DEAL1 or DEAL2 3. Helps classification and prediction Ø There are many tagsets. This is due to: Ø the different ways to define a tag Ø the need to balance classification and prediction Ø harder/easier classification task; vs more/less information about context 9 COMP90042 Trevor Cohn Tagged Corpora l Brown Corpus: - The first digital corpus (1961), Francis and Kucera, Brown U - Contents: 500 texts, each 2000 words long l from American books, newspapers, magazines, representing 15 genres: - l science fiction, romance fiction, press reportage scientific writing, popular lore. - See nltk/data/brown/ - See reading for definition of Brown tags Penn Treebank: - First syntactically annotated corpus - Contents: 1 million words from WSJ; POS tags, syntax trees - See nltk/data/treebank/ (5% sample) 10 COMP90042 Trevor Cohn Tagged Corpora in other languages l l Parsed treebanks in many other languages - Basque, Bulgarian, Chinese, Czech, Finnish, French - German, Greek, Hebrew, Hungarian, Irish, Italian - Japanese, Korean, Persian, Romanian, Spanish - Swedish … and many more! All with part-of-speech annotation - language specific tag sets - recent work on mapping to common tag set l https://code.google.com/p/universal-pos-tags/ l http://universaldependencies.github.io/docs/ 11 COMP90042 Trevor Cohn Application of tagged corpora: genre classification 12 COMP90042 Trevor Cohn Important Treebank Tags • NN noun JJ adjective • NNP proper noun CC coord conjunc (and/or/..) • DT determiner (the/a/..) CD cardinal number • IN preposition (in/of/..) PRP personal pronoun (I/you/..) • VB verb RB adverb (gently, now) • -R comparative (better) • -S superlative (bravest) or plural • -$ possessive (my) 13 COMP90042 Trevor Cohn Verb Tags • VBP base present take • VB infinitive take • VBD past took • VBG present participle taking • VBN past participle taken • VBZ present 3sg takes • MD modal can, would 14 COMP90042 Trevor Cohn Simple Tagging in NLTK l l Reading Tagged Corpora: - >>> from nltk.corpus import treebank >>> treebank.fileids() >>> treebank.tagged_sents('wsj_0001.mrg')[0] [(u'Pierre', u'NNP'), (u'Vinken', u'NNP'), (u',', u','), (u'61', u'CD'), (u'years', u'NNS'), (u'old', u'JJ'), (u',', u','), (u'will', u'MD'), (u'join', u'VB'), (u'the', u'DT'), ...] - see also Brown corpus, Conll2000, Alpino and more Tagging a string - >>> nltk.tag.pos_tag('Fruit flies like a banana'.split()) [('Fruit', 'NN'), ('flies', 'NNS'), ('like', 'IN'), ('a', 'DT'), ('banana', 'NN')] (N.b. Uses a maximum entropy tagger) 15 COMP90042 Trevor Cohn Tagging Algorithms l rule based taggers - l unigram tagger - l assign the tag which is the most probable for the word in question, based on frequency in a training corpus bigram tagger, n-gram tagger - l original methods, based on layers of rules about how to tag words based on their context (e.g., Brill tagger) inspect one or more tags in the context (usually, immediate left context) Maximum entropy and HMM taggers (next lecture) 16 COMP90042 Trevor Cohn Unigram Tagging l Unigram = table of tag frequencies for each word - e.g. in tagged WSJ sample (from Penn Treebank): l l l deal: NN (11); VB (1); VBP (1) Training - load a corpus - count the occurrences of each (word, tag) in the corpus Tagging - lookup the most common tag for each word to tag l Gets 90% accuracy! l See the code in nltk.tag.UnigramTagger 17 COMP90042 Trevor Cohn The problem with unigram taggers l what evidence do they consider when assigning a tag? l when does this method fail? 18 COMP90042 Trevor Cohn Fixing the problem using a bigram tagger l l construct sentences involving a word which can have two different parts of speech - e.g. wind: noun, verb - The wind blew forcefully - I wind up the clock gather statistics for current tag, based on: - (i) current word; (ii) previous tag - result: a 2-D array of frequency distributions - what does this look like? 19 COMP90042 Trevor Cohn Generalizing the context 20 COMP90042 Trevor Cohn Bigram & n-gram taggers l l n-gram tagger: consider n-1 previous tags - how big does the model get? - how much data do we need to train it? Sparse-data problem: - l - As n gets large, the chances of having seen all possible patterns of tags during training diminishes (large: >3) Approaches: - Combine taggers (backoff, weighted average) - statistical estimation of the probability of unseen events See nltk.tag.sequential.NgramTagger - and various others in nltk.tag package 21 COMP90042 Trevor Cohn Markov Model Taggers l Recall n-gram language model l l l similar problem of modelling next word given previous words, similar issues with sparsity and estimation l here we focus on generating tag sequences rather than words l both are in instances of a Markov model l tag sequence modelled as a Markov chain l each tag is linked to word sequence Can we just predict each tag in sequence? l need to know the preceding tag(s) l but these are unknown… Next lecture, we’ll explore this further using Hidden Markov Models 22 COMP90042 Trevor Cohn The Brill rule-Based Tagger l l The Linguistic Complaint: - where is the linguistic knowledge of a tagger? - just a massive table of numbers - aren't there any linguistic insights that could emerge from the data? Transformation-Based Tagging / Brill Tagging: - Tag each word with its most likely tag - Repeatedly correct tags based on context - Example rule: NN VB PREVTAG TO l - Other contexts: l l to/TO race/NN -> to/TO race/VB PREV1OR2TAG, PREV1OR2WD, WDNEXTTAG, ... See nltk.tag.brill.BrillTagger 23 COMP90042 Trevor Cohn Evaluating Tagger Performance • Need an objective measure of performance • Commonly use per-token accuracy - measured against heldout ‘gold standard’ data - fraction of words tagged correctly • Simple methods get ~90% performance - 1 and 2-gram - Brill tagger • HMMs get ~95% and CRFs get ~97% performance - see nltk.tag.{hmm,tnt,crf,stanford,senna,…} • Why can't we get 100%? 24 COMP90042 Trevor Cohn Tagging: broader lessons l Tagging has several properties that are typical of NLP - classification - disambiguation through representation - sequence learning from annotated corpora - simple, general methods: l (words have properties) conditional frequency distributions l Cool things you can do now: elementary NLU, NLG l Review: - tokenization + tagging = segmentation and annotation of words - chunking = segmentation and annotation of word sequences 25 COMP90042 Trevor Cohn Readings l l One of: l Jurafsky & Martin, chapter 5 l Manning & Schutze, chapter 10 NLTK tagging tutorial l l http://www.nltk.org/book/ch05.html Next lecture l tagging with (hidden) Markov models l other sequence tagging tasks l named entity tagging l shallow parsing 26 COMP90042 Trevor Cohn
© Copyright 2024