I am trying to run a tagger through a batch file for different files. This is my code:
String runap1="cd spt1"+"\n"+"java -Xss8192K -Xms128m -Xmx640m -classpath stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -model models/bidirectional-wsj-0-18.tagger -textFile "+fff[g]+">tag\\"+r1+"\nexit" ; FileWriter fw1 = new FileWriter("ac.bat"); BufferedWriter bw1 = new BufferedWriter(fw1); bw1.write(runap1); bw1.close(); Runtime rx = Runtime.getRuntime(); Process p = null; try { p = rx.exec("cmd.exe /c start ac.bat"); } catch(Exception e) { System.out.println("Error"); } // TODO try { Thread.sleep(15000); } catch (InterruptedException e) { System.out.println("Thread interrupted"); }
It takes a lot of time, and my computer hangs several times. I want to make shared memory for the tagger, to load it only once and all the batch files will use this shared tagger; they do not have to load tags every time. How can i do this?
source share