public WordSimilarityResolverDefault( ISimilarityResolver <char> characterSimilarityResolverForLevenstein, IMistakeBasedSimilarityResolver <Word> mistakeBasedResolver) : base(mistakeBasedResolver, new WordSimilarityResolverLevenstein(characterSimilarityResolverForLevenstein)) { }
public PhraseSimilarityResolver( IMistakeRepository <Phrase>?mistakesRepository = null, Func <Phrase, Phrase, float?>?mistakeAlgorithm = null, ISimilarityResolver <Word>?wordSimilarityResolver = null ) : base(mistakesRepository, mistakeAlgorithm) { Algorithm = new LevenshteinAlgorithm <Phrase, Word>(wordSimilarityResolver ?? new WordSimilarityResolver()); }
public WordSimilarityResolver( IMistakeRepository <Word>?mistakesRepository = null, Func <Word, Word, float?>?mistakeAlgorithm = null, ISimilarityResolver <char>?characterSimilarityResolver = null ) : base(mistakesRepository, mistakeAlgorithm) { Algorithm = new LevenshteinAlgorithm <Word, char>(characterSimilarityResolver ?? new CharacterSimilarityResolver()); }
public Simila(float threshold = .6f, ISimilarityResolver <string>?resolver = null) { if (resolver == null) { var wordSimilarityResolver = new WordSimilarityResolver( characterSimilarityResolver: new CharacterSimilarityResolver( mistakesRepository: new BuiltinCharacterMistakesRepository() ) ); Algorithm = new PhraseSimilarityResolver(wordSimilarityResolver: wordSimilarityResolver); } else { Algorithm = resolver; } Threshold = threshold; }
public LevensteinAlgorithm(ISimilarityResolver <TElement> elementSimilarityResolver) { ElementSimilarityResolver = elementSimilarityResolver; }
public WordSimilarityResolverLevenstein(ISimilarityResolver <char> elementSimilarityResolver) : base(elementSimilarityResolver) { }
public PhraseSimilarityResolverLevenstein(ISimilarityResolver <Word> wordSimilarityResolver) : base(wordSimilarityResolver) { }