KR101505985B1 - 자동적인 검색 쿼리 보정 - Google Patents

자동적인 검색 쿼리 보정 Download PDF

Info

Publication number
KR101505985B1
KR101505985B1 KR1020097014284A KR20097014284A KR101505985B1 KR 101505985 B1 KR101505985 B1 KR 101505985B1 KR 1020097014284 A KR1020097014284 A KR 1020097014284A KR 20097014284 A KR20097014284 A KR 20097014284A KR 101505985 B1 KR101505985 B1 KR 101505985B1
Authority
KR
South Korea
Prior art keywords
search
user
search query
keyboard layout
language
Prior art date
Application number
KR1020097014284A
Other languages
English (en)
Other versions
KR20090091325A (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 KR20090091325A publication Critical patent/KR20090091325A/ko
Application granted granted Critical
Publication of KR101505985B1 publication Critical patent/KR101505985B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

하나 이상의 문자를 갖는 제 1 검색 쿼리가 사용자로부터 수신되고, 상기 제 1 검색 쿼리에 기초하여 검색 결과가 결정된다. 상기 검색 결과에 기초하여, 상기 제 1 검색 쿼리는 부정확한 입력 매핑을 갖는 것으로 결정된다. 상기 제 1 검색 쿼리에 대하여 제 1 키보드 레이아웃이 확인되고, 제 2 키보드 레이아웃이 확인된다. 상기 제 1 키보드 레이아웃으로부터의 문자를 상기 제 2 키보드 레이아웃의 문자에 매핑함으로써, 보정된 검색 쿼리가 상기 제 1 검색 쿼리로부터 생성된다. 상기 보정된 검색 쿼리에 기초하여 보정된 검색 결과가 결정되고, 상기 보정된 검색 결과가 사용자에게 제공된다.

Description

자동적인 검색 쿼리 보정{AUTOMATIC SEARCH QUERY CORRECTION}
본 출원은 2007년 4월 16일자로 제출된 중국 특허출원 제200710101817.8호, 2006년 12월 15일자로 제출된 미국 예비특허출원 제60/875,425호 및 2007년 1월 12일자로 제출된 미국 예비특허출원 제60/884,839호에 대한 우선권을 주장한다. 상기 출원들의 내용은 참고로 편입된다.
본 명세서는 주어진 스크립트의 검색 쿼리를 다른 스크립트의 검색 쿼리로 자동 변환하는 것에 관련된다.
검색 엔진은 사용자로 하여금 검색 결과가 응답으로 회신되는 검색 쿼리를 제공할 수 있도록 한다. 일반적으로, 이러한 쿼리는 해당 사용자가 자신의 입력 장치로 생성할 수 있는 어떠한 문자도 포함할 수 있다. 입력 장치는 다수의 문자 중 하나를 각각 생성할 수 있는 복수의 키나 버튼을 구비할 수 있다. 예를 들어, 키보드는 복수의 키보드 레이아웃(Layout)을 가질 수 있다. 각각의 키보드 레이아웃은 보통 특정한 문자 체계(즉, 스크립트) 내에서 가장 자주 사용되는 문자에 대응한다. 문자 체계가 라틴 알파벳에 기초하지 않는 국가의 경우, 통상적으로 키보드는 적어도 2개의 키보드 레이아웃을 가지는데, 하나는 라틴 문자(즉, 미국식 영어 키보드 레이아웃)를 생성하기 위한 것이고, 다른 하나는 해당 사용자의 고유한 문자 체계(예컨대, 키릴어, 데바나가리어 혹은 아라비아어)의 문자를 생성하기 위한 것이다.
일반적으로, 사용자는 2개 이상의 키보드 레이아웃 사이를 (예컨대, 일반적으로 단 한 번의 키 누름으로) 매우 쉽게 전환할 수 있다. 현재 선택된 키보드 레이아웃은 보통 해당 키보드의 각 키에 의하여 생성된 문자를 결정한다. 사용자는 자신이 실제로는 어떤 스크립트로 쿼리를 제공하려는 경우에 그와 다른 스크립트로 동일한 쿼리를 내도록 자신의 입력 장치를 무의식적으로 사용할 수 있다. 예를 들어, 문자 '
Figure 112009041623919-pct00001
'가 그에 대응하는 라틴 키보드 레이아웃 상에서 문자 'news'를 생성하기 때문에, 'news'를 검색하고 있는 사용자가 무의식적으로 히브리어 키보드 레이아웃 상에서 '
Figure 112009041623919-pct00002
'를 제시할 수 있다.
본 명세서는 주어진 스크립트의 검색 쿼리를 다른 스크립트의 검색 쿼리로 자동 변환하기 위한 기술의 다양한 실시형태를 개시한다. 실시형태들은 컴퓨터 프로그램 제품을 포함하여 방법, 시스템, 장치를 다룬다. 이들 각각은 본 설명에서는 상기 방법을 참조하여 기술될 것인데, 이는 시스템과 장치에 대응한다.
일반적으로, 일 측면에 있어서, 하나 이상의 문자를 갖는 제 1 검색 쿼리가 사용자로부터 수신되고, 상기 제 1 검색 쿼리에 기초하여 검색 결과가 결정된다. 상기 검색 결과에 기초하여, 상기 제 1 검색 쿼리는 부정확한 입력 매핑을 갖는 것으로 결정된다. 상기 제 1 검색 쿼리에 대하여 제 1 키보드 레이아웃이 확인되고, 제 2 키보드 레이아웃이 확인된다. 상기 제 1 키보드 레이아웃으로부터의 문자를 상기 제 2 키보드 레이아웃의 문자에 매핑함으로써, 보정된 검색 쿼리가 상기 제 1 검색 쿼리로부터 생성된다. 상기 보정된 검색 쿼리에 기초하여 보정된 검색 결과가 결정되고, 상기 보정된 검색 결과가 사용자에게 제공된다.
구현물은 다음의 특징 중 하나 이상을 포함할 수 있다. 복수의 보정된 검색 쿼리가 생성될 수 있으며, 복수의 보정된 검색 쿼리 중 하나가 선택될 수 있으며, 복수의 보정된 검색 쿼리 중 선택되는 하나에 기초하여 사용자에게 보정된 검색 결과가 제공될 수 있다.
일반적으로, 다른 측면에서는, 하나 이상의 문자를 갖는 제 1 검색 쿼리가 사용자로부터 수신되고, 상기 제 1 검색 쿼리에 기초하여 검색 결과가 결정된다. 상기 검색 결과에 기초하여, 상기 제 1 검색 쿼리는 부정확한 입력 매핑을 갖는 것으로 결정되며, 입력 매핑 보정의 사전에 의해 상기 제 1 검색 쿼리로부터 보정된 검색 쿼리가 생성된다. 상기 보정된 검색 쿼리에 기초하여 보정된 검색 결과가 결정되고, 상기 보정된 검색 결과가 사용자에게 제공된다.
일반적으로, 다른 측면에서는, 사용자로부터 (1) 하나 이상의 문자, (2) 사용자 언어 설정, (3) 사용자 언어 선호도, (4) 사용자 인터페이스 언어, (5) 지리적 위치 및 (6) 사용자 검색 히스토리 중 적어도 하나 혹은 둘 이상의 조합을 포함하는 검색 쿼리를 수신한다. 상기 검색 쿼리에 기초하여 검색 결과를 결정한다. 상기 검색 결과에 기초하여 상기 검색 쿼리가 부정확한 입력 매핑을 가지는 것으로 결정한다. 상기 검색 쿼리와 관련된 제 1 키보드 레이아웃을 확인한다. 제 2 키보드 레이아웃을 확인한다. 상기 제 1 키보드 레이아웃으로부터의 문자를 상기 제 2 키보드 레이아웃의 문자에 매핑함으로써, 상기 제 1 검색 쿼리로부터 보정된 검색 쿼리를 생성한다. 상기 보정된 검색 쿼리에 기초하여 보정된 검색 결과를 결정한다. 상기 보정된 검색 결과를 상기 사용자에게 제공한다.
구현물은 다음 특징 중 하나 이상을 포함할 수 있다. 상기 사용자 언어 선호도는 OS(Operating System)의 언어 설정의 일부와 연관되어 있을 수 있다. 상기 사용자 언어 선호도는 OS에 의해 제공되는 보충 언어 지원에 관한 정보와 연관되어 있을 수 있다. 상기 사용자 언어 선호도는 웹 브라우저의 정보와 연관되어 있을 수 있다. 상기 웹 브라우저의 정보는 상기 웹 브라우저와 연계된 언어와 관련되어 있을 수 있다. 상기 사용자 언어 선호도를 제공하기 위하여 웹 브라우저의 페이지 요청(Request)을 사용할 수 있다.
상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자에 의해 사용되는 시스템의 언어 정보나 언어 설정에 기초할 수 있다. 상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자에 의해 확인된 1차 및 2차 언어(Primary and Secondary Languages)에 기초할 수 있다. 상기 제 1 키보드 레이아웃을 확인하는 단계는, 사용자가 선호하는 키보드 레이아웃에 기초할 수 있다. 상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자 인터페이스의 언어로부터의 추론에 기초할 수 있다. 상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자의 지리적 위치와 그에 따른 상기 사용자의 가장 가능성이 있는 언어가 추론되는 상기 사용자의 장치 접속에 관한 정보에 기초할 수 있다. 상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자의 검색 쿼리 히스토리에 기초할 수 있다. 상기 검색 쿼리 히스토리의 검색 결과 중 일부는, 상기 검색 쿼리 히스토리의 검색 결과의 전체 집합보다 작으며, 상기 제 1 키보드 레이아웃을 확인하기 위해 사용될 수 있다. 상기 검색 쿼리 히스토리의 상기 검색 결과 중 일부는 상기 사용자에 의해 액세스된 검색 결과를 포함할 수 있다.
일반적으로, 또 다른 측면에서는, 사용자로부터 (1) 하나 이상의 문자, (2) 사용자 언어 설정, (3) 사용자 언어 선호도, (4) 사용자 인터페이스 언어, (5) 지리적 위치 및 (6) 사용자 검색 히스토리 중 적어도 하나 혹은 둘 이상의 조합을 포함하는 검색 쿼리를 수신한다. 상기 검색 쿼리에 기초하여 검색 결과를 결정하고, 상기 검색 쿼리와 관련된 키보드 레이아웃을 확인한다.
구현물은 다음 특징 중 하나 이상을 포함할 수 있다. 상기 키보드 레이아웃을 확인하는 단계는, 상기 사용자에 의해 사용되는 시스템의 언어 정보나 언어 설정에 기초할 수 있다. 상기 키보드 레이아웃을 확인하는 단계는, 상기 사용자에 의해 확인된 1차 및 2차 언어에 기초할 수 있다. 상기 키보드 레이아웃을 확인하는 단계는, 사용자가 선호하는 키보드 레이아웃에 기초할 수 있다. 상기 키보드 레이아웃을 확인하는 단계는, 상기 사용자 인터페이스의 언어로부터의 추론에 기초할 수 있다. 상기 키보드 레이아웃을 확인하는 단계는, 상기 사용자의 지리적 위치와 그에 따른 상기 사용자의 가장 가능성이 있는 언어가 추론되는 상기 사용자의 장치 접속에 관한 정보에 기초할 수 있다. 상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자의 검색 쿼리 히스토리에 기초할 수 있다. 상기 검색 쿼리 히스토리의 검색 결과 중 일부는, 상기 검색 쿼리 히스토리의 검색 결과의 전체 집합보다 작으며, 상기 제 1 키보드 레이아웃을 확인하기 위해 사용될 수 있다. 상기 검색 쿼리 히스토리의 상기 검색 결과 중 일부는 상기 사용자에 의해 액세스된 검색 결과를 포함할 수 있다.
일반적으로, 또 다른 측면에서는, 사용자로부터 사용자 검색 히스토리를 포함하는 검색 쿼리를 수신하고, 상기 검색 쿼리에 기초하여 검색 결과를 결정하며, 상기 검색 쿼리와 관련된 키보드 레이아웃을 확인한다.
구현물은 다음 특징 중 하나 이상을 포함할 수 있다. 상기 검색 쿼리는, (1) 하나 이상의 문자, (2) 사용자 언어 설정, (3) 사용자 언어 선호도, (4) 사용자 인터페이스 언어 및 (5) 지리적 위치 중 적어도 하나를 포함할 수 있다. 상기 검색 쿼리 히스토리의 검색 결과 중 일부는, 상기 검색 쿼리 히스토리의 검색 결과의 전체 집합보다 작으며, 상기 제 1 키보드 레이아웃을 확인하기 위해 사용될 수 있다. 상기 검색 쿼리 히스토리의 상기 검색 결과 중 일부는 상기 사용자에 의해 액세스된 검색 결과를 포함할 수 있다.
일반적으로, 또 다른 측면에서는, 사용자에 의해 사용된 키보드 레이아웃이 상기 사용자에 의해 제시된 초기 검색 쿼리에 응답한 제 1 검색 결과에 기초하여 부정확한 것으로 결정한다.
구현물은 다음 특징 중 하나 이상을 포함할 수 있다. 상기 사용자에게 보정된 검색 쿼리를 이용하여 제 2 검색 결과를 제공할 수 있다. 입력 매핑 보정의 사전으로부터 상기 보정된 검색 쿼리를 생성할 수 있다. 상기 사용자에 의해 사용된 상기 키보드 레이아웃으로부터의 문자를 보정된 키보드 레이아웃의 문자에 매핑함으로써 상기 초기 검색 쿼리로부터 보정된 검색 쿼리를 생성할 수 있다. 상기 사용자와 관련된 검색 쿼리 히스토리에 기초하여 상기 보정된 키보드 레이아웃을 결정할 수 있다. 상기 사용자와 관련된 언어 설정에 기초하여 상기 보정된 키보드 레이아웃을 결정할 수 있다. 상기 사용자와 관련된 지리적 위치에 기초하여 상기 보정된 키보드 레이아웃을 결정할 수 있다. 상기 사용자에게 복수의 보정된 검색 쿼리를 제공할 수 있다. 상기 복수의 보정된 검색 쿼리 중 하나에 대한 상기 사용자의 선택에 응답하여 상기 사용자에게 보정된 검색 결과를 제공할 수 있다.
상기 및 기타 측면과 특징들, 그리고 이들의 조합은 방법, 장치, 시스템, 기능을 수행하기 위한 수단, 프로그램 제품 및 기타의 방식으로 표현될 수 있다.
본 측면과 특징들의 이점은 다음 중 하나 이상을 포함할 수 있다. 사용자가 쿼리를 수동으로 보정할 필요 없이 쿼리를 자동으로 보정하는 것이 가능하다. 사용자는 익숙하지 않은 키보드 레이아웃을 이용하여 쿼리를 제공할 수 있으며, 마치 쿼리가 그 사용자가 산호하는 키보드 레이아웃에 의해 생성되었던 것처럼 그대로 결과를 수신할 수 있다.
하나 이상의 실시형태에 관한 세부사항은 첨부 도면과 이하의 설명에 제시되어 있다. 본 발명의 다른 특징, 측면 및 이점은 본 상세한 설명, 도면 및 청구범위로부터 명백할 것이다.
도 1은 부정확한 쿼리를 검출하고 보정하는 프로세스의 순서도.
도 2는 동일한 키 누름으로부터 2개의 쿼리를 생성하도록 사용되는 2개의 키보드 레이아웃을 나타내는 도면.
도 3은 쿼리의 제시 및 각 제시의 연계된 쿼리를 나타내는 도면.
여러 도면에서 동일한 참조 번호와 표시는 동일한 구성요소를 나타낸다.
도 1에 나타낸 바와 같이, 프로세스(100)는 검색 쿼리가 부정확한 키보드 레이아웃을 사용하여 잘못 입력되었는지 여부를 결정하고, 만약 그렇다면, 해당 검색 쿼리를 보정한다. 검색 쿼리는 사용자로부터 수신된다(스텝 110). 검색 쿼리는 일련의 하나 이상의 문자이다. 검색 쿼리의 문자는 특정한 스크립트(예컨대, 라틴어, 키릴어, 히브리어 혹은 아라비아어)에 사용되는 문자에 대응한다. 때때로 사용자로부터 수신된 문자는 그 사용자가 제공하려고 의도한 문자가 아니다.
본 프로세스(100)는 특정한 스크립트의 검색 쿼리를 수신하는 단계를 포함한다(스텝 110). 초기 검색 결과가 상기 수신된 쿼리에 기초하여 결정된다(스텝 120). 검색 결과는 검색 결과를 결정하기 위한 어떠한 편리한 메카니즘에 기초하여서도 결정된다. 일반적으로, 해당 검색 쿼리에 관련된 특정 아이템을 식별하기 위하여, 아이템 전부가 검색될 것이다. 보통, 검색 결과는 다수의 아이템을 확인한다. 그러나, 초기 검색 결과는 아무런 검색 결과 아이템도 포함하지 않을 수 있다.
본 프로세스(100)는 그 초기 검색 쿼리가 아마도 정확한 키보드 레이아웃을 사용하여 생성된 것인지 여부를 결정한다(스텝 125). 초기 검색 결과가 충분한 수의 아이템을 확인하였는지 여부를 결정하기 위하여, 초기 검색 결과의 아이템들을 셀 수 있다. 일부 구현예에서, 아이템의 수가 충분한지 여부를 결정하기 위해 (예컨대, 0보다 크거나, 10보다 큰) 임계값을 사용할 수 있다. 다른 구현예의 경우, 그 임계값은 아이템 코퍼스(Corpus, 컴퓨터로 읽을 수 있는 텍스트, 예문 등의 집합체)에 있어서 총 아이템 수에 비례한다. 예를 들어, 만약 총 10,000개의 아이템을 포함한다면 임계값은 25일 수 있지만, 총 1000개의 아이템을 포함한다면 임계값은 단지 2일 수도 있다.
초기 검색 쿼리가 정확한 키보드 레이아웃에 의해 생성되었을 가능성이 있다면, 본 프로세스(100)는 그 초기 검색 결과가 사용자에게 제공될 때 종료한다(스텝 127). 대신에, 만약 해당 초기 검색 쿼리가 부정확한 키보드 레이아웃에 의해 생성되었을 가능성이 있다면, 해당 검색 쿼리는 그것이 타겟(Target) 키보드 레이아웃을 사용하여 사용자에 의해 생성된 것처럼 자동 보정된다.
타겟 키보드 레이아웃은 사용자가 해당 검색 쿼리를 제공하기 위하여 사용하려고 의도했을 가능성이 가장 큰 키보드 레이아웃에 대응한다. 소스 키보드 레이아웃은 사용자가 해당 검색 쿼리를 제공하기 위해 무의식적으로 사용하였을 가능성이 가장 큰 키보드 레이아웃에 대응한다. 이 소스와 타겟 키보드는 초기 검색 쿼리에 사용된 문자에 기초하여 결정될 수 있다. 선택적으로는, 타겟 키보드는 사용자의 언어 설정, 언어 선호도, 사용자 인터페이스 언어, 지리적 위치, 검색 히스토리, 혹은 이들의 조합에 기초하여 결정될 수 있다.
본 프로세스(100)는 검색 쿼리가 정해지는 특정한 문자 세트를 확인한다(스텝 130). 일반적으로, 문자 세트는 문자의 어족(Family) 내 한 무리의 문자들을 가 리킨다. 일반적으로 문자의 어족은 단일의 일관된 인코딩(예컨대, 유니코드)에 의해 특정된다. 문자 세트는 검색 쿼리에서 문자의 어느 그룹이 특정되는지에 기초하여 식별된다.
만약 검색 쿼리가 비 라틴 문자로 특정된다면(스텝 135), 해당 비 라틴 검색 쿼리는 사용자가 라틴 키보드 레이아웃 상에서 해당 쿼리를 생성하려고 의도했던 것처럼 보정될 수 있다. 다시 말해, 타겟 키보드 레이아웃은 라틴 키보드 레이아웃이다. 본 프로세스(100)는 비 라틴 검색 쿼리를 생성하도록 사용된 소스 키보드 레이아웃을 결정한다(스텝 140).
다수의 비 라틴 문자 세트는 단일의 예측 가능한 키보드 레이아웃에 의해 생성된다. 예컨대, 히브리 문자는 일반적으로 표준 히브리 키보드 레이아웃을 사용하여 생성되는 반면에, 아라비아 문자는 일반적으로 표준 아라비아 키보드 레이아웃을 사용하여 생성된다.
그러나, 모든 비 라틴 문자 세트가 단일의 대응하는 키보드 레이아웃을 가지는 것은 아니다. 예컨대, 키릴 스크립트는 러시아어와 불가리아어 양쪽에서 사용되며, 마찬가지로 키릴 문자는 러시아어와 불가리아어 키보드 레이아웃 양쪽에 의해 생성될 수 있다. 그러나, 러시아어와 불가리아어 키보드 레이아웃은 다르다. 러시아어나 불가리아어 키보드 레이아웃 상에서 동일한 키를 누르면 각각 다른 키릴 문자가 생성될 것이다.
일반적으로, 사용자는 특정 언어와 일반적으로 연계된 사용자 인터페이스에 검색 쿼리를 제공한다. 사용자의 소스 키보드 레이아웃이 모호한 경우, 검색 인터 페이스의 언어는 이 모호성을 해소하기 위하여 사용될 수 있다. 예컨대, 사용자가 불가리아어 사용자 인터페이스에 검색 쿼리를 제공하였다면, 해당 검색 쿼리는 불가리아어 키보드 레이아웃을 사용하여 생성되었을 가능성이 있다.
선택적으로는, 상기 모호성을 해소하는 것 대신에, 각각의 적용 가능한 키보드 레이아웃에 대하여 (예컨대, 모든 적용 가능한 키보드 레이아웃 혹은 선호하는 일부에 대하여) 쿼리 보정이 생성될 수 있다. 일부 구현예의 경우, 각각의 보정된 쿼리는 각각의 보정된 검색 결과를 결정하는데 사용된다. 보정된 검색 결과의 아이템 수는 소스 키보드 레이아웃을 결정하기 위해 다른 것과 비교된다. 검색 쿼리는 부정확한 소스 키보드 레이아웃을 사용하여 의미 있는 용어와 매핑될 가능성이 낮기 때문에, 가장 많은 아이템을 갖는 보정된 검색 결과가 정확한 소스 키보드 레이아웃과 대응하는 것으로서 채택된다.
만약 검색 쿼리가 라틴 문자를 사용하여 특정된다면(스텝 135), 라틴 검색 쿼리는 그 사용자가 비 라틴 키보드 레이아웃 상에서 해당 쿼리를 생성하려고 의도했던 것처럼 보정될 수 있다. 즉, 소스 키보드 레이아웃은 라틴어 키보드 레이아웃이다. 다소 변경된 복수의 라틴 키보드 레이아웃이 존재하지만, 어떤 라틴어 키보드 상에서도 가장 일반적으로 사용되는 키는 대부분 같은 문자(예컨대, A에서 Z까지 및 a부터 z까지의 문자)를 생성한다. 본 프로세스(100)는 가장 가능성이 높은 타겟 키보드 레이아웃을 결정한다(스텝 150).
일부 구현예의 경우, 모든 가능한 타겟 키보드 레이아웃에 대하여 모든 잠재적인 보정이 이루어질 수 있다. 그러나, 많은 수의 잠재적인 키보드 레이아웃은 그 러한 접근법이 비효율적임을 의미한다. 대신에, 본 프로세스(100)는 5개의 선택적인 접근법 중 하나 혹은 조합을 사용하여 사용자의 가장 가능성이 높은 타겟 키보드 레이아웃을 결정할 수 있다.
제 1 접근법은 사용자의 시스템으로부터 추가적인 언어 설정이나 장보를 확인하는 것이다. 예컨대, 사용자의 시스템은 해당 사용자의 언어 선호도(예컨대, OS의 언어 설정)에 관한 정보를 자동으로 제공할 수 있다(혹은 더 명확하게는 제공하도록 요청됨). 사용자의 언어 선호도는 OS의 언어 설정이나 OS 시스템 혹은 웹 브라우저에 의해 제공되는 보충 언어 지원(예컨대, 설치된 언어나 언어 팩)에 관한 정보의 일부(로부터 얻어지거나)로서 정해질 수 있다. 예컨대, 웹 브라우저는 페이지 요청과 함께 사용자의 언어 선호도를 자동으로 제공할 수 있다.
제 2 접근법을 사용하면, 사용자가 1차 및 2차 언어, 혹은 선택적으로는 사용자가 선호하는 키보드 레이아웃을 명시적으로 식별할 수 있다. 예컨대, 검색 쿼리를 제공하는 사용자는 해당 사용자가 언어 선호도를 설정한 소정의 프로파일과 관련되어 있다.
제 3 접근법의 경우, 사용자 인터페이스의 언어가 사용자의 언어 선호도를 추정하기 위해 사용된다. 만약 사용자가 러시아어 사용자 인터페이스에 검색 쿼리를 제공한다면, 타겟 키보드 레이아웃을 러시아어 키보드 레이아웃으로 가정할 수 있다.
제 4 접근법을 사용하면, 사용자가 네트워크 접속형 장치를 통해 검색 요청을 제공할 때, 해당 장치의 접속에 관한 정보를 사용하여 그 사용자의 지리적 위치 및 그에 따른 해당 사용자의 가장 가능성 있는 언어를 추론한다. 예컨대, 사용자의 IP 주소를 사용하여 해당 사용자의 네트워크 장치의 대략적인 지리적 위치(예컨대, 일반적으로는 특정 국가)를 확인하는 것이 가능하다. 특정 국가는 소정의 사용자가 사용하고 있을 법한 하나 이상의 언어와 관련지어질 수 있다.
제 5 접근법은 사용자의 검색 쿼리 히스토리를 고려하는 것이다. 사용자의 검색 쿼리 히스토리는 그 사용자에 의해 이전에 제공된 검색 쿼리를 포함한다. 검색 쿼리 히스토리의 각 검색 쿼리는 하나 이상의 검색 결과에 대응하며, 이 중 일부는 해당 사용자에 의해 액세스(예컨대, 사용자가 검색 결과를 클릭함)되었을 수 있다. 각 검색 결과는 그 검색 결과의 언어를 이상적으로 확인하는 언어와 관련되어 있다. 모든 사용자의 검색 쿼리에 대한 검색 결과의 언어는 의도되었을 가능성이 가장 높은 타겟 언어를 결정하는데 사용 가능하며, 이것으로부터 타겟 키보드 레이아웃이 도출된다. 예컨대, 사용자의 이전 검색 결과 전부 중에서 75%의 검색 결과가 영어이고 20%가 히브리어라면, 소스 키보드 레이아웃이 라틴어인 경우 타겟 키보드 레이아웃은 영어인 것으로 가정한다. 일부 구현예에서는, 사용자의 검색 쿼리 히스토리와 연계된 모든 검색 결과를 고려하기보다는, 사용자가 액세스한 검색 결과만을 고려한다.
상술한 5가지 각각의 접근법은 공통적으로 사용자의 언어 선호도를 식별한다. 일반적으로, 비 라틴 스크립트를 사용하는 언어는 단 하나의 공통적으로 사용되는 키보드 레이아웃을 가지고 있다. 사용자의 언어 선호도에 대응하는 그 특정한 키보드 레이아웃을 타겟 키보드 레이아웃으로 가정한다.
본 프로세스(100)는 상기 확인된 소스 및 타겟 키보드 레이아웃에 기초하여 검색 쿼리를 보정한다(스텝 160). 키보드 레이아웃은 잘 알려져 있고 미리 정해져 있다. 그러므로, 복수의 키보드 레이아웃 간의 문자 매핑은 미리 정해져 있을 수 있다. 예컨대, 미리 정해진 매핑에 의해, 히브리어 문자 '
Figure 112009041623919-pct00003
'이 라틴어 키보드 레이아웃 상의 라틴 문자 'n'을 생성하는 같은 키 누름을 이용하여 히브리어 키보드 레이아웃 상에서 생성된다는 점을 식별한다. 보정된 검색 쿼리는 수신된 검색 쿼리의 각 문자를 보정된 검색 쿼리의 대응하는 문자에 매핑함으로써 생성될 수 있다. 소스 키보드 레이아웃에 의해 생성되는 수신된 검색 쿼리의 문자는 타겟 키보드 레이아웃을 사용하여 동일한 키 누름으로 생성되었을 대응하는 문자에 매핑된다.
도 2는 동일한 키 누름에 기초하여 2개의 상이한 쿼리를 생성하도록 사용되는 2개의 키보드 레이아웃인 미국식 영어 키보드 레이아웃(200)과 히브리어 키보드 레이아웃(250)을 나타낸다. 라틴어 키보드 레이아웃(200)을 갖는 키보드는 문자열 'news'(205)를 생성하도록 사용된다. 'n', 'e', 'w' 및 's'라는 문자의 연속은 그레이로 나타낸 키 누름으로 생성된다. 예컨대, 'n'은 키 누름(210)으로부터 생성된다.
히브리어 키보드 레이아웃(250)을 갖는 동일한 키보드의 동일한 키 누름은 문자열 '
Figure 112009041623919-pct00004
'(255)를 생성한다. 문자열(255)이 동일한 순서의 키 누름으로부터 생성되는 문자들과 비교할 때 거꾸로 된 것처럼 보이지만, 히브리어 텍스트는 우에서 좌로 작성된다는 점에 주의한다. 따라서, '
Figure 112009041623919-pct00005
'는 키 누름(260)에 의해 생성되는 첫번째 문자이며, 이는 라틴 키보드 레이아웃(200)을 사용하여 'n'을 생성한 키 누름(210)과 같다.
도 1을 다시 참조하면, 본 프로세스(100)는 보정된 검색 쿼리에 기초하여 보정된 검색 결과를 결정한다(스텝 170). 일부 구현예의 경우, 1개보다 많은 보정된 검색 쿼리가 생성된다면, 각각의 보정된 검색 쿼리에 대하여 보정된 검색 결과가 결정된다.
본 프로세스(100)는 초기의 검색 결과나 보정된 검색 결과 중 어느 것을 사용자에게 제공할지 결정한다(스텝 180). 일부 구현예의 경우, 초기 검색 결과의 아이템 수를 보정된 검색 결과의 아이템 수와 비교한다. 가장 많은 수의 아이템을 갖는 검색 결과를 사용자에게 제공한다.
일부 구현예의 경우, 초기 및 보정된 검색 결과 각각은 제시 세트(Suggestion Set)이다. 제시 세트의 아이템은 사용자가 새로운 검색 결과가 생성될 수 있는 새로운 검색 쿼리로서 선택할 수 있는 쿼리 제시를 확인한다. 일반적으로, 제시 세트는 제 1 코퍼스(예컨대, 검색 쿼리 제시의 코퍼스)로부터 식별되는 반면에, 새로운 검색 결과는 제 2 코퍼스(예컨대, 웹 페이지의 코퍼스)로부터 식별된다.
도 3은 2개의 검색 쿼리, 'news'(300) 및 '
Figure 112009041623919-pct00006
'(350)에 각각 대응하는 2개의 제시 세트를 나타낸다. 각각의 제시 세트는 i 제시 (qi)(310)를 포함하는데, 여기서 i는 0부터 n까지의 어떤 정수일 수도 있다. 각각의 제시는 제 2 코퍼스에 대한 새로운 검색 쿼리로서 제공될 때 그 자체로 쿼리이며, 어느 정도 개수의 결과(320)를 낳는다(혹은 낳을 것으로 기대될 것이다). 예컨대, 제 1 제시 qo는 x개의 결과를 생성할 것으로 기대된다. 값 n(qi)(330)는 제시된 쿼리 qi가 만들어 낼 결과물의 예상되는 수를 나타낸다.
각각의 쿼리 제시와 연계된 정보는 제시 세트 중 어떤 것(초기의 것 혹은 보정된 것)을 사용자에게 제공할지 결정하는데 사용될 수 있다. 예컨대, 제시 세트에 있어서 각 쿼리 제시의 예상되는 결과는 제시 세트를 점수 매기는데 사용된다. 일부 구현예의 경우, 제시 세트는 각 쿼리 제시에 대한 예상되는 결과의 평균(혹은 최대값이나 표준 편차)에 기초하여 점수가 매겨진다. 일부 구현예의 경우, 제시 세트는 각 쿼리 제시에 대한 예상되는 결과의 중간값에 기초하여 점수가 매겨진다.
선택적으로는, 제시 세트(qsj)의 점수는 다음 식에 기초할 수 있다.
Figure 112009041623919-pct00007
여기서, n(qsj)는 n(q1), n(q2) ... n(qn)의 합이고, n(qi)는 제시 세트 qsj의 각각의 잠재적인 검색 쿼리 qi에 대해 기대되는 결과의 수이다. S의 값은 일반적으로 기대되는 제시 개수일 수 있다. 일부 구현예의 경우, S의 값은 미리 정해져 있다(예컨대, 모든 제시 세트에 대하여 고정된 한계값에 대응함). 다른 구현예의 경우, 값 S는 모든 제시 세트에 있어서 평균적인 아이템 수에 기초하여 주기적으로 결정될 수 있다. 상기 식은 기재되는 제시의 개수 S보다 더 적은 제시 세트의 점수를 강등시킨다. 일부 경우, 제시 세트의 제 1 코퍼스는 잘못된 키보드 레이아웃을 사용하여 입력되어 왔던 오류 문자열(예컨대, 다른 키보드 레이아웃을 사용하여 매핑하였을 경우를 제외하고는 의미가 없는 문자열)에 기초한 제시를 포함할 수 있다. S에 기초한 제시 세트 점수의 강등은 제 1 코퍼스에서 오류 문자열만 나타내는 제시 세트를 제공하는 것을 방지한다.
일반적으로, 가장 높은 점수를 갖는 제시 세트가 사용자에게 제공된다. 일부 구현예의 경우, 초기 제시 세트는 초기 검색 쿼리를 보정하기 전에 점수를 매길 수 있다. 초기 제시 세트의 점수는 초기 검색 결과가 부정확한 키보드 레이아웃을 사용하여 생성되었을지 여부를 결정하는데 사용된다. 다시 말해, 이러한 점수를 매기는 기술은 초기 검색 결과에서의 아이템을 세는 경우 이외의 경우에 사용될 수 있으며, 이는 도 1과 스텝 125를 참조하여 설명하였다.
일부 구현예의 경우, 검색 쿼리가 자동 보정될 때, 자동 보정을 나타내는 정보가 사용자에게 제공된다. 일부 구현예의 경우, (예컨대 타겟 혹은 소스 키보드 레이아웃이 모호한 경우에) 복수의 잠재적인 검색 쿼리가 제공될 수도 있다. 이렇게 제공되는 보정된 검색 쿼리 중 하나가 사용자에 의해 명시적으로 선택될 수 있다.
일부 구현예의 경우, 공통적인 검색 쿼리 보정의 사전을 관리할 수 있다. 이 사전은 검색 쿼리 입력과 대응하는 보정을 포함한다. 사전은 (사용자의 검색 쿼리에 즉각적으로 응답하기보다는 오프라인에서) 사용자로부터 수신된 검색 쿼리의 로 그(Log)를 분석함으로써 생성될 수 있다. 로그된 각각의 검색 쿼리는 도 1을 참조하여 설명한 것과 동일한 방식으로 고려할 수 있다. 공통적인 검색 쿼리의 사전은 캐시(Cache)로서 사용 가능하다. 검색 쿼리가 사용자로부터 수신될 때, 해당 검색 쿼리는 상기 사전에서 보정 사항을 검색하는데 사용될 수 있다. 만약 보정 내용이 상기 사전에 존재한다면, 검색 쿼리는 사전 입력에 기초하여 보정될 수 있다. (예컨대, 동일한 검색 쿼리가 1개보다 많은 소스 키보드 레이아웃에 의해 입력되었을 수 있기 때문에) 사전 입력이 하나보다 많은 잠재적인 보정을 포함하고 있다면, 해당 소스나 타겟 키보드 레이아웃은 어느 사전 보정을 적용할지를 해결하도록 결정될 수 있다. 만약 보정 내용이 없다면, 해당 검색 쿼리는 도 1을 참조하여 설명한 상기 프로세스(100)를 거칠 수 있다.
본 명세서에서 설명한 본 발명의 실시형태 및 기능적 동작의 전부는, 본 명세서에 개시된 구조와 그 구조적인 등가물을 포함하여 디지털 전자 회로, 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로, 혹은 이들 중 하나 이상의 조합으로 구현 가능하다. 본 명세서의 실시형태는 하나 이상의 컴퓨터 프로그램 제품, 즉 데이터 처리 장치의 동작을 제어하거나 이것에 의해 실행되기 위하여 컴퓨터로 판독 가능한 매체 상에 인코딩된 컴퓨터 프로그램 명령으로 된 하나 이상의 모듈로서 구현 가능하다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다. "데이터 처리 장치"라는 용어는 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 다중 프로세서나 컴퓨터에 의 하는 경우를 포함하여 데이터를 처리하기 위한 모든 장치, 기구 및 기계를 포괄한다. 본 장치는 하드웨어 외에도, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영체제 혹은 이들 중 하나 이상의 조합을 구성하는 코드와 같이, 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다. 전파형 신호는 예컨대 기계로 생성된 전기, 광학 혹은 전자기 신호와 같은 인공적으로 생성된 신호이며, 이것은 적절한 수신기로의 전송을 위한 정보를 인코딩하도록 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드라고도 함)은 컴파일되거나 해석된 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성 가능하며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 기타의 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 대응해야 하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 단일 컴퓨터 상에서 실행되도록 전개될 수 있다.
본 명세서에서 설명한 프로세스와 논리 흐름은 입력 데이터 상에서 동작하고 출력을 생성함으로써 기능을 수행하기 위한 하나 이상의 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의해 수행 가능하다. 본 프로세스와 논리 흐름은 예컨대 FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 특수 목적의 논리 회로에 의해 수행될 수도 있으며, 장치는 이러한 것으로서 구현될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예컨대 범용 및 특수 목적의 마이크로프로세서 양쪽 및 어떤 종류의 디지털 컴퓨터의 어떠한 하나 이상의 프로세서라도 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 혹은 양자로부터 명령과 데이터를 수신할 것이다. 컴퓨터의 핵심적인 요소는 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치 및 명령을 수행하기 위한 프로세서이다. 또한, 컴퓨터는 일반적으로 예컨대 자기, 자기광학 디스크나 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대량 저장 장치로부터 데이터를 수신하거나 그것으로 데이터를 전송하거나 혹은 그러한 동작 둘 다를 수행하도록 동작 가능하게 결합되거나 포함할 것이다. 그러나, 컴퓨터가 이러한 장치들을 구비해야 하는 것은 아니다. 나아가 컴퓨터는, 몇 가지만 언급하자면, 예컨대 이동전화, PDA, 모바일 오디오 플레이어, GPS 수신기와 같은 다른 장치에서 구체화될 수 있다. 컴퓨터 프로그램 명령과 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보완되거나, 그것에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위하여, 본 발명의 실시형태는 사용자에게 정보를 디스플레이하기 위하여 예컨대 CRT나 LCD 모니터와 같은 디스플레이 장치를 구비하고, 사용자가 컴퓨터에 입력을 제공할 수 있는 예컨대 마우스나 트랙볼(Trackball)과 같은 지시 장치 및 키보드를 구비하는 컴퓨터 상에서 구현될 수 있다. 물론 다른 종류의 장치도 사용자와의 상호 작용을 제공하기 위하여 사용 가능한데, 예컨대 사용자에게 제공되는 피드백은 가시적인 피드백, 가청 피드백 혹은 촉각형 피드백과 같은 감각적인 피드백의 어떠한 형태일 수도 있으며, 사용자로부터의 입력은 음향, 발성 혹은 촉각적 입력을 포함하는 어떠한 형태로도 수신 가능하다.
본 발명의 실시형태는 예컨대 데이터 서버와 같은 백엔드(Back-end) 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어(Middleware) 컴포넌트를 포함하거나, 예컨대 사용자가 본 발명의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드(Front-end) 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트 중 하나 이상의 어떠한 조합이라도 포함하는 연산 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다. 통신 네트워크의 예로는 LAN(Local Area Network) 및 예컨대 인터넷과 같은 WAN(Wide Area Network)이 포함된다.
연산 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터 상에서 구동되고 서로에 대하여 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다.
본 명세서가 다수의 세부사항들을 포함하고 있지만, 이는 청구 가능한 것 혹은 본 발명의 범위에 대한 제한으로서 이해되어서는 안되며, 본 발명의 특정한 구현예에 특유한 특징들의 설명으로서 이해되어야 한다. 별개의 실시형태의 문맥으로 본 명세서에서 설명한 특정한 특징들은 단일 실시형태로 조합해서 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 설명한 다양한 특징들은 복수의 실시형태에서 별개로 구현되거나 적당한 하위 조합으로 구현될 수도 있다. 나아가, 특정 조합에서 동작하는 것으로서 특징들을 설명하고 그와 같이 초기에 청구할 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 도면에서 특정한 순서로 동작을 묘사하고 있지만, 이는 나타낸 특정 순서나 순차적인 순서로 그러한 동작들이 수행되어야 한다거나, 바람직한 결과를 얻기 위하여 설명한 모든 동작들이 수행되어야 한다는 식으로 이해해서는 안된다. 특정한 경우, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태에 있어서 다양한 시스템 컴포넌트의 분리가 모든 실시형태에서 그러한 분리를 요구하는 식으로 이해되어서는 안 되며, 설명한 프로그램 컴포넌트 및 시스템은 복수의 소프트웨어 제품에 패키징되거나 단일 소프트웨어 제품에 함께 공통적으 로 통합될 수 있다는 점을 이해해야 한다.
이와 같이, 본 발명의 특정한 실시형태를 설명하였다. 다른 실시행태는 다음의 청구범위의 범위 내에 존재한다. 예컨대, 청구항에서 인용한 동작을 다른 순서로 수행하여도 여전히 바람직한 결과를 달성할 수 있다. 비록 전술한 명세서에서는 몇 가지 키보드 레이아웃 중 하나를 가질 수 있는 키보드와 같은 입력 장치를 참조하고 있으나, 전술한 명세서는 수개의 문자 세트 중 하나를 생성할 수 있는 어떠한 장치에 대해서도 균등하게 적용 가능하다. 또한, 상술한 명세서에 걸쳐서 사용된 라틴어와 히브리어 스크립트는 예로서만 사용되어 있으며, 키보드 레이아웃의 다른 어떠한 조합이라도 마찬가지로 사용 가능하다.

Claims (44)

  1. 컴퓨터로 구현되는 방법에 있어서,
    검색 엔진에서, 사용자 장치 키보드를 이용하여 사용자 장치의 사용자에 의해 제 1 언어 스크립트의 문자 열로서 검색 엔진 사용자 인터페이스로 입력되는 제 1 검색 쿼리를 수신하는 단계와, 상기 사용자 장치 키보드는 복수의 키를 포함하고, 상기 사용자 장치는, 상기 복수의 키의 키들로부터 상기 제 1 언어 스크립트의 문자들로의 매핑을 정의하는 현재 선택된 키보드 레이아웃을 이용하여 상기 복수의 키에 대한 키 누름을 상기 제 1 언어 스크립트의 문자들에 매핑시키며;
    상기 제 1 검색 쿼리에 응답하여 제 1 검색 결과를 획득하는 단계;
    상기 검색 엔진에서, 상기 제 1 검색 결과가 임계값보다 작은 다수의 아이템을 갖는지를 판단하는 단계; 그리고
    결과로서:
    상기 제 1 검색 쿼리의 상기 문자들에 대응하는 제 1 키보드 레이아웃을 확인하는 단계와, 상기 제 1 키보드 레이아웃은 키보드 키들로부터 상기 제 1 언어 스크립트의 문자들로의 제 1 매핑을 정의하며;
    상기 제 1 키보드 레이아웃과는 각각 상이한, 복수의 가능한 키보드 레이아웃들로부터 제 2 키보드 레이아웃을 결정하는 단계와, 상기 제 2 키보드 레이아웃은 키보드 키들로부터 상이한, 제 2 언어 스크립트의 문자들로의 제 2 매핑을 정의하며;
    상기 제 1 키보드 레이아웃의 문자들로부터 상기 제 2 키보드 레이아웃의 문자들로의 매핑에 의해 상기 제 1 검색 쿼리의 문자들로부터 상기 제 2 언어 스크립트의 문자들로의 매핑에 의해 상기 제 1 검색 쿼리로부터 제 2 검색 쿼리를 생성하는 단계;
    상기 제 2 검색 쿼리에 응답하여 제 2 검색 결과를 획득하는 단계; 그리고
    상기 제 1 검색 쿼리에 응답하여 상기 제 2 검색 결과를 상기 사용자 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    복수의 제 2 검색 쿼리를 생성하는 단계와, 각각의 제 2 검색 쿼리는 상기 제 1 검색의 상기 문자들을 각각의 언어 스크립트의 문자들로 매핑시키고 상기 제 1 키보드 레이아웃의 문자들로부터 각각의 키보드 레이아웃의 문자들로의 매핑에 의해 생성되며; 그리고
    상기 복수의 제 2 검색 쿼리 중 하나를 선택하는 단계를 더 포함하며,
    상기 제 2 검색 결과를 획득하는 단계는, 상기 복수의 제 2 검색 쿼리 중 상기 선택된 하나에 응답하여 상기 제 2 검색 결과를 획득하는 것을 특징으로 하는 방법.
  3. 삭제
  4. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행시 상기 하나 이상의 프로세서가 동작들을 수행하도록 하는 프로그램 제품을 포함하는 기계 판독 가능 저장 장치를 포함하며,
    상기 동작들은:
    검색 엔진에서, 사용자 장치 키보드를 이용하여 사용자 장치의 사용자에 의해 제 1 언어 스크립트의 문자 열로서 검색 엔진 사용자 인터페이스로 입력되는 제 1 검색 쿼리를 수신하는 동작과, 상기 사용자 장치 키보드는 복수의 키를 포함하고, 상기 사용자 장치는, 상기 복수의 키의 키들로부터 상기 제 1 언어 스크립트의 문자들로의 매핑을 정의하는 현재 선택된 키보드 레이아웃을 이용하여 상기 복수의 키에 대한 키 누름을 상기 제 1 언어 스크립트의 문자들에 매핑시키며;
    상기 제 1 검색 쿼리에 응답하여 제 1 검색 결과를 획득하는 동작;
    상기 검색 엔진에서, 상기 제 1 검색 결과가 임계값보다 작은 다수의 아이템을 갖는지를 판단하는 동작; 그리고
    결과로서:
    상기 제 1 검색 쿼리의 상기 문자들에 대응하는 제 1 키보드 레이아웃을 확인하는 동작과, 상기 제 1 키보드 레이아웃은 키보드 키들로부터 상기 제 1 언어 스크립트의 문자들로의 제 1 매핑을 정의하며;
    상기 제 1 키보드 레이아웃과는 각각 상이한, 복수의 가능한 키보드 레이아웃들로부터 제 2 키보드 레이아웃을 결정하는 동작과, 상기 제 2 키보드 레이아웃은 키보드 키들로부터 상이한, 제 2 언어 스크립트의 문자들로의 제 2 매핑을 정의하며;
    상기 제 1 키보드 레이아웃의 문자들로부터 상기 제 2 키보드 레이아웃의 문자들로의 매핑에 의해 상기 제 1 검색 쿼리의 문자들로부터 상기 제 2 언어 스크립트의 문자들로의 매핑에 의해 상기 제 1 검색 쿼리로부터 제 2 검색 쿼리를 생성하는 동작;
    상기 제 2 검색 쿼리에 응답하여 제 2 검색 결과를 획득하는 동작; 그리고
    상기 제 1 검색 쿼리에 응답하여 상기 제 2 검색 결과를 상기 사용자 장치로 전송하는 동작을 포함하는 것을 특징으로 하는 시스템.
  5. 제 4 항에 있어서, 상기 동작들은,
    복수의 제 2 검색 쿼리를 생성하는 동작과, 각각의 제 2 검색 쿼리는 상기 제 1 검색의 상기 문자들을 각각의 언어 스크립트의 문자들로 매핑시키고 상기 제 1 키보드 레이아웃의 문자들로부터 각각의 키보드 레이아웃의 문자들로의 매핑에 의해 생성되며; 그리고
    상기 복수의 제 2 검색 쿼리 중 하나를 선택하는 동작을 더 포함하며,
    상기 제 2 검색 결과를 획득하는 동작은, 상기 복수의 제 2 검색 쿼리 중 상기 선택된 하나에 응답하여 상기 제 2 검색 결과를 획득하는 것을 특징으로 하는 시스템.
  6. 삭제
  7. 제 1 항에 있어서,
    사용자 언어 설정, 사용자가 확인한 언어, 사용자 인터페이스 언어, 지리적 위치 또는 사용자 검색 히스토리 중 하나 이상을 이용하여 상기 사용자 장치의 사용자 언어 선호도를 확인하는 단계를 더 포함하며,
    상기 제 2 키보드 레이아웃을 결정하는 단계는, 상기 사용자 장치의 상기 사용자 언어 선호도에 기초하여 상기 제 2 키보드 레이아웃을 확인하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서,
    상기 사용자 언어 설정은, OS(Operating System)의 언어 설정, 상기 OS에 의해 제공되는 보충 언어 지원에 관한 정보 또는 웹 브라우저의 정보 중 적어도 하나와 연관되어 있는 것을 특징으로 하는 방법.
  9. 삭제
  10. 삭제
  11. 제 8 항에 있어서,
    상기 웹 브라우저의 정보는 상기 웹 브라우저와 연계된 언어와 관련되어 있는 것을 특징으로 하는 방법.
  12. 제 7 항에 있어서,
    상기 사용자 언어 선호도는 상기 사용자 언어 설정을 이용하여 확인되며,
    상기 사용자 언어 설정을 제공하기 위하여 웹 브라우저의 페이지 요청(Request)을 이용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제 7 항에 있어서,
    상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자 장치에 의해 실행되는 OS(Operating System)의 언어 정보 또는 언어 설정에 기초하는 것을 특징으로 하는 방법.
  14. 제 7 항에 있어서,
    상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자 장치 상에서 확인된 1차 및 2차 언어(Primary and Secondary Languages)에 기초하는 것을 특징으로 하는 방법.
  15. 제 7 항에 있어서,
    상기 제 1 키보드 레이아웃을 확인하는 단계는, 사용자가 선호하는 키보드 레이아웃에 기초하는 것을 특징으로 하는 방법.
  16. 제 7 항에 있어서,
    상기 사용자 언어 선호도는 상기 사용자 인터페이스 언어를 이용하여 확인되며,
    상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자 인터페이스 언어로부터의 추론에 기초하는 것을 특징으로 하는 방법.
  17. 제 7 항에 있어서,
    상기 제 1 키보드 레이아웃을 확인하는 단계는, 상기 사용자 장치의 장치 연결에 대한 정보로부터 가장 가능성이 있는 언어를 추론하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제 7 항에 있어서,
    상기 제 1 키보드 레이아웃을 확인하는 단계는, 검색 쿼리 히스토리에 기초하는 것을 특징으로 하는 방법.
  19. 제 18 항에 있어서,
    상기 검색 쿼리 히스토리의 검색 결과 중 일부는, 상기 검색 쿼리 히스토리의 검색 결과의 전체 집합보다 작으며, 상기 제 1 키보드 레이아웃을 확인하기 위해 사용되는 것을 특징으로 하는 방법.
  20. 제 19 항에 있어서,
    상기 검색 쿼리 히스토리의 상기 검색 결과 중 일부는 상기 사용자 장치에 의해 액세스되었던 검색 결과를 포함하는 것을 특징으로 하는 방법.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 컴퓨터로 구현되는 방법에 있어서,
    검색 엔진에서, 사용자 장치 키보드를 이용하여 사용자 장치의 사용자에 의해 제 1 언어 스크립트의 문자 열로서 검색 엔진 사용자 인터페이스로 입력되는 제 1 검색 쿼리를 수신하는 단계와, 상기 사용자 장치 키보드는 복수의 키를 포함하고, 상기 사용자 장치는, 상기 복수의 키의 키들로부터 상기 제 1 언어 스크립트의 문자들로의 매핑을 정의하는 현재 선택된 키보드 레이아웃을 이용하여 상기 복수의 키에 대한 키 누름을 상기 제 1 언어 스크립트의 문자들에 매핑시키며;
    상기 사용자 장치에 대한 검색 쿼리 히스토리를 수신하는 단계;
    상기 검색 쿼리에 응답하여 검색 결과를 획득하는 단계; 그리고
    상기 검색 엔진에 의해, 상기 검색 결과가 임계값보다 작은 다수의 아이템을 갖는지를 판단하는 단계, 그리고 결과로서:
    상기 검색 쿼리 히스토리의 검색 결과 중 일부에 기초하여 상기 검색 쿼리에 대한 제 2 키보드 레이아웃을 확인하는 단계를 포함하며,
    상기 일부는 상기 검색 쿼리 히스토리의 검색 결과의 전체 집합에 비해 작으며, 상기 제 2 키보드 레이아웃은 키보드 키들로부터 상이한, 제 2 언어 스크립트의 문자들로의 매핑을 정의하는 것을 특징으로 하는 방법.
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 제 1 항에 있어서,
    상기 제 1 검색 결과의 위치에 있는 상기 사용자 장치에 상기 제 2 검색 결과를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  42. 제 1 항에 있어서,
    상기 제 1 검색 결과의 아이템은 상기 제 1 검색 쿼리와 연관된 것으로 확인된 아이템들의 코퍼스로부터의 아이템인 것을 특징으로 하는 방법.
  43. 삭제
  44. 삭제
KR1020097014284A 2006-12-15 2007-12-14 자동적인 검색 쿼리 보정 KR101505985B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US87542506P 2006-12-15 2006-12-15
US60/875,425 2006-12-15
US88483907P 2007-01-12 2007-01-12
US60/884,839 2007-01-12
CN200710101817.8 2007-04-16
CN2007101018178A CN101206659B (zh) 2006-12-15 2007-04-16 自动搜索查询校正
PCT/US2007/087582 WO2008076887A1 (en) 2006-12-15 2007-12-14 Automatic search query correction

Publications (2)

Publication Number Publication Date
KR20090091325A KR20090091325A (ko) 2009-08-27
KR101505985B1 true KR101505985B1 (ko) 2015-03-25

Family

ID=41013954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014284A KR101505985B1 (ko) 2006-12-15 2007-12-14 자동적인 검색 쿼리 보정

Country Status (7)

Country Link
US (1) US8676824B2 (ko)
EP (1) EP2115635B1 (ko)
KR (1) KR101505985B1 (ko)
CN (1) CN101206659B (ko)
IL (1) IL199327A (ko)
TW (1) TWI454943B (ko)
WO (1) WO2008076887A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8229732B2 (en) * 2007-08-31 2012-07-24 Google Inc. Automatic correction of user input based on dictionary
US9875298B2 (en) * 2007-10-12 2018-01-23 Lexxe Pty Ltd Automatic generation of a search query
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
CN101266520B (zh) * 2008-04-18 2013-03-27 上海触乐信息科技有限公司 一种可实现灵活键盘布局的系统
WO2010003155A1 (en) * 2008-07-03 2010-01-07 Nuance Communications, Inc. Methods and systems for processing japanese text on a mobile device
US8462123B1 (en) * 2008-10-21 2013-06-11 Google Inc. Constrained keyboard organization
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
KR101657307B1 (ko) 2009-09-25 2016-09-19 엘지전자 주식회사 불소계 중공사막 및 그 제조 방법
US8805750B2 (en) * 2009-12-18 2014-08-12 Microsoft Corporation Providing comparison experiences in response to search queries
US20110179372A1 (en) * 2010-01-15 2011-07-21 Bradford Allen Moore Automatic Keyboard Layout Determination
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
CN103069418B (zh) * 2010-08-20 2016-03-02 乐天株式会社 信息提供装置、信息提供方法、程序以及信息记录介质
US8959430B1 (en) * 2011-09-21 2015-02-17 Amazon Technologies, Inc. Facilitating selection of keys related to a selected key
US9135245B1 (en) * 2012-01-09 2015-09-15 Cox Communications, Inc. Filtering content based on acquiring data associated with language identification
US8671123B2 (en) 2012-02-01 2014-03-11 Microsoft Corporation Contextual icon-oriented search tool
US10127314B2 (en) * 2012-03-21 2018-11-13 Apple Inc. Systems and methods for optimizing search engine performance
US9329778B2 (en) * 2012-09-07 2016-05-03 International Business Machines Corporation Supplementing a virtual input keyboard
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US20150177847A1 (en) * 2013-12-23 2015-06-25 Google Inc. Techniques for resolving keyboard and input method ambiguity on computing devices
CN106469429B (zh) * 2015-08-18 2019-12-06 菜鸟智能物流控股有限公司 一种通过种属关系确定选项的方法、装置及电子设备
TWI562000B (en) * 2015-12-09 2016-12-11 Ind Tech Res Inst Internet question answering system and method, and computer readable recording media
CN105868356A (zh) * 2016-03-29 2016-08-17 乐视控股(北京)有限公司 语料检测方法及装置
CN106446069B (zh) * 2016-09-07 2019-10-15 北京百度网讯科技有限公司 基于人工智能的推送信息的方法和装置
RU2693328C2 (ru) 2017-07-27 2019-07-02 Общество С Ограниченной Ответственностью "Яндекс" Способы и системы для создания заменяющего запроса для введенного пользователем запроса
CN110413131A (zh) * 2018-04-27 2019-11-05 群光电子(苏州)有限公司 电脑系统及键盘装置
CN111400464B (zh) * 2019-01-03 2023-05-26 百度在线网络技术(北京)有限公司 一种文本生成方法、装置、服务器及存储介质
US11216065B2 (en) * 2019-09-26 2022-01-04 Lenovo (Singapore) Pte. Ltd. Input control display based on eye gaze

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066823A (ja) 1998-06-24 2000-03-03 Microsoft Corp あるキ―ボ―ドモ―ドに対応するテキストを他のキ―ボ―ドモ―ドに対応するテキストに変換する方法
KR20010064751A (ko) * 1999-12-18 2001-07-11 이계철 정보검색을 위한 키 입력 오류 수정 방법
US20050071332A1 (en) 1998-07-15 2005-03-31 Ortega Ruben Ernesto Search query processing to identify related search terms and to correct misspellings of search terms

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535119A (en) * 1992-06-11 1996-07-09 Hitachi, Ltd. Character inputting method allowing input of a plurality of different types of character species, and information processing equipment adopting the same
KR970007686B1 (ko) * 1994-07-07 1997-05-15 주식회사 삼양사 폴리에스테르 극세사의 제조방법
KR0157031B1 (ko) 1995-07-07 1998-11-16 이찬진 자동 자판모드 변환장치 및 그 방법
US5721897A (en) * 1996-04-09 1998-02-24 Rubinstein; Seymour I. Browse by prompted keyword phrases with an improved user interface
US6065003A (en) * 1997-08-19 2000-05-16 Microsoft Corporation System and method for finding the closest match of a data entry
US6272456B1 (en) * 1998-03-19 2001-08-07 Microsoft Corporation System and method for identifying the language of written text having a plurality of different length n-gram profiles
US6292772B1 (en) * 1998-12-01 2001-09-18 Justsystem Corporation Method for identifying the language of individual words
KR100726582B1 (ko) * 2000-10-25 2007-06-11 주식회사 케이티 무선통신 단말기의 위치 확인에 의한 다국 문자 자판의제공 방법
US7113904B2 (en) * 2001-03-30 2006-09-26 Park City Group System and method for providing dynamic multiple language support for application programs
US7103534B2 (en) * 2001-03-31 2006-09-05 Microsoft Corporation Machine learning contextual approach to word determination for text input via reduced keypad keys
JP2005520251A (ja) * 2002-03-11 2005-07-07 ユニバーシティ・オブ・サザン・カリフォルニア 名前付きエンティティの翻訳
JP4025178B2 (ja) * 2002-11-11 2007-12-19 株式会社東芝 構造化データ検索方法、構造化データ検索装置およびプログラム
KR100634496B1 (ko) * 2003-06-16 2006-10-13 삼성전자주식회사 입력언어모드 인식방법 및 장치와 이를 이용한 입력언어모드 자동전환방법 및 장치
EP1692626A4 (en) * 2003-09-17 2008-11-19 Ibm IDENTIFICATION OF RELATED NAMES
US7310605B2 (en) * 2003-11-25 2007-12-18 International Business Machines Corporation Method and apparatus to transliterate text using a portable device
US8200475B2 (en) * 2004-02-13 2012-06-12 Microsoft Corporation Phonetic-based text input method
US7636083B2 (en) * 2004-02-20 2009-12-22 Tegic Communications, Inc. Method and apparatus for text input in various languages
US7254774B2 (en) 2004-03-16 2007-08-07 Microsoft Corporation Systems and methods for improved spell checking
US20050216253A1 (en) * 2004-03-25 2005-09-29 Microsoft Corporation System and method for reverse transliteration using statistical alignment
TWI240876B (en) * 2004-06-17 2005-10-01 Bridgewell Inc Portable database search agent processing system
TW200620001A (en) * 2004-10-20 2006-06-16 Bridgewell Inc Method and system for webpage advertisement, and agent management method for webpage advertisement
KR100707725B1 (ko) * 2005-05-16 2007-04-16 엔에이치엔(주) 자동완성 질의어 제공 시스템, 방법 및 상기 방법을실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한기록 매체
US20070011132A1 (en) * 2005-06-17 2007-01-11 Microsoft Corporation Named entity translation
KR100739726B1 (ko) * 2005-08-30 2007-07-13 삼성전자주식회사 문자열 매칭 방법 및 시스템과 그 방법을 기록한 컴퓨터판독 가능한 기록매체
KR101265263B1 (ko) * 2006-01-02 2013-05-16 삼성전자주식회사 발음 기호를 이용한 문자열 매칭 방법 및 시스템과 그방법을 기록한 컴퓨터 판독 가능한 기록매체
JP4744317B2 (ja) * 2006-02-16 2011-08-10 富士通株式会社 単語検索装置、単語検索方法、及びコンピュータプログラム
US7797152B1 (en) * 2006-02-17 2010-09-14 The United States Of America As Represented By The Director, National Security Agency Method of database searching
US7831911B2 (en) * 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
US7590626B2 (en) * 2006-10-30 2009-09-15 Microsoft Corporation Distributional similarity-based models for query correction
US20080155399A1 (en) * 2006-12-20 2008-06-26 Yahoo! Inc. System and method for indexing a document that includes a misspelled word
US7813920B2 (en) * 2007-06-29 2010-10-12 Microsoft Corporation Learning to reorder alternates based on a user'S personalized vocabulary
US8229732B2 (en) * 2007-08-31 2012-07-24 Google Inc. Automatic correction of user input based on dictionary

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066823A (ja) 1998-06-24 2000-03-03 Microsoft Corp あるキ―ボ―ドモ―ドに対応するテキストを他のキ―ボ―ドモ―ドに対応するテキストに変換する方法
US20050071332A1 (en) 1998-07-15 2005-03-31 Ortega Ruben Ernesto Search query processing to identify related search terms and to correct misspellings of search terms
KR20010064751A (ko) * 1999-12-18 2001-07-11 이계철 정보검색을 위한 키 입력 오류 수정 방법

Also Published As

Publication number Publication date
EP2115635B1 (en) 2019-06-12
TW200925906A (en) 2009-06-16
EP2115635A1 (en) 2009-11-11
KR20090091325A (ko) 2009-08-27
TWI454943B (zh) 2014-10-01
US8676824B2 (en) 2014-03-18
CN101206659B (zh) 2013-09-18
CN101206659A (zh) 2008-06-25
IL199327A (en) 2016-02-29
US20090222445A1 (en) 2009-09-03
WO2008076887A1 (en) 2008-06-26
EP2115635A4 (en) 2012-05-30

Similar Documents

Publication Publication Date Title
KR101505985B1 (ko) 자동적인 검색 쿼리 보정
US9514111B1 (en) Providing autocomplete suggestions
US10452694B2 (en) Information extraction from question and answer websites
US8229732B2 (en) Automatic correction of user input based on dictionary
US8255376B2 (en) Augmenting queries with synonyms from synonyms map
US8762358B2 (en) Query language determination using query terms and interface language
Mitra et al. On user interactions with query auto-completion
US7475063B2 (en) Augmenting queries with synonyms selected using language statistics
US8626486B2 (en) Automatic spelling correction for machine translation
US8745051B2 (en) Resource locator suggestions from input character sequence
US7516118B1 (en) Methods and systems for assisted network browsing
US10747772B2 (en) Fuzzy substring search
US9129009B2 (en) Related links
US20120330989A1 (en) Detecting source languages of search queries
US20150178302A1 (en) Search query suggestions based in part on a prior search and searches based on such suggestions
CN102770859A (zh) 跨语言搜索选项
US9317606B1 (en) Spell correcting long queries
US9275147B2 (en) Providing query suggestions
CN111194457A (zh) 专利评估判定方法、专利评估判定装置以及专利评估判定程序
RU2679959C2 (ru) Верификация контента собственного приложения
WO2007124385A2 (en) Processing of query terms
US20170193119A1 (en) Add-On Module Search System
WO2021053391A1 (en) Multilingual search queries and results
US20230385561A1 (en) Data driven translation and translation validation of digital content
JP5928267B2 (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
FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190312

Year of fee payment: 5