KR102335883B1 - 멀티 입력 타겟과 연관된 하나 이상의 입력을 입력하는 시스템 및 방법 - Google Patents

멀티 입력 타겟과 연관된 하나 이상의 입력을 입력하는 시스템 및 방법 Download PDF

Info

Publication number
KR102335883B1
KR102335883B1 KR1020167030996A KR20167030996A KR102335883B1 KR 102335883 B1 KR102335883 B1 KR 102335883B1 KR 1020167030996 A KR1020167030996 A KR 1020167030996A KR 20167030996 A KR20167030996 A KR 20167030996A KR 102335883 B1 KR102335883 B1 KR 102335883B1
Authority
KR
South Korea
Prior art keywords
input
user
probability
character
event
Prior art date
Application number
KR1020167030996A
Other languages
English (en)
Other versions
KR20160142867A (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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160142867A publication Critical patent/KR20160142867A/ko
Application granted granted Critical
Publication of KR102335883B1 publication Critical patent/KR102335883B1/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/0236Character input methods using selection techniques to select from displayed items
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

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)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 사용자 인터페이스와 예측 엔진을 포함한 시스템을 제공한다. 사용자 인터페이스는 사용자 선택에 의한 입력에 이용할 수 있는 복수의 입력 옵션과 연관된 멀티 입력 타겟을 포함한다. 제1 시스템에 있어서, 사용자 인터페이스는 제1 사용자 선택 이벤트를 수신한 때 멀티 입력 타겟을 선택하고, 제2 사용자 선택 이벤트를 수신한 때 복수의 입력 옵션 중의 입력을 선택하도록 구성되며, 상기 제2 사용자 선택 이벤트는 제1 사용자 선택 이벤트로부터 공간적으로 분리된다. 예측 엔진은 사용자가 복수의 입력 중에서 상기 선택된 입력이 아닌 임의의 입력을 선택하려고 의도한 확률을 상기 제2 사용자 선택 이벤트에 기초하여 결정하도록 구성된다. 제2 시스템에 있어서, 사용자 인터페이스는 멀티 입력 타겟에 관한 제1 사용자 선택 이벤트를 수신한 때 복수의 입력 옵션 중의 제1 입력을 식별하고, 멀티 입력 타겟에 관한 제2 사용자 선택 이벤트를 수신한 때 상기 제1 입력으로부터의 식별된 입력을 복수의 입력 옵션 중의 제2 입력으로 변경하도록 구성된다. 예측 엔진은 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트 간의 경과 시간을 결정하고; 상기 경과 시간이 미리 정해진 역치 미만인지 결정하며; 상기 경과 시간에 기초하여, 사용자가 제2 입력을 선택하려고 의도한 확률 및 사용자가 제1 입력을 입력하고 그 다음에 다시 제1 입력을 선택하려고 의도한 확률을 추정하도록 구성된다. 상기 미리 정해진 역치는 만일 상기 경과 시간이 미리 정해진 역치보다 더 크면 상기 제1 입력이 1의 확률을 갖고서 시스템에 입력되고 상기 제1 입력이 다시 선택되도록 설정된다. 대응하는 방법이 또한 제공된다.

Description

멀티 입력 타겟과 연관된 하나 이상의 입력을 입력하는 시스템 및 방법{SYSTEM AND METHOD FOR INPUTTING ONE OR MORE INPUTS ASSOCIATED WITH A MULTI-INPUT TARGET}
본 발명은 전자 장치의 멀티 입력 타겟과 연관된 입력 옵션의 입력 및, 특정의 일 실시형태에 있어서, 키보드의 멀티 문자 키와 연관된 하나 이상의 문자의 입력에 관한 것이다.
예컨대 이동 전화기 또는 태블릿 컴퓨터 등의 전자 장치의 공지된 사용자 인터페이스는 멀티 문자 또는 멀티 문자 변체를 나타내는 키를 포함하고, 멀티 문자 또는 문자 변체들은 장치에 원하는 문자 또는 문자 변체를 입력하기 위한 사용자 선택에 이용할 수 있다. 사용자는 멀티 문자 또는 문자 변체와 연관된 키 위에서 또는 키를 가로질러 하나 이상의 제스처를 수행함으로써 그들이 입력하고자 하는 문자 또는 문자 변체를 선택할 수 있다.
원하는 문자 변체를 입력하기 위해 사용되는 공지된 멀티 입력 타겟의 일 예가 도 1a-c에 도시되어 있다. 도 1a는 쿼티(QWERTY) 키보드 배열을 포함한 사용자 인터페이스의 스크린샷을 보인 것이다. 도 1b에서, 만일 사용자가 'a' 키를 누르고 있으면, 그 키에 대한 문자 변체의 리스트(
Figure 112020023270101-pct00001
)가 사용자에게 제시된다. 사용자는 손가락을 원하는 문자 변체로 드래그(drag)함으로써 원하는 문자 변체를 선택할 수 있고, 도면의 까만 원은 화면상에서 사용자의 손가락이 위치하고 있는 곳을 표시한다. 사용자는 그의 손가락을 해제함으로써 상기 선택된 변체를 입력할 수 있고('드래그 앤 리프트'(drag-and-lift)법), 도 1c는 원하는 문자 변체
Figure 112020023270101-pct00002
의 선택을 보인 것이다. 문자 키에서 제스처를 종료하는 대신에, 사용자 인터페이스는 원하는 문자 변체의 1차원 표시를 수용하도록 구성될 수 있다. 예를 들면, 사용자는 원하는 문자 변체를 선택하기 위해 문자 변체의 행 아래에서 화면을 가로질러 옆으로 드래그할 수 있다.
원하는 문자를 입력하기 위해 사용되는 공지된 멀티 입력 타겟의 일 예가 일본어 문자를 입력하기 위한 것으로 도 2a-c에 도시되어 있고, 이 공지된 입력 방법은 임의의 언어에, 특히 27 문자 이상을 가진 언어에 적합하다(즉, 이것은 쿼티 배열용이 아니다). 이 공지된 입력 방법은 힌디어와 같은 인도어에 적합하고, 또한 기록할 때 중국 문자 또는 어표(logogram)를 사용하는 중국어, 한국어 또는 임의의 다른 언어에 적합하며, 이모지 또는 이모티콘의 선택 및 입력을 위해 또한 사용할 수 있다. 도 2a는 일본어 문자를 입력하기 위한 드래그 앤 리프트 접근법용의 12 키 배열을 포함한 사용자 인터페이스를 나타낸다. 도 2b는 예컨대 멀티 문자 키를 누르고 있음으로써 사용자가 그 문자들을 나타내는 멀티 문자 키를 선택하였을 때 사용자가 선택할 수 있는 문자 옵션을 보인 것이다. 도 2c에서, 사용자는 문자를 선택하기 위해 그들이 입력하고자 하는 문자로 손가락을 드래그함으로써 원하는 문자를 선택할 수 있고, 그 지점에서 사용자는 선택된 문자를 입력하기 위해 터치화면과의 접촉을 끊는다. 특수 문자는 사용자가 멀티 문자 키를 터치하지만 문자를 선택하기 위한 드래그 앤 리프트 동작을 수행하지 않으면 입력되는 기본 문자(default character)로서 선택될 수 있다.
드래그 앤 리프트 제스처를 통해 선택된 문자 옵션을 선택 및 입력하기 위한 대안적인 사용자 인터페이스는 일본어 문자를 입력하기 위한 것으로 도 3a-c에 도시되어 있다(이 사용자 인터페이스는 다른 언어에도 동일하게 적용할 수 있다). 도 3a에 도시된 것처럼 키보드는 12개의 멀티 문자 키를 포함하고, 도 2a의 키보드와 동일한 것을 보인다. 키보드의 멀티 문자 키가 키 위를 누름으로써 선택되면, 사용자에게는 (도 3b에 도시된 것처럼) 그 멀티 문자 키와 연관된 문자 옵션이 제시된다. 원하는 문자 키를 선택하기 위해 드래그하고 그 문자 키가 선택되었을 때 화면과의 접촉을 끊기('리프트')함으로써 그 문자를 입력할 수 있다. 도 3c는 오른손 키를 선택하기 위해 오른쪽으로 드래그를 수행하고 그 키를 선택한 때 화면과의 접촉을 끊음으로써 문자를 선택하는 것을 보인 것이다. 도 3c로부터 알 수 있는 바와 같이, 문자를 선택하기 위한 드래그는 사용자의 손가락이 디스플레이된 문자 키에서 종료해야 한다는 것을 의미하지 않고, 드래그의 방향 및 길이가 그 문자 키를 선택하기에 충분하다는 것을 의미한다.
전술한 사용자 인터페이스를 포함한 전자 시스템은 멀티 문자 키를 통한 사용자 선택이 가능한 멀티 문자 또는 문자 변체로부터 피선택 문자 또는 문자 변체를 사용자가 입력할 수 있게 하는 수단을 제공한다. 그러나 전술한 시스템에 있어서, 선택된 입력은 사용자가 입력 옵션을 선택한 경우 사용자가 실제로 그 선택된 옵션을 입력하려고 의도했는지 여부와 관계없이 입력이 이루어지는 입력 옵션이라는 점에서 결정론적이다. 예를 들면, 사용자는 잘못된 방향으로 드래그를 하였거나 또는 드래그 앤 리프트 제스처에서 너무 빨리 그의 손가락을 떼었을 수 있다.
사용자가 장치에 입력하는 옵션을 선택할 수 있는 정확성은 많은 인수에 의존한다. 예를 들면, 하기 인수들 중의 하나 이상이 멀티 옵션으로부터 사용자 선택의 정확성에 영향을 줄 수 있다: 사용자가 원하는 입력 옵션을 선택하기 위해 취한 시간, 사용자가 선택을 하는 동안 사용자가 방심하였는지 여부(예를 들면, 사용자가 옵션을 선택하는 동안 걷거나 이야기하고 있기 때문에). 입력 옵션의 사용자 인터페이스 배열, 옵션을 선택하기 위해 요구되는 제스처, 접근성(예를 들면, 손 안정성, 손가락 길이), 사용된 장치(예를 들면, 물리적 화면 크기), 사용자 습관(예를 들면, 항상 키 중심 위를 터치하는 것) 등.
현재의 시스템에는 복수의 입력 옵션으로부터 입력 옵션의 사용자 선택에 기초한 에러 교정이 없다. 즉, 사용자 선택 이벤트는 사용자 에러를 고려하도록 모델링되지 않는다. 선택 이벤트와 관련한 이러한 에러 모델링의 결여는 정확도가 떨어지는 입력을 유도하고, 이것은 짜증나는 사용자 경험을 야기할 수 있다.
잘못 입력된 문자는 언어 모델링을 통해 교정될 수 있다. 예를 들어서 만일 사용자가 전에 보지 못했던 문자들의 시퀀스를 입력하였으면, 그 문자들의 시퀀스는 언어 모델에 알려진 시퀀스 또는 공지된 용어의 사전으로 교정될 수 있다. 그러나 문자의 교정은 언어 모델링에 기초를 두고 사용자의 선택 이벤트에 기초를 두지 않는다. 사용자 선택 이벤트에서 먼저 또는 대안적으로 교정함으로써, 텍스트 예측은 다수의 입력이 시스템에 의해 고려될 수 있기 때문에 더 정확하게 될 수 있다. 사용자 선택 이벤트를 교정함으로써, 사용자가 의도한 입력의 더 정확한 또는 대안적인 예측을 또한 제공할 수 있고, 그 입력은 예컨대 이모지 또는 이모티콘을 입력할 때 언어 모델링에 의해 모델링되지 않는다.
멀티 문자 키로부터 문자 입력을 선택하는 다른 하나의 공지된 방법은 멀티 탭 접근법이다. 각각의 키는 도 2a 및 도 3a의 12개의 멀티 문자 키로 나타낸 것처럼 다수의 문자를 표시한다. 원하는 문자를 입력하기 위해, 사용자는 원하는 횟수만큼 키를 태핑함으로써 이용 가능 문자 옵션을 통해 순회한다. 만일 사용자의 탭이 빠른 연속으로 이루어지면, 사용자는 원하는 문자를 선택하기 위해 문자들을 통해 순회할 수 있다. 그 선택된 문자를 입력하고 다음 문자 입력으로 이동하기 위해, 사용자는 (입력을 위한 상기 원하는 문자의 선택으로부터) 미리 정해진 시구간이 경과할 때까지 기다려야 한다. 도 6a는 이 멀티 탭 접근법의 확률 함수(P(t))를 나타낸 것이고, 여기에서 상기 미리 정해진 시구간은 예를 들면 450ms로 설정되었다. 도 6a에서 알 수 있는 바와 같이, 확률 함수(P(t))는 계단 함수이고, 여기에서 확률 함수는 사용자가 (기존 문자를 변경하기 보다는) 새로운 문자를 입력하려고 의도하는 확률을 나타낸다. 만일 2개의 특정 탭 간에 미리 정해진 시구간이 초과하지 않았으면, 선택된 문자가 전환된다. 그러나 만일 최종 키 누름 이후에 미리 정해진 시구간이 경과하였으면, 상기 최종 키 누름에 대응하는 문자가 입력되고 새로운 문자 입력 시퀀스가 시작된다. 따라서 경과된 시간은 서로로부터 입력 옵션들을 구별함에 있어서 결정론적이다. 예를 들어서 만일 사용자가 あ 키를 탭하면, 사용자는 태핑을 계속함에 따라서 あ, い, う, え, お 중에서 입력을 선택한다. 만일 사용자가 2개의 문자를 입력하기 원하고 그 2개의 문자가 동일 키로부터 입력되면(예를 들면, "ああ"), 사용자는 두번째 문자("あ")를 타이핑하기 전에 첫번째 문자("あ")를 타이핑한 후의 시간이 미리 정해진 역치를 지나 경과할 때까지 기다려야 한다. 문자를 선택하기 위한 멀티 탭 접근법은 모든 언어에 적합하고, 전세계에 걸쳐서 이동 전화기에서 텍스트 입력을 위해 현재 사용되고 있다.
이러한 멀티 탭 시스템에 익숙한 사용자는 그들이 더 빨리 탭할 수 있음에도 불구하고 기다리도록 강요되지만, 초보자는 새로운 문자를 입력하기보다 문자를 변경하기에 충분하게 빨리 탭할 수 없기 때문에 문자를 입력함에 있어서 어려움을 가질 수 있다. 이것은 짜증을 유발할 수 있고 텍스트의 입력을 느리게 하는 수단이 된다.
본 발명의 목적은 전술한 문제점들 중의 하나 이상을 해결하는 데 있다.
본 발명의 제1 양태에 있어서, 사용자 선택에 의한 입력에 이용할 수 있는 복수의 입력 옵션과 연관된 멀티 입력 타겟을 포함한 사용자 인터페이스를 포함한 시스템이 제공된다. 사용자 인터페이스는 제1 사용자 선택 이벤트를 수신한 때 멀티 입력 타겟을 선택하고, 제2 사용자 선택 이벤트를 수신한 때 복수의 입력 옵션 중의 입력을 선택하도록 구성된다. 상기 제2 사용자 선택 이벤트는 제1 사용자 선택 이벤트로부터 공간적으로 분리된다. 상기 시스템은 또한 예측 엔진을 포함하고, 예측 엔진은 사용자가 복수의 입력 중에서 상기 선택된 입력이 아닌 임의의 입력을 선택하려고 의도한 확률을 상기 제2 사용자 선택 이벤트에 기초하여 결정하도록 구성된다.
바람직하게, 상기 예측 엔진은 사용자가 복수의 입력 중에서 상기 선택된 입력이 아닌 임의의 입력을 선택하려고 의도한 확률을 상기 제1 사용자 선택 이벤트 및 상기 제2 사용자 선택 이벤트에 기초하여 결정하도록 구성된다.
바람직하게, 상기 예측 엔진은 상기 제1 사용자 선택 이벤트의 위치 및 상기 제2 사용자 선택 이벤트의 위치를 이용하여 상기 확률을 결정하도록 구성된다.
양호한 실시형태에 있어서, 상기 제1 사용자 선택 이벤트는 첫번째 탭 또는 드래그 앤 리프트 제스처의 시작에 대응하고, 상기 제2 사용자 선택 이벤트는 두번째 탭 또는 드래그 앤 리프트 제스처의 리프트에 대응한다. 상기 예측 엔진은 상기 제1 사용자 선택 이벤트의 위치와 상기 제2 사용자 선택 이벤트의 위치 간의 거리 및 방향을 결정하도록 구성될 수 있다.
상기 예측 엔진은 바람직하게 복수의 입력 중 각 입력에 대하여 4D 확률 분포 모델을 포함한다. 예측 엔진은 제1 및 제2 위치를 가진 또는 제1 위치를 가진 입력과 연관된 모델, 및 제1 위치와 제2 위치 간의 거리 및 방향을 질문함으로써 복수의 입력 중 임의의 입력을 선택하려고 의도한 확률을 결정할 수 있다. 상기 모델은 4D 가우시안일 수 있다.
일 실시형태에 있어서, 상기 제1 사용자 선택 이벤트는 플릭(flick) 제스처의 시작에 대응하고 상기 제2 사용자 선택 이벤트는 플릭 제스처의 종료에 대응한다. 상기 예측 엔진은 상기 시작 위치와 종료 위치로부터 플릭 방향을 결정하고, 상기 플릭의 시작 위치와 방향에 기초하여 사용자가 복수의 입력 중 상기 입력을 선택하려고 의도한 확률을 결정하도록 구성된다.
상기 예측 엔진은 사용자가 복수의 입력 옵션 각각에 대하여 주어진 입력 옵션을 선택하려고 의도한 확률을 생성하도록 구성될 수 있다.
사용자 인터페이스는 복수의 멀티 입력 타겟을 포함할 수 있고, 상기 예측 엔진은 사용자가 상기 선택된 멀티 입력 타겟을 선택하려고 의도한 확률을 상기 제1 선택 이벤트에 기초하여 결정하도록 구성될 수 있다.
상기 제1 사용자 선택 이벤트에 응답하여, 사용자 인터페이스는 공간적으로 분리된 복수의 입력 옵션을 디스플레이하도록 구성될 수 있다.
예측 엔진은 바람직하게 복수의 입력의 각 입력 옵션마다 하나씩 멀티 모델을 포함하고, 이때 각각의 모델은 복수의 입력 중 임의의 입력에 대응하는 이전의 제1 및 제2 사용자 선택 이벤트를 그 입력에 관련시키며, 예측 엔진은, 멀티 모델과 연합해서, 상기 제1 및 제2 사용자 선택 이벤트가 상기 복수의 입력 중 특정 입력에 관련될 확률을 생성하도록 구성된다.
상기 멀티 입력 타겟은 멀티 문자 입력 옵션을 나타내는 가상 키보드 상의 멀티 문자 키일 수 있다.
본 발명의 제2 양태에 있어서, 사용자 선택에 의한 입력에 이용할 수 있는 복수의 입력 옵션과 연관된 멀티 입력 타겟을 포함한 사용자 인터페이스를 포함한 시스템이 제공된다. 사용자 인터페이스는 멀티 입력 타겟에 관한 제1 사용자 선택 이벤트를 수신한 때 복수의 입력 옵션 중의 제1 입력을 식별하고, 멀티 입력 타겟에 관한 제2 사용자 선택 이벤트를 수신한 때 상기 제1 입력으로부터의 식별된 입력을 복수의 입력 옵션 중의 제2 입력으로 변경하도록 구성된다. 시스템은 예측 엔진을 포함하고, 예측 엔진은 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트 간의 경과 시간을 결정하고; 상기 경과 시간이 미리 정해진 역치 미만인지 결정하고; 상기 경과 시간에 기초하여, 사용자가 제2 입력을 선택하려고 의도한 확률 및 사용자가 제1 입력을 입력하고 그 다음에 다시 제1 입력을 선택하려고 의도한 확률을 결정하도록 구성된다. 상기 미리 정해진 역치는 만일 상기 경과 시간이 미리 정해진 역치보다 더 크면 상기 제1 입력이 1의 확률을 갖고서 시스템에 입력되고 상기 제1 입력이 다시 선택되도록 설정된다.
상기 멀티 입력 타겟은 바람직하게 멀티 문자 입력 옵션을 나타내는 가상 키보드 상의 멀티 문자 키이다.
상기 제1 사용자 선택 이벤트는 바람직하게 상기 제1 입력을 선택하는 멀티 문자 타겟 상의 첫번째 탭에 대응하고, 상기 제2 사용자 선택 이벤트는 상기 선택된 입력을 제2 입력으로 변경하는 멀티 문자 타겟 상의 두번째 탭에 대응한다.
상기 제1 사용자 선택 이벤트와 상기 미리 정해진 역치 간의 확률은 시그모이드 함수(sigmoid function)에 의해 모델링될 수 있다. 시그모이드 함수는
Figure 112016108078544-pct00003
의 형태를 취할 수 있고, 여기에서 P는 사용자가 제2 입력을 입력하려고 의도한 추정 확률이고, t는 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트 사이의 경과 시간이며, tp =0.5는 모델링된 시그모이드 확률 분포에서 확률이 0.5와 동일해지는 경과 시간이다.
본 발명의 제3 양태에 있어서, 멀티 입력 키를 통해 이용 가능한 복수의 입력 옵션을 디스플레이하는 사용자 인터페이스의 입력을 사용자가 선택하려고 의도한 확률을 예측 엔진을 이용하여 결정하는 방법이 제공된다. 이 방법은 멀티 입력 타겟을 선택하기 위한 제1 사용자 선택 이벤트를 사용자 인터페이스에 의해 수신하는 단계와; 디스플레이된 복수의 입력 옵션 중의 입력을 선택하기 위한 제2 사용자 선택 이벤트를 사용자 인터페이스에 의해 수신하는 단계- 상기 제2 사용자 선택 이벤트는 제1 사용자 선택 이벤트로부터 공간적으로 분리된 것임 -와; 상기 선택된 입력 확률이 아닌, 복수의 입력 중의 임의의 입력을 사용자가 선택하려고 의도한 확률을 상기 제2 사용자 선택 이벤트에 기초하여 결정하는 단계를 포함한다.
상기 확률은, 바람직하게, 상기 제1 사용자 선택 이벤트 및 상기 제2 사용자 선택 이벤트에 기초하여 결정된다. 상기 확률은, 바람직하게, 상기 제1 사용자 선택 이벤트의 위치 및 상기 제2 사용자 선택 이벤트의 위치를 이용하여 결정된다.
바람직하게, 상기 제1 사용자 선택 이벤트는 첫번째 탭 또는 드래그 앤 리프트 제스처의 시작에 대응하고, 상기 제2 사용자 선택 이벤트는 두번째 탭 또는 드래그 앤 리프트 제스처의 리프트에 대응한다.
상기 방법은 상기 제1 사용자 선택 이벤트의 위치와 상기 제2 사용자 선택 이벤트의 위치 간의 거리 및 방향을 결정하는 단계를 포함할 수 있다.
상기 예측 엔진은 바람직하게 복수의 입력 중 각 입력에 대하여 4D 확률 분포 모델을 포함한다. 사용자가 상기 복수의 입력 중 임의의 입력을 선택하려고 의도한 확률을 결정하는 단계는 제1 및 제2 위치를 가진 또는 제1 위치를 가진 입력과 연관된 모델, 및 제1 위치와 제2 위치 간의 거리 및 방향을 질문하는 단계를 포함할 수 있다. 상기 모델은 4D 가우시안일 수 있다.
상기 제1 사용자 선택 이벤트는 플릭 제스처의 시작에 대응하고 상기 제2 사용자 선택 이벤트는 플릭 제스처의 종료에 대응한다. 그러한 경우에, 상기 방법은 상기 예측 엔진을 이용하여 플릭의 방향을 결정하는 단계와; 상기 플릭의 시작 위치와 방향을 이용하여 사용자가 복수의 입력 중 상기 입력을 선택하려고 의도한 확률을 결정하는 단계를 포함한다.
상기 방법은 사용자가 복수의 입력 옵션 각각에 대하여 주어진 입력 옵션을 선택하려고 의도한 확률을 결정하는 단계를 포함할 수 있다.
사용자 인터페이스는 복수의 멀티 입력 타겟을 포함할 수 있고, 상기 예측 엔진을 이용하여 결정하는 단계는 사용자가 상기 선택된 멀티 입력 타겟을 선택하려고 의도한 확률을 상기 제1 선택 이벤트에 기초하여 결정하는 단계를 또한 포함할 수 있다.
예측 엔진은 복수의 입력의 각 입력 옵션마다 하나씩 멀티 모델을 포함하고, 이때 각각의 모델은 복수의 입력 중 임의의 입력에 대응하는 이전의 제1 및 제2 사용자 선택 이벤트를 그 입력에 관련시키며, 예측 엔진은, 멀티 모델과 연합해서, 상기 제1 및 제2 사용자 선택 이벤트가 상기 복수의 입력 중 특정 입력에 관련될 확률을 생성하도록 구성된다.
본 발명의 제4 양태에 있어서, 사용자가 사용자 인터페이스에서 제1 사용자 선택 이벤트 및 제2 사용자 선택 이벤트에 기초하여 2개의 입력 옵션 중 하나를 선택하려고 의도한 확률을 예측 엔진을 이용하여 결정하는 방법이 제공되고, 여기에서 사용자 인터페이스는 사용자 선택에 의한 입력에 이용 가능한 복수의 입력 옵션과 연관된 멀티 입력 타겟을 포함한다. 이 방법은 복수의 입력 옵션 중의 제1 입력을 식별하기 위해 멀티 입력 타겟에 관한 제1 사용자 선택 이벤트를 사용자 인터페이스에 의해 수신하는 단계와; 상기 제1 입력으로부터의 식별된 입력을 상기 복수의 입력 옵션 중의 제2 입력으로 변경하기 위해 멀티 입력 타겟에 관한 제2 사용자 선택 이벤트를 제2 사용자 인터페이스에 의해 수신하는 단계를 포함한다. 이 방법은 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트 간의 경과 시간을 상기 예측 엔진을 이용하여 결정하는 단계와; 상기 경과 시간이 미리 정해진 역치 미만인지 상기 예측 엔진을 이용하여 결정하는 단계와; 상기 경과 시간에 기초하여, 사용자가 제2 입력을 선택하려고 의도한 확률 및 사용자가 제1 입력을 입력하고 그 다음에 다시 제1 입력을 선택하려고 의도한 확률을 결정하는 단계를 또한 포함한다. 상기 미리 정해진 역치는 만일 상기 경과 시간이 미리 정해진 역치보다 더 크면 상기 제1 입력이 1의 확률을 갖고서 시스템에 입력되고 상기 제1 입력이 다시 선택되도록 설정된다.
상기 멀티 입력 타겟은 멀티 문자 입력 옵션을 나타내는 가상 키보드 상의 멀티 문자 키일 수 있다.
상기 제1 사용자 선택 이벤트는 상기 제1 입력을 선택하는 멀티 문자 타겟 상의 첫번째 탭에 대응하고, 상기 제2 사용자 선택 이벤트는 상기 선택된 입력을 제2 입력으로 변경하는 멀티 문자 타겟 상의 두번째 탭에 대응한다.
상기 제1 사용자 선택 이벤트와 상기 미리 정해진 역치 간의 확률은 시그모이드 함수로서 상기 예측 엔진에 의해 모델링될 수 있다. 시그모이드 함수는
Figure 112016108078544-pct00004
의 형태를 취할 수 있고, 여기에서 P는 사용자가 제2 입력을 입력하려고 의도한 추정 확률이고, t는 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트 사이의 경과 시간이며, tp =0.5는 모델링된 시그모이드 확률 분포에서 확률이 0.5와 동일해지는 경과 시간이다.
본 발명의 제5 양태에 있어서, 프로세서가 임의의 전술한 방법을 수행하게 하는 컴퓨터 프로그램 수단이 저장된 컴퓨터 판독 가능 매체를 포함한 컴퓨터 프로그램 제품이 제공된다.
이제, 본 발명을 첨부 도면을 참조하면서 구체적으로 설명한다.
도 1a-c는 사용자가 문자에 대한 문자 변체를 불러내기 위해 쿼티 키보드에서 문자를 선택하고, 원하는 문자 변체를 선택하기 위해 드래그 앤 리프트 제스처를 적용함으로써 문자 변체를 입력하는, 문자 변체를 입력하기 위한 공지된 사용자 인터페이스를 보인 도이다.
도 2a-c는 사용자가 키에 대한 문자 옵션을 불러내기 위해 키를 선택하고, 원하는 문자를 선택하기 위해 드래그 앤 리프트 제스처를 적용함으로써 특수 문자를 입력할 수 있는, 12개의 멀티 문자 키를 포함한 공지된 사용자 인터페이스를 보인 도이다.
도 3a-c는 사용자가 키에 대한 문자 옵션을 불러내기 위해 키를 선택하고, 원하는 문자를 선택하기 위해 드래그 앤 리프트 제스처를 적용함으로써 특수 문자를 입력할 수 있는, 12개의 멀티 문자 키를 포함한 공지된 사용자 인터페이스를 보인 도이다.
도 4는 예컨대 키에서의 터치 제스처와 같은 점 분포를 모델링하기 위해 사용될 수 있는 가우시안 분포를 보인 도이다.
도 5는 확률을 결정하는 방법을 보인 문자 옵션을 선택하기 위한 예시적인 패널 디스플레이를 보인 도이다.
도 6a는 문자가 변경되어야 하는지 또는 새로운 문자가 공지의 멀티 탭 접근법으로 입력되어야 하는지를 결정하기 위한 계단 확률 함수를 보인 도이다.
도 6b는 본 발명에 따라 사용자가 기존 문자를 변경하거나 멀티 탭 접근법으로 새로운 문자를 입력하려고 의도한 확률을 결정하기 위한 본 발명에 따른 확률 함수를 보인 도이다.
도 7a는 시작 위치와 리프트 위치 간의 거리에 대한 드래그 앤 리프트 제스처의 확률을 나타내는, 드래그 앤 리프트 제스처에 대한 확률 분포를 보인 도이다.
도 7b는 플릭의 시작 위치와 리프트 위치 간의 거리에 대한 플릭 제스처의 확률을 나타내는, 플릭 제스처에 대한 확률 분포를 보인 도이다.
도 8은 본 발명의 제1 방법의 흐름도이다.
도 9는 본 발명의 제2 방법의 흐름도이다.
본 발명은 복수의 입력 옵션으로부터 입력을 선택하기 위해 사용하는 사용자 선택 이벤트에서 에러를 모델링하는 시스템 및 방법을 제공한다. 특히, 시스템 및 방법은 사용자 선택 이벤트에 의해 선택된 것이 아닌 입력 옵션이 시스템에 입력되게 하기 위해 상기 선택된 이벤트에 의해 선택된 것이 아닌 입력 옵션을 사용자가 선택하려고 의도했을 가능성을 예측한다.
일반적으로 본 발명에 따른 시스템은 사용자 인터페이스 및 예측 엔진을 포함한다. 사용자 인터페이스는 멀티 입력 타겟과 연관된 복수의 입력 옵션으로부터 원하는 입력 옵션을 선택하고 그 원하는 입력을 시스템에 입력하기 위해 사용자가 시스템과 상호작용하게 하는 임의의 적당한 수단일 수 있다. 예를 들면, 사용자 인터페이스는 사용자가 디스플레이로부터 아이템을 선택하게 하는 마우스를 포함할 수 있고, 또는 사용자 인터페이스는 사용자가 눈/손/팔 움직임을 이용하여 시스템에 의해 디스플레이되는 물체를 선택할 수 있도록 눈/손/팔 움직임을 추적하는 수단을 포함할 수 있다. 본 발명의 양호한 실시형태에 있어서, 사용자 인터페이스는 디스플레이, 및 사용자 선택 이벤트를 통해 사용자 선택을 위한 타겟 및 입력 옵션을 디스플레이에서 디스플레이하도록 구성된 처리 회로를 포함한다. 예시적인 실시형태에 따르면, 시스템은 이동 전화기, 태블릿 또는 컴퓨터 중의 하나이고, 사용자 인터페이스는 사용자 선택을 위한 객체들을 디스플레이하고 터치 감응 디스플레이를 통해 사용자 입력 선택 이벤트를 수신하는 터치화면 디스플레이이다.
사용자 선택 이벤트는 사용자가 사용자 인터페이스의 객체를 선택하게 하는 임의의 이벤트이고, 디스플레이된 복수의 멀티 입력 타겟으로부터 임의의 멀티 입력 타겟의 사용자 선택 및 복수의 입력 옵션으로부터 임의의 입력 옵션의 사용자 선택을 포함한다. 선택 이벤트는 임의의 적당한 방법으로 수행될 수 있다. 양호한 실시형태에 있어서, 선택 이벤트는 터치화면 위에서의 제스처 또는 터치화면을 가로지르는 제스처에 대응한다. 상기 제스처는 클릭 또는 탭, 터치화면을 가로지르는 스트로크 또는 드래그, 및 플릭 등과 같이 손가락 또는 적당한 포인팅 물체에 의해 수행되는 제스처 중의 하나 이상을 포함할 수 있다. '제1 사용자 선택 이벤트' 및 '제2 사용자 선택 이벤트'는 동일한 제스처의 일부일 수 있다. 비제한적인 예로서, 플릭 움직임의 시작은 이 시작 위치가 멀티 입력 타겟을 선택하기 때문에 제1 사용자 선택 이벤트에 대응하고, 플릭의 종료(즉, 사용자가 화면과의 접촉을 끊는 지점)는 플릭의 방향이 입력 옵션을 선택하기 위해 결정될 수 있기 때문에 제2 사용자 선택 이벤트에 대응할 수 있다. 드래그 앤 리프트 제스처에 있어서, 상기 제1 사용자 선택 이벤트는 드래그의 시작 위치이고 상기 제2 사용자 선택 이벤트는 사용자가 화면과의 접촉을 끊는 위치일 수 있다. 따라서, 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트는 동일한 제스처뿐만 아니라 별도의 제스처(예를 들면, 공간적으로 분리된 2개 이상의 탭)의 부분들을 포함하도록 의도된다.
사용자 선택을 위한 복수의 입력 옵션과 연관된 멀티 입력 타겟은 사용자가 입력하고자 하는 임의의 적당한 입력에 대응할 수 있다. 양호한 실시형태에 있어서, 멀티 입력 타겟은 사용자 선택에 이용 가능한 멀티 문자 옵션을 디스플레이하고 장치에 입력하는 멀티 문자 타겟이다. 용어 '문자'는 임의의 글자, 숫자, 일반적인 구둣점("." 또는 "-" 등), 여백(whitespace), 언어를 작성할 때 사용하는 임의의 기호, 예를 들면, 중국어, 일본어, 한국어, 인도어 또는 임의의 다른 언어에서 사용하는 임의의 기호를 망라하는 것으로 의도된다. 본 발명과 관련해서, '문자'는 문자 변체, 예를 들면
Figure 112020023270101-pct00005
를 또한 포함한다.
그러나 본 발명의 시스템의 다른 실시형태는 멀티 이미지를 표시하는 멀티 이미지 타겟, 예를 들면, 사용자가 관련 음식 이모지를 선택하게 하는 음식 이모지 키, 또는 사용자가 전달하고자 하는 감정을 반영하는 이모티콘/이모지를 사용자가 선택하게 하는 이모티콘 또는 얼굴 이모지 등을 포함할 수 있다. 따라서 사용자가 멀티 입력 타겟을 통해 텍스트가 아닌 다른 데이터를 입력하고자 하는 경우도 또한 예상된다.
멀티 입력 타겟으로부터의 입력에 이용 가능한 입력 옵션은, 바람직하게, 타겟이 선택된 때 디스플레이 패턴으로 디스플레이된다. 일 실시형태에 있어서, 디스플레이는 사용자가 원하는 입력 옵션에 대응하는 키의 사용자 선택을 위해 입력 옵션에 대응하는 키들의 집합을 포함한다. 그러나 대안적인 실시형태(예를 들면, 멀티 탭 접근법)에 있어서, 멀티 입력 타겟은 눌렀을 때 옵션들을 디스플레이 패턴으로 디스플레이하지 않고 상기 타겟에 이용 가능한 옵션들을 디스플레이할 수 있다.
전술한 설명으로부터 이해할 수 있는 바와 같이, 본 발명의 양호한 실시형태에 있어서, 멀티 입력 타겟은 터치화면의 가상 키보드 상의 멀티 문자 키이다.
예측 엔진은 사용자 선택 이벤트에 기초해서, 예를 들면, 가상 키보드 상에서의 제스처의 위치, 제스처의 형상, 제스처의 길이, 제스처가 수행되는 시간량, 선택 이벤트들 간에 경과 시간, 그 사용자 및 그 입력 옵션에 대한 현재 선택 이벤트와 이전 선택 이벤트 간의 비교 등의 하나 이상에 기초하여 확률 추정치를 생성할 수 있는 임의의 수단이다. 발명의 일 실시형태에 있어서, 예측 엔진은 이용 가능한 입력 옵션을 모델링하기 위한 멀티 모델을 포함한다.
비제한적인 예로서, 본 발명의 특유한 에러 보정 구현예가 다수의 대안적인 구현예 설명과 함께 상기 배경 기술에서 설명한 공지의 입력 접근법에 대하여 설명된다. 그러나 본 발명의 시스템 및 방법은 이러한 예로 제한되지 않고, 2개의 사용자 선택 이벤트를 요구하는 멀티 입력 타겟으로부터 입력 옵션에 대한 임의 유형의 사용자 선택에 적용될 수 있다.
드래그 앤 리프트 제스처
상기 배경기술 부분에서 설명한 것처럼, 멀티 문자 키의 누름(또는 누르고 있기)에 대응하는 제1 사용자 선택 이벤트에 응답하여, 사용자 인터페이스는 문자 키 집합을 통하여 사용자 선택에 이용 가능한 문자 옵션들을 디스플레이한다(그 예가 도 2b 및 3b에 도시되어 있다). 사용자는 필요한 문자 키를 선택하기 위해 그들의 손가락을 화면을 가로질로 드래그함으로써, 디스플레이된 문자 옵션들 중의 하나를 선택할 수 있다(도 2c 및 3c에 도시된 것처럼). 도 2c 및 3c에 도시된 것처럼 원하는 키가 사용자 인터페이스에서 선택된 때(이것은 키가 하이라이트되는 것으로 표시될 수 있음), 사용자는 그들의 손가락을 떼어서 화면과의 접촉을 끊고 선택된 키의 문자를 입력할 수 있다.
본 발명의 시스템에 있어서, 예측 엔진은 제스처를 통해 주어진 문자 옵션을 선택하려고 사용자가 의도한 확률을 결정하기 위해 드래그 앤 리프트 제스처를 모델링하도록 구성된다. 예측 엔진은 복수의 입력 옵션에 대한 확률을 결정하도록 구성된다. 예를 들면, 예측 엔진은 사용자가 입력 옵션을 선택하려고 의도한 확률을 결정하도록 구성되고, 이때 상기 입력 옵션은 사용자 제스처에 의해 사용자 인터페이스에서 선택된 것이 아니다. 따라서, 사용자 선택 이벤트는 결정론적이 아니고 선택 이벤트에서의 에러가 모델링된다.
본 발명의 양호한 실시형태에 있어서, 예측 엔진은 드래그 앤 리프트 제스처를 4차원 분포로서 모델링하도록 구성된다. 예측 엔진은 드래그 앤 리프트 제스처로부터의 2개의 좌표 집합을 1) 사용자가 멀티 문자 키를 선택하기 위해 최초로 터치한 시작점(x1, y1), 및 2) 사용자가 화면과의 접촉을 끊기 위해 손가락을 뗀 종료점(x2, y2)을 모델링하기 위한 입력으로서 취한다.
일 실시형태에 있어서, 예측 엔진은 드래그 앤 리프트 제스처의 거리(d) 및 방향(θ)(주어진 축에 대하여 규정됨)을 결정하기 위해 상대 좌표(x2-x1, y2-y1)를 결정한다. 그러나 상기 2개의 좌표 집합은 이들이 방향 및 거리 정보를 인코딩하기 때문에 모델링을 위해 또한 사용될 수 있다. 드래그의 거리 및 방향은 드래그 앤 리프트 제스처의 시작점과 종료점 간의 직선으로부터 결정된다. 더 복잡한 경로에 대하여 동일한 접근법을 따를 수 있고, 제스처의 시작 위치와 종료 위치가 입력으로서 취해지고 중간 경로는 무시된다.
예측 엔진은 주어진 멀티 문자 키의 각 문자 옵션에 대하여 모델 4D 확률 밀도 분포를 포함한다. 일 실시형태에 있어서, 문자 옵션은 각 멀티 문자 키에 대하여 동일한 디스플레이 패턴으로 디스플레이되고, 예측 엔진은 멀티 문자 키의 문자 옵션이 있는 만큼 많은 모델을 저장한다. 그러나 일부 멀티 문자 키는 (장치에서의 손 위치 등에 따라서) 다른 것보다 누르기가 더 거북할 수 있기 때문에, 멀티 문자 키의 문자 키에 대한 드래그 앤 리프트 제스처는 멀티 문자 키가 동일 패턴의 문자 키를 디스플레이하는 경우에도 다른 멀티 문자 키에서 대응하는 문자 키에 대한 드래그 앤 리프트 제스처에 대하여 다른 패턴을 가질 수 있다. 그러므로 예측 엔진은 각 멀티 문자 키의 각 문자 키에 대한 하나의 모델에 대응하는 멀티 모델을 포함할 수 있다.
양호한 실시형태에 있어서, 4D 확률 밀도 분포는 다변량 가우시안 분포로서 모델링되지만, 예를 들면 라플라스 또는 감마 분포, 또는 순환 변수(circular variable)로 변환된 가우시안 분포와 등가인 폰 미제스(von Mises) 분포에 대하여 다른 4D 분포를 사용할 수 있다.
각각의 드래그 앤 리프트 입력을 위하여, 확률 생성기는 파라미터 x1, y1, d, θ로 평가된 가우시안 확률 밀도 함수를 복귀시키기 위해 (드래그 앤 리프트 파라미터 x1, y1, d, θ를 가진) 관련 멀티 문자 키의 각 문자 옵션에 대응하는 각 가우시안을 질문하고, 이것에 의해 사용자가 제스처를 통해 그 문자를 선택하려고 의도하였는지에 대한 확률 추정치를 제공한다.
그러므로 확률 생성기는 멀티 문자 키의 각 문자 옵션마다 확률 추정치를 결정할 수 있다. 그러나 예를 들면 각각의 드래그 앤 리프트 입력을 위해 최고 확률을 가진 N개의 문자를 취하는 적당한 잘라내기(pruning)가 적용될 수 있다.
대안적인 단순화한 실시형태에 있어서, 예측 엔진은 사용자가 터치화면과의 접촉을 끊은 위치에 기초하여 의도된 문자 입력에 대한 예측을 생성하도록, 즉 제2 선택 이벤트에만 기초하여 예측을 생성하고 드래그 제스처의 거리 및 방향은 무시하도록 구성된다. 예를 들면, 예측 엔진은 점 분포를 모델링하는 2D 가우시안을 이용해서(도 4 참조), 접촉의 끊김이 입력으로서 생성된 위치의 좌표를 취함으로써, 또는 접촉의 끊김이 발생한 위치로부터 문자 키의 중심까지 또는 키를 통하여 연장하는 선까지의 거리를 비교함으로써 등에 의해 사용자가 특정 문자 키를 선택하려고 의도한 확률을 결정하도록 구성될 수 있다. 도 5는 접촉 끊김(별표로 표시됨)으로부터 키의 중심을 통해 연장하는 선까지의 거리에 기초하여 예측 엔진이 확률을 결정하는 법을 보인 도이다(여기에서 거리(S1, S2)는 중심선(S1, S2)에 수직한 방향으로의 거리이다). 이러한 단순화한 모델에서, 드래그 앤 리프트 제스처의 시작점과 종료점은 독립적으로 고려된다.
상기 단순화한 모델은 더 적은 연산을 요구하지만 정확도가 낮다. 거리와 방향을 고려함으로써, 예측 엔진은 사용자 의도 입력의 더 정확한 예측을 제공할 수 있다.
입력 옵션의 1차원적 선택, 예를 들면 단일 선의 문자들로부터의 문자 선택(여기에서 문자들의 선을 따르는 제1 선택 이벤트와 제2 선택 이벤트 간의 거리는 예컨대 도 1a-c를 참조하여 문자 변체에 대해 설명한 것처럼 관심 있는 유일한 거리이다)에 기초한 대안적인 실시형태에 있어서, 예측 엔진은 사용자가 문자 옵션을 입력하려고 의도한 확률을 결정하기 위해, 시작 위치(x1)와 종료 위치(x2)를 입력으로 취함으로써, 또는 시작 위치(x1) 및 위치 x1과 x2 사이의 거리(d)를 취함으로써 2D 가우시안으로서 드래그 앤 리프트 제스처를 모델링하도록 구성될 수 있다. 전술한 더 간단한 모델과 유사하게, 예측 엔진은 끊는 점 위치만을 고려하고 이 끊는 점 위치와 키의 중심 간의 상이한 거리에 기초하여 확률을 결정할 수 있다.
멀티 탭(공간적으로 분리됨)
멀티 문자 키에서의 태핑에 대응하는 제1 사용자 선택 이벤트에 응답하여, 사용자 인터페이스는 문자 키 집합을 통한 선택에 이용할 수 있는 옵션을 디스플레이한다(그 일 예가 도 2b에 도시되어 있다). 사용자는 (탭 위치들 사이의 경로를 추적하지 않고) 원하는 문자 키를 태핑함으로써 디스플레이된 문자 옵션 중의 하나를 선택할 수 있다.
드래그 앤 리프트 접근법과 동일한 접근법이 멀티 탭 접근법에 적용될 수 있고, 이때 제1 탭과 제2 탭의 위치는 드래그의 시작 위치 및 드래그의 종료시 터치화면과의 접촉 끊기와 동일한 방법으로 고려될 수 있다. 따라서 예측 엔진은 확률을 결정하기 위해 제1 탭 위치(x1, y1) 및 제2 탭 위치(x2, y2)를 입력으로서 취하는(또는 x1, y1, d, θ를 입력으로서 취하는) 4D 분포로서 더블 탭 입력을 모델링할 수 있다.
더 나아가, 역시 위에서 설명한 바와 같이, 단순화한 모델이 예를 들면 점 분포를 모델링하기 위해 2D 가우시안을 이용하고 제2 탭의 2D 위치를 입력으로서 취함으로써, 또는 제2 탭의 위치로부터 문자 키의 중심까지 또는 키를 통하여 연장하는 선까지의 거리를 비교함으로써 등에 의해 제1 탭 위치에 독립적인 제2 탭 위치를 모델링하기 위해 예측 엔진에 의해 사용될 수 있다.
입력 옵션의 1차원적 선택을 또한 더블 탭 접근법에 적용할 수 있고, 이때 제1 탭과 제2 탭의 위치는 2D 가우시안, 또는 확률이 제2 탭 위치와 문자 키의 중심 간의 거리에 기초를 두는 더 간단한 접근법에 대한 입력으로서 취해진다.
플릭 제스처
전술한 바와 같이 멀티 문자 키로부터 문자를 선택하기 위한 드래그 앤 리프트 제스처 또는 더블 탭 외에, 사용자 인터페이스는 입력 옵션을 선택하기 위해 플릭 제스처를 수용하도록 구성될 수 있다. 이 응용과 관련하여, 플릭 제스처는 시작점과 지향적 움직임으로 구성된 제스처이다. 사용자는 문자를 선택하기 위해 원하는 입력 문자에 대한 플릭을 연장하도록 구속되지 않고, 움직임의 방향은 원하는 문자를 표시하는 데 충분하다.
전술한 바와 같이, 멀티 문자 키의 누름(또는 누르고 있기)에 대응하는 제1 사용자 선택 이벤트에 응답하여, 공지된 사용자 인터페이스는 문자 키 집합을 통하여 사용자 선택에 이용 가능한 문자 옵션들을 디스플레이한다(이것의 예가 도 3b에 도시되어 있다). 문자 입력 옵션을 디스플레이하기 위해 멀티 문자 키의 초기 터치와 관련하여 설명하지만, 이 설계의 사용자 인터페이스는 필요 없고, 예를 들면 멀티 문자 키는 이용 가능한 문자 옵션을 디스플레이할 수 있고, 그들의 선택의 방향이 멀티 문자 키에서 표시될 수 있다.
사용자가 입력하고자 하는 문자의 방향으로 플리킹함으로써, 사용자는 그들이 원하는 문자를 입력할 수 있다.
플릭 제스처를 통해 사용자가 특정 문자를 선택하려고 의도한 확률은 문자 키에 대한 공지 방향과 비교되는 플릭의 방향 및 플릭의 시작점에 기초하여 모델링될 수 있다. 따라서, 멀티 문자 옵션의 각 문자 키는 변수 x, y 및 θ를 가진 3D 분포로서 모델링될 수 있고, 이때 좌표 x, y는 플릭 제스처(즉, '제1 사용자 선택 이벤트')의 시작을 위한 터치 위치를 나타내고, θ는 상기 터치 위치로부터 키까지 플릭의 각도를 나타낸다(주어진 축에 대하여 규정됨).
플릭의 방향은 상기 시작 위치로부터 이격된 플릭의 제2 위치('제2 사용자 선택 이벤트')를 취함으로써 결정되고, 이때 상기 제2 위치는 바람직하게 사용자가 화면과의 접촉을 끊은 플릭의 종점이다.
예측 엔진은 파라미터 x, y 및 θ를 취하고, 각각의 키에 대하여 사용자가 플릭 제스처를 통해 그 키를 선택하려고 의도한 확률을 (상기 파라미터를 가진 3D 확률 밀도 분포를 질문함으로써) 결정한다.
양호한 실시형태에 있어서, 3D 분포는 다변량 가우시안이다. 그러나 순환 변수로 변환된 가우시안 분포와 등가인 폰 미제스 분포를 포함한 임의의 적당한 3D 분포를 이용할 수 있다.
이것은 플릭이 거리를 고려하지 않는 (드래그 앤 리프트 제스처의 4D 모델에 비교되는) 단순 모델이다. 그러나 이 단순 모델은 많은 사용자 인터페이스, 예를 들면 각도를 가진 문자의 불명확성을 갖지 않는 사용자 인터페이스, 즉, 거리에 있어서 서로 이격되지만 동일한 각도 방향을 따르는 멀티 문자를 갖지 않는 사용자 인터페이스에 대하여 충분할 수 있다.
이 접근법의 장점은 거리뿐만 아니라 방향도 고려하는 접근법에 비하여 연산이 단순하다는 것이다. 그러나 이 접근법은 일반적으로 정확도가 떨어진다.
예를 들어서 도 5를 참조하면, 사용자가 중앙의 시작 위치로부터 움직이는 것이 더 방사상으로 될수록, 키의 중심까지의 거리가 증가하기 때문에, 2개의 입력 옵션이 더 쉽게 구별된다. 그러므로 제스처의 거리뿐만 아니라 시작 위치와 각도를 살펴봄으로써, 예측 엔진은 사용자 의도 입력 옵션을 더 정확히 예측할 수 있다.
멀티 입력 타겟의 선택뿐만 아니라 멀티 입력 타겟으로부터 입력 옵션의 선택의 모델링
전술한 바와 같이, 예측 엔진은 사용자가 복수의 입력 옵션으로부터 특정 입력 옵션을 선택하려고 의도한 확률을 결정하기 위해 복수의 입력 옵션으로부터 입력 옵션의 선택을 모델링하도록 구성되고, 그 중 하나가 사용자에 의해 정확히 선택된다.
본 발명의 예측 엔진은 멀티 문자 키의 선택뿐만 아니라 멀티 문자 키로부터 문자의 선택에 대한 교정 모델링을 제공하도록 구성될 수 있다. 따라서, 예측 엔진은 사용자가 정확하게 선택된 멀티 문자 키가 아니라 멀티 문자 키로부터의 문자를 입력하려고 의도한 확률을 예측하도록 구성된다. 각각의 멀티 문자 키는 키에 중심이 맞춰진 2D 가우시안(또는 임의의 2D 분포)에 의해 모델링될 수 있다. 특정 멀티 문자 키의 선택에 대응하는 터치 위치는 사용자가 그 키를 선택하려고 의도한 확률을 복귀시키기 위한 입력으로서 취해질 수 있다(가우시안 모델의 질문을 통해). 대안적으로, 연관된 확률 값을 제공하기 위해 선택 이벤트의 터치 위치로부터 멀티 입력 타겟의 중심까지의 거리가 결정될 수 있다. 상기 선택 이벤트의 터치 위치는 더블 탭 접근법의 제1 탭, 드래그 앤 리프트 제스처의 시작 또는 플릭 제스처의 시작에 대응할 수 있다.
그러한 실시형태에 있어서, 예측 엔진은 P(문자 키|타겟 키)*P(타겟 키)로서 사용자가 멀티 문자 키의 문자를 선택하려고 의도한 확률을 결정하도록 구성되고, 여기에서 P(문자 키|타겟 키)는 특정 타겟 키가 주어진 때 사용자가 특정 문자 키를 선택하려고 의도한 확률이고, P(타겟 키)는 선택된 타겟 키가 2D 가우시안 모델링에 의해 결정될 수 있는 의도된 타겟 키인 확률이다.
그러므로 예측 엔진은 제스처를 통해 사용자가 특정 문자 키를 선택하려고 의도한 확률을 결정하고, 그 키가 다른 멀티 문자 키 옵션을 위하여 어떤 문자에 대응하는지 결정할 수 있다.
이전 사용자 입력의 모델링
전술한 것 외에, 예측 엔진은 멀티 타겟 키 및 키보드의 문자 키와의 사용자의 이력적 상호작용에 기초하여 선택 이벤트에서의 에러를 모델링, 즉 문자 키의 소정 디스플레이가 주어진 경우 사용자가 특정 문자 키를 선택하는 법을 모델링, 및/또는 사용자가 멀티 문자 키를 선택하는 법을 모델링하도록 구성될 수 있다.
"사용자 입력 예측"(USER INPUT PREDICTION)의 명칭을 가진 WO 2012/156686에는 사용자에게 적응되고 사용자가 텍스트를 입력하는 스타일을 학습하는 시스템에 대하여 개시되어 있다. 시스템과의 사용자의 이력적 상호작용을 모델링함으로써, WO 2012/156686의 시스템은 입력 이벤트가 주어진 경우 사용자가 어떤 문자를 입력하려고 의도하였는지를 더 정확히 예측할 수 있다. 동일한 이력적 상호작용 모델링이 전술한 바와 같이 멀티 입력 타겟으로부터 입력 옵션의 사용자 선택에 있어서의 에러를 모델링하는 시스템 및 방법에 적용될 수 있다. 특히, 동일한 이력적 상호작용 모델링이 사용자가 선택된 멀티 입력 타겟 및/또는 선택된 입력 옵션을 선택하려고 의도한 확률을 결정하기 위해 사용될 수 있고, 이때 그 확률들은 하나 이상의 사용자 선택 이벤트에 관한 터치 위치에 기초를 둔다. 이를 위해, 2012년 11월 22일에 공개된 상기 "사용자 입력 예측"(USER INPUT PREDICTION)의 명칭을 가진 WO 2012/156686은 인용에 의해 그 전부가 본원에 통합된다.
WO 2012/156686의 14페이지 11-19줄에는 입력 이벤트가 주어진 경우 사용자가 입력 이벤트에 의해 타겟을 선택하려고 의도한, 각 타겟(c)에 대한 확률 p(x|c, M)을 입력 확률 생성기가 생성하는 시스템의 예가 제공되어 있다. 주어진 타겟에 대한 확률 값을 생성하기 위해, 입력 확률 생성기는 모델 파라미터의 현재 MAP 추정치(μc, Σc)를 복귀시키기 위해 그 타겟에 대한 모델을 질문한다. 그 다음에, 입력 확률 생성기는 모델 파라미터를 이용하여 입력 위치(x)에서 평가된 가우시안 확률 밀도 함수의 값(x; μ, Σ)을 계산한다.
본 발명의 상황에서, '입력 이벤트'는 드래그 앤 리프트 제스처의 시작과 리프트를 나타내는 2개의 위치 또는 멀티 문자 키로부터 문자의 사용자 선택을 위한 더블 탭 접근법의 2개의 탭에 대응할 수 있다. 모델(M)은 전술한 바와 같이 4D 가우시안이고, 파라미터(x)는 모델이 x1, y1, d, θ인 것을 질문하기 위해 사용된다. 따라서, 멀티 문자 타겟의 각 문자 키에 대한 고정된 파라미터를 가진 4D 가우시안 함수를 이용하기 보다, 예측 엔진은 그 키의 사용자 선택과 함께 변하는 파라미터를 가진 4D 가우시안을 이용한다.
유사하게, 예측 엔진은 예측 엔진이 주어진 키에 대한 사용자 플릭 스타일을 고려한 확률 추정치를 제공하도록 플릭 제스처에 의한 키의 이전 사용자 선택을 모델링하도록 구성될 수 있다. 이것은 특정의 플릭 방향이 사용자에게 거북하고 그 키에 대한 일반 모델의 방향이 아닌 다른 방향으로 일관되게 집중되는 플릭을 야기하는 경우에 유용할 수 있다.
제1 및 제2 사용자 선택 이벤트에 대한 터치/리프트 위치가 독립적으로 취급되는 단순화한 접근법에 있어서, WO 2012/156686에 개시된 접근법은 제1 사용자 선택 이벤트에 의한 멀티 문자 키의 선택 및 제2 사용자 선택 이벤트를 통한 문자 옵션의 선택에 직접 적용할 수 있다(이때 상기 선택 이벤트는 점 위치로서 독립적으로 모델링된다).
WO 2012/156686(15페이지 4-22줄)에는 어떤 사용자 선택 이벤트가 어떤 문자에 대응하는지 알기 위해(대응하는 문자 모델을 갱신하기 위해) 텍스트 예측을 통해 선택된 문자가 어떻게 사용자 입력 이벤트에 다시 맵될 수 있는지를 설명한다. 예를 들면 주어진 드래그 앤 리프트 제스처의 파라미터들을 사용자가 입력하려고 의도한 문자에 대응하는 키에 맵하기 위해 동일한 맵핑 접근법이 여기에 적용될 수 있다.
제스처들의 조합
전술한 실시형태 외에, 사용자 인터페이스는 드래그 앤 리프트 제스처뿐만 아니라 플릭 제스처 및/또는 탭 제스처를 선택 이벤트로서 수신하도록 구성될 수 있다.
그러한 실시형태에서, 예측 엔진은 사용자가 제스처에 기초하여 특정 문자를 입력하려고 의도한 확률을 결정하기 위해 사용자 선택 이벤트가 특정 제스처에 대응하는 확률을 결정하도록 구성될 수 있다.
제스처의 초기 시작 위치와 접촉이 끊긴 위치 사이의 거리(x)가 주어진 경우 드래그 앤 리프트 제스처의 확률은 도 7a에 도시된 확률 함수에 의해 모델링될 수 있다. 도 7b는 플릭 제스처에 대한 예시적인 확률 함수를 제공한다. 제스처가 플릭인지 또는 드래그 앤 리프트 제스처인지에 따라서, 예측 엔진은 3D 또는 4D 가우시안을 각각 이용한다.
플릭 제스처 또는 드래그 앤 리프트 제스처의 확률이 시작 위치로부터 무시할 수 있을만한 거리(x)에 대해서 매우 낮기 때문에, 이 방법은 사용자가 키에 대한 기본 입력을 삽입하기 위해 멀티 입력 키를 탭하려고 의도했는지 또는 키의 특수한 입력을 선택하기 위해 플릭하려고 의도했는지 결정하기 위해 사용될 수 있다. 도 7a 및 도 7b에서 알 수 있는 바와 같이, 일반적으로 플릭 제스처가 문자를 선택하기 위한 드래그 앤 리프트 제스처보다 더 짧은 제스처이기 때문에, 짧은 제스처는 플릭 제스처라고, 및 긴 제스처는 드래그 앤 리프트 제스처라고 결정할 수 있다.
(문자들을 통해 순환하기 위한) 멀티 탭
앞의 배경기술 부분에서 설명한 바와 같이, 멀티 탭 접근법으로 원하는 문자를 입력하기 위해, 사용자는 원하는 횟수만큼 키를 태핑함으로써 이용 가능한 문자 옵션들을 통해 순환한다. 만일 사용자의 탭이 빠르게 연속되면, 사용자는 원하는 문자를 선택하기 위해 문자들을 통해 순환할 수 있다. 도 5a를 참조하면서 전술한 바와 같이, 공지의 멀티 탭 접근법에 있어서, 동일한 키에서의 탭들 간의 경과 시간은 입력 옵션들을 서로 구별함에 있어서 결정론적이다(즉, 선택된 문자를 순환 내의 다음 문자로 변경해야 하는지 또는 선택된 문자를 입력하고 새로운 문자 입력을 시작해야 하는지).
본 발명의 멀티 탭(문자 순환) 양태에 있어서, 키스트로크 간의 경과 시간은 사용자가 최후의 키스트로크를 통해 새로운 문자를 입력하려고 의도하였는지 또는 선택된 현재 문자를 변경하려고 의도하였는지 결정하기 위한 확률 추정치를 제공하기 위해 사용된다.
본 발명의 양호한 실시형태에 있어서, 예측 엔진은 제1 탭(즉, '제1 사용자 선택 이벤트')과 미리 정해진 시구간의 만료 사이의 확률 함수(P(t))를 시그모이드 함수로서 모델링하도록 구성된다. 그러므로 본 발명의 시스템은 (결정론적 접근법을 구현하는 대신에) 시구간의 만료 전에 불명료성을 제공하여 사용자가 새로운 문자를 시작하려고, 또는 문자 옵션들을 순환함으로써 현재 션택된 문자를 보정하려고 의도한 확률을 결정한다.
적당한 확률 함수의 예는
Figure 112016108078544-pct00006
이다.
여기에서 t는 최초 키 누름 후의 시간이고, tp =0.5는 확률 함수가 0.5의 값을 가질 때의 시간, 즉 사용자가 문자 선택을 통하여 순환하려고 의도한 확률과 동일 키로부터 새로운 문자 순환을 시작하려고 의도한 확률이 동일한 경우의 시간이다. 도 6b에 도시된 예에서, 경과 시간에 대한 미리 정해진 역치는 450초이고 tp=0.5=300ms이다.
따라서 tp는 두번째 탭(즉, 제2 사용자 선택 이벤트)이 기존 문자 순환 내의 문자를 보정하기 보다는 새로운 문자 순환을 시작하려고 의도한 것이라고 예측 엔진이 결정하기 위한 역치 시간이다. 예측 엔진은 tp를 경과 시간의 역치쪽으로 또는 경과 시간의 역치로부터 멀어지게 바이어스시키도록 구성될 수 있고, 이때 확률은 이전 문자를 입력하고 새로운 문자 시퀀스를 시작하기 위해 1이다. 그 이유는 사용자들이 다른 속도로 연속 탭을 입력할 수 있기 때문이다. 역치 경과 시간은 사용자에 의해 수동으로 변경될 수 있고 또는 미리 설정될 수 있다. 예측 엔진은 각각의 멀티 문자 키에 대하여 tp 값을 보유하고 선택적으로 갱신하도록 구성될 수 있다. 예를 들면, 사용자는 하나의 멀티 문자 키가 다른 것보다 더 거북한 위치에 있는 것을 알 수 있다. 이것은 그 키의 탭이 더 접근하기 쉬운 키의 탭보다 시간적으로 더 넓게 간격진다는 것을 의미한다.
따라서, 미리 정해진 만료 기간과 같거나 그보다 더 큰 기간만큼 시간적으로 분리되지 않은 2개의 탭에 대하여 2가지의 입력 옵션이 가능할 것이다. 예를 들어서 만일 사용자가 키 A|B|C에서 더블 탭하면, 예측 엔진은 하기의 2개의 입력을 제공한다.
P(B) = 1-P(t1)
P(A, A) = P(t1)
여기에서 t1은 첫번째 탭과 두번째 탭 사이의 시구간이고, P(A, A)는 사용자가 문자 'A'를 2회 입력하려고 의도한 확률이며, P(B)는 사용자가 문자 'B'를 입력하려고 의도한 확률이다.
추가의 탭(즉, 3회 이상의 탭)이 있는 경우, 예측 엔진은 새로운 탭이 새로운 문자를 의도하는지 또는 예를 들면 키 'A|B|C'의 세번째 탭에 대하여 이전의 대안예 각각에 대한 기존 문자의 변경을 의도하는지 고려한다.
Figure 112016108078544-pct00007
여기에서 t2는 두번째 탭과 세번째 탭 사이의 시간이다.
필요한 계산을 줄이기 위해, 예측 엔진은 고려되는 가능한 문자 입력 옵션의 수를 줄이도록 구성될 수 있다. 양호한 실시형태에 있어서, 예측 엔진은 각각의 키 누름에 대하여 N개의 가장 가능성 높은 후보 문자를 취하도록 구성된다.
대안적으로, 예측 엔진은 역치 확률 값 이상의 관련 확률을 가진 문자만을 보유하도록 구성될 수 있고, 이때 상기 역치 값은 미리 규정된 레벨로 경험적으로 설정되거나 사용에 의한 실험에 의해 결정되거나 또는 메모리 또는 프로세서의 구속과 같은 장치 구속을 이용하여 동적으로 설정된다.
문자들을 통해 순환하는 상기 멀티 탭 접근법에 대하여, 동일한 키에서의 탭이 그 키의 선택에 대응하고 탭의 위치에서의 임의의 차는 그 차가 일반적으로 무시될 수 있기 때문에 무시된 것으로 가정한다. 그러나 만일 원한다면 사용자가 그 멀티 키를 선택하려고 의도한 확률뿐만 아니라 여기에서 설명한 것처럼 사용자가 그 키에서 문자들을 통해 순환하려고 의도한 확률을 고려할 수 있다(2D 가우시안 접근법을 통해).
본 발명은 또한 사용자가 특정의 입력 옵션을 선택하거나 식별하려고 의도한 확률을 예측 엔진을 이용하여 결정하는 대응하는 방법을 제공한다.
본 발명의 방법의 제1 양태에 있어서, 멀티 입력 키를 통해 이용 가능한 복수의 입력 옵션을 디스플레이하는 사용자 인터페이스의 입력을 사용자가 선택하려고 의도한 확률을 예측 엔진을 이용하여 결정하는 방법이 제공된다. 도 8을 참조하면, 방법은 멀티 입력 타겟을 선택하기 위한 제1 사용자 선택 이벤트를 사용자 인터페이스에 의해 수신하는 단계(10)와; 디스플레이된 복수의 입력 옵션 중 임의 입력을 선택하기 위한 제2 사용자 선택 이벤트- 제2 사용자 선택 이벤트는 제1 사용자 선택 이벤트로부터 공간적으로 분리된 것임 -를 사용자 인터페이스에 의해 수신하는 단계(20)와; 사용자가 선택된 입력 확률이 아닌 복수의 입력 중의 임의 입력을 선택하려고 의도한 확률을 상기 제2 사용자 선택 이벤트에 기초하여 결정하는 단계(30)를 포함한다.
본 발명의 방법의 제2 양태에 있어서, 사용자 인터페이스에서 제1 사용자 선택 이벤트 및 제2 사용자 선택 이벤트에 기초하여 2개의 입력 옵션 중의 하나를 사용자가 선택하려고 의도한 확률을 예측 엔진을 이용하여 결정하는 방법이 제공되고, 여기에서 사용자 인터페이스는 사용자 선택에 의한 입력을 위해 이용 가능한 복수의 입력 옵션과 연관된 멀티 입력 타겟을 포함한다. 도 9를 참조하면, 이 방법은 복수의 입력 옵션 중의 제1 입력을 식별하기 위해 멀티 입력 타겟에 관한 제1 사용자 선택 이벤트를 사용자 인터페이스에 의해 수신하는 단계(100)와; 상기 제1 입력으로부터의 식별된 입력을 상기 복수의 입력 옵션 중의 제2 입력으로 변경하기 위해 멀티 입력 타겟에 관한 제2 사용자 선택 이벤트를 제2 사용자 인터페이스에 의해 수신하는 단계(200)와; 제1 사용자 선택 이벤트와 제2 사용자 선택 이벤트 간의 경과 시간을 상기 예측 엔진을 이용하여 결정하는 단계(300)와; 상기 경과 시간이 미리 정해진 역치 미만인지 상기 예측 엔진을 이용하여 결정하는 단계(400)와; 상기 경과 시간에 기초하여, 사용자가 제2 입력을 선택하려고 의도한 확률 및 사용자가 제1 입력을 입력하고 그 다음에 다시 제1 입력을 선택하려고 의도한 확률을 결정하는 단계(500)를 포함한다. 상기 미리 정해진 역치는 만일 상기 경과 시간이 미리 정해진 역치보다 더 크면 상기 제1 입력이 1의 확률을 갖고서 시스템에 입력되고 상기 제1 입력이 다시 선택되도록 설정된다.
본 발명의 방법의 다른 양태는 상기 시스템 설명에 유추하여 쉽게 결정될 수 있다.
본 발명은 또한 프로세서가 본 발명에 따른 하나 이상의 방법을 수행하게 하는 컴퓨터 프로그램 수단이 저장된 컴퓨터 판독 가능 매체를 포함한 컴퓨터 프로그램 제품을 제공한다.
컴퓨터 프로그램 제품은 데이터 캐리어 외부의 프로세서, 즉 전자 장치의 프로세서가 본 발명에 따른 방법을 수행하게 하는 컴퓨터 프로그램 수단이 저장된 데이터 캐리어일 수 있다. 컴퓨터 프로그램 제품은 예를 들면 데이터 캐리어로부터, 인터넷 또는 다른 이용 가능한 네트워크를 통해 공급자로부터 다운로드하기 위해 또한 사용할 수 있다. 예를 들면 모바일 장치(예를 들면, 이동 전화기 또는 태블릿)에 앱으로서 다운로드되거나, 또는 다운로드된 컴퓨터 프로그램 수단을 실행하기 위한 프로세서를 포함한 컴퓨터, 모바일 장치, 태블릿 또는 컴퓨터에 다운로드될 수 있다.
상기 설명은 단지 예를 든 것이고, 전술한 실시형태에 대하여 특허 청구범위에서 규정되는 발명의 범위로부터 벗어나지 않고 각종 변경 및 수정이 이루어질 수 있다는 것을 이해하여야 한다.

Claims (37)

  1. 프로세서 및 메모리를 포함하는 시스템으로서, 상기 메모리는 컴퓨터 판독가능 명령어들을 저장하고, 상기 컴퓨터 판독가능 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
    복수의 입력 옵션들의 출력을 트리거하는 제1 사용자 선택 이벤트의 수신에 응답하여, 사용자 선택에 의한 입력에 이용가능한 상기 복수의 입력 옵션들과 연관된 멀티 입력 키보드 타겟을 포함하는 사용자 인터페이스를 렌더링하고;
    상기 복수의 입력 옵션들 중 하나를 트리거하는 제2 사용자 선택 이벤트에 응답하여 상기 복수의 입력 옵션들 중의 일 입력 옵션을 식별하고 - 상기 사용자 인터페이스에서 수신된 상기 제2 사용자 선택 이벤트의 위치는 상기 사용자 인터페이스에서 수신된 상기 제1 사용자 선택 이벤트의 위치로부터 공간적으로 분리된 것임 -;
    상기 식별된 입력 옵션을 이용하여 키보드 문자의 선택 - 상기 키보드 문자의 선택은 상기 복수의 입력 옵션들 중 제1 키보드 문자에 대응함 - 을 수행하고;
    상기 제1 사용자 선택 이벤트 및 상기 제2 사용자 선택 이벤트 각각에서의 사용자 입력들로부터의 위치 및 시간 특성들에 기초하여, 상기 사용자가 상기 복수의 입력 옵션들 중 상기 식별된 입력 옵션이 아닌 입력 옵션을 선택하려고 의도한 확률을 결정하도록 구성된 예측 엔진을 실행하고 - 상기 사용자가 선택하려고 의도한 입력 옵션은 제2 키보드 문자에 대응함 -;
    상기 예측 엔진에 의해 결정된 상기 확률에 기초하여, 상기 키보드 문자의 선택을, 상기 제1 키보드 문자에서 상기 제2 키보드 문자로 변경하고; 그리고
    상기 선택된 키보드 문자를 상기 시스템에 입력하게 하는 것인, 시스템.
  2. 제1항에 있어서,
    상기 제1 사용자 선택 이벤트는 첫번째 탭(tap) 또는 드래그 앤 리프트(drag and lift) 제스처의 시작에 대응하고, 상기 제2 사용자 선택 이벤트는 두번째 탭 또는 드래그 앤 리프트 제스처의 리프트에 대응하는 것인, 시스템.
  3. 제1항에 있어서,
    상기 예측 엔진은 상기 제1 사용자 선택 이벤트의 제1 위치와 상기 제2 사용자 선택 이벤트의 제2 위치 간의 거리 및 방향을 결정하도록 구성되는 것인, 시스템.
  4. 제1항에 있어서,
    상기 예측 엔진은 상기 복수의 입력 옵션들 중 각 입력 옵션에 대한 4D 확률 분포 모델을 포함하는 것인, 시스템.
  5. 제4항에 있어서,
    상기 예측 엔진은, 상기 제1 사용자 선택 이벤트의 제1 위치 및 상기 제2 사용자 선택 이벤트의 제2 위치를 가지는 입력 옵션 또는 상기 제1 위치, 상기 제1 위치와 상기 제2 위치 사이의 거리 및 방향을 가지는 입력 옵션과 연관된 모델을 질문(querying)하는 것에 의해, 상기 사용자가 상기 복수의 입력 옵션들 중의 일 입력 옵션을 선택하려고 의도한 확률을 결정하는 것인, 시스템.
  6. 제4항에 있어서,
    상기 모델은 4D 가우시안(Gaussian)인 것인, 시스템.
  7. 제1항에 있어서,
    상기 제1 사용자 선택 이벤트는 플릭(flick) 제스처의 시작에 대응하고 상기 제2 사용자 선택 이벤트는 상기 플릭 제스처의 종료에 대응하며, 상기 예측 엔진은,
    상기 시작 위치 및 상기 종료 위치로부터 플릭 방향을 결정하고; 그리고
    상기 플릭 제스처의 시작 위치 및 방향에 기초하여 상기 사용자가 상기 복수의 입력 옵션들 중 상기 입력 옵션을 선택하려고 의도한 확률을 결정하도록 구성되는 것인, 시스템.
  8. 제1항에 있어서,
    상기 예측 엔진은 사용자가 상기 복수의 입력 옵션들 중 각각에 대해 주어진 입력 옵션을 선택하려고 의도한 확률을 생성하는 것인, 시스템.
  9. 제1항에 있어서,
    상기 사용자 인터페이스는 복수의 멀티 입력 키보드 타겟을 포함하고, 상기 예측 엔진은 또한, 상기 제1 사용자 선택 이벤트에 기초하여 상기 사용자가 선택된 멀티 입력 키보드 타겟을 선택하려고 의도한 확률을 결정하도록 구성되는 것인, 시스템.
  10. 제1항에 있어서,
    상기 제1 사용자 선택 이벤트에 응답하여, 상기 사용자 인터페이스는 공간적으로 분리된 상기 복수의 입력 옵션들을 디스플레이하도록 구성되는 것인, 시스템.
  11. 제1항에 있어서,
    상기 예측 엔진은 상기 복수의 입력 옵션들의 각 입력 옵션마다 하나씩 복수의 모델을 포함하고, 각각의 모델은 상기 복수의 입력 옵션들 중 일 입력 옵션에 대응하는 이전의 제1 및 제2 사용자 선택 이벤트를 그 입력 옵션에 관련시키며, 상기 예측 엔진은, 상기 복수의 모델과 연합해서, 상기 제1 및 제2 사용자 선택 이벤트가 상기 복수의 입력 옵션들 중 특정 입력 옵션에 관련되는 확률을 생성하도록 구성되는 것인, 시스템.
  12. 제1항에 있어서,
    상기 멀티 입력 키보드 타겟은 복수의 문자 입력 옵션들을 나타내는 가상 키보드 상의 멀티 문자 키인 것인, 시스템.
  13. 프로세서 및 메모리를 포함하는 시스템에 있어서, 상기 메모리는 컴퓨터 판독가능 명령어들을 저장하고, 상기 컴퓨터 판독가능 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
    사용자 선택에 의한 입력에 이용가능한 복수의 입력 옵션들과 연관된 멀티 입력 키보드 타겟을 렌더링하도록 구성된 사용자 인터페이스를 생성하고 - 상기 복수의 입력 옵션들은 제1 키보드 문자와 연관된 제1 입력 옵션 및 제2 키보드 문자와 연관된 제2 입력 옵션을 포함함 -;
    상기 제1 입력 옵션을 트리거하는 상기 멀티 입력 키보드 타겟에 디렉팅된(directed) 제1 사용자 선택 이벤트의 수신에 응답하여 상기 복수의 입력 옵션들 중 상기 제1 입력 옵션을 식별하고;
    상기 멀티 입력 키보드 타겟에 디렉팅된 제2 사용자 선택 이벤트의 수신에 대한 응답으로, 상기 사용자 인터페이스 내의 상기 제1 사용자 선택 이벤트의 위치 및 상기 사용자 인터페이스 내의 상기 제2 사용자 선택 이벤트의 위치에 기초하여,식별된 입력 옵션을, 상기 복수의 입력 옵션들 중의 상기 제1 입력 옵션에서 제2 입력 옵션으로 변경하고 - 상기 위치들은 상기 멀티 입력 키보드 타겟에 대응하는 상기 사용자 인터페이스의 영역 내부에 있음 -;
    상기 식별된 입력 옵션을 이용하여 상기 제2 키보드 문자의 선택을 수행하고;
    예측 엔진을 실행하고, 상기 예측 엔진은,
    상기 제1 사용자 선택 이벤트와 상기 제2 사용자 선택 이벤트 사이의 경과 시간을 결정하고;
    상기 경과 시간이 미리 정해진 역치 미만임을 결정하고; 그리고
    상기 경과 시간에 기초하여, 상기 사용자가 상기 제1 입력 옵션을 연속적으로 선택하려고 의도한 확률과 비교하여 상기 사용자가 상기 제1 입력 옵션을 선택한 다음에 상기 제2 입력 옵션을 선택하려고 의도한 확률을 결정하도록 구성되는 것이고,
    상기 사용자가 상기 제1 입력 옵션을 연속적으로 선택하려고 의도한 확률이 상기 사용자가 상기 제1 입력 옵션을 선택한 다음에 상기 제2 입력 옵션을 선택하려고 의도한 확률보다 큰 것에 기초하여, 상기 제2 사용자 선택 이벤트로부터 발생된 상기 제2 키보드 문자의 선택을 상기 제1 키보드 문자의 선택으로 변경하고 - 상기 미리 정해진 역치는, 상기 경과 시간이 상기 미리 정해진 역치보다 더 큰 경우 상기 사용자가 상기 제1 입력 옵션을 연속적으로 선택하려고 의도한 확률에 대해 1의 확률이 이용되도록 설정됨 -; 그리고
    상기 선택된 키보드 문자를 상기 시스템에 입력하게 하는 것인, 시스템.
  14. 제13항에 있어서,
    상기 멀티 입력 키보드 타겟은 복수의 문자 입력 옵션들을 나타내는 가상 키보드 상의 멀티 문자 키인 것인, 시스템.
  15. 제14항에 있어서,
    상기 제1 사용자 선택 이벤트는 상기 제1 입력 옵션을 선택하는 상기 멀티 입력 키보드 타겟 상의 첫번째 탭에 대응하고, 상기 제2 사용자 선택 이벤트는 상기 선택된 입력 옵션을 상기 제2 입력 옵션으로 변경하는 상기 멀티 입력 키보드 타겟 상의 두번째 탭에 대응하는 것인, 시스템.
  16. 제13항에 있어서,
    상기 제1 사용자 선택 이벤트와 상기 미리 정해진 역치 간의 확률은 시그모이드(sigmoid) 함수에 의해 모델링되는 것인, 시스템.
  17. 제16항에 있어서,
    상기 시그모이드 함수는
    Figure 112021054941145-pct00029
    의 형태를 취하고, 여기에서 P는 상기 사용자가 상기 제2 입력 옵션을 입력하려고 의도한 추정 확률이고, t는 상기 제1 사용자 선택 이벤트와 상기 제2 사용자 선택 이벤트 사이의 경과 시간이며, tp=0.5는 모델링된 시그모이드 확률 분포에서 상기 확률이 0.5와 동일해지는 경과 시간인 것인, 시스템.
  18. 멀티 입력 키를 통해 이용 가능한 복수의 입력 옵션들을 디스플레이하는 시스템의 사용자 인터페이스의 입력 옵션을 사용자가 선택하려고 의도한 확률을 예측 엔진을 이용하여 결정하는 방법에 있어서,
    멀티 입력 키를 선택하기 위한 제1 사용자 선택 이벤트를 상기 사용자 인터페이스에 의해 수신하는 단계;
    디스플레이된 상기 복수의 입력 옵션들 중의 일 입력 옵션을 선택하기 위한 제2 사용자 선택 이벤트 - 상기 제2 사용자 선택 이벤트의 위치는 상기 제1 사용자 선택 이벤트의 위치로부터 공간적으로 분리되고, 상기 복수의 입력 옵션들은 상기 제1 사용자 선택 이벤트에 응답하여 제공됨 - 를 상기 사용자 인터페이스에 의해 수신하는 단계;
    선택된 입력 옵션을 이용하여 키보드 문자의 선택 - 상기 키보드 문자의 선택은 상기 복수의 입력 옵션들 중 제1 키보드 문자에 대응함 - 을 수행하는 단계;
    상기 제1 사용자 선택 이벤트 및 상기 제2 사용자 선택 이벤트 각각에서의 사용자 입력들로부터의 위치 및 시간 특성들에 기초하여, 상기 사용자가 상기 복수의 입력 옵션들 중 선택된 입력 옵션이 아닌 입력 옵션을 선택하려고 의도한 확률을 결정하는 단계 - 상기 사용자가 선택하려고 의도한 입력 옵션은 제2 키보드 문자에 대응함 -;
    상기 예측 엔진에 의해 결정된 상기 확률에 기초하여, 상기 키보드 문자의 선택을, 상기 제1 키보드 문자에서 상기 제2 키보드 문자로 변경하는 단계; 및
    상기 선택된 키보드 문자를 상기 시스템에 입력하는 단계
    를 포함하는, 확률을 예측 엔진을 이용하여 결정하는 방법.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020167030996A 2014-04-04 2015-04-02 멀티 입력 타겟과 연관된 하나 이상의 입력을 입력하는 시스템 및 방법 KR102335883B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2014-077801 2014-04-04
JP2014077801A JP6548358B2 (ja) 2014-04-04 2014-04-04 マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法
PCT/GB2015/051050 WO2015150832A1 (en) 2014-04-04 2015-04-02 System and method for inputting one or more inputs associated with a multi-input target

Publications (2)

Publication Number Publication Date
KR20160142867A KR20160142867A (ko) 2016-12-13
KR102335883B1 true KR102335883B1 (ko) 2021-12-03

Family

ID=52824499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167030996A KR102335883B1 (ko) 2014-04-04 2015-04-02 멀티 입력 타겟과 연관된 하나 이상의 입력을 입력하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US10802710B2 (ko)
EP (1) EP3114546B1 (ko)
JP (1) JP6548358B2 (ko)
KR (1) KR102335883B1 (ko)
CN (1) CN106164893B (ko)
WO (1) WO2015150832A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6620480B2 (ja) * 2015-09-15 2019-12-18 オムロン株式会社 文字入力方法および文字入力用のプログラムならびに情報処理装置
CN107015736B (zh) * 2016-01-27 2020-08-21 北京搜狗科技发展有限公司 一种按键处理方法和装置、一种用于按键处理的装置
US10771427B2 (en) * 2016-02-18 2020-09-08 Versign, Inc. Systems and methods for determining character entry dynamics for text segmentation
JP7053216B2 (ja) * 2017-10-23 2022-04-12 トヨタ自動車株式会社 車両操作装置および車両システム
CN108228910B (zh) * 2018-02-09 2023-05-12 艾凯克斯(嘉兴)信息科技有限公司 一种将循环神经网络应用在关联选择问题上的方法
CN110888577B (zh) * 2018-09-10 2021-09-28 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
JP7143792B2 (ja) 2019-03-14 2022-09-29 オムロン株式会社 文字入力装置、文字入力方法、及び、文字入力プログラム
WO2023136575A1 (en) * 2022-01-11 2023-07-20 Samsung Electronics Co., Ltd. Method and device of providing adaptive user interface based on user functional elements

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231768A (ja) * 2009-03-27 2010-10-14 Mitsubishi Electric Research Laboratories Inc マルチクラス分類器をトレーニングする方法
JP2012089020A (ja) * 2010-10-21 2012-05-10 Kyocera Corp 表示装置
US20120223889A1 (en) * 2009-03-30 2012-09-06 Touchtype Ltd System and Method for Inputting Text into Small Screen Devices
JP2014010688A (ja) * 2012-06-29 2014-01-20 Kddi Corp 入力文字推定装置およびプログラム
US20140082545A1 (en) * 2012-09-18 2014-03-20 Google Inc. Posture-adaptive selection

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US7382359B2 (en) 2004-06-07 2008-06-03 Research In Motion Limited Smart multi-tap text input
JP2008250378A (ja) 2007-03-29 2008-10-16 Sanyo Electric Co Ltd 入力文字列予測装置および入力文字列予測プログラム
US8059101B2 (en) * 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8170869B2 (en) 2007-06-28 2012-05-01 Panasonic Corporation Method to detect and assist user intentions with real time visual feedback based on interaction language constraints and pattern recognition of sensory features
US20090058823A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
CN101809524B (zh) * 2007-09-24 2013-04-03 诺基亚公司 用于字符输入的方法和设备
TWI393029B (zh) * 2007-12-31 2013-04-11 Htc Corp 電子裝置以及於電子裝置上執行指令之方法
US8589149B2 (en) * 2008-08-05 2013-11-19 Nuance Communications, Inc. Probability-based approach to recognition of user-entered data
GB201016385D0 (en) * 2010-09-29 2010-11-10 Touchtype Ltd System and method for inputting text into electronic devices
GB201108200D0 (en) * 2011-05-16 2011-06-29 Touchtype Ltd User input prediction
US20110264442A1 (en) * 2010-04-22 2011-10-27 Microsoft Corporation Visually emphasizing predicted keys of virtual keyboard
KR101520455B1 (ko) * 2010-11-04 2015-05-21 뉘앙스 커뮤니케이션즈, 인코포레이티드 자동 수정을 갖는 키보드 시스템용 맞춤법 검사
US9342155B2 (en) * 2011-03-31 2016-05-17 Nokia Technologies Oy Character entry apparatus and associated methods
US9262076B2 (en) * 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Soft keyboard interface
CN102890615B (zh) 2012-09-21 2015-10-07 百度在线网络技术(北京)有限公司 一种基于触摸屏的拼音输入方法和装置
US20140198047A1 (en) * 2013-01-14 2014-07-17 Nuance Communications, Inc. Reducing error rates for touch based keyboards
US20150100911A1 (en) * 2013-10-08 2015-04-09 Dao Yin Gesture responsive keyboard and interface
US10101822B2 (en) * 2015-06-05 2018-10-16 Apple Inc. Language input correction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231768A (ja) * 2009-03-27 2010-10-14 Mitsubishi Electric Research Laboratories Inc マルチクラス分類器をトレーニングする方法
US20120223889A1 (en) * 2009-03-30 2012-09-06 Touchtype Ltd System and Method for Inputting Text into Small Screen Devices
JP2012089020A (ja) * 2010-10-21 2012-05-10 Kyocera Corp 表示装置
JP2014010688A (ja) * 2012-06-29 2014-01-20 Kddi Corp 入力文字推定装置およびプログラム
US20140082545A1 (en) * 2012-09-18 2014-03-20 Google Inc. Posture-adaptive selection

Also Published As

Publication number Publication date
US10802710B2 (en) 2020-10-13
CN106164893A (zh) 2016-11-23
WO2015150832A1 (en) 2015-10-08
JP6548358B2 (ja) 2019-07-24
KR20160142867A (ko) 2016-12-13
CN106164893B (zh) 2020-06-05
EP3114546A1 (en) 2017-01-11
JP2015200948A (ja) 2015-11-12
US20170192671A1 (en) 2017-07-06
EP3114546B1 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
KR102335883B1 (ko) 멀티 입력 타겟과 연관된 하나 이상의 입력을 입력하는 시스템 및 방법
US10642933B2 (en) Method and apparatus for word prediction selection
US8922489B2 (en) Text input using key and gesture information
EP3420442B1 (en) System and method for multiple input management
US8760428B2 (en) Multi-directional calibration of touch screens
EP2653955B1 (en) Method and device having touchscreen keyboard with visual cues
US10037139B2 (en) Method and apparatus for word completion
US20180136837A1 (en) Advanced virtual keyboard
US20150193011A1 (en) Determining Input Associated With One-to-Many Key Mappings
US20160266659A1 (en) Method and apparatus for word prediction using the position of a non-typing digit
US20130021242A1 (en) Advanced handwriting system with multi-touch features
EP2778859B1 (en) Method and apparatus for word prediction using the position of a non-typing digit
JP2019083057A (ja) マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法
KR20210045354A (ko) 터치스크린 상의 터치의 신뢰성을 향상시키기 위한 모바일 디바이스 및 방법
CN104238947A (zh) 一种触摸屏的目标按键确定方法和装置
CA2846561C (en) Method and apparatus for word prediction selection
EP2778860A1 (en) Method and apparatus for word prediction selection
EP2770407B1 (en) Method and apparatus for word completion

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant