KR20230025708A - 오디오 제시 인터렉션을 갖는 자동화된 어시스턴트 - Google Patents

오디오 제시 인터렉션을 갖는 자동화된 어시스턴트 Download PDF

Info

Publication number
KR20230025708A
KR20230025708A KR1020237001956A KR20237001956A KR20230025708A KR 20230025708 A KR20230025708 A KR 20230025708A KR 1020237001956 A KR1020237001956 A KR 1020237001956A KR 20237001956 A KR20237001956 A KR 20237001956A KR 20230025708 A KR20230025708 A KR 20230025708A
Authority
KR
South Korea
Prior art keywords
audio presentation
user query
audio
response
presentation
Prior art date
Application number
KR1020237001956A
Other languages
English (en)
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 KR20230025708A publication Critical patent/KR20230025708A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/65Clustering; Classification
    • 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/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/26Speech to text systems
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

사용자 인터렉션은 자동화된 어시스턴트에 의한 오디오 제시, 특히 오디오 제시 내의 특정 지점에서 제시되는 이러한 오디오 제시의 음성 콘텐츠로 지원될 수 있다. 오디오 제시의 분석은 오디오 제시에 의해 어드레싱되거나 언급되거나 그렇지 않으면 오디오 제시와 연관된 하나 이상의 엔터티를 식별하기 위해 수행될 수 있고, 발언 분류는 오디오 제시의 재생 동안 수신된 발언이 오디오 제시, 그리고 일부 경우에는 오디오 제시에서 특정 엔터티 및/또는 재생 지점에 대한 것인지 여부를 결정하기 위해 수행되어, 발언에 대한 적절한 응답이 생성되게 한다.

Description

오디오 제시 인터렉션을 갖는 자동화된 어시스턴트
사람은 본 명세서에서 "자동화된 어시스턴트"("챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", “개인 음성 어시스턴트”, "대화형 에이전트들”로도 지칭됨)로 지칭되는 인터렉티브 소프트웨어 어플리케이션과의 사람-컴퓨터 간 대화에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터렉션할 때 "사용자"라고 할 수 있음)은 일부 경우에 텍스트로 변환된 다음 프로세싱될 수 있는 발화된 자연어 입력(즉, , 발언)을 사용하여 및/또는 텍스트(예를 들어, 타이핑된) 자연어 입력을 제공함으로써 명령 및/또는 요청을 자동화된 어시스턴트에 제공할 수 있다. 자동화된 어시스턴트는 일반적으로 청각 및/또는 시각적 사용자 인터페이스 출력을 포함할 수 있는 응답 사용자 인터페이스 출력을 제공함으로써 명령 또는 요청에 응답한다.
자동화된 어시스턴트를 통해 사용자는 정보를 얻고, 서비스에 액세스하고, 다양한 작업을 수행할 수 있다. 예를 들어, 사용자는 검색을 실행하고, 길을 찾고, 일부 경우에 서드파티 컴퓨팅 서비스와 인터렉션할 수 있다. 사용자는 또한 승차 공유 애플리케이션에서 자동차 호출, 상품 또는 서비스(예: 피자) 주문, 스마트 디바이스(예: 전등 스위치) 제어, 예약 등과 같은 다양한 액션을 수행할 수 있다.
자동화된 어시스턴트는 음성 인식 및 자연어 프로세싱을 사용하여 사용자와 대화할 수 있으며, 일부는 예를 들어 사용자 의도를 예측하기 위해 기계 학습 및 기타 인공 지능 기술을 사용하기도 한다. 자동화된 어시스턴트는 부분적으로 대화 컨텍스트를 이해하기 때문에 사용자와 자연스럽고 직관적인 방식으로 대화를 진행하는데 능숙할 수 있다. 대화 컨텍스트를 활용하기 위해, 자동화된 어시스턴트는 사용자로부터의 최근 입력, 사용자로부터 온 질문 및/또는 자동화된 어시스턴트에 의해 제공되는 응답/질문을 보존할 수 있다. 예를 들어, 사용자가 "Where is the closest coffee shop?"라고 물으면 자동화된 어시스턴트는 "Two blocks east"이라고 대답할 수 있다. 그런 다음 사용자는 "How late is it open?"라고 물을 수 있다. 적어도 대화 컨텍스트의 일부 형태를 보존함으로써, 자동화된 어시스턴트는 대명사 "it"이 "coffee shop"(즉, 공동 참조 해결)을 지칭하는지 결정할 수 있다.
많은 자동화된 어시스턴트는 음악, 팟캐스트, 라디오 방송국 또는 스트림, 오디오북 등과 같은 오디오 콘텐츠를 재생하는데 사용된다. 모바일 디바이스 또는 독립형 인터렉티브 스피커에서 실행되는 자동화된 어시스턴트는 종종 스피커를 포함하거나 사용자가 오디오 콘텐츠를 들을 수 있는 헤드폰에 연결할 수 있다. 그러나 일반적으로, 이러한 오디오 콘텐츠와의 인터렉션은 주로 재생 제어, 예를 들어 재생 시작, 일시 중지, 재생 종료, 앞으로 또는 뒤로 건너뛰기, 음소거 또는 재생 볼륨 변경 또는 예를 들어, 노래 제목 또는 노래를 녹음한 아티스트에 대한 정보를 얻기 위해 전체 오디오 콘텐츠에 대한 정보에 대해 자동화된 어시스턴트에 질의하는 것에 제한되어 왔다. 특히, 음성 콘텐츠가 포함된 오디오 제시의 경우, 자동화된 어시스턴트 인터렉션의 범위가 크게 제한된다.
자동화된 어시스턴트에 의한 오디오 제시와의 사용자 인터렉션을 지원하기 위한 기법이 본 명세서에 기술되며, 특히 오디오 제시 내의 특정 지점에서 제시되는 이러한 오디오 제시의 음성 콘텐츠로 지원될 수 있다. 오디오 제시의 분석은 오디오 제시에 의해 어드레싱되거나 언급되거나 그렇지 않으면 오디오 제시와 연관된 하나 이상의 엔터티를 식별하기 위해 수행될 수 있고, 발언 분류는 오디오 제시의 재생 동안 수신된 발언이 오디오 제시, 그리고 일부 경우에는 오디오 제시에서 특정 엔터티 및/또는 재생 지점에 대한 것인지 여부를 결정하기 위해 수행되어, 발언에 대한 적절한 응답이 생성되게 한다.
따라서, 본 발명의 일 양태에 따라, 방법은 오디오 제시에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 오디오 제시와 연관된 음성 오디오 콘텐츠를 분석하는 단계, 상기 오디오 제시의 재생 동안 사용자 쿼리를 수신하는 단계, 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것으로 결정되면, 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하며, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하거나 상기 사용자 쿼리에 대한 응답을 생성하는 것은 상기 식별된 하나 이상의 엔터티를 사용한다.
일부 실시예에서, 상기 오디오 제시와 연관된 상기 음성 오디오 콘텐츠를 분석하는 단계는 전사된 텍스트를 생성하기 위해 상기 음성 오디오 콘텐츠에 대해 스피치 인식 프로세싱을 실행하는 단계, 및 상기 하나 이상의 엔터티를 식별하기 위해 상기 전사된 텍스트에 대해 자연어 프로세싱을 실행하는 단계를 포함한다. 또한, 일부 실시예에서, 상기 스피치 인식 프로세싱을 실행하는 단계, 상기 자연어 프로세싱을 실행하는 단계 및 상기 사용자 쿼리를 수신하는 단계는 어시스턴트 디바이스에 의한 오디오 제시의 재생 동안 어시스턴트 디바이스 상에서 수행된다.
또한, 일부 실시예에서, 상기 사용자 쿼리를 수신하는 단계는 상기 어시스턴트 디바이스에 의한 오디오 제시의 재생 동안 어시스턴트 디바이스 상에서 수행되며, 상기 스피치 인식 프로세싱을 실행하는 단계 및 상기 자연어 프로세싱을 실행하는 단계 중 적어도 하나는 상기 오디오 제시의 재생 전에 수행된다. 일부 실시예에서, 상기 스피치 인식 프로세싱을 실행하는 단계 및 상기 자연어 프로세싱을 실행하는 단계 중 적어도 하나는 원격 서비스에 의해 수행된다.
또한, 일부 실시예는 상기 오디오 제시의 특정 지점에 기초하여 상기 식별된 하나 이상의 엔터티를 사용하여 하나 이상의 제안을 결정하는 단계를 더 포함한다. 또한 일부 실시예는 상기 어시스턴트 디바이스에 의한 오디오 제시의 특정 지점의 재생 동안 어시스턴트 디바이스 상에 상기 하나 이상의 제안을 제시하는 단계를 더 포함한다. 또한, 일부 실시예는 상기 식별된 하나 이상의 엔터티를 사용하여 사용자 쿼리를 수신하기 전에 하나 이상의 잠재적 사용자 쿼리에 대한 응답을 사전 프로세싱하는 단계를 더 포함한다. 또한, 일부 실시예에서, 상기 사용자 쿼리에 대한 응답을 생성하는 단계는 상기 사용자 쿼리에 대한 응답을 생성하기 위해 상기 하나 이상의 사전 프로세싱된 응답으로부터 하나의 사전 프로세싱된 응답을 사용하는 단계를 포함한다.
일부 실시예에서, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계는 주어진 사용자 쿼리가 주어진 오디오 제시에 대한 것일 가능성이 있는지 여부의 표시를 출력하도록 트레이닝된 신경 네트워크 기반 분류기에 상기 오디오 제시로부터 전사된 텍스트 및 상기 사용자 쿼리를 제공하는 단계를 포함한다. 또한 일부 실시예는 상기 사용자 쿼리를 수신하기 전에 상기 오디오 제시로부터 오디오 데이터를 버퍼링하는 단계를 더 포함하고, 상기 오디오 제시와 연관된 음성 오디오 콘텐츠를 분석하는 단계는 상기 버퍼링된 오디오 데이터에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 상기 사용자 쿼리를 수신한 후에 상기 버퍼링된 오디오 데이터로부터 음성 오디오 콘텐츠를 분석하는 단계를 포함하며, 그리고 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계 또는 상기 사용자 쿼리에 대한 응답을 생성하는 단계는 상기 버퍼링된 오디오 데이터에서 어드레싱된 식별된 하나 이상의 엔터티를 사용한다. 더욱이, 일부 실시예에서, 오디오 제시는 팟캐스트이다.
일부 실시예에서, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 식별된 하나 이상의 엔터티를 사용하여 상기 오디오 제시에 대한 것인지를 결정하는 단계를 포함한다. 또한, 일부 실시예에서, 상기 사용자 쿼리에 대한 응답을 생성하는 단계는 상기 식별된 하나 이상의 엔터티를 사용하여 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함한다. 일부 실시예에서, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 오디오 제시의 특정 지점에 대한 것인지를 결정하는 단계를 포함한다. 또한, 일부 실시예에서, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 오디오 제시의 특정 엔터티에 대한 것인지를 결정하는 단계를 포함한다.
또한, 일부 실시예에서, 사용자 쿼리를 수신하는 단계는 어시스턴트 디바이스에서 수행되고, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 어시스턴트 디바이스에 대한 일반 쿼리가 아니라 상기 오디오 제시에 대한 것인지를 결정하는 단계를 포함한다. 일부 실시예에서, 사용자 쿼리를 수신하는 단계는 어시스턴트 디바이스에서 수행되고, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 어시스턴트 디바이스에 대한 일반 쿼리가 아니라 상기 오디오 제시에 대한 것임을 결정하는 단계를 포함한다.
또한, 일부 실시예에서, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 비-쿼리 발언이 아닌 상기 어시스턴트 디바이스에 대한 것임을 결정하는 단계를 더 포함한다. 또한, 일부 실시예는 상기 사용자 쿼리를 수신하는 것에 응답하여 상기 오디오 제시를 일시 중지할지 여부를 결정하는 단계를 더 포함한다.
또한, 일부 실시예에서, 상기 오디오 제시를 일시 중지할지 여부를 결정하는 단계는 상기 쿼리가 시각적 응답으로 응답될 수 있는지 여부를 결정하는 단계를 포함하고, 상기 방법은 상기 쿼리가 시각적 응답으로 응답될 수 있다는 결정에 응답하여, 상기 생성된 응답을 상기 오디오 제시를 일시 중지하지 않고 시각적으로 제시하는 단계, 및 상기 쿼리가 시각적 응답으로 응답될 수 없다는 결정에 응답하여, 상기 오디오 제시를 일시 중지하고, 상기 오디오 제시가 일시 중지된 동안 생성된 응답을 제시하는 단계를 포함한다. 또한, 일부 실시예에서, 상기 오디오 제시를 일시 중지할지 여부를 결정하는 단계는 상기 오디오 제시가 일시 중지 가능한 디바이스에서 재생되고 있는지 여부를 결정하는 단계를 포함하고, 상기 방법은: 상기 오디오 제시가 일시 중지 가능한 디바이스에서 재생되고 있지 않다는 결정에 응답하여, 상기 오디오 제시를 일시 중지하지 않고 상기 생성된 응답을 제시하는 단계, 및 상기 오디오 제시가 일시 중지 가능한 디바이스에서 재생되고 있다는 결정에 응답하여, 상기 오디오 제시를 일시 중지하고 상기 오디오 제시가 일시 중지되는 동안 상기 생성된 응답을 제시하는 단계를 포함한다.
본 발명의 다른 양태에 따라, 방법은, 음성 오디오 콘텐츠를 포함하는 오디오 제시의 재생 동안, 사용자 쿼리를 수신하는 단계, 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것으로 결정되면, 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하며, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하거나 상기 사용자 쿼리에 대한 응답을 생성하는 것은 상기 오디오 제시의 분석으로부터 식별된 하나 이상의 엔터티를 사용한다.
본 발명의 다른 양태에 따라, 방법은, 음성 오디오 콘텐츠를 포함하는 오디오 제시의 재생 동안, 상기 오디오 제시로부터 오디오 데이터를 버퍼링하고 사용자 쿼리를 수신하는 단계, 상기 사용자 쿼리를 수신한 후, 상기 버퍼링된 오디오 데이터에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 상기 버퍼링된 오디오 데이터로부터 음성 오디오 콘텐츠를 분석하는 단계, 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것으로 결정되면, 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하며, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하거나 상기 사용자 쿼리에 대한 응답을 생성하는 것은 상기 식별된 하나 이상의 엔터티를 사용한다.
추가로, 일부 구현예는 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들과 동작가능하게 연결된 메모리를 포함하는 시스템을 포함하고, 상기 메모리는 명령어들을 포함하며, 상기 명령어들은 하나 이상의 프로세서들에 의한 상기 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금 전술한 방법을 수행하게 한다. 또한, 일부 구현예는 오디오 입력 디바이스(예: 마이크로폰, 유선 입력, 디지털 오디오 데이터를 수신하는 네트워크 또는 저장 인터페이스) 및 오디오 입력 디바이스에 결합된 하나 이상의 프로세서들을 포함하고 하나 이상의 프로세서들로 하여금 전술한 방법 중 임의의 것을 수행하게 하기 위해 로컬적으로 저장된 명령어들을 실행하는 자동화된 어시스턴트 디바이스를 포함할 수 있다. 일부 구현예는 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 명령어들은 하나 이상의 프로세서에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서로 하여금 전술한 방법 중 임의의 것을 수행하게 하는 한다.
본 명세서에서 매우 상세히 기술된 상기 개념들 및 추가적 개념들의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려되어야 한다. 예를 들면, 본 명세서의 끝부분에 나타나는 청구된 발명의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려된다.
도 1은 본 명세서에 개시된 구현예들이 구현될 수 있는 예시적 컴퓨팅 환경의 블록도이다.
도 2는 본 명세서에 개시된 구현예들이 구현될 수 있는 예시적 기계 학습 스택의 예시적 구현예의 블록도이다.
도 3은 다양한 구현예에 따라, 오디오 제시로부터 오디오 콘텐츠를 캡처하고 분석하기 위한 예시적 동작 시퀀스를 도시하는 흐름도이다.
도 4은 다양한 구현예에 따라, 원격 서비스를 활용하여 오디오 제시로부터 오디오 콘텐츠를 캡처하고 분석하기 위한 예시적 동작 시퀀스를 도시하는 흐름도이다.
도 5는 다양한 구현예에 따라, 오디오 버퍼링을 활용하여 오디오 제시로부터 오디오 콘텐츠를 캡처하고 분석하기 위한 예시적 동작 시퀀스를 도시하는 흐름도이다.
도 6은 다양한 구현예에 따라, 오디오 제시와 연관된 제안을 제시하기 위한 예시적 동작 시퀀스를 도시하는 흐름도이다.
도 7은 다양한 구현예에 따라 발언을 프로세싱하고 그에 대한 응답을 생성하기 위한 예시적 동작 시퀀스를 도시하는 흐름도이다.
도 8은 컴퓨팅 디바이스의 예시적 아키텍처를 도시한다.
이제 도 1로 돌아가면, 본 명세서에 개시된 기법들이 구현될 수 있는 예시적 환경(100)이 도시된다. 예시적 환경(100)은 하나 이상의 원격 및/또는 클라우드 기반 자동화된 어시스턴트 컴포넌트(104)와 인터페이싱하는 어시스턴트 디바이스(102)를 포함하며, 이는 일반적으로 (106)에 표시된 하나 이상의 로컬 및/또는 광역 네트워크(예를 들어, 인터넷)를 통해 클라이언트 디바이스(102)에 통신가능하게 연결된 하나 이상의 컴퓨팅 시스템(집합적으로 "클라우드" 컴퓨팅 시스템으로 통칭)에서 선택적으로 구현될 수 있다. 어시스턴트 디바이스(102) 및 원격 또는 클라우드 기반 자동화된 어시스턴트 컴포넌트(104)를 동작하는 컴퓨팅 디바이스(들)은 데이터 및 소프트웨어 애플리케이션들의 저장을 위한 하나 이상의 메모리들, 데이터에 액세스하고 어플리케이션을 실행하기 위한 하나 이상의 프로세서 및 네트워크를 통해 통신을 지원하는 다른 컴포넌트들을 포함할 수 있다. 어시스턴트 디바이스(102) 및/또는 자동화된 어시스턴트 컴포넌트(들)(104)에 의해 수행되는 동작은, 예를 들어, 네트워크를 통해 서로 연결되는 하나 이상의 컴퓨터 위치의 하나 이상의 컴퓨터에서 실행되는 컴퓨터 프로그램으로서 다수의 컴퓨터 시스템에 걸쳐 분산될 수 있다. 다양한 구현예에서, 예를 들어, 자동화된 어시스턴트의 기능의 일부 또는 전부는 다수의 컴퓨터 시스템 사이에, 또는 심지어 클라이언트 컴퓨팅 디바이스에 분산될 수 있다. 일부 구현예에서, 예를 들어, 여기에서 논의된 기능은 예를 들어 온라인 연결이 없을 때에도 이러한 기능을 사용자가 사용할 수 있도록 클라이언트 컴퓨팅 디바이스 내에서 완전히 수행될 수 있다. 이와 같이, 일부 구현예에서, 어시스턴트 디바이스는 클라이언트 디바이스를 포함할 수 있고, 다른 구현예에서, 어시스턴트 디바이스는 클라이언트 디바이스로부터 원격의 하나 이상의 컴퓨터 시스템들 또는 심지어 클라이언트 디바이스와 하나 이상의 컴퓨터 원격 시스템의 조합을 포함할 수 있고, 이에 따라 어시스턴트 디바이스는 디바이스의 분산된 조합이다. 따라서, 어시스턴트 디바이스는 다양한 구현예에서 자동화된 어시스턴트의 임의의 기능을 구현하는 임의의 전자 디바이스를 포함하는 것으로 간주될 수 있다.
도시된 구현예에서 어시스턴트 디바이스(102)는 일반적으로 하나 이상의 원격 및/또는 클라우드 기반 자동화된 어시스턴트 컴포넌트(104)와의 인터렉션들에 의한 자동화된 어시스턴트 클라이언트(108)의 인스턴스가 사용자의 관점에서 사용자가 인간-대-컴퓨터 대화에 참여할 수 있게 하는 자동화된 어시스턴트의 논리적 인스턴스로 보이는 것을 형성할 수 있는 컴퓨팅 디바이스이다. 간결하고 간단하게 하기 위해, 본 명세서에서 특정한 사용자에게 "서비스하는 것"으로 사용되는 "자동화된 어시스턴트"라는 용어는 사용자에 의해 동작되는 어시스턴트 디바이스(102)에서 실행되는 자동화된 어시스턴트 클라이언트(108) 및 하나 이상의 원격 및/또는 클라우드 기반 자동화된 어시스턴트 컴포넌트들(104)(일부 구현예에서, 여러 자동화된 어시스턴트 클라이언트들 간에 공유될 수 있음)의 조합을 지칭한다.
어시스턴트 디바이스(102)는 또한 일부 구현예에서 자동화된 어시스턴트와 인터렉션하거나 이에 의해 지원될 수 있는 다양한 애플리케이션들(110)의 인스턴스들을 포함할 수 있다. 지원될 수 있는 다양한 애플리케이션(110)은 예를 들어, 팟캐스트 애플리케이션, 오디오북 애플리케이션, 오디오 스트리밍 애플리케이션 등과 같은 오디오 애플리케이션을 포함한다. 추가로, 하드웨어 관점에서, 어시스턴트 디바이스(102)는 예를 들어, 데스크톱 컴퓨터 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일폰 컴퓨팅 디바이스, 사용자의 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 네비게이션 시스템), 단독형 인터렉티브 스피커, 스마트 텔레비전과 같은 스마트 장비 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 구비한 사용자의 시계, 컴퓨팅 디바이스를 구비한 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다. 추가적 및/또는 대안적 컴퓨팅 디바이스가 다른 구현예에서 사용될 수 있고, 다양한 구현예에서 어시스턴트 디바이스가 그 유일한 기능으로서 어시스턴트 기능을 활용할 수 있고, 다른 구현예에서 어시스턴트 기능은 다양한 기능을 수행하는 컴퓨팅 디바이스의 구성일 수 있다는 것이 인식될 것이다.
본 명세서에서 보다 상세하게 설명된 바와 같이, 자동화된 어시스턴트는 어시스턴트 디바이스(102)의 사용자 인터페이스 입력 및 출력 디바이스(들)를 통해 하나 이상의 사용자와 인간 대 컴퓨터 대화 세션에 참여한다. 더욱이, 이러한 세션을 지원하는 것과 관련하여, 특히, 어시스턴트 디바이스 상의 오디오 제시와의 사용자 인터렉션을 지원하기 위해 다양한 추가 컴포넌트가 어시스턴트 디바이스(102)에 상주한다.
예를 들어, 오디오 재생 모듈(112)은 다양한 오디오 제시, 예를 들어, 오디오 제시 저장소(114)에 상주하는 하나 이상의 오디오 제시, 또는 원격 서비스로부터 스트리밍되는 하나 이상의 오디오 제시의 재생을 제어하는데 사용될 수 있다. 오디오 재생은 예를 들어, 어시스턴트 디바이스(102)의 하나 이상의 스피커를 사용하여, 또는 대안적으로, 예를 들어 헤드폰, 이어 버드, 카 스테레오, 홈 스테레오, 텔레비전 등에서 어시스턴트 디바이스(102)와 통신하는 하나 이상의 스피커를 사용하여 사용자에게 제시될 수 있다. 오디오 재생에 추가로 또는 그 대신에, 오디오 녹음 모듈(116)은 어시스턴트 디바이스와 동일한 환경에서 다른 장치에 의해 재생되는 오디오 제시의 적어도 일부 예를 들어 어시스턴트 디바이스 근처에서 재생 중인 라디오를 캡처하는 데 사용될 수 있다.
이와 관련하여 오디오 제시는 오디오 콘텐츠의 임의의 제시로 간주될 수 있으며, 많은 경우에 오디오 콘텐츠의 적어도 일부가 인간 언어 스피치를 포함하는 음성 오디오 콘텐츠인 오디오 콘텐츠의 제시로 간주될 수 있다. 일부 구현예에서 오디오 제시의 오디오 콘텐츠는 음악 및/또는 노래를 포함할 수 있지만, 아래에서 논의되는 많은 구현예에서 초점은 사용자가 인터렉션하기를 원할 수 있는 비-노래 음성 오디오 콘텐츠를 포함하는 오디오 제시 예를 들어, 팟캐스트, 오디오북, 라디오 프로그램, 토크쇼, 뉴스 프로그램, 스포츠 프로그램, 교육 프로그램 등에 있다. 일부 구현예에서, 오디오 제시는 픽션 및/또는 논픽션 주제에 관한 것일 수 있으며, 많은 구현예에서 오디오 제시는 오디오 콘텐츠로만 제한될 수 있지만, 일부 구현예에서, 오디오 콘텐츠에 더하여 시각적 또는 그래픽 콘텐츠를 포함할 수 있다.
이하 논의되는 구현예에서, 오디오 제시와 연관된 음성 오디오 콘텐츠는 오디오 제시에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 분석될 수 있고, 이러한 분석은 사용자에게 디스플레이 또는 제시하기 위한 음성 오디오 콘텐츠와 연관된 제안 생성 및/또는 오디오 제시의 재생 중에 사용자가 제기한 사용자 쿼리에 응답과 같은 다양한 동작을 수행하는데 사용될 수 있다. 일부 구현예에서, 예를 들어, 사용자 쿼리는 오디오 제시의 재생 동안 수신될 수 있고, 사용자 쿼리가 오디오 제시에 관한 것인지 여부에 대한 결정이 이루어질 수 있으므로, 사용자 쿼리가 오디오 제시에 관한 것이라고 결정되면 사용자 쿼리에 대한 적절한 응답이 생성되어 사용자에게 제시될 수 있다. 아래에서 더욱 명백해지는 바와 같이, 분석에 의해 식별된 엔터티는 예를 들어 사용자 쿼리가 오디오 제시에 관한 것인지 결정하려고 시도할 때 및/또는 사용자 쿼리에 대한 응답을 생성할 때 사용될 수 있다.
이러한 기능을 지원하기 위해, 어시스턴트 디바이스(102)는 다양한 추가 모듈 또는 컴포넌트(118-132)를 포함할 수 있다. 예를 들어, 스피치 인식 모듈(118)은 오디오 데이터로부터 텍스트(및/또는 다른 적절한 표현 또는 임베딩)를 생성하거나 전사하는데 사용될 수 있는 반면, 자연어 프로세싱 모듈(120)은 하나 이상의 엔터티를 생성하는데 사용될 수 있다. 모듈(118)은 예를 들어, 디지털 오디오 데이터의 형태로 음성 입력의 오디오 레코딩을 수신하고, 상기 디지털 오디오 데이터를 하나 이상의 텍스트 단어들 또는 문구들(본 명세서에서 "토큰들"이라고도 지칭됨)로 변환할 수 있다. 일부 구현예에서, 스피치 인식 모듈(118)은 음성 입력이 토큰 단위로 그리고 실시간 또는 거의 실시간으로 텍스트로 변환되어, 토큰들이 효과적으로 동시에 그리고 따라서 완전한 발화된 요청을 말하기 전에 모듈(118)로부터 출력될 수 있도록 하는 스트리밍 모듈이다. 스피치 인식 모듈(118)은 언어에서 단어 시퀀스들과 함께 언어에서 오디오 신호와 표음 단위들 간의 관계를 모델링하는 하나 이상의 음향 및/또는 언어 모델들에 의존할 수 있다. 일부 구현예에서, 단일 모델이 사용될 수 있는 반면, 다른 구현예에서는, 예를 들어, 다수의 언어들, 다수의 발화자들 등을 지원하기 위해, 다수의 모델들이 지원될 수 있다.
스피치 인식 모듈(118)이 스피치를 텍스트로 변환하는 반면, 자연어 프로세싱 모듈(120)은 모듈에 의해 출력된 텍스트의 시맨틱 또는 의미를 식별하려고 시도한다. 예를 들어, 자연어 프로세싱 모듈(120)은 액션 텍스트를 특정 컴퓨터 기반 액션에 매핑하고 엔터티 텍스트 및/또는 이러한 액션의 수행을 제한하는 다른 텍스트를 식별하기 위해 하나 이상의 문법 모델에 의존할 수 있다. 일부 구현예에서, 단일 모델이 사용될 수 있는 반면, 다른 구현예에서는, 상이한 컴퓨터 기반 액션들 또는 컴퓨터 기반 액션 도메인들(즉, 통신 관련 액션, 검색 관련 액션, 오디오/시각 관련 액션, 캘린더 관련 액션, 디바이스 제어 관련 액션 등과 같은 관련된 액션들의 집합)을 지원하기 위해, 다수의 모델들이 지원될 수 있다. 예를 들어, 문법 모델(어시스턴트 디바이스(102) 및/또는 원격 컴퓨팅 디바이스(들)에 저장됨)은 컴퓨터 기반 액션을 "자세히 알려줘", "길안내", "내비게이션", "보기", "전화", "이메일", "연락처" 등과 같은 음성 기반 액션 쿼리의 액션 용어에 매핑할 수 있다.
더욱이, 모듈(118 및 120)은 사용자로부터의 음성 입력 또는 쿼리를 프로세싱하기 위한 일부 구현예에서 사용될 수 있지만, 예시된 구현예에서 모듈(118 및 120)은 오디오 제시로부터 음성 오디오 콘텐츠를 프로세싱하기 위해 추가로 사용된다. 특히, 오디오 제시 분석 모듈(122)은 오디오 제시와 연관된 다양한 엔터티를 생성하기 위해 모듈(118, 120)을 활용함으로써 오디오 제시를 부분적으로 분석할 수 있다. 대안적으로, 스피치 인식 및 자연어 프로세싱은 예를 들어, 모듈(122) 내에 내장된 모듈(118, 120)과 별개의 기능을 사용하여 수행될 수 있다. 이와 관련하여 엔터티는 음성 오디오 콘텐츠에 통합된 실질적으로 모든 논리적 또는 의미론적 개념을 나타낼 수 있다(예: 오디오 제시의 음성 오디오 콘텐츠와 연관된 주제, 사람, 장소, 사물, 이벤트, 의견, 사실, 조직, 날짜, 시간, 주소, URL, 이메일 주소, 측정값 등) 모듈(118, 120) 중 어느 하나는 엔터티를 식별 및/또는 명확화하는 것을 돕기 위해 추가 콘텐츠 메타데이터(예를 들어, 팟캐스트 제목, 설명 등)를 사용할 수 있다. 엔터티는 또한 예를 들어 주제 "Battle of Verdun"에 대한 엔터티가 제1차 세계 대전에 관한 팟캐스트에서 13:45에 언급되었음을 나타내는 연관된 타임스탬프를 포함하는 오디오 제시의 특정 지점과 논리적으로 연관될 수 있다. 엔터티를 오디오 제시의 특정 지점과 연관시킴으로써, 사용자가 재생 중 특정 지점에서 쿼리를 발행할 때 어드레싱되는 엔터티가 무엇인지 알고 있으면 많은 경우 쿼리의 모호한 측면을 해결하는데 도움이 될 수 있으므로 엔터티는 "이 일이 발생한 연도" 또는 "이에 대해 자세히 알려줘"와 같은 보다 모호한 사용자 쿼리에 응답하는데 유용할 수 있다.
예시된 구현예에서, 오디오 제시 분석 모듈(122)은 적어도 2가지 방식으로 사용자에게 피드백을 제공하기 위해 사용될 수 있지만, 본 발명은 이에 제한되지 않는다. 일부 구현예에서 예를 들어, 사용자가 오디오 제시의 상이한 지점에 발행하기를 원하는 쿼리에 대한 관심 사실이나 제안을 디스플레이함으로써 자동화된 어시스턴트가 오디오 제시의 재생 동안 사용자에게 제안을 제공하는 것이 바람직할 수 있다. 이와 같이, 모듈(122)은 오디오 제시에서 식별된 엔터티에 기초하여 제안을 생성할 수 있는 제안 생성기(124)를 포함할 수 있다(예를 들어, "Tap here to learn more about <personality> interviewed in podcast" 또는 "Tap here to check-out the offer from <service being advertised>"). 또한 일부 구현예에서 자동화된 어시스턴트가 사용자에 의해 발행된 특정 쿼리에 응답하는 것이 바람직할 수 있으며, 이와 같이 모듈(122)은 특정 쿼리에 대한 응답을 생성하기 위한 응답 생성기(126)도 포함할 수 있다. 아래에서 더 분명해지는 바와 같이, 생성기(124, 126) 중 하나는 요청 시(즉, 재생 동안 및/또는 특정 쿼리에 대한 응답으로) 제안 및/또는 응답을 생성하는데 사용될 수 있으며, 일부 구현예에서, 생성기 중 하나는 재생 및/또는 쿼리 프로세싱 동안 프로세싱 오버헤드를 줄이기 위해 오디오 제시 재생 전에 사전 프로세싱된 제안 및/또는 응답을 생성하는데 사용될 수 있다.
모듈(122)을 지원하기 위해, 엔터티 및 액션 저장소(128)는 오디오 제시에서 식별된 엔터티 뿐만 아니라 임의의 저장된 엔터티와 연관된 사용자 입력에 응답하여 트리거될 수 있는 임의의 액션(예를 들어, 제안, 응답 등)을 저장할 수 있다. 본 발명이 그렇게 제한되지는 않지만, 일부 구현예에서 액션은 동사와 유사하고 엔터티는 명사 또는 대명사와 유사하므로, 쿼리는 수행할 액션 및 액션의 초점인 하나 이상의 엔터티를 식별하거나 이와 연관될 수 있다. 따라서, 실행될 때, 사용자 쿼리는 쿼리에서 (주변 컨텍스트를 통해 직간접적으로) 참조되는 하나 이상의 엔터티와 관련한 컴퓨터 기반 액션의 수행을 야기할 수 있다(예: 쿼리가 Verdun 전투에 대한 토론 중에 발행된 경우 "이 일이 발생한 연도?"는 Verdun 전투 시작 날짜에 대한 웹 검색에 매핑될 수 있음).
저장소(114, 128)는 일부 구현예에서 어시스턴트 디바이스(102)에 로컬적으로 상주할 수 있다는 것이 이해될 것이다. 그러나, 다른 구현예에서, 저장소(114, 128)는 하나 이상의 원격 디바이스들에 부분적으로 또는 완전히 상주할 수 있다.
위에서 언급한 바와 같이, 오디오 제시 분석 모듈(122)의 제안 생성기(124)는 어시스턴트 디바이스(102)의 사용자에게 제시하기 위한 제안을 생성할 수 있다. 일부 구현예에서, 어시스턴트 디바이스(102)는 디스플레이를 포함할 수 있고, 따라서 통합 디스플레이 상에서 제안들의 시각적 표현들을 렌더링하기 위해 시각적 렌더링 모듈(130)을 포함하는 것이 바람직할 수 있다. 또한, 쿼리에 대한 시각적 응답이 지원되는 경우, 모듈(130)은 쿼리에 대한 텍스트 및/또는 그래픽 응답을 생성하는데 적합할 수 있다.
자동화된 어시스턴트(108)에 의해 활용되는 또 다른 모듈은 자동화된 어시스턴트(108)에 의해 검출된 임의의 음성 발언을 분류하는데 사용되는 발언 분류기 모듈(132)이다. 모듈(132)은 일반적으로 어시스턴트 디바이스(102)가 위치한 환경 내에서 발화되는 발언으로부터 음성 기반 쿼리를 검출하고 발언과 연관된 의도(있는 경우)를 결정하려고 시도하는데 사용된다. 아래에서 더 분명해지는 바와 같이, 본 개시의 맥락에서, 모듈(132)은 예를 들어 발언이 쿼리인지, 발언이 자동화된 어시스턴트에 대한 것인지, 발언이 오디오 제시에 관한 것인지 여부 또는 심지어 발언이 오디오 제시의 특정 엔터티 및/또는 지점에 관한 것인지 여부를 결정하는데 사용될 수 있다.
어시스턴트 디바이스(102)에 상주하는 것으로 도시된 전술한 모듈 및 컴포넌트 중 임의의 것의 기능의 일부 또는 전부는 다른 구현예에서 원격 자동화된 어시스턴트 컴포넌트에서 구현될 수 있다는 것이 이해될 것이다. 따라서, 본 발명은 도 1에 도시된 기능의 특정 할당에 제한되지 않는다.
본 명세서에 설명된 기능은 상이한 구현예에서 다수의 상이한 방식들로 구현될 수 있지만, 도 2는 자동화된 어시스턴트와 오디오 제시 인터렉션 지원에 적합한 4개의 단계들(152, 154, 156, 158)을 포함하는 종단 간 오디오 이해 스택(150)을 활용하는 하나의 예시적 구현예를 도시한다.
이 구현예에서, 제1 스피치 인식 단계(152)는 오디오 제시(160)로부터 텍스트를 생성하거나 전사하고, 그 다음 이것은 적절한 엔터티 또는 메타데이터로 텍스트에 주석을 달기 위해 제2 자연어 프로세싱 단계(154)에 의해 프로세싱된다. 제3 단계(156)는 2개의 상이한 컴포넌트, 주석이 달린 텍스트로부터 제안을 생성하는 제안 생성 컴포넌트(162) 및 예를 들어 발언(166)으로서 제공되는 사용자에 의해 발행된 쿼리의 의도를 검출하고 결정하는 쿼리 프로세싱 컴포넌트(164)를 포함한다. 각각의 컴포넌트(162, 164)는 또한 컨텍스트 정보(168), 예를 들어, 사용자의 의도를 결정하고 및/또는 특정 사용자에 대한 유용하고 유익한 제안을 생성하는데 사용될 수 있는 이전 사용자 쿼리 또는 편향, 대화 정보 등을 활용할 수 있다. 제4 피드백 생성 단계(158)는 컴포넌트(162, 164) 및 표면으로부터 누적 옵션을 사용자 피드백(170)으로서 수동적으로 경청된 사용자의 입력 또는 컨텍스트에 기초하여 수행할 가능성이 가장 높은 액션을 사용자에게 제공하는 순위 시스템을 통합할 수 있다. 일부 구현예에서, 단계(152, 154)는 스피치 인식 파이프라인 및 사용자 발언을 프로세싱하는데 사용되는 텍스트 주석을 프로세싱하기 위해 어시스턴트 스택에서 사용되는 것과 유사한 신경 네트워크를 사용하여 구현될 수 있고, 많은 경우에 어시스턴트 디바이스에서 로컬로 또는 대안적으로 적어도 부분적으로 하나 이상의 원격 디바이스에서 실행될 수 있다. 유사하게, 단계(156, 158)는 일부 구현예에서 어시스턴트 스택의 확장으로서 구현되거나 대안적으로 어시스턴트 스택과 별개의 커스텀 기계 학습 스택을 사용하여 구현될 수 있고, 어시스턴트 디바이스에서 로컬로 또는 하나 이상의 원격 디바이스에서 부분적으로 또는 전체적으로 구현될 수 있다.
일부 구현예에서, 제안 생성 컴포넌트(162)는 사용자가 가지고 있거나 현재 듣고 있는 콘텐츠와 일치하는 제안을 생성하도록 구성될 수 있고, 검색을 수행하거나 예를 들어, 엔터티와 관련된 딥 링크를 표면화함으로써(또는 다른 애플리케이션 기능) 다른 애플리케이션과 통합하는 것과 같은 액션을 수행할 수 있다. 더욱이, 쿼리 프로세싱 컴포넌트(164)는 사용자에 의해 발행된 쿼리 또는 발언의 의도를 결정할 수 있다. 또한, 아래에서 더 분명해지는 바와 같이, 쿼리 프로세싱 컴포넌트(164)는 또한 특정 쿼리에 응답하여 오디오 제시의 재생을 중단하거나 일시 중지할 수 있으며, 쿼리가 오디오 제시와 관련되어 있는지 또는 일반적인 비관련 어시스턴트 명령인지 여부 및 일부 경우에는 쿼리가 오디오 제시의 특정 지점 또는 오디오 제시에서 참조되는 특정 엔터티와 관련되는지 여부를 분류할 수 있는 기계 학습 모델을 포함할 수 있다. 일부 구현예에서, 기계 학습 모델은 주어진 사용자 쿼리가 주어진 오디오 제시에 관한 것일 가능성이 있는지 여부의 표시를 출력하도록 트레이닝된 멀티 레이어 신경 네트워크 분류기일 수 있고, 예를 들어 사용자 쿼리뿐만 아니라 전사된 오디오 콘텐츠 둘 모두의 임베딩 레이어를 입력으로 사용하고 사용자 쿼리가 오디오 콘텐츠와 관련된 것으로 결정되면 하나 이상의 사용 가능한 액션을 반환한다.
피드백 생성 단계는 일부 구현예에서 컴포넌트(162, 164) 모두로부터의 출력을 결합하고, 사용자에게 제시할 것과 제시하지 않을 것을 순위화할 수 있다. 예를 들어, 사용자 쿼리가 오디오 제시와 관련된 것으로 간주되지만 액션이 반환되지 않았고, 하나 이상의 제안이 여전히 사용자에게 표시되는 것이 바람직할 수 있는 경우일 수 있다.
이제 도 3 내지 도 5로 돌아가면, 도시된 바와 같이, 일부 실시예에서, 오디오 제시로부터의 음성 오디오 콘텐츠는 오디오 제시와 연관되거나 참조되는 다양한 엔터티를 식별하기 위해 일부 구현예에서 분석될 수 있다. 도 3은, 예를 들어, 도 1의 오디오 제시 분석 모듈(122)에 의해 수행될 수 있는 바와 같이, 오디오 제시에 대해 수행될 수 있는 동작(200)의 예시적 시퀀스를 도시한다. 일부 구현예에서, 시퀀스(200)는 예를 들어 오디오 제시의 재생 동안 실시간 기반으로 수행될 수 있다. 그러나, 다른 구현예에서, 시퀀스(200)는 오디오 제시의 재생 이전에, 예를 들어 오디오 제시에 대해 수행되는 사전 프로세싱 동작의 일부로서 수행될 수 있다. 일부 구현예에서, 예를 들어, 배치 프로세스에서 다수의 오디오 제시를 사전 프로세싱하고 오디오 제시의 재생 동안 나중에 검색하기 위해 엔터티, 타임스탬프, 메타데이터, 사전 프로세싱된 제안 및/또는 사전 프로세싱된 응답을 저장하는 것이 바람직할 수 있다. 그렇게 하는 것은 재생 동안 어시스턴트 디바이스를 통한 오디오 제시와의 사용자 인터렉션을 지원하는 것과 연관된 프로세싱 오버헤드를 감소시킬 수 있다. 이와 관련하여 단일 사용자 디바이스가 아닌 원격 또는 클라우드 기반 서비스에 의해 이러한 일괄 프로세싱을 수행하는 것이 바람직할 수 있다.
따라서, 블록(202)에 도시된 바와 같이, 오디오 제시를 분석하기 위해, 오디오 제시가 제시, 검색 또는 캡처될 수 있다. 이와 관련하여 제시된 것은 일반적으로 원격 디바이스 또는 서비스로부터의 로컬 스트리밍 또는 스트리밍을 포함할 수 있는 어시스턴트 디바이스에서의 오디오 제시의 재생을 지칭하며, 오디오 제시의 음성 오디오 콘텐츠는 일반적으로 오디오 제시의 결과로서 획득된다는 것이 이해될 것이다. 이와 관련하여 검색은 일반적으로 저장소로부터 오디오 제시의 검색을 지칭한다. 검색은 일부 경우에 재생과 결합될 수 있지만, 다른 경우에는 예를 들어 배치 프로세스의 일부로 오디오 제시를 사전 프로세싱할 때 검색이 오디오 제시의 재생과 분리될 수 있다. 이와 관련하여 캡처는 일반적으로 오디오 제시가 어시스턴트 디바이스 이외의 디바이스에 의해 제시될 때 오디오 제시로부터 오디오 콘텐츠를 획득하는 것을 지칭한다. 일부 구현예에서, 예를 들어, 어시스턴트 디바이스는 어시스턴트 디바이스와 동일한 환경에서 다른 디바이스에 의해 재생되는 예를 들어 라디오, 텔레비전, 홈 또는 비즈니스 오디오 시스템 또는 다른 사용자의 디바이스에 의해 재생될 수 있는 오디오를 캡처하는데 사용될 수 있는 마이크를 포함할 수 있다.
오디오 제시의 음성 오디오 콘텐츠의 소스에 관계없이, 오디오 제시의 전사된 텍스트를 생성하기 위해 오디오 콘텐츠에 대해 자동화된 스피치 인식이 수행될 수 있고(블록 204), 전사된 텍스트는 자연 언어 프로세싱을 수행하는데 사용되어 오디오 제시와 연관되거나 어드레싱된 하나 이상의 엔터티를 식별한다(블록 206). 또한, 일부 구현예에서, 본 명세서의 다른 곳에서 설명된 바와 같이 응답 및 제안이 생성되는 유사한 방식으로, 하나 이상의 사전 프로세싱된 응답 및/또는 제안이 식별된 엔터티에 기초하여 생성 및 저장될 수 있다(블록 208). 또한, 블록(208)에서 블록(202)으로의 화살표로 표시된 바와 같이, 일부 구현예에서 시퀀스(200)는 오디오 제시에 대해 점진적으로 수행될 수 있으며, 이에 의해 오디오 제시의 재생 동안 재생 및 분석이 효과적으로 병렬로 발생한다.
위에서 언급한 바와 같이, 오디오 제시의 분석과 연관된 다양한 기능은 다수의 컴퓨팅 디바이스에 분산될 수 있다. 예를 들어, 도 4는 오디오 제시의 실시간 스트리밍 및 분석을 수행하기 위해 원격 또는 클라우드 기반 서비스(오른쪽 열)와 통신하는 어시스턴트 디바이스(왼쪽 열)에 의존하는 일련의 동작(210)을 도시한다. 구체적으로, 블록(212)에서, 어시스턴트 디바이스는 예를 들어, 오디오 제시로부터 어시스턴트 디바이스의 사용자에게 오디오를 재생함으로써 오디오 제시를 사용자에게 제시할 수 있다. 이러한 재생 동안, 오디오 제시는 도 3의 블록(204 및 206)과 거의 동일한 방식으로 자동화된 스피치 인식 및 자연어 프로세싱(블록(216 및 218))를 수행하는 원격 서비스로 스트리밍될 수 있다(블록 214). 또한, 일부 구현예에서, 도 3의 블록(208)과 유사한 방식으로 식별된 엔터티에 기초하여 하나 이상의 사전 프로세싱된 응답 및/또는 제안이 생성되고 저장될 수 있으며(블록 220), 엔터티(및 선택적으로, 응답 및/또는 제안)은 어시스턴트 디바이스로 반환될 수 있다(블록 222). 그 다음, 어시스턴트 디바이스는 수신된 정보를 저장하고(블록 224), 오디오 제시의 제시는 제시가 종료될 때까지 또는 너무 일찍 일시 중지되거나 중지될 때까지 진행된다.
이제 도 5를 참조하면, 일부 구현예에서 사용자 쿼리에 의해 필요할 때까지 오디오 제시의 분석을 연기하거나 지연하는 것이 바람직할 수 있으며, 그 중 하나의 예가 시퀀스(230)에 도시되어 있다. 따라서, 재생 동안 전체 오디오 제시에 대해 스피치 인식 및 자연어 프로세싱을 연속적으로 수행하는 것보다, 일부 구현예에서, 적절한 사용자 쿼리가 수신될 때까지 오디오 제시로부터 오디오 데이터를 단순히 버퍼링하거나 저장한 다음 사용자 쿼리가 수신되는 오디오 제시의 특정 지점에 근접한 오디오 제시의 일부(예를 들어, 마지막 N초)를 분석하는 것이 바람직할 수 있다. 따라서, 하나의 대표적인 예에서, 사용자가 "이것은 몇 년도에 일어났습니까?"와 같은 쿼리를 발행하면, 오디오 제시의 마지막 30초 정도를 분석하여 현재 논의되고 있는 주제가 베르?? 전투인지 결정할 수 있고, 검색을 수행하여 "1916년에 베르?? 전투가 발생했다"와 같은 대표적인 응답을 생성할 수 있다.
따라서, 블록(232)에 도시된 바와 같이, 오디오 제시는 버퍼링된 오디오 제시의 마지막 N 초와 함께 어시스턴트 디바이스에 의해 제시되거나 (다른 디바이스에 의해 제시되는 경우) 캡처될 수 있다(블록 234). 일부 예에서, 버퍼링은 캡처된 오디오 데이터를 저장하는 것을 구성할 수 있고, 다른 예에서, 예를 들어 제시가 어시스턴트 디바이스에서 시작되고 오디오 제시가 현재 어시스턴트 디바이스에 저장되어 있는 경우, 버퍼링은 단순히 현재 재생 지점 이전의 오디오 제시의 범위에 대한 참조를 유지하는 것을 포함하여, 분석이 필요할 때 저장소에서 적절한 범위가 검색되게 할 수 있다.
재생은 사용자 쿼리가 수신될 때까지 이러한 방식으로 계속되고(블록 236), 일단 사용자 쿼리가 수신되면, 도 3 내지 도 4와 관련하여 위에서 논의된 것과 유사한 방식으로 버퍼링된 오디오 또는 오디오 제시의 범위에 대해 자동화된 스피치 인식 및 자연어 프로세싱이 수행된다(블록(238 및 240)). 그 다음, 도 7과 관련하여 아래에 설명된 것과 유사한 방식으로, 그러나 주로 오디오 제시의 버퍼링된 부분의 분석에 기초하여 사용자 쿼리가 프로세싱된다(블록 242).
이제 도 6을 참조하면, 일부 구현예에서, 오디오 제시의 제시 동안 어시스턴트 디바이스에 제안을 사전에 디스플레이하는 것이 바람직할 수 있으며, 그 일 예가 동작의 시퀀스(250)에 의해 도시된다. 구체적으로, 오디오 제시의 제시 또는 캡처 동안(블록 252), 임의의 저장된 제안이 오디오 제시의 현재 재생 지점과 연관되는지 여부에 대한 결정이 이루어질 수 있다. 그렇지 않다면, 오디오 제시의 재생이 계속되고 제어는 블록(252)으로 돌아간다. 그러나, 임의의 제안이 재생의 현재 지점과 관련된 경우, 제어는 예를 들어, 어시스턴트 디바이스에 디스플레이된 카드, 알림 또는 칩을 사용하여 어시스턴트 디바이스에 하나 이상의 제안을 일시적으로 디스플레이하기 위해 블록(256)으로 넘어간다. 제안은 또한 제안과의 사용자 인터렉션이 특정 액션을 트리거할 수 있도록 일부 구현예에서 액션과 연관될 수 있다. 따라서, 예를 들어 팟캐스트에서 특정 개인에 대해 논의되는 경우, 적절한 제안은 "Tap here to learn more about <personality> interviewed in Podcast."을 기재하여, 제안을 선택하면 개인에 대한 추가 정보가 있는 브라우저 탭이 열릴 수 있다.
제안은 다양한 구현예에서 다양한 방식으로 생성될 수 있다. 위에서 언급한 바와 같이, 예를 들어, 오디오 제시의 재생 동안 실시간이든, 또는 예를 들어 오디오 제시의 사전 프로세싱의 결과로서 사전에 오디오 제시의 분석 동안 제안이 생성될 수 있다. 이와 같이, 저장된 제안은 오디오 제시가 분석되는 동안에만 최근에 저장되었을 수 있다. 더욱이, 제안은 일부 구현예에서 특정 엔터티와 연관되어, 특정 엔터티가 오디오 제시 동안 특정 지점에서 참조되고 오디오 제시의 분석 결과로 식별될 때마다 특정 엔터티와 연관된 제안이 검색되고 선택적으로 순위가 매겨지고 사용자에게 디스플레이되도록 한다. 제안의 검색이 오디오 제시에서 현재 어드레싱되고 있는 엔터티가 아니라 오디오 제시의 현재 재생 포인트에 기초할 수 있도록 제안은 또한 또는 대안적으로 오디오 제시의 특정 지점과 연관될 수 있다.
다음으로, 도 7은 예를 들어, 도 1의 발언 분류기 모듈(132)에 의해, 그리고 일부 구현예에서 주어진 사용자 쿼리가 주어진 오디오 제시에 관한 것일 가능성이 있는지 여부에 대한 표시를 출력하도록 트레이닝된 신경 네트워크 기반 분류기를 사용하여 수행될 수 있는 것으로서 발언 또는 사용자 쿼리를 프로세싱하는데 적절한 예시적 동작(260)의 시퀀스를 도시한다. 시퀀스는, 예를 들어, 어시스턴트 디바이스의 마이크로폰에 의해 캡처된 바와 같이 오디오 제시의 제시 동안 발언을 수신함으로써 시작한다(블록 262). 그 다음, 발언 의도를 결정하기 위해 발언이 프로세싱될 수 있다(블록 264). 일부 경우에, 발언 의도는 현재 제시되고 있는 오디오 제시 및/또는 오디오 제시의 현재 재생 지점으로부터 하나 이상의 식별된 엔터티에 적어도 부분적으로 기초할 수 있다. 일부 구현예에서, 발언의 분류는 다층화될 수 있고, (1) 발언이 자동화된 어시스턴트로 향하는지 여부(예를 들어, 환경에서 다른 사람에게 향하는 비-쿼리 발언, 특히 아무에게도 향하지 않거나 배경 소음과 반대), (2) 발언이 오디오 제시에 관한 것인지 여부(예: 자동화된 어시스턴트에 대한 일반 쿼리와 반대), (3) 발언이 오디오 제시의 특정 지점에 대한 것인지 여부, 또는 (4) 발언이 오디오 제시와 연관된 특정 엔터티에 대한 것인지 여부 중 하나 이상을 결정하려고 시도할 수 있다. 따라서, 발언에 대한 어시스턴트 디바이스의 응답은 분류에 따라 달라질 수 있다. 또한, 일부 구현예에서 음향 반향 제거가 활용되어 오디오 제시 자체가 발언으로 프로세싱되지 않도록 한다.
하나의 예시적 구현예에서, 발언의 분류는 발언이 어시스턴트에 대한 것인지 여부에 기초하고(블록 266); 그렇다면, 발언이 보다 구체적으로 현재 제시되고 있는 오디오 제시에 관한 것인지 여부(블록 268); 그리고 그렇다면, 발언이 훨씬 더 구체적으로 오디오 제시의 특정 지점(블록 270) 또는 오디오 제시의 특정 엔터티(블록 272)에 관한 것인지 여부에 기초할 수 있다.
발언이 어시스턴트를 향하지 않은 것으로 결정되면, 발언은 무시될 수 있거나, 대안적으로 "나는 그것을 이해하지 못했는데, 반복하시겠습니까?"와 같은 응답이 생성될 수 있다(블록 274). 발언이 어시스턴트로 향하지만 구체적으로 오디오 제시에 관한 것이 아닌 것으로 결정되면(예를 들어, "내일 날씨는?"), 응답은 통상적인 방식으로 생성될 수 있다(블록 276). 유사하게, 발언이 오디오 제시에 관한 것으로 결정되었지만 오디오 제시의 특정 지점이나 엔터티에 관한 것이 아닌 것으로 결정되면(예: "팟캐스트 일시 중지" 또는 "이 팟캐스트를 무엇이라고 합니까?"), 적절한 응답이 생성될 수 있다(블록 276).
그러나, 발언 분류가 발언이 오디오 제시의 특정 지점 및/또는 엔터티에 관한 것으로 결정하는 경우, 제어는 블록(278)으로 전달되어 임의의 사전 프로세싱된 응답이 이용 가능한지(예를 들어, 도 3-4와 관련하여 상기 논의된 바와 같이) 선택적으로 결정한다. 응답 사전 프로세싱이 사용되지 않는 경우, 블록(278)은 생략될 수 있다. 사전 프로세싱된 응답을 사용할 수 없는 경우 응답이 생성될 수 있다(블록 280). 응답을 준비할 때, 하나 이상의 식별된 엔터티 및/또는 오디오 제시의 현재 재생 지점을 선택적으로 사용하여 적절한 응답을 결정할 수 있다.
다음으로, 사전 프로세싱된 응답을 사용할 수 있거나 새 응답이 생성된 경우 응답이 사용자에게 제시될 수 있다. 예시된 구현예에서, 응답은 응답의 유형 및 응답이 생성된 컨텍스트에 따라 다양한 방식으로 제시될 수 있다. 특히, 도시된 구현예에서, 응답이 시각적인 응답인지에 대한 결정이 이루어지며(블록 282), 이는 응답이 시각적 수단을 통해(예를 들어, 어시스턴트 디바이스의 디스플레이를 통해) 사용자에게 제시될 수 있음을 의미한다(블록 282). 그렇다면, 오디오 제시의 재생을 일시 중지하지 않고 응답이 제공될 수 있다(블록 284). 그러한 응답의 예로는 베르?? 전부에 관한 논의 동안 "이게 언제 몇년도에 일어났어?"라는 쿼리에 응답한 "베르?? 전투는 1916년에 일어났다."라는 메시지가 어시스턴트 디바이스에 디스플레이되는 알림, 카드 또는 칩이 있을 수 있다. 그러나, 다른 구현예에서, (예를 들어, 비-디스플레이 어시스턴트 디바이스에 대해) 어떠한 시각적 응답도 지원되지 않을 수 있고, 이에 의해 블록(282)이 생략될 수 있다.
응답이 시각적 응답이 아니면, 재생이 일시 중지 가능한지 여부에 대한 결정이 내려질 수 있다(블록 286). 예를 들어, 재생이 라디오에서 또는 어시스턴트 디바이스가 아닌 다른 디바이스에서 재생되고/또는 제어할 수 없는 경우 또는 오디오 제시가 일시 중지하지 않는 것이 바람직한 라이브 스트림인 경우 재생을 일시 중지할 수 없다. 그러한 경우에, 제어는 재생을 일시 중지하지 않고 응답을 제시하기 위해 블록(284)으로 넘어갈 수 있다. 그러나, 재생이 일시 중지 가능한 경우, 제어는 재생을 일시적으로 일시 중지하고 응답을 제시하고 일반적으로 응답 제시의 완료 시 오디오 제시의 재생을 계속하기 위해 블록(288)으로 넘어갈 수 있다.
도 8은 본 명세서에 기술된 기능의 전부 또는 일부를 구현하기에 적절한 예시적 컴퓨팅 디바이스(300)의 블록도이다. 컴퓨팅 디바이스(300)는 일반적으로 적어도 하나의 프로세서(302)를 포함하며, 버스 서브시스템(304)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리 서브시스템(308) 및 파일 저장 서브시스템(310)을 포함하는 저장 서브시스템(306), 사용자 인터페이스 입력 디바이스(312), 사용자 인터페이스 출력 디바이스(314) 및 네트워크 인터페이스 서브시스템(316)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(300)와 사용자 인터렉션을 하게 한다. 네트워크 인터페이스 서브시스템(316)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨팅 디바이스들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(312)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 “입력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(300) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(314)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 “출력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(300)로부터 사용자에게 또는 다른 기계 또는 컴퓨팅 디바이스에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
저장 서브시스템(306)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들면, 저장 서브시스템(306)은 도 5, 7 및/또는 10에 도시된 다양한 시퀀스의 선택된 양태들을 수행하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(302) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(306)에서 사용된 메모리(308)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(318) 및 고정된 명령어들이 저장되는 ROM(420)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(310)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(310)에 의해 저장 서브시스템(306)에 또는 프로세서(들)(302)에 의해 액세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(304)은 의도된 대로 컴퓨팅 디바이스(300)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(304)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(300)는 모바일 디바이스, 스마트폰, 태블릿, 랩톱 컴퓨터, 데스크톱 컴퓨터, 웨어러블 컴퓨터, 프로그래머블 전자 디바이스, 셋톱 박스, 전용 어시스턴트 디바이스, 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 8에 도시된 컴퓨팅 디바이스(300)는 일부 구현예들을 설명하기 위한 목적의 특정 예로서만 의도된다. 컴퓨팅 디바이스(300)의 많은 다른 구성들이 도 8에 도시된 컴퓨팅 디바이스(300)보다 많거나 적은 컴포넌트들을 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 지리적 위치)에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 콘텐츠 서버로부터의 콘텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 지리적 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 사용되는지에 관한 제어를 가질 수 있다.
몇몇 구현예가 본 명세서에서 기술되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본 명세서에 기술된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 활용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 기술된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되었으며, 실제 파라미터, 치수, 재료 및/또는 구성은 교시를 사용되는 특정 애플리케이션 또는 애플리케이션들에 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에 기술된 특정 구현예들에 대한 많은 균등물들을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구범위 및 그 균등물의 범위 내에서 구현은 구체적으로 기술되고 청구된 것과 다르게도 실시될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 기술된 각각의 개별적인 구성, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한 구성, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 불일치하지 않는다면, 그러한 두 개 이상의 구성, 시스템, 물품, 재료, 키트 및/또는 방법의 모든 조합이 본 발명의 범위 내에 포함된다.

Claims (27)

  1. 컴퓨터로 구현되는 방법으로서,
    오디오 제시에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 오디오 제시와 연관된 음성 오디오 콘텐츠를 분석하는 단계;
    상기 오디오 제시의 재생 동안 사용자 쿼리를 수신하는 단계; 및
    상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것으로 결정되면, 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하며, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하거나 상기 사용자 쿼리에 대한 응답을 생성하는 것은 상기 식별된 하나 이상의 엔터티를 사용하는, 방법.
  2. 청구항 1에 있어서, 상기 오디오 제시와 연관된 상기 음성 오디오 콘텐츠를 분석하는 단계는:
    전사된 텍스트를 생성하기 위해 상기 음성 오디오 콘텐츠에 대해 스피치 인식 프로세싱을 실행하는 단계; 및
    상기 하나 이상의 엔터티를 식별하기 위해 상기 전사된 텍스트에 대해 자연어 프로세싱을 실행하는 단계를 포함하는, 방법.
  3. 청구항 2에 있어서, 상기 스피치 인식 프로세싱을 실행하는 단계, 상기 자연어 프로세싱을 실행하는 단계 및 상기 사용자 쿼리를 수신하는 단계는 어시스턴트 디바이스에 의한 오디오 제시의 재생 동안 어시스턴트 디바이스 상에서 수행되는, 방법.
  4. 청구항 2 또는 3에 있어서, 상기 사용자 쿼리를 수신하는 단계는 상기 어시스턴트 디바이스에 의한 오디오 제시의 재생 동안 어시스턴트 디바이스 상에서 수행되며, 상기 스피치 인식 프로세싱을 실행하는 단계 및 상기 자연어 프로세싱을 실행하는 단계 중 적어도 하나는 상기 오디오 제시의 재생 전에 수행되는, 방법.
  5. 청구항 2 내지 4 중 어느 한 항에 있어서, 상기 스피치 인식 프로세싱을 실행하는 단계 및 상기 자연어 프로세싱을 실행하는 단계 중 적어도 하나는 원격 서비스에 의해 수행되는, 방법.
  6. 임의의 선행하는 청구항에 있어서, 상기 오디오 제시의 특정 지점에 기초하여 상기 식별된 하나 이상의 엔터티를 사용하여 하나 이상의 제안을 결정하는 단계를 더 포함하는, 방법.
  7. 청구항 6에 있어서, 상기 어시스턴트 디바이스에 의한 오디오 제시의 특정 지점의 재생 동안 어시스턴트 디바이스 상에 상기 하나 이상의 제안을 제시하는 단계를 더 포함하는, 방법.
  8. 임의의 선행하는 청구항에 있어서, 상기 식별된 하나 이상의 엔터티를 사용하여 사용자 쿼리를 수신하기 전에 하나 이상의 잠재적 사용자 쿼리에 대한 응답을 사전 프로세싱하는 단계를 더 포함하는, 방법.
  9. 청구항 8에 있어서, 상기 사용자 쿼리에 대한 응답을 생성하는 단계는 상기 사용자 쿼리에 대한 응답을 생성하기 위해 상기 하나 이상의 사전 프로세싱된 응답으로부터 하나의 사전 프로세싱된 응답을 사용하는 단계를 포함하는, 방법.
  10. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계는 주어진 사용자 쿼리가 주어진 오디오 제시에 대한 것일 가능성이 있는지 여부의 표시를 출력하도록 트레이닝된 신경 네트워크 기반 분류기에 상기 오디오 제시로부터 전사된 텍스트 및 상기 사용자 쿼리를 제공하는 단계를 포함하는, 방법.
  11. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리를 수신하기 전에 상기 오디오 제시로부터 오디오 데이터를 버퍼링하는 단계를 더 포함하고, 상기 오디오 제시와 연관된 음성 오디오 콘텐츠를 분석하는 단계는 상기 버퍼링된 오디오 데이터에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 상기 사용자 쿼리를 수신한 후에 상기 버퍼링된 오디오 데이터로부터 음성 오디오 콘텐츠를 분석하는 단계를 포함하며, 그리고 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계 또는 상기 사용자 쿼리에 대한 응답을 생성하는 단계는 상기 버퍼링된 오디오 데이터에서 어드레싱된 식별된 하나 이상의 엔터티를 사용하는, 방법.
  12. 임의의 선행하는 청구항에 있어서, 상기 오디오 제시는 팟캐스트인, 방법.
  13. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 식별된 하나 이상의 엔터티를 사용하여 상기 오디오 제시에 대한 것인지를 결정하는 단계를 포함하는, 방법.
  14. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리에 대한 응답을 생성하는 단계는 상기 식별된 하나 이상의 엔터티를 사용하여 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하는, 방법.
  15. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 오디오 제시의 특정 지점에 대한 것인지를 결정하는 단계를 포함하는, 방법.
  16. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 오디오 제시의 특정 엔터티에 대한 것인지를 결정하는 단계를 포함하는, 방법.
  17. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리를 수신하는 단계는 어시스턴트 디바이스에서 수행되고, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 어시스턴트 디바이스에 대한 일반 쿼리가 아니라 상기 오디오 제시에 대한 것인지를 결정하는 단계를 포함하는, 방법.
  18. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리를 수신하는 단계는 어시스턴트 디바이스에서 수행되고, 상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 상기 어시스턴트 디바이스에 대한 일반 쿼리가 아니라 상기 오디오 제시에 대한 것임을 결정하는 단계를 포함하는, 방법.
  19. 청구항 18에 있어서, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하는 단계는 상기 사용자 쿼리가 비-쿼리 발언이 아닌 상기 어시스턴트 디바이스에 대한 것임을 결정하는 단계를 더 포함하는, 방법.
  20. 임의의 선행하는 청구항에 있어서, 상기 사용자 쿼리를 수신하는 것에 응답하여 상기 오디오 제시를 일시 중지할지 여부를 결정하는 단계를 더 포함하는, 방법.
  21. 청구항 20에 있어서, 상기 오디오 제시를 일시 중지할지 여부를 결정하는 단계는 상기 쿼리가 시각적 응답으로 응답될 수 있는지 여부를 결정하는 단계를 포함하고, 상기 방법은:
    상기 쿼리가 시각적 응답으로 응답될 수 있다는 결정에 응답하여, 상기 생성된 응답을 상기 오디오 제시를 일시 중지하지 않고 시각적으로 제시하는 단계; 및
    상기 쿼리가 시각적 응답으로 응답될 수 없다는 결정에 응답하여, 상기 오디오 제시를 일시 중지하고, 상기 오디오 제시가 일시 중지된 동안 생성된 응답을 제시하는 단계를 포함하는, 방법.
  22. 청구항 20에 있어서, 상기 오디오 제시를 일시 중지할지 여부를 결정하는 단계는 상기 오디오 제시가 일시 중지 가능한 디바이스에서 재생되고 있는지 여부를 결정하는 단계를 포함하고, 상기 방법은:
    상기 오디오 제시가 일시 중지 가능한 디바이스에서 재생되고 있지 않다는 결정에 응답하여, 상기 오디오 제시를 일시 중지하지 않고 상기 생성된 응답을 제시하는 단계; 및
    상기 오디오 제시가 일시 중지 가능한 디바이스에서 재생되고 있다는 결정에 응답하여, 상기 오디오 제시를 일시 중지하고 상기 오디오 제시가 일시 중지되는 동안 상기 생성된 응답을 제시하는 단계를 포함하는, 방법.
  23. 컴퓨터로 구현되는 방법으로서,
    음성 오디오 콘텐츠를 포함하는 오디오 제시의 재생 동안, 사용자 쿼리를 수신하는 단계; 및
    상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것으로 결정되면, 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하며, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하거나 상기 사용자 쿼리에 대한 응답을 생성하는 것은 상기 오디오 제시의 분석으로부터 식별된 하나 이상의 엔터티를 사용하는, 방법.
  24. 컴퓨터로 구현되는 방법으로서,
    음성 오디오 콘텐츠를 포함하는 오디오 제시의 재생 동안, 상기 오디오 제시로부터 오디오 데이터를 버퍼링하고 사용자 쿼리를 수신하는 단계;
    상기 사용자 쿼리를 수신한 후, 상기 버퍼링된 오디오 데이터에서 어드레싱된 하나 이상의 엔터티를 식별하기 위해 상기 버퍼링된 오디오 데이터로부터 음성 오디오 콘텐츠를 분석하는 단계; 및
    상기 사용자 쿼리가 상기 오디오 제시에 대한 것인지를 결정하는 단계 및 상기 사용자 쿼리가 상기 오디오 제시에 대한 것으로 결정되면, 상기 사용자 쿼리에 대한 응답을 생성하는 단계를 포함하며, 상기 사용자 쿼리가 오디오 제시에 대한 것인지를 결정하거나 상기 사용자 쿼리에 대한 응답을 생성하는 것은 상기 식별된 하나 이상의 엔터티를 사용하는, 방법.
  25. 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들과 동작가능하게 연결된 메모리를 포함하는 시스템으로서, 상기 메모리는 명령어들을 포함하며, 상기 명령어들은 하나 이상의 프로세서들에 의한 상기 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금 청구항 1 내지 24 중 어느 한 항의 방법을 수행하게 하는, 시스템.
  26. 어시스턴트 디바이스로서,
    오디오 입력 디바이스; 및
    상기 오디오 입력 디바이스에 연결되고 로컬로 저장된 명령어들을 실행하는 하나 이상의 프로세서들을 포함하며, 상기 명령어들은 상기 하나 이상의 프로세서들로 하여금 청구항 1 내지 24 중 어느 한 항의 방법을 수행하게 하는, 어시스턴트 디바이스.
  27. 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하나 이상의 프로세서들에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금 청구항 1 내지 24 중 어느 한 항의 방법을 수행하게 하는, 적어도 하나의 비일시적 컴퓨터 판독가능 매체.
KR1020237001956A 2020-07-15 2020-12-14 오디오 제시 인터렉션을 갖는 자동화된 어시스턴트 KR20230025708A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/947,030 US11996094B2 (en) 2020-07-15 2020-07-15 Automated assistant with audio presentation interaction
US16/947,030 2020-07-15
PCT/US2020/064929 WO2022015356A1 (en) 2020-07-15 2020-12-14 Automated assistant with audio presentation interaction

Publications (1)

Publication Number Publication Date
KR20230025708A true KR20230025708A (ko) 2023-02-22

Family

ID=74181328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237001956A KR20230025708A (ko) 2020-07-15 2020-12-14 오디오 제시 인터렉션을 갖는 자동화된 어시스턴트

Country Status (6)

Country Link
US (1) US11996094B2 (ko)
EP (1) EP4127897A1 (ko)
JP (1) JP7481488B2 (ko)
KR (1) KR20230025708A (ko)
CN (1) CN115605840A (ko)
WO (1) WO2022015356A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11776534B1 (en) * 2020-12-08 2023-10-03 Amazon Technologies, Inc. Natural language understanding intent adjustment

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4612903B2 (ja) * 2006-10-24 2011-01-12 キヤノン株式会社 映像再生装置およびその制御方法
US8433577B2 (en) * 2011-09-27 2013-04-30 Google Inc. Detection of creative works on broadcast media
JP2013250490A (ja) 2012-06-01 2013-12-12 Ricoh Co Ltd 処理装置、処理システム、音声認識方法及びプログラム
US9268880B2 (en) 2013-03-14 2016-02-23 Google Inc. Using recent media consumption to select query suggestions
US10534623B2 (en) 2013-12-16 2020-01-14 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US10659851B2 (en) * 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10204104B2 (en) * 2015-04-14 2019-02-12 Google Llc Methods, systems, and media for processing queries relating to presented media content
CN108885869B (zh) 2016-03-16 2023-07-18 索尼移动通讯有限公司 控制包含语音的音频数据的回放的方法、计算设备和介质
US10373612B2 (en) * 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
US10271093B1 (en) * 2016-06-27 2019-04-23 Amazon Technologies, Inc. Systems and methods for routing content to an associated output device
US10192551B2 (en) * 2016-08-30 2019-01-29 Google Llc Using textual input and user state information to generate reply content to present in response to the textual input
US10205794B2 (en) * 2016-09-08 2019-02-12 International Business Machines Corporation Enhancing digital media with supplemental contextually relevant content
US10147424B1 (en) 2016-10-26 2018-12-04 Intuit Inc. Generating self-support metrics based on paralinguistic information
US10679608B2 (en) * 2016-12-30 2020-06-09 Google Llc Conversation-aware proactive notifications for a voice interface device
US10839795B2 (en) 2017-02-15 2020-11-17 Amazon Technologies, Inc. Implicit target selection for multiple audio playback devices in an environment
KR102529262B1 (ko) 2017-03-20 2023-05-08 삼성전자주식회사 전자 장치 및 제어 방법
JP7026449B2 (ja) 2017-04-21 2022-02-28 ソニーグループ株式会社 情報処理装置、受信装置、及び情報処理方法
US10564928B2 (en) 2017-06-02 2020-02-18 Rovi Guides, Inc. Systems and methods for generating a volume- based response for multiple voice-operated user devices
GB2579554A (en) 2018-12-03 2020-07-01 Audiogum Uk Ltd Content playback system

Also Published As

Publication number Publication date
JP7481488B2 (ja) 2024-05-10
JP2023525232A (ja) 2023-06-15
CN115605840A (zh) 2023-01-13
US11996094B2 (en) 2024-05-28
EP4127897A1 (en) 2023-02-08
US20220020365A1 (en) 2022-01-20
WO2022015356A1 (en) 2022-01-20

Similar Documents

Publication Publication Date Title
JP7443407B2 (ja) 会議能力を有する自動アシスタント
US11727220B2 (en) Transitioning between prior dialog contexts with automated assistants
KR102439740B1 (ko) 제작자 제공 콘텐츠 기반 인터랙티브 대화 애플리케이션 테일링
JP6704525B2 (ja) ユーザによって録音された音声の生成および再生を容易にすること
JP2019050019A (ja) 提案される音声ベースのアクションクエリの提供
JP6726354B2 (ja) 訂正済みタームを使用する音響モデルトレーニング
JP2018532165A (ja) 個別化されたエンティティ発音の学習
EP3736807A1 (en) Apparatus for media entity pronunciation using deep learning
US9099091B2 (en) Method and apparatus of adaptive textual prediction of voice data
JP7171911B2 (ja) ビジュアルコンテンツからのインタラクティブなオーディオトラックの生成
JPWO2019031268A1 (ja) 情報処理装置、及び情報処理方法
US11789695B2 (en) Automatic adjustment of muted response setting
CN113761268A (zh) 音频节目内容的播放控制方法、装置、设备和存储介质
JP7481488B2 (ja) オーディオプレゼンテーション対話を用いた自動アシスタント
EP4049270B1 (en) Using video clips as dictionary usage examples
KR20230014680A (ko) 서드파티 디지털 어시스턴트 액션을 위한 비트 벡터 기반 콘텐츠 매칭
CN115552517A (zh) 自动化助理响应呈现的无热词抢占