Парсинг с помощью нейросетей: применять или нет?
Создание парсера — достаточно частая задача для разработки. Парсеры нужны бизнесу, чтобы собирать различные данные из открытых источников. Например, для отслеживания маркетинговых стратегий конкурентов: акций, цен, продуктов/услуг. С помощью парсера сбор данных происходит автоматически. Не нужно вручную отслеживать изменения или обрабатывать большие объемы информации, а, значит, не нужно тратить время и силы сотрудников на рутинный труд.
Пример
Для сравнения каталогов с пяти сайтов конкурентов необходимо собирать данные:
- цены;
- ассортимент;
- состав товаров;
- их тип, названия и вес.
У разработчиков есть два варианта решения задачи: написать парсер вручную или задействовать искусственный интеллект.
С помощью нейросетей собирать и структурировать нужные данные будет быстрее? Или лучше использовать классический «программный» парсинг? Разберем оба варианта.
Парсинг 5-ти сайтов без использования искусственного интеллекта
Для такого небольшого объема исходников разработчик напишет парсер, в котором:
- учтет структуру каждого сайта (кастомизирует его под каждый сайт),
- учтет также неочевидную структуру сайта, если такая будет (скрытая информация, свернутые табы или спрятанные разделы);
- сделает интерфейс для запуска парсера;
- создаст место для выгрузки, хранения, удобного использования и обработки полученной информации.
Как можно использовать искусственный интеллект в этом случае
- Дать нейросети задание писать/редактировать классические парсеры при добавлении нового сайта в базу по конкурентам. Плюсы: нашли еще одного конкурента – отправили задачу нейросети, и она самостоятельно выполняет нужные действия. Не надо тратить время разработчика на создание парсера под каждый найденный сайт. Минусы: вариант невыгоден при небольшом количестве сайтов, с которых отслеживается информация. На корректировку работы нейросети таким образом, чтобы с каждым новым сайтом получать нужный результат, потребуется значительное время. И при небольшом количестве сайтов такая настройка действий искусственного интеллекта, скорее всего, не окупится.
- Использовать нейросеть как парсер – научить ее находить нужную информацию. ИИ может извлечь из текста данные, которые не получится отследить с помощью строго зафиксированных запросов. Он проанализирует упоминания, тексты с общим смыслом и т.п., даже если эта информация не тегирована.
Вывод: что и когда стоит использовать
Лучше обратиться к нейросетям, если:
— нужно анализировать большое количество исходников (десятки, сотни, тысячи);
— невозможно написать парсер, т.к. информация для сбора не структурирована в блоки или таблицы (например, отзывы, комментарии, посты в соцсетях);
— нет/недостаточно «тегированных» данных (прямых упоминаний, понятий, которые можно найти по тегам, ключам), но есть косвенные;
— есть возможность систематически корректировать и проверять систему для получения нужного результата.
Стоит использовать классический парсер без участия нейросетей, если:
— есть небольшое количество тегированных и хорошо структурированных исходников для анализа (создать ии-парсер затратнее, чем сделать шаблонную программу);
— при анализе нужно принимать во внимание дополнительные данные, которые часто меняются. Учесть их в постановке задач для ИИ, не обладая неограниченными ресурсами, будет сложно.
PS: нейросеть можно сравнить с junior специалистом. Если разработчик способен написать инструкцию, по которой начинающий работник будет качественно выполнять задание – значит, для ИИ это тоже реально сделать. Особенно оправданно настраивать такого junior специалиста на работу и нужный результат, если планируются внушительные объемы заданий.
Если же в процессе решения нужно учитывать много моментов или периодически/непериодически условия в задаче меняются, а времени на настройку работы нейросети немного – лучше использовать классические подходы.
(По мотивам беседы на YouTube)
Обсудить разработку парсера или другую задачу разработки: