edu.umass.cs.mallet.base.fst
Class Transducer
java.lang.Object
edu.umass.cs.mallet.base.fst.Transducer
- All Implemented Interfaces:
- java.io.Serializable
- Direct Known Subclasses:
- CRF, CRF2, CRF3, CRF4, CRFByGISUpdate, FeatureTransducer, HMM
- public abstract class Transducer
- extends java.lang.Object
- implements java.io.Serializable
- See Also:
- Serialized Form
Field Summary |
static double |
INFINITE_COST
|
protected Pipe |
inputPipe
A pipe that should produce a Sequence in the "data" slot, (and possibly one in the "target" slot also |
protected Pipe |
outputPipe
A pipe that should expect a ViterbiPath in the "target" slot,
and should produce something printable in the "source" slot that
indicates the results of transduction. |
static double |
ZERO_COST
|
Method Summary |
double |
averageTokenAccuracy(InstanceList ilist)
|
double |
averageTokenAccuracy(InstanceList ilist,
java.lang.String fileName)
|
boolean |
canIterateAllTransitions()
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
boolean increment)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
Sequence outputSequence)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
Sequence outputSequence,
boolean increment)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
boolean saveXis,
LabelAlphabet outputAlphabet)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
LabelAlphabet outputAlphabet)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
Sequence outputSequence,
int[] constraints)
|
Transducer.Lattice |
forwardBackward(Sequence inputSequence,
Sequence outputSequence,
Segment requiredSegment,
Sequence constrainedSequence)
Create constrained lattice such that all paths pass through the
the labeling of requiredSegment as indicated by
constrainedSequence |
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
boolean increment)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
boolean increment)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
boolean saveXis,
LabelAlphabet outputAlphabet)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
LabelAlphabet outputAlphabet)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
int[] constraints)
|
Transducer.BeamLattice |
forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
Segment requiredSegment,
Sequence constrainedSequence)
Create constrained lattice such that all paths pass through the
the labeling of requiredSegment as indicated by
constrainedSequence |
SequencePairAlignment |
generatePath()
|
int |
getBeamWidth()
|
Pipe |
getInputPipe()
|
double[] |
getNstatesExpl()
|
Pipe |
getOutputPipe()
|
abstract Transducer.State |
getState(int index)
|
Transducer.ViterbiLattice |
getViterbiLattice(Sequence input,
Sequence output,
int cacheSize)
|
void |
incIter()
|
abstract java.util.Iterator |
initialStateIterator()
|
boolean |
isGenerative()
|
boolean |
isTrainable()
|
abstract int |
numStates()
|
Instance |
pipe(Instance carrier)
We aren't really a Pipe subclass, but this method works like Pipes' do. |
void |
print()
|
void |
setBeamWidth(int beamWidth)
|
void |
setCurIter(int curIter)
|
void |
setKLeps(double KLeps)
|
void |
setRmin(double Rmin)
|
void |
setTrainable(boolean f)
|
void |
setUseForwardBackwardBeam(boolean state)
|
int |
stateIndexOfString(java.lang.String s)
|
static double |
sumNegLogProb(double a,
double b)
|
boolean |
train(InstanceList instances)
|
Sequence |
transduce(Sequence input)
Converts the given sequence into another sequence according to this transducer. |
Transducer.ViterbiPath_NBest |
viterbiPath_NBest(Sequence inputSequence,
int N)
|
Transducer.ViterbiPath_NBest |
viterbiPath_NBest(Sequence inputSequence,
Sequence outputSequence,
int N)
|
Transducer.ViterbiPath |
viterbiPath(java.lang.Object unpipedObject)
|
Transducer.ViterbiPath |
viterbiPath(Sequence inputSequence)
|
Transducer.ViterbiPath |
viterbiPath(Sequence inputSequence,
Sequence outputSequence)
|
Transducer.ViterbiPathBeam |
viterbiPathBeam(Sequence inputSequence)
|
Transducer.ViterbiPathBeam |
viterbiPathBeam(Sequence inputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeam |
viterbiPathBeam(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeamB |
viterbiPathBeamB(java.lang.Object unpipedObject)
|
Transducer.ViterbiPathBeamB |
viterbiPathBeamB(Sequence inputSequence)
|
Transducer.ViterbiPathBeamB |
viterbiPathBeamB(Sequence inputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeamB |
viterbiPathBeamB(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeamFB |
viterbiPathBeamFB(java.lang.Object unpipedObject)
|
Transducer.ViterbiPathBeamFB |
viterbiPathBeamFB(Sequence inputSequence)
|
Transducer.ViterbiPathBeamFB |
viterbiPathBeamFB(Sequence inputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeamFB |
viterbiPathBeamFB(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeamKL |
viterbiPathBeamKL(Sequence inputSequence)
|
Transducer.ViterbiPathBeamKL |
viterbiPathBeamKL(Sequence inputSequence,
int Bwidth)
|
Transducer.ViterbiPathBeamKL |
viterbiPathBeamKL(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ZERO_COST
public static final double ZERO_COST
- See Also:
- Constant Field Values
INFINITE_COST
public static final double INFINITE_COST
- See Also:
- Constant Field Values
inputPipe
protected Pipe inputPipe
- A pipe that should produce a Sequence in the "data" slot, (and possibly one in the "target" slot also
outputPipe
protected Pipe outputPipe
- A pipe that should expect a ViterbiPath in the "target" slot,
and should produce something printable in the "source" slot that
indicates the results of transduction.
Transducer
public Transducer()
getInputPipe
public Pipe getInputPipe()
getOutputPipe
public Pipe getOutputPipe()
getBeamWidth
public int getBeamWidth()
setBeamWidth
public void setBeamWidth(int beamWidth)
setCurIter
public void setCurIter(int curIter)
incIter
public void incIter()
setKLeps
public void setKLeps(double KLeps)
setRmin
public void setRmin(double Rmin)
getNstatesExpl
public double[] getNstatesExpl()
setUseForwardBackwardBeam
public void setUseForwardBackwardBeam(boolean state)
pipe
public Instance pipe(Instance carrier)
- We aren't really a Pipe subclass, but this method works like Pipes' do.
transduce
public Sequence transduce(Sequence input)
- Converts the given sequence into another sequence according to this transducer.
For exmaple, robabilistic transducer may do something like Viterbi here.
Subclasses of transducer may specify that they only accept special kinds of sequence.
- Parameters:
input
- Input sequence
- Returns:
- Sequence output by this transudcer
numStates
public abstract int numStates()
getState
public abstract Transducer.State getState(int index)
initialStateIterator
public abstract java.util.Iterator initialStateIterator()
canIterateAllTransitions
public boolean canIterateAllTransitions()
isGenerative
public boolean isGenerative()
isTrainable
public boolean isTrainable()
setTrainable
public void setTrainable(boolean f)
train
public boolean train(InstanceList instances)
averageTokenAccuracy
public double averageTokenAccuracy(InstanceList ilist)
averageTokenAccuracy
public double averageTokenAccuracy(InstanceList ilist,
java.lang.String fileName)
generatePath
public SequencePairAlignment generatePath()
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence)
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
boolean increment)
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
Sequence outputSequence)
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
Sequence outputSequence,
boolean increment)
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
LabelAlphabet outputAlphabet)
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
boolean saveXis,
LabelAlphabet outputAlphabet)
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
Sequence outputSequence,
Segment requiredSegment,
Sequence constrainedSequence)
- Create constrained lattice such that all paths pass through the
the labeling of
requiredSegment
as indicated by
constrainedSequence
- Parameters:
inputSequence
- input sequenceoutputSequence
- output sequencerequiredSegment
- segment of sequence that must be labelledconstrainedSequence
- lattice must have labels of this
sequence from requiredSegment.start
to
requiredSegment.end
correctly
stateIndexOfString
public int stateIndexOfString(java.lang.String s)
print
public void print()
forwardBackward
public Transducer.Lattice forwardBackward(Sequence inputSequence,
Sequence outputSequence,
int[] constraints)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
boolean increment)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
boolean increment)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
LabelAlphabet outputAlphabet)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
boolean increment,
boolean saveXis,
LabelAlphabet outputAlphabet)
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
Segment requiredSegment,
Sequence constrainedSequence)
- Create constrained lattice such that all paths pass through the
the labeling of
requiredSegment
as indicated by
constrainedSequence
- Parameters:
inputSequence
- input sequenceoutputSequence
- output sequencerequiredSegment
- segment of sequence that must be labelledconstrainedSequence
- lattice must have labels of this
sequence from requiredSegment.start
to
requiredSegment.end
correctly
forwardBackwardBeam
public Transducer.BeamLattice forwardBackwardBeam(Sequence inputSequence,
Sequence outputSequence,
int[] constraints)
viterbiPath
public Transducer.ViterbiPath viterbiPath(java.lang.Object unpipedObject)
viterbiPath
public Transducer.ViterbiPath viterbiPath(Sequence inputSequence)
viterbiPath
public Transducer.ViterbiPath viterbiPath(Sequence inputSequence,
Sequence outputSequence)
viterbiPath_NBest
public Transducer.ViterbiPath_NBest viterbiPath_NBest(Sequence inputSequence,
int N)
viterbiPath_NBest
public Transducer.ViterbiPath_NBest viterbiPath_NBest(Sequence inputSequence,
Sequence outputSequence,
int N)
viterbiPathBeam
public Transducer.ViterbiPathBeam viterbiPathBeam(Sequence inputSequence)
viterbiPathBeam
public Transducer.ViterbiPathBeam viterbiPathBeam(Sequence inputSequence,
int Bwidth)
viterbiPathBeam
public Transducer.ViterbiPathBeam viterbiPathBeam(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
viterbiPathBeamKL
public Transducer.ViterbiPathBeamKL viterbiPathBeamKL(Sequence inputSequence)
viterbiPathBeamKL
public Transducer.ViterbiPathBeamKL viterbiPathBeamKL(Sequence inputSequence,
int Bwidth)
viterbiPathBeamKL
public Transducer.ViterbiPathBeamKL viterbiPathBeamKL(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
viterbiPathBeamB
public Transducer.ViterbiPathBeamB viterbiPathBeamB(Sequence inputSequence)
viterbiPathBeamB
public Transducer.ViterbiPathBeamB viterbiPathBeamB(java.lang.Object unpipedObject)
viterbiPathBeamB
public Transducer.ViterbiPathBeamB viterbiPathBeamB(Sequence inputSequence,
int Bwidth)
viterbiPathBeamB
public Transducer.ViterbiPathBeamB viterbiPathBeamB(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
viterbiPathBeamFB
public Transducer.ViterbiPathBeamFB viterbiPathBeamFB(Sequence inputSequence)
viterbiPathBeamFB
public Transducer.ViterbiPathBeamFB viterbiPathBeamFB(java.lang.Object unpipedObject)
viterbiPathBeamFB
public Transducer.ViterbiPathBeamFB viterbiPathBeamFB(Sequence inputSequence,
int Bwidth)
viterbiPathBeamFB
public Transducer.ViterbiPathBeamFB viterbiPathBeamFB(Sequence inputSequence,
Sequence outputSequence,
int Bwidth)
getViterbiLattice
public Transducer.ViterbiLattice getViterbiLattice(Sequence input,
Sequence output,
int cacheSize)
sumNegLogProb
public static double sumNegLogProb(double a,
double b)