public bool SetLabel(Sentence sent, TagSet tagSet) { List<string[]> features = sent.GetFeatureSet(); if (features.Count != m_States.Length) { return false; } for (int i = 0; i < features.Count; i++) { string strTagName = features[i][features[i].Length - 1]; int tagId = tagSet.GetIndex(strTagName); if (tagId < 0) { Console.WriteLine("Error: tag {0} is unknown.", strTagName); return false; } m_States[i].SetLabel(tagId); } return true; }
public Sequence ExtractFeatures(Sentence sentence) { Sequence sequence = new Sequence(); int n = sentence.GetTokenSize(); List<string[]> features = sentence.GetFeatureSet(); //For each token, get its sparse and dense feature set according configuration and training corpus sequence.SetSize(n); for (int i = 0; i < n; i++) { State state = sequence.Get(i); ExtractSparseFeature(i, n, features, state); var spDenseFeature = ExtractDenseFeature(i, n, features); state.SetDenseData(spDenseFeature); } return sequence; }