Python applications, ASGI, Kopf, testing of Elasticsearch на Python fwdays'20 | Online

DOU Проектор: Looqme — сервис для анализа PR-кампаний

В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на editors@dou.ua.

Всем привет! Меня зовут Виталий Сидоренко, я CEO в компании Looqme. Мы разрабатываем сервис для эффективного PR. С помощью нашей системы компании оптимизируют расходы на коммуникации, оперативно получают уведомления о важных сообщениях, а также анализируют стратегии и PR-кампании конкурентов.

В пиаре, в отличие от рекламы, нет открытых данных об объемах рынка, о конкурентах, о том, что и где они говорят. Мы эти данные собираем и анализируем.

Идея

Идея Looqme пришла не сразу. Начинали мы с классического агентства по мониторингу СМИ. Да, мы сразу понимали, что нужно техническое решение, но это было больше для того, чтобы автоматизировать свой труд и дать клиенту еще один вид представления данных.

Когда год делаешь клиенту ежедневный отчет в Word, который составляет более 500 страниц и объем только растет, начинаешь понимать, что прочитать этот документ нереально. Сейчас это кажется смешным, но раньше весь рынок мониторинга СМИ в Украине именно так и работал: собрал данные — вывел их в Word — сделал оглавление — отправил клиенту. Агентство по мониторингу часто и выбирали по принципу: у кого больше новостей в отчете, тот и лучше. Некоторые компании, кстати, до сих пор так делают.

Вроде и клиенты были, но как-то плохо было осознавать, что ценность твоего продукта минимальная. Мы начали сначала, сформулировали проблему, конкретизировали ее и уже под нее создавали решение.

Все свелось к таким проблемам:

  • Нет времени для постоянного поиска информации во всех типах СМИ.
  • В кризисные моменты время на реакцию сократилось до 30 минут, за которые даже не успеваешь узнать, что произошло.
  • Нет прямой связи между бюджетом на PR и результатом его работы в цифрах. Поэтому до конца непонятно, на что уходят деньги и насколько стратегия эффективна.
  • Невозможно узнать, что в PR-кампании пошло не так до ее завершения и проведения анализа. Вносить изменения, не зная, в чем проблема, рискованно, а после завершения уже нет смысла.

Реализация

Сервис Looqme работает в несколько этапов:

  1. Собираем данные из всех типов офлайн- и онлайн-медиа в единой базе.
  2. Добавляем реакцию на эти сообщения из социальных сетей.
  3. Производим поиск по нужному бренду.
  4. Кодируем найденную информацию: проставляем тональность сообщений, тематику, роль бренда в материале.
  5. Отправляем уведомления клиенту, если вышло что-нибудь важное.
  6. Визуализируем данные для дальнейшего анализа и поиска инсайтов.

Собираем данные в MongoDB, в ней храним и ничего не меняем. Было нелегко подружить между собой данные разных форматов: интернет-ресурсы парсим напрямую, данные из офлайн медиа забираем из FTP-серверов, причем формат прессы отличается от формата ТВ, а соцсети грузим по API.

Для пользовательского интерфейса, кодировки данных и любых изменений сообщений используем Postgres, куда импортируем сообщения из основной базы только по избранным для клиентов сообщениям. Таким образом, пользователь может быстро работать с относительно небольшой БД и вносить изменения в тексты или характеристики сообщений, при этом основная база остается в первоначальном виде и без внешнего доступа.

В качестве поискового движка сначала мы выбрали Elasticsearch, но для наших целей там не хватало ряда возможностей по поисковым запросам, поэтому в итоге остановились на Solr’e. Он хоть и посложнее в установке, но с бОльшими возможностями для мудреных запросов, например, искать по тексту, где 3 куска слова находятся друг от друга на расстоянии в n символов.

Огромная проблема, с которой мы столкнулись сначала просто с ростом объемов данных, а потом с подключением функции автоматического определения дублей сообщений, была связана с тем, что Solr и Mongo у нас просто горели от постоянного количества разнообразных запросов. Это около 500 запросов в минуту при парсинге новостей из интернет-ресурсов для проверки, есть ли уже такая новость в системе, запрос по каждой новости на поиск перепечаток и сотни поисковых запросов для импорта в Postgres.

В основном мы используем только данные за последние пару дней, и нет смысла постоянно дергать всю базу, разбивать ее на части по разным серверам. Но для проверки, нет ли уже такой новости в системе, это таки необходимо. В итоге разбили Solr на отдельные шарды по месяцу и дергаем только последний, а для проверки наличия сообщений сделали еще одну MongoDB, где храним только хеши ссылок для быстрой проверки.

Для определения некоторых характеристик статьи мы используем симбиоз ручной работы с технологиями машинного обучения. Например, тональность — очень важный параметр, но автоматические алгоритмы не дают точность более 80-85%. В таких случаях определяем самые спорные ситуации и даем их нашим кодировщикам. Таким образом, мы получаем скорость автоматической системы с точностью ручной работы.

В итоге, используя наш сервис, можно анализировать свою PR-кампанию в режиме реального времени, вносить правки и смотреть на эффект, получать уведомления в течение 10 минут после выхода новости и видеть, как воспринимаются сообщения потребителями.

Результаты и планы

На данный момент нашим сервисом пользуются более 150 крупных брендов в Украине. В команде уже 49 человек, но задач еще миллион.

Постепенно улучшаем алгоритмы автоматической кодировки текстов и оптимизируем интерфейс для ручной кодировки. Можно сказать, сближаем машину и человека, чтобы быть готовыми покрывать в разы больше данных с той же скоростью и качеством.

В этом году планируем сделать первую продажу в США, научиться автоматически распознавать и отделять инфоповоды компании от остального шума и на основе этого анализировать PR глубже и эффективнее.

LinkedIn

7 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Уважаемый, о чем вообще этот материал? про стартап или о том, как Вы научились (или ещё не научились) делать, то что уже давно делают другие (Медиалогия, Ex Libris, да Семантрум наконец)? Вот ВЫ пишете про «объемы рынка и стратегии» — в чем они измеряются Ваши объемы — количестве текстов (при чем как они группируются нужно ещё разбираться)... Ваша система «анализирует стратегии»? — ВАУ! «Идея Looqme пришла не сразу. Начинали мы с классического агентства по мониторингу СМИ» ))) - ха ха ха... ну да, слушал напиши я умных людей 4 года (у них в компании), потом смотрел на других умных людей пару лет и пришла мне умная идея все сделать как у них, только на модных стандартных темах... (только вот разобраться никак не могу как они работат( вот и пишу сюда письма до востребования типа, мол помогите решить задачу с порогами и переполнениями, а то в инструкции было написано, что все решиться само, а оно как всегда на подставе происходит)))) Какие американцы )) им нужно доказать вообще, что это Ваше для начала, а у нас конечно лохов хватает (Вы там что-то писали про 150 крупных брендов — ХА ха ха, ну разве что бесплатно)... короче успехов Уважаемый...

Как измеряете схожесть текстов? Своё решение, какой-то сервис (какой?) ?

Используем комбинацию готовых инструментов. Тот же solr позволяет искать похожие тексты, а потом используем python для проверки.

Я правильно зрозумів, ви проводите sentiment analysis для медіа ресурсів про певні новини і продаєте аналітику тим хто запускає PR-кампанії?

Не зовсім. Спочатку ми шукаємо у медіа новини, де згадуються потрібні нам компанії, і для них вже проводимо аналіз.

Як часто оновлюєте дані?
Як визначаєте що стаття про одне й те ж саме? Є ж купа технік для рерайтингу. (Я так розумію, що замовникам цікава інформація про конкретну PR-кампанію, а не для всього бренду чи по ключових словах)

Для бренда в цілому, та по кампаніям окремо. Зазвичай статті не рерайтять, а тільки трошки змінюють і передруковують і у такому випадку вимірявши схожість текстів на відсотків 70% можна говорити про одну тему. Дані намагаємось оновлювати у режимі реального часу.

Подписаться на комментарии