You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2014/03/21 11:05:02 UTC
svn commit: r1579910 - in
/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser:
ParserModel.java lang/en/HeadRules.java lang/es/AncoraSpanishHeadRules.java
Author: joern
Date: Fri Mar 21 10:05:02 2014
New Revision: 1579910
URL: http://svn.apache.org/r1579910
Log:
OPENNLP-665 Updated the ParserModel to work with all Head Rule implementations
Modified:
opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java
opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java
opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java
Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java?rev=1579910&r1=1579909&r2=1579910&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java Fri Mar 21 10:05:02 2014
@@ -69,19 +69,6 @@ public class ParserModel extends BaseMod
}
}
- private static class HeadRulesSerializer implements ArtifactSerializer<opennlp.tools.parser.lang.en.HeadRules> {
-
- public opennlp.tools.parser.lang.en.HeadRules create(InputStream in) throws IOException,
- InvalidFormatException {
- return new opennlp.tools.parser.lang.en.HeadRules(new BufferedReader(new InputStreamReader(in, "UTF-8")));
- }
-
- public void serialize(opennlp.tools.parser.lang.en.HeadRules artifact, OutputStream out)
- throws IOException {
- artifact.serialize(new OutputStreamWriter(out, "UTF-8"));
- }
- }
-
private static final String COMPONENT_NAME = "Parser";
private static final String BUILD_MODEL_ENTRY_NAME = "build.model";
@@ -100,7 +87,7 @@ public class ParserModel extends BaseMod
public ParserModel(String languageCode, MaxentModel buildModel, MaxentModel checkModel,
MaxentModel attachModel, POSModel parserTagger,
- ChunkerModel chunkerTagger, opennlp.tools.parser.lang.en.HeadRules headRules,
+ ChunkerModel chunkerTagger, opennlp.tools.parser.HeadRules headRules,
ParserType modelType, Map<String, String> manifestInfoEntries) {
super(COMPONENT_NAME, languageCode, manifestInfoEntries);
@@ -135,7 +122,7 @@ public class ParserModel extends BaseMod
public ParserModel(String languageCode, MaxentModel buildModel, MaxentModel checkModel,
MaxentModel attachModel, POSModel parserTagger,
- ChunkerModel chunkerTagger, opennlp.tools.parser.lang.en.HeadRules headRules,
+ ChunkerModel chunkerTagger, opennlp.tools.parser.HeadRules headRules,
ParserType modelType) {
this (languageCode, buildModel, checkModel, attachModel, parserTagger,
chunkerTagger, headRules, modelType, null);
@@ -143,7 +130,7 @@ public class ParserModel extends BaseMod
public ParserModel(String languageCode, MaxentModel buildModel, MaxentModel checkModel,
POSModel parserTagger, ChunkerModel chunkerTagger,
- opennlp.tools.parser.lang.en.HeadRules headRules, ParserType type,
+ opennlp.tools.parser.HeadRules headRules, ParserType type,
Map<String, String> manifestInfoEntries) {
this (languageCode, buildModel, checkModel, null, parserTagger,
chunkerTagger, headRules, type, manifestInfoEntries);
@@ -169,8 +156,6 @@ public class ParserModel extends BaseMod
serializers.put("postagger", new POSModelSerializer());
serializers.put("chunker", new ChunkerModelSerializer());
- serializers.put("headrules", new HeadRulesSerializer());
-
}
public ParserType getParserType () {
@@ -197,8 +182,8 @@ public class ParserModel extends BaseMod
return (ChunkerModel) artifactMap.get(CHUNKER_TAGGER_MODEL_ENTRY_NAME);
}
- public opennlp.tools.parser.lang.en.HeadRules getHeadRules() {
- return (opennlp.tools.parser.lang.en.HeadRules)
+ public opennlp.tools.parser.HeadRules getHeadRules() {
+ return (opennlp.tools.parser.HeadRules)
artifactMap.get(HEAD_RULES_MODEL_ENTRY_NAME);
}
Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java?rev=1579910&r1=1579909&r2=1579910&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java Fri Mar 21 10:05:02 2014
@@ -21,6 +21,10 @@ package opennlp.tools.parser.lang.en;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.Arrays;
@@ -35,12 +39,28 @@ import opennlp.tools.parser.Constituent;
import opennlp.tools.parser.GapLabeler;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.chunking.Parser;
+import opennlp.tools.util.InvalidFormatException;
+import opennlp.tools.util.model.ArtifactSerializer;
+import opennlp.tools.util.model.SerializableArtifact;
/**
* Class for storing the English head rules associated with parsing.
*/
-public class HeadRules implements opennlp.tools.parser.HeadRules, GapLabeler {
+public class HeadRules implements opennlp.tools.parser.HeadRules, GapLabeler, SerializableArtifact {
+ public static class HeadRulesSerializer implements ArtifactSerializer<opennlp.tools.parser.lang.en.HeadRules> {
+
+ public opennlp.tools.parser.lang.en.HeadRules create(InputStream in) throws IOException,
+ InvalidFormatException {
+ return new opennlp.tools.parser.lang.en.HeadRules(new BufferedReader(new InputStreamReader(in, "UTF-8")));
+ }
+
+ public void serialize(opennlp.tools.parser.lang.en.HeadRules artifact, OutputStream out)
+ throws IOException {
+ artifact.serialize(new OutputStreamWriter(out, "UTF-8"));
+ }
+ }
+
private static class HeadRule {
public boolean leftToRight;
public String[] tags;
@@ -275,4 +295,9 @@ public class HeadRules implements opennl
return false;
}
}
+
+ @Override
+ public Class<?> getArtifactSerializerClass() {
+ return HeadRulesSerializer.class;
+ }
}
Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java?rev=1579910&r1=1579909&r2=1579910&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java Fri Mar 21 10:05:02 2014
@@ -20,6 +20,10 @@ package opennlp.tools.parser.lang.es;
import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.Arrays;
@@ -34,6 +38,9 @@ import opennlp.tools.parser.Constituent;
import opennlp.tools.parser.GapLabeler;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.chunking.Parser;
+import opennlp.tools.util.InvalidFormatException;
+import opennlp.tools.util.model.ArtifactSerializer;
+import opennlp.tools.util.model.SerializableArtifact;
/**
* Class for storing the Ancora Spanish head rules associated with parsing. The headrules
@@ -49,8 +56,20 @@ import opennlp.tools.parser.chunking.Par
* Other changes include removal of deprecated methods we do not need to use.
*
*/
-public class AncoraSpanishHeadRules implements opennlp.tools.parser.HeadRules, GapLabeler {
+public class AncoraSpanishHeadRules implements opennlp.tools.parser.HeadRules, GapLabeler, SerializableArtifact {
+ public static class HeadRulesSerializer implements ArtifactSerializer<opennlp.tools.parser.lang.es.AncoraSpanishHeadRules> {
+
+ public opennlp.tools.parser.lang.es.AncoraSpanishHeadRules create(InputStream in) throws IOException,
+ InvalidFormatException {
+ return new opennlp.tools.parser.lang.es.AncoraSpanishHeadRules(new BufferedReader(new InputStreamReader(in, "UTF-8")));
+ }
+
+ public void serialize(opennlp.tools.parser.lang.es.AncoraSpanishHeadRules artifact, OutputStream out)
+ throws IOException {
+ artifact.serialize(new OutputStreamWriter(out, "UTF-8"));
+ }
+ }
private static class HeadRule {
public boolean leftToRight;
public String[] tags;
@@ -276,4 +295,9 @@ public class AncoraSpanishHeadRules impl
return false;
}
}
+
+ @Override
+ public Class<?> getArtifactSerializerClass() {
+ return HeadRulesSerializer.class;
+ }
}