Я обнаружил, что QnA Maker имеет много проблем с вопросами, которые имеют перекрывающуюся часть.
Например, с вопросами такого же типа, как вопросы определения:
- Что такоеяблоко?Скажи мне, что такое яблоко.
- Что такое груша?Скажи мне, что такое груша.Объясните мне, что такое груша.
QnA Maker относительно глуп - он основан на поисковой системе, а не на самом деле понимает язык.Например, он не может выяснить, что является ключевым понятием вопроса.
Поэтому важно уменьшить дублирование и иметь больше уникальности в вопросах.
Решение, которое я придумал, заключалось всгруппировать подобные вопросы и смоделировать их как интенты в LUIS.Ответы могут быть в QnA Maker.Например, DefinitionQuestion
намерение в LUIS с извлечением сущности:
- Что такое X?Скажи мне, что такое ХОбъясните мне, что такое X
Затем, используя логику в своем боте, вы можете поместить все определения (вместо целых вопросов) в QnA Maker и пометить их как определение.Когда LUIS распознает намерение определения, вы можете извлечь сущность X и запросить QnA Maker for X, используя строгий фильтр с тегом questiontype:definition
.