KR20200121845A - 텍스트 독립 화자 인식 - Google Patents

텍스트 독립 화자 인식 Download PDF

Info

Publication number
KR20200121845A
KR20200121845A KR1020207026622A KR20207026622A KR20200121845A KR 20200121845 A KR20200121845 A KR 20200121845A KR 1020207026622 A KR1020207026622 A KR 1020207026622A KR 20207026622 A KR20207026622 A KR 20207026622A KR 20200121845 A KR20200121845 A KR 20200121845A
Authority
KR
South Korea
Prior art keywords
user
audio data
speaker
client device
spoken
Prior art date
Application number
KR1020207026622A
Other languages
English (en)
Other versions
KR102399420B1 (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 KR1020227016240A priority Critical patent/KR102438671B1/ko
Publication of KR20200121845A publication Critical patent/KR20200121845A/ko
Application granted granted Critical
Publication of KR102399420B1 publication Critical patent/KR102399420B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • 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/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/10Multimodal systems, i.e. based on the integration of multiple recognition engines or fusion of expert systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • 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
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • G10L2015/0636Threshold criteria for the updating
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0638Interactive procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Toys (AREA)
  • Traffic Control Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

특정 사용자가 음성 발언을 말한 것을 검증하고 및/또는 음성 발언을 말한 사용자를 식별하기 위해 자동화 어시스턴트에 의해 텍스트 독립 화자 인식 모델들이 활용될 수 있다. 구현들은 특정 사용자에 의한 이전 발언들에 기초하여 특정 사용자에 대한 화자 임베딩을 자동으로 업데이트하는 것을 포함할 수 있다. 추가적으로 또는 대안적으로, 구현들은 텍스트 독립 화자 인식 모델 및 텍스트 종속 화자 인식 모델 모두에 의해 생성된 출력을 사용하여 특정 사용자가 음성 발언을 말했는지를 검증하는 것을 포함할 수 있다. 더욱이, 구현들은 추가적으로 또는 대안적으로 어떤 사용자가 음성 발언을 말했는지 결정하기 전에 음성 발언과 관련된 여러 사용자에 대한 컨텐츠를 프리페치하는 것을 포함할 수 있다.

Description

텍스트 독립 화자 인식
자동화(된) 어시스턴트("개인 비서", "모바일 비서"등이라고도 함)는 스마트 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 자동차 시스템, 독립형 개인 어시스턴트 디바이스 등과 같은 다양한 클라이언트 디바이스를 통해 사용자와 상호 작용할 수 있다. 자동화 어시스턴트는 발화된 자연어 입력(즉, 발언)을 포함하여 사용자로부터 입력을 수신하고, 동작을 수행하고, 다른 디바이스를 제어하고 및/또는 응답형 컨텐츠(예를 들어, 시각적 및/또는 청각적 자연어 출력)를 제공함으로써 응답할 수 있다. 클라이언트 디바이스를 통해 상호 작용하는 자동화 어시스턴트는 클라이언트 디바이스 자체를 통해 및/또는 클라이언트 디바이스(예를 들어, 클라우드의 컴퓨팅 디바이스(들))와 네트워크 통신하는 하나 이상의 원격 컴퓨팅 디바이스를 통해 구현될 수 있다.
자동화 어시스턴트는 사용자의 음성 발언(spoken utterance)에 해당하는 오디오 데이터를 대응하는 텍스트(또는 다른 의미 표현)로 변환할 수 있다. 예를 들어, 오디오 데이터는 자동화 어시스턴트를 포함하는 클라이언트 디바이스의 하나 이상의 마이크로폰을 통해 사용자의 음성 발언의 감지에 기초하여 생성될 수 있다. 자동화 어시스턴트는 음성 발언에 의해 생성된 사운드(예를 들어, 음소), 발음된 사운드의 순서, 음성(speech) 리듬, 억양 등과 같은 오디오 데이터내의 캡처된 음성 발언의 다양한 특성을 인식하려고 시도하는 음성 인식 엔진을 포함할 수 있다. 또한, 음성 인식 엔진은 이러한 특성에 의해 표현되는 텍스트 단어 또는 구문을 식별할 수 있다. 그런 다음 텍스트는 음성 발언에 대한 응답형 컨텐츠를 결정할 때 (예를 들어, 자연어 이해 엔진 및/또는 대화 상태 엔진을 사용하여) 자동화 어시스턴트에 의해 추가로 처리될 수 있다. 음성 인식 엔진은 클라이언트 디바이스 및/또는 클라이언트 디바이스와 떨어져 있지만 네트워크 통신중인 하나 이상의 자동화 어시스턴트 구성 요소(들)에 의해 구현될 수 있다.
본 명세서에 설명된 기술들은 음성 발언을 캡처하는 오디오 데이터의 처리에 기초한 텍스트 독립(TI) 화자 인식에 관한 것이다. 그러나, 당연히 응답형 컨텐츠를 제공하는 것에 추가하여 또는 제공하는 대신, 이에 한정되지는 않지만 스마트 잠금, 스마트 알람 시스템, 스마트 스위치 및/또는 스마트 온도 조절기와 같은 다른 디바이스의 제어와 같은 다른 동작들이 수행될/수행되게 할 수 있음을 인식할 것이다. 이러한 예들에서, 다른 디바이스는 특정 인증된 사용자가 특정 음성 발언을 말한 것을 검증하는 것에 응답해서만 제어되도록 할 수 있다. 화자 인식은 사용자의 허가를 받아 사용자가 특정 음성 발언을 말했는지 검증할 수 있다. 사용자가 특정 음성 발언을 말했음을 검증하는 것에 응답하여, 컨텐츠는 특정 음성 발언에 응답하여 제공될 수 있으며, 여기서 해당 컨텐츠는 특정 발언에 응답하고 사용자에 대해 맞춤화된다. 화자 인식은 화자 인식 모델 사용하여, 출력을 생성하기 위해 음성 발언을 캡처하는 오디오 데이터를 처리하는 것 및 해당 출력을 사용자를 위한 화자 임베딩(예를 들어, 사용자의 사용자 프로필과 관련된 임베딩)과 비교하는 것을 포함할 수 있다. 예를 들어, 만약 생성된 출력과 사용자를 위한 화자 임베딩 사이의 거리 메트릭이 임계값을 충족하면, 사용자가 특정 음성 발언을 말한 사용자로 검증될 수 있다. 사용자에 대한 화자 임베딩은 사용자로부터의 음성 발언을 포함하는 오디오 데이터의 하나 이상의 인스턴스의 처리에 근거하여 생성된 출력(들)에 기초하여 생성될 수 있다. 예를 들어, 화자 임베딩은 사용자로부터의 대응하는 음성 발언을 포함하는 오디오 데이터의 대응하는 인스턴스의 처리에 근거하여 각각 생성되는 복수의 상이한 임베딩의 평균(또는 다른 조합)에 기초할 수 있다.
텍스트 종속(TD) 화자 인식에서, 사용자의 화자 임베딩은 하나 이상의 특정 단어 및/또는 하나 이상의 특정 구만을 포함하는 음성 발언에 기초하여 생성된다. 또한, 사용시 사용자는 화자 임베딩과 충분히 매칭하는 TD 화자 인식 모델을 사용하여, 생성될 출력을 위해 하나 이상의 특정 단어/구를 말해야 한다. 일 예로서, TD 화자 인식에서 하나 이상의 특정 단어/구는 자동화 어시스턴트를 호출하도록 구성된 하나 이상의 호출 문구로 제한될 수 있다. 자동화 어시스턴트의 호출 문구는 "헤이 어시스턴트", "OK 어시스턴트" 및/또는 "어시스턴트"와 같은 하나 이상의 핫 워드/트리거 워드를 포함한다.
이에 반해, TI 화자 인식에서, TI 화자 인식 모델을 사용하여 처리된 음성 발언은 특정 단어(들) 및/또는 특정 구(들)로 제한되지 않는다. 다시 말해서, 사실상 모든 음성 발언에 기초한 오디오 데이터는 TI 화자 인식 모델을 사용하여 처리되어 특정 사용자에 대한 TI 화자 임베딩과 효과적으로 비교될 수 있는 출력을 생성하여, 음성 발언이 특정 사용자로부터 오는 것인지 여부를 결정할 수 있다. 더욱이, 다양한 구현에서, TI 화자 인식에 사용되는 사용자의 화자 임베딩은 서로 다른 단어 및/또는 구를 포함하는 음성 발언에 기초하여 생성된다.
다양한 구현에서, 특정 사용자에 대한 하나 이상의 화자 임베딩은 특정 사용자와 연관된 클라이언트 디바이스에 저장된다(예를 들어, 클라이언트 디바이스는 특정 사용자에 대한 사용자 프로필과 연관되고 로컬로 저장된 화자 임베딩은 사용자 프로필과 연관됨). 또한, 다수의 사용자가 동일한 클라이언트 디바이스와 연관될 수 있으므로 여러 특정 사용자에 대한 다수의(다중) 화자 임베딩(들)이 클라이언트 디바이스에 저장될 수 있다(예를 들어, 클라이언트 디바이스는 여러 특정 사용자에 대한 사용자 프로필과 연관되며, 각 사용자 프로필은 관련된 특정 사용자에 대한 적어도 하나의 화자 임베딩을 포함한다). (서버와 같은 원격 컴퓨팅 디바이스에 화자 임베딩을 저장하는 것과 반대로) 화자 임베딩을 클라이언트 디바이스에 저장하는 것은 데이터 보안을 유지하는데 도움이 될 수 있다. TD 화자 인식은 다양한 구현에서 클라이언트 디바이스에서 발생할 수 있다. 반면에, TI 화자 인식은 계산 비용이 많이 들고(예를 들어, 프로세서 및/또는 메모리 리소스) 및/또는 많은 양의 저장 공간을 필요로 하는 TI 화자 인식 모델에 종속한다. 따라서, 많은 구현에서 TI 화자 인식은 보다 강력한 리소스를 활용할 수 있는 원격 컴퓨팅 디바이스(예를 들어, 하나 이상의 서버)에 더 적합할 수 있다. 추가적으로 또는 대안적으로, 많은 구현에서, TI 화자 인식이 클라이언트 디바이스에서 발생할 수 있다. 예를 들어 클라이언트 디바이스에서 TI 화자 인식을 수행할 때 증분 검증 결과가 클라이언트 디바이스에서 서버로 전송될 수 있다. 또한 다양한 구현에서, TI 화자 임베딩은 클라이언트 디바이스에 로컬로 저장되고 음성 발언을 캡처하는 오디오 데이터와 함께 원격 컴퓨팅 디바이스(들)로 전송되어, TI 화자 임베딩을 사용하여 발언 화자의 (원격 컴퓨팅 디바이스에 의한) 검증을 가능하게 할 수 있다. 다양한 구현에서, 원격 컴퓨팅 디바이스(들)에서 오디오 데이터와 함께 수신되고 TI 화자 인식에 사용되는 화자 임베딩(들)은 화자 인식 프로세스에서 사용된 직후 원격 컴퓨팅 디바이스(들)에서 삭제될 수 있으므로 데이터 보안을 유지하고 그리고 악의적인 행위자가 권한 없이 컨텐츠에 액세스하거나 디바이스를 제어하기 위해 이를 활용할 목적으로 화자 임베딩에 액세스할 수 있는 기회를 줄일 수 있다.
본 명세서에 개시된 일부 구현은 화자 인식에서 TD 화자 인식 모델 및 TI 화자 인식 모델 모두를 적어도 선택적으로 이용하는 것에 관한 것이다. 예를 들어, 음성 발언을 캡처하는 오디오 데이터의 호출 부분은 TD 출력을 생성하기 위해 TD 화자 인식 모델을 사용하여 처리될 수 있다. 그런 다음 TD 출력은 주어진(given) 사용자에 대한 TD 화자 임베딩과 비교되어 그 주어진 사용자에 대한 TD 사용자 측정치를 생성할 수 있다. 예를 들어, TD 사용자 측정치는 TD 출력과 TD 화자 임베딩 사이의 (임베딩 공간내의) 거리를 기반으로 할 수 있다. 또한, 음성 발언을 캡처하는 오디오 데이터의 적어도 추가 부분은 TI 출력을 생성하기 위해 TI 화자 인식 모델을 사용하여 처리될 수 있다. 그런 다음 TI 출력은 주어진 사용자에 대한 TI 사용자 측정치를 생성하기 위해 주어진 사용자에 대한 TI 화자 임베딩과 비교될 수 있다. 예를 들어, TI 사용자 측정치는 TI 출력과 TI 화자 임베딩 사이의 (임베딩 공간내의) 거리를 기반으로 할 수 있다.
TD 사용자 측정치와 TI 사용자 측정치 모두는 주어진 사용자가 음성 발언의 화자인지 여부를 결정할 때 조합하여 적어도 선택적으로 활용될 수 있다. 예를 들어, TD 사용자 측정치와 TI 사용자 측정치는 각각 개별 임계값과 비교될 수 있고, 평균화(또는 결합)될 수 있고, 임계값과 비교될 수 있으며, 및/또는 주어진 사용자가 음성 발언의 화자인지 여부를 결정할 때 조합하여 고려될 수 있다. TD 및 TI 사용자 측정치는 모두 활용하면 화자 인식의 견고성 및/또는 정확도를 증가시킬 수 있다. 이는 (예를 들어, 데이터) 보안을 손상시킬 수 있는 긍정 오류(false positives)를 완화하고 및/또는 각 사용자가 음성 발화를 다시 제공해야 하는 결과를 초래할 수 있는 부정 오류(false negatives)를 완화하고, 음성 발언을 다시 처리하고 전송하는데 컴퓨팅 및 네트워크 리소스가 낭비되는 것을 방지할 수 있다.
일부 구현에서, TI 화자 인식 모델은 TD 사용자 측정치가 임계값을 충족하지 못하는 경우에만 화자 인식에 사용된다. 예를 들어, 주어진 사용자에 대한 TD 사용자 측정치가 그 주어진 사용자가 음성 입력의 화자임을 높은 신뢰도로 나타내면, TI 화자 인식은 바이패스될 수 있다. 이것은 TD 화자 인식만으로 화자를 높은 신뢰도로 인식할 때 TI 화자 인식의 수행을 방지함으로써 컴퓨팅 리소스를 절약할 수 있다. 일부 구현에서, TI 사용자 측정치 및 TD 사용자 측정치 모두가 화자 인식에 이용될 때, 두 측정치에 대한 각각의 가중치는 화자가 인식되고 있는 요청의 하나 이상의 특징에 기초하여 동적으로 결정될 수 있다. 이러한 특징들은 예를 들어 요청의 음성 발언의 길이(예를 들어, 전체 길이 또는 적어도 요청의 비-호출 부분의 길이) 및/또는 TD 사용자 측정치의 크기를 포함할 수 있다. 예를 들어, TI 사용자 측정치는 "OK 어시스턴트, 무슨 일이야(what's up)"라는 요청에 비해 "OK 어시스턴트, 내 다음 5개의 캘린더 항목은 뭐야"라는 요청에 대해 더 많은 가중치를 부여받을 수 있다. 이러한 가중된 가중치는 Tl 화자 인식 모델을 사용하여 더 긴 오디오 데이터를 처리하면 더 정확한 TI 사용자 측정치가 생성될 수 있기 때문에, "무슨 일이야"보다 더 긴(기간 단위 및/또는 용어/문자 단위) "내 다음 5개의 캘린더 항목은 뭐야"에 적어도 부분적으로 기초할 수 있다. 다른 예로서, TI 사용자 측정치는 TD 사용자 측정치가 높은 신뢰도를 나타내지 않는 경우에 비해 TD 사용자 측정치가 높은 신뢰도를 나타낼 때 가중치를 덜 부여받을 수 있다. TI 및 TD 사용자 측정치의 이러한 동적 가중은 정확한 화자 인식으로 이어질 가능성이 더 높은 방식으로 가중을 시프트함으로써 긍정 오류 및/또는 부정 오류를 완화할 수 있다.
위에서 설명한 예들은 단일 사용자와 관련된 임베딩 및 측정치와 관련하여 설명된다. 그러나, 본 명세서에 설명된 바와 같이, 다양한 상황에서, 클라이언트 디바이스는 각각 별도의 화자 임베딩(들)을 갖는(예를 들어, 각각 개별 TI 화자 임베딩 및 개별 TD 화자 임베딩을 갖는) 다수의 사용자와 연관될 수 있다. 이러한 상황에서, 복수의 다중 사용자 각각에 대한 개별 TD 사용자 측정치 및 개별 TI 사용자 측정치는 다수의 사용자 중 어느 사용자가 음성 발언을 말했는지 인식하는데 활용될 수 있다.
본 명세서에 개시된 일부 구현은 추가적으로 또는 대안적으로 요청과 관련된 다수의 사용자 각각에 대한 응답형 컨텐츠의 결정을 개시하는 것에 관한 것이며, 여기서 개시는 (예를 들어, TI 화자 인식 모델을 사용하여) 다수의 사용자 중 어떤 사용자가 요청의 오디오 데이터에 캡처된 음성 발언을 말했는지 결정하는 것을 완료하기 전에 발생한다. 그런 다음 특정 사용자에 대한 응답형 컨텐츠는 특정 사용자가 요청의 오디오 데이터 내의 캡처된 음성 발언을 말했다고 결정하는 것에 응답하여, 그 요청에 대한 응답으로 렌더링되도록 할 수 있다. 다수의 사용자 각각에 대한 응답형 컨텐츠의 결정을 개시하면 다수의 사용자 중 어느 어떤 사용자가 음성 발언을 말했는지 결정되기 전에 응답형 컨텐츠가 생성되기 시작할 수 있다. 결과적으로, 특정 사용자에 대한 응답형 컨텐츠가 특정 사용자에 대한 응답형 컨텐츠의 생성을 시작하기 전에 특정 사용자의 인식을 기다리는 것에 비해, 감소된 지연 시간으로 생성되고 및/또는 렌더링될 수 있다(또는 동작이 수행될 수 있음). 선택적으로, 만약 특정 사용자가 다른 사용자(들)에 대한 응답형 컨텐츠의 생성을 완료하기 전에 인식되면, 다른 사용자(들)에 대한 응답형 컨텐츠의 생성은 중지되어, 다른 사용자(들)에 대한 그러한 응답형 컨텐츠를 계속 생성하는데 추가의 컴퓨팅 및/또는 네트워크 리소스가 사용되는 것을 방지할 수 있다.
또한, 다양한 구현에서, 요청과 관련된 다수의 사용자 각각에 대한 응답형 컨텐츠의 결정을 개시하는 것은 하나 이상의 임계값을 충족하는 다수의 사용자에 대한 초기 결정된 TD 측정치에 응답해서만 발생한다. 예를 들어, 본 명세서에 설명된 바와 같이, TD 측정치는 다양한 상황에서 TI 측정 이전에 생성될 수 있고 및/또는 수신된 요청에 포함(또는 적어도 표시)될 수 있다. 만약 요청과 관련된 세 명의 사용자 중 두 명에 대한 TD 측정치가 임계값을 충족하는 경우, 두 사용자에 대한 응답형 컨텐츠의 생성은 선제적으로 개시될 수 있다(임계값을 충족하지 못하는 TD 측정을 사용하는 다른 사용자에 대해서는 선제적으로 개시되지 않음). 만약 사용자들 중 하나에 대한 TD 측정치만 임계값을 충족하면, 선택적으로 해당 사용자에 대해서만 응답형 컨텐츠 생성을 선제적으로 개시할 수 있다. 만약 요청과 관련된 세 사용자 모두에 대한 TD 측정치가 임계값을 충족하는 경우 세 사용자 모두에 대한 응답형 컨텐츠 생성을 선제적으로 개시할 수 있다.
일부 구현은 추가적으로 또는 대안적으로, 업데이트된 TI 화자 인식 모델을 사용하여, 주어진 사용자에 대한 TI 화자 임베딩의 업데이트된 버전을 자동으로 생성하는 것에 관한 것이다. 이러한 구현 중 일부에서, 요청은 클라이언트 디바이스로부터 수신되는데, 이 요청은 주어진 사용자의 음성 입력을 캡처하는 오디오 데이터를 포함하고 주어진 사용자에 대한 화자 임베딩의 버전을 포함한다. 이러한 구현의 일부 버전에서, 주어진 사용자에 대한 화자 임베딩의 업데이트된 버전은 화자 임베딩의 버전이 구 TI 화자 인식 모델을 사용하여 생성되었다는 결정에 응답하여 생성된다. 예를 들어, 화자 임베딩의 버전은 요청에 포함된 화자 임베딩의 버전에 대한 버전 식별자에 기초하여 구 TI 화자 인식 모델을 사용하여 생성된 것으로 결정될 수 있다. 그럼에도 불구하고 구 버전의 화자 임베딩은 요청의 오디오 데이터에 포함된 음성 입력을 말한 것으로 주어진 사용자를 인식하는데 여전히 활용될 수 있으며, 음성 입력에 응답하고 주어진 사용자에 맞춤화된 응답형 컨텐츠가 생성된다. 구 버전의 화자 임베딩은 출력을 생성하기 위해 오디오 데이터의 적어도 일부를 처리하고 그 생성된 출력을 구 버전의 화자 임베딩과 비교하는데 구 버전의 TI 화자 인식 모델을 활용하는 것을 통해 주어진 사용자를 인식하는데 활용될 수 있다. 응답형 컨텐츠는 요청에 응답하여 클라이언트 디바이스로 전송될 수 있으며, 이에 따라 클라이언트 디바이스에서 응답형 컨텐츠의 렌더링(또는 그의 변환)을 유발할 수 있다. 구 버전의 Tl 화자 인식 모델을 활용하면 업데이트된 화자 임베딩 생성을 기다리지 않고도 구 화자 임베딩이 포함된 요청에 대해 화자 인식을 수행할 수 있다. 이를 통해 업데이트된 화자 임베딩 모델 배포에도 불구하고 구 화자 임베딩을 계속 지원할 수 있다. 또한, 이것은 구 화자 임베딩을 포함하는 요청에 대한 응답을 생성할 때 대기 시간을 완화할 수 있는데, 이는 구 화자 임베딩은 사용자를 검증하기 위해 업데이트된 화자 임베딩의 생성을 기다릴 필요없이(업데이트된 화자 임베딩의 생성은 원치 않는 지연을 유발할 수 있음), 화자를 인식하고 그 인식된 화자에 맞춤화된 컨텐츠를 선택적으로 전송하는데 활용될 수 있기 때문이다. 또한, 이 기술은 모든 사용자를 위한 업데이트된 화자 임베딩의 생성 및 제공과 관련된 컴퓨팅 부하를 분산시키면서 주어진 사용자에 대한 최신 버전의 TI 화자 임베딩이 대부분의 시간 동안 사용되도록 보장한다. 게다가, Tl 화자 임베딩의 버전은 주어진 사용자의 컨텐츠를 포함한 요청을 수신해야만 생성되기 때문에, Tl 화자 임베딩의 업데이트된 버전은 자동으로 생성되지 않으며 어시스턴트 시스템을 더 이상 사용하지 않거나 거의 사용하지 않는 사용자들에게 제공된다.
화자 임베딩의 업데이트된 버전은 (사용자의 허가하에) 저장된 오디오 데이터의 과거 인스턴스에 기초하여 생성될 수 있으며, 그 각각은 사용자가 말한 것으로 결정된 과거의 음성 발언들을 캡처한다. 이러한 다양한 구현 중 일부에서, 화자 임베딩을 생성하기 위해 선택된 오디오 데이터의 과거 인스턴스는 임베딩의 견고성을 증가시키려는 하나 이상의 기준에 기초하여 선택된다((이에 의해 화자 임베딩에 기초한 강력한 T1 화자 인식을 보장함). 예를 들어, 오디오 데이터의 인스턴스 컬렉션은 집합적으로 다양한(예를 들어, 음성적으로 다양함, 단어 다양함 및/또는 기타 다양한 특성(들)) 발언들을 포함하는 것에 기초하여 선택될 수 있고, 오디오 데이터의 하나 이상의 인스턴스는 적어도 임계 길이인 발언들을 포함하는 것에 기초하여 선택될 수 있다. 다시 말하지만, 하나 이상의 기준을 충족하는 오디오 데이터의 과거 인스턴스를 활용하면 더 강력한 임베딩이 될 수 있다. 또한, 과거 인스턴스를 활용하면 시간 소모적일 수 있고 등록 발화 처리시 계산 리소스 및/또는 그 등록 발언들에 대응하는 오디오 데이터 전송시 네트워크 리소스와 같은 리소스를 불필요하게 소비할 수 있는, 사용자가 복수의 등록 발언을 다시 제공해야 할 필요성을 완화할 수 있다. 일단 생성되면, 업데이트된 화자 임베딩은 클라이언트 디바이스로 전송되고 그 업데이트된 화자 임베딩은 클라이언트 디바이스가 향후 요청들과 함께 전송하기 위하여 로컬에 저장될 수 있다. 업데이트된 화자 임베딩이 구 화자 임베딩을 포함하는 것으로 결정된 요청에 응답하여 생성될 때, 그 업데이트된 화자 임베딩은 요청에 응답하고 구 T1 화자 임베딩을 사용하여 생성되는 응답형 컨텐츠의 전송 후에 선택적으로 전송될 수 있다. 위에서 언급한 바와 같이, 구 T1 화자 인식 모델을 활용하면 업데이트된 T1 화자 임베딩의 생성이 계속 발생하는 동안 응답형 컨텐츠(또는 동작)가 빠르게 생성되고 지연 시간이 감소되도록 할 수 있다.
상기 설명은 본 명세서에 개시된 다양한 구현의 개요로서 제공된다. 이러한 다양한 구현 및 추가 구현이 본 명세서에서 더 자세히 설명된다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현되는 방법은 클라이언트 디바이스로부터 네트워크를 통해, 클라이언트 디바이스의 특정 사용자에 대한 텍스트 독립(TI) 화자 임베딩 및 특정 사용자의 음성 입력을 캡처하는 오디오 데이터를 포함하는 자동화 어시스턴트 요청을 수신하는 단계를 포함하여 제공되고, 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰을 통해 캡처된다. 방법은 TI 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다고 결정하는 단계를 더 포함한다. 방법은 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다는 결정에 대한 응답하여, TI 출력을 생성하도록 TI 화자 인식 모델의 구 버전을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계를 더 포함한다. 방법은 TI 출력을 특정 사용자의 화자 임베딩과 비교함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함한다. 방법은 특정 사용자가 음성 입력을 말했다는 결정에 응답하여: 오디오 데이터에 기초한 하나 이상의 동작을 수행하는 단계와, 업데이트된 화자 임베딩을 생성하도록 TI 화자 인식 모델의 업데이트된 버전을 사용하여 특정 사용자의 이전 음성 입력을 캡처하는 이전 오디오 데이터를 처리하는 단계와, 클라이언트 디바이스로, 클라이언트 디바이스가 미래의 자동화 어시스턴트 요청과 함께 전송하기 위해 상기 업데이트된 화자 임베딩을 로컬로 저장하도록 하기 위해 특정 사용자에 대한 업데이트된 화자 임베딩을 전송하는 단계를 더 포함한다.
본 명세서에 개시된 기술의 이들 및 다른 구현은 다음 특징들 중 하나 이상을 포함할 수 있다.
일부 구현에서, 방법을 구현하는 하나 이상의 프로세서는 클라이언트 디바이스로부터 원격인 하나 이상의 컴퓨팅 디바이스에 있으며, 상기 방법은 특정 사용자에 대한 업데이트된 화자 임베딩을 클라이언트 디바이스로 전송하는 것에 응답하여, 하나 이상의 컴퓨팅 디바이스로부터 업데이트된 화자 임베딩의 모든 인스턴스를 삭제하는 단계를 더 포함한다.
일부 구현에서, TI 출력을 생성하도록 TI 화자 인식 모델의 구 버전을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계는 TI 출력을 생성하도록 구 버전의 TI 화자 인식 모델을 사용하여 오디오 데이터의 호출 문구 부분에 추가되는 오디오 데이터의 추가 부분을 처리하는 단계를 포함한다.
일부 구현에서, TI 출력을 생성하도록 TI 화자 인식 모델의 구 버전을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계는 TI 출력을 생성하도록 구 버전의 TI 화자 인식 모델을 사용하여 오디오 데이터의 호출 문구 부분 및 오디오 데이터의 추가 부분을 처리하는 단계를 포함한다.
일부 구현에서, 업데이트된 화자 임베딩을 생성하도록 TI 화자 인식 모델의 업데이트된 버전을 사용하여 특정 사용자의 이전 음성 입력을 캡처하는 이전 오디오 데이터를 처리하는 단계는 업데이트된 화자 임베딩을 생성하도록 TI 화자 인식 모델의 업데이트된 버전을 사용하여 이전 오디오 데이터의 복수의 인스턴스를 처리하는 단계를 포함하고, 상기 이전 오디오 데이터의 각각의 인스턴스는 특정 사용자의 이전 음성 입력을 캡처한다.
일부 구현에서, 방법은 하나 이상의 기준을 충족하는 이전 오디오 데이터의 복수의 인스턴스에 기초하여 이전 오디오 데이터의 복수의 인스턴스를 선택하는 단계를 더 포함한다.
일부 구현에서, 하나 이상의 기준은 이전 오디오 데이터의 복수의 인스턴스 각각에 대한 길이 기준 및 이전 오디오 데이터의 복수의 인스턴스에 대한 다양성 기준 중 하나 또는 다수를 포함한다. 이러한 구현의 일부 버전에서, 방법은 복수의 이전 오디오 데이터에서 이전 오디오 데이터의 각 인스턴스의 길이를 결정함으로써 이전 오디오 데이터의 인스턴스들에서 이전 오디오 데이터의 인스턴스를 특정 사용자의 음성 입력을 캡처하는 오디오 데이터로 대체하는 단계를 더 포함한다. 방법은 특정 사용자의 음성 입력을 캡처하는 오디오 데이터의 길이를 결정하는 단계를 더 포함한다. 방법은 오디오 데이터의 길이를 이전 오디오 데이터의 각 인스턴스의 길이와 비교하는 단계를 더 포함한다. 방법은 비교에 기초하여, 오디오 데이터가 이전 오디오 데이터의 하나 이상의 인스턴스보다 길다는 결정에 응답하여, 가장 짧은 길이를 갖는 이전 오디오 데이터의 인스턴스를 오디오 데이터로 대체하는 단계를 더 포함한다.
일부 구현에서, TI 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다고 결정하는 단계는 TI 화자 임베딩에 대한 버전 식별자에 적어도 부분적으로 기초하며, 상기 버전 식별자는 자동화 어시스턴트 요청에 포함된다.
일부 구현에서, 오디오 데이터에 기초한 하나 이상의 동작을 수행하는 단계는 오디오 데이터에 기초하여 하나 이상의 주변 디바이스를 제어하는 단계를 포함한다.
일부 구현에서, 오디오 데이터에 기초한 하나 이상의 동작을 수행하는 단계는 특정 사용자에 대해 맞춤화되고 오디오 데이터에 기초하는 응답형 컨텐츠를 생성하는 단계와 클라이언트 디바이스로 하여금 응답형 컨텐츠에 기초하여 출력을 렌더링하도록 하는 단계를 포함한다.
이러한 구현의 일부 버전에서, 방법은 클라이언트 디바이스가 응답형 컨텐츠에 기초하여 출력을 렌더링한 후에 완료되는 업데이트된 화자 임베딩을 생성하는 단계를 더 포함한다.
일부 구현에서, 자동화 어시스턴트 요청은 클라이언트 디바이스에 로컬로 저장된 TD 화자 인식 모델을 사용하고 클라이언트 디바이스에 로컬로 저장된 TD 화자 임베딩을 사용하여 클라이언트 디바이스에서 로컬로 생성된 텍스트 종속(TD) 사용자 측정치를 더 포함하고, 상기 TD 화자 임베딩 특정 사용자에 대한 것이고, 그리고 TI 출력을 특정 사용자의 화자 임베딩과 비교함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는 TI 출력을 화자 임베딩과 비교함으로써 TI 사용자 측정치를 결정하는 단계와 TD 사용자 측정치와 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함한다. 이러한 구현의 일부 버전에서, 방법은 TD 사용자 측정치와 TI 사용자 측정치를 결합함으로써 특정 사용자가 음성 입력을 말할 확률을 나타내는 특정 사용자 확률 측정치를 결정함으로써 TD 사용자 측정치와 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계와, 특정 사용자 확률 측정치가 임계값을 충족하는지 여부를 결정함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함한다. 이러한 구현의 일부 버전에서, 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다는 결정에 응답하여, 방법은 제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정하는 단계를 더 포함한다. 방법은 제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다는 결정에 응답하여, 제1 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제1 응답형 컨텐츠의 생성을 개시하는 단계를 더 포함한다. 방법은 제2 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제2 응답형 컨텐츠의 생성을 개시하는 단계를 더 포함한다. 방법은 제1 응답형 컨텐츠와 제2 응답형 컨텐츠 생성을 완료하기 전에, TI 출력을 생성하도록 TI 화자 인식 모델을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계를 더 포함한다. 방법은 특정 사용자가 제1 사용자인지 여부 및 TI 출력을 제1 사용자의 화자 임베딩과 비교함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함한다. 방법은 특정 사용자가 음성 입력을 말한 것으로 결정하는 것에 응답하여, 제2 응답 컨텐츠를 클라이언트 디바이스에 전송하지 않고 제1 응답 컨텐츠를 클라이언트 디바이스로 전송하는 단계를 더 포함한다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현되는 방법은 클라이언트 디바이스로부터 네트워크를 통해, 사용자의 음성 입력을 캡처하는 오디오 데이터와, 상기 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰에서 캡처되고, 그리고 클라이언트 디바이스에 국부적으로 저장된 텍스트 종속(TD) 화자 인식 모델을 사용하고 클라이언트 디바이스에 국부적으로 저장된 TD 화자 임베딩을 사용하여 클라이언트 디바이스에서 국부적으로 생성된 TD 사용자 측정치를 포함하는 자동화 어시스턴트 요청을 수신하는 단계를 포함하여 제공되고, TD 화자 임베딩은 특정 사용자에 대한 것이다. 방법은 TI 출력을 생성하도록 텍스트 독립(TI) 화자 인식 모델을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계를 더 포함한다. 방법은 TI 출력을 자동화 어시스턴트 요청과 연관되고 특정 사용자에 대한 TI 화자 임베딩과 비교함으로써 TI 사용자 측정치를 결정하는 단계를 더 포함한다. 방법은 TD 사용자 측정치 및 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함한다. 방법은 음성 입력이 특정 사용자에 의해 말해졌다는 결정에 응답하여, 음성 입력에 응답하고 특정 사용자에 대해 맞춤화된 응답형 컨텐츠를 생성하는 단계를 더 포함한다. 방법은 클라이언트 디바이스가 응답형 컨텐츠에 기초하여 출력을 렌더링하도록 하기 위해 응답형 컨텐츠를 클라이언트 디바이스로 전송하는 단계를 더 포함한다.
본 명세서에 개시된 기술의 이들 및 다른 구현은 다음 특징들 중 하나 이상을 포함할 수 있다.
일부 구현에서, 네트워크를 통해 클라이언트 디바이스로부터 수신된 자동화 어시스턴트 요청은 특정 사용자에 대한 TI 화자 임베딩을 더 포함한다.
일부 구현에서, TD 사용자 측정치 및 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는 TD 사용자 측정치와 TI 사용자 측정치를 결합함으로써 특정 사용자가 음성 입력을 말할 확률을 나타내는 특정 사용자 확률 측정치를 결정하는 단계를 포함한다. 방법은 특정 사용자 확률 측정치가 임계값을 충족하는지 여부를 결정함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함한다. 이러한 구현의 일부 버전에서, TD 사용자 측정치와 TI 사용자 측정을 결합하는 것은 결합시 TD 사용자 측정치에 대한 제1 가중치를 사용하고 결합시 TI 사용자 측정치에 대한 제2 가중치를 이용하는 것을 포함한다. 이러한 구현의 일부 버전에서, 오디오 데이터의 길이 또는 음성 입력에 기초하여 제1 가중치 및 제2 가중치를 결정하는 단계를 더 포함한다.
일부 구현에서, 방법은 TD 사용자 측정치의 크기에 기초하여 제1 가중치 및 제2 가중치를 결정하는 단계를 더 포함한다.
일부 구현에서, 방법은 TD 사용자 측정치가 임계값을 충족하지 못하는 것을 결정하는 단계를 더 포함하고; 상기 TI 출력을 생성하도록 오디오 데이터의 일부를 처리하는 단계, TI 사용자 측정치를 결정하는 단계, TD 사용자 측정치 및 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는 TD 사용자 측정치가 임계값을 충족하지 못하는 경우에만 수행된다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현되는 방법은 클라이언트 디바이스로부터 네트워크를 통해, 음성 입력을 갭처하는 오디오 데이터를 포함하는 자동화 어시스턴트 요청을 수신하는 단계를 포함하여 제공되고, 상기 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰에서 캡처된다. 방법은 제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정하는 단계를 더 포함한다. 방법은 제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다는 결정에 응답하여, 제1 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제1 응답형 컨텐츠의 생성을 개시하는 단계를 더 포함한다. 방법은 제2 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제2 응답형 컨텐츠의 생성을 개시하는 단계를 더 포함한다. 방법은 제1 응답형 컨텐츠와 제2 응답형 컨텐츠 생성을 완료하기 전에, 텍스트 독립(TI) 출력을 생성하도록 TI 화자 인식 모델을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계를 더 포함한다. 방법은 제1 사용자 프로필과 TI 출력에 대응하는 제1 사용자 화자 임베딩을 비교함으로써 제1 사용자가 음성 입력을 말했다고 결정하는 단계를 더 포함한다. 방법은 제1 사용자가 음성 입력을 말했다는 결정에 응답하여, 제2 응답 컨텐츠를 클라이언트 디바이스에 전송하지 않고 제1 응답 컨텐츠를 클라이언트 디바이스로 전송하는 단계를 더 포함한다.
본 명세서에 개시된 기술의 이들 및 다른 구현은 다음 특징들 중 하나 이상을 포함할 수 있다.
일부 구현에서, 제1 사용자가 음성 입력을 말했다고 결정하는 단계는 제2 사용자에 대해 맞춤화된 제2 응답형 컨텐츠의 생성이 완료되기 전에 발생하고, 방법은 제1 사용자가 음성 입력을 말했다는 결정에 응답하여, 제2 사용자에 대해 맞춤화된 제2 응답형 컨텐츠의 생성을 중지하는 단계를 더 포함한다.
일부 구현에서, 방법은 제1 사용자 프로필과 제2 사용자 프로필에 추가하여 제3 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정하는 단계를 더 포함한다. 방법은 제3 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다는 결정에 응답하여, 제3 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제3 응답형 컨텐츠의 생성을 개시하는 단계를 더 포함한다.
일부 구현에서, 제1 사용자가 음성 입력을 말했다고 결정하는 단계는 자동화 어시스턴트 요청에 포함된 제1 사용자 프로필에 대한 텍스트 종속 (TD) 사용자 측정치에 더 기초한다.
일부 구현에서, 자동화 어시스턴트 요청은 제1 사용자 프로필에 대한 제1 텍스트 종속(TD) 측정치 및 제2 사용자 프로필에 대한 제2 TD 측정치를 더 포함하고, 상기 제1 응답형 컨텐츠의 생성을 개시하는 단계와 제2 응답형 컨텐츠의 생성을 개시하는 단계는 제1 TD 측정치와 제2 TD 측정치가 하나 이상의 임계 값을 충족하지 못하는 것에 추가로 응답한다.
또한, 일부 구현은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서(예를 들어, 중앙 처리 장치(들) (CPU(s)), 그래픽 처리 장치(들)(GPU(s) 및/또는 텐서 처리 장치(들)(TPU(s))를 포함하고, 하나 이상의 프로세서는 연관된 메모리에 저장된 명령들을 실행하도록 동작할 수 있으며, 명령들은 본 명세서에 설명된 임의의 방법의 수행을 유발하도록 구성된다. 일부 구현은 또한 본 명세서에 설명된 임의의 방법을 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령들을 저장하는 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
전술한 개념 및 본 명세서에 더 상세히 설명된 추가 개념의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야 한다. 예를 들어, 본 발명의 끝에 나타나는 청구된 주제의 모든 조합은 본 병세서에 개시된 주제의 일부인 것으로 고려된다.
도 1은 다양한 구현이 구현될 수 있는 예시적인 환경을 나타내는 블록도이다.
도 2는 본 명세서에 개시된 구현에 따른 예시적인 프로세스를 나타내는 흐름도이다.
도 3은 본 명세서에 개시된 구현에 따른 다른 예시적인 프로세스를 나타내는 다른 흐름도이다.
도 4는 본 명세서에 개시된 구현에 따른 다른 예시적인 프로세스를 예시하는 다른 흐름도이다.
도 5는 컴퓨팅 디바이스의 예시적인 아키텍처를 나타내는 블록도이다.
화자 인식은 사용자의 허가를 받아(허가하에) 사용자가 특정 음성 발언을 말했는지 검증할 수 있다. 사용자가 특정 음성 발언을 말했음을 검증하는 것에 응답하여, 컨텐츠는 특정 음성 발언에 응답하여 제공될 수 있으며, 해당 컨텐츠는 특정 발언에 응답하고 사용자에 대해 맞춤화된다. 화자 인식은 화자 인식 모델 사용하여, 출력을 생성하하도록 음성 발언을 캡처하는 오디오 데이터를 처리하는 것 및 해당 출력을 사용자를 위한 화자 임베딩(예를 들어, 사용자의 사용자 프로필과 관련된 임베딩)과 비교하는 것을 포함할 수 있다. 예를 들어, 만약 생성된 출력과 사용자를 위한 화자 임베딩 사이의 거리 메트릭이 임계값을 충족하면, 사용자가 특정 음성 발언을 말한 사용자로 검증될 수 있다. 사용자에 대한 화자 임베딩은 사용자로부터의 음성 발언을 포함하는 오디오 데이터의 하나 이상의 인스턴스의 처리에 근거하여 생성된 출력(들)에 기초하여 생성될 수 있다. 예를 들어, 화자 임베딩은 사용자로부터의 대응하는 음성 발언을 포함하는 오디오 데이터의 대응하는 인스턴스의 처리에 기초하여 각각 생성되는 복수의 상이한 임베딩의 평균(또는 다른 조합)에 기초할 수 있다.
TD 화자 인식에서, 사용자의 화자 임베딩은 하나 이상의 특정 단어 및/또는 하나 이상의 특정 구만을 포함하는 음성 발언에 기초하여 생성된다. 또한, 사용시 사용자는 화자 임베딩과 충분히 매칭하는 TD 화자 인식 모델을 사용하여, 생성될 출력을 위해 하나 이상의 특정 단어/구를 말해야 한다. 일 예로서, TD 화자 인식에서 하나 이상의 특정 단어/구는 자동화 어시스턴트를 호출하도록 구성된 하나 이상의 호출 문구로 제한될 수 있다. 자동화 어시스턴트의 호출 문구에는 "헤이 어시스턴트", "OK 어시스턴트" 및/또는 "어시스턴트"와 같은 하나 이상의 핫 워드/트리거 워드가 포함된다.
반면에, TI 화자 인식에서, TI 화자 인식 모델을 사용하여 처리된 음성 발언은 특정 단어(들) 및/또는 특정 구(들)로 제한되지 않는다. 다시 말해서, 사실상 모든 음성 발언에 기초한 오디오 데이터는 TI 화자 인식 모델을 사용하여 처리되어 특정 사용자에 대한 TI 화자 임베딩과 효과적으로 비교될 수 있는 출력을 생성하여, 음성 발언이 특정 사용자로부터 오는 것인지 여부를 결정할 수 있다. 더욱이, 다양한 구현에서, TI 화자 인식에 사용되는 사용자의 화자 임베딩은 서로 다른 단어 및/또는 구를 포함하는 음성 발언에 기초하여 생성된다.
본 명세서에 설명된 바와 같이, 일부 구현에서, 음성 발언은 발화 문구뿐만 아니라 발화 문구를 따르는 후속 부분을 포함할 수 있으며, 여기서 자동화 어시스턴트는 음성 발언의 후속 부분에 기초하여 응답형(responsive) 컨텐츠를 생성할 수 있다. 예를 들어, "Hey Assistant, what is my name"는 "Hey Assistant"라는 호출 문구와 "what is my name"이라는 추가 부분이 포함된다. 많은 구현에서, 자동화 어시스턴트는 추가 부분에 응답하고 특정 사용자가 음성 발언을 말했는지 검증(확인)하는 것에 기초하여 특정 사용자에 대해 맞춤화된 응답형 컨텐츠를 생성할 수 있다. 예를 들어, "What is my name"이 요청한 사용자의 저장된 이름을 요청하는 것이라는 결정 및 음성 발언의 출처가 "Susan"이라는 저장된 이름을 가진 사용자로부터라는 검증에 기초하여 "Hey Assistant, what is my name"에 대한 응답으로 "Susan"이라는 응답이 생성될 수 있다. 일부 구현에서, TI 화자 인식 모델을 사용하여 생성된 출력이 지정(given) 사용자에 대한 화자 임베딩과 매칭하는지 여부를 결정할 때, 호출 문구 부분 및 음성 발언의 추가 부분 모두는 TI 화자 인식 모델에 의해 처리될 수 있다. 일부 다른 구현에서, 오디오 데이터의 추가 부분(또는 추가 부분의 더 작은 부분)만이 TI 화자 인식 모델을 사용하여 처리될 수 있다. 또한, 다양한 상황에서 음성 발언에는 임의의 호출 문구가 없으므로 TI 화자 인식 모델을 사용하여 처리되는 오디오 데이터의 부분(들)은 호출 문구를 포함하는 임의의 부분(들)을 포함하지 않는다.
다양한 구현에서 특정 사용자에 대한 하나 이상의 화자 임베딩은 특정 사용자와 연관된 클라이언트 디바이스에 저장된다(예를 들어, 클라이언트 디바이스는 특정 사용자에 대한 사용자 프로필과 연관되고 로컬에 저장된 화자 임베딩은 사용자 프로필과 연관됨). 또한, 다수의 사용자가 동일한 클라이언트 디바이스와 연관될 수 있으므로 여러 특정 사용자에 대한 다수의 화자 임베딩(들)이 클라이언트 디바이스에 저장될 수 있다(예를 들어, 클라이언트 디바이스는 여러 특정 사용자에 대한 사용자 프로필과 연관되며, 각 사용자는 프로필에는 관련 특정 사용자에 대한 적어도 하나의 화자 임베딩이 포함됨). 화자 임베딩을 클라이언트 디바이스에 저장하면(서버와 같은 원격 컴퓨팅 디바이스에 화자 임베딩을 저장하는 것과 반대) 데이터 보안을 유지할 수 있다. TD 화자 인식은 다양한 구현에서 클라이언트 디바이스에서 발생할 수 있다. 반면에, TI 화자 인식은 계산적으로 비싸고(예를 들어, 프로세서 및/또는 메모리 리소스) 많은 양의 저장 공간을 필요로 하는 TI 화자 인식 모델에 종속할 수 있다. 따라서, 많은 경우, TI 화자 인식은 보다 강건한 자원을 활용할 수 있는 원격 컴퓨팅 디바이스(들)(예를 들어, 하나 이상의 서버)에 더 적합할 수 있다. 또한, 다양한 구현에서 TI 화자 임베딩은 클라이언트 디바이스에 로컬로 저장되고 음성 발언을 캡처하는 오디오 데이터와 함께 원격 컴퓨팅 디바이스(들)로 전송되어, TI 화자 임베딩을 사용하여 (원격 컴퓨팅 디바이스(들)에 의한) 발언 화자의 검증을 가능하게 할 수 있다. 다양한 구현에서, 원격 컴퓨팅 디바이스(들)에서 오디오 데이터와 함께 수신되고 TI 화자 인식에 사용되는 화자 임베딩(들)은 화자 인식에 사용되는 즉시 원격 컴퓨팅 디바이스(들)에서 삭제될 수 있으므로 데이터 보안을 유지한다.
많은 구현에서, 원격 컴퓨팅 디바이스는 클라이언트 디바이스로부터 자동화 어시스턴트 요청을 수신할 수 있다. 자동화 어시스턴트 요청은 다양한 정보, 예를 들어, 음성 발언을 캡처하는 오디오 데이터(예를 들어, 요청에서 오디오 데이터를스트리밍할 수 음), 하나 이상의 TI 화자 임베딩, 하나 이상의 TD 화자 임베딩, 하나 이상의 화자 임베딩을 사용하여 결정된 하나 이상의 측정치(예를 들어, 요청을 전송한 클라이언트 디바이스에서 국부적으로 결정된 TD 화자 측정치), TI 화자 임베딩(들)을 생성하는데 사용된 TI 화자 인식 모델의 버전(들)의 표시, TD 화자 임베딩(들)을 생성하는데 사용된 TD 화자 인식 모델의 버전(들)의 표시 및/또는 화자 인식, 자동 음성 인식(ASR), 자연어 이해(NLU)에서 자동화 어시스턴트에 의해 사용되는 추가 정보, 및/또는 기타 프로세스를 포함할 수 있다.
화자 임베딩은 특정 사용자의 하나 이상의 저장된 이전 발언을 사용하여 생성될 수 있으며, 따라서 저장된 이전 발언(들)을 사용하여 화자 인식 시스템에 특정 사용자를 등록할 수 있다. 특정 사용자는 많은 구현에 따라 화자 인식 시스템에 자동으로 등록(및/또는 사용자의 명시적 허가를 받아 등록)될 수 있다. 예를 들어, 자동화 어시스턴트는 수신된 화자 임베딩이 TI 화자 인식 모델의 구 버전(outdated version)을 사용하여 생성되었다는 결정에 응답하여 업데이트된 화자 임베딩을 생성할 수 있다. 많은 구현에서, 시스템이 업데이트된 버전의 화자 임베딩을 생성하는 동안 시스템은 구 버전의 화자 인식 모델을 사용하여 사용자를 검증(및 사용자에 맞춤화된 응답형 컨텐츠를 생성)할 수 있다. 다양한 구현에서, 업데이트된 화자 임베딩은 (사용자의 허가를 받아) 저장된 오디오 데이터의 과거 인스턴스에 기초하여 생성되며, 각각은 사용자에 의해 발화된 것으로 결정된 과거 음성 발언들을 캡처한다. 이러한 다양한 구현들 중 일부에서, 화자 임베딩을 생성하기 위해 선택된 오디오 데이터의 과거 인스턴스는 임베딩의 견고성을 증가시키려는 하나 이상의 기준에 기초하여 선택된다. 예를 들어, 오디오 데이터의 인스턴스 컬렉션(모음)은 집합적으로 다양한 (diverse)(예를 들어, 음성적으로 다양한, 단어적으로 다양한 및/또는 다른 다양한 특성(들)) 발언들을 포함하는 것에 기초하여 선택될 수 있으며, 오디오 데이터의 하나 이상의 인스턴스는 적어도 임계 길이인 발언들을 포함하는 것에 기초하여 선택될 수 있다.
다양한 구현에서, 화자 인식 시스템은 (TI 화자 인식 모델을 사용하여 생성된) TI 사용자 메트릭을 (TD 화자 인식 모델을 사용하여 생성된) TD 사용자 메트릭과 결합함으로써 음성 발언이 특정 사용자에 의한 것인지 검증할 수 있다. 예를 들어, 자동화 어시스턴트 요청은 음성 발언에 기초한 오디오 데이터, 특정 사용자에 대한 TI 화자 임베딩, 및 TD 화자 인식 모델을 사용하여 음성 발언의 호출 문구 부분을 처리하여 출력을 생성하고 그 출력을 TD 화자 임베딩과 비교함으로써 결정된 TD 사용자 측정치를 포함할 수 있다. 추가적으로 또는 대안적으로, 자동화 어시스턴트 요청은 자체 TD 화자 임베딩을 포함할 수 있으며, TD 사용자 측정치는 원격 컴퓨팅 디바이스에서 결정될 수 있다. 다양한 구현에서, 오디오 데이터는 TI 사용자 측정치를 생성하기 위해 TI 화자 임베딩과 비교할 수 있는 추가 출력을 생성하기 위해 TI 화자 인식 모델을 사용하여 처리될 수 있다. TD 사용자 측정치와 TI 사용자 측정치는 특정 사용자가 음성 발언을 말했는지 검증하기 위해 결합될 수 있다. 다양한 구현에서, TD 및 TI 사용자 측정치의 개별 가중치는 주어진 자동화 어시스턴트 요청의 하나 이상의 특징에 기초하여, 그 주어진 자동화 어시스턴트 요청에 대해 동적으로 결정될 수 있다.
추가적으로 또는 대안적으로, 다양한 구현에 따른 화자 인식 시스템은 클라이언트 디바이스와 관련된 여러 사용자에 대해 맞춤화된 응답형 컨텐츠의 생성을 개시할 수 있는 반면, TI 화자 인식 모델은 어떤 사용자가 음성 발언을 발화했는지를 결정하는데 사용된다. 예를 들어 3명의 사용자가 클라이언트 디바이스와 연관될 수 있다. 자동화 어시스턴트 요청에는 3명의 사용자 중 1명에 의한 음성 발언을 캡처하는 오디오 데이터 외에 3명의 사용자 각각에 대한 화자 임베딩이 포함될 수 있다. 시스템은 어떤 사용자가 그 발언을 말했했는지 결정하기 전에 3명의 사용자 각각에 대해 맞춤화된 응답형 컨텐츠 생성을 개시할 수 있다. 일단 시스템이 TI 화자 인식 모델을 사용하여 3개의 화자 임베딩을 각각 처리함으로써 그 발언을 말한 사용자를 결정하면, 시스템은 다른 2명의 사용자에 대해 맞춤화된 응답형 컨텐츠를 전송하지 않고 그 발언을 말한 사용자를위해 맞춤화된 응답형 컨텐츠를 클라이언트 디바이스로 전송할 수 있다.
많은 구현에서, 해당 사용자의 저장된 이전 발언들을 사용하여 특정 사용자에 대한 업데이트된 화자 임베딩을 자동으로 생성하는 것(즉, TI 화자 인식 시스템의 업데이트된 버전에 사용자를 자동으로 등록하는 것)은 사용자를 위한 응답형 컨텐츠가 생성되기 전에 사용자가 하나 이상의 등록 발언을 말해야 하는 장기간의 등록 프로세스를 방지할 수 있다. 이러한 등록 프로세스는 이들 발언에 해당하는 오디오 데이터의 전송을 필요로 하는데 이는 네트워크 리소스를 소비하며, 그리고 사용자에게 다양한 프롬프트를 제공해야 할 수 있는데 이는 네트워크 리소스와 클라이언트 디바이스 리소스를 추가로 소비할 수 있다. 추가적으로 또는 대안적으로, 본 명세서 설명된 구현에 따른 사용자의 자동 등록은 TI 화자 인식 모델의 구 버전에 기초하여 사용자의 즉시 검증을 가능하게 하므로 사용자가 TI 화자 인식 모델의 업데이트된 버전을 사용하여 재등록을 먼저 요구하지 않고 및/또는 저장된 발언들을 사용하여 업데이트된 화자 임베딩의 생성을 먼저 기다리지 않고 응답형 컨텐츠를 더 빠르게 제공할 수 있다. 즉, 사용자에게 응답형 컨텐츠를 제공할 때의 지연 시간이 구 버전의 화자 임베딩을 포함하는 자동화 어시스턴트 요청에 대해 최소화될 수 있다.
추가적으로 또는 대안적으로, TI 화자 인식 모델을 사용하여 생성된 사용자 측정치와 TD 화자 인식 모델을 사용하여 생성된 사용자 측정치 모두를 사용하여 화자의 신원을 검증하는 것은 음성 입력을 말한 사용자에 대해 컨텐츠를 맞춤화하는 것을 보장하여 다른 사용자에게 컨텐츠를 잘못 제공하는 것을 완화할 수 있는데, 이는 데이터 보안을 손상시키고 및/또는 스마트 잠금 또는 스마트 홈 경보 시스템의 제어와 같은 동작들의 무단 수행을 유발하는 오류를 완화할 수 있다. 추가적으로 또는 대안적으로, 다른 사용자에게 컨텐츠를 잘못 제공하는 것은 음성 발언을 말한 사용자가 자신에게 맞춤화된 컨텐츠를 얻기 위해 입력을 다시 말해야 하기 때문에 시스템 리소스를 낭비할 수 있다. 많은 구현에서, TD 사용자 측정치가 임계 레벨의 신뢰도를 나타내는 경우, 오디오 데이터는 TI 화자 인식 모델을 사용하여 처리되지 않으므로 일부 상황에서 TI 사용자 측정치를 결정하기 위한 자원의 불필요한 사용을 방지한다.
많은 구현에서, 여러 사용자에 대해 맞춤화된 응답형 컨텐츠를 프리페치 (prefetch)하는 것은 N명의 사용자 중 특정 사용자가 자동화 어시스턴트 요청의 음성 발언의 출처(소스)로 식별되기 전에 N명의 사용자를 위한 컨텐츠 생성을 개시함으로써 자동화 어시스턴트 요청에 기초하여 응답형 컨텐츠를 생성 및/또는 전송하는 지연 시간을 줄인다.
이제 도면으로 돌아가면, 도 1은 다양한 구현들이 구현될 수 있는 예시적인 환경(100)을 도시한다. 예시적인 환경(100)은 하나 이상의 클라이언트 디바이스(102)를 포함한다. 각 클라이언트 디바이스는 자동화 어시스턴트 클라이언트(104)의 각각의 인스턴스를 실행할 수 있다. 화자 인식 모듈(120) 및/또는 자연어 프로세서(122)와 같은 하나 이상의 클라우드 기반 자동화 어시스턴트 컴포넌트(114)는 일반적으로 112로 표시된 하나 이상의 로컬 및/또는 광역 네트워크(예를 들어, 인터넷)를 통해 클라이언트 디바이스(102)에 통신적으로 결합되는 하나 이상의 컴퓨팅 시스템(집합 적으로 클라우드 컴퓨팅 시스템으로 지칭됨)에서 구현될 수 있다.
다양한 구현에서, 자동화 어시스턴트 클라이언트(104)의 인스턴스는 하나 이상의 클라우드 기반 자동화 어시스턴트 컴포넌트(114)와의 상호 작용을 통해, 사용자가 대화(dialog)에 참여할 수 있는 자동화 어시스턴트(110)의 논리적 인스턴스 인 사용자의 관점에서 보이는 것을 형성할 수 있다. 자동화 어시스턴트(110)의 하나의 그러한 예가 점선으로 도 1에 도시되어있다. 따라서, 클라이언트 디바이스(102)에서 실행되는 자동화 어시스턴트 클라이언트(104)와 참여하는 각 사용자는 사실상 자신의 자동화 어시스턴트(110)의 논리적 인스턴스와 참여할 수 있음을 이해해야 한다. 간결함과 단순함을 위해, 특정 사용자를 "서빙(serving)"하는 것으로 본 명세서에서 사용되는 "자동화 어시스턴트"라는 용어는 사용자에 의해 운영되는 자동화 어시스턴트 클라이언트(104)와 (다수의 자동화 어시스턴트 클라이언트(104) 사이에서 공유될 수 있는) 하나 이상의 클라우드 기반 자동화 어시스턴트 컴포넌트(114)의 조합을 종종 지칭할 수 있다. 또한, 일부 구현에서, 자동화 어시스턴트(110)는 사용자가 자동화 어시스턴트(110)의 특정 인스턴스에 의해 실제로 "서비스"를 받는지 여부에 관계없이 임의의 사용자로부터의 요청에 응답할 수 있음을 이해해야 한다. 추가적으로 또는 대안적으로, 하나 이상의 사용자가 클라이언트 디바이스와 연관될 수 있다. 예를 들어, 같은 가정에 거주하는 5명의 사용자가 모두 클라이언트 디바이스(예를 들어, 독립형 대화형 스피커)를 공유할 수 있으며, 3명의 사용자 각각과 관련된 화자 임베딩과 같은 사용자 특징들이 클라이언트 디바이스에 저장될 수 있다.
클라이언트 디바이스(102)는 예를 들어 데스크톱 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 터치 감지 컴퓨팅 디바이스(예를 들어, 사용자로부터 터치를 통해 입력을 수신할 수 있는 컴퓨팅 디바이스), 휴대폰 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스(예를 들어, 차량용 통신 시스템, 차량용 엔터테인먼트 시스템, 차량용 내비게이션 시스템), 독립형 대화형 스피커, 스마트 텔레비전과 같은 스마트 기기, 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스) 중 하나 이상을 포함할 수 있다. 추가 및/또는 대체 클라이언트 컴퓨팅 디바이스가 제공될 수 있다.
다양한 구현에서, 클라이언트 디바이스(102)는 다양한 형태로 올 수 있는 하나 이상의 센서(미도시)를 포함할 수 있다. 센서는 구두, 텍스트, 그래픽, 물리적(예를 들어, 터치 감지 프로젝터 및/또는 컴퓨팅 디바이스의 터치 감지 스크린을 포함하는 디스플레이 디바이스에 대한 터치) 및/또는 시각적(예를 들어, 제스처) 기반 입력과 같은 자동화 어시스턴트 (110)에 대한 다양한 유형의 입력을 감지할 수 있다. 일부 클라이언트 디바이스(102)는 시야에서 검출된 움직임을 나타내는 신호(들)를 캡처하고 제공하도록 구성된 하나 이상의 디지털 카메라를 구비할 수 있다. 추가적으로 또는 대안적으로, 일부 클라이언트 디바이스에는 하나 이상의 마이크로폰과 같은 음향(또는 압력) 파동을 감지하는 센서가 장착될 수 있다.
클라이언트 디바이스(102) 및/또는 클라우드 기반 자동화 어시스턴트 컴포넌트(114)는 하나 이상의 디바이스(미도시)와 통신할 수 있다. 디바이스들은 스마트 기기, 스마트 온도 조절기, 스마트 커피 메이커, 스마트 잠금 디바이스 등과 같은 사물 인터넷 디바이스를 포함하는 임의의 다양한 디바이스를 포함할 수 있다. 디바이스들은 클라이언트 디바이스(102)(및/또는 클라이언트 디바이스(102)의 특정 사용자)와 링크되고 그리고 서로 링크된다. 예를 들어, 디바이스들은 클라이언트 디바이스(102)(및 선택적으로 다른 클라이언트 디바이스)에 할당된 프로필에 링크될 수 있고 및/또는 클라이언트 디바이스(102)의 사용자에게 할당된 프로필에 링크될 수 있다. 집합적으로, 클라이언트 디바이스(102), 다른 클라이언트 디바이스(들) 및 디바이스들은 조정된 디바이스 생태계를 정의할 수 있다. 다양한 구현에서, 디바이스들은 사용자 생성 및/또는 자동 생성될 수 있고 다양한 어시스턴트 클라이언트 디바이스, 다양한 스마트 디바이스, 각각에 대한 식별자(들) 및/또는 각각에 대한 다른 속성(들)을 정의할 수 있는 디바이스 토폴로지 표현을 통해 서로 링크된다. 예를 들어, 디바이스의 식별자(들)는 디바이스가 위치한 구조(예를 들어, 거실, 주방)의 방(및/또는 기타 영역(들))을 지정할 수 있고 및/또는 그 디바이스에 대한 별명(들) 및/또는 별칭(들)을 지정할 수 있다(예를 들어, 소파 램프, 현관문 잠금 디바이스, 침실 스피커, 주방 도우미 등). 이러한 방식으로, 디바이스들의 ID는 사용자가 개별 디바이스와 연관시킬 가능성이 있는 개별 디바이스의 이름, 별칭 및/또는 위치일 수 있다.
많은 구현에서, 자동화 어시스턴트(110)는 하나 이상의 클라이언트 디바이스(102)의 사용자 인터페이스 입력 및 출력 디바이스를 통해 하나 이상의 사용자와의 대화 세션에 참여할 수 있다. 일부 구현에서, 자동화 어시스턴트(110)는 클라이언트 디바이스들(102) 중 하나의 하나 이상의 인터페이스 입력 디바이스를 통해 사용자에 의해 제공된 사용자 인터페이스 입력에 응답하여 사용자와의 대화 세션에 참여할 수 있다. 이들 구현 중 일부에서, 사용자 인터페이스 입력은 자동화 어시스턴트(110)에 명시적으로 지시된다. 예를 들어, 사용자는 "OK, Assistant"또는 "Hey, Assistant"와 같은 사전 결정된 호출 문구를 말하여 자동화 어시스턴트(110)가 능동적으로 듣기를 시작하도록 할 수 있다.
일부 구현에서, 자동화 어시스턴트(110)는 사용자 인터페이스 입력이 자동화 어시스턴트(110)에 명시적으로 지시되지 않은 경우에도 사용자 인터페이스 입력에 응답하여 대화 세션에 참여할 수 있다. 예를 들어, 자동화 어시스턴트(110)는 사용자 인터페이스 입력의 컨텐츠를 조사하여 사용자 인터페이스 입력에 존재하는 특정 용어에 응답하여 및/또는 다른 단서에 기초하여 대화 세션에 참여할 수 있다. 많은 구현에서, 자동화 어시스턴트(110)는 음성 인식을 활용하여 사용자의 발언을 텍스트로 변환하고, 따라서 예를 들어 시각 정보를 제공하고, 검색 결과를 제공하고, 일반 정보를 제공하고 및/또는 하나 이상의 응답 액션(예를 들어, 미디어 재생, 게임 시작, 음식 주문 등)을 수행함으로써 그 텍스트에 응답할 수 있다. 일부 구현에서, 자동화 어시스턴트(110)는 발언을 텍스트로 변환하지 않고 발언에 추가적으로 또는 대안적으로 응답할 수 있다. 예를 들어, 자동화 어시스턴트(110)는 음성 입력을 임베딩으로, (음성 입력에 존재하는 엔티티/엔티티들을 나타내는) 엔티티 표현(들) 및/또는 다른 "비-텍스트" 표현으로 변환하고 그러한 비-텍스트 표현에 대해 동작할 수 있다. 따라서, 음성 입력으로부터 변환된 텍스트에 기초하여 동작하는 것으로 본 명세서에 설명된 구현들은 추가적으로 및/또는 대안적으로 직접 음성 입력 및/또는 음성 입력의 다른 비-텍스트 표현에 대해 동작할 수 있다.
클라이언트 컴퓨팅 디바이스(102) 및 클라우드 기반 자동화 어시스턴트 컴포넌트(114)를 운영하는 컴퓨팅 디바이스(들) 각각은 데이터 및 소프트웨어 애플리케이션의 저장을 위한 하나 이상의 메모리, 데이터에 액세스하고 애플리케이션을 실행하기 위한 하나 이상의 프로세서, 및 네트워크를 통한 통신을 용이하게 하는 다른 컴포넌트들을 포함할 수 있다. 하나 이상의 컴퓨팅 디바이스(102) 및/또는 자동화 어시스턴트(110)에 의해 수행되는 동작들은 다수의 컴퓨터 시스템에 걸쳐 분산될 수 있다. 자동화 어시스턴트(110)는 예를 들어 네트워크를 통해 서로 결합된 하나 이상의 위치에서 실행되는 하나 이상의 컴퓨터상에서 실행되는 컴퓨터 프로그램으로 구현될 수 있다.
전술한 바와 같이, 다양한 구현에서, 클라이언트 컴퓨팅 디바이스(102)는 자동화 어시스턴트 클라이언트(104)를 동작시킬 수 있다. 다양한 구현에서, 각각의 자동화 어시스턴트 클라이언트(102)는 음성 캡처/텍스트-음성 변환(TTS)/음성-텍스트 변환(STT) 엔진(106), 화자 인식 모듈(107) 및 추가 엔진 및/또는 모듈(미도시)을 포함할 수 있다. 다른 구현에서, 음성 캡처/TTS/STT 엔진(106) 및/또는 화자 인식 모듈(107)의 하나 이상의 양태는 자동화 어시스턴트 클라이언트(104)와 별도로 구현될 수 있다.
각각의 음성 캡처/TTS/STT 엔진은 하나 이상의 기능을 수행하도록 예를 들어, 마이크로폰을 통해 사용자의 음성을 캡처하고; 캡처된 오디오를 텍스트(및/또는 다른 표현 또는 임베딩)로 변환하고 및/또는 텍스트를 음성으로 변환하도록 구성될 수 있다. 예를 들어, 일부 구현에서, 클라이언트 디바이스(102)는 컴퓨팅 리소스(예를 들어, 프로세서 사이클, 메모리, 배터리 등)의 측면에서 상대적으로 제한될 수 있기 때문에, 각 클라이언트 디바이스(102)에 로컬인 음성 캡처/TTS/STT 엔진은 한정된 수의 상이한 음성 문구, 특히 자동화 어시스턴트(110)를 호출하는 문구를 텍스트(또는 다른 형태)로 변환하도록 구성될 수 있다. 다른 음성 입력은 클라우드 기반 TTS(116) 엔진 및/또는 클라우드 기반 STT 엔진(118)을 포함할 수 있는 클라우드 기반 자동화 어시스턴트 컴포넌트들(114)로 전송될 수 있다.
클라우드 기반 STT 엔진(118)은 음성 캡처/TTS/STT 엔진(106)에 의해 캡처된 오디오 데이터를 텍스트(자연어 프로세서(122)에 제공될 수 있음)로 변환하기 위해 클라우드의 사실상 무한한 리소스를 활용하도록 구성될 수 있다. 클라우드 기반 TTS 엔진(116)은 예를 들어 하나 이상의 스피커를 사용하여 클라이언트 디바이스(102)에 직접 출력되도록 텍스트 데이터(예를 들어, 자동화 어시스턴트(110)에 의해 공식화된 자연어 응답)를 컴퓨터 생성 음성 출력으로 변환하기 위해 클라우드의 사실상 무한한 리소스를 활용하도록 구성될 수 있다. 다른 구현에서, 자동화 어시스턴트(110)에 의해 생성된 텍스트 데이터(예를 들어, 자연어 응답)는 음성 캡처/TTS/STT 엔진(106)에 제공될 수 있으며, 그런 다음 텍스트 데이터는 로컬로 출력되는 컴퓨터 생성 음성으로 변환할 수 있다.
자동화 어시스턴트(110)(예를 들어, 클라우드 기반 자동화 어시스턴트 컴포넌트(114))는 자연어 프로세서, TTS 엔진(116), STT 엔진(118), 화자 인식 모듈(120) 및 다른 컴포넌트를 포함할 수 있으며, 이들 중 일부는 아래에서 더 상세히 설명된다. 일부 구현에서, 자동화 어시스턴트(110)의 하나 이상의 엔진 및/또는 모듈은 자동화 어시스턴트(110)와 별개인 컴포넌트에서 생략, 결합 및/또는 구현될 수 있다. 일부 구현에서, 데이터 보안을 유지하기 위해, 자연어 프로세서(122), TTS 엔진(116), STT 엔진(118), 화자 인식 모듈(120) 등과 같은 자동화 어시스턴트(110)의 컴포넌트들 중 하나 이상은 클라이언트 디바이스(102)에서 적어도 부분적으로(예를 들어, 클라우드를 제외하고) 구현될 수 있다.
일부 구현에서, 자동화 어시스턴트(110)는 자동화 어시스턴트(110)와의 인간 대 컴퓨터 대화 세션 동안 클라이언트 디바이스(102)의 사용자에 의해 생성된 다양한 입력에 응답하여 응답형 컨텐츠를 생성한다. 자동화 어시스턴트(110)는 대화 세션의 일부로서 사용자에게 프리젠테이션하기 위해 (예를 들어, 사용자의 클라이언트 디바이스로부터 분리될 때 하나 이상의 네트워크를 통해) 응답형 컨텐츠를 제공할 수 있다. 예를 들어, 자동화 어시스턴트(110)는 클라이언트 디바이스(102)를 통해 제공되는 자유 형식의 자연어 입력에 응답하여 응답형 컨텐츠를 생성할 수 있다. 본 명세서에서 사용되는 바와 같이, 자유 형식 입력이 사용자에 의한 선택을 위해 제시된 옵션 그룹에 제한되지 않는 사용자에 의해 공식화된다.
자동화 어시스턴트(110)의 자연어 프로세서(122)는 클라이언트 디바이스(102)를 통해 사용자들에 의해 생성된 자연어 입력을 처리하고 자동화 어시스턴트(110)의 하나 이상의 컴포넌트에 의해 사용하기 위해 주석이 달린 출력을 생성할 수 있다. 예를 들어, 자연어 프로세서(122)는 클라이언트 디바이스(102)의 하나 이상의 사용자 인터페이스 입력 디바이스를 통해 사용자에 의해 생성된 자연어 자유 형식 입력을 처리할 수 있다. 생성된 주석이 달린 출력은 자연어 입력의 하나 이상의 주석 및 선택적으로 자연어 입력의 용어 중 하나 이상(예를 들어, 모두)을 포함한다.
일부 구현에서, 자연어 프로세서(122)는 자연어 입력에서 다양한 유형의 문법 정보를 식별하고 주석을 달도록 구성된다. 예를 들어, 자연어 프로세서(122)는 문법적 역할을 가진 용어들에 주석을 달도록 구성된 음성 태거의 일부를 포함할 수 있다. 또한, 예를 들어, 일부 구현에서 자연어 프로세서(122)는 자연어 입력에서 용어들 간의 구문 관계를 결정하도록 구성된 종속성 파서(미도시)를 추가적으로 및/또는 대안적으로 포함할 수 있다.
일부 구현에서, 자연어 프로세서(122)는 추가적으로 및/또는 대안적으로 사람(예를 들어, 문학 인물, 유명인, 공인 등을 포함), 조직, 위치(실제 및 가상) 등에 대한 참조와 같은 하나 이상의 세그먼트에서 엔티티 참조들에 주석을 달도록 구성된 엔티티 태거(미도시)를 포함할 수 있다. 자연어 프로세서(122)의 엔티티 태거는 (예를 들어, 사람과 같은 엔티티 클래스에 대한 모든 참조의 식별을 가능하게 하기 위해) 높은 레벨의 입도(granularity) 및/또는 (예를 들어, 특정 사람과 같은 특정 엔티티에 대한 모든 참조의 식별을 가능하게 하기 위해) 더 낮은 레벨의 입도에서 엔티티에 대한 참조에 주석을 달 수 있다. 엔티티 태거는 특정 엔티티를 분석하기 위해 자연어 입력의 컨텐츠에 종속할 수 있고 및/또는 특정 엔티티를 분석하기 위해 지식 그래프 또는 다른 엔티티 데이터베이스와 선택적으로 통신할 수 있다.
일부 구현에서, 자연어 프로세서(122)는 추가적으로 및/또는 대안적으로 하나 이상의 컨텍스트 단서에 기초하여 동일한 엔티티에 대한 참조를 그룹화하거나 "클러스터"하도록 구성된 상호 참조 해석기(coreference resolver)(미도시)를 포함할 수 있다. 예를 들어, 상호 참조 해석기는 자연어 입력 "우리가 거기에서 먹은 지난번 가상 카페가 좋았어(I liked Hypothetical Cafe last time we ate there)"에서 "거기(there)"라는 용어를 "가상 카페(Hypothetical Cafe)"로 해석하는데 활용될 수 있다.
많은 구현에서, 자연어 프로세서(122)의 하나 이상의 컴포넌트는 자연어 프로세서(122)의 하나 이상의 컴포넌트로부터의 주석에 종속할 수 있다. 예를 들어, 일부 구현에서, 명명된 엔터티 태거는 특정 엔터티에 대한 모든 언급에 주석을 달 때 상호 참조 해석기 및/또는 종속성 파서의 주석에 종속할 수 있다. 또한, 예를 들어, 일부 구현에서 상호 참조 해석기는 동일한 엔티티에 대한 참조를 클러스터링할 때 종속성 파서의 주석에 종속할 수 있다. 많은 구현에서, 특정 자연어 입력을 처리할 때, 자연어 프로세서(122)의 하나 이상의 컴포넌트는 하나 이상의 주석을 결정하기 위해 특정 자연어 입력 이외의 관련 사전 입력 및/또는 다른 관련 데이터를 사용할 수 있다.
많은 구현에서, 자동화 어시스턴트(110)는 자동화 어시스턴트 클라이언트(104)의 화자 인식 모듈(107), 클라우드 기반 화자 인식 모듈(120), 화자 임베딩(들)(108), 화자 인식 모델(들)(124)(예를 들어, TI 화자 인식 모델(들) 및/또는 TD 화자 인식 모델(들)), 및 하나 이상의 사용자(126)의 이전 발언을 캡처하는 오디오 데이터(126)를 포함할 수 있다. 자동화 어시스턴트 클라이언트(104)의 화자 인식 모듈(107)은 클라우드 기반 화자 인식 모듈(120)과 같은 하나 이상의 클라우드 기반 컴포넌트로 전송할 자동화 어시스턴트 요청을 결정할 수 있다. 많은 구현에서, 자동화 어시스턴트 요청은 하나 이상의 화자 임베딩(108)(예를 들어, TI 화자 임베딩, TD 화자 임베딩, 클라이언트 디바이스(102)와 관련된 다수의 사용자를 위한 화자 임베딩 등), 음성 입력을 캡처하는 오디오 데이터(예를 들어, 음성 캡처/TTS/STT 모듈(106)에 의해 캡처된 오디오 데이터), 하나 이상의 TD 화자 인식 모델, 하나 이상의 TI 화자 인식 모델, 클라이언트 디바이스에 로컬로 저장된 화자 인식 모델뿐만 아니라 클라이언트 디바이스와 관련된 한 명 이상의 사용자에 관한 정보를 포함하는 하나 이상의 사용자 프로필을 사용하여 음성 입력을 캡처하는 오디오 데이터를 처리함으로써 결정된 하나 이상의 측정치(예를 들어, 특정 사용자가 음성 발언 등을 말할 확률을 나타내는 측정치)를 포함할 수 있다.
많은 구현에서, 클라우드 기반 화자 인식 모듈(120)은 사용자의 이전 발언(126)를 캡처하는 오디오 데이터에 기초하여 업데이트된 화자 임베딩을 자동으로 생성(및/또는 명시적인 사용자 허가를 이용하여 생성)하는데 활용될 수 있다. 많은 구현에서, 클라우드 기반 화자 인식 모델(120)은 특정 사용자가 TI 화자 인식 모델에 의해 생성된 사용자 스코어와 TD 화자 인식 모델에 의해 생성된 사용자 스코어를 모두 사용하여 음성 발언을 말했는지 검증할 수 있다. 추가적으로 또는 대안적으로, 클라우드 기반 화자 인식 모델(120)은 클라이언트 디바이스와 관련된 여러 사용자에 대한 컨텐츠를 프리페치하는데 사용될 수 있으며, 발언을 말한 사용자의 신원은 TI 화자 인식 모델을 사용하여 결정된다.
이제 도 2로 돌아가면, 본 명세서 개시된 다양한 구현에 따른 TI 화자 인식 모델의 업데이트된 버전을 사용하여 업데이트된 화자 임베딩을 생성하는 프로세스(200)를 나타내는 흐름도가 제공된다. 편의상, 흐름도의 동작들은 동작을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))과 같은 하나 이상의 컴포넌트를 포함할 수 있다. 프로세스(200)의 동작들은 특정 순서로 도시되지만, 이것은 제한하는 것을 의미하지 않는다. 하나 이상의 동작들은 재정렬, 생략 및/또는 추가할 수 있다.
블록(202)에서, 시스템은 클라이언트 디바이스로부터 자동화 어시스턴트 요청을 수신한다. 많은 구현에서, 자동화 어시스턴트 요청은 특정 사용자에 대한 TI 화자 임베딩 및 음성 발언을 캡처하는 오디오 데이터를 포함한다. 여러 구현에서, 음성 발언은 클라이언트 디바이스의 하나 이상의 마이크로폰에 의해 캡처된다.
블록(204)에서, 시스템은 TI 화자 인식 모델의 구 버전이 자동화 어시스턴트 요청의 일부로서 수신된 TI 화자 임베딩을 생성했는지 여부를 결정한다. 만약 그렇다면, 시스템은 블록(206)으로 진행하여 출력을 생성하기 위해 구 버전의 TI 화자 인식 모델을 사용하여 오디오 데이터를 처리한다. 만약 TI 화자 인식 모델의 현재 버전이 화자 임베딩을 생성했다고 시스템이 결정하면, 프로세스는 TI 화자 인식 모델의 현재 버전을 사용하여 특정 화자가 발언을 말한 것을 검증할 수 있으며 프로세스는 종료될 수 있다.
블록(208)에서, 시스템은 특정 사용자가 음성 발언을 말했는지 여부를 결정한다. 그런 경우, 시스템은 블록(210)으로 진행한다. 특정 사용자가 음성 발언을 말했는지 여부를 결정할 때, 시스템은 출력을 생성하기 위해 구 TI 화자 인식 모델을 사용하여 오디오 데이터를 처리할 수 있다. 시스템은 생성된 출력을 특정 사용자에 대한 TI 화자 임베딩과 비교하여 특정 사용자가 음성 발언을 말했는지 여부를 결정할 수 있다. 많은 구현에서 시스템은 전체 음성 발언을 처리할 수 있다. 여러 구현에서, 시스템은 음성 발언의 일부만을 처리할 수 있다. 예를 들어, 시스템은 화자 임베딩과 비교할 출력을 생성하기 위해 음성 발언의 호출 문구 부분 다음에 오는 후속 부분만 처리할 수 있다. 그러나, 시스템이 특정 사용자가 음성 발언을 말하지 않았다고 결정하면, 일부 구현에서 시스템은 음성 발언이 게스트 사용자에 의해 제공되었는지 결정할 수 있으며 시스템은 특정 사용자에 대해 맞춤화되지 않은 응답형 컨텐츠를 생성할 수 있다.
블록(210)에서, 시스템은 오디오 데이터에 기초하여 특정 사용자에 대해 맞춤화된 응답형 컨텐츠를 생성한다. 많은 구현에서, 시스템은 클라이언트 디바이스가 응답형 컨텐츠에 기초하여 출력을 렌더링하도록 한다. 예를 들어, 시스템은 "어시스턴트, 오늘 내 캘린더에 뭐가 있지"라는 음성 발언에 대한 응답으로 특정 사용자에 대한 하루의 하나 이상의 캘린더 이벤트에 대한 세부 사항을 포함하는 컨텐츠를 렌더링할 수 있다.
블록(212)에서, 시스템은 TI 화자 인식 모델의 업데이트된 버전을 사용하여 특정 사용자의 이전 음성 입력을 캡처하는 이전 오디오 데이터를 처리함으로써 업데이트된 화자 임베딩을 생성한다. 여러 구현에서, 특정 사용자에 대한 이전 오디오 데이터의 하나 이상의 인스턴스가 원격 컴퓨팅 디바이스에 저장될 수 있다(예를 들어, 서버와 관련된 데이터베이스에 저장됨). 여러 구현에서, 특정 사용자에 대한 이전 오디오 데이터의 하나 이상의 인스턴스가 클라이언트 디바이스에 저장되고 자동화 어시스턴트 요청의 일부로서 전송될 수 있다.
다양한 구현에서, 이전 오디오 데이터의 인스턴스들은 길이, 다양성 및/또는 다른 표준/기준들과 같은 하나 이상의 기준에 기초하여 선택될 수 있다. 예를 들어, 이전 오디오 데이터의 인스턴스들은 각각의 인스턴스가 적어도 임계 길이(예를 들어, 사용자가 음성 발언을 말한 시간 길이 및/또는 단어 수에 기초함)인 것에 기초하여 선택될 수 있다. 또한, 예를 들어, 이전 오디오 데이터의 인스턴스들은 이전 오디오 데이터의 인스턴스 간의 다양성을 증가시키기 위해 이전 발언들의 단어, 음소 등을 분석함으로써 추가적으로 또는 대안적으로 선택될 수 있다. 즉, 이전 오디오 데이터의 인스턴스들은 이전 오디오 데이터의 인스턴스간에 중복되는 단어 및/또는 사운드의 수를 줄이기 위해 선택할 수 있다.
블록(214)에서, 시스템은 업데이트된 화자 임베딩을 클라이언트 디바이스로 전송한다. 많은 구현에서, 클라이언트 디바이스는 미래의 자동화 어시스턴트 요청과 함께 전송하기 위해 그 업데이트된 화자 임베딩을 로컬로 저장할 수 있다. 많은 구현에서, 업데이트된 버전의 화자 임베딩은 데이터 보안을 돕기 위해 클라이언트 디바이스로 전송된 후 원격 컴퓨팅 디바이스에서 삭제될 수 있다.
이제 도 3으로 돌아가면, 본 명세서에 개시된 다양한 구현에 따라 TI 화자 인식 모델에 의해 생성된 출력 및 TD 화자 인식 모델에 의해 생성된 출력에 기초하여 특정 사용자가 발언을 말했는지 여부를 결정하는 프로세스(300)를 도시하는 흐름도가 제공된다. 편의상, 흐름도의 동작들은 동작을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))와 같은 하나 이상의 컴포넌트를 포함할 수 있다. 프로세스(300)의 동작들이 특정 순서로 도시되지만, 이것은 제한을 의미하지는 않는다. 하나 이상의 동작들은 재정렬, 생략 및/또는 추가될 수 있다.
블록(302)에서, 시스템은 클라이언트 디바이스로부터 자동화 어시스턴트 요청을 수신한다. 많은 구현에서, 자동화 어시스턴트 요청은 음성 발언을 캡처하는 오디오 데이터 및 특정 사용자에 대한 TD 사용자 측정치를 포함한다. 많은 구현에서, 음성 발언은 클라이언트 디바이스의 하나 이상의 마이크로폰에 의해 캡처될 수 있다. 많은 구현에서, D 사용자 측정치는 TD 화자 인식 모델을 사용하여 음성 발언의 호출 문구 부분을 처리하여 출력을 생성하고 그 출력을 TD 화자 임베딩과 비교함으로써 클라이언트 디바이스에서 로컬로 생성될 수 있다.
블록(304)에서, 시스템은 TI 화자 인식 모델을 사용하여 오디오 데이터를 처리하여 출력을 생성한다. 많은 구현에서 시스템은 전체 음성 발언을 처리할 수 있다. 여러 구현에서, 시스템은 음성 발언의 일부만 처리할 수 있다. 예를 들어, 시스템은 화자 임베딩과 비교할 출력을 생성하기 위해 음성 발언의 호출 문구 부분 다음에 나오는 후속 부분만 처리할 수 있다.
블록(306)에서, 시스템은 TI 화자 인식 모델을 사용하여 생성된 출력을 특정 사용자에 대한 TI 화자 임베딩과 비교함으로써 TI 사용자 측정치를 결정한다.
블록(308)에서, 시스템은 특정 사용자가 음성 발언을 말했는지 여부를 결정한다. 그런 경우, 시스템은 블록(310)으로 진행한다. 많은 구현에서, 시스템은 특정 사용자가 TI 사용자 측정치 및 TD 사용자 측정치를 사용하여 음성 발언을 말했는지 여부를 결정할 수 있다. 예를 들어, TI 사용자 측정치와 TD 사용자 측정치는 연결(concatenated)될 수 있으며, 그 연결이 임계값 이상이면 특정 사용자가 음성 발언을 말한 것이다. 추가적으로 또는 대안적으로, TD 사용자 측정치 및/또는 TI 사용자 측정치는 가중될 수 있다. 예를 들어, TD 사용자 측정치 및/또는 TI 사용자 측정치가 사용자가 음성 발언을 말했을 확률이 매우 높음을 나타내는 경우, 사용자 측정치는 더 많이 가중될 수 있다(예를 들어, TI 사용자 측정치가 사용자가 음성 발언을 말한 95% 확실성을 나타내는 경우 TI 사용자 측정치는 TD 사용자 측정치보다 더 가중치가 높을 수 있음). 반대로, 사용자가 음성 발언을 말했을 확률이 낮음을 나타내는 TI 사용자 측정치 및/또는 TD 사용자 측정치는 더 많이 가중될 수 있다(예를 들어, 사용자가 음성 발언을 말한 10% 확률을 나타내는 TI 사용자 측정치는 TD 사용자 측정보다 더 가중치가 높을 수 있음). 많은 구현에서, 사용자 측정치가 임계값보다 높거나 낮은 경우 다른 사용자 측정치는 무시될 수 있다. 추가적으로 또는 대안적으로, TD 사용자 측정치가 임계 값보다 높거나 낮으면, TD 사용자 측정치만 계산되고 TI 사용자 측정치는 무시된다. 다양한 구현에서, TD 사용자 측정치 및 TI 사용자 측정치를 더 가중하는 다른 예로서, 다양한 구현에서 TI 사용자 측정치의 가중치는 음성 발언의 적어도 일부(예를 들어, 비-호출 부분)가 적어도 임계 길이(예를 들어, 4초 및/또는 3 단어)가 아닐 때보다 적어도 임계 길이일 때 더 클 수 있다.
블록(310)에서, 시스템은 음성 발언에 응답하고 특정 사용자에 대해 맞춤화된 응답형 컨텐츠를 생성한다. 블록(312)에서, 시스템은 응답형 컨텐츠를 클라이언트 디바이스로 전송한다. 많은 구현에서, 응답형 컨텐츠를 클라이언트 디바이스로 전송하면 클라이언트 디바이스가 응답형 컨텐츠에 기초하여 출력을 렌더링하게 된다. 렌더링된 컨텐츠는 응답형 컨텐츠 자체 또는 응답형 컨텐츠의 변환을 포함할 수 있다(예를 들어, 응답형 컨텐츠는 텍스트를 포함할 수 있고, 렌더링된 컨텐츠는 그 텍스트에 대해 생성된(예를 들어, 텍스트 음성-변환 프로세서를 사용하여 생성된) 음성을 포함할 수 있다.
이제 도 4로 돌아가면, 본 명세서에 개시된 다양한 구현에 따라 어떤 사용자가 음성 발언을 말했는지 결정하기 전에 클라이언트 디바이스의 여러 사용자에 대한 응답형 컨텐츠를 프리페치하는 프로세스(400)를 도시하는 흐름도가 제공된다. 편의상, 흐름도의 동작들은 동작을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))와 같은 하나 이상의 컴포넌트를 포함할 수 있다. 프로세스(400)의 동작들은 특정 순서로 도시되어 있지만, 이것은 제한을 의미하지는 않는다. 하나 이상의 동작들은 재정렬, 생략 및/또는 추가될 수 있다.
블록(402)에서, 시스템은 클라이언트 디바이스로부터 자동화 어시스턴트 요청을 수신한다. 많은 구현에서, 자동화 어시스턴트 요청은 음성 발언을 캡처하는 오디오 데이터를 포함한다.
블록(404)에서, 시스템은 제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정한다. 많은 구현에서, 시스템은 제1 사용자 프로필과 제2 사용자 프로필에 추가하여 제3 사용자 프로필(및 선택적으로 제4, 제5 등)이 자동화 어시스턴트 요청과 연관되어 있다고 결정할 수 있다. 많은 구현에서, 사용자 프로필은 하나 이상의 자동화 어시스턴트 클라이언트와 연관될 수 있다. 예를 들어, 5인 가구는 제1 클라이언트 디바이스와 제2 클라이언트 디바이스를 가질 수 있다. 5인 가구의 각 개인은 제1 클라이언트 디바이스와 제2 클라이언트 디바이스 모두와 연관될 수 있다. 많은 구현에서, 각 사용자 프로필은 사용자에 대한 화자 임베딩을 포함하고 자동화 어시스턴트와 관련된 모든 사용자에 대한 화자 임베딩은 자동화 어시스턴트 요청의 일부로서 전송될 수 있다. 일부 구현에서, 사용 가능한 모든 화자 임베딩의 서브 세트 만이 자동화 어시스턴트 요청의 일부로서 전송된다. 예를 들어, 5개의 사용 가능한 화자 임베딩 중 2개는 임계값을 충족하는 2개에 대한 TD 측정치에 기초하여 전송될 수 있지만 다른 3개에 대한 TD 측정치는 전송되지 않는다.
블록(406)에서, 시스템은 제1 사용자에 대해 맞춤화되고 음성 발언에 응답하는 제1 응답형 컨텐츠의 생성을 개시한다.
블록(408)에서, 시스템은 제2 사용자에 대해 맞춤화되고 음성 발언에 응답하는 제2 응답형 컨텐츠의 생성을 개시한다. 많은 구현에서, 응답형 컨텐츠의 생성은 자동화 어시스턴트 요청과 관련된 임의의 추가 사용자에 대해 개시될 수도 있다. 예를 들어, 제3 응답형 컨텐츠의 생성이 개작될 수 있으며, 제3 응답형 컨텐츠는 요청에 표시된 제3 사용자 프로필에 대해 맞춤화되고 음성 발언에 응답한다.
블록(410)에서, 제1 응답형 컨텐츠 생성 및 제2 응답형 컨텐츠 생성을 완료하기 전에, 시스템은 TI 화자 인식 모델을 사용하여 오디오 데이터를 처리하여 출력을 생성한다. 즉, 시스템이 제 1 사용자에 대해 맞춤화된 응답형 컨텐츠를 프리페치하고 제2 사용자에 대해 맞춤화된 응답형 컨텐츠를 프리페치하는 동안, 시스템은 TI 화자 인식 모델을 사용하여 화자를 식별할 수 있다. 추가적으로 또는 대안적으로, 시스템은 클라이언트 디바이스와 연관된 임의의 추가 사용자에 대해 맞춤화된 응답형 컨텐츠를 프리페치(예를 들어, 제3 사용자에 대해 맞춤화된 응답형 컨텐츠를 프리페치)할 수 있다.
블록 412에서, 시스템은 어떤 사용자가 음성 발언을 말했는지를 결정한다. 예를 들어, 시스템은 블록(410)에서 생성된 출력을 제1 사용자 화자 임베딩과 비교함으로써 제1 사용자가 음성 발은을 말했는지 결정할 수 있다.
블록(414)에서, 시스템은 다른 사용자(들)에 대한 응답형 컨텐츠를 전송하지 않고 블록(412)에서 음성 발언을 말한 것으로 결정된 사용자를 위한 응답형 컨텐츠를 클라이언트 디바이스로 전송한다. 예를 들어, 시스템이 블록(412)에서 제1 사용자가 음성 발언을 말한 것으로 결정하면, 시스템은 제2 사용자에 대해 맞춤화된 응답형 컨텐츠를 전송하지 않고(뿐만 아니라 응답형 컨텐츠를 전송하지 않고) 제1 사용자에 대해 맞춤화된 응답형 컨텐츠를 클라이언트 디바이스로 전송한다. 추가적으로 또는 대안적으로, 시스템은 클라이언트 디바이스가 그 결정된 사용자를 위한 응답형 컨텐츠에 기초하여 출력을 렌더링하게 한다. 예를 들어, 시스템이 블록(412)에서 제1 사용자가 음성 발언을 말한 것으로 결정한 경우, 시스템은 클라이언트 디바이스가 제1 응답형 컨텐츠에 기초하여 출력을 렌더링하게 한다.
도 5는 본 명세서에 설명된 기술의 하나 이상의 양태를 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 디바이스(510)의 블록도이다. 일부 구현에서, 하나 이상의 클라이언트 컴퓨팅 디바이스 및/또는 다른 컴포넌트(들)은 예시적인 컴퓨팅 디바이스(510)의 하나 이상의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(510)는 일반적으로 버스 서브 시스템(512)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(514)를 포함한다. 이들 주변 디바이스는 예를 들어 메모리 서브 시스템(525) 및 파일 저장 서브 시스템(526), 사용자 인터페이스 출력 디바이스들(520), 사용자 인터페이스 입력 디바이스들(522) 및 네트워크 인터페이스 서브 시스템(516)을 포함하는 저장 서브 시스템(524)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(510)와 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브 시스템(516)은 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨팅 디바이스의 대응하는 인터페이스 디바이스에 결합된다.
사용자 인터페이스 입력 디바이스(522)는 키보드, 포인팅 디바이스(예를 들어, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크로폰 및/또는 다른 유형의 입력 디바이스가 포함될 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 모든 가능한 유형의 디바이스 및 컴퓨팅 디바이스(510) 또는 통신 네트워크에 정보를 입력하는 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(520)는 디스플레이 서브 시스템, 프린터, 팩스 기계, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브 시스템은 음극선관("CRT"), 액정 디스플레이("LCD")와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스를 통해 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 모든 가능한 유형의 디바이스 및 컴퓨팅 디바이스(510)로부터 사용자 또는 다른 기계 또는 컴퓨팅 디바이스로 정보를 출력하는 방법을 포함하도록 의도된다.
저장 서브 시스템(524)은 봉 명세서에 기술된 모듈의 일부 또는 전부의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브 시스템(524)은 도 2 내지 4의 프로세스 중 하나 이상의 선택된 양태를 수행할 뿐만 아니라 도 1에 도시된 다양한 컴포넌트를 구현하기 위한 로직을 포함할 수 있다.
이러한 소프트웨어 모듈은 일반적으로 프로세서(514)에 의해 단독으로 또는 다른 프로세서와 결합하여 실행된다. 저장 서브 시스템(524)에서 사용되는 메모리(525)는 프로그램 실행 동안 명령 및 데이터를 저장하기 위한 주 랜덤 액세스 메모리("RAM")(530) 및 고정 명령이 저장된 판독 전용 메모리("ROM")(532)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브 시스템(526)은 프로그램 및 데이터 파일에 대한 영구 저장을 제공할 수 있으며, 하드 디스크 드라이브, 플로피 디스크 드라이브, 관련 이동식 미디어, CD-ROM 드라이브, 광학 드라이브 또는 이동식 미디어 카트리지를 포함할 수 있다. 특정 구현의 기능을 구현하는 모듈은 저장 서브 시스템(524)의 파일 저장 서브 시스템(526)에 의해 또는 프로세서(들)(514)에 의해 액세스 가능한 다른 기계에 저장될 수 있다.
버스 서브 시스템(512)은 컴퓨팅 디바이스(510)의 다양한 컴포넌트 및 서브 시스템이 의도 한대로 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브 시스템(512)이 개략적으로 단일 버스로 도시되어 있지만, 버스 서브 시스템의 대안적인 구현은 다중 버스를 사용할 수 있다.
컴퓨팅 디바이스(510)는 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 5에 도시된 컴퓨팅 디바이스(510)의 설명은 일부 구현을 설명하기 위한 특정 예로서만 의도된다. 컴퓨팅 디바이스(510)의 많은 다른 구성이 도 5에 도시된 컴퓨팅 디바이스보다 더 많거나 적은 컴포넌트를 가질 수 있다.
본 발명에 여러 구현이 설명되고 예시되었지만, 기능을 수행하고 및/또는 본 명세서에 설명된 결과 및/또는 하나 이상의 이점을 얻기 위한 다양한 다른 수단 및/또는 구조가 활용될 수 있으며, 각각의 이러한 변형 및/또는 수정은 본 명세서에 설명된 구현의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 설명된 모든 파라미터, 치수, 재료 및 구성은 예시를 위한 것이며 실제 파라미터, 치수, 재료 및/또는 구성은 교시가 사용되는 특정 애플리케이션 또는 애플리케이션들에 따라 달라질 것이라는 것을 의미한다. 당업자는 단지 일상적인 실험을 사용하여 본 명세서에 설명된 특정 구현에 대한 많은 등가물을 인식하거나 확인할 수 있을 것이다. 따라서, 전술한 구현들은 단지 예로서 제시되었으며, 첨부된 청구 범위 및 그 등가물의 범위 내에서 구현이 구체적으로 설명되고 청구된 것과 다르게 실행될 수 있음을 이해해야 한다. 본 개시 내용의 구현은 본 명세서에 기재된 각각의 개별적인 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 추가로, 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법의 임의의 조합은 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법이 서로 일치하지 않는 경우 본 개시 내용의 범위내에 포함된다.

Claims (28)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    클라이언트 디바이스로부터 네트워크를 통해,
    클라이언트 디바이스의 특정 사용자에 대한 텍스트 독립(TI) 화자 임베딩과, 그리고
    특정 사용자의 음성 입력을 캡처하는 오디오 데이터를 포함하는 자동화 어시스턴트 요청을 수신하는 단계와, 상기 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰을 통해 캡처되고;
    TI 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다고 결정하는 단계와;
    화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다는 결정에 응답하여:
    TI 출력을 생성하도록 TI 화자 인식 모델의 구 버전을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계와;
    TI 출력을 특정 사용자의 화자 임베딩과 비교함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계와;
    특정 사용자가 음성 입력을 말했다는 결정에 응답하여:
    오디오 데이터에 기초한 하나 이상의 동작을 수행하는 단계와;
    업데이트된 화자 임베딩을 생성하도록 TI 화자 인식 모델의 업데이트된 버전을 사용하여 특정 사용자의 이전 음성 입력을 캡처하는 이전 오디오 데이터를 처리하는 단계와; 그리고
    클라이언트 디바이스로, 클라이언트 디바이스가 미래의 자동화 어시스턴트 요청과 함께 전송하도록 상기 업데이트된 화자 임베딩을 로컬로 저장하게 하기 위해 특정 사용자에 대한 업데이트된 화자 임베딩을 전송하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 방법을 구현하는 하나 이상의 프로세서는 클라이언트 디바이스로부터 원격인 하나 이상의 컴퓨팅 디바이스에 있으며,
    특정 사용자에 대한 업데이트된 화자 임베딩을 클라이언트 디바이스로 전송하는 것에 응답하여:
    하나 이상의 컴퓨팅 디바이스로부터 업데이트된 화자 임베딩의 모든 인스턴스를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  3. 선행 청구항들 중 하나에 있어서,
    상기 TI 출력을 생성하도록 TI 화자 인식 모델의 구 버전을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계는,
    TI 출력을 생성하도록 구 버전의 TI 화자 인식 모델을 사용하여 오디오 데이터의 오디오 데이터의 호출 문구 부분에 추가되는 오디오 데이터의 추가 부분을 처리하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  4. 선행 청구항들 중 하나에 있어서,
    상기 TI 출력을 생성하도록 TI 화자 인식 모델의 구 버전을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계는,
    TI 출력을 생성하도록 구 버전의 TI 화자 인식 모델을 사용하여 오디오 데이터의 호출 문구 부분 및 오디오 데이터의 추가 부분을 처리하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  5. 선행 청구항들 중 하나에 있어서,
    상기 업데이트된 화자 임베딩을 생성하도록 TI 화자 인식 모델의 업데이트된 버전을 사용하여 특정 사용자의 이전 음성 입력을 캡처하는 이전 오디오 데이터를 처리하는 단계는,
    업데이트된 화자 임베딩을 생성하도록 TI 화자 인식 모델의 업데이트된 버전을 사용하여 이전 오디오 데이터의 복수의 인스턴스를 처리하는 단계를 포함하고, 상기 이전 오디오 데이터의 각각의 인스턴스는 특정 사용자의 이전 음성 입력을 캡처하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  6. 선행 청구항들 중 하나에 있어서,
    하나 이상의 기준을 충족하는 이전 오디오 데이터의 복수의 인스턴스에 기초하여 이전 오디오 데이터의 복수의 인스턴스를 선택하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  7. 제6항에 있어서,
    하나 이상의 기준은,
    이전 오디오 데이터의 복수의 인스턴스 각각에 대한 길이 기준; 및
    이전 오디오 데이터의 복수의 인스턴스에 대한 다양성 기준 중 하나 또는 다수를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  8. 제5항에 있어서,
    이전 오디오 데이터의 인스턴스들에서 이전 오디오 데이터의 인스턴스를,
    복수의 이전 오디오 데이터에서 이전 오디오 데이터의 각 인스턴스의 길이를 결정하고;
    특정 사용자의 음성 입력을 캡처하는 오디오 데이터의 길이를 결정하고;
    오디오 데이터의 길이를 이전 오디오 데이터의 각 인스턴스의 길이와 비교하고; 그리고
    그 비교에 기초하여, 오디오 데이터가 이전 오디오 데이터의 하나 이상의 인스턴스보다 길다는 결정에 응답하여, 가장 짧은 길이를 갖는 이전 오디오 데이터의 인스턴스를 오디오 데이터로 대체함으로써,
    상기 특정 사용자의 음성 입력을 캡처하는 오디오 데이터로 대체하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  9. 선행 청구항들 중 하나에 있어서,
    상기 TI 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다고 결정하는 단계는,
    TI 화자 임베딩에 대한 버전 식별자에 적어도 부분적으로 기초하며, 상기 버전 식별자는 자동화 어시스턴트 요청에 포함되는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  10. 선행 청구항들 중 하나에 있어서,
    상기 오디오 데이터에 기초한 하나 이상의 동작을 수행하는 단계는,
    오디오 데이터에 기초하여 하나 이상의 주변 디바이스를 제어하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  11. 선행 청구항들 중 하나에 있어서,
    상기 오디오 데이터에 기초한 하나 이상의 동작을 수행하는 단계는,
    특정 사용자에 대해 맞춤화되고 오디오 데이터에 기초하는 응답형 컨텐츠를 생성하는 단계와; 그리고
    클라이언트 디바이스로 하여금 응답형 컨텐츠에 기초하여 출력을 렌더링하도록 하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  12. 제11항에 있어서,
    상기 업데이트된 화자 임베딩을 생성하는 단계는,
    클라이언트 디바이스로 하여금 응답형 컨텐츠에 기초하여 출력을 렌더링하게 한 후에 완료되는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  13. 선행 청구항들 중 하나에 있어서,
    상기 자동화 어시스턴트 요청은 클라이언트 디바이스에 로컬로 저장된 TD 화자 인식 모델을 사용하고 클라이언트 디바이스에 로컬로 저장된 TD 화자 임베딩을 사용하여 클라이언트 디바이스에서 로컬로 생성된 텍스트 종속(TD) 사용자 측정치를 더 포함하고, 상기 TD 화자 임베딩 특정 사용자에 대한 것이고, 그리고
    상기 TI 출력을 특정 사용자의 화자 임베딩과 비교함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는,
    TI 출력을 화자 임베딩과 비교함으로써 TI 사용자 측정치를 결정하는 단계와; 그리고
    TD 사용자 측정치와 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  14. 제13항에 있어서,
    상기 TD 사용자 측정치와 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는,
    TD 사용자 측정치와 TI 사용자 측정치를 결합함으로써 특정 사용자가 음성 입력을 말할 확률을 나타내는 특정 사용자 확률 측정치를 결정하는 단계와; 그리고
    특정 사용자 확률 측정치가 임계값을 충족하는지 여부를 결정함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  15. 제11항에 있어서,
    상기 화자 임베딩이 TI 화자 인식 모델의 구 버전을 사용하여 생성되었다는 결정에 응답하여,
    제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정하는 단계와;
    제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다는 결정에 응답하여:
    제1 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제1 응답형 컨텐츠의 생성을 개시하는 단계와;
    제2 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제2 응답형 컨텐츠의 생성을 개시하는 단계와;
    제1 응답형 컨텐츠와 제2 응답형 컨텐츠 생성을 완료하기 전에, TI 출력을 생성하도록 TI 화자 인식 모델을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계와;
    특정 사용자가 제1 사용자인지 여부 및 TI 출력을 제1 사용자의 화자 임베딩과 비교함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 더 포함하고; 그리고
    상기 특정 사용자가 음성 입력을 말했다는 결정에 응답하여, 제2 응답 컨텐츠를 클라이언트 디바이스에 전송하지 않고 제1 응답 컨텐츠를 클라이언트 디바이스로 전송하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  16. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    클라이언트 디바이스로부터 네트워크를 통해,
    사용자의 음성 입력을 캡처하는 오디오 데이터와, 상기 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰에서 캡처되고, 그리고
    클라이언트 디바이스에 국부적으로 저장된 텍스트 종속(TD) 화자 인식 모델을 사용하고 클라이언트 디바이스에 국부적으로 저장된 TD 화자 임베딩을 사용하여 클라이언트 디바이스에서 국부적으로 생성된 TD 사용자 측정치를 포함하는, 자동화 어시스턴트 요청을 수신하는 단계와, 상기 TD 화자 임베딩은 특정 사용자에 대한 것이고;
    TI 출력을 생성하도록 텍스트 독립(TI) 화자 인식 모델을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계와;
    TI 출력을 자동화 어시스턴트 요청과 연관되고 특정 사용자에 대한 TI 화자 임베딩과 비교함으로써 TI 사용자 측정치를 결정하는 단계와;
    TD 사용자 측정치 및 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계와;
    음성 입력이 특정 사용자에 의해 말해 졌다는 결정에 응답하여:
    음성 입력에 응답하고 특정 사용자에 대해 맞춤화된 응답형 컨텐츠를 생성하는 단계와; 그리고
    클라이언트 디바이스가 응답형 컨텐츠에 기초하여 출력을 렌더링하도록 하기 위해 응답형 컨텐츠를 클라이언트 디바이스로 전송하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  17. 제16항에 있어서,
    네트워크를 통해 클라이언트 디바이스로부터 수신된 자동화 어시스턴트 요청은 특정 사용자에 대한 TI 화자 임베딩을 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  18. 제16항 또는 제17항에 있어서,
    상기 TD 사용자 측정치 및 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는,
    TD 사용자 측정치와 TI 사용자 측정치를 결합함으로써 특정 사용자가 음성 입력을 말할 확률을 나타내는 특정 사용자 확률 측정치를 결정하는 단계; 및
    특정 사용자 확률 측정치가 임계값을 충족하는지 여부를 결정함으로써 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  19. 제18항에 있어서,
    상기 TD 사용자 측정치와 TI 사용자 측정을 결합하는 것은,
    결합시 TD 사용자 측정치에 대한 제1 가중치를 사용하고 결합시 TI 사용자 측정치에 대한 제2 가중치를 이용하는 것을 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  20. 제19항에 있어서,
    오디오 데이터의 길이 또는 음성 입력에 기초하여 제1 가중치 및 제2 가중치를 결정하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  21. 제19항 또는 제20항에 있어서,
    TD 사용자 측정치의 크기에 기초하여 제1 가중치 및 제2 가중치를 결정하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  22. 제16항 내지 제21항 중 어느 하나에 있어서,
    TD 사용자 측정치가 임계값을 충족하지 못하는 것을 결정하는 단계를 더 포함하고;
    상기 TI 출력을 생성하도록 오디오 데이터의 일부를 처리하는 단계, 상기 TI 사용자 측정치를 결정하는 단계, 상기 TD 사용자 측정치 및 TI 사용자 측정치 모두를 사용하여 특정 사용자가 음성 입력을 말했는지 여부를 결정하는 단계는 TD 사용자 측정치가 임계값을 충족하지 못하는 경우에만 수행되는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  23. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    클라이언트 디바이스로부터 네트워크를 통해, 음성 입력을 갭처하는 오디오 데이터를 포함하는 자동화 어시스턴트 요청을 수신하는 단계와, 상기 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰에서 캡처되고;
    제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정하는 단계와;
    제1 사용자 프로필과 제2 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다는 결정에 응답하여:
    제1 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제1 응답형 컨텐츠의 생성을 개시하는 단계와;
    제2 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제2 응답형 컨텐츠의 생성을 개시하는 단계와;
    제1 응답형 컨텐츠와 제2 응답형 컨텐츠 생성을 완료하기 전에, 텍스트 독립(TI) 출력을 생성하도록 TI 화자 인식 모델을 사용하여 오디오 데이터의 적어도 일부를 처리하는 단계와;
    제1 사용자 프로필과 TI 출력에 대응하는 제1 사용자 화자 임베딩을 비교함으로써 제1 사용자가 음성 입력을 말했다고 결정하는 단계와;
    제1 사용자가 음성 입력을 말했다는 결정에 응답하여:
    제2 응답 컨텐츠를 클라이언트 디바이스에 전송하지 않고 제1 응답 컨텐츠를 클라이언트 디바이스로 전송하는 단계를 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  24. 제23항에 있어서,
    상기 제1 사용자가 음성 입력을 말했다고 결정하는 단계는 제2 사용자에 대해 맞춤화된 제2 응답형 컨텐츠의 생성이 완료되기 전에 발생하고,
    제1 사용자가 음성 입력을 말했다는 결정에 응답하여:
    제2 사용자에 대해 맞춤화된 제2 응답형 컨텐츠의 생성을 중지하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  25. 제23 항 또는 제24 항에 있어서,
    제1 사용자 프로필과 제2 사용자 프로필에 추가하여 제3 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다고 결정하는 단계와;
    제3 사용자 프로필이 자동화 어시스턴트 요청과 연관되어 있다는 결정에 응답하여:
    제3 사용자에 대해 맞춤화되고 음성 입력에 응답하는 제3 응답형 컨텐츠의 생성을 개시하는 단계를 더 포함하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  26. 제23항 내지 제25항 중 어느 하나에 있어서,
    상기 제1 사용자가 음성 입력을 말했다고 결정하는 단계는,
    자동화 어시스턴트 요청에 포함된 제1 사용자 프로필에 대한 텍스트 종속 (TD) 사용자 측정치에 더 기초하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  27. 제23항 내지 제26항 중 어느 하나에 있어서,
    상기 자동화 어시스턴트 요청은 제1 사용자 프로필에 대한 제1 텍스트 종속(TD) 측정치 및 제2 사용자 프로필에 대한 제2 TD 측정치를 더 포함하고,
    상기 제1 응답형 컨텐츠의 생성을 개시하는 단계와 상기 제2 응답형 컨텐츠의 생성을 개시하는 단계는 제1 TD 측정치와 제2 TD 측정치가 하나 이상의 임계 값을 충족하지 못하는 것에 추가로 응답하는 것을 특징으로 하는 프로세서에 의해 구현되는 방법.
  28. 명령들을 저장하는 메모리 및 그 명령들을 실행하는 하나 이상의 프로세서를 포함하여 선행하는 청구항들 중 하나의 방법을 수행하는 하나 이상의 자동화 어시스턴트 서버 콜렉션.
KR1020207026622A 2018-12-03 2019-12-02 텍스트 독립 화자 인식 KR102399420B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227016240A KR102438671B1 (ko) 2018-12-03 2019-12-02 텍스트 독립 화자 인식

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862774743P 2018-12-03 2018-12-03
US62/774,743 2018-12-03
PCT/US2019/063927 WO2020117639A2 (en) 2018-12-03 2019-12-02 Text independent speaker recognition

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227016240A Division KR102438671B1 (ko) 2018-12-03 2019-12-02 텍스트 독립 화자 인식

Publications (2)

Publication Number Publication Date
KR20200121845A true KR20200121845A (ko) 2020-10-26
KR102399420B1 KR102399420B1 (ko) 2022-05-19

Family

ID=69005924

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227016240A KR102438671B1 (ko) 2018-12-03 2019-12-02 텍스트 독립 화자 인식
KR1020207026622A KR102399420B1 (ko) 2018-12-03 2019-12-02 텍스트 독립 화자 인식

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227016240A KR102438671B1 (ko) 2018-12-03 2019-12-02 텍스트 독립 화자 인식

Country Status (6)

Country Link
US (2) US11527235B2 (ko)
EP (3) EP3724875B1 (ko)
JP (1) JP7017643B2 (ko)
KR (2) KR102438671B1 (ko)
CN (1) CN111902865A (ko)
WO (1) WO2020117639A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102560019B1 (ko) * 2021-01-15 2023-07-27 네이버 주식회사 화자 식별과 결합된 화자 분리 방법, 시스템, 및 컴퓨터 프로그램
US11942094B2 (en) 2021-03-24 2024-03-26 Google Llc Hybrid multilingual text-dependent and text-independent speaker verification
US20230025709A1 (en) * 2021-07-21 2023-01-26 Google Llc Transferring dialog data from an initially invoked automated assistant to a subsequently invoked automated assistant
US20230036771A1 (en) * 2021-07-28 2023-02-02 Avaya Management L.P. Systems and methods for providing digital assistance relating to communication session information
EP4217891A1 (en) 2021-12-14 2023-08-02 Google LLC System(s) and method(s) for enabling a representative associated with an entity to modify a trained voice bot associated with the entity

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247578B1 (ko) * 2008-12-09 2013-03-26 노키아 코포레이션 자동 음성 인식 음향 모델들의 적응
KR101330328B1 (ko) * 2010-12-14 2013-11-15 한국전자통신연구원 음성 인식 방법 및 이를 위한 시스템
KR20160088446A (ko) * 2011-03-21 2016-07-25 애플 인크. 음성 인증을 사용하는 디바이스 액세스
US20180201226A1 (en) * 2017-01-17 2018-07-19 NextEv USA, Inc. Voice Biometric Pre-Purchase Enrollment for Autonomous Vehicles
KR20180111310A (ko) * 2017-03-31 2018-10-11 엘지전자 주식회사 홈 어플라이언스, 음성 인식 모듈 및 홈 어플라이언스 시스템

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897616A (en) * 1997-06-11 1999-04-27 International Business Machines Corporation Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases
JP4098015B2 (ja) * 2002-07-18 2008-06-11 学校法人早稲田大学 話者識別方法およびそのシステム、並びにプログラム
KR20050023941A (ko) * 2003-09-03 2005-03-10 삼성전자주식회사 음성 인식 및 화자 인식을 통한 개별화된 서비스를제공하는 a/v 장치 및 그 방법
US8442824B2 (en) * 2008-11-26 2013-05-14 Nuance Communications, Inc. Device, system, and method of liveness detection utilizing voice biometrics
US8768707B2 (en) * 2011-09-27 2014-07-01 Sensory Incorporated Background speech recognition assistant using speaker verification
US9489950B2 (en) * 2012-05-31 2016-11-08 Agency For Science, Technology And Research Method and system for dual scoring for text-dependent speaker verification
CN102737633B (zh) * 2012-06-21 2013-12-25 北京华信恒达软件技术有限公司 一种基于张量子空间分析的说话人识别方法及其装置
US9349373B1 (en) 2013-03-14 2016-05-24 Verint Americas Inc. Biometrics platform provider
US9711148B1 (en) * 2013-07-18 2017-07-18 Google Inc. Dual model speaker identification
EP2897076B8 (en) * 2014-01-17 2018-02-07 Cirrus Logic International Semiconductor Ltd. Tamper-resistant element for use in speaker recognition
US20150255068A1 (en) * 2014-03-10 2015-09-10 Microsoft Corporation Speaker recognition including proactive voice model retrieval and sharing features
US9978374B2 (en) 2015-09-04 2018-05-22 Google Llc Neural networks for speaker verification
US10672385B2 (en) * 2015-09-04 2020-06-02 Honeywell International Inc. Method and system for remotely training and commanding the speech recognition system on a cockpit via a carry-on-device in a connected aircraft
JP6463710B2 (ja) * 2015-10-16 2019-02-06 グーグル エルエルシー ホットワード認識
US10152974B2 (en) * 2016-04-15 2018-12-11 Sensory, Incorporated Unobtrusive training for speaker verification
JP6571587B2 (ja) 2016-05-18 2019-09-04 日本電信電話株式会社 音声入力装置、その方法、及びプログラム
US10304463B2 (en) * 2016-10-03 2019-05-28 Google Llc Multi-user personalization at a voice interface device
US10755718B2 (en) * 2016-12-07 2020-08-25 Interactive Intelligence Group, Inc. System and method for neural network based speaker classification
US10522154B2 (en) 2017-02-13 2019-12-31 Google Llc Voice signature for user authentication to electronic device
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US9990926B1 (en) * 2017-03-13 2018-06-05 Intel Corporation Passive enrollment method for speaker identification systems
US10395658B2 (en) * 2017-05-22 2019-08-27 International Business Machines Corporation Pre-processing partial inputs for accelerating automatic dialog response
US10339935B2 (en) * 2017-06-19 2019-07-02 Intel Corporation Context-aware enrollment for text independent speaker recognition
US10325602B2 (en) * 2017-08-02 2019-06-18 Google Llc Neural networks for speaker verification
US10515640B2 (en) * 2017-11-08 2019-12-24 Intel Corporation Generating dialogue based on verification scores
US10984795B2 (en) * 2018-04-12 2021-04-20 Samsung Electronics Co., Ltd. Electronic apparatus and operation method thereof
GB2573809B (en) * 2018-05-18 2020-11-04 Emotech Ltd Speaker Recognition
EP3575202A1 (en) * 2018-06-01 2019-12-04 GE Aviation Systems Limited Systems and methods for secure commands in vehicles
US11004454B1 (en) * 2018-11-06 2021-05-11 Amazon Technologies, Inc. Voice profile updating

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247578B1 (ko) * 2008-12-09 2013-03-26 노키아 코포레이션 자동 음성 인식 음향 모델들의 적응
KR101330328B1 (ko) * 2010-12-14 2013-11-15 한국전자통신연구원 음성 인식 방법 및 이를 위한 시스템
KR20160088446A (ko) * 2011-03-21 2016-07-25 애플 인크. 음성 인증을 사용하는 디바이스 액세스
US20180201226A1 (en) * 2017-01-17 2018-07-19 NextEv USA, Inc. Voice Biometric Pre-Purchase Enrollment for Autonomous Vehicles
KR20180111310A (ko) * 2017-03-31 2018-10-11 엘지전자 주식회사 홈 어플라이언스, 음성 인식 모듈 및 홈 어플라이언스 시스템

Also Published As

Publication number Publication date
EP3724875A2 (en) 2020-10-21
KR102399420B1 (ko) 2022-05-19
JP7017643B2 (ja) 2022-02-08
WO2020117639A2 (en) 2020-06-11
KR102438671B1 (ko) 2022-08-31
WO2020117639A3 (en) 2020-08-06
CN111902865A (zh) 2020-11-06
US20210043191A1 (en) 2021-02-11
US20230113617A1 (en) 2023-04-13
JP2021520511A (ja) 2021-08-19
EP3920181A2 (en) 2021-12-08
KR20220070546A (ko) 2022-05-31
US11527235B2 (en) 2022-12-13
EP3920181A3 (en) 2022-02-23
EP3920181B1 (en) 2023-10-18
EP3724875B1 (en) 2021-06-30
EP4270224A2 (en) 2023-11-01
EP4270224A3 (en) 2023-11-15

Similar Documents

Publication Publication Date Title
US11798541B2 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
CN111052229B (zh) 自动地确定用于经由自动化助理接口接收的口头话语的语音辨识的语言
KR102438671B1 (ko) 텍스트 독립 화자 인식
EP3642834A1 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
US11817106B2 (en) Selectively storing, with multiple user accounts and/or to a shared assistant device: speech recognition biasing, NLU biasing, and/or other data
KR20230005966A (ko) 거의 일치하는 핫워드 또는 구문 검출
US20220366903A1 (en) Contextual suppression of assistant command(s)
US20230197072A1 (en) Warm word arbitration between automated assistant devices
CN112262430B (zh) 自动确定经由自动助理界面接收到的口头话语的语音识别的语言
US20230230578A1 (en) Personalized speech query endpointing based on prior interaction(s)
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재
KR20240089626A (ko) 음성 발언 완료를 위한 연속 컨텐츠의 선택적 생성 및/또는 선택적 렌더링

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right