Цены и условия API Яндекс.Карт — Технологии Яндекса
Бесплатный API подходит не всем — есть несколько условий, которые нужно соблюдать
1. Полученные от API данные должны быть отображены на карте с логотипом Яндекса. Вы не можете изменять или сохранять их.
2. Карта должна быть размещена на сайте или в приложении, которые сможет увидеть любой человек: без платной регистрации и получения особых прав. Например, карта не должна попасть во внутреннюю сеть компании или на сайт, который доступен только по приглашениям.
3. API не будет использоваться для управления транспортом или мобильными сотрудниками.
4. Если вы планируете использовать JavaScript API и HTTP API Геокодера, вам будет достаточно 25 000 запросов в сутки, а если API Поиска по организациям — 500.Что такое запрос.
Для проектов, в которых нельзя выполнить хотя бы одно условие, API будет платным.
Подробнее об условиях бесплатного использования можно узнать здесь.
Что ещё нужно учитывать
Все технические возможности API Карт могут быть доступны и бесплатно, и платно. Но есть несколько нюансов, которые нужно учитывать.
- В платной версии API нельзя использовать подложки карт «Спутник» и «Гибрид» — это запрещают партнёры, которые предоставляют Яндексу спутниковые снимки.
Тарифы
Оцените примерное число запросов в сутки, которое ваш сервис будет делать к API Яндекс.Карт, и выберите подходящий лимит. Что такое запрос.
Обратите внимание, что для каждого из трёх продуктов тариф нужно выбрать отдельно. Сумму, которая позволит получить нужный вам лимит запросов, надо внести один раз — до начала использования продукта. Дополнительные запросы сверх выбранного лимита оплачиваются постфактум, счёт за них выставляется раз в месяц.
tech.yandex.ru
Общие сведения — Технологии Яндекса
Навыки умного дома — специальная категория навыков Алисы, предназначенных для голосового управления домашними устройствами. Например, пользователь может попросить Алису включить чайник, установить нужную температуру в обогревателе, выключить свет в детской или сделать телевизор потише.
Примечание. Навыки умного дома не требуют активационной фразы — они работают как встроенные сценарии Алисы. Например, «Алиса, включи свет на кухне».Для запуска навыков умного дома требуется связка аккаунтов. Чтобы навык мог управлять умными устройствами производителя (например, устройствами «Xiaomi»), у навыка должен быть доступ к учетной записи пользователя в системе этого производителя. Так как Диалоги идентифицируют своих пользователей с помощью API Паспорта, для работы навыка необходимо связать аккаунты:
аккаунт пользователя на Яндексе + аккаунт пользователя в системе производителя
Когда пользователь нажимает кнопку Объединить аккаунты, он попадает на страницу авторизации. Подробнее см. в разделе Как устроен процесс авторизации в навыке.
Навыки умного дома делятся на два типа:
- Официальные навыки — создаются и поддерживаются самими производителями умных устройств. Такие навыки помечаются в каталоге специальном значком . Кроме того, устройства, работающие с официальными навыками, показываются на Яндекс.Маркете с .
Неофициальные навыки — создаются сторонними разработчиками или компаниями. Например, вы можете создать неофициальный навык, позволяющий управлять устройствами производителя «Foo». Ваш навык будет отображаться в каталоге, но не будет помечаться специальным значком. Устройства, работающие с такими навыками, будут отображаться на Яндекс.Маркете без бейджа Алисы.
- Укажите свои : ваше имя, email и сайт вашей компании. Указанный сайт будет отображаться на странице описания навыка в каталоге, в разделе «Связь с разработчиком». Обратите внимание — права на использование сайта должны быть подтверждены для вашего аккаунта в сервисе Яндекс.Вебмастер.
- В навыка укажите, какие типы устройств он поддерживает. Например, розетки, лампочки, увлажнители воздуха. Пример можно посмотреть в описании навыка Xiaomi.
Когда ваш навык успешно пройдет модерацию, он будет установлен как официальный и может быть опубликован.
После того как вы опубликуете официальный навык, устройства, работающие с этим навыком, будут отображаться на Яндекс.Маркете с .
yandex.ru
Общие сведения — Технологии Яндекса
Для доступа к API Переводчика по HTTPS вы можете использовать:
XML-интерфейс (ответ возвращается в виде XML-документа).
- JSON-интерфейс (ответ возвращается в виде JavaScript-объектов с теми же именами и семантикой, что и у XML-элементов).
JSONP-интерфейс (ответ возвращается в виде JavaScript-объектов, обернутых в callback-функцию с заданным именем).
Все интерфейсы имеют одинаковую функциональность и используют одни и те же входные параметры.
С помощью API Переводчика вы можете перевести текст на следующие языки:
Язык | Код | Язык | Код |
---|---|---|---|
азербайджанский | az | малаялам | ml |
албанский | sq | мальтийский | mt |
амхарский | am | македонский | mk |
английский | en | маори | mi |
арабский | ar | маратхи | mr |
армянский | hy | марийский | mhr |
африкаанс | af | монгольский | mn |
баскский | eu | немецкий | de |
башкирский | ba | непальский | ne |
белорусский | be | норвежский | no |
бенгальский | bn | панджаби | pa |
бирманский | my | папьяменто | pap |
болгарский | bg | персидский | fa |
боснийский | bs | польский | pl |
валлийский | cy | португальский | pt |
венгерский | hu | румынский | ro |
вьетнамский | vi | русский | ru |
гаитянский (креольский) | ht | себуанский | ceb |
галисийский | gl | сербский | sr |
голландский | nl | сингальский | si |
горномарийский | mrj | словацкий | sk |
греческий | el | словенский | sl |
грузинский | ka | суахили | sw |
гуджарати | gu | сунданский | su |
датский | da | таджикский | tg |
иврит | he | тайский | th |
идиш | yi | тагальский | tl |
индонезийский | id | тамильский | ta |
ирландский | ga | татарский | tt |
итальянский | it | телугу | te |
исландский | is | турецкий | tr |
испанский | es | удмуртский | udm |
казахский | kk | узбекский | uz |
каннада | kn | украинский | uk |
каталанский | ca | урду | ur |
киргизский | ky | финский | fi |
китайский | zh | французский | fr |
корейский | ko | хинди | hi |
коса | xh | хорватский | hr |
кхмерский | km | чешский | cs |
лаосский | lo | шведский | sv |
латынь | la | шотландский | gd |
латышский | lv | эстонский | et |
литовский | lt | эсперанто | eo |
люксембургский | lb | яванский | jv |
малагасийский | mg | японский | ja |
малайский | ms |
yandex.ru
Компания Яндекс — Технологии — Что такое Яндекс.Браузер
Браузер — это окно в интернет. Многие держат его открытым целыми днями: мимо него бежит лента новостей, в нём мы наблюдаем за жизнью наших друзей, к нему обращаемся, когда хотим что-то найти. Но интернет не всегда выглядел так, как мы привыкли. Вернее, долгое время он вообще никак не выглядел.
В браузере мы видим не интернет, а Всемирную паутину, или веб. Сам интернет — это инфраструктура, комплекс сетей, в которые объединены компьютеры по всему миру. А веб — способ наглядно представить хранящуюся на них информацию в виде связанных между собой страниц. На этих страницах могут быть текст, картинки, видеоролики, разнообразные кнопки, ссылки и многое другое. Чтобы все эти элементы работали и отображались корректно, страницу нужно открыть в специальной программе. Эта программа и есть браузер.
Немного истории
Прообраз современного веба и, соответственно, первый браузер появились в 1991 году в ЦЕРН — европейской организации по ядерным исследованиям. Один из её сотрудников, Тим Бернерс-Ли, придумал провязать научные документы гиперссылками и решить таким образом проблему поиска информации в огромном архиве института. Первый браузер назывался WorldWideWeb и выглядел примерно вот так.Браузер WorldWideWeb в 1993 году. Источник — страница Тима Бернерса-Ли на w3.orgТам же, в ЦЕРН, появилась и первая веб-камера. Учёные, у которых была одна кофе-машина на несколько этажей, поставили рядом с ней камеру, которая несколько раз в минуту отправляла фотографии на их компьютеры — всё для того, чтобы можно было, не отрываясь от работы, узнать, есть ли в машине кофе.
В начале 90-х появились не только веб и первые браузеры — тогда же начинали работать первые коммерческие интернет-провайдеры. До этого интернет финансировался правительством и доступ в него был только в больших университетских центрах и военных организациях. Теперь же в сеть мог выйти любой человек с домашнего компьютера.
Интернет стал публичным, а с появлением веба и сравнительно простых в освоении браузеров вроде Mosaic и Netscape Navigator — ещё и наглядным. Из инструмента научного сообщества он постепенно стал превращаться в средство массовой коммуникации, а затем, с ростом аудитории, и в глобальную торгово-развлекательную площадку.
Последняя версия браузера Mosaic, выпущена в 1997 году. Источник — Википедия.
Сегодня сотни миллионов людей ежедневно ищут в сети информацию и новости, слушают музыку и смотрят фильмы, играют, общаются, покупают. Чтобы всё это стало возможным, браузерам пришлось многому научиться. Простейший пример — отображение нескольких страниц в одном окне. Вкладки стали появляться в популярных браузерах только в первой половине 2000-х — теперь же навигацию в сети без них трудно представить.
Из чего сделан Яндекс.Браузер
Первая версия Яндекс.Браузера была выпущена в 2012 году. Создавая его, мы использовали уже существующие наработки. Например, «движок» для нашего браузера мы выбрали такой же, как у Safari и Google Chrome — называется он WebKit. Чтобы объяснить, почему мы выбрали именно его, надо хотя бы в двух словах рассказать, что вообще делает движок.
Если коротко, то он собирает сайты по инструкции — примерно так же, как мы собираем мебель, которая приехала из магазина в нескольких коробках. Страницы сайтов становятся такими, какими мы привыкли их видеть, только на экране компьютера. Пока вы не смотрите на них через браузер, они существуют в виде документов со ссылками на «детали» (например, картинки, которые используются для фона и кнопок) и кодом, который определяет, как их надо соединить. Примерно так в разобранном виде выглядит страница yandex.ru.
Это только маленькая часть кода страницы yandex.ru — целиком он длиннее, чем вся эта статья.
У каждого движка есть свои особенности — именно поэтому один и тот же сайт может немного по-разному выглядеть в разных браузерах. Если создатель сайта не учитывает эти особенности, то какой-нибудь браузер может неправильно понять его инструкции и собрать что-то некрасивое или вообще неработающее. Мы не стали придумывать собственный «движок», чтобы разработчикам сайтов не приходилось адаптировать свои сайты ещё и под него. Вместо этого был выбран популярный WebKit, на который уже ориентируются большинство веб-разработчиков.
У WebKit есть несколько реализаций — наш браузер работает на той, что развивается в проекте Chromium. Им занимаются сразу несколько крупных компаний — причём ко всеобщей выгоде. Если одна компания придумывает какое-то техническое улучшение, от этого выигрывают все (если интересно, почитайте, например, о том, как разработчики Яндекс.Браузера помогли значительно ускорить все программы на основе Chromium). Кроме того, это позволяет совместно продвигать современные веб-стандарты, то есть делать интернет удобнее и безопаснее.Что делает Яндекс.Браузер особенным
Самый очевидный ответ — это дизайн. С самого начала мы старались сделать так, чтобы интерфейс не был громоздким. Наш идеал браузера — это не просто окно, а «панорамное окно» в интернет: во весь экран и с минимум деталей. Какое-то время мы вообще пробовали сделать прозрачный браузер — этот проект назывался Кусто. Тестирование показало, что далеко не все пользователи готовы к таким переменам, зато некоторые нововведения, вроде анимированных фонов и умной поисковой строки, многим пришлись по душе. В той версии Яндекс.Браузера, над которой мы работаем сейчас, лучшие идеи, опробованные в Кусто, сочетаются с классическими интерфейсными решениями. Теперь наш браузер выглядит вот так.Это Яндекс.Браузер для Windows. Версии для Mac OS и Linux пока выглядят иначе.
Дизайн — это не только внешний вид, но и практичность. В Яндекс.Браузере есть много незаметных на первый взгляд решений, которые делают его удобным. Например, чтобы увидеть Табло со ссылками на часто посещаемые сайты, необязательно открывать новую вкладку, достаточно нажать на адресную строку. Благодаря этому путь до нужной страницы сокращается на один шаг.
Той же цели — сэкономить время и клики — служит Умная строка нашего браузера. Используя данные Яндекса о популярных поисковых запросах, она может подсказать адрес нужного сайта, даже если вы на нём никогда не были, и предложить перейти на vk.com человеку, который забыл переключить раскладку и успел напечатать «млюс». На некоторые простые вопросы — вроде [курс доллара], [погода в самаре] или [формула объема шара] — Умная строка может ответить самостоятельно, так что пользователю даже не придётся переходить на новую страницу, чтобы получить информацию. Другой пример продуманного дизайна тоже связан с адресной строкой. В мобильной версии Яндекс.Браузера она расположена внизу экрана, а не наверху, как у большинства браузеров, — просто потому что так до неё удобнее дотянуться большим пальцем. Экраны смарфтонов становятся всё больше, а наши пальцы пока не удлиняются, вот и приходится с этим считаться.Ещё одна особенность нашего браузера состоит в том, что он сам ищет для вас интересную информацию. Открыв новую вкладку, вы увидите внизу блок, озаглавленный «Дзен: ваши персональные рекомендации». В нём собираются статьи и видео на темы, которыми вы обычно интересуетесь. Уникальность Дзена в том, что за составление ленты публикаций отвечает машинный интеллект: он собирает их не из тематических RSS-подборок, а со всего интернета — с помощью поисковых технологий Яндекса. Если Дзен заметит, что у вас появились новые интересы, он начнёт учитывать их при составлении ленты.Чтобы пользоваться браузером было комфортно, он должен быть не только красивым и удобным, но и ещё и быстрым и безопасным. За последнее в Яндекс.Браузере отвечает Протект — комплекс технологий, которые берегут пароли, блокируют мошеннические сайты, позволяют без приключений подключаться к публичным сетям Wi-Fi и оплачивать услуги в интернете. Со скоростью помогает режим Турбо. Он автоматически включается при медленном соединении и ускоряет загрузку страниц. Это происходит за счёт уменьшения объёма данных: «тяжёлое» содержимое страницы — обычно это видео и картинки — сжимается на серверах Яндекса и только после этого передаётся пользователю. В результате экономится не только время, но и трафик.Если вам интересно следить за тем, как развивается Яндекс.Браузер, вы можете установить егобета-версию и участвовать в тестировании новых возможностей Браузера.
yandex.ru
devices.types.light | Устройство, которое имеет управляемые светящиеся элементы. | Лампочка, светильник, ночник, люстра. |
devices.types.socket | Розетка. | Умная розетка. |
devices.types.switch | Выключатель. | Настенный выключатель света, тумблер, автомат в электрическом щитке, умное реле. |
devices.types.thermostat | Устройство с возможностью регулирования температуры. | Водонагреватель, теплый пол, обогреватель, электровентилятор. Для кондиционера рекомендуется использовать отдельный тип |
devices.types.thermostat.ac | Устройство, управляющее микроклиматом в помещении, с возможностью регулирования температуры и режима работы. | Кондиционер. |
devices.types.media_device | Аудио, видео, мультимедиа техника. Устройства, которые умеют воспроизводить звук и видео. | DVD-плеер, ресивер, медиаприставка и другие медиаустройства. Для телевизора рекомендуется использовать отдельный тип |
devices.types.media_device.tv | Устройство для просмотра видеоконтента. На устройстве можно изменять громкость и переключать каналы. | Умный телевизор, ИК-пульт от телевизора, медиа-приставка, ресивер. |
devices.types.cooking | Различная умная кухонная техника. | Холодильник, духовой шкаф, кофеварка, мультиварка. Для чайника рекомендуется использовать отдельный тип |
devices.types.cooking.coffee_maker | Устройство, которое умеет делать кофе. | Кофеварка, кофемашина. |
devices.types.cooking.kettle | Устройство, которое умеет кипятить воду и/или делать чай. | Умный чайник, термопот. |
devices.types.openable | Устройство, которое умеет открываться и/или закрываться. | Дверь, ворота, окно, ставни. Для штор и жалюзи рекомендуется использовать отдельный тип |
devices.types.openable.curtain | Устройство, которое выполняет функцию штор. | Шторы, жалюзи. |
devices.types.humidifier | Устройство, которое умеет изменять влажность в помещении. | Увлажнитель воздуха. |
devices.types.purifier | Устройство с функцией очистки воздуха. | Очиститель воздуха, мойка воздуха. |
devices.types.vacuum_cleaner | Устройство, которое выполняет функцию пылесоса. | Робот-пылесос. |
devices.types.other | Остальные устройства. | Остальные устройства, не подходящие под типы выше. |
yandex.ru
Кабинет разработчика — Технологии Яндекса
Для доступа к API некоторых сервисов Яндекса необходимы специальные API-ключи. Кабинет разработчика позволяет получать API-ключи и управлять ими. Кабинет разработчика также предоставляет API для получения информации о проектах, сервисах и балансе вашего счета.
- Получение и активация ключа
- Для каких сервисов можно получить ключи?
- Для каждого сервиса нужен отдельный ключ?
- Почему ключ не работает?
- Какой у ключа срок действия?
- Что делать, если ключ вам больше не нужен?
- Сколько нужно платить?
- Статистика использования ключей
Свой первый ключ вы сможете получить при входе в Кабинет разработчика. Для этого в первую очередь выберите сервис. Для каждого сервиса потребуется заполнить анкету с информацией о целях использования API. При необходимости вы сможете подключить к этому сервису ключи доступа.
Ваш ключ можно будет использовать для работы с API конкретного сервиса только после активации (некоторые сервисы проводят модерацию прежде чем активировать ключ). Если активация не выполнена, это будет указано рядом с названием сервиса. Сроки (или дополнительные условия) активации будут высланы после заполнения анкеты для подключения к сервису. Если вы не получили письмо со сроками активации, обратитесь в службу поддержки Кабинета разработчика.
В некоторых сервисах активация ключей выполняется автоматически. В этом случае использовать ключ можно сразу же после подключения сервиса.
Ключи, полученные в Кабинете разработчика, можно использовать для следующих API:
Да, для каждого сервиса потребуется отдельный ключ. Ключ создается автоматически как только вы выберете API и заполните анкету на подключение.
Вы можете получить неограниченное количество ключей к каждому сервису. Тариф рассчитывается для API в целом, условия по количеству запросов — общие для всех ключей.
Например, у вас есть 3 ключа к API Яндекс.Карт, по тарифу доступно 1000 запросов в сутки. Если вы сделаете 200 запросов с первым ключом и 800 запросов со вторым ключом, лимит подойдет к концу и запросы не получится отослать ни с каким из 3 ключей.
Ключ может не работать в конкретном сервисе по одной из следующих причин:
Вы не подключили сервис к ключу.
Связь ключа и сервиса не была активирована.
Сроки активации и необходимая дополнительная информация была выслана вам на почту автоматически после заполнения анкеты на подключение сервиса к ключу. Если письмо не пришло, обратитесь в службу поддержки Кабинета разработчика.
Сервис заблокировал ваш доступ к API.
Яндекс может заблокировать доступ к API если были нарушены правила использования сервиса. Чтобы узнать причину блокировки, нажмите на название заблокированного сервиса.
Вы можете заблокировать ключ самостоятельно, если не планируете его использовать в будущем.
Срок действия ключа может быть ограничен только в рамках доступа к конкретному сервису. Рядом с названием сервиса указана дата окончания срока действия тарифа. По истечении этого срока доступ может быть заблокирован.
Чтобы продлить действие тарифа, пополните баланс в соответствии с тарифом или обратитесь в службу поддержки нужного сервиса.
Удалить полученный ключ нельзя.
Если вы не планируете больше использовать ключ, вы можете заблокировать его для одного или нескольких сервисов.
Получение нового ключа в Кабинете разработчика бесплатно, однако использование API некоторых сервисов может требовать оплаты.
Точная стоимость использования API определяется сервисом. Актуальные тарифы можно найти на страницах сервисов, перечисленных выше.
Чтобы увидеть тарифы в Кабинете разработчика, выберите нужный API и нажмите кнопку Тарифы на открывшейся странице.
Кабинет разработчика предоставляет статистику использования ваших ключей по сервисам. Данные по использованию ключа можно вывести за любой период, начиная с момента подключения ключа к сервису. Статистику использования ключа можно представить в виде таблицы или графика.
Для некоторых сервисов статистика использования ключей собирается, но не отображается в Кабинете разработчика. Чтобы получить статистику в этом случае, обратитесь в службу поддержки сервиса.
yandex.ru
Компания Яндекс — Технологии — SpeechKit — речевые технологии Яндекса
Ещё недавно общение с роботами было чем-то из области фантастики. Только капитан космического корабля мог голосом, не нажимая никаких кнопок, отдать команду бортовому компьютеру проложить маршрут к нужной точке. Сегодня это может сделать любой пользователь Яндекс.Навигатора. Возможно, вам и самим случалось говорить с роботами: во многих больших компаниях на звонки клиентов сейчас отвечают виртуальные операторы, которые самостоятельно решают типовые несложные задачи.
Чтобы говорить с человеком, компьютер должен уметь превращать звуковой сигнал в слова, улавливать смысл сказанного и произносить ответ. Другими словами, при каждом обмене репликами с человеком робот распознаёт речь, выделяет смысловые объекты и, приняв решения на основе полученных данных, синтезирует голосовой ответ.
В Яндексе эти задачи решаются с помощью комплекса речевых технологий, который называется SpeechKit. В этой статье мы вкратце расскажем об основных принципах его работы.Распознавание речи
Если сказать голосовому поиску «Лев Толстой», смартфон услышит не имя и фамилию и даже не два слова, а просто последовательность плавно сменяющих друг друга звуков. Задача системы распознавания речи — «расслышать» в этих звуках буквы (вернее, соответствующие им фонемы) и сложить их в слова. Ситуацию осложняет то, что одна и та же фраза, произнесённая разными людьми в разной обстановке, будет звучать по-разному и давать непохожие друг на друга сигналы. Правильно интерпретировать их помогают акустическая и языковая модели.
Акустическая модель
Акустическая модель умеет определять, какой набор фонем соответствует звуковому сигналу. Этому она учится на большом корпусе начитанных дикторами текстов и их транскрипций — компьютер как бы следит за чтением по подстрочнику. Со временем, прослушав и прочитав определённое количество материалов и накопив достаточную статистику совпадений, он делает вывод: звуку с такими характеристиками, как правило, соответствует такая-то фонема, другому звуку — другая, и так далее.
Акустическая модель работает не с самим звуком, а с его характеристиками — то есть признаками, выраженными в цифрах. Когда вы произносите голосовой запрос, например в Яндекс.Навигаторе, смартфон записывает его и отправляет на сервер Яндекса. Там запись разделяется на много маленьких фрагментов — фреймов. На каждую секунду речи приходится сто фреймов. Они длятся по 25 миллисекунд и идут внахлёст, как черепица, чтобы информация на стыках не терялась. Каждый фрейм подвергается ряду преобразований, в результате которых получается около 40 коэффициентов, описывающих его частотные характеристики. На основании этих данных акустическая модель может предположить, частью какой фонемы является фрейм.
Фонемой называется элементарная единица речи — в русском языке их около 40 (около — потому что лингвисты разных школ пользуются разными системами классификации и единого мнения насчёт числа фонем у них нет). На самом деле звуки, которые мы произносим, гораздо разнообразнее, ведь звучание фонемы зависит от того, в какой части слова — в начале, середине или конце — она находится и что у неё за соседи. Например, [а] между двумя гласными в сочетании «на аудиозаписи» отличается от [а] между согласными в слове «бак». Поэтому для хорошего распознавания фонема — слишком грубая единица.
Чтобы точнее смоделировать произношение фонемы, мы, во-первых, делим каждую из них на три части: условные начало, середину и конец. Во-вторых, используем собственный фонетический алфавит, который учитывает позицию и контекст фонем. Он состоит из 4000 элементарных единиц (вообще-то сочетаний получается больше, но многие из них просто не встречаются в реальной речи, поэтому мы не принимаем их в расчёт). С этим набором и работает наша технология распознавания речи.
Языковая модель
В идеальном мире программа безошибочно определяет, какая фонема соответствует каждому фрагменту голосового запроса. Но даже человек иногда может не понять или не расслышать все звуки и достраивает слово исходя из контекста. Для этого люди опираются на собственный речевой опыт: если ваш собеседник жалуется на заложенный нос, вы поймёте, что у него «насморк», а не «дасморк». Примерно так же работает система распознавания, только вместо речевого опыта она использует языковую модель.
Как и акустическая модель, языковая тоже обучается на большом корпусе текстов. Но в процессе учёбы она обращает внимание не на соответствие звуков и фонем, а на то в какие последовательности — то есть слова и фразы — обычно складываются фонемы.
Языковая модель работает уже не с признаками звука, а с цепочкой фонем — вернее с цепочкой вероятных фонем. Дело в том, что акустическая модель, обработав частотные признаки фрейма, выдаёт не одну конкретную фонему, а несколько — и у каждой из них свой коэффициент вероятности. Несколько упрощая, допустим, что в случае «насморка» акустическая модель выдаст две примерно равно вероятных фонемы в начале слова — [н] и [д]. Теперь в дело вступает языковая модель. Во время обучения «дасморки» встречались ей нечасто, а вот «насморков» — сколько угодно. Поэтому система сделает вывод, что в начале слова, вероятнее всего, была фонема [н].
Примерно так же, исходя из контекста, языковая модель определяет последовательности слов. Например, выбирая между «мама мыла раму» и «мама мыло рама», она предпочтёт первое словосочетание, потому что оно знакомо ей по тренировочному корпусу текстов.
Понимание естественного языка
На этапе понимания естественного языка компьютер имеет дело уже не с самой речью, а с текстом, в который она была преобразована. На самом деле ему совершенно не важно, получен ли этот текст в результате распознавания. Поэтому SpeechKit можно использовать не только в голосовых интерфейсах, но и для создания ботов, способных общаться в мессенжерах, отвечать на письма или смс.
Конечно, сами по себе слова для компьютера ничего не значат. Так же и мы, глядя в текст, написанный на неизвестном нам языке, не можем представить, о чём идёт речь, если только нам не встречаются какие-нибудь знакомые слова. Примерно такая же задача — по знакомым словам и формулировкам понять говорящего — стоит и перед компьютером.
Представьте приложение, которое выполняет функции личного помощника: добавляет встречи в ежедневник, помогает купить билеты в театр, записывает за пользователем умные мысли — всё в таком духе. Этому приложению нужен голосовой интерфейс, чтобы пользователь мог сказать ему: «Устал я что-то, домой пора — вызови такси», а потом просто назвать нужный адрес и не вводить никакие данные вручную.
Чтобы понять, чего хочет пользователь, и активировать нужную функцию, роботу нужно заметить в распознанной речи ключевые слова. В нашем случае — «вызови такси». Этим словам его научил разработчик: они занесены в программу в числе других формулировок вызова такси: «закажи такси», «вызови машину», […] «хочу поехать домой». Естественно, всех вариантов разработчик учесть не может. Поэтому, собрав тестовую версию приложения, он предлагает попользоваться ею друзьям и коллегам — так выясняется, как ещё люди могут заказывать такси.
Все новые формулировки записываются в конфигурационный файл программы, а затем размечаются: в них выделяются слова-маркеры и характерные синтаксические схемы. Анализируя разметку, программа сама учится понимать даже такие формулировки, которых нет в списке, но которые похожи на известные ей конструкции. Например, если в списке есть варианты «вызови машину» и «закажи такси», то и формулировку «закажи машину» программа тоже поймёт.
Синтез речи
Чтобы работать с голосовым интерфейсом компьютера было удобно, он должен уметь не только слышать, но и говорить. Конечно, если сервис не предполагает сложной коммуникации с пользователем, его реплики можно просто заранее записать и проигрывать в нужный момент. Но что если компьютеру придётся использовать в своём вопросе информацию, которую он только что получил от человека? Скажем, для подтверждения даты и адреса доставки? Чтобы он мог с таким справиться, его нужно научить произносить произвольный текст.
Подготовка текста
Задача синтеза речи тоже решается в несколько этапов. Сначала специальный алгоритм подготавливает текст для того, чтобы роботу было удобно его читать: записывает все числа словами, разворачивает сокращения и так далее. Затем текст делится на фразы, то есть на словосочетания с непрерывной интонацией — для этого компьютер ориентируется на знаки препинания и устойчивые конструкции. Для всех слов составляется их фонетическая транскрипция. Например, «какого» поменяется на «какова», ведь иначе робот так и прочитал бы это слово — окая и через «г».
Чтобы понять, как читать слово и где поставить в нём ударение, робот сначала обращается к классическим, составленным вручную словарям, которые встроены в систему. Если нужного слова в словаре нет, компьютер строит транскрипцию самостоятельно — опираясь на правила, заимствованные из академических справочников. Наконец, если обычных правил оказывается недостаточно — а такое случается, ведь любой живой язык постоянно меняется, — он использует статистические правила. Последние формулируются примерно таким же способом, как и правила акустической и языковой моделей: если слово встречалось в корпусе тренировочных текстов, система запомнит, на какой слог в нём обычно делали ударение дикторы.
Произношение и интонирование
Когда транскрипция готова, компьютер рассчитывает, как долго будет звучать каждая фонема, то есть сколько в ней фреймов. Затем каждый фрейм описывается по множеству параметров: частью какой фонемы он является и какое место в ней занимает; в какой слог входит эта фонема; если это гласная, то ударная ли она; какое место она занимает в слоге; слог — в слове; слово — в фразе; какие знаки препинания есть до и после этой фразы; какое место фраза занимает в предложении; наконец, какой знак стоит в конце предложения и какова его главная интонация.
Другими словами, для синтеза каждых 25 миллисекунд речи используется множество данных. Информация о ближайшем окружении обеспечивает плавный переход от фрейма к фрейму и от слога к слогу, а данные о фразе и предложении в целом нужны для создания правильной интонации синтезированной речи.
Чтобы прочитать подготовленный текст, снова используется акустическая модель — но уже не та, что применялась при распознавании. Тогда нужно было установить соответствие между звуками с определёнными характеристиками и фонемами. Вторая акустическая модель, используемая при синтезе, должна, наоборот, по описаниям фреймов составить описания звуков.
Откуда она знает, как правильно произнести фонему или придать верную интонацию вопросительному предложению? Как и две другие модели, о которых мы уже говорили, она учится на текстах и звуковых файлах. Например, в неё можно загрузить аудиокнигу и соответствующий ей текст. Чем больше данных, на которых учится модель, тем лучше её произношение и интонирование.
Наконец, о самом голосе. Узнаваемыми наши голоса, в первую очередь, делает тембр, который зависит от особенностей строения органов речевого аппарата у каждого человека. Тембр вашего голоса можно смоделировать, то есть описать его характеристики — для этого достаточно начитать в студии небольшой корпус текстов. После этого данные о вашем тембре можно использовать при синтезе речи на любом языке, даже таком, которого вы не знаете. Когда роботу нужно что-то сказать вам, он использует генератор звуковых волн — вокодер. В него загружаются информация о частотных характеристиках фразы, полученная от акустической модели, а также данные о тембре, который придаёт голосу узнаваемую окраску. Подробнее о возможностях и способах применения Yandex SpeechKit вы можете прочитать на специальном сайте. Если вы разработчик и хотите протестировать облачную или мобильную версию SpeechKit, поищите информацию на странице технологии.
yandex.ru