views:

227

answers:

1

What is Conditional Random Field? How does exactly Conditional Random Field identify proper names as person, organization, or place in a structured or unstructured text?

For example: This product is ordered by StackOverFlow Inc.

What does Conditional Random Field do to identify StackOverFlow Inc. as an organization?

A: 

A CRF is a discriminative, batch, tagging model, in the same general family as a Maximum Entropy Markov model.

A full explanation is book-length.

A short explanation is as follows:

  1. Humans annotate 200-500K words of text, marking the entities.
  2. Humans select a set of features that they hope indicate entities. Things like capitalization, or whether the word was seen in the training set with a tag.
  3. A training procedure counts all the occurrences of the features.
  4. The meat of the CRF algorithm search the space of all possible models that fit the counts to find a pretty good one.
  5. At runtime, a decoder (probably a Viterbi decoder) looks at a sentence and decides what tag to assign to each word.

The hard parts of this are feature selection and the search algorithm in step 4.

bmargulies

related questions