2017-04-17 18 views
1

POS (음성 부분) 태그에 openNLP를 사용하고 있습니다. 나는 파일 이름 DT.txt이 저장려고 할 때 Java에서 Postagger를 사용하여 다른 POS (품사)를 ​​다른 파일에 저장 하시겠습니까?

InputStream inputStream = new 
      FileInputStream("C:/en-pos-maxent.bin"); 
      POSModel model = new POSModel(inputStream); 

      POSTaggerME tagger = new POSTaggerME(model); 



    String sentence = "This is not a song for the broken-hearted" + 
      " No silent prayer for the faith-departed " + 
      " I am not gonna be just a face in the crowd " + 
      " You are gonna hear my voice " + 
      " When I shout it out loud"; 

    String simple = "[.?!-]";  
     String[] splitString = (sentence.split(simple));  


     SimpleTokenizer simpleTokenizer = SimpleTokenizer.INSTANCE; 

     //String tokens[] = simpleTokenizer.tokenize(); 



     for(int i = 0;i<splitString.length;i++) 
     { 
      String tokens[] = simpleTokenizer.tokenize(splitString[i]); 


      String[] tags = tagger.tag(tokens); 

      //POSSample sample = new POSSample(tokens, tags); 

      /*for(String token : tokens) {   
       System.out.println(token); 
      }*/ 



     for(int j= 0;j < tags.length;j++) 
      { 
       if(tags[j].equals("DT")) 
       { 
        //System.out.println(tokens[j]); 

        File file = new File("DT.txt"); 

        try { 

         PrintWriter output = new PrintWriter(file); 
         output.println(tokens[j]); 
         output.close(); 

       } catch (Exception e) { 
        // TODO: handle exception 
       } 

내가 loop.It 년에 println을 사용

나에게 필요한 value.But을 보여줍니다. 그것은 단지 하나의 값을 텍스트 파일에 저장합니다. Text file output Printed Output in console

답변

1

for 루프를 실행할 때마다 새 파일을 만듭니다. for 루프 외부에 파일을 만듭니다.