Package edu.berkeley.nlp.lm.values
Class KneserNeyCountValueContainer
java.lang.Object
edu.berkeley.nlp.lm.values.KneserNeyCountValueContainer
- All Implemented Interfaces:
ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>,Serializable
public final class KneserNeyCountValueContainer
extends Object
implements ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
Stored type and token counts necessary for estimating a Kneser-Ney language
model
- Author:
- adampauls
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classWarning: type counts are stored internally as 32-bit ints. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(int[] ngram, int startPos, int endPos, int ngramOrder, long offset, long contextOffset, int word, KneserNeyCountValueContainer.KneserNeyCounts val, long suffixOffset, boolean ngramIsNew) Adds a new value at the specified offset.voidclearStorageForOrder(int ngramOrder) createFreshValues(long[] numNgramsForEachOrder) Creates a fresh value container for copying purposes.longvoidgetFromOffset(long offset, int ngramOrder, KneserNeyCountValueContainer.KneserNeyCounts outputVal) Gets the value living at a particular offset.intgetNumOneCountNgrams(int ngramOrder) intgetNumTwoCountNgrams(int ngramOrder) Creates a fresh value of object (useful for passing as an output parameter)intnumValueBits(int ngramOrder) voidDestructively sets internal storage from another object.voidInitializes a value container with the map that contains itvoidsetSizeAtLeast(long size, int ngramOrder) Sets internal storage for size for a particular n-gram orderbooleanvoidtrim()Final clean up of storage.voidtrimAfterNgram(int ngramOrder, long size) Clear storage after an n-gram order is complete
-
Constructor Details
-
KneserNeyCountValueContainer
public KneserNeyCountValueContainer(int maxNgramOrder, int startIndex)
-
-
Method Details
-
createFreshValues
Description copied from interface:ValueContainerCreates a fresh value container for copying purposes.- Specified by:
createFreshValuesin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Returns:
-
getFromOffset
public void getFromOffset(long offset, int ngramOrder, KneserNeyCountValueContainer.KneserNeyCounts outputVal) Description copied from interface:ValueContainerGets the value living at a particular offset.- Specified by:
getFromOffsetin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Parameters:
offset-ngramOrder-
-
trimAfterNgram
public void trimAfterNgram(int ngramOrder, long size) Description copied from interface:ValueContainerClear storage after an n-gram order is complete- Specified by:
trimAfterNgramin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Parameters:
ngramOrder-size-
-
getScratchValue
Description copied from interface:ValueContainerCreates a fresh value of object (useful for passing as an output parameter)- Specified by:
getScratchValuein interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Returns:
-
add
public boolean add(int[] ngram, int startPos, int endPos, int ngramOrder, long offset, long contextOffset, int word, KneserNeyCountValueContainer.KneserNeyCounts val, long suffixOffset, boolean ngramIsNew) Description copied from interface:ValueContainerAdds a new value at the specified offset.- Specified by:
addin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Parameters:
ngramOrder- As always, ngramOrder is 0-based (0=unigram)offset-contextOffset-word-val-suffixOffset-- Returns:
- Whether or not the add was successful
-
setSizeAtLeast
public void setSizeAtLeast(long size, int ngramOrder) Description copied from interface:ValueContainerSets internal storage for size for a particular n-gram order- Specified by:
setSizeAtLeastin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Parameters:
size-ngramOrder-
-
setFromOtherValues
Description copied from interface:ValueContainerDestructively sets internal storage from another object.- Specified by:
setFromOtherValuesin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>- Parameters:
other-
-
trim
public void trim()Description copied from interface:ValueContainerFinal clean up of storage.- Specified by:
trimin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
setMap
Description copied from interface:ValueContainerInitializes a value container with the map that contains it- Specified by:
setMapin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
clearStorageForOrder
public void clearStorageForOrder(int ngramOrder) - Specified by:
clearStorageForOrderin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
storeSuffixoffsets
public boolean storeSuffixoffsets()- Specified by:
storeSuffixoffsetsin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
getBigramTypeCounts
public long getBigramTypeCounts() -
getNumOneCountNgrams
public int getNumOneCountNgrams(int ngramOrder) -
getNumTwoCountNgrams
public int getNumTwoCountNgrams(int ngramOrder) -
numValueBits
public int numValueBits(int ngramOrder) - Specified by:
numValueBitsin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-