KR101027167B1 - 자동완성 방법 및 시스템 - Google Patents
자동완성 방법 및 시스템 Download PDFInfo
- Publication number
- KR101027167B1 KR101027167B1 KR1020087014275A KR20087014275A KR101027167B1 KR 101027167 B1 KR101027167 B1 KR 101027167B1 KR 1020087014275 A KR1020087014275 A KR 1020087014275A KR 20087014275 A KR20087014275 A KR 20087014275A KR 101027167 B1 KR101027167 B1 KR 101027167B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- period
- dynamically determined
- data symbol
- calculated
- 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/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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
Abstract
키-누름 이벤트와 같은 데이터 입력 이벤트들 사이의 제한 시간의 만료에 의해 입력 리스트 룩 업 사전이 트리거되는 자동-완성 또는 자동-정정 메커니즘이 실시되는데, 여기서 제한 시간 값은 입력 속도의 함수로서 동적으로 결정된다. 제한 시간은, 예를 들어, 평균 입력 속도에 기초하여 계산될 수 있고, 여분의 마진 값을 포함할 수 있다. 따라서, 룩 업 트리거링의 발생은 현재 사용자의 데이터 입력 속도에 대해 최적화될 것이다.
Description
본 발명은 자동-완성 메커니즘에 관한 것이다.
특정 전자 장치 또는 소프트웨어 환경의 휴먼 인터페이스는 자동-완성 기능을 제공하는데, 이 자동-완성 기능의 휴먼 인터페이스는 사용자가 이미 입력한 것을 완성할 수 있는 정보 부분을 식별하려고 시도하여, 사용자가 나머지 부분을 명시적으로 입력하는 번거로움을 피할 수 있게 한다. 이러한 식별 프로세스는 종종, 예컨대, 과거의 입력들을 기초로 가능한 완성 입력들의 리스트를 참조하거나, 또는 표준 라이브러리를 참조하여 수행된다. 이와 같은 메커니즘은 예컨대, 이동 전화기의 인터페이스에서 종종 발견되는데, 여기서 인터페이스는 연락 리스트 및 이전에 다이얼링한 번호들을 참조하여, 부분적으로 입력된 번호 또는 이름을 기초로 완성된 전화 번호를 제안하도록 구성된다. 다른 예는 프로그래밍 환경에서 발견되는데, 여기서 자동-완성 메커니즘은 사용자가 입력한 처음 몇 개의 문자를 기초로 실질적인 표준 코드 부분을 제안할 수 있다.
도 1은 종래 기술의 접근 방법의 예시적 흐름도이다. 이러한 접근 방법에 따라, 키 청취기(key listener)는 지역 변수(local variable) 내에 마지막 키가 눌러졌던 이벤트의 타임 스탬프를 저장한다. 새로운 이벤트가 시작될 때, 새로운 타임 스탬프가 취해지고, 2개의 값 사이의 차이가 주어진 간격보다 작다면, 새로운 문자는 이전 문자의 연장으로 간주되고, 새로운 타임 스탬프가 업데이트된다.
이 방법은, 예컨대, 데이터 입력 시작시에 타임 스탬프가 기록되는 단계(101)에서 시작된다. 단계(103)에서, 키가 눌러졌는지 여부가 판단되는데, 이 단계는 키 누름 이벤트가 실제로 검출될 때까지 반복된다. 단계(105)에서, 이와 같은 이벤트가 검출될 때, 이벤트의 타임 스탬프가 기록되고, 단계(107)에서, 마지막 2개의 타임 스탬프 사이의 간격이 판정된다. 단계(109)에서는, 단계(107)에서 계산된 간격이 미리 결정된 간격을 초과하는지 아닌지 여부가 판단되는데, 미리 결정된 간격이 초과하지 않는다고 판단되는 경우, 단계(103)로 되돌아가기(looping back) 전까지 새로운 데이터 기호가 데이터 기호 입력의 기록에 추가된다. 그러나, 미리 결정된 간격을 초과한다고 판단되는 경우, 방법은, 단계(101) 이후로 눌러진 키의 기록과 가능한 데이터 입력 모음의 비교가 수행되는 단계(113)로 진행되고, 단계(115)에서, 사용자에게 가능한 완성 값이 제시되는데, 이는 수용되거나 수용되지 않을 수 있다. 어떤 경우에든, 제한 시간이 만료되었다는 사실은 데이터 입력 시퀀스의 종료에 도달했다는 것을 나타내는 것으로 이해되므로, 단계(117)에서, 단계(101) 이후로 눌러진 키의 기록은 단계(103)로 되돌아가기 전에 삭제된다.
이하의 의사코드(pseudo code)는 이러한 발명의 예시적인 일부 구현을 제공한다:
if ( (curTime - ivLastKeyTime) > TimeLimit )
{
Carry out search for auto-complete text
Reset the current selection initializing it with the new Key.
}
else
{
add new key to current selection
Carry out search for auto-complete text
}
본 발명에 따르면, 첨부한 독립 청구항 제1항에 따른 데이터 입력을 포뮬레이팅하는 방법, 첨부한 독립 청구항 제11항에 따른 컴퓨터 프로그램, 첨부한 독립 청구항 제12항에 따른 컴퓨터 판독 가능한 매체, 및 첨부한 독립 청구항 제13항에 따른 시스템이 제공된다. 바람직한 실시예들은 종속항들로 정의된다.
본 발명의 추가 이점들은 도면 및 상세한 설명을 통해 당업자들에게 명백해질 것이다. 임의의 추가 이점들도 여기서 병합되도록 의도되었다.
동일한 참조 번호가 유사한 구성 요소들을 표시하는 첨부한 도면들을 참조하여, 예를 통해 본 발명의 실시예들이 설명될 것이다.
도 1은 종래 기술의 접근 방법의 예시적 흐름도;
도 2는 제1 실시예를 도시한 도면;
도 3은 제2 실시예를 도시한 도면;
도 4는 본 발명을 구현하기에 적합한 가능한 하드웨어 구성을 도시한 도면;
도 5는 본 발명의 제1 애플리케이션을 도시한 도면; 및
도 6은 본 발명의 제2 애플리케이션을 도시한 도면이다.
상술한 바와 같은 자동-완성 메커니즘의 문제점은, 시간 간격이 구성 파라미터에 의해 고정되거나 또는 맞춤 설정될 수 있지만, 일단 시간 간격이 판독되면, 사용자에 상관없이 유효하다는 것이다. 그러나, 실제로 여러 사용자들이 서로 다른 데이터 입력 속도를 가지므로, 사용자가 너무 느려 자동-완성 메커니즘을 이용할 수 없거나 또는 사용자의 데이터 입력이 너무 빨라 검색을 재시작하는데 다소 어려움을 가질 수 있는 일이 발생할 수 있다. 특정 실시예에 따라, 예컨대, 실제로 컴포넌트를 이용하고 있는 사용자로부터 학습함으로써, 참조로서 취해진 간격은 변할 수 있다. 즉, 제한 시간은 동적으로 결정된 기간이다. 2 이상의 실제 시간 간격 값 및 키가 눌러진 횟수는 저장되고, 현재 사용자의 실제 데이터 입력 속도에 기초하여 시간 간격을 계산하는데 이용될 수 있다. 즉, 각각의 데이터 기호 입력 후에 동적으로 결정된 기간 동안 대기하는 단계, 및 상기 기간의 만료 이전에 추가 데이터 기호 입력이 수신되는 경우, 수신된 기호와 가능한 데이터 입력 모음을 비교함으로써 상기 데이터 입력을 완성하려고 시도하는 단계, 상기 기간이 만료되기 이전에 추가의 데이터 기호가 수신되지 않는다면, 추가 비교를 위하여 이전에 수신된 모든 기호들을 삭제하는 단계가 제공되는데, 상기 동적으로 결정된 기간은 이전의 데이 터 기호 입력들 사이의 간격의 함수로서 계산된다.
애플리케이션이 종료될 때, 시간 간격 값은 영구적으로 저장될 수 있기 때문에, 애플리케이션이 재시작될 때, 그 저장된 시간 간격 값을 검색하는 것이 가능할 것이다. 이는 이전 세션에서 결정된 최적화된 값이 새로운 세션에 대한 시작 포인트로서 취해질 수 있다는 이점을 제공하는데, 이로 인해 새로운 세션에 대한 제한 시간 값을 조정하는데 요구되는 평균 시간이 단축될 것이다.
바람직하게, 동적으로 결정된 기간은 복수의 이전 데이터 기호 입력들 사이의 시간 간격의 평균을 판정함으로써 계산된다. 평균은 단순한 회로 또는 소프트웨어 루틴을 이용하여 판정될 수 있으므로, 실행 비용 또는 오버헤드를 제한할 수 있다. 더 바람직하게, 동적으로 결정된 기간은 복수의 연속하는 데이터 기호 입력들 사이의 시간 간격의 평균을 판정함으로써 계산된다. 이는, 예컨대, 요구되는 버퍼의 크기 또는 메모리 할당 크기의 면에서 더 단순한 회로 또는 소프트웨어 루틴을 허용하므로, 실행 비용 또는 오버헤드를 더 제한할 수 있다. 더 바람직하게, 동적으로 결정된 기간은 복수의 직전의 연속하는 데이터 기호 입력들 사이의 시간 간격의 평균을 판정함으로써 계산된다. 이는, 예컨대, 요구되는 버퍼 크기 또는 메모리 할당의 크기의 면에서 더 단순한 회로 또는 소프트웨어 루틴을 허용하므로, 실행 비용 또는 오버헤드를 더 제한할 수 있다. 더 바람직하게, 동적으로 결정된 기간은 3개의 직전의 연속하는 데이터 기호 입력들 사이의 시간 간격의 평균을 판정함으로써 계산된다. 이는, 예컨대, 요구되는 버퍼의 크기 또는 메모리 할당의 크기의 면에서 더 단순한 회로 또는 소프트웨어 루틴을 허용하므로, 실행 비용 또는 오버헤 드를 더 제한할 수 있다.
바람직하게, 시간 간격은 사용자 데이터 입력 속도에 대한 소정의 변동을 허용하기 위해 마진 또는 델타량을 포함한다. 예를 들어, 마진 또는 델타 값은 시간 간격의 백분율, 시간 간격의 지수, 임의의 다른 수단에 의해 결정된 고정된 양 또는 값일 수 있다. 퍼센티지 값이 사용되는 경우, 델타 값은 시간 간격의 변동에 따라 변하여, 시간 간격이 증가할 때 증가하고, 시간 간격이 감소할 때 감소할 것이다. 한편, 고정된 델타 값을 채택하면, 시간 간격이 작은 값인 경우에는 큰 변동을 허용하고, 시간 간격이 클 때는 보다 작은 변동을 허용할 것이다. 이러한 방식으로, 동일한 텍스트에 속하는 것으로 간주되는 2개의 키 사이의 시간 간격은 사용자 타이핑 빈도의 함수로서 맞춤 설정될 수 있다.
따라서, 마진 값은, 예컨대, 고정된 값, 가변적인 값, 평균값의 실수배(real multiple)일 수 있다.
도 2는 제1 실시예를 보여준다. 제1 실시예에 따라, 평균 키 누름 시간을 구하는 것이 계속된다. 주어진 마진에 의한 이러한 평균 기간보다 긴 휴지시간(pause)은 새로운 단어의 시작을 나타내는 것으로서 해석된다. 마지막 휴지시간 이후로 행해진 입력은 수집되고, 자동-완성 후보(possibility)를 식별 및 제안을 위하여 각각의 반복마다 사전과 비교된다.
예를 들어, 각각의 반복에서 마지막 2번의 키 누름 지연 시간의 평균을 구하고, 이 평균은 제한 시간 값(Tlimit)을 결정하기 위해 마진 값 Δ과 더해진다.
예를 들어, Tlimit = ((tn + tn-1) /2) + Δ
이하의 의사코드는 간단한 구현을 제공한다.
AverageDelay = ( (PreviousDelay + PrePreviousDelay) /2)
TimeLimit = delta + AverageDelay
if ( (curTime - ivLastKeyTime) > TimeLimit )
{
Carry out search for auto-complete text
Reset the current selection initializing
it with the new Key.
}
else
If keyvalue <> ""
{
add new key to current selection
Carry out search for auto-complete text
}
PrePreviousDelay = PreviousDelay
PreviousDelay = curTime - ivLastKeyTime
도 2에 도시된 바와 같이, 처리가 시작되는 시간이 기록되는 단계(201)에서 방법이 시작된다. 예를 들어, 단계(203)에서, 시간 값이 현재의 시간으로 업데이트되고, 단계(205)에서, 단계(201)에서 기록된 시작 시간과 단계(203)에서 판정된 현재 시간 간의 차이가 제한 시간 값과 비교된다. 제한 시간이 아직 만료되지 않았다고 판단되는 경우, 즉, 단계(201)에서 기록된 시작 시간과 단계(203)에서 판정된 현재 시간 간의 차이가 미리 결정된 제한 시간 값보다 작은 경우, 방법은 단계(207)에서 키가 눌러졌는지 여부를 판단하기 위해 진행된다. 키가 눌러졌다고 정식으로 판단되는 경우, 단계(209)에서, 키의 값은 단계(201) 이후에 눌러진 키의 기록에 추가된다. 단계(205)에서 판정된 간격 값은 단계(210)에서 기록되고, 이 간격 값은 이전의 데이터 기호 입력들 사이의 간격의 함수로서 제한 시간을 수정하기 위해 단계(211)에서 이용된다. 그 다음, 프로세스는 단계(203)로 되돌아간다. 단계(207)에서, 새로운 키가 입력되지 않은 것으로 판단되면, 방법은 간단히 단계(203)로 되돌아간다. 한편, 단계(205)에서, 미리 결정된 제한 시간이 초과되었다고 판단되면, 즉, 단계(201)에서 기록된 시작 시간과 단계(203)에서 판정된 현재 시간 간의 차이가 미리 결정된 제한 시간 값보다 크다면, 방법은, 단계(201) 이후에 눌러진 키의 기록과 가능한 데이터 입력 모음의 비교가 수행되는 단계(213)로 진행되고, 단계(215)에서, 사용자에게 가능한 완성 값이 제안되는데, 이는 수용될 수도 있고 또는 수용되지 않을 수도 있다. 어떤 경우에든, 제한 시간이 종료되었다는 사실은 데이터 입력 시퀀스의 종료에 도달했다는 것을 나타내는 것으로 이해되어, 단계(217)에서, 단계(201) 이후에 눌려진 키의 기록은 단계(201)로 되돌아가기 전에 삭제된다.
도 3은 제2 실시예를 보여준다. 제2 실시예에 따라, 평균 키 누름 시간을 구 하는 것이 계속된다. 주어진 마진에 의한 이러한 평균 기간보다 긴 휴지시간은 검색 단계로의 귀속으로 해석된다. 마지막 휴지시간 이후에 행해진 입력들은 수집된다. 일단 휴지시간이 제한 시간을 초과한 것으로 검출되면, 수집된 입력들은 자동-완성 후보들을 식별 및 제안을 위하여 사전과 비교된다. 이 접근 방법은 사용자가 보다 큰 텍스트 또는 임의적인 입력 시퀀스의 일부를 입력한 다음, 그것을 완성하기 위해 자동-완성 시스템을 대기하는 상황에 특히 적합하다.
예를 들어, 방법은 데이터 입력 시작시의 시간 스탬프가 기록되는 단계(301)에서 시작된다. 단계(303)에서, 키가 눌러졌는지 여부가 판단되는데, 이 단계는 키 누름 이벤트가 실제로 검출될 때까지 반복된다. 단계(305)에서, 이와 같은 이벤트가 검출될 때 이벤트의 시간 스탬프가 기록되고, 마지막 2개의 시간 스탬프들 사이의 간격은 단계(307)에서 판정된다. 단계(307)에서 계산된 간격이 미리 결정된 간격을 초과하는지 아닌지 여부가 단계(309)에서 판단되고, 미리 결정된 간격이 초과되지 않은 것으로 판단되는 경우, 새로운 데이터 기호가 이제까지 입력된 데이터 기호의 기록에 추가된다.
이 단계(319)에서, 단계(309)에 적용된 제한 시간은 이전의 데이터 기호 입력들 사이의 간격의 함수로서 수정된다. 바람직하게, 상술한 바와 같이, 새로운 제한 시간은 시간 스탬프들 사이의 이전 시간 간격들의 평균에 델타 값을 더한 것이다.
일단, 단계(319)에서 제한 시간 값이 수정되면, 방법은 단계(303)로 되돌아간다. 그러나, 미리 결정된 간격이 초과되는 것으로 판단되는 경우, 방법은, 단 계(301) 이후에 눌러진 키의 기록과 가능한 데이터 입력 모음의 비교가 수행되는 단계(313)로 진행되고, 단계(315)에서 가능한 완성 값들이 사용자에게 제안되는데, 이는 수용될 수도 있고 또는 수용되지 않을 수도 있다. 어떤 경우에든, 제한 시간이 만료되었다는 사실은 데이터 입력 시퀀스의 종료에 도달했다는 것을 나타내는 것으로 이해되어, 단계(301) 이후에 눌러진 키의 기록은 단계(303)로 돌아가기 전에 단계(317)에서 삭제된다.
이하는 텍스트 "oldt"가 시스템에 타이핑되는 제2 실시예의 프로세스가 실행된 예이다. 아래의 표 1에서, "n"열은 프로세스의 반복에 관한 것이고, "t" 와 "s" 열은 대응하는 시간 간격 값 및 기호 값을 제공한다.
n | t | s |
1 | 30 | o |
2 | 31 | l |
3 | 32 | d |
4 | 50 | t |
이 실행된 예에서, 고정된 델타(Δ) 값 10이 채택된다.
아래의 표 2는, 도 2에서 각각 "a", "b", 및 "c"로 표시된 노드에서의 값들을 나타내는데, 프로세스의 제1 반복이 이 예시적 값들을 갖는다.
제 1 반복, n = 1 | |||||
노드 | tn | tn-l | Tlimit | 데이터 기호 | 워드 (데이터입력) |
a | 40 | 40 | |||
b | 30 | 40 | 40 | "o" | |
c | 30 | 40 | 45 | "o" |
데이터 입력 워드 "o"는 메모리에 저장된다. 어떤 경우에도, 시간 간격 Tlimit은 아래의 식처럼 노드 c에 표시된 바와 같이 수정된다.
Tlimit = (tn + tn-l) /2 + Δ
Tlimit = (30 + 40) /2 + 10 = 45
제 2 반복, n = 2 | |||||
노드 | tn | tn-1 | Tlimit | 데이터 기호 | 워드 (데이터입력) |
a | 30 | 45 | "o" | ||
b | 31 | 30 | 45 | "1" | "o" |
c | 31 | 30 | 40.5 | "1" | "o" |
제한 시간 Tlimit은 아래의 식처럼 노드 c에 표시된 바와 같이 수정된다.
Tlimit = (tn + tn-l) /2 + Δ
Tlimit = (31 + 30) /2 + 10 = 40.5
제 3 반복, n = 3 | |||||
노드 | tn | tn-1 | Tlimit | 데이터 기호 | 워드 (데이터입력) |
a | 31 | 40.5 | "ol" | ||
b | 32 | 31 | 40.5 | "d" | "ol" |
c | 32 | 31 | 35 | "d" | "ol" |
제한 시간 Tlimit은 아래의 식처럼 노드 c에 표시된 바와 같이 수정된다.
Tlimit = (tn + tn-l) /2 + Δ
Tlimit = (32 + 31) /2 + 10 = 41.5
제 4 반복, n = 4 | |||||
노드 | tn | tn-1 | Tlimit | 데이터 기호 | 워드 (데이터입력) |
a | 32 | 35 | "old" | ||
b | 50 | 32 | 35 | "t" | "old" |
c | 32 | 32 | 35 | "t" | "" |
41.5의 제한 시간이 초과되는 경우, 워드 "old"가 사전에서 검색된다.
정정 또는 완성이 요구되지 않았다고 가정한다면, 본 명세서의 경우에서와 같이, 워드 "old"는 수용될 것이고, 데이터 입력 버퍼는 다음 워드를 위해 클리어될 것이다. 보는 바와 같이, 제5 반복의 노드 "a"에서, 데이터 입력 버퍼는 이 반복에서 검출된 바와 같이 문자 "t"로 초기화되었다.
이 실시예에 따라, 이러한 반복이 제한 시간의 계획적인 휴지시간에 기인하여 과도하게 큰 값을 포함하기 때문에, 이러한 반복 동안에는 제한 시간이 수정되지 않는다. 한편, 사용자 속도의 변동 정도에 따라, 또는 새로운 사용자가 상당히 낮은 타이핑 속도, 즉, 델타 값에 의해 허용된 마진보다 큰 마진을 갖는 경우, 이 접근 방법은 성능의 열화(deterioration)의 원인이 될 수 있는데, 이러한 경우, 제한 시간 계산에 모든 지연 값들을 포함하는 것이 바람직할 수 있다. 추가의 접근 방법은, 한 글자의 단어와 같은 짧은 단어의 끝에 기록되는 제한 시간을 포함하는 것인데, 이는 제한 시간이 새로운 사용자에 대해 너무 느리게 설정되는 경우, 모든 입력들이 한 글자의 단어로 등록되어, 입력 지연이 제한 시간 평균에 편입되고, 따라서 제한 시간 값의 급격한 상승을 가져온다는 것을 의미한다.
제 5 반복, n = 5 | |||||
노드 | tn | tn-1 | Tlimit | 데이터 기호 | 워드 (데이터입력) |
a | 32 | 35 | "t" | ||
b | 50 | 32 | 35 | "t" | "t" |
c | 32 | 32 | 35 | "t" | "t" |
상술한 바와 같이, 지연 값의 평균이 구해지는 키 누름의 횟수는 2보다 클 수 있다. 이러한 전개에 따라, 프로세스는 이러한 목적을 위해 제한 시간을 준수하는데 실패한 제1 키 누름은 무시하도록 설계될 것이다. 따라서, 긴 평균은 단어 사이의 휴지시간을 고려함으로써 평균이 인위적으로 보다 길게 만들어지지 않으면서 몇몇 단어들을 연결하는 것으로 판단될 수 있다.
도 4는 본 발명을 구현하는데 적합한 가능한 하드웨어 구성을 보여준다. 이 구성에 따라, 키보드, 마우스, 터치패드, 음성 인식 시스템 등과 같은 휴먼 인터페이스 입력 장치(404), 및 비디오 디스플레이 유닛 또는 확성기와 같은 휴먼 인터페이스 출력 장치(402)를 갖는 종래의 컴퓨터 시스템이 제공된다. 이러한 2개의 인터페이스는 종래의 아키텍처에 따라 CPU(420), 메모리(430), 및 하드 디스크 드라이브와 같은 벌크 저장 장치(430)를 포함하는 컴퓨팅 유닛(400)과 통신한다. 사용자에 의한 데이터 입력을 수신하는 인터페이스 버퍼(410)가 휴먼 인터페이스 입력 장치(404)에 추가로 제공된다.
상술한 실시예들을 구현하기 위해, 프로세서(420)는 인터페이스 버퍼(410)로부터 입력 기호들을 검색하는 입력 처리 모듈(422)을 실행하고, 타임 스탬프 메모리(431)로서 설계된 상기 메모리의 연관된 영역에 추가되는 대응하는 타임 스탬프 값과 함께, 데이터 입력 버퍼(432)로서 설계된 상기 메모리(530) 영역에 검색한 값을 추가한다. 입력 처리 모듈(422)은 또한 마지막 문자 입력 이후의 간격을 결정하기 위해 타임 스탬프 값들을 비교하는 단계를 수행하고, 간격들과의 비교를 위해, 제한 시간 메모리(432)로서 설계된 상기 메모리(530) 일부로부터 제한 시간 값을 검색한다.
최종적으로, 입력 처리 유닛은 고용량 저장 장치(531)에 저장된 가능한 입력 모음(431)을 문의하는(interrogating) 기능을 수행하고, 휴먼 인터페이스 출력 장치(402)에 의해 사용자에게 가능한 정정 또는 자동 완성 값을 제시한다.
본 발명에 따라 제한 시간 값을 다시 구하고, 입력 처리 모듈(422)에 의한 검색을 위해 제한 시간 메모리에 새로운 값을 저장하기 위해, 프로세서(420)는 시간 스탬프 메모리(431)로부터의 시간 스탬프 값, 및 만약 요구된다면, 델타 값 메모리(431)로서 설계된 메모리(430)의 영역으로부터의 델타 값을 검색하는 기능을 수행하는 제한 시간 처리 모듈(421)을 더 구현한다.
분명하게, 각각의 임무가 구현되는 순서, 및 그 임무들이 수행되는 방식은 구현될 실제 실시예의 함수로서 변할 것이다.
임의의 구성 요소는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합 또는 이들 모두에 의해 실현될 수 있다. 소프트웨어 컴포넌트가 제공되는 경우, 컴포넌트들은 CD 또는 DVD와 같은 광 디스크, 하드 드라이브 또는 플로피 디스크와 같은 자기 디스크, 플래시 메모리 카드, EPROM, 휘발성 메모리 유닛 등과 같은 메모리 장치, 또는 예컨대, 분배 용도의 광학, 전기, 무선 또는 기타의 전송 채널과 같은 캐리어 상에 임시로 또는 영구적으로 위치될 수 있다.
일 실시예에 따라, 시스템은 미리 정의된 훈련기간 후에 종래의 고정된 기간의 인식 시스템으로 복귀할 수 있거나, 또는 특정 지연 값들, 예컨대, 모든 제2, 제3, 또는 제4 등의 지연 값만을 사용할 수 있다. 이런 접근 방법은, 계속하여 제한 시간을 재계산함으로써 발생하는 긴 기간의 오버헤드를 발생시키지 않고 실제 사용자들에게 적응성의 혜택을 제공한다.
본 발명은 에러 검출 또는 정정 메커니즘에도 똑같이 적용되어, 입력된 텍스트가 에러를 검출하기 위해 리스트와 비교되고, 에러들을 사용자에게 표시하고, 및/또는 정정을 제안 또는 강요한다.
도 5는 본 발명의 제1 애플리케이션을 보여준다. 이 도면에 도시된 바와 같이, 윈도우 기반의 그래픽 유저 인터페이스에서, 명령 라인(command line)이라 명명된 윈도우(500)가 열리는데, 이 윈도우는 "입력 참조" 라벨을 갖는 텍스트 박스(501)를 포함한다. 텍스트는 사용자에 의해 입력되고 텍스트 박스(501)에 나타난다. 상기 본 발명에 따라, 텍스트 입력 동안, 일단 제한 시간이 만료되면, 그때까지 입력된 텍스트, 예컨대, 도시된 텍스트 "old"는, 예컨대 이전 입력들에 기초하여 가능한 입력 리스트에서 검색된다. 드롭다운 박스(505)는 사용자가, 예컨대, 포인터(509)를 이용하여 선택할 수 있는 제안들과 함께 나타난다. 도면에 도시된 바와 같이, 제안 "olden"이 강조 표시되는데, 이는 이러한 아이템이 본 GUI에 적당한 수단에 의해, 예컨대, 마우스 클릭에 의해 현재 선택될 수 있다는 것을 나타낸다.
도 6은 본 발명의 제2 애플리케이션을 보여준다. 이 도면에 도시된 바와 같이, 윈도우 기반의 그래픽 사용자 인터페이스에서, "프로그래밍 프로젝트"로 명명된 윈도우(600)가 열리는데, 이 윈도우는 프로그래밍 코드가 사용자에 의해 타이핑되는 텍스트 필드(601)를 포함한다. 시스템은 본 발명에 따라 사용자 입력들을 모니터링하고, 스트링 "curTime"의 끝에서 제한 시간을 초과하는 휴지시간을 등록한다. 이에따라, 입력된 텍스트의 마지막 부분은, 가능한 입력 리스트에서, 예컨대, 공통 코드 모듈 라이브러리에 기초하여 검색된다. "자동완성"이라 명명된 제2 윈도우(603)는 사용자가 시작한 코드 부분의 나머지 부분(607)을 포함하여, 강조 표시된 매칭된 텍스트(605)와 함께 팝업된다. 윈도우(603)는 사용자가 "수용" 버튼(611) 또는 "거절" 버튼(609)을 클릭하여 그 제안된 텍스트를 수용 또는 거절하도록 한다.
추가 실시예에 따라, 키-누름 이벤트와 같은 데이터 입력 이벤트들 사이의 제한 시간의 만료에 의해 입력 리스트 룩-업 사전이 트리거되는 자동-완성 또는 자동-정정 메커니즘의 구현이 제공되는데, 여기서 제한 시간의 값은 입력 속도의 함수로서 동적으로 결정된다. 제한 시간은, 예컨대, 평균의 입력 속도에 기초하여 계산될 수 있고, 여분의 마진 값을 포함할 수 있다. 따라서, 룩 업 트리거링의 발생은 현재 사용자의 데이터 입력 속도에 최적화되도록 의도될 것이다.
당업자들은, 본 발명이 음성 인식을 포함하여, 키보드, 키 패드에 의한 데이터 입력, 접촉 감지 디스플레이에 의한 데이터 입력, 또는 임의의 다른 인터페이스에 의한 데이터 입력의 모든 방법들로 확장된다는 것을 이해할 것이다. 이러한 수단들에 의해 입력된 데이터 기호들은, 로마자 또는 다른 알파벳, 아라비아 숫자, 로마 숫자 또는 다른 숫자, 수학 기호, 기보법, 또는 자동 완성 프로토콜이 정의될 수 있는 실제로 임의의 자의적인 기호 세트로부터 파생된 임의의 문자 세트에 따른 기호들을 포함하여, 자동 완성에 적합한 임의의 유형일 수 있다. 입력은 글자와 같은 개개의 상형문자(glyph), 또는 보다 큰 표의문자(ideogram)의 일부를 형성하는 픽토그램, 또는 전체 또는 부분적인 단어 또는 문구와 같은 보다 큰 그룹을 다루는 이 밖의 것에 관한 것일 수 있다.
이에 따라, 자동 완성 또는 정정 룩-업(look-up)이 만들어지는데 참조되는 한 세트의 가능한 데이터 입력은, 사전, 자주 사용되는 텍스트 편집물, 과거 입력들의 기록, 및 데이터베이스, 파일 저장 시스템 또는 인터넷 등과 같은 용도를 위해서 특별히 준비된 것이 아닌 실제의 데이터 소스를 포함하여, 입력된 기호들이 비교될 수 있는 임의의 데이터 세트를 포함할 수 있다.
Claims (11)
- 데이터 기호들의 시리얼 입력(serial entry)을 가능하게 하는 사용자 인터페이스와 관련하여 데이터 입력을 포뮬레이팅하는 방법으로서,각각의 데이터 기호 입력 후에 동적으로 결정된 기간 동안 대기하는 단계로서, 추가의 데이터 기호 입력은 상기 기간의 만료 이전에 수신되는 것인, 상기 대기 단계;수신된 기호들과 가능한 데이터 입력 모음을 비교함으로써 상기 데이터 입력을 완성하는 것을 시도하는 단계; 및상기 기간의 만료 이전에 추가의 데이터 기호가 수신되지 않는다면, 추가 비교를 위하여 이전에 수신된 모든 기호들을 삭제하는 단계를 포함하고,상기 동적으로 결정된 기간은 이전의 데이터 기호 입력들 사이의 간격의 함수로서 계산되는 것인, 데이터 입력 포뮬레이팅 방법.
- 제1항에 있어서, 상기 동적으로 결정된 기간은 복수의 이전의 데이터 기호 입력들 사이의 시간 간격의 평균을 결정함으로써 계산되는 것인, 데이터 입력 포뮬레이팅 방법.
- 제2항에 있어서, 상기 동적으로 결정된 기간은 복수의 연속하는 데이터 기호 입력들 사이의 시간 간격의 평균을 결정함으로써 계산되는 것인, 데이터 입력 포뮬레이팅 방법.
- 제3항에 있어서, 상기 동적으로 결정된 기간은 복수의 직전의 연속하는 데이터 기호 입력들 사이의 시간 간격의 평균을 결정함으로써 계산되는 것인, 데이터 입력 포뮬레이팅 방법.
- 제4항에 있어서, 상기 동적으로 결정된 기간은 3개의 직전의 연속하는 데이터 기호 입력들 사이의 시간 간격의 평균을 결정함으로써 계산되는 것인, 데이터 입력 포뮬레이팅 방법.
- 제2항에 있어서, 상기 동적으로 결정된 기간은 추가로 마진(margin) 값을 포함하는 것인, 데이터 입력 포뮬레이팅 방법.
- 제1항에 있어서, 상기 동적으로 결정된 기간의 값을 비휘발성 메모리에 저장하는 단계를 더 포함하는 데이터 입력 포뮬레이팅 방법.
- 컴퓨터상에서 실행될 때, 제1항 내지 제7항 중 어느 한 항에 따른 방법의 단계들을 수행하는 명령어를 포함하는 컴퓨터 프로그램이 인코딩된 컴퓨터 판독가능 기록 매체.
- 삭제
- 데이터 기호들의 시리얼 입력(serial entry)을 가능하게 하는 사용자 인터페이스와 관련하여 데이터 입력을 포뮬레이팅하는 컴퓨터 시스템으로서,각각의 데이터 기호 입력 후에 동적으로 결정된 기간 동안 대기하는 수단으로서, 추가의 데이터 기호 입력은 상기 기간의 만료 이전에 수신되는 것인, 상기 대기 수단;수신된 기호들과 가능한 데이터 입력 모음을 비교함으로써 상기 데이터 입력을 완성하는 것을 시도하는 수단; 및상기 기간의 만료 이전에 추가의 데이터 기호가 수신되지 않는다면, 추가 비교를 위하여 이전에 수신된 모든 기호들을 삭제하는 수단을 포함하고,상기 동적으로 결정된 기간은 이전의 데이터 기호 입력들 사이의 간격의 함수로서 계산되는 것인, 컴퓨터 시스템.
- 제6항에 있어서, 상기 마진 값은 고정된 값인 것인, 데이터 입력 포뮬레이팅 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05112043.4 | 2005-12-13 | ||
EP05112043 | 2005-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080075878A KR20080075878A (ko) | 2008-08-19 |
KR101027167B1 true KR101027167B1 (ko) | 2011-04-05 |
Family
ID=37810101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087014275A KR101027167B1 (ko) | 2005-12-13 | 2006-06-16 | 자동완성 방법 및 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10152139B2 (ko) |
EP (1) | EP1960861A1 (ko) |
JP (1) | JP5147712B2 (ko) |
KR (1) | KR101027167B1 (ko) |
CN (1) | CN101317147B (ko) |
CA (1) | CA2633880A1 (ko) |
WO (1) | WO2007068505A1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101593145B1 (ko) * | 2014-09-25 | 2016-02-11 | 주식회사 포워드벤처스 | 연관 질의어 제공 시스템 및 방법 |
KR20230010431A (ko) | 2021-07-12 | 2023-01-19 | 홍소현 | 동애등에 산란장치 |
KR20230030170A (ko) | 2021-08-25 | 2023-03-06 | 홍소현 | 동애등에 산란유도 구조물 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177292B2 (en) * | 2006-07-19 | 2015-11-03 | International Business Machines Corporation | Cautious auto-entry for messaging systems |
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US9740986B2 (en) * | 2008-09-30 | 2017-08-22 | Excalibur Ip, Llc | System and method for deducing user interaction patterns based on limited activities |
US8326358B2 (en) | 2009-01-30 | 2012-12-04 | Research In Motion Limited | System and method for access control in a portable electronic device |
US9477763B2 (en) | 2009-03-02 | 2016-10-25 | Excalibur IP, LC | Personalized search results utilizing previously navigated web sites |
CN101930295B (zh) | 2009-06-24 | 2012-11-07 | 宏达国际电子股份有限公司 | 动态调整长按延迟时间的方法及其电子装置 |
KR101122366B1 (ko) * | 2010-09-20 | 2012-03-23 | 엔에이치엔(주) | 검색어 리스트 제공 시스템 및 방법 |
US20120167009A1 (en) * | 2010-12-22 | 2012-06-28 | Apple Inc. | Combining timing and geometry information for typing correction |
US8490008B2 (en) | 2011-11-10 | 2013-07-16 | Research In Motion Limited | Touchscreen keyboard predictive display and generation of a set of characters |
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 |
US9715489B2 (en) | 2011-11-10 | 2017-07-25 | Blackberry Limited | Displaying a prediction candidate after a typing mistake |
US9652448B2 (en) | 2011-11-10 | 2017-05-16 | Blackberry Limited | Methods and systems for removing or replacing on-keyboard prediction candidates |
EP2618248B1 (en) | 2012-01-19 | 2017-08-16 | BlackBerry 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 |
WO2013123571A1 (en) | 2012-02-24 | 2013-08-29 | Research In Motion Limited | Virtual keyboard with dynamically reconfigurable layout |
DE112012000189B4 (de) | 2012-02-24 | 2023-06-15 | Blackberry Limited | Berührungsbildschirm-Tastatur zum Vorsehen von Wortvorhersagen in Partitionen der Berührungsbildschirm-Tastatur in naher Assoziation mit Kandidaten-Buchstaben |
US9201510B2 (en) | 2012-04-16 | 2015-12-01 | Blackberry Limited | Method and device having touchscreen keyboard with visual cues |
US10025487B2 (en) | 2012-04-30 | 2018-07-17 | Blackberry Limited | Method and apparatus for text selection |
US9292192B2 (en) | 2012-04-30 | 2016-03-22 | Blackberry Limited | Method and apparatus for text selection |
US9354805B2 (en) | 2012-04-30 | 2016-05-31 | Blackberry Limited | Method and apparatus for text selection |
US9207860B2 (en) | 2012-05-25 | 2015-12-08 | Blackberry Limited | Method and apparatus for detecting a gesture |
US9116552B2 (en) | 2012-06-27 | 2015-08-25 | Blackberry Limited | Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard |
US9524290B2 (en) | 2012-08-31 | 2016-12-20 | Blackberry Limited | Scoring predictions based on prediction length and typing speed |
US9063653B2 (en) | 2012-08-31 | 2015-06-23 | Blackberry Limited | Ranking predictions based on typing speed and typing confidence |
EP2703955B1 (en) * | 2012-08-31 | 2014-11-26 | BlackBerry Limited | Scoring predictions based on prediction length and typing speed |
US9122376B1 (en) * | 2013-04-18 | 2015-09-01 | Google Inc. | System for improving autocompletion of text input |
US20150006632A1 (en) * | 2013-06-27 | 2015-01-01 | Google Inc. | Determining additional information for an intended action of a user |
US9442700B2 (en) * | 2013-09-30 | 2016-09-13 | MuleSoft, Inc. | API notebook tool |
US10042514B2 (en) * | 2014-10-30 | 2018-08-07 | Microsoft Technology Licensing, Llc | Typeahead features |
US10402734B2 (en) | 2015-08-26 | 2019-09-03 | Google Llc | Temporal based word segmentation |
US11334800B2 (en) * | 2016-05-12 | 2022-05-17 | International Business Machines Corporation | Altering input search terms |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6744422B1 (en) | 2001-07-13 | 2004-06-01 | Openwave Systems Inc. | Variable time-out for multi-tap key entry |
US20040163032A1 (en) | 2002-12-17 | 2004-08-19 | Jin Guo | Ambiguity resolution for predictive text entry |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5520539A (en) * | 1978-07-28 | 1980-02-14 | Casio Comput Co Ltd | Automatic arithmetic process system |
US4330845A (en) * | 1979-12-31 | 1982-05-18 | International Business Machines Corporation | Guess-ahead feature for a keyboard-display terminal data input system |
US4805222A (en) * | 1985-12-23 | 1989-02-14 | International Bioaccess Systems Corporation | Method and apparatus for verifying an individual's identity |
JPH05119892A (ja) * | 1991-10-09 | 1993-05-18 | Nec Corp | データ入力方式 |
US5557686A (en) * | 1993-01-13 | 1996-09-17 | University Of Alabama | Method and apparatus for verification of a computer user's identification, based on keystroke characteristics |
US5761689A (en) * | 1994-09-01 | 1998-06-02 | Microsoft Corporation | Autocorrecting text typed into a word processing document |
JPH08147282A (ja) * | 1994-11-16 | 1996-06-07 | Omron Corp | 仮名漢字変換装置および仮名漢字変換方法 |
JPH09325959A (ja) * | 1996-06-06 | 1997-12-16 | Nec Home Electron Ltd | かな漢字変換方法及びシステム |
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 |
KR19990009965A (ko) * | 1997-07-14 | 1999-02-05 | 정명식 | 타자 패턴을 이용한 사용자 인증 방법 |
JPH11212705A (ja) * | 1998-01-26 | 1999-08-06 | Toshiba Corp | 文字列予測装置及び文字列予測方法 |
US6426843B1 (en) * | 1999-04-27 | 2002-07-30 | International Business Machines Corporation | Settle time estimator feedback for rotational position reordering in data storage devices |
JP2002007390A (ja) * | 2000-06-23 | 2002-01-11 | Toshiba Corp | 文字列予測制御方法、および文字列入力装置 |
US7185271B2 (en) * | 2002-08-20 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | Methods and systems for implementing auto-complete in a web page |
US7206938B2 (en) * | 2002-09-24 | 2007-04-17 | Imagic Software, Inc. | Key sequence rhythm recognition system and method |
JP2004213269A (ja) * | 2002-12-27 | 2004-07-29 | Toshiba Corp | 文字入力装置 |
US7509686B2 (en) * | 2003-02-03 | 2009-03-24 | Checco John C | Method for providing computer-based authentication utilizing biometrics |
US20040153963A1 (en) * | 2003-02-05 | 2004-08-05 | Simpson Todd G. | Information entry mechanism for small keypads |
US7213478B2 (en) * | 2003-02-18 | 2007-05-08 | Tokyo Electron Limited | Method for automatic configuration of processing system |
US8768441B2 (en) * | 2003-10-20 | 2014-07-01 | Zoll Medical Corporation | Time coordination and synchronization of event times in electronic medical records |
DE602004018620D1 (de) * | 2004-06-02 | 2009-02-05 | Research In Motion Ltd | Tragbares elektronisches Gerät mit eliminierung der Vieldeutigkeit bei Texteingabe |
US7382359B2 (en) * | 2004-06-07 | 2008-06-03 | Research In Motion Limited | Smart multi-tap text input |
JP5119892B2 (ja) | 2007-12-05 | 2013-01-16 | 株式会社豊田中央研究所 | 電子制御システム |
-
2006
- 2006-06-16 CA CA002633880A patent/CA2633880A1/en not_active Abandoned
- 2006-06-16 EP EP06777347A patent/EP1960861A1/en not_active Withdrawn
- 2006-06-16 KR KR1020087014275A patent/KR101027167B1/ko not_active IP Right Cessation
- 2006-06-16 US US12/097,415 patent/US10152139B2/en active Active
- 2006-06-16 JP JP2008544898A patent/JP5147712B2/ja active Active
- 2006-06-16 WO PCT/EP2006/063289 patent/WO2007068505A1/en active Application Filing
- 2006-06-16 CN CN200680044153XA patent/CN101317147B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6744422B1 (en) | 2001-07-13 | 2004-06-01 | Openwave Systems Inc. | Variable time-out for multi-tap key entry |
US20040163032A1 (en) | 2002-12-17 | 2004-08-19 | Jin Guo | Ambiguity resolution for predictive text entry |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101593145B1 (ko) * | 2014-09-25 | 2016-02-11 | 주식회사 포워드벤처스 | 연관 질의어 제공 시스템 및 방법 |
KR20230010431A (ko) | 2021-07-12 | 2023-01-19 | 홍소현 | 동애등에 산란장치 |
KR20230030170A (ko) | 2021-08-25 | 2023-03-06 | 홍소현 | 동애등에 산란유도 구조물 |
Also Published As
Publication number | Publication date |
---|---|
US20120159317A1 (en) | 2012-06-21 |
CN101317147B (zh) | 2011-09-07 |
CA2633880A1 (en) | 2007-06-21 |
WO2007068505A1 (en) | 2007-06-21 |
KR20080075878A (ko) | 2008-08-19 |
EP1960861A1 (en) | 2008-08-27 |
US10152139B2 (en) | 2018-12-11 |
CN101317147A (zh) | 2008-12-03 |
JP5147712B2 (ja) | 2013-02-20 |
JP2009524853A (ja) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101027167B1 (ko) | 자동완성 방법 및 시스템 | |
CN101393506B (zh) | 用于具有多语言环境的设备的输入方法及相关设备和系统 | |
US10402493B2 (en) | System and method for inputting text into electronic devices | |
US9047268B2 (en) | Character and word level language models for out-of-vocabulary text input | |
US7159191B2 (en) | Input of data | |
US6573844B1 (en) | Predictive keyboard | |
US20090058823A1 (en) | Virtual Keyboards in Multi-Language Environment | |
US20130007606A1 (en) | Text deletion | |
US20080195571A1 (en) | Predicting textual candidates | |
TW200842613A (en) | Spell-check for a keyboard system with automatic correction | |
US20140040733A1 (en) | Responding to selection of a displayed character string | |
EP2206058A2 (en) | Systems and methods for character correction in communication devices | |
US5781891A (en) | Medical transcription system with text expansion | |
US20160371251A1 (en) | English input method and input device | |
JP2009532773A (ja) | キーパッドの複数文字キーを使用した英数字データ入力装置および方法 | |
Tantug | A probabilistic mobile text entry system for agglutinative languages | |
US11322142B2 (en) | Acoustic sensing-based text input method | |
US20140215327A1 (en) | Text input prediction system and method | |
WO2007069175A2 (en) | Method and apparatus for manipulating data files | |
CN1878191A (zh) | 具有改进的单词校正的手持式电子设备及其相关方法 | |
KR20140088945A (ko) | 백스페이스로 삭제된 문자를 복구하는 방법 및 상기 방법을 수행하는 시스템 | |
EP1975807B1 (en) | Use of a suffix-removing spell check algorithm for a spell check function, and associated handheld electronic device | |
EP1975810B1 (en) | Use of a suffix-changing spell check algorithm for a spell check function, and associated handheld electronic device | |
JP2000222432A (ja) | 文書検索装置、文書検索方法及び文書検索プログラムを記録した記録媒体 | |
US20070033173A1 (en) | Method and apparatus for data search with error tolerance |
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 | ||
LAPS | Lapse due to unpaid annual fee |