Package edu.berkeley.nlp.lm.values
Class KneserNeyCountValueContainer
- java.lang.Object
-
- edu.berkeley.nlp.lm.values.KneserNeyCountValueContainer
-
- All Implemented Interfaces:
ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>,java.io.Serializable
public final class KneserNeyCountValueContainer extends java.lang.Object implements ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
Stored type and token counts necessary for estimating a Kneser-Ney language model- Author:
- adampauls
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classKneserNeyCountValueContainer.KneserNeyCountsWarning: type counts are stored internally as 32-bit ints.
-
Constructor Summary
Constructors Constructor Description KneserNeyCountValueContainer(int maxNgramOrder, int startIndex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(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)KneserNeyCountValueContainercreateFreshValues(long[] numNgramsForEachOrder)Creates a fresh value container for copying purposes.longgetBigramTypeCounts()voidgetFromOffset(long offset, int ngramOrder, KneserNeyCountValueContainer.KneserNeyCounts outputVal)Gets the value living at a particular offset.intgetNumOneCountNgrams(int ngramOrder)intgetNumTwoCountNgrams(int ngramOrder)KneserNeyCountValueContainer.KneserNeyCountsgetScratchValue()Creates a fresh value of object (useful for passing as an output parameter)intnumValueBits(int ngramOrder)voidsetFromOtherValues(ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts> other)Destructively sets internal storage from another object.voidsetMap(NgramMap<KneserNeyCountValueContainer.KneserNeyCounts> map)Initializes a value container with the map that contains itvoidsetSizeAtLeast(long size, int ngramOrder)Sets internal storage for size for a particular n-gram orderbooleanstoreSuffixoffsets()voidtrim()Final clean up of storage.voidtrimAfterNgram(int ngramOrder, long size)Clear storage after an n-gram order is complete
-
-
-
Method Detail
-
createFreshValues
public KneserNeyCountValueContainer createFreshValues(long[] numNgramsForEachOrder)
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>
-
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>
-
getScratchValue
public KneserNeyCountValueContainer.KneserNeyCounts 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>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:ValueContainerSets internal storage for size for a particular n-gram order- Specified by:
setSizeAtLeastin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
setFromOtherValues
public void setFromOtherValues(ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts> other)
Description copied from interface:ValueContainerDestructively sets internal storage from another object.- Specified by:
setFromOtherValuesin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
trim
public void trim()
Description copied from interface:ValueContainerFinal clean up of storage.- Specified by:
trimin interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
setMap
public void setMap(NgramMap<KneserNeyCountValueContainer.KneserNeyCounts> map)
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>
-
-