Аналитика сотрудничества. Как работает семантика в Yva.ai
Искусственный интеллект платформы Yva.ai, задействуя NLP (Natural Language Processing – в пер.с англ. – обработка естественного языка), распознает наличие задач, позитива, негатива или конфликтов в коммуникациях между сотрудниками. Такой анализ помогает выявить причины выгорания сотрудников и помочь им справиться с возникшими сложностями.
Платформа компании Yva.ai использует машинное обучение для обработки информации. В том числе и текстовой информации, представленной на многих языках. Ключевым инструментом анализа текста на естественном языке является семейство классификаторов на основе глубоких нейронных сетей. Такие сети выполняют первичный анализ потоков сообщений внутри компании, использующей платформу Yva.ai.
Информация, содержащаяся в текстовых сообщениях, является чрезвычайно чувствительной для бизнеса наших клиентов. Осознавая это, мы сознательно спроектировали Yva.ai таким образом, что вся текстовая аналитика реализована как классификация. Перед системой стоит задача: понимать наличие или отсутствие в тексте набора высокоуровневых признаков, способных дать полезную информацию о производительности отдельных сотрудников компании, об их вкладе в здоровую атмосферу в коллективе, о фактическом (не номинальном) месте сотрудника в бизнес-процессах предприятия.
Современные почтовые системы используют машинное обучение для определения нежелательных сообщений (спама). Результатом такого анализа является метка, которая добавляется к заголовку сообщения и сигнализирует о характере содержимого без какой либо конкретики. Метка не позволяет судить о том, какой именно товар рекламируется, сколько он стоит и реклама ли это вообще.
По таким же принципам работают классификаторы Yva.ai. Они помечают сообщение набором маркеров, позволяющих делать только общие выводы о содержащейся в тексте информации.
Примеры меток системы Yva.ai:
маркеры тональности: positive, negative, neutral;
наличия поручений: task, no_task;
наличие признаков конфликта: conflict, no_conflict;
наличие признаков похвалы/оценки за хорошо проделанную работу: praise, no_praise и другие.
Как Yva.ai работает с естественным языком?
Yva.ai спроектирована таким образом, что текстовые сообщения не хранятся в платформе, поэтому их невозможно прочитать или украсть, они существуют только в информационных системах компании клиента. Доверять Yva.ai чтение текста — абсолютно безопасно.
Мы разработали и запатентовали двухступенчатую процедуру работы с текстом. Благодаря ей, мы можем использовать уже обученные классификаторы или обучить новые даже не имея самого текста.
Алгоритм позволяет преобразовывать текст с учетом двух важных моментов:
с одной стороны, алгоритм исключает возможность восстановить оригинальное содержание текста, наличие в нем конкретных сущностей (имена, локации, номера счетов, адреса) и другой идентифицирующей информации;
с другой стороны, алгоритм позволяет сохранить концептуальное содержание текста в так называемой artificial-форме в виде многомерного вектора. Это и дает возможность применять классификаторы на основе глубоких нейронных сетей.
В последнее время появились мощные методы анализа текстовой информации на основе глубоких нейронных сетей. В особенности интересны Unsupervised-методы, которые не требуют существенной и трудоемкой ручной предобработки текста. Для практической реализации такого процесса сначала надо выбрать некоторую искусственную задачу для будущей нейронной сети. Решая эту задачу нейронная сеть «выучит» особенности данных, их структуру и сможет использовать эти знания для решения прикладных задач.
Примером такой искусственной задачи может быть задача сжатия информации. Сначала одна часть нейронной сети учится преобразовывать исходный сигнал (например, текстовый документ) в компактную форму в виде вектора из небольшого количества чисел. Затем другая часть нейронной сети учится восстанавливать из получившегося сжатого представления исходный сигнал.
Типичная архитектура нейронной сети, применимая для такого рода задач называется Авто-Энкодер. Она состоит из двух частей: Энкодера и Декодера.
Энкодер реализует функцию:
E: X→z,
где X— исходный сигнал, z — компактное векторное представление сигнала.
Декодер реализует функцию:
D: z→X',
где X' — восстановленный сигнал.
Нейронная сеть обучается минимизации разницы между исходным и восстановленным сигналом, например, в такой форме:
argmin E,D||X-X'||
Некоторые могут знать эту схему, как одну из возможных реализаций метода information bottleneck из теории информации. Суть этого метода, состоит в том, что имея только образцы данных (текст, в нашем случае) мы можем запустить алгоритм, который на выходе даст нам обученную нейронную сеть, способную представить текст в виде цифрового представления (artificial representation).
Энкодер полученных таким образом нейронных сетей в процессе обучения сжатию информации становится специалистом в том, как эти данные устроены, какие в них есть закономерности, какая у них структура и т.п. По сути, Encoder — это архиватор, который превращает текст X в архив в цифровой форме z, а Декодер — распаковщик. Только в отличие от привычных программ-архиваторов типа ZIP, в которых мы можем получить наши данные обратно в исходном виде, в случае с нейронными сетями восстановить исходные данные нет возможности. Емкости цифрового представления недостаточно для хранения полного варианта, плюс, процесс декодирования формализуется как вероятностный, не дающий точного результата. Вместо точной исходной формы сохраняются только некоторые обобщенные признаки.
Как это связано с алгоритмом Yva.ai?
Yva.ai не хранит сам текст. Она хранит полученный в результате оцифровки нейронной сетью вектор чисел z. Мало того, чтобы устранить использование соответствия между конкретным текстом и конкретным вектором, мы храним вектор с добавленным к нему случайным шумом небольшой амплитуды.
Таким образом, вместо самого текста мы храним высокоуровневые признаки, извлеченные из него, причем в такой форме, что декодировать их явно — невозможно. И информации, содержащейся таком представлении, достаточно для решения тех прикладных задач, которые на момент обучения энкодера даже не планировались. Например, имея энкодер и какую-либо модельную коллекцию текстов, размеченных вручную (например, метками «Спорт», «Погода», «Научная статья», «Конфликт» и т.п.), мы можем в любой момент времени обучить другую модель, для которой вектор репрезентации будет являться входным, а целевой задачей станет корректное определение рубрики или выполнение классификации.
Если в процессе обучения модели Авто-Энкодера немного видоизменить задачу и обучать распаковывать z не в исходный текст, скажем, на русском языке, а в тот же самый текст, но переведенный на множество других языков, мы получим модель, которая отображает текст в форму, не зависящую от языка, на котором этот текст создан! Классификатор, обученный на таком инвариантном к языку представлении текста, оказывается инвариантным и к языку обучающего корпуса и к языку того текста, который подвергается классификации.
Используя возможности глубоких нейронных сетей, Yva.ai выполняет первичный анализ потоков сообщений внутри компании. При этом она не хранит исходный формат текста, она изучает его на наличие маркеров и соотносит маркеры с одной из доступных ей классификаций.
Какие классификации есть в платформе Yva.ai?
Позитивная и негативная тональности
В контексте бизнес-процессов компании оценка «Тональность сообщений» помогает определять уровень здоровья целой организации. При этом анализируется только содержательная часть сообщений. Это значит, что проявление вежливости, прощания, приветствия не рассматриваются как факторы, влияющие на позитивную или негативную окраску сообщения в целом.
Если в одном предложении встречается и негатив, и позитив, Yva.ai считает все предложение негативом.
Примеры негатива:
Приближается дедлайн, а у нас ничего не готово.
Вы не ответили на запрос.
Просрочили оплату контракта.
Примеры позитива:
Я за общение, мне всегда интересно с коллегами поговорить.
В целом впечатления положительные, мы хотим сотрудничать.
Надеюсь мы сохраним темп и сделаем все в срок и на высоком уровне.
Похвала
Похвала сотрудника в содержательной части сообщения чаще всего направлена на то, чтобы, выразить в явной или косвенной форме благодарность за хорошо проделанную работу.
Похвала — явление многогранное. Она входит в подмножество позитива и служит оценкой достижений, мощным мотивационным фактором и формой обратной связи одновременно.
Похвала — это маркер, отражающий уважение личности сотрудника и проделанной им работы, непредвзятость, отсутствие высокомерия со стороны руководства. А со стороны подчиненных это показатель уровня комфорта работы и удовлетворенности топ-менеджментом компании. Похвала может быть направлена и на группу сотрудников, и на компанию в целом. И тогда это значимый маркер здоровья в коллективе.
Примеры похвалы:
Мы — лучшая команда и наши сепульки завоюют рынок!
Ты, Димон, хороший сисопс. Да и как девопс — тоже ничего.
Спасибо за презентацию! Все слушали, затаив дыхание.
Конфликты. Не путает ли Yva.ai конфликты с сарказмом?
Подмножество негатива отражает многогранную сущность вредных с точки зрения бизнеса процессов. Они имеют очень разнообразную природу.
Конфликт может быть межличностным, когда два человека находятся в состоянии личной неприязни. Или групповым, когда, например, разные подразделения компании не могут наладить совместную работу.
В тексте конфликт может иметь нетривиальную форму выражения. Важно отделять его от сарказма, шуток и пр.
Как Yva.ai работает с такой сложной темой определения наличия конфликта в тексте?
Ответ очень прост. Нейронные сети и их возможности являются отражением тех данных, на которых они были обучены. Нейронные сети классификаторов Yva.ai обучены на больших объемах текстов, размеченных специалистами вручную. Мы позаботились о том, чтобы содержание таких текстов как можно полнее отражало все грани человеческого общения посредством обмена текстовыми сообщениями.
Пример письма, в котором определен конфликт:
«Андрей, Дима тебя не слышит. Его действия направлены на уничтожение компании ФИРМА. Я говорил с Русланом несколько раз на этой неделе. Ситуация серьезная.
Имея полный доступ ко всем данным Фирма, Дима оказался некомпетентен прочитать, проанализировать и правильно подать финансовую информацию акционерам UPGRADE. Меня на ключевую встречу по этому вопросу фактически не позвали. Я был готов присутствовать, достаточно было перенести ее на 1 час. Итогом стало полное фиаско в переговорах и эмоциональные попытки взвалить вину на менеджмент.
Я надеюсь, теперь становятся более понятны причины, по которым я запрашиваю первичную информацию, полученную Димой в апреле. Я хочу изучить оригинальные данные от собственников UPGRADE, а не интерпретацию Димы и его коллег.
Количество ошибок превышает разумные пределы. Ненужная эмоциональность подкрепляется наглой упертостью. Это все ведет в тупик. Предлагаю отозвать мандат Димы на переговоры по сделке с UPGRADE.
Я готов с завтрашнего дня включиться и тратить 50-70% своего времени на переговоры с UPGRADE».
Задачи. Как Yva.ai распознает их в тексте?
Задача в понимании системы Yva.ai — это наличие в содержательной части сообщения поручения для конкретного человека или группы сотрудников.
Примеры задач:
Распечатай, подпиши и направь курьера с документами по указанному ниже адресу.
Соберите совещание, обсудите мое предложение и отпишитесь по результату.
Уважаемый Виктор Викторович, просьба выбрать приемлемый вариант и дать соответствующее указание.
Материал подготовил: Вячеслав Селёдкин