Linear Chain CRF with SGD method

Hi,

I tried to implement linear chain CRF with SGD method based on these two paper:

> C. Sutton, "An Introduction to Conditional Random Fields for Relational Learning"
>
> N. Schraudolph, "Accelerated Training of Conditional Random Fields with Stochastic Gradient Methods"


For performance, I tested it on CoNLL 2000 shared task and got:

|Model | iteration | F1 training | F1 testing | training time |
|:-------- | :--------  |:------------- | :------------ | :----------------|
|CRF     | 5           |          0.894 | 0.844       | 68 mins|
| Structure Perceptron| 10 | 0.892 | 0.834 | 1 min| 

I think the biggest problem in my implementation is the training time. I will try to work on parallel training or improve the cython code.

Maybe you can review it and give me some feedback.
Any suggestions are welcomed.
Thanks!