TrainContext
- 0 2.0
Provides the recognizer a previous recognition result that may contain errors,
plus the correct interpretation of the raw data.
Note This function is provided only for compatibility with version 1.0 of the Pen
API and will not be supported in future versions. Use
TrainHREC instead.
BOOL TrainContext( LPRCRESULT lprcresult, LPSYE lpsye, int csye, LPSYC lpsyc, int csyc )
Parameters
lprcresult
Address of the
RCRESULT structure containing the handle to the pen data that contains the raw data
and the recognizer's original interpretation of that data. This parameter cannot
be NULL.
lpsye
Address of an array of
SYE structures that specify the correct interpretation of the raw data. The
values of the
iSyc members of these structures index the
SYC structures pointed to be the
lpsyc parameter.
csye
The number of
SYE structures in the
lpsye array.
lpsyc
An array of
SYC structures that establish the mapping between the raw data and the characters
in the
hpendata member of the structure pointed to by the
lprcresult parameter.
csyc
The number of
SYC structures in the
lpsyc array.
Return Value
Returns TRUE if the ink is accepted for training; otherwise, returns FALSE.
Comments
TrainContext is called by an application with a recognition result that may contain
mistakes, along with a correct interpretation, so that the recognizer can learn from
the mistake and improve subsequent recognition. A second, simpler training
function for 1.0 recognizers is provided by
TrainInk.
TrainContext internally calls the function
TrainContextInternal exported by the recognizer identified by the
hrec member of the
RC structure pointed to by the
lprc member of the
RCRESULT structure. A version 1.0 recognizer should export both
TrainContextInternal and
TrainInkInternal, but can simply return FALSE from both functions if the recognizer does not
support this type of training.
When a training application is able to provide contextual information (such as
segmentation suggestions) to the version 1.0 recognizer, it calls the
TrainContext function. The
lprcresult parameter points to an
RCRESULT structure that contains the results of a previous recognition. The raw data
is also contained in the
hpendata member of the structure pointed to be
lprcresult.
In addition to providing the incorrect interpretation of the data (by means of
the symbol graph, the
lpsyv member in the
RCRESULT structure), a more detailed, correct interpretation is also provided by the
SYE structures and
SYC structures. Because the correct interpretation is passed by
SYE structures, it is possible to suggest segmentation boundaries to the
recognizer.
Suppose, for example, that a user writes "lc," and the recognizer interprets
it as "k". A trainer calls
TrainContext using, first, an array of
SYC structures that point to the ink of the "lc" and, second, the two
SYE structures with the
SYV values "l" and "c". These two
SYE structures share the same index into the
lpsyc array, indicating that both use the ink that was interpreted as "k".
Segmentation errors can be corrected in the other direction as well. Suppose,
for example, the user writes "k" and the recognizer interprets it as "lc". A
trainer could call
TrainContext using a single
SYE with
SYV values equal to "k" and an array of
SYC structures that incorporate the ink the recognizer had previously assigned to
the "l" and the "c".
To train several
SYV symbol values to a single piece of ink (for example, a long stroke that is an
"he" ligature), there will be two consecutive
SYE structures
one for the "h" and one for the "e". Both
SYE structures have the same
iSyc member; this means that the
SYE structures both point to the same ink. A recognizer must take this into
consideration to avoid training the two characters separately using the same ink for
both; that would result in having "he" trained as "he he".
A recognizer can supply its own custom training dialog boxes. An application
should check whether the recognizer supports custom training by calling
ConfigRecognizer with the WCR_TRAIN subfunction.
The trainer does not display an error message if
TrainInk or
TrainContext returns FALSE. Error messages that occur when training fails must be handled
by the recognizer.
See Also
ConfigRecognizer,
TrainInk,
TrainHREC,
SYC,
SYE, SYV_
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database