KR20220122334A - Apparatus for analysing and providing soft keyboard and method thereof - Google Patents
Apparatus for analysing and providing soft keyboard and method thereof Download PDFInfo
- Publication number
- KR20220122334A KR20220122334A KR1020210026835A KR20210026835A KR20220122334A KR 20220122334 A KR20220122334 A KR 20220122334A KR 1020210026835 A KR1020210026835 A KR 1020210026835A KR 20210026835 A KR20210026835 A KR 20210026835A KR 20220122334 A KR20220122334 A KR 20220122334A
- Authority
- KR
- South Korea
- Prior art keywords
- keyboard
- display
- character
- touch input
- analysis system
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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/0238—Programmable keyboards
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
- H04M1/72436—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04804—Transparency, e.g. transparent or translucent windows
Abstract
Description
본 문서에서 제공되는 다양한 실시예들은 소프트 키보드를 분석 및 제공하기 위한 기술에 관한 것이다.Various embodiments provided in this document relate to techniques for analyzing and providing a soft keyboard.
키보드 입력을 통한 인간과 컴퓨터 간의 상호 작용은 가장 직관적이면서 편리하기 때문에 컴퓨터의 발명과 함께 현재까지도 가장 보편적으로 이용되고 있다. ICT(information and communication technology) 기술의 발전과 함께 모바일 장치의 보편화가 이루어졌고, 부피가 크고 무거우며 휴대성이 적은 물리적 키보드는 소프트 키보드(또는 가상 키보드)로 대체되었다. 소프트 키보드는 키보드의 배열이 물리적 키보드와 동일하면서, 장치의 터치 디스플레이를 통해 제공되기 때문에 별도의 연결이나 장착이 요구되지 않아 휴대성에서 장점을 가지고 있다.Since the interaction between a human and a computer through keyboard input is the most intuitive and convenient, it is still most commonly used with the invention of the computer. With the development of information and communication technology (ICT) technology, mobile devices have become common, and a bulky, heavy, and less portable physical keyboard has been replaced with a soft keyboard (or virtual keyboard). The soft keyboard has the same keyboard layout as the physical keyboard, and since it is provided through the touch display of the device, it does not require a separate connection or installation, so it has an advantage in portability.
소프트 키보드는 모바일 장치의 휴대성을 보장할 수 있지만, 터치 디스플레이의 제한된 크기로 인하여 소프트 키보드의 크기 또한 제한될 수밖에 없다. 사용자는 엄지 또는 검지 손가락만을 이용하여 약 30개의 키(key)를 눌러야 하며, 키와 키 사이에 경계 공간이 없고 물리적 피드백이 없기 때문에 소프트 키보드의 사용은 물리적 키보드의 사용 대비 오타 발생률이 증가한다. The soft keyboard can ensure portability of the mobile device, but the size of the soft keyboard is inevitably limited due to the limited size of the touch display. The user has to press about 30 keys using only the thumb or index finger, and since there is no boundary space between the keys and there is no physical feedback, the use of the soft keyboard increases the incidence of typos compared to the use of the physical keyboard.
또한, 사용자의 타이핑 입력을 획득하기 위하여 표시되는 소프트 키보드는 터치 디스플레이의 일정 공간을 차지하므로, 다른 GUI(graphic user interface)의 표시를 방해하는 결과를 초래할 수 있다. In addition, since the soft keyboard displayed to obtain a user's typing input occupies a certain space of the touch display, it may result in interference with display of other graphic user interfaces (GUIs).
본 문서에 개시되는 다양한 실시예들은 상술한 문제점을 해결하기 위한 키보드 분석 시스템 및 그에 관한 방법을 제공하고자 한다.Various embodiments disclosed in this document are intended to provide a keyboard analysis system for solving the above-described problems and methods related thereto.
본 문서에 개시되는 일 실시예에 따른 키보드 분석 시스템은, 모바일 장치, 및 디코딩 모듈을 포함하고, 상기 모바일 장치는, 디스플레이를 통해 지정된 문자(character)를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 상기 디코딩 모듈로 전송하고, 상기 디코딩 모듈은, 딥 러닝(deep learning)을 이용하여 상기 수신된 정보를 분석하고, 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 설정될 수 있다. A keyboard analysis system according to an embodiment disclosed in this document includes a mobile device, and a decoding module, wherein the mobile device displays a designated character through a display, and on the designated character through the display Obtaining a corresponding touch input, and transmitting the position coordinates of the obtained touch input and information about the designated character to the decoding module, the decoding module, using deep learning, the received information Analyze and generate an invisible soft keyboard on the display based on the analysis result.
본 문서에 개시되는 일 실시예에 따른 키보드 분석 시스템의 동작 방법은, 디스플레이를 통해 지정된 문자를 표시하는 동작, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하는 동작, 딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하는 동작, 및 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하는 동작을 포함할 수 있다. The operating method of the keyboard analysis system according to an embodiment disclosed in this document is an operation of displaying a specified character through a display, an operation of obtaining a touch input corresponding to the specified character through the display, and deep learning using , analyzing the obtained location coordinates of the touch input and information on the designated character, and generating an invisible soft keyboard on the display based on the analysis result.
본 문서에 개시되는 일 실시예에 따른 비일시적 컴퓨터 판독 가능 저장 매체는, 하나 이상의 프로세서들에 의해 실행될 시, 디스플레이를 통해 지정된 문자를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하고, 및 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 키보드 분석 시스템을 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다. A non-transitory computer-readable storage medium according to an embodiment disclosed in this document, when executed by one or more processors, displays a designated character through a display, and receives a touch input corresponding to the designated character through the display keyboard analysis to obtain, using deep learning, to analyze the position coordinates of the acquired touch input and information about the designated character, and to generate an invisible soft keyboard on the display based on the analysis result It may store one or more programs containing instructions that cause the system to be stored.
본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 사용자의 신체 구조나 타이핑 습관을 반영하여 최적화된 키보드를 제공할 수 있다. According to the embodiments disclosed in this document, the keyboard analysis system may provide a keyboard optimized by reflecting the user's body structure or typing habit.
또한, 본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 사용자가 보다 빠른 타이핑을 할 수 있도록 하면서 문자(character) 단위로 오타를 수정할 수 있다. In addition, according to the embodiments disclosed in this document, the keyboard analysis system may correct typos in units of characters while allowing the user to type faster.
또한, 본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 모바일 장치를 추가적으로 구매하지 않아도 기존의 모바일 장치에서 사용자의 자율성을 보장하는 키보드를 제공할 수 있다. In addition, according to the embodiments disclosed in this document, the keyboard analysis system may provide a keyboard that guarantees the user's autonomy in the existing mobile device without additionally purchasing the mobile device.
또한, 본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 디스플레이 상에 표시되지 않는 투명한 키보드를 제공함으로써 디스플레이 화면의 활용도를 최대화하면서 동시에 오타를 줄일 수 있다. In addition, according to the embodiments disclosed in this document, the keyboard analysis system can reduce typos while maximizing the utilization of the display screen by providing a transparent keyboard that is not displayed on the display.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects directly or indirectly identified through this document may be provided.
도 1은 다양한 실시예들에 따라 사용자의 입력 데이터를 획득하기 위한 디스플레이 화면을 도시한다.
도 2는 다양한 실시예들에 따라 획득된 사용자의 입력 데이터에 대한 분포를 나타낸다.
도 3은 다양한 실시예들에 따른 키보드 분석 시스템의 아키텍처(architecture)를 도시한다.
도 4는 다양한 실시예들에 따른 장기(long-term) 디코더(decoder)의 알고리즘 구조를 도시한다.
도 5는 다양한 실시예들에 따른 키보드 분석 시스템을 통해 제공되는 소프트 키보드를 도시한다.
도 6은 다양한 실시예들에 따른 키보드들 간 오타율을 비교하는 테이블을 도시한다.
도 7은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 애블레이션 연구(ablation study) 결과를 도시한다.
도 8은 다양한 실시예들에 따른 키보드들 간 타이핑 속도를 비교하는 테이블을 도시한다.
도 9는 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용자 경험 결과를 나타내는 그래프를 도시한다.
도 10은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용 예를 도시한다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.1 illustrates a display screen for obtaining input data of a user according to various embodiments of the present disclosure;
2 illustrates a distribution of user input data obtained according to various embodiments.
3 illustrates an architecture of a keyboard analysis system in accordance with various embodiments.
4 illustrates an algorithm structure of a long-term decoder according to various embodiments.
5 illustrates a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
6 illustrates a table comparing typographical errors between keyboards according to various embodiments of the present disclosure;
7 illustrates an ablation study result of a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
8 illustrates a table comparing typing speeds between keyboards according to various embodiments.
9 is a graph illustrating a user experience result of a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
10 illustrates an example of using a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, this is not intended to limit the present invention to specific embodiments, and it should be understood that various modifications, equivalents, and/or alternatives of the embodiments of the present invention are included.
본 문서에서 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.In this document, the singular form of a noun corresponding to an item may include one or more items, unless the context clearly dictates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C” and “A, Each of the phrases "at least one of B, or C" may include any one of, or all possible combinations of, items listed together in the corresponding one of the phrases. Terms such as "first", "second", or "first" or "second" may simply be used to distinguish an element from other elements in question, and may refer elements to other aspects (e.g., importance or order) is not limited. that one (e.g. first) component is "coupled" or "connected" to another (e.g. second) component with or without the terms "functionally" or "communicatively" When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
본 문서에서 설명되는 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.Each component (eg, a module or a program) of components described in this document may include a singular or a plurality of entities. According to various embodiments, one or more components or operations among the corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg, a module or a program) may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
본 문서에서 사용되는 용어 "모듈", 또는 “...부”는 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. As used herein, the term “module” or “unit” may include a unit implemented in hardware, software, or firmware, and includes terms such as, for example, logic, logic block, component, or circuit; They can be used interchangeably. A module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions. For example, according to an embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시 예들은 기기(machine) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램 또는 애플리케이션)로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. Various embodiments of the present document may be implemented as software (eg, a program or an application) including one or more instructions stored in a storage medium (eg, memory) readable by a machine. For example, the processor of the device may call at least one of the one or more instructions stored from the storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the called at least one command. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
도 1 내지 도 2는 다양한 실시예들에 따라 사용자의 입력 데이터를 획득하기 위한 동작을 설명한다. 도 1에 도시된 화면(100)은 사용자의 타이핑 입력의 분포를 확인하기 위하여 생성된 인터페이스에 불과하며, 다양한 실시예들에 따른 투명 소프트 키보드의 예를 나타내는 것은 아니다.1 to 2 describe an operation for acquiring input data of a user according to various embodiments of the present disclosure. The
키보드 분석 시스템에 의하여 제공되는 소프트 키보드는 디스플레이 상에서 보이지 않는 투명한 형태이므로, 지정된 문자를 입력하기 위하여 사용자가 터치하는 위치는 디스플레이의 크기, 사용자의 신체 구조, 또는 타이핑 습관 마다 상이할 수 있다. Since the soft keyboard provided by the keyboard analysis system is in a transparent form that is not visible on the display, a location touched by a user to input a designated character may be different for each size of the display, a user's body structure, or a typing habit.
예를 들어, 도 1을 참조하면, 화면(100)은 스마트폰, 태블릿 PC, 또는 웨어러블 장치와 같이 휴대성을 가지는 모바일 장치의 디스플레이 화면을 나타낼 수 있다. 화면(100)은 사용자가 타이핑해야 할 문장이 표시되는 출력 필드(110)와, 사용자가 출력 필드(110)에 표시된 문장을 타이핑(터치 입력)하기 위한 입력 필드(120)를 포함할 수 있다. 모바일 장치는 입력 필드(120) 상에 감지된 터치 입력의 위치 좌표(예: x y 좌표)과 입력 필드(120)의 크기(예: 높이, 너비)에 관한 정보를 저장할 수 있다. 복수의 사용자가 동일한 문장을 타이핑하더라도, 도 2에 도시된 바와 같이 입력 필드(120) 상에 감지된 터치 입력의 분포는 서로 다를 수 있다. 또한, 문자를 입력하기 위한 키(key)가 보이지 않기 때문에, 타이핑을 시작하는 최초 지점이 사용자 마다 상이하며, 동일한 사용자이더라도 일정한 간격 이후에 타이핑을 다시 시작하면 최초 지점이 변경될 수 있다. For example, referring to FIG. 1 , a
다양한 실시예들에 따른 키보드 분석 시스템은 디스플레이 화면을 최대한 활용할 수 있는 투명 소프트 키보드를 제공하면서, 디스플레이 크기, 사용자의 신체 구조, 또는 타이핑 습관을 반영하여 오타를 줄이고 타이핑 속도를 높일 수 있다. The keyboard analysis system according to various embodiments may reduce typos and increase typing speed by reflecting a display size, a user's body structure, or a typing habit while providing a transparent soft keyboard that can make the most of a display screen.
도 3은 다양한 실시예들에 따른 키보드 분석 시스템의 아키텍처(architecture)를 도시한다. 도 3을 참조하면, 키보드 분석 시스템(300)은 모바일 장치(310), 메신저 모듈(320), 및 디코딩 모듈(330)을 포함할 수 있다. 3 illustrates an architecture of a keyboard analysis system in accordance with various embodiments. Referring to FIG. 3 , the
모바일 장치(310)는 입력 인터페이스(312) 및 출력 인터페이스(314)를 포함할 수 있다. 입력 인터페이스(312)는 소프트 키보드 기능을 수행하기 위하여 디스플레이 상의 터치 입력을 감지하도록 설정된 구성(예: 터치 회로)을 의미할 수 있다. 출력 인터페이스(314)는 디스플레이와 같이 시각적인 UI(user interface)를 제공하는 구성을 의미할 수 있다. 모바일 장치(310)는 디코딩 모듈(330)에 의하여 생성된 소프트 키보드를 투명한 형태로 디스플레이 상에 생성할 수 있다. 모바일 장치(310)는 소프트 키보드를 통해 획득된 터치 입력을 메신저 모듈(320)을 통해 디코딩 모듈(330)로 전송하고, 디코딩 모듈(330)을 통해 인식된, 터치 입력에 대응하는 문자를 디스플레이 상에 출력할 수 있다. The
메신저 모듈(320)은 모바일 장치(310)와 디코딩 모듈(330)의 인터페이스 역할을 수행할 수 있다. 예를 들어, 메신저 모듈(320)은 모바일 장치(310)에 의하여 획득된 정보를 디코딩 모듈(330)에 적합하도록 처리할 수 있다. 반대로, 메신저 모듈(320)은 디코딩 모듈(330)에 의하여 생성된 정보를 모바일 장치(310)에 적합하도록 처리할 수 있다. 메신저 모듈(320)은 예를 들어, 모바일 장치(310) 및 디코딩 모듈(330)과 별개의 개체(entity)일 수도 있고, 모바일 장치(310)에 저장된 프로그램(예: 애플리케이션)일 수 있다. The messenger module 320 may serve as an interface between the
메신저 모듈(320)은 기능에 따라서 전처리(pre-processing) 모듈(322), 전송 모듈(324), 및 입력 버퍼(326)를 포함할 수 있다. 전처리 모듈(322)은 모바일 장치(310)에 의하여 획득된 터치 정보를 지정된 문자에 페어링(pairing)할 수 있다. 본 문서에서, '터치 정보'는 모바일 장치(310)의 디스플레이(또는 도 1의 입력 필드(120)) 상에 감지된 터치 입력의 위치 좌표와, 디스플레이 또는 입력 필드(120)의 크기를 포함할 수 있다. 전처리 모듈(322)은 페어링 된 정보가 디코딩 모듈(330)에 적합하도록 토큰화(tokenization)를 수행할 수 있다. 토큰화는 일련의 문자 시퀀스를 지정된 단위(예: 단어 또는 문자)로 나누는 동작으로 이해될 수 있다. 추가적으로, 전처리 모듈(322)은 토큰화 이전 또는 이후에 정제(cleaning) 또는 정규화(normalization) 중 적어도 하나를 더 수행할 수 있다. 다른 예를 들어, 전처리 모듈(322)은 디코딩 모듈(330)로부터 수신된 정보를 모바일 장치(310)에 적합한 입력 형태로 변환할 수 있다. 전송 모듈(324)은 메신저 모듈(320)이 모바일 장치(310) 및 디코딩 모듈(330)과 데이터를 송수신하기 위하여 이용될 수 있다. 입력 버퍼(326)는 모바일 장치(310) 또는 디코딩 모듈(330)로부터 수신된 데이터를 저장할 수 있다. 예를 들어, 이하에서 후술하듯이 디코딩 모듈(330)의 장기 디코더(334)는 지정된 개수 이상의 터치 입력이 획득되어야 특정 터치 입력에 대한 의미를 추정할 수 있으므로, 입력 버퍼(326)는 터치 입력에 대한 일련의 데이터를 저장할 수 있다. The messenger module 320 may include a pre-processing module 322 , a transmission module 324 , and an input buffer 326 according to functions. The pre-processing module 322 may pair the touch information acquired by the
디코딩 모듈(330)은 모바일 장치(310)에 의하여 획득된 터치 정보 및 그에 대응하는 문자를 딥 러닝(deep learning)을 이용하여 학습하고, 학습 이후 모바일 장치(310)에 의하여 획득된 터치 입력에 대응하는 문자(또는 문장)를 인식할 수 있다. 디코딩 모듈(330)은 모바일 장치(310) 및 메신저 모듈(320)과 데이터를 송수신 하는 서버일 수 있다. 다른 예를 들어, 디코딩 모듈(330)은 메신저 모듈(320)과 함께 모바일 장치(310) 내에 프로그래밍될 수 있다. The decoding module 330 learns the touch information acquired by the
디코딩 모듈(330)은 디코딩을 위한 문자의 개수에 따라서 단기(short-term) 디코더(332)와 장기(long-term) 디코더(334)를 포함할 수 있다. 단기 디코더(332)는 지정된 개수(예: 9개) 미만의 문자를 학습 및 분석하도록 설정될 수 있다. 단기 디코더(332)는 예를 들어, MLP(multi-layer perceptron)를 포함할 수 있다. 장기 디코더(334)는 현재 문자를 인식하기 위하여 앞뒤 문맥(context)을 파악해야 하므로, 지정된 개수 이상의 문자를 학습 및 분석할 필요가 있다. 따라서, 지정된 개수의 문자가 입력되기 전까지 디코딩 모듈(330)은 단기 디코더(332)를 이용하여 빠르고 간편하게 소프트 키보드에 대한 입력을 분석할 수 있다. 반면에, 장기 디코더(334)는 현재 터치 입력뿐만 아니라 그 이전까지의 전체 터치 입력을 모두 디코딩함으로써 해당 터치 입력의 문자를 추정하므로 보다 정밀하게 의미를 추정하며, 오타를 수정할 수 있다. The decoding module 330 may include a short-term decoder 332 and a long-term decoder 334 according to the number of characters for decoding. The short-term decoder 332 may be set to learn and analyze less than a specified number (eg, 9) of characters. The short term decoder 332 may include, for example, a multi-layer perceptron (MLP). Since the long-term decoder 334 needs to understand the front and back contexts in order to recognize the current character, it is necessary to learn and analyze more than a specified number of characters. Accordingly, the decoding module 330 can quickly and simply analyze the input to the soft keyboard by using the short-term decoder 332 until a specified number of characters are input. On the other hand, since the long-term decoder 334 estimates the character of the corresponding touch input by decoding all previous touch inputs as well as the current touch input, it is possible to more precisely estimate the meaning and correct typos.
장기 디코더(334)는 기하학적(geometric) 정보에 기반하여 터치 입력에 대응하는 문자를 분석하는 기학학적 디코더(410)와 의미론적(semantic) 정보에 기반하여 터치 입력에 대응하는 문자를 분석하는 의미론적 디코더(420)를 포함할 수 있다. 기하학적 디코더(410)는 디스플레이를 통해 획득된 터치 입력들의 위치 좌표를 이용하여 입력 벡터를 문자 시퀀스로 변환할 수 있다. 또한, 기하학적 디코더(410)는 입력된 위치 좌표들 간 상대적 거리를 이용하여 현재 입력 좌표에 대한 후보 문자를 결정할 수 있다. 의미론적 디코더(420)는 기하학적 디코더(410)에서 결정된 문자 시퀀스를 의미론적으로 분석하여 오류를 결정하고, 문맥을 반영하여 오타를 수정하는 CLM(character language model) 역할을 수행할 수 있다. 또한, 의미론적 디코더(420)는 현재 입력과 다른 입력들 간 의미적 관계를 이용하여 후보 문자 중에서 최종 문자를 결정할 수 있다. 기하학적 디코더(410) 및 의미론적 디코더(420)에 대한 알고리즘 구조는 도 4에서 후술된다. The long-term decoder 334 includes a geometric decoder 410 that analyzes a character corresponding to a touch input based on geometric information and a semantic decoder 410 that analyzes a character corresponding to a touch input based on semantic information. A decoder 420 may be included. The geometric decoder 410 may convert the input vector into a character sequence by using the position coordinates of the touch inputs obtained through the display. Also, the geometric decoder 410 may determine a candidate character for the current input coordinates using the relative distance between the input location coordinates. The semantic decoder 420 may serve as a character language model (CLM) for determining errors by semantically analyzing the character sequence determined by the geometric decoder 410 and correcting typos by reflecting context. Also, the semantic decoder 420 may determine a final character from among candidate characters by using a semantic relationship between the current input and other inputs. The algorithm structures for the geometric decoder 410 and the semantic decoder 420 are described below in FIG. 4 .
도 4는 다양한 실시예들에 따른 장기 디코더의 알고리즘 구조(400)를 도시한다. 도 4를 참조하면, 디코딩 모듈(300)의 장기 디코더(334)는 기하학적 디코더로써 양방향 GRU(bi-directional gated recurrent unit, BiGRU)를 포함하고, 의미론적 디코더로써 트랜스포머(transformer) 모델을 포함할 수 있다. 4 illustrates an
키보드 분석 시스템(300)은 투명 소프트 키보드 상의 터치 입력들(t1, t2, t3,...,tn) 간 위치 관계를 파악할 필요가 있으므로, 단방향으로 진행하는 반복 은닉 상태(recurrent hidden state)와 반대 방향의 반복 은닉 상태를 함께 사용하는 양방향 GRU가 보다 높은 안정성을 제공할 수 있다. 양방향 GRU는 터치 입력의 입력 좌표 및 디스?a레이 크기에 따라서 특정 문자를 결정할 수 있다. Since the
소프트맥스(softmax) 함수는 양방향 GRU에 의하여 결정된 문자에 대한 컨피던스(confidence)를 결정할 수 있다. 예를 들어, 사용자가 'RUN'이라는 단어를 입력할 때, 양방향 GRU에 의하여 'RUN'이라는 문자가 결정되면 각각의 터치 입력에 대한 컨피던스는 높을 수 있다. 반면에, 양방향 GRU에 의하여 'RJN'이라는 문자가 결정되면 소프트맥스 함수에 의하여 'J'에 대한 컨피던스가 낮게 결정될 수 있다. The softmax function may determine confidence for a character determined by the bidirectional GRU. For example, when the user inputs the word 'RUN', if the character 'RUN' is determined by the bidirectional GRU, the confidence for each touch input may be high. On the other hand, when the character 'RJN' is determined by the bidirectional GRU, the confidence for 'J' may be determined to be low by the softmax function.
컨피던스 마스킹(confidence masking) 모듈은 컨피던스가 지정된 임계값 미만인 위치를 블랭크(blank) 처리할 수 있다. 예를 들어, 앞선 예에서, 양방향 GRU에 의하여 단어 'RJN' 가 결정되고, 'J'의 위치에 대한 컨피던스가 낮게 결정되면, 컨피던스 마스킹은 'R_N'과 같이 'J'에 대응하는 위치를 블랭크 처리할 수 있다. The confidence masking module may blank a position where the confidence is less than a specified threshold value. For example, in the previous example, if the word 'RJN' is determined by the bidirectional GRU and the confidence for the position of 'J' is determined to be low, the confidence masking is to blank the position corresponding to 'J' such as 'R_N' can be processed
트랜스포머 모듈은 트랜스포머 모듈은 셀프 어텐션(self-attention) 매커니즘을 이용하여 시퀀스 데이터를 분석할 수 있다. 셀프 어텐션 매커니즘은 query(Q), key(K), value(V) 파라미터를 이용하며, 입력을 분석할 때 현재 입력뿐만 아니라 이전 입력들까지 전체적으로 고려하되 현재 시점에서 추정해야할 단어(또는 문자)와 연관이 있는 입력들을 보다 집중하여서 고려하는 매커니즘으로 이해될 수 있다. 트랜스포머 모듈은 셀프 어텐션을 멀티-헤드(multi-head)로 적용함으로써 문장 내에 존재하는 의미를 멀티 관점으로 파악하여 자연어 처리의 성능을 향상시킬 수 있다. 트랜스포머 모듈에 대한 설명은 2017년에 발표된 논문 “Attention is all you need”을 통해 참조될 수 있다. 예를 들어, 트랜스포머 모듈은 블랭크 처리되어 전달된 위치의 문자(예: 'U')를 단어 또는 문장의 전체 문맥을 통해 결정할 수 있다. The transformer module may analyze sequence data using a self-attention mechanism. The self-attention mechanism uses query(Q), key(K), and value(V) parameters, and when analyzing the input, consider the current input as well as the previous inputs as a whole, It can be understood as a mechanism that considers related inputs more intensively. The transformer module can improve the performance of natural language processing by grasping the meaning existing in a sentence from multiple perspectives by applying self-attention as a multi-head. The description of the transformer module can be referred to through the paper “Attention is all you need” published in 2017. For example, the transformer module may determine a character (eg, 'U') of a blanked and delivered position through the entire context of a word or sentence.
실시예들에 따르면, 키보드 분석 시스템(300)의 트랜스포머 모듈은 디코더를 사용하지 않고 인코더만을 사용할 수 있다. 기존의 트랜스포머 모듈은 입력과 출력의 길이가 다를 수 있음을 전제로 하지만, 터치 입력의 위치 좌표와 문자를 매칭시키는 키보드 분석 시스템(300)은 입력과 출력의 길이가 동일하므로 디코더를 이용할 필요가 없다. According to embodiments, the transformer module of the
실시예들에 따르면, 키보드 분석 시스템(300)은 의미론적 디코더가 문자 시퀀스 내에서 멀티-헤드 셀프 어텐션을 보다 잘 생성할 수 있도록 다양한 NLP(natural language processing) 모델을 이용할 수 있다. 예를 들어, 키보드 분석 시스템(300)은 CLM을 위한 보조적인 손실(auxiliary losses) 중에 중간 레이어 손실(intermediate layer losses)을 사용하여 효율적인 역전파를 생성하고, 레이어 정규화(layer normalization)를 적용하는 위치를 셀프 어텐션 이전으로 변경하여 안정적인 기울기(gradient) 및 빠른 수렴을 유도할 수 있다. According to embodiments, the
도 5는 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드를 도시한다. 도 5에 도시된 화면(510, 520, 530, 540)은 디코딩 모듈(330)의 분석 결과를 시각적으로 설명하기 위한 것이며, 모바일 장치(310)의 디스플레이를 통해 출력되는 것은 아니다.5 illustrates a soft keyboard provided through a keyboard analysis system in accordance with various embodiments. The
도 5를 참조하면, 키보드 분석 시스템(300)은 입력된 문자 시퀀스를 분석함으로써 현재 터치 입력에 대응되는 문자를 추정할 수 있다. 예를 들어, 사용자가 모바일 장치(310)의 소프트 키보드를 통해 'have to stand'를 입력하고 까지 입력하면, 키보드 분석 시스템(300)은 문맥상 의미를 고려하여 해당 문장이 'have to stand up'임을 추정하고, 현재 터치 입력에 대응되는 문자가 'u'임을 결정할 수 있다. 키보드 분석 시스템(300)은 화면(510)과 같이 'u'를 나타내는 투명 키를 디스플레이의 일부 영역 상에 생성하되, 'u'가 입력될 수 있는 확률을 고려하여 해당 문자에 대응하는 투명 키의 면적을 결정할 수 있다. 키보드 분석 시스템(300)은 'u' 이외에 입력 가능한 다른 문자들에 대한 투명 키를 디스플레이의 나머지 영역 상에 생성할 수 있다. 투명 키들의 배열은 소프트 키보드의 기본 규격(예: 쿼티)에 따라서 결정될 수 있다. 동일한 원리로, 키보드 분석 시스템(300)은 'was at a recor'이 입력되면 화면(520)과 같이 'd'를 나타내는 투명 키를 디스플레이의 일부 영역 상에 생성할 수 있다. 동일한 원리로, 키보드 분석 시스템(300)은 'he is able t'이 입력되면 화면(530)과 같이 'o'를 나타내는 투명 키를 디스플레이의 일부 영역 상에 생성할 수 있다. 동일한 원리로, 키보드 분석 시스템(300)은 'he is able to'이 입력되면 화면(520)과 같이 '(space)'를 나타내는 투명 키를 디스플레이의 일부 영역 상에 생성할 수 있다.Referring to FIG. 5 , the
위와 같은 방식을 통해 키보드 분석 시스템(300)은 손가락 위치의 제약 없이 타이핑해도 오타를 수정할 수 있으며, 그에 따라 사용자들의 타이핑 속도를 높일 수 있다. Through the above method, the
도 6은 다양한 실시예들에 따른 키보드들 간 오타율을 비교하는 테이블을 도시한다. 6 illustrates a table comparing typographical errors between keyboards according to various embodiments of the present disclosure;
도 6을 참조하면, 그래프는 도 4의 키보드 분석 시스템(300)의 알고리즘에 기반하여 생성된 소프트 키보드(TMI(trident module invisible) keyboard)와 기존의 모델들(예: GRU, LSTM(long-short term memory), 트랜스포머(transformer), 및 I-keyboard)을 이용하여 생성된 키보드를 비교한 결과를 나타낼 수 있다. MacK, Common, 및 Test는 터치 입력 데이터를 수집하기 위한 데이터 셋(dataset)을 의미할 수 있다. 6, the graph is a soft keyboard (trident module invisible (TMI) keyboard) generated based on the algorithm of the
I-keyboard는 GRU가 두 모듈로 구현된 모델을 의미할 수 있다. CER(character error rate)은 문자 단위로, WER(word error rate)은 단어 단위로 에러율을 나타낸다. CER 또는 WER이 높을수록 오타가 증가함을 의미할 수 있다. 그래프에 따르면, 층(예: network size)을 깊게 하면 GRU, LSTM, 및 I-keyboard의 성능은 떨어지는 반면에 트랜스포머와 TMI keyboard의 성능은 크게 떨어지지 않는다. 트랜스포머는 multi-head attention을 통해 입력 시퀀스들의 관계를 이용하여 자연어 처리를 수행하지만, 타이핑 입력들 간 기하학적 관계를 이용하지 못하므로 TMI keyboard 대비 성능이 떨어질 수 있다. I-keyboard may mean a model in which GRU is implemented with two modules. CER (character error rate) indicates the error rate in units of characters, and WER (word error rate) indicates the error rate in units of words. A higher CER or WER may mean that errors increase. According to the graph, if the layer (eg network size) is deepened, the performance of GRU, LSTM, and I-keyboard decreases, while the performance of transformer and TMI keyboard does not decrease significantly. Although the transformer performs natural language processing using the relationship between input sequences through multi-head attention, it cannot use the geometric relationship between typing inputs, so performance may be lower than that of the TMI keyboard.
도 7은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 애블레이션 연구(ablation study) 결과를 도시한다. 7 illustrates an ablation study result of a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
도 7을 참고하면, 그래프는 키보드 분석 시스템(300)에 따른 소프트 키보드(TMI keyboard)와 해당 소프트 키보드에서 특정 알고리즘(예: semantic decoder, pertaining BiGRU, 및 pertaining MLM)을 제외한 모델들 각각의 ACC(accuracy)와 WER을 비교한 결과를 나타낼 수 있다. MLM(masked language model)은 마스킹 처리된 입력을 의미할 수 있다. Referring to FIG. 7 , the graph shows a soft keyboard (TMI keyboard) according to the
도 8은 다양한 실시예들에 따른 키보드들 간 타이핑 속도를 비교하는 테이블을 도시한다. 8 illustrates a table comparing typing speeds between keyboards according to various embodiments.
도 8을 참고하면, 그래프는 키보드 분석 시스템(300)에 따른 소프트 키보드(TMI keyboard)와 다른 키보드들(예: KeyScretch, Invisible keyboard, 및 I-keyboard) 간 WPM(words per minute) 결과를 비교한 것이다. 키보드 분석 시스템(300)에 따른 소프트 키보드는 정확도를 높이고 오타율을 줄이면서 도 8의 그래프에 도시된 바와 같이 높은 타이핑 속도를 제공할 수 있다. Referring to FIG. 8 , the graph compares WPM (words per minute) results between a soft keyboard (TMI keyboard) and other keyboards (eg, KeyScretch, Invisible keyboard, and I-keyboard) according to the
도 9는 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용자 경험 결과를 나타내는 그래프를 도시한다. 9 is a graph illustrating a user experience result of a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
도 9를 참조하면, 그래프는 키보드 분석 시스템(300)을 통해 제공되는 소프트 키보드의 사용에 대한 사용자 만족도를 나타낸다. 그래프는 리커트 척도(Likert scale) 5점을 기준으로 정신적(mental), 물리적(physical)으로 힘들었는지, 시간이 얼마나 들었는지(temporal demand), 편했는지(comfortability), 전체적으로 만족하는지(overall satisfaction)에 대한 응답을 나타낸다. Referring to FIG. 9 , the graph represents user satisfaction with the use of the soft keyboard provided through the
도 10은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용 예를 도시한다. 10 illustrates an example of using a soft keyboard provided through a keyboard analysis system according to various embodiments of the present disclosure;
도 10을 참조하면, 모바일 장치(310)의 사용자는 애플리케이션 화면(예: 채팅 창)이 디스플레이의 전체 영역에 표시된 상태에서도 투명 소프트 키보드를 이용하여 문장(예: '그러자')을 입력할 수 있다. 이를 통해, 키보드 분석 시스템(300)은 소프트 키보드가 디스플레이 화면에서 차지하는 면적을 제거하고 화면 활용도를 극대화할 수 있다. Referring to FIG. 10 , the user of the
Claims (10)
모바일 장치; 및
디코딩 모듈을 포함하고,
상기 모바일 장치는,
디스플레이를 통해 지정된 문자(character)를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 상기 디코딩 모듈로 전송하고,
상기 디코딩 모듈은,
딥 러닝(deep learning)을 이용하여 상기 수신된 정보를 분석하고, 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 설정된, 키보드 분석 시스템. In the keyboard analysis system,
mobile device; and
a decoding module,
the mobile device,
Display a specified character through a display, obtain a touch input corresponding to the specified character through the display, and transmit the position coordinates of the obtained touch input and information about the specified character to the decoding module, and ,
The decoding module,
A keyboard analysis system configured to analyze the received information using deep learning and generate an invisible soft keyboard on the display based on the analysis result.
상기 소프트 키보드의 배열은, 상기 디스플레이 상에 표시된 문자 또는 이전 문자 시퀀스에 기반하여 변경되는, 키보드 분석 시스템. The method according to claim 1,
The arrangement of the soft keyboard is changed based on a character displayed on the display or a previous character sequence.
지정된 개수 미만의 상기 터치 입력을 분석하도록 설정된 단기(short-term) 디코더; 및
상기 지정된 개수 이상의 상기 터치 입력을 분석하도록 설정된 장기(long-term) 디코더를 포함하고,
상기 장기 디코더는,
기하학적(geometric) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하는 기하학적 디코더; 및
문자 시퀀스(character sequence)의 의미론적(semantic) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하는 의미론적 디코더를 포함하는, 키보드 분석 시스템. The method according to claim 1, The decoding module,
a short-term decoder configured to analyze less than a specified number of said touch inputs; and
a long-term decoder configured to analyze more than the specified number of touch inputs;
The long-term decoder is
a geometric decoder that analyzes a character corresponding to the touch input based on geometric information; and
and a semantic decoder for analyzing a character corresponding to the touch input based on semantic information of a character sequence.
상기 기하학적 디코더는, 양방향 GRU(bi-directional gated recurrent unit)를 포함하고,
상기 의미론적 디코더는, 트랜스포머 모델(transformer model)을 포함하는, 키보드 분석 시스템. 4. The method of claim 3,
The geometric decoder includes a bi-directional gated recurrent unit (GRU),
wherein the semantic decoder comprises a transformer model.
상기 양방향 GRU 및 소프트맥스(softmax) 함수를 이용하여 상기 터치 입력에 대한 컨피던스(confidence)를 산출하고,
상기 컨피던스가 지정된 임계값 미만이면, 상기 터치 입력에 대응하는 위치를 블랭크(blank)로 처리하도록 설정된, 키보드 분석 시스템. The method according to claim 4, wherein the long-term decoder,
calculating confidence for the touch input using the bidirectional GRU and softmax function;
If the confidence is less than a specified threshold, the keyboard analysis system, configured to process a position corresponding to the touch input as a blank (blank).
인코더를 포함하고, 디코더를 포함하지 않는, 키보드 분석 시스템. The method according to claim 4, The transformer model,
A keyboard analysis system comprising an encoder and no decoder.
상기 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 토큰화(tokenization) 및/또는 정규화(normalization)하도록 설정된 메신저 모듈을 더 포함하는, 키보드 분석 시스템. The method according to claim 1,
The keyboard analysis system further comprising a messenger module configured to tokenize and/or normalize the location coordinates of the touch input and information about the designated character.
상기 모바일 장치에 저장되는 애플리케이션에 해당하는, 키보드 분석 시스템. The method according to claim 7, wherein the messenger module,
Corresponding to the application stored on the mobile device, keyboard analysis system.
디스플레이를 통해 지정된 문자를 표시하는 동작;
상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하는 동작;
딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하는 동작; 및
상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하는 동작을 포함하는, 방법. In the operating method of the keyboard analysis system,
displaying the specified character through the display;
acquiring a touch input corresponding to the designated character through the display;
analyzing the position coordinates of the acquired touch input and information about the designated character using deep learning; and
and generating an invisible soft keyboard on the display based on the analysis result.
하나 이상의 프로세서들에 의해 실행될 시,
디스플레이를 통해 지정된 문자를 표시하고,
상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고,
딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하고, 및
상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 키보드 분석 시스템을 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체. A non-transitory computer-readable storage medium comprising:
When executed by one or more processors,
Display the specified character through the display,
acquiring a touch input corresponding to the designated character through the display;
using deep learning to analyze the location coordinates of the acquired touch input and information about the designated character, and
A non-transitory computer-readable storage medium storing one or more programs comprising instructions for causing a keyboard analysis system to generate an invisible soft keyboard on the display based on the analysis result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210026835A KR102447469B1 (en) | 2021-02-26 | 2021-02-26 | Apparatus for analysing and providing soft keyboard and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210026835A KR102447469B1 (en) | 2021-02-26 | 2021-02-26 | Apparatus for analysing and providing soft keyboard and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220122334A true KR20220122334A (en) | 2022-09-02 |
KR102447469B1 KR102447469B1 (en) | 2022-09-23 |
Family
ID=83281225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210026835A KR102447469B1 (en) | 2021-02-26 | 2021-02-26 | Apparatus for analysing and providing soft keyboard and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102447469B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120007042A (en) * | 2009-04-10 | 2012-01-19 | 퀄컴 인코포레이티드 | A virtual keypad generator with learning capabilities |
KR20160057866A (en) * | 2014-11-14 | 2016-05-24 | 엘지전자 주식회사 | Mobile terminal and method for controlling the same |
KR20190065746A (en) * | 2017-12-04 | 2019-06-12 | 삼성전자주식회사 | Electronic apparatus, method for controlling thereof and the computer readable recording medium |
KR20200078454A (en) * | 2020-06-24 | 2020-07-01 | 네이버 주식회사 | Method and system for correcting keyboard typo based on deep learning model |
-
2021
- 2021-02-26 KR KR1020210026835A patent/KR102447469B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120007042A (en) * | 2009-04-10 | 2012-01-19 | 퀄컴 인코포레이티드 | A virtual keypad generator with learning capabilities |
KR20160057866A (en) * | 2014-11-14 | 2016-05-24 | 엘지전자 주식회사 | Mobile terminal and method for controlling the same |
KR20190065746A (en) * | 2017-12-04 | 2019-06-12 | 삼성전자주식회사 | Electronic apparatus, method for controlling thereof and the computer readable recording medium |
KR20200078454A (en) * | 2020-06-24 | 2020-07-01 | 네이버 주식회사 | Method and system for correcting keyboard typo based on deep learning model |
Also Published As
Publication number | Publication date |
---|---|
KR102447469B1 (en) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7317791B2 (en) | Entity linking method, device, apparatus and storage medium | |
EP3549069B1 (en) | Neural network data entry system | |
US10095684B2 (en) | Trained data input system | |
CN105009064B (en) | Use the touch keyboard of language and spatial model | |
Fowler et al. | Effects of language modeling and its personalization on touchscreen typing performance | |
JP7108675B2 (en) | Semantic matching method, device, electronic device, storage medium and computer program | |
US20160328377A1 (en) | System and method for inputting text into electronic devices | |
CN108700996B (en) | System and method for multiple input management | |
JP2022003539A (en) | Method, apparatus, electronic device and storage medium for correcting text errors | |
CN110023930B (en) | Language data prediction using neural networks and online learning | |
US10664658B2 (en) | Abbreviated handwritten entry translation | |
CN108710406A (en) | Posture adapts to selection | |
KR20180064371A (en) | System and method for recognizing multiple object inputs | |
CN106325488B (en) | A kind of input method, input unit, server and input system | |
US20210350122A1 (en) | Stroke based control of handwriting input | |
US7376938B1 (en) | Method and system for disambiguation and predictive resolution | |
EP3920076A1 (en) | Method, apparatus, and storage medium for obtaining document layout | |
Kern et al. | Text input for non-stationary XR workspaces: investigating tap and word-gesture keyboards in virtual and augmented reality | |
US11899904B2 (en) | Text input system with correction facility | |
KR102447469B1 (en) | Apparatus for analysing and providing soft keyboard and method thereof | |
Conway et al. | A Monte Carlo simulation approach for quantitatively evaluating keyboard layouts for gesture input | |
Lee et al. | Virtual keyboards with real-time and robust deep learning-based gesture recognition | |
JP7352640B2 (en) | Search item rewriting method, device, equipment and storage medium | |
Udapola et al. | Braille messenger: Adaptive learning based non-visual touch screen text input for the blind community using braille | |
CN116306612A (en) | Word and sentence generation method and related equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |