ФорумРазработкаБазы данных → Поиск дубликатов

Поиск дубликатов

  • developer

    Сообщения: 244 Репутация: N Группа: Кто попало

    Spritz Авг. 30, 2011, 12:13 п.п.

    В одной таблице, даже колонке порядка 200 000 значений, многие из них одиннаковые, например:
    DMX - Party Up
    DMX – Party Up
    (разные дефисы)
    или же где-то стоят апострофы, а где-то нет, буква где-то непопала правильная в названии песни и так далее.

    может быть у кого-то уже есть либа или функция которая ищет дубликаты и показывает их
    в процентном соотношении, чтобы к примеру я мог доработать её на удаление дубликатов
    с совпадением 78%?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz Авг. 30, 2011, 1:09 п.п., спустя 55 минут 51 секунду

    1. Апиздошенно интересный процент совпадения требуется. Почему не 80, не 75, а именно 78? И как именно вообще будет задаваться этот процент? Точнее в отношении чего: кол-ва знаков в выбранном поле колонки или положения звезд на небе?
    2. Что будет если твоя "логика" встретит два названия, которые на 95% совпадают, но по сути являются совсем разными треками одно и того же исполнителя? К примеру, "Crazy developer", "Crazy Developers". Вроде похожи, но какие-то они совсем разные.
  • developer

    Сообщения: 244 Репутация: N Группа: Кто попало

    Spritz Авг. 30, 2011, 1:36 п.п., спустя 27 минут 7 секунд


    1. Апиздошенно интересный процент совпадения требуется. Почему не 80, не 75, а именно 78? И как именно вообще будет задаваться этот процент? Точнее в отношении чего: кол-ва знаков в выбранном поле колонки или положения звезд на небе?

    78 процент написан от балды, возможно потом это будет 88 процентов, всё будет зависить от наглядных результатов, оптимальный подберется по ходу действия. По поводу отношения, вероятно совпадения нужно искать не только по кол-ву символов, но и по самим символам, например DMX - Party Up имеет по количеству 14 символов с пробелами, первоочередная задача это перевести все данные в нижний или верхний регистр, заменить спецсимволы на что-то, что пока не знаю, а так же убрать полностью пробелы. Дальше идёт подсчет ещё раз кол-ва символов, затем сравнение этих символов, тоесть получается набор из букв: dmxpartyup, думаю в таком порядке врятли попадется ещё какая-то композиция, ах да и порядок ведь тоже нужно как-то понимать, ведь может быть и так: partyupdmx, где Party Up это группа, а DMX это собственно сама песня.


    2. Что будет если твоя "логика" встретит два названия, которые на 95% совпадают, но по сути являются совсем разными треками одно и того же исполнителя? К примеру, "Crazy developer", "Crazy Developers". Вроде похожи, но какие-то они совсем разные.

    в жопу такое совпадение, от удаления какого нибудь из вариантов не обеднею, их будет ну максимум 0.0001% от всего кол-ва.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Авг. 30, 2011, 3:30 п.п., спустя 1 час 54 минуты 11 секунд

    http://www.codeisart.ru/part-1-shingles-algorithm-for-web-documents/
    Спустя 85 сек.
    http://www.codeisart.ru/python-shingles-algorithm/
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz Авг. 30, 2011, 4:49 п.п., спустя 1 час 19 минут 1 секунду

    Soundex гугли

Пожалуйста, авторизуйтесь, чтобы написать комментарий!