Skip to content

Commit f636673

Browse files
committed
Add an ability to print out the feature index as text rather than a serialized object
1 parent c8772b7 commit f636673

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/edu/stanford/nlp/ie/crf/CRFClassifier.java

+20
Original file line numberDiff line numberDiff line change
@@ -2449,6 +2449,22 @@ public void serializeFeatureIndex(String serializePath) {
24492449
}
24502450
}
24512451

2452+
public void serializeFeatureIndexToText(String serializePath) {
2453+
PrintWriter fout = null;
2454+
try {
2455+
fout = IOUtils.getPrintWriter(serializePath);
2456+
for (String feature : featureIndex) {
2457+
fout.print(feature + "\n");
2458+
}
2459+
log.info("Serializing FeatureIndex to " + serializePath + "... done.");
2460+
} catch (IOException e) {
2461+
log.info("Failed");
2462+
log.info("Serializing FeatureIndex to " + serializePath + "... FAILED.", e);
2463+
} finally {
2464+
fout.close();
2465+
}
2466+
}
2467+
24522468
public static Index<String> loadFeatureIndexFromFile(String serializePath) {
24532469
ObjectInputStream ois = null;
24542470
Index<String> f = null;
@@ -2999,6 +3015,10 @@ public static void main(String[] args) throws Exception {
29993015
crf.serializeFeatureIndex(crf.flags.serializeFeatureIndexTo);
30003016
}
30013017

3018+
if (crf.flags.serializeFeatureIndexToText != null) {
3019+
crf.serializeFeatureIndexToText(crf.flags.serializeFeatureIndexToText);
3020+
}
3021+
30023022
if (serializeToText != null) {
30033023
crf.serializeTextClassifier(serializeToText);
30043024
}

src/edu/stanford/nlp/sequences/SeqClassifierFlags.java

+3
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,7 @@ public class SeqClassifierFlags implements Serializable {
10061006
public String supFileEN = null;
10071007
public String supFileCH = null;
10081008
public transient String serializeFeatureIndexTo = null;
1009+
public transient String serializeFeatureIndexToText = null;
10091010
public String loadFeatureIndexFromEN = null;
10101011
public String loadFeatureIndexFromCH = null;
10111012
public double lambdaEN = 1.0;
@@ -2570,6 +2571,8 @@ public void setProperties(Properties props, boolean printProps) {
25702571
supFileCH = val;
25712572
} else if (key.equalsIgnoreCase("serializeFeatureIndexTo")){
25722573
serializeFeatureIndexTo = val;
2574+
} else if (key.equalsIgnoreCase("serializeFeatureIndexToText")){
2575+
serializeFeatureIndexToText = val;
25732576
} else if (key.equalsIgnoreCase("loadFeatureIndexFromEN")){
25742577
loadFeatureIndexFromEN = val;
25752578
} else if (key.equalsIgnoreCase("loadFeatureIndexFromCH")){

0 commit comments

Comments
 (0)