예제 발화 집합으로 일괄 테스트

Important

LUIS는 2025년 10월 1일에 사용 중지되며 2023년 4월 1일부터 새 LUIS 리소스를 만들 수 없습니다. 지속적인 제품 지원 및 다국어 기능을 활용하려면 LUIS 애플리케이션대화 언어 이해로 마이그레이션하는 것이 좋습니다.

일괄 처리 테스트는 활성 학습 버전의 유효성을 검사하여 예측 정확도를 측정합니다. 일괄 테스트는 활성 버전의 각 의도와 엔터티의 정확도를 확인하는 데 도움이 됩니다. 일괄 처리 테스트 결과를 검토하여 앱이 올바른 의도를 자주 식별하지 못하는 경우 의도에 예제 발화 추가 또는 발화 내 엔터티에 레이블 지정 등의 적절한 조치를 취해 정확도를 향상합니다.

일괄 처리 테스트를 위해 데이터 그룹화

일괄 처리 테스트에 사용되는 발언은 LUIS에 새로 추가된 발언이어야 합니다. 발화 데이터 세트가 있는 경우 발화를 의도에 추가되는 예제 발화, 게시된 엔드포인트에서 받은 발화, 학습된 후 LUIS 일괄 처리 테스트에 사용되는 발화의 세 가지 집합으로 나눕니다.

사용하는 배치 JSON 파일에는 시작 및 끝 위치를 포함하여 레이블이 지정된 최상위 수준의 기계 학습 엔터티가 있는 발화가 포함되어야 합니다. 발화는 이미 앱에 있는 예제의 일부가 아니어야 합니다. 의도 또는 엔터티에 대해 긍정적으로 예측하려는 발화여야 합니다.

의도 및/또는 엔터티별로 테스트를 분리하거나 모든 테스트(최대 1,000개 발화)를 동일한 파일에 포함할 수 있습니다.

배치를 가져오는 중 발생하는 일반적인 오류

LUIS에 일괄 처리 파일을 업로드하는 동안 오류가 발생하는 경우 다음과 같은 일반적인 문제를 확인합니다.

  • 일괄 처리 파일에 발화가 1,000개를 초과함
  • 엔터티 속성이 없는 발언 JSON 개체입니다. 속성은 빈 배열일 수 있습니다.
  • 단어에 여러 엔터티로 레이블이 지정됨
  • 공간에서 시작하거나 종료하는 엔터티 레이블.

일괄 처리 오류 수정

일괄 처리 테스트에 오류가 있는 경우 의도에 발언을 더 추가하거나, LUIS에서 의도를 구분하는 데 도움이 되도록 더 많은 발언에 엔터티로 레이블을 지정할 수 있습니다. 발언을 추가하고 레이블을 지정했지만 일괄 처리 테스트에서 예측 오류가 계속 발생하는 경우에는 LUIS 학습 속도 향상에 도움이 되도록 도메인 특정 어휘가 포함된 구 목록 기능을 추가하는 것이 좋습니다.

LUIS 포털을 사용하여 일괄 테스트

앱 예 가져오기 및 학습

1 pepperoni pizza on thin crust와 같은 피자 주문을 받는 앱을 가져옵니다.

  1. 앱 JSON 파일을 다운로드하고 저장합니다.

  2. LUIS 포털에 로그인하고 구독제작 리소스를 선택하여 해당 제작 리소스에 할당된 앱을 확인합니다.

  3. 새 앱 옆의 화살표를 선택하고 JSON으로 가져오기를 클릭하여 JSON을 새 앱으로 가져옵니다. 앱 이름을 Pizza app으로 지정합니다.

  4. 탐색 영역의 오른쪽 위 모서리에서 학습을 선택하여 앱을 학습시킵니다.

일괄 처리 테스트의 역할

주의

엔터티 역할은 일괄 처리 테스트에서 지원되지 않습니다.

일괄 처리 테스트 파일

JSON 예제에는 테스트 파일의 모양을 설명하는 레이블이 지정된 하나의 엔터티가 있는 하나의 발화가 포함되어 있습니다. 사용자 고유의 테스트에는 올바른 의도 및 레이블이 지정된 기계 학습 엔터티가 포함된 발화가 많이 있어야 합니다.

  1. 텍스트 편집기에서 pizza-with-machine-learned-entity-test.json을 만들거나 다운로드합니다.

  2. JSON 형식의 배치 파일에서 테스트에서 예측하려는 의도가 포함된 발화를 추가합니다.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

일괄 처리 실행

  1. 맨 위 탐색 모음에서 테스트를 선택합니다.

  2. 오른쪽 패널에서 Batch testing panel(일괄 테스트 패널)을 선택합니다.

    Batch Testing Link

  3. 가져오기를 선택합니다. 표시되는 대화 상자에서 파일 선택을 선택하고 테스트할 1,000개 이하의 발화를 포함하는 올바른 JSON 형식의 JSON 파일을 찾습니다.

    가져오기 오류는 브라우저 위쪽의 빨간색 알림 표시줄에 보고됩니다. 가져오기에 오류가 있으면 데이터 세트가 생성되지 않습니다. 자세한 내용은 일반 오류를 참조하세요.

  4. pizza-with-machine-learned-entity-test.json 파일의 파일 위치를 선택합니다.

  5. 데이터 세트의 이름을 pizza test로 지정하고 완료를 선택합니다.

  6. 실행 단추를 선택합니다.

  7. 일괄 처리 테스트가 완료되면 다음 열을 볼 수 있습니다.

    설명
    상태 테스트 상태입니다. 결과 보기는 테스트를 완료한 후에만 볼 수 있습니다.
    이름 테스트에 제공한 이름입니다.
    크기 이 일괄 처리 테스트 파일의 테스트 수입니다.
    마지막 실행 이 일괄 처리 테스트 파일을 마지막으로 실행한 날짜입니다.
    마지막 결과 테스트에서 성공한 예측 수입니다.
  8. 테스트의 자세한 결과를 보려면 결과 보기를 선택합니다.

    • 다운로드를 선택하면 업로드한 것과 동일한 파일이 다운로드됩니다.
    • 일괄 처리 테스트가 실패한 것으로 확인되면 하나 이상의 발화 의도가 예측과 일치하지 않은 것입니다.

의도에 대한 일괄 처리 결과 검토

일괄 테스트 결과를 검토하려면 결과 보기를 선택합니다. 테스트 결과는 활성 버전에 대해 테스트 발화가 예측된 방법을 그래픽으로 보여 줍니다.

일괄 처리 차트는 결과의 사분면으로 표시됩니다. 차트의 오른쪽이 필터입니다. 필터에는 의도와 엔터티가 포함됩니다. 차트의 섹션 또는 차트 내의 한 점을 선택하면 차트 아래에 관련된 발언이 표시됩니다.

차트 위로 마우스를 가져간 후 마우스 휠로 차트의 발언을 확대하거나 축소할 수 있습니다. 차트에 많은 점이 밀집되어 있을 때 이렇게 하면 편리합니다.

차트는 사분면으로 구분되며 그중 두 개의 섹션이 빨간색으로 표시됩니다.

  1. 필터 목록에서 ModifyOrder 의도를 선택합니다. 발화는 진양성으로 예측됩니다. 즉 발화가 배치 파일에 나열된 긍정 예측과 일치합니다.

    Utterance successfully matched its positive prediction

    필터 목록의 녹색 확인 표시도 각 의도에 대한 테스트의 성공을 나타냅니다. 각 의도에 대해 발화가 일괄 처리 테스트에 나열되지 않은 의도에 대한 부정 테스트로 테스트되었으므로 다른 모든 의도는 1/1 긍정 점수로 나열됩니다.

  2. 확인 의도를 선택합니다. 이 의도는 일괄 처리 테스트에 나열되지 않으므로 일괄 처리 테스트에 나열된 발화에 대한 부정 테스트입니다.

    Utterance successfully predicted negative for unlisted intent in batch file

    필터의 녹색 텍스트와 그리드에서 표시한 대로 부정 테스트에 성공했습니다.

엔터티에 대한 일괄 처리 테스트 결과 검토

하위 엔터티가 있는 머신 엔터티인 ModifyOrder 엔터티는 최상위 엔터티가 일치하는지 여부와 하위 엔터티를 예측하는 방법을 표시합니다.

  1. 필터 목록에서 ModifyOrder 엔터티를 선택한 다음, 그리드에서 원을 선택합니다.

  2. 엔터티 예측이 차트 아래에 표시됩니다. 표시에는 예상과 일치하는 예측의 실선 및 예상과 일치하지 않는 예측의 점선이 포함됩니다.

    Entity parent successfully predicted in batch file

차트 결과 필터링

특정 의도 또는 엔터티별로 차트를 필터링하려면 오른쪽 필터링 패널에서 의도 또는 엔터티를 선택합니다. 선택 항목에 따라 그래프에서 데이터 요소 및 해당 배포가 업데이트됩니다.

Visualized Batch Test Result

차트 결과 예

LUIS 포털의 차트에서는 다음 작업을 수행할 수 있습니다.

단일 지점 발화 데이터 보기

차트에서 데이터 요소를 마우스로 가리키면 해당 예측의 확신도 점수가 표시됩니다. 데이터 요소를 선택하여 페이지 아래쪽의 발화 목록에서 해당 발화를 검색합니다.

Selected utterance

섹션 데이터 보기

4섹션 차트의 오른쪽 위에서 가양성과 같은 섹션 이름을 선택합니다. 해당 섹션의 모든 발화가 목록의 차트 아래에 표시됩니다.

Selected utterances by section

이 이전 이미지에서 발화 switch on은 TurnAllOn 의도로 레이블이 지정되지만 None 의도의 예측을 수신했습니다. 이는 예상 예측을 만들기 위해 TurnAllOn 의도에 더 많은 예제 발화가 필요함을 나타냅니다.

빨간색으로 표시된 차트의 두 섹션은 예상 예측과 일치하지 않는 발화를 나타냅니다. 이는 LUIS에 추가 학습이 필요한 발화를 나타냅니다.

녹색으로 표시된 차트의 두 섹션은 예상 예측과 일치했습니다.

다음 단계

테스트에서 LUIS 앱이 올바른 의도와 엔터티를 인식하지 못하는 것으로 나타나면 추가 발화에 레이블을 지정하거나 기능을 추가하여 LUIS 앱의 성능을 개선할 수 있습니다.