KR101351992B1 - 비표준화된 위치기반의 텍스트 입력 - Google Patents

비표준화된 위치기반의 텍스트 입력 Download PDF

Info

Publication number
KR101351992B1
KR101351992B1 KR1020087002520A KR20087002520A KR101351992B1 KR 101351992 B1 KR101351992 B1 KR 101351992B1 KR 1020087002520 A KR1020087002520 A KR 1020087002520A KR 20087002520 A KR20087002520 A KR 20087002520A KR 101351992 B1 KR101351992 B1 KR 101351992B1
Authority
KR
South Korea
Prior art keywords
data
information
location
user
dictionary
Prior art date
Application number
KR1020087002520A
Other languages
English (en)
Other versions
KR20080031354A (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 KR20080031354A publication Critical patent/KR20080031354A/ko
Application granted granted Critical
Publication of KR101351992B1 publication Critical patent/KR101351992B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/10Details of telephonic subscriber devices including a GPS signal receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/70Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)
  • Telephone Function (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

텍스트 입력 원조 데이터를 제공하는 컴퓨터 실행 방법은 사용자와 관련된 위치 정보를 시스템에서 수신하는 단계, 예측되는 본문의 결과들을 나타내는 정보를 상기 시스템에서 수신하는 단계, 상기 위치 정보를 사용하여 사전 데이터를 생성하는 단계 및 상기 사전 데이터를 원격의 장치에 제공하는 단계를 포함한다.

Description

비표준화된 위치기반의 텍스트 입력{NONSTANDARD LOCALITY-BASED TEXT ENTRY}
본 발명은 정보를 입력하는데 있어서 컴퓨팅 또는 통신 장치들의 사용자들을 도와주는 것에 관한 것으로서, 보다 상세하게는 사용자들에 의해 입력된 텍스트를 명확하게 하기 위한 사전들을 제공하고 업데이트하는 것에 관한 것이다.
컴퓨터들 및 컴퓨터 네트워크들이 다양한 정보에 보다 폭넓게 접근할 수 있게 됨으로써, 사람들은 그러한 정보를 얻기 위한 보다 많은 방법들을 요구하고 있다. 특히, 사람들은 이전에는 단지 적절하게 준비된 네트워크에 연결되어 있는 영구적으로 연결된(permanently-connected) 개인용 컴퓨터로만 가능했던 정보로의 접근을 지금은 거리에서, 집에서, 또는 사무실에서 접근할 수 있기를 기대하고 있다. 그들은 그들의 휴대폰으로부터 주식 시세들(stock quotes)과 날씨 보고를, 그들의 PDA로부터 이메일을, 그들의 팜탑(palm top)으로부터 업데이트된 문서들을, 그리고 적시에 모든 그들의 장치들로부터 정확한 검색 결과들을 원하고 있다. 그들은 또한 국부적으로, 국내적으로 또는 국제적으로든 여행할 때 사용하기 편하고 휴대가능한 장치로 그러한 모든 정보를 얻기를 원한다.
휴대성은 일반적으로 크기가 작은 장치를 필요로 하나, 그것들은 반면에 데 이터 입력 키들의 수 및 메모리 용량과 사용 가능한 동작 전원이 제한된다. 게다가, 초소형 휴대용 장치들은 흔히 반드시 한 손 안에 쥐어져야 하거나 전혀 손으로 들지 않아도 되어야 하며, 따라서 데이터 입력은 한 손을 사용해야 하거나 손을 사용하지 않아야 한다. 장치들에 있어서 이러한 제한들은 일반적으로 사용자들에 의해 보충되어야 한다. 예컨대, 사용자는 전화기 키패드와 같은 제한된 키보드 또는 제한된 음성 인식 기능들을 사용해야만 한다. 그러한 제한된 장치들은 모호한 데이터 입력시 부정확한 추측들을 만들어냄으로써, 데이터 입력을 위해 사용자가 특정한 트릭들(PDA 상에서의 속기 기록과 같은)을 배워야만 하도록 하거나 사용자가 결코 의도하지 않은 데이터를 생성할 수 있다.
이러한 문제들을 해결하기 위한 일부 시도들이 이루어져 왔었다. 예컨대, PDA들이 속기(short-hand) 기록과 보통 서법(long-hand) 기록을 인식하도록 프로그램되었다. 또한, 비록 각 키 위에 3개의 문자들이 존재하여 의도한 텍스트에 관한 모호함들을 야기할 수는 있지만, 사용자가 동시에 또는 순차적(예컨대, 트리플 탭)으로 키를 눌러 조합할 수 있도록 함으로써 휴대폰들은 입력된 문자들을 인식할 수 있다. 다른 솔루션들로는 눌려진 키들의 조합을 매치시킨 모든 가능한 용어들을 식별하고, 가장 통상적인 용어를 선택하거나 또는 가장 통상적인 것에서부터 비통상적인 것까지 분류된 가능한 용어들의 목록을 사용자에게 제시함으로써 사용자가 입력하고자 했던 문자들에서 경험적 추측들(educated guesses)을 만드는 것과 관련된다. 이러한 솔루션들은 모두 한계들을 가지고 있다.
비록 휴대가 가능하고 제한된 장치들은 그렇다 하더라도, 사용자들은 그들의 컴퓨터에 있어서 보다 지능적으로 텍스트를 입력(text-entry intelligence)할 수 있기를 원한다. 예컨대, 사용자들은 데이터 입력을 도와주거나 철자 교정기 및 문법 교정기와 같이 데이터 입력시 에러를 교정해줄 수 있는 시스템을 원한다. 역시, 여러 가지 솔루션들이 있으나 모두 한계들을 가지고 있다.
따라서, 완전한 기능을 갖는 장치들 및 제한된 장치들 모두에 있어서, 보다 빠르고 정확하게 데이터를 입력할 수 있도록 사용자를 도와주는 시스템이 필요하다.
이 문서는 그러한 장치들에 데이터를 입력하는데 있어서 컴퓨팅 및 통신 장치의 사용자들을 도와주는 방법들 및 시스템들을 개시한다. 일 양태에 있어서, 컴퓨터-실행 텍스트 입력 원조(assistance) 데이터 제공 방법이 개시된다. 그 방법은 사용자와 관련된 위치 정보를 시스템에서 수신하는 단계, 예측되는 본문의 결과들(textual outcomes)을 나타내는 정보를 상기 시스템에서 수신하는 단계, 상기 위치 정보를 사용하여 사전 데이터를 생성하는 단계, 및 상기 사전 데이터를 원격의 장치에 제공하는 단계를 포함한다. 예측되는 본문의 결과들을 나타내는 수신된 정보는 복수의 원격 검색자들에 의해 만들어진 검색 요구들과 관련될 수 있다. 또한, 사전 데이터는 대응되는 복수의 예측 가중치들을 갖는 복수의 용어들을 포함할 수 있으며, 사전 데이터는 수신된 예측되는 본문의 결과들을 나타내는 정보를 사용하여 생성될 수 있다.
일 실시에 있어서, 원격의 장치에 사전 데이터를 제공하는 것은 휴대폰에 데이터를 전송하는 것을 포함할 수 있다. 시스템은 또한 검색 결과들에 기초하여 검색시에 사용되는 사용자 환경설정들을 수신할 수 있다. 사전 데이터의 생성은 또한 사용자 위치를 나타내는 정보와 관련된 데이터를 생성하는 것을 포함한다. 생성된 사전 데이터는 사용자 위치와 근접한 장소들과 관련될 수 있다. 또한, 생성된 사전 데이터는 사용자 위치에 근접한 사용자들로부터의 공통 질의 데이터와 관련될 수 있으며, 원격의 장치로부터의 요구에 응답하여 원격의 장치에 제공될 수 있다. 사전 데이터는 또한 그것이 원격의 장치에 제공되기 전에 압축될 수 있으며, 그 데이터는 원격의 장치에 이미 존재해 있던 사전에 부가하기 위한 보충 데이터를 포함할 수 있다.
다른 실시에 있어서, 그 방법은 검색 요구를 수신하는 단계, 검색 결과를 생성하는 단계, 및 사전 데이터와 함께 검색 결과를 제공하는 단계를 더 포함할 수 있다. 사전 데이터는 검색 결과와 관련된 문서들로부터의 데이터를 포함할 수 있다. 더욱이, 사전 데이터는 사용자 위치 부근에 있는 하나 이상의 영역들에 대응되는 데이터를 포함할 수 있으며, 그것들은 위치 이름들을 순서대로 포함할 수 있다.
다른 양태에 있어서, 데이터 수집 및 배포 시스템이 제공되며, 데이터 수집 및 배포 시스템은 하나 이상의 원격 클라이언트들로부터 데이터 요구들을 수신하는 요구 프로세서, 데이터 요구들에 응답하여 검색하는 로컬 검색 엔진, 하나 이상의 클라이언트들에 대한 예측되는 데이터 입력 정보를 포함하는 하나 이상의 클라이언트들에 의해 사용되기 위한 정보를 생성하는 사전 생성기, 및 예측되는 데이터 입력 정보를 포함하는 데이터 요구들에 응답하는 정보를 수신하고, 데이터 요구들에 응답하는 정보를 하나 이상의 클라이언트들에 의해 사용되기 제공하는 응답 포맷터를 포함한다. 요구 프로세서는 사용자 위치를 나타내는 정보를 수신하도록 동작할 수 있다. 또한, 로컬 검색 엔진은 데이터 요구들로부터 사용자 위치를 나타내는 정보를 추출하도록 동작할 수 있다.
일 실시에 있어서, 사전 생성기는 복수의 오브젝트들에 대한 예측된 동시발생(concurrence) 스코어들을 계산하는 동시발생 레이터(rater)를 포함할 수 있으며, 복수의 오브젝트들은 데이터 요구를 생성하는 동안에 사용자에 의해 입력될 수 있는 복수의 용어들을 포함할 수 있다. 시스템은 또한 동시발생 레이터에 제출하기 위한 문서에 있는 오브젝트들을 식별하는 오브젝트 선택기를 포함할 수 있다. 로컬 검색 엔진은 또한 복수의 요구들 및 사용자 위치를 나타내는 정보를 수신하고 예측되는 데이터 입력 정보와 함께 응답 포맷터에 의한 전송을 위한 요구들을 제공하도록 동작할 수 있다. 하나 이상의 클라이언트들에 의한 사용을 위한 정보는 사용자 위치 부근에 있는 하나 이상의 영역들에 대응되는 데이터를 포함할 수 있으며, 그것들은 위치 이름들을 순서대로 포함할 수 있다.
또 다른 양태에 있어서, 데이터 입력 장치의 사용자에 의한 오브젝트들에 대한 가능한 사용(probable usage)을 나타내는 정보를 제공하기 위한 컴퓨터-실행 시스템은 사용자 위치와 관련되고 사용자 또는 사용자들에 의한 사용을 나타내는 문서들을 제공하는 수단, 그 문서들에 있는 오브젝트들의 사용 데이터에 대해 문서들을 분석하고 관련된 동시발생 비율들(concurrence ratings)을 생성하는 동시발생 레이터 및 데이터 입력 장치에 동시발생 비율들을 전송하는 인터페이스를 포함할 수 있다. 동시발생 레이터는 오브젝트들의 위치 데이터에 대한 문서들을 더 분석하여 동시발생 비율들을 생성할 수 있으며, 동시발생 비율들은 적어도 부분적으로 오브젝트의 위치 데이터와 관련된 위치가 사용자 위치로부터 얼마나 멀리 떨어져 있는지에 기초할 수 있다. 또한, 동시발생 비율들은 적어도 부분적으로 사용자의 환경설정들에 기초할 수 있다.
다른 양태에 있어서, 통신 장치는 정보를 수신 및 송신하는 트랜시버를 포함할 수 있다. 송신된 정보는 사용자 위치를 나타내는 정보를 포함한다. 장치는 또한 장치 사용자에 의해 입력된 모호한 정보의 있음직한 의도된 사용을 나타내는 정보, 있음직한(probable) 의도된 사용을 나타내는 정보와 사용자 위치와의 연관성을 반영하는 발생 데이터(occurrence data)를 포함하는 어휘 저장소(vocabulary repository), 및 장치에 제공된 모호한 정보를 가능한 솔루션들을 식별함으로써 가능한 솔루션으로 변환하고, 있음직한 의도된 사용을 나타내는 정보를 가능한 솔루션들에 적용하는 중의성 해소(disambiguation) 엔진을 포함한다.
일 실시에 있어서, 시스템은 사용자 위치를 나타내는 정보를 얻기 위해 사용되는 위치 시스템(positioning system)을 더 포함할 수 있다. 또한, 사용자는 사용자 위치를 나타내는 정보를 입력할 수 있다.
다른 실시에 있어서, 사용자의 환경설정들은 어떤 정보가 어휘 저장소에 포함되어 있는지를 결정할 수 있다. 또한, 발생 데이터와 관련된 표시 정보는 발생 데이터가 어떤 임계값에 도달될 때 어휘 저장소로부터 삭제될 수 있다. 발생 데이터는 인구학적(demographic) 그룹의 멤버들에 의한 사용 관습들(usage practices)을 나타내는 데이터를 포함할 수 있다.
여기에서 설명되는 시스템들 및 기술들은 하나 이상의 다음과 같은 장점들을 제공한다. 시스템은 효율적이고 자동적인 텍스트 입력을 제공할 수 있으며, 사용자의 위치와 관련된 텍스트를 입력시 어려움이 발생할 때 도움을 제공할 수 있다. 또한, 시스템은 텍스트 입력에 대한 위치 관련 제안들을 제공함으로써 사용자를 도와줄 수 있다. 그러한 시스템은 시스템이 다른 어플리케이션이 동작하는 동안 백그라운드에서 동작할 수 있도록 과도한 시스템 요구사항들을 필요로 하지 않으면서 빠르고 보다 정확한 데이터 입력을 허용할 수 있으며, 또한 메모리와 같은 제한된 자원을 갖는 휴대폰들과 같은 휴대용 시스템에서 실행될 수 있다.
본 발명의 하나 이상의 실시예들에 대한 상세한 내용은 이하의 첨부된 도면들 및 기재를 통해 설명된다. 본 발명의 다른 특징들, 목적들 및 장점들은 상세한 설명과 도면들, 및 청구항들로부터 명확해질 것이다.
이러한 및 다른 양태들은 이제 다음의 도면들을 참조하여 보다 상세하게 설명될 것이다.
도 1은 데이터 중의성 해소(disambiguation) 능력을 갖는 데이터 입력 시스템을 개략적으로 보여주는 도면.
도 2는 위치 데이터를 전송하고, 데이터 입력 사전(data entry dictionary)을 위한 데이터와 관련된 정보를 리턴(return)시키기 위해 사용되는 시스템에 대한 개략도.
도 3은 데이터 입력 사전을 위한 정보를 식별, 포맷 및 배포하기 위한 시스템의 개략도.
도 4는 사용자-특정 데이터 입력 사전을 수신 및 사용하기 위한 시스템에 대한 개략도.
도 5는 데이터 입력 사전을 위한 정보를 준비하기 위한 예시적 단계들을 보여주는 플로우 차트.
도 6은 장치에 입력된 정보의 중의성을 해소하기 위한 예시적 단계들을 보여주는 플로우 차트.
도 7은 원격 장치로부터의 요구에 응답하여 데이터 입력 사전 정보를 제공하는 예시적 단계들에 대한 플로우 차트.
도 8은 데이터 입력 사전의 논리적 트리-기반 구조(logical tree-based organization)를 보여주는 개략도.
여러 도면들에서 유사한 참조 심벌들은 유사한 요소들을 가리킨다.
여기에 개시된 시스템들 및 기술들은 데이터 입력을 도와주는 것과 관련된다. 시스템들은 개인용 통신기기들 및 개인용 컴퓨터들을 포함한 다양한 형태들을 취할 수 있다. 데이터는 또한 전화 키패드 및 음성에 의한 것을 포함한 다양한 형태들로 입력될 수 있다. 일반적으로, 시스템들은 예컨대 사용자의 지리적 위치, 이전에 타이프된 단어들, 사용자의 자기선택(self-selected) 프로파일, 또는 외부에서 사용자에게 제공된 정보 소스들에 기초하여 보다 정확하게 중의성을 해소하는 선택들을 하기 위해 사용자-특정 데이터를 식별함으로써 동작하나, 그것은 사용자 또는 사용자의 선택들과 관련된다.
도 1은 데이터 중의성 해소 능력들을 갖는 제한된 데이터 입력 시스템(10)을 나타낸다. 도시된 시스템(10)은 휴대폰 핸드셋을 포함하나, 개인용 디지털 보조기, 개인용 컴퓨터, 또는 음성 구동 개인용 통신 장치와 같은 어떠한 적절한 형태를 가질 수 있다. 본 실시예에서, 시스템(10)은 시스템(10)의 사용자에게 어느 적절한 정보를 표시하도록 프로그램될 수 있는 디스플레이 스크린(12)을 갖는다. 예컨대, 디스플레이 스크린(12)은 검색 박스(12a) 및 관련된 제어 버튼들과 같은 인터넷 검색 어플리케이션과 관련된 정보를 디스플레이하는데 사용될 수 있다.
도시된 바와 같이, 검색 박스(12a)는 단순하게 사용자에 의해 입력된 검색 용어를 디스플레이하는 스크린상의 콘트라스팅(contrasting) 영역이 될 수 있다. 검색 버튼(12b)은 검색 박스(12a)의 내용들을 인터넷에 통해 이동망에 연결된 검색 엔진과 같은 검색 엔진에 제공할 수 있다. 그러면 디스플레이 스크린(12)은 검색의 결과들을 디스플레이할 수 있다. 선택적으로, "I'm Feeling Lucky" 버튼(12c)은 검색 결과들을 제공할 수 있으며, 그러면 디스플레이 스크린(12)은 즉시 그러한 검색에 대해 가장 적절하게 매치되는 페이지를 디스플레이할 수 있다.
데이터는 어떠한 많은 방법들을 통해 시스템(10)에 입력될 수 있다. 특히, 데이터 입력키들(14)은 영수문자들(alphanumeric characters)과 같은 정보를 입력하는데 사용될 수 있으며, 2번부터 9번까지의 키들 상에 있는 알파벳 문자들을 갖는 표준 전화기 키패드의 형태를 가질 수 있다. 음성인식을 포함한 영숫자 정보를 입력하는 다른 적절한 방법들이 또한 사용될 수 있다. 여기에서 사용된 것과 같 이, 텍스트의 입력을 위해 참조된 것들은 키보드를 통한 또는 직접 기록에 의한 입력, 및 또한 음성인식이 가능한 시스템에 말을 하는 것과 같은 다른 데이터 입력 방법을 포함한다.
게다가, 예컨대 기 결정된 기능들 또는 프로그램된 기능들을 수행하기 위해, 또는 디스플레이 스크린(12) 상에 있는 아이콘들을 제어하기 위해 제어키들(16)이 제공될 수 있다. 제어키들(16)은 또한 보충키들로서 사용, 즉 숫자 0은 0이 아닌 다른 것들을 나타낼 수 있으며, "#" 키는 스페이스키로 사용될 수 있으며, "*" 키는 백스페이스키에 대한 대용으로 사용될 수 있으며, "1" 키는 구두점을 나타낼 수 있다. 또한, 제어휠(15)은 사용자가 디스플레이 스크린(12) 상에 표시된 선택들을 처음부터 끝까지 스크롤할 수 있도록 하고, 원하는 선택을 클릭하기 위해 안쪽으로 밀 수 있도록 핸드셋의 측면에 제공될 수 있다. 다른 적절한 데이터 표시 및 데이터 입력 특성이 또한 제공될 수 있으며, 특히 시스템(10)은 풀 사이즈의 개인용 컴퓨터를 포함하거나, 시스템은 음성 제어를 통해 동작할 수 있다.
시스템(10)은 또한 입력된 데이터의 중의성 해소가 가능하도록 하는 특성들이 제공될 수 있다. 예컨대 용어가 아직 완전하게 입력되지 않았기 때문에, (키패드가 표준 전화기 키패드인 경우와 같이) 각 키스트로크(keystroke)가 다수의 서로 다른 문자들을 나타낼 수 있기 때문에, 또는 획득된 말(speech)이 명확하지 않거나 불완전하기 때문에, 입력된 데이터는 모호할 수 있다. 따라서 해결되어야 할 모호함들은 내삽적(interpolative)이면서 또한 외삽적(extrapolative)일 수 있다. 내삽적 모호함들은 텍스트 입력을 위한 모든 데이터가 입력되었을 때 발생하지만, 전화기 키패드 상에서 데이터가 입력되는 경우와 같이 데이터는 다수의 가능한 텍스트를 나타낼 수 있다. 외삽적 모호함들은 사용자가 텍스트 입력을 위한 데이터의 일부를 입력하였을 때 그러나 데이터 입력이 완료되지 않았을 때 발생한다. 그러한 상황에서, 시스템은 입력을 완료하기 위한 선택들을 제공할 수 있다. 시스템은 또한 입력된 키스트로크들에 대한 가능한 솔루션이 단지 하나만 존재하는 때와 같이, 사용자가 단어에 대한 키스트로크들을 입력하는 것을 끝마친 때를 결정할 수 있다.
모호함은 또한 사용자가 전화기 키패드 상에서 싱글탭 방법을 사용하여 단지 단어의 일부분만을 입력한 때와 같이, 내삽적이면서 동시에 외삽적일 수 있다. 또한, 모호함들은 데이터 입력 타입에 대해 예컨대, 전화기 사용자가 숫자들을 입력할 것인지, 싱글탭에 의한 텍스트를 입력할 것인지, 또는 다중탭 방법들에 의한 텍스트를 입력할 것인지를 시스템이 쉽게 결정할 수 없을 때 발생할 수 있다.
일반적으로, 중의성 해소 특성은 저장된 사전에 있는 입력들을 시스템(10)에 입력된 키스트로크들을 매칭시킬 수 있는 입력들과 매칭시킴으로써 동작할 수 있다. 솔루션 세트의 형태를 갖는 매치된 용어들은 가장 유사하게 매치될 가능성이 있는 것을 그 세트의 가장 상위에 놓는 방법으로 저장될 수 있다. 사용자는 제어휠(15)과 같은 것을 사용함으로써 솔루션 세트를 처음부터 끝까지 스크롤할 수 있으며, 원하는 데이터 아이템을 선택할 수 있다. 또한, 시스템은 사용자에 의한 간섭 없이 예측되는 매치를 자동적으로 선택하도록 설정될 수 있다(그러나 사용자가 실시간으로 또는 데이터가 입력된 후에 선택을 편집하거나 무시할 수 있는 능력을 가지고 있어야 함).
도 1에서는, 두 개의 사전들, 메인 사전(21) 및 보충 사전(23)이 도시되어 있다. 메인 사전(21)은 특정한 어플리케이션에서 일반적으로 사용되는 통상적인 용어들을 나타내며, 시스템이 초기에 셋업될 때 시스템(10)에 제공될 수 있다. 전형적으로, 그러한 메인 사전은 100,000 보다 큰 단어 사전으로부터의 대략 20,000 단어들을 포함할 수 있으며, 다른 사이즈의 사전들도 가능하지만, 시스템의 능력에 좌우된다. 또한, 사전들은 영어에 한정되지 않으며, 다른 문자들 심지어 다른 타입의 오브젝트들을 갖는 다른 언어들을 포함할 수 있다.
보충 사전(23)은 심지어는 보다 개인적인 경험들을 사용자에게 제공하기 위해 때때로 시스템(10)에 부가될 수 있는 부가적인 데이터를 나타내며, 그것에 의해서 보다 정확한 중의성 해소를 제공한다. 예컨대, 보충 사전(23)은 사용자에 의해 있음직한 데이터 입력을 매치시키려는 시도가 있을 때에 정기적으로 업데이트 되는 시간에 민감한 정보를 포함할 수 있다. 한 예로서, 보충 사전(23)은 사용자에 의해 최근에 입력된 검색 용어들과 밀접하게 관련된 검색 용어들, 또는 많은 사용자들에게 최근에 인기가 있는 용어들로 장치를 업데이트하기 위해 검색 엔진과 결합되어 사용될 수 있다. 보충 사전(23)은 또한 새로운 입력들이 메인 사전(21)에 쉽게 부가되고 별도로 저장되지 않도록 메인 사전(21)의 일부일 수 있다.
예컨대, 만약 사용자가 "관리 이론"에 대한 검색을 입력하면, 검색 엔진은 식별된 검색 이후에 곧바로 입력된 다른 검색 용어들 또는 검색 결과로서 알게 된 문서들에서 사용된 다른 용어들과 같은 다른 최근의 유사한 검색들을 찾고 그러한 다른 검색들에 관한 정보를 사용자의 장치에 제공한다. 게다가, 검색은 또한 단어들의 발생에 대한 확률을 업데이트 하기 위해 장치에 데이터를 리턴할 수 있다. 특히, 검색과 관련된 다른 용어들은 만약 용어들 자체가 이미 사전에 존재한다면 증가하게 되는 그들의 확률들을 가질 수 있다. 예컨대, 검색 입력으로서 "관리 이론"이 제공되면, "보상", "드러커(Drucker)", 및 "디밍(Deming)"과 같은 용어들이 장치에 리턴되며 그들이 만약 그렇지 않으면 가질 수 없는 미래의 검색들을 위한 솔루션들로서 두드러질 것이다. 또한, 그들이 만약 그렇지 않으면 사전에 존재하지 않을 때 그들은 사전에 부가될 수 있다.
일반적으로, 그리고 한 예시로서, 사전들(21, 23)은 텍스트 입력의 중의성을 해소하는데 있어서 도움을 주는 세 부분의 정보를 포함할 수 있다. 첫 번째로, 그들은 단어들 또는 다른 오브젝트들 자체를 포함할 수 있다. 두 번째로, 그들은 타이프되거나 선택된 각 단어 또는 오브젝트의 확률을 포함할 수 있다. 이러한 확률들은 또한 이하에서 보다 상세하게 개시된 것과 같이, 사용되어지는 어플리케이션에 의존하는 확률들의 세트들로 분할될 수 있다. 세 번째로, 사전들(21, 23)은 동시발생(concurrence), 또는 공동-동시발생(co-concurrence), 다른 단어들에 대한 각 단어의 확률을 포함할 수 있다. 예컨대, "패러다임(paradigm)"에 대한 입력은 단어 "이동(shift)" 또는 "변화(change)"에 대한 높은 공동-동시발생을 나타낼 수 있다. 이러한 방법에 있어서, 일단 단어 "패러다임"이 장치에 입력되면, 단어들 "이동" 및 "변화"는 이어지는 단어들에 대한 있을 법한 후보들의 리스트에서 가장 위로 가게 된다.
그 정보 부분들 각각은 다른 것들에 대해 독립적으로 변화될 수 있다. 예컨대, 만약에 사용자가 어떤 단어를 매우 빈번하게 타이프하면, (일괄적으로 든지 또는 특정 어플리케이션에 대해서 든지) 그 단어의 확률은 증가하게 된다. 유사하게, 단지 공동-동시발생 확률들만이 또한 업데이트 될 수 있다. 따라서, 확률들은 특정 단어들의 입력과는 별개로 업데이트 된다.
또한, 일단 단어가 타이프되면, 그 단어와 관련된 모든 확률들은 업데이트되고 교정된다. 그것은 사람이 단어를 사용하면 그들은 가까운 미래에 곧 그것을 다시 사용할 가능성이 많기 때문이다. 예컨대, 레스토랑들을 검색하고 있는 사람은 좋은 레스토랑을 찾을 때까지 특정 검색 기간 동안에 단어 "일본인(japanese)"을 여러번 입력할 수 있다(그리고 단어 "일본인"의 사용은 단어들 사이의 통상적인 공동-동시발생성 때문에 그 사람이 곧 "스시(sushi)"를 입력할 가능성을 높게 만들 수 있다).
동시발생 데이터는 별개의 어플리케이션들에 대해 고유하게 저장될 수 있다. 예컨대, 한 어플리케이션은 이메일일 수 있다. 단어가 타이프 될 때, 시스템은 특정 어플리케이션에 관해 타이프될 아이템들의 확률에 따라 솔루션 세트에서 아이템들을 찾을 수 있다. 만약 어플리케이션이 이메일이면, "안녕하세요(hello)"의 확률이 매우 높을 수 있으나, 반면에 어플리케이션이 게임이면, "왼쪽(left)" 및 "오른쪽(right)"의 확률이 매우 높을 수 있다. 이것이 어플리케이션-특정 발생 확률(application-specific occurrence probability)이다. 그러면 시스템은 솔루션 세트에 있는 각 아이템과 관련된 가장 통상적인 단어를 식별하고, 그 정보 및 이전에 입력된 단어에 기초하여 확률을 적용한다. 시스템은 또한 각 입력과 관련된 두 번째로 가장 통상적인 단어를 식별하고, 이전 단어가 입력될 때 주어진 확률을 적용한다. 동시발생 데이터에 대한 이러한 적용은 현재 동작하는 어플리케이션과는 별개로 이루어질 수 있다. 다음에, 프로세스는 남아있는 관련된 입력들에 전체에 걸쳐 유사한 방법을 계속한다.
사전들(21, 23)의 예시적 구조는 단어, 구두점, 또는 수행될 기능들과 같은 많은 오브젝트들을 포함하는 대응되는 오브젝트 리스트들(22, 24)을 포함한다. 오브젝트들은 어떠한 적절한 형태로 저장될 수 있다. 두 번째 사전 필드는 예컨대 각각의 특정 오브젝트에 대응되는 키패드 스크로크들을 포함하는 대응되는 식별 리스트들(26, 28)을 포함한다. 시스템은 각 키스트로크가 요구에 부가되는 것과 같이 리스팅을 따르기 때문에, 오브젝트들은 어느 주어진 키스트로크 조합에 대한 적절한 매치를 보다 효율적으로 식별할 수 있도록 시스템(10)을 도와주기 위해 그들의 각각의 식별들에 따라 저장될 수 있다. 사전들을 구성하기 위한 예시적인 트리-기반 구조는 도 8을 참조하여 보다 상세하게 설명될 것이다.
도 1을 다시 참조하면, 각 사전 입력은 사용자가 모호한 키스트로크를 많이 입력할 때 특정 오브젝트가 의도된 오브젝트일 가능성을 나타내는 데이터를 포함할 수 있는 하나 이상의 발생 또는 동시발생 필드들(30, 32, 34, 36)로 제공될 수 있다. 예컨대, 발생 값은 다른 용어들과 비교한 어떤 용어의 상대적인 인기도를 나타낼 수 있다. 이러한 상대적인 인기도는 예컨대 관련된 문서들의 그룹을 스캐닝하고 단어에 의한 문서들의 퍼센트 메이크업(percent make-up)을 결정함으로써 결정될 수 있다. 하나 이상의 동시발생 값들은 용어들을 첫 번째 용어와 함께 또는 가까이에서 자주 사용되는 다른 용어들과 상관시키는 공동-동시발생 데이터를 포함할 수 있다. 예컨대, 사람이 전화기 키패드에 "I'll see you at" 및 4663을 타이프하였을 때, 입력된 단어는 아마도 GONE 또는 HONE 보다는 HOME을 나타낼 것이다. 시스템(10)은 용어 "HOME"이 "at", "in", "around", "near" 및 "reach"와 같은 용어들 가까이에서 자주 보여진다는 것을 나타내기 위해 공동-동시발생 데이터를 저장할 수 있다. 그러한 공동-동시발생 데이터는 용어 HOME이 대응하는 공동-동시발생 용어들이 입력되어지는 경우에 다른 가능성 있는 솔루션들 보다 바람직한 솔루션으로서 승격되도록 할 수 있으며, 여기에서 HOME은 그러한 컨텍스트로의 접근 없이는 최상의 선택이 되지 않았을지도 모른다. 시스템(10)은 공동-동시발생 데이터를 사용함에 있어서 앞뒤로 찾아볼 수 있다. 예컨대, 시스템은 특정 용어를 선택할 수 있으며, 다음에 사용자가 다음 용어를 타이프해서 입력한 후에 그 선택으로 다시 되돌아올 수 있으며, 아마도 다음에 그 선택된 단어를 업데이트할 수 있다. 간단히 말해, 시스템은 양방향 공동-동시발생 체킹(checking)을 제공할 수 있다.
하나 이상의 플래그 필드들(38, 40)은 또한 각 입력에 대해 제공될 수 있으며, 예컨대 특정 입력은 일시적으로 입력된 것임을 나타내기 위해 사용될 수 있다. 예컨대, 보충 사전은 현재 인기있는 검색 용어들에 관한 정보와 같이 시간에 민감한 정보를 수신할 수 있다. 그 정보는 "Google Zeitgeist"의 일부분으로서 제공되는 것과 유사할 수 있다. 그러면 플래그는 그 정보가 종료되었다고 설정되는 이벤트를 나타낼 수 있다. 시간에 민감한 정보의 다른 예는 하루의 시간을 기초로 한 입력들을 포함한다. 예컨대, 레스토랑들과 관련된 검색 용어들은 사용자가 배고플 수 있는 시간 동안에 강조될 수 있다. 플래그는 일단 식사 시간이 지나면 종료되는 정보를 나타낼 수 있다. 플래그들은 또한 특정 용어는 사용자가 성인임을 확인하는 질의에 응답하는 것을 선택했을 경우에만 보여지도록 하는 성인 용어임을 나타내는데 사용될 수 있다. 또한, 플래그는 어떤 용어는 어떤 특정된 어플리케이션에 특정되어 있음을 나타낼 수 있다. 또한 다른 적절한 플래그들이 제공되거나 사용될 수 있다.
부가적인 특성들은 또한 사용자-특정 데이터 입력 정보의 사용이 시스템(10)과 관련되어 질 때 유용해질 수 있다. 예컨대, 보충 사전(23)과 관련된 정보는 기 설정된 기간 동안 동작 또는 시스템(10)을 동작시키는 장치의 재설정과 같은 특정 이벤트의 발생에 따라 대체, 삭제 또는 리셋될 수 있다. 일 예로서, 현재의 검색 용어들에 관한 최신 정보가 시스템에 제공될 수 있으나, 일단 다운로드 된 검색 정보가 추측컨대 진부하고 시스템(10)에 도움이 되지 않으면 시스템이 그것의 원래 상태로 되돌아가도록 하루 이상이 지나면 종료되게 설정될 수 있다. 또한, 특정 검색 기간 동안에 사전들을 업데이트하는 정보는 장치가 턴오프 되거나 리셋되는 것과 같이 그 기간이 종료되면 리셋될 수 있다.
데이터는 또한 하루의 시간 또는 사람의 위치에 기초하여 변화될 수 있다. 예컨대, 레스토랑과 관련된 검색 용어들은 사용자가 배고플 것 같은 시간 동안에 강조될 수 있다. 또한, 사용자의 데이터 입력이 사용자의 위치에 맞춰지도록 GPS(Global Positioning System)가 채용될 수 있다. 한 예로서, 시스템은 사용자가 그들의 집에서 멀어질 때, 즉 여행중일 때를 인식할 수 있으며, 따라서 레스토랑 및 항공 정보와 같은 여행자와 보다 관련된 정보로 사전을 업데이트 할 수 있다. 게다가, 시스템은 가까운 도시들, 거리들, 관광명소들 및 건물들의 이름들과 같은 사용자에 근접한 위치들에 관한 사용자 표준 사전 정보를 부가할 수 있다. 예컨대, 만약 사용자가 버지니아주 알렉산드리아에 위치하고 있다면, 시스템은 알링턴(Arlington), 워싱턴(Washington), 미국회의사당(Capitol), 레이건 국제(Reagan-National) 공항 및 덜레스(Dulles) 공항과 같은 용어들에 대해 사전 데이터를 장치에 제공할 수 있다.
도 2는 위치 데이터를 전송하고 데이터 입력 사전(23)에 대한 위치와 관련된 정보를 리턴시키기 위해 사용되는 시스템(42)의 개략도이다. 무선 통신 장치(62)의 사용자는 큰 지리적 영역(46)의 일부 구역(44) 안에 위치할 수 있다. 예컨대, 그 구역(44)은 집, 이웃, 도시, 이동통신 또는 다른 전송 타워 서비스 영역, 우편번호, 지역번호, 주, 나라 또는 대륙으로 정의될 수 있다. 지리적 영역(46)은 단순하게 그 구역(44) 보다 물리적으로 크거나 그것을 둘러싸는 영역일 수 있다.
무선 통신 장치(62)는 인터넷(58)과 같은 네트워크에 통신이 가능하도록 연결될 수 있으며, 그에 따라 시스템(50)과 같은 다른 장치와 통신할 수 있다. 장치(62)는 인터넷(58)에 직접 또는 간접적으로 연결될 수 있다. 예컨대, 장치(62)는 인터넷(58)에 연결된 휴대전화망에 연결될 수 있으며, 그것은 또한 VoIP(Voice Over IP)와 같은 기술을 사용할 수 있다. 어떤 장치에 대한 통신 플로우는 시스템(50)이 장치들로부터의 명령과 같은 정보를 수신하고 또한 그 장치들에게 정보를 보낼 수 있도록 양방향성을 가질 수 있다.
사용자의 데이터 입력이 사용자의 위치에 맞춰지도록 시스템(50)에 위치 데이터를 전송하기 위해 GPS 특성이 장치(62)에 의해 채용될 수 있다. 예컨대, 장치(62)가 GPS가 가능한 휴대폰이라면, 시스템(50)은 그것의 현재 위치를 결정하기 위해 폰에 질의할 수 있다. 일 실시예에 있어서, 시스템의 질의들은 미리 설정된 시간에 발생되도록 자동적으로 생성될 수 있다. 다른 실시예들에 있어서, 질의들은 사용자가 언제 그 구역(44)에서 다른 위치로 움직이는지를 감시하는 장치(62)에 설치된 클라이언트 소프트웨어에 의해 시도될 수 있으며, 사용자가 클라이언트 소프트웨어로 검색을 요청하면 무선 장치(62)에 의해 결정된 것과 같은 위치 데이터가 검색 용어들과 함께 보내질 수 있다. 선택적으로, 사용자는 위치 데이터가 전송되지 않도록 할 수 있다.
사용자는 또한 장치(62)를 이용하여 위치 데이터를 입력할 수 있다. 실례로, 사용자는 사용자의 거주지 또는 근무지에 대한 위치 정보를 입력할 수 있다. 예컨대, 데이터는 장치(62)가 구매될 때 또는 이동 장치들에 대한 구글 클라이언트와 같은 클라이언트가 장치에 설치될 때 입력될 수 있다. 부가적으로, 사용자의 현재 위치, 장래 위치 또는 목적지를 반영하기 위해 사용자가 구역(44) 밖으로 여행할 때 사용자는 위치 정보를 업데이트 할 수 있다.
선택적으로, 위치 데이터는 사용자의 검색 요구들로부터 획득될 수 있다. 예컨대, 만약 사용자가 특정 주소로의 방향에 대한 요구를 보냈다면, 시스템(50)은 질의로부터 그 주소를 추출하고 그것을 사용하여 위치 데이터를 획득한다. 만약 사용자가 사업체로의 방향을 요구하였으나 주소 정보를 제공하지 않았다면, 시스템(50)은 업종별 전화번호 데이터베이스와 같은 소스를 사용하여 그 사업체에 대한 주소 정보를 획득할 수 있다. 다음에 주소 정보는 장치(62)에 있는 사전(23)을 증대시키는데 사용된 위치 데이터를 제공할 뿐만 아니라 그 사업체에 대한 방향을 계산하기 위해 사용될 수 있다. 선택적으로, 사용자는 우편번호와 같은 부분적인 주소 뿐만 아니라 사업체 이름을 입력할 수 있다. 우편번호는 위치 데이터를 얻기 위해 사용될 수 있다. 사업체 주소가 결정될 수 있으면, 위치 데이터는 거리 이름과 같은 보다 특정된 정보를 가지고 보충될 수 있다.
시스템(50)에 의해 수신된 위치 데이터는 사용자의 위치와 관련된 정보를 가지고 장치(62)에 있는 사전(23)을 업데이트 하는데 사용될 수 있다. 예컨대, 사용자가 장치(62)를 사용하여 호텔에 대한 검색 요구를 시작하고, 위치 데이터가 그 사람이 캘리포니아주, 팔로 알토에 있다는 것을 표시해주면, 시스템(50)은 그 지방의 홀리데이 인(Holiday Inn) 및 레디슨 호텔(Radisson)에 대한 검색 결과들을 리턴할 수 있다. 부가적으로, 장치(62)에 있는 사전(23)은 이러한 호텔들의 이름들로 업데이트될 수 있다. 사전(23)에 프리로드(preload)된 이러한 용어들을 가지고, 만약 그 지방의 홀리데이 인 및 레디슨 호텔에 대한 리뷰들을 읽어보는 것과 같은 부가적인 질의들을 수행하기 원한다면 사용자는 입력된 텍스트를 예측하는 알고리즘(predictive text entry)의 도움으로 용어들을 타이프하거나 풀다운 리스트로부터 그것들을 선택할 수 있다. 호텔들의 이름들은 메인 사전(21) 또는 보충 사전(32)에 디폴트로 되어있지 않을 수 있으며; 따라서 용어들을 프리로드 하지 않으 면, 사용자는 트리플 탭과 같이 느린 방법으로 용어들을 입력해야만 한다. 부가적으로, 만약에 구글 클라이언트가 설치되어 있다면, 그것은 사전(23) 대신에 또는 사전에 부가적으로 프리로드된 정보를 가지고 증대될 수 있다.
또 다른 실시예에 있어서, 시스템(50)은 또한 레드우드 시(Redwood City) 및아서톤(Atherton)과 같은 팔로 알토 주변의 도심들의 이름으로 사전(23)을 증대시킬 수 있다. 만약에 사용자가 폴로 알토에 있는 호텔들을 찾고자 한다면, 그 사람은 주변 도심에 있는 호텔들도 또한 찾고자 할 수 있다. 주변 도심들의 이름들 및 주변 도심들에 있는 호텔들의 이름들로 사전(23)을 프리로드함으로써, 사용자는 입력된 텍스트를 예측하는 알고리즘을 채용하여 보다 빠르게 용어들을 타이프할 수 있으며, 또는 용어들은 사용자에게 제시된 메뉴로부터 선택될 수 있다. 사전은 또한 지역들, 우편번호들, 주(states) 및 나라들과 같은 어느 주변 영역들로 프리로드될 수 있으며, 도시나 도심에 한정되지 않는다.
사전은 또한 위치 데이터와 관련된 공통 질의들로 프리로드 될 수 있다. 예컨대, 사용자가 팔로 알토에 있다면, 스탠포드(Standford) 또는 엘리자베스 에프. 갬블 가든(Elizabeth F. Gamble Gardens)과 같은 팔로 알토의 지리적 위치 근처에 위치한 장소들에 관한 공통 질의에 사용된 용어들이 사전(23)에 프리로드 될 수 있다. 또한, 팔로 알토에 위치한 다른 사용자들에 의해 생성된 공통 질의들에 사용된 용어들도 프리로드 될 수 있다. 실례로, 팔로 알토의 사용자들이 두 번째 저당 채권자에 대한 검색 요구들을 빈번하게 제출한 경우, 그러면 그러한 질의 및 그 결과들로부터의 용어들이 사전(23)에 프리로드될 수 있다. 위치 관련 용어들은 또한 사용자가 관심 있어 하는 위치에 대한 미리 제공된(pre-populate) 리스트로 사용될 수 있으며, 그 용어들은 사용자가 장치(62)에 데이터를 입력할 때 단어의 자동 완성을 위해 사용될 수 있다. 용어들은 또한 철자 체크를 수행하기 위해 텍스트 입력 프로그램에 의해 사용될 수 있다.
용어들은 또한 특정 도심과 같은 특정 위치 보다는 일반적인 위치에 기초하여 로드될 수 있다. 예컨대, 위치들은 "집" 또는 "여행중"과 같은 일반적일 수 있다. 사용자가 "집"에 있으면, 그들의 표준 사전이 사용된다. 사용자가 "여행중"이면 여행 관련 용어들이 로드 및/또는 상승될 수 있다. 그러한 용어들은 호텔 체인점들의 이름들 및 레스토랑 형태들을 포함할 수 있다. 그러한 일반적인 상황에 있어서, 만약 장치가 어떠한 자동 위치 감지 특성들을 가지고 있지 않다면 장치의 위치는 수동적으로 바뀌는 것이 가장 좋을 수 있다.
위치와 관련된, 프로로드 된 용어들은 사용자가 그 구역(44)에 있는 동안에는 입력된 텍스트를 예측하는 알고리즘들에 있어서 보다 높은 우선순위를 가질 수 있다. 사용자가 그 구역(44)을 떠나게 되면, 이전의 위치와 관련된 용어들은 보다 낮은 우선순위를 할당받을 수 있다. 용어들은 사용자가 구역(44)으로부터 얼마나 멀리 떨어져 있는지에 기초한 순위를 수신할 수 있다. 예컨대, 사용자가 팔로 알토로부터 레드우드 시로 이동하면, 팔로 알토와 관련된 용어들은 33 퍼센트까지 우선순위가 감소될 수 있으나, 만약 사용자가 레드우드 시 보다 팔로 알토로부터 먼 샌프란시스코로 여행한다면, 용어의 우선순위는 90 퍼센트까지 감소될 수 있다. 동시에, 사용자가 여행하려는 구역들과 관련된 용어들은 우선순위가 증가할 수 있다. 실례로, 사용자가 샌프란시스코를 향해 여행할 때, 그 도시와 관련된 용어들의 우선순위는 비록 팔로 알토 관련 용어들의 우선순위가 감소되더라도 증가할 수 있다.
관련된 용어들에 대한 사전(23)에 있는 공간을 줄이기 위해, 용어는 또한 일단 사용자가 그 구역(44)으로부터 어떤 거리 만큼 이동하면 삭제될 수 있다. 이것은 사용자가 그 구역(44)을 떠나자마자 위치 관련 용어들을 제거하는 것을 포함할 수 있다. 선택적으로, 우선순위가 그 용어가 제거되었음을 나타낼 수 있는 0에 도달할 때까지 그 구역(44)으로부터 이동된 거리에 비례하게 용어의 우선순위를 낮춤으로써 위치 관련 용어들은 제거될 수 있다. 다른 실시예들에 있어서, 용어의 우선순위는 드롭다운(drop-down) 리스트 상에서의 그것의 위치를 나타낼 수 있으며, 여기에서 높은 우선순위는 용어가 리스트의 최상위에 근접하게 놓이게 됨을 나타낸다. 낮은 우선순위를 갖는 용어는 리스트의 바닥에 근접하게 된다. 용어는 또한 최근최소사용(LRU:Least Recently Used) 알고리즘과 같이 그들의 사용 빈도를 고려하는 알고리즘에 의해 제거될 수 있다. 예컨대, LRU 알고리즘을 사용하여, 만약에 사용자가 레드우드 시에 관련된 것은 전혀 입력하지 않고 팔로 알토에 관련된 검색들을 자주 입력하였다면, 레드우드 시에 관련된 용어들은 비록 그것이 팔로 알토 부근에 위치한다 하더라도 사전(23)에서 제거될 수 있다. 이러한 알고리즘은 또한 비록 사용자가 이 위치로부터 멀리 이동한다 할지라도, 만약 그 사람이 팔로 알토와 관련된 용어들에 대한 검색을 계속한다면, 팔로 알토 관련 용어들을 계속 유지할 수 있다.
장치(62)는 또한 사전(23)을 업데이트 시키는데 어떤 위치 관련 정보가 사용되었는지를 결정할 수 있는 사용자의 환경설정들(preferences)을 저장할 수 있다. 환경설정들은 장치에 설치된 클라이언트 또는 다른 소프트웨어나 하드웨어 구성 요소들에 의해 저장될 수 있다. 환경설정들은 그 사람이 일본 음식은 좋아하나 태국 음식은 좋아하지 않는 것과 같이 사용자가 좋아하는 것과 싫어하는 것을 포함할 수 있다. 만약에 사용자가 팔로 알토에 위치하고 있고 레스토랑에 대한 검색을 입력하였다면, 장치(62)는 검색과 함께 환경설정 정보를 전송할 수 있다. 그러면 시스템(50)은 그 고장의 일본 레스토랑들의 이름들로 사전(23)을 보충할 수 있으나, 그 고장의 태국 레스토랑들의 이름들은 보충하지 않는다. 다른 실시예에 있어서, 만약에 사용자가 일본 레스토랑들에 대한 검색을 입력하면, 사전(23)은 베트남 및 중국 레스토랑과 같이 그 고장의 다른 아시아 레스토랑들의 이름들을 보충받을 수 있으나, 태국 레스토랑들은 제외된다.
사용자의 환경설정들은 어떤 위치 관련 용어들이 사전(23)에 부가되었는지를 결정하기 위해 사용되는 일반적인 프로파일을 포함할 수 있다. 그 프로파일은 전형적으로 특정 그룹의 맴버들과 관련된 환경설정들을 포함할 수 있다. 그 그룹은 직업, 수입정도, 및 나이를 포함하는 어떤 특징들을 갖는 사람들에 한정될 수 있다. 예컨대, 십대들에 대한 일반적인 프로파일은 그 사람이 피자를 좋아하지만 비싼 레스토랑은 좋아하지 않는다는 것을 나타낼 수 있다. 사용자가 레스토랑들에 대해 검색할 때, 시스템(50)은 그 지방의 레스토랑들을 비용별로 평가한 소스를 참고하기 위해 위치 정보 및 제출된 검색 정보를 사용할 수 있다. 사전(23)은 그 지방의 피자집들의 이름들을 보충받을 수 있으나, 비싼 집으로 평가된 피자집은 제외 된다. 일부 실시예들에 있어서, 일반적인 프로파일은 사용자의 환경설정들 또는 속성들을 보다 정확하게 반영하기 위해 보충되거나 수정될 수 있다.
게다가, 정보는 "감쇠율(decay rate)"에 따라 조정될 수 있다. 예컨대, 용어의 확률은 단어가 사용되지 않은 각 기간에 따라 줄어들 수 있다. 감쇠는 시간 또는 위치 즉, 단어가 사용된 각 시간 보다는 사용량에 기초할 수 있으며, 모든 다른 단어들의 확률들은 줄어든다. 그러면 단어들은 그들의 확률이 임계레벨 아래로 떨어질 때 제거될 것이다. 예컨대, 다른 단어들을 타이핑하는 일정 기간 이후에, 장치는 단어 "라벤더(lavender)"를 매우 많이 수신하지 않았으며, 그 단어는 사전으로부터 삭제될 것이라는 것이 명백하게 될 것이다.
사전(21) 및 보충 사전(23)은 어떤 특정한 형태를 취할 필요는 없다. 물론, 사전은 그 형태와 상관없이 데이터 입력을 완성하거나 보정하기 위한, 그리고 적절한 데이터를 선택하는 것을 도와줄 수 있는 능력을 제공하기 위한 데이터를 저장하는 어떠한 적절한 구조일 수 있다. 무엇보다도, 사전들은 결합되거나 또는 더욱 분리될 있으며, 다양한 데이터 형식들 및 형태들을 가질 수 있고, 단순한 단어들 보다는 오브젝트들을 나타낼 수 있다.
특히, 사전 데이터의 각 아이템은 많은 형태들을 취할 수 있다. 예컨대, 아이템은 단어 또는 구절 일 수 있다. 이것은 또한 어근일 수 있으며, 따라서 시스템은 보다 단순한 구성요소들로부터 단어를 만들 수 있다. 더욱이, 아이템은 숫자, 구둣점, 또는 다른 심벌일 수 있다. 아이템은 또한 이미지, 소리, 또는 다른 그러한 오브젝트일 수 있다. 더욱이, 아이템은 기 정의되고 특정한 코드와 관련된 또는 사용자에 의해 매크로(macro)로서 정의된 시스템에 의해 실행되어 질 기능을 나타낼 수 있다. 따라서, 위에서 용어들 "단어" 및 "용어"의 사용은 예시적인 것이며 어떠한 방법에 한정되는 것은 아니다.
구성적으로, 정보는 각 용어에 대한 "관련된" 용어들의 순서 리스트(ordered list)로서 컴퓨터에 저장될 수 있다. 예컨대, 서버는 동일한 문서에서 빈번하게 발생하는 단어들, 동일한 기간에 빈번하게 발생하는 단어들, 또는 다른 그룹들을 저장할 수 있다. 이러한 순서 리스트는 공동-동시발생의 확률(또는 공동-동시발생의 상대적 확률)에 따라 서버에 의해 장치에 리턴될 수 있다. 예컨대, 단어 "머스탱(mustang)"에 대해, "포드(Ford)"는 0.1의 확률을 가질 수 있으며 "말(horse)"은 0.15의 확률을 가질 수 있다.
도 3은 데이터 입력 사전에 대한 정보를 식별, 포맷, 및 배포하기 위한 시스템(50)의 개략도이다. 시스템(50)은 예컨대 인터넷 검색 제공자의 일반적인 시스템의 일부분으로서 실행될 수 있다. 시스템(50)은 일반적으로 다양한 소스들로부터의 용어들의 발생 및 동시발생에 관한 정보를 획득하기 위해, 그리고 그러한 소스들에서 사용되는 단어의 분석에 기초하여 사전 정보를 생성하기 위해 설치될 수 있다. 그러한 소스들은 예컨대 특정 조직에서의 정보에 대한 데이터 스토어, (보내진 아이템 박스에 저장된 아웃고잉 메시지들과 같은) 개인적인 데이터, 또는 인터넷 검색 서비스의 사용자들에 의해 최근에 입력된 검색 용어들에 관한 데이터를 포함한다.
시스템(50)은 다양한 방법으로 통신을 허용하기 위한 인터페이스(52)를 제공 한다. 예컨대, 시스템(50)은 LAN, WAN 또는 다른 적절한 통신 수단들을 통해 시스템(50)의 외부에 있는 데이터베이스(54)와 통신할 수 있다. 시스템(50)은 또한 시스템(50)에 의해 요구된 다양한 어플리케이션들에게 접속을 제공할 수 있는 서버(56)와 통신할 수 있다. 더욱이, 시스템(50)은 인터넷(58)과 같은 네트워크에 통신이 가능하도록 연결될 수 있으며, 그에 따라 서버팜(60), 무선 통신 장치(62) 및 개인용 컴퓨터(64)와 같은 다양한 장치들과 통신할 수 있다. 어느 장치에 대한 통신 플로우는 시스템(50)이 장치들로부터의 명령과 같은 정보를 수신하고 또한 그 장치들로 정보를 보낼 수 있도록 양방향성을 가질 수 있다.
장치로부터 수신된 명령들, 위치 데이터 및 요구들은 요구 프로세서(66)에 제공될 수 있으며, 그 요구 프로세서는 요구를 해석하고, 그것을 기 정의된 수용가능한 요구들과 결합하며 특정 행위를 수행하기 위해 그것을 시스템(50)의 다른 구성요소에게 명령하는 형태로 전달할 수 있다. 예컨대, 요구가 검색 요구를 포함하는 경우, 요구 프로세서(66)는 검색 엔진(70)이 검색 요구에 대응되는 검색 결과를 생성하도록 할 수 있다. 그러한 검색 엔진(70)은 구글 페이지랭크(Google PageRankTM) 시스템에서 사용되는 것과 유사한 데이터 검색 및 검색 기술들을 사용할 수 있다. 다음에 검색 엔진(70)에 의해 생성된 결과들은 그 결과들에 대해 필요한 포맷을 수행하는 응답 포맷터(68)를 사용하여 원래의 요구자에게 다시 되돌려져 제공될 수 있다.
부가적으로, 프로세서(66)에 의해 수신된 요구들은 검색 요구에 따라 로컬 검색 엔진(71)에 전달되는 위치 데이터를 포함할 수 있다. 로컬 검색 엔진은 사용자의 위치와 관련된 결과들을 사용자에게 리턴시키기 위해 검색 기술들을 사용할 수 있다. 선택적으로, 엔진(71)에 의해 생성된 결과들은 검색 결과들과 같이 원래의 요구자에게 다시 되돌려져 제공되지 않을 수 있다. 대신에, 사용자는 그 사람의 위치와 반드시 관련될 필요가 없는 검색 결과들을 수신할 수 있으나, 위치-관련 결과들은 요구 장치들에 있는 사전을 증대시키기 위해 사용될 수 있다. 게다가, 위치 데이터는 요구와는 별개로 프로세서(66)에 의해 수신될 수 있다. 위치 데이터는 그 위치에 관한 통상적인 요구들 및 주변 위치들의 이름들을 포함하는 결과들을 생성하기 위해 로컬 검색 엔진(71)에 의해 사용될 수 있다. 그러면 그러한 결과들은 사용자가 장치(62)에 입력하기 원하는 위치-관련 용어들로 사전(23)을 프리로드시키기 위해 사용될 수 있다.
로컬 검색 엔진(71)은 검색 엔진(70)과 협력하여 동작하거나 독립적으로 동작할 수 있다. 검색 엔진(70)은 로컬 검색 엔진(71)에 요구들을 전송할 수 있으며, 엔진(71)은 부가적인 처리를 위해 그 결과들을 엔진(70)에 리턴시킬 수 있다. 선택적으로, 로컬 검색 엔진(71)은 프로세서(66)로부터 직접적으로 요구들 및 위치 데이터를 수신하고 응답 포맷터(68)를 이용하여 그 결과들을 원래의 요구자에게 제공할 수 있다. 일부 실시예에 있어서, 로컬 검색 엔진(71)은 검색 엔진(70) 내부의 한 기능으로서 실행될 수 있다.
검색 엔진(70) 및 로컬 검색 엔진(71)은 그들의 적절한 동작을 위해 많은 수의 다른 구성요소들에 의존할 수 있다. 예컨대, 검색 엔진(70)은 보다 효율적으로 검색하기 위해 요구가 이루어질 때마다 웹사이트 자체를 검색하는 대신에 웹사이트의 인덱스(72)를 조회할 수 있다. 인덱스는 정보를 변화시키기 위해 잠재적인 정보 소스들을 연속적으로 스캔할 수 있는 웹 크롤러(crawler)(76)에 의해 수집되고 포맷된 정보를 사용하여 제공(populate)될 수 있다. 인덱스(72) 이외에, 로컬 검색 엔진(71)은 업종별 전화번호부 데이터베이스와 같은 주소 또는 위치 정보를 포함하는 데이터베이스에 의존할 수 있다. 데이터베이스는 저장 시스템(74), 데이터베이스(54), 서버팜(60) 또는 미도시된 다른 위치들에서 실행될 수 있다. 엔진(71)은 요구에 의해 생성된 가능한 결과들과 관련된 위치를 결정하기 위해 데이터베이스에 있는 주소 정보를 사용할 수 있다. 그러면 엔진(71)은 사용자와 근접한 위치와 관련된 결과들을 리턴한다.
검색 결과들 이외에, 시스템(50)은 사용자-특정 정보를 포함하는 업데이트 된 사전 정보를 사전 생성기(78)로 사용자들에게 제공할 수 있다. 사전 생성기(78)는 일반적으로 접속된 데이터 스토어들로부터 관련된 동시발생 데이터 또는 정보(임의의 용어들의 발생들, 다른 용어들과의 용어들의 동시발생, 및 공동-동시발생(n-gram) 데이터를 포함함)를 추출하고, 그 정보들에 대한 발생 파라메터들을 생성하고, 개인용 통신 장치의 사용자와 같은 원격의 사용자를 포함하는 사용자에 의해 나중에 실행되도록 전송되어지는 방법으로 정보를 구성함으로써 동작할 수 있다.
사전 생성기(78)가 동작하는 정보는 검색 엔진 상에서 최근에 입력된 모든 검색 용어들과 같이 일반적일 수 있으며, 또는 특정 그룹의 맴버들에 의해 입력된 검색 용어들과 같이 특정적일 수 있다. 시스템(50)은 사용자로부터 식별 정보를 수신할 수 있으며, 사용자에게 가장 밀접한 사전 정보를 제공하기 위해 사용자가 속해 있는 그룹을 결정하기 위해 그 정보를 사용할 수 있다. 예컨대, 엔지니어들, 의사들, 또는 대리인들은 그들의 특정 그룹들로 나뉘어짐으로써 그들 자신들을 자기-식별(self-identify) 할 수 있으며, 그러면 그 그룹과 관련된 데이터를 수신할 수 있다. 이러한 방법으로, 사전 데이터는 그 그룹의 맴버들과 특별히 관련될 수 있다. 시스템(50)은 또한 사용자로부터 위치 데이터를 수신할 수 있고, 사용자의 현재 위치와 가장 관련된 입력들을 갖는 사전을 제공하기 위해 그 정보를 사용할 수 있다.
사전 생성기(78)는 어느 적절한 구성요소들을 사용하여 실행될 수 있다. 도시된 바와 같이, 그것은 오브젝트 픽커(80), 또는 오브젝트 선택기, 동시발생 레이터(82), 및 패키저(84)를 포함한다. 오브젝트 픽커(80) 또는 오브젝트 선택기는 정보 스토어 내에서 데이터가 어떻게 사용되는지 또는 구성되는지를 결정하기 위해 정보 스토어를 파싱(parsing) 또는 그렇지 않으면 분석할 수 있는 능력을 가진 모듈이다. 예컨대, 오브젝트 픽커는 특정 문서 또는 문서들의 그룹에서 각각의 고유한 단어를 식별할 수 있다. 오브젝트 픽커는 문서들을 직접적으로 재검토할 수 있으며, 또는 웹 크롤러(76)에 의해 수집된 그리고 인덱스(72)에 저장된 데이터와 협력하여 또는 검색 엔진(70)이나 로컬 검색 엔진(71)에 의해 생성된 결과들과 협력하여 동작할 수 있다.
동시발생 레이터(82)는 문서에 있는 특정 용어들 또는 다른 오브젝트들이 출현 될 가능성에 대한 결정을 제공한다. 예컨대, 동시발생 레이터(82)는 다른 용어와 비교하여 어떤 용어의 사용량을 확정하는 정규화된 수(즉, 용어의 정규화된 발생)를 제공할 수 있다. 동시발생 레이터(82)는 또한 동시발생 및 공동-동시발생 정보에 대해 제공하기 위해 어떤 단어들이나 구절들 또는 단어들의 일부분들 사이와 같이 사용 정보를 설정할 수 있다.
패키저(84)는 쉽게 접근하여 사용할 수 있는 형태로 사전 정보를 배치할 수 있다. 예컨대, 패키저(84)는 정보를 압축 및 암호화할 수 있으며, 또한 개인용 통신 장치와 같은 장치에 의해 읽혀질 수 있는 형태로 그것을 부호화할 수 있다.
사전 생성기(78) 요소들은 또한 훨씬 큰 모듈방식을 제공하기 위해 "계층적" 구조(ISO/OSI 구조와 유사) 또는 오브젝트-기반 구조로 실행될 수 있다. 예컨대, 다수의 서로 다른 패키저들(84)은 다양한 타입의 장비들을 위한 전송 가능한 사전 데이터를 생성하기 위해 실행될 수 있으며, 통상적인 방법으로 동시발생 레이터(82)와 모든 통신을 할 수 있다. 또한, 예컨대 서로 다른 타입들 또는 레벨들의 동시발생 데이터를 제공하기 위해 다수의 동시발생 레이터들이 제공될 수 있다. 게다가, 예컨대, 텍스트 파일들, 사운드 파일들 또는 다른 매체들에 접근하기 위해 서로 다른 오브젝트 픽커들이 사용될 수 있다.
그러한 계층적 구조에 있어서, 각 구성요소들은 다음 구성요소의 내부 동작에 관해서는 관련될 필요없이, 단지 다음의 인접한 구성요소에 대해 그것의 인터페이스 또는 보다 멀리있는 계층들에 있는 구성요소들의 어느 동작과 관련되기만 하면 된다. 그러한 방법에 있어서, 아이템들은 시스템의 부호화 효율을 증가시키고 에러를 최소화하기 위해 보다 모듈화된 형태로 실행될 수 있다.
사전 생성기(78)는 또한 필요에 따라 시스템 스토리지(74)에 접속할 수 있다. 시스템 스토리지(74)는 어플리케이션들, 유지 루틴들, 관리 및 보고 소프트웨어 등과 같이 시스템을 동작시키기 위해 필요한 파일들을 위한 하나 이상의 저장 위치들일 수 있다.
한 응용예에 있어서, 시스템(50)은 특정 사용자 또는 사용자들과 관련된 정보를 포함하는 문서들에 접속하도록 프로그램될 수 있다. 인터넷 사이트의 페이지들 또는 어떤 조직 내에 유지되는 다양한 정보 스토어들과 같은 하나 이상의 정보 그룹들은 시스템(50)에 하나 이상의 URLs(uniform resource locators)을 제공함으로써 스캔될 수 있다. 시스템(50)은 어떤 용어에 대한 발생, 동시발생 및 공동-동시발생을 결정할 수 있으며, 그것들에 동시발생 파라메터들을 할당할 수 있다. 시스템(50)은 또한 그러한 용어들이 그 조직에 특별하다는 것을 나타내기 위해, 본래의 어법에 있어서 그들의 발생 비율들에 비해 높은 발생 비율들을 갖는 특정 용어들을 식별할 수 있다. 그러한 용어들은 예컨대, 조직 및 그것의 지부들의 이름을 포함할 수 있으며, 또한 그 조직에 의해 사용된 특정 두문자어들이 바람직할 수 있다. 예컨대, 조직은 "와이어(wires)"로서 이메일들에 대한 회사차원의 향수적 참조를 가질 수 있으며, 따라서 조직의 내부 통신은 용어 "와이어"를 통상의 어법에서 사용된 것보다 훨씬 많이 사용한다. 조직의 문서들(예컨대, 이메일들 또는 다른 문서들)에 대한 스캔은 이러한 특별한 사용을 증가시키고 용어 "와이어"에 높은 발생 비율을 부여한다.
이러한 특성은 회사들 또는 회사들의 일부 파트들과 같은 조직들이 회사의 고용자들에게 통신 장치들을 제공하기 위해 전화통신 제공자들과 같은 서비스 제공자와 계약을 맺을 수 있도록 하는 서비스가 가능하도록 해준다. 전화통신 제공자 또는 검색 회사와 같은 그것의 에이전트는 회사의 문서들을 스캔할 수 있으며, 그것에 의해 그 조직에 특정된 고객 사전을 생성할 수 있고, 그것은 계약하에서 배포된 각 통신 장치들로 로드된다. 장치는 또한 조직에 관련된 업데이트 된 사전 정보가 사용자의 장치로 전달될 수 있도록 조직의 멤버로서 사용자를 식별하는 중앙 시스템에 정보를 전달할 수 있다.
도 4는 사용자-특정 데이터 입력 사전을 수신 및 사용하기 위한 시스템(90)에 대한 개략도이다. 시스템(90)은 개인용 컴퓨터 예컨대 휴대폰과 같은 장치에서 실행될 수 있다. 시스템(90)은 수신된 신호들이 디지털 신호 처리기(DSP) 회로 등을 포함하는 시그널 프로세서(96)에 전달되도록 송신기(94)를 사용하여 무선으로 정보를 수신 및 송신한다. 통상의 음성 통신은 사용자 인터페이스(108)를 매개로 포함하는 스피커/마이크로폰(98)으로 통신할 수 있는 오디오 프로세서(92)에 또는 오디오 프로세서(92)로부터 라우트(route)된다.
사용자 인터페이스(108)는 음성, 영상 및 데이터 입력 통신을 포함한 시스템(90) 사용자와의 모든 통신을 조종한다. 정보의 시각적 표현은 디스플레이 스크린(100)을 통해 제공될 수 있다. 입력된 음성 데이터와는 달리 일반적인 데이터 입력은 표준 12키 전화기 키패드와 같이 배열될 수 있는 키패드(102)를 통해 일어날 수 있다. 장치는 또한 필요한 제어 기능들을 수행하기 위해 적절한 제어 키 들(104)이 제공될 수 있다. 키패드(102) 및 제어키들(104)은 접촉식 푸쉬 버튼들, 조이스틱들, 접촉-민감성 패널들의 일부분, 또는 다른 적절한 입력 장치들일 수 있다. 설명의 명확함을 위해 통신이 단일 사용자 인터페이스(108)를 통해 발생되는 것으로서 도시되었지만, 다수의 인터페이스들이 사용될 수 있으며, 필요에 따라서는 다른 구성요소들과 결합될 수 있다.
시스템(90)은 게임, 번호를 다이얼하는 것을 도와주기 위한 어플리케이션들, 및 웹 브라우징의 일부분으로서 데이터의 입력을 포함하는 웹 브라우징을 허용하기 위한 어플리케이션들과 같은 많은 수의 컴퓨터 어플리케이션들(114)이 설치될 수 있다. 어플리케이션들은 ROM, 플래시 메모리, RAM, MRAM, 또는 적절한 다른 것에 저장될 수 있으며, 필요에 따라 시스템(90)에 의해 접속될 수 있다. 다이얼링 모듈(112)은 입력된 다이얼링 숫자들 또는 음성 다이얼링 명령들을 인터페이스(108)를 통해 수신하고 통신 인터페이스(120)를 사용하여 송신기(94)를 통해 적절한 다이얼링 신호들을 제공하는, 시스템을 위한 표준 다이얼링 기능을 제공할 수 있다.
데이터 입력 모듈(110)은 시스템(90)에 입력된 검색 데이터와 같은 다이얼링 명령들과는 다른 데이터를 수신한다. 데이터 입력 모듈은 입력된 데이터를 직접적으로 어플리케이션에 제공할 수 있으며, 또는 입력된 데이터를 해석하는 것을 도와주기 위해 중의성 해소 엔진(116)을 채용할 수 있다. 중의성 해소 엔진(116)은 합리적으로 다수의 가능한 의미들을 갖는 것으로 해석될 수 있는 입력된 정보를 분석할 수 있으며, 사용자가 실제로 입력하고자 했던 것이 무엇인지를 결정하거나 결정하는 것을 도와주기 위해 정보에 규칙들을 적용할 수 있다.
입력될 것이 무엇인지를 결정함에 있어서, 중의성 해소 엔진(116)은 단어들 또는 데이터의 다른 형태들에 대한 개연성 있는 또는 통상적인 사용에 관한 정보를 생성할 수 있는 사전(118)에 의존할 수 있으며, 또는 송신기(94)를 통해 원격 사이트로부터 그러한 정보를 제공받을 수 있다.
개인용 통신기기에서의 실행으로 도시되었으나, 시스템(90)은 많은 다른 형태들을 취할 수 있다. 예컨대, 시스템(90)은 네트워크에 연결되었거나 그렇지 않았거나, 만약 네트워크에 연결되었다면 유선이든 무선이든, 개인용 컴퓨터의 일부분으로서 실행될 수 있다. 또한, 데이터 입력은 완성형 키보드, 제한된 키보드, 또는 음성 명령을 포함하는 서로 다른 방법들로 발생할 수 있다. 또한, 하나 이상의 구성요소들은 원격 서버에 있는 것과 같이 시스템(90)으로부터 원격에 위치할 수 있으며, 시스템(90)의 기능은 구성요소들을 조합하거나 도시된 것들 이외의 구성요소들을 사용함으로써 제공될 수 있다.
도 5는 데이터 입력 사전을 위한 정보를 준비하는 예시적인 단계들을 보여주는 플로우 차트이다. 일반적으로, 그 차트는 시스템이 사용자-특정된 예컨대 사용자에 관한, 그 사용자가 멤버인 그룹에 관한 정보를 포함하거나, 또는 그렇지 않으면 사용자에 의한 용어들의 사용 가능성을 반영한 사전 또는 보충 사전을 준비하는 실행을 보여준다. 단계 120에서, 저장소(repository) 리스트가 수신된다. 저장소 리스트는 분석될 정보를 포함하는 파일들 또는 위치들의 리스트를 포함할 수 있으며, 사용자의 이메일 계정으로의 또는 스캔될 문서들을 포함하는 특정 데이터 스토어들로의 방향들을 포함할 수 있다. 예컨대, 저장소 리스트는 사용자의 이메일 계 정 또는 아웃박스의 위치, 또는 조직을 위해 파일들이 저장되는 위치들을 포함할 수 있다. 단계 122에서, 정보를 위해 첫 번째 사이트가 스캔되고, 그 정보는 단계 124에서 파싱된다. 예컨대, 사이트에서 각 고유의 단어가 식별되고, 단어의 발생에 대한 절대적인 또는 상대적인 수가 또한 추적된다. 단계 126에서, 사이트에서 식별된 새로운 용어들이 사전에 부가된다.
단계 128에서, 모든 식별된 사이트들이 스캔되었는지 여부에 관한 결정이 이루어진다. 만약 그들이 스캔되지 않았다면, 스캔될 사이트들의 리스트를 추적하는 파라메터가 단계 130에서 증가되며, 그러면 다른 사이트가 단계 122에서 스캔된다. 만약 모든 사이트들이 스캔되면, 다양한 용어들에 대한 발생 또는 동시발생 스코어들 또는 파라메터들이 단계 132에서 발생될 수 있다.
상대적으로 단순한 실시예로서, 모든 스캔된 문서들에 있는 단어들의 전체 수가 계산되고, 각 단어에 대한 정규화된 발생 횟수를 생성하기 위해 각각의 식별된 고유한 단어가 출현한 시간들이 그 전체로 나뉘어질 수 있다. 공동-동시발생(n-gram) 스코어들은 또한 단어들 사이에서 발생될 수 있다. 어플리케이션-특정된 동시발생 데이터가 발생되도록 각 스캔된 문서의 타입이 또한 추적될 수 있다. 예컨대, 이메일 통신들에 대한 동시발생 데이터는 워드 프로세싱 문서들과 같은 보다 정형화된 문서들 또는 인스턴트 메시징과 같은 덜 정형화된 문서들에 대한 것과 다를 수 있다. 동시발생 데이터는 스캔된 어플리케이션에 따라 분할될 수 있으며, 그러면 관련된 데이터는 사용자가 대응되는 어플리케이션을 채용할 때 접속될 수 있다.
시스템은 단계 134에서 부가적인 데이터가 사전에 병합되도록 허용할 수 있다. 예컨대, 만약 사전이 큰 조직을 위해 설정되었다면, 그 조직은 어떤 용어들은 사전에 포함될 것이라고 규정할 수 있으며, 또한 문서 분석이 가리키는 것 보다 훨씬 높은 스코어들을 갖는 용어들을 규정할 수 있다. 시스템은 또한 만약 재검토를 원하다면 단계 138에서 사전을 배포하기 전에 재검토를 위해 사전을 제시할 수 있다(단계 136). 배포는 예컨대 특정 장치들의 중개에 따라 발생될 수 있으며, 또는 자동 또는 수동 다운로드가 가능한 사전 데이터를 만듦으로써 발생될 수 있다. 배포는 핸드셋이 만들어지는 시점, 판매 시점(그룹의 일부분으로서 사용자 자기 식별 이후) 또는 심지어는 훨씬 늦은 때에 발생할 수 있다. 사전 업데이트는 또한 어느 관련 시간에 발생할 수 있다.
일 실시에 있어서, 스캔 될 데이터 스토어는 사용자의 이메일 아웃 박스일 수 있다. 아웃 박스에 있는 문서들은 아마도 사용자가 채용하기 원하는 단어들 및 구절들을 제시하며, 따라서 아마도 사용자에 의한 이후의 데이터 입력을 위한 좋은 예상자(predictor)가 될 수 있다. 또한, 아웃박스는 통상적으로 통상적인 이름들, 및 사용자가 통상적으로 메시지들을 전송한 이메일 주소와 통상적으로 사용된 웹 사이트들과 같이, 사전에서는 전형적이지 않은 정보로 제공될 것이다.
도 6은 장치에 입력된 중의성 해소 정보에 대한 예시적 단계들을 나타내는 플로우 차트이다. 단계 150에서, 키스트로크 또는 다른 모호한 데이터 입력이 수신된다. 단계 152는 키스트로크가 데이터 키(152)를 나타내는지 여부를 결정한다. 만약 그것이 아니면, 그것은 수행되어야 할 일부 동작을 나타내며, 따라서 그 동작 이 식별되고(단계 154), 시스템은 그 동작을 수행한다(단계 156). 예컨대, 키스트로크는 입력된 데이터의 제출을 나타내거나 장치를 턴오프 하도록 요구하는 것을 나타낸다.
만약 키스트로크가 입력된 데이터를 나타낸다면, 그 키스트로크는 키스트로크들의 버퍼링된 시퀀스에 부가된다(단계 158). 다음에 시스템은 키스트로크들을 입력하는데 있어서 사용자의 의도를 결정하기 위해 키스트로크들의 시퀀스를 사용할 수 있다. 특히, 시스템은 아래에서 도 8에 관하여 보다 완전하게 설명되었듯이, 키스트로크에 대한 가능한 매치들의 리스트로서 디스플레이될 수 있는 솔루션 세트의 형태로 키스트로크에 대한 가능한 데이터 매치들을 획득할 수 있다(단계 160). 시스템은 또한 동시발생 데이터(예컨대, 발생 데이터, 동시발생 데이터, 또는 공동-동시발생 데이터)를 사용함으로써 매치들에 우선순위를 매길 수 있다(단계 162).
만약 시스템이 자동적으로 모호성을 해결하도록 설정되어 있다면(단계 164), 시스템은 자동적으로 선택하기 위해 충분한 데이터가 수신되었는지 여부를 결정할 수 있다. 예컨대, 만약 입력된 키스트로크들에 대해 단지 하나의 매치만이 사전에 존재한다면, 선택은 시스템에 의해 쉽게 이루어질 수 있다. 또한, 두 번째로 좋은 매치를 위한 점수가 어떤 값 보다 낮은 때 또는 최선과 차선 점수들 사이의 차이가 어떤 임계치를 초과할 때와 같이, 일부 모호함이 있는 경우라도 매치들을 만들기 위해 규칙들이 정해질 수 있다.
잘못된 선택들의 수에 대한 제어가 가능하도록 하기 위해(즉, "엄격하게" 동작을 규정함으로써), 사용자는 또한 자동적으로 매치들을 선택하기 전에 얼마나 "느슨하게" 또는 "엄격하게" 시스템이 재작동할 것인지를 규정하기 위한 옵션을 부여받을 수 있다. 만약 시스템이 선택을 만들기 위해 충분한 데이터를 가지고 있다면(166), 그것은 적절한 입력을 선택한다(단계 168). 만약 그렇지 않다면, 그것은 다음 키스트로크를 기다린다. 일 예시로서, 검색 어플리케이션에 있어서, 시스템은 "I'm Feeling Doubly Lucky" 모드에 대해 설정될 수 있다. 그러한 모드에 있어서, 시스템은 선택 규칙들이 그 선택이 정확하다는 적당하게 높은 확신을 나타낼 때 자동적으로 단어 또는 구절을 선택할 수 있으며, 그러면 검색 요구로서 그 단어와 구절을 자동적으로 제출하고 첫 번째 매칭 검색 결과에서 사용자가 그 정보를 향하도록 한다(전통적인 "I'm Feeling Lucky" 단계).
만약 시스템이 모호함을 자동적으로 해결하도록 설정되지 않았다면, 그것은 사용자가 원하는 매치를 선택(단계 172)할 수 있도록 사용자에게 가능한 매치들을 제시할 수 있다(단계 170). 매치들은 시스템 사전에 저장된 동시발생 정보에 따라 또는 다른 적절한 방법으로 분류될 수 있다. 만약 사용자가 선택을 하지 않으면, 시스템은 다른 키스트로크를 기다린다. 사용자는 또한 선택을 강제하기 위해, 전화기 키패드 상에서 "1"을 입력하는 것과 같이 제어키를 누름으로써, 또는 스페이스바로 설계된 키("#")를 누르거나 또는 다른 다양한 매카니즘들로 입력 종료 지시를 제공할 수 있다.
시스템은 또한 사용자가 정보를 입력중인 모드를 결정할 수 있다. 특히, 휴대폰 사용자가 키스트로크들을 입력할 때, 사용자는 중의성 해소를 요구하는 원 탭(one-tap) 데이터 입력을 사용하거나 다중탭(multiple-tap) 입력을 사용하여 숫자를 다이얼링할 수 있다(예컨대, 만약 사용자가 고유의 이름과 같은 용어를 입력중이라면, 그들은 그것이 그들의 사전에는 없다는 것을 알 것이다). 다음에 시스템은 동시에 각각의 이러한 가능성들에 대한 매치들을 식별하여 제시할 수 있다.
만약 키 눌림의 순서가 어느 기 정의된 용어와 매치되지 않으면(즉, 새로운 단어이면), 단어들은 "활동중인 것(on-the-fly)"에 부가될 수 있다. 이러한 상황에 있어서, 가능한 매치는 없으나, 단어가 입력되었다고 장치가 판단하면, 장치는 스크린을 번쩍이거나 또는 특정 톤을 울리거나 또는 단어나 구절을 말하는 것과 같은 신호를 제공한다. 그러면 사용자는 표준적이고 느린 타이핑 메카니즘(예컨대, 트리플 탭)을 사용하여 단어를 완성할 기회를 가질 수 있다. 선택적인 입력 방법에 의해 단어가 완성되면, 그것은 자동적으로 사전에 부가된다. 그때, 그것에는 어떤 확률이 할당될 수 있으며, 그 확률은 만약 그 단어가 방금 사용되었다면 그것은 아마도 다시 사용될 수 있기 때문에 일반적으로 높은 확률일 수 있다.
또한, 사용자는 중의성 해소 시스템을 사용하여 그것을 입력하고자 시도하기 전에 그러한 방법으로 용어를 부가하기 위해 기설정된 키 시퀀스를 입력하도록 허용될 수 있다. 예컨대, 만약 사용자가 다른 사람의 복잡하고 일반적이지 않은 이름을 입력하고자 한다면, 즉시 트리플 탭 입력을 시작하기 위해 그들은 적절한 지시를 제공한다. 사용자는 또한 보다 원시적인 방법에 의해 정보를 입력하기 위한 의도를 나타내는 다른 방법들을 제공받을 수 있다.
또한, 매치들이 존재하지 않거나 동시발생 데이터가 용어들이 매치되는데 충 분히 좋지 않은 경우, 시스템은 부가적인 정보를 얻으려 할 것이다. 특히, 장치는 원격 서버에게 요구하여 그들의 적절한 동시발생 데이터를 가지고 가능한 매치들을 얻을 것이다. 수신된 정보는 또한 장치의 사전을 업데이트 하는데 사용될 수 있다. 원격 장치와 메인 시스템 사이의 연결은 충분한 속도를 가지며, 원격적으로 저장된 사전 정보는 각 키스트로크에 대한 것을 포함하여 보다 자주 전송될 수 있다.
도 7은 원격 장치로부터의 요구에 대응하여 데이터 입력 사전 정보를 제공하는 예시적인 단계들에 대한 플로우 차트이다. 플로우 차트는 서버에 의해 실행되는 단계들과 클라이언트에 의해 실행되는 단계들을 나타내기 위해 분리되어 있다. 도시된 바와 같이, 서버는 사용자로부터의 요구들을 수신하고 응답들을 제공하기 위해 설치되는 어느 장치 또는 시스템일 수 있으며, 반면에 클라이언트는 사용자에 의해 동작되는 어느 적절한 장치 또는 요소들의 수집일 수 있다. 다시 말하면, 그러한 관계는 형식적인 클라이언트-서버 관계에 한정되지 않는다.
단계 180에서, 클라이언트는 검색 엔진을 가지고 검색하기 위한 용어들과 같은 검색 입력을 사용자로부터 수신한다. 그러면 클라이언트는 검색 요구로서 입력을 송신하며(단계 182), 서버는 그 요구를 수신한다(단계 184). 서버는 많이 잘 알려진 검색 기술들을 포함한 어느 적절한 수단으로 검색 결과 또는 결과들을 생성한다(단계 186).
서버는 검색 요구 및 결과들에 대응되는 데이터를 포함하는 동시발생 데이터(188)를 생성할 수 있다. 동시발생 데이터는 과거에 또는 최근에 특정 검색어를 사용한 다른 검색자들에 의해 입력된 다른 용어들을 포함할 수 있다. 예컨대, 검색어가 "코믹(comics)"인 경우, 동시발생 데이터는 "딜버트(Dilbert)", "블론디(Blondie)", "비비스(Beavis)", "바트(Bart)", "카툰(cartoons)" 및 "애니메이션(animation)"과 같은 용어들을 포함할 수 있다. 동시발생 데이터는 또한 검색 결과들에서 식별된 위치들에서의 데이터와 관련될 수 있다. 예컨대, 만약 검색어가 "아브라함 링컨(Abraham Lincoln)"이고 검색 결과들 중 하나가 제티스버그 주소(Gettysburg Address)이면, 동시발생 정보는 그 문서로부터 구절 "four score"를 포함할 수 있다. 이러한 방법에 있어서, 시스템은 사용자가 검색 결과를 열어보고 "four score"가 무슨 의미인지 궁금해 할 때를 대비할 수 있으며, 그러면 사용자는 하부 검색어로서 그 구절을 입력하기 시작한다. 그러면 시스템은 그러한 사용자-특정 정보가 없는 것 보다 훨씬 쉽게 사용자의 텍스트 입력을 완성할 수 있다.
검색 결과 및 동시발생 데이터가 모아지면, 서버는 그것들을 클라이언트에게 전송한다(단계 190, 192). 다음에 클라이언트는 차후의 키스트로크들을 수신할 때 사용하게 될 그것의 현존하는 사전에 동시발생 데이터를 통합할 수 있다(단계 194). 부가적인 정보를 가지고, 사용자의 입력된 키스트로크에 대한 매치들은 보충적인 솔루션 세트에 의해 표현될 수 있다(단계 196). 보충적 솔루션 세트는 서버로부터의 데이터에 의해 보충됨으로써 눌려진 키스트로크들에 대한 가능한 매치들을 나타내며, 또한 서버로부터의 업데이트 된 동시발생 데이터를 포함할 수 있다.
사전이 과도하게 커지는 것을 방지하기 위해, 그리고 사용자가 새로운 검색 토픽으로 옮겨가자 마자 요구되었던 검색에 관한 정보는 구식이 되기 때문에, 시스템은 일정 시간 간격으로 구동하거나 장치를 재설정하는 것과 같은 이벤트의 발생에 따라 사전을 리셋할 수 있다(단계 198). 또한, 만약 사전이 수용능력에 도달하거나 근접하게 되면, 현재 가장 낮은 확률의 용어들과 같은 용어들이 하나씩 또는 그룹으로 제거될 수 있다.
다른 실시예에 있어서, 원격 장치는 사용자가 키스트로크들을 입력할 때 즉, 클라이언트 장치와 서버 사이의 빠른 연결이 있을 때 입력된 키스트로크들에 관한 데이터를 일정하게 전송할 수 있다. 사용자가 타이프함으로써, 서버는 관련된 단어들을 찾아 서버측에 있는 사전을 포함하는 사전에 일정한 업데이트를 제공할 수 있다. 사용자에 의한 검색들의 입력과 별개로, 업데이트 된 정보에 대해 서버에 핑(ping)을 함으로써 정보가 빈번하게 요구될 수 있다. 이러한 방법에 있어서, 장치는 주기적으로 업데이트된 사전 정보를 다운로드할 수 있다.
도 8은 데이터 입력 사전에 대한 논리적 트리-기반 구조를 보여주는 개략도이다. 트리의 각 노드는 원으로 표현되었으며, 전통적으로 인쇄된 전화기 키패드 상에서 숫자 키스트로크의 입력에 따라 발생하는 상태를 나타낸다. "1"은 그 위에 문자가 없으며, 구두점 입력 또는 (스페이스바 또는 "enter"키와 같이) 특정 데이터 입력의 종료를 구분하기 위한 것과 같은 목적으로 사용될 수 있다. 각 단일 키스트로크는 사용자에 대해서는 단일 문자의 입력을 나타내지만, 시스템에 대해서는 3개의 가능한 문자들("7"과 "9" 키들에 대해서는 4개의 가능한 문자들)을 나타낸다.
예컨대, 키스트로크 225는 시스템에게 다음과 같이 즉 [A 또는 B 또는 C] 및 [A 또는 B 또는 C] 및 [J 또는 K 또는 L]로 표현된다. 이러한 순서는 빌더켓(Bill the Cat)에 의해 언급된 단어 "ACK"를 나타내거나, BALL, CALL, ABJECT, 또는 ACKNOWLEDGE와 같은 다른 많은 것들 중에서 다른 용어의 시작을 나타낼 수 있다. 만약, 다음에 사용자가 "3" 키를 입력하면, 그들의 단지 네 번째 문자로서 D, E 또는 F를 갖는 단어가 적합한 해결책이 되도록(본 예에서는 ABJECT만 해당됨) 솔루션 세트의 크기는 엄청나게 줄어든다. 이러한 방법에 있어서, 각 부가적인 문자의 입력은 트리를 "가지치기"하며 정확하게 될 수 있다는 타당한 기대를 가지고 선택이 이루어질 수 있을 만큼 충분히 작은 솔루션 세트에 시스템이 보다 근접하도록 해준다.
키스트로크들은 또한 페어 와이즈(pair wise) 방법으로 또는 다른 적절한 방법으로 해석될 수 있다. 특히, 특정 글자 또는 문자는 전통적인 다중키 입력 기술들을 사용하여 어떤 데이터를 입력하는 것을 허용하기 위해 각각의 키스트로크들의 쌍에 대해 식별될 수 있다. 이러한 방법으로 식별된 문자들은 또한 시스템에 대한 표시를 위한 모호한 조합들을 생성하기 위해 조합될 수 있다. 예컨대, 만약 전화기 사용자가 226393을 누르면, 사용자는 다중키 입력 기술을 사용하여 'BOY'를 입력하려 한 것이다. 사람은 또한 다음과 같이 입력하기 위해 단일키 기술을 사용할 수 있다: [A 또는 B 또는 C] 및 [A 또는 B 또는 C] 및 [M 또는 N 또는 O] 및 [D 또는 E 또는 F] 및 [W 또는 X 또는 Y 또는 Z] 및 [D 또는 E 또는 F]. 시스템은 양쪽의 모호함들을 해결하고, 더 나은 해결책 또는 완성을 위해 결과들을 함께 제시한다.
텍스트 입력을 위해 방금 설명된 특성들은 또한 음성 인식 또는 영상 인식과 같은 다른 수단을 사용하여 데이터를 획득하는 시스템에 적용될 수 있다. 음성과 같은 포맷으로 입력된 것을 번역하는 것은 음성 인식을 다른 데이터 입력 기술들에 병합하기 위해 사용된 어느 많은 수의 잘 알려진 수단에 의해 이루어질 수 있다. 예컨대, 전송된 음성 명령들은 VoiceXML 또는 다른 유용한 포맷과 같은 포맷으로 번역될 수 있다. 또한, 시스템은 다양한 서로 다른 언어들로 입력된 데이터에 대해 동작할 수 있다.
입력을 제공하기 위한 다른 방법도 적절하게 사용될 수 있다. 예컨대, 장치는 입력을 제공할 수 있는 가속도계가 설치될 수 있다. 예컨대, 사용자는 용어가 입력되었다는 것을 나타내기 위해 장치를 갑자기 움직일 수 있다. 또한, 사용자는 장치를 앞으로 또는 뒤로 기울임으로써 리스트에서 아이템을 선택할 수 있다. 여기에서 사용된 것과 같이, 용어들 "전자적 문서" 및 "문서"는 파일에 저장되어 있는 전자적 데이터 및 네트워크를 거쳐 수신된 전자적 데이터를 포함하는 일련의 전자적 데이터를 의미한다. 전자적 문서는 파일에 대응될 필요는 없다. 문서는 다른 문서들을 가지고 있는 파일의 일부분으로, 문제가 있는 문서에 전용된 단일 파일로, 또는 일련의 통합된 파일들로 저장될 수 있다.
여기에서 설명된 시스템 및 기술들에 대한 다양한 실시예들은 디지털 전자 회로, 집적회로, 특히 설계된 ASICs(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 그것들의 조합 형태로 구현될 수 있다. 이러한 다양한 실시들은 스토리지 시스템, 적어도 하나의 입력 장치 및 적어 도 하나의 출력장치와 데이터 및 명령들을 송수신하도록 연결되어 있으며 특정한 또는 일반적인 목적을 가지는 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행 및/또는 번역하는 하나 이상의 컴퓨터 프로그램들 형태로 실시되는 것을 포함할 수 있다.
이러한 컴퓨터 프로그램들(또한 프로그램, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로 알려진)은 프로그래머블 프로세서를 위한 기계 명령어들을 포함하며, 고차원의 절차적 및/또는 오브젝트-기반 프로그래밍 언어로, 및/또는 어셈블리/기계어로 실시될 수 있다. 여기에서 사용된 것과 같이, 용어 "기계로 판독가능한 매체"는 기계적으로 판독가능한 신호로서 기계 명령어들을 수신하는 기계적으로 판독가능한 매체를 포함하는 프로그래머블 프로세서에게 기계 명령어 및/또는 데이터를 제공하는데 사용되는 어떠한 컴퓨터 프로그램 제품, 장치 및/또는 소자(예컨대, 마그네틱 디스크, 광디스크, 메모리, 프로그래머블 논리 소자(PLDs))를 언급한다. 용어 "기계적으로 판독가능한 신호"는 프로그래머블 프로세서에 기계 명령어들 및/또는 데이터를 제공하기 위해 사용되는 어떠한 신호를 언급한다.
사용자와의 상호작용을 제공하기 위해, 여기에 개시된 시스템 및 기술들은 사용자에게 정보를 디스플레이해주기 위한 디스플레이 소자(예컨대, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드와 포인팅 소자(예컨대, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에서 실행될 수 있다. 또한 사용자와의 상호작용을 위한 제공을 위해 다른 종류의 장치들이 사용될 수 있다; 예컨대, 사용자에게 제공된 피드백은 어떤 지각 적(sensory) 피드백의 형태(예컨대, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있으며; 사용자로부터의 입력은 청각적, 언어적, 또는 촉각적 입력을 포함하는 어떠한 형태로 수신될 수 있다.
여기에 개시된 시스템 및 기술들은 백-엔드(back-end) 요소(예컨대, 데이터 서버)를 포함하는, 또는 미들웨어 요소(예컨대, 어플리케이션 서버)를 포함하는, 또는 프론트-엔드(front-end) 요소(예컨대, 사용자가 여기에 개시된 시스템들 및 기술들의 실행과 상호작용할 수 있는 그래픽적인 사용자 인터페이스 또는 웹 브라우져를 갖는 클라이언트 컴퓨터)를 포함하는, 또는 그러한 백-엔드, 미들웨어, 또는 프론트-엔드 요소들의 어떠한 조합을 포함하는 컴퓨팅 시스템에서 실행될 수 있다. 시스템의 요소들은 어떠한 형태 또는 디지털 데이터 통신 매체(예컨대, 통신망)로 상호 연결될 수 있다. 통신망의 예들은 LAN(local area network), WAN(wide area network) 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함한다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신망을 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 구동되고 서로에게 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
위에서는 비록 일부의 실시예들이 개시되어 있으나, 다른 변경이 가능하다. 이러한 공개된 부분들은 제한된 키보드들을 갖는 휴대용 장치들을 통한 동작에 관해 논의되었으나, 어느 많은 수의 장치들은 완전한 키보드들을 갖는 완전한 기능의 컴퓨터들을 포함하는 컴퓨터의 도움을 받을 수 있다. 또한, 도면들에 묘사된 논리 적 흐름들은 원하는 결과들을 얻기 위한 도시된 특정 명령 또는 순서적 명령을 요구하지 않는다. 또한, 개시된 플로우에 다른 단계들이 제공되거나 또는 단계들이 삭제될 수 있으며, 개시된 시스템에 다른 요소들이 부가되거나 삭제될 수 있다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다.

Claims (45)

  1. 텍스트 입력 원조 데이터를 제공하기 위한 컴퓨터로 구현되는 방법에 있어서,
    원격 무선 통신 장치로부터, 상기 원격 무선 통신 장치와 관련된 위치 정보를, 컴퓨터 시스템에서 수신하는 단계;
    예측되는 본문의 결과(textual outcomes)들을 나타내고 복수의 사용자들에 의해 생성된 검색 요구들(search requests)과 관련되는 정보를, 상기 컴퓨터 시스템에서 수신하는 단계;
    상기 위치 정보에 대응하는 검색 요구들과 관련되는 상기 예측되는 본문의 결과들을 나타내는 정보의 적어도 일부를 사용하여 위치-관련 사전 데이터를, 상기 컴퓨터 시스템에서 생성하는 단계; 및
    상기 컴퓨터 시스템에 의해, 상기 원격 무선 통신 장치로, 상기 위치-관련 사전 데이터를 제공하는 단계를 포함하고,
    상기 제공된 위치-관련 사전 데이터는 상기 원격 무선 통신 장치가 상기 원격 무선 통신 장치 상에서 작성된 부분적인 본문의 입력(textual inputs)을 이어서 완성하고 상기 부분적인 본문의 입력에는 포함되지 않은 내용(content)을 포함하는 제안을 제공하도록 하는 것을 특징으로 하는 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 사전 데이터는 대응되는 복수의 예측 가중치들을 갖는 복수의 용어들을 포함하는 방법.
  4. 삭제
  5. 제 1항에 있어서,
    상기 원격 장치로 상기 사전 데이터를 제공하는 단계는 휴대폰에 상기 사전 데이터를 전송하는 단계를 포함하는 방법.
  6. 제 1항에 있어서,
    상기 검색 요구들에 기초하여 검색시에 사용되는 사용자 환경설정들(user preferences)을 수신하는 단계를 더 포함하는 방법.
  7. 제 1항에 있어서,
    상기 사전 데이터를 생성하는 단계는 상기 원격 장치의 위치를 나타내는 정보와 관련된 데이터를 생성하는 단계를 포함하는 방법.
  8. 제 7항에 있어서,
    상기 생성된 사전 데이터는 상기 원격 장치의 위치와 근접한 장소들과 관련되는 방법.
  9. 제 7항에 있어서,
    상기 생성된 사전 데이터는 상기 원격 장치의 위치와 근접한 사용자들로부터의 공통 질의 데이터(common query data)와 관련되는 방법.
  10. 제 1항에 있어서,
    상기 사전 데이터는 상기 원격 장치로부터의 요구에 응답하여 상기 원격 장치에 제공되는 방법.
  11. 제 10항에 있어서,
    상기 요구는 검색 요구를 포함하며, 상기 사전 데이터는 상기 검색 요구에 대한 결과와 함께 제공되는 방법.
  12. 제 1항에 있어서,
    상기 원격 장치에 상기 사전 데이터를 제공하기 전에 상기 사전 데이터를 압축하는 단계를 더 포함하는 방법.
  13. 제 1항에 있어서,
    상기 사전 데이터는 이미 존재하는 사전에 부가하기 위한 보충 데이터를 포함하는 방법.
  14. 제 1항에 있어서,
    검색 요구를 수신하는 단계,
    검색 결과를 생성하는 단계 및
    상기 사전 데이터와 상기 검색 결과를 함께 제공하는 단계를 더 포함하는 방법.
  15. 제 14항에 있어서,
    상기 사전 데이터는 상기 검색 결과와 관련된 문서들로부터의 데이터를 포함하는 방법.
  16. 제 1항에 있어서,
    상기 사전 데이터는 상기 원격 장치의 위치 부근에 있는 하나 이상의 영역들에 대응되는 데이터를 포함하는 방법.
  17. 제 16항에 있어서,
    상기 원격 장치의 위치 부근에 있는 하나 이상의 영역들에 대응되는 상기 데이터는 위치 이름들을 포함하는 방법.
  18. 데이터 수집 및 배포 시스템으로서,
    원격 클라이언트로부터 데이터 요구들(data requests) 및 위치를 나타내는 정보를 수신하는 요구 프로세서;
    상기 데이터 요구들 및 상기 위치를 나타내는 상기 정보에 응답하여 검색하고, 상기 위치와 연관된 검색 결과를 반환하는 로컬 검색 엔진;
    복수의 원격 클라이언트들에 의해 보내지고 상기 위치와 관련되는 검색 요구들(search requests)을 이용하여, 상기 원격 클라이언트에 의한 사용을 위한 정보를 생산하는 사전 생성기 (-상기 정보는 상기 원격 클라이언트를 위한 위치-관련 예측 데이터 입력 정보를 포함함); 및
    상기 데이터 요구들 및 상기 위치-관련 예측 데이터 입력 정보에 대응하는 상기 검색 결과를 수신하고, 상기 데이터 요구들 및 상기 위치-관련 예측 데이터 입력 정보에 대응하는 상기 검색 결과를 포함하는 응답을 제공하고, 상기 원격 클라이언트에 의한 사용을 위한 상기 데이터 요구들에 대응하는 상기 검색 결과를 제공하는 응답 포맷터를 포함하고,
    상기 제공된 위치-관련 사전 정보는 상기 원격 클라이언트가 상기 원격 클라이언트 상에서 작성된 부분적인 본문의 입력(textual inputs)을 완성하고 상기 부분적인 본문의 입력에는 포함되지 않은 내용(content)을 포함하는 제안을 제공하도록 하는 시스템.
  19. 삭제
  20. 제 18항에 있어서,
    상기 로컬 검색 엔진은 상기 데이터 요구들로부터 상기 위치를 나타내는 정보를 추출하도록 동작하는 시스템.
  21. 제 18항에 있어서,
    상기 사전 생성기는 복수의 오브젝트들에 대한 예측된 동시발생 스코어들(concurrence scores)을 계산하는 동시발생 레이터(rater)를 포함하는 시스템.
  22. 제 21항에 있어서,
    상기 복수의 오브젝트들은 데이터 요구를 생성하는 동안에 사용자에 의해 입력될 수 있는 복수의 용어들을 포함하는 시스템.
  23. 제 21항에 있어서,
    상기 동시발생 레이터에 제출하기 위한 문서에 있는 오브젝트들을 식별하는 오브젝트 선택기를 더 포함하는 시스템.
  24. 제 18항에 있어서,
    상기 로컬 검색 엔진은 복수의 요구들 및 사용자 위치를 나타내는 정보를 수신하고, 예측되는 데이터 입력 정보와 함께 상기 응답 포맷터에 의한 전송을 위한 상기 요구들을 제공하도록 동작하는 시스템.
  25. 제 18항에 있어서,
    상기 원격 클라이언트에 의한 사용을 위한 상기 정보는 상기 위치 부근에 있는 하나 이상의 영역들에 대응되는 데이터를 포함하는 시스템.
  26. 제 25항에 있어서,
    상기 위치 부근에 있는 하나 이상의 영역들에 대응되는 상기 데이터는 위치 이름들을 포함하는 시스템.
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 제 18항에 있어서,
    상기 사전 생성기는, 하나 이상의 데이터 스토어들로부터 관련 동시발생 데이터를 추출하고, 상기 정보에 대한 발생 파라미터들을 생성하고, 이후에 개인 통신 장치에 의해 구현되도록 전송될 수 있는 방식으로 상기 정보를 조직하여, 상기 정보를 생산하도록 동작하는 시스템.
  38. 제 18항에 있어서,
    상기 사전 생성기가 상기 정보를 생산하기 위해 검색 엔진에 최근 입력된 검색 용어들에 대해 동작하는 시스템.
  39. 제 18항에 있어서,
    상기 사전 생성기가 상기 정보를 생산하기 위해 특정 그룹의 멤버들에 의해 입력된 검색 용어들에 대해 동작하는 시스템.
  40. 제 18항에 있어서,
    사용자 위치를 나타내는 정보는 상기 사용자의 거주지에 관한 정보를 포함하는 시스템.
  41. 제 18항에 있어서,
    사용자 위치를 나타내는 정보는 상기 사용자의 직장에 관한 정보를 포함하는 시스템.
  42. 제 18항에 있어서,
    사용자 정보를 나타내는 정보는 상기 사용자의 장래 위치에 관한 정보를 포함하는 시스템.
  43. 제 1항에 있어서,
    상기 원격 장치의 사용자와 관련된 위치 정보는 상기 사용자의 거주지에 관한 정보를 포함하는 방법.
  44. 제 1항에 있어서,
    상기 원격 장치의 사용자와 관련된 상기 위치 정보는 상기 사용자의 직장에 관한 정보를 포함하는 방법.
  45. 제 1항에 있어서,
    상기 원격 장치의 사용자와 관련된 위치 정보는 상기 사용자의 장래 위치에 관한 정보를 포함하는 방법.
KR1020087002520A 2005-06-30 2006-06-30 비표준화된 위치기반의 텍스트 입력 KR101351992B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/173,702 US8972444B2 (en) 2004-06-25 2005-06-30 Nonstandard locality-based text entry
US11/173,702 2005-06-30
PCT/US2006/026152 WO2007005945A2 (en) 2005-06-30 2006-06-30 Nonstandard locality-based text entry

Publications (2)

Publication Number Publication Date
KR20080031354A KR20080031354A (ko) 2008-04-08
KR101351992B1 true KR101351992B1 (ko) 2014-01-16

Family

ID=37605189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087002520A KR101351992B1 (ko) 2005-06-30 2006-06-30 비표준화된 위치기반의 텍스트 입력

Country Status (6)

Country Link
US (3) US8972444B2 (ko)
EP (2) EP3489798A1 (ko)
JP (3) JP2009500954A (ko)
KR (1) KR101351992B1 (ko)
CN (1) CN101501610A (ko)
WO (1) WO2007005945A2 (ko)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7136854B2 (en) * 2000-07-06 2006-11-14 Google, Inc. Methods and apparatus for providing search results in response to an ambiguous search query
US8706747B2 (en) 2000-07-06 2014-04-22 Google Inc. Systems and methods for searching using queries written in a different character-set and/or language from the target pages
US8392453B2 (en) * 2004-06-25 2013-03-05 Google Inc. Nonstandard text entry
US8972444B2 (en) 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US7487499B2 (en) * 2004-10-29 2009-02-03 Caterpillar Inc. Location based software flashing system
US7779011B2 (en) * 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7565157B1 (en) * 2005-11-18 2009-07-21 A9.Com, Inc. System and method for providing search results based on location
CN101313598A (zh) * 2005-11-21 2008-11-26 字源加拿大公司 用于移动设备的信息传递系统和方法
US7836406B1 (en) * 2005-12-19 2010-11-16 Intuit Inc. Method and apparatus for displaying a user interface enabling selection and instant display and access of pages
US8023932B2 (en) * 2006-02-10 2011-09-20 Microsoft Corporation Managing subscribers on a cellular network
EP4209927A1 (en) 2006-04-20 2023-07-12 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2008050225A2 (en) * 2006-10-24 2008-05-02 Edgetech America, Inc. Method for spell-checking location-bound words within a document
US7979425B2 (en) * 2006-10-25 2011-07-12 Google Inc. Server-side match
US20080154612A1 (en) * 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Local storage and use of search results for voice-enabled mobile communications devices
US20080154608A1 (en) * 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. On a mobile device tracking use of search results delivered to the mobile device
US20080154870A1 (en) * 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Collection and use of side information in voice-mediated mobile search
US20080153465A1 (en) * 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Voice search-enabled mobile device
US7966309B2 (en) 2007-01-17 2011-06-21 Google Inc. Providing relevance-ordered categories of information
US8005822B2 (en) 2007-01-17 2011-08-23 Google Inc. Location in search queries
US20080221866A1 (en) * 2007-03-06 2008-09-11 Lalitesh Katragadda Machine Learning For Transliteration
WO2008120042A1 (en) * 2007-03-29 2008-10-09 Nokia Corporation Personalized dictionary management
WO2008120034A2 (en) * 2007-03-29 2008-10-09 Nokia Corporation Facilitating text communication
TWI502380B (zh) 2007-03-29 2015-10-01 Nokia Corp 配合預測式本文輸入使用之方法、裝置、伺服器、系統及電腦程式產品
WO2008120036A1 (en) * 2007-03-29 2008-10-09 Nokia Corporation Method at a central server for managing a translation dictionary and a translation server system
US9760891B2 (en) * 2007-04-02 2017-09-12 Nokia Technologies Oy Providing targeted advertising content to users of computing devices
US20080304487A1 (en) * 2007-06-06 2008-12-11 Cello Partnership Enhancing subscriber location tracking mechanism for voice over internet protocol services
EP2003536A1 (en) * 2007-06-14 2008-12-17 NTT DoCoMo, Inc. Character input assist method, character input assist system, character input assist program, user terminal, character conversion method and character conversion program
US20090058688A1 (en) * 2007-08-27 2009-03-05 Karl Ola Thorn Disambiguation of keypad text entry
US20100222080A1 (en) * 2007-10-05 2010-09-02 Iacopo Carreras Context aware wireless information system and method
US7974979B2 (en) 2007-10-05 2011-07-05 Zi Corporation Of Canada, Inc. Inquiry-oriented user input apparatus and method
EP2058726A1 (en) 2007-11-02 2009-05-13 Research In Motion Limited Method of providing a number of search results for a handheld electronic device, and system and handheld electronic device employing the same
US8504566B2 (en) 2007-11-02 2013-08-06 Research In Motion Limited Method of providing a number of search results for a handheld electronic device, and system and handheld electronic device employing the same
US20090119581A1 (en) * 2007-11-05 2009-05-07 Verizon Data Services Inc. Method and apparatus for providing auto-completion of information using strings
US8943539B2 (en) 2007-11-21 2015-01-27 Rovi Guides, Inc. Enabling a friend to remotely modify user data
JP5340584B2 (ja) 2007-11-28 2013-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 電子メッセージの読解を支援する装置及び方法
US7966304B2 (en) * 2007-11-30 2011-06-21 Yahoo! Inc. Enabling searching on abbreviated search terms via messaging
US8064702B2 (en) * 2007-12-21 2011-11-22 Microsoft Corporation Handwriting templates
US8116569B2 (en) * 2007-12-21 2012-02-14 Microsoft Corporation Inline handwriting recognition and correction
US8255822B2 (en) * 2007-12-21 2012-08-28 Microsoft Corporation Incorporated handwriting input experience for textboxes
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8990848B2 (en) 2008-07-22 2015-03-24 At&T Intellectual Property I, L.P. System and method for temporally adaptive media playback
US7996422B2 (en) 2008-07-22 2011-08-09 At&T Intellectual Property L.L.P. System and method for adaptive media playback based on destination
US20100130236A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Location assisted word completion
US8990240B2 (en) * 2008-12-30 2015-03-24 Ebay Inc. Predictive algorithm for search box auto-complete
US8306973B2 (en) * 2009-04-06 2012-11-06 Google Inc. Method for generating location targeted, keyword-triggered, ads and generating user recallable layer-based ads
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US20110087961A1 (en) * 2009-10-11 2011-04-14 A.I Type Ltd. Method and System for Assisting in Typing
US9045098B2 (en) * 2009-12-01 2015-06-02 Honda Motor Co., Ltd. Vocabulary dictionary recompile for in-vehicle audio system
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
KR101477530B1 (ko) 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
CN102236639B (zh) * 2010-04-28 2016-08-10 三星电子株式会社 更新语言模型的系统和方法
CN101847159A (zh) * 2010-05-11 2010-09-29 中兴通讯股份有限公司 终端设备及其词库更新的方法
US9715553B1 (en) 2010-06-18 2017-07-25 Google Inc. Point of interest retrieval
US9275154B2 (en) 2010-06-18 2016-03-01 Google Inc. Context-sensitive point of interest retrieval
US9194716B1 (en) 2010-06-18 2015-11-24 Google Inc. Point of interest category ranking
US8560562B2 (en) * 2010-07-22 2013-10-15 Google Inc. Predictive query suggestion caching
US9213704B2 (en) 2010-09-20 2015-12-15 Microsoft Technology Licensing, Llc Dictionary service
JP5748118B2 (ja) * 2010-12-01 2015-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ドキュメント作成支援方法とドキュメント作成支援装置とドキュメント作成支援プログラム
CA2760624C (en) * 2010-12-07 2015-04-07 Rakuten, Inc. Server, dictionary creation method, dictionary creation program, and computer-readable recording medium recording the program
US20120197987A1 (en) * 2011-02-02 2012-08-02 Research In Motion Limited Method, device and system for social media communications across a plurality of computing devices
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9785628B2 (en) * 2011-09-29 2017-10-10 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
CN102395105A (zh) * 2011-10-28 2012-03-28 宇龙计算机通信科技(深圳)有限公司 移动终端、服务器、词库更新方法和词汇推送方法
GB2505270A (en) * 2012-04-30 2014-02-26 Blackberry Ltd Methods and systems for a locally and temporally adaptive text prediction
US8756052B2 (en) * 2012-04-30 2014-06-17 Blackberry Limited Methods and systems for a locally and temporally adaptive text prediction
CN103390001A (zh) * 2012-05-09 2013-11-13 北京千橡网景科技发展有限公司 获取词汇的方法和系统
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
CN107589855B (zh) * 2012-05-29 2021-05-28 阿里巴巴集团控股有限公司 一种根据地理位置推荐候选词的方法和装置
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US20140019126A1 (en) * 2012-07-13 2014-01-16 International Business Machines Corporation Speech-to-text recognition of non-dictionary words using location data
US9218333B2 (en) 2012-08-31 2015-12-22 Microsoft Technology Licensing, Llc Context sensitive auto-correction
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8965754B2 (en) 2012-11-20 2015-02-24 International Business Machines Corporation Text prediction using environment hints
CN104007832B (zh) * 2013-02-25 2017-09-01 上海触乐信息科技有限公司 连续滑行输入文本的方法、系统及设备
US10049089B2 (en) * 2013-03-13 2018-08-14 Usablenet Inc. Methods for compressing web page menus and devices thereof
US9977779B2 (en) * 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
USD785014S1 (en) * 2013-04-05 2017-04-25 Thales Avionics, Inc. Display screen or portion thereof with graphical user interface
US10593326B2 (en) * 2013-04-25 2020-03-17 Sensory, Incorporated System, method, and apparatus for location-based context driven speech recognition
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101772152B1 (ko) 2013-06-09 2017-08-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
TWI508057B (zh) * 2013-07-15 2015-11-11 Chunghwa Picture Tubes Ltd 語音辨識系統以及方法
US9779722B2 (en) * 2013-11-05 2017-10-03 GM Global Technology Operations LLC System for adapting speech recognition vocabulary
US20150309965A1 (en) * 2014-04-28 2015-10-29 Elwha Llc Methods, systems, and devices for outcome prediction of text submission to network based on corpora analysis
US9760559B2 (en) * 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10579652B2 (en) * 2014-06-17 2020-03-03 Microsoft Technology Licensing, Llc Learning and using contextual content retrieval rules for query disambiguation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US20160041626A1 (en) * 2014-08-06 2016-02-11 International Business Machines Corporation Configurable character variant unification
US9514185B2 (en) 2014-08-07 2016-12-06 International Business Machines Corporation Answering time-sensitive questions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
EP3230840A4 (en) * 2015-02-26 2018-07-25 Hewlett-Packard Development Company, L.P. Input device control for a display panel
CN105988704B (zh) * 2015-03-03 2020-10-02 上海触乐信息科技有限公司 高效的触摸屏文本输入系统及方法
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
CN104850238B (zh) * 2015-04-17 2018-04-06 小米科技有限责任公司 对输入法所产生的候选项进行排序的方法和装置
CN104777920A (zh) * 2015-04-30 2015-07-15 魅族科技(中国)有限公司 一种字符推荐方法及装置
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US9996507B2 (en) * 2015-06-26 2018-06-12 International Business Machines Corporation Geo-cultural information based dynamic character variant rendering
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US11494547B2 (en) * 2016-04-13 2022-11-08 Microsoft Technology Licensing, Llc Inputting images to electronic devices
US10776571B2 (en) * 2016-05-04 2020-09-15 Google Llc Dispatch of user input to multiple input fields in a user interface
US9760627B1 (en) * 2016-05-13 2017-09-12 International Business Machines Corporation Private-public context analysis for natural language content disambiguation
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
CN108008832A (zh) * 2016-10-31 2018-05-08 北京搜狗科技发展有限公司 一种输入方法和装置、一种用于输入的装置
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11520412B2 (en) * 2017-03-06 2022-12-06 Microsoft Technology Licensing, Llc Data input system/example generator
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US20200372070A1 (en) * 2017-11-29 2020-11-26 Nec Corporation Search system, operation method of terminal apparatus, and program
US10592203B2 (en) * 2017-12-18 2020-03-17 Mitel Networks Corporation Device including a digital assistant for personalized speech playback and method of using same
KR102706928B1 (ko) * 2019-02-11 2024-09-13 삼성전자주식회사 단어 추천 방법 및 그 전자 장치
US11501067B1 (en) * 2020-04-23 2022-11-15 Wells Fargo Bank, N.A. Systems and methods for screening data instances based on a target text of a target corpus
CN112000233B (zh) * 2020-07-29 2024-09-03 北京搜狗科技发展有限公司 联想候选的处理方法、装置和用于处理联想候选的装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030035519A1 (en) 2001-08-15 2003-02-20 Warmus James L. Methods and apparatus for accessing web content from a wireless telephone
US20040163032A1 (en) 2002-12-17 2004-08-19 Jin Guo Ambiguity resolution for predictive text entry

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674112A (en) * 1985-09-06 1987-06-16 Board Of Regents, The University Of Texas System Character pattern recognition and communications apparatus
US4754474A (en) * 1985-10-21 1988-06-28 Feinson Roy W Interpretive tone telecommunication method and apparatus
DE69032576T2 (de) * 1990-02-27 1999-04-15 Oracle Corp Dynamische Optimierung eines einzelnen relationalen Zugriffs
US5418717A (en) * 1990-08-27 1995-05-23 Su; Keh-Yih Multiple score language processing system
KR950008022B1 (ko) * 1991-06-19 1995-07-24 가부시끼가이샤 히다찌세이사꾸쇼 문자처리방법 및 장치와 문자입력방법 및 장치
RU2039376C1 (ru) 1991-11-01 1995-07-09 Сергей Станиславович Ковалевский Устройство для информационного поиска
US5337347A (en) * 1992-06-25 1994-08-09 International Business Machines Corporation Method and system for progressive database search termination and dynamic information presentation utilizing telephone keypad input
GB2272091B (en) 1992-10-30 1996-10-23 Canon Europa Nv Apparatus for use in aligning bilingual corpora
JPH0756933A (ja) * 1993-06-24 1995-03-03 Xerox Corp 文書検索方法
DE69423838T2 (de) * 1993-09-23 2000-08-03 Xerox Corp., Rochester Semantische Gleichereignisfilterung für Spracherkennung und Signalübersetzungsanwendungen
JP3919237B2 (ja) * 1994-05-20 2007-05-23 キヤノン株式会社 画像記録再生装置、画像再生装置、及びその方法
WO1996010795A1 (en) * 1994-10-03 1996-04-11 Helfgott & Karas, P.C. A database accessing system
US5758145A (en) 1995-02-24 1998-05-26 International Business Machines Corporation Method and apparatus for generating dynamic and hybrid sparse indices for workfiles used in SQL queries
JP3571408B2 (ja) 1995-03-31 2004-09-29 株式会社日立製作所 文書加工方法および装置
US6070140A (en) * 1995-06-05 2000-05-30 Tran; Bao Q. Speech recognizer
AU5969896A (en) 1995-06-07 1996-12-30 International Language Engineering Corporation Machine assisted translation tools
US5701469A (en) 1995-06-07 1997-12-23 Microsoft Corporation Method and system for generating accurate search results using a content-index
US5818437A (en) 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
KR100402252B1 (ko) 1995-07-26 2004-01-24 테직 커뮤니케이션 인코포레이티드 감축된 키보드 명료화 시스템
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5778157A (en) * 1996-06-17 1998-07-07 Yy Software Corporation System and method for expert system analysis using quiescent and parallel reasoning and set structured knowledge representation
US5845273A (en) 1996-06-27 1998-12-01 Microsoft Corporation Method and apparatus for integrating multiple indexed files
US5878386A (en) 1996-06-28 1999-03-02 Microsoft Corporation Natural language parser with dictionary-based part-of-speech probabilities
US5953073A (en) * 1996-07-29 1999-09-14 International Business Machines Corp. Method for relating indexing information associated with at least two indexing schemes to facilitate the play-back of user-specified digital video data and a video client incorporating the same
US5745894A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for generating and searching a range-based index of word-locations
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6278992B1 (en) * 1997-03-19 2001-08-21 John Andrew Curtis Search engine using indexing method for storing and retrieving data
JP3143079B2 (ja) * 1997-05-30 2001-03-07 松下電器産業株式会社 辞書索引作成装置と文書検索装置
JP3728877B2 (ja) 1997-06-27 2005-12-21 カシオ計算機株式会社 文字列変換装置およびそのプログラム記録媒体
US6061718A (en) * 1997-07-23 2000-05-09 Ericsson Inc. Electronic mail delivery system in wired or wireless communications system
US6055528A (en) 1997-07-25 2000-04-25 Claritech Corporation Method for cross-linguistic document retrieval
JP2965010B2 (ja) * 1997-08-30 1999-10-18 日本電気株式会社 関連情報検索方法及び装置並びにプログラムを記録した機械読み取り可能な記録媒体
EP1018069B1 (en) 1997-09-25 2002-07-24 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6026411A (en) * 1997-11-06 2000-02-15 International Business Machines Corporation Method, apparatus, and computer program product for generating an image index and for internet searching and querying by image colors
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
KR100313462B1 (ko) * 1998-01-23 2001-12-31 윤종용 웹검색엔진에서검색된정보를지역적으로근접한순서대로표시하는방법
US6185558B1 (en) * 1998-03-03 2001-02-06 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6421675B1 (en) * 1998-03-16 2002-07-16 S. L. I. Systems, Inc. Search engine
GB2337611A (en) 1998-05-20 1999-11-24 Sharp Kk Multilingual document retrieval system
US6144958A (en) * 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
US6226635B1 (en) * 1998-08-14 2001-05-01 Microsoft Corporation Layered query management
US6370518B1 (en) * 1998-10-05 2002-04-09 Openwave Systems Inc. Method and apparatus for displaying a record from a structured database with minimum keystrokes
IE980941A1 (en) 1998-11-16 2000-05-17 Buy Tel Innovations Ltd A transaction processings system
JP3842913B2 (ja) * 1998-12-18 2006-11-08 富士通株式会社 文字通信方法及び文字通信システム
GB2347247A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal with predictive editor
US20020038308A1 (en) * 1999-05-27 2002-03-28 Michael Cappi System and method for creating a virtual data warehouse
US6421662B1 (en) * 1999-06-04 2002-07-16 Oracle Corporation Generating and implementing indexes based on criteria set forth in queries
US6598039B1 (en) 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
CN1176432C (zh) 1999-07-28 2004-11-17 国际商业机器公司 提供本国语言查询服务的方法和系统
US6606486B1 (en) * 1999-07-29 2003-08-12 Ericsson Inc. Word entry method for mobile originated short messages
US6477524B1 (en) * 1999-08-18 2002-11-05 Sharp Laboratories Of America, Incorporated Method for statistical text analysis
US6453315B1 (en) * 1999-09-22 2002-09-17 Applied Semantics, Inc. Meaning-based information organization and retrieval
US6353820B1 (en) * 1999-09-29 2002-03-05 Bull Hn Information Systems Inc. Method and system for using dynamically generated code to perform index record retrieval in certain circumstances in a relational database manager
US6484179B1 (en) 1999-10-25 2002-11-19 Oracle Corporation Storing multidimensional data in a relational database management system
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US6675165B1 (en) * 2000-02-28 2004-01-06 Barpoint.Com, Inc. Method for linking a billboard or signage to information on a global computer network through manual information input or a global positioning system
US7120574B2 (en) 2000-04-03 2006-10-10 Invention Machine Corporation Synonym extension of search queries with validation
US7177798B2 (en) * 2000-04-07 2007-02-13 Rensselaer Polytechnic Institute Natural language interface using constrained intermediate dictionary of results
US6564213B1 (en) 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion
US6859800B1 (en) * 2000-04-26 2005-02-22 Global Information Research And Technologies Llc System for fulfilling an information need
US6604101B1 (en) 2000-06-28 2003-08-05 Qnaturally Systems, Inc. Method and system for translingual translation of query and search and retrieval of multilingual information on a computer network
US6714905B1 (en) * 2000-05-02 2004-03-30 Iphrase.Com, Inc. Parsing ambiguous grammar
JP2001325252A (ja) * 2000-05-12 2001-11-22 Sony Corp 携帯端末及びその情報入力方法、辞書検索装置及び方法、媒体
US6456234B1 (en) * 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US8706747B2 (en) 2000-07-06 2014-04-22 Google Inc. Systems and methods for searching using queries written in a different character-set and/or language from the target pages
US6529903B2 (en) * 2000-07-06 2003-03-04 Google, Inc. Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query
AU2001272809A1 (en) 2000-07-25 2002-02-05 Cypus Communication terminal capable for searching internet domain name, system and method for searching internet domain name using the same
US6968179B1 (en) * 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US20020021311A1 (en) * 2000-08-14 2002-02-21 Approximatch Ltd. Data entry using a reduced keyboard
GB2366698A (en) * 2000-09-01 2002-03-13 Nokia Mobile Phones Ltd Insertion of pre-stored text strings
JP4821039B2 (ja) * 2000-10-24 2011-11-24 日本電気株式会社 地名情報抽出装置、その抽出方法及び記録媒体
US7028306B2 (en) 2000-12-04 2006-04-11 International Business Machines Corporation Systems and methods for implementing modular DOM (Document Object Model)-based multi-modal browsers
EP1215661A1 (en) * 2000-12-14 2002-06-19 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Mobile terminal controllable by spoken utterances
EP1215659A1 (en) * 2000-12-14 2002-06-19 Nokia Corporation Locally distibuted speech recognition system and method of its operation
US7027987B1 (en) * 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
GB0103053D0 (en) 2001-02-07 2001-03-21 Nokia Mobile Phones Ltd A communication terminal having a predictive text editor application
JP2002277736A (ja) 2001-03-21 2002-09-25 Olympus Optical Co Ltd 撮像装置
KR20020084739A (ko) 2001-05-02 2002-11-11 이재원 숫자입력을 이용한 인터넷 검색 및 접속 방법
GB0111012D0 (en) * 2001-05-04 2001-06-27 Nokia Corp A communication terminal having a predictive text editor application
US7366712B2 (en) 2001-05-31 2008-04-29 Intel Corporation Information retrieval center gateway
US6947770B2 (en) * 2001-06-22 2005-09-20 Ericsson, Inc. Convenient dialing of names and numbers from a phone without alpha keypad
JP3895955B2 (ja) 2001-08-24 2007-03-22 株式会社東芝 情報検索方法および情報検索システム
US20030054830A1 (en) * 2001-09-04 2003-03-20 Zi Corporation Navigation system for mobile communication devices
US6735604B2 (en) * 2001-10-09 2004-05-11 Arthur O. Miller Method for storing and retrieving data objects
US6944609B2 (en) * 2001-10-18 2005-09-13 Lycos, Inc. Search results using editor feedback
US7533093B2 (en) 2001-11-13 2009-05-12 Koninklijke Philips Electronics N.V. Method and apparatus for evaluating the closeness of items in a recommender of such items
JP2003150589A (ja) * 2001-11-19 2003-05-23 Sharp Corp 辞書データ配信システム
US7149550B2 (en) * 2001-11-27 2006-12-12 Nokia Corporation Communication terminal having a text editor application with a word completion feature
US7283992B2 (en) 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US6785654B2 (en) * 2001-11-30 2004-08-31 Dictaphone Corporation Distributed speech recognition system with speech recognition engines offering multiple functionalities
US20030125947A1 (en) * 2002-01-03 2003-07-03 Yudkowsky Michael Allen Network-accessible speaker-dependent voice models of multiple persons
US7024624B2 (en) * 2002-01-07 2006-04-04 Kenneth James Hintz Lexicon-based new idea detector
US7565367B2 (en) * 2002-01-15 2009-07-21 Iac Search & Media, Inc. Enhanced popularity ranking
US6952691B2 (en) * 2002-02-01 2005-10-04 International Business Machines Corporation Method and system for searching a multi-lingual database
US7167831B2 (en) * 2002-02-04 2007-01-23 Microsoft Corporation Systems and methods for managing multiple grammars in a speech recognition system
US20030187658A1 (en) 2002-03-29 2003-10-02 Jari Selin Method for text-to-speech service utilizing a uniform resource identifier
JP2003296212A (ja) 2002-04-01 2003-10-17 Mitsubishi Electric Corp 携帯型通信装置
JP2003303186A (ja) 2002-04-09 2003-10-24 Seiko Epson Corp 文字入力支援システム、文字入力支援方法、端末装置、サーバおよび文字入力支援プログラム
US7089178B2 (en) 2002-04-30 2006-08-08 Qualcomm Inc. Multistream network feature processing for a distributed speech recognition system
JP3903843B2 (ja) 2002-05-15 2007-04-11 日本電気株式会社 地域別固有名詞辞書受信システムおよび携帯端末装置
US7103854B2 (en) * 2002-06-27 2006-09-05 Tele Atlas North America, Inc. System and method for associating text and graphical views of map information
US7013154B2 (en) * 2002-06-27 2006-03-14 Motorola, Inc. Mapping text and audio information in text messaging devices and methods therefor
MXPA04012550A (es) * 2002-07-01 2005-04-19 Sony Ericsson Mobile Comm Ab Dar entrada a texto hacia un dispositivo de comunicaciones electronico.
EP2259197B1 (en) * 2002-07-23 2018-07-18 BlackBerry Limited System and method of using a custom word list
JP2004070547A (ja) 2002-08-05 2004-03-04 Sony Ericsson Mobilecommunications Japan Inc 辞書作成方法および装置ならびに辞書作成システム
US6983280B2 (en) * 2002-09-13 2006-01-03 Overture Services Inc. Automated processing of appropriateness determination of content for search listings in wide area network searches
GB2396529B (en) * 2002-12-20 2005-08-10 Motorola Inc Location-based mobile service provision
BR0215994A (pt) * 2002-12-27 2005-11-01 Nokia Corp Terminal móvel, e, método de compressão de dados e de entrada de texto preditivo em um terminal móvel
US7076428B2 (en) * 2002-12-30 2006-07-11 Motorola, Inc. Method and apparatus for selective distributed speech recognition
US7369988B1 (en) * 2003-02-24 2008-05-06 Sprint Spectrum L.P. Method and system for voice-enabled text entry
FI116168B (fi) * 2003-03-03 2005-09-30 Flextronics Odm Luxembourg Sa Datan syöttö
US7729913B1 (en) 2003-03-18 2010-06-01 A9.Com, Inc. Generation and selection of voice recognition grammars for conducting database searches
KR100563787B1 (ko) 2003-04-03 2006-03-30 주식회사 시티기술단 단위 옹벽판넬에 설치된 고강도 철근을 커플러로상호연결하여 단면력에 저항토록하면서, 프리스트레스를도입한 단위 옹벽판넬로 이루어진 옹벽조립체 및 이의조립시공방법
JP3821110B2 (ja) * 2003-05-12 2006-09-13 セイコーエプソン株式会社 データドライバ及び電気光学装置
US7379867B2 (en) * 2003-06-03 2008-05-27 Microsoft Corporation Discriminative training of language models for text and speech classification
US7395203B2 (en) * 2003-07-30 2008-07-01 Tegic Communications, Inc. System and method for disambiguating phonetic input
US8200865B2 (en) * 2003-09-11 2012-06-12 Eatoni Ergonomics, Inc. Efficient method and apparatus for text entry based on trigger sequences
US20050065931A1 (en) * 2003-09-19 2005-03-24 Airtx, Inc. Disambiguation method and apparatus
GB2433002A (en) * 2003-09-25 2007-06-06 Canon Europa Nv Processing of Text Data involving an Ambiguous Keyboard and Method thereof.
US7346615B2 (en) * 2003-10-09 2008-03-18 Google, Inc. Using match confidence to adjust a performance threshold
US7240049B2 (en) * 2003-11-12 2007-07-03 Yahoo! Inc. Systems and methods for search query processing using trend analysis
US20050114312A1 (en) * 2003-11-26 2005-05-26 Microsoft Corporation Efficient string searches using numeric keypad
JP2005202535A (ja) * 2004-01-14 2005-07-28 Hitachi Ltd 文書集計方法及び装置並びにそれらに用いるプログラムを記憶した媒体
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US20050188330A1 (en) * 2004-02-20 2005-08-25 Griffin Jason T. Predictive text input system for a mobile communication device
US7293019B2 (en) * 2004-03-02 2007-11-06 Microsoft Corporation Principles and methods for personalizing newsfeeds via an analysis of information novelty and dynamics
US8676830B2 (en) 2004-03-04 2014-03-18 Yahoo! Inc. Keyword recommendation for internet search engines
US7218249B2 (en) 2004-06-08 2007-05-15 Siemens Communications, Inc. Hand-held communication device having navigation key-based predictive text entry
US8595687B2 (en) * 2004-06-23 2013-11-26 Broadcom Corporation Method and system for providing text information in an application framework for a wireless device
US8392453B2 (en) * 2004-06-25 2013-03-05 Google Inc. Nonstandard text entry
US8972444B2 (en) 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US7716162B2 (en) * 2004-12-30 2010-05-11 Google Inc. Classification of ambiguous geographic references
US20060156233A1 (en) * 2005-01-13 2006-07-13 Nokia Corporation Predictive text input
US7506254B2 (en) 2005-04-21 2009-03-17 Google Inc. Predictive conversion of user input
US7469201B2 (en) 2005-06-17 2008-12-23 Dspace Digital Signal Processing And Control Engineering Gmbh Process and means for block-based modeling
KR100690117B1 (ko) 2005-07-28 2007-03-08 엘에스전선 주식회사 외부 스페이서를 갖는 통신 케이블 및 그 제조방법
US7779011B2 (en) * 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7788266B2 (en) * 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US7737999B2 (en) * 2005-08-26 2010-06-15 Veveo, Inc. User interface for visual cooperation between text input and display device
US20070061211A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Preventing mobile communication facility click fraud
US9471925B2 (en) * 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US20070192318A1 (en) * 2005-09-14 2007-08-16 Jorey Ramer Creation of a mobile search suggestion dictionary
US7647228B2 (en) * 2005-11-03 2010-01-12 Apptera, Inc. Method and apparatus for speech processing incorporating user intent
US7644054B2 (en) * 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
US20070195063A1 (en) * 2006-02-21 2007-08-23 Wagner Paul T Alphanumeric data processing in a telephone
US7739280B2 (en) * 2006-03-06 2010-06-15 Veveo, Inc. Methods and systems for selecting and presenting content based on user preference information extracted from an aggregate preference signature
EP4209927A1 (en) 2006-04-20 2023-07-12 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
JP4948039B2 (ja) 2006-05-30 2012-06-06 アラクサラネットワークス株式会社 スイッチおよびネットワークの障害回復方法
CA2989780C (en) * 2006-09-14 2022-08-09 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
US7979425B2 (en) * 2006-10-25 2011-07-12 Google Inc. Server-side match
KR20100041145A (ko) * 2008-10-13 2010-04-22 삼성전자주식회사 쿼티 키패드를 갖는 휴대 단말기의 발신 방법 및 전화번호 저장 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030035519A1 (en) 2001-08-15 2003-02-20 Warmus James L. Methods and apparatus for accessing web content from a wireless telephone
US20040163032A1 (en) 2002-12-17 2004-08-19 Jin Guo Ambiguity resolution for predictive text entry

Also Published As

Publication number Publication date
EP3489798A1 (en) 2019-05-29
CN101501610A (zh) 2009-08-05
EP1910912A2 (en) 2008-04-16
WO2007005945A3 (en) 2009-04-23
US20180032604A1 (en) 2018-02-01
US10534802B2 (en) 2020-01-14
EP1910912A4 (en) 2012-12-26
US20150269252A1 (en) 2015-09-24
WO2007005945A2 (en) 2007-01-11
JP2013232220A (ja) 2013-11-14
US20060230350A1 (en) 2006-10-12
US8972444B2 (en) 2015-03-03
JP2009500954A (ja) 2009-01-08
EP1910912B1 (en) 2019-02-20
KR20080031354A (ko) 2008-04-08
JP5827380B2 (ja) 2015-12-02
JP2014194827A (ja) 2014-10-09
JP5676698B2 (ja) 2015-02-25

Similar Documents

Publication Publication Date Title
KR101351992B1 (ko) 비표준화된 위치기반의 텍스트 입력
US8392453B2 (en) Nonstandard text entry
CN101595447B (zh) 输入预测
CA2633959C (en) Mobile device retrieval and navigation
US8589417B2 (en) Inquiry-oriented user input apparatus and method
US20090249198A1 (en) Techniques for input recogniton and completion
US20130012174A1 (en) Disambiguating ambiguous characters
US7395512B2 (en) Character input system and communication terminal
US20080319737A1 (en) Method and apparatus for connecting a cellular telephone user to the internet

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 7