// Copyright 2013 Thomas Müller // This file is part of MarMoT, which is licensed under GPLv3. package marmot.core; import java.io.Serializable; import java.util.Collection; public interface WeightVector extends Serializable { static final long serialVersionUID = 1L; void updateWeights(State state, double amount, boolean transition); FeatureVector extractTransitionFeatures(State context); FeatureVector extractStateFeatures(Sequence sentence, int index); double dotProduct(State state, FeatureVector vector); FeatureVector extractStateFeatures(State state); void init(Model model, Collection<Sequence> sequence); void setPenalty(boolean b, double accumalted_penalty); void scaleBy(double scale_factor); void setExtendFeatureSet(boolean extend); double[] getWeights(); void setWeights(double[] weights); double[] getFloatWeights(); void setFloatWeights(double[] weights); }