Presentation on theme: "POS TAGGING AND SYNTACTIC PARSING Heng Ji September 10, 2014."— Presentation transcript:
POS TAGGING AND SYNTACTIC PARSING Heng Ji firstname.lastname@example.org September 10, 2014
Outline POS Tagging and HMM Formal Grammars Context-free grammar Grammars for English Treebanks Parsing and CKY Algorithm
3/39 What is Part-of-Speech (POS) Generally speaking, Word Classes (=POS) : Verb, Noun, Adjective, Adverb, Article, … We can also include inflection: Verbs: Tense, number, … Nouns: Number, proper/common, … Adjectives: comparative, superlative, … …
4/39 Parts of Speech 8 (ish) traditional parts of speech Noun, verb, adjective, preposition, adverb, article, interjection, pronoun, conjunction, etc Called: parts-of-speech, lexical categories, word classes, morphological classes, lexical tags... Lots of debate within linguistics about the number, nature, and universality of these We’ll completely ignore this debate.
5/39 7 Traditional POS Categories Nnounchair, bandwidth, pacing Vverbstudy, debate, munch ADJadjpurple, tall, ridiculous ADVadverbunfortunately, slowly, Pprepositionof, by, to PROpronounI, me, mine DETdeterminerthe, a, that, those
6/39 POS Tagging The process of assigning a part-of-speech or lexical class marker to each word in a collection. WORD tag theDET koalaN put V the DET keysN onP theDET tableN
7/39 Penn TreeBank POS Tag Set Penn Treebank: hand-annotated corpus of Wall Street Journal, 1M words 46 tags Some particularities: to /TO not disambiguated Auxiliaries and verbs not distinguished
9/39 Why POS tagging is useful? Speech synthesis: How to pronounce “ lead ” ? INsult inSULT OBject obJECT OVERflow overFLOW DIScountdisCOUNT CONtent conTENT Stemming for information retrieval Can search for “aardvarks” get “aardvark” Parsing and speech recognition and etc Possessive pronouns (my, your, her) followed by nouns Personal pronouns (I, you, he) likely to be followed by verbs Need to know if a word is an N or V before you can parse Information extraction Finding names, relations, etc. Machine Translation
10/39 Open and Closed Classes Closed class: a small fixed membership Prepositions: of, in, by, … Auxiliaries: may, can, will had, been, … Pronouns: I, you, she, mine, his, them, … Usually function words (short common words which play a role in grammar) Open class: new ones can be created all the time English has 4: Nouns, Verbs, Adjectives, Adverbs Many languages have these 4, but not all!
11/39 Open Class Words Nouns Proper nouns (Boulder, Granby, Eli Manning) English capitalizes these. Common nouns (the rest). Count nouns and mass nouns Count: have plurals, get counted: goat/goats, one goat, two goats Mass: don’t get counted (snow, salt, communism) (*two snows) Adverbs: tend to modify things Unfortunately, John walked home extremely slowly yesterday Directional/locative adverbs (here,home, downhill) Degree adverbs (extremely, very, somewhat) Manner adverbs (slowly, slinkily, delicately) Verbs In English, have morphological affixes (eat/eats/eaten)
12/39 Closed Class Words Examples : prepositions: on, under, over, … particles: up, down, on, off, … determiners: a, an, the, … pronouns: she, who, I,.. conjunctions: and, but, or, … auxiliary verbs: can, may should, … numerals: one, two, three, third, …
16/39 POS Tagging Choosing a Tagset There are so many parts of speech, potential distinctions we can draw To do POS tagging, we need to choose a standard set of tags to work with Could pick very coarse tagsets N, V, Adj, Adv. More commonly used set is finer grained, the “Penn TreeBank tagset”, 45 tags PRP$, WRB, WP$, VBG Even more fine-grained tagsets exist
17/39 Using the Penn Tagset The/DT grand/JJ jury/NN commmented/VBD on/IN a/DT number/NN of/IN other/JJ topics/NNS./. Prepositions and subordinating conjunctions marked IN (“although/IN I/PRP..”) Except the preposition/complementizer “to” is just marked “TO”.
18/39 POS Tagging Words often have more than one POS: back The back door = JJ On my back = NN Win the voters back = RB Promised to back the bill = VB The POS tagging problem is to determine the POS tag for a particular instance of a word. These examples from Dekang Lin
19/39 How Hard is POS Tagging? Measuring Ambiguity
20/39 Current Performance How many tags are correct? About 97% currently But baseline is already 90% Baseline algorithm: Tag every word with its most frequent tag Tag unknown words as nouns How well do people do?
21/39 Quick Test: Agreement? the students went to class plays well with others fruit flies like a banana DT: the, this, that NN: noun VB: verb P: prepostion ADV: adverb
22/39 Quick Test the students went to class DT NN VB P NN plays well with others VB ADV P NN NN NN P DT fruit flies like a banana NN NN VB DT NN NN VB P DT NN NN NN P DT NN NN VB VB DT NN
23/39 How to do it? History 19601970198019902000 Brown Corpus Created (EN-US) 1 Million Words Brown Corpus Tagged HMM Tagging (CLAWS) 93%-95% Greene and Rubin Rule Based - 70% LOB Corpus Created (EN-UK) 1 Million Words DeRose/Church Efficient HMM Sparse Data 95%+ British National Corpus (tagged by CLAWS) POS Tagging separated from other NLP Transformation Based Tagging (Eric Brill) Rule Based – 95%+ Tree-Based Statistics (Helmut Shmid) Rule Based – 96%+ Neural Network 96%+ Trigram Tagger (Kempe) 96%+ Combined Methods 98%+ Penn Treebank Corpus (WSJ, 4.5M) LOB Corpus Tagged
25/39 Rule-Based Tagging Start with a dictionary Assign all possible tags to words from the dictionary Write rules by hand to selectively remove tags Leaving the correct tag for each word.
26/39 Rule-based taggers Early POS taggers all hand-coded Most of these (Harris, 1962; Greene and Rubin, 1971) and the best of the recent ones, ENGTWOL (Voutilainen, 1995) based on a two-stage architecture Stage 1: look up word in lexicon to give list of potential POSs Stage 2: Apply rules which certify or disallow tag sequences Rules originally handwritten; more recently Machine Learning methods can be used
27/39 Start With a Dictionary she:PRP promised:VBN,VBD toTO back:VB, JJ, RB, NN the:DT bill: NN, VB Etc… for the ~100,000 words of English with more than 1 tag
28/39 Assign Every Possible Tag NN RB VBNJJ VB PRPVBD TOVB DT NN Shepromised to back the bill
29/39 Write Rules to Eliminate Tags Eliminate VBN if VBD is an option when VBN|VBD follows “ PRP” NN RB JJ VB PRPVBD TO VB DTNN Shepromisedtoback thebill VBN
30/39 POS tagging The involvement of ion channels in B and T lymphocyte activation is DT NN IN NN NNS IN NN CC NN NN NN VBZ supported by many reports of changes in ion fluxes and membrane VBN IN JJ NNS IN NNS IN NN NNS CC NN ……………………………………………………………………………………. Machine Learning Algorithm training We demonstrate that … Unseen text We demonstrate PRP VBP that … IN
31/39 Goal of POS Tagging We want the best set of tags for a sequence of words (a sentence) W — a sequence of words T — a sequence of tags Example: P((NN NN P DET ADJ NN) | (heat oil in a large pot)) Our Goal Our Goal
32/39 But, the Sparse Data Problem … Rich Models often require vast amounts of data Count up instances of the string "heat oil in a large pot" in the training corpus, and pick the most common tag assignment to the string.. Too many possible combinations
33/39 POS Tagging as Sequence Classification We are given a sentence (an “observation” or “sequence of observations”) Secretariat is expected to race tomorrow What is the best sequence of tags that corresponds to this sequence of observations? Probabilistic view: Consider all possible sequences of tags Out of this universe of sequences, choose the tag sequence which is most probable given the observation sequence of n words w 1 …w n.
34/39 Getting to HMMs We want, out of all sequences of n tags t 1 …t n the single tag sequence such that P(t 1 …t n |w 1 …w n ) is highest. Hat ^ means “our estimate of the best one” Argmax x f(x) means “the x such that f(x) is maximized”
35/39 Getting to HMMs This equation is guaranteed to give us the best tag sequence But how to make it operational? How to compute this value? Intuition of Bayesian classification: Use Bayes rule to transform this equation into a set of other probabilities that are easier to compute
36/39 Reminder: Apply Bayes’ Theorem (1763) posteriorposterior priorprior likelihoodlikelihood marginal likelihood Reverend Thomas Bayes — Presbyterian minister (1702-1761) Our Goal: To maximize it!
37/39 How to Count P(W|T) and P(T) can be counted from a large hand-tagged corpus; and smooth them to get rid of the zeroes
38/39 Count P(W|T) and P(T) Assume each word in the sequence depends only on its corresponding tag:
39/39 Make a Markov assumption and use N-grams over tags... P(T) is a product of the probability of N-grams that make it up Make a Markov assumption and use N-grams over tags... P(T) is a product of the probability of N-grams that make it up Count P(T) historyhistory
40/39 Part-of-speech tagging with Hidden Markov Models wordstags output probability transition probability
42/39 A Simple POS HMM startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1
43/39 Word Emission Probabilities P ( word | state ) A two-word language: “ fish ” and “ sleep ” Suppose in our training corpus, “ fish ” appears 8 times as a noun and 5 times as a verb “ sleep ” appears twice as a noun and 5 times as a verb Emission probabilities: Noun P(fish | noun) :0.8 P(sleep | noun) :0.2 Verb P(fish | verb) :0.5 P(sleep | verb) :0.5
46/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 1: fish
47/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 1: fish
48/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 2: sleep (if ‘fish’ is verb)
49/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 2: sleep (if ‘fish’ is verb)
50/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 2: sleep (if ‘fish’ is a noun)
51/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 2: sleep (if ‘fish’ is a noun)
52/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 2: sleep take maximum, set back pointers
53/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 2: sleep take maximum, set back pointers
54/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 3: end
55/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Token 3: end take maximum, set back pointers
56/39 startnounverb end 0.8 0.2 0.8 0.7 0.1 0.2 0.1 Decode: fish = noun sleep = verb
Markov Chain for a Simple Name Tagger START END PER X 0.3 0.2 0.3 0.6 0.5 George:0.3 W.:0.3 discussed:0.7 $:1.0 LOC 0.5 0.2 0.1 0.3 0.1 0.2 Bush:0.3 Iraq:0.1 George:0.2 Iraq:0.8 Transition Probability Emission Probability
58/39 Exercise Tag names in the following sentence: George. W. Bush discussed Iraq.
59/39 POS taggers Brill ’ s tagger http://www.cs.jhu.edu/~brill/ TnT tagger http://www.coli.uni-saarland.de/~thorsten/tnt/ Stanford tagger http://nlp.stanford.edu/software/tagger.shtml SVMTool http://www.lsi.upc.es/~nlp/SVMTool/ GENIA tagger http://www-tsujii.is.s.u-tokyo.ac.jp/GENIA/tagger/ More complete list at: http://www-nlp.stanford.edu/links/statnlp.html#Taggers
Outline Query Expansion and Relevance Feedback POS Tagging and HMM Formal Grammars Context-free grammar Grammars for English Treebanks Parsing and CKY Algorithm
61/40 Syntax By grammar, or syntax, we have in mind the kind of implicit knowledge of your native language that you had mastered by the time you were 3 years old without explicit instruction Not the kind of stuff you were later taught in “grammar” school
62/40 Syntax Why should you care? Grammars (and parsing) are key components in many applications Grammar checkers Dialogue management Question answering Information extraction Machine translation
63/40 Syntax Key notions that we’ll cover Constituency Grammatical relations and Dependency Heads Key formalism Context-free grammars Resources Treebanks
64/40 Constituency The basic idea here is that groups of words within utterances can be shown to act as single units. And in a given language, these units form coherent classes that can be be shown to behave in similar ways With respect to their internal structure And with respect to other units in the language
65/40 Constituency Internal structure We can describe an internal structure to the class (might have to use disjunctions of somewhat unlike sub-classes to do this). External behavior For example, we can say that noun phrases can come before verbs
66/40 Constituency For example, it makes sense to the say that the following are all noun phrases in English... Why? One piece of evidence is that they can all precede verbs. This is external evidence
67/40 Grammars and Constituency Of course, there’s nothing easy or obvious about how we come up with right set of constituents and the rules that govern how they combine... That’s why there are so many different theories of grammar and competing analyses of the same data. The approach to grammar, and the analyses, adopted here are very generic (and don’t correspond to any modern linguistic theory of grammar).
68/40 Context-Free Grammars Context-free grammars (CFGs) Also known as Phrase structure grammars Backus-Naur form Consist of Rules Terminals Non-terminals
69/40 Context-Free Grammars Terminals We’ll take these to be words (for now) Non-Terminals The constituents in a language Like noun phrase, verb phrase and sentence Rules Rules are equations that consist of a single non-terminal on the left and any number of terminals and non-terminals on the right.
70/40 Some NP Rules Here are some rules for our noun phrases Together, these describe two kinds of NPs. One that consists of a determiner followed by a nominal And another that says that proper names are NPs. The third rule illustrates two things An explicit disjunction Two kinds of nominals A recursive definition Same non-terminal on the right and left-side of the rule
72/40 Derivations A derivation is a sequence of rules applied to a string that accounts for that string Covers all the elements in the string Covers only the elements in the string
73/40 Definition More formally, a CFG consists of
74/40 Parsing Parsing is the process of taking a string and a grammar and returning a (multiple?) parse tree(s) for that string It is completely analogous to running a finite-state transducer with a tape It’s just more powerful Remember this means that there are languages we can capture with CFGs that we can’t capture with finite-state methods More on this when we get to Ch. 13.
75/40 An English Grammar Fragment Sentences Noun phrases Agreement Verb phrases Subcategorization
76/40 Sentence Types Declaratives: A plane left. S NP VP Imperatives: Leave! S VP Yes-No Questions: Did the plane leave? S Aux NP VP WH Questions: When did the plane leave? S WH-NP Aux NP VP
77/40 Noun Phrases Let’s consider the following rule in more detail... NP Det Nominal Most of the complexity of English noun phrases is hidden in this rule. Consider the derivation for the following example All the morning flights from Denver to Tampa leaving before 10
79/40 NP Structure Clearly this NP is really about flights. That’s the central criticial noun in this NP. Let’s call that the head. We can dissect this kind of NP into the stuff that can come before the head, and the stuff that can come after it.
80/40 Determiners Noun phrases can start with determiners... Determiners can be Simple lexical items: the, this, a, an, etc. A car Or simple possessives John’s car Or complex recursive versions of that John’s sister’s husband’s son’s car
81/40 Nominals Contains the head and any pre- and post- modifiers of the head. Pre- Quantifiers, cardinals, ordinals... Three cars Adjectives and Aps large cars Ordering constraints Three large cars ?large three cars
82/40 Postmodifiers Three kinds Prepositional phrases From Seattle Non-finite clauses Arriving before noon Relative clauses That serve breakfast Same general (recursive) rule to handle these Nominal Nominal PP Nominal Nominal GerundVP Nominal Nominal RelClause
83/40 Agreement By agreement, we have in mind constraints that hold among various constituents that take part in a rule or set of rules For example, in English, determiners and the head nouns in NPs have to agree in their number. This flight Those flights *This flights *Those flight
84/40 The Point CFGs appear to be just about what we need to account for a lot of basic syntactic structure in English. But there are problems That can be dealt with adequately, although not elegantly, by staying within the CFG framework. There are simpler, more elegant, solutions that take us out of the CFG framework (beyond its formal power) LFG, HPSG, Construction grammar, XTAG, etc. Chapter 15 explores the unification approach in more detail
85/40 Treebanks Treebanks are corpora in which each sentence has been paired with a parse tree (presumably the right one). These are generally created By first parsing the collection with an automatic parser And then having human annotators correct each parse as necessary. This generally requires detailed annotation guidelines that provide a POS tagset, a grammar and instructions for how to deal with particular grammatical constructions.
86/40 Penn Treebank Penn TreeBank is a widely used treebank. Most well known is the Wall Street Journal section of the Penn TreeBank. 1 M words from the 1987-1989 Wall Street Journal.
87/40 Treebank Grammars Treebanks implicitly define a grammar for the language covered in the treebank. Simply take the local rules that make up the sub-trees in all the trees in the collection and you have a grammar. Not complete, but if you have decent size corpus, you’ll have a grammar with decent coverage.
88/40 Treebank Grammars Such grammars tend to be very flat due to the fact that they tend to avoid recursion. To ease the annotators burden For example, the Penn Treebank has 4500 different rules for VPs. Among them...
89/40 Heads in Trees Finding heads in treebank trees is a task that arises frequently in many applications. Particularly important in statistical parsing We can visualize this task by annotating the nodes of a parse tree with the heads of each corresponding node.
93/40 Treebank Uses Treebanks (and headfinding) are particularly critical to the development of statistical parsers Chapter 14 Also valuable to Corpus Linguistics Investigating the empirical details of various constructions in a given language
94/40 Summary Context-free grammars can be used to model various facts about the syntax of a language. When paired with parsers, such grammars consititute a critical component in many applications. Constituency is a key phenomena easily captured with CFG rules. But agreement and subcategorization do pose significant problems Treebanks pair sentences in corpus with their corresponding trees.
95/40 For Now Assume… You have all the words already in some buffer The input isn’t POS tagged We won’t worry about morphological analysis All the words are known These are all problematic in various ways, and would have to be addressed in real applications.
96/40 Top-Down Search Since we’re trying to find trees rooted with an S (Sentences), why not start with the rules that give us an S. Then we can work our way down from there to the words.
98/40 Bottom-Up Parsing Of course, we also want trees that cover the input words. So we might also start with trees that link up with the words in the right way. Then work your way up from there to larger and larger trees.
104/40 Top-Down and Bottom-Up Top-down Only searches for trees that can be answers (i.e. S’s) But also suggests trees that are not consistent with any of the words Bottom-up Only forms trees consistent with the words But suggests trees that make no sense globally
105/40 Control Of course, in both cases we left out how to keep track of the search space and how to make choices Which node to try to expand next Which grammar rule to use to expand a node One approach is called backtracking. Make a choice, if it works out then fine If not then back up and make a different choice
106/40 Problems Even with the best filtering, backtracking methods are doomed because of two inter-related problems Ambiguity Shared subproblems
108/40 Shared Sub-Problems No matter what kind of search (top-down or bottom-up or mixed) that we choose. We don’t want to redo work we’ve already done. Unfortunately, naïve backtracking will lead to duplicated work.
109/40 Shared Sub-Problems Consider A flight from Indianapolis to Houston on TWA
110/40 Shared Sub-Problems Assume a top-down parse making choices among the various Nominal rules. In particular, between these two Nominal -> Noun Nominal -> Nominal PP Statically choosing the rules in this order leads to the following bad results...
115/40 Dynamic Programming DP search methods fill tables with partial results and thereby Avoid doing avoidable repeated work Solve exponential problems in polynomial time (well, no not really) Efficiently store ambiguous structures with shared sub-parts. We’ll cover the CKY algorithm
116/40 CKY Parsing First we’ll limit our grammar to epsilon-free, binary rules (more later) Consider the rule A BC If there is an A somewhere in the input then there must be a B followed by a C in the input. If the A spans from i to j in the input then there must be some k st. i
"name": "116/40 CKY Parsing First we’ll limit our grammar to epsilon-free, binary rules (more later) Consider the rule A BC If there is an A somewhere in the input then there must be a B followed by a C in the input.",
"description": "If the A spans from i to j in the input then there must be some k st. i
117/40 Problem What if your grammar isn’t binary? As in the case of the TreeBank grammar? Convert it to binary… any arbitrary CFG can be rewritten into Chomsky-Normal Form automatically. What does this mean? The resulting grammar accepts (and rejects) the same set of strings as the original grammar. But the resulting derivations (trees) are different.
118/40 Problem More specifically, we want our rules to be of the form A B C Or A w That is, rules can expand to either 2 non-terminals or to a single terminal.
119/40 Binarization Intuition Eliminate chains of unit productions. Introduce new intermediate non-terminals into the grammar that distribute rules with length > 2 over several rules. So… S A B C turns into S X C and X A B Where X is a symbol that doesn’t occur anywhere else in the the grammar.
122/40 CKY So let’s build a table so that an A spanning from i to j in the input is placed in cell [i,j] in the table. So a non-terminal spanning an entire string will sit in cell [0, n] Hopefully an S If we build the table bottom-up, we’ll know that the parts of the A must go from i to k and from k to j, for some k.
123/40 CKY Meaning that for a rule like A B C we should look for a B in [i,k] and a C in [k,j]. In other words, if we think there might be an A spanning i,j in the input… AND A B C is a rule in the grammar THEN There must be a B in [i,k] and a C in [k,j] for some i
"name": "123/40 CKY Meaning that for a rule like A B C we should look for a B in [i,k] and a C in [k,j].",
"description": "In other words, if we think there might be an A spanning i,j in the input… AND A B C is a rule in the grammar THEN There must be a B in [i,k] and a C in [k,j] for some i
124/40 CKY So to fill the table loop over the cell[i,j] values in some systematic way What constraint should we put on that systematic search? For each cell, loop over the appropriate k values to search for things to add.
132/40 Exercises Try to parse the following sentence: I prefer meal on flight.
133/40 Take-home Messages Context-free grammars can be used to model various facts about the syntax of a language. When paired with parsers, such grammars consititute a critical component in many applications. Constituency is a key phenomena easily captured with CFG rules. But agreement and subcategorization do pose significant problems CKY is a bottom-up dynamic programming algorithm We can convert CFG rules into CNF forms