如何从java代码更改GATE中ANNIE资源的默认值?
在门内,ANNIE的默认值是在初始化期间设置的,但有时必须根据需要进行更改 我的要求:我想提取英语句子,不考虑“下一行字符”,而是考虑给出正确句子的“句号”。为此,我需要更改ANNIE中SentenceSplitter中transducerURL的默认值。 这可以通过两种方式实现:如何从java代码更改GATE中ANNIE资源的默认值?,java,nlp,gate,Java,Nlp,Gate,在门内,ANNIE的默认值是在初始化期间设置的,但有时必须根据需要进行更改 我的要求:我想提取英语句子,不考虑“下一行字符”,而是考虑给出正确句子的“句号”。为此,我需要更改ANNIE中SentenceSplitter中transducerURL的默认值。 这可以通过两种方式实现: 使用ANNIE_with_defaults.gapp-更改Sentencesplitter中的initparams值并从java访问 Gate.setGateHome(new File(Configurati
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);
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());
}
}
String resourceClassName=“gate.creole.splitter.SentenceSplitter”;
ResourceData resData=Gate.getCreoleRegister().get(resourceClassName);
//System.out.println(resData.getParameterList());
ParameterList params=resData.getParameterList();
List param=params.getInitimeParameters();
系统输出打印项次(参数);
//System.out.println(参数get(0));
对于(列表plist:param)
{
用于(参数pm:plist)
{
System.out.println(“名称:“+pm.getName()+”,“+pm.getDefaultValue());
}
}
欢迎任何帮助。我使用creole.xml解决了这个问题。我试过使用SentenceSplitter,但它给了我错误的句子。因此,我改用RegexSentenceSplitter。 在creole.xml中添加了几行-
<RESOURCE>
<CLASS>gate.creole.splitter.RegexSentenceSplitter</CLASS>
<PARAMETER NAME="externalSplitListURL" DEFAULT="file:/C:/Program%20Files/GATE_Developer_8.1/plugins/ANNIE/resources/regex-splitter/external-split-patterns.txt" COMMENT="The URL to the custom external-split-patterns.txt" SUFFIXES="txt;text">java.net.URL</PARAMETER>
<PARAMETER NAME="internalSplitListURL" DEFAULT="file:/C:/Program%20Files/GATE_Developer_8.1/plugins/ANNIE/resources/regex-splitter/internal-split-patterns.txt" COMMENT="The URL to the custom internal-split-patterns.txt" SUFFIXES="txt;text">java.net.URL</PARAMETER>
<PARAMETER NAME="nonSplitListURL" DEFAULT="file:/C:/Program%20Files/GATE_Developer_8.1/plugins/ANNIE/resources/regex-splitter/non-split-patterns.txt" COMMENT="The URL to the custom non-split-patterns.txt" SUFFIXES="txt;text">java.net.URL</PARAMETER>
</RESOURCE>
gate.creole.splitter.RegexSentenceSplitter
java.net.URL
java.net.URL
java.net.URL
然后从后端代码用_defaults.gapp加载ANNIE_,如问题所示
希望这可能会有帮助。