Доброе утро!

Добро пожаловать в то, что априори станет последней частью мини-сериала об анализе настроений. Помните, что если вы не видели предыдущую часть 3, вы можете найти ее по следующей ссылке: https://cyberforged.com/employees-burnouts-and-bankruptcy-how-to-monitor-the-emotions-and -здоровье-ваших-сотрудников-часть-3/

В этой последней части мы изменим код, который мы видели ранее, в котором мы использовали CoreNLP для определения тональности предложения в разговоре. Что мы собираемся сделать, так это изменить его, чтобы сам код мог создавать график с изменением настроений сотрудника с течением времени.

Пойдем?

Ситуация

Как мы видели в первой части мини-сериала (https://cyberforged.com/employees-burnouts-and-bankruptcy-how-to-monitor-the-emotions-and-health-of-your-employees- часть-1/), выгореть сотруднику — не вопрос дня или недели. Это вопрос времени. Сотрудник, а то и мы сами, пройдет через ряд ситуаций, в которых ему будет все более некомфортно работать в нашей компании.

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

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

Поток нового доказательства концепции

Что ж, чтобы модифицировать наш код, мы будем следовать следующему потоку, который на самом деле является копией предыдущего, но отражает необходимый непрерывный мониторинг:

  • Запускаем программу, в данном случае из eclipse.
  • Настройте движок, как мы видели в предыдущей части.
  • Вот первое отличие: мы должны собрать тексты разных дней, чтобы проанализировать их эволюцию.
  • Мы используем CoreNLP в качестве основного механизма для определения настроений.
  • Извлекаем настроение.
  • Мы создаем график, фактически показывающий эволюцию этого сотрудника.

Код

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

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

Итак, мы пройдемся по каждому из этих текстов, проанализируем его настроение и сохраним его в массиве с именем listSentiments.

Затем мы будем использовать известную библиотеку XChart (https://knowm.org/open-source/xchart/) для создания этих графиков:

Когда мы завершим выполнение, мы сможем увидеть на экране следующее:

И чуть ниже мы можем увидеть график:

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

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

PS — Вот вам код:

А вот pom.xml с зависимостями:

Первоначально опубликовано на https://cyberforged.com 18 февраля 2021 г.