Я новичок в GATE NLP. Я работаю над приложением, которое работает на GATE NLP
. Итак, я создал конвейер, и я загружаю его только один раз в приложение, создавая объект singleton. Таким образом, из-за этого производительность приложения увеличилась, но когда я делаю какие-либо изменения в онтологии или справочнике и повторно запускаю приложение, тогда он не рассматривает вновь добавленные слова, потому что я сделал свой объект singleton через я загружаю свой конвейер так, чтобы он рассматривает ранее загруженный справочник географических названий и онтологию. Так, Я использовал следующий код, используя его, который принимает обновленный справочник, но не онтологию.re-init метод onRootGazetteer не работает
application = CorpusControllerSingleton.getInstance(gapFilePath).getApplicationObject();
Iterator<ProcessingResource> it = application.getPRs().iterator();
if(isReload){
System.out.println("processing resources------>"+it.next());
while(it.hasNext()){
ProcessingResource pr = it.next();
if(pr.getName().equals("RzCIS") || pr.getName().equals("RzCs")) {
System.out.println("PR initialization--->" +pr.getFeatures());
pr.reInit();
}
}
}
Может ли кто-нибудь объяснить мне, как перезапустить онтологию?
Хороший вопрос. После некоторых поисков мне кажется, что на самом деле невозможно перезагрузить онтологию :-( – dedek
Вы можете попытаться вызвать 'cleanup()' и 'init()' в онтологии, но я не гарантирую, что это будет работа ... – dedek
Эй, @dedek Эта проблема может быть решена путем выполнения -Iterator it = application.getPRs(). iterator(); while (it.hasNext()) { ProcessingResource pr = it.next(); если ( pr.getName() равно (FLEXIBLE_GAZETTEER).) { onto_Root_gazetteer = (ProcessingResource) pr.getParameterValue (ONTOROOT_PROPERTY); onto_Root_gazetteer.setParameterValue (. ONTOROOT_PARAMETER, OntoLoader.getInstance() getOntology()); on_Root_gazetteer.init(); } –
ganesh