for sequence labeling tasks, which takes the following form:\
$p(y|x) = \frac{1}{Z(x)}exp(\sum_{t=1}\sum_k\lambda_k f_k(t,y_{t-1},y_t,x))$\
where $Z(x)$ is the normalization factor, $X=\langle x_1,\dots,x_n\rangle$ is an observation sequence, $Y=\langle y_1,\dots,y_n\rangle$ is the associated label sequence, $f_k$ and $\lambda_k$ respectively are feature functions and their weights. Feature functions, which can be binary or real valued, are defined on the observations and are used to compute label probabilities. In contrast to Hidden Markov Models [@Rabiner1986], feature functions are not assumed to be mutually independent.

Motivating Example {#sec:motivating_example}
==================

[0.5]{}

\[node distance=1.4cm, on grid,&gt;=stealth’, bend angle=20, auto, every place/.style= [minimum size=6mm]{}, every transition/.style = [minimum size = 6mm]{} \] (p2) \[label=below:p1\]; (2) \[fill=black, right = of p2, label=below:t1\] edge \[pre\] node\[auto\] (p2); (p3) \[above right = of 2, label=below:p2\] edge\[pre\] node\[auto\] (2); (p4) \[below right = of 2, label=below:p3\] edge\[pre\] node\[auto\] (2); (3) \[label=center:, label=below:t2, right = of p3\] edge\[pre\] node\[auto\] (p3); (4) \[label=center:, label=below:t3, right = of p4\] edge\[pre\] node\[auto\] (p4); (p5) \[right = of 3, label=below:p4\] edge\[pre\] node\[auto\] (3); (p6) \[right = of 4, label=below:p5\] edge\[pre\] node\[auto\] (4); (5) \[label=center:, label=above:t4, above right = of p6\] edge\[pre\] node\[auto\] (p5) edge\[pre\] node\[auto\] (p6); (p8) \[right = of 5, label=below right:**f**, label=below:p6\] edge\[pre\] node\[auto\] (5); (6) 