/* This file is part of the Joshua Machine Translation System. * * Joshua is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ package joshua.decoder.ff.lm.distributed_lm; import java.util.ArrayList; /** * @author Zhifei Li, <zhifei.work@gmail.com> * @version $LastChangedDate: 2009-03-11 11:13:49 -0500 (Wed, 11 Mar 2009) $ */ public abstract class LMClient { public LMClient() { } public LMClient(String hostname, int port) { } //TODO public void close_client() { } //cmd: prob order wrd1 wrd2 ... public abstract double get_prob(ArrayList<Integer> ngram, int order); //cmd: prob order wrd1 wrd2 ... public abstract double get_prob(int[] ngram, int order); //cmd: prob order wrd1 wrd2 ... public abstract double get_prob_backoff_state(int[] ngram, int n_additional_bow); public abstract int[] get_left_euqi_state(int[] original_state_wrds, int order, double[] cost); public abstract int[] get_right_euqi_state(int[] original_state, int order); }