I new in machine learning, especially in Conditional Random Fields (CRF).
I have read several articles and papers and in there is always associated with HMM and sequences classification. I don't really understand mathematics, especially in the annoying formula. So I can't understand the process. Where I need to start to understand CRFs??
I want to make an information extraction application using CRF Named Entity Recognition (NER).
I got some tutorial for that: https://eli5.readthedocs.io/en/latest/tutorials/sklearn_crfsuite.html#training-data
But I don't know the proses each step, like training proses, evaluation, and testing
I use this code :
data_frame = eli5.format_as_dataframes(
eli5.explain_weights_sklearn_crfsuite(self.crf))
How to get that number ?
and 1 more thing makes me confused:
crf = sklearn_crfsuite.CRF(
algorithm='lbfgs',
c1=0.1,
c2=0.1,
max_iterations=20,
all_possible_transitions=False,
)
What is the algorithm lbfgs
? Is the CRF not an algorithm? Why do I need lbfgs
? What is exactly a conditional random field?