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 class
Warning: type counts are stored internally as 32-bit ints. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(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.void
clearStorageForOrder
(int ngramOrder) createFreshValues
(long[] numNgramsForEachOrder) Creates a fresh value container for copying purposes.long
void
getFromOffset
(long offset, int ngramOrder, KneserNeyCountValueContainer.KneserNeyCounts outputVal) Gets the value living at a particular offset.int
getNumOneCountNgrams
(int ngramOrder) int
getNumTwoCountNgrams
(int ngramOrder) Creates a fresh value of object (useful for passing as an output parameter)int
numValueBits
(int ngramOrder) void
Destructively sets internal storage from another object.void
Initializes a value container with the map that contains itvoid
setSizeAtLeast
(long size, int ngramOrder) Sets internal storage for size for a particular n-gram orderboolean
void
trim()
Final clean up of storage.void
trimAfterNgram
(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:ValueContainer
Creates a fresh value container for copying purposes.- Specified by:
createFreshValues
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
- Returns:
-
getFromOffset
public void getFromOffset(long offset, int ngramOrder, KneserNeyCountValueContainer.KneserNeyCounts outputVal) Description copied from interface:ValueContainer
Gets the value living at a particular offset.- Specified by:
getFromOffset
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
- Parameters:
offset
-ngramOrder
-
-
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 interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
- Parameters:
ngramOrder
-size
-
-
getScratchValue
Description copied from interface:ValueContainer
Creates a fresh value of object (useful for passing as an output parameter)- Specified by:
getScratchValue
in 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:ValueContainer
Adds a new value at the specified offset.- Specified by:
add
in 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:ValueContainer
Sets internal storage for size for a particular n-gram order- Specified by:
setSizeAtLeast
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
- Parameters:
size
-ngramOrder
-
-
setFromOtherValues
Description copied from interface:ValueContainer
Destructively sets internal storage from another object.- Specified by:
setFromOtherValues
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
- Parameters:
other
-
-
trim
public void trim()Description copied from interface:ValueContainer
Final clean up of storage.- Specified by:
trim
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
setMap
Description copied from interface:ValueContainer
Initializes a value container with the map that contains it- Specified by:
setMap
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
clearStorageForOrder
public void clearStorageForOrder(int ngramOrder) - Specified by:
clearStorageForOrder
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-
storeSuffixoffsets
public boolean storeSuffixoffsets()- Specified by:
storeSuffixoffsets
in 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:
numValueBits
in interfaceValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
-