У меня есть серверная служба, в которой пользователи могут создавать и присваивать имена комнатам и устройствам. Я хочу интегрироваться с Кортаной и позволить пользователям взаимодействовать со своими устройствами с помощью Кортаны. Я создал бота, который размещен на моем сервере, и добавил Кортану в качестве канала. Я также интегрировал бота с моим сервером OAuth 2, поэтому я знаю, какой пользователь взаимодействует с ботом. Я тренировал свою модель LUIS с фразами типа «включить свет в ванной», «выключить весь свет» и т. Д.
Моя проблема: каждый пользователь может называть комнаты и устройства по своему усмотрению. Я заранее не знаю, какие комнаты и какие устройства собираются настраивать в сервисе. Когда я получаю запрос в моем боте, я могу найти все устройства для пользователя. Список фиксируется в этой точке и может использоваться как список фраз - только устройства из этого списка могут быть включены в запрос.
Это подводит меня к моему вопросу: можно ли изменять список фраз для каждого пользователя? Или настроить URL-адрес, из которого можно получить список самых последних фраз до того, как запрос будет обработан LUIS? По сути, все, что мне нужно, - это избежать запроса на включение света в «гостиной», когда в системе нет гостиной, настроенной пользователем, и вместо этого она должна была быть «столовой» (это всего лишь простой пример. , в реальном мире было бы сложнее).
Я знаю, что есть LUIS REST API, который можно использовать для динамического изменения конфигурации, но: 1) это не для каждого пользователя 2) требуется перекомпоновка и повторная публикация модели LUIS.
Я считаю, что навыки «Подключенный дом» каким-то образом решают эту проблему, обнаруживая все устройства, подключенные к службе, но я не нашел никаких API-интерфейсов, которые я мог бы использовать для решения проблемы в моем навыке.
Изменить: я ищу такую функциональность: Cortana Connected Home После связывания Hue учетная запись Cortana знает, какие устройства есть у пользователя, и в этот момент распознавание голоса может быть умным и пытаться сопоставить произносимые слова с фактическим именем устройства.