KR20220136515A - 모바일 디바이스들에서의 모달리티 학습 - Google Patents

모바일 디바이스들에서의 모달리티 학습 Download PDF

Info

Publication number
KR20220136515A
KR20220136515A KR1020227034080A KR20227034080A KR20220136515A KR 20220136515 A KR20220136515 A KR 20220136515A KR 1020227034080 A KR1020227034080 A KR 1020227034080A KR 20227034080 A KR20227034080 A KR 20227034080A KR 20220136515 A KR20220136515 A KR 20220136515A
Authority
KR
South Korea
Prior art keywords
modality
user input
recognition model
computing device
user
Prior art date
Application number
KR1020227034080A
Other languages
English (en)
Other versions
KR102596446B1 (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 구글 엘엘씨
Priority to KR1020237036510A priority Critical patent/KR20230151086A/ko
Publication of KR20220136515A publication Critical patent/KR20220136515A/ko
Application granted granted Critical
Publication of KR102596446B1 publication Critical patent/KR102596446B1/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
    • 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/0202Constructional details or processes of manufacture of the input device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Acoustics & Sound (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Abstract

모바일 디바이스(110)에서의 크로스 입력 모달리티 학습을 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법들, 시스템들, 및 장치가 개시된다. 일 양상에서, 상기 방법은 제 1 모달리티(modality)를 통해 사용자 입력들이 제 1 모달리티 인식기(first modality recognizer)를 사용하여 인식되는 제 1 모달리티 사용자 입력 모드를 활성화하는 단계(214); 상기 제 1 모달리티를 통해 사용자 입력을 수신하는 단계; 상기 제 1 모달리티 인식기가 상기 사용자 입력을 인식한 결과로서, 특정 용어를 포함하는 전사(218)를 획득하는 단계; 적어도 상기 특정 용어를 참조하는 입력 콘텍스트 데이터 구조(272)를 생성하는 단계; 및 상기 제 1 모달리티 인식기(214)에 의해서, 제 2 모달리티 인식기와 관련된 제 2 모달리티 인식 모델을 업데이트하는데 사용하기 위해 상기 입력 콘텍스트 데이터 구조를 상기 제 2 모달리티 인식기(264)로 전송하는 단계를 포함한다.

Description

모바일 디바이스들에서의 모달리티 학습{MODALITY LEARNING ON MOBILE DEVICES}
본 발명은 모바일 디바이스에 관한 것이다.
스마트 폰 및 모바일 컴퓨팅 디바이스는 사용자가 모바일 디바이스의 마이크 기능을 활성화할 때 가능해지는 보이스 타이핑(voice typing)을 지원하도록 구성된다. 일반적으로, 모바일 컴퓨팅 디바이스는 적어도 2개의 입력 방법 편집기(input method editors: IMEs), 즉 키보드(또는 텍스트) IME 및 보이스(또는 스피치) IME를 포함할 수 있다. 텍스트 IME는 디지털 텍스트의 물리적 입력 및 디스플레이를 지원하는 반면에, 보이스 IME는 보이스 입력 및 스피치 오디오의 전사(transcription)를 지원한다. 일부 모바일 디바이스 또는 사용자 디바이스의 경우, 키보드 IME가 기본 IME로 설정될 수 있으며, 따라서 디바이스에서 채택한 미리 선택된 입력 방법 옵션이다.
모바일 디바이스의 사용자가 마이크로폰 기능을 활성화할 때, 사용자는 보이스 IME에서 키보드 IME로 디바이스를 스위칭하게 할 수 있다. 경우에 따라, 이러한 스위칭은 모바일 디바이스의 디스플레이 상에서 볼 수 있는 점등된 마이크 아이콘으로 표시될 수 있다. 마찬가지로, 보이스 받아쓰기(dictation) 동안, 잘못 전사된 단어를 수동으로 수정하는 것은, IME가 터치 키보드 입력 방법으로 스위칭되게 트리거링할 수 있다. 경우에 따라, 사용자는 키보드 IME를 통해 텍스트를 입력하거나 타이핑할 수 있으며, 특정 단어 철자가 알려지지 않은 경우 사용자는 디바이스 마이크로폰을 활성화하고 보이스 전사를 통해 상기 단어를 입력하도록 선택할 수 있다.
키보드 IME 및 보이스 IME를 갖는 모바일 디바이스를 적어도 포함하는 컴퓨팅 시스템이 설명된다. 설명된 시스템은 모바일 디바이스의 보이스 입력 방법을 통해 사용자 입력을 수신한다. 시스템은 사용자 입력을 인식하고 사용자가 말한 특정 용어를 포함하는 전사(transcription)를 생성한다. 또한 상기 시스템은 적어도 상기 특정 용어를 참조하는 입력 콘텍스트 데이터 구조를 생성한다. 입력 콘텍스트 데이터 구조는 데이터 구조를 포함할 수 있으며, 상기 데이터 구조는 상기 특정 용어가 수신되는 입력 콘텍스트 또는 모달리티(modality)의 다른 데이터 표현과 함께 상기 특정 용어를 포함한다.
일반적으로, 입력 콘텍스트 데이터 구조는 시간 및/또는 날짜 파라미터들, 수신된 사용자 입력과 연관된 어플리케이션 프로그램에 대한 표시, 및 하나 이상의 n-그램(n-grams)을 포함할 수 있으며, n-그램은 연속적인 콘텍스트 아이템들 예컨대, 스피치 오디오 입력에 관련된 글자들 또는 단어들을 포함할 수 있다. 스피치 오디오는 보이스 입력 방법에 의해 수신된 사용자 입력에 대응하고, 특정 용어에 대한 인간의 음성 발음을 포함할 수 있다.
상기 시스템은 보이스 IME 뿐만 아니라 키보드 IME에 의해 액세스가능한 하나 이상의 언어 모델을 업데이트하는데 사용하기 위해, 모바일 디바이스의 키보드 IME로 상기 생성된 입력 콘텍스트 데이터 구조를 전송한다. 또한, 입력 콘텍스트 데이터 구조는 컴퓨팅 시스템의 다수의 사용자들에 의해서 글로벌적으로 액세스될 수 있는 글로벌 언어 모델을 업데이트하는데 사용될 수 있다. 업데이트된 언어 모델을 사용하면, 키보드 IME 및 보이스 IME는 특정 용어가 모바일 디바이스의 보이스 입력 방법이나 키보드 입력 방법을 통해 사용자 입력으로 다시 수신될 때 상기 특정 용어를 인식할 수 있다.
본 발명의 일 양상에서는 컴퓨터로 구현되는 방법이 서술되며, 상기 방법은 제 1 모달리티(modality)를 통한 사용자 입력들이 제 1 모달리티 인식기(first modality recognizer)를 사용하여 인식되는 제 1 모달리티 사용자 입력 모드를 활성화하는 단계; 및 상기 제 1 모달리티를 통해 사용자 입력을 수신하는 단계를 포함한다. 상기 방법은 상기 제 1 모달리티 인식기가 상기 사용자 입력을 인식한 결과로서, 특정 용어를 포함하는 전사(transcription)를 획득하는 단계; 및 적어도 상기 특정 용어를 참조하는 입력 콘텍스트 데이터 구조를 생성하는 단계를 포함한다. 또한, 상기 방법은, 상기 제 1 모달리티 인식기에 의해서, 제 2 모달리티 인식기와 관련된 제 2 모달리티 인식 모델을 업데이트하는데 사용하기 위해 상기 입력 콘텍스트 데이터 구조를 상기 제 2 모달리티 인식기로 전송하는 단계를 포함한다. 본 명세서에서 사용되는 바와 같이, 모달리티는 특정한 입력 모드, 통신 채널, 혹은 특정 유형의 사용자 입력이 사용자 디바이스에 의해서 수신 및/또는 프로세싱되는 입력 신호 경로일 수 있다.
일부 구현예에서, 상기 방법은 또한, 상기 제 2 모달리티를 통한 사용자 입력들이 상기 제 2 모달리티 인식기를 사용하여 인식되는 제 2 모달리티 사용자 입력 모드를 활성화하는 단계; 상기 제 2 모달리티를 통해 상기 특정 용어를 포함하는 사용자 입력을 수신하는 단계; 및 상기 전송하는 단계에 응답하여, 상기 제 2 모달리티 인식기에 의해서, 상기 제 2 모달리티를 통해 수신된 상기 특정 용어를 인식하는 단계를 더 포함한다. 일부 구현예에서, 상기 제 2 모달리티 인식기에 의해서 상기 특정 용어를 인식하는 단계는, 사용자 디바이스의 적어도 디스플레이에 의해서, 상기 특정 용어가 상기 제 2 모달리티 인식기에 의해 액세스될 수 있는 언어 모델에 관련됨을 나타내는 표시를 제공하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 또한 상기 제 2 모달리티를 통해 사용자 입력을 수신하는 것에 응답하여 상기 제 1 모달리티 사용자 입력 모드를 활성화하는 단계를 더 포함하고, 상기 수신된 사용자 입력은 상기 특정 용어를 포함하고, 상기 특정 용어는 상기 제 2 모달리티 인식기에 의해 인식되지 않는다.
일부 구현예에서, 상기 제 2 모달리티 인식기는, 적어도 상기 특정 용어를 참조하는 입력 콘텐츠를 포함하는 상기 제 2 모달리티를 통해 수신된 사용자 입력들의 발생(occurrence)을 검출하고; 상기 특정 용어를 참조하는 입력 콘텐츠가 상기 제 2 모탈리티를 통해 수신되는 발생들의 횟수를 추적하는 제 1 데이터 카운트를 증분시키고; 그리고 상기 특정 용어에 대응하는 사용자 입력이 상기 제 2 모달리티를 통해 수신되는 발생들의 횟수를 추적하는 제 2 데이터 카운트를 증분시키도록 구성된다.
일부 구현예에서, 상기 방법은 또한, 상기 제 1 모달리티를 통해 수신된 다수의 사용자 입력들을 포함하는 데이터베이스를 생성하는 단계; 및 상기 제 1 모달리티 인식기와 상기 제 2 모달리티 인식기 중 적어도 하나에 의해 액세스가능한 하나 이상의 글로벌 언어 모델들을 업데이트하도록, 상기 데이터베이스에 있는 적어도 하나의 사용자 입력을 이용하는 단계를 더 포함한다.
일부 구현예에서, 상기 제 1 모달리티 사용자 입력 모드는, 인간의 스피치에 대응하는 사용자 입력들이 상기 제 1 모달리티 인식기를 이용하여 인식되는 보이스 입력 모드를 포함한다. 일부 구현예에서, 상기 제 1 모달리티 인식기는, 상기 특정 용어의 발음을 포함하는 인간의 스피치에 대응하는 오디오 입력 신호를 수신하도록 구성된 보이스 입력 방법 편집기(input method editor: IME)이다.
이러한 양상의 다른 구현예들은 대응하는 컴퓨터 시스템, 장치 및 하나 이상의 컴퓨터 저장 디바이스에 기록된 컴퓨터 프로그램을 포함하며, 이들 각각은 방법들의 동작들을 수행하도록 구성된다. 하나 이상의 컴퓨터로 이루어진 시스템은 동작시에 상기 시스템으로 하여금 동작들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 설치되어 있기 때문에, 특정 동작들 혹은 액션들을 수행할 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 처리 디바이스에 의해 실행될 때 상기 디바이스로 하여금 동작을 수행하게 하는 명령을 포함함으로써 특정 동작 또는 액션들을 수행하도록 구성될 수 있다.
본 발명의 다른 양상에서는 컴퓨터로 구현되는 방법이 제공되며, 상기 방법은 컴퓨팅 디바이스에서, 보이스 모달리티를 통한 사용자 입력들이 보이스 모달리티 인식기를 사용하여 인식되는 보이스 사용자 입력 모드를 활성화하는 단계; 및 상기 보이스 모달리티를 통해 사용자 입력을 수신하는 단계를 포함한다. 상기 방법은 상기 컴퓨팅 디바이스에서 그리고 상기 보이스 모달리티 인식기가 상기 사용자 입력을 인식한 결과로서, 특정 용어를 포함하는 전사를 획득하는 단계; 및 적어도 상기 특정 용어를 참조하는 입력 콘텍스트 데이터 구조를 생성하는 단계를 포함한다. 상기 방법은 또한, 상기 보이스 모달리티 인식기에 의해서, 키보드 모달리티 인식기와 관련된 키보드 모달리티 인식 모델을 업데이트하는데 사용하기 위해 상기 입력 콘텍스트 데이터 구조를 상기 키보드 모달리티 인식기로 전송하는 단계를 포함한다.
본 명세서에 서술된 본 발명의 주제는 특정 구현예로 구현될 수 있으며, 다음과 같은 장점 중 하나 이상을 초래할 수 있다. 본 발명의 컴퓨팅 시스템은 컴퓨팅 디바이스에서 키보드 IME 학습을 향상시키기 위해, 별도의 학습 모델 또는 논리 구성을 구성하거나 정의할 필요가 없다. 수많은 키보드 학습 모델을 코딩하지 않음으로써, 컴퓨팅 디바이스의 프로세스들이 최적화되고 그리고 불필요한 계산을 최소화하여 프로세싱 효율성이 향상된다.
수신된 오디오 입력들은 전 세계적으로 다수의 사용자 디바이스들에 의해 사용되도록, 로컬 키보드 IME 뿐만 아니라 글로벌 언어 모델로 전사(transcibed) 및 전송된다. 예를 들어, 신규하거나 혹은 진화하는 스피치 발음들에 대응하는 오디오 입력 신호들의 서버 기반 또는 로컬 디바이스 분석을 기반으로, 키보드 IME 향상들이 성취될 수 있다. 따라서, 일반적인 단어의 보이스 및 키보드 사용자 입력의 중복(redundant) 신호 분석이 회피되므로, 다른 계산 및 시스템 전송을 위한 향상된 시스템 대역폭을 제공할 수 있다.
일반적인 단어 외에, 상술한 주제에 기초하여, 키보드 IME는 이제 컴퓨팅 디바이스의 스피치 인식 기능을 이용하여 새로운 단어들을 학습할 수 있다. 예를 들어, 새로운 단어는 특정한 구어체 언어 또는 컴퓨터 언어 모델에 기존에 존재하지 않았던 용어에 대응할 수 있으며(예컨대, "selfie" 또는 "bae") 또는 새로운 장소/지역의 이름에 해당할 수 있다.
본 발명의 주제에 대한 하나 이상의 구현예들의 세부 사항들은 첨부된 도면들 및 아래의 발명의 상세한 설명에서 서술될 것이다. 본 발명의 주제의 다른 피처들, 양상들, 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 예시적인 컴퓨팅 시스템에서의 크로스-모달리티 학습과 관련된 다수의 인터페이스를 도시한다.
도 2는 크로스-모달리티 학습을 위한 예시적인 컴퓨팅 시스템에 관한 도면이다.
도 3은 크로스-모달리티 학습을 위한 예시적인 프로세스의 흐름도이다.
도 4는 본 명세서에서 설명된 컴퓨터 구현예 방법과 관련하여 사용될 수 있는 컴퓨팅 시스템의 블록도이다.
도면에서 유사한 참조번호들과 명칭들은 유사한 구성요소들을 나타낸다.
도 1은 예시적인 컴퓨팅 시스템에서의 크로스-모달리티 학습(cross-modality learning)과 관련된 다수의 인터페이스를 도시한다. 다수의 인터페이스는 인터페이스(102, 104, 106 및 108)를 포함한다. 각각의 도시된 인터페이스는 사용자 디바이스(110) 상에 디스플레이될 수 있는 예시적인 사용자 입력 스크린에 대응한다. 도 1에 도시된 바와 같이, 일부 구현예에서, 사용자 디바이스(110)는 모바일 스마트폰 디바이스에 대응할 수 있다.
다른 구현예에서, 사용자 디바이스(110)는 랩탑/데스크탑 컴퓨터, 스마트 텔레비전, 전자 판독 디바이스, 스트리밍 콘텐츠 디바이스, 게임 콘솔, 태블릿 디바이스 또는 보이스 입력 방법 편집기(보이스 IME) 및 키보드 IME와 연관된 소프트웨어 명령 및 어플리케이션 프로그램을 실행하도록 구성된 기타 관련 컴퓨팅 디바이스를 포함하는 다양한 컴퓨팅 디바이스들 중 하나일 수 있다.
인터페이스(102)는 사용자 디바이스(110)에 디스플레이될 수 있고, 사용자(112)로부터 사용자 입력을 수신하는 어플리케이션 프로그램의 예시적인 사용자 인터페이스를 포함할 수 있다. 일부 구현예에서, 수신된 사용자 입력은 스피치 또는 보이스(voice) 입력이다. 도 2을 참조하여 아래에서 보다 상세하게 논의되는 바와 같이, 사용자 디바이스(110)는 적어도 2개의 IME, 즉 키보드 또는 텍스트 IME 및 보이스 또는 스피치 IME를 포함할 수 있다.
일부 구현예에서, 각각의 IME와 관련된 기능들은 사용자 디바이스(110)에 의해 액세스가능한 예시적인 클라우드 기반 컴퓨팅 시스템에서 실행될 수 있다. 도 1의 구현예에서, 사용자 디바이스(110)는 키보드 IME가 디폴트 IME인 것으로 구성될 수 있으며, 따라서 이는 디바이스(110)에 의해 채택된 미리선택된 입력 방법 옵션이다. 인터페이스(102)는 사용자(112)에 의해서 디바이스(110)가 키보드 IME에서 보이스 IME로의 스위칭을 경험하는 경우에 점등되는, 마이크로폰(114)의 디지털 표현을 포함할 수 있다.
사용자 디바이스(110)의 사용자(112)는 보이스 받아쓰기가 가능해지도록 디바이스(110)의 마이크로폰 기능을 활성화시킬 수 있다. 또한, 인터페이스(102)는 "보이스 입력 활성화"를 나타내는 메시지를 디스플레이하도록 구성될 수 있다. 디스플레이된 메시지는 디바이스(110)가 보이스 입력 모드에 있으며, 스피치 또는 보이스 입력을 수신할 수 있음을 사용자(112)에게 나타낸다. 수신된 보이스 입력은 디바이스(110)(즉, 클라이언트 측)에 의해서 로컬적으로 표기되거나(transcribed) 또는 클라우드 기반 컴퓨팅 시스템(즉, 서버 측)에 의해서 표기되어, 전사(transcription)(120)를 생성할 수 있다.
사용자(112)는 디바이스(110)의 마이크로폰 기능을 비활성화하여 보이스 받아쓰기를 중지하고 그리고 사용자 디바이스(110)의 키보드 IME로 스위칭할 수 있다. 따라서, 인터페이스(104)는 텍스트, 터치, 키보드 또는 물리적 입력 모드에 대응할 수 있으며, 디바이스(110)로의 사용자 입력은 디지털 또는 물리적 키보드 입력 방법을 통해 수신된다. 일부 구현예에서, 사용자 디바이스(110)는 디지털 키보드를 디스플레이하는 터치 스크린 디바이스이다. 디지털 키보드는 스와이프 모션, 낙서(graffiti) 모션 또는 제스처 모션에 대응하는 모션 입력(116)을 수신하도록 구성될 수 있다.
사용자 디바이스(110)에 의해 수신된 터치 또는 물리적 입력은 텍스트(122)로서 도시될 수 있다. 일부 구현예에서, 사용자(112)는 특정 용어를 타이핑 혹은 입력하기 위해 키보드 IME와 연관된 기능을 사용하도록 시도할 수 있다. 예를 들어, 특정 용어는 "밀피타스(Milpitas)"일 수 있다. 일부 구현예에서, 사용자(112)는 예를 들어, 밥(Bob)이라는 친구에게 텍스트 또는 이메일 메시지를 타이핑할 수 있다. 인터페이스(104)에 도시되지는 않았지만, 상기 메시지는 사용자(112)가 예를 들어, 캘리포니아, 산타 클라라 카운티에 있는 도시인 "밀피타스" 에서 밥(Bob)과 만날 것을 제안함을 나타낼 수 있다.
하기에 보다 상세히 논의된 바와 같이, 사용자 디바이스(112)의 키보드 IME는 여러 언어와 관련된 다수의 단어들을 포함하는 예시적인 언어 모델에 연결될 수 있다. 하지만, 이 경우 상기 언어 모델은 타이핑된 단어 "밀피타스"를 인식하지 않는다. 왜냐하면, "밀피타스" 라는 단어는 모델에 의해서 인식되지 않으며, 인터페이스(104)의 텍스트(122)에 도시된 바와 같이, 키보드 IME와 관련된 자동 보정 로직(autocorrect logic)은 예를 들어, 밀피타스를 "미모사(mimosas)"로 변경 혹은 자동 보정할 것을 제안할 수 있다.
마찬가지로, 키보드 IME와 관련된 자동 보정 혹은 철자법 체크 로직(spell-check logic)은, "밀피타스(Milpitas)" 라는 입력된 단어의 철자가 잘못되었다라고 사용자(112)에게 나타낼 수 있다. 따라서, 인터페이스(104)에 의해 도시된 바와 같이, "미모사(mimosas)", "밀로스(Milos)" 또는 "마일(miles)" 과 같은 샘플 단어들이 디바이스(110)의 키보드 IME와 연관된 예시적인 텍스트 제안 로직에 의해 제안될 수 있다. 입력된 특정 단어를 다른 단어로 변경하라고 사용자 디바이스(110)가 제안함에 응답하여, 사용자(112)는 보이스 받아쓰기가 가능해지도록 디바이스(110)의 마이크로폰 기능을 활성화할 수 있다.
인터페이스(106)와 인터페이스(108)는 크로스-모달리티 학습과 관련된 하나 이상의 동작들에 대한 묘사를 제공한다. 인터페이스(106)는 사용자(112)에 의해서 디바이스(110)가 키보드 IME로부터 보이스 IME로 스위칭을 경험하게될 때 발생하는 점등된 마이크로폰(114)을 나타낸다. 일부 구현예에서, 크로스-모달리티 학습 동작은 보이스 사용자 입력 모드(voice user input mode)를 활성화시키는 것을 포함할 수 있는바, 보이스 사용자 입력 모드에서는 보이스 모달리티 인식기(voice modality recognizer)를 사용하여 보이스 모달리티(voice modality)을 통해 사용자 입력들이 인식된다.
예를 들어, 일반적으로 키보드 IME로부터 보이스 IME로의 스위칭은 보이스 받아쓰기를 가능케하는 보이스 사용자 입력 모드를 활성화하는 것에 대응할 수 있다. 또한, 보이스 모달리티 인식기는 일반적으로 보이스 IME에 대응할 수 있는 반면에, 보이스 모달리티(voice modality)는 보이스 받아쓰기 기능이 활성화된 사용자 디바이스(110)의 보이스 입력 기능에 일반적으로 대응할 수 있다. 본 명세서에서 사용되는 바와 같이, 모달리티는 특정 유형의 사용자 입력이 사용자 디바이스(110)에 의해서 수신 및/또는 처리되는 특정 입력 모드, 통신 채널 또는 입력 신호 경로일 수 있다.
크로스-모달리티 학습 동작을 다시 참조하면, 보이스 모달리티를 통한 사용자 입력이 사용자 디바이스(110)에 의해 수신될 수 있다. 보이스 IME는 다수의 단어 발음들(multiple word utterances)을 포함하는 인간의 음성에 관련된 오디오 입력과 같은 사용자 입력들을 인식하도록 구성될 수 있다. 또한, 보이스 IME가 사용자 입력을 인식한 결과로서, 디바이스(110)는 특정 용어를 포함하는 전사를 획득할 수 있다. 예를 들어, 인터페이스(106)의 묘사에서, 특정 용어는 사용자(112)에 의해 제공된 단어 "밀피타스"의 인간의 음성 발음의 형태로 입력될 수 있다.
학습 동작은, 특정 용어 또는 음성 발음에 대한 전사를 획득하는 것을 포함할 수 있다. 따라서, 텍스트(124)에 의해 도시된 바와 같이, 발음된 단어 "밀피타스"에 대한 전사(transcription)가 예시적인 크로스-모탈리티 학습 동작 동안에 획득된다. 일부 구현예에서, 사용자 디바이스(110)는 사용자 디바이스(110) 내에서 국부적으로 발생하는 데이터 프로세싱 동작에 부분적으로 기초하여 상기 전사를 획득한다. 일부 다른 구현예에서, 사용자 디바이스(110)는 예시적인 클라우드 기반 또는 서버 기반 컴퓨팅 시스템 내에서 원격으로 발생하는 데이터 프로세싱 동작에 부분적으로 기초하여, 상기 전사를 획득한다.
일부 구현예에서, 비록 보이스 IME가 사용자 입력을 적절히 인식하고 그리고 정확한 전사를 획득할 수도 있지만, 보이스 IME 언어 모델은 "밀피타스" 라는 특정 용어를 포함하지 않을 수 있다. 따라서, 보이스 IME와 관련된 언어 모델을 참조하는 철자법 체크 로직은 표기된 용어 "밀피타스"를 인식하지 못할 수 있다. 결과적으로, "밀피타스"라는 단어가 인식되지 않았기 때문에, 철자법 체크 로직은 예를 들어, 표기된 단어 "밀피타스" 의 철자가 잘못되었다라고 사용자(112)에게 나타낼 수 있다.
이러한 표시를 수신함에 응답하여, 사용자(112)는 철자법 체크 로직에 의해 제공되는 잘못된 스펠링(이하, '철자' 혹은 '스펠링' 이라함) 표시를 무시할 수 있다. 대안적으로, 일부 구현예에서, 사용자 디바이스(110)는 특정 용어 "밀피타스"의 표기된 스펠링을 확정적으로(affirmatively)으로 수용할 것을 사용자(112)에게 프롬프트할 수 있다. 인터페이스(104)에서, 텍스트(124)는, 사용자(112)가 "밀피타스(Milpitas)" 라는 철자를 올바른 것으로서 수용했음을 나타내는 표시로서 해석될 수 있다.
표기된 스펠링을 사용자(112)가 수용했다라고 나타내면, 보이스 모달리티를 통해 수신된 "밀피타스"라는 특정 용어는, 보이스 IME와 관련된 하나 이상의 언어 모델들에 추가되거나 저장될 것이다. 일단 언어 모델에 추가되면, 상기 특정 용어는 이후의 보이스-텍스트 통신에서 사용하기 위해 액세스될 수 있다. 예를 들어, 일단 언어 모델에 저장되면, "밀피타스" 라는 단어는, 자동 보정 로직 또는 철자법 체크 로직의 발생을 트리거링하지 않고 후속 통신에서 사용될 수 있다.
또한, 크로스-모탈리티 학습 동작은 적어도 상기 특정 용어를 참조하는 입력 콘텍스트 데이터 구조를 생성하는 것을 포함할 수 있다. 예를 들어, 적어도 "밀피타스" 뿐만 아니라, 수신된 사용자 입력과 관련된 다수의 다른 항목들을 포함하는 입력 콘텍스트 데이터 구조가 생성될 수 있다. 일부 구현예에서, 다수의 다른 항목들은 상기 특정 용어를 입력하는데 사용된 예시적인 어플리케이션 프로그램 및 상기 특정 용어가 언제 수신되었는지를 나타내는 시간 및/또는 날짜를 포함할 수 있다.
또한, 크로스-모탈리티 학습 동작은 키보드 모달리티 인식기와 관련된 키보드 모달리티 인식 모델을 업데이팅하는데 사용되도록, 보이스 모달리티 인식기가 키보드 또는 물리적 입력 모달리티 인식기로 입력 콘텍스트 데이터 구조를 전송하는 것을 포함할 수 있다.
예를 들어, 입력된 콘텍스트 데이터 구조는 보이스 IME에 의해서 키보드 IME로 전송될 수 있다. 입력 콘텍스트 데이터 구조는 "밀피타스" 라는 용어, "밀피타스"를 입력하는데 사용된 텍스트/이메일 메시지 어플리케이션 프로그램에 대한 표시, 및 보이스 입력 방법을 통해 사용자(112)가 "밀피타스"를 입력한 날짜/시간을 포함할 수 있다. 키보드 IME는 키보드 모달리티 인식 모델과 관련될 수 있으며, 키보드 모달리티 인식 모델은 공간 모델(아래에서 설명함)과 언어 모델을 적어도 포함한다.
인터페이스(108)는, 키보드 또는 물리적 입력 모드를 통한 사용자 디바이스(110)로의 입력인 텍스트(126)를 도시한다. 일부 구현예에서, 송신된 입력 콘텍스트 데이터 구조는 키보드 IME에 의해 액세스되는 키보드 언어 모델을 업데이트하는데 사용될 수 있다. 업데이트된 키보드 언어 모델은 사용자(112)가 특정 용어 "밀피타스"를 포함하는 텍스트 통신을 입력할 수 있게하며, 따라서 상기 용어는 키보드 IME와 관련된 철자법 체크 로직 및/또는 자동 보정 로직에 의해서 적절히 인식된다. 또한, 텍스트(126)로 표시된 바와 같이, 사용자(112)는 "밀피타스" 라는 특정 용어를 포함하도록 업데이트된 키보드 IME의 공간 모델 및 언어 모델에 기초하여 "밀피타스" 라는 용어를 스와이프 혹은 제스처할 수 있다.
도 2는 크로스-모달리티 학습을 위한 예시적인 컴퓨팅 시스템(200)을 도시한다. 시스템(200)은 일반적으로 스피치 모달리티 인식 모델(202)(스피치 모델 202), 키보드 모달리티 인식 모델(252)(키보드 모델 252), 크로스-모탈리티 학습 모듈(270)(학습 모듈 270), 및 글로벌 언어 모델(274)(글로벌 LM 274)를 포함할 수 있다.
본 명세서에서 사용되는 "모듈" 이라는 용어는 컴퓨터의 프로세싱 디바이스들로 하여금 하나 이상의 기능들을 실행하게 하는 프로그램 코드를 포함하는 하나 이상의 소프트웨어 프로그램들을 실행하도록 구성된 하나 이상의 컴퓨터들을 포함하도록 의도되지만, 이에 한정되는 것은 아니다. "컴퓨터" 라는 용어는 데스크탑 컴퓨터, 랩톱 컴퓨터, 메인 프레임 컴퓨터, 태블릿 디바이스, 서버, 휴대용 디바이스, 모바일 디바이스 또는 스마트폰 디바이스 또는 데이터를 처리하는 다른 디바이스들과 같은 임의의 데이터 프로세싱 디바이스를 포함하도록 의도된다.
스피치 모델(202)은 음향 모델(206), 스피치 언어 모델(208), 및 스피치 IME(210)를 포함할 수 있다. 일반적으로, 스피치 모델(202)은 오디오 입력(204)을 수신하고 그리고 특정 언어로 발음된 사람의 말과 관련된 하나 이상의 단어들을 식별 및 추출하는 다양한 데이터 및 신호 처리 기능들을 실행하도록 구성된다.
스피치 모델(202)은 사용자 디바이스(110)로부터 액세스할 수 있는 하나 이상의 어플리케이션 프로그램과 함께 사용할 수 있다. 일부 구현예에서, 스피치 모델(202)은 사용자 디바이스(110) 내에 국부적으로 배치된 모듈들, 프로세서 디바이스들 또는 회로 컴포넌트들에서 실행되는 소프트웨어 또는 프로그램 코드로부터 부분적으로 형성될 수 있다. 반면에, 다른 구현예에서, 스피치 모델(202)은 디바이스(110)로부터의 오디오 신호 전송들을 수신하고 처리하는 비로컬(non-local), 클라우드 또는 서버 기반의 컴퓨팅 시스템과 관련될 수 있다.
음향 모델(206)은 오디오 신호와 스피치 오디오를 형성하는 음소(phonemes) 혹은 다른 언어적 속성들 사이의 관련성을 연관시키는 스피치 인식에서 사용되는 예시적은 음향 모델일 수 있다. 일반적으로, 음향 모델(206)은 스피치 IME(210)와 상호작용하여 가령, "밀피타스"와 같은 발음된 단어와 관련된 음향들과 동조되는 음향학적 특징들은 나타내는 소정의 수신된 발음들(utterances)을 식별 및 연관시킬 수 있다.
언어 모델(208)은 소정의 단어 조합들 또는 시퀀스들을 특정 혹은 식별하는 스피치 인식에서 이용되는 예시적인 언어 모델일 수 있다. 일부 구현예에서, 모델(208)은 특정 단어 시퀀스들 또는 단어 조합들의 발생 가능성 혹은 존재를 나타내는데 이용될 수 있는 단어 시퀀스 확률 팩터를 생성하도록 구성될 수 있다. 식별된 단어 시퀀스는 기입된(written) 코퍼스가 아니라 스피치 코퍼스에 고유한 시퀀스들에 주로 대응한다.
스피치 IME(210)는 스피치 버퍼(212), 인식기(214) 및 LM 매니저(216)를 포함할 수 있다. 각각의 스피치 버퍼(212) 및 버퍼(262)는 스피치 모델(202)에 의한 데이터 혹은 신호 처리를 위해 스피치 또는 오디오 신호들을 일시적으로 버퍼링 혹은 저장하는 하나 이상의 메모리 유닛들을 포함할 수 있다. 스피치 버퍼(212, 262)는 하나 이상의 비일시적인 머신 판독가능한 저장 매체를 포함할 수 있다. 비일시적인 머신 판독가능한 저장 매체는 고체 상태 메모리, 자기 디스크 및 광학 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 및 프로그램가능한 판독 전용 메모리(예를 들어, EPROM, EEPROM 또는 플래시 메모리), 또는 정보를 저장할 수 있는 임의의 다른 유형의 매체를 포함할 수 있다.
각각의 버퍼들(212 및 262) 이외에도, 스피치 IME(210)와 키보드 IME(260)(후술됨)는 각각 다수의 프로세싱 디바이스들을 포함할 수 있다. 프로세싱 디바이스들은 하나 이상의 프로세서들(예컨대, 마이크로프로세서 또는 중앙 처리 장치(CPU)), 그래픽 프로세싱 유닛(GPU), 주문형 집적회로(ASIC) 또는 서로 다른 프로세서들의 조합을 포함할 수 있다. 다른 구현예에서, 시스템(200)은 본 명세서에서 설명된 하나 이상의 결정들 및 계산들을 수행하기 위한 추가적인 프로세싱 옵션들을 제공하는, 다른 컴퓨팅 자원/디바이스, 예컨대, 클라우드 기반 서버를 포함할 수 있다.
일반적으로, 프로세싱 디바이스는 비일시적인 머신 판독가능한 저장 매체인 하나 이상의 메모리 유닛들 또는 메모리 뱅크를 포함할 수 있다. 일부 구현예에서, 프로세싱 디바이스는 메모리 유닛에 저장된 프로그래밍된 명령을 실행하여 시스템(200) 및 그 관련 컴포넌트들로 하여금 본 명세서에서 설명된 하나 이상의 기능들을 수행하게 한다.
일부 구현예에서, 인식기(214)는 스피치 IME(210)의 하나 이상의 프로세서에 의해 실행되는 예시적인 스피치 인식 로직, 프로그래밍된 명령들, 또는 알고리즘들이 될 수 있다. 예를 들어, 인식기(214)는 프로그램 코드를 실행하여 수신된 오디오 입력(204)의 특성의 식별, 추출 및 분석을 관리할 수 있다. 또한, 인식기(214)는 비교기 로직을 실행하여, 수신된 오디오 입력(204)의 특성들을 음향 모델(206) 및 언어 모델(208)에 저장된 다양한 모델 파라미터들과 비교할 수 있다. 비교 결과는, 시스템(200)의 하나 이상의 사용자(112)에 의해 제공되는 스피치 발음에 실질적으로 대응하는 텍스트 전사 출력(text transcription outputs)을 생성할 수 있다.
LM 관리자(216)는 언어 모델(208)의 하나 이상의 모델 파라미터들에 대한 액세스를 제어 및/또는 관리하는 예시적인 액세스 또는 관리 로직을 포함할 수 있다. 예를 들어, LM 관리자(216)는 인식기(214)에 의해 식별되고 분석되는 수신된 오디오 입력(204)의 특정한 특징들에 기초하여 언어 모델(208)의 소정의 파라미터들에 액세스하도록 구성될 수 있다. 예를 들어, 인식기(214)는 영어 또는 스페인어에 대응하는 하나 이상의 단어 발음을 포함하는 것으로서, 수신된 오디오 입력(204)의 특징을 식별할 수 있다. 따라서, LM 관리자(216)는 구어체 영어(spoken English language), 구어체 스페인어(spoken Spanish language) 또는 이들 둘다와 관련된 언어 모델(208)의 모델 파라미터에 액세스할 것이다.
일반적으로, 인식기(214)와 LM 관리자(216)는 다양한 데이터 프로세싱 및 신호 프로세싱 기능들을 실행하도록 상호작용 또는 협동할 수 있다. 이러한 기능들을 실행하면 스피치 오디오 입력 인식을 수행하고 그리고 스피치 오디오를 텍스트 전사로 변환하는데 필요한 프로세스 단계들을 완료할 수 있다.
전술한 바와 같이, 스피치 모델(202) 뿐만 아니라 키보드 모델(252) 각각은, 사용자 디바이스(110)에서 액세스가능한 하나 이상의 어플리케이션 프로그램들과 함께 사용될 수 있다. 예시적인 어플리케이션 프로그램들은, 이메일 어플리케이션, 텍스트 메시지 어플리케이션, 인스턴트 메시징 어플리케이션, 웹 브라우징 어플리케이션, 맵핑 어플리케이션, 또는 스피치 오디오 입력, 디지털 텍스트 입력, 영숫자 입력, 문자 입력 또는 디지털 이미지 입력과 같은 사용자 입력을 수신하도록 구성된 임의의 다른 어플리케이션 프로그램을 포함할 수 있다.
크로스-모탈리티 학습 모듈(270), 부분적으로, 스피치 모델(202)과 키보드 모델(252) 사이 뿐만 아니라, 학습 모듈(270)과 및 글로벌 언어 모델(274) 사이의 전송을 위해 입력 콘텍스트 데이터 구조를 생성하는 프로그램 코드를 실행하도록 구성될 수 있다. 일부 구현예에서, 학습 모듈(270)은 사용자 디바이스(110), 보이스 IME(210) 및 키보드 IME(262)의 프로세서들로부터 수신된 파라미터 신호들에 기초하여 다수의 파라미터 값들을 취합할 수 있다.
예를 들어, 학습 모듈(270)은, 텍스트 또는 스피치 사용자 입력을 수신하기 위해 시스템(200)의 각각의 IME들과 함께 사용되는 특정한 어플리케이션 프로그램을 나타내는 파라미터 값들을 수신할 수 있다. 또한, 사용자 디바이스(110)는 특정한 스피치 혹은 타이핑된 용어 및 관련 콘텍스트 단어가 각각의 IME에 의해서 언제 수신되었는지를 나타내는 날짜 및 시간 파라미터를 제공할 수 있다. 또한, 각각의 IME는 수신된 스피치 또는 타이핑된 입력과 관련된 n-gram 콘텍스트 또는 전체 전사 래티스(full transcription lattice)를 제공할 수 있다.
학습 모듈(270)은 수신된 파라미터 값들에 기초하여 입력 콘텍스트 데이터 구조(272)를 생성할 수 있으며 그리고 각각의 IME들(210, 2260) 사이에서의 그리고 학습 모듈(270)과 글로벌 LM(274) 사이에서의 상기 생성된 데이터 구조(272)의 전송을 용이하게 할 수 있다. 일부 구현예들에서, 글로벌 LM(274)은 학습 모듈(270)로부터 입력 콘텍스트 데이터 구조들(272)을 수신하며, 입력 콘텍스트 데이터 구조들(272)은 글로벌 LM(274)에 의해 사용되어, 다수의 사용자들에게 글로벌적으로 액세스 가능한 언어 모델들을 업데이트한다.
일부 구현예에서, 시스템(200)은 키보드 또는 보이스 모달리티를 통해 시스템(200)에 의해 수신되는 다수의 사용자 입력들을 포함하는 데이터베이스를 생성하기 위해, 하나 이상의 파라미터 값들 또는 데이터 구조(272)를 제공할 수 있다. 파라미터 값들 및 데이터 구조(272)는 하나 이상의 특정한 용어들 또는 새로운 단어들을 포함할 수 있다. 또한, 데이터베이스는 글로벌 언어 모델(274)과 적어도 부분적으로 연관될 수 있다. 또한, 일부 구현예에서, 글로벌 LM(274)은 다양한 상이한 서로 다른 구어체 언어들 및 입력 모달리티들에 대응하는 다양한 개별 언어 모델들을 포함할 수 있다. 시스템(200)은 다수의 사용자 입력들의 데이터베이스에 있는 적어도 하나의 사용자 입력을 사용하여 글로벌 LM(274)의 하나 이상의 언어 모델들을 업데이트할 수 있다.
다른 구현예에서, 글로벌 LM(274)은, 다른 글로벌 사용자들로부터 수신된 새로운 단어들 또는 특정한 용어들을 포함할 수 있는 데이터 구조 및/또는 파라미터 값들을 학습 모듈(270)에게 제공할 수 있다. 이후, 상기 학습 모듈(270)은 하나 이상의 입력 콘텍스트 데이터 구조들(272)을를 생성할 수 있으며, 입력 콘텍스트 데이터 구조들(272)은 스피치 모델(202) 또는 키보드 모델(252) 중 하나로 전송되어 그들 각각의 언어 모델들(208, 258)을 업데이트한다. 따라서, 일부 구현예에서, 키보드 IME(260) 및 스피치 IME(210)은 글로벌 LM(274)으로부터 수신된 파라미터들 또는 데이터 구조들에 기초하여 새로운 특정 용어들을 학습할 수 있다.
키보드 모델(252)는 공간(spatial) 모델(256), 언어 모델(258), 및 키보드 IME(260)을 포함할 수 있다. 일반적으로, 키보드 모델(252)은 글자들, 숫자들, 및 단어들 또는 구문을 형성하는 디지털 텍스트로서 디스플레이되는 다른 문자들에 대응하는 터치/물리적 키보드 입력들(254)을 수신하도록 구성된다.
전술한 스피치 모델(202)과 매우 유사하게, 키보드 모델(252)도 또한, 모듈들 내에서 실행되는 소프트웨어 혹은 프로그램 코드, 프로세서 디바이스들, 혹은 사용자 디바이스(110) 내에 국부적으로 회로 컴포넌트들로부터 부분적으로 형성될 수 있다. 반면에, 다른 구현예들에서, 키보드 모델(252)은 디바이스(110)로부터 오디오 신호 전송을 수신하고 프로세싱하는 논-로컬(non-local), 클라우드 혹은 서버 기반의 컴퓨팅 시스템들에 관련될 수 있다.
공간 모델(256)을 제외하고, 언어 모델(258) 및 키보드 IME(260)에 대한 기능들의 기술적 설명들은, 앞서 서술된 언어 모델(208) 및 스피치 IME(210)에 대한 설명들과 유사할 수 있다. 명확함과 간결함을 위하여, 언어 모델(258)은 언어 모델(208)에 대한 기술적인 차이점들을 언급함으로써 서술될 수 있다. 마찬가지로, 키보드 IME(260)는 스피치 IME(210)에 관한 기술적인 차이점들을 언급함으로써 서술될 수 있다.
언어 모델(258)은 소정의 글자(letter) 조합들 또는 시퀀스들을 식별하기 위해 키보드 텍스트 인식에 사용될 수 있다. 일부 구현예에서, 상기 모델(258)은 특정 글자 시퀀스들 또는 단어 조합들의 발생 가능성 혹은 존재를 나타내는데 이용될 수 있는 글자 혹은 단어 시퀀스 확률 팩터를 생성하도록 구성될 수 있다. 식별된 글자 및 단어 시퀀스들은, 스피치 코퍼스가 아니라 기입된(written) 코퍼스에 고유한 시퀀스들에 주로 대응한다.
일부 구현예에서, 인식기(264)는 텍스트 인식 로직, 프로그래밍된 명령들, 또는 키보드 IME(260)의 하나 이상의 프로세서들에 의해 실행되는 알고리즘일 수 있다. 예를 들어, 인식기(264)는 프로그램 코드를 실행하여, 수신된 텍스트 입력(254)의 특징들에 대한 식별, 추출, 및 분석을 관리할 수 있다. 또한, 인식기(214)는 비교기 로직을 실행하여, 수신된 텍스트 입력(254)의 공간적(spatial) 특징들을 공간 모델(256) 및 언어 모델(258)에 저장된 다양한 모델 파라미터들과 비교할 수 있다.
공간 모델(256)는, 사용자 디바이스(110)의 키보드를 통해 입력되는 타이핑된, 스와이핑된, 또는 제스처된 단어들을 예측하기 위하여 글자들의 공간 좌표들 또는 글자들 간의 공간적 관계들을 연관시키는 텍스트 예측에 사용되는 예시적인 공간 모델일 수 있다. 일반적으로, 공간 모델(256)은 키보드 IME(260)와 상호작용하여, 소정의 기록된 코퍼스와 연관된 단어들을 형성하는 글자들과 공간적으로 대응하는 키보드 입력들을 식별 및 연관시킬 수 있다.
시스템(200)은 일반적으로 다음과 같은 동작 프로세스들 및 기능들을 포함할 수 있다. 사용자(112)는 사용자 디바이스(110)와 대화하거나 또는 언어 모델(208) 또는 스피치 IME(210)에 포함되지 않거나 알려지지 않은 단어 발음들을 포함하는 스피치 입력을 제공할 수 있다. 예를 들어, 사용자(112)는 가령 "밀피타스"와 같은 특정 용어를 말함으로써 사용자 디바이스(110)와 대화할 수 있다. 음향 모델(206)은 보이스 모델(202)의 다른 컴포넌트들과 상호작용하여 발음된 입력(spoken input)(204)을 정확하게 전사할 수 있는바, 따라서 "밀피타스" 라는 텍스트(218)가 예시적인 어플리케이션 프로그램에 디스플레이된다.
일부 구현예에서, 사용자(112)는 특정 용어의 전사된 스펠링을 사용자(112)가 받아들였음을, 어플리케이션 프로그램에 나타낼 것이다. 예를 들어, 스피치 모델(202)은 프로그램 코드를 실행하여, 스피치 모델(202)에 의해 생성된 전사를 사용자(112)가 수정했는지를 검출 또는 판정할 수 있다. 일부 구현예에서, 만일 사용자(112)가 제안된 전사 텍스트(218)를 수정함이 없이, 추가적인 스피치 입력을 입력하거나 혹은 "밀피타스"에 선행 또는 후행하는 텍스트를 수동으로 타이핑/입력한다면, 스피치 모델(202)은 스피치 투 텍스트 전사(sppech to text transcription)(218)를 사용자(112)가 수용했다라고 결정할 수 있다.
"밀피타스" 라는 전사된 용어를 사용자(112)가 사용자가 수용했다라고 스피치 모델(202)이 결정하면, 시스템(200)은 상기 특정 용어를 언어 모델(208) 및/또는 글로벌 LM(274)에 저장할 수 있다. 일부 구현예에서, 시스템(200)이 알려지지 않은 특정 용어들을 시스템의 다양한 개별 언어 모델에 이전에 저장하는 경우, 이러한 저장 동작들은 실시간 학습 기능을 유효하게 구성할 수 있다.
일반적으로, 시스템(200)은, 시스템 및 관련 IME들이, 새로운 발음된 용어들을 서버측 클라우드 기반 학습 프로세스 뿐만 아니라 로컬 클라이언트측 학습 프로세스 둘다를 통해 학습할 수 있도록 데이터 프로세싱 및 저장 동작들을 실행할 수 있다. 달리 말하면, 제일 먼저 사용자(112)는 디바이스(110)에 새로운 단어를 말하고 그리고 스피치 모델(202)은 음향 모델(206)의 파라미터들에 대응되고 사용자에 의해 정확한 전사로서 받아들여지는 발음을 인식할 수 있다; 시스템(200)은 상기 단어를 인식하고, 상기 단어를 스피치 LM(208)에 저장하고, 그리고 그 단어를 포함하는 데이터 구조를 전송할 것이다.
전송된 데이터 구조는 키보드 IME(260)에 의해 사용하기 위해 적어도 키보드 모델(252)에 의해 수신될 것이다. 따라서, 이에 후속하여 사용자(112)가 "밀피타스"에 대한 특정 텍스트 스트링을 정확하게 타이핑, 제스처링 혹은 스와이핑하면, 키보드 IME(260)는 언어 모델(258)에 의해 알려진 것으로 상기 단어를 인식할 것이다. 따라서, 시스템(200)은 상기 특정 용어를 학습하고, 보이스/스피치 IME(210)에 의해 사용되도록 상기 용어를 저장하고 그리고 이를 키보드 IME(260)로 전송할 것인바, 상기 특정 용어는 사용자(112)가 다른 입력 콘텐츠를 디바이스(110)에 타이핑하거나 말하는 동안 키보드 모델(252)에 의해서도 학습될 수 있다.
일부 구현예에서, 특정한 입력 콘텍스트 데이터 구조(272)가 스피치 IME(210)에 의해 송신되고, 키보드 IME(260)에 의해 수신된 이후에, 사용자(112)는 키보드 모달리티 입력 모드를 활성화할 수 있다. 이 모드에서, 키보드/텍스트 모달리티를 통한 사용자 입력은 키보드 모달리티 인식기, 즉 키보드 IME(260)를 사용하여 인식된다. 다음으로, 시스템(200)은 키보드 모달리티를 통해 사용자 입력(254)을 수신할 수 있고 그리고 상기 입력(254)은 "밀피타스" 라는 특정 용어를 포함할 수 있다. 입력 콘텍스트 데이터 구조(272)를 전송하는 스피치(IME)(210) 및/또는 학습 모듈(270)에 응답하여, 키보드 모델(252)는 "밀피타스" 라는 특정 용어를 학습한다. 상기 특정 용어를 학습한 다음, 키보드 IME(260)는 키보드/텍스트 모달리티를 통해 수신된 상기 특정 용어를 인식할 수 있다.
일부 구현예에서, 키보드 IME(260)에 의해서 "밀피타스" 라는 특정 용어를 인식하는 것은, 사용자 디바이스(110)의 디스플레이가 사용자(112)에게 표시를 제공하는 것을 포함할 수 있다. 예를 들어, 디스플레이는 특정 용어가 언어 모델(258)에 추가되거나 저장되었다는 점을 사용자(112)에게 표시할 수 있다. 일부 구현예에서, "밀피타스"가 LM(258)에 추가된 이후에, 사용자(112)는 "밀피타스로 드라이브(Drive to Milpitas)"라는 예시적인 문구를 타이핑할 수 있으며 그리고 상기 단어가 키보드 모델(252)에 의해 인식되었음을 나타내는 일반적인 표시를 수신할 수 있다. 예를 들어, 이러한 표시는 키보드 모델(252)과 관련된 예컨대, 자동 보정 로직 또는 철자법 체크 로직을 트리거링함이 없이, "밀피타스" 라는 단어를 포함하는 텍스트 디스플레이(268)에 대응할 수 있다.
일부 구현예에서, 시스템(200)은, 적어도 특정 용어, 예컨대 "밀피타스"를 참조하는 텍스트 콘텐츠 혹은 텍스트 래티스를 포함하고 키보드 모델(252)에 의해 수신되는 사용자 입력들의 발생을 검출하도록 구성될 수 있다. 예를 들어, 시스템(200)은 가령, "밀피타스로 드라이브”라는 예시적인 문구 또는 텍스트 래티스가 키보드 IME(260)에 의해서 언제 수신되는지를 검출하도록 구성될 수 있다. 일반적으로, 시스템 (200)은 먼저 특정 용어를 학습한 이후에 상기 특정 용어의 출현을 검출할 것이다.
상기 특정 용어를 참조하는 텍스트 콘텐츠의 검출에 응답하여, 시스템(200)은 상기 특정 용어를 참조하는 텍스트 콘텐츠가 키보드 모달리티를 통해 수신되는 것이 출현되는 횟수(a number occurrence)를 추적하는 제 1 데이터 카운트를 증분시킬 수 있다. 일부 구현예에서, 시스템(200)은 또한, 상기 특정 용어에 대응하는 사용자 입력들이 제 2 모달리티를 통해 수신되는 것이 출현되는 횟수를 추적하는 제 2 데이터 카운트를 증분시킬 수 있다. 예를 들어, 상기 특정 용어를 포함하는 수신된 텍스트 래티스에 대하여 데이터 카운트들을 검출 및 증분시키는 것 이외에도, 상기 시스템(200)은 또한, 상기 특정 용어를 포함하는 텍스트 래티스의 출현들이 아니라 상기 특정 용어의 개별적인 출현들을 추적하는 데이터 카운트를 검출 및 증분시킬 수 있다.
일부 구현예에서, 제 1 및 제 2 데이터 카운트들은 시스템(200)에 의해 사용되어, 특정 용어와 관련되는 취합된 통계들의 데이터 세트들을 생성할 수 있다. 상기 데이터 세트의 다른 통계는 예를 들어, 특정 용어의 스펠링 및 대소문자 사용(capitalization)에 대한 변형들(variations)을 포함할 수 있다. 또한, 예컨대, "밀피타스로 드라이브(Drive to Milpitas)" , "밀피타스에서 만나(Meet at MILPITAS)" , "밀피타스에서 식사하자(Let's eat at milpitaas)" 등과 같은 다양한 서로 다른 텍스트 혹은 스피치 콘텍스트들에서의 상기 특정 용어의 사용을 나타내는 문맥상의 변형들에 대하여, 통계 데이터가 취합될 수도 있다. 일부 구현예에서, 취합된 통계들의 데이터 세트들은 시스템(200)에 의해 이용되어, 각각의 모델들(202, 252) 내에 있는 키보드 입력 혹은 보이스 입력 학습 기능들을 바이어싱, 개선, 또는 강화시킬 수 있다.
다른 구현예에서, 취합된 통계들의 데이터 세트들은 글로벌 LM(274)로 전송될 수 있다. 예를 들어, 글로벌 LM(274)은 "밀피타스" 라는 특정 용어를 입력하고자 시도할 수도 있는 전혀 다른 사용자들과 관련된 다양한 입력들을 시스템(200)으로부터 수신할 수 있다. 앞선 문단에서 설명한 바와 같이, 일부 경우에서, 시스템(200)의 하나 이상의 사용자들은 "밀피타스(Milpitas)"를 틀리게 스펠링할 수도 있으며 또는 부적절한 대소문자를 사용할 수도 있다. 특정 용어에 대한 이러한 부정확한 혹은 부적절한 사용들은 글로벌 LM(274)의 하나 이상의 언어 모델들을 업데이트하는데 사용될 수 없다. 대안적으로, 상기 특정 용어가 임계 개수의 사용자들(112)에 의해서 정확하게 사용되는 경우, 시스템(200)은 글로벌 LM(274)의 언어 모델들이 상기 특정 용어의 가장 적절한 사용을 이용하여 업데이트되게 할 수 있다.
도 3은 크로스-모달리티 학습을 위한 예시적인 프로세스(300)의 흐름도이다. 블록(302)에서, 프로세스(300)는 제 1 모달리티 사용자 입력 모드를 활성화하는 것을 포함하며, 제 1 모달리티 사용자 입력 모드에서는 제 1 모달리티(modality)를 통한 사용자 입력들이 제 1 모달리티 인식기를 사용하여 인식된다. 일부 구현예에서, 제 1 모달리티 사용자 입력 모드를 활성화시키는 것은, 디바이스(110)와 같은 예시적인 모바일 디바이스에서 키보드 IME로부터 보이스 IME로 스위칭하는 것을 포함한다. 제 1 모달리티는, 보이스 받아쓰기가 가능한 사용자 디바이스(110)의 보이스 입력 기능들에 관한 보이스 모달리티에 대응할 수 있다. 또한, 제 1 모달리티 인식기는 보이스 IME(210)에 대응할 수 있다.
블록(304)에서, 프로세스(300)는 제 1 모달리티를 통해 사용자 입력을 수신한다. 일부 구현예에서, 수신된 사용자 입력은 하나 이상의 단어 발음들을 포함하는 사람의 스피치에 대응하는 오디오 입력일 수 있다. 또한, 수신된 사용자 입력은 보이스 IME(210)에 의해 인식되는 하나 이상의 특정 용어들을 포함할 수 있다.
블록(306)에서, 제 1 모달리티 인식기가 사용자 입력을 인식한 결과로서, 프로세스(300)는 특정 용어를 포함하는 전사(transcription)를 획득한다. 일부 구현예에서, 사용자 입력을 인식하는 것은 하나 이상의 단어를 파싱하도록 시스템(200)의 보이스 인식 모델이 오디오 입력을 프로세싱하는 것을 포함할 수 있다. 파싱된 단어들은 특정 용어를 포함할 수 있고, 시스템(200)은 수신된 스피치 발음으로부터 인식되는 파싱된 단어들에 기초하여 텍스트 전사를 생성할 수 있다. 일부 구현예에서는, 원격 서버 또는 클라우드 기반 컴퓨팅 시스템에 의해서 전사가 부분적으로 생성된다. 다음으로, 생성된 전사들은 디바이스(110)에 의해 컴퓨팅 시스템으로부터 획득될 수 있다.
블록(308)에서 프로세스(300)는 적어도 상기 특정 용어를 참조하는 입력 콘텍스트 데이터 구조를 생성하는 것을 포함한다. 일부 구현예에서, 입력 콘텍스트 데이터 구조는 상기 특정 용어뿐만 아니라, 특정 용어를 입력하는데 사용된 예시적인 어플리케이션 프로그램, 사용자 입력의 스피치 발음의 하나 이상의 n-그램들, 및 상기 특정 용어가 언제 수신되었는지를 나타내는 시간 및/또는 날짜 등과 같은 다른 항목들을 포함할 수 있다.
블록(310)에서, 프로세스(300)는 제 1 모달리티 인식기에 의해서, 입력 콘텍스트 데이터 구조를 제 2 모달리티 인식기로 전송하는 것을 포함할 수 있다. 프로세스(300)의 블록(312)에서, 전송된 입력 콘텍스트 데이터 구조는 제 2 모달리티 인식기와 관련된 제 2 모달리티 인식 모델을 업데이트하는데 사용된다. 제 2 모달리티는 텍스트 콘텐츠를 입력하기 위해 디지털 또는 물리적 키보드가 사용되는 사용자 디바이스(110)의 키보드 입력 기능과 관련된 키보드 또는 물리적 입력 모달리티에 대응할 수 있다. 또한, 제 2 모달리티 인식기는 키보드 IME(260)에 대응할 수 있다.
일부 구현예에서, 제 2 모달리티 인식 모델은 적어도 공간 모델(256) 및 언어 모델(258)을 포함하는 키보드 모달리티 인식 모델(252)에 대응할 수 있다. 일부 실시예에서, 전송된 입력 콘텍스트 데이터 구조는 키보드 IME에 의해 액세스되는 키보드 언어 모델을 업데이트하는데 사용될 수 있다. 업데이트된 키보드 언어 모델은 사용자 디바이스(110)가 특정 용어를 포함하는 입력 텍스트 통신을 수신할 수 있게 하며, 따라서 예를 들어, 키보드 IME와 연관된 철자법 체크 로직 및/또는 자동 보정 로직에 의해 상기 용어가 적절히 인식될 수 있게 한다.
본 명세서에서 설명된 본 발명의 주제에 대한 실시예들과 기능적 동작들은 본 명세서에 개시된 구조들 및 이들의 등가물들을 포함하여 디지털 전자회로, 유형적으로 구현되는 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어에서 구현될 수 있으며 또는 이들 중 하나 이상의 조합에서 구현될 수 있다. 본 명세서에서 설명된 본 발명의 주제에 대한 실시예들은, 하나 이상의 컴퓨터 프로그램, 즉 데이터 프로세싱 장치에 의해 실행되거나 또는 그 동작을 제어하기 위해 유형의 비일시적인 프로그램 캐리어 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 어플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드라고도 함)은, 컴파일 또는 해석 언어를 포함하는 임의의 형태의 프로그래밍 언어 혹은 선언적 또는 절차적 언어로 기록될 수 있으며 그리고 독립형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 구성요소, 서브 루틴 또는 기타 유닛들을 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일과 대응하지는 않는다.
프로그램은 다른 프로그램이나 데이터를 갖는 파일의 일부분에 저장되거나(예: 마크 업 언어 문서에 저장된 하나 이상의 스크립트), 문제의 프로그램에 전용되는 파일에 저장되거나 또는 여러 개의 조정 파일들(예: 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 실행되거나 또는 한 장소에 있거나 혹은 여러 장소에 분산되어 있으며 통신 네트워크로 상호연결된 여러 대의 컴퓨터 상에서 실행될 수도 있다.
도 4는 클라이언트로서 또는 서버 또는 복수의 서버로서, 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(400, 450)의 블록도이다. 컴퓨팅 디바이스(400)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 컴퓨팅 디바이스(450)는 PDA, 셀룰러 전화, 스마트폰, 스마트워치, 헤드 장착 디바이스 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내기 위한 것이다. 본원에 개시된 구성 요소들, 이들의 연결들과 관련성들 및 이들의 기능들은 단지 예시적인 것으로 의도되었으며, 이 문서에서 설명되거나 청구된 구현예들을 제한하도록 의도된 것이 아니다.
컴퓨팅 디바이스(400)는 프로세서(402), 메모리(404), 저장 디바이스(406), 메모리(404)와 고속 확장 포트들(410)에 연결되는 고속 인터페이스(408), 그리고 저속 버스(414) 및 저장 디바이스(406)에 연결되는 저속 인터페이스(412)를 포함한다. 각각의 구성요소들(402, 404, 406, 408, 410, 및 412)은 다양한 버스들을 사용하여 상호접속되고, 공통 마더보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다. 프로세서(402)는 메모리(404) 또는 저장 디바이스(406)에 저장된 명령을 포함하여, 컴퓨팅 디바이스(400) 내에서의 실행을 위해 명령들을 프로세싱하여, 고속 인터페이스(408)에 접속된 디스플레이(416)와 같은 외부 입/출력 디바이스 상에 GUI를 위한 그래픽 정보를 디스플레이한다. 다른 구현예에서는, 다수의 메모리들 및 메모리 유형들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들이 연결될 수도 있는바, 여기서 각각의 디바이스는 필요한 연산들의 일부분을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹 또는 멀티 프로세서 시스템으로서).
메모리(404)는 컴퓨팅 디바이스(400) 내에 정보를 저장한다. 일 구현예에서, 메모리(404)는 컴퓨터 판독가능 매체이다. 일 구현예에서, 메모리(404)는 휘발성 메모리 유닛(들)이다. 또 다른 구현예에서, 메모리(404)는 비휘발성 메모리 유닛(들)이다.
저장 디바이스(406)는 컴퓨팅 디바이스(400)를 위해 대용량 저장소를 제공할 수 있다. 일 구현예에서, 저장 디바이스(406)는 컴퓨터 판독가능 매체이다. 다양한 다른 구현예들에서, 저장 디바이스(406)는 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성 내의 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때, 상술한 바와 같은 하나 이상의 방법을 수행하는 명령들을 포함한다. 정보 캐리어는 메모리(404), 저장 디바이스(406) 또는 프로세서(402) 상의 메모리와 같은 컴퓨터 판독가능 또는 머신 판독가능 매체이다.
고속 인터페이스(408)는 컴퓨팅 디바이스(400)에 대한 대역폭-집중형 연산들을 관리하고, 저속 인터페이스(412)는 낮은 대역폭-집중형 연산들을 관리한다. 임무들의 이러한 할당은 단지 예시일 뿐이다. 일 구현예에서, 고속 인터페이스(408)는 메모리(404), 디스플레이(416)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(410)에 연결된다. 구현예에서, 저속 인터페이스(412)는 저장 디바이스(406) 및 저속 확장 포트(414)에 연결된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너 등과 같은 하나 이상의 입력/출력 디바이스에 연결되거나, 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(420)로서 구현되거나, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수도 있다. 또한, 랙 서버(rack server) 시스템(424)의 일부로서 구현될 수도 있다. 또한, 랩탑 컴퓨터(422)와 같은 개인용 컴퓨터에서 구현될 수도 있다. 대안적으로, 컴퓨팅 디바이스(400)의 구성 요소들은 가령, 디바이스(450)와 같은 모바일 디바이스(미도시)의 다른 구성요소들과 결합될 수 있다. 이러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스들(400, 450)을 포함할 수 있으며 그리고 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스로 구성될 수 있다.
컴퓨팅 디바이스(450)는 다른 구성요소들 중에서 프로세서(452), 메모리(464), 디스플레이(454)와 같은 입/출력 디바이스, 통신 인터페이스(466) 및 송수신기(468)를 포함한다. 디바이스(450)에는 추가 저장소를 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 구성 요소들(450, 452, 464, 454, 466, 468) 각각은 다양한 버스를 사용하여 상호접속되고, 구성요소들 중 몇몇은 공통 마더 보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다.
프로세서(452)는 메모리(464)에 저장된 명령들을 포함하여, 컴퓨팅 디바이스(450) 내의 명령들을 실행할 수 있다. 프로세서는 또한 개별적인 다수의 아날로그 및 디지털 프로세서들을 포함할 수 있다. 프로세서는 예를 들어 사용자 인터페이스들의 제어, 디바이스(450)에 의해 실행되는 어플리케이션들 및 디바이스(450)에 의한 무선 통신과 같은 디바이스(450)의 다른 구성요소들 간의 조정을 제공할 수 있다.
프로세서(452)는 제어 인터페이스(458) 및 디스플레이(454)에 연결된 디스플레이 인터페이스(456)를 통해 사용자와 통신할 수 있다. 디스플레이(454)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(Organic Light Emitting Diode: 유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술을 이용할 수 있다. 디스플레이 인터페이스(456)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(454)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(458)는 사용자로부터 커맨드들을 수신하고 그리고 프로세서(452)에 제출하기 위해 이들을 변환할 수 있다. 또한, 프로세서(452)와 통신하기 위해 외부 인터페이스(462)가 제공되는바, 다른 디바이스들과 모바일 디바이스(450)의 근거리 통신이 가능해진다. 예를 들어, 외부 인터페이스(462)는 유선 통신을 제공하거나(예컨대, 도킹 절차를 통해), 무선 통신(예컨대, 블루투스 혹은 다른 유사 기법들을 통해)을 제공할 수 있다.
메모리(464)는 컴퓨팅 디바이스(450) 내에 정보를 저장한다. 일 구현예에서, 메모리(464)는 컴퓨터 판독가능 매체이다. 일부 구현예에서, 메모리(464)는 휘발성 메모리 유닛(들)이다. 일부 구현예에서, 메모리(464)는 비휘발성 메모리 유닛(들)이다. 또한, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(472)를 통해 확장 메모리(474)가 디바이스(450)에 제공되고 접속될 수 있다. 이러한 확장 메모리(474)는 여분의 저장 공간을 디바이스(450)에 제공할 수 있으며, 또는 디바이스(450)를 위한 어플리케이션들 혹은 다른 정보를 저장할 수도 있다. 특히, 확장 메모리(474)는 전술한 프로세스들을 수행하거나 보충하기 위한 명령들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(474)는 디바이스(450)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(450)의 보안 사용을 허용하는 명령들로 프로그램될 수 있다. 또한, 보안 어플리케이션은 SIMM 카드를 통해 제공될 수 있는데 가령, 식별 정보를 해킹불가능한 방식으로 SIMM 카드에 배치하는 것과 같이 추가 정보와 함께 제공될 수 있다.
메모리는, 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 전술한 방법들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 정보 캐리어는 메모리(464), 확장 메모리(474) 또는 프로세서(452) 상의 메모리 등과 같은 컴퓨터 판독가능 또는 머신 판독가능 매체이다.
컴퓨팅 디바이스(450)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(466)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(466)는 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(468)를 통해 수행될 수 있다. 또한, 블루투스, Wi-Fi 또는 다른 트랜시버(미도시)를 사용하여 단거리 통신이 수행될 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(470)은 추가적인 무선 데이터를 컴퓨팅 디바이스(450)에 제공할 수 있는바, 이는 컴퓨팅 디바이스(450) 상에서 구동되는 어플리케이션들에 의해 적절히 사용될 수 있다.
또한, 컴퓨팅 디바이스(450)는 오디오 코덱(460)을 사용하여 청각적으로 통신할 수 있는바, 이는 사용자로부터 음성 정보를 수신하고 이것을 이용가능한 디지털 정보로 변환할 수 있다. 이와 유사하게, 오디오 코덱(460)은, 예를 들어 컴퓨팅 디바이스(450)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지들, 음악 파일들 기타 등등)를 포함할 수 있으며 그리고 컴퓨팅 디바이스(450) 상에서 동작하는 어플리케이션에 의해 생성된 사운드를 또한, 포함할 수 있다.
컴퓨팅 디바이스(450)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 디바이스는 셀룰러 전화(480)로서 구현될 수 있다. 또한, 스마트 폰(1282), 개인 휴대 정보 단말기(personal digital assistant), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수도 있다.
본 명세서에 설명된 시스템들 및 기술들의 다양한 실시예들은 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 구현될 수 있다. 이러한 다양한 구현예들은 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행가능하고 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 프로그램가능한 프로세서는 범용 또는 특수 목적일 수 있으며, 데이터 및 명령을 송수신하도록 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스에 연결된다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로도 지칭되는)은 프로그래밍가능한 프로세서에 대한 머신 명령을 포함하고, 그리고 하이-레벨 절차적 언어 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용되는 "머신 판독가능 매체", "컴퓨터 판독가능 매체"라는 용어는 머신 판독가능 신호로서 머신 명령을 수신하는 머신 판독가능 매체를 포함하여, 예컨대, 자기 디스크, 광 디스크, 메모리, 머신 명령 및/또는 데이터를 프로그램가능 프로세서에 제공하는데 이용되는 프로그램가능 논리 디바이스(PLD) 등의 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스를 지칭한다.
사용자와의 상호 작용을 제공하기 위해, 여기에 설명된 시스템 및 기술은 컴퓨터 상에서 구현될 수 있는바, 상기 컴퓨터는 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터를 가지며, 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 가질 수 있다. 다른 종류의 디바이스가 사용자와의 상호작용을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있다. 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
시스템 및 여기에 설명된 기술은 컴퓨팅 시스템에서 구현될 수 있으며, 이러한 컴퓨팅 시스템은 백 엔드 컴포넌트(예컨대, 데이터 서버)를 포함하거나, 또는 미들웨어 컴포넌트(예컨대, 응용 프로그램 서버)를 포함하거나, 또는 프론트 엔드 컴포넌트(예컨대, 사용자가 여기에 설명된 시스템 및 기술의 구현예들과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함할 수 있다. 시스템의 구성요소들은 통신 네트워크와 같은 임의의 형태 또는 매체의 디지털 데이터 통신에 의해 상호접속될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
전술한 설명들에 부가하여, 시스템, 프로그램 또는 본원에 설명된 피처들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 행위들, 직업, 사용자의 기호, 사용자의 현재 위치 등에 관한 정보)의 수집을 가능하게 하거나, 또는 사용자가 서버로부터 콘텐츠 또는 통신을 보내는 경우, 이를 제어할 수 있는 권한이 사용자에게 제공될 수 있다. 또한, 소정의 데이터는 저장 또는 사용되기 전에 하나 이상의 방법으로 취급되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 일부 실시예에서는, 그 어떤 개인 식별 정보도 사용자에 대해서 판별될 수 없도록 사용자의 신원이 처리될 수 있으며, 또는 사용자의 특정 위치가 판별될 수 없도록 위치 정보가 획득되는 곳에 대하여 사용자의 지리적 위치가 일반화될 수 있다(가령, 도시 단위로, 우편 번호, 주 단위로). 따라서, 사용자는 사용자에 관해 수집되는 정보, 정보의 사용 방법 및 사용자에게 제공되는 정보를 제어할 수 있다.
여러 실시예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고도 다양한 변형이 이루어질 수 있음을 이해할 것이다. 예를 들어, 단계들이 재-정렬, 추가, 혹은 제거되어, 앞서 도시된 흐름들의 다양한 형태들이 사용될 수 있다. 또한, 결제 시스템 및 방법의 여러 어플리케이션들이 설명되었지만, 다수의 다른 어플리케이션이 고려될 수 있다는 것을 인식해야한다. 따라서, 다른 실시예들은 다음의 청구항들의 범위 내에 속한다.
본 명세서는 많은 세부적인 구현예들을 포함하고 있지만, 이것들은 청구될 수도 있는 본 발명의 범위에 대한 제한으로 해석되어서는 안되며, 오히려 특정 구현예에 특화된 피처들에 대한 설명으로 이해되어야 한다. 개별적인 구현예들의 맥락에서 본 명세서에 기술된 소정의 피처들은, 하나의 구현예에서 조합되어 구현될 수도 있다. 반대로, 단일 구현예의 맥락에서 서술된 다양한 피처들은 또한 다수의 구현예들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 또한, 피처들이 소정의 특정 조합으로 작용하는 것으로 앞서 서술될 수 있으며 심지어 초기에 그렇게 청구되었더라도, 청구된 조합으로부터의 하나 이상의 피처들은 일부 경우 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수도 있다.
이와 유사하게, 비록 동작들이 특정 순서대로 도면에 도시되었지만, 이는 이러한 동작들이 도시된 특정 순서대로 또는 순차적으로 수행될 것을 요구하는 것으로 이해되어서는 안되며, 또는 바람직한 결과를 달성하기 위하여 도시된 모든 동작들이 수행되어야 함을 의미하지도 않는다. 소정의 상황에서 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 구현예에서 다양한 시스템 구성요소들의 분리는 모든 구현예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 서술된 프로그램 구성요소들 및 시스템은 일반적으로 단일 소프트웨어 제품 내에 함께 통합되거나 여러 소프트웨어 제품 내에 패키지화될 수 있다.
본 발명의 요지에 대한 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 속한다. 예를 들어, 청구 범위에서 열거된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 일례로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 어떤 경우에는 멀티 태스킹 및 병렬 처리가 유리할 수도 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    컴퓨팅 디바이스에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하는 단계, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
    상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드에 대응하는 제 1 모달리티(modality) 인식 모델이 상기 특정 용어를 인식하지 못함을 결정하는 단계;
    제 1 모달리티 인식 모델이 상기 특정 용어를 인식하지 못함을 결정함에 응답하여, 상기 특정 용어를 대체할 하나 이상의 후보 대체 용어들을 그래픽 사용자 인터페이스에 의해서 디스플레이하는 단계;
    상기 그래픽 사용자 인터페이스에 의해서 그리고 상기 하나 이상의 후보 대체 용어들을 디스플레이함에 응답하여, 상기 텍스트 버전이 사용자 입력의 올바른 버전이라는 사용자 표시를 검출하는 단계;
    상기 사용자 표시에 기초하여, 상기 특정 용어를 제 1 모달리티 인식 모델에 추가하는 단계;
    제 1 모달리티 인식 모델로부터 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델 및 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에 사용되도록 상기 특정 용어를 전송하는 단계; 및
    상기 컴퓨팅 디바이스에 의해서, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하는 단계를 포함하며,
    상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    제 2 사용자 입력 모드는 텍스트 입력 모드이고, 상기 방법은,
    상기 컴퓨팅 디바이스에 의해서, 상기 특정 용어를 포함하는 제 2 사용자 입력을 수신하는 단계;
    업데이트된 제 2 모달리티 인식 모델에 기초하여, 상기 특정 용어를 인식하는 단계; 및
    상기 특정 용어를 인식함에 기초하여, 제 2 사용자 입력에 대한 자동 보정 피처(autocorrect feature)의 적용을 건너뛰는 단계(bypassing)
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 제 1 모달리티 인식 모델은 제 1 언어 모델에 대응하고, 상기 제 2 모달리티 인식 모델은 제 2 언어 모델에 대응하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 제 1 모달리티 인식 모델은 언어 모델에 대응하고, 상기 제 2 모달리티 인식 모델은 공간 모델(spatial model)에 대응하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 제 1 모달리티 인식 모델은 공간 모델에 대응하고, 상기 제 2 모달리티 인식 모델은 음향 모델(acoustic model)에 대응하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 제 1 사용자 입력 모드는 음성-기반 사용자 입력 모드에 대응하고, 상기 제 2 사용자 입력 모드는 키보드-기반 사용자 입력 모드에 대응하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 제 1 사용자 입력 모드는 키보드-기반 사용자 입력 모드에 대응하고, 상기 제 2 사용자 입력 모드는 음성-기반 사용자 입력 모드에 대응하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 제 1 사용자 입력 모드는 음성-기반 사용자 입력 모드에 대응하고, 상기 방법은,
    스피치-투-텍스트(speech-to-text) 프로세싱에 기초하여, 상기 특정 용어를 생성하도록 사용자 입력을 전사하는 단계(transcribing)를 더 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 스피치-투-텍스트 프로세싱은 클라우드-기반의, 자동화된 스피치 인식기에 의해 수행되는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 음성-기반 사용자 입력 모드는 발음들(utterances)을 전사된 단어들에 직접 정렬시키도록 구성된 음향 모델(acoustic model)에 관련되는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드로부터 제 2 사용자 입력 모드로 상기 컴퓨팅 디바이스를 스위칭하는 사용자 표시를 수신하는 단계; 및
    사용자 표시에 응답하여, 제 1 사용자 입력 모드로부터 제 2 사용자 입력 모드로 상기 컴퓨팅 디바이스를 스위칭하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 크로스-모달리티 학습은 사용자 입력에 관련된 콘텍스트 정보를 생성하는 단계를 포함하고, 상기 콘텍스트 정보는 적어도 상기 특정 용어를 참조하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 콘텍스트 정보는 사용자 입력과 관련된 연속적인 콘텍스트 아이템들을 포함하는 하나 이상의 n-그램(n-grams)을 포함하는 것을 특징으로 하는 방법.
  14. 제12항에 있어서,
    상기 콘텍스트 정보를 생성하는 단계는,
    상기 컴퓨팅 디바이스에 의해, 상기 특정 용어와 관련된 하나 이상의 파라미터 값들을 생성하는 단계를 더 포함하고, 상기 하나 이상의 파라미터 값들은 제 1 모달리티 인식 모델에 기초하며;
    상기 콘텍스트 정보는 상기 하나 이상의 파라미터 값들에 기초하는 것을 특징으로 하는 방법.
  15. 제1항에 있어서,
    사용자 입력은 상기 컴퓨팅 디바이스의 어플리케이션 프로그램에 의해 수신되며, 어플리케이션 프로그램은 텍스트 메시지 어플리케이션, 이메일 어플리케이션, 인스턴트 메시징 어플리케이션, 웹 브라우징 어플리케이션, 또는 맵핑 어플리케이션 중 하나인 것을 특징으로 하는 방법.
  16. 제1항에 있어서,
    상기 특정 용어의 문맥적 변화들을 나타내는 통계 데이터를 생성하는 단계;
    상기 컴퓨팅 디바이스에 의해서 그리고 글로벌 모델로, 상기 통계 데이터를 전송하는 단계; 및
    상기 컴퓨팅 디바이스에 의해서 그리고 임계 개수의 사용자 컴퓨팅 디바이스들로부터의 데이터와 상기 통계 데이터가 일치한다라는 글로벌 모델의 결정에 적어도 부분적으로 기초하여, 상기 컴퓨팅 디바이스와 관련된 하나 이상의 모달리티 인식 모델들을 업데이트하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  17. 제1항에 있어서,
    제 1 사용자 입력 모드를 통해 수신된 복수의 사용자 입력들을 포함하는 데이터베이스를 생성하는 단계; 및
    복수의 사용자 입력들 중 적어도 하나의 사용자 입력을 사용하여 하나 이상의 모달리티 인식 모델들에 의해 액세스가능한 글로벌 모델을 업데이트하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    제 2 모달리티 인식 모델은 키보드 언어 모델이고, 상기 방법은,
    하나 이상의 모달리티 인식 모델들을 업데이트하도록 상기 업데이트된 글로벌 모델에 액세스하는 단계를 더 포함하는 것을 특징으로 하는 방법.


    상기 컴퓨팅 디바이스의 어플리케이션 프로그램에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하고, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
    상기 특정 용어와 관련된 파라미터 값들을 생성하고, 상기 파라미터 값들은 제 1 사용자 입력 모드에 대응하는 제 1 모달리티 인식 모델에 기초하며;
    상기 파라미터 값들에 기초하여, 적어도 상기 특정 용어를 참조하고 그리고 상기 어플리케이션 프로그램을 참조하는 입력 콘텍스트 데이터 구조를 생성하고, 상기 입력 콘텍스트 데이터 구조는 복수의 모달리티 모델들 사이에서의 크로스-모달리티 학습에서 사용되도록 공유되며;
    상기 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델과 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에서 이용되도록 상기 입력 콘텍스트 데이터 구조를 전송하고; 그리고
    상기 입력 콘텍스트 데이터 구조에 기초하여, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하게 하며,
    상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 제조 물품.
  19. 컴퓨터 판독가능 명령들이 저장된 하나 이상의 컴퓨터 판독가능 매체를 포함하는 제조 물품으로서, 상기 컴퓨터 판독가능 명령들은 컴퓨팅 디바이스의 하나 이상의 프로세서들에 의해서 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
    상기 컴퓨팅 디바이스에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하는 동작, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
    상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드에 대응하는 제 1 모달리티(modality) 인식 모델이 상기 특정 용어를 인식하지 못함을 결정하는 동작;
    제 1 모달리티 인식 모델이 상기 특정 용어를 인식하지 못함을 결정함에 응답하여, 상기 특정 용어를 대체할 하나 이상의 후보 대체 용어들을 그래픽 사용자 인터페이스에 의해서 디스플레이하는 동작;
    상기 그래픽 사용자 인터페이스에 의해서 그리고 상기 하나 이상의 후보 대체 용어들을 디스플레이함에 응답하여, 상기 텍스트 버전이 사용자 입력의 올바른 버전이라는 사용자 표시를 검출하는 동작;
    상기 사용자 표시에 기초하여, 상기 특정 용어를 제 1 모달리티 인식 모델에 추가하는 동작;
    제 1 모달리티 인식 모델로부터 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델 및 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에 사용되도록 상기 특정 용어를 전송하는 동작; 및
    상기 컴퓨팅 디바이스에 의해서, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하는 동작을 포함하는 동작들을 수행하게 하며,
    상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 제조 물품.
  20. 컴퓨팅 디바이스로서,
    하나 이상의 프로세서들; 및
    데이터 저장소를 포함하고,
    상기 데이터 저장소는 컴퓨터 실행가능 명령들을 저장하며, 상기 컴퓨터 실행가능 명령들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
    상기 컴퓨팅 디바이스에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하는 동작, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
    상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드에 대응하는 제 1 모달리티(modality) 인식 모델이 상기 특정 용어를 인식하지 못함을 결정하는 동작;
    제 1 모달리티 인식 모델이 상기 특정 용어를 인식하지 못함을 결정함에 응답하여, 상기 특정 용어를 대체할 하나 이상의 후보 대체 용어들을 그래픽 사용자 인터페이스에 의해서 디스플레이하는 동작;
    상기 그래픽 사용자 인터페이스에 의해서 그리고 상기 하나 이상의 후보 대체 용어들을 디스플레이함에 응답하여, 상기 텍스트 버전이 사용자 입력의 올바른 버전이라는 사용자 표시를 검출하는 동작;
    상기 사용자 표시에 기초하여, 상기 특정 용어를 제 1 모달리티 인식 모델에 추가하는 동작;
    제 1 모달리티 인식 모델로부터 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델 및 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에 사용되도록 상기 특정 용어를 전송하는 동작; 및
    상기 컴퓨팅 디바이스에 의해서, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하는 동작을 포함하는 동작들을 수행하게 하며,
    상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 컴퓨팅 디바이스.
KR1020227034080A 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습 KR102596446B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237036510A KR20230151086A (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/393,676 2016-12-29
US15/393,676 US10831366B2 (en) 2016-12-29 2016-12-29 Modality learning on mobile devices
PCT/US2017/042502 WO2018125288A1 (en) 2016-12-29 2017-07-18 Modality learning on mobile devices
KR1020217011572A KR102453194B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217011572A Division KR102453194B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237036510A Division KR20230151086A (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습

Publications (2)

Publication Number Publication Date
KR20220136515A true KR20220136515A (ko) 2022-10-07
KR102596446B1 KR102596446B1 (ko) 2023-10-31

Family

ID=59501553

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020197016913A KR102244607B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습
KR1020217011572A KR102453194B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습
KR1020237036510A KR20230151086A (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습
KR1020227034080A KR102596446B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020197016913A KR102244607B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습
KR1020217011572A KR102453194B1 (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습
KR1020237036510A KR20230151086A (ko) 2016-12-29 2017-07-18 모바일 디바이스들에서의 모달리티 학습

Country Status (6)

Country Link
US (4) US10831366B2 (ko)
EP (2) EP3538979B1 (ko)
KR (4) KR102244607B1 (ko)
CN (2) CN108255290B (ko)
DE (1) DE202017105669U1 (ko)
WO (1) WO2018125288A1 (ko)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR102103057B1 (ko) 2013-02-07 2020-04-21 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
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
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) * 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
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
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
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
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10747427B2 (en) * 2017-02-01 2020-08-18 Google Llc Keyboard automatic language identification and reconfiguration
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
CN107300986B (zh) * 2017-06-30 2022-01-18 联想(北京)有限公司 输入法切换方法及装置
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10531157B1 (en) * 2017-09-21 2020-01-07 Amazon Technologies, Inc. Presentation and management of audio and visual content across devices
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
USD874491S1 (en) * 2017-11-04 2020-02-04 Kika Tech (Cayman) Holdings Co., Limited Display screen with computer-generated graphical user interface
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10600408B1 (en) * 2018-03-23 2020-03-24 Amazon Technologies, Inc. Content output management based on speech quality
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
KR102592907B1 (ko) * 2018-06-22 2023-10-23 삼성전자주식회사 텍스트 입력 디바이스 및 그 방법
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10679610B2 (en) * 2018-07-16 2020-06-09 Microsoft Technology Licensing, Llc Eyes-off training for automatic speech recognition
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
WO2020060311A1 (en) * 2018-09-20 2020-03-26 Samsung Electronics Co., Ltd. Electronic device and method for providing or obtaining data for training thereof
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
EP3709194A1 (en) 2019-03-15 2020-09-16 Spotify AB Ensemble-based data comparison
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN109948530B (zh) * 2019-03-19 2021-08-31 福州大学 基于交叉学习的行人再识别性能提升方法
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
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
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US10719596B1 (en) * 2019-07-22 2020-07-21 Capital One Services, Llc System, method, and computer-accessible medium for authentication via handwriting style
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11094319B2 (en) 2019-08-30 2021-08-17 Spotify Ab Systems and methods for generating a cleaned version of ambient sound
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11328722B2 (en) * 2020-02-11 2022-05-10 Spotify Ab Systems and methods for generating a singular voice audio stream
US11308959B2 (en) 2020-02-11 2022-04-19 Spotify Ab Dynamic adjustment of wake word acceptance tolerance thresholds in voice-controlled devices
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) * 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
USD957454S1 (en) * 2020-05-22 2022-07-12 Autel Intelligent Technology Corp., Ltd. Display screen or portion thereof of a device with transitional graphical user interface
USD957451S1 (en) * 2020-05-22 2022-07-12 Autel Intelligent Technology Corp., Ltd. Display screen or portion thereof of a device with transitional graphical user interface
USD942998S1 (en) * 2020-05-22 2022-02-08 Autel Intelligent Technology Corp., Ltd. Display screen or portion of a device with transitional graphical user interface
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
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
KR20220055296A (ko) 2020-10-26 2022-05-03 삼성전자주식회사 전자 장치 및 그 제어 방법
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090130350A (ko) * 2008-06-09 2009-12-23 엘지전자 주식회사 이동 단말기 및 그의 텍스트 수정방법
KR20130006596A (ko) * 2010-01-05 2013-01-17 구글 인코포레이티드 음성 입력의 워드-레벨 수정
KR20140111333A (ko) * 2010-03-12 2014-09-18 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
KR20170106951A (ko) * 2015-01-16 2017-09-22 삼성전자주식회사 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720682B2 (en) * 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US6629073B1 (en) * 2000-04-27 2003-09-30 Microsoft Corporation Speech recognition method and apparatus utilizing multi-unit models
US20030233237A1 (en) 2002-06-17 2003-12-18 Microsoft Corporation Integration of speech and stylus input to provide an efficient natural input experience
US20040243415A1 (en) 2003-06-02 2004-12-02 International Business Machines Corporation Architecture for a speech input method editor for handheld portable devices
CN102272827B (zh) * 2005-06-01 2013-07-10 泰吉克通讯股份有限公司 利用语音输入解决模糊的手工输入文本输入的方法和装置
CN101785050B (zh) * 2007-07-31 2012-06-27 富士通株式会社 语音识别用对照规则学习系统以及语音识别用对照规则学习方法
US8140335B2 (en) * 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
EP2380094A1 (en) * 2009-01-16 2011-10-26 Sanjiv Agarwal Dynamic indexing while authoring
EP3091535B1 (en) 2009-12-23 2023-10-11 Google LLC Multi-modal input on an electronic device
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
WO2011156719A1 (en) * 2010-06-10 2011-12-15 Logoscope, Llc System and method for conversion of speech to displayed media data
US8532994B2 (en) * 2010-08-27 2013-09-10 Cisco Technology, Inc. Speech recognition using a personal vocabulary and language model
US20130226892A1 (en) 2012-02-29 2013-08-29 Fluential, Llc Multimodal natural language interface for faceted search
US10354650B2 (en) * 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
US8713433B1 (en) * 2012-10-16 2014-04-29 Google Inc. Feature-based autocorrection
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US20140282212A1 (en) * 2013-03-15 2014-09-18 Gary Shuster System, method, and apparatus that facilitates modifying a textual input
US9058805B2 (en) * 2013-05-13 2015-06-16 Google Inc. Multiple recognizer speech recognition
US9779724B2 (en) * 2013-11-04 2017-10-03 Google Inc. Selecting alternates in speech recognition
US20170124770A1 (en) * 2014-03-15 2017-05-04 Nitin Vats Self-demonstrating object features and/or operations in interactive 3d-model of real object for understanding object's functionality
US9633657B2 (en) * 2014-04-02 2017-04-25 Speakread A/S Systems and methods for supporting hearing impaired users
US10178301B1 (en) * 2015-06-25 2019-01-08 Amazon Technologies, Inc. User identification based on voice and face
US9443519B1 (en) * 2015-09-09 2016-09-13 Google Inc. Reducing latency caused by switching input modalities
KR20170046291A (ko) * 2015-10-21 2017-05-02 삼성전자주식회사 전자 기기, 그의 음향 모델 적응 방법 및 음성 인식 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090130350A (ko) * 2008-06-09 2009-12-23 엘지전자 주식회사 이동 단말기 및 그의 텍스트 수정방법
KR20130006596A (ko) * 2010-01-05 2013-01-17 구글 인코포레이티드 음성 입력의 워드-레벨 수정
KR20140111333A (ko) * 2010-03-12 2014-09-18 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
KR20170106951A (ko) * 2015-01-16 2017-09-22 삼성전자주식회사 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스

Also Published As

Publication number Publication date
KR20190082294A (ko) 2019-07-09
DE202017105669U1 (de) 2018-04-16
CN108255290A (zh) 2018-07-06
KR102596446B1 (ko) 2023-10-31
EP3538979A1 (en) 2019-09-18
EP4235369A3 (en) 2023-10-18
US11435898B2 (en) 2022-09-06
KR102244607B1 (ko) 2021-04-26
KR102453194B1 (ko) 2022-10-11
US10831366B2 (en) 2020-11-10
US20180188948A1 (en) 2018-07-05
CN113900529A (zh) 2022-01-07
US20220413696A1 (en) 2022-12-29
US20210019046A1 (en) 2021-01-21
CN108255290B (zh) 2021-10-12
US11842045B2 (en) 2023-12-12
WO2018125288A1 (en) 2018-07-05
EP4235369A2 (en) 2023-08-30
EP3538979B1 (en) 2023-06-21
US20240086063A1 (en) 2024-03-14
KR20230151086A (ko) 2023-10-31
KR20210046840A (ko) 2021-04-28

Similar Documents

Publication Publication Date Title
KR102453194B1 (ko) 모바일 디바이스들에서의 모달리티 학습
US11037566B2 (en) Word-level correction of speech input
US9293136B2 (en) Multiple recognizer speech recognition
US9123339B1 (en) Speech recognition using repeated utterances
EP3483876A1 (en) Initiating actions based on partial hotwords
JP7400112B2 (ja) 自動音声認識のための英数字列のバイアス付加

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant