Алгоритм отклонения: получение временных отметок разговорных слогов с учетом фактического стенограммы - PullRequest
0 голосов
/ 25 ноября 2018

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

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

['A' => 0.2, 'B' => 1.5, 'C' => 2.2, 'D' => 3.2, 'E' => 3.8, 'F' => 4.2]

Суть в том, что это отображение метки времени, возвращаемое из API, иногда неправильно транскрибирует буквы.В дополнение к простому ошибочному восприятию буквы (замена), он может почувствовать, что существуют буквы, которые на самом деле не являются (вставки), или полностью пропускают произносимые буквы (изъятия).Например, аудио, содержащее ABCDEF, может иметь ответ API, например:

['A' => 0.2, 'B' => 1.5, 'C' => 2.2, 'X' => 2.8, 'D' => 3.2, 'E' => 3.8, 'F' => 4.2]

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

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

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