KR102502617B1 - 네트워크 시스템의 분산 식별 - Google Patents

네트워크 시스템의 분산 식별 Download PDF

Info

Publication number
KR102502617B1
KR102502617B1 KR1020227014095A KR20227014095A KR102502617B1 KR 102502617 B1 KR102502617 B1 KR 102502617B1 KR 1020227014095 A KR1020227014095 A KR 1020227014095A KR 20227014095 A KR20227014095 A KR 20227014095A KR 102502617 B1 KR102502617 B1 KR 102502617B1
Authority
KR
South Korea
Prior art keywords
client device
identification model
user
audio identification
audio
Prior art date
Application number
KR1020227014095A
Other languages
English (en)
Other versions
KR20220062420A (ko
Inventor
빅터 카르본
토마스 디셀러스
샌드로 푸즈
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220062420A publication Critical patent/KR20220062420A/ko
Application granted granted Critical
Publication of KR102502617B1 publication Critical patent/KR102502617B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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
    • G10L17/00Speaker identification or verification techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • H04W12/64Location-dependent; Proximity-dependent using geofenced areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • 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/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 명세서는 일반적으로 음성 활성화 컴퓨터 네트워크 환경에서 컨텐츠를 커스터마이징하기 위한 데이터 처리 시스템에 관한 것이다. 사용자 동의에 따라, 데이터 처리 시스템은, 예를 들어, 맞춤형 컨텐츠의 생성에 사용된 음성 식별 프로세스의 정확도를 증가시킴으로써 하나 이상의 컴퓨터 네트워크를 통한 청각 데이터 패킷 전송의 효율성 및 효과를 향상시킬 수 있다. 본 발명의 솔루션은 계산에 집중적으로 적은 수의 오디오 식별 모델을 생성하면서 정확한 식별을 할 수 있다.

Description

네트워크 시스템의 분산 식별{DISTRIBUTED IDENTIFICATION IN NETWORKED SYSTEM}
본 명세서는 네트워크 시스템의 분산 식별에 관한 것이다.
컴퓨팅 장치들 사이의 네트워크 트래픽 데이터의 패킷 기반 또는 기타의 과도한 네트워크 전송은 컴퓨팅 장치가 네트워크 트래픽 데이터를 올바르게 처리하거나, 네트워크 트래픽 데이터와 관련된 작업을 완료하거나, 네트워크 트래픽 데이터에 적시에 응답하지 못하게 할 수 있다. 네트워크 트래픽 데이터의 과도한 전송은 응답 컴퓨팅 장치가 처리 용량 이상인 경우 데이터 라우팅을 복잡하게 하거나 응답 품질을 떨어뜨릴 수 있어 비효율적인 대역폭 사용을 초래할 수 있다.
본 명세서의 적어도 하나의 양태에 따르면, 음성 활성화 시스템에서 컨텐츠를 커스터마이즈하는 시스템은 데이터 처리 시스템을 포함할 수 있다. 데이터 처리 시스템은 인터페이스를 포함할 수 있다. 인터페이스는 제1 클라이언트 컴퓨팅 장치의 위치를 수신할 수 있다. 제1 클라이언트 컴퓨팅 장치는 제1 오디오 식별 모델과 연관될 수 있다. 인터페이스는 제2 클라이언트 컴퓨팅 장치로부터 오디오 입력 신호를 수신할 수 있다. 제2 클라이언트 컴퓨팅 장치는 제2 오디오 식별 모델과 연관될 수 있다. 데이터 처리 시스템은 인증 컴포넌트를 포함할 수 있다. 인증 컴포넌트는 제1 클라이언트 컴퓨팅 장치의 위치가 제2 클라이언트 컴퓨팅 장치와 미리 결정된 거리 내에 있다고 결정할 수 있다. 인증 컴포넌트는, 제1 클라이언트 컴퓨팅 장치의 위치가 제2 클라이언트 컴퓨팅 장치와의 미리 결정된 거리 내에 있다는 결정에 기초하여, 제2 클라이언트 컴퓨팅 장치에 의해 수신된 오디오 신호를 처리하기 위해 제1 클라이언트 컴퓨팅 장치의 제1 오디오 식별 모델에 대한 액세스를 제공할 수 있다. 인증 컴포넌트는 제1 오디오 식별 모델을 사용하여 제1 식별 스코어(점수)를 생성하고 제2 오디오 식별 모델을 사용하여 제2 식별 점수를 생성할 수 있다. 인증 컴포넌트는 제1 식별 점수 및 제2 식별 점수에 기초하여 복수의 후보 프로파일들로부터 프로파일을 선택할 수 있다. 데이터 처리 시스템은 복수의 후보 프로파일들로부터 선택된 프로파일에 기초하여 디지털 컴포넌트를 선택하기 위한 컨텐츠 선택 컴포넌트를 포함할 수 있다. 데이터 처리 시스템의 인터페이스는 오디오 입력 신호에 응답하여 디지털 컴포넌트를 제2 클라이언트 컴퓨팅 장치로 전송할 수 있다.
본 명세서의 적어도 하나의 양태는 음성 활성화 시스템에서 컨텐츠를 커스터마이징하는 방법에 관한 것이다. 방법은 제1 클라이언트 컴퓨팅 장치의 위치를 수신하는 단계를 포함할 수 있다. 제1 클라이언트 컴퓨팅 장치는 제1 오디오 식별 모델과 연관될 수 있다. 방법은 제1 클라이언트 컴퓨팅 장치의 위치가 제2 클라이언트 컴퓨팅 장치와 미리 결정된 거리 내에 있다고 결정하는 단계를 포함할 수 있다. 제2 클라이언트 컴퓨팅 장치는 제2 오디오 식별 모델과 관련될 수 있다. 이 방법은, 제1 클라이언트 컴퓨팅 장치의 위치가 제2 클라이언트 컴퓨팅 장치와의 미리 결정된 거리 내에 있다는 결정에 기초하여, 상기 제2 클라이언트 컴퓨팅 장치에 의해 수신된 오디오 신호를 처리하기 위해 상기 제1 클라이언트 컴퓨팅 장치의 제1 오디오 식별 모델에 액세스하는 단계를 포함한다. 이 방법은 제2 클라이언트 컴퓨팅 장치로부터 오디오 입력 신호를 수신하는 단계를 포함할 수 있다. 방법은 제1 오디오 식별 모델을 사용하여 제1 식별 점수를 생성하고 제2 오디오 식별 모델을 사용하여 제2 식별 점수를 생성하는 단계를 포함할 수 있다. 방법은 제1 식별 점수 및 제2 식별 점수에 기초하여 복수의 후보 프로파일들로부터 프로파일을 선택하는 단계를 포함할 수 있다. 방법은 프로파일에 기초하여 디지털 컴포넌트를 선택하는 단계를 포함할 수 있다. 이 방법은 디지털 컴포넌트를 제2 클라이언트 컴퓨팅 장치로 전송하는 단계를 포함할 수 있다.
본 명세서의 적어도 하나의 양태에 따르면, 음성 활성화 시스템에서 컨텐츠를 커스터마이즈하는 방법을 수행하도록 구성된 디지털 어시스턴트 장치가 제공된다. 예를 들어, 디지털 어시스턴트 장치는 오디오 드라이버, 변환기, 입력 오디오 신호를 검출하기 위한 센서 및 전처리기 컴포넌트를 포함할 수 있다. 전처리기 컴포넌트는 오디오 드라이버, 변환기 및 센서에 연결될 수 있다. 전처리기 컴포넌트는 입력 오디오 신호를 필터링하여 필터링된 입력 오디오 신호를 생성할 수 있다. 전처리기 컴포넌트는 필터링된 입력 오디오 신호를 데이터 패킷으로 변환할 수 니다. 전처리기 컴포넌트는 데이터 패킷을 데이터 처리 시스템으로 전송할 수 있다. 데이터 처리 시스템은 컨텐츠 선택기 컴포넌트, 인터페이스 및 인증 컴포넌트를 실행하는 하나 이상의 프로세서 및 메모리를 포함할 수 있다. 데이터 처리 시스템은 제1 클라이언트 컴퓨팅 장치의 위치를 수신할 수 있다. 제1 클라이언트 컴퓨팅 장치는 제1 오디오 식별 모델과 연관될 수 있다. 데이터 처리 시스템은 제1 클라이언트 컴퓨팅 장치의 위치가 디지털 어시스턴트 장치에 대해 미리 결정된 거리 내에 있다고 결정할 수 있다. 데이터 처리 시스템은, 제1 클라이언트 컴퓨팅 장치의 위치가 디지털 어시스턴트 장치에 대해 미리 결정된 거리 내에 있다는 결정에 기초하여, 디지털 어시스턴트 장치에 제1 클라이언트 컴퓨팅 장치의 제1 오디오 식별 모델에 대한 액세스를 제공할 수 있다. 디지털 어시스턴트 장치는 제2 오디오 식별 모델과 연관될 수 있다. 데이터 처리 시스템은 제1 오디오 식별 모델을 사용하여 제1 식별 점수를 생성하고 제2 오디오 식별 모델을 사용하여 제2 식별 점수를 생성할 수 있다. 데이터 처리 시스템은 제1 식별 점수 및 제2 식별 점수에 기초하여 복수의 후보 프로파일로부터 프로파일을 선택할 수 있다. 데이터 처리 시스템은 복수의 후보 프로파일들로부터 선택된 프로파일에 기초하여 디지털 컴포넌트를 선택할 수 있다. 데이터 처리 시스템은 오디오 입력 신호에 응답하여 디지털 컴포넌트를 제2 클라이언트 컴퓨팅 장치로 전송할 수 있다.
이들 및 다른 측면 및 구현은 아래에서 상세하게 설명된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태 및 구현의 예시적인 예를 포함하고 청구된 양태 및 구현의 특성 및 특성을 이해하기 위한 개요 또는 프레임 워크를 제공한다. 도면은 다양한 양태 및 구현에 대한 예시 및 추가 이해를 제공하며, 본 명세서에 포함되어 본 명세서의 일부를 구성한다.
첨부된 도면은 실제 크기대로 도시된 것이 아니다. 다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다. 명확성을 위해, 모든 도면에 모든 구성 요소가 표시되는 것은 아니다.
도 1은 음성 활성화 데이터 패킷(또는 다른 프로토콜) 기반 컴퓨터 네트워크 환경에서 컨텐츠를 커스터마이즈하기 위한 예시적인 시스템을 도시한다.
도 2는 도 1에 도시된 시스템에서 컨텐츠를 커스터마이즈하는 예시적인 방법의 흐름도를 도시한다.
도 3은 제2 클라이언트 컴퓨팅 장치와 오디오 식별 모델을 공유하는 제1 클라이언트 컴퓨팅 장치의 블록도를 도시한다.
도 4는 여기에 설명되고 도시된 시스템 및 방법의 요소를 구현하기 위해 사용될 수 있는 컴퓨터 시스템에 대한 일반적인 아키텍처를 나타내는 블록도이다.
다음은 패킷화된 오디오 신호의 인증을 위한 방법, 장치 및 시스템과 관련된 다양한 개념 및 구현에 대한보다 상세한 설명이다. 위에서 소개되고 아래에서 더 상세하게 설명되는 다양한 개념은 수많은 방식으로 구현될 수 있다.
본 명세서는 일반적으로 음성 활성화 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호들에서 사용자 신원을 긍정적인 사용자 동의로 확인 또는 검증하기 위한 데이터 처리 시스템에 관한 것이다. 데이터 처리 시스템은 인증 컴포넌트를 통해 사용자 동의를 통해 사용자를 식별하거나 확인하는 데 필요한 효율성, 효과 및 리소스를 향상시킬 수 있다. 예를 들어, 인증 컴포넌트는 상이한 클라이언트 컴퓨팅 장치들 사이에서 오디오 식별 모델이 공유되거나 협력적으로 액세스될 수 있게 한다. 오디오 식별 모델의 생성은 계산 집약적일 수 있다. 오디오 식별 모델이 시스템의 각 클라이언트 컴퓨팅 장치에 대해 여러 번이 아니라 단지 한번만 생성되기 때문에, 복수의 상이한 클라이언트 컴퓨팅 장치에서 사용되는 오디오 식별 모델을 가능하게 하면 시스템의 계산 자원이 절약된다. 또한, 오디오 식별 모델의 훈련(학습)은 샘플 오디오 파일의 데이터 처리 시스템으로의 데이터 전송을 포함할 수 있다. 생성되는 오디오 식별 모델의 수를 줄이면 데이터 처리 시스템으로 전송되는 샘플 오디오 파일의 양이 줄어들고 시스템의 대역폭과 같은 네트워크 자원(리소스)이 절약된다.
데이터 처리 시스템은 보다 정확한 식별을 가능하게 하는 오디오 식별 모델을 생성할 수도 있다. 단일 물리적 위치에서 오디오 샘플로 생성된 오디오 식별 모델은 다른 물리적 위치에서 오디오 샘플을 제공할 때 식별하기가 어려울 수 있다. 예를 들어, 상이한 위치들 각각은 상이한 물리적 위치로부터의 오디오 샘플들에서 식별하기에 단일 위치 오디오 식별 모델을 열악하게 할 수 있는 상이한 주변 노이즈 레벨들 또는 다른 형태의 간섭을 포함할 수 있다. 다른 클라이언트 컴퓨팅 장치들과 공유될 때, 데이터 처리 시스템은 상이한 물리적 위치들로부터의 오디오 샘플들로 오디오 식별 모델들을 업데이트할 수 있고, 이는 식별을 하는 데 상대적으로 더 높은 정확도를 가질 수있는 보다 강력한 오디오 식별 모델을 야기할 수 있다. 정확한 식별을 하면 데이터 처리 시스템과 클라이언트 컴퓨팅 장치간에 여러 번의 수정을 요구(예: 다중 전송 형태) 하지 않고 첫 번째 프로세스 중에 디지털 컴포넌트를 올바르게 커스터마이즈하거나 선택할 수 있으므로 시스템 자원을 절약할 수 있다. 또한, 오디오 샘플이 새로운 요청의 형태로 데이터 처리 시스템에 이미 공급되고 있기 때문에, 상이한 위치로부터의 오디오 샘플의 사용은 계산적으로 자유롭다. 예를 들어, 오디오 샘플은 오디오 샘플 훈련을 위해 데이터 처리 시스템에 의해 요청된 여분(extra) 요청 또는 추가 요청이 아니다. 훈련을 위해 추가 오디오 샘플을 요청하지 않아도되므로 네트워크 자원 사용이 줄어든다.
도 1은 음성 활성화 데이터 패킷(또는 다른 프로토콜) 기반 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호에 응답하여 컨텐츠를 커스터마이즈하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 적어도 하나의 데이터 처리 시스템(102)을 포함할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 프로세서를 갖는 적어도 하나의 서버를 포함할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 적어도 하나의 데이터 센터 또는 서버 팜에 위치한 복수의 서버를 포함할 수 있다. 데이터 처리 시스템(102)은 입력 오디오 신호로부터 요청 및 그 요청과 관련된 트리거 키워드를 결정할 수 있다. 요청 또는 트리거에 대한 데이터 처리 시스템의 응답은 사용자에 따라 달라질 수 있다. 예를 들어, 데이터 처리 시스템(102)은 사용자가 입력 오디오 신호를 제공한 것에 기초하여 다른 응답을 선택할 수 있다. 데이터 처리 시스템(102)은 음성 인식을 사용하여 어느 사용자가 입력 오디오 신호를 제공했는지를 결정할 수 있다. 데이터 처리 시스템(102)은 렌더링될 때 오디오 출력 또는 음파를 제공하는 하나 이상의 오디오 파일을 포함할 수 있는 하나 이상의 디지털 컴포넌트로 요청에 응답할 수 있다. 디지털 컴포넌트는 오디오 기반 컨텐츠 외에 다른 컨텐츠 형식(예: 텍스트, 비디오 또는 이미지 형식의 컨텐츠)을 포함할 수 있다.
데이터 처리 시스템(102)은 다수의 논리적으로 그룹화된 서버(논리적 서버 그룹)를 포함할 수 있고 분산 컴퓨팅 기술을 용이하게 한다. 논리적 서버 그룹을 데이터 센터, 서버 팜 또는 머신 팜이라고 한다. 서버는 지리적으로 분산될 수 있다. 데이터 센터 또는 머신 팜은 단일 엔터티로 관리되거나 머신 팜은 복수의 머신 팜을 포함할 수 있다. 각 머신 팜 내의 서버는 이기종일 수 있으며, 하나 이상의 서버 또는 머신이 하나 이상의 운영 체제 플랫폼 유형에 따라 작동할 수 있다. 데이터 처리 시스템(102)은 예를 들어 기업 데이터 센터에 위치한 관련 스토리지(저장) 시스템과 함께 하나 이상의 고밀도 랙 시스템에 저장된 데이터 센터의 서버를 포함 할 수 있다. 이러한 방식으로 통합된 서버를 갖는 데이터 처리 시스템(102)은 로컬화된 고성능 네트워크에 서버 및 고성능 스토리지 시스템을 배치하여 시스템 관리 효율성, 데이터 보안, 시스템의 물리적 보안 및 시스템 성능을 향상시킬 수 있다. 서버 및 스토리지 시스템을 포함하여 모든 또는 일부 데이터 처리 시스템(102) 컴포넌트를 중앙 집중화하고 이를 고급 시스템 관리 툴과 결합하면 서버 자원을 보다 효율적으로 사용할 수있어 전력 및 처리량을 절약하고 대역폭 사용을 줄인다.
데이터 처리 시스템(102)은 적어도 하나의 자연어 프로세서(NLP) 컴포넌트(112), 적어도 하나의 인터페이스(110), 적어도 하나의 인증 컴포넌트(114), 적어도 하나의 컨텐츠 선택기 컴포넌트(118), 적어도 하나의 오디오 신호 생성기 컴포넌트(120), 적어도 하나의 직접 행동 애플리케이션 프로그래밍 인터페이스(API)(116) 및 적어도 하나의 데이터 저장소(122)를 포함할 수 있다. NLP 컴포넌트(112), 인터페이스(110), 인증 컴포넌트(114), 컨텐츠 선택기 컴포넌트(118), 오디오 신호 생성기 컴포넌트(120), 직접 행동 API(116)는 각각 적어도 하나의 처리 유닛, 서버, 가상 서버, 회로, 엔진, 에이전트, 어플라이언스, 또는 데이터 저장소(122) 및 적어도 하나의 컴퓨터 네트워크(105)를 통해 다른 컴퓨팅 장치(예를 들어, 클라이언트 컴퓨팅 장치(104) 또는 콘텐츠 제공자 컴퓨팅 장치(106))와 통신하도록 구성된 프로그램 가능한 논리 어레이와 같은 다른 논리 장치를 포함할 수있다. 네트워크(105)는 인터넷, 로컬, 광역, 메트로 또는 기타 영역 네트워크와 같은 컴퓨터 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 이동 전화 통신 네트워크와 같은 다른 컴퓨터 네트워크 및 이들의 조합을 포함할 수 있다.
네트워크(105)는 디스플레이 네트워크, 예를 들어, 컨텐츠 배치 또는 검색 엔진 결과 시스템과 관련되거나 디지털 컴포넌트 배치의 일부로서 제3자 디지털 컴포넌트를 포함할 수 있는 인터넷상에서 이용 가능한 정보 자원의 서브세트를 포함 할 수 있다. 네트워크(105)는 클라이언트 컴퓨팅 장치(104)에 의해 제시, 출력, 렌더링 또는 디스플레이 될 수 있는 웹 페이지, 웹 사이트, 도메인 이름, 또는 URL(niform resource locators)과 같은 정보 자원(리소스)에 액세스하기 위해 데이터 처리 시스템(102)에 의해 사용될 수 있다. 예를 들어, 네트워크(105)를 통해 클라이언트 컴퓨팅 장치(104)의 사용자는 컨텐츠 제공자 컴퓨팅 장치(106)에 의해 제공된 정보 또는 데이터에 액세스할 수 있다.
네트워크(105)는 예를 들어, 포인트-투-포인트 네트워크, 브로드 캐스트 네트워크, 광역 네트워크, 근거리 네트워크, 통신 네트워크, 데이터 통신 네트워크, 컴퓨터 네트워크, (ATM(Asynchronous Transfer Mode) 네트워크, SONET(Synchronous Optical Network) 네트워크, SDH(Synchronous Digital Hierarchy) 네트워크, 무선 네트워크 또는 유선 네트워크 및 이들의 조합을 포함할 수 있다. 네트워크(105)는 적외선 채널 또는 위성 대역과 같은 무선 링크를 포함할 수 있다. 네트워크(105)의 토폴로지는 버스, 스타 또는 링 네트워크 토폴로지를 포함 할 수있다. 네트워크(105)는 AMPS(advanced mobile phone protocol), 시분할 다중 액세스("TDMA"), 코드 분할 다중 액세스("CDMA"), 글로벌 이동 통신 시스템("GSM"), 일반 패킷 무선 서비스("GPRS") 또는 범용 이동 통신 시스템("UMTS")을 포함하여 이동 장치들 사이에서 통신하는데 사용되는 프로토콜 또는 임의의 프로토콜을 사용하는 이동 전화 네트워크를 포함할 수 있다. 상이한 유형의 데이터는 상이한 프로토콜을 통해 전송 될 수 있거나, 동일한 유형의 데이터는 상이한 프로토콜을 통해 전송될 수 있다.
클라이언트 컴퓨팅 장치(104) 및 컨텐츠 제공자 컴퓨팅 장치(106)는 네트워크(105)를 통해 서로 또는 데이터 처리 시스템(102)과 통신하기 위한 프로세서를 갖는 컴퓨팅 장치와 같은 적어도 하나의 로직(논리) 장치를 각각 포함할 수 있다. 클라이언트 컴퓨팅 장치(104) 및 컨텐츠 제공자 컴퓨팅 장치(106)는 각각 적어도 하나의 서버, 프로세서 또는 메모리, 또는 적어도 하나의 데이터 센터에 위치한 복수의 컴퓨팅 자원 또는 서버를 포함할 수 있다. 클라이언트 컴퓨팅 장치(104) 및 컨텐츠 제공자 컴퓨팅 장치(106)는 각각 데스크탑 컴퓨터, 랩탑, 태블릿, 개인 휴대 정보 단말기, 스마트 폰, 휴대용 컴퓨터, 씬 클라이언트 컴퓨터, 가상 서버, 스피커 기반 어시스턴트 장치 또는 다른 컴퓨팅 장치와 같은 적어도 하나의 컴퓨팅 장치를 포함한다.
클라이언트 컴퓨팅 장치(104)는 적어도 하나의 센서(140), 적어도 하나의 변환기(transducer)(142), 적어도 하나의 오디오 드라이버(144), 적어도 하나의 스피커(146) 및 적어도 하나의 전처리기(148)를 포함할 수 있다.
센서(140)는 마이크로폰 또는 오디오 입력 센서를 포함할 수 있다. 센서(140)는 또한 GPS 센서, 근접 센서, 주변 광 센서, 온도 센서, 모션 센서, 가속도계 또는 자이로 스코프 중 적어도 하나를 포함할 수 있다. 변환기(142)는 오디오 입력을 전자 신호로 변환할 수 있다. 오디오 드라이버(144)는 오디오 입력을 처리하거나 오디오 출력을 제공하기 위해, 클라이언트 컴퓨팅 장치(104)의 다른 컴포넌트 중에서 센서(140), 변환기(142) 또는 오디오 드라이버(144)를 제어하기 위해 클라이언트 컴퓨팅 장치(104)의 하나 이상의 프로세서에 의해 실행되는 스크립트 또는 프로그램을 포함할 수 있다. 스피커(146)는 오디오 출력 신호를 전송(또는 렌더링)할 수 있다.
전처리기 컴포넌트(148)는 오디오 드라이버(144), 변환기(142) 및 센서(140)와 결합될 수 있다. 전처리기 컴포넌트(148)는 신호가 데이터 처리 시스템(102)으로 전송되거나 클라이언트 컴퓨팅 장치(104)의 다른 컴포넌트에 의해 처리되기 전에 수신된 신호에 대해 기능을 수행하는 하나 이상의 프로세서이거나 이를 포함할 수 있다. 예를 들어, 전처리기 컴포넌트(148)는 변환기(142)에 의해 검출된 입력 오디오 신호(또는 클라이언트 컴퓨팅 장치(104)에 의해 수신된 입력 오디오 신호)를 필터링하여 필터링된 입력 오디오 신호를 생성할 수 있다. 전처리기(148)에 의한 필터링은 입력 오디오 신호에서 노이즈(잡음)을 필터링(또는 감소), 입력 오디오 신호의 소정 주파수 증폭, 입력 오디오 신호의 소정 주파수 감소, 또는 입력 오디오 신호의 업 샘플링 또는 다운 샘플링을 포함할 수 있다. 전처리기 컴포넌트(148)는 필터링된 입력 오디오 신호를 데이터 패킷으로 변환하고, 네트워크(105)를 통해 데이터 패킷을 데이터 처리 시스템(102)으로 전송할 수 있다.
클라이언트 컴퓨팅 장치(104)는 (센서(140) 또는 변환기(142)를 통해) 클라이언트 컴퓨팅 장치(104)에 오디오 입력으로서 음성 질의를 입력하는 최종 사용자와 연관될 수 있고, 데이터 처리 시스템(102)(또는 컨텐츠 제공자 컴퓨팅 장치(컨텐츠 제공자 장치)(106))으로부터 제공될 수 있는 컴퓨터 생성 음성(컴퓨터가 생성한 음성)의 형태로 오디오 출력을 수신한다. 클라이언트 컴퓨팅 장치(104)는 스피커(146)로부터의 오디오출력을 출력할 수 있다. 컴퓨터 생성 음성은 실제 사람 또는 컴퓨터 생성 언어로부터의 녹음을 포함할 수 있다.
컨텐츠 제공자 컴퓨팅 장치(디바이스)(106)는 클라이언트 컴퓨팅 장치(104)에 의해 오디오 출력 디지털 컴포넌트로서 디스플레이하기 위한 오디오 기반 디지털 컴포넌트를 제공할 수 있다. 디지털 컴포넌트에는“택시를 오더하겠습니까?”라는 음성 기반 메시지와 같은 상품 또는 서비스에 대한 제안이 포함될 수 있다. 예를 들어, 컨텐츠 제공자 컴퓨팅 장치(106)는 음성 기반 질의에 응답하여 제공될 수있는 일련의 디지털 오디오 컴포넌트를 저장하는 메모리를 포함할 수 있다. 컨텐츠 제공자 컴퓨팅 장치(106)는 또한 오디오 기반 디지털 컴포넌트(또는 다른 디지털 컴포넌트)를 데이터 처리 시스템(102)에 제공하여 클라이언트 컴퓨팅 장치(104)로의 전송을 위해 데이터 저장소(122)에 저장될 수 있다. 데이터 처리 시스템(102)은 디지털 오디오 컴포넌트를 선택하고 디지털 오디오 컴포넌트를 클라이언트 컴퓨팅 장치(104)에 제공(또는 컨텐츠 제공자 컴퓨팅 장치(106)에 제공하도록 지시할 수 있음). 디지털 컴포넌트는 클라이언트 컴퓨팅 장치(104)의 사용자를 인증하기 위해 생성되는 보안 질문을 포함할 수 있다. 오디오 기반 디지털 컴포넌트는 독점적으로 오디오일 수 있거나 텍스트, 이미지 또는 비디오 데이터와 결합될 수 있다.
데이터 저장소(122)는 하나 이상의 로컬 또는 분산 데이터베이스를 포함할 수 있고 데이터베이스 관리 시스템을 포함할 수 있다. 데이터 저장소(122)는 컴퓨터 데이터 저장소 또는 메모리를 포함할 수 있고, 다른 데이터 중에서 하나 이상의 오디오 식별 모델(124)(도 1에서 AIM으로 약칭됨), 프로파일(126), 컨텐츠 데이터(128) 또는 템플릿(130)을 저장할 수 있다. 컨텐츠 데이터(128)는 클라이언트 컴퓨팅 장치(104)와의 하나 이상의 통신 세션의 일부일 수 있는 입력 오디오 메시지뿐만 아니라 디지털 컴포넌트 또는 관련 메타 데이터를 포함할 수 있다. 템플릿(130)은 클라이언트 컴퓨팅 장치(104)와의 통신에 사용될 수 있는 데이터 구조를 포함할 수 있다. 템플릿(130)은 데이터 처리 시스템(102)이 예를 들어 컨텐츠 데이터(128), 디지털 컴포넌트 또는 다른 데이터로 채울 수 있는 하나 이상의 플레이스 홀더를 포함할 수 있다.
인증 컴포넌트(114)는 오디오 인식 모델(124)을 사용하여 음성 인식을 수행 할 수 있다(예를 들어, 사용자 동의와 함께 입력 오디오 신호에 기초하여 제2 사용자로부터 제1 사용자를 식별). 오디오 식별 모델(124)은 주어진 사용자의 음성 특성을 사용자 동의를 특징으로 하는 데이터 구조를 포함할 수 있다. 예를 들어, 오디오 식별 모델(124)은 사용자의 음성 스펙트로그램을 포함하는 음성프린트(voiceprint)일 수 있다. 오디오 식별 모델(124)은 사용자가 말할 때 사용할 수있는 주파수 및 패턴을 나타낼 수 있다. 인증 컴포넌트(114)는 사용자 검증(예를 들어, 사용자가 사용자와 연관된 오디오 식별 모델(124)과 입력 신호의 일대일 매칭에 있다고 주장하는 사용자를 결정하기 위해) 또는 사용자 식별(예를 들어, 입력 오디오 신호를 N 개의 오디오 식별 모델(124)에 전달하여 어느 것이 사용자일 가능성이 가장 큰지 결정함으로써, 매치(l-to-A match )에서 사용자를 사용자 동의(consent)로 식별하기 위해)을 위해 오디오 식별 모델(124)을 사용할 수 있다.
데이터 처리 시스템(102)은 사용자에게 하나 이상의 샘플 입력 오디오 신호를 제공하도록 요청함으로써 주어진 사용자에 대한 오디오 식별 모델(124)을 생성 할 수 있다. 샘플 입력 오디오 신호는 텍스트 독립적(예를 들어, 사용자가 랜덤 샘플을 제공함) 또는 텍스트 의존적(예를 들어, 사용자가 미리 정의된 스크립트를 판독함으로써 입력 오디오 신호를 생성함)일 수 있다. 동의하면, 사용자는 샘플 입력 오디오 신호를 클라이언트 컴퓨팅 장치(104)를 통해 데이터 처리 시스템(102)에 제공할 수 있다. 일단 생성되면, 데이터 처리 시스템(102)은 샘플 입력 신호를 전송 한 클라이언트 컴퓨팅 장치(104)의 표시(indication)와 관련하여 오디오 식별 모델(124)을 데이터 저장소(122)에 저장할 수 있다. 일부 구현들에서, 사용자가 명시적인 승인을 제공할 때까지, 인증 컴포넌트(114)는 소정의 클라이언트 컴퓨팅 장치(104)에서 수신된 샘플 입력 오디오 신호들을 이용하여 생성된 오디오 식별 모델들(124)로 클라이언트 컴퓨팅 장치(104)로부터의 입력 오디오 신호들을 처리할 수 있다. 예를 들어, 명시적인 승인없이, 인증 컴포넌트(114)는 다른 사용자 및 다른 클라이언트 컴퓨팅 장치(104)로부터의 입력 오디오 샘플을 처리하기 위해 제1 사용자의 오디오 식별 모델(124)을 사용하지 않는다.
데이터 처리 시스템(102)은 각각의 오디오 식별 모델(124)을 프로파일(126)과 연관시킬 수 있다. 예를 들어, 오디오 식별 모델(124)은 프로파일(126) 또는 클라이언트 컴퓨팅 장치(104)에 대응할 수 있다. 프로파일(126)은 데이터 처리 시스템(102)이 입력 질의(쿼리)에 응답하여 디지털 컴포넌트를 선택할 때 사용할 수 있는 정책, 데이터, 장치 정보 또는 데이터 구조를 포함할 수 있다. 예를 들어, 프로필에는 디지털 컴포넌트 선택을 위한 선호도 또는 규칙이 포함될 수 있다. 프로파일(126) 및 오디오 식별 모델(124)은 데이터 처리 시스템(102), 클라이언트 컴퓨팅 장치(104) 또는 둘 다에 저장될 수 있다.
데이터 처리 시스템(102)은 입력 오디오 신호를 데이터 처리 시스템(102)의 인터페이스(110)에 전달하고 그리고 클라이언트 컴퓨팅 장치(104)의 컴포넌트를 구동시켜 출력 오디오 신호를 렌더링하기 위한 앱과 같은 클라이언트 컴퓨팅 장치(104)에 설치된 애플리케이션, 스크립트 또는 프로그램을 포함할 수 있다. 데이터 처리 시스템(102)은 입력 오디오 신호를 포함하거나 식별하는 데이터 패킷 또는 다른 신호를 수신할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 입력 오디오 신호를 수신하기 위해 NLP 컴포넌트(112)를 실행 또는 동작시킬 수 있다. 변환기(142) 또는 센서(140)는 입력 오디오 신호를 검출할 수 있다. NLP 컴포넌트(112)는 입력 신호를 저장된 대표 오디오 파형 세트와 비교하고 가장 근접한 매칭을 선택함으로써 입력 오디오 신호를 인식된 텍스트로 변환 또는 파싱(parse)할 수 있다. 대표 파형은 많은 입력 신호 세트에서 생성될 수 있다. 사용자는 일부 입력 신호를 제공할 수 있다. 오디오 신호가 인식된 텍스트로 변환되면, NLP 컴포넌트(112)는 시스템(100)이 수행할 수 있는 액션과 함께, 예를 들어 학습 단계를 통해 연관된 단어에 텍스트를 매칭시킬 수 있다. 변환기(142), 오디오 드라이버(144) 또는 다른 컴포넌트를 통해, 클라이언트 컴퓨팅 장치(104)는 입력 오디오 신호를 (예를 들어, 네트워크(105)를 통해) 데이터 처리 시스템(102)에 제공하여 NLP 컴포넌트(112)에 수신되어 제공될 수 있거나 또는 데이터 데이터 저장소(122)에 컨텐츠 데이터(128)로서 저장될 수 있다.
NLP 컴포넌트(112)는 입력 오디오 신호를 획득할 수 있다. 입력 오디오 신호로부터, NLP 컴포넌트(112)는 요청에 대응하는 적어도 하나의 요청 또는 적어도 하나의 트리거 키워드를 식별할 수 있다. 요청은 입력 오디오 신호의 인텐트(intent) 또는 주제(subject matter )를 나타낼 수 있다. 트리거 키워드는 수행될 수 있는 액션 유형을 표시할 수 있다. 예를 들어, NLP 컴포넌트(112)는 영화 및 저녁 식사에 참석하기 위해 저녁 동안 집을 떠나는 적어도 하나의 요청을 식별하기 위해 입력 오디오 신호를 파싱(분석)할 수 있다. 트리거 키워드는 적어도 하나의 단어, 구, 어근 또는 부분 단어 또는 수행할 액션을 나타내는 파생어를 포함할 수 있다. 예를 들어, 입력 오디오 신호에서 트리거 키워드 "go" 또는 "to go to"는 전송이 필요함을 나타낼 수 있다. 이 예에서, 입력 오디오 신호(또는 식별된 요청)는 전송를 위한 인텐트(intent)를 직접 표현하지 않으며; 그러나 트리거 키워드는 전송이 요청에 의해 표시되는 하나 이상의 다른 액션에 대한 보조 액션임을 나타낸다.
컨텐츠 선택기 컴포넌트(118)는 데이터 저장소(122)로부터 디지털 컴포넌트를 확득할 수 있으며, 여기서 컨텐츠 데이터(128)의 일부로서 저장될 수 있다. 컨텐츠 선택기 컴포넌트(118)는 예를 들어 컨텐츠 데이터(128)로부터 디지털 컴포넌트를 선택하거나 식별하기 위해 데이터 저장소(122)에 질의할 수 있다. 컨텐츠 선택 컴포넌트(118)는 입력 질의에 응답하여 커스텀 디지털 컴포넌트를 선택하거나 생성하기 위해 선택된 프로파일(126)을 사용할 수 있다. 컨텐츠 선택기 컴포넌트(118)는 또한 컨텐츠 제공자 컴퓨팅 장치(106)로부터 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 데이터 처리 시스템(102)으로부터 수신된 질의에 응답하여, 컨텐츠 제공자 컴퓨팅 장치(106)는 클라이언트 컴퓨팅 장치(104)에 의한 최종 출력을 위해 디지털 컴포넌트를 데이터 처리 시스템(102)(또는 그 컴포넌트)에 제공할 수 있다.
오디오 신호 생성기 컴포넌트(120)는 디지털 컴포넌트를 포함하는 출력 신호를 생성하거나 그렇지 않으면 획득할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 오디오 신호 생성기 컴포넌트를 실행하여 디지털 컴포넌트에 대응하는 출력 신호를 발생하거나 생성할 수 있다. 데이터 처리 시스템(102)의 인터페이스(110)는 컴퓨터 네트워크(105)를 통해 출력 신호를 포함하는 하나 이상의 데이터 패킷을 클라이언트 컴퓨팅 장치(104)에 제공하거나 전송할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 데이터 저장소(122) 또는 오디오 신호 생성기 컴포넌트(120)로부터 클라이언트 컴퓨팅 장치(104)로 출력 신호를 제공할 수 있다. 인터페이스(110)는 데이터 처리 시스템(102)이 데이터를 수신 및 송신할 수 있게 하는 네트워크 포트 데이터 포트 또는 무선 라디오와 같은 하드웨어 인터페이스일 수 있다. 인터페이스(110)는 그래픽 기반일 수 있다. 예를 들어, 인터페이스(110)는 사용자가 데이터를 입력하거나 데이터 처리 시스템(102)과 상호 작용할 수 있게 하는 그래픽 사용자 인터페이스일 수 있다. 데이터 처리 시스템(102)은 또한 데이터 패킷 전송을 통해 컨텐츠 제공자 컴퓨팅 장치(106)에 출력 신호를 클라이언트 컴퓨팅 장치(104)에 제공하도록 지시할 수 있다. 출력 신호는 데이터 처리 시스템(102) (또는 다른 컴퓨팅 장치)으로부터 클라이언트 컴퓨팅 장치(104)로 하나 이상의 데이터 패킷(또는 다른 통신 프로토콜)로서 획득, 생성, 변환 또는 전송될 수 있다.
컨텐츠 선택기 컴포넌트(118)는 실시간 컨텐츠 선택 프로세스의 일부로서 입력 오디오 신호의 동작을 위한 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 디지털 컴포넌트는 입력 오디오 신호에 직접 응답하여 대화식으로 오디오 출력으로서 전송하기 위해 클라이언트 컴퓨팅 장치에 제공될 수 있다. 디지털 컴포넌트를 식별하고 클라이언트 컴퓨팅 장치(104)에 디지털 컴포넌트를 제공하기 위한 실시간 컨텐츠 선택 프로세스는 입력 오디오 신호 시점으로부터 1분 이내에 발생할 수 있으며 실시간으로 간주된다.
디지털 컴포넌트에 대응하는 출력 신호, 예를 들어 인터페이스(110) 및 컴퓨터 네트워크(105)를 통해 클라이언트 컴퓨팅 장치(104)로 전송된 오디오 신호 생성기 컴포넌트(120)에 의해 획득되거나 생성된 출력 신호는 클라이언트 컴퓨팅 장치(104)로 하여금 오디오 드라이버(144)를 실행하여 스피커(146)를 구동시킴으로써 출력 신호에 대응하는 음향 파를 생성하게 할 수 있다. 음향 파는 디지털 컴포넌트에 대응하는 단어를 포함할 수 있다.
데이터 처리 시스템의 직접 행동(액션) API(116)는 트리거 키워드에 기초하여 액션 데이터 구조를 생성할 수 있다. 직접 행동 API(116)는 데이터 처리 시스템(102)에 의해 결정된 바와 같이, 최종 사용자의 의도(인텐트)를 만족시키기 위해 특정 액션을 실행할 수 있다. 입력에 지정된 액션에 따라, 직접 액션 API(116)는 사용자 요청을 이행하는데 필요한 파라미터를 식별하는 코드 또는 대화 스크립트를 실행할 수 있다. 요청에 응답하여 액션 데이터 구조를 생성할 수 있다.
직접 액션 API(116)는 데이터 저장소(122)로부터 컨텐츠 데이터(128)(또는 파라미터, 정책 또는 디지털 컴포넌트)뿐만 아니라, 자동차 공유 서비스에서 차량을 예약하기 위해 위치, 시간, 사용자 계정, 물류 또는 다른 정보를 결정하도록 클라이언트 컴퓨팅 장치(104)로부터 최종 사용자 동의를 받아 수신된 데이터를 확득할 수 있다. 콘텐츠 데이터(128)는 액션 데이터 구조에 포함될 수 있다. 액션 데이터 구조에 포함된 컨텐츠가 인증에 사용되는 최종 사용자 데이터를 포함하는 경우, 데이터는 데이터 저장소(122)에 저장되기 전에 해싱 함수를 통해 전달될 수 있다.
데이터 처리 시스템(102)은 또한 인증 컴포넌트(114)를 포함할 수 있다. 인증 컴포넌트(114)는 입력 오디오 신호에 기초하여 사용자를 인식하거나 식별할 수 있다. 사용자를 식별하거나 인식하는 경우, 인증 컴포넌트(114)는 컨텐츠 선택기 컴포넌트(118)가 디지털 컴포넌트의 선택에 사용할 수 있는 프로파일(126)을 선택할 수 있다.
인증 컴포넌트(114)는 상이한 클라이언트 컴퓨팅 장치(104)가 오디오 식별 모델(124)을 공유할 수 있게 한다. 예를 들어, 하나 이상의 오디오 식별 모델(124)이 각각의 클라이언트 컴퓨팅 장치(104)에 대해 생성되고 이와 관련될 수 있다. 인증 컴포넌트(114)는 각각의 오디오 식별 모델(124)을 클라이언트 컴퓨팅 장치(104)의 다른 사용자와 연관시킬 수 있다. 오디오 식별 모델(124)의 공유없이, 소정의 클라이언트 컴퓨팅 장치(104)는 그 오디오 식별 모델(124)에만 액세스할 수 있다. 예를 들어, 클라이언트 컴퓨팅 장치(104)는 각각의 클라이언트 컴퓨팅 장치(104)로부터의 오디오 데이터를 사용하여 생성된 오디오 식별 모델(124)에 액세스할 수 있지만 다른 클라이언트 컴퓨팅 장치(104)로부터의 오디오 데이터를 사용하여 생성된 오디오 식별 모델(124)에 액세스할 수는 없다.
오디오 식별 모델(124)을 공유하는 것은 제2 클라이언트 컴퓨팅 장치(104)로부터 수신된 입력 오디오 신호와 함께 제1 클라이언트 컴퓨팅 장치(104)의 오디오 식별 모델(124)을 사용하기 위해 인증 컴포넌트(114) 액세스를 제공하는 것을 포함할 수 있다. 공유하는 것은 제1 사용자와 관련된 클라이언트 컴퓨팅 장치(104)에 제2 사용자와 관련된 오디오 식별 모델(124)에 대한 액세스를 제공하는 것을 포함할 수 있다. 예를 들어, 제1 사용자는 제1 및 제2 클라이언트 컴퓨팅 장치(104)의 등록된 사용자일 수 있다. 제1 및 제2 클라이언트 컴퓨팅 장치(104)는 각각의 클라이언트 컴퓨팅 장치(104)에 대해 공동으로 또는 별도로 생성된 오디오 식별 모델(124)에 액세스할 수 있다. 공동 오디오 식별 모델(124)은 제1 및 제2 클라이언트 컴퓨팅 장치(104)(예를 들어, 하나 이상의 클라이언트 컴퓨팅 장치(104))로부터의 오디오 입력 데이터를 포함할 수 있고 별개의 오디오 식별 모델(124)은 단일 클라이언트 컴퓨팅 장치로부터의 오디오 입력 데이터만을 포함할 수 있다. 제2 사용자는 제3 및 제4 클라이언트 컴퓨팅 장치(104)의 등록된 사용자일 수 있다. 이 예에서, 인증 컴포넌트(114)가 제1 사용자의 오디오 식별 모델(124)을 제2 사용자와 공유하는 경우, 인증 컴포넌트(114)는 제1 및 제2 클라이언트 컴퓨팅 장치(104)와 관련된 오디오 식별 모델(124)을 사용하여, 제3 및 제4 클라이언트 컴퓨팅 장치(104)에 의해 수신된 입력 오디오 신호를 처리(프로세싱)할 수 있다.
오디오 식별 모델(124)을 공유하는 것은 클라이언트 컴퓨팅 장치(104)에 상이한 클라이언트 컴퓨팅 장치(104)의 오디오 식별 모델(124)에 대한 액세스를 제공하는 인증 컴포넌트(114)의 프로세스를 포함할 수 있다(여기서, 다른 클라이언트 컴퓨팅 장치(104)는 다른 사용자와 연관되거나 연관되지 않을 수 있음). 예를 들어, 제1 클라이언트 컴퓨팅 장치(104)는 제1 오디오 식별 모델(124)에 액세스할 수 있고, 제2 클라이언트 컴퓨팅 장치(104)는 제2 오디오 식별 모델(124)에 액세스할 수 있다. 제1 오디오 식별 모델(124)을 제2 클라이언트 컴퓨팅 장치(104)와 공유하는 것은 제2 클라이언트 컴퓨팅 장치(104)가 제1 오디오 식별 모델(124)에 액세스 할 수 있게 할 수 있다. 오디오 식별 모델(124)에 대한 액세스를 제공하는 것은 클라이언트 컴퓨팅 장치(104)에 오디오 식별 모델(124)에 대한 직접 액세스를 제공하거나(예를 들어, 오디오 식별 모델(124)은 클라이언트 컴퓨팅 장치(104)로 다운로드되거나 전송된다) 오디오 식별 모델(124)에 대한 간접 액세스를 제공하는 것을 포함할 수 있다. 예를 들어, 간접 액세스를 제공할 때, 공유 오디오 식별 모델(124)은 데이터 저장소(122)에 남아있을 수 있다(예를 들어, 오디오 식별 모델(124)의 사본(copy)은 오디오 식별 모델(124)이 공유되는 클라이언트 컴퓨팅 장치(104)로 전송되지 않는다). 이 예에서, 간접 액세스가 제공되는 경우, 인증 컴포넌트(114)는 오디오 식별 모델(124)이 공유되는 클라이언트 컴퓨팅 장치(104)로부터 수신된 입력 오디오 신호의 분석에서 공유된 오디오 식별 모델(124)을 사용하도록 허가된다.
인증 컴포넌트(114)는 제2 클라이언트 컴퓨팅 장치(104)와 연관된 사용자로부터 명시적인 승인을 받은 후에만 제2 클라이언트 컴퓨팅 장치(104)의 오디오 식별 모델(124)에 대한 액세스를 제1 클라이언트 컴퓨팅 장치(104)에 제공할 수 있다. 예를 들어, 기본적으로 클라이언트 컴퓨팅 장치(104)는 다른 사용자 또는 클라이언트 컴퓨팅 장치(104)와 관련된 오디오 식별 모델(124)에 액세스할 수 없다.
사용자는 오디오 식별 모델(124)의 공유를 시작할 수 있다. 클라이언트 컴퓨팅 장치(104)를 통해 사용자는 데이터 처리 시스템(102)이 사용자와 관련된 오디오 식별 모델(124)에 대한 액세스를 제공하도록 허용된 클라이언트 컴퓨팅 장치(104)의 식별자를 추가할 수 있다. 예를 들어, 사용자의 클라이언트 컴퓨팅 장치(104) (예를 들어, 모바일 장치)에 의해 실행되는 그래픽 사용자 인터페이스를 통해, 사용자는 친구의 스피커 기반 어시스턴트 장치의 ID를 입력할 수 있다. 인증 컴포넌트(114)는 그 후 친구의 스피커 기반 어시스턴트 장치에 사용자와 관련된 하나 이상의 오디오 식별 모델(124)에 대한 액세스를 제공할 수 있다.
인증 컴포넌트(114)는 오디오 식별 모델(124)의 공유를 시작할 수 있다. 인증 컴포넌트(114)는 하나 이상의 사용자 또는 클라이언트 컴퓨팅 장치(104) 사이의 연관에 기초하여 공유를 시작할 수 있다. 예를 들어, "가족 그룹" 또는 다른 소셜 그룹에 사용자를 추가한 후, 인증 컴포넌트(114)는 하나 이상의 오디오 식별 모델(124)을 그룹에 추가된 사용자와 공유할 수 있는 권한을 사용자에게 프롬프트할 수 있다. 다른 예에서, 인증 컴포넌트(114)는 사용자의 클라이언트 컴퓨팅 장치(104) 중 하나가 다른 클라이언트 컴퓨팅 장치(104)의 미리 결정된 근접거리(proximity), 범위 또는 거리(distance) 내에 있을 때 하나 이상의 오디오 식별 모델(124)을 공유할 수 있는 권한을 사용자에게 프롬프트할 수 있다.
예를 들어, 클라이언트 컴퓨팅 장치(104)는 (사용자로부터 권한(허가)를 받은 후) 주기적으로 위치 정보를 데이터 처리 시스템(102)에 전송할 수 있다. 위치 정보는 (예를 들어, 셀룰러 삼각 측량 또는 온-보드 GPS 수신기의 사용을 통해) 클라이언트 컴퓨팅 장치(104)에 의해 결정된 물리적 위치 정보를 포함할 수 있다. 위치 정보는 클라이언트 컴퓨팅 장치(104)의 위치에 대한 근사치를 포함할 수 있다. 예를 들어, Wi-Fi 네트워크 이름 또는 IP 주소는 대략적인 또는 상대적 위치 정보를 제공하기 위해 분리(sever)할 수 있다.
인증 컴포넌트(114)는 예를 들어 인터페이스(110)를 통해 클라이언트 컴퓨팅 장치(104)의 위치 정보를 수신할 수 있다. 인증 컴포넌트(114)는 위치 정보를 전송 한 클라이언트 컴퓨팅 장치(104)를 오디오 식별 모델(124)과 연관(관련)시킬 수 있다. 연관된(관련된) 오디오 식별 모델(124)은 클라이언트 컴퓨팅 장치(104)에 대해 또는 제2 클라이언트 컴퓨팅 장치(104)에 대해 생성된 오디오 식별 모델(124)일 수 있다. 예를 들어, 위치 정보를 전송한 클라이언트 컴퓨팅 장치(104)는 모바일 장치 일 수 있다. 연관된 오디오 식별 모델(124)은 모바일 장치를 위해 생성된 오디오 식별 모델(124) 또는 위치 정보(예: 사용자의 집)를 전송한 클라이언트 컴퓨팅 장치(104)와는 다른 위치에서 현재 사용자의 스피커 어시스턴트 장치에 대해 생성된 오디오 식별 모델(124)일 수 있다.
인증 컴포넌트(114)는 (위치 정보를 전송한) 클라이언트 컴퓨팅 장치(104)의 위치가 제2 클라이언트 컴퓨팅 장치(104)에 대해 미리 결정된 거리 내에 있다고 결정할 수 있다. 미리 결정된 거리는 평균 방, 집 또는 건물의 크기일 수 있어서, 인증 컴포넌트(114)는 2개의 클라이언트 컴퓨팅 장치(104)가 각각 동일한 방, 집 또는 건물 내에 있을 때 2개의 클라이언트 컴퓨팅 장치(104)가 미리 결정된 거리 내에 있다고 결정한다. 2개의 클라이언트 컴퓨팅 장치(104)가 미리 결정된 거리 내에 있는지를 결정하는 것은 2개의 클라이언트 컴퓨팅 장치(104)의 상대 위치에 기초 할 수도 있다. 예를 들어, 인증 컴포넌트(114)는 2개의 클라이언트 컴퓨팅 장치(104)가 동일한 네트워크(예: Wi-Fi 네트워크) 상에 있거나 예를 들어 애드혹 Wi-Fi 네트워크 또는 블루투스 연결을 통해 서로 연결되는 경우, 2개의 클라이언트 컴퓨팅 장치(104)가 서로 비교적 근접한 거리 내에 있다고 결정할 수 있다.
초기에, 인증 컴포넌트(114)는 제2 클라이언트 컴퓨팅 장치(104)를 오디오 식별 모델(124)과는 다른 오디오 식별 모델(124)과 연관시킬 수 있으며, 인증 컴포넌트(114)는 제1 클라이언트 컴퓨팅 장치(104)와 연관된다.
제1 클라이언트 컴퓨팅 장치(104)의 오디오 식별 모델(124)을 제2 클라이언트 컴퓨팅 장치(104)와 공유하기 전에, 인증 컴포넌트(114)는 인터페이스(110)를 통해 인증 통지를 제1 클라이언트 컴퓨팅 장치(104)로 전송할 수 있다. 인증 통지는 인증 컴포넌트(114)가 제1 클라이언트 컴퓨팅 장치(104)와 연관된 하나 이상의 오디오 식별 모델(124)을 제2 클라이언트 컴퓨팅 장치(104)와 공유할 수 있는 권한을 요청할 수 있다. 인증 컴포넌트(114)는 제1 및 제2 클라이언트 컴퓨팅 장치(104)가 서로 소정 거리 내에 있다고 결정하는 인증 컴포넌트(114)에 기초하여 인증 통지를 인터페이스(110)를 통해 제1 클라이언트 컴퓨팅 장치(104)에 전송할 수 있다. 인증 통지는 푸시 통지, 문자 메시지, 이메일 메시지, 애플리케이션 통지 또는 다른 유형의 전자 통신일 수 있다. 사용자가 (제1 클라이언트 컴퓨팅 장치(104) 또는 다른 장치를 통해) 인증 통지를 선택, 확인 또는 그렇지 않으면 응답 할 때, 제1 클라이언트 컴퓨팅 장치(104)는 승인 메시지를 인증 컴포넌트(114)에 전송할 수 있다. 승인 메시지의 수신에 응답하여, 인증 컴포넌트(114)는 제1 클라이언트 컴퓨팅 장치(104)의 하나 이상의 오디오 식별 모델(124)을 제2 클라이언트 컴퓨팅 장치(104)와 연관시킬 수 있다.
제1 클라이언트 컴퓨팅 장치의 클라이언트 오디오 식별 모델(124)을 제2 클라이언트 컴퓨팅 장치(104)와 연관시키는 것은, 제1 클라이언트 장치의 위치가 제2 클라이언트와의 미리 결정된 거리 내에 있다는 결정에 기초하여, 제1 클라이언트 컴퓨팅 장치(104)의 하나 이상의 오디오 식별 모델(124)에 대한 액세스를 제2 클라이언트 컴퓨팅 장치(104)에 제공하는 것을 포함할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 각각의 클라이언트 컴퓨팅 장치(104)가 액세스할 수 있는 오디오 식별 모델(124)을 나타내는 데이터 구조를 유지할 수 있다. 오디오 식별 모델(124)에 대한 액세스를 제공하는 것은 클라이언트 컴퓨팅 장치(104)가 이제 오디오 식별 모델(124)에 대한 액세스를 가지고 있음을 나타내도록 하는 테이블에 대한 참조를 추가하는 것을 포함할 수 있다(또는 오디오 식별 모델(124)은 클라이언트 컴퓨팅 장치(104)로부터 입력 오디오 신호를 분석하는데 사용될 수 있음). 일부 구현들에서, 오디오 식별 모델(124)에 대한 액세스를 제공하는 것은 클라이언트 컴퓨팅 장치(104)에 오디오 식별 모델(124)을 전송하거나 또는 클라이언트 컴퓨팅 장치(104)에 의해 액세스 가능한 컴퓨터 판독 가능 메모리에 오디오 식별 모델(124)을 저장하는 것을 포함할 수 있다.
인증 컴포넌트(114)가 제2 클라이언트 컴퓨팅 장치(104)에 제1 클라이언트 컴퓨팅 장치(104)의 오디오 식별 모델(124)에 대한 액세스를 제공하면, 제2 클라이언트 컴퓨팅 장치(104)는 제2 클라이언트 컴퓨팅 장치(104)에 의해 수신된 입력 오디오 신호의 스피커를 식별하는데 제1 클라이언트 컴퓨팅 장치의 오디오 식별 모델(124)을 사용할 수 있다. 클라이언트 컴퓨팅 장치(104)는 인증 컴포넌트(114)의 인스턴스를 실행하여 로컬에서 결정을 내릴 수 있거나 또는 인증 컴포넌트(114)의 데이터 처리 시스템의 인스턴스가 결정을 내릴 수 있다.
일례에서, 제2 클라이언트 컴퓨팅 장치(104)는 오디오 기반 입력 질의를 검출할 수있는 스피커 기반 어시스턴트 장치일 수 있다. 스피커 기반 어시스턴트 장치는 오디오 기반 입력 질의를 전처리기(148)가 입력 오디오 신호로서 처리하고 데이터 처리 시스템(102)에 전송할 수 있는 전자 신호로 변환할 수 있다. 데이터 처리 시스템(102)은 입력 오디오 신호에 기초하여 디지털 컴포넌트를 클라이언트 컴퓨팅 장치(104)에 제공할 수 있다. 데이터 처리 시스템(102)은 질의를 말한 사용자의 식별에 기초하여 디지털 컴포넌트를 선택할 수 있다. 인증 컴포넌트(114)는 오디오 식별 모델(124)(공유된 오디오 식별 모델(124) 포함)을 사용하여 어느 사용자가 질의를 말했는지를 결정할 수 있다.
어느 사용자가 질의(쿼리)를 말했는지를 결정하기 위해, 인증 컴포넌트(114)는 상이한 식별 점수를 생성하기 위해 각각의 오디오 식별 모델(124)로 입력 오디오 신호를 처리할 수 있다. 인증 컴포넌트(114)는 입력 오디오 신호 또는 그 일부를 각각의 오디오 식별 모델(124)에 입력으로서 사용할 수 있다. 예를 들어, 스피커 기반 어시스턴트 장치는 스피커 기반 어시스턴트 장치의 소유자를 위한 제1 오디오 식별 모델(124) 및 현재 스피커 기반 어시스턴트 장치와 공유하고 있는 소유자의 친구를 위한 제2 오디오 식별 모델(124)을 포함할 수 있다. 입력 오디오 신호를 수신하는 것에 응답하여, 인증 컴포넌트(114)는 입력 오디오 신호를 친구의 오디오 식별 모델(124) 및 소유자의 오디오 식별 모델(124)에 입력할 수 있다. 각각의 오디오 식별 모델(124)은 각각의 오디오 식별 모델(124)의 소유자가 입력 오디오 신호를 생성했을 가능성을 나타낼 수 있는 0과 1 사이의 식별 점수를 생성할 수 있다. 인증 컴포넌트(114)는 입력 오디오 신호를 수신하고 식별 점수를 생성하는 신경망, 은닉 마르코프 모델, 가우스 혼합 모델, 또는 패턴 매칭 알고리즘을 포함할 수 있다.
데이터 처리 시스템(102)은 상이한 프로파일(126)과 관련하여 사용자 또는 오디오 식별 모델(124) 각각을 저장할 수 있다. 인증 컴포넌트(114)는 상이한 후보 프로파일들로부터 프로파일(126)을 선택할 수 있다. 후보 프로파일들은 오디오 입력 파일을 데이터 처리 시스템(102)에 전송한 클라이언트 컴퓨팅 장치(104) 각각의 프로파일(126)일 수있다. 위의 예에서, 후보 프로파일들은 스피커 기반 어시스턴트 장치 소유자 및 친구의 프로파일(126)이다.
인증 컴포넌트(114)는 입력 오디오 신호를 각각의 오디오 식별 모델(124)로 처리함으로써 인증 컴포넌트(114)가 생성하는 식별 점수에 기초하여 후보 프로파일들로부터 프로파일(126)을 선택할 수 있다. 인증 컴포넌트(114)는 식별 점수들을 랭킹화(순위 매김)하여 질의를 말한 사용자의 프로파일일 가능성이 가장 높은 프로파일(126)을 선택할 수 있다.
오디오 식별 모델(124) 각각은 메타 데이터를 포함할 수 있다. 메타 데이터는 오디오 식별 모델(124)의 에러율, 오디오 식별 모델(124)의 생성에 사용된 센서 유형의 표시(indication), 오디오 식별 모델(124)을 생성하는데 사용된 데이터의 양의 표시, 또는 오디오 식별 모델(124)의 생성에 사용되는 다수의 센서를 포함할 수 있다. 인증 컴포넌트(114)는 각각의 오디오 식별 모델(124)에 대한 메타 데이터에 기초하여 프로파일의 선택 또는 식별 점수의 순위를 결정할 수 있다.
예를 들어, 입력 오디오 신호가 주어지면, 제1 오디오 식별 모델(124)은 0.9의 식별 점수를 생성할 수 있고, 제2 오디오 식별 모델(124)은 0.87의 식별 점수를 생성할 수 있다. 제1 오디오 식별 모델(124)은 65%의 정확도를 가질 수 있고, 제2 오디오 식별 모델(124)은 99%의 정확도를 가질 수 있다. 이 예에서, 인증 컴포넌트(114)는 제2 오디오 식별 모델(124)이 제1 오디오 식별 모델(124)보다 정확도가 높기 때문에 제2 오디오 식별 모델(124)이 더 낮은 식별 점수를 생성 하였음에도 불구하고 제2 오디오 식별 모델(124)과 연관된 프로파일을 선택할 수 있다.
인증 컴포넌트(114)는 공유된 오디오 식별 모델(124)에 대한 액세스를 취소(revoke)할 수 있다. 인증 컴포넌트(114)는 사용자에 의해 지시될 때 오디오 식별 모델(124)에 대한 액세스를 취소할 수 있다. 예를 들어, 사용자는 인증 컴포넌트(114)에 사용자의 오디오 식별 모델(124)에 대한 하나 이상의 클라이언트 컴퓨팅 장치(104)의 액세스를 취소(철회)하도록 지시하는 취소(철회) 메시지를 데이터 처리 시스템(102)에 전송할 수 있다.
인증 컴포넌트(114)는 공유된 오디오 식별 모델(124)에 대한 액세스를 자동으로 취소할 수 있다. 취소(revocation)는 시간 기반 또는 위치 기반일 수 있다. 예를 들어, 인증 컴포넌트(114)는 공유된 오디오 식별 모델(124)에 대한 액세스가 허가된 후 약 1 시간 내지 약 6 시간, 약 1 시간 내지 약 12시간, 약 1 시간 내지 약 18 시간, 또는 약 1 시간 내지 약 24시간 사이에 공유된 오디오 식별 모델(124)에 대한 액세스를 자동으로 취소할 수 있다.
공유된 오디오 식별 모델(124)의 취소(폐기)는 위치 기반일 수 있다. 예를 들어, 인증 컴포넌트(114)는 제2 클라이언트 컴퓨팅 장치(104)와 오디오 식별 모델(124) 중 하나를 공유하는 제1 클라이언트 컴퓨팅 장치(104)가 제2 클라이언트 컴퓨팅 장치(104) 주위의 미리 결정된 거리를 벗어났다는 것을 결정할 수 있다. 제1 클라이언트 컴퓨팅 장치(104)가 더 이상 제2 클라이언트 컴퓨팅 장치(104)와의 요구된 거리 내에 있지 않는다고 결정하면, 인증 컴포넌트(114)는 공유된 오디오 식별 모델(124)에 대한 제2 클라이언트 컴퓨팅 장치의 액세스를 취소할 수 있다. 취소는 자동일 수 있다. 예를 들어, 사용자는 취소를 승인할 필요가 없다.
인증 컴포넌트(114)는 오디오 식별 모델(124)을 병합 또는 업데이트할 수 있다. 예를 들어, 오디오 식별 모델(124)이 클라이언트 컴퓨팅 장치(104)와 공유될 때, 클라이언트 컴퓨팅 장치(104)는 공유된 오디오 식별 모델(124)을 사용하여 입력 오디오 신호를 처리할 수 있다. 인증 컴포넌트(114)가, 입력 오디오 신호가 공유된 오디오 식별 모델(124)의 소유자에 의한 질의를 포함한다고 결정하면, 인증 컴포넌트(114)는 새로운 입력 오디오 신호에 기초하여 오디오 식별 모델(124)을 업데이트할 수 있다.
일부 구현들에서, 인증 컴포넌트(114)가, 입력 오디오 신호가 공유된 오디오 식별 모델(124)의 소유자에 의한 질의를 포함한다고 결정하면, 인증 컴포넌트(114)는 임시 오디오 식별 모델(124)을 생성할 수 있다. 인증 컴포넌트(114)는 들어오는 입력 오디오 신호의 분석에서 임시 오디오 식별 모델(124)을 사용할 수 있고 클라이언트 컴퓨팅 장치(104)는 공유된 오디오 식별 모델(124)에 액세스할 수 있다.
인증 컴포넌트(114)가 공유된 오디오 식별 모델(124)에 대한 클라이언트 컴퓨팅 장치의 액세스를 취소할 때, 인증 컴포넌트(114)는 데이터 저장소(122)로부터 임시 오디오 식별 모델(124)을 폐기, 소거 또는 제거할 수 있다. 인증 컴포넌트(114)가 공유된 오디오 식별 모델(124)에 대한 클라이언트 컴퓨팅 장치의 액세스를 취소할 때, 인증 컴포넌트(114)는 임시 오디오 식별 모델(124)을 공유된 오디오 식별 모델(124)로 병합할 수 있다(예를 들어, 인증 컴포넌트(114)는 공유된 오디오 식별 모델(124)을 임시 오디오 식별 모델(124)로부터의 데이터로 업데이트할 수 있다).
도 2는 음성 활성화 시스템에서 컨텐츠를 커스터마이즈하는 예시적인 방법 (200)의 흐름도를 도시한다. 방법(200)은 위치 정보를 수신하는 단계(ACT 202)를 포함할 수 있다. 방법(200)은 위치가 미리 결정된 범위 내에 있는지를 결정하는 단계를 포함할 수 있다(ACT 204). 방법(200)은 오디오 식별 모델을 제공하는 단계(ACT 206)를 포함할 수 있다. 방법(200)은 입력 오디오 신호를 수신하는 단계 (ACT 208)를 포함할 수 있다. 방법(200)은 식별 점수를 생성하는 단계(ACT 210)를 포함할 수 있다. 방법(200)은 프로파일을 선택하는 단계(ACT 212)를 포함할 수 있다. 방법(200)은 디지털 컴포넌트를 선택하는 단계(ACT 214)를 포함할 수 있다. 방법(200)은 디지털 컴포넌트를 전송하는 단계(ACT 216)를 포함할 수 있다.
도 2 및 도 3에 도시 된 바와 같이, 방법(200)은 위치를 수신하는 단계(ACT 202)를 포함할 수 있다. 도 3은 오디오 식별 모델을 제2 클라이언트 컴퓨팅 장치(104(2))와 공유하는 제1 클라이언트 컴퓨팅 장치(104(1))의 블록도를 도시한다(제1 클라이언트 컴퓨팅 장치(104(1)) 및 제2 클라이언트 컴퓨팅 장치(104(2))는 집합적으로 클라이언트 컴퓨팅 장치(104)라고 지칭될 수 있다). 전술한 바와 같이, 방법(200)은 제1 클라이언트 컴퓨팅 장치(104(1))의 위치를 수신하는 데이터 처리 시스템(102)을 포함할 수 있다.
예를 들어, 클라이언트 컴퓨팅 장치(104(1))는 제2 클라이언트 컴퓨팅 장치 (104(2))로부터 떨어진 초기 위치(302)를 가질 수 있다. 클라이언트 컴퓨팅 장치(104(1))는 초기 위치(302)와 다른 위치일 수 있는 위치(304)로 이동할 수 있다. 클라이언트 컴퓨팅 장치(104(1))는 주기적으로 자신의 위치를 데이터 처리 시스템(102)에 전송할 수 있다. 클라이언트 컴퓨팅 장치(104(1))는 클라이언트 컴퓨팅 장치(104(1))가 그 위치 또는 위치(예를 들어, Wi-Fi 네트워크 이름)의 변경에 대한 근사치를 결정할 때 그 위치를 데이터 처리 시스템(102)에 전송할 수 있다.
클라이언트 컴퓨팅 장치(104(1))는 제1 오디오 식별 모델과 연관될 수 있다. 예를 들어, 제1 클라이언트 컴퓨팅 장치(104(1))는 대응하는 제1 오디오 식별 모델을 가질 수 있다. 클라이언트 컴퓨팅 장치(104 (1))와 오디오 식별 모델의 연관성은 오디오 식별 모델(또는 그 표시)과 관련하여 클라이언트 컴퓨팅 장치(104(1))의 식별자를 저장하는 것을 포함할 수 있다. 예를 들어, 도 3에서, CCD(1)(306)로서 도시된 클라이언트 컴퓨팅 장치(104(1))의 표시는 AIM(1)(308)으로 도시된 제1 오디오 식별 모델의 표시와 함께 (데이터 저장소 (122) 내에) 데이터 구조에 저장된다. AIM(1)(308)과 함께 CCD(1)(306)의 저장은 클라이언트 컴퓨팅 장치(104 (1))가 AIM(1)(308)에 의해 식별된 오디오 식별 모델(124)에 액세스할 수 있음을 데이터 처리 시스템(102)(또는 그 컴포넌트)에 표시할 수 있다.
방법(200)은 수신된 위치가 미리 결정된 범위 내에 있다는 것을 결정하는 단계를 포함할 수 있다(ACT 204). 미리 결정진 범위는 클라이언트 컴퓨팅 장치(104 (2)) 주위의 미리 결정된 거리일 수 있다. 예를 들어, 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치(104 (1))가 클라이언트 컴퓨팅 장치(104 (2))와 동일한 아파트 내에 있다고 결정할 수 있다.
도 3에 도시된 바와 같이, 미리 결정된 범위(310)(또한 미리 결정된 거리 (310)로 지칭될 수 있음)는 클라이언트 컴퓨팅 장치(104(2)) 주위의 지오펜스(geofence)(312)를 정의한다. 범위(range)(310)는 소정의 수의 피트 또는 미터와 같은 설정된 거리 길이일 수 있다. 범위(310)는 또한 근사될 수 있다. 예를 들어, 지오펜스(312)는 클라이언트 컴퓨팅 장치(104 (1))와 클라이언트 컴퓨팅 장치(104 (2))가 동일한 Wi-Fi 네트워크 상에 있을 때, 클라이언트 컴퓨팅 장치(104 (1))가 클라이언트 컴퓨팅 장치(104 (2))의 범위(310) 내에 있도록 Wi-Fi 네트워크에 의해 정의될 수 있다.
방법(200)은 클라이언트 컴퓨팅 장치(104)의 오디오 식별 모델(124)에 대한 액세스를 제공하는 단계를 포함할 수 있다(ACT 206). 예를 들어, 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치(104 (1))에 대응하는 오디오 식별 모델(124)과 같은 클라이언트 컴퓨팅 장치(104(1))의 하나 이상의 오디오 식별 모델(124)에 대한 액세스를 클라이언트 컴퓨팅 장치(104(2))에 제공할 수 있다. 오디오 식별 모델(124)에 대한 액세스를 클라이언트 컴퓨팅 장치(104 (1))에 제공하는 단계는 오디오 식별 모델(124)의 사본을 클라이언트 컴퓨팅 장치(104 (1))로 전송하는 단계를 포함할 수 있으며, 클라이언트 컴퓨팅 장치(104 (1))는 입력 오디오 신호를 처리하는 데 사용할 수 있다. 오디오 식별 모델(124)에 대한 액세스를 제공하는 것은, 제1 클라이언트 장치(104 (1))의 위치가 제2 클라이언트 컴퓨팅 장치(104 (2))의 미리 결정된 범위(310) 내에 있다는 결정에 기초하여, 데이터 처리 시스템(102) 내에서 제1 클라이언트 컴퓨팅 장치(104 (1))의 오디오 식별 모델(124)을 클라이언트 컴퓨팅 장치(104 (2))와 연관시키는 단계를 포함할 수 있다. 이 예에서, 오디오 식별 모델(124)은 제1 클라이언트 컴퓨팅 장치(104 (1))로 전송되지 않을 수 있고, 그러나, 제1 클라이언트 컴퓨팅 장치(104(1))의 표시(indication)는 클라이언트 식별 장치(104 (1))가 오디오 식별 모델(124)에 액세스하거나 다른 방식으로 사용하도록 허가되었음을 표시하기 위해 오디오 식별 모델(124)과 관련하여 저장될 수 있다.
예를 들어, 클라이언트 컴퓨팅 장치(104(1))가 위치(302)로부터 위치(304)로 이동하고, 지오펜스(312) 내에서, 인증 컴포넌트(114)는 인증 통지를 클라이언트 컴퓨팅 장치(104 (1))에 전송할 수 있다. 인증 통지는 클라이언트 컴퓨팅 장치(104 (1))의 오디오 식별 모델(124)에 대한 액세스를 클라이언트 컴퓨팅 장치(104(2))에 제공하기 위해 클라이언트 컴퓨팅 장치(104 (1))의 사용자에게 허가를 요청할 수 있다. 허가를 수신한 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치(104 (2))에 클라이언트 컴퓨팅 장치(104 (1))의 오디오 식별 모델(124)에 대한 액세스를 제공할 수 있다.
도 3에 도시된 바와 같이, 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치 (104 (2))가 액세스할 수 있는 오디오 식별 모델(124)의 리스트(목록)에 AIM(1) (308)을 추가할 수 있다. 예를 들어, CCD(2)(314)로 도시된 클라이언트 컴퓨팅 장치(104(2))의 표시는 AIM(2)(316), 및 AIM(1)(308)로서 도시된 클라이언트 컴퓨팅 장치(104(2)) 자신의 오디오 식별 모델(124)의 표시와 관련하여(또는 대응하여) 저장된다. 인증 컴포넌트(114)는 AIM(//)(320)으로 도시되고, 오디오 식별 모델(124)(≪)의 표시와 관련하여 저장되고, CCN(//)(318)으로 도시되고, 클라이언트 컴퓨팅 장치(104(≪))의 표시에 의해 도시된 바와 같이, 임의의 수의 클라이언트 컴퓨팅 장치(104)에 대해 이 프로세스를 반복할 수 있다.
방법(200)은 입력 오디오 신호를 수신하는 단계(ACT 208)를 포함할 수 있다. 데이터 처리 시스템(102)은 클라이언트 컴퓨팅 장치(104 (2))로부터 입력 오디오 신호를 수신할 수 있다. 사용자는 클라이언트 컴퓨팅 장치(104 (2))에 음성 기반 질의를 요청할 수 있다. 클라이언트 컴퓨팅 장치(104 (2))는 질의를 검출하고 그 질의를 변환기(142)(예를 들어, 마이크로폰)를 통해 전자 신호로 변환할 수 있다. 전처리기(148)는 입력 오디오 신호를 필터링 및 패킷화할 수 있고, 클라이언트 컴퓨팅 장치(104 (2))는 추가 처리를 위해 입력 오디오 신호를 데이터 처리 시스템(102)으로 전송할 수 있다.
NLP 컴포넌트(112)는 입력 오디오 신호에서 요청을 식별하기 위해 입력 오디오 신호를 파싱(분석)할 수 있다. 요청에 대한 데이터 처리 시스템의 응답은 입력 오디오 신호를 제공한 사용자의 식별을 기반으로 할 수 있다. 예를 들어, "Ok, what is next on my calendar?"라는 질의는 각각의 사용자가 각자의 캘린더에서 다른 이벤트를 가질 수 있기 때문에 데이터 처리 시스템(102)이 서로 다른 결과를 다른 사용자에게 제공할 수 있다는 점에서 사용자에 의존(user-dependent)한다. 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치(104(2))가 액세스하는 오디오 식별 모델(124)을 사용하여 클라이언트 컴퓨팅 장치(104(2))에 질의를 말한 사용자를 결정할 수 있다.
방법(200)은 식별 점수를 생성하는 단계(ACT 210)를 포함할 수 있다. 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치(104 (2))가 액세스하는 각각의 오디오 식별 모델(124)에 입력 오디오 신호를 제공할 수 있다. 예를 들어, 도 3을 참조하면, 클라이언트 컴퓨팅 장치(104(2))가 입력 오디오 신호를 수신하고 입력 오디오 신호를 데이터 처리 시스템(102)에 전송할 때, 인증 컴포넌트(114)는 입력 오디오 신호를 AIM(2)(316) 및 AIM(1)(308)에 의해 표시된 오디오 식별 모델(124)로 전달할 수 있다. 이 예에서, 인증 컴포넌트(114)는 제1 식별 점수 및 제2 식별 점수를 생성한다.
방법(200)은 프로파일을 선택하는 단계(ACT 212)를 포함할 수 있다. 예를 들어, 방법(200)은 복수의 후보 프로파일들로부터 프로파일을 선택하는 단계를 포함 할 수 있다. 각각의 오디오 식별 모델(124)은 프로파일과 연관될 수 있다. 도 3에 도시된 예에서, AIM(2)(316)으로 표시된 오디오 식별 모델(124)은 클라이언트 컴퓨팅 장치(104 (2))의 소유자(또는 등록된 사용자)의 프로파일과 연관될 수 있다. AIM(1)(308)에 의해 표시된 오디오 식별 모델(124)은 클라이언트 컴퓨팅 장치(104 (1))의 소유자(또는 등록된 사용자)의 프로파일과 연관될 수 있다. 이 두 프로파일을 총칭하여 후보 프로파일이라고 한다.
인증 컴포넌트(114)는 ACT(210) 동안 생성된 식별 점수에 기초하여 선택할 수 있다. 인증 컴포넌트(114)는 식별 점수를 랭킹화하고 그리고 가장 높은 점수를 갖는 식별 점수를 선택할 수 있다. 인증 컴포넌트(114)는 각각의 오디오 식별 모델의 메타데이터에 기초하여 랭킹(순위) 또는 식별 점수를 수정할 수 있다. 예를 들어, 인증 컴포넌트(114)는 높은 정확도의 오디오 식별 모델(124)과 비교할 때 오디오 식별 모델(124)에 의해 생성된 식별 점수를 낮은 정확도로 낮출 수 있다.
방법(200)은 디지털 컴포넌트를 선택하는 단계(ACT 214)를 포함할 수 있다. 인증 컴포넌트(114)는 (ACT(212)로부터) 선택된 프로파일을 컨텐츠 선택 컴포넌트(118)에 제공할 수 있다. 컨텐츠 선택 컴포넌트(118)는 ACT(212) 동안 선택된 프로파일을 사용하거나 그에 기초하여 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 프로파일은 프로파일과 연관된 사용자에게 제공하기 위해 디지털 컴포넌트를 선택하기 위한 선호도 또는 규칙을 포함할 수 있다.
방법(200)은 디지털 컴포넌트를 전송하는 단계(ACT 216)를 포함할 수 있다. 데이터 처리 시스템(102)은 인터페이스(110)를 통해 디지털 컴포넌트를 클라이언트 컴퓨팅 장치(104 (2))(예를 들어, 입력 오디오 신호를 제공한 클라이언트 컴퓨팅 장치(104))로 전송할 수 있다.
방법(200)은 또한 공유된 오디오 식별 모델(124)에 대한 액세스를 취소하는 단계를 포함할 수 있다. 예를 들어, 클라이언트 컴퓨팅 장치(104 (1))가 지오펜스 (312)에 의해 정의된 영역(또는 클라이언트 컴퓨팅 장치(104 (2))의 일반적인 근접거리)을 벗어날 때, 클라이언트 컴퓨팅 장치(104(1))는 업데이트된 위치 정보를 데이터 처리 시스템(102)에 전송할 수 있다. 클라이언트 컴퓨팅 장치(104(1))가 더 이상 클라이언트 컴퓨팅 장치(104 (2))의 미리 결정된 범위(310) 내에 있지 않다는 것을 결정하고, 인증 컴포넌트(114)는 클라이언트 컴퓨팅 장치(104 (2))와 관련된 오디오 식별 모델(124)의 목록에서 AIM (1)(308)을 삭제 또는 제거할 수 있다. 취소(revocation) 프로세스는 미리 정해진 시간이 지난 후에 발생할 수 있다. 예를 들어, 타임 아웃 기간이 1 일이고 1 일 후에 클라이언트 컴퓨팅 장치(104 (1))가 여전히 미리 결정된 범위 내에 있다면, 인증 컴포넌트(114)는 공유된 오디오 식별 모델(124)에 대한 액세스를 자동으로 취소할 수 있다. 공유된 오디오 식별 모델에 대한 액세스의 자동 취소는 사용자 데이터 및 공유된 오디오 식별 모델의 보안을 향상시킨다.
본 명세서의 적어도 하나의 양태에 따르면, 상기 음성 활성화 시스템에서 컨텐츠를 커스터마이즈하는 방법을 수행하도록 구성된 시스템이 제공된다. 예를 들어, 시스템은 데이터 처리 시스템을 포함할 수 있다. 데이터 처리 시스템은 인터페이스를 포함할 수 있다. 인터페이스는 제1 클라이언트 컴퓨팅 장치의 위치를 수신 할 수 있다. 제1 클라이언트 컴퓨팅 장치는 제1 오디오 식별 모델과 연관될 수 있다. 인터페이스는 제2 클라이언트 컴퓨팅 장치로부터 오디오 입력 신호를 수신할 수 있다. 제2 클라이언트 컴퓨팅 장치는 제2 오디오 식별 모델과 연관될 수 있다. 데이터 처리 시스템은 인증 컴포넌트를 포함할 수 있다. 인증 컴포넌트는 제1 클라이언트 컴퓨팅 장치의 위치가 제2 클라이언트 컴퓨팅 장치와의 미리 결정된 거리 내에 있다고 결정할 수 있다. 인증 컴포넌트는, 제1 클라이언트 컴퓨팅 장치의 위치가 제2 클라이언트 컴퓨팅 장치와의 미리 결정된 거리 내에 있다는 결정에 기초하여, 제1 클라이언트 컴퓨팅 장치의 제1 오디오 식별 모델에 대한 액세스를 제2 클라이언트 컴퓨팅 장치에 제공할 수 있다. 인증 컴포넌트는 제1 오디오 식별 모델을 사용하여 제 1 식별 점수를 생성하고 제2 오디오 식별 모델을 사용하여 제2 식별 점수를 생성할 수 있다. 인증 컴포넌트는 제1 식별 점수 및 제2 식별 점수에 기초하여 복수의 후보 프로파일들로부터 프로파일을 선택할 수 있다. 데이터 처리 시스템은 복수의 후보 프로파일들로부터 선택된 프로파일에 기초하여 디지털 컴포넌트를 선택하기 위한 컨텐츠 선택 컴포넌트를 포함할 수 있다. 데이터 처리 시스템의 인터페이스는 오디오 입력 신호에 응답하여 디지털 컴포넌트를 제2 클라이언트 컴퓨팅 장치로 전송할 수 있다.
인터페이스는 제1 클라이언트 컴퓨팅 장치의 제2 위치를 수신할 수 있다. 인증 컴포넌트는 제1 클라이언트 컴퓨팅 장치의 제2 위치가 제2 클라이언트 컴퓨팅 장치와의 미리 결정된 거리 밖에 있다고 결정하고, 제1 클라이언트 컴퓨팅 장치의 제2 위치가 미리 결정된 거리 밖에 있다는 결정에 기초하여, 제1 클라이언트 컴퓨팅 장치의 제1 오디오 식별 모델에 대한 제 2 클라이언트 컴퓨팅 장치의 액세스를 취소할 수 있다. 인증 컴포넌트는 제1 오디오 식별 모델의 메타데이터 및 제2 오디오 식별 모델의 메타데이터에 기초하여 제1 식별 점수 및 제2 식별 점수를 랭킹화(순위 매김)할 수 있다. 제1 오디오 식별 모델의 메타데이터 및 제 2 오디오 식별 모델의 메타데이터는 에러율, 센서 타입의 표시 및 다수의 센서 중 적어도 하나를 포함할 수 있다. 프로파일은 제1 클라이언트 컴퓨팅 장치의 사용자와 연관될 수 있다. 복수의 후보 프로파일들 각각은 각각의 오디오 식별 모델과 연관될 수 있다. 인터페이스는 제2 클라이언트 컴퓨팅 장치로부터 제2 오디오 입력 신호를 수신할 수 있다. 인증 컴포넌트는 제1 오디오 식별 모델에 기초한 제3 식별 점수 및 제2 오디오 식별 모델에 기초한 제4 식별 점수를 생성할 수 있다. 인증 컴포넌트는 제3 식별 점수 및 제4 식별 점수의 랭킹(순위)에 기초하여 제1 오디오 식별 모델과 연관된 프로파일을 선택하고, 제 2 오디오 입력 신호에 기초하여 제1 오디오 식별 모델을 업데이트할 수 있다. 추가적으로 또는 대안 적으로, 인증 컴포넌트는 제2 오디오 입력 신호에 기초하여 제3 오디오 식별 모델을 생성할 수 있다. 인터페이스는 제1 클라이언트 컴퓨팅 장치의 제2 위치를 수신할 수 있다. 인증 컴포넌트는 제1 클라이언트 컴퓨팅 장치의 제 2 위치가 제2 클라이언트 컴퓨팅 장치와의 미리 결정된 거리 밖에 있다고 결정할 수 있고, 제1 클라이언트 컴퓨팅 장치의 제2 위치가 제2 클라이언트 컴퓨팅 장치의 미리 결정된 거리 밖에 있다는 결정에 기초하여 제1 오디오 식별 모델과 제3 오디오 식별 모델을 병합(merge)할 수 있다. 인터페이스는 인증 통지를 제1 클라이언트 컴퓨팅 장치로 전송할 수 있다. 인증 컴포넌트는 인증 통지에 응답하여 제1 클라이언트 컴퓨팅 장치로부터의 승인 메시지를 수신하는 것에 기초하여 제1 클라이언트 컴퓨팅 디바이스의 제1 오디오 식별 모델을 제2 클라이언트 컴퓨팅 장치와 연관시킬 수 있다.
도 4는 예시적인 컴퓨터 시스템(400)의 블록도이다. 컴퓨터 시스템 또는 컴퓨팅 장치(400)는 시스템(100) 또는 데이터 처리 시스템(102)과 같은 그 컴포넌트를 포함하거나 구현하기 위해 사용될 수 있다. 컴퓨팅 시스템(400)은 정보를 통신하기 위한 버스(405) 또는 다른 통신 컴포넌트, 및 정보를 처리하기 위해 버스(405)에 연결된 프로세서(처리기)(410) 또는 처리 회로를 포함한다. 컴퓨팅 시스템(400)은 또한 정보를 처리하기 위해 버스에 연결된 하나 이상의 프로세서(410) 또는 처리 회로를 포함할 수 있다. 컴퓨팅 시스템(400)은 또한 정보를 저장하기 위해 버스(405)에 연결된 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치와 같은 메인 메모리(415) 및 프로세서(410)에 의해 실행될 명령을 포함한다. 메인 메모리(415)는 데이터 저장소(122)이거나 이를 포함할 수 있다. 메인 메모리(415)는 또한 프로세서(410)에 의한 명령(명령어)의 실행 동안 위치 정보, 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다. 컴퓨팅 시스템(400)은 프로세서(410)에 대한 정적 정보 및 명령을 저장하기 위해 버스(405)에 연결된 ROM(420) 또는 다른 정적 저장 장치를 더 포함할 수 있다. 솔리드 스테이트 장치, 자기 디스크 또는 광 디스크와 같은 저장 장치(425)는 정보 및 명령을 지속적으로 저장하기 위해 버스 (405)에 결합될 수 있다. 저장 장치(425)는 데이터 저장소(122)를 포함하거나 그 일부일 수 있다.
컴퓨팅 시스템(400)은 버스(405)를 통해 사용자에게 정보를 디스플레이하기 위해 액정 디스플레이 또는 액티브 매트릭스 디스플레이와 같은 디스플레이(435)에 연결될 수 있다. 정보 및 명령 선택을 프로세서(410)에 전달하기 위해 영숫자 및 다른 키를 포함하는 키보드와 같은 입력 장치(430)가 버스(405)에 연결될 수 있다. 입력 장치(430)는 터치 스크린 디스플레이(435)를 포함 할 수 있다. 입력 장치(430)는 또한 방향 정보 및 명령 선택을 프로세서(410)에 전달하고 디스플레이(435)상의 커서 이동을 제어하기위한 마우스, 트랙볼 또는 커서 방향 키와 같은 커서 제어를 포함할 수 있다. 디스플레이(435)는 데이터 처리 시스템(102), 클라이언트 컴퓨팅 장치(104) 또는 도 1의 다른 컴포넌트의 일부일 수 있다.
본 명세서에 기술된 프로세스, 시스템 및 방법은 프로세서(410)가 메인 메모리(415)에 포함된 명령의 배열을 실행하는 것에 응답하여 컴퓨팅 시스템(400)에 의해 구현될 수 있다. 이러한 명령어는 저장 장치(425)와 같은 다른 컴퓨터 판독 가능 매체로부터 메인 메모리(415)로 판독될 수 있다. 메인 메모리(415)에 포함된 명령의 배열의 실행은 컴퓨팅 시스템(400)이 본 명세서에 설명된 예시적인 프로세스를 수행하게 한다. 멀티-프로세싱 배열에서 하나 이상의 프로세서가 또한 메인 메모리(415)에 포함된 명령어를 실행하기 위해 사용될 수 있다. 본 명세서에 설명된 시스템 및 방법과 함께 소프트웨어 명령 대신에 또는 하드웨어 명령과 함께 하드 와이어드 회로가 사용될 수 있다. 본 명세서에 설명된 시스템 및 방법은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
예시적인 컴퓨팅 시스템이 도 4에 설명되었지만, 본 명세서에 기술된 동작들을 포함하는 요지는 다른 유형의 디지털 전자 회로, 또는 본 명세서에 개시된 구조 및 이들의 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어 또는 이들 중 하나 이상의 조합으로 구현될 수 있다.
본 명세서에서 설명된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황들에서, 사용자들은 개인 정보 (예를 들어, 사용자의 소셜 네트워크에 관한 정보, 소셜 행동들 또는 활동들, 사용자의 선호도들 또는 사용자의 위치)를 수집할 수 있는 프로그램들 또는 구성들을 제어하거나, 콘텐츠 서버 또는 다른 데이터 프로세싱 시스템으로부터 사용자에게 보다 관련 있는 콘텐츠를 수신할지 또는 어떻게 수신할지를 제어할 기회를 제공받을 수 있다. 또한, 소정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식들로 익명화될 수 있어, 파라미터들을 생성할 때 개인 식별 정보는 제거된다. 예를 들어, 사용자의 신원이 익명화되어 사용자에 대해 개인 식별 정보가 결정될 수 없거나, 또는 사용자의 지리적 위치가 위치 정보가 획득된 곳(도시, 우편 번호 또는 주 레벨과 같은)으로 일반화될 수 있어, 사용자의 특정한 위치가 결정되지 못할 수 있다. 따라서, 사용자는 사용자에 관한 정보가 콘텐츠 서버에 의해 어떻게 수집되고 사용되는지를 제어할 수 있다.
본 명세서에 기술된 요지 및 동작은 본 명세서에 개시된 구조 및 이들의 구조적 등가물 또는 이들 중 하나 이상의 조합을 포함하여 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 본 명세서에 기술된 요지는 하나 이상의 컴퓨터 프로그램, 예를 들어, 하나 이상의 컴퓨터 프로그램 명령의 회로로서 구현될 수 있고, 데이터 처리 장치에 의해 실행되거나 동작을 제어하기 위해 하나 이상의 컴퓨터 저장 매체 상에 인코딩된다. 대안적으로 또는 추가적으로, 프로그램 명령은 인공적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의해 실행하기 위해 적합한 수신기 장치로 전송하기위한 정보를 인코딩하기 위해 생성되는 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크 또는 다른 저장 장치)일 수 있거나 그에 포함 수 있다. 본 명세서에서 설명되는 동작은 하나 이상의 컴퓨터 판독 가능 저장 장치에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작으로서 구현될 수 있다.
용어들 "데이터 처리(프로세싱) 시스템", "컴퓨팅 장치(디바이스)", "모듈", "엔진", "컴포넌트" 또는 "컴퓨팅 장치"는 예를 들어, 프로그램 가능한 프로세서, 컴퓨터, 칩 상의 시스템, 또는 다수의 것들, 또는 이들의 조합들을 포함하는, 데이터를 프로세싱하기 위한 다양한 장치들, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 상기 장치는, 하드웨어 이외에, 해당 컴퓨터 프로그램을 위한 실행 환경을 제작하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 환경, 가상 기계, 또는 그들 중 하나 이상의 조합을 구성하는 코드를 또한 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 기반구조들과 같은, 다양한 상이한 컴퓨팅 모델 기반구조들을 실현할 수 있다. 직접 행동 API(116), 컨텐츠 선택기 컴포넌트(118), 인증 컴포넌트(114), 또는 NLP 컴포넌트(112) 및 다른 데이터 처리 시스템(102) 컴포넌트는 하나 이상의 데이터 처리 장치, 시스템, 컴퓨팅 장치 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 스크립트, 또는 코드로 또한 알려짐)은 컴파일된 또는 해석된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램을 또는 모듈, 컴포넌트, 서브루틴, 객체, 또는 컴퓨팅 환경에서의 사용을 위해 적합한 다른 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수도 있지만 그렇지 않을 수도 있다. 컴퓨터 프로그램은 다른 프로그램들 또는 데이터 (예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들), 해당 프로그램 전용의 단일 파일, 또는 다수의 조정된 파일들 (예를 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 일부들을 저장하는 파일들)을 보유하는 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 자리(site)에 위치되거나 또는 복수의 자리들에 분산되고 그리고 통신 네트워크에 의해 상호연결된 복수의 컴퓨터들 상에도 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작시키고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들 (예를 들어, 데이터 처리 시스템(102)의 컴포넌트들)을 실행하는 하나 이상의 프로그램 가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 특수 목적 논리 회로, 예를 들어, FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)에 의해 또한 수행될 수 있으며, 장치들 또한 특수 목적 논리회로에 의해 구현될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 장치는 예를 들어 EPROM, EEPROM, 및 플래시 메모리 장치와 같은 반도체 메모리 장치를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크; 그리고 CD ROM 및 DVD-ROM 디스크를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
본 명세서에 기술된 발명은 컴퓨팅 시스템 내에서 구현될 수 있으며, 상기 컴퓨팅 시스템은 백 엔드 컴포넌트(예를 들어 데이터 서버)를 포함하거나 미들웨어 컴포넌트(예를 들어 애플리케이션 서버)를 포함하거나 프론트 엔드 컴포넌트(예를 들어 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터 또는 사용자가 본 명세서에 기술된 발명의 구현과 인터랙팅할 수 있는 웹 브라우저)를 포함하거나 또는 하나 이상의 그러한 백 엔드, 미들웨어, 프론트 엔드 컴포넌트들의 조합을 포함할 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신 예를 들어, 통신 네트워크, 의 임의의 형태 또는 매체에 의해 상호연결 될 수 있다. 통신 네트워크들의 예시들은 근거리 통신망( "LAN") 및 광역 통신망("WAN"), 인터-네트워크 (예를 들어, 인터넷) 및 피어-투-피어 네트워크들 (예를 들어, 애드 혹 피어-투-피어 네트워크들)을 포함할 수 있다.
본 명세서에 기술된 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크(예를 들어, 네트워크 (105))를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 구현들에서, 서버는 (예를 들어, 클라이언트 컴퓨팅 장치와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하기 위해) 데이터(예를 들어, 디지털 컴포넌트를 나타내는 데이터 패킷)를 클라이언트 컴퓨팅 장치로 전송한다. 클라이언트 컴퓨팅 장치에서 생성된 데이터 (예를 들어, 사용자 상호 작용의 결과)는 서버에서 클라이언트 컴퓨팅 장치로부터 수신될 수 있다(예를 들어, 클라이언트 컴퓨팅 장치(104) 또는 컨텐츠 제공자 컴퓨팅 장치(106)로부터 데이터 처리 시스템(102)에 의해 수신될 수 있다).
동작들이 도면들에 특정한 순서로 도시되어 있지만, 이러한 동작들은 도시된 특정한 순서 또는 순차적 순서로 수행될 필요는 없으며, 도시된 모든 동작들이 수행될 필요는 없다. 본 명세서에 기술된 액션들은 다른 순서로 수행될 수 있다.
다양한 시스템 컴포넌트들의 분리는 모든 구현들 내의 분리를 요청하지 않으며, 기술된 프로그램 컴포넌트들은 단일 하드웨어 또는 소프트웨어 제품에 포함될 수 있다. 예를 들어, NLP 컴포넌트(112), 컨텐츠 선택기 컴포넌트(118) 또는 인증 컴포넌트(114)는 하나 이상의 프로세싱 회로를 갖는 단일 컴포넌트, 앱, 프로그램 또는 로직 장치(디바이스), 또는 데이터 프로세싱 시스템(102)의 하나 이상의 서버의 일부일 수 있다.
일부 예시적인 구현예들을 기술하였지만, 상기 기술들은 예시적이며 제한적인 것은 아니며, 예시로써 제시되었다. 특히, 비록 본 명세서에 제시된 많은 예시들이 방법 행동들 또는 시스템 요소들의 특정 조합들을 포함하지만, 그러한 행동들 및 요소들은 동일한 목적들을 달성하기 위해 다른 방식들로 결합될 수 있다. 하나의 구현과 관련하여 설명된 행동들, 요소들 및 구성들은 다른 구현예들 또는 구현예들의 유사한 역할로부터 배제되도록 의도되지 않는다.
본 명세서에 사용된 어구 및 전문용어는 기술의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다. 본 명세서의 “포함하는(including)”“포함하는(comprising)”“가지는”“내포하는”“포함하는(involving)”“특징으로 하는(characterized by)”“특징으로 하는(characterized in that)” 및 그 변형들의 사용은, 이후에 배타적으로 열거된 항목들로 구성된 대체 구현예들 뿐만 아니라 이후에 열거된 항목들, 그 등가물, 및 추가 항목들을 포함하는 것을 의미한다. 하나의 구현예에서, 본 명세서에 기술된 시스템들 및 방법들은 기술된 컴포넌트들, 요소들 또는 행동들 중 하나 이상, 또는 모두의 각각의 조합으로 구성된다.
단수로 지칭된 본 명세서의 시스템들 및 방법들의 구현예들 또는 요소들 또는 행동들에 대한 임의의 참조들은 복수의 이들 요소들을 포함하는 구현예들을 포함할 수 있으며, 임의의 구현예 또는 요소 또는 행동에 대한 임의의 복수의 참조들은 또한 단일 요소만을 포함하는 구현예들을 포함할 수 있다. 단수 또는 복수 형태의 참조들은 현재 게시된 시스템들 또는 방법들, 그들의 컴포넌트들, 행동들 또는 요소들을 단일 또는 복수 구성들로 제한하도록 의도된 것이 아니다. 정보, 행동 또는 요소에 기초하고 있는 임의의 행동 또는 요소에 대한 참조들은 행동 또는 요소가 임의의 정보, 행동 또는 요소에 적어도 부분적으로 기초한 구현예들을 포함할 수 있다.
본 명세서에 게시된 임의의 구현예는 임의의 다른 구현예 또는 실시예와 결합될 수 있고, "구현예", "일부 구현예들", "하나의 구현예"를 지칭하며, 그와 같은 것들은 반드시 상호 배타적인 것은 아니며 구현예와 관련하여 기술된 특정한 구성, 구조 또는 특성은 적어도 하나의 구현예 또는 실시예에 포함될 수 있음을 표시하도록 의도되었다. 본 명세서에 사용된 이러한 용어들은 반드시 모두 동일한 구현예를 지칭하는 것은 아니다. 임의의 구현은 본 명세서에 게시된 양태들 및 구현예들과 일치하는 임의의 방식으로 다른 구현예와 포괄적으로 또는 배타적으로 결합될 수 있다.
"또는" 에 대한 참조들은 포괄적인 것으로 해석될 수 있어, "또는"을 사용하여 기술된 임의의 용어들은 기술된 용어들 중 임의의 단일, 하나 이상, 및 모두를 표시할 수 있다. 예를 들어,“ 'A'와 'B'중 적어도 하나 '에 대한 참조는'A '와'B '뿐 아니라'A '와'B'를 모두 포함할 수 있다. ""포함하는" 또는 다른 공개 용어와 함께 사용되는 이러한 참조는 추가 항목을 포함할 수 있다.
도면들, 상세한 설명 또는 임의의 청구항의 기법적 구성들이 참조 부호들 뒤에 있는 경우, 도면들, 상세한 설명 및 청구항들의 명료성을 높이기 위해 상기 참조 부호들이 포함되었다. 따라서, 참조 부호들 또는 그것들 부재는 임의의 청구항 요소들의 범위에 대해 어떠한 제한 효과도 가지지 않는다.
본 명세서에 기술된 시스템들 및 방법들은 그 특성들로부터 벗어남 없이 다른 특정 형태들로 구현될 수 있다. 전술한 구현예들은 기술된 시스템들 및 방법들의 제한보다는 예시적인 것이다. 따라서, 본 명세서에 설명된 시스템 및 방법의 범위는 전술한 설명보다는 첨부된 청구 범위에 의해 표시되며, 청구 범위의 의미 및 범위 내에서의 변경이 본 명세서에 포함된다.

Claims (18)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    제1 사용자와 연관된 제1 클라이언트 장치와 제2 사용자와 연관된 제2 클라이언트 장치 사이의 네트워크 연결을 검출하는 단계;
    상기 제1 클라이언트 장치와 제2 클라이언트 장치 사이의 네트워크 연결을 검출한 것에 응답하여:
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유하기 위해, 상기 제1 사용자로부터 인증(authorization)을 요청하는 인증 통지를 생성하는 단계;
    상기 제1 클라이언트 장치를 통해 상기 제1 사용자에게 제시하기 위해 상기 인증 통지가 제공되게 하는 단계;
    상기 인증 통지에 응답하여 상기 제1 사용자로부터 수신된 사용자 입력에 기초하여, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유할지 여부를 결정하는 단계;
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유하는 것을 상기 제1 사용자가 인증한다는 결정에 응답하여:
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 제2 클라이언트 장치에 제공하는 단계;
    상기 오디오 식별 모델에 대한 액세스를 취소(revoking)하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 단계; 그리고
    상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 조건 중 하나 이상이 만족된다는 결정에 응답하여:
    상기 제2 클라이언트 장치로부터, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 취소하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건은 시간적 조건 또는 위치적 조건 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제2항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 단계는,
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제1 클라이언트 장치가 상기 제2 클라이언트 장치에 제공한 후에 미리 결정된 양(amount)이 경과되었음을 결정하는 것에 기초하여 시간적 조건이 만족되었음을 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제2항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 단계는,
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 상기 제1 클라이언트 장치가 제공한 후에 상기 제1 클라이언트 장치가 상기 제2 클라이언트 장치의 미리 결정된 거리를 벗어났다고 결정하는 것에 기초하여 위치적 조건이 만족되었음을 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제2항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 단계는,
    상기 제1 클라이언트 장치와 상기 제2 클라이언트 장치 사이의 네트워크 연결의 중단을 검출하는 것에 기초하여 상기 위치적 조건이 만족되는지를 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제1항에 있어서, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 제공하는 단계는,
    상기 네트워크 연결을 통해 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치로 전송하는 단계; 그리고
    상기 제2 클라이언트 장치로 하여금 클라이언트 장치에서 수신된 입력 오디오 신호를 처리할 때 상기 오디오 식별 모델을 활용하게 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제1항에 있어서, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 제공하는 단계는,
    상기 네트워크 연결을 통해 상기 제2 클라이언트 장치로부터 입력 오디오 신호를 수신하는 단계;
    상기 오디오 식별 모델을 사용하여, 상기 입력 오디오 신호를 처리(processing)하여 상기 제1 사용자에 대한 제1 식별 점수를 생성하는 단계; 그리고
    상기 네트워크 연결을 통해, 상기 제1 사용자에 대한 제1 식별 점수를 상기 제2 클라이언트 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 제1항에 있어서, 상기 방법은,
    상기 네트워크 연결을 통해 입력 오디오 신호를 수신하는 단계;
    상기 오디오 식별 모델을 사용하여, 입력 오디오 신호를 처리하여 제1 사용자에 대한 제1 식별 점수를 생성하는 단계;
    상기 제2 사용자와 연관된 추가 오디오 식별 모델을 사용하여, 상기 입력 오디오 신호를 처리하여 상기 제2 사용자에 대한 제2 식별 점수를 생성하는 단계; 그리고
    상기 제1 식별 점수 및 제2 식별 점수에 기초하여, 제1 사용자 또는 제2 사용자가 상기 입력 오디오 신호에 대응하는 발화를 제공했는지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  9. 제1항에 있어서, 상기 제1 클라이언트 장치를 통해 상기 제1 사용자에게 제시하기 위해 제공된 상기 인증 통지는 푸시 통지, 문자 메시지, 이메일 메시지, 또는 애플리케이션 통지 중 하나로 제공되는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  10. 시스템으로서,
    하나 이상의 프로세서; 그리고
    실행될 때 상기 하나 이상의 프로세서로 하여금 동작들을 수행하도록 하는 명령어를 저장하는 메모리를 포함하며, 상기 동작들은,
    제1 클라이언트 장치와 연관된 제1 사용자가 제2 클라이언트 장치와 연관된 사용자들의 그룹에 추가되었음을 결정하는 동작;
    상기 제1 사용자가 상기 사용자들의 그룹에 추가되었다는 결정에 대한 응답하여:
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유하기 위해 상기 제1 사용자로부터 인증을 요청하는 인증 통지를 생성하는 동작;
    상기 제1 클라이언트 장치를 통해 상기 제1 사용자에게 제시하기 위해 상기 인증 통지가 제공되게 하는 동작;
    상기 인증 통지에 응답하여 상기 제1 사용자로부터 수신된 사용자 입력에 기초하여, 제1 클라이언트 장치와 연관된 오디오 식별 모델을 제2 클라이언트 장치와 공유할지 여부를 결정하는 동작;
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유하는 것을 상기 제1 사용자가 인증한다는 결정에 응답하여:
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 제공하는 동작;
    상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 동작; 그리고
    상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 조건 중 하나 이상이 만족된다는 결정에 응답하여:
    제2 클라이언트 장치로부터, 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 취소하는 동작를 포함하는 것을 특징으로 하는 시스템.
  11. 제10항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건은 시간적 조건 또는 위치적 조건 중 하나 이상을 포함하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 동작은,
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제1 클라이언트 장치가 상기 제2 클라이언트 장치에 제공한 후에 미리 결정된 양(amount)이 경과되었음을 결정하는 것에 기초하여 시간적 조건이 만족되었음을 결정하는 동작를 포함하는 것을 특징으로 하는 시스템.
  13. 제11항에 있어서, 상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 동작은,
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 상기 제1 클라이언트 장치가 제공한 후에 상기 제1 클라이언트 장치가 상기 제2 클라이언트 장치의 미리 결정된 거리를 벗어났다고 결정하는 것에 기초하여 위치적 조건이 만족되었음을 결정하는 동작를 포함하는 것을 특징으로 하는 시스템.
  14. 제10항에 있어서, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 제공하는 동작은,
    상기 제1 클라이언트 장치와 상기 제2 클라이언트 장치 사이의 네트워크 연결을 통해 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치로 전송하는 동작; 그리고
    상기 제2 클라이언트 장치로 하여금 클라이언트 장치에서 수신된 입력 오디오 신호를 처리할 때 상기 오디오 식별 모델을 활용하게 하는 동작를 포함하는 것을 특징으로 하는 시스템.
  15. 제10항에 있어서, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 상기 제2 클라이언트 장치에 제공하는 동작은,
    상기 제1 클라이언트 장치와 상기 제2 클라이언트 장치 사이의 네트워크 연결을 통해 상기 제2 클라이언트 장치로부터 입력 오디오 신호를 수신하는 동작;
    상기 오디오 식별 모델을 사용하여, 상기 입력 오디오 신호를 처리(processing)하여 상기 제1 사용자에 대한 제1 식별 점수를 생성하는 동작; 그리고
    상기 네트워크 연결을 통해, 상기 제1 사용자에 대한 제1 식별 점수를 상기 제2 클라이언트 장치로 전송하는 동작를 포함하는 것을 특징으로 하는 시스템.
  16. 제10항에 있어서, 상기 동작들은,
    상기 제1 클라이언트 장치와 상기 제2 클라이언트 장치 사이의 네트워크 연결을 통해, 입력 오디오 신호를 수신하는 동작;
    상기 오디오 식별 모델을 사용하여, 상기 입력 오디오 신호를 처리하여 제1 사용자에 대한 제1 식별 점수를 생성하는 동작;
    제2 사용자와 연관된 추가 오디오 식별 모델을 사용하여, 상기 입력 오디오 신호를 처리하여 상기 제2 사용자에 대한 제2 식별 점수를 생성하는 동작; 그리고
    상기 제1 식별 점수 및 제2 식별 점수에 기초하여, 제1 사용자 또는 제2 사용자가 상기 입력 오디오 신호에 대응하는 발화를 제공했는지 여부를 결정하는 동작를 더 포함하는 것을 특징으로 하는 시스템.
  17. 제10항에 있어서, 상기 제1 클라이언트 장치를 통해 상기 제1 사용자에게 제시하기 위해 제공된 상기 인증 통지는 푸시 통지, 문자 메시지, 이메일 메시지, 또는 애플리케이션 통지 중 하나로 제공되는 것을 특징으로 하는 시스템.
  18. 실행될 때 하나 이상의 프로세서로 하여금 동작들을 수행하도록 하는 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 동작들은,
    제1 사용자와 연관된 제1 클라이언트 장치와 제2 사용자와 연관된 제2 클라이언트 장치 사이의 네트워크 연결을 검출하는 동작;
    상기 제1 클라이언트 장치와 제2 클라이언트 장치 사이의 상기 네트워크 연결을 검출한 것에 응답하여:
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유하기 위해, 상기 제1 사용자로부터 인증(authorization)을 요청하는 인증 통지를 생성하는 동작;
    상기 제1 클라이언트 장치를 통해 상기 제1 사용자에게 제시하기 위해 상기 인증 통지가 제공되게 하는 동작;
    상기 인증 통지에 응답하여 상기 제1 사용자로부터 수신된 사용자 입력에 기초하여, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유할지 여부를 결정하는 동작;
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델을 상기 제2 클라이언트 장치와 공유하는 것을 상기 제1 사용자가 인증한다는 결정에 응답하여:
    상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 제2 클라이언트 장치에 제공하는 동작;
    상기 오디오 식별 모델에 대한 액세스를 취소(revoke)하기 위한 하나 이상의 조건이 만족되는지 여부를 결정하는 동작; 그리고
    상기 오디오 식별 모델에 대한 액세스를 취소하기 위한 조건 중 하나 이상이 만족된다는 결정에 응답하여:
    상기 제2 클라이언트 장치로부터, 상기 제1 클라이언트 장치와 연관된 오디오 식별 모델에 대한 액세스를 취소하는 동작를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020227014095A 2017-12-08 2017-12-08 네트워크 시스템의 분산 식별 KR102502617B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2017/065460 WO2019112624A1 (en) 2017-12-08 2017-12-08 Distributed identification in networked system
KR1020207018444A KR102392717B1 (ko) 2017-12-08 2017-12-08 네트워크 시스템의 분산 식별

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207018444A Division KR102392717B1 (ko) 2017-12-08 2017-12-08 네트워크 시스템의 분산 식별

Publications (2)

Publication Number Publication Date
KR20220062420A KR20220062420A (ko) 2022-05-16
KR102502617B1 true KR102502617B1 (ko) 2023-02-24

Family

ID=60943104

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207018444A KR102392717B1 (ko) 2017-12-08 2017-12-08 네트워크 시스템의 분산 식별
KR1020227014095A KR102502617B1 (ko) 2017-12-08 2017-12-08 네트워크 시스템의 분산 식별

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207018444A KR102392717B1 (ko) 2017-12-08 2017-12-08 네트워크 시스템의 분산 식별

Country Status (6)

Country Link
US (3) US10992684B2 (ko)
EP (2) EP3707606B1 (ko)
JP (2) JP7071504B2 (ko)
KR (2) KR102392717B1 (ko)
CN (2) CN117879949A (ko)
WO (1) WO2019112624A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079024B1 (en) * 2016-08-19 2018-09-18 Amazon Technologies, Inc. Detecting replay attacks in voice-based authentication
CN109146450A (zh) * 2017-06-16 2019-01-04 阿里巴巴集团控股有限公司 支付方法、客户端、电子设备、存储介质和服务器
GB2563952A (en) * 2017-06-29 2019-01-02 Cirrus Logic Int Semiconductor Ltd Speaker identification
EP3707606B1 (en) 2017-12-08 2023-02-01 Google LLC Distributed identification in networked system
US11798546B2 (en) 2020-08-14 2023-10-24 Google Llc Transient personalization mode for guest users of an automated assistant
US11749284B2 (en) * 2020-11-13 2023-09-05 Google Llc Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests
US20220382842A1 (en) * 2021-05-31 2022-12-01 Electronics And Telecommunications Research Institute Authentication electronic device based on biometric template and operating method thereof
CN116346885B (zh) * 2023-05-24 2023-07-28 北京飞轮数据科技有限公司 标识信息生成方法、装置、电子设备和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150162004A1 (en) 2013-12-09 2015-06-11 Erwin Goesnar Media content consumption with acoustic user identification
US20160019889A1 (en) 2014-07-18 2016-01-21 Google Inc. Speaker verification using co-location information
US20160234206A1 (en) 2015-02-06 2016-08-11 NXT-ID, Inc. Distributed Method and System to Improve Collaborative Services Across Multiple Devices

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170237801A1 (en) 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
JP2006038955A (ja) * 2004-07-22 2006-02-09 Docomo Engineering Tohoku Inc 声紋認識システム
US8214208B2 (en) * 2006-09-28 2012-07-03 Reqall, Inc. Method and system for sharing portable voice profiles
CN101673544B (zh) * 2009-10-10 2012-07-04 上海电虹软件有限公司 一种基于声纹识别和定位跟踪的交叉监控方法和系统
JP5757561B2 (ja) * 2011-03-04 2015-07-29 Necカシオモバイルコミュニケーションズ株式会社 アクセス許可システム及びアクセス許可判定方法
US9159324B2 (en) * 2011-07-01 2015-10-13 Qualcomm Incorporated Identifying people that are proximate to a mobile device user via social graphs, speech models, and user context
US9282096B2 (en) * 2013-08-31 2016-03-08 Steven Goldstein Methods and systems for voice authentication service leveraging networking
US10405163B2 (en) * 2013-10-06 2019-09-03 Staton Techiya, Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US20150255068A1 (en) * 2014-03-10 2015-09-10 Microsoft Corporation Speaker recognition including proactive voice model retrieval and sharing features
US9710546B2 (en) * 2014-03-28 2017-07-18 Microsoft Technology Licensing, Llc Explicit signals personalized search
US9674700B2 (en) * 2014-11-04 2017-06-06 Qualcomm Incorporated Distributing biometric authentication between devices in an ad hoc network
WO2016095218A1 (en) * 2014-12-19 2016-06-23 Dolby Laboratories Licensing Corporation Speaker identification using spatial information
US9112849B1 (en) * 2014-12-31 2015-08-18 Spotify Ab Methods and systems for dynamic creation of hotspots for media control
US9807610B2 (en) * 2015-03-26 2017-10-31 Intel Corporation Method and apparatus for seamless out-of-band authentication
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10664500B2 (en) * 2015-12-29 2020-05-26 Futurewei Technologies, Inc. System and method for user-behavior based content recommendations
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
EP4235645A3 (en) * 2016-07-06 2023-10-04 DRNC Holdings, Inc. System and method for customizing smart home speech interfaces using personalized speech profiles
US9892732B1 (en) * 2016-08-12 2018-02-13 Paypal, Inc. Location based voice recognition system
US10027662B1 (en) * 2016-12-06 2018-07-17 Amazon Technologies, Inc. Dynamic user authentication
US20190182176A1 (en) * 2016-12-21 2019-06-13 Facebook, Inc. User Authentication with Voiceprints on Online Social Networks
US10672402B2 (en) * 2017-04-11 2020-06-02 International Business Machines Corporation Speech with context authenticator
US10438594B2 (en) * 2017-09-08 2019-10-08 Amazon Technologies, Inc. Administration of privileges by speech for voice assistant system
EP3707606B1 (en) 2017-12-08 2023-02-01 Google LLC Distributed identification in networked system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150162004A1 (en) 2013-12-09 2015-06-11 Erwin Goesnar Media content consumption with acoustic user identification
US20160019889A1 (en) 2014-07-18 2016-01-21 Google Inc. Speaker verification using co-location information
US20160234206A1 (en) 2015-02-06 2016-08-11 NXT-ID, Inc. Distributed Method and System to Improve Collaborative Services Across Multiple Devices

Also Published As

Publication number Publication date
CN111448549A (zh) 2020-07-24
JP2022107616A (ja) 2022-07-22
WO2019112624A1 (en) 2019-06-13
KR102392717B1 (ko) 2022-04-29
US20210243200A1 (en) 2021-08-05
KR20200091895A (ko) 2020-07-31
US11683320B2 (en) 2023-06-20
CN111448549B (zh) 2024-01-23
JP2021506008A (ja) 2021-02-18
US20190182261A1 (en) 2019-06-13
EP3707606B1 (en) 2023-02-01
US20230275902A1 (en) 2023-08-31
EP3707606A1 (en) 2020-09-16
CN117879949A (zh) 2024-04-12
JP7071504B2 (ja) 2022-05-19
KR20220062420A (ko) 2022-05-16
EP4181553A1 (en) 2023-05-17
US10992684B2 (en) 2021-04-27

Similar Documents

Publication Publication Date Title
KR102502617B1 (ko) 네트워크 시스템의 분산 식별
KR102100976B1 (ko) 스택 데이터 구조 백그라운드의 디지털 어시스턴트 프로세싱
US11508371B2 (en) Digital assistant processing of stacked data structures
KR101996574B1 (ko) 패킷화된 데이터의 멀티모달 송신
US10917404B2 (en) Authentication of packetized audio signals
US20160239568A1 (en) Extension of Third Party Application Functionality for Intent Determination
KR101660928B1 (ko) 동적 장치 구성을 위한 주기적 주변 파형 분석
JP7176011B2 (ja) デジタルアシスタントアプリケーションとナビゲーションアプリケーションとの間のインターフェーシング
CN110637300B (zh) 在联网环境中延迟的双因素认证

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