Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire...

29
Tablet PC Capstone Tablet PC Capstone CSE 481b CSE 481b Microsoft’s Cursive Microsoft’s Cursive Handwriting Handwriting Recognizer Recognizer Jay Pittman Jay Pittman and the entire and the entire Microsoft Handwriting Recognition Microsoft Handwriting Recognition Research and Development Team Research and Development Team [email protected] [email protected]
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    0

Transcript of Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire...

Page 1: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Tablet PC Capstone CSE Capstone CSE

481b481b

Microsoft’s Cursive Microsoft’s Cursive Handwriting RecognizerHandwriting Recognizer

Jay PittmanJay Pittmanand the entireand the entireMicrosoft Handwriting RecognitionMicrosoft Handwriting RecognitionResearch and Development TeamResearch and Development [email protected]@microsoft.com

Page 2: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

AgendaAgenda

Neural Network ReviewNeural Network Review

Basic Recognition ArchitectureBasic Recognition Architecture

Language ModelLanguage Model

PersonalizationPersonalization

Error ReportingError Reporting

New LanguagesNew Languages

Page 3: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Handwriting Recognition Handwriting Recognition TeamTeam

An experiment:An experiment:A research group, but not housed in MSRA research group, but not housed in MSR

Positioned inside a product groupPositioned inside a product group

Our direction and inspiration come directly from the usersOur direction and inspiration come directly from the users

This isn’t for everyone, but we like itThis isn’t for everyone, but we like it

A dozen researchersA dozen researchersHalf with PhDsHalf with PhDs

Mostly CS, but 1 Neuroscience, 1 Chemistry, 1 Industrial Mostly CS, but 1 Neuroscience, 1 Chemistry, 1 Industrial Engineering, 1 SpeechEngineering, 1 Speech

Roughly half neural network researchersRoughly half neural network researchersWith various other recognition technologiesWith various other recognition technologies

Page 4: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Neural Network ReviewNeural Network Review

DDirected acyclic graphirected acyclic graph

NNodes and arcs, each containing a simple valueodes and arcs, each containing a simple value

NNodes contain activations, arcs contain weightsodes contain activations, arcs contain weights

AActivations represent soft booleans; range from 0.0 to 1.0ctivations represent soft booleans; range from 0.0 to 1.0

WWeights represent excitatory and inhibitory connections; roughly symmetric about 0eights represent excitatory and inhibitory connections; roughly symmetric about 0

AAt run-time, we do a “forward pass” which computes activation from inputs to hiddens, and then t run-time, we do a “forward pass” which computes activation from inputs to hiddens, and then to outputsto outputs

FFrom outside, app only sees input nodes and output nodesrom outside, app only sees input nodes and output nodes

1.0

0.0

0.0

0.6

1.0

0.8

0.1

1.4

-0.8 0.7

-2.3

0.0

-0.1

InputsHiddens

Outputs

Page 5: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Neural Network Forward Neural Network Forward PassPass

1.0

0.0

0.0

0.6

1.0

0.8

0.1

1.4

-0.8 0.7

-2.3

0.0

-0.1

InputsHiddens

Outputs

act = F(Σ(in × weight) + bias)

F(X) = 1

e + 1 -x

logistic function

Features computed from ink

Probability estimates of letters

Page 6: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Neural Network TrainingNeural Network Training

Start with a fixed architecture, and a random set of Start with a fixed architecture, and a random set of weightsweightsIterate randomly through training samplesIterate randomly through training samplesFor each training sample, do forward pass, and compute For each training sample, do forward pass, and compute error of each output (size and direction)error of each output (size and direction)Compute what change in individual weights (size and Compute what change in individual weights (size and direction) would lead to reducing each output errordirection) would lead to reducing each output errorReduce the change to a small fractionReduce the change to a small fractionRepeat this walk through the training samples over and Repeat this walk through the training samples over and over, in different random ordersover, in different random orders

1.0

0.0

0.0

0.6

1.0

0.8

0.1

1.4

-0.8 0.7

-2.3

0.0

-0.1

InputsHiddens

Outputs

Page 7: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

C ExampleC ExampleForward PassForward Pass

float Activations[];float Biases[];float Weights[];

float Inputs[];

float Logistic(float in){ return 1.0 / ((float)exp((double)-in) + 1.0);}

void Forward(LAYER *pLayer){ int i;

for (i = 0; i < pLayer->cActivations; i++) { int j; float in = pLayer->Biases[i];

for (j = 0; j < pLayer->cInputs; j++) { in += pLayer->Inputs[j] * pLayer->Weights[i][j]; } pLayer->Activations[i] = Logistic(in); }}

LAYER:

(all squares are floats)

int cActivations;

int cInputs;

Page 8: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

TDNN: Time Delayed Neural TDNN: Time Delayed Neural NetworkNetwork

item 2 item 3item 1 item 5 item 6item 4item 1

TThis is still a normal back-propagation networkhis is still a normal back-propagation network

All the points in the previous several slides still applyAll the points in the previous several slides still apply

TThe difference is in the connectionshe difference is in the connections

Connections are limitedConnections are limited

Weights are sharedWeights are shared

TThe input is segmented, and the same features are computed for each segmenthe input is segmented, and the same features are computed for each segment

Small detail: edge effectsSmall detail: edge effectsFor the first two and last two columns, the hidden nodes and input nodes that reach outside the range of our input For the first two and last two columns, the hidden nodes and input nodes that reach outside the range of our input receive zero activationsreceive zero activations

Page 9: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

SegmentationSegmentation

midpoints going up

tops

bottoms

tops and bottoms

Page 10: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

TrainingTrainingWe use back-propagation trainingWe use back-propagation training

We collect millions of words of ink data from thousands of We collect millions of words of ink data from thousands of writerswriters

Young and old, male and female, left handed and right handedYoung and old, male and female, left handed and right handed

Natural text, newspaper text, URLs, email addresses, numeric Natural text, newspaper text, URLs, email addresses, numeric values, street addresses, phone numbers, dates, times, values, street addresses, phone numbers, dates, times, currency amounts, etc.currency amounts, etc.

We collect in more than two dozen languages around the We collect in more than two dozen languages around the worldworld

Training on such large databases takes weeksTraining on such large databases takes weeks

We constantly worry about how well our data reflect our We constantly worry about how well our data reflect our customerscustomers

Their writing stylesTheir writing styles

Their text contentTheir text content

We can be no better than the quality of our training setsWe can be no better than the quality of our training setsAnd that goes for our test sets tooAnd that goes for our test sets too

We are teaching the computer to readWe are teaching the computer to read

Page 11: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Recognizer ArchitectureRecognizer Architecture

88 8 682263574 4461 575723

9231

51 9 4720

711252 8 7913

5318

792857 6

……

1381

8 2 14 3

1717 5 7 4390

716

57914415

Output Matrix

dog 68

clog 57

dug 51

doom 42

divvy 37

ooze 35

cloy 34

doxy 29

client 22

dozy 13

Ink Segments

Top 10 List

d 00

a 00

b 00

c 00

o 09

a 73

l 07

t 5

g 68

t 8

b 6

o 12

g 57

t 12

TDNN

a

b

do

g

ab

t

tc

l

og

t

Lexicon

e

a

… Beam Search

ab

de

gh

no

4

5

3

90

12

4

14

7

Page 12: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Maintaining AmbiguityMaintaining Ambiguity

TDNN does NOT tell us which letter it isTDNN does NOT tell us which letter it isAt least not in a definite answerAt least not in a definite answer

Instead it tells us probability estimates for Instead it tells us probability estimates for each and every character that it might beeach and every character that it might be

The same shape might be different pieces of The same shape might be different pieces of different lettersdifferent letters

It is important to keep all theories alive for It is important to keep all theories alive for nownow

So we can decide later, after we add in more So we can decide later, after we add in more information from the language modelinformation from the language model

I suppose “maintaining ambiguity” is a euphemism for I suppose “maintaining ambiguity” is a euphemism for procrastinatingprocrastinating

Page 13: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Error Correction: Error Correction: SetTextContext()SetTextContext()

Dictum

Dictum

Left Context Right Context“Dict” “”

d 100

a 0

b 0

c 0

i 100

e 0

t 100

n 5

c 100

a 0

i 85

a 57

o 72

1.1. User writes “Dictionary”User writes “Dictionary”

2.2. Recognizer misrecognizes it as Recognizer misrecognizes it as “Dictum”“Dictum”

3.3. User selects “um” and rewrites User selects “um” and rewrites “ionary”“ionary”

4.4. TIP notes partial word selection, TIP notes partial word selection, puts recognizer into correction puts recognizer into correction mode with left and right contextmode with left and right context

5.5. Beam search Beam search artificiallyartificially recognizes left contextrecognizes left context

6.6. Beam search runs ink as Beam search runs ink as normalnormal

7.7. Beam search Beam search artificiallyartificially recognizes right contextrecognizes right context

8.8. This produces “ionary” in top 10 This produces “ionary” in top 10 list; TIP must insert this to the list; TIP must insert this to the right of “Dict”right of “Dict”

1.

2.

3.

4.

5. 6.

7.

Goal: Better context usage for error correction scenarios

Page 14: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Language ModelLanguage ModelWe get better recognition if we bias our interpretation of We get better recognition if we bias our interpretation of the output matrix with a language modelthe output matrix with a language model

Better recognition means we can handle sloppier cursiveBetter recognition means we can handle sloppier cursiveYou can write faster, in a more relaxed mannerYou can write faster, in a more relaxed manner

The lexicon (system dictionary) is the main partThe lexicon (system dictionary) is the main partBut there is also a user dictionaryBut there is also a user dictionary

And there are regular expressions for things like dates and And there are regular expressions for things like dates and currency amountscurrency amounts

We want a generatorWe want a generatorWe ask it: “what characters could be next after this prefix?”We ask it: “what characters could be next after this prefix?”

It answers with a set of charactersIt answers with a set of characters

We still output the top letter recognitionsWe still output the top letter recognitionsIn case you are writing a word out-of-dictionaryIn case you are writing a word out-of-dictionary

You will have to write more neatlyYou will have to write more neatly

Page 15: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

LexiconLexicon

a

b

do

g

a

b

t

t

cl

og

t

e

a

o l o

r

u r

s

s

n a l y

s

z

e

e

r

r

s

s

d

d

s

sUS US

US

US

US

US US

UK

UK

UK

UK

UK UK

A

A AC C

C

AC

4125

4098

AC

AC

t h e952

a t e r3606US

s4187US

r e

T H CUS

s

3463

4125

3159

3354

US

UK

A

C

1234

u

s

Simple node

Leaf node

(end of valid word)

U.S. only

U.K. only

Australian only

Canadian only

Unigram score

(log of probability)

w a l k i n g

r u n n

UKAC

Page 16: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Offensive WordsOffensive WordsThe lexicon includes all the words in the spellcheckerThe lexicon includes all the words in the spellchecker

The spellchecker includes obscenitiesThe spellchecker includes obscenitiesOtherwise they would get marked as misspelledOtherwise they would get marked as misspelled

But people get upset if these words are offered as corrections for other But people get upset if these words are offered as corrections for other misspellingsmisspellings

So the spellchecker marks them as “restricted”So the spellchecker marks them as “restricted”

We live in an apparently stochastic worldWe live in an apparently stochastic worldWe will throw up 6 theories about what you were trying to writeWe will throw up 6 theories about what you were trying to write

If your ink is near an obscene word, we might include thatIf your ink is near an obscene word, we might include that

Dilemma:Dilemma:We want to recognize your obscene word when you write itWe want to recognize your obscene word when you write it

Otherwise we are censoring, which is NOT our placeOtherwise we are censoring, which is NOT our place

We DON’T want to offer these outputs when you don’t write themWe DON’T want to offer these outputs when you don’t write them

Solution (weak):Solution (weak):We took these words out of the lexiconWe took these words out of the lexicon

You can still write them, because you can write out-of-dictionaryYou can still write them, because you can write out-of-dictionary

But you have to write very neat cursive, or nice handprintBut you have to write very neat cursive, or nice handprint

Only works at the word levelOnly works at the word levelCan’t remove words with dual meaningsCan’t remove words with dual meanings

Can’t handle phrases that are obscene when the individual words are notCan’t handle phrases that are obscene when the individual words are not

Page 17: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Regular ExpressionsRegular ExpressionsMany built-in, callable by ISVs, web pagesMany built-in, callable by ISVs, web pages

Number, digit string, date, time, currency amount, phone numberNumber, digit string, date, time, currency amount, phone numberName, address, arbitrary word/phrase listName, address, arbitrary word/phrase listURL, email address, file name, login name, password, isolated URL, email address, file name, login name, password, isolated charactercharacterMany components of the above:Many components of the above:

Month, day of month, month name, day name (of week), yearMonth, day of month, month name, day name (of week), yearhour, minute, secondhour, minute, secondLocal phone number, area code, country codeLocal phone number, area code, country codeFirst name, last name, prefix, suffixFirst name, last name, prefix, suffixstreet name, city, state or province, postal code, countrystreet name, city, state or province, postal code, country

None:None:Yields an out-of-dictionary-only system (turns off the language model)Yields an out-of-dictionary-only system (turns off the language model)

Great for form-filling apps and web pagesGreat for form-filling apps and web pagesAccuracy is greatly improvedAccuracy is greatly improvedUse SetFactoid() or SetInputScope()Use SetFactoid() or SetInputScope()

This is in addition to the ability to load the user dictionaryThis is in addition to the ability to load the user dictionaryOne could load 500 color names for a color field in a form-based appOne could load 500 color names for a color field in a form-based appOr 8000 drug names in a prescription appOr 8000 drug names in a prescription appOn 2000 stock symbolsOn 2000 stock symbols

Page 18: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Regular ExpressionsRegular ExpressionsA simple regular expression compiler is available at A simple regular expression compiler is available at run timerun time

ISVs can add their own regular expressionsISVs can add their own regular expressions

One could imagine the DMV adding automobile VINsOne could imagine the DMV adding automobile VINs

Blood pressure example:Blood pressure example:(!IS_DIGITS)/(!IS_DIGITS) p(!IS_DIGITS)(!IS_DIGITS)/(!IS_DIGITS) p(!IS_DIGITS)

Latitude example:Latitude example:(!IS_DIGITS)°((!IS_TIME_MINORSEC)’((!IS_TIME_MINORSEC)”)+)(!IS_DIGITS)°((!IS_TIME_MINORSEC)’((!IS_TIME_MINORSEC)”)+)+ (N|S)+ (N|S)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tpcsdk10/lonestar/inkconcepts/custominputscopeswithregex.asp

Page 19: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Default FactoidDefault FactoidUsed when no factoid is setUsed when no factoid is set

Intended for natural text, such as the body of an emailIntended for natural text, such as the body of an email

Includes system dictionary, user dictionary, hyphenation rule, Includes system dictionary, user dictionary, hyphenation rule, number grammar, URL grammarnumber grammar, URL grammar

All wrapped by optional leading punctuation and trailing punctuationAll wrapped by optional leading punctuation and trailing punctuation

Hyphenation rule allows sequence of dictionary words with hyphens Hyphenation rule allows sequence of dictionary words with hyphens betweenbetween

Number grammar includes actual numbers, plus:Number grammar includes actual numbers, plus:dates, times, currency amounts, telephone numbers, percents, numeric dates, times, currency amounts, telephone numbers, percents, numeric ranges, ordinal abbreviations, number-unit combinations, Roman numbersranges, ordinal abbreviations, number-unit combinations, Roman numbers

Alternatively, can be a single character (any character supported Alternatively, can be a single character (any character supported by the system)by the system)

LeadingPunc

Numeric

Hyphenation

UserDict

SysDict

TrailingPunc

Web

Single Char

Start Final

Page 20: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

CalligrapherCalligrapherThe Russian recognition company Paragraph sold itself to SGI The Russian recognition company Paragraph sold itself to SGI (Silicon Graphics, Incorporated), who then sold it to Vadem, who (Silicon Graphics, Incorporated), who then sold it to Vadem, who sold it to Microsoft.sold it to Microsoft.

In the purchase we obtained:In the purchase we obtained:CalligrapherCalligrapher

Cursive recognizer that shipped on the first Apple Newton (but not the Cursive recognizer that shipped on the first Apple Newton (but not the second)second)

TranscriberTranscriberHandwriting app for handheld computers (shipped on PocketPC)Handwriting app for handheld computers (shipped on PocketPC)

Calligrapher has a very similar architectureCalligrapher has a very similar architectureInstead of a TDNN it employs a hand-built HMMInstead of a TDNN it employs a hand-built HMM

The lexicon and beam search are similar in nature (many small differences)The lexicon and beam search are similar in nature (many small differences)

We combined our system with CalligrapherWe combined our system with CalligrapherWe use a voting system (neural nets) to combine each recognizer’s top We use a voting system (neural nets) to combine each recognizer’s top 10 list10 list

They are very different, and make different mistakesThey are very different, and make different mistakes

We get the best of both worldsWe get the best of both worlds

If either recognizer outputs a single-character “word” we forget these If either recognizer outputs a single-character “word” we forget these lists and run the isolated character recognizerlists and run the isolated character recognizer

Page 21: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Personalization: Ink ShapePersonalization: Ink ShapeSimple concept: just do same training on this customer’s inkSimple concept: just do same training on this customer’s ink

Start with components already trained on massive database of ink Start with components already trained on massive database of ink samplessamples

Train further on specific user’s ink samplesTrain further on specific user’s ink samples

Explicit trainingExplicit trainingUser must go to a wizard and copy a short scriptUser must go to a wizard and copy a short script

Do have labels from customerDo have labels from customerBut limited in quantity, because of tediousnessBut limited in quantity, because of tediousness

Implicit trainingImplicit trainingData is collected in the background during normal useData is collected in the background during normal use

We get more dataWe get more dataBut it doesn’t have labels verified by the customerBut it doesn’t have labels verified by the customer

We protect ourselves from mislabeled data using our internal We protect ourselves from mislabeled data using our internal confidence measure and a pipeline of quarantined stores confidence measure and a pipeline of quarantined stores

Much of the work is in the infrastructure:Much of the work is in the infrastructure:GUI, database, management of different user’s trained networks, etc.GUI, database, management of different user’s trained networks, etc.

Page 22: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Personalization: Text Personalization: Text HarvestingHarvestingSimple concept: just add the user’s new words to the Simple concept: just add the user’s new words to the

lexiconlexicon

Examples (at Microsoft):Examples (at Microsoft):RTM, dev, SDET, dogfooding, KKOMO, featurizationRTM, dev, SDET, dogfooding, KKOMO, featurization

We scan Outlook for outgoing email (avoids spam), We scan Outlook for outgoing email (avoids spam), outgoing appointments, notes, tasks, and contacts (names, outgoing appointments, notes, tasks, and contacts (names, email addresses)email addresses)

We scan Internet Explorer history for URLsWe scan Internet Explorer history for URLs

Natural text goes through the Indexing Service word Natural text goes through the Indexing Service word breaker breaker

Strips punctuation, quotes, etc.Strips punctuation, quotes, etc.

We support add-to-dictionary and remove-from-dictionary, We support add-to-dictionary and remove-from-dictionary, from within the TIPfrom within the TIP

We also run a post-processor based on frequent correction We also run a post-processor based on frequent correction pairspairs

Page 23: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Personalization: VistaPersonalization: VistaEast Asian Recognizers:East Asian Recognizers:

Chinese (simplified and traditional), Japanese, KoreaChinese (simplified and traditional), Japanese, Korea

Explicit and Implicit PersonalizationExplicit and Implicit Personalization

No text harvestingNo text harvestingBecause no lexicon used in recognitionBecause no lexicon used in recognition

Dr. Qi Zhang, Dr. John Drakopoulos, Michael BlackDr. Qi Zhang, Dr. John Drakopoulos, Michael Black

English RecognizersEnglish RecognizersUS and UKUS and UK

Explicit Personalization and text harvestingExplicit Personalization and text harvesting

No implicit personalizationNo implicit personalization

Dr. Michael Revow, Dr. Dave Stevens, David Winkler, Rick Dr. Michael Revow, Dr. Dave Stevens, David Winkler, Rick Sailor, Brian Leung, Nick StrathySailor, Brian Leung, Nick Strathy

Page 24: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Vista: Recognition Error Vista: Recognition Error ReportingReporting

Button in the TIPButton in the TIPStart menuStart menuDr. Jamie EisenhartDr. Jamie Eisenhart

Page 25: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Languages: VistaLanguages: Vista

Previous to Vista, we shipped:Previous to Vista, we shipped:English (US), English (UK), French, German, Spanish, ItalianEnglish (US), English (UK), French, German, Spanish, Italian

Using a completely different approach, we also shipped:Using a completely different approach, we also shipped:Japanese, Chinese (Simplified), Chinese (Traditional), KoreanJapanese, Chinese (Simplified), Chinese (Traditional), Korean

All of the above have improved accuracy in VistaAll of the above have improved accuracy in VistaLatin recognizers are significantly better on URLsLatin recognizers are significantly better on URLsEA recognizers are significantly better on cursiveEA recognizers are significantly better on cursiveAnd some will have personalizationAnd some will have personalization

Vista adds:Vista adds:Dutch, Portuguese (for Brazil)Dutch, Portuguese (for Brazil)Yours trulyYours truly

Page 26: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Future LanguagesFuture Languages

We have done some initial work in:We have done some initial work in:Swedish, Danish, Norwegian, Finnish, Serbian (Latin and Swedish, Danish, Norwegian, Finnish, Serbian (Latin and Cyrillic)Cyrillic)We ship based on quality, so we don’t tie to specific releasesWe ship based on quality, so we don’t tie to specific releases

We have started initial research in roughly a dozen moreWe have started initial research in roughly a dozen moreSome in the Latin script and some in other scriptsSome in the Latin script and some in other scriptsMy research goal is to speed the development of new My research goal is to speed the development of new languageslanguages

Page 27: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Additional Latin Script Additional Latin Script LanguagesLanguagesAccentsAccents

We already handle acute, grave, dieresis, circumflexWe already handle acute, grave, dieresis, circumflexRing over vowels Ring over vowels (Danish, Norwegian, Swedish, Finnish, Czech)(Danish, Norwegian, Swedish, Finnish, Czech)Double acute Double acute (Hungarian)(Hungarian)Hacek (caron) on consonants Hacek (caron) on consonants (Czech, Slovak, Slovene, Estonian, Latvian, Lithuanian)(Czech, Slovak, Slovene, Estonian, Latvian, Lithuanian)Cedilla under consonants Cedilla under consonants (Romanian, Croatian, Serbian in Latin, Catalan, Turkish, Latvian)(Romanian, Croatian, Serbian in Latin, Catalan, Turkish, Latvian)Ogonek under vowels Ogonek under vowels (Polish, Lithuanian)(Polish, Lithuanian)Dot over letter Dot over letter (Polish, Lithuanian, Maltese)(Polish, Lithuanian, Maltese)Macron over vowels Macron over vowels (Latvian, Lithuanian, Maori)(Latvian, Lithuanian, Maori)Breve over letters Breve over letters (Romanian, Turkish)(Romanian, Turkish)

Others:Others:ø ø (Danish, Norwegian)(Danish, Norwegian) ł ł (Polish)(Polish) ŀl ŀl (Catalan)(Catalan) ð þ ð þ (Icelandic)(Icelandic) ħ ħ (Maltese)(Maltese)Dotted capital I and dotless lowercase i Dotted capital I and dotless lowercase i (Turkish)(Turkish)

QuotesQuotes““high quotes” high quotes” (English, Spanish, Portuguese, Modern Dutch, Turkish, Catalan, Galician, Welsh, (English, Spanish, Portuguese, Modern Dutch, Turkish, Catalan, Galician, Welsh, Zulu, Malay)Zulu, Malay)„„low quotes“ low quotes“ (German, Polish, Czech, Romanian, Croatian, Serbian, Hungarian, Slovak)(German, Polish, Czech, Romanian, Croatian, Serbian, Hungarian, Slovak)””left-facing quotesleft-facing quotes” ” (Danish, Norwegian, Swedish, Finnish)(Danish, Norwegian, Swedish, Finnish)« chevron quotes » « chevron quotes » (French)(French)

NumbersNumbers1,234,567.89 1,234,567.89 (English, some former British colonies)(English, some former British colonies)1 234 567,891 234 567,89 (Swedish, Norwegian, Finnish, Czech, Slovak, Hungarian, Lithuanian, Latvian, (Swedish, Norwegian, Finnish, Czech, Slovak, Hungarian, Lithuanian, Latvian, Estonian)Estonian)1 234 567,89 or 1.234.567,891 234 567,89 or 1.234.567,89 (French, Italian, Polish, Slovene) (French, Italian, Polish, Slovene)1.234.567,89 1.234.567,89 (everyone else)(everyone else)

Page 28: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

Bill Gates makes more money, but I have more funBill Gates makes more money, but I have more funI remember senior people at several research I remember senior people at several research institutions calling cursive recognition “waste of time institutions calling cursive recognition “waste of time and money”and money”Some find it recognizes their writing when no one else Some find it recognizes their writing when no one else cancan

But I also know there are others who get poor But I also know there are others who get poor recognitionrecognitionI wonder if Gary Trudeau has tried itI wonder if Gary Trudeau has tried it

People will adapt to a recognizer, if they use it People will adapt to a recognizer, if they use it enoughenough

Just as they adapt to the people they live with and work Just as they adapt to the people they live with and work withwithMy physician in Issaquah gets perfect recognition on a My physician in Issaquah gets perfect recognition on a NewtonNewton

Biggest complaints:Biggest complaints:No adaptation to my handwriting style (coming in Vista)No adaptation to my handwriting style (coming in Vista)We don’t yet ship their language (I’m working on it)We don’t yet ship their language (I’m working on it)

Other complaints:Other complaints:Weak on URLs (much better in Vista), email addresses, Weak on URLs (much better in Vista), email addresses, slashes, some styles of handprint (all better in Vista)slashes, some styles of handprint (all better in Vista)East Asian weak on cursive (much better in Vista)East Asian weak on cursive (much better in Vista)

Best Job at MicrosoftBest Job at Microsoft

Page 29: Tablet PC Capstone CSE 481b Microsoft’s Cursive Handwriting Recognizer Jay Pittman and the entire Microsoft Handwriting Recognition Research and Development.

Tablet PC Capstone CSE 481bTablet PC Capstone CSE 481b

© 2006 Microsoft Corporation. All rights reserved.© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.