/* * Copyright 1999-2002 Carnegie Mellon University. * Portions Copyright 2002 Sun Microsystems, Inc. * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. * All Rights Reserved. Use is subject to license terms. * * See the file "license.terms" for information on usage and * redistribution of this file, and for a DISCLAIMER OF ALL * WARRANTIES. * */ package edu.cmu.sphinx.trainer; import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerScore; import edu.cmu.sphinx.util.props.Configurable; import java.io.IOException; /** Provides mechanisms for computing statistics given a set of states and input data. */ public interface Learner extends Configurable { /** Starts the Learner. */ public void start(); /** Stops the Learner. */ public void stop(); /** * Sets the learner to use a utterance. * * @param utterance the utterance * @throws IOException if exception occurred */ public void setUtterance(Utterance utterance) throws IOException; /** * Initializes computation for current utterance and utterance graph. * * @param utterance the current utterance * @param graph the current utterance graph * @throws IOException if exception occurred */ public void initializeComputation(Utterance utterance, UtteranceGraph graph) throws IOException; /** * Implements the setGraph method. Since the flat initializer does not need a graph, this method produces an error. * * @param graph the graph */ public void setGraph(UtteranceGraph graph); /** @return posterior probabilities for a given state. */ public TrainerScore[] getScore(); }