KR20220136515A - 모바일 디바이스들에서의 모달리티 학습 - Google Patents
모바일 디바이스들에서의 모달리티 학습 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 13
- 230000009471 action Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000013518 transcription Methods 0.000 abstract description 24
- 230000035897 transcription Effects 0.000 abstract description 24
- 238000004590 computer program Methods 0.000 abstract description 16
- 230000003213 activating effect Effects 0.000 abstract description 9
- 230000015654 memory Effects 0.000 description 43
- 238000004891 communication Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 239000000872 buffer Substances 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012905 input function Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 235000011468 Albizia julibrissin Nutrition 0.000 description 2
- 240000005852 Mimosa quadrivalvis Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 240000006394 Sorghum bicolor Species 0.000 description 1
- 235000011684 Sorghum saccharatum Nutrition 0.000 description 1
- 235000009430 Thespesia populnea Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1626—Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures 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
본 발명은 모바일 디바이스에 관한 것이다.
스마트 폰 및 모바일 컴퓨팅 디바이스는 사용자가 모바일 디바이스의 마이크 기능을 활성화할 때 가능해지는 보이스 타이핑(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는 본 명세서에서 설명된 컴퓨터 구현예 방법과 관련하여 사용될 수 있는 컴퓨팅 시스템의 블록도이다.
도면에서 유사한 참조번호들과 명칭들은 유사한 구성요소들을 나타낸다.
도 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 모달리티(modality) 인식 모델이 상기 특정 용어를 인식하지 못함을 결정하는 단계;
제 1 모달리티 인식 모델이 상기 특정 용어를 인식하지 못함을 결정함에 응답하여, 상기 특정 용어를 대체할 하나 이상의 후보 대체 용어들을 그래픽 사용자 인터페이스에 의해서 디스플레이하는 단계;
상기 그래픽 사용자 인터페이스에 의해서 그리고 상기 하나 이상의 후보 대체 용어들을 디스플레이함에 응답하여, 상기 텍스트 버전이 사용자 입력의 올바른 버전이라는 사용자 표시를 검출하는 단계;
상기 사용자 표시에 기초하여, 상기 특정 용어를 제 1 모달리티 인식 모델에 추가하는 단계;
제 1 모달리티 인식 모델로부터 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델 및 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에 사용되도록 상기 특정 용어를 전송하는 단계; 및
상기 컴퓨팅 디바이스에 의해서, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하는 단계를 포함하며,
상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 방법. - 제1항에 있어서,
제 2 사용자 입력 모드는 텍스트 입력 모드이고, 상기 방법은,
상기 컴퓨팅 디바이스에 의해서, 상기 특정 용어를 포함하는 제 2 사용자 입력을 수신하는 단계;
업데이트된 제 2 모달리티 인식 모델에 기초하여, 상기 특정 용어를 인식하는 단계; 및
상기 특정 용어를 인식함에 기초하여, 제 2 사용자 입력에 대한 자동 보정 피처(autocorrect feature)의 적용을 건너뛰는 단계(bypassing)
를 더 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제 1 모달리티 인식 모델은 제 1 언어 모델에 대응하고, 상기 제 2 모달리티 인식 모델은 제 2 언어 모델에 대응하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제 1 모달리티 인식 모델은 언어 모델에 대응하고, 상기 제 2 모달리티 인식 모델은 공간 모델(spatial model)에 대응하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제 1 모달리티 인식 모델은 공간 모델에 대응하고, 상기 제 2 모달리티 인식 모델은 음향 모델(acoustic model)에 대응하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제 1 사용자 입력 모드는 음성-기반 사용자 입력 모드에 대응하고, 상기 제 2 사용자 입력 모드는 키보드-기반 사용자 입력 모드에 대응하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제 1 사용자 입력 모드는 키보드-기반 사용자 입력 모드에 대응하고, 상기 제 2 사용자 입력 모드는 음성-기반 사용자 입력 모드에 대응하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제 1 사용자 입력 모드는 음성-기반 사용자 입력 모드에 대응하고, 상기 방법은,
스피치-투-텍스트(speech-to-text) 프로세싱에 기초하여, 상기 특정 용어를 생성하도록 사용자 입력을 전사하는 단계(transcribing)를 더 포함하는 것을 특징으로 하는 방법. - 제8항에 있어서,
상기 스피치-투-텍스트 프로세싱은 클라우드-기반의, 자동화된 스피치 인식기에 의해 수행되는 것을 특징으로 하는 방법. - 제8항에 있어서,
상기 음성-기반 사용자 입력 모드는 발음들(utterances)을 전사된 단어들에 직접 정렬시키도록 구성된 음향 모델(acoustic model)에 관련되는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드로부터 제 2 사용자 입력 모드로 상기 컴퓨팅 디바이스를 스위칭하는 사용자 표시를 수신하는 단계; 및
사용자 표시에 응답하여, 제 1 사용자 입력 모드로부터 제 2 사용자 입력 모드로 상기 컴퓨팅 디바이스를 스위칭하는 단계
를 더 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 크로스-모달리티 학습은 사용자 입력에 관련된 콘텍스트 정보를 생성하는 단계를 포함하고, 상기 콘텍스트 정보는 적어도 상기 특정 용어를 참조하는 것을 특징으로 하는 방법. - 제12항에 있어서,
상기 콘텍스트 정보는 사용자 입력과 관련된 연속적인 콘텍스트 아이템들을 포함하는 하나 이상의 n-그램(n-grams)을 포함하는 것을 특징으로 하는 방법. - 제12항에 있어서,
상기 콘텍스트 정보를 생성하는 단계는,
상기 컴퓨팅 디바이스에 의해, 상기 특정 용어와 관련된 하나 이상의 파라미터 값들을 생성하는 단계를 더 포함하고, 상기 하나 이상의 파라미터 값들은 제 1 모달리티 인식 모델에 기초하며;
상기 콘텍스트 정보는 상기 하나 이상의 파라미터 값들에 기초하는 것을 특징으로 하는 방법. - 제1항에 있어서,
사용자 입력은 상기 컴퓨팅 디바이스의 어플리케이션 프로그램에 의해 수신되며, 어플리케이션 프로그램은 텍스트 메시지 어플리케이션, 이메일 어플리케이션, 인스턴트 메시징 어플리케이션, 웹 브라우징 어플리케이션, 또는 맵핑 어플리케이션 중 하나인 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 특정 용어의 문맥적 변화들을 나타내는 통계 데이터를 생성하는 단계;
상기 컴퓨팅 디바이스에 의해서 그리고 글로벌 모델로, 상기 통계 데이터를 전송하는 단계; 및
상기 컴퓨팅 디바이스에 의해서 그리고 임계 개수의 사용자 컴퓨팅 디바이스들로부터의 데이터와 상기 통계 데이터가 일치한다라는 글로벌 모델의 결정에 적어도 부분적으로 기초하여, 상기 컴퓨팅 디바이스와 관련된 하나 이상의 모달리티 인식 모델들을 업데이트하는 단계
를 더 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
제 1 사용자 입력 모드를 통해 수신된 복수의 사용자 입력들을 포함하는 데이터베이스를 생성하는 단계; 및
복수의 사용자 입력들 중 적어도 하나의 사용자 입력을 사용하여 하나 이상의 모달리티 인식 모델들에 의해 액세스가능한 글로벌 모델을 업데이트하는 단계
를 더 포함하는 것을 특징으로 하는 방법. - 제17항에 있어서,
제 2 모달리티 인식 모델은 키보드 언어 모델이고, 상기 방법은,
하나 이상의 모달리티 인식 모델들을 업데이트하도록 상기 업데이트된 글로벌 모델에 액세스하는 단계를 더 포함하는 것을 특징으로 하는 방법.
상기 컴퓨팅 디바이스의 어플리케이션 프로그램에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하고, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
상기 특정 용어와 관련된 파라미터 값들을 생성하고, 상기 파라미터 값들은 제 1 사용자 입력 모드에 대응하는 제 1 모달리티 인식 모델에 기초하며;
상기 파라미터 값들에 기초하여, 적어도 상기 특정 용어를 참조하고 그리고 상기 어플리케이션 프로그램을 참조하는 입력 콘텍스트 데이터 구조를 생성하고, 상기 입력 콘텍스트 데이터 구조는 복수의 모달리티 모델들 사이에서의 크로스-모달리티 학습에서 사용되도록 공유되며;
상기 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델과 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에서 이용되도록 상기 입력 콘텍스트 데이터 구조를 전송하고; 그리고
상기 입력 콘텍스트 데이터 구조에 기초하여, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하게 하며,
상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 제조 물품. - 컴퓨터 판독가능 명령들이 저장된 하나 이상의 컴퓨터 판독가능 매체를 포함하는 제조 물품으로서, 상기 컴퓨터 판독가능 명령들은 컴퓨팅 디바이스의 하나 이상의 프로세서들에 의해서 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
상기 컴퓨팅 디바이스에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하는 동작, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드에 대응하는 제 1 모달리티(modality) 인식 모델이 상기 특정 용어를 인식하지 못함을 결정하는 동작;
제 1 모달리티 인식 모델이 상기 특정 용어를 인식하지 못함을 결정함에 응답하여, 상기 특정 용어를 대체할 하나 이상의 후보 대체 용어들을 그래픽 사용자 인터페이스에 의해서 디스플레이하는 동작;
상기 그래픽 사용자 인터페이스에 의해서 그리고 상기 하나 이상의 후보 대체 용어들을 디스플레이함에 응답하여, 상기 텍스트 버전이 사용자 입력의 올바른 버전이라는 사용자 표시를 검출하는 동작;
상기 사용자 표시에 기초하여, 상기 특정 용어를 제 1 모달리티 인식 모델에 추가하는 동작;
제 1 모달리티 인식 모델로부터 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델 및 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에 사용되도록 상기 특정 용어를 전송하는 동작; 및
상기 컴퓨팅 디바이스에 의해서, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하는 동작을 포함하는 동작들을 수행하게 하며,
상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 제조 물품. - 컴퓨팅 디바이스로서,
하나 이상의 프로세서들; 및
데이터 저장소를 포함하고,
상기 데이터 저장소는 컴퓨터 실행가능 명령들을 저장하며, 상기 컴퓨터 실행가능 명령들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
상기 컴퓨팅 디바이스에 의해서, 상기 컴퓨팅 디바이스와 관련된 제 1 사용자 입력 모드를 통해, 특정 용어의 사용자 입력을 수신하는 동작, 상기 특정 용어는 사용자 입력의 텍스트 버전이며;
상기 컴퓨팅 디바이스에 의해서, 제 1 사용자 입력 모드에 대응하는 제 1 모달리티(modality) 인식 모델이 상기 특정 용어를 인식하지 못함을 결정하는 동작;
제 1 모달리티 인식 모델이 상기 특정 용어를 인식하지 못함을 결정함에 응답하여, 상기 특정 용어를 대체할 하나 이상의 후보 대체 용어들을 그래픽 사용자 인터페이스에 의해서 디스플레이하는 동작;
상기 그래픽 사용자 인터페이스에 의해서 그리고 상기 하나 이상의 후보 대체 용어들을 디스플레이함에 응답하여, 상기 텍스트 버전이 사용자 입력의 올바른 버전이라는 사용자 표시를 검출하는 동작;
상기 사용자 표시에 기초하여, 상기 특정 용어를 제 1 모달리티 인식 모델에 추가하는 동작;
제 1 모달리티 인식 모델로부터 컴퓨팅 디바이스와 관련된 제 2 사용자 입력 모드에 대응하는 제 2 모달리티 인식 모델로, 제 1 모달리티 인식 모델 및 제 2 모달리티 인식 모델 사이의 크로스-모달리티 학습에 사용되도록 상기 특정 용어를 전송하는 동작; 및
상기 컴퓨팅 디바이스에 의해서, 제 2 모달리티 인식 모델에 대한 크로스-모달리티 학습을 업데이트하는 동작을 포함하는 동작들을 수행하게 하며,
상기 업데이트는 상기 제 2 모달리티 인식 모델로 하여금 제 2 사용자 입력 모드를 통한 후속 사용자 입력을 자동으로 인식하게 하는 것을 특징으로 하는 컴퓨팅 디바이스.
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)
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)
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)
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 | 삼성전자주식회사 | 전자 기기, 그의 음향 모델 적응 방법 및 음성 인식 시스템 |
-
2016
- 2016-12-29 US US15/393,676 patent/US10831366B2/en active Active
-
2017
- 2017-07-18 KR KR1020197016913A patent/KR102244607B1/ko active IP Right Grant
- 2017-07-18 KR KR1020217011572A patent/KR102453194B1/ko active IP Right Grant
- 2017-07-18 KR KR1020237036510A patent/KR20230151086A/ko active Application Filing
- 2017-07-18 EP EP17746260.3A patent/EP3538979B1/en active Active
- 2017-07-18 KR KR1020227034080A patent/KR102596446B1/ko active IP Right Grant
- 2017-07-18 WO PCT/US2017/042502 patent/WO2018125288A1/en active Search and Examination
- 2017-07-18 EP EP23176768.2A patent/EP4235369A3/en active Pending
- 2017-09-19 DE DE202017105669.4U patent/DE202017105669U1/de active Active
- 2017-09-29 CN CN201710909192.1A patent/CN108255290B/zh active Active
- 2017-09-29 CN CN202111185746.0A patent/CN113900529A/zh active Pending
-
2020
- 2020-10-06 US US17/064,173 patent/US11435898B2/en active Active
-
2022
- 2022-08-31 US US17/823,545 patent/US11842045B2/en active Active
-
2023
- 2023-11-22 US US18/517,825 patent/US20240086063A1/en active Pending
Patent Citations (4)
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 |