Brill tagger


The Brill tagger is an inductive method for part-of-speech tagging. It was described and invented by Eric Brill in his 1993 PhD thesis. It can be summarized as an "error-driven transformation-based tagger". It is:
In the transformation process, if the word is known, it first assigns the most frequent tag, or if the word is unknown, it naively assigns the tag "noun" to it. Applying over and over these rules, changing the incorrect tags, a quite high accuracy is achieved. This approach ensures that valuable information such as the morphosyntactic construction of words is employed in an automatic tagging process.

Algorithm

The algorithm starts with initialization, which is the assignment of tags based on their probability for each word. Then "patches" are determined via rules that correct tagging errors made in the initialization phase:
The input text is first tokenized, or broken into words. Typically
in natural language processing, contractions such as "'s", "n't", and the like are considered
separate word tokens, as are punctuation marks.
A dictionary and some morphological rules then provide an initial tag for each word token.
For example, a simple lookup would reveal that "dog" may be a noun or a verb, while an unknown word will be assigned some tag based on capitalization,
various prefix or suffix strings, etc..
After all word tokens have tags, contextual rules apply iteratively, to correct the tags by examining small amounts of context. This is where the Brill method differs from other part of speech tagging methods such as
those using Hidden Markov Models. Rules are reapplied repeatedly, until a threshold is reached, or no more rules can apply.
Brill rules are of the general form:
tag1tag2 IF Condition
where the Condition tests the preceding and/or following word tokens, or their tags. For example, in Brill's notation:
IN NN WDPREVTAG DT while
would change the tag of a word from IN to NN, if the preceding word's tag is DT and the word itself is "while". This covers cases like "all the while" or "in a while", where "while" should be tagged as a noun rather than its more common use as a preposition.
Rules should only operate if the tag being changed is also known to be permissible, for the word in question or in principle.
Rules of this kind can be implemented by simple Finite-state machines.
See Part of speech tagging for more general information including descriptions of the Penn Treebank and other sets of tags.
Typical Brill taggers use a few hundred rules, which may be developed by linguistic intuition or by machine learning on a pre-tagged corpus.

Code

Brill's code pages at Johns Hopkins University are no longer on the web. at its latest version as it was available at Plymouth Tech can be found on Archive.org. The software uses the MIT License.