Что такое преобразование речи в текст?

Преобразование речи в текст (STT) или автоматическое распознавание речи (ASR) — это технология, позволяющая автоматически преобразовывать человеческую речь в текст с помощью вычислительной лингвистики.

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

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

Что мы решаем с помощью STT?

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

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

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

Под капотом ASR и Google Speech-to-Text!

Прежде чем мы перейдем к повышению точности, важно

  1. Иметь высокий уровень понимания того, как функционируют системы ASR.
  2. Как мы измеряем результат, чтобы улучшить его?

ASR — Архитектура системы

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

Система принимает аудиовход от пользователя в виде фрагментов речевых кадров длительностью 10–25 миллисекунд для обработки и разработки так называемой акустической модели. Акустическая модель рассматривает формы звуковых волн или спектрограммы и преобразует эти формы волн в фонемы.

Фонема – это отдельная звуковая единица определенного языка, из которой состоит слово. В приведенном ниже примере показаны 3 различных фонемы, из которых состоят слова «пять» и «четыре» в английском языке. Эти сопоставления слов и фонем разработаны экспертами и могут рассматриваться как эквиваленты алфавитов, из которых состоит слово, но с использованием фонетики.

Затем эти предсказания фонем используются в так называемой языковой модели.

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

Итак, очень простым способом речь транскрибируется в текст.

Измерение: частота ошибок в словах (WER)

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

  • Ошибка вставки(I) — слова, присутствующие в расшифровке гипотезы, но отсутствующие в основной истине (человеческая транскрипция).
  • Ошибки замены (S) — слова, которые присутствуют как в гипотезе, так и в основной истине, но неправильно расшифрованы.
  • Ошибки удаления(D) — слова, отсутствующие в гипотезе, но присутствующие в истине.
  • Общее количество слов (N) — общее количество слов в расшифровке исходных данных.

WER рассчитывается путем сложения всех ошибок (S+D+1) и деления полученного результата на общее количество слов (N) в исходной стенограмме. Поэтому цель состоит в том, чтобы иметь как можно более низкий WER.

Измерение и повышение точности

На этом фоне давайте попробуем решить проблему клиента AMC. Я буду использовать следующую истину, чтобы смоделировать записанный отзыв клиента и оценить его точность:

«Я, Нишит Камдар, подаю заявку на полис гарантированного дохода от прямого страхования тарелок. Я подтверждаю оплату премии в размере 50000 рупий в течение 5 лет на ежегодной основе. Я нахожусь в Мумбаи по адресу: 789 Alpine Regency Main Street Fort Mumbai 400001, мой контактный номер 98211 65243. Пожалуйста, примите это как мое согласие на обработку заявки».

Итерация1: проверка текущей конфигурации и точности

Ниже приведен код python sdk, который испытывала группа ИТ:

WER:Зеленый зачеркнутый текст – это ошибки в транскрипции, а выделенный желтым цветом – текст, подтверждающий достоверность.

WER текущей конфигурации был чрезвычайно высоким — 37,88%, в результате чего общая точность STT снизилась до 60+%.

Итерация — 2: Код языка

Одной из ключевых проблем с приведенной выше конфигурацией является language_code=en-US. Google для преобразования речи в текст поддерживает 125+ языков, включая варианты этих языков в зависимости от страны. Таким образом, для английского языка он предоставляет более 40 вариантов того, как на английском языке говорят в этих странах. Поскольку это для индийских клиентов, давайте изменим его на индийский вариант.

Конфиг обновлен на английский для Индии — ru-IN

WER:WER резко падает до 10+%, обеспечивая точность, близкую к 90%+, после внесения только этого изменения, и поэтому это одна из наиболее важных конфигураций для проверки.

Итерация -3: модель транскрипции

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

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

Поскольку ни одна из моделей не применима к нашему сценарию, мы выберем модель «по умолчанию».

Итерация — 4: Адаптация речи — фразовые подсказки и усиление

В наших выходных данных итерации-2 мы все еще видим некоторые собственные существительные или редкие слова(название людей и компаний) Ошибки, связанные с адресом и номером телефона.

Чтобы решить эту проблему, GCP предоставляет Речевые адаптации, которые представляют собой механизмы для предоставления подсказок ASR, чтобы сместить его для получения требуемого вывода. Есть 3 типа особенностей адаптации — фразовые подсказки, бусты и жетоны класса.

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

Boost позволяет вам добавлять числовые значения к этим фразовым подсказкам, чтобы настроить силу эффектов адаптации речи к результатам транскрипции.

Итак, давайте добавим в конфиг параметр Speech_Contexts, передав имена собственные и увеличив его вес.

Вывод:

И имена собственные Nishit и Cymbal теперь правильно транскрибируются с использованием подсказок фраз адаптации речи и функции усиления, что улучшает транскрипцию.

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

Фразы подсказки и повышения можно использовать двумя способами:

  1. Статический список. Вы можете создать словарь ключевых слов, уникальных для вашего домена или бизнеса, и передавать его в качестве параметра при каждом запросе для правильной расшифровки. Google STT также предоставляет способ хранения коллекции из тысяч элементов и передачи идентификатора коллекции, чтобы вам не приходилось отправлять все элементы для каждого запроса. Примером статического списка может быть список названий индийских лекарств, которые могут не быть стандартными словами, которые можно использовать для медицинской транскрипции.
  2. Динамические параметры. Не всегда возможно создать статический список, например, для расшифровки имен, вы не можете создать список всех возможных имен в виде коллекции. В таких случаях вы можете передать эти параметры из вышестоящих процессов в качестве параметров и динамически создать объект конфигурации.

Итерация — 5: Адаптация речи — Классы

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

Классы представляют общие понятия, встречающиеся в естественном языке, такие как определение денежных единиц, адресов и календарных дат.

Например, если аудиозапись содержит «Мой дом находится по адресу Мейн-стрит, 123», ожидаемый результат будет («123») в виде чисел, а не порядкового номера («сто двадцать третий»). даже если так говорят.

Здесь токен класса может быть определен как ["Мой дом — $ADDRESSNUM"], где $ADDRESSNUM — это токен класса, который заставляет STT расшифровывать числа внутри адреса. Подобно токену адреса, существуют различные другие токены класса для даты, номера телефона и т. д. См. https://cloud.google.com/speech-to-text/docs/class-tokens, чтобы увидеть список классов. токены доступны для каждого языка. GCP STT также всегда позволяет вам определять собственные токены класса.

В нашем примере у нас есть некоторые несоответствия с номером телефона, поэтому я добавил токен номера телефона ниже.

Общий WER снизился до 3 %, что повысило точность 97 % с более чем 60 % за счет использования различных конфигураций и методов оптимизации. Есть и другие небольшие ошибки, которые опять же можно исправить с помощью комбинации адаптаций. Тем не менее, у меня есть все ключевые факты, которые мне нужны в отзыве, они точно расшифрованы, и поэтому я доволен точностью 97%.

Наряду с этими оптимизациями, есть также некоторые передовые частоты дискретизации и кодек без потерь, которые помогут обеспечить оптимальный ввод для службы STT, которую можно найти по адресу https://cloud.google.com/speech-to-text/. документы/лучшие практики»

Обзор:

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

Преобразование речи в текст Google Cloud Platform основано на десятилетиях исследований и вклада Google в пространство ASR и является одним из ведущих сервисов распознавания речи и транскрипции в отрасли. Благодаря своей адаптации речи он также предоставляет механизм для настройки и смещения механизма для повышения точности транскрипции. Для получения более подробной информации, пожалуйста, посетите:

https://cloud.google.com/speech-to-text