VCD(음성 명령 정의) 요소 및 특성 v1.1
참고
소비자 및 기업용 Cortana Skills Kit 이러한 플랫폼을 기반으로 구축된 기술은 더 이상 사용되지 않습니다.
VCD(음성 명령 정의) 요소 및 특성 v1.2에서 최신 버전을 참조하세요.
인식 제약 조건을 지정하기 위해 VCD 파일에서 사용되는 XML 태그 요소 및 특성에 대한 참조 설명서입니다.
음성 명령을 사용하여 앱을 시작하고 실행할 작업 또는 명령을 지정합니다. 예를 들어 사용자가 시작 단추를 탭하고 "Contoso 위젯, 베스트 셀러 표시"라고 말하여 Contoso 위젯 앱을 시작하고 "베스트 셀러" 페이지로 이동할 수 있습니다.
요소 및 특성
XML 파일과 마찬가지로 VCD 파일은 XML 버전과 문자 인코딩을 모두 지정하는 XML 선언으로 시작해야 합니다.
<?xml version="1.0" encoding="utf-8"?>
루트 요소는 VoiceCommands 요소이며 해당 xmlns 특성은 대문자 없음으로 http://schemas.microsoft.com/voicecommands/1.1
설정해야 합니다. 이 스키마를 준수하는 예제는 Cortana Voice 명령 샘플을 참조하세요.
요소 | Description | |
---|---|---|
VoiceCommands | 필수 사항입니다. VCD 파일의 루트 요소입니다. 각각 단일 언어에 대한 음성 명령을 나타내는 1~15개의 CommandSet 요소를 포함합니다. | |
CommandSet | VoiceCommands 요소의 필수 자식 요소입니다. 앱이 필요한 xml:lang 특성에 지정된 언어로 수락하는 모든 음성 명령에 대한 컨테이너입니다. xml:lang 특성의 값은 VoiceCommand 문서에서 고유해야 하며, 음성 제어판에서 사용할 수 있는 언어에 해당하는 언어 이름 양식에 지정된 단일 특정 언어입니다. Name 특성은 선택 사항이며 임의의 문자열일 수 있습니다. 그러나 CommandSet 요소의 PhraseList를 프로그래밍 방식으로 참조하고 업데이트하려면 Name 특성이 필요합니다. CommandSet 요소에는 CommandPrefix(0 또는 1), 예제(정확히 1), Command(1~100), PhraseList 요소(0~10) 및 PhraseTopic 요소(0~10)가 포함됩니다. 이러한 자식 요소는 나열된 순서대로 발생해야 합니다. | |
CommandPrefix | CommandSet 요소의 선택적 자식 요소입니다. 있는 경우 는 CommandSet 요소의 첫 번째 자식 요소여야 합니다. 음성 명령을 제공할 때 사용자가 말할 수 있는 앱의 사용자에게 친숙한 이름을 지정합니다. 이는 이름이 길거나 발음하기 어려운 앱에 유용합니다. 다른 음성 지원 환경과 충돌하는 접두사를 사용하지 않습니다. | |
명령 | CommandSet 요소의 필수 자식 요소입니다. Name 특성을 사용합니다. 사용자가 말하기를 통해 시작할 수 있는 앱 작업과 사용자가 작업을 시작하기 위해 말할 수 있는 내용을 정의합니다. 각 Command 요소는 앱의 특정 페이지와 연결할 수 있습니다. 예제(정확히 1), ListenFor(1~10), 피드백(정확히 1) 및 Navigate(정확히 1)와 같은 필수 자식 요소가 포함되어 있습니다. 이러한 자식 요소는 나열된 순서대로 발생해야 합니다. |
|
예제 | CommandSet 요소와 Command 요소의 필수 자식입니다. 사용자가 CommandSet 전체 및 개별 명령에 대해 말할 수 있는 내용의 대표적인 예를 제공합니다. 이러한 예제는 휴대폰에서 내가 말할 수 있는 내용 화면을 보는 동안 사용자에게 표시됩니다. 이 화면은 사용자가 검색 단추를 누르고 "도움말" 또는 "무슨 말을 할 수 있나요?"라고 말하거나 자세히 보기를 탭할 때 나타납니다. 애플리케이션의 이름이나 접두사는 자동으로 처리되므로 예제에 포함되지 않아야 합니다. | |
ListenFor | Command 요소의 필수(1~10) 자식 요소입니다. 앱에서 이 명령에 대해 인식할 단어 또는 구를 포함합니다. 여기에는 {myList}, {myTopic}과 같이 중괄호로 묶인 ListenFor 요소에 표시되는 PhraseList(또는 PhraseTopic) 요소의 Label 특성에 대한 참조가 포함되거나 참조될 수 있습니다. ListenFor 요소의 콘텐츠를 인식하여 명령을 활성화할 수 있습니다. 선택 사항인 단어 또는 단어 주위에 대괄호를 사용합니다. 즉, 단어 또는 단어를 말할 수 있지만 일치에 필요하지는 않습니다. 과 같은 |
|
피드백 | Command 요소의 필수 자식 요소입니다. 명령이 인식될 때 사용자에게 표시되고 다시 읽을 텍스트를 지정합니다. Feedback 요소에 PhraseList(또는 PhraseTopic) 요소의 Label 특성에 대한 참조가 포함된 경우 포함하는 Command 요소의 모든 ListenFor 요소는 PhraseList(또는 PhraseTopic) 요소의 동일한 Label 특성도 참조해야 합니다. | |
이동 | Command 요소의 필수 자식 요소입니다. Target 특성은 선택 사항이며 일반적으로 앱이 시작될 때 탐색해야 하는 페이지를 지정하는 데 사용됩니다. "NavigationTarget" 키를 사용하여 SpeechRecognitionSemanticInterpretation.Properties 사전에서 Target 특성의 값(또는 Target 특성을 생략하는 경우 빈 문자열)을 가져올 수 있습니다. | |
PhraseList | CommandSet 요소의 선택적 자식입니다. 하나의 CommandSet 요소는 2,000개 이하의 Item 요소를 포함할 수 있으며, 2,000개의 Item 요소는 CommandSet의 모든 PhraseList 요소에서 결합된 총 제한입니다. 각 항목 은 PhraseList를 참조하는 명령을 시작하기 위해 인식할 수 있는 단어 또는 구를 지정합니다. 항목 콘텐츠는 애플리케이션 내에서 프로그래밍 방식으로 업데이트할 수 있습니다. PhraseList에는 ListenFor 또는 Feedback 요소 내부에 중괄호로 묶인 레이블 특성이 필요하며 PhraseList를 참조하는 데 사용됩니다. PhraseList에는 목록의 여러 항목이 동시에 인식될 때 이 PhraseList가 사용자 명확성을 생성할지 여부를 지정하는 선택적 Disambiguate 특성(기본값 true)이 있습니다. false이면 이 PhraseList 는 피드백 요소 내에서도 사용할 수 없으며 애플리케이션에 대한 매개 변수를 생성하지 않습니다. 이는 같은 말을 하는 다른 방법이지만 특정 작업이 필요하지 않은 구에 유용합니다. 앱에서 목록에서 어떤 구가 사용되었는지 알아보려면 PhraseList의 레이블과 동일한 값을 가진 키를 사용하여 SpeechRecognitionSemanticInterpretation.Properties 사전에 액세스할 수 있습니다. |
|
항목 | PhraseList 요소의 선택적 자식입니다. 명령을 시작하기 위해 인식할 수 있는 여러 단어 또는 구 중 하나입니다. CommandSet은 모든 자식 PhraseList 요소에서 2,000개 이하의 Item 요소를 포함할 수 있습니다. | |
PhraseTopic | CommandSet 요소의 선택적 자식입니다. 대용량 어휘 인식에 대한 토픽을 지정합니다. 이 항목에서는 단일(0 또는 1) 시나리오 특성과 시나리오에 대한 몇 가지(0~20) 주체 자식 요소를 지정할 수 있으며, 이는 달성된 인식의 관련성을 개선하는 데 사용될 수 있습니다. PhraseTopic에는 ListenFor 또는 Feedback 요소 내부에 중괄호로 묶인 레이블 특성이 필요하며 PhraseTopic을 참조하는 데 사용됩니다. Scenario 특성(기본값 "받아쓰기")은 PhraseTopic을 사용하여 음성 명령의 기본 음성 인식을 최적화하여 명령의 원하는 컨텍스트에 더 적합한 결과를 생성할 수 있는 이 PhraseTopic에 대해 원하는 시나리오를 지정합니다. 유효한 값은 "자연어", "검색", "짧은 메시지", "받아쓰기", "명령" 및 "양식 채우기"입니다. Subject 자식 요소는 PhraseTopic을 사용하여 음성 명령 내에서 음성 인식 결과의 관련성을 더욱 구체화하기 위해 부모 PhraseTopic의 Scenario 특성과 관련된 제목을 지정합니다. 주체는 제공된 순서대로 평가되며, 적절한 경우 나중에 지정한 과목은 이전에 지정한 과목을 제한합니다. 유효한 내부 텍스트 값은 "Date/Time", "Addresses", "City/State", "Person Names", "Movies", "Music" 및 "Phone Number"입니다. 예: 앱에서 PhraseTopic 참조로 표시되는 ListenFor 요소의 하위 집합에서 말하는 콘텐츠를 확인하려면 PhraseTopic의 레이블과 동일한 값을 가진 키를 사용하여 SpeechRecognitionSemanticInterpretation.Properties 사전에 액세스할 수 있습니다. |
중요
아래에 나열된 특수 문자를 중첩할 수 없습니다. 예를 들어 및 [{myPhraseList}]
와 같은 [[start] new game]
문은 사용할 수 없습니다.
특수 문자 | Description |
---|---|
{} | 참조할 PhraseList 또는 PhraseTopic의 Label 특성 값(예: {myList}, {myTopic})을 포함합니다. ListenFor 또는 Feedback 요소 내에서 사용됩니다. Feedback 요소의 PhraseList 또는 PhraseTopic 참조는 동일한 명령의 ListenFor 요소에 있는 해당 참조와 일치해야 합니다. |
[] | 묶은 단어 또는 구가 선택 사항임을 지정합니다. 묶은 단어나 구문은 말할 수 있지만 명령을 시작하기 위해 인식할 필요는 없습니다. 예를 들어 ListenFor 요소의 콘텐츠가 "[start] [begin] new game"인 경우 사용자는 "새 게임 시작" 또는 "새 게임 시작" 또는 "새 게임 시작"(또는 "새 게임 시작")을 말하여 명령을 시작할 수 있습니다. 대괄호로 묶인 각 요소는 독립적으로 선택 사항이지만 인식하려면 올바른 순서로 말해야 합니다. 따라서 "새 게임 시작" 예제에서는 "새 게임 시작"이 작동하지만 "새 게임 시작"은 선언된 순서 때문에 작동하지 않습니다. |
추가 정보
Windows.ApplicationModel.VoiceCommands
샘플