public class SentimentModel
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> |
binaryClassification
CxN+1, where N = size of word vectors, C is the number of classes
|
int |
binaryClassificationSize
How many elements a classification matrix has
|
TwoDimensionalMap<java.lang.String,java.lang.String,SimpleTensor> |
binaryTensors
2Nx2NxN, where N is the size of the word vectors
|
int |
binaryTensorSize
How many elements the binary transformation tensors have
|
TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> |
binaryTransform
Nx2N+1, where N is the size of the word vectors
|
int |
binaryTransformSize
How many elements a transformation matrix has
|
int |
numBinaryMatrices
Cached here for easy calculation of the model size;
TwoDimensionalMap does not return that in O(1) time
|
int |
numClasses
How many classes the RNN is built to test against
|
int |
numHid
Dimension of hidden layers, size of word vectors, etc
|
int |
numUnaryMatrices
Cached here for easy calculation of the model size;
TwoDimensionalMap does not return that in O(1) time
|
RNNOptions |
op
Will store various options specific to this model
|
java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> |
unaryClassification
CxN+1, where N = size of word vectors, C is the number of classes
|
int |
unaryClassificationSize
How many elements a classification matrix has
|
java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> |
wordVectors
Map from vocabulary words to word vectors.
|
Constructor and Description |
---|
SentimentModel(RNNOptions op,
java.util.List<Tree> trainingTrees)
The traditional way of initializing an empty model suitable for training.
|
SentimentModel(TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> binaryTransform,
TwoDimensionalMap<java.lang.String,java.lang.String,SimpleTensor> binaryTensors,
TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> binaryClassification,
java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> unaryClassification,
java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> wordVectors,
RNNOptions op) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
basicCategory(java.lang.String category) |
org.ejml.simple.SimpleMatrix |
getBinaryClassification(java.lang.String left,
java.lang.String right) |
SimpleTensor |
getBinaryTensor(java.lang.String left,
java.lang.String right) |
org.ejml.simple.SimpleMatrix |
getBinaryTransform(java.lang.String left,
java.lang.String right) |
org.ejml.simple.SimpleMatrix |
getClassWForNode(Tree node) |
SimpleTensor |
getTensorForNode(Tree node) |
org.ejml.simple.SimpleMatrix |
getUnaryClassification(java.lang.String category) |
java.lang.String |
getVocabWord(java.lang.String word)
Get the known vocabulary word associated with the given word.
|
org.ejml.simple.SimpleMatrix |
getWForNode(Tree node) |
org.ejml.simple.SimpleMatrix |
getWordVector(java.lang.String word)
Retrieve a learned word vector for the given word.
|
static SentimentModel |
loadSerialized(java.lang.String path) |
double[] |
paramsToVector() |
void |
printParamInformation(int index) |
void |
saveSerialized(java.lang.String path) |
java.lang.String |
toString()
Dumps *all* the matrices in a mostly readable format.
|
int |
totalParamSize() |
void |
vectorToParams(double[] theta) |
public final TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> binaryTransform
public final TwoDimensionalMap<java.lang.String,java.lang.String,SimpleTensor> binaryTensors
public final TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> binaryClassification
public final java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> unaryClassification
public java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> wordVectors
getWordVector(String)
public final int numClasses
public final int numHid
public final int numBinaryMatrices
public final int binaryTransformSize
public final int binaryTensorSize
public final int binaryClassificationSize
public final int numUnaryMatrices
public final int unaryClassificationSize
public final RNNOptions op
public SentimentModel(TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> binaryTransform, TwoDimensionalMap<java.lang.String,java.lang.String,SimpleTensor> binaryTensors, TwoDimensionalMap<java.lang.String,java.lang.String,org.ejml.simple.SimpleMatrix> binaryClassification, java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> unaryClassification, java.util.Map<java.lang.String,org.ejml.simple.SimpleMatrix> wordVectors, RNNOptions op)
public SentimentModel(RNNOptions op, java.util.List<Tree> trainingTrees)
public java.lang.String toString()
toString
in class java.lang.Object
public int totalParamSize()
public double[] paramsToVector()
public void vectorToParams(double[] theta)
public org.ejml.simple.SimpleMatrix getWForNode(Tree node)
public SimpleTensor getTensorForNode(Tree node)
public org.ejml.simple.SimpleMatrix getClassWForNode(Tree node)
public org.ejml.simple.SimpleMatrix getWordVector(java.lang.String word)
<unk>
term.public java.lang.String getVocabWord(java.lang.String word)
UNKNOWN_WORD
if this word has not been observedpublic java.lang.String basicCategory(java.lang.String category)
public org.ejml.simple.SimpleMatrix getUnaryClassification(java.lang.String category)
public org.ejml.simple.SimpleMatrix getBinaryClassification(java.lang.String left, java.lang.String right)
public org.ejml.simple.SimpleMatrix getBinaryTransform(java.lang.String left, java.lang.String right)
public SimpleTensor getBinaryTensor(java.lang.String left, java.lang.String right)
public void saveSerialized(java.lang.String path)
public static SentimentModel loadSerialized(java.lang.String path)
public void printParamInformation(int index)