Транскрибация для HR началась у меня с арифметики пятницы. Двадцать собеседований в неделю по сорок минут это тринадцать часов чужой речи. Пока я пишу в блокнот, я не слушаю. Не пишу, и к вечеру пятницы от вторничного кандидата остаётся одно ощущение. Что-то настораживало. Что именно? Уже не вспомню.
Я рекрутер и нанимаю в том числе тех, кто делает сервис распознавания речи. Поэтому дальше будет два «мы». Одно про мою команду найма, второе про продукт. Где мы врём, я тоже скажу.
Где расшифровка встраивается в работу HR
Транскрибация для HR устроена неровно. Пятнадцатиминутный скрининг я провожу ради четырёх фактов. Вилка, сроки выхода, стоп-факторы, город. Полный текст тут мешает.
А часовое техинтервью? В марте кандидат десять минут объяснял, почему выбрал очередь вместо крона, и проговорился, что в прод это не поехало. Через неделю я пересказал эту очередь нанимающему менеджеру по памяти. Пересказ вышел мягче оригинала. Кандидата взяли, он ушёл на испытательном.
Расшифровывать ли всё подряд? На массовом найме решают город и смены, и сорок звонков в день в текст превращать бессмысленно.
Дешевле анкета.
Транскрибация для рекрутеров окупается там, где важна формулировка кандидата.
| Запись | Длительность | Что я забираю | Оговорка |
|---|---|---|---|
| Скрининг по телефону | 10–15 мин | Деньги и сроки | Канал 8 кГц мы распознаём с точностью около 90% |
| Интервью с кандидатом | 40–60 мин | Цитаты для фидбэка | Основной сценарий |
| Техническое интервью | 60–90 мин | Ход рассуждения | Аббревиатуры проверяю глазами |
| Финал с нанимающим | 30–40 мин | Грейд и вилка | Тайм-коды спорных мест |
| Exit-интервью | 30–40 мин | Причины ухода | Доступ ограничиваю |
Расшифровка собеседования: от скрининга до финала
Расшифровка собеседования приходит ко мне текстом с тайм-кодами. Деление на спикеров сервис делает сам, и мне видно, на какой минуте прозвучала зарплата. Форматов пять. Это txt, json, verbose_json, srt, vtt. А транскрибация интервью с диаризацией выручает, когда на встрече было трое и я забыл, кто задал неудобный вопрос.
Придёт текст через час, и фидбэк я уже написал по памяти. Мы тратим на файл 1–2% длительности. Получасовой разговор готов за 25 секунд, часовой примерно за минуту. Тридцатиминутный файл Yandex SpeechKit обрабатывает около 2 минут, OpenAI около 10. По точности мы даём WER 7,10% и WAcc 92,9% на бенчмарке из семи датасетов. У ElevenLabs 6,88%, у AssemblyAI 7,03%, у Whisper-large-v3 7,44%. Первыми мы тут не идём.
Ссылку на облачную запись вставить не могу. Мы принимаем файл или запись с микрофона. Сначала скачиваю запись из Zoom, потом загружаю её. Лишнее действие. Подходят mp3, wav, m4a, ogg, aac.
А кандидат из Алматы? Расшифровка интервью с кандидатом идёт примерно на сотне языков, включая русский и языки СНГ. Но текст будет на языке разговора. Собеседование на казахском останется казахским, перевода мы не делаем.
Адаптация, 1:1 и exit-интервью
Наём кончается оффером, моя работа нет. Адаптация держится на первой неделе. За час вводной встречи на новичка вываливают двадцать имён и пять систем, половина забывается к обеду. Весной я стал отдавать новичкам текст этой встречи. Через две недели новичок ищет в нём слово «доступ» и не идёт в общий чат.
Спор «мы договаривались про переход в тимлиды» я однажды разбирал полтора часа. Теперь у меня лежит текст с датой и тайм-кодом, и такой спор занимает две минуты. Тут выручает транскрибация встреч и совещаний, потому что видно и что обещали, и с какой оговоркой.
Есть нюанс, и он мне не нравится. Люди говорят осторожнее, когда знают про запись, и на exit-интервью это ломает весь смысл. Хотите честный разговор о причинах ухода? Выключите диктофон. Я так и делаю, хотя текст пригодился бы мне больше всего.
Как работать с текстом после расшифровки
Сырой текст ещё не документ. Расшифровка интервью с кандидатом выглядит как шесть страниц диалога. Класть их в карточку целиком бессмысленно (я проверял, открыли двое из одиннадцати). Сколько занимает разбор? Пять минут сразу после встречи, двадцать через три дня.
- пройтись поиском по опорным словам («зарплат», «оффер», «уволил», «срок»);
- вытащить четыре-пять цитат с тайм-кодами в оценочную форму под компетенции;
- проверить руками имена и названия компаний;
- положить текст рядом с карточкой кандидата (в личных заметках он умрёт с моим отпуском).
А если движок ошибся в фамилии? Ошибался, и не раз. Ошибки предсказуемы. Фамилии, компании, редкие аббревиатуры, узкие термины. Диаризация путается, когда двое говорят одновременно. На микрофоне ноутбука проседает любой движок, и наш тоже. Я сверяю четыре фрагмента, где решается сумма или имя.
Цена ниже, чем я ждал. От 0,29 ₽/мин, без подписки, секунды мы округляем вниз, баланс не сгорает. Сорокаминутное интервью обходится рублей в 12, неделя рублей в 230. Хотите проверить, как мы распознаём ваш звук? Есть транскрибация бесплатно через Telegram-бот @VoicePalatineBot, до 100 транскрибаций в день.
Командная работа: рекрутер, нанимающий менеджер, ATS
Кому текст полезнее всего? Тому, кто на интервью не был. Нанимающий менеджер не станет смотреть часовую запись. Ни один за четыре года. А страницу с пятью цитатами и тайм-кодами он читает за две минуты.
Второй сценарий мне ближе. Калибровка команды найма. В мае два интервьюера разошлись по одному кандидату. Один услышал «он не умеет в архитектуру», второй «нормально мыслит, просто волновался». Кто прав? Без записи спор решает тот, кто весомее. С текстом оба смотрели на одни реплики и оба оказались правы. Транскрибация для рекрутеров окупается тут быстрее всего.
А если у вас всё живёт в ATS? У нас есть API. Мы распознаём файлы и отдаём поток по WebSocket, документация на docs.speech.palatine.ru. Вебхуков у нас нет, статус задачи вы запрашиваете опросом.
Согласие, хранение и то, чего сервис не делает
Согласие на запись я прошу голосом, в первые тридцать секунд. Пишем, зачем пишем, кто получит доступ, вы не против? За год мне отказали четверо. Эти интервью я провёл с блокнотом.
Что спросит ваша служба безопасности? Данные мы обрабатываем по 152-ФЗ и держим в России, инфраструктуру развели по четырём ЦОД уровня Tier III, передача идёт по TLS. На записях клиентов мы модели не обучаем.
Границы я проговариваю там же. Мы распознаём речь и делим её по спикерам. Мы не оцениваем кандидата и не считаем его мотивацию по интонации. Перевода на другой язык у нас тоже нет.
Возьмите ближайшее собеседование в календаре. Предупредите кандидата, включите запись, скачайте файл, загрузите его. Через полминуты будет текст. Прочитайте его завтра рядом со своим фидбэком по памяти и посмотрите, сколько совпало. У меня в первый раз совпало меньше половины.