Поделиться через


Структура решетки распознавателя

Распознавтели, созданные для windows Vista и Windows XP Tablet PC Edition, используют набор структур, каждая из которых называется решеткой, для передачи результатов распознавания обратно в библиотеки платформы планшетного компьютера. Затем платформа планшетного КОМПЬЮТЕРА копирует сведения из этих структур в объект IInkRecognitionResult , коллекцию IInkRecognitionAlternates и объект IInkRecognitionAlternate .

Если платформа вызывает функцию GetLatticePtr в дескрипторе HRECOCONTEXT , распознаватель должен возвращать указатель на решетку.

В этом разделе подробно описывается структура решетки. Общие сведения о распознавателях и связанных понятиях см. в статье О распознавании рукописного ввода.

Потребность в решетке

Распознаватель может найти несколько способов разбиения набора росчерков рукописного ввода на сегменты распознавания. То, что распознаватель использует в качестве сегмента распознавания, зависит от типа распознавателя. Распознаватели английского языка обычно используют слова в качестве сегмента распознавания. Другие распознаватели могут использовать символы, фигуры или жесты в качестве сегмента распознавания. Гибкость решетчатых структур позволяет логически управлять большим количеством результатов распознавания, которые можно объединить в сложных отношениях.

Внутри распознаватели используют решетку для хранения базовых единиц распознавания для данного фрагмента рукописного ввода. Решетка также содержит оценку или уровень достоверности объединенного результата. Кроме того, в решетке хранится сопоставление сегментов с исходными росчерками рукописного ввода.

Структуры решетки определяются в файле заголовка RecTypes.h. Решетчатые структуры включают следующие структуры:

Компоненты решетки

В следующих примерах используются штрихи для слова "вместе", как показано на следующем рисунке. В примерах сегменты оцениваются как одно или несколько слов. Числа представляют отдельные штрихи в вычисляемом сегменте. Обратите внимание, что каждый из символов "t" содержит два росчерка.

штрихи для слова

Решетка состоит из одного или нескольких столбцов, по одному для каждого сегмента. Каждый столбец, в свою очередь, содержит один или несколько элементов. Элемент содержит альтернативный вариант дискретного распознавания. Дополнительные сведения о столбцах см. в разделе структура RECO_LATTICE_COLUMN . Дополнительные сведения об элементах см . в RECO_LATTICE_ELEMENT структуре.

Распознаватель может вернуть один сегмент при оценке примера рукописного ввода, показанного в предыдущем примере. В этом случае решетка содержит один столбец с одним элементом.

Более сложный пример представляется, когда распознаватель оценивает выборку рукописного ввода и предлагает несколько сегментов и несколько вариантов для каждого сегмента.

Количество альтернативных вариантов распознавания может быть ошеломляющим, даже для небольшой выборки рукописного ввода. Например, "t o g e t h e r" может дать следующие результаты:

  • "чтобы получить ее" (плюс варианты для каждого слова)
  • "to gather" (плюс варианты для каждого слова)
  • "чтобы получить ее" (плюс варианты для каждого слова)
  • "вместе" (плюс варианты для слова)

В этом случае распознаватель может создать следующую структуру решетки.

Структура решетки для слова

Примечание

Каждый столбец имеет одинаковый порядок росчерков, так как все они ссылаются на одну и ту же коллекцию InkStrokes .