2016-11-06 6 views
-1

私は、次の形式(txtファイル内)のドキュメント用語リストを持っています。文書の総数は、例えば1400である:JavaでTFを実装する方法は?

DOC 1:こんにちは、私は、ハロー、毎日の費用、(ここではドキュメント1は、テキストファイルである) ドキュメント2:費用、こんにちは(ここではドキュメント2は、テキストでありますファイル) .........

私はどのようにTFをjavaで実装できますか? TFでどのように多くの用語タイマー現れる/文書中の用語の総数

コードこれまでのところ、それは文書で発生回数用語計算

public class termdoc { 
 
    public static void main(String[]args) throws FileNotFoundException, UnsupportedEncodingException{ 
 
     File file2 = new File("D:\\logs\\termdoc.txt"); 
 
     PrintWriter tdr = new PrintWriter(file2, "UTF-8"); 
 
     Map<String, Integer> m = new HashMap<>(); 
 
     Map<Integer,Map>m1=new HashMap<>(); 
 
     String wrd; 
 
     int unqwrd=0; 
 
     
 
     for(int i=1;i<=1400;i++){ 
 
      Scanner tdsc=new Scanner(new File("D:\\logs\\AfterStem"+i+".txt")); 
 
      while(tdsc.hasNext()){ 
 
       Integer docid=i; 
 
       wrd=tdsc.next(); 
 
       Integer freq=m.get(wrd); 
 
       m.put(wrd, (freq == null) ? 1 : freq + 1); 
 
       m1.put(docid,m); 
 
     
 
      } 
 
     tdr.println(m1); 
 
     m.clear(); 
 
     m1.clear(); 
 
     tdsc.close(); 
 
     
 
    } 
 
     //System.out.println(m.size() + " distinct words"); 
 
     tdr.close(); 
 
     
 
     
 
} 
 
    
 
}

+0

より良い変数名を選択し、コードをインデントし、Java命名規約を尊重し、TFが意味するもの、コードが期待するもの、そしてそれが何をするのかを伝えます。 –

+0

TFが何であるか説明してください。 – mtyurt

+0

私は文脈によってTFがText-Filteringを意味すると思いますか?質問に記載されているように、文書にテキストが何回出現するのですか。 –

答えて

0

あなたは各用語が文書に現れる回数を持つ。

これらの値をすべて合計すると、ドキュメント内の用語の総数が決まります。

次に、指定された用語がドキュメントに表示された回数を計算された合計で除算し、頻度を指定します。

関連する問題