I recently came across the CRFSuite package for CRFs. Though, it is primarily used for NLP applications like POS tagging, i was wondering if I could use it to model time-series data as well?
Have any of you used CRFSuite? In the tutorials, the raw training data is of the format:
He PRP B-NP
reckons VBZ B-VP
the DT B-NP
current JJ I-NP
account NN I-NP
deficit NN I-NP
and they use a file (chunking.py) to convert it to training data format used in CRFSuite. The problem is, a sequence here consists of various labels and CRFSuite learns the model accordingly based on designed features / relationships. However, in my problem, I have a time-series data (force values ) and every value in the sequence is of the same label. For example, I have a time-series of force values of interaction with object type 1 and another time-series of force values of interaction with object type 2, and so inside a sequence all the labels are the same ( corresponding to the object type).
One sequence:
1.2 ob1
1.4 ob1
1.5 ob1
1.6 ob1
1.7 ob1
Another sequence:
1.4 ob2
1.3 ob2
1.1 ob2
0.5 ob2
0.1 ob2
I would like to use CRFs to classify objects into object types (ob1 or ob2) by looking at the time-series of force values. If I arrange the training data as shown above, it is unable to capture the relationship (whatever features i decide) and gives very low accuracy on testing data. So, I was wondering if any of you have any insights as to how to represent the data in my domain in this CRFSuite?
I have also tried to learn multiple models (each for each category) and then try to classify according to which model gives the highest likelihood of the observed data. But, even that trick did not work. Any pointers?
Thanks in advance for your help.