KR20220027284A - 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공 - Google Patents

이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공 Download PDF

Info

Publication number
KR20220027284A
KR20220027284A KR1020227005792A KR20227005792A KR20220027284A KR 20220027284 A KR20220027284 A KR 20220027284A KR 1020227005792 A KR1020227005792 A KR 1020227005792A KR 20227005792 A KR20227005792 A KR 20227005792A KR 20220027284 A KR20220027284 A KR 20220027284A
Authority
KR
South Korea
Prior art keywords
user
input
content
prompt
conversation session
Prior art date
Application number
KR1020227005792A
Other languages
English (en)
Other versions
KR102503741B1 (ko
Inventor
비크람 아가르왈
유 진 임
아담 골드스테인
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220027284A publication Critical patent/KR20220027284A/ko
Application granted granted Critical
Publication of KR102503741B1 publication Critical patent/KR102503741B1/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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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/3322Query formulation using system suggestions
    • 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0253During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • 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/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Mathematical Physics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

방법들, 장치들 및 컴퓨터 판독 가능 매체는 자동화 어시스턴트에 의해 제공된 제안 또는 다른 컨텐츠의 하나 이상의 컨텐츠 파라미터에 관해 사용자로부터 피드백을 요청하는 것과 관련된다. 사용자의 피드백은 향후의 대화 세션들에서 자동화 어시스턴트에 의해, 사용자 및/또는 다른 사용자들에게 추후에 제공되는 향후의 제안 및/또는 다른 컨텐츠에 영향을 주도록 사용될 수 있다. 일부 구현예에서, 컨텐츠는 사용자와 자동화 어시스턴트 간의 대화 세션에서 자동화 어시스턴트에 의해 사용자에게 제공되고, 자동화 어시스턴트는 사용자와 자동화 어시스턴트간의 향후의 대화 세션에서 상기 제공된 컨텐츠와 관련된 사용자 피드백을 요청하는 프롬프트를 제공한다. 이러한 구현들 중 일부에서, 프롬프트는 사용자로부터의 입력 및/또는 향후의 대화 세션에서, 이전 대화 세션에서 제공된 컨텐츠와 관련이 없는 자동화 어시스턴트로부터의 출력에 후속하여 제공된다.

Description

이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공{PROVIDING PROMPT IN AN AUTOMATED DIALOG SESSION BASED ON SELECTED CONTENT OF PRIOR AUTOMATED DIALOG SESSION}
자동화 어시스턴트("개인 어시스턴트 모듈", "모바일 어시스턴트" 또는 "챗 봇"으로도 알려진)는 스마트 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 자동차 시스템, 독립형 개인 어시스턴트 디바이스 등과 같은 다양한 컴퓨팅 디바이스를 통해 사용자와 상호 작용할 수 있다. 자동화 어시스턴트는 사용자의 입력(예를 들어, 타이핑된 및/또는 발화된 자연어 입력)을 수신하여 응답형 컨텐츠(예를 들어, 시각 및/또는 가청 자연어 출력)로 응답한다.
US2014/114705는 여행자의 여행 스케줄을 결정하는 단계와, 프로세서의 도움을 받아, 여행 스케줄 및 여행자 선호도와 일치하는 여행 옵션에 대한 검색을 수행하는 단계와, 그리고 사용 가능한 여행 옵션을 하나 이상의 메모리 위치에 저장하는 단계를 포함하는 여행자를 위한 여행 준비를 하는 컴퓨터 구현 방법을 개시한다. 그런 다음, 사용 가능한 여행 옵션으로부터 하나 이상의 여행 옵션이 선택된다. 몇몇 경우에서, 하나 이상의 여행 옵션은 여행자의 개입 없이 선택된다. 여행자는 선택된 하나 이상의 여행 옵션에 대해 통보받을 수 있다.
대화 세션 동안 사용자의 입력에 응답하여, 자동화 어시스턴트는 하나 이상의 인자에 기초하여 복수의 후보 컨텐츠 파라미터로부터 자동화 어시스턴트에 의해 선택된 하나 이상의 컨텐츠 파라미터를 포함하고 입력에 대한 응답인 제안 및/또는 다른 컨텐츠를 제공할 수 있다. 예를 들어, "어디에서 좋은 햄버거를 얻을 수 있니?"라는 입력에 응답하여, 자동화 어시스턴트는 햄버거를 제공하는 복수의 후보 레스토랑을 식별할 수 있지만, 입력에 응답하여 컨텐츠에 포함시키기 위해 그들 중 서브 세트(예를 들어, 하나)만을 선택할 수 있다.
본 명세서는 제안 또는 자동화 어시스턴트에 의해 제공된 다른 컨텐츠의 하나 이상의 컨텐츠 파라미터에 관해 사용자로부터의 피드백을 요청하는 것과 관련된 방법, 디바이스 및 컴퓨터 판독 가능 매체에 관한 것이다. 사용자의 피드백은 향후의 대화 세션에서 자동화 어시스턴트에 의해 사용자 및/또는 다른 사용자들에게 차후에 제공되는 향후의 제안들 및/또는 다른 컨텐츠에 영향을 주기 위해 사용될 수 있다.
일부 구현예에서, 컨텐츠는 사용자와 자동화 어시스턴트 간의 대화 세션에서 자동화 어시스턴트에 의해 사용자에게 제공되며, 자동화 어시스턴트는 사용자와 자동화 어시스턴트 간의 향후의 대화 세션에서 상기 제공된 컨텐츠와 관련된 사용자 피드백을 요청하는 프롬프트를 제공한다. 이러한 구현예들 중 일부에서, 프롬프트는 사용자의 입력 및/또는 향후의 대화 세션에서, 이전 대화 세션에서 제공된 컨텐츠와 관련이 없는 자동화 어시스턴트의 출력 이후에 제공된다.
하나의 예로서, 향후의 대화 세션은 사용자에 의해 개시될 수 있으며, 자동화 어시스턴트가 사용자의 캘린더 항목의 요약을 제공하는 것, 사용자에게 뉴스 기사를 제공하는 것, 사용자를 위해 음악을 재생하는 것과 같은 몇몇 "루틴 액션(일상적인 동작)"을 수행하도록 프롬프트할 수 있다. 자동화 어시스턴트는 루틴 액션의 일부 또는 전부를 수행한 다음 프롬프트를 제공할 수 있다. 이는 루틴 액션에 일부 변화(variance)를 부가할 수 있고 및/또는 루팅 액션에 대화식 프롬프트를 삽입함으로써 사용자 경험을 향상시킬 수 있다. 더욱이, 전술한 바와 같이, 프롬프트에 응답하여 제공되는 사용자의 (직접 또는 간접) 피드백은 사용자에게 제시하기 위해 자동화 어시스턴트에 의해 차후에 제공되는 향후의 제안들 또는 다른 컨텐츠에 영향을 주기 위해 이용될 수 있으며, 이로 인해 자동화 어시스턴트에 의해 사용자에게 제공되는 후속 컨텐츠가 사용자와 관련될 가능성을 증가시킨다. 자동화 어시스턴트에 의해 제공된 컨텐츠의 이러한 관련성의 개선은 원하는 컨텐츠가 사용자에게 보다 신속하게 제공될 수 있게 하여, 그렇지 않았다면 원하는 콘텐트를 식별하는데 필요할 수 있는 보다 긴 대화에서 소비될 수 있는 다양한 계산 리소스(및 자동화 어시스턴트가 클라이언트 디바이스와 통합되지 않은 경우 통신 리소스)를 감소시킬 수 있다.
일부 구현예에서, 하나 이상의 프로세서에 의해 제공되는 방법은 사용자 및 하나 이상의 프로세서에 의해 구현되는 자동화 어시스턴트 간의 대화 세션의 일부로서, 사용자 인터페이스 입력 디바이스를 통해 사용자에 의해 제공된 사용자 인터페이스 입력에 기초하는 자연어 입력을 수신하는 단계와, 상기 자연어 입력에 대한 상기 자동화 어시스턴트에 의한 응답으로서, 상기 자연어 입력에 응답하는 컨텐츠를 제공하는 단계를 포함하여 제공된다. 상기 컨텐츠는 사용자 인터페이스 출력 디바이스를 통해 사용자에게 제시하기 위해 제공되고, 상기 컨텐츠는 복수의 후보 컨텐츠 파라미터로부터 상기 자동화 어시스턴트에 의해 선택된 적어도 하나의 컨텐츠 파라미터를 포함한다. 상기 방법은 상기 대화 세션과 일시적으로 분리된 상기 자동화 어시스턴트와 사용자 간의 추가 대화 세션의 일부로서, 상기 선택된 컨텐츠 파라미터에 대한 피드백을 요청하는 프롬프트를 제공하는 단계와, 상기 프롬프트에 응답하는 추가 입력을 수신하는 단계와, 상기 컨텐츠 파라미터와 관련하여 저장된 값에 영향을 미치도록 상기 추가 입력을 사용하는 단계를 더 포함한다. 상기 컨텐츠 파라미터와 관련하여 저장된 값은 컨텐츠 파라미터를 포함하는 추가(추후) 컨텐츠의 향후의 제공에 영향을 미친다. 상기 프롬프트는 사용자 인터페이스 출력 디바이스 또는 추가 사용자 인터페이스 출력 디바이스를 통해 사용자에게 제시하기 위해 제공된다. 상기 프롬프트는 상기 자동화 어시스턴트에 의해 미리 선택되고 상기 대화 세션의 일부로서 사용자에게 제시하기 위해 미리 제공되는 컨텐츠 파라미터에 기초하여 상기 컨텐츠 파라미터에 대한 피드백을 요구하도록 생성된다. 상기 프롬프트에 응답하는 추가 입력은 사용자 인터페이스 입력 디바이스 또는 추가 사용자 인터페이스 입력 디바이스를 통해 사용자에 의해 제공된 추가 사용자 인터페이스 입력에 기초한다.
본 명세서에 기술된 기술들의 이들 및 다른 구현예들은 다음 특징들 중 하나 이상을 선택적으로 포함할 수 있다.
일부 구현예에서, 상기 사용자는 이전 대화 세션의 컨텐츠와 무관한 추가 자연어 입력으로 추가 대화 세션을 개시한다. 이들 중 일부 구현예에서, 상기 방법은 추가 대화 세션의 일부로서, 상기 추가 자연어 입력에 응답하고 이전 대화 세션의 컨텐츠와 또한 무관한 추가 대화 세션 출력을 제공하는 단계를 더 포함한다. 상기 프롬프트를 제공하는 단계는 상기 추가 대화 세션 출력을 제공하는 단계에 후속하여 발생할 수 있다. 이러한 구현예들의 일부 버전에서, 상기 방법은 추가 자연어 입력 및 추가 대화 세션 출력 중 적어도 하나에 의해 하나 이상의 기준이 만족되는지를 결정하는 단계를 더 포함한다. 상기 프롬프트를 제공하는 단계는 기준이 만족되는 것으로 결정하는 것에 더 기초할 수 있다. 상기 기준은 예를 들어 소정 시맨틱 유형인 상기 추가 대화 세션 출력 및/또는 기준 n-그램(gram) 세트의 적어도 하나의 n-gram의 사용자 프롬프트에서의 발생(occurrence)을 포함할 수 있다.
일부 구현예에서, 상기 컨텐츠는 향후에 사용자에 의해 행해질 제안이고, 상기 방법은 컨텐츠 파라미터를 포함하는 컨텐츠를 제공한 후에 사용자가 상기 제안에 대해 행동했는지를 결정하는 단계를 더 포함한다. 상기 프롬프트를 제공하는 단계는 사용자가 제안에 대해 행동했다고 결정하는 것에 더 기초할 수 있다.
일부 구현예에서, 상기 프롬프트에 응답하는 추가 입력을 생성하기 위해 사용된 사용자 인터페이스 입력 디바이스 또는 추가 사용자 인터페이스 입력 디바이스는 마이크로폰을 포함하고, 상기 방법은 프롬프트를 제공하는 것에 기초하여, 상기 마이크를 통해 제공되는 사용자 인터페이스 입력을 처리하도록 구성된 적어도 하나의 컴포넌트를 선제적으로 활성화하는 단계를 더 포함한다.
일부 구현예에서, 상기 사용자는 상기 추가 대화 세션을 개시하고, 상기 프롬프트를 제공하는 단계는 개시된 상기 추가 대화 세션을 갖는 사용자에 대해 적용(contingent)된다.
일부 구현예에서, 상기 방법은 추가 대화 세션의 일부로서, 상기 프롬프트를 제공하기 전에 대화 세션 출력을 제공하는 단계를 더 포함한다. 상기 프롬프트를 제공하는 단계는 상기 추가 대화 세션 출력을 제공하는 단계에 후속하여 발생할 수 있다.
일부 구현예에서, 상기 방법은 사용자와 상기 자동화 어시스턴트 간의 추가적인 이전 대화 세션의 일부로서 상기 사용자에게 제공된 추가 컨텐츠 파라미터를 식별하는 단계와; 하나 이상의 기준에 기초하여, 상기 추가 컨텐츠 파라미터에 기초한 대체 프롬프트 대신에 상기 컨텐츠 파라미터에 기초하여 상기 프롬프트를 제공하도록 결정하는 단계를 더 포함한다. 이러한 구현예들 중 일부에서, 상기 하나 이상의 기준은 상기 컨텐츠 파라미터의 제공과 상기 추가 컨텐츠 파라미터의 제공에 대한 대응하는 시간 근접성(temporal proximities)을 포함한다. 이러한 구현예들 중 일부에서, 상기 하나 이상의 기준은 추가적으로 또는 대안적으로 상기 컨텐츠 파라미터 및 상기 추가 컨텐츠 파라미터에 할당된 시맨틱 유형을 포함한다.
일부 구현예에서, 상기 컨텐츠는 특정 물리적 위치에 대한 제안 및 상기 특정 위치에서 소비 가능한 특정 아이템에 대한 제안을 포함하고, 상기 컨텐츠 파라미터는 상기 특정 아이템을 식별한다.
일부 구현예에서, 상기 컨텐츠는 특정 물리적 위치에 대한 제안을 포함하고, 상기 컨텐츠 파라미터는 특정 물리적 위치가 속하는 카테고리를 식별한다.
일부 구현예에서, 상기 입력 및 상기 추가 입력은 모두 상기 사용자 인터페이스 입력 디바이스를 통해 생성되고, 상기 컨텐츠 및 상기 피드백 프롬프트는 모두 상기 사용자 인터페이스 출력 디바이스를 통한 제시를 위해 제공된다. 이러한 구현예들 중 일부에서, 사용자 인터페이스 입력 디바이스는 단일 디바이스의 마이크로폰을 포함하고, 사용자 인터페이스 출력 디바이스는 단일 디바이스의 스피커를 포함한다.
일부 구현예에서, 상기 입력은 제1 컴퓨팅 디바이스의 상기 사용자 인터페이스 입력 디바이스를 통해 생성되고, 상기 컨텐츠는 제1 컴퓨팅 디바이스의 상기 사용자 인터페이스 출력 디바이스를 통한 제시를 위해 제공되고, 그리고 상기 프롬프트는 추가 컴퓨팅 디바이스의 상기 추가 사용자 인터페이스 출력 디바이스를 통한 제시를 위해 제공된다.
일부 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은, 컴퓨터 판독 가능 매체로부터, 하나 이상의 프로세서에 의해 구현된 자동화 어시스턴트와 사용자 간의 이전 대화 세션의 일부로서 사용자에게 미리 제공되는 컨텐츠의 저장된 컨텐츠 파라미터를 식별하는 단계를 포함하도록 제공된다. 상기 방법은 대화 세션과 일시적으로 분리된 자동화 어시스턴트와 상기 사용자 간의 추가 대화 세션의 일부로서, 상기 컨텐츠 파라미터에 대한 피드백을 요청하는 프롬프트를 제공하는 단계를 더 포함한다. 상기 프롬프트는 상기 사용자의 컴퓨팅 디바이스의 사용자 인터페이스 출력 디바이스를 통해 사용자에게 제시하기 위해 제공되고, 상기 프롬프트는 이전 대화 세션의 일부로서 사용자에게 제시하기 위해 미리 제공되는 컨텐츠 파라미터에 기초하여 상기 컨텐츠 파라미터에 대한 피드백을 요청하도록 생성된다. 상기 방법은 추가 대화 세션의 일부로서, 상기 프롬프트에 응답하는 추가 입력을 수신하는 단계와, 상기 컨텐츠 파라미터와 관련하여 저장된 값에 영향을 미치도록 상기 추가 입력을 사용하는 단계를 더 포함한다. 상기 추가 입력은 컴퓨팅 디바이스의 사용자 인터페이스 입력 디바이스를 통해 사용자에 의해 제공되는 추가 사용자 인터페이스 입력에 기초하고, 상기 저장된 값은 컨텐츠 파라미터를 포함하는 추가 컨텐츠의 향후의 제공에 영향을 미친다.
또한, 일부 구현예는 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서를 포함하고, 여기서 상기 하나 이상의 프로세서는 관련 메모리에 저장된 명령들을 식행하도록 동작 가능하고, 상기 명령들은 전술한 방법들 중 임의의 것을 수행하게 하도록 구성된다. 일부 구현예는 또한 전술한 방법들 중 임의의 것을 수행하도록 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령들을 저장하는 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
본 명세서에서 보다 상세히 기술된 전술한 개념 및 추가 개념의 모든 조합은 본 명세서에 개시된 주제의 일부로서 고려될 수 있음을 이해해야 한다. 예를 들어, 본 명세서의 마지막 부분에 나타나는 청구된 주제의 모든 조합은 본 명세서에 개시된 주제의 일부으로 고려된다.
도 1은 본 명세서에 개시된 구현예들이 구현될 수 있는 예시적인 환경의 블록도이다.
도 2a는 자동화 어시스턴트가 복수의 후보 컨텐츠 파라미터로부터 선택된 컨텐츠 파라미터들을 갖는 컨텐츠를 사용자에게 제공하는 대화 세션의 일 예를 나타낸다.
도 2ba, 2bb, 2bc 및 2bd는 도 2a의 대화 세션과는 별도의 대화 세션에서 사용자에게 도 2a의 선택된 컨텐츠 파라미터(들)에 기초한 피드백 프롬프트를 제공하는 다른 예를 도시한다.
도 3a는 자동화 어시스턴트가 복수의 후보 컨텐츠 파라미터로부터 선택된 컨텐츠 파라미터들을 갖는 컨텐츠를 사용자에게 제공하는 대화 세션의 다른 예를 도시한다.
도 3b는 도 3a의 대화 세션과는 별도의 대화 세션에서 사용자에게 도 3a의 선택된 컨텐츠 파라미터(들)에 기초한 피드백 프롬프트를 제공하는 예를 도시한다.
도 4는 본 명세서에 개시된 구현예들에 따른 예시적인 방법을 도시하는 흐름도이다.
도 5는 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
이제 도 1을 참조하면, 본 명세서에 개시된 기술들이 구현될 수 있는 예시적인 환경이 도시되어 있다. 예시적인 환경은 복수의 클라이언트 컴퓨팅 디바이스(106I-N) 및 자동화 어시스턴트(120)를 포함한다. 자동화 어시스턴트(120)가 클라이언트 컴퓨팅 디바이스(106I-N)와 별도로 도 1에 도시되어 있지만, 일부 구현예에서 자동화 어시스턴트(120)의 모두 또는 양태는 클라이언트 컴퓨팅 디바이스(106I-N) 중 하나 이상에 의해 구현될 수 있다. 예를 들어, 클라이언트 디바이스(106i)는 자동화 어시스턴트(120)의 하나의 이상의 양태의 하나의 인스턴스를 구현할 수 있고, 클라이언트 디바이스(106N)는 또한 자동화 어시스턴트(120)의 이들 하나 이상의 양태의 개별 인스턴스를 구현할 수 있다. 자동화 어시스턴트(120)의 하나 이상의 양태가 클라이언트 컴퓨팅 디바이스(106I-N)로부터 멀리 떨어진 하나 이상의 컴퓨팅 디바이스에 의해 구현되는 구현예에서, 클라이언트 컴퓨팅 디바이스(106I-N) 및 자동화 어시스턴트(120)의 양태는 근거리 통신망(LAN: Local Area Network) 및/또는 광역 통신망(WAN: Wide Area Network)(예를 들어, 인터넷)과 같은 하나 이상의 네트워크를 통해 통신할 수 있다.
클라이언트 디바이스(106I-N)는 예를 들어 데스크탑 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 이동 전화 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스(예를 들어, 차량 통신 시스템, 차량 엔터테인먼트 시스템, 차량 네비게이션 시스템), 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자 시계, 컴퓨팅 디바이스를 갖는 사용자 안경, 가상 또는 증강 현실 컴퓨팅 디바이스) 중 하나 이상을 포함할 수 있다. 추가 및/또는 대안적인 클라이언트 컴퓨팅 디바이스가 제공될 수 있다. 일부 구현예에서, 주어진 사용자는 컴퓨팅 디바이스들의 조정된 "생태계"로부터 집합적으로 복수의 클라이언트 컴퓨팅 디바이스를 이용하여 자동화 어시스턴트(120)와 통신할 수 있다. 그러나, 간결함을 위해, 본 명세서에서 설명된 일부 예는 단일 클라이언트 컴퓨팅 디바이스(106)를 조작하는 사용자에 초점을 맞출 것이다.
각각의 클라이언트 컴퓨팅 디바이스(106I-N)는 메시지 교환 클라이언트 (107I-N)들 중 대응하는 하나와 같은 다양한 상이한 애플리케이션을 동작시킬 수 있다. 메시지 교환 클라이언트(107I-N)는 다양한 형태로 제공될 수 있으며, 그 형태는 클라이언트 컴퓨팅 디바이스(106I-N)에 걸쳐 변할 수 있고 및/또는 다수의 형태가 클라이언트 컴퓨팅 디바이스(106I-N)들 중 단 하나에서 동작될 수 있다. 일부 구현예에서, 하나 이상의 메시지 교환 클라이언트(107I-N)는 단문 메시징 서비스 ("SMS") 및/또는 멀티미디어 메시징 서비스("MMS") 클라이언트, 온라인 채팅 클라이언트(예를 들어, 인스턴트 메신저, 인터넷 릴레이 채팅 또는 "IRC"등), 소셜 네트워크와 관련된 메시징 애플리케이션, 자동화 어시스턴트(120)와의 대화에 전용된 개인 어시스턴트 메시징 서비스 등의 형태로 제공될 수 있다. 일부 구현예에서, 하나 이상의 메시지 교환 클라이언트(107I-N)는 웹 브라우저(미도시) 또는 클라이언트 컴퓨팅 디바이스(106)의 다른 애플리케이션에 의해 렌더링된 웹 페이지 또는 다른 리소스를 통해 구현될 수 있다.
본 명세서에서 보다 상세히 기술되는 바와 같이, 자동화 어시스턴트(120)는 하나 이상의 클라이언트 디바이스(106I-N)의 사용자 인터페이스 입력 및 출력 디바이스를 통해 하나 이상의 사용자와의 대화 세션(dialog session)에 참여한다. 일부 구현예에서, 자동화 어시스턴트(120)는 클라이언트 디바이스(106I-N) 중 하나의 하나 이상의 사용자 인터페이스 입력 디바이스를 통해 사용자가 제공한 사용자 인터페이스 입력에 응답하여 사용자와의 대화 세션에 참여할 수 있다. 이러한 구현예들 중 일부에서, 사용자 인터페이스 입력은 자동화 어시스턴트(120)에게 명시적으로 지시된다. 예를 들어, 메시지 교환 클라이언트(107I-N) 중 하나는 자동화 어시스턴트(120)와의 대화에 전용된 개인 어시스턴트 메시징 서비스일 수 있고, 그 개인 어시스턴트 메시징 서비스를 통해 제공된 사용자 인터페이스 입력은 자동화 어시스턴트(120)에 자동으로 제공될 수 있다. 또한, 예를 들어, 사용자 인터페이스 입력은 자동화 어시스턴트(120)가 호출될 것임을 나타내는 특정 사용자 인터페이스 입력에 기초하여 하나 이상의 메시지 교환 클라이언트(107I-N)에서 자동화 어시스턴트(120)로 명시적으로 지시될 수 있다. 예를 들어, 특정 사용자 인터페이스 입력은 하나 이상의 타이핑된 문자(예를 들어, @AutomatedAssistant), 하드웨어 버튼 및/또는 가상 버튼(예를 들어, 탭, 롱 탭)과의 사용자 상호 작용, 구두 명령(예를 들어, "Hey Automated Assistant") 및/또는 다른 특정 사용자 인터페이스 입력일 수 있다. 일부 구현예에서, 자동화 어시스턴트(120)는 사용자 인터페이스 입력이 명시적으로 자동화 어시스턴트(120)에 지시되지 않아도, 사용자 인터페이스 입력에 응답하여 대화 세션에 참여할 수 있다. 예를 들어, 자동화 어시스턴트(120)는 사용자 인터페이스 입력의 컨텐츠를 검사하여 사용자 인터페이스 입력에 존재하는 특정 용어들에 응답하여 및/또는 다른 큐에 기초하여 대화 세션에 참여할 수 있다.
클라이언트 컴퓨팅 디바이스(106I-N) 및 자동화 어시스턴트(120) 각각은 데이터 및 소프트웨어 애플리케이션의 저장을 위한 하나 이상의 메모리, 데이터에 액세스하고 애플리케이션을 실행하기 위한 하나 이상의 프로세서 및 네트워크를 통한 통신을 용이하게 하는 다른 컴포넌트를 포함할 수 있다. 하나 이상의 클라이언트 컴퓨팅 디바이스(106I-N) 및/또는 자동화 어시스턴트(120)에 의해 수행되는 동작들은 다수의 컴퓨터 시스템에 걸쳐 분산될 수 있다. 자동화 어시스턴트(120)는 예를 들어 네트워크를 통해 서로 커플링되는 하나 이상의 위치에 있는 하나 이상의 컴퓨터상에서 실행되는 컴퓨터 프로그램으로서 구현될 수 있다.
자동화 어시스턴트(120)는 자연어 처리기(122), 응답형 컨텐츠 엔진(130) 및 피드백 엔진(140)을 포함할 수 있다. 일부 구현예에서, 자동화 어시스턴트(120)의 하나 이상의 엔진 및/또는 모듈은 자동화 어시스턴트(120)와 별개인 컴포넌트에서 생략, 결합 및/또는 구현될 수 있다. 자동화 어시스턴트(120)는 응답형 컨텐츠 엔진(130)에 의해 생성된 응답형 컨텐츠를 제공하고 및/또는 피드백 엔진(140)에 의해 생성된 피드백 프롬프트를 제공하기 위해 관련 클라이언트 디바이스(IO6I-N)를 통해 하나 이상의 사용자(들)과의 대화 세션에 참여한다.
일부 구현예에서, 응답형 컨텐츠 엔진(130)은 자동화 어시스턴트(120)와의 대화 세션 동안(중에) 클라이언트 디바이스(106I-N) 중 하나의 사용자에 의해 생성된 다양한 입력에 응답하여 응답형(responsive) 컨텐츠를 생성한다. 응답형 컨텐츠 엔진(130)은 대화 세션의 일부로서 사용자에게 제시하기 위해 (예를 들어, 사용자의 클라이언트 디바이스로부터 분리될 때 하나 이상의 네트워크를 통해) 응답형 컨텐츠를 제공한다. 예를 들어, 응답형 컨텐츠 엔진(130)은 클라이언트 디바이스(106I-N) 중 하나를 통해 제공된 자유-형식의 자연어 입력에 응답하여 응답형 컨텐츠를 생성할 수 있다. 본 명세서에서 사용된 바와같이, 자유-형식의 입력은 사용자에 의해 공식화되고 사용자 선택을 위해 제시된 옵션 그룹에 제약되지 않는 입력이다.
일부 입력에 응답하여, 응답형 컨텐츠 엔진(130)은 복수의 후보 컨텐츠 파라미터들로부터 선택된 하나 이상의 컨텐츠 파라미터를 갖는 컨텐츠를 생성할 수 있다. 예를 들어, 제공된 입력은 "괜찮은 커피숍 방향을 알려 줘"일 수 있고, 응답형 컨텐츠 엔진(130)은 하나 이상의 인자에 기초하여 먼저 복수의 이용 가능한 커피숍들로부터 "괜찮은 커피숍"을 선택함으로써 특정 커피숍에 대한 방향을 결정할 수 있다. 또한, 응답형 컨텐츠 엔진(130)은 하나 이상의 인자에 기초하여 복수의 후보 방향(예를 들어, 최단 대 최고속, 고속도로 포함 대 고속도로 제외)으로부터 방향을 결정함으로써 상기 방향들을 결정할 수 있다. 응답형 컨텐츠 엔진(130)의 구현에 대한 부가적인 설명이 아래에 제공된다.
일부 구현예에서, 피드백 엔진(140)은 응답형 컨텐츠 엔진(130)에 의해 선택되어 대화 세션에서 사용자에게 제공되는 다양한 컨텐츠 파라미터를 저장하고, 상기 선택된 컨텐츠 파라미터들 중 하나 이상에 관한 사용자의 피드백을 요청하는 (soliciting) 프롬프트를 생성한다. 피드백 엔진(140)은 대화 세션의 일부로서 사용자에게 제시하기 위한 피드백 프롬프트를 제공한다. 많은 구현예에서, 피드백 엔진(140)은 피드백 프롬프트의 초점(focus)인 컨텐츠 파라미터(들)가 사용자에게 제공되는 대화 세션과는 별도인 대화 세션의 일부로서 사용자에게 제시하기 위한 피드백 프롬프트를 제공한다. 피드백 엔진(140)은 프롬프트에 응답하여 사용자에 의해 제공된 피드백을 더 이용하여, 향후의(future) 대화 세션들에서 자동화 어시스턴트(120)에 의해, 사용자 및/또는 다른 사용자들에게 추후에 제공되는 향후의 제안들 및/또는 다른 컨텐츠에 영향을 줄 수 있다.
상술한 바와 같이, 일부 구현예에서, 컨텐츠는 사용자와 자동화 어시스턴트 간의 대화 세션에서 자동화 어시스턴트(120)에 의해 사용자에게 제공되고, 자동화 어시스턴트(120)는 사용자와 자동화 어시스턴트 간의 향후의 대화 세션에서 상기 제공되는 컨텐츠와 관련된 사용자 피드백을 요청하는 피드백 프롬프트를 제공한다. 이 구현예들 중 일부에서, 프롬프트는 그 입력 및/또는 출력이 이전의 대화 세션에서 제공된 컨텐츠와 무관한 향후의 대화 세션에서, 사용자의 입력 및/또는 자동화 어시스턴트(120)의 출력에 후속하여(following) 제공된다.
본 명세서에 사용된 바와 같이, "대화 세션"은 사용자와 자동화 어시스턴트 (120) 간의 하나 이상의 메시지의 논리적으로 독립적인(logically-self-contained) 교환을 포함할 수 있다. 자동화 어시스턴트(120)는 세션 간의 시간 경과, 세션 간의 사용자 컨텍스트(예를 들어, 위치, 예정된 회의 전/도중/후 등)의 변경, 사용자와 자동화 어시스턴트(120) 간의 대화이외의 사용자와 클라이언트 디바이스 사이의 하나 이상의 중재(intervening) 상호 작용의 검출(예를 들어, 사용자는 잠시 동안 애플리케이션을 전환한 다음 나중에 독립 실행형 음성-지원 제품으로 리턴함), 세션 간의 클라이언트 디바이스의 로킹/슬리핑, 자동화 어시스턴트(120)의 하나 이상의 인스턴스와 인터페이스하기 위해 사용되는 클라이언트 디바이스들의 변경 등과 같은 다양한 신호에 기초하여 사용자와의 다수의 대화 세션을 구별할 수 있다.
일부 구현예에서, 자동화 어시스턴트(120)가 사용자 피드백을 요청하는 프롬프트를 제공할 때, 자동화 어시스턴트(120)는 프롬프트에 응답하여 수신될 사용자 인터페이스 입력을 처리하도록 구성된 (프롬프트가 제공되는) 클라이언트 디바이스의 하나 이상의 컴포넌트를 선제적으로 활성화할 수 있다. 예를 들어, 사용자 인터페이스 입력이 클라이언트 디바이스(106i)의 마이크로폰을 통해 제공되는 경우, 자동화 어시스턴트(120)는 하나 이상의 명령을 제공하여, 마이크로폰이 선제적으로 "개방(opened)"되고(그에 따라 인터페이스 요소를 누르거나 또는 마이크로폰을 개방하기 위한 "핫 워드(hot word)"를 말할 필요가 없음), 클라이언트 디바이스(106i)의 로컬 음성-텍스트 변환 프로세서가 선제적으로 활성화되고, 클라이언트 디바이스(106i)와 원격 음성-텍스트 변환 프로세서간의 통신 세션이 선제적으로 확립되고, 및/또는 그래픽 사용자 인터페이스(예를 들어, 피드백을 제공하도록 선택될 수 있는 하나 이상의 선택 가능한 요소를 포함하는 인터페이스)가 클라이언트 디바이스(106i)상에 랜더링되게 할 수 있다. 이는 컴포넌트들이 선제적으로 활성화되지 않은 경우보다 사용자 인터페이스 입력이 더 빨리 제공 및/또는 처리될 수 있다.
일부 구현예에서, 자동화 어시스턴트(120)는 하나 이상의 기준을 만족하는 향후의 대화 세션에서 사용자 입력 및/또는 자동화 어시스턴트(120)의 응답형 출력에 기초하여 향후의 대화 세션에서 사용자 피드백을 요청하는 프롬프트를 제공할 수 있다. 예를 들어, 프롬프트는 사용자가 임의의 사용자 입력 및/또는 임의의 자연어 입력 및/또는 특정 자연어 입력과 같은 특정 사용자 입력으로 대화 세션을 개시할 때만 제공될 수 있다. 또한, 예를 들어, 프롬프트는 사용자 입력 및/또는 응답형 출력이 하나 이상의 특정 시맨틱 유형인 경우 및/또는 하나 이상의 다른 특정 시맨틱 유형이 아닌 경우에만 제공될 수 있다. 또 다른 예로서, 프롬프트는 사용자 입력 및/또는 응답형 출력이 하나 이상의 특정 n-그램(grams)을 포함하는 경우 및/또는 하나 이상의 다른 특정 n-그램을 포함하지 않는 경우에만 제공될 수 있다. 일부 구현예에서, 기준은 대화 세션의 대화가 대화식 및/또는 가벼운(light) 경우는 프롬프트를 제공할 가능성을 높이고(promote) 및/또는 대화 세션의 대화가 "작업 지향적(task oriented)"인 경우는 (예를 들어, 사용자가 작업을 방해하지 못하도록) 프롬프트를 제공할 가능성을 낮추기(demote) 위해 선택될 수 있다.
일부 구현예에서, 기준은 프롬프트가 제공되는 사용자의 프라이버시를 유지하도록 추가적으로 또는 대안적으로 선택될 수 있다. 예를 들어, 음성-기반 자연어 입력이 제공되는 경우, 기준은 음성-기반 입력이 사용자의 음성 프로필에 부합하는 것 및/또는 음성-기반 입력에 특정 배경 잡음이 없는 것(예를 들어, 다른 사용자가 존재할 수 있음을 나타내는 배경 잡음이 없는 것)일 수 있다. 또한, 예를 들어, 기준은 사용자 입력 및/또는 응답형 출력이 사용자에게 사적인 컨텐츠(예를 들어, 사용자의 당일 캘린더 아이템들의 요약을 제공하는 응답형 출력)를 포함하는 것일 수 있으며, 이는 사용자가 비공개(priviate)로 간주하는 설정에 있음을 나타낼 수 있다.
일부 구현예에서, 사용자에게 제공된 다수의 별개(distinct) 제안들로부터의 컨텐츠 파라미터들은 주어진 향후의 대화 세션에서 사용자에게 제공할 프롬프트를 생성하기 위해 피드백 엔진(140)에게 이용 가능할 수 있다. 이러한 구현예들 중 일부에서, 피드백 엔진(140)은 하나 이상의 기준에 기초하여, 주어진 프롬프트에서 제공하기 위한 다수의 제안들 중 서브세트(예를 들어, 하나)를 선택할 수 있다. 예를 들어, 프롬프트를 생성 및/또는 제공하는데 주어진 제안의 컨텐츠 파라미터가 이용되는지 여부는 주어진 제안의 카테고리(예를 들어, 식사 제안이 음악 제안보다 선택될 가능성이 더 높을 수 있음), 주어진 제안의 서브-카테고리(예를 들어, 프랑스 요리 제안이 멕시코 요리 제안보다 선택될 가능성이 더 높을 수 있음), 주어진 제안이 제공된 시간(예를 들어, 보다 최근의 제안이 덜 최근의 제안보다 선택될 가능성이 더 높을 수 있음), 및/또는 주어진 제안의 카테고리와 주어진 제안이 제공된 시간(예를 들어, 3일 전의 음악 제안은 제공되지 않을 수 있지만 3일 전의 식사 제안은 제공될 수 있음)에 기초할 수 있다.
일부 구현예에서, 향후에 사용자에 의해 행(act)해질 제공된 제안의 컨텐츠 파라미터에 대한 피드백을 요청하는 프롬프트는 사용자가 실제로 상기 제안에 따라 행동(act)했다는 결정에 기초하여 자동화 어시스턴트(120)에 의해 제공될 수 있다. 이것은 사용자에게 혼동을 줄 수 있고 프롬프트를 제공할 때 계산 리소스를 불필요하게 소비할 수 있는-사용자가 결코 상호 작용하지 않은 컨텐츠 파라미터에 대한 피드백을 제공하도록 프롬프트되는 위험을 완화할 수 있다. 일부 수현예에서, 사용자가 제안에 따라 행동했는지를 결정하는 것은 프롬프트가 제공되는 대화 세션 이전의 대화 세션에서 사용자와 자동화 어시스턴트(120) 사이의 대화(예를 들어, 사용자가 실제로 제안에 대해 행동했다는 대화)에 기초할 수 있다. 일부 구현예에서, 사용자가 제안에 대해 행동했는지를 결정하는 것은, 제안에 따라 행동하기 위해 자동화 어시스턴트(120)를 사용하여 생성되지 않은 신호들과 같은 하나 이상의 추가적인 또는 대안적인 신호에 기초할 수 있다. 예를 들어, 자동화 어시스턴트(120)가 방문할 커피숍에 대한 제안을 사용자에게 제공한다고 가정하자. 커피숍에 대한 피드백을 요청하는 프롬프트가 향후의 대화 세션에서 사용자에게 제공되기 전에, 사용자의 모바일 클라이언트 디바이스의 위치 데이터, 사용자와 관련된 거래 데이터, 및/또는 다른 신호들에 기초하여 사용자가 실제로 커피숍을 방문했는지가 먼저 결정될 수 있다.
자동화 어시스턴트(120)의 자연어 처리기(122)는 클라이언트 디바이스(106I-N)를 통해 사용자에 의해 생성된 자연어 입력을 처리하여, 응답형 컨텐츠 엔진(130) 및/또는 피드백 엔진과 같은 자동화 어시스턴트(120)의 하나 이상의 다른 컴포넌트에 의한 사용을 위해 주석(처리된) 출력을 생성한다. 예를 들어, 자연어 처리기(122)는 클라이언트 디바이스(106i)의 하나 이상의 사용자 인터페이스 입력 디바이스를 통해 사용자가 생성한 자연어 자유-형식 입력을 처리할 수 있다. 생성된 주석 출력은 자연어 입력의 하나 이상의 주석 및 선택적으로 자연어 입력의 용어들 중 하나 이상(예를 들어, 모두)을 포함한다.
일부 구현예에서, 자연어 처리기(122)는 자연어 입력의 다양한 유형의 문법 정보를 식별하고 주석을 달도록 구성된다. 예를 들어, 자연어 처리기(122)는 용어의 문법적 역할에 주석을 달기 위해 구성된 품사 태거(tagger)를 포함할 수 있다. 예를 들어, 품사 태거는 각 용어를 "명사", "동사", "형용사", "대명사"등과 같은 품사로 태그할 수 있다. 또한, 예를 들어, 일부 구현예에서, 자연어 처리기(122)는 자연어 입력에서 용어들 간의 시맨틱(구문적) 관계를 결정하도록 구성된 의존성 파서를 추가적으로 및/또는 대안적으로 포함할 수 있다. 예를 들어, 의존성 파서는 어느 용어가 문장의 다른 용어, 주체 및 동사(예를 들어, 파스 트리(parse tree))을 변경하는지를 결정할 수 있으며 그러한 의존성들에 대한 주석을 만들 수 있다.
일부 구현예에서, 자연어 처리기(122)는 부가적으로 및/또는 대안적으로 사람, 조직, 위치 등에 대한 참조와 같은 하나 이상의 세그먼트에서 엔티티 참조에 주석을 달로록 구성된 엔티티 태거를 포함할 수 있다. 엔티티 태거는 높은 수준의 세분성(예를 들어, 사람과 같은 엔티티 클래스에 대한 모든 참조를 식별할 수 있도록) 및/또는 낮은 수준의 세분성(예를 들어, 특정 사람과 같은 특정 엔티티에 대한 모든 참조를 식별할 수 있도록)으로 엔티티에 대한 참조에 주석을 달 수 있다. 엔티티 태거는 자연어 입력의 컨텐츠에 의존하여 특정 엔티티를 분석(resolve)할 수 있고 및/또는 선택적으로 지식 그래프 또는 다른 엔티티 데이터베이스(예를 들어, 컨텐츠 데이터베이스(152))와 통신하여 특정 엔티티를 분석할 수 있다.
일부 구현예에서, 자연어 처리기(122)는 부가적으로 및/또는 대안적으로 하나 이상의 문맥 큐에 기초하여 동일한 엔티티에 대한 참조들을 그룹화하거나 "클러스터링"하도록 구성된 동일 지시어 분석기(coreference resolver)를 포함할 수 있다. 예를 들어, 동일 지시어 분석기는 "나는 아시아 빌리지(Asia Village)에 있는 볶음 요리를 좋아해. 그곳에서 주문해 주겠니"라는 자연어에서 "그곳(it)"이라는 용어를 "아시아 빌리지"로 분석하는데 활용될 수 있다.
일부 구현예에서, 자연어 처리기(122)의 하나 이상의 컴포넌트는 자연어 처리기(122)의 하나 이상의 다른 컴포넌트의 주석에 의존할 수 있다. 예를 들어, 일부 구현예에서, 명명된(named) 엔티티 태거는 모든 언급(mentions)을 특정 엔티티에 주석으로 달 때, 동일 지시어 분석기 및/또는 의존성 파서의 주석에 의존할 수 있다. 또한, 예를 들어, 일부 구현예에서, 동일 지시어 분석기는 동일한 엔티티에 대한 참조들을 클러스터링할 때 의존성 파서로부터의 주석들에 의존할 수 있다. 일부 구현예에서, 특정 자연어 입력을 처리할 때, 자연어 처리기(122)의 하나 이상의 컴포넌트는 하나 이상의 주석을 결정하기 위해 특정 자연어 입력 외부의 관련 이전 입력 및/또는 다른 관련 데이터를 사용할 수 있다.
전술한 바와 같이, 응답형 컨텐츠 엔진(130)은 클라이언트 디바이스(106I-N) 중 하나의 사용자와의 대화 세션 동안 제공할 제안들 및/또는 다른 컨텐츠를 생성하는데 하나 이상의 리소스를 이용한다. 응답형 컨텐츠 엔진(130)은 액션 모듈(132), 엔티티 모듈(134), 컨텐츠 생성 모듈(136) 및 속성 모듈(138)을 포함할 수 있다.
응답형 컨텐츠 엔진(130)의 액션 모듈(132)은 클라이언트 컴퓨팅 디바이스(106I-N)로부터 수신된 자연어 입력 및 자연어 처리기(122)에 의해 제공된 자연어 입력의 주석을 사용하여, 자연어 입력과 관련된 적어도 하나의 액션을 결정한다. 일부 구현예에서, 액션 모듈(132)은 자연어 입력에 포함된 하나 이상의 용어에 기초하여 액션을 결정할 수 있다. 예를 들어, 액션 모듈(132)은, 하나 이상의 컴퓨터 판독 가능 매체에서, 자연어 입력에 포함된 하나 이상의 용어에 매핑되는 액션에 기초하여 액션을 결정할 수 있다. 예를 들어, "레스토랑 예약(making a restaurant reservation)"이라는 액션은 "예약하다(book it)", "예약하다(reserve)", "예약(reservation)", "테이블을 얻다(get me a table)"등과 같은 하나 이상의 용어에 매핑될 수 있다. 또한, 예를 들어, "일일 브리핑 제공 (providing a daily briefing)"이라는 액션은 "내 일정에 대해 말해 줘(tell me about my day)", "오늘 무슨 일이 있지(what's going on today)", "굿 모닝" 등과 같은 하나 이상의 용어에 매핑될 수 있다. 또 다른 예로서, "잡담 제공(providing small talk)"이라는 액션은 "안녕(hello)", "요즘 어때(what's up)" 등과 같은 하나 이상의 용어에 매핑될 수 있다.
일부 구현예에서, 액션 모듈(132)은 대화 세션의 자연어 입력에 기초하여 엔티티 모듈(134)에 의해 결정된 하나 이상의 후보 엔티티에 적어도 부분적으로 기초하여 액션을 결정할 수 있다. 예를 들어 "예약하다(book it)"라는 자연어 입력을 가정하고 그 "book it"은 "레스토랑 예약", "호텔 예약", "약속하기" 등과 같은 복수의 별개의 액션들에 매핑된다고 가정한다. 이러한 상황에서, 액션 모듈(132)은 엔티티 모듈(134)에 의해 결정된 후보 엔티티들에 기초하여 액션들 중 어느 것이 올바른 액션인지를 결정할 수 있다. 예를 들어, 엔티티 모듈(134)이 단지 복수의 레스토랑을 후보 엔티티로서 결정하는 경우, 액션 모듈(132)은 "레스토랑 예약"이라는 액션이 올바른 액션인지를 결정할 수 있다.
엔티티 모듈(134)은 사용자(들)와 자동화 어시스턴트(120) 간의 대화 세션 동안 사용자 인터페이스 입력 디바이스(들)를 통해 하나 이상의 사용자에 의해 제공된 입력에 기초하여 후보 엔티티들을 결정한다. 엔티티 모듈(134)은 후보 엔티티들을 결정하는데 및/또는 이들 후보 엔티티를 정제(refining)하는데 하나 이상의 리소스를 이용한다. 예를 들어, 엔티티 모듈(134)은 자연어 입력 자체, 자연어 처리기(122)에 의해 제공된 주석들, 속성 모듈(138)에 의해 제공된 속성(들) 및/또는 컨텐츠 데이터베이스(152)의 컨텐츠를 이용할 수 있다.
컨텐츠 데이터베이스(152)는 하나 이상의 비-일시적인 컴퓨터 판독 가능 매체상에 제공될 수 있으며, 복수의 엔티티, 엔티티들 각각의 속성, 및 선택적으로 엔티티들 간의 관계를 정의할 수 있다. 예를 들어, 컨텐츠 데이터베이스(152)는 특정 레스토랑의 식별자, 및 위치, 요리 유형(들), 이용 가능한 요리들, 영업 시간, 별칭, 예약 접수 여부, 레스토랑의 등급, 가격 표시 등과 같은 그 레스토랑의 하나 이상의 특성(properties)을 포함할 수 있다. 컨텐츠 데이터베이스(152)는 하나 이상의 엔티티 및/또는 하나 이상의 액션에 각각 적용 가능한 복수의 프로토콜을 추가적으로 또는 대안적으로 포함할 수 있다. 예를 들어, 각각의 프로토콜은 관련 액션을 수행하고 및/또는 관련 엔티티/엔티티들과 관련 액션을 수행하기 위해 하나 이상의 필수 및/또는 원하는 컨텐츠 파라미터를 정의할 수 있다.
컨텐츠 생성 모듈(136)은 액션을 수행하기 위한 제안들을 생성하고 및/또는 다른 컨텐츠를 생성하기 위해, 관련 클라이언트 디바이스들을 통해 하나 이상의 사용자(들)와의 대화에 참여한다. 컨텐츠 생성 모듈(136)은 선택적으로 컨텐츠를 생성하는데 하나 이상의 리소스를 사용한다. 예를 들어, 컨텐츠 생성 모듈(136)은 대화 세션 동안 사용자의 현재 및/또는 과거의 자연어 입력, 자연어 처리기(122)에 의해 제공된 그 입력의 주석들, 속성 모듈(138)에 의해 제공된 속성(들), 엔티티 모듈(134)에 의해 결정된 하나 이상의 엔티티, 및/또는 액션 모듈(132)에 의해 결정되는 하나 이상의 액션을 이용할 수 있다.
컨텐츠 생성 모듈(136)은 복수의 후보 컨텐츠 파라미터로부터 선택된 하나 이상의 컨텐츠 파라미터를 포함하는 컨텐츠를 생성하여 대화 세션에서 제공할 수 있다. 컨텐츠 생성 모듈(136)은 본 명세서에 설명된 바와 같이 피드백 프롬프트를 생성하는데 이용하기 위해 피드백 엔진(140)에 제공된 컨텐츠의 상기 선택된 컨텐츠 파라미터를 더 제공할 수 있다.
일 예로서, 대화 세션내의 제공된 입력은 "나에게 좋은 커피숍 방향을 알려줘"일 수 있고, 컨텐츠 생성 모듈(136)은 하나 이상의 인자에 기초하여(예를 들어, 액션 모듈(132)로부터의 후보 액션(들) 및/또는 엔티티 모듈(134)로부터의 후보 엔티티들에 기초하여) 복수의 이용 이용 가능한 커피숍들로부터 먼저 "좋은 커피숍"을 선택함으로써 특정 커피숍에 대한 방향들을 결정한다. 또한, 컨텐츠 생성 모듈(136)은 하나 이상의 인자에 기초하여 복수의 후보 방향(예를 들어, 최단 대 최고속 경로, 고속도로 포함 대 고속도로 제외)으로부터 방향을 결정함으로써 상기 방향들을 결정할 수 있다. 컨텐츠 생성 모듈(136)은 특정 커피숍 및/또는 방향들을 결정할 때 하나 이상의 외부 컴포넌트와 선택적으로 통신할 수 있다. 컨텐츠 생성 모듈(136)은 선택된 컨텐츠 파라미터들을 피드백 엔진(140)에 제공할 수 있다. 예를 들어, 컨텐츠 생성 모듈(136)은 선택된 특정 커피숍을 나타내는 컨텐츠 파라미터를 제공할 수 있고 (예를 들어, 그들이 "최고속 경로" 방향임을 나타내는) 선택된 방향들의 하나 이상의 파라미터를 나타내는 컨텐츠 파라미터를 제공할 수 있다.
다른 예로서, 제공된 입력은 "내 일정에 대해 말해줘"일 수 있고, 컨텐츠 생성 모듈(136)은 사용자의 하나 이상의 캘린더 항목, 사용자를 위한 지역 날씨, 사용자에게 맞춤화된 하나 이상의 뉴스 기사, 및/또는 상기 입력에 응답하여 제공하기 위한 다른 컨텐츠를 선택할 수 있다. 컨텐츠 생성 모듈(136)은 컨텐츠의 유형(예를 들어, "캘린더 항목", "뉴스 기사"), 컨텐츠의 개별 및/또는 집합 크기(예를 들어, 시간 길이)등과 같은 다양한 인자에 기초하여 컨텐츠를 선택할 수 있다. 컨텐츠 생성 모듈(136)은 선택된 컨텐츠 파라미터들을 피드백 엔진(140)에 제공할 수 있다. 예를 들어, 컨텐츠 생성 모듈(136)은 "캘린더 항목들" 및 "뉴스 기사들"이 사용자에게 제공되었음을 나타내는 컨텐츠 파라미터를 제공할 수 있고 및/또는 대화 세션에서 컨텐츠 전체의 가청 프레젠테이션(제시)의 길이가 "2분"임을 나타내는 컨텐츠 파라미터를 제공할 수 있다.
속성 모듈(138)은 자동화 어시스턴트(120)와의 대화 세션에 참여하는 사용자에게 적용 가능한 하나 이상의 속성을 결정하고, 이들 속성을 대화 세션에서 사용자에게 제공하기 위한 컨텐츠를 생성하는데 사용하기 위해 응답형 컨텐츠 엔진(130)의 하나 이상의 다른 컴포넌트로 제공한다. 상기 속성들은 예를 들어 액션에 대한 특정 엔티티를 결정할 때, 액션 대한 하나 이상의 기준을 결정할 때 및/또는 하나 이상의 사용자와의 대화에 대한 출력을 생성할 때, 응답형 컨텐츠 엔진(130)의 다른 컴포넌트에 의해 이용될 수 있다. 속성 모듈(138)은 사용자에게 사적인 및/또는 사용자를 포함하는 사용자 그룹에 적용 가능한 하나의 속성을 저장할 수 있는 속성 데이터베이스(156)와 통신한다. 본 명세서에 기술된 바와 같이, 속성 데이터베이스(156)의 다양한 속성값은 피드백 프롬프트들에 응답하여 하나 이상의 사용자에 의해 제공된 입력에 기초하여 영향을 받을 수 있다. 예를 들어, 속성 데이터베이스(156)의 속성은 특정 사용자에 대한 특정 레스토랑의 만족도 (desirability)를 나타내는 특정 레스토랑과 관련된 값을 포함할 수 있다. 이 값은 특정 레스토랑에 지행되고 대화 세션(들)에서 특정 사용자에게 제공된 피드백 프롬프트(들)에 응답하여 특정 사용자가 제공한 입력(들)에 기초할 수 있다. 속성 데이터베이스(156)는 추가적으로 또는 대안적으로 사용자에게 사적이지만 그 값들이 피드백 프롬프트에 대한 응답에 의해 반드시 영향을 받지는 않는 다른 속성들을 포함할 수 있다. 예를 들어, 이러한 속성들은 사용자의 현재 위치(예를 들어, GPS 또는 다른 위치 데이터에 기초한), 사용자의 시간 제한(예를 들어, 사용자의 전자 캘린더에 기초한), 및/또는 복수의 인터넷 서비스에 걸친 사용자 활동들에 기초한 사용자의 속성들을 포함할 수 있다.
전술한 바와 같이, 피드백 엔진(140)은 응답형 컨텐츠 엔진(130)에 의해 선택되어 대화 세션에서 사용자에게 제공되는 다양한 컨텐츠 파라미터를 저장하고, 하나 이상의 컨텐츠 파라미터에 관한 사용자의 피드백을 요청하는 프롬프트를 생성한다. 피드백 엔진(140)은 제공된 컨텐츠 파라미터 모듈(142), 프롬프트 생성 모듈(144) 및 피드백 모듈(146)을 포함할 수 있다.
제공된 컨텐츠 파라미터 모듈(142)은 제공된 컨텐츠 파라미터 데이터베이스(154)내의 사용자와 관련하여, 사용자와의 대화 세션에서 사용자에게 제시하기 위해 제공되는 컨텐츠의 컨텐츠 파라미터들을 저장한다. 예를 들어, "괜찮은 커피숍은 뭐가 있지"라는 대화 세션내의 제공된 입력에 대해, 컨텐츠 생성 모듈(136)은 복수의 이용 가능한 커피숍으로부터 "괜찮은 커피숍"을 선택하여, 선택된 "괜찮은 커피숍"을 나타내는 응답형 출력을 제공하고, 선택된 "괜찮은 커피숍"을 나타내는 컨텐츠 파라미터를 피드백 엔진(140)에 제공한다. 제공된 컨텐츠 파라미터 모듈(142)은 사용자와 관련하여 제공된 컨텐츠 파라미터를 컨텐츠 파라미터 데이터베이스(154)에 저장할 수 있다.
프롬프트 생성 모듈(144)은 제공된 컨텐츠 파라미터 데이터베이스(154)에 사용자와 관련하여 저장된 하나 이상의 컨텐츠 파라미터에 관한 사용자의 피드백을 요청하는 피드백 프롬프트를 생성한다. 일부 구현예에서, 프롬프트 생성 모듈(144)은 피드백 프롬프트가 언제 및/또는 어떻게 사용자에게 제공되어야 하는지를 결정한다. 예를 들어, 프롬프트 생성 모듈(144)은, 피드백 프롬프트의 중점(focus)인 컨텐츠 파라미터(들)가 사용자에게 제공된 대화 세션과 별개인 대화 세션; 하나 이상의 기준을 만족시키는 대화 세션의 사용자 입력 및/또는 응답형 출력; 사용자가 컨텐츠 파라미터(들)의 기초가 되는 제안에 따라 행동했는지를 검증하는 것, 및/또는 다른 기준에 기초하여 대화 세션의 일부로서 사용자에게 제시하기 위한 피드백 프롬프트를 제공하도록 결정할 수 있다. 프롬프트 생성 모듈(144)은 응답형 컨텐츠 엔진(130)에 의해 관리되는 소정의 대화 세션에서 생성된 피드백 프롬프트를 중계(interject)하기 위해 응답형 컨텐츠 엔진(130)과 협력하여 작동할 수 있다. 일부 구현예에서, 프롬프트 생성 모듈(144) 및/또는 피드백 엔진(140)의 다른 컴포넌트는 응답형 컨텐츠 엔진(130)에 포함될 수 있다.
일부 구현예에서, 사용자에게 제공된 다수의 별개의 제안의 컨텐츠 파라미터들은 주어진 대화 세션에서 사용자에게 제공할 프롬프트를 생성하기 위해 프롬프트 생성 모듈(144)에게 이용 가능할 수 있다. 이러한 구현예들 중 일부에서, 프롬프트 생성 모듈(144)은 하나 이상의 기준에 기초하여, 주어진 프롬프트에서 제공하기 위한 이들 다수의 제안의 서브세트(예를 들어, 하나)를 선택할 수 있다.
피드백 모듈(146)은 프롬프트에 응답하여 사용자에 의해 제공되는 피드백을 이용하여, 향후의 대화 세션들에서 자동화 어시스턴트(120)에 의해, 사용자 및/또는 다른 사용자들에게 추후 제공되는 향후의 제안들 및/또는 다른 컨텐츠에 영향을 줄 수 있다. 일부 구현예에서, 피드백 모듈(146)은 속성 데이터베이스(156)의 하나 이상의 속성과 관련된 값들을 조정하기 위해 피드백의 하나 이상의 인스턴스를 이용한다. 조정된 값들은 사용자 개인 및/또는 사용자 그룹(예를 들어, 모든 사용자)에게 적용될 수 있다. 일부 구현예에서, 피드백 모듈(146)은 피드백의 하나 이상의 인스턴스가 관련 속성에 대해 갖게 될 영향을 결정할 때 자연어 처리기(122)에 의해 제공된 주석들을 이용할 수 있다. 예를 들어, 자연어 처리기(122)는 감성(sentiment) 분류기를 포함할 수 있고, 제공된 피드백의 감성을 나타내는 주석들을 제공할 수 있으며, 피드백 모듈(146)은 상기 나타난 감성을 이용하여 상기 값을 조정할 수 있다. 예를 들어, "커피숍 A는 어땠습니까"라는 피드백 프롬프트 및 "너무 좋았어(it was great)"라는 사용자 제공 피드백에 대해, 피드백 모듈(146)은 "너무 좋았어"가 매우 긍정적인 피드백과 관련되어 있음을 나타내는 주석을 수신할 수 있다. 이러한 주석에 기초하여, 피드백 모듈(146)은 "커피숍 A"와 관련된 속성값을 높일(promote) 수 있다.
이제 도 2a, 도 2ba, 도 2bb, 도 2bc 및 도 2bd를 참조하면, 본 명세서에 개시된 다양한 구현예의 예가 설명된다. 도 2a는 자동화 어시스턴트가 복수의 후보 컨텐츠 파라미터로부터 선택된 컨텐츠 파라미터들을 갖는 컨텐츠를 사용자에게 제공하는 대화 세션의 일 예를 도시한다. 도 2ba-2bd는 개병 대화 세션에서 사용자에게 피드백 프롬프트(들)를 제공하는 다른 예를 도시하며, 여기서 피드백 프롬프트는 선택된 컨텐츠 파라미터들에 기초한다.
도 2a는 하나 이상의 마이크로폰 및 하나 이상의 스피커를 포함하는 컴퓨팅 디바이스(210)를 도시하고, 본 명세서에 설명된 구현예에 따른 컴퓨팅 디바이스(210)의 사용자(101)와 자동화 어시스턴트(120) 간에 마이크로폰(들) 및 스피커(들)를 통해 발생할 수 있는 대화 세션의 예들을 도시한다. 자동화 어시스턴트(120)의 하나 이상의 양태는 컴퓨팅 디바이스(210) 및/또는 컴퓨팅 디바이스(210)와 네트워크 통신하는 하나 이상의 컴퓨팅 디바이스 상에 구현될 수 있다.
도 2a에서, 사용자는 "오후 6시에 저녁 식사를 주문할 수 있니?"라는 자연어 입력(280A)을 제공하여 사용자와 자동화 어시스턴트(120) 간의 대화 세션을 개시한다. 자연어 입력(280A)에 응답하여, 자동화 어시스턴트(120)는 "그럼요, 어떤 종류의 음식인가요"라는 자연어 출력(282A)을 제공한다. 이어서 사용자는 사용자가 멕시코 요리를 원한다는 것을 나타내는 자연어 입력(280B)을 제공한다. 그러면 자동화 어시스턴트(120)는 사용자가 자동화 어시스턴트로 하여금 특정 레스토랑을 선택하기를 원하는지를 사용자에게 묻는 자연어 출력(282B)를 제공하고, 사용자는 자연어 입력(280C)을 통해 긍정적으로 응답한다.
자동화 어시스턴트(120)는 하나의 제안인 자연어 출력(282C)을 제공한다. 자연어 출력(282C)이라는 제안은 복수의 후보 "멕시코 요리" 레스토랑으로부터 선택된 특정 레스토랑(카페 루페(Cafe Lupe))을 포함하고, 또한 상기 특정 레스토랑에서 이용 가능한 복수의 후보 요리 중에서 선택된 특정 요리("부리토(burrito)")를 포함한다.
이어서 사용자는 카페 루페로부터 부리토와 약간의 감자튀김을 주문하도록 자동화 어시스턴트(120)에게 지시하는 자연어 입력(280D)을 제공한다. 그러면 자동화 어시스턴트(120)는 자연어 출력(282D)을 제공하여 입력(280D)의 사용자 요청이 자동화 어시스턴트(120)에 의해 (선택적으로 하나 이상의 추가적인 외부 컴포넌트를 통해) 충족되었음을 확인한다.
도 2a의 대화 세션에서, 자동화 어시스턴트(120)는 복수의 후보 옵션으로부터 위치 "카페 루페" 및 음식 유형 "부리토"를 선택하고 이들 선택을 대화 세션의 일부로서 사용자에게 제시한다. 또한, 자동화 어시스턴트(120)는 사용자가 동일한 대화 세션에서 (카페 루페로부터 부리토를 주문함으로써) 사용자가 상기 제안을 실행했는지를 결정할 수 있다. 위치 및 음식 유형을 추천하는 것에 기초하여 그리고 선택적으로 사용자가 제안된 위치 및 음식 유형에 대해 행동했는지를 결정하는 것에 기초하여, 자동화 어시스턴트(120)는 제안된 위치 및 음식 유형을 나타내는 컨텐츠 파라미터를 저장할 수 있다. 예를 들어, 자동화 어시스턴트(120)는 사용자와 관련하여 상기 제공된 컨텐츠 파라미터 데이터베이스(154)에, 이들 선택 및 제공된 컨텐츠 파라미터의 표시를 저장할 수 있다.
도 2ba은 도 2a의 대화 세션에 응답하여 저장된 "카페 루페" 컨텐츠 파라미터에 기초하여 사용자에게 피드백 프롬프트를 제공하는 일 예를 제공한다. 도 2ba에서, 사용자는 사용자와 자동화 어시스턴트(120) 간의 대화 세션을 개시하기 위해 "내 일정에 대해 말해줘"라는 자연어 입력(280A1)을 제공한다. 도 2ba의 대화 세션은 도 2a의 대화 세션과 별개이다. 예를 들어, 도 2ba의 대화 세션은 도 2a의 대화 세션 이후의 적어도 임계 시간량의 경과에 기초하여 및/또는 다른 기준에 기초하여 별도의 대화 세션으로 결정될 수 있다.
자동화 어시스턴트(120)는 지역 예보 및 교통 정보(traffic report)와 함께 사용자의 캘린더의 요약을 포함하는 응답 자연어 출력(282A1)으로 자연어 입력(280A1)에 응답한다. 비록 입력(280A1)과 출력(282A1)이 도 2a의 대화 세션의 컨텐츠와 관련 없다 하더라도, 자동화 어시스턴트(120)는 "카페 루페" 컨텐츠 파라미터에 대한 피드백을 요청하는 피드백 프롬프트(282B1)를 제공한다. 본 명세서에 기술된 바와 같이, 자동화 어시스턴트(120)는 도 3a의 대화 세션과는 별개인 도 3b1의 대화 세션, "루틴"으로 간주되는 것과 같은 하나 이상의 기준을 만족시키는 입력(380A1) 및/또는 출력(382A1), 및/또는 다른 기준에 기초하여 피드백 프롬프트 (282B1)를 제공할 수 있다.
사용자는 긍정적인 자연어 입력(280B1)으로 피드백 프롬프트(282B1)에 응답하고, 자동화 어시스턴트는 확인(하는) 자연어 출력(382C1)으로 응답한다. 자동화 어시스턴트(120)는 긍정적인 자연어 입력(280B1)을 이용하여 "카페 루페" 컨텐츠 파라미터와 관련된 값에 긍정적으로 영향을 줄 수 있다. 예를 들어, 자동화 어시스턴트(120)는 값을 조정하여, "카페 루페" 및/또는 카페 루페와 유사한 레스토랑이 사용자와의 향후 대화 세션 및/또는 다른 사용자와의 향후 대화 세션에서 제공될 가능성을 증가시킬 수 있다.
도 2bb는 도 2a의 대화 세션에 응답하여 저장된 "부리토" 컨텐츠 파라미터에 기초하여 사용자에게 피드백 프롬프트를 제공하는 일 예를 제공한다. 도 2bb의 대화 세션은 도 2ba의 대화 세션 대신에 또는 그에 부가하여 발생하는 것일 수 있다. 도 2bb에서, 사용자는 사용자와 자동화 어시스턴트(120) 간의 대화 세션을 개시하기 위해 "굿 모닝"이라는 자연어 입력(280A2)을 제공한다. 도 2bb의 대화 세션은 도 2b의 대화 세션과 별개이다. 예를 들어, 도 2ba의 대화 세션은 도 2a의 대화 세션 이후의 적어도 임계 시간량의 경과에 기초하여 및/또는 다른 기준에 기초하여 별도의 대화 세션으로 결정될 수 있다.
자동화 어시스턴트(120)는 자연어 입력(280A2)에 "굿 모닝 존"이라는 응답형 컨텐츠를 포함하는 응답 자연어 출력(282A2)로 응답한다. 비록 입력(280A2)이 도 2a의 대화 세션의 컨텐츠와 관련이 없다 하더라도, 자연어 출력(282A2)은 또한 "어제 밤 카페 루페에서 나온 부리토는 어떠셨나요"라는 피드백 프롬프트를 포함한다. 본 명세서에 기술된 바와 같이, 자동화 어시스턴트(120)는 다양한 기준에 기초하여 출력(282A2)에 포함된 피드백 프롬프트를 제공할 수 있다.
사용자는 긍정적인 자연어 입력(280B2)으로 출력(282A2)에 응답한다. 자동화 어시스턴트는 확인 언어 "좋았어(great)"와 카폐 루페의 다른 인기있는 요리에 대한 제안을 포함하는 자연어 출력 282B2로 응답한다. 자동화 어시스턴트(120)는 긍정적인 자연어 입력(280B2)을 이용하여 "부리토" 컨텐츠 파라미터와 관련된 값에 긍정적인 영향을 줄 수 있다. 예를 들어, 자동화 어시스턴트(120)는 값을 조정하여, "부리토"가 사용자와의 향후 대화 세션 및/또는 다른 사용자와의 향후 대화 세션에서 카페 루페 및/또는 다른 레스토랑에서 요리로서 추천될 가능성을 증가시킬 수 있다.
도 2bc는 도 2a의 대화 세션에 응답하여 저장된 "부리토" 컨텐츠 파라미터에 기초하여 사용자에게 피드백 프롬프트를 제공하는 다른 예를 제공한다. 도 2bc의 대화 세션은 도 2ba 및/또는 도 2bb의 대화 세션 대신에 또는 그에 부가하여 발생하는 대화 세션일 수 있다. 도 2bc에서, 사용자는 "음악 좀 틀어 줄래(Play me some music)"라는 자연어 입력(280A3)을 제공하여 사용자와 자동화 어시스턴트(120) 간의 대화 세션을 개시한다. 도 2bb의 대화 세션은 도 2a의 대화 세션과 별개이다.
자동화 어시스턴트(120)는 자연어 입력(280A3)에 응답 노래(악보로 표시된)를 포함하는 응답형 출력(282A3)으로 응답한다. 비록 입력(280A3)이 도 2a의 대화 세션의 컨텐츠와 관련이 없다 하더라도, 출력(282A3)은 또한 "그런데, 지난 밤 카페 루페에서 나온 부리토는 어떠셨나요"라는 피드백 프롬프트를 포함한다. 피드백 프롬프트는 응답 노래의 전부 또는 일부를 재생한 후에 제공될 수 있다. 본 명세서에 기술된 바와 같이, 자동화 어시스턴트(120)는 다양한 기준에 기초하여 출력 (282A3)에 포함된 피드백 프롬프트를 제공할 수 있다.
사용자는 긍정적인 자연어 입력(280B3)으로 출력(282A3)에 응답한다. 자동화 어시스턴트는 확인 언어 "다행입니다(good to hear)"를 포함하는 출력(282B3)으로 응답한 다음 상기 응답 노래 또는 추가 노래를 계속 재생한다. 자동화 어시스턴트(120)는 긍정적인 자연어 입력(280B3)을 이용하여 "부리토" 컨텐츠 파라미터와 관련된 값에 긍정적인 영향을 줄 수 있다.
도 2bd는 도 2a의 대화 세션에 응답하여 저장된 "카페 루페" 컨텐츠 파라미터에 기초하여 사용자에게 피드백 프롬프트를 제공하는 다른 예를 제공한다. 도 2bd의 대화 세션은 도 2ba,도 2bb 및/또는 도 2bc의 대화 세션 대신에 또는 그에 부가하여 발생하는 대화 세션일 수 있다.
도 2bd는 도 2a의 사용자(101)의 다른 클라이언트 디바이스(310) 및 클라이언트 디바이스(310)의 디스플레이 스크린(340)을 도시한다. 클라이언트 디바이스 (310)는 자동화 어시스턴트(120) 및/또는 그의 (컨텐츠 파라미터 데이터베이스 (154) 내의 사용자(101)의 엔트리에 대한 액세스를 갖는) 다른 인스턴스를 포함할 수 있고 및/또는 통신할 수 있다. 디스플레이 스크린(340)은 사용자가 가상 키보드를 통해 사용자 인터페이스 입력을 생성하도록 선택할 수 있는 응답 인터페이스 요소(element)(388) 및 사용자가 마이크로폰을 통해 사용자 인터페이스 입력을 생성하도록 선택할 수 있는 음성 응답 인터페이스 요소(389)를 포함한다. 일부 구현예에서, 사용자는 음성 응답 인터페이스 요소(389)의 선택 없이 마이크로폰을 통한 사용자 인터페이스 입력을 생성할 수 있다. 예를 들어, 대화 세션 동안, 마이크로폰을 통한 가청 사용자 인터페이스 입력에 대한 능동적인 모니터링은 사용자가 음성 응답 인터페이스 요소(389)를 선택할 필요성을 없애기 위해 발생할 수 있다. 이들 중 일부 및/또는 다른 구현예에서, 음성 응답 인터페이스 요소(389)는 생략될 수 있다. 게다가, 일부 구현예에서, 응답 인터페이스 요소(388)는 부가적으로 및/또는 대안적으로 생략될 수 있다(예를 들어, 사용자는 가청 사용자 인터페이스 입력만을 제공할 수 있다). 디스플레이 스크린(340)은 또한 클라이언트 디바이스 (310)가 하나 이상의 액션을 수행하게 하기 위해 사용자와 상호 작용할 수 있는 시스템 인터페이스 요소(381, 382, 383)를 포함한다.
도 2bd에서, 사용자는 사용자와 자동화 어시스턴트(120) 간의 대화 세션을 개시하기 위해 "내일 일정은 어떻게 되지(What's my day look like tomorrow)"라는 자연어 입력(280A4)을 제공한다. 도 2bb의 대화 세션은 도 2a의 대화 세션과 별개이다. 일부 구현예에서, 자동화 어시스턴트(120)는 별도의 클라이언트 디바이스를 통해 발생하는 것에 기초하여 그것이 별도의 대화 세션이라고 결정할 수 있다.
자동화 어시스턴트(120)는 자연어 입력(280A4)에 사용자의 캘린더의 요약을 포함하는 응답형 출력(282A4)으로 응답한다. 입력(280A4) 및 출력(282A4)이 도 2a의 대화 세션의 컨텐츠와 관련이 없다 하더라도, 자동화 어시스턴트는 "그런데, 카페 루페 음식은 괜찮았나요?"라는 피드백 프롬프트(282B4)를 제공한다. 사용자는 긍정적인 자연어 입력(280B4)으로 피드백 프롬프트(282B4)에 응답한다. 일부 구현예에서, 자연어 입력(280B4)은 자유-형식 입력일 수 있다. 일부 다른 구현에서, 자동화 어시스턴트(120)는 대화에서, 사용자 선택을 위한 다수의 옵션을 제공할 수 있다. 예를 들어, 자동화 어시스턴트(120)는 피드백 프롬프트(282B4)와 함께, "그래", "아니", 및 "괜찮았어"와 같은 다수의 옵션을 포함하는 인터페이스를 제공할 수 있고, 사용자는 해당하는 응답 입력을 제공하기 위해 옵션들 중 하나를 선택할 수 있다.
도 2ba-2bd는 긍정적인 피드백을 제공하고 결과적으로 대응하는 컨텐츠 파라미터를 증가(promot)시키는 사용자의 예를 제공한다. 그러나, 사용자는 대응하는 컨텐츠 파라미터를 감소(demote)시키는 부정적인 피드백을 대안적으로 제공할 수 있는 것으로 이해된다.
이제 도 3a 및 도 3b를 참조하면, 본 명세서에 개시된 다양한 구현예의 추가 예가 설명된다. 도 3a는 자동화 어시스턴트가 복수의 후보 컨텐츠 파라미터들로부터 선택된 컨텐츠 파라미터를 갖는 컨텐츠를 사용자에게 제공하는 대화 세션의 예를 도시한다. 도 3b는 별도의 대화 세션에서 사용자에게 피드백 프롬프트를 제공하는 예를 도시하며, 여기서 피드백 프롬프트는 선택된 컨텐츠 파라미터에 기초한다.
도 3a는 도 2bd에 도시된 것과 동일한 클라이언트 디바이스(310)를 도시한다. 도 3a에는, 사용자("You")와 추가 사용자("Tom") 및 자동화 어시스턴트(Automated Assistant) 간의 대화 세션이 있다. 사용자는 추가 사용자를 대상으로 "아침에 커피?"라는 자연어 입력(380A1)을 제공한다. 추가 사용자는 "좋아(sure)"라는 응답 자연어 입력(381A1)을 제공한다.
그런 다음 사용자는 입력(380A2)에 "@AutomatedAssistant"를 포함시킴으로써 자동화 어시스턴트(120)를 대화 세션으로 호출하여, 자동화 어시스턴트(120)에게 "좋은 커피숍 선택해 줘"라고 요청한다. 이에 응답하여, 자동화 어시스턴트(120)는 아주 많이(highly) 리뷰되고 사용자 및 추가 사용자에게 가까운 "가상 로스터스(Hypothetical Roasters)"에 대한 제안을 포함하는 출력(382A1)을 제공한다. 출력(382A1)은 (클라이언트 디바이스(310)를 통해) 사용자 및 (대응하는 클라이언트 디바이스를 통해) 추가 사용자 모두에게 제시하기 위해 제공될 수 있다. 자동화 어시스턴트(120)는 복수의 후보 옵션 중에서 "가상 로스터스"의 위치를 선택한다. 또한, 자동화 어시스턴트(120)는 사용자가 사용자와 관련된 추가 신호(예를 들어, 사용자는 "가상 로스터스"에 대한 네비게이션 요청, "가상 로스터스" 방문을 나타내는 사용자의 위치 데이터" 및/또는 다른 신호를 발행함)에 기초하여 제안에 따라 행동했는지를 결정할 수 있다. 위치를 추천하는 것에 기초하여 그리고 선택적으로 사용자가 제안된 위치에 대해 행동했는지를 결정하는 것에 기초하여, 자동화 어시스턴트(120)는 사용자와 관련하여 제안된 위치를 나타내는 컨텐츠 파라미터를 저장할 수 있다. 예를 들어, 자동화 어시스턴트(120)는 사용자와 관련하여 상기 제공된 컨텐츠 파라미터 데이터베이스(154)에, 이들 선택 및 제공된 컨텐츠 파라미터들의 표시를 저장할 수 있다. 자동화 어시스턴트(120)는 추가 사용자와 관련하여, 상기 제안된 위치를 나타내는 컨텐츠 파라미터들을 (선택적으로 추가 사용자가 제안된 위치에 대해 행동한다고 결정한 후에) 추가적으로 또는 대안적으로 저장할 수 있다.
도 3b는 도 3a의 대화 세션과는 별도의 대화 세션에서 사용자(101)에게 도 3a의 선택된 컨텐츠 파라미터에 기초한 피드백 프롬프트를 제공하는 예를 도시한다. 도 3b에서, 사용자(101)는 별도의 컴퓨팅 디바이스(210)에 "퇴근길 상황은 어때?"라는 자연어 입력(380B1)을 제공한다. 도 3b의 대화 세션은 도 3a의 대화 세션과는 별개이다. 예를 들어, 도 3b의 대화 세션은 개별 컴퓨팅 디바이스(210)를 통해 발생하는 것에 기초하여 별도의 대화 세션으로 결정될 수 있다.
자동화 어시스턴트(120)는 현재 교통 상황(traffic conditions)의 요약을 포함하는 응답 자연어 출력(382B1)으로 자연어 입력(380B1)에 응답한다. 입력 (380B1) 및 출력(382B1)이 도 3a의 대화 세션의 컨텐츠와 무관하더라도, 자동화 어시스턴트(120)는 "가상 로스터스" 컨텐츠 파라미터에 대한 피드백을 요구하는 피드백 프롬프트(382B2)를 제공한다. 본 명세서에 기술된 바와 같이, 자동화 어시스턴트(120)는 도 3a의 대화 세션과 별개인 도 3b의 대화 세션, "루틴"으로 고려되는 것과 같은 하나 이상의 기준을 만족시키는 입력(380B1) 및/또는 출력(382B1), 및/또는 다른 기준과 같은 다양한 기준에 기초하여 피드백 프롬프트(282B2)를 제공할 수 있다.
사용자는 부정적인 자연어 입력(380B2)으로 출력(382B1)에 응답한다. 자동화 어시스턴트는 "가상 로스터스"에 대해 사용자가 마음에 들지 않는 특별한 것이 있는지 여부에 대한 피드백을 요청하는 추가 피드백 프롬프트(382B3)를 제공한다. 사용자는 "가상 로스터스"가 너무 붐볐다는 것을 명시하는 추가 자연어 입력 (380B3)으로 출력(382B3)에 응답한다. 자동화 어시스턴트(120)는 부정적인 자연어 입력 (380B2)을 이용하여 "카페 루페" 컨텐츠 파라미터와 관련된 값에 부정적인 영향을 줄 수 있다. 자동화 어시스턴트(120)는 추가적으로 또는 대안적으로 자연어 입력(380B3)을 이용하여 혼잡 레벨(Crowd Level)을 나타내는 컨텐츠 파라미터와 관련된 값에 영향을 줄 수 있다. 예를 들어, 자동화 어시스턴트(120)는 한 번 이상 "과혼잡(heavy crowds)"과 관련된 레스토랑이 사용자와의 향후 대화 세션 및/또는 다른 사용자화의 향후 대화 세션에서 한 번 이상 추천될 가능성을 줄이기 위해 값을 조정할 수 있다.
도 3b는 클라이언트 디바이스(310)의 사용자(101)와의 일 예를 도시한다. 그러나, 자동화 어시스턴트(120)의 개별 인스턴스는 제공된 컨텐츠 파라미터 데이터베이스(154)에 추가 사용자와 관련하여 저장되어 있는 상기 선택된 컨텐츠 파라미터에 기초하여, 그의 클라이언트 디바이스들 중 하나를 통해, 도 3a의 추가 사용자("톰")에게 피드백 프롬프트를 추가적으로 및/또는 대안적으로 제공할 수 있다.
비록 다양한 도면에 제공된 예시들이 위치 제안에 초점을 두고 있지만, 본 명세서에 기술된 기술은 다른 유형의 제안들 및/또는 다른 컨텐츠를 위해 구현될 수 있다. 일 예로서, "블루그래스 좀 틀어 줄래(play me some bluegrass)"라는 사용자 입력에 응답하여, 자동화 어시스턴트(120)는 응답으로 재생할 블루그래스 앨범 A를 선택할 수 있다. 그런 다음 자동화 어시스턴트(120)는 "블루그래스 앨범 A는 어땠어요?"와 같은 향후의 대화 세션에서의 프롬프트를 제공할 수 있다. 다른 예로서, "현재 뉴스"라는 사용자 입력에 응답하여, 자동화 어시스턴트(120)는 응답으로 제공하기 위해 소스 A로부터의 현재 뉴스를 선택할 수 있다. 그런 다음 자동화 어시스턴트(120)는 "뉴스에 대한 소스 A를 원하시나요 아니면 다른 소스를 선호하십니까?"와 같은 프롬프트를 향후의 대화 세션에서 제공할 수 있다. 다른 예로서, "현재 뉴스"라는 사용자 입력에 응답하여, 자동화 어시스턴트(120)는 응답으로 제공할 5개의 뉴스 기사(story)를 선택할 수 있다. 그런 다음 자동화 어시스턴트(120)는 "앞서 제공한 수의 뉴스 기사를 원하시나요 아니면 더 많거나 적은 것을 선호합니까?"와 같은 프롬프트를 향후의 대화 세션에서 제공할 수 있다. 또 다른 예로서, "커피숍 탐색(네비게이션)"이라는 사용자 입력에 응답하여, 자동화 어시스턴트(120)는 가장 가까운 커피숍을 선택하여 그 커피숍에 대한 방향을 제공할 수 있다. 그러면 자동화 어시스턴트(120)는 "어제는 가장 가까운 커피숍을 안내해 드렸습니다. 앞으로는 조금 더 멀리 떨어진 더 높은 평가를 받는 커피숍을 선호하겠습니까?"와 같은 프롬프트를 다음 날의 대화 세션에서 제공할 수 있다.
도 4는 본 명세서에 개시된 구현예에 따른 예시적인 방법(400)을 도시하는 흐름도이다. 편의상, 흐름도의 동작들은 동작을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 자동화 어시스턴트(120)의 하나 이상의 컴포넌트와 같은 다양한 컴퓨터 시스템의 다양한 컴포넌트를 포함할 수 있다. 또한, 방법(400)의 동작들이 특정 순서로 도시되어 있지만, 이것은 한정되는 것을 의미하지는 않는다. 하나 이상의 동작은 재정렬, 생략 또는 추가될 수 있다.
블록(452)에서, 시스템은 대화 세션 동안 사용자에 의해 제공된 사용자 인터페이스 입력에 기초한 자연어 입력을 수신한다.
블록(454)에서, 시스템은 자연어 입력에 응답하고 복수의 후보 컨텐츠 파라미터로부터 선택된 적어도 하나의 컨텐츠 파라미터를 포함하는 컨텐츠를 생성한다.
블록(456)에서, 시스템은 대화 세션의 일부로서 사용자에게 제시하기 위한 컨텐츠를 제공하고 상기 컨텐츠의 선택된 컨텐츠 파라미터를 저장한다.
블록(458)에서, 시스템은 사용자를 포함하는 추가 대화 세션을 식별한다. 일부 구현예에서, 블록(458)은 블록(460)을 포함할 수 있는데, 여기서 시스템은 추가 대화 세션의 일부로서 사용자에게 제시하기 위한 추가 컨텐츠를 생성하고 제공한다.
블록(462)에서, 시스템은 추가 대화 세션의 일부로서 사용자에게 제시하기 위해, 상기 저장된 선택된 컨텐츠 파라미터에 대한 피드백을 요구하는 프롬프트를 제공한다.
블록(464)에서, 시스템은 프롬프트에 응답하고 추가 대화 세션 동안 사용자에 의해 제공된 사용자 인터페이스 입력에 기초하는 추가 입력을 수신한다.
블록(466)에서, 시스템은 추가의 입력을 사용하여 상기 선택된 컨텐츠 파라미터와 관련하여 저장된 값에 영향을 준다.
도 5는 본 명세서에 기술된 기술들의 하나 이상의 양태를 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 디바이스(510)의 블록도이다. 일부 구현예에서, 하나 이상의 클라이언트 컴퓨팅 디바이스, 자동화 어시스턴트(120) 및/또는 다른 컴포넌트(들)는 예시적인 컴퓨팅 디바이스(510)의 하나 이상의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(510)는 전형적으로 버스 서브 시스템(512)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(514)를 포함한다. 이러한 주변 디바이스는 예를 들어 메모리 서브 시스템(525) 및 파일 저장 서브 시스템(526), 사용자 인터페이스 출력 디바이스(520), 사용자 인터페이스 입력 디바이스(522) 및 네트워크 인터페이스 서브 시스템(516)을 포함하는 저장 서브 시스템(524)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(510)와의 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브 시스템(516)은 외부 네트워크에 인터페이스를 제공하고 다른 컴퓨팅 디바이스내의 대응하는 인터페이스 디바이스에 연결된다.
사용자 인터페이스 입력 디바이스(522)는 키보드, 포인팅 디바이스(예컨대, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크로폰, 및/또는 다른 유형의 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(510)에 또는 통신 네트워크 상에 정보를 입력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(520)는 디스플레이 서브 시스템, 프린터, 팩스 머신, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브 시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 몇몇 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스를 통한 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(510)로부터 사용자 또는 다른 기계 또는 컴퓨팅 디바이스로 정보를 출력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
저장 서브 시스템(524)은 본 명세서에 설명된 모듈의 일부 또는 모든 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브 시스템(524)은 도 4의 방법의 선택된 양태들을 수행하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈은 일반적으로 프로세서(514) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브 시스템(524)에서 사용되는 메모리(525)는 프로그램 실행 동안 명령들 및 데이터를 저장하기 위한 주 랜덤 액세스 메모리 (RAM)(530) 및 고정 명령들이 저장되는 판독 전용 메모리(ROM)(532)를 포함하여 다수의 메모리를 포함할 수 있다. 파일 저장 서브 시스템(526)은 프로그램 및 데이터 파일을 위한 영구 저장 장치를 제공할 수 있으며, 하드 디스크 드라이브, 관련 이동식 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 소정 구현예들의 기능을 구현하는 모듈들은 저장 서브 시스템(524)의 파일 저장 서브 시스템(526) 또는 프로세서(들)(514)에 의해 액세스 가능한 다른 머신에 의해 저장될 수 있다.
버스 서브 시스템(512)은 컴퓨팅 디바이스(510)의 다양한 컴포넌트 및 서브 시스템들이 의도된 바와 같이 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브 시스템(512)이 단일 버스로서 개략적으로 도시되었지만, 버스 서브 시스템의 다른 구현예는 다수의 버스를 사용할 수 있다.
컴퓨팅 디바이스(510)는 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 5에 도시된 컴퓨팅 디바이스(510)의 설명은 일부 구현예를 설명하기 위한 특정 예로서만 의도된다. 컴퓨팅 디바이스(510)의 많은 다른 구성은 도 5에 도시된 컴퓨팅 디바이스보다 많거나 적은 컴포넌트를 가질 수 있다.
본 명세서에서 논의된 특정 구현예가 사용자들에 관한 개인 정보(예를 들어, 다른 전자 통신으로부터 추출된 사용자 데이터, 사용자의 소셜 네트워크에 관한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체 정보 및 사용자의 활동 및 인구 통계 정보)를 수집하거나 사용할 수 있는 상황에서, 사용자에게 정보의 수집 여부, 개인 정보의 저장 여부, 개인 정보의 사용 여부, 및 저장 및 사용되는 사용자에 대한 정보의 수집 방법을 제어할 수 있는 하나 이상의 기회가 제공된다. 즉, 본 명세서에서 논의된 시스템 및 방법은 관련 사용자로부터 명시적 승인을 받은 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다. 예를 들어, 사용자는 프로그램들 또는 기능들이 그 특정 사용자 또는 프로그램 또는 기능과 관련된 다른 사용자들에 대한 사용자 정보의 수집 여부를 제어할 수 있다. 개인 정보가 수집되는 각 사용자에게는 그 사용자와 관련된 정보 수집을 제어할 수 있는 하나 이상의 옵션이 제공되어, 정보 수집 여부 및 정보의 어떤 부분을 수집할지에 대한 허가 또는 승인을 제공한다. 예를 들어, 사용자는 통신 네트워크를 통해 하나 이상의 이러한 제어 옵션을 제공받을 수 있다. 또한, 소정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용 전에 하나 이상의 방법으로 처리될 수 있다. 일 예로서, 사용자의 신원은 개인 식별 정보가 결정될 수 없도록 처리될 수 있다. 다른 예로서, 사용자의 특정 위치가 결정될 수 없도록 사용자의 지리적 위치는 보다 큰 영역으로 일반화될 수 있다.
몇몇 구현예가 본 명세서에서 기술되고 도시되었지만, 기능을 수행하여 및/또는 결과 및/또는 본 명세서에 기술된 하나 이상의 장점을 얻기 위한 다양한 다른 수단 및/또는 구조가 이용될 수 있으며, 이러한 변형들 및 및/또는 수정들 각각은 본 명세서에 기술된 구현 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것이며, 실제 파라미터, 치수, 재료 및/또는 구성은 특정 애플리케이션 또는 그 교시(teaching)가 사용되는 애플리케이션에 따라 다르다. 당업자는 일상적인 실험만을 사용하여 본 명세서에 기술된 특정 구현예들에 대한 많은 등가물을 인식하거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예로서 제시되고, 첨부된 청구 범위 및 그 등가물의 범위 내에서 구현은 구체적으로 기술되고 청구된 것과 다르게 실시될 수 있음을 이해해야 한다. 본 발명의 구현들은 본 명세서에 기술된 각각의 개별적인 피처, 시스템, 물품(articles), 재료, 키트 및/또는 방법에 관한 것이다. 또한, 이러한 피처, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 모순적이지 않은 경우, 둘 이상의 피처, 시스템, 물품, 재료, 키트 및/또는 방법의 임의의 조합은 본 발명의 범위 내에 포함된다.

Claims (18)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    사용자와 자동화 어시스턴트 간의 이전 대화 세션 동안 사용자의 음성 입력을 수신하는 단계;
    음성 입력에 응답하는 복수의 후보 제안으로부터 특정 제안을 선택하기 위해 음성 입력을 처리하는 단계;
    특정 제안이 이전 대화 세션 동안 사용자에게 청각적으로 및/또는 그래픽적으로 제시되게 하는 단계;
    제안이 사용자에게 제시된 후 사용자가 실제로 제안에 따라 행동했는지 확인하는(verify) 단계;
    현재 대화 세션이 하나 이상의 기준을 충족한다고 결정하는 단계, 상기 현재 대화 세션은 이전 대화 세션과 일시적으로 분리되고 이전 대화 세션의 제안과 관련이 없으며, 그리고 현재 대화 세션은 클라이언트 디바이스를 통해 사용자와 자동화 어시스턴트 사이에 이루어지며,
    현재 대화 세션이 하나 이상의 기준을 충족한다는 결정에 응답하고 그리고 사용자가 실제로 제안에 따라 행동했다는 결정에 응답하여, 클라이언트 디바이스의 출력 컴포넌트에서 사용자에게 제시될 제안에 대한 피드백을 요청하는 프롬프트를 발생하는 단계;
    프롬프트에 응답하는 사용자 인터페이스 입력을 수신하는 단계;
    제안과 관련하여 저장된 값을 변경하기 위해 사용자 인터페이스 입력을 사용하는 단계; 및
    값을 변경하는 것에 후속하에, 사용자와 자동화 어시스턴트 간의 추가 대화 세션에서 사용자에게 제공할 추가 제안을 선택할 때 상기 변경된 값을 사용하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서,
    사용자 인터페이스 입력은 추가 음성 발언이고, 그리고
    프롬프트 제공하는 것에 기초하여, 클라이언트 디바이스의 적어도 하나의 마이크로폰이 우선적으로(preemptively) 열리도록 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제1항에 있어서,
    사용자 인터페이스 입력은 추가 음성 발언이고, 그리고
    프롬프트 제공하는 것에 기초하여, 클라이언트 디바이스의 텍스트 프로세서에 대한 로컬 음성이 활성화되도록 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제1항에 있어서,
    현재 대화 세션은 사용자의 음성 기반 입력을 포함하고, 그리고
    현재 대화 세션이 하나 이상의 기준을 만족한다고 결정하는 단계는,
    음성 기반 입력이 사용자의 음성 프로파일에 부합한다고 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제1항에 있어서,
    현재 대화 세션은 사용자의 음성 기반 입력을 포함하고, 그리고
    현재 대화 세션이 하나 이상의 기준을 만족한다고 결정하는 단계는,
    음성 기반 입력에 특정 배경 잡음이 없다고 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제5항에 있어서,
    특정 배경 잡음은 다른 사용자가 존재할 수 있음을 나타내는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제1항에 있어서,
    현재 대화 세션이 하나 이상의 기준을 만족한다고 결정하는 단계는,
    현재 대화 세션 동안 제공되는 컨텐츠가 사용자에게 개인적인 개인 컨텐츠를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 제1항에 있어서,
    이전 대화 세션은 추가 클라이언트 디바이스를 통해 이루어지고, 현재 대화 세션은 사용자의 음성 기반 입력을 포함하며, 그리고
    현재 대화 세션이 하나 이상의 기준을 충족한다고 결정하는 단계는,
    음성 기반 입력이 사용자의 음성 프로파일에 부합한다고 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  9. 제1항에 있어서,
    제안이 사용자에게 제시된 후에 사용자가 실제로 제안에 따라 행동했는지 확인하는 단계는,
    자동화 어시스턴트를 사용하여 생성되지 않은 하나 이상의 신호에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  10. 제1항에 있어서,
    제안이 사용자에게 제시된 후에 사용자가 실제로 제안에 따라 행동했는지 확인하는 단계는,
    제안과 관련된 위치 데이터 또는 제안과 관련된 내비게이션 요청에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법..
  11. 클라이언트 디바이스로서,
    적어도 하나의 마이크로폰;
    적어도 하나의 스피커;
    네트워크 인터페이스;
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    사용자와 자동화 어시스턴트 간의 이전 대화 세션과 일시적으로 분리되고 음성 기반 자연어 입력으로 사용자에 의해 개시되는 사용자와 자동화 어시스턴트 간의 추가 대화 세션의 일부로서:
    사용자의 음성 프로필에 부합하는 음성 기반 자연어 입력에 기초하여, 스피커를 통해, 이전 대화 세션의 일부로서 사용자에게 제시하기 위해 이전에 제공된 제안에 대한 피드백을 요청하는 프롬프트를 제공하고, 상기 프롬프트는 이전 대화 세션의 일부로서 사용자에게 제시하기 위해 이전에 제공된 제안에 기초하고 그리고 사용자가 제안에 따라 행동했다는 결정에 기초하여 그 제안에 대한 피드백을 요청하고; 그리고
    프롬프트를 제공하는 것에 기초하여, 마이크로폰을 통해 제공된 사용자 인터페이스 입력을 처리하기 위해 클라이언트 디바이스와 원격 음성-텍스트 변환 프로세서 사이에 통신 세션을 우선적으로 설정하도록 구성되는 것을 특징으로 하는 클라이언트 디바이스.
  12. 제11항에 있어서,
    하나 이상의 프로세서는,
    마이크로폰을 통해, 프롬프트에 응답하는 추가 입력을 수신하고; 그리고
    네트워크 인터페이스를 통해, 추가 입력에 기초한 데이터를 제공하도록 더 구성되고, 상기 데이터는 제안과 관련하여 저장되고 제안을 포함하는 추가 컨텐츠의 향후 제공에 영향을 미치는 값에 영향을 주기 위해 제공되는 것을 특징으로 하는 클라이언트 디바이스.
  13. 제11항에 있어서,
    하나 이상의 프로세서는,
    다른 사용자가 존재할 수 있음을 나타내는 특정 배경 잡음이 없는 음성 기반 자연어 입력에 추가로 기초하여 프롬프트를 제공하도록 구성되는 것을 특징으로 하는 클라이언트 디바이스.
  14. 제11항에 있어서,
    하나 이상의 프로세서는,
    프롬프트를 제공하는 것에 기초하여, 피드백을 제공하기 위해 선택 가능한 하나 이상의 선택 가능 요소를 포함하는 그래픽 사용자 인터페이스를 렌더링하도록 더 구성되는 것을 특징으로 하는 클라이언트 디바이스.
  15. 시스템으로서,
    명령들을 저장하는 메모리;
    명령들을 실행하도록 작동 가능한 하나 이상의 프로세서를 포함하고, 상기 명령들은 하나 이상의 프로세서로 하여금:
    사용자와 자동화 어시스턴트 간의 이전 대화 세션 동안 사용자의 음성 입력을 수신하고;
    음성 입력에 응답하는 복수의 후보 제안으로부터 특정 제안을 선택하기 위해 음성 입력을 처리하고;
    특정 제안이 이전 대화 세션 동안 사용자에게 청각적으로 및/또는 그래픽적으로 제시되게 하고;
    제안이 사용자에게 제시된 후 사용자가 실제로 제안에 따라 행동했는지 확인하고;
    현재 대화 세션이 하나 이상의 기준을 충족한다고 결정하고, 상기 현재 대화 세션은 이전 대화 세션과 일시적으로 분리되고 이전 대화 세션의 제안과 관련이 없으며, 그리고 현재 대화 세션은 클라이언트 디바이스를 통해 사용자와 자동화 어시스턴트 사이에 이루어지며,
    현재 대화 세션이 하나 이상의 기준을 충족한다는 결정에 응답하고 그리고 사용자가 실제로 제안에 따라 행동했다는 결정에 응답하여, 클라이언트 디바이스의 출력 컴포넌트에서 사용자에게 제시될 제안에 대한 피드백을 요청하는 프롬프트를 발생하고;
    프롬프트에 응답하는 사용자 인터페이스 입력을 수신하고;
    제안과 관련하여 저장된 값을 변경하기 위해 사용자 인터페이스 입력을 사용하고; 그리고
    값을 변경하는 것에 후속하여:
    사용자와 자동화 어시스턴트 간의 추가 대화 세션에서, 추가 제안을 선택하고, 상기 추가 제안을 선택할 때 하나 이상의 프로세서는 변경된 값에 기초하여 추가 제안을 선택하고; 그리고
    추가 제안이 클라이언트 디바이스 또는 사용자의 추가 클라이언트 디바이스에서 사용자에게 제시되도록 하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    사용자 인터페이스 입력은 추가 음성 발언이고, 그리고
    상기 명령들을 실행할 때 하나 이상의 프로세서는,
    프롬프트를 제공하는 것에 기초하여, 클라이언트 디바이스의 적어도 하나의 마이크로폰이 우선적으로 열리도록 하는 것을 특징으로 하는 시스템.
  17. 제15항에 있어서,
    현재 대화 세션은 사용자의 음성 기반 입력을 포함하고, 그리고
    현재 대화 세션이 하나 이상의 기준을 충족한다고 결정할 때, 하나 이상의 프로세서는,
    음성 기반 입력이 사용자의 음성 프로필에 부합한다고 결정하는 것을 특징으로 하는 시스템.
  18. 제15항에 있어서,
    현재 대화 세션이 하나 이상의 기준을 총족한다고 결정할 때, 하나 이상의 프로세서는,
    현재 대화 세션 동안 제공되는 컨텐츠에 사용자에게 개인적인 개인 컨텐츠가 포함되어 있다고 결정하는 것을 특징으로 하는 시스템.
KR1020227005792A 2016-11-21 2017-09-27 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공 KR102503741B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/357,733 US10446144B2 (en) 2016-11-21 2016-11-21 Providing prompt in an automated dialog session based on selected content of prior automated dialog session
US15/357,733 2016-11-21
KR1020197017350A KR102368003B1 (ko) 2016-11-21 2017-09-27 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공
PCT/US2017/053828 WO2018093468A1 (en) 2016-11-21 2017-09-27 Providing prompt in an automated dialog session based on selected content of prior automated dialog session

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197017350A Division KR102368003B1 (ko) 2016-11-21 2017-09-27 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공

Publications (2)

Publication Number Publication Date
KR20220027284A true KR20220027284A (ko) 2022-03-07
KR102503741B1 KR102503741B1 (ko) 2023-02-24

Family

ID=60083474

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227005792A KR102503741B1 (ko) 2016-11-21 2017-09-27 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공
KR1020197017350A KR102368003B1 (ko) 2016-11-21 2017-09-27 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197017350A KR102368003B1 (ko) 2016-11-21 2017-09-27 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공

Country Status (10)

Country Link
US (3) US10446144B2 (ko)
EP (1) EP3539013A1 (ko)
JP (1) JP6901559B2 (ko)
KR (2) KR102503741B1 (ko)
CN (2) CN108090109B (ko)
DE (2) DE202017105844U1 (ko)
GB (1) GB2556192A (ko)
IE (1) IE20170204A1 (ko)
SG (1) SG10201708066WA (ko)
WO (1) WO2018093468A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10446144B2 (en) * 2016-11-21 2019-10-15 Google Llc Providing prompt in an automated dialog session based on selected content of prior automated dialog session
US11276395B1 (en) * 2017-03-10 2022-03-15 Amazon Technologies, Inc. Voice-based parameter assignment for voice-capturing devices
CN107015781B (zh) * 2017-03-28 2021-02-19 联想(北京)有限公司 语音识别方法和系统
US11100922B1 (en) * 2017-09-26 2021-08-24 Amazon Technologies, Inc. System and methods for triggering sequences of operations based on voice commands
US11075975B2 (en) * 2017-10-17 2021-07-27 Microsoft Technology Licensing, Llc Personalization framework
KR102485253B1 (ko) * 2017-11-10 2023-01-06 현대자동차주식회사 대화 시스템 및 그 제어방법
US11133010B1 (en) 2018-01-23 2021-09-28 United Services Automobile Association (Usaa) Intelligent agent for interactive service environments
WO2019217248A1 (en) 2018-05-07 2019-11-14 Google Llc Recommending automated assistant action for inclusion in automated assistant routine
KR102607666B1 (ko) * 2018-08-08 2023-11-29 삼성전자 주식회사 전자 장치에서 사용자 의도 확인을 위한 피드백 제공 방법 및 장치
US11037557B2 (en) * 2018-08-24 2021-06-15 International Business Machines Corporation Cognitive contextual conversation side topics
WO2020046920A1 (en) 2018-08-27 2020-03-05 Google Llc Adapting client application of feature phone based on experiment parameters
EP3785102A1 (en) * 2018-12-04 2021-03-03 Google LLC Context aware skim-read friendly text view
US11430435B1 (en) * 2018-12-13 2022-08-30 Amazon Technologies, Inc. Prompts for user feedback
US11164582B2 (en) * 2019-04-29 2021-11-02 Google Llc Motorized computing device that autonomously adjusts device location and/or orientation of interfaces according to automated assistant requests
US11238868B2 (en) * 2019-05-06 2022-02-01 Google Llc Initializing non-assistant background actions, via an automated assistant, while accessing a non-assistant application
US11748713B1 (en) * 2020-03-31 2023-09-05 Amazon Technologies, Inc. Data ingestion and understanding for natural language processing systems
US11929070B1 (en) * 2021-08-30 2024-03-12 Amazon Technologies, Inc. Machine learning label generation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020614A1 (en) * 1997-08-08 2006-01-26 Kolawa Adam K Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography
US20140114705A1 (en) * 2012-10-23 2014-04-24 Olset, Inc. Methods and systems for making travel arrangements
US20140365885A1 (en) * 2013-06-09 2014-12-11 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US20160110347A1 (en) * 2014-10-15 2016-04-21 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US20160260436A1 (en) * 2015-03-08 2016-09-08 Apple Inc. Virtual assistant activation

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7029702B2 (en) * 1998-07-07 2006-04-18 Ritter Natural Sciences Llc Method for increasing lactose tolerance in mammals exhibiting lactose intolerance
JP4132962B2 (ja) * 2002-05-16 2008-08-13 パイオニア株式会社 対話型情報提供装置、対話型情報提供プログラム、及びそれを記憶した記憶媒体
US7962430B1 (en) * 2002-11-11 2011-06-14 James Ralph Heidenreich Systems and methods for facilitating user thinking about an arbitrary problem with additional search capabilities
WO2006012473A1 (en) * 2004-07-19 2006-02-02 Intercasting Corporation Dynamic knowledge-based networking system and method
GB0504568D0 (en) * 2005-03-04 2005-04-13 Vida Software S L User interfaces for electronic devices
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8494978B2 (en) * 2007-11-02 2013-07-23 Ebay Inc. Inferring user preferences from an internet based social interactive construct
US20090248510A1 (en) * 2008-03-31 2009-10-01 Yahoo! Inc. Information retrieval using dynamic guided navigation
US10375244B2 (en) * 2008-08-06 2019-08-06 Avaya Inc. Premises enabled mobile kiosk, using customers' mobile communication device
US8374859B2 (en) * 2008-08-20 2013-02-12 Universal Entertainment Corporation Automatic answering device, automatic answering system, conversation scenario editing device, conversation server, and automatic answering method
US9659320B2 (en) * 2008-09-24 2017-05-23 Jennifer Martucci System and method to enable a customer to select a wine based upon available inventory
US20100185552A1 (en) * 2009-01-16 2010-07-22 International Business Machines Corporation Providing gps-based location and time information
US10290007B2 (en) * 2009-01-22 2019-05-14 International Business Machines Corporation Method and system for turning virtual world participants into real life leads
US8463431B2 (en) * 2009-04-13 2013-06-11 Utique, Inc. Customer retention system and process in a vending unit, retail display or automated retail store
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US20110276513A1 (en) * 2010-05-10 2011-11-10 Avaya Inc. Method of automatic customer satisfaction monitoring through social media
KR101909742B1 (ko) * 2010-06-15 2018-10-18 티켓마스터 엘엘씨 컴퓨터 도움 이벤트 및 현장 셋업을 위한 방법 및 시스템 그리고 모델링 및 인터액티브 지도들
US20120095862A1 (en) * 2010-10-15 2012-04-19 Ness Computing, Inc. (a Delaware Corportaion) Computer system and method for analyzing data sets and generating personalized recommendations
US20120246004A1 (en) * 2010-12-22 2012-09-27 Book christopher j Systems and methods for customer interaction
EP2687998B1 (en) * 2011-03-14 2015-12-09 Nikon Corporation Information terminal, information providing server, and control program
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
US9129225B2 (en) * 2011-05-25 2015-09-08 Nokia Technologies Oy Method and apparatus for providing rule-based recommendations
US8762151B2 (en) * 2011-06-16 2014-06-24 General Motors Llc Speech recognition for premature enunciation
US20140324624A1 (en) * 2011-07-12 2014-10-30 Richard Ward Wine recommendation system and method
US20130055354A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Business review relevance using geo-based history
US20150186958A1 (en) * 2012-03-27 2015-07-02 Google Inc. System and method for rating points of interest based on a location history
US8892419B2 (en) * 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
US9223537B2 (en) * 2012-04-18 2015-12-29 Next It Corporation Conversation user interface
EP2839391A4 (en) * 2012-04-20 2016-01-27 Maluuba Inc CONVERSATION AGENT
US9648369B2 (en) * 2012-06-11 2017-05-09 Verizon Patent And Licensing Inc. Cross-platform schedule management interface
US20140129335A1 (en) * 2012-11-07 2014-05-08 Hipmunk, Inc. Presenting a review based on a user purpose
US11568420B2 (en) * 2012-11-21 2023-01-31 Verint Americas Inc. Analysis of customer feedback surveys
WO2015112108A1 (en) * 2012-11-28 2015-07-30 Visa International Service Association Multi disparate gesture actions and transactions apparatuses, methods and systems
US9037578B2 (en) * 2012-12-03 2015-05-19 Wellclub, Llc Content suggestion engine
US20140164953A1 (en) * 2012-12-11 2014-06-12 Nuance Communications, Inc. Systems and methods for invoking virtual agent
EP2973285A4 (en) * 2013-03-12 2016-03-30 Intertrust Tech Corp SECURE TRANSACTION SYSTEMS AND METHODS
US8799053B1 (en) * 2013-03-13 2014-08-05 Paul R. Goldberg Secure consumer data exchange method, apparatus, and system therfor
US9368114B2 (en) * 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144949A2 (en) * 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
AU2014251347B2 (en) * 2013-03-15 2017-05-18 Apple Inc. Context-sensitive handling of interruptions
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
KR102369784B1 (ko) * 2013-06-07 2022-03-03 애플 인크. 지능형 자동 어시스턴트
US9633317B2 (en) * 2013-06-20 2017-04-25 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on a natural language intent interpreter
US9563641B1 (en) * 2013-06-26 2017-02-07 Google Inc. Suggestion refinement
US20150254214A1 (en) * 2013-09-06 2015-09-10 Knowledge Initiatives LLC Electronic publication environment
US20150178392A1 (en) * 2013-12-20 2015-06-25 Chacha Search, Inc. Method and system of providing a search tool
US9823811B2 (en) * 2013-12-31 2017-11-21 Next It Corporation Virtual assistant team identification
US10275485B2 (en) * 2014-06-10 2019-04-30 Google Llc Retrieving context from previous sessions
WO2016092924A1 (ja) * 2014-12-09 2016-06-16 ソニー株式会社 情報処理装置、制御方法、およびプログラム
US9836452B2 (en) 2014-12-30 2017-12-05 Microsoft Technology Licensing, Llc Discriminating ambiguous expressions to enhance user experience
US11392580B2 (en) * 2015-02-11 2022-07-19 Google Llc Methods, systems, and media for recommending computerized services based on an animate object in the user's environment
US10446142B2 (en) * 2015-05-20 2019-10-15 Microsoft Technology Licensing, Llc Crafting feedback dialogue with a digital assistant
US10997226B2 (en) * 2015-05-21 2021-05-04 Microsoft Technology Licensing, Llc Crafting a response based on sentiment identification
US10504509B2 (en) * 2015-05-27 2019-12-10 Google Llc Providing suggested voice-based action queries
US20170109447A1 (en) * 2015-09-09 2017-04-20 Steven Wu Computerized systems and methods for offline event facilitation
US10657200B2 (en) * 2016-01-05 2020-05-19 Adobe Inc. Proactive form guidance for interacting with electronic forms
US10664893B2 (en) * 2016-03-02 2020-05-26 Social Data Sciences, Inc. System to customize recommendations by soliciting and analyzing suggestions and evaluations tailored to a particular subject
US10372508B2 (en) * 2016-03-17 2019-08-06 Wipro Limited Method and system for dynamically integrating bots
US10024675B2 (en) * 2016-05-10 2018-07-17 Microsoft Technology Licensing, Llc Enhanced user efficiency in route planning using route preferences
US20170329933A1 (en) * 2016-05-13 2017-11-16 Thomas Edwin Brust Adaptive therapy and health monitoring using personal electronic devices
US20180040002A1 (en) * 2016-08-02 2018-02-08 Qualtrics, Llc Distributing survey questions based on geolocation tracking associated with a respondent
US10446144B2 (en) * 2016-11-21 2019-10-15 Google Llc Providing prompt in an automated dialog session based on selected content of prior automated dialog session
US20200002052A1 (en) * 2018-07-02 2020-01-02 Muz Naturals Llc Biodegradable container for solid products

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020614A1 (en) * 1997-08-08 2006-01-26 Kolawa Adam K Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography
US20140114705A1 (en) * 2012-10-23 2014-04-24 Olset, Inc. Methods and systems for making travel arrangements
US20140365885A1 (en) * 2013-06-09 2014-12-11 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US20160110347A1 (en) * 2014-10-15 2016-04-21 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US20160260436A1 (en) * 2015-03-08 2016-09-08 Apple Inc. Virtual assistant activation

Also Published As

Publication number Publication date
KR102368003B1 (ko) 2022-02-25
US20190355361A1 (en) 2019-11-21
DE202017105844U1 (de) 2017-12-21
EP3539013A1 (en) 2019-09-18
US10446144B2 (en) 2019-10-15
IE20170204A1 (en) 2018-05-30
US20220262360A1 (en) 2022-08-18
GB2556192A (en) 2018-05-23
US11322140B2 (en) 2022-05-03
CN114398470A (zh) 2022-04-26
US20180144743A1 (en) 2018-05-24
KR20190080938A (ko) 2019-07-08
JP6901559B2 (ja) 2021-07-14
DE102017122326A1 (de) 2018-05-24
SG10201708066WA (en) 2018-06-28
CN108090109B (zh) 2021-12-31
JP2019537802A (ja) 2019-12-26
WO2018093468A1 (en) 2018-05-24
GB201715644D0 (en) 2017-11-08
CN108090109A (zh) 2018-05-29
KR102503741B1 (ko) 2023-02-24

Similar Documents

Publication Publication Date Title
KR102368003B1 (ko) 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공
US10685187B2 (en) Providing access to user-controlled resources by automated assistants
KR102005531B1 (ko) 다중 사용자 메시지 교환 스레드에서 자동화 어시스턴트와의 상호 작용을 위한 제안 제공
JP6903764B2 (ja) 非要請型コンテンツの人間対コンピュータダイアログ内へのプロアクティブな組込み
US10826856B2 (en) Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity
KR20200015616A (ko) 컨퍼런스 기능을 갖는 자동화된 어시스턴트
KR20200006566A (ko) 사용자 프로그래머블 자동화 어시스턴트
KR20200003871A (ko) 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
US12026530B2 (en) Automated initiation and adaptation of a dialog with a user via user interface devices of a computing device of the user

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant