All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.berkeley.nlp.lm.AbstractContextEncodedNgramLanguageModel Maven / Gradle / Ivy

The newest version!
package edu.berkeley.nlp.lm;

import java.io.Serializable;
import java.util.List;

import edu.berkeley.nlp.lm.util.Annotations.OutputParameter;

/**
 * 
 * Default implementation of all ContextEncodedNgramLanguageModel functionality
 * except {@link #getLogProb(long, int, int, LmContextInfo)},
 * {@link #getOffsetForNgram(int[], int, int), and {
 * @link #getNgramForOffset(long, int, int)}.
 * 
 * 
 * @author adampauls
 * 
 * @param 
 */
public abstract class AbstractContextEncodedNgramLanguageModel extends AbstractNgramLanguageModel implements ContextEncodedNgramLanguageModel,
	Serializable
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public AbstractContextEncodedNgramLanguageModel(final int lmOrder, final WordIndexer wordIndexer, final float oovWordLogProb) {
		super(lmOrder, wordIndexer, oovWordLogProb);
	}

	@Override
	public float scoreSentence(final List sentence) {
		return ContextEncodedNgramLanguageModel.DefaultImplementations.scoreSentence(sentence, this);
	}

	@Override
	public float getLogProb(final List phrase) {
		return ContextEncodedNgramLanguageModel.DefaultImplementations.getLogProb(phrase, this);
	}

	@Override
	public abstract float getLogProb(long contextOffset, int contextOrder, int word, @OutputParameter LmContextInfo outputContext);

	@Override
	public abstract LmContextInfo getOffsetForNgram(int[] ngram, int startPos, int endPos);

	@Override
	public abstract int[] getNgramForOffset(long contextOffset, int contextOrder, int word);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy