В программе возникла необходимость находить в списке строк слова, написанные с ошибками.
Например, при поиске названия группы человек полагает, что группа называется Beetlz. Или он приблизительно помнит, что в названии трека есть упоминание про Фореста Гампа.
Обычные методы определения вхождения подстроки работают в таких случаях так себе, обычно просто ничего не находят.
Пришлось покопаться, что там лингвисты по этому поводу думают – а у них много чего уже наработано. В результате не очень долгих раскопок получилась функция FuzzyContains для определения приблизительного вхождения строки.
В итоге и группа правильно находится, и название трека.
Комментариев нет:
Отправить комментарий