KR20160003155A - 내결함성 입력 방법 편집기 - Google Patents

내결함성 입력 방법 편집기 Download PDF

Info

Publication number
KR20160003155A
KR20160003155A KR1020157033796A KR20157033796A KR20160003155A KR 20160003155 A KR20160003155 A KR 20160003155A KR 1020157033796 A KR1020157033796 A KR 1020157033796A KR 20157033796 A KR20157033796 A KR 20157033796A KR 20160003155 A KR20160003155 A KR 20160003155A
Authority
KR
South Korea
Prior art keywords
character candidates
character
input
computing device
potential
Prior art date
Application number
KR1020157033796A
Other languages
English (en)
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 KR20160003155A publication Critical patent/KR20160003155A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F17/2223
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Fuzzy Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

컴퓨터에 의해 구현되는 방법은 하나 이상의 프로세서들을 포함하는 컴퓨팅 디바이스에서 사용자로부터의 입력을 수신하는 것을 포함한다. 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함한다. 상기 방법은 하나 이상의 세그멘테이션들을 획득하기 위해서 상기 입력을 세그먼팅하는 것을 더 포함하고, 세그멘테이션 각각은 상기 제1 쓰기 체계의 적어도 하나의 문자를 포함하는 적어도 하나의 세그먼트를 포함한다. 상기 세그멘테이션들에 대한 잠재적인 공식적 표현들을 획득하기 위해서 퍼지 모델이 상기 세그멘테이션들에 적용될 수 있다. 상기 잠재적인 공식적 표현들 각각은 상기 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현한다. 상기 잠재적인 공식적 표현들에 기초해서 복수 개의 문자 후보들이 결정된다. 상기 복수 개의 문자 후보들 각각은 상기 제2 쓰기 체계의 상기 사용자 입력의 가능한 적절한 표현이다.

Description

내결함성 입력 방법 편집기{FAULT-TOLERANT INPUT METHOD EDITOR}
본 발명은 일반적으로 개선된 입력 방법 편집기(input method editor)에 관한 것이고, 더 구체적으로는, 사용자가 다른 쓰기 체계에 대한 널리 알려지고 채택된 표현 표준(representation standard)이 존재하지 않는 쓰기 체계에서 문자들을 입력하도록 하는 입력 방법 편집기에 관한 것이다.
본 명세서에서 제공되는 배경 설명은 본 발명의 컨텍스트를 일반적으로 제시하는 목적을 위한 것이다. 현재 지명된 발명자들의 실시(work)는, 이 배경 기술 섹션뿐만 아니라 설명되지 않으면 출원 당시에 선행기술(prior art)로서 자격을 부여받지 않을 상세한 설명의 양상들에서 설명되는 범위에서, 명시적으로뿐만 아니라 암시적으로도 본 발명에 대한 선행기술로서 인정되지 않는다.
입력 방법 편집기(IME; input method editor)는 제1 입력 시스템(예를 들어, 핀인(Pinyin))에서의 입력을 제2 입력 시스템(예를 들어, 한쯔(Hanzi))에서의 출력으로 변환하도록 활용된다. 이러한 방식으로, 사용자는 제1 쓰기 체계의 문자들을 표현하는 키보드의 사용을 통해 제2 쓰기 체계의 텍스트를 획득할 수 있다. 하지만, 일부 언어들/쓰기 체계들에 대해서, 제2 쓰기 체계의 텍스트를 획득하기 위해서 제1 쓰기 체계의 텍스트를 입력하기 위한 단일의 널리 알려지고 채택된 표현 표준이 존재하지 않을 수 있다. 그러므로, IME에 의해 구현된 특정한 표현 표준에 익숙하지 않은 사용자는 자신이 상기 구현된 표현 표준을 배울때까지 IME의 능력들을 효율적으로 활용하지 못할 수 있고, 사용자 자신이 상기 구현된 표준 표현을 배우는 것은 사용자에 대해 어렵고 시간 소모적일 수 있다.
본 발명의 다양한 구현들에 따르면, 컴퓨터에 의해 구현되는 방법이 개시된다. 상기 방법은 하나 이상의 프로세서들을 포함하는 컴퓨팅 디바이스에서 사용자로부터의 입력을 수신하는 것을 포함한다. 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함한다. 상기 방법은 하나 이상의 세그멘테이션들(segmentations)을 획득하기 위해서 상기 입력을 세그먼팅(segment)하는 것을 더 포함한다. 세그먼테이션 각각은 적어도 하나의 세그먼트를 포함하고, 세그먼트 각각은 제1 쓰기 체계의 적어도 하나의 문자를 포함한다. 추가적으로, 상기 방법은 상기 세그멘테이션 각각에 대해서 적어도 하나의 잠재적인 공식적 표현(potential formal representation)을 획득하기 위해서 상기 하나 이상의 세그멘테이션들에 대해 퍼지 모델(fuzzy model)을 적용하는 것을 포함한다. 상기 잠재적인 공식적 표현들 각각은 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현한다. 상기 잠재적인 공식적 표현들에 기초해서 복수 개의 문자 후보들이 결정된다. 상기 복수 개의 문자 후보들 각각은 제2 쓰기 체계에 존재하고 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현일 수 있다. 또한, 상기 방법은 복수 개의 문자 후보들을 출력하는 것을 포함한다.
일부 구현들에서, 상기 하나 이상의 세그멘테이션들에 퍼지 모델을 적용하는 것은 특정한 잠재적인 공식적 표현 각각에 대한 확률(possibility)을 획득하는 것을 포함하고, 상기 확률은 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 가능성(likelihood)을 표현한다.
더욱이, 상기 복수 개의 문자 후보들을 출력하는 것은 상기 컴퓨팅 디바이스의 디스플레이에 순위화된 정렬(ranked order)로 상기 복수 개의 문자 후보들의 세트(set)를 디스플레이하는 것을 포함한다. 상기 순위화된 정렬은 상기 복수 개의 문자 후보들의 세트의 문자 후보 각각이 상기 입력에 대응할 가능성에 기초한다. 추가적으로 또는 대안적으로, 상기 복수 개의 문자 후보들의 세트의 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되고, 특정한 문자 후보 각각에 대한 가능성은: (i) 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 제1 확률, 그리고 (ii) 상기 특정한 잠재적인 공식적 표현이 상기 특정한 문자 후보에 대응할 제2 확률에 기초한다.
다양한 실시예들에서, 상기 방법은 복수 개의 문자 후보들의 세트 중 하나의 문자 후보의 사용자 선택을 수신하는 것과, 그리고 상기 선택된 문자 후보를 디스플레이의 텍스트 입력 영역에 디스플레이하는 것을 더 포함한다. 추가적으로 또는 대안적으로, 상기 컴퓨팅 디바이스의 디스플레이에 복수 개의 문자 후보들의 세트를 디스플레이하는 것은 특정한 문자 후보 각각을 관련된 특정한 잠재적인 공식적 표현과 함께 디스플레이하는 것을 더 포함한다.
일부 구현들에 따르면, 복수 개의 문자 후보들의 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되고, 상기 복수 개의 문자 후보들을 출력하는 것은 컴퓨팅 디바이스의 디스플레이에 상기 복수 개의 문자 후보들 중 적어도 하나의 특정한 문자 후보 및 관련된 잠재적인 공식적 표현을 디스플레이하는 것을 포함한다. 더욱이, 제1 쓰기 체계는 라틴 알파벳 쓰기 체계일 수 있고, 제2 쓰기 체계는 비-라틴 알파벳 쓰기 체계일 수 있고, 공식적 표현은 공식적 로마자화(Romanization)일 수 있다. 일부 구현들에서, 제2 쓰기 체계는 기록된 광둥어(Cantonese)일 수 있고 그리고/또는 잠재적인 공식적 표현 각각은 예일 표현(Yale representation)일 수 있다.
본 발명의 추가적인 구현들에 따르면, 컴퓨팅 디바이스가 개시된다. 컴퓨팅 디바이스는 디스플레이, 상기 디스플레이에 결합된 하나 이상의 프로세서들 및 실행가능한 컴퓨터 프로그램 코드를 수록하는 비일시적인 컴퓨터 판독가능 저장 매체를 포함한다. 상기 하나 이상의 프로세서들은 동작들을 수행하기 위해 실행가능한 컴퓨터 프로그램 코드를 실행하도록 구성된다.
상기 동작들은 사용자로부터 입력을 수신하는 것을 포함한다. 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함한다. 상기 동작들은 하나 이상의 세그멘테이션들을 획득하기 위해서 상기 입력을 세그먼팅하는 것을 더 포함한다. 세그멘테이션 각각은 적어도 하나의 세그먼트를 포함하고, 세그먼트 각각은 제1 쓰기 체계의 적어도 하나의 문자를 포함한다. 추가적으로, 상기 동작들은 세그멘테이션들 각각에 대해서 적어도 하나의 잠재적인 공식적 표현을 획득하기 위해서 상기 하나 이상의 세그멘테이션들에 퍼지 모델을 적용하는 것을 포함한다. 상기 잠재적인 공식적 표현 각각은 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현할 수 있다. 복수 개의 문자 후보들은 잠재적인 공식적 표현들에 기초해서 결정된다. 상기 복수 개의 문자 후보들 각각은 제2 쓰기 체계에 존재하고 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현일 수 있다. 또한, 상기 동작들은 상기 복수 개의 문자 후보들을 출력하는 것을 포함한다.
일부 실시예들에서, 상기 하나 이상의 세그멘테이션들에 퍼지 모델을 적용하는 것은 특정한 잠재적인 공식적 표현 각각에 대한 확률을 획득하는 것을 포함하고, 여기서 상기 확률은 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 가능성을 표현한다.
더욱이, 상기 복수 개의 문자 후보들을 출력하는 것은 상기 컴퓨팅 디바이스의 디스플레이에 순위화된 정렬로 상기 복수 개의 문자 후보들의 세트를 디스플레이 하는 것을 포함한다. 상기 순위화된 정렬은 상기 복수 개의 문자 후보들의 세트 중 문자 후보 각각이 상기 입력에 대응할 가능성에 기초한다. 추가적으로 또는 대안적으로, 복수 개의 문자 후보들의 세트 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되고, 특정한 문자 후보 각각에 대한 가능성은 (i) 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 제1 확률, 그리고 (ii) 상기 특정한 잠재적인 공식적 표현이 특정한 문자 후보에 대응할 제2 확률에 기초한다.
다양한 실시예들에서, 상기 동작들은 복수 개의 문자 후보들의 세트 중 하나의 문자 후보의 사용자 선택을 수신하는 것과, 상기 디스플레이의 텍스트 입력 영역에 상기 선택된 문자 후보를 디스플레이하는 것을 더 포함한다. 추가적으로 또는 대안적으로, 상기 컴퓨팅 디바이스의 디스플레이에 복수 개의 문자 후보들의 세트를 디스플레이하는 것은 특정한 문자 후보 각각을 관련된 특정한 잠재적인 공식적 표현과 함께 디스플레이하는 것을 더 포함한다.
일부 구현들에 따르면, 상기 복수 개의 문자 후보들 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되고, 상기 복수 개의 문자 후보들을 출력하는 것은 상기 컴퓨팅 디바이스의 디스플레이에 복수 개의 문자 후보들 중 적어도 하나의 특정한 문자 후보 및 관련된 잠재적인 공식적 표현을 디스플레이하는 것을 포함한다. 더욱이, 제1 쓰기 체계는 라틴 알파벳 쓰기 체계일 수 있고, 제2 쓰기 체계는 비-라틴 알파벳 쓰기 체계일 수 있고, 상기 공식적 표현은 공식적 로마자화일 수 있다. 일부 구현들에서, 상기 제2 쓰기 체계는 기록된 광둥어일 수 있고 그리고/또는 잠재적인 공식적 표현 각각은 예일 표현일 수 있다.
본 발명의 다양한 구현들에 따르면, 컴퓨터 실행가능 코드를 수록하는 비일시적인 컴퓨터 판독가능 저장 매체가 개시된다. 하나 이상의 프로세서들을 구비하는 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨터 실행가능 코드는 컴퓨팅 디바이스가 동작들을 수행하도록 한다.
상기 동작들은 사용자로부터 입력을 수신하는 것을 포함한다. 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함한다. 상기 동작들은 하나 이상의 세그멘테이션들을 획득하기 위해서 상기 입력을 세그먼팅하는 것을 더 포함한다. 세그멘테이션 각각은 적어도 하나의 세그먼트를 포함하고, 세그먼트 각각은 제1 쓰기 체계의 적어도 하나의 문자를 포함한다. 추가적으로, 상기 동작들은 상기 세그멘테이션들 각각에 대한 적어도 하나의 잠재적인 공식적 표현을 획득하기 위해서 상기 하나 이상의 세그멘테이션들에 대해 퍼지 모델을 적용하는 것을 포함한다. 상기 잠재적인 공식적 표현들 각각은 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현할 수 있다. 복수 개의 문자 후보들은 상기 잠재적인 공식적 표현들에 기초해서 결정된다. 상기 복수 개의 문자 후보들 각각은 제2 쓰기 체계에 존재하고 상기 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현일 수 있다. 또한, 상기 동작들은 복수 개의 문자 후보들을 출력하는 것을 포함할 수 있다.
일부 구현들에서, 상기 하나 이상의 세그멘테이션들에 상기 퍼지 모델을 적용하는 것은 특정한 잠재적인 공식적 표현 각각에 대한 확률을 획득하는 것을 포함하고, 상기 확률은 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 가능성을 표현한다.
더욱이, 복수 개의 문자 후보들을 출력하는 것은 컴퓨팅 디바이스의 디스플레이에 순위화된 정렬로 복수 개의 문자 후보들의 세트를 디스플레이하는 것을 포함한다. 상기 순위화된 정렬은 상기 복수 개의 문자 후보들의 세트 중 문자 후보 각각이 상기 입력에 대응할 가능성에 기초한다. 추가적으로 또는 대안적으로, 상기 복수 개의 문자 후보들의 세트 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되고, 상기 특정한 문자 후보 각각에 대한 가능성은: (i) 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 제1 확률, 그리고 (ii) 상기 특정한 잠재적인 공식적 표현이 상기 특정한 문자 후보에 대응할 제2 확률에 기초한다.
다양한 실시예들에 있어서, 상기 동작들은 복수 개의 문자 후보들의 세트 중 하나의 문자 후보의 사용자 선택을 수신하는 것과, 그리고 상기 디스플레이의 텍스트 입력 영역에 상기 선택된 문자 후보를 디스플레이하는 것을 더 포함한다. 추가적으로 또는 대안적으로, 상기 컴퓨팅 디바이스의 디스플레이에 상기 복수 개의 문자 후보들의 세트를 디스플레이하는 것은 특정한 문자 후보 각각을 관련된 특정한 잠재적인 공식적 표현과 함께 디스플레이하는 것을 더 포함한다.
일부 구현들에 따르면, 상기 복수 개의 문자 후보들 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되고, 상기 복수 개의 문자 후보들을 출력하는 것은, 상기 컴퓨팅 디바이스의 디스플레이에 상기 복수 개의 문자 후보들 중 적어도 하나의 특정한 문자 후보 및 관련된 잠재적인 공식적 표현을 디스플레이하는 것을 포함한다. 더욱이, 제1 쓰기 체계는 라틴 알파벳 쓰기 체계일 수 있고, 제2 쓰기 체계는 비-라틴 알파벳 쓰기 체계일 수 있고, 상기 공식적 표현은 공식적 로마자화일 수 있다. 일부 구현들에서, 상기 제2 쓰기 체계는 기록된 광둥어일 수 있고 그리고/또는 잠재적인 공식적 표현 각각은 예일 표현일 수 있다.
본 발명의 이용가능성의 추가적인 영역들은 지금부터 제공되는 상세한 설명으로부터 명백해질 것이다. 상세한 설명 및 특정한 예시들은 단지 설명을 위한 목적들을 위해 의도되었고 본 발명의 범위를 한정하려고 의도되지 않음이 이해되어야 한다.
본 발명은 상세한 설명 및 첨부 도면들로부터 더 완전하게 이해될 것이다.
도 1은 본 발명의 일부 구현들에 따른 예시 컴퓨팅 디바이스를 설명한다.
도 2는 도 1의 예시 컴퓨팅 디바이스의 기능 블럭도이다.
도 3은 도 1 및 2의 예시 컴퓨팅 디바이스의 프로세서의 기능 블럭도이다.
도 4는 본 발명의 일부 구현들에 따른 예시 사용자 입력을 대응하는 세그멘테이션들, 잠재적인 공식적 표현들 및 문자 후보들과 함께 표현한 도면이다.
도 5는 본 발명의 일부 구현들에 따른 예시 디스플레이의 개략도이다.
도 6a 내지 6c는 본 발명의 일부 구현들에 따른 예시 디스플레이들의 개략도들이다.
도 7은 본 발명의 일부 실시예들에 따른 제1 쓰기 체계의 텍스트를 제2 쓰기 체계의 텍스트로 변환하기 위한 예시 기법을 설명하는 흐름도이다.
본 발명은 사용자가 널리 알려지고 채택된 표현 표준이 존재하지 않는 쓰기 체계에서 문자들을 입력하도록 하는 개선된 입력 방법 편집기에 관한 것이다. 일부 쓰기 체계들에 대해서, 다른 쓰기 체계의 문자들과 함께 문자들을 표현하기 위한 널리 알려지고 채택된 표현 표준이 존재한다. 예를 들어, 핀인은 로마자 또는 라틴 알파벳으로부터의 문자들과 함께 만다린 중국어(Mandarin Chinese)의 한쯔 문자들을 표현하기 위한 널리 알려진 표현 표준이다. 입력 방법 편집기는 제1 쓰기 체계(예를 들어, 핀인)의 입력을 제2 쓰기 체계(예를 들어, 한쯔)의 출력으로 변환하기 위해 활용된다. 이러한 방식으로, 사용자는 제1 쓰기 체계의 문자들을 표현하기 위한 키보드의 사용을 통해서 제2 쓰기 체계의 텍스트를 획득한다.
하지만, 일부 언어들/쓰기 체계에 대해서, 단일의 널리 알려지고 채택된 표현 표준이 존재하지 않을 수 있다. 단지 예시로서, 종래의 중국 문자 또는 단순화된 중국 문자로 광둥어를 표현하기 위해서 라틴 알파벳으로부터의 문자들을 활용하는 다수의 표현 표준들(예일, 쥣핑(Jyutping) 등)이 존재한다. 이러한 표준들 각각은 서로 다르며, 많은 광둥어를 말하는 사용자들은 이러한 표준들 중 하나 또는 모두에 익숙하지 않을 수 있다. 그러므로, 많은 광둥어를 말하는 사용자들은 이러한 표준들 중 하나 이상에 기초해서 입력 방법 편집기를 효율적으로 활용할 수 없을 수 있다.
본 발명은 개선된 입력 방법 편집기("IME")를 제공하는 시스템 및 방법을 제공한다. IME는 제1 쓰기 체계에서 문자들을 활용하고 효율적으로 입력하기 위한 표현 표준과 단지 다소 익숙한 사용자가 제2 쓰기 체계의 사용자 인터페이스(예를 들어, 키보드)를 활용하도록 하기 위해 내결함성(fault-tolerant)일 수 있다. 단지 예시로서, IME는 사용자가 라틴 알파벳 키보드의 사용을 통해서 종래의 또는 단순화된 중국 문자들로 광둥어를 입력하도록 한다. 더욱이, IME는 사용자가 IME의 사용을 통해 하나 이상의 공식적 표현 표준들을 배우도록 사용자에게 피드백을 제공한다.
이제 도 1을 참조하면, 컴퓨팅 디바이스(100)의 예시가 도시된다. 컴퓨팅 디바이스(100)는 모바일 전화로서 설명되지만, 컴퓨팅 디바이스(100)는 예를 들어, 모바일 전화, 태블릿 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터 또는 서버 컴퓨터 등의 어떤 타입의 컴퓨팅 디바이스일 수 있음이 이해되어야 한다. 컴퓨팅 디바이스는 일반적으로 사용자 인터페이스(104)를 포함한다. 사용자 인터페이스(104)는 사용자(108)가 컴퓨팅 디바이스(100)와 (입력을 제공 또는 출력을 수신하는 등의) 인터렉션하는 메커니즘을 제공한다. 설명된 예시에서, 사용자 인터페이스(104)는 정보를 디스플레이하고 사용자(108)로부터 입력을 수신하는 터치 디스플레이이다. 비록 사용자 인터페이스(104)가 가상 키보드(112)를 제공하는 터치 디스플레이로서 도시되지만, 사용자 인터페이스(104)는 가상 키보드에 더하여 또는 가상 키보드의 대안으로서 종래의 키보드를 포함할 수 있다. 일부 실시예들에서, 사용자 인터페이스(104)는 디스플레이, 물리적 키보드, 마이크로폰, 하나 이상의 스피커들, 컴퓨터 마우스 또는 기타 포인팅 디바이스, 및/또는 사용자(108)가 컴퓨팅 디바이스(100)와 인터렉션하는 기타 다른 물리적 컴포넌트를 포함한다.
이제 도 2를 참조하면, 예시 컴퓨팅 디바이스(100)의 기능 블럭도가 설명된다. 사용자 인터페이스(104)에 더하여, 컴퓨팅 디바이스(100)는 프로세서(200), 메모리(205) 및 통신 디바이스(210)를 더 포함한다. 컴퓨팅 디바이스(100)가 설명된 컴퓨팅 컴포넌트들에 비해 추가적인 또는 적은 컴퓨팅 컴포넌트들을 포함할 수 있음이 이해되어야 한다. 더욱이, 비록 본 발명이 단일의 컴퓨팅 디바이스(100)를 설명하지만, 본 명세서에서 사용되는 "컴퓨팅 디바이스"라는 용어는 단일의 컴퓨팅 디바이스뿐만 아니라 설명된 기법들을 수행하기 위해 함께 동작하는 복수 개의 컴퓨팅 디바이스들 모두를 포함하도록 의도된다. 단지 예시로서, 본 발명은 설명된 기법들을 수행하기 위해서 컴퓨팅 디바이스(100)가 서버 컴퓨팅 디바이스(260)와(네트워크(250)를 통해서) 함께 동작하도록 구현되고, 컴퓨팅 디바이스(100) 및 서버 컴퓨팅 디바이스(260) 각각은 설명된 기법들의 일부를 수행한다.
프로세서(200)는 컴퓨팅 디바이스(100)의 동작을 제어한다. 구체적으로, 프로세서(200)는 컴퓨팅 디바이스(100)의 운영 체제를 로딩/실행하고, 통신 디바이스(210)를 통한 네트워크(250)상의 다른 컴포넌트들과의 통신을 제어하고, 그리고 메모리(205)에서의 판독/기록(read/write) 동작들을 제어하는 것을 포함하나, 이에 한정되지 않는 기능들을 수행할 수 있다. 본 명세서에서 사용되는 "프로세서"라는 용어는 단일 프로세서 및 병렬의 또는 분산된 아키텍처(distributed architecture)로 동작하는 2개 이상의 프로세서들 모두를 언급한다. 프로세서(200)는 아래에 더 충분히 설명되는 본 발명의 기법들을 전체적으로 또는 부분적으로 실행하도록 구성될 수도 있다.
메모리(205)는 컴퓨팅 디바이스(100)에 정보를 저장하도록 구성되는 어떤 적합한 저장 매체(플래시, 하드 디스크 등)일 수 있다. 단지 예시로서, 메모리(205)는 실행가능한 컴퓨터 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 저장 매체일 수 있다. 프로세서(200)는 메모리(205)에 저장된 컴퓨터 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(100)는 아래에 설명되는 기법들의 동작들을 수행할 수 있다.
통신 디바이스(210)는 컴퓨팅 디바이스(100)와 다른 디바이스들간의 통신을 제어할 수 있다. 통신 디바이스(210)는 컴퓨팅 네트워크(250)(예를 들어, 인터넷), 모바일 전화 네트워크(254) 및/또는 위성 네트워크(258)를 통해 다른 디바이스들과 통신하도록 구성되는 어떤 적합한 컴포넌트들(예를 들어, 트랜시버)을 포함할 수 있다. 다른 통신 매체들 또한 구현될 수 있다. 예를 들어, 통신 디바이스(210)는 예를 들어, 라디오 주파수(RF) 통신과 같이, 유선 및 무선 네트워크 연결들 모두를 위해 구성될 수 있다.
도 2 및 도 3에 설명된 바와 같이, 프로세서(200)는 IME 엔진(300)을 실행 및 구현할 수 있다. IME 엔진(300)은 세그멘테이션 모듈(310), 퍼지 모델(320) 및 문자 후보 모듈(330)을 포함한다. 프로세서(200) 및 IME 엔진(300)은 사용자 입력을 수신하고 상기 사용자 입력에 응답하여 출력을 제공한다. 단지 예시로서, 그리고 본 발명의 다양한 구현들에 따라, 프로세서(200) 및 IME 엔진(300)은 제1 쓰기 체계의 하나 이상의 문자들의 형태로 된 사용자 입력을 수신하고 상기 사용자 입력에 대응하는 제2 쓰기 체계의 하나 이상의 문자들을 출력한다. 이러한 요소들 각각의 상세한 동작은 아래에 더 충분히 설명된다.
사용자(108)는 가상 키보드(112)에 의해 표현되는 쓰기 체계와 다른 쓰기 체계로 컴퓨팅 디바이스(100)에 텍스트를 입력하고자 할 수 있다. 예를 들어, IME 엔진(300)의 사용을 통해, 컴퓨팅 디바이스(100)는 가상 키보드(112) 또는 기타 입력 디바이스와 관련된 제1 쓰기 체계의 입력 텍스트를 제2 쓰기 체계의 텍스트로 변환할 수 있다.
예를 들어, 컴퓨팅 디바이스(예를 들어, IME 엔진(300))는 사용자 인터페이스(104)에 의해 제시되는 제1 쓰기 체계에서 하나 이상의 문자들의 형태로 사용자(108)로부터 입력을 수신한다. 상기 사용자(108)는 예를 들어, 가상 키보드(112)에 타이핑함으로써 컴퓨팅 디바이스(100)에 입력을 제공한다. 비록 어떤 기타의 쓰기 체계(키릴(Cyrillic), 아랍(Arabic) 등)의 키보드가 활용될 수 있지만, 상기 가상 키보드(112)는 라틴 알파벳 키보드로서 설명된다.
(만다린 중국어의 한쯔 문자들에 대한 핀인 표현 표준과 같은) 널리 알려지고 승인된 표현 표준을 갖는 쓰기 체계들에 대해서는, 사용자(108)는 사용자(108)가 원하는 제2 쓰기 체계 텍스트(한쯔)에 대응하는 제1 쓰기 체계 텍스트(핀인)를 입력할 수 있다. 하지만, 일부 쓰기 체계들/언어들에 대해서는, 단일의 널리 알려지고 승인된 표준이 존재하지 않고, 그리고/또는 상기 사용자(108)는 하나 이상의 특정한 표현 표준들에 익숙하지 않을 수 있다. 그러므로, 상기 사용자 입력은 사용자에 의한 제2 쓰기 체계의 원하는 텍스트에 대한 공식적 표현을 (제1 쓰기 체계에서) 입력하려는 시도에 대응할 수 있다. 하지만, 그러한 "퍼지(fuzzy)" 입력은 통상적인 IME 환경에서 적절한 (또는 어떤) 제2 쓰기 체계 텍스트에 대응하지 않을 수 있다. 본 발명은 공식적 표현 표준들에 익숙하지 않은 사용자(108)가 제1 쓰기 체계의 입력을 통해서 제2 쓰기 체계의 텍스트를 입력하도록 하는 내결함성 IME(fault-tolerant IME)를 제공한다.
프로세서(200) 및 IME 엔진(300)은, 예를 들어, 사용자 인터페이스(104)로부터 사용자 입력을 수신한다. 세그멘테이션 모듈(310)은 하나 이상의 세그멘테이션들을 획득하기 위해서 사용자 입력을 세그먼팅하는 다양한 방식들을 결정할 수 있다. 세그멘테이션들 각각은 궁극적으로 사용자(108)가 원하는 제2 쓰기 체계의 다른 텍스트에 대응한다. 중국 문자들로 광둥어 텍스트를 획득하려고 시도하는 사용자(108)에 대한 라틴 알파벳 쓰기 체계의 예시 사용자 입력(400)은 아래의 도 4를 참조로 하여 설명된다.
이제 도 4를 참조하면, 예시 사용자 입력(400)인 "gongtungw" 및 이에 대응하는 세그멘테이션들(410-1, 410-2, ... , 410-m)(본 명세서에서 개별적으로 및 집합적으로 "세그멘테이션(410)" 및 "세그멘테이션들(410)"로서 각각 언급됨)이 도시된다. 세그멘테이션들(410) 각각은 적어도 하나의 세그먼트를 포함한다. 예를 들어, "gong-tung-w"에 대응하는 세그멘테이션(410-1)은 3개의 세그먼트들 "gong," "tung," "w"를 갖는다. 각 세그먼트는 제1 쓰기 체계의 적어도 하나의 문자를 포함한다.
퍼지 모델(320)은 세그멘테이션들(410) 각각에 대한 적어도 하나의 잠재적인 공식적 표현을 획득하기 위해서 하나 이상의 세그멘테이션들(410)에 적용된다. 각각의 잠재적인 공식적 표현은 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현할 수 있다. 도 4의 설명된 예시에서, 세그멘테이션(410-1)은 잠재적인 공식적 표현들인 "gong-tung-waa,"(420-1) "gwong-dung-wa,"(420-2) "gwong-dung-waa"(420-n)(본 명세서에서 개별적으로 및 집합적으로 "잠재적인 공식적 표현(420)" 및 "잠재적인 공식적 표현들(420)"로서 각각 언급됨)에 대응하는 것으로 도시된다. 설명된 잠재적인 공식적 표현들은 단지 예시들이고, 각각의 세그멘테이션에 대해 ("gong-tung-w"에 대응하는 세그멘테이션(410-1)을 포함하여) 더 많거나 더 적은 잠재적인 공식적 표현들이 획득될 수 있음이 이해되어야 한다.
퍼지 모델(320)은 토큰들의 세트와 공식적인 표현 표준의 대응하는 음절들(syllables)의 세트간의 매핑들(mappings)의 목록일 수 있다. 단지 예시로서, 토큰들의 세트는 공식적인 표현 표준에서 식별되는 모든 가능한 문자들 또는 문자들의 그룹을 표현한다. 일부 표현 표준들에서, 토큰들의 세트는 공식적인 표현 표준의 쓰기 체계의 모든 음소들(phonemes)(예를 들어, 모음들(vowels) 및 자음들(consonants))을 포함한다. 더욱이, 음절 각각은 하나 이상의 토큰들(음소들)을 포함한다. 예를 들어, 광둥어의 예일 표현 표준에서, 음절은 (i) 모음(aa, ong, ou, on, ung 등) 또는 (ii) 모음과 조합된 자음(d, g, gw, t, w 등) 중 하나를 포함할 수 있다.
음절들의 모든 가능한 표현들을 공식적인 음절들의 세트에 매핑(map)하는 것보다는, 일부 실시예들에서 퍼지 모델(320)은 대신 각각의 가능한 토큰을 음소에 매핑할 수 있다. 단지 예시로서, 광둥어에서 "gong"이라는 사용자 입력은 (i) "g"라는 토큰 및 이에 대응하는 "g" 및 "gw"라는 자음들과 (ii) "ong"라는 토큰 및 이에 대응하는 "ong" 및 "ung"라는 모음들의 매핑을 조합함으로써 공식적인 음절들의 "gong"라는 사용자 입력에 대응하는 세트에 매핑될 수 있다.
퍼지 모델(320) 및 퍼지 모델에 관련된 매핑들은 다양한 방식들로 생성될 수 있다. 일부 실시예들에서, 퍼지 모델(320)은 (i) 훈련 데이터에 적용되는 기계 학습 기법들, (ii) 현존하는 표현 표준들(쥣핑, 핀인, 예일 등) 그리고 (iii) 제2 쓰기 체계 및 이에 대응하는 언어 및 원어민들(native speakers)의 언어학적 지식(linguistic knowledge) 중 하나 이상에 기초해서 훈련될 수 있다.
퍼지 모델(320)을 훈련하기 위해서 언어학적 지식을 활용하는 것에 관해, 특정 언어들 및/또는 쓰기 체계들에 대해 어떤 공식적 표현 표준에도 존재하지 않는 "흔한" 또는 이례적(atypical)이지 않은 문자 후보들의 오기들(misspellings) 또는 비공식적 표현들(informal representations)이 존재할 수 있다. 이러한 "퍼지" 토큰들은 훈련 데이터 또는 훈련 데이터의 일부(예를 들어, 특정 카테고리의 사용자들 또는 특정 지리적 영역의 사용자들과 관련된 훈련 데이터)에서 널리 존재한다. 단지 예시로서, 구어(spoken language)의 특정 사투리 또는 강세는 그 사투리를 말하거나 그 강세를 갖는 사용자가 특정 음절을 표현하기 위해서 비공식의 "퍼지" 토큰을 반복적으로 활용하는 결과를 낳는다. 추가적으로, 제1 쓰기 체계(라틴 알파벳 쓰기 체계)과 관련된 특정한 언어에 익숙한 사용자들(프랑스어, 영어 등)은 비공식의 "퍼지" 토큰을 또한 반복적으로 활용할 수 있다. 퍼지 모델(320)은 이러한 "퍼지" 토큰들을 식별하고 "퍼지" 토큰들을 이들의 관련된 심볼들과 매핑하도록 훈련된다.
광둥어의 예일 표현 표준의 예시 음절 "gong"에 대해서, 퍼지 모델은 위에 논의된 "g"로부터 "g" 및 "gw"로의 매핑과 "ong"로부터 "ong" 및 "ung"로의 매핑때문에 토큰들인 "gong," "gwong," "gung" 및 "gwung"을 음절 "gong"과 관련시킨다. 이례적인 매핑이 아님을 설명하는 언어학적 지식에 기초해서, 토큰 "kong"으로부터 "gong"으로의 추가적인 매핑이 존재할 수 있다.
다른 예시에서, 예일 표현 표준은 사용자 입력 "geui"를 잠재적인 다른 문자 후보들 중에서도 특히, 광둥어의 문자인
Figure pct00001
에 매핑한다. 하지만, 영어에 어느정도 익숙한 사용자(108)는 그 사용자의 라틴 알파벳 쓰기 체계의 문자들의 발음의 이해때문에 대신 입력 "gueille"을 제공할 수 있다. 퍼지 모델(320)은 이들의 "퍼지" 토큰들이 관련된 심볼들에 매핑되도록 하여 이러한 타입들의 변형들에 대해 로버스트(robust)할 수 있다.
일부 실시예들에서, 퍼지 모델(320)은 특정한 사용자(108)에 의해 사용되기 위해 선택될 수 있다. 단지 예시로서, 만약 상기 사용자(108)가 특정한 표현 표준에 일부 익숙하다면, 예를 들어, IME 엔진(300)의 초기화 시에, 그 표현 표준이 사용자(108)에 의해 선택될 수 있다. 추가적으로 또는 대안적으로, 특정한 퍼지 모델(320)은, 예를 들어, 사용자(108)와 관련된 지리적 영역에 기초해서, 그리고/또는 특정한 언어들(영어, 프랑스어 등)에 익숙하다는 표시에 기초해서, 컴퓨팅 디바이스(100)에 의해 자동적으로 선택된다.
더욱이, 일단 선택되거나 생성되면, 퍼지 모델(320)은 일반적인 사용자들 또는 특정 사용자(108)에 대한 활용성 및/또는 정확성을 개선하기 위해 적응(adapt)된다. 단지 예시로서, 추가적인 언어학적 지식이 획득되고 추가적인 매핑이 퍼지 모델(320)에 추가될 수 있다. 추가적으로, 퍼지 모델(320)은, 예를 들어, 일반적인 사용자들 또는 특정 사용자(180)에 의한 사용을 통해 특정 음절을 표현하기 위한 특정 "퍼지" 토큰들의 반복된 사용을 식별하기 위해 적응된다. 퍼지 모델(320)을 적응시키는 것은, 위에 설명된 다른 적응들에 추가적으로 또는 대안으로서, 아래에 설명되는 사용자 입력/잠재적인 공식적 표현들/문자 후보들과 관련된 확률들의 조정을 포함한다.
퍼지 모델(320)은 또한 사용자 입력(400)에 기초해서 특정한 잠재적인 공식적 표현(420) 각각에 대한 확률을 관련시키고 제공할 수 있다. 상기 확률은 특정한 잠재적인 공식적 표현(420)이 사용자 입력(400)에 대응할 가능성을 표현한다. 사용자 입력(400)에 기초한 특정한 잠재적인 공식적 표현(420) 각각에 대한 확률은 많은 방식들로 결정될 수 있다. 일부 실시예들에서, 상기 확률은 훈련 데이터로부터 도출된 발생 확률에 기초하고, 그리고/또는 사용자(108)에 의한 IME 엔진(300)의 사용에 전체적으로 또는 부분적으로 기초해서 도출된 확률에 기초할 수 있다.
문자 후보 모듈(330)은 잠재적인 공식적 표현들(420)에 기초해서 복수 개의 문자 후보들(430-1, ... , 430-p)(본 명세서에서 개별적으로 및 집합적으로 "후보 문자(430)" 및 "후보 문자들(430)"로 각각 언급됨)을 결정한다. 문자 후보들(430) 각각은 제2 쓰기 체계로 기록되며 제2 쓰기 체계에서 사용자 입력(400)의 가능한 적절한 표현일 수 있다. 설명된 예시에서, 문자 후보
Figure pct00002
(430-1) 및
Figure pct00003
(430-p)는 사용자 입력 "gongtungw"(400)의 가능한 적절한 표현들을 표현한다.
잠재적인 공식적 표현(420) 각각은 하나의 또는 많은 문자 후보들(430)에 대응할 수 있다. 더욱이, 특정 문자 후보(430) 각각은 특정 문자 후보(430)가 관련된 잠재적인 공식적 표현(420)에 대응할 확률과 관련될 수 있다. 예를 들어, 특정 문자 후보
Figure pct00004
(430-1)는 특정 문자 후보
Figure pct00005
(430-1)가 잠재적인 공식적 표현 "gong-tung-waa"(420-1)에 대응할 가능성을 표현하는 관련된 확률을 가질 수 있다.
컴퓨팅 디바이스(100)는 복수 개의 문자 후보들(430)을 출력할 수 있다. 단지 예시로서, 복수 개의 문자 후보들(430)은 컴퓨팅 디바이스의 디스플레이(사용자 인터페이스(104))에 디스플레이될 수 있다. 일부 실시예들에서, 사용자 인터페이스(104)의 크기 및/또는 기타 인자들에 따라, 모든 잠재적인 문자 후보들(430)의 단지 서브세트만이 디스플레이될 수 있음이 이해되어야 한다. 더욱이, 일부 실시예들에서, 문자 후보들(430) 각각은 관련된 잠재적인 공식적 표현(420)과 함께 디스플레이된다. 이러한 방식으로, 사용자(108)는 사용자 입력(400)에 대응하는 잠재적인 공식적 표현(420) 및 관련된 문자 후보(430)를 제시받는다.
다양한 실시예들에서, 문자 후보들(430)은 순위화된 정렬로 디스플레이될 수 있다. 순위화된 정렬은 사용자 입력(400)을 표현할 가장 높은 가능성을 갖는 문자 후보(430)를 제1 위치에 제시하고, 사용자 입력(400)을 표현할 두 번째로 높은 가능성을 갖는 문자 후보(430)를 제2 위치에 제시하고, 계속 내림차순으로 문자 후보를 제시한다. 대안적인 실시예들에서, 순위화된 정렬은 문자 후보들(430)을 가능성의 내림차순 정렬로 제시하지만, 또한 사용자(108)에게 다양한 잠재적인 문자 후보들(430)을 제공하는 것에 대응한다(도 5에 도시된 예시를 참조로 하여 아래에 더 상세히 설명됨).
문자 후보(430) 각각이 사용자 입력(400)을 표현할 가능성은 다수의 서로 다른 방식들로 결정된다. 다양한 실시예들에서, 특정한 문자 후보(430) 각각에 대한 가능성은 (i) 특정한 문자 후보(430)와 관련된 특정한 잠재적인 공식적 표현(420)이 사용자 입력(400)에 대응할 제1 확률 및 (ii) 특정한 잠재적인 공식적 표현(420)이 특정한 문자 후보(430)에 대응할 제2 확률에 기초할 수 있다. 예를 들어, 그리고 도 4를 참조하면, 문자 후보
Figure pct00006
(430-1)가 사용자 입력 "gongtungw"(400)에 대응할 가능성은 (i) 특정한 잠재적인 공식적 표현 "gong-tung-waa"(420-1)이 사용자 입력 "gongtungw"(400)에 대응할 제1 확률 및 (ii) 특정한 잠재적인 공식적 표현 "gong-tung-waa"(420-1)이 특정한 문자 후보
Figure pct00007
(430-1)에 대응할 제2 확률에 기초할 수 있다.
위에 설명된 가능성들 및 확률들은 훈련 데이터로부터 그리고/또는 사용자(108)에 의한 IME 엔진(300)의 사용을 통해 도출될 수 있다. 단지 예시로서, 컴퓨팅 디바이스(100)는 사용자(108)의 행동에 기초해서 IME 엔진(300)을 적응시킬 수 있다. 더욱이, IME 엔진(300)은 본 명세서에서 더 상세히 설명되는 바와 같이, 추가적인 데이터에 기초해서 또는 IME 엔진(300)의 사용을 통해서 때때로 업데이트되거나 적응될 수 있다.
이제 도 5를 참조하면, 본 발명의 일부 실시예들에 따른 컴퓨팅 디바이스(100)의 사용자 디스플레이(104)의 예시 디스플레이(500)가 설명된다. 사용자 입력(510)("ngodyejomutye")이 사용자(108)에 의해 입력되었고 디스플레이(500)의 텍스트 입력 영역(515)에 디스플레이된다. 예시 사용자 입력 "ngodyejomutye"(510)은 사용자(108)가 제2 쓰기 체계에서 중국 문자들을 입력하기 위해서 라틴 알파벳 쓰기 체계에서 광둥어 텍스트의 공식적 표현을 입력하려는 시도와 관련된다.
복수 개의 잠재적인 공식적 표현들(520-1, 520-2, ... , 520-5)(집합적으로, "잠재적인 공식적 표현들(520)") 및 관련된 문자 후보들(530-1, 530-2, ... , 530-5)(집합적으로, "문자 후보들(530)") 각각은 후보 디스플레이 영역(525)에 디스플레이될 수 있다. 위에 설명된 바와 같이, 후보 문자들(530)은 가장 가능성 있는 문자 후보(530-1)가 제1 위치("1")에 제시되고, 나머지 문자 후보들(530)은 확률의 내림차순으로 디스플레이되는 순위화된 정렬로 제시될 수 있다.
예시 디스플레이(500)는 광둥어 및 관련된 공식적 로마자화 표준들에 관련된 2개의 특수한 경우들을 더 설명한다. 광둥어 사용자들(Cantonese speakers)은 컴퓨팅 디바이스에 "oX" 버전으로 "입 구자(口) 부수들"(mouth radicals)을 표현하는 것에 익숙할 수 있다. 단지 예시로서, 입 구자 부수
Figure pct00008
는 사용자(108)의 선호에 따라 컴퓨팅 디바이스의 디스플레이에 대신
Figure pct00009
로 표현될 수 있다. 이 타입의 "oX" 표현의 다른 예시는 도 5에 문자 후보(530-1)가 공식 입 구자 부수들을 포함하고 문자 후보(530-2)가 입 구자 부수들의 "oX" 버전을 포함하는 것으로 도시되어있다.
도 5는 또한 문자 후보들(530-1 및 530-2)의 "di"의 특수한 경우를 설명한다. 문자들의 "oX" 버전들의 사용과 유사하게, 사용자(108)는 종래의 문자들
Figure pct00010
(공식 입 구자 부수) 또는
Figure pct00011
("oX" 버전) 대신에 라틴 알파벳 문자 "d"를 활용하는 것을 선호할 수 있다. 비록 설명된 예시가 광둥어의 공식 로마자화 표현의 특수한 경우들에 관한 것이지만, IME 엔진(300)은 다른 쓰기 체계들 및 언어들에서의 특수한 경우들에 대해 제공되도록 구성될 수 있음이 이해되어야 한다. 단지 예시로서, 일부 사용자들은 "Yeh" 문자
Figure pct00012
의 페르시아 표현을 아랍의 "Yeh" 문자
Figure pct00013
로 대체할 수 있다. 그러므로, 페르시안 IME에 "Yeh"를 입력한 사용자(108)에 대해 아랍 문자 후보
Figure pct00014
를 옵션으로서 제시하는 것이 바람직하다.
사용자(108)에 대한 다양한 옵션들을 제공하기 위해서, 디스플레이(500)는 전체 사용자 입력 "ngodyejomutye"(510)에 대응하는 하나 이상의 문자 후보들(530)(문자 후보들(530-1 및 530-2)뿐만 아니라, 사용자 입력 "ngodyejomutye"(510)의 단지 일부에 대응하는(예를 들어, 제1 부분 또는 시작 부분) 하나 이상의 문자 후보들(530)(문자 후보들(530-4, 530-5 및 530-6)을 포함한다. 전체 사용자 입력(510)에 대응하는 문자 후보들(530-1 및 530-2) 중 하나의 선택은 텍스트 입력 영역(515)에서 사용자 입력(510)을 선택된 문자 후보(530-1, 530-2)로 대체하도록 동작할 수 있다. 이와는 대조적으로, 사용자 입력(510)의 단지 일부에만 대응하는 문자 후보들(530-3, 530-4 및 530-5) 중 하나의 선택은 텍스트 입력 영역(515)에서 사용자 입력(510)의 그 부분을 대체하도록 동작할 수 있다. 사용자 입력(510)의 나머지는 그 나머지에 대한 복수 개의 문자 후보들을 획득하기 위해서 IME 엔진(300)에 의해 그 후에 해석될 수 있다. 이러한 방식으로, 사용자(108)는 제2 쓰기 체계에서 빠르고 효율적으로 원하는 텍스트를 입력할 수 있다.
이제 도 6a 내지 6c를 참조하면, 본 발명의 일부 실시예들에 따른 컴퓨팅 디바이스(100)의 사용자 인터페이스(104)의 예시 디스플레이(600)가 설명된다. 설명된 예시에서, 사용자(108)는 광둥어에 대한 복수 개의 중국 문자 후보들을 획득하기 위해서 라틴 알파벳 쓰기 체계에서 "ojou"에 대응하는 사용자 입력(610)을 제공했다. 위에 설명된 도 5와 유사하게, 복수 개의 문자 후보들(630)이 이들의 관련된 잠재적인 공식적 표현들(620)과 함께 디스플레이된다.
도 6a에 도시되는 바와 같이, 5개의 문자 후보들(630) 및 이들의 관련된 잠재적인 공식적 표현들(620)은 디스플레이(600)에 출력된다. 추가적으로, 하나 이상의 화살표 버튼들(640)이 디스플레이에 제공될 수 있다. 화살표 버튼들(640)은 사용자(180)가 더 많은 옵션들을 디스플레이하기 위해서 문자 후보들(630)의 목록을 스위칭하도록 한다. 도 6a의 디스플레이의 "아래" 화살표 버튼(640)의 동작(actuate)시에, 추가적인 문자 후보들(630) 및 도 6a의 잠재적인 공식적 표현들과 다른 잠재적인 공식적 표현들(620)을 제공하는 도 6b의 디스플레이가 디스플레이될 수 있다.
설명된 예시에서, 사용자(180)는 예를 들어, 도 6b의 디스플레이(600)가 디스플레이될 때 터치 디스플레이의 이 선택을 터치함으로써 또는 숫자 "1"을 동작시킴으로써 도 6b의 "1"을 선택했다. 이 선택은 그후에 선택된 옵션에 대응하는 사용자 입력(610)의 부분("o")을 대체하여, 도 6c의 디스플레이(600) 및 수정된 사용자 입력(610)의 결과를 낳는다. 수정된 사용자 입력(610')은 그후에 IME 엔진(300)에 제공될 수 있고, IME 엔진(300)은 도 6c에 도시된 바와 같이 수정된 사용자 입력(610')에 기초해서 추가적인 문자 후보들(630)을 제공할 것이다.
이제 도 7을 참조하면, 본 발명의 일부 실시예들에 따른 예시 방법(700)을 설명하는 흐름도가 설명된다. 상기 방법(700)은 단독으로 또는 (서버 컴퓨팅 디바이스(260)와 같은) 하나 이상의 기타 컴퓨팅 디바이스와 함께 위에 설명된 예시 컴퓨팅 디바이스(100)에 의해 수행될 수 있다.
단계(710)에서, 사용자(108)로부터의 입력이 수신된다. 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함한다. 단지 예시로서, 제1 쓰기 체계는 위에 설명된 것과 같은 라틴 알파벳에 기초한 쓰기 체계일 수 있다. 상기 입력은 하나 이상의 세그멘테이션들을 획득하기 위해 단계(720)에서 세그먼팅될 수 있다. 세그멘테이션들 각각은 적어도 하나의 세그먼트를 포함하고, 세그먼트 각각은 제1 쓰기 체계의 적어도 하나의 문자를 포함한다.
단계(730)에서, 세그멘테이션들 각각에 대해 적어도 하나의 잠재적인 공식적 표현을 획득하기 위해서 상기 세그멘테이션들에 적용될 수 있다. 상기 잠재적인 공식적 표현들은, 예를 들어, 위에 설명된 바와 같은 광둥어를 표현하는 중국 문자들과 같이, 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현할 수 있다. 상기 잠재적인 공식적 표현들은 제1 및 제2 쓰기 체계들과 관련된 하나 이상의 표현 표준들에 대응할 수 있다.
상기 잠재적인 공식적 표현들에 기초해서, 복수 개의 문자 후보들이 단계(740)에서 결정될 수 있다. 문자 후보들 각각은 제2 쓰기 체계에 존재한다. 더욱이, 문자 후보들 각각은 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현일 수 있다. 예를 들어, 상기 문자 후보들은 제2 쓰기 체계에서 사용자 입력의 가장 가능성 있는 표현을 포함한다. 위에 설명된 바와 같이, 이러한 문자 후보들은 IME 엔진(300)의 동작에 의해 획득된다. 단계(750)에서, 복수 개의 문자 후보들은, 예를 들어, 컴퓨팅 디바이스(100)의 디스플레이에 문자 후보들의 세트를 디스플레이함으로써 출력된다.
본 발명이 완전하도록 그리고 통상의 기술자들에게 본 발명의 범위를 충분히 전달하도록 예시적인 실시예들이 제공된다. 다양한 특정한 상세사항들, 예를 들어, 본 발명의 실시예들의 완전한 이해를 제공하기 위한 특정한 컴포넌트들, 디바이스들, 및 방법들이 제시된다. 통상의 기술자들에 대해서 특정한 상세사항들이 반드시 이용될 필요는 없고, 예시적인 실시예들은 많은 서로 다른 형태들로 구현될 수 있고 둘 모두가 본 발명의 범위를 한정하려는 것으로 이해되지 않아야 함은 명백할 것이다. 일부 예시적인 실시예들에서, 널리 알려진 절차들, 널리 알려진 디바이스 구조들 및 널리 알려진 기술들은 상세히 설명되지 않는다.
본 명세서에서 사용되는 용어들은 단지 특정한 예시적인 실시예들을 설명하려는 목적이고 한정하려고 의도되지 않는다. 본 명세서에서 사용되는 바와 같이, 단일 형태들 "하나(a, an, 및 the)"는 컨텍스트가 분명하게 다른 것으로 지시하지 않는 한 복수 형태들 또한 포함하는 것으로 의도된다. 용어 "및/또는(and/or)"은 관련된 나열된 아이템들 중 하나 이상의 어떤 그리고 모든 조합들을 포함한다. 용어들 "포함하는(comprises, comprising, including)" 및 "갖는(having)"은 포함적(inclusive)이고 그러므로 기술된 피처들(features), 정수들(integers), 단계들, 동작들, 요소들 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 피처들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들 및/또는 이들의 그룹의 존재 또는 추가를 배제하지는 않는다. 본 명세서에서 설명된 상기 방법 단계들, 프로세스들 및 동작들은 특별히 수행의 순서로서 식별되지 않는 한, 논의되거나 설명된 특정한 순서로 이들의 수행을 반드시 요구하는 것으로 이해되어서는 안 된다. 추가적인 또는 대안적인 단계들이 이용될 수 있음이 또한 이해되어야 한다.
비록 제1, 제2, 제3 등의 용어들이 본 명세서에서 다양한 요소들, 컴포넌트들, 영역들, 레이어들(layers) 및/또는 섹션들(sections)을 설명하기 위해서 사용될 수 있지만, 이러한 요소들, 컴포넌트들, 영역들, 레이어들 및/또는 섹션들은 이러한 용어들에 의해 한정되어서는 안 된다. 이러한 용어들은 하나의 요소, 컴포넌트, 영역, 레이어 또는 섹션을 다른 영역, 레이어 또는 섹션으로부터 구별하기 위해서만 사용된다. "제1(first)," "제2(second)" 및 기타의 수치적 용어들과 같은 용어들은 본 명세서에서 사용될 때 컨텍스트에 의해 분명하게 지시되지 않는 한 시퀀스 또는 순서를 내포하지 않는다. 그러므로, 아래에 논의되는 제1 요소, 컴포넌트, 영역, 레이어 또는 섹션은 예시적인 실시예들의 개시들로부터 벗어남이 없이, 제2 요소, 컴포넌트, 영역, 레이어 또는 섹션으로 칭해질 수 있다.
본 명세서에서 사용되는 바와 같이, 용어 "모듈"은, 애플리케이션별 집적 회로(ASIC), 전자 회로, 조합 로직 회로, 필드 프로그래밍 가능한 게이트 어레이(FPGA), 프로세서 또는 프로세서들의 (공유된, 전용의 또는 그룹화된) 분산된 네트워크 및 코드 또는 프로세스를 실행하는 네트워크화된 클러스터들 또는 데이터센터들의 저장소, 설명된 기능성을 제공하는 기타의 적합한 컴포넌트들, 또는 시스템-온-칩과 같은 위의 것들 중 일부 또는 모두의 조합을 말하거나, 이들의 부분이거나, 또는 이들을 포함할 수 있다. 모듈이라는 용어는 또한 하나 이상의 프로세서들에 의해 실행되는 코드를 저장하는 (공유된, 전용의 또는 그룹화된) 메모리를 포함한다.
위에서 사용되는 바와 같이, 코드라는 용어는 소프트웨어, 펌웨어, 바이트-코드(byte-code) 및/또는 마이크로코드를 포함하고, 프로그램들, 루틴들, 함수들, 클래스들 및/또는 오브젝트들을 말한다. 위에서 사용되는 바와 같이, 공유된 이라는 용어는 다수의 모듈들로부터의 일부의 또는 모든 코드가 단일의 (공유된) 프로세서를 이용해서 실행될 수 있음을 의미한다. 이에 더하여, 다수의 모듈들로부터의 일부의 또는 모든 코드는 단일의 (공유된) 메모리에 의해 저장된다. 위에서 사용되는 바와 같이, 그룹화라는 용어는 단일의 모듈로부터의 일부의 또는 모든 코드가 프로세서들의 그룹을 이용해서 실행될 수 있음을 의미한다. 이에 더하여, 단일의 모듈로부터의 일부의 또는 모든 코드는 메모리들의 그룹을 이용해서 저장된다.
본 명세서에서 설명되는 기법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들에 의해 구현될 수 있다. 컴퓨터 프로그램들은 비일시적인 유형의 컴퓨터 판독가능 매체(non-transitory tangible computer readable medium)에 저장되는 프로세서에 의해 실행가능한 명령어들을 포함한다. 컴퓨터 프로그램들은 또한 저장된 데이터를 포함한다. 비일시적인 유형의 컴퓨터 판독가능 매체의 비한정적인 예시들은 비휘발성 메모리, 자기적 저장소, 광학적 저장소이다.
위의 설명의 일부 부분들은 정보에 대한 동작들의 알고리즘들 및 심볼 표현들(symbolic representations)의 면에서 본 명세서에서 설명된 기법들을 표시한다. 이러한 알고리즘 설명들 및 표현들은 다른 통상의 기술자들에게 자신들의 작업(work)의 본질(substance)을 가장 효율적으로 전달하기 위해서 데이터 프로세싱 기술분야의 통상의 기술자들에 의해 사용되는 수단이다. 이러한 동작들은, 비록 기능적으로 설명되든지 또는 논리적으로 설명되든지 간에, 컴퓨터 프로그램들에 의해 구현되는 것으로 이해된다. 더욱이, 일반성의 손실 없이 이러한 동작들의 배열들을 모듈들로서 또는 기능적 이름들에 의해 언급하는 것이 때때로 편리함이 또한 판명되었다.
위의 논의로부터 분명한 바와 같이 구체적으로 달리 기술되지 않는 한, 본 상세한 설명 전체에서 "프로세싱하는" 또는 "컴퓨팅하는" 또는 "계산하는" 또는 "결정하는" 또는 "디스플레이하는" 등과 같은 용어들을 활용한 논의들은 컴퓨터 시스템 메모리들 또는 레지스터들(registers) 또는 기타의 그러한 정보 저장, 송신 또는 디스플레이 디바이스들 내의 (전자의) 물리량들(physical quantities)로서 표현되는 데이터를 조작하고 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 언급한다.
설명된 기법들의 특정 양상들은 알고리즘의 형태로 본 명세서에서 설명되는 단계들 및 명령어들을 포함한다. 설명된 프로세스 단계들 및 명령어들은 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있고, 소프트웨어로 구현될 때 실시간 네트워크 운영 체제들(real time network operating systems)에 의해 사용되는 서로 다른 플랫폼들에 상주하고 이들로부터 동작되기 위해서 다운로드될 수 있음이 주목되어야 한다.
본 발명은 또한 본 명세서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 필요한 목적들을 위해 특별히 구성될 수 있거나, 상기 장치는 컴퓨터에 의해 액세스되는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 일반 목적의 컴퓨터를 포함한다. 그러한 컴퓨터 프로그램은, 광학 디스크들, CD-ROM들, 자기광학 디스크들, 판독 전용 메모리들(ROM들), 랜덤 액세스 메모리들(RAM들), EPROM들, EEPROM들, 자기 또는 광학 카드들, 애플리케이션별 집적 회로들(ASIC들) 또는 전자 명령어들을 저장하기 위해 적합한 어떤 유형의 매체와 같은, 하지만 이에 한정되지 않는 어떤 타입의 디스크들 유형의 컴퓨터 판독가능 저장 매체에 저장되고 컴퓨터 프로그램 각각은 컴퓨터 시스템 버스에 결합될 수 있다. 더욱이, 본 명세서에서 언급되는 컴퓨터들은 단일 프로세서를 포함하거나 개선된 컴퓨팅 능력을 위한 다수의 프로세서 설계들을 이용하는 아키텍처들일 수 있다.
본 명세서에서 제시되는 알고리즘들 및 동작들은 어떤 특정한 컴퓨터 또는 다른 장치에 내재적으로(inherently) 관련되지 않는다. 다양한 일반 목적의 시스템들이 또한 본 명세서의 개시들에 따른 프로그램들과 함께 사용되거나, 필요한 방법 단계들을 수행하기 위해서 더 특수화된 장치들을 구성하는 것이 편리한 것으로 판명될 수 있다. 이러한 시스템들에 대해 필요한 구조는 균등한 변형들과 함께 통상의 기술자들에게 명백할 것이다. 이에 더하여, 본 발명은 어떤 특정한 프로그래밍 언어를 참조로 하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에서 설명되는 바와 같이 본 발명의 개시들을 구현하기 위해 사용되고, 특정 언어들에 대한 어떤 참조는 본 발명의 실시 및 최적 모드(enablement and best mode)의 개시를 위해 제공됨이 이해된다.
본 발명은 다수의 토폴로지들(topologies)에 대한 매우 다양한 컴퓨터 네트워크 시스템들에 매우 적합하다. 이 분야 내에서, 대형 네트워크의 상기 구성 및 관리는 인터넷과 같은 네트워크를 통해서 비유사한 컴퓨터들 및 저장 디바이스들에 통신으로 결합된 저장 디바이스들 및 컴퓨터들을 포함한다.
실시예들의 전술한 설명은 설명의 목적들을 위해 제공되었다. 상기 설명은 포괄적이거나 본 발명을 한정하려고 의도되지 않았다. 특정한 실시예의 개별적인 요소들 또는 피처들은 일반적으로 그 특정한 실시예에 한정되지 않지만, 구체적으로 도시되거나 설명되지 않았더라도, 적용 가능한 곳에서 교체가능(interchangeable)하고 선택된 실시예에서 사용될 수 있다. 동일한 내용은 또한 많은 방식들로 변형될 수 있다. 그러한 변형들은 본 발명으로부터 벗어나는 것으로 간주되지 않으며, 모든 그러한 변형들은 본 발명의 범위 내에 포함되는 것으로 의도된다.

Claims (22)

  1. 컴퓨터에 의해 구현되는 방법(computer-implemented method)으로서,
    하나 이상의 프로세서들을 포함하는 컴퓨팅 디바이스에서, 사용자로부터의 입력을 수신하는 단계와, 상기 입력은 제1 쓰기 체계(first writing system)의 하나 이상의 문자들(characters)을 포함하며;
    상기 컴퓨팅 디바이스에서, 하나 이상의 세그멘테이션들(segmentations)을 획득하기 위해서 상기 입력을 세그먼팅하는 단계와, 상기 세그멘테이션 각각은 적어도 하나의 세그먼트를 포함하고, 상기 세그먼트 각각은 상기 제1 쓰기 체계의 적어도 하나의 문자를 포함하며;
    상기 컴퓨팅 디바이스에서, 상기 세그멘테이션들 각각에 대한 적어도 하나의 잠재적인 공식적 표현(potential formal representation)을 획득하기 위해서 상기 하나 이상의 세그멘테이션들에 대해 퍼지 모델(fuzzy model)을 적용하는 단계와, 상기 잠재적인 공식적 표현 각각은 상기 제1 쓰기 체계에 존재하고 제2 쓰기 체계(second writing system)의 텍스트를 표현하며;
    상기 컴퓨팅 디바이스에서, 상기 잠재적인 공식적 표현들에 기초해서 복수 개의 문자 후보들(character candidates)을 결정하는 단계와, 상기 복수 개의 문자 후보들 각각은 상기 제2 쓰기 체계에 존재하고 상기 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현(possible appropriate representation)이며; 그리고
    상기 컴퓨팅 디바이스에서, 상기 복수 개의 문자 후보들을 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  2. 제 1항에 있어서,
    상기 하나 이상의 세그멘테이션들에 대해 상기 퍼지 모델을 적용하는 단계는 특정한 잠재적인 공식적 표현 각각에 대한 확률(possibility)을 획득하는 것을 포함하며, 상기 확률은 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 가능성(likelihood)을 표현하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  3. 제 1항에 있어서,
    상기 복수 개의 문자 후보들을 출력하는 단계는 상기 컴퓨팅 디바이스의 디스플레이에 순위화된 정렬(ranked order)로 상기 복수 개의 문자 후보들의 세트를 디스플레이하는 것을 포함하며, 상기 순위화된 정렬은 상기 복수 개의 문자 후보들의 세트의 문자 후보 각각이 상기 입력에 대응할 가능성에 기초하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  4. 제 3항에 있어서,
    상기 복수 개의 문자 후보들의 세트의 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되며, 특정한 문자 후보 각각에 대한 상기 가능성은: (i) 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 제1 확률, 그리고 (ii) 상기 특정한 잠재적인 공식적 표현이 상기 특정한 문자 후보에 대응할 제2 확률에 기초하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  5. 제 4항에 있어서,
    상기 복수 개의 문자 후보들의 세트 중의 하나의 문자 후보의 사용자 선택을 수신하는 단계와, 그리고 상기 선택된 문자 후보를 상기 디스플레이의 텍스트 입력 영역에 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  6. 제 4항에 있어서,
    상기 복수 개의 문자 후보들의 세트를 상기 컴퓨팅 디바이스의 디스플레이에 디스플레이하는 단계는 특정한 문자 후보 각각을 이에 관련된 특정한 잠재적인 공식적 표현과 함께 디스플레이하는 것을 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  7. 제 1항에 있어서,
    상기 복수 개의 문자 후보들 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되며, 그리고 상기 복수 개의 문자 후보들을 출력하는 단계는 상기 컴퓨팅 디바이스의 디스플레이에 상기 복수 개의 문자 후보들 중 적어도 하나의 특정한 문자 후보 및 이에 관련된 잠재적인 공식적 표현을 디스플레이하는 것을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  8. 제 1항에 있어서,
    상기 제1 쓰기 체계는 라틴 알파벳(Latin alphabet) 쓰기 체계이고,
    상기 제2 쓰기 체계는 비-라틴 알파벳(non-Latin alphabet) 쓰기 체계이며, 그리고
    상기 공식적 표현은 공식 로마자화(formal Romanization)인 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  9. 제 1항에 있어서,
    상기 제2 쓰기 체계는 기록된 광둥어(Cantonese)인 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  10. 제 9항에 있어서,
    잠재적인 공식적 표현 각각은 예일 표현(Yale representation)인 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  11. 컴퓨팅 디바이스로서,
    디스플레이와;
    상기 디스플레이에 결합되는 하나 이상의 프로세서들과; 그리고
    실행가능한 컴퓨터 프로그램 코드를 수록하는 비일시적인 컴퓨터 판독가능 저장 매체(non-transitory computer-readable storage medium)와, 상기 하나 이상의 프로세서들은 동작들을 수행하기 위해서 상기 실행가능한 컴퓨터 프로그램 코드를 실행하도록 구성되며, 상기 동작들은:
    사용자로부터 입력을 수신하는 동작과, 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함하며;
    하나 이상의 세그멘테이션들을 획득하기 위해서 상기 입력을 세그먼팅하는 동작과, 상기 세그멘테이션 각각은 적어도 하나의 세그먼트를 포함하고, 상기 세그먼트 각각은 상기 제1 쓰기 체계의 적어도 하나의 문자를 포함하며;
    상기 세그멘테이션들 각각에 대한 적어도 하나의 잠재적인 공식적 표현을 획득하기 위해서 상기 하나 이상의 세그멘테이션들에 대해 퍼지 모델을 적용하는 동작과, 상기 잠재적인 공식적 표현 각각은 상기 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현하며;
    상기 잠재적인 공식적 표현들에 기초해서 복수 개의 문자 후보들을 결정하는 동작과, 상기 복수 개의 문자 후보들 각각은 상기 제2 쓰기 체계에 존재하고 상기 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현이며; 그리고
    상기 복수 개의 문자 후보들을 출력하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  12. 제 11항에 있어서,
    상기 하나 이상의 세그멘테이션들에 대해 상기 퍼지 모델을 적용하는 동작은 특정한 잠재적인 공식적 표현 각각에 대한 확률을 획득하는 것을 포함하며, 상기 확률은 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 가능성을 표현하는 것을 특징으로 하는 컴퓨팅 디바이스.
  13. 제 11항에 있어서,
    상기 복수 개의 문자 후보들을 출력하는 동작은 상기 디스플레이에 순위화된 정렬로 상기 복수 개의 문자 후보들의 세트를 디스플레이하는 것을 포함하며, 상기 순위화된 정렬은 상기 복수 개의 문자 후보들의 세트의 문자 후보 각각이 상기 입력에 대응할 가능성에 기초하는 것을 특징으로 하는 컴퓨팅 디바이스.
  14. 제 13항에 있어서,
    상기 복수 개의 문자 후보들의 세트의 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되며, 특정한 문자 후보 각각에 대한 상기 가능성은: (i) 상기 특정한 잠재적인 공식적 표현이 상기 입력에 대응할 제1 확률, 그리고 (ii) 상기 특정한 잠재적인 공식적 표현이 상기 특정한 문자 후보에 대응할 제2 확률에 기초하는 것을 특징으로 하는 컴퓨팅 디바이스.
  15. 제 14항에 있어서,
    상기 동작들은 상기 복수 개의 문자 후보들의 세트 중의 하나의 문자 후보의 사용자 선택을 수신하는 동작과, 그리고 상기 선택된 문자 후보를 상기 디스플레이의 텍스트 입력 영역에 디스플레이하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  16. 제 14항에 있어서,
    상기 복수 개의 문자 후보들의 세트를 상기 컴퓨팅 디바이스의 디스플레이에 디스플레이하는 동작은 특정한 문자 후보 각각을 이에 관련된 특정한 잠재적인 공식적 표현과 함께 디스플레이하는 것을 더 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  17. 제 11항에 있어서,
    상기 복수 개의 문자 후보들 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되며, 그리고 상기 복수 개의 문자 후보들을 출력하는 동작은 디스플레이에 상기 복수 개의 문자 후보들 중 적어도 하나의 특정한 문자 후보 및 이에 관련된 잠재적인 공식적 표현을 디스플레이하는 것을 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  18. 제 11항에 있어서,
    상기 제1 쓰기 체계는 라틴 알파벳 쓰기 체계이고,
    상기 제2 쓰기 체계는 비-라틴 알파벳 쓰기 체계이며, 그리고
    상기 공식적 표현은 공식 로마자화인 것을 특징으로 하는 컴퓨팅 디바이스.
  19. 제 11항에 있어서,
    상기 제2 쓰기 체계는 기록된 광둥어인 것을 특징으로 하는 컴퓨팅 디바이스.
  20. 제 19항에 있어서,
    잠재적인 공식적 표현 각각은 예일 표현인 것을 특징으로 하는 컴퓨팅 디바이스.
  21. 컴퓨터에 의해 실행 가능한 코드(computer executable code)를 수록하는 비일시적인 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터에 의해 실행 가능한 코드는 하나 이상의 프로세서들을 구비하는 컴퓨팅 디바이스에 의한 실행 시에 상기 컴퓨팅 디바이스가 동작들을 수행하도록 하며, 상기 동작들은:
    사용자로부터 입력을 수신하는 동작과, 상기 입력은 제1 쓰기 체계의 하나 이상의 문자들을 포함하며;
    하나 이상의 세그멘테이션들을 획득하기 위해서 상기 입력을 세그먼팅하는 동작과, 상기 세그멘테이션 각각은 적어도 하나의 세그먼트를 포함하고, 상기 세그먼트 각각은 상기 제1 쓰기 체계의 적어도 하나의 문자를 포함하며;
    상기 세그멘테이션들 각각에 대한 적어도 하나의 잠재적인 공식적 표현을 획득하기 위해서 상기 하나 이상의 세그멘테이션들에 대해 퍼지 모델을 적용하는 동작과, 상기 잠재적인 공식적 표현 각각은 상기 제1 쓰기 체계에 존재하고 제2 쓰기 체계의 텍스트를 표현하며;
    상기 잠재적인 공식적 표현들에 기초해서 복수 개의 문자 후보들을 결정하는 동작과, 상기 복수 개의 문자 후보들 각각은 상기 제2 쓰기 체계에 존재하고 상기 제2 쓰기 체계의 사용자 입력의 가능한 적절한 표현이며; 그리고
    상기 복수 개의 문자 후보들을 출력하는 동작을 포함하는 것을 특징으로 하는 비일시적인 컴퓨터 판독가능 저장 매체.
  22. 제 21항에 있어서,
    상기 복수 개의 문자 후보들 중 특정한 문자 후보 각각은 특정한 잠재적인 공식적 표현과 관련되며, 상기 복수 개의 문자 후보들을 출력하는 동작은, 상기 디스플레이에 상기 복수 개의 문자 후보들 중 적어도 하나의 특정한 문자 후보 및 이에 관련된 잠재적인 공식적 표현을 디스플레이하는 것을 포함하는 것을 특징으로 하는 비일시적인 컴퓨터 판독가능 저장 매체.
KR1020157033796A 2013-04-27 2013-04-27 내결함성 입력 방법 편집기 KR20160003155A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/074901 WO2014172918A1 (en) 2013-04-27 2013-04-27 Fault-tolerant input method editor

Publications (1)

Publication Number Publication Date
KR20160003155A true KR20160003155A (ko) 2016-01-08

Family

ID=51791031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157033796A KR20160003155A (ko) 2013-04-27 2013-04-27 내결함성 입력 방법 편집기

Country Status (4)

Country Link
US (1) US20160078013A1 (ko)
KR (1) KR20160003155A (ko)
CN (1) CN105683873A (ko)
WO (1) WO2014172918A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101923561B1 (ko) * 2017-04-24 2019-02-22 비트루브 주식회사 듣기 학습을 지원하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN107390894A (zh) * 2017-07-21 2017-11-24 Tcl移动通信科技(宁波)有限公司 五笔输入法的输入前识别控制方法、存储装置及移动终端
CN108227494B (zh) * 2018-01-05 2022-01-04 海南师范大学 非线性批次过程2d最优约束模糊容错控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848080B1 (en) * 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US20100262621A1 (en) * 2004-03-05 2010-10-14 Russ Ross In-context exact (ice) matching
US7478033B2 (en) * 2004-03-16 2009-01-13 Google Inc. Systems and methods for translating Chinese pinyin to Chinese characters
KR100643801B1 (ko) * 2005-10-26 2006-11-10 엔에이치엔(주) 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법
CN101206673A (zh) * 2007-12-25 2008-06-25 北京科文书业信息技术有限公司 网络搜索过程中关键词的智能纠错系统及方法
US8010465B2 (en) * 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
CN102200839A (zh) * 2010-03-25 2011-09-28 阿里巴巴集团控股有限公司 一种汉字输入过程中的汉语拼音串处理方法及其系统
CN102478968B (zh) * 2010-11-23 2016-02-17 深圳市世纪光速信息技术有限公司 中文拼音输入方法和中文拼音输入系统
US8977535B2 (en) * 2011-04-06 2015-03-10 Pierre-Henry DE BRUYN Transliterating methods between character-based and phonetic symbol-based writing systems

Also Published As

Publication number Publication date
WO2014172918A1 (en) 2014-10-30
CN105683873A (zh) 2016-06-15
US20160078013A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
US9262412B2 (en) Techniques for predictive input method editors
US9824085B2 (en) Personal language model for input method editor
US9552125B2 (en) Input method editor
US8812302B2 (en) Techniques for inserting diacritical marks to text input via a user device
TWI443551B (zh) 用於輸入方法編輯器之方法及系統,及電腦程式產品
US8543375B2 (en) Multi-mode input method editor
US8077974B2 (en) Compact stylus-based input technique for indic scripts
JP5521028B2 (ja) インプットメソッドエディタ
US9043300B2 (en) Input method editor integration
JP5703331B2 (ja) ユーザがユーザデバイスに異なる複数の言語でエンティティの名前をテキスト入力するのを支援するための技術
JP6087949B2 (ja) タッチコンピューティングデバイスを使用して、複数の文字で構成される複合子音または複合母音を入力して別の言語に翻字するための技法
KR102240663B1 (ko) 필기 입력의 진행 디스플레이
US20150088486A1 (en) Written language learning using an enhanced input method editor (ime)
KR20160003155A (ko) 내결함성 입력 방법 편집기
KR20170132643A (ko) 문자 디스플레이 방법 및 그 장치
US10386935B2 (en) Input method editor for inputting names of geographic locations
KR101645674B1 (ko) 자동완성 후보 단어 제공 방법 및 장치
KR20130065965A (ko) 가상 키보드의 외관을 적응적으로 변경하는 방법 및 장치
JP5318030B2 (ja) 入力支援装置、抽出方法、プログラム、及び情報処理装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application