Difference between revisions of "McCallum Bellare and Pereira 2005 A Conditional Random Field for Discriminatively-Trained Finite-State String Edit Distance"

From Cohen Courses
Jump to navigationJump to search
Line 13: Line 13:
  
 
== Method ==
 
== Method ==
 +
=== The model ===
 
The CRF presented in this paper is based on a finite state machine (FST) model with a single start state and two sets of disjoint states, <math>S_1</math> and <math>S_0</math>, representing 'matching' and 'non-matching' string pairs, respectively.
 
The CRF presented in this paper is based on a finite state machine (FST) model with a single start state and two sets of disjoint states, <math>S_1</math> and <math>S_0</math>, representing 'matching' and 'non-matching' string pairs, respectively.
  
Line 35: Line 36:
  
 
<math>
 
<math>
p(\mathbf{a}||\mathbf{x},\mathbf{y}) = \frac{1}{Z_{x,y}}\prod^{|a|}_{i=1} \Phi(a_{i-1},a_i,\mathbf{x},\mathbf{y})
+
p(\mathbf{a}|\mathbf{x},\mathbf{y}) = \frac{1}{Z_{x,y}}\prod^{|a|}_{i=1} \Phi(a_{i-1},a_i,\mathbf{x},\mathbf{y})
 
</math>
 
</math>
 +
 +
where <math>Z_{x,y}</math> is a normalizer and <math>\Phi</math> is the following potential function, parametrized as an exponential of a linear scoring function
 +
 +
<math>
 +
\Phi(a_{i-1},a_i,\mathbf{x},\mathbf{y}) = \exp \Lambda \cdot \mathbf{f}(a_{i-1},a_i,\mathbf{x},\mathbf{y})
 +
</math>
 +
 +
where '''f''' is a vector of feature functions over its arguments.
 +
 +
=== Inference ===
 +
 +
The probability of a ''match'' (or ''mismatch'') is given by marginalizing over the alignments with states in the corresponding state set (<math>S_1</math> or <math>S_0</math>)
 +
 +
<math>
 +
p(z|\mathbf{x},\mathbf{y}) = \sum_{a.q \subseteq S_z} \frac{1}{Z_{x,y}}\prod^{|a|}_{i=1} \Phi(a_{i-1},a_i,\mathbf{x},\mathbf{y})
 +
</math>
 +
 +
This is calculated with dynamic programming, to give a Forward-Backward-like match-estimate. Alternatively, a Viterbi estimate can be given by calculating the max-product.
 +
=== Learning ===

Revision as of 19:56, 29 November 2011

Citation

Andrew McCallum, Kedar Bellare and Fernando Pereira. A Conditional Random Field for Discriminatively-Trained Finite-State String Edit Distance. Conference on Uncertainty in AI (UAI'05), 2005.

Online

Summary

This paper presents a discriminative string edit CRF. Conditional random fields outperform generative models for string edit distance prediction (such as those used in the work of Ristad and Yianilos and Bilenko and Mooney) since they are able to use complex, arbitrary features over the input strings. As in the case of the generative models, this method does not require to specify the edit sequence (alignment) of the training strings, however, it does require negative input instances.

The results show that the CRF approach outperforms the generative models on all but one of the estimated classes.

Method

The model

The CRF presented in this paper is based on a finite state machine (FST) model with a single start state and two sets of disjoint states, and , representing 'matching' and 'non-matching' string pairs, respectively.

An alignment under this model is a four-tuple

where,

  • . These indicate the sequence of edit-operations for this alignment.

Each edit operation consumes a portion of either one or both of the input strings, up to position or .

  • . This is the non-decreasing positions in the input string x, associated with the edit operations in .
  • . This is the non-decreasing positions in the input string y, associated with the edit operations in .
  • . This is the set of states in the FST models of this alignment. By construction, either (indicating a sequence of match states), or (indicating a sequence of non-match states).


Let , be the -th position in the alignment.


Given the strings x, and y, the probability of an alignment a is given by

where is a normalizer and is the following potential function, parametrized as an exponential of a linear scoring function

where f is a vector of feature functions over its arguments.

Inference

The probability of a match (or mismatch) is given by marginalizing over the alignments with states in the corresponding state set ( or )

This is calculated with dynamic programming, to give a Forward-Backward-like match-estimate. Alternatively, a Viterbi estimate can be given by calculating the max-product.

Learning