Итак, пара вещей, о которых вы здесь расскажете, о том, как вы создали свою модель LUIS и что ожидать от отправки. Перейдите к 2.), если вы пользователь, который читает этот пост и у которого уже есть сущности, прекрасно работающие в дочерних моделях LUIS. @AlexandreViegas, прочитайте пункт 1.), чтобы помочь правильно построить модель LUIS для обнаруженияумышленно в отправке.
1.Используйте Simple Entity + Phrase List , чтобы воспользоваться преимуществами машинного обучения LUIS, а не List Entity
В настоящий момент кажется, что вы выбрали список сущностей *.1013 * это не лучший способ пойти сюда, и не так, как он предназначен для использования.Вместо этого списочные объекты используются для терминов, которые могут иметь несколько способов обращения к одной и той же вещи.
Примеры случаев, когда вы хотите использовать объект списка
Например, Калифорния, Кали, Калифорния и Золотой штат - все термины, которые относятся к одной и той же вещи (штат).Вы можете создать список «Штаты», включающий все 50 штатов США и их псевдонимы.Теперь, поскольку это закрытый, явный список, при использовании объекта списка нет машинного обучения - LUIS будет обнаруживать объект списка «Состояния» только при наличии точного совпадения текста.
Еще один пример того, когда вы хотите использовать списковые объекты, - например, «Отделы» для школы.Вы можете использовать слова «химия», «CHEM142», «хим» и т. Д., Относящиеся к этому конкретному отделу, и делать это с остальными отделами в школе.
Почему вы хотите использовать простую сущность и добавить список фраз
Вы можете обратиться к этому другому StackOverflow ответу Я написал относительно как создать простую сущность и повысить сигнал сущности, используя список фраз.
Чтобы не полностью дублировать ответ, приведенный в ссылке выше, по сути, вы хотите использовать простую сущность, чтобы LUIS мог правильно предсказать термины как сущность CellPhoneType
, даже если вы явно не включили ее втвоя модель
Например, вы можете иметь намерение Phone
с высказываниями, помечающими различные слова как CellPhoneIntent
сущность.![enter image description here](https://i.stack.imgur.com/3vkd3.png)
Когда я захожу на панель «Тест», я набираю «подсолнух» и «лунный камень», как составленные мобильные телефоны (возможно, какая-то телефонная компания в будущем создаст телефоны с этимиимена в качестве моделей):
![enter image description here](https://i.stack.imgur.com/X5d8y.png)
Вы можете видеть, как LUIS правильно предсказывает Phone
намерение и правильно извлекает sunflower
и moonstone
как CellPhoneType
сущностей.
Однако, если я введу названия мобильных телефонов, которых нет на английском языке - например, Blackberry "Z3" или T-Mobile "G2X", LUIS не сможет обнаружить это с помощью нашегомодель как есть прямо сейчас.(См. 2 самых последних высказывания).![enter image description here](https://i.stack.imgur.com/UPge2.png)
Выше вы можете видеть высказывания "i'd like to order a z3
" и "my g2x is broken
", которые не могут правильно предсказывать как Phone
намерение, так же как и z3
или g2x
быть обнаруженным как CellPhoneType
сущность.Именно здесь приходят списки фраз . Как указано в документах , списки фраз хороши для усиления сигнала о том, как может выглядеть тип сотового телефона, а также для добавления запатентованные или иностранные слова для вашей модели LUIS, такие как "готовые" слова многих моделей сотовых телефонов.Опять же, обратитесь к ответу StackOverflow, на который я ссылаюсь, если вам нужно руководство о том, как создать список фраз.
После добавления разных имен моделей сотовых телефонов в список фраз
![enter image description here](https://i.stack.imgur.com/xFZxC.png)
2.Запросить конечную точку модели LUIS, которая была создана диспетчеризацией напрямую
Уточнение:
- При добавлении дочерней модели LUIS в диспетчер дажеесли в этой дочерней модели LUIS есть сущности, то не будет отображаться в модели родительской модели LUIS, созданной диспетчеризацией.
исключение из приведенного выше пункта будетесли вы пометили сущность в шаблоне
Почему объекты не должны быть помечены в родительской модели LUIS, потому что, когда вы вызываете конечную точку родительской модели LUIS, она выполняет своего рода общий вызов изнутри, поэтомунеобходимо дважды пропинговать LUIS.
Вы видите объекты, помеченные из дочерней модели LUIS, в свойстве connectedServiceResult
Как извлечь сущности из дочерней модели LUIS с помощью родительского приложения LUIS
Обязательно опубликуйте оба дочернее приложение LUIS и родительское приложение диспетчеризации.
Перейдя в созданное вами родительское приложение LUIS диспетчеризации, перейдите к Управление> Ключами и конечными точками> нажмите «Конечная точка» , чтобы открыть вкладку браузера, где вы можете запросить родительское приложение в URL после q=
, введите свои высказывания в URL, после q=
, чтобы увидеть объекты инамерения, извлеченные из детской модели LUIS под connectedServiceResult
https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?verbose=true&timezoneOffset=-360&subscription-key=b7xxxxxxxxxxxxxxxxxxxxxxxxxxxx67&q=my%20iphone%20is%20broken
{
"query": "my iphone is broken",
"topScoringIntent": {
"intent": "l_Reminders",
"score": 0.99594605
},
"intents": [
{
"intent": "l_Reminders",
"score": 0.99594605
},
{
"intent": "None",
"score": 0.002990469
}
],
"entities": [],
"connectedServiceResult": {
"query": "my iphone is broken",
"topScoringIntent": {
"intent": "Phone",
"score": 0.9658808
},
"intents": [
{
"intent": "Phone",
"score": 0.9658808
},
{
"intent": "Calendar.Add",
"score": 0.0142210266
},
{
"intent": "Calendar.Find",
"score": 0.0112086516
},
{
"intent": "None",
"score": 0.009813501
},
{
"intent": "Email",
"score": 0.0025855056
}
],
"entities": [
{
"entity": "iphone",
"type": "CellPhoneType",
"startIndex": 3,
"endIndex": 8,
"score": 0.998970151
}
]
}
}
Выше видно, что родительское приложение LUIS, созданное из диспетчеризации, правильно идентифицирует iphone
из высказывания my iphone is broken
как CellphoneType
сущность.
Примечание. Результаты дочерней модели LUIS не отображаются на панели «Тест» родительской отправки, поскольку пользовательский интерфейс не отображает connectedServiceResult