2018-05-10 19:21:15 +02:00
|
|
|
package org.gcube.data.analysis.nlphub.legacy;
|
2018-02-20 08:39:31 +01:00
|
|
|
|
|
|
|
import java.util.ArrayList;
|
2018-05-11 19:03:43 +02:00
|
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
2018-02-20 08:39:31 +01:00
|
|
|
import com.google.gson.JsonArray;
|
|
|
|
import com.google.gson.JsonObject;
|
|
|
|
|
|
|
|
public class NerAlgorithm {
|
2018-05-11 19:03:43 +02:00
|
|
|
private static final Logger logger = LoggerFactory.getLogger(NerAlgorithm.class);
|
|
|
|
|
2018-02-20 08:39:31 +01:00
|
|
|
private String name;
|
|
|
|
private ArrayList<NerAnnotationData> annotationsData;
|
|
|
|
|
|
|
|
public NerAlgorithm(String name) {
|
2018-05-11 19:03:43 +02:00
|
|
|
logger.debug("NerAlgorithm: "+name);
|
|
|
|
|
2018-02-20 08:39:31 +01:00
|
|
|
this.name = name;
|
|
|
|
annotationsData = new ArrayList<>();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void addAnnotationData(NerAnnotationData data) {
|
|
|
|
annotationsData.add(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
public JsonObject toJson() {
|
|
|
|
JsonObject json = new JsonObject();
|
|
|
|
json.addProperty("algorithm", name);
|
|
|
|
JsonArray data = new JsonArray();
|
|
|
|
for (NerAnnotationData d : annotationsData) {
|
|
|
|
data.add(d.toJson());
|
|
|
|
}
|
|
|
|
json.add("entities", data);
|
|
|
|
return json;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getName() {
|
|
|
|
return name;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setName(String name) {
|
|
|
|
this.name = name;
|
|
|
|
}
|
|
|
|
|
|
|
|
public ArrayList<NerAnnotationData> getAnnotationsData() {
|
|
|
|
return annotationsData;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setAnnotationsData(ArrayList<NerAnnotationData> annotationsData) {
|
|
|
|
this.annotationsData = annotationsData;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
public static void main(String[] args) {
|
|
|
|
NerAlgorithm alg = new NerAlgorithm("Algorithm-name");
|
|
|
|
|
|
|
|
NerEntity ne1 = new NerEntity(11, 22);
|
|
|
|
ne1.addProperty("type", "scalar");
|
|
|
|
ne1.addProperty("unit", "hours");
|
|
|
|
|
|
|
|
NerEntity ne2 = new NerEntity(33, 44);
|
|
|
|
ne2.addProperty("type", "scalar");
|
|
|
|
ne2.addProperty("unit", "minutes");
|
|
|
|
|
|
|
|
NerAnnotationData nad = new NerAnnotationData("Measure");
|
|
|
|
nad.addNerEntity(ne1);
|
|
|
|
nad.addNerEntity(ne2);
|
|
|
|
|
|
|
|
alg.addAnnotationData(nad);
|
|
|
|
|
|
|
|
ne1 = new NerEntity(0, 10);
|
|
|
|
ne2 = new NerEntity(111, 114);
|
|
|
|
nad = new NerAnnotationData("Person");
|
|
|
|
nad.addNerEntity(ne1);
|
|
|
|
nad.addNerEntity(ne2);
|
|
|
|
|
|
|
|
alg.addAnnotationData(nad);
|
|
|
|
|
|
|
|
|
|
|
|
System.out.println(alg.toJson().toString());
|
|
|
|
}*/
|
|
|
|
}
|