Опыт голосового ввода: клавиатура Gboard

Dec 22, 2018 19:05


У меня издавна стояли две задачи, которые хотелось как-то решить:

1) быстрый ввод с виртуальной клавиатуры на смартфоне (на обычной клавиатуре мне хватает слепого десятипальцевого метода, думала я) и

2) выполнение упражнений на сервисе изучения иностранных языков duolingo с использованием голосового ввода.

Эти две задачи у меня внезапно решились в один день с помощью двух разных инструментов.

Начну с конца.

Зачем мне понадобился голосовой ввод

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

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

1) ручного пополнения словаря;

2) исключения из словаря слов, которые я никогда не употребляю и не собираюсь употреблять, а они без конца лезут в автозамену;

3) возможности задания макросов для часто употребляемых рабочих терминов, которых в словаре нет, и они почему-то никак не заносятся в словарь.

Нашлась клавиатура GBoard



Требования вроде бы естественные, должен же был кто-то написать такое приложение. Почти сразу выбрала среди клавиатур Gboard для Андроида. Ну, во-первых, разработчик - Google (а кто лучше них напишет под Android?), во-вторых, эти разработчики почти единственные не выкатывали в качестве главной фичи клавиатуры развесистые эмотиконы. В-третьих, почитала отрицательные отзывы (я всегда сначала читаю отрицательные отзывы), и они меня устроили.

Поставила, поигралась, увидела голосовой ввод, попробовала - а он, зараза, работает! То есть вводит практически все со 100% попаданием. Я помню, как когда-то на своей нокии пыжилась с голосовым вызовом контактов из адресной книги, чтобы позвонить с гарнитуры за рулем. Все контакты были заранее надиктованы моим голосом (только при этом условии они распознавались), и я нараспев много раз повторяла имя контакта, силясь попасть в ту интонацию, которая была записана. Дурдом. Здесь же принцип распознавания совершенно другой, я с ним познакомилась позже. Главное, что с ним для распознавания хватает относительно небольшой вычислительной мощности устройства.

Использовать довольно удобно. Подключила три языка: русский, английский США, испанский. Переключение между языками - кликом по иконке, по кругу (поэтому не нужно ставить сразу много языков). Потренировалась на телеграме, и даже попробовала делать записи в ЖЖ. Всё получается. Ну, разве что термины не всегда распознаются. Зато когда распознаются, иногда вводятся прямо на английском в русской речи. Красота! Теперь можно путевые заметки вести голосом. И они не будут содержать ненормативной лексики из-за того, что я промахиваюсь по буковкам на тачскрине.

GBoard с duolingo

Тут же попробовала выполнять с помощью ввода голосом упражнения по испанскому и английскому в duolingo - получилось! Сразу оговорюсь - для того, чтобы имелась возможность вводить в duolingo голосом, на телефоне пришлось пользоваться не приложением duolingo (безусловно, более удобным для телефона), а открывать сервис duolingo.com в браузере.

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

Опыт использования GBoard: полет нормальный

За рулем голосовой ввод GBoard использовать не получится - потому что приходится тыкать в клавишу микрофона перед началом записи фразы, а также в кнопку переключения языка (а при занятиях в duolingo еще и в кнопку отправления перевода). Если хочется вводить текст подолгу на одном языке, нужно говорить без пауз - пауза служит знаком остановки записи. Чтобы возобновить запись, нужно опять-таки ткнуть в иконку микрофона.

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

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

GBoard без Интернета

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

Много лет назад в институте математики решалась задача распознавания голосовых команд авиадиспетчеров. Подход, как я понимаю, был совершенно наивный - он опирался на анализ звука. Строилось 16-мерное фазовое пространство, в котором звук представлялся как случайная величина с вероятностным распределением, параметры которого предстояло вычислить в процессе распознавания речи и сравнить с образцовыми. Диспетчеры всех смен, опять-таки, надиктовывали ВЕСЬ словарь (включавший всего 128 фраз), и с этими образцами производилось сравнение. Путь был заведомо тупиковый, как я сейчас понимаю, потому что для полного решения задачи тупо не хватало тогдашних вычислительных мощностей. Это приводило к тому, что распознавание производилось медленно, а  распознавать команды требовалось, в условиях отдачи команд диспетчером, - мгновенно.

Здесь требовался совершенно другой подход - филологический (привет выпускникам отделения матлинвистики НГУ!), который и применил Google. При использовании клавиатуры (а также приложений, написанных с использованием предоставляемого Google API для распознавания речи) заметно, что целые фразы распознаются гораздо лучше, чем отдельные слова.

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

Голосовой ввод под Windows - продолжение следует

Воодушевленная успешным опытом голосового ввода на смартфоне, я тут же полезла искать аналогичное приложение для Windows на десктопном компе, и таки нашла. Это оказался голосовой блокнот SpeechPad. Но его описание и опыт его использования (вот уже три недели ежедневно пользуюсь) требует отдельного поста.

распознавание речи, google, иностранный язык, duolingo, софт, компы-гаджеты

Previous post Next post
Up