База данных с пропущенными символами в названиях

Автор vitaliian, 27 августа 2017, 19:19

0 Пользователи и 1 гость просматривают эту тему.

JohnSUN

Ну, погляди в поиске ещё и "Поиск подобных", как альтернативу регэкспам
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

vitaliian

#16
первое работающее решение... формулу осторожно можно тянуть вниз. Если тянуть не осторожно calc зависнет в вычислениях. Когда изменил последний аргумент формулы на ноль, точность и скорость поиска существенно выросла, зато появилось больше пропусков.

rami

Цитата: vitaliian от 27 августа 2017, 20:55Когда изменил последний аргумент формулы на ноль, точность и скорость поиска существенно выросла, зато появилось больше пропусков.
В данном случае должен быть ноль, т.е. "поиск точного совпадения" (насколько это возможно при наличии не известных букв). Лучше не получить ничего, чем получить не верный результат. Когда вместо отсутствующей буквы подходят несколько функция VLOOKUP выберет первую из возможных и это не всегда будет правильно. Для решения данной задачи нужно создавать механизм вроде проверки грамматики с автоматической подстановкой однозначных значений и списком выбора если их несколько.

Кстати, словарь нужно очищать от дубликатов, коих больше 560 штук.

vitaliian

#18
Цитата: kompilainenn от 27 августа 2017, 21:50
Вы уверены, что Calc - это лучшее решение для таких задач?

Как ни странно да. Приведу пример, есть 50 тыс. анкет (писем, объявлений) заполненных вручную, с дичайшим количеством ошибок (в т.ч. опечаток), которые затрудняют анализ. Все время приходится искать текст с применением регулярных выражений. Есть мысль в оригинальном тексте заменить ключевые слова поиска (их не больше 100) на маски наподобии "п....м" = "продам", "г...ж" = "гараж", "п......е" ="приятное", "п.........е" = "путешествие" и т.д. В словарик будут внесены эталонные образцы, по которым в соседние столбцы подтянутся "правильные" эквиваленты. Не в ворде же это делать?

Цитата: rami от 28 августа 2017, 06:36Кстати, словарь нужно очищать от дубликатов, коих больше 560 штук.

очищать словарь от дубликатов - самое легкое задание на свете  ;)
надо бы завести 3й столбец с альтернативными вариантами. "лу#" может быть "луг" и "лук"

rami

Цитата: vitaliian от 28 августа 2017, 06:49очищать словарь от дубликатов - самое легкое задание из тех что можно придумать)
надо бы завести 3й столбец с альтернативными вариантами. "лу#" => "луг" и "лук"
Тогда ещё "луч" и "луб". А что дальше с третьим столбцом?

vitaliian

#20
Цитата: rami от 28 августа 2017, 08:54

Тогда ещё "луч" и "луб". А что дальше с третьим столбцом?

дальше один раз таки придётся вмешаться ручками, чтобы определить "луг", "лук" или "луч" в данном контексте нам нужен. К счастью, таких слов не так уж и много. Так же есть адское сочетание  "оро" "оло", там побольше вариантов будет... Я еще не придумал как научить Calc понимать смысл текста, чтобы само подбирало более подходящее по смыслу слово, но тематика текста мне всегда известна, значит "правильные" варианты можно регулировать тематическими словарями.