KR102079985B1 - Method And Device For Processing Touch Input - Google Patents
Method And Device For Processing Touch Input Download PDFInfo
- Publication number
- KR102079985B1 KR102079985B1 KR1020180007945A KR20180007945A KR102079985B1 KR 102079985 B1 KR102079985 B1 KR 102079985B1 KR 1020180007945 A KR1020180007945 A KR 1020180007945A KR 20180007945 A KR20180007945 A KR 20180007945A KR 102079985 B1 KR102079985 B1 KR 102079985B1
- Authority
- KR
- South Korea
- Prior art keywords
- touch input
- probability information
- key
- probability
- gaussian mixture
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
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)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
디스플레이된 키보드 인터페이스에 대한 터치 입력 프로세싱 방법이 개시된다. 터치 입력 프로세싱 방법은, 복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하는 단계; 상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 단계; 상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하는 단계; 및 상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계를 포함한다.Disclosed is a touch input processing method for a displayed keyboard interface. The touch input processing method includes: receiving a touch input for the keyboard interface including a plurality of keys; Obtaining Gaussian mixture probability information for the touch input; Obtaining prediction probability information based on a preceding touch input of the touch input; And mapping the touch input to a key value using the Gaussian mixture probability information and the prediction probability information.
Description
본 발명은 터치 입력 프로세싱 방법 및 장치/디바이스에 대한 것으로서, 더 상세하게는 디스플레이된 소프트 키보드 인터페이스에 대한 터치 입력 데이터를 분석하여 확률 모델을 생성하고, 생성된 확률 모델에 따라서 사용자의 터치 입력을 사용자 의도에 맞는 키로 매핑하는 방법에 대한 것이다.The present invention relates to a touch input processing method and device / device, and more particularly, to generate a probabilistic model by analyzing touch input data on a displayed soft keyboard interface, and to generate a user's touch input according to the generated probabilistic model. It's about how to map the keys to your intentions.
디스플레이 패널 제조 기술 및 전자 기기 제조 기술의 발전으로 인해 다양한 사이즈의 디스플레이 디바이스들이 보급되고 있다. 이러한 디바이스들은 터치 센서를 포함하여, 디스플레이 패널에 대한 사용자의 터치를 인식하고 그에 따른 동작을 수행할 수 있다. 최근 다양한 포터블 디바이스들, 예를 들면, 핸드폰, 노트북, PDA, 태블릿 PC 등이 이러한 터치 인식 기능을 제공한다.Due to the development of display panel manufacturing technology and electronic device manufacturing technology, display devices of various sizes are becoming popular. Such devices may include a touch sensor to recognize a user's touch on the display panel and perform an operation accordingly. Recently, various portable devices, for example, a mobile phone, a notebook, a PDA, a tablet PC, and the like, provide such a touch recognition function.
터치 인식 디스플레이 디바이스들은 사용자의 캐릭터 입력을 위해 소프트 키보드 인터페이스를 디스플레이할 수 있다. 다만, 사용자의 터치 입력 방식, 손의 모양, 사용자의 자세, 디스플레이 패널의 사이즈 등으로 인해 타이핑 오류가 발생한다. 따라서 언어 모델을 기반으로 한 터치 입력 오류 정정 방법들이 개발되고 있다. 예를 들면, 디바이스는 입력된 캐릭터들에 따라서 입력될 캐릭터를 예측하고, 그에 따라서 터치 입력 오류를 정정할 수도 있다. Touch-sensitive display devices can display a soft keyboard interface for user's character input. However, a typing error occurs due to a user's touch input method, a hand shape, a user's posture, a size of a display panel, and the like. Accordingly, touch input error correction methods based on language models have been developed. For example, the device may predict the character to be input according to the input characters, and correct the touch input error accordingly.
언어 분석/예측에 따른 오류 정정 방법은 캐릭터들의 조합인 다양한 워드에 대한 큰 사이즈의 데이터가 필요하며, 언어별로 모두 다른 모델이 필요하므로 호환성이 떨어지는 약점이 있다. 따라서 본 명세서는 언어에 따른 제약이 덜 필요하면서 사용자의 타이핑 에러를 감소시킬 수 있는 방법을 제안하고자 한다.The error correction method according to language analysis / prediction requires large size data for various words, which are combinations of characters, and has a weakness in incompatibility because different models are required for each language. Therefore, the present specification is to propose a method that can reduce the typing error of the user while requiring less language-dependent constraints.
상술한 기술적 과제를 해결하기 위하여, 디스플레이된 키보드 인터페이스에 대한 터치 입력 프로세싱 방법이 개시된다. In order to solve the above technical problem, a touch input processing method for a displayed keyboard interface is disclosed.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법은, 복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하는 단계; 상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 단계; 상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하는 단계; 및 상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계를 포함하고, 상기 가우시안 혼합 확률 정보는, 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하는, 적어도 하나의 키에 대한 상기 터치 입력의 매핑 확률을 나타내고, 상기 예측 확률 정보는, 상기 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타낸다.A touch input processing method according to an embodiment of the present invention comprises the steps of: receiving a touch input for the keyboard interface including a plurality of keys; Obtaining Gaussian mixture probability information for the touch input; Obtaining prediction probability information based on a preceding touch input of the touch input; And mapping the touch input to a key value using the Gaussian mixture probability information and the prediction probability information, wherein the Gaussian mixture probability information is based on a Gaussian mixture model for the plurality of pre-processed touch inputs. And a mapping probability of the touch input to at least one key, and the prediction probability information indicates a key input probability of the current touch input predicted by the preceding touch input.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계는, 상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하는 단계; 및 상기 제 1 최종 확률 정보에 기초하여 상기 터치 입력을 상기 키 값으로 매핑하는 단계를 포함한다.In the touch input processing method according to an embodiment of the present invention, the mapping of the touch input to a key value using the Gaussian mixture probability information and the prediction probability information may include mapping the Gaussian mixture probability information and the prediction probability information. Using to obtain first final probability information; And mapping the touch input to the key value based on the first final probability information.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 예측 확률 정보를 획득하는 단계는, 상기 터치 입력의 선행 터치 입력이 존재하는 경우, 상기 선행 터치 입력에 대한 제 2 최종 확률 정보를 순환 신경망 프로세싱함으로써 상기 예측 확률 정보를 출력하는 단계를 더 포함하고, 상기 순환 신경망은 선행 순환 신경망 프로세싱에 대한 정보를 순환 가중치를 통해 전달하고, 상기 순환 신경망은 시간 순서에 따른 터치 입력 시퀀스를 학습한 신경망 모델이다.In the touch input processing method according to an embodiment of the present invention, the obtaining of the predicted probability information includes, when there is a preceding touch input of the touch input, repeats second final probability information on the preceding touch input in a cyclic neural network. And outputting the predicted probability information by processing, wherein the cyclic neural network delivers information on the preceding cyclic neural network processing through cyclic weights, and the cyclic neural network model learns a touch input sequence according to a time sequence. to be.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 순환 가중치는 터치 입력 시퀀스의 특정 수, 단어 단위, 또는 특정 사용자 입력에 기초하여 리셋된다.In the touch input processing method according to an embodiment of the present invention, the cyclic weight is reset based on a specific number of touch input sequences, word units, or a specific user input.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하는 단계는, 상기 가우시안 혼합 확률 정보에 해당하는 제 1 확률 벡터 및 상기 예측 확률 정보에 해당하는 제 2 확률 벡터를 요소별곱(element-wise product) 함으로써 수행된다.In the touch input processing method according to the embodiment of the present invention, obtaining first final probability information by using the Gaussian mixed probability information and the prediction probability information comprises: a first probability vector corresponding to the Gaussian mixed probability information; And an element-wise product of a second probability vector corresponding to the prediction probability information.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 제 1 확률 벡터 및 상기 제 2 확률 벡터 중 적어도 하나는 가중치가 적용될 수 있다.In the touch input processing method according to an embodiment of the present invention, at least one of the first probability vector and the second probability vector may be weighted.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 가우시안 혼합 확률 정보 또는 상기 예측 확률 정보는 상기 터치 입력에 인접한 적어도 하나의 키에 대한 확률만을 사용하도록 조정될 수 있다.In the touch input processing method according to an embodiment of the present invention, the Gaussian mixture probability information or the prediction probability information may be adjusted to use only a probability for at least one key adjacent to the touch input.
본 발명의 실시예에 따른 터치 입력 프로세싱 방법에 있어서, 상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 단계는, 키 영역 각각에 대한 가우시안 모델을 생성하는 단계; 키 인터페이스의 복수의 키 영역들에 대한 가우시안 혼합 모델을 생성하는 단계; 및 상기 가우시안 혼합 모델로부터 상기 터치 입력에 대한 상기 가우시안 혼합 확률 정보를 획득하는 단계를 더 포함할 수 있다.In the touch input processing method according to an embodiment of the present invention, obtaining the Gaussian mixture probability information for the touch input includes: generating a Gaussian model for each key region; Generating a Gaussian mixture model for the plurality of key regions of the key interface; And obtaining the Gaussian mixture probability information for the touch input from the Gaussian mixture model.
상술한 기술적 과제를 해결하기 위하여, 터치 입력 프로세싱 디바이스가 개시된다.In order to solve the above technical problem, a touch input processing device is disclosed.
본 발명의 실시예에 따른 터치 입력 프로세싱 디바이스는, 터치 입력을 프로세싱하는 애플리케이션 및 디스플레이된 키보드 인터페이스에 대한 터치 입력 데이터를 저장하는 메모리 유닛; 및 상기 애플리케이션을 구동하여 상기 터치 입력을 프로세싱하는 프로세싱 유닛을 포함하며, 상기 프로세싱 유닛은, 복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하고, 상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하고, 상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하고, 및 상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하며, 상기 가우시안 혼합 확률 정보는, 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하는, 적어도 하나의 키에 대한 상기 터치 입력의 매핑 확률을 나타내고, 상기 예측 확률 정보는, 상기 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타낸다.A touch input processing device according to an embodiment of the present invention includes a memory unit for storing touch input data for an application for processing touch input and a displayed keyboard interface; And a processing unit for driving the application to process the touch input, wherein the processing unit receives a touch input for the keyboard interface including a plurality of keys, and receives Gaussian mixture probability information for the touch input. Acquires, obtains predictive probability information based on a preceding touch input of the touch input, and maps the touch input to a key value using the Gaussian mixed probability information and the predicted probability information, wherein the Gaussian mixed probability information is And a mapping probability of the touch input for at least one key, based on a Gaussian mixture model for the plurality of pre-processed touch inputs, wherein the prediction probability information is a current touch input predicted by the preceding touch input. Represents a key input probability for.
본 발명의 실시예에 따르면, 사용자의 터치 입력시 오타를 효과적으로 수정할 수 있다. 특히 본 발명은 터치 분포를 수학적으로 모델링하고, 이러한 분포 모델을 사용하여 사용자 의도를 추론하여 수신 터치 입력을 키 값으로 매핑(mapping)한다. 따라서 본 발명은 키보드 인터페이스의 언어에 의존하지 않으므로, 더욱 범용적으로 다양한 언어에 대한 키보드 인터페이스에 적용될 수 있다. 또한, 본 발명은 언어에 의존하지 않으므로 하나의 키보드 형상에 대해 한번의 모델링으로 오타 수정이 가능하며, 하나의 키보드 형상에 대해 복수의 모델링을 필요로 하지 않는다.According to an embodiment of the present invention, a typo may be effectively corrected when a user inputs a touch. In particular, the present invention mathematically models the touch distribution and uses the distribution model to infer user intentions to map the received touch input to key values. Therefore, the present invention does not depend on the language of the keyboard interface, and thus can be applied to keyboard interfaces for various languages more universally. In addition, since the present invention does not depend on a language, a typo can be corrected by one modeling of one keyboard shape, and a plurality of modelings are not required on one keyboard shape.
본 발명은 터치의 분포와 추가로, 순환 신경망에 의한 예측 터치 입력을 사용함으로써, 더욱 사용자의 의도에 가깝게 터치 입력을 추론 및 매핑할 수 있다. 터치 분포를 사용한 모델링에 추가로, 언어 모델에 기반한 순환 신경망을 사용함으로써, 터치 입력의 정확한 추론 확률을 향상시킬 수 있다.The present invention can further infer and map touch inputs closer to the user's intention by using the distribution of touches and, in addition, predictive touch input by a cyclic neural network. In addition to modeling using touch distribution, by using a cyclic neural network based on a language model, it is possible to improve the accurate reasoning of touch input.
이 외에 본 발명에 대한 효과는 이하의 설명에서 추가로 설명한다.In addition, the effect on the present invention will be further described in the following description.
도 1은 본 발명의 실시예에 따른 디스플레이 디바이스 및 디스플레이 디바이스에 의해 제공되는 소프트 키보드 인터페이스를 나타낸다.
도 2는 키보드 인터페이스에 대한 터치 입력 데이터 및 에러 발생을 나타낸다.
도 3은 키보드 인터페이스에 포함된 키 영역들 중 2개의 키 영역들을 나타낸다.
도 4는 키 보드 인터페이스에 포함된 2개의 키 영역 및 2개의 키 영역에 대한 터치 입력 데이터를 나타낸다.
도 5는 본 발명의 실시예에 따른 터치 입력 데이터의 초기화 방법을 나타낸다.
도 6은 본 발명의 실시예에 따른 각각의 키 영역에 대한 가우시안 모델 생성 방법을 나타낸다.
도 7은 본 발명의 실시예에 따른 키보드 인터페이스에 대한 가우시안 혼합 모델 생성 방법을 나타낸다.
도 8은 본 발명의 실시예에 따른 GMM 영역 결정 방법을 나타낸다.
도 9는 본 발명의 실시예에 따른 GMM 및 고신뢰도 영역을 사용한 터치 입력의 매핑 방법을 나타낸다.
도 10은 본 발명의 실시예에 따른 GMM 및 고신뢰도 영역을 사용한 터치 입력의 매핑 방법을 나타낸다.
도 11은 본 발명의 실시예에 따른 수신 터치 입력의 키 매핑 방법을 나타낸다.
도 12는 순환 신경망(Recurrent Neural Network)의 개념도이다.
도 13은 본 발명의 실시예에 따른 가우시안 혼합 분포를 나타낸다.
도 14는 본 발명의 실시예에 따른 확률 벡터를 나타낸다.
도 15은 본 발명의 실시예에 따른 터치 입력 프로세싱 방법을 나타낸다.
도 16의 본 발명의 실시예에 따른 순환 신경망의 학습 과정을 나타낸다.
도 17은 본 발명의 다른 일 실시예에 따른 터치 입력 프로세싱 방법을 나타낸다.
도 18은 본 발명의 실시예에 따른 가우시안 혼합 확률 정보와 예측 확률 정보를 나타낸다.
도 19는 본 발명의 실시예에 따른 터치 입력 프로세싱 디바이스를 나타낸다.
도 20은 본 발명의 실시예에 따른 터치 입력 프로세싱 방법을 나타낸다.1 illustrates a display device and a soft keyboard interface provided by the display device according to an embodiment of the present invention.
2 illustrates touch input data and error occurrences for the keyboard interface.
3 illustrates two key areas among key areas included in a keyboard interface.
4 illustrates touch input data for two key areas and two key areas included in a keyboard interface.
5 illustrates a method of initializing touch input data according to an embodiment of the present invention.
6 illustrates a Gaussian model generation method for each key region according to an embodiment of the present invention.
7 illustrates a Gaussian mixture model generation method for a keyboard interface according to an embodiment of the present invention.
8 illustrates a GMM region determination method according to an embodiment of the present invention.
9 illustrates a mapping method of a touch input using a GMM and a high reliability region according to an embodiment of the present invention.
10 illustrates a mapping method of a touch input using a GMM and a high reliability region according to an embodiment of the present invention.
11 illustrates a key mapping method of a received touch input according to an embodiment of the present invention.
12 is a conceptual diagram of a recurrent neural network.
13 illustrates a Gaussian mixture distribution according to an embodiment of the present invention.
14 illustrates a probability vector according to an embodiment of the present invention.
15 illustrates a touch input processing method according to an embodiment of the present invention.
16 shows a learning process of a cyclic neural network according to the embodiment of the present invention.
17 illustrates a touch input processing method according to another embodiment of the present invention.
18 illustrates Gaussian mixture probability information and prediction probability information according to an embodiment of the present invention.
19 illustrates a touch input processing device according to an embodiment of the invention.
20 illustrates a touch input processing method according to an embodiment of the present invention.
본 명세서에서 사용되는 용어는 본 명세서에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도, 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 아닌 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.The terminology used herein is a general term that has been widely used as far as possible in consideration of functions in the present specification, but may vary according to the intention of a person skilled in the art, convention or the emergence of a new technology. In addition, in certain cases, there is a term arbitrarily selected by the applicant, in which case the meaning will be described in the description of the corresponding embodiment. Therefore, it is to be understood that the terminology used herein is to be interpreted based on the actual meaning and contents of the present specification, not on the terms of simple terms.
본 명세서는 디스플레이 디바이스 및 디스플레이 디바이스의 터치 입력 프로세싱 방법로 디스플레이 디바이스는 다양한 전자 디바이스들을 포함하는 의미로서, 예를 들면, 핸드폰, PDA(Personal Digital Assistants), 노트북, 태블릿 PC, MP3 플레이어, CD 플레이어, DVD 플레이어, HMD(Head Mounted Display), 스마트 워치(Smart watch), 워치폰(watch phone), TV(Television), 키오스크, TV 등 비주얼 정보를 디스플레이할 수 있는 다양한 전자 장치들을 포함한다. 이하에서는 설명의 편의를 위하여 디스플레이 디바이스를 '디바이스'라 지칭할 수도 있다. As used herein, the display device and the touch input processing method of the display device mean that the display device includes various electronic devices. For example, a mobile phone, a personal digital assistant (PDA), a notebook computer, a tablet PC, an MP3 player, a CD player, It includes various electronic devices capable of displaying visual information such as a DVD player, a head mounted display (HMD), a smart watch, a watch phone, a television, a kiosk, a TV, and the like. Hereinafter, for convenience of description, the display device may be referred to as a 'device'.
이하에서 본 발명의 방법을 수행하는 디바이스를 기준으로 본 발명을 설명할 것이다. 다만, 본 발명은 애플리케이션 또는 소프트웨어에 의해 구현 및 수행될 수 있다. 이러한 경우 디바이스는 본 발명을 구현/수행하는 애플리케이션 또는 소프트웨어을 구동하는 디바이스로서, 디바이스는 애플리케이션 또는 소프트웨어의 구동에 따라 본 발명을 실시하게 되는 것이다. 따라서 이하에서 디바이스를 주어로 본 발명에 대한 설명을 기술하더라도, 발명의 설명은 본 발명을 구현하는 애플리케이션/소프트웨어에 대한 설명을 겸하는 것으로 고려되어야 한다. 이하의 명세서 및 청구항의 방법에 대한 기술은 본 발명의 실시예에 따른 애플리케이션/소프트웨어의 동작을 설명하는 것으로 고려되어야 한다. 따라서 이하의 본 발명의 설명은 디바이스와 별도로 본 발명의 방법을 수행하도록 코딩된 소프트웨어/애플리케이션에도 당연히 적용되는 것이다. 이하에서 설명하는 디바이스의 동작은 모두 소프트웨어/애플리케이션의 동작으로 이해될 수 있다.The invention will now be described with reference to a device for carrying out the method of the invention. However, the present invention may be implemented and performed by an application or software. In this case, the device is a device for driving an application or software for implementing / implementing the present invention, and the device is to implement the present invention according to the driving of the application or software. Therefore, the following description of the present invention with reference to the device, the description of the invention should be considered as both a description of the application / software for implementing the present invention. The description of the method of the following specification and claims should be considered as describing the operation of the application / software in accordance with an embodiment of the present invention. Thus, the following description of the present invention naturally applies to software / applications coded to perform the method of the present invention separately from the device. The operations of the devices described below may all be understood as operations of the software / application.
도 1은 본 발명의 실시예에 따른 디스플레이 디바이스 및 디스플레이 디바이스에 의해 제공되는 소프트 키보드 인터페이스를 나타낸다.1 illustrates a display device and a soft keyboard interface provided by the display device according to an embodiment of the present invention.
도 1은 본 발명의 실시예에 따른 디스플레이 디바이스(1010)를 도시한다. 디스플레이 디바이스(1010)는 태블릿 PC의 실시예로서 도시하였으나, 본 발명의 디스플레이 디바이스(1010)는 디바이스의 종류 또는 형상이 아닌 디바이스의 구성 및 동작으로 정의되는 것이다. 1 shows a
디바이스(1010)는 소프트 키보드 인터페이스(1020)를 디스플레이할 수 있다. 소프트 키보드 인터페이스(1020)는 물리적인 기계 구성이 없이 디스플레이됨으로써 제공되는 적어도 하나의 키 영역을 포함하는 키보드 인터페이스를 나타낸다. 본 명세서에서 소프트 키보드 인터페이스(1020)는 버추얼 키보드 인터페이스, 키보드 인터페이스 또는 소프트 키보드로 지칭할 수도 있다.The
키 영역은 디스플레이된 하나의 키에 해당하는 영역을 의미한다. 다만, 디스플레이된 영역이 아닌 해당 키 값으로 인식하는 영역을 키 영역으로 나타낼 수도 있다. 실시예로서, 디스플레이된 키보드 인터페이스의 키들이 서로 간격이 있는 경우 즉 디스플레이된 키들 사이에 간격이 있는 경우에도 키 값을 인식하는 기준 영역은 이 간격과 일치하지 않을 수도 있다. 따라서 본 명세서에서 키 영역은 디스플레이된 키 레이아웃을 나타낼 수도 있고, 해당 키로 인식하는 디폴트 인식 영역을 나타낼 수도 있다.The key area refers to an area corresponding to one displayed key. However, an area recognized as a corresponding key value may be represented as a key area instead of the displayed area. As an embodiment, even when the keys of the displayed keyboard interface are spaced from each other, that is, even if there is a gap between the displayed keys, the reference area for recognizing the key value may not coincide with this gap. Therefore, in the present specification, the key area may indicate a displayed key layout or may indicate a default recognition area recognized by the corresponding key.
키보드 인터페이스(1020)는 다양한 형태로 제공될 수 있다. 도 1에서는 일반적으로 제공되는 키 배열을 갖는 키보드 인터페이스(1020)를 예로서 도시하였으나, 키보드 인터페이스(1020)의 형상, 포함된 키의 수, 키의 배열, 키보드의 레이아웃 등은 실시예에 따라서 변할 수 있다. 또한, 도 1에서는 디스플레이의 하단에 키보드 인터페이스(1020)가 디스플레이되는 실시예를 도시하였으나, 키보드 인터페이스(1020)의 디스플레이 위치, 방향, 크기 또한 이러한 실시예에 제한되지 않는다. 키보드 인터페이스(1020)는 복수의 키 영역들을 포함한다. 그리고 기본적으로 디바이스는 키 영역들에 대한 터치 입력을 해당 키 값으로 매핑한다. 예를 들면, A의 키 영역 내의 좌표를 갖는 터치 입력이 A의 키 값으로 매핑되는 것이다.The
도 2는 키보드 인터페이스에 대한 터치 입력 데이터 및 에러 발생을 나타낸다.2 illustrates touch input data and error occurrences for the keyboard interface.
도 1과 같이 키보드 인터페이스가 디스플레이되면, 사용자는 키보드 인터페이스가 디스플레이된 디스플레이 패널에 신체 일부 또는 입력용 툴을 사용하여 입력을 인가한다. 디스플레이에 대한 사용자 입력을 센싱하는 수단으로서, 디바이스는 터치 센서를 포함할 수 있다. 터치 센서의 디스플레이에 대한 사용자 입력 인식 방법은 공지의 기술이므로 상세히 설명하지는 않는다. When the keyboard interface is displayed as shown in FIG. 1, the user applies an input using a body part or an input tool to the display panel on which the keyboard interface is displayed. As means for sensing user input to the display, the device may include a touch sensor. The user input recognition method for the display of the touch sensor is a well-known technology and thus will not be described in detail.
터치 입력은 터치 센서 및 프로세서의 기결정된 프로토콜에 의해 데이터화될 수 있다. 즉 사용자가 디스플레이에 터치 입력을 인가하면, 디바이스는 터치 센서로서 터치 입력은 인식하고, 인식된 터치 입력은 터치 입력 데이터로서 프로세싱될 수 있다. 터치 입력 데이터는 좌표값(x,y)을 포함할 수도 있다. 실시예로서, 터치 입력데이터는 터치 입력의 터치 시작 좌표, 터치 종료 좌표, 터치 입력 시간, 터치 지속 시간, 터치 면적, 터치 시점의 추가 센서 정보, 디바이스의 환경 정보 등을 추가로 포함할 수도 있다. 실시예로서, 터치 입력 데이터는 추가 센서 정보로서, 해당 터치 입력 저장 시 디바이스의 기울기 정보 및 가속도 정보 등을 포함할 수도 있다.The touch input may be dataized by the predetermined protocol of the touch sensor and the processor. That is, when a user applies a touch input to the display, the device may recognize the touch input as a touch sensor and the recognized touch input may be processed as touch input data. The touch input data may include coordinate values (x, y). In an embodiment, the touch input data may further include touch start coordinates, touch end coordinates, touch input time, touch duration, touch area, additional sensor information of a touch time, environment information of the device, and the like. In an embodiment, the touch input data may include additional sensor information, and may include tilt information and acceleration information of the device when the touch input is stored.
도 2에서와 같이, 디스플레이된 키보드 인터페이스는 복수의 키 영역을 포함한다. 본 명세서에서 키 영역은 디스플레이된 하나의 키에 해당하는 영역을 나타낼 수 있다. 디바이스는 터치 입력을 터치 입력 좌표가 포함된 키 영역의 키 값으로 매핑하여 인식할 수 있다. 예를 들면, 디바이스는 수신한 터치 입력의 위치가 'ㅕ'의 키 영역(2010) 내에 위치하는 경우, 수신 터치 입력을 'ㅕ'의 키 값로 매핑할 수 있다. 다만, 도 2에서와 같이 키 영역들의 경계에서 사용자가 의도하지 않은 키 영역에 대한 입력이 발생할 수 있다. As in FIG. 2, the displayed keyboard interface includes a plurality of key areas. In the present specification, the key area may indicate an area corresponding to one displayed key. The device may recognize the touch input by mapping the touch input to the key value of the key region including the touch input coordinates. For example, when the location of the received touch input is located within the key region 2010 of 'ㅕ', the device may map the received touch input to a key value of 'ㅕ'. However, as shown in FIG. 2, an input for a key area not intended by the user may occur at the boundary of the key areas.
도 2에서 점들은 저장된 터치 입력 데이터를 나타낸다. 즉 터치 입력 데이터의 좌표 값들을 점으로 표시한 것이다. 도 2에서, X 표시된 터치 입력들은 키 영역들의 경계 근처로 인식된 터치 입력들이다. 도시된 바와 같이, 특정 키들의 경우 키에 대한 터치 입력의 분포가 특정 방향으로 치우치는 것을 알 수 있다. 도 2에서, 'ㅕ'의 키 영역(2010)에 대한 터치 입력들이 우측으로 치우친 것을 볼 수 있다. 따라서 'ㅕ'의 키 영역(2010) 우측 'ㅑ'의 키 영역(2020)에 대해, 키 영역(2020) 좌측 경계부의 터치 입력들은 'ㅕ'에 대한 터치 입력으로 보는 것이 사용자의 의도에 부합한다. 따라서, 'ㅑ'의 키 영역(2020) 좌측 경계부의 터치 입력들은 사용자의 오타로 판단하고, 이 들을 'ㅑ'의 키 값이 아닌 'ㅕ'의 키 값으로 매핑함으로써 오타를 수정할 수 있다.In FIG. 2, the dots represent stored touch input data. That is, the coordinate values of the touch input data are displayed as dots. In FIG. 2, the touch inputs marked with X are touch inputs recognized near the boundary of the key areas. As shown, in the case of specific keys, it can be seen that the distribution of touch input for the keys is biased in a specific direction. In FIG. 2, it can be seen that touch inputs to the key region 2010 of 'ㅕ' are biased to the right. Therefore, for the key area 2020 of the right 'ㅑ' key area 2010, the touch inputs of the left boundary of the key area 2020 correspond to the user's intention to view the touch input of the 'ㅕ' as a touch input. . Accordingly, the touch inputs of the left boundary of the key region 2020 of the 'ㅑ' may be determined as a typo of the user, and the typos may be corrected by mapping them to the key value of the 'ㅕ' rather than the key value of the 'ㅑ'.
본 발명은 이렇게 키 영역들의 경계부에 대한 터치 입력들을 수학적 모델링을 통해 사용자의 의도에 맞는 키 값으로 매핑하는 방법을 제안한다. 이하에서, 키보드 인터페이스의 키 영역에 대한 터치 입력을 사용자 의도에 따른 키 값으로 매핑하는 방법에 대해 상세히 설명한다.The present invention thus proposes a method of mapping the touch inputs to the boundary of the key areas to key values suitable for the user's intention through mathematical modeling. Hereinafter, a method of mapping a touch input for a key region of the keyboard interface to a key value according to a user's intention will be described in detail.
도 3은 키보드 인터페이스에 포함된 키 영역들 중 2개의 키 영역들을 나타낸다.3 illustrates two key areas among key areas included in a keyboard interface.
도 3은 캐릭터 A를 입력하기 위한 제 1 키 영역(3010) 및 캐릭터 S를 입력하기 위한 제 2 키 영역(3020)을 나타낸다. 캐릭터 A 및 캐릭터 S는 실시예로서 선택된 것으로, 제 1 키 영역(3010) 및 제 2 키 영역(3020)은 키보드 인터페이스의 구성에 따라 임의의 숫자, 캐릭터에 해당하는 키 값으로 매핑될 수 있다. 3 illustrates a first
도 4는 키 보드 인터페이스에 포함된 2개의 키 영역 및 2개의 키 영역에 대한 터치 입력 데이터를 나타낸다.4 illustrates touch input data for two key areas and two key areas included in a keyboard interface.
도 4에서와 같이, 키 보드 인터페이스에 대한 사용자 입력 데이터가 수집될 수 있다. 사용자 입력 데이터는 터치 좌표를 포함할 수 있다. 디바이스는 기설정된 기간 동안 기설정된 수 이상의 터치 입력 데이터를 저장하고, 저장된 터치 입력 데이터를 분석 및 모델링하여 터치 입력 프로세싱을 수행할 수 있다. 이러한 데이터의 분석 및 모델링은 사용자가 디바이스를 사용하지 않는 시간 또는 디바이스가 충전기에 연결된 시간 등에 수행되도록 설정될 수도 있다.As in FIG. 4, user input data for the keyboard interface may be collected. The user input data may include touch coordinates. The device may store more than a preset number of touch input data for a preset period of time, and perform touch input processing by analyzing and modeling the stored touch input data. The analysis and modeling of such data may be set to be performed when the user does not use the device or when the device is connected to the charger.
디바이스는 키보드 인터페이스 전체에 대한 터치 입력 데이터가 기설정된 수 이상이면 데이터 분석 및 모델링을 수행할 수 있다. 예를 들면, 터치 입력 데이터의 터치 좌표 값이 3000개 이상 수집된 경우 디바이스는 데이터 분석 및 모델링을 수행할 수 있다. 다만, 이러한 경우 전체 데이터 수는 3000개 이상이나 특정 키 영역에 터치 좌표의 수가 편중될 수도 있다. 따라서 본 발명의 디바이스는 전체 좌표 값의 수 뿐 아니라 각각의 키 영역에 대한 데이터의 수를 함께 고려할 수 있다. 예를 들면, 키보드 인터페이스에 대해 최근 수신한 터치 입력의 수가 3000개 이상이고, 각각의 키 영역에 대해 수신한 터치 입력의 수가 25개 이상인 경우, 디바이스는 데이터 분석 및 모델링을 수행할 수도 있다.The device may perform data analysis and modeling when the touch input data for the entire keyboard interface is greater than or equal to a preset number. For example, when 3000 or more touch coordinate values of the touch input data are collected, the device may perform data analysis and modeling. However, in this case, the total number of data is 3000 or more, but the number of touch coordinates may be biased in a specific key area. Thus, the device of the present invention can consider not only the number of global coordinate values but also the number of data for each key region. For example, when the number of recently received touch inputs for the keyboard interface is 3000 or more, and the number of received touch inputs for each key area is 25 or more, the device may perform data analysis and modeling.
디바이스가 터치 입력 데이터를 저장하는 경우, 디바이스는 저장 순서를 랜덤화할 수도 있다. 본 발명은 언어 기반 터치 입력 추측을 수행하지 않고, 터치 위치들 만을 분석/모델링하여 터치 입력 프로세싱을 수행한다. 따라서 터치 입력 데이터를 순서대로 저장하지 않아도 데이터의 분석/모델링 성능에 영향을 주지 않는다. 저장 순서를 랜덤화 함으로써 비밀번호, 특정 단어 시퀀스와 같은 개인 정보의 노출을 최소화할 수 있다. 또한, 터치 입력 데이터를 저장할 때, 비밀번호 필드와 같은 개인 정보 입력 인터페이스에 대한 입력은 저장하지 않을 수도 있다. 터치 입력 데이터는 디바이스에서만 로컬하게 사용되는 것이며, 외부로 전송되지 않는다. 그러나 필요한 경우 터치 입력 데이터는 디바이스와 연동된 서버로 전송될 수도 있다. 이 경우 서버는 디바이스에서 본 발명을 실시하도록 구동되는 앱을 관리/제어하는 프로그램이 저장 및 구동되는 서버가 될 수 있다.When the device stores touch input data, the device may randomize the storage order. The present invention performs touch input processing by analyzing / modeling only touch positions without performing language based touch input guessing. Therefore, even if the touch input data is not stored in order, it does not affect the analysis / modeling performance of the data. By randomizing the storage order, exposure of personal information such as passwords and specific word sequences can be minimized. In addition, when storing the touch input data, an input to a personal information input interface such as a password field may not be stored. Touch input data is used locally only by the device and is not transmitted externally. However, if necessary, the touch input data may be transmitted to a server linked with the device. In this case, the server may be a server in which a program that manages / controls an app driven to implement the present invention in a device is stored and driven.
도 4에서와 같이 제 1 키 영역(3010) 및 제 2 키 영역(3020)에 대한 사용자 입력 및 S에 대한 사용자 입력이 우측으로 치우친 분포를 가질 수 있다. 이러한 경우 제 2 키 영역(3020)의 좌측 즉 제 1 키 영역(3010)과의 경계에 인접한 터치 입력들(4010)은 제 2 키 영역(3020)에 대한 입력이 아닌 제 1 키 영역(3010)에 대한 입력으로 보는 것이 사용자의 의도에 부합한다. 따라서 이러한 인접 키 영역들의 경계에 대한 입력들의 매핑이 타이핑 오류를 감소시키는데 결정적인 영향을 줄 수 있다. 이하에서는 이러한 키 입력들을 사용자 의도에 적합한 키 값으로 매핑하는 방법에 대해 상세히 설명할 것이다.As shown in FIG. 4, the user input for the first
도 5는 본 발명의 실시예에 따른 터치 입력 데이터의 초기화 방법을 나타낸다.5 illustrates a method of initializing touch input data according to an embodiment of the present invention.
먼저, 본 발명은 키보드 인터페이스의 키 영역들(3010, 3020) 내에 베이스 영역들(5010, 5020)을 설정하고, 이 베이스 영역 안의 터치 입력 데이터를 대상으로 모델링을 시작한다. 디바이스는 베이스 영역 내의 터치 입력 데이터를 해당 기 영역의 키 값으로 매핑할 수 있으며, 이러한 매핑은 라벨링(labeling)으로 지칭할 수도 있다. 라벨링이란 정답을 매기는 행위로서, 수신한 입력을 올바른 결과값으로 매핑하는 동작을 의미한다. 본 발명에서는 수신한 터치 입력을 올바른 키 값으로 매핑하는 동작이 라벨링에 해당할 수 있다. 도 5의 실시예에서, 디바이스는 제 1 베이스 영역(5010) 내의 터치 입력들을 'A'의 키 값으로 매핑하고, 제 2 베이스 영역(5020) 내의 터치 입력들을 'S'의 키 값으로 매핑할 수 있다.First, the present invention sets the
제 1 베이스 영역(5010)은 디스플레이된 제 1 키 영역(3010) 내부의 중앙에 위치하며, 키 영역의 특정 퍼센트의 면적을 가질 수 있다. 실시예로서, 제 1 키 영역(3010)에 대한 제 1 베이스 영역(5010)은 제 1 키 영역(3010)의 80% 면적을 차지하며, 형상은 제 1 키 영역(3010)을 비례 축소한 동일한 형상으로 설정될 수 있다. 실시예로서, 각각의 키 영역들에 대한 각각의 베이스 영역 들의 면적, 형상 및 위치 등은 동일할 수도 있으나, 상이할 수도 있다. The
베이스 영역을 사용하는 이유는 다음과 같다. 도 5에서, 제 2 키 영역(3020)을 모델하기 위해 키 영역에 포함된 모든 터치 입력들을 모델링하는 경우, 제 1 키 영역의 입력을 의도한 터치 입력들(4010)이 제 2 키 영역(3020)에 대한 입력으로 모델링된다. 따라서 경계 영역에 대한 사용자 의도에 따른 키 값 매핑을 수행하기 어렵게 되므로, 본 발명은 베이스 영역의 터치 입력을 기준으로 하여 먼저 모델링을 수행한 후, 베이스 영역 외의 터치 입력을 사용하여 추가적인 모델링을 수행하는 방법을 제안한다. The reason for using the base area is as follows. In FIG. 5, when modeling all touch inputs included in the key area to model the second
베이스 영역은 해당 키 영역에 대한 터치 입력으로 인식하여 키 값 매핑을 수행하여도 사용자의 의도를 벗어나지 않을 것임을 높은 확률로 추정할 수 있는 영역을 나타낸다. The base area represents an area that can be estimated with a high probability that the key area will not be out of the user's intention even if it is recognized as a touch input to the corresponding key area.
실시예로서, 디바이스는 각 키 영역 내의 베이스 영역에 포함된 터치 입력 데이터의 수가 기설정된 수 이하인 경우 터치 입력 데이터를 삭제할 수도 있다. 즉, 베이스 영역에 포함된 터치 입력 데이터의 수가 기설정된 수 미만인 경우 적절한 가우시안 모델링을 위한 표본의 수가 적은 것이므로 해당 키 영역에 대한 가우시안 모델링은 수행하지 않을 수도 있다. 이 경우 베이스 영역의 터치 입력 데이터만 삭제하면 키 영역에 남은 터치 데이터가 전체 키보드 인터페이스에 대한 GMM 생성에 영향을 줄 수 있다. 따라서 베이스 영역에 대한 터치 입력 데이터의 수가 기설정된 수 미만인 경우, 디바이스는 베이스 영역 뿐 아니라 키 영역에 대한 데이터를 삭제하고, 삭제된 데이터를 사용하여 GMM을 생성할 수 있다. In an embodiment, the device may delete the touch input data when the number of touch input data included in the base area in each key area is equal to or less than a preset number. That is, when the number of touch input data included in the base area is less than the preset number, since the number of samples for proper Gaussian modeling is small, the Gaussian modeling for the corresponding key area may not be performed. In this case, if only the touch input data of the base area is deleted, the touch data remaining in the key area may affect the generation of the GMM for the entire keyboard interface. Therefore, when the number of touch input data for the base area is less than the preset number, the device may delete data for the key area as well as the base area, and generate the GMM using the deleted data.
도 6은 본 발명의 실시예에 따른 각각의 키 영역에 대한 가우시안 모델 생성 방법을 나타낸다.6 illustrates a Gaussian model generation method for each key region according to an embodiment of the present invention.
도 6에서와 같이, 본 발명은 제 1 키 영역(3010)의 제 1 베이스 영역(5010) 내의 터치 입력 데이터(6010)를 'A'로 매핑한다. 즉 제 1 베이스 영역(5010) 내의 터치 입력 데이터(6010)를 제 1 키 영역(3010)에 해당하는 키 값으로 매핑하는 것이다. 그리고 본 발명은 이렇게 매핑된 데이트들을 사용하여 가우시안 분포를 학습할 수 있다. 가우시안 분포의 학습을 가우시안 모델 생성으로 지칭할 수도 있다. As shown in FIG. 6, the present invention maps the
가우시안 확률 모델은 관찰된 데이터의 집합이 평균을 중심으로 뭉친 분포 형태를 표현하는 확률 모델이다. 가우시안 모델 자체에 대한 수학적인 설명은 상세히 하지 않는다.Gaussian probabilistic models are probabilistic models that represent a distribution of aggregated observations around a mean. The mathematical description of the Gaussian model itself is not detailed.
본 발명은 키보드 인터페이스에 포함된 각각의 키 영역들에 대해 가우시안 모델을 생성할 수 있다. 예를 들면, 본 발명은 제 1 키 영역에 대한 가우시안 분포 학습 후, 제 2 키 영역(3020)의 제 2 베이스 영역(5020) 내의 터치 입력 데이터(6020)를 사용하여 2번째 가우시안 분포를 학습하고, 이러한 공작을 키보드 인터페이스에 포함된 모든 키 영역들에 대하여 수행할 수 있다. 다만, 표본 데이터의 수가 일정 수 미만인 키 영역에 대해서는 가우시안 모델링을 스킵할 수도 있다.The present invention can generate a Gaussian model for each of the key areas included in the keyboard interface. For example, after the Gaussian distribution learning for the first key region, the present invention uses the
가우시안 분포는 최대 공산(Maximum Likelihood)을 기준으로 학습/생성될 수 있다. 그리고 이렇게 학습된 파라미터들은 후술할 GMM의 파라미터로 사용될 수 있다. Gaussian distribution can be learned / generated based on Maximum Likelihood. The learned parameters may be used as parameters of the GMM to be described later.
도 6에서와 같이 본 발명은 베이스 영역을 기반으로 개별 키 영역에 대한 가우시안 분포를 학습하므로, 제 1 영역(3010)의 가우시안 분포 및 제 2 영역(3020)의 가우시안 분포는 각각 우측으로 치우지게 됨을 예상할 수 있다. 즉 제 1 영역(3010)의 가우시안 분포(모델)의 평균(mean)은 제 1 베이스 영역(5010) 내의 터치 입력 데이터(6010)의 위치에 근접하게 모델링될 것이다. 마찬가지로, 제 2 영역(3020)의 가우시안 분포(모델)의 평균(mean)은 제 2 베이스 영역(5020) 내의 터치 입력 데이터(6020)의 위치에 근접하게 모델링될 것이다.As shown in FIG. 6, since the present invention learns a Gaussian distribution of individual key regions based on the base region, the Gaussian distribution of the
도 7은 본 발명의 실시예에 따른 키보드 인터페이스에 대한 가우시안 혼합 모델 생성 방법을 나타낸다.7 illustrates a Gaussian mixture model generation method for a keyboard interface according to an embodiment of the present invention.
도 6에 이어, 본 발명은 이제 키보드 인터페이스 전체에 대한 가우시안 혼합 모델(GMM; Gaussian Mixture Model)을 생성한다. 본 발명은 도 7에서와 같이 도 6까지의 과정에서 사용되지 않은 터치 입력 데이터를 모두 사용하여 GMM을 모델링한다. 이 경우 본 발명은 기대값 최대화(EM; Expectation Maximization) 기법을 사용하여 GMM을 모델링할 수 있다. GMM은 키보드 인터페이스의 각 키 영역에 대한 터치 입력이 어떤 키 값으로 매핑되어야 하는지에 대한 확률을 나타낼 수 있다.6, the present invention now generates a Gaussian Mixture Model (GMM) for the entire keyboard interface. The present invention models the GMM using all of the touch input data not used in the process up to FIG. 6 as shown in FIG. 7. In this case, the present invention can model the GMM using an Expectation Maximization (EM) technique. The GMM may indicate the probability of which key value the touch input for each key region of the keyboard interface should be mapped to.
가우시안 확률 모델은 관찰된 데이터의 집합이 평균을 중심으로 뭉친 분포 형태를 표현하는 확률 모델이다. 따라서 데이터들이 평균을 중심으로 하나의 그룹으로 뭉쳐있는 유니모달(unimodal)한 형태만 표현 가능한 제약이 있다. 따라서 본 발명은 키보드 인터페이스에 포함된 복수의 키에 대한 복수의 확률 분포를 표현하기 위해 GMM을 사용한다. Gaussian probabilistic models are probabilistic models that represent a distribution of aggregated observations around a mean. Therefore, there is a limitation that can express only a unimodal form in which data is grouped into a group centered on an average. Accordingly, the present invention uses GMM to represent a plurality of probability distributions for a plurality of keys included in a keyboard interface.
기대값 최대화 기법은 숨겨진 확률 변수를 갖고 있는 확률 모델을 추정하기 위해 사용되는 방법이다. 즉, EM 알고리즘은 관측되지 않는 잠재 변수에 의존하는 확률 모델에서 최대 공산(maximum likelihood)이나 최대 사후확률(MAP; maximum a posteriori)를 갖는 매개 변수를 찾는 반복적인 알고리즘이다. EM 알고리즘은 매개변수에 관한 추정값으로 로그공산(log likelihood)의 기대값을 계산하는 기대값(E) 단계와 이 기대값을 최대화하는 변수값을 구하는 최대화(M) 단계를 번갈아가면서 적용한다. 그리고 최대화 단계에서 계산된 변수값은 다음 기대값 단계의 추정값으로 사용된다.The expectation maximization technique is a method used to estimate the probability model with hidden random variables. That is, the EM algorithm is an iterative algorithm that finds parameters with maximum likelihood or maximum a posteriori (MAP) in a probability model that depends on unobserved latent variables. The EM algorithm alternates the expected value (E) step of calculating the expected value of the log likelihood with the estimated value of the parameter and the maximized (M) step of obtaining the variable value that maximizes the expected value. The variable value calculated in the maximization step is then used as an estimate for the next expected value step.
GMM은 도 6까지의 과정에서 생성된 각각의 키 영역에 대한 복수의 가우시안 모델을 사용하여 생성된다. 실시예로서, GMM은 가중치(weight), 평균(mean), 공분산(covariance)의 파라미터를 포함하며, 이중 가중치, 평균은 각각의 가우시안 분포에 대해 획득된 파라미터를 사용하고, 공분산은 1/n으로 초기화될 수 있다. n은 GMM으로 모델링하는 키의 수를 나타낸다. The GMM is generated using a plurality of Gaussian models for each key region generated in the process up to FIG. 6. As an example, the GMM includes parameters of weight, mean, and covariance, wherein the double weight, mean, uses the parameters obtained for each Gaussian distribution, and the covariance is 1 / n. Can be initialized. n represents the number of keys modeled by GMM.
다만, 본 발명은 GMM의 모델링 과정에서 EM 기법을 반복 수행하여 파라미터를 최적화하는데, 파라미터의 값이 적정 범위를 벗어나는 값이 되어 로컬 최소값에 최적화되는 경우가 발생할 수 있다. 예를 들면, 도 7에서 A 영역에 대한 가우시안 모델의 평균의 위치가 S의 키 영역을 침범하거나, 공분산 또한 지나치게 넓어질 수도 있다. 따라서 본 발명은 각 키 영역에 대해 평균과 공분산이 변화할 수 있는 폭을 제한할 수도 있다. 예를 들면, 본 발명은 각 키 영역에 대한 가우시안 모델의 평균이 존재할 수 있는 영역을 상술한 베이스 영역과 같은 내부 영역으로 제한할 수 있다. 그리고 공분산의 가능한 범위의 제한 또한 설정할 수도 있다.However, in the present invention, the parameter is optimized by repeatedly performing the EM technique in the modeling process of the GMM, and a value of the parameter may be out of an appropriate range and may be optimized to a local minimum value. For example, the position of the average of the Gaussian model with respect to region A in FIG. 7 may invade the key region of S, or the covariance may be too wide. Thus, the present invention may limit the width at which the mean and covariance can vary for each key region. For example, the present invention may limit an area where an average of the Gaussian model for each key area may exist to an internal area such as the base area described above. You can also set limits on the possible ranges of covariance.
이렇게 학습된 GMM을 사용하여 수신 터치 입력의 좌표에 대한 가우시안 분포의 공산(likelihood)이 산출될 수 있다. 그리고 한 좌표에 대해 모든 가우시안 분포들의 공산을 비교하여 가장 높은 공산을 갖는 키 값이 사용자의 의도라고 추정될 수 있다. 다만, 연산양을 줄이기 위해 모든 키에 대한 가우시안 분포들의 공산을 비교하는 대신, 본 발명은 입력된 키 및 인접 키들에 대해서만 공산의 비교를 수행할 수도 있다. 일반적인 알파벳 키보드 레이아웃의 예를 들면, S에 대한 입력에 대해서는 S, A 및 D에 대해 또는 S, A, D, W, X에 대해 공산의 비교를 수행하는 등, 본 발명은 사용자 입력이 위치한 키 영역 및 인접한 2~8개의 키 영역에 대해 공산 비교를 수행할 수도 있다.Using the learned GMM, the likelihood of the Gaussian distribution with respect to the coordinates of the received touch input may be calculated. Then, by comparing the probabilities of all Gaussian distributions with respect to one coordinate, the key value having the highest probabilities can be estimated as the user's intention. However, instead of comparing the probabilities of Gaussian distributions for all keys in order to reduce the amount of computation, the present invention may perform the comparison of the probabilities only for the input key and the adjacent keys. As an example of a typical alphabetic keyboard layout, the present invention provides a key in which a user input is located, such as performing a communicative comparison on S, A, D, or S, A, D, W, X for an input to S. You can also perform a communicative comparison on an area and two to eight adjacent key areas.
이하에서는 GMM에 포함된 복수의 가우시안 분포들의 공산을 비교하여 수신 터치 입력을 키 값으로 매핑하는 방법에 대해 더욱 상세히 설명하겠다. Hereinafter, a method of mapping a received touch input to a key value by comparing the probabilities of the plurality of Gaussian distributions included in the GMM will be described in more detail.
도 8은 본 발명의 실시예에 따른 GMM 영역 결정 방법을 나타낸다.8 illustrates a GMM region determination method according to an embodiment of the present invention.
도 8은, 3개의 키 영역(A, S, D)를 예시로 하여 GMM 영역 결정 방법을 나타낸다. 도 8(a)의 3개의 레이아웃 영역(8010)은 디스플레이된 키보드 인터페이스의 3개의 키 영역을 나타낸다. 도 8은 3개의 키 영역(8010)에 대한 GMM 및 그에 따른 GMM 영역을 구성하는 방법을 나타낸다.Fig. 8 shows a method for determining a GMM area by taking three key areas A, S, and D as an example. The three
도 8(b)는 3개의 키 영역(A, S, D)에 대한 GMM을 나타낸다. GMM은 각 키 영역에 대한 가우시안 분포들을 포함한다. 도 8(b)에서, GMM은 A에 대한 가우시안 분포(8020), S에 대한 가우시안 분포(8030) 및 D에 대한 가우시안 분포(8040)를 포함한다. 본 발명은 GMM의 각 가우시안 모델을 기초로 특정 좌표의 공산이 기결정된 스레스홀드 이상이면 그 좌표를 해당 가우시안 모델의 키 값으로 매핑할 수 있다. 8 (b) shows a GMM for three key areas A, S, and D. FIG. The GMM includes Gaussian distributions for each key region. In FIG. 8B, the GMM includes a
도 8의 실시예에서, 특정 터치 입력(8050)의 좌표가 x의 위치에 해당한다고 가정할 수 있다. x위치는 GMM에서 D의 가우시안 모델(8040)에 대해 가장 높은 공산값을 갖고, 이 공산 값은 x 좌표를 D의 키 값으로 매핑할 수 있는 스레스홀드값 이상이다. 따라서 디바이스는 터치 입력(8050)이 디스플레이된 키 영역(8010)의 S의 키 영역에 존재하지만, 이 터치 입력(8050)을 S가 아닌 D의 키 값으로 매핑할 수 있다.In the embodiment of FIG. 8, it may be assumed that the coordinates of the
도 8(c)에서와 같이, 본 발명은 GMM으로부터 공산 값이 스레스홀드 값 이상인 좌표들을 모아 GMM 영역으로 구성할 수도 있다. 도 8(c)에서 GMM 영역은 A의 키 값으로 매핑되는 제 1 영역(8060), S의 키 값으로 매핑되는 제 2 영역(8070) 및 D의 키 값으로 매핑되는 제 3 영역(8080)을 포함한다. As shown in FIG. 8 (c), the present invention may configure a GMM region by collecting coordinates whose communicative value is greater than or equal to a threshold value from the GMM. In FIG. 8C, the GMM region is a
스레스홀드 값은 사용자의 의도를 반영할 수 있도록 결정/조정될 수 있다. 예를 들면, 스레스홀드를 높이면 오타를 수정할 수 있는 GMM 영역의 사이즈가 줄어들며, 각 가우시안 모델의 평균에 가까운 터치 입력들에 대해서만 오타를 수정할 수 있게 된다. 따라서 오타 수정 정확도는 높아질 수 있지만, 오타 수정 빈도는 줄어들 수 있다. 스레스홀드를 낮추면 경계에서 비교적 멀리 떨어진 터치 입력들에 대해서도 오타를 수정할 수 있게 된다. 대신, 해당 영역을 의도한 터치 입력까지 오타로 인식할 수 있는 위험이 있다. 따라서 오타 수정 정확도는 낮아질 수 있지만 오타 수정 빈도는 높아질 수 있다. 본 발명은 이러한 트레이드오프를 고려하여 적정한 스레스홀드 값을 설정하는 것을 특징으로 한다.The threshold value can be determined / adjusted to reflect the user's intent. For example, increasing the threshold reduces the size of the GMM area that can correct typos, and only corrects typos for touch inputs that are close to the average of each Gaussian model. Therefore, the accuracy of the typo correction can be increased, but the frequency of the typo correction can be reduced. Lowering the threshold can correct typos for touch inputs that are relatively far from the boundary. Instead, there is a risk that the area can be recognized as a typo by the intended touch input. Therefore, the accuracy of the typo correction may be lowered, but the frequency of the typo correction may be high. The present invention is characterized by setting an appropriate threshold value in consideration of such a tradeoff.
본 발명은 사용자가 의도하지 않은 타이핑 에러를 수정하고자 하는 것으로, 의도한 타이핑을 에러로 판단하고 수정하는 것은 가장 피해야할 요소이다. 따라서 GMM 만으로 키매핑을 수행하거나, 스레스홀드를 두는 것에 추가로, 키영역에 고신뢰도(high-reliability) 영역을 설정하고, 이 영역에 대한 터치 입력은 항상 그 영역에 대한 키 값으로 매핑할 수도 있다. The present invention is intended to correct typing errors that are not intended by the user, and determining and correcting the intended typing as an error is the most avoiding factor. Therefore, in addition to performing key mapping with only GMM or placing a threshold, a high-reliability area may be set in a key area, and touch input to this area may always be mapped to a key value for that area. have.
도 9는 본 발명의 실시예에 따른 GMM 및 고신뢰도 영역을 사용한 터치 입력의 매핑 방법을 나타낸다.9 illustrates a mapping method of a touch input using a GMM and a high reliability region according to an embodiment of the present invention.
도 9(a)는 도 8(a)와 같이 디스플레이된 키보드 인터페이스의 3개의 키 영역을 나타낸다. FIG. 9 (a) shows three key areas of the keyboard interface displayed as shown in FIG. 8 (a).
도 9(b)는 각각의 키 영역 내의 고신뢰도 영역을 추가로 나타낸다. 고신뢰도 영역이라 함은, 그 영역에 터치 입력이 수신되면 그 터치 입력은 디스플레이 영역에 대한 키 입력으로 판단되어야만 하는 영역을 나타낸다. 도 9(b)에서와 같이 A키 영역의 고신뢰도 영역(9010) 내로 좌표값이 인식된 터치 입력은 GMM과 무관하게 A키로 인식된다. 9 (b) further shows a high reliability region within each key region. The high reliability area refers to an area that should be determined as a key input to the display area when a touch input is received in the area. As shown in FIG. 9B, the touch input in which the coordinate value is recognized into the high reliability region 9010 of the A key region is recognized as the A key regardless of the GMM.
도 9(c)는 도 8에서 상술한 GMM 영역을 구성한 도면으로, 중복되는 설명은 생략한다.FIG. 9C is a diagram illustrating the GMM region described above with reference to FIG. 8, and overlapping descriptions thereof will be omitted.
그리고 도 9(d)는 터치 입력을 키 값으로 매핑하는 최종 키 매핑 영역들을 나타낸다. 도 9(d)에서와 같이, 일단 고신뢰도 영역은 GMM과 무관하게 해당 키 값으로 매핑되고, 고신뢰도 영역에 추가로 GMM에서 스레스홀드 이상의 영역들을 설정한다. 그리고 고신뢰도 영역 및 GMM 영역의 나머지 영역은 디스플레이된 키 영역의 키 값에 따라 매핑될 수 있다. 이렇게 최종 결정된 영역들을 키 매핑 영역으로 지칭할 수 있다. A의 키 매핑 영역, S의 키 매핑 영역, D의 키 매핑 영역이 도 9(d)와 같이 결정된다. 복수의 키 매핑 영역들을 포함하는 전체 키보드 인터페이스는 보정된 키 매핑 인터페이스로 지칭할 수도 있다.9 (d) shows final key mapping regions for mapping a touch input to a key value. As shown in FIG. 9 (d), once the high reliability region is mapped to the corresponding key value irrespective of the GMM, the high reliability region additionally sets regions beyond the threshold in the GMM. The high reliability region and the remaining regions of the GMM region may be mapped according to the key values of the displayed key region. The finally determined regions may be referred to as key mapping regions. The key mapping area of A, the key mapping area of S, and the key mapping area of D are determined as shown in FIG. 9 (d). The entire keyboard interface including the plurality of key mapping regions may be referred to as a calibrated key mapping interface.
고신뢰도 영역은 키 영역 내의 중앙 영역에 위치하며, 사이즈는 설정에 따라 변경될 수 있다. 예를 들면, 사용자의 터치 입력 패턴 즉 GMM들의 평균값이 전반적으로 각각의 키 영역의 중앙에서 많이 벗어나는 경우에는 고신뢰도 영역의 사이즈를 줄여 오타 정정 능력을 높일 수 있다. 또는, 사용자의 터치 입력 패턴이 전반적으로 각각의 키 영역 중앙에 가깝게 위치하는 경우에는 고신뢰도 영역의 사이즈를 키워 잘못된 오타 정정을 줄이고 오타 수정 정확도를 높일 수도 있다. 고신뢰도 영역의 위치 또한 사용자의 터치 입력 패턴에 따라서 조정되어 오타 정정 능력 및 정확도를 개선할 수도 있다. 예를 들면, 사용자의 터치 입력 패턴에 따라서 도 9의 'D'의 키 영역의 경우 고신뢰도 영역을 좌측으로 이동시켜 오차 수정 능력 및 정확도를 모두 개선할 수도 있다.The high reliability region is located in the central region within the key region, and the size can be changed according to the setting. For example, when the user's touch input pattern, that is, the average value of the GMMs, is generally far from the center of each key area, the size of the high reliability area may be reduced to increase the error correction capability. Alternatively, when the user's touch input pattern is generally located close to the center of each key area, the size of the high reliability area may be increased to reduce incorrect typographical correction and to improve typo correcting accuracy. The location of the high reliability region may also be adjusted according to the user's touch input pattern to improve the error correction capability and accuracy. For example, in the key region of 'D' of FIG. 9 according to the user's touch input pattern, the high reliability region may be moved to the left to improve both error correction capability and accuracy.
도 10은 본 발명의 실시예에 따른 GMM 및 고신뢰도 영역을 사용한 터치 입력의 매핑 방법을 나타낸다.10 illustrates a mapping method of a touch input using a GMM and a high reliability region according to an embodiment of the present invention.
도 10은 도 9에서 도시한 방법을 x 평면에 대해 나타낸다.FIG. 10 shows the method shown in FIG. 9 with respect to the x plane.
도 10(a)는 도 9(a)의 디스플레이된 레이아웃 영역을, 도 10(b)는 도 9(b)의 고신뢰도 영역을, 도 10(c)는 도 9(c)의 GMM 영역을, 도 10(d)응 도 9(d)의 최종 결정된 키 매핑 영역을 각각 x 평면에서 나타낸다. Fig. 10 (a) shows the displayed layout area of Fig. 9 (a), Fig. 10 (b) shows the high reliability area of Fig. 9 (b), and Fig. 10 (c) shows the GMM area of Fig. 9 (c). 10 (d) and 9 (d) show the final determined key mapping regions in the x plane, respectively.
도 10에서과 같이, 최종 영역 결정에 있어 본 발명은 GMM 영역을 고려하되, 고신뢰도 영역은 수정하지 않는다. 즉, 본 발명은 도 10(c)의 'D'에 대한 GMM 영역이 도 10(b)의 'S'에 대한 고신뢰도 영역을 넘지 않도록 최종 키 매핑 영역을 구성한다.As shown in FIG. 10, in determining the final region, the present invention considers the GMM region, but does not modify the high reliability region. That is, the present invention configures the final key mapping region so that the GMM region for 'D' of FIG. 10 (c) does not exceed the high reliability region for 'S' of FIG. 10 (b).
그리고 본 발명은 GMM에서 특정 스레스홀드 이상인 영역에 대해서는 GMM 영역에 따라 키 매핑 영역을 구성하고, 고신뢰도 영역 및 GMM 영역 외부에 대해서는 디스플레이된 키 영역의 매핑을 따른다.In addition, the present invention configures a key mapping area according to the GMM area for an area greater than or equal to a specific threshold in the GMM, and follows the mapping of the displayed key area for the high reliability area and the outside of the GMM area.
도 11은 본 발명의 실시예에 따른 수신 터치 입력의 키 매핑 방법을 나타낸다.11 illustrates a key mapping method of a received touch input according to an embodiment of the present invention.
도 8 내지 도 10에서 설명한 바와 같이, 본 발명은 키보드 인터페이스 전체에 대한 키 매핑 영역을 구성하고, 수신 터치 입력의 좌표의 키 매핑 영역에서의 위치에 따라 키 매핑을 수행할 수 있다. 다만, 이러한 실시예의 경우 사전 연산의 양이 증가할 수 있다. 따라서 다른 실시예로서, 본 발명은 전체 키 매핑 영역을 구성하지 않고, 수신한 터치 입력을 좌표 별로 처리할 수도 있다. 도 11은 이러한 방법을 나타내는 순서도이다.As described above with reference to FIGS. 8 to 10, the present invention may configure a key mapping area for the entire keyboard interface and perform key mapping according to a position in the key mapping area of the coordinates of the received touch input. However, in this embodiment, the amount of pre-computation may increase. Therefore, as another embodiment, the present invention may process the received touch input for each coordinate without configuring the entire key mapping area. 11 is a flow chart illustrating this method.
디바이스는 디스플레이한 키보드 인터페이스에 대한 터치 입력을 수신할 수 있다(S11010). 수신된 터치 입력은 좌표 정보를 포함한다.The device may receive a touch input for the displayed keyboard interface in operation S11010. The received touch input includes coordinate information.
디바이스는 수신한 터치 입력의 좌표가 고신뢰도 영역 내에 위치하는지를 먼저 결정할 수 있다(S11020). 디바이스는 터치 입력 좌표가 고신뢰도 영역 내에 존재하는 경우, 수신 터치 입력을 고신뢰도 영역의 키 값으로 매핑할 수 있다(S11030).The device may first determine whether the coordinates of the received touch input are located within the high reliability area (S11020). If the touch input coordinates exist in the high reliability region, the device may map the received touch input to a key value of the high reliability region (S11030).
디바이스는 수신한 터치 입력의 좌표가 고신뢰도 영역 내에 위치하지 않는 경우, 터치 입력의 좌표에 해당하는 GMM의 공산이 스레스홀드 이상인지 결정할 수 있다(S11040). 터치 입력 좌표에 해당하는 GMM의 공산이 스레스홀드 이상인 경우, 디바이스는 수신 터치 입력을 해당 GMM 영역의 키 값으로 매핑할 수 있다(S11050). 다시 말하면, 디바이스는 수신 터치 입력 좌표의 공산이, GMM에 포함된 복수의 가우시안 모델들 중 하나의 가우시안 모델에 대해 스레스홀드 값 이상인 경우, 해당 가우시안 모델의 키 값으로 수신 터치 입력을 매핑할 수 있다.If the coordinates of the received touch input are not located in the high reliability region, the device may determine whether the GMM corresponding to the coordinates of the touch input is equal to or greater than the threshold (S11040). If the GMM corresponding to the touch input coordinates is equal to or larger than the threshold, the device may map the received touch input to a key value of the corresponding GMM region (S11050). In other words, the device may map the received touch input to a key value of the Gaussian model if the communicability of the received touch input coordinates is equal to or greater than a threshold value for one of the plurality of Gaussian models included in the GMM. have.
디바이스는 수신한 터치 입력의 좌표가 고신뢰도 영역 밖이면서, GMM의 공산도 스레스홀드 이하인 경우, 터치 입력을 터치 입력이 위치한 키 영역의 키 값으로 매핑할 수 있다(S11060).If the coordinates of the received touch input are outside the high reliability region and less than the communicative threshold of the GMM, the device may map the touch input to a key value of a key region where the touch input is located (S11060).
이하에서는 본 발명의 실시예에 따른 터치 입력 프로세싱 방법을 다시 설명한다.Hereinafter, the touch input processing method according to the embodiment of the present invention will be described again.
상술한 바와 같이 본 발명에 따른 터치 입력 프로세싱 방법은 디바이스에 의해 수행되거나, 디바이스에서 구동되는 애플리케이션/소프트웨어에 의해 수행될 수 있다. As described above, the touch input processing method according to the present invention may be performed by a device or by an application / software driven by the device.
디바이스는 키보드 인터페이스에 대한 터치 입력 데이터를 저장할 수 있다. 디스플레이된 키보드 인터페이스는 적어도 하나의 키 영역을 포함하고, 이러한 디스플레이된 키 영역은 레이아웃 영역이라고 지칭할 수도 있다. 터치 입력 데이터는 터치 입력의 좌표, 터치 입력의 면적, 지속 시간, 터치 입력 시의 추가적인 센서 정보 중 적어도 하나를 포함할 수 있다. 디바이스는 터치 입력 데이터의 저장 순서를 랜덤화하여 저장할 수도 있다. The device may store touch input data for the keyboard interface. The displayed keyboard interface may include at least one key area, which may be referred to as a layout area. The touch input data may include at least one of coordinates of the touch input, an area of the touch input, a duration, and additional sensor information at the time of the touch input. The device may randomly store the storage order of the touch input data.
디바이스는 키 영역 각각에 대한 가우시안 모델을 생성할 수 있다. 디바이스는 저장된 터치 입력 데이터를 사용하여 가우시안 모델/분포를 생성할 수 있다. 디바이스는 키 영역 각각의 베이스 영역 내의 터치 입력 데이터만을 사용하여 가우시안 모델을 생성할 수 있다. 디바이스는 키보드 인터페이스에 포함된 키 영역 전부 또는 일부에 대해 가우시안 모델을 생성할 수도 있다. The device may generate a Gaussian model for each of the key regions. The device may generate a Gaussian model / distribution using the stored touch input data. The device may generate a Gaussian model using only touch input data in the base area of each key area. The device may generate a Gaussian model for all or some of the key areas included in the keyboard interface.
디바이스는 생성된 가우시안 모델을 사용하여 키보드 인터페이스에 대한 가우시안 혼합 모델(GMM)을 생성할 수 있다. 디바이스는 베이스 영역 내의 터치 입력 데이터 및 베이스 영역 외의 터치 입력 데이터를 함께 사용하여 가우시안 혼합 모델을 생성할 수 있다. 디바이스의 가우시안 모델 생성 및 이를 사용한 가우시안 혼합 모델 생성 방법에 대해서는 도 3 내지 도 8의 설명이 적용되며, 중복되는 설명은 다시 하지 않는다.The device may use the generated Gaussian model to generate a Gaussian mixture model (GMM) for the keyboard interface. The device may generate a Gaussian mixture model by using touch input data in the base area and touch input data other than the base area together. The description of FIGS. 3 to 8 applies to the Gaussian model generation of the device and the method of generating the Gaussian mixed model using the same, and overlapping descriptions will not be repeated.
디바이스는 가우시안 혼합 모델을 사용하여 수신 터치 입력을 키 값으로 매핑할 수 있다. 디바이스는 수신 터치 입력을 수신 터치 입력이 위치한 키 영역의 키 값 또는 수신 터치 입력이 위치한 키 영역의 인접 키 영역의 키 값으로 매핑할 수 있다. 키 값은 키보드 인터페이스에 나타내는 캐릭터, 숫자, 기호 등을 나타내거나, 캐릭터, 숫자, 기호 등에 해당하는 디지털 값을 나타낼 수 있다.The device may use a Gaussian mixture model to map incoming touch inputs to key values. The device may map the received touch input to a key value of a key region where the received touch input is located or a key value of an adjacent key region of the key region where the received touch input is located. The key value may represent a character, a number, a symbol, or the like displayed on the keyboard interface, or a digital value corresponding to the character, number, symbol, or the like.
디바이스는 도 9 내지 도 11에서 설명한 바와 같이 수신 터치 입력의 키 값 매핑을 수행할 수 있다. 디바이스는 고신뢰도 영역 및 GMM 영역을 반영한 키 매핑 영역을 기준으로 터치 입력을 매핑할 수 있다. 또는, 디바이스는 도 11의 방법과 같이 터치 입력의 좌표 기준으로 터치 입력을 매핑할 수 있다.The device may perform key value mapping of the received touch input as described with reference to FIGS. 9 through 11. The device may map the touch input based on the key mapping area reflecting the high reliability area and the GMM area. Alternatively, the device may map the touch input based on the coordinate of the touch input as in the method of FIG. 11.
본 발명의 디바이스는 터치 입력을 터치 입력이 위치한 키 영역의 키 값 또는 터치 입력이 위치한 키 매핑 영역이 인접한 키 영역의 키 값으로 매핑하는 것을 특징으로 한다. 즉, 디스플레이된 키 영역들의 레이아웃 변경 없이, 수신 터치 입력의 분포에 따라 특정 키 영역의 입력이 인접 키 영역의 키 값으로 매핑될 수 있다.The device of the present invention is characterized in that a touch input is mapped to a key value of a key region where a touch input is located or a key mapping region where a touch input is located to a key value of an adjacent key region. That is, the input of a specific key region may be mapped to the key value of an adjacent key region according to the distribution of the received touch input without changing the layout of the displayed key regions.
디바이스는 수신 터치 입력의 위치가 특정 키 영역의 고신뢰도 영역인지를 먼저 결정할 수 있다. 그리고 디바이스는 수신 터치 입력이 고신뢰도 영역 내에 위치하는 경우에는 해당 고신뢰도 영역을 포함하는 키 영역의 키 값으로 수신 터치 입력을 매핑할 수 있다. 수신 터치 입력이 고신뢰도 영역 외에 위치하는 경우, 디바이스는 가우시안 혼합 모델에 기초하여 수신 터치 입력을 수신 터치 입력이 위치한 키 영역의 키 값 또는 인접한 키 영역의 키 값으로 매핑할 수 있다. The device may first determine whether the location of the received touch input is a high reliability area of a particular key area. If the received touch input is located in the high reliability region, the device may map the received touch input to a key value of a key region including the corresponding high reliability region. When the received touch input is located outside the high reliability region, the device may map the received touch input to a key value of a key region where the received touch input is located or a key value of an adjacent key region based on the Gaussian mixture model.
혼합 가우시안 모델에 기초하여 수신 터치 입력을 매핑하는 방법은 도 8 내지 도 11과 관련하여 설명한 바와 같다. 디바이스는 터치 입력의 공산 값이 GMM의 스레스홀드 값 이상인 경우 수신 터치 입력을 스레스홀드 값 이상인 GMM의 키 값으로 매핑할 수 있다. 스레스홀드 값 이상인 GMM의 키 값은 GMM이 표현하는 복수의 가우시안 모델 중 해당 좌표의 공산 값이 스레스홀드 값 이상인 가우시안 모델의 키 값이 될 수 있다. 디바이스는 수신 터치 입력의 공산 값이 혼합 가우시안 모델의 기설정된 스레스홀드 값 미만인 경우에는 수신 터치 입력을 수신 터치 입력이 위치하는 키 영역의 키 값으로 매핑할 수 있다.The method of mapping the received touch input based on the mixed Gaussian model is as described with reference to FIGS. 8 to 11. If the communicative value of the touch input is equal to or greater than the threshold value of the GMM, the device may map the received touch input to a key value of the GMM that is greater than or equal to the threshold value. The key value of the GMM that is greater than or equal to the threshold value may be the key value of the Gaussian model whose communicative value of the corresponding coordinate is greater than or equal to the threshold value among the plurality of Gaussian models represented by the GMM. When the communicative value of the received touch input is less than a predetermined threshold value of the mixed Gaussian model, the device may map the received touch input to a key value of a key region in which the received touch input is located.
상술한 바와 같이, 베이스 영역 및 고신뢰도 영역 중 적어도 하나의 크기, 형상, 위치 등이 가변일 수 있다. 실시예에 따라서, 베이스 영역 및 고신뢰도 영역은 동일하게 설정될 수도 있다.As described above, the size, shape, position, etc. of at least one of the base region and the high reliability region may be variable. According to the embodiment, the base region and the high reliability region may be set identically.
이하에서는 상술한 방법에 추가로, 순환 신경망을 사용하여 터치 입력을 프로세싱하는 방법에 대하여 설명한다.In addition to the above-described method, a method of processing touch input using a cyclic neural network will be described.
본 명세서에서, 상술한 GMM은 가우시안 혼합 모델 또는 가우시안 혼합 분포로 지칭될 수 있다. In the present specification, the above-described GMM may be referred to as a Gaussian mixture model or Gaussian mixture distribution.
도 12는 순환 신경망(Recurrent Neural Network)의 개념도이다.12 is a conceptual diagram of a recurrent neural network.
순환 신경망은 딥러닝(Deep Learning) 모델의 일종이다. 순환 신경망은 연속적인 신호(테스트, 음성)에 대해 사용되며, 기계 번역, 음성 인식에 사용될 수 있다. 순환 신경망은 순서가 있는 패턴의 모델에 효과적인 모델이다.Cyclic neural networks are a type of deep learning model. Cyclic neural networks are used for continuous signals (testing, speech) and can be used for machine translation and speech recognition. Cyclic neural networks are effective models for ordered patterns.
순환 신경망은 인공 신경망의 한 종류로, 유닛 간의 연결이 순환적 구조를 갖는 특징을 갖는다. 순환 신경망의 순환적 구조는 시변적 동적 특징을 모델링할 수 있도록 신경망 내부에 상태를 저장할 수 있도록 한다. 따라서 순환 인공 신경망은 시변적 특징을 갖는 데이터를 처리하는데 유리하다.A cyclic neural network is a kind of artificial neural network, in which a connection between units has a cyclic structure. The cyclic structure of the cyclic neural network allows the state to be stored inside the neural network to model time-varying dynamic features. Thus, cyclic artificial neural networks are advantageous for processing data with time-varying features.
도 12에서와 같이, 순환 신경망 모듈은 입력 X_t를 수신하여, 출력 h_t를 출력할 수 있다. 그리고 X_t를 수신하여 h_t를 출력하는 순환 신경만 모듈은 X_0~X_t-1의 입력으로부터 h_0~h_t-1의 출력에 대한 연산에 의해 영향을 받는다. 순환 신경망은 순환 가중치(recurrent weight)를 통해 새로운 데이터를 처리할 때 과거의 신경망과 현재의 신경망을 연결할 수 있다. 따라서 과거의 데이터 처리에 대한 경험이 새로운 데이터 처리에 반영될 수 있다. 과거의 데이터 처리에 대한 경험은 가중치로서 순환 신경망의 연산에 반영될 수 있다.As shown in FIG. 12, the cyclic neural network module may receive an input X_t and output an output h_t. Only the circulatory nerve module that receives X_t and outputs h_t is affected by the operation on the outputs of h_0 to h_t-1 from the inputs of X_0 to X_t-1. The cyclic neural network can connect the neural network of the past with the current neural network when processing new data through the recurrent weight. Thus, past experiences in data processing can be reflected in new data processing. Past experience with data processing can be reflected in the computation of cyclic neural networks as weights.
순환 신경망이 주로 적용되는 태스크로는 음성 인식, 기계 번역, 비디오 분류 등이 있다. 해당 태스크들은 데이터와 함께 정답 레이블을 사용하여 모델을 학습한다. 다만, 터치 입력의 경우 정답 레이블이 존재 하지 않아, 기존 태스크와 같은 학습을 적용하기 어렵다. 따라서 본 발명에서는 비지도 학습 방식(Unsupervised Learning)의 순환 신경망 학습을 통해 터치 시퀀스를 프로세싱하는 방법에 대해 설명한다.Tasks to which cyclic neural networks are mainly applied include speech recognition, machine translation, and video classification. These tasks train the model using the correct label with the data. However, since the correct answer label does not exist in the case of touch input, it is difficult to apply the same learning as the existing task. Therefore, the present invention describes a method of processing a touch sequence through cyclic neural network learning of unsupervised learning.
이하에서는, 상술한 가우시안 혼합 모델을 사용하여 터치 입력을 프로세싱한 후, 추가로 순환 신경망 모델을 사용하여 터치 입력을 프로세싱하는 방법에 대하여 설명한다.Hereinafter, after the touch input is processed using the Gaussian mixture model described above, a method of further processing the touch input using the cyclic neural network model will be described.
도 13은 본 발명의 실시예에 따른 가우시안 혼합 분포를 나타낸다.13 illustrates a Gaussian mixture distribution according to an embodiment of the present invention.
도 2 내지 도 11에서 상술한 바와 같이, 디바이스는 터치 분포를 GMM 모델링하여 가우시안 혼합 확률 분포를 생성한다. 그리고 터치 입력에 대한 확룰 벡터를 생성할 수 있으며, 이 과정을 요약하면 도 13과 같다.As described above with reference to FIGS. 2 through 11, the device generates a Gaussian mixture probability distribution by GMM modeling the touch distribution. The expansion rule vector for the touch input may be generated, which is summarized in FIG. 13.
도 13(a)와 같이, 키보드 인터페이스가 디스플레이되고, 도 13에서는 그 중 a, s, d 에 대한 예를 설명한다.As shown in FIG. 13A, a keyboard interface is displayed, and examples of a, s, and d are described in FIG. 13.
도 13(b)와 같이, a, s, d에 대한 가우시안 혼합 분포가 모델링된다. 가우시안 혼합 분포의 모델링은 상술한 바와 같다. 도 13(b)의 가우시안 혼합 분포는 키보드 상의 좌표에 대해, 그 좌표에서 각각의 키 값에 대한 매핑 확률을 나타내는 맵으로 생각할 수 있다. 그리고 각각의 키에 대한 확률이 가우시안 형태로 모델링되고, 복수의 가우시안 모델이 모아져서 가우시안 혼합 분포의 형태가 된다.As shown in FIG. 13 (b), the Gaussian mixture distribution for a, s, and d is modeled. Modeling of Gaussian mixed distribution is as described above. The Gaussian mixture distribution of FIG. 13 (b) can be thought of as a map representing the mapping probability for each key value at the coordinates on the keyboard. The probabilities for each key are modeled in a Gaussian form, and a plurality of Gaussian models are collected to form a Gaussian mixture distribution.
도 13(c)와 같이, 특정 터치 좌표에 대한 확률 값이 획득된다. 도 13(c)는, 특정 터치 좌표에 대한 각 키의 확률값이 a에 대해 0.2, s에 대해 0.8, d에 대해 0.1임을 나타낸다. 이 경우, 각 키들에 대한 확률값을 결합한 벡터를 이 좌표에 대한 확률 벡터라고 지칭할 수 있다. 도 13의 실시예에서, 터치 좌표에 대한 확률 벡터는 [0.2, 0.8, 0.1]이 된다. As shown in FIG. 13C, probability values for specific touch coordinates are obtained. FIG. 13C shows that the probability values of the respective keys for the specific touch coordinates are 0.2 for a, 0.8 for s, and 0.1 for d. In this case, the vector combining the probability values for each key may be referred to as the probability vector for this coordinate. In the embodiment of FIG. 13, the probability vector for the touch coordinates is [0.2, 0.8, 0.1].
터치 입력에 대한 가우시안 혼합 모델링의 경우, 각 키에 대한 입력 패턴을 학습하여 가우시안 혼합 확률 분포가 결정된다. 그리고 이 후 특정 좌표가 입력되는 경우, 디바이스는 이 좌표에 해당하는 확률 벡터를 획득하고, 확률 벡터에서 가장 큰 값을 갖는 키로 좌표를 매핑할 수 있다. 도 13의 예에서, 디바이스는 터치 입력을 s로 매핑할 수 있다.In the case of Gaussian mixture modeling for touch input, a Gaussian mixture probability distribution is determined by learning an input pattern for each key. If a specific coordinate is input thereafter, the device may obtain a probability vector corresponding to the coordinate and map the coordinate to a key having the largest value in the probability vector. In the example of FIG. 13, the device may map the touch input to s.
확률 벡터는 키의 총 수 만큼의 값들을 포함하거나, 키의 총 수보다 적은 수의 값들을 포함할 수 있다. 확률 벡터는 키의 수 만큼의 길이를 갖되, 모델링 표본이 작은 키들에 대해서는 0의 값들이 부여될 수 있다.The probability vector may include as many values as the total number of keys, or may contain fewer values than the total number of keys. The probability vector is as long as the number of keys, but zero values may be given to keys whose modeling sample is small.
도 14는 본 발명의 실시예에 따른 확률 벡터를 나타낸다.14 illustrates a probability vector according to an embodiment of the present invention.
도 14에서, 세로 길이가 각 키에 대한 확률 값을 나타낸다. 가로축으로, 확률 벡터는 키보드 인터페이스에 포함된 키의 총수에 해당하는 길이를 가질 수 있다. 이하에서, 확률 벡터는 확률 정보라고 지칭될 수 있다. 이하에서, GMM에 기초하여 도 13~14에서와 같이 획득되는 확률 벡터를 가우시안 혼합 확률 벡터 또는 가우시안 혼합 확률 정보라고 지칭할 수 있다.In Figure 14, the vertical length represents the probability value for each key. On the horizontal axis, the probability vector may have a length corresponding to the total number of keys included in the keyboard interface. In the following, the probability vector may be referred to as probability information. Hereinafter, based on the GMM, a probability vector obtained as shown in FIGS. 13 to 14 may be referred to as a Gaussian mixed probability vector or Gaussian mixed probability information.
도 13 및 도 14에서와 같이, 사전-프로세싱된 복수의 터치 입력에 기초하여 획득된 GMM에 터치 좌표를 대입하여 확률 벡터를 생성하는 과정을 GMM 프로세싱이라고 지칭할 수 있다. 즉 GMM 프로세싱은 가우시안 혼합 확률 분포에 대한 특정 좌표의 확률 벡터를 획득하는 과정을 지칭한다.As shown in FIGS. 13 and 14, a process of generating a probability vector by substituting touch coordinates into a GMM obtained based on a plurality of pre-processed touch inputs may be referred to as GMM processing. That is, GMM processing refers to a process of obtaining a probability vector of specific coordinates for a Gaussian mixed probability distribution.
도 15은 본 발명의 실시예에 따른 터치 입력 프로세싱 방법을 나타낸다.15 illustrates a touch input processing method according to an embodiment of the present invention.
도 15에서, 본 발명은 터치 입력을 인식하고, 가우시안 혼합 모델에 기초하여 확률 벡터를 획득한다. 상술한 바와 같이, 디바이스는 사전-프로세싱된 가우시안 혼합 모델을 사용하여 터치 입력에 해당하는 가우시안 혼합 확률 벡터를 획득한다. 그리고 획득된 확률 벡터는 순환 신경망에 의해 프로세싱된다.In FIG. 15, the present invention recognizes a touch input and obtains a probability vector based on a Gaussian mixture model. As described above, the device obtains a Gaussian mixture probability vector corresponding to the touch input using a pre-processed Gaussian mixture model. The obtained probability vector is then processed by the cyclic neural network.
디바이스는, 4개의 터치 입력을 수신한다. 디바이스는, 도 15(a)에서와 같이 X_1의 터치 입력과, 도 15(b)에서와 같이 X_2의 터치 입력과, 도 15(c)에서와 같이 X_3의 터치 입력과, X_4의 터치 입력을 수신한다.The device receives four touch inputs. The device uses the touch input of X_1 as shown in FIG. 15 (a), the touch input of X_2 as shown in FIG. 15 (b), the touch input of X_3 as shown in FIG. 15 (c), and the touch input of X_4. Receive.
디바이스는 각각의 터치 입력에 대해 기-모델링된 GMM에 기초하여 가우시안 혼합 확률 벡터를 획득할 수 있다. 디바이스는, 상술한 바와 같이 각 터치 입력에 대한 확률 벡터를 출력할 수 있다. 디바이스는 X_1에 대한 확률 벡터 G_1, X_2에 대한 확률 벡터 G_2, X_3에 대한 확률 벡터 G_3, X_4에 대한 확률 벡터 G_4를 획득할 수 있다. 디바이스는 확률 벡터를 순환 신경망에 입력할 수 있다.The device may obtain a Gaussian mixture probability vector based on the GMM pre-modeled for each touch input. The device may output a probability vector for each touch input as described above. The device may obtain a probability vector G_4 for a probability vector G_1 for X_1 and a probability vector G_2 for X_2 and a probability vector G_3 for X_3. The device may input the probability vector into the cyclic neural network.
순환 신경망은 W_i를 입력으로 받아 W_0를 출력하며, W_r을 순환 가중치/웨이트로서 다음 연산의 순환 신경망에게 전달한다. 순환 신경망은, 이 세 개의 파라미터의 레이어의 수, 노드의 수를 조절하여 모델의 크기를 조절할 수 있으며, 추가로 학습 용이성과 성능 향상을 위해 기본 단위를 LSTM(Long short-term memory), GRU(Gated recurrent unit) 등의 유닛으로 대체할 수 있다.The cyclic neural network receives W_i as an input and outputs W_0, and transmits W_r as a cyclic weight / weight to the cyclic neural network of the next operation. The cyclic neural network can adjust the size of the model by adjusting the number of layers and the number of nodes of these three parameters.In addition, the basic units are long-term memory (LSTM) and GRU ( It can be replaced by a unit such as a gated recurrent unit.
입력으로 터치시퀀스(X_1, X_2, X_3,...)가 주어졌을 때, 디바이스는 터치 모델인 가우시안 혼합 모델(G(·))을 통해 각 키에 대한 확률 벡터(G_1, G_2, G_3,...)를 획득한 뒤, 확률 벡터를 순환 신경망에 입력한다. 매 터치가 발생할 때마다 순환신경망은 출력으로 예측값 벡터(P_t)을 생성하며, 이 예측값 벡터(P_t)는 과거 터치 시퀀스(X_t, X_(t-1),X_(t-2)...)에 기반하여 출력되며, 시간 t 때의 매핑 키 값은 P_t와 G_t의 하다마드(hadamard) 곱을 통해 계산될 수 있다. 예측값 벡터는 예측 확률 정보라고 지칭할 수 있다.Given a touch sequence (X_1, X_2, X_3, ...) as input, the device uses a Gaussian mixed model (G (·)), a touch model, to determine the probability vectors G_1, G_2, G_3, for each key. And then enter the probability vector into the cyclic neural network. Each time a touch occurs, the cyclic neural network generates a predictive vector (P_t) as its output, which is a past touch sequence (X_t, X_ (t-1), X_ (t-2) ...) The mapping key value at time t can be calculated by the Hadamard product of P_t and G_t. The prediction value vector may be referred to as prediction probability information.
도 15의 예에서, 디바이스는 X_1, X_2, X_3, X_4의 터치 입력을 수신하고, 각 터치 입력에 대한 G_1, G2, G3, G_4의 확률 분포를 획득한다. 디바이스는 확률 분포를 순환 신경망에 순차적으로 입력한다. 순환 신경망은 입력(W_i)으로서 G_1을 수신하고, 출력(W_o)으로서 P_1을 획득한다. 순환 신경망은 G1 연산에 따른 상태값을 W_r로서 다음 연산시 순환 신경망에 전달한다. 디바이스는 X1, X2, X3에 대해 이 과정을 수행하고, X4에 대한 터치 예측값으로 Q4를 출력할 수 있다. In the example of FIG. 15, the device receives touch inputs of X_1, X_2, X_3, and X_4, and obtains a probability distribution of G_1, G2, G3, and G_4 for each touch input. The device sequentially inputs the probability distribution into the cyclic neural network. The cyclic neural network receives G_1 as input W_i and obtains P_1 as output W_o. The cyclic neural network transfers the state value according to the G1 operation as W_r to the cyclic neural network in the next operation. The device may perform this process for X1, X2, and X3, and output Q4 as a touch prediction value for X4.
도 15에서, X_4에 대한 가우시안 혼합 확률 벡터는 W가 제일 높고, E가 그 다음으로 높다. 따라서, GMM만 기초하여 터치 입력을 프로세싱하는 경우, 디바이스는 X_4의 터치 입력을 W로 매핑할 수 있다. 그러나 본 발명에서, 순환 신경망 프로세싱을 추가로 수행하여, 최종 확률값은 E로 출력된다. In Fig. 15, the Gaussian mixture probability vector for X_4 has the highest W and the next highest E. Thus, when processing touch input based only on GMM, the device may map the touch input of X_4 to W. However, in the present invention, further performing cyclic neural network processing, the final probability value is output as E.
도 15에서, 디바이스는, X_1, X_2, X_3의 터치 입력에 기초하여 다음 출력인 예측값 벡터를 P3로 연산한다. 즉, L, O, V의 입력에 기초하여, 디바이스는 다음 터치를 E로 예측한다. 디바이스는 X_4의 확률값과 예측값 벡터(P_3)를 연산하여, X_4에 대한 최종 확률 벡터를 획득하며, 도 13의 실시예에서 X_4에 대한 터치 키 값은 E가 된다. 실시예로서, 본 발명은 P_3와 G_4를 곱하여 확률 벡터 Q_4를 획득하고, Q4를 기반으로 가장 확률이 높은 키를 출력한다.In FIG. 15, the device calculates the predicted vector as the next output, P3, based on the touch inputs of X_1, X_2, and X_3. That is, based on the inputs of L, O, and V, the device predicts the next touch as E. The device calculates a probability value of X_4 and a predicted value vector P_3 to obtain a final probability vector for X_4, and the touch key value for X_4 is E in the embodiment of FIG. 13. In an embodiment, the present invention multiplies P_3 by G_4 to obtain a probability vector Q_4 and outputs the most probable key based on Q4.
도 16의 본 발명의 실시예에 따른 순환 신경망의 학습 과정을 나타낸다.16 shows a learning process of a cyclic neural network according to the embodiment of the present invention.
상술한 바와 같이 순환 신경망이 작동하려면 즉 다음 키를 잘 예측하려면, 순환신경망 모델이 학습되어야 한다. As described above, in order for the cyclic neural network to work, that is, to predict the next key well, the cyclic neural network model must be trained.
X_1이 입력된 경우, 디바이스는 X_1을 GMM 프로세싱하여 가우시안 혼합 확률 벡터 G_1을 획득한다. 순환 신경망은 G_1을 프로세싱하여 예측 확률 벡터 P_1을 출력한다. 예측 확률 벡터는, G1을 순환 신경망으로 프로세싱한 확률 벡터에 해당할 수 있다. When X_1 is input, the device GMM processes X_1 to obtain a Gaussian mixed probability vector G_1. The cyclic neural network processes G_1 and outputs a predicted probability vector P_1. The prediction probability vector may correspond to a probability vector obtained by processing G1 into a cyclic neural network.
X_2가 입력되면, 디바이스는 상술한 GMM 프로세싱, 순환 신경망 프로세싱을 수행하는 이외에, X_1에 대한 정답으로 순환 신경망을 학습시킬 수 있다. 즉, 본 발명은 16(b)의 X_2에 대한 혼합 가우시안 모델링 결과를 16(a)의 X_1에 대한 정답으로 입력하여 순환 신경망을 학습시킬 수 있다. 마찬가지로, 본 발명은 16(c)의 X_3에 대한 혼합 가우시안 모델링 결과를 16(b)의 X_2에 대한 정답으로 입력하여 순환 신경망을 학습시킬 수 있다. 또한, 본 발명은 16(d)의 X_4에 대한 혼합 가우시안 모델링 결과를 16(c)의 X_3에 대한 정답으로 입력하여 순환 신경망을 학습시킬 수 있다.When X_2 is input, the device may learn the cyclic neural network with the correct answer to X_1 in addition to performing the above-described GMM processing and cyclic neural network processing. That is, the present invention can learn the cyclic neural network by inputting the mixed Gaussian modeling result of X_2 of 16 (b) as the correct answer to X_1 of 16 (a). Similarly, the present invention can learn the cyclic neural network by inputting the mixed Gaussian modeling result for X_3 of 16 (c) as the correct answer for X_2 of 16 (b). In addition, the present invention can learn the cyclic neural network by inputting the mixed Gaussian modeling result of X_4 of 16 (d) as the correct answer to X_3 of 16 (c).
순환 신경망은 예측값과 정답값의 차이에 기초하여 순환 신경망 내부의 파라미터들(W_i, W_o, W_r) 또는 파라미터들에 대한 가중치를 변경할 수 있다. 즉 16(a)에서, P_1과 W_1의 차이에 기초하여 순환 신경망의 파라미터들이 변경되며, 이러한 과정을 순환 신경망의 학습이라 지칭할 수 있다. 학습이 반복됨에 따라서, 정답 확률을 높이는 방향으로 파라미터들이 변경될 수 있다.The cyclic neural network may change the weights of parameters W_i, W_o, W_r or parameters in the cyclic neural network based on the difference between the predicted value and the correct answer value. That is, in 16 (a), the parameters of the cyclic neural network are changed based on the difference between P_1 and W_1, and this process may be referred to as learning of the cyclic neural network. As the learning is repeated, the parameters may be changed in the direction of increasing the probability of correct answer.
도 17은 본 발명의 다른 일 실시예에 따른 터치 입력 프로세싱 방법을 나타낸다.17 illustrates a touch input processing method according to another embodiment of the present invention.
도 17에서와 같이, 본 발명의 터치 입력 프로세싱 방법은 터치 입력을 수신하여 (1) 가우시안 혼합 확률 벡터(G_n)를 획득하고, (2) 순환 신경망 프로세싱을 통한 예측 확률 벡터(P_n)를 획득하고, (3) 가우시안 혼합 확률 벡터와 예측 확률 벡터를 사용하여 최종 확률 벡터(Q_n)을 획득할 수 있다. 최종 확률 벡터(Q_n)에서 제일 높은 확률을 갖는 키로 터치 입력이 매핑될 수 있다. 따라서 최종 확률 백터에서 가장 높은 값을 갖는 키를 분포(Q_n)를 키 매핑 값으로 지칭할 수도 있다.As shown in FIG. 17, the touch input processing method of the present invention receives (1) a Gaussian mixture probability vector G_n by receiving a touch input, and (2) obtains a prediction probability vector P_n through cyclic neural network processing. , (3) A final probability vector Q_n may be obtained using a Gaussian mixed probability vector and a predicted probability vector. The touch input may be mapped to a key having the highest probability in the final probability vector Q_n. Therefore, the key having the highest value in the final probability vector may be referred to as the distribution Q_n as the key mapping value.
도 17에서, 가로 방향으로, 도 17(1), (2), (3) 각각은 각 터치 입력에 대한 프로세싱 단계를 나타낸다. 세로 방향으로, 도 17(a)는 첫번째 터치 입력에 대한 프로세싱을, 도 17(b)는 두번째 터치 입력에 대한 프로세싱을, 도 17(c)는 세번째 터치 입력에 대한 프로세싱을, 도 17(d)는 네번째 터치 입력에 대한 프로세싱을 각각 나타낸다.In Fig. 17, in the horizontal direction, each of Figs. 17 (1), (2) and (3) shows the processing steps for each touch input. In the longitudinal direction, FIG. 17A illustrates processing for the first touch input, FIG. 17B illustrates processing for the second touch input, FIG. 17C illustrates processing for the third touch input, and FIG. ) Represent the processing for the fourth touch input, respectively.
도 17의 터치 입력 프로세싱 방법의 각 단계들에 대해, 이하에서 더욱 상세히 설명한다.Each step of the touch input processing method of FIG. 17 will be described in more detail below.
(1) 가우시안 혼합 확률 벡터(G_n) 획득(1) Acquisition of Gaussian Mixed Probability Vector (G_n)
디바이스는 터치 입력을 수신하면, 터치 입력을 GMM 프로세싱하여 가우시안 혼합 확률 벡터를 획득할 수 있다. 가우시안 혼합 확률 벡터는 해당 터치 입력 좌표가 각각 어떤 키의 확률 분포에 속하는지 및 각 키의 확률 분포 내에서 얼마나 유력한지를 나타낼 수 있다. 도 17(a)의 실시예에서, 첫번째 터치 입력에 대한 가우시안 혼합 확률 벡터 G_1은 터치 입력이 L일 확률이 제일 높음을 나타낸다. When the device receives the touch input, the device may GMM process the touch input to obtain a Gaussian mixture probability vector. The Gaussian mixture probability vector may indicate which key's probability distribution belongs to which touch input coordinate, and how strong is in the probability distribution of each key. In the embodiment of FIG. 17A, the Gaussian mixture probability vector G_1 for the first touch input indicates that the probability that the touch input is L is the highest.
가우시안 혼합 확률 벡터에서 가장 값이 큰 키가 지시하는 글자가 GMM 추론 키코드(GMM-inferred keycode)가 될 수 있다. 가우시안 혼합 확률 벡터를 획득하는 방법은 도 1 내지 도 14에서 상술한 바와 같다. GMM 프로세싱을 터치 모델링이라고 지칭할 수도 있다.The letter indicated by the largest key in the Gaussian mixture probability vector may be a GMM-inferred keycode. A method of obtaining a Gaussian mixture probability vector is as described above with reference to FIGS. 1 to 14. GMM processing may be referred to as touch modeling.
(2) 예측 확률 벡터(P_n)를 획득(2) obtaining the predictive probability vector P_n
순환 신경망 모델은 시퀀스 모델이라고 지칭될 수 있다. 시퀀스 모델은 시간에 따른 터치 입력을 학습한 순환 신경망 모델에 해당할 수 있다. 학습된 순환 신경망 모델은 압축되어 어플리케이션 내에 삽입될 수 있으며, 이렇게 삽입된 순환 신경망 모델을 시퀀스 모델이라고 지칭할 수도 있다. 시퀀스 모델링을 언어 모델링이라고 지칭할 수도 있다.The cyclic neural network model may be referred to as a sequence model. The sequence model may correspond to a cyclic neural network model that learns a touch input over time. The trained cyclic neural network model may be compressed and inserted into an application, and the inserted cyclic neural network model may be referred to as a sequence model. Sequence modeling may also be referred to as language modeling.
시퀀스 모델은 선행 키에 대한 확률 벡터를 수신 및 모델링하여, 다음 입력될 키의 확률을 지시하는 예측(predicted) 확률 벡터를 출력할 수 있다. 시퀀스 모델 즉 순환 신경망은 앞의 키 매핑 값을 입력으로 수신하고, 앞 키의 연산에 대한 순환 웨이트를 반영하여 현재 키에 대한 예측 벡터를 출력할 수 있다.The sequence model may receive and model a probability vector for a preceding key and output a predicted probability vector indicating a probability of a next key to be input. The sequence model, that is, the cyclic neural network, may receive the previous key mapping value as an input and output a prediction vector for the current key by reflecting the cyclic weight of the operation of the preceding key.
도 17(b)의 실시예에서, 순환 신경망은 X_1의 터치 입력에 대한 확률 벡터(Q_1)을 수신하고, X_1 까지의 순환 신경망 프로세싱에 대한 순환 웨이트(Wr)를 적용하여, X_1에 대한 예측 확률 벡터인 P_2를 출력한다. 예측 확률 벡터 P_2는 X_1 입력에 기초한 X_2의 예측 값/확률을 지시한다. 도 17(b)에서, X_1 터치 입력을 순환 신경망 프로세싱한 예측 확률 벡터 P_2는, X_2 터치 입력이 "O"일 확률이 제일 높음을 나타낸다. In the embodiment of FIG. 17B, the cyclic neural network receives the probability vector Q_1 for the touch input of X_1 and applies the cyclic weight Wr for the cyclic neural network processing up to X_1, thereby predicting the probability for X_1. Outputs the vector, P_2. The predictive probability vector P_2 indicates the predicted value / probability of X_2 based on the X_1 input. In FIG. 17B, the predictive probability vector P_2 obtained by performing cyclic neural network processing of the X_1 touch input indicates that the probability that the X_2 touch input is “O” is highest.
(3) 최종 확률 벡터 획득 및 키 매핑(3) final probability vector acquisition and key mapping
본 발명은 선행 키 입력의 프로세싱 결과인 선행 최종 확률 벡터와 현재 키 입력에 대한 가우시안 혼합 확률 벡터를 사용하여, 현재 키 입력에 대한 최종 확률 벡터를 획득할 수 있다. 예를 들면, 도 17(c)에서, 디바이스는 제 2 터치 입력인 X_2에 대한 선행 키 입력의 프로세싱 결과인 선행 최종 확률 벡터 Q_2를 순환 신경망 프로세싱하여 예측 혼합 확률 벡터 P3를 획득한다. 그리고 디바이스는 제 3 터치 입력 X_3를 GMM 프로세싱한 결과인 가우시안 혼합 확률 벡터 G_3와 예측 혼합 확률 벡터 P_3를 사용하여 X_3에 대한 최종 확률 벡터 Q_3를 획득한다. 제 3 터치에 대한 최종 확률 벡터 Q_3에서, V가 가장 높은 확률값을 가지므로, 제 3 터치(X_3)는 V로 매핑된다.The present invention can obtain the final probability vector for the current key input by using the preceding final probability vector that is the processing result of the preceding key input and the Gaussian mixed probability vector for the current key input. For example, in FIG. 17C, the device performs cyclic neural network processing on the preceding final probability vector Q_2, which is a result of processing of the preceding key input for the second touch input X_2, to obtain a predicted mixed probability vector P3. The device obtains a final probability vector Q_3 for X_3 using a Gaussian mixed probability vector G_3 and a predicted mixed probability vector P_3 that are the result of GMM processing the third touch input X_3. In the final probability vector Q_3 for the third touch, since V has the highest probability value, the third touch X_3 is mapped to V.
본 발명은 가우시안 혼합 확률 벡터와 예측 확률 벡터를 합산함으로써 최종 확률 벡터를 획득한다. 합산 방법으로서, 전 키에 대한 예측 확률 벡터와 GMM 확률 벡터를 요소별 곱(element-wise product)하는 방법이 사용될 수 있으며, 각 요소별 가중치가 조정되거나 벡터들을 섬투원(sum-to-one), 표준화(normalize), 소프트닝(softening)과 같은 전처리를 거쳐 결과 값이 잘 추론될 수 있도록 조정될 수 있다.The present invention obtains the final probability vector by summing the Gaussian mixed probability vector and the predicted probability vector. As a summing method, an element-wise product of a predicted probability vector and a GMM probability vector for all keys may be used, and weights for each element may be adjusted or sum-to-one vectors may be used. Preprocessing, such as normalization and softening, can be adjusted to ensure that the resulting values are well deduced.
(4) 상태/스테이트(state) 리셋(4) state / state reset
도 17에서, 순환 신경망은 순환 가중치(W_r)로 지난 연산에 대한 정보를 피드백한다. 즉, 도 17(b)에서, Q1에 대한 신경망 프로세싱에 대한 정보가 W_r로서 Q_2의 신경망 프로세싱에 적용/반영된다. 다만, 본 발명에서 입력되는 시퀀스는 단어들의 집합으로, 시퀀스가 길어지고 순환 가중치가 계속 이어지면 오히려 예측의 정확도가 떨어질 수 있다. 또한, 시퀀스가 길어질 수록 어플리케이션의 속도가 저하될 수 있어, 순환 가중치를 전달하는 터치 시퀀스 수/길이를 제한할 수 있다. 실시예로서, 시퀀스 길이를 10개의 터치 입력으로 제한할 수도 있다.In FIG. 17, the cyclic neural network feeds back information on the last operation with the cyclic weight W_r. That is, in FIG. 17B, information on neural network processing for Q1 is applied / reflected to neural network processing of Q_2 as W_r. However, the sequence input in the present invention is a set of words. If the sequence is long and the cyclic weight continues, the prediction accuracy may be lowered. In addition, as the sequence lengthens, the speed of the application may be reduced, thereby limiting the number / length of touch sequences that transmit cyclic weights. In an embodiment, the sequence length may be limited to 10 touch inputs.
본 발명은 단어를 기반으로 다음 단어를 예측하므로, 스페이스바나 엔터와 같은 단어 입력의 종결을 인식하면, 순환 신경망의 상태를 리셋할 수 있다. 순환 신경망의 상태 리셋은, 앞의 키의 순환 신경망 프로세싱에 대한 가중치의 전달을 중단하는 것을 의미한다. 순환 신경망의 상태가 리셋되면, 순환 신경망은 선행 연산에 대한 가중치가 없이 현재 연산을 수행할 수 있다. 도 17(a)에서, 첫번째 터치 입력에 대해서 순환 신경망은 스테이트가 리셋된 상태에서 프로세싱을 시작한다. Since the present invention predicts the next word based on the word, upon recognizing the end of the word input such as the space bar or the enter, the state of the cyclic neural network can be reset. Resetting the state of the cyclic neural network means stopping the transfer of weights to the cyclic neural network processing of the preceding key. When the state of the cyclic neural network is reset, the cyclic neural network may perform the current operation without weighting the preceding operation. In Figure 17 (a), for the first touch input, the cyclic neural network starts processing with the state reset.
실시예로서, 스페이스바 입력이나, 백스페이스와 같은 삭제 입력을 수신한 경우에도, 본 발명은 순환 신경망의 스테이트를 리셋할 수 있다. 예를 들면, "love"를 입력하려고 하는 도중 "v" 대신 "b"를 입력한 경우, 사용자는 "l","o","b","<=(백스페이스)", "v", "o"의 순서로 터치 입력을 수행한다. 이 경우 본 발명은 "v"이후의 단어를 예측해야하므로, 백스페이스 입력의 경우는 상태 리셋을 수행하는 것이 타당하다.As an embodiment, even when a spacebar input or a deletion input such as a backspace is received, the present invention can reset the state of a cyclic neural network. For example, if you try to type "love" and type "b" instead of "v", the user will enter "l", "o", "b", "<= (backspace)", "v" , touch input is performed in the order of "o". In this case, since the present invention must predict words after "v", it is reasonable to perform a state reset in case of backspace input.
본 발명은 문장 또는 단어의 연속된 입력의 중단을 지시하는 사용자 입력을 인식한 경우, 순환 신경망의 상태를 리셋할 수 있다. 중단을 나타내는 사용자 입력으로는, 스페이스바나 엔터 입력 외에도, 다양한 비-문자 입력(예를 들면, ?, !, ", : 등과 같은 부호)을 포함할 수 있다. 또한, 단어 입력이 일정 시간 이상 중단된 경우에도, 본 발명은 순환 신경망의 상태를 리셋할 수 있다.The present invention can reset the state of the cyclic neural network when a user input indicative of interruption of continuous input of a sentence or a word is recognized. In addition to spacebar or enter input, user input indicating a break may include various non-character inputs (eg,?,!, ",:, Etc.) In addition, word input may be interrupted for more than a certain period of time. Even if it is, the present invention can reset the state of the circulatory neural network.
도 18은 본 발명의 실시예에 따른 가우시안 혼합 확률 정보와 예측 확률 정보를 나타낸다.18 illustrates Gaussian mixture probability information and prediction probability information according to an embodiment of the present invention.
도 18(a)는 터치 입력을 GMM 프로세싱한 가우시안 혼합 확률 벡터를 나타내고, 도 18(b)는 선행 터치 키를 순환 신경망 프로세싱한 예측 확률 벡터를 나타낸다.FIG. 18A illustrates a Gaussian mixture probability vector obtained by GMM processing a touch input, and FIG. 18B illustrates a predicted probability vector obtained by performing cyclic neural network processing of a preceding touch key.
GMM 프로세싱에 의한 확률 벡터 값은 원-핫 벡터와 같이 확률 값들이 특정 키들에 치우친다. 도 18(a)에서와 같이, 터치 입력에 대한 가우시안 혼합 분포는 터치 입력이 위치한 키 및 그 주변의 키들에 대해 높은 확률값을 나타내고, 그 외의 키들에 대해서는 매우 낮은 확률값을 나타낸다. 그러나 도 18(b)에서와 같이, 시퀀스 모델을 통해 획득된 예측 확률 벡터는 확률값의 분포가 더 완만한 특징을 갖는다. 따라서, 가우시안 혼합 확률 벡터와 예측 확률 벡터를 곱하면 가우시안 혼합 확률 벡터의 특징만을 반영하는 결과가 획득될 수도 있다. 따라서 성능 개선을 위해 벡터 값들을 조정하는 과정이 수행될 수 있다.Probability vector values by GMM processing are like the one-hot vector, the probability values are biased to specific keys. As shown in FIG. 18A, the Gaussian mixture distribution for the touch input shows a high probability value for the key in which the touch input is located and the surrounding keys, and a very low probability value for the other keys. However, as shown in FIG. 18B, the prediction probability vector obtained through the sequence model has a more gentle distribution of probability values. Therefore, multiplying the Gaussian mixture probability vector by the prediction probability vector may result in a result reflecting only the characteristics of the Gaussian mixture probability vector. Therefore, a process of adjusting vector values may be performed to improve performance.
실시예로서, 본 발명은 GMM 프로세싱의 결과인 가우시안 혼합 확률 벡터 값을 스무딩(smoothing)할 수 있다. 스무딩은 각 키들에 해당하는 확률값들의 차이가 줄어들도록 조정하는 것을 의미한다. 이를 위해, 본 발명은 벡터 값에 소프트맥스(softmax) 함수를 적용하거나, 소프트 맥스 함수에 스무딩 팩터를 추가하고, 스무딩 팩터를 조정할 수 있다. 이러한 스무딩 과정은 아래의 수학식 1과 같이 표현될 수 있다.As an embodiment, the present invention may smooth the Gaussian mixed probability vector value that is the result of GMM processing. Smoothing means adjusting so that the difference between probability values corresponding to each key is reduced. To this end, the present invention may apply a softmax function to the vector value, add a smoothing factor to the softmax function, and adjust the smoothing factor. This smoothing process may be expressed as
수학식 1에서, T가 스무딩 팩터에 해당할 수 있으며, T 값을 조정함에 따라서 GMM 예측 값의 가중치가 조정될 수 있다.In
다른 실시예로서, 가우시안 혼합 확률 벡터 또는 예측 확률 벡터 중 적어도 하나에 대해 가중치가 부여될 수 있다. 예를 들면, 본 발명은 가우시안 혼합 확률 벡터에 양수인 a를 곱하고, 예측 확률 벡터에 양수인 b를 곱한 후 이 두 벡터를 엘레먼트와이즈로 곱하여 최종 확률 벡터를 획득할 수 있다. a=b=1이면 가중치가 부여되지 않는다. In another embodiment, weights may be assigned to at least one of a Gaussian mixed probability vector or a predicted probability vector. For example, the present invention may obtain a final probability vector by multiplying a Gaussian mixture probability vector by a positive number, multiplying the prediction probability vector by a positive number b, and then multiplying the two vectors by elementwise. If a = b = 1, no weight is assigned.
다른 실시예로서, 본 발명은 가우시안 혼합 확률 벡터 값을 스케일링을 통해 스무딩하고, 스무딩된 혼합 가우시안 혼합 확률 벡터 및 예측 확률 벡터 중 적어도 하나의 벡터에 가중치를 부여하는 방식으로 최적화를 수행할 수도 있다.In another embodiment, the present invention may perform optimization by smoothing the Gaussian mixture probability vector value through scaling and weighting at least one of the smoothed mixed Gaussian mixture probability vector and the prediction probability vector.
상술한 설명에 추가로, 터치 입력에 대한 인식 오류를 줄이기 위해, 아래와 같은 추가적인 프로세싱이 수행될 수 있다.In addition to the above description, in order to reduce the recognition error for the touch input, the following additional processing may be performed.
1. 마하라노비스 거리(Mahalanobis Distance)를 사용한 제어1.Control using the Mahalanobis Distance
마하라노비스 거리는 특정 데이터 포인트와 확률 분포 간의 거리를 나타내는 메트릭(metric)이다. 마하라노비스 거리는 특정 데이터 포인트(P)가 특정 확률 분포(D)의 평균 값으로부터 표준 편차의 몇 배만큼 떨어져 있는지를 나타낼 수 있다. 상술한 GMM 프로세싱과 순환 신경망 모델링을 적용하는 경우, 추론 결과인 확률 벡터 값 각각에 대해 마하라노비스 거리를 산출할 수 있다. 산출된 거리 값이 너무 크면, 결과로 나온 확률 벡터는 모델의 평균으로부터 너무 멀리 떨어져 있으므로, 모델의 예측 값이 정확하지 않을 확률이 높다고 볼 수 있다. 따라서 이러한 경우 예측 값을 사용하지 않고 이전 값으로 회귀하는 방법이 사용될 수 있다.The Mahalanobis distance is a metric representing the distance between a particular data point and a probability distribution. The Mahalanobis distance may indicate how many times the standard data point P is a standard deviation from the mean value of the particular probability distribution D. When the above-described GMM processing and cyclic neural network modeling are applied, the Mahalanobis distance can be calculated for each probability vector value as a result of inference. If the calculated distance value is too large, the resulting probability vector is too far from the model's mean, so it can be considered that the predicted value of the model is not accurate. Therefore, in this case, a method of returning to the previous value without using the predicted value may be used.
2. GMM 프로세싱의 연산을 줄이는 방법2. How to reduce the operation of GMM processing
소프트 키보드 인터페이스는 특정 시간 내에 대상 캐릭터가 화면에 나타나지 않으면 사용자가 매우 크게 불편을 느끼는 특성(hard real-time application의 특징)을 갖는다. 따라서 키보드 추론 과정에는 계산을 줄이기 위한 여러 구현상의 기술이 추가로 사용될 수 있다. 이 중 하나로서, GMM 프로세싱을 통한 예측 확률 벡터를 산출하는 연산의 양을 저감시키는 방법이 사용될 수 있다.The soft keyboard interface has a characteristic (a characteristic of a hard real-time application) that the user is very uncomfortable if the target character does not appear on the screen within a certain time. Therefore, several implementation techniques can be used in the keyboard reasoning process to reduce computation. As one of these, a method of reducing the amount of computation that yields a predictive probability vector through GMM processing may be used.
GMM 프로세싱의 경우, 사용자가 입력하고자 하는 키는 사용자 입력 좌표에 해당하는 키의 근처에 위치할 것이다. 따라서 사용자 입력 좌표에 인접하지 않은 키를 최종 매핑하는 것은 오히려 사용자 입력을 잘못 매핑한 결과일 확률이 내우 높다. 또한, 키 입력에 대한 GMM 모델링을 하는 경우, 입력 좌표 주변의 키 외의 다른 키들에 대해서는 확률값이 매우 낮게 나온다. 따라서, 혼합 가우시안 모델링 및 예측값을 처리하는 과정에서, 사용자 입력 좌표에 인접한 키들에 대한 확률값들에 대해서만 연산을 수행하여, 전체 연산량을 줄이고 연산 속도를 향상시킬 수 있다. 본 발명의 실시예에서, 사용자 입력 좌표에 인접한 키들 그 외의 키들에 대해서는 확률값이 0으로 조정될 수 있다.In the case of GMM processing, the key that the user wishes to enter will be located near the key corresponding to the user input coordinate. Therefore, the final mapping of non-adjacent keys to user input coordinates is very likely a result of incorrect mapping of user input. In addition, when GMM modeling for a key input, the probability value is very low for keys other than the key around the input coordinate. Therefore, in the process of processing the mixed Gaussian modeling and the predicted value, the operation may be performed only on the probability values for the keys adjacent to the user input coordinates, thereby reducing the total amount of computation and improving the computation speed. In an embodiment of the present invention, the probability value may be adjusted to 0 for keys other than the keys adjacent to the user input coordinates.
3. 예측값 벡터의 보정3. Correction of predictive vector
상술한 실시예들에서, 가우시안 혼합 확률 벡터와 예측 확률 벡터를 합산한 결과인 최종 확률 벡터, 최종 확률 벡터에 포함된 각 키들에 대한 확률들의 합은 1이 보장되지 않을 수 있다. 따라서, 최종 확률 벡터의 요소들의 합이 1이 되도록 각 요소에 일정 비율을 곱해주는 연산이 추가로 수행될 수 있다. 본 발명에서, 최종 확률 벡터값은 다음 키 입력에 대한 순환 신경망 입력으로 사용될 수 있다. 예측값 벡터의 요소의 합이 1이 되도록 보정되었기 때문에, 본 발명의 순환 신경망은 더 정확한 결과를 출력할 수 있게 된다.In the above-described embodiments, the sum of the probabilities for each key included in the final probability vector and the final probability vector, which is the result of adding the Gaussian mixed probability vector and the predicted probability vector, may not be guaranteed. Therefore, an operation of multiplying each element by a predetermined ratio may be further performed such that the sum of the elements of the final probability vector is one. In the present invention, the final probability vector value can be used as a cyclic neural network input for the next key input. Since the sum of the elements of the predictive vector is corrected to be 1, the cyclic neural network of the present invention can output a more accurate result.
4. 순환 신경망 모델링 결과의 보정4. Correction of cyclic neural modeling results
가우시안 분포에 기반한 GMM 확률 벡터와 달리, 예측 확률 벡터는 다음에 입력될 글자들에 대한 확률 분포를 나타내므로 각 글자의 확률 값들의 차이가 그리 크지 않다. 따라서, 본 발명에서는 시퀀스 모델이 추론한 결과에 대해, 상위 특정 수의 키에 대한 확률값만을 유지하고, 나머지 키들에 대한 확률은 평균 값으로 조정할 수 있다. 추론 값을 조정하는 이유는 시퀀스 모델에서 높은 확률로 추론한 키의 영향력은 유지하면서, 가우시안 분포의 확률이 높은 키가 시퀀스 모델의 예측 값에 의해 지나치게 합산 값이 줄어 들어, 키보드의 구조적 특성이 무시당하는 결과를 방지하기 위함이다.Unlike the GMM probability vector based on the Gaussian distribution, the predictive probability vector represents the probability distribution for the next letters to be input, so the difference between the probability values of each letter is not very large. Therefore, in the present invention, only the probability value for the upper specific number of keys can be maintained for the result inferred by the sequence model, and the probability for the remaining keys can be adjusted to an average value. The reason for adjusting the inference value is that the key with high probability in the sequence model is maintained, while the key with high probability of Gaussian distribution is too summed by the predicted value of the sequence model, so that the structural characteristics of the keyboard are ignored. To prevent the consequences.
도 19는 본 발명의 실시예에 따른 터치 입력 프로세싱 디바이스를 나타낸다.19 illustrates a touch input processing device according to an embodiment of the invention.
도 19에서, 터치 입력 프로세싱 디바이스(19000)는 디스플레이 유닛(19010), 통신 유닛(19020), 프로세싱 유닛(19030), 센서 유닛(19040) 및 메모리 유닛(19050)을 포함할 수 있다. 도 19에서 점선으로 표시한 바와 같이, 디스플레이 유닛(19010), 통신 유닛(19020) 및 센서 유닛(19040)은 선택적으로 포함될 수 있다. 터치 입력 프로세싱 장치(19000)는 내부/외부 연결된 디스플레이 유닛(19010), 센서 유닛(19040), 및 통신 유닛(19020)를 사용하여 본 발명의 동작을 수행할 수도 있다.In FIG. 19, the touch
디스플레이 유닛(19010)은 디스플레이 화면에 비주얼 정보를 디스플레이할 수 있다. 여기서 비주얼 정보란, 디스플레이 유닛(19010)에 의해 디스플레이될 수 있는 정지 화상, 동영상, 애플리케이션 실행 화면, 다양한 인터페이스 또는 이들을 포함하는 다양한 시각적으로 표현 가능한 정보를 나타낼 수 있다. 디스플레이 유닛(19010)은 프로세싱 유닛(19030)의 제어 명령에 기초하여 다양한 비주얼 정보를 디스플레이 화면에 출력할 수 있다. 특히, 본 발명의 디스플레이 유닛(19010)은 도 1과 같이 소프트 키보드 인터페이스를 디스플레이하고, 그 외 본 발명의 실시예에 따른 GUI 들을 디스플레이할 수 있다.The
통신 유닛(19020)은 디바이스의 외부 기기와 유선 통신 또는 무선 통신을 수행할 수 있다. 통신 유닛(19020)은 디바이스의 구성에 따라서 구비되지 않거나, 복수의 통신 칩셋들로 구성될 수도 있다. 통신 유닛(19030)은 3G, 4G(LTE), 5G, WIFI, 블루투스, NFC 등 다양한 통신 프로토콜로 통신을 수행할 수 있다.The
센서 유닛(19040)은 디바이스에 장착된 적어도 하나의 센서를 사용하여 사용자 입력 또는 디바이스의 환경을 센싱할 수 있다. 실시예로서, 적어도 하나의 센서는 터치 센서, 지문 센서, 모션 센서, 압력 센서, 카메라(이미지) 센서, 기울기 센서, 자이로 센서, 자이로스코프 센서, 각속도 센서, 조도 센서, 및 각도 센서 등의 다양한 센서를 포함할 수 있다. 상술한 센서들은 별도의 엘리먼트로 디바이스에 포함되거나, 적어도 하나 이상의 엘레먼트로 통합되어 디바이스에 포함될 수 있다. 특히 본 발명의 센서 유닛(19040)은 디스플레이 유닛(19010)에 대한 터치 입력을 센싱할 수 있는 터치 센서를 포함한다. 터치 센서는 터치 입력을 센싱하여 좌표 값과 같은 약속된 형태의 데이터를 프로세싱 유닛(19030)으로 전송할 수 있다. 여기서 터치 입력이란, 디스플레이 유닛(19010)에 대한 접촉 및 비접촉 터치 입력(예를 들어, 호버링 입력)을 모두 포함한다. 또한, 터치 입력은 사용자의 신체 일부로 디스플레이 유닛(19010)을 직접 접촉 또는 비접촉하는 입력뿐만 아니라, 터치 입력 수단(예를 들어, 스타일러스 펜, 터치 펜)을 이용하여 디스플레이 유닛(19010)을 접촉 또는 비접촉하는 터치 입력을 모두 포함한다.The
메모리 유닛(19050)은 다양한 정보를 포함하는 데이터를 저장할 수 있다. 메모리 유닛(19050)은 휘발성 및 비휘발성 메모리를 통칭한다. 본 발명에서 메모리 유닛(19050)은 수신한 터치 입력 데이터를 저장할 수 있다. 또한, 본 발명에서 메모리 유닛은 상술한 본 발명의 방법을 구동하는 애플리케이션/소프트웨어를 저장할 수 있다.The
프로세싱 유닛(19030)은 디바이스에 포함된 적어도 하나의 다른 유닛을 제어할 수 있다. 컨트롤 유닛(19030)은 디바이스 내부의 데이터를 프로세싱할 수 있다. 또한, 컨트롤 유닛(19030)은 디텍트한 사용자 입력에 기초하여 디바이스에 포함된 적어도 하나의 유닛을 제어할 수 있다. 프로세싱 유닛(19030)은 본 발명의 방법을 수행하기 위한 애플리케이션/소프트웨어를 구동함으로써, 본 발명의 방법을 실시할 수 있다.The
도 20은 본 발명의 실시예에 따른 터치 입력 프로세싱 방법을 나타낸다.20 illustrates a touch input processing method according to an embodiment of the present invention.
디바이스는 키보드 인터페이스에 대한 터치 입력을 수신한다(S20010). 터치 입력은 터치 좌표를 포함할 수 있다. 키보드 인터페이스는 복수의 키들을 포함한다.The device receives a touch input for a keyboard interface (S20010). The touch input may include touch coordinates. The keyboard interface includes a plurality of keys.
디바이스는 터치 입력에 대한 가우시안 혼합 확률 정보를 획득한다(S20020). 가우시안 혼합 확률 정보는 가우시한 혼합 확률 벡터에 해당할 수 있다. 가우시안 혼합 확률 정보는 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하여 생성된다. 즉 도 1 내지 조 11 및 도 13~14에서 설명한 바와 같이, 디바이스는 복수의 터치 입력들을 GMM 모델링하고, GMM 모델로부터 특정 좌표에 대한 가우시안 혼합 확률 정보를 획득할 수 있다. 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 과정은 상술한 바와 같이 GMM 프로세싱으로 지칭될 수도 있다.The device obtains Gaussian mixture probability information on the touch input (S20020). The Gaussian mixture probability information may correspond to a Gaussian mixture probability vector. Gaussian mixture probability information is generated based on Gaussian mixture models for a plurality of pre-processed touch inputs. That is, as described with reference to FIGS. 1 to 11 and 13 to 14, the device may model GMMs of a plurality of touch inputs and obtain Gaussian mixture probability information about specific coordinates from the GMM model. The process of obtaining Gaussian mixture probability information on the touch input may be referred to as GMM processing as described above.
디바이스의 터치 입력에 대한 가우시안 혼합 확률 정보의 획득은, 키 영역 각각에 대한 가우시안 모델을 생성하는 단계, 키 인터페이스의 복수의 키 영역들에 대한 가우시안 혼합 모델을 생성하는 단계, 및 상기 가우시안 혼합 모델로부터 상기 터치 입력에 대한 상기 가우시안 혼합 확률 정보를 획득하는 단계를 더 포함할 수 있다. 이는 도 11과 관련하여 설명한 터치 입력 프로세싱 방법에서, 최종 키 매핑 값 대신 확률 벡터를 생성함으로써 수행될 수 있다.Acquiring Gaussian mixture probability information for a touch input of a device comprises: generating a Gaussian model for each of the key regions, generating a Gaussian mixture model for the plurality of key regions of the key interface, and from the Gaussian mixture model The method may further include obtaining the Gaussian mixture probability information on the touch input. This may be performed by generating a probability vector instead of the final key mapping value in the touch input processing method described with reference to FIG. 11.
디바이스는 선행 터치 입력에 기초하는 예측 확률 정보를 획득할 수 있다(S22030). 예측 확률 정보는 예측 확률 벡터에 해당할 수 있다. 예측 확률 정보는 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타낸다. 예측 확률 정보의 획득은, 수신 터치 입력의 선행 터치 입력이 존재하는 경우, 선행 터치 입력에 대한 최종 확률 정보를 순환 신경망 프로세싱함으로써 예측 확률 정보를 출력함으로써 수행될 수 있다. 순환 신경망은 선행 순환 신경망 프로세싱에 대한 정보를 순환 가중치를 통해 전달한다. 순환 신경망은 시간 순서에 따른 터치 입력 시퀀스를 학습한 신경망 모델이다. 순환 가중치는 터치 입력 시퀀스의 특정 수, 단어 단위, 또는 특정 사용자 입력에 기초하여 리셋될 수 있다.The device may acquire prediction probability information based on the preceding touch input (S22030). The prediction probability information may correspond to the prediction probability vector. The prediction probability information indicates a key input probability for the current touch input predicted by the preceding touch input. The acquisition of the predictive probability information may be performed by outputting the predictive probability information by performing cyclic neural network processing on the final probability information on the preceding touch input when the preceding touch input of the received touch input exists. The cyclic neural network conveys information about the preceding cyclic neural network processing through cyclic weights. The cyclic neural network is a neural network model that learns a touch input sequence according to a time sequence. The cyclic weight may be reset based on a specific number of touch input sequences, word units, or specific user input.
디바이스는 가우시안 혼합 확률 정보 및 예측 확률 정보를 사용하여 터치 입력을 키 값으로 매핑할 수 있다(S22040). 디바이스의 키 매핑은, 가우시안 혼합 확률 정보 및 예측 정보를 사용하여 최종 확률 정보를 획득하는 단계 및 최종 확률 정보에 기초하여 터치 입력을 키 값으로 매핑하는 단계를 포함할 수 있다. 최종 확률 정보는 최종 확률 벡터에 해당하며, 최종 확률 벡터에서 가장 높은 확률을 갖는 키 값으로 터치 입력이 매핑될 수 있다. 최종 확률 정보의 획득은, 가우시안 혼합 확률 정보에 대항하는 확률 벡터와 예측 확률 정보에 해당하는 확률 벡터를 요소별곱(element-wise product)함으로써 수행될 수 있다. 가우시안 혼합 확률 벡터 또는 예측 확률 벡터 중 적어도 하나는 가중치가 적용될 수 있다. 가우시안 혼합 확률 정보 또는 예측 확률 정보는 터치 입력에 인접한 적어도 하나의 키에 대한 확률만을 사용하도록 조정될 수도 있다.The device may map the touch input to the key value using the Gaussian mixture probability information and the prediction probability information (S22040). The key mapping of the device may include obtaining final probability information using Gaussian mixed probability information and prediction information, and mapping a touch input to a key value based on the final probability information. The final probability information corresponds to a final probability vector, and the touch input may be mapped to a key value having the highest probability in the final probability vector. Acquisition of the final probability information may be performed by element-wise product of the probability vector corresponding to the Gaussian mixture probability information and the probability vector corresponding to the prediction probability information. At least one of the Gaussian mixed probability vector or the predicted probability vector may be weighted. Gaussian mixture probability information or prediction probability information may be adjusted to use only the probabilities for at least one key adjacent to the touch input.
GMM 프로세싱은 GMM 모델링에 의해 획득된 가우시안 혼합 확률 분포에 터치 입력을 적용하여 수행된다. GMM processing is performed by applying a touch input to a Gaussian mixture probability distribution obtained by GMM modeling.
19000: 터치 입력 프로세싱 디바이스
19010: 디스플레이 유닛
19020: 통신 유닛
19030: 프로세싱 유닛
19040: 센서 유닛
19050: 메모리 유닛19000: touch input processing device
19010: display unit
19020: communication unit
19030: Processing Unit
19040: sensor unit
19050 memory units
Claims (16)
복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하는 단계;
상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 단계;
상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하는 단계; 및
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계를 포함하고,
상기 가우시안 혼합 확률 정보는, 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하는, 적어도 하나의 키에 대한 상기 터치 입력의 매핑 확률을 나타내고,
상기 예측 확률 정보는, 상기 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타내고,
상기 예측 확률 정보를 획득하는 단계는,
상기 터치 입력의 선행 터치 입력이 존재하는 경우, 상기 선행 터치 입력에 대한 제 2 최종 확률 정보를 순환 신경망 프로세싱함으로써 상기 예측 확률 정보를 출력하는 단계를 더 포함하는, 터치 입력 프로세싱 방법.In the touch input processing method for the displayed keyboard interface,
Receiving a touch input for the keyboard interface including a plurality of keys;
Obtaining Gaussian mixture probability information for the touch input;
Obtaining prediction probability information based on a preceding touch input of the touch input; And
Mapping the touch input to a key value using the Gaussian mixture probability information and the prediction probability information;
The Gaussian mixture probability information indicates a mapping probability of the touch input to at least one key based on a Gaussian mixture model for the plurality of pre-processed touch inputs,
The prediction probability information indicates a key input probability for the current touch input predicted by the preceding touch input,
Obtaining the prediction probability information,
And if the preceding touch input of the touch input is present, outputting the predicted probability information by cyclic neural network processing of the second final probability information for the preceding touch input.
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계는,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하는 단계; 및
상기 제 1 최종 확률 정보에 기초하여 상기 터치 입력을 상기 키 값으로 매핑하는 단계를 포함하는, 터치 입력 프로세싱 방법.The method of claim 1,
The mapping of the touch input to a key value using the Gaussian mixture probability information and the prediction probability information may include:
Obtaining first final probability information using the Gaussian mixture probability information and the prediction probability information; And
And mapping the touch input to the key value based on the first final probability information.
상기 순환 신경망은 선행 순환 신경망 프로세싱에 대한 정보를 순환 가중치를 통해 전달하고,
상기 순환 신경망은 시간 순서에 따른 터치 입력 시퀀스를 학습한 신경망 모델인, 터치 입력 프로세싱 방법.The method of claim 1,
The cyclic neural network delivers information on the preceding cyclic neural network processing through cyclic weights,
The cyclic neural network is a neural network model that learns a touch input sequence in a time sequence.
상기 순환 가중치는 터치 입력 시퀀스의 특정 수, 단어 단위, 또는 특정 사용자 입력에 기초하여 리셋되는, 터치 입력 프로세싱 방법.The method of claim 3, wherein
Wherein the cyclic weight is reset based on a specific number of touch input sequences, word units, or a specific user input.
복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하는 단계;
상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 단계;
상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하는 단계; 및
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계를 포함하고,
상기 가우시안 혼합 확률 정보는, 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하는, 적어도 하나의 키에 대한 상기 터치 입력의 매핑 확률을 나타내고,
상기 예측 확률 정보는, 상기 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타내고,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하는 단계는,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하는 단계; 및
상기 제 1 최종 확률 정보에 기초하여 상기 터치 입력을 상기 키 값으로 매핑하는 단계를 포함하고,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하는 단계는,
상기 가우시안 혼합 확률 정보에 해당하는 제 1 확률 벡터 및 상기 예측 확률 정보에 해당하는 제 2 확률 벡터를 요소별곱(element-wise product) 함으로써 수행되는, 터치 입력 프로세싱 방법.In the touch input processing method for the displayed keyboard interface,
Receiving a touch input for the keyboard interface including a plurality of keys;
Obtaining Gaussian mixture probability information for the touch input;
Obtaining prediction probability information based on a preceding touch input of the touch input; And
Mapping the touch input to a key value using the Gaussian mixture probability information and the prediction probability information;
The Gaussian mixture probability information indicates a mapping probability of the touch input to at least one key based on a Gaussian mixture model for the plurality of pre-processed touch inputs,
The prediction probability information indicates a key input probability for the current touch input predicted by the preceding touch input,
The mapping of the touch input to a key value using the Gaussian mixture probability information and the prediction probability information may include:
Obtaining first final probability information using the Gaussian mixture probability information and the prediction probability information; And
Mapping the touch input to the key value based on the first final probability information,
Acquiring first final probability information by using the Gaussian mixed probability information and the prediction probability information,
And an element-wise product of a first probability vector corresponding to the Gaussian mixed probability information and a second probability vector corresponding to the prediction probability information.
상기 제 1 확률 벡터 및 상기 제 2 확률 벡터 중 적어도 하나는 가중치가 적용되는, 터치 입력 프로세싱 방법.The method of claim 5, wherein
And at least one of the first probability vector and the second probability vector is weighted.
상기 가우시안 혼합 확률 정보 또는 상기 예측 확률 정보는 상기 터치 입력에 인접한 적어도 하나의 키에 대한 확률만을 사용하도록 조정되는, 터치 입력 프로세싱 방법.The method of claim 1,
Wherein the Gaussian mixture probability information or the prediction probability information is adjusted to use only a probability for at least one key adjacent to the touch input.
상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하는 단계는,
키 영역 각각에 대한 가우시안 모델을 생성하는 단계;
키 인터페이스의 복수의 키 영역들에 대한 가우시안 혼합 모델을 생성하는 단계; 및
상기 가우시안 혼합 모델로부터 상기 터치 입력에 대한 상기 가우시안 혼합 확률 정보를 획득하는 단계를 더 포함하는, 터치 입력 프로세싱 방법.The method of claim 1,
Acquiring Gaussian mixture probability information on the touch input includes:
Generating a Gaussian model for each key region;
Generating a Gaussian mixture model for the plurality of key regions of the key interface; And
Obtaining the Gaussian mixture probability information for the touch input from the Gaussian mixture model.
상기 애플리케이션을 구동하여 상기 터치 입력을 프로세싱하는 프로세싱 유닛을 포함하는 터치 입력 프로세싱 디바이스로서,
상기 프로세싱 유닛은,
복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하고,
상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하고,
상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하고,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하며,
상기 가우시안 혼합 확률 정보는, 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하는, 적어도 하나의 키에 대한 상기 터치 입력의 매핑 확률을 나타내고,
상기 예측 확률 정보는, 상기 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타내고,
상기 예측 확률 정보의 획득은,
상기 터치 입력의 선행 터치 입력이 존재하는 경우, 상기 선행 터치 입력에 대한 제 2 최종 확률 정보를 순환 신경망 프로세싱함으로써 상기 예측 확률 정보를 출력함으로써 수행되는, 터치 입력 프로세싱 디바이스.A memory unit that stores touch input data for an application that processes touch input and a displayed keyboard interface; And
A touch input processing device comprising a processing unit for driving the application to process the touch input,
The processing unit,
Receive a touch input to the keyboard interface including a plurality of keys,
Obtaining Gaussian mixture probability information on the touch input,
Obtaining prediction probability information based on a preceding touch input of the touch input,
The touch input is mapped to a key value by using the Gaussian mixture probability information and the prediction probability information.
The Gaussian mixture probability information indicates a mapping probability of the touch input to at least one key based on a Gaussian mixture model for the plurality of pre-processed touch inputs,
The prediction probability information indicates a key input probability for the current touch input predicted by the preceding touch input,
Acquiring the prediction probability information,
And if there is a preceding touch input of the touch input, performing the output of the predicted probability information by cyclic neural network processing of the second final probability information for the preceding touch input.
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용한 상기 터치 입력을 키 값으로의 매핑은,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하고,
상기 제 1 최종 확률 정보에 기초하여 상기 터치 입력을 상기 키 값으로 매핑함으로써 수행되는, 터치 입력 프로세싱 디바이스.The method of claim 9,
The mapping of the touch input to a key value using the Gaussian mixed probability information and the predicted probability information is
Obtain first final probability information using the Gaussian mixture probability information and the prediction probability information,
And mapping the touch input to the key value based on the first final probability information.
상기 순환 신경망은 선행 순환 신경망 프로세싱에 대한 정보를 순환 가중치를 통해 전달하고,
상기 순환 신경망은 시간 순서에 따른 터치 입력 시퀀스를 학습한 신경망 모델인, 터치 입력 프로세싱 디바이스.The method of claim 9,
The cyclic neural network delivers information on the preceding cyclic neural network processing through cyclic weights,
Wherein the cyclic neural network is a neural network model that has learned a touch input sequence in time order.
상기 순환 가중치는 터치 입력 시퀀스의 특정 수, 단어 단위, 또는 특정 사용자 입력에 기초하여 리셋되는, 터치 입력 프로세싱 디바이스.The method of claim 11,
And the cyclic weight is reset based on a specific number of touch input sequences, word units, or specific user input.
상기 애플리케이션을 구동하여 상기 터치 입력을 프로세싱하는 프로세싱 유닛을 포함하는 터치 입력 프로세싱 디바이스로서,
상기 프로세싱 유닛은,
복수의 키들을 포함하는 상기 키보드 인터페이스에 대한 터치 입력을 수신하고,
상기 터치 입력에 대한 가우시안 혼합 확률 정보를 획득하고,
상기 터치 입력의 선행 터치 입력에 기초하는 예측 확률 정보를 획득하고,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 상기 터치 입력을 키 값으로 매핑하며,
상기 가우시안 혼합 확률 정보는, 사전-프로세싱된 복수의 터치 입력에 대한 가우시안 혼합 모델에 기초하는, 적어도 하나의 키에 대한 상기 터치 입력의 매핑 확률을 나타내고,
상기 예측 확률 정보는, 상기 선행 터치 입력에 의해 예측되는 현재 터치 입력에 대한 키 입력 확률을 나타내고,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용한 상기 터치 입력을 키 값으로의 매핑은,
상기 가우시안 혼합 확률 정보 및 상기 예측 확률 정보를 사용하여 제 1 최종 확률 정보를 획득하고,
상기 제 1 최종 확률 정보에 기초하여 상기 터치 입력을 상기 키 값으로 매핑함으로써 수행되고,
상기 제 1 최종 확률 정보의 획득은,
상기 가우시안 혼합 확률 정보에 해당하는 제 1 확률 벡터 및 상기 예측 확률 정보에 해당하는 제 2 확률 벡터를 요소별곱(element-wise product) 함으로써 수행되는, 터치 입력 프로세싱 디바이스.A memory unit that stores touch input data for an application that processes touch input and a displayed keyboard interface; And
A touch input processing device comprising a processing unit for driving the application to process the touch input,
The processing unit,
Receive a touch input to the keyboard interface including a plurality of keys,
Obtaining Gaussian mixture probability information on the touch input,
Obtaining prediction probability information based on a preceding touch input of the touch input,
The touch input is mapped to a key value by using the Gaussian mixture probability information and the prediction probability information.
The Gaussian mixture probability information indicates a mapping probability of the touch input to at least one key based on a Gaussian mixture model for the plurality of pre-processed touch inputs,
The prediction probability information indicates a key input probability for the current touch input predicted by the preceding touch input,
The mapping of the touch input to a key value using the Gaussian mixed probability information and the predicted probability information is
Obtain first final probability information using the Gaussian mixture probability information and the prediction probability information,
Is performed by mapping the touch input to the key value based on the first final probability information,
Acquiring the first final probability information,
And an element-wise product of a first probability vector corresponding to the Gaussian mixed probability information and a second probability vector corresponding to the prediction probability information.
상기 제 1 확률 벡터 및 상기 제 2 확률 벡터 중 적어도 하나는 가중치가 적용되는, 터치 입력 프로세싱 디바이스.The method of claim 13,
And at least one of the first probability vector and the second probability vector is weighted.
상기 가우시안 혼합 확률 정보 또는 상기 예측 확률 정보는 상기 터치 입력에 인접한 적어도 하나의 키에 대한 확률만을 사용하도록 조정되는, 터치 입력 프로세싱 디바이스.The method of claim 9,
Wherein the Gaussian mixed probability information or the predicted probability information is adjusted to use only a probability for at least one key adjacent to the touch input.
상기 터치 입력에 대한 가우시안 혼합 확률 정보의 획득은,
키 영역 각각에 대한 가우시안 모델을 생성하고, 키 인터페이스의 복수의 키 영역들에 대한 가우시안 혼합 모델을 생성하고, 상기 가우시안 혼합 모델로부터 상기 터치 입력에 대한 상기 가우시안 혼합 확률 정보를 획득함으로써 수행되는, 터치 입력 프로세싱 디바이스.The method of claim 9,
Acquisition of Gaussian mixture probability information on the touch input includes:
A touch performed by generating a Gaussian model for each of the key regions, generating a Gaussian mixture model for the plurality of key regions of the key interface, and obtaining the Gaussian mixture probability information for the touch input from the Gaussian mixture model. Input processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180007945A KR102079985B1 (en) | 2018-01-22 | 2018-01-22 | Method And Device For Processing Touch Input |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180007945A KR102079985B1 (en) | 2018-01-22 | 2018-01-22 | Method And Device For Processing Touch Input |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190089446A KR20190089446A (en) | 2019-07-31 |
KR102079985B1 true KR102079985B1 (en) | 2020-02-21 |
Family
ID=67474210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180007945A KR102079985B1 (en) | 2018-01-22 | 2018-01-22 | Method And Device For Processing Touch Input |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102079985B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720247B2 (en) | 2021-06-28 | 2023-08-08 | Samsung Display Co., Ltd. | Foldable display device providing virtual keyboard and method of driving the same |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102355890B1 (en) * | 2019-11-28 | 2022-01-27 | 한국과학기술원 | Decoder Architecture, Operation Method Thereof, and Virtual Keyboard Using Decoder |
KR20220004894A (en) * | 2020-07-03 | 2022-01-12 | 삼성전자주식회사 | Device and method for reducing display output latency |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009252076A (en) * | 2008-04-09 | 2009-10-29 | Casio Comput Co Ltd | Character input device |
JP2012248153A (en) | 2011-05-31 | 2012-12-13 | Kddi Corp | Character input device and program |
KR101653167B1 (en) * | 2015-06-22 | 2016-09-09 | 주식회사 노타 | Apparatus and method for interfacing key input |
KR101808377B1 (en) | 2011-09-12 | 2017-12-12 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Soft keyboard interface |
-
2018
- 2018-01-22 KR KR1020180007945A patent/KR102079985B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009252076A (en) * | 2008-04-09 | 2009-10-29 | Casio Comput Co Ltd | Character input device |
JP2012248153A (en) | 2011-05-31 | 2012-12-13 | Kddi Corp | Character input device and program |
KR101808377B1 (en) | 2011-09-12 | 2017-12-12 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Soft keyboard interface |
KR101653167B1 (en) * | 2015-06-22 | 2016-09-09 | 주식회사 노타 | Apparatus and method for interfacing key input |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720247B2 (en) | 2021-06-28 | 2023-08-08 | Samsung Display Co., Ltd. | Foldable display device providing virtual keyboard and method of driving the same |
Also Published As
Publication number | Publication date |
---|---|
KR20190089446A (en) | 2019-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755137B2 (en) | Gesture recognition devices and methods | |
CN111766948B (en) | Gesture prediction using recurrent neural networks | |
KR100630806B1 (en) | Command input method using motion recognition device | |
CN108700996B (en) | System and method for multiple input management | |
US11782524B2 (en) | Predictive detection of user intent for stylus use | |
KR102438784B1 (en) | Electronic apparatus for obfuscating and decrypting data and control method thereof | |
US20130275907A1 (en) | Virtual keyboard | |
KR102079985B1 (en) | Method And Device For Processing Touch Input | |
KR102474245B1 (en) | System and method for determinig input character based on swipe input | |
US20140267019A1 (en) | Continuous directional input method with related system and apparatus | |
CN107209577A (en) | The adaptive text input of User Status | |
CN117581275A (en) | Eye gaze classification | |
EP3535652B1 (en) | System and method for recognizing handwritten stroke input | |
WO2023178984A1 (en) | Methods and systems for multimodal hand state prediction | |
KR102122438B1 (en) | Display device and method for processing touch input thereof | |
KR20190068497A (en) | Method and apparatus for controlling virtual keyboard | |
KR20200081529A (en) | HMD based User Interface Method and Device for Social Acceptability | |
CN110196630B (en) | Instruction processing method, model training method, instruction processing device, model training device, computer equipment and storage medium | |
CN114047872B (en) | Text input method and system | |
Dhamanskar et al. | Human computer interaction using hand gestures and voice | |
CN115348834A (en) | Tremor elimination | |
EP4443272A1 (en) | Freehand typing for augmented reality | |
Yang et al. | A HCI interface based on hand gestures | |
WO2021161769A1 (en) | Information processing device, information processing method, and program | |
Horiuchi et al. | Short range fingertip pointing operation interface by depth camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |