Iterator psfIter = indexes.getAnnotationIndex(PSESentenceFeature.type).iterator();
Set<String> seSenSpans_ML = new HashSet<String>();
//get side-effect sentence spans found by ML (livSVM)
while(psfIter.hasNext()) {
PSESentenceFeature psf = (PSESentenceFeature) psfIter.next();
//classify SE sentences based on the trained libSVM model
svm_node[] x = new svm_node[psf.getFeatures().size()];
for(int j=0;j<psf.getFeatures().size();j++)
{
x[j] = new svm_node();
x[j].index = j+1;
String nomFea = psf.getFeatures(j);
x[j].value = Double.parseDouble(feaMap.get(nomFea));
}
double clsLabel; //0:non-SE sentence , 1:SE sentence
clsLabel = svm.svm_predict(model,x);
//add side-effect sentence span to the Set
if(clsLabel==1) {
String span = Integer.toString(psf.getPseSen().getBegin()) + "|"
+ Integer.toString(psf.getPseSen().getEnd());
seSenSpans_ML.add(span);
}
}
//get side-effect sentence spans found by rules (SideEffectAnnotator)