Недавно я выступал с докладом о моем анализе данных о сне Fitbit на встрече Dublin Quantifies Self. Мне показалось более чем подходящим (если не обязательным) количественно оценить и проанализировать все данные, которые я собрал и сгенерировал во время такого разговора.
Здесь я исследую два типа данных: частота сердечных сокращений измерения с моего Fitbit и стенограмма моей речи.

Эта статья дополнена записной книжкой Jupyter, в которой исследуется код и методы, используемые для получения результатов, которые я здесь проиллюстрировал. Я полагался на общие библиотеки Python (Pandas, Sklearn, NLTK и Seaborn для визуализации) и API IBM Watson для задачи преобразования речи в текст.

Частота сердцебиения

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

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

Вот мой пульс за весь день вторника, 22 ноября 2016 г.

Среднее значение составляет 81 сердцебиение в минуту (уд. / Мин.) С минимальным и максимальным значениями соответственно 53 и 134 уд. / Мин.

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

Я подчеркнул каждый соответствующий пункт буквой:

  • A: прибыл на место проведения мероприятия (после 15-минутной быстрой прогулки)
  • B: начало выступления первого докладчика. Здесь я просто сижу и слушаю, тоже, скорее всего, сознательно напрягаю себя, пытаясь расслабиться.
  • C: на сцене, начало моего выступления
  • D: начало сеанса вопросов и ответов
  • E: обратно к стулу

Я уже видел пару подобных графиков для сопоставимых ситуаций: как и многие другие, мне просто не удалось избежать этого пика. Как вы могли заметить, это как раз самое высокое значение, которое я достиг за день, сравнявшись последующим быстрым пробегом после пары пинт. Интересно также наблюдать, как ЧСС постоянно снижалась, как только я начал проводить презентации. Я помню, что изначально был хорошо осведомлен о своих словах, о том, что я говорил, а затем просто оставил место для «режима автопилота».

Теоретически, чем больше я выступлю, чем больше выступлю публично, тем «лучше» должен получиться график. Это мой первый личный набор данных такого рода, но я надеюсь собрать гораздо больше данных в следующие годы. Придется принять во внимание не только практику / опыт, но и контекст, старение и только Бог знает, сколько еще возможных объясняющих переменных.

Анализ речи

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

Конечно, это много, но давайте посмотрим, что мы можем сделать и извлечь из основного текста, и оставим все эти аспекты на более позднем этапе.

Речь в текст

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

Хорошо известные службы преобразования речи в текст (с пространством для некоторого бесплатного использования) от таких известных компаний, как Google, Microsoft и IBM.

Google требовал номер моей кредитной карты, а API Microsoft не реагировали на мои усилия. С другой стороны, результаты IBM действительно обширны, и вместе с различными дополнительными настройками каждое распознанное слово может сопровождаться уровнем достоверности, временем начала и окончания («время начала и окончания в секундах относительно начала звука») .

Базовый анализ текста

Учитывая чисто текстовую информацию, я уже закончил с этим простым, но аккуратным резюме моего выступления:

«Вот краткое содержание разговора. Всего было сказано 3315 слов, из которых 951 уникальное, что дает лексическое богатство 28,69%.
При общей продолжительности разговора 21,8 минуты скорость речи составляет 152 слова в минуту (слов в минуту) ».

Основным аспектом, который можно было бы изучить в этой ситуации, является использование слов: какие слова, биграммы, триграммы являются наиболее употребительными во время разговора. Лучшие результаты, скорее всего, будут распространенными и малоинформативными составляющими, такими как статьи, наречия и местоимения. В своих результатах я обнаружил, что первое значащее слово - это данные, занимающее 65 место в словах, которые встречаются чаще всего, что может иметь смысл с учетом темы выступления.
Чтобы лучше изучить актуальные релевантные слова, вы можете в первую очередь попытаться просто удалить стоп-слова или полагаться на более специализированную статистику, такую ​​как tf-idf (более подробные подробности описаны в блокноте).

Выравнивание слов и скорость речи

Давайте снова рассмотрим результаты преобразования речи в текст из службы IBM Watson. Вот как выглядят первые пять строк (из 3315, по одной для каждого слова) очищенных результатов:

Информация о выравнивании может использоваться для преодоления некоторых ограничений анализа чистого текста. Следующая гистограмма должна дать приблизительное представление о тенденции моей скорости речи; весь диалог разделен на 10 ячеек равного размера (времени), а значение x - это количество слов, попадающих в соответствующую ячейку.

Вы можете заметить, например, небольшое, но постоянное снижение скорости моей речи. Подбирая линию регрессии между такими точками, я получаю коэффициент -5,23. Принимая во внимание 10 используемых ящиков, каждая ячейка имеет размер 2,18 минуты. Грубо говоря, это эквивалентно тому, что в среднем моя скорость речи снижалась на 5,2 слова каждые последующие 2,1 минуты.

Если говорить более обобщенно, можно просто сказать, что чем больше времени прошло, тем медленнее я говорил. Затем мы должны прояснить, что означает «говорить медленнее». Я могу придумать два варианта:

  • использование меньшего количества слов, что может быть вызвано двумя факторами: большим интервалом / паузами между словами или использованием более длинных слов, для произнесения которых требуется больше времени
  • более низкая скорость слова (время произнесения слова, измеряемое как длина слова w, деленная на время произнесения w)

Основываясь на результатах аппроксимации линейной регрессии и коэффициентов корреляции, дополнительная сводка для части выравнивания будет:

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

Наконец, еще одним интересным дополнением к результатам IBM API является наличие определенного ключевого слова: % HESITATION, которое, к сожалению, не очень хорошо документировано, но должно отражать заполнители и нарушения речи, такие как «Ух», «Ах», «Эмм», «Умм» и т. Д.
Здесь визуализация появления такого ключевого слова.

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