Unintended results detection in a pen-based computer system

Abstract: An improved mechanism for converting handwritten input data into text and commands in a computer system is provided. An unintended results detection component is used after the handwritten data has been converted to text and commands. The unintended results detection component determines when the converted text and commands were likely unintended by the computer user. If the unintended results detection component determines that the converted text and commands were likely unintended by the computer user, the unintended results detection component outputs an indication to the user. The user then has the option of accepting or rejecting the interpretation of the system of the handwritten input data.

Description: Technical Field The present invention relates generally to data processing systems and, more particularly, to data entry in a pen-based computer system. Background of the Invention Handwriting recognition systems allow users to input handwritten data into a computer. Such handwriting recognition systems are provided in electronic tablets which allow users to handwrite data that the computer can recognize. A user writes data on the electronic tablet with a pen input device. When the pen input device moves across the tablet, the tablet illuminates pixels that reflect pen movement. The tablet is divided into a plurality of discrete positions, and the tablet senses the consecutive positions of the pen as the user writes. After sensing the positions of the pen, the tablet sends the positions to the computer. The computer receives the positions and converts the pen movements into recognized input symbols, such as letters or numbers, having a convenient format, like ASCII (this process is known as "recognition"). The computer then processes the recognized input symbols. Some handwriting recognition systems recognize not only hand-drawn characters, letters, and punctuation, but also gestures. Gestures are band-drawn symbols that are typically used to represent editing commands or to produce non-printing text. For example, a handwritten backslash over a letter may mean delete the letter, a caret in between two letters may mean insert text, and a dash through a word may mean delete the word. Gestures are used extensively when printed documents are edited in a system that includes handwriting recognition. During recognition, gestures are converted into a usable format for use by the computer. Figure 1 depicts a conventional handwriting recognition system. The conventional system contains an application program 104, a control program 106, and a recognizer program 108. Both the control program 106 and the recognizer program 108 reside within the operating system 102. The control program 106 detects when the pen touches the tablet and also illuminates the pixels corresponding to the pen position while the pen is touching the tablet. The control program 106 gathers position data and upon the user terminating the handwriting input (by not touching the pen to the tablet for a short time), sends the position data to the recognizer program 108. The recognizer program 108 is responsible for recognizing the handwritten (position) data. The recognizer program 108 performs recognition by mapping the handwritten data to prototypes of symbols. Each prototype is a representation of the corresponding symbol. For example, a pen-based system designed to recognize capital letters has at least 26 prototypes (i.e., one prototype for each letter). After recognition, the application program 104 receives the recognized (converted) text and commands from the recognizer program 108. The application program 104 is any program capable of accepting keyboard data; for example, a word processing program. The application program 104, the control program 106, the recognizer program 108 and the operating system 102 reside within the memory 100 of a computer system. Figure 2 shows a system flowchart of the steps performed by a conventional system for entering handwritten data into a computer system. First, handwritten data is entered into the computer system using the pen input device as described above (step 201). The handwritten data is then sent to the control program 106 (step 202). Next, the control program 106 sends the handwritten data to the recognizer program 108 (step 204). The recognizer program 108 converts the handwritten data into text and commands (step 206). After conversion, the control program 106 receives the converted text and commands and sends the converted text and commands to the application program 104 (step 208). The application program 104 can then use the converted text and commands for normal processing. During the conversion of handwritten data into text and commands, oftentimes the converted text and commands are not what the user intended (i.e., unintended results). There are three types of unintended results: misrecognition, inherent misrecognition and nonsense recognition. Misrecognition refers to when the recognizer program 108 misinterprets the handwritten data. Misrecognition is typically due to the differences in user handwriting styles over the prototype and to the legibility of the handwriting. Also, misrecognition occurs when users incorrectly draw a gesture. Inherent misrecognition refers to misrecognition by the system due to characteristics of the character set. For example, the difficulty of distinguishing between the characters "o," "O," and "0" is due to the similarities between the characters. Nonsense recognition refers to when the handwriting of the user is converted into what the user wrote, but not what the user intended to write. For example, a user may write a word with a "?" in the middle of the word. Although the handwriting is correctly converted into text and commands, most likely the user did not intend to write a word with a "?" in the middle. EP 0 655 702 A2 which is prior art in the sense of Article 54 (3) EPC suggests a stylus-based user interface for a computer and, in particular, suggests a process for separating a stylus-based application program from the procedures used to implement stylus-based, user-driven error correction processes. The separation allows error correction procedures to be used by many applications, providing consistency in the user interface and saving application development costs through the reuse of theses procedures. From "IBM Technical Disclosure Bulletin," volume 34, number 9, February 1992, page 74, a method for inputting ambiguously shaped characters in on-line handwritten character recognition is known. According to the method, the names of all possible character sets are displayed next to the resulting character to warn the user of the possibility of a misreading. In this way, a user can change the character set by menu selection. "Compcon 91," February 1991, pages 483 to 486, describes handwriting recognition in an operating system of GO Corporation. The operating system is suitable for pen-based computers, allowing the user to directly write on the screen and to provide commands by pointing and by gestures such as circling and scratch-out. It is an object of the present invention to provide a method and the respective computer system that facilitate data entry in a pen-based computer system. This object is solved by the subject matter of claim 1 and by the subject matter of claim 14. Preferred embodiments are the subject matter of dependent claims. In accordance with a first aspect of the present invention, a method is executed in a computer system having a pen input device. In accordance with this method of the first aspect of the present invention, handwritten data is received into the computer system from the pen input device. After receiving the handwritten data, this method converts the received handwritten data and determines if the converted data is likely unintended by a computer user. If this method determines that the converted data is likely unintended by the computer user, this method outputs an indication that the converted data was likely unintended by the computer user and this method outputs the converted data. In accordance with a second aspect of the present invention, the pen-based computer system includes a pen input device, a control unit, a translation unit and a processing unit. The pen input device is connected to the computer system. The control unit resides within the computer system and provides for receiving handwritten data from the pen input device, for determining when converted data is likely unintended by a computer user and for querying the computer user whether to accept the converted data when the converted data was likely unintended by the computer user. The translation unit resides within the computer system and provides for converting handwritten data received from the control unit into converted data. The processing unit resides within the computer system and provide for receiving the converted data from the control unit and for processing the converted data. Figure 1 depicts a block diagram of a conventional pen-based computer system. Figure 2 depicts a flow chart of the steps performed in a conventional pen-based computer system. Figure 3 depicts a computer system suitable for practicing the preferred embodiment of the present invention. Figure 4 depicts a block diagram of a computer system suitable for practicing the preferred embodiment of the present invention. Figures 5A and 5B depict a flow chart of the steps performed by the preferred embodiment of the present invention for converting handwritten data into text and commands. Figures 6A and 6B depict a flow chart of the steps performed by the control program of the preferred embodiment of the present invention. Figure 7 depicts a pop-up window displayed by the preferred embodiment of the present invention. Figure 8 depicts a pop-up window displayed by an alternative embodiment of the present invention. Detailed Description of the Invention The preferred embodiment of the present invention provides an improvement over the prior art for converting handwritten data into text and commands within a computer system. The preferred embodiment of the present invention increases the accuracy of the computer system in recognizing handwritten data by querying the computer user when the converted data was likely unintended by the computer user. A heuristic is provided in the preferred embodiment of the present invention to determine when the converted data was likely unintended by the computer user. In prior methods, when unintended results are generated, the unintended text and commands are still sent to the application program. This can have undesirable effects. For example, when the application program is a word processor and the user inputs a handwritten undo command ("γ"), the system may misrecognize the undo command and send an "r" to the word processor. This misrecognition becomes more serious when the user has just inadvertently deleted significant amounts of text or made some other inadvertent significant changes. The effects of a misrecognition are magnified in computer systems that have an undo buffer that can contain only one command. Therefore, if a user inadvertently makes a significant change and inputs an undo command that is misrecognized, the undo buffer would contain an "r" and the previous undo buffer would be lost, thus making a correction of the mistake difficult for the user. Prior systems have attempted to solve only the misrecognition problem by modifying the recognizer program. However, the preferred embodiment of the present invention solves the misrecognition problem as well as the broader problem of unintended results by querying the user when possible unintended results are generated, thus providing greater accuracy in converting handwritten data to text and commands. The preferred embodiment detects three types of unintended results: misrecognition, inherent misrecognition and nonsense recognition. Figure 3 depicts a computer system 300 that is suitable for practicing the preferred embodiment of the present invention. The computer system 300 includes a computer 302, a pen 308, a digitizing tablet 306, a screen display 303, and a connecting cable 304. The tablet 306 detects contact of the pen 308 with the tablet 306. The tablet 306 is divided into a grid of discrete points, each position having associated coordinates. When the tablet 306 detects contact by the pen 308, the tablet 306 sends the coordinates of the contact point to the computer 302 through the connecting cable 304. Upon receiving the coordinates, the computer 302 "inks" the contact point, that is, the computer 302 sends data to the tablet 306 to distinguish a pixel on the tablet 306 that corresponds to the contact point. In addition, the computer 302 "inks" the contact point that corresponds to the screen display 303 of the computer 302. To a user, the inking of the contact point looks as if the pen writes the point onto the tablet 306 where the pen 308 made contact as well as the corresponding point on the screen display 303 of the computer 302. Although the preferred embodiment of the present invention is described as being implemented on a personal computer, one skilled in the art will recognize that the present invention could be implemented on other computers, including, but not limited to, mainframes, workstations, portables, laptops, and handheld computers. The preferred embodiment of the present invention resides on a computer system that is executing a version of the Microsoft Windows Operating System, which is sold by Microsoft Corporation of Redmond, Washington. The Microsoft Windows Operating System is a multitasking, multiwindows operating system. Multitasking refers to the ability of an operating system to have multiple programs (i.e., tasks) operating concurrently. Multiwindows refers to an environment wherein each application program is assigned a window. The windows for several programs can be shown on the screen display simultaneously. One kind of window that appears in window-based computer systems is the pop-up window. The pop-up window is a short-lived window that appears ("pops-up") upon the occurrence of an event and requests the user to perform some action. Although the preferred embodiment of the present invention is described as being implemented on a computer system with the Microsoft Windows Operating System, one skilled in the art will recognize that the present invention can be implemented on other operating systems. Figure 4 shows a more detailed block diagram of computer 302. The computer 302 contains memory 400 and a central processing unit (CPU) 412. The memory 400 of computer 302 contains the Operating System 402 and an application program 404. The Operating System 402 has a number of programs, two of which are particularly relevant here: the control program 406 and the recognizer program 408. The control program 406 contains an unintended results detection component 410, which will be described in more detail below. Figures 5A and 5B show a system level flowchart of the steps performed by the preferred embodiment of the present invention to bring converted text and commands that were likely unintended by a computer user to the attention of the computer user. When the user touches pen 308 to tablet 306, the control program 406 receives a message informing the control program of a pen down event (step 502). The control program 406 then determines whether the pen down event was for a pen or for another input device (step 504). If the pen down event was due to an input device other than a pen, the system waits for another event (step 502). However, if the pen down event was generated by a pen, the control program begins inking the screen display 303 of the computer system 302 (step 505). Inking is a well-known technique in the computer industry. Then, the control program starts to gather the handwritten input data (step 506) and sends the data to the recognizer program 408 (step 508). The control program 406 tests for termination of the handwritten input data (step 510). Termination can occur by either the user picking up the pen 308 (i.e., removing it from the surface of the tablet) or by expiration of a preset period of time of inactivity after the pen 308 is lifted from the surface of the tablet 306. If termination is not detected, the control program 406 continues to gather data (step 506). However, if termination is detected, the control program terminates inking of the display screen (step 512) and invokes the recognizer program 408 to convert the handwritten data into text and commands (step 514 in Figure 5B). After the recognizer program 408 has completed conversion, the recognizer program 408 sends the converted text and commands to the control program 406 (step 516). After the recognizer program 408 sends the converted text and commands to the control program 406, the control program 406 invokes unintended results detection 410 to determine if the converted text and commands were likely unintended by the computer user (step 518). If the converted text and commands were not likely unintended by the computer user, the control program 406 sends the converted text and commands to the application program 404 (step 524). However, if unintended results detection 410 determines that the converted text and commands were likely unintended by the computer user, unintended results detection 410 queries the user whether to accept or reject the converted text and commands (step 520). Unintended results detection 410 determines whether the user accepted or rejected the converted text and commands (step 522). If the user accepted the converted text and commands, unintended results detection 410 allows the control program 406 to send the converted text and commands to the application program 404 (step 524). However, if the user did not accept the converted text and commands, unintended results detection 410 does not send the converted text and commands to the application program 404, thereby discarding the converted text and commands (step 622). Figures 6A and 6B depict a flowchart of the steps performed by the control program 406 which includes unintended results detection. The rules described herein for the preferred embodiment of the present invention are merely illustrative and should not be construed to limit the scope of the present invention. The rules chosen reflect a heuristic approach to an empirical solution of the unintended results problem. The number of rules used was minimized to limit the effect on processing time, but each rule was carefully chosen to maximize efficiency. After receiving the converted text and commands from the recognizer program 408, the control program 406 invokes unintended results detection 410 (step 602). Unintended results detection 410 determines whether the converted text and commands contain more than five characters (step 604). If the converted text and commands contain more than five characters, unintended results detection 410 sends the converted text and commands to the application program 404 (step 618). If the converted text and commands contain less than five characters, unintended results detection 410 determines if the converted text and commands contain a single "i" character or a single "l" character (step 606). The test for a single "i" character or a single "l" character is performed because of the easy misrecognition of a "flick" gesture. A "flick" gesture is an upward or downward stroke that is used for scrolling. If the converted text and commands do not contain a single "i" character or a single "l" character, unintended results detection 410 determines if the converted text and commands contain a gesture (step 608). If the converted text and commands do not contain a gesture, unintended results detection 410 determines if the converted text and commands contain a non-alphanumeric character (step 610 in Figure 6B). A non-alphanumeric character is a character that is not a letter (i.e., a member of the Roman alphabet) or a digit. Although the preferred embodiment of the present invention is described as being used with the Roman alphabet, one skilled in the art will recognize that other alphabets may be used. If the converted text and commands do not contain a non-alphanumeric character, unintended results detection 410 determines if the converted text and commands contain an unrecognizable character (step 612). An unrecognizable character is a symbol for which there is no prototype (e.g., a squiggle). If the converted text and commands do not contain an unrecognizable character, unintended results detection 410 allows the control program 406 to send the converted text and commands to the application program 404 (step 618). However, if the converted text and commands contain a single "i" character or a single "l" character, if the converted text and commans contain a gesture, if the converted text and commands contain a non-alphanumeric character, or if the converted text and commands contain an unrecognizable character, unintended results detection 410 displays a pop-up window to the user which displays the converted text and commands and allows the user to either accept the converted text and commands or reject the converted text and commands (step 614). Unintended results detection 410 determines whether the user has accepted the converted text and commands or rejected the converted text and commands (step 616). If the user accepts the converted text and commands, unintended results detection 410 allows the control program 406 to send the converted text and commands to the application program 404 (step 618). However, if the user rejects the converted text and commands, unintended results detection 410 does not allow the control program 406 to send the converted text and commands to the application program 404, thereby discarding the converted text and commands. Figure 7 depicts an example pop-up window of the preferred embodiment of the present invention. The pop-up window 700 is displayed on the screen display 303 of computer 300. The pop-up window 700 is displayed over the window 708 corresponding to the application program 404. In this example, the application program 404 is a word processor 708. The pop-up window 700 displays an indication 710 that the converted text and commands were likely unintended, the converted text and commands 702, and two buttons: the accept button 704 and the reject button 706. The accept button 704 allows the user to accept the converted text and commands. The reject button 706 allows the user to reject the converted text and commands. Figure 8 depicts an alternative embodiment of the pop-up window 700 of the present invention. The pop-up window 800 of the alternative embodiment displays an indication 810 that the converted text and commands were likely unintended, the converted text and commands 802, the handwritten data 812, and three buttons: the accept button 804, the reject button 806 and the correct button 808. The accept button 804 allows the user to accept the converted text and commands. The reject button 806 allows the user to reject the converted text and commands. The correct button 808 allows the user to edit the handwritten data 812. Although the preferred embodiment of the present invention is described as displaying a pop-up window, other embodiments may display other windows, messages or indications, and other output devices may be used such as printers or sound devices. Further, although the preferred embodiment of the present invention displays the converted text and commands, other embodiments of the present invention may display a best choice of the converted text and commands along with alternate choices of convened text and commands.

Claims: In a computer system (300), having a pen input device (308) for inputting handwritten data, an output device, and a computer user, a method comprising the steps of: receiving handwritten data from the pen input device; recognizing the received handwritten data to create convened data (514); determining if the convened data was likely unintended by the computer user (518); and outputting an indication on the output device that the converted data was likely unintended by the computer user and outputting the convened data. The method as recited in claim 1 wherein the handwritten data contains words, wherein the step of determining if the converted data was likely unintended by the computer user includes the step of: determining that the converted data was not likely unintended by the computer user if a word has more than a predetermined number of characters (604). The method as recited in claim 1 wherein the handwritten data contains at least one character, wherein the step of determining if the converted data was likely unintended by the computer user includes the step of: determining that the converted data was likely unintended by the computer user if the converted data contains a character that is part of a set of characters that are likely misrecognized (606). The method as recited in claim 1 wherein the handwritten data contains characters and gestures, and wherein the step of determining if the converted data was likely unintended by the computer user includes the step of: determining that the converted data was likely unintended by the computer user if the converted data contains a gesture (608). The method as recited in claim 1 wherein the handwritten data contains characters, wherein the step of determining if the converted data was likely unintended by the computer user includes the step of: determining that the converted data was likely unintended by the computer user if a character is unrecognizable (612). The method as recited in claim 1 wherein the handwritten data includes characters and gestures, and wherein the step of determining if the converted data was likely unintended by the computer user includes the step of: determining that the converted data was likely unintended by the computer user if a character is non-alphanumeric (610). The method as recited in claim 1 wherein the output device is a screen display, wherein the step of outputting an indication includes the step of: displaying a window on the screen display which contains the converted data. The method as recited in claim 7 wherein the step of displaying the window includes the step of: displaying a pop-up window with an accept button and a reject button, wherein the user may accept the converted data by activating the accept button and reject the converted data by activating the reject button (522). The method as recited in claim 1 wherein the step of outputting an indication includes the step of: outputting audible signals that indicate that the converted data was likely unintended by the computer user. The method as recited in claim 7 wherein the step of displaying the window includes the step of: displaying a pop-up window to the computer user wherein the computer user can accept or reject the converted data (520). The method as recited in claim 10, further comprising the step of: when the user accepts the converted data, sending the converted data from the control program to an application program (524). The method as recited in claim 10, further comprising the step of: when the user rejects the converted data, discarding the converted data. The method as recited in claim 1, wherein recognizing the received handwritten data to create converted data comprises: mapping the handwritten data onto pre-stored symbols for recognition; and converting the handwritten data to converted data using the mapped, prestored symbols. A pen-based computer system (300) for accepting handwritten data, comprising: a pen input device (308); a control unit (406) in the computer system having a component for receiving handwritten data from the pen input device; a translation unit in the computer system for converting handwritten data received from the control unit into converted data (408); a component for determining when the converted data is likely unintended by a computer user and a component for querying the computer user whether to accept the converted data when the converted data was likely unintended by the computer user (406, 410); a processing unit in the computer system for receiving converted data from the control unit and for processing the converted data (412). The pen-based computer system of claim 14, wherein the component for querying the computer user comprises a component for displaying a pop-up window to the computer user wherein the computer user can accept or reject the converted data when the converted data were likely unintended by the computer user. The pen-based computer system of claim 14, further comprising means for sending the converted data from the control program to the processing unit when the computer user accepts the converted data. The pen-based computer system of claim 14, further comprising means for discarding the converted data when the computer user rejects the converted data. The pen-based computer system of claim 14, wherein the translation unit comprises: means for mapping the handwritten data onto pre-stored symbols for recognition; means for converting the handwritten data to converted data using the mapped, prestored symbols.

Inventors: BERMAN ERIC R, HOIEM DEREK E, MILLS EDWARD L, BERMAN, ERIC R., HOIEM, DEREK E., MILLS, EDWARD L.
Applicants: MICROSOFT CORP, MICROSOFT CORPORATION
Application year: 1994
Main classification: G06F3
IPC codes: G06F3, G06K9