LINUX.ORG.RU

Простая обработка естественного языка

 , , , ,


0

3

Привет. Вкратце поясню, с чем работаю. Есть сервис, а точнее навык Алисы от Яндекса на сервере. Туда приходят запросы пользователя в текстовом виде с параметрами. В качестве параметра может выступать ФИО, например. Чтобы правильно выбирать функцию обработки запроса, я использую классификатор, основанный на методе ближайших соседей, в качестве соседей выступают семантические векторы возможных запросов. Тут все просто.

Дело в том, что система должна уметь отвечать в контексте предыдущего вопроса. Например, если пользователь спросит: «Кто такой Семен Семенович?», то затем должен иметь возможность спросить: «А как мне его найти?». Требуется также обратное: «Как мне найти Семен Семеныча?», «А кто он такой?». Запрос типа «Как мне найти ...» может относится не только к человеку. Скажем, пользователь может спросить, как ему найти мероприятие, которое сейчас проводит Семен Семенович.

Из этого у меня возникают такие вропросы. Учить классификатор находить намерение «найти что-то» или «найти человека» и «найти мероприятие» отдельно? Если первый вариант, то в запросе типа «Как мне найти мероприятие „Синяя птица“, которое проводит Семен Семенович» как определить, что именно хочет найти пользователь? Если второй вариант, то как быть с относительными запросами (звучат в ответ предыдущего), которые могут относится к нескольким классам, например «Где искать?».

Опыта в ML у меня немного, особенно в NLP, поэтому хочется услышать советы, как правильно реализовывать таких несложных голосовых помощников.


Опыта в ML у меня немного, особенно в NLP

«Учиться, учиться и учиться». © Ленин

как правильно реализовывать таких несложных голосовых помощников.

Токмо обширно-могучие неросетки могут осилить «несложных голосовых помощников», ибо даже у простых вопросов есть нетривиальное контекстно зависимое содержание.

Примеры:
Improving Language Understanding with Unsupervised Learning ©.
Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing ©.

Для простых экспериментов можешь попробовать «флешку» Intel® Neural Compute Stick 2 ©.
Сей «думатель» может прототипировать и настраивать свёрточные сети под управлением Ubuntu.

quickquest ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.