company_banner

Алиса поможет разработчикам найти объекты в запросах пользователей. NER в Диалогах

    Весной мы запустили платформу Диалоги, которая позволяет создавать навыки для Алисы и распознавать голосовые запросы пользователей. Изначально разработчикам навыков приходилось разбирать запросы самостоятельно. К примеру, находить адрес в тексте. Теперь эту часть работы платформа берёт на себя.

    Сегодня мы расскажем читателям Хабра о распознавании именованных сущностей (Named-entity recognition; NER) и новых возможностях для разработчиков навыков.



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

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

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

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

    Хорошо, когда пользователь может сказать «Спасибо! Доставьте заказ на Льва Толстого 16 и передайте Сергею Сергееву», а не разбивать это на серию вопросов об улице, номере дома, имени и фамилии. Но это потребует от разработчика навыка дополнительно разбирать полученные ответы. Можно делать это вручную силами оператора, но при большом потоке операторов понадобится много. А ещё операторы вряд ли будут делать это в режиме реального времени, поэтому навык лишится возможности уточнить недостающую информацию сразу. Можно разработать технологию, которая будет автоматически находить в тексте важную информацию, классифицировать её, нормализовать и сохранять. Но это довольно трудозатратная задача.

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

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

    Распознавание именованных сущностей в Диалогах


    После того, как пользователь произносит команду, наша платформа распознает ее текст и извлекает слова и фразы, которые описывают определенные объекты. На текущий момент Диалоги распознают:

    — имена;
    — указания на местоположение;
    — даты и время;
    — целые и дробные числа.

    Информация о распознанных объектах отправляется на сервер навыка вместе с текстом ответа пользователя. Рассмотрим на примере:

    «Закажи пиццу на Льва Толстого 16 для Сергея Сергеева на 10 вечера»

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

    {
    "type": "YANDEX.GEO",
    "value": {
    "house_number": "16",
    "street": "льва толстого"
    }
    }
    

    Указания на местоположения могут содержать не только улицу и дом, но и город, страну или даже аэропорт.

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

    {
    "type": "YANDEX.FIO",
    "value": {
    "first_name": "сергей",
    "last_name": "сергеев"
    }
    }
    

    Нормализация данных – важная особенность распознавания именованных сущностей. Если для адресов и имен это свойство не так явно бросается в глаза, то с датами и временем всё куда нагляднее. «10 вечера» автоматически превращается в «22». «Завтра» и «послезавтра» явным образом инкрементируют даты.

    {
    "type": "YANDEX.DATETIME",
    "value": {
    "hour_is_relative": false,
    "hour": 22
    }
    }
    

    Распознавание чисел также не стоит недооценивать. К примеру, «четыре целых пять десятых» в тексте от пользователя превратится в:

    {
    "type": "YANDEX.NUMBER",
    "value": 4.5
    }

    Заинтересовало? Приглашаем в документацию. Если вопросы останутся, то добро пожаловать в наш чат в Телеграме. За другими новостями платформы удобно следить в блоге.
    Яндекс
    498,00
    Как мы делаем Яндекс
    Поделиться публикацией

    Комментарии 25

      +1
      Очень полезная возможность!
        0
        Это очень круто! Давно ждал.
        Скажите, а какие ещё голосовые боты пользуются популярностью кроме папы джонса?

        Как дела вообще с рынком голосовых ботов?
          +1
          Вот тут есть хороший рассказ про рынок и Алису как платформу: www.youtube.com/watch?v=Mha_sdCkkiU
          В ближайшее время постараемся ещё более подробно об этом рассказать.
            0
            Возможно какие-то бизнес-партнеры вроде Джонса хорошо продвигаются Яндексом, но для разработчиков со стороны даже наличие в каталоге дает меньше 100 пользователей в день (правда это по одному навыку число, статистики доступной нет). Попадание на главную дает больше, но для заявленной аудитории Алисы в десятки миллионов пользователей все равно очень мало. Вся надежда на то, что когда-нибудь как-то начнут продвигать ботов пользователям или просто добавят траффик в каталог.
            0
            Интересно, как долго в Яндексе хранятся аудиозаписи, полученные Алисой, и извлеченные из них данные?
              0
              Пока место не кончится :)
              +1
              в гео не распознаются станции метро? я могу дообучать механизм распознавания сущностей? например «шереметьево»=«шарик»?
                0
                Мы верим, что будущее за голосовыми интерфейсами.

                Оно конечно прикольно, говорить голосом с компом.
                Но это всё только когда ты живешь один.
                И так шумовой фон высокий. А если все во круг еще и голосом будут общаться с гаджетами, вообще финиш.
                  0
                  Можно нацепить гарнитуру с двумя микрофонами: один направлен ко рту человека, а второй — куда подальше. Из одного сигнала вычитаем другой (не без помощи преобразования типа Фурье или даже вейвлетов) и получим пригодный для автоматической обработки голос. Или же настроить систему на распознавание конкретного голоса.

                  P.S.: Впрочем, тогда самим людям будет шумно. Тогда придётся пилить нейроинтерфейсы или снимать миограммы с мышц (тем более, что разработки уже ведутся и вполне успешные)
                  0
                  Голосовое управление — штука для одиноких отшельников, потому что в офисе/общественном транспорте/на улице приходится перекрикивать шум (и создавать ещё больше шума), да и в целом — быстрее на клавиатуре отстучать, чем проговаривать робату запрос.
                  Имхо — китайцы не дураки со своими этими вичатами — куда удобнее боту в телеграмме натыкать «принеси мне пиццу, как обычно, домой, на ближайшее»…
                  А Алиса эта ваша тупая как пробка и ещё огрызается.
                    0
                    Алиса и навыки также поддерживают работу с экраном, так что тут два в одном :) И каждая из сторон очень сильная. Что касается объема запросов, которые задаются голосом, — то он сильно больше, чем тут обсуждают. Постараемся в ближайшее время об этом рассказать — и о типах таких запросов.
                    0
                    firstlena А Если сказать Алисе заказать пиццу на Льва Толстого 10 и передать Льву Толстому, она корректно отработает?)
                      0
                      да, корректно, можете сами проверить :)
                        0
                        Еще такой вопрос немножко не по теме: планирует ли Яндекс выпускать еще «железки», кроме колонки?
                          –1
                          а вот это не по теме, как вы и сказали :)
                      0
                      Жаль, что нормального управления умным домом нет, так я бы купил себе яндекс-колонку (если нашёл бы, где в Германию заказать) — Алиса где-то даже прикольная, больше чат-бот, чем голосовой ассистент. А так приходится пользоваться амазоновским вариантом.
                        0
                        А технически NER с помощью чего реализован? Использовалось старое решение, вроде томита-парсера, или делалось с нуля, на нейроночках?
                          0
                          Как Алиса поведёт себя в такой гипотетической ситуации:
                          «Доставьте мне вторую книгу Льва Толстова на Льва Толстова 132 для Льва Толстова»?
                          0
                          А когда у Алисы планируется веб-интерфейс (пользоваться с десктопа с нормальной клавиатурой)?
                            0
                            Имеется ввиду строка или десктопный браузер?
                              0
                              Имеется в виду десктопный браузер.
                                0
                                Есть уже, попробуйте вот отсюда скачать: browser.yandex.ru/alice/1
                                  0
                                  Алиса работает только на компьютерах с Windows.
                                  А еще она живет на Android и iOS

                                  Не совсем то, что хотелось увидеть.
                            0
                            А когда Алиса будет отвечать на планшете с Windows без открытия браузера?

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

                            Самое читаемое