KR102447469B1 - 소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법 - Google Patents

소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법 Download PDF

Info

Publication number
KR102447469B1
KR102447469B1 KR1020210026835A KR20210026835A KR102447469B1 KR 102447469 B1 KR102447469 B1 KR 102447469B1 KR 1020210026835 A KR1020210026835 A KR 1020210026835A KR 20210026835 A KR20210026835 A KR 20210026835A KR 102447469 B1 KR102447469 B1 KR 102447469B1
Authority
KR
South Korea
Prior art keywords
touch input
character
keyboard
display
information
Prior art date
Application number
KR1020210026835A
Other languages
English (en)
Other versions
KR20220122334A (ko
Inventor
김종환
유상민
김의환
황예원
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020210026835A priority Critical patent/KR102447469B1/ko
Publication of KR20220122334A publication Critical patent/KR20220122334A/ko
Application granted granted Critical
Publication of KR102447469B1 publication Critical patent/KR102447469B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04886Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User 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/72436User 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. short messaging services [SMS] or e-mails
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Push-Button Switches (AREA)

Abstract

본 문서에 개시되는 키보드 분석 시스템은, 모바일 장치, 및 디코딩 모듈을 포함하고, 상기 모바일 장치는, 디스플레이를 통해 지정된 문자(character)를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 상기 디코딩 모듈로 전송하고, 상기 디코딩 모듈은, 딥 러닝(deep learning)을 이용하여 상기 수신된 정보를 분석하고, 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 설정될 수 있다.

Description

소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법{APPARATUS FOR ANALYSING AND PROVIDING SOFT KEYBOARD AND METHOD THEREOF}
본 문서에서 제공되는 다양한 실시예들은 소프트 키보드를 분석 및 제공하기 위한 기술에 관한 것이다.
키보드 입력을 통한 인간과 컴퓨터 간의 상호 작용은 가장 직관적이면서 편리하기 때문에 컴퓨터의 발명과 함께 현재까지도 가장 보편적으로 이용되고 있다. ICT(information and communication technology) 기술의 발전과 함께 모바일 장치의 보편화가 이루어졌고, 부피가 크고 무거우며 휴대성이 적은 물리적 키보드는 소프트 키보드(또는 가상 키보드)로 대체되었다. 소프트 키보드는 키보드의 배열이 물리적 키보드와 동일하면서, 장치의 터치 디스플레이를 통해 제공되기 때문에 별도의 연결이나 장착이 요구되지 않아 휴대성에서 장점을 가지고 있다.
소프트 키보드는 모바일 장치의 휴대성을 보장할 수 있지만, 터치 디스플레이의 제한된 크기로 인하여 소프트 키보드의 크기 또한 제한될 수밖에 없다. 사용자는 엄지 또는 검지 손가락만을 이용하여 약 30개의 키(key)를 눌러야 하며, 키와 키 사이에 경계 공간이 없고 물리적 피드백이 없기 때문에 소프트 키보드의 사용은 물리적 키보드의 사용 대비 오타 발생률이 증가한다.
또한, 사용자의 타이핑 입력을 획득하기 위하여 표시되는 소프트 키보드는 터치 디스플레이의 일정 공간을 차지하므로, 다른 GUI(graphic user interface)의 표시를 방해하는 결과를 초래할 수 있다.
본 문서에 개시되는 다양한 실시예들은 상술한 문제점을 해결하기 위한 키보드 분석 시스템 및 그에 관한 방법을 제공하고자 한다.
본 문서에 개시되는 일 실시예에 따른 키보드 분석 시스템은, 모바일 장치, 및 디코딩 모듈을 포함하고, 상기 모바일 장치는, 디스플레이를 통해 지정된 문자(character)를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 상기 디코딩 모듈로 전송하고, 상기 디코딩 모듈은, 딥 러닝(deep learning)을 이용하여 상기 수신된 정보를 분석하고, 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 설정될 수 있다.
본 문서에 개시되는 일 실시예에 따른 키보드 분석 시스템의 동작 방법은, 디스플레이를 통해 지정된 문자를 표시하는 동작, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하는 동작, 딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하는 동작, 및 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하는 동작을 포함할 수 있다.
본 문서에 개시되는 일 실시예에 따른 비일시적 컴퓨터 판독 가능 저장 매체는, 하나 이상의 프로세서들에 의해 실행될 시, 디스플레이를 통해 지정된 문자를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하고, 및 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 키보드 분석 시스템을 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다.
본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 사용자의 신체 구조나 타이핑 습관을 반영하여 최적화된 키보드를 제공할 수 있다.
또한, 본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 사용자가 보다 빠른 타이핑을 할 수 있도록 하면서 문자(character) 단위로 오타를 수정할 수 있다.
또한, 본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 모바일 장치를 추가적으로 구매하지 않아도 기존의 모바일 장치에서 사용자의 자율성을 보장하는 키보드를 제공할 수 있다.
또한, 본 문서에 개시되는 실시예들에 따르면, 키보드 분석 시스템은 디스플레이 상에 표시되지 않는 투명한 키보드를 제공함으로써 디스플레이 화면의 활용도를 최대화하면서 동시에 오타를 줄일 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시예들에 따라 사용자의 입력 데이터를 획득하기 위한 디스플레이 화면을 도시한다.
도 2는 다양한 실시예들에 따라 획득된 사용자의 입력 데이터에 대한 분포를 나타낸다.
도 3은 다양한 실시예들에 따른 키보드 분석 시스템의 아키텍처(architecture)를 도시한다.
도 4는 다양한 실시예들에 따른 장기(long-term) 디코더(decoder)의 알고리즘 구조를 도시한다.
도 5는 다양한 실시예들에 따른 키보드 분석 시스템을 통해 제공되는 소프트 키보드를 도시한다.
도 6은 다양한 실시예들에 따른 키보드들 간 오타율을 비교하는 테이블을 도시한다.
도 7은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 애블레이션 연구(ablation study) 결과를 도시한다.
도 8은 다양한 실시예들에 따른 키보드들 간 타이핑 속도를 비교하는 테이블을 도시한다.
도 9는 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용자 경험 결과를 나타내는 그래프를 도시한다.
도 10은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용 예를 도시한다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
본 문서에서 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 설명되는 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
본 문서에서 사용되는 용어 "모듈", 또는 “...부”는 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램 또는 애플리케이션)로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
도 1 내지 도 2는 다양한 실시예들에 따라 사용자의 입력 데이터를 획득하기 위한 동작을 설명한다. 도 1에 도시된 화면(100)은 사용자의 타이핑 입력의 분포를 확인하기 위하여 생성된 인터페이스에 불과하며, 다양한 실시예들에 따른 투명 소프트 키보드의 예를 나타내는 것은 아니다.
키보드 분석 시스템에 의하여 제공되는 소프트 키보드는 디스플레이 상에서 보이지 않는 투명한 형태이므로, 지정된 문자를 입력하기 위하여 사용자가 터치하는 위치는 디스플레이의 크기, 사용자의 신체 구조, 또는 타이핑 습관 마다 상이할 수 있다.
예를 들어, 도 1을 참조하면, 화면(100)은 스마트폰, 태블릿 PC, 또는 웨어러블 장치와 같이 휴대성을 가지는 모바일 장치의 디스플레이 화면을 나타낼 수 있다. 화면(100)은 사용자가 타이핑해야 할 문장이 표시되는 출력 필드(110)와, 사용자가 출력 필드(110)에 표시된 문장을 타이핑(터치 입력)하기 위한 입력 필드(120)를 포함할 수 있다. 모바일 장치는 입력 필드(120) 상에 감지된 터치 입력의 위치 좌표(예: x y 좌표)과 입력 필드(120)의 크기(예: 높이, 너비)에 관한 정보를 저장할 수 있다. 복수의 사용자가 동일한 문장을 타이핑하더라도, 도 2에 도시된 바와 같이 입력 필드(120) 상에 감지된 터치 입력의 분포는 서로 다를 수 있다. 또한, 문자를 입력하기 위한 키(key)가 보이지 않기 때문에, 타이핑을 시작하는 최초 지점이 사용자 마다 상이하며, 동일한 사용자이더라도 일정한 간격 이후에 타이핑을 다시 시작하면 최초 지점이 변경될 수 있다.
다양한 실시예들에 따른 키보드 분석 시스템은 디스플레이 화면을 최대한 활용할 수 있는 투명 소프트 키보드를 제공하면서, 디스플레이 크기, 사용자의 신체 구조, 또는 타이핑 습관을 반영하여 오타를 줄이고 타이핑 속도를 높일 수 있다.
도 3은 다양한 실시예들에 따른 키보드 분석 시스템의 아키텍처(architecture)를 도시한다. 도 3을 참조하면, 키보드 분석 시스템(300)은 모바일 장치(310), 메신저 모듈(320), 및 디코딩 모듈(330)을 포함할 수 있다.
모바일 장치(310)는 입력 인터페이스(312) 및 출력 인터페이스(314)를 포함할 수 있다. 입력 인터페이스(312)는 소프트 키보드 기능을 수행하기 위하여 디스플레이 상의 터치 입력을 감지하도록 설정된 구성(예: 터치 회로)을 의미할 수 있다. 출력 인터페이스(314)는 디스플레이와 같이 시각적인 UI(user interface)를 제공하는 구성을 의미할 수 있다. 모바일 장치(310)는 디코딩 모듈(330)에 의하여 생성된 소프트 키보드를 투명한 형태로 디스플레이 상에 생성할 수 있다. 모바일 장치(310)는 소프트 키보드를 통해 획득된 터치 입력을 메신저 모듈(320)을 통해 디코딩 모듈(330)로 전송하고, 디코딩 모듈(330)을 통해 인식된, 터치 입력에 대응하는 문자를 디스플레이 상에 출력할 수 있다.
메신저 모듈(320)은 모바일 장치(310)와 디코딩 모듈(330)의 인터페이스 역할을 수행할 수 있다. 예를 들어, 메신저 모듈(320)은 모바일 장치(310)에 의하여 획득된 정보를 디코딩 모듈(330)에 적합하도록 처리할 수 있다. 반대로, 메신저 모듈(320)은 디코딩 모듈(330)에 의하여 생성된 정보를 모바일 장치(310)에 적합하도록 처리할 수 있다. 메신저 모듈(320)은 예를 들어, 모바일 장치(310) 및 디코딩 모듈(330)과 별개의 개체(entity)일 수도 있고, 모바일 장치(310)에 저장된 프로그램(예: 애플리케이션)일 수 있다.
메신저 모듈(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)는 터치 입력에 대한 일련의 데이터를 저장할 수 있다.
디코딩 모듈(330)은 모바일 장치(310)에 의하여 획득된 터치 정보 및 그에 대응하는 문자를 딥 러닝(deep learning)을 이용하여 학습하고, 학습 이후 모바일 장치(310)에 의하여 획득된 터치 입력에 대응하는 문자(또는 문장)를 인식할 수 있다. 디코딩 모듈(330)은 모바일 장치(310) 및 메신저 모듈(320)과 데이터를 송수신 하는 서버일 수 있다. 다른 예를 들어, 디코딩 모듈(330)은 메신저 모듈(320)과 함께 모바일 장치(310) 내에 프로그래밍될 수 있다.
디코딩 모듈(330)은 디코딩을 위한 문자의 개수에 따라서 단기(short-term) 디코더(332)와 장기(long-term) 디코더(334)를 포함할 수 있다. 단기 디코더(332)는 지정된 개수(예: 9개) 미만의 문자를 학습 및 분석하도록 설정될 수 있다. 단기 디코더(332)는 예를 들어, MLP(multi-layer perceptron)를 포함할 수 있다. 장기 디코더(334)는 현재 문자를 인식하기 위하여 앞뒤 문맥(context)을 파악해야 하므로, 지정된 개수 이상의 문자를 학습 및 분석할 필요가 있다. 따라서, 지정된 개수의 문자가 입력되기 전까지 디코딩 모듈(330)은 단기 디코더(332)를 이용하여 빠르고 간편하게 소프트 키보드에 대한 입력을 분석할 수 있다. 반면에, 장기 디코더(334)는 현재 터치 입력뿐만 아니라 그 이전까지의 전체 터치 입력을 모두 디코딩함으로써 해당 터치 입력의 문자를 추정하므로 보다 정밀하게 의미를 추정하며, 오타를 수정할 수 있다.
장기 디코더(334)는 기하학적(geometric) 정보에 기반하여 터치 입력에 대응하는 문자를 분석하는 기학학적 디코더(410)와 의미론적(semantic) 정보에 기반하여 터치 입력에 대응하는 문자를 분석하는 의미론적 디코더(420)를 포함할 수 있다. 기하학적 디코더(410)는 디스플레이를 통해 획득된 터치 입력들의 위치 좌표를 이용하여 입력 벡터를 문자 시퀀스로 변환할 수 있다. 또한, 기하학적 디코더(410)는 입력된 위치 좌표들 간 상대적 거리를 이용하여 현재 입력 좌표에 대한 후보 문자를 결정할 수 있다. 의미론적 디코더(420)는 기하학적 디코더(410)에서 결정된 문자 시퀀스를 의미론적으로 분석하여 오류를 결정하고, 문맥을 반영하여 오타를 수정하는 CLM(character language model) 역할을 수행할 수 있다. 또한, 의미론적 디코더(420)는 현재 입력과 다른 입력들 간 의미적 관계를 이용하여 후보 문자 중에서 최종 문자를 결정할 수 있다. 기하학적 디코더(410) 및 의미론적 디코더(420)에 대한 알고리즘 구조는 도 4에서 후술된다.
도 4는 다양한 실시예들에 따른 장기 디코더의 알고리즘 구조(400)를 도시한다. 도 4를 참조하면, 디코딩 모듈(300)의 장기 디코더(334)는 기하학적 디코더로써 양방향 GRU(bi-directional gated recurrent unit, BiGRU)를 포함하고, 의미론적 디코더로써 트랜스포머(transformer) 모델을 포함할 수 있다.
키보드 분석 시스템(300)은 투명 소프트 키보드 상의 터치 입력들(t1, t2, t3,...,tn) 간 위치 관계를 파악할 필요가 있으므로, 단방향으로 진행하는 반복 은닉 상태(recurrent hidden state)와 반대 방향의 반복 은닉 상태를 함께 사용하는 양방향 GRU가 보다 높은 안정성을 제공할 수 있다. 양방향 GRU는 터치 입력의 입력 좌표 및 디스?a레이 크기에 따라서 특정 문자를 결정할 수 있다.
소프트맥스(softmax) 함수는 양방향 GRU에 의하여 결정된 문자에 대한 컨피던스(confidence)를 결정할 수 있다. 예를 들어, 사용자가 'RUN'이라는 단어를 입력할 때, 양방향 GRU에 의하여 'RUN'이라는 문자가 결정되면 각각의 터치 입력에 대한 컨피던스는 높을 수 있다. 반면에, 양방향 GRU에 의하여 'RJN'이라는 문자가 결정되면 소프트맥스 함수에 의하여 'J'에 대한 컨피던스가 낮게 결정될 수 있다.
컨피던스 마스킹(confidence masking) 모듈은 컨피던스가 지정된 임계값 미만인 위치를 블랭크(blank) 처리할 수 있다. 예를 들어, 앞선 예에서, 양방향 GRU에 의하여 단어 'RJN' 가 결정되고, 'J'의 위치에 대한 컨피던스가 낮게 결정되면, 컨피던스 마스킹은 'R_N'과 같이 'J'에 대응하는 위치를 블랭크 처리할 수 있다.
트랜스포머 모듈은 트랜스포머 모듈은 셀프 어텐션(self-attention) 매커니즘을 이용하여 시퀀스 데이터를 분석할 수 있다. 셀프 어텐션 매커니즘은 query(Q), key(K), value(V) 파라미터를 이용하며, 입력을 분석할 때 현재 입력뿐만 아니라 이전 입력들까지 전체적으로 고려하되 현재 시점에서 추정해야할 단어(또는 문자)와 연관이 있는 입력들을 보다 집중하여서 고려하는 매커니즘으로 이해될 수 있다. 트랜스포머 모듈은 셀프 어텐션을 멀티-헤드(multi-head)로 적용함으로써 문장 내에 존재하는 의미를 멀티 관점으로 파악하여 자연어 처리의 성능을 향상시킬 수 있다. 트랜스포머 모듈에 대한 설명은 2017년에 발표된 논문 “Attention is all you need”을 통해 참조될 수 있다. 예를 들어, 트랜스포머 모듈은 블랭크 처리되어 전달된 위치의 문자(예: 'U')를 단어 또는 문장의 전체 문맥을 통해 결정할 수 있다.
실시예들에 따르면, 키보드 분석 시스템(300)의 트랜스포머 모듈은 디코더를 사용하지 않고 인코더만을 사용할 수 있다. 기존의 트랜스포머 모듈은 입력과 출력의 길이가 다를 수 있음을 전제로 하지만, 터치 입력의 위치 좌표와 문자를 매칭시키는 키보드 분석 시스템(300)은 입력과 출력의 길이가 동일하므로 디코더를 이용할 필요가 없다.
실시예들에 따르면, 키보드 분석 시스템(300)은 의미론적 디코더가 문자 시퀀스 내에서 멀티-헤드 셀프 어텐션을 보다 잘 생성할 수 있도록 다양한 NLP(natural language processing) 모델을 이용할 수 있다. 예를 들어, 키보드 분석 시스템(300)은 CLM을 위한 보조적인 손실(auxiliary losses) 중에 중간 레이어 손실(intermediate layer losses)을 사용하여 효율적인 역전파를 생성하고, 레이어 정규화(layer normalization)를 적용하는 위치를 셀프 어텐션 이전으로 변경하여 안정적인 기울기(gradient) 및 빠른 수렴을 유도할 수 있다.
도 5는 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드를 도시한다. 도 5에 도시된 화면(510, 520, 530, 540)은 디코딩 모듈(330)의 분석 결과를 시각적으로 설명하기 위한 것이며, 모바일 장치(310)의 디스플레이를 통해 출력되는 것은 아니다.
도 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)'를 나타내는 투명 키를 디스플레이의 일부 영역 상에 생성할 수 있다.
위와 같은 방식을 통해 키보드 분석 시스템(300)은 손가락 위치의 제약 없이 타이핑해도 오타를 수정할 수 있으며, 그에 따라 사용자들의 타이핑 속도를 높일 수 있다.
도 6은 다양한 실시예들에 따른 키보드들 간 오타율을 비교하는 테이블을 도시한다.
도 6을 참조하면, 그래프는 도 4의 키보드 분석 시스템(300)의 알고리즘에 기반하여 생성된 소프트 키보드(TMI(trident module invisible) keyboard)와 기존의 모델들(예: GRU, LSTM(long-short term memory), 트랜스포머(transformer), 및 I-keyboard)을 이용하여 생성된 키보드를 비교한 결과를 나타낼 수 있다. MacK, Common, 및 Test는 터치 입력 데이터를 수집하기 위한 데이터 셋(dataset)을 의미할 수 있다.
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 대비 성능이 떨어질 수 있다.
도 7은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 애블레이션 연구(ablation study) 결과를 도시한다.
도 7을 참고하면, 그래프는 키보드 분석 시스템(300)에 따른 소프트 키보드(TMI keyboard)와 해당 소프트 키보드에서 특정 알고리즘(예: semantic decoder, pertaining BiGRU, 및 pertaining MLM)을 제외한 모델들 각각의 ACC(accuracy)와 WER을 비교한 결과를 나타낼 수 있다. MLM(masked language model)은 마스킹 처리된 입력을 의미할 수 있다.
도 8은 다양한 실시예들에 따른 키보드들 간 타이핑 속도를 비교하는 테이블을 도시한다.
도 8을 참고하면, 그래프는 키보드 분석 시스템(300)에 따른 소프트 키보드(TMI keyboard)와 다른 키보드들(예: KeyScretch, Invisible keyboard, 및 I-keyboard) 간 WPM(words per minute) 결과를 비교한 것이다. 키보드 분석 시스템(300)에 따른 소프트 키보드는 정확도를 높이고 오타율을 줄이면서 도 8의 그래프에 도시된 바와 같이 높은 타이핑 속도를 제공할 수 있다.
도 9는 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용자 경험 결과를 나타내는 그래프를 도시한다.
도 9를 참조하면, 그래프는 키보드 분석 시스템(300)을 통해 제공되는 소프트 키보드의 사용에 대한 사용자 만족도를 나타낸다. 그래프는 리커트 척도(Likert scale) 5점을 기준으로 정신적(mental), 물리적(physical)으로 힘들었는지, 시간이 얼마나 들었는지(temporal demand), 편했는지(comfortability), 전체적으로 만족하는지(overall satisfaction)에 대한 응답을 나타낸다.
도 10은 다양한 실시예들에 따라 키보드 분석 시스템을 통해 제공되는 소프트 키보드의 사용 예를 도시한다.
도 10을 참조하면, 모바일 장치(310)의 사용자는 애플리케이션 화면(예: 채팅 창)이 디스플레이의 전체 영역에 표시된 상태에서도 투명 소프트 키보드를 이용하여 문장(예: '그러자')을 입력할 수 있다. 이를 통해, 키보드 분석 시스템(300)은 소프트 키보드가 디스플레이 화면에서 차지하는 면적을 제거하고 화면 활용도를 극대화할 수 있다.

Claims (10)

  1. 키보드 분석 시스템에 있어서,
    모바일 장치; 및
    디코딩 모듈을 포함하고,
    상기 모바일 장치는,
    디스플레이를 통해 지정된 문자(character)를 표시하고, 상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 상기 디코딩 모듈로 전송하고,
    상기 디코딩 모듈은,
    딥 러닝(deep learning)을 이용하여 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하고, 상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하도록 설정되고,
    지정된 개수 미만의 상기 터치 입력을 분석하도록 설정된 단기(short-term) 디코더; 및
    상기 지정된 개수 이상의 상기 터치 입력을 분석하도록 설정된 장기(longterm) 디코더를 포함하고,
    상기 장기 디코더는,
    기하학적(geometric) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하는 양방향 GRU(bi-directional gated recurrent unit)를 포함하는 기하학적 디코더; 및
    문자 시퀀스(character sequence)의 의미론적(semantic) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하는 트랜스포머 모델(transformer model)을 포함하는 의미론적 디코더를 포함하며,
    상기 양방향 GRU 및 소프트맥스(softmax) 함수를 이용하여 상기 터치 입력에 대한 컨피던스(confidence)를 산출하고,
    상기 컨피던스가 지정된 임계값 미만이면, 상기 터치 입력에 대응하는 위치를 블랭크(blank)로 처리하도록 설정된, 키보드 분석 시스템.
  2. 청구항 1에 있어서,
    상기 소프트 키보드의 배열은, 상기 디스플레이 상에 표시된 문자 또는 이전 문자 시퀀스에 기반하여 변경되는, 키보드 분석 시스템.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 청구항 1에 있어서, 상기 트랜스포머 모델은,
    인코더를 포함하고, 디코더를 포함하지 않는, 키보드 분석 시스템.
  7. 청구항 1에 있어서,
    상기 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 토큰화(tokenization) 및/또는 정규화(normalization)하도록 설정된 메신저 모듈을 더 포함하는, 키보드 분석 시스템.
  8. 청구항 7에 있어서, 상기 메신저 모듈은,
    상기 모바일 장치에 저장되는 애플리케이션에 해당하는, 키보드 분석 시스템.
  9. 키보드 분석 시스템의 동작 방법에 있어서,
    디스플레이를 통해 지정된 문자를 표시하는 동작;
    상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하는 동작;
    딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하는 동작; 및
    상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하는 동작을 포함하고,
    상기 딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하는 동작은,
    지정된 개수 미만의 상기 터치 입력을 분석하는 동작; 및
    상기 지정된 개수 이상의 상기 터치 입력을 분석하는 동작을 포함하고,
    상기 지정된 개수 이상의 상기 터치 입력을 분석하는 동작은,
    기하학적(geometric) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하는 동작;
    문자 시퀀스(character sequence)의 의미론적(semantic) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하는 동작;
    상기 터치 입력에 대한 컨피던스(confidence)를 산출하는 동작; 및
    상기 컨피던스가 지정된 임계값 미만이면, 상기 터치 입력에 대응하는 위치를 블랭크(blank)로 처리하는 동작을 포함하는, 방법.
  10. 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    하나 이상의 프로세서들에 의해 실행될 시,
    디스플레이를 통해 지정된 문자를 표시하고,
    상기 디스플레이를 통해 상기 지정된 문자에 대응하는 터치 입력을 획득하고,
    딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하고, 및
    상기 분석 결과에 기반하여 상기 디스플레이 상에 투명(invisible) 소프트 키보드를 생성하고,
    상기 딥 러닝을 이용하여, 상기 획득된 터치 입력의 위치 좌표 및 상기 지정된 문자에 관한 정보를 분석하는 것은,
    지정된 개수 미만의 상기 터치 입력을 분석하고, 및
    상기 지정된 개수 이상의 상기 터치 입력을 분석하고,
    상기 지정된 개수 이상의 상기 터치 입력을 분석하는 것은,
    기하학적(geometric) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하고,
    문자 시퀀스(character sequence)의 의미론적(semantic) 정보에 기반하여 상기 터치 입력에 대응하는 문자를 분석하고,
    상기 터치 입력에 대한 컨피던스(confidence)를 산출하고, 및
    상기 컨피던스가 지정된 임계값 미만이면, 상기 터치 입력에 대응하는 위치를 블랭크(blank)로 처리하도록 키보드 분석 시스템을 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020210026835A 2021-02-26 2021-02-26 소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법 KR102447469B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210026835A KR102447469B1 (ko) 2021-02-26 2021-02-26 소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210026835A KR102447469B1 (ko) 2021-02-26 2021-02-26 소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법

Publications (2)

Publication Number Publication Date
KR20220122334A KR20220122334A (ko) 2022-09-02
KR102447469B1 true KR102447469B1 (ko) 2022-09-23

Family

ID=83281225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210026835A KR102447469B1 (ko) 2021-02-26 2021-02-26 소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법

Country Status (1)

Country Link
KR (1) KR102447469B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300023B2 (en) * 2009-04-10 2012-10-30 Qualcomm Incorporated Virtual keypad generator with learning capabilities
KR20160057866A (ko) * 2014-11-14 2016-05-24 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR20190065746A (ko) * 2017-12-04 2019-06-12 삼성전자주식회사 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
KR20200078454A (ko) * 2020-06-24 2020-07-01 네이버 주식회사 딥러닝 모델 기반 키보드 오타 보정 방법 및 시스템

Also Published As

Publication number Publication date
KR20220122334A (ko) 2022-09-02

Similar Documents

Publication Publication Date Title
US11416679B2 (en) System and method for inputting text into electronic devices
CN110036399B (zh) 神经网络数据录入系统
CN111428507B (zh) 实体链指方法、装置、设备以及存储介质
CN105009064B (zh) 使用语言和空间模型的触摸键盘
US10402493B2 (en) System and method for inputting text into electronic devices
US10095684B2 (en) Trained data input system
Fowler et al. Effects of language modeling and its personalization on touchscreen typing performance
CN108700996B (zh) 用于多输入管理的系统和方法
JP7108675B2 (ja) 意味マッチング方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN110023930B (zh) 利用神经网络和在线学习的语言数据预测
US10664658B2 (en) Abbreviated handwritten entry translation
KR20180064371A (ko) 다수의 객체 입력을 인식하기 위한 시스템 및 그 방법 및 제품
CN106325488B (zh) 一种输入方法、输入装置、服务器和输入系统
WO2006061852A1 (en) System, method, and apparatus for triggering recognition of a handwritten shape
EP3920076A1 (en) Method, apparatus, and storage medium for obtaining document layout
US11899904B2 (en) Text input system with correction facility
Conway et al. A Monte Carlo simulation approach for quantitatively evaluating keyboard layouts for gesture input
KR102447469B1 (ko) 소프트 키보드를 분석 및 제공하기 위한 장치 및 그에 과한 방법
JP7352640B2 (ja) 検索項目書き換え方法、装置、機器および記憶媒体
Udapola et al. Braille messenger: Adaptive learning based non-visual touch screen text input for the blind community using braille
Chen et al. Language model is suitable for correction of handwritten mathematical expressions recognition
KR102355890B1 (ko) 디코더 아키텍쳐, 그의 동작 방법 및 디코더를 이용하는 소프트 키보드
Thu et al. Positional gesture for advanced smart terminals: Simple gesture text input for syllabic scripts like Myanmar, Khmer and Bangla
KR101815889B1 (ko) 사용자의 키 입력 특성을 학습하는 가상 키패드를 이용한 사용자의 키 입력 방법 추정 방법 및 시스템
Wobbrock et al. Intelligent Text Input Methods and Metrics

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right