Привет. Вкратце поясню, с чем работаю. Есть сервис, а точнее навык Алисы от Яндекса на сервере. Туда приходят запросы пользователя в текстовом виде с параметрами. В качестве параметра может выступать ФИО, например. Чтобы правильно выбирать функцию обработки запроса, я использую классификатор, основанный на методе ближайших соседей, в качестве соседей выступают семантические векторы возможных запросов. Тут все просто.
Дело в том, что система должна уметь отвечать в контексте предыдущего вопроса. Например, если пользователь спросит: «Кто такой Семен Семенович?», то затем должен иметь возможность спросить: «А как мне его найти?». Требуется также обратное: «Как мне найти Семен Семеныча?», «А кто он такой?». Запрос типа «Как мне найти ...» может относится не только к человеку. Скажем, пользователь может спросить, как ему найти мероприятие, которое сейчас проводит Семен Семенович.
Из этого у меня возникают такие вропросы. Учить классификатор находить намерение «найти что-то» или «найти человека» и «найти мероприятие» отдельно? Если первый вариант, то в запросе типа «Как мне найти мероприятие „Синяя птица“, которое проводит Семен Семенович» как определить, что именно хочет найти пользователь? Если второй вариант, то как быть с относительными запросами (звучат в ответ предыдущего), которые могут относится к нескольким классам, например «Где искать?».
Опыта в ML у меня немного, особенно в NLP, поэтому хочется услышать советы, как правильно реализовывать таких несложных голосовых помощников.