2016-03-22 7 views
0

Neden bu işlem gerçekleştiyse, tweet artık algılanan değer tarafından temizleniyor. CleanData yöntemi çağrılmıyorsa duyarlılık değeri görüntülenir. Bunun, kullanılan ve içe aktarılan stanford kitaplıklarından kaynaklandığını bilen var mı?Veri temiz tweet'leri

public class WhatToThink { 

    public static void main(String[] args) { 
     String topic = "Brussels"; 
     ArrayList<String> tweets = TweetManager.getTweets(topic); 
     NLP.init(); 

     tweets = cleanData(tweets); 

     for (String tweet : tweets) { 
      tweets = cleanData(tweets); 
      System.out.println(tweet + " : " + NLP.findSentiment(tweet)); 
     } 


    } 

    public static ArrayList<String> cleanData(ArrayList<String> tweets) { 
     ArrayList<String> newTweets = new ArrayList<>(); 
     Iterator itr = tweets.iterator(); 

     while (itr.hasNext()) { 
      String tweet = itr.next().toString(); 

      //convert tweet to lower case 
      tweet = tweet.toLowerCase(); 

      //remove urls 
      tweet = tweet.replaceAll("((www\\.[^\\s]+)|(https?://[^\\s]+))", "URL"); 

      //remove user names 
      tweet = tweet.replaceAll("@[^\\s]+", "ATUSER"); 

      //remove # from hash tag 
      tweet = tweet.replaceAll("#", ""); 

      //remove punctuation 
      tweet = tweet.replaceAll("\\p{Punct}+", ""); 

      System.out.println(tweet); 
     } 
     return newTweets; 
    } 
} 

cevap

1

cleanData boş ArrayList döndürür. newTweets'a tweet eklemeyi deneyin.

En azından bazı temel birim testlerini yazmanızı şiddetle tavsiye ederim. Bu, cleanData'daki en basit testlerle bile yakalanmış olurdu.