I wanna make a program automatically tagger the text in a directory. Here’s my first step.
I made a little change to TaggerDemo.java. But it is not working properly as expected.
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import edu.stanford.nlp.ling.HasWord;
import edu.stanford.nlp.ling.Sentence;
import edu.stanford.nlp.ling.TaggedWord;
import edu.stanford.nlp.tagger.maxent.MaxentTagger;
class auto{
public static void main (String[] args) throws Exception{
MaxentTagger tagger = new MaxentTagger("models/left3words-wsj-0-18.tagger");
@SuppressWarnings("unchecked")
List<List<HasWord>> sentences = tagger.tokenizeText(new BufferedReader(new FileReader(args[0])));
for (List<HasWord> sentence : sentences) {
ArrayList<TaggedWord> tSentence = tagger.tagSentence(sentence);
System.out.println(Sentence.listToString(tSentence, false));
}
}
}
This is the error i got.
Loading default properties from trained tagger models/left3words-wsj-0-18.tagger
Reading POS tagger model from models/left3words-wsj-0-18.tagger ... done [2.9 sec].
Exception in thread "main" java.io.FileNotFoundException: sample-input.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at java.io.FileReader.<init>(FileReader.java:41)
at auto.main(auto.java:17)
Why it says file not found?
When i tried to compile it under terminal, it says edu.stanford.nlp.ling.* can not be imported…
Thanks a lot.
It seems that you don’t have the file
sample-input.txtin the current directory.To see your current directory, use: