WO2018030601A1 - Typographical error character correction method - Google Patents
Typographical error character correction method Download PDFInfo
- Publication number
- WO2018030601A1 WO2018030601A1 PCT/KR2017/001415 KR2017001415W WO2018030601A1 WO 2018030601 A1 WO2018030601 A1 WO 2018030601A1 KR 2017001415 W KR2017001415 W KR 2017001415W WO 2018030601 A1 WO2018030601 A1 WO 2018030601A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- string
- candidate
- similarity
- typo
- character
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Definitions
- the present invention relates to a method for correcting a typo character, the method for correcting a typo character that corrects a typo character input to a terminal into a correct character.
- a method of correcting a typo using a delete function key such as a backspace has a problem in that not only the typo character but also all characters normally input between the typo character and the current cursor position are deleted.
- the method of correcting a typo by moving the cursor to a typo character using the mouse is to release the mouse from the keyboard, move the cursor to the desired position, and move the cursor back to the current position after correcting the typo.
- the operation is cumbersome and time consuming.
- the cursor is moved using a finger touch. In the case of a device having a small touch screen such as a mobile device, it is more difficult and cumbersome to move the cursor to the correct position because a finger touch must move the cursor to a desired position within the small screen.
- An object of the present invention is to provide a typo character correction means that can increase the accuracy of the content to be corrected. It is also an object of the present invention to provide an algorithm process that can show a list of modifiable modified characters.
- a typo correcting position and a correction word to replace a typo character are input.
- Receiving corrective input process A typo string determination process of determining a string at the typo correcting position as a typo string; A modified candidate string generation process of generating modified candidate strings combining the typo string and a corrected word; A similarity calculation step of calculating the similarity between the modified candidate string and the corrected word for each modified candidate string; A modification candidate string list display step of displaying the correction candidate character strings having the calculated similarity within the preset range of ranks as a modification candidate string list in the form of a list; And a typo correcting step of determining a corrected candidate string selected from a string inputter as a final corrected string from the list of corrected candidate strings, and replacing the last input string before the input of the corrected word with the corrected string. It may include.
- the correction word input process may include: determining whether a touch occurs in a text input field after a space is entered after a space is input by the terminal through a text input field; If the touch occurs, receiving a character string input after the one space as a corrected word; And receiving a touched position in the text input field as the typo correcting position.
- the correcting candidate character string generation process may include: determining a plurality of character strings in which a correction word is inserted into a character, a character string, or a front part, a rear part, or a middle part of the typo character string as a correction candidate preliminary string; Calculating a editing distance (Damerau-Levenshtein distance) indicating how many edits in the proofing language can be converted into the candidate candidate correction string; And excluding a modification candidate preliminary string in which the edit distance does not satisfy a preset edit distance condition and determining the remaining modification candidate preliminary string as a modification candidate string.
- the calculating of the editing distance may include calculating similarity between the preliminary candidate candidate string and the corrected word by using a Damerau-Levenshtein distance algorithm.
- the calculating of the similarity may include: calculating a first similarity degree for each modified candidate string, a first similarity degree that is a similarity between the typo string and the modified candidate string; Identifying a word replaced by a correction candidate string in the typo string; A second similarity calculation step of calculating a second similarity degree that is a similarity between the replaced word and the corrected word for each candidate candidate string; And calculating a similarity of similarity calculated by summing up the first similarity degree and the second similarity degree for each modified candidate string and calculating the summed similarity for each modified candidate string.
- the first and second similarities may be calculated by an algorithm of jaro-winkler distance.
- the first similarity calculation process may be performed by calculating concurrence by separating consonants and vowels of the typo string and the correction candidate string when the character is Korean, or combining consonants and vowels of the typo string and the correction candidate string.
- the similarity of the Hangul itself may be calculated as the first similarity.
- the consonants and vowels between the replaced word and the corrected word are separated to calculate similarity, or the consonants and vowels between the replaced word and the corrected word are combined. It may be characterized by calculating the similarity of the Hangul itself as a second similarity.
- the displaying of the modified candidate character string list may include: sorting the modified candidate character strings in order of high sum similarity; And displaying the modified candidate character strings having the summation similarity within a preset ranking range as a modified candidate character string list.
- the priorities may be prioritized in the order of strings that are frequently selected and displayed in the order of priority.
- a typo character can be corrected by a simple operation, and user convenience can be increased.
- FIG. 1 is a diagram illustrating a terminal in which a character string is input according to an embodiment of the present invention.
- FIG. 2 is a block diagram of a terminal according to an embodiment of the present invention.
- 3 and 4 is a flowchart showing a typo character correction process according to an embodiment of the present invention.
- 5 to 13 is a diagram showing a typo character correction process according to an embodiment of the present invention.
- FIG. 1 is a diagram illustrating a terminal to which a character string is input according to an embodiment of the present invention
- FIG. 2 is a block diagram of a terminal according to an embodiment of the present invention.
- the present invention allows a user to select a position to be corrected to increase the accuracy of the content to be corrected, rather than automatically. For this purpose, the list of modifiable items is displayed so that if the result is not the best, the user can make the desired modification.
- the terminal 100 is a device that can receive text, and may correspond to a smartphone.
- a smart phone as an example of the terminal 100 is described as an example, but not only a smart phone but also a desktop PC, a tablet PC, a slate PC, a notebook computer (notebook computer), digital broadcasting terminal 100, PDA (Personal Digital Assistants), PMP (Portable Multimedia Player), Navigation (Navigation), Digital Camera (MP3P), MP3P (MPEG layer 3 Player) have.
- PDA Personal Digital Assistants
- PMP Portable Multimedia Player
- Navigation Navigation
- MP3P Digital Camera
- MP3P MP3P
- MP3P MPEG layer 3 Player
- the terminal 100 may include an input unit 110, a display unit 120, a memory 130, and a typo correcting algorithm processing unit 140.
- the display unit 120 is a display window displayed on the terminal 100, and a keyboard for text input may be displayed.
- the input unit 110 receives text from an input user who is a terminal user through a text input field. Character input may be input by touching a character button displayed on the keyboard.
- the display unit 120 and the input unit 110 may be implemented as a single type of touch screen panel.
- the touch screen panel is a display window provided on the front of the terminal 100 to display a work screen by providing a touch screen screen capable of simultaneously inputting and displaying a graphic user interface (GUI) for input. Display.
- GUI graphic user interface
- the memory 130 is a storage unit that stores characters input through the input unit 110 (hereinafter, referred to as an “input string”).
- Memory is SSD drive (Solid State Drive), Flash memory 130 (Flash Memory), CF card (Compact Flash Card), SD card (Secure Digital Card), SM card (Smart Media Card), MMC card (Multi-Media
- a module capable of inputting / outputting information such as a card or a memory stick 130 may be provided inside the device or may be provided in a separate device.
- the typo correcting algorithm processing unit 140 performs a function of replacing and correcting a typo character input as a typo among input strings input through an input field with another correction character. To this end, the typo correcting algorithm processing unit 140 receives a typo correcting position and a correction word to replace a typo character while the terminal receives a string through a character input field, and then converts the string at the typo correcting position into a typo string. Decide Then, the candidate candidate strings combining the typo string and the correct word are generated. The similarity between the modified candidate string and the corrected word is calculated for each modified candidate string, and the modified candidate strings whose calculated similarities fall within a predetermined range of ranks are displayed as a modified candidate string list in the form of a list. The candidate string selected from the string inputter of the candidate candidate string list is determined as the final modification string, and the last input string before the input of the correction word is replaced with the modification string.
- FIGS. 5 to 12 are diagrams illustrating typo character correction processes according to an embodiment of the present invention.
- a character that is incorrectly input to 'HANHAN' is modified to 'HANHAN'.
- a character 'person' is input and there is a touch in the character input field 10 as shown in FIG. 6, the character 'person', which is an input string following a space, is determined as a correction word.
- the touched position in the text input field 10 is determined as a typo correcting position.
- a typo correcting position may determine the adjacent range of the touched point in the text input field 10 as the typo correcting position.
- the range of the correction word may be determined as the range of the correction error position. For example, as shown in FIG. 6, when a point between 'about' and 'han' is touched within the string of 'hanhan', the corrective word 'person' is two letters. The two letters before and after the 'hanhanhan' each falls within the range of the typo correction position.
- the modified candidate character string generation process includes a process of determining a plurality of character strings in which a correction word is inserted by inserting a correction word into a character, a character string, or a front part, a rear part, or a middle part of a typo character string as a candidate candidate character string (S331), and the correction.
- Calculating a editing distance indicating how many edits can be converted to the correction candidate preliminary character string through a number of edits (S332), and a correction in which the editing distance does not meet a preset editing distance condition.
- the process of determining the remaining modification candidate preliminary string as the final modification candidate string except the candidate preliminary string is performed (S333).
- a range before and after the correction candidate length is specified, the correction word is inserted in the corresponding range, and all items that can be corrected are extracted to be determined as the candidate candidate correction strings. Can be.
- 'person', 'person', 'person', 'person', 'person', and 'person' can be determined as the candidate correction string.
- the step (S332) of calculating a Damerau-Levenshtein distance between the candidate candidate corrective string and the proofreading word may be performed by using a variety of known Damerau-Levenshtein distance algorithms. Calculate the similarity between the stems.
- the Damerau-Levenshtein distance algorithm is, as is known, an algorithm that calculates how many modifications are made from the original word to the desired word.
- the editing distance algorithm is already known by "https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" and the like.
- An editing distance (number of edits) indicating whether it can be converted can be calculated by the editing distance algorithm.
- the edit distance between the candidate candidate correction string 'person Han' and the correction word 'person' may be calculated 4, and the edit distance between the candidate candidate modification string 'Dae Person Han' and the corrective word 'person' 4 may be calculated.
- the editing distance between the candidate candidate correction string 'person' and the correction word 'person' may be calculated 4
- the editing distance between the candidate candidate modification string 'Korean person' and the corrector word 'person' may be 4
- the edit distance between the candidate candidate correction string 'person only' and the corrector 'person' may be calculated 5
- the edit distance between the candidate candidate modification string 'person' and the corrector 'person' 6 may be calculated.
- the correction candidate preliminary string whose edit distance does not meet the preset edit distance condition is excluded, and the remaining corrected candidate preliminary string is determined as the correction candidate string (S333).
- the correction candidate preliminary string larger than the least editing distance + 1 is excluded from the candidate group. Therefore, only the correction candidate preliminary strings as shown in the following [Table 2] remain and these modification candidate preliminary strings are determined as the correction candidate strings.
- Modification candidate string Damerau-Levenshtein distance Man 4 Human 4 Person 4 For people 4 One person 5
- the similarity calculation process S340 is performed to calculate the similarity between the candidate candidate string and the corrected word for each candidate candidate string.
- the similarity calculating step (S340) may include a first similarity calculation step (S341) of calculating a first similarity, which is a similarity between a typo character string and a correction candidate string, for each modification candidate string, and a word replaced by the correction candidate character string in the typo string. (S342), a second similarity calculation step (S343) of calculating a second similarity degree that is the similarity between the replaced word and the corrected word for each candidate candidate string, and adding the first similarity and second similarity values to each candidate candidate string.
- a summation similarity calculation step (S344) of calculating the summation similarity for each modified candidate character string is performed.
- first similarity calculation process S341 when the character is Korean, the consonants and vowels of the typo string and the correction candidate string are separated to calculate a similarity (first-similarity), or a typo.
- the similarity (1-2 similarity) between the consonants and vowels combined with the consonants and vowels of the character string and the modified candidate string may be calculated as the first similarity.
- the typo string 'about' can be identified as the replaced word
- the candidate for correction string 'person' 'Hanhan' can be understood as a word replaced with 'large' in the typo typo 'hanhan'.
- a second similarity which is a similarity between the replaced word and the corrected word, is calculated for each candidate string of correction (S343).
- the second similarity calculation process S343 when the character is Korean, the consonant and the vowel between the replaced word and the corrected word are separated to calculate a similarity (2-1 similarity), or the replaced word.
- the similarity (second-2 similarity) of the Hangul itself combined with consonants and vowels between and corrected words is calculated as the second similarity.
- the similarity may be calculated by a known jaro-winkler distance algorithm.
- the jaro-winkler distance algorithm which is a similarity calculating algorithm between words, may be used in various similarity calculating algorithms, such as "https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance".
- Table 3 is a table showing first and second similarities for each modified candidate character string.
- the typographic separation similarity (1-1 similarity) of the typo string + corrective word the similarity (1-2 similarity) of Hangul itself of the typo string + corrective word, and the consonant of [replaced word + corrective word]
- the similarity of separation 2-1 similarity
- the similarity 2-2 similarity
- the first similarity for each modified candidate string a second similarity is added to calculate a similarity similarity for each candidate candidate string.
- the modified candidate string list display process S350 is displayed to display, as a list of modified candidate character strings in the form of a list, the modified candidate strings having the calculated similarity within the preset range. That is, as shown in Fig. 7, a list 20 of candidate candidate character strings for replacing a typo character string is displayed.
- the modification candidate string list display process (S350) first includes a process (S351) as shown in Table 4 below, in the order of the modification candidate strings having high sum similarity.
- the value is corrected. For example, although not shown in [Table 4] above, if the same language is repeated in the result list, such as “Welcome”, it is usually an incorrect form. If there is, remove it from the list, for example a, d, o may be applicable.
- the modified candidate strings having the summation similarity within a preset ranking range are displayed as a modified candidate string list (S352). If the ranking ranges to the fourth place, in the sorting table of [Table 4], the four candidate candidate strings of 'Korean,' 'Daily', 'Daily' and 'Only One'
- the modification candidate character string list 20 is displayed as shown in FIG.
- the candidate string having the highest similarity among the modification candidate string lists is determined as the final modification string, and the last input string before the correction word is input. It may be modified by replacing with a correction string (S360) to correct a typo as shown in FIG.
- the modification candidate string selected from the string inputter may be displayed as the modification string.
- a separate deselection button 30 is provided, so that the deselection button 30 can be selected to return to the state before the correction when the correction string is incorrectly selected.
- the candidate candidate string list may be displayed in order of the existing frequently selected strings. Therefore, as shown in FIG. 9, even when a typo is entered, the word 'Korean person', which is frequently used, is displayed on the candidate string for modification.
- the touched position in the text input field 10 is determined as a typo correcting position.
- a typo correcting position may determine the adjacent range of the touched point in the text input field 10 as the typo correcting position. For example, as shown in FIG. 11, when a point between 'hw' and 'l' is touched in the string of 'hwllo', the correct word 'el' is two letters, so the front of the touched point After that, each one-letter range 'wl' falls within the range of the typos.
- the correction candidate strings combining the typo string and the correction word are generated, sorted in the order of the modified candidate strings with high similarity, and as shown in FIG. 12. It can be displayed as the correction candidate character string list 20. Also, 'hello', which is the highest similarity candidate string among the candidate candidate string lists, is determined as the final modification string, and the last input string before the correction word is replaced with the correction string to correct a typo as shown in FIG. 12. Can be displayed. If the character string inputter selects another modification candidate string, the modification candidate string selected from the character string inputter may be displayed as the modification string. Furthermore, a separate deselection button 30 is provided, so that the deselection button 30 can be selected to return to the state before the correction when the correction string is incorrectly selected.
- the priorities may be prioritized in order of frequently selected strings, and may be displayed in a sorted order. Therefore, after a similarity calculation process is performed for calculating the similarity between the candidate candidate string and the corrected word for each candidate candidate string, the candidate candidate string list may be displayed in order of the existing frequently selected strings. Therefore, even when a typo of 'hwllo' is inputted as shown in FIG. 13, the word 'hello', which has been frequently used, is displayed as a part of the modification candidate string list, and is selected to be finally modified to 'hello'. have.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
According to an embodiment of the present invention, a typographical error character correction method by which a terminal corrects a character inputted as a typographical error can comprise: a corrected word input step of receiving, while a terminal receives a character string through a character input field, a typographical error corrected position and a corrected word which is to replace a typographical error character; a typographical error character string determination step of determining a character string, which is at the typographical error corrected position, as a typographical error character string; a correction candidate character string generation step of generating correction candidate character strings in which the typographical error character string and the corrected word are combined; a similarity calculation step of calculating similarity between the correction candidate character string and the corrected word for each correction candidate character string; a correction candidate character string list display step of displaying correction candidate character strings, of which the calculated similarity is within a preset rank range, as a correction candidate character string list having a list form; and a typographical error correction step of determining, as the finally corrected character string, a correction candidate character string selected by a character string input person from the correction candidate character string list, and performing a correction by replacing a character string, last inputted before the input of the corrected word, with the corrected character string.
Description
본 발명은 오타 문자 수정 방법으로서, 단말기에 입력되는 오타 문자를 올바른 문자로 수정하는 오타 문자 수정 방법에 관한 것이다.The present invention relates to a method for correcting a typo character, the method for correcting a typo character that corrects a typo character input to a terminal into a correct character.
PC나 모바일 기기상에서 문자(영문, 한글, 숫자, 특수 문자 등 입력 가능한 모든 형태를 포괄하는 의미임)를 입력하는 과정에서 오타가 발생할 경우, 통상적인 오타 수정 방법은 백스페이스(Backspace) 등의 삭제 기능키를 이용해 오타가 난 문자 이후에 입력된 문자들을 모두 지운 다음 올바른 문자를 다시 입력하거나, 마우스(PC의 경우) 또는 손가락 터치로(모바일 기기의 경우) 커서를 오타가 난 문자로 옮긴 다음 오타가 난 문자를 지우고 올바른 문자를 다시 입력해 오타를 수정하는 것이었다.If a typo occurs while typing a character (which includes all possible forms such as English, Korean, numbers, and special characters) on a PC or mobile device, the usual way to correct typos is to delete the backspace, etc. Use the function keys to erase all characters entered after the typo, then type the correct character again, or move the cursor to the typo using the mouse (for PC) or finger touch (for mobile devices) I corrected a typo by deleting the characters and retyping the correct characters.
그런데 백스페이스 등의 삭제 기능키를 이용해 오타를 수정하는 방식은 오타가 난 문자뿐만 아니라 오타가 난 문자와 현재의 커서 위치 사이에 정상적으로 입력된 문자들까지도 모두 지워져 버리는 문제가 있다. 또한 마우스를 이용해 커서를 오타가 난 문자로 옮겨 오타를 수정하는 방식은 키보드에서 손을 떼어 마우스를 잡고 원하는 위치로 커서를 옮기는 동작과 오타를 수정한 이후에 커서를 현재의 위치로 다시 옮기는 동작이 필요하게 되어, 조작이 번거롭고 시간이 많이 소비되게 되는 문제가 있다. 이는 손가락 터치를 사용해 커서를 옮기는 경우에도 마찬가지이다. 모바일 기기와 같은 소형 터치스크린을 갖는 장치의 경우에는 작은 화면 내에서 손가락 터치로 커서를 원하는 위치로 이동시켜야 하기 때문에 커서를 정확한 위치로 이동시키는 것이 더욱 어렵고 번거롭게 된다.However, a method of correcting a typo using a delete function key such as a backspace has a problem in that not only the typo character but also all characters normally input between the typo character and the current cursor position are deleted. In addition, the method of correcting a typo by moving the cursor to a typo character using the mouse is to release the mouse from the keyboard, move the cursor to the desired position, and move the cursor back to the current position after correcting the typo. There is a problem that the operation is cumbersome and time consuming. The same is true when the cursor is moved using a finger touch. In the case of a device having a small touch screen such as a mobile device, it is more difficult and cumbersome to move the cursor to the correct position because a finger touch must move the cursor to a desired position within the small screen.
본 발명의 기술적 과제는 수정하고자 하는 내용의 정확성을 높일 수 있는 오타 문자 수정 수단을 제공하는데 있다. 또한 본 발명의 기술적 과제는, 수정가능 한 수정 문자들의 목록들을 보여줄 수 있는 알고리즘 과정을 제공하는데 있다.An object of the present invention is to provide a typo character correction means that can increase the accuracy of the content to be corrected. It is also an object of the present invention to provide an algorithm process that can show a list of modifiable modified characters.
본 발명의 실시 형태는 오타로 입력된 문자를 수정하는 단말기에서의 오타 문자 수정 방법에 있어서, 단말기가 문자 입력 필드를 통해 문자열을 입력받는 도중에, 오타 수정 위치와 오타 문자를 대체할 교정어를 입력받는 교정어 입력 과정; 상기 오타 수정 위치에 있는 문자열을 오타 문자열로 결정하는 오타 문자열 결정 과정; 상기 오타 문자열과 교정어를 조합한 수정 후보 문자열들을 생성하는 수정 후보 문자열 생성 과정; 상기 수정 후보 문자열과 교정어간의 유사도를 수정 후보 문자열마다 산출하는 유사도 산출 과정; 산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들을 리스트 형태인 수정 후보 문자열 리스트로서 표시하는 수정 후보 문자열 리스트 표시 과정; 및 상기 수정 후보 문자열 리스트 중에서 문자열 입력자로부터 선택된 수정 후보 문자열을 최종적인 수정 문자열로 결정하여, 상기 교정어의 입력 이전에 마지막으로 입력된 문자열을 상기 수정 문자열로 대체하여 수정하는 오타 수정 과정;을 포함할 수 있다.According to an embodiment of the present invention, in a method for correcting a typo character in a terminal for correcting a typo input character, while the terminal receives a character string through a character input field, a typo correcting position and a correction word to replace a typo character are input. Receiving corrective input process; A typo string determination process of determining a string at the typo correcting position as a typo string; A modified candidate string generation process of generating modified candidate strings combining the typo string and a corrected word; A similarity calculation step of calculating the similarity between the modified candidate string and the corrected word for each modified candidate string; A modification candidate string list display step of displaying the correction candidate character strings having the calculated similarity within the preset range of ranks as a modification candidate string list in the form of a list; And a typo correcting step of determining a corrected candidate string selected from a string inputter as a final corrected string from the list of corrected candidate strings, and replacing the last input string before the input of the corrected word with the corrected string. It may include.
상기 교정어 입력 과정은, 단말기가 문자 입력 필드를 통해 문자열을 입력받는 도중에, 한 칸 띄어쓰기에 이어 문자열이 입력된 후 문자 입력 필드 내에서 터치가 발생하는지를 판단하는 과정; 상기 터치가 발생한 경우, 상기 한 칸 띄어쓰기에 이어 입력된 문자열을 교정어로서 입력받는 과정; 및 상기 문자 입력 필드 내에서 터치된 위치를 상기 오타 수정 위치로서 입력받는 과정;을 포함할 수 있다.The correction word input process may include: determining whether a touch occurs in a text input field after a space is entered after a space is input by the terminal through a text input field; If the touch occurs, receiving a character string input after the one space as a corrected word; And receiving a touched position in the text input field as the typo correcting position.
상기 수정 후보 문자열 생성 과정은, 상기 오타 문자열내의 문자 또는 문자열의 앞부분, 뒷부분, 중간에 교정어를 각각 삽입하여 조합한 복수개의 문자열을 수정 후보 예비 문자열로서 결정하는 과정; 상기 교정어에서 몇 번의 편집횟수를 거쳐서 상기 수정 후보 예비 문자열로 변환될 수 있는지를 나타내는 편집거리(Damerau-Levenshtein distance)를 산출하는 과정; 및 상기 편집거리가 미리 설정된 편집거리 조건에 충족되지 않는 수정 후보 예비 문자열을 제외시키고 남은 나머지 수정 후보 예비 문자열을 수정 후보 문자열로 결정하는 과정;을 포함할 수 있다.The correcting candidate character string generation process may include: determining a plurality of character strings in which a correction word is inserted into a character, a character string, or a front part, a rear part, or a middle part of the typo character string as a correction candidate preliminary string; Calculating a editing distance (Damerau-Levenshtein distance) indicating how many edits in the proofing language can be converted into the candidate candidate correction string; And excluding a modification candidate preliminary string in which the edit distance does not satisfy a preset edit distance condition and determining the remaining modification candidate preliminary string as a modification candidate string.
상기 편집거리를 산출하는 것은, 편집거리(Damerau-Levenshtein distance) 알고리즘에 의하여 상기 예비 수정 후보 문자열과 교정어간의 유사도가 산출됨을 특징으로 할 수 있다.The calculating of the editing distance may include calculating similarity between the preliminary candidate candidate string and the corrected word by using a Damerau-Levenshtein distance algorithm.
상기 유사도 산출 과정은, 상기 오타 문자열과 수정 후보 문자열간의 유사도인 제1유사도를 수정 후보 문자열마다 산출하는 제1유사도 산출 과정; 상기 오타 문자열에서 수정 후보 문자열로 교체된 단어를 파악하는 과정; 상기 교체된 단어와 교정어간의 유사도인 제2유사도를 수정 후보 문자열마다 산출하는 제2유사도 산출 과정; 및 수정 후보 문자열마다 상기 제1유사도와 제2유사도를 합산하여 합산 유사도를 수정 후보 문자열마다 산출하는 합산 유사도 산출 과정;을 포함할 수 있다.The calculating of the similarity may include: calculating a first similarity degree for each modified candidate string, a first similarity degree that is a similarity between the typo string and the modified candidate string; Identifying a word replaced by a correction candidate string in the typo string; A second similarity calculation step of calculating a second similarity degree that is a similarity between the replaced word and the corrected word for each candidate candidate string; And calculating a similarity of similarity calculated by summing up the first similarity degree and the second similarity degree for each modified candidate string and calculating the summed similarity for each modified candidate string.
상기 제1유사도와 제2유사도는, jaro-winkler distance의 알고리즘에 의하여 산출됨을 특징으로 할 수 있다.The first and second similarities may be calculated by an algorithm of jaro-winkler distance.
상기 제1유사도 산출 과정은, 상기 문자가 한글인 경우, 상기 오타 문자열과 수정 후보 문자열의 각각의 자음과 모음을 분리하여 유사도를 산출하거나, 또는 상기 오타 문자열과 수정 후보 문자열의 자음 및 모음 결합된 한글 자체의 유사도를 상기 제1유사도로서 산출함을 특징으로 할 수 있다.The first similarity calculation process may be performed by calculating concurrence by separating consonants and vowels of the typo string and the correction candidate string when the character is Korean, or combining consonants and vowels of the typo string and the correction candidate string. The similarity of the Hangul itself may be calculated as the first similarity.
상기 제2유사도 산출 과정은, 상기 문자가 한글인 경우, 상기 교체된 단어와 교정어간의 각각의 자음과 모음을 분리하여 유사도를 산출하거나, 또는 상기 교체된 단어와 교정어간의 자음 및 모음 결합된 한글 자체의 유사도를 제2유사도로서 산출함을 특징으로 할 수 있다.In the second similarity calculation process, when the letters are Korean, the consonants and vowels between the replaced word and the corrected word are separated to calculate similarity, or the consonants and vowels between the replaced word and the corrected word are combined. It may be characterized by calculating the similarity of the Hangul itself as a second similarity.
상기 수정 후보 문자열 리스트 표시 과정은, 상기 합산 유사도가 높은 수정 후보 문자열의 순서대로 정렬하는 과정; 및 상기 합산 유사도가 미리 설정된 순위 범위내에 있는 수정 후보 문자열들을 수정 후보 문자열 리스트로서 표시하는 과정;을 포함할 수 있다.The displaying of the modified candidate character string list may include: sorting the modified candidate character strings in order of high sum similarity; And displaying the modified candidate character strings having the summation similarity within a preset ranking range as a modified candidate character string list.
상기 수정 후보 문자열 리스트 표시 과정은, 산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들중에서, 기존에 자주 선택되는 문자열의 순서대로 우선순위를 부여하여 우선순위대로 정렬하여 표시할 수 있다.In the correcting candidate character string list displaying process, among the corrected candidate character strings whose calculated similarities fall within a predetermined range of priority, the priorities may be prioritized in the order of strings that are frequently selected and displayed in the order of priority.
본 발명의 실시 형태에 따르면 오타 문자를 간단한 조작만으로도 수정할 수 있어, 사용자 편의성을 증대시킬 수 있다.According to the embodiment of the present invention, a typo character can be corrected by a simple operation, and user convenience can be increased.
도 1은 본 발명의 실시예에 따른 문자열이 입력되고 있는 단말기를 도시한 그림.1 is a diagram illustrating a terminal in which a character string is input according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 단말기의 구성 블록도.2 is a block diagram of a terminal according to an embodiment of the present invention;
도 3 및 도 4는 본 발명의 실시예에 따른 오타 문자 수정 과정을 도시한 플로차트.3 and 4 is a flowchart showing a typo character correction process according to an embodiment of the present invention.
도 5 내지 도 13은 본 발명의 실시예에 따라 오타 문자 수정 과정들을 도시한 그림.5 to 13 is a diagram showing a typo character correction process according to an embodiment of the present invention.
이하, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은, 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 또한, 본 발명을 설명함에 있어 관련된 공지 기술 등이 본 발명의 요지를 흐리게 할 수 있다고 판단되는 경우 그에 관한 자세한 설명은 생략하기로 한다.Advantages and features of the present invention, and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and is provided to fully inform the scope of the invention to those skilled in the art. The invention is defined only by the scope of the claims. In addition, in the following description of the present invention, if it is determined that related related technologies and the like may obscure the gist of the present invention, detailed description thereof will be omitted.
도 1은 본 발명의 실시예에 따른 문자열이 입력되고 있는 단말기를 도시한 그림이며, 도 2는 본 발명의 실시예에 따른 단말기의 구성 블록도이다.1 is a diagram illustrating a terminal to which a character string is input according to an embodiment of the present invention, and FIG. 2 is a block diagram of a terminal according to an embodiment of the present invention.
본 발명은, 수정하고자 하는 내용의 정확성을 높이기 위해 교정할 위치를 자동이 아닌 사용자가 선택하게 하여 정확도를 높이도록 한다. 이를 위해 수정가능 한 목록들을 보여주어 최선의 결과가 아닐 경우, 사용자가 원하는 형태의 수정이 될 수 있도록 한다.The present invention allows a user to select a position to be corrected to increase the accuracy of the content to be corrected, rather than automatically. For this purpose, the list of modifiable items is displayed so that if the result is not the best, the user can make the desired modification.
이하 상세설명 및 도면에서는 한글을 예로 들어 설명할 것이나, 한글 이외에도 영어, 일어 등의 다른 문자 체계에도 본 발명이 적용될 수 있음은 자명할 것이다.In the following description and drawings will be described by taking Hangul as an example, it will be apparent that the present invention can be applied to other writing systems such as English, Japanese, etc. in addition to Hangul.
단말기(100)는 문자를 입력받을 수 있는 기기로서,스마트폰 등이 해당될 수 있다. 이하, 도면에서는 단말기(100)의 예시로서 스마트폰(smart phone)을 예로 들어 설명하나, 스마트폰만 아니라 데스크탑 PC(desktop PC), 태블릿 PC(tablet PC), 슬레이트 PC(slate PC), 노트북 컴퓨터(notebook computer), 디지털방송용 단말기(100), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 내비게이션(Navigation), 디지털 카메라(Digital Camera), MP3P(MPEG layer 3 Player) 등이 해당될 수 있다. 물론, 본 발명이 적용 가능한 단말기(100)는 상술한 종류에 한정되지 않고, 외부 장치와 통신이 가능한 단말기(100)를 모두 포함할 수 있음은 당연하다.The terminal 100 is a device that can receive text, and may correspond to a smartphone. In the following drawings, a smart phone as an example of the terminal 100 is described as an example, but not only a smart phone but also a desktop PC, a tablet PC, a slate PC, a notebook computer (notebook computer), digital broadcasting terminal 100, PDA (Personal Digital Assistants), PMP (Portable Multimedia Player), Navigation (Navigation), Digital Camera (MP3P), MP3P (MPEG layer 3 Player) have. Of course, the terminal 100 to which the present invention is applicable is not limited to the above-described type, and it is natural that the terminal 100 may include all the terminals 100 capable of communicating with an external device.
단말기(100)는 도 2에 도시한 바와 같이 입력부(110), 표시부(120), 메모리(130), 및 오타 수정 알고리즘 처리부(140)를 포함할 수 있다.As illustrated in FIG. 2, the terminal 100 may include an input unit 110, a display unit 120, a memory 130, and a typo correcting algorithm processing unit 140.
표시부(120)는 단말기(100)에 표시되는 표시창으로서, 문자 입력을 위한 키보드가 표시될 수 있다.The display unit 120 is a display window displayed on the terminal 100, and a keyboard for text input may be displayed.
입력부(110)는, 문자 입력 필드를 통해 단말기 사용자인 입력자로부터 문자를 입력받는다. 문자 입력은, 키보드에 표시된 문자 버튼의 터치에 의해 입력될 수 있다. 표시부(120)와 입력부(110)는 터치스크린 패널의 단일 형태로 구현될 수 있다. 터치 스크린 패널은, 입력과 표시를 동시에 수행할 수 있는 터치 스크린 화면을 제공하여 단말기(100)의 전면에 마련되어 작업 화면을 표시하는 표시창으로서, 입력을 위한 그래픽 유저 인터페이스(GUI;Graphic User Interface)를 표시한다.The input unit 110 receives text from an input user who is a terminal user through a text input field. Character input may be input by touching a character button displayed on the keyboard. The display unit 120 and the input unit 110 may be implemented as a single type of touch screen panel. The touch screen panel is a display window provided on the front of the terminal 100 to display a work screen by providing a touch screen screen capable of simultaneously inputting and displaying a graphic user interface (GUI) for input. Display.
메모리(130)는 입력부(110)를 통해 입력된 문자들(이하, '입력 문자열'이라 함)을 저장하는 저장부이다. 메모리는 SSD 드라이브(Solid State Drive), 플래시메모리(130)(Flash Memory), CF카드(Compact Flash Card), SD카드(Secure Digital Card), SM카드(Smart Media Card), MMC 카드(Multi-Media Card) 또는 메모리(130) 스틱(Memory Stick) 등 정보의 입출력이 가능한 모듈로서 장치의 내부에 구비되어 있을 수도 있고, 별도의 장치에 구비되어 있을 수도 있다.The memory 130 is a storage unit that stores characters input through the input unit 110 (hereinafter, referred to as an “input string”). Memory is SSD drive (Solid State Drive), Flash memory 130 (Flash Memory), CF card (Compact Flash Card), SD card (Secure Digital Card), SM card (Smart Media Card), MMC card (Multi-Media A module capable of inputting / outputting information such as a card or a memory stick 130 may be provided inside the device or may be provided in a separate device.
오타 수정 알고리즘 처리부(140)는, 입력 필드를 통해 입력된 입력 문자열 중에서 오타로 입력된 오타 문자를 다른 수정 문자로 대체하여 수정하는 기능을 수행한다. 이를 위해 오타 수정 알고리즘 처리부(140)는, 단말기가 문자 입력 필드를 통해 문자열을 입력받는 도중에, 오타 수정 위치와 오타 문자를 대체할 교정어를 입력받은 후, 오타 수정 위치에 있는 문자열을 오타 문자열로 결정한다. 그리고 오타 문자열과 교정어를 조합한 수정 후보 문자열들을 생성한다. 그리고 수정 후보 문자열과 교정어간의 유사도를 수정 후보 문자열마다 산출하고, 산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들을 리스트 형태인 수정 후보 문자열 리스트로서 표시한다. 그리고 수정 후보 문자열 리스트 중에서 문자열 입력자로부터 선택된 수정 후보 문자열을 최종적인 수정 문자열로 결정하여, 교정어의 입력 이전에 마지막으로 입력된 문자열을 수정 문자열로 대체하여 수정한다.The typo correcting algorithm processing unit 140 performs a function of replacing and correcting a typo character input as a typo among input strings input through an input field with another correction character. To this end, the typo correcting algorithm processing unit 140 receives a typo correcting position and a correction word to replace a typo character while the terminal receives a string through a character input field, and then converts the string at the typo correcting position into a typo string. Decide Then, the candidate candidate strings combining the typo string and the correct word are generated. The similarity between the modified candidate string and the corrected word is calculated for each modified candidate string, and the modified candidate strings whose calculated similarities fall within a predetermined range of ranks are displayed as a modified candidate string list in the form of a list. The candidate string selected from the string inputter of the candidate candidate string list is determined as the final modification string, and the last input string before the input of the correction word is replaced with the modification string.
이에 대한 자세한 설명은 하기의 도 3 및 도 4의 플로차트와 함께 후술한다.Detailed description thereof will be described later with reference to the flowcharts of FIGS. 3 and 4.
도 3 및 도 4는 본 발명의 실시예에 따른 오타 문자 수정 과정을 도시한 플로차트이며, 도 5 내지 도 12는 본 발명의 실시예에 따라 오타 문자 수정 과정들을 도시한 그림이다.3 and 4 are flowcharts illustrating a typo character correction process according to an embodiment of the present invention, and FIGS. 5 to 12 are diagrams illustrating typo character correction processes according to an embodiment of the present invention.
오타로 입력된 문자를 수정하는 단말기에서의 오타 문자 수정 방법에 있어서, 우선, 단말기가 문자 입력 필드(10)를 통해 문자열을 입력받는 도중에, 오타 수정 위치와 오타 문자를 대체할 교정어를 입력받는 교정어 입력 과정(S310)을 가진다.In the method for correcting a typo character in a terminal for correcting a typo input character, first, while the terminal receives a character string through the character input field 10, a typo correcting position and a correction word to replace the typo character are received. The corrector input process S310 is performed.
이러한 교정어 입력 과정(S310)은, 단말기가 문자 입력 필드(10)를 통해 문자열을 입력받는 도중에, 한 칸 띄어쓰기에 이어 문자열이 입력된 후 문자 입력 필드(10) 내에서 터치가 발생하는지를 판단하는 과정(S311)과, 이러한 터치가 발생한 경우, 한 칸 띄어쓰기에 이어 입력된 문자열을 교정어로서 입력받는 과정(S312)과, 문자 입력 필드(10)에서 터치된 위치를 오타 수정 위치로서 입력받는 과정(S313)을 가진다.In the correction word input process S310, while the terminal receives the character string through the character input field 10, it is determined whether a touch occurs in the character input field 10 after a space is entered followed by a space. Process (S311) and, if such a touch occurs, receiving a space input after a space (S312) as a correction word, and receiving a touched position in the text input field 10 as a typo correcting position. It has (S313).
예를 들어, '대한한'으로 잘못 입력된 문자열을 '대한사람'으로 수정하고자 하는 예시를 들면, 도 5에 도시한 바와 같이, '대한한'이라는 문자열 입력 중에 스페이스 한 칸 띄어진 후 문자 또는 문자열인 '사람'이 입력되고, 도 6과 같이 문자 입력 필드(10)내에서 터치가 있는 경우, 한 칸 띄어쓰기에 이어 입력된 문자열인 '사람'을 교정어로서 결정한다.For example, for example, a character that is incorrectly input to 'HANHAN' is modified to 'HANHAN'. As shown in FIG. If a character 'person' is input and there is a touch in the character input field 10 as shown in FIG. 6, the character 'person', which is an input string following a space, is determined as a correction word.
그리고 문자 입력 필드(10) 내에서 터치된 위치를 오타 수정 위치로서 결정한다. 이러한 오타 수정 위치는, 문자 입력 필드(10)내에서 터치된 지점의 인접한 범위를 오타 수정 위치로 결정할 수 있다. 터치된 지점을 기준으로 전후 각각, 교정어의 길이만큼의 범위를 오타 수정 위치의 범위로 결정될 수 있다. 예를 들어, 도 6에 도시한 바와 같이 '대한한'의 문자열 내에서 '대한'과 '한'의 사이의 지점이 터치된 경우, 교정어인 '사람'이 두 글자이기 때문에, 터치된 지점의 앞 뒤 각각 두글자의 범위인 '대한한'이 오타 수정 위치의 범위에 속하게 된다.The touched position in the text input field 10 is determined as a typo correcting position. Such a typo correcting position may determine the adjacent range of the touched point in the text input field 10 as the typo correcting position. Before and after the touched point, the range of the correction word may be determined as the range of the correction error position. For example, as shown in FIG. 6, when a point between 'about' and 'han' is touched within the string of 'hanhan', the corrective word 'person' is two letters. The two letters before and after the 'hanhanhan' each falls within the range of the typo correction position.
이와 같이 오타 수정 위치가 결정되면, 오타 수정 위치에 있는 문자열을 오타 문자열로 결정하는 오타 문자열 결정 과정을 가진다. 따라서 도 6과 같이 터치된 경우, '대한한'이 오타 문자열로 결정된다.As such, when the typo correcting position is determined, a typo string determination process of determining the typo in the typo correcting position as a typo string is performed. Therefore, when touched as shown in FIG. 6, 'about' is determined as a typo string.
한편, 교정어 입력(S310)과 오타 문자열 결정(S320)이 완료된 후에는, 오타 문자열과 교정어를 조합한 수정 후보 문자열들을 생성하는 수정 후보 문자열 생성 과정(S330)을 가진다.On the other hand, after the correction input (S310) and the determination of the typo character string (S320) is completed, there is a modification candidate string generation process (S330) for generating the correction candidate strings combining the typo string and the correction word.
이러한 수정 후보 문자열 생성 과정(S330)은, 오타 문자열내의 문자 또는 문자열의 앞부분, 뒷부분, 중간에 교정어를 각각 삽입하여 조합한 복수개의 문자열을 수정 후보 예비 문자열로서 결정하는 과정(S331)과, 교정어에서 몇 번의 편집횟수를 거쳐서 상기 수정 후보 예비 문자열로 변환될 수 있는지를 나타내는 편집거리(Damerau-Levenshtein distance)를 산출하는 과정(S332)과, 편집거리가 미리 설정된 편집거리 조건에 충족되지 않는 수정 후보 예비 문자열을 제외하고 남은 수정 후보 예비 문자열을 최종적인 수정 후보 문자열로 결정하는 과정(S333)을 가진다.The modified candidate character string generation process (S330) includes a process of determining a plurality of character strings in which a correction word is inserted by inserting a correction word into a character, a character string, or a front part, a rear part, or a middle part of a typo character string as a candidate candidate character string (S331), and the correction. Calculating a editing distance (Damerau-Levenshtein distance) indicating how many edits can be converted to the correction candidate preliminary character string through a number of edits (S332), and a correction in which the editing distance does not meet a preset editing distance condition. The process of determining the remaining modification candidate preliminary string as the final modification candidate string except the candidate preliminary string is performed (S333).
상술하면, 상기에서 수정 후보 예비 문자열로서 결정하는 과정(S331)은, 교정어의 길이만큼 앞뒤의 범위를 지정하여 해당 범위내에 교정어를 삽입하여 교정가능한 모든 항목을 추출하여 수정 후보 예비 문자열로서 결정될 수 있다. 따라서, '사람한', '대사람한', '대사람', '대한사람', '사람한한', '사람'이 수정 후보 예비 문자열로서 결정될 수 있다.In detail, in the determining of the candidate candidate correction string as described above (S331), a range before and after the correction candidate length is specified, the correction word is inserted in the corresponding range, and all items that can be corrected are extracted to be determined as the candidate candidate correction strings. Can be. Thus, 'person', 'person', 'person', 'person', 'person', and 'person' can be determined as the candidate correction string.
또한 수정 후보 예비 문자열과 교정어간의 편집거리편집거리(Damerau-Levenshtein distance)를 산출하는 과정(S332)은, 기존에 공지된 다양한 편집거리(Damerau-Levenshtein distance) 알고리즘에 의하여 예비 수정 후보 문자열과 교정어간의 유사도를 산출한다. 편집거리(Damerau-Levenshtein distance) 알고리즘이란, 공지된 바와 같이 원래 단어에서 목적한 단어로 몇 번의 수정과정을 거쳐서 만들어지는가를 계산하는 알고리즘이다. 참고로, 편집거리 알고리즘은, "https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" 등에 의해 이미 공지되어 있다.In addition, the step (S332) of calculating a Damerau-Levenshtein distance between the candidate candidate corrective string and the proofreading word may be performed by using a variety of known Damerau-Levenshtein distance algorithms. Calculate the similarity between the stems. The Damerau-Levenshtein distance algorithm is, as is known, an algorithm that calculates how many modifications are made from the original word to the desired word. For reference, the editing distance algorithm is already known by "https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" and the like.
따라서 교정어인 '사람'에서 몇 번의 편집횟수를 거쳐서 수정 후보 예비 문자열인 '사람한', '대사람한', '대사람', '대한사람', '사람한한', '사람'으로 각각 변환될 수 있는지를 나타내는 편집거리(편집횟수)가 편집거리 알고리즘에 의해 산출될 수 있다.Therefore, the corrective candidate preliminary strings 'person han', 'dae man han', 'dae man', 'dae man', 'man han han', and 'person' after the editing number of times from the correct person 'person' An editing distance (number of edits) indicating whether it can be converted can be calculated by the editing distance algorithm.
이에 따라, 수정 후보 예비 문자열 '사람한'과 교정어 '사람'간의 편집거리는 4가 산출될 수 있으며, 수정 후보 예비 문자열 '대사람한'과 교정어 '사람'간의 편집거리는 4가 산출될 수 있으며, 수정 후보 예비 문자열 '대사람'과 교정어 '사람'간의 편집거리는 4가 산출될 수 있으며, 수정 후보 예비 문자열 '대한사람'과 교정어 '사람'간의 편집거리는 4가 산출될 수 있으며, 수정 후보 예비 문자열 '사람한한'과 교정어 '사람'간의 편집거리는 5가 산출될 수 있으며, 수정 후보 예비 문자열 '사람'과 교정어 '사람'간의 편집거리는 6이 산출될 수 있다.Accordingly, the edit distance between the candidate candidate correction string 'person Han' and the correction word 'person' may be calculated 4, and the edit distance between the candidate candidate modification string 'Dae Person Han' and the corrective word 'person' 4 may be calculated. In addition, the editing distance between the candidate candidate correction string 'person' and the correction word 'person' may be calculated 4, and the editing distance between the candidate candidate modification string 'Korean person' and the corrector word 'person' may be 4, The edit distance between the candidate candidate correction string 'person only' and the corrector 'person' may be calculated 5, and the edit distance between the candidate candidate modification string 'person' and the corrector 'person' 6 may be calculated.
참고로, 이를 정리하면 하기의 [표 1]과 같은 후보군을 얻을 수 있다.For reference, summarizing this results in a candidate group as shown in Table 1 below.
수정 후보 예비 문자열Modification candidate spare string | 편집거리(Damerau-Levenshtein distance)Damerau-Levenshtein distance |
사람한Man | 44 |
대사람한Human | 44 |
대사람Person | 44 |
대한사람For people | 44 |
사람한한One person | 55 |
사람Person | 66 |
편집거리를 산출(S332)한 후, 편집거리가 미리 설정된 편집거리 조건에 충족되지 않는 수정 후보 예비 문자열을 제외시키고 남은 나머지 수정 후보 예비 문자열을 수정 후보 문자열로 결정(S333)한다. 예를 들어, 편집거리 조건이 가장 적은 편집거리+1 범위내에 있는 조건이라 할 경우, [표 1]의 후보군 중에서, 가장 적은 편집거리+1 보다 큰 수정 후보 예비 문자열을 후보군에서 제외한다. 따라서 하기의 [표 2]에 도시한 바와 같은 수정 후보 예비 문자열만 남게 되고 이들 수정 후보 예비 문자열이 수정 후보 문자열로 결정된다..After calculating the edit distance (S332), the correction candidate preliminary string whose edit distance does not meet the preset edit distance condition is excluded, and the remaining corrected candidate preliminary string is determined as the correction candidate string (S333). For example, in the case where the editing distance condition is within the range of the least editing distance + 1, among the candidate groups in Table 1, the correction candidate preliminary string larger than the least editing distance + 1 is excluded from the candidate group. Therefore, only the correction candidate preliminary strings as shown in the following [Table 2] remain and these modification candidate preliminary strings are determined as the correction candidate strings.
수정 후보 문자열Modification candidate string | 편집거리(Damerau-Levenshtein distance)Damerau-Levenshtein distance |
사람한Man | 44 |
대사람한Human | 44 |
대사람Person | 44 |
대한사람For people | 44 |
사람한한One person | 55 |
한편, 수정 후보 문자열 생성 과정(S330)이 완료된 후, 수정 후보 문자열과 교정어간의 유사도를 수정 후보 문자열마다 산출하는 유사도 산출 과정(S340)을 가진다.Meanwhile, after the modification candidate string generation process S330 is completed, the similarity calculation process S340 is performed to calculate the similarity between the candidate candidate string and the corrected word for each candidate candidate string.
이러한 유사도 산출 과정(S340)은, 오타 문자열과 수정 후보 문자열간의 유사도인 제1유사도를 수정 후보 문자열마다 산출하는 제1유사도 산출 과정(S341)과, 오타 문자열에서 수정 후보 문자열로 교체된 단어를 파악하는 과정(S342)과, 교체된 단어와 교정어간의 유사도인 제2유사도를 수정 후보 문자열마다 산출하는 제2유사도 산출 과정(S343)과, 수정 후보 문자열마다 제1유사도와 제2유사도를 합산하여 합산 유사도를 수정 후보 문자열마다 산출하는 합산 유사도 산출 과정(S344)을 가진다.The similarity calculating step (S340) may include a first similarity calculation step (S341) of calculating a first similarity, which is a similarity between a typo character string and a correction candidate string, for each modification candidate string, and a word replaced by the correction candidate character string in the typo string. (S342), a second similarity calculation step (S343) of calculating a second similarity degree that is the similarity between the replaced word and the corrected word for each candidate candidate string, and adding the first similarity and second similarity values to each candidate candidate string. A summation similarity calculation step (S344) of calculating the summation similarity for each modified candidate character string is performed.
상술하면, 상기에서 제1유사도 산출 과정(S341)은, 문자가 한글인 경우, 오타 문자열과 수정 후보 문자열의 각각의 자음과 모음을 분리하여 유사도(제1-1유사도)를 산출하거나, 또는 오타 문자열과 수정 후보 문자열의 자음 및 모음 결합된 한글 자체의 유사도(제1-2유사도)를 제1유사도로서 산출할 수 있다. In detail, in the above-described first similarity calculation process S341, when the character is Korean, the consonants and vowels of the typo string and the correction candidate string are separated to calculate a similarity (first-similarity), or a typo. The similarity (1-2 similarity) between the consonants and vowels combined with the consonants and vowels of the character string and the modified candidate string may be calculated as the first similarity.
오타 문자열에서 수정 후보 문자열로 교체된 단어를 파악하는 과정(S342)은, 예를 들어, 오타 문자열이 '대한한'일 때 수정 후보 문자열이 '대한사람'인 경우, 오타문자열 '대한한'에서 마지막 글자 '한'이 '사람'으로 교체되었음을 알 수 있다. 따라서 수정 후보 문자열 '대한한'의 경우 오타 문자열 '대한한'에서의 마지막 글자 '한'이 교체된 단어로서 파악될 수 있다. 마찬가지로, 수정 후보 문자열 '대사람한'의 경우 오타 문자열 '대한한'에서 가운데 글자 '한'이 교체된 단어로서 파악될 수 있으며, 또한 수정 후보 문자열 '대사람'의 경우 오타 문자열 '대한한'에서 '한한'이 교체된 단어로서 파악될 수 있으며, 또한 수정 후보 문자열 '사람한'의 경우 오타 문자열 '대한한'에서 '대한'이 교체된 단어로서 파악될 수 있으며, 또한 수정 후보 문자열 '사람한한'의 경우 오타 문자열 '대한한'에서 '대'가 교체된 단어로서 파악될 수 있다.The process of identifying a word replaced with a correction candidate string in a typo string (S342), for example, when the correction candidate string is 'Korea' when the typo string is 'Korea', You can see that the last letter 'han' is replaced by 'person'. Therefore, in the case of the modified candidate string 'Daehanhan', the last letter 'Han' in the typo string 'Daehanhan' may be recognized as the replaced word. Similarly, in the case of the correction candidate string 'many', the middle letter 'han' in the typo string 'thank' can be identified as the replaced word. In the 'hanhan' can be identified as the replaced word, and in the case of the correction candidate string 'people', the typo string 'about' can be identified as the replaced word, and the candidate for correction string 'person' 'Hanhan' can be understood as a word replaced with 'large' in the typo typo 'hanhan'.
그 후, 교체된 단어와 교정어간의 유사도인 제2유사도를 수정 후보 문자열마다 산출(S343)한다. 이러한 제2유사도 산출 과정(S343)은, 문자가 한글인 경우, 상기 교체된 단어와 교정어간의 각각의 자음과 모음을 분리하여 유사도(제2-1유사도)를 산출하거나, 또는 상기 교체된 단어와 교정어간의 자음 및 모음 결합된 한글 자체의 유사도(제2-2유사도)를 제2유사도로서 산출한다.Thereafter, a second similarity, which is a similarity between the replaced word and the corrected word, is calculated for each candidate string of correction (S343). In the second similarity calculation process S343, when the character is Korean, the consonant and the vowel between the replaced word and the corrected word are separated to calculate a similarity (2-1 similarity), or the replaced word. The similarity (second-2 similarity) of the Hangul itself combined with consonants and vowels between and corrected words is calculated as the second similarity.
이러한 수정 후보 문자열마다의 제1유사도와, 제2유사도는, 다양한 유사도 산출 알고리즘이 사용될 수 있는데, 예컨대, 공지된 jaro-winkler distance의 알고리즘에 의하여 유사도가 산출될 수 있다. 이러한 단어간의 유사도 산출 알고리즘은인 jaro-winkler distance 알고리즘은, 다양한 유사도 산출 알고리즘이 사용될 수 있는데 "https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance" 등에 공지되어 있다.Various similarity calculation algorithms may be used for the first similarity degree and the second similarity degree for each modified candidate character string. For example, the similarity may be calculated by a known jaro-winkler distance algorithm. The jaro-winkler distance algorithm, which is a similarity calculating algorithm between words, may be used in various similarity calculating algorithms, such as "https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance".
참고로, 하기의 [표 3]은 각 수정 후보 문자열마다 제1유사도와 제2유사도를 나타낸 표이다.For reference, Table 3 below is a table showing first and second similarities for each modified candidate character string.
오타문자열Typo string | 수정후보문자열Modification Candidate String | [오타문자열+교정어]의 자모분리유사도(제1-1유사도)Letter-like similarity diagram of [ota string + corrected word] (No. 1-1 similarity diagram) | [오타문자열+교정어]의한글 자체의유사도(제1-2유사도)Similarity of Korean Characters in [Typographical Text + Correction] (1-2 Similarity Diagram) | 교체된단어Replaced word | 교정어Proofing | [교체된 단어+교정어]의자모 분리유사도(제2-1유사도)Similarity diagram separation of [replaced word + corrected word] (2-1 similarity diagram) | [교체된 단어+교정어]의한글 자체의 유사도(제2-2유사도)Similarity of the Hangul itself in [Replaced Word + Correction] (2-2 Similarity) |
대한한For one | 사람한Man | 0.54166660.5416666 | 0.5555550.555555 | 대한About | 사람Person | 0.4666660.466666 | 1.0222221.022222 |
대한한For one | 대사람한Human | 0.760.76 | 0.750.75 | 한One | 사람Person | 0.5111110.511111 | 1.2711111.271111 |
대한한For one | 대사람Person | 0.6904760.690476 | 0.5555550.555555 | 한한As long as | 사람Person | 0.5777770.577777 | 1.2682531.268253 |
대한한For one | 대한사람For people | 0.870.87 | 0.7777770.777777 | 한One | 사람Person | 0.5111110.511111 | 1.3811111.381111 |
대한한For one | 사람한한One person | 0.65404040.6540404 | 0.7222220.722222 | 대versus | 사람Person | 00 | 0.6222220.622222 |
상기와 같이 오타 문자열+교정어의 자모 분리유사도(제1-1유사도), [오타문자열+교정어]의 한글 자체의 유사도(제1-2유사도), [교체된 단어+교정어]의 자모 분리 유사도(제2-1유사도), 및 [교체된 단어+교정어]의 한글 자체의 유사도(제2-2유사도)를 산출(S341,S342,S343)한 후, 수정 후보 문자열마다 제1유사도와 제2유사도를 합산하여 합산 유사도를 수정 후보 문자열마다 산출하는 합산 유사도 산출 과정(S344)을 가진다.As mentioned above, the typographic separation similarity (1-1 similarity) of the typo string + corrective word, the similarity (1-2 similarity) of Hangul itself of the typo string + corrective word, and the consonant of [replaced word + corrective word] After calculating the similarity of separation (2-1 similarity) and the similarity (2-2 similarity) of Hangul itself of [replaced word + corrected word] (S341, S342, S343), the first similarity for each modified candidate string And a second similarity is added to calculate a similarity similarity for each candidate candidate string.
한편, 유사도 산출 과정(S340)이 있은 후, 산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들을 리스트 형태인 수정 후보 문자열 리스트로서 표시하는 수정 후보 문자열 리스트 표시 과정(S350)을 가진다. 즉, 도 7에 도시한 바와 같이 오타 문자열을 대체할 수정 후보 문자열의 리스트(20)를 표시한다.Meanwhile, after the similarity calculation process S340, the modified candidate string list display process S350 is displayed to display, as a list of modified candidate character strings in the form of a list, the modified candidate strings having the calculated similarity within the preset range. That is, as shown in Fig. 7, a list 20 of candidate candidate character strings for replacing a typo character string is displayed.
상술하면, 수정 후보 문자열 리스트 표시 과정(S350)은, 우선, 합산 유사도가 높은 수정 후보 문자열의 순서대로 하기의 [표 4]와 같이 정렬하는 과정(S351)을 가진다.In detail, the modification candidate string list display process (S350) first includes a process (S351) as shown in Table 4 below, in the order of the modification candidate strings having high sum similarity.
수정후보문자열Modification Candidate String | [오타문자열+교정어]의 자모분리유사도(제1-1유사도)Letter-like similarity diagram of [ota string + corrected word] (No. 1-1 similarity diagram) | [오타문자열+교정어]의한글 자체의유사도(제1-2유사도)Similarity of Korean Characters in [Typographical Text + Correction] (1-2 Similarity Diagram) | [교체된 단어+교정어]의자모 분리유사도(제2-1유사도)Similarity diagram separation of [replaced word + corrected word] (2-1 similarity diagram) | [교체된 단어+교정어]의한글 자체의 유사도(제2-2유사도)Similarity of the Hangul itself in [Replaced Word + Correction] (2-2 Similarity) | 합산 유사도Summing similarity |
대한사람For people | 0.870.87 | 0.7777770.777777 | 0.5111110.511111 | 1.3811111.381111 | 3.5399993.539999 |
대사람한Human | 0.760.76 | 0.750.75 | 0.5111110.511111 | 1.2711111.271111 | 3.2999993.299999 |
대사람Person | 0.6904760.690476 | 0.5555550.555555 | 0.5777770.577777 | 1.2682531.268253 | 3.0920613.092061 |
사람한Man | 0.5416660.541666 | 0.5555550.555555 | 0.4666660.466666 | 1.0222221.022222 | 2.5861092.586109 |
사람한한One person | 0.654040.65404 | 0.7222220.722222 | 00 | 0.6222220.622222 | 1.9984841.998484 |
참고로, 편집된 문자열의 앞글자와 교정어의 첫번째 글자, 편집된 문자열의 끝 글자와 교정어의 마지막 글자가 같다면 값을 보정한다. 예컨대, 상기의 [표 4]에는 없지만, “어어서오세요" 와 같이, 결과 목록에서 동어가 반복되는 경우는 대개 올바르지 않는 형태이기 때문이다. 또한 보여지는 목록중에 자모분리가 되어 한글형태가 아닌 결과가 있다면 목록에서 제거하는데, 예컨대, ㄱ·ㄹ, ㅇ·ㅍ 등이 해당될 수 있다.For reference, if the first letter of the edited string and the first letter of the corrected word, the last letter of the edited string and the last letter of the corrected word are equal, the value is corrected. For example, although not shown in [Table 4] above, if the same language is repeated in the result list, such as “Welcome”, it is usually an incorrect form. If there is, remove it from the list, for example a, d, o may be applicable.
상기와 같이 합산 유사도가 높은 수정 후보 문자열의 순서대로 정렬(S351)한 후, 상기 합산 유사도가 미리 설정된 순위 범위내에 있는 수정 후보 문자열들을 수정 후보 문자열 리스트로서 표시하는 과정(S352)을 가진다. 순위 범위가 4위까지라면, [표 4]의 정렬 표에서, 상위 4위 내에 있는 '대한사람', '대사람한', '대사람', '사람한한'의 4개의 수정 후보 문자열이 수정 후보 문자열 리스트(20)로서 도 7과 같이 표시된다.After sorting in order of the modified candidate strings having high summation similarity as described above (S351), the modified candidate strings having the summation similarity within a preset ranking range are displayed as a modified candidate string list (S352). If the ranking ranges to the fourth place, in the sorting table of [Table 4], the four candidate candidate strings of 'Korean,' 'Daily', 'Daily' and 'Only One' The modification candidate character string list 20 is displayed as shown in FIG.
상기에서 설명한 바와 같이 수정 후보 문자열 리스트 표시 과정(S350)이 있은 후, 수정 후보 문자열 리스트 중에서 유사도가 가장 높은 수정 후보 문자열을 최종적인 수정 문자열로 결정하여, 교정어의 입력 이전에 마지막으로 입력된 문자열을 수정 문자열로 대체하여 수정(S360)하여 도 8과 같이 오타 수정하여 표시할 수 있다. As described above, after the modification candidate string list display process (S350), the candidate string having the highest similarity among the modification candidate string lists is determined as the final modification string, and the last input string before the correction word is input. It may be modified by replacing with a correction string (S360) to correct a typo as shown in FIG.
만약, 수정 후보 문자열 리스트 중에서 유사도가 가장 높아 우선적으로 채택되어 표시되는 수정 문자열이 아니라, 다른 수정 후보 문자열을 문자열 입력자가 선택하는 경우, 문자열 입력자로부터 선택된 수정 후보 문자열이 수정 문자열로서 표시될 수 있다. 나아가 별도의 선택 취소 버튼(30)을 구비하여, 선택 취소 버튼(30)을 선택하여 수정 문자열 잘못 선택시에 수정 전 상태로 되돌릴 수 있다.If a string inputter selects another modification candidate string instead of a modification string that is selected with the highest similarity among the modification candidate string lists, the modification candidate string selected from the string inputter may be displayed as the modification string. . Furthermore, a separate deselection button 30 is provided, so that the deselection button 30 can be selected to return to the state before the correction when the correction string is incorrectly selected.
한편, 수정 후보 문자열 리스트 표시 과정(S350)은, 산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들 중에서, 기존에 자주 선택되는 문자열의 순서대로 우선순위를 부여하여 우선순위대로 정렬하여 표시할 수 있다. 이는 기존 동일 상황에서 자주 선택 되는 문자의 표출 위치를 우선 할 수 있도록 가중치를 부여할 수 있다. 자주 사용되는 사용단어 사전 목록과 비교하여 단어추출하여 사용빈도수 많은 순으로 나열하여 표시할 수 있다.Meanwhile, in the display of correcting candidate character string list (S350), among the modified candidate character strings whose calculated similarities fall within a preset priority range, priorities are given in order of strings that are frequently selected, and are displayed according to their priority. Can be. This can be weighted to give priority to the presentation position of characters that are frequently selected in the same existing situation. Compared with the frequently used word dictionary list, the words can be extracted and sorted in order of frequency of use.
따라서 수정 후보 문자열과 교정어간의 유사도를 수정 후보 문자열마다 산출하는 유사도 산출 과정이 있은 후, 기존에 자주 선택되는 문자열의 순서대로 우선하여 수정 후보 문자열 리스트를 표시할 수 있다. 따라서 도 9에 도시한 바와 같이 '대한사란'이라고 오타가 입력되더라도 기존에 자주 사용되던 '대한사람'이라는 단어가 수정 후보 문자열 리스트에 표시된다.Therefore, after a similarity calculation process is performed for calculating the similarity between the candidate candidate string and the corrected word for each candidate candidate string, the candidate candidate string list may be displayed in order of the existing frequently selected strings. Therefore, as shown in FIG. 9, even when a typo is entered, the word 'Korean person', which is frequently used, is displayed on the candidate string for modification.
한편, 상기의 내용은 한글을 예로 들어 설명하였으나, 영어, 일어, 중국어 등의 다양한 다른 문자에도 적용될 수 있을 것이다. 참고로 도 10 내지 도 12에서 '영어' 문자에서의 오타 수정되는 순서대로 도시한 그림이다.On the other hand, the above description has been described using Hangul as an example, it may be applied to various other characters such as English, Japanese, Chinese. For reference, in FIGS. 10 to 12, the typos in the 'English' character are shown in order of modification.
따라서 예를 들어, 'hwllo'로 잘못 입력된 문자열을 'hello'로 수정하고자 하는 예시를 들면, 도 10에 도시한 바와 같이, 'hwllo'라는 문자열 입력 중에 스페이스 한 칸 띄어진 후 문자 또는 문자열인 'el'이 입력되고, 도 11과 같이 문자 입력 필드(10)내에서 터치가 있는 경우, 한 칸 띄어쓰기에 이어 입력된 문자열인 'el'이 교정어로서 결정한다.Thus, for example, an example in which a character string incorrectly inputted as 'hwllo' is modified to 'hello', as shown in FIG. When 'el' is input and there is a touch in the character input field 10 as shown in FIG. 11, 'el', which is an input character string followed by a space, is determined as a correction word.
그리고 문자 입력 필드(10) 내에서 터치된 위치를 오타 수정 위치로서 결정한다. 이러한 오타 수정 위치는, 문자 입력 필드(10)내에서 터치된 지점의 인접한 범위를 오타 수정 위치로 결정할 수 있다. 예를 들어, 도 11에 도시한 바와 같이 'hwllo'의 문자열 내에서 'hw'와 'l'의 사이의 지점이 터치된 경우, 교정어인 'el'이 두 글자이기 때문에, 터치된 지점의 앞 뒤 각각 1글자의 범위인 'wl'이 오타 수정 위치의 범위에 속하게 된다.The touched position in the text input field 10 is determined as a typo correcting position. Such a typo correcting position may determine the adjacent range of the touched point in the text input field 10 as the typo correcting position. For example, as shown in FIG. 11, when a point between 'hw' and 'l' is touched in the string of 'hwllo', the correct word 'el' is two letters, so the front of the touched point After that, each one-letter range 'wl' falls within the range of the typos.
이와 같이 오타 수정 위치가 결정되면, 오타 수정 위치에 있는 문자열을 오타 문자열로 결정하는 오타 문자열 결정 과정을 가진다. 따라서 도 11과 같이 터치된 경우, 'wl'이 오타 문자열로 결정된다.As such, when the typo correcting position is determined, a typo string determination process of determining the typo in the typo correcting position as a typo string is performed. Therefore, when touched as shown in FIG. 11, 'wl' is determined as a typo string.
이와 같이 교정어 입력과 오타 문자열 결정이 완료된 후에는, 오타 문자열과 교정어를 조합한 수정 후보 문자열들을 생성하여, 합산 유사도가 높은 수정 후보 문자열의 순서대로 정렬한 후, 도 12에 도시한 바와 같이 수정 후보 문자열 리스트(20)로서 표시할 수 있다. 그리고, 수정 후보 문자열 리스트 중에서 유사도가 가장 높은 수정 후보 문자열인 'hello'가 최종적인 수정 문자열로 결정되여, 교정어의 입력 이전에 마지막으로 입력된 문자열을 수정 문자열로 대체하여 도 12과 같이 오타 수정하여 표시할 수 있다. 만약, 다른 수정 후보 문자열을 문자열 입력자가 선택하는 경우, 문자열 입력자로부터 선택된 수정 후보 문자열이 수정 문자열로서 표시될 수 있다. 나아가 별도의 선택 취소 버튼(30)을 구비하여, 선택 취소 버튼(30)을 선택하여 수정 문자열 잘못 선택시에 수정 전 상태로 되돌릴 수 있다.After the correction word input and the typo string determination are completed, the correction candidate strings combining the typo string and the correction word are generated, sorted in the order of the modified candidate strings with high similarity, and as shown in FIG. 12. It can be displayed as the correction candidate character string list 20. Also, 'hello', which is the highest similarity candidate string among the candidate candidate string lists, is determined as the final modification string, and the last input string before the correction word is replaced with the correction string to correct a typo as shown in FIG. 12. Can be displayed. If the character string inputter selects another modification candidate string, the modification candidate string selected from the character string inputter may be displayed as the modification string. Furthermore, a separate deselection button 30 is provided, so that the deselection button 30 can be selected to return to the state before the correction when the correction string is incorrectly selected.
한편, 한글과 마찬가지로 영어도, 산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들 중에서, 기존에 자주 선택되는 문자열의 순서대로 우선순위를 부여하여 우선순위대로 정렬하여 표시할 수 있다. 따라서 수정 후보 문자열과 교정어간의 유사도를 수정 후보 문자열마다 산출하는 유사도 산출 과정이 있은 후, 기존에 자주 선택되는 문자열의 순서대로 우선하여 수정 후보 문자열 리스트를 표시할 수 있다. 따라서 도 13에 도시한 바와 같이 'hwllo'인 오타가 입력되더라도 기존에 자주 사용되던 'hello'이라는 단어가 수정 후보 문자열 리스트의 일부로서 에 표시되고, 이를 통해 선택됨으로써 'hello'로 최종 수정될 수 있다.On the other hand, in the same manner as Hangul, English, among the candidate candidate strings in which the calculated similarity falls within a preset ranking range, the priorities may be prioritized in order of frequently selected strings, and may be displayed in a sorted order. Therefore, after a similarity calculation process is performed for calculating the similarity between the candidate candidate string and the corrected word for each candidate candidate string, the candidate candidate string list may be displayed in order of the existing frequently selected strings. Therefore, even when a typo of 'hwllo' is inputted as shown in FIG. 13, the word 'hello', which has been frequently used, is displayed as a part of the modification candidate string list, and is selected to be finally modified to 'hello'. have.
상술한 본 발명의 설명에서의 실시예는 여러가지 실시가능한 예중에서 당업자의 이해를 돕기 위하여 가장 바람직한 예를 선정하여 제시한 것으로, 이 발명의 기술적 사상이 반드시 이 실시예만 의해서 한정되거나 제한되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양한 변화와 변경 및 균등한 타의 실시예가 가능한 것이다.The embodiments in the above description of the present invention are presented by selecting the most preferred examples to help those skilled in the art from the various possible examples, and the technical spirit of the present invention is not necessarily limited or limited only by the embodiments. However, various changes, modifications, and other equivalent embodiments may be made without departing from the technical spirit of the present invention.
Claims (10)
- 오타로 입력된 문자를 수정하는 단말기에서의 오타 문자 수정 방법에 있어서,In the method for correcting a typo character in a terminal for correcting a character input by typo,단말기가 문자 입력 필드를 통해 문자열을 입력받는 도중에, 오타 수정 위치와 오타 문자를 대체할 교정어를 입력받는 교정어 입력 과정;A correction word input process of inputting a correction error position and a correction word to replace the typo character while the terminal receives the character string through the character input field;상기 오타 수정 위치에 있는 문자열을 오타 문자열로 결정하는 오타 문자열 결정 과정;A typo string determination process of determining a string at the typo correcting position as a typo string;상기 오타 문자열과 교정어를 조합한 수정 후보 문자열들을 생성하는 수정 후보 문자열 생성 과정;A modified candidate string generation process of generating modified candidate strings combining the typo string and a corrected word;상기 수정 후보 문자열과 교정어간의 유사도를 수정 후보 문자열마다 산출하는 유사도 산출 과정;A similarity calculation step of calculating the similarity between the modified candidate string and the corrected word for each modified candidate string;산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들을 리스트 형태인 수정 후보 문자열 리스트로서 표시하는 수정 후보 문자열 리스트 표시 과정; 및A modification candidate string list display step of displaying the correction candidate character strings having the calculated similarity within the preset range of ranks as a modification candidate string list in the form of a list; And상기 수정 후보 문자열 리스트 중에서 유사도가 가장 높은 수정 후보 문자열을 최종적인 수정 문자열로 결정하여, 상기 교정어의 입력 이전에 마지막으로 입력된 문자열을 상기 수정 문자열로 대체하여 수정하는 오타 수정 과정;A typo correcting step of determining a corrected candidate string having the highest similarity among the modified candidate string lists as a final modified string, and replacing the last input string before the input of the corrected word with the corrected string;을 포함하는 오타 문자 수정 방법.How to correct a typo characters, including.
- 청구항 1에 있어서, 상기 교정어 입력 과정은,The method of claim 1, wherein the correction word input process,단말기가 문자 입력 필드를 통해 문자열을 입력받는 도중에, 한 칸 띄어쓰기에 이어 문자열이 입력된 후 문자 입력 필드 내에서 터치가 발생하는지를 판단하는 과정;Determining whether a touch occurs in the text input field after the text is input after the space is input while the terminal receives the text through the text input field;상기 터치가 발생한 경우, 상기 한 칸 띄어쓰기에 이어 입력된 문자열을 교정어로서 입력받는 과정; 및If the touch occurs, receiving a character string input after the one space as a corrected word; And상기 문자 입력 필드 내에서 터치된 위치를 상기 오타 수정 위치로서 입력받는 과정;Receiving a touched position in the text input field as the typo correcting position;을 포함하는 오타 문자 수정 방법.How to correct a typo characters, including.
- 청구항 1에 있어서, 상기 수정 후보 문자열 생성 과정은,The method of claim 1, wherein the modification candidate string generation process,상기 오타 문자열내의 문자 또는 문자열의 앞부분, 뒷부분, 중간에 교정어를 각각 삽입하여 조합한 복수개의 문자열을 수정 후보 예비 문자열로서 결정하는 과정;Determining a plurality of character strings including a combination of a character in the typo character string or a front part, a rear part, and a middle part of the character string as a candidate candidate for modification;상기 교정어에서 몇 번의 편집횟수를 거쳐서 상기 수정 후보 예비 문자열로 변환될 수 있는지를 나타내는 편집거리(Damerau-Levenshtein distance)를 산출하는 과정; 및Calculating a editing distance (Damerau-Levenshtein distance) indicating how many edits in the proofing language can be converted into the candidate candidate correction string; And상기 편집거리가 미리 설정된 편집거리 조건에 충족되지 않는 수정 후보 예비 문자열을 제외시키고 남은 나머지 수정 후보 예비 문자열을 수정 후보 문자열로 결정하는 과정;Determining a remaining candidate candidate candidate modification string as a candidate candidate string by excluding a candidate candidate modification string whose edit distance does not satisfy a preset editing distance condition;을 포함하는 오타 문자 수정 방법.How to correct a typo characters, including.
- 청구항 3에 있어서, 상기 편집거리를 산출하는 것은,The method of claim 3, wherein the calculating of the editing distance,편집거리(Damerau-Levenshtein distance) 알고리즘에 의하여 상기 예비 수정 후보 문자열과 교정어간의 유사도가 산출됨을 특징으로 하는 오타 문자 수정 방법.A method for correcting a typo character, characterized in that similarity between the preliminary candidate candidate string and a correction word is calculated by a Damerau-Levenshtein distance algorithm.
- 청구항 1에 있어서, 상기 유사도 산출 과정은,The method of claim 1, wherein the similarity calculation process,상기 오타 문자열과 수정 후보 문자열간의 유사도인 제1유사도를 수정 후보 문자열마다 산출하는 제1유사도 산출 과정;A first similarity calculation step of calculating a first similarity degree that is a similarity between the typo character string and the correction candidate character string for each correction candidate character string;상기 오타 문자열에서 수정 후보 문자열로 교체된 단어를 파악하는 과정;Identifying a word replaced by a correction candidate string in the typo string;상기 교체된 단어와 교정어간의 유사도인 제2유사도를 수정 후보 문자열마다 산출하는 제2유사도 산출 과정; 및A second similarity calculation step of calculating a second similarity degree that is a similarity between the replaced word and the corrected word for each candidate candidate string; And수정 후보 문자열마다 상기 제1유사도와 제2유사도를 합산하여 합산 유사도를 수정 후보 문자열마다 산출하는 합산 유사도 산출 과정;A summation similarity calculation step of calculating a summation similarity for each modification candidate string by summing the first similarity degree and the second similarity level for each modification candidate string;을 포함하는 오타 문자 수정 방법.How to correct a typo characters, including.
- 청구항 5에 있어서, 상기 제1유사도와 제2유사도는,The method of claim 5, wherein the first similarity degree and the second similarity degree,jaro-winkler distance의 알고리즘에 의하여 산출됨을 특징으로 하는 오타 문자 수정 방법.Method for correcting a typo character, characterized in that it is calculated by the algorithm of jaro-winkler distance.
- 청구항 6에 있어서, 상기 제1유사도 산출 과정은,The method of claim 6, wherein the first similarity calculation process,상기 문자가 한글인 경우, 상기 오타 문자열과 수정 후보 문자열의 각각의 자음과 모음을 분리하여 유사도를 산출하거나, 또는 상기 오타 문자열과 수정 후보 문자열의 자음 및 모음 결합된 한글 자체의 유사도를 상기 제1유사도로서 산출함을 특징으로 하는 오타 문자 수정 방법.When the character is Korean, the consonants and vowels of the typo string and the correction candidate string are separated to calculate similarity, or the similarity between the consonants and vowels of the typo string and the correction candidate string is combined with the first consonant. Method for correcting a typo character, characterized in that it is calculated as a similarity.
- 청구항 6에 있어서, 상기 제2유사도 산출 과정은,The method of claim 6, wherein the second similarity calculation process,상기 문자가 한글인 경우, 상기 교체된 단어와 교정어간의 각각의 자음과 모음을 분리하여 유사도를 산출하거나, 또는 상기 교체된 단어와 교정어간의 자음 및 모음 결합된 한글 자체의 유사도를 제2유사도로서 산출함을 특징으로 하는 오타 문자 수정 방법.If the character is Korean, the consonants and vowels of the replaced word and the corrected word are separated to calculate similarity, or the similarity of the consonants and vowels of the replaced word and the corrected word itself is combined. Method for correcting a typo character, characterized in that it is calculated as.
- 청구항 5에 있어서, 상기 수정 후보 문자열 리스트 표시 과정은,The method of claim 5, wherein the correcting candidate character string list display process comprises:상기 합산 유사도가 높은 수정 후보 문자열의 순서대로 정렬하는 과정; 및Sorting in order of the modified candidate strings having high sum similarity; And상기 합산 유사도가 미리 설정된 순위 범위내에 있는 수정 후보 문자열들을 수정 후보 문자열 리스트로서 표시하는 과정;Displaying modified candidate character strings having a sum similarity within a predetermined range of ranks as a modified candidate character string list;을 포함하는 오타 문자 수정 방법.How to correct a typo characters, including.
- 청구항 5에 있어서, 상기 수정 후보 문자열 리스트 표시 과정은,The method of claim 5, wherein the correcting candidate character string list display process comprises:산출된 유사도가 미리 설정된 순위 범위에 드는 수정 후보 문자열들중에서, 기존에 자주 선택되는 문자열의 순서대로 우선순위를 부여하여 우선순위대로 정렬하여 표시함을 특징으로 하는 오타 문자 수정 방법.A method for correcting a typo character, characterized in that the calculated similarity is assigned to priorities among the candidate candidate character strings within the preset range of priority, sorted in order of priority.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0100928 | 2016-08-08 | ||
KR1020160100928A KR101684681B1 (en) | 2016-08-08 | 2016-08-08 | Method for correcting character |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018030601A1 true WO2018030601A1 (en) | 2018-02-15 |
Family
ID=57734076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/001415 WO2018030601A1 (en) | 2016-08-08 | 2017-02-09 | Typographical error character correction method |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101684681B1 (en) |
WO (1) | WO2018030601A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382322A (en) * | 2018-12-27 | 2020-07-07 | 北京猎户星空科技有限公司 | Method and device for determining similarity of character strings |
CN111859907A (en) * | 2020-06-11 | 2020-10-30 | 北京百度网讯科技有限公司 | Character error correction method and device, electronic equipment and storage medium |
CN112036273A (en) * | 2020-08-19 | 2020-12-04 | 泰康保险集团股份有限公司 | Image identification method and device |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102168316B1 (en) * | 2018-11-05 | 2020-10-21 | 주식회사 한글과컴퓨터 | Electronic terminal device having a touch screen for performing a typing correction process on an input character and operating method thereof |
CN109783811B (en) * | 2018-12-26 | 2023-10-31 | 东软集团股份有限公司 | Method, device, equipment and storage medium for identifying text editing errors |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09153034A (en) * | 1995-11-29 | 1997-06-10 | Toshiba Corp | Document preparing device and method therefor |
KR20100060165A (en) * | 2008-11-27 | 2010-06-07 | 엔에이치엔(주) | Method and system for determining similar word with input string |
KR20130020418A (en) * | 2011-08-19 | 2013-02-27 | 주식회사 케이티 | A method for recomending character string |
KR101332757B1 (en) * | 2013-05-16 | 2013-11-25 | 주식회사 큐키 | Type correction method for word or letters without deletion input and device for implementing the method |
KR20160039519A (en) * | 2014-10-01 | 2016-04-11 | 탁돈 | How to correct typos on the touch screen |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101294558B1 (en) | 2013-04-15 | 2013-08-07 | 김민철 | Type error correction method |
-
2016
- 2016-08-08 KR KR1020160100928A patent/KR101684681B1/en active IP Right Grant
-
2017
- 2017-02-09 WO PCT/KR2017/001415 patent/WO2018030601A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09153034A (en) * | 1995-11-29 | 1997-06-10 | Toshiba Corp | Document preparing device and method therefor |
KR20100060165A (en) * | 2008-11-27 | 2010-06-07 | 엔에이치엔(주) | Method and system for determining similar word with input string |
KR20130020418A (en) * | 2011-08-19 | 2013-02-27 | 주식회사 케이티 | A method for recomending character string |
KR101332757B1 (en) * | 2013-05-16 | 2013-11-25 | 주식회사 큐키 | Type correction method for word or letters without deletion input and device for implementing the method |
KR20160039519A (en) * | 2014-10-01 | 2016-04-11 | 탁돈 | How to correct typos on the touch screen |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382322A (en) * | 2018-12-27 | 2020-07-07 | 北京猎户星空科技有限公司 | Method and device for determining similarity of character strings |
CN111382322B (en) * | 2018-12-27 | 2023-06-13 | 北京猎户星空科技有限公司 | Method and device for determining similarity of character strings |
CN111859907A (en) * | 2020-06-11 | 2020-10-30 | 北京百度网讯科技有限公司 | Character error correction method and device, electronic equipment and storage medium |
CN111859907B (en) * | 2020-06-11 | 2023-06-23 | 北京百度网讯科技有限公司 | Text error correction method and device, electronic equipment and storage medium |
CN112036273A (en) * | 2020-08-19 | 2020-12-04 | 泰康保险集团股份有限公司 | Image identification method and device |
Also Published As
Publication number | Publication date |
---|---|
KR101684681B1 (en) | 2016-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018030601A1 (en) | Typographical error character correction method | |
US9047268B2 (en) | Character and word level language models for out-of-vocabulary text input | |
US8612213B1 (en) | Correction of errors in character strings that include a word delimiter | |
CN107741926B (en) | Space prediction for text input | |
CN101256462B (en) | Hand-written input method and apparatus based on complete mixing association storeroom | |
US9218066B2 (en) | Method for character correction | |
WO2015072612A1 (en) | Method for correcting typographical error by determination of correlation between character strings | |
US20150293975A1 (en) | Method and device for searching for contact object, and storage medium | |
CN105929975A (en) | Gesture Keyboard Input Of Non-dictionary Character Strings By Using Substitute Scoring | |
JP2009501963A (en) | How to input kanji using 3 columns 4 rows keypad | |
CN103488426B (en) | Virtual keyboard based on touch screen and input method | |
CN104461056B (en) | A kind of information processing method and electronic equipment | |
CN107797676B (en) | Single character input method and device | |
WO2019045185A1 (en) | Mobile device and method for correcting character string entered through virtual keyboard | |
WO2014003276A1 (en) | Device and method for inputting chinese words | |
US10417332B2 (en) | Predicting text by combining attempts | |
CN114281979A (en) | Text processing method, device and equipment for generating text abstract and storage medium | |
EP2581836A2 (en) | Electronic device and dictionary data display method | |
CN111090341A (en) | Input method candidate result display method, related equipment and readable storage medium | |
WO2016085156A1 (en) | Method and apparatus for inputting chinese character | |
CN108984515B (en) | Wrongly written character detection method and device, computer readable storage medium and terminal equipment | |
JP4302918B2 (en) | Hangul character generation method and dictionary lookup method | |
WO2021012598A1 (en) | Text sequence modification positioning method and device, and electronic apparatus | |
WO2015108229A1 (en) | Terminal operation method for correcting electronic document | |
US20150212729A1 (en) | Method for Inputting Chinese in Electronic Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17839619 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17839619 Country of ref document: EP Kind code of ref document: A1 |