Noções básicas sobre listas de Word, contexto do reconhecedor e factoids

Todos os dicionários de aplicativos são implementados usando o objeto WordList . O objeto RecognizerContext gerencia o reconhecimento, em parte por meio da propriedade WordList desse objeto. O objeto RecognizerContext passa a lista de palavras para o reconhecedor. Você pode habilitar um dicionário de aplicativos em qualquer RecognizerContext em seu aplicativo definindo a propriedade WordList do objeto RecognizerContext . Para disponibilizar a lista de palavras para todo o aplicativo, você deve definir a propriedade WordList de cada objeto RecognizerContext no aplicativo.

No nível do reconhecedor, todos os dicionários, exceto o dicionário do sistema, são implementados como listas de palavras. No entanto, o reconhecedor só pode ter uma lista de palavras ativa por vez. Isso significa que você não pode ter um dicionário de aplicativos e o dicionário do usuário ativos ao mesmo tempo. Por outro lado, o dicionário do sistema está sempre disponível, a menos que um factoid seja definido que desative o dicionário do sistema.

O dicionário do usuário é a lista de palavras que o usuário adicionou ao tablet. Se a propriedade WordList do RecognizerContext não estiver definida, o RecognizerContext passará o dicionário de usuários como uma lista de palavras para o reconhecedor. No entanto, se a propriedade WordList do objeto RecognizerContext estiver definida, a lista de palavras será passada para o reconhecedor em vez do dicionário do usuário.

Observação

A propriedade Strokes do objeto RecognizerContext deve estar vazia antes de definir a propriedade WordList . Se a propriedade Strokes não estiver vazia, uma exceção será gerada. As palavras nunca devem ser adicionadas a uma lista de palavras depois que ela tiver sido atribuída a um objeto RecognizerContext .

 

Definir um factoid no objeto RecognizerContext também afeta como os dicionários de aplicativos são usados pelo reconhecedor. Os factóides que afetam o comportamento dos dicionários são:

  • Wordlist
  • SystemDictionary
  • Nenhum

De longe, o factóide mais útil para dicionários de aplicativos é o factoid WordList . O factóide WordList inclina o reconhecedor para retornar apenas as palavras encontradas na lista de palavras. Esse factoid desativa todos os outros dicionários, exceto a lista de palavras. Se o factoid WordList estiver definido e nenhuma lista de palavras for especificada no contexto do reconhecedor, o dicionário de usuários será usado como a lista de palavras.

Por exemplo, se você estiver projetando um aplicativo de peças de avião com um campo que aceita um dos dez nomes de partes especializadas, poderá criar uma lista de palavras que contenha apenas esses nomes de partes. Definir o factoid WordList para o campo melhora consideravelmente o reconhecimento das palavras inseridas nesse campo. O reconhecedor não precisa escolher entre palavras no dicionário do sistema e palavras na lista de palavras.

O factoid SystemDictionary habilita apenas o dicionário do sistema. O factoid None desabilita todos os dicionários. Esses dois factoids são usados para aumentar a precisão do reconhecimento em determinadas instâncias. No entanto, como eles desabilitam dicionários de aplicativos, eles raramente são usados em conjunto com dicionários de aplicativos.

Para obter mais informações sobre como os factóides afetam o reconhecimento, consulte Usando o contexto para melhorar a precisão.

Para obter mais informações sobre os factoids SystemDictionary e None , consulte Factoids com suporte da versão 1.