| 
					
				 | 
			
			
				@@ -0,0 +1,71 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package org.xm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Collections; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author dyp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class Demo { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void main(String[] args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        funcC34567ForTags("1", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        List<String> tags = Lists.newArrayList( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "风油精,妙用,学到,老歌,记住,教师节,建议,真情,人间,早安", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "风油精,妙用,建议,学到,伟人,致敬,铜像,听的歌,送给,心情", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "送给,学到,风油精,妙用,亲人,朋友,骗局,小心,注意,瓶子", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "听的歌,送给,心情,建议,真情,人间,预防,可惜,知道,伟人", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "风油精,妙用,建议,送给,学到,骗局,小心,注意,瓶子,作用", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "知道,血管,水果,推荐,预防,可惜,真情,人间,小常识,老百姓", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "按摩,心脏,老歌,记住,骗局,小心,注意,建议,教师节,风油精", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "注意,骗局,小心,按摩,心脏,老歌,记住,家人,朋友,建议", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "知道,小常识,老百姓,真情,人间,预防,可惜,血管,水果,推荐", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "教师节,知道,老歌,记住,风油精,妙用,按摩,心脏,早安,创意", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "教师节,知道,家人,朋友,妙用,好了吗,收下,骗局,小心,注意", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "听的歌,送给,心情,建议,真情,人间,预防,可惜,知道,伟人", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                "送给,风油精,妙用,建议,亲人,骗局,小心,注意,瓶子,作用" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //String tags = "按摩,心脏,老歌,记住,骗局,小心,注意,建议,教师节,风油精"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String tags = "风油精"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String title = "\uD83D\uDD34少年夫妻老来伴,珍惜身边人"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (int j = 0; j < 1; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long start = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            funcC34567ForTags(tags, title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long end = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System.out.println("total cost : " + (end - start)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Double[] funcC34567ForTags(String tags, String title) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String[] tagsList = tags.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int d1 = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> d2 = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        double d3 = 0.0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        double d4 = 0.0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (String tag : tagsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long start = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (title.contains(tag)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                d1++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                d2.add(tag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            double score = Similarity.conceptSimilarity(tag, title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (score > d3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                d3 = score; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            d4 += score; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long end = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System.out.println(tag + " conceptSimilarity cost : " + (end - start)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        d4 = (tagsList.length > 0) ? d4 / tagsList.length : d4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 使用数组来返回多个值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Double[] result = {(double) d1, d3, d4}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |