public class MetricalLpcfgProbabilityTracker
extends java.lang.Object
implements java.io.Serializable
MetricalLpcfgProbabilityTracker keeps track of counts for a
MetricalLpcfg. Items can be added into these
maps using the add... methods, and probabilities can be retrieved thorugh the
get...Probability methods.| Modifier and Type | Field and Description |
|---|---|
private java.util.Map<java.lang.String,java.util.Map<java.lang.Double,java.lang.Integer>> |
headMap
The map used for modeling: p(head(nonterminal) | measure, nonterminal, parentHeadLength)
|
private java.util.Map<Measure,java.util.Map<java.lang.Double,java.lang.Integer>> |
measureHeadMap
The map used for modeling: p(head(measure) | measure)
|
private static long |
serialVersionUID
Version 1
|
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Integer>> |
transitionMap
The map used for modeling: p(nonterminal -> children | measure, nonterminal, head(nonterminal))
|
| Modifier | Constructor and Description |
|---|---|
|
MetricalLpcfgProbabilityTracker()
Create a new empty probability tracker.
|
private |
MetricalLpcfgProbabilityTracker(MetricalLpcfgProbabilityTracker probabilities)
Create a new probability tracker as a deep copy of the given one.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addHead(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead parentHead,
MetricalLpcfgHead head,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Add a new head mapping.
|
void |
addMeasureHead(Measure measure,
MetricalLpcfgHead head)
Add a new measure head length mapping.
|
void |
addTransition(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead head,
java.lang.String transitionString,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Add a new transition mapping.
|
MetricalLpcfgProbabilityTracker |
deepCopy()
Get a deep copy of this probability tracker.
|
private static java.lang.String |
encode(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead head)
Encode the given measure, typeString, and head into a single String key.
|
private static java.lang.String |
encode(java.lang.String measureKey,
java.lang.String typeString,
MetricalLpcfgHead head)
Encode the given measureKey, typeString, and headLength into a String.
|
private static java.lang.String |
encodeBackoff(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead head,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Encode the given measure's backup type (based on the level), typeString, and headLength into
a single String key.
|
double |
getHeadProbability(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead parentHead,
MetricalLpcfgHead head,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Gets the probability p(headLength | measure, type, parentHeadLength).
|
double |
getMeasureHeadProbability(Measure measure,
MetricalLpcfgHead head)
Gets the probability p(headLength | measure).
|
double |
getTransitionProbability(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead head,
java.lang.String transitionString,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Gets the probability p(transition | measure, type, headLength).
|
void |
removeHead(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead parentHead,
MetricalLpcfgHead head,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Remove a head mapping.
|
void |
removeMeasureHead(Measure measure,
MetricalLpcfgHead head)
Remove measure head length mapping.
|
void |
removeTransition(Measure measure,
java.lang.String typeString,
MetricalLpcfgHead head,
java.lang.String transitionString,
MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
Remove a transition mapping.
|
java.lang.String |
toString() |
private static final long serialVersionUID
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Integer>> transitionMap
private final java.util.Map<java.lang.String,java.util.Map<java.lang.Double,java.lang.Integer>> headMap
private final java.util.Map<Measure,java.util.Map<java.lang.Double,java.lang.Integer>> measureHeadMap
public MetricalLpcfgProbabilityTracker()
private MetricalLpcfgProbabilityTracker(MetricalLpcfgProbabilityTracker probabilities)
probabilities - The probability tracker we want to be a deep copy of.public void addMeasureHead(Measure measure, MetricalLpcfgHead head)
measureHeadMap.measure - The measure.head - The head.public void removeMeasureHead(Measure measure, MetricalLpcfgHead head) throws MetricalLpcfgElementNotFoundException
measureHeadMap.measure - The measure.head - The head.MetricalLpcfgElementNotFoundException - If the measure head to be removed is not found.public double getMeasureHeadProbability(Measure measure, MetricalLpcfgHead head)
measure - The measure.head - The head.public void addTransition(Measure measure, java.lang.String typeString, MetricalLpcfgHead head, java.lang.String transitionString, MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
transitionMap.measure - The measure.typeString - The type.head - The head.transitionString - The transition String.level - The level to use for back-off probabilities.public void removeTransition(Measure measure, java.lang.String typeString, MetricalLpcfgHead head, java.lang.String transitionString, MetricalLpcfgNonterminal.MetricalLpcfgLevel level) throws MetricalLpcfgElementNotFoundException
transitionMap.measure - The measure.typeString - The type.head - The head.transitionString - The transition String.level - The level to use for back-off probabilities.MetricalLpcfgElementNotFoundException - If the transition to be removed is not found.public double getTransitionProbability(Measure measure, java.lang.String typeString, MetricalLpcfgHead head, java.lang.String transitionString, MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
measure - The measure.typeString - The type.head - The head.transitionString - The transition String.level - The level to use in case we need to back off.public void addHead(Measure measure, java.lang.String typeString, MetricalLpcfgHead parentHead, MetricalLpcfgHead head, MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
headMap.measure - The measure.typeString - The type.parentHead - The parent's head.head - The head.level - The level to use for back-off probabilities.public void removeHead(Measure measure, java.lang.String typeString, MetricalLpcfgHead parentHead, MetricalLpcfgHead head, MetricalLpcfgNonterminal.MetricalLpcfgLevel level) throws MetricalLpcfgElementNotFoundException
headMap.measure - The measure.typeString - The type.parentHead - The parent's head.head - The head.level - The level to use for back-off probabilities.MetricalLpcfgElementNotFoundException - If the head to be removed is not found.public double getHeadProbability(Measure measure, java.lang.String typeString, MetricalLpcfgHead parentHead, MetricalLpcfgHead head, MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
measure - The measure.typeString - The type.parentHead - The parent's head.head - The head.level - The level to use in case we need to back off.public MetricalLpcfgProbabilityTracker deepCopy()
public java.lang.String toString()
toString in class java.lang.Objectprivate static java.lang.String encode(Measure measure, java.lang.String typeString, MetricalLpcfgHead head)
measure - The measure we want to encode.typeString - The typeString to encode.head - The head to encode.private static java.lang.String encodeBackoff(Measure measure, java.lang.String typeString, MetricalLpcfgHead head, MetricalLpcfgNonterminal.MetricalLpcfgLevel level)
measure - The measure whose feature to encode.typeString - The typeString to encode.head - The head to encode.level - The level that decides which feature of the given measure to encode.private static java.lang.String encode(java.lang.String measureKey,
java.lang.String typeString,
MetricalLpcfgHead head)
measureKey - The measureKey to encode.typeString - The typeString to encode.head - The head to encode.