Estrutura de Rede do Reconhecedor
Os reconhecedores criados para uso com o Windows Vista e o Windows XP Tablet PC Edition usam um conjunto de estruturas, cada uma delas chamada de rede, para passar os resultados de reconhecimento de volta para bibliotecas da plataforma tablet PC. Em seguida, a plataforma Tablet PC copia as informações nessas estruturas para o objeto IInkRecognitionResult , a coleção IInkRecognitionAlternates e o objeto IInkRecognitionAlternate .
Um ponteiro para a rede deve ser retornado pelo reconhecedor quando a plataforma chama a função GetLatticePtr no identificador HRECOCONTEXT .
Esta seção descreve a estrutura de rede em detalhes. Para obter uma visão geral de reconhecedores e conceitos relacionados, consulte Sobre o reconhecimento de manuscrito.
A necessidade de uma rede
Um reconhecedor pode encontrar várias maneiras de dividir um conjunto de traços de tinta em segmentos de reconhecimento. O que o reconhecedor usa como um segmento de reconhecimento depende do tipo de reconhecedor. Os reconhecedores de idioma inglês normalmente usam palavras como o segmento de reconhecimento. Outros reconhecedores podem usar caracteres, formas ou gestos como o segmento de reconhecimento. A flexibilidade das estruturas de rede permite o gerenciamento lógico do grande número de resultados de reconhecimento que podem ser combinados em relações complexas.
Internamente, os reconhecedores usam uma rede para manter unidades de reconhecimento básicas para um determinado pedaço de tinta. A rede também contém a pontuação ou o nível de confiança do resultado combinado. Além disso, a rede armazena o mapeamento de segmentos para os traços de tinta originais.
As estruturas de rede são definidas no arquivo de cabeçalho RecTypes.h. As estruturas de rede incluem as seguintes estruturas:
Componentes de rede
Os exemplos a seguir usam os traços para a palavra "juntos", conforme mostrado na imagem a seguir. Nos exemplos, os segmentos são avaliados como uma ou mais palavras. Os números representam os traços individuais no segmento que está sendo avaliado. Observe que cada um dos caracteres "t" contém dois traços.
Uma rede é composta por uma ou mais colunas, uma para cada segmento. Cada coluna, por sua vez, contém um ou mais elementos. Um elemento contém uma alternativa de reconhecimento discreto. Para obter mais informações sobre colunas, consulte a estrutura RECO_LATTICE_COLUMN . Para obter mais informações sobre elementos, consulte a estrutura RECO_LATTICE_ELEMENT .
O reconhecedor pode retornar um único segmento ao avaliar o exemplo de tinta mostrado no exemplo anterior. Nesse caso, a rede contém uma única coluna com um único elemento.
Um exemplo mais complexo se apresenta quando o reconhecedor avalia a amostra de tinta e apresenta vários segmentos e várias alternativas para cada segmento.
O número de alternativas de reconhecimento pode ser impressionante, mesmo para uma pequena amostra de tinta. Por exemplo, "t o g e t h e r" pode produzir os seguintes resultados:
- "para obtê-la" (mais alternativas para cada palavra)
- "para reunir" (mais alternativas para cada palavra)
- "to got her" (mais alternativas para cada palavra)
- "juntos" (mais alternativas para a palavra)
Nesse caso, um reconhecedor pode criar a seguinte estrutura de rede.
Observação
Cada coluna compartilha a mesma ordem de traço porque todas se referem à mesma coleção InkStrokes .