빠른 시작: 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 작성 리소스를 찾습니다. 리소스가 없는 경우 새 리소스 그룹을 만들 수 있습니다.

    Choose a type of Language Understanding authoring resource.

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

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

구독 및 작성 리소스 선택

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

Select authoring subscription and authoring resource

새 앱 만들기

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

애플리케이션 만들기

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

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

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

완료를 선택합니다.

참고 항목

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

미리 빌드된 작업을 추가합니다기본

LUIS는 애플리케이션을 시작하는 데 도움이 되는 미리 빌드된 do기본 집합을 제공합니다. 미리 빌드된 do기본 앱은 이미 의도, 엔터티발언으로 채워져 있습니다.

  1. 왼쪽 탐색 창에서 미리 빌드된 do기본를 선택합니다.

  2. HomeAutomation을 검색합니다.

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

    Select 'Prebuilt domains' then search for 'HomeAutomation'. Select 'Add domain' on the HomeAutomation card.

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

의도 및 엔터티 확인

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

    참고 항목

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

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

    Screenshot of HomeAutomation.TurnOff intent

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

    Image alt text

LUIS 앱 학습

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

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

    Train button

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

앱 테스트

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

  1. 오른쪽 위 탐색 영역에서 테스트를 선택합니다.

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

    이 예제에서는 표시등 해제가 HomeAutomation.TurnOff최고 점수 매기기 의도로 올바르게 식별됩니다.

    Screenshot of test panel with utterance highlighted

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

    Screenshot of test panel with inspection information

  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

최상의 결과를 위해서는 예제 발화가 다음과 같은 방식으로 달라지도록 합니다.

  • 발화 길이
  • 문장 부호
  • 단어 선택
  • 동사 시제(즉,
  • 단어 순서

예제 발화의 레이블 지정

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

발화에 레이블을 지정하려면 엔터티 팔레트 레이블 지정과 인라인 레이블 지정이라는 두 가지 옵션이 있습니다.

엔터티 팔레트 레이블 지정

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

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

    labelling an entity using the entity palette

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

    label an entity using the entity palette

인라인 레이블 지정

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

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

    menu for label the text

예측 리소스 만들기

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

LUIS 포털에서 예측 리소스를 만들려면

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

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

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

    Add Prediction resource from portal

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

    Add Prediction resource from portal-2

엔드포인트 URL을 가져오는 앱 게시

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

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

    A screenshot of the button for publishing to the endpoint.

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

    A screenshot of LUIS publishing to the endpoint.

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

    A screenshot of a message showing the app has been published.

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)과 같습니다.

    example query in the prediction resources section

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

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

    • verbose=true
    • show-all-intents=true
  2. 브라우저 주소 표시줄에서 URL 의 끝으로 이동하여 쿼리 문자열에 대한 거실 조명 을 끈 다음 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 앱을 삭제합니다. 이렇게 하려면 왼쪽 위 메뉴에서 내 앱을 선택합니다. 앱 목록에서 앱 이름 오른쪽에 있는 줄임표(...)를 선택하고 삭제를 선택합니다. 팝업 대화 상자에서 앱을 삭제하시겠습니까? 확인을 선택합니다.

다음 단계