Каким методом или алгоритмом можно гармонизовать/нормализовать справочник?

Какие можно алгоритмы и методы использовать для решения подобной задачи:

Есть один справочник номенклатурных позиций от разных подразделений одной компании. Причем в разных редакциях справочника(разные подразделения) имеются одинаковые строки с разной детализацией строки.
Например, в одном справочнике есть запись вида Болт М6 ГОСТ 123-34.... а в другом Болт М6 0.45 0.8ю..., в третьем Болт М6 0,4..08мм ...
Это строки описывают один и тот же товар с разной степенью детальности. Необходимо найти дубли и дополнить строку всем атрибутивным составом, фигурирующем во всех редакциях справочника.
В примере приведен упрощенный вариант, в реальности "одинаковые" строки могут выглядеть как:
Труба б/ш г/д 89х3НД 14-3-460
Труба котельная горячедеформированная В 20 ТУ 14-3-460
  • Вопрос задан
  • 489 просмотров
Пригласить эксперта
Ответы на вопрос 3
2ord
@2ord
Согласен с alexxandr что без ручной работы всё равно врядли можно обойтись.
Придётся привлекать к нормализации справочника сотрудников.

В целом, в данной задаче стоит производить лексический разбор строк для извлечения атрибутов, определения класса аттрибута (допустим, "14-3-460" - каталоговый индекс наименования).
Можно определить некоторым атрибутам больший приоритет, согласно которым будет определяться наименование.
Для определения дублей наименования - подключить алгоритм расстояния Левенштейна.
Согласно словарю (который нужно иметь) производить поиск по сокращениям и заменять атрибуты, объединять их в один.

Подключить для решения задачи: нечёткий поиск, нечёткую логику, (вероятностные ?) классификаторы.
Ответ написан
Комментировать
@alexxandr
you'll see in memory only 0xDEADFACE
любым методом результат будет неконсистентен.
всё равно вручную обрабатывать придется

можно искать вектора расстояний для различных названий товаров, те, что выше некоторого значения - скорее всего один товар (элементом вектора, как несложно догадаться, будет слово)
Ответ написан
Комментировать
mrRomkin
@mrRomkin
seo, ui, data science, bots
почитайте мой ответ на аналогичный вопрос https://toster.ru/answer?answer_id=743052
только в вашем случае к правилам классификации слов наименований по типам признаков нужно добавить веса для каждого признака. Например, чтобы "14-3-460" в указанном вами наименовании имел более высокий вес. Отслеживать такие штуки реглярными выражениями (3 слова подряд 1-3 цифр. символа, разделенных дефисом/тире/минусом) и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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