KR20200003871A - 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합 - Google Patents

인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합 Download PDF

Info

Publication number
KR20200003871A
KR20200003871A KR1020197035659A KR20197035659A KR20200003871A KR 20200003871 A KR20200003871 A KR 20200003871A KR 1020197035659 A KR1020197035659 A KR 1020197035659A KR 20197035659 A KR20197035659 A KR 20197035659A KR 20200003871 A KR20200003871 A KR 20200003871A
Authority
KR
South Korea
Prior art keywords
user
entity
automated
facts
entities
Prior art date
Application number
KR1020197035659A
Other languages
English (en)
Other versions
KR102346637B1 (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 KR1020217043111A priority Critical patent/KR102406612B1/ko
Publication of KR20200003871A publication Critical patent/KR20200003871A/ko
Application granted granted Critical
Publication of KR102346637B1 publication Critical patent/KR102346637B1/ko

Links

Images

Classifications

    • G06F17/278
    • G06F17/279
    • G06F17/2881
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • 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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L15/222Barge in, i.e. overridable guidance for interrupting prompts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

사용자의 잠재적 관심의 대상인 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화 세션들에 선행적으로 통합시키는 자동화된 보조기들에 관한 방법들, 장치들, 및 컴퓨터 판독가능 매체들이 설명된다. 다양한 구현예들에서, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화 세션의 콘텐츠에 근거하여, 사용자 또는 자동화된 보조기에 의해 언급된 엔티티가 식별될 수 있다. 엔티티에 관한 혹은 엔티티와 관련된 또 하나의 다른 엔티티에 관한 사실(들)이, 데이터베이스(들) 내에 포함된 엔티티 데이터에 근거하여 식별될 수 있다. 사실(들) 각각에 대해서, 사용자의 잠재적 관심의 대응하는 정도가 결정될 수 있다. 그 다음에, 잠재적 관심의 대응하는 정도(들)에 근거하여 선택되는 사실들 중 하나 이상을 포함하는 요청되지 않은 자연 언어 콘텐츠가 발생될 수 있다. 그 다음에, 자동화된 보조기는 요청되지 않은 콘텐츠를 기존의 인간-대-컴퓨터 대화 세션 혹은 후속의 인간-대-컴퓨터 대화 세션에 통합시킬 수 있다.

Description

인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
인간들은 본 명세서에서 "자동화된 보조기(automated assistant)들"(이것은 또한, "챗봇(chatbot)들", "상호작용형 개인 보조기(interactive personal assistant)들", "지능형 개인 보조기(intelligent personal assistant)들", "대화형 에이전트(conversational agent)들" 등으로서 지칭됨)로서 지칭되는 상호작용형 소프트웨어 애플리케이션(interactive software application)들을 이용해 인간-대-컴퓨터 대화(human-to-computer dialog)들에 관여할 수 있다. 예를 들어, 인간들(이러한 인간들은 이들이 자동화된 보조기들과 상호작용할 때 "사용자(user)들"로서 지칭될 수 있음)은, 발성된 자연 언어 입력(spoken natural language input)(즉, 발언(utterance)들)을 이용해 커맨드(command)들 및/또는 요청(request)들을 제공할 수 있고(여기서, 발성된 자연 언어 입력(즉, 발언들)은 일부 경우들에서는 텍스트(text)로 변환될 수 있고, 그 다음에 프로세싱(processing)될 수 있음), 그리고/또는 텍스트화된(textual)(타이핑된(typed)) 자연 언어 입력을 제공함으로써 커맨드들 및/또는 요청들을 제공할 수 있다. 자동화된 보조기들은 전형적으로, 선행형(proactive)과는 대조적으로, 반응형(reactive)인데, 이는 이용가능한 서비스들을 제공함에 있어 비효율로 이어질 수 있다. 예를 들어, 자동화된 보조기는 사용자의 잠재적 관심(potential interest)의 대상인 특정 정보를 선행적으로 획득하여 제공하지 않는다. 결과적으로, 사용자는, 자동화된 보조기가 실질적 정보로 응답하기 전에 그리고/또는 사용자를 위해 하나 이상의 태스크(task)들을 개시하기 전에, (예컨대, 발성된 혹은 타이핑된) 초기 자연 언어 입력을 제공해야만 한다.
자동화된 보조기들을 구성하되, 사용자의 잠재적 관심의 대상인 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화 세션(human-to-computer dialog session)들에 선행적으로 통합시키도록, 자동화된 보조기들을 구성하기 위한 기법들이 본 명세서에서 설명된다. 일부 구현예들에서, 본 개시내용의 선택된 실시형태들을 갖도록 구성된 자동화된 보조기(그리고/또는 자동화된 보조기와 협력하여 행동하는 하나 이상의 다른 컴포넌트들)는, 기존의 인간-대-컴퓨터 대화 세션에서, 자동화된 보조기가 사용자에 대한 자신의 의무(obligation)들을 효과적으로 이행(fulfil)했다고 판단한 때(예를 들어, 자동화된 보조기가 추가 명령들을 기다리고 있는 것), 이러한 통합을 수행할 수 있다. 이것은 사용자가 "좋은 아침(Good morning)"이라고 발언하는 것 그리고 자동화된 보조기가 일반적인 응답인 "당신에게도 좋은 아침(Good morning to you)"을 제공하는 것처럼 간단한 것일 수 있다. 이러한 시나리오에서, 사용자는 여전히 인간-대-컴퓨터 대화 세션에 (적어도 잠깐) 관여될 가능성이 높을 수 있다(예를 들어, 인간-대-컴퓨터 대화의 계속되는 대화내용(transcript)을 보여주는 챗봇 스크린(chatbot screen)이 여전히 열려있을 수 있는 것, 인간-대-컴퓨터 대화가 구현되게 하는 오디오 출력 디바이스(audio output device)의 가청거리(earshot) 내에 사용자가 여전히 있을 수 있는 것, 등). 이에 따라, 인간-대-컴퓨터 대화 세션에 통합되는 임의의 요청되지 않은 콘텐츠는 사용자에 의해 소비될 가능성이 높다.
일부 구현예들에서, 요청되지 않은 콘텐츠는 사용자의 질의(query)에 대한 직접적인 응답이 아닌(예를 들어, 부수적인(aside), 부가적인(side note), 등) 설명(remark)(예컨대, 자연 언어 문장(natural language statement))으로서 제시될 수 있다. 일부 이러한 구현예들에서, 요청되지 않은 콘텐츠 앞에는, 사용자가 명확히 요청하지는 않았지만 반면 현재 대화의 맥락과 관련될 수 있는 무엇인가로서의 해당 콘텐츠를 식별시키는 적절한 문장(예컨대, "그런데 ...(By the way...)", "당신은 알았나요 ...(Did you know...)", "부가적으로 ...(As a side note...)", 등과 같은 것)이 올 수 있다. 그리고, 아마도 사용자의 질의에 대한 직접적인 응답은 아니지만, 요청되지 않은 콘텐츠는 다양한 방식들로 대화의 맥락과 접점(tangential)을 가질 수 있다.
인간-대-컴퓨터 대화에 통합되는 사용자의 잠재적 관심의 대상인 요청되지 않은(예컨대, 접점을 갖는(tangential)) 콘텐츠는 다양한 방식들로 선택될 수 있다. 일부 구현예들에서, 콘텐츠는 사용자에 의한 그리고/또는 자동화된 보조기에 의한 대화에서 언급된 하나 이상의 엔티티(entity)들에 근거하여 선택되는 하나 이상의 사실(fact)들의 형태를 가질 수 있다. 예를 들어, 만약 사용자 혹은 자동화된 보조기가 특정 유명인(celebrity)을 언급한다면, 자동화된 보조기는 그 유명인에 관한 하나 이상의 사실들, 또 하나의 다른 유사한 유명인에 관한 하나 이상의 사실들, 등을 통합시킬 수 있다. 엔티티에 관한 사실들 혹은 엔티티와 관련된 사실들은 다양한 형태들로 나타날 수 있는데, 예컨대, 엔티티에 관한 최근 뉴스 항목들(예를 들어, "당신은 알았나요 <엔티티>가 지난주에 57살이 되었다는 것을?(Did you know <entity> turned 57 last week?)", "그런데, <엔티티>는 다음달에 당신의 마을에 있을 겁니다(By the way, <entity> will be in your town next month)", "그런데, <엔티티>로부터의 제품들이 최근 리콜되었습니다(By the way, there has been a recent recall of products from <entity>)" 등), 일반적인 사실들(예를 들어, 생일(birthday), 정치적 소속(political affiliation), 순자산(net worth), 사소한 정보(piece of trivia), 배우자(spouse), 가족 구성원들(family members), 수상(awards), 가격(price), 가용성(availability), 등), 등과 같은 것으로 나타날 수 있다.
다양한 구현예들의 경우, 인간-대-컴퓨터 대화에서 언급된 엔티티에 관한 복수의 사실들이 결정될 수 있고, 그 다음에 예를 들어, 소위 "사용자의 잠재적 관심심(potential interest)의 정도(measure)들"에 근거하여 순위(rank)가 부여될 수 있고, 그리고 가장 높은 순위의 사실(들)이 사용자에게 제시될 수 있다. 임의의 사실의 잠재적 관심의 정도는 다양한 신호들에 근거하여 다양한 방식들로 결정될 수 있다.
일부 구현예들에서, 엔티티와 관련된 특정 사실에서의 잠재적 관심의 정도는 사용자 자신의 사용자 프로파일(user profile)과 관련된 데이터에 근거하여 결정될 수 있다. 사용자 프로파일은 하나 이상의 클라이언트 디바이스(client device)들을 동작시킬 때(예를 들어, 사용자와 관련된 클라이언트 디바이스들의 조정된(coordinated) "생태계(ecosystem)"를 형성할 때) 사용자에 의해 사용되는 사용자 계정(user account)과 관련될 수 있다. 예컨대, 검색 이력(search history)(여기에는 검색 이력으로부터 검출가능한 패턴(pattern)들이 포함됨), 메시징 이력(messaging history)(예를 들어, 여기에는 사용자와 자동화된 보조기 간의 과거 인간-대-컴퓨터 대화들이 포함됨), 개인 선호도들(personal preferences), 브라우징 이력(browsing history), 센서 신호들(sensor signals)(예를 들어, 전지구 위치결정 시스템(Global Positioning System), 혹은 "GPS", 위치), 등과 같은 다양한 데이터가 사용자의 프로파일과 관련될 수 있다.
사용자가 유명인들(celebrities)(또는 다른 공적인 사람(public person)들)을 검색할 때, 사용자가 또한 종종 그 유명인들의 정치적 소속들을 검색하는 경향이 있다고 가정한다. 검색의 이러한 패턴을 검출하는 것에 근거하여, 자동화된 보조기는, 자동화된 보조기와 사용자 간의 현재 인간-대-컴퓨터 대화에서 언급된 유명인(혹은 다른 공적인 사람)의 정치적 소속에 상대적으로 큰 잠재적 관심의 정도를 할당할 수 있다. 달리 말하면, 자동화된 보조기는, 사용자에 의해 검색된 특정 유명인들의 정치적 소속들에서의 사용자의 특정 관심을 모든 유명인들의 정치적 소속들로 일반화할 수 있다.
또 하나의 다른 예로서, (예컨대, 자동화된 보조기를 관여시킴으로써, 그리고/또는 웹 브라우저(web browser)를 동작시킴으로써) 비행(flight)들을 조사(researching)할 때, 사용자가 가장 가까이 있는 공항으로부터의 비행들을 검색하는 경향이 있고, 뿐만 아니라 예를 들어, 가격들을 비교하기 위해 좀 더 떨어져 있는 다른 공항으로부터 출발하는 비행들을 검색하는 경향이 있다고 가정한다. 이러한 검색 패턴은 자동화된 보조기에 의해 검출될 수 있다. 사용자가 이후에 자동화된 보조기에게 가장 가까이 있는 공항으로부터 특정 목적지까지의 비행에 대한 가격을 제공하도록 물어본다고 가정한다. 기본적으로, 자동화된 보조기는 가장 가까이 있는 공항으로부터의 비행들에 대한 가격들을 제공함으로써 사용자의 질의(query)에 직접적으로 응답할 수 있다. 하지만, 검출된 검색 패턴에 근거하여, 자동화된 보조기는 약간 더 떨어져 있는 다른 공항으로부터 목적지까지의 비행들에 대한 하나 이상의 가격들을 포함하는 요청되지 않은 콘텐츠(unsolicited content)를 제공할 수 있다.
일부 구현예들에서, 언급된 엔티티(혹은 관련된 엔티티)에 관한 특정 사실에서의 잠재적 관심의 정도는, 사용자가 구성원일 수 있거나 구성원이 아닐 수 있는 그러한 복수의 사용자들에 의해 발생된 집합 데이터(aggregate data) 혹은 이러한 복수의 사용자들의 행태(behavior)에 근거하여 결정될 수 있다. 예를 들어, 사용자들이 일반적으로 엔티티 자체를 검색한 이후에 엔티티에 관한 특정 사실을 검색하는 경향이 있다고 가정한다. 이러한 집합 패턴(aggregate pattern)은, 개개의 사용자들과의 인간-대-컴퓨터 대화들에서 현재 논의되고 있는 엔티티들에 관한 사실들에서의 잠재적 관심의 정도들을 결정하기 위해, 자동화된 보조기들에 의해 검출될 수 있고 사용될 수 있다.
일부 구현예들에서, 사람들 간의 "온라인 대화들(online conversations)"의 하나 이상의 말뭉치(corpuse)들(예를 들어, 메시지 교환 쓰레드(message exchange thread)들, 코멘트 쓰레드(comment thread)들, 등)은 예컨대, 엔티티들에 대한 참조(reference)들, 뿐만 아니라 그 참조된 엔티티들에 관한 사실들에 대한 참조들을 검출하기 위해 분석될 수 있다. 예를 들어, 코멘트 쓰레드에서 엔티티(예를 들어, 사람)가 논의되고 있고, 참여자(participant)가 엔티티에 대한 참조의 특정 근접도(proximity) 내의(예를 들어, 동일한 쓰레드 내에서, x일 내에, 동일한 토론(forum) 내에서, 등) 엔티티에 관한 특정 사실(예를 들어, 엔티티의 정치적 소속)을 언급한다고 가정한다. 일부 구현예들에서, (일부 경우들에서, 엔티티들 및 검증된 사실들을 포함하는 지식 그래프(knowledge graph)에 대비되어 확인(confirm)될 수 있는) 그 엔티티에 관한 해당 사실은, 후속하는 인간-대-컴퓨터 대화들에서 그 엔티티가 논의될 때 잠재적 관심인 것으로서 (예를 들어, 동일한 지식 그래프 내에서) 플래그(flag)될 수 있거나 그렇지 않으면 표시될 수 있다. 만약 복수의 상이한 온라인 대화들에서 복수의 참여자들이, 동일한 엔티티가 참조될 때 동일한 사실을 언급하는 경향이 있다면, 그 사실의 잠재적 관심의 정도는 훨씬 더 증가될 수 있다.
앞서의 경우에서와 같이, 특정 사실과 특정 엔티티 간의 관계는 상이한 엔티티들에 관한 유사한 사실들이 그에 따라서 잠재적 관심의 정도들을 할당받을 수 있도록 일반화될 수 있다. 예를 들어, 온라인 대화 참여자들이 빈번하게, 예를 들어, 부수적으로, 논의되고 있는 유명인들의 순자산(net worth)을 언급한다고 가정한다. 유명인들의 순자산이 유명인들을 논의할 때 부수적으로 혹은 부가적으로 빈번하게 언급된다는 관념(notion)은, 사용자와 자동화된 보조기 간의 인간-대-컴퓨터 대화에서 현재 논의되고 있는 유명인(혹은 따른 공적인 사람)의 순자산에서의 잠재적 관심의 정도를 결정하기 위해 사용될 수 있다.
본 명세서에서 설명되는 바와 같은 요청되지 않은 콘텐츠는, 사용자와 자동화된 보조기 간의 인간-대-컴퓨터 대화에서 언급된 특정 엔티티에 관한 사실들에만 한정되지 않는다. 일부 구현예들에서는, 언급된 엔티티와 관련된 다른 엔티티들이 또한 고려될 수 있다. 이러한 다른 엔티티들은, 예컨대, 언급된 엔티티와 하나 이상의 속성(attribute)들을 공유하는 엔티티들을 포함할 수 있고(예를 들어, 음악가, 예술가, 배우, 운동선수, 식당, 관심 지점, 등), 또는 하나 이상의 특성들을 공유하는 엔티티들을 포함할 수 있다(예를 들어, 가까이 위치하고 있는 것, 시간적으로 근접한 이벤트들, 등). 예를 들어, 사용자가 특정 배우에 관한 질문을 자동화된 보조기에게 물어본다고 가정한다. 사용자의 질문에 답변한 이후에, 자동화된 보조기는 또 하나의 다른 배우(또는 배우와 함께 작업했던 감독, 등)에 관한 요청되지 않은 사실을 대화에 통합시킬 수 있다. 또 하나의 다른 예로서, 사용자가 식당을 예약하도록 자동화된 보조기(120)를 관여시킨다고 가정한다. 자동화된 보조기는 대안으로서 근처에 있는 또 하나의 다른 식당을 선행적으로 추천할 수 있는데, 왜냐하면 예컨대 그 식당이 덜 비싸기 때문에, 더 좋은 논평(review)들을 가지기 때문에, 혼잡할 가능성이 더 적기 때문에, 등등이기 때문이다. 또 하나의 다른 예로서, (예를 들어, 사용자의 프로파일과 관련된 재생목록들로부터 결정될 수 있는 바와 같이, 또는 집합 사용자 재생 이력들/재생목록들로부터 결정될 수 있는 바와 같이) 사용자가 두 명의 음악가들을 좋아한다고 가정한다. 또한, 사용자가 두 명의 음악가들 중 한 명이 언제 근처에서 곧 순회공연을 하고 있을 것인지를 물어본다고 가정한다. 사용자의 질문에 답변한 이후에, 자동화된 보조기는 나머지 다른 음악가가 근처에서 곧 순회공연을 하고 있을 것이라고 결정할 수 있고, 이러한 요청되지 않은 사실을 인간-대-컴퓨터 대화에 통합시킬 수 있다.
사용자의 잠재적 관심의 대상인 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화 세션에 통합시키는 것은 수 개의 기술적 이점들을 가질 수 있다. 사용자로부터의 직접적인 명령을 요구함이 없이, 요청되지 않은 콘텐츠를 제시함으로써, 이러한 콘텐츠에 액세스(access)하려는 추가적인 사용자 요청들에서의 감소가 달성될 수 있고, 그럼으로써, 주어진 대화 세션의 효율이 증가되며, 복수의 사용자 요청들을 해석하기 위해 요구되는 리소스(resource)들에 관한 부하(load)가 감소된다. 예를 들어, 사용자는 정보를 확정적으로 요청하는 것으로부터 해방될 수 있고, 이것은 만약 그렇지 않았다면 사용자의 자연 언어 입력을 프로세싱하기 위해 사용되었을 컴퓨팅 리소스(computing resource)들을 보존할 수 있다. 더욱이, 자동화된 보조기는 이러한 방식으로 만약 그렇지 않았다면 발견하거나 액세스하기 어려웠었을 기능을 제공할 수 있고, 이것은 사용자와의 상호작용의 효과를 향상시킨다. 자동화된 보조기는 사용자에게 더 "실물과 같은 것" 혹은 "인간"처럼 보일 수 있으며, 이것은 자동화된 보조기와의 상호작용이 증가되도록 촉진시킬 수 있다. 또한, 통합된 콘텐츠는 사용자에게 관심이 있을 가능성이 높은데, 왜냐하면 통합된 콘텐츠는 사용자에 의해 언급되거나 혹은 인간-대-컴퓨터 대화 동안 자동화된 보조기에 의해 언급된 하나 이상의 엔티티들(예를 들어, 지식 그래프와 같은 하나 이상의 데이터베이스들 내에 문서화된 사람들, 장소들, 사물들)에 근거하여 선택되기 때문이다. 추가적으로, 사용자는 만약 그렇지 않았다면 요청을 행할 사용자에게 일어나지 않았을 잠재적으로 도움이 되거나 혹은 관심이 있는 정보를 수신할 수 있다.
일부 구현예들에서, 하나 이상의 프로세서(processor)들에 의해 수행되는 방법이 제공되며, 이러한 방법은, 사용자와 자동화된 보조기(automated assistant) 간의 기존의 인간-대-컴퓨터 대화 세션(human-to-computer dialog session)의 콘텐츠에 근거하여, 사용자 또는 자동화된 보조기에 의해 언급된 엔티티(entity)를 식별하는 것; 하나 이상의 데이터베이스(database)들 내에 포함된 엔티티 데이터(entity data)에 근거하여, 엔티티에 관한 또는 엔티티와 관련된 또 하나의 다른 엔티티에 관한 하나 이상의 사실(fact)들을 식별하는 것; 하나 이상의 사실들 각각에 대해서, 사용자의 잠재적 관심(potential interest)의 대응하는 정도(measure)를 결정하는 것; 요청되지 않은 자연 언어 콘텐츠(unsolicited natural language content)를 발생시키는 것(여기서, 요청되지 않은 자연 언어 콘텐츠는 잠재적 관심의 대응하는 하나 이상의 정도들에 근거하여 선택되는 사실들 중 하나 이상을 포함함); 그리고 자동화된 보조기에 의해, 요청되지 않은 자연 언어 콘텐츠를 기존의 인간-대-컴퓨터 대화 세션 또는 후속하는 인간-대-컴퓨터 대화 세션에 통합시키는 것을 포함한다.
본 명세서에서 개시되는 기술의 이러한 구현예들 및 다른 구현예들은 선택에 따라서는 다음의 특징들 중 하나 이상을 포함할 수 있다.
다양한 구현예들에서, 잠재적 관심의 대응하는 정도를 결정하는 것은, 사용자와 관련된 사용자 프로파일(user profile)과 관련된 데이터에 근거할 수 있다. 다양한 구현예들에서, 사용자 프로파일과 관련된 데이터는 사용자와 관련된 검색 이력(search history)을 포함할 수 있다. 다양한 구현예들에서, 잠재적 관심의 대응하는 정도를 결정하는 것은, 하나 이상의 사람들 간의 하나 이상의 온라인 대화(online conversation)들의 말뭉치(corpus)의 분석에 근거할 수 있다. 다양한 구현예들에서, 이러한 분석은, 하나 이상의 엔티티들에 대한 하나 이상의 참조(reference)들의 검출을 포함할 수 있고, 뿐만 아니라 하나 이상의 엔티티들에 대한 하나 이상의 참조들의 특정 근접도(proximity) 내의 하나 이상의 엔티티들에 관한 사실들에 대한 하나 이상의 참조들의 검출을 포함할 수 있다. 다양한 구현예들에서, 하나 이상의 엔티티들은 사용자 또는 자동화된 보조기에 의해 언급된 엔티티를 포함할 수 있다. 다양한 구현예들에서, 하나 이상의 엔티티들은 사용자 또는 자동화된 보조기에 의해 언급된 엔티티와 엔티티 클래스(entity class)를 공유할 수 있다. 다양한 구현예들에서, 하나 이상의 엔티티들은 사용자 또는 자동화된 보조기에 의해 언급된 엔티티와 하나 이상의 속성(attribute)들을 공유할 수 있다.
다양한 구현예들에서, 잠재적 관심의 대응하는 정도를 결정하는 것은 또한, 하나 이상의 사실들 중 소정의 사실이, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화에서 또는 사용자와 자동화된 보조기 간의 이전의 인간-대-컴퓨터 대화에서, 이전에 참조되었음을 검출하는 것을 포함할 수 있다. 다양한 구현예들에서, 소정의 사실에 대해 결정된 잠재적 관심의 정도는 이러한 검출을 반영할 수 있다.
다양한 구현예들에서, 방법은 또한, 하나 이상의 사실들 중 소정의 사실을 고려(consideration)로부터 제거하는 것을 포함할 수 있고, 이러한 제거는 소정의 사실이, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화에서 또는 사용자와 자동화된 보조기 간의 이전의 인간-대-컴퓨터 대화에서, 이전에 참조되었음을 검출하는 것에 근거하여 이루어질 수 있다.
다양한 구현예들에서, 엔티티는 위치(location)일 수 있고, 하나 이상의 사실들 중 소정의 사실은 그 위치에서 혹은 그 위치 가까이에서 일어나는 이벤트(event)일 수 있다. 다양한 구현예들에서, 엔티티는 사람(person)일 수 있고, 하나 이상의 사실들 중 소정의 사실은 사람이 관여된 다가오는 이벤트일 수 있다.
일부 구현예들에서, 하나 이상의 프로세서들에 의해 수행되는 방법이 제공되며, 이러한 방법은, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화 세션의 콘텐츠에 근거하여, 사용자 또는 자동화된 보조기에 의해 언급된 엔티티를 식별하는 것; 자동화된 보조기가 사용자에 대한 자동화된 보조기의 하나 이상의 미해결 의무(outstanding obligation)들을 이행(fulfil)했음을 결정하는 것; 하나 이상의 데이터베이스들 내에 포함된 엔티티 데이터에 근거하여, 엔티티에 관한 하나 이상의 사실들을 식별하는 것(여기서, 엔티티는 데이터베이스들 중 하나 이상의 데이터베이스 내의 엔티티 클래스와 관련됨); 하나 이상의 사실들 각각에 대해서, 사용자의 잠재적 관심의 대응하는 정도를 결정하는 것(여기서, 각각의 사실에 대한 잠재적 관심의 대응하는 정도는, 엔티티와 사실 간의 관계, 그리고 엔티티와 동일한 엔티티 클래스를 공유하는 다른 엔티티들과 다른 엔티티들에 관한 각각의 사실들 간의 동일한 관계에서 다른 사용자들의 관심들에 근거하여 결정됨); 요청되지 않은 자연 언어 콘텐츠(unsolicited natural language content)를 발생시키는 것(여기서, 요청되지 않은 자연 언어 콘텐츠는 잠재적 관심의 대응하는 하나 이상의 정도들에 근거하여 선택되는 사실들 중 하나 이상을 포함함); 그리고 자동화된 보조기가 사용자에 대한 자동화된 보조기의 하나 이상의 미해결 의무들을 이행했음을 결정한 이후에, 자동화된 보조기에 의해, 요청되지 않은 자연 언어 콘텐츠를 기존의 인간-대-컴퓨터 대화 세션에 통합시키는 것을 포함하고, 여기서 통합시키는 것은 요청되지 않은 자연 언어 콘텐츠로 하여금 기존의 인간-대-컴퓨터 대화 세션의 일부로서 사용자에게 자동적으로 출력되도록 한다.
일부 구현예들에서, 하나 이상의 프로세서들에 의해 수행되는 방법이 제공되며, 이러한 방법은, 사용자에 의해 동작되는 제 1 클라이언트 디바이스 상에서 동작하는 미디어 혹은 게이밍 애플리케이션(media or gaming application)의 상태에 근거하여 엔티티를 식별하는 것(여기서, 엔티티는 사용자로부터의 명시적 입력 없이 식별됨); 사용자와 관련된 제 2 클라이언트 상에서 동작하는 자동화된 보조기가 사용자에 대한 미해결 의무들을 갖고 있지 않음을 결정하는 것; 하나 이상의 데이터베이스들 내에 포함된 엔티티 데이터에 근거하여, 엔티티에 관한 하나 이상의 사실들을 식별하는 것; 하나 이상의 사실들 각각에 대해서, 사용자의 잠재적 관심의 대응하는 정도를 결정하는 것; 요청되지 않은 자연 언어 콘텐츠를 발생시키는 것(여기서, 요청되지 않은 자연 언어 콘텐츠는 잠재적 관심의 대응하는 하나 이상의 정도들에 근거하여 선택되는 사실들 중 하나 이상을 포함함); 그리고 자동화된 보조기가 사용자에 대한 미해결 의무들을 갖고 있지 않음을 결정한 이후에, 자동화된 보조기에 의해, 요청되지 않은 자연 언어 콘텐츠를 새로운 인간-대-컴퓨터 대화 세션 혹은 기존의 인간-대-컴퓨터 대화 세션에 통합시키는 것을 포함하고, 여기서 통합시키는 것은 요청되지 않은 자연 언어 콘텐츠로 하여금 새로운 인간-대-컴퓨터 대화 세션 혹은 기존의 인간-대-컴퓨터 대화 세션의 일부로서 사용자에게 자동적으로 출력되도록 한다.
본 명세서에서 개시되는 기술의 이러한 구현예들 및 다른 구현예들은 선택에 따라서는 다음의 특징들 중 하나 이상을 포함할 수 있다.
다양한 구현예들에서, 잠재적 관심의 대응하는 정도를 결정하는 것은, 하나 이상의 사람들 간의 하나 이상의 온라인 대화들의 말뭉치의 분석에 근거할 수 있다. 다양한 구현예들에서, 이러한 분석은, 하나 이상의 엔티티들에 대한 하나 이상의 참조들의 검출을 포함할 수 있고, 뿐만 아니라 하나 이상의 엔티티들에 대한 하나 이상의 참조들의 특정 근접도 내의 하나 이상의 엔티티들에 관한 사실들에 대한 하나 이상의 참조들의 검출을 포함할 수 있다. 다양한 구현예들에서, 하나 이상의 엔티티들은 미디어 혹은 게이밍 애플리케이션의 상태에 근거하여 결정되는 엔티티를 포함할 수 있다. 다양한 구현예들에서, 하나 이상의 엔티티들은 미디어 혹은 게이밍 애플리케이션의 상태에 근거하여 결정되는 엔티티와 엔티티 클래스를 공유할 수 있다. 다양한 구현예들에서, 하나 이상의 엔티티들은 미디어 혹은 게이밍 애플리케이션의 상태에 근거하여 결정되는 엔티티와 하나 이상의 속성들을 공유할 수 있다.
다양한 구현예들에서, 엔티티는 비디오 게임(video game)에 관한 것일 수 있고, 그리고 하나 이상의 사실들 중 소정의 사실은 비디오 게임에 관한 사실이다.
추가적으로, 일부 구현예들은 하나 이상의 컴퓨팅 디바이스들의 하나 이상의 프로세서들을 포함하고, 여기서 하나 이상의 프로세서들은 관련된 메모리 내에 저장된 명령들을 실행하도록 동작가능하고, 명령들은 앞서언급된 방법들 중 임의의 방법의 수행을 유발하도록 구성된다. 일부 구현예들은 또한, 앞서언급된 방법들 중 임의의 방법을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 명령들을 저장하는 하나 이상의 비-일시적 컴퓨터-판독가능 매체들을 포함한다.
앞서의 개념들 및 본 명세서에서 더 상세히 설명되는 추가적인 개념들의 모든 조합들은 본 명세서에서 개시되는 주된 내용의 일부인 것으로서 고려됨을 이해해야 한다. 예를 들어, 본 개시내용의 끝에서 출현하는 청구되는 주된 내용의 모든 조합들은 본 명세서에서 개시되는 주된 내용의 일부인 것으로서 고려된다.
도 1은 본 명세서에서 개시되는 구현예들이 구현될 수 있는 예시적인 환경의 블록도이다.
도 2, 도 3, 도 5, 도 5, 도 6, 도 7 및 도 8은 다양한 구현예들에 따른, 다양한 사용자들과 자동화된 보조기들 간의 예시적인 대화들을 도시한다.
도 9는 본 명세서에서 개시되는 구현예들에 따른 예시적인 방법을 예시하는 흐름도를 도시한다.
도 10은 컴퓨팅 디바이스의 예시적인 아키텍처를 예시한다.
이제 도 1로 돌아가면, 본 명세서에서 개시되는 기법들이 구현될 수 있는 예시적인 환경이 예시된다. 이러한 예시적 환경은 복수의 클라이언트 컴퓨팅 디바이스들(1061-N) 및 자동화된 보조기(120)를 포함한다. 비록 자동화된 보조기(120)가 도 1에서 클라이언트 컴퓨팅 디바이스들(1061-N)과는 분리된 것으로서 예시되고 있지만, 일부 구현예들에서, 자동화된 보조기의 모든 실시형태들은 클라이언트 컴퓨팅 디바이스들(1061-N) 중 하나 이상에 의해 구현될 수 있다. 예를 들어, 클라이언트 디바이스(1061)가 자동화된 보조기(120)의 하나의 인스턴스(instance)를 구현할 수 있거나 혹은 자동화된 보조기(120)의 더 많은 실시형태들을 구현할 수 있고, 그리고 클라이언트 디바이스(106N)가 또한 자동화된 보조기(120)의 이러한 하나 이상의 실시형태들의 별개의 인스턴스를 구현할 수 있다. 자동화된 보조기(120)의 하나 이상의 실시형태들이 클라이언트 컴퓨팅 디바이스들(1061-N)로부터 멀리 떨어진 하나 이상의 컴퓨팅 디바이스들에 의해 구현되는 구현예들에서, 클라이언트 컴퓨팅 디바이스들(1061-N)과 자동화된 보조기(120)의 이러한 실시형태들은 로컬 영역 네트워크(Local Area Network, LAN) 및/또는 와이드 영역 네트워크(Wide Area Network, WAN)(예컨대, 인터넷)와 같은 하나 이상의 네트워크들을 통해 통신할 수 있다.
클라이언트 디바이스들(1061-N)은, 예를 들어, 데스크탑 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일 전화기 컴퓨팅 디바이스, 사용자의 차량의 컴퓨팅 디바이스(예를 들어, 차량-내 통신 시스템, 차량-내 엔터테인먼트 시스템, 차량-내 네비게이션 시스템), 독립형 상호작용적 스피커, 그리고/또는 컴퓨팅 디바이스를 포함하는 사용자의 착용가능 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경, 가상 현실 혹은 증강 현실 컴퓨팅 디바이스) 중 하나 이상을 포함할 수 있다. 추가적인 그리고/또는 대안적인 클라이언트 컴퓨팅 디바이스들이 제공될 수 있다. 일부 구현예들에서, 소정의 사용자는 컴퓨팅 디바이스들의 조정된 "생태계"를 집합적으로 형성하는 복수의 클라이언트 컴퓨팅 디바이스들을 이용하여, 자동화된 보조기(120)와 통신할 수 있다. 일부 이러한 구현예들에서, 자동화된 보조기(120)는 그 소정의 사용자에게 "서비스를 제공하는" 것으로 고려될 수 있는데, 예를 들어, 이러한 소정의 사용자는 리소스들(예를 들어, 콘텐츠, 문서들, 등)에 대한 증진된 액세스를 자동화된 보조기(120)에게 부여하며, 이러한 리소스들에 대한 액세스는 "서비스를 제공받는" 사용자에 의해 제어된다. 하지만, 간결한 설명을 위해, 본 명세서에서 설명되는 일부 예들은 단일의 클라이언트 컴퓨팅 디바이스(106)를 동작시키는 사용자에게 초점을 맞출 것이다.
클라이언트 컴퓨팅 디바이스들(1061-N) 각각은, 복수의 메시지 교환 클라이언트(message exchange client)들(1071-N)의 대응하는 것과 같은, 다양한 서로 다른 애플리케이션들을 동작시킬 수 있다. 메시지 교환 클라이언트들(1071-N)은 다양한 형태들로 나타날 수 있는데, 이러한 형태들은 클라이언트 컴퓨팅 디바이스들(1061-N)에 걸쳐 다양할 수 있고, 그리고/또는 복수의 형태들은 클라이언트 컴퓨팅 디바이스들(1061-N) 중 단일의 클라이언트 컴퓨팅 디바이스 상에서 동작될 수 있다. 일부 구현예들에서, 메시지 교환 클라이언트들(1071-N) 중 하나 이상은, 단문 메시징 서비스(Short Messaging Service)("SMS") 및/또는 멀티미디어 메시징 서비스(Multimedia Messaging Service)("MMS") 클라이언트, 온라인 채팅 클라이언트(online chat client)(예를 들어, 인스턴트 메신저(instant messenger), 인터넷 중계 채팅(Internet Relay Chat) 혹은 "IRC", 등), 소셜 네트워크와 관련된 메시징 애플리케이션, 자동화된 보조기(120)와의 대화에 전용으로 사용되는 개인 보조 메시징 서비스, 등의 형태로 나타날 수 있다. 일부 구현예들에서, 메시지 교환 클라이언트들(1071-N) 중 하나 이상은 클라이언트 컴퓨팅 디바이스(106)의 웹 브라우저(미도시) 또는 다른 애플리케이션에 의해 렌더링(rendering)되는 웹 페이지 또는 다른 리소스들을 통해 구현될 수 있다.
본 명세서에서 더 상세히 설명되는 바와 같이, 자동화된 보조기(120)는 하나 이상의 클라이언트 디바이스들(1061-N)의 사용자 인터페이스 입력 및 출력 디바이스들을 통해 하나 이상의 사용자들과의 인간-대-컴퓨터 대화 세션들에 관여한다. 일부 구현예들에서, 자동화된 보조기(120)는, 클라이언트 디바이스들(1061-N) 중 하나의 클라이언트 디바이스의 하나 이상의 사용자 인터페이스 입력 디바이스들을 통해 사용자에 의해 제공된 사용자 인터페이스 입력에 응답하여, 사용자와의 인간-대-컴퓨터 대화 세션들에 관여할 수 있다. 이러한 구현예들 중 일부 구현예들에서, 사용자 인터페이스 입력은 자동화된 보조기(120)로 명시적으로 지향(direct)된다. 예를 들어, 메시지 교환 클라이언트들(1071-N) 중 하나는 자동화된 보조기(120)와의 대화들에 전용으로 사용되는 개인 보조 메시징 서비스일 수 있고, 그리고 이러한 개인 보조 메시징 서비스를 통해 제공된 사용자 인터페이스 입력은 자동화된 보조기(120)로 자동적으로 제공될 수 있다. 또한, 예를 들어, 메시지 교환 클라이언트들(1071-N) 중 하나 이상의 메시지 교환 클라이언트에서의 사용자 인터페이스 입력은, 자동화된 보조기(120)가 호출(invoke)돼야 함을 표시하는 특정 사용자 인터페이스 입력에 근거하여, 자동화된 보조기(120)로 명시적으로 지향될 수 있다. 예컨대, 특정 사용자 인터페이스 입력은, 하나 이상의 타이핑된 문자들(예를 들어, @자동화된보조기), 하드웨어 버튼 및/또는 가상 버튼(예를 들어, 탭, 긴 탭)과의 사용자 상호작용, 구두 커맨드(oral command)(예를 들어, "헤이 자동화된 보조기(Hey Automated Assistant)"), 그리고/또는 다른 특정 사용자 인터페이스 입력일 수 있다. 일부 구현예들에서, 자동화된 보조기(120)는, 사용자 인터페이스 입력이 자동화된 보조기(120)로 명시적으로 지향되지 않는 경우에도, 사용자 인터페이스 입력에 응답하여 대화 세션에 관여할 수 있다. 예를 들어, 자동화된 보조기(120)는, 사용자 인터페이스 입력의 콘텐츠들을 조사(examine)할 수 있고, 그리고 사용자 인터페이스 입력에 존재하는 특정 용어(term)들에 응답하여, 그리고/또는 다른 단서(cue)들에 근거하여, 대화 세션에 관여할 수 있다. 다수의 구현예들에서, 자동화된 보조기(120)는 상호작용형 음성 응답(Interactive Voice Response)("IVR")을 관여시킬 수 있어, 사용자는 커맨드들, 검색들, 등을 발언(utter)할 수 있게 되고, 그리고 자동화된 보조기는 자연 언어 프로세싱 및/또는 하나 이상의 문법들을 이용하여 그 발언들을 텍스트로 변환할 수 있게 되고 이에 따라 텍스트에 응답할 수 있게 된다.
클라이언트 컴퓨팅 디바이스들(1061-N) 각각과 자동화된 보조기(120)는, 데이터 및 소프트웨어 애플리케이션들의 저장을 위한 하나 이상의 메모리들, 데이터에 액세스하고 애플리케이션들을 실행하기 위한 하나 이상의 프로세서들, 그리고 네트워크를 통해 통신을 용이하게 하는 다른 컴포넌트들을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스들(1061-N) 중 하나 이상에 의해 수행되는 동작들 그리고/또는 자동화된 보조기(120)에 의해 수행되는 동작들은 복수의 컴퓨터 시스템들에 걸쳐 분산될 수 있다. 자동화된 보조기(120)는 예를 들어, 하나 이상의 위치들에서의 하나 이상의 컴퓨터들 상에서 실행되는 컴퓨터 프로그램들로서 구현될 수 있는데, 이러한 하나 이상의 컴퓨터들은 네트워크를 통해 서로 결합된다.
자동화된 보조기(120)는 자연 언어 프로세서(122) 및 응답형 콘텐츠 엔진(responsive content engine)(130)을 포함할 수 있다. 일부 구현예들에서, 자동화된 보조기(120)의 엔진들 및/또는 모듈들 중 하나 이상은, 생략될 수 있고, 결합될 수 있고, 그리고/또는 자동화된 보조기(120)로부터 분리된 컴포넌트 내에서 구현될 수 있다. 자동화된 보조기(120)는, 응답형 콘텐츠 엔진(130)에 의해 발생 및/또는 유지되는 응답형 콘텐츠를 제공하기 위해, 관련된 클라이언트 디바이스들(1061-N)을 통해 하나 이상의 사용자(들)와의 인간-대-컴퓨터 대화 세션들에 관여할 수 있다.
일부 구현예들에서, 응답형 콘텐츠 엔진(130)은, 자동화된 보조기(120)와의 인간-대-컴퓨터 대화 세션 동안 클라이언트 디바이스들(1061-N) 중 하나의 클라이언트 디바이스의 사용자에 의해 발생된 다양한 입력들에 응답하여, 응답형 콘텐츠를 발생시킨다. 응답형 콘텐츠 엔진(130)은 대화 세션의 일부로서 사용자에게 제시하기 위한 응답형 콘텐츠를 (예를 들어, 사용자의 클라이언트 디바이스로부터 분리된 경우 하나 이상의 네트워크들을 통해) 제공한다. 예를 들어, 응답형 콘텐츠 엔진(130)은 클라이언트 디바이스들(1061-N) 중 하나의 클라이언트 디바이스를 통해 제공되는 자유-형태 자연 언어 입력(free-form natural language input)에 응답하여 응답형 콘텐츠를 발생시킬 수 있다. 본 명세서에서 사용되는 바와 같은, 자유-형태 입력은, 사용자에 의해 만들어지는 입력이며, 사용자에 의한 선택을 위해 제시되는 옵션(option)들의 그룹으로 제한되지 않는 그러한 입력이다.
본 명세서에서 사용되는 바와 같은, "대화 세션(dialog session)"은 사용자와 자동화된 보조기(120)(그리고 일부 경우들에서는, 쓰레드 내의 다른 인간 참여자들) 간의 하나 이상의 메시지들의 논리적으로 독립된 교환(logically-self-contained exchange)을 포함할 수 있다. 자동화된 보조기(120)는 다양한 신호들에 근거하여 사용자와의 복수의 대화 세션들을 구별할 수 있는데, 이러한 다양한 신호들은 예컨대, 세션들 사이의 시간의 경과, 세션들 사이의 사용자 맥락(예를 들어, 위치, 스케줄링된 만남 이전/동안/이후, 등)의 변화, 사용자와 자동화된 보조기 간의 대화와는 다른, 사용자와 클라이언트 디바이스 간의 하나 이상의 개입하는 상호작용들(예를 들어, 사용자가 잠시 동안 애플리케이션들을 전환(switch)시키고, 사용자가 음성으로-활성화되는 독립형 제품(standalone voice-activated product)으로부터 떨어져 걸어간 후 나중에 다시 해당 제품으로 되돌아 오는 것)의 검출, 세션들 사이의 클라이언트 디바이스의 잠금(locking)/휴면(sleeping), 자동화된 보조기(120)의 하나 이상의 인스턴스들과의 인터페이스를 위해 사용되는 클라이언트 디바이스들의 변경, 등과 같은 것이다.
일부 구현예들에서, 자동화된 보조기(120)가, 사용자 피드백을 요청하는 프롬프트(prompt)을 제공하는 경우, 자동화된 보조기(120)는 프롬프트에 응답하여 수신될 사용자 인터페이스 입력을 프로세싱하도록 구성된 (프롬프트가 제공되고 있는) 클라이언트 디바이스의 하나 이상의 컴포넌트들을 우선적으로(preemptively) 활성화시킬 수 있다. 예를 들어, 사용자 인터페이스 입력이 클라이언트 디바이스(1061)의 마이크로폰(microphone)을 통해 제공되게 되어 있는 경우, 자동화된 보조기(120)는, 다음과 같은 것을 일어나도록 하는 하나 이상의 커맨드들을 제공할 수 있다: 마이크로폰이 우선적으로 "오픈(open)"되도록 하는 것(그럼으로써 마이크로폰을 오픈시키기 위해 인터페이스 요소를 히트(hit)하거나 "핫 워드(hot word)"를 말할 필요가 없게 됨); 클라이언트 디바이스(1061)의 로컬 발성 대 텍스트 프로세서(local speech to text processor)가 우선적으로 활성화되도록 하는 것; 클라이언트 디바이스(1061)와 원격 발성 대 텍스트 프로세서(remote speech to text processor) 간의 통신 세션이 우선적으로 확립되도록 하는 것; 그리고/또는 그래픽 사용자 인터페이스(예를 들어, 피드백을 제공하기 위해 선택될 수 있는 하나 이상의 선택가능한 요소들을 포함하는 인터페이스)가 클라이언트 디바이스(1061) 상에서 렌더링되도록 하는 것. 이것은 사용자 인터페이스 입력이, 컴포넌트들이 우선적으로 활성화되지 않았던 경우보다 더 빠르게 제공 및/또는 프로세싱될 수 있게 할 수 있다.
자동화된 보조기(120)의 자연 언어 프로세서(122)는, 클라이언트 디바이스들(1061-N)을 통해 발생된 자연 언어 입력을 프로세싱하고, 그리고 응답형 콘텐츠 엔진(130)과 같은 자동화된 보조기(120)의 하나 이상의 다른 컴포넌트들에 의한 사용을 위한 주석달린 출력(annotated output)을 발생시킬 수 있다. 예를 들어, 자연 언어 프로세서(122)는 클라이언트 디바이스(1061)의 하나 이상의 사용자 인터페이스 입력 디바이스들을 통해 사용자에 의해 발생되는 자연 언어 자유-형태 입력을 프로세싱할 수 있다. 발생된 주석달린 출력은, 자연 언어 입력의 하나 이상의 주석(annotation)들을 포함하고, 그리고 선택에 따라서는 자연 언어 입력의 용어들 중 하나 이상(예를 들어, 모두)을 포함한다.
일부 구현예들에서, 자연 언어 프로세서(122)는 자연 언어 입력 내에서 다양한 타입의 문법적 정보를 식별하여 주석으로 달도록 구성된다. 예를 들어, 자연 언어 프로세서(122)는 용어들에 이들의 문법적 역할들을 주석으로 달도록 구성된 품사 태거(part of speech tagger)를 포함할 수 있다. 예를 들어, 품사 태거는 각각의 용어에 "명사(noun)", "동사(verb)", "형용사(adjective)", "대명사(pronoun)" 등과 같은 해당 용어의 품사를 덧붙일 수 있다. 또한, 예를 들어, 일부 구현예들에서, 자연 언어 프로세서(122)는, 추가적으로 그리고/또는 대안적으로, 자연 언어 입력 내의 용어들 간의 구문론적 관계(syntactic relationship)들을 결정하도록 구성된 종속성 파서(dependency parser)(미도시)를 포함할 수 있다. 예를 들어, 종속성 파서는 어떤 용어들이 다른 용어들을 수식하는지를 결정할 수 있고, 문장들의 주어들 및 동사들을 결정할 수 있고, 그리고 기타 등등(예를 들어, 파스 트리(parse tree))을 결정할 수 있으며, 이러한 종속성들의 주석들을 만들 수 있다.
일부 구현예들에서, 자연 언어 프로세서(122)는, 추가적으로 그리고/또는 대안적으로, 하나 이상의 분절(segment)들 내에서 엔티티 참조(entity reference)들을 주석으로 달도록 구성된 엔티티 태거(entity tagger)(미도시)를 포함할 수 있는데, 여기서 엔티티 참조들은 예컨대, 사람들(이들은 예를 들어, 문학적 인물들, 유명인들, 공적인 인물들, 등을 포함함), 조직(organization)들, 위치들(실제 위치 및 가상의 위치), 등에 대한 참조들과 같은 것이다. 일부 구현예들에서, 엔티티들에 관한 데이터는 하나 이상의 데이터베이스들 내에 저장될 수 있는데, 예를 들어, 지식 그래프(124) 내에 저장될 수 있다. 일부 구현예들에서, 지식 그래프(124)는, 알려진 엔티티들(그리고 일부 경우들에서는, 엔티티 속성들)을 나타내는 노드(node)들을 포함할 수 있고, 뿐만 아니라 노드들을 연결하고 엔티티들 간의 관계들을 나타내는 에지(edge)들을 포함할 수 있다. 예를 들어, "바나나(banana)" 노드는 "과일(fruit)" 노드에 (예를 들어, 차일드(child)로서) 연결될 수 있고, "과일" 노드는 또한 "생산(produce)" 및/또는 "음식(food)" 노드들에 (예를 들어, 차일드로서) 연결될 수 있다. 또 하나의 다른 예로서, "가상 카페(Hypothetical Cafe)"로 지칭되는 식당이 노드에 의해 나타내어질 수 있는데, 이러한 노드는 또한, 식당의 주소, 서빙되는 음식의 타입, 영업시간, 연락처 정보, 등과 같은 속성들을 포함한다. "가상 카페" 노드는, 일부 구현예들에서, (예를 들어, 차일드-대-페어렌츠 관계(child-to-parent relationship)를 나타내는) 에지에 의해, "식당(restaurant)" 노드, "영업(business)" 노드, 식당이 위치하고 있는 도시(city) 및/또는 주(state)를 나타내는 노드, 등과 같은 하나 이상의 다른 노드들에 연결될 수 있다.
자연 언어 프로세서(122)의 엔티티 태거는 (예를 들어, 사람들과 같은 엔티티 클래스에 대한 모든 참조들의 식별을 가능하게 하기 위해) 높은 세분화 레벨(level of granularity)에서 엔티티에 대한 참조들을 주석으로 달 수 있고, 그리고/또는 (예를 들어, 특정 사람과 같은 특정 엔티티에 대한 모든 참조들의 식별을 가능하게 하기 위해) 더 낮은 세분화 레벨에서 엔티티에 대한 참조들을 주석으로 달 수 있다. 엔티티 태거는 특정 엔티티를 결정(resolve)하기 위해 자연 언어 입력의 콘텐츠에 의존할 수 있고, 그리고/또는 선택에 따라서는, 특정 엔티티를 결정하기 위해 지식 그래프 혹은 다른 엔티티 데이터베이스와 통신할 수 있다.
일부 구현예들에서, 자연 언어 프로세서(122)는, 추가적으로 그리고/또는 대안적으로, 하나 이상의 맥락 단서(contextual cue)들에 근거하여 동일한 엔티티에 대한 참조들을 그룹(group)화 혹은 "클러스터(cluster)화"하도록 구성된 동일참조 결정기(coreference resolver)(미도시)를 포함할 수 있다. 예를 들어, 동일참조 결정기는, 자연 언어 입력 "나는 가상 카페를 좋아했는데 지난번에 우리는 거기서 식사를 했다(I liked Hypothetical Cafe last time we ate there)"에서 용어 "거기서(there)"를 "가상 카페(Hypothetical Cafe)"로 결정하기 위해 이용될 수 있다.
일부 구현예들에서, 자연 언어 프로세서(122)의 하나 이상의 컴포넌트들은 자연 언어 프로세서(122)의 하나 이상의 다른 컴포넌트들로부터의 주석들에 의존할 수 있다. 예를 들어, 일부 구현예들에서, 명칭이 부여된 엔티티 태거는 특정 엔티티에 모든 언급들을 주석으로 다는 경우 동일참조 결정기 및/또는 종속성 파서로부터의 주석들에 의존할 수 있다. 또한, 예를 들어, 일부 구현예들에서, 동일참조 결정기는 동일한 엔티티에 대한 참조들을 클러스터화하는 경우 종속성 파서로부터의 주석들에 의존할 수 있다. 일부 구현예들에서, 특정 자연 언어 입력을 프로세싱하는 경우, 자연 언어 프로세서(122)의 하나 이상의 컴포넌트들은 하나 이상의 주석들을 결정하기 위해, 관련된 이전의 입력, 그리고/또는 특정 자연 언어 입력 이외의 다른 관련된 데이터를 사용할 수 있다.
앞에서 언급된 바와 같이, 자동화된 보조기(120)는, 예를 들어, 응답형 콘텐츠 엔진(130)을 통해서, 하나 이상의 리소스들을 이용할 수 있는바, 클라이언트 디바이스들(1061-N) 중 하나의 클라이언트 디바이스의 사용자와의 인간-대-컴퓨터 대화 세션 동안 제공할 제안(suggestion)들 및/또는 다른 요청되지 않은 콘텐츠를 발생시킬 때 이러한 하나 이상의 리소스들을 이용할 수 있다. 다양한 구현예들에서, 응답형 콘텐츠 엔진(130)은 액션 모듈(action module)(132), 엔티티 모듈(entity module)(134), 및 선행적 콘텐츠 모듈(proactive content module)(136)을 포함할 수 있다.
응답형 콘텐츠 엔진(130)의 액션 모듈(132)은, 자연 언어 입력에 대한 응답인 적어도 하나의 액션을 결정하기 위해, 클라이언트 컴퓨팅 디바이스들(1061-N)로부터 수신된 자연 언어 입력 및/또는 자연 언어 프로세서(122)에 의해 제공된 자연 언어 입력의 주석들을 이용한다. 일부 구현예들에서, 액션 모듈(132)은 자연 언어 입력에 포함된 하나 이상의 용어들에 근거하여 액션을 결정할 수 있다. 예를 들어, 액션 모듈(132)은, 자연 언어 입력 내에 포함된 하나 이상의 용어들에 (하나 이상의 컴퓨터 판독가능 매체들 내에서) 맵핑된 액션에 근거하여 액션을 결정할 수 있다. 예컨대, "나의 구매 목록에 <품목(item)>을 추가"하는 액션은, "나는 ... 시장으로부터 <품목>을 필요로 한다(I need <item> from the market...)", "나는 <품목>을 가져올 필요가 있다(I need to pick up <item>)", "우리는 <품목>이 없다(we're out of <item>)", 등과 같은 하나 이상의 용어들에 맵핑될 수 있다.
엔티티 모듈(134)은, 사용자와 자동화된 보조기(120) 간의 기존의 인간-대-컴퓨터 대화 세션의 콘텐츠(및/또는 이것의 주석들)에 근거하여, 사용자 혹은 자동화된 보조기(120)에 의해 언급된 엔티티를 식별하도록 구성될 수 있다. 이러한 콘텐츠는, 사용자(들)와 자동화된 보조기(120) 간의 인간-대-컴퓨터 대화 세션 동안 사용자 인터페이스 입력 디바이스(들)를 통해 하나 이상의 사용자들에 의해 제공되는 입력을 포함할 수 있고, 뿐만 아니라 자동화된 보조기(120)에 의해 대화 세션에 통합되는 콘텐츠를 포함할 수 있다. 엔티티 모듈(134)은 참조된 엔티티들을 식별할 때 그리고/또는 후보 엔티티(candidate entity)들을 정제(refining)할 때 하나 이상의 리소스들을 이용할 수 있다. 예를 들어, 엔티티 모듈(134)은 자연 언어 입력 자체를 이용할 수 있고, 자연 언어 프로세서(122)에 의해 제공된 주석들을 이용할 수 있고, 그리고/또는 지식 그래프(124)로부터의 정보를 이용할 수 있다. 일부 경우들에서, 엔티티 모듈(134)은, 예를 들어, 자연 언어 프로세서(122)의 일부를 형성하는 앞서언급된 엔티티 태거와 동일한 그러한 엔티티 태거와 통합(integral)될 수 있다.
선행적 콘텐츠 모듈(136)은, 사용자의 잠재적 관심의 대상인 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화 세션에 선행적으로 통합시키도록 구성될 수 있다. 일부 구현예들에서, 선행적 콘텐츠 모듈(136)은 (자연 언어 프로세서(122), 액션 모듈(132), 및/또는 엔티티 모듈(134)과 같은 다른 모듈들로부터 수신된 데이터에 근거하여) 사용자와 자동화된 보조기(120) 간의 기존의 인간-대-컴퓨터 대화 세션에서, 자동화된 보조기(120)가 인간-대-컴퓨터 대화 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했음을 결정할 수 있다. 사용자가, 특정 정보에 대한 검색을 요청하도록 클라이언트 디바이스(106)를 동작시키고, 그리고 자동화된 보조기(120)가 이러한 검색을 수행하고(또는 이러한 검색이 수행되도록 하고), 그리고 응답형 정보를 인간-대-컴퓨터 대화의 일부로서 반환한다고 가정한다. 이러한 지점에서, 만약 사용자가 또한 다른 정보를 요청하지 않았다면, 자동화된 보조기(120)는 사용자의 요청에 완전히 응답한 것이다. 일부 구현예들에서, 선행적 콘텐츠 모듈(136)은 자동화된 보조기(120)가 추가적인 사용자 입력을 수신하도록 어떤 미리결정된 시간 간격(예를 들어, 2초, 5초, 등) 동안 대기할 수 있다. 만약 이러한 시간 간격 동안 어떠한 것도 수신되지 않는다면, 선행적 콘텐츠 모듈(136)은 인간-대-컴퓨터 대화 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했다고 결정할 수 있고, 그리고 요청되지 않은 콘텐츠를 통합시키는 것이 이제 자유롭다고 결정할 수 있다.
인간-대-컴퓨터 대화 세션에서 언급되는 것(혹은 이와 관련되는 것)으로서 엔티티 모듈(134)에 의해 식별된 하나 이상의 엔티티들에 근거하여, 선행적 콘텐츠 모듈(136)은, 하나 이상의 데이터베이스들(예를 들어, 지식 그래프(124)) 내에 포함된 엔티티 데이터를 근거로, 엔티티에 관한 하나 이상의 사실들, 또는 엔티티와 관련된 또 하나의 다른 엔티티에 관한 하나 이상의 사실들을 식별하도록 구성될 수 있다. 그 다음에, 선행적 콘텐츠 모듈(136)은 하나 이상의 사실들 각각에 대해서, 사용자의 잠재적 관심의 대응하는 정도를 결정할 수 있다. 하나 이상의 사실들에 대응하는 잠재적 관심의 하나 이상의 정도들에 근거하여, 선행적 콘텐츠 모듈(136)은 자신이 발생시키는 요청되지 않은 자연 언어 콘텐츠에 포함될 사실들 중 하나 이상을 선택할 수 있다. 그 다음에, 선행적 콘텐츠 모듈(136)은 요청되지 않은 자연 언어 콘텐츠를 기존의 인간-대-컴퓨터 대화 세션 혹은 후속의 인간-대-컴퓨터 대화 세션에 통합시킬 수 있다.
일부 구현예들에서, 엔티티들에 관한 사실들에서의 잠재적 관심의 정도들은 하나 이상의 사용자 프로파일 데이터베이스들(126)로부터 획득된 데이터에 근거하여, 예를 들어, 선행적 콘텐츠 모듈(136)에 의해 결정될 수 있다. 사용자 프로파일 데이터베이스(126)에 포함된 데이터는 인간-대-컴퓨터 대화들에서 인간 참여자들과 관련된 사용자 프로파일들에 관한 것일 수 있다. 일부 구현예들에서, 각각의 사용자 프로파일은 하나 이상의 클라이언트 디바이스들을 동작시킬 때 사용자에 의해 사용되는 사용자 계정과 관련될 수 있다. 다양한 데이터가, 검색 이력(여기에는 검색 이력으로부터 검출가능한 패턴들이 포함됨), 메시징 이력(예를 들어, 여기에는 사용자와 자동화된 보조기 간의 과거 인간-대-컴퓨터 대화들이 포함됨), 개인 선호도들, 브라우징 이력, 등과 같은 사용자의 프로파일과 관련될 수 있다(그리고 이에 따라 사용자 프로파일 데이터베이스(126) 내에 저장될 수 있음). 개개의 사용자 프로파일들과 관련된 다른 정보가 또한 사용자 프로파일 데이터베이스(126) 내에 저장될 수 있고, 또는 사용자 프로파일 데이터베이스(126) 내에 저장된 데이터에 근거하여 결정될 수 있다. 이러한 다른 사용자-관련 정보는, 예를 들어, 사용자들의 관심의 대상인 토픽(topic)들(이것은 데이터베이스(126) 내에 직접적으로 저장될 수 있거나 또는 그 안에 저장된 다른 데이터로부터 결정될 수 있음), 검색 이력, 브라우징 이력, 사용자가-설정한 선호도들, 현재/과거 위치들, 미디어 재생 이력, 여행 이력, 과거 인간-대-컴퓨터 대화 세션들의 콘텐츠, 등을 포함할 수 있다.
따라서, 일부 구현예들에서, 선행적 콘텐츠 모듈(136)은 다양한 신호들 혹은 다른 데이터에 대한 액세스를 가질 수 있는바, 사용자에 의해 동작되는 하나 이상의 클라이언트 디바이스들(106)로부터의 신호들 혹은 데이터, 예를 들어, 클라이언트 디바이스들(106)로부터 직접적으로 얻어지는 신호들 혹은 데이터, 사용자 프로파일들(126)로부터 직접적으로 얻어지는 신호들 혹은 데이터, 그리고/또는 소위 "클라우드(cloud)"로서 동작하는 하나 이상의 컴퓨팅 시스템들을 통해 간접적으로 얻어지는 신호들 혹은 데이터에 대한 액세스를 가질 수 있다. 사용자의 관심의 대상인 토픽들은 예를 들어, 특정 취미들(예컨대, 골프, 스키, 게임, 그림, 등), 문학, 영화들, 음악 장르들, 특정 엔티티들(예컨대, 예술가들, 운동선수들, 스포츠 팀들, 회사들), 등을 포함할 수 있다. 사용자의 프로파일과 관련될 수 있는 다른 정보는 예컨대, 나이, (예를 들어, 하나 이상의 캘린더 입력들로부터 결정되는 바와 같은) 사용자의 스케줄링된 이벤트들, 등을 포함할 수 있다.
다양한 구현예들에서, 선행적 콘텐츠 모듈(136)은, 사용자의 잠재적 관심의 대상인 사실들을 표시하는(예를 들어, 포함하는) 요청되지 않은 콘텐츠를 발생시키도록 구성될 수 있고, 그리고 이러한 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화에 통합시키도록 구성될 수 있다. 이러한 요청되지 않은 콘텐츠는 기존의 인간-대-컴퓨터 대화 세션에 통합될 수 있는 다양한 형태들로 나타날 수 있다. 예를 들어, 사용자가 텍스트-기반 메시지 교환 클라이언트(107)를 사용하여, 자동화된 보조기(120)와 상호작용하고 있는 일부 구현예들에서, 선행적 콘텐츠 모듈(136)에 의해 발생된 요청되지 않은 콘텐츠는 텍스트의 형태, 이미지들의 형태, 혹은 이들의 임의의 조합의 형태를 취할 수 있고, 이들은 메시지 교환 클라이언트(107)에 의해 렌더링되는 인간-대-컴퓨터 대화의 대화내용에 통합될 수 있다. 일부 구현예들에서, 요청되지 않은 콘텐츠는, 사용자에게 상이한 애플리케이션 인터페이스를 노출시키기 위해 사용자에 의해 선택가능한 소위 "딥 링크(deep link)"의 형태를 포함할 수 있거나 혹은 이러한 "딥 링크"의 형태를 취할 수 있다. 예를 들어, 딥 링크는, 사용자에 의해 선택될 때, 클라이언트 디바이스(106)로 하여금 특정 애플리케이션을 특정 상태에서 개시(launching)(혹은 활성화)시키도록 할 수 있다. 사용자가 발성 인터페이스(speech interface)를 사용하여, 자동화된 보조기(120)와 상호작용하고 있는 다른 구현예들에서(예를 들어, 자동화된 보조기(120)가 독립형 상호작용적 스피커 상에서 동작될 때, 혹은 차량-내 시스템 상에서 동작할 때), 요청되지 않은 콘텐츠는 사용자에게 청취가능하게 제공되는 자연 언어 출력의 형태를 취할 수 있다. 앞에서 언급된 바와 같이, 많은 경우들에서, 요청되지 않은 콘텐츠 앞에는 "그런데(By the way)", "당신은 알았나요(Did you know)", "부가적으로(As a side note)" 등과 같은 언어가 올 수 있다.
일부 구현예들에서, 요청되지 않은 콘텐츠의 통합은, 자동화된 보조기(120)가 인간-대-컴퓨터 대화 세션 동안 사용자로부터 수신된 모든 자연 언어 입력에 응답했다는 예를 들어, 선행적 콘텐츠 모듈(136)에 의한 결정에 응답하여 수행될 수 있다. 일부 구현예들에서, 선행적 콘텐츠 모듈(136)에 관해서 앞에서 설명된 다른 동작들 중 하나 이상의 동작이 또한 이러한 이벤트에 응답하여 수행될 수 있다. 또는, 일부 구현예들에서, 이러한 동작들은 선행적 콘텐츠 모듈(136)에 의해 주기적으로 혹은 연속적으로 수행될 수 있고, 이에 따라 선행적 콘텐츠 모듈(136)(및 이에 따른 자동화된 보조기(120))는 사용자의 잠재적 관심의 대상인 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화 세션에 빠르게 통합시키기 위해 "준비된(primed)" 상태에서 유지되게 된다.
선행적 콘텐츠 모듈(136)은 또한, 신선한 콘텐츠 모듈(fresh content module)(138) 및 하나 이상의 기타 영역 모듈(miscellaneous domain module)들(140)과 같은, 사용자의 프로파일과는 다른 컴포넌트들에 대한 액세스를 가질 수 있다(예를 들어, 이러한 컴포넌트들로부터 사실들을 획득할 수 있음). 신선한 콘텐츠 모듈(138)은 현재 이벤트들, 뉴스, 현재 스케줄들(예를 들어, 공연자 순회공연 날짜들), (예를 들어, 상품 혹은 서비스들에 대한) 현재 가격들, (예를 들어, 소위 "해쉬 태그(hash tag)들"에 의해 표시된) 유행하는 뉴스/검색들, 등에 관한 데이터에 대한 액세스를 선행적 콘텐츠 모듈(136)에 제공할 수 있다. 일부 구현예들에서, 신선한 콘텐츠 모듈(138)은 더 큰 검색 엔진 시스템의 일부일 수 있고, 그리고 시간적으로 관련있는 검색 결과들을 반환하도록 구성될 수 있다. 예를 들어, 일부 검색 엔진 인터페이스들은 검색 결과들을 다양한 뉴스 소스들에 의해 발행된 정보로 한정하도록 사용자가 선택할 수 있는 "뉴스" 필터를 포함한다. 신선한 콘텐츠 모듈(138)은 이러한 정보에 대한 액세스를 가질 수 있다. 기타 영역 모듈들(140)은 다양한 다른 영역들로부터의 데이터를 제공할 수 있고, 따라서 다른 검색 엔진 필터들과 유사하게 동작할 수 있다. 예를 들어, "날씨" 영역 모듈은 날씨에 관환 사실들을 반환할 수 있고, "역사" 영역 모듈은 역사적 사실에 관한 데이터를 반환할 수 있고, "사소한 것(trivia)" 모듈은 엔티티들에 관한 무작위적 사실들을 반환할 수 있는 등등이다. 일부 구현예들에서, "수작업(manual)" 사실 모듈은, 예를 들어, 보수를 받는 광고주들로부터의 수작업으로-입력된 사실들을, 이러한 사실들과 관련된 엔티티들의 표시들과 함께, 수신하도록 구성될 수 있다.
일부 구현예들에서, 엔티티 모듈(134)이 인간-대-컴퓨터 대화 동안 언급된 하나 이상의 엔티티들을 식별한 경우, 선행적 콘텐츠 모듈(136)은 지식 그래프(124) 혹은 하나 이상의 모듈들(138-140)과 같은 하나 이상의 소스들로부터 이러한 하나 이상의 엔티티들에 관한 다양한 사실들을 끌어낼 수 있다. 그 다음에, 선행적 콘텐츠 모듈(136)은, 예를 들어, 이러한 사실들과 관련된 앞서언급된 사용자 관심의 정도들을 결정함으로써, 그 반환된 사실들의 순위를 정할 수 있다.
이러한 사실들에서의 잠재적 사용자 관심의 정도들이 다양한 정보에 근거하여 다양한 방식들로 선행적 콘텐츠 모듈(136)에 의해 결정될 수 있다. 앞에서 언급된 바와 같이, 일부 구현예들에서, 선행적 콘텐츠 모듈(136)은, 예를 들어, 사용자 프로파일 데이터베이스(126)에 포함된 개개의 사용자 정보에 근거하여 이러한 사실들에서의 잠재적 사용자 관심의 정도들을 결정할 수 있다. 예를 들어, 만약 특정 사용자가 음악가의 곧 있을 순회공연 날짜들을 검색하는 경향이 있다면(사용자가 또한 음악가에 대한 정보를 검색할 때면 언제나 이러한 경향이 있다면), 곧 있을 순회공연 날짜들에 관한 임의의 사실들에는 상대적으로 높은 잠재적 사용자 관심의 정도들이 할당될 수 있다. 일부 구현예들에서, (예를 들어, GPS를 사용하여 결정된) 사용자의 위치 가까이에서의 순회공연 날짜들에 관한 사실들에는 멀리에서의 순회공연 날짜들에 관한 사실들보다 훨씬 더 높은 잠재적 관심의 정도들이 할당될 수 있다.
일부 구현예들에서, 선행적 콘텐츠 모듈(136)은 한 무리의 사용자들의 행태들 및/또는 검색들과 관련된 집합 데이터에 근거하여 사실들에서의 잠재적 사용자 관심의 정도들을 발생시킬 수 있다. 만약 사용자들이 대체로 음악가들을 탐색할 때 곧 있을 순회공연 날짜들을 검색하는 경향이 있다면, 앞에서와 유사한 이유들로, 곧 있을 순회공연 날짜들에 관한 사실들, 특히 사용자 가까이에서의 순회공연 날짜들에 관한 사실들에는, 인간-대-컴퓨터 대화에서 음악가가 언급되는 경우, 상대적으로 큰 잠재적 사용자 관심의 정도들이 할당될 수 있다. 만약 사용자들이 일반적으로 비행 예약들을 검색하는 것과 동시에 임대 자동차들을 검색하는 경향이 있다면, 임대 자동차들에 관한 사실들(예를 들어, 가격들, 이용가능성)에는, 인간-대-컴퓨터 대화에서 하나 이상의 비행들이 언급되는 경우, 상대적으로 큰 잠재적 사용자 관심의 정도들이 할당될 수 있다. 만약 온라인 대화들에서의 참여자들이 특정 제품을 논의할 때 제품의 신뢰도(reliability)를 빈번하게 언급한다면, 제품의 신뢰도에 관한 사실들에는, 인간-대-컴퓨터 대화에서 제품이 언급되는 경우, 상대적으로 큰 잠재적 사용자 관심의 정도들이 할당될 수 있다. 그 외 기타 등등이 있을 수 있다.
도 2는 자동화된 보조기(도 1에서의 120, 도 2에서는 미도시)의 인스턴스와 사용자(101) 간의 인간-대-컴퓨터 대화 세션의 예를 예시한다. 도 2 내지 도 5는 본 명세서에서 설명되는 구현예들에 따른 자동화된 보조기(120)와 컴퓨팅 디바이스(210)(독립형 상호작용적 스피커로서 도시됨, 하지만 이것이 한정의 의미를 갖는 것은 아님)의 사용자(101) 간에 마이크로폰(들) 및 스피커(들)를 통해 일어날 수 있는 대화 세션들의 예들을 예시한다. 자동화된 보조기(120)의 하나 이상의 실시형태들이, 컴퓨팅 디바이스(210) 상에서 구현될 수 있고 그리고/또는 컴퓨팅 디바이스(210)와 네트워크 통신을 하고 있는 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다.
도 2에서, 사용자(101)는 사용자(101)와 자동화된 보조기(120) 간의 인간-대-컴퓨터 대화 세션에서 "모차르트는 얼마나 많은 협주곡들을 작곡했나요?(How many concertos did Mozart compose?)"의 자연 언어 입력(280)을 제공한다. 자연 언어 입력(280)에 응답하여, 자동화된 보조기(120)는 "피아노 및 관현악을 위한 모차르트의 협주곡들은 1번부터 20번까지 있습니다(Mozart's concertos for piano and orchestra are numbered from 1 to 27)"의 응답형 자연 언어 출력(282)을 제공한다. 추가적인 사용자 입력을 기다리는 것이 아니라 오히려, 자동화된 보조기(120)는 (예를 들어, 선행적 콘텐츠 모듈(136)에 의해) 사용자의 잠재적 관심의 대상인 추가적인 콘텐츠를 도 2의 인간-대-컴퓨터 대화에 선행적으로 통합시킬 수 있다. 예를 들어, 자동화된 보조기(120)는 엔티티 "모차르트(Mozart)"에 관한 하나 이상의 사실들을 다양한 소스들(예를 들어, 124, 138-140)로부터 획득/수신할 수 있다. 자동화된 보조기(120)는 다음과 같은 요청되지 않은 콘텐츠(이것은 도 2 및 다른 도면들에서 기울임꼴 보여짐)를 인간-대-컴퓨터 대화에 선행적으로 통합시킨다: "그런데, 당신은 알았나요 루이스빌 관현악단이 모차르트 작곡들을 피처링한 연주회를 다음달에 가질 것이라는 것을?(By the way, did you know the Louisville Orchestra will be playing a concert next month featuring Mozart compositions?)". 제시되었을 수 있는 다른 사실들은, 모차르트의 생일, 출생지, 사망일, 등을 포함하지만, 이러한 것으로만 한정되는 것은 아니다. 이러한 예에 대해서, 곧 있을 공연이 예를 들어, 선행적 콘텐츠 모듈(136)에 의해 선택되었음이 가능한데, 왜냐하면 사용자(101)는 자신이 검색한 음악가에 의한 음악 작품들의 공연들을 볼 기회들을 검색하는 경향이 있기 때문이다.
도 3은 상이한 세션 동안 컴퓨팅 디바이스(210) 상에서 동작하는 자동화된 보조기(120)와 사용자(101) 간의 또 하나의 다른 예시적 대화를 도시한다. 도면번호 380에서, 사용자(101)는 어구 "루이스빌에 있는 나의 호텔의 명칭은 무엇인가요?(What's the name of my hotel in Louisville?)"를 발성한다. 도면번호 382에서, 자동화된 보조기(120)는, 사용자(101)의 사용자 프로파일과 관련된 다양한 데이터 소스들(예를 들어, 캘린더 엔트리들, 여행 일정 이메일들, 등)을 검색한 이후에, "당신은 브라운 호텔에서 체류하고 있습니다(You are staying at the Brown Hotel)"라고 대답할 수 있다. 그 다음에, 자동화된 보조기(120)는 (예를 들어, 선행적 콘텐츠 모듈(136)에 의해) 자신이 사용자의 자연 언어 입력에 완전히 응답했음을 결정할 수 있다. 이에 따라, "블루 엔젤스(Blue Angels)"로서 알려진 비행 시연 대대(flight demonstration squadron)에서의 사용자(101)의 관심에 근거하여, 아울러 블루 엔젤스가 (위치 엔티티인) 루이스빌에서 곧 공연하고 있을 것이라는 결정에 근거하여, 자동화된 보조기(120)는 다음과 같은 요청되지 않은 콘텐츠를 인간-대-컴퓨터 대화에 선행적으로 통합시킬 수 있다: "그런데, 당신이 루이스빌에 체류하는 동안, 블루 엔젤스가 공연하고 있을 것입니다. 제가 입장권들을 찾아볼까요?(By the way, during your stay in Louisville, the Blue Angels will be performing. Should I look for tickets?)". 만약 사용자(101)가 긍정적으로 응답한다면, 자동화된 보조기(120)는 예컨대, 이벤트에 대한 입장권들을 얻기 위해 사용자(101)를 추가적인 대화에 관여시킬 수 있다.
도 4는 상이한 세션 동안 컴퓨팅 디바이스(210) 상에서 동작하는 자동화된 보조기(120)와 사용자(101) 간의 또 하나의 다른 예시적 대화를 도시한다. 이러한 예에서는, 도면번호 480에서, 사용자(101)는 자연 언어 입력, "<공연하는_예술가의> 첫 번째 앨범의 명칭은 무엇인가요?(What's the name of <performing_artist's> first album?)"를 제공한다. 도면번호 482에서, 자동화된 보조기(120)는, 임의의 필요한 검색을 수행한 이후, "<오디오_앨범_의_명칭(name_of_studio_album)>"으로 응답할 수 있다(<꺽인괄호(bracket)들> 내의 단어들은 단지 엔티티를 총칭하여(generically) 표시하는 것을 의미함). 자동화된 보조기(120)는 또한 엔티티에 관한 다양한 사실들을 결정하고, 그리고 그 사실들에서의 잠재적 사용자 관심의 정도들을 할당하고 이들의 순위를 정한 이후에, 자동화된 보조기(120)는 요청되지 않은 콘텐츠, "그런데, <공연_예술가>는 다음달 가까이 까지 연주할 것입니다. 당신은 입장권들에 대한 더 많은 정보를 원하나요?(By the way, <performance_artist> will be playing close by next month. Do you want more information about tickets?)"를 선행적으로 통합시킨다.
일부 구현예들에서, 선행적 콘텐츠 모듈(136)이 특정 엔티티에 관한 잠재적 관심의 대상인 사실들을 결정할 때의 그 특정 엔티티는 반드시 인간-대-컴퓨터 대화에서 명시적으로 언급될 필요가 없다. 일부 구현예들에서, 이러한 선행적으로 통합되는 콘텐츠는 예컨대, 클라이언트 디바이스 상에서 동작하는 애플리케이션의 상태에 근거하여 결정될 수 있다. 사용자(101)가 클라이언트 디바이스 상에서 게임을 즐기고 있다고 가정한다. 컴퓨팅 디바이스(210) 상에서의 자동화된 보조기(120)는 다른 클라이언트 디바이스가 특정 게임-재생 상태에 있다고 결정할 수 있고, 사용자의 잠재적 관심의 대상인 다양한 요청되지 않은 콘텐츠(예컨대, 유익한 정보(tips), 비법(tricks), 유사한 게임들의 추천들, 등)를 인간-대-컴퓨터 대화의 일부로서 제공할 수 있다. 컴퓨팅 디바이스(210)가 독립형 상호작용적 스피커인 일부 구현예들에서, 컴퓨팅 디바이스(210)는 심지어 다른 클라이언트 디바이스 상에서 재생되고 있는 게임과 관련된 음향 효과들 및/또는 배경 음악도 (예를 들어, 배경 음악을 복제하거나 또는 추가하여) 출력할 수 있다.
도 5는 사용자(101)가 가지고 다니는 클라이언트 디바이스(406) 상에서 동작하는 자동화된 보조기(120)의 인스턴스와 사용자(101) 간의 예시적인 인간-대-컴퓨터 대화를 도시한다. 이러한 예에서, 사용자(101)는 자연 언어 입력을 제공하지 않는다. 대신, 컴퓨팅 디바이스(210)(이것은 다시 한번 더 독립형 상호작용적 스피커의 형태를 취함)는 음악을 재생시키고 있다. 이러한 음악은 클라이언트 디바이스(406)의 하나 이상의 오디오 센서들(예를 들어, 마이크로폰들)에서 검출된다. 청취가능하게-검출된 음악을 분석하도록 구성된 소프트웨어 애플리케이션과 같은, 클라이언트 디바이스(406)의 하나 이상의 컴포넌트들은 예술가/노래/등과 같은, 검출된 음악의 하나 이상의 속성들을 식별할 수 있다. 도 1에서의 엔티티 모듈(134)과 같은 또 하나의 다른 컴포넌트는, 엔티티 및 관련된 사실들을 식별하기 위해서 하나 이상의 온라인 소스들(예를 들어, 지식 그래프(124))을 검색하기 위해 이러한 속성들을 사용할 수 있다. 그 다음에, 클라이언트 디바이스(406) 상에서 동작하는 자동화된 보조기(120)는 (도면번호 582에서) 사용자(101)에게 엔티티에 관한 다양한 정보를 알려주는 요청되지 않은 콘텐츠를 (예를 들어, 도 5에서의 클라이언트 디바이스(406) 상에 큰 소리로 혹은 시각적으로) 제공할 수 있다. 예를 들어, 도 5의 도면번호 582에서, 자동화된 보조기(120)는 "알았어요 당신이 <예술가>를 청취하고 있다는 것을. 당신은 알았나요 <예술가>가 <날짜>에 <당신의 마을>에서 순회공연일을 갖는다는 것을?(Did see you are listening to <artist>. Did you know that <artist> has a tour date in <your town> on <date>?)"을 진술한다. 유사한 기법들이, 시청각 콘텐츠(예를 들어, 영화, 텔레비젼 프로그램, 스포츠 이벤트, 등)가 사용자의 텔레비젼 상에서 제시되고 있음이 (음향 및/또는 시각적 검출을 통해) 검출되는 경우, 클라이언트 디바이스(예를 들어, 스마트폰, 태블릿, 랩탑, 독립형 상호작용적 스피커) 상에서 동작하는 자동화된 보조기(120)의 인스턴스에 의해 적용될 수 있다.
도 2 내지 도 5는 오디오 입력/출력을 사용하여 사용자(101)가 자동화된 보조기(120)와 함께 관여하는 인간-대-컴퓨터 대화들을 도시한다. 하지만, 이것은 한정의 의미를 갖도록 의도된 것이 아니다. 앞에서 언급된 바와 같이, 다양한 구현예들에서, 사용자들은 메시지 교환 클라이언트들(107)과 같은 다른 수단들을 사용하여, 자동화된 보조기들을 관여시킬 수 있다. 도 6은 스마트폰 혹은 태블릿(하지만, 이것은 한정의 의미를 갖도록 의도된 것이 아님)의 형태를 갖는 클라이언트 디바이스(606)가 터치스크린(640)을 포함하는 예를 도시한다. 터치스크린(640) 상에 시각적으로 렌더링되고 있는 것은, 클라이언트 디바이스(606) 상에서 (적어도 부분적으로) 실행되는 자동화된 보조기(120)의 인스턴스와 클라이언트 디바이스(606)의 사용자(도 6에서 "당신(You)") 간의 인간-대-컴퓨터 대화의 대화내용(642)이다. 또한 제공되는 것은 입력 필드(input field)(644)인데, 이러한 입력 필드(644)에서 사용자는 자연 언어 콘텐츠를 제공할 수 있고, 뿐만 아니라 이미지들, 음향, 등과 같은 다른 타입의 입력들을 제공할 수 있다.
도 6에서, 사용자는 질문 "<상점>이 몇 시에 여나요?(What time does <store> open?)"으로 인간-대-컴퓨터 대화 세션을 개시한다. 자동화된 보조기(120)(도 6에서 "AA")는 상점의 영업시간에 관한 정보에 대한 하나 이상의 검색들을 수행하고, 그리고 "<상점>은 오전 10:00시에 엽니다(<store> opens at 10:00 AM)"라고 대답한다. 그 다음에, 자동화된 보조기(120)는 엔티티 <상점>에 관한 하나 이상의 사실들을 결정하고, 사용자의 잠재적 관심의 정도들에 의해 이러한 사실들의 순위를 정하고, 그리고 다음과 같은 콘텐츠를 인간-대-컴퓨터 대화에 선행적으로 통합시킨다: "그런데, <상점>은 다음달에 봄철 재고정리 판매를 갖습니다(By the way, <store> is having a Spring clearance sale next month)". 그 다음에, 자동화된 보조기(120)는 이러한 판매에 관해서 "카드(card)"(646)의 형태로 사용자 인터페이스 요소를 통합시킨다. 카드(646)는 상점의 웹사이트로의 링크, 상점으로부터 품목들을 구입하도록 동작가능한 (클라이언트 디바이스(606) 상에 설치된) 쇼핑 애플리케이션(shopping application)으로의 소위 "딥링크(deeplink)", 등과 같은 다양한 콘텐츠를 포함할 수 있다. 일부 구현예들에서, 자동화된 보조기(120)는 또한, 예를 들어, 상점과 관련된 웹페이지들 및/또는 경쟁사의 웹페이지에 대한 웹페이지들로의 하나 이상의 하이퍼링크(hyperlink)들(648)과 같은 다른 요청되지 않은 콘텐츠를 선택가능한 옵션들로서 통합시킬 수 있다.
도 6에서의 카드(646)는 시각적 요소이지만(이러한 시각적 요소는 이러한 시각적 요소를 탭핑(tapping)하거나 혹은 그렇지 않으면 터칭(touching)함으로써 선택될 수 있음), 이것은 한정의 의미를 갖도록 의도된 것이 아니다. 도 6에서 도시된 것과 유사한 인간-대-컴퓨터 대화는 사용자와 오디오 출력 디바이스(예를 들어, 이전의 도면들에서 도시된 독립형 상호작용적 스피커) 간에 청취가능하게 일어날 수 있다. 일부 이러한 구현예들에서, 사용자 인터페이스 요소는 대신, 만약 사용자에 의한 긍정적 답변이 있다면 "선택될" 수 있는 청취가능한 프롬프트(audible prompt)(예컨대, 질문 혹은 옵션)의 형태를 취할 수 있다. 예를 들어, 카드(646)를 제시하는 대신에, 자동화된 보조기(120)는 "만약 판매될 품목들을 제가 나열하기를 당신이 원하면 저에게 알려 주세요(Let me know if you would like me to list items that will be on sale)"와 같은 무엇인가를 청취가능하게 출력할 수 있다. 일부 구현예들에서, 쇼핑 애플리케이션 자체는, 사용자로 하여금 판매용 품목들을 알 수 있도록 하기 위해서 사용자와의 인간-대-컴퓨터 대화에 관여하도록 특정적으로 맞춤설계된 자기 자신의 자동화된 보조기를 포함할 수 있다. 일부 이러한 구현예들에서, 사용자는 쇼핑 애플리케이션에-특정된 자동화된 보조기로 "넘겨질(passed on)" 수 있다. 다른 구현예들에서, 자동화된 보조기(120)는 쇼핑 애플리케이션을 사용하여 품목들을 얻기 위해 필요한 정보를 (사용자로부터) 요청하는 자연 언어 출력을 만들기 위해 쇼핑 애플리케이션과 관련된 다양한 정보 및 상태들을 이용할 수 있다. 그 다음에, 자동화된 보조기(120)는 (예를 들어, 사용자에 의해 제공되는 발성된 자연 언어 입력들에 응답하여) 사용자를 대신해서 쇼핑 애플리케이션과 상호작용할 수 있다.
도 7은 터치스크린(640) 및 사용자 입력 필드(644), 뿐만 아니라 인간-대-컴퓨터 대화 세션의 대화내용(742)을 갖는 클라이언트 디바이스(606)를 다시 한번 더 도시한다. 이러한 예에서, 사용자("당신")는 자연 언어 입력, "<예술가>에 의한 노래들(Songs by <artist>)"을 타이핑 및/또는 발성함으로써(이것은 인식될 수 있고 텍스트로 변환될 수 있음) 인간-대-컴퓨터 대화를 개시한다. 자동화된 보조기(120)("AA")는 일련의 선택가능한 사용자 인터페이스 요소들(746)을 제공함으로써 응답하는데, 이러한 일련의 선택가능한 사용자 인터페이스 요소들(746) 중 임의의 것은 사용자에 의해 선택(예를 들어, "탭핑")될 수 있고, 이에 따라 예술가의 대응하는 노래가, 예를 들어, 클라이언트 디바이스(606) 상에서 재생되게 되거나 혹은 또 하나의 다른 근처에 있는 클라이언트 디바이스(미도시, 예를 들어, 도면번호 606과 동일한 (클라이언트 디바이스들의) 조정된 생태계의 일부를 형성하는 독립형 상호작용적 스피커) 상에서 재생되게 된다. 본 명세서에서 설명되는 기법들을 사용하여, 자동화된 보조기(120)는 (예를 들어, 지식 그래프(124)로부터) 예술가가 지난주에 40살이 되었음을 결정한다. 이에 따라, 자동화된 보조기(120)는 다음과 같은 문장을 인간-대-컴퓨터-대화에 선행적으로 통합시킨다: "당신은 알았나요 <예술가>가 지난주에 40살이 되었다는 것을?(Did you know that <artist> turned 40 last week?)". 일부 구현예들에서, 만약 사용자가 긍정적으로 대답하게 된다면, 혹은 전혀 대답하지 않게 된다면, 자동화된 보조기(120)는 예를 들어, 사용자가 추가적인 콘텐츠를 수신하는데 관심이 없다는 가정 하에, 추가적인 선행적 콘텐츠를 제공하는 것을 자제할 수 있다. 하지만, 사용자가 "정말? 나는 그걸 몰랐어! 나는 늙은 것 같아!(really? I didn't know that! I feel old!)"와 같은 (사용자 관심을 시사하는) 자연 언어 응답을 제공하게 된다고 가정한다. 이러한 경우에, 자동화된 보조기(120)는 이러한 감정(sentiment)을 (예를 들어, 사용자의 입력에 관한 감정 분석을 수행함으로써) 검출할 수 있고, 그리고 예술가에 관한 추가적인 사실(들)을 제공할 수 있고, 또는 가능하게는 또 하나의 다른 밀접하게 관련된 예술가(예를 들어, 유사한 나이의 예술가)에 관한 추가적인 사실(들)을 제공할 수 있다.
앞서 설명된 선행적으로-통합된 요청되지 않은 콘텐츠의 예들은 한정의 의미를 갖도록 의도된 것이 아니다. 사용자들의 잠재적 관심의 대상인 다른 요청되지 않은 콘텐츠가 본 명세서에서 설명되는 기법들을 사용하여 인간-대-컴퓨터 대화들에 선행적으로 통합될 수 있다. 예를 들어, 사용자가 곧 있을 스케줄링된 비행(또는 기차 출발 혹은 다른 여행 일정)을 언급하는 일부 구현예들에서, 자동화된 보조기(120)는 요청되지 않은 콘텐츠를 사용자와의 인간-대-컴퓨터 대화 세션에 선행적으로 통합시킬 수 있다. 이러한 요청되지 않은 콘텐츠는, 예컨대, 공항까지의 경로 상에서의 교통 패턴들의 표시, 스케줄링된 비행을 사용자로 하여금 보거나 편집할 수 있게 하는 애플리케이션을 오픈(open)시키기 위해 (터칭에 의해, 음성에 의해, 제스터에 의해, 기타 등등에 의해) 선택가능한 하나 이상의 사용자 인터페이스 요소들, 덜 비쌀 수 있는 대안적 비행들에 관한 정보(또는 덜 비쌀 수 있는 대안적 비행들로 링크되는 선택가능한 사용자 인터페이스 요소들), 등을 포함할 수 있다.
당연한 것으로, 사용자가, 요청되지 않은 콘텐츠를 언제나 원하는 것은 아닐 수 있다. 예를 들어, 사용자는 극심한 교통상황에서 주행하고 있을 수 있고, 사용자는 긴급 상황에 있을 수 있고, (예를 들어, 화상 통화(video call)에서) 요청되지 않은 콘텐츠를 수신하는 것을 사용자가 원치 않을 것임을 시사하는 방식으로 사용자는 컴퓨팅 디바이스를 동작시키고 있을 수 있고, 등등이 있을 수 있다. 이에 따라, 일부 구현예들에서, 자동화된 보조기(120)는 (예를 들어, 위치 신호와 같은 신호들, 대화의 맥락, 하나 이상의 애플리케이션들의 상태들, 가속도계 신호, 사용자의 자연 언어 입력의 감정 분석 등에 근거하여) 요청되지 않은 콘텐츠를 수신하려는 사용자에 의한 희망(desirability)의 정도를 결정하도록 구성될 수 있고, 그리고 자동화된 보조기(120)는 만약 이러한 정도가 하나 이상의 임계치들을 만족시킨다면 요청되지 않은 콘텐츠를 단지 제공할 수 있다.
도 8은 터치스크린(640) 및 사용자 입력 필드(644), 뿐만 아니라 인간-대-컴퓨터 대화 세션의 대화내용(842)을 갖는 클라이언트 디바이스(606)를 다시 한번 더 도시한다. 이러한 예에서, 사용자("당신")는 자연 언어 입력, "다음 월요일에 루이스빌까지의 비행들(Flights to Louisville next Monday)"을 타이핑 및/또는 발성함으로써(이것은 인식될 수 있고 텍스트로 변환될 수 있음) 인간-대-컴퓨터 대화를 개시한다. 자동화된 보조기(120)("AA")는 일련의 선택가능한 사용자 인터페이스 요소들(846)을 제공함으로써 응답하는데, 이러한 일련의 선택가능한 사용자 인터페이스 요소들(846) 중 임의의 것은 사용자에 의해 선택(예를 들어, "탭핑")될 수 있고, 이에 따라 사용자는 대응하는 승차권을 얻기 위해 예를 들어, 클라이언트 디바이스(606) 상에 설치된 여행 애플리케이션과의 대화에 참여하게 되거나 또는 자동화된 보조기와의 대화에 참여하게 된다. 본 명세서에서 설명되는 기법들을 사용하여, 자동화된 보조기(120)는 또한 (예를 들어, 선행적 콘텐츠 모듈(136)에 의해) 만약 사용자가 다음 월요일 대신에 다음 화요일에 떠날 것을 선택한다면 덜 비싼 비행이 이용가능하다고 결정한다. 이에 따라, 자동화된 보조기(120)는 다음과 같은 문장을 인간-대-컴퓨터-대화에 선행적으로 통합시킨다: "그런데, 하루 늦게 비행하면, $145를 절약할 수 있습니다(By the way, if you fly a day later, you can save $145)".
도 9는 본 명세서에서 개시되는 구현예들에 따른 예시적인 방법(900)을 나타내는 흐름도이다. 편의상, 흐름도의 동작들은 해당 동작들을 수행하는 시스템을 참조하여 설명된다. 이러한 시스템은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들을 포함할 수 있는데, 예컨대, 자동화된 보조기(120)의 하나 이상의 컴포넌트들을 포함할 수 있다. 더욱이, 방법(900)의 동작들이 특정 순서로 보여지고 있지만, 이것은 한정의 의미를 갖도록 의도된 것이 아니다. 하나 이상의 동작들이 재정리, 생략, 혹은 추가될 수 있다.
블록(902)에서, 시스템은 예를 들어, 엔티티 모듈(134)에 의해, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화 세션의 콘텐츠에 근거하여 사용자 또는 자동화된 보조기에 의해 언급된 엔티티를 식별할 수 있다. 앞에서 언급됐던 바와 같이, 엔티티들은 다양한 형태들로 나타날 수 있는데, 예컨대, 사람들(예를 들어, 유명인들, 공적인 인물들, 작가들, 예술가들, 등), 장소들(도시들, 주들, 나라들, 관심 지점들, 교차로들, 식당들, 점포들, 호텔들, 등), 객체들(예를 들어, 비행들, 기차 여행들, 제품들, 서비스들, 노래들, 앨범들, 필름들, 서적들, 시들, 등), 등과 같은 것으로 나타날 수 있다. 엔티티 모듈(134)(혹은 더 일반적으로는, 자동화된 보조기(120))은, 지식 그래프(124), 자연 언어 프로세서(122)와 관련된 엔티티 태거로부터의 주석들, 신선한 콘텐츠 모듈(138), 다른 기타 영역 모듈들(140), 등과 같은 다양한 데이터 소스들을 사용하여 엔티티들을 식별할 수 있다.
블록(904)에서, 시스템은 엔티티 모듈(134)에 의해, 하나 이상의 데이터베이스들 내에 포함된 엔티티 데이터에 근거하여, 엔티티에 관한 혹은 엔티티와 관련된 또 하나의 다른 엔티티에 관한 하나 이상의 사실들을 식별할 수 있다. 예를 들어, 엔티티 모듈(134)은, 자동화된 보조기(120)의 엔티티 모듈(134) 혹은 또 하나의 다른 컴포넌트로 하여금, 언급됐던 엔티티에 관한 사실들 또는 언급된 엔티티와 어떤 점에 있어 관련된 또 하나의 다른 엔티티에 관한 사실들을 식별할 수 있도록 하는 (다른 엔티티들에 대한 관계들을 나타낼 수 있는) 노드들, 속성들, 에지들, 등에 대해 지식 그래프(124)를 참고(consult)할 수 있다. 예를 들어, 만약 사용자 혹은 자동화된 보조기가 모차르트를 언급한다면, 자동화된 보조기(120)는, 모차르트와 관련된 사실(들)에 추가하여 혹은 그 대신에, 동일한 혹은 유사한 시대의 또 하나의 다른 작곡가와 관련된 사실(들)을 식별할 수 있다.
일부 구현예들에서, 자동화된 보조기(120)는 엔티티 및/또는 또 하나의 다른 엔티티와 관련된 사실들을 식별하기 위해 사용자 프로파일과 관련된 데이터에 의존할 수 있다. 예를 들어, 사용자가 자동화된 보조기(120)와의 인간-대-컴퓨터 대화에서 제 1 음악가를 언급한다고(예를 들어, 제 1 음악가에 의해 작곡된 노래에 대해 질문하고 그 노래의 재생을 요청한다고) 가정한다. 제 1 음악가는 (예를 들어, 사용자의 사용자 프로파일과 관련된 재생목록들 혹은 재생 이력에 의해 결정된) 사용자의 가장 빈번하게 청취하는 음악가이고, 이와 밀접하게 후속하여 사용자가 또한 빈번하게 청취하는 제 2 예술가가 있다고 또한 가정한다. 일부 구현예들에서는, 블록(904)에서, 자동화된 보조기(120)는 제 1 음악가에 관한 사실(들) 및/또는 제 2 음악가에 관한 사실(들)을 식별할 수 있다.
블록(906)에서, 시스템은 블록(904)에서 결정된 하나 이상의 사실들 각각에 대해서, 사용자의 잠재적 관심의 대응하는 정도를 결정할 수 있다(즉, 사실들에 점수를 부여할 수 있음). 잠재적 관심의 정도들은 다양한 형태들(예를 들어, 퍼센티지들, 임의의 범위를 따르는 값들, 수치적 값, 등)로 나타날 수 있고, 다양한 방식들로 결정될 수 있다. 일부 구현예들에서, 잠재적 관심의 정도들은 사용자 자신의 사용자 프로파일에 근거하여 결정될 수 있다. 예를 들어, 만약 사용자가 비용들을 비교하기 위해 두 개의 상이한 공항들로부터의 비행들을 빈번하게 검색하고 그 다음에 비행들에 관한 자동화된 보조기(120)에 대한 질의에서 제 1 공항을 언급한다면, 자동화된 보조기(120)는, 비록 사용자가 제 2 공항을 명시적으로 언급하지는 않았을 지라도, 제 2 공항으로부터의 비행들에 관한 사실들에 상대적으로 큰 잠재적 관심의 정도를 할당할 수 있다(예를 들어, 이러한 사실들을 승격(promote)시킬 수 있음).
추가적으로 혹은 대안적으로, 다양한 구현예들에서, 사실들에는 집합 사용자 데이터 및/또는 행태를 사용하여 점수가 부여될 수 있다. 예를 들어, 엔티티가 논의될 때 예를 들어, 부수적으로 어떤 엔티티 속성들이 종종 제기되는지를 결정하기 위해 온라인 대화들이 스크레이핑(scraping)될 수 있다. 또 하나의 다른 예로서, 사용자들이 엔티티들에 관한 정보를 검색할 때 혹은 그렇지 않으면 소비할 때 어떤 엔티티 속성들이 종종 검색되는지, 클릭(click)되는지, 혹은 그렇지 않으면 상호작용되는지를 결정하기 위해 집합 사용자 검색 질의 로그(aggregate user search query log)들이 분석될 수 있다. 또 하나의 다른 예로서, 일부 구현예들에서, 시스템은 예를 들어, 신선한 콘텐츠 모듈(138)로부터 유행하는 검색들 및/또는 뉴스를 분석할 수 있고 이에 따라 엔티티들에 관한 어떤 사실들이 현재 유행하고 있는 것일 수 있는지를 결정하게 된다(이에 따라 엔티티들에 관한 어떤 사실들이 이들이 그렇지 않은 경우보다 더 큰 잠재적 관심의 정도들을 할당받을 수 있는지를 결정하게 됨). 또 하나의 다른 예로서, 사용자 자신의 상황 정보(예를 들어, 사용자의 스마트폰과 통합된 위치 좌표 센서에 의해 발생된 위치 데이터)가 잠재적 관심의 정도들을 할당하기 위해 사용될 수 있다. 예를 들어, 만약 논의된 엔티티가 (사용자의 현재 위치로부터 결정된 바와 같이) 근처에서 곧 있을 이벤트를 갖는다면, 이러한 사실에는, 엔티티에 관한 곧 있을 이벤트들이 단지 멀리 떨어진 위치들에서 있는 경우보다, 더 큰 잠재적 관심의 정도가 할당될 수 있다.
블록(908)에서, 시스템은 잠재적 관심의 대응하는 하나 이상의 정도들에 근거하여 선택되는 사실들 중 하나 이상을 포함하는 요청되지 않은 자연 언어 콘텐츠를 발생시킬 수 있다. 일부 구현예들에서, 시스템은 요청되지 않은 콘텐츠 내에 포함되도록 단지 최상위-순위의 사실을 선택할 수 있다. 다른 구현예들에서, 시스템은 n(양의 정수)개의 상위 순위를 갖는 사실들을 선택할 수 있다. 블록(910)에서, 시스템은 요청되지 않은 자연 언어 콘텐츠를 기존의 인간-대-컴퓨터 대화 세션 혹은 후속의 인간-대-컴퓨터 대화 세션에 통합시킬 수 있다. 예를 들어, 자동화된 보조기(120)는 "그런데", "당신은 알았나요", "부가적으로" 등과 같은 어구가 앞에 오는 자연 언어 문장을 발생시킬 수 있다. 앞에서 설명된 바와 같이, 일부 구현예들에서, 이러한 요청되지 않은 콘텐츠는, 사용자가 추가적인 대화에 관여하기 위해, 다양한 태스크들을 개시시키기 위해, 기타 등등을 행하기 위해 선택할 수 있는 선택가능한 그래픽 요소들(예컨대, 딥 링크들)을 포함할 있고 그리고/또는 수반할 수 있다.
도 9에서 명시적으로 도시되지는 않았지만, 다양한 구현예들에서, 자동화된 보조기(120)는 사용자에게 이미 알려져 있을 수 있는 요청되지 않은 콘텐츠를 사용자와의 인간-대-컴퓨터 대화 세션에 통합시키는 것을 피할 수 있다. 예를 들어, 일부 구현예들에서, 시스템은, 블록(904)에서 식별된 하나 이상의 사실들 중 소정의 사실이, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화에서 이전에 참조되었음, 또는 (일부 경우들에서 30일과 같이 미리결정된 시간 간격을 거슬러 올라가는) 사용자와 자동화된 보조기 간의 이전의 인간-대-컴퓨터 대화에서 이전에 참조되었음을 검출할 수 있다. 일부 구현예들에서, 이러한 소정의 사실에 대해 시스템에 의해 결정되는 잠재적 관심의 정도는, 예를 들어, 상대적으로 낮은 점수가 할당되게 함으로써(심지어 일부 경우들에서는 점수가 할당되지 않게 함으로써) 이러한 검출을 반영할 수 있다. 다른 구현예들에서, 시스템은, 소정의 사실이, 사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화에서 이전에 참조되었음, 또는 사용자와 자동화된 보조기 간의 이전의 인간-대-컴퓨터 대화에서 이전에 참조되었음을 검출하는 것에 근거하여, 소정의 사실을 고려로부터 제거할 수 있다.
도 10은 본 명세서에서 설명되는 기법들의 하나 이상의 실시형태들을 수행하기 위해 선택에 따라 이용될 수 있는 예시적인 컴퓨팅 디바이스(1010)의 블록도이다. 일부 구현예들에서, 클라이언트 컴퓨팅 디바이스, 자동화된 보조기(120), 및/또는 다른 컴포넌트(들) 중 하나 이상은 예시적인 컴퓨팅 디바이스(1010)의 하나 이상의 컴포넌트들을 포함할 수 있다.
컴퓨팅 디바이스(1010)는 전형적으로 버스 서브시스템(1012)을 통해 다수의 주변 디바이스들과 통신하는 적어도 하나의 프로세서(1014)를 포함한다. 이러한 주변 디바이스들은, 예를 들어, 메모리 서브시스템(1025) 및 파일 저장 서브시스템(1026)을 포함하는 저장 서브시스템(1024), 사용자 인터페이스 출력 디바이스들(1020), 사용자 인터페이스 입력 디바이스들(1022), 그리고 네트워크 인터페이스 서브시스템(1016)을 포함할 수 있다. 입력 및 출력 디바이스들은 컴퓨팅 디바이스(1010)와의 사용자 상호작용을 가능하게 한다. 네트워크 인터페이스 서브시스템(1016)은 외부 네트워크들에 대한 인터페이스를 제공하고, 다른 컴퓨팅 디바이스들 내의 대응하는 인터페이스 디바이스들에 결합된다.
사용자 인터페이스 입력 디바이스들(1022)은, 키보드, 포인팅 디바이스들(예컨대, 마우스, 트랙볼, 터치패드, 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치스크린, 오디오 입력 디바이스들(예컨대, 음성 인식 시스템들), 마이크로폰들, 및/또는 다른 타입의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스"의 사용은 컴퓨팅 디바이스(1010)에 정보를 입력하거나 통신 네트워크 상에 정보를 입력하기 위한 모든 가능한 타입의 디바이스들 및 방식들을 포함하도록 의도된 것이다.
사용자 인터페이스 출력 디바이스들(1020)은 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 비-시각적 디스플레이들(예컨대, 오디오 출력 디바이스들)을 포함할 수 있다. 디스플레이 서브시스템은 음극선관(Cathode Ray Tube, CRT), 평판 디바이스(flat-panel device)(예컨대, 액정 디스플레이(Liquid Crystal Display, LCD)), 프로젝션 디바이스(projection device), 또는 시각적 이미지를 생성하기 위한 어떤 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 또한 예를 들어, 오디오 출력 디바이스들을 통해 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 디바이스"의 사용은 컴퓨팅 디바이스(1010)로부터의 정보를 사용자에게 출력하거나 혹은 또 하나의 다른 머신 또는 컴퓨팅 디바이스에 출력하기 위한 모든 가능한 타입의 디바이스들 및 방식들을 포함하도록 의도된 것이다.
저장 서브시스템(1024)은 본 명세서에서 설명되는 모듈들 중 일부 모듈 혹은 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구조들을 저장한다. 예를 들어, 저장 서브시스템(1024)은 도 9의 방법의 선택된 실시형태들을 수행하기 위한 로직, 뿐만 아니라 도 1에 도시된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이러한 소프트웨어 모듈들은 일반적으로 프로세서(1014)에 의해서만 실행되거나 또는 다른 프로세서들과 결합되어 실행된다. 저장 서브시스템(1024) 내에서 사용되는 메모리(1025)는 다수의 메모리들을 포함할 수 있는데, 이러한 다수의 메모리들은 프로그램 실행 동안 명령들 및 데이터를 저장하기 위한 메인 랜덤 액세스 메모리(Random Access Memory, RAM)(1030)를 포함하고, 아울러 고정된 명령들이 저장되는 판독 전용 메모리(Read Only Memory, ROM)(1032)를 포함한다. 파일 저장 서브시스템(1026)은 프로그램 및 데이터 파일들에 대한 지속적인 저장을 제공할 수 있고, 그리고 하드 디스크 드라이브를 포함할 수 있고, 플로피 디스크 드라이브를 관련된 탈착가능 미디어와 함께 포함할 수 있고, CD-ROM 드라이브, 광학 드라이브, 또는 탈착가능 미디어 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(1026)에 의해 저장 서브시스템(1024) 내에 저장될 수 있거나, 또는 프로세서(들)(1014)에 의해 액세스가능한 다른 머신들 내에 저장될 수 있다.
버스 서브시스템(1012)은 컴퓨팅 디바이스(1010)의 다양한 컴포넌트들 및 서브시스템들이 의도된 바에 따라 서로 통신하게 하기 위한 메커니즘을 제공한다. 비록 버스 서브시스템(1012)이 단일 버스로서 도시적으로 보여지고 있어도, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(1010)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 프로세싱 시스템 혹은 컴퓨팅 디바이스를 포함하는 다양한 타입들을 가질 수 있다. 컴퓨터들 및 네트워크들의 지속적으로 변하는 성질로 인해, 도 10에 도시된 컴퓨팅 디바이스(1010)의 설명은 일부 구현예들을 예시할 목적으로 단지 특정 예로서 의도된 것이다. 컴퓨팅 디바이스(1010)의 다수의 다른 구성들이 도 10에 도시된 컴퓨팅 디바이스보다 더 많거나 더 적은 컴포넌트들을 갖는 것이 가능하다.
본 명세서에서 논의되는 특정 구현예들이 사용자들에 대한 개인적 정보(예를 들어, 다른 전자 통신들로부터 추출된 사용자 데이터, 사용자의 소셜 네트워크에 대한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체 정보, 그리고 사용자의 활동들 및 인구통계학적 정보, 사용자들 간의 관계들, 등)를 수집 혹은 사용할 수 있는 상황들에서, 사용자들은 정보의 수집 여부, 개인적 정보의 저장 여부, 개인적 정보의 사용 여부, 그리고 사용자에 대한 정보의 수집, 저장 및 사용 방법을 제어할 하나 이상의 기회들을 제공받는다. 즉, 본 명세서에서 논의되는 시스템들 및 방법들은 사용자 개인 정보를 수집, 저장 및/또는 사용하되 오로지 그 관련 사용자들로부터 그렇게 하도록 하는 명시적 허가를 수신한 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자는 프로그램들 혹은 특징들이 그 특정 사용자에 대한 사용자 정보를 수집할지 또는 그 프로그램 혹은 특징과 관련된 다른 사용자들에 대한 사용자 정보를 수집할지 여부에 관한 제어권을 제공받는다. 개인적 정보의 수집의 대상이 되는 각각의 사용자는, 그 사용자와 관련된 정보 수집에 관해 제어할 수 있게 하는(이에 따라 정보의 수집 여부에 관해서 그리고 정보의 어떤 부분들이 수집될 것인지에 관해서 허락 혹은 허가를 제공할 수 있게 하는) 하나 이상의 옵션들을 제공받는다. 예를 들어, 사용자들은 통신 네트워크를 통해 하나 이상의 이러한 제어 옵션들을 제공받을 수 있다. 추가적으로, 특정 데이터는 저장 혹은 사용 전에 개인적으로 식별가능한 정보가 제거되도록 하나 이상의 방식으로 처리될 수 있다. 일 예로서, 사용자의 신원은 개인적으로 식별가능한 정보가 결정될 수 없도록 처리될 수 있다. 또 하나의 다른 예로서, 사용자의 지리적 위치는 사용자의 특정 위치가 결정될 수 없도록 더 넓은 영역으로 일반화될 수 있다.
수 개의 구현예들이 본 명세서에서 설명되었고 예시되었지만, 그 기능을 수행하기 위한 그리고/또는 해당 결과들 및/또는 본 명세서에서 설명되는 이점들 중 하나 이상의 이점을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 이용될 수 있고, 그리고 이러한 변형들 및/또는 수정들 각각은 본 명세서에서 설명되는 구현예들의 범위 내에 있는 것으로 고려된다. 더 일반적으로, 본 명세서에서 설명되는 모든 파라미터들, 치수들, 물질들, 및 구성들은 예시적 의미를 갖도록 의도된 것이고, 실제 파라미터들, 치수들, 물질들, 및/또는 구성들은 본 명세서의 가르침들이 사용되게 되는 특정 애플리케이션 혹은 애플리케이션들에 따라 달라질 것이다. 본 발명의 기술분야에서 숙련된 자들은 본 명세서에서 설명되는 특정 구현예들에 대한 많은 등가물들을 인식할 것이고, 또는 단지 일상적 실험만을 사용하여 그러한 많은 등가물들을 알 수 있을 것이다. 따라서, 이해해야 하는 것으로, 앞서의 구현예들은 단지 예시적으로 제시된 것이고, 그리고 첨부되는 청구항들 및 그 등가물들의 범위 내에서, 특정적으로 설명 및 청구되는 것과는 다른 다수의 구현예들이 실시될 수 있다. 본 개시내용의 구현예들은 본 명세서에서 설명되는 각각의 개별 특징, 시스템, 물품, 물질, 키트 및/또는 방법에 관한 것이다. 추가적으로, 둘 이상의 이러한 특징들, 시스템들, 물품들, 물질들, 키트들, 및/또는 방법들의 임의의 조합은, 만약 이러한 특징들, 시스템들, 물품들, 물질들, 키트들, 및/또는 방법들이 상호 양립가능하다면, 본 개시내용의 범위 내에 포함된다.

Claims (22)

  1. 방법으로서, 상기 방법은,
    하나 이상의 프로세서(processor)들에 의해, 사용자와 자동화된 보조기(automated assistant) 간의 기존의 인간-대-컴퓨터 대화 세션(human-to-computer dialog session)의 콘텐츠에 근거하여, 상기 사용자 또는 자동화된 보조기에 의해 언급된 엔티티(entity)를 식별하는 것과;
    상기 프로세스들 중 하나 이상에 의해, 상기 자동화된 보조기가 상기 사용자에 대한 상기 자동화된 보조기의 하나 이상의 미해결 의무(outstanding obligation)들을 이행(fulfil)했음을 결정하는 것과;
    상기 프로세서들 중 하나 이상에 의해, 하나 이상의 데이터베이스(database)들 내에 포함된 엔티티 데이터(entity data)에 근거하여, 상기 엔티티에 관한 하나 이상의 사실(fact)들을 식별하는 것과,
    여기서 상기 엔티티는 상기 데이터베이스들 중 하나 이상의 데이터베이스 내의 엔티티 클래스(entity class)와 관련되며;
    상기 프로세스들 중 하나 이상에 의해, 상기 하나 이상의 사실들 각각에 대해서, 상기 사용자의 잠재적 관심(potential interest)의 대응하는 정도(measure)를 결정하는 것과,
    여기서 각각의 사실에 대한 잠재적 관심의 상기 대응하는 정도는,
    상기 엔티티와 상기 사실 간의 관계, 그리고
    상기 엔티티와 동일한 엔티티 클래스를 공유하는 다른 엔티티들과 상기 다른 엔티티들에 관한 각각의 사실들 간의 동일한 관계에서 다른 사용자들의 관심들에
    근거하여 결정되며;
    상기 프로세스들 중 하나 이상에 의해, 요청되지 않은 자연 언어 콘텐츠(unsolicited natural language content)를 발생시키는 것과,
    여기서 상기 요청되지 않은 자연 언어 콘텐츠는 잠재적 관심의 상기 대응하는 하나 이상의 정도들에 근거하여 선택되는 상기 사실들 중 하나 이상을 포함하며; 그리고
    상기 자동화된 보조기가 상기 사용자에 대한 상기 자동화된 보조기의 하나 이상의 미해결 의무들을 이행했음을 결정한 이후에, 상기 자동화된 보조기에 의해, 상기 요청되지 않은 자연 언어 콘텐츠를 상기 기존의 인간-대-컴퓨터 대화 세션에 통합시키는 것을 포함하고,
    상기 통합시키는 것은 상기 요청되지 않은 자연 언어 콘텐츠로 하여금 상기 기존의 인간-대-컴퓨터 대화 세션의 일부로서 상기 사용자에게 자동적으로 출력되도록 하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 사용자의 잠재적 관심의 상기 대응하는 정도를 결정하는 것은 또한, 상기 사용자와 관련된 사용자 프로파일(user profile)과 관련된 데이터에 근거하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 사용자 프로파일과 관련된 데이터는 상기 사용자와 관련된 검색 이력(search history)을 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 하나의 항에 있어서,
    상기 사용자의 잠재적 관심의 상기 대응하는 정도를 결정하는 것은 또한, 하나 이상의 사람들 간의 하나 이상의 온라인 대화(online conversation)들의 말뭉치(corpus)의 분석에 근거하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 분석은, 하나 이상의 엔티티들에 대한 하나 이상의 참조(reference)들의 검출을 포함하고, 뿐만 아니라 상기 하나 이상의 엔티티들에 대한 상기 하나 이상의 참조들의 특정 근접도(proximity) 내의 하나 이상의 엔티티들에 관한 사실들에 대한 하나 이상의 참조들의 검출을 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 엔티티들은 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티를 포함하는 것을 특징으로 하는 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 하나 이상의 엔티티들은 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티와 상기 엔티티 클래스를 공유하는 것을 특징으로 하는 방법.
  8. 제5항 내지 제7항 중 어느 하나의 항에 있어서,
    상기 하나 이상의 엔티티들은 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티와 하나 이상의 속성(attribute)들을 공유하는 것을 특징으로 하는 방법.
  9. 선행하는 항들 중 어느 하나의 항에 있어서,
    상기 사용자의 잠재적 관심의 상기 대응하는 정도를 결정하는 것은, 상기 하나 이상의 사실들 중 소정의 사실이, 상기 사용자와 상기 자동화된 보조기 간의 상기 기존의 인간-대-컴퓨터 대화 세션에서 또는 상기 사용자와 상기 자동화된 보조기 간의 이전의 인간-대-컴퓨터 대화 세션에서, 이전에 참조되었음을 검출하는 것을 포함하는 것을 특징으로 하는 방법.
  10. 선행하는 항들 중 어느 하나의 항에 있어서,
    상기 방법은 또한, 상기 프로세스들 중 하나 이상에 의해, 상기 하나 이상의 사실들 중 소정의 사실을 고려(consideration)로부터 제거하는 것을 포함하고, 여기서 상기 제거는, 상기 소정의 사실이, 상기 사용자와 상기 자동화된 보조기 간의 상기 기존의 인간-대-컴퓨터 대화 세션에서 또는 상기 사용자와 상기 자동화된 보조기 간의 상기 이전의 인간-대-컴퓨터 대화 세션에서, 이전에 참조되었음을 검출하는 것에 근거하여 이루어지는 것을 특징으로 하는 방법.
  11. 선행하는 항들 중 어느 하나의 항에 있어서,
    상기 엔티티는 위치(location)이고, 상기 하나 이상의 사실들 중 소정의 사실은 상기 위치에서 혹은 상기 위치 가까이에서 일어나는 이벤트(event)인 것을 특징으로 하는 방법.
  12. 선행하는 항들 중 어느 하나의 항에 있어서,
    상기 엔티티는 사람(person)이고, 상기 하나 이상의 사실들 중 소정의 사실은 상기 사람이 관여된 다가오는 이벤트인 것을 특징으로 하는 방법.
  13. 시스템으로서, 상기 시스템은 하나 이상의 프로세서들과, 그리고 상기 하나 이상의 프로세서들과 동작가능하게 결합된 메모리를 포함하고, 상기 메모리는 명령들을 저장하고, 상기 명령들은 상기 하나 이상의 프로세서들에 의한 상기 명령들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금,
    사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화 세션의 콘텐츠에 근거하여, 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티를 식별하는 것과;
    상기 자동화된 보조기가 상기 사용자에 대한 상기 자동화된 보조기의 하나 이상의 미해결 의무들을 이행했음을 결정하는 것과;
    하나 이상의 데이터베이스들 내에 포함된 엔티티 데이터에 근거하여, 상기 엔티티에 관한 하나 이상의 사실들을 식별하는 것과,
    여기서 상기 엔티티는 상기 데이터베이스들 중 하나 이상의 데이터베이스 내의 엔티티 클래스와 관련되며;
    상기 하나 이상의 사실들 각각에 대해서, 상기 사용자의 잠재적 관심의 대응하는 정도를 결정하는 것과,
    여기서 각각의 사실에 대한 잠재적 관심의 상기 대응하는 정도는,
    상기 엔티티와 상기 사실 간의 관계, 그리고
    상기 엔티티와 동일한 엔티티 클래스를 공유하는 다른 엔티티들과 상기 다른 엔티티들에 관한 각각의 사실들 간의 동일한 관계에서 다른 사용자들의 관심들에
    근거하여 결정되며;
    요청되지 않은 자연 언어 콘텐츠를 발생시키는 것과,
    여기서 상기 요청되지 않은 자연 언어 콘텐츠는 잠재적 관심의 상기 대응하는 하나 이상의 정도들에 근거하여 선택되는 상기 사실들 중 하나 이상을 포함하며; 그리고
    상기 자동화된 보조기가 상기 사용자에 대한 상기 자동화된 보조기의 하나 이상의 미해결 의무들을 이행했음을 결정한 이후에, 상기 자동화된 보조기에 의해, 상기 요청되지 않은 자연 언어 콘텐츠를 상기 기존의 인간-대-컴퓨터 대화 세션에 통합시키는 것을
    수행하도록 하며,
    상기 통합시키는 것은 상기 요청되지 않은 자연 언어 콘텐츠로 하여금 상기 기존의 인간-대-컴퓨터 대화 세션의 일부로서 상기 사용자에게 자동적으로 출력되도록 하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 사용자의 잠재적 관심의 상기 대응하는 정도를 결정하는 것은 또한, 상기 사용자와 관련된 사용자 프로파일과 관련된 데이터에 근거하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 사용자 프로파일과 관련된 데이터는 상기 사용자와 관련된 검색 이력을 포함하는 것을 특징으로 하는 시스템.
  16. 제13항 내지 제15항 중 어느 하나의 항에 있어서,
    상기 사용자의 잠재적 관심의 상기 대응하는 정도를 결정하는 것은 또한, 하나 이상의 사람들 간의 하나 이상의 온라인 대화들의 말뭉치의 분석에 근거하는 것을 특징으로 하는 시스템.
  17. 제16항에 있어서,
    상기 분석은, 하나 이상의 엔티티들에 대한 하나 이상의 참조들의 검출을 포함하고, 뿐만 아니라 상기 하나 이상의 엔티티들에 대한 상기 하나 이상의 참조들의 특정 근접도 내의 하나 이상의 엔티티들에 관한 사실들에 대한 하나 이상의 참조들의 검출을 포함하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 하나 이상의 엔티티들은 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티를 포함하는 것을 특징으로 하는 시스템.
  19. 제17항 또는 제18항에 있어서,
    상기 하나 이상의 엔티티들은 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티와 엔티티 클래스를 공유하는 것을 특징으로 하는 시스템.
  20. 명령들을 포함하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체로서, 상기 명령들은 하나 이상의 프로세서들에 의한 상기 명령들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금, 다음의 동작들,
    사용자와 자동화된 보조기 간의 기존의 인간-대-컴퓨터 대화 세션의 콘텐츠에 근거하여, 상기 사용자 또는 상기 자동화된 보조기에 의해 언급된 엔티티를 식별하는 것과;
    상기 자동화된 보조기가 상기 사용자에 대한 상기 자동화된 보조기의 하나 이상의 미해결 의무들을 이행했음을 결정하는 것과;
    하나 이상의 데이터베이스들 내에 포함된 엔티티 데이터에 근거하여, 상기 엔티티에 관한 하나 이상의 사실들을 식별하는 것과,
    여기서 상기 엔티티는 상기 데이터베이스들 중 하나 이상의 데이터베이스 내의 엔티티 클래스와 관련되며;
    상기 하나 이상의 사실들 각각에 대해서, 상기 사용자의 잠재적 관심의 대응하는 정도를 결정하는 것과,
    여기서 각각의 사실에 대한 잠재적 관심의 상기 대응하는 정도는,
    상기 엔티티와 상기 사실 간의 관계, 그리고
    상기 엔티티와 동일한 엔티티 클래스를 공유하는 다른 엔티티들과 상기 다른 엔티티들에 관한 각각의 사실들 간의 동일한 관계에서 다른 사용자들의 관심들에
    근거하여 결정되며;
    요청되지 않은 자연 언어 콘텐츠를 발생시키는 것과,
    여기서 상기 요청되지 않은 자연 언어 콘텐츠는 잠재적 관심의 상기 대응하는 하나 이상의 정도들에 근거하여 선택되는 상기 사실들 중 하나 이상을 포함하며; 그리고
    상기 자동화된 보조기가 상기 사용자에 대한 상기 자동화된 보조기의 하나 이상의 미해결 의무들을 이행했음을 결정한 이후에, 상기 자동화된 보조기에 의해, 상기 요청되지 않은 자연 언어 콘텐츠를 상기 기존의 인간-대-컴퓨터 대화 세션에 통합시키는 것을
    수행하도록 하며,
    상기 통합시키는 것은 상기 요청되지 않은 자연 언어 콘텐츠로 하여금 상기 기존의 인간-대-컴퓨터 대화 세션의 일부로서 상기 사용자에게 자동적으로 출력되도록 하는 것을 특징으로 하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체.
  21. 명령들을 포함하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체로서, 상기 명령들은 하나 이상의 프로세서들에 의한 상기 명령들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금, 청구항 제1항 내지 제12항 중 어느 하나의 항의 방법을 수행하도록 하는 것을 특징으로 하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체.
  22. 시스템으로서, 상기 시스템은 하나 이상의 프로세서들과, 그리고 상기 하나 이상의 프로세서들과 동작가능하게 결합된 메모리를 포함하고, 상기 메모리는 명령들을 저장하고, 상기 명령들은 하나 이상의 프로세서들에 의한 상기 명령들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금, 청구항 제1항 내지 제12항 중 어느 하나의 항의 방법을 수행하도록 하는 것을 특징으로 하는 시스템.
KR1020197035659A 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합 KR102346637B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217043111A KR102406612B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/585,363 US9865260B1 (en) 2017-05-03 2017-05-03 Proactive incorporation of unsolicited content into human-to-computer dialogs
US15/585,363 2017-05-03
US15/825,919 US10482882B2 (en) 2017-05-03 2017-11-29 Proactive incorporation of unsolicited content into human-to-computer dialogs
US15/825,919 2017-11-29
PCT/US2018/030317 WO2018204288A1 (en) 2017-05-03 2018-04-30 Proactive incorporation of unsolicited content into human-to-computer dialogs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217043111A Division KR102406612B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합

Publications (2)

Publication Number Publication Date
KR20200003871A true KR20200003871A (ko) 2020-01-10
KR102346637B1 KR102346637B1 (ko) 2022-01-03

Family

ID=60812807

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020217043111A KR102406612B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
KR1020197035659A KR102346637B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
KR1020227018703A KR102528518B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
KR1020237014508A KR102668732B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217043111A KR102406612B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020227018703A KR102528518B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
KR1020237014508A KR102668732B1 (ko) 2017-05-03 2018-04-30 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합

Country Status (6)

Country Link
US (5) US9865260B1 (ko)
EP (1) EP3607462A1 (ko)
JP (4) JP6844036B2 (ko)
KR (4) KR102406612B1 (ko)
CN (1) CN110582765A (ko)
WO (1) WO2018204288A1 (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US10360906B2 (en) 2016-06-14 2019-07-23 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US10162817B2 (en) * 2016-06-14 2018-12-25 Microsoft Technology Licensing, Llc Computer messaging bot creation
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
US10628754B2 (en) * 2017-06-06 2020-04-21 At&T Intellectual Property I, L.P. Personal assistant for facilitating interaction routines
US10657173B2 (en) 2017-06-09 2020-05-19 Google Llc Validate modification of audio-based computer program output
US10614122B2 (en) 2017-06-09 2020-04-07 Google Llc Balance modifications of audio-based computer program output using a placeholder field based on content
US10600409B2 (en) 2017-06-09 2020-03-24 Google Llc Balance modifications of audio-based computer program output including a chatbot selected based on semantic processing of audio
US10652170B2 (en) 2017-06-09 2020-05-12 Google Llc Modification of audio-based computer program output
CN109844708B (zh) * 2017-06-21 2022-06-21 微软技术许可有限责任公司 通过聊天机器人推荐媒体内容
US10742435B2 (en) 2017-06-29 2020-08-11 Google Llc Proactive provision of new content to group chat participants
KR102060777B1 (ko) * 2017-11-22 2019-12-30 주식회사 이르테크 화행 제어를 이용한 대화 처리 시스템 및 그 동작 방법
US11315552B1 (en) * 2018-03-23 2022-04-26 Amazon Technologies, Inc. Responding with unresponsive content
US11854040B1 (en) 2018-03-23 2023-12-26 Amazon Technologies, Inc. Responding with unresponsive content
US11544303B1 (en) 2018-03-23 2023-01-03 Amazon Technologies, Inc. Responding with unresponsive content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US10978056B1 (en) 2018-04-20 2021-04-13 Facebook, Inc. Grammaticality classification for natural language generation in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11115410B1 (en) 2018-04-20 2021-09-07 Facebook, Inc. Secure authentication for assistant systems
US11010436B1 (en) 2018-04-20 2021-05-18 Facebook, Inc. Engaging users by personalized composing-content recommendation
CN110399470B (zh) 2018-04-24 2023-06-20 微软技术许可有限责任公司 会话消息处理
DE102018113140A1 (de) * 2018-06-01 2019-12-05 Bayerische Motoren Werke Aktiengesellschaft Ganzheitliche individualisierte Mensch-Maschine-Kommunikation
WO2019236372A1 (en) * 2018-06-03 2019-12-12 Google Llc Selectively generating expanded responses that guide continuance of a human-to-computer dialog
US10896295B1 (en) 2018-08-21 2021-01-19 Facebook, Inc. Providing additional information for identified named-entities for assistant systems
US10949616B1 (en) 2018-08-21 2021-03-16 Facebook, Inc. Automatically detecting and storing entity information for assistant systems
US11625409B2 (en) 2018-09-24 2023-04-11 Salesforce, Inc. Driving application experience via configurable search-based navigation interface
US10659400B2 (en) 2018-10-05 2020-05-19 The Toronto-Dominion Bank Automated population of deep-linked interfaces during programmatically established chatbot sessions
EP3676728B1 (en) 2018-11-21 2023-11-29 Google LLC Consolidation of responses from queries to disparate data sources
US11182488B2 (en) * 2018-11-28 2021-11-23 International Business Machines Corporation Intelligent information protection based on detection of emergency events
US10770059B2 (en) * 2019-01-29 2020-09-08 Gridspace Inc. Conversational speech agent
US11526674B2 (en) * 2019-03-01 2022-12-13 Rakuten Group, Inc. Sentence extraction system, sentence extraction method, and information storage medium
US11657094B2 (en) 2019-06-28 2023-05-23 Meta Platforms Technologies, Llc Memory grounded conversational reasoning and question answering for assistant systems
US11442992B1 (en) 2019-06-28 2022-09-13 Meta Platforms Technologies, Llc Conversational reasoning with knowledge graph paths for assistant systems
US20200411006A1 (en) * 2019-06-28 2020-12-31 NJ TRANSIT Corporation Transit voice assistant
KR20210015524A (ko) 2019-08-02 2021-02-10 삼성전자주식회사 사용자 관심도의 산출 방법 및 이를 지원하는 전자 장치
KR20210028380A (ko) 2019-09-04 2021-03-12 삼성전자주식회사 음성 인식 기능을 이용한 동작을 수행하는 전자 장치 및 이를 이용한 동작과 관련된 알림을 제공하는 방법
US11087094B2 (en) * 2019-09-30 2021-08-10 Accenture Global Solutions Limited System and method for generation of conversation graphs
US20210117214A1 (en) * 2019-10-18 2021-04-22 Facebook, Inc. Generating Proactive Content for Assistant Systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US11443740B1 (en) * 2019-12-12 2022-09-13 Amazon Technologies, Inc. Content selection by natural language processing systems
CN111341308B (zh) * 2020-02-12 2023-07-21 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
US11562744B1 (en) 2020-02-13 2023-01-24 Meta Platforms Technologies, Llc Stylizing text-to-speech (TTS) voice response for assistant systems
JP7392128B2 (ja) * 2020-03-20 2023-12-05 グーグル エルエルシー 人間の参加者の代理の自動アシスタントによる準委任通話
US11159767B1 (en) 2020-04-07 2021-10-26 Facebook Technologies, Llc Proactive in-call content recommendations for assistant systems
US11658835B2 (en) 2020-06-29 2023-05-23 Meta Platforms, Inc. Using a single request for multi-person calling in assistant systems
US11756444B2 (en) 2020-10-27 2023-09-12 Andrew Li Student message monitoring using natural language processing
CN112632251B (zh) 2020-12-24 2023-12-29 北京百度网讯科技有限公司 回复内容的生成方法、装置、设备和存储介质
US11563706B2 (en) 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
US11809480B1 (en) 2020-12-31 2023-11-07 Meta Platforms, Inc. Generating dynamic knowledge graph of media contents for assistant systems
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US20230123518A1 (en) * 2021-10-14 2023-04-20 Meta Platforms, Inc. Motion-based generation of applications in virtual reality and augmented reality systems
US20230169967A1 (en) * 2021-11-30 2023-06-01 Google Llc Dynamic assistant suggestions during assistant browsing
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050054381A1 (en) * 2003-09-05 2005-03-10 Samsung Electronics Co., Ltd. Proactive user interface
US20070201636A1 (en) * 2006-01-23 2007-08-30 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
US8612226B1 (en) * 2013-01-28 2013-12-17 Google Inc. Determining advertisements based on verbal inputs to applications on a computing device
US9117447B2 (en) * 2006-09-08 2015-08-25 Apple Inc. Using event alert text as input to an automated assistant

Family Cites Families (82)

* 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
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
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
US8170740B2 (en) * 2008-07-24 2012-05-01 GM Global Technology Operations LLC Adaptive vehicle control system with driving style recognition based on vehicle launching
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
EP3200185A1 (en) 2011-09-30 2017-08-02 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
US10026400B2 (en) * 2013-06-27 2018-07-17 Google Llc Generating dialog recommendations for chat information systems based on user interaction and environmental data
CN104813311B (zh) 2012-12-11 2018-06-05 纽昂斯通讯公司 用于多人的虚拟代理推荐的系统和方法
US9659298B2 (en) 2012-12-11 2017-05-23 Nuance Communications, Inc. Systems and methods for informing virtual agent recommendation
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
AU2014274913B2 (en) 2013-06-07 2017-05-11 Apple Inc. Intelligent automated 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
WO2015094169A1 (en) 2013-12-16 2015-06-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
US10534623B2 (en) * 2013-12-16 2020-01-14 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9479931B2 (en) 2013-12-16 2016-10-25 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
EP3158691A4 (en) 2014-06-06 2018-03-28 Obschestvo S Ogranichennoy Otvetstvennostiyu "Speactoit" Proactive environment-based chat information system
JP6359935B2 (ja) 2014-09-30 2018-07-18 株式会社Nttドコモ 対話装置および対話方法
WO2016129276A1 (ja) 2015-02-12 2016-08-18 パナソニックIpマネジメント株式会社 情報提供方法、サーバ、情報端末装置、システム及び音声対話システム
US11178078B2 (en) * 2015-04-03 2021-11-16 XSELL Technologies, Inc. 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
US10757043B2 (en) 2015-12-21 2020-08-25 Google Llc Automatic suggestions and other content for messaging applications
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
US20180189352A1 (en) * 2016-12-31 2018-07-05 Entefy Inc. Mixed-grained detection and analysis of user life events for context understanding
US10332505B2 (en) * 2017-03-09 2019-06-25 Capital One Services, Llc Systems and methods for providing automated natural language dialogue with customers
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050054381A1 (en) * 2003-09-05 2005-03-10 Samsung Electronics Co., Ltd. Proactive user interface
US20070201636A1 (en) * 2006-01-23 2007-08-30 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
US9117447B2 (en) * 2006-09-08 2015-08-25 Apple Inc. Using event alert text as input to an automated assistant
US8612226B1 (en) * 2013-01-28 2013-12-17 Google Inc. Determining advertisements based on verbal inputs to applications on a computing device

Also Published As

Publication number Publication date
EP3607462A1 (en) 2020-02-12
JP2024038294A (ja) 2024-03-19
KR20220082094A (ko) 2022-06-16
KR102528518B1 (ko) 2023-05-04
US20190378511A1 (en) 2019-12-12
US20210383809A1 (en) 2021-12-09
KR102346637B1 (ko) 2022-01-03
JP7419485B2 (ja) 2024-01-22
US9865260B1 (en) 2018-01-09
KR102668732B1 (ko) 2024-05-28
JP2020521160A (ja) 2020-07-16
US10482882B2 (en) 2019-11-19
JP6844036B2 (ja) 2021-03-17
US20230377571A1 (en) 2023-11-23
US11114100B2 (en) 2021-09-07
US20180322880A1 (en) 2018-11-08
JP2021092808A (ja) 2021-06-17
WO2018204288A1 (en) 2018-11-08
KR20220003648A (ko) 2022-01-10
US11929069B2 (en) 2024-03-12
JP7192001B2 (ja) 2022-12-19
CN110582765A (zh) 2019-12-17
KR102406612B1 (ko) 2022-06-08
JP2023029974A (ja) 2023-03-07
KR20230062891A (ko) 2023-05-09

Similar Documents

Publication Publication Date Title
KR102528518B1 (ko) 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
JP7443407B2 (ja) 会議能力を有する自動アシスタント
US11887594B2 (en) Proactive incorporation of unsolicited content into human-to-computer dialogs
KR20200006107A (ko) 다수의 코퍼스들로부터 응답 정보 획득

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant