List of usage examples for edu.stanford.nlp.util Timing done
public void done(StringBuilder msg)
From source file:ilcc.ccgparser.nnparser.IncNNParser.java
private void loadModelFile(String modelFile, boolean verbose) throws IOException { Timing t = new Timing(); try {//from w ww .jav a 2s . c o m System.err.println("Loading ccg parser model file: " + modelFile + " ... "); String s; BufferedReader input = IOUtils.readerFromString(modelFile); s = input.readLine(); int nDict = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nPOS = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nccgCat = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int eSize = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int hSize = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nTokens = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nPreComputed = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int classes = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nuRules = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nbRules = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nrRules = Integer.parseInt(s.substring(s.indexOf('=') + 1)); actsMap = new HashMap<>(); knownWords = new ArrayList<>(); knownPos = new ArrayList<>(); knownCCGCats = new ArrayList<>(); srparser = new NonInc(); double[][] E = new double[nDict + nPOS + nccgCat][eSize]; String[] splits; int index = 0; for (int k = 0; k < classes; k++) { s = input.readLine().trim(); splits = s.split("--"); actsMap.put(ArcJAction.make(SRAction.valueOf(splits[0]), Integer.parseInt(splits[1]), splits[2], RuleType.valueOf(splits[3])), k); } for (int k = 0; k < nuRules; k++) { s = input.readLine().trim(); splits = s.split(" "); String key = splits[0]; for (int i = 1; i < splits.length; i++) { String[] parts = splits[i].split("--"); CCGJRuleInfo info = new CCGJRuleInfo(CCGcat.ccgCatFromString(parts[0]), null, CCGcat.ccgCatFromString(parts[2]), parts[3].equals("true"), RuleType.valueOf(parts[4]), Integer.parseInt(parts[5]), 0); srparser.treebankRules.addUnaryRuleInfo(info, key); } } for (int k = 0; k < nbRules; k++) { s = input.readLine().trim(); splits = s.split(" "); String key = splits[0]; for (int i = 1; i < splits.length; i++) { String[] parts = splits[i].split("--"); CCGJRuleInfo info = new CCGJRuleInfo(CCGcat.ccgCatFromString(parts[0]), CCGcat.ccgCatFromString(parts[1]), CCGcat.ccgCatFromString(parts[2]), parts[3].equals("true"), RuleType.valueOf(parts[4]), Integer.parseInt(parts[5]), 0); srparser.treebankRules.addBinaryRuleInfo(info, key); } } for (int k = 0; k < nrRules; k++) { s = input.readLine().trim(); splits = s.split(" "); String key = splits[0]; for (int i = 1; i < splits.length; i++) { String[] parts = splits[i].split("--"); CCGJRuleInfo info = new CCGJRuleInfo(CCGcat.ccgCatFromString(parts[0]), CCGcat.ccgCatFromString(parts[1]), CCGcat.ccgCatFromString(parts[2]), parts[3].equals("true"), RuleType.valueOf(parts[4]), Integer.parseInt(parts[5]), 0); srparser.treebankRules.addRevealRuleInfo(info, key); } } for (int k = 0; k < nDict; ++k) { s = input.readLine(); splits = s.split(" "); knownWords.add(splits[0]); for (int i = 0; i < eSize; ++i) E[index][i] = Double.parseDouble(splits[i + 1]); index = index + 1; } for (int k = 0; k < nPOS; ++k) { s = input.readLine(); splits = s.split(" "); knownPos.add(splits[0]); for (int i = 0; i < eSize; ++i) E[index][i] = Double.parseDouble(splits[i + 1]); index = index + 1; } for (int k = 0; k < nccgCat; ++k) { s = input.readLine(); splits = s.split(" "); knownCCGCats.add(splits[0]); for (int i = 0; i < eSize; ++i) E[index][i] = Double.parseDouble(splits[i + 1]); index = index + 1; } generateIDs(); double[][] W1 = new double[hSize][eSize * nTokens]; for (int j = 0; j < W1[0].length; ++j) { s = input.readLine(); splits = s.split(" "); for (int i = 0; i < W1.length; ++i) W1[i][j] = Double.parseDouble(splits[i]); } double[] b1 = new double[hSize]; s = input.readLine(); splits = s.split(" "); for (int i = 0; i < b1.length; ++i) b1[i] = Double.parseDouble(splits[i]); double[][] W2 = new double[classes][hSize]; for (int j = 0; j < W2[0].length; ++j) { s = input.readLine(); splits = s.split(" "); for (int i = 0; i < W2.length; ++i) W2[i][j] = Double.parseDouble(splits[i]); } preComputed = new ArrayList<Integer>(); while (preComputed.size() < nPreComputed) { s = input.readLine(); splits = s.split(" "); for (String split : splits) { preComputed.add(Integer.parseInt(split)); } } input.close(); classifier = new Classifier(config, E, W1, b1, W2, preComputed); } catch (IOException e) { throw new RuntimeIOException(e); } // initialize the loaded parser // Pre-compute matrix multiplications if (config.numPreComputed > 0) { classifier.preCompute(); } t.done("Initializing ccg parser"); }
From source file:ilcc.ccgparser.test.IncExtractProb.java
private void loadModelFile(String modelFile, boolean verbose) throws IOException { Timing t = new Timing(); try {//from www .j a v a2 s . c o m System.err.println("Loading ccg parser model file: " + modelFile + " ... "); String s; BufferedReader input = IOUtils.readerFromString(modelFile); s = input.readLine(); int nDict = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nPOS = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nccgCat = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int eSize = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int hSize = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nTokens = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nPreComputed = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int classes = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nuRules = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nbRules = Integer.parseInt(s.substring(s.indexOf('=') + 1)); s = input.readLine(); int nrRules = Integer.parseInt(s.substring(s.indexOf('=') + 1)); actsMap = new HashMap<>(); knownWords = new ArrayList<>(); knownPos = new ArrayList<>(); knownCCGCats = new ArrayList<>(); double[][] E = new double[nDict + nPOS + nccgCat][eSize]; String[] splits; int index = 0; for (int k = 0; k < classes; k++) { s = input.readLine().trim(); splits = s.split("--"); actsMap.put(ArcJAction.make(SRAction.valueOf(splits[0]), Integer.parseInt(splits[1]), splits[2], RuleType.valueOf(splits[3])), k); } for (int k = 0; k < nuRules; k++) { s = input.readLine().trim(); splits = s.split(" "); String key = splits[0]; for (int i = 1; i < splits.length; i++) { String[] parts = splits[i].split("--"); CCGJRuleInfo info = new CCGJRuleInfo(CCGcat.ccgCatFromString(parts[0]), null, CCGcat.ccgCatFromString(parts[2]), parts[3].equals("true"), RuleType.valueOf(parts[4]), Integer.parseInt(parts[5]), 0); srparser.treebankRules.addUnaryRuleInfo(info, key); } } for (int k = 0; k < nbRules; k++) { s = input.readLine().trim(); splits = s.split(" "); String key = splits[0]; for (int i = 1; i < splits.length; i++) { String[] parts = splits[i].split("--"); CCGJRuleInfo info = new CCGJRuleInfo(CCGcat.ccgCatFromString(parts[0]), CCGcat.ccgCatFromString(parts[1]), CCGcat.ccgCatFromString(parts[2]), parts[3].equals("true"), RuleType.valueOf(parts[4]), Integer.parseInt(parts[5]), 0); srparser.treebankRules.addBinaryRuleInfo(info, key); } } for (int k = 0; k < nrRules; k++) { s = input.readLine().trim(); splits = s.split(" "); String key = splits[0]; for (int i = 1; i < splits.length; i++) { String[] parts = splits[i].split("--"); CCGJRuleInfo info = new CCGJRuleInfo(CCGcat.ccgCatFromString(parts[0]), CCGcat.ccgCatFromString(parts[1]), CCGcat.ccgCatFromString(parts[2]), parts[3].equals("true"), RuleType.valueOf(parts[4]), Integer.parseInt(parts[5]), 0); srparser.treebankRules.addRevealRuleInfo(info, key); } } for (int k = 0; k < nDict; ++k) { s = input.readLine(); splits = s.split(" "); knownWords.add(splits[0]); for (int i = 0; i < eSize; ++i) E[index][i] = Double.parseDouble(splits[i + 1]); index = index + 1; } for (int k = 0; k < nPOS; ++k) { s = input.readLine(); splits = s.split(" "); knownPos.add(splits[0]); for (int i = 0; i < eSize; ++i) E[index][i] = Double.parseDouble(splits[i + 1]); index = index + 1; } for (int k = 0; k < nccgCat; ++k) { s = input.readLine(); splits = s.split(" "); knownCCGCats.add(splits[0]); for (int i = 0; i < eSize; ++i) E[index][i] = Double.parseDouble(splits[i + 1]); index = index + 1; } generateIDs(); double[][] W1 = new double[hSize][eSize * nTokens]; for (int j = 0; j < W1[0].length; ++j) { s = input.readLine(); splits = s.split(" "); for (int i = 0; i < W1.length; ++i) W1[i][j] = Double.parseDouble(splits[i]); } double[] b1 = new double[hSize]; s = input.readLine(); splits = s.split(" "); for (int i = 0; i < b1.length; ++i) b1[i] = Double.parseDouble(splits[i]); double[][] W2 = new double[classes][hSize]; for (int j = 0; j < W2[0].length; ++j) { s = input.readLine(); splits = s.split(" "); for (int i = 0; i < W2.length; ++i) W2[i][j] = Double.parseDouble(splits[i]); } preComputed = new ArrayList<Integer>(); while (preComputed.size() < nPreComputed) { s = input.readLine(); splits = s.split(" "); for (String split : splits) { preComputed.add(Integer.parseInt(split)); } } input.close(); classifier = new Classifier(config, E, W1, b1, W2, preComputed); } catch (IOException e) { throw new RuntimeIOException(e); } // initialize the loaded parser // Pre-compute matrix multiplications if (config.numPreComputed > 0) { classifier.preCompute(); } t.done("Initializing ccg parser"); }