我是GATE NLP的新手。我正在研究一個適用於GATE NLP
的應用程序。 因此,我創建了一個管道,並且通過創建單例對象在應用程序中只加載一次。所以,由於應用程序的性能有所提高,但是當我在本體或地名索引中進行任何更改並重新運行應用程序時,它並沒有考慮新添加的單詞,因爲我通過加載我的管道來製作單個對象,所以它考慮以前加載的地名詞典和本體論。所以, 我用下面的代碼使用它正在更新地名詞典,但不是本體論。toRootGazetteer的重新初始化方法不起作用
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()); to_Root_gazetteer.init(); } –
ganesh