Вы можете проанализировать, насколько сильно перекрываются строки (и сгенерировать список слов / подстрок, которые встречаются в большинстве из них), а затем выбрать наиболее релевантные слова.
Например, если слова появляются в определенном процентном соотношениииз строк вы можете определить их как наиболее вероятные кандидаты на название продукта.(Так похоже на то, что вы сделали, но добавьте пороговые значения - например, вы можете видеть, что 5 слов появляются в 88% строк, а остальные - в гораздо меньшем процентном соотношении), а затем выберите топ 5 в качестве названия продукта. Это не совсем точноеЯ боюсь и должен быть настроен вручную.) Это должно позволить собрать большую часть информации, но никогда не будет идеальным.
Кроме того, вы можете иметь заранее определенный список брендов и отфильтровать эти слова.Я также учел бы частичное совпадение слов, поскольку они могут быть результатом ручного ввода данных, и всегда могут быть опечатки.Вы можете видеть, насколько это актуально, если вы получаете достаточно сильный «сигнал», просто отбрасывая их, и вам не о чем беспокоиться.
Если пойти еще дальше, вы можете указать другой фильтр, чтобы пометить элементы для ручного курирования, но этоможет быть очень трудоемким.
Боюсь, что нет простого ответа.То, что вы делаете, это по сути текстовый майнинг.Я только что выдвинул несколько идей и отправных точек, которые могут помочь вам начать.
Вышеприведенное сработает, если вы создадите некоторый автоматический сканер, пытающийся собрать дату из нескольких источников.Если вы хотите, чтобы посетители могли осуществлять поиск по вашему сайту и возвращать нужную страницу продукта для всех запросов, то я бы предложил углубиться в поиск по тексту (анализ основных данных?).Или просто используйте готовое решение.