KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Базы данных » Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Марков Сергей Николаевич, "Охота на электроовец. Большая книга искусственного интеллекта" бесплатно, без регистрации.
Перейти на страницу:

В последние годы мы наблюдаем настоящий бум в области диалоговых систем. Роботы осуществляют всё большее количество голосовых коммуникаций с клиентами компаний, а технологические гиганты уверены в том, что голосовые помощники могут стать новым способом «переизобрести» интернет (предыдущими были поисковые системы и социальные сети, радикально изменившие широко распространённые практики использования ресурсов сети). Чат-бот может быть источником полезной информации, помощником в выполнении какой-нибудь задачи и даже собутыльником. Можно долго рассуждать о причинах нынешнего бума, я назову лишь наиболее, на мой взгляд, важные. Прогресс в области распознавания и синтеза речи позволил диалоговым системам освоить голосовой канал коммуникаций, и в то же время, благодаря развитию мессенджеров и социальных сетей значительно выросла популярность текстового канала. Люди стали активно использовать мобильные устройства коммуникации, что вкупе с ростом доступности доступа в интернет привело к тому, что сегодня они проводят онлайн гораздо больше времени, чем раньше. Всё это привело к росту числа онлайн-сервисов, начиная от площадок для онлайн-торговли, сервисов бронирования авиабилетов и гостиниц и заканчивая платформами госуслуг и дистанционной медицины. Развитие этих сервисов повысило спрос на соответствующие технологии автоматизации, в том числе автоматизации диалоговых взаимодействий. Не последнюю роль здесь сыграл и прогресс в области обработки естественного языка, позволивший разрабатывать системы, создание которых в прошлом было или просто невозможно, или связано с неприемлемыми издержками. При этом некоторые методы, применяемые в наши дни создателями диалоговых систем, были изобретены ещё во времена Элизы и Перри. Поэтому типичный чат-бот в наши дни чем-то напоминает монстра Франкенштейна — причудливый конгломерат коннекционистских и традиционных (GOFAI) методов, примотанных друг к другу программными аналогами синей изоленты. Он способен худо-бедно решать стоящие перед ним задачи, но не отличается особым изяществом архитектуры и грациозностью действий. Давайте разберём некоторые подходы и методы, которые применяются при создании диалоговых систем, и попробуем разобраться, какие принципиальные инновации появились в этой области в последние годы. В зависимости от способа получения реплик все диалоговые модели теоретически подразделяются на генеративные [generative] и основанные на поиске [retrieval-based].

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

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

В реальных системах строгое разделение на генеративные и основанные на поиске модели соблюдается редко. Например, модель может выбирать реплики из предопределённого набора, а затем модифицировать их, например заменяя некоторые слова (или подставляя слова в реплику-шаблон) или соединяя несколько реплик между собой (как выше в ответе «Жени Густмана»: «Что-то между 2 и 4. Может быть, три? :-))) Кстати, я до сих пор не знаю вашу специальность — или, может быть, я её пропустил?»). Иногда модель, основанную на поиске, используют в качестве своеобразного «цензора»: набор заготовленных правил позволяет предсказуемым образом отвечать на провокационные вопросы («Любишь ли ты Гитлера?» и т. д.), в то время как на неизвестные реплики реагирует генеративная модель, способная давать на «неопасные» вопросы более интересные и разнообразные ответы.

В зависимости от того, ограниченна тематика общения или нет, диалоговые модели подразделяются соответственно на модели с закрытой предметной областью [closed domain] или с открытой предметной областью [open domain]. В принципе, опыт Элизы, Перри или SHRDLU показал, что системы, основанные на поиске и использующие функции поиска на основе правил, способны вполне успешно вести разговоры в случаях, когда тематика общения ограниченна. Этот успех основан главным образом на усилиях редакторов, он зависит от их способности подготовить и отладить большую базу реплик и правил.

Вклад технологий глубокого обучения в развитие моделей, основанных на поиске, заключался в том, что функции поиска, основанные на векторных представлениях контекста, позволили снизить затраты на разработку механизмов, необходимых для поддержки вариативности запросов. Предположим, наша модель должна уметь отвечать на вопрос «Как пройти в библиотеку?». На этот вопрос у нас есть заготовленная реплика-ответ. Однако пользователь может сформулировать вопрос самыми разными способами: «Как попасть в библиотеку?», «Как мне пройти в библиотеку?», «В библиотеку как мне пройти?», «Подскажите, пожалуйста, где библиотека?» и так далее. Если функция поиска основана на правилах, редакторам придётся придумывать множество вариантов написания вопроса. Конечно, использование компактных способов описания возможной вариативности (например, регулярных выражений и словарей синонимов) может облегчить эту задачу, но всё же для достижения приемлемого по качеству результата придётся потратить много усилий, и трудно дать гарантию, что даже тщательно продуманная система правил не спасует, столкнувшись с очередной оригинальной формулировкой вопроса. Что ещё хуже, ответ нередко может зависеть не только от последней реплики пользователя, но ещё и от предыдущих реплик (как диалоговой системы, так и пользователя):

— Какая сейчас погода в Питере?

— Два градуса тепла, дождь.

— А в Москве?

Этот диалог демонстрирует лингвистическое явление, называемое эллипсисом. Эллипсис — это пропуск в тексте или речи элемента, который может быть восстановлен на основании контекста. Для разрешения эллипсисов и упоминавшихся нами ранее анафор диалоговая система должна принимать в расчёт предшествующие реплики сторон. Нередко для правильного ответа нужны какие-то факты, сообщённые собеседником по ходу диалога. Для случаев, когда мы имеем дело с хорошо стандартизированным набором фактов (например, для заказа, оформлением которого занимается чат-бот, необходимо установить список товаров, адрес и время доставки), в арсенале GOFAI существует немало остроумных методов. Например, метод «заполнения параметров» (slot filling, дословно звучит более наглядно — «заполнение пазов»; часто также используются названия «разметка семантических ролей» [semantic role labeling] и «поверхностный семантический разбор» [shallow semantic parsing]), разработанный уже упоминавшимися нами Роджером Шанком и Марвином Минским [2252]. Позже он получил развитие в работах известного компьютерного лингвиста Дэна Журафски, создавшего совместно со своим коллегой Дэниэлом Гилдеа первую систему для автоматической разметки семантических ролей [2253], [2254]. Суть метода заполнения параметров заключается в том, что факты, сообщаемые собеседником в процессе общения, как бы заполняют существующие пропуски в структуре повествования, которая затем используется для выбора ответных реплик и совершения системой определённых действий.

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*