//returns index of closest cluster centroid public static int FindClosestClusterCenter(List <Centroid> clusterCenter, DocumentVector obj, string sim) { float[] similarityMeasure = new float[clusterCenter.Count()]; for (int i = 0; i < clusterCenter.Count(); i++) { if (sim == "Cosine") { similarityMeasure[i] = SimilarityMatrics.FindCosineSimilarity(clusterCenter[i].GroupedDocument[0].VectorSpace, obj.VectorSpace); } else { Wnlib.WNCommon.path = "C:\\Program Files\\WordNet\\3.0\\dict\\"; SentenceSimilarity semsim = new SentenceSimilarity(); similarityMeasure[i] = semsim.GetScore(clusterCenter[i].GroupedDocument[0].Content, obj.Content); } } int index = 0; float maxValue = similarityMeasure[0]; for (int i = 0; i < similarityMeasure.Count(); i++) { //if document is similar assign the document to the lowest index cluster center to avoid the long loop if (similarityMeasure[i] > maxValue) { maxValue = similarityMeasure[i]; index = i; } } return(index); }
public static double CaculateSimilar(string s1, string s2) { Wnlib.WNCommon.path = @"E:\WordNet\dict\"; StringUtils.PreProcessString(ref s1); StringUtils.PreProcessString(ref s2); SentenceSimilarity semsim = new SentenceSimilarity(); float score = 0; score = semsim.GetScore( s1, s2); return(score * 100); }
public WordNetOntologyMerger() { Wnlib.WNCommon.path = ConfigurationManager.AppSettings["wordNetPath"]; semsim = new SentenceSimilarity(); }