Поиск уникальных фраз в списке

bismark132

Client
Регистрация
19.05.2016
Сообщения
47
Благодарностей
2
Баллы
8
Всем привет. Работаю Сеошником и есть некоторые моменты, которые хотел бы оптимизировать. Первым в этом списке стоит "Отбор уникальных ключевых фраз из списка этих ключевых фраз, а также проверка вхождения более короткой ключевой фразы в более длинные". Например имеется такой список:

  • айфон
  • iphone
  • купить айфон
  • айфон купить
  • iphone купить
  • купить айфон цена в Москве
  • стоимость iphone
  • iphone стоимость
  • iphone стоимость в России
  • продажа айфонов

В этом списке уникальными буду следующие фразы:

  • айфон
  • iphone
  • купить айфон
  • iphone купить
  • купить айфон цена в Москве
  • стоимость iphone
  • iphone стоимость в России
  • продажа айфонов
Но так как некоторые короткие фразы входят в более длинные, конечный список будет выглядеть так:

  • купить айфон цена в Москве
  • iphone стоимость в России
  • продажа айфонов
То есть фактически из 10 фраз, рабочих только 3.

Хотел бы узнать

  1. Есть ли какой-то шаблон, который работает хотя бы по примерному принципу?
  2. Возможно ли это сделать, имея базовые знания создания шаблонов на кубиках?
  3. Сколько примерно будет стоить разработка такого шаблона?

Буду рад вашей помощи! Заранее благодарю!
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Ничего не понятно. У вас каждая строчка по своему уникальна. По какому принципу вы хотите получать уникальность? Как можно написать бот, если нету конкретики. Пожалуйста, опишите более детально: чем уникальны ваши слова? Для кого они уникальны? Подчеркните какие слова не уникальные(например цветом) и обьясните почему именно они не уникальные.
 

Metrix

Client
Регистрация
03.01.2014
Сообщения
343
Благодарностей
272
Баллы
63
Примерный алгоритм:
Берём строку, проверяем на вхождение в каждую строку списка, если вхождение есть, значит ключевое слово/фраза не уникальны и их удаляем и так проходим по всем строкам.
Это навскидку, основа, дальше надо докручивать.
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
793
Благодарностей
278
Баллы
63
ну если СЕО, то почему бы не генерить ? а потом проверять по вордстату например ? тоесть вопрос по другому решать. а по существу, надо понимать длину слов. одно 3-4-5 слов в строке.. другое 10.
суть, каждая длинная фраза имеет в себе короткую.
 

bismark132

Client
Регистрация
19.05.2016
Сообщения
47
Благодарностей
2
Баллы
8
Ничего не понятно. У вас каждая строчка по своему уникальна. По какому принципу вы хотите получать уникальность? Как можно написать бот, если нету конкретики. Пожалуйста, опишите более детально: чем уникальны ваши слова? Для кого они уникальны? Подчеркните какие слова не уникальные(например цветом) и обьясните почему именно они не уникальные.
Например эти фразы неуникальны:

айфон купить
iphone купить

стоимость iphone
iphone стоимость

Так как они обозначают тоже самое, только слова в них имеют перестановку или например так:

айфон купить
купите айфоны

Тоже обозначают тоже самое, только меняется морфологическая форма слов и имеется перестановка.

Как вариант, я вижу такое решение:

1. Берем весь список и приводим все слова каждой фразы к именительному падежу единственного числа и убираем все предлоги и кладем в список №1. Пример фразу "Купите овальные ковры в Москве", при лемматезации получаем "Купить овальный ковер Москва". Пример как это происходит можно посмотреть тут https://arsenkin.ru/tools/lemma/.

2. Потом раскладываем каждую фразу из списка на слова и проверяем остальные фразы на наличие этих слов. Если во фразе имеются какие-то отличия по содержанию слов, то ее оставляем, остальные удаляем.

Ну это если кратко.

А затем уже прогоняем оставшийся список на вхождения одинх фраз в другие.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)