Difference between revisions of "McCallum Bellare and Pereira 2005 A Conditional Random Field for Discriminatively-Trained Finite-State String Edit Distance"
(→Method) |
|||
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} | + | 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 18: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.