Синтез речи, анализ эмоций и биометрия: как работают в ЦРТ

Распознавание и синтез речи, многоканальная запись, мультимодальная биометрия — этим занимается «Центр речевых технологий». Разработки ЦРТ продают в 75 стран, их используют врачи, полицейские, банки и транспортные корпорации. У компании 450 сотрудников, офисы в Москве, Санкт-Петербурге и Нью-Йорке. Мы расскажем, как работается в главном, петербургском офисе ЦРТ, где как раз открылось несколько вакансий.
Синтез речи, анализ эмоций и биометрия: как работают в ЦРТ

Smart Logger: «Помогаем бизнесу лучше понять клиентов»

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

Над таким проектом в ЦРТ работает команда Петра Сдобырева. Наверняка вы слышали фразу «в целях контроля качества разговор может быть записан»: система автоматически анализирует лексику, темп, интонацию, паузы в речи дикторов. Каждый диалог разбирается по нескольким десяткам параметров.

Проект называется Smart Logger. Он помогает понять причины обращений клиентов, подсказывает наиболее удачные речевые шаблоны, которые приводят к нужной реакции клиента — в общем, всесторонне контролирует работу операторов кол-центра.

Архитектурно Smart Logger состоит из нескольких подсистем: регистрации и хранения информации, распознавания и анализа речи, автоматической оценки речевой информации, администрирования. В составе подсистем реализованы службы для звукозаписи, интеграции с телефонией, распознавания речи, анализа параметров голоса, и многие другие.

Smart Logger — уникальная система: по ряду параметров у нее нет конкурентов в мире, и совершенно точно она лучшая в России, а может, и в Европе. Системой пользуются крупнейшие контактные центры страны в банковском секторе и телекоммуникациях.

В нашей работе два главных челленджа. Во-первых, Smart Logger записывает и хранит до миллиона телефонных звонков в день. Потери информации при этом должны быть исключены. Во-вторых, требования бизнеса к аналитическим возможностям системы постоянно растут. Мы работаем над омниканальной аналитикой, когда бизнес будет получать информацию не только из телефонных звонков клиентов, но и из текстовых чатов.

У нас две группы разработки, примерно по 10–15 человек каждая. Их состав меняется в зависимости от текущих задач. В каждой группе свой лидер, который координирует работу, отвечает за коммуникации внутри и снаружи команды. Лидер — один из разработчиков. Мы даем людям полномочия, это помогает им расти и совершенствоваться.

Компания настроена на долгосрочное взаимодействие с профессионалами или теми, кто стремится ими стать. ЦРТ вкладывается в профессиональный рост сотрудников: например, мы работаем с кафедрой речевых информационных систем университета ИТМО, где наши сотрудники учатся в магистратуре или аспирантуре. Специалисты ЦРТ регулярно участвуют в профессиональных конференциях: например, скоро поедем на DotNext.

Путь от джуниора до разработчика занимает у нас примерно год. Дальше можно стать старшим программистом, ведущим, архитектором, руководителем группы, если человеку интересна административная деятельность. Много молодых сотрудников. Не бывает такого: а сейчас, стажер, поиграйся в песочнице. Нет, люди сразу работают над боевыми задачами. Разумеется, у стажера есть наставник, который ознакомит его с инфраструктурой системы, проведет ревью кода.
Пётр Сдобырев, руководитель продуктового управления в ЦРТ

Кто нужен на этот проект?

Команда Петра Сдобырева ищет разработчиков middle и senior С# с опытом работы от двух лет. Возраст не критичен, а вот опыт проектирования и самостоятельного ведения участка работ желателен.

BackEnd: C#.
FrontEnd: WPF, Angular.
Инструментарий: Enterprise Architect, Jira, Confluence, TeamCity, UpSource, SonarQube, Visual Studio 2015/2017, ReSharper.

Voice2Med: «Мы помогаем врачам»

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

Над этой проблемой работает управление медицинских систем ЦРТ. Приложение голосового ввода Voice2Med помогает врачам вести документы с помощью голосового набора — он быстрее печатного примерно в 8 раз. Voice2Med записывает устную речь врача, распознает ее с помощью специальных медицинских словарей и переносит ее в текстовые документы или протокольные формы.

Вспомните, как вам делают УЗИ: либо врач держит все цифры в голове, а потом записывает их на бумажку, либо работает с ассистентом, которому он и диктует цифры. Все это может упростить система распознавания речи: с гарнитурой врач осматривает и сразу надиктовывает результат осмотра. То, что он говорит, сразу попадает в протокол, а дальше распознанный текст попадает в любое активное поле ввода, например в Word или медицинскую информационную систему.

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

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

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

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

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

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

У нас в планах также сделать продукт, который позволил бы автоматически анализировать медицинские изображения: например, определять по рентгеновскому снимку, есть ли перелом.
Алексей Рыбаков, руководитель медицинского департамента ЦРТ

Кто нужен на этот проект?

Команда Алексея Рыбакова ищет разработчиков middle и senior С#, которые хотят облегчить и автоматизировать работу врачей. Опыт не менее 3–5 лет с опытом построения архитектуры систем, разработки интеграционных стыков. Если вы выполняли роль тимлида и знаете методологии разработки, у вас будет шанс порулить командой разработчиков.

BackEnd: Текущая — Windows. В ближайших планах портирование под *nix.
FrontEnd: Текущая — Windows x64 (WPF). В ближайших планах — мобильные клиенты, плагины для тонких клиентов, *nix. клиенты.
Инструментарий: Enterprise Architect, Jira, Confluence, TeamCity, UpSource, Visual Studio 2015/2017.

Grid Id: «Наши продукты помогают сделать мир безопаснее»

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

Биометрия по голосу и лицу не требует физического контакта, поэтому дает больше возможностей для поиска. Именно над Grid Id работают программисты из команды Ивана Вересова. Эта и подобные ей системы пользуются популярностью не только в России: их закупают в десятках стран.

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

Это работа по-настоящему творческая и интересная с точки зрения инженерных решений. Разработчики имеют дело с аудио- и видео-информацией, платформами JVM, .NET Core под Linux. Каждый проект требует напряженной работы инженерной мысли.

Разработчики, которые приходят в команду, сразу включаются в работу. Изучают предметную область, пишут код, участвуют в проектировании — в зависимости от знаний и опыта. Программисты уровня Senior проектируют архитектурный слой, занимаются вопросами взаимодействия различных подсистем. Middle проектируют конкретные модули, компоненты определенной подсистемы. Junior помогают в реализации решений. Заниматься поиском нестандартных идей и участвовать в брейнстормах будут все.

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

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

ЦРТ помогает новым сотрудникам скорее адаптироваться к работе. Бывает так: человек хорошо знает Java, но хочет изучить C#. Мы готовы в этом помочь. Если понимаем, что человек надежный, то вопрос сводится к тому, насколько он готов к самообучению. Если освоит тему за два-три месяца, это время ему дадут.

В нашей команде 25 разработчиков, тестировщиков, аналитиков. При работе над проектами мы используем принцип колокации членов проектных команды. Средний возраст сотрудников ЦРТ — 31 год.

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

Кто нужен на этот проект?

Команда Ивана Вересова ищет разработчиков уровня junior, опытного DevOps, а также middle и senior с опытом работы с Java и C# не менее 2–3 лет. Соискатели должны иметь опыт участия в проектировании и самостоятельного ведения участка работ. Если вы работали с ..NET Core Linux, то ваша кандидатура также будет интересна компании.

BackEnd: : *nix.
FrontEnd: Windows x64 (WPF).
Инструментарий: Enterprise Architect, Jira, Confluence, TeamCity, UpSource, IntelliJ IDEA, DataGrip, Visual Studio 2015/2017, ESXi, Docker.