KR100723738B1 - 자동 교정 기능을 갖는 키보드 시스템 - Google Patents
자동 교정 기능을 갖는 키보드 시스템 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0219—Special purpose keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0238—Programmable keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
Abstract
단어-레벨 분석을 이용하여 축소형 키보드 상의 사용자 키스트로크 입력에서 부정확성을 자동적으로 교정하는 개선된 텍스트 입력 시스템이 개시된다. 키보드(105)는 접촉-감지 패널 또는 디스플레이 스크린(100)의 일부 또는 기계적 키보드 시스템 일 수 있다. 지정된 자동-교정 키보드 영역(106) 내에서 검출된 입력의 각 시퀀스의 하나 이상의 대체 텍스트 해석을 결정하는 방법 및 시스템이 정의된다. 키스트로크에 대한 실제의 접촉 위치는 특정 키보드 키 영역의 경계 외부에서 발생할 수 있는데, 여기서 각 접촉 위치에서 각각의 대응하는 의도하는 문자까지의 거리는 일반적으로 언어 또는 특정 콘텍스트에서 의도하는 단어의 예상되는 빈도에 따라 증가할 수 있다. 사용자는 발생된 해석중에서 의도하는 단어를 용이하게 선택할 수 있다.
단어-레벨, 키보드, 키스트로크, 텍스트 입력 시스템, 접촉-감지 패널,디스플레이 스크린, 기계적 키보드 시스템, 자동-교정 키보드 영역, 시퀀스, 텍스트 해석
Description
본 발명은 키보드 또는 스크린 터치시 에러로 인한 "슬로피(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) 및 는 또한 기계적인 키보드 또는 접촉-감지 디스플레이 스크린 상에 구현되는 키보드의 문자 위치에서 명시적으로 레이블된 키로서 나타나는 액센트되지 않은 문자 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"의 "매크로" 표현으로서 연관된다. 유사하게, 단어 선택 리스트는 세번째 가망성있는 선택으로서 ""(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)
- 텍스트 입력 시스템에 있어서,(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)를 구비하는 텍스트 입력 시스템.
- 제1항에 있어서,각각의 발생된 입력 시퀀스에 대해, 상기 단어 평가 구성요소는 메모리 내의 하나 또는 복수의 후보 오브젝트 그룹을 식별함으로써 정합 매트릭이 계산되는 오브젝트의 수를 제한하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 그룹의 각각과 연관된 하나 또는 복수의 오브젝트에 대해, 상기 계산된 거리 값 및 각각의 후보 오브젝트와 연관된 사용 빈도에 기초하여 정합 매트릭을 계산하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 알파벳의 문자들은 표준 "QWERTY" 배치로 상기 자동-교정 키보드 영역 상에 정렬되는 텍스트 입력 시스템.
- 제3항에 있어서, 상기 자동-교정 키보드 영역의 폭 대 높이 비는 2:1인 텍스트 입력 시스템.
- 제3항에 있어서, 상기 자동-교정 키보드 영역의 폭 대 높이 비는 2:1 미만인 텍스트 입력 시스템.
- 제3항에 있어서, 상기 자동-교정 키보드 영역 상에 정렬된 하나 또는 복수의 상기 문자들은 읽기 어려운(illegible) 텍스트 입력 시스템.
- 제1항에 있어서, 상기 자동-교정 키보드 영역은 하나 또는 복수의 구두점 문자와 연관된 하나 또는 복수의 공지된 위치를 포함하고, 상기 메모리는 상기 자동-교정 키보드 영역의 위치들과 연관된 하나 또는 복수의 상기 구두점 문자를 갖는 하나 또는 복수의 오브젝트를 메모리 내에 포함하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 메모리 내의 오브젝트는 하나 또는 복수의 모듈과 추가로 연관되고, 각각의 모듈은 하나 또는 복수의 공통 문자를 갖는 오브젝트 세트를 구비하는 텍스트 입력 시스템.
- 제8항에 있어서, 상기 텍스트 입력 시스템은 후보 오브젝트를 식별하기 위해 상기 단어 평가 구성요소에 의해 어느 모듈이 평가될 것인지를 사용자가 결정할 수 있게 하는 모듈 선택기를 더 구비하는 텍스트 입력 시스템.
- 제8항에 있어서, 상기 복수의 모듈은, 단어 어간 모듈(word stem module) 및 접미사 모듈(suffix module)을 포함하며, 각각의 단어 어간 모듈은 어미 변화되지 않은(uninflected) 단어 어간 오브젝트의 논리적 구성을 포함하고, 각각의 접미사 모듈은 단어 어간에 첨부되어 어미 변화된(inflected) 단어를 형성할 수 있는 접미사의 논리적 구성을 구비하여, 이로 인해, 각각의 단어 어간 모듈은 하나 또는 복수의 접미사 모듈과 연관되고, 상기 단어 평가 구성요소가 입력 시퀀스 내의 초기 접촉 시퀀스에 대해 소정의 단어 어간 모듈에 소정의 단어 어간에 대한 정합 매트릭 값을 계산하여 계산된 정합 매트릭 값이 선정된 임계치보다 높은 순위에 있을 때마다, 상기 단어 평가 구성요소는 상기 연관된 접미사 모듈에 대해 상기 입력 시퀀스의 나머지 접촉을 평가하고, 상기 단어 평가 구성요소가 선정된 제2 임계치 보다 높은 순위에 있는 상기 연관된 접미사 모듈중의 하나에 소정의 접미사에 대한 정합 매트릭 값을 계산할 때마다, 상기 접미사는 상기 단어 어간에 첨부되어 상기 결정된 단어 어간 정합 매트릭 값과 상기 결정된 접미사 정합 매트릭 값의 함수인 정합 매트릭 값에 대응하는 완료된 단어를 형성하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 각각의 접촉 위치에서 상기 후보 오브젝트의 대응하는 위치에 있는 상기 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 상기 오브젝트에 연관된 사용 빈도에 따라 가중 함수(weighting function)를 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하는 텍스트 입력 시스템.
- 제11항에 있어서, 상기 자동-교정 키보드 영역과 연관된 상기 알파벳의 각 문자에는 데카르트 좌표(Cartesian coordinate)가 지정되고, 상기 거리 값 계산 구성요소는 상기 접촉 위치와 표준 데카르트 좌표 거리 분석에 따라 문자에 대응하는 위치 간의 거리를 계산하는 텍스트 입력 시스템.
- 제11항에 있어서, 상기 자동-교정 키보드 영역과 연관된 상기 알파벳의 각 문자에는 데카르트 좌표가 지정되고, 상기 거리 값 계산 구성요소는 상기 접촉 위치와 표준 데카르트 좌표 거리의 제곱으로서 문자에 대응하는 위치 간의 거리를 계산하는 텍스트 입력 시스템.
- 제11항에 있어서, 상기 거리 값들은 테이블에 놓이는 텍스트 입력 시스템.
- 제11항에 있어서, 상기 자동-교정 키보드 영역 상의 각 위치는 수평 및 수직 좌표에 의해 한정되고, 접촉 위치와 문자에 대응하는 상기 공지된 좌표 위치 간의 거리는 수평 및 수직 성분을 포함하며, 상기 수직 성분이 상기 문자로부터의 상기 접촉 위치의 거리를 계산하는데 있어서 가중 인수에 의해 조정되는 텍스트 입력 시스템.
- 제11항에 있어서, 상기 메모리 내의 각 후보 오브젝트와 연관된 사용 빈도는 메모리 내의 다른 오브젝트에 대한 상기 오브젝트의 오디날 순위(ordinal ranking)를 포함하고, 보다 상위의 상대 빈도와 연관된 오브젝트는 수치적으로 하위의 오디날 순위에 대응하는 텍스트 입력 시스템.
- 제16항에 있어서, 상기 단어 평가 구성요소에 의해 후보 오브젝트에 대한 상기 합산된 거리값에 적용되는 상기 빈도 가중 함수는 상기 오브젝트의 오디날 순위의 베이스 2 대수(base 2 logarithm)를 상기 거리 값의 합계에 곱하는 것을 포함하는 텍스트 입력 시스템.
- 제11항에 있어서, 상기 단어 평가 구성요소는 상기 후보 오브젝트와 연관된 사용 빈도에 따라 가중 함수를 적용하기 전에 상기 거리 값의 합계에 증가 값(increment value)을 더하는 텍스트 입력 시스템.
- 제18항에 있어서, 상기 증가 값은 문자들에 대응하는 상기 자동-교정 키보드 영역 상의 인접하는 위치 간의 평균 거리의 두배인 고정 값(fixed value)인 텍스트 입력 시스템.
- 제2항에 있어서, 메모리 내의 오브젝트들은 오브젝트들이 동일한 길이의 오브젝트로 구성된 그룹으로 분류되도록 저장되는 텍스트 입력 시스템.
- 제20항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 입력의 수와 동일한 길이의 오브젝트의 후보 그룹을 초기에 식별함으로써 정합 매트릭이 계산되도록 오브젝트의 수를 제한하는 텍스트 입력 시스템.
- 제21항에 있어서, 만일 임계 수 이하의 후보 오브젝트들이 임계값보다 나은 정합 매트릭 점수를 갖는 것으로 평가되면, 단어 평가 구성요소는 점차적으로 보다 긴 단어의 오브젝트의 후보 그룹을 식별하고, 상기 임계 수의 후보 오브젝트들이 상기 임계값보다 나은 정합 매트릭 점수를 갖는 것으로 평가될 때까지 상기 식별된 그룹의 오브젝트에 대한 상기 정합 매트릭을 계산하는 텍스트 입력 시스템.
- 제22항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 각각의 접촉 위치로부터 상기 후보 오브젝트의 대응하는 위치의 상기 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 증가 값을 더하고, 상기 오브젝트와 연관된 사용 빈도에 따라 상기 합계를 가중 함수에 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하며, 상기 거리 값의 합계에 더해진 상기 증가 값은 상기 후보 오브젝트 내의 문자의 수 및 상기 현재 입력 시퀀스 내의 입력의 수 간의 차이에 기초한 값인 텍스트 입력 시스템.
- 제2항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 각각의 접촉 위치로부터 상기 후보 오브젝트의 대응하는 위치의 상기 문자에 지정된 위치까지 계산된 거리 값을 합산하고, 상기 오브젝트와 연관된 사용 빈도에 따라 가중 함수에 적용함으로써 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하는 텍스트 입력 시스템.
- 제24항에 있어서, 상기 메모리 내의 각각의 후보 오브젝트에 연관된 사용 빈도는, 상기 오브젝트가 연관되어 있는 메모리 내의 하나 또는 복수의 서브-그룹에서 다른 오브젝트에 대한 상기 오브젝트의 오디날 순위를 포함하고, 상위의 상대 빈도와 연관된 오브젝트가 수치적으로 하위의 오디날 순위에 대응하는 텍스트 입력 시스템.
- 제24항에 있어서, 상기 입력 시퀀스 내의 접촉 위치 및 상기 자동-교정 키보드 영역 내의 문자에 대응하는 공지된 좌표 위치 간의 각각의 계산된 거리 값에 대해, 상기 계산된 거리는 임계 거리 값을 초과하고, 상기 문자가 상기 입력 시퀀스의 상기 접촉 위치의 위치에 대응하는 상기 오브젝트의 문자들의 시퀀스 내 위치에서 발생하는 메모리 내의 각 오브젝트에 대해, 상기 오브젝트는 선택을 위해 사용자에게 제시하는 것이 배제된 오브젝트로서 상기 단어 평가 구성요소에 의해 순위가 매겨지는 텍스트 입력 시스템.
- 제26항에 있어서, 메모리 내의 상기 오브젝트의 상기 하나 또는 복수의 식별된 후보 그룹은 선택을 위해 사용자에게 제시되는 것이 배제된 오브젝트를 포함하고, 상기 오브젝트의 하나 또는 복수의 식별된 후보 그룹들에서 각 오브젝트에 대한 계산된 거리 값의 합계에 포함된 상기 계산된 거리 값 중의 적어도 하나는 임계 거리 값을 초과하는 텍스트 입력 시스템.
- 제27항에 있어서, 상기 자동-교정 키보드 영역은 각각 하나 또는 복수의 문자의 공지된 위치를 포함하는 두개 이상의 선정된 클러스터링 영역(clustering regions)으로 구분되고, 메모리 내의 각각의 오브젝트는 상기 오브젝트의 하나 또는 복수의 처음의 문자에 대응하는 상기 공지된 위치를 포함하는 상기 두개 이상의 선정된 클러스터링 영역들 중 어느 영역에 따라 선정된 그룹에 지정되는 텍스트 입력 시스템.
- 제28항에 있어서, 상기 자동-교정 키보드 영역은 세개의 선정된 클러스터링 영역으로 구분되고, 메모리 내의 각각의 오브젝트는, 상기 오브젝트의 처음 두개의 문자 각각에 대응하는 공지된 위치를 포함하는 상기 세개의 선정된 클러스터링 영역 중의 어느 영역에 기초하여 9개의 선정된 그룹 중의 하나에 지정되는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 자동-교정 키보드 영역 내의 공지된 위치에 대응하는 각각의 문자에 대해, 영역이 하나 또는 복수의 상기 공지된 위치 주변에 선정되고,상기 선정된 영역 내에 포함되는 입력 접촉 위치와 상기 선정된 영역 내의 상기 공지된 문자 위치 간의 거리가 제로의 거리로서 계산되는 텍스트 입력 시스템.
- 제30항에 있어서, 상기 선정된 영역의 상대적 크기는 상기 선정된 영역 내의 상기 공지된 위치와 연관된 문자의 상대적 발생 빈도에 대응하는 텍스트 입력 시스템.
- 제30항에 있어서, 문자의 상기 공지된 위치 주변의 상기 선정된 영역은 터치 스크린 상의 디스플레이된 키에 대응하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 자동-교정 키보드 영역 내의 공지된 좌표를 갖는 위치들중의 적어도 하나는 복수의 문자들에 대응하고, 하나 또는 복수의 문자들이 다양한 구별 표시(diacritic marks)를 포함하며, 상기 복수의 문자들은 단일 어간(base) 문자의 변형 형태를 구비하며, 메모리 내의 오브젝트는 그 올바른 액센트된 문자(correct accented character)와 함께 저장되는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 선택 구성요소는 상기 텍스트 디스플레이 영역 내의 후보 오브젝트 리스트에서 사용자에 의한 선택을 위해 상기 식별된 하나 또는 복수의 후보 오브젝트를 제시하는 텍스트 입력 시스템.
- 제34항에 있어서, 상기 선택 구성요소는 가장 높은 순위의 후보 오브젝트를 식별하여 상기 자동-교정 키보드 영역에 가장 가까운 위치의 후보 오브젝트 리스트 내에 상기 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 자동-교정 키보드 영역 외부의 접촉과 연관된 문자의 사용자 선택은 텍스트 디스플레이 영역의 텍스트 삽입점에서 상기 선택된 문자를 출력하기 전에 상기 텍스트 디스플레이 영역의 텍스트 삽입점(text insertion point)에서 결정된 가장 높은 순위의 후보 오브젝트를 수락하고 출력하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 텍스트 디스플레이 영역의 텍스트 삽입점에서 출력하기 위한 오브젝트의 사용자 선택은 자동-교정 키보드 영역 내의 다음 접촉이 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료시키는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 단어 평가 구성요소는, 접촉 위치의 각 입력 시퀀스에 서 각각의 결정된 접촉 위치에 대해, 문자에 대응하는 가장 가까운 공지된 위치를 결정하고, 접촉 위치의 입력 시퀀스에 대응하는 순서로 상기 결정된 대응하는 문자로 구성된 정확한 타이핑 오브젝트(exact typing object)를 구성하는 텍스트 입력 시스템.
- 제38항에 있어서, 접촉 위치의 각 입력 시퀀스에 대해, 상기 선택 구성요소는 선택을 위해 사용자에게 상기 정확한 타이핑 오브젝트를 제시하는 텍스트 입력 시스템.
- 제39항에 있어서, 상기 사용자가 상기 출력 장치 상의 상기 텍스트 디스플레이 영역에 출력하기 위해 상기 정확한 타이핑 오브젝트를 선택하고, 상기 정확한 타이핑 오브젝트가 메모리 내에 상기 오브젝트중의 하나로서 이미 포함되어 있지 않을 때, 상기 정확한 타이핑 오브젝트는 메모리에 부가되는 텍스트 입력 시스템.
- 제39항에 있어서, 선택을 위해 상기 사용자에 상기 정확한 타이핑 오브젝트를 디스플레이하기 전에, 상기 선택 구성요소는 각각이 디스플레이를 위해 수락가능한 대체 오브젝트와 연관된 공격적인(offensive) 오브젝트의 데이터베이스에 상기 정확한 타이핑 오브젝트를 비교하고, 정합이 발견되면, 상기 정확한 타이핑 오브젝트를 사용자에게 제시하기 위해 상기 연관된 수락가능한 오브젝트와 교체하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 선택 구성요소는 가장 높은 순위의 후보 오브젝트를 식별하고, 상기 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입점에서 상기 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
- 제42항에 있어서, 상기 텍스트 입력 시스템은 오브젝트 선택 기능과 연관된 선택 키 영역을 포함하며, 상기 선택 키 영역이 접촉될 때, 상기 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입점에 제시된 상기 오브젝트가 상기 식별된 하나 또는 복수의 후보 오브젝트의 다음의 가장 높은 순위의 오브젝트로 교체되는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 텍스트 입력 시스템은 삭제 기능와 연관된 삭제 키 영역을 포함하며, 상기 현재의 입력 시퀀스가 적어도 하나의 접촉점을 포함하고 상기 삭제 키 영역이 접촉되면, 상기 현재의 입력 시퀀스를 종료하지 않고, 상기 접촉점의 현재 입력 시퀀스로부터 마지막 입력 접촉점이 삭제되는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 텍스트 입력 시스템은 상기 편집 단어 기능(Edit Word function)과 연관된 편집 단어 키 영역을 포함하고, 어떠한 현재의 입력 시퀀스도 존재하지 않고 상기 편집 단어 키 영역이 접촉되면,상기 출력 장치 상의 텍스트 디스플레이 영역의 텍스트 삽입점이 이전에 출력된 단어 내에 포함되면, 시스템은 상기 단어의 문자와 연관된 좌표 위치에 대응하는 접촉 위치의 시퀀스로 구성된 새로운 현재의 입력 시퀀스를 수립하고,상기 출력 장치 상의 텍스트 디스플레이 영역의 텍스트 삽입점이 이전에 출력된 두개의 단어 사이에 놓이면, 시스템은 상기 텍스트 삽입점에 인접하는 단어의 문자와 연관된 좌표 위치에 대응하는 접촉 위치의 시퀀스로 구성된 새로운 현재의 입력 시퀀스를 수립하고,상기 텍스트 입력 시스템은 상기 새로운 현재 입력 시퀀스를 처리하고 새로운 후보 오브젝트의 대응하는 순위를 판정하고,상기 새로운 후보 오브젝트 중의 하나의 선택은 상기 새로운 현재의 입력 시퀀스를 수립하는데 사용된 이전에 출력된 단어를 교체하는 텍스트 입력 시스템.
- 제1항에 있어서, 사용자가 상기 자동-교정 키보드 영역 내의 접촉 행위의 시퀀스를 수행함으로써 입력 시퀀스가 입력됨에 따라, 상기 프로세서는(1) 상기 사용자 접촉 행위에 의해 추적된 경로를 따라 두개 이상의 규칙적으로 이격된 정해진 수의 접촉점들의 인덱스된 주 세트로서 상기 시퀀스 내의 각 접촉 행위를 기록함으로써, 그리고(2) (a) 상기 두개 이상의 가능한 주 인덱스 값의 각각에 대해, 각각의 기록되어 인덱스된 접촉점의 주 세트로부터 취한 접촉점의 시퀀스인, 동일한 인덱스 값을 갖는 접촉점의 시퀀스를 취함으로서 두개 이상의 대응하는 접촉점의 보조 세트를 조립함으로써, 그리고(b) 출력을 위해 사용자에 의해 선택되는 각 단어에 대해, 상기 조립된 접촉점의 보조 세트와 상기 선택된 단어의 문자들에 대응하는 공지된 위치 간의 계산된 거리가 최소화되는 상기 조립된 접촉점의 보조 세트를 식별하는 최소화 주 인덱스 값을 결정함으로써 각각의 사용자 접촉 행위와 연관된 위치를 판정하며,이로 인해, 사용자 접촉 행위의 다음 입력 시퀀스에 대해, 거리값 계산 구성요소는 상기 결정된 최소화 주 인덱스 값에 대응하여 상기 접촉 행위의 다음 입력 시퀀스로부터 조립된 접촉점 위치의 보조 세트로서 결정된 접촉 위치의 시퀀스에 기초하여 거리 값들을 계산하는 텍스트 입력 시스템.
- 제46항에 있어서, 복수의 사용자 입력 시퀀스에 대해, 상기 거리 값 계산 구성요소는 상기 두개 이상의 주 인덱스 값에 대응하는 상기 두개 이상의 조립된 보조 세트의 각각에 대한 거리 계산의 실행 평균(running average)을 계산하고, 이로 인해, 접촉 행위의 다음 입력 시퀀스에 대해, 상기 거리 값 계산 구성요소는 상기 계산된 실행 평균과 관련하여 결정된 상기 최소화 주 인덱스 값에 대응하는 접촉 행위의 상기 다음 입력 시퀀스로부터 조립된 접촉점 위치 보조 세트로서 결정된 접촉 위치의 시퀀스에 기초하여 거리 값들을 계산하는 텍스트 입력 시스템.
- 제47항에 있어서, 각각의 주 인덱스 값에 대해, 상기 거리 값 계산 구성요소는 각각의 대응하는 기록되어 인덱스된 접촉점의 좌표 위치와 관련하여 각각의 선택된 단어의 각 문자에 대응하는 상기 좌표 위치의 오프셋의 수평 및 수직 성분의 실행 평균을 계산하고, 상기 단어 평가 구성요소에 대한 거리 계산을 수행하는데 있어서, 상기 거리 값 계산 구성요소는 상기 대응하는 주 인덱스 값에 대하여 계산된 평균 수평 및 수직 오프셋의 함수인 크기만큼 각각의 기록되어 인덱스된 접촉점의 수평 및 수직 좌표를 조정하는 텍스트 입력 시스템.
- 제1항에 있어서, 각각의 입력 접촉 위치에 대해, 상기 거리 값 계산 구성요소는 각각의 대응하는 입력 접촉 위치의 좌표에 대해 각각의 선택된 단어의 각 문자에 대응하는 상기 좌표 위치의 오프셋의 수평 및 수직 성분의 실행 평균을 계산하고, 상기 단어 평가 구성요소에 대한 거리 계산을 수행하는데 있어서, 상기 거리 값 계산 구성요소는 상기 계산된 평균 부호화 수평 및 수직 오프셋의 함수인 크기만큼 각각의 입력 접촉 위치의 수평 및 수직 좌표를 조정하는 텍스트 입력 시스템.
- 제2항에 있어서, 상기 프로세서는 상기 오브젝트가 상기 출력 장치 상의 상기 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용 빈도를 조정하기 위한 빈도 승진 구성요소(frequency promotion component)를 더 포함하는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 입력 시퀀스에서 접촉 위치의 임계치 수가 소정의 후보 오브젝트를 구성하는 문자들의 시퀀스에서 상기 대응하는 문자로부터 임계 최대 거리 이상이면, 상기 오브젝트는 더 이상 상기 선택 구성요소에 대한 후보 오브젝트가 아닌 것으로 식별되는 텍스트 입력 시스템.
- 제1항에 있어서, 메모리 내의 각각의 오브젝트와 연관된 사용 빈도는 메모리 내의 다른 오브젝트에 대한 상기 오브젝트의 오디날 순위를 포함하고, 보다 상위의 상대 빈도와 연관된 오브젝트는 수치적으로 하위의 오디날 순위에 대응하고, 오브젝트가 사용자에 의해 출력하기 위해 선택될 때, 상기 빈도 승진 구성요소는 상기 조정 이전에 상기 오브젝트의 오디날 순위의 함수인 크기만큼 상기 선택된 오브젝트와 연관된 오디날 순위를 조정하는 텍스트 입력 시스템.
- 제52항에 있어서, 선택된 오브젝트에 연관된 상기 오디날 순위를 조정하는 크기를 결정하기 위해 상기 빈도 승진 구성요소에 의해 사용된 상기 함수는 상대적으로 높은 사용 빈도와 연관된 오디날 순위를 갖는 오브젝트에 대해 상기 크기를 감소시키는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 빈도 승진 구성요소는 상기 텍스트 입력 시스템에 액세스가능한 추가적인 정보 파일을 분석하여 상기 텍스트 입력 시스템의 상기 메모리에 이미 존재하는 상기 오브젝트중에 포함되지 않은 상기 파일에 포함된 새로운 오브젝트를 식별하고, 상기 새로이 식별된 오브젝트들은 낮은 사용 빈도와 연관된 오브젝트로서 메모리 내의 오브젝트에 부가되는 텍스트 입력 시스템.
- 제54항에 있어서, 메모리 내의 오브젝트에 부가된 새로이 식별된 오브젝트와 연관된 사용 빈도는 상기 새로이 식별된 오브젝트가 상기 추가적인 정보 파일의 분석 동안 검출된 횟수의 함수로서 상기 빈도 승진 구성요소에 의해 조정되는 텍스트 입력 시스템.
- 제1항에 있어서, 상기 출력 장치 상의 상기 텍스트 디스플레이 영역으로 출력하기 위해 상기 사용자에 의해 오브젝트가 선택되면, 상기 빈도 승진 구성요소는 비교적 큰 증가로 상기 선택된 오브젝트와 연관된 빈도의 값을 증가시키고, 상기 선택된 오브젝트와 동일한 그룹과 연관된 선택되지 않은 오브젝트와 연관된 빈도를 비교적 작은 감소만큼 감소시키는 텍스트 입력 시스템.
- 제1항에 있어서, 하나 또는 복수의 오브젝트의 대문자화(capitalization)에 관한 정보는 메모리 내의 상기 오브젝트와 함께 저장되고, 상기 선택 구성요소는 상기 저장된 대문자화 정보에 따라 바람직한 대문자 형태로 각각의 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
- 제1항에 있어서, 메모리 내의 하나 또는 복수의 오브젝트들은 하나 또는 복수의 글자 또는 기호의 시퀀스를 포함하는 메모리 내의 제2위의 오브젝트와 연관되어 있고, 상기 선택 구성요소가 상기 단어 평가 구성요소에 의해 계산된 정합 매트릭에 기초하여 상기 사용자에게 제시하기 위해 상기 오브젝트중의 하나를 식별할 때, 상기 선택 구성요소는 선택을 위해 상기 연관된 제2위의 오브젝트를 제시하는 텍스트 입력 시스템.
- 텍스트 입력 시스템에 있어서,(a) 각각의 키가 알파벳의 문자에 대응하고 각각 공지된 좌표 위치에 놓인 복수의 키를 구비하는 자동-교정 키보드 영역(auto-correcting keyboard region)을 갖는 기계적 키로 구성된 키보드를 구비한 사용자 입력 장치로서, 사용자가 키 활성화 이벤트를 발생시키기 위해 선정된 임계 시간 주기 내에 상기 자동-교정 키보드 영역의 하나 또는 복수의 인접하는 키들을 활성화시킬 때마다, 상기 키 활성화 이벤트에 대응하는 선정된 위치가 상기 키 활성화 이벤트의 정해진 위치의 현재 입력 시퀀스에 첨부되는, 상기 사용자 입력 장치;(b) 그 자신 내에 복수의 오브젝트 각각이 하나 또는 복수의 미리 정의된 그룹들의 오브젝트와 추가로 연관된, 복수의 오브젝트를 갖는 메모리로서, 각각의 오브젝트가 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링이고, 사용 빈도와 추가로 연관되는 메모리;(c) 텍스트 디스플레이 영역을 갖는 출력 장치; 및(d) 상기 사용자 입력 장치, 메모리, 및 출력 장치에 결합된 프로세서를 구비하며, 상기 프로세서는,(i) 키 활성화 이벤트의 상기 입력 시퀀스 내의 각각의 발생된 키 활성화 이벤트 위치에 대해, 상기 키 활성화 이벤트 위치와 상기 자동-교정 키보드 영역 내의 하나 또는 복수의 키에 대응하는 상기 공지된 좌표 위치 간의 거리 값의 세트를 계산하는 거리 값 계산 구성요소,(ii) 각각의 발생된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 후보 오브젝트를 식별하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 각각에 대해, 상기 계산된 거리 값 및 상기 오브젝트에 연관된 사용 빈도에 기초하여 정합 매트릭(matching metric)을 계산함으로써 각각의 식별된 후보 오브젝트를 평가하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 단어 평가 구성요소, 및(iii) 상기 평가된 순위에 따라 하나 또는 복수의 후보 오브젝트를 식별하고, 상기 식별된 오브젝트를 사용자에게 제시하고, 사용자로 하여금 상기 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 상기 제시된 오브젝트중의 하나를 선택하게 하는 선택 구성요소(iv) 오브젝트가 출력 장치 상의 텍스트 디스플레이 영역으로 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 증가시키고 사용자에 의해 선택되지 않은 횟수의 함수로서 메모리 내의 각 오브젝트와 연관된 사용빈도를 감소시키는 빈도 승진 구성요소(frequency promotion component)를 구비하는 텍스트 입력 시스템.
- 제59항에 있어서,각각의 발생된 입력 시퀀스에 대해, 상기 단어 평가 구성요소는, 메모리 내의 하나 또는 복수의 후보 오브젝트 그룹을 식별함으로써 정합 매트릭이 계산되는 오브젝트의 수를 제한하고, 상기 하나 또는 복수의 식별된 후보 오브젝트 그룹의 각각과 연관된 하나 또는 복수의 오브젝트에 대해, 상기 계산된 거리 값 및 각각의 후보 오브젝트와 연관된 사용 빈도에 기초하여 정합 매트릭을 계산하고, 상기 계산된 정합 매트릭 값에 기초하여 상기 평가된 후보 오브젝트의 순위를 매기는 텍스트 입력 시스템.
- 제59항에 있어서, 상기 알파벳의 문자들과 연관된 키들은 표준 "QWERTY" 배치로 상기 자동-교정 키보드 영역에 정렬되는 텍스트 입력 시스템.
- 제59항에 있어서, 상기 자동-교정 키보드 영역 내의 복수의 인접하는 키들의 동시 활성화를 포함하는 키 활성화 이벤트가 검출되면, 상기 키 활성화 이벤트에 대응하는 위치는 상기 동시에 활성화된 키들의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재 입력 시퀀스에 첨부되는 텍스트 입력 시스템.
- 제62항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 상기 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함하는 텍스트 입력 시스템.
- 제63항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 상기 동시에 활성화된 키들의 위치의 가중된 중력 중심에 대응하는 위치의 계산을 포함하고, 상기 자동-교정 키보드 영역 내의 상기 키들의 각각과 연관된 가중치는 상기 키들과 연관된 문자들의 상대 발생 빈도에 대응하고, 상기 상대 빈도는 메모리 내 상기 오브젝트의 문자들의 발생 빈도에 대해 결정되는 텍스트 입력 시스템.
- 제59항에 있어서, 선정된 임계 시간 주기 내에 상기 자동-교정 키보드 영역내의 복수의 인접하는 키들의 활성화를 포함하는 키 활성 이벤트가 검출되면, 상기 키 활성화 이벤트 동안 항상 상기 복수의 인접하는 키들중의 적어도 하나가 활성화되고, 상기 복수의 키들의 임의의 서브셋이 동시에 활성화되는 상기 키 활성화 동안의 임의의 순간에, 상기 동시에 활성화된 키의 서브셋은 연속적으로 인접하는 키들을 포함하고, 상기 키 활성화 이벤트에 대응하는 위치는 상기 키 활성화 이벤트 동안 검출된 전체 복수의 인접하는 키들의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재 입력 시퀀스에 부가되는 텍스트 입력 시스템.
- 제65항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용되는 함수는 상기 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함하는 텍스트 입력 시스템.
- 제66항에 있어서, 상기 키 활성화 이벤트의 위치를 결정하는데 사용되는 함수는 상기 동시에 활성화된 키들의 위치의 가중된 중력 중심에 대응하는 위치의 계산을 포함하고, 상기 자동-교정 키보드 영역의 키들의 각각과 연관된 가중치는 상기 키들에 연관된 문자들의 상대 발생 빈도에 대응하고, 상기 상대 빈도는 메모리 내 상기 오브젝트의 문자의 발생 빈도에 대해 결정되는 텍스트 입력 시스템.
- 제59항에 있어서, 상기 자동-교정 키보드 영역은 하나 또는 복수의 구두점 문자와 연관된 하나 또는 복수의 키들을 포함하고, 상기 메모리는 상기 자동-교정 키보드 영역 내의 키들과 연관된 하나 또는 복수의 구두점 문자들을 포함하는 메모리 내의 하나 또는 복수의 오브젝트를 포함하는 텍스트 입력 시스템.
- 제59항에 있어서, 상기 단어 평가 구성요소는 상기 입력 시퀀스 내의 결정된 위치로부터 상기 후보 오브젝트의 대응하는 위치 내의 문자에 대응하는 키의 공지된 위치까지 계산된 거리 값을 합산하고, 상기 오브젝트에 연관된 사용 빈도에 따라 가중 함수를 적용함으로써, 각각의 후보 오브젝트에 대한 정합 매트릭을 계산하는 텍스트 입력 시스템.
- 제59항에 있어서, 상기 자동-교정 키보드 영역 내의 하나 이상의 키들은 복수의 문자들에 대응하고, 하나 또는 복수의 문자들은 다양한 구별 표시를 포함하고, 상기 복수의 문자들은 단일 어간 문자의 변형 형태를 포함하고, 메모리 내의 오브젝트들은 그 올바른 액센트된 문자와 함께 저장되는 텍스트 입력 시스템.
- 제59항에 있어서, 상기 선택 구성요소는 사용자에 의한 선택을 위해 상기 텍스트 디스플레이 영역 내의 후보 오브젝트 리스트에 상기 식별된 하나 또는 복수의 후보 오브젝트를 제시하는 텍스트 입력 시스템.
- 제71항에 있어서, 상기 선택 구성요소는 최고 순위의 후보 오브젝트를 식별하여, 상기 자동-교정 키보드 영역에 가장 가까운 위치의 후보 오브젝트 리스트 내에 상기 식별된 오브젝트를 제시하는 텍스트 입력 시스템.
- 제71항에 있어서, 상기 자동-교정 키보드 영역 내에 포함되지 않은, 문자와 연관된 키의 활성화는, 상기 텍스트 디스플레이 영역의 텍스트 삽입점에서 상기 선택된 문자를 출력하기 전에 상기 텍스트 디스플레이 영역의 상기 텍스트 삽입점에서 상기 결정된 최고 순위의 후보 오브젝트를 수락하고 출력하는 텍스트 입력 시스템.
- 제71항에 있어서, 상기 텍스트 디스플레이 영역 내의 텍스트 삽입점에서 출력하기 위한 오브젝트의 사용자 선택은 상기 자동-교정 키보드 영역 내의 다음 키 활성화 이벤트가 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료시키는 텍스트 입력 시스템.
- 삭제
- 삭제
- 삭제
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)
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)
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)
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)
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 |
-
2000
- 2000-05-26 EP EP00937879A patent/EP1192716B1/en not_active Expired - Lifetime
- 2000-05-26 WO PCT/US2000/014684 patent/WO2000074240A1/en active Search and Examination
- 2000-05-26 NZ NZ519928A patent/NZ519928A/en active Application Filing
- 2000-05-26 JP JP2001500435A patent/JP4519381B2/ja not_active Expired - Fee Related
- 2000-05-26 AT AT00937879T patent/ATE443946T1/de not_active IP Right Cessation
- 2000-05-26 CA CA002392446A patent/CA2392446C/en not_active Expired - Lifetime
- 2000-05-26 DE DE60043008T patent/DE60043008D1/de not_active Expired - Lifetime
- 2000-05-26 KR KR1020017014956A patent/KR100723738B1/ko not_active IP Right Cessation
- 2000-05-26 US US09/580,319 patent/US6801190B1/en not_active Expired - Lifetime
- 2000-05-26 AU AU52997/00A patent/AU5299700A/en not_active Abandoned
-
2002
- 2002-09-18 HK HK02106824.7A patent/HK1046786A1/zh unknown
-
2004
- 2004-02-09 US US10/775,483 patent/US7088345B2/en not_active Expired - Lifetime
- 2004-06-25 CN CNA2004100500066A patent/CN1655107A/zh active Pending
-
2005
- 2005-03-25 US US11/090,464 patent/US7277088B2/en not_active Expired - Fee Related
-
2007
- 2007-09-11 US US11/853,320 patent/US7880730B2/en not_active Expired - Fee Related
Patent Citations (5)
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)
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 |