XVIII Международная конференция студентов-филологов

Скатерть-самобранка: как научить ее говорить?

Елена Юрьевна Асиновская
Докладчик
студент 3 курса
Санкт-Петербургский государственный университет

171
2015-04-10
13:10 - 13:30

Ключевые слова, аннотация

Смогут ли роботы заменить официантов в ресторане? Да, но для этого они должны научиться беседовать с человеком на его родном языке. Доклад посвящён созданию диалогового агента SAMOBRANKA, который сможет принимать заказы у посетителя ресторана. Он должен знать не только названия блюд, но и уметь анализировать высказывания, реагировать на просьбы и даже понимать шутки. Для этого SAMOBRANKA использует упрощенный язык разметки ChatScript. Кроме того, ей нужна база фактов и знаний, а также база ответов. Сейчас система поддерживает простой диалог на некоторые ограниченные темы.

Тезисы

Смогут ли роботы заменить официантов в ресторане? Да, но для этого они должны научиться беседовать с человеком на его родном языке. Попытка создать машину, которая умела бы общаться с человеком на равных, активно обсуждается после появления в 1950 году статьи Алана Тьюринга «Может ли машина мыслить». С тех пор было предпринято много попыток создания диалоговых систем. Одними из лучших были признаны программы Eliza (1969) и A.L.I.C.E. (1995). В 2014 году на соревнованиях, организованных университетом Рединга, 33% судей приняли чатбот Eugine Goostman за человека, так впервые был пройдет тест Тюринга на искусственный интеллект. Однако по сей день в данной области остаётся много проблем. Диалоговые системы — одна из самых сложных областей автоматической обработки текста, так как при их создании оказываются задействованы все уровни языка.  
Доклад описывает попытку создания диалогового агента SAMOBRANKA, который сможет принимать заказы у посетителя ресторана. Что такое диалоговый агент? Это система, которая общается с пользователем (в нашем случае, с посетителем) на естественном языке. Она должна не только знать названия блюд, но и уметь анализировать высказывания, реагировать на просьбы и даже понимать шутки.

Для выполнения этой задачи я использую язык разметки ChatScript. При помощи этого языка создаётся база всех возможных вопросов и ответов, которые называются правилами. Вот одно из простейших правил моей системы: ?: VEGETARIAN (have a vegetarian menu) Yes, we have. Любое правило делится на тип высказывания (вопросительный знак в начале строки говорит о том, что правило будет выполняться, только если посетитель задаёт вопрос), тему (в нашем случае это вегетарианская еда), образец и ответ. Если в сообщении посетителя содержится образец (например, Do you have a vegetarian menu?), система выдаёт ответ (Yes, we have).
Конечно, не все правила такие простые; ChatScript позволяет включать условные операторы, задействовать переменные и работать с онтологией WordNet.
Сейчас программа умеет поддерживать диалог на простые темы, в дальнейшем я планирую её совершенствовать и значительно расширить её диалоговые возможности.