Input assistance program, input assistance method, and input assistance apparatus
The input support device enhances input error detection by evaluating character transitions and utilizing user document history to accurately identify and correct errors, ensuring correct conversion candidates are output.
Patent Information
- Application Number
- JP2024004222
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-15
- Publication Date
- 2025-07-28
AI Technical Summary
Existing input error detection systems fail to accurately identify the position of input errors in character strings, leading to incorrect conversion candidates being output.
An input support device that evaluates character transition unnaturalness using an index value, performs a predetermined repair process, and refers to a storage unit containing user-generated documents to detect input errors based on word frequency, outputting appropriate conversion candidates.
Improves the accuracy of input error detection and correction, ensuring that only desired conversion candidates are presented to the user.
Smart Images

Figure 2025110343000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an input support program, an input support method, and an input support device that assist character input performed based on a user's operation.
Background Art
[0002] Conventionally, in a Japanese input system, there is a technique for automatically correcting input errors made by a user. For example, when an input error such as the omission of a vowel is detected from the input character string, the correct vowel is supplemented at the position where the vowel is missing to estimate the correct reading, and the result of converting the estimated reading into kana-kanji or the like is output as a conversion candidate.
[0003] As a prior art for assisting character input, there is a technique in which a word received as input in the creation of a publication is searched from dictionary information in which words and comments are associated, and the searched comment is displayed following the word received as input (see, for example, Patent Document 1 below).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, in the prior art, since it is not possible to correctly detect that an input error has occurred in the input character string, there is a problem that the position where the input error has occurred in the input character string is not repaired and a conversion candidate that the user does not want may be output.
[0006] In one aspect, an object of the present invention is to provide an input support program, an input support method, and an input support device that improve the detection accuracy of input errors in an input character string.
Means for Solving the Problem
[0007] In order to solve the above-described problems and achieve the object, for the input support program according to the present invention, among the character strings input based on the user's operation, an index value evaluating unnaturalness regarding the transition of characters is equal to or greater than a certain value smaller than a first reference value for detecting input errors, and for a portion determined to be less than the first reference value, by performing a predetermined repair process, a repair candidate corresponding to the portion is created, and referring to a storage unit that stores words that appear in documents created by the user in the past, using words that appear in the document including the character string, based on the frequency of appearance of a word corresponding to the created repair candidate in one or more other documents similar to the document including the character string, the input error at the portion is detected, and the computer is caused to execute the process.
[0008] Also, for the input support program according to the present invention, in the above invention, in the process of detecting, when the frequency is equal to or greater than a predetermined threshold value, an input error at the portion is detected, and when the frequency is less than the predetermined threshold value, an input error at the portion is not detected.
[0009] Also, for the input support program according to the present invention, in the above invention, when an input error at the portion is detected, a conversion candidate obtained by converting the repair candidate corresponding to the portion is output, and when an input error at the portion is not detected, a conversion candidate obtained by directly converting the portion without performing the predetermined repair process on the portion is output, and the computer is caused to execute the process.
[0010] Also, for the input support program according to the present invention, in the above invention, in the process of detecting, based on the frequency of appearance of a word corresponding to the created repair candidate in one or more other documents in which the number of words commonly appearing with the document including the character string is equal to or greater than a certain number by referring to the storage unit, the input error at the portion is detected.
[0011] In addition, in the above invention, the input support program according to the present invention causes the computer to execute a process of detecting an input error at the location when the index value is equal to or greater than the first reference value.
[0012] Further, in the input support method according to the present invention, among the character strings input based on the user's operation, when an index value evaluating the unnaturalness of the character transition is equal to or greater than a certain value smaller than the first reference value for detecting an input error and less than the first reference value, a predetermined repair process is performed on the location where it is determined to be less than the first reference value to create a repair candidate corresponding to the location, and by referring to a storage unit that stores words that appear in documents created by the user in the past, using the words that appear in the document including the character string, based on the frequency of appearance of the word corresponding to the created repair candidate in one or more other documents similar to the document including the character string, the computer executes a process of detecting an input error at the location.
[0013] Furthermore, the input support device according to the present invention includes a control unit that, among the character strings input based on the user's operation, when an index value evaluating the unnaturalness of the character transition is equal to or greater than a certain value smaller than the first reference value for detecting an input error and less than the first reference value, performs a predetermined repair process on the location where it is determined to be less than the first reference value to create a repair candidate corresponding to the location, and by referring to a storage unit that stores words that appear in documents created by the user in the past, using the words that appear in the document including the character string, based on the frequency of appearance of the word corresponding to the created repair candidate in one or more other documents similar to the document including the character string, detects an input error at the location.
Advantages of the Invention
[0014] According to the input support program, input support method, and input support device of the present invention, there is an effect that the detection accuracy of input errors in the input character string can be improved.
Brief Description of the Drawings
[0015]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Embodiments for Carrying Out the Invention
[0016] Hereinafter, with reference to the drawings, embodiments of an input support device, an input support method, and an input support program according to the present invention will be described in detail.
[0017] (An Example of an Input Support Method According to an Embodiment) Figure 1 is an explanatory diagram showing an example of an input support method according to an embodiment. In Figure 1, the input support device 100 is a computer that supports character input performed based on a user's operation. The input support device 100 is, for example, a PC (Personal Computer), a tablet PC, or a smartphone, etc.
[0018] The user's operation is performed using an input device such as a keyboard or a touch panel. In the case of Japanese input, there are input modes such as Roman character input or kana input. In Roman character input, when inputting Japanese, Roman characters combining the consonants and vowels of the characters are input. Kana input is performed using kana characters written on a keyboard or the like.
[0019] In character input performed based on the user's operation, input errors may occur. Examples of input errors include omission of vowels, input of extra characters, and incorrect order of character input. If an input error occurs by the user, it would be convenient to be able to automatically correct the input error, saving the trouble of the user having to re-enter.
[0020] As a method for detecting input errors, for example, it is conceivable to detect, as input errors, portions in the input character string that deviate from the natural order of Roman characters as Japanese. Specifically, portions in the input character string where it is determined that an index value evaluating the unnaturalness regarding the transition of characters is equal to or greater than a preset reference value are detected as input errors. The index value is, for example, the character transition cost.
[0021] As a method for correcting input errors, for example, when omission of a vowel occurs, it is conceivable to supplement the missing portion with a vowel. Also, based on a technique such as machine learning like deep learning, the natural order of Roman characters as Japanese is learned in advance, and for input errors, it is conceivable to supplement characters, delete extra characters, or swap the order of characters.
[0022] However, in the prior art, there are cases where it is not possible to correctly detect that an input error has occurred in the input character string. For this reason, there is a problem that, in the input character string, the portion where the input error has occurred may not be corrected and a conversion candidate that the user does not desire may be output.
[0023] For example, suppose a user tries to input the phrase "kakuninwoonegai (かくにんをおねがい)" and types the string "kakuniwoonegai (かくにをおねがい)". Therefore, the letter "n" is missing between "i" and "w". In the prior art, when the metric value evaluating the unnaturalness of the transition from "i" to "w" in "kakuniwoonegai (かくにをおねがい)" is less than a preset reference value, the input error of the missing "n" cannot be detected. For this reason, in the string "kakuniwoonegai (かくにをおねがい)", the missing "n" may not be repaired, and conversion candidates that the user does not want, specifically, conversion candidates such as "Please cook pork cubes" may be output.
[0024] In contrast, it may be considered to reduce the reference value for detecting input errors. However, there may still be cases where the occurrence of an input error in the input string cannot be correctly detected. For example, it is conceivable that a user tries to input the phrase "kakuniwoonegai (かくにをおねがい)" in the context of Chinese cuisine and correctly types the string "kakuniwoonegai (かくにをおねがい)". Here, if the reference value for detecting input errors is reduced, since the metric value evaluating the unnaturalness of the transition from "i" to "w" in "kakuniwoonegai (かくにをおねがい)" is greater than or equal to the reference value, the input error of the missing "n" may be erroneously detected. Then, in the string "kakuniwoonegai (かくにをおねがい)", the "n" may be erroneously complemented, and conversion candidates that the user does not want, specifically, conversion candidates such as "Please confirm" may be output.
[0025] Therefore, in the present embodiment, an input support method for improving the detection accuracy of input errors of an input string will be described by considering a document including the string input based on a user operation and documents created by the user in the past. Here, a processing example of the input support apparatus 100 (corresponding to the processes (1) to (3) below) will be described. The processes (1) to (3) below are executed, for example, in a detection process for detecting input errors of an input string.
[0026] In FIG. 1, the input support apparatus 100 includes a storage unit 110. The storage unit 110 stores words that appear in documents created by the user in the past. The storage unit 110 stores, for example, a list of words that appear in each document created by the user in the past. The storage unit 110 may store documents created by the user in the past so that words that appear in the documents can be specified. In the example of FIG. 1, specifically, the storage unit 110 stores, as the content of documents created by the user in the past, "Checked the document." and "Requested the check of the document."
[0027] The input support apparatus 100 stores a first reference value for detecting input errors. The first reference value is a value for detecting input errors by comparing it with an index value that evaluates the unnaturalness of character transitions in the input string. The input support apparatus 100 stores a fixed value smaller than the first reference value. The fixed value is a value for specifying a location where, although it is not certain that an input error has occurred, there is a relatively strong suspicion that an input error has occurred by comparing it with an index value that evaluates the unnaturalness of character transitions, and controls whether to redetect input errors.
[0028] (1) The input support device 100 acquires the character string 102 input to the document 101 based on the user's operation. In the example of FIG. 1, the document 101 specifically includes the finalized word "document". The character string 102 is a character string before finalization. For example, in the case of Japanese input in the Roman character input mode, the character string 102 corresponds to the input Roman character spelling or the result of converting the Roman character spelling into kana. In the example of FIG. 1, specifically, it is assumed that the user tried to input the word "kakuninwoonegai (かくにんをおねがい)" and typed the character string 102 "kakuniwoonegai (かくにをおねがい)". Therefore, among the character string 102, the letter "n" is missing between "i" and "w". Specifically, the character string 102 is "kakuniwoonegai (かくにをおねがい)".
[0029] (2) The input support device 100 acquires an index value obtained by evaluating the unnaturalness regarding the transition of characters among the character string 102. The input support device 100 determines whether the acquired index value is equal to or greater than a first reference value. For example, when the acquired index value is equal to or greater than the first reference value, the input support device 100 determines that there is an input error in the character string 102 and detects the input error from the character string 102. In the example of FIG. 1, specifically, it is assumed that the input support device 100 determines that the acquired index value is smaller than the first reference value.
[0030] (3) When the acquired index value is smaller than the first reference value, the input support device 100 determines whether the acquired index value is equal to or greater than a certain value. When the acquired index value is less than the certain value, the input support device 100 determines that there is no input error in the character string 102. In the example of FIG. 1, specifically, it is assumed that the input support device 100 determines that the acquired index value is equal to or greater than the certain value. In this way, by comparing the acquired index value with the certain value, the input support device 100 can identify a location where there is a relatively strong suspicion of an input error. Also, by comparing the acquired index value with the certain value, the input support device 100 can prototype a repair candidate 103 corresponding to each location and determine whether it is preferable to redetect an input error for that location.
[0031] (4) When the acquired index value is equal to or greater than the certain value, the input support device 100 identifies a location where it is determined that the acquired index value is less than the first reference value. The input support device 100 creates a repair candidate 103 corresponding to the identified location by performing a predetermined repair process on the identified location. There may be a plurality of repair candidates 103. The repair candidate 103 corresponding to a location is, for example, a repair candidate for a partial character string including the location in the character string 102. The partial character string is identified, for example, by morphological analysis or the like. In the example of FIG. 1, specifically, for the location between "i" and "w" where it is determined that the acquired index value is less than the first reference value, the input support device 100 performs a predetermined repair process to supplement "n" and creates a repair candidate 103 "kakunin (かくにん)" for the partial character string "kakuni (かくに)" corresponding to that location.
[0032] (5) The input support device 100 refers to the storage unit 110 and uses the words that appear in the document 101 including the character string 102 to obtain the frequency of occurrence of the words corresponding to the created repair candidate 103 in one or more other documents similar to the document 101 including the character string 102. When there are multiple repair candidates 103, the input support device 100 may obtain the highest frequency. Other documents similar to the document 101 are, for example, documents among the documents created by the user in the past that have some or all of the words that appear in common with the document 101. In the example of FIG. 1, specifically, the input support device 100 obtains the frequency of occurrence of the word "confirmation" corresponding to the repair candidate 103 "kakunin (かくにん)".
[0033] The input support device 100 detects an input error at the specified location based on the obtained frequency. For example, when the obtained frequency is equal to or higher than the threshold value, the input support device 100 determines that there is an input error at the specified location and detects the input error at the specified location. Thereby, even if the obtained index value is not greater than the first reference value for any location, the input support device 100 can appropriately determine that there is an input error at the location if it is greater than a certain value. For example, when the obtained frequency is less than the threshold value, the input support device 100 determines that there is no input error at the specified location. In the example of FIG. 1, specifically, the input support device 100 determines that there is an input error at the specified location and detects the input error at the specified location.
[0034] When the acquired frequency is equal to or higher than a threshold value, the input support device 100 may use another second reference value in addition to the first reference value to re-detect input errors. The input support device 100 stores the second reference value. The second reference value is a value smaller than the first reference value. The second reference value is a value larger than a certain value. The second reference value may be variable according to the frequency. For example, the second reference value may become smaller as the frequency increases. Note that the second reference value may be the same as a certain value. The second reference value is a value for re-detecting input errors by comparing it with an index value that evaluates the unnaturalness regarding the transition of characters in the input string. For example, when the acquired frequency is equal to or higher than the threshold value, the input support device 100 may detect an input error at a specified location by comparing the acquired index value with the second reference value. When the second reference value is the same as a certain value, the input support device 100 does not have to compare the second reference value with the index value. Specifically, the input support device 100 determines whether the acquired index value is equal to or higher than the second reference value. Specifically, when the acquired index value is equal to or higher than the second reference value, the input support device 100 may determine that there is an input error at the specified location and detect the input error at the specified location. Specifically, when the acquired index value is smaller than the second reference value, the input support device 100 determines that there is no input error at the specified location.
[0035] Thereby, the input support device 100 can accurately detect input errors in the input string 102. For this reason, the input support device 100 can correctly repair the location where an input error has occurred in the input string 102, and can facilitate the output of conversion candidates desired by the user.
[0036] For example, conventionally, when the index value evaluating the unnaturalness regarding the character transition in the input string 102 is smaller than a preset first reference value, it may not be possible to detect an input error in the string 102. In contrast, the input support device 100 can, for example, refer to the storage unit 110 and re-verify the input error in the string 102 in consideration of the frequency of appearance of the word corresponding to the repair candidate 103. Therefore, the input support device 100 can, for example, accurately detect the input error in the input string 102. Specifically, when the user tries to input the word "confirmation" as "kakuninwoonegai (かくにんをおねがい)" and types the string 102 "kakuniwoonegai (かくにをおねがい)", the input support device 100 can accurately detect the input error that the letter "n" is missing between "i" and "w".
[0037] On the other hand, a method of setting the reference value for detecting an input error to a relatively small value is also conceivable. However, with this method, it is conceivable that even when the user tries to input the word "confirmation" as "kakuniwoonegai (かくにをおねがい)" and correctly types the string 102 "kakuniwoonegai (かくにをおねがい)", an input error may be erroneously detected. In contrast, the input support device 100 can, specifically, refer to the storage unit 110 and consider the frequency of appearance of the word "confirmation" corresponding to "kakunin (かくにん)", and can correctly determine that "kakuni (かくに)" is not an input error.
[0038] (6) The input support device 100 may output conversion candidates corresponding to the character string 102 according to whether an input error is detected. For example, when the input support device 100 detects an input error at a specified location in the character string 102, it repairs the specified location and then outputs conversion candidates corresponding to the character string 102. In the example of FIG. 1, when the input support device 100 outputs conversion candidates corresponding to the character string 102 after repairing the specified location, specifically, it outputs the conversion candidate "Please confirm". For example, when there are multiple repair candidates 103, the input support device 100 may prioritize and output multiple conversion candidates corresponding to the character string 102 based on frequency or index values.
[0039] On the other hand, for example, when the input support device 100 does not detect an input error at a specified location in the character string 102, it outputs conversion candidates corresponding to the character string 102 without repairing the specified location. In the example of FIG. 1, when the input support device 100 outputs conversion candidates corresponding to the character string 102 without repairing the specified location, specifically, it outputs the conversion candidate "Please order stewed pork cubes". Thereby, the input support device 100 can present the conversion result desired by the user to the user.
[0040] Here, the case where the function of the input support device 100 is realized by a single computer has been described, but it is not limited to this. For example, the function of the input support device 100 may be realized by the cooperation of multiple computers. Specifically, the function of the input support device 100 may be realized on the cloud.
[0041] Here, the case where there is one repair candidate created by the input support device 100 has been described, but it is not limited to this. For example, there may be multiple repair candidates created by the input support device 100. In this case, the input support device 100 may determine which repair candidate among the multiple repair candidates is preferable based on the frequency of occurrence of the words corresponding to each repair candidate, and also determine how to repair the input error.
[0042] (Hardware Configuration Example of Input Support Device 100) Next, a hardware configuration example of the input support device 100 will be described with reference to FIG. 2. Here, the case where the input support device 100 is applied to a computer such as a PC or a tablet PC will be described as an example. However, the input support device 100 may be applied to a server that can be connected from a PC or the like used by the user.
[0043] FIG. 2 is a block diagram showing a hardware configuration example of the input support device 100 according to the embodiment. In FIG. 2, the input support device 100 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, and a RAM (Random Access Memory) 203.
[0044] The input support device 100 also includes an HDD (Hard Disc Drive) 204, an HD 205, a CD (Compact Disc)-RW (ReWritable) drive 206, and a CD-RW 207. The input support device 100 also includes a display 208, a keyboard 209, a mouse 210, and a network I / F (Interface) 211. Each component is connected by a bus 200.
[0045] Here, the CPU 201 controls the entire input support device 100. The CPU 201 may have a plurality of cores. The ROM 202 and the HD 205 store various programs. The programs stored in the ROM 202 and the HD 205 are, for example, the present input support program. The present input support program is applied to, for example, kana-kanji conversion software. The program stored in the ROM 202 is loaded into the CPU 201 to cause the CPU 201 to execute the coded processing. The RAM 203 is used as a work area for the CPU 201.
[0046] The HDD 204 controls the reading or writing of data to / from the HD 205 according to the control of the CPU 201. The HD 205 stores the data written according to the control of the HDD 204. The CD-RW drive 206 controls the reading or writing of data to / from the CD-RW 207 according to the control of the CPU 201. The CD-RW 207 stores the data written according to the control of the CD-RW drive 206. The CD-RW 207 may be detachable from, for example, the input support device 100.
[0047] The display 208 displays various data such as a cursor, icon, menu, window, toolbox, characters, images, or function information. The display 208 is, for example, a liquid crystal display, an organic EL (Electroluminescence) display, or the like.
[0048] The keyboard 209 has keys for inputting characters, numerical values, various instructions, etc., and performs data input. The mouse 210 performs selection or execution of various instructions, selection of a processing target, or movement of the mouse pointer. Also, the display 208 may be a touch panel and may have functions corresponding to the keyboard 209 and the mouse 210. In this case, the input support device 100 may not have the keyboard 209 and the mouse 210.
[0049] The network I / F 211 is connected to the network NW through a communication line and is connected to other computers via the network NW. The network NW is, for example, a LAN (Local Area Network), WAN (Wide Area Network), the Internet, or the like. The network I / F 211 manages the interface between the network NW and the inside of the input support device 100 and controls the input / output of data from / to other computers. The network I / F 211 is, for example, a modem, a LAN adapter, or the like.
[0050] In addition to the components described above, the input support device 100 may have, for example, a DVD (Digital Versatile Disc) drive, or an SSD (Solid State Drive). Further, in addition to the components described above, the input support device 100 may have, for example, a USB (Universal Serial Bus) port. Further, in addition to the components described above, the input support device 100 may have, for example, a printer, a scanner, a microphone, or a speaker. Further, the input support device 100 may not have, for example, an HDD 204, an HD 205, a CD-RW drive 206, a CD-RW 207, etc. among the components described above.
[0051] (Stored content of the context information management table 300) Next, with reference to FIG. 3, an example of the stored content of the context information management table 300 used by the input support device 100 will be described. The context information management table 300 is realized by, for example, a storage device such as the RAM 203 or the HD 205 of the input support device 100 shown in FIG. 2.
[0052] FIG. 3 is an explanatory diagram showing an example of the stored content of the context information management table 300. As shown in FIG. 3, the context information management table 300 has fields for a document and an appearance word. The context information management table 300 stores context information (for example, context information 300-1 to 300-6) as records by setting information in each field for each document.
[0053] The content of the document is set in the field of the document. In the field of the document, an address of a storage area storing the content of the document may be set so that the content of the document can be specified. The document is, for example, “… requested to check the document. …”. In the field of the appearance word, a list of words appearing in the above document is set. In the field of the appearance word, an address of a storage area storing the list of words appearing in the above document may be set so that the list of words appearing in the above document can be specified. The list of words is, for example, “… document, check, request …”.
[0054] The context information management table 300 may be automatically created by analyzing, for example, Japanese document data, or may be created manually. Also, the stored content of the context information management table 300 may be updated at any time. For example, in response to the creation of Japanese document data or the like, the document data and a list of words that co-occur with the document data may be associated and registered in the context information management table 300.
[0055] (Functional configuration example of the input support device 100) Next, a functional configuration example of the input support device 100 will be described with reference to FIG. 4.
[0056] FIG. 4 is a block diagram showing a functional configuration example of the input support device 100. The input support device 100 includes a storage unit 410, a reception unit 401, a first input error detection unit 402, a second input error detection unit 403, a correct reading determination unit 404, a conversion unit 405, and an output unit 406.
[0057] The storage unit 410 is realized by a storage device such as the RAM 203 or the HD 205 shown in FIG. 2, for example. Hereinafter, the case where the storage unit 410 is included in the input support device 100 will be described, but it is not limited thereto. For example, the storage unit 410 may be included in a device different from the input support device 100, and the stored content of the storage unit 410 may be referable from the input support device 100.
[0058] The reception unit 401 to the output unit 406 function as an example of a control unit. Specifically, the reception unit 401 to the output unit 406 realize their functions by causing the CPU 201 to execute a program stored in a storage device such as the ROM 202, the RAM 203, or the HD 205 shown in FIG. 2, for example, or by the network I / F 211. The processing result of each functional unit is stored in a storage device such as the RAM 203 or the HD 205 shown in FIG. 2, for example.
[0059] The storage unit 410 stores various information that is referenced or updated in the processing of each functional unit. The storage unit 410 stores, for example, information that can identify words that appear in documents created by the user in the past. The storage unit 410 stores, for example, for each user, information that can identify words that appear in documents created by the user in the past. Specifically, the storage unit 410 stores the documents themselves created by the user in the past for each user. Specifically, the storage unit 410 may store a list of words that appear in documents created by the user in the past for each user. Specifically, the storage unit 410 stores the context information management table 300.
[0060] The storage unit 410 may store evaluation information that enables evaluation of the unnaturalness of transitions between adjacent characters in a character string. The evaluation information is, for example, a model. The model is generated, for example, by a machine learning-based method such as deep learning based on character strings that appear in documents created by the user in the past. The model has a function of outputting an index value representing the unnaturalness of transitions between adjacent characters in the character string when receiving the character string. The model may be, for example, a neural network or the like. The larger the index value, the stronger the unnaturalness of the transition between characters.
[0061] The evaluation information may include, for example, a transition probability indicating the likelihood of transitioning from one character to another in a character string. The evaluation information may be, for example, a graph or the like. Specifically, the evaluation information may include a transition probability indicating the likelihood of transitioning from the consonant b to the vowel u, a transition probability indicating the likelihood of transitioning from the consonant b to the vowel i, or a transition probability indicating the likelihood of transitioning from the consonant b to the consonant y in a character string, for example. The evaluation information may be information that enables evaluation of the unnaturalness of transitions of three or more consecutive characters in a character string, for example.
[0062] The storage unit 410 stores repair information that enables, for example, the correction of input errors in a character string and the creation of one or more repair candidates for the character string. The repair information is generated, for example, by a method based on machine learning such as deep learning based on documents created in the past. The repair information is, for example, a model. The model has a function of, for example, receiving a character string, correcting the character string, and creating and outputting one or more repair candidates for the character string. The model adds characters such as vowels, changes characters such as vowels, deletes extra characters, or exchanges the order of characters for input errors in the character string. The model may be, for example, a neural network or the like.
[0063] As a method for repairing input errors, for example, when a vowel is missing, it is conceivable to supplement the missing position with a vowel. As a method for repairing input errors, based on a method based on machine learning such as deep learning, the natural order of Roman characters as Japanese is learned, and for input errors, characters such as vowels are supplemented, characters such as vowels are changed, extra characters are deleted, or the order of characters is exchanged.
[0064] The storage unit 410 stores a first reference value for detecting an input error. The first reference value is a value for detecting an input error by comparing it with an index value that evaluates the unnaturalness of the transition between adjacent characters in the character string. The storage unit 410 stores a second reference value for detecting an input error. The second reference value is a value smaller than the first reference value. The second reference value may be the same as a fixed value, or may be a value larger than the fixed value. The second reference value may be variable according to the frequency. For example, the second reference value may become smaller as the frequency increases. The second reference value is a value for detecting an input error by comparing it with an index value that evaluates the unnaturalness of the transition between adjacent characters in the character string. The storage unit 410 stores a fixed value smaller than the first reference value. The fixed value is a value for determining whether to use the second reference value by comparing it with an index value that evaluates the unnaturalness of the transition between adjacent characters in the character string.
[0065] The reception unit 401 acquires various information used for the processing of each functional unit. The reception unit 401 stores the acquired various information in the storage unit 410 or outputs it to each functional unit. Also, the reception unit 401 may output the various information stored in the storage unit 410 to each functional unit. The reception unit 401 acquires various information, for example, based on a user's operation. The reception unit 401 may receive various information from a device different from the input support device 100, for example.
[0066] The reception unit 401 receives an input of a character string for a document based on a user's operation. The document includes a finalized character string. The input character string is a pre-finalized character string. For example, in the case of Japanese input in Roman character input mode, the input character string corresponds to the input Roman character spelling or the result of converting the Roman character spelling into kana. Specifically, the reception unit 401 receives an input of the character string "kakuniwoonegai". The reception unit 401 receives the reception of the input of the character string as a start trigger for starting the processing of the first input error detection unit 402 to the output unit 406.
[0067] The first input error detection unit 402 detects an input error from the character string input based on a user's operation. The input error is, for example, the omission of a character such as a vowel, the input of another character that is not the desired character, the input of an extra character, or the incorrect input order. The first input error detection unit 402, for example, refers to evaluation information and acquires an index value for evaluating the unnaturalness of the transition between adjacent characters in the input character string.
[0068] The input error first detection unit 402 determines, for example, whether the acquired index value is equal to or greater than a first reference value. When the acquired index value is equal to or greater than the first reference value, the input error first detection unit 402 detects an input error at the location where the acquired index value is equal to or greater than the first reference value. Specifically, the input error first detection unit 402 identifies, as the location where the input error has occurred, the location in the input string where the acquired index value is equal to or greater than the first reference value, and detects the input error. The location may be, for example, between two characters, any one character, the beginning of the string, or the end of the string.
[0069] Specifically, in the input string "kakuniwoonegai", it is conceivable that the character "n" is missing between "i" and "w". In this case, specifically, if the index value evaluating the unnaturalness regarding the transition between "i" and "w" is equal to or greater than the first reference value, the input error first detection unit 402 identifies the location between "i" and "w" as the location where the input error has occurred, and detects the input error. Note that any existing technique may be used as the technique for detecting the input error. Thereby, the input error first detection unit 402 can appropriately detect that an input error has occurred.
[0070] When an input error is detected from the string input based on the user's operation, the input error first detection unit 402 creates a repair candidate corresponding to the location where the input error has occurred in the input string by performing a predetermined repair process on the input error. The repair candidate corresponds to, for example, Romanization or the result of converting Romanization into kana. The predetermined repair process is a process of supplementing characters such as vowels, changing characters such as vowels, deleting unnecessary characters, or swapping the order of characters for the input error. The input error first detection unit 402 creates a repair candidate for a partial string including the location where the input error has occurred by performing a predetermined repair process on the location where the input error has occurred in the string input based on the user's operation, for example.
[0071] Specifically, in the input string "kakuniwoonegai", it is conceivable that the letter "n" is missing between "i" and "w". In this case, the first input error detection unit 402 specifically refers to the repair information and performs a predetermined repair process of supplementing "n" at the location where the input error occurred in the input string "kakuniwoonegai", thereby creating a repair candidate "kakunin" for the partial string "kakuni" including the location where the input error occurred. As a result, the first input error detection unit 402 can appropriately repair the location where the input error occurred.
[0072] The second input error detection unit 403 redetects input errors from the string input based on the user's operation. The second input error detection unit 403, for example, obtains an index value evaluating the unnaturalness of the transition between adjacent characters in the input string. The second input error detection unit 403, for example, obtains an index value evaluating the unnaturalness of the transition between adjacent characters in the input string when the first input error detection unit 402 does not detect an input error. The second input error detection unit 403, for example, determines whether the obtained index value is equal to or greater than a certain value smaller than the first reference value.
[0073] The second input error detection unit 403, for example, identifies a location where the obtained index value is equal to or greater than a certain value smaller than the first reference value and less than the first reference value as a candidate location for an input error. The location is, for example, between two characters, either character, the beginning of the string, or the end of the string, etc. Specifically, in the input string "kakuniwoonegai", it is conceivable that the letter "n" is missing between "i" and "w". In this case, the second input error detection unit 403 specifically identifies the location between "i" and "w" as a candidate location for an input error if the index value evaluating the unnaturalness of the transition between "i" and "w" is less than the first reference value but equal to or greater than a certain value. As a result, the second input error detection unit 403 can identify a location where there is a relatively strong suspicion that an input error has occurred as a candidate location for an input error.
[0074] The second input error detection unit 403 creates a repair candidate corresponding to a specified location in the input character string by performing a predetermined repair process on the specified location. For example, the repair candidate corresponds to a Romanized spelling or a conversion of a Romanized spelling to kana. The predetermined repair process is a process of supplementing characters such as vowels, changing characters such as vowels, deleting unnecessary characters, or swapping the order of characters for input errors. Specifically, the second input error detection unit 403 performs a predetermined repair process on the location specified as a candidate for an input error in the character string input based on the user's operation, thereby creating a repair candidate for the partial character string including the location specified as a candidate for an input error.
[0075] Specifically, in the input character string "kakuniwoonegai", it is conceivable that "n" is missing between "i" and "w". In this case, specifically, the second input error detection unit 403 refers to repair information and performs a predetermined repair process of supplementing "n" at the location specified as a candidate for an input error in the input character string "kakuniwoonegai", thereby creating a repair candidate "kakunin" for the partial character string "kakuni" including the location specified as a candidate for an input error. Thereby, the second input error detection unit 403 can create a repair candidate as a guideline for determining whether the location specified as a candidate for an input error is the location where the input error occurred.
[0076] The second input error detection unit 403 refers to the storage unit 410 and uses the words appearing in the document including the input character string to obtain the frequency of appearance of the words corresponding to the created repair candidate in one or more other documents similar to the document including the input character string. The document including the input character string may be, for example, a partial text data existing in a predetermined range before and after the input character string in the entire text data including the input character string. One or more other documents similar to the document including the input character string are, for example, other documents in which the number of words that commonly appear with the document including the input character string is a certain number or more.
[0077] The second input error detection unit 403 identifies, for example, one or more other documents in which one or more words that appear in the document containing the input string appear in common with the said document, by using one or more words that appear in the document containing the input string with reference to the storage unit 410. The second input error detection unit 403, for example, obtains the frequency of occurrence of words corresponding to the created repair candidates in the one or more other identified documents. The frequency is, for example, the number of times or the ratio, etc. of the words corresponding to the created repair candidates that appear in the one or more other identified documents. The frequency may be, for example, the number of times or the ratio, etc. of the words corresponding to the created repair candidates that appear in the documents stored in the storage unit 410. The frequency may be the frequency of occurrence of a combination of a word corresponding to a repair candidate and a word corresponding to another string included in the input string.
[0078] The second input error detection unit 403 detects an input error at the identified location based on the obtained frequency. The second input error detection unit 403, for example, identifies the location identified as a candidate for an input error as the location where the input error has occurred and detects the input error at that location when the obtained frequency is equal to or higher than a predetermined threshold. On the other hand, the second input error detection unit 403, for example, does not identify the location identified as a candidate for an input error as the location where the input error has occurred and does not detect an input error when the obtained frequency is less than a predetermined threshold.
[0079] The second input error detection unit 403 determines, for example, whether or not the acquired index value is equal to or greater than a second reference value that is smaller than the first reference value when the acquired frequency is equal to or greater than a predetermined threshold value. For example, when the acquired index value is equal to or greater than the second reference value, the second input error detection unit 403 identifies the location specified as a candidate for an input error as the location where the input error has occurred, and detects the input error at that location. For example, when the acquired index value is less than the second reference value, the second input error detection unit 403 does not identify the location specified as a candidate for an input error as the location where the input error has occurred and does not detect an input error. Thereby, the second input error detection unit 403 can appropriately detect that an input error has occurred. Even when the index value is less than the first reference value, the second input error detection unit 403 can accurately determine whether or not there is an input error in the input character string in accordance with the context of the input character string by referring to the document created by the user in the past.
[0080] The correct reading determination unit 404 determines the reading of the input character string. The correct reading determination unit 404 determines the reading of the input character string including the location where an input error is detected by the first input error detection unit 402 or the second input error detection unit 403.
[0081] For example, when the first input error detection unit 402 detects an input error, the correct reading determination unit 404 determines the reading of the input character string based on the repair candidate created by the first input error detection unit 402. Specifically, based on the repair candidate "kakunin", the correct reading determination unit 404 determines the reading of the input character string "kakuniwoonegai" as "かくにんをおねがい" corresponding to the character string "kakuninwoonegai" with "n" added.
[0082] When the input error second detection unit 403 detects an input error, for example, the correct reading determination unit 404 determines the reading of the input character string based on the repair candidate created by the input error second detection unit 403. Specifically, based on the repair candidate "kakunin", the correct reading determination unit 404 determines that the reading of the input character string "kakuniwoonegai" is "かくにんをおねがい" corresponding to the character string "kakuninwoonegai" with "n" added. Thereby, the correct reading determination unit 404 can appropriately determine the reading corresponding to the input character string.
[0083] The correct reading determination unit 404 may also determine the reading of the input character string when neither the input error first detection unit 402 nor the input error second detection unit 403 detects an input error. For example, when neither the input error first detection unit 402 nor the input error second detection unit 403 detects an input error, the correct reading determination unit 404 determines the reading of the input character string as it is. Specifically, the correct reading determination unit 404 determines that the reading of the input character string "kakuniwoonegai" is "かくにをおねがい" as it is. Thereby, the correct reading determination unit 404 can appropriately determine the reading corresponding to the input character string.
[0084] The correct reading determination unit 404 may also determine the reading of the location where the input error first detection unit 402 or the input error second detection unit 403 detects an input error among the input character string. For example, when the input error first detection unit 402 detects an input error, the correct reading determination unit 404 determines the reading of the location where the input error is detected based on the repair candidate created by the input error first detection unit 402. Specifically, based on the repair candidate "kakunin", the correct reading determination unit 404 determines that the reading of the location "kakuni" where the input error is detected is "かくにん" corresponding to the character string "kakunin" with "n" added.
[0085] When the forward reading determination unit 404 detects an input error, for example, by the input error second detection unit 403, it determines the reading of the location where the input error was detected based on the repair candidate created by the input error second detection unit 403. Specifically, based on the repair candidate "kakunin", the forward reading determination unit 404 determines that the reading of the location "kakuni" where the input error was detected corresponds to "かくにん" for the character string "kakunin" with "n" added. Thereby, the forward reading determination unit 404 can appropriately determine the reading corresponding to a part of the input character string.
[0086] The forward reading determination unit 404 may also determine the reading of the location identified as a candidate for an input error in the character string input. For example, when the input error second detection unit 403 does not detect an input error, the forward reading determination unit 404 determines the reading of the location identified as a candidate for an input error as it is, without using the repair candidate created by the input error second detection unit 403. Specifically, the forward reading determination unit 404 determines that the reading of the location "kakuni" where the input error was detected is "かくに" as it is. Thereby, the forward reading determination unit 404 can appropriately determine the reading corresponding to a part of the input character string.
[0087] The conversion unit 405 identifies conversion candidates corresponding to the input character string. The conversion unit 405 identifies conversion candidates corresponding to the input character string including the location where an input error was detected by the input error first detection unit 402 or the input error second detection unit 403. For example, the conversion unit 405 identifies conversion candidates corresponding to the input character string based on the determined reading.
[0088] Specifically, when the correct reading determination unit 404 determines that the reading is "kakunin onegai," the conversion unit 405 specifies a conversion candidate "kaku wo onegai" obtained by converting the determined reading "kakunin onegai." Specifically, when the correct reading determination unit 404 determines that the reading is "kakuni onegai," the conversion unit 405 specifies a conversion candidate "kakuni wo onegai" obtained by converting the determined reading "kakuni onegai." This allows the conversion unit 405 to accurately specify a conversion candidate corresponding to the input character string according to the context of the input character string.
[0089] The conversion unit 405 may identify a conversion candidate corresponding to a portion of the input character string where an input error has been detected by the first input error detection unit 402 or the second input error detection unit 403. For example, the conversion unit 405 identifies a conversion candidate corresponding to a portion of the input character string where an input error has been detected by the first input error detection unit 402 or the second input error detection unit 403 based on the reading determined by the correct reading determination unit 404. Specifically, the conversion unit 405 identifies a conversion candidate "Kakunin" obtained by converting the reading "Kakunin" determined by the correct reading determination unit 404. This allows the conversion unit 405 to accurately identify a conversion candidate corresponding to a portion of the input character string in accordance with the context of the input character string.
[0090] The conversion unit 405 may identify a conversion candidate corresponding to a portion of the input character string identified by the second input error detection unit 403 as a candidate for an input error. For example, the conversion unit 405 identifies a conversion candidate corresponding to a portion identified by the second input error detection unit 403 as a candidate for an input error based on the reading determined by the correct reading determination unit 404. Specifically, the conversion unit 405 identifies a conversion candidate "kakuni" obtained by converting the reading "kakuni" determined by the correct reading determination unit 404. This allows the conversion unit 405 to accurately identify a conversion candidate corresponding to a portion of the input character string in accordance with the context of the input character string.
[0091] The output unit 406 outputs the processing result of at least one of the functional units. The output format is, for example, display on a display, print output to a printer, transmission to an external device via the network I / F 211, or storage in a storage device such as the RAM 203 or the HD 205. Thereby, the output unit 406 can notify the user of the processing result of at least one of the functional units, and can improve the convenience of the input support device 100.
[0092] The output unit 406 outputs conversion candidates corresponding to the input character string. The output unit 406 outputs conversion candidates corresponding to the input character string including the location where an input error was detected. The output unit 406 outputs, for example, the conversion result obtained by converting the determined reading as the conversion candidate corresponding to the input character string. Specifically, the output unit 406 outputs the conversion candidate "Please confirm" obtained by converting the determined reading "かくにんをおねがい" by the conversion unit 405. The output unit 406 outputs, for example, the conversion candidate "Please have pork stew" obtained by converting the determined reading "かくにをおねがい" by the conversion unit 405. Thereby, the output unit 406 can present the conversion result desired by the user to the user.
[0093] When the input error first detection unit 402 and the input error second detection unit 403 detect an input error, the output unit 406 may output a conversion candidate obtained by converting a repair candidate corresponding to the location where the input error occurred. When the input error second detection unit 403 does not detect an input error, the output unit 406 may output a conversion candidate obtained by directly converting the location identified as a candidate for an input error without performing a predetermined repair process on the location.
[0094] When the input error first detection unit 402 and the input error second detection unit 403 detect an input error, the output unit 406 may output a repair candidate corresponding to the location where the input error occurred. Thereby, the output unit 406 can present the conversion result desired by the user to the user.
[0095] (Example of output of conversion candidates corresponding to the input character string) Next, with reference to FIGS. 5 and 6, an output example of conversion candidates corresponding to the input character string by the input support device 100 will be described. The processes described with reference to FIGS. 5 and 6 are executed, for example, in kana-kanji conversion processing.
[0096] FIGS. 5 and 6 are explanatory diagrams showing output examples of conversion candidates corresponding to the input character string. In FIG. 5, document 500 is text data created by user A in the past. Document 500 includes, for example, a conversion result obtained by converting the reading of the character string input based on the keystrokes of user A, and specifically includes sentence 501 "Please send it for confirmation when the document is completed."
[0097] (5-1) The input support device 100 updates the context information management table 300 based on document 500. For example, since words such as "document, completion, confirmation, sending" appear in document 500, the input support device 100 adds a record associating document 500 with a list of words such as "document, completion, confirmation, sending" to the context information management table 300. The records to be added are, for example, records 300-1, 300-2, 300-3 shown in FIG. 3.
[0098] Thereafter, the input support device 100 is creating document 510 based on the keystrokes of user A and displaying document 510. Document 510 is displayed, for example, on the display 208 shown in FIG. 2. Document 510 includes, for example, a conversion result obtained by converting the reading of the character string input based on the keystrokes of user A, and specifically includes sentence 511 "I have created the requested document."
[0099] Suppose the user attempts to input the phrase "kakuninwoonegai (かくにんをおねがい)" for document 510 and types the string "kakuniwoonegai". Thus, the letter "n" is missing between "i" and "w". The input assistance device 100 receives the string "kakuniwoonegai" input based on the user A's keystrokes for document 510 and displays the reading 512 "かくにをおねがい" of the input string "kakuniwoonegai" on the currently displayed document 510. The string "kakuniwoonegai" is before confirmation.
[0100] (5-2) The input assistance device 100 receives a keystroke of a conversion key for the string "kakuniwoonegai". The conversion key may be, for example, the space key. The input assistance device 100 identifies conversion candidates corresponding to the string "kakuniwoonegai" in response to the keystroke of the conversion key. How the input assistance device 100 identifies the conversion candidates corresponding to the string "kakuniwoonegai" is shown below.
[0101] The first input error detection unit 402 detects an input error from the input string. For example, the first input error detection unit 402 determines whether an index value evaluating the unnaturalness of the transition between each character in the input string "kakuniwoonegai" is equal to or greater than a first reference value. In the example of FIG. 5, the first input error detection unit 402 determines that the index values evaluating the unnaturalness of the transition between each character in the input string "kakuniwoonegai" are all less than the first reference value. Therefore, the first input error detection unit 402 does not detect an input error from the input string.
[0102] If the first input error detection unit 402 fails to detect an input error in the input character string, the second input error detection unit 403 re-detects an input error from the input character string. For example, the second input error detection unit 403 determines whether an index value evaluating the unnaturalness of the transition between each pair of characters in the input character string "kakuniwoonegai" is equal to or greater than a certain value smaller than the first reference value. In the example of FIG. 5, specifically, it is assumed that the second input error detection unit 403 determines that the index value evaluating the unnaturalness of the transition from "i" to "w" in the input character string "kakuniwoonegai" is equal to or greater than a certain value smaller than the first reference value. As a result, although the second input error detection unit 403 does not confirm that it is an input error, it can detect that there is a relatively strong suspicion that it is an input error.
[0103] The second input error detection unit 403 identifies a portion of the input character string "kakuniwoonegai" where there is a relatively strong suspicion of an input error, for which the index value evaluating the unnaturalness of the transition between characters is determined to be equal to or greater than a certain value smaller than the first reference value. In the example of FIG. 5, specifically, the second input error detection unit 403 identifies the portion between "i" and "w" in the input character string "kakuniwoonegai" as a portion with a relatively strong suspicion of an input error.
[0104] The second input error detection unit 403 creates a repair candidate corresponding to the identified portion by performing a predetermined repair process on the identified portion of the input character string "kakuniwoonegai". The predetermined repair process is a process of supplementing characters such as vowels, changing characters such as vowels, deleting unnecessary characters, or swapping the order of characters for an input error. In the example of FIG. 5, the second input error detection unit 403 supplements "n" to the portion between "i" and "w" in the input character string "kakuniwoonegai", and creates a repair candidate "kakunin" for the partial character string "kakuni" that becomes a single unit with the portion between "i" and "w".
[0105] The second input error detection unit 403 refers to the storage unit 410 to obtain the frequency of appearance of the word "confirmation" corresponding to the created repair candidate "kakunin" in other documents similar to the document 510 created by user A in the past. For example, since words such as "document" appear in common with the document 510 in the documents corresponding to records 300-1, 300-2, 300-3, etc., they are documents similar to the document 510. In the example of FIG. 5, since the word "confirmation" appears in records 300-1, 300-2, 300-3, etc., the frequency is, for example, 50%. The second input error detection unit 403 determines whether the obtained frequency is equal to or greater than a predetermined threshold value. The predetermined threshold value is, for example, 30%.
[0106] If the frequency obtained by the second input error detection unit 403 is less than the predetermined threshold value, it determines that no input error has occurred at the specified location and does not detect an input error. If the frequency obtained by the second input error detection unit 403 is equal to or greater than the predetermined threshold value, it determines whether the index value evaluating the unnaturalness of the transition between characters at the specified location is equal to or greater than a second reference value smaller than the first reference value.
[0107] In the example of FIG. 5, specifically, it is assumed that the second input error detection unit 403 determines that the obtained frequency is equal to or greater than the predetermined threshold value. Therefore, the second input error detection unit 403 determines whether the index value evaluating the unnaturalness of the transition between characters at the specified location is equal to or greater than a second reference value smaller than the first reference value.
[0108] If the index value evaluating the unnaturalness of the transition between characters at the specified location by the second input error detection unit 403 is less than the second reference value smaller than the first reference value, it determines that no input error has occurred at the specified location and does not detect an input error. If the index value evaluating the unnaturalness of the transition between characters at the specified location by the second input error detection unit 403 is equal to or greater than the second reference value smaller than the first reference value, it determines that an input error has occurred at the specified location and specifies the specified location as the location where the input error has occurred.
[0109] In the example of FIG. 5, assume that the second input error detection unit 403 specifically determines that the index value evaluating the unnaturalness of the transition between characters at the identified location is equal to or greater than a second reference value that is smaller than the first reference value. For this reason, the second input error detection unit 403 determines that an input error has occurred at the identified location, and identifies the identified location as the location where the input error has occurred. In the example of FIG. 5, the second input error detection unit 403 specifically determines that an input error has occurred at the location between "i" and "w", and identifies the identified location as the location where the input error has occurred.
[0110] The correct reading determination unit 404 determines the reading of the input character string including the location where the input error is detected by the first input error detection unit 402 or the second input error detection unit 403. For example, when the second input error detection unit 403 detects an input error, the correct reading determination unit 404 determines the reading of the input character string "kakuniwoonegai" based on the repair candidate created by the second input error detection unit 403. In the example of FIG. 5, specifically, the correct reading determination unit 404 determines the reading of the input character string "kakuniwoonegai" as "かくにんをおねがい" corresponding to the character string "kakuninwoonegai" with "n" supplemented, based on the repair candidate "kakunin".
[0111] Thereby, the correct reading determination unit 404 can obtain the correct reading of the input character string "kakuniwoonegai" in which the input error by the user is correctly repaired. For this reason, the correct reading determination unit 404 can facilitate the output of the conversion result desired by the user. For example, when the character string "kakuniwoonegai" is input based on the operation of the user, the correct reading determination unit 404 can appropriately determine which reading of "かくにをおねがい" and "かくにんをおねがい" is preferable.
[0112] For example, when the second input error detection unit 403 detects an input error, the conversion unit 405 identifies a conversion candidate corresponding to the input character string "kakuniwoonegai" including the part where the input error was detected by the second input error detection unit 403. The conversion unit 405 identifies a conversion candidate corresponding to the input character string "kakuniwoonegai" based on the reading determined by the correct reading determination unit 404, for example. In the example of FIG. 5, the conversion unit 405 specifically identifies a conversion candidate "Confirmation onegai" obtained by converting the reading "kakunin wo onegai" determined by the correct reading determination unit 404.
[0113] (5-3) The output unit 406 outputs the conversion candidate 613 corresponding to the input character string "kakuniwoonegai". For example, the output unit 406 outputs the conversion candidate 513 "Confirmation onegai" obtained by converting the reading "kakunin o onegai" when the input character string "kakuniwoonegai" is repaired to "kakuninwoonegai".
[0114] Specifically, output unit 406 displays conversion candidate 513 “Please confirm” in a selectable manner on document 510. Specifically, output unit 406 may display message 514 in association with conversion candidate 513 “Please confirm.” Message 514 is a message indicating that an input error included in the input character string “kakuniwoonegai” has been corrected.
[0115] As a result, even if the user makes an input error when inputting Japanese, the output unit 406 can enable the user to obtain the desired conversion candidate 513 without the user having to re-input the character string. Furthermore, the output unit 406 can enable the user to understand that the input error has been automatically corrected by referring to the message 514. After displaying the conversion candidate 513, the input support device 100 selects the conversion candidate 513 and confirms the input when, for example, a confirmation instruction (selection operation) is performed by the user's operation.
[0116] In this way, even if the index value evaluating the unnaturalness of transitions between characters in an input character string is less than the first reference value, the input support device 100 can refer to documents previously created by the user and accurately determine whether or not there is an input error in the input character string, based on the context of the input character string.
[0117] For example, when the character string "kakuniwoonegai" is input based on the user's operation, the input support device 100 can appropriately determine which of the conversion candidates "kakuni (braised pork)" and "kakunin (confirmation)" is preferable in accordance with the context, and present it to the user. In the example of FIG. 5, the input support device 100 can appropriately determine that the conversion candidate "kakunin (confirmation)" is preferable in a context in which a word such as "document" appears. This allows the input support device 100 to improve the estimation accuracy of the conversion candidate corresponding to the character string in which the input error occurred, and to easily output the conversion candidate desired by the user.
[0118] Here, the case where the output unit 406 displays only the conversion candidate "please confirm" has been described, but this is not limiting. For example, the output unit 406 may display the conversion candidate "please stewed pork" in addition to the conversion candidate "please confirm". In this case, it is preferable for the output unit 406 to display the conversion candidate "please confirm" in preference to the other conversion candidate "please stewed pork". The output unit 406 may display a list in which a plurality of conversion candidates are arranged, for example, such that the conversion candidate "please confirm" is arranged above the other conversion candidate "please stewed pork".
[0119] Also, for example, even when the output unit 406 displays conversion candidates such as a conversion candidate obtained by converting the reading "kaku ni wo onegai" of the pre - repair character string "kakuniwoonegai" in addition to the conversion candidate "Please confirm", in this case, it is preferable that the output unit 406 preferentially displays the conversion candidate "Please confirm" over conversion candidates such as the conversion candidate obtained by converting the reading "kaku ni wo onegai". The output unit 406 may display a list in which a plurality of conversion candidates are arranged, for example, by arranging the conversion candidate "Please order kakuni" above conversion candidates such as the conversion candidate obtained by converting the reading "kaku ni wo onegai".
[0120] The input support device 100 may change the range to be output as a conversion candidate corresponding to the character string according to whether the input error is detected using the first reference value or the second reference value. For example, when an input error is detected using the first reference value, the input support device 100 may output a conversion candidate corresponding to the post - repair character string. For example, when an input error is detected using the second reference value, the input support device 100 may output both a conversion candidate corresponding to the pre - repair character string and a conversion candidate corresponding to the post - repair character string. Thereby, the input support device 100 can enable the user to refer to an appropriate range of conversion candidates according to the likelihood of the input error. Next, we will move on to the description of FIG. 6.
[0121] In FIG. 6, the document 600 is text data created by user A in the past. The document 600 includes, for example, a conversion result obtained by converting the reading of a character string input based on the key - strokes of user A, and specifically includes the sentence 601 "A Chinese restaurant known for its delicious kakuni has been introduced."
[0122] (6-1) The input support device 100 updates the context information management table 300 based on the document 600. For example, since words such as "kakuni, delicious, Chinese, restaurant, introduction" appear in the document 600, the input support device 100 adds a record associating the document 600 with a list of words such as "kakuni, delicious, Chinese, restaurant, introduction" to the context information management table 300. The records to be added are, for example, the records 300-4, 300-5, 300-6 shown in FIG. 3.
[0123] After that, the input support device 100 is creating the document 610 based on the keystrokes of user A and is displaying the document 610. The document 610 is displayed, for example, on the display 208 shown in FIG. 2. The document 610 includes, for example, the conversion result of converting the reading of the character string input based on the keystrokes of user A, and specifically includes the sentence 611 "I went to a Chinese restaurant."
[0124] The user attempts to input the word "kakuniwoonegai (かくにをおねがい)" for the document 610 and assumes that the character string "kakuniwoonegai (かくにをおねがい)" is correctly keyed in. Therefore, in the example of FIG. 6, there is no input error in the input character string "kakuniwoonegai (かくにをおねがい)". The input support device 100 receives the character string "kakuniwoonegai" input based on the keystrokes of user A for the document 610 and displays the reading 612 "かくにをおねがい" of the input character string "kakuniwoonegai" in the currently displayed document 610. The character string "kakuniwoonegai" is before confirmation.
[0125] (6-2) The input support device 100 receives the keystroke of the conversion key for the character string "kakuniwoonegai". The conversion key may be, for example, the space key. The input support device 100 identifies the conversion candidates corresponding to the character string "kakuniwoonegai" in response to the keystroke of the conversion key. How the input support device 100 identifies the conversion candidates corresponding to the character string "kakuniwoonegai" is shown below.
[0126] The input error first detection unit 402 detects an input error from the input character string. For example, the input error first detection unit 402 determines whether an index value evaluating the unnaturalness regarding the transition between each character in the input character string "kakuniwoonegai" is equal to or greater than a first reference value. In the example of FIG. 6, the input error first detection unit 402 determines that the index value evaluating the unnaturalness regarding the transition between each character in the input character string "kakuniwoonegai" is less than the first reference value for all. Therefore, the input error first detection unit 402 does not detect an input error from the input character string.
[0127] When the input error first detection unit 402 does not detect an input error from the input character string, the input error second detection unit 403 redetects an input error from the input character string. For example, the input error second detection unit 403 determines whether an index value evaluating the unnaturalness regarding the transition between each character in the input character string "kakuniwoonegai" is equal to or greater than a certain value smaller than the first reference value. In the example of FIG. 6, specifically, it is assumed that the input error second detection unit 403 determines that the index value evaluating the unnaturalness regarding the transition from "i" to "w" in the input character string "kakuniwoonegai" is equal to or greater than a certain value smaller than the first reference value. Thereby, although the input error second detection unit 403 does not confirm that it is an input error, it can detect that there is a relatively strong suspicion that it is an input error.
[0128] The input error second detection unit 403 identifies a portion where there is a relatively strong suspicion of an input error, where the index value evaluating the unnaturalness regarding the transition between characters in the input character string "kakuniwoonegai" is determined to be equal to or greater than a certain value smaller than the first reference value. In the example of FIG. 6, specifically, the input error second detection unit 403 identifies the portion between "i" and "w" in the input character string "kakuniwoonegai" as a portion where there is a relatively strong suspicion of an input error.
[0129] The second input error detection unit 403 creates a repair candidate corresponding to the specified location by performing a predetermined repair process on the specified location in the input character string "kakuniwoonegai". The predetermined repair process is a process of supplementing characters such as vowels, changing characters such as vowels, deleting unnecessary characters, or swapping the order of characters for input errors. In the example of FIG. 6, the second input error detection unit 403 supplements "n" at the location between "i" and "w" in the input character string "kakuniwoonegai", and creates a repair candidate "kakunin" for the partial character string "kakuni" that is grouped together with the location between "i" and "w".
[0130] The second input error detection unit 403 refers to the storage unit 410 and obtains the frequency of appearance of the word "confirmation" corresponding to the created repair candidate "kakunin" in other documents similar to document 610 created by user A in the past. For example, since documents corresponding to records 300-4, 300-5, 300-6, etc. have words such as "cooking" appearing in common with document 610, they are documents similar to document 610. In the example of FIG. 6, since the word "confirmation" does not appear in records 300-4, 300-5, 300-6, etc., the frequency is, for example, 0%. The second input error detection unit 403 determines whether the obtained frequency is equal to or greater than a predetermined threshold value. The predetermined threshold value is, for example, 30%.
[0131] If the frequency obtained by the second input error detection unit 403 is less than the predetermined threshold value, it determines that no input error has occurred at the specified location and does not detect an input error. If the frequency obtained by the second input error detection unit 403 is equal to or greater than the predetermined threshold value, it determines whether the index value evaluating the unnaturalness regarding the transition between characters at the specified location is equal to or greater than a second reference value smaller than the first reference value.
[0132] In the example of FIG. 6, specifically, it is assumed that the second input error detection unit 403 determines that the obtained frequency is less than the predetermined threshold value. Therefore, the second input error detection unit 403 determines that no input error has occurred at the specified location and does not detect an input error.
[0133] The correct reading determination unit 404 determines the reading of the input character string. For example, when the second input error detection unit 403 does not detect an input error, the correct reading determination unit 404 determines the reading of the input character string "kakuniwoonegai" without using the repair candidates created by the second input error detection unit 403. In the example of Fig. 6, the correct reading determination unit 404 specifically determines the reading of the input character string "kakuniwoonegai" as "kakuniwoonegai" as it is.
[0134] As a result, correct reading determination unit 404 can obtain the correct reading of the input character string "kakuniwoonegai" even when there is no input error by the user. Therefore, correct reading determination unit 404 can easily output the conversion result desired by the user. For example, when the character string "kakuniwoonegai" is input based on the user's operation, correct reading determination unit 404 can appropriately determine which reading, "kakuniwoonegai" or "kakuninonegai," is preferable.
[0135] For example, when the second input error detection unit 403 does not detect an input error, the conversion unit 405 identifies a conversion candidate that corresponds directly to the input character string "kakuniwoonegai". For example, the conversion unit 405 identifies a conversion candidate that corresponds to the input character string "kakuniwoonegai" based on the reading determined by the correct reading determination unit 404. In the example of FIG. 6, specifically, the conversion unit 405 identifies a conversion candidate "kakuni wo onegai" obtained by converting the reading "kakuni wo onegai" determined by the correct reading determination unit 404.
[0136] (6-3) The output unit 406 outputs the conversion candidate 613 corresponding to the input character string "kakuniwoonegai". For example, the output unit 406 outputs the conversion candidate 613 "kakuni wo onegai" obtained by converting the reading "kakuni wo onegai" of the input character string "kakuniwoonegai". Specifically, the output unit 406 displays the conversion candidate 613 "kakuni wo onegai" in a selectable manner on the document 610.
[0137] In this way, if the user has not made an input error when inputting Japanese, the output unit 406 can obtain a desired conversion candidate 613 without erroneously correcting the input character string. The output unit 406 can prevent over-correction. After displaying the conversion candidate 613, when a confirmation instruction (selection operation) is given by a user's operation, for example, the input support device 100 selects the conversion candidate 613 and confirms the input.
[0138] In this way, even if the index value evaluating the unnaturalness of transitions between characters in an input character string is less than the first reference value, the input support device 100 can refer to documents previously created by the user and accurately determine whether or not there is an input error in the input character string, based on the context of the input character string.
[0139] For example, when the character string "kakuniwoonegai" is input based on the user's operation, the input support device 100 can appropriately determine which of the conversion candidates "kakuni (braised pork)" and "kakunin (confirmation)" is preferable in accordance with the context, and present it to the user. In the example of FIG. 5, the input support device 100 can appropriately determine that the conversion candidate "kakunin (confirmation)" is preferable in a context in which a word such as "document" appears. This allows the input support device 100 to improve the estimation accuracy of the conversion candidate corresponding to the character string in which the input error occurred, and to easily output the conversion candidate desired by the user.
[0140] Here, the case where the output unit 406 displays only the conversion candidate "Please serve us stewed meatballs" has been described, but it is not limited to this. For example, the output unit 406 may display, in addition to the conversion candidate "Please serve us stewed meatballs", a conversion candidate "Please confirm" corresponding to the repair candidate. In this case, it is preferable that the output unit 406 preferentially displays the conversion candidate "Please serve us stewed meatballs" over the other conversion candidate "Please confirm". For example, the output unit 406 may display a list in which a plurality of conversion candidates are arranged such that the conversion candidate "Please serve us stewed meatballs" is placed above the other conversion candidate "Please confirm".
[0141] (Overall processing procedure) Next, an example of the overall processing procedure executed by the input support device 100 will be described with reference to FIG. 7. The overall processing is realized, for example, by the CPU 201 shown in FIG. 2, storage devices such as the RAM 203 and the HD 205, and the network I / F 211.
[0142] FIG. 7 is a flowchart showing an example of the overall processing procedure. In the flowchart of FIG. 7, first, the input support device 100 receives a series of key presses by the user's operation (step S701). Next, the input support device 100 receives an input of a character string corresponding to the series of key presses received until the conversion key is pressed by the user's operation (step S702). Then, the input support device 100 executes a detection process described later with reference to FIG. 8 on the input character string (step S703).
[0143] Next, the input support device 100 determines whether an input error has been detected from the input character string (step S704). Here, if no input error is detected (step S704: No), the input support device 100 proceeds to the process of step S705. On the other hand, if an input error is detected (step S704: Yes), the input support device 100 proceeds to the process of step S706.
[0144] In step S705, the input support device 100 determines the reading of the input string as it is (step S705). Then, the input support device 100 proceeds to the process of step S707. In step S706, the input support device 100 determines the reading of the string obtained by repairing the input string based on the repair candidates (step S706). Then, the input support device 100 proceeds to the process of step S707.
[0145] In step S707, the input support device 100 creates conversion candidates corresponding to the input string based on the determined reading (step S707). Next, the input support device 100 outputs the created conversion candidates (step S708). Then, the input support device 100 ends the overall process. Thereby, the input support device 100 can output conversion candidates corresponding to the input string.
[0146] (Detection processing procedure) Next, with reference to FIG. 8, an example of the detection processing procedure executed by the input support device 100 will be described. The detection processing is realized, for example, by the CPU 201 shown in FIG. 2, storage devices such as the RAM 203 and the HD 205, and the network I / F 211.
[0147] FIG. 8 is a flowchart showing an example of the detection processing procedure. In the flowchart of FIG. 8, first, the input support device 100 calculates an index value for evaluating the unnaturalness of the transitions between the respective characters in the input string (step S801).
[0148] Next, the input support device 100 determines whether any of the calculated index values is greater than or equal to the first reference value (step S802). Here, when any of the calculated index values is greater than or equal to the first reference value (step S802: Yes), the input support device 100 proceeds to the process of step S808. On the other hand, when none of the calculated index values is greater than or equal to the first reference value (step S802: No), the input support device 100 proceeds to the process of step S803.
[0149] In step S803, the input support device 100 determines whether any of the calculated index values is equal to or greater than a certain value that is smaller than the first reference value (step S803). Here, if any of the calculated index values is equal to or greater than the certain value (step S803: Yes), the input support device 100 proceeds to the process of step S804. On the other hand, if none of the calculated index values is equal to or greater than the certain value (step S803: No), the input support device 100 proceeds to the process of step S809.
[0150] In step S804, the input support device 100 creates a repair candidate corresponding to a portion of the input string for which any of the calculated index values is determined to be equal to or greater than the certain value (step S804). Next, the input support device 100 refers to the context information management table 300 and obtains the frequency at which the word corresponding to the created repair candidate appears in the documents created by the user in the past (step S805).
[0151] Then, the input support device 100 determines whether the obtained frequency is equal to or greater than a threshold value (step S806). Here, if the obtained frequency is equal to or greater than the threshold value (step S806: Yes), the input support device 100 proceeds to the process of step S807. On the other hand, if the obtained frequency is not equal to or greater than the threshold value (step S806: No), the input support device 100 proceeds to the process of step S809.
[0152] In step S807, the input support device 100 determines whether any of the calculated index values is equal to or greater than a second reference value that is smaller than the first reference value (step S807). Here, if any of the calculated index values is equal to or greater than the second reference value (step S807: Yes), the input support device 100 proceeds to the process of step S808. On the other hand, if none of the calculated index values is equal to or greater than the second reference value (step S807: No), the input support device 100 proceeds to the process of step S809.
[0153] In step S808, the input support device 100 determines that an input error has occurred (step S808). Then, the input support device 100 ends the detection process. In step S809, the input support device 100 determines that no input error has occurred (step S809). Then, the input support device 100 ends the detection process. Thereby, the input support device 100 can accurately determine whether an input error has occurred. Here, for example, the process of step S807 can be omitted. Specifically, if the second reference value is the same as a certain value, it can be omitted.
[0154] As described above, according to the input support device 100 according to the embodiment, the character string input based on the user's operation can be acquired. According to the input support device 100, among the input character strings, an index value obtained by evaluating the unnaturalness regarding the transition of characters is equal to or greater than a certain value smaller than the first reference value for detecting an input error and less than the first reference value, and it is possible to specify a location where such a determination is made. According to the input support device 100, by performing a predetermined repair process on the specified location, a repair candidate corresponding to the specified location can be created. According to the input support device 100, referring to a storage unit that stores words that appear in documents created by the user in the past, using the words that appear in the document including the character string, in one or more other documents similar to the document including the character string, based on the frequency of occurrence of words corresponding to the created repair candidates, it is possible to detect an input error at the specified location. Thereby, the input support device 100 can accurately determine whether an input error has occurred in the input character string.
[0155] According to the input support device 100, when the frequency is equal to or greater than a predetermined threshold value, an input error at the specified location can be detected. According to the input support device 100, when the frequency is less than the predetermined threshold value, it is possible not to detect an input error at the specified location. Thereby, the input support device 100 can accurately determine whether an input error has occurred in the input character string in consideration of the context based on the frequency.
[0156] According to the input support device 100, when a typing error at a specified location is detected, a conversion candidate obtained by converting a repair candidate corresponding to the specified location is output, and when a typing error at the specified location is not detected, a conversion candidate obtained by directly converting the specified location without performing a predetermined repair process on the specified location can be output. Thereby, the input support device 100 can make it easier for the user to refer to a desired conversion candidate.
[0157] According to the input support device 100, with reference to the storage unit, based on the frequency of occurrence of a word corresponding to the created repair candidate in one or more other documents in which the number of words that commonly appear with the document containing the character string is equal to or greater than a certain number, a typing error at the specified location can be detected. Thereby, the input support device 100 can accurately detect a typing error at the specified location in consideration of the context of other documents similar to the document containing the character string.
[0158] According to the input support device 100, when the index value is equal to or greater than the first reference value, a typing error at the specified location can be detected. Thereby, when the probability of a typing error at the specified location is relatively high, the input support device 100 can appropriately detect the typing error at the specified location. The input support device 100 can detect a typing error at the specified location without referring to the storage unit, and can suppress an increase in processing time.
[0159] Note that the input support method described in the present embodiment can be realized by executing a pre-prepared program on a computer such as a personal computer or a workstation. This input support program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, a DVD, or a USB memory, and is executed by being read from the recording medium by the computer. Further, this input support program may be distributed via a network such as the Internet.
Industrial Applicability
[0160] The input support program, input support method, and input support device according to the present invention are useful in a computer system that supports character input performed based on a user's operation, and in particular, are suitable for a computer system that inputs Japanese based on a user's operation.
Explanation of Signs
[0161] 100 Input support device 101, 500, 510, 600, 610 Documents 102 Character string 103 Repair candidate 110, 410 Storage unit 200 Bus 201 CPU 202 ROM 203 RAM 204 HDD 205 HD 206 CD-RW drive 207 CD-RW 208 Display 209 Keyboard 210 Mouse 211 Network I / F 300 Context information management table 401 Reception unit 402 First input error detection unit 403 Second input error detection unit 404 Correct reading determination unit 405 Conversion unit 406 Output unit 501, 511, 601, 611 Sentences 513, 613 Conversion candidates 514 Message
Claims
1. Among the character strings input based on the user's operations, for a portion where an index value evaluating the unnaturalness of the character transition is equal to or greater than a certain value that is less than a first reference value for detecting input errors and less than the first reference value, a repair candidate corresponding to the portion is created by performing a predetermined repair process on the portion. By referring to a storage unit that stores words that appear in documents created by the user in the past, and using words that appear in the document including the character string, based on the frequency of appearance of words corresponding to the created repair candidate in one or more other documents similar to the document including the character string, an input error at the portion is detected. An input support program characterized by causing a computer to execute the process.
2. The process of detecting is detecting an input error at the portion when the frequency is equal to or greater than a predetermined threshold value, and not detecting an input error at the portion when the frequency is less than the predetermined threshold value. The input support program according to claim 1, characterized in that.
3. When an input error at the portion is detected, a conversion candidate obtained by converting the repair candidate corresponding to the portion is output. When an input error at the portion is not detected, a conversion candidate obtained by directly converting the portion without performing the predetermined repair process on the portion is output. The input support program according to claim 1 or 2, characterized in that the process is caused to be executed by the computer.
4. The process of detecting is detecting an input error at the portion based on the frequency of appearance of words corresponding to the created repair candidate in one or more other documents in which the number of words that commonly appear with the document including the character string is equal to or greater than a certain number by referring to the storage unit. The input support program according to claim 1 or 2, characterized in that.
5. When the index value is equal to or greater than the first reference value, an input error at the portion is detected. The input support program according to claim 1 or 2, characterized in that the process is caused to be executed by the computer.
6. Among the character strings input based on the user's operations, for a portion where an index value evaluating the unnaturalness of the character transition is equal to or greater than a certain value that is less than a first reference value for detecting input errors and less than the first reference value, a repair candidate corresponding to the portion is created by performing a predetermined repair process on the portion. With reference to a storage unit that stores words that appear in documents created by the user in the past, using the words that appear in the document containing the character string, in one or more other documents similar to the document containing the character string, based on the frequency of occurrence of the words corresponding to the created repair candidates, detect an input error at the location. An input support method, characterized in that a computer executes the process. **Claim 7** Among the character strings input based on the user's operation, the index value evaluating the unnaturalness regarding the transition of characters is equal to or greater than a certain value smaller than the first reference value for detecting an input error and less than the first reference value. For the location determined to be such, a repair candidate corresponding to the location is created by performing a predetermined repair process. With reference to a storage unit that stores words that appear in documents created by the user in the past, using the words that appear in the document containing the character string, in one or more other documents similar to the document containing the character string, based on the frequency of occurrence of the words corresponding to the created repair candidates, detect an input error at the location. An input support device, characterized by having a control unit.
Citation Information
Patent Citations
Display program, display method, display device, and creation program
JP2020166720A