2015-04-17 3 views
1

Я разработал приложение с использованием Gate Разработчик, который применяет алгоритм paum и отображает результаты в новом наборе аннотаций, называемом «output», с аннотацией, называемой «комментарий».Gate Developer and Gate Встроенная разница в выходе

Затем я импортировал это приложение на Gate Embedded. Однако в наборе аннотаций «output», сгенерированном с помощью Gate Embedded, нет аннотации!

EDIT
Это, как я продолжил:

ArrayList<Tweet> listTweets = ... 
ArrayList<Document> listDocument = new ArrayList<Document>(); 

//initialize Gate library 
Gate.setGateHome(new File("E_Reputation/")); 
Gate.setPluginsHome(new File("E_Reputation/plugins/")); 
Gate.setUserConfigFile(new File("config/user-gate.xml")); 
Gate.setSiteConfigFile(new File("config/site-gate.xml")); 
Gate.init(); 

//load Gate application 
CorpusController applicationGate = (CorpusController) PersistenceManager.loadObjectFromFile(new File("E_Reputation/application.xgapp")); 
corpus = Factory.newCorpus("Tweets");corpus = Factory.newCorpus("Tweets"); 

//populate the corpus 
for(i=0;i<listTweets.size();i++) { 
      //Document doc = Factory.newDocument(listTweets.get(i).getText()); 
      FeatureMap params = Factory.newFeatureMap(); 
      params.put(Document.DOCUMENT_STRING_CONTENT_PARAMETER_NAME,listTweets.get(i).getText()); 
      Document doc = (Document) Factory.createResource("gate.corpora.DocumentImpl", params); 

      Long start=gate.Utils.start(doc); 
      Long end = gate.Utils.end(doc); 
      doc.getAnnotations("Key").add(start, end, " ", Factory.newFeatureMap()); 
      listDocument.add(doc); 
      corpus.add(listDocument.get(i)); 
} 

//execute Gate application 
applicationGate.setCorpus(corpus); 
applicationGate.execute(); 

Затем я попытался проверить, если «выход» набор аннотаций содержит что-то:

for(Document document:listDocument) { 

     Set<String> allAnnSet = document.getAnnotationSetNames(); 
     System.out.println(allAnnSet.contains("output")); // return true 
     AnnotationSet annSet = document.getAnnotations("output"); 
     List<Annotation> listAnn = annSet.inDocumentOrder(); 
     System.out.println(annSet.size());    // return 0 
     System.out.println(listAnn.size());    // return 0 
} 

Корпус является такой же, как тот, который я использовал в Gate Developer. В разработчике Gate у меня был набор «выходных» аннотаций с функциями, но не в Gate Embedded. Я хочу понять, почему это происходит.

EDIT
Ниже приведен скриншот того, что я получаю в ворота Developer. После применения PR создается набор аннотаций, называемый «output» с аннотацией «comment».
Но в Gate Embedded у меня нет этой аннотации комментариев.

enter image description here

Спасибо заранее,

ответ

2

Это звучит для меня, как вы путаясь между аннотацией набором и аннотацией типа - аннотацией наборами самого по себе не имеет функции. Если то, что вы видите в GATE Developer аннотаций наборов дерева

enter image description here

, то вы не имеете аннотацию набор называется «выход», а скорее аннотациями типа «Выход» набор аннотаций по умолчанию (который не имеет имени). Для доступа к ним нужно использовать код, как

for(Document document:listDocument) { 
    AnnotationSet annSet = document.getAnnotations().get("output"); 
+0

К сожалению, я не сформулировал свой вопрос очень хорошо ... Я имею в виду, что у меня есть набор аннотаций под названием «Выход» (который не находится в наборе аннотаций по умолчанию). Но этот «выходной» набор аннотаций не отображает никаких аннотаций после того, как я запустил приложение в Gate Embedded, а в Gate Developer, у него есть некоторые ... – celineu

+0

Спасибо за ваш ответ. Я добавил изображение моего результата, используя Gate Developer (которого я не получаю в Gate Embedded) в своем вопросе, чтобы проиллюстрировать мою проблему. – celineu

+0

@celineu, как вы настраиваете приложение во встроенном коде? В обоих случаях это определенно настроено одинаково (самый безопасный способ работы - сохранить состояние вашего приложения в Developer, а затем загрузить его во встроенный код с помощью 'PersistenceManager') –