사용자 지정 문법 슬롯 유형 사용 - Amazon Lex

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 지정 문법 슬롯 유형 사용

문법 슬롯 유형을 사용하면 SRGS 사양에 따라 XML 형식으로 자신의 문법을 작성하여 대화에서 정보를 수집할 수 있습니다. Amazon Lex V2는 문법에 지정된 규칙과 일치하는 발화를 인식합니다. 문법 파일 내에서 ECMAScript 태그를 사용하여 의미론적 해석 규칙을 제공할 수도 있습니다. 그러면 Amazon Lex는 태그에 설정된 속성을 일치하는 결과가 나오면 해결된 값으로 반환합니다.

영어 (호주), 영어 (영국) 및 영어 (미국) 로케일에서만 문법 슬롯 유형을 생성할 수 있습니다.

문법 슬롯 유형에는 두 부분이 있습니다. 첫 번째는 SRGS 사양 형식을 사용하여 작성된 문법 자체입니다. 문법은 사용자의 말을 해석합니다. 문법에 따라 발화가 받아들여지면 일치하는 것으로 간주되고, 그렇지 않으면 거부됩니다. 발화가 일치하면 스크립트에 전달됩니다 (있는 경우).

두 번째는 문법 슬롯 유형의 일부입니다. 슬롯 유형은 입력을 슬롯 유형에서 반환된 확인 값으로 변환하는 ECMAScript로 작성된 선택적 스크립트입니다. 예를 들어 스크립트를 사용하여 음성을 숫자로 변환할 수 있습니다. ECMAScript 명령문은 <tag>요소에 포함되어 있습니다.

다음 예제는 Amazon Lex V2에서 허용하는 유효한 문법을 보여주는 SRGS 사양에 따른 XML 형식입니다. 카드 번호를 받아들이는 문법 슬롯 유형을 정의하고 일반 계정용인지 프리미엄 계정용인지를 결정합니다. 적절한 구문에 대한 자세한 내용은문법 정의스크립트 포맷 항목을 참조하십시오.

<grammar version="1.0" xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-US" tag-format="semantics/1.0" root="card_number"> <rule id="card_number" scope="public"> <item repeat="0-1"> card number </item> <item> seven <tag>out.value = "7";</tag> </item> <item> <one-of> <item> two four one <tag> out.value = out.value + "241"; out.card_type = "premium"; </tag> </item> <item> zero zero one <tag> out.value = out.value + "001"; out.card_type = "regular";</tag> </item> </one-of> </item> </rule> </grammar>

위의 문법에서는 7241 또는 7001의 두 가지 유형의 카드 번호만 사용할 수 있습니다. 이 두 가지 모두 선택적으로 “카드 번호”를 접두사로 붙일 수 있습니다. 시맨틱 해석에 사용할 수 있는 ECMAScript 태그도 포함되어 있습니다. 의미론적 해석을 통해 “카드 넘버 세븐 투 넷 원”이라는 말은 다음과 같은 객체를 반환합니다.

{ "value": "7241", "card_type": "premium" }

이 객체는 RecognizeTextRecognizeUtterance, 및 StartConversation연산에 의해 반환된resolvedValues 객체에 JSON 직렬화된 문자열로 반환됩니다.

문법 슬롯 유형 추가

문법 슬롯 유형을 추가하려면
  1. 슬롯 유형의 XML 정의를 S3 버킷에 업로드합니다. 버킷 이름과 파일 경로를 적어 둡니다.

    참고

    최대 파일 크기는 100KB입니다.

  2. 에 로그인하고 https://console.aws.amazon.com/lex/ 보다AWS Management Console 크고 과 같아야 하며 Amazon Lex 콘솔을 엽니다.

  3. 왼쪽 메뉴에서 Bots를 선택한 다음 문법 슬롯 유형을 추가할 봇을 선택합니다.

  4. 언어 보기를 선택한 다음 문법 슬롯 유형을 추가할 언어를 선택합니다.

  5. 슬롯 유형 보기를 선택합니다.

  6. 슬롯 유형 추가를 선택한 다음 문법 슬롯 유형 추가를 선택합니다.

  7. 슬롯 유형에 이름을 지정한 다음 [Add] 를 선택합니다.

  8. 정의 파일이 포함된 S3 버킷을 선택하고 파일 경로를 입력합니다. 슬롯 유형 저장을 선택합니다.