2011-05-16 7 views
-2

私は、プログラムを自動的にディレクトリ内のテキストにタグ付けする必要があります。ここに私の最初の一歩があります。 TaggerDemo.javaを少し変更しました。しかし、期待どおりに正しく動作していません。スタンフォードのStaggerDemoのcorenlpパッケージ

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)); 
    } 
    } 

} 

これはエラーです。

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) 

なぜファイルが見つかりませんか?

私はターミナルの下でそれをコンパイルしようとしたとき、それはedu.stanford.nlp.ling言う。* ...

おかげで多くをインポートすることはできません。

+0

がどのようにプログラムを実行している:

は、現在のディレクトリ、使用することを確認するには? 'sample-input.txt'は単に別のディレクトリにあるようです。 –

答えて

1

ファイルsample-input.txtが現在のディレクトリにないようです。

File f = new File("."); 
System.out.println(f.getAbsolutePath()); 
+0

ありがとうたくさん...私はちょうどubuntuでEclipseを使用すると、/ srcを追加する必要がありますが、Windowsではファイル名を直接使用することがわかりました。 – elfandi

関連する問題