Could any of you help me with the following issue?
My goal is to make a sentiment analysis of the comments of a post to see if the feedback is positive or negative.
To do it, i have the following code of RestFB JAVA API:
Comments commentsPolarity;
commentsPolarity = post.getComments();
if (commentsPolarity != null){
polarity = bayes.classify(Arrays.asList(commentsPolarity.toString())).getCategory();
((BayesClassifier<String, String>) bayes).classifyDetailed(Arrays.asList(commentsPolarity.toString()));
}
My problem is that every analysis come back as negative, so I check what is in "commentsPolarity" variable and found out that it contains things like:
"Comments[data=[Comment[attachment=null canRemove=true comments=null createdTime=Fri Jun 05 12:21:32 BRT 2015 from=CategorizedFacebookType[category=Artist id=1440092102975875 metadata=null name=Luis Henrique type=null] id=10153129969287326_10153133899852326 isHidden=null likeCount=0 likes=null message=Sou modelo e gostaria de mostrar meu trabalho, consultem meu catálogo! metadata=null object=null parent=null type=null userLikes=false canComment=false canHide=false]] totalCount=4]"
I believe that if I can get only the message, my problem will be solved.
I'd tried to use post.getComments().getData();
but then my Flume source stops
create the final file with the data extracted.
So, could anybody give some clue of what to do?
The object commentsPolarity has an array called data which contains the individual comments. Each of these comments has a message property. You need to iterate over something like
commentsPolarity.getData();
and extract the message from there.Take this only as a guess because I have no idea how you initialized the
post
variable.