ResearchOps
Published in

ResearchOps

Редактор для автоматически распознанной речи

Для всех, кто хочет сократить время на обработку качественных исследований, сделал редактор Speech–to–Text транскриптов Яндекс Облака. Ниже расскажу, как выглядит процесс работы.

http://ya-transcript.ulitin.ru/

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

В моей работе, периодически, возникают разные “велосипеды”, то sketch-плагин для сборки ui формат-тулбоксов, то парсер юзервойса для анализа открытого фидбека в офисным приложениям, в этот раз получился целый редактор транскриптов.

Зачем все это?

Расшифровка записи интервью вручную дает возможность познакомиться ближе с материалом, но занимает значительное время. Чтобы переслушать и сделать расшифровку нужно потратить в 2–3 раза больше времени, чем на само интервью. Приведу один полезный сервис для этого:

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

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

В сервисах для автоматического распознавания есть редакторы транскрипта, и они очень удобны. К сожалению, тот же сониксэйай относительно дорог, а бюджет на исследования не резиновый. Также в сониксе бывают проблемы с русским языком. Яндекс Облако в плане распознавания русской речи приятно удивляет. Да, там пока нет разделения по спикерам и пунктуации, но оно лучше работает с проблемными записями, в отличие от API Google и Амазона.

На гитхабе я пересмотрел все решения для редактирования транскриптов, которые смог найти:

И о чудо, нашел его:

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

Как это работает

Распознать аудио файлы через Яндекс Облако не так просто, так как в первую очередь это API. Нужно сделать следующее:

  1. Зарегистрироваться в Яндекс Облаке
  2. Создать хранилище (bucket), сервисный аккаунт и получить ключ доступа.
  3. Конвертировать аудио в формат opus (моно).
  4. Загрузить в хранилище на Яндекс Облаке.
  5. Запустить распознавание, с помощью curl команды, и забрать результат распознавания через несколько минут.

Часть этих действий я автоматизировал с помощью python.

Сервисы Яндекса не бесплатны, на данный момент 1 час распознавания стоит 36 рублей. Первые 2 месяца оплата не взимается.

Предустановки

Заведите аккаунт https://cloud.yandex.ru/

Создайте бакет

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

Создайте сервисный аккаунт и получите api-ключ

Для сервисного аккаунта выставите права доступа — editor. Ключ запишите в надежное место, он пригодится позже. Не передавайте ключ в открытый доступ.

Распознавание аудио в текст

Сконвертируйте аудио в формат opus моно

Можно использовать любой конвертер. Если умеете работать с консолью, — рекомендую FFMPEG.

ffmpeg -i demo.m4a -ac 1 demo.opus

Есть решение https://lottatools.com/convert-to-opus которое позволяет сконвертировать аудио в opus прямо в браузере, при этом отправки данных куда либо не происходит, но работает медленно.

Важно, чтобы аудио было моно, так будет в 2 раза дешевле.

Загрузите аудио в ваш бакет на Яндекс Облаке

Запустите распознавание и получите результат

Что бы удобнее делать эти операции я использую jupiter блокнот, его адаптированную версию я выложил на https://colab.research.google.com/drive/1ZZcawG7YoxdmEC6pRmX0eAGMr04hb3lG?usp=sharing

Нужно скопировать его к себе на гугл диск и отыскать api-ключ, который мы создали несколько шагов ранее.

Собственно все — теперь можно переходить к интерактивному редактору https://ya-transcript.ulitin.ru

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

Работа в Я.Транскрипте

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

Итоги

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

https://ya-transcript.ulitin.ru

Репорты багов и предложения принимаются https://github.com/likeleto/ya-transcript/issues

или https://airtable.com/shr2UlR9MvZ97Uw9t

Мой телеграм канал https://t.me/ulitin_ru

Спасибо Артему Сексяеву и Роману Шишкину за помощь в тестировании редактора и Сергею Кривуле, за помощь в подготовке статьи.

--

--

--

Сообщество продуктовых исследователей

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kirill Ulitin

Kirill Ulitin

More from Medium

Integrating LVM with Hadoop and providing Elasticity to DataNode Storage

Async Vs Defer

Wakefield — the by-election both sides must win

‘Meta’ Replacement er… Reinforcement Project*