2017-02-23 54 views
0

在GATE中,ANNIE的默認值在初始化過程中設置,但有時根據需要進行更改。如何從java代碼更改GATE中ANNIE資源的默認值?

我的要求:我想提取英文句子而不考慮「下一個字符」,但「句號」給出正確的句子。爲此,我需要在ANNIE的SentenceSplitter中更改transducerURL的默認值。 這可以通過兩種方式來完成:

  1. 使用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文件中的值。

  • 使用CreoleRegister和改變參數transducerURL的默認值如下所示初始化GATE,訪問ResourceData後

    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()); 
          } 
         } 
    
  • 但是參數的確沒有setDefaultvalue方法。

    如何解決這個問題?

    歡迎任何形式的幫助。

    回答

    0

    我使用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> 
    

    添加幾行然後加載ANNIE_with_defaults.gapp從後端代碼如圖問題。

    希望它有幫助。