KR101412763B1 - 문맥적 입력 방법 - Google Patents

문맥적 입력 방법 Download PDF

Info

Publication number
KR101412763B1
KR101412763B1 KR1020097018939A KR20097018939A KR101412763B1 KR 101412763 B1 KR101412763 B1 KR 101412763B1 KR 1020097018939 A KR1020097018939 A KR 1020097018939A KR 20097018939 A KR20097018939 A KR 20097018939A KR 101412763 B1 KR101412763 B1 KR 101412763B1
Authority
KR
South Korea
Prior art keywords
characters
input
character
candidate
candidate characters
Prior art date
Application number
KR1020097018939A
Other languages
English (en)
Other versions
KR20090109585A (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 KR20090109585A publication Critical patent/KR20090109585A/ko
Application granted granted Critical
Publication of KR101412763B1 publication Critical patent/KR101412763B1/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/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

입력 방법은 상징 문자로 된 복수의 캐릭터들로부터 한 캐릭터를 선택하고, 선택된 캐릭터에 근접한 캐릭터들을 식별한다. 그 다음, 복합 입력 및 근접 캐릭터에 기초하여 하나 이상의 후보 캐릭터들이 선택된다.
입력 방법, 근접 캐릭터, 인접 캐릭터, 복합 입력, 후보 캐릭터

Description

문맥적 입력 방법{CONTEXTUAL INPUT METHOD}
본 발명은 입력 방법에 관한 것이다.
예를 들어, 상형 문자와 같이, 하나 이상의 캐릭터가 대략 하나의 단어 또는 의미에 대응하는 상징 문자(logographic script)를 이용하는 언어는, 모바일 장치 키패드 상의 컴퓨터 키보드와 같은 표준 입력 장치 상의 키보다 더 많은 캐릭터를 가진다. 예를 들어, 중국어는 기초 병음문자(Pinyin)와 5개의 음조(tone)에 의해 정의된 수천개의 캐릭터를 포함한다. 다-대-일 연관의 맵핑은 입력 장치 상에 없는 캐릭터 및 심볼의 입력을 용이하게 하는 입력 방법에 의해 구현될 수 있다. 따라서, 웨스턴-스타일의 키보드는 중국어, 일본어, 한국어 캐릭터를 입력하는데 이용될 수 있다.
종래의 입력 방법은 복합 입력에 기초하여 입력을 예측하는 세션-기반의 컨텍스트를 이용할 수 있다. 각 입력에서, 세션-기반의 컨텍스트는 리셋된다.
한 구현에서, 입력 방법은 상징 문자로 된 복수의 캐릭터로부터 한 캐릭터를 선택하고, 선택된 캐릭터에 인접한 근접 캐릭터들을 식별한다. 그 다음, 복합 입력 및 근접 캐릭터들에 기초하여 하나 이상의 후보 캐릭터들이 선택된다.
또 다른 구현예에서, 시스템은 데이터 저장소와 입력 엔진을 포함한다. 데이터 저장소는 복합 입력과 캐릭터들의 연합체(association)를 저장할 수 있다. 여기서, 하나 이상의 캐릭터들은 복수의 복합 입력과 연관된다. 입력 엔진은 처리 장치로 하여금, 사용자 입력에 응답하여 복수의 캐릭터로부터 하나의 캐릭터를 선택하고, 선택된 캐릭터에 인접한 인접 캐릭터를 식별하며, 복합 입력 및 인접 캐릭터에 기초하여 하나 이상의 후보 캐릭터를 식별하게끔 할 수 있다.
또 다른 구현에서, 입력 방법은 하나 이상의 캐릭터에 인접하게 커서를 위치시킨다. 커서에 인접한 캐릭터들이 식별되고, 복합 입력이 수신된다. 그 다음, 복합 입력과 인접 캐릭터들에 기초하여 하나 이상의 후보 캐릭터들이 선택된다.
본 명세서에서 공개되는 시스템 및 방법은 예를 들어 커서 위치에 기초하여 입력 컨텍스트의 식별을 용이하게 할 수 있다. 한 예시적 구현에서, 입력 컨텍스트는, 선택에 대한 후보 캐릭터들의 더 적거나 및/또는 더 많은 정확한 식별로 귀착될 수 있다. 또 다른 예시적 구현예에서, 커서 위치에 기초한 입력 컨텍스트는 복합 입력과는 독립된 초기 컨텍스트를 제공하고, 수신된 복합 입력에 기초하여 컨텍스트를 수정한다. 그러나, 이와 같은 예시적 잇점들은 구현되지 않아도 되고, 별도로 구현될 수도 있다.
도 1은 본 명세서에 공개된 시스템 및 방법을 구현하는데 이용될 수 있는 예시적 시스템의 블럭도이다.
도 2는 예시적 편집 시스템의 블럭도이다.
도 3-6은 상징 문자 편집예를 도시하는 개략도이다.
도 7은 상징 문자 편집 환경예를 도시한다.
도 8은 한자 캐릭터에 대한 편집 환경의 개략도이다.
도 9는 상징 문자에 대한 후보 캐릭터들을 식별하기 위한 예시적인 프로세스의 흐름도이다.
도 10은 상징 문자에서 선택된 캐릭터에 대한 인접 캐릭터들을 식별하기 위한 예시적인 프로세스의 흐름도이다.
도 11은 컨텍스트 윈도우의 가장자리를 조절하기 위한 예시적 프로세스의 흐름도이다.
도 12는 컨텍스트 기반의 입력 엔진을 구비한 입력 세션을 이용하기 위한 예시적 프로세스의 흐름도이다.
도 13은 후보 캐릭터들을 제시할 순서를 결정하기 위한 예시적 프로세스의 흐름도이다.
도 1은 본 명세서에서 기술되는 시스템 및 방법을 구현하는데 이용될 수 있는 예시적 시스템(100)의 블럭도이다. 시스템(100)은, 예를 들어, 개인용 컴퓨터, 또는, 모바일 전화, 모바일 통신 장치, PDA 등과 같은 기타의 전자 장치들과 같은 컴퓨터 장치에서 구현될 수 있다.
예시적인 시스템(100)은, 처리 장치(102), 제1 데이터 저장소(104), 제2 데이터 저장소(106), 입력 장치(108), 출력 장치(110), 및 네트워크 인터페이스(112) 를 포함한다. 예를 들어 데이터 버스와 마더보드를 포함하는, 버스 시스템(114)은 컴포넌트들(102, 104, 106, 108, 110 및 112) 사이에서 데이터 통신을 확립하고 제어하는데 이용될 수 있다. 그러나, 다른 예시적인 시스템 아키텍쳐도 역시 이용될 수 있다.
처리 장치(102)는, 예를 들어, 하나 이상의 마이크로프로세서를 포함한다. 제1 데이터 저장소(104)는, 예를 들어, 다이내믹 랜덤 액세스 메모리(DRAM)와 같은 랜덤 액세스 메모리 스토리지 장치, 또는 기타 타입의 컴퓨터-판독가능한 매체 메모리 디바이스를 포함할 수 있다. 제2 데이터 저장소(106)는, 예를 들어, 하나 이상의 하드 드라이브, 플래시 메모리, 및/또는 판독 전용 메모리, 또는 기타 타입의 컴퓨터-판독가능한 매체 메모리 디바이스를 포함할 수 있다.
예시적인 입력 장치(108)는 키보드, 마우스, 스타일러스 등을 포함할 수 있으며, 예시적인 출력 장치(110)는 디스플레이 장치, 오디오 장치 등을 포함할 수 있다. 네트워크 인터페이스(112)는, 예를 들어, 네트워크(116)로 및 네트워크로부터 데이터를 전달하도록 동작할 수 있는 유선 또는 무선 네트워크 장치를 포함할 수 있다. 네트워크(116)는, 하나 이상의 근거리 통신망(LAN), 및/또는, 인터넷과 같은 WAN(Wide Area Network)을 포함할 수 있다.
한 실시예에서, 시스템(100)은 예를 들어 한자 캐릭터와 같은 입력 캐릭터 또는 심볼에 대한 복합 입력을 수신할 수 있다. 예를 들어, 사용자는 한자 캐릭터의 식별을 위한 복합 입력을 입력하기 위해 하나 이상의 입력 장치(108)(예를 들어, 웨스턴-스타일 키보드, 수기 인식 엔진을 구비한 스타일러스 등)를 이용할 수 있다. 일부 예에서, 한자 캐릭터는 하나 이상의 복합 입력으로 구성될 수 있다. 복합 입력을 한자 캐릭터로 변환하기 위해 다양한 입력 방법 엔진(IME)이 이용가능하다. IME들 각각은, 예를 들어, IME의 구현에 따라, 동일한 한자 캐릭터를 나타내는 상이한 복합 입력을 가질 수 있다. 예를 들어, 동일한 한자 캐릭터는 병음문자(penyin) IME에서 상이한 복합 입력과 연관될 수 있다.
한 구현예에서, 시스템(100)은 하나 이상의 병음문자 복합 입력을 수신하고 그 복합 입력을 한자 캐릭터로 변환할 수 있다. 병음문자 IME는, 예를 들어, 한자 캐릭터를 나타내기 위해 키스트로크로부터 수신된 캐릭터 또는 병음문자 음절의 복합체를 이용할 수 있다. 각각의 병음문자 음절은, 예를 들어, 웨스턴 키보드의 한 키에 대응할 수 있다. 병음문자 IME를 이용하여, 사용자는, 한자 캐릭터의 소리를 나타내는 하나 이상의 병음문자 음절을 포함하는 복합 입력을 이용함으로써 한자 캐릭터를 입력할 수 있다.
제1 데이터 저장소(104) 및/또는 제2 데이터 저장소(106)는 복합 입력과 캐릭터들의 연합체를 저장할 수 있다. 사용자 입력에 기초하여, 처리 장치(102)는, 입력이 나타내는 하나 이상의 후보 캐릭터들을 식별하기 위해 데이터 저장소(104) 및/또는 데이터 저장소(106)의 정보를 이용할 수 있다. 한 구현예에서, 하나 이상의 후보 캐릭터가 식별되면, 후보 캐릭터들은 출력 장치(110) 상에 디스플레이된다. 입력 장치(108)를 이용하여, 사용자는, 후보 캐릭터들로부터, 사용자가 입력하기를 원하는 한자 캐릭터를 선택할 수 있다.
한 구현예에서, 처리 장치(102)는, 텍스트에서 하나 이상의 복합 입력 및 근 접 캐릭터에 기초하여 후보 캐릭터들을 식별할 수 있다. 한 구현에서, 근접 캐릭터들은 인접 캐릭터들이다: 그러나, 다른 근접 캐릭터들도 역시 이용될 수 있다. 인접 캐릭터는 예를 들어 후보 캐릭터를 식별하기 위해 이용될 수 있는 컨텍스트 정보를 제공할 수 있다. 예를 들어, 사용자는, 한자 캐릭터의 문장 또는 패러그라프 내의 캐릭터와 같은, 상징 문자로 된 복수의 캐릭터들로부터 한 캐릭터를 선택할 수 있다. 그 선택에 기초하여, 처리 장치(102)는 선택된 캐릭터에 인접한 하나 이상의 캐릭터를 식별하고 사용자로부터 복합 입력을 수신할 수 있다. 복합 입력 및 인접 캐릭터에 기초하여, 처리 장치(102)는 사용자에 의한 선택용의 하나 이상의 후보 캐릭터들을 식별할 수 있다.
일부 구현예에서, 상징 문자 편집을 위해 시스템(100)에 대한 액세스를 갖는 원격 컴퓨팅 시스템(118)이 이용될 수 있다. 예를 들어, 시스템(100)은, 네트워크(116)를 통해 상징 문자 편집 기능을 제공하는 서버일 수 있다. 한 예에서, 사용자는, 원격 컴퓨팅 시스템, 예를 들어, 클라이언트 컴퓨터를 이용하여, 데이터 저장소(104) 및/또는 데이터 저장소(106) 내에 저장된 상징 문자를 편집할 수 있다. 시스템(100)은, 예를 들어, 캐릭터를 선택하고, 네트워크 인터페이스(112)를 통해 사용자로부터 복합 입력을 수신할 수 있다. 처리 장치(102)는, 예를 들어, 선택된 캐릭터에 인접한 하나 이상의 캐릭터를 식별하고, 수신된 복합 입력 및 인접 캐릭터에 기초하여 하나 이상의 후보 캐릭터를 식별할 수 있다. 시스템(100)은 후보 캐릭터를 포함하는 데이터 통신을 원격 컴퓨팅 시스템에 전송할 수 있다.
도 2는 시스템(100)에서 구현될 수 있는 편집 시스템(200)의 블럭도이다. 편집 시스템(200)은, 편집 장치(202), 입력 엔진(204), 캐릭터 데이터 저장소(206), 및 복합 입력 데이터 저장소(208)를 포함한다. 한 구현예에서, 데이터 저장소(206 및 208)는, 하나의 데이터 저장소로서, 하나 이상의 데이터베이스 또는 데이터베이스 내의 각각의 테이블로 구현될 수 있다. 기타의 구현예들도 역시 이용될 수 있다.
편집 장치(202) 및 입력 엔진(204)은, 예를 들어, 처리 장치(102)에 의해 실행가능한 명령어에 의해 정의될 수 있다. 예를 들어, 시스템(100)은, 편집 장치(202) 및 입력 엔진(204)에 포함된 명령어들을 실행함으로써 편집 시스템(200)을 구현하는데 이용될 수 있다.
한 구현예에서, 사용자는 상징 문자를 포함하는 텍스트를 편집하기 위해 편집 장치(202)를 이용할 수 있다. 한 구현예에서, 편집 장치(202)는, 사용자 입력을 수신하고 편집될 텍스트를 디스플레이하는 워드 프로세싱 소프트웨어일 수 있으며, 입력 엔진(204)은 컨텍스트 기반의 입력 엔진일 수 있다. 편집 장치(22) 및 입력 엔진(204)은, 데이터 저장소(104) 및/또는 데이터 저장소(106)와 같은 컴퓨터 판독가능한 매체에 저장될 수 있다.
캐릭터 데이터 저장소(206) 및 복합 입력 데이터 저장소(208)는, 예를 들어, 데이터 저장소(104) 및/또는 데이터 저장소(106)에 저장될 수도 있다. 캐릭터 데이터 저장소(206)는 편집 장치(202)에서 사용되는 상징 문자로 된 캐릭터들을 포함한다. 일부 구현예에서, 캐릭터 데이터 저장소(206)는 또한 캐릭터들간의 관계에 대한 정보를 포함한다. 예를 들어, 캐릭터 데이터 저장소(206)는, 캐릭터에 인접 한 캐릭터들에 의존하는, 그 캐릭터에 할당된 스코어 또는 확률값을 포함할 수 있다. 기타의 컨텍스트 관계 데이터도 역시 사용될 수 있다.
복합 입력 데이터 저장소(208)는 캐릭터 데이터 저장소(206)에 저장된 캐릭터들과 복합 입력들의 연합체를 포함한다. 일부 구현예에서, 복합 입력 데이터 저장소(208)는 캐릭터 데이터 저장소(206) 내의 캐릭터들 각각을 입력 엔진(204)에 의해 사용되는 복합 입력에 링크할 수 있다. 예를 들어, 입력 엔진(204)은, 캐릭터 데이터 저장소(206) 내의 하나 이상의 캐릭터들과 복합 입력 데이터 저장소(208) 내의 하나 이상의 복합 입력을 연관 및/또는 식별하기 위해, 복합 입력 캐릭터 데이터 저장소(206) 및 복합 입력 데이터 저장소(208) 내의 정보를 이용할 수 있다. 다른 연합체도 역시 이용될 수 있다.
한 구현에서, 입력 엔진(204)은 선택된 캐릭터 또는 커서 위치에 인접한 캐릭터와 복합 입력에 기초하여 후보 캐릭터들을 식별할 수 있다. 편집 장치(202)는, 변경 또는 수정할 캐릭터의 선택과 같은, 상징 문자에서의 한 캐릭터의 선택을 수신할 수 있다. 한 구현에서, 사용자는 편집 장치(202) 내의 복수의 한자 캐릭터들 중에서 하나의 한자 캐릭터를 변경하기 위해 선택할 수 있고 편집 장치(202)에 하나 이상의 복합 입력을 제공할 수 있다. 선택된 캐릭터와 같은, 선택 정보가 입력 엔진(204)에 제공될 수 있다.
편집 장치(202)로부터 수신된 선택 정보에 기초하여, 입력 엔진(204)은, 예를 들어, 편집 환경(202) 내의 선택된 캐릭터에 인접한 캐릭터들을 식별할 수 있다. 인접한 캐릭터들 및 하나 이상의 복합 입력에 기초하여, 입력 엔진(204)은 선 택된 캐릭터의 위치에 삽입될 후보 캐릭터들을 식별하기 위해, 또는 선택된 캐릭터를 대체하기 위해, 데이터 저장소(206 및 208)에 액세스할 수 있다.
일부 구현에서, 입력 엔진(204)은 편집된 텍스트에서 컨텍스트 윈도우를 정의할 수 있다. 컨텍스트 윈도우는, 예를 들어, 인접 캐릭터들을 식별하는데 이용될 수 있다. 예를 들어, 컨텍스트 윈도우는, 선택된 캐릭터, 및 선택된 캐릭터에 인접한 하나 이상의 인접 캐릭터를 포함하도록 정의될 수 있다. 한 예에서, 입력 엔진(204)은 컨텍스트 윈도우의 중심을 선택된 캐릭터 및/또는 커서 위치에 위치시키고, 컨텍스트 윈도우 내의 다른 캐릭터들을 인접 캐릭터로서 식별할 수 있다. 예를 들어, 입력 엔진(204)은 컨텍스트 윈도우의 크기를 5개 캐릭터로 명시하고, 선택된 캐릭터의 우측의 2개 캐릭터 및 좌측의 2개 캐릭터를 인접 캐릭터로 식별할 수 있다. 다른 컨텍스트 윈도우 크기와 정의도 역시 사용가능하다.
입력 엔진(204)은, 예를 들어, 컨텍스트 윈도우의 위치 및/또는 크기를 동적으로 조절할 수 있다. 일부 구현에서, 입력 엔진(204)은 컨텍스트 윈도우 내의 문장 단락을 식별함으로써 컨텍스트 윈도우의 크기를 동적으로 조절할 수 있다. 예를 들어, 입력 엔진(204)은 현재 컨텍스트 윈도우 내의 문장 단락을 식별할 수 있다. 컨텍스트 윈도우 내의 문장 단락의 식별된 위치에 기초하여, 입력 엔진(204)은 문장 단락과 일치하도록 컨텍스트 윈도우의 하나 또는 양쪽의 가장자리를 조정할 수 있다. 다른 조절 기술도 역시 사용될 수 있다.
시스템(200)은, 예를 들어, 식별된 후보 캐릭터의 갯수에 기초하여 컨텍스트 윈도우의 폭을 동적으로 조절할 수 있다. 예를 들어, 입력 엔진(204)은 후보 캐릭 터들의 최소 갯수와 최대 갯수를 명시할 수 있다. 일부 구현에서, 입력 엔진은 식별된 후보 캐릭터들의 갯수가 후보 캐릭터의 최소 갯수보다 크고 최대 갯수보다 작도록 제한하게끔 구성된다. 만일 후보 캐릭터들의 갯수가 후보 캐릭터들의 최대 갯수를 초과하면, 입력 엔진(204)은, 예를 들어, 컨텍스트 윈도우의 폭을 증가시킬 수 있다. 마찬가지로, 만일 후보 캐릭터의 갯수가 후보 캐릭터의 최소 갯수보다 작다면, 입력 엔진(204)은, 예를 들어, 컨텍스트 윈도우의 폭을 감소시킬 수 있다.
다른 구현에서, 후보 캐릭터들의 갯수는 컨텍스트 윈도우와는 독립적으로 선택될 수 있다. 예를 들어, 입력 엔진(204)은, 만일 후보 캐릭터들의 갯수가 후보 캐릭터들의 최대 갯수보가 크다면 추가적인 인접 캐릭터를 식별할 수 있고, 후보 캐릭터들의 갯수가 후보 캐릭터들의 최소 갯수보다 작다면 더 적은 수의 인접 캐릭터들을 식별할 수 있다.
일부 구현에서, 입력 엔진(204)은, 예를 들어, 복합 입력과 현재 입력 세션에 기초하여 후보 캐릭터들을 식별할 수 있다. 예를 들어, 입력 세션은 수락 커맨드에 종속된 일부 또는 모든 이전의 입력 캐릭터들을 포함할 수 있다. 입력 엔진(204)은, 현재의 복합 입력 및/또는 현재의 입력 세션 내의 하나 이상의 이전에 식별된 후보 캐릭터들에 기초하여 또 다른 후보 캐릭터 세트를 식별할 수 있다.
일부 구현에서, 입력 엔진(204)은, 2세트의 후보 캐릭터들을 비교할 수 있다. 제1 후보 캐릭터 세트는 예를 들어, 현재 입력 세션 및 복합 입력에 기초하여 발생될 수 있다. 제2 세트는 인접 캐릭터들 및 복합 입력에 기초하여 발생될 수 있다. 한 구현에서, 입력 엔진(204)은, 후보 캐릭터 세트들로부터 공통의 후보 캐 릭터들을 식별한다. 공통의 후보 캐릭터들은 사용자 선택을 위해 편집 장치(202)에서 제시될 수 있다. 또 다른 구현에서, 입력 엔진(204)은 후보 캐릭터들을 등급화하고, 그 등급에 기초하여 사용자 선택을 위해 후보 캐릭터들을 제시할 수 있다. 예를 들어, 입력 엔진(204)은 후보 캐릭터들 각각에 할당된 확률 또는 정확도 값에 기초하여 후보 캐릭터들을 등급화할 수 있다. 기타의 등급화 및 비교 기술도 역시 사용가능하다.
또 다른 구현에서, 입력 엔진(204)은 각각의 입력 세션 이후의 컨텍스트 정보를 히스토리 정보로서 유지할 수 있다. 이와 같은 히스토리 정보는, 데이터 저장소(206 및 208)의 어느 하나 또는 양자 모두에, 또는 별도의 히스토리 데이터 저장소에 유지될 수 있다. 히스토리 정보는, 부분적으로 특정 사용자의 타이핑 히스토리에 기초하여 후보 캐릭터들의 선택을 용이하게 하기 위해 입력 엔진(204)에 의해 액세스될 수 있다.
도 3-6은 상징 문자(300) 내의 한 선택된 캐릭터를 편집하는 예를 도시하는 개략도이다. 편집 시스템(200)은 상징 문자(300) 내의 하나 이상의 캐릭터를 편집할 수 있다. 도 3에 도시된 바와 같이, 커서(302)는 상징 문자(300) 내의 한 캐릭터(304)를 선택할 수 있다. 도시된 예에서, 컨텍스트 윈도우(306)는 선택된 캐릭터(300)의 중심에 위치하도록 정의된다. 일부 구현에서, 처리 장치(102)는 캐릭터(308 및 310)를 인접한 캐릭터로서 식별할 수 있다. 인접 캐릭터들(308 및 310)과 복합 입력에 기초하여, 처리 장치(102) 및/또는 입력 엔진(204)은 선택된 캐릭터(304)에 대한 후보 캐릭터들을 식별할 수 있다.
도 4에 도시된 바와 같이, 조절된 컨텍스트 윈도우(402)는 인접 캐릭터들을 식별하는데 이용될 수 있다. 이 예에서, 컨텍스트 윈도우(402)는 컨텍스트 윈도우(306)보다 크다. 일부 구현에서, 처리 장치(102) 및/또는 입력 엔진(204)은, 컨텍스트 윈도우로부터 발생한 후보 캐릭터들의 갯수가 후보 캐릭터들의 최대 갯수보다 큰지의 여부를 판정할 수 있다. 만일 컨텍스트 윈도우로부터 발생한 후보 캐릭터들의 갯수가 후보 캐릭터들의 최대 갯수보다 크다면, 처리 장치(102) 및/또는 입력 엔진(204)은 컨텍스트 윈도우(306)의 크기를 동적으로 조절할 수 있고, 그 결과 컨텍스트 윈도우(402)가 된다. 컨텍스트 윈도우(402)에 기초하여, 처리 장치(102) 및/또는 입력 엔진(204)은, 예를 들어, 추가의 인접 캐릭터들(404 및 406)을 식별할 수 있다. 인접 캐릭터들(308, 310, 404 및 406)을 이용하여, 처리 장치(102) 및/또는 입력 엔진(204)은 세로운 세트의 후보 캐릭터 및/또는 추가 후보 캐릭터들을 식별할 수 있다. 일부 구현에서, 더 큰 컨텍스트 윈도우는 후보 캐릭터들의 갯수를 저감시킬 수 있다.
처리 장치(102) 및/또는 입력 엔진(204)은, 한 구현에서, 컨텍스트 윈도우(402) 내에 문장 단락이 있는지의 여부를 판정할 수 있다. 이 예에서, 문장 단락(408)(예를 들어, 컴마 캐릭터)은 컨텍스트 윈도우(402) 내에 포함된다. 처리장치(102) 및/또는 입력 엔진(204)은 문장 단락(408)과 일치하도록 컨텍스트 윈도우(402)의 가장자리를 조절할 수 있다. 예시적인 조절된 컨텍스트 윈도우(502)가 도 5에 도시되어 있다. 컨텍스트 윈도우(502)의 가장자리는 문장 단락(408)과 일치하도록 조절된다. 따라서, 캐릭터(406)는 인접한 캐릭터로부터 제거되고 캐릭 터(504)가 인접한 캐릭터들 중 하나로서 추가된다. 컨텍스트 윈도우를 조절하기 위해, 예를 들어, 피리어드, 콜론, 절(clause)와 같은 다른 타입의 문장 단락도 사용가능하다.
일부 구현에서, 처리 장치(102) 및/또는 입력 엔진(204)은 후보 캐릭터들의 결과적 갯수에 기초하여 컨텍스트 윈도우의 크기를 추가로 조정할 수 있다. 예를 들어, 처리 장치(102) 및/또는 입력 엔진(204)은, 컨텍스트 윈도우(502)로부터 생긴 후보 캐릭터들의 갯수가 후보 캐릭터들의 최소 갯수보다 작은지의 여부를 판정할 수 있다. 만일 컨텍스트 윈도우(502)로부터 생긴 후보 캐릭터들의 갯수가 후보 캐릭터들의 최소 갯수보다 작다면, 처리 장치(102) 및/또는 입력 엔진(204)은 컨텍스트 윈도우(502)의 크기를 줄일 수 있다. 도 6에 도시된 바와 같이, 처리 장치(102) 및/또는 입력 엔진(204)은, 컨텍스트 윈도우(306)의 크기(3 캐릭터)와 컨텍스트 윈도우(502)의 크기(5 캐릭터) 사이의 크기인, 4 캐릭터 크기의 컨텍스트 윈도우(502)를 발생시킬 수 있다.
일부 구현에서, 상징 문자 편집 시스템(200)은 또한 편집 장치(202) 내의 커서의 위치에 기초하여 후보 캐릭터들을 식별할 수 있다. 도 7은 상징 문자 편집 환경(700)에서 디스플레이 예들(702 및 722)을 도시하고 있다.
제1 예(702)에서, 커서(704)는 커서(704)는 구문(706)의 제1 및 제2 후보 캐릭터 사이에 위치해 있고, 인접 캐릭터(708)가 식별된다. 복합 입력(710), 예를 들어, 'sh'가 수신되어 입력 엔진(204)에 제공된다. 입력 엔진(204)는 커서(704)의 위치에 삽입될 적격의 후보 캐릭터들(712)의 목록을 식별한다. 예를 들어, 구 문(706)에서 커서(704)에 인접해 있는, 2개의 인접한 캐릭터(708)는 커서(704)에 대한 인접 캐릭터로서 식별된다. 복합 입력(710) 및 2개의 인접 캐릭터(708)에 기초하여, 후보 캐릭터(712) 세트가 식별된다. 사용자는 커서(704)의 위치에서 삽입하기 위한 후보 캐릭터들 중 하나를 선택할 수 있다.
제2 예(722)에서, 커서(724)는 수문(726)의 제1 및 제2 캐릭터 사이에 위치해 있고, 인접 캐릭터(728)가 식별된다. 복합 입력(730), 예를 들어, 'sh'가 수신되고 입력 엔진(204)에 제공된다. 입력 엔진(204)은 커서(724)의 위치에 삽입되기에 적격의 후보 캐릭터(732)의 목록을 식별한다. 예를 들어, 구문(726)에서 커서(724)에 인접해 있는, 2개의 인접한 캐릭터(728)은 인접 캐릭터로서 식별된다. 복합 입력(730) 및 2개의 인접 캐릭터(728)에 기초하여, 후보 캐릭터 세트(732)가 식별된다. 사용자는, 커서(724)의 위치에서의 삽입을 위한 후보 캐릭터들 중 하나를 선택할 수 있다.
2개의 예가 설명되었지만, 입력 엔진(204)은 동일한 복합 입력 "sh"에 대하여 상이한 후보 캐릭터 세트(712 및 732)를 식별한다. 인접 캐릭터(708)에 의해 제공되는 컨텍스트 정보는 입력 엔진(204)이 제1 후보 캐릭터 세트(712)를 식별하게끔 하고, 인접 캐릭터(728)에 의해 제공되는 컨텍스트 정보는 입력 엔진(204)이 제2 후보 캐릭터 세트(732)를 식별하게끔 한다.
한 구현에서, 인접 캐릭터들, 예를 들어, 캐릭터(708)는 하나 이상의 후보 캐릭터, 예를 들어, 캐릭터(712)와 병렬로 디스플레이될 수 있다. 따라서, 이 구현은 사용자에게 컨텍스트 정보의 표식을 제공한다.
또 다른 구현에서, 캐릭터의 선택은 입력 엔진(204)으로 하여금 선택된 캐릭터에 인접한 캐릭터를 인접 캐릭터로서 선택하도록 한다. 예를 들어, 제1 예(702)에서, 만일 캐릭터 中이 선택되면, 캐릭터 測 및 文은 인접 캐릭터로서 식별될 수 있다. 따라서, 입력 엔진(204)은 복합 입력 및 식별된 인접 캐릭터에 기초하여 선택된 캐릭터를 수정할 수 있다.
도 8은 한자 캐릭터(802)에 대한 편집 환경(800)의 개략도이다. 한 구현에서, 편집 시스템(200)은 2세트의 후보 캐릭터의 결합된 결과에 기초하여 후보 캐릭터들을 식별할 수 있다. 제1 세트의 후보 캐릭터들은 현재의 입력 세션에 기초하거나, 어떤 다른 섹션 알고리즘에 기초할 수 있고, 제2 세트의 후보 캐릭터들은 인접 캐릭터 및 복합 입력에 기초할 수 있다.
도 8에 도시된 바와 같이, 한자 캐릭터(802)는 현재의 입력 세션 동안에 입력된 2개의 캐릭터(804 및 806)를 포함한다. 현재의 입력 세션은, 커서의 초기 배치로부터 입력 및/또는 편집된 캐릭터를 나타내는, 세션 화살표(807)에 의해 정의된다.
한자 캐릭터(802)는 또한, 입력 세션에서 현재 편집되고 있는 캐릭터(802)를 포함한다. 복합 입력에 기초하여, 선택된 캐릭터(808)에 대한 후보 캐릭터들이 식별될 수 있다. 컨텍스트 윈도우(810)는 캐릭터(806), 선택된 캐릭터(808), 및 기존 캐릭터(812)를 포함할 수 있다. 따라서, 캐릭터(806 및 812)는 선택된 캐릭터(808)의 인접 캐릭터로서 식별된다.
따라서, 제1 세트의 후보 캐릭터(814)는 복합 입력 및 인접 캐릭터(806 및 812)에 기초하여 식별된다. 마찬가지로, 제2 세트의 후보 캐릭터(816)는, 현재 입력 세션 동안에 입력된 복합 입력 및 캐릭터(804 및 806)에 기초하여 식별된다.
일부 구현에서, 시스템(200)은 제시될 후보 캐릭터 세트를 식별하기 위해 세트(814 및 816)를 비교할 수 있다. 한 구현에서, 처리 장치(102) 및/또는 입력 엔진(204)은 세트(814 및 816) 내의 공통 캐릭트를 식별하고 그 공통 캐릭터를 후보 캐릭터로서 제시할 수 있다. 또 다른 구현에서, 처리 장치(102) 및/또는 입력 엔진(204)은 세트(814 및 816) 내의 후보 캐릭터들을 등급화할 수 있다. 등급에 따라, 처리 장치(102) 및/또는 입력 엔진은 세트(814 및 816) 내의 후보 캐릭터의 부분 집합을 제시하거나 다른 상호관계에 따라 세트(814 및 816)로부터 후보 캐릭터를 제시할 수 있다.
도 9는 상징 문자에 대한 후보 캐릭터를 식별하기 위한 예시적인 프로세스(900)의 흐름도이다. 프로세스(900)는, 예를 들어, 도 1의 시스템(100) 및/또는 도 2의 시스템(200)과 같은 시스템에서 구현될 수 있다.
단계(902)는 상징 문자로 된 복수의 캐릭터들로부터 한 캐릭터를 선택한다. 예를 들어, 입력 장치(108)는 편집 장치(202) 내의 한자 캐릭터로 된 텍스트(예를 들어, 도 3의 상징 문자(300)로 된 텍스트)에서 하나의 캐릭터를 선택하는데 이용될 수 있다.
단계(904)는 선택된 캐릭터에 근접한 캐릭터, 예를 들어, 인접한 캐릭터를 식별한다. 예를 들어, 입력 엔진(204)은 편집 장치(202) 내의 한자 캐릭터로 된 텍스트에서 선택된 캐릭터에 인접한 캐릭터를 식별할 수 있다.
단계(906)는 복합 입력을 수신한다. 예를 들어, 입력 엔진(204)은 입력 장치(108)로부터 복합 입력(예를 들어, 병음문자 캐릭터의 조합)을 수신할 수 있다.
단계(908)는 복합 입력과 근접 캐릭터, 예를 들어, 인접 캐릭터에 기초하여 하나 이상의 후보 캐릭터를 식별한다. 예를 들어, 입력 엔진(204)은 캐릭터 데이터 저장소(206) 및 복합 입력 데이터 저장소(208)를 이용하여 복합 입력 및 인접 캐릭터에 기초하여 하나 이상의 후보 캐릭터를 식별할 수 있다.
도 10은 상징 문자 내의 선택된 캐릭터에 대한 인접 캐릭터를 식별하기 위한 예시적 프로세스(1000)의 흐름도이다. 예를 들어, 프로세스(1000)는 도 3의 선택된 캐릭터(304)의 인접 캐릭터(308, 310)를 식별하는데 이용될 수 있다. 프로세스(1000)는 예를 들어, 도 1의 시스템(100) 및/또는 도 2의 시스템(200)과 같은 시스템에서 구현될 수 있다.
단계(1002)는 컨텍스트 윈도우를 정의한다. 예를 들어, 입력 엔진(204)은 컨텍스트 윈도우를 정의할 수 있다.
단계(1004)는 예를 들어, 선택된 캐릭터에 관해 컨텍스트 윈도우의 중심을 위치시킨다. 예를 들어, 입력 엔진(204)은, 컨텍스트 윈도우(306)의 중심을 선택된 캐릭터(304)에 위치시킬 수 있다.
도 11은 컨텍스트 윈도우의 가장자리를 조절하기 위한 예시적 프로세스(1100)의 흐름도이다. 예를 들어, 입력 엔진(204)은 컨텍스트 윈도우의 가장자리를 문장 단락과 정렬하기 위해 컨텍스트 윈도우의 위치를 조절할 수 있다. 프로세스(1100)는 도 1의 시스템(100) 및/또는 도 2의 시스템(200)과 같은 시스템에서 구현될 수 있다.
단계(1102)는 만일 문장 단락이 컨텍스트 윈도우 내에 있는지를 판정한다. 예를 들어, 입력 엔진(204)은 도 4의 컨텍스트 윈도우(402) 내의 문장 단락(408)을 식별할 수 있다.
단계(1104)는 문장 단락이 컨텍스트 윈도우 내에 있다면 판정되는 경우 컨텍스트 윈도우의 가장자리를 문장 단락과 일치하도록 조절한다. 예를 들어, 입력 엔진(204)은 컨텍스트 윈도우(402)의 가장자리를 문장 단락(408)과 일치하도록 조절하여, 그 결과, 컨텍스트 윈도우(502)가 된다.
도 12는 입력 엔진(204)과 같은 컨텍스트 기반의 입력 엔진을 구비한 입력 세션을 이용하기 위한 예시적 프로세스(1200)의 흐름도이다. 프로세스(1200)은, 예를 들어, 도 1의 시스템(100) 및/또는 도 2의 시스템(200)과 같은 시스템으로 구현될 수 있다.
단계(1202)는 복합 입력 및 입력 세션에 기초하여 하나 이상의 후보 캐릭터를 식별한다. 예를 들어, 입력 엔진(204)은 복합 입력 및 입력 세션에 기초하여 하나 이상의 후보 캐릭터를 식별할 수 있다.
단계(1204)는 복합 입력 및 인접 캐릭터에 기초한 하나 이상의 후보 캐릭터들을 복합 입력 및 입력 세션에 기초한 하나 이상의 후보 캐릭터들과 비교한다. 예를 들어, 입력 엔진(204)은 입력 세션에 대해 식별된 후보 캐릭터들을 복합 입력 및 인접 캐릭터들에 대해 식별된 후보 캐릭터들과 비교할 수 있다. 후보 캐릭터 세트, 예를 들어, 도 8의 후보 캐릭터(814 및 816)가, 사용자에게 제시하기 위한 후보 캐릭터들의 서브세트를 식별하기 위해 비교될 수 있다.
도 13은 후보 캐릭터들을 제시할 순서를 결정하기 위한 예시적 프로세스(1300)의 흐름도이다. 프로세스(1300)는 예를 들어 도 1의 시스템(100) 및/또는 도 2의 시스템(200)과 같은 시스템으로 구현될 수 있다.
단계(1302)는 비교에 기초하여 후보 캐릭터들을 등급화한다. 예를 들어, 입력 엔진(204)은 후보 캐릭터들의 할당된 점수(예를 들어, 연관성 점수 또는 정확도 점수)를 비교함으로써 후보 캐릭터들을 등급화할 수 있다.
단계(1304)는 등급에 따라 후보 캐릭터들을 제시한다. 예를 들어, 입력 엔진(204)은 등급에 기초한 순서로 편집 장치(202)에서 후보 캐릭터들을 제시할 수 있다.
다양한 구현예들이 기술되었지만, 기타의 구현예도 역시 이용가능하다. 예를 들어, 입력 엔진(204)은 중국어, 일본어, 한국어 및/또는 인도어를 입력하기 위해 웨스턴 키보드로부터의 복합 입력을 맵핑할 수 있다. 설명된 일부 예 또는 모든 예는, Cangjie 입력 방법, Jiufang 입력 방법 또는 기타의 입력 방법과 같은 다른 입력 방법에도 적용가능하다.
일부 예에서, 편집 장치(202)가 텍스트를 수직으로 디스플레이할 때 컨텍스트 윈도우는 수직으로 정의될 수 있다. 예를 들어, 입력 엔진(204)은 상징 문자의 방향을 검출할 수 있다. 검출된 방향에 기초하여, 입력 엔진(204)은 선택된 캐릭터에서 정렬된(중심을 둔) 수평 또는 수직 컨텍스트 윈도우를 정의할 수 있다. 만일 수직 컨텍스트 윈도우가 정의된다면, 입력 엔진(204)은 선택된 캐릭터의 위 및 아래에 있는 캐릭터를 인접 캐릭터들로서 식별할 수 있다.
일부 구현에서, 시스템(200)은 선택된 위치에서 캐릭터를 삽입하기 위해 수기 인식 장치로부터 입력을 수신할 수 있다. 예를 들어, 수신된 입력은, 원하는 캐릭터가 기재되는 식으로 어셈블리된 스트로크 순서의 조합일 수 있다. 일부 구현에서, 입력 엔진(204)은 선택된 위치에 인접한 캐릭터를 식별할 수 있다. 수신된 스트로크 순서 및 인접 캐릭터에 기초하여, 입력 엔진(204)은 선택된 위치에 삽입될 후보 캐릭터들을 식별할 수 있다.
본 명세서에서 설명된 장치, 방법, 흐름도, 및 구조 블럭도는, 컴퓨터 처리 시스템에 의해 실행가능한 프로그램 명령어를 포함하는 프로그램 코드를 포함하는 컴퓨터 처리 시스템에서 구현될 수 있다. 기타의 구현도 역시 이용가능할 것이다. 추가적으로, 개시된 구조적 수단을 지원하는 단계들과 대응하는 기능을 지원하는 특정한 방법 및/또는 대응하는 작용을 기술하는 본 명세서에서 기술된 흐름도 및 구조 블럭도는, 대응하는 소프트웨어 구조 및 알고리즘 및 그 등가물을 구현하기 위해 이용될 수 있다.
전술된 상세한 설명은 본 발명의 최상의 모드를 개시하며, 본 발명을 설명하고 당업자가 본 발명을 이용할 수 있도록 해주는 예를 제공한다. 상세한 설명은 개시된 형태만으로 본 발명을 제한하는 것은 아니다. 본 발명이 개시된 예를 참조하여 상세히 기술되었지만, 당업자라면 본 발명의 범위로부터 벗어나지 않고 예들에 대한 변경, 수정, 및 변형을 가할 수 있을 것이다.

Claims (27)

  1. 처리장치에 의해, 상징 문자(logographic script)로 된 복수의 캐릭터들로부터 한 캐릭터를 선택하고;
    상기 처리장치에 의해, 상기 선택된 캐릭터에 근접한 근접 캐릭터들을 식별하며;
    상기 처리장치에 의해, 입력 엔진으로부터 복합 입력을 수신하고;
    상기 처리장치에 의해, 상기 복합 입력 및 상기 근접 캐릭터들에 기초하여 하나 이상의 후보 캐릭터들을 식별하고;
    상기 처리장치에 의해, 상기 후보 캐릭터들의 갯수가 제1 임계 갯수를 초과하는지를 판정하고;
    상기 처리장치에 의해, 상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 추가의 근접 캐릭터들을 식별하는 것
    을 포함하는 방법.
  2. 제1항에 있어서,
    컨텍스트 윈도우를 정의하고;
    상기 선택된 캐릭터에 관하여 상기 컨텍스트 윈도우를 정렬하며;
    상기 컨텍스트 윈도우 내의 다른 캐릭터들을 상기 근접 캐릭터들로서 식별하는 것
    을 더 포함하는 방법.
  3. 제2항에 있어서,
    문장 단락(sentence break)이 상기 컨텍스트 윈도우 내에 있는지를 판정하고;
    상기 문장 단락이 상기 컨텍스트 윈도우 내에 있다고 판정되면 상기 컨텍스트 윈도우의 가장자리를 상기 문장 단락과 일치하도록 조절하는 것
    을 더 포함하는 방법.
  4. 제2항에 있어서,
    상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 추가의 근접 캐릭터들을 식별하는 단계는, 상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 상기 컨텍스트 윈도우의 크기를 증가시키는 것
    을 더 포함하는 방법.
  5. 제2항에 있어서,
    상기 후보 캐릭터들의 갯수가 제2 임계 갯수를 초과하는지를 판정하고;
    상기 후보 캐릭터들의 갯수가 상기 제2 임계 갯수를 초과하지 않는다면 상기 컨텍스트 윈도우의 크기를 감소시키는 것
    을 더 포함하는 방법.
  6. 제2항에 있어서, 상기 선택된 캐릭터에 상기 컨텍스트 윈도우의 중심을 배치시키는 것을 더 포함하는 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 후보 캐릭터들의 갯수가 제2 임계 갯수를 초과하는지를 판정하고;
    상기 후보 캐릭터들의 갯수가 상기 제2 임계 갯수를 초과하지 않는다면 더 적은 수의 근접 캐릭터들을 식별하는 것
    을 더 포함하는 방법.
  9. 제5항 또는 제8항에 있어서,
    상기 제1 임계 갯수는 상기 제2 임계 갯수보다 큰 것인, 방법.
  10. 제9항에 있어서,
    상기 복합 입력 및 입력 세션에 기초하여 하나 이상의 후보 캐릭터들을 식별하고;
    상기 복합 입력 및 근접 캐릭터들에 기초한 하나 이상의 후보 캐릭터들을, 상기 복합 입력 및 입력 세션에 기초한 하나 이상의 후보 캐릭터들과 비교하는 것
    을 더 포함하는 방법.
  11. 제10항에 있어서,
    상기 비교에 기초한 공통 캐릭터들을 판정하고;
    상기 공통 캐릭터들을 후보 캐릭터 선택으로서 제시하는 것
    을 더 포함하는 방법.
  12. 제10항에 있어서,
    상기 비교에 기초하여 상기 후보 캐릭터들을 등급화하고;
    상기 등급에 따라 상기 후보 캐릭터들을 제시하는 것
    을 더 포함하는 방법.
  13. 제1항에 있어서,
    상기 캐릭터들은 한자 캐릭터를 포함하고;
    상기 복합 입력은 하나 이상의 병음문자 음절(Pinyin syllables)을 포함하는 것인, 방법.
  14. 시스템에 있어서,
    복합 입력, 컨텍스트 정보, 및 캐릭터의 연합체(association)를 저장하는 데이터 저장소로서, 상기 하나 이상의 캐릭터는 복수의 복합 입력 및 컨텍스트 정보와 연관되는 것인, 상기 데이터 저장소와;
    컴퓨터 판독가능한 매체에 저장되며, 처리 장치에 의해 실행가능한 명령어를 포함하는 입력 엔진을 포함하고,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    사용자 입력에 응답하여 복수의 캐릭터들로부터 하나의 캐릭터를 선택하고;
    상기 선택된 캐릭터에 인접한 인접 캐릭터들을 식별하며;
    복합 입력 및 상기 인접 캐릭터들에 기초하여 하나 이상의 후보 캐릭터들을 식별하고;
    상기 후보 캐릭터들의 갯수가 제1 임계 갯수를 초과하는지를 판정하고;
    상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 추가의 근접 캐릭터들을 식별하도록 하는 것인, 시스템
  15. 제14항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    컨텍스트 윈도우를 정의하고;
    상기 선택된 캐릭터에 관하여 상기 컨텍스트 윈도우를 정렬하며;
    상기 컨텍스트 윈도우 내의 다른 캐릭터들을 상기 인접 캐릭터로서 식별
    하도록 하는 것인, 시스템.
  16. 제15항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    문장 단락이 상기 컨텍스트 윈도우 내에 있는지를 판정하고;
    상기 문장 단락이 상기 컨텍스트 윈도우 내에 있다고 판정되면, 상기 컨텍스트 윈도우의 가장자리를 상기 문장 단락과 일치하게끔 조절하도록 하는 것인, 시스템.
  17. 제15항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    상기 후보 캐릭터들의 갯수가 제2 임계 갯수를 초과하는지를 판정하고;
    상기 후보 캐릭터들의 갯수가 상기 제2 임계 갯수를 초과하지 않는다면 상기 컨텍스트 윈도우의 크기를 감소시키도록 하며;
    상기 제1 임계 갯수는 상기 제2 임계 갯수보다 크고,
    상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 추가의 근접 캐릭터들을 식별하는 것은, 상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 상기 컨텍스트 윈도우의 크기를 증가시키는 것을 더 포함하는, 시스템.
  18. 제15항에 있어서, 상기 입력 엔진은 상기 선택된 캐릭터에 상기 컨텍스트 윈 도우의 중심을 위치시키는 것인, 시스템.
  19. 제14항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 후보 캐릭터들의 갯수가 제2 임계 갯수를 초과하는지를 판정하고;
    상기 후보 캐릭터들의 갯수가 제2 임계 갯수를 초과하지 않는다면 더 적은 수의 후보 캐릭터들을 식별하도록 하며;
    상기 제1 임계 갯수는 상기 제2 임계 갯수보다 큰 것인, 시스템.
  20. 제14항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    상기 복합 입력 및 입력 세션에 기초하여 하나 이상의 후보 캐릭터들을 식별하고;
    상기 복합 입력 및 상기 인접 캐릭터들에 기초한 하나 이상의 후보 캐릭터들을, 상기 복합 입력 및 입력 세션에 기초한 하나 이상의 후보 캐릭터들과 비교하도록 하는 것인, 시스템.
  21. 제20항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    상기 비교에 기초하여 공통 캐릭터들을 판정하고;
    상기 공통 캐릭터들을 후보 캐릭터 선택으로서 제시하도록 하는 것인, 시스템.
  22. 제20항에 있어서,
    상기 입력 엔진은, 처리 장치에 의해 실행가능한 명령어를 포함하며,
    상기 명령어는,
    상기 처리 장치에 의해 실행될 때 상기 처리 장치로 하여금;
    상기 비교에 기초하여 상기 후보 캐릭터들을 등급화하고;
    상기 등급에 따라 상기 후보 캐릭터들을 제시하도록 하는 것인, 시스템.
  23. 제14항에 있어서,
    상기 캐릭터는 한자 캐릭터를 포함하고;
    상기 복합 입력은 하나 이상의 병음문자 음절을 포함하는 것인, 시스템.
  24. 시스템에 있어서,
    상징 문자로 된 복수의 캐릭터들로부터 하나의 캐릭터를 선택하고, 상기 선택된 캐릭터에 기초하여 근접 캐릭터들을 식별하기 위한 처리장치와; 그리고
    복합 입력을 수신하기 위한 입력 엔진;을 포함하고,
    상기 처리장치는 상기 후보 캐릭터들의 갯수가 제1 임계 갯수를 초과하는지를 판정하고, 상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 추가의 근접 캐릭터들을 식별하며, 상기 복합 입력 및 상기 근접 캐릭터들에 기초하여 하나 이상의 후보 캐릭터들을 식별하는 시스템.
  25. 처리장치에 의해, 커서를 하나 이상의 캐릭터에 인접하게 배치하고;
    상기 처리장치에 의해, 상기 커서에 근접한 캐릭터들을 식별하며;
    상기 처리장치에 의해 입력 엔진으로부터, 복합 입력을 수신하고;
    상기 처리장치에 의해, 상기 복합 입력 및 상기 근접 캐릭터들에 기초하여 하나 이상의 후보 캐릭터들을 식별하고;
    상기 처리장치에 의해, 상기 후보 캐릭터들의 갯수가 제1 임계 갯수를 초과하는지를 판정하고;
    상기 처리장치에 의해, 상기 후보 캐릭터들의 갯수가 상기 제1 임계 갯수를 초과한다면 추가의 근접 캐릭터들을 식별하는 것
    을 포함하는 방법.
  26. 제25항에 있어서,
    컨텍스트 윈도우를 정의하고;
    상기 컨텍스트 윈도우를 상기 커서에 위치시키며;
    상기 컨텍스트 윈도우 내의 다른 캐릭터들을 근접 캐릭터로서 식별하는 것
    을 더 포함하는 방법.
  27. 제26항에 있어서, 상기 근접 캐릭터들은 인접 캐릭터들인 것인, 방법.
KR1020097018939A 2007-02-12 2008-02-12 문맥적 입력 방법 KR101412763B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/673,706 2007-02-12
US11/673,706 US8028230B2 (en) 2007-02-12 2007-02-12 Contextual input method
PCT/US2008/053745 WO2008100951A2 (en) 2007-02-12 2008-02-12 Contextual input method

Publications (2)

Publication Number Publication Date
KR20090109585A KR20090109585A (ko) 2009-10-20
KR101412763B1 true KR101412763B1 (ko) 2014-07-01

Family

ID=39685859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018939A KR101412763B1 (ko) 2007-02-12 2008-02-12 문맥적 입력 방법

Country Status (6)

Country Link
US (2) US8028230B2 (ko)
JP (1) JP5462001B2 (ko)
KR (1) KR101412763B1 (ko)
CN (1) CN101246410B (ko)
TW (1) TWI475406B (ko)
WO (1) WO2008100951A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365071B2 (en) * 2007-08-31 2013-01-29 Research In Motion Limited Handheld electronic device and associated method enabling phonetic text input in a text disambiguation environment and outputting an improved lookup window
US8463597B2 (en) * 2008-05-11 2013-06-11 Research In Motion Limited Mobile electronic device and associated method enabling identification of previously entered data for transliteration of an input
US9355090B2 (en) 2008-05-30 2016-05-31 Apple Inc. Identification of candidate characters for text input
US8798983B2 (en) * 2009-03-30 2014-08-05 Microsoft Corporation Adaptation for statistical language model
US8766918B2 (en) * 2009-07-10 2014-07-01 Koninklijke Philips N.V. User friendly entry of text items
WO2011075891A1 (en) * 2009-12-23 2011-06-30 Nokia Corporation Method and apparatus for facilitating text editing and related computer program product and computer readable medium
JP2012079252A (ja) * 2010-10-06 2012-04-19 Fujitsu Ltd 情報端末装置、文字入力方法および文字入力プログラム
US9465798B2 (en) * 2010-10-08 2016-10-11 Iq Technology Inc. Single word and multi-word term integrating system and a method thereof
TWI423048B (zh) * 2011-07-28 2014-01-11 Iq Technology Inc A system for inputting in the form of a complement code and a method thereof
US9223497B2 (en) 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction
US8996356B1 (en) 2012-04-10 2015-03-31 Google Inc. Techniques for predictive input method editors
US9323726B1 (en) * 2012-06-27 2016-04-26 Amazon Technologies, Inc. Optimizing a glyph-based file
CN103593057B (zh) * 2012-08-16 2016-05-18 杨志隆 具有输入控制程序的电子设备
CN103631388A (zh) * 2012-08-28 2014-03-12 华为终端有限公司 一种优化手写输入法的方法及装置
US8994681B2 (en) * 2012-10-19 2015-03-31 Google Inc. Decoding imprecise gestures for gesture-keyboards
CN103076892B (zh) * 2012-12-31 2016-09-28 百度在线网络技术(北京)有限公司 一种用于提供输入字符串所对应的输入候选项的方法与设备
CN103279192A (zh) * 2013-04-18 2013-09-04 百度在线网络技术(北京)有限公司 一种利用多义键盘进行输入的方法和设备
WO2014194450A1 (zh) * 2013-06-03 2014-12-11 东莞宇龙通信科技有限公司 关联提示输入系统、终端和关联提示输入方法
CN104298457A (zh) * 2013-07-18 2015-01-21 广州三星通信技术研究有限公司 字符输入方法和字符输入装置
CN103440299B (zh) * 2013-08-20 2016-12-28 陈喜 一种基于焦点上下文联想词的信息快速输入方法
CN104111738A (zh) * 2014-06-06 2014-10-22 珠海市魅族科技有限公司 一种字符关联方法及终端
US9928232B2 (en) * 2015-02-27 2018-03-27 Microsoft Technology Licensing, Llc Topically aware word suggestions
CN105786207B (zh) * 2016-02-25 2018-09-11 百度在线网络技术(北京)有限公司 信息输入方法和装置
US11048408B2 (en) 2019-05-27 2021-06-29 Ricoh Company, Ltd. Display apparatus, recording medium, and display method
CN110262718B (zh) * 2019-06-20 2021-08-03 北京字节跳动网络技术有限公司 输入法窗口设置方法、装置、移动终端、存储介质
CN112230811A (zh) * 2020-10-15 2021-01-15 科大讯飞股份有限公司 输入方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209844A1 (en) 2004-03-16 2005-09-22 Google Inc., A Delaware Corporation Systems and methods for translating chinese pinyin to chinese characters
US20050270270A1 (en) 2004-06-08 2005-12-08 Siemens Informarion And Communication Mobile Llc Hand-held communication device having navigation key-based predictive text entry

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04235672A (ja) * 1991-01-10 1992-08-24 Sharp Corp 翻訳装置
JPH09120400A (ja) * 1995-10-24 1997-05-06 Toshiba Corp 文書作成装置及び変換結果出力制御方法
US6111985A (en) * 1997-06-06 2000-08-29 Microsoft Corporation Method and mechanism for providing partial results in full context handwriting recognition
US6134528A (en) * 1997-06-13 2000-10-17 Motorola, Inc. Method device and article of manufacture for neural-network based generation of postlexical pronunciations from lexical pronunciations
JP3531468B2 (ja) 1998-03-30 2004-05-31 株式会社日立製作所 文書処理装置及び方法
CN1156741C (zh) * 1998-04-16 2004-07-07 国际商业机器公司 手写汉字识别方法及装置
US6401060B1 (en) * 1998-06-25 2002-06-04 Microsoft Corporation Method for typographical detection and replacement in Japanese text
US6694055B2 (en) * 1998-07-15 2004-02-17 Microsoft Corporation Proper name identification in chinese
US6457031B1 (en) * 1998-09-02 2002-09-24 International Business Machines Corp. Method of marking previously dictated text for deferred correction in a speech recognition proofreader
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
JP3476007B2 (ja) * 1999-09-10 2003-12-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 認識単語登録方法、音声認識方法、音声認識装置、認識単語登録のためのソフトウエア・プロダクトを格納した記憶媒体、音声認識のためのソフトウエア・プロダクトを格納した記憶媒体
US6646572B1 (en) * 2000-02-18 2003-11-11 Mitsubish Electric Research Laboratories, Inc. Method for designing optimal single pointer predictive keyboards and apparatus therefore
US6621424B1 (en) * 2000-02-18 2003-09-16 Mitsubishi Electric Research Laboratories Inc. Method for predicting keystroke characters on single pointer keyboards and apparatus therefore
JP2001273290A (ja) * 2000-03-27 2001-10-05 Sanyo Electric Co Ltd 文字入力装置、文字入力方法及びコンピュータ読取り可能な記録媒体
US7013258B1 (en) * 2001-03-07 2006-03-14 Lenovo (Singapore) Pte. Ltd. System and method for accelerating Chinese text input
US7174288B2 (en) * 2002-05-08 2007-02-06 Microsoft Corporation Multi-modal entry of ideogrammatic languages
TWI319537B (en) * 2003-06-18 2010-01-11 Zi Corp Canada Inc Text entry system and method
US7706616B2 (en) * 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US7664748B2 (en) * 2004-07-12 2010-02-16 John Eric Harrity Systems and methods for changing symbol sequences in documents
CN100394363C (zh) 2004-11-30 2008-06-11 摩托罗拉公司 执行表意字符输入的方法和装置
JP2006252047A (ja) * 2005-03-09 2006-09-21 Fuji Xerox Co Ltd 言語処理装置および言語処理プログラム
US20080154576A1 (en) * 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209844A1 (en) 2004-03-16 2005-09-22 Google Inc., A Delaware Corporation Systems and methods for translating chinese pinyin to chinese characters
US20050270270A1 (en) 2004-06-08 2005-12-08 Siemens Informarion And Communication Mobile Llc Hand-held communication device having navigation key-based predictive text entry

Also Published As

Publication number Publication date
CN101246410B (zh) 2015-07-29
KR20090109585A (ko) 2009-10-20
US20120004898A1 (en) 2012-01-05
WO2008100951A3 (en) 2009-03-19
JP2010518534A (ja) 2010-05-27
JP5462001B2 (ja) 2014-04-02
TWI475406B (zh) 2015-03-01
WO2008100951A2 (en) 2008-08-21
CN101246410A (zh) 2008-08-20
US20080193015A1 (en) 2008-08-14
US8028230B2 (en) 2011-09-27
TW200900968A (en) 2009-01-01

Similar Documents

Publication Publication Date Title
KR101412763B1 (ko) 문맥적 입력 방법
US10210154B2 (en) Input method editor having a secondary language mode
US10114809B2 (en) Method and apparatus for phonetically annotating text
JP5226095B2 (ja) ローカル項目抽出
US8543375B2 (en) Multi-mode input method editor
EP3029567B1 (en) Method and device for updating input method system, computer storage medium, and device
US20150169537A1 (en) Using statistical language models to improve text input
US20220222292A1 (en) Method and system for ideogram character analysis
KR20090023417A (ko) 의심스런 인식 결정을 식별하기 위한 방법 및 컴퓨터 판독가능 매체
JP2011008784A (ja) ローマ字変換を用いる日本語自動推薦システムおよび方法
CN111602129B (zh) 针对注释和墨迹的智能搜索
CN116225956A (zh) 自动化测试方法、装置、计算机设备和存储介质
US11663398B2 (en) Mapping annotations to ranges of text across documents
KR20200110880A (ko) 스타일 속성에 기반하여 문서에 대한 중요 키워드를 선정하는 전자 장치 및 그 동작 방법
US11934414B2 (en) Systems and methods for generating document score adjustments
JP2006113677A (ja) 文献分類認識装置、その方法、文献分類装置、それらのプログラム、および、それらのプログラムを記録した記録媒体
CN113743098A (zh) 一种基于云平台的输入方法及终端
KR20110132295A (ko) 로마자 변환을 이용한 일본어 자동 추천 시스템 및 방법
JP2014225172A (ja) 文書分析システム、方法およびプログラム

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