Я хочу измерить сходство между двумя словами. Идея состоит в том, чтобы прочитать текст с помощью OCR и проверить результат на наличие ключевых слов. Функция, которую я ищу, должна сравнивать два слова и возвращать сходство в%. Так что сравнение слова с самим собой должно быть на 100% похожим. Я сам написал функцию и сравнил char за char и вернул количество совпадений по отношению к длине. Но проблема в том, что
wordComp('h0t',hot')
0.66
wordComp('tackoverflow','stackoverflow')
0
Но интуитивно оба примера должны иметь очень высокое сходство >90%. Добавление расстояния Левенштейна
import nltk
nltk.edit_distance('word1','word2')
в моей функции увеличится второй результат до 92%, но первый результат все еще не очень хорош.
Я уже нашел это решение для "R", и можно было бы использовать это работает с rpy2
или используйте agrepy
как другой подход. Но я хочу сделать программу более и менее чувствительной, изменив эталон для принятия (принимать только совпадения со сходством> x%).
Есть ли еще одна хорошая мера, которую я мог бы использовать, или у вас есть идеи по улучшению моей функции?