Найти - Пользователи
Полная версия: поиск словарных слов в мешанине символов
Начало » Центр помощи » поиск словарных слов в мешанине символов
1
SSapphiree
Привет, друзья!

Встала передо мной следующая задача.
Есть относительно короткая строка (чаще всего не больше 50 символов). С большой долей вероятности она состоит в основном не из осмысленных слов, а из мешанины разных символов, не несущих никакой смысловой нагрузки. При этом среди мешанины могут попадаться нормальные слова. Слова могут содержать опечатки.
Задача: выловить из текста все слова, похожие на нормальные, соответственно исправляя опечатки (возможно, генерируя при этом несколько возможных вариантов).

Соответственно, для этого нужен словарь… И каким-то образом искать слова из словаря по этому тексту, да ещё и нечётко, чтобы обнаруживать слова с опечатками. Но и хорошо бы, чтобы процесс поиска не затягивался, производительность важна. ))

Не выходит ничего толкового придумать, и нагуглить ничего тематического тоже не выходит. Помогите, плз? :)

PS: возможно, есть уже какие-то готовые средства для таких целей? быть может, под пайтон? :)
cookie-god
Сниффер пишете? Язык сообщений какой?
Если сниффер, то может легче и надежнее вникнуть в структуру пакета?
SSapphiree
Нет, не сниффер. :) Это связано с распознаванием изображений. Язык заранее неизвестен, но можно взять за предположение любой, это в принципе не так критично. Например, пусть будет английский.
cookie-god
http://norvig.com/spell-correct.html как наипростейший вариант, нужен список слов. Слова в мешанине просто находите каким-нибудь + и пытайтесь распознать.
Actor
тыц
для сравнения слов попробуй использовать множества, например
len(set(введеное_слово) | set(слово_из_словаря)) - len(set(слово_из_словаря)) <= 1 # или 2, в зависимости от точности
просто определи пару критериев для сравнения и реализуй их. например, сходство 60-80% введенного слова со словарным словом + отличие в длине не более 2 букв
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB