Первый шаг в литературу

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

Недавно у меня было интервью, в котором я объясняю этот новый проект с помощью Wallscope, но вкратце (очень коротко): я стремлюсь сделать шаг к тому, чтобы разговорные агенты стали более естественными для общения.

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

[1]

Исследование характеристик речи для непрерывного прогнозирования очередности с использованием LSTM Мэтью Родди, Габриэля Скантце и Наоми Харт

[2]

Обнаружение социальных сигналов для распознавания взаимодействия человека с роботом Дивеш Лала, Коджи Иноуэ, Пьеррик Милхорат и Тацуя Кавахара

[3]

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

[4]

На пути к глубокому предвидению конца хода для установленных систем речевого диалога Анжелика Майер, Джулиан Хаф и Дэвид Шланген

[5]

Координация разговорного взаимодействия человека и робота, Габриэль Скантце (презентация лекции в Глазго 03.07.2019)

СОДЕРЖАНИЕ

Введение
Принятие очереди - прогнозирование конца поворота
Вовлеченность
Вариант реализации
Гибкие дополнительные стратегии заземления
Заключение

Вступление

Если мы думаем о двух людях, которые ведут плавный разговор, он сильно отличается от разговоров между людьми и Siri, Google Assistant, Alexa или Cortana.

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

Эта установленная продолжительность молчания незначительно варьируется в зависимости от системы. Если он установлен слишком низко, CA прервет вас в середине хода, так как человеческий диалог изобилует паузами. Если он установлен слишком высоко, система будет более точно определять ваш конец очереди, но ЦС будет мучительно долго реагировать, убивая поток разговора и разочаровывая пользователя [4].

Когда говорят два человека, мы стараемся минимизировать промежуток между поворотами в разговоре, и это межкультурно. Во всем мире интервал между поворотами составляет около 200 мс, что близко к пределу времени реакции человека [1]. Следовательно, мы должны прогнозировать конец очереди говорящих (EOT), слушая, как кто-то говорит.

Принятие очереди - Прогнозирование конца хода

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

Бесстыдная, но слегка связанная самореклама. Чтобы работать с компьютерным зрением, мы должны сначала понять Human Vision

Мы подсознательно интерпретируем реплики очередности, чтобы определить, когда наступает наша очередь говорить, поэтому какие реплики мы используем? Точно так же мы делаем это постоянно, слушая, как кто-то говорит, поэтому можем ли мы воссоздать эту инкрементную обработку?

[4] использовали как акустические, так и лингвистические особенности для обучения LSTM тегам 10 мс окон. Их системе поручено пометить эти окна как «Речь», «Пауза в середине поворота» (MTP) или EOT, но, конечно же, основное внимание уделяется первой точке в последовательности, которая помечена как EOT.

Акустические характеристики, используемые в LSTM, включали: исходный тон, сглаженный F0, среднеквадратичную энергию сигнала, логарифмированную энергию сигнала, интенсивность, громкость и производные характеристики для каждого кадра в качестве акустических характеристик.

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

Было выявлено множество других сигналов, указывающих, собирается ли говорящий продолжать говорить или закончил свою очередь [5]:

Как уже упоминалось, время ожидания ответа в 10 секунд так же раздражает, как и СА постоянно врезается в вас в середине хода [4]. Поэтому регулярно рассматривались множественные базовые параметры между 50 мс и 6000 мс, чтобы гарантировать, что в базовый уровень были включены множественные компромиссы.

За исключением одного случая (только лингвистические особенности, порог молчания 500 мс), каждая модель превзошла базовые показатели. Использование только лингвистических или акустических функций не имело большого значения, но производительность всегда была наилучшей, когда в модели использовались оба набора функций вместе. Лучшая система в целом имела задержку 1195 мс и скорость сокращения всего на 18%.

[1] утверждает, что мы прогнозируем EOT на основе мультимодальных сигналов, включая просодию, семантику, синтаксис, жест и взгляд.

Вместо того, чтобы маркировать окна 10 мс (как речь, MTP или EOT), традиционные модели предсказывают, продолжит ли говорящий говорить (HOLD) или закончит свою очередь (SHIFT), но делает это только тогда, когда обнаруживает паузу. Одна из основных проблем этого традиционного подхода заключается в том, что обратные каналы не являются ни HOLD, ни SHIFT, но один из них в любом случае прогнозируется.

LSTM использовались для непрерывного прогнозирования с интервалами 50 мс, и эти модели превосходят традиционные модели EOT и даже людей при применении к прогнозам HOLD / SHIFT. Их скрытые слои позволяют им изучать зависимости на большом расстоянии, но точно неизвестно, какие функции влияют на производительность больше всего.

В [1] новая система выполняет три разные задачи прогнозирования очередности: (1) прогнозирование с паузами, (2) прогнозирование в начале и (3) прогнозирование при перекрытии.

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

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

Прогнозирование при перекрытии вводится в этом документе впервые. По сути, это снова предсказание HOLD / SHIFT, но когда возникает период перекрытия не менее 100 мс. Решение «УДЕРЖАТЬ» (продолжать говорить) прогнозируется, когда перекрытие является обратным каналом, и «СДВИГАТЬ», когда система должна прекратить говорить. Это снова было оценено с использованием взвешенных F-баллов.

Вот пример прогнозируемой очередности в действии:

Как упоминалось выше, мы не знаем, какие функции мы используем, чтобы предсказать, когда наступит наша очередь говорить. [1] использовали множество функций в различных схемах, чтобы выделить наиболее полезные. Использовались следующие функции:

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

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

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

Фонетические признаки были получены из глубокой нейронной сети (DNN), которая классифицирует сеноны.

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

Итак, какие функции были наиболее полезными для прогнозирования EOT согласно [1]?

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

Слова в основном превосходили POS-теги, за исключением предсказания в начале, поэтому используйте POS-теги, если вы хотите предсказать длину высказывания (например, обратные каналы).

Во всех случаях, включая голосовую активность, производительность улучшилась.

Что касается акустических характеристик, наиболее важными характеристиками были громкость, F0, MFCC низкого порядка и особенности спектрального наклона.

В целом, наилучшие результаты были получены при использовании голосовой активности, акустических характеристик и слов.

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

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

Поэтому для моделирования естественного человеческого разговора важно, чтобы CA измерял вовлеченность.

Обручение

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

[2] обнаруживает следующие сигналы для измерения вовлеченности: кивок, смех, вербальные обратные каналы и взгляд. Тот факт, что эти сигналы демонстрируют внимание и интерес, является относительно здравым смыслом, но он был извлечен из большого количества взаимодействий между человеком и роботом.

[2] фокусируется не только на распознавании социальных сигналов, но и на создании модели распознавания вовлеченности.

Этот эксперимент проводился в Японии, где кивание особенно распространено. Для обнаружения кивков было извлечено семь характеристик: (на кадр) рыскание, крен и наклон головы человека (на 15 кадров), средняя скорость, средняя скорость, среднее ускорение и диапазон движения головы человека.

Их модель LSTM превзошла другие подходы к обнаружению кивков по всем показателям.

Улыбка часто используется для обнаружения вовлеченности, но для того, чтобы избежать использования камеры (они используют микрофоны + Kinect), вместо этого обнаруживается смех. Каждой модели была поставлена ​​задача классифицировать, содержит ли интерпауза (IPU) звук смех или нет. Использование просодии и лингвистических функций для обучения двухуровневой DNN показало наилучшие результаты, но использование других спектральных характеристик вместо лингвистических функций (не обязательно доступных в ASR) может быть использовано для улучшения модели.

Подобно киванию, в Японии чаще используются вербальные обратные каналы (так называемые айдзути). Кроме того, в Японии вербальные обратные каналы часто сопровождаются движениями головы, но модели передавался только звук. Подобно обнаружению смеха, эта модель классифицирует, является ли IPU обратным каналом или человек начинает свой ход (особенно сложно при вторжении). Самой эффективной моделью оказался случайный лес с 56 оценками, использующими просодию и лингвистические особенности. Модель по-прежнему работает разумно, когда ей даны только просодические функции (опять же, потому что лингвистические функции могут быть недоступны в ASR).

Наконец, взгляд широко известен как явный признак взаимодействия. Согласно соглашению между аннотаторами, непрерывный взгляд на голову Эрики (воплощение робота в этом эксперименте) в течение 10 секунд считался вовлечением. Таким образом, менее 10 секунд были отрицательными случаями.

Информация от сенсора kinect использовалась для вычисления вектора из ориентации головы пользователя, и пользователь считался «смотрящим на Эрику», если этот вектор сталкивался с головой Эрики (плюс 30 см, чтобы учесть ошибку). Эта модель, основанная на геометрии, работала относительно хорошо, но положение головы Эрики было оценено, так что это повлияло на результаты. Ожидается, что эта модель значительно улучшится, когда будут известны точные значения.

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

Совокупность вышеперечисленных моделей использовалась в качестве бинарного классификатора (был задействован человек или нет). В частности, они построили иерархический байесовский двоичный классификатор, который оценивает, был ли задействован слушатель, из 16 возможных комбинаций выходных данных из 4 моделей выше.

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

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

Измерение вовлеченности действительно возможно только при наличии CA (например, отсутствует зрительный контакт с Siri). Социальные роботы все чаще используются в таких областях, как обучение, общественные места, здравоохранение и производство. Все они могут содержать системы речевого диалога, но зачем их воплощать?

Воплощение

Люди будут путешествовать по миру, чтобы встретиться лицом к лицу, когда они могли просто позвонить [5]. Нам не нравится взаимодействовать, не видя другого человека, поскольку мы упускаем многие из сигналов, о которых мы говорили выше. В современном мире мы также можем совершать видеозвонки, но по тем же причинам этого все же избегают, когда это возможно. Разница между разговором по телефону и лицом к лицу аналогична разнице между разговором с Siri и встроенной диалоговой системой [5].

Современные голосовые системы не могут отображать выражения лица, указывать на внимание через зрительный контакт или шевелить губами. Чтение по губам, очевидно, очень полезно для людей с нарушениями слуха, но все мы читаем по губам во время разговора (так мы узнаем, что люди говорят даже в очень шумной обстановке).

Мало того, что лицо может выдавать эти сигналы, это также позволяет системе определять, кто говорит, кто обращает внимание, кто на самом деле люди (Рори, Дженни и т. Д.), И распознавать выражения их лиц.

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

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

Мы умеем читать по человеческому лицу, поэтому есть смысл показать человеческое лицо. Гиперреалистичные лица роботов существуют, но они немного жуткие, как у Софии, и очень дороги.

Они очень реалистичны, но не совсем правильны, что делает разговор очень неудобным. Чтобы бороться с этим, аватары могут разговаривать на экране.

Они могут сравнительно близко имитировать людей, не вызывая при этом неприятностей, поскольку это не физический робот. Однако это почти похоже на Skype, и этот метод страдает «эффектом Моны-Лизы». В многостороннем диалоге аватар на экране не может смотреть на одного человека, а не на другого. Либо аватар смотрит «во все стороны», либо ни на кого не смотрит.

Габриал Сканце (докладчик [5] для ясности) является соучредителем робототехники Furhat и утверждает, что Furhat - лучший баланс между всеми этими системами. Furhat был разработан для использования в разговорных приложениях в качестве администратора, социального тренера, терапевта, интервьюера и т. Д.

Фурхат должен знать, куда он должен смотреть, когда он должен говорить, что он должен говорить и какие выражения лица он должен отображать [5].

Наконец (на данный момент), когда-то воплощенные, диалоги с роботом должны быть основаны на реальном времени с реальным миром. В [3] приведен пример СА, воплощенный в промышленной машине, которая, как говорится в [5], становится все более и более распространенной.

Гибкие, дополнительные стратегии заземления

Чтобы разговор был естественным, разговоры между человеком и роботом должны быть плавными [3].

Используя неинкрементное заземление, пользователи могут оставить положительный отзыв и отремонтировать, но только после того, как робот продемонстрирует полное понимание запроса. Например, если вы просите робота переместить объект куда-нибудь, вы должны дождаться, пока объект не будет перемещен, прежде чем вы сможете исправить его, сказав, например, «нет, переместите красный». Невозможно перекрытие речи, поэтому действия должны быть полностью отменены, если требуется ремонт.

При инкрементном заземлении перекрытие по-прежнему невозможно, но обратная связь может подаваться с более регулярными интервалами. Вместо того, чтобы вся задача была завершена до того, как можно будет дать обратную связь, обратная связь может предоставляться с интервалами подзадачи. «Нет, переместите красный» можно сказать сразу после того, как робот поднимает синий объект и быстро ремонтирует его. В предыдущем примере синий объект был помещен в заданное место до того, как можно было приступить к ремонту, что привело к отмене всей задачи! Это намного эффективнее, но все же не так плавно, как при взаимодействии человека с человеком.

Плавное инкрементное заземление возможно при обработке перекрытий. Позволение и рассуждение по поводу одновременной речи и действия намного естественнее. Продолжая наш пример ремонта, можно сказать «нет, переместите красный», как только робот собирается поднять синий объект, никакая задача не должна завершаться и отменяться, поскольку разрешен параллелизм. Задачу подбора можно прервать, и красный объект плавно поднять, когда вы скажете, что с ним делать.

Чтобы перейти к более плавному заземлению, необходима обработка в реальном времени. Система не только должна обрабатывать высказывания слово за словом, необходимо отслеживать контекст в реальном времени, такой как текущее состояние робота и запланированные действия (оба из которых могут динамически изменяться в процессе произнесения высказывания или слова).

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

Заключение

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

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

А пока, пожалуйста, делайте комментарии с вопросами для обсуждения, критикуйте мое понимание и предлагайте статьи, которые мне (и всем, кто это читает) может быть интересным.