Скрипт на Python для сравнения семантических ядер в контекстной рекламе
Всем привет!
В контексте есть такая задача, как сравнить быстро выборку А — ключевые фразы в нашем семантическом ядре и выборку Б — ключевые фразы, которые получены в результате анализа конкурентов, поисковых запросов, наших усилий при расширении понимания ЦА (после брифов с клиентом или в рамках брейнштормов).
Скрипт поможет:
- При расширении семантического ядра помогает понять, какая семантика еще не содержится в СЯ (тут учитывайте, что руками проверить через перекрестную минусовку и удаление дублей всё равно надо).
- Оценка потенциала от расширения семантики.
Стандартный инструмент в «Директ Коммандере» по удалению дублей слов не всегда работает, связано с предлогами, разными окончаниями слов, техническими лагами самой программы. Поэтому пришлось искать другое решение. Хотя в конечном счете дополнительно нужно проверять и через него.
Сам скрипт:
- Приводит все слова в нормализованный вид (если это возможно) — единственное/множественное число, именительный падеж.
- Удаляет исходную семантику от операторов, что позволяет не добавлять новую фразу, если она уже есть с операторами внутри кабинета.
- Удаляет предлоги из списка — обрабатывает тот момент, когда фраза может быть без предлога и с предлогом (их можно корректировать внутри скрипта, просто удалите ненужное ):
"в", "на", "с", "по", "и", "а", "но", "к", "у", "о", "от", "до", "за",
"из", "или", "то", "же", "бы", "вот", "как", "для", "но", "да", "я",
"ты", "он", "она", "они", "мы", "вы", "это", "тот", "этот", "такой",
"также", "тоже", "при", "над", "под", "перед", "после", "через", "без",
"со", "ли", "ни", "не", "будто", "что", "чтобы", "хотя", "если", "потому",
"какой", "который", "где", "когда", "чем", "как", "чему", "кого", "чего",
"зачем", "почему", "откуда", "куда", "сколько", "чей", "надо", "можно",
"нужно", "нет", "да", "ну", "ага", "ок", "ладно".
Как обычно: deepseek и полчаса времени — и готово. Разбираемся подробнее.
Предпоготовка (будет в каждой статье)
Как устанавливать Python и предподготовить среду разработки, можно прочитать в прошлой статье.
САМ СКРИПТ
Скрипт состоит:
- input1.txt — текущая семантика
- input2.txt — исходная семантика
- output.csv — список уникальной семантики, которой нет в изначальной выборке input1.txt
- phrase_analyzer.py — сам скрипт.
Разберем логику скрипта:
- Копируем любым способом семантику из вашего СЯ внутрь файла input1.txt. Можно просто вставить, открыв его в PyCharm.
- Вставляем по аналогии новую семантику в файл input2.txt.
- Запускаем скрипт phrase_analyzer.py.
Вас сразу встретит графический интерфейс, выбирайте списки и нажимайте «Найти уникальные фразы».
- Уникальные фразы будут находиться в файле output.txt.
- Далее этот список дополнительно «прогоняем» через Директ Коммандер в инструменте — оптимизации фраз / склейка дублей.
Далее или считаем потенциал для этой семантики, или добавляем ее в РК, предварительно обработав (кластеризация + объявления).
Ставьте лайки, делитесь, подписывайтесь на блог. На этом всё. Пользуйтесь)