Выберите или сгенерируйте канонический вариант из нескольких предложений

Я работаю с API, который сопоставляет мои запросы GTIN/EAN с данными о продукте.

Поскольку возвращаемые данные поступают из торговых продуктов, почти повсеместно имеет место следующее:

  • Множественные результаты на GTIN
  • Названия продуктов в значительной степени неструктурированы
  • Названия продуктов «загрязнены»
    • Материалы, связанные с SEO,
    • информация о содержащемся количестве,
    • предложения «купи два, получи один бесплатно»,
    • и т. д.

Я ищу программный способ либо

  • , выбрать«чистую»/самую каноническую версию
  • , либо сгенерироватьновый, который представляет собой «наименьший общий знаменатель».

Рассмотрим следующие примеры результатов для одного запроса EAN:

  • Nivea Deo Roll-On Dry Impact for Men
  • NIVEA DEO Roll on Dry/blau
  • Nivea Deo Roll-On Dry Impact for Men, 50 ml, 3er Pack (3 x 50 ml)
  • Nivea Deo Roll on Dry/blau 50 ml
  • Nivea Deoroller 50ml dry for Men blau Mindestabnahme: 6 Stück (1 VE)
  • NIVEA Deoroller, Сухой удар для мужчин
  • NIVEA DEO Roll on Dry/blau_50 ml

Мой доморощенный подход выглядит следующим образом:

  • Базовая очистка:
    • Заголовки в нижнем регистре,
    • удаляют излишние пробелы,
    • выбрасывают видимые стоп-слова, такие как «купить» и «кликнуть»
  • Постройте массив для word => глобальное вхождение
    • «Nivea» => 7
    • «Deo» = > 5
    • «Deoroller» = > 2
    • ...
    • "VE" => 1
  • Рассчитайте "совокупное значение слова" для каждого из заголовков
    • "Nivea Deo" = > 12
    • "Nivea Deoroller VE" = > 10
  • Разделить кумулятивное значение на длину названия,в результате получается балл
    • "Nivea Deo" = > 6
    • "Nivea Deoroller VE" = > 3.34

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

  • Вы бы выбрали другой подход?
  • Существует ли какой-то волшебный способ НЛП позаботиться о проблеме, о которой я не знаю?
23
задан vzwick 13 June 2012 в 23:34
поделиться