KR102393817B1 - 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합 - Google Patents

인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합 Download PDF

Info

Publication number
KR102393817B1
KR102393817B1 KR1020197031202A KR20197031202A KR102393817B1 KR 102393817 B1 KR102393817 B1 KR 102393817B1 KR 1020197031202 A KR1020197031202 A KR 1020197031202A KR 20197031202 A KR20197031202 A KR 20197031202A KR 102393817 B1 KR102393817 B1 KR 102393817B1
Authority
KR
South Korea
Prior art keywords
user
automated assistant
human
content
natural language
Prior art date
Application number
KR1020197031202A
Other languages
English (en)
Other versions
KR20190131088A (ko
Inventor
이브라힘 바드르
자히드 사부르
블라디미르 부스코빅
아드리안 줌부르넨
루카스 미렐만
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020227014294A priority Critical patent/KR102541523B1/ko
Publication of KR20190131088A publication Critical patent/KR20190131088A/ko
Application granted granted Critical
Publication of KR102393817B1 publication Critical patent/KR102393817B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • 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/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

사람 대 컴퓨터 다이얼로그 세션들에 사용자에 대해 잠재적인 요청되지 않은 콘텐츠를 사전에 통합하는 자동 어시스턴트와 관련하여 방법들, 장치 및 컴퓨터 판독가능한 매체가 서술된다. 다양한 구현들에서, 사용자와 자동화된 어시스턴트 사이의 기존의 인간 대 컴퓨터 다이얼로그 세션에서, 자동화된 어시스턴트는 사용자로부터 수신된 모든 자연 언어 입력에 응답한 것으로 결정될 수 있다. 사용자의 특성(들)에 기초하여, 상기 사용자에 대한 잠재적인 관심의 정보 또는 상기 사용자에 대한 잠재적인 관심의 액션(들)이 식별될 수 있다. 사용자 또는 액션(들)에 대한 잠재적 관심의 정보를 나타내는 요청되지 않은 콘텐츠는 자동화된 어시스턴트에 의해 생성되어 기존의 인간 대 컴퓨터 다이얼로그 세션으로 통합될 수 있다. 다양한 구현들에서, 통합은 자동화된 어시스턴트가 인간 대 컴퓨터 다이얼로그 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했다는 결정에 응답하여 수행될 수 있다.

Description

인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합
본 발명은 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합에 관한 것이다.
인간은, 여기에서 "자동화된 어시스턴트(automated assistants)" ("챗봇", "대화형 어시스턴트", "지능형 개인 어시스턴트", "대화 상담원"이라고도 언급됨)라고 하는 대화식 소프트웨어 애플리케이션과의 인간 대 컴퓨터 대화에 관여할 수 있다. 예를 들어, 인간(자동화된 어시스턴트들과 상호 작용할 때 "사용자"라고 언급될 수 있음)은 자연 언어 입력(즉, 발화)을 사용하여 명령들 및/또는 요청들을 제공할 수 있고, 경우에 따라 텍스트로 변환한 다음 처리하거나 텍스트(예를 들어, 타이핑된) 자연 언어 입력을 제공할 수 있다. 자동화된 어시스턴트들은 일반적으로 사전 대응 기능과 대조적으로 반응형이다. 예를 들어, 사용자와 자동화된 어시스턴트 간의 인간 대 컴퓨터 다이얼로그 세션이 시작될 때(예를 들어, 현재 적용 가능한 대화형 컨텍스트가 없는 경우), 자동화된 어시스턴트는, "하이", "굿모닝" 등과 같은 일반적인 인사말을 제공할 수 있다. 자동화된 어시스턴트는 사용자에게 잠재적인 관심의 특정 정보를 사전에 획득하여 제공하지 않는다. 결과적으로, 자동화된 어시스턴트가 실질적인 정보로 응답하거나 사용자를 대신하여 하나 이상의 작업을 시작하기 전에 사용자는 초기 자연 언어 입력(예를 들어, 말하기 또는 타이핑)을 제공할 수 있다.
여기에서 사용자에 대해 잠재적인 관심의 요청되지 않은 콘텐츠를 기존의 또는 새로 시작된 인간 대 컴퓨터 다이얼로그 세션들에 사전에 통합하도록 자동화된 어시스턴트를 구성하기 위한 기술이 서술된다. 일부 구현들에서, 본 발명의 선택된 양태들 및/또는 자동화된 어시스턴트와 협력하여 동작하는 하나 이상의 다른 컴포넌트들로 구성된 자동화된 어시스턴트는, 기존의 인간 대 컴퓨터 대화 세션에서, 자동화된 어시스턴트는 사용자에 대한 의무를 효과적으로 이행했다(예를 들어, 자동화된 어시스턴트는 추가 지시를 기다리고있다)고 결정할 때 그러한 통합을 수행할 수 있다. 이는, 사용자가 "굿모닝"을 말하고 그리고 자동화된 어시스턴트가 "당신도 굿모닝"이라는 일반적인 응답을 제공하는 것처럼 간단할 수 있다. 이러한 시나리오에서, 사용자는 여전히 인간 대 컴퓨터 다이얼로그 세션에 (적어도 잠시) 참여할 수 있다(예를 들어, 인간 대 컴퓨터 다이얼로그의 진행중인 대화 내용을 보여주는 챗봇 화면은 여전히 열려있을 수 있으며, 사용자는 여전히 인간 대 컴퓨터 다이얼로그가 구현되는 오디오 입력/출력 디바이스의 이어 샷 내에 있을 수 있다). 따라서, 인간 대 컴퓨터 다이얼로그 세션에 통합된 임의의 요청되지 않은 콘텐츠는 사용자에 의해 소비(예를 들어, 듣고, 보고, 인지하고, 이해)될 수 있다.
사용자에 대해 잠재적인 관심을 가질만한 요청되지 않은 콘텐츠를 인간 대 컴퓨터 다이얼로그 세션에 통합하는 것은 몇 가지 기술적 이점들이 있을 수 있다. 사용자는 그러한 콘텐츠를 적극적으로 요구하지 않을 수 있고, 이는 사용자의 자연어 입력을 처리하는데 사용되는 컴퓨팅 리소스를 보존할 수 있고, 그리고 입력을 제공하기 어려운 사용자(예를 들어, 운전중이거나, 신체적 제한 등을 갖는 사람)에 도움이 될 수 있다. 또한, 사용자는, 요청하지 않았을 수도 있는, 잠재적으로 유용한 콘텐츠를 수신할 수 있다. 또 다른 예로서, 요청되지 않은 컨텐츠의 통합은 추가 요청들을 제출함으로써 사용자가 추구할 수 있는 정보를 사용자에게 제공할 수 있다. 이러한 추가 요청들을 피하면 이러한 요청들을 구문 분석 및/또는 해석하는 데 필요한 컴퓨팅 리소스들(예를 들어, 네트워크 대역폭, 처리 사이클, 배터리 전력)이 절약될 수 있다.
일부 구현들에서, 자동화된 어시스턴트는 (요청되지 않은 컨텐츠의 통합을 위해) 인간 대 컴퓨터 대화를 개시하고 그리고/또는 다양한 이벤트들에 응답하여 요청되지 않은 콘텐츠를 기존의 인간 대 컴퓨터 대화로 통합할 수 있다. 일부 구현들에서, 이벤트는 사용자가 자동화된 어시스턴트의 이어 샷 내에 있다는 결정을 포함할 수 있다. 예를 들어, 자동화된 어시스턴트를 운영하는 독립형 대화형 스피커는, 예를 들어, 다양한 타입들의 센서들(예를 들어, 스마트 서모스탯, 연기 검출기, 일산화탄소 감지기 등과 같은 기기에 통합된 IP 웹캠 또는 모션 센서/카메라)을 사용하여 검출할 수 있거나 또는 사용자에 의해 운반되는 다른 컴퓨팅 디바이스의 공존을 검출함으로써, 사용자가 근처에 있다는 것을 검출할 수 있다. 이에 응답하여, 자동화된 어시스턴트는 요청되지 않은 콘텐츠, 예를 들어, "오늘 우산을 잊지 마세요, 비가 올 것으로 예상됩니다", "오늘은 잊지 말아요. 언니의 생일입니다", "어제 밤 <스포츠 팀의> 파워 포워드 부상에 대해 들었습니까?", 또는 "<주식>은 지난 몇 시간 동안 8% 증가했습니다"를 사용자에게 청각적으로 제공할 수 있다.
일부 구현들에서, 사용자와 연관된 컴퓨팅 디바이스들의 협력된 생태계의 제1 컴퓨팅 디바이스상에서 동작하는 자동화된 어시스턴트는 생태계의 다른 컴퓨팅 디바이스로부터 하나 이상의 신호들을 수신할 수 있다. 이러한 신호들은 사용자에 의한 컴퓨팅 상호 작용들(예를 들어, 사용자가 검색을 수행하고, 주제를 연구하고, 특정 기사를 읽고 있음), 다른 컴퓨팅 디바이스에서 작동하는 애플리케이션(들)(예를 들어, 미디어를 구입, 게임하기 등)의 상태들을 포함할 수 있다. 예를 들어, 사용자가 독립형 대화형 스피커(자동화된 어시스턴트의 인스턴스를 조작할 수도 있고 아닐 수도 있음)에서 특정 아티스트의 곡을 듣고 있다고 가정하자. 사용자의 스마트 폰상의 자동화된 어시스턴트는 음악을 청각적으로 검출할 수 있고 그리고/또는 하거나 독립형 대화형 스피커로부터 하나 이상의 신호를 수신할 수 있고, 그리고 이에 대한 응답으로, 새로 시작된 또는 기존의 인간 대 컴퓨터 대화에 요청하지 않은 콘텐츠, 예를 들어, 아티스트(또는 노래)에 대한 추가 정보, 다른 유사한 아티스트들/노래들에 관한 추천들, 예정된 투어 날짜들 또는 기타 아티스트 관련 이벤트들 등의 알림을 통합할 수 있다.
인간 대 컴퓨터 다이얼로그에 통합된 요청되지 않은 콘텐츠는, 사용자에 대한 잠재적 관심의 정보(예를 들어, 날씨, 점수들, 교통 정보, 질문들에 대한 답변, 리마인더들 등) 및/또는 사용자에 대한 잠재적 관심의 행동들(예를 들어, 음악 재생, 리마인더 생성, 쇼핑 목록에 아이템 추가, 생성)을 포함할 수 있다. 잠재적 관심의 정보 및/또는 행동들은 다양한 신호들에 기초하여 선택된다. 일부 구현들에서, 신호들은 사용자와 자동화된 어시스턴트 사이의 과거의 인간 대 컴퓨터 다이얼로그를 포함할 수 있다. 처음의 인간 대 컴퓨터 세션 동안, 사용자가 특정 목적지로가는 항공편을 조사하지만 티켓을 구매하지 않는다고 가정하자. 자동화된 어시스턴트와 사용자 사이의 후속의 인간 대 컴퓨터 다이얼로그가 유발되고, 자동화된 어시스턴트가 사용자로부터 모든 자연 언어 입력에 응답했다고 결정한다고 가정하자. 그러한 시나리오에서, 사용자는 아직 자동화된 어시스턴트에 추가적인 자연 언어 입력을 제공하지 않았다. 따라서, 자동화된 어시스턴트는 사용자의 이전 비행 검색에 관한 정보를 포함하여 요청되지 않은 콘텐츠, 예를 들어, "당신은 당신의 목적지로 가는 티켓을 구입한 적이 있습니까?" 또는 "여전히 항공편을 찾고 있는지 모르겠지만 <웹 사이트>에서 좋은 거래를 찾았습니다."를 통합하기 위해 주도권을 가질 수 있다.
요청하지 않은 컨텐츠로 인간 대 컴퓨터 다이얼로그에 통합할 정보 및/또는 액션들을 선택하는 데 사용할 수 있는 기타 신호들은, 사용자 위치(예를 들어, 자동화된 어시스턴트가 특정 메뉴 항목들, 특별 항목들 등을 사전에 제안하도록 유도할 수 있음), 일정 관리 항목들(예를 들어, "당신의 기념일은 다음주 월요일임을 잊지 마십시오"), 약속들(예를 들어, 예정된 비행은 자동화된 어시스턴트가 사용자에게 온라인 체크인 및/또는 팩킹 시작을 사전에 상기시키도록 촉구할 수 있음), 리마인더들, 검색 이력, 브라우징 이력, 관심 주제(예를 들어, 특정 스포츠 팀에 대한 관심으로 인해 자동화된 어시스턴트가 사용자에게 "어제 밤에 점수를 보았습니까?" 라고 사전에 요청할 수 있다.), 문서들(예를 들어, 예정된 이벤트에 대한 초대를 포함하는 이메일은 예정된 이벤트에 대해 자동화된 어시스턴트가 사용자에게 미리 상기시켜 줄 수 있음), 애플리케이션 상태(예를 들어, "이러한 3개의 애플리케이션들의 업데이트를 수행했습니다", "여러 개의 애플리케이션들이 아직 열려있어 당신의 디바이스들의 리소스가 부족할 수 있습니다.", "현재 <영화>를 당신의 텔레비전으로 스트리밍하고 있습니다. 당신은 <영화에 대한 퀴즈>에 대해 아시나요?"), 새로 이용가능한 피처들(예를 들어, "환영합니다. 외출하는 동안 택시를 부르는 법을 배웠습니다. 필요할 때마다 알려주세요"), 날씨(예를 들어, "바깥 날씨가 괜찮습니다. 야외 식당이 있는 레스토랑들을 찾으시겠습니까? ") 등을 포함하지만, 이에 제한되지 않는다.
일부 구현들에서, 하나 이상의 프로세서에 의해 수행되는 방법은, 하나 이상의 프로세서에 의해, 사용자와 자동화된 어시스턴트(automated assistant) 사이의 기존의 인간 대 컴퓨터 다이얼로그 세션에서, 상기 자동화된 어시스턴트는 상기 인간 대 컴퓨터 다이얼로그 세션 동안 상기 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정하는 단계와; 상기 하나 이상의 프로세서에 의해, 상기 사용자의 하나 이상의 특성에 기초하여, 상기 사용자에 대한 잠재적인 관심의 정보 또는 상기 사용자에 대한 잠재적인 관심의 하나 이상의 액션을 식별하는 단계와; 상기 하나 이상의 프로세서에 의해, 상기 사용자에 대한 잠재적인 관심의 정보 또는 상기 잠재적인 관심의 하나 이상의 액션을 나타내는 요청되지 않은(unsolicited) 콘텐츠를 생성하는 단계와; 그리고 상기 자동화된 어시스턴트에 의해, 상기 기존의 인간 대 컴퓨터 다이얼로그 세션으로 상기 요청되지 않은 콘텐츠를 통합하는 단계를 포함한다. 다양한 구현들에서, 적어도 상기 통합하는 단계는, 상기 자동화된 어시스턴트는 상기 인간 대 컴퓨터 다이얼로그 세션 동안 상기 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정하는 것에 응답하여 수행된다.
본 명세서에 개시된 기술의 이러한 구현 및 다른 구현은 다음 피처들 중 하나 이상을 선택적으로 포함할 수 있다.
다양한 구현들에서, 상기 요청되지 않은 콘텐츠는 요청되지 않은 자연 언어 콘텐츠를 포함할 수 있다. 다양한 구현들에서, 상기 식별하는 단계는 상기 사용자에 의해 작동되는 하나 이상의 컴퓨팅 디바이스로부터 획득된 하나 이상의 신호에 적어도 부분적으로 기초할 수 있다. 다양한 구현들에서, 상기 사용자에 의해 작동되는 하나 이상의 컴퓨팅 디바이스는 상기 사용자에 의해 현재 작동되는 특정 컴퓨팅 디바이스를 포함할 수 있다.
다양한 구현들에서, 상기 하나 이상의 신호는, 상기 사용자에 의해 현재 작동되는 특정 컴퓨팅 디바이스와 상이한 상기 사용자에 의해 작동되는 상기 하나 이상의 컴퓨팅 디바이스 중 다른 컴퓨팅 디바이스로부터 수신될 수 있다. 다양한 구현들에서, 상기 하나 이상의 신호는 상기 다른 컴퓨팅 디바이스에서 실행되는 애플리케이션의 상태의 표시를 포함할 수 있다. 다양한 구현들에서, 상기 애플리케이션의 상태의 표시는 상기 애플리케이션이 미디어 재생을 제공하고 있다는 표시를 포함할 수 있다. 다양한 구현들에서, 상기 애플리케이션의 상태 표시는, 상기 애플리케이션이 상기 사용자로부터 검색 질의를 수신했거나 또는 상기 사용자에게 검색 결과들을 제공했다는 표시를 포함할 수 있다.
다양한 구현들에서, 상기 요청되지 않은 콘텐츠는 하나 이상의 사용자 인터페이스 요소를 포함하고, 각 사용자 인터페이스 요소는, 상기 자동화된 어시스턴트가 상기 사용자에 대한 잠재적인 관심의 정보를 제공하거나 또는 상기 사용자에 대한 잠재적인 관심의 하나 이상의 액션을 유발시키도록, 상기 사용자에 의해 선택될 수 있다.
다른 양태에서, 방법은, 하나 이상의 신호에 기초하여, 사용자가 상기 하나 이상의 오디오 출력 디바이스의 이어 샷(earshot) 내에 있음을 결정하는 단계와; 상기 사용자의 하나 이상의 특성에 적어도 부분적으로 기초하여, 상기 사용자에 대한 잠재적인 관심의 정보 또는 상기 사용자에 대한 잠재적인 관심의 하나 이상의 액션을 식별하는 단계와; 상기 잠재적인 관심의 정보 또는 상기 잠재적인 관심의 하나 이상의 액션을 나타내는 요청되지 않은 콘텐츠를 생성하는 단계와; 그리고 상기 요청되지 않은 콘텐츠를, 상기 자동화된 어시스턴트와 상기 사용자 사이의 청취가능한 인간 대 컴퓨터 다이얼로그 세션에 통합하는 단계를 포함한다. 다양한 구현들에서, 상기 통합은, 상기 사용자가 상기 하나 이상의 오디오 출력 디바이스의 이어 샷 내에 있다는 결정에 응답하여, 상기 자동화된 어시스턴트에 의해 수행될 수 있다.
추가로, 일부 구현들은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서가 관련 메모리에 저장된 명령어들을 실행하도록 동작 가능하고, 그리고 명령어들은 전술한 방법들 중 임의의 방법의 성능을 유발시키도록 구성된다. 일부 구현들은 또한 전술한 방법 중 임의의 것을 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령어들을 저장하는 하나 이상의 비 일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
본 명세서에서 더 상세하게 서술된 전술한 개념들 및 추가 개념들의 모든 조합들은 본원에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야 한다. 예를 들어, 본 발명의 끝에 나타나는 청구된 주제의 모든 조합들은 본 명세서에 개시된 주제의 일부인 것으로 고려된다.
도 1은 여기에 개시된 구현들이 구현될 수 있는 예시적인 환경의 블록도이다.
도 2, 3, 4, 5, 6 및 7은 다양한 구현들에 따른 다양한 사용자들과 자동 어시스턴트들 사이의 예시적인 대화들을 도시한다.
도 8 및 9는 여기에 개시된 구현들에 따른 예시적인 방법들을 나타내는 흐름도이다.
도 10은 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
이제 도 1을 참조하면, 여기에 개시된 기술들이 구현될 수 있는 예시적인 환경이 도시되어 있다. 예시적인 환경은 복수의 클라이언트 컴퓨팅 디바이스들(1061-N) 및 자동화된 어시스턴트(120)를 포함한다. 자동화 어시스턴트(120)가 클라이언트 컴퓨팅 디바이스들(1061-N)과는 별개로 도 1에 도시되어 있지만, 일부 구현들에서, 자동화된 어시스턴트(120)의 모든 또는 일부 양상들은 하나 이상의 클라이언트 컴퓨팅 디바이스들(1O61-N)에 의해 구현될 수 있다. 예를 들어, 클라이언트 디바이스(1O61)는 자동화된 어시스턴트(120)의 하나 이상의 인스턴스를 구현할 수 있으며, 클라이언트 디바이스(106N)는 또한 자동화된 어시스턴트(120)의 하나 이상의 양상들의 개별적인 인스턴스를 구현할 수 있다. 자동화된 어시스턴트(120)의 하나 이상의 양상들이 클라이언트 컴퓨팅 디바이스들(1O61-N)로부터 멀리 떨어진 하나 이상의 컴퓨팅 디바이스들에 의해 구현되는 구현들에서, 클라이언트 컴퓨팅 디바이스(1061-N) 및 자동화된 어시스턴트(120)의 그러한 양상들은 근거리 통신망(LAN) 및/또는 광역 통신망(WAN)(예를 들어, 인터넷)과 같은 하나 이상의 네트워크를 통해 통신할 수 있다.
클라이언트 디바이스(1061-N)는, 예를 들어, 데스크탑 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 이동 전화 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 네비게이션 시스템), 또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경들, 가상 또는 증강 현실 컴퓨팅 디바이스) 중 하나 이상을 포함할 수 있다. 추가적인 및/또는 대안의 클라이언트 컴퓨팅 디바이스들이 제공될 수 있다. 일부 구현들에서, 주어진 사용자는 컴퓨팅 디바이스들의 조정된 "생태계(ecosystem)"를 형성하는 복수의 클라이언트 컴퓨팅 디바이스들을 이용하여 자동화된 어시스턴트(120)와 통신할 수 있다. 이러한 일부 구현들에서, 자동화된 어시스턴트(120)는, 특정 사용자에게 "서비스"하는 것으로 고려될 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 "서비스되는" 사용자에 의해 액세스가 제어되는 리소스들(예를 들어, 컨텐츠, 문서 등)에 대한 향상된 액세스를 부여하는 것으로 고려될 수 있다. 하지만, 간결성을 위해, 본 명세서에서 서술된 예들은 단일 클라이언트 컴퓨팅 디바이스(106)를 동작시키는 사용자에 초점을 맞출 것이다.
클라이언트 컴퓨팅 디바이스들(1061-N) 각각은 메시지 교환 클라이언트들 (1071-N) 중 대응하는 하나와 같은 다양한 서로 다른 애플리케이션들을 동작시킬 수 있다. 메시지 교환 클라이언트들(1071-N)은 다양한 형태들로 존재할 수 있고, 그리고 상기 형태들은 클라이언트 컴퓨팅 디바이스들(1061-N)에 따라 다를 수 있고, 그리고/또는 다수의 형태들이 클라이언트 컴퓨팅 디바이스들(1061-N) 중 하나에서 동작될 수 있다. 일부 구현들에서, 하나 이상의 메시지 교환 클라이언트들(1071-N)은 단문 메시징 서비스("SMS") 및/또는 멀티미디어 메시징 서비스("MMS") 클라이언트, 온라인 채팅 클라이언트(예를 들어, 인스턴트 메신저, 인터넷 중계 채팅, 또는 "IRC" 등), 소셜 네트워크와 관련된 메시징 애플리케이션, 자동화된 어시스턴트(120)과의 대화 전용 개인 보조 메시징 서비스 등을 포함할 수 있다. 일부 구현들에서, 하나 이상의 메시지 교환 클라이언트들(1071-N)은 웹 브라우저(도시되지 않음) 또는 클라이언트 컴퓨팅 디바이스(106)의 다른 애플리케이션에 의해 렌더링된 웹 페이지 또는 다른 리소스들을 통해 구현될 수 있다.
메시지 교환 클라이언트(107)에 더하여, 각각의 클라이언트 컴퓨팅 디바이스들(IO61-N) 각각은 또한 다양한 다른 애플리케이션들(도 1의 "MISC. APP"(109I-N))을 동작시킬 수 있다. 이들 다른 앱들은 게임 애플리케이션들, 미디어 재생 애플리케이션들(예를 들어, 음악 플레이어들, 비디오 플레이어들 등), 생산성 애플리케이션(예를 들어, 워드 프로세서들, 스프레드시트 애플리케이션들 등), 웹 브라우저들, 맵 애플리케이션들, 리마인더 애플리케이션들, 클라우드 스토리지 애플리케이션들, 사진 애플리케이션들 등을 포함할 수 있지만, 이에 한정되지 않는다. 아래에서 더 상세히 설명되는 바와 같이, 이들 다른 애플리케이션(109I-N)의 다양한 상태들은 자동화된 어시스턴트(120)가 요청되지 않은 콘텐츠를 인간 대 컴퓨터 대화들에 통합하도록 촉구하는 신호들로서 일부 실시예들에서 사용될 수 있다.
여기에서 보다 상세하게 설명되는 바와 같이, 자동화된 어시스턴트(120)는 하나 이상의 클라이언트 디바이스들(1061-N)의 사용자 인터페이스 입력 및 출력 디바이스들을 통해 하나 이상의 사용자들과의 인간 대 컴퓨터 다이얼로그에 관여한다. 일부 구현들에서, 자동화된 어시스턴트(120)는 클라이언트 디바이스들(106I-N) 중 하나의 하나 이상의 사용자 인터페이스 입력 디바이스들을 통해 사용자에 의해 제공되는 사용자 인터페이스 입력에 응답하여 사용자와의 인간 대 컴퓨터 다이얼로그 세션에 관여할 수있다. 일부 구현들에서, 사용자 인터페이스 입력은 자동 메시징 시스템(120)에 명시적으로 지시된다. 예를 들어, 메시지 교환 클라이언트들(1071-N) 중 하나는 자동화된 어시스턴트(120)과의 대화들에 전용된 개인 어시스턴트 서비스일 수 있고, 그 개인 어시스턴트 서비스를 통해 제공된 사용자 인터페이스 입력은 자동화된 어시스턴트(120)에 자동으로 제공될 수 있다. 또한, 예를 들어, 사용자 인터페이스 입력은 자동화된 어시스턴트(120)가 호출 될 것임을 나타내는 특정 사용자 인터페이스 입력에 기초하여 메시지 교환 클라이언트(107I-N) 중 하나 이상의 자동화된 어시스턴트(120)로 명시적으로 지시될 수 있다. 예를 들어, 특정 사용자 인터페이스 입력은 하나 이상의 타이핑된 문자(예를 들어, @AutomatedMessagingSystem), 하드웨어 버튼 및/또는 가상 버튼(예를 들어, 탭, 긴 탭)과의 사용자 상호 작용, 구두 명령(예를 들어, "어이, 자동화된 어시스턴트(Hey Automated Assistant") 및/또는 다른 특정 사용자 인터페이스 입력일 수 있다. 일부 구현들에서, 자동화된 어시스턴트(120)은 사용자 인터페이스 입력이 명시적으로 자동화된 어시스턴트(120)로 보내지지 않을 때조차도, 사용자 인터페이스 입력에 응답하여 다이얼로그 세션에 관여할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 사용자 인터페이스 입력의 내용을 조사하고 그리고 사용자 인터페이스 입력에 존재하는 특정 용어에 응답하여 그리고/또는 다른 큐들에 기초하여 다이얼로그 세션에 관여할 수 있다. 많은 구현들에서, 자동화된 어시스턴트(120)는 대화식 음성 응답("IVR")을 관여시킬 수 있고, 사용자는 명령, 검색 등을 할 수 있고, 자동화된 어시스턴트는 자연어 처리 및/또는 하나 이상의 문법을 사용하여 발화를 텍스트로 변환하고 그에 따라 텍스트에 응답할 수 있다.
클라이언트 컴퓨팅 디바이스들(1061-N) 각각 및 자동화된 어시스턴트(120)는 데이터 및 소프트웨어 애플리케이션들의 저장을 위한 하나 이상의 메모리들, 데이터에 액세스하고 애플리케이션을 실행하기 위한 하나 이상의 프로세서들 및 네트워크를 통한 통신을 용이하게 하는 다른 컴포넌트들을 포함할 수 있다. 하나 이상의 클라이언트 컴퓨팅 디바이스들(1061-N) 및/또는 자동화된 어시스턴트(120)에 의해 수행되는 동작들은 다수의 컴퓨터 시스템들에 분산될 수 있다. 자동화된 어시스턴트(120)는, 예를 들어, 네트워크를 통해 서로 결합되는 하나 이상의 위치들에서 하나 이상의 컴퓨터들 상에서 실행되는 컴퓨터 프로그램들로서 구현될 수 있다.
자동화된 어시스턴트(120)는 자연 언어 프로세서(122) 및 응답 콘텐츠 엔진(130)을 포함할 수 있다. 일부 구현들에서, 자동화된 어시스턴트(120)의 하나 이상의 엔진들 및/또는 모듈들은 생략, 결합 및/또는 자동화된 어시스턴트(120)과는 별개인 컴포넌트로 구현될 수 있다. 자동화된 어시스턴트(120)는 응답 콘텐츠 엔진(130)에 의해 생성 및/또는 유지되는 응답 콘텐츠를 제공하기 위해 관련 클라이언트 디바이스(106I-N)를 통해 하나 이상의 사용자(들)와의 인간 대 컴퓨터 다이얼로그 세션들에 관여할 수 있다.
일부 구현들에서, 응답 콘텐츠 엔진(130)은 자동화된 어시스턴트(120)와의 인간 대 컴퓨터 다이얼로그 세션 동안 클라이언트 디바이스들(106I-N) 중 하나의 사용자에 의해 생성된 다양한 입력들에 응답하여 응답 콘텐츠를 생성한다. 응답 콘텐츠 엔진(130)은 다이얼로그 세션의 일부로서 사용자에게 제시하기 위해 (예를 들어, 사용자의 클라이언트 디바이스로부터 분리될 때 하나 이상의 네트워크를 통해) 응답 콘텐츠를 제공한다. 예를 들어, 응답 콘텐츠 엔진(130)은 클라이언트 디바이스들(106I-N) 중 하나를 통해 제공되는 자유 형태의 자연 언어 입력에 응답하여 응답 콘텐츠를 생성할 수 있다. 여기에서 사용되는 바와 같이, 자유 형식 입력은 사용자에 의해 공식화되고 사용자에 의해 선택하기 위해 제시된 옵션들의 그룹에 제한되지 않는 입력이다.
여기에서 사용되는 것처럼, "다이얼로그 세션"은 사용자와 자동화된 어시스턴트(120) 사이의 하나 이상의 메시지의 논리적으로 자체 포함된 교환을 포함할 수 있다. 자동화된 어시스턴트(120)는 다양한 신호들, 예를 들어, 세션들 간 시간의 흐름, 세션들 간 사용자 컨텍스트(예를 들어, 위치, 예정된 미팅 전/중/후)의 변경, 사용자와 자동화된 어시스턴트 간의 다이얼로그 이외의 사용자와 클라이언트 디바이스 간의 하나 이상의 개입 상호작용들의 검출(예를 들어, 사용자가 잠시 동안 애플리케이션들을 전환하고, 사용자가 멀어졌다가 나중에 독립형 음성 활성화 제품으로 돌아옴),세션들 간 클라이언트 디바이스의 잠금/슬립핑, 자동화된 어시스턴트(120)의 하나 이상의 인스턴스들과 인터페이스하기 위해 사용되는 클라이언트 디바이스들의 변경 등에 다양한 신호들에 기초하여 사용자와의 다수의 다이얼로그 대화 세션들을 구별할 수 있다.
일부 구현들에서, 자동화된 어시스턴트(120)가 사용자 피드백을 요청하는 촉구를 제공할 때, 자동화된 어시스턴트(120)는 촉구에 응답하여 수신될 사용자 인터페이스 입력을 처리하도록 구성된 클라이언트 디바이스의 (프롬프트가 제공되는) 하나 이상의 컴포넌트를 선제적으로 활성화할 수 있다. 예를 들어, 사용자 인터페이스 입력이 클라이언트 디바이스(106i)의 마이크로폰을 통해 제공되는 경우, 자동화된 어시스턴트(120)는 다음을 야기하는 하나 이상의 명령을 제공할 수 있다: 마이크로폰을 선제적으로 "열어야 되고"(마이크로폰을 열기 위해 인터페이스 요소를 치거나 "핫 워드"를 말하지 않아도 됨), 클라이언트 디바이스(106i)의 텍스트 프로세서에 대한 로컬 스피치가 선제적으로 활성화되고, 클라이언트 디바이스(106i)와 원격 음성 대 텍스트 프로세서간 통신 세션이 선제적으로 확립되고, 그리고/또는 그래픽 사용자 인터페이스(예를 들어, 피드백을 제공하도록 선택될 수 있는 하나 이상의 선택 가능한 요소를 포함하는 인터페이스)가 클라이언트 디바이스(106i) 상에 렌더링된다. 이는, 컴포넌트들이 선제적으로 활성화되지 않은 경우보다 더 빠르게 사용자 인터페이스 입력이 제공 및/또는 처리될 수 있도록 한다.
자연 연어 프로세서(122)는 클라이언트 컴퓨팅 디바이스들(1061-N)을 통해 사용자들에 의해 생성된 자연 언어 입력을 처리하고 그리고 응답 콘텐트 엔진(130)과 같은, 자동화된 어시스턴트(120)의 하나 이상의 다른 컴포넌트들에 의한 사용을 위해 주석 출력을 생성한다. 예를 들어, 자연 언어 프로세서(122)는 클라이언트 디바이스(1061)의 하나 이상의 사용자 인터페이스 입력 디바이스들을 통해 사용자에 의해 생성된 자연 언어 자유 형식 입력을 처리할 수 있다. 생성된 주석된 출력은 자연 언어 입력의 하나 이상의 명칭들 및 임의로 자연 언어 입력의 용어들 중 하나 이상(예를 들어, 모두)을 포함한다.
일부 구현들에서, 자연 언어 프로세서(122)는 자연 언어 입력의 다양한 유형의 문법 정보를 식별하고 주석을 달도록 구성된다. 예를 들어, 자연 언어 프로세서(122)는 그 문법적 역할들로 용어들에 주석을 달기 위해 구성된 음성 태거(tagger)의 일부를 포함할 수 있다. 예를 들어, 음성 태그의 부분은 각 용어에 "명사(noun)", "동사(verb)", "형용사(adjective)", "대명사(pronoun)" 등과 같은 음성의 일부분을 태그할 수 있다. 또한, 예를 들어, 일부 구현들에서, 자연 언어 프로세서(122)는 자연 언어 입력의 용어들 간의 구문적 관계들을 결정하도록 구성된 의존성 파서(parser)를 추가적으로 그리고/또는 대안적으로 포함할 수 있다. 예를 들어, 의존성 파서는 어느 용어들이 다른 용어들, 문장의 주체들 및 동사들 등(예를 들어, 파스 트리)을 변경하는지를 결정할 수 있으며 그러한 의존성에 대한 주석을 만들 수 있다.
일부 구현들에서, 자연 언어 프로세서(122)는 사람들(예를 들어, 문학적 인물 포함), 조직들, 위치들(실제 및 가상) 등에 대한 참조들과 같은 하나 이상의 세그먼트들에서 엔티티 참조들을 주석 처리하도록 구성된 엔티티 태거를 부가적으로 그리고/또는 대안적으로 포함할 수 있다. 엔티티 태거는 높은 레벨의 세분성(granularity)(예를 들어, 사람과 같은 엔티티 클래스에 대한 모든 참조들을 식별할 수 있음)으로 그리고/또는 낮은 레벨의 세분성(예를 들어, 특정 개인과 같은 특정 엔티티에 대한 모든 참조들을 식별할 수 있음)으로 엔티티에 대한 참조들에 주석을 달 수 있다. 엔티티 태거는 특정 엔티티를 해결하기 위해 자연 언어 입력의 내용에 의존할 수 있고 그리고/또는 특정 엔티티를 해결하기 위해 지식 그래프 또는 다른 엔티티 데이터베이스와 선택적으로 통신할 수 있다.
일부 구현들에서, 자연 언어 프로세서(122)는 하나 이상의 문맥 큐들에 기초하여 동일한 엔티티에 대한 참조들을 그룹화하거나 또는 "클러스터(cluster)"하도록 구성된 코레퍼런스 리졸버를 부가적으로 그리고/또는 대안적으로 포함할 수 있다. 예를 들어, 코레퍼런스 리졸버는 자연 언어 입력에서 "지난번 우리가 먹었던 가상 카페가 마음에 들었습니다(I liked Hypothetical Cafe last time we ate there)."에서 "거기(there)"를 "가상 카페(Hypothetical Cafe)"로 해석하는 데 사용될 수 있다.
일부 구현들에서, 자연 언어 프로세서(122)의 하나 이상의 컴포넌트는 자연언어 프로세서(122)의 하나 이상의 다른 컴포넌트로부터의 주석들에 의존할 수 있다. 예를 들어, 일부 구현들에서, 명명된 엔티티 태거(tagger)는 모든 언급들을 특정 엔티티에 주석으로 넣을 때, 코레퍼런스 리졸버 및/또는 의존성 파서로부터의 주석에 의존할 수 있다. 또한, 예를 들어, 일부 구현들에서, 코레퍼런스 리졸버는 동일한 엔티티에 대한 참조들을 클러스터링할 때 의존성 파서로부터의 주석들에 의존할 수 있다. 일부 구현들에서, 특정 자연 언어 입력을 처리할 때, 자연 언어 프로세서(122)의 하나 이상의 컴포넌트들은 하나 이상의 주석들을 결정하기 위해 특정 자연 언어 입력 외부의 관련 사전 입력 및/또는 다른 관련 데이터를 사용할 수 있다.
전술한 바와 같이, 응답 콘텐츠 엔진(130)은 클라이언트 디바이스들(106I-N) 중 하나의 사용자와의 다이얼로그 세션 동안 제공하기 위해 제안들 및/또는 다른 콘텐츠를 생성하는 데 하나 이상의 리소스들을 이용한다. 다양한 구현들에서, 응답 형 콘텐츠 엔진(130)은 액션 모듈(132), 엔티티 모듈(134) 및 콘텐츠 모듈(136)을 포함할 수 있다.
응답 콘텐츠 엔진(130)의 액션 모듈(132)은 클라이언트 컴퓨팅 디바이스들(106I-N)로부터 수신된 자연 언어 입력 및/또는 자연 언어 프로세서(122)에 의해 제공되는 자연 언어 입력의 주석들을 이용하여 자연 언어 입력에 응답하는 적어도 하나의 액션을 결정한다. 일부 구현에서, 액션 모듈(132)은 자연 언어 입력에 포함된 하나 이상의 용어들에 기초하여 액션을 결정할 수 있다. 예를 들어, 액션 모듈(132)은 하나 이상의 컴퓨터 판독 가능 매체에서 자연 언어 입력에 포함된 하나 이상의 용어들에 맵핑되는 액션에 기초하여 액션을 결정할 수 있다. 예를 들어 "나의 쇼핑 목록에 <item>를 추가"의 액션이, "나는 시장에서 <item>을 필요로 한다 ...", "나는 <item>을 가져와야 한다", "우리는 <item>에서 나왔습니다 "등과 같은 하나 이상의 용어들에 맵핑될 수 있다.
엔티티 모듈(134)은 사용자(들)와 자동화된 어시스턴트(120) 사이의 다이얼로그 세션 동안 사용자 인터페이스 입력 디바이스(들)를 통해 하나 이상의 사용자들에 의해 제공된 입력에 기초하여 후보 엔티티들을 결정한다. 엔티티 모듈(134)은 후보 엔티티들을 결정 및/또는 이들 후보 엔티티를 정제하는데 하나 이상의 자원을 이용한다. 예를 들어, 엔티티 모듈(134)은 자연 언어 입력 자체 및/또는 자연 언어 프로세서(122)에 의해 제공된 주석들을 이용할 수 있다.
프로액티브 콘텐츠 모듈(136)은 사용자에게 잠재적 관심의 요청되지 않은 콘텐츠를 기존의 또는 새로 시작된 인간 대 컴퓨터 다이얼로그 세션들에 사전적으로 통합하도록 구성될 수 있다. 예를 들어, 일부 구현들에서, 프로액티브 콘텐츠 모듈(136)은, 예를 들어, 자연 언어 프로세서(122), 액션 모듈(132) 및/또는 엔티티 모듈(134)과 같은 다른 모듈들로부터 수신된 데이터에 기초하여, 사용자와 자동화된 어시스턴트(120) 사이의 기존의 인간 대 컴퓨터 다이얼로그 세션에서, 자동화된 어시스턴트(120)가 인간 대 컴퓨터 다이얼로그 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했음을 결정할 수 있다. 사용자가 특정 정보에 대한 검색을 요청하기 위해 클라이언트 디바이스(106)를 조작하고, 자동화된 어시스턴트(120)가 검색을 수행하고 (또는 검색이 수행되도록 하고), 사람 대 컴퓨터 다이얼로그의 일부로서 응답 정보를 리턴한다고 가정하자. 이 시점에서 사용자가 다른 정보를 요청되지 않은 경우, 자동화된 어시스턴트(120)는 사용자의 요청에 완전히 응답했다. 일부 구현들에서, 프로엑티브 콘텐츠 모듈(136)은 자동 어시스턴트(120)가 추가적인 사용자 입력을 수신하기 위해 소정의 소정 시간 간격(예를 들어, 2초, 5초 등)을 기다릴 수 있다. 시간 간격 동안 아무것도 수신되지 않으면, 프로엑티브 콘텐츠 모듈(136)은 그것이 인간 대 컴퓨터 대화 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답한 것으로 결정할 수 있다.
프로엑티브 콘텐츠 모듈(136)은 사용자의 하나 이상의 특성에 기초하여, 사용자에 대한 잠재적 관심의 정보 또는 사용자에 대한 잠재적 관심의 하나 이상의 액션들(본 명세서에서 사용자에 대한 잠재적 관심의 "콘텐츠"로 통칭)을 식별하도록 추가로 구성될 수 있다. 일부 구현들에서, 사용자에게 잠재적인 관심있는 콘텐츠의 식별은 다양한 시간 간격들(예를 들어, 규칙적으로, 지속적으로, 주기적으로 등)로 프로엑티브 콘텐츠 모듈(136)에 의해 수행될 수 있다. 결과적으로, 일부 이러한 구현들에서, 프로엑티브 콘텐츠 모듈(136)은 요청되지 않은 잠재적인 관심의 콘텐츠를 사용자에게 제공하기 위해 지속적으로 (또는 적어도 주기적으로) "프라이밍(primed)"될 수 있다. 추가적으로 또는 대안적으로, 일부 구현들에서, 잠재적으로 관심있는 콘텐츠의 이러한 식별은 다양한 이벤트들에 응답하여 프로엑티브 콘텐츠 모듈(136)에 의해 수행될 수 있다. 그러한 이벤트 중 하나는 자동화된 어시스턴트(120)가 인간 대 컴퓨터 대화 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답하고, 그리고 전술한 시간 간격의 만료에 의해 추가 사용자 입력이 수신되지 않았다는 결정일 수 있다. 사용자에게 잠재적으로 관심있는 콘텐츠를 식별하기 위해 프로엑티브 콘텐츠 모듈(136)을 트리거할 수 있는 다른 이벤트들은, 예를 들어, 사용자가 클라이언트 디바이스(106)를 사용하여 검색을 수행하는 것, 사용자가 클라이언트 디바이스(106)에서 특정 애플리케이션을 운영하는 것, 사용자가 새로운 위치로 여행하는 것(예를 들어, 클라이언트 장치의 위치 좌표 센서에 의해 또는 사용자가 소셜 미디어상의 위치에 "체크인"함으로써 감지됨), 자동 어시스턴트의 제어하에 스피커의 이어샷 내에서 사용자가 검출되는 것 등을 포함할 수 있다.
예를 들어, 능동 콘텐츠 모듈(136)에 의해 사용자에게 잠재적으로 관심있는 콘텐츠를 결정하기 위해 사용될 수 있는 사용자의 특성들은 다양한 형태들로 존재할 수 있고 다양한 소스들로부터 결정될 수 있다. 예를 들어, 사용자에게 관심있는 주제들은, 예를 들어, 사용자의 검색 이력, 브라우징 이력, 사용자 설정 선호도, 위치, 미디어 재생 이력, 여행 이력, 사용자와 자동화된 어시스턴트(120) 사이의 과거의 인간 대 컴퓨터 다이얼로그 세션 등과 같은 소스들로부터 결정될 수 있다. 따라서, 일부 구현들에서, 프로엑티브 콘텐츠 모듈(136)은 사용자에 의해, 예를 들어, 클라이언트 디바이스(106)로부터 직접 그리고/또는 소위 "클라우드"로 동작하는 하나 이상의 컴퓨팅 시스템들을 통해 간접적으로, 동작되는 하나 이상의 클라이언트 디바이스들(106)로부터 다양한 신호들 또는 다른 데이터에 액세스할 수 있다. 사용자가 관심을 갖는 주제는, 예를 들어, 특정 취미들(예를 들어, 골프, 스키, 게임, 그림 등), 문학, 영화들, 음악 장르들, 특정 엔티티들(예를 들어, 아티스트들, 운동 선수들, 스포츠 팀들, 회사들)을 포함할 수 있다. 사용자의 다른 특징들은, 예를 들어, 연령, 위치(예를 들어, GPS(Global Positioning System) 센서 또는 다른 삼각 측량 기반 위치 좌표 센서와 같은 클라이언트 디바이스(106)의 위치 좌표 센서로부터 결정됨), 사용자 설정 선호도들, 사용자가 현재 이동하는 차량에 있는지(예를 들어, 클라이언트 디바이스(106)의 가속도계로부터 결정된 것), 사용자의 예정된 이벤트(예를 들어, 하나 이상의 캘린더 엔트리로부터 결정된 것) 등을 포함할 수 있다.
다양한 구현들에서, 프로엑티브 콘텐츠 모듈(136)은 사용자에 대한 잠재적 관심의 정보 및/또는 잠재적 관심의 하나 이상의 행동을 나타내는 요청되지 않은 콘텐츠를 생성하고, 원치 않는 콘텐츠를 인간 컴퓨터 다이얼로그로 통합하도록 구성될 수 있다. 이 요청되지 않은 콘텐츠는 기존의 인간 대 컴퓨터간 다이얼로그 세션에 통합될 수 있는 다양한 형태들로 제공될 수 있다. 예를 들어, 사용자가 텍스트 기반 메시지 교환 클라이언트(107)를 사용하여 자동화된 어시스턴트(120)와 상호 작용하는 일부 구현들에서, 프로엑티브 콘텐츠 모듈(136)에 의해 생성된 원치 않는 콘텐츠는 텍스트, 이미지들, 비디오 또는 이들의 임의의 조합의 형태를 취할 수 있으며, 이는 메시지 교환 클라이언트(107)에 의해 렌더링된 인간 대 컴퓨터 다이얼로그의 사본에 통합될 수 있다. 일부 구현들에서, 원치 않는 콘텐츠는 상이한 애플리케이션 인터페이스를 사용자에게 노출시키기 위해 사용자에 의해 선택 가능한 소위 "딥 링크"의 형태를 포함하거나 취할 수 있다. 예를 들어, 딥 링크는, 사용자에 의해 선택될 때, 클라이언트 디바이스(106)가 특정 상태에서 특정 애플리케이션(109)을 시작 (또는 활성화)하게 할 수 있다. 사용자가 음성 인터페이스를 사용하여 자동화된 어시스턴트(120)와 상호 작용하는 다른 구현들에서(예를 들어, 자동화된 어시스턴트(120)가 독립형 대화형 스피커 또는 차량 내 시스템에서 동작할 때), 원치 않는 콘텐츠는 사용자에게 청각적으로 제공되는 자연 언어 출력의 형태를 취할 수 있다.
일부 구현들에서, 원치 않는 콘텐츠의 통합은, 예를 들어, 프로엑티브 콘텐츠 모듈(136)에 의해, 자동화된 어시스턴트(120)는 인간 대 컴퓨터 다이얼로그 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했다는 결정에 응답하여 수행될 수 있다. 일부 구현들에서, 프로엑티브 콘텐츠 모듈(136)과 관련하여 위에서 서술된 다른 동작들 중 하나 이상이 또한 이러한 이벤트에 응답하여 수행될 수 있다. 또는, 전술한 바와 같이, 이러한 동작들은 프로엑티브 콘텐츠 모듈(136)에 의해 주기적으로 또는 연속적으로 수행될 수 있어, 따라서, 프로엑티브 콘텐츠 모듈(136)(및 따라서, 자동화된 어시스턴트(120))은 사용자에게 잠재적인 관심없는 콘텐츠를 기존의 인간 대 컴퓨터 다이얼로그 세션으로 신속하게 통합하기 위해 "프라이밍된" 상태를 유지한다.
일부 구현들에서, 자동 어시스턴트(120)는 사용자에 의한 인간 대 컴퓨터 다이얼로그 세션의 개시 이전에도 요청되지 않은 출력을 제공할 수 있다. 예를 들어, 일부 구현들에서, 프로엑티브 콘텐츠 모듈(136)은, 하나 이상의 신호들에 기초하여, 사용자가 하나 이상의 오디오 출력 디바이스들(예를 들어, 독립형 대화형 스피커, 또는 자동화된 어시스턴트(120)의 전부 또는 일부를 작동시키는 클라이언트 디바이스(106)와 작동 가능하게 결합된 수동 스피커)의 이어샷 내에 있다는 결정하도록 구성될 수 있다. 이들 신호들은, 예를 들어, 오디오 출력 디바이스와 함께 사용자에 의해 운반되는 하나 이상의 클라이언트 디바이스들(106)의 공존, 물리적 사용자 존재의 검출(예를 들어, 수동적 적외선 사용, 사운드 검출(예를 들어, 사용자의 음성 검출) 등)등을 포함할 수 있다.
프로엑티브 콘텐츠 모듈(136)이 사용자가 하나 이상의 오디오 출력 장치의 이어 샷 내에 있다고 결정하면, 프로엑티브 콘텐츠 모듈(136)은, 사용자의 하나 이상의 특성에 적어도 부분적으로 기초하여, (상기에서 서술한 것처럼) 사용자에 대한 잠재적 관심의 정보 또는 사용자에 대한 잠재적 관심의 하나 이상의 행동을 식별할 수 있고; 잠재적 관심의 정보 또는 잠재적 관심의 하나 이상의 행동들을 나타내는 원치 않는 콘텐츠를 생성하고; 그리고/또는 자동화된 어시스턴트(120)와 사용자 사이의 요청되지 않은 콘텐츠를 들을 수 있는 인간 대 컴퓨터 다이얼로그 세션으로 통합할 수 있다. 위에서 언급한 바와 같이, 이러한 추가 동작들 중 하나 이상은 사용자가 오디오 출력 디바이스(들)의 이어 샷 내에 있다는 결정에 응답하여 수행될 수 있다. 추가적으로 또는 대안적으로, 이러한 동작들 중 하나 이상은 주기적 또는 연속적으로 수행될 수 있어서, 프로엑티브 콘텐츠 모듈(136)은 요청되지 않은 콘텐츠를 인간 대 컴퓨터 다이얼로그에 통합시키기 위해 항상 (또는 적어도 일반적으로) "프라이밍"된다.
도 2는 사용자(101)와 자동화된 어시스턴트(도 1의 120, 도 2에는 도시되지 않음) 사이의 인간 대 컴퓨터 다이얼로그 세션의 예를 도시한다. 도 2는, 컴퓨팅 디바이스(210)(독립형 대화형 스피커로 도시되어 있지만, 이는 제한적인 것은 아님)의 사용자(101)와 여기에서 서술된 구현들에 따른 자동화된 어시스턴트(120) 사이에서, 마이크(들)과 스피커(들)을 통해 발생할 수 있는 다이얼로그 세션의 예들을 도시한다. 자동화된 어시스턴트(120)의 하나 이상의 양태들은 컴퓨팅 디바이스(210) 및/또는 컴퓨팅 디바이스(210)와 네트워크 통신하는 하나 이상의 컴퓨팅 디바이스들에서 구현될 수 있다.
도 2에서, 사용자(101)는 "굿모닝. 오늘의 일정은 뭐지?"의 자연 언어 입력 (280)을 제공하여, 사용자(101)와 자동화된 어시스턴트(120) 사이의 인간 대 컴퓨터 다이얼로그 세션을 개시한다. 자연 언어 입력(280)에 응답하여, 자동화된 어시스턴트(120)는 "오전 9시 30분에 치과 예약이 되어있고, 이후 오전 11:00에 가상 카페에서 미팅이 있습니다"의 응답 자연 언어 출력(282)을 제공한다. 이들이 하루 동안의 사용자 스케줄에서 유일한 2개의 이벤트라고 가정하면, 자동화된 어시스턴트(120)는 (예를 들어, 액션 모듈(132)에 의해) 사용자의 자연 언어 입력에 완전히 응답했다. 그러나, 추가적인 사용자 입력을 기다리는 대신에, 자동화된 어시스턴트(120)는, (예를 들어, 프로엑티브 콘텐츠 모듈(136)에 의해) 사용자에 대해 잠재적인 관심을 갖는 추가적 콘텐츠를 도 2의 인간 대 컴퓨터 다이얼로그에 사전에 통합할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는, 예를 들어, 가장 직행인 루트에 많은 구조물이 있다고 결정하여 치과의 위치와 미팅 사이의 하나 이상의 여행 경로를 검색(또는 다른 컴포넌트가 검색하도록 요청)할 수 있다. 두 약속이 비교적 가깝기 때문에, 자동화된 어시스턴트(120)는 다음과 같은 원치 않는 콘텐츠(이탤릭체로 표시됨)를 인간 대 컴퓨터 다이얼로그에 사전에 통합한다: "치과 진료와 가상의 카페 사이의 직행 루트에 많은 구조물들이 있습니다. 대신 <대안의 루트>를 제안할까요?"
도 3은 다른 세션 동안 사용자(101)와 컴퓨팅 디방이스(210) 상에서 동작하는 자동화된 어시스턴트(120) 사이의 다른 예시적인 대화를 도시한다. 380에서, 사용자(101)는 "바깥 온도는 어때?"이라는 문구를 말한다. 382에서, 하나 이상의 소스(예를 들어, 날씨 관련 웹 서비스)로부터 외부 온도를 결정한 후, 자동화된 어시스턴트(120)는 "화씨 75도입니다"라고 응답할 수 있다. 다시 한번, 자동화된 어시스턴트(120)는 (예를 들어, 프로엑티브 콘텐츠 모듈 (136)에 의해) 그것이 사용자의 자연 언어 입력에 완전히 응답했다고 결정할 수 있다. 따라서, 특정 팀에 대한 사용자(101)의 관심 및 상기 팀이 이전 저녁에 게임에서 이겼다는 결정에 기초하여, 자동화된 어시스턴트(120)는 다음과 같은 원치 않는 콘텐츠를 인간 대 컴퓨터 다이얼로그에 사전에 통합할 수 있다: "어제 밤에 <팀>이 20점을 얻은 것을 봤나요?"
도 4는 다른 세션 동안 사용자(101)와 컴퓨팅 디바이스(210)상에서 동작하는 자동화된 어시스턴트(120) 사이의 다른 예시적인 대화를 도시한다. 이 예에서, 사용자(101)는 자연 언어 입력을 제공하지 않는다. 대신에, 자동화된 어시스턴트(120) 또는 컴퓨팅 디바이스(210) 상에서 동작하는 다른 컴포넌트는, 예를 들어, 클라이언트 디바이스(406)(이 예에서는 스마트 폰)에 의해 제공되는 하나 이상의 신호에 기초하여, 사용자(101)가 컴퓨팅 디바이스(210)와 공존하는지, 그리고 컴퓨팅 디바이스(210)에 의해 제공되는 가청 출력의 이어 샷 내에 있는지를 결정한다. 따라서, 482에서, 자동화된 어시스턴트(120)는 컴퓨팅 디바이스(210)와 사용자(101)의 공존에 기초하여 자동화된 어시스턴트에 의해 개시되는 새로운 인간 대 컴퓨터 다이얼로그에 요청되지 않은 콘텐츠(도 3에서와 동일한 요청되지 않은 콘텐츠)를 사전에 통합시킨다. 클라이언트 디바이스(406)에 의해 컴퓨팅 디바이스(210)에 제공되는 하나 이상의 신호들은, 예를 들어, 무선 신호(예를 들어, Wi-Fi, BlueTooth), 공유된 네트워크(예를 들어, 클라이언트 디바이스(406)는 컴퓨팅 디바이스(210)와 동일한 Wi-Fi 네트워크에 가입)를 포함할 수 있다.
일부 구현들에서, 자동화된 어시스턴트(120)는 사용자(101)가 컴퓨팅 디바이스(210)와 공존한다고 결정함에 따라 사용자가 잠재적으로 관심있는 다른 콘텐츠를 인간 대 컴퓨터의 다이얼로그 대화에 사전에 통합할 수 있다. 일부 구현들에서, 이 다른 콘텐츠는, 예를 들어, 클라이언트 디바이스(406) 상에서 동작하는 애플리케이션의 상태에 기초하여 결정될 수 있다. 사용자(101)가 클라이언트 디바이스(406)에서 게임을 하고 있다고 가정하자. 컴퓨팅 디바이스(210) 상의 자동화된 어시스턴트(120)는 클라이언트 디바이스(406)가 특정 게임 재생 상태에 있다고 결정할 수 있고, 그리고 사용자 대 컴퓨터 다이얼로그의 일부로서, 팁들, 트릭들, 유사한 게임들의 추천 등과 같은 사용자에게 잠재적으로 원치 않는 다양한 콘텐츠를 제공할 수 있다. 컴퓨팅 디바이스(210)가 독립형 대화형 스피커인 일부 구현들에서, 컴퓨팅 디바이스(210)는 심지어 배경 음악(예를 들어, 배경 음악 복제 또는 추가) 및/또는 적어도 사용자(101)가 컴퓨팅 디바이스(210)와 공존하는 한, 클라이언트 디바이스(406) 상에서 재생되는 게임과 관련된 음향 효과들을 출력할 수 있다.
도 5는 사용자(101)와 클라이언트 디바이스(406) 상에서 동작하는 자동화된 어시스턴트(120)의 인스턴스 사이의 예시적인 인간 대 컴퓨터 다이얼로그를 도시한다. 이 예에서, 사용자(101)는 다시 자연 언어 입력을 제공하지 않는다. 대신, 컴퓨팅 디바이스(210)(다시 한 번 독립형 대화형 스피커의 형태를 취함)는 음악을 재생하고 있다. 이 음악은 클라이언트 디바이스(406)의 하나 이상의 오디오 센서(예를 들어, 마이크로폰들)에서 검출된다. 청각적으로 검출된 음악을 분석하도록 구성된 소프트웨어 애플리케이션과 같은 클라이언트 디바이스(406)의 하나 이상의 컴포넌트들은, 아티스트/노래 등과 같은 검출된 음악의 하나 이상의 속성들을 식별할 수 있다. 도 1의 엔티티 모듈(134)과 같은 다른 컴포넌트는 이러한 속성들을 사용하여 엔티티에 관한 정보를 위한 하나 이상의 온라인 소스들을 검색할 수 있다. 클라이언트 디바이스(406)에서 동작하는 자동화된 어시스턴트(120)는 (예를 들어, 도 5의 클라이언트 디바이스(406)의 하나 이상의 스피커들을 통해 큰 소리로) 원치 않는 콘텐츠를 제공할 수 있고(582에서) 사용자에게 엔티티에 대한 다양한 정보를 통지할 수 있다. 예를 들어, 도 5의 582에서, 자동 어시스턴트(120)는 "당신이 <아티스트>의 노래를 듣는 것을 보았습니다. 당신은 <아티스트>가 <날짜>에 <당신의 도시>에 투어 경로를 가지고 있는지 알고 있나요?"라고 언급한다. 사용자의 텔레비전에 제시되는 시청각 콘텐츠(예를 들어, 영화, 텔레비전 프로그램, 스포츠 이벤트 등)를 (사운드 및/또는 시각적 검출을 통해) 검출할 때, 클라이언트 디바이스(예를 들어, 스마트 폰, 태블릿, 랩탑, 독립형 대화형 스피커)에서 동작하는 자동화된 어시스턴트(120)의 인스턴스에 의해 유사한 기술이 적용될 수있다.
도 5에서, 컴퓨팅 디바이스(210)는 클라이언트 디바이스(406)에 의해 "들어 진" 음악을 청각적으로 출력하고 있다. 그러나, 사용자(101)가 컴퓨팅 디바이스(210) 대신에 클라이언트 디바이스(406)를 사용하여 음악을 듣고 있다고 가정하자. 또한, 사용자(101)가 이어폰을 사용하여 음악을 듣고 있어서 음악이 사용자 (101)에게만 들릴 수 있고 컴퓨팅 디바이스(210)와 같은 다른 컴퓨팅 디바이스에는 들릴 필요가 없다고 가정하자. 다양한 구현들에서, 특히, 클라이언트 디바이스(406) 및 컴퓨팅 디바이스(210)가 사용자(101)와 연관된 컴퓨팅 디바이스들의 동일한 생태계의 일부인 경우, 컴퓨팅 디바이스(210)는 클라이언트 디바이스(406)의 음악 재생 애플리케이션이 현재 음악을 재생하는 상태에 있다고 결정할 수 있다. 예를 들어, 클라이언트 디바이스(406)는, 예를 들어, Wi-Fi, 블루투스 등과 같은 무선 통신 기술을 사용하여, 음악 재생 애플리케이션의 상태의 근처의 디바이스들(예컨대, 컴퓨팅 디바이스(210))에 대한 표시 (및/또는 다른 애플리케이션들의 상태의 표시)제공할 수 있다. 추가적으로 또는 대안적으로, 사용자(101)에 의해 운영되는 컴퓨팅 디바이스들의 에코 시스템을 위해, 현재 실행중인 응용 프로그램 및 해당 상태의 글로벌 인덱스는 (예를 들어, 사용자(101)에게 서비스를 제공하는 자동화된 어시스턴트에 의해) 유지될 수 있고 생태계의 컴퓨팅 디바이스들 사이에서 이용 가능할 수 있다. 어느 쪽이든, 일단 컴퓨팅 디바이스(210)와 관련된 자동 어시스턴트(120)는 클라이언트 디바이스(406) 상의 음악 재생 애플리케이션의 상태를 알게 되면, 자동화된 어시스턴트(120)는, 예를 들어, 컴퓨팅 디바이스(210)(자동화된 어시스턴트(120)에 의해 트리거될 수 있음)를 통해 사용자(101)와 자동화된 어시스턴트(120) 사이의 인간 대 컴퓨터 다이얼로그에 도 5의 582에서 도시된 것과 유사한 콘텐츠를 사전에 통합할 수 있다.
도 2 내지 도 5는 사용자(101)가 오디오 입력/출력을 사용하여 자동화된 어시스턴트(120)와 관여하는 인간 대 컴퓨터 다이얼로그들을 도시한다. 그러나 이것은 제한적인 것은 아니다. 전술한 바와 같이, 다양한 구현들에서, 사용자들은 메시지 교환 클라이언트(107)와 같은 다른 수단을 사용하여 자동화된 어시스턴트들을 관여시킬 수 있다. 도 6은 스마트폰 또는 태블릿 형태의 클라이언트 디바이스(606)(그러나 이에 제한되지 않음)가 터치 스크린(640)을 포함하는 예를 도시한다. 터치 스크린(640) 상에 시각적으로 렌더링되는 것은 클라이언트 디바이스(606)의 사용자(도 6의 "당신")와 클라이언트 장치(606)상에서 실행되는 자동화된 어시스턴트(120)의 인스턴스 사이의 인간 대 컴퓨터 대화의 사본(642)이다. 또한, 사용자가 자연 언어 컨텐츠뿐만 아니라 이미지, 사운드 등과 같은 다른 유형들의 입력들을 제공할 수 있는 입력 필드(644)가 제공된다.
도 6에서, 사용자는 "<상점>은 몇 시에 문을 열지?"라는 질문으로 인간 대 컴퓨터 대화 세션을 시작한다. 자동화된 어시스턴트(120)(도 6의 "AA"), 예를 들어 액션 모듈(132) 또는 다른 컴포넌트에 의해, 상점의 시간과 관련된 정보에 대한 하나 이상의 검색을 수행하고, "<상점>은 오전 10시에 문을 엽니다."라고 응답한다. 이 시점에서, 자동화된 어시스턴트(120)는 현재 인간 대 컴퓨터 다이얼로그 세션에서 사용자에 의해 제공된 유일한 자연 언어 입력에 응답했다. 그러나, 이 예에서, 사용자는 뉴욕행 비행기 티켓을 검색하기 위해 클라이언트 디바이스(606) 또는 클라이언트 디바이스(606)를 포함하는 클라이언트 디바이스들의 에코 시스템 내의 다른 클라이언트 디바이스를 최근에 조작했다고 가정한다. 사용자는 자동화된 어시스턴트(120)와 하나 이상의 인간 대 컴퓨터 다이얼로그 세션에 참여함으로써, 웹 브라우저, 또는 이들의 임의의 조합에 의해 이러한 검색을 수행할 수 있다.
이 과거의 검색 활동에 기초하여, 일부 구현들에서, 자동화된 어시스턴트(120)(예를 들어, 프로엑티브 콘텐츠 모듈(136)에 의해)는, 주기적으로/연속적으로 또는, 자동화된 어시스턴트(120)가 현재의 인간 대 컴퓨터 다이얼로그 세션에서 수신된 모든 자연 언어 입력에 응답했다는 결정에 응답하여, 이 검색과 관련이 있으며 따라서 잠재적으로 사용자가 관심을 가질만한 정보를 위해 하나 이상의 온라인 소스들을 검색할 수 있다. 이후, 자동화된 어시스턴트(120)는 도 6에 도시된 인간 대 컴퓨터 다이얼로그 세션에 다음의 원치 않는 콘텐츠를 사전에 통합할 수 있다 : "뉴욕행 티켓들을 구입한 적이 있습니까? 직항과 호텔에 대한 거래를 발견했습니다." 이어서, 자동화된 어시스턴트(120)(예를 들어, 프로엑티브 콘텐츠 모듈(136)에 의해)는 사용자 대 컴퓨터 다이얼로그에 클라이언트 디바이스(606)에 설치된 여행 애플리케이션을 열도록 사용자에 의해 선택할 수 있는 사용자 인터페이스 요소(예를 들어, 딥 링크)(646)의 형태로 추가적인 원치 않는 콘텐츠를 통합한다. 사용자 인터페이스 요소(646)가 선택되면, 여행 애플리케이션은, 예를 들어, 이미 뉴욕으로 항공편을 예약하는 것에 대한 입력으로, 미리 정해진 상태로 열릴 수 있으며, 사용자는 미리 채워진 정보를 편집하고 그리고/또는 티켓을 구매하기 위해 상대적으로 적은 추가 입력 명령을 발행할 수 있다. 예를 들어, 티켓을 예약하거나 목적지에 대한 일반적인 정보를 위해 웹 페이지들에 대한 하나 이상의 하이퍼 링크들(648)과 같은 다른 원치 않는 콘텐츠가 선택 가능한 옵션들로서 제시될 수 있다.
도 6의 사용자 인터페이스 요소(646)는 탭핑하거나 다른 방식으로 터치함으로써 선택될 수 있는 시각적 요소이지만, 이는 제한적인 의미가 아니다. 도 6에 도시된 것과 유사한 인간 대 컴퓨터 다이얼로그가 사용자와 오디오 출력 디바이스(예를 들어, 이전 도면들에 도시된 독립형 대화형 스피커) 사이에서 들을 수 있다. 일부 이러한 구현들에서, 사용자 인터페이스 요소는 대신에 사용자에 의해 긍정적으로 응답되면 "선택될" 수 있는 질문 또는 옵션과 같은 가청의 촉구의 형태를 취할 수 있다. 예를 들어, 시각적 사용자 인터페이스 요소(646)를 제시하는 대신, 자동화된 어시스턴트(120)는 "당신이 뉴욕행 티켓을 예약할 수 있도록 <여행 애플리케이션>을 개설하길 원하는지 알려주세요"와 같은 것을 청각적으로 출력할 수 있다. 일부 구현들에서, 여행 애플리케이션 자체는 여행 준비를 예약하기 위해 사용자와 인간 대 컴퓨터 대화에 관여하도록 특별히 구성된 자체 자동화된 어시스턴트를 포함할 수 있다. 이러한 일부 구현들에서, 사용자는 여행 애플리케이션 특정 자동화된 어시스턴트로 "통과"될 수있다. 다른 구현들에서, 자동 어시스턴트(120)는 여행 애플리케이션을 사용하여 티켓을 예약하는데 필요한 정보를 사용자에게 요청하는 자연 언어 출력을 형성하기 위해 여행 애플리케이션과 관련된 다양한 정보 및 상태를 이용할 수 있다. 자동 어시스턴트(120)는 사용자를 대신하여 (예를 들어, 사용자에 의해 제공된 자연 언어 입력에 응답하여) 여행 애플리케이션과 상호 작용할 수 있다.
도 7은 다시 터치 스크린(640) 및 사용자 입력 필드(644)과 인간 대 컴퓨터 다이얼로그 세션의 대화 내용(742)을 갖는 클라이언트 디바이스(606)를 도시한다. 이 예에서, 사용자("당신")는 자연어 입력 "굿모닝"을 타이핑 및/또는 말하기 (텍스트로 인식하고 텍스트로 변환할 수 있음)하여 인간 대 컴퓨터 간 다이얼로그를 시작한다. 자동화된 어시스턴트(120)("AA")는 "굿모닝"으로 응답한다. 이 시점에서 사용자가 수행해야 할 뛰어난 자연 언어 요청이 더 이상 존재하지 않는다. 따라서, 여기에 서술된 기술을 사용하여, 자동화된 어시스턴트(120)는, 예를 들어, 사용자와 연관된 캘린더로부터, 사용자에 의해 다른 사람과 교환된 대응(예를 들어, 이메일, 문자 메시지)으로부터, 클라이언트 디바이스(6060) 상에 설치된 레스토랑 애플리케이션으로부터, 사용자는 오늘 저녁 <레스토랑>에 예약을 했다. 따라서, 자동화된 어시스턴트(120)는 다음과 같은 진술을 인간 대 컴퓨터 다이얼로그에 사전에 통합시킨다: "당신이 오늘밤 <레스토랑>에 예약한 것을 잊지 마십시오." 그 후, 자동화된 어시스턴트(120)는 사용자가 레스토랑 애플리케이션("나의 레스토랑들(MY RESERVATIONS)")을 개방하여 사용자가 레스토랑을 보고 그리고/또는 편집/취소할 수 있는 상태로 사용자에 의해 선택 가능한 사용자 인터페이스 요소 (746)를 사전에 통합한다. 부가적으로, 자동화된 어시스턴트(120)는 예약 및/또는 레스토랑 근처의 관광 명소와 관련된 웹 사이트에 대한 하이퍼링크들(748)과 같은 잠재적 관심의 다른 콘텐츠를 사용자에게 사전에 통합한다. 일부 구현들에서, 일단 사용자가 레스토랑에 도착하면, 상이한 원치 않는 콘텐츠가 동일한 사람 대 컴퓨터 대화 세션 또는 자동화된 보조자(120)에 의해 새로운 사람 대 컴퓨터 다이얼로그 세션, 예를 들어, 사용자들 및/또는 다른 사람들에 의해 레스토랑에서 이전에 촬영된 사진들, 리뷰, 추천, 스페셜 등에 통합될 수 있다.
전술한 사전에 통합된 원치 않는 콘텐츠의 예는 제한적인 것으로 의도되지 않는다. 사용자들에게 잠재적으로 관심이있는 다른 원치 않는 콘텐츠는 여기에 서술된 기술들을 사용하여 인간 대 컴퓨터 다이얼로그들에 사전에 통합될 수 있다. 예를 들어, 사용자가 예정된 예정된 비행 (또는 기차 이탈 또는 다른 여행 구성)을 갖는 일부 구현들에서, 자동화된 어시스턴트(120)는 요청되지 않은 콘텐츠를 사용자와의 인간 대 컴퓨터 다이얼로그 세션에 사전에 통합할 수 있다. 이러한 요청되지 않은 컨텐츠는, 예를 들어, 사용자의 비행이 다가올 것이라는 알림, 사용자가 예정된 비행, 공항으로의 여행 시간에 관한 정보 (또는 선택 가능한 사용자 인터페이스 요소들에 관한 정보) 등을 보거나 편집할 수 있게 하는 애플리케이션을 열기 위해 (터치, 음성, 제스처 등으로) 선택할 수있는 하나 이상의 사용자 인터페이스 요소를 포함할 수 있다. 또는 자동화된 어시스턴트(120)가 (예를 들어, 사용자의 스케줄, 위치 좌표 센서 등에 기초하여) 사용자의 비행기가 목적지에 착륙했다고 결정하면, 자동화된 어시스턴트(120)는 사용자에게 관심이있을 수있는 다양한 정보 및/또는 사용자 인터페이스 요소들, 예를 들어, 자동차 서비스 호출(또는 승차 공유 애플리케이션의 실행), 호텔 또는 다른 어트랙션, 인근 레스토랑 등으로의 길 찾기와 관련된 요소를 새로운 또는 기존의 인간 대 컴퓨터 다이얼로그 세션에 사전에 통합할 수 있다.
다른 예로서, 자동화된 어시스턴트(120)는 사용자에 의해 운영되는 하나 이상의 컴퓨팅 디바이스들(일부 경우들에서 사용자와 연관된 컴퓨팅 디바이스들의 조정된 에코 시스템의 일부일 수 있음)에 대한 변경들이 이루어진 것으로 결정할 수있다. 예를 들어, 자동화된 어시스턴트(120)는 사용자와의 마지막 인간 대 컴퓨터 다이얼로그 세션 이후에, 사용자와 관련된 하나 이상의 클라이언트 디바이스들에 설치된 하나 이상의 애플리케이션들(자동화된 어시스턴트(120)를 자체 포함)이 업데이트되었다고 결정할 수 있다. 사용자는 잠재적으로 이러한 업데이트들에 대한 정보를 받는데 관심이 있을 수 있으므로, 자동화된 어시스턴트는, 예를 들어, "환영합니다. 당신이 나가있는 동안, 택시를 부르는 법을 배웠습니다. 당신이 필요할 때마다 저에게 말해주세요"와 같은 인간 대 컴퓨터 다이얼로그에 원치 않는 콘텐츠를 통합할 수 있다.
또 다른 예로서, 일부 구현들에서, 자동화된 어시스턴트(120)는 특정 시점에서, (예를 들어, 사용자에 대한 하나 이상의 일반적인 관심 주제, 사용자의 브라우징 이력 등) 잠재적으로 사용자가 관심을 가질 수 있는 다양한 정보의 조각들을 결정할 수 있고 그리고 이러한 정보의 조각들과 관련된 원치 않는 콘텐츠를 사용자와의 인간 대 컴퓨터 간 다이얼로그 세션에 사전에 통합할 수 있다. 예를 들어, 특정 사용자가 역사 및 전자 제품에 관심이 있다고 가정하자. 다양한 구현들에서, 자동화된 어시스턴트(120)는 기존의 인간 대 컴퓨터 다이얼로그 세션 동안, 사용자로부터 수신된 모든 자연 언어 입력에 응답한 것으로 판단될 때, 자동화된 어시스턴트(120)는 예를 들어, 현재 날짜와 사용자에 잠재적 관심의 정보를 사전에 통합할 수 있다. 예를 들어, 니콜라 텔사의 생일에, 역사 및 전자 제품에 관심이있는 사용자에게는 텔사와 관련된 앱 또는 웹 페이지를 열도록 사용자가 선택할 수있는 사용자 인터페이스 요소가 제공될 수 있다. 다른 예로서 오늘이 사용자의 결혼 기념일이라고 가정하자. 자동화된 어시스턴트는 기존의 인간 대 컴퓨터 다이얼로그 세션에 그래픽 요소들 또는 기념일에 사용자가 관심을 가질만한 기타 정보(예를 들어, 꽃 웹 사이트, 레스토랑들 등)를 사전에 통합할 수 있다.
또 다른 예로서, 일부 구현들에서, 사용자의 위치(예를 들어, 사용자에 의해 운반되는 컴퓨팅 디바이스의 위치 좌표 센서에 의해 결정됨)는 원치 않는 콘텐츠를 사용자와의 인간 대 컴퓨터 다이얼로그 세션에 사전에 통합하도록 자동화된 어시스턴트(120)를 촉구할 수 있다. 예를 들어, 사용자가 식료품점 근처에 있다고 가정하자. 자동화된 어시스턴트(120)는, 예를 들어, 사용자와 연관된 하나 이상의 식료품 목록(예를 들어, 클라이언트 디바이스 또는 클라우드 기반에 로컬로 저장됨)에 기초하여, 사용자가 식료품 점에서 픽업해야하는 아이템이 있는지를 결정할 수있다. 자동화된 어시스턴트(120)는 원치 않는 컨텐츠를 사용자와의 인간 대 컴퓨터 다이얼로그에 사전에 통합할 수 있으며, 여기서 원치 않는 컨텐츠는 필요한 아이템들, 아이템들에 대한 정보, 아이템들에 대한 가용 거래 등을 포함한다.
또 다른 예로서, 일부 구현들에서, 사용자에 의해 빈번하게 요청되는 정보 또는 액션들은 요청되지 않은 콘텐츠로서 인간 대 컴퓨터 다이얼로그 세션에 사전에 통합될 수 있다. 예를 들어, 사용자가 다양한 주제에 대해 자동화된 어시스턴트(120)와 대화하고 있고, 시간이 사용자가 저녁을 먹는 전형적인 시간에 근접하고 있다고 가정하자. 일부 구현들에서, 자동화된 어시스턴트(120)는 사용자가 피자를 주문하고 (로컬 메모리 또는 자주 방문하는 레시피 웹 페이지 등으로부터) 레시피를 열도록 선택할 수있는 사용자 인터페이스 요소와 같은, 먹는 것과 관련된 요청되지 않은 콘텐츠를 기존의 인간 대 컴퓨터 다이얼로그 세션으로 통합할 수 있다. 다른 구현들에서, 기존의 인간 대 컴퓨터 다이얼로그 세션에 통합될 수 있는 원치 않는 콘텐츠는 인기 뉴스 기사, 인기 검색어, 사용자에 의해 이전에 발행된 검색어에 대한 업데이트된 검색 결과 등을 포함할 수 있지만, 이에 제한되지는 않는다.
물론, 사용자는 항상 요구하지 않은 콘텐츠를 원치 않을 수도 있다. 예를 들어, 사용자는 교통 체증이 많거나, 긴급 상황에 있을 수 있고, 사용자가 요청되지 않은 콘텐츠(예를 들어, 화상 통화)를 수신하기를 요청되지 않은 방식으로 컴퓨팅 디바이스를 작동하고 있을 수 있다. 따라서, 일부 구현들에서, 자동화된 어시스턴트 (120)는 사용자가 원치 않는 콘텐츠를 수신하는 것이 바람직하다는 측정을 (예를 들어, 위치 신호, 대화의 맥락, 하나 이상의 애플리케이션의 상태, 가속도계 신호 등과 같은 신호들에 기초하여) 결정하도록 구성될 수 있고, 그리고 이 측정이 하나 이상의 임계값을 충족하는 경우 요청되지 않은 콘텐츠만 제공할 수 있다.
유사하게, 일부 구현들에서, 자동화된 어시스턴트(120)는 특정 기간 동안 (새로운 또는 기존의 인간 대 컴퓨터 다이얼로그 세션의 일부로서) 원치 않는 콘텐츠를 제공할 수 있다. 예를 들어, 사용자가 오전 7시와 오전 8시 사이에 자동화된 어시스턴트(120)를 운영하는 클라이언트 디바이스의 이어 샷 내에서 탐지된 경우, 자동화된 어시스턴트(120)는 요청되지 않은 인사말, 예를 들어, "굿모닝", "비가 오므로 우산을 잊지 마세요", "405에 교통 체증이 심합니다", "오늘의 헤드 라인이 있습니다 ...", "오늘의 일정이 있습니다 ...," 등을 자동으로 출력할 수 있다.
다른 예로서, 일부 구현들에서, 자동화된 어시스턴트(120)는 특정 시간 및/또는 위치에서 복수의 사용자들의 활동을 고려하여 특정 사용자가 요청되지 않은 콘텐츠를 긍정적으로 수신할 가능성이 있다고 판단할 수 있다. 다양한 구현들에서, 자동화된 어시스턴트(120)는 특정 위치, 특정 시간 등과 관련될 수 있는 검색에서 스파이크들, 트렌드들 및/또는 다른 패턴들을 식별하기 위해 다수의 사용자들로부터의 검색 질의드을 분석할 수 있다. 예를 들어, 랜드 마크를 방문하는 많은 사용자들이 모바일 장치에서 "얼마나 많은 층이 있는지", "건물을 언제 지었는지", "얼마나 오래되었는지" 등과 같은 유사한 웹 검색들을 수행한다고 가정하자. 이들 검색 중 명백한 패턴 또는 트랜드를 검출한 후, 자동화된 어시스턴트(120)는 새로운 사용자가 랜드 마크에 도달할 때 요청되지 않은 컨텐츠를 사전에 제공할 수 있다.
도 8은 여기에 개시된 구현들에 따른 예시적인 방법(800)을 나타내는 흐름도이다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 서술된다. 이 시스템은 자동화된 어시스턴트(120)의 하나 이상의 컴포넌트와 같은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들을 포함할 수 있다. 더욱이, 방법(800)의 동작들이 특정 순서로 도시되어 있지만, 이는 제한적인 것으로 의도되지는 않는다. 하나 이상의 작업이 재정렬, 생략 또는 추가될 수 있다.
블록(802)에서, 시스템은 기존의 사용자와 자동화된 어시스턴트 사이의 인간 대 컴퓨터 다이얼로그 세션에서, 자동화된 어시스턴트는 사용자 대 컴퓨터 다이얼로그 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했다. 일부 구현들에서, 이것은 모든 자연 언어 입력들에 응답한 후 소정의 시간 간격이 경과하기를 기다리는 것을 포함할 수 있지만, 이것이 필수적인 것은 아니다.
일부 구현들에서, 시스템은 사용자가 요청되지 않은 콘텐츠를 원할 가능성이 있는 (즉, 전술한 "원하는 정도"에 의해 나타낼 수 있는 바와 같이) 블록(804)에서의 추가 결정에 응답하여 동작들(806-810) 중 하나 이상을 계속 수행할 수 있다. 이러한 추가 결정은, 인간 대 컴퓨터 다이얼로그 세션의 대화 맥락, 인간 대 컴퓨터 다이얼로그 세션(예를 들어, 위치 신호들, 가속도계 신호들 등)과 무관한 신호(들)로부터 결정된 사용자의 상황, 또는 이들의 조합과 같은 다양한 소스들에 기반할 수 있다. 예를 들어, 사용자의 가속도계 및/또는 위치 좌표 센서 신호에 기초하여, 사용자가 현재 운전하고 있다고 판단되는 경우(예를 들어, 사용자가 트래픽 업데이트 또는 길 찾기를 요청한 후), 시스템은 사용자가 요청되지 않은 콘텐츠에 의해 주의를 산만하게하고 싶지 않다고 결정할 수 있다. 다른 예로서, 인간 대 컴퓨터 다이얼로그 세션의 맥락은 사용자가 요청되지 않은 콘텐츠로 주의를 산만하게하고 싶지 않을 것을 제안할 수 있다. 예를 들어, 사용자가 가장 가까운 응급실의 위치를 자동화된 어시스턴트에게 요청하거나 부상 치료를 요청하는 경우, 결정된 원하는 정도는 상대적으로 낮을 수 있고(예를 들어, 임계값을 충족시키지 못함), 자동화된 어시스턴트는 요청된 정보에 대한 후속 조치로서 요청되지 않은 콘텐츠를 제공하지 않을 수 있다. 또 다른 예로서, 사용자가 자동화된 어시스턴트에게 완료하기까지 약간의 시간이 걸리고 사용자의 주의를 요하는 어떤 행동(예를 들어, 화상 통화를 시작하고, 전화를 걸고, 영화를 재생하는 등)을 유발하도록 요청하는 경우, 이후 사용자는 요청되지 않은 추가 콘텐츠로 인해 방해받지 않을 것이다.
블록(806)에서, 시스템은 사용자의 하나 이상의 특성에 기초하여, 사용자에 대한 잠재적 관심의 정보 또는 사용자에 대한 잠재적 관심의 하나 이상의 액션을 식별할 수 있다. 위에서 언급한 바와 같이, 블록 806의 동작은 블록 802 내지 804의 결정에 응답하여 수행될 수 있거나, 또는 자동화된 어시스턴트는 임의의 특정 시점에 요청되지 않은 컨텐츠를 제공하도록 "프라이밍"되도록 지속적으로 수행될 수 있다. 다양한 구현들에서, 자동화된 어시스턴트는 다양한 소스들, 예를 들어, 사용자의 검색 이력, 브라우징 이력, 인간 대 컴퓨터 다이얼로그 이력(동일한 또는 상이한 클라이언트 디바이스들의 동일한 세션 및/또는 이전 세션 포함), 사용자의 위치(예를 들어, 사용자 일정, 소셜 네트워크 상태(예를 들어, 체크인), 위치 좌표 센서 등으로부터 결정), 스케쥴/달력, 사용자에 대한 일반적인 관심 주제(사용자에 의해 수동으로 설정되거나 사용자의 활동에 기초하여 학습될 수 있음) 등에 기초하여 사용자에 대한 잠재적인 관심의 정보 또는 액션(들)을 식별할 수 있다.
블록(808)에서, 시스템은 사용자에 대한 잠재적 관심 정보 또는 잠재적 관심의 하나 이상의 액션들을 나타내는 요청되지 않은 콘텐츠를 생성할 수 있다. 이 요청되지 않은 콘텐츠는, 예를 들어, 사용자에 대한 잠재적인 관심의 정보를 자연 언어 형식(예를 들어, 음성 출력 또는 시각적 형태)으로 제공하는 자연 언어 출력, 및 추가 정보를 얻고 그리고/또는 하나 이상의 작업들(예를 들어, 리마인더를 설정, 일정 관리 항목 생성, 예약을 생성, 미리 결정된 상태에서 애플리케이션 열기)을 유발하기 위해 사용자에 의해 선택가능한 사용자 인터페이스 요소들(그래픽 또는 소리)을 포함할 수 있다.
블록(810)에서, 시스템은 블록(808)에서 생성된 요청되지 않은 콘텐츠를 기존의 인간 대 컴퓨터 다이얼로그 세션으로 통합할 수 있다. 예를 들어, 요청되지 않은 콘텐츠는 카드, 하이퍼 링크, 가청 프롬프트 등과 같은 사용자 인터페이스 요소 등을 통해 자동화된 어시스턴트로부터 자연 언어 출력으로 제시될 수 있다. 요청되지 않은 콘텐츠를 기존의 사람 대 컴퓨터 다이얼로그 상자에 통합하는 것은, 예를 들어, 단순히 정보를 사용자에게 표시하는 것(예를 들어, 잠금 화면 상의 카드 또는 풀다운 메뉴)과 상이하다. 사용자가 이미 자동화된 어시스턴트와 사람 대 컴퓨터 간 다이얼로그 세션에 참여하고 있으며, 따라서, 요청되지 않은 콘텐츠는 잠금 화면에서 사용자에게 콘텐츠가 단순히 노출된 경우보다 사용자가 보거나 들을 가능성이 더 높을 수 있다(사용자는 종종 무시하거나 너무 많은 알림으로 사용자를 침수시킬 수 있습니다).
도 9는 여기에 개시된 구현들에 따른 예시적인 방법(900)을 나타내는 흐름도이다. 편의상, 흐름도의 동작은 동작을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 자동화된 어시스턴트(120)의 하나 이상의 컴포넌트와 같은 다양한 컴퓨터 시스템의 다양한 컴포넌트들을 포함할 수 있다. 또한, 방법(900)의 동작들이 특정 순서로 도시되어 있지만, 이는 제한적인 것으로 의도되지 않는다. 하나 이상의 작업들이 재정렬, 생략 또는 추가될 수 있다.
블록 902에서, 시스템은 하나 이상의 신호에 기초하여, 사용자가 하나 이상의 오디오 출력 디바이스(예를 들어, 자동화된 어시스턴트의 인스턴스를 실행하는 컴퓨팅 디바이스, 자동화된 어시스턴트의 인스턴스를 실행하는 독립형 대화식 스피커 등으로 작동 가능하게 결합된 하나 이상의 스피커 등)의 이어 샷 내에 있음을 결정할 수 있다. 이러한 신호들은 다양한 형태들을 취할 수 있다. 일부 구현들에서, 하나 이상의 신호들은 시스템과 구별되고 하나 이상의 프로세서들과 동작 가능하게 연결된 하나 이상의 통신 인터페이스들에서 수신되는 사용자에 의해 동작되는 컴퓨팅 디바이스에 의해 유발될 수 있다. 예를 들어, 하나의 컴퓨팅 장치는 사용자가 운전, 특정 애플리케이션 (예를 들어, 음악 또는 영화를 재생하기 위해)을 작동시키는 것과 같은 특정 활동에 관여하고 있다는 것을 다른 컴퓨팅 장치에 통지 할 수있다. 일부 구현들에서, 하나 이상의 신호들은 시스템 및 컴퓨팅 디바이스의 공존의 검출을 포함할 수 있다. 일부 구현들에서, 하나 이상의 신호들은, 사용자가 문서를 준비하고, 다양한 검색을 수행하고, 미디어를 재생하고, 사진을 보고, 전화/화상 통화에 참여하는 등과 같은 시스템과 별개인 컴퓨팅 디바이스상에서 실행되는 애플리케이션의 상태의 표시를 포함할 수 있다. 일부 구현들에서, 사용자 대 컴퓨터 대화는 사용자가 하나 이상의 오디오 출력 디바이스들의 이어 샷 내에 있다는 결정에 응답하여 개시될 수 있지만, 이것이 필수적인 것은 아니다. 도 9의 블록 904 내지 908은 도 8의 블록 804 내지 808과 유사할 수 있다. 도 9에 도시되지 않았지만, 다양한 구현들에서, 자동화된 어시스턴트는 블록(804)과 관련하여 전술한 바와 같이 사용자가 콘텐츠를 제공하기 전에 요청되지 않은 콘텐츠를 원할 가능성이 있는지 여부를 결정할 수 있다.
도 10은 여기에 서술된 기술들의 하나 이상의 양태들을 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 디바이스(1010)의 블록도이다. 일부 구현들에서, 하나 이상의 클라이언트 컴퓨팅 디바이스, 자동화된 어시스턴트(120) 및/또는 다른 컴포넌트(들)은 예시적인 컴퓨팅 디바이스(1010)의 하나 이상의 컴포넌트들을 포함할 수 있다.
컴퓨팅 디바이스(1010)는 통상적으로 버스 서브시스템(1012)을 통해 다수의 주변 디바이스들과 통신하는 적어도 하나의 프로세서(1014)를 포함한다. 이러한 주변 디바이스들은, 예를 들어, 메모리 서브시스템(1025) 및 파일 저장 서브시스템(1026)을 포함하는 저장 서브시스템(1024), 사용자 인터페이스 출력 디바이스들(1020), 사용자 인터페이스 입력 디바이스들(1022) 및 네트워크 인터페이스 서브시스템(1016)을 포함할 수 있다. 입력 디바이스 및 출력 디바이스는 컴퓨팅 디바이스(1010)와의 사용자 상호 작용을 가능하게 한다. 네트워크 인터페이스 서브시스템(1016)은 외부 네트워크들에 인터페이스를 제공하고 그리고 다른 컴퓨팅 디바이스들 내의 대응하는 인터페이스 디바이스들에 연결된다.
사용자 인터페이스 입력 디바이스들(1022)은, 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 디바이스, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템들과 같은 오디오 입력 디바이스들, 마이크로폰들, 및/또는 다른 유형의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스(input device)"의 사용은 컴퓨팅 디바이스(1010)에 또는 통신 네트워크상에 정보를 입력하는 모든 가능한 유형들을 디바이스들 및 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들(1020)은 디스플레이 서브시스템, 프린터, 팩스 머신 또는 오디오 출력 디바이스들과 같은 비 시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브 시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스들을 통한 비 시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 디바이스(output device)"의 사용은 컴퓨팅 디바이스(1010)로부터 사용자 또는 다른 머신 또는 컴퓨팅 디바이스로 정보를 출력하는 모든 가능한 유형들의 디바이스들 및 방식들을 포함하도록 의도된다.
저장 서브시스템(1024)은 여기에 서술된 일부 또는 모든 모듈들의 기능을 제공하는 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브시스템(1024)은 도 8 및/또는 도 9의 방법들의 선택된 측면들을 수행하고 도 1에 도시된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(714) 단독으로 또는 다른 프로세서들과 조합하여 실행된다. 저장 서브시스템(1024)에서 사용되는 메모리(1025)는, 프로그램 실행 중 명령어들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(1030) 및 고정된 명령어들이 저장되는 판독 전용 메모리(ROM)(1032)를 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(1026)은 프로그램 및 데이터 파일들을 위한 영구 저장 장치를 제공할 수 있으며, 그리고 하드 디스크 드라이브, 관련 착탈가능한 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 착탈가능한 매체 카트리지들을 포함할 수 있다. 특정 구현들의 기능을 구현하는 모듈들은, 저장 서브시스템(1024)의 파일 저장 서브시스템(1026) 또는 프로세서(들)(1014)에 의해 액세스 가능한 다른 머신들에 저장될 수 있다.
버스 서브시스템(1012)은 컴퓨팅 디바이스(1010)의 다양한 컴포넌트들 및 서브 시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(712)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 구현들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(1010)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터들 및 네트워크들의 끊임없이 변화하는 특성으로 인해, 도 10에 도시된 컴퓨팅 디바이스(1010)의 서술은 단지 일부 구현들을 설명하기 위한 특정 예로서 의도된다. 도 10에 도시된 컴퓨팅 디바이스보다 많거나 적은 컴포넌트들을 갖는 컴퓨팅 디바이스(1010)의 많은 다른 구성들이 가능하다.
여기에 서술된 특정 구현들이 사용자들에 관한 개인 정보(예를 들어, 다른 전자 통신들로부터 추출된 사용자 데이터, 사용자의 사회적 네트워크, 사용자의 위치, 사용자의 시간에 대한 정보, 사용자의 생체 정보, 및 사용자의 활동 및 인구 통계 정보, 사용자들 간의 관계 등)를 수집하거나 또는 개인 정보를 사용할 수 있는 경우, 사용자는 정보 수집 여부, 개인 정보 저장 여부, 개인 정보 사용 여부 및 사용자에 대한 정보 수집 방법, 저장 및 사용 방법을 제어할 수 있는 하나 이상의 기회가 제공된다. 즉, 여기에서 논의된 시스템들 및 방법들은 관련 사용자로부터 명시적인 승인을 받은 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자에게는 프로그램 또는 피처가 특정 사용자 또는 프로그램 또는 피처와 관련된 다른 사용자들에 대한 사용자 정보를 수집하는지 여부를 제어할 수 있다. 개인 정보를 수집할 각 사용자에게는 해당 사용자와 관련된 정보 수집을 제어하고, 정보의 수집 여부와 정보의 어느 부분을 수집해야 하는지에 대한 허가 또는 승인 제공할 수 있는 하나 이상의 옵션이 제공된다. 예를 들어, 통신 네트워크를 통해 사용자에게 하나 이상의 이러한 제어 옵션이 제공될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거되도록 저장되거나 사용되기 전에 하나 이상의 방식으로 처리될 수 있다. 일례로서, 어떤 개인 식별 정보도 결정될 수 없도록 사용자의 신원이 처리될 수 있다. 다른 예로서, 사용자의 지리적 위치는 더 큰 영역으로 일반화되어 사용자의 특정 위치가 결정될 수 없다. 본 개시의 맥락에서, 부모-자식 관계와 같은 시스템에 의해 포착된 임의의 관계들은, 안전한 방식으로 유지될 수 있어, 예를 들어, 자연 언어 입력을 구문 분석 및/또는 해석하기 위해 이러한 관계들을 사용하여 자동화된 어시스턴트 외부에서 액세스할 수 없도록 한다.
위에서 서술된 이점들 외에, 여기에 서술된 기술들은 자동화된 어시스턴트를 사용자에게 보다 "실제적인" 또는 "인간적인" 것처럼 보이게 할 수 있고, 이는 자동화된 어시스턴트와의 증가된 상호 작용을 장려할 수 있음을 이해할 것이다.
몇몇 구현들이 본 명세서에서 설명되고 예시되었지만, 기능을 수행하고 그리고/또는 결과들 및/또는 여기에 서술된 하나 이상의 이점들을 얻기 위한 다양한 다른 수단 및/또는 구조들이 이용될 수 있고, 그리고 그러한 변형들 및/또는 수정들 각각은 본 명세서에서 서술된 구현들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로는, 여기에 서술된 모든 파라미터들, 치수들, 재료들 및 구성들은 예시적인 것이며, 실제 파라미터, 치수들, 재료들 및/또는 구성들은 특정 애플리케이션 또는 그 교시들이 사용되는 애플리케이션들이 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에서 서술된 특정 구현들에 대한 많은 균등물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현들은 단지 예일 뿐이며, 첨부된 청구 범위 및 그 등가물의 범위 내에서, 구현들은 구체적으로 서술되고 청구된 것과 다르게 실시될 수 있음을 이해해야 한다. 본 개시의 구현들은 여기에 서술된 각각의 개별적인 피처, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들이 상호 불일치하지 않는 경우, 둘 이상의 그러한 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들의 임의의 조합이 본 발명의 범위 내에 포함된다.

Claims (21)

  1. 방법으로서,
    하나 이상의 프로세서에 의해, 사용자에 의해 작동되는 특정 컴퓨팅 디바이스에서 발생하는 사용자와 자동화된 어시스턴트(automated assistant) 사이의 기존의 인간 대 컴퓨터 다이얼로그 세션에서, 상기 자동화된 어시스턴트는 상기 인간 대 컴퓨터 다이얼로그 세션 동안 상기 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정하는 단계와;
    상기 하나 이상의 프로세서에 의해, 이전의 인간 대 컴퓨터 다이얼로그 세션동안, 상기 사용자가 검색 엔진에 검색 질의를 이전에 제출했음을 결정하는 단계 - 상기 검색 질의는 하나 이상의 아이템의 구입(purchasing)과 관련되며 그리고 상기 자동화된 어시스턴트는, 상기 하나 이상의 아이템이 상기 사용자에 의해 구입되었는지에 관한 정보가 없음 - 와;
    상기 하나 이상의 프로세서에 의해, 상기 검색 질의에 응답하는 정보에 대해 하나 이상의 온라인 소스를 검색하는 단계와;
    상기 하나 이상의 프로세서에 의해, 상기 검색 질의에 응답하는 정보를 나타내는 요청되지 않은(unsolicited) 콘텐츠를 생성하는 단계와;
    상기 자동화된 어시스턴트에 의해, 상기 특정 컴퓨팅 디바이스의 애플리케이션들의 상태들 및 하나 이상의 신호에 기초하여 상기 사용자가 상기 요청되지 않은 콘텐츠를 수신하는 것이 바람직한 정도를 결정하고, 상기 바람직한 정도가 하나 이상의 임계값을 충족하는 경우 상기 요청되지 않은 콘텐츠를 제공하는 단계와; 그리고
    상기 자동화된 어시스턴트에 의해, 상기 기존의 인간 대 컴퓨터 다이얼로그 세션으로 상기 요청되지 않은 콘텐츠를 통합하는 단계를 포함하고,
    적어도 상기 통합하는 단계는, 상기 자동화된 어시스턴트가 상기 인간 대 컴퓨터 다이얼로그 세션 동안 상기 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정하는 것에 응답하여 수행되는 것을 특징으로 하는
    방법.
  2. 제1항에 있어서,
    상기 요청되지 않은 콘텐츠는 요청되지 않은 자연 언어 콘텐츠를 포함하는 것을 특징으로 하는
    방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제1항 또는 제2항에 있어서,
    상기 요청되지 않은 콘텐츠는 하나 이상의 사용자 인터페이스 요소를 포함하고, 각 사용자 인터페이스 요소는, 상기 자동화된 어시스턴트가 상기 사용자에 대한 잠재적인 관심의 하나 이상의 액션을 유발하도록, 상기 사용자에 의해 선택될 수 있는 것을 특징으로 하는
    방법.
  11. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서와 동작 가능하게 결합 된 메모리, 및 상기 하나 이상의 프로세서와 동작 가능하게 결합된 하나 이상의 오디오 출력 디바이스를 포함하는 시스템으로서,
    상기 메모리는, 하나 이상의 프로세서에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서로 하여금 동작들을 수행하도록 하는 상기 명령어들을 포함하고, 상기 동작들은:
    사용자에 의해 작동되는 특정 컴퓨팅 디바이스에서 발생하는 사용자와 자동화된 어시스턴트 사이의 기존의 인간 대 컴퓨터 다이얼로그 세션에서, 상기 자동화된 어시스턴트는 상기 인간 대 컴퓨터 다이얼로그 세션 동안 상기 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정하는 단계와;
    상기 하나 이상의 프로세서에 의해, 이전의 인간 대 컴퓨터 다이얼로그 세션동안, 상기 사용자가 검색 엔진에 검색 질의를 이전에 제출했음을 결정하는 단계 - 상기 검색 질의는 하나 이상의 아이템의 구입과 관련되며 그리고 상기 자동화된 어시스턴트는, 상기 하나 이상의 아이템이 상기 사용자에 의해 구입되었는지에 관한 정보가 없음 - 와;
    상기 검색 질의에 응답하는 정보에 대해 하나 이상의 온라인 소스를 검색하는 단계와;
    상기 검색 질의에 응답하는 정보를 나타내는 요청되지 않은 콘텐츠를 생성하는 단계와;
    상기 자동화된 어시스턴트에 의해, 상기 특정 컴퓨팅 디바이스의 애플리케이션들의 상태들 및 하나 이상의 신호에 기초하여 상기 사용자가 상기 요청되지 않은 콘텐츠를 수신하는 것이 바람직한 정도를 결정하고, 상기 바람직한 정도가 하나 이상의 임계값을 충족하는 경우 상기 요청되지 않은 콘텐츠를 제공하는 단계와; 그리고
    상기 자동화된 어시스턴트에 의해, 상기 기존의 인간 대 컴퓨터 다이얼로그 세션으로 상기 요청되지 않은 콘텐츠를 통합하는 단계를 포함하며,
    적어도 상기 통합하는 단계는, 상기 자동화된 어시스턴트가 상기 인간 대 컴퓨터 다이얼로그 세션 동안 상기 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정하는 것에 응답하여 수행되는 것을 특징으로 하는
    시스템.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제11항에 있어서,
    상기 요청되지 않은 콘텐츠는 요청되지 않은 자연 언어 콘텐츠를 포함하는 것을 특징으로 하는
    시스템.
  20. 제11항에 있어서,
    상기 요청되지 않은 콘텐츠는 하나 이상의 사용자 인터페이스 요소를 포함하고, 각 사용자 인터페이스 요소는, 상기 사용자에 대한 잠재적인 관심의 하나 이상의 액션을 유발하도록, 상기 사용자에 의해 선택될 수 있는 것을 특징으로 하는
    시스템.
  21. 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금 제1항의 방법을 수행하도록 하는 명령어들을 포함하는 적어도 하나의 비일시적인 컴퓨터 판독가능한 매체.
KR1020197031202A 2017-03-22 2017-10-30 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합 KR102393817B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227014294A KR102541523B1 (ko) 2017-03-22 2017-10-30 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/466,422 US10636418B2 (en) 2017-03-22 2017-03-22 Proactive incorporation of unsolicited content into human-to-computer dialogs
US15/466,422 2017-03-22
PCT/US2017/059110 WO2018174956A1 (en) 2017-03-22 2017-10-30 Proactive incorporation of unsolicited content into human-to-computer dialogs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227014294A Division KR102541523B1 (ko) 2017-03-22 2017-10-30 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합

Publications (2)

Publication Number Publication Date
KR20190131088A KR20190131088A (ko) 2019-11-25
KR102393817B1 true KR102393817B1 (ko) 2022-05-03

Family

ID=60480385

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197031202A KR102393817B1 (ko) 2017-03-22 2017-10-30 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합
KR1020227014294A KR102541523B1 (ko) 2017-03-22 2017-10-30 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227014294A KR102541523B1 (ko) 2017-03-22 2017-10-30 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합

Country Status (7)

Country Link
US (4) US10636418B2 (ko)
EP (1) EP3602541A1 (ko)
JP (3) JP6903764B2 (ko)
KR (2) KR102393817B1 (ko)
CN (1) CN108628921A (ko)
DE (2) DE202017106514U1 (ko)
WO (1) WO2018174956A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10636418B2 (en) * 2017-03-22 2020-04-28 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US9865260B1 (en) 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US10742435B2 (en) 2017-06-29 2020-08-11 Google Llc Proactive provision of new content to group chat participants
TWI646529B (zh) * 2017-07-25 2019-01-01 雲拓科技有限公司 主動聊天裝置
US10691764B2 (en) * 2017-10-23 2020-06-23 International Business Machines Corporation Search engine optimization techniques
JP2019106054A (ja) * 2017-12-13 2019-06-27 株式会社東芝 対話システム
US11854040B1 (en) * 2018-03-23 2023-12-26 Amazon Technologies, Inc. Responding with unresponsive content
US10777196B2 (en) * 2018-06-27 2020-09-15 The Travelers Indemnity Company Systems and methods for cooperatively-overlapped and artificial intelligence managed interfaces
US11651043B2 (en) * 2018-07-24 2023-05-16 MachEye, Inc. Leveraging analytics across disparate computing devices
EP3894972B1 (en) * 2019-04-29 2023-11-08 Google LLC Motorized computing device that autonomously adjusts device location and/or orientation of interfaces according to automated assistant requests
CN110109645A (zh) * 2019-04-30 2019-08-09 百度在线网络技术(北京)有限公司 一种交互式音乐试听方法、装置和终端
US11470017B2 (en) * 2019-07-30 2022-10-11 At&T Intellectual Property I, L.P. Immersive reality component management via a reduced competition core network component
US11443740B1 (en) * 2019-12-12 2022-09-13 Amazon Technologies, Inc. Content selection by natural language processing systems
US11449555B2 (en) * 2019-12-30 2022-09-20 GM Cruise Holdings, LLC Conversational AI based on real-time contextual information for autonomous vehicles
US11803400B2 (en) * 2020-06-25 2023-10-31 International Business Machines Corporation Method and system for asynchronous notifications for users in contextual interactive systems
CN112417117A (zh) * 2020-11-18 2021-02-26 腾讯科技(深圳)有限公司 会话消息生成方法、装置及设备
US20230138741A1 (en) * 2021-10-29 2023-05-04 Kyndryl, Inc. Social network adapted response

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131695A1 (en) 1999-02-04 2005-06-16 Mark Lucente System and method for bilateral communication between a user and a system
US8065155B1 (en) 1999-06-10 2011-11-22 Gazdzinski Robert F Adaptive advertising apparatus and methods
JP2001188784A (ja) * 1999-12-28 2001-07-10 Sony Corp 会話処理装置および方法、並びに記録媒体
JP2001290493A (ja) 2000-04-06 2001-10-19 Asahi Kasei Corp 自動対話方法
US6731307B1 (en) * 2000-10-30 2004-05-04 Koninklije Philips Electronics N.V. User interface/entertainment device that simulates personal interaction and responds to user's mental state and/or personality
JP2003108191A (ja) * 2001-10-01 2003-04-11 Toyota Central Res & Dev Lab Inc 音声対話装置
US20040162724A1 (en) 2003-02-11 2004-08-19 Jeffrey Hill Management of conversations
US20050054381A1 (en) 2003-09-05 2005-03-10 Samsung Electronics Co., Ltd. Proactive user interface
JP4124115B2 (ja) 2003-12-02 2008-07-23 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2008509455A (ja) 2004-07-08 2008-03-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユーザとシステムとの間の通信方法及びシステム
US7898198B2 (en) 2005-06-29 2011-03-01 Drs Test & Energy Management, Llc Torque controller in an electric motor
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US8090082B2 (en) 2006-01-23 2012-01-03 Icall, Inc. System, method and computer program product for extracting user profiles and habits based on speech recognition and calling history for telephone system advertising
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8972268B2 (en) 2008-04-15 2015-03-03 Facebook, Inc. Enhanced speech-to-speech translation system and methods for adding a new word
US20080115068A1 (en) 2006-11-13 2008-05-15 International Business Machines Corporation System and method to enhance instant messaging
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US8635243B2 (en) 2007-03-07 2014-01-21 Research In Motion Limited Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application
JP4843826B2 (ja) * 2007-11-05 2011-12-21 ヤフー株式会社 行動属性取得システム、および行動属性取得システムの制御方法
US8140335B2 (en) 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8539359B2 (en) 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US8438485B2 (en) 2009-03-17 2013-05-07 Unews, Llc System, method, and apparatus for generating, customizing, distributing, and presenting an interactive audio publication
US8631070B2 (en) 2009-03-27 2014-01-14 T-Mobile Usa, Inc. Providing event data to a group of contacts
CN101588323B (zh) 2009-06-11 2011-07-06 腾讯科技(深圳)有限公司 一种使用聊天机器人在im群中主动发布消息的方法和系统
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US20110271194A1 (en) 2010-04-29 2011-11-03 Google Inc. Voice ad interactions as ad conversions
US9002924B2 (en) 2010-06-17 2015-04-07 Microsoft Technology Licensing, Llc Contextual based information aggregation system
US20130066634A1 (en) 2011-03-16 2013-03-14 Qualcomm Incorporated Automated Conversation Assistance
US8676937B2 (en) 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US8473485B2 (en) 2011-06-29 2013-06-25 Microsoft Corporation Organizing search history into collections
EP2575128A3 (en) 2011-09-30 2013-08-14 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US20130159377A1 (en) 2011-12-15 2013-06-20 AsystMe, LLC Proactive automated personal assistant
US10130872B2 (en) 2012-03-21 2018-11-20 Sony Interactive Entertainment LLC Apparatus and method for matching groups to users for online communities and computer simulations
US9275411B2 (en) 2012-05-23 2016-03-01 Google Inc. Customized voice action system
US20140013240A1 (en) 2012-07-03 2014-01-09 Google Inc. Creating social group events
US8577671B1 (en) 2012-07-20 2013-11-05 Veveo, Inc. Method of and system for using conversation state information in a conversational interaction system
US9325648B2 (en) 2012-08-09 2016-04-26 International Business Machines Corporation Message subscription based on message aggregate characteristics
US9380017B2 (en) 2012-11-08 2016-06-28 Speaktoit, Inc. Human assisted chat information system
WO2014209157A1 (en) 2013-06-27 2014-12-31 Obschestvo S Ogranichennoy Otvetstvennostiyu "Speaktoit" Generating dialog recommendations for chat information systems
KR20150095624A (ko) 2012-12-11 2015-08-21 뉘앙스 커뮤니케이션즈, 인코포레이티드 다수의 개인을 위한 가상 에이전트 추천 시스템 및 방법
US9659298B2 (en) 2012-12-11 2017-05-23 Nuance Communications, Inc. Systems and methods for informing virtual agent recommendation
US8612226B1 (en) 2013-01-28 2013-12-17 Google Inc. Determining advertisements based on verbal inputs to applications on a computing device
US9619553B2 (en) 2013-02-12 2017-04-11 International Business Machines Corporation Ranking of meeting topics
US9378741B2 (en) 2013-03-12 2016-06-28 Microsoft Technology Licensing, Llc Search results using intonation nuances
US9368114B2 (en) * 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
DE102013006173A1 (de) 2013-04-10 2014-10-16 Audi Ag Verfahren und Vorrichtung zur proaktiven Dialogführung
US9875494B2 (en) 2013-04-16 2018-01-23 Sri International Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant
EP3005150A4 (en) 2013-06-07 2016-06-15 Apple Inc INTELLIGENT AUTOMATIC ASSISTANT
US9699019B2 (en) 2013-06-14 2017-07-04 Microsoft Technology Licensing, Llc Related content display associated with browsing
US20150162000A1 (en) 2013-12-10 2015-06-11 Harman International Industries, Incorporated Context aware, proactive digital assistant
US9479931B2 (en) 2013-12-16 2016-10-25 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9804820B2 (en) 2013-12-16 2017-10-31 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
CN105830048A (zh) 2013-12-16 2016-08-03 纽昂斯通讯公司 用于提供虚拟助理的系统和方法
US20170017501A1 (en) 2013-12-16 2017-01-19 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US10565268B2 (en) 2013-12-19 2020-02-18 Adobe Inc. Interactive communication augmented with contextual information
US9582246B2 (en) 2014-03-04 2017-02-28 Microsoft Technology Licensing, Llc Voice-command suggestions based on computer context
US20150269612A1 (en) 2014-03-18 2015-09-24 Microsoft Corporation Entity platform and entity store
US20180053114A1 (en) 2014-10-23 2018-02-22 Brighterion, Inc. Artificial intelligence for context classifier
CN112102824A (zh) 2014-06-06 2020-12-18 谷歌有限责任公司 基于环境的主动聊天信息系统
JP6359935B2 (ja) 2014-09-30 2018-07-18 株式会社Nttドコモ 対話装置および対話方法
WO2016129276A1 (ja) 2015-02-12 2016-08-18 パナソニックIpマネジメント株式会社 情報提供方法、サーバ、情報端末装置、システム及び音声対話システム
WO2016161432A1 (en) 2015-04-03 2016-10-06 Xsell Technologies Method and apparatus to increase personalization and enhance chat experiences on the internet
US10713601B2 (en) 2015-04-29 2020-07-14 Microsoft Technology Licensing, Llc Personalized contextual suggestion engine
US20170006356A1 (en) * 2015-07-01 2017-01-05 Microsoft Corporation Augmented experience of media presentation events
US20170076327A1 (en) 2015-09-11 2017-03-16 Yahoo! Inc. Method and system for dynamically providing advertisements for comparison
US10459914B2 (en) 2015-09-18 2019-10-29 Facebook, Inc. Detecting key topics on online social networks
KR20180070659A (ko) 2015-12-21 2018-06-26 구글 엘엘씨 메시징 애플리케이션들을 위한 자동적인 제안들 및 다른 콘텐츠
US20170255980A1 (en) * 2016-03-02 2017-09-07 International Business Machines Corporation Management of offer records for a mobile device
CN105930367B (zh) 2016-04-12 2020-06-09 华南师范大学 智能聊天机器人控制方法及控制装置
CN106020488A (zh) * 2016-06-03 2016-10-12 北京光年无限科技有限公司 一种面向对话系统的人机交互方法及装置
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
US10832684B2 (en) 2016-08-31 2020-11-10 Microsoft Technology Licensing, Llc Personalization of experiences with digital assistants in communal settings through voice and query processing
US10311863B2 (en) 2016-09-02 2019-06-04 Disney Enterprises, Inc. Classifying segments of speech based on acoustic features and context
US10140987B2 (en) 2016-09-16 2018-11-27 International Business Machines Corporation Aerial drone companion device and a method of operating an aerial drone companion device
US10321096B2 (en) 2016-10-05 2019-06-11 Avaya Inc. Embedding content of interest in video conferencing
US10049664B1 (en) 2016-10-27 2018-08-14 Intuit Inc. Determining application experience based on paralinguistic information
US10515632B2 (en) 2016-11-15 2019-12-24 At&T Intellectual Property I, L.P. Asynchronous virtual assistant
CN106559321A (zh) 2016-12-01 2017-04-05 竹间智能科技(上海)有限公司 动态调整对话策略的方法及系统
US10439977B2 (en) 2016-12-27 2019-10-08 Facebook, Inc. Access controls for units of content in a messaging service
US10636418B2 (en) * 2017-03-22 2020-04-28 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US9865260B1 (en) 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US20180373405A1 (en) 2017-06-27 2018-12-27 Microsoft Technology Licensing, Llc Targeted interest and content sharing platforms

Also Published As

Publication number Publication date
US11887594B2 (en) 2024-01-30
KR102541523B1 (ko) 2023-06-13
JP6903764B2 (ja) 2021-07-14
KR20220058971A (ko) 2022-05-10
US10636418B2 (en) 2020-04-28
JP2023063444A (ja) 2023-05-09
US20220130386A1 (en) 2022-04-28
JP2020514834A (ja) 2020-05-21
DE202017106514U1 (de) 2018-02-01
US20180277108A1 (en) 2018-09-27
JP2021165843A (ja) 2021-10-14
WO2018174956A1 (en) 2018-09-27
US20200227043A1 (en) 2020-07-16
US20240112679A1 (en) 2024-04-04
EP3602541A1 (en) 2020-02-05
US11232792B2 (en) 2022-01-25
CN108628921A (zh) 2018-10-09
DE102017125196A1 (de) 2018-09-27
KR20190131088A (ko) 2019-11-25
JP7247271B2 (ja) 2023-03-28

Similar Documents

Publication Publication Date Title
KR102393817B1 (ko) 인간 대 컴퓨터 다이얼로그들에 요청되지 않은 콘텐츠의 사전 통합
JP7419485B2 (ja) 非要請型コンテンツの人間対コンピュータダイアログ内へのプロアクティブな組込み
US11863646B2 (en) Proactive environment-based chat information system
KR102155977B1 (ko) 제3자 서비스를 디지털 어시스턴트와 통합하기 위한 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant