public AddClassifierTokenPredictions(TokenClassifiers tokenClassifiers, int[] predRanks2add, boolean binary, InstanceList testList) { m_predRanks2add = predRanks2add; m_binary = binary; m_tokenClassifiers = tokenClassifiers; m_inProduction = false; m_dataAlphabet = (Alphabet) tokenClassifiers.getAlphabet().clone(); Alphabet labelAlphabet = tokenClassifiers.getLabelAlphabet(); // add the token prediction features to the alphabet for (int i = 0; i < m_predRanks2add.length; i++) { for (int j = 0; j < labelAlphabet.size(); j++) { String featName = "TOK_PRED=" + labelAlphabet.lookupObject(j).toString() + "_@_RANK_" + m_predRanks2add[i]; m_dataAlphabet.lookupIndex(featName, true); } } // evaluate token classifier if (testList != null) { Trial trial = new Trial(m_tokenClassifiers, testList); logger.info("Token classifier accuracy on test set = " + trial.accuracy()); } }
private void copyStatesAndWeightsFrom (CRF4 initialCRF) { //this.defaultFeatureIndex = initialCRF.defaultFeatureIndex; weightAlphabet = (Alphabet) initialCRF.weightAlphabet.clone (); weights = new SparseVector [initialCRF.weights.length]; states.clear (); for (int i = 0; i < initialCRF.states.size(); i++) { State s = (State) initialCRF.getState (i); String[][] weightNames = new String[s.weightsIndices.length][]; for (int j = 0; j < weightNames.length; j++) { int[] thisW = s.weightsIndices[j]; weightNames[j] = (String[]) initialCRF.weightAlphabet.lookupObjects(thisW, new String [s.weightsIndices[j].length]); } addState (s.name, s.initialCost, s.finalCost, s.destinationNames, s.labels, weightNames); } assert (weights.length > 0); defaultWeights = (double[]) initialCRF.defaultWeights.clone(); for (int i = 0; i < weights.length; i++) { Object wname = weightAlphabet.lookupObject (i); int otherIndex = initialCRF.weightAlphabet.lookupIndex (wname); weights[i] = (SparseVector) initialCRF.weights [otherIndex].cloneMatrix(); } featureSelections = (FeatureSelection[]) initialCRF.featureSelections.clone (); weightsFrozen = (boolean[]) initialCRF.weightsFrozen.clone(); }
return; Alphabet tmpDV = (Alphabet) ilist.getDataAlphabet().clone(); FeatureSelection featuresSelected = ilist.getFeatureSelection(); InstanceList tmpilist = new InstanceList (tmpDV, ilist.getTargetAlphabet());