Компания
870,77
рейтинг
24 сентября 2015 в 20:15

Разработка → Как мы делали Разговор: от прототипа на хакатоне до приложения Яндекса

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

image

Прошлой осенью в МФТИ, где я учился, на базовой кафедре Яндекса нам читали курс «Создание новых интернет-продуктов». Он задумывался как некий стартаперский практикум, в рамках которого нужно было придумать что-то, что успешно бы решало существующую проблему с помощью технологий Яндекса. Мы с несколькими моими однокурсниками подумали, что коммуникация людей, выключенных из привычного общения голосом с остальным слышащим миром, – задача, которая подходит под такие критерии. Согласно Всемирной организации здравоохранения, 10% жителей Земли имеют проблемы со слухом, 1,5-2% из них страдают тяжелыми нарушениями. В России их — 2,2 млн. Было бы здорово сделать что-то, что могло бы помочь этим людям в повседневной жизни.

В процессе работы нам в голову пришла идея распознавать жестовый язык с помощью компьютерного зрения. Но мы быстро поняли, насколько это неподъемная задачка для группы четверокурсников. И тут вспомнили о распознавании речи и SpeechKit. Так изменилась реализация идеи, но сохранилась суть. Мы решили создать мобильное приложение, которое распознавало бы речь собеседника, выводило её на экран и давало пользователю возможность набрать ответ.

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

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

Проведя небольшое исследование, мы сформировали видение нашего продукта и занялись его созданием. Преподаватели организовали нам хакатон в Яндексе, где все было по канонам — пицца, редбулл, пуфики и ночной непрерывный нон-стоп кодинг. Перед хакатоном к нам зашли ребята из SpeechKit'a и устроили небольшой бриф по API. В 7 утра мы показали прототип на Android нашим преподавателям на кафедре — Соне Терпуговой и Денису Поповцеву. Моя одногруппница надела наушники, выкрутила их на максимум, и мы попробовали побеседовать. В этом момент стало понятно: кажется, у нас что-то получилось. (Хочу сказать спасибо всем ребятам, с которыми мы работали над прототипом — Антонине Паршиной, Андрею Осипову, Никите Кирееву и Александру Кузьмину.)

Естественно, у нас возникло нездоровое желание протестировать приложение на своей целевой аудитории. Я быстро нашел группу глухих и слабослышащих студентов из МГТУ им. Баумана, которые занимались вне учебы изучением английского. Мы попросились прийти к ним на занятие, чтобы рассказать о приложении — они с радостью согласились. И вот мы стоим в небольшом кабинете перед 10 глухими и слабослышащими ребятами и рассказываем им о нашем прототипе. Распознавание речи было далеко от идеала: вокруг было достаточно шумно, много людей. Но даже с учетом этого фидбек был восторженный, ведь диалог все равно получалось провести. Ребята наперебой стали кидать идеи для развития, подмечать недостатки, требовать версию под iOS. Тут мы поняли, что у проекта обязательно должно быть развитие.

Продолжение проекта в Яндексе


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

В феврале мне предложили пройти собеседование на роль менеджера приложения для глухих и слабослышащих. Я, конечно, очень обрадовался: возможность продолжить работу над проектом уже внутри компании казалась очень заманчивой. Собеседование, несколько недель ожидания — и я уже работаю PM'ом в Яндексе. Все ребята, с которыми мы придумывали приложение, были рады, что проект получил развитие.

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

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

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

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

Работа и исследования с глухими и слабослышащими


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

Довольно быстро мы набрали инициативную группу ребят, готовых по нашей просьбе и на интервью прийти, и на юзабилити-тестирование, и ответить на вопросы. Более того, они сами давали нам советы, скидывали важные контакты — в общем, всячески помогали созданию проекта. Отдельное спасибо хочется сказать Евгении Хуснутдиновой, которая в РООИ «Перспектива» занимается трудоустройством глухих и слабослышащих, и Денису Кулешову, заведующему лабораторией ГУИМЦ МГТУ им. Баумана — крупнейшему центру по работе с людьми с потерей слуха среди российских университетов. Ребята дали ценную информацию и познакомили с множеством глухих и слабослышащих, с которыми мы вели плотную работу.

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

За это время мы узнали много важных вещей. Например, что существует четыре степени потери слуха. Первые две степени, как правило, проявляются в пожилом возрасте, могут быть у любого из нас, но это не всегда можно понять. В сообществе людей с потерей слуха две категории — совсем глухие (4 степень) и слабослышащие (3–4 степень).

image

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

Всем этим людям мы хотели помочь. У них есть общие проблемы – понимание сложных терминов, имён, адресов. Но при этом самая актуальная проблема для частично слышащих — это телефонные разговоры и совещания, а глухим важнее всего хоть как-то понять собеседника и быть понятым.

Где-то через 15–20 интервью мы поняли, что многие проблемы и кейсы использования повторяются — это было сигналом, что мы нащупали болевые точки. Было много неожиданных выводов из исследования:

  • Вопрос навигации по городу и в общественных местах – не такой острый. 
  • Распознавание имени глухого (гипотеза, реализованная в рамках прототипа на хакатоне) тоже не актуально — люди с детства очень часто слышат свои имена, поэтому умеют их вычленять. По этой же причине некоторые глухие немного понимают речь своих матерей.
  • Практически все интервьюируемые носят слуховые аппараты. Даже если они не помогают понимать речь, они служат для безопасности.
  • При общении слышащего и неслышащего страдает преимущественно первый! Глухие уже привыкли к такому общению, а слышащие нет. К сожалению, они кричат, злятся и т.п.

Обработав всю полученную информацию, начали думать над реализацией.

Формирование идеи. SpeechKit


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



Чтобы было проще вести диалог, в приложении есть заготовленные фразы. Пользователь может добавлять и свои заготовки, которые могут ему понадобиться.



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

Для распознавания речи мы используем свою родную технологию, которой мы очень гордимся. SpeechKit умеет хорошо распознавать голос и синтезировать речь, что и требовалось в нашем приложении. В нашем случае было решено использовать языковую модель Notes — для свободной диктовки коротких текстов, SMS и заметок, что наиболее приближено к спонтанной речи.

Разработчики SpeechKit добились качества распознавания речи в 82%. Очень кстати оказался режим потокового распознавания с промежуточными результатами (как только человек начинает говорить, его речь сразу же маленькими частями передается на сервис распознавания), который сделал коммуникацию с помощью приложения очень быстрой. Важно то, что мы использовали открытый API SpeechKit как совершенно сторонние разработчики. Скачали его с сайта, прочитали официальную документацию — не потребовалось никакой дополнительной помощи. Сам опыт создания прототипа в рамках хакатона подсказывал, что сделать мобильное приложение, использующее SpeechKit, — крайне просто и эффективно.

При выборе платформы мы решили ориентироваться пока на Android, потому что по нашей статистике у большинства людей с потерей слуха именно эта ОС. Интересный факт: глухие большей частью гики – они очень активно используют смартфоны и мобильный интернет. Многие из них не мыслят жизни без безлимитного доступа к интернету через телефон. Мы делаем на это ставку, потому что SpeechKit пока работает только с подключением к интернету.

Сформировав техническое задание к продукту, мы приступили к разработке.

Разработка приложения


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

В качестве идей в интерфейсе мы накидывали примеры из существующих приложений. Например, для стартового экрана вдохновлялись Shazam, но потом все переделали. С простым прототипом и идеями по интерфейсу мы пришли к UX-специалисту и уже с ним додумывали логику экранов. Результатом работы стал кликабельный прототип со всеми кнопками и деталями. Дальше за работу принялся UI-дизайнер, добавивший красоты и анимации нашему схематичному прототипу.



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

• Диалог должен вестись в обстановке с низким шумом.
• Распознавание работает только с одним говорящим.
• Надо говорить медленно и разборчиво.
• Использовать простую конструкцию предложений.

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

Мы продолжаем вести обсуждения в нашей группе ВКонтакте, устраиваем опросы по интересующим нас пунктам, не забываем отвечать на вопросы. Некоторые участники очень инициативные — трепетно следят за ходом проекта. Например, один из них по своей инициативе снял видео на жестовом языке про нас и выложил на своем канале на YouTube. Тогда еще у приложения было рабочее название «Диалог».



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



Одними из главных атрибутов мобильного приложения (после содержания, конечно) считается иконка и название. В нашем случае они должны были быть не только броскими, красивыми и максимально информативными. Очень важно было сделать еще так, чтобы люди с потерей слуха смогли понять, что это приложение для них. Было много вариантов иконок: от звуковой волны и баблов в мессенджерах до изображения разных жестовых слов.

image

image

В итоге мы остановились на жесте «Сказать». Чтобы не было неправильной трактовки, показывали каждый вариант глухим и спрашивали, что они видят. При этом жест похож на знак «ОК».

image

С названием была самая настоящая эпопея. Казалось, что почти все наши друзья, родственники, ребята из инициативной группы глухих были втянуты в процесс придумывания названия. Было множество вариантов: от латинского «Сурдо», до нейтрального «Речь». Остановились в итоге на «Разговоре», ведь он наиболее полно отражает смысл приложения, которое является недостающим звеном для общения между слышащим и человеком с потерей слуха. Большое спасибо всем, кто помогал нам работать над Разговором. Если у вас возникнут какие-то вопросы и предложения, пишите нам на deaf-support@yandex-team.ru или оставляйте их в комментариях.
Автор: @AkmalArtikov
Яндекс
рейтинг 870,77

Комментарии (19)

  • +5
    Можно немного улучшить быстрые фразы. Сейчас, когда их будет штук 40, нужно будет долго листать или ходить по подкатегориям. Можно в дополнение присваивать каждой иконку, — и сделать быстрый вызов экрана, где только эти иконки. При частом использовании может быть удобнее.

    Важные фразы вроде «Вызовите скорую» также надо дублировать громким звуком, даже если по умолчанию он отключен, и не синтезом, а предзаписью, чтобы они быстрее и правильнее распознавались окружающими.
    • +1
      Спасибо за предложения!

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

      Отличная идея с громким сигналом при важных фразах! Кроме того мы хотели предзаписать предустановленные стартовые фразы, чтобы их можно было озвучивать и без интернет-соединения
  • 0
    И вот мы стоим в небольшом кабинете перед 10 глухими и слабослышащими ребятами и рассказываем им о нашем прототипе.
    Как вы в таких случаях общаетесь с глухими — с помощью переводчика, или текстом (или кто-то из команды знает жестовый язык)? Ведь некоторые глухие не очень легко воспринимают печатный текст, и пишут с ошибками (как слышащие на каком-либо иностранном языке).

    Пример комментария глухого человека из группы программы в вк: «я был скачать уже но так есть брак. моя мама слыш и она скажу ты что делаешь телефон пиши то что делаешь и еще брат чего ты слыш плохой? надо обновить сделать?».
    • 0
      По идее, у Яндекса есть speller, который можно совместить с проектом. Правда ваш пример он не сильно исправил.
      • 0
        Эта проблема начала бросаться в глаза после нескольких первых интервью. Тут еще важно не только изменить речь глухого, но и упростить речь слышащего собеседника. Пока эту задачку оставили «на потом»
    • +1
      Когда общаемся с группой людей с потерей слуха, то делаем это с помощью сурдопереводчика. При личных тет-а-тет встречах подстраиваемся под собеседника. Если это слабослышащий, то скорее всего надо просто говорить медленно и разборчиво — он сам считает с губ. Если это человек с полной потерей слуха, то сначала с помощью телефонов и бумажек с ручкой, а потом с помощью Разговора.

      Сложности с восприятием текста и правда были: нас не всегда понимали, или мы не могли понять собеседника. Путем упрощения фраз, замены слов и переспрашиваний все же контакт устанавливался
  • 0
    Жаль, что остается лаг в разговоре во время набора сообщения. Возможно, есть смысл использовать систему жестов (экранных), по аналогии с языком жестов, которые будут на ходу озвучиваться?
    • 0
      swipe частично решает эту задачу, но остается проблема с печатным текстом, упомянутая ProRunner.
    • 0
      Подразумеваете что-то типа жестовой клавиатуры? Или пользователь рисует их прямо в приложении?
      • 0
        Второй вариант. Жестовые клавиатуры-то уже есть.
        • +1
          Рисовать жесты в приложении будет достаточно сложно из-за специфики жестового языка. Очень много жестов в статике не отличаются друг от друга. Различие возникает в динамике, кроме того учитываются и движение губ, и положение корпуса тела.

          Однозначное соответствие между жестами и словами можно построить с помощью дактильной жестовой азбуки, где каждой букве соответствует свой жест. Но так мы возвращаемся к идее жестовой клавиатуры, что не достаточно быстро для диалога
  • +1
    Яндексовский спичкит штука удобная и распознает даже русские фамилии (пользую API в личных играх для управления голосом). Скажите, а Вы не исследовали вопрос распознавания речи по губам? Все таки для распознавания звука нужны тепличные условия.
    • 0
      Конкретно мы не исследовали. Большая часть слабослышащих и так умеют читать по губам :)
      • 0
        Вот веткой выше не просто «мужик, который сделал Поле Чудес», но и товарищ, который может вам очень-очень помочь в этом и схожих вопросах, если правильно задать эти вопросы.
  • +1
    Я бы назвал приложение Сурдинка. Сразу рождается мем Говорить под сурдинку. Из смешных вариантов Шалтай, который Болтай, из хардкорных(навеяло иконкой) — Жесткач
    • 0
      С Шалтаем очень креативно :)
  • 0
    По-моему жест «ок» является оскорбительным в португальских странах, это надо учесть, если вы будете локализовывать приложение на другие языки.
    • 0
      Спасибо за замечание!

      Оказалось, что он действительно считается оскорбительным во Франции, Бельгии, Греции и странах Латинской Америки
  • 0
    Вы большие молодцы, что помогаете людям.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка