빠른 시작: LUIS 포털에서 앱 빌드

Important

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

이 빠른 시작에서는 미리 빌드된 홈 자동 도메인을 사용하여 조명 및 어플라이언스를 켜고 끄는 LUIS 앱을 만듭니다. 미리 작성된 도메인에는 의도, 엔터티 및 예제 발언이 제공됩니다. 다음으로, 더 많은 의도와 엔터티를 추가하여 앱을 사용자 지정해 봅니다. 완료하면 클라우드에서 LUIS 엔드포인트를 실행하게 됩니다.

LUIS 포털에 로그인

LUIS에 대한 새 사용자는 다음 절차를 수행해야 합니다.

  1. LUIS 포털에 로그인한 후 국가/지역을 선택하고 사용 약관에 동의합니다. 내 앱이 대신 표시되는 경우 LUIS 리소스가 이미 존재하므로 앱 만들기로 건너뛰어야 합니다. 그렇지 않으면 Azure 리소스를 사용하여 LUIS 계정을 신규 또는 기존 Azure Authoring 리소스와 연결할 수 있습니다.
  1. 표시되는 작성 선택 창에서 Azure 구독 및 LUIS 작성 리소스를 찾습니다. 리소스가 없는 경우 새 리소스 그룹을 만들 수 있습니다.

    Language Understanding 작성 리소스의 유형을 선택합니다.

    새 작성 리소스를 만들 때 다음 정보를 제공합니다.

    • 테넌트 이름 - Azure 구독이 연결된 테넌트입니다.
    • Azure 구독 이름 - 리소스에 대해 청구되는 구독입니다.
    • Azure 리소스 그룹 이름 - 사용자가 선택하거나 만드는 사용자 지정 리소스 그룹 이름입니다. 리소스 그룹을 사용하면 액세스 및 관리를 위해 Azure 리소스를 그룹화할 수 있습니다.
    • Azure 리소스 이름 - 사용자가 선택한 사용자 지정 이름으로, 작성 및 예측 엔드포인트 쿼리의 URL 중 일부로 사용됩니다.
    • 가격 책정 계층 - 가격 책정 계층은 초 및 월별 최대 트랜잭션 수를 결정합니다.

구독 및 제작 리소스 선택

특정 구독 및 제작 리소스를 선택하면 연결된 앱 목록이 표시됩니다.

제작 구독 및 제작 리소스 선택

새 앱 만들기

애플리케이션은 내 앱에서 만들고 관리할 수 있습니다.

애플리케이션 만들기

애플리케이션을 만들려면 + 새 앱을 클릭합니다.

표시되는 창에 다음 정보를 입력합니다.

이름 설명
이름 앱의 이름입니다. 예: "홈 자동화".
문화권 앱이 이해하고 말하는 언어입니다.
설명 앱에 대한 설명입니다.
예측 리소스 쿼리를 수신할 예측 리소스입니다.

완료를 선택합니다.

참고 항목

애플리케이션을 만든 후에는 문화권을 변경할 수 없습니다.

미리 빌드된 도메인 추가

LUIS는 애플리케이션을 시작하는 데 도움이 될 수 있는 미리 빌드된 도메인 세트를 제공합니다. 미리 빌드된 도메인 앱은 이미 의도, 엔터티발화로 채워져 있습니다.

  1. 왼쪽 탐색 영역에서 미리 빌드된 도메인을 선택합니다.

  2. HomeAutomation을 검색합니다.

  3. HomeAutomation 카드에서 도메인 추가를 선택합니다.

    '미리 빌드된 도메인'을 선택한 다음, 'HomeAutomation'을 검색합니다. HomeAutomation 카드에서 ‘도메인 추가’를 선택합니다.

    도메인 추가에 성공하면 미리 작성된 도메인 상자에 도메인 제거 단추가 표시됩니다.

의도 및 엔터티 확인

  1. 왼쪽 탐색 메뉴에서 의도를 선택하여 HomeAutomation 도메인 의도를 확인합니다. HomeAutomation.QueryStateHomeAutomation.SetDevice와 같은 예제 발화가 있습니다.

    참고 항목

    없음은 모든 LUIS 앱에 제공되는 의도입니다. 이는 앱에 제공되는 기능과 일치하지 않는 발언을 처리하는 데 사용됩니다.

  2. HomeAutomation.TurnOff 의도를 선택합니다. 의도에는 엔터티를 사용하여 레이블이 지정된 예제 발화 목록이 포함되어 있습니다.

    HomeAutomation.TurnOff 의도의 스크린샷

  3. 앱의 엔터티를 보려면 엔터티를 선택합니다. HomeAutomation.DeviceName과 같은 항목 중 하나를 선택하면 이와 관련된 값 목록이 표시됩니다.

    이미지 대체 텍스트

LUIS 앱 학습

애플리케이션이 의도, 엔터티 및 발화로 채워지면 변경 내용이 반영될 수 있도록 애플리케이션을 학습시켜야 합니다.

  1. LUIS 웹 사이트의 오른쪽 위에서 학습 단추를 선택합니다.

    학습 단추

  2. 학습 단추가 사용하지 않도록 설정되어 있으면 학습이 완료된 것입니다.

앱 테스트

앱을 학습시킨 후에는 테스트할 수 있습니다.

  1. 오른쪽 상단 탐색에서 테스트를 선택합니다.

  2. 대화형 테스트 창에 테스트 발화를 입력하고 Enter 키를 누릅니다. 예를 들어 광원을 해제합니다.

    이 예제에서 Turn off the lightsHomeAutomation.TurnOff의 최고 득점 의도로 올바르게 식별되었습니다.

    발화가 강조 표시된 테스트 패널의 스크린샷.

  3. 검사를 선택하여 예측에 대한 자세한 정보를 봅니다.

    검사 정보가 포함된 테스트 패널의 스크린샷.

  4. 테스트 창을 닫습니다.

애플리케이션 사용자 지정

미리 빌드된 도메인 외에 LUIS를 사용하면 자체 사용자 지정 애플리케이션을 만들거나 미리 빌드된 애플리케이션을 기반으로 사용자 지정할 수 있습니다.

의도 만들기

앱에 더 많은 의도 추가하기

  1. 왼쪽 탐색 메뉴에서 의도를 선택합니다.
  2. 만들기를 선택합니다.
  3. 의도 이름(HomeAutomation.AddDeviceAlias)을 입력한 다음, 완료를 선택합니다.

엔터티 만들기

앱에 더 많은 엔터티 추가하기

  1. 왼쪽 탐색 메뉴에서 엔터티를 선택합니다.
  2. 만들기를 선택합니다.
  3. 의도 이름(HomeAutomation.DeviceAlias)을 입력하고 유형에서 학습한 머신을 선택한 다음, 만들기를 선택합니다.

예제 발화 추가

예제 발화는 챗봇이나 기타 클라이언트 애플리케이션에 사용자가 입력하는 텍스트입니다. 사용자 텍스트의 의도를 LUIS 의도에 매핑합니다.

HomeAutomation.AddDeviceAlias에 대한 의도 페이지에서 예제 발화 아래에 다음 예제 발화를 추가합니다.

# 예제 발화
1 Add alias to my fan to be wind machine
2 Alias lights to illumination
3 nickname living room speakers to our speakers a new fan
4 rename living room tv to main tv

최상의 결과를 위해 예 발화는 다음과 같은 방식으로 다양합니다.

  • 발화 길이
  • 문장 부호
  • 단어 선택
  • 동사 시제(is, was, will be)
  • 단어 순서

예제 발화의 레이블 지정

ML 엔터티를 추가했으므로 발화에 레이블을 지정해야 합니다. 레이블 지정은 만든 ML 엔터티를 추출하는 방법을 학습시키기 위해 애플리케이션에서 사용됩니다.

발화에 레이블을 지정하도록 엔터티 색상표 레이블 지정 및 인라인 레이블 지정 등 두 가지 옵션이 제공됩니다.

엔터티 색상표 레이블 지정

오른쪽 상단의 @ 아이콘을 선택하면 페이지 오른쪽에 엔터티 색상표가 열립니다.

  1. 레이블을 지정하려는 엔터티를 선택합니다.

    엔터티 색상표를 사용하여 엔터티 레이블 지정

  2. 이 엔터티로 레이블을 지정하려는 텍스트를 강조 표시합니다.

    엔터티 색상표를 사용하여 엔터티 레이블 지정

인라인 레이블 지정

  1. 레이블을 지정하려는 텍스트를 강조 표시합니다.

  2. 팝업되는 메뉴에서 텍스트에 레이블을 지정하려는 엔터티를 선택합니다.

    텍스트에 레이블을 지정할 수 있는 메뉴

예측 리소스 만들기

이 시점에서 애플리케이션 제작을 완료했습니다. 예측 엔드포인트를 통해 챗봇이나 다른 클라이언트 애플리케이션에서 예측을 수신하려면 예측 리소스를 만들어 애플리케이션에 게시해야 합니다.

LUIS 포털에서 예측 리소스 만들기

  1. 애플리케이션의 관리 탭으로 이동합니다.

  2. 왼쪽 탐색 영역에서 Azure 리소스를 선택합니다.

  3. 예측 리소스 추가 단추를 선택합니다.

    포털에서 예측 리소스 추가

    예측 리소스가 이미 있는 경우 추가합니다. 그렇지 않으면 새 예측 리소스 만들기를 선택합니다.

    포털-2에서 예측 리소스 추가

앱을 게시하여 엔드포인트 URL 가져오기

챗봇 또는 다른 클라이언트 애플리케이션에서 LUIS 예측을 받으려면 앱을 예측 엔드포인트에 게시해야 합니다.

  1. 오른쪽 위 탐색에서 게시를 선택합니다.

    엔드포인트에 게시하기 위한 단추의 스크린샷

  2. 프로덕션 슬롯을 선택한 다음, 완료를 선택합니다.

    엔드포인트에 게시하는 LUIS의 스크린샷

  3. 알림에서 엔드포인트 URL에 액세스를 선택하여 Azure 리소스 페이지로 이동합니다. 앱과 연결된 예측 리소스가 있는 경우에만 URL을 볼 수 있습니다. 관리를 클릭하여 Azure 리소스 페이지를 찾을 수도 있습니다.

    앱이 게시되었다고 보여 주는 메시지의 스크린샷

V3 API 예측 엔드포인트 쿼리

  1. LUIS 포털의 관리 섹션(오른쪽 상단 메뉴)에 있는 Azure 리소스 페이지(왼쪽 메뉴)의 예측 리소스 탭에서 페이지 하단에 있는 예제 쿼리를 복사합니다. URL에는 앱 ID, 키 및 슬롯 이름이 있습니다. V3 예측 엔드포인트 URL의 형식은 다음(https://YOUR-RESOURCE-NAME.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/APP-ID/slots/SLOT-NAME/predict?subscription-key=YOUR-PREDICTION-KEY&<optional-name-value-pairs>&query=YOUR_QUERY_HERE)과 같습니다.

    예측 리소스 섹션의 예제 쿼리

    URL을 새 브라우저 탭에 붙여넣습니다. URL이 표시되지 않는 경우 예측 리소스가 없는 것이므로 예측 리소스를 만들어야 합니다.

  1. 브라우저 주소 표시줄에서 쿼리 문자열에 대해 다음 값이 URL에 있는지 확인합니다. 쿼리 문자열에 없으면 추가하세요.

    • verbose=true
    • show-all-intents=true
  2. 브라우저 주소 표시줄에서 URL 끝으로 이동하고 쿼리 문자열에 turn off the living room light를 입력한 다음, Enter 키를 누릅니다.

    {
        "query": "turn off the living room light",
        "prediction": {
            "topIntent": "HomeAutomation.TurnOff",
            "intents": {
                "HomeAutomation.TurnOff": {
                    "score": 0.969448864
                },
                "HomeAutomation.QueryState": {
                    "score": 0.0122336326
                },
                "HomeAutomation.TurnUp": {
                    "score": 0.006547436
                },
                "HomeAutomation.TurnDown": {
                    "score": 0.0050634006
                },
                "HomeAutomation.SetDevice": {
                    "score": 0.004951761
                },
                "HomeAutomation.TurnOn": {
                    "score": 0.00312553928
                },
                "None": {
                    "score": 0.000552945654
                }
            },
            "entities": {
                "HomeAutomation.Location": [
                    "living room"
                ],
                "HomeAutomation.DeviceName": [
                    [
                        "living room light"
                    ]
                ],
                "HomeAutomation.DeviceType": [
                    [
                        "light"
                    ]
                ],
                "$instance": {
                    "HomeAutomation.Location": [
                        {
                            "type": "HomeAutomation.Location",
                            "text": "living room",
                            "startIndex": 13,
                            "length": 11,
                            "score": 0.902181149,
                            "modelTypeId": 1,
                            "modelType": "Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ],
                    "HomeAutomation.DeviceName": [
                        {
                            "type": "HomeAutomation.DeviceName",
                            "text": "living room light",
                            "startIndex": 13,
                            "length": 17,
                            "modelTypeId": 5,
                            "modelType": "List Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ],
                    "HomeAutomation.DeviceType": [
                        {
                            "type": "HomeAutomation.DeviceType",
                            "text": "light",
                            "startIndex": 25,
                            "length": 5,
                            "modelTypeId": 5,
                            "modelType": "List Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ]
                }
            }
        }
    }
    

리소스 정리

더 이상 필요하지 않은 경우 LUIS 앱을 삭제합니다. 그러려면 왼쪽 위 메뉴에서 내 앱을 선택합니다. 앱 목록에서 앱 이름 오른쪽에 있는 줄임표(...)를 선택하고 삭제를 선택합니다. 앱을 삭제하시겠습니까? 팝업 대화 상자에서 확인을 선택합니다.

다음 단계