Add the base classes for implementing various similarity calculation algorithms. These classes include the following:
IEditDistance: An interface that provides a contract for calculating the Edit Distance between two strings. A lower edit distance indicates a higher similarity between the strings, while a higher edit distance indicates a lower similarity.
ISimilarityScore: An interface that provides a contract for calculating the Similarity Score between two strings. A higher similarity score indicates a higher similarity between the strings, while a lower similarity score indicates a lower similarity.
ITokenizer: The tokenizer interface provides a single method that provides a set of tokens generated from a single string. This can be also used for extending the functionality of tokenizers provided by the library.
WordTokenizer: A simple word tokenizer that utilizes regex to find words.
Counter: The Counter counts how many times each element provided occurred in an array and returns a dictionary with the element as key.
Add the base classes for implementing various similarity calculation algorithms. These classes include the following: