![JAR search and dependency download from the Maven repository](/logo.png)
edu.berkeley.nlp.PCFGLA.ParserData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of berkeleyparser Show documentation
Show all versions of berkeleyparser Show documentation
The Berkeley parser analyzes the grammatical structure of natural language using probabilistic context-free grammars (PCFGs).
The newest version!
package edu.berkeley.nlp.PCFGLA;
import java.io.*;
import java.util.Map;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
/**
* Stores the serialized material representing the grammar and lexicon of a
* parser, and an Options that specifies things like how unknown words were
* handled and how distances were binned that will also be needed to parse
* with the grammar.
*
* @author Slav Petrov
*/
public class ParserData implements Serializable {
Lexicon lex;
Grammar gr;
Map numbs;
SpanPredictor sp;
short[] numSubStatesArray;
int h_markov;
int v_markov;
Binarization bin;
public Binarization getBinarization() {
return bin;
}
public short[] getNumSubStatesArray() {
return numSubStatesArray;
}
public SpanPredictor getSpanPredictor() {
return sp;
}
public Grammar getGrammar() {
return gr;
}
public Lexicon getLexicon() {
return lex;
}
public Map getNumbs() {
return numbs;
}
public int getH_markov() {
return h_markov;
}
public int getV_markov() {
return v_markov;
}
public ParserData(Lexicon lex, Grammar gr, SpanPredictor sp, Map numbs, short[] nSub,int v_m, int h_m, Binarization b) {
this.lex = lex;
this.gr = gr;
this.sp = sp;
this.numbs = numbs;
this.numSubStatesArray = nSub;
this.h_markov = h_m;
this.v_markov = v_m;
this.bin = b;
}
public boolean Save(String fileName) {
try {
//here's some code from online; it looks good and gzips the output!
// there's a whole explanation at http://www.ecst.csuchico.edu/~amk/foo/advjava/notes/serial.html
// Create the necessary output streams to save the scribble.
FileOutputStream fos = new FileOutputStream(fileName); // Save to file
GZIPOutputStream gzos = new GZIPOutputStream(fos); // Compressed
ObjectOutputStream out = new ObjectOutputStream(gzos); // Save objects
out.writeObject(this); // Write the mix of grammars
out.flush(); // Always flush the output.
out.close(); // And close the stream.
gzos.close();
fos.close();
} catch (IOException e) {
System.out.println("IOException: "+e);
return false;
}
return true;
}
public static ParserData Load(String fileName) {
ParserData pData = null;
try {
FileInputStream fis = new FileInputStream(fileName); // Load from file
GZIPInputStream gzis = new GZIPInputStream(fis); // Compressed
ObjectInputStream in = new ObjectInputStream(gzis); // Load objects
pData = (ParserData)in.readObject(); // Read the mix of grammars
in.close(); // And close the stream.
gzis.close();
fis.close();
} catch (IOException e) {
System.out.println("IOException\n"+e);
return null;
} catch (ClassNotFoundException e) {
System.out.println("Class not found!");
return null;
}
return pData;
}
private static final long serialVersionUID = 1;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy