Error in Parts of Speech Division in NLP

Started by harsha0709, Mar 17, 2015, 11:31 AM

Previous topic - Next topic

harsha0709

Hi,
While I am trying to execute the following code


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.StringReader;
import opennlp.tools.cmdline.PerformanceMonitor;
import opennlp.tools.postag.POSTaggerME;
import opennlp.tools.tokenize.WhitespaceTokenizer;
import opennlp.tools.util.ObjectStream;
import opennlp.tools.util.PlainTextByLineStream;
import opennlp.tools.postag.POSModel;
import opennlp.tools.postag.POSSample;

 class POS1 {
    public static void POSTag() throws Exception, IOException {
       
   //POSModel model = (POSModel)new POSModelLoader().load(new File("/home/anits/Downloads/binfiles/en-pos-maxent.bin"));
   
        PerformanceMonitor perfMon = new PerformanceMonitor(System.err, "sent");
        File posModelFile=new File("/home/anits/Downloads/binfiles/en-pos-maxent.bin");
 
        FileInputStream posModelStream=new FileInputStream(posModelFile);
  System.out.println("After FIS In postTag");
        POSModel model=new POSModel(posModelStream);
    System.out.println("In postTag");
        POSTaggerME tagger = new POSTaggerME(model);
 
   String input = "Hi. How are you? This is Mike and Phani.";
   ObjectStream<String> lineStream = new PlainTextByLineStream(
         new StringReader(input));
 
   perfMon.start();
   String line;
         
   while ((line = lineStream.read()) != null) {
 
      String whitespaceTokenizerLine[] = WhitespaceTokenizer.INSTANCE
            .tokenize(line);
      String[] tags = tagger.tag(whitespaceTokenizerLine);
 
      POSSample sample = new POSSample(whitespaceTokenizerLine, tags);
      System.out.println(sample.toString());
               
 
      perfMon.incrementCounter();
   }
   perfMon.stopAndPrintFinalResult();
}
    public static void main(String args[]) throws IOException, Exception
    {
    POS1 p=new POS1();
    p.POSTag();
   
   
    }
}


I am getting th following error: please help me. Thanks in advance.

Exception in thread "main" java.io.EOFException: Unexpected end of ZLIB input stream
   at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:240)
   at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
   at java.util.zip.ZipInputStream.read(ZipInputStream.java:193)
   at java.io.DataInputStream.readFully(DataInputStream.java:195)
   at java.io.DataInputStream.readLong(DataInputStream.java:416)
   at java.io.DataInputStream.readDouble(DataInputStream.java:468)
   at opennlp.model.BinaryFileDataReader.readDouble(BinaryFileDataReader.java:53)
   at opennlp.model.AbstractModelReader.readDouble(AbstractModelReader.java:75)
   at opennlp.model.AbstractModelReader.getParameters(AbstractModelReader.java:146)
   at opennlp.maxent.io.GISModelReader.constructModel(GISModelReader.java:75)
   at opennlp.model.GenericModelReader.constructModel(GenericModelReader.java:59)
   at opennlp.model.AbstractModelReader.getModel(AbstractModelReader.java:87)
   at opennlp.tools.util.model.GenericModelSerializer.create(GenericModelSerializer.java:35)
   at opennlp.tools.util.model.GenericModelSerializer.create(GenericModelSerializer.java:31)
   at opennlp.tools.util.model.BaseModel.loadModel(BaseModel.java:231)
   at opennlp.tools.util.model.BaseModel.<init>(BaseModel.java:181)
   at opennlp.tools.postag.POSModel.<init>(POSModel.java:82)
   at POS1.POSTag(POS1.java:44)
   at POS1.main(POS1.java:72)