在推文上进行聚类

时间:2014-06-17 12:20:56

标签: java twitter

我有800,000条推文。我将它们聚集在一起如下:

for i <- 1 to 800,000  
   for j <- i+1 to 800,000  
       if ( dist(i,j) <= threhold_dist){  
               if (jacard_similarity(i,j) >= threshold_tweetsim){  
                                 cluster them.  
               }  
       }   
   }  
}  

我的表现如下:

我做了HashMap mp<String1, HashMap<String2, Integer>> 其中String1是我的地理编码(“[40.323243 -70.435443]”),String2是推文中的Hashtag,Integer是我发现的Hashtag。 (这个Hashmap只需要大约60秒的时间。)

然后根据上述算法:

我从Hashmap中提取我的地理编码,它是外部循环中的String1,并与内部循环中的其他地理编码进行比较,根据上面提到的算法。(使用正则表达式和doubleParse将我的地理编码转换为数字)

如果地理编码彼此更接近,那么我正在提取包含我的Hashtags的嵌套HashMap, 对于threshold_tweetssim,我正在检查各个Hashtags的最小长度并重叠,然后将重叠(这是我的重叠主题标签的数量)除以相应推文的最小长度。

对于每次迭代,我再次获得1.5秒的时间。 但总的来说根据我的计算,这个计划将需要8天或更长时间。 任何人都可以建议我如何有效地或任何技术,以便我可以在很大程度上减少我的时间。

0 个答案:

没有答案