package com.maalaang.omtwitter.corpus;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import com.maalaang.omtwitter.io.OMTwitterCorpusFileReader;
import com.maalaang.omtwitter.model.OMTweet;
public class TwitterCorpusStat {
public static Map<String,Integer> userStatusFreq(String corpusFile, String fieldDelim, int[] fields) throws UnsupportedEncodingException, FileNotFoundException {
OMTwitterCorpusFileReader reader = new OMTwitterCorpusFileReader(corpusFile, fieldDelim, fields);
HashMap<String,Integer> map = new HashMap<String, Integer>();
while (reader.hasNext()) {
OMTweet tweet = reader.next();
String user = tweet.getAuthor();
Integer value = map.get(user);
if (value != null) {
map.put(user, value + 1);
} else {
map.put(user, 1);
}
}
reader.close();
return map;
}
public static Map<Integer,Integer> sentimentFreq(String corpusFile, String fieldDelim, int[] fields) throws UnsupportedEncodingException, FileNotFoundException {
OMTwitterCorpusFileReader reader = new OMTwitterCorpusFileReader(corpusFile, fieldDelim, fields);
OMTweet tweet = null;
int[] cnt = new int[6];
while (reader.hasNext()) {
tweet = reader.next();
switch (tweet.getPolarity()) {
case OMTweet.POLARITY_POSITIVE:
cnt[0]++;
cnt[3]++;
break;
case OMTweet.POLARITY_NEGATIVE:
cnt[1]++;
cnt[3]++;
break;
case OMTweet.POLARITY_NEUTRAL:
cnt[2]++;
cnt[4]++;
break;
case OMTweet.POLARITY_SUBJECTIVE:
cnt[3]++;
break;
case OMTweet.POLARITY_OBJECTIVE:
cnt[4]++;
break;
case OMTweet.POLARITY_NOT_SPECIFIED:
cnt[5]++;
break;
}
}
Map<Integer,Integer> map = new HashMap<Integer,Integer>(6);
map.put(OMTweet.POLARITY_POSITIVE, cnt[0]);
map.put(OMTweet.POLARITY_NEGATIVE, cnt[1]);
map.put(OMTweet.POLARITY_NEUTRAL, cnt[2]);
map.put(OMTweet.POLARITY_SUBJECTIVE, cnt[3]);
map.put(OMTweet.POLARITY_OBJECTIVE, cnt[4]);
map.put(OMTweet.POLARITY_NOT_SPECIFIED, cnt[5]);
reader.close();
return map;
}
}