мне нужно реализовать какую-то это:Fuzzy Matching с порога фильтра C#
string textToSearch = "Extreme Golf: The Showdown";
string textToSearchFor = "Golf Extreme Showdown";
int fuzzyMatchScoreThreshold = 80; // One a 0 to 100 scale
bool searchSuccessful = IsFuzzyMatch(textToSearch, textToSearchFor, fuzzyMatchScoreThreshold);
if (searchSuccessful == true)
{
-- we have a match.
}
Вот функция заглушки написана в C#:
public bool IsFuzzyMatch (string textToSearch, string textToSearchFor, int fuzzyMatchScoreThreshold)
{
bool isMatch = false;
// do fuzzy logic here and set isMatch to true if successful match.
return isMatch;
}
Но у меня нет ни малейшего представления, как реализовать логику в методе IsFuzzyMatch. Любые идеи? Возможно, для этого есть готовое решение?
Вы можете рассчитать расстояние [Левенштейн] (http://en.wikipedia.org/wiki/Levenshtein_distance), используя слова в качестве символов вместо символов, где слова считаются равными на основе их расстояния Левенштейна. Есть [много тем SO] (http://stackoverflow.com/search?q= [c% 23] + Levenshtein + distance) на расстоянии Левенштейна. – dtb
См. Http://stackoverflow.com/questions/451884/similar-string-algorithm/451910#451910 –