Method for Modifying Ink Data, Information Processing Apparatus, and Program

The method automatically detects and corrects spelling mistakes in ink data by determining the type of error and applying appropriate corrections, enhancing the accuracy of handwritten character strings.

JP7690465B2Active Publication Date: 2025-06-10WACOM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022518619
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-04-27
Filing Date
2021-02-18
Publication Date
2025-06-10
Estimated Expiration
2041-02-18

AI Technical Summary

Technical Problem

When users input character strings by handwriting, spelling mistakes such as omissions, additions, and typos can occur, which are reflected in the ink data. There is a need for an automatic method to detect and correct these spelling mistakes in ink data.

Method used

The method involves a determination step to detect spelling mistakes in the ink data and a correction step to operate on the ink data based on the detected errors. This includes using a correction method determination unit to identify the type of spelling mistake (omission, addition, or misspelling) and a correction operation unit to apply the appropriate correction, such as adding, deleting, or replacing characters.

Benefits of technology

This approach enables automatic correction of ink data representing handwritten character strings, effectively addressing spelling mistakes and improving data accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007690465000001
    Figure 0007690465000001
  • Figure 0007690465000002
    Figure 0007690465000002
  • Figure 0007690465000003
    Figure 0007690465000003
Patent Text Reader

Abstract

[Problem] To enable automatic modification of ink data including a typographical error in a handwritten character sequence. [Solution] An ink data modification method according to the present invention comprises steps S2-S8 for detecting a typographical error included in a handwritten character sequence represented by ink data so as to determine an ink data modification process, and steps S10-S12 for handling the ink data on the basis of the determined ink data modification process so as to modify the ink data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a method for correcting ink data, an information processing device, and a program, and more particularly to a method for correcting ink data representing a character string, and an information processing device and a program for implementing such a correction method. [Background technology]

[0002] Digital handwriting is becoming more and more popular with the increasing number of information processing devices (smartphones, tablet devices, laptops, etc.) that support stylus input. Digital handwriting makes it possible to realize things that were not possible with traditional handwriting on paper, such as replaying strokes in the order they were written and matching using handwriting speed as a feature.

[0003] When inputting with a stylus, the information processing device is configured to generate ink data including one or more stroke data. The stroke data is data including a series of coordinates indicating the trajectory of the stylus's indicated position from when the tip of the stylus comes into contact with the touch surface until it is removed from the touch surface. For example, when a user inputs a character string with a stylus, the information processing device generates stroke data for each stroke and stores the stroke data in a storage unit as a series of ink data. The ink data generated in this manner ultimately becomes data representing the character string input by the user. Patent Document 1 discloses an example of such ink data. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2019-036366 A Summary of the Invention [Problem to be solved by the invention]

[0005] By the way, when a user enters a character string by handwriting, spelling mistakes such as omissions, additions, and typos may occur. Since this type of spelling mistake is naturally reflected in the character string represented by the ink data, when the handwritten character string represented by the ink data contains a spelling mistake, it is desirable that the information processing apparatus automatically detects this and corrects the ink data.

[0006] Therefore, one of the objects of the present invention is to provide a method for correcting ink data, an information processing apparatus, and a program that can automatically correct ink data including spelling mistakes.

Means for Solving the Problem

[0007] The method for correcting ink data according to the present invention includes a determination step of determining the method for correcting the ink data by detecting a spelling mistake included in a handwritten character string represented by the ink data, and a correction step of correcting the ink data by operating the ink data based on the correction method. It is a method for correcting ink data corresponding to a handwritten character string.

[0008] The information processing apparatus according to the present invention includes a correction method determination unit that determines the method for correcting the ink data by detecting a spelling mistake included in a handwritten character string represented by the ink data, and a correction operation unit that corrects the ink data by operating the ink data based on the correction method. It is an information processing apparatus.

[0009] The program according to the present invention causes an information processing apparatus to function as a correction method determination unit that determines the method for correcting the ink data by detecting a spelling mistake included in a handwritten character string represented by the ink data, and a correction operation unit that corrects the ink data by operating the ink data based on the correction method. It is a program for this purpose.

Effects of the Invention

[0010] According to the present invention, it becomes possible to automatically correct ink data corresponding to a handwritten string including spelling mistakes.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Embodiments for Carrying Out the Invention

[0012] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0013] FIG. 1 is a diagram showing an example of the configuration and usage state of the tablet terminal 1 according to an embodiment of the present invention. The tablet terminal 1 is an information processing device that supports input by the stylus P, and includes a panel surface 2 that serves as both a display surface and a touch surface. The method of input by the stylus P is not limited, and for example, an active electrostatic method (AES) or an electromagnetic induction method (EMR) can be preferably used. Hereinafter, the description will continue on the premise of using the active electrostatic method.

[0014] FIG. 2 is a diagram showing the internal configuration of the tablet terminal 1. As shown in the figure, the tablet terminal 1 includes a host processor 10, a storage unit 11, a display 12, a touch sensor 13, and a sensor controller 14.

[0015] The host processor 10 is the central processing unit of the tablet terminal 1, and by executing the programs stored in the storage unit 11, it plays a role in executing the operating system of the tablet terminal 1 and various applications such as drawing software. The drawing software includes a function of generating a file for storing ink data in the storage unit 11, a function of generating stroke data based on the coordinates and data sequentially supplied from the sensor controller 14 from pen down to pen up, sequentially rendering and displaying it on the display 12, and writing the generated stroke data as a series of ink data in the storage unit in association with each other, and a function of retrieving the generated ink data from the storage unit 11, rendering it, and displaying it on the display 12.

[0016] The memory unit 11 is configured to include a main memory device composed of, for example, a DRAM (Dynamic Random Access Memory), and an auxiliary memory device composed of, for example, a flash memory or a hard disk. In the memory unit 11, in addition to a program executed by the host processor 10 being stored in advance, various data used or generated by the host processor 10 is stored. This data includes, in addition to the ink data described above, the identification information of the tablet terminal 1, the login information for logging in to the operating system or various applications described above, and the like.

[0017] The display 12 is a device that visually outputs the result of processing by the host processor 10, and is composed of, for example, a liquid crystal display or an organic EL display.

[0018] The touch sensor 13 is a device having a plurality of sensor electrodes arranged over the entire panel surface 2 shown in FIG. 1. The plurality of sensor electrodes each include a plurality of X electrodes extending in the Y direction and a plurality of Y electrodes extending in the X direction. It is also possible to use a common electrode arranged in the display 12 as the plurality of X electrodes, and in this case, the tablet terminal 1 is called an "in-cell type".

[0019] The sensor controller 14 is an integrated circuit that uses the touch sensor 13 to detect the position of the stylus P and the finger within the panel surface 2 and receive the data transmitted by the stylus P. The data received from the stylus P includes a pen pressure value indicating the pressure applied to the tip of the stylus P, a pen ID assigned in advance to each stylus P, and the like. Regarding the pen pressure value among these, the sensor controller 14 is configured to detect that the stylus P has contacted the panel surface 2 (pen down) and that the stylus P has detached from the panel surface 2 (pen up) based on the pen pressure value received from the stylus P. The sensor controller 14 sequentially supplies the coordinates indicating the detected position, the received data, and the pen down or pen up information to the host processor 10.

[0020] The drawing software executed in the host processor 10 is configured to generate stroke data based on various data supplied from the sensor controller 14 and store it in association with a series of ink data previously generated and stored in the storage unit 11. Particularly regarding the input by the stylus P, the drawing software generates stroke data by arranging in time series a series of coordinates and pen pressure values supplied from the sensor controller 14 from pen-down to pen-up, and is configured to store it in association with a series of ink data in association with user information indicating the user who input the stroke data. The specific content of the user information may be the pen ID supplied from the sensor controller 14, the identification information of the tablet terminal 1, or the login information of the operating system or drawing application.

[0021] The drawing software is also configured to retrieve the generated ink data from the storage unit 11, render it, and display it on the display 12. In this rendering, in order to complement the coordinates between a series of coordinates, a predetermined interpolation curve such as a Catmull-Rom curve is used. Also, the pen pressure value is used to control the line width or transparency.

[0022] Returning to FIG. 1. The character string "patent aplication" shown in the figure is an example of a handwritten character string represented by ink data. The feature of the tablet terminal 1 according to the present embodiment lies in automatically detecting spelling mistakes included in such a handwritten character string and automatically correcting the ink data based on the result. Hereinafter, this point will be described in detail.

[0023] FIG. 3 is a diagram showing the functional blocks of the host processor 10 and the data stored in the storage unit 11. Only the part related to the above feature is shown in the figure.

[0024] As shown in FIG. 3, the host processor 10 is functionally configured to include a correction method determination unit 20 and a correction operation unit 21. Among these, the correction method determination unit 20 includes a character recognition processing unit 20a and a spelling mistake detection unit 20b. It should be noted that the correction method determination unit 20 and the correction operation unit 21 are preferably implemented as one of the functions in the above-described drawing software. Further, an ink database 30, a standard pattern database 31, and a word dictionary database 32 are stored in the storage unit 11.

[0025] The ink database 30 is a database that accumulates ink data generated by the host processor 10. The ink database 30 may accumulate not only the ink data generated by the host processor 10 of the tablet terminal 1 but also the ink data generated by the host processors of other information processing apparatuses.

[0026] The correction method determination unit 20 is a functional unit that determines the correction method of the ink data by detecting spelling mistakes included in the character string represented by the ink data stored in the ink database 30. The ink data to be the target of spelling mistake detection is specified by a user, for example. As a specific process, the correction method determination unit 20 first acquires text data indicating the character string represented by the ink data to be processed by executing character recognition processing using the character recognition processing unit 20a. Next, the correction method determination unit 20 uses the spelling mistake detection unit 20b to detect spelling mistakes included in the acquired text data. And finally, based on the content of the detected spelling mistakes, the correction method of the ink data is determined. This will be described in detail below.

[0027] The character recognition processing unit 20a is a functional unit that executes character recognition processing by performing processing similar to so-called OCR (Optical Character Recognition) using the standard pattern database 31. Specifically, when ink data is input, the character recognition processing unit 20a first analyzes the layout and cuts out lines and characters (including spaces). Next, the character recognition processing unit 20a extracts feature values from each of the cut-out characters.

[0028] In the standard pattern database 31, standard patterns for each character of the above-mentioned feature values are stored in advance. The character recognition processing unit 20a that extracts feature values from each of the cut-out characters selects one character for each of the cut-out characters by comparing the extracted feature values with the standard patterns in the standard pattern database 31. The character recognition processing unit 20a outputs a series of characters thus selected as text data indicating the character string represented by the ink data to be processed.

[0029] Here, the text data output from the character recognition processing unit 20a is preferably stored in the ink database 30 in association with the ink data to be processed. By doing so, when the correction operation unit 21 acquires an additional stroke data group described later from the ink database 30, it becomes possible to determine the additional stroke data group to be acquired based on the text data stored in association with each ink data.

[0030] Next, the spelling error detection unit 20b is a functional unit that uses a word dictionary database 32 in which word data composed of combinations of one or more characters is stored in advance to detect spelling errors included in the text data output from the character recognition processing unit 20a. Specifically, the spelling error detection unit 20b first divides the text data output from the character recognition processing unit 20a into words. In the case of a language with spaces between words such as English, this division can be performed based on the spaces between characters. On the other hand, in the case of a language without spaces between words such as Japanese, words can be extracted by performing knowledge processing based on the words stored in the word dictionary database 32, and the division can be performed based on the results.

[0031] Subsequently, for each of the one or more words obtained by the division, the spelling error detection unit 20b determines whether there is a matching or similar word in the word dictionary database 32. Here, two words being similar means that, for example, the Levenshtein distance or Jaro-Winkler distance between the words is less than or equal to a predetermined value. If there is a matching word for a certain word, the spelling error detection unit 20b concludes that the word does not contain a spelling error. Also, even if there is neither a matching word nor a similar word for a certain word, the spelling error detection unit 20b concludes that the word does not contain a spelling error. This conclusion is because it is highly likely that the word is a proper noun or the like that is not listed in the dictionary. On the other hand, if there is no matching word for a certain word but there is a similar word, the spelling error detection unit 20b concludes that the word contains a spelling error.

[0032] FIG. 4 is a diagram showing an example of the above-described process executed by the spelling error detection unit 20b. FIG. 4(a) shows ink data, and FIG. 4(b) shows text data output from the character recognition processing unit 20a based on the ink data in FIG. 4(a). FIG. 4(b) also shows a word delimiter 100 obtained as a result of the division of the above-described text data. FIG. 4(c) shows words found by the spelling error detection unit 20b from within the word dictionary database 32 for each part of the text data in FIG. 4(b) divided by the delimiter 100.

[0033] As shown in FIG. 4(c), for the part "patent" in the text data, the exactly matching word "patent" has been found from within the word dictionary database 32. Therefore, the spelling error detection unit 20b concludes that the word "patent" does not contain a spelling error. On the other hand, for the part "aplication" in the text data, no exactly matching word has been found from within the word dictionary database 32, and a similar word "application" has been found. Therefore, the spelling error detection unit 20b concludes that the word "aplication" contains a spelling error.

[0034] Returning to FIG. 3, the spelling errors detected by the spelling error detection unit 20b can be of three types: omission, addition, and misspelling. Omission is a spelling error where a necessary character is missing, addition is a spelling error where an unnecessary character is mixed in, and misspelling is a spelling error where a necessary character is replaced by another character. The correction method determination unit 20 determines the method of correcting the ink data based on the detection results of these spelling errors. The correction method thus determined is addition of a character in the case of omission, deletion of a character in the case of addition, and replacement of a character in the case of misspelling.

[0035] Next, the correction operation unit 21 is a functional unit that corrects the ink data by operating on the ink data based on the correction method determined by the correction method determination unit 20. Hereinafter, the process performed by the correction operation unit 21 will be described in detail with reference to FIGS. 5 to 7.

[0036] FIG. 5 is a diagram for explaining an operation of ink data for correcting a missing character. FIG. 5(a) shows an example of ink data to be processed. The ink data in this example is "patent aplication" also shown in FIG. 4, and one "p" is missing as compared with "patent application" written in the correct spelling.

[0037] The correction method determined by the correction method determination unit 20 that has received the input of the ink data in FIG. 5(a) is, for example, to add a "p" between "p" and "l" in "aplication". First, the correction operation unit 21 selects one or more ink data input by the same user as the user who input the ink data to be processed from the ink database 30 shown in FIG. 3. Note that the ink data selected here may include the ink data that is currently the processing target. Then, the correction operation unit 21 acquires one or more stroke data representing the character "p" to be added from among the one or more selected ink data. Hereinafter, the one or more stroke data thus acquired are referred to as an "additional stroke data group". The character 101 shown in FIG. 5(c) shows the additional stroke data group thus acquired.

[0038] Next, the correction operation unit 21 determines the width X of the character 101 to be added based on the size of each character constituting the ink data to be processed and the content of the character to be added. Then, among the plurality of characters represented by the ink data to be processed, those located on the right side within the same line as the insertion portion of the character 101 to be added are selected, and based on the determined width X, the selected one or more characters are moved to the right. Specifically, for each of the series of coordinates included in the stroke data corresponding to the character to be moved, a process of adding a numerical value corresponding to the moving distance is performed so that the selected one or more characters are moved to the right by a distance corresponding to the width X. Note that the specific moving distance of each stroke data by this operation may be, for example, a distance obtained by adding a predetermined adjustment value α to the width X, as shown in FIG. 5(b). However, the adjustment value α may be a positive value, a negative value, or zero.

[0039] Subsequently, the correction operation unit 21 adjusts the values of the series of coordinates constituting the additional stroke data group so that the rendering result of the ink data with the additional stroke data group added is natural. Specifically, the values of the series of coordinates constituting the additional stroke data group are adjusted so that the character "p" displayed as a result of rendering the additional stroke data group is displayed at the position determined by the correction method determination unit 20 with the width X determined earlier. The correction operation unit 21 may also adjust the insertion position of the additional stroke data group within the file constituting the ink data so that the playback order is natural when the ink data is automatically played back. The correction operation unit 21 that has executed the adjustment ends the operation of the ink data by adding the adjusted additional stroke data group to the ink data.

[0040] Here, in the case of English as in the example of FIG. 5, a series of stroke data located on the right side of the portion where the additional stroke data group is to be inserted will be moved to the right. However, depending on the language and its writing style, a different method may be adopted. For example, in a language written from left to right such as Arabic, a series of stroke data located on the left side of the portion where the additional stroke data group is to be inserted will be moved to the left. Also, in vertical Japanese, a series of stroke data located below the portion where the additional stroke data group is to be inserted will be moved downward.

[0041] FIG. 6 is a diagram for explaining the operation of ink data for correcting a redundant character. FIG. 6(a) shows the ink data to be processed according to this example. This ink data is "patent appllication", and compared with "patent application" written in the correct spelling, one unnecessary "l" is added. In FIG. 6(a), character 102 corresponds to this "l".

[0042] The correction method determined by the correction method determination unit 20 that has received the input of the ink data in FIG. 6(a) is to delete one "l" in "appllication". The correction operation unit 21 first obtains the width Y of the character "l" to be deleted in the ink data to be processed. Then, as shown in FIG. 6(b), one or more stroke data corresponding to the character "l" to be deleted are deleted from the plurality of stroke data constituting the ink data.

[0043] After that, the correction method determination unit 20 selects, from among a plurality of characters represented by the ink data to be processed, those that were located on one side (the right side in the example of FIG. 6) within the same line as the deleted character "l", and moves the selected one or more characters to the left based on the width Y. Specifically, a process of subtracting a numerical value corresponding to the moving distance from each of a series of coordinates included in the stroke data corresponding to the character to be moved is performed so that the selected one or more characters move to the left by a distance corresponding to the width Y. Note that the specific moving distance of each character by this operation may be, for example, a distance obtained by adding a predetermined adjustment value β to the width Y as shown in FIG. 6(b). However, the adjustment value β may be a positive value, a negative value, or zero. The correction operation unit 21 completes the operation of the ink data by the processing so far.

[0044] Here, in the case of English as in the example of FIG. 6, the stroke data located on the right side of the deleted character is moved to the left, but depending on the language and its writing style, a different method may be adopted. For example, in a language written from left to right such as Arabic, the stroke data located on the left side of the deleted character is moved to the right. Also, in vertical Japanese, the stroke data located below the deleted character is moved upward.

[0045] FIG. 7 is a diagram for explaining the operation of ink data for correcting a typo. FIG. 7(a) shows the ink data to be processed according to this example. This ink data is "patent applecation", and compared with "patent application" written in the correct spelling, the "i" after "appl" is replaced with "e". In FIG. 7(a), the character 103 corresponds to this "e".

[0046] The correction method determined by the correction method determination unit 20 that has received the input of the ink data in FIG. 7(a) is to replace the "e" in "applecation" with "i". Upon receiving this determination, the correction operation unit 21 first performs the same ink data operations as those described with reference to FIG. 6, with "e" as the deletion target, as shown in FIGS. 7(a) to 7(c). Subsequently, the correction operation unit 21 performs the same ink data operations as those described with reference to FIG. 5 so that "i" is added between "l" and "c", as shown in FIGS. 7(c) to 7(e).

[0047] As a result of performing these operations, as shown in FIG. 7(e), the replacement of "e" with "i" in "applecation" is realized. Thus, the ink data operations for correcting typos are composed of a combination of the ink data operations for correcting redundant characters and the ink data operations for correcting missing characters.

[0048] Next, the processing of the host processor 10 described above will be explained in more detail from another perspective by referring to the processing flow of the host processor 10.

[0049] FIG. 8 is a flowchart showing the overall flow of the ink data correction process executed by the host processor 10. As shown in the figure, the host processor 10 first acquires ink data from the ink database 30 (step S1) and executes a character recognition process (step S2). The details of this character recognition process are as described above.

[0050] Subsequently, the host processor 10 divides the text data obtained by the character recognition process into words for each word (step S3). The details of this division process are as described above. Thereafter, the host processor 10 executes the processes of steps S5 to S13 for each word in the text data obtained by the division in step S3 (step S4).

[0051] Specifically, the host processor 10 first determines whether there is a matching word in the word dictionary database 32 shown in FIG. 3 (step S5). As a result, if it exists, the host processor 10 concludes that there is no spelling mistake and moves on to the next word for processing. On the other hand, if it does not exist, the host processor 10 further determines whether there is a similar word in the word dictionary database 32 (step S6). The meaning of similarity here is as described above. If it is determined in step S6 that there is none, the host processor 10 concludes that there is no spelling mistake and moves on to the next word for processing. On the other hand, when the host processor 10 determines that it exists, it compares the word to be processed with the similar word in the word dictionary database 32 to detect the content of the spelling mistake included in the word to be processed (step S7). As described above, the spelling mistakes thus detected may include three types: omission, addition, and misspelling.

[0052] Next, the host processor 10 determines a method for correcting the ink data based on the content of the spelling mistake detected in step S7 (step S8). Here, the content of the spelling mistake detected in step S7 is not necessarily only one. When a single word contains multiple spelling mistakes, the host processor 10 selects one of them and determines a correction method for correcting the selected spelling mistake.

[0053] Subsequently, the host processor 10 determines whether the correction method determined in step S8 is any of character addition, character deletion, or character substitution (step S9). As a result, if it is character addition, character addition processing (step S10) is executed, if it is character deletion, character deletion processing (step S11) is executed, and if it is character substitution, character substitution processing (step S12) is executed respectively. Details of each will be described in detail later with reference to FIGS. 9 to 11.

[0054] After the host processor 10 has completed any one of steps S10 to S12, it determines whether or not all spelling mistakes included in the word to be processed have been corrected (step S13). If it determines that they have not been completed, it returns to step S8 to correct the remaining spelling mistakes. On the other hand, the host processor 10 that has determined that they have been completed moves on to the next word. When the processing has been completed for all of the words in the text data obtained by the division in step S3, the host processor 10 ends the ink data correction process.

[0055] FIG. 9 is a flowchart showing details of the character addition process (step S10) shown in FIG. 8. The host processor 10 that executes this process first selects one or more pieces of ink data generated by the same user as the ink data to be processed (the data obtained in step S1 of FIG. 8) from within the ink database 30, and acquires the above-described additional stroke data group from among the one or more pieces of selected ink data (step S20).

[0056] Next, the host processor 10 determines the width X of the character to be added based on the size of each character constituting the ink data to be processed and the content of the character to be added (step S21). Subsequently, the host processor 10 selects, from among the plurality of characters represented by the ink data to be processed, those located on the right side within the same line as the insertion portion of the character to be added (step S22), and manipulates the ink data so that the one or more selected characters move to the right by a distance corresponding to the width X (specifically, the distance X + α shown in FIG. 5) (step S23). Details of this manipulation are as described above.

[0057] Next, the host processor 10 adjusts the values of a series of coordinates constituting the additional stroke data group so that the rendering result of the ink data with the additional stroke data group added thereto becomes natural (step S24). Details of this adjustment process are as described above. Thereafter, the host processor 10 adds the adjusted additional stroke data group to the ink data (step S25) and ends the character addition process.

[0058] FIG. 10 is a flowchart showing details of the character deletion process (step S11) shown in FIG. 8. First, the host processor 10 that executes this process derives the width Y of the character to be deleted in the ink data to be processed (step S30). Then, the host processor 10 deletes one or more stroke data corresponding to the character to be deleted from the ink data to be processed (step S31).

[0059] Next, the host processor 10 selects, among the plurality of characters represented by the ink data to be processed, those that were located on the right side within the same line as the deleted character (step S32). Then, the host processor 10 operates on the ink data to be processed so that the one or more selected characters move to the left by a distance corresponding to the width Y (specifically, the distance Y + β shown in FIG. 6) (step S33). Details of this operation are as described above. When step S33 is completed, the host processor 10 ends the character deletion process.

[0060] FIG. 11 is a flowchart showing details of the character replacement process (step S12) shown in FIG. 8. As shown in the figure, this process is a combination of a character deletion process and a character addition process. Specifically, first, the host processor 10 executes the character deletion process shown in FIG. 10, treating the incorrect character as the deletion target (step S40). As a result, the incorrect character is deleted from the ink data to be processed, and the space created by the deletion is filled. Next, the host processor 10 executes the character addition process shown in FIG. 9 so that the correct character is added at the position where the incorrect character was deleted (step S41). As a result, the correct character is inserted at the position where the typo in the ink data to be processed was deleted. After step S41 is completed, the host processor 10 ends the character replacement process.

[0061] As described above, according to the method for correcting ink data, the information processing apparatus, and the program according to the present embodiment, spelling mistakes included in a character string represented by ink data can be automatically detected, and based on the result, the ink data can be corrected. Therefore, it becomes possible to automatically correct ink data including spelling mistakes.

[0062] Also, when performing a correction to add a character, since an additional stroke data group is acquired from among ink data input in the past by the same user as the user who input the ink data to be processed, it is possible to prevent characters with a different handwriting from being mixed into the ink data in other parts.

[0063] Furthermore, since the values of a series of coordinates that make up the additional stroke data group are adjusted so that the rendering result of the ink data to which the additional stroke data group is added becomes natural, and then the additional stroke data group is added to the ink data, it is possible to obtain a natural rendering result even after the correction.

[0064] As described above, the preferred embodiments of the present invention have been described. However, the present invention is not limited to such embodiments, and it goes without saying that the present invention can be implemented in various modes without departing from the gist thereof.

[0065] For example, in FIG. 3, it has been described that one or more pieces of ink data input by the same user as the user who input the ink data to be processed are selected from the ink database 30. However, the ink data selected from the ink database 30 does not necessarily have to be input by the same user.

[0066] Also, in the correction method determination unit 20 shown in FIG. 3, it was described that text data indicating a character string represented by the ink data to be processed is obtained by executing character recognition processing using the character recognition processing unit 20a. However, it is not always necessary to obtain text data. That is, in the correction method determination unit 20, by executing character recognition processing using the character recognition processing unit 20a, normalization of the handwritten character string is performed by correcting the size, inclination, etc. of the handwritten character string represented by the ink data to be processed. Instead of text data, the normalized handwritten character string is registered in the storage unit 11. Thus, the correction method determination unit 20 may target the handwritten character string itself and use the spelling error detection unit 20d to detect spelling errors included in the obtained handwritten character string.

[0067] FIG. 12 is a diagram showing the functional blocks of the host processor 10 and the data stored in the storage unit 11 according to a modification of the above-described embodiment configured as described above. As shown in the figure, the host processor 10 according to this modification has a character recognition processing unit 20c instead of the character recognition processing unit 20a and has a spelling error detection unit 20d instead of the spelling error detection unit 20b. Further, the storage unit 11 has a handwritten character string database 33 instead of the word dictionary database 32.

[0068] The handwritten character string database 33 is a database that stores normalized handwritten character strings. The handwritten character string database 33 is configured to store examples of handwritten character strings for as many words as possible.

[0069] The character recognition processing unit 20c performs normalization of a character string by executing character recognition processing on ink data that is a target of spelling mistake detection. Specifically, the character recognition processing unit 20c first performs the same processing as the character recognition processing unit 20a to cut out lines and characters, and selects one character for each cut-out character. Then, the cut-out characters are shaped so as to be close to the shape expected as the shape of the selected character (that is, the shape of the character stored in the handwritten character string database 33). This shaping includes, as described above, correction of inclination and the like. Also, the sizes of the shaped characters are adjusted so that the sizes of the cut-out characters are equal to each other, for example.

[0070] The spelling mistake detection unit 20d detects a spelling mistake by comparing the shaped handwritten character string output from the character recognition processing unit 20c with the handwritten character string registered in the handwritten character string database 33. Specifically, the spelling mistake detection unit 20d first divides the handwritten character string output from the character recognition processing unit 20c into words. This processing may be the same as the processing for dividing text data performed by the spelling mistake detection unit 20b. Then, for each of the one or more words obtained by the division, it is determined whether there is a matching or similar handwritten character string in the handwritten character string database 33. If there is a matching handwritten character string for a certain word, the spelling mistake detection unit 20d concludes that the word does not contain a spelling mistake. Also, even if neither a matching handwritten character string nor a similar handwritten character string exists for a certain word, the spelling mistake detection unit 20d concludes that the word does not contain a spelling mistake. On the other hand, if there is no matching handwritten character string for a certain word but there is a similar handwritten character string, the spelling mistake detection unit 20d concludes that the word contains a spelling mistake. The processing of the correction method determination unit 20 and the correction operation unit 21 that receive this conclusion is as described in the above embodiment.

[0071] Thus, according to this modification example, even without acquiring text data, it is possible to automatically correct ink data including spelling mistakes in the same manner as in the above-described embodiment.

[0072] Also, in handwritten characters, for example, like English cursive writing, the characters before and after may be connected. Therefore, when the correction operation unit 21 adds the additional stroke data group to the ink data, it determines two stroke data to be connected after the addition, and deforms the shape (including position and / or thickness) of one or both of the two determined stroke data so that the two determined stroke data are connected. ク Similarly, when deleting one or more stroke data and moving what was located on one side to the other side within the same line as the deleted character, two stroke data to be connected after the movement operation are determined, and the shape (including position and / or thickness) of one or both of the two determined stroke data is deformed so that the two determined stroke data are connected. ク By doing so, it becomes possible to realize a continuous stroke that connects the characters before and after.

[0073] Also, at least one of the ink database 30, the standard pattern database 31, and the word dictionary database 32 shown in FIG. 3 and the handwritten character string database 33 shown in FIG. 12 may be configured to be connected to the host processor 10 via a network.

[0074] Furthermore, part or all of the processing performed by the host processor 10 shown in FIG. 3 may be executed via a network using, for example, cloud computing technology.

Explanation of Reference Numerals

[0075] 1 Tablet terminal 2 Panel surface 10 Host processor 11 Storage unit 12 Display 13 Touch sensor 14 Sensor controller 20 Correction method determination unit 20a, 20c Character recognition processing unit 20b, 20d Spelling mistake detection unit 21 Correction operation unit 30 Ink database 31 Standard pattern database 32 Word dictionary database 33 Handwritten character string database 101 Character to be added 102 Character to be deleted 103 Character to be replaced P Stylus X, Y width α, β adjustment value

Claims

A determination step of obtaining text data representing a handwritten string represented by ink data including a plurality of stroke data each including a series of coordinates indicating a locus of an instruction position of a stylus, performing character recognition processing on the ink data, detecting a spelling mistake included in the handwritten string by detecting a spelling mistake included in the text data, and determining a method of correcting the ink data based on a detection result of the spelling mistake included in the handwritten string; A correction step of correcting the ink data by operating the ink data based on the correction method; A method of correcting ink data corresponding to a handwritten string including the above. A determination step of normalizing a handwritten string represented by ink data including a plurality of stroke data each including a series of coordinates indicating a locus of an instruction position of a stylus, performing character recognition processing on the ink data, detecting a spelling mistake included in the handwritten string by comparing the normalized handwritten string with a pre-registered handwritten string, and determining a method of correcting the ink data based on a detection result of the spelling mistake included in the handwritten string; A correction step of correcting the ink data by operating the ink data based on the correction method; A method of correcting ink data corresponding to a handwritten string including the above. Claim 3 The correction method is addition of a character. The operation of the ink data in the correction step includes an operation of adding one or more stroke data representing a character to be added to a plurality of stroke data constituting the ink data. A method of correcting ink data corresponding to the handwritten string according to claim 1 or 2. Claim 4 The correction step obtains one or more stroke data representing the character to be added from one or more ink data input by a user who input the ink data. A method of correcting ink data corresponding to the handwritten string according to claim 3. Claim 5 The operation of the ink data in the correction step includes an operation of determining a width of the character to be added and moving, according to the determined width, one located on one side of a portion where the character to be added is to be inserted among a plurality of characters constituting the handwritten string to the one side. A method of correcting ink data corresponding to the handwritten string according to claim 4. Claim 6 The operation of the ink data by the correction step determines two stroke data to be concatenated after the addition of one or more stroke data, and includes an operation of deforming the shape of one or both of the two determined stroke data so that the two determined stroke data will be concatenated. A method for correcting ink data corresponding to a handwritten character string according to any one of claims 3 to 5.

7. The correction method is character deletion, The operation of the ink data by the correction step includes an operation of deleting one or more stroke data corresponding to the character to be deleted from a plurality of stroke data constituting the ink data. A method for correcting ink data corresponding to a handwritten character string according to claim 1 or 2.

8. The operation of the ink data by the correction step includes an operation for moving, to the other side, those among a plurality of characters constituting the handwritten character string that were located on one side of the deleted character to be deleted, based on the width of the character to be deleted. A method for correcting ink data corresponding to a handwritten character string according to claim 7.

9. The operation of the ink data by the correction step determines two stroke data to be concatenated after performing the operation for moving, and includes an operation of deforming the shape of one or both of the two determined stroke data so that the two determined stroke data will be concatenated. A method for correcting ink data corresponding to a handwritten character string according to claim 8.

10. The correction method is character replacement, The operation of the ink data by the correction step is an operation of deleting one or more stroke data corresponding to the incorrect character from a plurality of stroke data constituting the ink data, and an operation of adding one or more stroke data representing the correct character to a plurality of stroke data constituting the ink data. A method for correcting ink data corresponding to a handwritten character string according to claim 1 or 2.

11. The correction step obtains one or more stroke data representing the correct character from among one or more ink data input by the user who input the ink data. A method for correcting ink data corresponding to a handwritten character string according to claim 10.

12. The operation of the ink data by the correction step is An operation for moving, to the other side, a character among a plurality of characters constituting the handwritten string that was located on one side of the incorrect character that has been deleted, based on the width of the incorrect character; An operation for determining the width of the correct character and moving, according to the determined width, a character among a plurality of characters constituting the handwritten string that is located on one side of a portion where the correct character is to be inserted, to that one side; and A method for correcting ink data corresponding to the handwritten string according to claim 11.

13. Text data indicating a handwritten string represented by ink data including a plurality of stroke data each including a series of coordinates indicating a locus of an instruction position of a stylus is obtained by performing character recognition processing, a spelling mistake included in the handwritten string is detected by detecting a spelling mistake included in the text data, a correction method determination unit that determines a correction method for the ink data based on a detection result of the spelling mistake included in the handwritten string; A correction operation unit that corrects the ink data by operating the ink data based on the correction method; An information processing apparatus including the same.

14. Normalization of a handwritten string represented by ink data including a plurality of stroke data each including a series of coordinates indicating a locus of an instruction position of a stylus is performed by performing character recognition processing, a spelling mistake included in the handwritten string is detected by comparing the normalized handwritten string with a pre-registered handwritten string, a correction method determination unit that determines a correction method for the ink data based on a detection result of the spelling mistake included in the handwritten string; A correction operation unit that corrects the ink data by operating the ink data based on the correction method; An information processing apparatus including the same.

15. An information processing apparatus obtains text data indicating a handwritten string represented by ink data including a plurality of stroke data each including a series of coordinates indicating a locus of an instruction position of a stylus by performing character recognition processing, detects a spelling mistake included in the handwritten string by detecting a spelling mistake included in the text data, a correction method determination unit that determines a correction method for the ink data based on a detection result of the spelling mistake included in the handwritten string, and a correction operation unit for correcting the ink data by manipulating the ink data based on the correction method; A program to function as a

16. An information processing device, a correction method determination unit that performs character recognition processing to normalize a handwritten character string represented by ink data including a plurality of stroke data each including a series of coordinates indicating a trajectory of a stylus indication position, detects spelling errors contained in the handwritten character string by comparing the normalized handwritten character string with preregistered handwritten character strings, and determines a method of correcting the ink data based on the detection result of the spelling errors contained in the handwritten character string; and a correction operation unit for correcting the ink data by manipulating the ink data based on the correction method; A program to function as a

Citation Information

Patent Citations

  • Handwriting character recognition method and handwriting character recognition device

    JP2012520492A

  • Method for outputting digital ink

    JP2019036366A