다음을 통해 공유


Word 목록, 인식기 컨텍스트 및 Factoids 이해

모든 애플리케이션 사전은 WordList 개체를 사용하여 구현됩니다. RecognizerContext 개체는 부분적으로 해당 개체의 WordList 속성을 통해 인식을 관리합니다. RecognizerContext 개체는 단어 목록을 인식기로 전달합니다. RecognizerContext 개체의 WordList 속성을 설정하여 애플리케이션의 RecognizerContext에서 애플리케이션 사전을 사용하도록 설정할 수 있습니다. 전체 애플리케이션에서 단어 목록을 사용할 수 있도록 하려면 애플리케이션에 있는 모든 RecognizerContext 개체의 WordList 속성을 설정해야 합니다.

인식기 수준에서 시스템 사전을 제외한 모든 사전이 단어 목록으로 구현됩니다. 그러나 인식기에서는 한 번에 하나의 활성 단어 목록만 가질 수 있습니다. 즉, 애플리케이션 사전과 사용자 사전을 동시에 활성화할 수 없습니다. 반면에 시스템 사전을 해제하는 factoid가 설정되지 않은 한 시스템 사전은 항상 사용할 수 있습니다.

사용자 사전은 사용자가 태블릿 PC에 추가한 단어 목록입니다. RecognizerContextWordList 속성이 설정되지 않은 경우 RecognizerContext는 사용자 사전을 단어 목록으로 인식기로 전달합니다. 그러나 RecognizerContext 개체의 WordList 속성이 설정되면 단어 목록이 사용자 사전 대신 인식기로 전달됩니다.

참고

WordList 속성을 설정하기 전에 RecognizerContext 개체의 Strokes 속성은 비어 있어야 합니다. Strokes 속성이 비어 있지 않으면 예외가 throw됩니다. Word가 RecognizerContext 개체에 할당된 후에는 단어를 단어 목록에 추가하면 안 됩니다.

 

RecognizerContext 개체에 factoid를 설정하면 인식기에서 애플리케이션 사전을 사용하는 방법에도 영향을 줍니다. 사전의 동작에 영향을 주는 팩토이드는 다음과 같습니다.

  • Wordlist
  • SystemDictionary
  • 없음

지금까지 애플리케이션 사전에 가장 유용한 팩토이드는 WordList factoid입니다. WordList factoid는 단어 목록에 있는 단어만 반환하는 쪽으로 인식기를 편향합니다. 이 factoid는 단어 목록을 제외한 다른 모든 사전을 해제합니다. WordList factoid가 설정되어 있고 인식기 컨텍스트에 단어 목록이 지정되지 않은 경우 사용자 사전이 단어 목록으로 사용됩니다.

예를 들어 특수 부품의 10개 이름 중 하나를 허용하는 필드를 사용하여 비행기 부품 애플리케이션을 디자인하는 경우 이러한 부품 이름만 포함하는 단어 목록을 만들 수 있습니다. 필드에 WordList factoid를 설정하면 해당 필드에 입력된 단어에 대한 인식이 크게 향상됩니다. 인식기가 시스템 사전의 단어와 단어 목록의 단어 중에서 선택할 필요가 없습니다.

SystemDictionary factoid는 시스템 사전만 사용하도록 설정합니다. None factoid는 모든 사전을 사용하지 않도록 설정합니다. 이러한 두 factoid는 특정 인스턴스에서 인식 정확도를 높이는 데 사용됩니다. 그러나 애플리케이션 사전을 사용하지 않도록 설정하기 때문에 애플리케이션 사전과 함께 거의 사용되지 않습니다.

factoids가 인식에 미치는 영향에 대한 자세한 내용은 컨텍스트를 사용하여 정확도 향상을 참조하세요.

SystemDictionaryNone factoids에 대한 자세한 내용은 버전 1에서 지원되는 Factoids를 참조하세요.