package edu.fudan.ml.classifier.struct.inf; import edu.fudan.ml.classifier.Predict; import edu.fudan.ml.classifier.linear.inf.Inferencer; import edu.fudan.ml.types.Instance; import edu.fudan.nlp.pipe.seq.templet.TempletGroup; /** * 抽象最优序列解码器 * @author Feng Ji * */ public abstract class AbstractViterbi extends Inferencer { private static final long serialVersionUID = 2627448350847639460L; protected int[] orders; /** * 标记个数 */ int ysize; /** * 模板个数 */ int numTemplets; /** * 模板组 */ protected TempletGroup templets; /** * 状态组合个数 */ protected int numStates; /** * 抽象最优解码算法实现 * @param inst 样本实例 */ public abstract Predict getBest(Instance inst); /** * Viterbi解码算法不支持K-Best解码 */ @Override public Predict getBest(Instance inst, int nbest) { return getBest(inst); } public TempletGroup getTemplets() { return templets; } public void setTemplets(TempletGroup templets) { this.templets = templets; } }