기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
문법 슬롯 유형을 사용하면 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 1”이라는 문구는 다음과 같은 객체를 반환합니다.
{
"value": "7241",
"card_type": "premium"
}
이 객체는 RecognizeText, RecognizeUtterance 및 StartConversation 작업에서 반환되는 resolvedValues
객체에서 JSON 직렬화 문자열로 반환됩니다.
문법 슬롯 유형 추가
문법 슬롯 유형을 추가하려면
-
슬롯 유형의 XML 정의를 S3 버킷에 업로드합니다. 버킷 이름과 파일 경로를 메모해 두세요.
참고
최대 파일 크기는 100KB입니다.
-
에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/lex/
Amazon Lex 콘솔을 엽니다. -
왼쪽 메뉴에서 봇을 선택한 다음 문법 슬롯 유형을 추가할 봇을 선택합니다.
-
언어 보기를 선택한 다음 문법 슬롯 유형을 추가할 언어를 선택합니다.
-
슬롯 유형 보기를 선택합니다.
-
슬롯 유형 추가를 선택한 다음 문법 슬롯 유형 추가를 선택합니다.
-
슬롯 유형에 이름을 지정한 다음 추가를 선택합니다.
-
정의 파일이 포함된 S3 버킷을 선택하고 파일의 경로를 입력합니다. 저장 슬롯 유형을 선택합니다.