package rainbownlp.machinelearning.featurecalculator.sentence;
import rainbownlp.core.Artifact;
import rainbownlp.core.FeatureValuePair;
import rainbownlp.core.Artifact.Type;
import rainbownlp.machinelearning.IFeatureCalculator;
import rainbownlp.machinelearning.MLExample;
import rainbownlp.machinelearning.MLExampleFeature;
public class SentenceSyntax implements IFeatureCalculator {
@Override
public void calculateFeatures(MLExample exampleToProcess) {
Artifact sentence = exampleToProcess.getRelatedPhrase().getStartArtifact();
if(sentence.getArtifactType() != Type.Sentence)
return;
FeatureValuePair wordCountFeature = FeatureValuePair.getInstance("WordCount",
((Integer)sentence.getContent().split(" ").length).toString());
MLExampleFeature.setFeatureExample(exampleToProcess, wordCountFeature);
FeatureValuePair lineIndexFeature = FeatureValuePair.getInstance("LineIndex",
(sentence.getLineIndex()).toString());
MLExampleFeature.setFeatureExample(exampleToProcess, lineIndexFeature);
}
}