public Sequence getSegmentInputSequence () { ArrayList ret = new ArrayList (); for (int i=start; i <= end; i++) ret.add( input.get( i ) ); return new ArraySequence( ret ); }
public Instance pipe(Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String) carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println("target[" + i + "]=" + as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append(' '); sb.append(source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println("carrier.getSource() = " + carrier.getSource()); return carrier; }
else sequence[j] = (String) predicted.get (j); ArraySequence segmentCorrectedOutput = new ArraySequence (sequence); logger.fine ((String)predicted.get (j) + "\t"); logger.fine ("\nCorrected prediction: "); for (int j=0; j < segmentCorrectedOutput.size(); j++) logger.fine ((String)segmentCorrectedOutput.get (j) + "\t"); logger.fine (""); if (numIncorrect > -1)
/** * Returns the maximum-value state sequence from this Lattice. * This is distinct from {@link #output()}, which returns the Transducer's output from the * most likely state sequence. * <p> * Almost all applications will want to use the <tt>output</tt> method instead. * An exception are debugging tools that care specifically about the state sequence. * @return A Sequence of Strings. Its length will be the input length plus 1. (for start state). * */ public Sequence getBestStates () { String[] stateNames = new String [nodePath.length]; for (int i = 0; i < nodePath.length; i++) { ViterbiNode node = nodePath[i]; stateNames[i] = node.state.getName (); } return new ArraySequence (stateNames); }
public Instance pipe(Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String) carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println("target[" + i + "]=" + as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append(' '); sb.append(source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println("carrier.getSource() = " + carrier.getSource()); return carrier; }
logger.fine (sequence[j]); ArraySequence segmentCorrectedOutput = new ArraySequence (sequence);
public Instance pipe (Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String)carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println ("target["+i+"]="+as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append (' '); sb.append (source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println ("carrier.getSource() = "+carrier.getSource()); return carrier; } private static final long serialVersionUID = 1;
this.output = new ArraySequence (new ArrayList ()); return; this.output = new ArraySequence (outputArray, false);
public Instance pipe(Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String) carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println("target[" + i + "]=" + as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append(' '); sb.append(source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println("carrier.getSource() = " + carrier.getSource()); return carrier; }
Sequence hypo_current = new ArraySequence (outputArray, false);
public Instance pipe (Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String)carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println ("target["+i+"]="+as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append (' '); sb.append (source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println ("carrier.getSource() = "+carrier.getSource()); return carrier; } private static final long serialVersionUID = 1;
public Sequence[] outputNBest(int n) { int numFinal = 0; for (int i = 0; i < numStates(); i++) { if (lattice[latticeLength-1][i] != null && lattice[latticeLength-1][i].delta < INFINITE_COST) numFinal++; } ViterbiNode[] finalNodes = new ViterbiNode[numFinal]; int f = 0; for (int i = 0; i < numStates(); i++) { if (lattice[latticeLength-1][i] != null && lattice[latticeLength-1][i].delta < INFINITE_COST) finalNodes[f++] = lattice[latticeLength-1][i]; } AStar search = new AStar(finalNodes, latticeLength * numStates()); List outputs = new ArrayList(n); for (int i = 0; i < n && search.hasNext(); i++) { SearchNode ans = (SearchNode)search.next(); Object[] seq = new Object[input.size()]; ans = ans.getParent(); // this corresponds to the Viterbi node after the first transition for (int j = 0; j < input.size(); j++) { ViterbiNode v = (ViterbiNode)ans.getState(); assert(v.inputPosition == j + 1); seq[j] = v.output; ans = ans.getParent(); } outputs.add(new ArraySequence(seq, false)); } return (Sequence [])outputs.toArray(new Sequence[] {}); } } // end of ViterbiLattice
this.output = new ArraySequence (new ArrayList ()); return; this.output = new ArraySequence (outputArray, false);
this.output = new ArraySequence (outputArray, false);
this.output = new ArraySequence (new ArrayList ()); return; this.output = new ArraySequence (outputArray, false);
this.output = new ArraySequence (outputArray, false);
this.output = new ArraySequence (new ArrayList ()); return; this.output = new ArraySequence (outputArray, false);
this.output = new ArraySequence (new ArrayList ()); return; this.output = new ArraySequence (new ArrayList ()); return; this.output = new ArraySequence (outputArray2, false);