1. Проблемы / варианты использования

Солнечный понедельник, Том наслаждается кофе, но его босс Джерри подходит к нему и говорит:

«Вот стенограмма фильма, но нет информации о хронологии. Не могли бы вы уделить время просмотру фильма и сопоставить временную метку видео с расшифровкой стенограммы? Это легко и весело, правда? »

Следующий график объясняет проблему, которую необходимо решить Тому:

«Ээ… ладно», - Том просто не может отказаться.

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

Том так плохо себя чувствует.

2. Обзор принудительного выравнивания

2.1 Что такое принудительное выравнивание

«Что вы нахмурились?», - пытается помочь Аарон, инженер по машинному обучению, сидящий рядом с Томом.

После того, как Том объясняет проблему, с которой он столкнулся, Аррон с улыбкой говорит: «О, легко! это всего лишь проблема принудительного выравнивания, ничего страшного! »

«Ничего страшного?», - собирается пожаловаться Том, но Аррон говорит: «Это может занять всего несколько минут, не волнуйся, чувак».

«Несколько минут?», - подозрительно, но в то же время взволнован Том, «так что же такое принудительное выравнивание?»

«Согласно Wiki [1], принудительное выравнивание относится к процессу, с помощью которого орфографические транскрипции выравниваются с аудиозаписями для автоматического создания сегментации на уровне телефона», - продолжает Аарон, - «вкратце, выравнивание звука с текстом - это принудительное выравнивание». .

«Это то, чем я хочу заниматься!», - так взволнован Том.

2.2 Инструменты для принудительной центровки

«Хорошо, теперь я знаю академический термин« Принудительное выравнивание », - говорит Том, - но как я могу решить свою проблему с помощью принудительного выравнивания?»

«На самом деле существует множество инструментов, которые могут помочь решить эту проблему, проверьте это [2]:»

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

"Большое спасибо! Аарон, это потрясающе! », - Том начинает исследовать эти инструменты.

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

3. Дополнительно: алгоритмы принудительного выравнивания

3.1 DTW (динамическое искажение времени)

Типичный инструмент / библиотека: Эней

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

›Введение

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

›Ввод

2 последовательности:

  • A = [a1, a2, …, an]
  • B = [b1, b2, …, bm]

›Вывод

Матрица неточностей: каждая ячейка соответствует расстоянию до соответствующих точек.

Оптимальный согласованный путь (как показано красными точками):

  • W = [w1, w2, …, wx], in it w_k = (a_i, b_j)

›Сложность времени

O(m * n)

›Условия

  1. Границы
  • w1 = (a1, b1)
  • wk = (an, bm)

2. Монотонный

предположим, что w (k-1) = (a_i, b_j), таким образом, для w_k = (a_ii, b_jj) будет:

  • a_ii >= a_i
  • b_jj >= b_j

3. Преемственность

предположим, что w (k-1) = (a_i, b_j), таким образом, для w_k = (a_ii, b_jj) будет:

  • ii — i <= 1
  • jj — j <= 1

›Цель оптимизации

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

Математически цель такова:

Основываясь на цели, мы могли бы определить совокупное расстояние для решения этой проблемы с помощью динамического программирования. Ссылка [5] дает очень хороший пример того, как решить DTW с помощью динамического программирования, пожалуйста, проверьте его для получения более подробной информации.

›Как использовать DTW при принудительном выравнивании

Пока вы можете быть озадачены тем, как DTW используется в принудительном выравнивании. По сути, DTW - не единственные используемые алгоритмы. Возьмем, к примеру, Aeneas, ключевой рабочий процесс использования DTW:

  1. используйте TTS (преобразование текста в речь), чтобы преобразовать текстовый файл расшифровки в аудио, и сгенерировать отображение времени слова ‹-›.
  2. преобразовать аудио в данные временного ряда
  3. используйте DTW, чтобы сопоставить 2 серии
  4. вычислить реальное слово ‹-› временное отображение на основе пути DTW

Выше приведен ключевой рабочий процесс, вы можете прочитать ссылку [3] для более подробной информации, если вас интересуют детали реализации Aeneas.

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

3.2 ASR (автоматическое распознавание речи) через HMM (скрытые марковские модели)

›Введение

HMM - это статистическая марковская модель, в которой моделируемая система считается марковским процессом со скрытыми состояниями.

С помощью HMM мы могли вывести скрытые состояния или возможности перехода на основе наблюдаемых состояний.

›Определения

  1. N: количество скрытых состояний
  2. Mat (N): Матрица возможностей перехода для N видов состояний
  3. OS = [OS1, OS2,…]: наблюдаемая цепочка передачи состояний.
  4. HS = [HS1, HS2,…]: цепочка передачи скрытых состояний

Давайте возьмем пример, предположим, что у нас есть 3 кубика, и их имена D6, D4, D8 соответственно.

D6 имеет 6 поверхностей, D4 - 4, а D8 - 8 поверхностей. Как показано на следующем рисунке:

Таким образом, теперь определение N = 3

Предположим, их возможность перехода такая, как показано на следующем рисунке, поэтому определение Mat (N) = [[0,2, 0,3, 0,5], [0,4, 0,5, 0,1], [0,1, 0,1, 0,8]].

Если мы бросим кости и получим 2 последовательности, как показано на следующем рисунке.

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

  • определение последовательности наблюдаемых состояний OS = [1, 6, 3, 5,…]
  • определение последовательности скрытых состояний HS = [D6. D8, D6,…]

›В решении чего может помочь HMM

Есть несколько типичных проблем, которые мы можем исправить с помощью HMM:

  • Известный N & Mat (N) & OS, попробуйте выяснить HS
  • Известная N OS, попробуй разобраться Мат (N)

›Как HMM способствует принудительному согласованию

Ранее, когда мы говорили о DTW, мы пытались преобразовать текст в аудио (TTS), а затем выровнять две последовательности.

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

4. Ссылка:

  1. Принудительное выравнивание
  2. Инструменты принудительной центровки
  3. Эней: Как это работает
  4. Динамическое искажение времени
  5. Введение в динамическое искажение времени
  6. Корреляционный анализ временных рядов
  7. Монреальский принудительный выравниватель
  8. Скрытая марковская модель
  9. Введение в HMM
  10. Системы принудительного выравнивания и распознавания речи