
edu.berkeley.nlp.lm.AbstractContextEncodedNgramLanguageModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of berkeleylm Show documentation
Show all versions of berkeleylm Show documentation
An N-gram Language Model Library from UC Berkeley
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);
}