【发布时间】:2017-02-23 13:59:05
【问题描述】:
在 GATE 中,ANNIE 的默认值是在初始化期间设置的,但有时需要根据需要进行更改。
我的要求:我想提取英文句子,而不考虑“下一行字符”,而是给出正确句子的“句号”。为此,我需要在 ANNIE 的 SentenceSplitter 中更改 transducerURL 的默认值。 这可以通过两种方式完成:
-
使用 ANNIE_with_defaults.gapp - 在 Sentencesplitter 中更改 initparams 值并从 java 访问
Gate.setGateHome(new File(Configuration.GATE_HOME)); Gate.init(); // Load ANNIE with defaults from the plug-ins folder File pluginsHome = Gate.getPluginsHome(); File anniePlugin = new File(pluginsHome, ANNIEConstants.PLUGIN_DIR); File annieGapp = new File(anniePlugin, ANNIEConstants.DEFAULT_FILE); annieController = (CorpusController) PersistenceManager.loadObjectFromFile(annieGapp);
我无法在 gapp 文件中找到更改其值的位置。
-
初始化GATE后,使用CreoleRegister访问ResourceData,修改参数transducerURL的默认值,如下图
String resourceClassName = "gate.creole.splitter.SentenceSplitter"; ResourceData resData = Gate.getCreoleRegister().get(resourceClassName); //System.out.println(resData.getParameterList()); ParameterList params = resData.getParameterList(); List<List<Parameter>> param = params.getInitimeParameters(); System.out.println(param); //System.out.println(param.get(0)); for(List<Parameter> plist : param) { for(Parameter pm : plist) { System.out.println("Name : "+pm.getName()+", "+pm.getDefaultValue()); } }
但Parameter没有setDefaultvalue方法。
如何解决这个问题?
欢迎任何形式的帮助。
【问题讨论】: