KR20120095914A - 입력 제안들을 생성 - Google Patents
입력 제안들을 생성 Download PDFInfo
- Publication number
- KR20120095914A KR20120095914A KR1020127012434A KR20127012434A KR20120095914A KR 20120095914 A KR20120095914 A KR 20120095914A KR 1020127012434 A KR1020127012434 A KR 1020127012434A KR 20127012434 A KR20127012434 A KR 20127012434A KR 20120095914 A KR20120095914 A KR 20120095914A
- Authority
- KR
- South Korea
- Prior art keywords
- input
- texture
- language
- gram
- texture input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0236—Character input methods using selection techniques to select from displayed items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/018—Input/output arrangements for oriental characters
Abstract
입력 제안들을, 예를 들어 다른 입력 형태들로 표현되는 텍스쳐 입력으로부터 생성하기 위한 컴퓨터 프로그램 제품을 포함하는 장치, 시스템, 및 방법을 포함한다. 이 방법은 사용자가 입력 필드에 입력한 텍스쳐 입력을 수신하는 단계?여기서, 상기 텍스쳐 입력은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램과, 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램과 제2 언어로 된 제3 그램 중 적어도 하나를 포함함?; 상기 텍스쳐 입력에 대한, 모호한 형태로 된 하나 이상의 대안 표현을 생성하는 단계; 상기 대안 표현들을 제안 서비스에 송신하는 단계와 상기 제안 서비스로부터 하나 이상의 입력 제안을 수신하는 단계; 및 사용자 인터페이스에 디스플레이하기 위하여 상기 텍스쳐 입력에 대한 선택가능 대안들이 되는 것으로서 하나 이상의 입력 제안으로 된 그룹을 식별하기 위해, 상기 텍스쳐 입력과 상기 하나 이상의 입력 제안을 비교하는 단계를 포함한다.
Description
본 명세서는 디지털 데이터 프로세싱에 관한 것으로, 보다 상세하게는 컴퓨터 구현 탐색 서비스에 관한 것이다.
종래 탐색 서비스들은 입력 탐색 쿼리에 대한 대안으로서 탐색 쿼리 제안(search query suggestions)들을 제공한다. 예를 들어, 종래 탐색 엔진은 텍스쳐 입력(textual input)을 수신하는 쿼리 입력 필드를 포함할 수 있다. 텍스터 입력을 수신하는 것에 응답하여, 종래 탐색 서비스는 그 텍스쳐 입력을 위한 탐색 쿼리 제안들을 제공할 수 있다. 사용자는 탐색 쿼리로서 사용하기 위해 하나의 탐색 쿼리 제안을 선택할 수 있다.
일부 상황에서는, 사용자는 다른 입력 형태(input form)들로 표현되는 텍스쳐 입력을 제공할 수 있다. 예를 들어, 텍스터 입력은 제1 스크립으로 된 형태소들(morphemes: 예컨대, 한자), 제2 스크립트로 된 어휘 항목(lexical item: 예컨대, 영어 단어), 및 제1 스크립트로 된 형태소들의 표음식 표현(phonetic representation)들을 표현하는 제2 스크립트로 된 문자소들(graphemes: 예컨대, 핀인 음절(pinyin syllable)들 또는 핀인 축약형(Pinyin abbreviation)들)의 혼합을 포함할 수 있다.
본 발명은 탐색 쿼리 제안들을 생성하는 것에 관한 기술들을 제공하는 것을 목적으로 한다.
전체적으로, 본 명세서에 설명된 주제의 제1 양태는 방법으로 구현될 수 있으며, 그 방법은 사용자가 입력 필드에 입력한 텍스쳐 입력을 수신하는 단계?여기서, 상기 텍스쳐 입력은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램과, 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램과 제2 언어로 된 제3 그램 중 적어도 하나를 포함함?; 상기 텍스쳐 입력에 대한 하나 이상의 대안 표현(alternative representation)을 생성하는 단계?상기 대안 표현들은 상기 텍스쳐 입력에 직접적으로 매칭되지 않는 하나 이상의 입력 제안을 표현하는 모호한 형태(ambiguous form)로 되어 있음?; 상기 대안 표현들을 제안 서비스(suggestion service)에 송신하고, 상기 제안 서비스로부터 하나 이상의 입력 제안을 수신하는 단계; 및 사용자 인터페이스에 디스플레이하기 위하여 상기 텍스쳐 입력에 대한 선택가능 대안들이 되는 것으로서 하나 이상의 입력 제안으로 된 그룹을 식별하기 위해, 상기 텍스쳐 입력과 상기 하나 이상의 입력 제안을 비교하는 단계의 동작들을 포함한다. 본 양태의 다른 실시예들은 상승하는 시스템들, 장치들, 및 컴퓨터 프로그램 제품들을 포함한다.
이러한 또는 다른 구현예들은 하나 이상의 후술하는 특징을 선택적으로 포함할 수 있다. 모호한 형태로 된 상기 텍스쳐 입력에 대한 하나 이상의 대안 표현을 생성하는 단계는 상기 텍스쳐 입력을 문자들로 된 하나 이상의 근접 시퀀스로 세그먼트화하는 단계?여기서, 상기 각 시퀀스는 단어 또는 쿼리를 표현함?; 각 세그먼트의 하나 이상의 표현을 식별하는 단계?여기서, 각 표현은 대안 형태로 이루어짐?; 및 상기 텍스쳐 입력에 대한 대안 표현을 생산하기 위해서, 대안 형태로 된 연관된 표현들로 상기 텍스쳐 입력내 하나 이상의 세그먼트를 대체하는 단계를 포함한다.
상기 텍스쳐 입력은 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램을 포함하고, 상기 모호한 형태로 된 상기 텍스쳐 입력에 대한 하나 이상의 대안적 표현을 생성하는 단계는 상기 텍스쳐 입력으로부터 제4 n-그램을 생성하는 단계를 포함하고, 상기 제4 n-그램은 상기 텍스쳐 입력의 대안 표현이고, 상기 제2 형태로 된 텍스트의 하나 이상의 시퀀스를 포함한다. 상기 제4 n-그램은 상기 제1 형태로 된 텍스트의 하나 이상의 시퀀스를 포함한다.
상기 제1 언어를 표현하는 상기 제2 형태는 완전한 표음식 표현 또는 부분적 표음식 표현을 사용하여 상기 제1 언어를 표현하는 것을 포함한다. 상기 제1 언어는 중국어이고, 중국어를 표현하는 상기 제1 형태는 한자를 사용하여 중국어를 표현하는 것을 포함한다. 완전한 표음식 표현은 핀인 음절이고, 부분적 표음식 표현은 핀인 축약형이다. 텍스쳐 입력은 제2 언어로 된 제3 n-그램을 포함하고, 상기 제2 언어는 영어이다. 선택가능 대안들은 한자를 사용하여 표현되는 하나 이상의 입력 제안을 포함한다. 텍스쳐 입력은 상기 사용자가 탐색에 대한 요청에 상기 텍스쳐 입력을 제출하기 전이면서, 상기 텍스쳐 입력의 각 토큰을 수신한 후에 미리 정해진 시간 동안 대기한 후에 수신된다.
본 명세서에서 설명된 주제의 특정 실시예들은 하나 이상의 후술하는 장점들을 실현하도록 구현될 수 있다. 다른 입력 유형들로 표현된 텍스쳐 입력으로부터 입력 제안들을 자동적으로 생산하는 것은 탐색 제안들을 얻기 위해 필요한 사용자 상호동작에 대한 양을 감소시킨다. 이에 더하여, 다른 형태들로 표현되는 텍스쳐 입력에 대한 탐색 제안들을 얻는 것은 탐색 쿼리 제안들을 캡쳐함으로써 탐색 쿼리들의 범위를 증가시킬 수 있는데, 이러한 탐색 쿼리 제안들은 예를 들어, 사용자가 IME(Input Method Editor)에 액세스하지 않거나 언어의 특정 스크립트로 된 텍스쳐 입력을 제공하는 방법을 모르는 경우에는, 사용자에게 제공하기가 편리하지 않을 수 있다.
입력 제안들이 얼마나 많이 메모리를 감소시키는지를 판단하는데 사용하기 위하여 상기 텍스쳐 입력의 대안 표현들(모호한 형태로 이루어짐)을 생성하는 것은 텍스쳐 입력의 가능한 표현들을 저장하는데 필요하다. 모호한 형태로 된 대안 표현들을 생성하는 것은, 메모리 사용을 감소시키는 것 외에도, 탐색 범위를 증가시키고 처리되는 입력 제안들의 수를 감소시킴으로써 입력 제안들(예컨대, 음역(transliteration)들)을 식별하는 것의 정확성(precision), 리콜(recall), 및 효율(efficiency)을 증가시킨다.
본 명세서에서 설명된 주제에 대한 하나 이상의 실시예가 첨부 도면들과 후술하는 상세한 설명에서 개시된다. 본 주제에 대한 다른 특징들, 양태들, 및 장점들을 상세한 설명, 도면들, 및 청구항들로부터 명백해질 것이다.
도 1은 다른 형태로 된 선택가능 대안 텍스쳐 입력(selectable alternatives textual input)을 생성하는 시스템의 일부 구현예에서의 예시적 데이터 흐름을 나타내는 블록도이다.
도 2는 예시적 입력 제안 집계기(input suggestion aggregator)를 나타내는 블록도이다.
도 3은 예시적 텍스쳐 입력과 그 텍스쳐 입력에 대한 예시적 선택가능 대안을 나타내는 다이어그램이다.
도 4는 특정 텍스쳐 입력으로부터 입력 제안들이 어떻게 생성되는지를 보여주는 예시적 데이터 흐름을 나타내는 다이어그램이다.
도 5는 다른 형태들로 된 텍스쳐 입력들에 대한 선택가능 대안들을 자동적으로 생성하는 예시적 프로세스를 나타내는 순서도이다.
여러 도면에서 유사한 참조 부호는 유사한 구성 요소들을 가리킨다.
도 2는 예시적 입력 제안 집계기(input suggestion aggregator)를 나타내는 블록도이다.
도 3은 예시적 텍스쳐 입력과 그 텍스쳐 입력에 대한 예시적 선택가능 대안을 나타내는 다이어그램이다.
도 4는 특정 텍스쳐 입력으로부터 입력 제안들이 어떻게 생성되는지를 보여주는 예시적 데이터 흐름을 나타내는 다이어그램이다.
도 5는 다른 형태들로 된 텍스쳐 입력들에 대한 선택가능 대안들을 자동적으로 생성하는 예시적 프로세스를 나타내는 순서도이다.
여러 도면에서 유사한 참조 부호는 유사한 구성 요소들을 가리킨다.
도 1은 다른 형태로 된 선택가능 대안 텍스쳐 입력을 생성하는 시스템의 일부 구현예에서의 예시적 데이터 흐름을 나타내는 블록도이다. 사용자(110)는 클라이언트(130)에 의해 제시된 탐색 엔진 쿼리 입력 필드에 입력(120)을 제공한다. 입력(120)은 여러 형태들로 된 n-그램을 구비한다.
n-그램은 n개의 연속한 토큰(consecutive token: 예컨대, 문자들 또는 단어들)의 시퀀스이다. n-그램은 n-그램 내의 토큰 개수를 나타내는 차수(order)를 갖는다. 예를 들면, 1-그램(또는 단일 그램)은 하나의 토큰을 포함하고, 2-그램(또는 바이그램)은 두 개의 토큰을 포함한다. 입력(120)은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램을 포함할 수 있다. 또한, 입력(120)은 제1 언어를 표현하는 제2 형태로 된 제2 n-그램을 포함하거나, 또는 제2 언어로 된 제3 n-그램을 포함할 수 있다.
예를 들어, "我"(예컨대, 영어로는 "me"이고, 로 발음됨)는 제1 언어를 표현하는 제1 형태로 된 제1 n-그램일 수 있다(예를 들어, 중국어를 표현하는 한자). 이에 더하여, "wo"는 제1 언어를 표현하는 제2 형태로 된 제2 n-그램일 수 있다. 특히, "wo"는 "我"의 완전한 표음식 표현(예컨대, 핀인 음절)인 2-그램이다. 또한, "w"는 제1 언어를 표현하는 제2 형태로 된 제2 n-그램의 다른 한 예시이다. 특히, "w"는 예를 들어, 로 발음되는 "我", 로 발음되는 "臥", 및 로 발음되는 의 핀인 축약형과 같은 복수의 한자에 대한 부분적 표음식 표현인 1-그램이다. 로마자 "w"가 핀인 음절로 된 문자들의 시퀀스에 있는 첫 번째 문자이기 때문에, 로마자 "w"는 부분적 표음식 표현으로서 일컬어질 수 있다.
클라이언트(130)는 입력(120)에 대한 선택가능 대안들에 대한 요청을 탐색 서비스(140)에 송신한다. 이 요청은 입력(120)을 포함한다. 일부 구현예들에서, 클라이언트(130)는 그 요청을, 탐색 엔진 쿼리 입력 필드에서 텍스쳐 입력의 각 토큰을 입력받은 후(예컨대, 제1 탐색 쿼리의 각 문자 또는 제1 탐색 쿼리의 각 문자의 후)에 즉시 송신한다. 그 결과로서, 사용자가 텍스쳐 입력의 각 토큰을 입력할 때, 선택가능 대안들이 사용자에게 제공될 수 있다. 일부 대안적 구현예들에서, 클라이언트(130)는 탐색 서비스(140)로의 요청을 자동적으로 생성하기 전에 미리 정해진 시간만큼 기다리는, 지연(delay)을 구현한다.
탐색 서비스(140)에 설치된 모듈(142: 예컨대 소프트웨어 스크립트)는 입력(120)을 수신한다. 모듈(142)은 입력(120)을 모호한 형태로 변환하기 위해 그 입력(120)을 처리한다. 특히, 모듈(142)은, 후술되는 것과 같이, 각각이 모호한 형태로 되어 있는, 상기 입력(120)에 대한 하나 이상의 대안 표현을 생성한다. 모듈(142)은 그 대안 표현들을, 탐색 서비스(140) 상에 설치된 제안 서비스(144)에 송신한다. 일부 대안적 구현예들에서, 탐색 서비스(140)는 중개 서버 상에 설치되고, 제안 서비스(144)는 탐색 서비스(140)로부터 대안 표현들을 수신하는 수신 서버 상에 설치된다.
제안 서비스(144)는 입력(120)에 대한 하나 이상의 제안을 반환한다. 입력 제안들은 입력(120)에 대한 대안물(예컨대, 완성(completion)들, 음역(transliteration)들)이다. 모듈(142)은 입력(120)에 대한 선택가능 대안들로서 하나 이상의 입력 제안로 이루어진 그룹을 식별하기 위해, 입력(120)과 상기 하나 이상의 제안을 비교한다. 모듈(142)은 실시간으로, 즉 사용자(122)가 탐색 엔진 쿼리 입력 필드에 문자들을 입력할 때, 사용자 인터페이스에 디스플레이하기 위하여 클라이언트(130)에 선택가능 대안들을 반환한다.
도 2는 예시적 입력 제안 집계기(200)를 예시하는 블록도이다. 입력 제안 집계기(200)는 변형 하위 모듈(210)과 비교 하위 모듈(220)을 포함한다. 입력 제안 집계기(200)는 텍스쳐 입력을 수신한다. 변형 하위 모듈(210)은 그 텍스쳐 입력에 대해 모호한 형태로 된 하나 이상의 대안적 표현을 생성한다. 비교 하위 모듈(220)은 그 입력 제안들을 수신하고, 제1 텍스쳐 입력에 대한 선택가능 대안들로서 하나 이상의 입력 제안으로 된 그룹을 식별하기 위해, 그 입력 제안들을 텍스쳐 입력과 비교한다.
도 3은 예시적 텍스쳐 입력과 그 텍스쳐 입력에 대한 예시적 선택가능 대안들을 나타내는 다이어그램이다. 텍스쳐 입력은 다른 형태로 된 복수의 n-그램을 나타내는 "北"의 시퀀스를 포함한다. 특히, 텍스쳐 입력은 제1 문자를 표현하는 제1 형태로 된 1-그램(즉, 한자 "北")을 포함한다. 또한 텍스쳐 입력은 제1 언어를 표현하는 제2 형태로 된 4-그램(즉, 완성된 표음식 표현 (핀인 음절))을 포함한다. 이에 더하여, 텍스쳐 입력은 제1 언어를 나타내는 제3 형태로 된 두 개의 1-그램(즉, 핀인 축약형 "f"와 핀인 축약형 "d")를 포함한다. 또한, 텍스쳐 입력은 다른 제2 언어로 된 6-그램 및 4-그램(즉, 영어 단어 "office"와 "hour")를 포함한다.
선택가능 대안들은 한자 "北", "京", , 및 "店"을 포함한다. 또한, 선택가능 대안은 영어 단어 "office"와 "hour"을 포함한다. 한자 "北"은 텍스쳐 입력에서 동일 문자로 표현된다. 한자 "京"(예컨대, 영어로는 "capital"이고, 로 발음됨)은 텍스쳐 입력에서 핀인 음절 로 표현된다. 한자 (예컨대, 영어로는 "food"이고, 으로 발음됨)는 텍스쳐 입력에서 핀인 축약형 "f"로 표현되고, 한자 "店"(예컨대, 영어로 "store"이고, 으로 발음됨)은 핀인 축약형 "d"로 표현된다. 영어 단어 "office"와 "hour"는 텍스쳐 입력에서 동일한 단어로 표현된다. 선택가능 대안의 예시적 번역들은 "Beijing restaurant office hours"와 "Beijing hotel office hours"를 포함하는데, "北京"은 "Beijing"으로 번역되고, 은 "restaurant" 또는 "hotel"로 번역되었다.
도 4는 입력 제안들이 특정 텍스쳐 입력으로부터 어떻게 생성되는지를 보여주는 예시적 데이터 흐름을 나타내는 블록도이다. 이 예시에서, 텍스쳐 입력은 문자의 시퀀스 를 포함하는데, 여기서 한자 "中"은 영어의 "middle"로 단독으로 번역되어 으로 발음되거나, 영어로 "hit"로 단독으로 번역되어 로 발음될 수 있다. 이 텍스쳐 입력은 제1 1-그램 "中", 제2 1-그램 "g", 제3 1-그램 "gu", 및 제4 1-그램 "g"를 포함한다.
모호한 형태로 대안 표현들을 생성하는 단계는 텍스쳐 입력을 문자들의 하나 이상의 근접 시퀀스(contiguous sequence)로 세그먼트화하는 단계를 포함한다.
일부 구현예들에서, 세그먼트화하는 단계는 프리픽스(Prefix) 매칭을 사용하여 수행된다. 텍스쳐 입력은 사용자로부터 입력으로서 수신된 제1 문자로 시작하는 근접 시퀀스들로 세그먼트화된다. 시퀀스들이 세그먼트화되는 순서의 선두에 있는 첫번째 시퀀스로부터 시작하여 그 순서의 말미에 있는 최종 시퀀스에서 종료하는, 문자들의 시퀀스 각각은 단어 또는 쿼리를 표현하는 문자들의 최장 시퀀스(longest sequence)로 구성된다.
예로서, 사용자가 텍스쳐 입력으로서 제1 문자 "X1", 제2 문자 "X2", 제3 문자 "X3", 및 제4 문자 "X4"를 차례로 제공한다. 텍스쳐 입력은 왼쪽에서 오른쪽으로, 문자가 수신된 순서대로, 문자 "X1X2X3X4"를 포함한다. 만약 "X1X2X3X4"가 단어를 표현한다면, 텍스쳐 입력은 세그먼트화되지 않고 단지 근접 시퀀스 ""X1X2X3X4""가 식별된다.
만약 "X1X2X3X4"가 단어를 표현하지 않으면, 변형 하위 모듈(210)은 "X1X2X3"이 단어를 표현하는지 여부를 판정한다. 만약 ""X1X2X3"이 단어를 표현하면, 텍스쳐 입력은 두 개의 근접 시퀀스 ""X1X2X3"와 "X4"로 세그먼트화된다.
만약 ""X1X2X3"이 단어를 표현하지 않으면, 변형 하위 모듈(210)은 "X1X2"이 단어를 표현하는지 여부를 판단한다. 만약 "X1X2"가 단어를 표현하면, "X1X2"는 제1 근접 시퀀스로서 식별된다. 이어, 변형 하위 모듈(210)은 "X3X4"가 단어를 표현하는지 여부를 판단한다. 만약 시퀀스 "X3X4"가 단어를 표현하면, 텍스쳐 입력은 두 개의 근접 시퀀스 "X1X2"와 "X3X4"로 세그먼트화된다.
만약 "X1X2"가 단어를 표현하지 않으면, "X1"이 제1 근접 시퀀스로서 식별된다. 유사한 프로세스가 "X2X3X4"에서 제2 근접 시퀀스를 식별하기 위해 사용된다. 특히, 만약 "X2X3X4"가 단어를 표현하면, 텍스쳐 입력은 두 개의 근접 시퀀스들 "X1"와 "X2X3X4"로 세그먼트화된다. 만약 "X2X3X4"가 단어를 표현하지 않으면, 변형 하위 모듈(210)은 "X2X3"이 단어를 표현하는지 여부를 판단한다. 만약 "X2X3"이 단어를 표현하면, 텍스쳐 입력이 세 개의 근접 시퀀스 "X1", "X2X3", 및 "X4"로 세그먼트화된다. 만약 "X2X3"이 단어를 표현하지 않으면, 텍스쳐 입력은 네 개의 근접 시퀀스 "X1", "X2", "X3", 및 "X4"로 세그먼트화된다.
일부 대안적 구현예들에서, 세그먼트는 미드픽스(midfix) 매칭 또는 포스트픽스(postfix) 매칭을 사용하여 수행된다.
도 4에서, 문자 시퀀스 는 네 개의 근접 시퀀스로 시퀀스화된다. "中ggug", "中ggu", "中gg", 및 "中g" 각각이 단어를 표현하지 않으므로, "中"이 제1 근접 시퀀스로서 식별된다. "ggug", "ggu", 및 "gg" 각각이 단어를 표현하지 않으므로, "g"가 제2 근접 시퀀스로서 식별된다. 특히, "g"는 영어로 된 단어를 위한 프리픽스(예컨대, "good", "grain")이거나, 또는 핀인 축약형(예컨대, 핀인 음절 "gu", "ga", 및 "gai"를 위한)일 수 있다.
"gug"가 단어를 표현하지 않지만, "gu"는 단어를 표현할 수 있기 때문에, "gu"가 제3 근접 시퀀스로서 식별된다. 특히, "gu"는 핀인 음절을 표현할 수 있다. "gu"가 표현할 수 있는 핀인 음절의 예로는 (예컨대, 영어로 "share"를 의미하는 "股"의 표음식 표현), (예컨대, 영어로 "strong"을 의미하는 "固"의 표음식 표현), 및 (예컨대, 영어로 "lone"을 의미하는 "孤"의 표음식 표현)를 들 수 있다. 따라서, "gu"가 제3 근접 시퀀스로서 식별되고, "g"(즉, "中ggug"에서 마지막으로 수신된 문자)가 제4 근접 시퀀스로서 식별된다. 그 결과, 텍스쳐 입력 "中ggug"는 네 개의 근접 시퀀스 "中", "g", "gu", 및 "g"로 세그먼트화된다.
텍스쳐 입력에 대한 일반적 형태의 대안적 표현이 상기 식별된 세그먼트들을 사용하여 생성된다. 특히, 각 세그먼트의 대안적 형태로 된 표현들이 식별된다. 일부 구현예들에서, 각 세그먼트는 완전한 표음식 표현 또는 부분적 표음식 표현들로 표현될 수 있다. 도 4에 도시된 예시에서, "中"의 대안적 형태로 된 표현들은 "zhong"(즉, 핀인 음절)과 "z"(즉, 핀인 축약형)를 포함한다. "gu"의 대안적 표현으로 된 표현들은 "g"(즉, 핀인 축약형)를 포함한다. 일부 구현예들에서는, 단일 문자로 구성된 식별된 세그먼트들의 대안적 형태로 된 표현들이 식별되지 않는다. 예시를 다시 살펴보면, 텍스쳐 입력의 두 번째에 있는 "g"와 세 번째에 있는 "g"의 대안 형태로 된 표현들이 식별되지 않는다.
모호한 형태로 된 텍스쳐 입력의 대안 표현들은 식별된 세그먼트들과 그 세트먼트들의 대안 형태로 된 표현들로부터 생성된다. 특히, 텍스쳐 입력에 있는 세그먼트들은 대안 표현들을 생성하기 위해 다른 조합들로 대체될 수 있다. 도 4에서, 대안 표현들에 대한 예시는 "中"이 "zhong"로 대체되는 "zhongggug"; "中"이 "zhong"로 대체되고, "gu"가 "g"로 대체되는 "zhongggg"; "中"이 "z"로 대체되는 "zggug"; "中"이 "z"로 대체되고 "gu"가 "g"로 대체되는 "zggg"; 및 "gu"가 "g"로 대체되는 "中ggg"를 포함한다. 도 4는 실제로 처리되는 일반적 형태로 된 모든 가능한 대안 표현들을 나타내지는 않는다.
대안 표현들이 하나 이상의 입력 제안을 각각 나타낼 수 있기 때문에, 대안 표현들은 모호한 형태로 된 것으로서 일컬어질 수 있다. 하나 이상의 입력 제안 중 일부 입력 제안은 텍스쳐 입력에 직접적으로 매치되지 않는다. 이에 더하여, 하나 이상의 제안 중 일부 제안은 텍스쳐 입력으로부터 직접 생성된 입력 제안들과 다르다. 예시로서, 대안 표현 "zggg"는 핀인 축약형 "z", "g", "g", 및 "g"를 포함한다. "zggg"에 있는 첫 번째 제1 핀인 축약형 "z"는 핀인 음절들과 텍스쳐 입력에 있는 "中"에 상응하지 않는 한자를 표현할 수 있다. 예로서, "z"는 한자 "自" 및 "字"에 상응하는 핀인 음절 "zi"를 표현할 수 있다. 이에 더하여, "zggg"에 있는 두 번째 "g"는 핀인 음절들과 텍스쳐 입력에 있는 "gu"와 매치하지 않는 한자를 표현할 수 있다. 예로서, "g"는 한자 "港"과 에 상응하는 핀인 음절 "gang"을 표현할 수 있다.
대안 표현들은 제안 서비스로 송신된다. 일부 구현예들에서는, 텍스쳐 입력도 제안 서비스로 송신된다. 제안 서비스는 대안 표현들을 사용하여 하나 이상의 입력 제안을 식별하고, 그 하나 이상의 입력 제안을 제안 서비스로 반환한다. 도 4에서, 입력 제안들의 예시는 "中國谷歌"(예컨대, 영어로는 "Google China"이고 로 발음됨), (예컨대, 영어로는 "chinese national anthem"이고 로 발음됨), 및 (예컨대, 영어로는 "advertising industry"이고 로 발음됨)을 포함한다. 도 4는 실제로 처리되는 모든 가능한 입력 제안들을 나타내지 않는다.
비교 하위 모듈(220)은 제1 텍스쳐 입력에 대한 선택가능 대안들로서 하나 이상의 제안으로 이루어진 그룹을 식별하기 위해, 그 텍스쳐 입력과 입력 제안들을 비교한다. 특히, 비교 하위 모듈(220)은 그 텍스쳐 입력에 의해 표현될 가능성이 없는 입력 제안들을 식별하여, 제1 텍스쳐 입력에 대한 선택가능 대안들로서 식별된 하나 이상의 제안으로 이루어진 그룹에서 제외시킨다. "中國谷歌"의 표음식 표현은 "zhong guo gu ge"이고, 의 표음식 표현은 "zhong guo guo ge"이고, 의 표음식 표현은 "zuo guang gao gong"로서, 발음 구별 부호(diacritic)가 제거되었다.
와 "中ggug"를 비교하면, 텍스쳐 입력의 첫 번째 세그먼트 "中"("zhong")이 "做"("zuo")로 표현될 가능성은, "中"("zhong")로 표현될 가능성보다 낮다. 또한, 와 "中ggug"를 비교하면, 텍스쳐 입력의 세 번째 세그먼트 "gu"가 ("guo")로 표현될 가능성은, "谷"("gu")로 표현될 가능성( 즉, 이상적 매치)보다 낮다.
일부 구현예들에서는, 직접 매치만이 텍스쳐 입력에 대한 선택적 대안으로서 식별된다. 상술한 예시에서, 한자 "中"이 한자 "中"의 매치이고, 핀인 음절 "guo"가 핀인 축약형 "g"의 매치이고, 핀인 음절 "gu"가 핀인 음절 "gu"의 매치이고, 핀인 음절 "ge"가 핀인 축약형 "g"의 매치이기 때문에, 中國谷歌"("zhong guo gu ge")는 직접 매치이다. ("zhong guo guo ge")에서는, 핀인 음절 "guo"가 핀인 음절 "gu"의 매치가 아니다. 또한, ("zuo guang gao gong")에서는, 한자 "做"는 한자 "中"의 매치가 아니고, 핀인 음절 "gao"는 핀인 음절 "gu"의 매치가 아니다. 선택가능 대안이 사용자(110)에게 제시되기 위해 클라이언트(130)에 반환된다.
일부 구현예들에서, 선택가능 대안들은 각각의 사용자들이 탐색에 대한 쿼리로서 각 선택가능 대안들을 입력한 빈도에 따라서 순위가 부여된다. 일부 구현예에서, 순위는 편집 거리를 사용하여 수정된다. 예로서, 선택가능 대안들 "women clothing"과 (예컨대, 영어로는 "we"이고 으로 발음됨)는 텍스쳐 입력 "women"에 모두 매치될 수 있다. "women clothing"은 텍스쳐 입력과 동일한 n-그램 "women"을 포함하기 때문에, "women clothing"의 순위는 텍스쳐 입력에 의해 표현될 가능성이 높은 것을 나타내기 위해 높아질 수 있으며, 변형(예컨대, 을 "women"으로 음역함)을 위해, 하나 이상의 동작이 요구된다.
도 5는 다른 형태들로 된 텍스쳐 입력의 선택가능 대안들을 자동적으로 생성하기 위한 예시적 프로세스(500)를 나타낸다. 프로세스(500)는 사용자가 입력 필드에 입력한 제1 텍스쳐 입력을 수신하는 단계(510)를 포함한다. 제1 텍스쳐 입력은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램과, 제1 언어를 표현하는 제2 형태로 된 제2 n-그램과 제2 언어로 된 제3 n-그램 중 적어도 하나를 포함한다. 프로세스(500)은 또한 제1 텍스쳐 입력에 대한 하나 이상의 대안 표현을 생성하는 단계(500)를 포함하는데, 상기 대안 표현들은 텍스쳐 입력에 직접적으로 매치되지 않는 하나 이상의 입력 제안을 표현하는 모호한 형태로 되어 있다. 프로세스(500)는 또한 대안 표현들을 제안 서비스에 송신하는 단계(530)와 제안 서비스로부터 하나 이상의 입력 제안을 수신하는 단계를 포함한다. 프로세스(500)는 또한 사용자 인터페이스에 디스플레이하기 위하여 제1 텍스쳐 입력에 대한 선택가능 대안들로서 하나 이상의 제안으로 이루어진 그룹을 식별하기 위해, 그 제1 텍스쳐 입력과 하나 이상의 제안을 비교하는 단계(540)를 포함한다.
본 명세서에 기재된 주제와 기능적 동작들의 실시예들은 디지털 전자 회로로 구현되거나, 또는 상세한 설명에 기재된 구조 및 그들의 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로 구현되거나, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기재된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의해 실행되거나 또는 그 장치의 동작을 제어하도록, 유형의 프로그램 운반체(carrier)에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 유형의 프로그램 운반체는 전파되는(propagated) 신호 또는 컴퓨터 판독가능 매체일 수 있다. 전파되는 신호는 컴퓨터 판독가능 매체일 수 있다. 컴퓨터 판독가능 매체는 기계 판독가능 저장 디바이스, 기계 판독가능 저장 기판(substrate), 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
"프로세싱 장치"라는 용어는 데이터를 처리하기 위한 모든 장치, 디바이스 및 기계를 포괄하며, 예를 들어, 프로그래머블 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터들을 포함한다. 장치는 또한 하드웨어 외에도, 당해 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드를 포함하고, 코드는 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들 중 하나 이상의 조합을 구성한다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일 또는 인터프리터 언어나 선언적 또는 절차적 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 그 밖의 유닛을 포함하는 임의의 형태로도 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 상응해야 하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부에 저장되거나(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트), 당해 프로그램 전용의 단일 파일에 저장되거나, 또는 다수의 조화된(coordinated) 파일들(예를 들어, 하나 이상의 모듈, 서브프로그램, 코드의 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터에서, 또는 한 위치에 배치되거나 또는 다수의 위치에 걸쳐서 분산되고 통신 네트워크에 의해 접속된 다수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스와 논리 흐름은 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있고, 이 프로그래머블 프로세서는 입력 데이터에 작용하여 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램들을 실행한다. 예를 들어, FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 전용 논리 회로가 프로세스와 논리 흐름을 수행하거나, 장치를 구현할 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는, 예를 들어, 범용 및 전용 마이크로프로세서, 및 임의 종류의 디지털 컴퓨터 중 하나 이상의 프로세서가 있다. 일반적으로, 프로세서는 판독 전용 메모리(ROM), 또는 랜덤 액세스 메모리(RAM), 또는 양자로부터 명령어들과 데이터를 수신한다. 컴퓨터의 필수 구성요소는 명령을 실행하는 프로세서, 및 명령어와 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 컴퓨터의 주요 요소들은 명령어들을 수행하기 위한 프로세서와 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스(예를 들어, 자기 디스크, 광자기 디스크, 또는 광디스크)를 포함하거나, 또는 이 디바이스와 데이터를 송수신하기 위하여 동작적으로(operatively) 결합될 수 있다. 하지만 컴퓨터는 이러한 디바이스를 반드시 구비할 필요는 없다. 더욱이, 컴퓨터는 예를 들어, 모바일 전화기, 개인 정보 단말(PDA), 모바일 오디오 또는 비디오 재생기, 게임 콘솔, GPS(Global Positioning System) 수신기 등과 같은 다른 디바이스에 내장될 수 있다.
컴퓨터 프로그램 명령어들과 데이터를 저장하기 적합한 컴퓨터 판독가능 매체에는, 예를 들어, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스); 자기 디스크(예를 들어, 내부 하드디스크, 착탈식 디스크); 광자기 디스크; 및 CD ROM과 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스가 포함된다. 프로세서와 메모리는 전용 논리 회로에 의해 보완되거나 또는 전용 논리 회로에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위하여, 본 명세서에 설명된 주제의 실시예들은, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터에 구현될 수 있다. 사용자는 키보드와 포인팅 디바이스를 이용하여 컴퓨터에 입력을 제공할 수 있다. 사용자와의 상호작용을 제공하기 위하여 다른 종류의 디바이스가 또한 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백(feedback)은 예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백인 임의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에서 설명된 주제의 실시예들은, 예를 들어, 데이터 서버와 같은 백엔드(back-end) 구성요소를 구비하는 컴퓨팅 시스템; 또는 예를 들어, 애플리케이션 서버와 같은 미들웨어 구성요소를 구비하는 컴퓨팅 시스템; 또는 예를 들어, 사용자가 본 명세서에서 설명된 주제의 구현예들과 상호 동작할 수 있는 그래픽 사용자 인터페이스 또는 웹브라우저를 구비한 클라이언트 컴퓨터와 같은 프론트엔드(front-end) 구성요소를 구비하는 컴퓨터 시스템; 또는 이러한 백엔드, 미들웨어 또는 프론트엔드 구성요소들의 임의 조합을 구비하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 구성요소는 디지털 데이터 통신의 임의 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호접속될 수 있다. 통신 네트워크의 예에는 근거리 네트워크("LAN")와 인터넷과 같은 광역 네트워크("WAN")가 포함된다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호 동작한다. 클라이언트와 서버의 관계는 각각의 컴퓨터상에서 실행되고 상호 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다.
본 명세서가 다수의 특정한 구현 세부사항을 포함하고 있지만, 이는 임의 구현예의 범위나 청구할 사항의 범위에 대한 어떠한 제한으로서도 이해되어서는 안 되며, 특정한 구현예들의 특정한 실시예에 고유할 수 있는 특징의 설명으로서 이해되어야 한다. 별개의 실시예의 문맥으로 본 명세서에서 설명된 소정 특징은 조합되어 단일 실시예로 구현될 수도 있다. 반대로, 단일 실시예의 문맥에서 설명한 다양한 특징은 복수의 실시예에서 별개로 구현되거나 어떤 적당한 하위 조합으로서도 구현 가능하다. 또한, 앞에서 특징이 소정 조합에서 동작하는 것으로서 설명되고 그와 같이 청구되었지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 도면에서 특정한 순서로 동작을 묘사하고 있지만, 그러한 동작이 바람직한 결과를 얻기 위해, 도시한 특정 순서나 순차적인 순서로 수행되어야 한다거나, 설명한 모든 동작이 수행되어야 한다는 것을 의미하는 것은 아니다. 소정 환경에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시예에 있어서 다양한 시스템 구성요소의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명한 프로그램 구성요소와 시스템은 일반적으로 단일 소프트웨어 제품으로 통합되거나 또는 복수의 소프트웨어 제품으로 패키지 될 수 있다는 점을 이해되어야 한다.
본 명세서에서 설명한 주제의 특정 실시예가 기술되었다. 그 밖의 실시예는 후술하는 청구범위 내에 속한다. 예를 들어, 청구항에 인용된 동작들은 상이한 순서로 수행될 수 있지만, 여전히 바람직한 결과를 달성한다. 일 실시예로서, 첨부한 도면에 도시한 프로세스는, 바람직한 결과를 얻기 위해, 도시된 특정 순서나 순차적인 순서를 반드시 요구하는 것은 아니다. 소정 구현예에서, 멀티태스킹과 병렬 프로세싱이 효과적일 수 있다.
130: 클라이언트
140: 탐색 서비스
144: 제안 서비스
200: 입력 제안 집계기
140: 탐색 서비스
144: 제안 서비스
200: 입력 제안 집계기
Claims (21)
- 방법으로서,
사용자가 입력 필드에 입력한 텍스쳐 입력을 수신하는 단계?여기서, 상기 텍스쳐 입력은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램과, 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램과 제2 언어로 된 제3 그램 중 적어도 하나를 포함함?;
상기 텍스쳐 입력에 대한 하나 이상의 대안 표현(alternative representation)을 생성하는 단계?여기서, 상기 대안 표현들은 상기 텍스쳐 입력에 직접적으로 매칭되지 않는 하나 이상의 입력 제안을 표현하는 모호한 형태(ambiguous form)로 되어 있음?;
상기 대안 표현들을 제안 서비스(suggestion service)에 송신하는 단계와 상기 제안 서비스로부터 하나 이상의 입력 제안을 수신하는 단계; 및
사용자 인터페이스에 디스플레이하기 위하여 상기 텍스쳐 입력에 대한 선택가능 대안(selectable alternative)들이 되는 것으로서 하나 이상의 입력 제안으로 된 그룹을 식별하기 위해, 상기 텍스쳐 입력과 상기 하나 이상의 입력 제안을 비교하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서, 모호한 형태로 된 상기 텍스쳐 입력에 대한 하나 이상의 대안 표현을 생성하는 단계는
상기 텍스쳐 입력을 문자들로 된 하나 이상의 근접 시퀀스로 세그먼트(segment)화하는 단계?여기서, 상기 각 시퀀스는 단어 또는 쿼리를 표현함?;
각 세그먼트의 하나 이상의 표현을 식별하는 단계?여기서, 각 표현은 대안 형태로 이루어짐?; 및
상기 텍스쳐 입력에 대한 대안 표현을 생산하기 위해서, 대안 형태로 된 연관된 표현들로 상기 텍스쳐 입력내 하나 이상의 세그먼트를 대체하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서, 상기 텍스쳐 입력은 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램을 포함하고, 상기 모호한 형태로 된 상기 텍스쳐 입력에 대한 하나 이상의 대안적 표현을 생성하는 단계는
상기 텍스쳐 입력으로부터 제4 n-그램을 생성하는 단계를 포함하고, 상기 제4 n-그램은 상기 텍스쳐 입력의 대안 표현이고, 상기 제2 형태로 된 텍스트의 하나 이상의 시퀀스를 포함하는 것을 특징으로 하는 방법. - 청구항 3에 있어서, 상기 제4 n-그램은 상기 제1 형태로 된 텍스트의 하나 이상의 시퀀스를 포함하는 것을 특징으로 하는 방법.
- 청구항 4에 있어서, 상기 제1 언어를 표현하는 상기 제2 형태는 완전한 표음식 표현(complete phonetic representation)들 또는 부분적 표음식 표현(partial phonetic representation)들을 사용하여 상기 제1 언어를 표현하는 것을 포함하는 것을 특징으로 하는 방법.
- 청구항 5에 있어서, 상기 제1 언어는 중국어이고, 중국어를 표현하는 상기 제1 형태는 한자를 사용하여 중국어를 표현하는 것을 포함하는 것을 특징으로 하는 방법.
- 청구항 6에 있어서, 완전한 표음식 표현은 핀인 음절(Pinyin syllable)이고,
부분적 표음식 표현은 핀인 축약형(Pinyin abbreviation)인 것을 특징으로 하는 방법. - 청구항 7에 있어서, 상기 텍스쳐 입력은 제2 언어로 된 제3 n-그램을 포함하고, 상기 제2 언어는 영어인 것을 특징으로 하는 방법.
- 청구항 8에 있어서, 상기 선택가능 대안들은 한자를 사용하여 표현되는 하나 이상의 입력 제안을 포함하는 것을 특징으로 하는 방법.
- 청구항 1에 있어서, 상기 텍스쳐 입력은 상기 사용자가 탐색에 대한 요청에 상기 텍스쳐 입력을 제출하기 전이면서, 상기 텍스쳐 입력의 각 토큰을 수신한 후에 미리 정해진 시간 동안 대기한 후에 수신되는 것을 특징으로 하는 방법.
- 시스템으로서,
컴퓨터를 포함하는 서버를 구비하고, 상기 서버는
사용자가 입력 필드에 입력한 텍스쳐 입력을 수신하는 단계?여기서, 상기 텍스쳐 입력은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램과, 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램과 제2 언어로 된 제3 그램 중 적어도 하나를 포함함?;
상기 텍스쳐 입력에 대한 하나 이상의 대안 표현을 생성하는 단계?여기서, 상기 대안 표현들은 상기 텍스쳐 입력에 직접적으로 매칭되지 않는 하나 이상의 입력 제안을 표현하는 모호한 형태로 되어 있음?;
상기 대안 표현들을 제안 서비스에 송신하는 단계와 상기 제안 서비스로부터 하나 이상의 입력 제안을 수신하는 단계; 및
사용자 인터페이스에 디스플레이하기 위하여 상기 텍스쳐 입력에 대한 선택가능 대안들이 되는 것으로서 하나 이상의 입력 제안으로 된 그룹을 식별하기 위해, 상기 텍스쳐 입력과 상기 하나 이상의 입력 제안을 비교하는 단계의 동작들을 수행하도록 작동가능한 것을 특징으로 하는 시스템. - 청구항 11에 있어서, 모호한 형태로 된 상기 텍스쳐 입력에 대한 하나 이상의 대안 표현을 생성하는 단계는
상기 텍스쳐 입력을 문자들로 된 하나 이상의 근접 시퀀스로 세그먼트화하는 단계?여기서, 상기 각 시퀀스는 단어 또는 쿼리를 표현함?;
각 세그먼트의 하나 이상의 표현을 식별하는 단계?여기서, 각 표현은 대안 형태로 이루어짐?; 및
상기 텍스쳐 입력에 대한 대안 표현을 생산하기 위해서, 대안 형태로 된 연관된 표현들로 상기 텍스쳐 입력내 하나 이상의 세그먼트를 대체하는 단계를 포함하는 것을 특징으로 하는 시스템. - 청구항 11에 있어서, 상기 텍스쳐 입력은 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램을 포함하고, 상기 모호한 형태로 된 상기 텍스쳐 입력에 대한 하나 이상의 대안적 표현을 생성하는 단계는
상기 텍스쳐 입력으로부터 제4 n-그램을 생성하는 단계를 포함하고, 상기 제4 n-그램은 상기 텍스쳐 입력의 대안 표현이고, 상기 제2 형태로 된 텍스트의 하나 이상의 시퀀스를 포함하는 것을 특징으로 하는 시스템. - 청구항 13에 있어서, 상기 제4 n-그램은 상기 제1 형태로 된 텍스트의 하나 이상의 시퀀스를 포함하는 것을 특징으로 하는 시스템.
- 청구항 14에 있어서, 상기 제1 언어를 표현하는 상기 제2 형태는 완전한 표음식 표현들 또는 부분적 표음식 표현들을 사용하여 상기 제1 언어를 표현하는 것을 포함하는 것을 특징으로 하는 시스템.
- 청구항 15에 있어서, 상기 제1 언어는 중국어이고, 중국어를 표현하는 상기 제1 형태는 한자를 사용하여 중국어를 표현하는 것을 포함하는 것을 특징으로 하는 시스템.
- 청구항 16에 있어서, 완전한 표음식 표현은 핀인 음절이고,
부분적 표음식 표현은 핀인 축약형인 것을 특징으로 하는 시스템. - 청구항 17에 있어서, 상기 텍스쳐 입력은 제2 언어로 된 제3 n-그램을 포함하고, 상기 제2 언어는 영어인 것을 특징으로 하는 시스템.
- 청구항 18에 있어서, 상기 선택가능 대안들은 한자를 사용하여 표현되는 하나 이상의 입력 제안을 포함하는 것을 특징으로 하는 시스템.
- 청구항 11에 있어서, 상기 텍스쳐 입력은 상기 사용자가 탐색에 대한 요청에 상기 텍스쳐 입력을 제출하기 전이면서, 상기 텍스쳐 입력의 각 토큰을 수신한 후에 미리 정해진 시간 동안 대기한 후에 수신되는 것을 특징으로 하는 시스템.
- 컴퓨터 판독 가능 매체 상에 저장되고, 서버에 의해 실행되었을 때 상기 서버가 동작들을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램 제품으로서, 상기 동작들은
사용자가 입력 필드에 입력한 텍스쳐 입력을 수신하는 단계?여기서, 상기 텍스쳐 입력은 제1 언어를 표현하는 제1 형태로 된 제1 n-그램과, 상기 제1 언어를 표현하는 제2 형태로 된 제2 n-그램과 제2 언어로 된 제3 그램 중 적어도 하나를 포함함?;
상기 텍스쳐 입력에 대한 하나 이상의 대안 표현을 생성하는 단계?여기서, 상기 대안 표현들은 상기 텍스쳐 입력에 직접적으로 매칭되지 않는 하나 이상의 입력 제안을 표현하는 모호한 형태로 되어 있음?;
상기 대안 표현들을 제안 서비스에 송신하는 단계와 상기 제안 서비스로부터 하나 이상의 입력 제안을 수신하는 단계; 및
사용자 인터페이스에 디스플레이하기 위하여 상기 텍스쳐 입력에 대한 선택가능 대안들이 되는 것으로서 하나 이상의 입력 제안으로 된 그룹을 식별하기 위해, 상기 텍스쳐 입력과 상기 하나 이상의 입력 제안을 비교하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/CN2009/001205 | 2009-10-29 | ||
PCT/CN2009/001205 WO2011050494A1 (en) | 2009-10-29 | 2009-10-29 | Generating input suggestions |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120095914A true KR20120095914A (ko) | 2012-08-29 |
Family
ID=43921229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127012434A KR20120095914A (ko) | 2009-10-29 | 2009-11-25 | 입력 제안들을 생성 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120203541A1 (ko) |
JP (1) | JP2013509623A (ko) |
KR (1) | KR20120095914A (ko) |
WO (2) | WO2011050494A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5799733B2 (ja) * | 2011-10-12 | 2015-10-28 | 富士通株式会社 | 認識装置、認識プログラムおよび認識方法 |
US8818791B2 (en) * | 2012-04-30 | 2014-08-26 | Google Inc. | Techniques for assisting a user in the textual input of names of entities to a user device in multiple different languages |
WO2014000263A1 (en) * | 2012-06-29 | 2014-01-03 | Microsoft Corporation | Semantic lexicon-based input method editor |
US11263399B2 (en) * | 2017-07-31 | 2022-03-01 | Apple Inc. | Correcting input based on user context |
KR20210095431A (ko) * | 2020-01-23 | 2021-08-02 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09128376A (ja) * | 1995-10-30 | 1997-05-16 | Sharp Corp | 中国語文書処理装置 |
JPH1011447A (ja) * | 1996-06-21 | 1998-01-16 | Ibm Japan Ltd | パターンに基づく翻訳方法及び翻訳システム |
US6351726B1 (en) * | 1996-12-02 | 2002-02-26 | Microsoft Corporation | Method and system for unambiguously inputting multi-byte characters into a computer from a braille input device |
US7165019B1 (en) * | 1999-11-05 | 2007-01-16 | Microsoft Corporation | Language input architecture for converting one text form to another text form with modeless entry |
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 |
JP2001229155A (ja) * | 2000-02-14 | 2001-08-24 | Toshiba Corp | 中国語入力変換処理装置、中国語入力変換処理方法及び記録媒体 |
US7107204B1 (en) * | 2000-04-24 | 2006-09-12 | Microsoft Corporation | Computer-aided writing system and method with cross-language writing wizard |
JP2002312354A (ja) * | 2001-04-09 | 2002-10-25 | Omron Corp | ピンインの入力方法およびこの方法を用いた情報処理装置ならびに中国語入力用のプログラム |
US7398199B2 (en) * | 2004-03-23 | 2008-07-08 | Xue Sheng Gong | Chinese romanization |
US8010523B2 (en) * | 2005-12-30 | 2011-08-30 | Google Inc. | Dynamic search box for web browser |
US8332207B2 (en) * | 2007-03-26 | 2012-12-11 | Google Inc. | Large language models in machine translation |
CN101206673A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 网络搜索过程中关键词的智能纠错系统及方法 |
CN101493727A (zh) * | 2008-01-22 | 2009-07-29 | 刘啸旻 | 语句输入法的自然分词和混合输入 |
CN101566882A (zh) * | 2009-06-02 | 2009-10-28 | 腾讯科技(深圳)有限公司 | 文字输入系统及文字输入方法 |
-
2009
- 2009-10-29 WO PCT/CN2009/001205 patent/WO2011050494A1/en active Application Filing
- 2009-11-25 KR KR1020127012434A patent/KR20120095914A/ko not_active Application Discontinuation
- 2009-11-25 JP JP2012535573A patent/JP2013509623A/ja active Pending
- 2009-11-25 US US13/143,069 patent/US20120203541A1/en not_active Abandoned
- 2009-11-25 WO PCT/CN2009/001317 patent/WO2011050501A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2013509623A (ja) | 2013-03-14 |
WO2011050501A1 (en) | 2011-05-05 |
US20120203541A1 (en) | 2012-08-09 |
WO2011050494A1 (en) | 2011-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101465770B1 (ko) | 단어 확률 결정 | |
US10055403B2 (en) | Rule-based dialog state tracking | |
US11514035B1 (en) | Query refinements using search data | |
US8046222B2 (en) | Segmenting words using scaled probabilities | |
JP5379155B2 (ja) | Cjk名前検出 | |
TWI454943B (zh) | 一電腦實施方法及一用於自動搜尋條件校正之系統 | |
CN102439540B (zh) | 输入法编辑器 | |
US9336298B2 (en) | Dialog-enhanced contextual search query analysis | |
US8412517B2 (en) | Dictionary word and phrase determination | |
JP5379138B2 (ja) | 領域辞書の作成 | |
US20110137642A1 (en) | Word Detection | |
US20100005086A1 (en) | Resource locator suggestions from input character sequence | |
KR20100047221A (ko) | 사전 단어 및 어구 판정 | |
KR20100015958A (ko) | 멀티모드 다국어 입력기 | |
US20120330919A1 (en) | Determining cross-language query suggestion based on query translations | |
JP7397903B2 (ja) | インテリジェント対話方法、装置、電子機器及び記憶媒体 | |
WO2011079415A1 (en) | Generating related input suggestions | |
KR20120095914A (ko) | 입력 제안들을 생성 | |
US20090292527A1 (en) | Methods, Apparatuses and Computer Program Products for Receiving and Utilizing Multidimensional Data Via A Phrase | |
WO2010109594A1 (ja) | 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法 | |
JP5770753B2 (ja) | Cjk名前検出 | |
US20140379680A1 (en) | Generating search query suggestions | |
JP2022017173A (ja) | 情報を出力するための方法および装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム | |
CN102640140A (zh) | 生成输入建议 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |