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

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

LUIS 포털에 로그인

참고

1월 20일부터 지역 포털(au.luis.ai 및 eu.luis.ai)이 단일 포털 및 URL로 통합됩니다. 이러한 포털 중 하나를 사용 중인 경우 자동으로 luis.ai로 리디렉션됩니다. 사용자가 만든 동일한 지역 리소스를 계속 사용하고 데이터는 리소스와 동일한 지역에서 계속 저장 및 처리됩니다.

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

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

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

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

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

구독 및 제작 리소스 선택

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

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

새 앱 만들기

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

애플리케이션 만들기

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

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

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

완료 를 선택합니다.

참고

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

미리 빌드된 도메인 추가

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

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

  2. HomeAutomation 을 검색합니다.

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

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

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

<a name="check-out-intents-and-entities">의도 및 엔터티 확인

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

    참고

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

  2. 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. 오른쪽 위 탐색에서 게시 를 선택합니다.

    오른쪽 상단 메뉴의 엔드포인트 단추에 LUIS 게시 스크린샷

  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"
                            ]
                        }
                    ]
                }
            }
        }
    }
    

V3 예측 엔드포인트에 대해 자세히 알아봅니다.

리소스 정리

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

다음 단계