edu.berkeley.nlp.lm.phrasetable
Class PhraseTableValueContainer

java.lang.Object
  extended by edu.berkeley.nlp.lm.phrasetable.PhraseTableValueContainer
All Implemented Interfaces:
ValueContainer<PhraseTableValueContainer.PhraseTableValues>, Serializable

public final class PhraseTableValueContainer
extends Object
implements ValueContainer<PhraseTableValueContainer.PhraseTableValues>

Stored type and token counts necessary for estimating a Kneser-Ney language model

Author:
adampauls
See Also:
Serialized Form

Nested Class Summary
static class PhraseTableValueContainer.FeaturePhraseTableValues
           
static interface PhraseTableValueContainer.PhraseTableValues
           
static class PhraseTableValueContainer.TargetTranslationsValues
           
 
Constructor Summary
PhraseTableValueContainer(int separatorWord, int numFeatures)
           
 
Method Summary
 boolean add(int[] ngram, int startPos, int endPos, int ngramOrder, long offset, long contextOffset, int word, PhraseTableValueContainer.PhraseTableValues val, long suffixOffset, boolean ngramIsNew)
          Adds a new value at the specified offset.
 void clearStorageForOrder(int ngramOrder)
           
 PhraseTableValueContainer createFreshValues(long[] numNgramsForEachOrder_)
          Creates a fresh value container for copying purposes.
 void getFromOffset(long offset, int ngramOrder, PhraseTableValueContainer.PhraseTableValues outputVal)
          Gets the value living at a particular offset.
 PhraseTableValueContainer.PhraseTableValues getScratchValue()
          Creates a fresh value of object (useful for passing as an output parameter)
 int getSeparatorWord()
           
 int numValueBits(int ngramOrder)
           
 void setFromOtherValues(ValueContainer<PhraseTableValueContainer.PhraseTableValues> other)
          Destructively sets internal storage from another object.
 void setMap(NgramMap<PhraseTableValueContainer.PhraseTableValues> map)
          Initializes a value container with the map that contains it
 void setSizeAtLeast(long size, int ngramOrder)
          Sets internal storage for size for a particular n-gram order
 boolean storeSuffixoffsets()
           
 void trim()
          Final clean up of storage.
 void trimAfterNgram(int ngramOrder, long size)
          Clear storage after an n-gram order is complete
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PhraseTableValueContainer

public PhraseTableValueContainer(int separatorWord,
                                 int numFeatures)
Method Detail

createFreshValues

public PhraseTableValueContainer createFreshValues(long[] numNgramsForEachOrder_)
Description copied from interface: ValueContainer
Creates a fresh value container for copying purposes.

Specified by:
createFreshValues in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>
Returns:

getFromOffset

public void getFromOffset(long offset,
                          int ngramOrder,
                          PhraseTableValueContainer.PhraseTableValues outputVal)
Description copied from interface: ValueContainer
Gets the value living at a particular offset.

Specified by:
getFromOffset in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

trimAfterNgram

public void trimAfterNgram(int ngramOrder,
                           long size)
Description copied from interface: ValueContainer
Clear storage after an n-gram order is complete

Specified by:
trimAfterNgram in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

getScratchValue

public PhraseTableValueContainer.PhraseTableValues getScratchValue()
Description copied from interface: ValueContainer
Creates a fresh value of object (useful for passing as an output parameter)

Specified by:
getScratchValue in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>
Returns:

add

public boolean add(int[] ngram,
                   int startPos,
                   int endPos,
                   int ngramOrder,
                   long offset,
                   long contextOffset,
                   int word,
                   PhraseTableValueContainer.PhraseTableValues val,
                   long suffixOffset,
                   boolean ngramIsNew)
Description copied from interface: ValueContainer
Adds a new value at the specified offset.

Specified by:
add in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>
ngramOrder - As always, ngramOrder is 0-based (0=unigram)
Returns:
Whether or not the add was successful

setSizeAtLeast

public void setSizeAtLeast(long size,
                           int ngramOrder)
Description copied from interface: ValueContainer
Sets internal storage for size for a particular n-gram order

Specified by:
setSizeAtLeast in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

setFromOtherValues

public void setFromOtherValues(ValueContainer<PhraseTableValueContainer.PhraseTableValues> other)
Description copied from interface: ValueContainer
Destructively sets internal storage from another object.

Specified by:
setFromOtherValues in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

trim

public void trim()
Description copied from interface: ValueContainer
Final clean up of storage.

Specified by:
trim in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

setMap

public void setMap(NgramMap<PhraseTableValueContainer.PhraseTableValues> map)
Description copied from interface: ValueContainer
Initializes a value container with the map that contains it

Specified by:
setMap in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

getSeparatorWord

public int getSeparatorWord()

clearStorageForOrder

public void clearStorageForOrder(int ngramOrder)
Specified by:
clearStorageForOrder in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

storeSuffixoffsets

public boolean storeSuffixoffsets()
Specified by:
storeSuffixoffsets in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>

numValueBits

public int numValueBits(int ngramOrder)
Specified by:
numValueBits in interface ValueContainer<PhraseTableValueContainer.PhraseTableValues>