paint-brush
Создание систематической системы оценки ESG: методык@carbonization
208 чтения

Создание систематической системы оценки ESG: методы

Слишком долго; Читать

Этот проект направлен на создание системы оценки ESG, основанной на данных, которая может обеспечить лучшее руководство и более систематизированные оценки за счет учета социальных настроений.
featured image - Создание систематической системы оценки ESG: методы
Carbonization Process Evolution Publication HackerNoon profile picture
0-item

Авторы:

(1) Арав Патель, Региональная средняя школа Амити – электронная почта: [email protected];

(2) Питер Глор, Центр коллективного разума Массачусетского технологического института и автор-корреспондент – электронная почта: [email protected].

Таблица ссылок

4. Методы

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


Рисунок 2. Обзор того, как основанный на данных индекс ESG использует данные социальных сетей для расчета связного рейтинга ESG.

4.1. Сбор данных

Вместо того, чтобы использовать корпоративные отчеты, сообщаемые самостоятельно, данные социальных сетей использовались для целостной количественной оценки ESG. Для выявления тенденций можно использовать анализ социальных сетей и парсинг веб-страниц (Gloor et al., 2009). Популярные социальные сети, такие как Twitter, LinkedIn и Google News, содержат множество данных практически на любую тему. Эти данные могут дать сбалансированное представление о практике ESG компании и помочь охватить как краткосрочные, так и долгосрочные тенденции ESG компании. Он также может собирать данные, которые могут не быть отражены в документах. Наконец, эти данные могут напрямую подчеркнуть обеспокоенность сторонних наблюдателей, что поможет лучше направлять инициативы компании в области ESG, чтобы они были более эффективными.


Рисунок 3. Ключевые слова/темы, использованные для сбора данных.


Для этого был создан полный список ключевых слов, релевантных ESG (рис. 3). Этот список ключевых слов был создан на основе подкатегорий, обычно используемых в текущих методологиях рейтингования ESG. Этот список использовался для сбора общедоступных данных о компаниях из Wikipedia, LinkedIn, Twitter и Google News. Для сбора данных на Python были разработаны веб-скраперы. Данные Википедии были собраны с использованием интерфейса прикладного программирования Википедии (API). Википедия служит для предоставления общего обзора практики компании. Данные Новостей Google были собраны путем определения самых популярных новостных статей на основе поиска Google. Ссылки на эти статьи сохранились. Эти новости служат для предоставления общей информации о заметных событиях в области ESG. Данные Twitter были собраны с помощью библиотеки Snscrape. Snscrape — это легкий API, который позволяет пользователям собирать практически неограниченное количество твитов (с определенными ограничениями на количество собираемых в час) практически в любой период времени. Twitter был выбран для того, чтобы в первую очередь предоставлять потребителям обратную связь о практике компании. Поскольку API LinkedIn не поддерживает сбор публикаций LinkedIn, вместо этого был создан алгоритм с нуля. Алгоритм использовал Selenium Chromedriver для имитации прокрутки человеком запроса LinkedIn. На основании этого текст каждого поста собирался и сохранялся с помощью HTML-запросов через BeautifulSoup. LinkedIn служит для предоставления более профессиональной информации о практике компании. Такая архитектура сбора данных позволяет обновлять и генерировать рейтинги в режиме реального времени по мере необходимости. После этого данные по каждой подкатегории сохранялись в файле CSV.


Эти четыре социальные сети охватывают широкий спектр ESG-данных компании. Данные были собраны для большинства компаний S&P 500 (за исключением недвижимости). Недвижимость была исключена в первую очередь потому, что ей не уделялось должного внимания вопросам ESG (на основе поверхностного анализа), поэтому она не представлялась жизнеспособной для предлагаемой системы. Это гарантирует, что собранные компании будут хорошо сбалансированы по секторам и отраслям. Парсеры попытались собрать около 100 постов/статей по каждому ключевому слову в социальной сети. Однако иногда собиралось меньше данных из-за ограничений скорости API и ограниченной доступности данных для менее известных компаний. Чтобы ускорить сбор, одновременно запускалось несколько скриптов. Поначалу программы часто были ограничены в скорости из-за сбора такого большого количества данных за такой короткий период времени. Чтобы решить эту проблему, были добавлены меры безопасности, позволяющие приостанавливать работу программы в случае возникновения такой проблемы. Весь сбор данных проводился в соответствии с положениями и условиями каждого сайта. В общей сложности было собрано около 937 400 точек данных по примерно 470 компаниям, в среднем около 37 точек на ключевое слово социальной сети. Большая часть этих данных была сосредоточена в 2021 году. Однако жесткий диапазон дат не был установлен, поскольку это привело бы к удалению точек данных для менее известных компаний, которые уже изо всех сил пытались собрать достаточно информации.


После сбора всех данных их экспортировали в электронную таблицу для дальнейшего анализа. Данные были предварительно обработаны с использованием RegEx (регулярные выражения). Во-первых, URL-адреса и ссылки были удалены. Упоминания были заменены общим словом для абстрагирования имен. Наконец, были удалены необычные символы и знаки препинания. Это помогло отфильтровать слова/персонажи, которые могли помешать анализу НЛП.

4.2. НЛП-анализ

После очистки и систематизации данных для анализа был построен алгоритм НЛП. Во-первых, был создан алгоритм релевантности ESG для фильтрации нерелевантных ESG данных, которые могут помешать получению результатов. Для этого использовалось обнаружение ключевых слов, чтобы увидеть, обсуждается ли в сообщении/статье текущая компания, а также одна или несколько подкатегорий ESG. Затем использовалась библиотека распознавания именованных объектов Python Natural Language Toolkit (NLTK) для определения того, связано ли сообщение с организацией, чтобы удалить нежелательные данные. Например, если ввести в поиск запрос «яблоневый климат», то может появиться сообщение «Весенний климат — лучшее время для выращивания яблонь». Однако функция распознавания именованного объекта сможет определить, что это предложение не имеет отношения к ESG, поскольку слово «Apple» используется в качестве прилагательного. Поэтому алгоритм будет игнорировать его при анализе. С другой стороны, если бы в сообщении говорилось: «Apple вкладывает 500 миллионов долларов в инициативы по борьбе с изменением климата», то алгоритм определил бы, что в сообщении говорится об организации Apple. Этот этап фильтрации помогает удалить ненужную информацию для улучшения качества данных.


После фильтрации использовался анализ настроений NLP, чтобы оценить, был ли пост положительным или отрицательным ESG. Для этого были созданы два алгоритма НЛП: алгоритм НЛП с короткими сообщениями анализировал более короткие фрагменты текста (твиты, сообщения в LinkedIn), а алгоритм НЛП с длинными статьями анализировал более длинные статьи (статьи новостей, статьи в Википедии).


Был проведен литературный анализ различных библиотек анализа настроений Python. После сравнения различных библиотек анализа настроений, таких как TextBlob, VADER, FastText и Flair, было обнаружено, что Flair превосходит другие классификаторы. Вероятно, это связано с тем, что простые классификаторы наборов слов, такие как VADER или TextBlob, не смогли определить отношения, которые разные слова имели друг с другом. С другой стороны, Флер использовал контекстуальные векторы слов для анализа отношений на уровне слов и символов в предложении. Вероятно, именно поэтому, когда эти алгоритмы были протестированы на Stanford Sentiment Treebank (SST) для оценки настроений в обзорах фильмов по шкале от 1 до 5, было обнаружено, что алгоритм Flair показал лучшие результаты с показателем F1 49,90% (Akbik и др., 2018) (Рао и др., 2019) (рис. 4). Итак, алгоритм коротких постов был построен с использованием библиотеки анализа настроений Flair. Алгоритм длинных статей по сути является алгоритмом коротких сообщений, но усредняется по всем соответствующим абзацам тела (т. е. абзацам, содержащим название компании) в статье.


Рисунок 4. Сравнение точности различных алгоритмов анализа настроений в базе данных SST-5.


Эти зонтичные алгоритмы были дополнительно оптимизированы для каждой конкретной социальной сети. Например, алгоритм LinkedIn проанализировал профиль автора публикации в LinkedIn, чтобы исключить самоотчеты. Это связано с тем, что руководители часто обсуждают свои позитивные инициативы и цели, что может разбавить другие непредвзятые наблюдения и, таким образом, истолковать результаты. Кроме того, для алгоритмов Twitter и LinkedIn, если адрес ссылки был найден в тексте, алгоритм анализировал эту статью для оценки.


Изначально алгоритм анализа был очень медленным, так как на анализ одного поста у Флера уходило 3-4 секунды. Итак, была установлена вариация под названием «Flair Sentiment-Fast». Это позволило Flair проводить пакетный анализ, при котором он анализирует несколько сообщений одновременно. Это значительно сокращает время анализа, немного жертвуя точностью.


После того как все исходные данные были оценены, баллы были усреднены в единую электронную таблицу. Вмененное среднее значение использовалось для заполнения недостающих данных по подшкалам. Эти оценки по подкатегориям могут предоставить руководителям разбивку социальных настроений по ключевым вопросам, давая им конкретную информацию. Рисунок 4: Сравнение точности различных алгоритмов анализа настроений в базе данных SST-5 о том, какие области следует улучшить. Эти оценки можно использовать в исходном виде, чтобы помочь в реализации инициатив, или их можно дополнительно скомпилировать с помощью машинного обучения, чтобы обеспечить прогноз ESG.

4.3. Алгоритмы машинного обучения

После сбора данных были протестированы различные модели машинного обучения. Целью этих моделей было спрогнозировать показатель ESG от 0 до 100, где 0 — худший, а 100 — лучший. Большинство этих моделей обучения с учителем представляли собой облегченные алгоритмы регрессии, которые могут изучать нелинейные закономерности с ограниченными данными. Некоторые из этих алгоритмов включают регрессию случайного леса, регрессию опорных векторов, регрессию K-ближайших соседей и регрессию XGBoost (экстремальное повышение градиента). Случайная лесная регрессия работает путем построения нескольких деревьев решений во время обучения и выдачи среднего прогноза (Тин Кам Хо, 1995). Регрессия опорных векторов определяет линию наилучшего соответствия в пределах пороговых значений (Awad et al., 2015). Регрессия K-ближайших соседей прогнозирует значение на основе среднего значения соседних точек данных (Kramer, 2013). XGBoost (экстремальное повышение градиента) Регрессия использует повышение градиента путем объединения оценок/прогнозов более простых деревьев регрессии (Chen et al., 2016).


Эти алгоритмы регрессии были обучены с использованием 19 функций. Эти функции включают среднее настроение для каждого из 18 ключевых слов с дополнительной категорией для Википедии. Они были откалиброваны в соответствии с публичными рейтингами S&P Global ESG, чтобы гарантировать, что они не сильно отличаются от существующих решений. Для получения оценок S&P Global ESG для всех проанализированных компаний использовался публично лицензированный парсер рейтингов ESG на GitHub (Shweta-29). Методы оптимизации, такие как регуляризация, использовались для предотвращения переобучения и повышения точности.


Перед созданием алгоритмов были отфильтрованы компании с количеством статей/постов менее 5 на подкатегорию ESG. Для анализа осталось ~320 компаний. Для создания и тестирования алгоритма в качестве обучающих данных использовались ~256 компаний, а для тестирования данных — ~64 компании. Эти результаты были использованы для определения прогнозирующих возможностей алгоритма.


Этот документ доступен на arxiv под лицензией CC BY-NC-ND 4.0 DEED.