Стандартизируйте текстовые входные данные

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

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

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

Пример использования бытовых газовых котлов

  • ВАИЛЛАНТ Экотек Про 28
  • VAILLIANT Ecotec Pro 28
  • Vailliant Eco Tec 28 Pro
  • VAILLIANT турбомакс 242/2-5
  • POTTERTON Promax Combi 28 HE Plus
  • ПОТТЕРТОН промакс 28

Первые 3 и последние 2 одинаковые. Очевидно, что есть много возможностей для ошибок, включая форматирование и орфографию.


person Ben Ford    schedule 21.06.2017    source источник
comment
Ха! Звучит как неприятная проблема. Единственный известный мне другой подход — это N-gram, но я никогда не использовал его сам. . Просто мысль.   -  person s.m.    schedule 21.06.2017
comment
См. здесь: stackoverflow.com /вопросы/44725930/   -  person polm23    schedule 26.06.2017