// example: // count = 5; id = 4; // vector = {0, 0, 0, 1, 0} private double[] GetCharacteristicAsVector(ClassifiableText classifiableText) { var vector = new double[_outputLayerSize]; vector[classifiableText.GetCharacteristicValue(_characteristic.Name).OrderNumber - 1] = 1; return(vector); }
public CharacteristicValue Classify(ClassifiableText classifiableText) { var output = new double[_outputLayerSize]; // calculate output vector _network.Compute(GetTextAsVectorOfWords(classifiableText).ToArray(), output); EncogFramework.Instance.Shutdown(); return(ConvertVectorToCharacteristic(output)); }
private double[] GetTextAsVectorOfWords(ClassifiableText classifiableText) { var vector = new double[_inputLayerSize]; // convert text to INGram var uniqueValues = _inGram.GetNGram(classifiableText.Text); // create vector // foreach (var word in uniqueValues) { var vw = FindWordInVocabulary(word); if (vw != null) { vector[vw.Id - 1] = 1; } } return(vector); }