KR101522156B1 - 텍스트 예측 방법 및 시스템 - Google Patents

텍스트 예측 방법 및 시스템 Download PDF

Info

Publication number
KR101522156B1
KR101522156B1 KR1020157007814A KR20157007814A KR101522156B1 KR 101522156 B1 KR101522156 B1 KR 101522156B1 KR 1020157007814 A KR1020157007814 A KR 1020157007814A KR 20157007814 A KR20157007814 A KR 20157007814A KR 101522156 B1 KR101522156 B1 KR 101522156B1
Authority
KR
South Korea
Prior art keywords
text
candidate texts
candidate
computing device
determining
Prior art date
Application number
KR1020157007814A
Other languages
English (en)
Other versions
KR20150043512A (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 KR20150043512A publication Critical patent/KR20150043512A/ko
Application granted granted Critical
Publication of KR101522156B1 publication Critical patent/KR101522156B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

텍스트를 예측하기 위한 방법들 및 시스템들이 설명된다. 일례에서, 컴퓨팅 디바이스는 텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하고, 적어도 텍스트의 일부의 구어 발음에 대응하는 음성 입력을 수신하도록 구성될 수 있다. 컴퓨팅 디바이스는 하나 이상의 타이핑된 문자 및 음성 입력에 기초하여 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하도록 구성될 수 있다. 또한, 컴퓨팅 디바이스는 하나 이상의 후보 텍스트를 제공하도록 구성될 수 있다.

Description

텍스트 예측 방법 및 시스템{METHODS AND SYSTEMS FOR PREDICTING A TEXT}
관련 출원의 상호 참조
본원은 2012년 9월 27일자로 출원된 미국 출원 제13/628,138호에 대해 우선권을 주장하며, 이에 따라 그 전체 내용이 참고로 포함된다.
컴퓨터 과학의 분야가 발전함에 따라, 개인의 경험을 향상시키고 컴퓨터들을 더 다기능화하기 위해 다양한 데이터 입력 기술들이 개발되어 왔다. 예를 들어, 통상적인 컴퓨터 시스템, 특히 사용자 상호작용을 위해 그래픽 사용자 인터페이스들을 이용하는 컴퓨터 시스템은 하나 이상의 입력 디바이스로부터 입력을 수신하도록 최적화될 수 있다. 따라서, 개인은 키보드를 이용하여 텍스트를 입력하고, 포인터의 위치와 관련된 선택들을 활성화하기 위한 하나 이상의 버튼을 갖는 마우스와 같은 포인팅 디바이스를 이용하여 디스플레이 스크린 상의 포인터 이미지의 위치를 제어할 수 있다.
최근에는, 컴퓨터들의 유용성의 향상에 대해 관심을 갖게 되었다. 유용성은 사람이 만든 물건의 사용의 편의성 및 학습성으로서 정의될 수 있다. 물건은 소프트웨어 애플리케이션, 웹사이트, 책, 도구, 기계, 프로세스, 또는 사람과 상호작용하는 무언가일 수 있다. 컴퓨터들의 효율, 정밀도 또는 정확도의 향상은 그들의 유용성을 개선할 수 있다.
발명의 요약
본원은 텍스트를 예측하기 위한 시스템들 및 방법들을 개시한다. 일 양태에서 방법이 설명된다. 방법은 텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하는 단계를 포함할 수 있다. 방법은 적어도 텍스트의 일부의 구어 발음에 대응하는 음성 입력을 수신하는 단계도 포함할 수 있다. 방법은 하나 이상의 타이핑된 문자 및 음성 입력에 기초하여 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하는 단계를 더 포함할 수 있다. 방법은 하나 이상의 후보 텍스트를 제공하는 단계도 포함할 수 있다.
다른 양태에서, 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 기능들을 수행하게 하는 명령어들을 저장한 컴퓨터 판독 가능 매체가 설명된다. 기능들은 텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하는 단계를 포함할 수 있다. 기능들은 적어도 텍스트의 일부의 구어 발음에 대응하는 음성 입력을 수신하는 단계도 포함할 수 있다. 기능들은 하나 이상의 타이핑된 문자 및 음성 입력에 기초하여 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하는 단계를 더 포함할 수 있다. 기능들은 하나 이상의 후보 텍스트를 제공하는 단계도 포함할 수 있다.
또 다른 양태에서 시스템이 설명된다. 시스템은 오디오 캡처 디바이스를 포함할 수 있다. 시스템은 오디오 캡처 디바이스에 결합되어 텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하도록 구성되는 컴퓨팅 디바이스도 포함할 수 있다. 컴퓨팅 디바이스는 또한 오디오 캡처 디바이스로부터 적어도 텍스트의 일부의 구어 발음에 대응하는 음성 입력을 수신하도록 구성될 수 있다. 컴퓨팅 디바이스는 하나 이상의 타이핑된 문자 및 음성 입력에 기초하여 하나 이상의 후보 텍스트를 결정하도록 더 구성될 수 있다. 컴퓨팅 디바이스는 또한 하나 이상의 후보 텍스트 각각에 대해 각각의 후보 텍스트가 텍스트를 예측할 각각의 가능성을 결정하도록 구성될 수 있다. 컴퓨팅 디바이스는 하나 이상의 후보 텍스트에 대해 결정된 각각의 가능성에 기초하여 하나 이상의 후보 텍스트를 제공하도록 더 구성될 수 있다.
위의 요약은 예시적일 뿐이며, 어떠한 방식으로도 한정을 의도하지 않는다. 전술한 예시적인 양태들, 실시예들 및 특징들에 더하여, 추가 양태들, 실시예들 및 특징들이 도면들 및 아래의 상세한 설명을 참고함으로써 명백해질 것이다.
도 1은 일 실시예에 따른, 텍스트를 예측하기 위한 예시적인 방법의 흐름도이다.
도 2a는 일 실시예에 따른, 텍스트를 예측하는 데 사용되는 예시적인 컴퓨팅 디바이스를 나타내며, 타이핑된 입력 텍스트는 텍스트의 구어 발음과 동일한 언어에 속한다.
도 2b는 일 실시예에 따른, 텍스트를 예측하는 데 사용되는 예시적인 컴퓨팅 디바이스를 나타내며, 타이핑된 입력 텍스트는 텍스트의 구어 발음의 각각의 언어와 상이한 언어에 속한다.
도 2c는 일 실시예에 따른, 텍스트를 예측하는 데 사용되는 예시적인 컴퓨팅 디바이스를 나타내며, 컴퓨팅 디바이스는 후보 텍스트들을 변경된 순위로 표시한다.
도 3은 일 실시예에 따른 예시적인 분산 컴퓨팅 아키텍처를 나타낸다.
도 4a는 일 실시예에 따른 예시적인 컴퓨팅 디바이스의 블록도이다.
도 4b는 일 실시예에 따른 클라우드 기반 서버 시스템을 나타낸다.
도 5는 본 명세서에서 설명되는 적어도 일부 실시예들에 따라 배열된, 컴퓨팅 디바이스 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 예시적인 컴퓨터 프로그램 제품의 개념 부분도를 나타내는 개략도이다.
아래의 상세한 설명은 개시되는 시스템들 및 방법들의 다양한 특징들 및 기능들을 첨부 도면들을 참조하여 설명한다. 도면들에서는 상황이 달리 지시하지 않는 한은 유사한 심벌들은 유사한 컴포넌트들을 식별한다. 본 명세서에서 설명되는 시스템 및 방법 실시예들은 한정을 의도하지 않는다. 개시되는 시스템들 및 방법들의 소정 양태들이 다양한 상이한 구성들로 배열 및 결합될 수 있고, 이들 모두가 본 명세서에서 고려된다는 것을 쉽게 이해할 수 있다.
데스크탑 컴퓨터, 랩탑 또는 핸드헬드 디바이스와 같은 디바이스가 입력 디바이스를 이용하여 입력 텍스트를 수신하도록 구성될 수 있다. 일례에서, 데스크탑 컴퓨터의 사용자는 키보드를 이용하여 워드 프로세싱 프로그램 또는 다른 소프트웨어 애플리케이션 내에 텍스트를 입력할 수 있다. 셀룰러 전화 및 태블릿 컴퓨터와 같이 터치스크린을 갖는 디바이스들에서, 사용자는 예를 들어 온-스크린 키들을 탭핑함으로써 텍스트를 입력할 수 있다. 디바이스는 텍스트의 일부(예로서, 단어 또는 구)를 수신하도록 구성될 수 있으며, 텍스트의 수신된 부분에 기초하여 텍스트의 나머지를 예측하는 후보 텍스트를 사용자에게 제공하도록 구성될 수 있다.
일부 예들에서, 입력 디바이스의 하나의 키 또는 버튼은 이동 전화들에서와 같이 둘 이상의 문자를 표현할 수 있다. 각각의 키 누름은 키 누름이 표현할 수 있는 "문자들"의 동일 그룹을 통한 반복적인 시퀀싱이 아니라 예측을 유발할 수 있다. 예들에서, 디바이스는 단일 키 누름에 의해 전체 단어가 입력되는 것을 가능하게 하도록 구성될 수 있다. 이러한 방식으로, 디바이스는 텍스트 메시지, 이메일, 주소록, 달력 등에 텍스트를 입력하기 위해 더 적은 디바이스 키들을 효율적으로 사용하도록 구성될 수 있다.
일부 예들에서, 입력 텍스트는 특히 사용자가 작은 키들을 사용하고 있을 수 있는 상황들에서 또는 사용자가 산만할 때 정확하지 못할 수 있다. 결과적으로, 사용자 입력 텍스트는 에러들을 포함할 수 있다. 사용자가 알려진 단어에 대응하지 않는 문자 시퀀스를 입력할 때, 디바이스는 문자 시퀀스를 예측하고 정정하도록 구성될 수 있다. 일부 예들에서, 잘못 타이핑된 단어는 대응하는 올바른 단어로 교체될 수 있다. 다른 예들에서, 디바이스는 올바른 단어를 선택할 수 있는 가능한 대안들의 리스트를 사용자에게 제공하도록 구성될 수 있다. 그러나, 에러들은 디바이스가 텍스트를 정확하게 예측하거나 올바른 단어를 포함하는 리스트를 제공할 수 있는 정확도를 감소시킬 수 있다.
예들에서, 라틴 문자들을 갖는 입력 디바이스가 병음(Pinyin) 문자들을 입력하는 데 사용될 수 있다. 병음 입력 방법은 일부 아시아 언어들(예로서, 중국어, 대만어, 일본어, 한국어, 말레이시아어 등)의 문자들을 전사(transcription)하기 위한 공식적인 입력 방법으로서 간주될 수 있다. 병음은 "철자화된 사운드"를 의미하며, 일반적으로 음성학 기반 아시아 언어 입력을 지칭할 수 있다.
일례로서, 의도된 아시아 문자를 음성학적으로 표현하는 라틴 문자들 및 라틴 문자들의 조합을 입력하기 위한 병음 입력을 위해 QWERTY 키보드가 사용될 수 있다. 이어서, 소프트웨어 애플리케이션이 라틴 문자들을 처리할 수 있으며, 라틴 문자들을 대응하는 아시아 문자로 변환할 수 있다.
설명을 위한 일례로서, 중국어 단어는 여러 개의 중국어 문자로 구성될 수 있다. 중국어 문자들 각각은 여러 개의 병음 문자에 의해 표현될 수 있다. 따라서, 병음 문자들의 입력은 시간 소모적일 수 있으며, 에러에 취약할 수 있다. 게다가, 일부 예들에서는, 구를 형성하는 다수의 단어의 병음 문자들을 타이핑하는 대신에, 효율적인 입력을 위해 다수의 단어의 병음 머리글자들(즉, 각각의 단어의 첫 번째 문자)이 사용될 수 있지만, 구의 예측의 정확도가 감소할 수 있다.
따라서, 임의의 언어의 텍스트를 텍스트의 일부에 기초하여 예측하는 것은 많은 예들에서 부정확할 수 있다.
일부 예들에서는, 컴퓨팅 디바이스는 텍스트를 예측하기 위해 텍스트의 일부를 사용하는 대신에 텍스트의 구어 발음에 대응하는 음성 입력을 수신하고, 음성 인식 기술들을 이용하여 텍스트를 식별하도록 구성될 수 있다. 그러나, 예를 들어 상이한 악센트들 및 배경 잡음으로 인해, 컴퓨팅 디바이스는 텍스트를 정확히 예측하지 못할 수 있다. 다른 예로서, 중국어에서는, 여러 문자가 유사한 발음들(예로서, 상이한 방언들)을 가질 수 있으며, 이는 음성 입력에 기초하는 대응하는 텍스트의 예측의 정확성을 낮출 수 있다.
일례에서, 텍스트의 일부 및 텍스트의 구어 발음이 컴퓨팅 디바이스에서 실질적으로 동시에 수신되고, 이들 양자가 컴퓨팅 디바이스에 의해 텍스트를 예측하는 데 사용되는 경우에, 텍스트 예측의 정확성이 개선될 수 있다. 이러한 예에서, 컴퓨팅 디바이스는 텍스트의 일부를 작성하는 타이핑된 문자들을 수신하고, 예를 오디오 캡처 디바이스로부터 텍스트의 구어 발음에 대응하는 음성 입력을 수신하도록 구성될 수 있다. 따라서, 컴퓨팅 디바이스는 텍스트의 일부 및 음성 입력에 기초하여 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하도록 구성될 수 있다. 또한, 컴퓨팅 디바이스는 하나 이상의 후보 텍스트를 사용자에게 제공하도록 구성될 수 있다.
도 1은 일 실시예에 따른, 텍스트를 예측하기 위한 예시적인 방법(100)의 흐름도를 나타낸다.
방법(100)은 블록들(102-110) 중 하나 이상에 의해 설명되는 바와 같은 하나 이상의 동작, 기능 또는 액션을 포함할 수 있다. 블록들이 순차적으로 도시되지만, 이러한 블록들은 일부 예들에서 병렬로 그리고/또는 본 명세서에서 설명되는 것들과 다른 순서로 수행될 수 있다. 또한, 다양한 블록들은 원하는 구현에 기초하여 더 적은 블록들로 결합되고, 추가 블록들로 분할되고/되거나, 제거될 수 있다.
게다가, 방법(100) 및 본 명세서에서 개시되는 다른 프로세스들 및 방법들에 대해, 흐름도는 본 예들의 하나의 가능한 구현의 기능 및 동작을 나타낸다. 이와 관련하여, 각각의 블록은 프로세스 내의 특정 논리 기능들 또는 단계들을 구현하기 위해 프로세서에 의해 실행될 수 있는 하나 이상의 명령어를 포함하는 프로그램 코드의 모듈, 세그먼트 또는 일부를 나타낼 수 있다. 프로그램 코드는 예를 들어 디스크 또는 하드 드라이브를 포함하는 스토리지 디바이스와 같은 임의 타입의 컴퓨터 판독 가능 매체 또는 메모리에 저장될 수 있다. 컴퓨터 판독 가능 매체는 예를 들어 레지스터 메모리, 프로세서 캐시 및 랜덤 액세스 메모리(RAM)와 같이 짧은 기간 동안 데이터를 저장하는 컴퓨터 판독 가능 매체와 같은 비일시적 컴퓨터 판독 가능 매체 또는 메모리를 포함할 수 있다. 컴퓨터 판독 가능 매체는 또한 예를 들어 판독 전용 메모리(ROM), 광 또는 자기 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM)와 같은 보조 또는 지속적 장기 스토리지와 같은 비일시적 매체 또는 메모리를 포함할 수 있다. 컴퓨터 판독 가능 매체는 또한 임의의 다른 휘발성 및 비휘발성 스토리지 시스템들을 포함할 수 있다. 컴퓨터 판독 가능 매체는 예를 들어 컴퓨터 판독 가능 스토리지 매체, 유형의 스토리지 디바이스 또는 다른 제조물로 간주될 수 있다.
게다가, 방법(100) 및 본 명세서에서 개시되는 다른 프로세스들 및 방법들에 대해, 도 1의 각각의 블록은 프로세스 내의 특정 논리 기능들을 수행하도록 배선된 회로를 나타낼 수 있다.
블록 102에서, 방법(100)은 텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하는 단계를 포함한다. 컴퓨팅 디바이스(예로서, 이동 전화, 개인 휴대 단말기(PDA), 랩탑, 노트북 또는 넷북 컴퓨터, 태블릿 컴퓨팅 디바이스, 착용식 컴퓨팅 디바이스 등)는 컴퓨팅 디바이스에 결합된 입력 디바이스, 예로서 키보드 또는 터치스크린을 통해 타이핑된 문자들을 수신하도록 구성될 수 있다. 이러한 입력 디바이스들은 단지 설명을 위한 예들로서 사용된다. 임의 타입의 입력 디바이스가 사용될 수 있다.
본 명세서에서 사용된 바와 같이, 문자라는 용어는 사용자에 의해 타이핑될 수 있는 기호 또는 다른 숫자를 포함하도록 의도된다. 문자들의 예들은 예를 들어, 라틴어, 키릴, 아랍어, 히브리어, 또는 그리스어 알파벳으로부터 유래한 것이든 알파벳 문자들을 포함한다. 또한, 문자는 중국어, 일본어, 및 한국어 등과 같은 아시아 언어들에 이용되는 다양한 기호들 중 하나일 수 있다. 텍스트는 단어들 또는 단어 타입의 단위들을 형성하는 다양한 문자들의 그룹들을 포함할 수 있다. 예로서, 텍스트는 하나 이상의 병음 문자에 의해 표현될 수 있는 한자 문자일 수 있다. 따라서, 텍스트는 형태소(문어의 최소 의미 단위), 단어, 구(phrase) 등을 언급할 수 있다.
예에서, 텍스트의 일부는 예를 들어, 단어의 일부를 형성하는 하나 이상의 글자일 수 있다. 다른 예에서, 텍스트의 일부는 구를 형성하는 단어들의 병음 머리글자들을 포함할 수 있다. 이러한 예들은 예시만을 위한 것이고, 다른 예들도 가능하다.
예들에서, 컴퓨팅 디바이스는 컴퓨팅 디바이스에서 텍스트의 일부를 수신하는 것을 용이하게 하도록 구성된 입력 방법 편집기(IME) 모듈을 포함할 수 있다. IME는 키보드 스트로크, 터치스크린 입력, 또는 마우스 이동 등과 같은 임의의 데이터가 입력으로서 수신되게 해주는 운영 체제 컴포넌트 또는 프로그램일 수 있다. 이러한 방식으로, 사용자들은 입력 디바이스들에서 발견되지 않는 문자들 및 기호들을 입력할 수 있다. 예를 들어, 컴퓨팅 디바이스에 연결된 라틴어 키보드의 사용자는 중국어, 일본어, 한국어, 인도어 문자들 등을 입력할 수 있다. 모바일 전화기들 등과 같은 핸드헬드 디바이스들에서, IME 모듈은 라틴어 알파벳 문자들(또는 임의의 다른 알파벳 문자들)을 입력하기 위해 숫자 키패드를 이용할 수 있도록, 또는 문자들을 입력하기 위해 스크린 디스플레이가 터치될 수 있도록 구성될 수 있다.
블록(104)에서, 방법(100)은 텍스트의 구어 발음에 대응하는 음성 입력을 수신하는 것을 포함한다. 컴퓨팅 디바이스는 오디오 신호를 캡처하기 위해 구성될 수 있는 오디오 캡처 디바이스(예를 들어, 마이크로폰)를 포함할 수 있거나 또는 그것에 연결될 수 있다. 예에서, 컴퓨팅 디바이스는 텍스트의 일부를 타이핑하는 사용자에 의한 텍스트의 구어 발음에 대응하는 음성 입력을 나타내는 오디오 신호를 오디오 캡처 디바이스로부터 수신하도록 구성될 수 있다. 예들에서, 구어 발음은 전체 텍스트일 수 있거나, 또는 텍스트의 적어도 일부일 수 있다(예를 들어, 텍스트의 단어의 제1 음절, 전체 문장, 타이핑된 문자들로 작성된 텍스트의 일부, 등)
도 2a는 일 실시예에 따른, 텍스트를 예측하는 데 사용되는 예시적인 컴퓨팅 디바이스(200)를 나타내며, 타이핑된 입력 텍스트는 텍스트의 구어 발음과 동일한 언어에 속한다. 컴퓨팅 디바이스(200)는 예로서 터치 스크린(202)에 연결될 수 있다. 컴퓨팅 디바이스(200)는 입력 박스(204)를 통해 텍스트의 일부를 수신하도록 구성될 수 있다. 도 2a는 예로서 텍스트의 일부가 "Con"임을 나타낸다.
컴퓨팅 디바이스(200)는 텍스트의 구어 발음(208)을 캡처하도록 구성된 마이크로폰(206)에 연결될 수 있다. 예로서, 사용자는 텍스트(예를 들어, 단어)를 타이핑하기 시작할 수 있고, 그와 동시에, 또는 바로 전/후에 텍스트를 말할 수 있다. 어떤 예들에서, 컴퓨팅 디바이스(200)는 입력 박스(204)에 타이핑된 텍스트의 일부, 및 텍스트의 (마이크로폰(206)에 의해 캡처된) 구어 발음(208)에 대응하는 음성 입력을 실질적으로 동시에 수신하도록 구성될 수 있다. 사용자는 예를 들어, 단어를 형성하는 글자들의 서브세트를 타이핑할 수 있고, 전체 단어를 타이핑하기 전에 단어를 말하는 것을 완료할 수 있다. 그러나, 다른 예들에서, 텍스트의 일부 및 구어 발음(208)에 대응하는 음성 입력은 동시에 수신되지 않을 수 있고, 텍스트의 일부와 음성 입력의 수신 간의 지연이 있을 수 있고, 예를 들어, 구어 발음이 마이크로폰(206)에서 수신되기 전에 그 텍스트의 일부가 수신될 수 있고, 그 역도 성립한다.
어떤 예들에서, 텍스트의 일부와 구어 발음(208)은 동일 언어에 속할 수 있다. 그러나, 다른 예들에서는, 텍스트의 일부와 구어 발음(208)이 상이한 언어들에 속할 수 있다. 예를 들어, 컴퓨팅 디바이스(200)는 중국어 단어를 형성하는 하나 이상의 병음 문자(라틴 문자), 또는 중국어의 구를 형성하는 병음 머리글자로서 텍스트의 일부를 수신하고; 중국어에 속하는 구어 발음(208)에 대응하는 음성 입력을 수신하도록 구성될 수 있다.
도 2b는 일 실시예에 따른, 텍스트를 예측하는 데 사용되는 예시적인 컴퓨팅 디바이스(200)를 나타내며, 타이핑된 입력 텍스트는 텍스트의 구어 발음의 각각의 언어와 상이한 언어에 속한다. 도 2b는 입력 박스(204)를 통해, "what a nice day"라는 의미의 "jin tian tian qi hen hao"라는 전체 병음 구의 병음 머리글자들 "jttqhh"을 수신하는 컴퓨팅 디바이스(200)를 도시한다. 이 예에서 구어 발음(208)은 중국어에 속할 수 있다. 여기서 중국어가 예로서 사용되지만, 임의의 다른 언어가 사용될 수 있다. 예에서, 언어 설정(예를 들어, 타이핑 언어와 구어 언어 옵션들)은 컴퓨팅 디바이스(200)의 사용자에 의해 정해질 수 있다.
도 1을 다시 참조하면, 블록(106)에서, 방법(100)은 하나 이상의 타이핑된 문자와 음성 입력에 기초하여, 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하는 것을 포함한다. 일 예에서, 도 2a를 참조하면, 컴퓨팅 디바이스(200)는 텍스트의 일부와 음성 입력을 서버에 제공하도록 구성될 수 있고, 서버는 텍스트를 예측하는 후보 텍스트들을 결정하도록 구성될 수 있다. 서버는 또한 후보 텍스트들을 컴퓨팅 디바이스(200)에 제공하도록 구성될 수 있다. 컴퓨팅 디바이스(200)와 서버는 유선 또는 무선 통신을 행할 수 있다. 그러나 다른 예에서, 컴퓨팅 디바이스(200)는 텍스트의 일부와 음성 입력에 기초하여 후보 텍스트들을 결정하도록 구성될 수 있다.
다른 예들에서, 후보 텍스트들을 결정하는 태스크는 컴퓨팅 디바이스(200)와 서버 간에 분산될 수 있다. 설명의 예로서, 컴퓨팅 디바이스(200)는 텍스트의 일부에 기초하여 후보 텍스트들을 결정하도록 구성될 수 있고, 텍스트의 일부와 음성 입력을 서버에 제공하도록 구성될 수 있고, 서버는 각각의 후보 텍스트들을 결정하도록 구성된다. 서버는 그 후 각각의 후보 텍스트들을 컴퓨팅 디바이스(200)에 송신하도록 구성될 수 있다. 또한, 컴퓨팅 디바이스(200)는 컴퓨팅 디바이스(200)에 의해 결정된 후보 텍스트들과 서버에 의해 결정된 각각의 후보 텍스트들을 비교하여 사용자가 의도한 텍스트를 예측할 가능성이 높은 후보 텍스트들의 집합을 결정하도록 구성될 수 있다. 다른 예들이 가능하다. 본 명세서에서, 컴퓨팅 디바이스(200)는 후보 텍스트들을 결정하는 태스크를 수행하는 것을 설명하기 위해 이용될 것이지만, 그러한 기능은 컴퓨팅 디바이스(200)와 통신하는 서버에 의해 수행될 수 있거나, 또는 컴퓨팅 디바이스(200)와 서버 간에 분산될 수 있다는 것을 이해해야 한다.
예로서, 텍스트의 일부에 기초하여 후보 텍스트들을 걸정하기 위해, 컴퓨팅 디바이스(200)(또는 서버)는 복수의 단어들, 구들, 또는 다른 어휘 단위들(즉, 단일 단어, 단어의 일부, 또는 언어의 어휘의 기본 요소들을 형성하는 일련의 단어들) 및 대응하는 어휘 태그들을 저장하는 사전에 액세스할 수 있도록 구성될 수 있다. 컴퓨팅 디바이스(200)는 텍스트의 일부에 기초하여 후보 텍스트들을 생성하기 위해 사전을 이용하도록 구성될 수 있다. 후보 텍스트들은 텍스트의 일부에 최적으로 매칭하는 사전 내의 유망한 단어들 또는 구들을 포함할 수 있다. 어휘 태그들은 어휘 단위들을 단어들 또는 구들의 특정 그룹들 또는 카테고리들과 연관시킨다. 텍스트의 일부가 컴퓨팅 디바이스(200)에서 수신될 때, 컴퓨팅 디바이스(200)는 입력되고 있는 단어 또는 구가 특정 그룹 또는 카테고리에 속한다는 것을 지시하는 탐색 태그를 식별하도록 구성될 수 있다. 탐색 태그가 식별될 때, 컴퓨팅 디바이스(200)는 탐색 태그를 사전 내에 저장된 어휘 태그들과 비교하도록 구성될 수 있다. 컴퓨팅 디바이스(200)는 비교 결과들을 이용하여 후보 텍스트들을 필터링, 소팅, 또는 달리 처리하도록 구성될 수 있다. 예를 들어, 후보 텍스트들은 매칭하는 어휘 태그를 갖는 단어들 및/또는 구들에 한정될 수 있다. 또한, 컴퓨팅 디바이스(200)는 매칭 어휘 태그를 갖는 단어들 및/또는 어휘들이 후보 텍스트들의 리스트의 최상위에 나타나도록 태그 비교 결과들을 이용하여 후보 텍스트들을 소팅하도록 구성될 수 있다.
예에서, 음성 입력에 기초하여 후보 텍스트들의 세트를 결정하기 위해, 컴퓨팅 디바이스(200)(또는 서버)는 음성 인식 시스템을 이용하여 후보 텍스트들의 세트를 결정하도록 구성될 수 있다. 음성 인식 시스템은 입력된 음절에 따라 가장 가능성 많은 문자를 결정하기 위해 음향 모델을 이용하도록 구성될 수 있고, 또한 문자를 인식하기 위해 언어 사용의 상위 레벨 패턴을 저장하는 언어 모델, 및 확률을 갖는 사전을 이용하도록 구성될 수 있다.
일 예에서, 컴퓨팅 디바이스(200)는 텍스트의 일부에 기초하여 후보 텍스트들을 결정하고, 후보 텍스트들의 서브세트를 확인 또는 폐기하기 위해 음성 입력을 이용하도록 구성될 수 있다. 다른 예에서, 컴퓨팅 디바이스(200)는 음성 입력에 기초하여 후보 텍스트들을 결정하고, 후보 텍스트들의 서브세트를 확인 또는 폐기하기 위해 텍스트의 일부를 이용하도록 구성될 수 있다. 또 다른 예에서, 컴퓨팅 디바이스(200)는 텍스트의 일부에 기초하여, 후보 텍스트들의 제1 세트를 결정하고; 실질적으로 그와 동시에 음성 입력에 기초하여, 후보 텍스트들의 제2 세트를 결정하도록 구성될 수 있다. 또한 컴퓨팅 디바이스(200)는 후보 텍스트들의 제1 세트와 후보 텍스트들의 제2 세트을 비교하여 예를 들어, 제1 세트와 제2 세트 간에 공통인 후보 텍스트들을 결정할 수 있다.
도 1을 다시 참조하면, 블록(108)에서, 방법(100)은 하나 이상의 후보 텍스트 각각에 대해, 각각의 후보 텍스트가 텍스트를 예측할 각각의 가능성을 결정하는 것을 포함한다. 예를 들어, 컴퓨팅 디바이스(200)는 텍스트의 일부 및 수신된 음성 입력에 기초하여, 확률 모델(예를 들어, 가우시안(Gaussian) 분포)을 생성하여, 후보 텍스트가 텍스트를 예측할 가능성을 결정하도록 구성될 수 있다. 예로서, 후보 텍스트가 텍스트를 예측할 가능성은 텍스트의 일부 및 음성 입력에 기초하여 결정되는 파라미터 값들의 세트의 함수로서 결정될 수 있다. 이 예에서, 가능성은 그 파라미터 값들이 주어질 때 관찰된 결과(예를 들어, 후보 텍스트가 텍스트를 예측한다)의 확률과 같은 것으로 정의될 수 있다. 통상의 기술자는 가능성 함수를 결정하는 것은 이산 확률 분포, 연속 확률 분포, 및 혼합된 연속-이산 분포 간의 구별을 수반할 수 있고, 몇 가지 타입의 가능성, 예컨대 로그 가능성, 상대 가능성, 조건적 가능성, 마진 가능성, 프로파일 가능성, 및 부분 가능성이 존재한다.
또 다른 예에서, 컴퓨팅 디바이스(200)는 가능성을 결정하기 위한 분류기를 통해 텍스트의 일부와 음성 입력을 처리하도록 구성될 수 있다. 분류기는 입력 정보(예를 들어, 텍스트의 일부와 음성 입력)를 클래스(예를 들어, 후보 텍스트가 텍스트를 정확하게 예측한다)에 매핑하는 분류 알고리즘에 의해 구현되는 알고리즘 또는 수학적 함수로서 정의될 수 있다.
분류는 공지된 클래스를 갖는 관찰들(또는 사례들)을 포함하는 데이터의 훈련 세트에 기초하여, 클래스들의 세트(예를 들어, "후보 텍스트가 텍스트를 정확하게 예측한다"와 "후보 텍스트가 텍스트를 정확하게 예측하지 않는다") 중 어느 것에 새로운 관찰이 속할 수 있는지를 식별하는 것을 수반할 수 있다. 개개의 관찰들은 다양한 설명적인 변수들 또는 특징들로서 알려진, 정량화 가능한 특성들의 세트로 분석될 수 있다. 예로서, 분류는 수신된 정보(예를 들어, 텍스트의 일부와 음성 입력)에 의해 지시되는 바와 같이 "후보 텍스트가 텍스트를 정확하게 예측한다" 클래스 또는 "후보 텍스트가 텍스트를 정확하게 예측하지 않는다" 클래스에 각각의 가능성을 할당하는 것을 포함할 수 있다.
일 예에서, 분류는 확률적 분류를 포함할 수 있다. 확률적 분류 알고리즘들은 가능한 클래스들: "후보 텍스트가 텍스트를 정확하게 예측한다" 또는 "후보 텍스트가 텍스트를 정확하게 예측하지 않는다" 각각의 멤버인 사례(예를 들어, 텍스트의 예측에 관련된 수신된 정보에 의해 지시되는 관찰의 그룹 또는 타이핑 사례)의 확률을 출력할 수 있다. 후보 텍스트가 텍스트를 정확하게 예측할 가능성을 결정하는 것은 각각의 클래스에 할당된 확률에 기초할 수 있다. 또한, 확률 분류는 텍스트의 예측과 연관된 신뢰값을 출력할 수 있다.
분류 알고리즘들의 예는 선형 분류기들(예를 들어, Fisher의 선형 판별, 로지스틱 회귀 분석, 나이브 베이즈(naive Bayes), 및 퍼셉트론), 지지 벡터 머신(예를 들어, 최소제곱법 지지 벡터 머신), 이차 함수 분류기, 커널 평가(예를 들어, k-근접 이웃법), 부스팅, 판정 트리(예를 들어, 랜덤 포레스트), 신경망, 유전자 발현 프로그래밍, 베이지안(Bayesian) 네트워크, 은닉 마르코프(Markov) 모델, 및 학습 벡터 양자화를 포함할 수 있다. 다른 예의 분류기들도 가능하다.
설명을 위한 예로서, 선형 분류기는 내적을 이용하여, 사례(예를 들어, 타이핑 사례)의 특징 벡터(텍스트의 일부와 음성 입력과 연관된 파라미터들의 벡터)와 가중치의 벡터를 결합함으로써 각각의 가능한 클래스 k(예를 들어, "후보 텍스트가 텍스트를 정확하게 예측한다" 또는 "후보 텍스트가 텍스트를 정확하게 예측하지 않는다")에 대해 점수 또는 가능성을 할당하는 선형 함수로서 표현될 수 있다. 최고 점수 또는 가능성을 갖는 클래스가 예측된 클래스로서 선택될 수 있다. 이러한 타입의 점수 함수는 선형 예측기 함수로서 알려져 있고, 다음과 같은 일반적인 형태를 가질 수 있다:
[수학식 1]
Figure 112015029890389-pct00001
여기서, Xi는 사례 i에 대한 특징 벡터이고, βk는 카테고리 k에 대응하는 가중치 벡터이고, score(Xi, k)는 사례 i를 카테고리 k에 할당하는 것과 연관된 점수이다.
예로서, 훈련 컴퓨팅 디바이스는 복수의 타이핑 사례에 대한 훈련 데이터를 수신하도록 구성될 수 있다. 예를 들어, 복수의 타이핑 사례 각각에 대해, 각각의 훈련 데이터는 각각의 타이핑된 문자들 및 각각의 음성 입력을 포함할 수 있다. 또한, 훈련 컴퓨팅 디바이스는 복수의 타이핑 사례 각각에 대한 각각의 텍스트에 대해, 소정의 후보 텍스트를 결정하고; 소정의 후보 텍스트가 각각의 텍스트를 정확히 예측할 긍정적 또는 부정적 지시를 수신하도록 구성될 수 있다. 또한, 훈련 컴퓨팅 디바이스는 각각의 타이핑 사례에 대해, 긍정적 또는 부정적 지시를 각각의 훈련 데이터와 상관시키고; 복수의 타이핑 사례들에 대한 상관들에 기초하여 분류기의 파라미터들(예를 들어, 수학식 1에 대한 가중치 벡터)을 결정하도록 구성될 수 있다. 이러한 파라미터들은 컴퓨팅 디바이스(200)에 제공되어 저장될 수 있어, 컴퓨팅 디바이스(200)가 임의의 타이핑 사례에서 텍스트의 일부 및 음성 입력을 수신할 때, 컴퓨팅 디바이스(200)가 텍스트의 일부 및 음성 입력을 분류기의 결정된 파라미터들을 이용하여 분류기를 통해 처리하여 후보 텍스트가 텍스트를 정확하게 예측할 가능성을 결정하도록 구성될 수 있다.
일 예에서, 가능성은 "저", "중", 또는 "고" 등과 같이 질적일 수 있다. 다른 예들이 가능하다.
일 예에서, 컴퓨팅 디바이스(200)는 텍스트의 일부에 기초하여 후보 텍스트를 결정하는 것과 연관된 제1 가능성을 결정하고; 음성 입력에 기초하여 후보 텍스트를 결정하는 것과 연관된 제2 가능성을 결정하도록 구성될 수 있다. 또한, 컴퓨팅 디바이스(200)는 제1 가능성과 제2 가능성을 결합하여 후보 텍스트가 텍스트를 예측할 전체적인 가능성을 결정하도록 구성될 수 있다. 제1 가능성과 제2 가능성을 결합하는 것은 예를 들어, 제1 및 제2 가능성의 수학적 함수(예를 들어, 합산, 등)를 결정하는 것을 포함할 수 있다. 다른 예에서, 제1 가능성과 제2 가능성을 결합하는 것은 질적인 전체적 가능성을 산출할 수 있다. 하기의 표 1은 예시의 후보 텍스트에 대한 제1 가능성과 제2 가능성의 결합을 설명하기 위한 예를 나타낸다.
제1 가능성 제2 가능성 전체 가능성
예에서, 후보 텍스트가 텍스트를 예측할 각각의 가능성을 결정하는 것에 외에, 컴퓨팅 디바이스(200)는 후보 텍스트에 대한 각각의 순위를 결정하도록 구성될 수 있다. 예로서, 도 2a를 참조하면, 컴퓨팅 디바이스(200)는 텍스트 "Con"의 일부 및 구어 발음(208)에 대응하는 음성 입력에 기초하여, 세 개의 후보 텍스트: "Constitution", "Contribution", 및 "Convolution"을 결정하도록 구성될 수 있다. 컴퓨팅 디바이스는 세 개의 후보 텍스트 각각에 대한 각각의 가능성을 결정하고; 각각의 가능성에 기초하여, 후보 텍스트들 각각에 대한 각각의 순위를 결정하도록 구성될 수 있다. 각각의 순위는 예를 들어, 각각의 후보 텍스트가 텍스트를 예측하는 신뢰의 레벨을 나타낼 수 있다. 예를 들어, "Constitution"과 "Convolution" 이들 2개의 후보 텍스트의 각각의 가능성에 기초하여 전자는 최고 순위일 수 있고, 후자는 최저 순위일 수 있다.
도 1을 다시 참조하면, 블록 110에서, 방법(100)은 하나 이상의 후보 텍스트들을 제공하는 것을 포함한다. 예를 들어, 컴퓨팅 디바이스는 결정된 후보 텍스트들을 컴퓨팅 디바이스에 가시적으로 제시하도록 구성될 수 있다. 예로서, 도 2a를 참조하면, 컴퓨팅 디바이스(200)는 후보 텍스트들(210A, 210B, 210C)의 리스트의 표시를 생성하도록 구성될 수 있다. 후보 텍스트들(210A-C)은, 사용자가 타이핑하려고 할 수 있는 텍스트와 매칭하는 정확한 후보 텍스트를 사용자가 선택할 수 있고, 그에 따라 정확한 후보 텍스트가 컴퓨팅 디바이스(200)의 터치 스크린(202)상의 입력 박스(204)에 삽입될 수 있도록, 사용자에 의해 선택될 수 있다.
일 예에서, 컴퓨팅 디바이스(200)는 후보 텍스트들(210A-C)의 (상기 블록(108)에서 결정된) 각각의 순위들에 기초하여 리스트의 표시를 생성하도록 구성될 수 있다. 예를 들어, 최고 순위의 후보 텍스트는 리스트의 최상부에 있을 수 있다.
컴퓨팅 디바이스(200)와 서버 간에 분산되는 후보 텍스트들을 결정하는 태스크의 예에서, 컴퓨팅 디바이스(200)는 텍스트의 일부와 음성 입력을 서버에 제공하면서, 텍스트의 일부에 기초하여 결정되거나 예측된 후보 텍스트들을 사용자에게 제시하도록 구성될 수 있다. 서버로부터 후보 텍스트 결과들을 수신하면, 컴퓨팅 디바이스(200)는 서버로부터 수신된 후보 텍스트들을 포함시키기 위해 표시된 후보 텍스트들의 리스트를 수정하도록 구성될 수 있거나, 또는 서버로부터 수신된 정보에 기초하여 후보 텍스트들의 순위를 변경할 수 있다. 예를 들어, 도 2b를 참조하면, 컴퓨팅 디바이스(200)는 "
Figure 112015029890389-pct00002
"("what a nice day")에 대응하는 병음 머리글자들 "jttqhh"에 기초하여, 세 개의 후보 텍스트 "
Figure 112015029890389-pct00003
"(212A), "
Figure 112015029890389-pct00004
"(212B), "
Figure 112015029890389-pct00005
"(212C)를 결정할 수 있다. 또한, 컴퓨팅 디바이스(200)는 후보 텍스트(212B)를 두 번째로서 순위를 매길 수 있다. 서버로부터 수신된 정보에 기초하여, 컴퓨팅 디바이스(200)는 순위를 변경하도록 구성될 수 있다.
다른 예에서, 컴퓨팅 디바이스(200)는 후보 텍스트를 결정하고 각각의 가능성에 기초하여 후보 텍스트의 순위를 정하기 위해서 텍스트의 일부 및 입력 음성을 수신하도록 구성될 수 있으며, 사용자가 타이핑을 계속함에 따라, 컴퓨팅 디바이스(200)는 하나 이상의 타이핑된 문자를 수신하고 이에 따라 하나 이상의 문자에 기초하여 후보 텍스트들 및/또는 후보 텍스트의 순위를 변경하도록 구성될 수 있다. 따라서, 컴퓨팅 디바이스(200)는 후보 텍스트들 및 각각의 가능성을 갱신하도록 구성될 수 있다. 후보 텍스트들을 갱신하는 것은 후보 텍스트들의 서브세트를 확인하거나 또는 폐기하는 것을 포함할 수 있다. 후보 텍스트들이 예들 들어 리스트에 존재한다면, 컴퓨팅 디바이스(200)는, (ⅰ) 리스트로부터 후보 텍스트들 중 하나를 제거하는 것, (ⅱ) 하나 이상의 후보 텍스트를 리스트에 추가하는 것, 또는 (ⅲ) 후보 텍스트가 리스트상에 표시되는 순서를 변경하는 것 중 하나 이상을 수행하도록 구성될 수 있다.
도 2c는 일 실시예에 따른, 텍스트를 예측하는 데 사용되는 예시적인 컴퓨팅 디바이스(200)를 나타내며, 컴퓨팅 디바이스(200)는 후보 텍스트들을 변경된 순위로 표시한다. 도 2c는 후보 텍스트(212B)가 리스트의 상부에 있도록 변경된(즉, 도 2b에 도시된 순위에 대해) 후보 텍스트들(212A-C)의 순위를 도시하며, 이는 후보 텍스트(212B)가 텍스트를 예측할 가능성이 가장 높다는 것을 나타낼 수 있다. 전술한 바와 같이, 예에서, 순위의 변경은 컴퓨팅 디바이스(200)에서 더 많은 타이핑된 문자들을 수신함에 의해 야기되거나 또는 텍스트의 일부 및 음성 입력에 기초하여 갱신된 후보 텍스트들을 (예컨대, 서버로부터) 수신함에 의해 야기될 수 있다.
도 3은 일 실시예에 따른 예시적인 분산 컴퓨팅 아키텍처를 나타낸다. 도 3은 네트워크(306)를 통해 프로그램 가능한 디바이스들(308a, 308b 및 308c)과 통신하도록 구성된 서버 디바이스들(302 및 304)을 도시한다. 네트워크(306)는 LAN, WAN(wide area network), 기업 인트라넷, 공공 인터넷, 또는 네트워킹된 컴퓨팅 디바이스들 사이에 통신 경로를 제공하도록 구성된 임의의 다른 타입의 네트워크에 대응할 수 있다. 네트워크(306)는 또한 하나 이상의 LAN, WAN, 기업 인트라넷들 및/또는 공공 인터넷의 조합에 대응할 수 있다.
도 3이 3개의 프로그램 가능한 디바이스들을 도시할지라도, 분산 애플리케이션 아키텍처들은 수십, 수백 또는 수천의 프로그램 가능한 디바이스들을 서빙할 수 있다. 더욱이, 프로그램 가능한 디바이스들(308a, 308b 및 308c)(또는 임의의 추가 프로그램 가능한 디바이스들)은 임의의 종류의 컴퓨팅 디바이스, 예를 들어 통상의 랩탑 컴퓨터, 데스크탑 컴퓨터, 네트워크 단말기, 무선 통신 디바이스(예를 들어, 태블릿, 셀 폰 또는 스마트 폰 등) 등일 수 있다. 일부 예에서, 프로그램 가능한 디바이스들(308a, 308b 및 308c)은 소프트웨어 애플리케이션의 설계 및 사용에 전용될 수 있다. 다른 예에서, 프로그램 가능한 디바이스들(308a, 308b 및 308c)은 다수의 태스크를 수행하도록 구성된 범용 컴퓨터들일 수 있으며, 소프트웨어 개발 툴에 전용되지 않을 수 있다.
서버 디바이스들(302 및 304)은 프로그램 가능한 디바이스들(308a, 308b 및 308c)에 의해 요청되는 하나 이상의 서비스들을 수행하도록 구성될 수 있다. 예컨대, 서버 디바이스들(302 및/또는 304)은 프로그램 가능한 디바이스들(308a 내지 308c)에 콘텐츠를 제공할 수 있다. 콘텐츠는 웹 페이지들, 하이퍼텍스트, 스크립트들, 컴파일된 소프트웨어와 같은 이진 데이터, 이미지들, 오디오 및/또는 비디오를 제한적이지 않게 포함할 수 있다. 콘텐츠는 압축 및/또는 비압축 콘텐츠를 포함할 수 있다. 콘텐츠는 암호화 및/또는 암호 해독될 수 있다. 다른 타입의 콘텐츠도 물론 가능하다.
다른 예로서, 서버 디바이스(302 및/또는 304)는 데이터베이스, 탐색, 계산, 그래픽, 오디오, 비디오, WWW(World Wide Web)/인트라넷 활용, 및/또는 다른 기능을 위해 소프트웨어에 대한 액세스를 프로그램 가능한 디바이스들(308a 내지 308c)에 제공할 수 있다. 서버 디바이스들의 많은 다른 예들도 물론 가능하다.
서버 디바이스들(302 및/또는 304)은 프로그램 로직, 및/또는 클라우드 기반 애플리케이션 및/또는 서비스들의 데이터를 저장하는 클라우드 기반 디바이스들일 수 있다. 일부 예에서, 서버 디바이스들(302 및/또는 304)은 단일 컴퓨팅 센터에 상주하는 단일 컴퓨팅 디바이스일 수 있다. 다른 예에서, 서버 디바이스들(302 및/또는 304)은 단일 컴퓨팅 센터에서의 다수의 컴퓨팅 디바이스들, 또는 다양한 지리적 위치에서 다수의 컴퓨팅 센터들에 위치하는 다수의 컴퓨팅 디바이스들을 포함할 수 있다. 예컨대, 도 3은 상이한 물리적 위치에 상주하는 서버 디바이스들(302 및 304) 각각을 도시한다.
일부 예에서, 서버 디바이스들(302 및/또는 304)에서 데이터 및 서비스들은 비일시적인 유형의(tangible) 컴퓨터 판독 가능 매체(또는 컴퓨터 판독 가능 저장 매체)에 저장되고 프로그램 가능한 디바이스들(308a, 308b, 및 308c) 및/또는 다른 컴퓨팅 디바이스들에 의해 액세스 가능한 컴퓨터 판독 가능한 정보로서 인코딩될 수 있다. 일부 예에서, 서버 디바이스들(302 및/또는 304)에서 데이터는 단일 디스크 드라이브 또는 다른 유형의 저장 매체상에 저장될 수 있거나, 또는 다수의 디스크 드라이브 또는 하나 이상의 다양한 지리적 위치에 위치한 다른 유형의 저장 매체상에서 구현될 수 있다.
도 4a는 일 실시예에 따른 예시적인 컴퓨팅 디바이스(예컨대, 시스템)의 블록도이다. 특히, 도 4a에 도시된 컴퓨팅 디바이스(400)는 서버 디바이스들(302 및 304), 네트워크(306) 및/또는 하나 이상의 프로그램 가능한 디바이스들(308a, 308b 및 308c)의 하나 이상의 기능들을 수행하도록 구성될 수 있다. 컴퓨팅 디바이스(400)는 사용자 인터페이스 모듈(402), 네트워크 통신 인터페이스 모듈(404), 하나 이상의 프로세스들(406), 및 데이터 스토리지(408)를 포함할 수 있으며, 이들 모두는 시스템 버스, 네트워크 또는 다른 연결 메커니즘(410)을 통해 함께 링크될 수 있다.
사용자 인터페이스 모듈(402)은 외부 사용자 입력/출력 디바이스들에 데이터를 전송 및/또는 그로부터 데이터를 수신하도록 동작가능할 수 있다. 예컨대, 사용자 인터페이스 모듈(402)은 사용자 입력 디바이스들, 예를 들어 키보드, 키패드, 터치 스크린, 컴퓨터 마우스, 트랙볼, 조이스틱, 카메라, 음성 인식/합성 모듈, 및/또는 다른 유사한 디바이스들에 데이터를 전송하고 및/또는 그로부터 데이터를 수신하도록 구성될 수 있다. 사용자 인터페이스 모듈(402)은 또한 사용자 디스플레이 디바이스들, 예를 들어 하나 이상의 CRT(cathode ray tube), LCD(liquid crystal display), LED(light emitting diode), DLP(digital light processing) 기술을 이용한 디스플레이들, 프린터들, 백열전구들, 및/또는 지금 개발되어 있거나 나중에 개발될, 다른 유사한 디바이스들에 출력을 제공하도록 구성될 수 있다. 사용자 인터페이스 모듈(402)은 또한 가청 출력(들), 예컨대 스피커, 스피커 잭, 오디오 출력 포트, 오디오 출력 디바이스, 이어폰, 및/또는 다른 유사한 디바이스들을 생성하도록 구성될 수 있다.
네트워크 통신 인터페이스 모듈(404)은 네트워크, 예를 들어 도 3에 도시된 네트워크(306)를 통해 통신하도록 구성 가능한 하나 이상의 무선 인터페이스들(412) 및/또는 하나 이상의 유선 인터페이스들(414)을 포함할 수 있다. 무선 인터페이스들(412)은 하나 이상의 무선 송신기들, 수신기들, 및/또는 송수신기들, 예를 들어 블루투스 송수신기, 지그비(Zigbee) 송수신기, Wi-Fi 송수신기, LTE 송수신기, 및/또는 무선 네트워크를 통해 통신하도록 구성 가능한 다른 유사한 타입의 무선 송수신기를 포함할 수 있다. 유선 인터페이스들(414)은 하나 이상의 유선 송신기들, 수신기들, 및/또는 송수신기들, 예를 들어 이더넷 송수신기, USB(Universal Serial Bus) 송수신기, 또는 연선(twisted pair wire), 동축 케이블, 광섬유 링크, 또는 유선 네트워크에 대한 유사한 연결을 통해 통신하도록 구성 가능한 유사한 송수신기를 포함할 수 있다.
일부 예에서, 네트워크 통신 인터페이스 모듈(404)은 신뢰성 있고, 안전하며, 그리고/또는 인증된 통신을 제공하도록 구성될 수 있다. 본 명세서에 설명되는 각각의 통신에서, 신뢰성 있는 통신(즉, 보장된 메시지 전달)을 보증하기 위한 정보가, 아마도 메시지 헤더 및/또는 푸터(footer)의 일부로서(예컨대 패킷/메시지 시퀀싱 정보, 캡슐화 헤더(들) 및/또는 푸터(들), 크기/시간 정보, 및 CRC 및/또는 패리티 체크 값들과 같은 전송 검증 정보) 제공될 수 있다. 통신은 하나 이상의 암호화 프로토콜들 및/또는 알고리즘들, 예를 들어 제한적이지 않게 DES, AES, RSA, 디피-헬만(Diffie-Hellman) 및/또는 DSA를 이용하여 안전하게 될 수 있으며(예컨대, 인코딩 또는 암호화될 수 있으며) 그리고/또는 암호 해독/디코딩될 수 있다. 다른 암호화 프로토콜들 및/또는 알고리즘들이 사용될 수도 있거나 통신을 안전하게 하기 위해서(또한 암호 해독/디코딩하기 위해서) 본 명세서에 열거된 것들에 추가로 사용될 수 있다.
프로세서들(406)은 하나 이상의 범용 프로세스들 및/또는 하나 이상의 특수 목적 프로세스들(예를 들어, 디지털 신호 프로세서, 주문형 반도체(ASIC) 등)을 포함할 수 있다. 프로세스들(406)은 데이터 스토리지(408)에 포함된 컴퓨터 판독 가능한 프로그램 명령어들(415) 및/또는 전술한 바와 같은(예컨대, 방법(100)) 다른 명령어를 실행하도록 구성될 수 있다.
데이터 스토리지(408)는 프로세서들(406) 중 적어도 하나에 의해 판독 및/또는 액세스될 수 있는 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 하나 이상의 컴퓨터 판독 가능한 저장 매체는 휘발성 및/또는 비휘발성 스토리지 컴포넌트들, 예를 들어 프로세스들(406) 중 적어도 하나와 전체로 또는 부분적으로 일체화될 수 있는 광, 자기, 유기 또는 다른 메모리, 또는 디스크 스토리지를 포함할 수 있다. 일부 예에서, 데이터 스토리지(408)는 단일 물리적 디바이스(예를 들어, 하나의 광, 자기, 유기 또는 다른 메모리, 또는 디스크 스토리지 유닛)을 이용하여 구현될 수 있으며, 반면에 다른 예에서 데이터 스토리지(408)는 2 이상의 물리적 디바이스들을 이용하여 구현될 수 있다.
데이터 스토리지(408)는 컴퓨터 판독 가능한 프로그램 명령어들(415), 및 어쩌면 추가 데이터, 예를 들어 제한적이지 않게, 하나 이상의 프로세서들 및/또는 소프트웨어 애플리케이션의 스레드들에 의해 사용되는 데이터를 포함할 수 있다. 일부 예에서, 데이터 스토리지(408)는 본 명세서에 설명한 방법들(예컨대, 방법(100)) 및 기술들의 적어도 일부, 및/또는 본 명세서에 설명한 디바이스들 및 네트워크들의 기능의 적어도 일부를 수행하는데 요구되는 스토리지를 더 포함할 수 있다.
도 4b는 일 실시예에 따른 클라우드 기반 서버 시스템을 나타낸다. 도 4b에서, 서버 디바이스(302 및/또는 304)의 기능들은 3개의 컴퓨팅 클러스터들(416a, 416b 및 416c) 사이에 분산될 수 있다. 컴퓨팅 클러스터(416a)는 로컬 클러스터 네트워크(424a)에 의해 연결된 하나 이상의 컴퓨팅 디바이스들(418a)(예컨대, 컴퓨팅 디바이스(400)), 클러스터 스토리지 어레이들(420a), 및 클러스터 라우터들(422a)를 포함할 수 있다. 유사하게, 컴퓨팅 클러스터(416b)는 로컬 클러스터 네트워크(424b)에 의해 연결된 하나 이상의 컴퓨팅 디바이스들(418b), 클러스터 스토리지 어레이들(420b), 및 클러스터 라우터들(422b)를 포함할 수 있다. 마찬가지로, 컴퓨팅 클러스터(416c)는 로컬 클러스터 네트워크(424c)에 의해 연결된 하나 이상의 컴퓨팅 디바이스들(418c), 클러스터 스토리지 어레이들(420c), 및 클러스터 라우터들(422c)를 포함할 수 있다.
일부 예에서, 컴퓨팅 클러스터들(416a, 416b 및 416c) 각각은 동일한 수의 컴퓨팅 디바이스들, 동일한 수의 클러스터 스토리지 어레이들, 동일한 수의 클러스터 라우터들을 가질 수 있다. 그러나, 다른 예에서 각각의 컴퓨팅 클러스터는 상이한 수의 컴퓨팅 디바이스들, 상이한 수의 클러스터 스토리지 어레이들, 및 상이한 수의 클러스터 라우터들을 가질 수 있다. 각각의 컴퓨팅 클러스터에서의 컴퓨팅 디바이스들, 클러스터 스토리지 어레이들, 및 클러스터 라우터들의 수는 각각의 컴퓨팅 클러스터에 할당된 컴퓨팅 태스크 또는 태스크들에 따라 달라질 수 있다.
예컨대, 컴퓨팅 클러스터(416a)에서, 컴퓨팅 디바이스들(418a)은 서버 디바이스(302)의 다양한 컴퓨팅 태스크들을 수행하도록 구성될 수 있다. 일례에서, 서버 디바이스(302)의 다양한 기능은 하나 이상의 컴퓨팅 디바이스들(418a, 418b 및 418c) 사이에 분산될 수 있다. 컴퓨팅 클러스터들(416b 및 416c)에서의 컴퓨팅 디바이스들(418b 및 418c)은 컴퓨팅 클러스터(416a)에서의 컴퓨팅 디바이스들(418a)과 유사하게 구성될 수 있다. 한편, 일부 예에서 컴퓨팅 디바이스들(418a, 418b 및 418c)은 상이한 기능들을 수행하도록 구성될 수 있다.
일부 예에서, 서버 디바이스들(302 및/또는 304)과 연관된 컴퓨팅 태스크 및 저장된 데이터는 서버 디바이스들(302 및/또는 304)의 처리 요건, 컴퓨팅 디바이스들(418a, 418b 및 418c)의 처리 능력, 각각의 컴퓨팅 클러스터에서의 컴퓨팅 디바이스들 사이 및 컴퓨팅 클러스터들 자체 사이에서 네트워크 링크들의 레이턴시, 및/또는 비용, 속도, 고장 허용 범위, 탄성, 효율 및/또는 전반적인 시스템 아키텍처의 다른 설계 목적에 기여할 수 있는 다른 요인들에 적어도 부분적으로 기초하여 컴퓨팅 디바이스들(418a, 418b 및 418c)에 걸쳐 분산될 수 있다.
컴퓨팅 클러스터들(416a, 416b 및 416c)의 클러스터 스토리지 어레이들(420a, 420b 및 420c)은 하드 디스크 드라이브의 그룹들에 대한 판독 및 기입 액세스를 관리하도록 구성된 디스크 어레이 제어기를 포함하는 데이터 스토리지 어레이들일 수 있다. 디스크 어레이 제어기들은 또한 홀로 또는 이들 각각의 컴퓨팅 디바이스와 결합하여, 하나 이상의 컴퓨팅 디바이스들이 하나 이상의 클러스터 스토리지 어레이들에 액세스하는 것을 방해하는 디스크 드라이브 또는 다른 클러스터 스토리지 어레이 장애 및/또는 네트워크 장애로부터 보호하기 위해서 클러스터 스토리지 어레이들에 저장된 데이터의 백업 또는 여분의 사본들을 관리하도록 구성될 수 있다.
서버 디바이스들(302 및 304)의 기능들이 컴퓨팅 클러스터들(416a, 416b 및 416c)의 컴퓨팅 디바이스들(418a, 418b 및 418c)에 걸쳐 분산될 수 있는 방식과 유사하게, 이들 컴포넌트들의 다양한 활성 부분들 및/또는 백업 부분들은 클러스터 스토리지 어레이들(420a, 420b 및 420c)에 걸쳐 분산될 수 있다. 예컨대, 일부 클러스터 스토리지 어레이들은 서버 디바이스(302)의 데이터를 저장하도록 구성될 수 있으며, 반면에 다른 클러스터 스토리지 어레이들은 서버 디바이스(304)의 데이터를 저장할 수 있다. 또한, 일부 클러스터 스토리지 어레이들은 다른 클러스터 스토리지 어레이들에 저장된 데이터의 백업 버전을 저장하도록 구성될 수 있다.
컴퓨팅 클러스터들(416a, 416b 및 416c)에서의 클러스터 라우터들(422a, 422b 및 422c)은 컴퓨팅 클러스터들에 대한 내부 및 외부 통신을 제공하도록 구성된 네트워킹 설비를 포함할 수 있다. 예컨대, 컴퓨팅 클러스터(416a)에서의 클러스터 라우터(422a)는, (ⅰ) 컴퓨팅 디바이스들(418a)과 클러스터 어레이들(420a) 사이에 로컬 클러스터 네트워크(424a)를 통한 근거리 통신망 통신, 및 (ⅱ) 컴퓨팅 클러스터(416a)와 컴퓨팅 클러스터들(416b 및 416c) 사이에 네트워크(306)와의 원거리 통신망 연결(426a)을 통한 원거리 통신망 통신을 제공하도록 구성된 하나 이상의 인터넷 스위칭 및 라우팅 디바이스들을 포함할 수 있다. 클러스터 라우터들(422b 및 422c)은 클러스터 라우터들(422a)과 유사한 네트워크 설비를 포함할 수 있으며, 클러스터 라우터들(422b 및 422c)은 클러스터 라우터들(422a)이 컴퓨팅 클러스터(416a)를 위해 수행하는, 컴퓨팅 클러스터들(416b 및 416c)에 대한 유사한 네트워킹 기능들을 수행할 수 있다.
일부 예에서, 클러스터 라우터들(422a, 422b 및 422c)의 구성은 컴퓨팅 디바이스들 및 클러스터 스토리지 어레이들의 데이터 통신 요건, 클러스터 라우터들(422a, 422b 및 422c)에서의 네트워크 설비의 데이터 통신 능력, 근거리 통신망(424a, 424b, 424c)의 레이턴시 및 스루풋, 원거리 통신망 링크(426a, 426b, 426c)의 레이턴시, 스루풋 및 비용, 및/또는 비용, 속도, 고장 허용 범위, 탄성, 효율 및/또는 적당한 시스템 아키텍처의 다른 설계 목적에 기여할 수 있는 다른 요인들에 적어도 부분적으로 기초할 수 있다.
일부 예에서, 개시된 방법들(예컨대, 방법(100))은 머신 판독 가능한 형태의 비일시적 컴퓨터 판독 가능 저장 매체에 또는 다른 비일시적 매체 또는 제조물에 인코딩된 컴퓨터 프로그램 명령어들로서 구현될 수 있다. 도 5는 본 명세서에 개시된 적어도 일부 실시예에 따라서 배열된, 컴퓨팅 디바이스 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 예시적인 컴퓨터 프로그램 제품의 개념 부분도를 나타내는 개략도이다.
일 실시예에서, 예시적인 컴퓨터 프로그램 제품(500)은 신호 베어링 매체(signal bearing medium)(501)를 이용하여 제공된다. 신호 베어링 매체(501)는 하나 이상의 프로세서에 의해 실행될 때 도 1-4와 관련하여 상술한 기능 또는 기능의 일부를 제공할 수 있는 하나 이상의 프로그래밍 명령어들(502)을 포함할 수 있다. 일부 예들에서, 신호 베어링 매체(501)는 하드 디스크 드라이브, CD(Compact Disc), DVD(Digital Video Disk), 디지털 테이프, 메모리, 등과 같은 컴퓨터 판독 가능 매체(503)를 포괄할 수 있지만, 이것들에만 국한되는 것은 아니다. 일부 실시예들에서, 신호 베어링 매체(501)는 메모리, R/W(read/write) CD, R/W DVD, 등과 같은 컴퓨터 기록 가능 매체(504)를 포괄할 수 있지만, 이것들에만 국한되는 것은 아니다. 일부 실시예들에서, 신호 베어링 매체(501)는 디지털 및/또는 아날로그 통신 매체(예를 들어, 광 섬유 케이블, 도파관, 유선 통신 링크, 무선 통신 링크 등)와 같은 통신 매체(505)를 포괄할 수 있지만, 이것들에만 국한되는 것은 아니다. 따라서, 예컨대 신호 베어링 매체(501)는 무선 형태의 통신 매체(505)(예로서, IEEE 802.11 표준 또는 다른 전송 프로토콜을 따르는 무선 통신 매체)에 의해 운반될 수 있다.
하나 이상의 프로그래밍 명령어들(502)은, 예를 들어 컴퓨터 실행 가능 및/또는 로직 구현 명령어들일 수 있다. 일부 예들에서, 도 3의 프로그램 가능한 디바이스들(308a-c) 또는 도 4b의 컴퓨팅 디바이스들(418a-c)과 같은 컴퓨팅 디바이스는, 하나 이상의 컴퓨터 판독 가능 매체(503), 컴퓨터 기록 가능 매체(504) 및/또는 통신 매체(505) 중 하나 이상에 의해 프로그램 가능한 디바이스들(308a-c) 또는 컴퓨팅 디바이스들(418a-c)로 전달되는 프로그래밍 명령어들(502)에 응답하여 다양한 동작들, 기능들 또는 액션들을 제공하도록 구성될 수 있다.
본 명세서에 설명된 구성들이 단지 예시를 위한 것임을 잘 알 것이다. 그에 따라, 통상의 기술자라면 다른 구성들 및 다른 요소들(예컨대, 기계들, 인터페이스들, 기능들, 순서들, 및 기능들의 그룹들 등)이 그 대신에 사용될 수 있고, 일부 요소들이 원하는 결과들에 따라 완전히 생략될 수 있다는 것을 잘 알 것이다. 더욱이, 설명되는 요소들 중 다수는 개별 또는 분산 컴포넌트들로서 또는 임의의 적절한 조합 및 위치에서 다른 컴포넌트들과 결합하여 구현될 수 있는 기능 엔티티들이다.
다양한 양상들 및 실시예들이 본 명세서에 개시되었지만, 다른 양상들 및 실시예들도 통상의 기술자에게 자명할 것이다. 본 명세서에서 개시되는 다양한 양상들 및 실시예들은 설명의 목적을 위한 것이고, 한정을 의도하지 않으며, 진정한 범위는 아래의 청구항들, 및 이러한 청구항들이 권리를 갖는 균등물들의 전체 범위와 함께 지시된다. 또한, 본 명세서에 사용된 용어가 단지 특정 실시예를 기재하려는 목적을 위한 것일 뿐, 제한하려는 의도를 갖지 않는 것으로 이해되어야 한다.

Claims (20)

  1. 텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하는 단계 - 상기 하나 이상의 타이핑된 문자는 제1 언어에 속함 -;
    적어도 상기 텍스트의 상기 일부의 구어 발음에 대응하는 음성 입력을 수신하는 단계 - 상기 구어 발음은 상기 제1 언어와 다른 제2 언어에 속함 -;
    상기 하나 이상의 타이핑된 문자 및 상기 음성 입력에 기초하여 상기 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하는 단계; 및
    상기 하나 이상의 후보 텍스트를 제공하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 텍스트는 (i) 형태소(morpheme), (ii) 단어(word) 또는 (iii) 구(phrase) 중 하나인 방법.
  3. 제1항에 있어서,
    상기 제1 언어는 영어이고, 상기 하나 이상의 타이핑된 문자는 병음 문자(Pinyin character)를 포함하며, 상기 제2 언어는 중국어, 일본어 또는 한국어 중 하나인 방법.
  4. 제1항에 있어서,
    상기 텍스트의 상기 일부 및 상기 음성 입력을 수신하는 단계는 컴퓨팅 디바이스에서 상기 텍스트의 상기 일부 및 상기 음성 입력을 수신하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 후보 텍스트 각각에 대해, 각각의 후보 텍스트가 상기 텍스트를 예측할 각각의 가능성을 결정하는 단계를 더 포함하고, 상기 하나 이상의 후보 텍스트를 제공하는 단계는 상기 하나 이상의 후보 텍스트에 대해 결정된 각각의 가능성에 기초하여 상기 하나 이상의 후보 텍스트를 제공하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 후보 텍스트를 제공하는 단계는
    상기 각각의 가능성에 기초하여, 상기 하나 이상의 후보 텍스트 각각에 대한 각각의 순위를 결정하는 단계; 및
    상기 하나 이상의 후보 텍스트의 각각의 순위에 기초하여, 상기 하나 이상의 후보 텍스트의 리스트의 표시를 생성하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 텍스트의 하나 이상의 타이핑된 문자를 수신하는 단계;
    상기 하나 이상의 타이핑된 문자에 기초하여 상기 하나 이상의 후보 텍스트의 상기 각각의 가능성을 갱신하는 단계; 및
    상기 각각의 순위 및 상기 하나 이상의 후보 텍스트의 상기 리스트의 상기 표시를 갱신하는 단계
    를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 각각의 순위 및 상기 하나 이상의 후보 텍스트의 상기 리스트의 상기 표시를 갱신하는 단계는 (i) 상기 리스트로부터 상기 하나 이상의 후보 텍스트 중 하나를 제거하는 단계, (ii) 하나 이상의 후보 텍스트를 상기 리스트에 추가하는 단계 또는 (iii) 상기 하나 이상의 후보 텍스트가 상기 리스트 상에 표시되는 순서를 변경하는 단계 중 하나 이상을 포함하는 방법.
  9. 제5항에 있어서,
    상기 하나 이상의 후보 텍스트 각각에 대해 상기 각각의 가능성을 결정하는 단계는
    상기 하나 이상의 타이핑된 문자에 기초하여 해당 후보 텍스트의 결정과 관련된 제1 가능성을 결정하는 단계;
    상기 음성 입력에 기초하여 해당 후보 텍스트의 결정과 관련된 제2 가능성을 결정하는 단계; 및
    상기 제1 가능성과 상기 제2 가능성을 결합하여 상기 각각의 가능성을 결정하는 단계
    를 포함하는 방법.
  10. 제5항에 있어서,
    상기 각각의 가능성을 결정하는 단계는 이전에 수집된 훈련 데이터에 의해 훈련된 분류기를 통해 상기 하나 이상의 타이핑된 문자 및 상기 음성 입력을 처리하는 단계를 포함하고,
    상기 분류기를 훈련하는 단계는
    복수의 타이핑 사례에 대한 훈련 데이터를 수신하는 단계 - 상기 복수의 타이핑 사례 각각에 대한 각각의 훈련 데이터는 (i) 각각의 타이핑된 문자 및 (ii) 각각의 음성 입력을 포함함 -;
    상기 복수의 타이핑 사례 각각의 각각의 텍스트에 대해, 주어진 후보 텍스트를 결정하는 단계;
    상기 주어진 후보 텍스트가 상기 각각의 텍스트를 정확하게 예측한다는 긍정적 또는 부정적 지시를 수신하는 단계;
    각각의 타이핑 사례에 대해, 상기 긍정적 또는 부정적 지시를 상기 각각의 훈련 데이터와 상관시키는 단계; 및
    상기 복수의 타이핑 사례의 상관들에 기초하여 상기 분류기의 파라미터들을 결정하는 단계
    를 포함하는 방법.
  11. 제1항에 있어서,
    상기 하나 이상의 후보 텍스트를 결정하는 단계는
    상기 하나 이상의 타이핑된 문자에 기초하여, 후보 텍스트들의 제1 세트를 결정하는 단계;
    상기 음성 입력에 기초하여, 후보 텍스트들의 제2 세트를 결정하는 단계; 및
    후보 텍스트들의 상기 제1 세트와 후보 텍스트들의 상기 제2 세트의 비교에 기초하여 상기 하나 이상의 후보 텍스트를 선택하는 단계
    를 포함하는 방법.
  12. 컴퓨팅 디바이스에 의해 실행될 때 상기 컴퓨팅 디바이스로 하여금,
    텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하는 기능 - 상기 하나 이상의 타이핑된 문자는 제1 언어에 속함 -;
    적어도 상기 텍스트의 상기 일부의 구어 발음에 대응하는 음성 입력을 수신하는 기능 - 상기 구어 발음은 상기 제1 언어와 다른 제2 언어에 속함 -;
    상기 하나 이상의 타이핑된 문자 및 상기 음성 입력에 기초하여 상기 텍스트를 예측하는 하나 이상의 후보 텍스트를 결정하는 기능; 및
    상기 하나 이상의 후보 텍스트를 제공하는 기능
    을 포함하는 기능들을 수행하게 하는 명령어들을 저장한 컴퓨터 판독 가능 매체.
  13. 제12항에 있어서,
    상기 기능들은 상기 하나 이상의 후보 텍스트 각각에 대해, 각각의 후보 텍스트가 상기 텍스트를 예측한다는 신뢰의 레벨을 지시하는 각각의 순위를 결정하는 기능을 더 포함하며, 상기 하나 이상의 후보 텍스트를 제공하는 상기 기능은 상기 하나 이상의 후보 텍스트의 각각의 순위에 기초하여 상기 하나 이상의 후보 텍스트의 표시를 생성하는 기능을 포함하는 컴퓨터 판독 가능 매체.
  14. 제12항에 있어서,
    상기 기능들은
    상기 텍스트의 하나 이상의 타이핑된 문자를 수신하는 기능; 및
    상기 하나 이상의 타이핑된 문자에 기초하여 상기 하나 이상의 후보 텍스트를 갱신하는 기능
    을 더 포함하고,
    상기 하나 이상의 후보 텍스트를 제공하는 상기 기능은 상기 갱신에 기초하여 상기 하나 이상의 후보 텍스트를 제공하는 기능을 포함하는 컴퓨터 판독 가능 매체.
  15. 시스템으로서,
    오디오 캡처 디바이스; 및
    상기 오디오 캡처 디바이스에 결합된 컴퓨팅 디바이스
    를 포함하고,
    상기 컴퓨팅 디바이스는
    텍스트의 일부를 작성하는 하나 이상의 타이핑된 문자를 수신하고 - 상기 하나 이상의 타이핑된 문자는 제1 언어에 속함 -;
    적어도 상기 텍스트의 상기 일부의 구어 발음에 대응하는 음성 입력을 상기 오디오 캡처 디바이스로부터 수신하고 - 상기 구어 발음은 상기 제1 언어와 다른 제2 언어에 속함 -;
    상기 하나 이상의 타이핑된 문자 및 상기 음성 입력에 기초하여, 하나 이상의 후보 텍스트를 결정하고;
    상기 하나 이상의 후보 텍스트 각각에 대해, 각각의 후보 텍스트가 상기 텍스트를 예측할 각각의 가능성을 결정하고;
    상기 하나 이상의 후보 텍스트에 대해 결정된 각각의 가능성에 기초하여 상기 하나 이상의 후보 텍스트를 제공하도록 구성되는 시스템.
  16. 제15항에 있어서,
    상기 텍스트는 다수의 단어로 구성되는 구이고, 상기 하나 이상의 타이핑된 문자는 상기 다수의 단어의 병음 머리글자들이고, 상기 구어 발음은 중국어, 일본어 또는 한국어 중 하나에 속하는 시스템.
  17. 제15항에 있어서,
    상기 하나 이상의 후보 텍스트를 결정하기 위해, 상기 컴퓨팅 디바이스는
    상기 하나 이상의 타이핑된 문자에 기초하여 후보 텍스트들의 제1 세트를 결정하고;
    상기 음성 입력에 기초하여 후보 텍스트들의 제2 세트를 결정하고;
    상기 제1 세트와 상기 제2 세트 사이에 공통인 상기 하나 이상의 후보 텍스트를 선택하도록 구성되는 시스템.
  18. 제15항에 있어서,
    상기 컴퓨팅 디바이스에 결합된 디스플레이 디바이스를 더 포함하고,
    상기 하나 이상의 후보 텍스트를 제공하기 위해, 상기 컴퓨팅 디바이스는
    상기 각각의 가능성에 기초하여 상기 하나 이상의 후보 텍스트 각각에 대한 각각의 순위를 결정하고;
    각각의 순위에 기초하여 상기 하나 이상의 후보 텍스트의 표시를 생성하도록 구성되며,
    상기 표시되는 하나 이상의 후보 텍스트는 사용자에 의해 선택될 수 있는 시스템.
  19. 삭제
  20. 삭제
KR1020157007814A 2012-09-27 2013-08-30 텍스트 예측 방법 및 시스템 KR101522156B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/628,138 2012-09-27
US13/628,138 US8498864B1 (en) 2012-09-27 2012-09-27 Methods and systems for predicting a text
PCT/US2013/057444 WO2014051929A1 (en) 2012-09-27 2013-08-30 Methods and systems for predicting a text

Publications (2)

Publication Number Publication Date
KR20150043512A KR20150043512A (ko) 2015-04-22
KR101522156B1 true KR101522156B1 (ko) 2015-05-20

Family

ID=48808729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157007814A KR101522156B1 (ko) 2012-09-27 2013-08-30 텍스트 예측 방법 및 시스템

Country Status (5)

Country Link
US (1) US8498864B1 (ko)
EP (1) EP2901264A4 (ko)
KR (1) KR101522156B1 (ko)
CN (1) CN104813275B (ko)
WO (1) WO2014051929A1 (ko)

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9378290B2 (en) 2011-12-20 2016-06-28 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US8983211B2 (en) * 2012-05-14 2015-03-17 Xerox Corporation Method for processing optical character recognizer output
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8930743B2 (en) * 2012-05-21 2015-01-06 International Business Machines Corporation Preventing cascade failures in computer systems
EP2864856A4 (en) 2012-06-25 2015-10-14 Microsoft Technology Licensing Llc SEIZURE METHOD EDITOR APPLICATION PLATFORM
EP2891078A4 (en) 2012-08-30 2016-03-23 Microsoft Technology Licensing Llc CHOICE OF CANDIDATE BASED ON CHARACTERISTICS
CN103077165A (zh) * 2012-12-31 2013-05-01 威盛电子股份有限公司 自然语言对话方法及其系统
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
JP6028658B2 (ja) * 2013-03-28 2016-11-16 富士通株式会社 端末装置、変換文字候補同期方法及び変換文字候補同期プログラム
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
WO2015018055A1 (en) 2013-08-09 2015-02-12 Microsoft Corporation Input method editor providing language assistance
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
JP6165619B2 (ja) 2013-12-13 2017-07-19 株式会社東芝 情報処理装置、情報処理方法、および情報処理プログラム
JP6427755B2 (ja) * 2014-02-24 2018-11-28 パナソニックIpマネジメント株式会社 データ入力装置、データ入力方法、プログラム及び車載機
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
EP3180779A4 (en) 2014-08-13 2018-04-25 Tyco Safety Products Canada Ltd. Method and apparatus for automation and alarm architecture
US10592306B2 (en) * 2014-10-03 2020-03-17 Tyco Safety Products Canada Ltd. Method and apparatus for resource balancing in an automation and alarm architecture
US10803720B2 (en) 2014-08-13 2020-10-13 Tyco Safety Products Canada Ltd. Intelligent smoke sensor with audio-video verification
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US9978374B2 (en) * 2015-09-04 2018-05-22 Google Llc Neural networks for speaker verification
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
CN105117195B (zh) * 2015-09-09 2018-05-08 百度在线网络技术(北京)有限公司 语音输入的引导方法和装置
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
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
CN107016994B (zh) * 2016-01-27 2020-05-08 阿里巴巴集团控股有限公司 语音识别的方法及装置
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
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
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10223067B2 (en) * 2016-07-15 2019-03-05 Microsoft Technology Licensing, Llc Leveraging environmental context for enhanced communication throughput
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
USD807387S1 (en) * 2016-10-03 2018-01-09 Google Llc Display screen with animated graphical user interface
USD806737S1 (en) * 2016-10-03 2018-01-02 Google Llc Display screen with graphical user interface
USD806736S1 (en) * 2016-10-03 2018-01-02 Google Llc Display screen with animated graphical user interface
GB201619724D0 (en) * 2016-11-22 2017-01-04 Microsoft Technology Licensing Llc Trained data input system
US10417332B2 (en) * 2016-12-15 2019-09-17 Microsoft Technology Licensing, Llc Predicting text by combining attempts
EP3343951A1 (en) * 2016-12-27 2018-07-04 GN Hearing A/S Sound signal modelling based on recorded object sound
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10229685B2 (en) * 2017-01-18 2019-03-12 International Business Machines Corporation Symbol sequence estimation in speech
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
CN108009303B (zh) * 2017-12-30 2021-09-14 北京百度网讯科技有限公司 基于语音识别的搜索方法、装置、电子设备和存储介质
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US11106905B2 (en) 2018-09-04 2021-08-31 Cerence Operating Company Multi-character text input system with audio feedback and word completion
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10867603B2 (en) * 2018-10-24 2020-12-15 Sony Corporation Audio-video reproduction device setup using interview-based voice control
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109492202B (zh) * 2018-11-12 2022-12-27 浙江大学山东工业技术研究院 一种基于拼音的编码与解码模型的中文纠错方法
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN110134946B (zh) * 2019-04-15 2023-04-18 深圳智能思创科技有限公司 一种针对复杂数据的机器阅读理解方法
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
CN111274789B (zh) * 2020-02-06 2021-07-06 支付宝(杭州)信息技术有限公司 文本预测模型的训练方法及装置
KR102337290B1 (ko) * 2020-03-10 2021-12-08 한국과학기술원 맥락 카테고리 데이터셋 생성 장치 및 방법
CN115176224A (zh) * 2020-04-14 2022-10-11 Oppo广东移动通信有限公司 文本输入方法、移动设备、头戴式显示设备以及存储介质
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
EP4057259A1 (en) * 2021-03-12 2022-09-14 OMRON Corporation Character input device, character input method, and character input program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070100619A (ko) * 2006-04-07 2007-10-11 스미도모쥬기가이고교 가부시키가이샤 오니 탈수장치 및 오니 탈수방법
US20080120102A1 (en) * 2006-11-17 2008-05-22 Rao Ashwin P Predictive speech-to-text input
US20100031143A1 (en) * 2006-11-30 2010-02-04 Rao Ashwin P Multimodal interface for input of text
US20120143607A1 (en) * 2004-06-02 2012-06-07 Longe Michael Multimodal disambiguation of speech recognition

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120436C (zh) 1997-09-19 2003-09-03 国际商业机器公司 用于识别孤立、非相关汉字的语音识别方法和系统
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US6789231B1 (en) * 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US7119794B2 (en) 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
TWI295783B (en) 2005-08-12 2008-04-11 Delta Electronics Inc Text inputting device for mobile communication device and method thereof
US7941316B2 (en) * 2005-10-28 2011-05-10 Microsoft Corporation Combined speech and alternate input modality to a mobile device
US20070100619A1 (en) * 2005-11-02 2007-05-03 Nokia Corporation Key usage and text marking in the context of a combined predictive text and speech recognition system
US20080076472A1 (en) 2006-09-22 2008-03-27 Sony Ericsson Mobile Communications Ab Intelligent Predictive Text Entry
WO2008067562A2 (en) * 2006-11-30 2008-06-05 Rao Ashwin P Multimodal speech recognition system
US20080235029A1 (en) 2007-03-23 2008-09-25 Cross Charles W Speech-Enabled Predictive Text Selection For A Multimodal Application
CN101577115A (zh) * 2008-05-09 2009-11-11 台达电子工业股份有限公司 语音输入系统及其方法
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120143607A1 (en) * 2004-06-02 2012-06-07 Longe Michael Multimodal disambiguation of speech recognition
KR20070100619A (ko) * 2006-04-07 2007-10-11 스미도모쥬기가이고교 가부시키가이샤 오니 탈수장치 및 오니 탈수방법
US20080120102A1 (en) * 2006-11-17 2008-05-22 Rao Ashwin P Predictive speech-to-text input
US20100031143A1 (en) * 2006-11-30 2010-02-04 Rao Ashwin P Multimodal interface for input of text

Also Published As

Publication number Publication date
EP2901264A1 (en) 2015-08-05
EP2901264A4 (en) 2016-07-13
KR20150043512A (ko) 2015-04-22
WO2014051929A1 (en) 2014-04-03
CN104813275B (zh) 2017-03-15
US8498864B1 (en) 2013-07-30
CN104813275A (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
KR101522156B1 (ko) 텍스트 예측 방법 및 시스템
KR102596446B1 (ko) 모바일 디바이스들에서의 모달리티 학습
US9824085B2 (en) Personal language model for input method editor
US10192545B2 (en) Language modeling based on spoken and unspeakable corpuses
US10402493B2 (en) System and method for inputting text into electronic devices
US10073536B2 (en) Virtual keyboard input for international languages
JP5362095B2 (ja) インプットメソッドエディタ
US8423351B2 (en) Speech correction for typed input
JP5462001B2 (ja) 文脈上の入力方法
US20150309984A1 (en) Learning language models from scratch based on crowd-sourced user text input
US8965763B1 (en) Discriminative language modeling for automatic speech recognition with a weak acoustic model and distributed training
JP2005202917A (ja) 表音入力の曖昧さを除くためのシステムおよび方法
US20180150143A1 (en) Data input system with online learning
US9298276B1 (en) Word prediction for numbers and symbols
Vertanen et al. Mining, analyzing, and modeling text written on mobile devices
CN112154442A (zh) 短语级缩写的文本录入和转换
US20150199332A1 (en) Browsing history language model for input method editor
WO2014032265A1 (en) Browsing history language model for input method editor
US20200409474A1 (en) Acceptance of expected text suggestions
WO2023014352A1 (en) User content modification suggestions at consistent display locations

Legal Events

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

Payment date: 20180430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190426

Year of fee payment: 5