public final class KneserNeyCountValueContainer extends java.lang.Object implements ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
Modifier and Type | Class and Description |
---|---|
static class |
KneserNeyCountValueContainer.KneserNeyCounts
Warning: type counts are stored internally as 32-bit ints.
|
Constructor and Description |
---|
KneserNeyCountValueContainer(int maxNgramOrder,
int startIndex) |
Modifier and Type | Method and Description |
---|---|
boolean |
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) |
KneserNeyCountValueContainer |
createFreshValues(long[] numNgramsForEachOrder)
Creates a fresh value container for copying purposes.
|
long |
getBigramTypeCounts() |
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) |
KneserNeyCountValueContainer.KneserNeyCounts |
getScratchValue()
Creates a fresh value of object (useful for passing as an output
parameter)
|
int |
numValueBits(int ngramOrder) |
void |
setFromOtherValues(ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts> other)
Destructively sets internal storage from another object.
|
void |
setMap(NgramMap<KneserNeyCountValueContainer.KneserNeyCounts> 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
|
public KneserNeyCountValueContainer(int maxNgramOrder, int startIndex)
public KneserNeyCountValueContainer createFreshValues(long[] numNgramsForEachOrder)
ValueContainer
createFreshValues
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public void getFromOffset(long offset, int ngramOrder, KneserNeyCountValueContainer.KneserNeyCounts outputVal)
ValueContainer
getFromOffset
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public void trimAfterNgram(int ngramOrder, long size)
ValueContainer
trimAfterNgram
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public KneserNeyCountValueContainer.KneserNeyCounts getScratchValue()
ValueContainer
getScratchValue
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public boolean add(int[] ngram, int startPos, int endPos, int ngramOrder, long offset, long contextOffset, int word, KneserNeyCountValueContainer.KneserNeyCounts val, long suffixOffset, boolean ngramIsNew)
ValueContainer
add
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
ngramOrder
- As always, ngramOrder is 0-based (0=unigram)public void setSizeAtLeast(long size, int ngramOrder)
ValueContainer
setSizeAtLeast
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public void setFromOtherValues(ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts> other)
ValueContainer
setFromOtherValues
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public void trim()
ValueContainer
trim
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public void setMap(NgramMap<KneserNeyCountValueContainer.KneserNeyCounts> map)
ValueContainer
setMap
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public void clearStorageForOrder(int ngramOrder)
clearStorageForOrder
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public boolean storeSuffixoffsets()
storeSuffixoffsets
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>
public long getBigramTypeCounts()
public int getNumOneCountNgrams(int ngramOrder)
public int getNumTwoCountNgrams(int ngramOrder)
public int numValueBits(int ngramOrder)
numValueBits
in interface ValueContainer<KneserNeyCountValueContainer.KneserNeyCounts>