Оценка риска посттравматического стрессового расстройства с использованием линейных классификаторов в НЛП

Использование линейных классификаторов для оценки наличия у говорящего посттравматического стрессового расстройства путем анализа записанных сеансов терапии.

В течение двух месяцев (с июля по август 2019 года) мне выпала честь работать с более чем 40 сотрудниками со всего мира над созданием моделей машинного обучения для оценки риска посттравматического стрессового расстройства Омдены.

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

Что такое посттравматическое стрессовое расстройство?

По данным Американской психиатрической ассоциации, посттравматическое стрессовое расстройство (ПТСР) - это психическое расстройство, которое может возникнуть у людей, которые пережили или стали свидетелями травмирующего события, такого как стихийное бедствие, серьезная авария, террористический акт, война / сражение, изнасилование или другое жестокое личное нападение.

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

К сожалению, если не лечить посттравматическое стрессовое расстройство, это может привести к серьезным осложнениям, таким как:

  • Проблемы с управлением гневом
  • Одиночество
  • Тяжелая депрессия

Решение

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

Набор данных

Мы использовали 48 стенограмм терапевтических сеансов. Каждая стенограмма состояла из двух столбцов; говорящего (терапевта или клиента) и произнесенных слов. Используя DSM-5 (руководство по диагностике расстройств, связанных с травмами), специальная команда аннотировала каждый транскрипт с целевой переменной, являющейся риском посттравматического стрессового расстройства, по шкале от 0 до 1. Затем я преобразовал метки в двоичную форму так, чтобы метки со значениями меньше чем 0,5, чтобы указать на отсутствие посттравматического стрессового расстройства, и те, которые равны или выше, чтобы указать на наличие посттравматического стрессового расстройства.

Было 40 транскриптов, которые указывали на отсутствие посттравматического стрессового расстройства, и 8 - на наличие посттравматического стрессового расстройства.

Процесс

Очистка данных

Я предпринял следующие шаги, чтобы очистить текст после извлечения только слов клиентов (за исключением слов терапевта).

  1. Удаление текста описания, такого как [плачет], [неразборчиво] и т. Д.
  2. Разбиение предложений на отдельные слова (токенизация).
  3. Удаление знаков препинания.
  4. Фильтрация стоп-слов (the, and, a, there).

Векторизация слов

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

TF-IDF: метод назначения некоторой формы вектора веса на основе частоты в корпусе.

Вложения слов: векторное представление слов, в котором слова с одинаковым значением имеют близкие друг к другу векторные значения.

Я решил использовать встраивание слов, потому что набор данных был очень маленьким, а вероятность того, что важные слова будут часто встречаться, была низкой. Кроме того, была высокая вероятность того, что некоторые слова не будут найдены в модели, подобранной TF-IDF, после обучения.

Я использовал предварительно обученную модель Google word2vec для встраивания слов. Затем каждое слово стало 300-мерным вектором, который модель могла легко интерпретировать.

А как насчет разных размеров каждой расшифровки?

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

Визуализация

Я выполнил анализ основных компонентов (PCA) данных. PCA - это статистическая процедура, которая использует ортогональное преобразование для преобразования набора наблюдений возможно коррелированных переменных в набор значений линейно некоррелированных переменных, называемых главными компонентами. Я буду использовать его, чтобы уменьшить размеры набора данных, чтобы иметь возможность визуализировать данные.

Классы не кажутся разделяемыми, что меня беспокоило, но я решил продолжить.

Тренировка

Затем я разделил набор данных на набор для обучения и тестирования, используя стратифицированное k-кратное 5 разбиений. Я использовал k-складку, потому что я хотел проверить переоснащение и стратификацию, потому что хотел убедиться, что класс меньшинства представлен во всех складках.

Для своих линейных классификаторов я использовал логистическую регрессию и линейную SVM.

Классификаторы

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

SVM подходит для работы с данными большого размера (есть 300 функций и около 38 строк на сгиб).

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

LogisticRegression(random_state=0, C=1,solver='liblinear',class_weight="balanced")
LinearSVC(C=1,class_weight="balanced")

Оценка результатов

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

В следующей таблице показаны результаты

Логистическая регрессия работает немного лучше, чем линейная SVM. Однако результаты все еще неоптимальны. Модель явно слишком чувствительна.

Существует очень сильный элемент переобучения, поскольку все результаты поезда превышают 50% для общей точности и 100% для оценки отзыва (особенно в случае SVM, что, вероятно, связано с повышенной сложностью алгоритма).

Ограничения

Размер набора данных

Набор данных чрезвычайно мал. Это приводит к переобучению и ограничивает используемые модели, поскольку сложные модели, как правило, переоборудуются. Другая проблема заключается в том, что выбросы намного мощнее, и модель гораздо более чувствительна к ним.

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

Кроме того, необходимо провести гораздо больше исследований по работе с небольшими наборами данных.

Уменьшение размерности встраиваемых слов

Процесс усреднения вложений слов каждой транскрипции приводит к потере данных. Это может привести к тому, что детали не будут хорошо видны.

Заключение

Работа с небольшим, несбалансированным и немаркированным набором данных оказалась огромной проблемой. Однако правда в том, что наборы данных в реальном мире приходят почти таким же образом. Базовый подход к загрузке наборов данных, а затем к обучению и тестированию никуда не годится. Эта проблема требует творческих (почти художественных) подходов для получения хороших результатов.

Чтобы узнать больше о том, как были аннотированы данные, вы можете прочитать следующую статью Альберта Лая



Другие участники испытания пробовали модели, которые казались более многообещающими, вот статья Natu Lauchande



Если вы хотите присоединиться к одному из их испытаний и оказать реальное влияние, повышая свои навыки, подайте заявку здесь.

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

Мы также находимся в LinkedIn, Instagram, Facebook и Twitter.