double GetActualSimilarity(Collection <string> firstTokens, Collection <string> secondTokens) { Collection <string> allTokens = tokenUtilities.CreateMergedList(firstTokens, secondTokens); int totalDistance = 0; foreach (string token in allTokens) { int countInfirstWord = 0; int countInsecondWord = 0; if (firstTokens.Contains(token)) { countInfirstWord++; } if (secondTokens.Contains(token)) { countInsecondWord++; } if (countInfirstWord > countInsecondWord) { totalDistance += countInfirstWord - countInsecondWord; } else { totalDistance += countInsecondWord - countInfirstWord; } } return(totalDistance); }
private double GetActualSimilarity(Collection <string> firstTokens, Collection <string> secondTokens) { Collection <string> collection = _tokenUtilities.CreateMergedList(firstTokens, secondTokens); int num = 0; foreach (string str in collection) { int num2 = 0; int num3 = 0; if (firstTokens.Contains(str)) { num2++; } if (secondTokens.Contains(str)) { num3++; } if (num2 > num3) { num += num2 - num3; } else { num += num3 - num2; } } return(num); }
/// <summary> /// gets the un-normalised similarity measure of the metric for the given strings.</summary> /// <param name="firstWord">first word</param> /// <param name="secondWord">second word</param> /// <returns> returns the score of the similarity measure (un-normalised)</returns> public override double GetUnnormalisedSimilarity(string firstWord, string secondWord) { Collection <string> firstTokens = tokeniser.Tokenize(firstWord); Collection <string> secondTokens = tokeniser.Tokenize(secondWord); tokenUtilities.CreateMergedList(firstTokens, secondTokens); return(GetActualSimilarity(firstTokens, secondTokens)); }
private double GetActualSimilarity(Collection <string> firstTokens, Collection <string> secondTokens) { _tokenUtilities.CreateMergedList(firstTokens, secondTokens); int num = 0; foreach (string str in firstTokens) { if (secondTokens.Contains(str)) { num++; } } return(num); }
double GetActualSimilarity(Collection <string> firstTokens, Collection <string> secondTokens) { Collection <string> allTokens = tokenUtilities.CreateMergedList(firstTokens, secondTokens); int totalFound = 0; foreach (string token in firstTokens) { if (secondTokens.Contains(token)) { totalFound++; } } return(totalFound); }
private double GetActualDistance(Collection <string> firstTokens, Collection <string> secondTokens) { Collection <string> collection = _tokenUtilities.CreateMergedList(firstTokens, secondTokens); int num = 0; foreach (string str in collection) { int num2 = 0; int num3 = 0; if (firstTokens.Contains(str)) { num2++; } if (secondTokens.Contains(str)) { num3++; } num += (num2 - num3) * (num2 - num3); } return(Math.Sqrt(num)); }
double GetActualDistance(Collection <string> firstTokens, Collection <string> secondTokens) { Collection <string> allTokens = tokenUtilities.CreateMergedList(firstTokens, secondTokens); int totalDistance = 0; foreach (string token in allTokens) { int countInfirstWord = 0; int countInsecondWord = 0; if (firstTokens.Contains(token)) { countInfirstWord++; } if (secondTokens.Contains(token)) { countInsecondWord++; } totalDistance += (countInfirstWord - countInsecondWord) * (countInfirstWord - countInsecondWord); } return(Math.Sqrt(totalDistance)); }