사용자 지정 명령 애플리케이션 개발

Important

사용자 지정 명령은 2026년 4월 30일에 사용 중지됩니다. 2023년 10월 30일부터 Speech Studio에서 새 사용자 지정 명령 애플리케이션을 만들 수 없습니다. 이 변경 과 관련하여 LUIS 는 2025년 10월 1일에 사용 중지됩니다. 2023년 4월 1일부터 새 LUIS 리소스를 만들 수 없습니다.

이 방법 문서에서는 사용자 지정 명령 애플리케이션을 개발하고 구성하는 방법을 알아봅니다. 사용자 지정 명령 기능을 사용하면 음성 우선 상호 작용 환경에 최적화된 풍부한 음성 명령 앱을 빌드할 수 있습니다. 이 기능은 작업 완료 또는 명령 및 제어 시나리오에 가장 적합합니다. IoT(사물 인터넷) 디바이스 및 주변 및 헤드리스 디바이스에 적합합니다.

이 문서에서는 TV를 켜고 끄고, 온도를 설정하고, 경보를 설정할 수 있는 애플리케이션을 만듭니다. 이러한 기본 명령을 만든 후에는 명령을 사용자 지정하기 위한 다음 옵션에 대해 알아봅니다.

  • 명령에 매개 변수 추가
  • 명령 매개 변수에 구성 추가
  • 상호 작용 규칙 빌드
  • 음성 응답을 위한 언어 생성 템플릿 만들기
  • 사용자 지정 음성 도구 사용

간단한 명령을 사용하여 애플리케이션 만들기

먼저 빈 사용자 지정 명령 애플리케이션을 만듭니다. 자세한 내용은 빠른 시작을 참조 하세요. 이 애플리케이션에서는 프로젝트를 가져오는 대신 빈 프로젝트를 만듭니다.

  1. 이름 상자에 프로젝트 이름 Smart-Room-Lite(또는 원하는 다른 이름)를 입력합니다.

  2. 언어 목록에서 영어(미국)을 선택합니다.

  3. LUIS 리소스를 선택하거나 만듭니다.

    Screenshot showing the

LUIS 리소스 업데이트(선택 사항)

새 프로젝트 창에서 선택한 제작 리소스를 업데이트할 수 있습니다. 예측 리소스를 설정할 수도 있습니다.

예측 리소스는 사용자 지정 명령 애플리케이션이 게시될 때 인식에 사용됩니다. 개발 및 테스트 단계에서는 예측 리소스가 필요하지 않습니다.

TurnOn 명령 추가

앞에서 만든 빈 Smart-Room-Lite 사용자 지정 명령 애플리케이션에서 명령을 추가합니다. 이 명령은 발화를 처리합니다 Turn on the tv. 메시지 Ok, turning the tv on와 함께 응답합니다.

  1. 왼쪽 창의 맨 위에서 새 명령을 선택하여 새 명령을 만듭니다. 새 명령 창이 열립니다.
  2. 이름 필드에 값을 입력합니다TurnOn.
  3. 만들기를 실행합니다.

가운데 창에는 명령의 속성이 나열됩니다.

다음 표에서는 명령의 구성 속성에 대해 설명합니다. 자세한 내용은 사용자 지정 명령 개념 및 정의를 참조 하세요.

구성 설명
예시 문장 사용자가 이 명령을 트리거하기 위해 말할 수 있는 발화 예제입니다.
매개 변수 명령을 완료하는 데 필요한 정보입니다.
완료 규칙 명령을 수행하기 위해 수행할 작업입니다. 예: 사용자에게 응답하거나 웹 서비스와 통신합니다.
상호 작용 규칙 보다 구체적이거나 복잡한 상황을 처리하는 기타 규칙입니다.

Screenshot showing where to create a command.

예제 문장 추가

예제 문장 섹션에서는 사용자가 말할 수 있는 내용의 예를 제공합니다.

  1. 가운데 창에서 예제 문장을 선택합니다.

  2. 오른쪽 창에서 예제를 추가합니다.

    Turn on the tv
    
  3. 창 맨 위에서 저장을 선택합니다.

매개 변수가 아직 없으므로 완료 규칙 섹션으로 이동할 수 있습니다.

완료 규칙 추가

다음으로, 명령에는 완료 규칙이 필요합니다. 이 규칙은 처리 작업이 수행되고 있음을 사용자에게 알려줍니다.

규칙 및 완료 규칙에 대한 자세한 내용은 사용자 지정 명령 개념 및 정의를 참조 하세요.

  1. 기본 완료 규칙을 선택합니다. 그리고 다음과 같이 편집합니다.

    설정 제안 값 Description
    이름 ConfirmationResponse 규칙의 목적을 설명하는 이름
    조건 없음 규칙을 실행할 수 있는 시기를 결정하는 조건
    actions 음성 응답>보내기 간단한 편집기>Ok, turning the tv on 규칙 조건이 true일 때 수행되는 작업

    Screenshot showing where to create a speech response.

  2. 저장을 선택하여 작업을 저장합니다.

  3. 완료 규칙 섹션으로 돌아가서 저장을 선택하여 모든 변경 내용을 저장합니다.

    참고 항목

    명령과 함께 제공되는 기본 완료 규칙을 사용할 필요가 없습니다. 기본 완성 규칙을 삭제하고 고유한 규칙을 추가할 수 있습니다.

SetTemperature 명령 추가

이제 명령을 하나 더 추가합니다 SetTemperature. 이 명령은 단일 발화를 Set the temperature to 40 degrees사용하고 메시지 Ok, setting temperature to 40 degrees로 응답합니다.

새 명령을 만들려면 명령에 사용한 TurnOn 단계를 수행하지만 예제 문장 Set the temperature to 40 degrees을 사용합니다.

그런 다음, 기존의 완료 완료 규칙을 다음과 같이 편집합니다.

설정 제안 값
이름 ConfirmationResponse
조건 없음
actions 음성 응답 보내기>단순한 편집기>첫 번째 변형>Ok, setting temperature to 40 degrees

저장을 선택하여 모든 명령 변경 내용을 저장합니다.

SetAlarm 명령 추가

SetAlarm 명령을 만듭니다. 예제 문장 Set an alarm for 9 am tomorrow을 사용합니다. 그런 다음, 기존의 완료 완료 규칙을 다음과 같이 편집합니다.

설정 제안 값
이름 ConfirmationResponse
조건 없음
actions 음성 응답 보내기>단순한 편집기>첫 번째 변형>Ok, setting an alarm for 9 am tomorrow

저장을 선택하여 모든 명령 변경 내용을 저장합니다.

체험

테스트 창을 사용하여 애플리케이션의 동작을 테스트합니다.

  1. 창의 오른쪽 위 모서리에서 학습 아이콘을 선택합니다.
  2. 학습이 완료되면 테스트를 선택합니다.

음성 또는 텍스트를 사용하여 다음 발화 예제를 사용해 보세요.

  • 입력: 온도를 40도로 설정
  • 예상 응답: Ok, 온도를 40도로 설정
  • 입력: turn on the tv
  • 예상 응답: 확인, TV 켜기
  • 입력: 내일 오전 9시 알람 설정
  • 예상 응답: 확인, 내일 오전 9시 경보 설정

Screenshot showing the test in a web-chat interface.

테스트 창에서 이 음성 입력 또는 텍스트 입력이 처리된 방법에 대한 자세한 내용은 턴 세부 정보를 선택할 수 있습니다.

명령에 매개 변수 추가

이 섹션에서는 명령에 매개 변수를 추가하는 방법을 알아봅니다. 명령을 사용하려면 작업을 완료하기 위한 매개 변수가 필요합니다. 복잡한 시나리오에서는 매개 변수를 사용하여 사용자 지정 작업을 트리거하는 조건을 정의할 수 있습니다.

TurnOn 명령에 대한 매개 변수 구성

먼저 기존 TurnOn 명령을 편집하여 여러 디바이스를 켜고 끕니다.

  1. 이제 명령이 온/오프 시나리오를 모두 처리하므로 명령 이름을 TurnOnOff바꿉니다.

    1. 왼쪽 창에서 TurnOn 명령을 선택합니다. 그런 다음 창 맨 위에 있는 새로 만들기 명령 옆에 있는 편집 단추를 선택합니다.

    2. 명령 이름 바꾸기 창에서 이름을 TurnOnOff로 변경합니다.

  2. 명령에 새 매개 변수를 추가합니다. 매개 변수는 사용자가 디바이스를 켜거나 끌지 여부를 나타냅니다.

    1. 가운데 창의 맨 위에서 추가를 선택합니다. 드롭다운 메뉴에서 매개 변수를 선택합니다.

    2. 오른쪽 창의 매개 변수 섹션에 있는 이름 상자에 추가 OnOff합니다.

    3. 필수를 선택합니다. 매개 변수에 대한 응답 추가 창에서 단순한 편집기를 선택합니다. 첫 번째 변형 필드에서 켜기 또는 끄기를 추가합니다.

    4. 업데이트를 선택합니다.

      Screenshot that shows the 'Add response for a required parameter' section with the 'Simple editor' tab selected.

    5. 다음 표를 사용하여 매개 변수의 속성을 구성합니다. 명령의 모든 구성 속성에 대한 자세한 내용은 사용자 지정 명령 개념 및 정의를 참조하세요.

      구성 제안 값 Description
      이름 OnOff 매개 변수의 구체적인 이름
      Required 선택한 상태 명령이 완료되기 전에 이 매개 변수의 값이 필요한지 여부를 나타내는 확인란입니다.
      필수 매개 변수에 대한 응답 간단한 편집기>On or Off? 알 수 없는 경우 이 매개 변수의 값을 묻는 프롬프트입니다.
      Type String Number, String, Date Time 또는 Geography와 같은 매개 변수 형식입니다.
      Configuration 내부 카탈로그에서 미리 정의된 입력 값 수락 문자열의 경우 이 설정은 입력을 가능한 값 집합으로 제한합니다.
      미리 정의된 입력 값 on, off 가능한 값 및 해당 별칭의 집합입니다.
    6. 미리 정의된 입력 값을 추가하려면 미리 정의된 입력 추가를 선택합니다. 위의 표에 나와 있는 것처럼 새 항목 창에 이름을 입력합니다. 여기서는 별칭을 사용하지 않으므로 이 필드를 비워 둘 수 있습니다.

      Screenshot showing how to create a parameter.

    7. 저장을 선택하여 매개 변수의 모든 구성을 저장합니다.

SubjectDevice 매개 변수 추가

  1. 이 명령을 사용하여 제어할 수 있는 디바이스의 이름을 나타내는 두 번째 매개 변수를 추가하려면 추가를 선택합니다. 다음 구성을 사용합니다.

    설정 제안 값
    이름 SubjectDevice
    Required 선택한 상태
    필수 매개 변수에 대한 응답 간단한 편집기>Which device do you want to control?
    Type String
    Configuration 내부 카탈로그에서 미리 정의된 입력 값 수락
    미리 정의된 입력 값 tv, fan
    별칭 (tv) television, telly
  2. 저장을 선택합니다.

예제 문장 수정

매개 변수를 사용하는 명령의 경우 가능한 모든 조합을 포함하는 예제 문장을 추가하는 것이 유용합니다. 예시:

  • 완전한 매개 변수 정보: turn {OnOff} the {SubjectDevice}
  • 부분 매개 변수 정보: turn it {OnOff}
  • 매개 변수 정보 없음: turn something

다양한 수준의 정보를 사용하는 예제 문장을 사용하면 사용자 지정 명령 애플리케이션에서 부분 정보를 사용하여 원샷 해상도와 다중 턴 해상도를 모두 확인할 수 있습니다.

이 정보를 염두에 두고 다음 제안된 매개 변수를 사용하도록 예제 문장을 편집합니다.

turn {OnOff} the {SubjectDevice}
{SubjectDevice} {OnOff}
turn it {OnOff}
turn something {OnOff}
turn something

저장을 선택합니다.

예제 문장 편집기에서 중괄호를 사용하여 매개 변수를 참조합니다. 예: turn {OnOff} the {SubjectDevice}. 이전에 만든 매개 변수에서 지원되는 자동 완성을 위해 탭을 사용합니다.

매개 변수를 포함하도록 완료 규칙 수정

기존 완료 규칙 ConfirmationResponse를 수정합니다.

  1. 조건 섹션에서 조건 추가를 선택합니다.

  2. 새 조건 창의 형식 목록에서 필수 매개 변수를 선택합니다. 다음 목록에서 OnOffSubjectDevice를 모두 선택합니다.

  3. 만들기를 실행합니다.

  4. 작업 섹션에서 마우스로 음성 응답 보내기 작업을 가리키고 편집 단추를 선택하여 편집합니다. 이번에는 새로 만든 OnOff 매개 변수와 SubjectDevice 매개 변수를 사용합니다.

    Ok, turning the {SubjectDevice} {OnOff}
    
  5. 저장을 선택합니다.

오른쪽 창 맨 위에 있는 학습 아이콘을 선택하여 변경을 시도해 봅니다.

학습이 완료되면 테스트를 선택합니다. 애플리케이션 테스트 창이 나타납니다. 다음 상호 작용을 시도합니다.

  • 입력: TV 끄기
  • 출력: 확인, TV 끄기
  • 입력: 텔레비전 끄기
  • 출력: 확인, TV 끄기
  • 입력: turn it off
  • 출력: Which device do you want to control?
  • 입력: TV
  • 출력: 확인, TV 끄기

SetTemperature 명령에 대한 매개 변수 구성

SetTemperature 명령을 수정하여 사용자가 지시하는 온도를 설정할 수 있도록 합니다.

매개 변수를 추가합니다 TemperatureValue . 다음 구성을 사용합니다.

구성 제안 값
이름 TemperatureValue
Required 선택한 상태
필수 매개 변수에 대한 응답 간단한 편집기>What temperature would you like?
Type Number

다음 값을 사용하도록 예제 발화를 편집합니다.

set the temperature to {TemperatureValue} degrees
change the temperature to {TemperatureValue}
set the temperature
change the temperature

기존 완료 규칙을 편집합니다. 다음 구성을 사용합니다.

구성 제안 값
조건 필수 매개 변수>TemperatureValue
actions 음성 응답 보내기>Ok, setting temperature to {TemperatureValue} degrees

SetAlarm 명령에 대한 매개 변수 구성

라는 DateTime매개 변수를 추가합니다. 다음 구성을 사용합니다.

설정 제안 값
이름 DateTime
Required 선택한 상태
필수 매개 변수에 대한 응답 간단한 편집기>For what time?
Type DateTime
날짜 기본값 날짜가 누락된 경우 오늘을 사용합니다.
시간 기본값 시간이 누락된 경우 하루의 시작을 사용합니다.

참고 항목

이 문서에서는 주로 String, Number 및 DateTime 매개 변수 형식을 사용합니다. 지원되는 모든 매개 변수 형식 및 해당 속성 목록은 사용자 지정 명령 개념 및 정의를 참조 하세요.

예제 발화를 편집합니다. 다음 값을 사용합니다.

set an alarm for {DateTime}
set alarm {DateTime}
alarm for {DateTime}

기존 완료 규칙을 편집합니다. 다음 구성을 사용합니다.

설정 제안 값
actions 음성 응답 보내기>Ok, alarm set for {DateTime}

다른 명령과 관련된 발언을 사용하여 세 가지 명령을 함께 테스트합니다. (다른 명령 간에 전환할 수 있습니다.)

  • 입력: 알람 설정
  • 출력: 몇 시간 동안?
  • 입력: TV 켜기
  • 출력: 확인, TV 켜기
  • 입력: 알람 설정
  • 출력: 몇 시간 동안?
  • 입력: 오후 5시
  • 출력: 확인, 알람 설정 2020-05-01 17:00:00

명령 매개 변수에 구성 추가

이 섹션에서는 다음을 비롯한 고급 매개 변수 구성에 대해 자세히 알아봅니다.

  • 매개 변수 값이 사용자 지정 명령 애플리케이션 외부에서 정의된 집합에 속할 수 있는 방법입니다.
  • 매개 변수 값에 유효성 검사 절을 추가하는 방법

매개 변수를 외부 카탈로그 엔터티로 구성

사용자 지정 명령 기능을 사용하면 웹 엔드포인트를 통해 호스트되는 외부 카탈로그를 참조하도록 문자열 형식 매개 변수를 구성할 수 있습니다. 따라서 사용자 지정 명령 애플리케이션을 편집하지 않고도 외부 카탈로그를 독립적으로 업데이트할 수 있습니다. 이 방법은 카탈로그 항목이 많은 경우에 유용합니다.

명령에서 SubjectDevice 매개 변수를 TurnOnOff 다시 사용합니다. 이 매개 변수의 현재 구성은 내부 카탈로그에서 미리 정의된 입력 허용입니다. 이 구성은 매개 변수 구성의 고정 디바이스 목록을 나타냅니다. 이 콘텐츠를 독립적으로 업데이트할 수 있는 외부 데이터 원본으로 이동합니다.

이 콘텐츠를 이동하려면 먼저 새 웹 엔드포인트를 추가합니다. 왼쪽 창에서 웹 엔드포인트 섹션으로 이동합니다. 새 웹 엔드포인트 URL을 추가합니다. 다음 구성을 사용합니다.

설정 제안 값
이름 getDevices
URL <Your endpoint of getDevices.json>
방법 GET

그런 다음, 제어할 수 있는 디바이스를 나열하는 JSON 파일을 반환하는 웹 엔드포인트를 구성하고 호스트합니다. 웹 엔드포인트는 다음 예제와 같이 형식이 지정된 JSON 파일을 반환해야 합니다.

{
    "fan" : [],
    "refrigerator" : [
        "fridge"
    ],
    "lights" : [
        "bulb",
        "bulbs",
        "light",
        "light bulb"
    ],
    "tv" : [
        "telly",
        "television"
        ]
}

다음으로 SubjectDevice 매개 변수 설정 페이지로 이동합니다. 다음 속성을 설정합니다.

설정 제안 값
Configuration 외부 카탈로그의 미리 정의된 입력 허용
카탈로그 엔드포인트 getDevices
방법 GET

그런 다음 저장을 선택합니다.

Important

왼쪽 창의 웹 엔드포인트 섹션에 웹 엔드포인트가 설정되어 있지 않으면 외부 카탈로그의 입력을 허용하도록 매개 변수를 구성하는 옵션이 표시되지 않습니다.

학습선택하여 사용해 보세요. 학습이 완료되면 테스트를 선택하고 몇 가지 상호 작용을 시도합니다.

  • 입력: 켜기
  • 출력: Which device do you want to control?
  • 입력: 조명
  • 출력: 확인, 조명 켜기

참고 항목

이제 웹 엔드포인트에서 호스트되는 모든 디바이스를 제어할 수 있습니다. 그러나 새 변경 내용을 테스트한 다음 애플리케이션을 다시 게시하도록 애플리케이션을 학습시켜야 합니다.

매개 변수에 유효성 검사 추가

유효성 검사는 매개 변수 값에 대한 제약 조건을 구성할 수 있는 특정 매개 변수 형식에 적용되는 구문입니다. 값이 제약 조건에 속하지 않는 경우 수정하라는 메시지가 표시됩니다. 유효성 검사 구문을 확장하는 매개 변수 형식 목록은 사용자 지정 명령 개념 및 정의를 참조 하세요.

명령을 사용하여 유효성 검사를 테스트합니다 SetTemperature . 매개 변수에 대한 Temperature 유효성 검사를 추가하려면 다음 단계를 사용합니다.

  1. 왼쪽 창에서 SetTemperature 명령을 선택합니다.

  2. 가운데 창에서 Temperature를 선택합니다.

  3. 오른쪽 창에서 유효성 검사 추가를 선택합니다.

  4. 유효성 검사 창에서 다음 표처럼 유효성 검사를 구성합니다. 다음으로 만들기를 선택합니다.

    매개 변수 구성 제안 값 설명
    최소 값 60 숫자 매개 변수의 경우 이 매개 변수가 가정할 수 있는 최소값입니다.
    최댓값 80 숫자 매개 변수인 경우 이 매개 변수가 가정할 수 있는 최댓값입니다.
    오류 응답 간단한 편집기>첫 번째 변형>Sorry, I can only set temperature between 60 and 80 degrees. What temperature do you want? 유효성 검사에 실패할 경우 새 값을 요청하는 프롬프트

    Screenshot showing how to add a range validation.

오른쪽 창 맨 위에 있는 학습 아이콘을 선택하여 시도해 봅니다. 학습이 완료되면 테스트를 선택합니다. 몇 가지 상호 작용을 시도합니다.

  • 입력: Set the temperature to 72 degrees
  • 출력: Ok, setting temperature to 72 degrees
  • 입력: 온도를 45도로 설정
  • 출력: 죄송합니다. 60도에서 80도 사이의 온도만 설정할 수 있습니다.
  • 입력: 대신 72도로 만들기
  • 출력: Ok, setting temperature to 72 degrees

상호 작용 규칙 추가

상호 작용 규칙은 특정 또는 복잡한 상황을 처리하는 추가 규칙입니다. 사용자 고유의 상호 작용 규칙을 자유롭게 작성할 수 있지만 이 예제에서는 다음 시나리오에 대한 상호 작용 규칙을 사용합니다.

  • 명령 확인
  • 명령에 1단계 수정 추가

상호 작용 규칙에 대한 자세한 내용은 사용자 지정 명령 개념 및 정의를 참조 하세요.

명령에 확인 추가

확인을 추가하려면 이 명령을 사용합니다 SetTemperature . 확인을 위해 다음 단계를 사용하여 상호 작용 규칙을 만듭니다.

  1. 왼쪽 창에서 SetTemperature 명령을 선택합니다.

  2. 가운데 창에서 추가를 선택하여 상호 작용 규칙을 추가합니다. 그런 다음 상호 작용 규칙>확인 명령을 선택합니다.

    이 작업은 세 가지 상호 작용 규칙을 추가합니다. 이러한 규칙은 사용자에게 알람의 날짜 및 시간을 확인하도록 요청합니다. 이러한 규칙은 다음 순서에 대한 확인(예 또는 아니요)이 필요합니다.

    1. 다음 구성을 사용하여 명령 확인 상호 작용 규칙을 수정합니다.

      1. 이름을 확인 온도변경합니다.
      2. 조건 모든 필수 매개 변수 가 이미 설정되어 있습니다.
      3. 새 작업을 추가합니다(형식>음성 응답 보내기>Are you sure you want to set the temperature as {TemperatureValue} degrees?).
      4. Expectations 섹션에서 사용자의 예상 확인 기본값을 그대로 둡니다.

      Screenshot showing how to create the required parameter response.

    2. 성공적인 확인을 처리하도록 확인 성공 상호 작용 규칙을 수정합니다(사용자가 '예'라고 말함).

      1. 이름을 온도 확인 성공함으로 바꿉니다.
      2. 기존 확인이 성공한 상태를 그대로 둡니다.
      3. 새 조건을 추가합니다(형식>필수 매개 변수>TemperatureValue).
      4. 기본 실행 후 상태 값을 실행 완료 규칙으로 둡니다.
    3. 확인이 거부될 때 시나리오를 처리하도록 확인 거부 상호 작용 규칙을 수정합니다(사용자가 아니요).

      1. 이름을 온도 확인 거부됨으로 바꿉니다.
      2. 기존 조건 확인 거부됨을 그대로 둡니다.
      3. 새 조건을 추가합니다(형식>필수 매개 변수>TemperatureValue).
      4. 새 작업을 추가합니다(형식>음성 응답 보내기>No problem. What temperature then?).
      5. 기본 실행 후 상태 값을 사용자의 입력 대기로 변경합니다.

Important

이 문서에서는 기본 제공 확인 기능을 사용합니다. 상호 작용 규칙을 하나씩 수동으로 추가할 수도 있습니다.

학습을 선택하여 변경해 보세요. 학습이 완료되면 테스트를 선택합니다.

  • 입력: 온도를 80도로 설정
  • 출력: 온도를 80도로 설정하시겠습니까?
  • 입력: No
  • 출력: 문제 없습니다. 그 때 어떤 온도?
  • 입력: 72도
  • 출력: 온도를 72도로 설정하시겠습니까?
  • 입력: Yes
  • 출력: OK, setting temperature to 72 degrees

명령에서 수정 구현

이 섹션에서는 1단계 수정을 구성합니다. 이 수정은 처리 작업이 실행된 후에 사용됩니다. 또한 명령이 아직 처리되지 않은 경우 기본적으로 수정을 사용하도록 설정하는 방법의 예를 볼 수 있습니다. 명령이 완료되지 않은 경우 수정을 추가하려면 새 매개 변수 AlarmTone를 추가합니다.

왼쪽 창에서 SetAlarm 명령을 선택합니다. 그런 다음 새 매개 변수 AlarmTone을 추가합니다.

  • 이름>AlarmTone
  • 형식>문자열
  • 기본값>차임
  • 구성>내부 카탈로그의 미리 정의된 입력 값 허용
  • 미리 정의된 입력 값>임, 징글에코 (이러한 값은 미리 정의된 개별 입력입니다.)

다음으로, DateTime 매개 변수대한 응답을 {AlarmTone}으로 톤으로 알람을 설정할 준비가 되도록 업데이트합니다. 몇 시간 동안?. 그런 다음, 다음과 같이 완료 규칙을 수정합니다.

  1. 기존 완료 규칙 ConfirmationResponse를 선택합니다.
  2. 오른쪽 창에서 기존 작업을 마우스로 가리키고 편집을 선택합니다.
  3. 음성 응답을 .로 업데이트합니다 OK, alarm set for {DateTime}. The alarm tone is {AlarmTone}.

Important

진행 중인 명령에서 명시적 구성 없이 알람 톤이 변경 될 수 있습니다. 예를 들어 명령이 아직 완료되지 않은 경우 변경할 수 있습니다. 명령이 아직 처리되지 않은 경우 턴 번호에 관계없이 모든 명령 매개 변수에 대해 기본적으로 수정이 사용됩니다.

명령이 완료되면 수정 구현

사용자 지정 명령 플랫폼에서는 명령이 완료된 경우에도 한 단계씩 수정할 수 있습니다. 이 기능은 기본적으로 사용되지 않습니다. 명시적으로 구성해야 합니다.

다음 단계를 사용하여 1단계 수정을 구성합니다.

  1. SetAlarm 명령에서 이전 업데이트 명령 형식의 상호 작용 규칙을 추가하여 이전에 설정한 경보를 업데이트합니다. 상호 작용 규칙의 이름을 이전 경보 업데이트로 바꿉니다.
  2. 기본 조건을 그대로 둡니다. 이전 명령을 업데이트해야 합니다.
  3. 새 조건을 추가합니다. 필수 매개 변수>DateTime을 입력>합니다.
  4. 새 작업 추가: 음성 보내기 응답>입력>단순 편집기가>이전 알람 시간을 {DateTime}으로 업데이트합니다.
  5. 명령이 완료되면 기본 실행 후 상태 값을 그대로 둡니다.

학습을 선택하여 변경해 보세요. 학습이 완료되기를 기다린 다음 테스트를 선택합니다.

  • 입력: 알람을 설정합니다.
  • 출력: 벨소리로 어조로 알람을 설정할 준비가 완료되었습니다. 몇 시간 동안?
  • 입력: 내일 오전 9시에 징글로 음색으로 알람을 설정합니다.
  • 출력: OK, 알람이 설정됩니다 2020-05-21 09:00:00. 알람 톤은 징글입니다.
  • 입력: No, 8 am.
  • 출력: 이전 경보 시간을 2020-05-29 08:00으로 업데이트합니다.

참고 항목

실제 애플리케이션에서는 이 수정 규칙의 작업 섹션에서 다시 클라이언트에 활동을 보내거나 HTTP 엔드포인트를 호출하여 시스템의 알람 시간을 업데이트해야 합니다. 이 작업은 경보 시간 업데이트에 대한 책임만 있어야 합니다. 명령의 다른 특성에 대해서는 책임을 지지 않습니다. 이 경우 해당 특성은 알람 톤이 됩니다.

음성 응답을 위한 언어 생성 템플릿 추가

LG(언어 생성) 템플릿을 사용하면 클라이언트에 전송된 응답을 사용자 지정할 수 있습니다. 응답에 분산을 도입합니다. 다음을 사용하여 언어 생성을 달성할 수 있습니다.

  • 언어 생성 템플릿.
  • 적응 식입니다.

사용자 지정 명령 템플릿은 Bot Framework의 LG 템플릿을 기반으로 합니다. 사용자 지정 명령 기능은 (매개 변수 또는 작업의 음성 응답을 위해) 필요할 때 새 LG 템플릿을 만들기 때문에 LG 템플릿의 이름을 지정할 필요가 없습니다.

따라서 다음과 같이 템플릿을 정의할 필요가 없습니다.

   # CompletionAction
   - Ok, turning {OnOff} the {SubjectDevice}
   - Done, turning {OnOff} the {SubjectDevice}
   - Proceeding to turn {OnOff} {SubjectDevice}

대신 다음과 같이 이름 없이 템플릿의 본문을 정의할 수 있습니다.

Screenshot showing a template editor example.

이러한 변경으로 인해 클라이언트에 전송되는 음성 응답이 변경됩니다. 발화의 경우 제공된 옵션 중에서 해당하는 음성 응답이 임의로 선택됩니다.

LG 템플릿을 활용하여 적응형 식을 사용하여 명령에 대한 복잡한 음성 응답을 정의할 수도 있습니다. 자세한 내용은 LG 템플릿 형식참조하세요.

기본적으로 사용자 지정 명령 기능은 다음과 같은 사소한 차이점과 함께 모든 기능을 지원합니다.

  • LG 템플릿에서는 엔터티가 ${entityName}으로 표시됩니다 사용자 지정 명령 기능은 엔터티를 사용하지 않습니다. 그러나 표현이나 {parameterName} 표현을 사용하여 매개 변수를 ${parameterName} 변수로 사용할 수 있습니다.
  • .lg 파일을 직접 편집하지 않으므로 사용자 지정 명령 기능은 템플릿 컴퍼지션 및 확장을 지원하지 않습니다. 자동으로 생성된 템플릿의 응답만 편집합니다.
  • 사용자 지정 명령 기능은 LG에서 삽입하는 사용자 지정 함수를 지원하지 않습니다. 미리 정의된 함수가 지원됩니다.
  • 사용자 지정 명령 기능은 다음과 같은 strictreplaceNulllineBreakStyle옵션을 지원하지 않습니다.

TurnOnOff 명령에 템플릿 응답 추가

새 매개 변수를 TurnOnOff 추가하도록 명령을 수정합니다. 다음 구성을 사용합니다.

설정 제안 값
이름 SubjectContext
Required 선택 취소
Type String
기본값 all
Configuration 내부 카탈로그의 미리 정의된 입력 값 허용
미리 정의된 입력 값 room, , bathroomall

완료 규칙 수정

기존 완료 규칙 ConfirmationResponse작업 섹션을 편집합니다. 편집 작업 창에서 템플릿 편집기로 전환합니다. 텍스트를 다음 예제로 바꿉니다.

- IF: @{SubjectContext == "all" && SubjectDevice == "lights"}
    - Ok, turning all the lights {OnOff}
- ELSEIF: @{SubjectDevice == "lights"}
    - Ok, turning {OnOff} the {SubjectContext} {SubjectDevice}
- ELSE:
    - Ok, turning the {SubjectDevice} {OnOff}
    - Done, turning {OnOff} the {SubjectDevice}

다음 입력 및 출력을 사용하여 애플리케이션을 학습하고 테스트합니다. 응답의 변형을 확인합니다. 변형은 템플릿 값의 여러 대안과 적응형 식을 사용하여 만들어집니다.

  • 입력: turn on the tv
  • 출력: 확인, TV 켜기
  • 입력: turn on the tv
  • 출력: 완료, TV 켜짐
  • 입력: 조명 끄기
  • 출력: Ok, turning all the lights off
  • 입력: 방 조명 끄기
  • 출력: 확인, 방 조명 끄기

사용자 지정 음성 사용

사용자 지정 명령 응답을 사용자 지정하는 또 다른 방법은 출력 음성을 선택하는 것입니다. 다음 단계를 사용하여 기본 음성을 사용자 지정 음성으로 전환합니다.

  1. 사용자 지정 명령 애플리케이션의 왼쪽 창에서 설정 선택합니다.
  2. 가운데 창에서 사용자 지정 음성을 선택합니다.
  3. 표에서 사용자 지정 음성 또는 공용 음성을 선택합니다.
  4. 저장을 선택합니다.

Screenshot showing sample sentences and parameters.

참고 항목

공용 음성의 경우 신경망 유형은 특정 지역에만 사용할 수 있습니다. 자세한 내용은 Speech Service 지원 지역을 참조 하세요.

사용자 지정 음성 프로젝트 페이지에서 사용자 지정 음성만들 수 있습니다. 자세한 내용은 사용자 지정 음성 시작을 참조 하세요.

이제 애플리케이션이 기본 음성 대신 선택한 음성으로 응답합니다.

다음 단계