169 похожих чатов

Друзья, такой вопрос. Хочу смэтчить две базы по ФИО и как

часто это бывает какие-то ФИО могут быть записаны криво. Не "Иванов Петр Иванович", а "Иванов п.и." или "Петр Иванов Иванович", ну и тп.
Что гуглить и в какую сторону смотреть? Как подступиться?

7 ответов

18 просмотров

в первую очередь надо запастись полотенцем для утирания слез к сожалению, это не очень хорошо решаемая задача. можно пытаться искать пересечения строковые, например, выделять фамилию и по ней искать множество строк с такой фамилией. но это коллизия, все равно. притом, простыми средствами не разделить фамилию от имени, поэтому при перепутанном порядке фио вообще тоска получается. я бы, наверное, попробовал все привести к виду "иванов п и" - то есть, нижний регистр, по первой букве от имени и отчества, почистить пробелы и пунктуацию

M- Автор вопроса
Philipp Upravitelev
в первую очередь надо запастись полотенцем для ут...

😅 ахахах видимо остановлюсь на просто мэтчинге в тупую с очищенным от пробелов, пунктуации и капса написанием. Большая часть смэтчилась и видимо такие пляски с бубном не стоят дополнительных пары процентов данных.

M- Автор вопроса
Philipp Upravitelev
в первую очередь надо запастись полотенцем для ут...

а всякие text distances и fuzzy joins тоже не стоят свеч в этом случае? https://predictivehacks.com/how-to-apply-text-distances-and-fuzzy-joins/

M
а всякие text distances и fuzzy joins тоже не стоя...

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

M
а всякие text distances и fuzzy joins тоже не стоя...

если процент небольшой, то я не уверен, что оно стоит того. плюс расстояния и нечеткий матчинг, боюсь, плозхо будут работать с ситуации Иван Петрович и Иван П - расстояние/разница тут, например, в семь добавленных букв

В своё время решали подобную задачу ручками, применяя всякие эвристики, типа: — если оканчивается на «-вич»\«-вна» это скорее всего отчество, — то что стоит перед «оглы» это отчество, — перед отчеством как правило пишут имя и т.п.

присоединяюсь к вышесказанному, особенно про полотенце… если иванов п.и. - это печально если просто в разном порядке элементы фио, то можно сплитануть строку, отсортировать, соединить и по ней мерджить

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Легче писать на C++ чем на C, если полностью не изучать C++, а знать только основное?
Алмаз
8
Карта сайта