2011-07-25 15 views
3

単語出現箇所を数えていないので、私はウェカ機械学習ライブラリのJava APIを使用していると私は、次のコードを持っています「繰り返す」という言葉を3回カウントする代わりに、カウントは1として出てくるだけです。JavaのWEKAのstringtowordvectorが正しく

何が間違っていますか?

答えて

0

このようなコード行はすべて...代わりにこれらの数行はいかがですか?

public static void main(String[] args) { 
    System.out.println(countWords("sample, repeat sample, of text")); 
} 

出力:

{of=1, text=1, repeat=1, sample=2} 
6

デフォルトの設定は唯一の0/1として存在/不在を報告している

public static Map<String, Integer> countWords(String input) { 
    Map<String, Integer> map = new HashMap<String, Integer>(); 
    Matcher matcher = Pattern.compile("\\b\\w+\\b").matcher(input); 
    while (matcher.find()) 
     map.put(matcher.group(), map.containsKey(matcher.group()) ? map.get(matcher.group()) + 1 : 1); 
    return map; 
} 

ここでアクションのコードです。明示的にカウントを有効にする必要があります。追加:

filter.setOutputWordCounts(true);

と再実行します。

Wekaには明示的なメーリングリストがあります。そのような質問を投稿すると、より迅速な回答が得られる可能性があります。

関連する問題