Bot Framework Composer의 Cross Train 기능 문제 및 해결 방법

1997 단어
이 글에서는 새로운 Bot Framework Composer에서 Cross-train 기능을 사용할 때 직면하는 문제와 이를 극복하고 효율적으로 사용하는 방법에 대해 알아보겠습니다.

이것은 다음 GitHub 문제에 대한 설명입니다.

https://github.com/microsoft/BotFramework-Composer/issues/6677

Bot Framework 작성기는 사용자 채팅 흐름에서 QnAMaker와 LUIS 의도 간의 컨텍스트 기반 전환을 개선하는 데 도움이 되는 교차 학습 기능과 함께 제공됩니다.

교차 학습 명령은 QnAMaker 의도 아래 LUIS에서 QnAMaker 질문에 대한 발화를 생성하므로 채팅 중간에 사용자가 QnAMaker에서 질문을 하면 봇이 QnAMaker 의도를 감지하고 질문에 대한 QnAMaker 답변으로 사용자를 리디렉션합니다. 점수를 기준으로 물었다.

마찬가지로 Cross Train은 봇 LUIS에 있는 의도 및 발화 목록에 대한 항목을 QnAMaker에 qna 쌍으로 생성하고 "intent=DeferToRe..."구문과 같은 응답을 사용하면 봇이 다음으로 리디렉션하는 데 도움이 됩니다. QnAMaker 흐름 중간에 있는 LUIS 의도는 사용자가 중간에 있는 경우 LUIS 의도의 작업을 요청합니다.

이제 Cross Train의 사용법과 작동 방식을 알았으니 이제 문제로 가보겠습니다.

QnAMaker의 LUIS 의도에 대해 새로 추가된 QnA 쌍으로 인해 기본 QnAIntent 인식기 의도 흐름을 사용하지 않고 qnamaker 흐름/qnamaker 질문 답변 http 요청을 수동으로 추가할 때 문제가 발생합니다. 이는 많은 상황에서 필요할 수 있습니다. 비즈니스 요구 사항에. 봇이 QnAMaker 흐름의 중간에 있을 때마다 사용자가 의도 있는 LUIS 흐름을 요청하면 봇은 위의 Cross-Train 흐름에서 생성된 "intent=DeferToRe..."답변을 반환합니다.

이를 방지하기 위해 소스 메타데이터를 필터링하여 교차 학습 소스에서 답변을 얻지 않도록 아래의 접근 방식을 따를 수 있습니다.

크로스 트레인 기능과 qnamaker 쿼리 흐름을 원활하게 사용할 수 있도록. 이제 qna와 Luis 사이를 효과적으로 전환하는 크로스 트레인 기능 응답과 응답에서 크로스 트레인 데이터 없이 사용자 지정 qnamaker 호출을 위한 의도로 qnaIntentRecognizer가 있습니다.

다음 쿼리를 사용하여 qnamaker를 http 요청으로 호출하여 'crosstrain' 소스가 응답하지 않도록 합니다.


{
    "question":"how",
    "strictFilters": [
         { "name": "source_name_metadata","value": "Custom Editorial"},
         { "name": "source_name_metadata","value": "chitchat"}
    ],
    "strictFiltersCompoundOperationType": "OR"
}



위의 쿼리 필터에서 설명한 대로 Cross-Train 기능에 의해 생성될 교차 학습 소스 메타데이터를 제외하고 QnAMaker 지식 베이스에 있는 모든 소스 메타데이터를 필터링하고 있습니다.

감사합니다. 행복한 코딩 :)

좋은 웹페이지 즐겨찾기