사용자 지정 문법 슬롯 유형 사용 - 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 태그도 포함되어 있습니다. 의미 론적 해석으로, 발언 “카드 번호 7 2 4 개”는 다음과 같은 객체를 반환합니다.

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

이 객체는 JSON 직렬화된 문자열로 반환됩니다.resolvedValues에 의해 반환되는 객체RecognizeText,RecognizeUtterance, 및StartConversation작업.

문법 슬롯 유형 추가

문법 슬롯 유형을 추가하려면

  1. S3 버킷에 슬롯 유형의 XML 정의를 업로드합니다. 버킷 이름과 파일 경로를 적어둡니다.

  2. 에 로그인합니다.AWS Management Console에서 Amazon Lex 콘솔을 엽니다.https://console.aws.amazon.com/lexv2/.

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

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

  5. 선택슬롯 유형 보기.

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

  7. 슬롯 유형에 이름을 지정한 다음Add.

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