Input error correction method and device
By generating the associated string and finding the result of the association matching, the problem of input errors in the soft keyboard of the smartphone is solved, and intelligent correction of missed presses is achieved, improving input accuracy.
Patent Information
- Application Number
- CN201910741374.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-08-12
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2039-10-30
AI Technical Summary
Due to the small size of the smartphone soft keyboard, users are prone to mispressing or missing keys when entering. The existing error correction mechanism cannot effectively solve such input errors.
Generate strings by identifying the user's input keys on the soft keyboard. If no matching result is found in the vocabulary, the associated string is generated based on the association key of each input key, the association matching result is found, and the result is fed back to the user. choose.
When the user presses the soft keyboard by mistake or misses, it can intelligently correct input errors, provide correct input results, and improve input accuracy.
Smart Images

Figure CN110488990B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to an input error correction method and device. Background Art
[0002] Touch-screen smartphones have become the mainstream mobile phones, and people's lives are becoming more and more inseparable from mobile phones. When chatting or working on mobile phones, it is inevitable to input text. In order to enable users to input text, smartphones are usually equipped with soft keyboards. However, the screen size of smartphones is limited, and the soft keyboards set in them are usually relatively small. The keys on the soft keyboard and the intervals between keys are also relatively small, which can easily cause users to press the wrong keys when inputting, generating a string containing one or more wrong characters; when inputting, they may also press the blank position on the soft keyboard, resulting in input errors, and unable to generate reasonable words or words based on user input.
[0003] Commonly used computer keyboards and non-smartphone keyboards are usually mechanical keyboards, which are not as sensitive as soft keyboards. In addition, the input surface of mechanical keyboards is usually larger, the key area is large, and the positions of the keys are clearly defined. It is rare to make mistakes or miss the key when using a soft keyboard. The error correction mechanism in existing input methods is mostly based on mechanical keyboard settings, and there is no good solution to the input errors caused by wrong or missed keys when using a soft keyboard.
[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0005] The embodiments of the present disclosure provide an input error correction method and device, which can, at least to a certain extent, intelligently correct input errors caused by wrongly pressing or missing keys on a soft keyboard when a user uses the soft keyboard for input.
[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.
[0007] According to one aspect of an embodiment of the present disclosure, an input error correction method is disclosed, comprising:
[0008] Identify input keys of a user on a soft keyboard to generate a character string according to the input keys;
[0009] Search the word library according to the character string;
[0010] If no result matching the character string is found in the word library, generating an associated character string according to the associated key of each input key of the user on the soft keyboard;
[0011] Searching for associative matching results in the vocabulary using the associated character string;
[0012] The associative matching result is fed back to the user for selection by the user.
[0013] According to one aspect of an embodiment of the present disclosure, an input error correction method is disclosed, comprising:
[0014] Acquire a sequence of continuous input positions of a user for a character string on a soft keyboard, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard;
[0015] Generate an associated character string according to an associated key of the at least one input position on the soft keyboard;
[0016] Searching for associative matching results in the vocabulary using the associated character string;
[0017] The associative matching result is fed back to the user for selection by the user.
[0018] According to an embodiment of the present disclosure, for each input position of the at least one input position, the character of the associated key of the input position on the soft keyboard is used as a candidate character corresponding to the input position, and then the combination of candidate characters corresponding to each input position of the at least one input position is traversed, and each combination is used as an associated character string. The method further includes:
[0019] For each input position of the at least one input position, determining a weight of the candidate character according to a distance between a key on the soft keyboard where the candidate character is located and the input position;
[0020] Multiplying the weight of each candidate character in the associated string to obtain the weight of the associated string;
[0021] Feeding back the associative matching results to the user for selection by the user includes: sorting the matching results in order of weights of corresponding associated character strings for selection by the user.
[0022] According to an embodiment of the present disclosure, for each input position of the at least one input position, the character of the associated key of the input position on the soft keyboard is used as a candidate character corresponding to the input position, and then the combination of candidate characters corresponding to each input position of the at least one input position is traversed, and each combination is used as an associated character string. The method further includes:
[0023] For each input position of the at least one input position, determining a weight of the candidate character according to a distance between a key on the soft keyboard where the candidate character is located and the input position;
[0024] Multiplying the weight of each candidate character in the associated string to obtain the weight of the associated string;
[0025] The searching for an associative matching result in the word library with the associated character string includes: searching for a plurality of associative matching results in the word library with the associated character string, each associative matching result corresponding to a common degree weight;
[0026] Feeding back the associative matching result to the user for selection by the user includes:
[0027] Multiplying the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain the total weight of the associative matching result;
[0028] The associative matching results are sorted in the order of the total weight for selection by the user.
[0029] According to a third aspect of an embodiment of the present disclosure, an input error correction device is disclosed, comprising:
[0030] A first generating unit, used for identifying an input key of a user on a soft keyboard, to generate a character string according to the input key;
[0031] A query unit, used for querying a word library according to the character string;
[0032] A second generating unit, configured to generate an associated character string according to an associated key of each input key of the user on the soft keyboard if no result matching the character string is found in the word library;
[0033] A first search unit, configured to search for an associative matching result in the word library using the associated character string;
[0034] The first feedback unit is used to feed back the associative matching result to the user for selection by the user.
[0035] According to a fourth aspect of an embodiment of the present disclosure, an input error correction device is disclosed, comprising:
[0036] An acquiring unit, configured to acquire a sequence of continuous input positions of a user for a character string on a soft keyboard, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard;
[0037] A third generating unit, configured to generate an associated character string according to an associated key of the at least one input position on the soft keyboard;
[0038] A second search unit, configured to search the vocabulary for an associative matching result using the associated character string;
[0039] The second feedback unit is used to feed back the associative matching result to the user for selection by the user.
[0040] According to a fifth aspect of an embodiment of the present disclosure, a computing device is disclosed, comprising a memory, a processor, and computer instructions stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned input error correction method when executing the instructions.
[0041] According to a sixth aspect of an embodiment of the present disclosure, a computer-readable storage medium is disclosed, which stores computer instructions, and when the instructions are executed by a processor, the steps of the above-mentioned input error correction method are implemented.
[0042] In one embodiment of the present disclosure, if the user presses other keys around the input key on the soft keyboard by mistake, the word library will most likely not find a matching result based on the character string generated by the user's input key on the soft keyboard. Therefore, an associated character string is generated based on the associated key (such as the surrounding keys) of each input key of the user on the soft keyboard, and the associated character string is used to search for an associative matching result in the word library, and the associative matching result is fed back to the user for the user to select, so that the correct result can still be returned when the user presses other keys around the correct key by mistake.
[0043] In one embodiment of the present disclosure, if the user presses a position where there is no key next to the correct key when pressing the input key on the soft keyboard, the positions pressed by the user on the soft keyboard still form a position sequence, but there may be at least one input position in the sequence that does not correspond to any key on the soft keyboard. Therefore, according to the associated key of the at least one input position on the soft keyboard (for example, the key whose center is closest to the input position), an associated string is generated, and the associated string is used to search for an associative matching result in the vocabulary, and the associative matching result is fed back to the user for the user to select, so that when the user presses the input key on the soft keyboard, the correct result can still be returned when the user presses a position where there is no key next to the correct key.
[0044] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0046] Figure 1 It is an overall block diagram of the system architecture applied in the embodiment of the present disclosure;
[0047] Figure 2A-2B This is an embodiment of the present disclosure Figure 1 A module block diagram of the vocabulary library and each module included in the processor involved in the embodiment of the present disclosure;
[0048] Figure 3A The embodiment of the present disclosure utilizes Figure 2A Flow chart of input error correction in each module;
[0049] Figure 3B The embodiment of the present disclosure utilizes Figure 2B Flow chart of input error correction in each module;
[0050] Figure 4A-4B This is a usage status diagram of the soft keyboard when input error correction is performed based on the soft keyboard in actual applications;
[0051] Figure 5 It is a flow chart of an input error correction method provided by an embodiment of the present disclosure in a scenario where a user presses other keys by mistake;
[0052] Figure 6 It is a flow chart of an input error correction method provided by an embodiment of the present disclosure in a scenario where a user presses other keys by mistake;
[0053] Figure 7 It is a flow chart of an input error correction method provided by an embodiment of the present disclosure in a scenario where a user presses a blank input position on a soft keyboard that does not correspond to any key;
[0054] Figure 8 It is a flowchart of an input error correction method provided by an embodiment of the present disclosure in a scenario where a user presses a blank input position on a soft keyboard that does not correspond to any key;
[0055] Fig. 9 This is a schematic diagram of the connection of various modules of an input error correction device provided by an embodiment of the present disclosure in a scenario where a user presses other keys by mistake;
[0056] Fig.10This is a schematic diagram of the connection of various modules of an input error correction device provided by an embodiment of the present disclosure in a scenario where a user presses other keys by mistake;
[0057] Fig.11 This is a schematic diagram of the connection of various modules of an input error correction device provided by an embodiment of the present disclosure in a scenario where a user presses a blank input position on a soft keyboard that does not correspond to any key;
[0058] Fig.12 This is a schematic diagram of the connection of various modules of an input error correction device provided by an embodiment of the present disclosure in a scenario where a user presses a blank input position on a soft keyboard that does not correspond to any key;
[0059] Fig.13 This is a hardware structure diagram of a terminal device for input error correction provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0060] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more comprehensive and complete and will fully convey the concept of the example embodiments to those skilled in the art.
[0061] In addition, the described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the present disclosure.
[0062] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0063] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0064] It should be emphasized that the input error correction method provided in this application involves "key monitoring". When applying the various embodiments in this application to specific products or technologies, "key monitoring" can only be performed after obtaining the permission or consent of the relevant users, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0065] In the specification of the present disclosure, an input error correction method and device are provided, which are described in detail one by one in the following embodiments.
[0066] Based on the above problems, the following optimization scheme is proposed in the embodiments of the present disclosure:
[0067] An embodiment of the present disclosure provides a terminal device 130, such as Figure 1 As shown, the terminal device 130 includes a memory 140 and a processor 150. The memory 140 stores one or more programs, and the processor 150 executes the programs stored in the memory 140 to generate a soft keyboard 170 that can be displayed on the display 160. The soft keyboard 170 is provided with keys that can be operated by touch screen, and the processor 150 recognizes the input keys of the user on the soft keyboard 170 and can generate a character string according to the input keys.
[0068] The terminal device 130 is provided with a network access device, which includes a network interface. The terminal device 130 is connected to the word library 110 through the network interface and the network 120, so as to query the word library 110 according to the generated character string to detect whether the input character string is correct or reasonable. The word library 110 includes a "cloud word library" stored on the server side.
[0069] Figure 2A It is a schematic diagram of the connection of each module inside the processor 150 when correcting the error of pressing the soft keyboard by mistake. As shown in FIG2 , the processor 150 includes an input method module 210, an associative error correction module 220, a soft keyboard layout module 240 and a user key monitor 230. The soft keyboard 170 is provided with keys, and the soft keyboard layout module 240 stores the coordinates of the position area of each key in the soft keyboard 170 on the display 160. For example, when the key is square, the soft keyboard layout module 240 stores the coordinates of the four corners of the square key. The user key monitor 230 obtains the input position of the user on the display 160, and sends the obtained input position to the input method module 210. The input method module 210 queries the soft keyboard layout module 240 according to the received input position. If the input position falls within the position area of a key stored in the soft keyboard layout module 240, the character of the key is used as the input character, thereby obtaining the character corresponding to the input position, and then generating a character string according to a series of input positions of the user on the soft keyboard 170. Finally, the generated character string is used to query the word library 110.
[0070] If no result matching the string is found in the vocabulary 110, the input method module 210 transmits the string obtained based on a series of continuous input positions obtained from the user key monitor 230 to the associative error correction module 220, and the associative error correction module 220 queries the soft keyboard layout module 240 based on the string, performs associative error correction based on the key where each character in the string is located and the position area of each key on the soft keyboard stored by the soft keyboard layout module 240, generates an associative string, and uses the associative string to query the vocabulary 110. If an associative matching result matching the associative string is found in the vocabulary 110, the associative matching result is generated or downloaded, and the associative matching result is fed back to the user for the user to select. The associative matching result includes the characters or words contained in the vocabulary 110. The vocabulary 110 here can also be a local offline vocabulary.
[0071] Figure 2B It is a schematic diagram of the connection of each module inside the processor 150 when correcting the missed key on the soft keyboard. As shown in Figure 3, the processor 150 includes an input method module 210, an associative error correction module 220, a soft keyboard layout module 240 and a user key monitor 230. The user key monitor 230 obtains the input position of the user on the display 160, and sends the obtained input position to the input method module 210. The input method module 210 queries the soft keyboard layout module 240 according to the received input position. If the input method module 210 does not find the character that matches the input position in the soft keyboard layout module 240, a continuous series of input positions containing the input position on the soft keyboard 170 of the user are sent to the associative error correction module 220, and the associative error correction module 220 queries the soft keyboard layout module 240 according to the continuous series of input positions, generates an associative string, and then uses the associative string to query the word library to obtain an associative matching result, and the generated associative matching result is fed back to the user for the user to select. The word library 110 here can also be a local offline word library.
[0072] Figure 3A To use Figure 2A First, the soft keyboard 170 is used for user interaction, the input method module 210 receives the input position of the user on the soft keyboard 170 obtained by the user key monitor 230, and queries the position area of each character key on the soft keyboard 170 recorded by the soft keyboard layout module 240 according to the input position, thereby identifying the input key of the user on the soft keyboard 170, obtaining the input character, and then obtaining a character string containing several input characters according to a series of input positions of the user on the soft keyboard 170.
[0073] The input method module 210 uses the generated character string to query the word library 110. If the input method module 210 finds a result matching the generated character string in the word library 110, the matching result is displayed.
[0074] If the input method module 210 does not find a result matching the generated character string in the word library 110 , the input method module 210 sends the character string to the association error correction module 220 .
[0075] The associative error correction module 220 uses the key where the character in the acquired string is located to query the soft keyboard layout module 240 to obtain the associated string. Then the associative error correction module 220 uses the associated string to query the word library 110.
[0076] If the associative error correction module 220 does not find a matching result in the vocabulary 110, the associative error correction module 220 transmits the character string to the display 160, and the display 160 displays the character string generated by the user input as it is, which may contain one or more erroneous characters generated by the user's mistaken pressing of the soft keyboard 170.
[0077] If the associative error correction module 220 finds a result that matches the associated string in the vocabulary, the associative error correction module 220 generates the matching result and transmits the matching result to the display 160, which displays the matching result. The matching result includes Chinese characters, Chinese words, foreign words, foreign phrases, etc.
[0078] Figure 3B To use Figure 2B First, the soft keyboard 170 is used for user interaction, the input method module 210 receives the user's input position obtained by the user key monitor 230, and queries the position area of each character key on the soft keyboard 170 recorded by the soft keyboard layout module 240 according to the input position, thereby identifying the user's input key on the soft keyboard 170.
[0079] When the input method module 210 finds that the input position on the soft keyboard layout module 240 is not within the position area of any character, the input method module 210 passes a series of continuous input positions of the user on the soft keyboard that include input positions that are not within the position area of any character to the associative error correction module 220, and the associative error correction module 220 uses the continuous series of input positions to query the user key monitor 230 to obtain an associated character string.
[0080] Then, the association error correction module 220 queries the thesaurus 110 using the associated string. If the association error correction module 220 does not find a result in the thesaurus 110 that matches the associated string, the string generated according to the user input is displayed as it is. The number of characters included in the string generated according to the user input may be one or several less than the number of consecutive input positions on the soft keyboard 170. If the association error correction module 220 finds a result in the thesaurus 110 that matches the associated string, the matching result is displayed. The matching result includes Chinese characters, Chinese words, words, or phrases, etc.
[0081] Next, with reference to Figure 4A-4B , combined with the layout of the soft keyboard, briefly describe the usage status of the soft keyboard when performing input error correction based on the soft keyboard in actual applications.
[0082] Figure 4A-4B is a common soft keyboard layout diagram for smart devices such as mobile phones and tablets.
[0083] As Figure 4A shown, when the user uses the soft keyboard to input the Chinese character "家" (jiā), first, according to the keys on the soft keyboard, the string "jia" is generated. If the user accidentally presses the "h" key adjacent to the "j" key when inputting the character "j", the incorrect string "hia" will be generated. When using the string "hia" to query the thesaurus, no Chinese character or word that matches the string "hia" can be found in the thesaurus. When using the string "hia" to query the thesaurus, no matching character can be found.
[0084] At this time, according to the layout of the soft keyboard, at least a part of the character keys on the soft keyboard located within the first set circular area 2 centered on the midpoint of the "h" key, at least a part of the character keys located within the second set circular area 3 centered on the midpoint of the "i" key, and at least a part of the character keys located within the third set circular area 4 centered on the midpoint of the "a" key can be obtained respectively. At least a part of the character keys on the soft keyboard located within the first set circular area 2 centered on the midpoint of the "h" key are used as the associated keys of the "h" key, and the characters of the associated keys of the "h" key are used as the candidate characters of the character "h"; at least a part of the character keys located within the second set circular area 3 centered on the midpoint of the "i" key are used as the associated keys of the "i" key; at least a part of the character keys located within the third set circular area 4 centered on the midpoint of the "a" key are used as the associated keys of the "a" key. The candidate characters y, g, b, n, j, u, v, n of the character h, the candidate characters u, j, k, o of the character i, and the candidate characters q, w, s, z of the character a can be obtained. The first set circular area 2, the second set circular area 3, and the third set circular area 4 are set by combining the error situations in the actual input process with the soft keyboard layout module that stores the position areas of each key on the soft keyboard.
[0085] Combine the candidate characters and the original input characters to generate a string containing the candidate characters. The combination process includes: sequentially inputting the candidate characters into the string order corresponding to their input positions to obtain a character combination containing the candidate characters, and the character combination including the candidate characters is the associated string. During the process of generating the associated string, the character "h" in the string can be replaced by 8 different characters, the character "i" in the string can be replaced by 4 different characters, and the character "a" in the string can be replaced by 4 different characters. Therefore, the generated associated strings will have 9 * 5 * 5 - 1 forms. In 9 * 5 * 5 - 1: 9 refers to the 9 known characters y, g, b, n, j, u, v, n, h, the first 5 refers to the 5 known characters u, j, k, o, i, the second 5 refers to the 5 known characters q, w, s, z, a, and the subtracted 1 refers to the already generated string "hia".
[0086] Use the generated associated strings to query the thesaurus 110, and matching results such as "家", "加", "佳", etc., "话", "花", "画", etc. can be found. Then generate the matching results such as "家", "加", "佳", etc., "话", "花", "画", etc. Transmit the already generated matching results to the display 160 for display.
[0087] As Figure 4B shown, when the user uses the soft keyboard to input the Chinese character "家", first, according to the keys on the soft keyboard, the string "jia" is input and generated. However, when the user inputs and generates the character "a", the blank input position 1 around the character "a" key is accidentally pressed, resulting in the string "ji" being generated according to the user's input. However, it is monitored that the user clicks three input positions on the soft keyboard, then the continuous input position sequence when the user inputs the string "ji" is obtained. According to the blank input position 1 in the continuous input position sequence, the associated keys of each blank input position 1 are searched, and the characters corresponding to the associated keys are used as candidate characters to generate an associated string containing the candidate characters.
[0088] Searching for the associated keys of each blank input position 1 according to the blank input position 1 in the continuous input position sequence includes: the character keys located within the fourth set circular area 5 centered on the blank input position 1, and at least a part of the character keys located within the fourth set circular area 5 centered on the blank input position 1 are used as the associated keys of the blank input position, and the characters of the associated keys of the blank input position are used as the candidate characters of the blank input position, and the candidate characters "q", "a" can be obtained. The fourth set circular area 5 is set by combining the error situations in the actual input process with the soft keyboard layout module that stores the position areas of each key on the soft keyboard.
[0089] The candidate characters are successively input into the sequence position corresponding to the blank input position 1 in the generated string, so that the missing candidate characters are successively added to the string to generate an associated string. Adding the candidate characters "q" and "a" to the string "ji" can generate the associated strings "jiq" and "jia".
[0090] Using the generated associated string to query the thesaurus 110, matching results such as "家", "加", "佳", etc. can be found. Then the matching results such as "家", "加", "佳", etc. are generated. The generated matching results are transmitted to the display 160 for display.
[0091] An embodiment of the present disclosure provides an input error correction method. This method can be executed by Figure 1 the terminal device 130 therein. As Figure 5 shown, this method includes steps 510 to 550:
[0092] Step 510: Identify the input keys of the user on the soft keyboard to generate a string according to the input keys;
[0093] Step 520: Query the thesaurus according to the string;
[0094] Step 530: If no result matching the string is found in the thesaurus, generate an associated string according to the associated keys of each input key of the user on the soft keyboard;
[0095] Step 540: Search for an associative matching result in the thesaurus with the associated string;
[0096] Step 550: Feedback the associative matching result to the user for the user to select.
[0097] The following describes these steps in detail.
[0098] In step 510, the input keys of the user on the soft keyboard are identified to generate a string according to the input keys.
[0099] In one or more embodiments provided by the present disclosure, touch-operable terminal devices such as mobile phones and tablet computers are usually equipped with soft keyboards for input. The soft keyboard is provided with character keys capable of touch screen operation, and the user key monitor stores the area position coordinates of each character key on the soft keyboard. For example, when the key is square, the user key monitor stores the coordinates of the four corners of the square area. When the user triggers a key on the soft keyboard, the user key monitor can detect the center point coordinates of the touched area. If the center point coordinates fall within the area position of a key, the character key is identified as an input key, and a character corresponding to the input key is generated, and then a string containing a series of characters is generated according to the continuous input of the user.
[0100] In step 520, a thesaurus is queried according to the string.
[0101] After generating a string according to the user's input, it is possible to query the thesaurus according to the string, find the results in the thesaurus that match the string, and feedback the matching results to the user for the user to use. The matching results include Chinese characters, Chinese words, foreign words, foreign phrases, etc. Here, the thesaurus includes a locally downloaded and stored offline thesaurus or / and a "cloud thesaurus" on the server side that can be accessed through a network connection. The "cloud thesaurus" on the server side supports downloading characters or words to the local offline thesaurus to save query speed and support user use. Figure 1 The situation of the network-connected thesaurus is shown, but actually the thesaurus can be a local thesaurus.
[0102] In one embodiment, after step 520, the method further includes: if a result matching the string is found in the thesaurus, then display the matching result. The matching results include Chinese characters, Chinese words, Chinese characters, Chinese phrases, etc. For example, using the generated string "jia" to query the thesaurus, it is possible to find the results "家", "加", "家", etc. in the thesaurus that match the string "jia", then generate the Chinese characters "家", "加", "佳", etc. that match the string "jia", and use a display to display the generated Chinese characters.
[0103] In step 530, if no result matching the string is found in the thesaurus, then an associated string is generated according to the associated keys of each input key of the user on the soft keyboard.
[0104] According to the generated string, it is possible to obtain the keys where the characters in the string are located, use the keys where the characters in the string are located as input keys, and obtain the associated keys of each input key according to each input key. According to the associated keys of each input key of the user on the soft keyboard, an associated string can be generated. Generating an associated string according to the associated keys of each input key of the user on the soft keyboard includes: querying the soft keyboard layout module, for each input key of the user on the soft keyboard, using at least a part of the keys within a circular area centered on the center point of the input key as the associated keys of the input key, and then traversing the combinations of the characters on each associated key of each input key, and each combination is used as an associated string.
[0105] For each input key, on the soft keyboard, at least a part of the keys within a set circular area centered on the center point of the input key are used as the associated keys of the input key. The diameter of the set circular area is a set value, and the set value is greater than zero. Therefore, at least a part of the associated keys is within the set circular area centered on the center point of its corresponding input key. The diameter of the set circular area is set according to the actual application situation. Figure 4A For example, the "G" key, "Y" key, "V" key, "B" key, "N" key, "J" key, and "U" key are all partially located in the first circular area 2 centered on the center point of the "H" key, so the "G" key, "Y" key, "V" key, "B" key, "N" key, "J" key, and "U" key are all associated keys of the "H" key.
[0106] The circular area is set by combining the error situation in the actual input process with the soft keyboard layout module that stores the position area of each key on the soft keyboard. The position area representing each character key stored in the soft keyboard layout module has a certain surface area. If the input position of the user on the soft keyboard is at any point or any position area in the character key position area stored in the soft keyboard layout module, then the character key is the user's input key. Therefore, when any position point or position area of a character key on the soft keyboard is triggered by the user, the character key can be regarded as the user's input key.
[0107] The character of the associated key is the candidate character of the input key corresponding to the associated key. For each input key of the user on the soft keyboard, at least a part of the keys on the soft keyboard located in a set circular area centered on the center point of the input key is used as the associated key of the input key. Therefore, since the spacing between the character keys on the soft keyboard is very small, each input key may have multiple associated keys, and each character in the character string may have multiple candidate characters.
[0108] Traversing the combinations of characters on each associated key of each input key includes: using each candidate character of each character in the string to replace the character in the string in turn, and generating a character combination containing at least one candidate character. If the string contains 3 characters, and each character has 6 candidate characters, then traversing the combinations of characters on each associated key of the input key will generate 7*7*7-1 combinations of characters. In 7*7*7-1, 7 refers to the character in 1 string plus the 6 candidate characters of the character, and the subtracted 1 refers to the generated string.
[0109] All character combinations that can be generated and contain at least one candidate character are associated character strings of the character string. The associated character string is a character combination that contains at least one candidate character generated in the process of traversing the combination of characters on each associated key of each input key.
[0110] In step 540, the associated character string is used to search for associative matching results in the vocabulary.
[0111] Using each associated string, query the word library to find the associative matching result that matches each associated string, and each result that matches the associated string is an associative matching result. The word library records the relevant information of the result that matches the associated string or string, and according to the relevant information of the result that matches the associated string or string recorded in the word library, the result that matches the associated string or string can be generated. The matching result includes the result that matches the associated string contained in the word library. The matching result includes Chinese characters, Chinese words, foreign words, foreign phrases, etc., so the associative matching result can be Chinese characters, Chinese words, foreign words, foreign phrases, etc. The result that matches the associated string is the associative matching result.
[0112] In step 550, the associative matching result is fed back to the user for selection by the user.
[0113] Feeding back the associative matching result to the user for selection by the user includes: generating the associative matching result, and sending the associative matching result to a display for display, so as to provide selection for the user.
[0114] In addition, after step 520, in one embodiment, if no associative matching result is found in the word library, the generated associated character string is displayed to the user so that the user can correct the error.
[0115] In one embodiment, after step 530, step 531 and step 532 may be further included.
[0116] Step 531: for each input key of the user on the soft keyboard, determine the weight of the candidate character according to the distance between the associated key of the input key and the input key.
[0117] By querying the soft keyboard layout module, the distance between each associated key of the input key and the input key can be obtained. According to the distance between each associated key of the input key and the input key, a weight can be set for the candidate characters on each associated key.
[0118] The distance between the associated key of an input key and the input key refers to the distance between the center point of the key position area stored in the soft keyboard layout module and the center point of the input key position area.
[0119] Setting a weight for a candidate character on an associated key includes: multiplying the inverse ratio of the distance between the associated key where the candidate character is located and the input key corresponding to the candidate character by a set value A as the weight of the candidate character. If the distance between the associated key where the candidate character is located and the input key corresponding to the candidate character is L, and the weight of the candidate character is Q, then Q=A / L. The set value A is greater than zero. The set value A can be half of the maximum length of the input key area on the soft keyboard stored in the soft keyboard layout module, and the weight Q is greater than zero and less than one.
[0120] In other embodiments, a comparison table between distance values and weights may also be set. The distance value is divided equally from zero to L, and each distance corresponds to a weight. The larger the distance value, the smaller the corresponding weight. After querying the soft keyboard layout module to obtain the distance between the associated key where the candidate character is located and the input key corresponding to the candidate character, the comparison table is queried according to the obtained distance value to obtain the weight corresponding to the distance value, and the obtained weight is used as the weight of the candidate character.
[0121] Step 532: multiply the weight of each candidate character in the associated string to obtain the weight of the associated string.
[0122] In the associated strings obtained in step 530, each associated string may include one or more candidate characters. The weights of all the candidate characters included in the associated string are multiplied, and then the value obtained after the multiplication is used as the weight of the associated string. In this way, each associated string will obtain a weight.
[0123] In step 540, the associated character string is used to search for associative matching results in the vocabulary.
[0124] Using each associated string, query the word library to find the associated string matching result. Each result matching the associated string is an associated matching result. The associated matching result includes the results that match the associated string contained in the word library. The matching results include Chinese characters, Chinese words, foreign words, foreign phrases, etc.
[0125] In step 550, the associative matching results are fed back to the user for selection by the user, including: sorting the matching results in order of weights of the corresponding associated character strings for selection by the user.
[0126] According to step 530, multiple associated character strings can be obtained. When the associated character strings obtained are used to query the vocabulary, it is possible that among the multiple associated character strings obtained, at least two associated character strings can find associative matching results that match them. At this time, the matching results can be sorted in the order of the weights of the corresponding associated character strings. Sorting the matching results in the order of the weights of the corresponding associated character strings includes: according to the method of obtaining the weights of the associated character strings in steps 531 and 532, sorting the matching results from large to small according to the weights of the corresponding associated character strings. Then the matching results are fed back to the user in order for the user to choose. Using this method, the user can quickly find the required results.
[0127] In one embodiment, in step 540, searching the vocabulary for an associative matching result with the associated string includes: searching the vocabulary for a plurality of associative matching results with the associated string, each associative matching result corresponding to a commonness weight.
[0128] Using each associated string, query the word library to find the associated matching result that matches each associated string, and each result that matches the associated string is an associated matching result. The associated matching result includes the results that match the associated string contained in the word library. The matching results include Chinese characters, Chinese words, foreign words, foreign phrases, etc. Therefore, the associated matching result can be Chinese characters, Chinese words, foreign words, foreign phrases, etc.
[0129] Each associative matching result will correspond to a common weight. The common weight of each associative matching result is calculated based on the amount of time that users use the associative matching result in the vocabulary. The more users use the associative matching result, the greater the common weight of the associative matching result.
[0130] In step 550 , the associative matching result is fed back to the user for selection by the user, including step 551 and step 552 .
[0131] Step 551: multiply the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain the total weight of the associative matching result.
[0132] Step 532 calculates the associated string. When the associated string is used to query the vocabulary in step 540, the weight of the associated matching result corresponding to the associated string can be obtained. The weight of the associated string corresponding to the obtained associated matching result is multiplied by the common weight of the associated matching result to obtain the total weight of the associated matching result.
[0133] Step 552: Sort the association matching results in the order of the total weight for selection by the user.
[0134] Sorting the associative matching results according to the total weight of the associative matching results includes: sorting the associative matching results according to their total weight from large to small, and then feeding back the associative matching results to the user in order for the user to select. Using this method, the user can quickly find the required results.
[0135] The above steps can correct the situation that when the user uses the soft keyboard to input, due to the small size of the soft keyboard, the user mistakenly presses other keys around the key that he wants to input, resulting in the generation of an incorrect string, and when the user uses the incorrect string to query the word library, no matching results are found, so that the user can quickly find the required results after adopting the error correction method. The method can correct the user's mistaken presses on the soft keyboard and quickly generate the results required by the user.
[0136] An embodiment of the present disclosure provides an input error correction method. The method can be Figure 1 The terminal device 130 in the embodiment is executed. Figure 7 As shown, the method includes steps 710 to 740:
[0137] Step 710: obtaining a sequence of continuous input positions of a user for a character string on a soft keyboard, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard;
[0138] Step 720: Generate an associated character string according to the associated key of the at least one input position on the soft keyboard;
[0139] Step 730: searching for associative matching results in the vocabulary using the associated character string;
[0140] Step 740: Feedback the associative matching result to the user for the user to select.
[0141] These steps are described in detail below.
[0142] In step 710, a sequence of continuous input positions of a user for a character string on a soft keyboard is obtained, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard.
[0143] In one or more embodiments provided by the present disclosure, when using a soft keyboard in a terminal device such as a mobile phone or a tablet computer for input, the user often mistakenly presses a blank position between character keys on the soft keyboard or on the border of the soft keyboard, thereby generating an input position that does not correspond to any key on the soft keyboard, causing the input method module to be unable to find the character corresponding to the input position when querying the soft keyboard layout module according to the non-corresponding key on the soft keyboard recorded by the user key monitor. At this time, a continuous input position sequence of the user on the soft keyboard for the character string is obtained, and at least one input position in the continuous input position sequence does not correspond to any key on the soft keyboard.
[0144] In step 720, an associated character string is generated according to the associated key of the at least one input position on the soft keyboard.
[0145] Generating an associated character string based on the associated key of at least one input position on the soft keyboard includes: for each input position of at least one input position that does not correspond to any key on the soft keyboard, using at least a portion of the key on the soft keyboard located within a set circular area centered on the input position as the associated key for the input position, using the characters of the associated key as candidate characters corresponding to each input position, and then traversing the combinations of candidate characters corresponding to each input position in at least one input position, with each combination being an associated character string. Therefore, at least a portion of the associated key is located within a set operating area centered on the input position corresponding to it, and the diameter of the set circular area is a set value, which is greater than zero. The diameter of the set circular area is set according to actual application conditions. Figure 4B For example, if the entire "A" key is located in the fourth set circular area 5 centered on the blank input position 1, and a portion of the "Q" key is located in the fourth set circular area 5 centered on the blank input position 1, then the "A" key and the "Q" key are both associated keys of the blank input position 1. Setting the circular area is to combine the error situation in the actual input process with the soft keyboard layout module that stores the position area of each key on the soft keyboard.
[0146] Then traverse the combinations of candidate characters corresponding to each input position in the at least one input position, and each combination is used as an associated string, including: for the at least one input position that does not correspond to any key on the soft keyboard, input each candidate character of the input position in sequence into the corresponding order of the input position in the string, and sequentially generate all character combinations containing different candidate characters. The corresponding order is determined by the input order of each input position in the string. If the input position ranks third in the input order, the corresponding order is the order of the third character in the string.
[0147] For example, if a continuous input position sequence in a string contains two input positions that do not correspond to any key on the soft keyboard, and each input position has six candidate characters, then for each input position, the candidate characters of the input position are entered in sequence into the corresponding order of the input position in the string, and all character combinations containing different candidate characters are generated in sequence. It is possible to generate 6*6 character combinations, and each combination is an associated string.
[0148] In step 730, the associated character string is used to search for associative matching results in the vocabulary.
[0149] Using each associated string, query the word library to find the associated string matching result, each result matching the associated string is an associated matching result. The associated matching result includes the results that match the associated string contained in the word library. The matching results include Chinese characters, Chinese words, foreign words, foreign phrases, etc.
[0150] In step 740, the associative matching result is fed back to the user for selection by the user.
[0151] Feeding back the associative matching result to the user for selection by the user includes: generating the associative matching result, and sending the associative matching result to a display for display, so as to provide selection for the user.
[0152] In addition, after step 730, in one embodiment, if no associative matching result is found in the word library, the generated associated character string is displayed to the user so that the user can correct the error.
[0153] In one embodiment, after step 720, steps 721 and 722 may also be included.
[0154] Step 721: For each input position of the at least one input position, determine the weight of the candidate character according to the distance between the key where the candidate character is located on the soft keyboard and the input position.
[0155] The soft keyboard layout module is queried, and for each of the at least one input position, the distance between the key where the candidate character of the input position is located and the input position can be obtained. The distance between the associated key of the input key and the input key refers to the distance between the center point of the key position area stored in the soft keyboard layout module and the center point of the input key position area. According to the distance between the key where the candidate character of the input position on the soft keyboard is located and the input position, a weight can be set for the candidate character of the input position. For each of the at least one input position, the distance between the key where the candidate character of the input position on the soft keyboard is located and the input position can be obtained, including: for each of the at least one input position, the distance between the key where the candidate character of the input position on the soft keyboard is located and the input position can be obtained.
[0156] Setting a weight for a candidate character includes: multiplying the inverse ratio of the distance between the candidate character key and the input position corresponding to the candidate character by a set value A as the weight of the candidate character. If the distance between the associated key corresponding to the candidate character and the input key is L, and the weight of the candidate character is Q, then Q = A / L. The set value A is greater than zero. The set value A is half of the maximum length of the character key area stored in the soft keyboard layout module, and the weight Q is greater than zero and less than one.
[0157] In other embodiments, a comparison table between distance values and weights may also be set. The distance value is divided equally from zero to L, and each distance corresponds to a weight. The larger the distance value, the smaller the corresponding weight. After querying the soft keyboard layout module to obtain the distance between the key of the candidate character and the input position corresponding to the candidate character, the comparison table is queried according to the obtained distance value to obtain the weight corresponding to the distance value, and the obtained weight is used as the weight of the candidate character.
[0158] Step 722: multiply the weight of each candidate character in the associated string to obtain the weight of the associated string.
[0159] In the associated strings obtained in step 720, each associated string may include one or more candidate characters. The weights of all the candidate characters included in the associated string are multiplied, and then the value obtained after the multiplication is used as the weight of the associated string. In this way, each associated string will obtain a weight.
[0160] In step 730, the associated character string is used to search for associative matching results in the vocabulary.
[0161] Using each associated string, query the word library to find the associated string matching result, each result matching the associated string is an associated matching result. The associated matching result includes the results that match the associated string contained in the word library. The matching results include Chinese characters, Chinese words, foreign words, foreign phrases, etc.
[0162] In step 740, the associative matching results are fed back to the user for selection by the user, including: sorting the matching results in order of weights of the corresponding associated character strings for selection by the user.
[0163] According to step 720, multiple associated strings can be obtained. When the associated strings obtained are used to query the vocabulary, it is possible that among the multiple associated strings obtained, at least two associated strings can find associative matching results that match them. At this time, the matching results can be sorted in the order of the weights of the corresponding associated strings, and the matching results can be sorted from large to small according to the weights of the corresponding associated strings according to the method of obtaining the weights of the associated strings in steps 721 and 722, and then the matching results are fed back to the user in order for the user to select. Using this method, the user can quickly find the required results.
[0164] In one embodiment, in step 730, searching the vocabulary for an associative matching result with the associated character string may further include: searching the vocabulary for multiple associative matching results with the associated character string, each associative matching result corresponding to a commonness weight.
[0165] Using each associated string, query the word library to find the associative matching result that matches each associated string, and each result that matches the associated string is an associative matching result. The associative matching result includes the result that matches the associated string contained in the word library. The word library records the relevant information of the result that matches the associated string or string, and according to the relevant information of the result that matches the associated string or string recorded in the word library, the result that matches the associated string or string can be generated. The matching result includes the result that matches the associated string contained in the word library. The matching result includes Chinese characters, Chinese words, foreign words, foreign phrases, etc., so the associative matching result can be Chinese characters, Chinese words, foreign words, foreign phrases, etc. The result that matches the associated string is the associative matching result.
[0166] Each associative matching result will correspond to a common weight. The common weight of each associative matching result is calculated based on the amount of use of the associative matching result in the vocabulary by the user. The more the associative matching result is used by the user, the greater the common weight of the associative matching result.
[0167] In step 740 , the associative matching result is fed back to the user for selection by the user, including step 741 and step 742 .
[0168] Step 741: multiply the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain the total weight of the associative matching result.
[0169] The associated string is calculated in step 720. When the associated string is used to query the vocabulary in step 730, the weight of the associated matching result corresponding to the associated string can be obtained. The weight of the associated string corresponding to the obtained associated matching result is multiplied by the common weight of the associated matching result to obtain the total weight of the associated matching result.
[0170] Step 742: Sort the association matching results in the order of the total weight for selection by the user.
[0171] Sorting the associative matching results according to the total weight of the associative matching results includes: sorting the associative matching results according to their total weight from large to small, and then feeding back the associative matching results to the user in order for the user to select. Using this method, the user can quickly find the required results.
[0172] The above steps can correct the user's missed key presses on the soft keyboard when the user uses the soft keyboard to input, and the user often presses the position that does not correspond to any key by mistake, resulting in missed presses. In this case, it is necessary to correct the missed presses on the soft keyboard according to the continuous input position sequence of the character string, so as to generate the result required by the user. The method can correct the missed presses on the soft keyboard by the user and quickly generate the result required by the user.
[0173] An embodiment of the present application also provides an input error correction device, such as Fig. 9 As shown, including:
[0174] A first generating unit 910, configured to identify an input key of a user on a soft keyboard, so as to generate a character string according to the input key;
[0175] A query unit 920, configured to query a word library according to the character string;
[0176] A second generating unit 930 is configured to generate an associated string according to an associated key of each input key of the user on the soft keyboard if no result matching the string is found in the word library;
[0177] The query unit 920 passes the generated character string to the second generation unit 930. The second generation unit 930 obtains the input key of the user on the soft keyboard according to each character in the character string. Then, for each input key of the user on the soft keyboard, the second generation unit 930 uses at least a part of the keys on the soft keyboard that are located in a circular area centered on the center point of the input key as the associated key of the input key, and then traverses the combination of characters on each associated key of each input key, and each combination is used as an associated character string.
[0178] Then the second generating unit 930 transmits the associated character string to the first determining unit 931. The first determining unit 931 is configured to, for each input key of the user on the soft keyboard, use at least a portion of the keys on the soft keyboard located in a circular area centered on the center point of the input key as the associated key of the input key, and then traverse the combinations of characters on the associated keys of each input key, and after each combination is used as an associated character string, for each input key of the user on the soft keyboard, determine the weight of the candidate character according to the distance between the associated key of the input key and the input key;
[0179] The first determining unit 931 transmits the associated string and the weight of the obtained selected character to the first calculating unit 932. The first calculating unit 932 is used to multiply the weight of each candidate character in the associated string to obtain the weight of the associated string. Then the first calculating unit 932 transmits the associated string and the obtained weight of the associated string to the first searching unit 940.
[0180] In one embodiment, the first search unit 940 is used to search the associated character string in the word library for an associative matching result. The first search unit 940 transmits the found associative matching result and the weight of the associated character string to the first feedback unit 950.
[0181] The first feedback unit 950 is used to feed back the associative matching result to the user for selection by the user. In this process, the first feedback unit 950 can sort the matching results in the order of the weights of the corresponding associated character strings for selection by the user.
[0182] like Fig.10 As shown, in another embodiment, after receiving the associated string and the weight of the associated string that has been obtained, the first search unit 940 can find multiple associated matching results when searching for the associated string in the vocabulary, and each associated matching result corresponds to a common weight. At this time, the first search unit 940 downloads or generates each associated matching result, and obtains the common weight of each associated matching result. The first search unit 940 then transmits the associated string weight, the associated matching result, and the common weight of the associated matching result to the first feedback unit 950.
[0183] The first feedback unit 950 includes: a second calculation subunit 951 and a first sorting subunit 952 .
[0184] The second calculation subunit 951 multiplies the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain the total weight of the associative matching result.
[0185] The first sorting subunit 952 sorts the association matching results in the order of the total weight for selection by the user.
[0186] The content executed by the unit in the above embodiment is the same as the method content in the above embodiment, and will not be repeated here.
[0187] An embodiment of the present application also provides an input error correction device, such as Fig.11 As shown, including:
[0188] The acquisition unit 1010 acquires a sequence of continuous input positions of a user for a character string on a soft keyboard, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard. The acquisition unit 1010 then passes the acquired sequence of continuous input positions to the third generation unit 1020.
[0189] The third generation unit 1020 generates an associated character string according to the associated key of the at least one input position on the soft keyboard. For each input position in the at least one input position, the third generation unit 1020 uses the character of the associated key of the input position on the soft keyboard as the candidate character corresponding to the input position, and then traverses the combination of candidate characters corresponding to each input position in the at least one input position, and each combination is used as an associated character string. For each input position in the at least one input position, the third generation unit 1020 uses at least a portion of the keys on the soft keyboard that are located within a set circular area centered on the input position as the associated key of the input position. Then the third generation unit 1020 passes the generated associated character string to the second determination unit 1021.
[0190] The second determining unit 1021 determines the weight of the candidate character for each input position of the at least one input position according to the distance between the key where the candidate character is located on the soft keyboard and the input position. Then the second determining unit 1021 transmits the associated string and the weight of the candidate character to the third calculating unit 1022.
[0191] The third calculation unit 1022 multiplies the weight of each candidate character in the associated character string to obtain the weight of the associated character string.
[0192] In one embodiment, the third calculation unit transmits the associated string and the weight of the associated string to the second search unit 1030. The second search unit 1030 searches for an associative matching result in the vocabulary with the associated string. The second search unit 1030 searches for an associative matching result in the vocabulary with the associated string. Then, the second search unit 1030 transmits the found associative matching result and the weight of the associated string to the second feedback unit 1040.
[0193] The second feedback unit 1040 multiplies the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain a total weight of the associative matching result.
[0194] like Fig.12 As shown, in another embodiment, after receiving the associated string and the weight of the associated string, the second search unit 1030 searches for the associative matching result in the word library with the associated string, and can find multiple associative matching results, each of which corresponds to a common weight. The second search unit 1030 obtains the multiple associative matching results and the common weight of each associative matching result, and then sends the obtained multiple associative matching results and the common weight of each associative matching result to the second feedback unit 1040.
[0195] The second feedback unit 1040 includes a fourth calculation subunit 1041 and a second sorting subunit 1042 .
[0196] The fourth calculation subunit 1041 multiplies the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain the total weight of the associative matching result.
[0197] The second sorting subunit 1042 sorts the association matching results in the order of the total weight for selection by the user.
[0198] The content executed by the unit in the above embodiment is the same as the method content in the above embodiment, and will not be repeated here.
[0199] The input error correction method of the embodiment of the present disclosure can be Fig.13 The terminal device 230 shown is implemented. Fig.13 The terminal device 230 according to an embodiment of the present disclosure is described. Fig.13 The terminal device 230 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0200] like Fig.13 As shown, the terminal device 230 is in the form of a general computing device. The components of the terminal device 230 may include but are not limited to: at least one processing unit 510, at least one storage unit 520, and a bus 530 connecting different system components (including the storage unit 520 and the processing unit 510).
[0201] The storage unit stores program codes, which can be executed by the processing unit 510, so that the processing unit 510 performs the steps according to various exemplary embodiments of the present invention described in the description of the exemplary method described above in this specification. For example, the processing unit 510 can perform the following steps: Figure 5 , Figure 6 , Figure 7 , Figure 8 The steps shown in .
[0202] The storage unit 520 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 5201 and / or a cache storage unit 5202 , and may further include a read-only storage unit (ROM) 5203 .
[0203] The storage unit 520 may also include a program / utility 5204 having a set (at least one) of program modules 5205, such program modules 5205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0204] Bus 530 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0205] The terminal device 230 may also communicate with one or more external devices 600 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the terminal device 230, and / or may communicate with any device that enables the terminal device 230 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 550. Furthermore, the terminal device 230 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 560. As shown, the network adapter 560 communicates with other modules of the terminal device 230 via a bus 530. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the terminal device 230, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0206] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0207] In an exemplary embodiment of the present disclosure, a computer program medium is further provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer is enabled to execute the method described in the above method embodiment.
[0208] According to one embodiment of the present disclosure, a program product for implementing the method in the above method embodiment is also provided, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto, and in this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0209] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RGM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0210] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0211] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0212] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as JAVA, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0213] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0214] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0215] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0216] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the appended claims.
Claims
1. An input error correction method, characterized in that: include: Identify input keys of a user on a soft keyboard to generate a character string according to the input keys; Search the word library according to the character string; If no result matching the character string is found in the word library, for each input key of the user on the soft keyboard, at least a part of the keys on the soft keyboard located within a set circular area centered on the center point of the input key is used as an associated key of the input key, and then the combinations of characters on the associated keys of each input key are traversed, and each combination is used as an associated character string; Searching for associative matching results in the vocabulary using the associated character string; The associative matching result is fed back to the user for selection by the user.
2. The input error correction method according to claim 1, characterized in that: For each input key of the user on the soft keyboard, at least a part of the keys on the soft keyboard located in a set circular area centered on the center point of the input key is used as an associated key of the input key, and then the combinations of characters on the associated keys of each input key are traversed, and each combination is used as an associated string, the method further includes: The character of the associated key is the candidate character of the input key corresponding to the associated key. For each input key of the user on the soft keyboard, the weight of the candidate character is determined according to the distance between the key on the soft keyboard where the candidate character is located and the input key; Multiplying the weight of each candidate character in the associated string to obtain the weight of the associated string; Feeding back the associative matching results to the user for selection by the user includes: sorting the matching results in order of weights of corresponding associated character strings for selection by the user.
3. The input error correction method according to claim 1, characterized in that: For each input key of the user on the soft keyboard, at least a part of the keys on the soft keyboard located in a set circular area centered on the center point of the input key is used as an associated key of the input key, and then the combinations of characters on the associated keys of each input key are traversed, and each combination is used as an associated string, the method further includes: For each input key of the user on the soft keyboard, determine the weight of the candidate character according to the distance between the associated key of the input key and the input key; Multiplying the weight of each candidate character in the associated string to obtain the weight of the associated string; The searching for an associative matching result in the word library with the associated character string includes: searching for a plurality of associative matching results in the word library with the associated character string, each associative matching result corresponding to a common degree weight; Feeding back the associative matching result to the user for selection by the user includes: Multiplying the weight of the associated character string corresponding to the associative matching result by the commonness weight of the associative matching result to obtain the total weight of the associative matching result; The associative matching results are sorted in the order of the total weight for selection by the user.
4. The input error correction method according to claim 1, characterized in that: After searching the word library according to the character string, the method further includes: If a result matching the character string is found in the word library, the matching result is displayed.
5. The input error correction method according to claim 1, characterized in that: After searching the word library for associative matching results with the associated character string, the method further includes: If no associative matching result is found, the associated character string is displayed to the user.
6. An input error correction method, characterized in that: include: Acquire a sequence of continuous input positions of a user for a character string on a soft keyboard, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard; For each input position in the at least one input position, taking the character of the key associated with the input position on the soft keyboard as the candidate character corresponding to the input position, and then traversing the combinations of candidate characters corresponding to each input position in the at least one input position, each combination as an associated character string; Searching for associative matching results in the vocabulary using the associated character string; The associative matching result is fed back to the user for selection by the user.
7. An input error correction device, characterized in that: include: A first generating unit, used for identifying an input key of a user on a soft keyboard, to generate a character string according to the input key; A query unit, used for querying a word library according to the character string; a second generating unit, configured to, if no result matching the character string is found in the word library, for each input key of the user on the soft keyboard, use at least a portion of the keys on the soft keyboard located within a set circular area centered on the center point of the input key as associated keys of the input key, and then traverse the combinations of characters on the associated keys of each input key, and use each combination as an associated character string; A first search unit, configured to search for an associative matching result in the word library using the associated character string; The first feedback unit is used to feed back the associative matching result to the user for selection by the user.
8. An input error correction device, characterized in that: include: An acquiring unit, configured to acquire a sequence of continuous input positions of a user for a character string on a soft keyboard, wherein at least one input position in the sequence of continuous input positions does not correspond to any key on the soft keyboard; a third generating unit, configured to, for each input position of the at least one input position, use a character of a key associated with the input position on the soft keyboard as a candidate character corresponding to the input position, and then traverse combinations of candidate characters corresponding to each input position of the at least one input position, each combination being an associated character string; A second search unit, used to search for an associative matching result in a word library using the associated character string; The second feedback unit is used to feed back the associative matching result to the user for selection by the user.
9. A computing device, characterized in that include: a memory, wherein computer instructions are stored in the memory; A processor, configured to execute computer instructions stored in the memory to implement the input error correction method as described in any one of claims 1 to 5, or to implement the input error correction method as described in claim 6.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are suitable for being executed by a processor as the input error correction method as described in any one of claims 1 to 5, or are suitable for being executed by a processor as the input error correction method as described in claim 6.
