KR100942123B1 - 키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템 - Google Patents

키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템 Download PDF

Info

Publication number
KR100942123B1
KR100942123B1 KR1020030028037A KR20030028037A KR100942123B1 KR 100942123 B1 KR100942123 B1 KR 100942123B1 KR 1020030028037 A KR1020030028037 A KR 1020030028037A KR 20030028037 A KR20030028037 A KR 20030028037A KR 100942123 B1 KR100942123 B1 KR 100942123B1
Authority
KR
South Korea
Prior art keywords
index
hangul
determining
keystroke
code
Prior art date
Application number
KR1020030028037A
Other languages
English (en)
Other versions
KR20030086425A (ko
Inventor
단이. 로빈스
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20030086425A publication Critical patent/KR20030086425A/ko
Application granted granted Critical
Publication of KR100942123B1 publication Critical patent/KR100942123B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 시스템 및 방법은 극동어 문자(Far East language character)와 연관된 엔트리(entry)를 필터링하는 것에 관한 것이다. 데이터베이스, 연락 리스트 (contact list), 텍스트 파일 등의 각 엔트리에 대해서 유망 키스트로크 (keystroke)가 결정된다. 일 실시예에서, 엔트리는 극동어 문자와 연관된 유니코드(Unicode)이다. 인덱스가 극동어 문자에 부분적으로 기초하여 유니코드로부터 결정된다. 결정된 인덱스는 극동어 문자와 연관된 유망 키스트로크를 결정하기 위해 사용된다. 만약 결정된 유망 키스트로크가 수신된 키스트로크와 거의 일치한다면, 그 극동어 문자와 연관된 엔트리가 선택된다. 일 실시예에서, 선택된 엔트리와 연관된 극동어 문자가 디스플레이 장치에 제공된다. 극동어 문자는 한국어, 일본어 및 중국어 문자를 포함할 수 있다.
극동어 문자, 필터링, 키스트로크, 엔트리

Description

키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템{SYSTEM AND METHOD FOR FILTERING FAR EAST LANGUAGE}
도 1은 본 발명을 실행하기 위한 예시적인 통신 장치의 일 실시예를 보여주는 기능 블록도(functional block diagram).
도 2는 극동어와 연관된 엔트리를 필터링하기 위한 도 1의 통신 장치(100)에서의 구성요소의 일 실시예의 기능 블록도.
도 3은 도 2의 스마트 테이블(206)에 대한 일 실시예의 예시도.
도 4는 극동어와 연관된 엔트리를 필터링하는 과정의 일 실시예를 일반적으로 보여주는 흐름도.
도 5는 한국어 문자와 연관된 유망 키스트로크를 결정하는 과정의 일 실시예를 일반적으로 보여주는 흐름도.
도 6은 본 발명에 따라 한국어 문자와 연관된 유망 키스트로크 테이블로 인덱싱하기 위한 일 실시예의 예시도.
<도면의 주요 부분에 대한 부호의 설명>
100: 통신 장치 160: 프로세서 162: 메모리
128: 디스플레이 132: 키패드 140: LED
170: 전원 172: 라디오 174: 오디오 인터페이스
200: 시스템 202: 내용관리자 204: 스마트 필터
206: 스마트 테이블 208: 내용 데이터베이스
210: 입력 모듈 212: 출력 모듈
302, 304, 및 306: 초성, 중성, 및 종성 테이블
308: 등가 맵핑 310: 유망 키스트로크 테이블
본 발명은 텍스트 필터링(text filtering)에 관한 것으로서, 보다 구체적으로는 극동어 문자(Far East language character)를 포함하는 엔트리를 필터링하는 것에 관한 것이다.
오늘날의 인구는 다문화적이고, 다언어적이다. 이러한 다양한 인구에 대응하기 위하여, 기술 제공자들은 사용자가 그들 자신들의 언어로 컴퓨팅 장치와 통신할 수 있도록 하는 컴퓨팅 장치의 필요성을 인식하여 왔다. 이 때문에, 다수의 컴퓨팅 장치에서 사용자는 극동어 문자들과 같은 비영어 문자(non-English language character)를 입력할 수 있다. 이러한 컴퓨팅 장치 중 많은 것들이 입력 방법 편집기(input method editor; IME)로 알려진 것을 사용한다.
전단처리기(front-end processor)로도 알려진, IME는 사용자가 표준 101-키 키보드를 사용하여 극동어 등에서 사용되는 상이한 문자 들을 입력할 수 있도록 하는 애플릿 (applet)을 일반적으로 포함한다. IME는 키스트로크들을 표음 및 표의 문자로 변환할 수 있다. 사용자가 키스트로크를 입력할 경우, IME는 입력된 키스트로크가 어떤 표의 문자 또는 문자들로 변환되어야 할지에 대한 추정을 시도한다.
그러나, 극동어에 대해서는 하나의 문자를 생성하기 위해서 여러 번의 키스트로크가 요구될 수 있다. 이 때문에, 전통적인 IME들은 사용하기에 복잡하고 느리다. 게다가, 오늘날의 IME들의 다수는 101-키 키보드를 통틀어 사용가능한 전범위의 키스트로크들을 필요로 한다. 이 때문에, 스마트 폰, PDA(personal digital assistant) 등과 같은 휴대용 컴퓨팅 장치에 대해서 전형적인 IME들은 종종 비실용적이게 된다. 또한, 이러한 제한 때문에, 전형적인 IME들은 극동어 문자와 연관된 엔트리를 포함하는 데이터베이스, 연락 리스트 등을 빠르게 검색하는 것에는 부적합하다. 그러므로, 이러한 점들을 해결하기 위해 본 발명이 만들어지게 되었다.
본 발명은 극동어 문자와 연관된 엔트리를 필터링하기 위한 시스템, 장치 및 방법을 제공한다. 엔트리는 개인의 연락 정보(contact information)와 연관된 정보에 대응할 수 있다. 예를 들어, 엔트리는 극동어 문자를 포함하는 이름을 포함할 수 있다. 데이터베이스, 연락 리스트, 텍스트 파일 등의 각 엔트리에 대해서 유망 키스트로크가 결정된다. 사용자가 키스트로크를 입력하면, 본 발명은 매치(match)가 존재하는지를 결정하기 위해 각 엔트리에 대한 유망 키스트로크를 입력된 키스트로크와 비교한다. 매치가 존재하면, 엔트리가 사용자에게 디스플레이된다. 추가적인 키스트로크들이 입력되자마자, 디스플레이된 엔트리들은 감소될 수 있다. 엔트리들로부터 유망 키스트로크들을 결정하는 것에 의해, 사용자가 원하는 엔트리를 얻기 위해 입력할 필요가 있는 키스트로크들의 수는 감소될 수 있다.
본 발명의 일 양상으로, 본 발명의 시스템은 극동어 문자와 연관된 엔트리를 필터링하기 위한 컴퓨터 실행가능한 명령어들을 구비한 컴퓨터-판독가능한 매체에 관한 것이다. 명령어들은 극동어 문자와 연관된 엔트리 및 키스트로크를 수신하는 것을 포함한다. 명령어들은 엔트리에 기초하여 유망 키스트로크를 결정하는 것을 더 포함한다. 만약 유망 키스트로크가 수신된 키스트로크와 거의 일치한다면, 극동어 문자와 연관된 그 엔트리가 선택된다.
본 발명의 다른 양상으로, 본 발명은 극동어 문자와 연관된 엔트리를 필터링하는 장치에 관한 것이다. 장치는 데이터베이스, 입력 모듈 및 스마트 필터를 포함한다. 데이터베이스는 엔트리를 저장하도록 구성된다. 엔트리는 극동어 문자와 연관된다. 입력 모듈은 입력 키스트로크를 제공하도록 구성된다. 스마트 필터는 데이터베이스 및 입력 모듈에 연결되어, 동작들을 수행하도록 구성된다. 스마트 필터는 입력 키스트로크 및 엔트리를 수신하도록 구성된다. 스마트 필터는 엔트리에 기초하여 유망 키스트로크를 결정하고, 만약 유망 키스트로크가 입력 키스트로크와 대략 일치하면 그 엔트리를 선택하도록 더 구성된다.
본 발명의 또 다른 양상으로, 본 발명은 그래픽 사용자 인터페이스(graphical user interface; GUI) 및 사용자 입력 메커니즘을 구비한 컴퓨터 장치에서, 연락 데이터베이스(contact database)내의 엔트리를 필터링하는 방법에 관한 것이다. 본 방법은 사용자 입력 메커니즘으로부터 입력을 수신하는 단계, 및 수신된 입력에 기초하여 입력 키스트로크를 결정하는 단계를 포함한다. 본 방법은 엔트리가 극동어 문자와 연관되어 있는 연락 데이터베이스내의 엔트리를 수신하는 단계를 더 포함한다. 또한, 본 방법은 수신된 엔트리에 기초하여 유망 키스트로크를 결정하는 단계, 및 만약 결정된 유망 키스트로크가 입력 키스트로크와 대략 일치하면, 그 엔트리와 연관된 극동어 문자를 그래픽 사용자 인터페이스 상에 디스플레이 하는 단계를 또한 포함한다.
본 발명의 또 다른 양상에서, 본 발명은 극동어 문자에 대한 키스트로크를 식별하는 방법에 관한 것이다. 본 방법은 극동어 문자와 연관된 코드를 수신하는 단계, 수신된 극동어 문자와 연관된 코드에 적어도 부분적으로 기초하여 인덱스를 결정하는 단계, 및 결정된 인덱스를 사용하여 키스트로크 -이는 극동어 문자와 연관되는 선택된 키스트로크임- 를 식별하는 단계를 포함한다.
여기서부터, 본 발명은 수반하는 도면들 -상기 도면들은 본 명세서의 일부분을 형성하며, 예시의 방법에 의해 본 발명이 실시될 수 있는 전형적인 실시예를 보여줌- 을 참조하여 보다 충실하게 설명될 것이다. 그러나, 본 발명은 다수의 다른 형태로 구현될 수 있으며, 여기서 설명되는 실시예들에 제한되는 것으로 해석되어서는 안 된다. 단지, 이들 실시예들은 본 개시가 철저하고 완전한 것이 되도록, 그리고 당업자에게 본 발명의 범위를 완전하게 전달될 수 있도록 제공된다. 무엇보다도, 본 발명은 방법들 또는 장치들로서 구현될 수 있다. 따라서, 본 발명은 완전한 하드웨어의 실시, 완전한 소프트웨어 실시 또는 소프트웨어 및 하드웨어 양 상을 결합한 실시의 형태를 취할 수 있다. 그러므로, 다음의 상세한 설명은 제한된 의미로 받아들여져서는 안된다.
명세서를 통틀어, "연결된(connected)"이란 용어는 연결되는 것들 사이에 어떤 매개의 장치나 구성요소가 없는 직접적인 연결을 의미한다.
"a", "an" 및 "the"의 의미는 복수의 참조를 포함한다. "in"의 의미는 "in" 및 "on"을 포함한다. 또한, 다른 언급이 없거나 여기서의 개시내용과 부합하지 않는 것이 아니라면 단수에 대한 참조는 복수에 대한 참조를 포함한다.
요약해서 말하자면, 본 발명은 극동어 문자와 연관된 엔트리를 필터링하는 시스템 및 방법에 관한 것이다. 데이터베이스, 연락 리스트, 텍스트 파일 등의 엔트리에 대해서 유망 키스트로크가 선택된다. 일 실시예에서, 엔트리는 극동어 문자와 연관된 유니코드 표준 코드(Unicode Standard code)를 사용한다. 인덱스가 극동어 문자와 연관된 초성(leading consonant), 중성 및 종성(trailing consonant)에 부분적으로 기초하여 유니코드 표준 코드로부터 결정된다. 결정된 인덱스는 극동어 문자와 연관된 유망 키스트로크를 결정하기 위하여 사용된다. 만약 결정된 유망 키스트로크가 수신된 키스트로크와 대략 일치하면, 그 엔트리가 선택된다. 일 실시예에서, 선택된 엔트리와 연관된 극동어 문자가 디스플레이 장치에 제공된다. 선택된 엔트리와 연관된 극동어 문자는 일본어, 고전 중국어, 및 현대 중국어 문자를 포함할 수 있다.
예시적인 환경
도 1은 본 발명을 실시하기 위한 예시적인 통신 장치(100)의 실시예를 보여주는 기능 블럭도이다. 본 발명의 일 실시예에서, 통신 장치(100)는 PDA, 스마트 폰 등과 같은 이동 통신 장치로서 구현된다. 또한, 통신 장치(100)는 포켓용 컴퓨터, 태블릿 컴퓨터(tablet computer), 개인용 컴퓨터, 멀티프로세서 시스템, 멀티프로세서-기반 또는 프로그램가능한 가전제품(multiprocessor-based or programmable consumer electronics), 네트워크 PC, 착용가능한 컴퓨터(wearable computer) 등을 포함할 수 있다.
통신 장치(100)는 도 1에 도시된 것보다 더 많은 다수의 구성요소들을 포함할 수 있다. 그러나, 도시된 부품들만으로도 본 발명을 실시하기 위한 예시적인 실시예를 설명하기에 충분하다.
도 1에 도시된 바와 같이, 통신 장치(100)는 프로세서(160), 메모리(162), 디스플레이(128), 및 키패드(132)를 포함할 수 있다. 메모리(162)는 일반적으로 휘발성 메모리(예컨대, RAM)와 비휘발성 메모리(예컨대, ROM, 플래시 메모리 등)를 모두 포함한다. 통신 장치(100)는 마이크로소프트사의 윈도우 CE 운영 시스템 또는 다른 그와 같은 운영 시스템(164)을 포함하는데, 이 운영 시스템은 메모리(162)내에 상주하며, 프로세서(160) 상에서 실행된다. 키패드(132)는 (일반 전화기 상에 있는 것과 같은) 푸시 버튼 숫자 다어이링 패드, (일반 키보드와 같은) 멀티-키 키보드일 수 있다. 디스플레이(128)는 이동 통신 장치에서 흔히 사용되는 액정 디스플레이(liquid crystal display; LCD) 또는 다른 유형의 디스플레이일 수 있다. 예를 들어, 디스플레이(128)는 터치 방식(touch-sensitive)일 수 있으며, 이 경우 극동어 스트로크의 입력이 가능한 입력 장치로서의 역할을 할 수도 있다.
하나 이상의 응용 프로그램(166)이 메모리(162)로 로딩되어, 운영 시스템 (164) 상에서 실행된다. 응용 프로그램의 예에는, 전화 다이얼 프로그램, 내용 관리자(content manager), 스프레드시트 프로그램(spreadsheet program), 스마트 필터 등이 포함될 수 있다. 또한, 통신 장치(100)는 메모리(162) 내에 비휘발성 메모리(168)를 포함한다. 비휘발성 메모리(168)는 통신 장치(100)가 꺼지더라도 잃어버려서는 안되는 불변의 정보를 저장하기 위해 사용될 수 있다. 응용 프로그램 (166)은 e-메일 응용 프로그램에 의해 사용되는 e-메일 또는 다른 메시지들, 내용 관리자에 의해 사용되는 연락 정보, 데이터 베이스 등, 스케줄 프로그램에 의해 사용되는 약속 정보, 워드 프로세싱 응용 프로그램에서 사용되는 문서들 등과 같은 비휘발성 메모리(168) 내의 정보를 사용하고 저장할 수 있다. 또한, 동기화 응용 프로그램이 통신 장치(100) 상에 상주할 수 있는데, 호스트 컴퓨터 상에 상주하는 대응 동기화 응용 프로그램과 상호 작용하여 비휘발성 메모리(168)에 저장된 정보가 호스트 컴퓨터에 저장된 대응 정보와 동기화를 유지할 수 있도록 프로그램된다.
또한, 통신 장치(100)는 하나 이상의 배터리로 구현될 수 있는 전원(170)을 포함한다. 전원(170)은 AC 어댑터 또는 배터리를 보충하거나 재충전하는 동력 도킹 크레이들(powered docking cradle)과 같은 외부 전원을 더 포함할 수 있다.
또한, 통신 장치(100)는 다음과 같은 2가지 형태의 외부 통지 메커니즘을 구비하는 것으로 도시된다: LED(140)와 오디오 인터페이스(174). 이들 장치는, 활성화될 경우 프로세서(160)와 다른 구성요소들이 배터리 전원을 유지하기 위해 꺼지더라도 통지 메커니즘에 의해 지정된 기간동안 계속해서 켜져 있도록 전원(170)에 직접 연결될 수 있다. LED(140)는 사용자가 장치의 파워-온 상태를 지시하는 동작을 취할 때까지 무기한으로 계속해서 켜져 있도록 프로그램될 수 있다. 오디오 인터페이스(174)는 사용자에게 오디오 신호를 제공하고 사용자로부터 오디오 신호를 수신하기 위해 사용된다. 예를 들어, 오디오 인터페이스(174)은 오디오 출력을 제공하기 위한 스피커와, 오디오 입력을 수신하기 위한 마이크로폰에 연결되어 전화통화를 용이하게 할 수 있다.
또한, 통신 장치(100)는 라디오 주파수 통신을 전송하고 수신하는 기능을 수행하는 라디오(172)를 포함한다. 라디오(172)는 통신 전달자 또는 서비스 제공자를 통해 통신 장치(100)와 외부 세계간의 무선 연결을 돕는다. 라디오(172)로 및 라디오로부터의 전송은 운영 시스템(164)의 제어 하에 수행된다. 즉, 라디오(172)에 의해 수신된 통신은 운영 시스템(164)을 통해 응용 프로그램들(166)로 배포될 수 있으며, 그 반대의 경우도 가능하다.
라디오(172)에 의해, 통신 장치(100)는 네트워크를 통해서와 같이 다른 컴퓨팅 장치들과 통신할 수 있다. 라디오(172)는 통신 매체의 일 예이다. 통신 매체는 일반적으로 컴퓨터 판독가능한 명령어들, 데이터 구조, 프로그램 모듈, 또는 반송파(carrier wave) 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호내의 다른 데이터에 의해 구현될 수 있으며, 어떤 정보 전달 매체도 포함한다. "변조된 데이터 신호(modulated data signal)"이란 용어는 하나 이상의 그 특성 집합 (characteristics set)을 가지는 신호나 그 신호내의 정보를 인코딩하는 것과 같은 식으로 변화된 신호를 의미한다. 통신 매체는 유선 네트워크 또는 직접-선 연결 (direct-wired connection)과 같은 유선 매체 및 음향(acoustic), RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 예로써 포함하지만 이에 제한되는 것은 아니다. 여기서 사용된 컴퓨터 판독가능한 매체라는 용어는 저장 매체 및 통신 매체를 모두 포함한다.
도 2는 본 발명에 따른, 극동어와 연관된 엔트리를 필터링하기 위한 구성요소의 일 실시예에 대한 기능 블럭도이다. 시스템(200)은 도 1에 도시된 통신 장치 (100)에서 사용될 수 있다.
시스템(200)은 내용 관리자(202), 스마트 필터(204), 스마트 테이블(206), 내용 데이터베이스(208), 입력 모듈(210), 및 출력 모듈(212)을 포함한다. 시스템 (200)은 도 2에 도시된 것보다 많은 다수의 구성요소들을 포함할 수 있다. 그러나, 도시된 구성요소만으로도 본 발명을 실시하기 위한 예시적인 실시예를 개시하기에 충분하다.
도 2에 도시된 바와 같이, 내용 관리자(202)는 스마트 필터(204), 내용 데이터베이스(208), 입력 모듈(210), 및 출력 모듈(212)과 통신한다. 또한, 스마트 필터(204)도 스마트 테이블(206)과 통신한다.
입력 모듈(210)은 키스트로크 또는 극동어 스트로크 또는 둘 모두를 수신하도록 구성된 키패드, 터치방식 장치(touch-sensitive device) 등을 포함할 수 있다. 입력 모듈(210)은 수신된 키스트로크 및 극동어 스트로크를 저장하도록 구성된 버퍼를 더 포함할 수 있다. 극동어 스트로크는 알파벳 문자와 숫자를 조합한 키스트로크 엔트리가 아닌 극동어 문자 브러시스트로크(brushstroke) 등을 지시하는 입력을 포함할 수 있기 때문에, 입력 모듈(210)은 또한 부분적으로 극동어 스트로크에 기초하여 키스트로크를 결정할 수 있도록 되어 있다. 어떤 경우라도, 입력 모듈(210)은 요구가 있으면 내용 관리자(202)에게 키스트로크를 제공하도록 더 배치된다.
내용 데이터베이스(208)는 복수의 엔트리에 대한 저장소를 제공하도록 구성된다. 엔트리들은 도 1의 통신 장치(100)와 같은 컴퓨팅 장치가 극동어 문자를 나타낼 수 있도록 한다. 일 실시예에서, 엔트리들은 유니코드 표준 코드를 사용하여 극동어 문자를 나타낸다.
내용 데이터베이스(208)는 연락 리스트, 통화 기록(call log), 문서, 문서 이름 등을 나타낼 수 있으며, 여기서 각 엔트리는 극동어 문자를 포함하거나 극동어 문자와 연관된다. 예를 들어, 내용 데이터베이스(208)가 연락 리스트를 나타낼 경우, 하나의 엔트리는 개인의 연락 정보에 대응할 수 있다. 이 경우, 그 엔트리는 극동어로 된 이름을 포함할 수 있다. 따라서, 그 엔트리는, 개인 이름의 제1 문자와 같은, 적어도 하나의 극동어 문자와 연관되거나 적어도 하나의 극동어 문자를 포함한다.
또한, 내용 데이터베이스(208)는 요구가 있으면 내용 관리자(208)에 적어도 하나의 엔트리를 제공하도록 더 구성된다.
출력 모듈(212)은 극동어 문자를 볼 수 있게 하는 실질적으로 어떠한 디스플레이 장치도 포함한다. 예를 들어, 출력 모듈(212)은 LED 장치, LCD 장치, 프린터 장치, 및 유사 디스플레이 장치들을 포함한다.
출력 모듈(212)은 디스플레이를 위하여 내용 관리자(202)로부터 문자, 비트맵 등을 수신하도록 구성된다. 일 실시예에서, 수신된 문자들은 내용 데이터베이 스(208)로부터의 엔트리를 포함한다.
내용 관리자(202)는 입력 모듈(210)로부터의 입력 키스트로크 및 내용 데이터베이스(208)로부터의 엔트리를 수신하도록 구성된다. 일 실시예에서, 내용 관리자(202)는 내용 데이터베이스(208)로부터 복수의 엔트리를 수신한다.
내용 관리자(202)는 또한 입력 키스트로크 및 엔트리를 스마트 필터(204)로 제공하도록 구성된다. 일 실시예에서, 내용 관리자(202)는 내용 데이터베이스 (208)내의 전체 엔트리가 아닌 엔트리의 부분집합을 제공한다. 내용 관리자(202)는 스마트 필터(204)로부터, 그 엔트리와 연관된 극동어 문자로부터 결정된 유망 키스트로크가 입력 키스트로크와 대략 일치하는지 여부를 알려 주는 신호를 수신하도록 구성된다. 내용 관리자(202)는 일치하는 유망 키스트로크와 연관된 엔트리들의 버퍼링된 리스트를 더 관리한다. 버퍼링된 리스트로 인해 내용 관리자(202)는 다른 키스트로크가 입력될 경우 평가되는 엔트리들의 수를 줄일 수 있다. 또한, 내용 관리자(202)는 디스플레이를 위해 출력 모듈(212)에 엔트리를 제공하도록 구성된다.
스마트 테이블(206)은 유망 키스트로크를 결정할 수 있도록 구성된 테이블, 알고리즘, 매트릭스 등을 포함한다. 유망 키스트로크는 사용자가 극동어 문자를 생성하기 위해 입력했을지 모르는 키스트로크를 나타낸다.
도 3을 잠깐 살펴보면, 한국어 문자에 대한 스마트 테이블(206)의 일 실시예에 대한 예시도가 도시되어 있다.
한글로 불리는 한국어 문자는 자모들, 즉 음절들을 포함한다. 각 한글은 세 개의 자모들, 즉 리딩 자음(초성), 모음(중성), 받침 자음(종성)을 가진다. 어떤 한글은 초성 또는 종성을 필요로 하진 않는다. 또한, 한글의 세 부분을 자모로 맵핑하고, 자모로부터 키스트로크, 또는 유사한 표시들로 맵핑하는 다양한 프로그램적인 접근법이 있다. 하나의 접근법은 한글의 세 부분을 자모와 맵핑하기 위해 3가지 중첩 프로그램 루프(nested program loop)를 사용한다. for-루프, do-루프 등과 같은 외부 프로그램 루프가 초성을 맵핑하기 위해 사용된다. 제2의 내부 프로그램 루프는 중성을 맵핑하며, 제3 내부 프로그램 루프는 종성을 맵핑하기 위해 사용된다. 3가지 중첩 프로그램 루프들은 또한 각 부분에 대한 인덱스를 제공하도록 사용될 수도 있다. 그러면, 이들 인덱스는 각 자모 문자와 연관된 키스트로크의 테이블을 인덱스하기 위해 사용될 수 있으며, 이들 키스트로크가 순서대로 함께 결합될 경우 그들은 주어진 한글에 대한 키스트로크를 형성한다.
도 3을 잠깐 살펴보면, 3가지 중첩 프로그램 루프들이 3가지 테이블; 초성 테이블(302), 중성 테이블(304), 종성 테이블(306)로서 예시되어 있다. 또한 등가 맵핑(equivalence mapping; 308) 및 유망 키스트로크 테이블(310)도 도 3에 도시되어 있다. 등가 맵핑(308)은 엔트리와 연관된 유망 키스트로크를 얻기 위해 자모를 상기 세 가지 테이블 중의 하나로부터 유망 키스트로크 테이블(310)로 맵핑하기 위하여 사용된다.
도 2로 돌아가면, 스마트 필터(204)는 내용 관리자(202)로부터 수신된 엔트리에 부분적으로 기초하여 유망 키스트로크를 결정하기 위해 스마트 테이블(206)을 사용한다. 스마트 필터(204)는 한국어, 일본어, 현대 중국어, 고전 중국어 등을 포함하는 다양한 극동어 문자들에 대한 유망 키스트로크를 결정하도록 구성될 수 있다.
스마트 필터(204)는 유망 키스트로크를 입력 키스트로크와 비교하여, 내용 관리자(202)에게 유망 키스트로크가 입력 키스트로크와 대략 일치하는지 여부를 알려주는 신호를 제공할 수 있다.
일 실시예에서, 스마트 테이블(204)은 수신된 엔트리에 부분적으로 기초하여 도 3에 도시된 초성 테이블(302), 중성 테이블(304) 및 종성 테이블(306)로의 인덱스를 결정하도록 구성된다. 인덱스로 인해 스마트 필터(204)는 등가 맵핑(308)을 사용하여 키스트로크 테이블(310)로 더 인덱스할 수 있으며, 이러한 방식으로 수신된 엔트리와 연관된 자모에 대한 유망 키스트로크를 결정할 수 있다.
일반화된 동작
본 발명의 양상들의 동작이 이제 도 4-5와 관련하여 설명될 것이다. 도 4는 본 발명에 따라 극동어 문자와 연관된 엔트리를 필터링하는 과정에 대한 일 실시예를 일반적으로 도시하는 흐름도이다.
프로세스(400)는 시작 블록 후, 입력 키스트로크를 수신하는 블록(402)에서 시작한다. 입력 키스트로크는 일반 전화 터치 키패드 등으로부터 결정되는 것과 같은 알파벳 문자와 숫자를 포함하는 키스트로크를 포함한다. 그 후, 프로세스 (400)는 결정 블럭(decision block; 404)으로 진행하여, 조사될 엔트리가 있는지 여부를 결정한다. 일 실시예에서, 엔트리는 그 엔트리내의 극동어 문자와 연관된 유니코드 표준 코드로 나타난다.
결정 블럭(404)에서, 조사할 엔트리가 더 이상 없다고 결정되면, 프로세스는 끝이 난다. 거꾸로, 결정 블럭(404)에서 조사할 엔트리가 더 있다고 결정되면, 프로세스(400)는 블럭(406)으로 계속 진행하여 다음 엔트리를 수신한다.
블럭(408)에서, 유망 키스트로크가 수신된 엔트리로부터 결정된다. 블럭 (408)에서 수행되는 동작들은 도 5와 함께 상세히 설명된다. 그러나, 요약해서 말하자면, 상술한 결정은 엔트리와 연관된 극동어 문자를 식별하기 위해 입력되었을 제1 키스트로크로 이루어진다. 그 키스트로크가 유망 키스트로크이다.
결정 블럭(410)에서, 입력 키스트로크가 유망 키스트로크(들)과 대략 일치하는지 여부가 결정된다. 입력 키스트로크가 대략적으로도 유망 키스트로크(들)과 일치하지 않는다고 결정되면, 프로세스는 결정 블럭(404)으로 다시 돌아가서, 실질적으로 전술한 바와 같은 동작들을 수행한다. 거꾸로, 결정 블럭(410)에서, 입력 키스트로크가 유망 키스트로크(들)과 대략 일치한다고 결정되면, 프로세스는 블럭(412)으로 계속 진행하여 극동어 문자를 포함하는 엔트리를 디스플레이한다. 다음으로, 프로세스는 결정 블럭(404)으로 다시 돌아가, 더 이상 조사할 엔트리가 없을 때까지 실질적으로 전술한 바와 같은 동작들을 수행한다. 완료하자면, 프로세스(400)는 끝이 난다.
도 5는 본 발명에 따라 한국어 문자와 연관된 유망 키스트로크를 결정하는 프로세스에 대한 일 실시예를 일반적으로 도시하는 흐름도이다. 프로세스(500)는 다른 극동어에 대한 다른 동작들을 포함할 수 있다. 그러나, 도시된 동작들만으로도 본 발명을 실시하기 위한 예시적인 실시예를 설명하기에 충분하다.
프로세스(500)는 엔트리와 연관된 초성, 중성, 종성 인덱스를 결정하기 위해 0xAC00부터 0xD7A4까지의 16진수 범위를 가지는 유니코드 표준 코드를 사용한다. 인덱스는 도 2-3과 함께 전술된 3가지 중첩 프로그램 루프에 부분적으로 기초한다.
프로세스(500)는 시작 블럭 후, 한글 인덱스가 한글과 연관된 유니코드 표준 코드로부터 결정되는 블럭(502)에서 시작한다. 블럭(502)에서, 0-기반 어드레싱(zero-based addressing)을 위해 기본 주소(base address)가 유니코드 표준 코드로부터 제외된다. 일 실시예에서, 16진수 기본 주소는 0xAC00이다.
프로세스(500)는 블럭(504)으로 진행하여, 초성 인덱스를 결정한다. 초성 인덱스는 블럭(502)에서 결정된 한글 인덱스를, 도 2-3과 함께 전술된 2가지 내부 중첩 루프를 실행함으로써 생성되는 한글의 수로 나눔으로써 결정될 수 있다. 외부 프로그램 루프의 모든 경로는 대략 588개의 한글을 생성한다. 한글 인덱스를 약 588로 나누고 그 나머지를 무시하면 초성 인덱스를 얻을 수 있다.
다음으로, 프로세스는 블럭(506)으로 진행하여, 중성 인덱스를 결정한다. 블럭(502)에서 결정된 한글 인덱스가 도 3에서의 2가지 내부 프로그램 루프를 실행하는 것으로부터 얻어지는 대략적인 한글의 수, 즉 약 588로 나누어진다. 이것은 효과적으로 제1 루프를 제거한다. 그 후, 나눗셈으로부터의 나머지가 제3 내부 중첩 프로그램 루프의 크기인, 약 28로 나누어지고 그 나머지를 무시함으로써 중성 인덱스를 결정하기 위해 사용된다.
프로세스(500)는 블럭(508)으로 계속 진행하여, 내부 루프의 크기(예컨대, 28)로 한글 인텍스를 나눈 나머지를 얻음으로써(즉, 한글 인덱스 MOD 28) 종성 인덱스를 결정한다. 이것은 제1의 2가지 중첩 프로그램 루프를 제거하고 제3 중첩 프로그램 루프만을 남기는 효과를 가진다. 나머지가 종성 인덱스를 결정하기 위해 사용된다.
다음으로, 프로세스는 블럭(510)으로 진행하여, 초성, 중성 및 종성 인덱스를 사용하여 한글을 생성할 수 있는 연관된 키스트로크로 맵핑한다. 연관된 키스트로크의 결합은 사용자가 그 엔트리와 연관된 한글에 대해 입력했을지 모르는 키스트로크를 나타내는 일련의 유망 키스트로크(들)을 제공한다. 블럭(510)이 완료하면, 프로세스(500)는 다른 동작들을 수행하도록 돌아간다.
전술한 것에 대한 간단한 예로서, 도 6은 본 발명에 따른 한국어 문자에 대한 키스트로크를 결정하기 위한 일 실시예의 예시도를 제공한다. 도 6에 도시된 바와 같이, 초성 테이블(602)로부터 얻어지는 초성 인덱스는 0이다. 프로세스(500)와 함께 전술된 메커니즘에 기초하면, 중성 테이블(604)로부터 얻어지는 중성 인덱스는 3이며, 종성 테이블(606)로부터 얻어지는 종성 인덱스는 6이다. 키스트로크 테이블(608)을 사용하면, 초성 인덱스와 연관된 키스트로크는 4로 결정된다. 마찬가지로, 키스트로크 테이블(608)이 사용되어, 결정된 중성 인덱스와 연관된 키스트로크를 2-7로 식별한다. 도 6에 도시된 바와 같이, 결정된 종성 인덱스와 연관된 키스트로크는 어떠한 받침도 수신된 엔트리와 연관되어 있지 않다는 것을 알려준다. 본 예에서, 엔트리와 연관된 유망 키스트로크는 4-2-7로서 결정된다.
플로차트 예시의 각 블록 및 플로차트 예시에서의 블록들의 조합이 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다는 것은 이해될 것이다. 이 프로그램 명 령어들은 머신(machine)을 생성하기 위해 프로세서로 제공되어, 프로세서 상에서 실행되는 그 명령어들이 플로차트 블럭 또는 블럭들에서 특정된 동작들을 구현하기 위한 수단을 생성하도록 할 수 있다. 컴퓨터 프로그램 명령어들은 프로세서에 의해 실행되어, 컴퓨터 구현 프로세스를 생성하여 프로세서 상에서 실행되는 명령어들이 플로차트 블럭 또는 블럭들에서 특정된 동작들을 구현하기 위한 단계들을 제공하도록, 일련의 동작 단계들이 프로세서에 의해 수행되도록 할 수 있다.
따라서, 플로차트 예시의 블럭들은 특정 동작들을 수행하기 위한 수단들의 조합, 특정 동작들을 수행하기 위한 단계들의 조합, 및 특정 동작들을 수행하기 위한 프로그램 명령어 수단들을 지원한다. 또한, 플로차트 예시의 각 블럭, 플로차트 예시에서의 블럭들의 조합이 특정 동작들이나 단계들을 수행하는 특수 목적 하드웨어-기반 시스템(special purpose hardware-based system) 또는 특수 목적 하드웨어 및 컴퓨터 명령어들의 조합에 의해 구현될 수 있다는 것이 이해될 것이다.
본 발명에 따르면, 극동어 문자와 연관된 엔트리를 포함하는 데이터베이스, 연락 리스트 등을 빠르게 검색하는 것에 적합한 시스템, 방법, 및 장치가 제공된다.
상기의 특정, 예시 및 데이터는 본 발명의 구성의 제조 및 사용의 완전한 개시를 제공한다. 본 발명의 다수의 실시예가 본 발명의 정신과 범위를 벗어나지 않고도 이루어질 수 있으므로, 본 발명은 여기서부터 부가되는 청구항에 존재한다.

Claims (34)

  1. 한글 문자(Hangul character)를 위한 키스트로크를 식별하기 위한 컴퓨터 구현 방법으로서,
    한글 문자와 연관된 코드를 수신하는 단계;
    상기 한글 문자와 연관된 코드에 적어도 부분적으로 기초하여 인덱스를 결정하는 단계 -상기 인덱스를 결정하는 단계는, 한글 값을 결정하는 단계를 더 포함하고, 상기 한글 값은 상기 코드와 기본 주소(base address) 간의 차이와 동등함- ; 및
    상기 키스트로크를 식별하기 위해 상기 인덱스를 사용하는 단계 -상기 키스트로크는 상기 한글 문자와 연관됨-
    를 포함하는, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 인덱스를 결정하는 단계는, 상기 한글 값을 588로 나누고 그 나머지는 무시함으로써 초성 인덱스를 결정하는 단계를 더 포함하는, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 인덱스를 결정하는 단계는 중성 인덱스를 결정하는 단계를 더 포함하며, 상기 중성 인덱스는 상기 한글 값을 588로 나눈 나머지인, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 인덱스를 결정하는 단계는 종성 인덱스를 결정하는 단계를 더 포함하며, 상기 종성 인덱스는 상기 한글 값을 28로 나눈 나머지인, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 인덱스를 사용하는 단계는, 테이블에 있는 상기 인덱스에 부분적으로 기초하여 상기 키스트로크를 선택하는 단계를 더 포함하는, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 코드는 유니코드 표준 코드(Unicode Standard code)인, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 코드는, 데이터베이스, 연락 리스트, 통화 기록(call log), 및 문서 중 적어도 하나의 엔트리와 연관되어 있는, 키스트로크 식별을 위한 컴퓨터 구현 방법.
  8. 한글 문자를 위한 키스트로크를 식별하기 위한 컴퓨터 실행가능 명령어들을 기록한 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 실행가능 명령어들은, 컴퓨터에,
    한글 문자와 연관된 코드를 수신하는 단계;
    상기 한글 문자와 연관된 코드에 적어도 부분적으로 기초하여 인덱스를 결정하는 단계 -상기 인덱스를 결정하는 단계는 한글 값을 결정하는 단계를 더 포함하고, 상기 한글 값은 상기 코드와 기본 주소 간의 차이와 동등함- ; 및
    상기 키스트로크를 식별하기 위해 상기 인덱스를 사용하는 단계 -상기 키스트로크는 상기 한글 문자와 연관됨-
    를 실행시키는, 컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서,
    상기 인덱스를 결정하는 단계는, 상기 한글 값을 588로 나누고 그 나머지는 무시함으로써 초성 인덱스를 결정하는 단계를 더 포함하는 컴퓨터 판독가능 저장 매체.
  10. 제8항에 있어서,
    상기 인덱스를 결정하는 단계는, 중성 인덱스를 결정하는 단계를 더 포함하며, 상기 중성 인덱스는 상기 한글 값을 588로 나눈 나머지인 컴퓨터 판독가능 저장 매체.
  11. 제8항에 있어서,
    상기 인덱스를 결정하는 단계는, 종성 인덱스를 결정하는 단계를 더 포함하며, 상기 종성 인덱스는 상기 한글 값을 28로 나눈 나머지인 컴퓨터 판독가능 저장 매체.
  12. 제8항에 있어서,
    상기 인덱스를 사용하는 단계는, 테이블에 있는 상기 인덱스에 부분적으로 기초하여 상기 키스트로크를 선택하는 단계를 더 포함하는 컴퓨터 판독가능 저장 매체.
  13. 제8항에 있어서,
    상기 코드는 유니코드 표준 코드인 컴퓨터 판독가능 저장 매체.
  14. 제8항에 있어서,
    상기 코드는, 데이터베이스, 연락 리스트, 통화 기록, 및 문서 중 적어도 하나의 엔트리와 연관되어 있는 컴퓨터 판독가능 저장 매체.
  15. 한글 문자를 위한 키스트로크를 식별하기 위한 시스템으로서,
    프로세서; 및
    컴퓨터 실행가능 명령어가 저장된 메모리
    를 포함하고,
    상기 컴퓨터 실행가능 명령어는, 컴퓨터에,
    한글 문자와 연관된 코드를 수신하는 단계;
    상기 한글 문자와 연관된 코드에 적어도 부분적으로 기초하여 인덱스를 결정하는 단계 -상기 인덱스를 결정하는 단계는, 한글 값을 결정하는 단계를 더 포함하고, 상기 한글 값은 상기 코드와 기본 주소 간의 차이와 동등함- ;
    상기 키스트로크를 식별하기 위해 상기 인덱스를 사용하는 단계 -상기 키스트로크는 상기 한글 문자와 연관됨-
    를 실행시키는, 키스트로크 식별 시스템.
  16. 제15항에 있어서,
    상기 인덱스를 결정하는 단계는, 상기 한글 값을 588로 나누고 그 나머지는 무시함으로써 초성 인덱스를 결정하는 단계를 더 포함하는 키스트로크 식별 시스템.
  17. 제15항에 있어서,
    상기 인덱스를 결정하는 단계는, 중성 인덱스를 결정하는 단계를 더 포함하고, 상기 중성 인덱스는 상기 한글 값을 588로 나눈 나머지인 키스트로크 식별 시스템.
  18. 제15항에 있어서,
    상기 인덱스를 결정하는 단계는, 종성 인덱스를 결정하는 단계를 더 포함하고, 상기 종성 인덱스는 상기 한글 값을 28로 나눈 나머지인 키스트로크 식별 시스템.
  19. 제15항에 있어서,
    상기 인덱스를 사용하는 단계는, 테이블에 있는 상기 인덱스에 부분적으로 기초하여 상기 키스트로크를 선택하는 단계를 더 포함하는 키스트로크 식별 시스템.
  20. 제15항에 있어서,
    상기 코드는 유니코드 표준 코드인 키스트로크 식별 시스템.
  21. 제15항에 있어서,
    상기 코드는, 데이터베이스, 연락 리스트, 통화 기록, 및 문서 중 적어도 하나의 엔트리와 연관되어 있는 키스트로크 식별 시스템.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
KR1020030028037A 2002-05-02 2003-05-01 키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템 KR100942123B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37729502P 2002-05-02 2002-05-02
US60/377,295 2002-05-02
US10/287,836 2002-11-05
US10/287,836 US7002491B2 (en) 2002-05-02 2002-11-05 System and method for filtering far east languages

Publications (2)

Publication Number Publication Date
KR20030086425A KR20030086425A (ko) 2003-11-10
KR100942123B1 true KR100942123B1 (ko) 2010-02-16

Family

ID=29218672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030028037A KR100942123B1 (ko) 2002-05-02 2003-05-01 키스트로크 식별을 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 저장 매체 및 시스템

Country Status (4)

Country Link
US (2) US7002491B2 (ko)
EP (1) EP1359515B1 (ko)
JP (1) JP2004030613A (ko)
KR (1) KR100942123B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788098B2 (en) * 2004-08-02 2010-08-31 Nokia Corporation Predicting tone pattern information for textual information used in telecommunication systems
US7828814B2 (en) * 2004-08-27 2010-11-09 Rox Medical, Inc. Device and method for establishing an artificial arterio-venous fistula
WO2006065108A1 (en) * 2004-12-17 2006-06-22 Nhn Corporation System and method for filtering message
US7366984B2 (en) * 2005-07-29 2008-04-29 Microsoft Corporation Phonetic searching using multiple readings
KR20070024771A (ko) * 2005-08-30 2007-03-08 엔에이치엔(주) 질의어 자동변환을 이용한 자동완성 질의어 제공 시스템 및방법
KR100792699B1 (ko) * 2006-03-17 2008-01-11 엔에이치엔(주) 일반 추천어 및 광고 추천어 자동완성 방법 및 시스템
KR100754768B1 (ko) * 2006-04-06 2007-09-03 엔에이치엔(주) 사용자별 맞춤 추천어를 제공하는 시스템, 방법 및 상기방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체
US8391613B2 (en) * 2009-06-30 2013-03-05 Oracle America, Inc. Statistical online character recognition
IN2015CH05327A (ko) * 2015-10-05 2015-10-16 Wipro Ltd

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920002253B1 (ko) * 1987-05-07 1992-03-20 다떼이시 덴끼 가부시끼가이샤 문자 입력 방법 및 장치
KR20010083120A (ko) * 2000-01-17 2001-08-31 김민겸 키패드에서의 알파벳 입력장치 및 그 방법
US6822585B1 (en) 1999-09-17 2004-11-23 Nokia Mobile Phones, Ltd. Input of symbols

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031206A (en) * 1987-11-30 1991-07-09 Fon-Ex, Inc. Method and apparatus for identifying words entered on DTMF pushbuttons
US4862390A (en) * 1987-12-24 1989-08-29 Hewlett-Packard Company Method and apparatus for selection of one from a plurality of entries listed on a computer display
US5187480A (en) * 1988-09-05 1993-02-16 Allan Garnham Symbol definition apparatus
JPH05314175A (ja) * 1992-05-13 1993-11-26 Ricoh Co Ltd 対訳画像形成装置
US6044365A (en) * 1993-09-01 2000-03-28 Onkor, Ltd. System for indexing and retrieving graphic and sound data
US6003050A (en) * 1997-04-02 1999-12-14 Microsoft Corporation Method for integrating a virtual machine with input method editors
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
US6300934B1 (en) * 1998-11-16 2001-10-09 Sony Corporation Method and apparatus for entering Hangul (Korean) characters
US6646573B1 (en) * 1998-12-04 2003-11-11 America Online, Inc. Reduced keyboard text input system for the Japanese language
US6686852B1 (en) * 2000-09-15 2004-02-03 Motorola, Inc. Keypad layout for alphabetic character input
WO2002031636A1 (en) * 2000-10-13 2002-04-18 Timespace System Co., Ltd System for inputting korean characters for the electronic apparatuses
US20020151327A1 (en) * 2000-12-22 2002-10-17 David Levitt Program selector and guide system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920002253B1 (ko) * 1987-05-07 1992-03-20 다떼이시 덴끼 가부시끼가이샤 문자 입력 방법 및 장치
US6822585B1 (en) 1999-09-17 2004-11-23 Nokia Mobile Phones, Ltd. Input of symbols
KR20010083120A (ko) * 2000-01-17 2001-08-31 김민겸 키패드에서의 알파벳 입력장치 및 그 방법

Also Published As

Publication number Publication date
EP1359515A3 (en) 2006-03-08
EP1359515A2 (en) 2003-11-05
US7002491B2 (en) 2006-02-21
US20030206123A1 (en) 2003-11-06
JP2004030613A (ja) 2004-01-29
EP1359515B1 (en) 2014-03-26
KR20030086425A (ko) 2003-11-10
US20060033644A1 (en) 2006-02-16

Similar Documents

Publication Publication Date Title
US9508028B2 (en) Converting text strings into number strings, such as via a touchscreen input
CA2647938C (en) Handheld electronic device and method for learning contextual data during disambiguation of text input
US20060033644A1 (en) System and method for filtering far east languages
US20030104839A1 (en) Communication terminal having a text editor application with a word completion feature
US20080313182A1 (en) Methods, devices, and computer program products for predictive text entry in mobile terminals using multiple databases
JP6122800B2 (ja) 電子機器、文字列表示方法、および文字列表示プログラム
WO2007112540A1 (en) Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
JP2001155014A (ja) 受信メール表示方法及び絵文字変換機能付き電子メール端末装置並びにメール中継方法
WO2009098350A1 (en) Device and method for providing fast phrase input
US20150293975A1 (en) Method and device for searching for contact object, and storage medium
KR20100046043A (ko) 키패드 텍스트 입력의 명확화
US8612210B2 (en) Handheld electronic device and method for employing contextual data for disambiguation of text input
US20100149190A1 (en) Method, apparatus and computer program product for providing an input order independent character input mechanism
US8972241B2 (en) Electronic device and method for a bidirectional context-based text disambiguation
KR20180125237A (ko) 모바일 단말기의 이모티콘 입력방법, 그 방법을 위한 소프트웨어를 저장하는 소프트웨어 분배 서버
CN102999639A (zh) 一种基于语音识别字符索引的查找方法及系统
RU2525748C2 (ru) Ввод текста с использованием двух алфавитов и функция выделения клавиш
EP1632870A2 (en) System and method for identifying a keystroke for a Far East language character
CN113553832B (zh) 文字处理方法和装置、电子设备以及计算机可读存储介质
EP1843253A1 (en) Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
CA2812130A1 (en) Electronic device and method for dynamically formatting monetary expressions
EP1843240A1 (en) Handheld electronic device and method for learning contextual data during disambiguation of text input
US20080189327A1 (en) Handheld Electronic Device and Associated Method for Obtaining New Language Objects for Use by a Disambiguation Routine on the Device
CN114637405A (zh) 汉字输入方法、系统、计算机设备及存储介质
KR100644997B1 (ko) 한자 학습 기능을 구비한 이동통신 단말기

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: 20130121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee