KR100723738B1 - 자동 교정 기능을 갖는 키보드 시스템 - Google Patents

자동 교정 기능을 갖는 키보드 시스템 Download PDF

Info

Publication number
KR100723738B1
KR100723738B1 KR1020017014956A KR20017014956A KR100723738B1 KR 100723738 B1 KR100723738 B1 KR 100723738B1 KR 1020017014956 A KR1020017014956 A KR 1020017014956A KR 20017014956 A KR20017014956 A KR 20017014956A KR 100723738 B1 KR100723738 B1 KR 100723738B1
Authority
KR
South Korea
Prior art keywords
word
text
objects
contact
user
Prior art date
Application number
KR1020017014956A
Other languages
English (en)
Other versions
KR20020010151A (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 KR20020010151A publication Critical patent/KR20020010151A/ko
Application granted granted Critical
Publication of KR100723738B1 publication Critical patent/KR100723738B1/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/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
    • 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/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose 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/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
    • 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/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/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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Abstract

단어-레벨 분석을 이용하여 축소형 키보드 상의 사용자 키스트로크 입력에서 부정확성을 자동적으로 교정하는 개선된 텍스트 입력 시스템이 개시된다. 키보드(105)는 접촉-감지 패널 또는 디스플레이 스크린(100)의 일부 또는 기계적 키보드 시스템 일 수 있다. 지정된 자동-교정 키보드 영역(106) 내에서 검출된 입력의 각 시퀀스의 하나 이상의 대체 텍스트 해석을 결정하는 방법 및 시스템이 정의된다. 키스트로크에 대한 실제의 접촉 위치는 특정 키보드 키 영역의 경계 외부에서 발생할 수 있는데, 여기서 각 접촉 위치에서 각각의 대응하는 의도하는 문자까지의 거리는 일반적으로 언어 또는 특정 콘텍스트에서 의도하는 단어의 예상되는 빈도에 따라 증가할 수 있다. 사용자는 발생된 해석중에서 의도하는 단어를 용이하게 선택할 수 있다.
단어-레벨, 키보드, 키스트로크, 텍스트 입력 시스템, 접촉-감지 패널,디스플레이 스크린, 기계적 키보드 시스템, 자동-교정 키보드 영역, 시퀀스, 텍스트 해석

Description

자동 교정 기능을 갖는 키보드 시스템{KEYBOARD SYSTEM WITH AUTOMATIC CORRECTION}
본 발명은 키보드 또는 스크린 터치시 에러로 인한 "슬로피(sloppy)" 텍스트 입력을 자동으로 교정하는 키보드 시스템(keyboard system)을 제공한다. 보다 상세하게는, 본 발명은 사용자 입력시 부정확성(슬로피 텍스트 입력)을 해결하는 워드 레벨 분석을 이용하여, 접촉-감지(touch-sensitive) 패널 또는 디스플레이 스크린 및 기계적 키보드 시스템(mechanical keyboard system) 상에 구현되는 것과 같은 축소형 키보드(reduced keyboard)를 제공한다. 본 발명은, 바람직하게 작은 전자 장치용의 키보드 입력 분야에 관한 것이다.
수년 동안, 포터블 컴퓨터가 점점 작아지고 있다. 보다 작은 포터블 컴퓨터를 제조하려는 노력에서 주요한 크기 제한 요소는 키보드였다. 만일 표준 타이프라이터 크기(standard typewriter-size)의 키가 사용되면, 포터블 컴퓨터는 적어도 키보드 만한 크기이어야 한다. 소형 키보드가 포터블 컴퓨터 상에 사용되어 왔지만, 소형 키보드 키는 사용자에 의해 충분히 정확하고 용이하게 또는 신속하게 조작되기에는 너무 작은 것으로 알려져 있다.
또한 완전한 크기의 키보드를 포터블 컴퓨터에 구현하는 것은 컴퓨터의 진정한 포터블한 사용을 저해한다. 대부분의 포터블 컴퓨터는 사용자로 하여금 양손을 사용하여 타이핑할 수 있도록 하기 위해 평탄한 작업 표면 상에 컴퓨터를 놓지 않고는 조작될 수 없다. 사용자는 서있거나 움직이면서 포터블 컴퓨터를 용이하게 사용할 수 없다. PDA(personal digital Assistant)라고 하는 최근의 작은 포터블 컴퓨터에서, 회사들은 PDA에 핸드라이팅 인식 소프트웨어(handwriting recognition software)를 작성함으로써 이와 같은 문제점을 해결하려 시도하고 있다. 사용자는 접촉-감지 패널 또는 디스플레이 스크린 상에 기록함으로써 텍스트를 직접 입력할 수 있다. 다음에, 이와 같이 손으로 작성한 텍스트는 인식 소프트웨어에 의해 디지털 데이터로 변환된다. 불행하게도, 인쇄 또는 펜으로서의 작성은 일반적으로 타이핑보다 느리다는 사실 이외에, 핸드라이팅 인식 소프트웨어의 정확성과 속도는 오늘날까지 만족적이지 못하다. 설상가상으로, 텍스트 입력을 필요로 하는, 오늘날의 손으로 취급하는 컴퓨팅 장치는 여전히 작아지고 있다. 양방향 페이징, 셀룰러 전화 및 다른 포터블 무선 기술에서의 발전으로, 작고 포터블한 양방향 메시징 시스템, 특히 전자 메일("e-mail")을 송신하고 수신할 수 있는 시스템의 필요성이 생겨나고 있다.
따라서, 컴퓨터에 텍스트의 입력을 위한 훨씬 작은 키보드를 개발하는 것이 바람직할 것이다. 키보드의 크기가 축소됨에 따라, 사용자는 관심있는 문자를 선택하는 것이 점점 힘들게 된다. 일반적으로, 이와 같은 포터블 장치에 이용되는 두가지 종류의 서로 다른 키보드가 존재한다. 하나의 키보드는 손가락 또는 엄지손으로 키를 눌러 활성화되는 기계적인 키의 세트로 구성되는 잘 알려진 기계적인 키보드이다. 그러나, 이들 기계적인 키보드는 타이프라이터, 데스크톱 컴퓨터 및 심지어 "랩탑(laptop)" 컴퓨터와 연관된 표준 크기의 키보드보다 상당히 작은 경향이 있다. 키보드의 보다 작은 물리적 크기의 결과로 인해, 각각의 키가 보다 작아져 인접하는 키에 매우 가까이 놓이게 된다. 이는, 사용자가 의도하지 않는 키를 누르게 할 가능성을 증가시키고, 키스트로크(keystroke) 에러의 가능성은 사용자가 타이핑을 빨리할 수록 증가하게 된다.
흔히 사용되는 다른 키보드 종류는 몇가지 종류의 키보드 오버레이(keyboard overlay)가 인쇄되는 접촉-감지 패널, 또는 키보드 오버레이가 디스플레이될 수 있는 접촉-감지 디스플레이 스크린으로 구성된다. 특정 키보드의 크기 및 성질에 따라, 손가락 또는 스타일러스(stylus)를 사용하여, 사용자가 활성화하고자 하는 키와 연관된 영역 내의 패널 또는 디스플레이 스크린을 접촉할 수 있다. 많은 포터블 장치의 크기 감소로 인하여, 각각의 의도하는 키를 활성화시키기 위해 키보드를 접촉하는데 있어서 충분한 정확성을 달성하기 위해 스타일러스가 흔히 사용된다. 다시, 이와 같은 작은 크기의 키보드로 인해 각각의 키와 연관된 영역이 작아져서, 보통의 사용자가 매우 정확하고 신속하게 타이핑하는 것이 상당히 힘들다.
기계적 키보드에서의 종래 개발의 한 분야는 흔한 키보드에서 찾을 수 있는 것들보다 훨씬 작은 키를 사용하는 것을 고려하였다. 보다 작은 키를 사용하여, 사용자는 각각의 키스트로크(keystroke)를 제어하는데 많은 신경을 써야 한다. 한가지 방법(미국특허 제5,612,690호)은 네개의 소형 키를 동시에 사용하여 주요 문자(알파벳)을 정의하고, 주요 문자 행 간의 보조 문자 행들(숫자와 같은 것)을 연결하는 시스템을 제안한다. 보조 문자를 선택하는 것은, 주변의 주요 문자의 각각으로부터 소형 키를 누르는 것을 포함한다. 이와 같은 식으로 보다 작은 키를 그룹하면, 인접하는 작은 키로 구성된 보다 큰 명확한 가상 키를 만들게 되어, 손가락을 사용하여 가상 키가 눌려지기에 충분히 크다. 그러나, 손가락은 네개의 인접하는 키를 동시에 누르기 위해 이들 간의 경계의 "십자선(cross-hairs)" 상에서 키들을 다소 정확하게 접촉하여야만 한다. 이는 충분히 정확하고 신속하게 타이핑하는 것을 힘들게 한다.
터치 스크린과 기계적 키보드 모두에 있어서의 종래 개발의 다른 분야는 훨씬 작은 양의 완전한 크기의 키를 사용하는 것을 고려하였다. 몇개의 키를 사용하면, 각 하나의 키 누름은 다수의 글자와 연관되어 있어 각 키의 활성화는 글자가 의도되는 것에 대해 모호해진다. 터치-톤(touch-tone) 전화기의 키패드 배치에 의해 제안된 것으로, 많은 축소형 키보드들은 키들의 3-대-4 배열을 사용하였다. 여기서, 각각의 키는 세개 또는 네개 문자(미국 특허 제5,818,437호)와 연관되어 있다. 이와 같은 키보드 상에서 키스트로크 시퀀스(keystroke sequence)의 모호성을 해결하기 위한 몇가지 방법이 제안되었다. 비록 이 방법이 제한된 수의 키를 갖는 이와 같은 키보드에 장점이 있지만, 완전한 키를 갖는 축소된 크기의 키보드에는 적용할 수 없다.
터치 스크린 키보드에서의 다른 방법은, 특정 문자의 디스플레이 위치의 중심에 근접하지 않는 키스트로크에 대해 어떤 문자가 발생되어야 하는 지를 판단하기 위해, 바로 선행하는 몇몇 문자를 분석하는 것을 고려하였다.(미국특허 제5,748,512호) 키보드가 작은 터치 스크린에 디스플레이될 때, 문자로부터 중심을 벗어난 키스트로크가 검출된다. 상기 소프트웨어는 이전에 타이핑된 텍스트가 이력(history) 또는 문맥 내의 그 빈도(frequency)에 대해 등급이 매겨진 텍스트 스트링의 어휘와 같은 공지의 조합에 대해서, 두개 또는 세개의 타이핑된 문자의 가능한 시퀀스의 가능한 텍스트 스트링들을 비교한다. 시스템에 의해 발생된 문자가 사용자가 의도하는 문자가 아닐 때, 발생된 문자가 다음 키스트로크에 대한 확률을 판단하는데 사용될 수 있기 때문에, 사용자는 다음 문자의 선택을 진행하기 전에 문자를 교정하여야 한다.
근본적인 문제는, 키보드의 키를 활성화하려는 사용자의 시도 결과인 특정 활성화가 사용자의 의도에 정확하게 부합하지 못한다는 것이다. 터치 스크린 키보드 상에서, 사용자의 손가락 또는 스타일러스는 문자를 잘못 치거나 또는 특정 문자와 연관되지 않은 경계 영역에 있는 키들 사이를 칠 수 있다. 축소된 기계적 키보드를 사용하여, 소정의 키누름은 키를 잘못 활성화시킬 수 있거나 또는 두개 또는 세개 키들을 동시에 또는 신속한 시퀀스로 인접하는 키를 활성화시키는 "차환(roll-over)" 동작으로 활성화시킬 수 있다. 다른 예는, 임의의 특정 공간 또는 키를 끊임없이 치는 능력이 제한되거나 또는 (스타일러스와 같은) 입력을 하는데 사용되는 장치 또는 (절단 수술을 받을 사람 또는 장갑을 낀 손 또는 장갑을 낀 손가락의 경우에서와 같이) 수족이 목표로 하는 키 또는 문자 공간보다 너무 큰 제한된 범위의 행동 또는 모터 제어(motor control)로서 사용자에 의해 조작되는 공통 키보드를 포함한다.
발명의 요약
본 발명은 단어 레벨의 비모호성(disambiguation)를 이용하여 사용자 키스트로크 입력에 있어서의 부정확성을 자동적으로 교정하는 개선된 텍스트 입력 시스템을 제공한다. 특히, 본 발명에 따른 텍스트 입력 시스템은,
(a) 복수의 알파벳 문자를 구비하는 자동-교정 키보드 영역(auto-correcting keyboard region)을 갖는 접촉-감지면(touch sensitive surface)을 구비한 사용자 입력 장치로서, 상기 복수의 문자 각각이 자동-교정 키보드 영역의 공지된 좌표를 갖는 위치에 대응하고, 사용자가 자동-교정 키보드 영역 내의 사용자 입력 장치를 접촉할 때마다 사용자 접촉과 연관된 위치가 결정되고, 결정된 접촉 위치가 접촉 위치의 현재 입력 시퀀스에 부가되는, 상기 사용자 입력 장치;
(b) 각각이 사용 빈도와 추가로 연관된 복수의 오브젝트를 갖는 메모리;
(c) 텍스트 디스플레이 영역을 갖는 출력 장치; 및
(d) 사용자 입력 장치, 메모리, 및 출력 장치에 결합된 프로세서
를 구비하며, 프로세서는
(i) 접촉점의 입력 시퀀스 내의 각각의 결정된 접촉 위치에 대해, 접촉 위치와, 자동-교정 키보드 영역 내의 하나 또는 복수의 문자에 대응하는 공지된 좌표 위치 간의 거리 값 세트를 계산하는 거리 값 계산 구성요소,
(ii) 각각의 발생된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 식별된 후보 오브젝트를 식별하고, 하나 또는 복수의 식별된 후보 오브젝트 각각에 대해, 계산된 거리 값 및 오브젝트에 연관된 사용 빈도에 기초하여 정합 매트릭(matching metric)을 계산함으로써 각각의 식별된 후보 오브젝트를 평가하고, 계산된 정합 매트릭 값에 기초하여 평가된 후보 오브젝트의 순위를 매기는 단어 평가 구성요소, 및
(iii) (a)평가된 순위에 따라 하나 또는 복수의 후보 오브젝트를 식별하고, (b)식별된 오브젝트를 사용자에게 제시하여, 사용자로 하여금 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 제시된 오브젝트중의 하나를 선택하게 하는 선택 구성요소를 구비한다.
바람직하게, 상기 선택 구성요소는 (c) 출력 장치 상의 텍스트 디스플레이 영역에 출력하기 위해 제시된 오브젝트 중의 하나의 사용자에 의한 선택을 검출하자마자 비어 있는 시퀀스로 접촉 위치의 현재 입력 시퀀스를 재설정하는 것을 더 포함한다.
바람직하게, (a) 메모리 내의 복수의 오브젝트의 각각은 하나 또는 복수의 선정된 오브젝트 그룹과 추가로 연관되고, (b) 각각의 발생된 입력 시퀀스에 대해, 단어 평가 구성요소는 메모리 내의 하나 또는 복수의 후보 오브젝트 그룹을 식별함으로써 정합 매트릭이 계산되는 오브젝트의 수를 제한하고, 하나 또는 복수의 식별된 후보 오브젝트 그룹의 각각과 연관된 하나 또는 복수의 오브젝트에 대해, 계산된 거리 값 및 각각의 후보 오브젝트와 연관된 사용 빈도에 기초하여 정합 매트릭을 계산하고, 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매긴다. 이는 역으로 하나 이상의 오브젝트 그룹이 소정의 접촉 입력 시퀀스에 대해 어떠한 후보 오브젝트도 포함하지 않은 것으로서 식별되기 때문에, 필요한 계산을 감소시켜, 정합 매트릭이 이렇게 식별된 그룹의 임의의 오브젝트에 대해 계산될 필요가 없다.
바람직하게, 알파벳의 문자들은 거의 표준 "QWERTY" 배치로 자동-교정 키보드 영역 상에 정렬된다. 더욱 바람직하게, 자동-교정 키보드 영역의 폭 대 높이 비는 약 2:1 또는 자동-교정 키보드 영역의 폭 대 높이 비는 2:1 미만이다. 한 실시예에서, 자동-교정 키보드 영역 상에 정렬된 하나 또는 복수의 문자들은 읽기가 어렵다.
바람직하게, 자동-교정 키보드 영역은 하나 또는 복수의 구두점 문자와 연관된 하나 또는 복수의 공지된 위치를 포함하고, 메모리는 자동-교정 키보드 영역의 위치들과 연관된 하나 또는 복수의 구두점 문자를 갖는 하나 또는 복수의 오브젝트를 메모리 내에 포함한다. 바람직하게, 상기 메모리 내의 오브젝트는 하나 또는 복수의 모듈과 추가로 연관되고, 각각의 모듈은 하나 또는 복수의 공통 문자를 갖는 오브젝트 세트를 구비한다. 한 실시예에서, 텍스트 입력 시스템은 후보 오브젝트를 식별하기 위해 단어 평가 구성요소에 의해 모듈이 평가될 것인지를 사용자가 판단할 수 있게 하는 모듈 선택기를 구비한다. 다른 실시예에서, 복수의 모듈은, 단어 어간 모듈(word stem module) 및 접미사 모듈을 포함하되, 각각의 단어 어간 모듈은 어미가 변화되지 않은(uninflected) 단어 어간 오브젝트의 논리적 구성을 포함하고, 각각의 접미사 모듈은 단어 어간에 첨부되어 어미 변화된(inflected) 단어를 형성할 수 있는 접미사의 논리적 구성을 구비하며, 이로 인해, 각각의 단어 어간 모듈은 하나 또는 복수의 접미사 모듈과 연관되고, 단어 평가 구성요소는 입력 시퀀스 내의 초기 접촉 시퀀스에 대해 소정의 단어 어간 모듈에 소정의 단어 어간에 대한 정합 매트릭 값을 계산하여, 계산된 정합 매트릭 값이 선정된 임계치보다 높은 순위에 있을 때마다, 단어 평가 구성요소는 연관된 접미사 모듈에 대해 입력 시퀀스의 나머지 접촉을 평가하고, 이로 인해 단어 평기 구성요소가 선정된 제2 임계치 보다 높은 순위에 있는 연관된 접미사 모듈중의 하나에 소정의 접미사에 대한 정합 매트릭 값을 계산할 때마다, 접미사가 단어 어간에 첨부되어 결정된 단어 어간 정합 매트릭 값과 결정된 접미사 정합 매트릭 값의 함수인 정합 매트릭 값에 대응하는 완료된 단어를 형성한다.
바람직하게, 단어 평가 구성요소는 입력 시퀀스 내의 각각의 접촉 위치에서 후보 오브젝트의 대응하는 위치에 있는 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 오브젝트에 연관된 사용 빈도에 따라 가중 함수를 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산한다. 또한, 자동-교정 키보드 영역과 연관된 알파벳의 각 문자에는 데카르트 좌표(Cartesian coordinate)가 지정되며, 거리 값 계산 구성요소는 접촉 위치와 표준 데카르트 좌표 거리 분석에 따라 문자에 대응하는 위치 간의 거리를 계산한다. 더우기, 자동-교정 키보드 영역과 연관된 알파벳의 각 문자에는 데카르트 좌표가 지정되며, 거리 값 계산 구성요소는 접촉 위치와 표준 데카르트 좌표 거리의 제곱으로서 문자에 대응하는 위치 간의 거리를 계산한다. 거리 값들은 테이블에 놓인다. 게다가, 자동-교정 키보드 영역 상의 각 위치는 수평 및 수직 좌표에 의해 한정되고, 접촉 위치와 문자에 대응하는 공지된 좌표 위치 간의 거리는 수평 및 수직 성분을 포함하며, 수직 성분이 문자로부터의 접촉 위치의 거리를 계산하는데 있어서 가중 인수에 의해 조정된다. 단어 평가 구성요소는 후보 오브젝트와 연관된 사용 빈도에 따라 가중 함수를 적용하기 전에 거리 값의 합계에 증가 값(increment value)을 더한다. 가장 바람직하게, 증가 값은 문자들에 대응하는 자동-교정 키보드 영역 상의 인접하는 위치 간의 평균 거리의 약 두배인 고정 값(fixed value)이다.
메모리 내의 각 후보 오브젝트와 연관된 사용 빈도는 메모리 내의 다른 오브젝트에 대한 오브젝트의 오디날 순위를 포함하고, 보다 높은 상대 빈도와 연관된 오브젝트는 수치적으로 낮은 오디날 순위에 대응한다. 가장 바람직하게, 단어 평가 구성요소에 의해 후보 오브젝트에 대한 합산된 거리값에 적용되는 빈도 가중 함수는 오브젝트의 오디날 순위의 베이스 2 대수(base 2 logarithm)를 거리 값의 합계에 곱하는 것을 포함한다.
바람직하게, 메모리 내의 오브젝트들은 오브젝트들이 동일한 길이의 오브젝트로 구성된 그룹으로 분류되도록 저장된다. 단어 평가 구성요소는 입력 시퀀스 내의 입력의 수와 동일한 길이의 오브젝트의 후보 그룹을 초기에 식별함으로써 정합 매트릭이 계산되도록 오브젝트의 수를 제한한다. 가장 바람직하게, 만일 임계 수 미만의 후보 오브젝트가 임계값보다 나은 정합 매트릭 점수를 갖는 것으로 평가되면, 단어 평가 구성요소는 점차적으로 보다 긴 단어의 오브젝트의 후보 그룹을 식별하고, 임계수의 후보 오브젝트가 상기 임계값보다 나은 정합 매트릭 점수를 갖는 것으로 평가될 때까지 식별된 그룹의 오브젝트에 대한 정합 매트릭을 계산한다. 더우기, 단어 평가 구성요소는 입력 시퀀스 내의 각각의 접촉 위치에서 후보 오브젝트의 대응하는 위치의 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 증가 값을 더하고, 오브젝트와 연관된 사용 빈도에 따라 합계를 가중 함수에 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하되, 거리 값의 합계에 더해진 증가 값은 후보 오브젝트 내의 문자의 수 및 현재 입력 시퀀스 내의 입력의 수 간의 차이에 기초한 값이다.
바람직하게, 단어 평가 구성요소는 입력 시퀀스 내의 각각의 접촉 위치에서 후보 오브젝트의 대응하는 위치의 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 오브젝트와 연관된 사용 빈도에 따라 가중 함수를 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산한다. 더욱 바람직하게, 메모리 내의 각각의 후보 오브젝트에 연관된 사용 빈도는, 오브젝트가 연관되어 있는 메모리 내의 하나 또는 복수의 서브-그룹에서 다른 오브젝트에 대한 오브젝트의 오디날 순위를 구비하되, 상위의 상대 빈도와 연관된 오브젝트가 수치적으로 낮은 오디날 순위에 대응한다. 게다가, 입력 시퀀스 내의 접촉 위치 및 자동-교정 키보드 영역 내의 문자에 대응하는 공지된 좌표 위치 간의 각각의 계산된 거리 값에 대해, 계산된 거리는 임계 거리 값을 초과하고, 문자가 입력 시퀀스의 접촉의 위치에 대응하는 오브젝트의 문자들의 시퀀스 내 위치에서 발생하는 메모리 내의 각 오브젝트에 대해, 오브젝트는 선택을 위해 사용자에게 제시하는 것이 배제된 오브젝트로서 단어 평가 구성요소에 의해 순위가 매겨진다. 메모리 내의 오브젝트의 하나 또는 복수의 식별된 후보 그룹은 선택을 위해 사용자에게 제시되는 것이 배제된 오브젝트를 포함하되, 오브젝트의 하나 또는 복수의 식별된 후보 그룹에서 각 오브젝트에 대한 계산된 거리 값의 합계에 포함된 계산된 거리 값 중의 적어도 하나는 임계 거리 값을 초과한다. 자동-교정 키보드 영역은 각각 하나 또는 복수의 문자의 공지된 위치를 포함하는 두개 이상의 선정된 클러스터링 영역으로 구분되며, 메모리 내의 각각의 오브젝트는 오브젝트의 하나 또는 복수의 처음의 문자에 대응하는 공지된 위치를 포함하는 두개 이상의 선정된 클러스터링 영역들 중 어느 영역에 따라 선정된 그룹에 지정된다. 한 실시예에서, 자동-교정 키보드 영역은 세개의 선정된 클러스터링 영역으로 구분되고, 메모리 내의 각각의 오브젝트는, 오브젝트의 처음 두개의 문자각각에 대응하는 공지된 위치를 포함하는 세개의 선정된 클러스터링 영역 중의 어느 영역에 기초하여 9개의 선정된 그룹 중의 하나에 지정된다.
바람직하게, 자동-교정 키보드 영역 내의 공지된 위치에 대응하는 각각의 문자에 대해, 하나 또는 복수의 공지된 위치 주변에 영역이 선정되고, 선정된 영역 내에 포함되는 입력 접촉 위치와 선정된 영역 내의 공지된 문자 위치 간의 거리가 제로의 거리로서 계산된다. 가장 바람직하게, 선정된 영역의 상대적 크기는 선정된 영역 내의 공지된 위치와 연관된 문자의 상대적 발생 빈도에 대응한다. 문자의 공지된 위치 주변의 선정된 영역은 터치 스크린 상의 디스플레이된 키에 대응한다. 더우기, 자동-교정 키보드 영역 내의 공지된 좌표를 갖는 위치들중의 적어도 하나는 복수의 문자들에 대응하고, 하나 또는 복수의 문자들이 다양한 구별할 수 있는 표시를 포함하며, 복수의 문자들은 단일 어간(base) 문자의 변형 형태를 포함하고, 메모리 내의 오브젝트는 그 올바른 액센트된 문자와 함께 저장된다.
바람직하게, 선택 구성요소는 텍스트 디스플레이 영역 내의 후보 오브젝트 리스트에서 사용자에 의한 선택을 위해 식별된 하나 또는 복수의 후보 오브젝트를 제시한다. 가장 바람직하게, 선택 구성요소는 가장 높은 순위의 후보 오브젝트를 식별하고, 자동-교정 키보드 영역에 가장 가까운 위치의 후보 오브젝트 리스트 내에 식별된 오브젝트를 제시한다. 게다가, 자동-교정 키보드 영역 외부의 접촉과 연관된 문자의 사용자 선택은, 텍스트 디스플레이 영역의 텍스트 삽입점에서 선택된 문자를 출력하기 전에 텍스트 디스플레이 영역의 텍스트 삽입점에서 결정된 가장 높은 순위의 후보 오브젝트를 수락하고 출력한다. 텍스트 디스플레이 영역의 텍스트 삽입점에서 출력하기 위한 오브젝트의 사용자 선택은, 자동-교정 키보드 영역 내의 다음 접촉이 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료시킨다. 또한, 선택 구성요소는 후보 오브젝트를 선택하는데 사용된 구별되는 선택 방식을 검출하고, 오브젝트가 구별되는 방식을 통해 선택시, 시스템은 실제의 접촉 위치의 현재 입력 시퀀스를 선택된 오브젝트를 구성하는 문자들의 좌표 위치에 대응하는 접촉 위치의 입력 시퀀스로 교체하고, 자동-교정 키보드 영역 내의 다음 접촉은 현재의 입력 시퀀스에 첨부된다.
바람직하게, 단어 평가 구성요소는, 접촉 위치의 각 입력 시퀀스에서 각각의 결정된 접촉 위치에 대해, 문자에 대응하는 가장 가까운 공지된 위치를 판정하고, 접촉 위치의 입력 시퀀스에 대응하는 순서로 결정된 대응하는 문자로 구성된 정확한 타이핑(exact typing) 오브젝트를 구성한다. 가장 바람직하게, 접촉 위치의 각 입력 시퀀스에 대해, 선택 구성요소는 선택을 위해 사용자에게 정확한 타이핑 오브젝트를 제시한다. 또한, 사용자는 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 정확한 타이핑 오브젝트를 선택하고, 정확한 타이핑 오브젝트가 메모리 내에 오브젝트 중의 하나로서 이미 포함되어 있지 않을 때, 정확한 타이핑 오브젝트는 메모리에 부가된다. 선택을 위해 사용자에 정확한 타이핑 오브젝트를 디스플레이하기 전에, 선택 구성요소는 각각이 디스플레이를 위해 수락가능한 대체 오브젝트와 연관된 공격적인(offensive) 오브젝트의 데이터베이스에 정확한 타이핑 오브젝트를 비교하되, 정합이 발견되면, 정확한 타이핑 오브젝트를 사용자에게 제시하기 위해 연관된 수락가능한 오브젝트와 교체한다.
바람직하게, 선택 구성요소는 가장 높은 순위의 후보 오브젝트를 식별하고, 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입점에서 식별된 오브젝트를 제시한다. 가장 바람직하게, 텍스트 입력 시스템은 오브젝트 선택 기능과 연관된 선택 키 영역을 더 포함하되, 선택 키 영역이 접촉될 때, 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입점에 제시된 오브젝트는 식별된 하나 또는 복수의 후보 오브젝트의 다음의 가장 높은 순위의 오브젝트로 교체된다.
바람직하게, 텍스트 입력 시스템은 삭제 기능와 연관된 삭제 키 영역을 더 포함하되, 현재의 입력 시퀀스가 적어도 하나의 접촉을 포함하고 삭제 키 영역이 접촉될 때, 현재의 입력 시퀀스를 종료하지 않고, 접촉의 현재 입력 시퀀스로부터 마지막 입력 접촉점이 삭제된다. 다른 바람직한 실시예에서, 텍스트 입력 시스템은 편집 단어 기능(Edit Word function)과 연관된 편집 단어 키 영역을 더 포함하되, 어떠한 현재의 입력 시퀀스도 존재하지 않고 편집 단어 키 영역이 접촉될 때,
(i) 출력 장치 상의 텍스트 디스플레이 영역의 텍스트 삽입점이 이전에 출력된 단어 내에 포함되면, 시스템은 단어의 문자와 연관된 좌표 위치에 대응하는 접촉 위치의 시퀀스로 구성된 새로운 현재의 입력 시퀀스를 수립하고,
(ii) 출력 장치 상의 텍스트 디스플레이 영역의 텍스트 삽입점이 이전에 출력된 두개의 단어 사이에 위치되면, 시스템은 텍스트 삽입점에 인접하는 단어의 문자와 연관된 좌표 위치에 대응하는 접촉 위치의 시퀀스로 구성된 새로운 현재의 입력 시퀀스를 수립하고,
텍스트 입력 시스템은 새로운 현재 입력 시퀀스를 처리하고 새로운 후보 오브젝트의 대응하는 순위를 판정하고, 새로운 후보 오브젝트중의 하나의 선택은 새로운 현재의 입력 시퀀스를 수립하는데 사용된 이전에 출력된 단어를 교체한다.
사용자가 자동-교정 키보드 영역 내의 접촉 행위의 시퀀스를 수행함으로써 입력 시퀀스를 입력함에 따라, 프로세서는 사용자 접촉 행위에 의해 추적된 경로를 따라 두개 이상의 규칙적으로 이격된 정해진 수의 접촉점들의 인덱스된 주 세트로서 시퀀스 내의 각 접촉 행위를 기록함으로써, 그리고 두개 이상의 가능한 주 인덱스 값의 각각에 대해, 각각의 기록되어 인덱스된 주 세트의 접촉점으로부터 하나의, 동일한 인덱스 값을 갖는 접촉점의 시퀀스를 취함으로써 두개 이상의 대응하는 접촉점의 보조 세트를 조립함으로써, 그리고 출력을 위해 사용자에 의해 선택되는 각 단어에 대해, 조립된 접촉점의 보조 세트와 선택된 단어의 문자들에 대응하는 공지된 위치 간의 계산된 거리가 최소화되는 조립된 접촉점의 보조 세트를 식별하는 최소화 주 인덱스 값을 결정함으로써 각각의 사용자 접촉 행위와 연관된 위치를 판정하며, 이로 인해, 사용자 접촉 행위의 다음 입력 시퀀스에 대해, 거리값 계산 구성요소는 결정된 최소화 주 인덱스 값에 대응하여 접촉 행위의 다음 입력 시퀀스로부터 조립된 접촉점 위치의 보조 세트로서 결정된 접촉 위치의 시퀀스에 기초하여 거리 값들을 계산한다. 더욱 바람직하게, 복수의 사용자 입력 시퀀스에 대해, 거리 값 계산 구성요소는 두개 이상의 주 인덱스 값에 대응하는 두개 이상의 조립된 보조 세트의 각각에 대한 거리 계산의 실행 평균(running average)을 계산하고, 이로 인해, 접촉 행위의 다음 입력 시퀀스에 대해, 거리 값 계산 구성요소는 계산된 실행 평균과 관련하여 결정된 최소화 주 인덱스 값에 대응하는 접촉 행위의 다음 입력 시퀀스로부터 조립된 접촉점 위치의 보조 세트로서 결정된 접촉 위치의 시퀀스에 기초하여, 거리 값들을 계산한다. 더우기, 각각의 주 인덱스 값에 대해, 거리 값 계산 구성요소는 각각의 대응하는 기록되어 인덱스된 접촉점의 좌표 위치와 관련하여 각각의 선택된 단어의 각 문자에 대응하는 좌표 위치의 오프셋의 수평 및 수직 성분의 실행 평균을 계산하고, 단어 평가 구성요소에 대한 거리 계산을 수행하는데 있어서, 거리 값 계산 구성요소는 대응하는 주 인덱스 값에 대한 평균 수평 및 수직 오프셋의 함수인 크기만큼 각각의 기록되어 인덱스된 접촉점의 수평 및 수직 좌표를 조정한다.
바람직하게, 각각의 입력 접촉 위치에 대해, 거리 값 계산 구성요소는 각각의 대응하는 입력 접촉 위치의 좌표에 대해 각각의 선택된 단어의 각 문자에 대응하는 좌표 위치의 오프셋의 수평 및 수직 성분의 실행 평균을 계산하고, 단어 평가 구성요소에 대한 거리 계산을 수행하는데 있어서, 거리 값 계산 구성요소는 계산된 평균 부호화 수평 및 수직 오프셋의 함수인 크기 만큼 각각의 입력 접촉 위치의 수평 및 수직 좌표를 조정한다. 선택적으로, 프로세서는, 자동-교정 키보드 영역 내의 각각의 사용자 접촉 행위에 대해, 접촉-감지면으로부터 들어올려지기 전에 접촉점이 초기 접촉 위치로부터 임계 거리 미만만큼 이동되는지를 판단하고, 이로 인해,
(a) 접촉점이 접촉-감지면으로부터 들어올려지기 전에 초기 접촉 위치로부터 임계 거리 미만으로 이동되면, 스트로크 인식 구성요소는 사용자 접촉이 탭 접촉인지를 판정하고, 사용자 접촉과 연관된 것으로 판정된 위치는 거리 값 계산 구성요소, 단어 평가 구성요소, 및 선택 구성요소에 의해 처리될 접촉 위치의 현재 입력 시퀀스에 부가되며, 이로인해,
(b) 접촉 위치가 접촉-감지면으로부터 들어올려지기 전에 초기 접촉 위치로부터 임계 거리 이상으로 이동되면, 스트로크 인식 구성요소는 사용자 접촉이 공지된 시스템 기능과 연관된 복수의 스트로크 접촉중의 하나인지를 판정하고, 스트로크 접촉을 스트로크 접촉의 복수의 선정된 종류 중의 하나로서 분류한다.
바람직하게, 입력 시퀀스 내의 접촉 위치의 임계치 수가 소정의 후보 오브젝트를 구성하는 문자들의 시퀀스에서 대응하는 문자로부터 임계치 최대 거리 이상이면, 오브젝트는 더 이상 선택 구성요소에 대한 후보 오브젝트가 아닌것으로 식별된다. 선택적으로, 프로세서는 오브젝트가 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 조정하기 위한 빈도 승진 구성요소(frequency promotion component)을 더 구비한다. 게다가, 메모리 내의 각각의 오브젝트와 연관된 사용 빈도는 메모리 내의 다른 오브젝트에 대해 오브젝트의 오디날 순위를 포함하고, 상보다 상위의 상대 빈도와 연관된 오브젝트는 수치적으로 낮은 오디날 순위에 대응하고, 오브젝트가 사용자에 의해 출력하기 위해 선택될 때, 빈도 승진 구성요소는 조정 이전에 오브젝트의 오디날 순위의 함수인 크기 만큼 선택된 오브젝트와 연관된 오디날 순위를 조정한다. 또한, 선택된 오브젝트에 연관된 오디날 순위를 조정하는 크기를 결정하기 위해 빈도 승진 구성요소에 의해 사용된 함수는 상대적으로 높은 사용 빈도와 연관된 오디날 순위를 갖는 오브젝트에 대해 크기를 감소시킨다. 빈도 승진 구성요소는 텍스트 입력 시스템에 액세스가능한 부수적인 정보 파일을 분석하여 텍스트 입력 시스템의 메모리에 이미 존재하는 오브젝트중에 포함되지 않은 파일에 포함된 새로운 오브젝트를 식별하고, 새로이 식별된 오브젝트들은 낮은 사용 빈도와 연관된 오브젝트로서 메모리 내의 오브젝트에 부가된다. 게다가, 메모리 내의 오브젝트에 부가된 새로이 식별된 오브젝트와 연관된 사용 빈도는 새로이 식별된 오브젝트가 추가적인 정보 파일의 분석 동안 검출된 횟수의 함수로서 빈도 승진 구성요소에 의해 조정된다.
바람직하게, 프로세서는 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 오브젝트가 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용 빈도를 조정하기 위한 빈도 승진 구성요소를 더 구비한다. 가장 바람직하게, 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 오브젝트가 선택될 때, 빈도 승진 구성요소는 비교적 큰 증가로 선택된 오브젝트와 연관된 빈도의 값을 증가시키고, 선택된 오브젝트와 동일한 그룹과 연관된 선택되지 않은 오브젝트와 연관된 빈도를 비교적 작은 감소만큼 감소시킨다. 선택적으로, 하나 또는 복수의 오브젝트의 대문자화(capitalization)에 관한 정보는 메모리 내의 오브젝트와 함께 저장되고, 선택 구성요소는 저장된 대문자화 정보에 따라 바람직한 대문자 형태로 각각의 식별된 오브젝트를 제시한다. 다른 실시예에서, 메모리 내의 하나 또는 복수의 오브젝트들은 하나 또는 복수의 글자 또는 기호의 시퀀스를 구비하는 메모리 내의 제2위의 오브젝트와 연관되어 있고, 선택 구성요소가 단어 평가 구성요소에 의해 계산된 정합 매트릭에 기초하여 사용자에게 제시를 위해 오브젝트중의 하나를 식별할 때, 선택 구성요소는 선택을 위해 연관된 제2위의 오브젝트를 제시한다.
본 발명에 따른 텍스트 입력 시스템은,
(a) 각각의 키가 알파벳의 문자에 대응하고 각각 공지된 좌표위치에 놓인 복수의 키를 구비하는 자동-교정 키보드 영역(auto-correcting keyboard region)을 갖는 기계적 키로 구성된 키보드를 구비한 사용자 입력 장치로서, 사용자가 키 활성화 이벤트를 발생시키기 위해 선정된 임계 시간 주기 내에 자동-교정 키보드 영역의 하나 또는 복수의 인접하는 키들을 활성화시킬 때마다, 키 활성화 이벤트에 대응하는 선정된 위치가 키 활성화 이벤트의 선정된 위치의 현재 입력 시퀀스에 첨부되는, 상기 사용자 입력 장치;
(b) 복수의 오브젝트를 갖는 메모리로서, 각각의 오브젝트가 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링이고, 사용 빈도와 추가로 연관되어 있는, 상기 메모리;
(c) 텍스트 디스플레이 면적을 갖는 출력 장치; 및
(d) 사용자 입력 장치, 메모리, 및 출력 장치에 결합된 프로세서
를 구비하되, 프로세서는
(i) 키 활성화 이벤트의 입력 시퀀스 내의 각각의 활성화된 키 활성화 이벤트 위치에 대해, 키 활성화 이벤트 위치와 자동-교정 키보드 영역 내의 하나 또는 복수의 키에 대응하는 공지된 좌표 위치 간의 거리 값의 세트를 계산하는 거리 값 계산 구성요소,
(ii) 각각의 발생된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 후보 오브젝트를 식별하고, 하나 또는 복수의 식별된 후보 오브젝트 각각에 대해, 계산된 거리 값 및 오브젝트에 연관된 사용 빈도에 기초하여 정합 매트릭(matching metric)을 계산함으로써 각각의 식별된 후보 오브젝트를 평가하고, 계산된 정합 매트릭 값에 기초하여 평가된 후보 오브젝트의 순위를 매기는 단어 평가 구성요소, 및
(iii) 평가된 순위에 따라 하나 또는 복수의 후보 오브젝트를 식별하고, 식별된 오브젝트를 사용자에게 제시하고, 사용자로 하여금 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 제시된 오브젝트중의 하나를 선택하게 하는 선택 구성요소를 구비한다.
바람직하게, (a) 메모리 내의 복수의 오브젝트의 각각은 하나 또는 복수의 선정된 오브젝트 그룹과 더 연관되고, (b) 각각의 발생된 입력 시퀀스에 대해, 단어 평가 구성요소는 메모리 내의 하나 또는 복수의 후보 오브젝트 그룹을 식별함으로써 정합 매트릭이 계산되는 오브젝트의 수를 제한하고, 하나 또는 복수의 식별된 후보 오브젝트 그룹의 각각과 연관된 하나 또는 복수의 오브젝트에 대해, 계산된 거리 값 및 각각의 후보 오브젝트와 연관된 사용 빈도에 기초하여 정합 매트릭을 계산하고, 계산된 정합 매트릭 값에 기초하여 평가된 후보 오브젝트의 순위를 매긴다. 더우기, 알파벳의 문자들과 연관된 키들은 거의 표준 "QWERTY" 배치로 자동-교정 키보드 영역에 정렬된다.
바람직하게, 자동-교정 키보드 영역 내의 복수의 인접하는 키들의 동시 활성화를 구비하는 키 활성화 이벤트가 검출되면, 키 활성화 이벤트에 대응하는 위치는 동시에 활성화된 키들의 위치의 함수로서 결정되고, 결정된 위치는 키 활성화 이벤트의 위치의 현재 입력 시퀀스에 첨부된다. 가장 바람직하게, 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함한다. 또한, 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 동시에 활성화된 키들의 위치의 중력의 가중 중심에 대응하는 위치의 계산을 포함하되, 자동-교정 키보드 영역 내의 키들의 각각과 연관된 가중치는 키들과 연관된 문자들의 상대적 발생 빈도에 대응하며, 상대 빈도는 메모리 내 오브젝트 내의 문자들의 발생 빈도에 대해 결정된다.
바람직하게, 선정된 임계 시간 주기 내에 자동-교정 키보드 영역 내의 복수의 인접하는 키들의 활성화를 구비하는 키 활성 이벤트가 검출되면, 키 활성화 이벤트 동안 항상 복수의 인접하는 키들중의 적어도 하나가 활성화되고, 복수의 키들의 임의의 서브셋이 동시에 활성화되는 키 활성화 동안의 임의의 순간에, 동시에 활성화된 키의 서브셋은 연속적으로 인접하는 키들을 포함하고, 키 활성화 이벤트에 대응하는 위치는 키 활성화 이벤트 동안 검출된 전체 복수의 인접하는 키들의 위치의 함수로서 결정되고, 결정된 위치는 키 활성화 이벤트의 위치의 현재 입력 시퀀스에 부가된다. 가장 바람직하게, 키 활성화 이벤트의 위치를 결정하는데 사용되는 함수는 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함한다. 또한, 키 활성화 이벤트의 위치를 결정하는데 사용되는 함수는 동시에 활성화된 키들의 위치의 가중된 중력의 중심에 대응하는 위치의 계산을 포함하고, 상기 자동-교정 키보드 영역의 키들의 각각과 연관된 가중치는 키들에 연관된 문자들의 상대적 발생 빈도에 대응하고, 상대 빈도는 메모리 내 오브젝트의 문자의 발생 빈도와 관련하여 결정된다.
바람직하게, 자동-교정 키보드 영역은 하나 또는 복수의 구두점 문자와 연관된 하나 또는 복수의 키들을 포함하고, 메모리는 자동-교정 키보드 영역 내의 키들과 연관된 하나 또는 복수의 구두점 문자들을 포함하는 메모리 내의 하나 또는 복수의 오브젝트를 포함한다. 선택적으로, 단어 평가 구성요소는 입력 시퀀스 내의 결정된 위치에서 후보 오브젝트의 대응하는 위치 내의 문자에 대응하는 키의 공지된 위치까지 계산된 거리 값을 합산하고, 오브젝트에 연관된 사용 빈도에 따라 가중 함수를 적용함으로써, 각각의 후보 오브젝트에 대한 정합 매트릭을 계산한다. 다른 실시예에서, 자동-교정 키보드 영역 내의 하나 이상의 키들은 복수의 문자들에 대응하고, 하나 또는 복수의 문자들은 다양한 구별 표시를 포함하고, 복수의 문자들은 단일 어간 문자의 변형을 포함하고, 메모리 내의 오브젝트들은 그 올바른 액센트된 문자와 함께 저장된다.
바람직하게, 선택 구성요소는 사용자에 의한 선택을 위해 텍스트 디스플레이 영역 내의 후보 오브젝트 리스트에서 식별된 하나 또는 복수의 후보 오브젝트를 제시한다. 가장 바람직하게, 선택 구성요소는 최고 순위의 후보 오브젝트를 식별하고, 자동-교정 키보드 영역에 가장 가까운 위치의 후보 오브젝트 리스트 내에 식별된 오브젝트를 제시한다. 더우기, 문자와 연관된 키 - 키는 자동-교정 키보드 영역 내에 포함되지 않음- 의 활성화는, 텍스트 디스플레이 영역의 텍스트 삽입점에서 선택된 문자를 출력하기 전에 텍스트 디스플레이 영역의 텍스트 삽입점에서 결정된 최고 순위의 후보 오브젝트를 수락하고 출력한다. 또한, 텍스트 디스플레이 영역 내의 텍스트 삽입점에서 출력하기 위한 오브젝트의 사용자 선택은 자동-교정 키보드 영역 내의 다음 키 활성화 이벤트가 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료시킨다.
본 발명에 따른 자동-교정 텍스트 입력 시스템용 프로세스는,
(a) 복수의 알파벳 문자를 구비하는 자동-교정 키보드 영역(auto-correcting keyboard region)을 갖는 접촉-감지면(touch sensitive surface)을 구비한 사용자 입력 장치 - 복수의 문자 각각은 자동-교정 키보드 영역의 공지된 좌표를 갖는 위치에 대응하고, 사용자가 자동-교정 키보드 영역 내의 사용자 입력 장치를 접촉할 때마다 사용자 접촉과 연관된 위치가 결정되고, 결정된 접촉 위치가 접촉 위치의 현재 입력 시퀀스에 부가됨 -를 제공하는 단계;
(b) 복수의 오브젝트를 포함하는 메모리를 제공하는 단계 - 각각의 오브젝트는 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링이고, 각각의 오브젝트는 사용 빈도와 추가로 연관됨 -;
(c) 텍스트 디스플레이 면적을 갖는 출력 장치를 제공하는 단계; 및
(d) 사용자 입력 장치, 메모리, 및 출력 장치에 결합된 프로세서를 제공하는 단계를 포함하되, 프로세서는,
삭제
(i) 접촉점의 입력 시퀀스 내의 각각의 결정된 접촉 위치에 대해, 접촉 위치와, 자동-교정 키보드 영역 내의 하나 또는 복수의 문자에 대응하는 공지된 좌표 위치 간의 거리 값 세트를 계산하는 거리 값 계산 구성요소,
(ii) 각각의 발생된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 식별된 후보 오브젝트를 식별하고, 하나 또는 복수의 식별된 후보 오브젝트 각각에 대해, 계산된 거리 값 및 오브젝트에 연관된 사용 빈도에 기초하여 정합 매트릭(matching metric)을 계산함으로써 각각의 식별된 후보 오브젝트를 평가하고, 계산된 정합 매트릭 값에 기초하여 평가된 후보 오브젝트의 순위를 매기는 단어 평가 구성요소, 및
(iii) 평가된 순위에 따라 하나 또는 복수의 후보 오브젝트를 식별하고, 식별된 오브젝트를 사용자에게 제시하여, 사용자로 하여금 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 제시된 오브젝트중의 하나를 선택하게 하는 선택 구성요소를 구비한다.
바람직하게, 선택 구성요소는 (c) 출력 장치 상의 텍스트 디스플레이 영역에 출력하기 위해 제시된 오브젝트중의 하나의 사용자에 의한 선택의 검출시, 접촉점들의 위치의 현재 입력 시퀀스를 비어있는 시퀀스로 재설정하는 것을 더 포함한다.
도면의 간단한 설명
도 1A는 입력 키스트로크(input keystrokes)를 자동적으로 교정하는 본 발명의 축소형 키보드 시스템(reduced keyboard systems)을 일체화하는 포터블 컴퓨터의 바람직한 실시예의 개략도, 도 1B는 사용자가 자동-교정 키보드 영역 내의 키스트로크의 시퀀스를 입력한 후에 디스플레이되는 단어 선택 리스트의 실시예를 도시하는 개략도.
도 2는 도 1A 및 도 1B의 축소형 키보드 시스템의 하드웨어 블럭도.
도 3은 세개의 클러스트링 영역(thres clustering regions) 및 세개의 예시적인 접촉점(contact points)으로의 분할을 도시하는 도면으로서, 입력 키스트로크를 자동적으로 교정하는 본 발명의 축소형 키보드 시스템의 자동-교정 키보드 영역의 바람직한 실시예의 개략도.
도 4A 내지 도 4K는 키스트로크의 입력 시퀀스에 응답해서 발생될 의도된 텍스트를 결정하는 소프트웨어의 바람직한 실시예의 순서도.
도 5A 내지 도 5E는 본 발명의 축소형 키보드 시스템을 일체화하는 포터블 컴퓨터의 바람직한 실시예에 따라 단어를 입력하는 예시적인 예로서 문자 입력 시퀀스를 도시하는 개략도.
사용자 키스트로크 입력이 부정확할 것으로 가정하기 때문에, 사용자가 타이핑 하고자 한 문자의 시퀀스를 생성하기 위해 특정 시퀀스의 키스트로크가 어떻게 해석되어야 하는 지에 대한 몇가지 모호성이 존재한다. 본 발명은 사용자가 소정의 해석을 용이하게 선택할 수 있도록 단어에 대응하는 각각의 키스트로크 시퀀스의 한가지 이상의 대체 해석이 사용자에게 제공되고, 가장 가능성이 있는 해석을 선택하기 위해 어떠한 특별한 조치도 취할 필요가 없는 프로세스 및 시스템(즉, 신규한 소프트웨어를 내장하고 있는 장치 또는 디바이스)을 제공한다. 이 방법으로 인해, 시스템은 시퀀스의 각 문자에 대해 사용자의 가장 가능성있는 의도가 무엇인지를 해결하는데 있어서 단어에 대응하는 키스트로크의 전체 시퀀스에 포함된 정보를 이용할 수 있게 된다.
본 발명의 방법은 미국특허 제5,748,512호에 기술된 것과 같은 종래 기술의 시스템에 비해 두가지 극히 뛰어난 장점을 가지고 있다. 한가지 장점은, 본 발명의 시스템은, 단어의 길이 및 잠재적으로 일치하는 단어의 상대 빈도(relative frequencies)에 대한 정보를 포함하는 데이터베이스와 함께 각 키스트로크에 대해 의도된 문자를 결정하는데 있어, 선행 및 후행하는 키스트로크 모두에 관한 정보를 이용할 수 있다는 것이다. 두번째 장점은, 사용자가 조사할 필요없이, 각 단어의 모든 문자들이 입력된 후에, 단어 경계에서 시스템에 의한 예측에 인터렉트(interacts)하고 응답하며, 각 키스트로크에 이어 즉시 시스템에 의해 발생된 각 문자를 수락하거나 또는 거부하기만 하면 된다는 것이다. 이는 사용자가 그의 관심을 각 키스트로크에 이어 디스플레이로 끊임없이 전환할 필요없이 키보드 상에서의 텍스트의 입력에 보다 촛점을 둘 수 있기 때문에 시스템의 가용성을 크게 증가시킨다. 다른 장점은, 또한 시스템은 영어에서 하이픈된 합성어(hyphenated compound) 및 축약어와 같은 단어에 흔히 포함되어 있는 하이픈 또는 생략 부호와 같은 구두점 문자를 수용한다는 것이다. 이와 같은 내장된 구두점 문자는 알파벳 문자와 연관된 것들중에 포함되어 있는 하나 이상의 키 또는 문자 위치와 연관될 수 있다.
정의
"키보드"는 문자와 연관된 복수의 규정된 위치를 포함하는 규정된 영역을 구비한 접촉-감지(touch sensitive) 스크린, 키, 개별적인 기계적인 키(mechanical key) 또는 멤브레인 키(membrane key)에 대해 규정된 영역을 구비한 접촉-감지 스크린를 포함하지만 이에 한정되지 않는 규정된 영역을 구비한 임의의 입력 장치를 포함하는 것을 의미할 것이다.
"자동-교정 키보드 영역"은 적용되는 신규한 자동-교정 프로세스 및 특징을 갖는 키보드의 영역을 가리킨다.
"오브젝트(object)"는 어간(wordstem), 접두사 및 접미사를 포함하지만 이에 제한되지 않는, 단어 또는 단어의 일부를 형성하는 하나 이상의 문자의 스트링을 의미한다.
"단어"는 두문자어(acronyms), 축약어 및 적당한 명사를 포함하지만 이에 한정되지 않는, 소정의 언어(language)에서 사용되는 하나 이상의 문자의 스트링을 의미한다.
"어간(wordstem)"은 "어원 단어(root word)" 또는 "어원 어간(root stem)"을 의미한다. 예를 들어, "interestingly"라는 단어는 접미사 "ingly"가 첨부된 어원 단어 "interest"로 구성되어 있다. 또 다른 예로서, "suprisingly"이라는 단어는 접미사 "ingly"로 첨부된 어원 어간 "supris"로 구성되어 있다.
"모듈(module)"은 오브젝트의 특성에 기초한 오브젝트의 논리적인 구성이다. 예를 들어, (1) 프랑스 언어의 단어 대 영어의 단어는 서로 다른 모듈로 배열되고, (2) 동사 어간 모듈은 각각에 하나 이상의 가능한 접미사가 첨부되어 있는 동사 어간을 포함하되, 여기서 접미사는 동사 어간 모듈과 연관된 하나 이상의 접미사 모듈에 포함되어 있고, 접미사 모듈로부터의 접미사는 동사 어간 모듈 내의 동사 어간에 첨부되어 적절히 어형 변환된 단어를 형성할 수 있다.
"접촉 행위"는 제1 접촉점 및 접촉 순간에서 시작하여 키보드와의 접촉이 종료되는 순간까지 검출되는 임의의 추가적인 연속하는 접촉점을 포함하는, 키보드와 접촉하게 되는 모든 사용자 행위를 포함한다. 접촉 행위의 예는 스타일러스 또는 손가락으로 접촉-감지 스크린을 물리적으로 접촉하고 스크린으로부터 스타일러스 또는 손가락을 들어올리기 전에 보다 크거나 작은 정도로 스타일러스 또는 손가락을 움직이거나, 또는 마우스 커서를 움직여 디스플레이된 키보드 영역 내에 위치시키고 마우스 버튼을 클릭한 다음 마우스 버튼을 복구하기 전에 크거나 작은 정도로 마우스 커서를 움직이는 것을 포함하지만 이에 한정되지 않는다.
"접촉 위치"는 키보드와 접촉하게 되는 사용자 행위에 대응하여 결정되는 위치이다. 접촉 위치를 결정하는 방법은, 초기 또는 최종 접촉이 사용자에 의해 이루어진 터치 스크린 또는 유사한 장치 상의 점을 검출하거나, 마우스 버튼이 처음 눌려질 때에 디스플레이된 키보드 영역 내의 마우스 커서의 위치에 대응하여 접촉 위치를 결정하는 마우스 클릭과 같은 사용자 행위를 검출하는 것을 포함하지만 이에 한정되지 않는다.
"거리 값 계산 구성요소(distance value calculation component)"는 키보드의 자동-교정 영역 내의 접촉 위치와 하나 이상의 문자에 대응하는 공지된 좌표 위치 간의 거리 값의 세트를 계산한다. 두개의 위치 간의 거리를 계산하는데 사용되는 이 방법은, 데카르트 좌표(Cartesian coordinate)를 각각의 위치에 지정하고 표준 데카르트 좌표 거리 분석에 따라 두 위치 간의 거리를 계산하고, 데카르트 좌표를 각각의 위치에 지정하고 표준 데카르트 좌표 거리의 제곱으로서 두 위치 간의 거리를 계산하고, 데카르트 좌표를 각각의 위치에 지정하고 수직 성분이 가중 인수(weighting factor)에 의해 조정되는 데카르트 좌표 거리 분석에 따라 두 위치 간의 거리를 계산하는 것을 포함하지만 이에 한정되지 않는다.
"정합 매트릭(matching metric)"은 접촉의 입력 시퀀스를 수행하는데 있어서 오브젝트가 사용자의 의도에 얼마나 대응하는 지를 추정하는 수단으로서 접촉 위치의 입력 시퀀스에 대한 오브젝트에 대해 계산된 점수이다. 예를 들어, 정합 매트릭은 한 실시예에서 입력 시퀀스 내의 각각의 접촉 위치에서 소정 후보 오브젝트(candidate object)의 대응하는 위치 내의 문자에 지정된 위치까지의 거리의 제곱의 합계를 계산한 다음, 빈도 조정 인수를 제곱 거리의 합계에 곱함으로써 계산될 수 있으며, 하나의 바람직한 실시예에서, 상기 곱하는 계산은 다른 잠재적인 후보 오브젝트에 대해 단어의 오디날 위치의 베이스 2 대수(base 2 logarithm)로 계산되고, 상위의 상대 빈도와 연관된 오브젝트는 하위의 오디널 위치(ordinal positions)에 대응(즉, 가장 빈번한 오브젝트가 위치 "1"에 있음)한다. 따라서, 본 실시예에서, 계산된 정합 매트릭의 수치 값이 낮을수록, 접촉점의 시퀀스를 발생하는데 있어서 소정의 오브젝트가 사용자 의도에 더욱 대응하는 것으로 간주된다.
"평가 순위(evaluated ranking)"는 오브젝트의 각각이 접촉점의 시퀀스를 발생성하는데 있어서 사용자 의도에 대응할 가능성에 따라 후보 오브젝트 세트의 상대적인 우선순위화(prioritization)로, 여기서 이 가능성은 오브젝트에 대해 계산된 정합 매트릭에 따라 결정된다.
"키 활성화 이벤트(key activation event)"는, 처음 눌려진 키에서 시작하고 키가 눌려진 시간을 포함하고, 처음 눌려진 키에 인접하고 동시에 눌려진 임의의 추가적인 키를 포함하는, 처음의 키 또는 임의의 동시에 눌려진 인접하는 키 중에서 어느 것도 눌려지지 않는 순간까지 검출되는, 기계적인 키보드의 하나 이상의 인접하는 키를 활성화시키는 결과가 되는 사용자 행위의 과정 동안 검출되는 활성화된 키 전부를 포함하는 이벤트를 포함하지만 이에 한정되지 않는다.
도 1A를 참조하면, 본 발명에 따라 형성된 축소형 자동-교정 키보드 시스템(100)은 팜탑 포터블 컴퓨터(102)에 일체화되어 도시되어 있다. 포터블 컴퓨터(102)는 출력될 텍스트를 텍스트 디스플레이 영역(104)에 발생시키는데 사용되는 터치 스크린 디스플레이(103) 상에 구현된 축소형 키보드(105)를 구비한다. 본 출원 목적으로, "키보드"라는 용어는 키, 개별적인 기계적인 키 또는 멤브레인 키에 대해 규정된 영역을 구비하는 터치 스크린을 포함하지만 이에 한정되지 않는 규정된 영역을 갖는 임의의 입력 장치를 광범위하게 포함하도록 정의된다. 키보드(105)는 자동-교정 키보드 영역(106)을 갖는데, 여기서 영어 알파벳(26 글자) + 생략부호가 개략적으로 표준 "QWERTY" 배치로 디스플레이된다. 본 바람직한 실시예에서, 키보드 영역(106)의 에스펙트 비(aspect ratio)(그 폭 대 그 높이의 비율)는 2:1인 한편, 표준 컴퓨터 키보드 또는 타이프라이터용의 경우에는 그 비율은 약 4:1이다. 이러한 에스펙트 비는, 보다 적게 연장된 형태가 키보드의 반대쪽 끝에 있는 글자 간에 스타일러스가 이동되어야 하는 거리를 최소화시키고 그 상대 간격을 증가시킴으로써 인접하는 행에 있는 글자 간을 구별시키는 시스템 능력을 증가시키는 경향이 있기 때문에, 키보드 영역(106)을 보다 사용하기 쉽게 한다. 이는 사용자가 수직으로 의도하는 글자에 상대적으로 근접한 위치에서 키보드를 접촉하는 것을 용이하게 한다. 따라서, 바람직한 실시예에서, 글자로부터의 접촉점의 거리는 수평 성분에 대한 거리의 수직 성분의 상대적 무게를 증가시키는 방법을 사용하여 계산된다.
키보드는 임의의 크기, 극히 작거나 또는 극히 클 수 있다. 예를 들어, 영어 알파벳의 모든 26 글자를 포함하는 1cm 대 0.5cm과 같이 작은 자동-교정 키보드를 위한 공간을 이용한 구현은 작은 플라스틱 스타일러스와 함께 상당히 유용한 것으로 밝혀지고 있다. 이 크기의 키보드로서 구현될 때, 표준 "QWERTY" 배치와 같은 공지된 키 배열이 사용될 수 있다. 이와 같은 키 배열을 사용하여, 정의된 키보드 공간에 있는 각 문자의 상대적 위치가 이와 같은 표준 배치에 익숙한 사용자에 잘 알려져 있기 때문에, 읽기 쉬운 디스플레이된 문자를 포함시키는 것은 불필요하다. 선택적으로, 도트와 같은 매우 작은 레이블은 사용자를 보조하기 위해 각각의 문자 위치에 디스플레이될 수 있다.
본 발명의 다른 특징에 따르면, 문자의 내부, 논리적인 표현은 자동-교정 키보드 내의 실제의 문자에 대한 레이블에 의해 표현되는 물리적인 배열을 반영할 필요가 없다. 예를 들어, 불어 어휘 모듈을 표현하도록 구성된 데이터베이스에서, 액센트된 문자(accented characters)
Figure 112005017665622-pct00021
Figure 112005017665622-pct00022
는 또한 기계적인 키보드 또는 접촉-감지 디스플레이 스크린 상에 구현되는 키보드의 문자 위치에서 명시적으로 레이블된 키로서 나타나는 액센트되지 않은 문자 A와 연관될 수 있다. 불어 어휘 모듈에서의 단어 입력은, 액센트되지 않은 문자와 연관된 키 또는 문자 위치에 충분히 가까운 입력 접촉점에 기초하여, 정확하게 스펠링된 형태(correctly spelled form)가 자동적으로 발생될 수 있도록 소정의 단어가 액센트되거나 액센트되지 않은 문자인지를 결정하는데 필요한 정보를 포함한다. 이는, 적절한 액센트를 포함하는 자신의 정확한 스펠링을 사용하여 단어를 타이핑하는데 어떠한 특별한 타이핑 기법, 추가적인 키 또는 추가적인 키스트로크도 필요하지 않기 때문에, 흔히 액센트된 문자를 사용하는 불어와 같은 언어에 큰 장점이다.
도 1A의 바람직한 키보드는 특별한 기능의 실행 또는 특별한 문자의 생성과 연관된 6개의 추가적인 키를 포함한다. 이들 키는 Shift 키(108), Space 키(110), BackSpace 키(112), Edit Word 키(114), Symbol Mode 키(116), Return (또는 "Enter") 키(118), Alternate Keyboard Mode 키(120), Numeric Mode 키(122). 이들 키의 기능은 도 1B를 참조하여 설명될 것이다.
텍스트는 자동-교정 키보드 영역(106)에서의 키스트로크를 통한 키보드 시스템을 사용하여 발생된다. 사용자가 키보드를 사용하여 키스트로크 시퀀스를 입력함에 따라, 텍스트는 컴퓨터 디스플레이(103) 상에 디스플레이된다. 두개의 중복하는 영역은 디스플레이 상에 규정되고 각각은 정보를 사용자에게 디스플레이한다. 상부 출력 텍스트 영역(104)은 사용자에 의해 입력된 텍스트를 디스플레이하고, 텍스트 입력 및 편집을 위한 버퍼로서 기능한다. 도 1B에 도시된 바람직한 실시예에서, 텍스트 영역(104)의 위에 중첩되는 단어 선택 리스트 영역(150)은 사용자에 의해 입력된 키스트로크 시퀀스에 대응하는 단어의 리스트 및 다른 해석을 제공한다. 단어 선택 리스트 영역(150)은 사용자가 입력된 키스트로크에서의 부정확성을 교정하는 것을 보조한다. 다른 실시예에서, 시스템은 제한된 디스플레이 공간을 갖는 장치 상에 구현될 수 있고, 디폴트 또는 발생된 텍스트의 삽입점(107)에서 가장 가능성이 있는 단어 오브젝트만을 디스플레이할 수 있다.
다른 바람직한 실시예에서, 본 발명의 키보드는 키보드 장치를 사용하여 구현된다. 이와 같은 장치의 예는 퍼스널 컴퓨터와 함께 사용되는 표준 데스크톱 키보드 또는 영어 및 다른 라틴 알파벳에 기초한 언어에서 흔히 표준 "QWERTY" 배치로 배열된 적어도 26개의 작고 가까이 떨어져 있는 완전한 키의 세트를 포함하는 양방향 페이저와 같은 포터블, 휴대용 전자 장치에 흔히 사용되는 것과 같은 훨씬 작은 기계적 키보드를 포함할 수 있다. 본 실시예는, 스크린과의 물리적 접촉이 검출될 수 있는 점들이 키보드의 문자들과 연관된 좌표의 세트에 정확히 대응하는 터치 스크린 구현과 논리적으로 동일하다. 따라서, 본 발명의 방법은 이와 같은 기계적 키보드 구현에 동등하게 적용될 수 있다.
그러나, 기계적 키보드는 하나의 부정확하거나 또는 잘못된 키 활성화가 의도하는 키 이외의 키를 활성화시킬 뿐 아니라, 두개 이상의 인접하는 키들의 동시 또는 근접한 연속 활성화 - 활성화된 키들은 이들 중에 의도된 키를 포함하거나 포함하지 않음- 를 포함할 수 있다는 점에서 터치 스크린과는 구별되는 특징을 가지고 있다. 따라서, 본 발명의 다른 특징에 따르면, 하나의 의도된 키스트로크가 하나 이상의 인접하는 키를 활성화시킨다는 점에서, 자동-교정 키보드에 대한 키스트로크의 시퀀스는 시간 및 공간 모두의 윈도우(window)를 통해 필터링된다. 한가지 예는, 사용자가 2, 3 또는 4 키들을 누를 때, 사용자의 손가락이 의도하는 키 또는 하나의 특정 키와 적절히 정렬되지 않을 때이다. 따라서, 각각의 수신된 키스트로크 다음에, 상기 키스트로크는, 시스템이 매우 짧은 타임아웃 임계치(timeout threshold)를 대기하는 후까지 또는 키스트로크가 인접하지 않은 키에 대해 수신될 때까지 진행되지 않는다. 타임아웃 임계치의 종료 이전에, 만일 다음 키스트로크가 인접하는 키에 발생하거나 또는 만일 복수의 키스트로크가 인접하는 키들에 발생하면, 상기 검출된 키들은 하나의 키스트로크 이벤트로서 간주된다. 이와 같은 경우에, "가상" 접촉점이 "동시에" 활성화된 키들의 세트 중심에서 계산된다. 이와 같이 계산된 "가상" 접촉점 및 공지된 문자 위치(기계적 키보드의 경우에 키 위치)로부터의 거리는 물리적 센서(키)의 해상도보다 정밀한 해상도를 갖는 논리적 좌표 프레임에 보간함으로써 계산된다.
본 발명의 다른 실시예에서, 자동-교정 키보드 상의 키스토로크는 고립된 문자에는 일치되지 않지만, 그보다는 완성된 단어에 대응하는 키스트로크의 전체 시퀀스는 각 단어가 대표적인 전집(corpus)에 나타나는 상대 빈도와 관련된 정보를 포함하는 후보 단어의 어휘집에 일치된다. 이와 같이, 흔히 평균 크기보다 큰 우연한 키스트로크 에러 또는 시스템은 의도된 단어가 높은 상대 빈도일 때 상대적으로 큰 크기의 다수의 에러를 정확하게 보상할 수 있다. 키스트로크 입력 시퀀스의 이와 같은 단어-레벨 분석은 본 시스템이 사용자 키스트로크 에러를 유연성있게 수용할 수 있게 하는 중요한 변수이다.
키스트로크 시퀀스의 단어-레벨 분석은 시스템으로 하여금, 영어에서 하이픈된 합성어 및 축약과 같은 단어에 흔히 포함되어 있는, 하이픈 또는 축약과 같은 구두점 문자를 발생하게 한다. 이와 같이 포함된 구두점 문자들은 알파벳 문자와 연관된 것들중에서 자동-교정 키보드에 포함되어 있는 하나 이상의 키 또는 문자 위치와 연관될 수 있다. 하나 이상의 구두점 문자는 하나의 키와 연관되어 있고, 특정 구두점 문자는 어휘집에 포함된 정보에 기초하여 모호성이 해결될 수 있다. 따라서, 예를 들어, 만일 어휘집에 있는 단어가 모호한 구두점 키의 영역에서의 키 접촉에 대응하는 위치에서 생략 부호를 포함하면, 정합 알고리즘은 연관된 단어를 자동적으로 식별하고, 생략 부호로서 키스트로크의 모호성을 해결할 것이다. 동시에, 시스템은 어휘집 내의 가장 일치하는 단어를 결정하고, 하이픈된 합성어가 의도된 가능성을 계산하기 위해 구두점 키의 영역에서 키 접촉에 선행 및 후행하는 키스트로크 시퀀스를 개별적으로 분석할 수 있다. 접촉-감지 디스플레이 스크린에 구현되는 키보드의 경우에, 흔히 사용되지 않는 다른 기호, 숫자 또는 다른 문자들은 바람직하게 일시적으로 디스플레이되는 테이블의 시리즈로의 표현을 통해 개별적인 기호 선택 스킴에 위임된다. 이와 같은 기호 테이블(Symbol Table)은 바람직하게 자동-교정 키보드 영역에 인접하여 지정된 기능 키 또는 터치 입력 엘리먼트를 통해 액세스된다. 기계적 키보드의 경우에, 이들 다른 기호, 숫자 및 흔치않는 문자들은 흔히 자동-교정 키보드에 포함되지 않은 추가적인 키들을 통해 수용된다.
본 발명의 다른 특징에 따르면, 입력 시퀀스에 일치하는 후보 단어들은 각각의 입력이 수신됨에 따라 디스플레이 상에 단어 선택 리스트로 사용자에게 제시된다. 본 발명의 다른 특징에 따르면, 단어 해석은 각각의 후보 단어에 대해 계산된 정합 매트릭(matching metric)에 의해 결정되는 순서로 제시되어, 정합 매트릭에 따라 가장 가망성(most likely)이 있는 것으로 간주된 단어들이 리스트내에 먼저 나타난다. 입력 시퀀스의 제시된 해석중의 하나를 선택하는 것은, 입력 시퀀스를 종료시켜, 자동-교정 키보드 영역 내부의 다음 키스트로크가 새로운 입력 시퀀스를 개시한다. 본 발명의 또 다른 특징에 따르면, 하나의 단어 해석 만이 디스플레이 상에, 바람직하게는 발생된 텍스트에 대한 삽입점에 나타난다. 디스플레이되는 단어 해석은, 정합 매트릭에 따라 가장 가망성있는 것으로 간주된 것이다. 특별히 지정된 선택 입력을 반복적으로 활성화시킴으로써, 사용자는 디스플레이된 단어를 정합 매트릭에 의해 결정되는 순서로 제시되는 대체 해석으로 교체할 수 있다. 입력 시퀀스는 또한 지정된 선택 입력의 하나 이상의 활성화(시스템에 의한 실제의 출력에 대한 시퀀스의 제시된 표현중에서 효과적으로 정확히 하나를 선택하는 것) 다음에 종료되어, 자동-교정 키보드 영역 내부의 다음 키스트로크는 새로운 입력 시퀀스를 개시한다.
본 발명의 다른 특징에 따르면, 접촉점의 각 입력 시퀀스의 경우, 단어는 각각의 접촉점에 가장 가까운 문자를 식별하고 식별된 문자의 시퀀스로 구성된 단어를 구성함으로써 구성된다. 이러한 "Exact Type" 단어는 단어 선택 리스트에서 단어 선택으로서 표현된다. 이 단어는, 예를 들어 단어 선택 리스트에서 이것을 접촉하는 통상적인 방법에 의해 선택될 수 있다. Exact Type 입력은 예를 들어, 백스페이스 키(backspace key)를 눌러 단어의 끝에서부터 한 문자를 삭제함으로써 편집될 수 있다. 일단 사용자가 Exact Type 단어를 선택하면, 이는 출력을 위해 자동적으로 "수락"되며, 구성되고 있는 정보에 부가된다. 이렇게 선택될 때, Exact Type 스트링은 Exact Type 엔트리를 먼저 입력하는데 필요한 것처럼 단어의 각 글자를 정밀하게 접촉할 필요없이, 자동-교정 키보드를 사용하여 장래에 타이핑될 수 있도록 단어의 어휘집에 삽입할 후보로서 부가될 수 있다.
도 1B는, 사용자가 자동-교정 키보드 영역(106) 내의 키스트로크의 시퀀스를 입력한 후에 디스플레이되는 단어 선택 리스트(150)의 바람직한 실시예를 도시한다. 단어 선택 리스트는 Cancel 키(152)를 포함하는데, 여기서 Cancel 키(152)의 접촉은 시스템으로 하여금 현재의 입력 시퀀스를 폐기하여 단어 선택 리스트를 클리어하게 하며, 또한 시스템으로 하여금 단어 선택 리스트의 출현에 의해 모호해진 임의의 텍스트 또는 그래픽의 디스플레이를 복원하게 한다. "Exact Type" 단어(154)는 글자의 시퀀스들이 임의의 어휘 모듈 내의 임의의 단어에 대응하는지에 따라 입력 시퀀스의 실제의 접촉점에 가장 가까운 글자의 시퀀스를 도시한다. 도 1B에 도시된 예에서, Exact Type 단어 "rwzt"는 영어 단어에 대응하지 않는다.바람직한 실시예에서, 출력을 위한 Exact Type의 선택은, 해당 단어가 이미 포함되어 있지 않으면, 해당 단어를 적당한 어휘 모듈에 자동적으로 부가하는 결과가 된 다. 디폴트(Default) 단어(160)(도 1B의 예에서 "text")는 정합 매트릭의 최하위 값(즉, 사용자의 의도에 대응하는 가장 가망성있는 단어)를 갖는 것으로 결정된 어휘 모듈로부터의 단어이고, 바람직한 실시예에서, 자동-교정 키보드 영역(106)에 가장 가까운 단어 선택 리스트의 밑부분에 도시되어 있다. 유사하게, 세개의 대체 단어 선택(157)이 그 대응하는 정합 매트릭 값에 의해 결정된 순서로 리스트에 도시되어 있다.
Symbol Mode 키(116), Alternate Letter Mode 키(120), 및 Numeric Mode 키(122)는 각각 구두점 및 기호, 알파벳 글자, 및 숫자 각각의 대응하는 키보드가 디스플레이 스크린 상에 나타나게 한다. 사용자는 디스플레이된 키보드로부터 소정의 문자 또는 문자들을 선택할 수 있다. 만일 단어 선택 리스트가 이와 같은 대체 키보드를 디스플레이하기 전에 디스플레이 되었다면, 디스플레이된 대체 키보드로부터의 임의의 문자의 선택은 대체 키보드로부터 선택된 문자를 출력하기 전에 이전에 디스플레이된 단어 선택 리스트의 디폴트 단어가 출력 텍스트 영역(104)에 출력되게 한다. 유사하게, 만일 단어 선택 리스트가 Space 키(110) 또는 Return 키(118)를 접촉하기 전에 디스플레이되었다면, 디폴트 단어(160)는 하나의 공간 또는 되돌림 문자(carriage return character)를 각각 발생시키기 전에 출력 텍스트 영역(104)에 플러쉬(flushed)된다.
바람직한 실시예에서, Shift 키(108)는 랫칭 Shift 키(latching shift key)로서 기능하여, Shift 키를 접촉하게 되면 자동-교정 키보드(106)의 다음 접촉과 연관된 글자가 대문자 글자로서 발생되게 한다. 다른 바람직한 실시예에서, Shift 키(108)의 두번의 연속하는 접촉은 시스템을 "Caps-Lock" 상태로 놓고 후속하는 활성화는 "Caps-Lock" 모드를 취소한다. BackSpace 키(112)는 만일 존재한다면 접촉의 현재 시퀀스로부터 최종 입력 접촉을 삭제하고, 그렇지 않으면 출력 텍스트 영역(104)의 삽입점(107)에 있는 커서의 좌측에 있는 문자를 삭제한다. 어떠한 현재 입력 시퀀스도 존재하지 않을 때, Edit Word 키(114)의 접촉은 시스템으로 하여금, 삽입점 커서(107)를 포함하거나 출력 텍스트 영역(104) 내의 이 커서의 좌측에 바로 인접하는 단어의 글자들에 연관된 좌표 위치로 구성된 현재의 입력 시퀀스를 수립하게 한다. 그 결과는, 단어가 Default 단어(160) 및 Exact Type 단어(154) 모두로서 나타나는 단어 선택 리스트를 생성하는 시스템에 상기 단어가 "풀 인(pulled in)" 하게 된다.
축소형 키보드 모호 시스템 하드웨어의 블럭도가 도 2에 제공된다. 터치 스크린(202) 및 디스플레이(203)는 적당한 인터페이싱 회로를 통해 프로세서(201)에 결합된다. 선택적으로, 스피커(204)가 또한 프로세서에 결합된다. 프로세서(201)는 터치 스크린으로부터 입력을 수신하고, 디스플레이 및 스피커에 대한 모든 출력을 관리한다. 프로세서(201)는 메모리(210)에 결합되어 있다. 메모리는 랜덤 액세스 메모리(RAM)와 같은 일시 저장 매체, 및 판독 전용 메모리(ROM), 플로피 디스크, 하드 디스크 또는 CR-ROM과 같은 영구 저장 매체의 조합을 포함한다. 메모리(210)는 시스템 운영을 관할하는 모든 소프트웨어 루틴을 포함한다. 바람직하게, 메모리는, 이하에 부수적으로 상세히 설명되는 운영 체제(211), 자동-교정 소프트웨어(212), 및 연관된 어휘 모듈(213)을 포함한다. 선택적으로, 메모리는 하나 이상의 어플리케이션 프로그램(214,215,216)을 포함할 수 있다. 어플리케이션 프로그램의 각각은 워드 프로세서, 소프트웨어 사전, 및 외국어 번역기를 포함한다. 축소 자동-교정 키보드 시스템으로 하여금 통신 보조로서 기능하게 하는, 어플리케이션 프로그램으로서 음성 합성 소프트웨어가 또한 제공될 수 있다.
본 발명의 다른 특징에 따르면, 각각의 입력 시퀀스는 하나 이상의 어휘 모듈을 참조하여 처리되며, 각각의 어휘 모듈은 단어 내의 문자의 수, 및 동일한 길이의 다른 단어에 대해 단어의 상대적 발생 빈도를 포함하는 각각의 단어에 대한 정보와 함께 하나 이상의 단어를 포함한다. 선택적으로, 어휘 모듈 또는 소정의 단어가 멤버(member)인 모듈에 관련된 정보가 각각의 단어와 함께 저장된다. 각각의 입력 시퀀스는 입력 시퀀스의 각 접촉점에서 각 후보 단어의 대응하는 위치내의 글자에 지정된 위치까지 계산된 거리를 합산함으로써 처리되는데, 이 거리는 바람직한 방법중의 하나에 따라 계산된다. 이 전체 거리는 다양한 후보 단어들을 사용자에게 제시하는 순서대로 순서를 매기는 정합 매트릭을 계산하기 위해 각 후보 단어에 관련된 빈도 정보(frqeuency information)와 결합된다. 바람직한 한 실시예에서, 정합 매트릭(matching metric)은 다음과 같이 계산된다. 입력 시퀀스 내의 각 접촉점에서 각 후보 단어의 대응하는 위치 내의 글자에 지정된 위치까지의 거리의 제곱이 계산되고, 제곱된 거리의 합이 각 후보 단어마다 계산된다. 이 합은 빈도 조정 인수로 곱해지는데, 한 바람직한 실시예에서, 후보 리스트 내의 단어의 오디날 위치(ordinal position)의 베이스 2 대수(base 2 logarithm)로서 계산되고, 여기서 상위의 상대 빈도의 단어들은 리스트에서 "상위"인 하위의 오디날 위치에 대응하는 위치(즉, 최빈도 단어는 "1" 위치에 있음)로 이동된다. 따라서, 계산된 정합 매트릭의 수치 값이 낮을 수록, 더욱더 소정 단어가 접촉점의 시퀀스를 발생시키는 사용자의 의도에 대응하는 것으로 간주된다.
본 발명의 다른 특징에서, 거리의 합(입력 시퀀스 내의 각 접촉점에서 후보 단어 내의 각 대응하는 글자까지)에 빈도 조정 인수를 곱하기 전에, 적어도 고정 증가 값 이상이 되도록 고정 증가분이 이 합계에 더해진다. 이는, 해당 단어가 매우 낮은 빈도(즉, 높은 매트릭 평균 위치를 가짐)로 발생할 때에도, 접촉점의 시퀀스가 소정 단어의 스펠링에 정확히 대응할 때, 제로의 정합 매트릭 값(즉, 가장 가망성있는 정합)을 계산하는 것을 피하기 위해 실행된다. 이는 접촉점의 부정확한 시퀀스가 입력될 때에도 훨씬 많이 자주 발생하는 단어가 보다 나은 정합 매트릭스를 제공하게 한다. 바람직한 실시예의 한 구현에서. 키보드에서 인접하는 문자간의 평균 거리의 약 두배의 고정 증가 값이 적은 빈도의 단어와의 스푸리어스 정합을 감소시키는데 있어서 효과적이라는 것이 밝혀졌다.
본 발명의 다른 특징에 따르면, 단어들이 동일한 길이의 단어로 구성된 클러스터 또는 파일들로 그룹지도록 각 어휘 모듈 내의 단어들은 저장된다. 각각의 입력 시퀀스는 먼저 입력 시퀀스 내의 입력의 숫자와 동일한 길이의 단어의 그룹을 검색하고, 최상의 정합 매트릭 점수를 갖는 그와 같은 후보 단어들을 식별함으로써 처리된다. 본 발명의 다른 특징에 따르면, 만일 임계 수 이하의 후보 단어들이 입력 시퀀스와 동일한 길이를 가지며 임계값보다 나은 정합 매트릭 점수를 갖는다고 식별되면, 이때 시스템은 N 입력의 입력 시퀀스를 길이 N+1의 단어의 그룹 내의 각 단어의 처음 N 글자에 비교한다. 이 프로세스는 점진적으로 긴 단어의 그룹을 검색하고, 임계 수의 후보 단어가 식별될 때까지 N 입력의 입력 시퀀스를 각 그룹내의 각 단어의 첫번째 N 글자들에 비교한다. 이와 같이 입력 시퀀스의 가능한 해석으로서 사용자에게 입력 시퀀스보다 긴 길이의 가변 후보 단어들은 제공될 수 있어, 단어 완성의 형태를 제공한다. 본 발명의 다른 특징에서, (입력 시퀀스 내의 각 접촉점에서 그 길이가 현재 입력 시퀀스의 길이보다 긴 후보 단어 내의 각각의 대응하는 초기 글자까지) 거리의 합에 빈도 조정 인수를 곱하기 전에, 그 길이가 현재 입력 시퀀스의 길이에 정확히 대응하는 단어에 대해 계산될 수 있는 거리 합계보다 크도록, 제2 고정 증가값이 합계에 더해진다. 이는, 그 길이가 정확히 대응하는 단어에 상대적으로 높은 정합 가능성을 지정하기 위해 수행된다. 다른 바람직한 실시예에서, 제2 증가 인수는 후보 단어와 현재 입력 시퀀스 간의 길이 차의 함수이다.
본 발명의 다른 특징에 따르면, 어휘 모듈이 처리될 수 있는 효율을 증가시키기 위해, 배제 경계(boundary of exclusion)에 자동-교정 키보드 영역의 접촉-감지 패드(pad)에 맵핑되는 각각의 문자가 지정된다. 각각의 이와 같은 경계는 접촉점에서 문자까지의 거리가 계산될 수 없고 문자가 입력 시퀀스의 접촉점을 고려하는 것이 제거될 거리를 벗어난 영역을 식별하여, 거리 계산 프로세스에 필요한 계산을 줄인다. 몇몇 문자의 배제 경계는 일부 또는 모든 공통 경계 세그먼트를 공유할 수 있다. 공유된 경계의 예는 자동-교정 키보드 영역의 극단 에지(extreme edge) 또는 자동-교정 키보드를 2, 3 이상의 주요 클러스터링 영역(major clustering regions)으로 분할하기 위해 문자 공간을 통해 그려진 전체 경계를 포함한다. 개념적으로, 소정의 접촉점에 대한 배제 경계를 고려는 것과 동일한데, 여기서 해당 경계를 벗어난 임의의 문자는 해당 입력점에 대한 정합으로서 고려하지 않는다. 도 3은 거의 동일한 크기의 세개의 클러스터링 영역(301,302,303) - 이들 영역들은 각각의 문자가 세개 클러스터링 영역중의 하나에만 포함되도록 정의된다 - 으로 분할된 수평 사각으로 구성된 자동-교정 키보드 영역(300)을 도시한다. 클러스터링 영역들은 자동-교정 키보드 영역 내의 각 접촉점의 경우, 세개 영역 중의 적어도 하나 또는 흔히 두개가 해당 접촉점에 대한 배제 경계를 완전히 벗어나 놓이도록 정의된다. 예를 들어, 영역(301)의 좌측에 있는 접촉점(311)은 영역(302)(및 영역 303)내의 모든 문자들이 접촉점(311)에 대한 배제 경계를 벗어나 놓이게 정의될 수 있는 영역(302)으로부터 충분히 떨어져 있다. 이와 대조적으로, 영역(301)의 우측에 있는 접촉점(312)을 위한 배제 경계는 영역(302)로 확장하여 영역(302) 내의 하나 이상의 문자들이 경계 내부에 놓이도록 고려될 것이고, 접촉점(312)을 위한 배제 경계를 완전히 벗어난 영역은 영역(303) 만이 될 것이다. 영역(302)의 중심에 있는 접촉점(313)을 위한 배제 경계는 영역 내의 모든 문자들이 경계를 벗어나 놓이도록 정의될 수 있는 영역(301,303) 모두로부터 충분히 멀리 떨어져 있는 것으로 간주될 것이다.
이때 이와 같은 클러스터링 영역은 시스템이 접촉점의 소정의 입력 시퀀스에 대한 하나 이상의 어휘 모듈 내의 가장 가망성있는 단어를 식별할 수 있는 효율성을 증가시키는데 사용된다. 도 3에 설명되고 도시된 예를 계속하면, 각 어휘 모듈 내의 소정 길이의 단어들은, 이와 같은 9개의 가능한 순서화된 쌍들이 존재하기 때문에, 각 단어의 첫번째 두 글자가 발견되는 클러스터링 영역에 기초하여 서로 다른 9개의 서브그룹으로 분할될 수 있다. 각 글자가 한 글자 "단어" 처럼 취급될 때에도, 극히 적은 계산이 필요하고 극히 적은 수의 한 글자 단어만이 존재하기 때문에, 단지 한 글자의 단어들을 처리하는 것이 최적화될 필요가 없다는 것에 유의하여야 한다. 첫번째 두개의 접촉점의 각각에 대해, 하나 이상의 클러스터링 영역 내의 글자가 고려되지 않아, 제거된 영역 내의 글자와 연관된 서브 그룹 내의 모든 단어들은 어떠한 거리 계산을 수행할 필요없이 스킵될 수 있다. 따라서, 어휘 모듈 내의 단어들의 첫번째 두 문자 위치에 대해 세개 영역중에서 총 문자 빈도의 다소 동등한 분산을 가정하면, 제2 접촉점의 수신시에, 시스템은, 후보 단어의 기껏 4/9(단지 하나의 클러스터링 영역이 각 접촉점에 대해 제거되지 않을 때) 내지 후보 단어의 1/9(두개의 클러스터링 영역이 각 접촉점에 대해 제거될 때)에 대한 거리를 계산하고 비교한다. 기술분야의 숙련자에게는 명확한 바와 같이, 본 방법은 보다 크거나 적은 수의 클러스터링 영역과 함께 사용될 수 있고, 서로 다른 수의 초기 접촉점의 경우에, 대응하는 결과와 함께 사용될 수 있다. 예를 들어, 네개의 클러스터링 영역들을 사용하여 첫번째 두개 접촉점에 기초하여 16개의 서브 그룹으로 후보 단어를 분할할 수 있다.
본 발명의 다른 실시예에서, 문자 또는 기능의 서브셋은 독특하게 정의된 영역 또는 자동-교정 키보드 외부의 키들과 연관될 것인데, 여기서 이들 영역 내의 입력은 특정 문자 또는 기능, 예를 들어, 선택될 때 단일 공간을 명확하게 발생하는 Space 키의 명시적 입력으로서 해석된다. 이와 같은 키들의 정의된 세트의 경우, 입력 시퀀스에 대해 시스템에 의해 제공되는 임의의 해석의 명시적 선택의 수행 전에, 입력 시퀀스 바로 다음에 이와 같은 키를 선택하는 것은, 각각의 후보 단어에 대해 계산된 정합 매트릭에 따라 가장 가망성있는 것으로 간주된 입력 시퀀스의 해석의 자동 수락의 결과가 된다. 상기 입력 시퀀스는 종료되고, 자동-교정 키보드 영역 내의 다음 스트로크가 새로운 입력 시퀀스를 개시한다. 일단 입력 시퀀스의 소정의 단어 해석이 결정되고 선택이 종료되면, 시스템은 구성되고 있는 정보에 부가되도록 자동적으로 단어를 출력한다. 임의의 기능, 예를 들어, 백스페이스 기능의 경우에, 연관된 영역 내에서의 입력은 백스페이스 기능의 명시적 입력으로서 해석되고, 이는 즉시 실행된다. 그러나, 이 경우에서의 결과는 입력 시퀀스를 종료시키지 않고, 간단히 시퀀스로부터 최종(가장 최근의) 입력을 삭제한다. 일반적으로, 자동-교정 키보드 외부의 키들이 즉시 해석되고, 그 키와 연관된 독특한 문자 또는 기능에 따라 처리된다. 연관된 문자 또는 기능에 따라, 일부의 경우에, 현재의 입력 시퀀스가 결과로서 종료된다.
본 발명의 다른 특징에 따르면, 시스템은 자동-교정 키보드 영역 및 자동-교정 키보드 외부의 다른 독특하게 정의된 영역 또는 키를 디스플레이하는데 사용되는 터치 스크린 또는 접촉-감지 디스플레이의 영역에서 발생하는 서로 다른 종류의 두 접촉 이벤트 간을 구별한다. 한가지 종류의 접촉은 터치 스크린이 접촉된 다음 초기 접촉점으로부터 한정된 거리를 벗어나 이동하지 않고 접촉이 종료되는 "탭(tap") 이벤트로 구성된다. 이와 같은 종류의 이벤트는 본 개시에 설명되는 것과 같은 축소형 자동-교정 키보드 시스템에 대해 의도된 키스트로크로서 처리된다. 두번째 종류의 접촉은, 터치 스크린이 접촉된 다음, 접촉점이 탭 이벤트를 정의하는데 사용된 한정된 거리 임계치를 벗어나 하나 이상의 방향으로 이동되는 "스트로크" 이벤트로 구성된다. 이 두번째 종류의 접촉은 기술분야에 공지된 기법을 사용하여 스트로크 인식 시스템을 사용하여 처리될 수 있다. 이는 많은 추가적인 기능 또는 특수한 문자들이 풀-다운 메뉴를 트리거하거나 또는 추가적인 스크린 공간을 필요로 하거나 또는 제공된 키의 크기를 감소시키게 하는 추가적인 키를 정의할 필요없이, 사용자로의 액세스를 용이하게 한다. 이와 같은 스트로크의 해석 및 인식된 스트로크와 연관된 결과로 나타나는 문자 또는 기능은, 자동-교정 키보드 외부의 독특하게 정의된 영역 또는 키 중 하나의 활성화와 동일한 방식으로 시스템에 의해 처리된다. 이와 같이, 이용가능한 터치 스크린 또는 접촉-감지 디스플레이의 한정된 영역만이 키보드에 기초하고 스트로크 인식 입력 방법 모두를 수용하는데 사용될 필요가 있다.
본 발명의 다른 특징에 따르면, 시스템은 "탭" 이벤트의 부가적인 처리를 수행하여, 터치 스크린 또는 접촉-감지 디스플레이를 접촉하는 특정 사용자의 스타일을 동적으로 조정한다. 점에 매우 가까이 접근하는 스타일러스 "제스쳐"(즉, 스타일러스가 디스플레이에 접촉하고 임의의 인식가능한 거리로 이동되기 전에 들어올려짐)로서 디스플레이를 접촉하는 사용자의 경우, 사용자가 키보드를 접촉하기로 의도했던 것에 대해 어떠한 큰 모호성도 존재하지 않는다. 그러나, 스타일러스가 디스플레이로부터 들어올려지기 전에 다소 어느 정도 이동될 때, 스타일러스 "제스쳐(gesture)"의 동안, 사용자가 초기 접촉점, 스타일러스가 들어올려졌을 때의 최종 점 또는 스타일러스의 접촉 경로를 따른 다른 일부 점에서 어떤 접촉되는 점이 접촉하려 의도하였던 점을 가장 잘 나타내는지에 대한 모호성이 존재한다. 바람직한 실시예에서, 시스템은 접촉 경로의 최종 점, 및 경로를 따라 균일하게 이격된 제로 이상의 점들을 포함하는 N 접촉점 세트로서 각각의 접촉에 의해 추적된 경로를 기록한다. 예를 들어, N이 3으로 설정된 실시예에서, 이 세트는 경로의 최종점 및 중간점을 포함할 것이다. 초기에, 기록된 점들의 각 세트의 한 점이 자동-교정 키보드 내의 글자들까지의 거리를 계산하는데 있어서의 접촉점을 나타내는데 사용될 좌표로서 지정된다. 예를 들어, 바람직한 실시예에서, 각 세트에 기록된 초기 접촉점은 모든 거리 계산에서의 접촉점을 나타내는데 사용되는 좌표로서 지정된다. 단어가 단어 선택 리스트로부터 출력하기 위해 선택될 때마다, 거리 계산은 선택된 단어 내의 각 글자에서 기록된 점의 다른 세트의 각각까지 반복된다. 예를 들어, N이 3으로 설정되고 계산이 시작 접촉점에 대해 수행될 때, 중간점 세트 및 최종점 세트에 대해 계산이 반복된다. 최소 계산된 거리의 결과가 되는 어떤 점의 세트도, 좌표가 각 접촉 시퀀스에 대한 단어 선택 리스트를 생성하는데 있어서 모든 후속하는 거리 계산에서 시퀀스 접촉점을 나타내는데 사용되는 접촉점의 세트로서 지정된다. 다른 바람직한 실시예에서, 실행 평균(running average)은 각 점 세트에 대해 수행된 거리 계산으로 계산되고, 이 실행 평균이 가장 낮은 점 세트는 단어 선택 리스트를 생성하는데 있어서의 거리 계산에 사용된다. 다른 바람직한 실시예에서, 실행 평균은 의도하는 목표 글자로부터 지정된 점의 수평 및 수직 부호 오프셋으로 계산되고, 단어 선택 리스트를 생성하기 위한 거리 계산에 사용되는 좌표는 이 평균 부호 오프셋 또는 이 오프셋의 고정된 미소(fixed fraction)만큼 조정된다. 따라서, 만일 사용자가 의도하는 글자 좌측 및 밑으로 터치 스크린을 지속적으로 접촉하면, 시스템은 의도하는 단어를 평균적으로 자동적으로 조정하고 정확하게 예측할 수 있다.
본 발명의 다른 특징에 따르면, 자동-교정 키보드 영역 내의 접촉-감지 패드 상에 맵핑된 각각의 문자에게는 지역 영역이 지정된다. 이와 같은 영역의 각각은 문자에 대한 사용자의 입력으로부터의 거리가 제로 값이 지정되는 면적을 식별하여, 거리 계산 프로세스를 단순화시킨다. 이와 같은 영역의 크기는 서로 다른 문자 및 기능에 대해 변할 수 있다. 예를 들어, 보다 큰 영역은 사용 대표 집성(corpus) 내의 상대적으로 보다 높은 빈도로 발생하는 문자에 지정될 수 있다. 한 실시예에서, 문자에 지정된 이 영역은 터치 스크린 상에 명확하게 경계가 지어지고 구별되며 문자가 지정되는 정의된 키에 단순히 대응한다.
축소 자동-교정 키보드 시스템의 동작은 접촉점과 다양한 후보 문자 간의 거리에 부분적으로 기초하는 자동-교정 소프트웨어(212)에 의해 관할된다. 본 발명의 한 실시예에서, 자동-교정 키보드 내의 각 문자에게는 키스트로크에 대한 거리의 계산을 단순화시키기 위해 데카르트 좌표가 지정된다. 따라서, 접촉된 점과 자동-교정 키보드 내의 다양한 후보 문자 위치 간의 거리는 간단한 데카르트 좌표 거리 분석을 통해 계산된다. 본 발명의 다른 실시예에서, 단순한 데카르트 좌표 거리의 제곱은, 계산(제곱근은 계산될 필요가 있음)을 단순화시키고, 보다 먼 접촉점에 비선형 가중을 적용하기 위해 사용된다. 다른 실시예에서, 거리 계산은 또한 데카르트 좌표 거리 분석과의 적절한 가중 조합으로 배제적으로 또는 적절히 자연 대수 또는 이산 단계와 같은 다른 비선형 함수를 이용한다.
또한, 다른 바람직한 실시예에서, x 및 y 방향 간의 거리는 서로 달리 가중된다. 거리 계산에 대한 이와 같은 수정은, 단어 선택을 단순화시키고, 처리 조건을 감소시키거나 소정의 시스템 및 그 구현의 특정 필요성에 따라 시스템적 입력 변칙을 수용하는 역할을 할 수 있다. 예를 들어, QWERTY 키보드 배열이 세 행의 문자키로서 디스플레이되는 터치 스크린 디스플레이 패널의 경우에, 일반적으로 잘못된 행에서 키보드를 접촉하여 커다란 잘못이 발생할 가능성은 적다. 이 경우에, y 축을 따른 수직 거리는 x 축을 따른 수평 거리보다 보다 크게 가중될 수 있다.
부가적으로, 자동-교정 키보드 위의 문자 간의 간격은, 임의의 소정의 문자가 언어의 대표 집성(coprus)에 얼마나 자주 사용되는가 또는 키보드의 에지 또는 중심에 대한 그 위치에 따라 불균일할 수 있다. 선택적으로, 충분한 계산 자원이 이용가능할 때, 키보드가 접촉되는 점의 좌표 위치로부터 키의 거리 - 여기서 거리는 접촉점에서 가장 가까운 이와 같은 지정된 참조 좌표까지의 거리로서 계산됨 - 를 계산하는데 있어서 참조점으로서 사용될 복수의 대응하는 좌표 위치가 하나 이상의 문자에 지정된다. 이는 디스플레이가 비선형으로 접촉되는 점에 대한 계산된 거리를 감소시키고, 결국 영역 내의 접촉점을 포함하는 접촉 시퀀스가 대응하는 영역의 문자를 갖는 단어에 일치할 가능성이 높은 문자를 둘러싸는 영역의 크기를 증가시킨다.
또한, 문자의 좌표는 키보드 키에 의해 공유되지 않거나 또는 센서에 의해 직접 검출가능한 위치에 지정될 수 있다. 이는 시스템으로 하여금, 접촉점을 검출하는데 있어서 보다 낮은 해상도를 갖는 비싸지 않은 터치 스크린 또는 키보드를 사용하여 구현될 수 있게 한다. 이는 또한 키보드가 사용자의 소망에 따르지만, 여전히 동일한 물리적 키보드 터치 스크린 또는 센서 어레이를 사용하여 재구성될 수 있게 한다. 예를 들어, QWERTY 배치 내의 공통 세 문자 행은 키보드의 기계적 복잡성을 감소시키거나 또는 신규한 키보드 어레이의 동적인 재지정이 가능하도록 1,2,3 이상의 행의 센서로서 서비스될 수 있다. 예는, 9 문자의 3행에서 7문자의 4행으로 변할 것이다. 따라서 소정의 문자에 대해 지정된 좌표 위치는, 키보드와의 물리적 접촉이 검출되고 해결될 수 있는 두개 이상의 가장 가까운 접촉 간에 놓일 수 있다. 이 경우에, 검출가능한 접촉점과 지정된 문자 위치로부터의 거리는,물리적 센서의 해상도보다 정밀한 해상도를 갖는 논리적 좌표 프레임에 보간함으로써 계산된다.
시스템의 한 바람직한 실시예에서, 부가적인 처리 최적화는, 소정 후보 문자 내의 몇개의 글자가 미리 설정된 임계 거리(maximum_key_distance) 보다 대응하는 입력 접촉점으로부터 더욱 멀 수 있는 지에 대한 제한을 설정함으로써 달성된다. 만일 이와같이 미리설정된 임계 maximum_key_distance가 MAX_DISTANCE_VALUE 이외의 값에 설정되어 있다면(시스템에 사용된 거리 측정 알고리즘에 의해 계산될 수 있는 최대 거리 값), 이때 제2 임계치 over_max_distance_limit는 대응하는 입력 접촉점으로부터 maximum_key_distance보다 멀 수 있는 소정의 후보 단어 내의 최대 글자수로 설정된다.
도 4A 내지 도 4K는 부정확한 키스트로크 시퀀스를 효과적으로 이용하는데 있어서 사용자를 보조하기 위한 단어 선택을 생성하고 관리하는 자동-교정 소프트웨어(212)의 주 루틴의 바람직한 실시예의 순서도이다. 도 4A는 시스템이 처음에 시작될 때, 블럭(4105)에서 단어 선택 리스트 및 현재의 입력 시퀀스를 빈 상태로 초기화하는 주 처리 루틴을 도시한다. 다음에, 블럭(4110)에서, 시스템은 터치 스크린(202)으로부터 키스트로크의 수신을 대기한다. 키스트로크의 수신시, 블럭(4115)에서, 시스템은 수신된 키스트로크 접촉점의 좌표 x/y가 자동-교정 키보드 영역(106)의 경계 내에 놓이는지를 결정한다. 만일 그렇지 않으면, 이때 블럭(4120)으로 표시된 프로세스가 도 4I의 순서도에 도시된 바와 같이 수행되는데, 여기서 시스템은 접촉점 x/y을 포함하는 정의된 키 영역과 연관된 특정 문자 또는 기능을 처리한다. 만일 블럭(4115)에서, 수신된 키스트로크 접촉점 x/y가 자동-교정 키보드 영역(106)의 경계 내에 있으면, 이때 블럭(4130)에서, 시퀀스의 길이 k가 1증가되고, 점 x/y는 현재의 입력 시퀀스의 끝에 kth 입력으로 첨가된다. 이때 블럭(4140)에서, 시스템이 key_distance 테이블 입력 KDik를, kth 입력점 x/y에서 자동-교정 키보드에서 각 키 Ki의 perimeter 상의 가장 가까운 점까지의 데카르트 거리의 제곱으로 설정하고, x/y가 키 영역 Ki의 내부에 있을 때 KDik를 0으로 설정한다. 블럭(4150)에서, 어휘 모듈(213)의 하나 이상의 단어에 나타나는 유효 문자인 각각의 가능한 문자 Cj의 경우, 각각의 문자값 Cj을 그 대응하는 키 ki에 맵핑하는 변환 테이블 character_map은, kth 입력 x/y에서 각각의 가능한 문자 Cj에 대응하는 키 Ki까지, character_distance 테이블의 kth 행의 각 엘리먼트 CDjk를 제곱된 거리 KDik에 설정하는데 사용된다. 이는, 정합 매트릭을 계산하는데 사용되는 거리가 오로지 한번(KDik가 key_distance 테이블에서 설정될 때) 계산되게 하고, 변환 테이블 character_map도 유사하게 character_distance 테이블이 key_distance 테이블로부터 채워질 때 오로지 한번 사용된다. 이는 그렇지 않으면 어휘 모듈의 단어를 처리하는데 있어 반복되게할 계산 횟수에 큰 효과가 있다.
판단 블럭(4160)에서, 변수 maximum_key_distance가 점검되어 MAX_DISTANCE_VALUE 이외로 설정되었는지를 판정하고, 그렇다면, 블럭(4170)에서, 보조 인덱스 어레이가 분류되어, 어휘 모듈의 단어를 검색하는데 있어서, x/y 입력이 x/y 입력에 가까운 키에 맵핑된 문자를 일치시킬 가능성의 오름차 순으로 처리될 수 있다. 이 순서로 처리될 입력 x/y를 분류하는 것은, 이것이 모든 입력이 처리되기 전에 하나 이상의 x/y 입력이 대응하는 키로부터의 maximum_key_distance이상일 모든 단어에 걸쳐 가능성을 증가시키기 때문에, 입력 시퀀스에 대한 어휘 모듈을 처리하는데 필요한 총 연산량을 최소화시키는 경향이 있어, 이와 같은 입력의 수가 over_max_distance_limit를 초과하자마자 단어가 후보로서 자격이 박탈되기 때문에 나머지 입력이 처리될 필요가 없다. 도 4K는 소정의 x/y 입력에 가까운 키에 맴핑된 문자를 정합시키는 가능성이 어떻게 계산되는지의 바람직한 실시예를 도시한다. 엘리먼트 character_frequenciesij가 어휘 내의 임의의 단어의 jth 문자로서 밝혀진 모든 문자의 상대 빈도의 합을 포함하고, character_map에서 키 Ki에 맵핑된 어휘 모듈에 테이블 character_frequencies가 포함된다. 블럭(41110)에서, 현재의 입력 x/y에 대한 match_probabilityk가 제로로 초기화된다. 루프(41120)에서, 다음에 판단 블럭(41130)에서, 만일 키 Ki가 입력 x/y로부터의 maximum_key_distance 이상이 아니면, 블럭(41140)에서, 이때 match_probabilityk가 거리(KDik+1)로 나뉘어진 character_frequenciesij의 값만큼 증가된다.(여기서, 거리 KDik는 제로에 의한 나눔을 피하고 각각의 character_frequenciesij를 적절히 스케일하기 위해 1만큼 증가된다.) 모든 키들이 루프(41120)에서 다음에 블럭(41150)에서 처리될 때, 어레이 key_index 내의 인덱스 값 1.k가 각각의 입력에 대해 계산된 match_probabilityk의 값에 따라 오름차순으로 분류된다.
도 4A로 돌아가서, 블럭(4180)에서, 길이 k의 현재 입력 시퀀스에 기초하여 새로운 단어 선택 리스트가 계산된다. 도 4B는 새로운 단어 선택 리스트를 계산하기 위한 바람직한 실시예를 도시한다. 블럭(4210)에서, 임의의 이전에 계산된 단어 선택 리스트가 클리어된다. 블럭(4220)에서, 만일 현재 입력 시퀀스가 두개 이상의 입력을 포함하고 있으면, 소프트웨어는 시퀀스의 첫번째 두 입력의 좌표 위치에 기초하여 세개의 클러스터링 영역중의 어느것이 고려에서 배제될 수 있는지를 판정한다. 블럭(4230)에서, 배제된 클러스터링 영역에 기초하여, 어휘 모듈 내의 각 단어의 9개 가능한 서브 그룹중에서, 실제로 처리될 필요가 있는 단어의 서브그룹이 식별된다. 다음에, 블럭(4240)에서, 단어 선택 리스트를 도시하는 후보 단어를 식별하기 위해 이들 식별된 서브 그룹만이 처리된다.
도 4C는 식별된 서브그룹내의 단어들이, 자동-교정 키보드 영역 내부 접촉점으로 구성된 키스트로크의 입력 시퀀스 입력에서 사용자의 의도를 가장 가망성있게 정합하는 단어의 단어 선택 리스트를 작성하기 위해 어떻게 처리되는지를 도시한다. 블럭(4305)은 루프 종료를 위해 블럭(4310)으로부터 블럭(4380)에서 테스트를 통해 루프의 한계를 정의한다. 블럭(4380)은, 식별된 서브 그룹중의 하나에 속하고, 아직 처리되지 않은, 입력 시퀀스의 현재 길이 k의 임의의 보다 많은 단어들이 존재하는지를 테스트한다. 만일 그렇지 않으면, 블럭(4385)에서, 시스템은 단어 리스트가 채워졌는지, 및 리스트 내의 각 단어에 대해 계산된 정합 매트릭의 값이 선정된 값 미만인지를 판정한다. 만일 그렇다면, 이때 단어 리스트는 적당한 품질의 잠재적인 정합으로 채워진 것으로 간주되고, 블럭(4395)에서, 프로세서는 도 4B의 블록(4260)으로 복귀한다. 만일 그렇지 않다면, 이때 블럭(4390)에서, 시스템은 식별된 서브 그룹중의 하나에 속하고, 아직 처리되지 않은 k 이상의 임의의 길이의 임의의 단어들이 더 존재하는지를 테스트한다. 그렇지 않으면, 블럭(4395)에서, 프로세서는 블럭(4260)으로 복귀한다.
일단 처리될 다음 단어가 블럭(4310)에서 어휘 모듈로부터 얻어졌으면 블럭(4315)에서, word_distance가 제로로 설정되어, 이 단어에 대한 입력 시퀀스로부터의 가중된 거리가 이 변수내로 합산될 수 있다. 다음에 블럭(4320)에서, over_max_distance_count가 제로로 설정되어, 이 단어에 대한 미리설정된 최대 임계치 maximum_key_distance 보다 입력 시퀀스에서 대응하는 접촉점으로부터 더욱 먼 단어 내의 글자의 수가 이 변수와 함께 카운트될 수 있다. 다음에 블럭(4330)에서, 단어가 도 4D에 도시된 바와 같이 처리된다. 블럭(4410)은 루프 카운터 i를 1로 초기화하고, 현재 시퀀스 내의 k 입력의 각각이 처리될 때에 루프 종료에 대한 블럭(4490)에서 테스트를 통해 블럭(4420)으로부터 루프의 한계를 정의한다. 블럭(4420)에서, 변수 next_key가 도 4J에 따라 분류된 다음 인덱스 어레이 값 key_indexi로 설정되어, 계산된 key_distance가 임계치 maximum_key_distance를 가장 초과할 가능성이 있는 것들로 시작하여 입력이 처리되게 된다. 루프 카운터 i는 이때 증가된다. 블럭(4430)에서, key_distance는 입력 시퀀스 내의 각 접촉점에서 어휘 모듈의 임의의 단어에서 발생하는 각각의 가능한 문자까지의 거리를 포함하는, 위에서 설명한 어레이 CD에서 이미 계산되고 저장된 대응하는 값으로 설정된다. 판단 블럭(4440)에서, 만일 key_distance가 임계치 maximum_key_distance를 초과하면, 이때, 블럭(4450)에서 over_max_distance_count가 증가되고, 판단 블럭(4455)에서 over_max_distance_count가 테스트되어, 이와 같은 입력의 최대 수 over_max_distance_limit가 초과되는지의 여부를 판정한다. 만일 그렇다면, 루프(4410)가 일찍 종료되고, 상기 단어가 추가적으로 고려되지 않기 때문에 블럭(4490)에서 복귀된 부정확한 단어 거리는 문제가 되지 않게 된다. 만일 판단 블럭(4440)에서, key_distance가 임계치 maximum_key_distance를 초과하지 못하거나 또는 만일 판단 블럭(4455)에서 over_max_distance_count가 over_max_distance_limit를 초과하지 못하면, 이때 블럭(4460)에서 key_distance는 현재의 단어에 대해 계산되고 있는 총 word_distance로 합산된다. 이 프로세스는 판단 블럭(4470)에서 모든 입력들이 처리되었는지가 판단될 때가지 입력 시퀀스의 각 접촉점에 대해 반복된다. 이 프로세스가 블럭(4490)으로부터 복귀할 때, word_distance가 현재의 단어에 대해 정확하게 계산되거나 또는 over_max_distance_count가 임계치 over_max_distance_limit를 초과하고, 현재의 단어는 추가적으로 고려되지 않는다.
도 4C로 돌아가, 판단 블럭(4335)에서, over_max_distance_count가 테스트되어 현재의 단어가 자격이 없는지를 판단하고, 만일 그렇다면, 실행은 블럭(4380)으로 진행하여, 단어 처리 루프(4305)가 종료하여야 하는지를 테스트한다. 만일 그렇지 않다면, 판단 블럭(4340)에서, 현재의 단어가 입력의 수 이상이면, 이때 블럭(4345)에서, 계산된 word-distance가 고정 크기 wrong_length_additive_factor만큼 증가된다. 다른 바람직한 실시예에서, 단어 내의 글자의 수와, 입력 시퀀스 내의 접촉점의 수 간의 함수로서 wrong_length_additive_factor가 계산된다. 어느 경우에, 단어에 대해 계산된 match_metric가 어휘 모듈의 리스트에서 그 상대 순위를 반영하도록, 임의의 단어가 제로의 word_distance 값을 갖는 것을 방지하기 위해 word_distance가 고정 크기 all_word_additive_factor만큼 증가되는 블럭(4350)으로 처리가 복귀한다. 블럭(4355)에서, 배수사(multiplicative) 인수 idx_multiplier는, 단어에 대한 match_metric 값을 결정하기 위해 계산된 word_distance와 결합하여 가중 인수로서 사용하기 위해 계산된다. 도 4C에 도시된 바람직한 실시예에서, idx_multiplier는 멤버인 그 리스트에서 단어의 평균 위치의 수치 인덱스의 이진 표현으로 1로 설정된 최고 비트의 비트 위치로서 계산된다. 이 값은 0은 최상위 비트 위치에 대응하고 31은 최하위 비트 위치에 대응하는 0에서 31까지의 범위이다. 블럭(4360)에서, 이 값은 1만큼 증가되어, 사용된 배수사 인수가 1 이상이어 임의의 비제로 word_distance가 비제로 match_metric 값의 결과가 될 것이다.
만일 판단 블럭(4370)에서, match_metric이 단어 선택 리스트 내의 최하위(즉, 최상위) match_metric 점수 미만이면, 이때 현재의 단어는 단어 선택 리스트에 삽입된다. 만일 match_metric가 완전한 단어 선택 리스트 내의 최하위 match_metric 점수 이상이면, 이때 현재의 단어는 무시된다. 만일 현재의 입력 시퀀스와 동일한 길이 k인 아직 처리되지 않은 임의의 단어가 남아있다면, 판단 블럭(4380)은 블럭(4310)으로 복귀한다. 판단 블럭(4380)이 처리할 길이 k의 어떠한 단어도 발견하지 못하면, 판단 블럭(4380)은, 단어 선택 리스트가 정합 단어들 - 정합 단어들의 각각은 선정된 임계치 이하의 match_metric 값을 가짐 -의 완전한 보수 (한 바람직한 실시예에서, 완전한 보수는 네개의 단어로 구성)를 포함하는 지를 판단한다. 만일 판단 블럭(4385)에서, 단어 리스트가 정합 단어의 완전한 보수를 아직 포함하지 않는 것으로 밝혀지면, 이때 블럭(4390)에서 시스템은, 현재의 입력 시퀀스 길이 k이상의 길이의 나머지 임의의 단어가 존재하는 지를 판정하고, 만일 그렇다면, 블럭(4310)부터 실행을 계속한다. 단어 선택은, 판단 블럭(4385)이 단어 선택 리스트가 정합 단어로 채워졌다는 것을 확인할 때까지, 또는 판단 블럭(4390)이 테스트할 어떠한 부수적인 단어도 존재하지 않는다고 확인할 때까지 계속한다.
도 4B로 돌아가, 블럭(4260)에서 단어 선택 리스트가 처리된다. 도 4E는 단어 선택 리스트를 처리하기 위한 바람직한 실시예를 도시한다. 블럭(4510)에서, 단어 선택 리스트를 위해 선택된 단어들은 단어 길이로 오름차순으로 정렬되어, 그 길이가 입력 스트링을 위한 키의 숫자와 같은 단어들이 단어 선택 리스트 내의 가장 가망성있는 대안으로서 제시될 것이다. 블럭(4520)에서, 동일한 길이의 단어들의 각 그룹은 각 단어를 위해 계산된 match_metric의 값에 따라 오름차순으로 정렬되어, match_metric의 하위값을 갖는 단어들이 가장 가망성있는 대안으로서 제시된다.
단어들은, 예를 들어 글자 "i" 및 "e"의 정확한 순서가 흔히 역전되는 영어에서의 단어와 같은 공지된 잘못된 철자로서 표시되는 어휘 모듈에 포함될 수 있다. 한 바람직한 실시예에서, 이와 같이 잘못된 철자의 단어들은 어휘 모듈로부터 후보 단어로서 식별되어 단어 선택 리스트에 포함될 때, 이들이 플래그되어 블럭(4540)에서 단어 리스트에서 대응하는 정확하게 스펠링된 단어로 교체될 수있게 된다. 유사하게, 단어들은 또한, 출력될 텍스트의 다른 스트링(string) 및/또는 연관된 단어의 선택시 실행된 지정된 기능과 연관된 매크로(macros) 또는 축약으로서 플래그된 어휘 모듈에 포함될 수 있다. 이와 같은 매크로는 단어 선택 리스트에서 블럭(4540)에서 대응하는 연관된 텍스트 스트링과 교체될 수 있다. 블럭(4540)은 적절한 쉬프트 상태(shift state)를 단어 선택 리스트 내의 모든 단어 문자에 적용하여, 관련된 문자들을 각각의 글자에 대응하는 키스트로크가 수행될 때에 실행되었던 쉬프트 상태에 따라 그 적절한 대문자 또는 소문자 형태로 변환한다. 블럭(4580)에서, 단어 선택 리스트 내의 복사 단어(duplicate word)는 최하위 우선순위 복사본을 제거함으로써 제거된다.
본 발명의 다른 특징에 따르면, 본 발명의 입력 방법을 구현하는 소프트웨어 어플리케이션은 기존의 장치에 설치된다. 장치에서 이 어플리케이션의 설치 동안에, 기존의 정보 파일들은 어휘집에 부가될 단어에 대해 스캔된다. 이와 같은 정보 파일들을 스캔하는 방법은 기술분야에 공지되어 있다. 새로운 단어들이 스캔 동안 발견됨에 따라, 이 단어들은 낮은 반도의 단어로서 어휘집 구조에 부가되며, 따라서 단어들이 연관된 단어 리스트의 끝에 놓인다. 소정의 새로운 단어가 스캔 동안 검출되는 횟수에 따라, 그 연관된 리스트 내에서 승진(promoting)함으로써 상대적으로 높고 낮은 우선순위가 지정되어, 정보 입력 동안 단어 선택 리스트에 나타나는 단어의 가능성을 증가시킨다.
본 발명의 다른 특징에 따르면, 단어의 어휘집은 수락가능한 성질의 유사한 단어와 쌍을 이루는 공격적인 단어(offensive words)의 부록을 가져서, 공격적인 단어를 구성하는 글자의 위치의 Exact Typing을 통해서라도, 공격적인 단어를 입력하는 것은 연관된 수락가능한 단어를 Exact Type 필드에, 그리고 만일 제시로서 적절하다면 단어 선택 리스트(Word Selection List)에 산출한다. 이와 같은 특징은 의도하는 글자의 정확한 위치에 있는 키보드를 접촉하는데 거의 주의가 기울여지지 않을 때 보다 신속히 타이핑할 수 있다는 것을 사용자가 알게 되면, 선택 리스트에 무의식적으로 나타날 공격적인 단어의 출력을 필터할 것이다. 따라서, 기술분야에 공지된 기법을 사용하여, Exact Type 단어 스트링을 디스플레이하기 전에, 단어 선택을 디스플레이하기 위한 소프트웨어 루틴은 현재의 Exact Type 스트링을 공격적인 단어의 부록과 단순히 비교하고, 만일 정합이 발견되면, 디스플레이 스트링을 연관된 수락가능한 단어로 교체한다. 그렇지 않고, 공격적인 단어가 매우 낮은 빈도의 단어로서 취급될 때에도, 단어의 글자의 각각이 직접 접촉될 때 Exact Type 단어로서 여전히 나타날 것이다. 비록 이것이 표준 키보드 상의 공격적인 단어를 우연히 타이핑하는 것과 유사하지만, 본 발명의 시스템은 사용자가 극히 부정확하게 타이핑하는 것을 허용하도록 설계되어 있다. 이와 같은 특징은 예를 들어, 시스템 메뉴 선택을 통해 사용자에 의해 인에이블 또는 디스에이블될 수 있다.
기술분야의 숙련자는 또한 예를 들어, 법률 용어, 의학 용어 및 외국어 용어를 포함하는 어휘 모듈을 포함하는 부가적인 어휘 모듈이 컴퓨터내에서 인에이블될 수 있다는 것을 알 것이다. 시스템 메뉴를 통해, 사용자는 부가적인 어휘 단어들이 특별한 컬러화 또는 하이라이팅되어 가능한 단어의 리스트에서 최초로 또는 마지막으로 나타나게 될 수 있도록 시스템을 구성을 할 수 있다. 결국, 첨부된 특허청구 범위의 영역 내에서, 본 명세서에 서술된 것과 다른 방법으로 본 발명이 실시될 수 있다는 것을 알 것이다.
도 4B 내지 도 4A를 참조하면, 단어 선택 리스트가 사용자에게 제시되고, 주 루틴은 블럭(4110)에서 터치 스크린(202)으로부터의 다음 스트로크를 대기한다. 만일, 블럭(4115)에서 키스트로크의 수신시에, 시스템은 수신된 키스트로크 접촉점이 자동-교정 키보드 영역(106)의 경계를 벗어나 놓인 것으로 판정하면, 이때 블럭(4120)의 프로세스는 도 4I에 도시된 바와 같이 수행된다. 블럭(4910)은 정의된 영역과 연관된 문자 또는 기능을 식별한다. 만일 판정 블럭(4920)에서 단어 선택 리스트가 비어 있다면, 이때 블럭(4925)은 정의된 키 영역과 연관된 문자(들)을 발생하거나 또는 정의된 키 영역과 연관된 기능을 실행하고, 블럭(4970)에서 시스템은 도 4A로 복귀한다. 만일 하나 이상의 단어들이 단어 선택 리스트에 현재 디스플레이되었다면, 블럭(4930)은, 키스트로크 x/y 좌표가 단어 선택 리스트(150)내에 포함되는지를 판정한다. 만일 그렇다면, 블럭(4935)에서 시스템은 단어 선택 리스트로부터 단어 선택을 처리한다.
본 발명의 다른 특징에 따르면, 사용자는 Space 키를 눌러 입력된 키스트로크 시퀀스의 범위를 정한다. Space 키를 수신한 후에, 비모호 시스템은 가장 자주 사용된 단어를 선택하고, 이 단어를 구성되는 정보에 부가한다. Space 키는 입력된 시퀀스를 범위를 정하는데(delimit) 사용된다.
본 발명의 다른 특징에 따르면, 단어 선택은, 하나의 단어가 각각의 행에 제시되고 각각의 행이 영역들 또는 열로서 더욱 세분화되어 있는 후보 단어들의 수직 리스트로서 제시된다. 영역들 또는 열들은 트레일링 블랭크 공간(trailing blank space)을 포함하거나 포함하지 않거나, 구두점 표시를 첨부하거나 구별되는 액센트를 디스플레이하는 것과 같이 선택된 행에 디스플레이된 후보 스트링의 수락에 관련된 기능을 정의한다. 이 기능은, 사용자가 소정의 기능과 연관된 영역 또는 열에 포함된 점에 있는 단어 선택 리스트 내의 의도하는 스트링의 행을 접촉할 때 적용될 수 있다. 사용자가 임의의 영역 또는 열 내의 행을 접촉함으로써 소정의 후보 단어를 선택할 때, 이 단어는 출력을 위해 자동적으로 "수락되며" 구성되는 정보에 부가된다. 예를 들어, 트레일 공간을 첨부하는 것과 연관된 영역 내의 행을 접촉하면, 트레일링 공간을 갖는 연관된 단어를 즉시 출력한다. 본 발명의 다른 특징에 따르면, 하나의 이와 같은 영역 또는 열이 정의되면, 영역 내의 행을 접촉하는 것은 실제의 접촉점의 현재 입력 시퀀스를, 현재의 입력 시퀀스를 종료하지 않고, 선택된 행의 단어를 구성하는 글자들의 좌표 위치에 대응하는 접촉점들의 시퀀스로 교체하는 기능을 호출한다. 결국, 선택된 단어가 입력 시퀀스의 Exact Type 해석으로서 선택 리스트에 나타난다. 대부분의 경우에, 비록 단어의 글자들이 각각 훨씬 보다 빈도가 높은 단어의 그것 근처에 있을 지라도 선택된 단어는 또한 입력 시퀀스의 가장 가망성있는 단어 해석으로서 나타나며, 빈도가 높은 단어일 수록 가장 가망성있는 단어 해석으로 나타날 것이다. 입력 시퀀스를 입력 시퀀스를 종료하지 않고 의도하는 단어의 글자의 좌표 위치로서 재정의하는 이와 같은 능력은, 사용자로 하여금 예를 들어, 소정의 어미 변화(inflection) 또는 접미사를 계속 타이핑하여 단어를 첨부할 수 있게 한다. 의도하는 단어가 상대적으로 빈도가 떨어질 때, 특히 소정의 어미 변화 또는 접미사로서 가끔 나타날 때, 이와 같은 특징은 사용자로 하여금 단어의 각 글자를 주의깊게 타이핑할 필요없이 빈도가 낮은 단어의 소정의 빈도가 낮게 발생하는 형태를 타이핑하는 것을 가능하게 한다. 단어의 어미 변화되지 않은 형태가 이와 같은 특징과 연관된 영역의 선택 리스트 내의 연관된 행을 접촉함으로써 선택될 때 하나의 부가적인 선택 단계만이 필요하다.
도 4J는 단어 선택 리스트 선정을 처리하고, 영역(154, 157 또는 160) 내의 접촉을 등록하기 위한 바람직한 실시예를 도시한다. 블럭(41010)은 단어 선택 리스트의 어떤 행이 접촉되었는지 그리고 연관된 단어를 식별한다. 블럭(41020)은 접촉된 단어 선택 리스트 열 및 해당 열에 대한 연관된 기능 Fcol을 식별한다. 도 1B에 도시된 바람직한 실시예에서, 세개의 서로 다른 열들: 열 표시기(170)의 좌측에 하나, 열 표시기(172)의 우측에 하나, 그리고 열 표시기(170 및 172)간에 하나이 정의된다. 판단 블럭(41030)은, Fcol이 도 1B에 도시된 바람직한 실시예에서 선택된 단어의 x/y 위치의 새로운 세트로서 입력 시퀀스를 교체하는 것으로 구성되고, 열 표시기(172)의 우측의 x/y 위치에 대응하는 지를 판단한다. 만일 그렇다면, 블럭(41032)은 입력 시퀀스를 선택된 단어의 문자에 대응하는 x/y 위치의 시퀀스로 교체하고, 도 4B에 도시된 바와 같이 블럭(41034)에서 새로운 단어 선정 리스트가 발생된다. 만일 Fcol이 입력 시퀀스를 교체하지 않으면, 단어 선택 리스트로부터의 선택된 단어의 처리를 계속한다. 블럭(41040)은 선택된 단어의 우선순위를 조정한다.
본 발명의 다른 특징에 따르면, 사용자에 의한 시스템이 사용동안, 사용자에 의해 단어가 선택될 때마다 해당 단어와 연관된 상대 빈도를 점차적으로 증가시킴으로써 어휘집 내의 해당 단어를 "승진(promote)하는 작용을 하는 "승진 알고리즘(promotiong algorithm)"에 의해 어휘집이 자동적으로 수정된다. 한 바람직한 실시예에서, 승진 알고리즘은 상대적으로 큰 증가만큼 선택된 단어와 연관된 빈도의 값을 증가시키는 한편, 매우 작은 감소만큼 전달된 그와 같은 단어의 빈도 값을 감소시킨다. 상대 빈도 정보가 단어들이 리스트에 나타나는 순차적인 순서로 표시되어 있는 어휘집의 경우에, 리스트의 선두에서부터 그 거리의 미소(fraction)만큼 선택된 단어를 위쪽으로 이동시킴으로써 승진된다. 승진 알고리즘은 가능 흔히 사용되는 단어들 및 그 본래의 위치로부터 매우 먼 매우 드물게 사용되는 단어들을 이동시키는 것을 피하는 경향이 있도록 설계되어 있다. 한 바람직한 실시예에서, 이는, 선택된 단어를 전체 리스트에서 그 현재의 상대적 위치에 따라 승진시키는 나머지 거리의 미소를 변경함으로써 달성된다. 예를 들어, 리스트의 중간 범위에 있는 단어들은 각각의 선택시 가장 큰 미소만큼 승진된다. 어휘집 승진(lexicon promotion)에서 선택된 단어가 시작되는 곳과 끝나는 곳 간의 중간의 단어들은 1의 값만큼 효과적으로 강등(demoted)된다. "단어 리스트 매스(word list mass)"의 보존이 유지되어, 리스트 내의 단어들의 상대 빈도에 관련된 정보가 리스트에 대해 필요로하는 기억장치(storage)를 증가시키지 않고 유지되고 갱신된다.
본 발명의 다른 특징에 따르면, 승진 알고리즘은 선택된 단어의 빈도를 증가시키고, 적당하다면, 선택되지 않은 단어의 빈도를 감소시키도록 동작한다. 예를 들어, 단어들이 리스트에 나타나는 순차적인 순서로 상대 빈도 정보가 표시되는 어휘집에서, 리스트에서 위치 IDX에 나타나는 선택된 단어는 위치(IDX/2)로 이동된다. 이에 대응하여, 위치(IDX/2)에서 아래로 (IDX+1)까지의 리스트 내의 단어들은 리스트에서 한 위치 밑으로 이동한다. 접촉점의 시퀀스가 처리되고 계산된 정합 매트릭 값에 기초하여 단어 선택 리스트가 발생될 때 리스트에서 단어들이 강등(demoted)되고, 사용자에 의해 선택된 단어 이전에 리스트에서 하나 이상의 단어들이 나타난다. 선택 리스트에서 상위에 나타나지만 선택되지 않은 단어들은 부적절하게 높은 빈도(즉, 리스트에서 너무 높게 나타남)가 지정된 것으로 간주될 수 있다. 위치 IDX에서 초기에 나타나는 이와 같은 단어는 예를 들어, 이를 위치 (IDX*2+1)로 이동시킴으로써 강등된다. 따라서, 단어의 빈도가 높은 것으로 간주될 수록, 보다 작은 수의 단계에 의해 이동된다는 점에서 거의 강등되지 않는다.
본 발명의 다른 특징에 따르면, 승진 및 강등 프로세스는 사용자에 의한 행동에 응답해서만 트리거될 수 있거나 또는 사용자의 입력에 따라 서로 달리 수행될 수 있다. 예를 들어, 사용자가 의도하는 단어보다 선택 리스트에서 상위에 나타나는 단어들은, 사용자가 스타일러스 또는 마우스를 사용하여 단어 선택 리스트 내의 최전방 위치로 의도하는 단어를 "클릭" 및 "드래그"함으로써 의도하는 단어를 선택할 때에만 강등된다. 선택적으로, 선택 리스트에서 상위의 위치로 수동으로 "드래그된" 선택된 단어는 보다 큰 정상 인수에 의해 승진될 수 있다. 예를 들어, 승진된 단어는 위치 IDX에서 위치 (IDX/3)로 이동된다. 많은 이와같은 변형예는 기술분야의 숙련자에게 명확할 것이다.
도 4F는 단어가 단어 선택 리스트에서 골라질 때 단어의 우선순위를 조정하기위한 바람직한 실시예를 도시한다. 판단 블럭(4610)은 선택된 단어 선택 항목이 exact-type 단어인지를 판단하며, 접촉점의 시퀀스에 그 x/y 위치가 정확하게 대응하는 문자의 스트링인 exact-type 단어는, exact-type 단어(154)(도시된 예이서 "rwzt")가 리스트 내의 다른 단어로부터 실선으로 구분되는 도 1B에서와 같이, 바람직한 실시예에서 단어 선택 리스트 내의 구별되는 위치에 디스플레이된다. 만일 선택된 단어가 항목(157 또는 160)과 같이 exact-type 단어가 아니면, 블럭(4620)에서 선택된 단어가 승진되고(도 4G에 도시된 바람직한 실시예에서와 같이), 블럭(4630)에서, (단순히 다른 단어의 승진의 결과로서 하나 이상의 단어에 대해 발생할 수 있는 부수적인 강등과 대조적으로, 도 4H에 도시된 바람직한 실시예에서와 같이) 선택된 단어의 앞의 단어 선택 리스트에 나타난 단어의 각각이 명시적으로 강등된다.
만일 블럭(4610)에서, 선택된 단어가 exact-type 단어인 것으로 판단되면, 판단 블럭(4640)은, 해당 단어가 어휘 모듈에 아직 포함되지 않은 새로운 단어인지를 판단한다. 만일 그렇지 않으면, 블럭(4650)에서, 선택된 단어가 승진된다. 만일 선택된 exact-type 단어가 어휘 모듈에 아직 포함되지 않으면, 블럭(4660)은 단어가 부가되어야 할 적절한 단어 리스트를 식별한다. 블럭(4665)은 적당한 단어 리스트 내에 공간이 이용가능한지를 판단한다. 만일 그렇지 않으면, 블럭(4670)에서, 적당한 단어 리스트에서 최종의 가장 적은 가능성있는 단어가 삭제되어 부가될 단어에 대한 여지를 만든다. 블럭(4675)에서 새로운 단어가 적당한 단어 리스트 내의 가장 적은 가능성있는 단어로서 부가된 다음, 블럭(4680)에서, 단어 선택 리스트에 나타난 다른 단어를 명시적으로 강등하지 않고 새로이 부가된 단어가 승진된다.
도 4G는 블럭(4620, 4650 및 4680)에서 수행된 단어 승진의 바람직한 실시예를 도시한다. 블럭(4710)은 단어 리스트 내의 선정된 단어의 위치를 식별하고, 해당 위치 값에 idx를 지정한다. 블럭(4720)은 (단어의 위치는 선택될 가장 가망성있는 것으로 간주됨) 현재의 위치에서 리스트의 선두까지의 중간인 리스트 내의 위치를 명시하는 idx의 값의 1/2로서 new_idx를 정의한다. 블럭(4730)은 idx 및 new_idx 간의 위치에 있는 모든 단어를 1위치 만큼 강등시켜, idx에 있는 단어의 오래된 위치를 채우고, new_idx에 있는 단어에 대한 여지를 만든다. 블럭(4740)은 위치 new_idx에서 리스트에 선택된 단어를 다시 역으로 삽입함으로써 선택된 단어를 승진한다. 본 발명의 바람직한 실시예는 반드시 블럭(4355)에서 단어에 대해 계산된 idx_multiplier를 1 감소시키는 효과를 갖는다는 것을 알아야 한다.
도 4H는 블럭(4635)에서 수행되는 명시적 단어 승진의 바람직한 실시예를 도시한다. 블럭(4810)은 그 단어 리스트 내의 명시적으로 강등된 단어의 위치를 식별하고, 해당 위치 값인 idx를 지정한다. 블럭(4820)은 idx의 값의 두배 + 1로서 new_idx를 정의한다. 판단 블럭(4830)은 new_idx의 값을 단어 리스트 내의 단어의 전체 수에 비교한다. 만일 new_idx가 단어 리스트 내의 전체 단어 수보다 크면, 블럭(4835)은, 단어가 리스트의 끝 이상으로 더 이상 강등될 수 없기 때문에 new_idx를 단어 리스트 내의 단어의 수의 값과 같게 설정한다. 블럭(4840)은 idx 및 new_idx 간의 위치에 있는 모든 단어들을 1위치만큼 승진하여, idx에 있는 단어의 오래된 위치를 채우고, new_idx에 있는 단어에 대한 공간을 만든다. 블럭(4850)은 선택된 단어를 다시 역으로 위치 new_idx에서 리스트에 삽입함으로써 강등시킨다. 강등의 본 바람직한 실시예는 반드시 블럭(4355)에서 단어에 대해 계산된 idx_multiplier를 1만큼 증가시키는 효과가 있다는 것을 알아야 한다.
도 5A 내지 5E는 도 1A 및 도 1B에 도시된 바와 같이 본 발명에 따라 형성되는 축소 자동-교정 키보드 시스템을 일체화하는 포터블 컴퓨터(102)의 바람직한 실시예에 대한 단어를 입력하기 위한 예시적인 예로서 문자 입력의 시퀀스를 도시하는 개략도이다. 포터블 컴퓨터(102)는 텍스트 디스플레이 영역(104)으로 출력되는 텍스트를 발생하는데 사용되는 터치 스크린 디스플레이(103) 상에 구현되는 축소형 키보드(103)를 포함한다.
도 5A는 단어 "text"의 입력에 대응하는 키스트로크의 시퀀스의 첫번째 키스트로크의 위치(510)를 도시한다. 키스트로크(510)에 응답해서, 자동-교정 키보드 시스템은, 단어의 리스트 및 키스트로크에 대응하는 다른 해석을 도시하는, 텍스트 영역(104)의 상부에 중첩되는 단어 선택 리스트 영역(150)을 디스플레이한다. 본 예에서, 키스트로크의 좌표 위치(510)는 글자 "r"과 연관된 물리적으로 가장 가까운 좌표위치이다. 단어 선택 리스트는, 자동-교정 키보드 영역(106)에 가장 가까운 위치에 있는 단어 선택 리스트에 도시된, 디폴트 선택으로서 "R"(511)을 포함한다. 글자 "r"은, 길이에서 단지 한 글자인 "단어(word)"로서 발생할 때 ("R"이 사람 이름의 일부로서 포함된 머리 글자(initial)로서 나타날 때와 같은) 대문자로 보다 자주 볼 수 있기 때문에, "R"은 대문자로 단어 선택 리스트에 제공된다. 이는 본 발명의 바람직한 특징에 따르면, 각 단어의 대문자화에 관련된 정보가 어휘 모듈 내의 단어의 길이를 따라 저장되어 있어, 사용자가 (Shift 키와 같은) 키를 활성화시켜 입력된 단어의 대문자화를 지정할 필여없이, 바람직한 대문자화 형태로 단어가 제시될 수 있다. 본 발명의 특징에 따르면 단어 선택 리스트는 다음에 가망성있는 선택으로서 "'are"(512)를 도시하는데, 여기서 단어 또는 기호가 하나 이상의 글자의 임의의 시퀀스와 연관될 수 있어, 글자의 연관된 시퀀스가 사용자에 의해 입력될 때, 단어 또는 기호는 단어 선택 리스트의 선택으로서 제공된다. 본 예에서, 단어 "are"는 영어에서 동일하게 발음되는 단일 글자 "r"의 "매크로" 표현으로서 연관된다. 유사하게, 단어 선택 리스트는 세번째 가망성있는 선택으로서 "
Figure 112005017665622-pct00023
"(513)을 도시하는데, 여기서 이 기호는 글자 "r"과의 논리적 연관에 기초하여 어휘 모듈에 포함되어 있다. 단어 선택 리스트는 네번째 가망성있는 선택으로서 "a"(514)를 도시하는데, 여기서 글자 "a"와 연관된 좌표 위치가 접촉 위치(501)로부터 상대적으로 멀지만, 매우 빈법하게 발생하는 한 글자 단어이므로, 단어 선택 리스트에서 후보로 나타난다. 이들 선택 위는, 글자 "r"에 관련된 좌표 위치가 키스트로크의 좌표 위치(510)에 대해 임의의 다른 글자의 그것보다 가깝기 때문에, 선택을 위한 옵션으로서 "r"(515)를 디스플레이하는 exact type 영역이다.
도 5B는 글자 "W"와 연관된 좌표 위치에 가장 가까운 다음 키스트로크의 위치(520)을 도시한다. 단어 선택 리스트는 디폴트 선택으로서 "re"(521)을 포함하고, 다음 가망성있는 선택으로서 "Re"(522)을 포함하고, 세번째 가망성있는 선택으로서 "ra"(523)을 포함하고, 그리고 네번째 가망성있는 선택으로서 "Rs"(524)을 포함한다. 이들 선택 위는 선택을 위한 옵 l인 "rw"(525)를 디스플레이하는 exact type 영역이다.
도 5C는 글자 "z"와 연관된 좌표 위치에 가장 가까운 다음 키스트로크의 위치(530)를 도시한다. 단어 선택 리스트는 디폴트 선택으로서 "tax"(531)을 포함하고, 다음 가망성있는 선택으로서 "Rex"(532)을 포함하고, 세번째 가망성있는 선택으로서 "fax"(533)을 포함하고, 그리고 네번째 가망성있는 선택으로서 "was"(534)을 포함한다. 이들 선택 위는 선택을 위한 옵션인 "rwz"(535)를 디스플레이하는 exact type 영역이다.
도 5D는 글자 "t"와 연관된 좌표 위치에 가장 가까운 다음 키스트로크의 위치(540)를 도시한다. 단어 선택 리스트는 디폴트 선택으로서 "text"(541)을 포함하고, 다음 가망성있는 선택으로서 "year"(542)을 포함하고, 세번째 가망성있는 선택으로서 "rest"(543)을 포함하고, 그리고 네번째 가망성있는 선택으로서 "fact"(544)을 포함한다. 이들 선택 위는 선택을 위한 옵션인 "rwzt"(545)를 디스플레이하는 exact type 영역이다. 단어 "text"는 다음 단어로서 입력될 것이다.
도 5E는 "space" 키로서 지정된 영역에서, 550에서의 다음 키스트로크를 도시한다. 스페이스 키는 자동-교정 키보드 영역(106)의 외부에 있고, 따라서, 비모호하게 특정 기능과 연관될 수 있다. 스페이스 키는 디폴트 단어 "text"(541)를 수락하도록 기능하고, 커서가 마지막으로 놓인 발생된 텍스트 내 삽입점(107)에서 텍스트 출력 영역(104)에 단어 "text"(542)를 입력한다. 동시에, 현재 입력 시퀀스가 클리어되고, 단어 선택 리스트 디스플레이가 포터블 컴퓨터(102)의 디스플레이 스크린(103)으로부터 제거되어, 텍스트 출력 영역(104)이 명확해진다.
비록 본 발명의 바람직한 실시예가 도시되고 설명되었지만, 본 발명의 범위와 영역을 벗어나지 않고 다양한 변경이 이루어질 수 있다는 것을 알 것이다. 예를 들어, 기술분야의 숙련자는, 키보드(105) 및 그 자동-교정 키보드 영역(106)은 다양한 방식으로 구성될 수 있으며, 가변하는 다수의 명시적 기능 키(108-122)를 가질 수 있다는 것을 알 것이다. 본 발명에 개시된 자동-교정 기법은 서로 다른 크기의 키보드 및 터치 패널과같은 다양한 크기의 전통적인 기계적 키보드 및 바람직한 실시예에 기술된 것과 같은 터치 스크린에 기초한 키보드에도 동등하게 적용가능하다. 제시된 단어 선택의 수, 단어 선택의 배열, 및 단어 선택의 서로 다른 영역과 연관된 기능과 같은 단어 선택 리스트(150)의 특정 포맷이 변경될 수 있다. 예를 들어, 기술분야의 숙련자는 선택된 단어의 세로운 세트의 x/y 위치로서 입력 시퀀스를 교체하는 것으로 구성된 기능이 임의의 어플리케이션에서 생략될 수 있다는 것을 알 것이다. 더우기, 어휘 모듈 내의 단어를 승진하고 강등시키는데 사용되는 특정 알고리즘도 또한 변경될 수 있다. 예를 들어, 선택된 단어는 상기 설명한 바람직한 실시예에 사용된 1/2의 인수보다는 그 리스트의 선두 거리의 1/4을 이동시켜 승진될 수 있다.

Claims (77)

  1. 텍스트 입력 시스템에 있어서,
    (a) 복수의 알파벳 문자를 구비하는 자동-교정 키보드 영역(auto-correcting keyboard region)을 갖는 접촉-감지면(touch sensitive surface)을 구비한 사용자 입력 장치로서, 상기 복수의 문자 각각이 상기 자동-교정 키보드 영역의 공지된 좌표를 갖는 위치에 대응하고, 사용자가 상기 자동-교정 키보드 영역 내의 상기 사용자 입력 장치를 접촉할 때마다 상기 사용자 접촉과 연관된 위치가 결정되고, 결정된 접촉 위치가 접촉 위치의 현재 입력 시퀀스에 부가되는, 상기 사용자 입력 장치;
    (b) 그 자신 내에 복수의 오브젝트 각각이 하나 또는 복수의 미리 정의된 그룹들의 오브젝트와 추가로 연관된, 각각이 사용 빈도(frequency of use)와 추가로 연관된 복수의 오브젝트를 갖는 메모리;
    (c) 텍스트 디스플레이 영역을 갖는 출력 장치; 및
    (d) 상기 사용자 입력 장치, 메모리, 및 출력 장치에 결합된 프로세서
    를 구비하며, 상기 프로세서는,
    (i) 접촉점의 상기 입력 시퀀스 내의 각각의 결정된 접촉 위치에 대해, 상기 접촉 위치와, 상기 자동-교정 키보드 영역 내의 하나 또는 복수의 문자에 대응하는 상기 공지된 좌표 위치 간의 거리 값 세트(a set of distance values)를 계산하는 거리 값 계산 구성요소(distance value calculation component),
    (ii) 각각의 발생된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 식별된 후보 오브젝트를 식별하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 각각에 대해, 상기 계산된 거리 값 및 상기 오브젝트에 연관된 사용 빈도에 기초하여 정합 매트릭(matching metric)을 계산함으로써 각각의 식별된 후보 오브젝트(candidate object)를 평가하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 단어 평가 구성요소(word evaluation component),
    (iii) 상기 평가된 순위에 따라 하나 또는 복수의 후보 오브젝트를 식별하고, 상기 식별된 오브젝트를 사용자에게 제시하여, 사용자로 하여금 상기 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 상기 제시된 오브젝트중의 하나를 선택하게 하는 선택 구성요소(selection component)
    (iv) 오브젝트가 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 증가시키고 사용자에 의해 선택되지 않은 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 감소시키는 빈도 승진 구성요소(frequency promotion component)
    를 구비하는 텍스트 입력 시스템.
  2. 제1항에 있어서,
    각각의 발생된 입력 시퀀스에 대해, 상기 단어 평가 구성요소는 메모리 내의 하나 또는 복수의 후보 오브젝트 그룹을 식별함으로써 정합 매트릭이 계산되는 오브젝트의 수를 제한하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 그룹의 각각과 연관된 하나 또는 복수의 오브젝트에 대해, 상기 계산된 거리 값 및 각각의 후보 오브젝트와 연관된 사용 빈도에 기초하여 정합 매트릭을 계산하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 텍스트 입력 시스템.
  3. 제1항에 있어서, 상기 알파벳의 문자들은 표준 "QWERTY" 배치로 상기 자동-교정 키보드 영역 상에 정렬되는 텍스트 입력 시스템.
  4. 제3항에 있어서, 상기 자동-교정 키보드 영역의 폭 대 높이 비는 2:1인 텍스트 입력 시스템.
  5. 제3항에 있어서, 상기 자동-교정 키보드 영역의 폭 대 높이 비는 2:1 미만인 텍스트 입력 시스템.
  6. 제3항에 있어서, 상기 자동-교정 키보드 영역 상에 정렬된 하나 또는 복수의 상기 문자들은 읽기 어려운(illegible) 텍스트 입력 시스템.
  7. 제1항에 있어서, 상기 자동-교정 키보드 영역은 하나 또는 복수의 구두점 문자와 연관된 하나 또는 복수의 공지된 위치를 포함하고, 상기 메모리는 상기 자동-교정 키보드 영역의 위치들과 연관된 하나 또는 복수의 상기 구두점 문자를 갖는 하나 또는 복수의 오브젝트를 메모리 내에 포함하는 텍스트 입력 시스템.
  8. 제1항에 있어서, 상기 메모리 내의 오브젝트는 하나 또는 복수의 모듈과 추가로 연관되고, 각각의 모듈은 하나 또는 복수의 공통 문자를 갖는 오브젝트 세트를 구비하는 텍스트 입력 시스템.
  9. 제8항에 있어서, 상기 텍스트 입력 시스템은 후보 오브젝트를 식별하기 위해 상기 단어 평가 구성요소에 의해 어느 모듈이 평가될 것인지를 사용자가 결정할 수 있게 하는 모듈 선택기를 더 구비하는 텍스트 입력 시스템.
  10. 제8항에 있어서, 상기 복수의 모듈은, 단어 어간 모듈(word stem module) 및 접미사 모듈(suffix module)을 포함하며, 각각의 단어 어간 모듈은 어미 변화되지 않은(uninflected) 단어 어간 오브젝트의 논리적 구성을 포함하고, 각각의 접미사 모듈은 단어 어간에 첨부되어 어미 변화된(inflected) 단어를 형성할 수 있는 접미사의 논리적 구성을 구비하여, 이로 인해, 각각의 단어 어간 모듈은 하나 또는 복수의 접미사 모듈과 연관되고, 상기 단어 평가 구성요소가 입력 시퀀스 내의 초기 접촉 시퀀스에 대해 소정의 단어 어간 모듈에 소정의 단어 어간에 대한 정합 매트릭 값을 계산하여 계산된 정합 매트릭 값이 선정된 임계치보다 높은 순위에 있을 때마다, 상기 단어 평가 구성요소는 상기 연관된 접미사 모듈에 대해 상기 입력 시퀀스의 나머지 접촉을 평가하고, 상기 단어 평가 구성요소가 선정된 제2 임계치 보다 높은 순위에 있는 상기 연관된 접미사 모듈중의 하나에 소정의 접미사에 대한 정합 매트릭 값을 계산할 때마다, 상기 접미사는 상기 단어 어간에 첨부되어 상기 결정된 단어 어간 정합 매트릭 값과 상기 결정된 접미사 정합 매트릭 값의 함수인 정합 매트릭 값에 대응하는 완료된 단어를 형성하는 텍스트 입력 시스템.
  11. 제1항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 각각의 접촉 위치에서 상기 후보 오브젝트의 대응하는 위치에 있는 상기 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 상기 오브젝트에 연관된 사용 빈도에 따라 가중 함수(weighting function)를 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하는 텍스트 입력 시스템.
  12. 제11항에 있어서, 상기 자동-교정 키보드 영역과 연관된 상기 알파벳의 각 문자에는 데카르트 좌표(Cartesian coordinate)가 지정되고, 상기 거리 값 계산 구성요소는 상기 접촉 위치와 표준 데카르트 좌표 거리 분석에 따라 문자에 대응하는 위치 간의 거리를 계산하는 텍스트 입력 시스템.
  13. 제11항에 있어서, 상기 자동-교정 키보드 영역과 연관된 상기 알파벳의 각 문자에는 데카르트 좌표가 지정되고, 상기 거리 값 계산 구성요소는 상기 접촉 위치와 표준 데카르트 좌표 거리의 제곱으로서 문자에 대응하는 위치 간의 거리를 계산하는 텍스트 입력 시스템.
  14. 제11항에 있어서, 상기 거리 값들은 테이블에 놓이는 텍스트 입력 시스템.
  15. 제11항에 있어서, 상기 자동-교정 키보드 영역 상의 각 위치는 수평 및 수직 좌표에 의해 한정되고, 접촉 위치와 문자에 대응하는 상기 공지된 좌표 위치 간의 거리는 수평 및 수직 성분을 포함하며, 상기 수직 성분이 상기 문자로부터의 상기 접촉 위치의 거리를 계산하는데 있어서 가중 인수에 의해 조정되는 텍스트 입력 시스템.
  16. 제11항에 있어서, 상기 메모리 내의 각 후보 오브젝트와 연관된 사용 빈도는 메모리 내의 다른 오브젝트에 대한 상기 오브젝트의 오디날 순위(ordinal ranking)를 포함하고, 보다 상위의 상대 빈도와 연관된 오브젝트는 수치적으로 하위의 오디날 순위에 대응하는 텍스트 입력 시스템.
  17. 제16항에 있어서, 상기 단어 평가 구성요소에 의해 후보 오브젝트에 대한 상기 합산된 거리값에 적용되는 상기 빈도 가중 함수는 상기 오브젝트의 오디날 순위의 베이스 2 대수(base 2 logarithm)를 상기 거리 값의 합계에 곱하는 것을 포함하는 텍스트 입력 시스템.
  18. 제11항에 있어서, 상기 단어 평가 구성요소는 상기 후보 오브젝트와 연관된 사용 빈도에 따라 가중 함수를 적용하기 전에 상기 거리 값의 합계에 증가 값(increment value)을 더하는 텍스트 입력 시스템.
  19. 제18항에 있어서, 상기 증가 값은 문자들에 대응하는 상기 자동-교정 키보드 영역 상의 인접하는 위치 간의 평균 거리의 두배인 고정 값(fixed value)인 텍스트 입력 시스템.
  20. 제2항에 있어서, 메모리 내의 오브젝트들은 오브젝트들이 동일한 길이의 오브젝트로 구성된 그룹으로 분류되도록 저장되는 텍스트 입력 시스템.
  21. 제20항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 입력의 수와 동일한 길이의 오브젝트의 후보 그룹을 초기에 식별함으로써 정합 매트릭이 계산되도록 오브젝트의 수를 제한하는 텍스트 입력 시스템.
  22. 제21항에 있어서, 만일 임계 수 이하의 후보 오브젝트들이 임계값보다 나은 정합 매트릭 점수를 갖는 것으로 평가되면, 단어 평가 구성요소는 점차적으로 보다 긴 단어의 오브젝트의 후보 그룹을 식별하고, 상기 임계 수의 후보 오브젝트들이 상기 임계값보다 나은 정합 매트릭 점수를 갖는 것으로 평가될 때까지 상기 식별된 그룹의 오브젝트에 대한 상기 정합 매트릭을 계산하는 텍스트 입력 시스템.
  23. 제22항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 각각의 접촉 위치로부터 상기 후보 오브젝트의 대응하는 위치의 상기 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 증가 값을 더하고, 상기 오브젝트와 연관된 사용 빈도에 따라 상기 합계를 가중 함수에 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하며, 상기 거리 값의 합계에 더해진 상기 증가 값은 상기 후보 오브젝트 내의 문자의 수 및 상기 현재 입력 시퀀스 내의 입력의 수 간의 차이에 기초한 값인 텍스트 입력 시스템.
  24. 제2항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 각각의 접촉 위치로부터 상기 후보 오브젝트의 대응하는 위치의 상기 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 상기 오브젝트와 연관된 사용 빈도에 따라 가중 함수에 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하는 텍스트 입력 시스템.
  25. 제24항에 있어서, 상기 메모리 내의 각각의 후보 오브젝트에 연관된 사용 빈도는, 상기 오브젝트가 연관되어 있는 메모리 내의 하나 또는 복수의 서브-그룹에서 다른 오브젝트에 대한 상기 오브젝트의 오디날 순위를 포함하고, 상위의 상대 빈도와 연관된 오브젝트가 수치적으로 하위의 오디날 순위에 대응하는 텍스트 입력 시스템.
  26. 제24항에 있어서, 상기 입력 시퀀스 내의 접촉 위치 및 상기 자동-교정 키보드 영역 내의 문자에 대응하는 공지된 좌표 위치 간의 각각의 계산된 거리 값에 대해, 상기 계산된 거리는 임계 거리 값을 초과하고, 상기 문자가 상기 입력 시퀀스의 상기 접촉 위치의 위치에 대응하는 상기 오브젝트의 문자들의 시퀀스 내 위치에서 발생하는 메모리 내의 각 오브젝트에 대해, 상기 오브젝트는 선택을 위해 사용자에게 제시하는 것이 배제된 오브젝트로서 상기 단어 평가 구성요소에 의해 순위가 매겨지는 텍스트 입력 시스템.
  27. 제26항에 있어서, 메모리 내의 상기 오브젝트의 상기 하나 또는 복수의 식별된 후보 그룹은 선택을 위해 사용자에게 제시되는 것이 배제된 오브젝트를 포함하고, 상기 오브젝트의 하나 또는 복수의 식별된 후보 그룹들에서 각 오브젝트에 대한 계산된 거리 값의 합계에 포함된 상기 계산된 거리 값 중의 적어도 하나는 임계 거리 값을 초과하는 텍스트 입력 시스템.
  28. 제27항에 있어서, 상기 자동-교정 키보드 영역은 각각 하나 또는 복수의 문자의 공지된 위치를 포함하는 두개 이상의 선정된 클러스터링 영역(clustering regions)으로 구분되고, 메모리 내의 각각의 오브젝트는 상기 오브젝트의 하나 또는 복수의 처음의 문자에 대응하는 상기 공지된 위치를 포함하는 상기 두개 이상의 선정된 클러스터링 영역들 중 어느 영역에 따라 선정된 그룹에 지정되는 텍스트 입력 시스템.
  29. 제28항에 있어서, 상기 자동-교정 키보드 영역은 세개의 선정된 클러스터링 영역으로 구분되고, 메모리 내의 각각의 오브젝트는, 상기 오브젝트의 처음 두개의 문자 각각에 대응하는 공지된 위치를 포함하는 상기 세개의 선정된 클러스터링 영역 중의 어느 영역에 기초하여 9개의 선정된 그룹 중의 하나에 지정되는 텍스트 입력 시스템.
  30. 제1항에 있어서, 상기 자동-교정 키보드 영역 내의 공지된 위치에 대응하는 각각의 문자에 대해, 영역이 하나 또는 복수의 상기 공지된 위치 주변에 선정되고,상기 선정된 영역 내에 포함되는 입력 접촉 위치와 상기 선정된 영역 내의 상기 공지된 문자 위치 간의 거리가 제로의 거리로서 계산되는 텍스트 입력 시스템.
  31. 제30항에 있어서, 상기 선정된 영역의 상대적 크기는 상기 선정된 영역 내의 상기 공지된 위치와 연관된 문자의 상대적 발생 빈도에 대응하는 텍스트 입력 시스템.
  32. 제30항에 있어서, 문자의 상기 공지된 위치 주변의 상기 선정된 영역은 터치 스크린 상의 디스플레이된 키에 대응하는 텍스트 입력 시스템.
  33. 제1항에 있어서, 상기 자동-교정 키보드 영역 내의 공지된 좌표를 갖는 위치들중의 적어도 하나는 복수의 문자들에 대응하고, 하나 또는 복수의 문자들이 다양한 구별 표시(diacritic marks)를 포함하며, 상기 복수의 문자들은 단일 어간(base) 문자의 변형 형태를 구비하며, 메모리 내의 오브젝트는 그 올바른 액센트된 문자(correct accented character)와 함께 저장되는 텍스트 입력 시스템.
  34. 제1항에 있어서, 상기 선택 구성요소는 상기 텍스트 디스플레이 영역 내의 후보 오브젝트 리스트에서 사용자에 의한 선택을 위해 상기 식별된 하나 또는 복수의 후보 오브젝트를 제시하는 텍스트 입력 시스템.
  35. 제34항에 있어서, 상기 선택 구성요소는 가장 높은 순위의 후보 오브젝트를 식별하여 상기 자동-교정 키보드 영역에 가장 가까운 위치의 후보 오브젝트 리스트 내에 상기 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
  36. 제1항에 있어서, 상기 자동-교정 키보드 영역 외부의 접촉과 연관된 문자의 사용자 선택은 텍스트 디스플레이 영역의 텍스트 삽입점에서 상기 선택된 문자를 출력하기 전에 상기 텍스트 디스플레이 영역의 텍스트 삽입점(text insertion point)에서 결정된 가장 높은 순위의 후보 오브젝트를 수락하고 출력하는 텍스트 입력 시스템.
  37. 제1항에 있어서, 상기 텍스트 디스플레이 영역의 텍스트 삽입점에서 출력하기 위한 오브젝트의 사용자 선택은 자동-교정 키보드 영역 내의 다음 접촉이 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료시키는 텍스트 입력 시스템.
  38. 제1항에 있어서, 상기 단어 평가 구성요소는, 접촉 위치의 각 입력 시퀀스에 서 각각의 결정된 접촉 위치에 대해, 문자에 대응하는 가장 가까운 공지된 위치를 결정하고, 접촉 위치의 입력 시퀀스에 대응하는 순서로 상기 결정된 대응하는 문자로 구성된 정확한 타이핑 오브젝트(exact typing object)를 구성하는 텍스트 입력 시스템.
  39. 제38항에 있어서, 접촉 위치의 각 입력 시퀀스에 대해, 상기 선택 구성요소는 선택을 위해 사용자에게 상기 정확한 타이핑 오브젝트를 제시하는 텍스트 입력 시스템.
  40. 제39항에 있어서, 상기 사용자가 상기 출력 장치 상의 상기 텍스트 디스플레이 영역에 출력하기 위해 상기 정확한 타이핑 오브젝트를 선택하고, 상기 정확한 타이핑 오브젝트가 메모리 내에 상기 오브젝트중의 하나로서 이미 포함되어 있지 않을 때, 상기 정확한 타이핑 오브젝트는 메모리에 부가되는 텍스트 입력 시스템.
  41. 제39항에 있어서, 선택을 위해 상기 사용자에 상기 정확한 타이핑 오브젝트를 디스플레이하기 전에, 상기 선택 구성요소는 각각이 디스플레이를 위해 수락가능한 대체 오브젝트와 연관된 공격적인(offensive) 오브젝트의 데이터베이스에 상기 정확한 타이핑 오브젝트를 비교하고, 정합이 발견되면, 상기 정확한 타이핑 오브젝트를 사용자에게 제시하기 위해 상기 연관된 수락가능한 오브젝트와 교체하는 텍스트 입력 시스템.
  42. 제1항에 있어서, 상기 선택 구성요소는 가장 높은 순위의 후보 오브젝트를 식별하고, 상기 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입점에서 상기 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
  43. 제42항에 있어서, 상기 텍스트 입력 시스템은 오브젝트 선택 기능과 연관된 선택 키 영역을 포함하며, 상기 선택 키 영역이 접촉될 때, 상기 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입점에 제시된 상기 오브젝트가 상기 식별된 하나 또는 복수의 후보 오브젝트의 다음의 가장 높은 순위의 오브젝트로 교체되는 텍스트 입력 시스템.
  44. 제1항에 있어서, 상기 텍스트 입력 시스템은 삭제 기능와 연관된 삭제 키 영역을 포함하며, 상기 현재의 입력 시퀀스가 적어도 하나의 접촉점을 포함하고 상기 삭제 키 영역이 접촉되면, 상기 현재의 입력 시퀀스를 종료하지 않고, 상기 접촉점의 현재 입력 시퀀스로부터 마지막 입력 접촉점이 삭제되는 텍스트 입력 시스템.
  45. 제1항에 있어서, 상기 텍스트 입력 시스템은 상기 편집 단어 기능(Edit Word function)과 연관된 편집 단어 키 영역을 포함하고, 어떠한 현재의 입력 시퀀스도 존재하지 않고 상기 편집 단어 키 영역이 접촉되면,
    상기 출력 장치 상의 텍스트 디스플레이 영역의 텍스트 삽입점이 이전에 출력된 단어 내에 포함되면, 시스템은 상기 단어의 문자와 연관된 좌표 위치에 대응하는 접촉 위치의 시퀀스로 구성된 새로운 현재의 입력 시퀀스를 수립하고,
    상기 출력 장치 상의 텍스트 디스플레이 영역의 텍스트 삽입점이 이전에 출력된 두개의 단어 사이에 놓이면, 시스템은 상기 텍스트 삽입점에 인접하는 단어의 문자와 연관된 좌표 위치에 대응하는 접촉 위치의 시퀀스로 구성된 새로운 현재의 입력 시퀀스를 수립하고,
    상기 텍스트 입력 시스템은 상기 새로운 현재 입력 시퀀스를 처리하고 새로운 후보 오브젝트의 대응하는 순위를 판정하고,
    상기 새로운 후보 오브젝트 중의 하나의 선택은 상기 새로운 현재의 입력 시퀀스를 수립하는데 사용된 이전에 출력된 단어를 교체하는 텍스트 입력 시스템.
  46. 제1항에 있어서, 사용자가 상기 자동-교정 키보드 영역 내의 접촉 행위의 시퀀스를 수행함으로써 입력 시퀀스가 입력됨에 따라, 상기 프로세서는
    (1) 상기 사용자 접촉 행위에 의해 추적된 경로를 따라 두개 이상의 규칙적으로 이격된 정해진 수의 접촉점들의 인덱스된 주 세트로서 상기 시퀀스 내의 각 접촉 행위를 기록함으로써, 그리고
    (2) (a) 상기 두개 이상의 가능한 주 인덱스 값의 각각에 대해, 각각의 기록되어 인덱스된 접촉점의 주 세트로부터 취한 접촉점의 시퀀스인, 동일한 인덱스 값을 갖는 접촉점의 시퀀스를 취함으로서 두개 이상의 대응하는 접촉점의 보조 세트를 조립함으로써, 그리고
    (b) 출력을 위해 사용자에 의해 선택되는 각 단어에 대해, 상기 조립된 접촉점의 보조 세트와 상기 선택된 단어의 문자들에 대응하는 공지된 위치 간의 계산된 거리가 최소화되는 상기 조립된 접촉점의 보조 세트를 식별하는 최소화 주 인덱스 값을 결정함으로써 각각의 사용자 접촉 행위와 연관된 위치를 판정하며,
    이로 인해, 사용자 접촉 행위의 다음 입력 시퀀스에 대해, 거리값 계산 구성요소는 상기 결정된 최소화 주 인덱스 값에 대응하여 상기 접촉 행위의 다음 입력 시퀀스로부터 조립된 접촉점 위치의 보조 세트로서 결정된 접촉 위치의 시퀀스에 기초하여 거리 값들을 계산하는 텍스트 입력 시스템.
  47. 제46항에 있어서, 복수의 사용자 입력 시퀀스에 대해, 상기 거리 값 계산 구성요소는 상기 두개 이상의 주 인덱스 값에 대응하는 상기 두개 이상의 조립된 보조 세트의 각각에 대한 거리 계산의 실행 평균(running average)을 계산하고, 이로 인해, 접촉 행위의 다음 입력 시퀀스에 대해, 상기 거리 값 계산 구성요소는 상기 계산된 실행 평균과 관련하여 결정된 상기 최소화 주 인덱스 값에 대응하는 접촉 행위의 상기 다음 입력 시퀀스로부터 조립된 접촉점 위치 보조 세트로서 결정된 접촉 위치의 시퀀스에 기초하여 거리 값들을 계산하는 텍스트 입력 시스템.
  48. 제47항에 있어서, 각각의 주 인덱스 값에 대해, 상기 거리 값 계산 구성요소는 각각의 대응하는 기록되어 인덱스된 접촉점의 좌표 위치와 관련하여 각각의 선택된 단어의 각 문자에 대응하는 상기 좌표 위치의 오프셋의 수평 및 수직 성분의 실행 평균을 계산하고, 상기 단어 평가 구성요소에 대한 거리 계산을 수행하는데 있어서, 상기 거리 값 계산 구성요소는 상기 대응하는 주 인덱스 값에 대하여 계산된 평균 수평 및 수직 오프셋의 함수인 크기만큼 각각의 기록되어 인덱스된 접촉점의 수평 및 수직 좌표를 조정하는 텍스트 입력 시스템.
  49. 제1항에 있어서, 각각의 입력 접촉 위치에 대해, 상기 거리 값 계산 구성요소는 각각의 대응하는 입력 접촉 위치의 좌표에 대해 각각의 선택된 단어의 각 문자에 대응하는 상기 좌표 위치의 오프셋의 수평 및 수직 성분의 실행 평균을 계산하고, 상기 단어 평가 구성요소에 대한 거리 계산을 수행하는데 있어서, 상기 거리 값 계산 구성요소는 상기 계산된 평균 부호화 수평 및 수직 오프셋의 함수인 크기만큼 각각의 입력 접촉 위치의 수평 및 수직 좌표를 조정하는 텍스트 입력 시스템.
  50. 제2항에 있어서, 상기 프로세서는 상기 오브젝트가 상기 출력 장치 상의 상기 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용 빈도를 조정하기 위한 빈도 승진 구성요소(frequency promotion component)를 더 포함하는 텍스트 입력 시스템.
  51. 제1항에 있어서, 상기 입력 시퀀스에서 접촉 위치의 임계치 수가 소정의 후보 오브젝트를 구성하는 문자들의 시퀀스에서 상기 대응하는 문자로부터 임계 최대 거리 이상이면, 상기 오브젝트는 더 이상 상기 선택 구성요소에 대한 후보 오브젝트가 아닌 것으로 식별되는 텍스트 입력 시스템.
  52. 제1항에 있어서, 메모리 내의 각각의 오브젝트와 연관된 사용 빈도는 메모리 내의 다른 오브젝트에 대한 상기 오브젝트의 오디날 순위를 포함하고, 보다 상위의 상대 빈도와 연관된 오브젝트는 수치적으로 하위의 오디날 순위에 대응하고, 오브젝트가 사용자에 의해 출력하기 위해 선택될 때, 상기 빈도 승진 구성요소는 상기 조정 이전에 상기 오브젝트의 오디날 순위의 함수인 크기만큼 상기 선택된 오브젝트와 연관된 오디날 순위를 조정하는 텍스트 입력 시스템.
  53. 제52항에 있어서, 선택된 오브젝트에 연관된 상기 오디날 순위를 조정하는 크기를 결정하기 위해 상기 빈도 승진 구성요소에 의해 사용된 상기 함수는 상대적으로 높은 사용 빈도와 연관된 오디날 순위를 갖는 오브젝트에 대해 상기 크기를 감소시키는 텍스트 입력 시스템.
  54. 제1항에 있어서, 상기 빈도 승진 구성요소는 상기 텍스트 입력 시스템에 액세스가능한 추가적인 정보 파일을 분석하여 상기 텍스트 입력 시스템의 상기 메모리에 이미 존재하는 상기 오브젝트중에 포함되지 않은 상기 파일에 포함된 새로운 오브젝트를 식별하고, 상기 새로이 식별된 오브젝트들은 낮은 사용 빈도와 연관된 오브젝트로서 메모리 내의 오브젝트에 부가되는 텍스트 입력 시스템.
  55. 제54항에 있어서, 메모리 내의 오브젝트에 부가된 새로이 식별된 오브젝트와 연관된 사용 빈도는 상기 새로이 식별된 오브젝트가 상기 추가적인 정보 파일의 분석 동안 검출된 횟수의 함수로서 상기 빈도 승진 구성요소에 의해 조정되는 텍스트 입력 시스템.
  56. 제1항에 있어서, 상기 출력 장치 상의 상기 텍스트 디스플레이 영역으로 출력하기 위해 상기 사용자에 의해 오브젝트가 선택되면, 상기 빈도 승진 구성요소는 비교적 큰 증가로 상기 선택된 오브젝트와 연관된 빈도의 값을 증가시키고, 상기 선택된 오브젝트와 동일한 그룹과 연관된 선택되지 않은 오브젝트와 연관된 빈도를 비교적 작은 감소만큼 감소시키는 텍스트 입력 시스템.
  57. 제1항에 있어서, 하나 또는 복수의 오브젝트의 대문자화(capitalization)에 관한 정보는 메모리 내의 상기 오브젝트와 함께 저장되고, 상기 선택 구성요소는 상기 저장된 대문자화 정보에 따라 바람직한 대문자 형태로 각각의 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
  58. 제1항에 있어서, 메모리 내의 하나 또는 복수의 오브젝트들은 하나 또는 복수의 글자 또는 기호의 시퀀스를 포함하는 메모리 내의 제2위의 오브젝트와 연관되어 있고, 상기 선택 구성요소가 상기 단어 평가 구성요소에 의해 계산된 정합 매트릭에 기초하여 상기 사용자에게 제시하기 위해 상기 오브젝트중의 하나를 식별할 때, 상기 선택 구성요소는 선택을 위해 상기 연관된 제2위의 오브젝트를 제시하는 텍스트 입력 시스템.
  59. 텍스트 입력 시스템에 있어서,
    (a) 각각의 키가 알파벳의 문자에 대응하고 각각 공지된 좌표 위치에 놓인 복수의 키를 구비하는 자동-교정 키보드 영역(auto-correcting keyboard region)을 갖는 기계적 키로 구성된 키보드를 구비한 사용자 입력 장치로서, 사용자가 키 활성화 이벤트를 발생시키기 위해 선정된 임계 시간 주기 내에 상기 자동-교정 키보드 영역의 하나 또는 복수의 인접하는 키들을 활성화시킬 때마다, 상기 키 활성화 이벤트에 대응하는 선정된 위치가 상기 키 활성화 이벤트의 정해진 위치의 현재 입력 시퀀스에 첨부되는, 상기 사용자 입력 장치;
    (b) 그 자신 내에 복수의 오브젝트 각각이 하나 또는 복수의 미리 정의된 그룹들의 오브젝트와 추가로 연관된, 복수의 오브젝트를 갖는 메모리로서, 각각의 오브젝트가 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링이고, 사용 빈도와 추가로 연관되는 메모리;
    (c) 텍스트 디스플레이 영역을 갖는 출력 장치; 및
    (d) 상기 사용자 입력 장치, 메모리, 및 출력 장치에 결합된 프로세서
    를 구비하며, 상기 프로세서는,
    (i) 키 활성화 이벤트의 상기 입력 시퀀스 내의 각각의 발생된 키 활성화 이벤트 위치에 대해, 상기 키 활성화 이벤트 위치와 상기 자동-교정 키보드 영역 내의 하나 또는 복수의 키에 대응하는 상기 공지된 좌표 위치 간의 거리 값의 세트를 계산하는 거리 값 계산 구성요소,
    (ii) 각각의 발생된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 후보 오브젝트를 식별하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 각각에 대해, 상기 계산된 거리 값 및 상기 오브젝트에 연관된 사용 빈도에 기초하여 정합 매트릭(matching metric)을 계산함으로써 각각의 식별된 후보 오브젝트를 평가하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 단어 평가 구성요소, 및
    (iii) 상기 평가된 순위에 따라 하나 또는 복수의 후보 오브젝트를 식별하고, 상기 식별된 오브젝트를 사용자에게 제시하고, 사용자로 하여금 상기 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 상기 제시된 오브젝트중의 하나를 선택하게 하는 선택 구성요소
    (iv) 오브젝트가 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 증가시키고 사용자에 의해 선택되지 않은 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 감소시키는 빈도 승진 구성요소(frequency promotion component)
    를 구비하는 텍스트 입력 시스템.
  60. 제59항에 있어서,
    각각의 발생된 입력 시퀀스에 대해, 상기 단어 평가 구성요소는, 메모리 내의 하나 또는 복수의 후보 오브젝트 그룹을 식별함으로써 정합 매트릭이 계산되는 오브젝트의 수를 제한하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 그룹의 각각과 연관된 하나 또는 복수의 오브젝트에 대해, 상기 계산된 거리 값 및 각각의 후보 오브젝트와 연관된 사용 빈도에 기초하여 정합 매트릭을 계산하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 텍스트 입력 시스템.
  61. 제59항에 있어서, 상기 알파벳의 문자들과 연관된 키들은 표준 "QWERTY" 배치로 상기 자동-교정 키보드 영역에 정렬되는 텍스트 입력 시스템.
  62. 제59항에 있어서, 상기 자동-교정 키보드 영역 내의 복수의 인접하는 키들의 동시 활성화를 포함하는 키 활성화 이벤트가 검출되면, 상기 키 활성화 이벤트에 대응하는 위치는 상기 동시에 활성화된 키들의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재 입력 시퀀스에 첨부되는 텍스트 입력 시스템.
  63. 제62항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 상기 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함하는 텍스트 입력 시스템.
  64. 제63항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 상기 동시에 활성화된 키들의 위치의 가중된 중력 중심에 대응하는 위치의 계산을 포함하고, 상기 자동-교정 키보드 영역 내의 상기 키들의 각각과 연관된 가중치는 상기 키들과 연관된 문자들의 상대 발생 빈도에 대응하고, 상기 상대 빈도는 메모리 내 상기 오브젝트의 문자들의 발생 빈도에 대해 결정되는 텍스트 입력 시스템.
  65. 제59항에 있어서, 선정된 임계 시간 주기 내에 상기 자동-교정 키보드 영역내의 복수의 인접하는 키들의 활성화를 포함하는 키 활성 이벤트가 검출되면, 상기 키 활성화 이벤트 동안 항상 상기 복수의 인접하는 키들중의 적어도 하나가 활성화되고, 상기 복수의 키들의 임의의 서브셋이 동시에 활성화되는 상기 키 활성화 동안의 임의의 순간에, 상기 동시에 활성화된 키의 서브셋은 연속적으로 인접하는 키들을 포함하고, 상기 키 활성화 이벤트에 대응하는 위치는 상기 키 활성화 이벤트 동안 검출된 전체 복수의 인접하는 키들의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재 입력 시퀀스에 부가되는 텍스트 입력 시스템.
  66. 제65항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용되는 함수는 상기 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함하는 텍스트 입력 시스템.
  67. 제66항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용되는 함수는 상기 동시에 활성화된 키들의 위치의 가중된 중력 중심에 대응하는 위치의 계산을 포함하고, 상기 자동-교정 키보드 영역의 키들의 각각과 연관된 가중치는 상기 키들에 연관된 문자들의 상대 발생 빈도에 대응하고, 상기 상대 빈도는 메모리 내 상기 오브젝트의 문자의 발생 빈도에 대해 결정되는 텍스트 입력 시스템.
  68. 제59항에 있어서, 상기 자동-교정 키보드 영역은 하나 또는 복수의 구두점 문자와 연관된 하나 또는 복수의 키들을 포함하고, 상기 메모리는 상기 자동-교정 키보드 영역 내의 키들과 연관된 하나 또는 복수의 구두점 문자들을 포함하는 메모리 내의 하나 또는 복수의 오브젝트를 포함하는 텍스트 입력 시스템.
  69. 제59항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 결정된 위치로부터 상기 후보 오브젝트의 대응하는 위치 내의 문자에 대응하는 키의 공지된 위치까지 계산된 거리 값을 합산하고, 상기 오브젝트에 연관된 사용 빈도에 따라 가중 함수를 적용함으로써, 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하는 텍스트 입력 시스템.
  70. 제59항에 있어서, 상기 자동-교정 키보드 영역 내의 하나 이상의 키들은 복수의 문자들에 대응하고, 하나 또는 복수의 문자들은 다양한 구별 표시를 포함하고, 상기 복수의 문자들은 단일 어간 문자의 변형 형태를 포함하고, 메모리 내의 오브젝트들은 그 올바른 액센트된 문자와 함께 저장되는 텍스트 입력 시스템.
  71. 제59항에 있어서, 상기 선택 구성요소는 사용자에 의한 선택을 위해 상기 텍스트 디스플레이 영역 내의 후보 오브젝트 리스트에 상기 식별된 하나 또는 복수의 후보 오브젝트를 제시하는 텍스트 입력 시스템.
  72. 제71항에 있어서, 상기 선택 구성요소는 최고 순위의 후보 오브젝트를 식별하여, 상기 자동-교정 키보드 영역에 가장 가까운 위치의 후보 오브젝트 리스트 내에 상기 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
  73. 제71항에 있어서, 상기 자동-교정 키보드 영역 내에 포함되지 않은, 문자와 연관된 키의 활성화는, 상기 텍스트 디스플레이 영역의 텍스트 삽입점에서 상기 선택된 문자를 출력하기 전에 상기 텍스트 디스플레이 영역의 상기 텍스트 삽입점에서 상기 결정된 최고 순위의 후보 오브젝트를 수락하고 출력하는 텍스트 입력 시스템.
  74. 제71항에 있어서, 상기 텍스트 디스플레이 영역 내의 텍스트 삽입점에서 출력하기 위한 오브젝트의 사용자 선택은 상기 자동-교정 키보드 영역 내의 다음 키 활성화 이벤트가 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료시키는 텍스트 입력 시스템.
  75. 삭제
  76. 삭제
  77. 삭제
KR1020017014956A 1999-05-27 2000-05-26 자동 교정 기능을 갖는 키보드 시스템 KR100723738B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13661399P 1999-05-27 1999-05-27
US60/136,613 1999-05-27

Publications (2)

Publication Number Publication Date
KR20020010151A KR20020010151A (ko) 2002-02-02
KR100723738B1 true KR100723738B1 (ko) 2007-05-30

Family

ID=22473592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017014956A KR100723738B1 (ko) 1999-05-27 2000-05-26 자동 교정 기능을 갖는 키보드 시스템

Country Status (12)

Country Link
US (4) US6801190B1 (ko)
EP (1) EP1192716B1 (ko)
JP (1) JP4519381B2 (ko)
KR (1) KR100723738B1 (ko)
CN (1) CN1655107A (ko)
AT (1) ATE443946T1 (ko)
AU (1) AU5299700A (ko)
CA (1) CA2392446C (ko)
DE (1) DE60043008D1 (ko)
HK (1) HK1046786A1 (ko)
NZ (1) NZ519928A (ko)
WO (1) WO2000074240A1 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100958309B1 (ko) * 2008-10-17 2010-05-19 주식회사 네오모빌 문자입력장치
US10824809B2 (en) 2016-06-03 2020-11-03 Bottomline Technologies (De), Inc. Method for identifying non-exactly matching text
US11163955B2 (en) 2016-06-03 2021-11-02 Bottomline Technologies, Inc. Identifying non-exactly matching text
US11238053B2 (en) 2019-06-28 2022-02-01 Bottomline Technologies, Inc. Two step algorithm for non-exact matching of large datasets
US11269841B1 (en) 2019-10-17 2022-03-08 Bottomline Technologies, Inc. Method and apparatus for non-exact matching of addresses
US11416713B1 (en) 2019-03-18 2022-08-16 Bottomline Technologies, Inc. Distributed predictive analytics data set
US11449870B2 (en) 2020-08-05 2022-09-20 Bottomline Technologies Ltd. Fraud detection rule optimization
US11496490B2 (en) 2015-12-04 2022-11-08 Bottomline Technologies, Inc. Notification of a security breach on a mobile device
US11544798B1 (en) 2021-08-27 2023-01-03 Bottomline Technologies, Inc. Interactive animated user interface of a step-wise visual path of circles across a line for invoice management
US11694276B1 (en) 2021-08-27 2023-07-04 Bottomline Technologies, Inc. Process for automatically matching datasets
US11762989B2 (en) 2015-06-05 2023-09-19 Bottomline Technologies Inc. Securing electronic data by automatically destroying misdirected transmissions
US11763278B2 (en) 2020-03-13 2023-09-19 Bottomline Technologies, Inc. Deposit token service system, apparatus and method
US11954688B2 (en) 2022-09-08 2024-04-09 Bottomline Technologies Ltd Apparatus for fraud detection rule optimization

Families Citing this family (645)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828991A (en) * 1995-06-30 1998-10-27 The Research Foundation Of The State University Of New York Sentence reconstruction using word ambiguity resolution
US7406084B2 (en) * 1997-09-19 2008-07-29 Nokia Siemens Networks Gmbh & Co. Kg Flexible software architecture for a call processing system
US7844914B2 (en) * 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US7705828B2 (en) 1998-06-26 2010-04-27 Research In Motion Limited Dual-mode mobile communication device
US6278442B1 (en) 1998-06-26 2001-08-21 Research In Motion Limited Hand-held electronic device with a keyboard optimized for use with the thumbs
US6489950B1 (en) 1998-06-26 2002-12-03 Research In Motion Limited Hand-held electronic device with auxiliary input device
US7679534B2 (en) 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
WO2000057265A1 (en) * 1999-03-18 2000-09-28 602531 British Columbia Ltd. Data entry for personal computing devices
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7610194B2 (en) * 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
EP1192716B1 (en) * 1999-05-27 2009-09-23 Tegic Communications, Inc. Keyboard system with automatic correction
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6889361B1 (en) * 2000-06-13 2005-05-03 International Business Machines Corporation Educational spell checker
US6836759B1 (en) 2000-08-22 2004-12-28 Microsoft Corporation Method and system of handling the selection of alternates for recognized words
US7191405B1 (en) 2000-11-22 2007-03-13 Adobe Systems Incorporated System and method for editing information
US20020078106A1 (en) * 2000-12-18 2002-06-20 Carew David John Method and apparatus to spell check displayable text in computer source code
GB2370740A (en) * 2000-12-27 2002-07-03 Nokia Corp Menu item selection
KR100498323B1 (ko) * 2001-01-16 2005-07-01 엘지전자 주식회사 이동통신 단말기의 특수문자 선택방법
US20020093535A1 (en) * 2001-01-17 2002-07-18 Murphy Michael William User interface for character entry using a minimum number of selection keys
US7162694B2 (en) * 2001-02-13 2007-01-09 Microsoft Corporation Method for entering text
US7103534B2 (en) * 2001-03-31 2006-09-05 Microsoft Corporation Machine learning contextual approach to word determination for text input via reduced keypad keys
US7395089B1 (en) 2001-06-11 2008-07-01 Palm, Inc Integrated personal digital assistant device
DE60236652D1 (de) * 2001-06-12 2010-07-22 Research In Motion Ltd Tragbares elektronisches gerät mit tastatur
US20090006543A1 (en) * 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US8112529B2 (en) 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
JP4624611B2 (ja) * 2001-09-06 2011-02-02 セイコーエプソン株式会社 キャラクタ入力装置およびこれを備えたテープ印刷装置並びにキャラクタ入力装置のキャラクタ入力方法
US7152213B2 (en) * 2001-10-04 2006-12-19 Infogation Corporation System and method for dynamic key assignment in enhanced user interface
US6842169B2 (en) 2001-10-19 2005-01-11 Research In Motion Limited Hand-held electronic device with multiple input mode thumbwheel
DE50203474D1 (de) * 2001-12-21 2005-07-28 Siemens Ag Vorrichtung zum erfassen und darstellen von bewegungen
US6690387B2 (en) * 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
JP3923803B2 (ja) * 2002-01-11 2007-06-06 富士通株式会社 入力予測処理プログラム
US7111248B2 (en) * 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US20030197736A1 (en) * 2002-01-16 2003-10-23 Murphy Michael W. User interface for character entry using a minimum number of selection keys
US7054461B2 (en) * 2002-02-15 2006-05-30 Pitney Bowes Inc. Authenticating printed objects using digital watermarks associated with multidimensional quality metrics
US7175438B2 (en) * 2002-03-01 2007-02-13 Digit Wireless Fast typing system and method
CA2479302A1 (en) * 2002-03-22 2003-10-02 Sony Ericsson Mobile Communications Ab Entering text into an electronic communications device
US6928619B2 (en) * 2002-05-10 2005-08-09 Microsoft Corporation Method and apparatus for managing input focus and z-order
US20030214523A1 (en) * 2002-05-16 2003-11-20 Kuansan Wang Method and apparatus for decoding ambiguous input using anti-entities
US8583440B2 (en) 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
US7751623B1 (en) 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US7188309B2 (en) 2002-06-28 2007-03-06 Microsoft Corporation Resolving document object collisions
US7185278B1 (en) 2002-06-28 2007-02-27 Microsoft Corporation Separating and moving document objects using the movement of a wiper bar
US7079713B2 (en) 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7174042B1 (en) * 2002-06-28 2007-02-06 Microsoft Corporation System and method for automatically recognizing electronic handwriting in an electronic document and converting to text
US7259752B1 (en) 2002-06-28 2007-08-21 Microsoft Corporation Method and system for editing electronic ink
KR100881000B1 (ko) * 2002-07-22 2009-02-03 삼성전자주식회사 이동 무선단말기의 문자 입력 방법
EP2154613A1 (en) * 2002-07-23 2010-02-17 Research in Motion Limited Systems and methods of building and using custom word lists
EP1422599B1 (en) * 2002-11-20 2006-07-05 Nokia Corporation Method and user interface for entering characters
US7171498B2 (en) * 2003-01-09 2007-01-30 Sony Computer Entertainment America Inc. Alphanumeric keyboard input system using a game controller
US7098896B2 (en) * 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US20040183833A1 (en) * 2003-03-19 2004-09-23 Chua Yong Tong Keyboard error reduction method and apparatus
US20040193557A1 (en) * 2003-03-25 2004-09-30 Olsen Jesse Dale Systems and methods for reducing ambiguity of communications
US7129932B1 (en) * 2003-03-26 2006-10-31 At&T Corp. Keyboard for interacting on small devices
US20150261429A1 (en) * 2014-01-02 2015-09-17 Benjamin Firooz Ghassabian Systems to enhance data entry in mobile and fixed environment
AU2004232013A1 (en) * 2003-04-18 2004-11-04 Benjamin Firooz Ghassabian Systems to enhance data entry in mobile and fixed environment
US20050175242A1 (en) * 2003-04-24 2005-08-11 Fujitsu Limited Online handwritten character input device and method
US7884804B2 (en) * 2003-04-30 2011-02-08 Microsoft Corporation Keyboard with input-sensitive display device
US7119794B2 (en) * 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US8479112B2 (en) * 2003-05-13 2013-07-02 Microsoft Corporation Multiple input language selection
JP2007526440A (ja) * 2003-06-03 2007-09-13 バイエル・ヘルスケア・エルエルシー 携帯型医療診断装置
US7130846B2 (en) * 2003-06-10 2006-10-31 Microsoft Corporation Intelligent default selection in an on-screen keyboard
US20070061753A1 (en) * 2003-07-17 2007-03-15 Xrgomics Pte Ltd Letter and word choice text input method for keyboards and reduced keyboard systems
JP4366149B2 (ja) * 2003-09-03 2009-11-18 キヤノン株式会社 画像処理装置、画像処理方法、プログラム及び記憶媒体
US20050065931A1 (en) * 2003-09-19 2005-03-24 Airtx, Inc. Disambiguation method and apparatus
KR100537280B1 (ko) 2003-10-29 2005-12-16 삼성전자주식회사 휴대용 단말기에서 터치스크린을 이용한 문자 입력 장치및 방법
US20050192802A1 (en) * 2004-02-11 2005-09-01 Alex Robinson Handwriting and voice input with automatic correction
US7358965B2 (en) * 2004-02-18 2008-04-15 Microsoft Corporation Tapping to create writing
US7721226B2 (en) 2004-02-18 2010-05-18 Microsoft Corporation Glom widget
US20050190970A1 (en) * 2004-02-27 2005-09-01 Research In Motion Limited Text input system for a mobile electronic device and methods thereof
US7659890B2 (en) * 2004-03-19 2010-02-09 Microsoft Corporation Automatic height adjustment for electronic highlighter pens and mousing devices
JP2005267424A (ja) * 2004-03-19 2005-09-29 Fujitsu Ltd データ入力装置、情報処理装置、データ入力方法、データ入力プログラム
GB0406451D0 (en) * 2004-03-23 2004-04-28 Patel Sanjay Keyboards
JP4245512B2 (ja) * 2004-05-24 2009-03-25 アルプス電気株式会社 入力装置
US8542132B2 (en) * 2004-06-02 2013-09-24 Blackberry Limited Handheld electronic device and associated method employing a multiple-axis input device and using non-edited characters as context in text disambiguation
US9075449B2 (en) 2004-06-02 2015-07-07 Blackberry Limited Handheld electronic device and associated method employing a multiple-axis input device and selectively disabling disambiguation
US7091885B2 (en) 2004-06-02 2006-08-15 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US7312726B2 (en) 2004-06-02 2007-12-25 Research In Motion Limited Handheld electronic device with text disambiguation
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7324083B2 (en) * 2004-06-02 2008-01-29 Research In Motion Limited Handheld electronic device with text disambiguation
EP1603020A1 (en) * 2004-06-02 2005-12-07 2012244 Ontario Inc. Handheld electronic device with text disambiguation
JP4756876B2 (ja) 2004-06-09 2011-08-24 キヤノン株式会社 画像表示制御装置、画像表示制御方法、プログラム、及び記憶媒体
US7788606B2 (en) * 2004-06-14 2010-08-31 Sas Institute Inc. Computer-implemented system and method for defining graphics primitives
US20070192711A1 (en) * 2006-02-13 2007-08-16 Research In Motion Limited Method and arrangement for providing a primary actions menu on a handheld communication device
JP4795343B2 (ja) * 2004-07-15 2011-10-19 エヌ−トリグ リミテッド 二重モードデジタイザの自動切り替え
WO2006006174A2 (en) * 2004-07-15 2006-01-19 N-Trig Ltd. A tracking window for a digitizer system
US20060176283A1 (en) * 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US7634741B2 (en) * 2004-08-31 2009-12-15 Sap Ag Method and apparatus for managing a selection list based on previous entries
US8154518B2 (en) 2004-08-31 2012-04-10 Research In Motion Limited Handheld electronic device and associated method employing a multiple-axis input device and elevating the priority of certain text disambiguation results when entering text into a special input field
US7475004B2 (en) * 2004-08-31 2009-01-06 Research In Motion Limited Handheld electronic device with text disambiguation
EP1630650A1 (en) * 2004-08-31 2006-03-01 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US7477238B2 (en) * 2004-08-31 2009-01-13 Research In Motion Limited Handheld electronic device with text disambiguation
US7711542B2 (en) * 2004-08-31 2010-05-04 Research In Motion Limited System and method for multilanguage text input in a handheld electronic device
US7952496B2 (en) * 2004-08-31 2011-05-31 Research In Motion Limited Handheld electronic device and associated method employing a multiple-axis input device and reinitiating a text disambiguation session upon returning to a delimited word
US7595742B2 (en) * 2004-10-29 2009-09-29 Lenovo (Singapore) Pte. Ltd. System and method for generating language specific diacritics for different languages using a single keyboard layout
US7895218B2 (en) 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
US8552984B2 (en) 2005-01-13 2013-10-08 602531 British Columbia Ltd. Method, system, apparatus and computer-readable media for directing input associated with keyboard-type device
US7630980B2 (en) 2005-01-21 2009-12-08 Prashant Parikh Automatic dynamic contextual data entry completion system
US7599828B2 (en) * 2005-03-01 2009-10-06 Microsoft Corporation Grammatically correct contraction spelling suggestions for french
US20080010055A1 (en) * 2005-03-08 2008-01-10 Pathiyal Krishna K Handheld Electronic Device and Associated Method Employing a Multiple-Axis Input Device and Providing a Prior Variant List When Employing a Disambiguation Routine and Reinitiating a Text Entry Session on a Word
EP1703361A1 (en) * 2005-03-16 2006-09-20 Research In Motion Limited Handheld electronic device with reduced keyboard and associated method of providing improved disambiguation
US8290765B2 (en) * 2005-03-16 2012-10-16 Research In Motion Limited Handheld electronic device with reduced keyboard and associated method of providing improved disambiguation
GB0505941D0 (en) * 2005-03-23 2005-04-27 Patel Sanjay Human-to-mobile interfaces
GB0505942D0 (en) 2005-03-23 2005-04-27 Patel Sanjay Human to mobile interfaces
US7403188B2 (en) * 2005-04-04 2008-07-22 Research In Motion Limited Handheld electronic device with text disambiquation employing advanced word frequency learning feature
US8237658B2 (en) * 2005-04-04 2012-08-07 Research In Motion Limited Handheld electronic device with text disambiguation employing advanced text case feature
EP1710667B1 (en) * 2005-04-04 2022-06-08 BlackBerry Limited Handheld electronic device with text disambiguation employing advanced word frequency learning feature
EP1710666B1 (en) * 2005-04-04 2022-03-09 BlackBerry Limited Handheld electronic device with text disambiguation employing advanced text case feature
US7548849B2 (en) * 2005-04-29 2009-06-16 Research In Motion Limited Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same
US7646886B2 (en) * 2005-05-11 2010-01-12 Lockheed Martin Corporation Closely-spaced multiple targets detection using a regional window as a discriminant function
RU2338238C2 (ru) * 2005-05-30 2008-11-10 Самсунг Электроникс Ко., Лтд. Способ и система ввода информации
US7277029B2 (en) * 2005-06-23 2007-10-02 Microsoft Corporation Using language models to expand wildcards
US20070016862A1 (en) * 2005-07-15 2007-01-18 Microth, Inc. Input guessing systems, methods, and computer program products
US7583205B2 (en) 2005-07-28 2009-09-01 Research In Motion Limited Handheld electronic device with disambiguation of compound word text input
EP1755020A1 (en) 2005-07-28 2007-02-21 2012244 Ontario Inc. Handheld electronic device with disambiguation of compound word text input
US7779011B2 (en) 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
KR100841310B1 (ko) * 2005-09-12 2008-06-25 엘지전자 주식회사 이동통신단말기
WO2007035827A2 (en) * 2005-09-20 2007-03-29 Forward Input, Inc. System and method for continuous stroke word-based text input
US20070094024A1 (en) * 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface
BRPI0506037A (pt) * 2005-10-25 2007-08-14 Genius Inst De Tecnologia método de entrada de texto por meio de um teclado numérico e seu uso
US20070106506A1 (en) * 2005-11-07 2007-05-10 Ma Changxue C Personal synergic filtering of multimodal inputs
US7644054B2 (en) * 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
EP1791051A1 (en) * 2005-11-23 2007-05-30 Research In Motion Limited System and method for recognizing a keystroke in an electronic device
US7594050B2 (en) 2005-11-23 2009-09-22 Research In Motion Limited System and method for recognizing a keystroke in an electronic device
US8918736B2 (en) * 2006-01-05 2014-12-23 Apple Inc. Replay recommendations in a text entry interface
US8370125B2 (en) * 2006-01-13 2013-02-05 Research In Motion Limited Handheld electronic device and method for disambiguation of text input providing artificial variants comprised of characters in a core alphabet
US7786979B2 (en) 2006-01-13 2010-08-31 Research In Motion Limited Handheld electronic device and method for disambiguation of text input and providing spelling substitution
US7538692B2 (en) * 2006-01-13 2009-05-26 Research In Motion Limited Handheld electronic device and method for disambiguation of compound text input and for prioritizing compound language solutions according to quantity of text components
DE602006009474D1 (de) * 2006-01-13 2009-11-12 Ontario Inc 2012244 Tragbares elektronisches Gerät mit Verfahren zur Textdisambiguierung und zur Substitution der Schreibweise
US20070164782A1 (en) * 2006-01-17 2007-07-19 Microsoft Corporation Multi-word word wheeling
US7769804B2 (en) * 2006-01-17 2010-08-03 Microsoft Corporation Server side search with multi-word word wheeling and wildcard expansion
US20080126079A1 (en) * 2006-01-20 2008-05-29 Research In Motion Limited Handheld electronic device with automatic text generation
US7703035B1 (en) * 2006-01-23 2010-04-20 American Megatrends, Inc. Method, system, and apparatus for keystroke entry without a keyboard input device
JP4341627B2 (ja) * 2006-01-25 2009-10-07 セイコーエプソン株式会社 キーボードを有さない装置における文字入力
US8108796B2 (en) * 2006-02-10 2012-01-31 Motorola Mobility, Inc. Method and system for operating a device
JP4744317B2 (ja) * 2006-02-16 2011-08-10 富士通株式会社 単語検索装置、単語検索方法、及びコンピュータプログラム
US7835998B2 (en) 2006-03-06 2010-11-16 Veveo, Inc. Methods and systems for selecting and presenting content on a first system based on user preferences learned on a second system
US10521022B2 (en) * 2006-03-17 2019-12-31 Conversant Wireless Licensing S.a.r.l. Mobile communication terminal and method therefor
US7777728B2 (en) * 2006-03-17 2010-08-17 Nokia Corporation Mobile communication terminal
US8296484B2 (en) * 2006-03-30 2012-10-23 Harris Corporation Alphanumeric data entry apparatus and method using multicharacter keys of a keypad
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
EP1843253A1 (en) * 2006-04-05 2007-10-10 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
US7777717B2 (en) 2006-04-05 2010-08-17 Research In Motion Limited Handheld electronic device and method for performing spell checking during text entry and for integrating the output from such spell checking into the output from disambiguation
US7797629B2 (en) 2006-04-05 2010-09-14 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
US7477165B2 (en) 2006-04-06 2009-01-13 Research In Motion Limited Handheld electronic device and method for learning contextual data during disambiguation of text input
US8065135B2 (en) 2006-04-06 2011-11-22 Research In Motion Limited Handheld electronic device and method for employing contextual data for disambiguation of text input
WO2007124429A2 (en) 2006-04-20 2007-11-01 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US7778837B2 (en) * 2006-05-01 2010-08-17 Microsoft Corporation Demographic based classification for local word wheeling/web search
JP2009537038A (ja) 2006-05-07 2009-10-22 バーコード リミティド 製品ロジスティックチェーンにおける品質管理を改善するためのシステムおよび方法
US7562811B2 (en) 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
US8370339B2 (en) * 2006-05-08 2013-02-05 Rajat Ahuja Location input mistake correction
EP1855210B1 (en) * 2006-05-11 2018-01-03 Dassault Systèmes Spell checking
US20080141125A1 (en) * 2006-06-23 2008-06-12 Firooz Ghassabian Combined data entry systems
US20100289750A1 (en) * 2006-08-04 2010-11-18 Hyung Gi Kim Touch Type Character Input Device
US8209631B2 (en) * 2006-08-24 2012-06-26 Nokia Corporation User interface for an electronic device
US9552349B2 (en) * 2006-08-31 2017-01-24 International Business Machines Corporation Methods and apparatus for performing spelling corrections using one or more variant hash tables
US7683886B2 (en) * 2006-09-05 2010-03-23 Research In Motion Limited Disambiguated text message review function
EP1898299A1 (en) * 2006-09-05 2008-03-12 Research In Motion Limited Disambiguated text message review function
US7843427B2 (en) * 2006-09-06 2010-11-30 Apple Inc. Methods for determining a cursor position from a finger contact with a touch screen display
US7864163B2 (en) * 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US9304675B2 (en) 2006-09-06 2016-04-05 Apple Inc. Portable electronic device for instant messaging
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
USD558758S1 (en) 2007-01-05 2008-01-01 Apple Inc. Electronic device
USD580387S1 (en) 2007-01-05 2008-11-11 Apple Inc. Electronic device
CA3163292A1 (en) 2006-09-14 2008-03-20 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
US7599712B2 (en) * 2006-09-27 2009-10-06 Palm, Inc. Apparatus and methods for providing directional commands for a mobile computing device
WO2008045690A2 (en) 2006-10-06 2008-04-17 Veveo, Inc. Linear character selection display interface for ambiguous text input
US8035534B2 (en) 2006-11-10 2011-10-11 Research In Motion Limited Method for automatically preferring a diacritical version of a linguistic element on a handheld electronic device based on linguistic source and associated apparatus
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US20080131031A1 (en) * 2006-12-05 2008-06-05 Sherryl Lee Lorraine Scott Handheld electronic device with diacritical selection and text disambiguation
US20080140519A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Advertising based on simplified input expansion
US9275036B2 (en) * 2006-12-21 2016-03-01 International Business Machines Corporation System and method for adaptive spell checking
EP1939714A1 (en) * 2006-12-27 2008-07-02 Research In Motion Limited Method for presenting data on a small screen
US7865824B1 (en) * 2006-12-27 2011-01-04 Tellme Networks, Inc. Spelling correction based on input device geometry
US8115658B2 (en) 2006-12-29 2012-02-14 Research In Motion Limited Handheld electronic device providing confirmation of input, and associated method
EP1939715B1 (en) * 2006-12-29 2011-01-26 Research In Motion Limited handheld electronic device providing confirmation of input, and associated method
USD898736S1 (en) 2007-01-05 2020-10-13 Apple Inc. Electronic device
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8519963B2 (en) * 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture on a touch screen display
DE102007004959A1 (de) * 2007-01-26 2008-08-07 Vodafone Holding Gmbh Betrieb eines in Telekommunikationsnetzen nutzbaren Endgerätes
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
CN101256462B (zh) * 2007-02-28 2010-06-23 北京三星通信技术研究有限公司 基于全混合联想库的手写输入方法和装置
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US20080266261A1 (en) * 2007-04-25 2008-10-30 Idzik Jacek S Keystroke Error Correction Method
EP1986080B1 (en) * 2007-04-25 2009-12-16 Research In Motion Limited Keystroke error correction method
EP2156369B1 (en) 2007-05-06 2015-09-02 Varcode Ltd. A system and method for quality management utilizing barcode indicators
WO2008148012A1 (en) 2007-05-25 2008-12-04 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
CA2694327A1 (en) 2007-08-01 2009-02-05 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US8146003B2 (en) * 2007-08-17 2012-03-27 Microsoft Corporation Efficient text input for game controllers and handheld devices
USD602486S1 (en) 2007-08-31 2009-10-20 Apple Inc. Electronic device
US7949516B2 (en) 2007-08-31 2011-05-24 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
USD957385S1 (en) 2007-08-31 2022-07-12 Apple Inc. Electronic device
EP2031519A1 (en) * 2007-08-31 2009-03-04 Research in Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
US20090058823A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
US8661340B2 (en) 2007-09-13 2014-02-25 Apple Inc. Input methods for device having multi-language environment
US8077983B2 (en) * 2007-10-04 2011-12-13 Zi Corporation Of Canada, Inc. Systems and methods for character correction in communication devices
US8631358B2 (en) 2007-10-10 2014-01-14 Apple Inc. Variable device graphical user interface
US8606562B2 (en) * 2007-10-25 2013-12-10 Blackberry Limited Disambiguated text message retype function
EP2053491A1 (en) 2007-10-25 2009-04-29 Research In Motion Limited Disambiguated text message review function
EP2218042B1 (en) 2007-11-14 2020-01-01 Varcode Ltd. A system and method for quality management utilizing barcode indicators
KR101445196B1 (ko) * 2007-11-23 2014-09-29 삼성전자주식회사 터치 스크린을 가지는 휴대 단말기의 문자 입력 방법 및장치
US8063879B2 (en) 2007-12-20 2011-11-22 Research In Motion Limited Method and handheld electronic device including first input component and second touch sensitive input component
ATE456084T1 (de) * 2007-12-20 2010-02-15 Research In Motion Ltd Verfahren und tragbare elektronische vorrichtung mit einer ersten eingabekomponenten und zweiter berührungsempfindlicher eingabekomponente
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
TWI358028B (en) * 2007-12-25 2012-02-11 Htc Corp Electronic device capable of transferring object b
CN103593144A (zh) * 2007-12-26 2014-02-19 摩托罗拉移动公司 将字符序列输入电子设备
CN101470569A (zh) * 2007-12-26 2009-07-01 摩托罗拉公司 将字符序列输入电子设备
TWI393029B (zh) * 2007-12-31 2013-04-11 Htc Corp 電子裝置以及於電子裝置上執行指令之方法
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US8462119B2 (en) * 2008-01-09 2013-06-11 Research In Motion Limited Method of facilitating user input in handheld electronic device employing a text disambiguation function
US20090187401A1 (en) * 2008-01-17 2009-07-23 Thanh Vuong Handheld electronic device and associated method for obtaining new language objects for a temporary dictionary used by a disambiguation routine on the device
KR100942825B1 (ko) * 2008-02-19 2010-02-18 주식회사 케이투이엔지 가상 키보드가 적용된 기기의 문자 입력 시스템 및 방법
US8908973B2 (en) 2008-03-04 2014-12-09 Apple Inc. Handwritten character recognition interface
US8289283B2 (en) 2008-03-04 2012-10-16 Apple Inc. Language input interface on a device
US20090231282A1 (en) * 2008-03-14 2009-09-17 Steven Fyke Character selection on a device using offset contact-zone
US20090249198A1 (en) * 2008-04-01 2009-10-01 Yahoo! Inc. Techniques for input recogniton and completion
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
USD602015S1 (en) 2008-04-07 2009-10-13 Apple Inc. Electronic device
USD615083S1 (en) 2008-04-07 2010-05-04 Apple Inc. Electronic device
US8015129B2 (en) * 2008-04-14 2011-09-06 Microsoft Corporation Parsimonious multi-resolution value-item lists
US8949743B2 (en) 2008-04-22 2015-02-03 Apple Inc. Language input interface on a device
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US7925992B2 (en) * 2008-05-30 2011-04-12 International Business Machines Corporation Method to assist users in preventing errors when using type-ahead
US9355090B2 (en) 2008-05-30 2016-05-31 Apple Inc. Identification of candidate characters for text input
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8589149B2 (en) 2008-08-05 2013-11-19 Nuance Communications, Inc. Probability-based approach to recognition of user-entered data
USD602017S1 (en) 2008-09-05 2009-10-13 Apple Inc. Electronic device
US8239201B2 (en) * 2008-09-13 2012-08-07 At&T Intellectual Property I, L.P. System and method for audibly presenting selected text
US20100070908A1 (en) * 2008-09-18 2010-03-18 Sun Microsystems, Inc. System and method for accepting or rejecting suggested text corrections
US8284170B2 (en) 2008-09-30 2012-10-09 Apple Inc. Touch screen device, method, and graphical user interface for moving on-screen objects without using a cursor
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
KR20100062077A (ko) * 2008-12-01 2010-06-10 삼성전자주식회사 사용자 인터페이스를 향상시키기 위한 사용자 인터페이스 제공방법 및 이를 이용한 멀티미디어 기기
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
TWI416400B (zh) * 2008-12-31 2013-11-21 Htc Corp 動態學習軟體鍵盤輸入特徵的方法、系統以及使用此方法的電腦程式產品
US8669941B2 (en) * 2009-01-05 2014-03-11 Nuance Communications, Inc. Method and apparatus for text entry
CN102292695A (zh) * 2009-01-20 2011-12-21 日本电气株式会社 输入设备、信息处理设备、输入方法和程序
US8326358B2 (en) 2009-01-30 2012-12-04 Research In Motion Limited System and method for access control in a portable electronic device
US8416192B2 (en) * 2009-02-05 2013-04-09 Microsoft Corporation Concurrently displaying multiple characters for input field positions
US8619043B2 (en) * 2009-02-27 2013-12-31 Blackberry Limited System and method of calibration of a touch screen display
US8583421B2 (en) * 2009-03-06 2013-11-12 Motorola Mobility Llc Method and apparatus for psychomotor and psycholinguistic prediction on touch based device
US8564541B2 (en) 2009-03-16 2013-10-22 Apple Inc. Zhuyin input interface on a device
US20100235780A1 (en) * 2009-03-16 2010-09-16 Westerman Wayne C System and Method for Identifying Words Based on a Sequence of Keyboard Events
US20120113011A1 (en) * 2009-03-20 2012-05-10 Genqing Wu Ime text entry assistance
US20100241984A1 (en) * 2009-03-21 2010-09-23 Nokia Corporation Method and apparatus for displaying the non alphanumeric character based on a user input
US9519353B2 (en) * 2009-03-30 2016-12-13 Symbol Technologies, Llc Combined speech and touch input for observation symbol mappings
GB201108200D0 (en) 2011-05-16 2011-06-29 Touchtype Ltd User input prediction
US20100251105A1 (en) * 2009-03-31 2010-09-30 Lenovo (Singapore) Pte, Ltd. Method, apparatus, and system for modifying substitution costs
US8850472B2 (en) * 2009-04-01 2014-09-30 Nuance Communications, Inc. Method and apparatus for customizing user experience
US9367216B2 (en) * 2009-05-21 2016-06-14 Sony Interactive Entertainment Inc. Hand-held device with two-finger touch triggered selection and transformation of active elements
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
TW201044232A (en) * 2009-06-05 2010-12-16 Htc Corp Method, system and computer program product for correcting software keyboard input
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20100332215A1 (en) * 2009-06-26 2010-12-30 Nokia Corporation Method and apparatus for converting text input
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US20110042102A1 (en) * 2009-08-18 2011-02-24 Frank's International, Inc. Method of and kit for installing a centralizer on a pipe segment
US9110515B2 (en) 2009-08-19 2015-08-18 Nuance Communications, Inc. Method and apparatus for text input
TWI492140B (zh) * 2009-08-28 2015-07-11 Compal Electronics Inc 鍵盤輸入的方法與輔助系統
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8516367B2 (en) * 2009-09-29 2013-08-20 Verizon Patent And Licensing Inc. Proximity weighted predictive key entry
JP5627212B2 (ja) * 2009-10-08 2014-11-19 京セラ株式会社 入力装置
US9207765B2 (en) * 2009-12-31 2015-12-08 Microsoft Technology Licensing, Llc Recognizing interactive media input
US20110167350A1 (en) * 2010-01-06 2011-07-07 Apple Inc. Assist Features For Content Display Device
US8621380B2 (en) 2010-01-06 2013-12-31 Apple Inc. Apparatus and method for conditionally enabling or disabling soft buttons
USD627777S1 (en) 2010-01-06 2010-11-23 Apple Inc. Portable display device
KR101441217B1 (ko) * 2010-01-06 2014-09-17 애플 인크. 소프트 버튼들을 조건적으로 인에이블 또는 디스에이블하기 위한 기기 및 방법
USD637596S1 (en) 2010-01-06 2011-05-10 Apple Inc. Portable display device
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
CN102884518A (zh) 2010-02-01 2013-01-16 金格软件有限公司 尤其用于小键盘装置的使用互联网语料库的自动的上下文相关的语言校正
US20110191330A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior
US8179370B1 (en) 2010-02-09 2012-05-15 Google Inc. Proximity based keystroke resolution
US8830182B1 (en) 2010-02-09 2014-09-09 Google Inc. Keystroke resolution
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
CN101788855B (zh) * 2010-03-09 2013-04-17 华为终端有限公司 一种获取用户输入信息的方法、装置及通信终端
US9104312B2 (en) * 2010-03-12 2015-08-11 Nuance Communications, Inc. Multimodal text input system, such as for use with touch screens on mobile phones
CN102918587B (zh) * 2010-03-30 2014-11-05 Nvoq股份有限公司 能够将听写代号短语转录成标准词组的分层快速注解
KR20110110940A (ko) * 2010-04-02 2011-10-10 삼성전자주식회사 휴대용 단말기의 터치 입력 장치 및 방법
USD683345S1 (en) 2010-07-08 2013-05-28 Apple Inc. Portable display device with graphical user interface
USD681631S1 (en) 2010-07-08 2013-05-07 Apple Inc. Portable display device with graphical user interface
USD683730S1 (en) 2010-07-08 2013-06-04 Apple Inc. Portable display device with graphical user interface
USD682262S1 (en) 2010-07-08 2013-05-14 Apple Inc. Portable display device with animated graphical user interface
USD681630S1 (en) 2010-07-08 2013-05-07 Apple Inc. Portable display device with graphical user interface
CN102346560B (zh) * 2010-07-29 2016-09-28 深圳市世纪光速信息技术有限公司 一种输入法中调整候选词顺序的方法及装置
USD642563S1 (en) 2010-08-16 2011-08-02 Apple Inc. Electronic device
US9081761B1 (en) 2010-08-31 2015-07-14 The Mathworks, Inc. Mistake avoidance and correction suggestions
US8346793B1 (en) 2010-08-31 2013-01-01 The Mathworks, Inc. Techniques for suggesting correct identifiers
US8988365B2 (en) * 2010-09-01 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Input precision method for minimizing erroneous entries stemming from instability of a mobile device using an accelerometer and apparatus to detect a shake and apparatus and computer program thereof
USD669468S1 (en) 2011-01-07 2012-10-23 Apple Inc. Portable display device
USD670692S1 (en) 2011-01-07 2012-11-13 Apple Inc. Portable display device
USD671114S1 (en) 2011-02-25 2012-11-20 Apple Inc. Portable display device with cover
KR20120045218A (ko) * 2010-10-29 2012-05-09 삼성전자주식회사 멀티 터치를 이용한 문자 입력 방법 및 장치
CN103299550B (zh) * 2010-11-04 2015-12-09 纽昂斯通讯公司 用于具有自动校正的键盘系统的拼写检查
US8587547B2 (en) * 2010-11-05 2013-11-19 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US8754860B2 (en) 2010-11-05 2014-06-17 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US8712989B2 (en) 2010-12-03 2014-04-29 Microsoft Corporation Wild card auto completion
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9092132B2 (en) 2011-01-24 2015-07-28 Apple Inc. Device, method, and graphical user interface with a dynamic gesture disambiguation threshold
US9436381B2 (en) 2011-01-24 2016-09-06 Apple Inc. Device, method, and graphical user interface for navigating and annotating an electronic document
USD683346S1 (en) 2011-02-04 2013-05-28 Apple Inc. Portable display device with graphical user interface
USD677658S1 (en) 2011-03-02 2013-03-12 Apple Inc. Portable display device
KR101753625B1 (ko) 2011-03-08 2017-07-20 삼성전자주식회사 휴대용 단말기에서 오입력을 방지하기 위한 방법 및 장치
TW201237732A (en) * 2011-03-11 2012-09-16 Sunplus Technology Co Ltd Nine-square arrangement virtual input system using a remote control
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8914275B2 (en) * 2011-04-06 2014-12-16 Microsoft Corporation Text prediction
CN102184028A (zh) * 2011-04-11 2011-09-14 百度在线网络技术(北京)有限公司 获取与输入按键序列相对应的候选字符串的方法与设备
US8826190B2 (en) 2011-05-27 2014-09-02 Google Inc. Moving a graphical selector
US8656315B2 (en) 2011-05-27 2014-02-18 Google Inc. Moving a graphical selector
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
CN102854994B (zh) * 2011-06-28 2016-05-11 幻音科技(深圳)有限公司 输入方法及装置
EP2745191B1 (en) 2011-08-15 2016-04-06 Telefonaktiebolaget LM Ericsson (publ) Resizing selection zones on a touch sensitive display responsive to likelihood of selection
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9213482B2 (en) * 2011-11-11 2015-12-15 Elan Microelectronics Corporation Touch control device and method
US9064436B1 (en) * 2012-01-06 2015-06-23 Google Inc. Text input on touch sensitive interface
CA2789827C (en) 2012-01-19 2017-06-13 Research In Motion Limited Virtual keyboard providing an indication of received input
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US9244612B1 (en) 2012-02-16 2016-01-26 Google Inc. Key selection of a graphical keyboard based on user input posture
CA2865272C (en) 2012-02-24 2019-11-05 Blackberry Limited Virtual keyboard with dynamically reconfigurable layout
GB2503968B (en) 2012-02-24 2021-02-17 Blackberry Ltd Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US8972388B1 (en) * 2012-02-29 2015-03-03 Google Inc. Demotion of already observed search query completions
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9223497B2 (en) * 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
US9043198B1 (en) * 2012-04-13 2015-05-26 Google Inc. Text suggestion
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
US10025487B2 (en) 2012-04-30 2018-07-17 Blackberry Limited Method and apparatus for text selection
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
WO2013169853A1 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface
CN108897420B (zh) 2012-05-09 2021-10-22 苹果公司 用于响应于手势在显示状态之间过渡的设备、方法和图形用户界面
DE112013002412T5 (de) 2012-05-09 2015-02-19 Apple Inc. Vorrichtung, Verfahren und grafische Benutzeroberfläche zum Bereitstellen von Rückmeldung für das Wechseln von Aktivierungszuständen eines Benutzerschnittstellenobjekts
WO2013169843A1 (en) * 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
DE202013012233U1 (de) 2012-05-09 2016-01-18 Apple Inc. Vorrichtung und grafische Benutzerschnittstelle zum Anzeigen zusätzlicher Informationen in Antwort auf einen Benutzerkontakt
KR101956082B1 (ko) 2012-05-09 2019-03-11 애플 인크. 사용자 인터페이스 객체를 선택하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
CA2821674C (en) * 2012-05-11 2015-09-15 Research In Motion Limited Portable electronic device and method of controlling same
US8884881B2 (en) 2012-05-11 2014-11-11 Blackberry Limited Portable electronic device and method of controlling same
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8484573B1 (en) 2012-05-23 2013-07-09 Google Inc. Predictive virtual keyboard
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
USD707223S1 (en) 2012-05-29 2014-06-17 Apple Inc. Electronic device
USD684571S1 (en) 2012-09-07 2013-06-18 Apple Inc. Electronic device
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
CN104428734A (zh) 2012-06-25 2015-03-18 微软公司 输入法编辑器应用平台
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9128915B2 (en) * 2012-08-03 2015-09-08 Oracle International Corporation System and method for utilizing multiple encodings to identify similar language characters
USD681632S1 (en) 2012-08-11 2013-05-07 Apple Inc. Electronic device
CN103594085B (zh) * 2012-08-16 2019-04-26 百度在线网络技术(北京)有限公司 一种提供语音识别结果的方法及系统
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US20140063067A1 (en) * 2012-08-31 2014-03-06 Research In Motion Limited Method to select word by swiping capacitive keyboard
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
USD681032S1 (en) 2012-09-11 2013-04-30 Apple Inc. Electronic device
US9471220B2 (en) 2012-09-18 2016-10-18 Google Inc. Posture-adaptive selection
US9081482B1 (en) 2012-09-18 2015-07-14 Google Inc. Text input suggestion ranking
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8656296B1 (en) 2012-09-27 2014-02-18 Google Inc. Selection of characters in a string of characters
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US8713433B1 (en) 2012-10-16 2014-04-29 Google Inc. Feature-based autocorrection
US8914751B2 (en) 2012-10-16 2014-12-16 Google Inc. Character deletion during keyboard gesture
US9557818B2 (en) 2012-10-16 2017-01-31 Google Inc. Contextually-specific automatic separators
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8612213B1 (en) 2012-10-16 2013-12-17 Google Inc. Correction of errors in character strings that include a word delimiter
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US9569107B2 (en) 2012-10-16 2017-02-14 Google Inc. Gesture keyboard with gesture cancellation
US8994681B2 (en) 2012-10-19 2015-03-31 Google Inc. Decoding imprecise gestures for gesture-keyboards
US8704792B1 (en) 2012-10-19 2014-04-22 Google Inc. Density-based filtering of gesture events associated with a user interface of a computing device
US9304595B2 (en) 2012-10-19 2016-04-05 Google Inc. Gesture-keyboard decoding using gesture path deviation
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8807422B2 (en) 2012-10-22 2014-08-19 Varcode Ltd. Tamper-proof quality management barcode indicators
US9804777B1 (en) 2012-10-23 2017-10-31 Google Inc. Gesture-based text selection
US20140122057A1 (en) * 2012-10-26 2014-05-01 Google Inc. Techniques for input method editor language models using spatial input models
US8806384B2 (en) 2012-11-02 2014-08-12 Google Inc. Keyboard gestures for character string replacement
US8930181B2 (en) 2012-12-06 2015-01-06 Prashant Parikh Automatic dynamic contextual data entry completion
JP5958326B2 (ja) 2012-12-21 2016-07-27 カシオ計算機株式会社 辞書検索装置、辞書検索方法、辞書検索プログラム、辞書検索システム、サーバ装置、端末装置
KR101755625B1 (ko) * 2013-01-07 2017-07-07 삼성전자주식회사 디스플레이 장치, 그의 ui 표시 방법 및 컴퓨터 판독가능 기록매체
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
IN2013CH00469A (ko) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
CN105027040B (zh) 2013-01-21 2018-09-21 要点科技印度私人有限公司 文本输入系统及方法
US9047268B2 (en) 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US10228819B2 (en) 2013-02-04 2019-03-12 602531 British Cilumbia Ltd. Method, system, and apparatus for executing an action related to user selection
US9454240B2 (en) 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
KR20230137475A (ko) 2013-02-07 2023-10-04 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9231898B2 (en) 2013-02-08 2016-01-05 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US9298703B2 (en) 2013-02-08 2016-03-29 Machine Zone, Inc. Systems and methods for incentivizing user feedback for translation processing
US8996355B2 (en) 2013-02-08 2015-03-31 Machine Zone, Inc. Systems and methods for reviewing histories of text messages from multi-user multi-lingual communications
US8996353B2 (en) * 2013-02-08 2015-03-31 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US10650103B2 (en) 2013-02-08 2020-05-12 Mz Ip Holdings, Llc Systems and methods for incentivizing user feedback for translation processing
US9031829B2 (en) 2013-02-08 2015-05-12 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US9600473B2 (en) 2013-02-08 2017-03-21 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US8990068B2 (en) 2013-02-08 2015-03-24 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US8996352B2 (en) 2013-02-08 2015-03-31 Machine Zone, Inc. Systems and methods for correcting translations in multi-user multi-lingual communications
US8782550B1 (en) 2013-02-28 2014-07-15 Google Inc. Character string replacement
US8701050B1 (en) 2013-03-08 2014-04-15 Google Inc. Gesture completion path display for gesture-based keyboards
KR102166266B1 (ko) * 2013-03-13 2020-10-15 삼성전자주식회사 단말기의 문자변환 장치 및 방법
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9977779B2 (en) * 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
KR101294558B1 (ko) * 2013-04-15 2013-08-07 김민철 오타 수정 방법
US9665246B2 (en) 2013-04-16 2017-05-30 Google Inc. Consistent text suggestion output
US8825474B1 (en) 2013-04-16 2014-09-02 Google Inc. Text suggestion output using past interaction data
US9122376B1 (en) 2013-04-18 2015-09-01 Google Inc. System for improving autocompletion of text input
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US8756499B1 (en) 2013-04-29 2014-06-17 Google Inc. Gesture keyboard input of non-dictionary character strings using substitute scoring
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
KR101332757B1 (ko) * 2013-05-16 2013-11-25 주식회사 큐키 삭제키 입력 없이 단어 또는 문자열을 수정하는 방법 및 이를 구현한 장치
US8997013B2 (en) 2013-05-31 2015-03-31 Google Inc. Multiple graphical keyboards for continuous gesture input
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9898187B2 (en) 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
JP2015041845A (ja) * 2013-08-21 2015-03-02 カシオ計算機株式会社 文字入力装置及びプログラム
CN103472998B (zh) * 2013-09-27 2017-03-15 小米科技有限责任公司 一种选取文字的方法、装置和终端设备
KR101381101B1 (ko) 2013-11-13 2014-04-02 주식회사 큐키 문자열 사이의 연관성 판단을 통한 오타 수정 방법
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
CN103823570B (zh) * 2014-02-11 2016-10-26 百度在线网络技术(北京)有限公司 一种日文输入方法及系统
USD845294S1 (en) 2014-05-05 2019-04-09 Apple Inc. Housing for an electronic device with surface ornamentation
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10255267B2 (en) 2014-05-30 2019-04-09 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
TWI514204B (zh) * 2014-06-24 2015-12-21 Recursive mouse input method and mouse device, computer program products
CN111078109B (zh) * 2014-06-24 2024-01-09 苹果公司 输入设备和用户界面交互
US9336207B2 (en) * 2014-06-30 2016-05-10 International Business Machines Corporation Measuring linguistic markers and linguistic noise of a machine-human translation supply chain
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9377871B2 (en) 2014-08-01 2016-06-28 Nuance Communications, Inc. System and methods for determining keyboard input in the presence of multiple contact points
CN105630361A (zh) * 2014-08-27 2016-06-01 马占凯 一种分离式输入框的输入法
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
AU361808S (en) 2014-10-15 2015-05-14 Apple Inc Electronic device
US10162811B2 (en) 2014-10-17 2018-12-25 Mz Ip Holdings, Llc Systems and methods for language detection
US9372848B2 (en) 2014-10-17 2016-06-21 Machine Zone, Inc. Systems and methods for language detection
JP6376953B2 (ja) * 2014-11-13 2018-08-22 キヤノン株式会社 情報処理装置およびその制御方法、コンピュータプログラム、記憶媒体
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
CN105843414B (zh) * 2015-01-13 2022-03-08 北京搜狗科技发展有限公司 输入法的输入修正方法和输入法装置
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
EP3309686B1 (en) * 2015-04-10 2020-08-19 Soliton Systems K.K. Electronic mail transmission error determination device, electronic mail transmission system, and recording medium
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
EP3298367B1 (en) 2015-05-18 2020-04-29 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
US10067670B2 (en) * 2015-05-19 2018-09-04 Google Llc Multi-switch option scanning
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
CN106295266A (zh) 2015-05-28 2017-01-04 阿里巴巴集团控股有限公司 信息输入方法和装置
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
WO2017006326A1 (en) 2015-07-07 2017-01-12 Varcode Ltd. Electronic quality indicator
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
CN108351876A (zh) * 2015-09-22 2018-07-31 纽昂斯通讯公司 用于兴趣点识别的系统和方法
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10643067B2 (en) * 2015-10-19 2020-05-05 Myscript System and method of handwriting recognition in diagrams
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10765956B2 (en) 2016-01-07 2020-09-08 Machine Zone Inc. Named entity recognition on chat data
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
US10635661B2 (en) * 2016-07-11 2020-04-28 Facebook, Inc. Keyboard-based corrections for search queries on online social networks
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
CN107918496B (zh) * 2016-10-10 2021-10-22 北京搜狗科技发展有限公司 一种输入纠错方法和装置、一种用于输入纠错的装置
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN108733227B (zh) * 2017-04-14 2022-11-18 阿尔派株式会社 输入装置及其输入方法
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
CN109271037B (zh) * 2017-07-13 2022-09-09 北京搜狗科技发展有限公司 一种纠错词库的建立方法和装置
KR101872879B1 (ko) * 2017-09-18 2018-07-31 서울대학교 산학협력단 한자 입력용 키보드
WO2019060353A1 (en) 2017-09-21 2019-03-28 Mz Ip Holdings, Llc SYSTEM AND METHOD FOR TRANSLATION OF KEYBOARD MESSAGES
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
CN108182001B (zh) * 2017-12-28 2021-06-08 科大讯飞股份有限公司 输入纠错方法及装置、存储介质、电子设备
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10691887B2 (en) * 2018-04-09 2020-06-23 Microsoft Technology Licensing, Llc Techniques for automatic proofing of textual data
USD924868S1 (en) 2018-04-23 2021-07-13 Apple Inc. Electronic device
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
JP7163685B2 (ja) * 2018-09-19 2022-11-01 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
EP3736677A1 (en) 2019-05-10 2020-11-11 MyScript A method and corresponding device for selecting and editing handwriting input elements
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
WO2020240578A1 (en) * 2019-05-24 2020-12-03 Venkatesa Krishnamoorthy Method and device for inputting text on a keyboard
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
CN113906380A (zh) 2019-05-31 2022-01-07 苹果公司 用于播客浏览和回放应用程序的用户界面
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
CN110263337B (zh) * 2019-06-17 2023-06-20 北京百度网讯科技有限公司 输入行为识别方法、装置、设备和介质
EP3754537A1 (en) 2019-06-20 2020-12-23 MyScript Processing text handwriting input in a free handwriting mode
JP7211297B2 (ja) * 2019-07-24 2023-01-24 富士通株式会社 訂正支援プログラム、訂正支援方法、および情報処理装置
EP3772015B1 (en) 2019-07-31 2023-11-08 MyScript Text line extraction
EP3796145A1 (en) 2019-09-19 2021-03-24 MyScript A method and correspond device for selecting graphical objects
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11379662B2 (en) * 2019-10-29 2022-07-05 Karmen Langlotz Data entry capitalization error correction system and word processing system with second language facility
US11295088B2 (en) 2019-11-20 2022-04-05 Apple Inc. Sanitizing word predictions
USD974352S1 (en) 2019-11-22 2023-01-03 Apple Inc. Electronic device
US11216182B2 (en) * 2020-03-03 2022-01-04 Intel Corporation Dynamic configuration of a virtual keyboard
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
CN111966791A (zh) * 2020-09-03 2020-11-20 深圳市小满科技有限公司 海关数据产品词的提取方法及检索方法
WO2022154403A1 (ko) * 2021-01-12 2022-07-21 삼성전자 주식회사 검색어를 제공하는 방법 및 이를 지원하는 전자 장치
US11816137B2 (en) 2021-01-12 2023-11-14 Samsung Electronics Co., Ltd Method for providing search word and electronic device for supporting the same
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
EP4047519A1 (en) 2021-02-22 2022-08-24 Carl Zeiss Vision International GmbH Devices and methods for processing eyeglass prescriptions
EP4057259A1 (en) * 2021-03-12 2022-09-14 OMRON Corporation Character input device, character input method, and character input program
EP4101367A1 (en) 2021-06-09 2022-12-14 Carl Zeiss Vision International GmbH Method and device for determining a visual performance
CN113448449B (zh) * 2021-07-14 2023-02-24 曾子力 一种英语单词输入法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997005541A1 (en) * 1995-07-26 1997-02-13 King Martin T Reduced keyboard disambiguating system
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
JPH10275046A (ja) * 1997-03-31 1998-10-13 Toshiba Corp 単語入力装置及び方法
WO1999015952A2 (en) * 1997-09-25 1999-04-01 Tegic Communications, Inc. Reduced keyboard disambiguating system
KR20020010151A (ko) * 1999-05-27 2002-02-02 아메리카 온라인, 인코포레이티드 자동 교정 기능을 갖는 키보드 시스템

Family Cites Families (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3980869A (en) * 1974-11-25 1976-09-14 Litton Business Systems, Inc. Rotatable keyboard
US4286329A (en) * 1979-12-17 1981-08-25 International Business Machines Corporation Complex character generator
US4454592A (en) * 1980-11-20 1984-06-12 International Business Machines Corporation Prompt line display in a word processing system
US4365235A (en) 1980-12-31 1982-12-21 International Business Machines Corporation Chinese/Kanji on-line recognition system
US4689768A (en) * 1982-06-30 1987-08-25 International Business Machines Corporation Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories
US4439649A (en) * 1982-08-30 1984-03-27 Suncom, Incorporated Joy stick switch
US4573196A (en) 1983-01-19 1986-02-25 Communications Intelligence Corporation Confusion grouping of strokes in pattern recognition method and system
US4561105A (en) 1983-01-19 1985-12-24 Communication Intelligence Corporation Complex pattern recognition method and system
US4891777A (en) 1983-05-11 1990-01-02 The Laitram Corporation Single hand keyboard arrays providing alphanumeric capabilities from twelve keys
CA1213067A (en) 1983-01-21 1986-10-21 James M. Lapeyre Contoured touch type data processing keyboard
US4891786A (en) * 1983-02-22 1990-01-02 Goldwasser Eric P Stroke typing system
US4559598A (en) * 1983-02-22 1985-12-17 Eric Goldwasser Method of creating text using a computer
US4783758A (en) * 1985-02-05 1988-11-08 Houghton Mifflin Company Automated word substitution using numerical rankings of structural disparity between misspelled words & candidate substitution words
US4710758A (en) * 1985-04-26 1987-12-01 Westinghouse Electric Corp. Automatic touch screen calibration method
US4783761A (en) 1985-12-26 1988-11-08 Smith Corona Corporation Spelling check dictionary with early error signal
US4782464A (en) 1985-12-26 1988-11-01 Smith Corona Corporation Compact spelling-check dictionary
US4725694A (en) 1986-05-13 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Computer interface device
US6002799A (en) 1986-07-25 1999-12-14 Ast Research, Inc. Handwritten keyboardless entry computer system
US5109352A (en) * 1988-08-09 1992-04-28 Dell Robert B O System for encoding a collection of ideographic characters
US5187480A (en) * 1988-09-05 1993-02-16 Allan Garnham Symbol definition apparatus
US5224179A (en) * 1988-12-20 1993-06-29 At&T Bell Laboratories Image skeletonization method
CA2006163A1 (en) * 1988-12-21 1990-06-21 Alfred B. Freeman Keyboard express typing system
US5127055A (en) * 1988-12-30 1992-06-30 Kurzweil Applied Intelligence, Inc. Speech recognition apparatus & method having dynamic reference pattern adaptation
JP3143461B2 (ja) * 1990-05-29 2001-03-07 キヤノン株式会社 文字認識方法及び文字認識装置
US5305205A (en) * 1990-10-23 1994-04-19 Weber Maria L Computer-assisted transcription apparatus
US5347295A (en) * 1990-10-31 1994-09-13 Go Corporation Control of a computer through a position-sensed stylus
US5317507A (en) * 1990-11-07 1994-05-31 Gallant Stephen I Method for document retrieval and for word sense disambiguation using neural networks
US5462711A (en) 1990-12-17 1995-10-31 Ricottone; Jacqueline L. Disposable beaker sheath
JP3155577B2 (ja) * 1991-10-16 2001-04-09 キヤノン株式会社 文字認識方法及び装置
US5963671A (en) * 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
US5870492A (en) * 1992-06-04 1999-02-09 Wacom Co., Ltd. Hand-written character entry apparatus
US5880411A (en) * 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
JP3155616B2 (ja) * 1992-06-25 2001-04-16 キヤノン株式会社 文字認識方法及び装置
JP3157304B2 (ja) 1992-09-22 2001-04-16 富士通株式会社 仮想キーボード
US5612690A (en) 1993-06-03 1997-03-18 Levy; David Compact keypad system and method
US5973676A (en) 1993-06-30 1999-10-26 Kabushiki Kaisha Toshiba Input apparatus suitable for portable electronic device
US5586198A (en) 1993-08-24 1996-12-17 Lakritz; David Method and apparatus for identifying characters in ideographic alphabet
US5583946A (en) 1993-09-30 1996-12-10 Apple Computer, Inc. Method and apparatus for recognizing gestures on a computer system
JP3546337B2 (ja) * 1993-12-21 2004-07-28 ゼロックス コーポレイション 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法
US5561446A (en) * 1994-01-28 1996-10-01 Montlick; Terry F. Method and apparatus for wireless remote information retrieval and pen-based data entry
JP3453422B2 (ja) * 1994-02-10 2003-10-06 キヤノン株式会社 文字パターンのユーザ辞書への登録方法及び該ユーザ辞書を有する文字認識装置
US5574482A (en) * 1994-05-17 1996-11-12 Niemeier; Charles J. Method for data input on a touch-sensitive screen
US6008799A (en) 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
US5812697A (en) * 1994-06-10 1998-09-22 Nippon Steel Corporation Method and apparatus for recognizing hand-written characters using a weighting dictionary
JPH10510639A (ja) 1994-07-01 1998-10-13 パーム コンピューティング,インコーポレーテッド マルチペンストローク文字セット及び手書文書認識システム
CN1116335A (zh) 1994-11-02 1996-02-07 北京振中电子集团 一种利用笔写屏技术的汉字输入系统
JPH09507937A (ja) 1994-11-14 1997-08-12 モトローラ・インコーポレーテッド 手書き入力を分割する方法
JP2845149B2 (ja) * 1994-12-28 1999-01-13 日本電気株式会社 手書文字入力装置および手書文字入力方法
US5745719A (en) * 1995-01-19 1998-04-28 Falcon; Fernando D. Commands functions invoked from movement of a control input device
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US6392640B1 (en) * 1995-04-18 2002-05-21 Cognitive Research & Design Corp. Entry of words with thumbwheel by disambiguation
US5798760A (en) * 1995-06-07 1998-08-25 Vayda; Mark Radial graphical menuing system with concentric region menuing
US6496182B1 (en) 1995-06-07 2002-12-17 Microsoft Corporation Method and system for providing touch-sensitive screens for the visually impaired
US6044165A (en) * 1995-06-15 2000-03-28 California Institute Of Technology Apparatus and method for tracking handwriting from visual input
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
US6041137A (en) * 1995-08-25 2000-03-21 Microsoft Corporation Radical definition and dictionary creation for a handwriting recognition system
US6278445B1 (en) * 1995-08-31 2001-08-21 Canon Kabushiki Kaisha Coordinate input device and method having first and second sampling devices which sample input data at staggered intervals
JP3766989B2 (ja) 1995-09-14 2006-04-19 株式会社ニコン 像ぶれ補正機能付きカメラ
JPH0981320A (ja) * 1995-09-20 1997-03-28 Matsushita Electric Ind Co Ltd ペン入力式選択入力装置及びその方法
GB2313939B (en) * 1996-06-03 2000-09-13 Ibm Word processing
US5796867A (en) * 1996-06-12 1998-08-18 Industrial Technology Research Institute Stroke-number-free and stroke-order-free on-line Chinese character recognition method
US5664896A (en) * 1996-08-29 1997-09-09 Blumberg; Marvin R. Speed typing apparatus and method
US5882517A (en) * 1996-09-10 1999-03-16 Cuno Incorporated Porous structures
US5917476A (en) * 1996-09-24 1999-06-29 Czerniecki; George V. Cursor feedback text input method
CN1304988C (zh) 1996-10-16 2007-03-14 夏普公司 字符输入装置
US6275611B1 (en) * 1996-10-17 2001-08-14 Motorola, Inc. Handwriting recognition device, method and alphabet, with strokes grouped into stroke sub-structures
US5926566A (en) 1996-11-15 1999-07-20 Synaptics, Inc. Incremental ideographic character input method
US5952942A (en) * 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
JPH10154144A (ja) * 1996-11-25 1998-06-09 Sony Corp 文章入力装置及び方法
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
US6144378A (en) 1997-02-11 2000-11-07 Microsoft Corporation Symbol entry system and methods
US6111573A (en) 1997-02-14 2000-08-29 Velocity.Com, Inc. Device independent window and view system
US6009444A (en) 1997-02-24 1999-12-28 Motorola, Inc. Text input device and method
US6005495A (en) 1997-02-27 1999-12-21 Ameritech Corporation Method and system for intelligent text entry on a numeric keypad
US6054941A (en) * 1997-05-27 2000-04-25 Motorola, Inc. Apparatus and method for inputting ideographic characters
JP4098880B2 (ja) 1997-06-06 2008-06-11 松下電器産業株式会社 情報検索装置
US6320943B1 (en) 1997-06-12 2001-11-20 Legerity, Inc. Electronic directory system and method
US6144764A (en) 1997-07-02 2000-11-07 Mitsui High-Tec, Inc. Method and apparatus for on-line handwritten input character recognition and recording medium for executing the method
JPH11102414A (ja) 1997-07-25 1999-04-13 Kuraritec Corp ヒートマップを用いて光学式文字認識の訂正を行うための方法および装置、並びに、ocr出力の誤りを発見するための一連の命令を記録したコンピュータ読み取り可能な記録媒体
US6104384A (en) * 1997-09-12 2000-08-15 Ericsson, Inc. Image based keyboard for a small computing device
US6115573A (en) * 1997-10-27 2000-09-05 Minolta Co., Ltd. Image forming apparatus and method using a developing device relating to ink viscosity and/or temperature
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
JP4074431B2 (ja) * 1997-12-16 2008-04-09 マイクロソフト コーポレーション ソフト入力パネルシステムおよび方法
US7257528B1 (en) * 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6104317A (en) * 1998-02-27 2000-08-15 Motorola, Inc. Data entry device and method
US6037942A (en) * 1998-03-10 2000-03-14 Magellan Dis, Inc. Navigation system character input device
JP3218007B2 (ja) 1998-03-20 2001-10-15 富士通株式会社 インデックスの管理装置,更新方法及び管理方法並びにコンピュータ読取可能な記憶媒体
US6448987B1 (en) * 1998-04-03 2002-09-10 Intertainer, Inc. Graphic user interface for a digital content delivery system using circular menus
CN1156741C (zh) 1998-04-16 2004-07-07 国际商业机器公司 手写汉字识别方法及装置
US6157379A (en) * 1998-05-21 2000-12-05 Ericsson Inc. Apparatus and method of formatting a list for display on a touchscreen
JP3481136B2 (ja) 1998-05-29 2003-12-22 シャープ株式会社 文字フォント生成方法およびそのための装置ならびに文字フォント生成プログラムを記録したコンピュータで読取可能な記録媒体
JP3191284B2 (ja) * 1998-06-23 2001-07-23 日本電気株式会社 文字入力装置
US6075469A (en) * 1998-08-11 2000-06-13 Pong; Gim Yee Three stroke Chinese character word processing techniques and apparatus
US6169538B1 (en) * 1998-08-13 2001-01-02 Motorola, Inc. Method and apparatus for implementing a graphical user interface keyboard and a text buffer on electronic devices
SE514377C2 (sv) 1998-08-26 2001-02-19 Gunnar Sparr Teckenigenkänning
AU9060498A (en) * 1998-09-09 2000-03-27 Qi Hao Keyboard and thereof input method
US6741267B1 (en) 1998-10-30 2004-05-25 Smart Technologies, Inc. Keyboard for an electronic writeboard and method
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US6362752B1 (en) * 1998-12-23 2002-03-26 Motorola, Inc. Keypad with strokes assigned to key for ideographic text input
FI110216B (fi) 1998-12-29 2002-12-13 Nokia Corp Menetelmä ja laite syötetyn tekstin muokkaamiseksi
US6801659B1 (en) 1999-01-04 2004-10-05 Zi Technology Corporation Ltd. Text input system for ideographic and nonideographic languages
GB2388938B (en) 1999-02-22 2004-03-17 Nokia Corp A communication terminal having a predictive editor application
GB2347247A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal with predictive editor
GB2347240A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal having a predictive editor application
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US6765567B1 (en) * 1999-04-06 2004-07-20 Microsoft Corporation Method and apparatus for providing and accessing hidden tool spaces
US6549219B2 (en) * 1999-04-09 2003-04-15 International Business Machines Corporation Pie menu graphical user interface
US6204848B1 (en) * 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
US20030006956A1 (en) 1999-05-24 2003-01-09 Charles Yimin Wu Data entry device recording input in two dimensions
JP4392089B2 (ja) 1999-05-27 2009-12-24 株式会社デンソー ニューロン、当該ニューロンを用いて構成された階層型ニューラルネットワーク及び当該ニューロン内部での乗算処理に用いられる乗算回路
US6970599B2 (en) 2002-07-25 2005-11-29 America Online, Inc. Chinese character handwriting recognition system
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6172625B1 (en) * 1999-07-06 2001-01-09 Motorola, Inc. Disambiguation method and apparatus, and dictionary data compression techniques
FI112978B (fi) 1999-09-17 2004-02-13 Nokia Corp Symbolien syöttö
CN1320492C (zh) * 1999-10-27 2007-06-06 菲罗兹·加萨比安 内容管理和分布方法
US6424743B1 (en) * 1999-11-05 2002-07-23 Motorola, Inc. Graphical handwriting recognition user interface
US6904402B1 (en) * 1999-11-05 2005-06-07 Microsoft Corporation System and iterative method for lexicon, segmentation and language model joint optimization
US7275029B1 (en) 1999-11-05 2007-09-25 Microsoft Corporation System and method for joint optimization of language model performance and size
US7403888B1 (en) 1999-11-05 2008-07-22 Microsoft Corporation Language input user interface
US6654733B1 (en) 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
JP2001282778A (ja) 2000-03-29 2001-10-12 Sony Corp 情報処理装置および方法、並びに記録媒体
US7107204B1 (en) 2000-04-24 2006-09-12 Microsoft Corporation Computer-aided writing system and method with cross-language writing wizard
US6829607B1 (en) 2000-04-24 2004-12-07 Microsoft Corporation System and method for facilitating user input by automatically providing dynamically generated completion information
US20010048425A1 (en) 2000-04-28 2001-12-06 Partridge Gary R. Device or component for alphanumeric and direction input
WO2001088683A1 (en) * 2000-05-18 2001-11-22 Eleksen Ltd Data input device
KR20010107388A (ko) 2000-05-27 2001-12-07 강원희 사용 선호도와 입력문자에 근거한 휴대용 전자기기의단어입력방법
GB2364493B (en) 2000-06-30 2004-11-10 Nokia Mobile Phones Ltd Improved data input
KR100361311B1 (ko) 2000-07-05 2002-11-18 이창주 문자 입력 키보드
TW498264B (en) 2000-07-14 2002-08-11 Inventec Corp Input correction method and system for Chinese characters
US7177797B1 (en) * 2000-08-31 2007-02-13 Semantic Compaction Systems Linguistic retrieval system and method
US6686852B1 (en) * 2000-09-15 2004-02-03 Motorola, Inc. Keypad layout for alphabetic character input
CN1121004C (zh) * 2000-12-21 2003-09-10 国际商业机器公司 用于小键盘的汉字输入方法
SE521911C2 (sv) * 2001-01-15 2003-12-16 Decuma Ab Ideon Res Park Metod, anordning och datorprogram för igenkänning av ett handskrivet tecken
GB0103053D0 (en) 2001-02-07 2001-03-21 Nokia Mobile Phones Ltd A communication terminal having a predictive text editor application
US20030234766A1 (en) 2001-02-15 2003-12-25 Hildebrand Alfred P. Virtual image display with virtual keyboard
US7076738B2 (en) 2001-03-02 2006-07-11 Semantic Compaction Systems Computer device, method and article of manufacture for utilizing sequenced symbols to enable programmed application and commands
SE519014C2 (sv) 2001-03-07 2002-12-23 Decuma Ab Ideon Res Park Metod och anordning för igenkänning av ett handskrivet mönster
US6982658B2 (en) * 2001-03-22 2006-01-03 Motorola, Inc. Keypad layout for alphabetic symbol input
US6502118B1 (en) 2001-03-22 2002-12-31 Motorola, Inc. Fast system and method for producing a logarithmic signal approximation with variable precision
EP1246048A1 (en) * 2001-03-26 2002-10-02 SAP Aktiengesellschaft Method and computer system for executing functions for objects based on the movement of an input device
GB0111012D0 (en) * 2001-05-04 2001-06-27 Nokia Corp A communication terminal having a predictive text editor application
FR2824979B1 (fr) 2001-05-15 2005-03-11 Sagem Clavier circulaire pour telephone mobile
US20030023426A1 (en) 2001-06-22 2003-01-30 Zi Technology Corporation Ltd. Japanese language entry mechanism for small keypads
US6990534B2 (en) * 2001-07-20 2006-01-24 Flowfinity Wireless, Inc. Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions
US6947771B2 (en) 2001-08-06 2005-09-20 Motorola, Inc. User interface for a portable electronic device
AUPR687701A0 (en) 2001-08-08 2001-08-30 Litster, Gregory John Method of and apparatus for selecting symbols in ideographic languages
US6820075B2 (en) 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
US6757544B2 (en) * 2001-08-15 2004-06-29 Motorola, Inc. System and method for determining a location relevant to a communication device and/or its associated user
US20030054830A1 (en) 2001-09-04 2003-03-20 Zi Corporation Navigation system for mobile communication devices
US20030048257A1 (en) * 2001-09-06 2003-03-13 Nokia Mobile Phones Ltd. Telephone set having a touch pad device
US7149550B2 (en) 2001-11-27 2006-12-12 Nokia Corporation Communication terminal having a text editor application with a word completion feature
US7075520B2 (en) * 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US7949513B2 (en) 2002-01-22 2011-05-24 Zi Corporation Of Canada, Inc. Language module and method for use with text processing devices
US6912581B2 (en) * 2002-02-27 2005-06-28 Motorola, Inc. System and method for concurrent multimodal communication session persistence
US6807529B2 (en) 2002-02-27 2004-10-19 Motorola, Inc. System and method for concurrent multimodal communication
US6864809B2 (en) 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
US7272564B2 (en) 2002-03-22 2007-09-18 Motorola, Inc. Method and apparatus for multimodal communication with user control of delivery modality
WO2003081365A2 (en) * 2002-03-22 2003-10-02 Sony Ericsson Mobile Communications Ab Entering text into an electronic communications device
US6847311B2 (en) 2002-03-28 2005-01-25 Motorola Inc. Method and apparatus for character entry in a wireless communication device
EP1355225A1 (en) 2002-04-15 2003-10-22 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and device for inputting chinese characters on a hand-held electronic device
US7020849B1 (en) 2002-05-31 2006-03-28 Openwave Systems Inc. Dynamic display for communication devices
US7162305B2 (en) * 2002-10-23 2007-01-09 The Hong Kong Polytechnic University Functional electrical stimulation system
US7095403B2 (en) * 2002-12-09 2006-08-22 Motorola, Inc. User interface of a keypad entry system for character input
US20040163032A1 (en) 2002-12-17 2004-08-19 Jin Guo Ambiguity resolution for predictive text entry
US20040153975A1 (en) 2003-02-05 2004-08-05 Williams Roland E. Text entry mechanism for small keypads
US20040153963A1 (en) 2003-02-05 2004-08-05 Simpson Todd G. Information entry mechanism for small keypads
US7256769B2 (en) * 2003-02-24 2007-08-14 Zi Corporation Of Canada, Inc. System and method for text entry on a reduced keyboard
US6955602B2 (en) 2003-05-15 2005-10-18 Zi Technology Corporation Ltd Text entry within a video game
EP1634195A1 (en) 2003-06-18 2006-03-15 ZI Corporation Configurable information identification system and method
WO2004111812A2 (en) 2003-06-18 2004-12-23 Zi Corporation Text entry system and method
US7057607B2 (en) * 2003-06-30 2006-06-06 Motorola, Inc. Application-independent text entry for touch-sensitive display
US7088861B2 (en) * 2003-09-16 2006-08-08 America Online, Inc. System and method for chinese input using a joystick
US7389235B2 (en) * 2003-09-30 2008-06-17 Motorola, Inc. Method and system for unified speech and graphic user interfaces
US6973332B2 (en) 2003-10-24 2005-12-06 Motorola, Inc. Apparatus and method for forming compound words
US8136050B2 (en) 2003-11-21 2012-03-13 Nuance Communications, Inc. Electronic device and user interface and input method therefor
WO2006026908A1 (fr) 2004-08-25 2006-03-16 Dong Li Procede permettant d'introduire dans un terminal portatif des caracteres chinois a l'aide de lettres phonetiques continues
US7890492B2 (en) 2004-11-15 2011-02-15 Zi Corporation Of Canada, Inc. Organizing pointers to objects in an array to improve the speed of object retrieval
US20060129928A1 (en) 2004-12-02 2006-06-15 Weigen Qiu Use of pointing device to identify ideographic characters
JP4876228B2 (ja) 2004-12-07 2012-02-15 ザイ コーポレイション オブ カナダ インコーポレイテッド 増大した検索特性のあるユーザインターフェィス
US20060155536A1 (en) 2004-12-20 2006-07-13 Williams Roland E Method and device for displaying a telephone number
US7466859B2 (en) 2004-12-30 2008-12-16 Motorola, Inc. Candidate list enhancement for predictive text input in electronic devices
KR101145986B1 (ko) 2005-02-28 2012-05-21 지 데쿠마 아베 세그먼트화-기반 인식
WO2006091156A1 (en) 2005-02-28 2006-08-31 Zi Decuma Ab Recognition graph
RU2008125130A (ru) 2005-11-21 2009-12-27 Зи Корпорейшн Оф Канада, Инк. (Ca) Система и способ доставки информации для мобильных устройств
US8018439B2 (en) 2006-03-22 2011-09-13 Zi Corporation Of Canada, Inc. Mobile appliance system and method enabling efficient entry
US8166418B2 (en) 2006-05-26 2012-04-24 Zi Corporation Of Canada, Inc. Device and method of conveying meaning
EP2097853A4 (en) 2006-12-01 2011-06-29 Zi Decuma Ab METHOD FOR RECOGNIZING CHARACTERS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
WO1997005541A1 (en) * 1995-07-26 1997-02-13 King Martin T Reduced keyboard disambiguating system
JPH10275046A (ja) * 1997-03-31 1998-10-13 Toshiba Corp 単語入力装置及び方法
WO1999015952A2 (en) * 1997-09-25 1999-04-01 Tegic Communications, Inc. Reduced keyboard disambiguating system
KR20020010151A (ko) * 1999-05-27 2002-02-02 아메리카 온라인, 인코포레이티드 자동 교정 기능을 갖는 키보드 시스템

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100958309B1 (ko) * 2008-10-17 2010-05-19 주식회사 네오모빌 문자입력장치
US11762989B2 (en) 2015-06-05 2023-09-19 Bottomline Technologies Inc. Securing electronic data by automatically destroying misdirected transmissions
US11496490B2 (en) 2015-12-04 2022-11-08 Bottomline Technologies, Inc. Notification of a security breach on a mobile device
US10824809B2 (en) 2016-06-03 2020-11-03 Bottomline Technologies (De), Inc. Method for identifying non-exactly matching text
US11163955B2 (en) 2016-06-03 2021-11-02 Bottomline Technologies, Inc. Identifying non-exactly matching text
US11609971B2 (en) 2019-03-18 2023-03-21 Bottomline Technologies, Inc. Machine learning engine using a distributed predictive analytics data set
US11853400B2 (en) 2019-03-18 2023-12-26 Bottomline Technologies, Inc. Distributed machine learning engine
US11416713B1 (en) 2019-03-18 2022-08-16 Bottomline Technologies, Inc. Distributed predictive analytics data set
US11238053B2 (en) 2019-06-28 2022-02-01 Bottomline Technologies, Inc. Two step algorithm for non-exact matching of large datasets
US11269841B1 (en) 2019-10-17 2022-03-08 Bottomline Technologies, Inc. Method and apparatus for non-exact matching of addresses
US11763278B2 (en) 2020-03-13 2023-09-19 Bottomline Technologies, Inc. Deposit token service system, apparatus and method
US11449870B2 (en) 2020-08-05 2022-09-20 Bottomline Technologies Ltd. Fraud detection rule optimization
US11544798B1 (en) 2021-08-27 2023-01-03 Bottomline Technologies, Inc. Interactive animated user interface of a step-wise visual path of circles across a line for invoice management
US11694276B1 (en) 2021-08-27 2023-07-04 Bottomline Technologies, Inc. Process for automatically matching datasets
US11954688B2 (en) 2022-09-08 2024-04-09 Bottomline Technologies Ltd Apparatus for fraud detection rule optimization

Also Published As

Publication number Publication date
JP4519381B2 (ja) 2010-08-04
NZ519928A (en) 2004-07-30
US20050174333A1 (en) 2005-08-11
CA2392446A1 (en) 2000-12-07
DE60043008D1 (de) 2009-11-05
CN1655107A (zh) 2005-08-17
AU5299700A (en) 2000-12-18
JP2003501711A (ja) 2003-01-14
HK1046786A1 (zh) 2003-01-24
ATE443946T1 (de) 2009-10-15
US20040155869A1 (en) 2004-08-12
EP1192716A1 (en) 2002-04-03
US7088345B2 (en) 2006-08-08
US7880730B2 (en) 2011-02-01
US20080100579A1 (en) 2008-05-01
EP1192716A4 (en) 2005-03-09
EP1192716B1 (en) 2009-09-23
CA2392446C (en) 2009-07-14
US7277088B2 (en) 2007-10-02
WO2000074240A1 (en) 2000-12-07
US6801190B1 (en) 2004-10-05
KR20020010151A (ko) 2002-02-02

Similar Documents

Publication Publication Date Title
KR100723738B1 (ko) 자동 교정 기능을 갖는 키보드 시스템
US9557916B2 (en) Keyboard system with automatic correction
US7920132B2 (en) Virtual keyboard system with automatic correction
CA2278549C (en) Reduced keyboard disambiguating system
CN103299550A (zh) 用于具有自动校正的键盘系统的拼写检查
ZA200105395B (en) Speed typing apparatus and method.
EP2264563A1 (en) Virtual keyboard system with automatic correction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130502

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140508

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee