KR20230130580A - 실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화 - Google Patents

실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화 Download PDF

Info

Publication number
KR20230130580A
KR20230130580A KR1020230028571A KR20230028571A KR20230130580A KR 20230130580 A KR20230130580 A KR 20230130580A KR 1020230028571 A KR1020230028571 A KR 1020230028571A KR 20230028571 A KR20230028571 A KR 20230028571A KR 20230130580 A KR20230130580 A KR 20230130580A
Authority
KR
South Korea
Prior art keywords
media content
user
machine learning
input
context
Prior art date
Application number
KR1020230028571A
Other languages
English (en)
Inventor
아브히지트 벤데일
밥 리안
마이클 사피엔자
프라나브 미스트리
사이먼 깁스
Original Assignee
투 플랫폼스 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 투 플랫폼스 인크. filed Critical 투 플랫폼스 인크.
Publication of KR20230130580A publication Critical patent/KR20230130580A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural 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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/904Browsing; Visualisation therefor
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)

Abstract

방법은, 텍스트, 오디오, 비디오, 또는 컨텍스트 정보와 같은 멀티-모달 입력들을 포함하는 입력을 사용자와 연관된 클라이언트 디바이스로부터 수신하는 단계, 입력과 연관된 태스크를 복수의 서버들 중 하나의 서버에 할당하는 단계, 입력 및 컴퓨팅 시스템과 사용자 간의 상호작용 이력에 기초하여 입력에 대응하는 컨텍스트 응답을 결정하는 단계, 훈련된 거동 지식 그래프에 쿼리함으로써 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성하는 단계, 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성하는 단계- 미디어 콘텐츠 출력은 메타데이터에 의해 지정된 표정들, 감정들, 및 비-구두 및 구두 제스처들에서의 결정된 컨텍스트 응답에 대응하는 텍스트, 오디오, 및 시각적 정보를 포함함 -, 생성된 미디어 콘텐츠 출력을 사용자에게 제시하기 위한 명령어들을 클라이언트 디바이스에 전송하는 단계를 포함한다.

Description

실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화 {AUTONOMOUS GENERATION, DEPLOYMENT, AND PERSONALIZATION OF REAL-TIME INTERACTIVE DIGITAL AGENTS}
본 개시내용은 일반적으로 머신 러닝 기술들에 관한 것으로, 특히 자율적으로 생성, 배치 및 개인화된 디지털 에이전트들에 대한 머신 러닝 모델들을 위한 하드웨어 및 소프트웨어에 관한 것이다.
보통 단순히 신경망(NN)이라 지칭되는 인공 신경망(ANN)은 동물의 뇌를 구성하는 생물학적 신경망에 의해 다소 영감을 받은 컴퓨팅 시스템이다. ANN은 생물학적 뇌의 뉴런들을 느슨하게 모델링하는 인공 뉴런들이라고 지칭되는 연결된 유닛들 또는 노드들의 모음에 기초한다. 생물학적 뇌에서의 시냅스들과 같은, 각각의 연결은 신호를 다른 뉴런들로 전송할 수 있다. 신호를 수신하는 인공 뉴런은 그 후 이를 처리하고 이에 연결된 뉴런들에 시그널링할 수 있다. 연결에서의 "신호"는 실수이고, 각각의 뉴런의 출력이 그 입력들의 합의 일부 비선형 함수에 의해 계산된다. 연결들은 에지라 지칭된다. 뉴런들 및 에지들은 전형적으로 학습이 진행됨에 따라 조정되는 가중치를 갖는다. 가중치는 연결에서 신호의 강도를 증가 또는 감소시킨다. 뉴런들은 임계값을 가질 수 있고, 그래서, 집성 신호가 그 임계값과 교차할 경우에만 신호가 전송된다. 전형적으로, 뉴런들은 계층들로 집성된다. 상이한 계층들은 그 입력에 대해 상이한 변환을 수행할 수 있다. 신호들은 제1 계층(입력 계층)으로부터, 가능하게는 계층들을 여러 번 횡단한 후에, 최종 계층(출력 계층)으로 이동한다. 생성 적대 네트워크(Generative Adversarial Network)(GAN)들은 입력 데이터에 기초하여 새로운 이미지와 같은 새로운 데이터를 생성하는 ANN들의 타입이다.
첨부된 청구항들은 본 발명의 요약에 해당하는 역할을 할 수 있다.
도 1은 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 컴퓨팅 시스템에 대한 예시적인 논리적 아키텍처를 예시한다.
도 2는 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 컴퓨팅 시스템에 대한 예시적인 물리적 아키텍처를 예시한다.
도 3은 머신 러닝 기반 컨텍스트 엔진에 의해 구동되는 디지털 에이전트들과 전통적인 디지털 에이전트들 사이의 멀티-세션 채팅들의 예시적인 비교를 예시한다.
도 4는 복수의 소스들로부터의 정보를 이용하는 멀티-인코더 디코더 네트워크에 대한 예시적인 아키텍처를 예시한다.
도 5는 대화 모델을 업데이트하기 위한 예시적인 시나리오를 예시한다.
도 6은 외부 소스들로부터의 정보에 기초하여 개인화된 응답을 생성하기 위한 예시적인 절차를 예시한다.
도 6a는 예시적인 감정 분석 프로세스를 예시한다.
도 7은 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 예시적인 기능 아키텍처를 예시한다.
도 8은 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 예시적인 입력 및 출력을 예시한다.
도 9는 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 예시적인 방법을 예시한다.
도 10은 예시적인 컴퓨터 시스템을 예시한다.
아래의 개요에 따라 아래의 섹션들에서 실시예들이 설명된다:
1. 일반 개요
2. 구조적 개요
3. 기능적 개요
4. 구현예 - 하드웨어 개요
*
1. 일반 개요
본 명세서에 설명된 특정 실시예들은 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하는 시스템들 및 방법들에 관한 것이다. 본 명세서에 설명된 시스템은 애플리케이션 프로그래밍 인터페이스(API) 게이트웨이, 로드 밸런서, 사용자들로부터의 복수의 동시 입력에 대한 미디어 콘텐츠 출력을 생성하는 것을 담당하는 복수의 서버, 및 복수의 자율 워커를 포함할 수 있다. 복수의 서버는 실시간 부하들에 기초하여 수평적으로 스케일링가능할 수 있다. 개인화된 디지털 에이전트에 의해 생성된 응답들은 텍스트, 오디오 및/또는 시각적으로 구현된 인공 지능(AI)의 형태일 수 있다.
본 명세서에 개시된 시스템은 인간과 같은 감정 및 표정들을 전달할 수 있는 사실적 시각자료들을 개인화된 디지털 에이전트에 제공할 수 있다. 시스템은 사용자와의 상호작용(예를 들어, 대화)의 컨텍스트를 인식하도록 프로그램되고 이러한 상호작용 동안에 실시간으로 감정과 표정을 자동으로 전달할 수 있다. 시스템은 에이전트들이 사용자들의 감정들을 결정하고 그에 따라 응답하는 것을 허용하는 감정 검출 메커니즘으로 추가로 프로그램된다(예를 들어, "오늘 슬퍼 보이시네요", "행복한 기분이신 것 같아요" 등). 시스템은 또한 디지털 에이전트들이 사용자들의 의도를 결정하고 그에 따라 응답할 수 있게 하는 의도 검출 메커니즘으로 프로그램되어 있다. 시스템은 다수의 외부 소스들 및 사용자들과의 과거 대화 이력으로부터 끌어와서 사용자 질문들에 대해 동적인, 인간과 같은 응답들을 제공하도록 더 프로그램된다. 시스템은 실시간으로 다수의 양상들, 예를 들어, 오디오(음성 통화들), 비디오(대면 대화들) 사이에서 통신하고 스위칭할 수 있다. 이 시스템은 또한 향후의 대화에 기초하여 연속적으로 업데이트될 수 있는, 대화 이력으로부터의 전역 관심 맵을 생성, 유지 및 이용하도록 프로그램된다. 본 명세서에 개시된 실시예들의 다양한 양태들을 통해, 시스템은 사용자들이 관심을 갖는 토픽들을 결정할 수 있다.
특정 실시예들에서, 분산 및 확장형 클라우드 플랫폼 상의 컴퓨팅 시스템은 텍스트, 오디오, 비디오, 또는 임의의 적절한 컨텍스트 정보와 같은 멀티-모달 입력들을 포함하는 입력을 사용자와 연관된 클라이언트 디바이스로부터 수신할 수 있다. 컴퓨팅 시스템은 입력과 연관된 태스크를 복수의 서버들 중 하나의 서버에 할당할 수 있다. 입력과 연관된 태스크는 입력에 대응하는 출력을 생성하기 위한 절차들을 포함할 수 있다. 특정 실시예들에서, 컴퓨팅 시스템 내의 로드 밸런서가 태스크를 서버에 할당할 수 있다. 로드 밸런서는 복수의 서버의 실시간 부하들에 기초하여 수평적 스케일링을 수행할 수 있다.
특정 실시예들에서, 컴퓨팅 시스템은 머신 러닝 기반 컨텍스트 엔진을 사용하여 컴퓨팅 시스템과 사용자 사이의 입력 및 상호작용 이력에 기초하여 입력에 대응하는 컨텍스트 응답을 결정할 수 있다. 머신 러닝 기반 컨텍스트 엔진은 복수의 소스로부터의 정보를 이용하도록 훈련된 멀티-인코더 디코더 네트워크를 이용할 수 있다. 멀티-인코더 디코더 네트워크는 소스-특정 대화 현실 손실 함수들로 실생활 대화로부터의 자기-지도 주석들로 훈련될 수 있다. 복수의 소스는, 입력, 상호작용 이력, 외부 검색 엔진, 또는 지식 그래프 중 2개 이상을 포함할 수 있다. 외부 검색 엔진 또는 지식 그래프로부터의 정보는 하나 이상의 작성된 쿼리에 기초할 수 있다. 하나 이상의 작성된 쿼리는 입력의 컨텍스트, 상호작용 이력, 또는 사용자의 쿼리 이력에 기초하여 작성될 수 있다. 상호작용 이력은 대화 모델을 통해 제공될 수 있다. 대화 모델을 유지하기 위해, 컴퓨팅 시스템은 사용자가 처음으로 컴퓨팅 시스템과 상호작용할 때 초기 시드 데이터를 갖는 대화 모델을 생성할 수 있다. 컴퓨팅 시스템은 각각의 상호작용 세션에 이어 데이터 저장소에 상호작용 요약을 저장할 수 있다. 컴퓨팅 시스템은, 사용자로부터의 새로운 입력이 도달할 때 이전의 상호작용에 대응하는 상호작용 요약을 데이터 저장소로부터 쿼리할 수 있다. 컴퓨팅 시스템은 쿼리된 상호작용 요약들에 기초하여 대화 모델을 업데이트할 수 있다.
특정 실시예들에서, 컴퓨팅 시스템은 훈련된 거동 지식 그래프에 쿼리함으로써 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성할 수 있다. 메타데이터는 마크업 언어로 구성될 수 있다. 마크업 언어는 또한 멀티-모달 통신 동안에 양상들 간의 동기화를 창출하기 위해(예를 들어, 오디오를 시각적으로 생성된 표정과 동기화시키기 위해) 사용될 수 있다.
특정 실시예들에서, 컴퓨팅 시스템은 머신 러닝 기반 미디어 콘텐츠 생성 엔진을 이용하여 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성할 수 있다. 특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 복수의 자율 워커 중의 자율 워커 상에서 실행될 수 있다. 미디어 콘텐츠 출력은 메타데이터에 의해 지정되는 표정들, 감정들, 및 비-구두 및 구두 제스처들 내의 결정된 컨텍스트 응답에 대응하는 컨텍스트 정보를 포함할 수 있다. 미디어 콘텐츠 출력은 구두 및 비-구두 형태로 컨텍스트 정보를 전달하는 시각적으로 구현된 AI를 포함할 수 있다. 미디어 콘텐츠 출력을 생성하기 위해, 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 머신 러닝 기반 컨텍스트 엔진으로부터 컨텍스트 응답 및 메타데이터를 포함하는 텍스트를 수신할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 텍스트-스피치 변환 기술들을 이용하여 컨텍스트 응답에 대응하는 오디오 신호들을 생성할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 생성된 오디오 신호들로부터 수집된 오디오 특징들에 기초하여 얼굴 표정 파라미터들을 생성할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 얼굴 표정 파라미터들에 기초하여 얼굴의 파라메트릭 특징 표현을 생성할 수 있다. 파라메트릭 특징 표현은 기하 구조, 스케일, 얼굴의 형상, 또는 신체 제스처들과 연관된 정보를 포함할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 얼굴의 파라메트릭 특징 표현 및 메타데이터에 기초하여 얼굴에 대한 하이 레벨 변조의 세트를 생성할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 생성된 오디오 신호들과 동기화되는 시각적으로 구현된 AI의 비디오의 스트림을 생성할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 대화 유닛, 감정 유닛 및 렌더링 유닛을 포함할 수 있다. 대화 유닛은 (1) 미리 결정된 음성에서의 컨텍스트 응답에 기초하여 발성 대화를 생성할 수 있고, (2) 발성 정서, 억양 및 음성 제스처를 포함하는 음성 스타일을 생성할 수 있다. 대화 유닛은 음성학에 기초하여 생성된 발성 대화에 대응하는 동기화된 얼굴 표정들 및 입술 움직임들의 내부 표현을 생성할 수 있다. 대화 유닛은 복수의 언어 및 복수의 지역 액센트에 걸쳐 생성된 발성 대화에 대응하는 동기화된 얼굴 표정들 및 입술 움직임들의 내부 표현을 생성할 수 있을 수 있다. 감정 유닛은 훈련된 거동 지식 그래프를 유지할 수 있다. 렌더링 유닛은 대화 유닛 및 메타데이터의 출력에 기초하여 미디어 콘텐츠 출력을 생성할 수 있다. 또한, 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 손 움직임, 포인팅, 웨이빙 및 유입 텍스트 및 오디오 데이터로부터 대화 경험을 향상시키는 다른 제스처들과 같은 신체 제스처들을 생성할 수 있다.
특정 실시예에서, 컴퓨팅 시스템은 생성된 미디어 콘텐츠 출력을 사용자에게 제시하기 위한 명령을 클라이언트 디바이스로 전송할 수 있다.
본 명세서에 개시된 실시예들은 단지 예들이고, 본 개시내용의 범위는 그것들로 제한되지 않는다. 특정 실시예들은 본 명세서에 개시된 실시예들의 컴포넌트들, 엘리먼트들, 특징들, 기능들, 동작들, 또는 단계들 전부를 포함할 수 있거나, 이들 중 일부를 포함할 수 있거나, 또는 이들을 어느 것도 포함하지 않을 수 있다. 본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구항들에 개시되고, 하나의 청구항 카테고리, 예를 들어, 방법에서 언급된 임의의 특징, 다른 청구항 카테고리, 예를 들어, 시스템에서도 청구될 수 있다. 첨부된 청구항들에서의 종속성들 또는 후속 인용들은 단지 형식적인 이유들로 선택된 것이다. 그러나, 임의의 이전 청구항들에 대한 의도적인 후속 인용(특히, 다중 종속성들)으로 얻어지는 모든 주제 발생하는 임의의 주제도 또한 청구될 수 있으므로, 이의 청구항들 및 특징들의 임의의 조합이 첨부된 청구범위에서 선택된 종속성들에 관계없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항들에 기재된 바와 같은 특징들의 조합들 뿐만 아니라 또한 청구항들 내의 특징들의 임의의 다른 조합을 포함하며, 청구항들에서 언급된 각각의 특징은 청구항들에서의 임의의 다른 특징 또는 다른 특징들의 조합과 조합될 수 있다. 또한, 본 명세서에서 설명 또는 도시된 실시예들 및 특징들 중 임의의 것이 별개의 청구항으로 및/또는 본 명세서에서 설명 또는 도시된 임의의 실시예 또는 특징과의, 또는 첨부된 청구범위의 특징들 중 임의의 특징과의 임의의 조합으로, 청구될 수 있다.
2. 구조적 개요
이하의 설명에서, 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 방법들 및 시스템들이 설명된다. 시스템들은 생성되고 저장된 콘텐츠를 통해 저 레이턴시 멀티-모달 응답들을 생성할 수 있다. 시스템은 감정 및 표정을 갖는 사실적 시각적 외관을 생성할 수 있다. 감정 및 표정들은 마크업 언어 기반 메타데이터로 제어될 수 있다. 디지털 에이전트는 과거 상호작용 이력, 장기 메모리 및 다른 컨텍스트 정보 소스를 포함하는 복수의 지식 소스들에 기초하여 개인화된 응답들을 제공할 수 있다.
도 1은 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 컴퓨팅 시스템에 대한 예시적인 논리적 아키텍처를 예시한다. 컴퓨팅 시스템(100)의 API 인터페이스(110)는 단계 101에서 사용자와 연관된 클라이언트 애플리케이션(140)으로부터 사용자 입력을 수신할 수 있다. 사용자 입력은 채팅 모드(텍스트 채팅, 오디오 채팅 또는 비디오 채팅)에 따라 텍스트, 오디오 및 시각적 입력과 함께 컨텍스트 정보를 포함하는 멀티-모달 입력을 포함할 수 있다. 단계 103에서, API 인터페이스(110)는 사용자 입력을 컴퓨팅 시스템(100)의 머신 러닝 기반 컨텍스트 엔진(120)에 전달할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 사용자 입력 및 컴퓨팅 시스템(100)과 사용자 사이의 상호작용 이력에 기초하여 사용자 입력에 대응하는 컨텍스트 응답을 결정할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 또한 훈련된 거동 지식 그래프에 쿼리함으로써 컨텍스트 응답과 연관된 표정들, 감정들 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성할 수 있다. 단계 105에서, 결정된 컨텍스트 응답은 메타데이터와 함께 컴퓨팅 시스템(100)의 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)으로 전달된다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 결정된 컨텍스트 응답 및 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성할 수 있다. 미디어 콘텐츠 출력은 메타데이터에 의해 지정되는 표정들, 감정들, 및 비-구두 및 구두 제스처들 내의 결정된 컨텍스트 응답에 대응하는 컨텍스트 정보를 포함할 수 있다. 단계 107에서, 생성된 미디어 콘텐츠 출력은 API 인터페이스(110)로 전달될 수 있다. API 인터페이스(110)는 단계 109에서 생성된 미디어 콘텐츠 출력을 사용자에게 제시하기 위한 명령어들을 클라이언트 애플리케이션(140)에 전송할 수 있다. 본 개시내용이 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 특정한 논리적 아키텍처를 설명하지만, 본 개시내용은 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 임의의 적절한 논리적 아키텍처를 고려한다.
도 2는 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 컴퓨팅 시스템에 대한 예시적인 물리적 아키텍처를 예시한다. 컴퓨팅 시스템(200)의 API 게이트웨이(210)는 단계 201에서 사용자와 연관된 클라이언트 디바이스(270)로부터 사용자 입력을 수신할 수 있다. 사용자 입력은 REST(representational state transfer) API를 통해 수신될 수 있다. 단계 202에서, API 게이트웨이와 함께 배치된 로드 밸런서(210)는 수신된 사용자 입력에 대응하는 응답을 생성하는 태스크를 컴퓨팅 시스템(200)의 복수의 서버들(220) 중 하나에 할당할 수 있다. 특정 실시예들에서, 로드 밸런서는 API 게이트웨이(210)로부터 분리될 수 있다. 서버(220)는 머신 러닝 기반 컨텍스트 엔진(120)으로 컴퓨팅 시스템(220)과 사용자 사이의 사용자 입력 및 상호작용 이력을 처리함으로써 사용자 입력에 대응하는 컨텍스트 응답을 결정할 수 있다. 서버(220)는 또한, 컨텍스트 응답과 연관된 표정, 감정, 및 비-구두 및 구두 제스처를 특정하는 메타데이터를 생성할 수 있다. 단계 203에서, 서버(220)는 제1 데이터베이스(240)를 체크하여 미리 생성된 미디어 콘텐츠 출력이 컨텍스트 응답에 대응하는지를 결정할 수 있다. 서버(220)가 컨텍스트 응답에 대응하는 미리 생성된 미디어 콘텐츠 출력이 존재하지 않는다고 결정할 때, 서버(220)는 단계 204에서 생성된 메타데이터와 함께 결정된 컨텍스트 응답을 큐(250)를 통해 복수의 자율 워커(230) 중 하나에 전달할 수 있다. 큐(250)와 연관된 스케줄러는 각각의 큐잉된 잡(job)을 자율 워커(230)에 스케줄링할 수 있다. 자율 워커(230)는 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성할 수 있다. 미디어 콘텐츠 출력은 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)을 사용하여 메타데이터에 의해 지정된 표정들, 감정들, 및 비-구두 및 구두 제스처들에서 결정된 컨텍스트 응답에 대응하는 컨텍스트 정보를 포함할 수 있다. 단계 205에서, 자율 워커(230)는 생성된 미디어 콘텐츠 출력을 제2 데이터베이스(260)에 저장할 수 있다. 단계 206에서, 서버(220)는 제2 데이터베이스(260)로부터 생성된 미디어 콘텐츠 출력을 검색할 수 있다. 단계 207에서, 서버(220)는 미디어 콘텐츠 출력을 API 게이트웨이(210)에 전달할 수 있다. 단계 208에서, API 게이트웨이(210)는 생성된 미디어 콘텐츠 출력을 사용자에게 제시하기 위한 명령어들을 API 응답으로서 클라이언트 디바이스(270)에 전송할 수 있다. API 응답은 REST API 응답일 수 있다. 본 개시내용이 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 특정한 물리적 아키텍처를 설명하지만, 본 개시내용은 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 임의의 적절한 물리적 아키텍처를 고려한다.
특정 실시예들에서, 분산 및 확장형 클라우드 플랫폼 상의 컴퓨팅 시스템(200)은 사용자와 연관된 클라이언트 디바이스(270)로부터 컨텍스트 정보를 포함하는 입력을 수신할 수 있다. 특정 실시예들에서, API 게이트웨이(210)는 클라이언트 디바이스(270)로부터의 입력을 API 요청으로서 수신할 수 있다. API 게이트웨이(210)는 클라이언트 애플리케이션과 백엔드 서비스 사이에 인터페이스를 제공하는 API 관리 툴일 수 있다. 특정 실시예에서, API는 웹 API에 대한 표준 프로토콜로서 광범위하게 고려되는 REST API일 수 있다. 컴퓨팅 시스템(200)은 애플리케이션들이 내부 서비스들에 액세스하기 위한 REST API들을 제공할 수 있다. 특정 실시예에서, 내부 애플리케이션 및 파트너 통합 둘 모두에 대해 광범위한 API 목록이 이용가능할 수 있다. 컴퓨팅 시스템은 입력과 연관된 태스크를 복수의 서버들(220) 중 하나의 서버에 할당할 수 있다. 입력과 연관된 태스크는 입력에 대응하는 출력을 생성하기 위한 절차들을 포함할 수 있다. 특정 실시예들에서, 컴퓨팅 시스템(200)의 로드 밸런서(210)는 태스크를 서버(220)에 할당할 수 있다. 로드 밸런서(210)는 복수의 서버(220)의 실시간 부하들에 기초하여 수평 스케일링을 수행할 수 있다. 제한이 아닌 예로서, 컴퓨팅 시스템(200)은, 사용자들로부터의 요청들을 핸들링하기 위해, 서버들, 자율 워커들, 큐잉 시스템들, 데이터베이스들, 인증 서비스들, 또는 임의의 적절한 인프라구조 컴포넌트들을 포함하지만 이들로 제한되지 않는, 일련의 인프라구조 컴포넌트들을 사용할 수 있다. 사용자/API에 의한 요청은 로드 밸런서들에 의해 API 게이트웨이(210)를 통해 서버(220)에 라우팅될 수 있다. 컴퓨팅 시스템(200)은 서버리스 컴퓨팅 패러다임을 따를 수 있다. 애플리케이션으로부터의 유입 요청에 후속하여, 컴퓨팅 시스템(200)은 그 자신의 격리된 컴퓨팅 환경에서 독립적으로 각각의 태스크를 취급할 수 있다. 이 원리는 다운스트림 애플리케이션이 작업부하 격리와 개선된 보안을 가질 수 있게 할 수 있다. 컴퓨팅 시스템(200)의 상이한 컴포넌트들은 태스크 토큰들을 사용하여 서로 통신할 수 있다. 태스크들이 격리됨에 따라, 태스크들은 기본 컴퓨팅 특이성에 독립적일 수 있고 수평적으로 스케일링될 수 있다. 복수의 태스크를 수행하는 것은 병렬적일 수 있고 많은 수의 동시 요청들이 충족될 수 있다. 서버들(220)은 유입 요청들을 핸들링하고 이행하고 응답들을 다운스트림 애플리케이션들에 다시 제공하기 위해 워커들(230) 및 데이터베이스들(240, 260)에 액세스할 수 있다. 태스크에 따라, 서버(220)는 워커 태스크 또는 데이터베이스 태스크를 생성할 수 있다. 워커 태스크는 콘텐츠 생성을 위한 자율 워커 인스턴스화 및 관리를 편성하는 것을 수반할 수 있다. 데이터베이스 태스크는 요청들의 성질에 따라, 데이터베이스의 쿼리 및 업데이트를 수반할 수 있다. 큐들 및 메시징 서비스들이 이러한 태스크들을 핸들링하는 데 사용될 수 있다. 큐들 및 메시징 서비스들은 또한 태스크 실패의 매우 낮은 확률로 대량의 유입 요청들을 관리하고 핸들링하는 능력을 컴퓨팅 시스템(200)에 제공할 수 있다. 서버, 워커, 큐 및 데이터베이스는 고성능 분산 트레이싱 시스템을 사용하여 지속적으로 모니터링되어 최소 다운타임을 보장하도록 생산 서비스를 모니터링 및 문제 해결한다. 본 개시내용은 분산 및 확장형 클라우드 플랫폼 상의 특정 컴퓨팅 시스템을 설명하지만, 본 개시내용은 분산 및 확장형 클라우드 플랫폼 상의 임의의 적절한 컴퓨팅 시스템을 임의의 적절한 방식으로 고려한다.
특정 실시예들에서, 컴퓨팅 시스템(200)은 장기 메모리 및 검색 쿼리들로 응답 개인화할 수 있다. 챗봇들은 실제 사람들과의 대화를 모방하는 인공 지능 및 자연 언어 처리를 이용하여 대화 경험을 제공할 수 있다. 챗봇은 응답과의 기본 패턴 매칭만큼 간단할 수 있거나, 챗봇은 복잡한 대화 상태 추적 및 기존의 비즈니스 서비스들로의 통합이 이루어진 인공 지능 기술들의 정교한 짜임일 수 있다. 전통적인 챗봇들은 시드 데이터를 이용하여 고정된 코퍼스에 대해 훈련되고 평가될 수 있으며, 사용자들에 답변하고 사용자들과 상호작용하기 위해 현장에 배치될 수 있다. 고정된 코퍼스로 훈련하는 것은 정적이고 실세계의 변화하는 성질을 고려하지 않는 응답들을 초래할 수 있다. 또한, 응답 토픽들은 훈련 코퍼스에서 이용가능한 토픽들로 한정될 수 있다. 마지막으로, 메모리 컴포넌트의 결여는 응답 토픽들이 단기 및 장기 컨텍스트를 캡처하지 못하여 단조롭고, 반복적이고, 로봇 같은 에이전트-사용자 상호작용을 초래한다는 것을 의미할 수 있다. 이와 달리, 사람들은 메모리, 특이성 및 컨텍스트의 이해와 관련하여 서로 관계할 수 있다. 광범위한 토픽들에 대해 대화할 수 있고 인간들과 일관성있게 그리고 매력적으로 대화할 수 있는 지능형 디지털 에이전트를 구축하는 것은 인공 지능 및 자연 언어 처리의 도메인들에서 오랫동안 지속적인 목표였다. 이 목표를 달성하는 것은 대화형 디지털 에이전트 시스템들이 어떻게 설계되고, 구축되고, 동작되고, 업데이트되는지의 관점에서 근본적으로 상이한 접근법을 요구할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 장기 메모리, 컨텍스트 및 에이전트 사용자 상호작용들을 이용하는 대화형 디지털 에이전트 개인화를 위한 새로운 접근법들을 취할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 베이스 대화 모델을 생성하기 위해 시드 훈련 데이터로부터 학습할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 이전 대화들을 저장하고 참조할 뿐만 아니라 외부 지식 소스들로부터 요구되는 추가 정보를 찾는 능력을 가질 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 또한 대화 모델에 더하여, 외부 지식 소스들에 대한 쿼리들을 자동으로 생성하고 필요에 따라 정보를 찾는 능력을 가질 수 있다. 또한, 머신 러닝 기반 컨텍스트 엔진(120)은 이전 대화들로부터 학습하고, 컨텍스트 인식, 메모리 인식 및 개인화된 응답들을 생성하기 위해 진행중인 상호작용들로 베이스 대화 모델을 적응 및 업데이트할 수 있다. 명시적 장기 메모리 모듈로 인해, 컴퓨팅 시스템(200)은 장기 멀티-세션 대화를 유지하고, 참조하며, 그로부터 추론하고, 더 자연스럽고 인간과 같은 상호작용을 제공하는 능력을 가질 수 있다. 고정된 코퍼스, 대화 이력, 인터넷 검색 엔진, 외부 지식 기반 및 기타(이들로 제한되지 않음)를 비롯한 다수의 데이터 소스가 시스템을 훈련시키고 적응시키는 데 사용될 수 있다.
특정 실시예들에서, 머신 러닝 기반 컨텍스트 엔진(120)은 개방 도메인 대화 시스템으로 분류될 수 있다. 대화 시스템은 2가지 유형으로 분류될 수 있다: 폐쇄 도메인 대화 시스템 및 개방 도메인 대화 시스템. 폐쇄 도메인 대화 시스템들은 비행 예약, 호텔 예약, 고객 서비스, 기술 지원 등과 같은 특정 도메인들 또는 태스크들을 위해 설계될 수 있다. 폐쇄 도메인 대화 시스템은 특정한 태스크에 대한 특정한 질문 세트에 답변하도록 전문화되고 최적화될 수 있다. 폐쇄 도메인 대화 시스템들은 태스크에 관련된 고정된 코퍼스로 훈련될 수 있다. 그러한 시스템들은 종종 메모리의 개념이 결여되어 있을 수 있고 그들의 응답의 관점에서 정적일 수 있다. 폐쇄 도메인 대화 시스템들이 답변하도록 튜닝되는 토픽들의 도메인은 또한 제한될 수 있고, 시간에 따라 성장하지 않을 수 있다. 폐쇄 도메인 대화 시스템들은 그들이 훈련된 것들을 넘어서 다른 도메인들로 일반화하지 못할 수 있다. 그러나, 인간의 대화는 개방 도메인일 수 있고 넓은 범위의 토픽에 걸쳐 있을 수 있다. 인간 대화들은 커버되는 토픽들의 기억, 장기 컨텍스트, 참여, 및 동적 성질을 수반할 수 있다. 또한, 인간의 대화는 유동적일 수 있고, 동적 세계에서 진행되는 변화를 참조할 수 있다. 개방 도메인 디지털 에이전트의 목표는 장기 사용자 참여를 최대화하는 것이다. 이 목표는, 엔터테인먼트를 제공하는 것, 추천을 제공하는 것, 흥미로운 토픽에 관한 채팅, 감정적 편안함을 제공하는 것과 같은 참여를 향상시키기 위한 상이한 방식들이 존재하기 때문에, 폐쇄 도메인 대화 시스템이 최적화하기 어려울 수 있다. 그들을 달성하기 위해, 시스템들은 대화 컨텍스트, 사용자의 감정적 요구들의 깊은 이해를 갖고 일관성, 기억, 및 인물을 갖는 대인 관계 응답을 생성하도록 요구될 수 있다. 이러한 참여들은 세션 특정 컨텍스트, 멀티-세션 컨텍스트 및 사용자 컨텍스트를 유지하면서 다수의 세션들을 통해 수행될 필요가 있다. 폐쇄 도메인 대화 시스템들은 시드 데이터세트로 고정된 코퍼스에 대해 훈련된다. 표현된 토픽들의 정도는 세션들의 수에 걸쳐 고정되어 유지될 수 있다. 개방 도메인 대화 시스템들은 개방 도메인 대화 시스템들이 사용자에 대한 응답들을 준비할 때 복수의 정보 소스들뿐만 아니라 이전 상호작용 이력에 액세스한다. 세션들의 수가 증가함에 따라, 개방 도메인 대화 시스템에 의해 커버되는 토픽들이 증가할 수 있고, 이는 폐쇄 도메인 대화 시스템들에 의해 달성될 수 없다.
3. 기능 개요
특정 실시예들에서, 컴퓨팅 시스템(200)은 다수의 세션에 걸쳐 컴퓨팅 시스템(200)과 사용자 사이의 상호작용들을 추적할 수 있다. 전통적인 디지털 에이전트들은 단일 세션 채팅들에 초점을 둔다. 단일 세션 채팅에서, 세션 이력, 세션 컨텍스트 및 사용자 컨텍스트는 채팅 후에 제거될 수 있다. 사용자가 다시 로그인할 때, 디지털 에이전트는 유사한 세트의 온-보딩 질문들을 반복 문의하여, 상호작용을 매우 비개인적이고 로봇 같이 만들 수 있다. 개인화된 대화형 디지털 에이전트들은 단기 컨텍스트뿐만 아니라 장기 컨텍스트 둘 다를 통해 대화의 상태를 유지할 필요가 있을 수 있다. 디지털 에이전트들은 시간의 길이에 걸쳐 대화에 참여하고 연속적인 참여를 통해 사용자 관심을 캡처할 필요가 있을 수 있다. 수일/수주에 걸치는 멀티-세션 대화들에서, 디지털 에이전트는 페르소나의 일관성을 유지할 필요가 있을 수 있다. 대화의 토픽들은 시간에 따라 변할 수 있다. 실세계는 동적이며 시간에 따라 변한다. 예를 들어, 사람이 디지털 에이전트에 자신이 좋아하는 팀의 가장 최근의 점수를 문의할 때, 답변은 다수의 세션에 걸쳐 상이할 수 있다. 따라서, 디지털 에이전트는 정보의 동적 소스들에 액세스하고, 정보로부터 이해하고, 응답 생성시에 정보를 사용할 필요가 있을 수 있다. 또한, 대화 및 전체적인 대화 이력의 토픽에 따라, 사용자 1과 디지털 에이전트 사이의 답변 공간이 사용자 2와 디지털 에이전트 사이의 답변 공간과 매우 상이할 수 있다. 전통적인 대화형 에이전트들은 개방 도메인 동적 및 초-개인화된 대화들의 이러한 변화하는 인자들을 고려하는 메커니즘들이 결여되어 있다. 도 3은 머신 러닝 기반 컨텍스트 엔진에 의해 구동되는 디지털 에이전트들과 전통적인 디지털 에이전트들 사이의 멀티-세션 채팅들의 예시적인 비교를 예시한다. 도 3에서, 예시적인 채팅 세션 "(a)"는 다수의 세션들에 걸쳐 컴퓨팅 시스템과 사용자 사이의 상호작용들을 추적하지 않는 전통적인 디지털 에이전트와 사용자 사이의 멀티-세션 채팅을 제시한다. 세션 1에서, 사용자는 그녀가 샌프란시스코 출신임을 나타낸다. 디지털 에이전트는 세션 1 후에 이 정보를 제거할 수 있다. 세션 2에서, 사용자가 로스앤젤레스에 방금 도착했다고 말할 때, 디지털 에이전트는 사용자가 현재 로스앤젤레스에 있다는 정보와 사용자가 샌프란시스코 출신이라는 것이라는 정보를 관련시키지 못할 수 있는데, 그 이유는 후자의 정보가 세션 1 이후에 제거되었을 수 있기 때문이다. 세션 3에서, 사용자는 그녀가 고향인 샌프란시스코에 도착했다는 것을 나타낸다. 그러나, 디지털 에이전트는 디지털 에이전트가 응답을 제공할 때 샌프란시스코가 사용자의 고향이라는 정보를 통합하지 못할 수 있다. 도 3의 예시적인 채팅 세션 "(b)"는 다수의 세션들에 걸쳐 컴퓨팅 시스템과 사용자 사이의 상호작용들을 추적하는 사용자와 디지털 에이전트 사이의 멀티-세션 채팅을 제시한다. 머신 러닝 기반 컨텍스트 엔진(120)은 이 디지털 에이전트의 응답들을 생성할 수 있다. 세션 1에서, 사용자는 그녀가 샌프란시스코 출신임을 나타낸다. 세션 1이 종료될 때, 디지털 에이전트는 그러한 정보를 저장할 수 있다. 세션 2에서, 사용자가 로스앤젤레스에 방금 도착했다고 말할 때, 디지털 에이전트는 저장된 정보에 기초하여 사용자가 그의 고향으로부터 멀리 와있다고 결정할 수 있다. 세션 2가 종료될 때, 디지털 에이전트는 사용자가 로스앤젤레스에 방문했다는 정보를 저장할 수 있다. 사용자가 세션 3에서 샌프란시스코에 도착했다는 것을 나타낼 때, 디지털 에이전트는 사용자의 고향이 샌프란시스코이고 사용자가 로스앤젤레스에 방문했다는 정보에 기초하여 응답을 찾아낼 수 있다. 본 개시내용이 특정 방식으로 다수의 세션에 걸쳐 컴퓨팅 시스템과 사용자 사이의 상호작용을 추적을 유지하는 것을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 다수의 세션에 걸쳐 컴퓨팅 시스템과 사용자 사이의 상호작용을 추적을 유지하는 것을 고려한다.
특정 실시예들에서, 컴퓨팅 시스템(200)은 머신 러닝 기반 컨텍스트 엔진(120)을 사용하여 컴퓨팅 시스템과 사용자 사이의 입력 및 상호작용 이력에 기초하여 입력에 대응하는 컨텍스트 응답을 결정할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 복수의 소스로부터의 정보를 이용하도록 훈련된 멀티-인코더 디코더 네트워크를 이용할 수 있다. 실생활 대화 데이터로부터 멀티-인코더 디코더 네트워크를 훈련시키기 위해 자기-지도 적대적 접근법이 적용될 수 있다. 이 프로세스에서, 깨끗한(이상적인) 데이터는 물론 부정확한 데이터가 시스템에 제시될 수 있고, 따라서 네트워크는 어려운 예들을 핸들링하는 데 강건해질 수 있다. 메모리, 검색 엔진들, 지식 그래프들, 컨텍스트와 같은 복수의 소스로부터 정보를 추론하기 위해, 훈련 프로세스 동안, 시스템은 이러한 소스들로부터 학습할 필요가 있을 수 있다. 이 네트워크를 훈련하기 위해 사용되는 손실 함수는 대화-현실 손실(conversational-reality loss)이라고 지칭될 수 있고, 훈련 프로세스 동안의 목표는 시스템으로부터 생성된 대화들의 현실감에서의 손실을 최소화하는 것일 수 있다. 자기-지도 적대적 훈련은 멀티-인코더 디코더 네트워크가 기존의 트랜스포머 방법들보다 훨씬 더 빠르게 수렴할 수 있게 하여, 더 효율적인 훈련 및 컴퓨팅 시간들로 이어질 수 있다. 멀티-인코더 디코더 네트워크 모델 런타임 추론은 업데이트된 정보 및 현재 정보를 위해 개방형 인터넷에 탭핑될 수 있다. 이것은 사전-훈련된 트랜스포머 모델에 결여된 컨텍스트 대화 능력을 가져올 수 있고, 사전-훈련된 트랜스포머들의 응답과 그 응답들을 구별하는 것일 수 있다. 본 개시내용은 특정한 머신 러닝 기반 컨텍스트 엔진을 설명하지만, 본 개시내용은 임의의 적절한 머신 러닝 기반 컨텍스트 엔진을 고려한다.
특정 실시예에서, 멀티-인코더 디코더 네트워크에 의해 이용되는 복수의 소스는, 입력, 상호작용 이력, 외부 검색 엔진, 또는 지식 그래프 중 2개 이상을 포함할 수 있다. 외부 검색 엔진 또는 지식 그래프로부터의 정보는 하나 이상의 작성된 쿼리에 기초할 수 있다. 하나 이상의 작성된 쿼리는 입력의 컨텍스트, 상호작용 이력, 또는 사용자의 쿼리 이력에 기초하여 작성될 수 있다. 도 4는 복수의 소스들로부터의 정보를 이용하는 멀티-인코더 디코더 네트워크에 대한 예시적인 아키텍처를 예시한다. 머신 러닝 기반 컨텍스트 엔진(120)이 사용자로부터 입력(410)을 수신할 때, 머신 러닝 기반 컨텍스트 엔진(120)의 쿼리 파서(420)는 복수의 소스 중 하나 이상에 대한 하나 이상의 쿼리를 작성할 수 있다. 하나 이상의 쿼리는 입력(410)의 컨텍스트, 컴퓨팅 시스템(200)과 사용자 사이의 상호작용 이력 또는 세션 메모리(430)에 저장된 사용자의 쿼리 이력에 기초하여 작성될 수 있다. 하나 이상의 소스(440A, 440B, 440C, 및 440D)로부터의 정보는 대응하는 인코더들(450A, 450B, 450C, 및 450D)에 의해 인코딩될 수 있다. 하나 이상의 소스(440A, 440B, 440C, 및 440D)로부터의 정보는 하나 이상의 작성된 쿼리에 기초하여 쿼리될 수 있다. 멀티-인코더 디코더 네트워크(400)의 집성기(460)는 인코더들(450A, 450B, 450C, 및 450D)에 의해 생성되는 잠재적 표현들을 집성할 수 있다. 디코더(470)는 집성된 잠재적 표현을 처리하여 입력(410)에 대응하는 응답(480)을 생성할 수 있다. 본 개시내용은 복수의 소스로부터의 정보를 특정 방식으로 이용하는 멀티-인코더 디코더 네트워크를 설명하지만, 본 개시내용은 복수의 소스로부터의 정보를 임의의 적절한 방식으로 이용하는 멀티-인코더 디코더 네트워크를 고려한다.
특정 실시예들에서, 상호작용 이력은 대화 모델을 통해 제공될 수 있다. 대화 모델을 유지하기 위해, 컴퓨팅 시스템은 사용자가 처음으로 컴퓨팅 시스템과 상호작용할 때 초기 시드 데이터를 갖는 대화 모델을 생성할 수 있다. 컴퓨팅 시스템은 각각의 상호작용 세션에 이어 데이터 저장소에 상호작용 요약을 저장할 수 있다. 컴퓨팅 시스템은, 사용자로부터의 새로운 입력이 도달할 때 이전의 상호작용에 대응하는 상호작용 요약을 데이터 저장소로부터 쿼리할 수 있다. 컴퓨팅 시스템은 쿼리된 상호작용 요약들에 기초하여 대화 모델을 업데이트할 수 있다. 도 5는 대화 모델을 업데이트하기 위한 예시적인 시나리오를 예시한다. 새로운 사용자가 제1 입력을 전송함으로써 처음으로 컴퓨팅 시스템(200)과 상호작용할 때, 머신 러닝 기반 컨텍스트 엔진(120)은 단계 501에서 시드 데이터(510)를 사용하여 사용자에 대한 대화 모델(520)을 생성할 수 있다. 세션 1의 끝에서, 머신 러닝 기반 컨텍스트 엔진(120)은 상호작용 요약(530A)을 생성할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 대화의 카테고리 및 토픽들을 이해하기 위해 원시 대화 데이터로부터 하이 레벨 특징들을 추출할 수 있다. 대화의 현저한 특징들/토픽들은 상호작용 요약(530A)의 형태로 메모리에 저장될 수 있다. 상호작용 요약은 대화 요약으로 지칭될 수 있다. 생성된 상호작용 요약은 단계 502에서 데이터 저장소에 저장될 수 있다. 사용자로부터의 제2 입력이 도달할 때, 머신 러닝 기반 컨텍스트 엔진(120)은 저장된 상호작용 요약으로부터 제2 입력에 관련된 정보(540A)를 쿼리할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 단계 503에서 쿼리된 정보(540A)로 컨텍스트 모델을 업데이트할 수 있다. 업데이트된 컨텍스트 모델(520A)은 사용자로부터의 제2 입력에 대응하는 응답을 생성하는데 이용될 수 있다. 세션의 끝에서, 머신 러닝 기반 컨텍스트 엔진(120)은 상호작용 요약(530B)을 생성할 수 있다. 단계 504에서, 머신 러닝 기반 컨텍스트 엔진(120)은 저장된 상호작용 요약들을 새롭게 생성된 상호작용 요약(530B)으로 업데이트할 수 있다. 다시 한번, 사용자로부터의 제3 입력이 도달하면, 머신 러닝 기반 컨텍스트 엔진(120)은 저장된 상호작용 요약으로부터 제3 입력에 관련된 정보(540B)를 쿼리할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 단계 505에서 쿼리된 정보(540B)로 컨텍스트 모델을 업데이트할 수 있다. 업데이트된 컨텍스트 모델(520B)은 사용자로부터의 제3 입력에 대응하는 응답을 생성하는데 이용될 수 있다. 각각의 사용자는 그 자신의 프로파일 및 상호작용 이력을 가질 수 있다. 모든 사용자들이 유사한 대화 모델들로부터 시작할 수 있더라도, 디지털 에이전트는 일정 기간에 걸쳐 각각의 상호작용 이력들로 매우 개인화될 수 있다. 본 개시내용은 컴퓨팅 시스템과 사용자 사이의 상호작용 이력을 제공하는 대화 모델을 특정 방식으로 생성하고 유지하는 것을 설명하지만, 본 개시내용은 컴퓨팅 시스템과 사용자 사이의 상호작용 이력을 제공하는 대화 모델을 임의의 적절한 방식으로 생성하고 유지하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 컨텍스트 엔진(120)은 검색 엔진들, 지식 그래프들 또는 다른 데이터 소스들과 같은 외부 소스들로부터의 정보에 기초하여 응답을 개인화할 수 있다. 전통적인 고정 코퍼스 대화 모델에서의 한 가지 주요 문제는, 전통적인 대화 모델이, 변화하는 세계에 관계없이, 생성된 응답의 관점에서 정적이라는 것일 수 있다. 전통적인 대화 모델들은 외부 지식 소스들로부터의 최신 정보를 통합하고, 생성된 응답들로 이 정보를 증대시키고, 실세계에 대한 가장 최신의 정보를 갖는 관련 응답을 생성하는 메커니즘들이 결여되어 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 검색 엔진들, 지식 그래프들 또는 다른 데이터 소스들과 같은 외부 지식 소스들로 대화 모델을 개인화할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 디지털 에이전트의 초기 모델을 생성하는 시드 데이터로 시작할 수 있다. 사용자가 디지털 에이전트에 질문을 문의할 때, 머신 러닝 기반 컨텍스트 엔진(120)은 질문의 컨텍스트를 이해함으로써 검색 엔진 또는 지식 그래프와 같은 하나 이상의 외부 지식 소스에 대한 하나 이상의 쿼리를 작성할 수 있다. 쿼리들을 작성하는 동안, 머신 러닝 기반 컨텍스트 엔진(120)은 질문의 표현된 컨텍스트뿐만 아니라 이전 상호작용들로부터의 장기 컨텍스트(장기 메모리)를 고려할 수 있다. 작성된 쿼리에 기초하여, 머신 러닝 기반 컨텍스트 엔진(120)은 관련 소스들을 검색하고 검색 안내 응답을 생성할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 대화 모델 및 검색 안내 응답으로부터의 베이스 응답을 집성할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 사용자에 대한 최종 개인화된 응답을 생성할 수 있다. 이러한 접근법으로, 머신 러닝 기반 컨텍스트 엔진(120)은 대화 모델이 훈련된 시드 데이터에 제약되지 않고 외부 지식 소스들에서 이용 가능한 최신 정보에 액세스할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)의 멀티-인코더 아키텍처는 다수의 정보 소스를 처리하는 데 사용될 수 있다. 도 6은 외부 소스들로부터의 정보에 기초하여 개인화된 응답을 생성하기 위한 예시적인 절차를 예시한다. 머신 러닝 기반 컨텍스트 엔진(120)은 시드 데이터(610)에 기초하여 초기 대화 모델(620)을 생성할 수 있다. 사용자로부터의 질문과 같은 입력(601)이 도달할 때, 머신 러닝 기반 컨텍스트 엔진(120)은 대화 모델(620)을 이용하여 기반 응답(602)을 생성할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 또한 데이터 저장소(630)에 저장된 입력 및 상호작용 이력 또는 쿼리 이력의 컨텍스트에 기초하여 단계 603에서 하나 이상의 쿼리를 작성할 수 있다. 단계 604에서, 머신 러닝 기반 컨텍스트 엔진(120)은 하나 이상의 외부 지식 소스(640)로부터 관련 정보를 검색할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)은 멀티-인코더 디코더 네트워크를 사용하여 검색 안내 응답(605)을 생성할 수 있다. 머신 러닝 기반 컨텍스트 엔진(120)의 응답 개인화기(650)는 베이스 응답(602) 및 검색 안내 응답(605)에 기초하여 주어진 입력(601)에 대한 개인화된 응답(606)을 생성할 수 있다. 본 개시내용은 특정 방식으로 외부 소스들로부터의 정보에 기초하여 응답을 개인화하는 것을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 외부 소스들로부터의 정보에 기초하여 응답을 개인화하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 컨텍스트 엔진(120)은 사용자 입력으로부터 사용자의 의도와 연관된 정보를 추출할 수 있다. 유입 텍스트 및 오디오는 관심있는 토픽들, 좋아함/싫어함 및 장기 거동 패턴들에 대한 풍부한 정보를 포함할 수 있다. 오디오 및 비디오 양상들은 사용자 정서, 거동 및 즉각적인 반응들에 대한 정보를 포함할 수 있다. 이들 거동 특징들은 감정들 및 표정 태그들을 생성하기 위해 컨텍스트 엔진에 의해 사용되는 사용자의 의도를 이해하는 데 도움을 줄 수 있다. 단계 103에서 수신된 유입 텍스트, 음성 또는 비디오로부터, 토픽들, 감정들 및 다른 거동 특징들이 추출될 수 있다. 각각의 사용자에 대해, 사용자 그래프 형태의 템플릿이 유지될 수 있으며, 따라서 대화 토픽들, 토픽들 간의 관계, 감정들이 저장된다. 이들 저장된 템플릿은 대화에서의 기본 의도를 이해하기 위해 (세션 동안 또는 향후의 세션에서) 사용될 수 있다.
특정 실시예들에서, 유입 데이터-스트림에 감정 템플릿들 및 통찰 템플릿들에 콘텐츠를 추가하는데 이용될 수 있는 감정 분석 프로세스가 적용될 수 있다. 이들 템플릿들은 사용자를 위한 전역 관심 맵을 생성하는데 이용될 수 있다. 감정 분석 프로세스 동안, 우리는 유입 텍스트를 분석하고, 머신 학습 모델들을 이용하여, 대화의 토픽들, 표현되는 감정들(예를 들어, 행복, 슬픔, 기쁨, 분노 등)을 추출한다. 추출된 토픽들은 특정 사용자에 대한 템플릿에 입력되는 하이 레벨 토픽들로 맵핑될 수 있다. 사용자가 다수의 세션의 범위에 걸쳐 다양한 토픽을 이야기할 때, 템플릿들을 분석하여 사용자의 거동 및 의도에 대한 하이 레벨 통찰을 추출할 수 있다. 이 정보는 컨텍스트 감정을 배치하고 생성하기 위해 단계 105에서 다운스트림 콘텐츠 생성 엔진(130)에 전달된다.
도 6a는 예시적인 감정 분석 프로세스를 예시한다. 사용자와 에이전트 사이의 특정 대화 세션 동안, 사용자는 국립 공원에의 방문에 대해 이야기할 수 있고, 다른 세션 동안 사용자는 여행 일정에 대해 이야기할 수 있고, 또 다른 세션에서 사용자는 신발의 구매 및 전기 자동차의 구매 등에 대해 에이전트와 이야기할 수 있다. 다양한 형태의 사용자 입력(6101)은 API 인터페이스(110)를 통해 머신 러닝 기반 컨텍스트 엔진(120)에 전달될 수 있다. 이들 대화로부터, 머신 러닝 기반 컨텍스트 엔진(120)은 감정 템플릿(6110), 통찰 템플릿(6120) 및 전역 관심 맵(6130)을 생성할 수 있다. 연속적인 세션에 걸쳐 이 정보를 집성하는 것은 사용자의 전체적인 의도 및 거동을 이해하는 데 도움을 줄 수 있고, 이는 머신 러닝 기반 컨텍스트 엔진(120)을 추가로 도울 수 있다. 집성된 정보는 콘텐츠 생성 엔진(130)에 전달될 수 있다.
특정 실시예들에서, 컴퓨팅 시스템(200)의 머신 러닝 기반 컨텍스트 엔진(120)은 훈련된 거동 지식 그래프에 쿼리함으로써 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 지정하는 메타데이터를 생성할 수 있다. 메타데이터는 마크업 언어로 구성될 수 있다. 본 개시내용은, 특정 방식으로 컨텍스트 응답과 연관된 표정, 감정, 및 비-구두 및 구두 제스처를 지정하는 메타데이터를 생성하는 것을 설명하지만, 본 개시내용은, 임의의 적절한 방식으로 컨텍스트 응답과 연관된 표정, 감정, 및 비-구두 및 구두 제스처를 지정하는 메타데이터를 생성하는 것을 고려한다.
특정 실시예들에서, 컴퓨팅 시스템(200)은 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)을 이용하여 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성할 수 있다. 특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 복수의 자율 워커(230) 중에서 자율 워커 상에서 실행될 수 있다. 미디어 콘텐츠 출력은 메타데이터에 의해 지정되는 표정들, 감정들, 및 비-구두 및 구두 제스처들 내의 결정된 컨텍스트 응답에 대응하는 컨텍스트 정보를 포함할 수 있다. 미디어 콘텐츠 출력은 구두 및 비-구두 형태로 컨텍스트 정보를 전달하는 시각적으로 구현된 AI를 포함할 수 있다. 본 개시내용은 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 특정 방식으로 생성하는 것을 설명하지만, 본 개시내용은 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 임의의 적절한 방식으로 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 미디어 콘텐츠 출력을 생성하기 위해 머신 러닝 기반 컨텍스트 엔진(120)으로부터 컨텍스트 응답 및 메타데이터를 포함하는 텍스트를 수신할 수 있다. 도 7은 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 예시적인 기능 아키텍처(700)를 예시한다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 동적 응답 주입기 계층(710)은 머신 러닝 기반 컨텍스트 엔진(120)으로부터 텍스트 입력을 수신할 수 있다. 텍스트는 메타데이터와 함께 컨텍스트 응답을 포함할 수 있다. 메타데이터는 마크업 언어로 구성될 수 있다. 메타데이터는, 컨텍스트 응답과 연관된 표정, 감정, 및 비-구두 및 구두 제스처를 지정할 수 있다. 도 7은 본 개시내용이 속하는 기술분야의 숙련자가 프로그래밍을 사용하여 알고리즘을 기술하고 구현하기 위해 서로 통신하는 기능 레벨의 예시로서 의도되어 있다. 흐름도는 작동하는 프로그램의 모든 양태를 프로그램하는 데 필요한 모든 명령어, 방법 객체 또는 서브단계를 예시하기를 의도하는 것이 아니라, 작동하는 프로그램들의 개발의 기초를 전달하기 위해 이 분야의 기술의 하이 레벨에서 통상적으로 사용되는 것과 동일한 기능 레벨의 예시에서 제공된다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 텍스트-스피치 변환 기술들을 이용하여 컨텍스트 응답에 대응하는 오디오 신호들을 생성할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 타이밍된 오디오 신호들을 출력으로서 생성할 수 있다. 생성된 오디오는, 메타데이터에 기초하여, 정서, 피치, 스타일, 액센트, 또는 임의의 적절한 변형에서의 원하는 변형을 포함할 수 있다. 제한이 아닌 예로서, 도 7에 예시된 예를 계속하면, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 텍스트-스피치 변환 생성 계층(720)은 텍스트-스피치 변환 기술들을 이용하여 컨텍스트 응답에 대응하는 오디오 신호들을 생성할 수 있다. 생성된 오디오는, 메타데이터에 기초하여, 정서, 피치, 스타일, 액센트, 또는 임의의 적절한 변형에서의 원하는 변형을 포함할 수 있다. 본 개시내용이 특정 방식으로 텍스트-스피치 변환 기술들을 사용하여 컨텍스트 응답에 대응하는 오디오 신호들을 생성하는 것을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 텍스트-스피치 변환 기술들을 사용하여 컨텍스트 응답에 대응하는 오디오 신호들을 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 생성된 오디오 신호들로부터 수집된 오디오 특징들에 기초하여 얼굴 표정 파라미터들을 생성할 수 있다. 제한이 아닌 예로서, 도 7에 예시된 예를 계속하면, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 오디오-특징 추상화 계층(730)은 텍스트-스피치 변환 생성 계층(720)으로부터의 오디오 스트림을 입력으로서 취할 수 있다. 오디오 스트림은 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)이 이해할 수 있는 저레벨 오디오 특징들로 변환될 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 오디오 특징들을 얼굴 표정 파라미터들로 변환할 수 있다. 본 개시내용은 생성된 오디오 신호들로부터 특정 방식으로 수집된 오디오 특징들에 기초하여 얼굴 표정 파라미터들을 생성하는 것을 설명하지만, 본 개시내용은 생성된 오디오 신호들로부터 임의의 적절한 방식으로 수집된 오디오 특징들에 기초하여 얼굴 표정 파라미터들을 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 얼굴 표정 파라미터들에 기초하여 얼굴의 파라메트릭 특징 표현을 생성할 수 있다. 파라메트릭 특징 표현은 기하 구조, 스케일, 얼굴의 형상, 또는 신체 제스처들과 연관된 정보를 포함할 수 있다. 제한이 아닌 예로서, 도 7에 예시된 예를 계속하면, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 파라메트릭 특징 추상화 계층(740)은 오디오 대 특징 추상화 계층(730)에 의해 생성된 얼굴 표정 파라미터들을 입력으로서 취할 수 있다. 파라메트릭 특징 추상화 계층(740)은 얼굴의 기하 구조, 스케일, 형상, 또는 신체 제스처들과 연관된 정보를 포함하는 얼굴의 파라메트릭 특징 표현을 생성할 수 있다. 본 개시내용은 특정 방식으로 얼굴 표정 파라미터들에 기초하여 얼굴의 파라메트릭 특징 표현을 생성하는 것을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 얼굴 표정 파라미터들에 기초하여 얼굴의 파라메트릭 특징 표현을 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 얼굴의 파라메트릭 특징 표현 및 메타데이터에 기초하여 얼굴에 대한 하이 레벨 변조의 세트를 생성할 수 있다. 제한이 아닌 예로서, 도 7에 예시된 예를 계속하면, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 조건부 잠재 공간 계층(750)은 동적 응답 주입기 계층(710)으로부터의 메타데이터에 기초하여 외관, 모발 색상, 머리 위치, 표정, 거동 등과 같은 얼굴에 대한 하이 레벨 변조를 생성할 수 있다. 본 개시내용은 특정 방식으로 얼굴의 파라메트릭 특징 표현 및 메타데이터에 기초하여 얼굴에 대한 하이 레벨 변조의 세트를 생성하는 것을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 얼굴의 파라메트릭 특징 표현 및 메타데이터에 기초하여 얼굴에 대한 하이 레벨 변조의 세트를 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 얼굴의 파라메트릭 특징 표현 및 얼굴에 대한 하이 레벨 변조의 세트에 기초하여 프레임들에 대응하는 픽셀 이미지들을 생성할 수 있다. 제한이 아닌 예로서, 도 7에 예시된 예를 계속하면, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 생성 계층(760)은 얼굴의 파라메트릭 특징 표현 및 얼굴에 대한 하이 레벨 변조의 세트에 기초하여 프레임들에 대응하는 픽셀 이미지들을 생성할 수 있다. 본 개시내용은 특정 방식으로 얼굴의 파라메트릭 특징 표현 및 얼굴에 대한 하이 레벨 변조의 세트에 기초하여 프레임들에 대응하는 픽셀 이미지들을 생성하는 것을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 얼굴의 파라메트릭 특징 표현 및 얼굴에 대한 하이 레벨 변조의 세트에 기초하여 프레임들에 대응하는 픽셀 이미지들을 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 생성된 오디오 신호들과 동기화되는 시각적으로 구현된 AI의 비디오의 스트림을 생성할 수 있다. 제한이 아닌 예로서, 도 7에 예시된 예를 계속하면, 고해상도 시각적 시퀀스 생성 계층(770)은 생성된 오디오 신호들과 동기화되는 시각적으로 구현된 AI의 비디오의 스트림을 생성할 수 있다. 본 개시내용은 생성된 오디오 신호들과 동기화된 시각적으로 구현된 AI의 비디오의 스트림을 특정 방식으로 생성하는 것을 설명하지만, 본 개시내용은 생성된 오디오 신호들과 동기화된 시각적으로 구현된 AI의 비디오의 스트림을 임의의 적절한 방식으로 생성하는 것을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 대화 유닛, 감정 유닛 및 렌더링 유닛을 포함할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 생성된 디지털 에이전트들에게 음성, 감정들 및 외관을 제공하여 전체론적 페르소나들을 제공할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 머신 러닝 기반 컨텍스트 엔진(120)으로부터 의도들, 반응들 및 컨텍스트에 대한 입력들을 수신할 수 있다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 이러한 입력들을 이용하여, 외관, 거동 및 음성을 갖는 인간 페르소나를 생성한다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 다운스트림 애플리케이션들에 의해 스케일대로 소비될 수 있는 피드를 생성할 수 있다. 본 개시내용은 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 특정 컴포넌트들을 설명하지만, 본 개시내용은 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 임의의 적절한 컴포넌트들을 고려한다.
특정 실시예들에서, 대화 유닛은 (1) 미리 결정된 음성에서의 컨텍스트 응답에 기초하여 발성 대화를 생성할 수 있고, (2) 발성 정서, 억양 및 음성 제스처들을 포함하는 음성 스타일들을 생성할 수 있다. 대화 유닛은 음성학에 기초하여 생성된 발성 대화에 대응하는 동기화된 얼굴 표정들 및 입술 움직임들의 내부 표현을 생성할 수 있다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 대화 유닛은 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130) 내의 다른 유닛들이 해석하고 소비할 수 있는 음성 및 중간 표현들을 생성하는 것을 담당할 수 있다. 대화 유닛은 입력 텍스트를 자연스럽고 인간과 같은 음성을 갖는 발성 대화로 변환할 수 있다. 대화 유닛은 메타데이터에 의해 지정된 발성 정서, 억양들 및 음성 제스처들로, 요구된 음성, 발성 스타일(예를 들어, 캐주얼, 형식적 등)로 음성을 생성할 수 있다. 대화 유닛은 생성된 음성을 한 단계 더 나아가게 하고, 렌더링 유닛에 의해 소비될 수 있는 내부 표현에 의해 생성된 음성을 동기화된 얼굴 표정들, 입술 움직임들 및 음성으로 변환하여 시각적 외관들을 생성할 수 있다. 대화 유닛은 특정 언어에 대응하는 특징들 대신에 음성학에 기초할 수 있다. 따라서, 대화 유닛은 언어 불문이고, 광범위한 언어들을 지원하도록 쉽게 확장가능할 수 있다. 대화 유닛은 유입 텍스트를, 광범위한 언어들에 걸쳐 정서, 억양, 잠시멈춤, 발성 스타일들과 동기화된 입술 움직임들에 맵핑할 수 있다. 대화 유닛은 WWWC(World Wide Web Consortium)의 XML(Extensible Markup Language) 기반 음성 마크업 언어와 호환가능할 수 있으며, 이는 피치, 음량, 운율, 발성 스타일들, 또는 임의의 적절한 변형들의 관점에서 다운스트림 애플리케이션들에 의해 요구되는 바와 같은 정확한 제어 및 맞춤화를 제공할 수 있다. 대화 유닛은 언어들에 걸친 이러한 변경들을 고려하기 위해 생성된 입술 동기화를 심리스하게 핸들링하고 조정할 수 있다. 본 개시내용은 특정 방식으로 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 대화 유닛을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 대화 유닛을 고려한다. 대화 유닛은 다수의 언어에 걸쳐 스케일링할 수 있고, 음성 표현들을 생성하고, 생성된 음성을 보조하도록 영향을 미칠 수 있다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 감정 유닛은 훈련된 거동 지식 그래프를 유지할 수 있다. 감정 유닛은, 컨텍스트 신호에 기초한 스케일로 제어가능하고 스크립트가능한 방식으로 감정, 표정, 및 비-구두 및 구두 제스처를 생성하는 것을 담당할 수 있다. 감정 유닛은 대화 유닛 및 렌더링 유닛과 함께 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130) 내에서 동작하여 인간과 같은 표정 및 감정을 생성할 수 있다. 핵심에서, 감정 유닛은 데이터 수집 프로세스 동안 개인들의 큰 코퍼스로부터 수집된 시각적 데이터를 학습하고, 조직화하고, 인덱싱함으로써 생성된 큰 거동 지식 그래프를 포함할 수 있다. 거동 지식 그래프는 얼굴 표정들, 감정들, 충실도 및 정확한 제어를 갖는 신체 제스처들을 생성하기 위해 쿼리될 수 있다. 이러한 쿼리들은 생성될 필요가 있는 기본 컨텍스트 및 반응들에 기초하여 머신 러닝 기반 컨텍스트 엔진(120)으로부터 자율적으로 타이핑되거나 생성될 수 있다. 쿼리들을 스크립트하고 표정들을 생성하는 능력은 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)에게 감정들을 스케일대로 생성하는 것을 자율적으로 제공한다. 마크업 언어 기반 메타데이터는 표준화된 쿼리들을 허용하고 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130) 내의 다양한 유닛들 간의 통신을 용이하게 할 수 있다. 본 개시내용은 특정 방식으로 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 감정 유닛을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 감정 유닛을 고려한다.
특정 실시예들에서, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)의 렌더링 유닛은 대화 유닛 및 메타데이터의 출력에 기초하여 미디어 콘텐츠 출력을 생성할 수 있다. 렌더링 유닛은 메타데이터에 지정된 음성 및 중간 표현들(입술 동기화, 정서, 음성 제스처들 등)을 포함하는 대화 유닛으로부터의 입력, 및 메타데이터에 지정된 얼굴 표정들, 감정들 및 제스처들을 포함하는 감정 유닛으로부터의 입력을 수신할 수 있다. 렌더링 유닛은 이러한 입력들을 조합하고 사실적 디지털 페르소나를 합성할 수 있다. 렌더링 유닛은 컴퓨터 비전, 신경 렌더링, 컴퓨터 그래픽 등의 신흥 기술 영역들로부터 상당히 최적화된 알고리즘들로 구성될 수 있다. 일련의 심층 신경망들은 감정 유닛 및 대화 유닛으로부터 입력 파라미터들을 추론 및 해석하고, 실시간으로 고품질 디지털 페르소나를 렌더링할 수 있다. 렌더링 유닛은 넓은 범위의 얼굴 표정들, 감정들, 제스처들, 및 시나리오들을 지원하기 위해 강건할 수 있다. 또한, 생성된 외관은, 얼굴 외관, 메이크업, 모발 색상, 의복, 또는 임의의 적절한 특징에 걸친 제어를 제공함으로써 초-개인적 경험을 제공하도록 맞춤화될 수 있다. 맞춤화는 조명, 시야각, 시선, 또는 디지털 에이전트와의 대면 상호작용들 동안 개인 연결을 제공하기 위한 임의의 적절한 특성들과 같은 장면 특성들을 더 제어하기 위해 그 단계에서 취해질 수 있다. 본 개시내용이 특정 방식으로 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 렌더링 유닛을 설명하지만, 본 개시내용은 임의의 적절한 방식으로 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 렌더링 유닛을 고려한다. 또한, 렌더링 유닛은 객체들, 배경, 외관 맞춤화들 및 다른 장면 특성들과 같은 다른 시각적 및 장면 엘리먼트들을 생성할 수 있다.
특정 실시예들에서, 마크업 언어 기반 메타데이터는 표정들 및 감정들을 갖는 음성, 비디오 및 비디오의 생성을 위해 텍스트를 마크업하기 위한 언어 불문 방식을 제공할 수 있다. 마크업 언어 기반 메타데이터의 다수의 이점은 주어진 텍스트로부터 오디오 및 비디오를 합성할 때 관찰될 수 있다. 메타데이터는 하나의 텍스트로부터 넓은 범위의 오디오 및 비디오들까지의 생성의 일관성을 허용할 수 있다. 메타데이터는 또한 생성된 비디오에서 감정들, 표정들, 및 제스처들을 생성하는 언어 불문 방식을 제공할 수 있다. 또한, 메타데이터는 생성된 표정의 강도와 함께 특정 표정에 대한 지속기간을 추가하는 것을 가능하게 할 수 있다. 메타데이터는 또한 상이한 기계들 간의 스크립트의 공유를 가능하게 하고 재현성을 보장할 수 있다. 마지막으로, 메타데이터는 생성된 스크립트를 인간이 판독할 수 있게 만들 수 있다. 특정 실시예에서, 마크업 언어 기반 메타데이터는 XML 기반 마크업 언어일 수 있고, 비디오뿐만 아니라 음성 둘 모두를 변조하고 제어하는 능력을 갖는다. 마크업 언어 기반 메타데이터는 피치(pitch), 윤곽(contour), 피치 범위(pitch range), 레이트(rate), 지속기간(duration), 음량(volume), 정서(affect), 스타일(style), 악센트(accent), 또는 음성에 임의의 적절한 특징들을 지정할 수 있다. 마크업 언어 기반 메타데이터는 강도(낮음, 중간, 높음), 지속 기간, 이중(음성 및 비디오), 반복들, 또는 정서 제어를 위한 임의의 적절한 특징들을 지정할 수 있다. 마크업 언어 기반 메타데이터는 또한 표정, 지속 기간, 감정, 얼굴 제스처, 신체 제스처, 발성 스타일, 발성 도메인, 다인 제스처, 시선, 머리 위치 또는 비디오에 대한 임의의 적절한 특징을 지정할 수 있다. 도 8은 머신 러닝 기반 미디어 콘텐츠 생성 엔진의 예시적인 입력 및 출력을 예시한다. 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)에의 입력은 마크업 언어 기반 메타데이터와 함께 하나 이상의 언어로 된 컨텍스트 정보를 포함하는 텍스트일 수 있다. 도 8에 예시된 예에서, 메타데이터는 발성 언어, 발성 스타일, 감정 표현들 및 그들의 지속기간, 반복 횟수, 또는 강도를 지정한다. 제공된 입력에 기초하여, 머신 러닝 기반 미디어 콘텐츠 생성 엔진(130)은 입력 텍스트 내의 메타데이터에 의해 지정된, 표정들, 감정들, 및 비-구두 및 구두 제스처들 내의 컨텍스트 정보를 포함하는 미디어 콘텐츠 출력을 생성할 수 있다. 본 개시내용은 특정 방식으로 마크업 언어 기반 메타데이터를 설명하지만, 본 개시내용은 임의의 적절한 방식으로 마크업 언어 기반 메타데이터를 고려한다.
컴퓨팅 시스템(200)은 생성된 미디어 콘텐츠 출력을 사용자에게 제시하기 위한 명령어들을 클라이언트 디바이스에 전송할 수 있다. 컴퓨팅 시스템(200)의 API 게이트웨이(210)는 API 요청에 대한 응답으로서 클라이언트 디바이스(270)에 명령어들을 전송할 수 있다. 특정 실시예들에서, API는 REST API일 수 있다. 본 개시내용은 생성된 미디어 콘텐츠 출력을 사용자에게 특정 방식으로 제시하기 위한 명령어들을 클라이언트 디바이스에 전송하는 것을 설명하지만, 본 개시내용은 생성된 미디어 콘텐츠 출력을 사용자에게 임의의 적절한 방식으로 제시하기 위한 명령어들을 클라이언트 디바이스에 전송하는 것을 고려한다.
도 9는 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하기 위한 예시적인 방법(900)을 예시한다. 방법은 컴퓨팅 시스템(200)이 사용자와 연관된 클라이언트 디바이스로부터 컨텍스트 정보를 포함하는 입력을 수신할 수 있는 단계 910에서 시작할 수 있다. 단계 920에서, 컴퓨팅 시스템(200)은 입력과 연관된 태스크를 복수의 서버들 중 하나의 서버에 할당할 수 있다. 단계 930에서, 컴퓨팅 시스템(200)의 머신 러닝 기반 컨텍스트 엔진은 입력 및 컴퓨팅 시스템과 사용자 사이의 상호작용 이력에 기초하여 입력에 대응하는 컨텍스트 응답을 결정할 수 있다. 단계 940에서, 컴퓨팅 시스템(200)은 훈련된 거동 지식 그래프에 쿼리함으로써, 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성할 수 있다. 단계 950에서, 컴퓨팅 시스템(200)의 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 결정된 컨텍스트 응답 및 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성할 수 있으며, 미디어 콘텐츠 출력은 메타데이터에 의해 지정된, 표정들, 감정들, 및 비-구두 및 구두 제스처들 내의 결정된 컨텍스트 응답에 대응하는 컨텍스트 정보를 포함한다. 단계 960에서, 컴퓨팅 시스템(200)은 생성된 미디어 콘텐츠 출력을 사용자에게 제시하기 위한 명령어들을 클라이언트 디바이스에 전송할 수 있다. 특정 실시예들은 적절한 경우에 도 9의 방법의 하나 이상의 단계를 반복할 수 있다. 본 개시내용은 도 9의 방법의 특정 단계들을 특정 순서로 발생하는 것으로 설명 및 예시하지만, 본 개시내용은 도 9의 방법의 임의의 적절한 단계들이 임의의 적합한 순서로 발생하는 것을 고려한다. 더욱이, 본 개시내용은 도 9의 방법의 특정 단계들을 포함하는 사용자로부터의 입력에 대한 응답으로서 개인화된 디지털 에이전트를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하는 예시적인 방법을 설명하고 예시하지만, 본 개시내용은 적절한 경우 도 9의 방법의 단계들의 전부, 일부를 포함하거나 어느 것도 포함하지 않을 수 있는 임의의 적절한 단계들을 포함하는 사용자로부터의 입력에 대한 응답으로서 시각적으로 구현된 AI를 나타내는 미디어 콘텐츠 출력을 자율적으로 생성하는 임의의 적합한 방법을 고려한다. 또한, 본 개시내용은 도 9의 방법의 특정 단계들을 수행하는 특정 컴포넌트들, 디바이스들, 또는 시스템들을 설명 및 예시하지만, 본 개시내용은 도 9의 방법의 임의의 적절한 단계들을 수행하는 임의의 적절한 컴포넌트들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
4. 구현예 - 하드웨어 개요
도 10은 예시적인 컴퓨터 시스템(1000)을 예시한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(1000)은 본 명세서에서 설명 또는 예시되는 하나 이상의 방법의 하나 이상의 단계를 수행한다. 특정 실시예에서, 하나 이상의 컴퓨터 시스템(1000)은 여기서 설명되거나 예시된 기능을 제공한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템들(1000)에서 실행중인 소프트웨어는 본 명세서에 설명 또는 예시된 하나 이상의 방법들의 하나 이상의 단계들을 실행하거나, 또는 본 명세서에 설명 또는 예시된 기능을 제공한다. 특정 실시예들은 하나 이상의 컴퓨터 시스템들(1000)의 하나 이상의 부분들을 포함한다. 여기서, 컴퓨터 시스템에 대한 언급은, 적절한 경우, 컴퓨팅 디바이스를 포함할 수 있고, 그 반대도 마찬가지이다. 더욱이, 컴퓨터 시스템에 대한 언급은 적절한 경우에 하나 이상의 컴퓨터 시스템을 포함할 수 있다.
본 개시내용은 임의의 적합한 수의 컴퓨터 시스템(1000)을 고려한다. 본 개시내용은 임의의 적절한 물리적 형태를 취하는 컴퓨터 시스템(1000)을 고려한다. 제한이 아닌 예로서, 컴퓨터 시스템(1000)은 내장된 컴퓨터 시스템, SOC(system-on-chip), SBC(single-board computer system)(예를 들어, COM(computer-on-module) 또는 SOM(system-on-module) 등), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 대화형 키오스크, 메인프레임, 컴퓨터 시스템의 메쉬, 이동 전화, PDA(personal digital assistant), 서버, 태블릿 컴퓨터 시스템 또는 이들 중 2개 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(1000)은 하나 이상의 컴퓨터 시스템(1000)을 포함할 수 있거나; 단일형이거나 분산될 수 있거나; 다수의 위치에 걸쳐지거나; 다수의 기계에 걸쳐지거나, 다수의 데이터 센터에 걸쳐지거나; 또는 하나 이상의 네트워크 내의 하나 이상의 클라우드 컴포넌트를 포함할 수 있는 클라우드에 상주한다. 적절한 경우, 하나 이상의 컴퓨터 시스템(1000)은, 본 명세서에 설명되거나 예시된 하나 이상의 방법의 하나 이상의 단계를 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 제한이 아닌 예로서, 하나 이상의 컴퓨터 시스템(1000)은, 본 명세서에 설명되거나 예시된 하나 이상의 방법의 하나 이상의 단계를 실시간으로 또는 배치 모드로 수행할 수 있다. 하나 이상의 컴퓨터 시스템(1000)은, 적절한 경우, 본 명세서에 설명되거나 예시된 하나 이상의 방법의 하나 이상의 단계를 상이한 시간들에 또는 상이한 위치들에서 수행할 수 있다.
특정 실시예들에서, 컴퓨터 시스템(1000)은 프로세서(1002), 메모리(1004), 저장소(1006), 입/출력(I/O) 인터페이스(1008), 통신 인터페이스(1010) 및 버스(1012)를 포함한다. 본 개시내용은 특정 배열로 특정 수의 특정 컴포넌트를 갖는 특정 컴퓨터 시스템을 설명 및 예시하지만, 본 개시내용은 임의의 적절한 배열로 임의의 적합한 수의 임의의 적절한 컴포넌트를 갖는 임의의 적합한 컴퓨터 시스템을 고려한다.
특정 실시예들에서, 프로세서(1002)는 컴퓨터 프로그램을 구성하는 것들과 같은 명령어들을 실행하기 위한 하드웨어를 포함한다. 제한이 아닌 예로서, 명령어들을 실행하기 위해, 프로세서(1002)는 내부 레지스터, 내부 캐시, 메모리(1004), 또는 저장소(1006)로부터 명령어들을 검색(또는 페치)할 수 있고; 이들을 디코딩 및 실행할 수 있고; 이어서, 하나 이상의 결과를 내부 레지스터, 내부 캐시, 메모리(1004) 또는 저장소(1006)에 기입할 수 있다. 특정 실시예에서, 프로세서(1002)는 데이터, 명령어, 또는 어드레스에 대한 하나 이상의 내부 캐시를 포함할 수 있다. 본 개시내용은 적절한 경우에 임의의 적합한 수의 임의의 적절한 내부 캐시들을 포함하는 프로세서(1002)를 고려한다. 제한이 아닌 예로서, 프로세서(1002)는 하나 이상의 명령어 캐시, 하나 이상의 데이터 캐시, 및 하나 이상의 변환 색인 버퍼(TLBs)를 포함할 수 있다. 명령어 캐시들 내의 명령어들은 메모리(1004) 또는 저장소(1006) 내의 명령어들의 사본들일 수 있고, 명령어 캐시들은 프로세서(1002)에 의한 그 명령어들의 검색 속도를 높일 수 있다. 데이터 캐시들 내의 데이터는 프로세서(1002)에서 실행되는 명령어들이 연산하기 위한 메모리(1004) 또는 저장소(1006) 내의 데이터의 사본들; 프로세서(1002)에서 실행되는 후속 명령어들에 의한 액세스를 위해 또는 메모리(1004) 또는 저장소(1006)에의 기입을 위해 프로세서(1002)에서 실행되는 이전 명령어들의 결과들; 또는 다른 적합한 데이터일 수 있다. 데이터 캐시들은 프로세서(1002)에 의한 판독 또는 기입 동작들의 속도를 높일 수 있다. TLB는 프로세서(1002)에 대한 가상-어드레스 변환의 속도를 높일 수 있다. 특정 실시예에서, 프로세서(1002)는 데이터, 명령어, 또는 어드레스에 대한 하나 이상의 내부 레지스터를 포함할 수 있다. 본 개시내용은, 적절한 경우, 임의의 적합한 수의 임의의 적절한 내부 레지스터를 포함하는 프로세서(1002)를 고려한다. 적절한 경우, 프로세서(1002)는 하나 이상의 산술 논리 유닛(ALU)을 포함할 수 있거나; 멀티 코어 프로세서이거나; 또는 하나 이상의 프로세서(1002)를 포함할 수 있다. 본 개시내용이 특정한 프로세서를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 프로세서를 고려한다.
특정 실시예에서, 메모리(1004)는 프로세서(1002)가 동작시 실행할 명령어 또는 프로세서(1002)가 처리할 데이터를 저장하는 메인 메모리를 포함한다. 제한이 아닌 예로서, 컴퓨터 시스템(1000)은 저장소(1006) 또는 다른 소스(예를 들어, 다른 컴퓨터 시스템(1000) 등)로부터 메모리(1004)로 명령어를 로드할 수 있다. 프로세서(1002)는 이후 메모리(1004)로부터 내부 레지스터 또는 내부 캐시에 명령어들을 로드할 수 있다. 명령어를 실행하기 위해, 프로세서(1002)는 내부 레지스터 또는 내부 캐시로부터 명령어를 검색하고 이를 디코딩할 수 있다. 명령들의 실행 중에 또는 실행 후에, 프로세서(1002)는 하나 이상의 결과들(중간 또는 최종 결과들일 수 있음)을 내부 레지스터 또는 내부 캐시에 기입할 수 있다. 이어서, 프로세서(1002)는 그러한 결과들 중 하나 이상을 메모리(1004)에 기입할 수 있다. 특정 실시예에서, 프로세서(1002)는(저장소(1006) 또는 다른 곳과 달리) 하나 이상의 내부 레지스터 또는 내부 캐시 내의 또는 메모리(1004) 내의 명령어만을 실행하고, (저장소(1006) 또는 다른 곳과 달리) 하나 이상의 내부 레지스터 또는 내부 캐시 내의 또는 메모리(1004) 내의 데이터에 대해서만 동작한다. 하나 이상의 메모리 버스(각각이 어드레스 버스 및 데이터 버스를 포함할 수 있음)는 프로세서(1002)를 메모리(1004)에 결합시킬 수 있다. 버스(1012)는 후술하는 바와 같이 하나 이상의 메모리 버스를 포함할 수 있다. 특정 실시예에서, 하나 이상의 메모리 관리 유닛(MMU)은 프로세서(1002)와 메모리(1004) 사이에 상주하고 프로세서(1002)에 의해 요청된 메모리(1004)에 대한 액세스를 용이하게 한다. 특정 실시예들에서, 메모리(1004)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우 휘발성 메모리일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 더욱이, 적절한 경우, 이 RAM은 단일 포트 또는 다중 포트 RAM일 수 있다. 본 개시내용은 임의의 적절한 RAM을 고려한다. 적절한 경우, 메모리(1004)는 하나 이상의 메모리(1004)를 포함할 수 있다. 본 개시내용이 특정 메모리를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 메모리를 고려한다.
특정 실시예들에서, 저장소(1006)는 데이터 또는 명령어들을 위한 대용량 저장소를 포함한다. 제한이 아닌 예로서, 저장소(1006)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광 디스크, 광자기 디스크, 자기 테이프, 또는 USB(Universal Serial Bus) 드라이브, 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 저장소(1006)는, 적절한 경우, 이동식 또는 비이동식(또는 고정식) 매체를 포함할 수 있다. 저장소(1006)는, 적절한 경우, 컴퓨터 시스템(1000)의 내부에 또는 외부에 있을 수 있다. 특정 실시예에서, 저장소(1006)는 비휘발성 솔리드-스테이트 메모리이다. 특정 실시예들에서, 저장소(1006)는 판독 전용 메모리(ROM)를 포함한다. 적절한 경우에, 이 ROM은 마스크-프로그램된 ROM, 프로그램가능 ROM(PROM), 소거가능 PROM(EPROM), 전기적으로 소거가능 PROM(EEPROM), 전기적 변경 가능 ROM(EAROM), 또는 플래시 메모리 또는 이들 중 2개 이상의 조합일 수 있다. 본 개시내용은 임의의 적절한 물리적 형태를 취하는 대용량 저장소(1006)를 고려한다. 저장소(1006)는, 적절한 경우, 프로세서(1002)와 저장소(1006) 사이의 통신을 용이하게 하는 하나 이상의 저장소 제어 유닛을 포함할 수 있다. 적절한 경우, 저장소(1006)는 하나 이상의 저장소(1006)를 포함할 수 있다. 본 개시내용이 특정 저장소를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 저장소를 고려한다.
특정 실시예에서, I/O 인터페이스(1008)는 컴퓨터 시스템(1000)과 하나 이상의 I/O 디바이스 사이의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어, 또는 둘 다를 포함하고 있다. 컴퓨터 시스템(1000)은, 적절한 경우, 이들 I/O 디바이스 중 하나 이상을 포함할 수 있다. 이러한 I/O 디바이스들 중 하나 이상은 사람과 컴퓨터 시스템(1000) 사이의 통신을 가능하게 할 수 있다. 제한이 아닌 예로서, I/O 디바이스는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 다른 적절한 I/O 디바이스 또는 이들 중 2개 이상의 조합을 포함할 수 있다. I/O 디바이스는 하나 이상의 센서를 포함할 수 있다. 본 개시내용은 임의의 적절한 I/O 디바이스들 및 이들을 위한 임의의 적절한 I/O 인터페이스들(1008)을 고려한다. 적절한 경우, I/O 인터페이스(1008)는 프로세서(1002)가 이들 I/O 디바이스 중 하나 이상을 구동할 수 있게 해주는 하나 이상의 디바이스 또는 소프트웨어 드라이버를 포함할 수 있다. I/O 인터페이스(1008)는 적절한 경우에 하나 이상의 I/O 인터페이스(1008)를 포함할 수 있다. 본 개시내용이 특정한 I/O 인터페이스를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 I/O 인터페이스를 고려한다.
특정 실시예들에서, 통신 인터페이스(1010)는 컴퓨터 시스템(1000)과 하나 이상의 다른 컴퓨터 시스템(1000) 또는 하나 이상의 네트워크 사이의 통신(예를 들어, 패킷 기반 통신 등)을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어, 또는 이들 둘 모두를 포함한다. 제한이 아닌 예로서, 통신 인터페이스(1010)는 이더넷 또는 다른 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터, 또는 WI-FI 네트워크와 같은 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 개시내용은 임의의 적절한 네트워크 및 이를 위한 임의의 적절한 통신 인터페이스(1010)를 고려한다. 제한이 아닌 예로서 컴퓨터 시스템(1000)은 애드혹 네트워크, 개인 영역 네트워크(PAN), 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 도시권 네트워크(MAN), 또는 인터넷의 하나 이상의 부분, 또는 이들 중 2개 이상의 조합과 통신할 수 있다. 이러한 네트워크들 중 하나 이상의 네트워크의 하나 이상의 부분은 유선 또는 무선일 수 있다. 예로서, 컴퓨터 시스템(1000)은 WPAN(wireless PAN)(예를 들어, BLUETOOTH WPAN 등), WI-FI 네트워크, WI-MAX 네트워크, 휴대폰 네트워크(예를 들어, GSM(Global System for Mobile Communications) 네트워크 등), 또는 다른 적합한 무선 네트워크 또는 이들 중 2개 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(1000)은, 적절한 경우, 이들 네트워크 중 임의의 것에 대한 임의의 적절한 통신 인터페이스(1010)를 포함할 수 있다. 적절한 경우, 통신 인터페이스(1010)는 하나 이상의 통신 인터페이스(1010)를 포함할 수 있다. 본 개시내용이 특정한 통신 인터페이스를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 통신 인터페이스를 고려한다.
특정 실시예들에서, 버스(1012)는 컴퓨터 시스템(1000)의 컴포넌트들을 서로 결합하는 하드웨어, 소프트웨어, 또는 둘 다를 포함한다. 제한이 아닌 예로서, 버스(1012)는 AGP(Accelerated Graphics Port) 또는 다른 그래픽 버스, EISA(Enhanced Industry Standard Architecture) 버스, FSB(front-side bus), HT(HYPERTRANSPORT) 인터커넥트, ISA(Industry Standard Architecture) 버스, INFINIBAND 인터커넥트, LPC(low-pin-count) 버스, 메모리 버스, MCA(Micro Channel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCIe(PCI-Express) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standards Association local) 버스, 또는 다른 적절한 버스, 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 적절한 경우, 버스(1012)는 하나 이상의 버스(1012)를 포함할 수 있다. 본 개시내용은 특정 버스를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 버스 또는 인터커넥트를 고려한다.
본 명세서에서, 컴퓨터 판독가능 비일시적 저장 매체 또는 매체들은 적절한 경우, (예를 들어, 필드-프로그램가능 게이트 어레이들(FPGAs) 또는 주문형 IC들(ASICs)과 같은) 하나 이상의 반도체-기반 또는 다른 집적 회로(IC), 하드 디스크 드라이브들(HDDs), 하이브리드 하드 드라이브들(HHDs), 광 디스크들, 광 디스크 드라이브들(ODDs), 광자기 디스크들, 광자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(FDDs), 자기 테이프들, 솔리드-스테이트 드라이브들(SSDs), RAM-드라이브들, 보안 디지털 카드들 또는 드라이브들, 임의의 다른 적합한 컴퓨터 판독가능 비일시적 저장 매체들, 또는 이들 중 2개 이상의 임의의 적합한 조합을 포함할 수 있다. 컴퓨터 판독가능 비일시적 저장 매체는, 적절한 경우, 휘발성, 비휘발성, 또는 휘발성과 비휘발성의 조합일 수 있다.
기타
본 명세서에서, "또는"은 명시적으로 달리 지시되거나 문맥에 의해 달리 지시되지 않는 한, 배타적이 아니라 포괄적이다. 따라서, 본 명세서에서, "A 또는 B"는, 명시적으로 달리 지시되지 않는 한 또는 문맥상 달리 지시되지 않는 한, "A, B 또는 둘 다"를 의미한다. 더욱이, "및"은, 명시적으로 달리 표시되지 않는 한 또는 문맥에 의해 달리 표시되지 않는 한, 공동(joint) 및 수개(several) 둘 다이다. 따라서, 본 명세서에서, "A 및 B"는, 명시적으로 달리 표시되거나 또는 문맥에 의해 달리 표시되지 않는 한, "공동적으로 또는 개별적으로 A 및 B"를 의미한다.
본 개시내용의 범위는, 본 기술분야의 통상의 기술자가 이해할 수 있는 여기서 설명되거나 예시된 예시적인 실시예들에 대한 모든 변경, 대체, 변형, 변이 및 수정을 포괄한다. 본 개시내용의 범위는 본 명세서에 설명되거나 예시된 예시적인 실시예들로 제한되지 않는다. 더욱이, 본 개시내용은 개별 실시예들을 본 명세서에서 특정 컴포넌트들, 엘리먼트들, 특징, 기능들, 동작들, 또는 단계들을 포함하는 것으로 설명 및 예시하지만, 이들 실시예들 중 임의의 실시예는 본 기술분야의 통상의 기술자가 이해할 수 있는 본 명세서에서 다른 어딘가에서 설명 또는 예시된 컴포넌트들, 엘리먼트들, 특징들, 기능들, 동작들, 또는 단계들 중 임의의 것의 임의의 조합 또는 치환을 포함할 수 있다. 또한, 첨부된 청구 범위에서 특정한 기능을 수행하도록 적응된, 배열된, 기능할 수 있는, 구성된, 가능한, 동작가능한, 또는 동작하는 장치나 시스템 또는 장치나 시스템의 컴포넌트는, 그 장치, 시스템, 또는 컴포넌트가 그렇게 특정한 기능을 수행하도록 동작 가능한 디바이스 또는 시스템의 컴포넌트는 그 디바이스를 포함하며, 시스템 또는 컴포넌트가 그렇게 적응된, 배열된, 기능할 수 있는, 구성된, 가능한, 동작가능한, 또는 동작하는 한, 그 특정한 기능이 활성화되거나, 온으로 되거나, 잠금해제되어 있는지에 관계없이, 그 장치, 시스템, 컴포넌트를 포괄한다. 추가적으로, 본 개시내용은 특정의 이점들을 제공하는 것으로 특정 실시예들을 설명 및 예시하지만, 특정 실시예들은 이들 이점들의 일부 또는 모두를 제공하거나, 전혀 제공하지 않을 수 있다.

Claims (20)

  1. 방법으로서, 분산 및 확장형 클라우드 플랫폼 상의 컴퓨팅 시스템에 의해,
    사용자와 연관된 클라이언트 디바이스로부터 멀티-모달 입력들을 포함하는 입력을 수신하는 단계;
    상기 입력과 연관된 태스크를 복수의 서버들 중 하나의 서버에 할당하는 단계;
    머신 러닝 기반 컨텍스트 엔진에 의해, 상기 입력 및 상기 컴퓨팅 시스템과 상기 사용자 사이의 상호작용 이력에 기초하여 상기 입력에 대응하는 컨텍스트 응답을 결정하는 단계;
    훈련된 거동 지식 그래프에 쿼리함으로써 상기 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성하는 단계;
    머신 러닝 기반 미디어 콘텐츠 생성 엔진에 의해, 상기 결정된 컨텍스트 응답 및 상기 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성하는 단계- 상기 미디어 콘텐츠 출력은 상기 메타데이터에 의해 지정된, 상기 표정들, 상기 감정들, 및 상기 비-구두 및 구두 제스처들에서의 상기 결정된 컨텍스트 응답에 대응하는 텍스트, 오디오, 및 시각적 정보를 포함함 -;
    상기 생성된 미디어 콘텐츠 출력을 상기 사용자에게 제시하기 위한 명령어들을 상기 클라이언트 디바이스에 전송하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 머신 러닝 기반 컨텍스트 엔진은 복수의 소스로부터의 정보를 이용하도록 훈련된 멀티-인코더 디코더 네트워크를 이용하는, 방법.
  3. 제2항에 있어서, 상기 멀티-인코더 디코더 네트워크는 소스 특정 대화 현실 손실 함수들(source-specific conversational-reality loss functions)을 이용하여 실생활 대화로부터의 자기-지도 적대자(self-supervised adversaria)로 훈련되는, 방법.
  4. 제2항에 있어서, 상기 복수의 소스는 상기 입력, 상기 상호작용 이력, 외부 검색 엔진들 또는 지식 그래프들 중 2개 이상을 포함하는, 방법.
  5. 제4항에 있어서, 상기 상호작용 이력은 대화 모델을 통해 제공되는, 방법.
  6. 제5항에 있어서, 상기 대화 모델은
    사용자가 처음으로 상기 컴퓨팅 시스템과 상호작용할 때 초기 시드 데이터를 갖는 대화 모델을 생성하는 단계;
    각각의 상호작용 세션에 이어서 상호작용 요약을 데이터 저장소에 저장하는 단계;
    상기 사용자로부터의 새로운 입력이 상기 데이터 저장소로부터 도달하면, 이전의 상호작용에 대응하는 상호작용 요약을 쿼리하는 단계;
    상기 쿼리된 상호작용 요약들에 기초하여 상기 대화 모델을 업데이트하는 단계에 의해 유지되는, 방법.
  7. 제4항에 있어서, 상기 외부 검색 엔진들로부터의 정보 또는 상기 지식 그래프들은 하나 이상의 작성된 쿼리에 기초하는, 방법.
  8. 제7항에 있어서, 상기 하나 이상의 작성된 쿼리는 상기 입력의 컨텍스트, 상기 상호작용 이력, 또는 상기 사용자의 쿼리 이력에 기초하여 작성되는, 방법.
  9. 제1항에 있어서, 상기 미디어 콘텐츠 출력은 구두 및 비-구두 형태들로 상기 컨텍스트 정보를 전달하는 시각적으로 구현된 AI를 포함하는, 방법.
  10. 제9항에 있어서, 상기 미디어 콘텐츠 출력을 생성하는 단계는
    상기 머신 러닝 기반 컨텍스트 엔진으로부터, 상기 컨텍스트 응답 및 상기 메타데이터를 포함하는 텍스트를 수신하는 단계;
    텍스트-스피치 변환 기술들을 사용하여 상기 컨텍스트 응답에 대응하는 오디오 신호들을 생성하는 단계;
    상기 생성된 오디오 신호들로부터 수집된 오디오 특징들에 기초하여 얼굴 표정 파라미터들을 생성하는 단계;
    상기 얼굴 표정 파라미터들에 기초하여 얼굴의 파라메트릭 특징 표현을 생성하는 단계- 상기 파라메트릭 특징 표현은 상기 얼굴의 기하 구조, 스케일, 형상, 또는 신체 제스처들과 연관된 정보를 포함함 -;
    상기 얼굴의 상기 파라메트릭 특징 표현 및 상기 메타데이터에 기초하여 상기 얼굴에 대한 하이 레벨 변조의 세트를 생성하는 단계;
    상기 생성된 오디오 신호들과 동기화되는 상기 시각적으로 구현된 AI의 비디오의 스트림을 생성하는 단계를 포함하는, 방법.
  11. 제1항에 있어서, 상기 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 대화 유닛, 감정 유닛 및 렌더링 유닛을 포함하는, 방법.
  12. 제11항에 있어서, 상기 대화 유닛은 (1) 미리 결정된 음성에서의 상기 컨텍스트 응답에 기초하여 발성 대화를 생성하고, (2) 발성 정서, 억양 및 음성 제스처들을 포함하는 음성 스타일들을 생성하는, 방법.
  13. 제12항에 있어서, 상기 대화 유닛은 음성학에 기초하여 상기 생성된 발성 대화에 대응하는 동기화된 얼굴 표정들 및 입술 움직임들의 내부 표현을 생성하는, 방법.
  14. 제13항에 있어서, 상기 대화 유닛은 복수의 언어들 및 복수의 지역 액센트들에 걸쳐 생성된 발성 대화에 대응하는 동기화된 얼굴 표정들 및 입술 움직임들의 내부 표현을 생성할 수 있는, 방법.
  15. 제11항에 있어서, 상기 훈련된 거동 지식 그래프는 상기 감정 유닛에 의해 유지되는, 방법.
  16. 제11항에 있어서, 상기 미디어 콘텐츠 출력은 상기 대화 유닛 및 상기 메타데이터의 출력에 기초하여 상기 렌더링 유닛에 의해 생성되는, 방법.
  17. 제1항에 있어서, 상기 머신 러닝 기반 미디어 콘텐츠 생성 엔진은 복수의 자율 워커 중의 자율 워커 상에서 실행되는, 방법.
  18. 제1항에 있어서, 상기 태스크를 상기 서버에 할당하는 단계는 로드 밸런서(load-balancer)에 의해 수행되고, 상기 로드 밸런서는 상기 복수의 서버들의 현재 부하들에 기초하여 수평 스케일링을 수행하는, 방법.
  19. 소프트웨어를 구현하는 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체로서, 상기 소프트웨어는 실행될 때,
    사용자와 연관된 클라이언트 디바이스로부터 멀티-모달 입력들을 포함하는 입력을 수신하고;
    상기 입력과 연관된 태스크를 복수의 서버들 중 하나의 서버에 할당하고;
    머신 러닝 기반 컨텍스트 엔진에 의해, 상기 입력 및 컴퓨팅 시스템과 상기 사용자 사이의 상호작용 이력에 기초하여 상기 입력에 대응하는 컨텍스트 응답을 결정하고;
    훈련된 거동 지식 그래프에 쿼리함으로써 상기 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성하고;
    머신 러닝 기반 미디어 콘텐츠 생성 엔진에 의해, 상기 결정된 컨텍스트 응답 및 상기 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성하고- 상기 미디어 콘텐츠 출력은 상기 메타데이터에 의해 지정된 상기 표정들, 상기 감정들, 및 상기 비-구두 및 구두 제스처들 내의 상기 결정된 컨텍스트 응답에 대응하는 텍스트, 오디오, 및 시각적 정보를 포함함 -;
    상기 생성된 미디어 콘텐츠 출력을 상기 사용자에게 제시하기 위한 명령어들을 상기 클라이언트 디바이스에 전송하도록 동작할 수 있는, 하나 이상의 컴퓨터 판독가능 비일시적 저장 매체.
  20. 시스템으로서, 하나 이상의 프로세서; 및 상기 프로세서들에 의해 실행가능한 명령어들을 포함하고, 상기 프로세서들에 결합된 비일시적 메모리를 포함하고, 상기 프로세서들은, 상기 명령어들을 실행할 때,
    사용자와 연관된 클라이언트 디바이스로부터 멀티-모달 입력들을 포함하는 입력을 수신하고;
    상기 입력과 연관된 태스크를 복수의 서버들 중 하나의 서버에 할당하고;
    머신 러닝 기반 컨텍스트 엔진에 의해, 상기 입력 및 컴퓨팅 시스템과 상기 사용자 사이의 상호작용 이력에 기초하여 상기 입력에 대응하는 컨텍스트 응답을 결정하고;
    훈련된 거동 지식 그래프에 쿼리함으로써 상기 컨텍스트 응답과 연관된 표정들, 감정들, 및 비-구두 및 구두 제스처들을 특정하는 메타데이터를 생성하고;
    머신 러닝 기반 미디어 콘텐츠 생성 엔진에 의해, 상기 결정된 컨텍스트 응답 및 상기 생성된 메타데이터에 기초하여 미디어 콘텐츠 출력을 생성하고- 상기 미디어 콘텐츠 출력은 상기 메타데이터에 의해 지정된, 상기 표정들, 상기 감정들, 및 상기 비-구두 및 구두 제스처들 내의 상기 결정된 컨텍스트 응답에 대응하는 텍스트, 오디오, 및 시각적 정보를 포함함 -;
    상기 생성된 미디어 콘텐츠 출력을 상기 사용자에게 제시하기 위한 명령어들을 상기 클라이언트 디바이스에 전송하도록 동작할 수 있는, 시스템.
KR1020230028571A 2022-03-03 2023-03-03 실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화 KR20230130580A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/686,201 US20230281466A1 (en) 2022-03-03 2022-03-03 Autonomous generation, deployment, and personalization of real-time interactive digital agents
US17/686,201 2022-03-03

Publications (1)

Publication Number Publication Date
KR20230130580A true KR20230130580A (ko) 2023-09-12

Family

ID=87850688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230028571A KR20230130580A (ko) 2022-03-03 2023-03-03 실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화

Country Status (2)

Country Link
US (1) US20230281466A1 (ko)
KR (1) KR20230130580A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112847B (zh) * 2023-10-20 2024-02-06 杭州悦数科技有限公司 一种基于社区模型的图数据库的数据生成方法及装置

Also Published As

Publication number Publication date
US20230281466A1 (en) 2023-09-07

Similar Documents

Publication Publication Date Title
US11854540B2 (en) Utilizing machine learning models to generate automated empathetic conversations
WO2021086645A1 (en) Semantic representations using structural ontology for assistant systems
US11468885B2 (en) System and method for conversational agent via adaptive caching of dialogue tree
US20190143527A1 (en) Multiple interactive personalities robot
US11562744B1 (en) Stylizing text-to-speech (TTS) voice response for assistant systems
CN110400251A (zh) 视频处理方法、装置、终端设备及存储介质
Wanner et al. Kristina: A knowledge-based virtual conversation agent
McTear et al. The dawn of the conversational interface
Borah et al. Survey of textbased chatbot in perspective of recent technologies
US11544886B2 (en) Generating digital avatar
US20190251957A1 (en) System and method for prediction based preemptive generation of dialogue content
US20190251331A1 (en) System and method for reconstructing unoccupied 3d space
US11983808B2 (en) Conversation-driven character animation
US20190253724A1 (en) System and method for visual rendering based on sparse samples with predicted motion
KR20230130580A (ko) 실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화
Lugrin et al. Combining a data-driven and a theory-based approach to generate culture-dependent behaviours for virtual characters
WO2020167860A1 (en) Techniques for generating digital personas
US20220253609A1 (en) Social Agent Personalized and Driven by User Intent
Gonzalez et al. Passing an enhanced Turing test–interacting with lifelike computer representations of specific individuals
Feng et al. A platform for building mobile virtual humans
DeMara et al. Towards interactive training with an avatar-based human-computer interface
Shubham et al. Multimodal Embodied Conversational Agents: A discussion of architectures, frameworks and modules for commercial applications
US20240045704A1 (en) Dynamically Morphing Virtual Assistant Avatars for Assistant Systems
US20230259693A1 (en) Automated Generation Of Commentator-Specific Scripts
Yu et al. Speech-Driven Robot Face Action Generation with Deep Generative Model for Social Robots